summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.github/CODEOWNERS70
-rw-r--r--.github/workflows/basic-eval.yml17
-rw-r--r--.github/workflows/direct-push.yml2
-rw-r--r--.github/workflows/periodic-merge-24h.yml2
-rw-r--r--.github/workflows/periodic-merge-6h.yml2
-rw-r--r--.github/workflows/update-terraform-providers.yml2
-rw-r--r--CONTRIBUTING.md40
-rw-r--r--doc/builders/fetchers.chapter.md4
-rw-r--r--doc/contributing/coding-conventions.chapter.md5
-rw-r--r--doc/contributing/reviewing-contributions.chapter.md4
-rw-r--r--doc/languages-frameworks/go.section.md6
-rw-r--r--doc/languages-frameworks/ocaml.section.md10
-rw-r--r--doc/languages-frameworks/texlive.section.md2
-rw-r--r--doc/languages-frameworks/vim.section.md7
-rw-r--r--doc/stdenv/cross-compilation.chapter.md45
-rw-r--r--doc/stdenv/stdenv.chapter.md2
-rw-r--r--lib/customisation.nix51
-rw-r--r--lib/default.nix7
-rw-r--r--lib/licenses.nix10
-rw-r--r--lib/modules.nix40
-rw-r--r--lib/options.nix4
-rw-r--r--lib/strings.nix136
-rw-r--r--lib/tests/misc.nix157
-rw-r--r--lib/trivial.nix19
-rw-r--r--lib/types.nix8
-rw-r--r--maintainers/maintainer-list.nix87
-rwxr-xr-xmaintainers/scripts/dep-licenses.sh2
-rwxr-xr-xmaintainers/scripts/feature-freeze-teams.pl98
-rw-r--r--maintainers/scripts/haskell/maintained-broken-pkgs.nix22
-rwxr-xr-xmaintainers/scripts/haskell/update-stackage.sh37
-rw-r--r--maintainers/scripts/luarocks-packages.csv2
-rw-r--r--maintainers/scripts/pluginupdate.py187
-rwxr-xr-xmaintainers/scripts/remove-old-aliases.py21
-rw-r--r--maintainers/team-list.nix323
-rw-r--r--nixos/doc/manual/development/option-declarations.section.md4
-rw-r--r--nixos/doc/manual/development/settings-options.section.md14
-rw-r--r--nixos/doc/manual/development/writing-nixos-tests.section.md49
-rw-r--r--nixos/doc/manual/from_md/development/option-declarations.section.xml4
-rw-r--r--nixos/doc/manual/from_md/development/settings-options.section.xml32
-rw-r--r--nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml71
-rw-r--r--nixos/doc/manual/from_md/installation/installing-usb.section.xml2
-rw-r--r--nixos/doc/manual/from_md/installation/installing.chapter.xml14
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-1803.section.xml8
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2205.section.xml213
-rw-r--r--nixos/doc/manual/installation/installing-usb.section.md2
-rw-r--r--nixos/doc/manual/installation/installing.chapter.md10
-rw-r--r--nixos/doc/manual/man-pages.xml9
-rw-r--r--nixos/doc/manual/release-notes/rl-1803.section.md2
-rw-r--r--nixos/doc/manual/release-notes/rl-2205.section.md59
-rw-r--r--nixos/lib/make-disk-image.nix1
-rw-r--r--nixos/lib/systemd-lib.nix94
-rw-r--r--nixos/lib/systemd-types.nix37
-rw-r--r--nixos/lib/systemd-unit-options.nix961
-rw-r--r--nixos/lib/test-driver/test_driver/machine.py30
-rw-r--r--nixos/lib/testing-python.nix31
-rw-r--r--nixos/lib/utils.nix1
-rw-r--r--nixos/modules/config/resolvconf.nix6
-rw-r--r--nixos/modules/installer/cd-dvd/iso-image.nix55
-rw-r--r--nixos/modules/installer/tools/tools.nix2
-rw-r--r--nixos/modules/misc/version.nix40
-rw-r--r--nixos/modules/module-list.nix8
-rw-r--r--nixos/modules/programs/_1password-gui.nix68
-rw-r--r--nixos/modules/programs/_1password.nix44
-rw-r--r--nixos/modules/programs/adb.nix3
-rw-r--r--nixos/modules/programs/nncp.nix101
-rw-r--r--nixos/modules/programs/ssh.nix25
-rw-r--r--nixos/modules/rename.nix1
-rw-r--r--nixos/modules/services/backup/zrepl.nix3
-rw-r--r--nixos/modules/services/continuous-integration/buildbot/master.nix4
-rw-r--r--nixos/modules/services/continuous-integration/jenkins/slave.nix16
-rw-r--r--nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json17
-rw-r--r--nixos/modules/services/desktops/pipewire/pipewire-media-session.nix5
-rw-r--r--nixos/modules/services/desktops/pipewire/pipewire.nix19
-rw-r--r--nixos/modules/services/desktops/pipewire/wireplumber.nix12
-rw-r--r--nixos/modules/services/development/jupyter/default.nix1
-rw-r--r--nixos/modules/services/games/factorio.nix9
-rw-r--r--nixos/modules/services/games/minecraft-server.nix2
-rw-r--r--nixos/modules/services/hardware/joycond.nix8
-rw-r--r--nixos/modules/services/logging/graylog.nix2
-rw-r--r--nixos/modules/services/logging/logrotate.nix278
-rw-r--r--nixos/modules/services/matrix/matrix-synapse.nix2
-rw-r--r--nixos/modules/services/misc/autorandr.nix310
-rw-r--r--nixos/modules/services/misc/dendrite.nix13
-rw-r--r--nixos/modules/services/misc/ethminer.nix8
-rw-r--r--nixos/modules/services/misc/gitlab.nix16
-rw-r--r--nixos/modules/services/misc/nix-daemon.nix12
-rw-r--r--nixos/modules/services/misc/nix-gc.nix12
-rw-r--r--nixos/modules/services/misc/nix-optimise.nix10
-rw-r--r--nixos/modules/services/misc/paperless-ng.nix4
-rw-r--r--nixos/modules/services/monitoring/collectd.nix56
-rw-r--r--nixos/modules/services/monitoring/grafana.nix5
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/bird.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/kea.nix4
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/varnish.nix5
-rw-r--r--nixos/modules/services/network-filesystems/ipfs.nix31
-rw-r--r--nixos/modules/services/networking/dhcpd.nix8
-rw-r--r--nixos/modules/services/networking/https-dns-proxy.nix128
-rw-r--r--nixos/modules/services/networking/kea.nix82
-rw-r--r--nixos/modules/services/networking/lxd-image-server.nix18
-rw-r--r--nixos/modules/services/networking/openfire.nix56
-rw-r--r--nixos/modules/services/networking/powerdns.nix4
-rw-r--r--nixos/modules/services/networking/squid.nix17
-rw-r--r--nixos/modules/services/networking/syncplay.nix18
-rw-r--r--nixos/modules/services/security/oauth2_proxy.nix3
-rw-r--r--nixos/modules/services/security/sslmate-agent.nix32
-rw-r--r--nixos/modules/services/system/earlyoom.nix98
-rw-r--r--nixos/modules/services/video/unifi-video.nix168
-rw-r--r--nixos/modules/services/web-apps/jitsi-meet.nix2
-rw-r--r--nixos/modules/services/web-apps/keycloak.nix20
-rw-r--r--nixos/modules/services/web-apps/mastodon.nix4
-rw-r--r--nixos/modules/services/web-apps/netbox.nix265
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/default.nix21
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix17
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome.nix69
-rw-r--r--nixos/modules/services/x11/desktop-managers/pantheon.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/xfce.nix2
-rw-r--r--nixos/modules/services/x11/display-managers/gdm.nix2
-rw-r--r--nixos/modules/system/boot/kernel.nix2
-rw-r--r--nixos/modules/system/boot/luksroot.nix2
-rw-r--r--nixos/modules/system/boot/networkd.nix57
-rw-r--r--nixos/modules/system/boot/stage-1-init.sh3
-rw-r--r--nixos/modules/system/boot/stage-1.nix28
-rwxr-xr-xnixos/modules/system/boot/stage-2-init.sh66
-rw-r--r--nixos/modules/system/boot/stage-2.nix41
-rw-r--r--nixos/modules/system/boot/systemd.nix84
-rw-r--r--nixos/modules/system/boot/systemd/initrd.nix450
-rw-r--r--nixos/modules/system/boot/systemd/nspawn.nix8
-rw-r--r--nixos/modules/system/boot/systemd/tmpfiles.nix16
-rw-r--r--nixos/modules/system/boot/systemd/user.nix31
-rw-r--r--nixos/modules/system/boot/timesyncd.nix22
-rw-r--r--nixos/modules/tasks/auto-upgrade.nix2
-rw-r--r--nixos/modules/tasks/filesystems.nix31
-rw-r--r--nixos/modules/tasks/lvm.nix32
-rw-r--r--nixos/modules/tasks/network-interfaces-scripted.nix2
-rw-r--r--nixos/modules/tasks/network-interfaces-systemd.nix2
-rw-r--r--nixos/modules/tasks/network-interfaces.nix13
-rw-r--r--nixos/modules/virtualisation/azure-agent.nix14
-rw-r--r--nixos/modules/virtualisation/podman/default.nix5
-rw-r--r--nixos/modules/virtualisation/qemu-vm.nix33
-rw-r--r--nixos/modules/virtualisation/waydroid.nix6
-rw-r--r--nixos/tests/aesmd.nix2
-rw-r--r--nixos/tests/agda.nix2
-rw-r--r--nixos/tests/airsonic.nix2
-rw-r--r--nixos/tests/all-tests.nix10
-rw-r--r--nixos/tests/amazon-init-shell.nix2
-rw-r--r--nixos/tests/apfs.nix2
-rw-r--r--nixos/tests/apparmor.nix2
-rw-r--r--nixos/tests/atd.nix2
-rw-r--r--nixos/tests/atop.nix20
-rw-r--r--nixos/tests/bcachefs.nix2
-rw-r--r--nixos/tests/beanstalkd.nix2
-rw-r--r--nixos/tests/bees.nix2
-rw-r--r--nixos/tests/bind.nix2
-rw-r--r--nixos/tests/bitcoind.nix2
-rw-r--r--nixos/tests/blockbook-frontend.nix2
-rw-r--r--nixos/tests/boot-stage1.nix2
-rw-r--r--nixos/tests/boot.nix1
-rw-r--r--nixos/tests/botamusique.nix4
-rw-r--r--nixos/tests/bpf.nix2
-rw-r--r--nixos/tests/breitbandmessung.nix2
-rw-r--r--nixos/tests/brscan5.nix2
-rw-r--r--nixos/tests/buildkite-agents.nix2
-rw-r--r--nixos/tests/caddy.nix6
-rw-r--r--nixos/tests/cage.nix2
-rw-r--r--nixos/tests/cagebreak.nix2
-rw-r--r--nixos/tests/ceph-multi-node.nix2
-rw-r--r--nixos/tests/cfssl.nix2
-rw-r--r--nixos/tests/chromium.nix38
-rw-r--r--nixos/tests/clickhouse.nix2
-rw-r--r--nixos/tests/cloud-init.nix2
-rw-r--r--nixos/tests/cntr.nix2
-rw-r--r--nixos/tests/collectd.nix9
-rw-r--r--nixos/tests/containers-bridge.nix2
-rw-r--r--nixos/tests/containers-custom-pkgs.nix2
-rw-r--r--nixos/tests/containers-ephemeral.nix2
-rw-r--r--nixos/tests/containers-extra_veth.nix2
-rw-r--r--nixos/tests/containers-hosts.nix2
-rw-r--r--nixos/tests/containers-imperative.nix2
-rw-r--r--nixos/tests/containers-ip.nix2
-rw-r--r--nixos/tests/containers-names.nix2
-rw-r--r--nixos/tests/containers-nested.nix2
-rw-r--r--nixos/tests/containers-portforward.nix2
-rw-r--r--nixos/tests/containers-tmpfs.nix2
-rw-r--r--nixos/tests/cri-o.nix2
-rw-r--r--nixos/tests/custom-ca.nix2
-rw-r--r--nixos/tests/disable-installer-tools.nix2
-rw-r--r--nixos/tests/dnsdist.nix2
-rw-r--r--nixos/tests/doas.nix2
-rw-r--r--nixos/tests/docker-tools-cross.nix4
-rw-r--r--nixos/tests/docker-tools.nix2
-rw-r--r--nixos/tests/documize.nix2
-rw-r--r--nixos/tests/domination.nix2
-rw-r--r--nixos/tests/dovecot.nix2
-rw-r--r--nixos/tests/earlyoom.nix16
-rw-r--r--nixos/tests/ecryptfs.nix2
-rw-r--r--nixos/tests/emacs-daemon.nix2
-rw-r--r--nixos/tests/enlightenment.nix2
-rw-r--r--nixos/tests/env.nix2
-rw-r--r--nixos/tests/etebase-server.nix2
-rw-r--r--nixos/tests/etesync-dav.nix2
-rw-r--r--nixos/tests/fancontrol.nix2
-rw-r--r--nixos/tests/fcitx/default.nix2
-rw-r--r--nixos/tests/firefox.nix2
-rw-r--r--nixos/tests/fish.nix2
-rw-r--r--nixos/tests/fluentd.nix2
-rw-r--r--nixos/tests/fontconfig-default-fonts.nix2
-rw-r--r--nixos/tests/fsck.nix2
-rw-r--r--nixos/tests/ft2-clone.nix2
-rw-r--r--nixos/tests/geth.nix2
-rw-r--r--nixos/tests/gitlab.nix18
-rw-r--r--nixos/tests/gitolite-fcgiwrap.nix2
-rw-r--r--nixos/tests/gnome-xorg.nix3
-rw-r--r--nixos/tests/gnome.nix3
-rw-r--r--nixos/tests/gotify-server.nix2
-rw-r--r--nixos/tests/graylog.nix2
-rw-r--r--nixos/tests/grocy.nix2
-rw-r--r--nixos/tests/grub.nix2
-rw-r--r--nixos/tests/hardened.nix2
-rw-r--r--nixos/tests/herbstluftwm.nix2
-rw-r--r--nixos/tests/hibernate.nix5
-rw-r--r--nixos/tests/hitch/default.nix2
-rw-r--r--nixos/tests/hocker-fetchdocker/default.nix2
-rw-r--r--nixos/tests/hockeypuck.nix2
-rw-r--r--nixos/tests/hostname.nix2
-rw-r--r--nixos/tests/hound.nix2
-rw-r--r--nixos/tests/hydra/default.nix2
-rw-r--r--nixos/tests/i3wm.nix2
-rw-r--r--nixos/tests/ihatemoney/default.nix2
-rw-r--r--nixos/tests/incron.nix2
-rw-r--r--nixos/tests/initrd-network.nix2
-rw-r--r--nixos/tests/initrd-secrets.nix2
-rw-r--r--nixos/tests/input-remapper.nix2
-rw-r--r--nixos/tests/installed-tests/default.nix2
-rw-r--r--nixos/tests/installed-tests/gjs.nix6
-rw-r--r--nixos/tests/installer.nix3
-rw-r--r--nixos/tests/invidious.nix2
-rw-r--r--nixos/tests/isso.nix2
-rw-r--r--nixos/tests/jellyfin.nix2
-rw-r--r--nixos/tests/jenkins.nix2
-rw-r--r--nixos/tests/jibri.nix2
-rw-r--r--nixos/tests/jitsi-meet.nix4
-rw-r--r--nixos/tests/k3s-single-node-docker.nix2
-rw-r--r--nixos/tests/k3s-single-node.nix2
-rw-r--r--nixos/tests/kbd-setfont-decompress.nix2
-rw-r--r--nixos/tests/kbd-update-search-paths-patch.nix2
-rw-r--r--nixos/tests/keepassxc.nix2
-rw-r--r--nixos/tests/kerberos/heimdal.nix2
-rw-r--r--nixos/tests/kerberos/mit.nix2
-rw-r--r--nixos/tests/kernel-generic.nix2
-rw-r--r--nixos/tests/kernel-latest-ath-user-regd.nix2
-rw-r--r--nixos/tests/kexec.nix2
-rw-r--r--nixos/tests/keycloak.nix22
-rw-r--r--nixos/tests/krb5/deprecated-config.nix2
-rw-r--r--nixos/tests/krb5/example-config.nix2
-rw-r--r--nixos/tests/ksm.nix2
-rw-r--r--nixos/tests/libinput.nix2
-rw-r--r--nixos/tests/libresprite.nix2
-rw-r--r--nixos/tests/lightdm.nix2
-rw-r--r--nixos/tests/limesurvey.nix2
-rw-r--r--nixos/tests/litestream.nix2
-rw-r--r--nixos/tests/login.nix2
-rw-r--r--nixos/tests/logrotate.nix135
-rw-r--r--nixos/tests/loki.nix2
-rw-r--r--nixos/tests/lorri/default.nix2
-rw-r--r--nixos/tests/lvm2/default.nix27
-rw-r--r--nixos/tests/lvm2/thinpool.nix32
-rw-r--r--nixos/tests/lvm2/vdo.nix27
-rw-r--r--nixos/tests/lxd-image-server.nix2
-rw-r--r--nixos/tests/lxd-image.nix2
-rw-r--r--nixos/tests/lxd-nftables.nix2
-rw-r--r--nixos/tests/lxd.nix2
-rw-r--r--nixos/tests/maestral.nix72
-rw-r--r--nixos/tests/magnetico.nix2
-rw-r--r--nixos/tests/mailcatcher.nix2
-rw-r--r--nixos/tests/mailhog.nix2
-rw-r--r--nixos/tests/matomo.nix2
-rw-r--r--nixos/tests/matrix/pantalaimon.nix2
-rw-r--r--nixos/tests/mediawiki.nix2
-rw-r--r--nixos/tests/meilisearch.nix2
-rw-r--r--nixos/tests/memcached.nix2
-rw-r--r--nixos/tests/misc.nix8
-rw-r--r--nixos/tests/mod_perl.nix2
-rw-r--r--nixos/tests/moodle.nix2
-rw-r--r--nixos/tests/mtp.nix109
-rw-r--r--nixos/tests/musescore.nix2
-rw-r--r--nixos/tests/mysql/mysql-autobackup.nix2
-rw-r--r--nixos/tests/nagios.nix2
-rw-r--r--nixos/tests/navidrome.nix2
-rw-r--r--nixos/tests/networking.nix20
-rw-r--r--nixos/tests/nginx-modsecurity.nix2
-rw-r--r--nixos/tests/nginx-pubhtml.nix2
-rw-r--r--nixos/tests/nginx-sandbox.nix2
-rw-r--r--nixos/tests/nginx-sso.nix2
-rw-r--r--nixos/tests/nginx-variants.nix2
-rw-r--r--nixos/tests/nix-serve.nix2
-rw-r--r--nixos/tests/nixops/default.nix2
-rw-r--r--nixos/tests/nixos-generate-config.nix2
-rw-r--r--nixos/tests/noto-fonts.nix2
-rw-r--r--nixos/tests/novacomd.nix2
-rw-r--r--nixos/tests/oh-my-zsh.nix2
-rw-r--r--nixos/tests/openldap.nix6
-rw-r--r--nixos/tests/opentabletdriver.nix2
-rw-r--r--nixos/tests/os-prober.nix2
-rw-r--r--nixos/tests/osrm-backend.nix2
-rw-r--r--nixos/tests/overlayfs.nix2
-rw-r--r--nixos/tests/packagekit.nix2
-rw-r--r--nixos/tests/pam/pam-oath-login.nix2
-rw-r--r--nixos/tests/pam/pam-u2f.nix2
-rw-r--r--nixos/tests/pantheon.nix2
-rw-r--r--nixos/tests/pgadmin4.nix1
-rw-r--r--nixos/tests/php/fpm.nix2
-rw-r--r--nixos/tests/php/httpd.nix2
-rw-r--r--nixos/tests/php/pcre.nix2
-rw-r--r--nixos/tests/pict-rs.nix2
-rw-r--r--nixos/tests/plasma5-systemd-start.nix2
-rw-r--r--nixos/tests/plasma5.nix2
-rw-r--r--nixos/tests/plausible.nix2
-rw-r--r--nixos/tests/plikd.nix2
-rw-r--r--nixos/tests/plotinus.nix2
-rw-r--r--nixos/tests/postfix-raise-smtpd-tls-security-level.nix2
-rw-r--r--nixos/tests/postfix.nix2
-rw-r--r--nixos/tests/postgresql-wal-receiver.nix2
-rw-r--r--nixos/tests/postgresql.nix2
-rw-r--r--nixos/tests/power-profiles-daemon.nix2
-rw-r--r--nixos/tests/powerdns.nix1
-rw-r--r--nixos/tests/predictable-interface-names.nix2
-rw-r--r--nixos/tests/privacyidea.nix2
-rw-r--r--nixos/tests/privoxy.nix2
-rw-r--r--nixos/tests/pt2-clone.nix2
-rw-r--r--nixos/tests/pulseaudio.nix2
-rw-r--r--nixos/tests/qboot.nix2
-rw-r--r--nixos/tests/rabbitmq.nix2
-rw-r--r--nixos/tests/radicale.nix2
-rw-r--r--nixos/tests/rasdaemon.nix2
-rw-r--r--nixos/tests/redmine.nix2
-rw-r--r--nixos/tests/restart-by-activation-script.nix2
-rw-r--r--nixos/tests/retroarch.nix2
-rw-r--r--nixos/tests/riak.nix2
-rw-r--r--nixos/tests/rspamd.nix10
-rw-r--r--nixos/tests/rstudio-server.nix6
-rw-r--r--nixos/tests/rsyslogd.nix4
-rw-r--r--nixos/tests/sabnzbd.nix2
-rw-r--r--nixos/tests/sddm.nix4
-rw-r--r--nixos/tests/sfxr-qt.nix32
-rw-r--r--nixos/tests/shattered-pixel-dungeon.nix2
-rw-r--r--nixos/tests/shiori.nix2
-rw-r--r--nixos/tests/signal-desktop.nix2
-rw-r--r--nixos/tests/simple.nix2
-rw-r--r--nixos/tests/snapper.nix2
-rw-r--r--nixos/tests/soapui.nix2
-rw-r--r--nixos/tests/solr.nix2
-rw-r--r--nixos/tests/sourcehut.nix2
-rw-r--r--nixos/tests/sssd-ldap.nix2
-rw-r--r--nixos/tests/sssd.nix2
-rw-r--r--nixos/tests/starship.nix2
-rw-r--r--nixos/tests/step-ca.nix4
-rw-r--r--nixos/tests/sway.nix2
-rw-r--r--nixos/tests/sympa.nix2
-rw-r--r--nixos/tests/syncthing-init.nix2
-rw-r--r--nixos/tests/syncthing-relay.nix2
-rw-r--r--nixos/tests/systemd-analyze.nix2
-rw-r--r--nixos/tests/systemd-binfmt.nix6
-rw-r--r--nixos/tests/systemd-boot.nix18
-rw-r--r--nixos/tests/systemd-confinement.nix2
-rw-r--r--nixos/tests/systemd-cryptenroll.nix2
-rw-r--r--nixos/tests/systemd-escaping.nix2
-rw-r--r--nixos/tests/systemd-initrd-simple.nix27
-rw-r--r--nixos/tests/systemd-journal.nix2
-rw-r--r--nixos/tests/systemd-machinectl.nix2
-rw-r--r--nixos/tests/systemd-misc.nix (renamed from nixos/tests/systemd-unit-path.nix)19
-rw-r--r--nixos/tests/systemd.nix6
-rw-r--r--nixos/tests/telegraf.nix2
-rw-r--r--nixos/tests/terminal-emulators.nix2
-rw-r--r--nixos/tests/tinywl.nix2
-rw-r--r--nixos/tests/tomcat.nix2
-rw-r--r--nixos/tests/tor.nix25
-rw-r--r--nixos/tests/transmission.nix2
-rw-r--r--nixos/tests/tsm-client-gui.nix2
-rw-r--r--nixos/tests/tuptime.nix2
-rw-r--r--nixos/tests/turbovnc-headless-server.nix2
-rw-r--r--nixos/tests/tuxguitar.nix2
-rw-r--r--nixos/tests/udisks2.nix2
-rw-r--r--nixos/tests/usbguard.nix2
-rw-r--r--nixos/tests/user-activation-scripts.nix2
-rw-r--r--nixos/tests/uwsgi.nix2
-rw-r--r--nixos/tests/v2ray.nix2
-rw-r--r--nixos/tests/vault-postgresql.nix2
-rw-r--r--nixos/tests/vault.nix2
-rw-r--r--nixos/tests/vaultwarden.nix1
-rw-r--r--nixos/tests/vector.nix2
-rw-r--r--nixos/tests/vengi-tools.nix2
-rw-r--r--nixos/tests/virtualbox.nix2
-rw-r--r--nixos/tests/web-apps/netbox.nix30
-rw-r--r--nixos/tests/web-servers/unit-php.nix2
-rw-r--r--nixos/tests/wiki-js.nix2
-rw-r--r--nixos/tests/wine.nix2
-rw-r--r--nixos/tests/without-nix.nix21
-rw-r--r--nixos/tests/wmderland.nix2
-rw-r--r--nixos/tests/wpa_supplicant.nix2
-rw-r--r--nixos/tests/xfce.nix2
-rw-r--r--nixos/tests/xmonad.nix2
-rw-r--r--nixos/tests/xterm.nix2
-rw-r--r--nixos/tests/yabar.nix2
-rw-r--r--nixos/tests/zfs.nix2
-rw-r--r--nixos/tests/zigbee2mqtt.nix2
-rw-r--r--nixos/tests/zoneminder.nix2
-rw-r--r--nixos/tests/zrepl.nix66
-rw-r--r--pkgs/applications/accessibility/squeekboard/default.nix3
-rw-r--r--pkgs/applications/audio/airwave/default.nix4
-rw-r--r--pkgs/applications/audio/aj-snapshot/default.nix5
-rw-r--r--pkgs/applications/audio/ams/default.nix2
-rw-r--r--pkgs/applications/audio/bitwig-studio/bitwig-studio2.nix2
-rw-r--r--pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix4
-rw-r--r--pkgs/applications/audio/cardinal/default.nix2
-rw-r--r--pkgs/applications/audio/cmt/default.nix4
-rw-r--r--pkgs/applications/audio/cmusfm/default.nix26
-rw-r--r--pkgs/applications/audio/deadbeef/default.nix1
-rw-r--r--pkgs/applications/audio/flac/default.nix12
-rw-r--r--pkgs/applications/audio/foo-yc20/default.nix29
-rw-r--r--pkgs/applications/audio/gtkpod/default.nix9
-rw-r--r--pkgs/applications/audio/industrializer/default.nix4
-rw-r--r--pkgs/applications/audio/jacktrip/default.nix61
-rw-r--r--pkgs/applications/audio/jamin/default.nix2
-rw-r--r--pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix2
-rw-r--r--pkgs/applications/audio/mid2key/default.nix11
-rw-r--r--pkgs/applications/audio/midas/generic.nix9
-rw-r--r--pkgs/applications/audio/mopidy/youtube.nix11
-rw-r--r--pkgs/applications/audio/musescore/darwin.nix1
-rw-r--r--pkgs/applications/audio/musescore/default.nix1
-rw-r--r--pkgs/applications/audio/patchage/default.nix44
-rw-r--r--pkgs/applications/audio/pd-plugins/zexy/default.nix3
-rw-r--r--pkgs/applications/audio/praat/default.nix4
-rw-r--r--pkgs/applications/audio/qmidiarp/default.nix4
-rw-r--r--pkgs/applications/audio/qmmp/default.nix1
-rw-r--r--pkgs/applications/audio/rhythmbox/default.nix10
-rw-r--r--pkgs/applications/audio/sfizz/default.nix7
-rw-r--r--pkgs/applications/audio/sfxr-qt/default.nix26
-rw-r--r--pkgs/applications/audio/sfxr-qt/test-export-square-wave/default.nix6
-rw-r--r--pkgs/applications/audio/sfxr-qt/test-export-square-wave/input.sfxj29
-rw-r--r--pkgs/applications/audio/sisco.lv2/default.nix4
-rw-r--r--pkgs/applications/audio/snd/default.nix4
-rw-r--r--pkgs/applications/audio/sonic-pi/default.nix2
-rw-r--r--pkgs/applications/audio/sound-juicer/default.nix10
-rw-r--r--pkgs/applications/audio/soundkonverter/default.nix2
-rw-r--r--pkgs/applications/audio/spotify/default.nix4
-rw-r--r--pkgs/applications/audio/strawberry/default.nix6
-rw-r--r--pkgs/applications/audio/synaesthesia/default.nix33
-rw-r--r--pkgs/applications/audio/timemachine/default.nix4
-rw-r--r--pkgs/applications/audio/tonelib-metal/default.nix60
-rw-r--r--pkgs/applications/audio/xsynth-dssi/default.nix3
-rw-r--r--pkgs/applications/backup/pika-backup/default.nix9
-rw-r--r--pkgs/applications/blockchains/bitcoin-unlimited/default.nix2
-rw-r--r--pkgs/applications/blockchains/cgminer/default.nix4
-rw-r--r--pkgs/applications/blockchains/dogecoin/default.nix2
-rw-r--r--pkgs/applications/blockchains/go-ethereum/default.nix6
-rw-r--r--pkgs/applications/blockchains/ledger-live-desktop/default.nix4
-rw-r--r--pkgs/applications/blockchains/litecoin/default.nix3
-rw-r--r--pkgs/applications/blockchains/lndmanage/default.nix4
-rw-r--r--pkgs/applications/blockchains/namecoin/default.nix2
-rw-r--r--pkgs/applications/blockchains/polkadot/default.nix6
-rw-r--r--pkgs/applications/blockchains/snarkos/default.nix2
-rw-r--r--pkgs/applications/blockchains/solana/default.nix2
-rw-r--r--pkgs/applications/editors/apostrophe/default.nix4
-rw-r--r--pkgs/applications/editors/bless/default.nix18
-rw-r--r--pkgs/applications/editors/bluej/default.nix4
-rw-r--r--pkgs/applications/editors/cudatext/default.nix4
-rw-r--r--pkgs/applications/editors/cudatext/deps.json12
-rw-r--r--pkgs/applications/editors/eclipse/default.nix26
-rw-r--r--pkgs/applications/editors/eclipse/plugins.nix4
-rw-r--r--pkgs/applications/editors/emacs/27.nix5
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix63
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix3
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix8
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix24
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/nongnu-packages.nix3
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/plz/default.nix16
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json1601
-rw-r--r--pkgs/applications/editors/gnome-builder/default.nix21
-rw-r--r--pkgs/applications/editors/helix/default.nix20
-rw-r--r--pkgs/applications/editors/hexdino/default.nix12
-rw-r--r--pkgs/applications/editors/jetbrains/darwin.nix5
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix66
-rw-r--r--pkgs/applications/editors/jetbrains/linux.nix25
-rw-r--r--pkgs/applications/editors/jucipp/default.nix3
-rw-r--r--pkgs/applications/editors/jupyter-kernels/octave/default.nix3
-rw-r--r--pkgs/applications/editors/kakoune/plugins/default.nix2
-rw-r--r--pkgs/applications/editors/kakoune/plugins/kakoune-plugin-names39
-rw-r--r--pkgs/applications/editors/kodestudio/default.nix2
-rw-r--r--pkgs/applications/editors/micro/default.nix4
-rw-r--r--pkgs/applications/editors/micro/test-with-expect.nix30
-rw-r--r--pkgs/applications/editors/neovim/default.nix31
-rw-r--r--pkgs/applications/editors/neovim/neovim-remote.nix5
-rw-r--r--pkgs/applications/editors/pinegrow/default.nix20
-rw-r--r--pkgs/applications/editors/poke/default.nix4
-rw-r--r--pkgs/applications/editors/qxmledit/default.nix2
-rw-r--r--pkgs/applications/editors/sublime/3/common.nix2
-rw-r--r--pkgs/applications/editors/tiled/default.nix4
-rw-r--r--pkgs/applications/editors/vim/configurable.nix41
-rw-r--r--pkgs/applications/editors/vim/plugins/default.nix2
-rw-r--r--pkgs/applications/editors/vim/plugins/generated.nix2134
-rw-r--r--pkgs/applications/editors/vim/plugins/overrides.nix3
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-plugin-names2015
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-utils.nix128
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix2
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-dotnettools-csharp/default.nix2
-rw-r--r--pkgs/applications/editors/vscode/generic.nix5
-rw-r--r--pkgs/applications/editors/vscode/vscode.nix12
-rw-r--r--pkgs/applications/editors/vscode/vscodium.nix10
-rw-r--r--pkgs/applications/editors/wxhexeditor/default.nix3
-rw-r--r--pkgs/applications/emulators/epsxe/default.nix52
-rw-r--r--pkgs/applications/emulators/fakenes/build.patch84
-rw-r--r--pkgs/applications/emulators/fakenes/default.nix34
-rw-r--r--pkgs/applications/emulators/fceux/default.nix4
-rw-r--r--pkgs/applications/emulators/flycast/default.nix52
-rw-r--r--pkgs/applications/emulators/qmc2/default.nix41
-rw-r--r--pkgs/applications/emulators/reicast/default.nix52
-rw-r--r--pkgs/applications/emulators/rpcs3/default.nix8
-rw-r--r--pkgs/applications/emulators/ryujinx/default.nix6
-rw-r--r--pkgs/applications/emulators/wine/base.nix8
-rw-r--r--pkgs/applications/emulators/wine/packages.nix6
-rw-r--r--pkgs/applications/finance/cryptowatch/default.nix57
-rw-r--r--pkgs/applications/gis/grass/default.nix2
-rw-r--r--pkgs/applications/graphics/ImageMagick/6.x.nix2
-rw-r--r--pkgs/applications/graphics/apitrace/default.nix6
-rw-r--r--pkgs/applications/graphics/apitrace/glibc-2.34-compat.patch13
-rw-r--r--pkgs/applications/graphics/drawing/default.nix6
-rw-r--r--pkgs/applications/graphics/drawio/default.nix4
-rw-r--r--pkgs/applications/graphics/exrtools/default.nix2
-rw-r--r--pkgs/applications/graphics/gnome-photos/default.nix4
-rw-r--r--pkgs/applications/graphics/gpicview/default.nix1
-rw-r--r--pkgs/applications/graphics/gthumb/default.nix4
-rw-r--r--pkgs/applications/graphics/hydrus/default.nix5
-rw-r--r--pkgs/applications/graphics/icon-library/default.nix14
-rw-r--r--pkgs/applications/graphics/imgbrd-grabber/default.nix2
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix8
-rw-r--r--pkgs/applications/graphics/inkscape/extensions.nix4
-rw-r--r--pkgs/applications/graphics/jpegrescan/default.nix6
-rw-r--r--pkgs/applications/graphics/mtpaint/default.nix8
-rw-r--r--pkgs/applications/graphics/nomacs/default.nix1
-rw-r--r--pkgs/applications/graphics/ocrfeeder/default.nix13
-rw-r--r--pkgs/applications/graphics/photivo/default.nix54
-rw-r--r--pkgs/applications/graphics/photivo/gcc6.patch13
-rw-r--r--pkgs/applications/graphics/rnote/default.nix8
-rw-r--r--pkgs/applications/graphics/sane/backends/brscan5/default.nix46
-rw-r--r--pkgs/applications/graphics/sane/config.nix2
-rw-r--r--pkgs/applications/graphics/shotwell/default.nix4
-rw-r--r--pkgs/applications/graphics/synfigstudio/default.nix4
-rw-r--r--pkgs/applications/graphics/unigine-heaven/default.nix107
-rw-r--r--pkgs/applications/graphics/unigine-superposition/default.nix146
-rw-r--r--pkgs/applications/graphics/xfig/default.nix15
-rw-r--r--pkgs/applications/graphics/xournal/default.nix6
-rw-r--r--pkgs/applications/kde/fetch.sh2
-rw-r--r--pkgs/applications/kde/srcs.nix1840
-rw-r--r--pkgs/applications/misc/1password-gui/default.nix1
-rw-r--r--pkgs/applications/misc/1password/default.nix75
-rw-r--r--pkgs/applications/misc/HentaiAtHome/default.nix2
-rw-r--r--pkgs/applications/misc/ablog/default.nix36
-rw-r--r--pkgs/applications/misc/almanah/default.nix14
-rw-r--r--pkgs/applications/misc/avrdudess/default.nix9
-rw-r--r--pkgs/applications/misc/bottles/default.nix4
-rw-r--r--pkgs/applications/misc/dasel/default.nix4
-rw-r--r--pkgs/applications/misc/dbeaver/default.nix44
-rw-r--r--pkgs/applications/misc/electrum/default.nix39
-rw-r--r--pkgs/applications/misc/eos-installer/default.nix4
-rw-r--r--pkgs/applications/misc/freeplane/default.nix35
-rw-r--r--pkgs/applications/misc/fuzzel/default.nix2
-rw-r--r--pkgs/applications/misc/gnome-solanum/default.nix80
-rw-r--r--pkgs/applications/misc/gofu/default.nix6
-rw-r--r--pkgs/applications/misc/gosmore/default.nix6
-rw-r--r--pkgs/applications/misc/gpxsee/default.nix4
-rw-r--r--pkgs/applications/misc/gsimplecal/default.nix4
-rw-r--r--pkgs/applications/misc/gtk2fontsel/default.nix2
-rw-r--r--pkgs/applications/misc/koreader/default.nix4
-rw-r--r--pkgs/applications/misc/lighthouse/default.nix4
-rw-r--r--pkgs/applications/misc/logseq/default.nix4
-rw-r--r--pkgs/applications/misc/lutris/default.nix22
-rw-r--r--pkgs/applications/misc/lutris/fhsenv.nix2
-rw-r--r--pkgs/applications/misc/lutris/fixes.patch67
-rw-r--r--pkgs/applications/misc/metadata-cleaner/default.nix4
-rw-r--r--pkgs/applications/misc/mucommander/default.nix8
-rw-r--r--pkgs/applications/misc/mupdf/1.17.nix1
-rw-r--r--pkgs/applications/misc/mupdf/default.nix52
-rw-r--r--pkgs/applications/misc/nix-tour/default.nix49
-rw-r--r--pkgs/applications/misc/nut/default.nix1
-rw-r--r--pkgs/applications/misc/obsidian/default.nix22
-rw-r--r--pkgs/applications/misc/octoprint/default.nix43
-rw-r--r--pkgs/applications/misc/orca/default.nix4
-rw-r--r--pkgs/applications/misc/organicmaps/default.nix91
-rw-r--r--pkgs/applications/misc/p2pool/default.nix4
-rw-r--r--pkgs/applications/misc/pcmanx-gtk2/default.nix4
-rw-r--r--pkgs/applications/misc/pdfdiff/default.nix8
-rw-r--r--pkgs/applications/misc/pdfpc/default.nix7
-rw-r--r--pkgs/applications/misc/pdfslicer/default.nix6
-rw-r--r--pkgs/applications/misc/phoc/default.nix13
-rw-r--r--pkgs/applications/misc/qmetro/default.nix5
-rw-r--r--pkgs/applications/misc/sleepyhead/default.nix6
-rw-r--r--pkgs/applications/misc/slic3r/default.nix9
-rw-r--r--pkgs/applications/misc/slmenu/default.nix31
-rw-r--r--pkgs/applications/misc/spicetify-cli/default.nix6
-rw-r--r--pkgs/applications/misc/stag/default.nix2
-rw-r--r--pkgs/applications/misc/stog/default.nix2
-rw-r--r--pkgs/applications/misc/taskwarrior-tui/default.nix6
-rw-r--r--pkgs/applications/misc/trenchbroom/default.nix13
-rw-r--r--pkgs/applications/misc/tuhi/default.nix6
-rw-r--r--pkgs/applications/misc/urlview/default.nix10
-rw-r--r--pkgs/applications/misc/wlclock/default.nix46
-rw-r--r--pkgs/applications/misc/xmr-stak/default.nix2
-rw-r--r--pkgs/applications/misc/yubioath-desktop/default.nix2
-rw-r--r--pkgs/applications/misc/zscroll/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/browser.nix2
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix14
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json60
-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/common.nix93
-rw-r--r--pkgs/applications/networking/browsers/firefox/librewolf/src.json10
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix1
-rw-r--r--pkgs/applications/networking/browsers/lagrange/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/microsoft-edge/browser.nix191
-rw-r--r--pkgs/applications/networking/browsers/microsoft-edge/default.nix20
-rwxr-xr-xpkgs/applications/networking/browsers/microsoft-edge/update.sh50
-rw-r--r--pkgs/applications/networking/browsers/opera/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/palemoon/default.nix35
-rw-r--r--pkgs/applications/networking/browsers/qutebrowser/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/vieb/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/vieb/package.json29
-rw-r--r--pkgs/applications/networking/browsers/vieb/yarn.lock2757
-rw-r--r--pkgs/applications/networking/browsers/vieb/yarn.nix2876
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/default.nix4
-rw-r--r--pkgs/applications/networking/cisco-packet-tracer/8.nix5
-rw-r--r--pkgs/applications/networking/cloudflared/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/argo-rollouts/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/argo/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/argocd-autopilot/default.nix55
-rw-r--r--pkgs/applications/networking/cluster/argocd/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/arkade/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/cmctl/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/driftctl/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/flink/default.nix1
-rw-r--r--pkgs/applications/networking/cluster/fluxcd/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/fluxctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/helmfile/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kontemplate/default.nix1
-rw-r--r--pkgs/applications/networking/cluster/kops/default.nix14
-rw-r--r--pkgs/applications/networking/cluster/krelay/default.nix31
-rw-r--r--pkgs/applications/networking/cluster/kube3d/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/kubecolor/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubeless/default.nix38
-rw-r--r--pkgs/applications/networking/cluster/kubent/default.nix29
-rw-r--r--pkgs/applications/networking/cluster/nerdctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/ocm/default.nix32
-rw-r--r--pkgs/applications/networking/cluster/openshift/default.nix86
-rw-r--r--pkgs/applications/networking/cluster/pluto/default.nix27
-rw-r--r--pkgs/applications/networking/cluster/popeye/default.nix1
-rw-r--r--pkgs/applications/networking/cluster/rancher/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/spark/default.nix10
-rw-r--r--pkgs/applications/networking/cluster/tektoncd-cli/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json335
-rw-r--r--pkgs/applications/networking/cluster/tilt/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/vcluster/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/werf/default.nix6
-rw-r--r--pkgs/applications/networking/feedreaders/newsboat/default.nix6
-rw-r--r--pkgs/applications/networking/feedreaders/rss2email/default.nix2
-rw-r--r--pkgs/applications/networking/flexget/default.nix4
-rw-r--r--pkgs/applications/networking/gmailctl/default.nix12
-rw-r--r--pkgs/applications/networking/instant-messengers/alfaview/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/bitlbee-discord/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/bitlbee-steam/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/chatty/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix49
-rw-r--r--pkgs/applications/networking/instant-messengers/deltachat-desktop/package.json21
-rwxr-xr-xpkgs/applications/networking/instant-messengers/deltachat-desktop/update.sh2
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop-package.json4
-rw-r--r--pkgs/applications/networking/instant-messengers/element/keytar/default.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/element/pin.json8
-rw-r--r--pkgs/applications/networking/instant-messengers/element/seshat/default.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/ferdi/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/fractal/default.nix13
-rw-r--r--pkgs/applications/networking/instant-messengers/gotktrix/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/gtmess/default.nix20
-rw-r--r--pkgs/applications/networking/instant-messengers/nheko/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/pond/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/profanity/default.nix26
-rw-r--r--pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix42
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/zulip/default.nix4
-rw-r--r--pkgs/applications/networking/ipfs/default.nix4
-rw-r--r--pkgs/applications/networking/irc/bip/default.nix3
-rw-r--r--pkgs/applications/networking/irc/ircdog/default.nix9
-rw-r--r--pkgs/applications/networking/irc/irssi/fish/default.nix4
-rw-r--r--pkgs/applications/networking/irc/quassel/default.nix1
-rw-r--r--pkgs/applications/networking/irc/wraith/configure.patch2
-rw-r--r--pkgs/applications/networking/irc/wraith/default.nix6
-rw-r--r--pkgs/applications/networking/lieer/default.nix1
-rw-r--r--pkgs/applications/networking/linssid/default.nix6
-rw-r--r--pkgs/applications/networking/maestral-qt/default.nix3
-rw-r--r--pkgs/applications/networking/mailreaders/alot/default.nix8
-rw-r--r--pkgs/applications/networking/mailreaders/claws-mail/default.nix18
-rw-r--r--pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/evolution/evolution/default.nix15
-rw-r--r--pkgs/applications/networking/mailreaders/mailspring/default.nix11
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/notbit/default.nix30
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/default.nix7
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/packages.nix4
-rw-r--r--pkgs/applications/networking/mullvad/default.nix8
-rw-r--r--pkgs/applications/networking/mullvad/libwg.nix35
-rw-r--r--pkgs/applications/networking/mullvad/mullvad.nix107
-rw-r--r--pkgs/applications/networking/mullvad/openvpn.nix87
-rw-r--r--pkgs/applications/networking/n8n/node-packages.nix158
-rw-r--r--pkgs/applications/networking/owamp/default.nix3
-rw-r--r--pkgs/applications/networking/p2p/frostwire/default.nix12
-rw-r--r--pkgs/applications/networking/p2p/twister/default.nix14
-rw-r--r--pkgs/applications/networking/remote/citrix-workspace/generic.nix2
-rw-r--r--pkgs/applications/networking/remote/vmware-horizon-client/default.nix3
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix15
-rw-r--r--pkgs/applications/networking/sync/lsyncd/default.nix3
-rw-r--r--pkgs/applications/networking/sync/wdt/default.nix34
-rw-r--r--pkgs/applications/networking/termius/default.nix16
-rw-r--r--pkgs/applications/office/autokey/remove-requires-dbus-python.patch11
-rw-r--r--pkgs/applications/office/banking/default.nix11
-rw-r--r--pkgs/applications/office/hledger-check-fancyassertions/default.nix13
-rw-r--r--pkgs/applications/office/jameica/default.nix12
-rw-r--r--pkgs/applications/office/libreoffice/default.nix10
-rw-r--r--pkgs/applications/office/morgen/default.nix4
-rw-r--r--pkgs/applications/office/pinpoint/default.nix4
-rw-r--r--pkgs/applications/office/qownnotes/default.nix4
-rw-r--r--pkgs/applications/office/scribus/unstable.nix30
-rw-r--r--pkgs/applications/office/zotero/default.nix2
-rw-r--r--pkgs/applications/radio/freedv/default.nix1
-rw-r--r--pkgs/applications/radio/gnuradio/wrapper.nix7
-rw-r--r--pkgs/applications/radio/pothos/default.nix4
-rw-r--r--pkgs/applications/radio/rtl-ais/default.nix2
-rw-r--r--pkgs/applications/radio/sdrplay/default.nix2
-rw-r--r--pkgs/applications/radio/soapysdrplay/default.nix4
-rw-r--r--pkgs/applications/radio/soundmodem/default.nix6
-rw-r--r--pkgs/applications/radio/srsran/default.nix49
-rw-r--r--pkgs/applications/science/astronomy/gprojector/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/openspace/assets.patch100
-rw-r--r--pkgs/applications/science/astronomy/openspace/config.patch49
-rw-r--r--pkgs/applications/science/astronomy/openspace/constexpr.patch91
-rw-r--r--pkgs/applications/science/astronomy/openspace/default.nix90
-rw-r--r--pkgs/applications/science/astronomy/openspace/vrpn.patch13
-rw-r--r--pkgs/applications/science/astronomy/stellarium/default.nix8
-rw-r--r--pkgs/applications/science/biology/flywheel-cli/default.nix49
-rw-r--r--pkgs/applications/science/biology/kssd/default.nix3
-rw-r--r--pkgs/applications/science/biology/ncbi-tools/default.nix34
-rw-r--r--pkgs/applications/science/chemistry/jmol/default.nix4
-rw-r--r--pkgs/applications/science/chemistry/marvin/default.nix4
-rw-r--r--pkgs/applications/science/electronics/caneda/default.nix4
-rw-r--r--pkgs/applications/science/electronics/eagle/eagle7.nix97
-rw-r--r--pkgs/applications/science/electronics/gerbv/default.nix4
-rw-r--r--pkgs/applications/science/electronics/kicad/versions.nix42
-rw-r--r--pkgs/applications/science/electronics/ngspice/default.nix4
-rw-r--r--pkgs/applications/science/electronics/xcircuit/default.nix12
-rw-r--r--pkgs/applications/science/logic/coq/default.nix1
-rw-r--r--pkgs/applications/science/logic/isabelle/components/default.nix5
-rw-r--r--pkgs/applications/science/logic/isabelle/components/isabelle-linter.nix22
-rw-r--r--pkgs/applications/science/logic/isabelle/components/mkBuild.nix36
-rw-r--r--pkgs/applications/science/logic/isabelle/default.nix27
-rw-r--r--pkgs/applications/science/logic/jonprl/default.nix35
-rw-r--r--pkgs/applications/science/logic/klee/default.nix81
-rw-r--r--pkgs/applications/science/logic/klee/klee-uclibc.nix98
-rw-r--r--pkgs/applications/science/logic/lean2/default.nix37
-rw-r--r--pkgs/applications/science/logic/nuXmv/default.nix16
-rw-r--r--pkgs/applications/science/logic/otter/default.nix53
-rw-r--r--pkgs/applications/science/logic/potassco/clingcon.nix5
-rw-r--r--pkgs/applications/science/logic/why3/with-provers.nix2
-rw-r--r--pkgs/applications/science/logic/z3/4.4.0.nix2
-rw-r--r--pkgs/applications/science/math/caffe/default.nix2
-rw-r--r--pkgs/applications/science/math/fricas/default.nix9
-rw-r--r--pkgs/applications/science/math/sage/README.md4
-rw-r--r--pkgs/applications/science/math/scilab-bin/default.nix37
-rw-r--r--pkgs/applications/science/misc/bada-bib/default.nix4
-rw-r--r--pkgs/applications/science/misc/fityk/default.nix7
-rw-r--r--pkgs/applications/science/misc/openmvs/default.nix77
-rw-r--r--pkgs/applications/science/misc/rink/default.nix6
-rw-r--r--pkgs/applications/science/robotics/inav-configurator/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/gnome-console/default.nix69
-rw-r--r--pkgs/applications/terminal-emulators/kgx/default.nix79
-rw-r--r--pkgs/applications/terminal-emulators/kitty/default.nix5
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-font-size/default.nix2
-rw-r--r--pkgs/applications/terminal-emulators/termonad/default.nix3
-rw-r--r--pkgs/applications/version-management/bitkeeper/default.nix56
-rw-r--r--pkgs/applications/version-management/dvc/default.nix36
-rw-r--r--pkgs/applications/version-management/dvc/dvc-daemon.patch2
-rw-r--r--pkgs/applications/version-management/fnc/default.nix40
-rw-r--r--pkgs/applications/version-management/gerrit/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix82
-rw-r--r--pkgs/applications/version-management/git-and-tools/cgit/common.nix3
-rw-r--r--pkgs/applications/version-management/git-and-tools/cgit/default.nix1
-rw-r--r--pkgs/applications/version-management/git-and-tools/cgit/pink.nix1
-rw-r--r--pkgs/applications/version-management/git-and-tools/darcs-to-git/default.nix9
-rw-r--r--pkgs/applications/version-management/git-and-tools/gh/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-annex-utils/default.nix3
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-branchless/default.nix10
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-dit/default.nix58
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-secret/default.nix9
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-team/default.nix31
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix11
-rw-r--r--pkgs/applications/version-management/git-and-tools/hut/default.nix13
-rw-r--r--pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--pkgs/applications/version-management/github-desktop/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/data.json16
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix8
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-shell/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile24
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock100
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix206
-rw-r--r--pkgs/applications/version-management/gogs/default.nix6
-rw-r--r--pkgs/applications/version-management/got/default.nix7
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix11
-rw-r--r--pkgs/applications/version-management/mercurial/fix-rhg-type-aarch64.patch12
-rw-r--r--pkgs/applications/version-management/rcs/default.nix8
-rw-r--r--pkgs/applications/version-management/smartgithg/default.nix4
-rw-r--r--pkgs/applications/version-management/subversion/default.nix2
-rw-r--r--pkgs/applications/version-management/verco/default.nix6
-rw-r--r--pkgs/applications/video/ani-cli/default.nix44
-rw-r--r--pkgs/applications/video/byzanz/default.nix2
-rw-r--r--pkgs/applications/video/davinci-resolve/default.nix179
-rw-r--r--pkgs/applications/video/entangle/default.nix20
-rw-r--r--pkgs/applications/video/f1viewer/default.nix6
-rw-r--r--pkgs/applications/video/natron/default.nix5
-rw-r--r--pkgs/applications/video/p2pvc/default.nix3
-rw-r--r--pkgs/applications/video/pitivi/default.nix3
-rw-r--r--pkgs/applications/video/qmplay2/default.nix4
-rw-r--r--pkgs/applications/video/quvi/library.nix1
-rw-r--r--pkgs/applications/video/quvi/scripts.nix1
-rw-r--r--pkgs/applications/video/quvi/tool.nix1
-rw-r--r--pkgs/applications/virtualization/OVMF/default.nix3
-rw-r--r--pkgs/applications/virtualization/arion/default.nix12
-rw-r--r--pkgs/applications/virtualization/containerd/default.nix4
-rw-r--r--pkgs/applications/virtualization/crun/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker/compose.nix6
-rw-r--r--pkgs/applications/virtualization/docker/default.nix8
-rw-r--r--pkgs/applications/virtualization/docker/gc.nix6
-rw-r--r--pkgs/applications/virtualization/docker/proxy.nix6
-rw-r--r--pkgs/applications/virtualization/gvisor/containerd-shim.nix4
-rw-r--r--pkgs/applications/virtualization/gvisor/default.nix2
-rw-r--r--pkgs/applications/virtualization/lima/default.nix6
-rw-r--r--pkgs/applications/virtualization/podman-tui/default.nix14
-rw-r--r--pkgs/applications/virtualization/podman/default.nix4
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix5
-rw-r--r--pkgs/applications/virtualization/qemu/utils.nix4
-rw-r--r--pkgs/applications/virtualization/runc/default.nix4
-rw-r--r--pkgs/applications/virtualization/spike/default.nix18
-rw-r--r--pkgs/applications/virtualization/virt-viewer/default.nix15
-rw-r--r--pkgs/applications/window-managers/clfswm/default.nix50
-rw-r--r--pkgs/applications/window-managers/clfswm/require-clx.patch13
-rw-r--r--pkgs/applications/window-managers/phosh/default.nix9
-rw-r--r--pkgs/applications/window-managers/qtile/default.nix26
-rw-r--r--pkgs/applications/window-managers/taffybar/default.nix3
-rw-r--r--pkgs/applications/window-managers/xmonad/wrapper.nix3
-rw-r--r--pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix3
-rw-r--r--pkgs/build-support/build-fhs-userenv/env.nix3
-rw-r--r--pkgs/build-support/build-graalvm-native-image/default.nix10
-rw-r--r--pkgs/build-support/docker/default.nix39
-rw-r--r--pkgs/build-support/docker/examples.nix2
-rw-r--r--pkgs/build-support/fake-nss/default.nix24
-rw-r--r--pkgs/build-support/fetchpatch/default.nix45
-rw-r--r--pkgs/build-support/fetchpatch/tests.nix16
-rw-r--r--pkgs/build-support/kernel/make-initrd-ng-tool.nix9
-rw-r--r--pkgs/build-support/kernel/make-initrd-ng.nix79
-rw-r--r--pkgs/build-support/kernel/make-initrd-ng/Cargo.lock5
-rw-r--r--pkgs/build-support/kernel/make-initrd-ng/Cargo.toml9
-rw-r--r--pkgs/build-support/kernel/make-initrd-ng/README.md79
-rw-r--r--pkgs/build-support/kernel/make-initrd-ng/src/main.rs208
-rw-r--r--pkgs/build-support/make-darwin-bundle/write-darwin-bundle.nix8
-rw-r--r--pkgs/build-support/make-desktopitem/default.nix11
-rw-r--r--pkgs/build-support/ocaml/dune.nix9
-rw-r--r--pkgs/build-support/setup-hooks/desktop-to-darwin-bundle.sh48
-rw-r--r--pkgs/build-support/test-equal-derivation.nix2
-rw-r--r--pkgs/build-support/trivial-builders.nix5
-rw-r--r--pkgs/build-support/trivial-builders/test/write-text-file.nix34
-rw-r--r--pkgs/build-support/writers/default.nix2
-rw-r--r--pkgs/data/documentation/gnome-user-docs/default.nix4
-rw-r--r--pkgs/data/documentation/man-pages/default.nix1
-rw-r--r--pkgs/data/documentation/rnrs/r3rs.nix7
-rw-r--r--pkgs/data/documentation/std-man-pages/default.nix7
-rw-r--r--pkgs/data/fonts/dancing-script/default.nix27
-rw-r--r--pkgs/data/fonts/mplus-outline-fonts/default.nix58
-rw-r--r--pkgs/data/fonts/noto-fonts/default.nix8
-rw-r--r--pkgs/data/fonts/sarasa-gothic/default.nix4
-rw-r--r--pkgs/data/fonts/twitter-color-emoji/default.nix4
-rw-r--r--pkgs/data/icons/faba-icon-theme/default.nix5
-rw-r--r--pkgs/data/icons/flat-remix-icon-theme/default.nix11
-rw-r--r--pkgs/data/icons/hicolor-icon-theme/default.nix5
-rw-r--r--pkgs/data/icons/humanity-icon-theme/default.nix8
-rw-r--r--pkgs/data/icons/tango-icon-theme/default.nix5
-rw-r--r--pkgs/data/misc/brise/default.nix3
-rw-r--r--pkgs/data/misc/cldr-annotations/default.nix24
-rw-r--r--pkgs/data/misc/ddccontrol-db/default.nix3
-rw-r--r--pkgs/data/misc/hackage/pin.json8
-rw-r--r--pkgs/data/misc/iana-etc/default.nix5
-rw-r--r--pkgs/data/misc/miscfiles/default.nix5
-rw-r--r--pkgs/data/misc/mobile-broadband-provider-info/default.nix4
-rw-r--r--pkgs/data/misc/shared-desktop-ontologies/default.nix5
-rw-r--r--pkgs/data/misc/tzdata/default.nix6
-rw-r--r--pkgs/data/misc/unicode-emoji/default.nix16
-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/sgml+xml/schemas/xml-dtd/docbook-ebnf/default.nix7
-rw-r--r--pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix11
-rw-r--r--pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix7
-rw-r--r--pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix7
-rw-r--r--pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.4.nix7
-rw-r--r--pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix7
-rw-r--r--pkgs/data/sgml+xml/schemas/xml-dtd/docbook/generic.nix10
-rw-r--r--pkgs/data/sgml+xml/schemas/xml-dtd/xhtml1/default.nix5
-rw-r--r--pkgs/data/soundfonts/generaluser/default.nix25
-rw-r--r--pkgs/data/themes/arc/default.nix27
-rw-r--r--pkgs/data/themes/dracula-theme/default.nix2
-rw-r--r--pkgs/data/themes/flat-remix-gtk/default.nix4
-rw-r--r--pkgs/data/themes/greybird/default.nix19
-rw-r--r--pkgs/data/themes/yaru/default.nix4
-rw-r--r--pkgs/desktops/gnome-2/bindings/gnome-python/default.nix8
-rw-r--r--pkgs/desktops/gnome-2/default.nix2
-rw-r--r--pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix10
-rw-r--r--pkgs/desktops/gnome-2/platform/ORBit2/default.nix6
-rw-r--r--pkgs/desktops/gnome-2/platform/gnome-common/default.nix8
-rw-r--r--pkgs/desktops/gnome-2/platform/gnome-mime-data/default.nix9
-rw-r--r--pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix8
-rw-r--r--pkgs/desktops/gnome-2/platform/gtkhtml/default.nix7
-rw-r--r--pkgs/desktops/gnome-2/platform/libIDL/default.nix8
-rw-r--r--pkgs/desktops/gnome-2/platform/libart_lgpl/default.nix7
-rw-r--r--pkgs/desktops/gnome-2/platform/libbonobo/default.nix8
-rw-r--r--pkgs/desktops/gnome-2/platform/libbonoboui/default.nix8
-rw-r--r--pkgs/desktops/gnome-2/platform/libglade/default.nix7
-rw-r--r--pkgs/desktops/gnome-2/platform/libgnome/default.nix8
-rw-r--r--pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix8
-rw-r--r--pkgs/desktops/gnome-2/platform/libgnomecanvasmm/default.nix9
-rw-r--r--pkgs/desktops/gnome-2/platform/libgnomecups/default.nix7
-rw-r--r--pkgs/desktops/gnome-2/platform/libgnomeprint/default.nix5
-rw-r--r--pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix9
-rw-r--r--pkgs/desktops/gnome-2/platform/libgnomeui/default.nix8
-rw-r--r--pkgs/desktops/gnome-2/platform/libgtkhtml/default.nix9
-rw-r--r--pkgs/desktops/gnome/apps/file-roller/default.nix20
-rw-r--r--pkgs/desktops/gnome/apps/ghex/default.nix44
-rw-r--r--pkgs/desktops/gnome/apps/gnome-books/default.nix13
-rw-r--r--pkgs/desktops/gnome/apps/gnome-boxes/default.nix4
-rw-r--r--pkgs/desktops/gnome/apps/gnome-calendar/default.nix56
-rw-r--r--pkgs/desktops/gnome/apps/gnome-calendar/gtk_image_reset_crash.patch17
-rw-r--r--pkgs/desktops/gnome/apps/gnome-characters/default.nix38
-rw-r--r--pkgs/desktops/gnome/apps/gnome-clocks/default.nix23
-rw-r--r--pkgs/desktops/gnome/apps/gnome-connections/default.nix10
-rw-r--r--pkgs/desktops/gnome/apps/gnome-logs/default.nix23
-rw-r--r--pkgs/desktops/gnome/apps/gnome-maps/default.nix19
-rw-r--r--pkgs/desktops/gnome/apps/gnome-music/default.nix21
-rw-r--r--pkgs/desktops/gnome/apps/gnome-notes/default.nix13
-rw-r--r--pkgs/desktops/gnome/apps/gnome-sound-recorder/default.nix15
-rw-r--r--pkgs/desktops/gnome/apps/gnome-text-editor/default.nix12
-rw-r--r--pkgs/desktops/gnome/apps/gnome-weather/default.nix16
-rw-r--r--pkgs/desktops/gnome/apps/polari/default.nix71
-rw-r--r--pkgs/desktops/gnome/core/adwaita-icon-theme/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/baobab/default.nix26
-rw-r--r--pkgs/desktops/gnome/core/dconf-editor/default.nix13
-rw-r--r--pkgs/desktops/gnome/core/dconf-editor/schema-override-variable.patch14
-rw-r--r--pkgs/desktops/gnome/core/eog/default.nix41
-rw-r--r--pkgs/desktops/gnome/core/epiphany/default.nix22
-rw-r--r--pkgs/desktops/gnome/core/evince/default.nix36
-rw-r--r--pkgs/desktops/gnome/core/evolution-data-server/default.nix96
-rw-r--r--pkgs/desktops/gnome/core/gdm/default.nix6
-rw-r--r--pkgs/desktops/gnome/core/gnome-backgrounds/default.nix31
-rw-r--r--pkgs/desktops/gnome/core/gnome-bluetooth/1.0/default.nix97
-rw-r--r--pkgs/desktops/gnome/core/gnome-bluetooth/default.nix27
-rw-r--r--pkgs/desktops/gnome/core/gnome-calculator/default.nix24
-rw-r--r--pkgs/desktops/gnome/core/gnome-contacts/default.nix39
-rw-r--r--pkgs/desktops/gnome/core/gnome-control-center/default.nix54
-rw-r--r--pkgs/desktops/gnome/core/gnome-dictionary/default.nix63
-rw-r--r--pkgs/desktops/gnome/core/gnome-disk-utility/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-font-viewer/default.nix44
-rw-r--r--pkgs/desktops/gnome/core/gnome-initial-setup/default.nix6
-rw-r--r--pkgs/desktops/gnome/core/gnome-keyring/default.nix5
-rw-r--r--pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix40
-rw-r--r--pkgs/desktops/gnome/core/gnome-screenshot/default.nix69
-rw-r--r--pkgs/desktops/gnome/core/gnome-session/ctl.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-session/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix10
-rw-r--r--pkgs/desktops/gnome/core/gnome-settings-daemon/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-shell/default.nix15
-rw-r--r--pkgs/desktops/gnome/core/gnome-shell/wrap-services.patch10
-rw-r--r--pkgs/desktops/gnome/core/gnome-software/default.nix14
-rw-r--r--pkgs/desktops/gnome/core/gnome-system-monitor/default.nix12
-rw-r--r--pkgs/desktops/gnome/core/gnome-terminal/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-tour/default.nix17
-rw-r--r--pkgs/desktops/gnome/core/gnome-user-share/default.nix5
-rw-r--r--pkgs/desktops/gnome/core/gucharmap/default.nix8
-rw-r--r--pkgs/desktops/gnome/core/mutter/default.nix6
-rw-r--r--pkgs/desktops/gnome/core/nautilus/default.nix21
-rw-r--r--pkgs/desktops/gnome/core/simple-scan/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/sushi/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/totem/default.nix14
-rw-r--r--pkgs/desktops/gnome/core/yelp-xsl/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/yelp/default.nix6
-rw-r--r--pkgs/desktops/gnome/default.nix9
-rw-r--r--pkgs/desktops/gnome/devtools/devhelp/default.nix13
-rw-r--r--pkgs/desktops/gnome/extensions/collisions.json11
-rw-r--r--pkgs/desktops/gnome/extensions/default.nix4
-rw-r--r--pkgs/desktops/gnome/extensions/extensionOverrides.nix28
-rw-r--r--pkgs/desktops/gnome/extensions/extensionOverridesPatches/freon_at_UshakovVasilii_Github.yahoo.com.patch (renamed from pkgs/desktops/gnome/extensions/freon/fix_paths.patch)30
-rw-r--r--pkgs/desktops/gnome/extensions/extensionRenames.nix22
-rw-r--r--pkgs/desktops/gnome/extensions/extensions.json177
-rw-r--r--pkgs/desktops/gnome/extensions/freon/default.nix61
-rw-r--r--pkgs/desktops/gnome/extensions/gsconnect/default.nix8
-rw-r--r--pkgs/desktops/gnome/extensions/manuallyPackaged.nix1
-rw-r--r--pkgs/desktops/gnome/extensions/pop-shell/default.nix6
-rw-r--r--pkgs/desktops/gnome/extensions/sound-output-device-chooser/default.nix8
-rw-r--r--pkgs/desktops/gnome/games/aisleriot/default.nix9
-rw-r--r--pkgs/desktops/gnome/games/five-or-more/default.nix37
-rw-r--r--pkgs/desktops/gnome/games/gnome-2048/default.nix10
-rw-r--r--pkgs/desktops/gnome/games/gnome-chess/default.nix7
-rw-r--r--pkgs/desktops/gnome/games/gnome-mahjongg/default.nix44
-rw-r--r--pkgs/desktops/gnome/games/gnome-sudoku/default.nix4
-rw-r--r--pkgs/desktops/gnome/games/gnome-tetravex/default.nix53
-rw-r--r--pkgs/desktops/gnome/games/hitori/default.nix13
-rw-r--r--pkgs/desktops/gnome/games/tali/default.nix4
-rw-r--r--pkgs/desktops/gnome/misc/gitg/default.nix10
-rw-r--r--pkgs/desktops/gnome/misc/gnome-applets/default.nix4
-rw-r--r--pkgs/desktops/gnome/misc/gnome-flashback/default.nix11
-rw-r--r--pkgs/desktops/gnome/misc/gnome-panel/default.nix17
-rw-r--r--pkgs/desktops/gnome/misc/gnome-tweaks/default.nix7
-rw-r--r--pkgs/desktops/gnome/misc/gpaste/default.nix13
-rw-r--r--pkgs/desktops/gnome/misc/gpaste/fix-paths.patch20
-rw-r--r--pkgs/desktops/gnome/misc/metacity/default.nix4
-rw-r--r--pkgs/desktops/lxqt/lxqt-build-tools/default.nix9
-rw-r--r--pkgs/desktops/mate/mate-backgrounds/default.nix11
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-code/default.nix14
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-dock/default.nix8
-rw-r--r--pkgs/desktops/pantheon/default.nix20
-rw-r--r--pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/default.nix6
-rw-r--r--pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/default.nix2
-rw-r--r--pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--pkgs/desktops/plasma-5/kscreen.nix4
-rw-r--r--pkgs/desktops/plasma-5/srcs.nix428
-rw-r--r--pkgs/desktops/xfce/applications/orage/default.nix75
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-screensaver/default.nix49
-rw-r--r--pkgs/desktops/xfce/default.nix9
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix7
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix6
-rw-r--r--pkgs/development/compilers/aldor/default.nix54
-rw-r--r--pkgs/development/compilers/aliceml/default.nix58
-rw-r--r--pkgs/development/compilers/aliceml/make.patch20
-rw-r--r--pkgs/development/compilers/aliceml/seam.patch13
-rw-r--r--pkgs/development/compilers/carp/default.nix6
-rw-r--r--pkgs/development/compilers/ciao/default.nix4
-rw-r--r--pkgs/development/compilers/crystal/build-package.nix22
-rw-r--r--pkgs/development/compilers/cudatoolkit/default.nix6
-rw-r--r--pkgs/development/compilers/ecl/16.1.2.nix3
-rw-r--r--pkgs/development/compilers/elm/default.nix3
-rw-r--r--pkgs/development/compilers/elm/packages/node-packages.nix1982
-rw-r--r--pkgs/development/compilers/emscripten/default.nix4
-rw-r--r--pkgs/development/compilers/fsharp/default.nix4
-rw-r--r--pkgs/development/compilers/gambit/build.nix4
-rw-r--r--pkgs/development/compilers/gcc/10/default.nix13
-rw-r--r--pkgs/development/compilers/gcc/10/gcc10-asan-glibc-2.34.patch70
-rw-r--r--pkgs/development/compilers/gcc/11/default.nix9
-rw-r--r--pkgs/development/compilers/gcc/4.8/default.nix9
-rw-r--r--pkgs/development/compilers/gcc/4.9/default.nix9
-rw-r--r--pkgs/development/compilers/gcc/6/default.nix10
-rw-r--r--pkgs/development/compilers/gcc/6/gnat-glibc234.patch30
-rw-r--r--pkgs/development/compilers/gcc/7/default.nix12
-rw-r--r--pkgs/development/compilers/gcc/7/gcc8-asan-glibc-2.34.patch70
-rw-r--r--pkgs/development/compilers/gcc/8/default.nix9
-rw-r--r--pkgs/development/compilers/gcc/9/default.nix16
-rw-r--r--pkgs/development/compilers/gcc/9/gcc9-asan-glibc-2.34.patch70
-rw-r--r--pkgs/development/compilers/gcc/builder.sh4
-rw-r--r--pkgs/development/compilers/ghc/8.10.7.nix4
-rw-r--r--pkgs/development/compilers/ghc/8.8.4.nix4
-rw-r--r--pkgs/development/compilers/ghc/9.0.2.nix16
-rw-r--r--pkgs/development/compilers/ghc/9.2.2.nix (renamed from pkgs/development/compilers/ghc/9.2.1.nix)27
-rw-r--r--pkgs/development/compilers/ghc/head.nix4
-rw-r--r--pkgs/development/compilers/ghcjs/ghcjs-base.nix9
-rw-r--r--pkgs/development/compilers/go/1.17.nix4
-rw-r--r--pkgs/development/compilers/graalvm/community-edition/default.nix71
-rw-r--r--pkgs/development/compilers/graalvm/community-edition/graalvm11-ce-sources.json74
-rw-r--r--pkgs/development/compilers/graalvm/community-edition/graalvm17-ce-sources.json56
-rw-r--r--pkgs/development/compilers/graalvm/community-edition/hashes.nix57
-rw-r--r--pkgs/development/compilers/graalvm/community-edition/mkGraal.nix141
-rw-r--r--pkgs/development/compilers/graalvm/community-edition/update.nix223
-rwxr-xr-xpkgs/development/compilers/graalvm/community-edition/update.sh81
-rw-r--r--pkgs/development/compilers/hhvm/default.nix68
-rw-r--r--pkgs/development/compilers/hhvm/flexible-array-members-gcc6.patch20
-rw-r--r--pkgs/development/compilers/hip/default.nix13
-rw-r--r--pkgs/development/compilers/ios-cross-compile/9.2.nix3
-rw-r--r--pkgs/development/compilers/julia/1.6-bin.nix4
-rw-r--r--pkgs/development/compilers/ligo/default.nix57
-rw-r--r--pkgs/development/compilers/llvm/10/lld/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/11/lld/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/12/lld/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/13/lld/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/14/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/14/lld/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/14/openmp/default.nix19
-rw-r--r--pkgs/development/compilers/llvm/14/openmp/fix-find-tool.patch54
-rw-r--r--pkgs/development/compilers/llvm/14/openmp/gnu-install-dirs.patch52
-rw-r--r--pkgs/development/compilers/llvm/14/openmp/run-lit-directly.patch12
-rw-r--r--pkgs/development/compilers/llvm/5/lld/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/6/lld/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/7/lld/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/8/lld/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/9/lld/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/git/lld/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/multi.nix4
-rw-r--r--pkgs/development/compilers/llvm/rocm/compiler-rt/68d5235cb58f988c71b403334cd9482d663841ab.patch78
-rw-r--r--pkgs/development/compilers/llvm/rocm/compiler-rt/compiler-rt-codesign.patch33
-rw-r--r--pkgs/development/compilers/llvm/rocm/compiler-rt/default.nix9
-rw-r--r--pkgs/development/compilers/llvm/rocm/default.nix6
-rw-r--r--pkgs/development/compilers/llvm/rocm/llvm/default.nix4
-rw-r--r--pkgs/development/compilers/obliv-c/default.nix8
-rw-r--r--pkgs/development/compilers/ocaml/4.10.nix3
-rw-r--r--pkgs/development/compilers/ocaml/4.11.nix3
-rw-r--r--pkgs/development/compilers/ocaml/4.12.nix5
-rw-r--r--pkgs/development/compilers/ocaml/4.14.nix7
-rw-r--r--pkgs/development/compilers/ocaml/Makefile.nixpkgs16
-rw-r--r--pkgs/development/compilers/ocaml/generic.nix26
-rw-r--r--pkgs/development/compilers/ocaml/glibc-2.34-for-ocaml-4.10-and-11.patch37
-rw-r--r--pkgs/development/compilers/ocaml/metaocaml-3.09.nix34
-rw-r--r--pkgs/development/compilers/openjdk/11.nix1
-rw-r--r--pkgs/development/compilers/openjdk/16.nix1
-rw-r--r--pkgs/development/compilers/openjdk/8.nix81
-rw-r--r--pkgs/development/compilers/openjdk/fix-glibc-2.34.patch24
-rw-r--r--pkgs/development/compilers/polyml/5.6.nix10
-rw-r--r--pkgs/development/compilers/polyml/5.7.nix12
-rw-r--r--pkgs/development/compilers/polyml/default.nix8
-rw-r--r--pkgs/development/compilers/rust/1_59.nix (renamed from pkgs/development/compilers/rust/1_58.nix)31
-rw-r--r--pkgs/development/compilers/rust/binary.nix4
-rw-r--r--pkgs/development/compilers/rust/cargo.nix2
-rw-r--r--pkgs/development/compilers/solc/default.nix13
-rw-r--r--pkgs/development/compilers/urweb/default.nix2
-rw-r--r--pkgs/development/compilers/vala/default.nix20
-rw-r--r--pkgs/development/compilers/x11basic/default.nix3
-rw-r--r--pkgs/development/coq-modules/VST/default.nix1
-rw-r--r--pkgs/development/coq-modules/aac-tactics/default.nix8
-rw-r--r--pkgs/development/coq-modules/compcert/default.nix5
-rw-r--r--pkgs/development/coq-modules/coqprime/default.nix3
-rw-r--r--pkgs/development/coq-modules/relation-algebra/default.nix9
-rw-r--r--pkgs/development/embedded/platformio/core.nix3
-rw-r--r--pkgs/development/embedded/stm32/betaflight/default.nix64
-rw-r--r--pkgs/development/embedded/stm32/inav/default.nix56
-rw-r--r--pkgs/development/go-modules/generic/default.nix16
-rw-r--r--pkgs/development/go-packages/generic/default.nix13
-rw-r--r--pkgs/development/guile-modules/guile-ssh/default.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix1030
-rw-r--r--pkgs/development/haskell-modules/configuration-darwin.nix5
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix51
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix3
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix32
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix65
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix134
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml1437
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml140
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml1711
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml1331
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix52
-rw-r--r--pkgs/development/haskell-modules/generic-builder.nix5
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix19208
-rw-r--r--pkgs/development/haskell-modules/patches/cryptonite-remove-argon2.patch69
-rw-r--r--pkgs/development/haskell-modules/patches/lambdabot-core-ghc9.patch95
-rw-r--r--pkgs/development/haskell-modules/patches/lambdabot-novelty-plugins-ghc9.patch58
-rw-r--r--pkgs/development/haskell-modules/patches/misfortune-ghc9.patch70
-rw-r--r--pkgs/development/haskell-modules/patches/regex-compat-tdfa-ghc-9.0.patch19
-rw-r--r--pkgs/development/haskell-modules/patches/xmonad-nix.patch73
-rw-r--r--pkgs/development/idris-modules/default.nix2
-rw-r--r--pkgs/development/interpreters/acl2/default.nix6
-rw-r--r--pkgs/development/interpreters/clojure/babashka.nix4
-rw-r--r--pkgs/development/interpreters/clojure/default.nix4
-rw-r--r--pkgs/development/interpreters/janet/default.nix4
-rw-r--r--pkgs/development/interpreters/jimtcl/default.nix29
-rw-r--r--pkgs/development/interpreters/love/0.10.nix4
-rw-r--r--pkgs/development/interpreters/love/11.nix4
-rw-r--r--pkgs/development/interpreters/maude/default.nix4
-rw-r--r--pkgs/development/interpreters/perl/default.nix5
-rw-r--r--pkgs/development/interpreters/picoc/default.nix4
-rw-r--r--pkgs/development/interpreters/pure/default.nix46
-rw-r--r--pkgs/development/interpreters/python-cosmopolitan/default.nix39
-rw-r--r--pkgs/development/interpreters/python-cosmopolitan/ioctl.patch12
-rw-r--r--pkgs/development/interpreters/python/default.nix10
-rwxr-xr-xpkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py18
-rw-r--r--pkgs/development/interpreters/ruby/rubygems/default.nix2
-rw-r--r--pkgs/development/interpreters/scsh/default.nix11
-rw-r--r--pkgs/development/interpreters/starlark/default.nix23
-rw-r--r--pkgs/development/interpreters/wasmtime/default.nix28
-rw-r--r--pkgs/development/java-modules/maven-fod.nix56
-rw-r--r--pkgs/development/libraries/CGAL/4.nix12
-rw-r--r--pkgs/development/libraries/SDL2/default.nix8
-rw-r--r--pkgs/development/libraries/SDL2/find-headers.patch34
-rw-r--r--pkgs/development/libraries/SDL2_sound/default.nix48
-rw-r--r--pkgs/development/libraries/allegro/5.nix3
-rw-r--r--pkgs/development/libraries/allegro/default.nix3
-rw-r--r--pkgs/development/libraries/apr-util/default.nix2
-rw-r--r--pkgs/development/libraries/aqbanking/gwenhywfar.nix2
-rw-r--r--pkgs/development/libraries/aspell/default.nix21
-rw-r--r--pkgs/development/libraries/at-spi2-core/default.nix56
-rw-r--r--pkgs/development/libraries/avahi/default.nix6
-rw-r--r--pkgs/development/libraries/avro-c/default.nix4
-rw-r--r--pkgs/development/libraries/bctoolbox/default.nix4
-rw-r--r--pkgs/development/libraries/boost/1.69.nix2
-rw-r--r--pkgs/development/libraries/boost/1.70.nix2
-rw-r--r--pkgs/development/libraries/boost/1.72.nix2
-rw-r--r--pkgs/development/libraries/boost/generic.nix4
-rw-r--r--pkgs/development/libraries/boost/pthread-stack-min-fix.patch15
-rw-r--r--pkgs/development/libraries/botan/default.nix17
-rw-r--r--pkgs/development/libraries/bullet/default.nix4
-rw-r--r--pkgs/development/libraries/catch/default.nix6
-rw-r--r--pkgs/development/libraries/cglm/default.nix4
-rw-r--r--pkgs/development/libraries/cosmopolitan/default.nix73
-rw-r--r--pkgs/development/libraries/cpp-hocon/default.nix4
-rw-r--r--pkgs/development/libraries/cwiid/default.nix4
-rw-r--r--pkgs/development/libraries/cxxopts/default.nix4
-rw-r--r--pkgs/development/libraries/cyrus-sasl/cyrus-sasl-ac-try-run-fix.patch23
-rw-r--r--pkgs/development/libraries/cyrus-sasl/default.nix25
-rw-r--r--pkgs/development/libraries/cyrus-sasl/missing-size_t.patch13
-rw-r--r--pkgs/development/libraries/dav1d/default.nix6
-rw-r--r--pkgs/development/libraries/dotconf/default.nix2
-rw-r--r--pkgs/development/libraries/draco/default.nix23
-rw-r--r--pkgs/development/libraries/dssi/default.nix3
-rw-r--r--pkgs/development/libraries/expat/default.nix5
-rw-r--r--pkgs/development/libraries/fastjson/default.nix3
-rw-r--r--pkgs/development/libraries/ffmpeg-sixel/default.nix37
-rw-r--r--pkgs/development/libraries/ffmpeg/3.4.nix15
-rw-r--r--pkgs/development/libraries/ffmpeg/generic.nix11
-rw-r--r--pkgs/development/libraries/flatpak/default.nix4
-rw-r--r--pkgs/development/libraries/fltk/common.nix11
-rw-r--r--pkgs/development/libraries/folks/default.nix4
-rw-r--r--pkgs/development/libraries/gcc/libgcc/default.nix2
-rw-r--r--pkgs/development/libraries/gcr/default.nix20
-rw-r--r--pkgs/development/libraries/gdal/default.nix40
-rw-r--r--pkgs/development/libraries/gdata-sharp/default.nix42
-rw-r--r--pkgs/development/libraries/gdcm/default.nix4
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/default.nix13
-rw-r--r--pkgs/development/libraries/ggz_base_libs/default.nix7
-rw-r--r--pkgs/development/libraries/givaro/3.7.nix4
-rw-r--r--pkgs/development/libraries/givaro/3.nix4
-rw-r--r--pkgs/development/libraries/givaro/default.nix4
-rw-r--r--pkgs/development/libraries/gjs/default.nix8
-rw-r--r--pkgs/development/libraries/glib-networking/default.nix4
-rw-r--r--pkgs/development/libraries/glib-testing/default.nix4
-rw-r--r--pkgs/development/libraries/glib/default.nix22
-rw-r--r--pkgs/development/libraries/glib/link-with-coreservices.patch11
-rw-r--r--pkgs/development/libraries/glibc/0001-Revert-Remove-all-usage-of-BASH-or-BASH-in-installed.patch131
-rw-r--r--pkgs/development/libraries/glibc/2.33-master.patch.gzbin155232 -> 0 bytes
-rw-r--r--pkgs/development/libraries/glibc/2.34-master.patch.gzbin0 -> 122816 bytes
-rw-r--r--pkgs/development/libraries/glibc/common.nix22
-rw-r--r--pkgs/development/libraries/glibc/default.nix11
-rw-r--r--pkgs/development/libraries/glibc/nix-locale-archive.patch45
-rw-r--r--pkgs/development/libraries/globalplatform/default.nix21
-rw-r--r--pkgs/development/libraries/globalplatform/gppcscconnectionplugin.nix21
-rw-r--r--pkgs/development/libraries/gmp/6.x.nix2
-rw-r--r--pkgs/development/libraries/gnet/default.nix4
-rw-r--r--pkgs/development/libraries/gnome-desktop/bubblewrap-paths.patch (renamed from pkgs/desktops/gnome/core/gnome-desktop/bubblewrap-paths.patch)0
-rw-r--r--pkgs/development/libraries/gnome-desktop/default.nix (renamed from pkgs/desktops/gnome/core/gnome-desktop/default.nix)7
-rw-r--r--pkgs/development/libraries/gnome-online-accounts/default.nix4
-rw-r--r--pkgs/development/libraries/gnutls-kdh/3.5.nix12
-rw-r--r--pkgs/development/libraries/gnutls-kdh/generic.nix95
-rw-r--r--pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch22
-rw-r--r--pkgs/development/libraries/gobject-introspection/default.nix16
-rw-r--r--pkgs/development/libraries/grpc/default.nix4
-rw-r--r--pkgs/development/libraries/gsettings-desktop-schemas/default.nix4
-rw-r--r--pkgs/development/libraries/gtk/3.x.nix11
-rw-r--r--pkgs/development/libraries/gtk/4.x.nix17
-rw-r--r--pkgs/development/libraries/gtkmathview/default.nix29
-rw-r--r--pkgs/development/libraries/gtkmathview/gcc-4.3-build-fixes.patch74
-rw-r--r--pkgs/development/libraries/gtkmathview/gcc-4.4-build-fixes.patch21
-rw-r--r--pkgs/development/libraries/gtkmm/2.x.nix6
-rw-r--r--pkgs/development/libraries/gtkmm/4.x.nix4
-rw-r--r--pkgs/development/libraries/gtksourceview/4.x.nix4
-rw-r--r--pkgs/development/libraries/gtksourceview/5.x.nix17
-rw-r--r--pkgs/development/libraries/gumbo/default.nix3
-rw-r--r--pkgs/development/libraries/gvfs/default.nix12
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix11
-rw-r--r--pkgs/development/libraries/hivex/default.nix4
-rw-r--r--pkgs/development/libraries/hspell/dicts.nix8
-rw-r--r--pkgs/development/libraries/http-parser/default.nix11
-rw-r--r--pkgs/development/libraries/igraph/default.nix11
-rw-r--r--pkgs/development/libraries/ijs/default.nix5
-rw-r--r--pkgs/development/libraries/ilixi/default.nix35
-rw-r--r--pkgs/development/libraries/intel-gmmlib/default.nix4
-rw-r--r--pkgs/development/libraries/intel-media-sdk/default.nix4
-rw-r--r--pkgs/development/libraries/isl/generic.nix3
-rw-r--r--pkgs/development/libraries/java/jffi/default.nix47
-rw-r--r--pkgs/development/libraries/jcal/default.nix2
-rw-r--r--pkgs/development/libraries/jsonrpc-glib/default.nix41
-rw-r--r--pkgs/development/libraries/kde-frameworks/attica.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/baloo.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/bluez-qt.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/breeze-icons.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/default.nix7
-rw-r--r--pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/fetch.sh2
-rw-r--r--pkgs/development/libraries/kde-frameworks/frameworkintegration.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kactivities-stats.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kactivities.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kapidox.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/karchive.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kauth/default.nix9
-rw-r--r--pkgs/development/libraries/kde-frameworks/kbookmarks.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kcalendarcore.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kcmutils/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kcodecs.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kcompletion.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kconfig.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kcontacts.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kcoreaddons.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kcrash.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdav.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdbusaddons.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdeclarative.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kded.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdesignerplugin.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdesu/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdewebkit.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdnssd.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdoctools/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kemoticons.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kfilemetadata/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kglobalaccel.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kguiaddons.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kholidays.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/khtml.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/ki18n.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kidletime.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kimageformats.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kinit/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kio/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kirigami2.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kitemmodels.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kitemviews.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kjobwidgets.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kjs.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kjsembed.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kmediaplayer.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/knewstuff/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/knotifications.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/knotifyconfig.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kpackage/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kparts.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kpeople.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kplotting.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kpty.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kquickcharts.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kross.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/krunner.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kservice/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/ktexteditor.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/ktextwidgets.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kunitconversion.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kwallet.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kwayland.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kwidgetsaddons.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kwindowsystem/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kxmlgui.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kxmlrpcclient.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/modemmanager-qt.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/networkmanager-qt.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/oxygen-icons5.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/plasma-framework.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/prison.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/purpose.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/qqc2-desktop-style.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/solid.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/sonnet.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/srcs.nix664
-rw-r--r--pkgs/development/libraries/kde-frameworks/syndication.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/syntax-highlighting.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/threadweaver.nix2
-rw-r--r--pkgs/development/libraries/kerberos/krb5.nix2
-rw-r--r--pkgs/development/libraries/keybinder/default.nix4
-rw-r--r--pkgs/development/libraries/khronos-ocl-icd-loader/default.nix2
-rw-r--r--pkgs/development/libraries/languagemachines/frog.nix6
-rw-r--r--pkgs/development/libraries/languagemachines/frogdata.nix6
-rw-r--r--pkgs/development/libraries/languagemachines/libfolia.nix6
-rw-r--r--pkgs/development/libraries/languagemachines/mbt.nix6
-rw-r--r--pkgs/development/libraries/languagemachines/ticcutils.nix6
-rw-r--r--pkgs/development/libraries/languagemachines/timbl.nix6
-rw-r--r--pkgs/development/libraries/languagemachines/timblserver.nix6
-rw-r--r--pkgs/development/libraries/languagemachines/ucto.nix6
-rw-r--r--pkgs/development/libraries/languagemachines/uctodata.nix6
-rw-r--r--pkgs/development/libraries/lasso/default.nix4
-rw-r--r--pkgs/development/libraries/leatherman/default.nix2
-rw-r--r--pkgs/development/libraries/libHX/default.nix3
-rw-r--r--pkgs/development/libraries/libadwaita/default.nix10
-rw-r--r--pkgs/development/libraries/libappindicator/default.nix4
-rw-r--r--pkgs/development/libraries/libarchive/default.nix9
-rw-r--r--pkgs/development/libraries/libass/default.nix1
-rw-r--r--pkgs/development/libraries/libbluray/default.nix4
-rw-r--r--pkgs/development/libraries/libcangjie/default.nix4
-rw-r--r--pkgs/development/libraries/libcbor/default.nix4
-rw-r--r--pkgs/development/libraries/libcec/default.nix1
-rw-r--r--pkgs/development/libraries/libcec/platform.nix1
-rw-r--r--pkgs/development/libraries/libcollectdclient/default.nix3
-rw-r--r--pkgs/development/libraries/libcrafter/default.nix3
-rw-r--r--pkgs/development/libraries/libdazzle/default.nix45
-rw-r--r--pkgs/development/libraries/libdnet/default.nix3
-rw-r--r--pkgs/development/libraries/libfido2/default.nix4
-rw-r--r--pkgs/development/libraries/libfive/default.nix1
-rw-r--r--pkgs/development/libraries/libgcrypt/1.5.nix1
-rw-r--r--pkgs/development/libraries/libgcrypt/default.nix1
-rw-r--r--pkgs/development/libraries/libgda/default.nix12
-rw-r--r--pkgs/development/libraries/libgnome-games-support/2.0.nix59
-rw-r--r--pkgs/development/libraries/libgnome-games-support/default.nix1
-rw-r--r--pkgs/development/libraries/libgpg-error/default.nix2
-rw-r--r--pkgs/development/libraries/libgphoto2/default.nix4
-rw-r--r--pkgs/development/libraries/libgpod/default.nix51
-rw-r--r--pkgs/development/libraries/libgsf/default.nix59
-rw-r--r--pkgs/development/libraries/libgweather/default.nix33
-rw-r--r--pkgs/development/libraries/libgweather/fix-pkgconfig.patch14
-rw-r--r--pkgs/development/libraries/libhandy/0.x.nix4
-rw-r--r--pkgs/development/libraries/libhandy/default.nix20
-rw-r--r--pkgs/development/libraries/libical/default.nix4
-rw-r--r--pkgs/development/libraries/libidn/default.nix1
-rw-r--r--pkgs/development/libraries/libidn2/default.nix1
-rw-r--r--pkgs/development/libraries/libinput/default.nix24
-rw-r--r--pkgs/development/libraries/libjpeg-turbo/default.nix4
-rw-r--r--pkgs/development/libraries/liblastfm/default.nix1
-rw-r--r--pkgs/development/libraries/libmx/default.nix4
-rw-r--r--pkgs/development/libraries/libnet/default.nix20
-rw-r--r--pkgs/development/libraries/libnet/fix-includes.patch29
-rw-r--r--pkgs/development/libraries/libnetfilter_conntrack/default.nix14
-rw-r--r--pkgs/development/libraries/liboauth/default.nix1
-rw-r--r--pkgs/development/libraries/libosmscout/default.nix2
-rw-r--r--pkgs/development/libraries/libotr/default.nix1
-rw-r--r--pkgs/development/libraries/libowfat/default.nix3
-rw-r--r--pkgs/development/libraries/libpeas/default.nix50
-rw-r--r--pkgs/development/libraries/libportal/default.nix4
-rw-r--r--pkgs/development/libraries/libpwquality/default.nix57
-rw-r--r--pkgs/development/libraries/libpwquality/python-binding-prefix.patch13
-rw-r--r--pkgs/development/libraries/libqb/default.nix4
-rw-r--r--pkgs/development/libraries/libressl/fix-build-with-glibc.patch92
-rw-r--r--pkgs/development/libraries/librest/1.0.nix74
-rw-r--r--pkgs/development/libraries/librest/default.nix1
-rw-r--r--pkgs/development/libraries/librsvg/default.nix17
-rw-r--r--pkgs/development/libraries/libsecret/default.nix111
-rw-r--r--pkgs/development/libraries/libsolv/default.nix4
-rw-r--r--pkgs/development/libraries/libsoup/3.x.nix4
-rw-r--r--pkgs/development/libraries/libspf2/default.nix10
-rw-r--r--pkgs/development/libraries/libstroke/default.nix3
-rw-r--r--pkgs/development/libraries/libtiff/default.nix15
-rw-r--r--pkgs/development/libraries/libusb-compat/0.1.nix1
-rw-r--r--pkgs/development/libraries/libusb1/default.nix15
-rw-r--r--pkgs/development/libraries/libuv/default.nix5
-rw-r--r--pkgs/development/libraries/libva/1.0.0.nix37
-rw-r--r--pkgs/development/libraries/libva/1.nix50
-rw-r--r--pkgs/development/libraries/libva/default.nix8
-rw-r--r--pkgs/development/libraries/libva/utils.nix6
-rw-r--r--pkgs/development/libraries/libvirt/default.nix1
-rw-r--r--pkgs/development/libraries/libwacom/default.nix4
-rw-r--r--pkgs/development/libraries/lief/default.nix4
-rw-r--r--pkgs/development/libraries/live555/default.nix4
-rw-r--r--pkgs/development/libraries/malcontent/default.nix4
-rw-r--r--pkgs/development/libraries/matio/default.nix4
-rw-r--r--pkgs/development/libraries/mesa/default.nix8
-rw-r--r--pkgs/development/libraries/mustache-hpp/default.nix6
-rw-r--r--pkgs/development/libraries/neardal/default.nix4
-rw-r--r--pkgs/development/libraries/nghttp2/default.nix106
-rw-r--r--pkgs/development/libraries/nlopt/default.nix4
-rw-r--r--pkgs/development/libraries/notcurses/default.nix2
-rw-r--r--pkgs/development/libraries/nss/default.nix8
-rw-r--r--pkgs/development/libraries/openldap/default.nix2
-rw-r--r--pkgs/development/libraries/openssl/1.0.2/darwin64-arm64.patch12
-rw-r--r--pkgs/development/libraries/openssl/1.0.2/nix-ssl-cert-file.patch16
-rw-r--r--pkgs/development/libraries/openssl/1.0.2/use-etc-ssl-certs-darwin.patch13
-rw-r--r--pkgs/development/libraries/openssl/1.0.2/use-etc-ssl-certs.patch13
-rw-r--r--pkgs/development/libraries/openssl/chacha.nix82
-rw-r--r--pkgs/development/libraries/openssl/default.nix14
-rw-r--r--pkgs/development/libraries/pango/default.nix13
-rw-r--r--pkgs/development/libraries/pcg-c/default.nix1
-rw-r--r--pkgs/development/libraries/pipewire/default.nix10
-rw-r--r--pkgs/development/libraries/poco/default.nix4
-rw-r--r--pkgs/development/libraries/polkit/default.nix6
-rw-r--r--pkgs/development/libraries/poppler/default.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.12/default.nix14
-rw-r--r--pkgs/development/libraries/qt-5/5.14/default.nix14
-rw-r--r--pkgs/development/libraries/qt-5/5.15/default.nix6
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtbase.nix2
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwayland-app_id.patch36
-rw-r--r--pkgs/development/libraries/qwt/6_1.nix (renamed from pkgs/development/libraries/qwt/6.nix)3
-rw-r--r--pkgs/development/libraries/qwt/default.nix21
-rw-r--r--pkgs/development/libraries/qxt/default.nix34
-rw-r--r--pkgs/development/libraries/rapidcheck/default.nix2
-rw-r--r--pkgs/development/libraries/recastnavigation/default.nix8
-rw-r--r--pkgs/development/libraries/robin-map/default.nix4
-rw-r--r--pkgs/development/libraries/rocm-comgr/default.nix4
-rw-r--r--pkgs/development/libraries/science/astronomy/stellarsolver/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/cudnn/default.nix40
-rw-r--r--pkgs/development/libraries/science/math/cutensor/default.nix47
-rw-r--r--pkgs/development/libraries/science/math/cutensor/generic.nix4
-rw-r--r--pkgs/development/libraries/science/math/nccl/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/suitesparse/default.nix6
-rw-r--r--pkgs/development/libraries/sdbus-cpp/default.nix50
-rw-r--r--pkgs/development/libraries/seasocks/default.nix8
-rw-r--r--pkgs/development/libraries/soci/default.nix2
-rw-r--r--pkgs/development/libraries/spdlog/default.nix13
-rw-r--r--pkgs/development/libraries/sqlite/default.nix6
-rw-r--r--pkgs/development/libraries/sqlite/tools.nix4
-rw-r--r--pkgs/development/libraries/symengine/default.nix5
-rw-r--r--pkgs/development/libraries/tachyon/default.nix4
-rw-r--r--pkgs/development/libraries/taglib/default.nix1
-rw-r--r--pkgs/development/libraries/template-glib/default.nix4
-rw-r--r--pkgs/development/libraries/tinygltf/default.nix32
-rw-r--r--pkgs/development/libraries/tracker-miners/default.nix15
-rw-r--r--pkgs/development/libraries/tracker-miners/fix-paths.patch13
-rw-r--r--pkgs/development/libraries/tracker/default.nix24
-rw-r--r--pkgs/development/libraries/tracker/fix-paths.patch13
-rw-r--r--pkgs/development/libraries/unixODBCDrivers/default.nix2
-rw-r--r--pkgs/development/libraries/vte/default.nix4
-rw-r--r--pkgs/development/libraries/wxwidgets/wxGTK28.nix2
-rw-r--r--pkgs/development/libraries/wxwidgets/wxGTK29.nix1
-rw-r--r--pkgs/development/libraries/wxwidgets/wxGTK30.nix5
-rw-r--r--pkgs/development/libraries/wxwidgets/wxGTK31.nix12
-rw-r--r--pkgs/development/libraries/wxwidgets/wxmac30.nix12
-rw-r--r--pkgs/development/libraries/xalanc/default.nix3
-rw-r--r--pkgs/development/libraries/xcb-util-cursor/HEAD.nix3
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix6
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix3
-rw-r--r--pkgs/development/libraries/zeroc-ice/3.6.nix59
-rw-r--r--pkgs/development/libraries/zeroc-ice/default.nix13
-rw-r--r--pkgs/development/libraries/zeroc-ice/uninitialized-variable-warning.patch20
-rw-r--r--pkgs/development/libraries/zlib/default.nix6
-rw-r--r--pkgs/development/libraries/zlib/disable-cygwin-widechar.patch13
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix2
-rw-r--r--pkgs/development/lisp-modules/shell.nix2
-rw-r--r--pkgs/development/lua-modules/generated-packages.nix24
-rw-r--r--pkgs/development/lua-modules/lib.nix7
-rw-r--r--pkgs/development/lua-modules/overrides.nix56
-rw-r--r--pkgs/development/misc/breakpad/default.nix5
-rw-r--r--pkgs/development/misc/yelp-tools/default.nix4
-rw-r--r--pkgs/development/mobile/genymotion/default.nix3
-rw-r--r--pkgs/development/node-packages/default.nix9
-rw-r--r--pkgs/development/node-packages/node-packages.nix5870
-rw-r--r--pkgs/development/ocaml-modules/asn1-combinators/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/batteries/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/bigarray-compat/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/biniou/1.0.nix2
-rw-r--r--pkgs/development/ocaml-modules/bisect_ppx/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/bolt/default.nix69
-rw-r--r--pkgs/development/ocaml-modules/bos/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/caqti/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/comparelib/default.nix25
-rw-r--r--pkgs/development/ocaml-modules/conduit/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/csv/1.5.nix8
-rw-r--r--pkgs/development/ocaml-modules/directories/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/dune-action-plugin/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/dune-glob/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/dune-private-libs/default.nix10
-rw-r--r--pkgs/development/ocaml-modules/dune-site/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/duration/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/dyn/default.nix16
-rw-r--r--pkgs/development/ocaml-modules/elina/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/eliom/default.nix12
-rw-r--r--pkgs/development/ocaml-modules/enumerate/default.nix31
-rw-r--r--pkgs/development/ocaml-modules/eqaf/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/facile/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/fiat-p256/default.nix33
-rw-r--r--pkgs/development/ocaml-modules/gmetadom/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/hack_parallel/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ipaddr/cstruct.nix2
-rw-r--r--pkgs/development/ocaml-modules/ipaddr/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ipaddr/sexp.nix2
-rw-r--r--pkgs/development/ocaml-modules/iter/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/janestreet/0.14.nix7
-rw-r--r--pkgs/development/ocaml-modules/jingoo/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/lwt-watcher/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/macaddr/cstruct.nix4
-rw-r--r--pkgs/development/ocaml-modules/macaddr/default.nix10
-rw-r--r--pkgs/development/ocaml-modules/macaddr/sexp.nix4
-rw-r--r--pkgs/development/ocaml-modules/magic-mime/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/magick/default.nix34
-rw-r--r--pkgs/development/ocaml-modules/markup/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/mccs/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/mimic/default.nix14
-rw-r--r--pkgs/development/ocaml-modules/mirage-flow/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/mirage-fs/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/mirage-logs/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/mirage-profile/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/mirage-time/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/mlgmpidl/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/nonstd/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/ocaml-libvirt/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/ocplib-endian/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-server/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-start/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ocsipersist/default.nix20
-rw-r--r--pkgs/development/ocaml-modules/ocsipersist/lib.nix27
-rw-r--r--pkgs/development/ocaml-modules/ocsipersist/pgsql.nix24
-rw-r--r--pkgs/development/ocaml-modules/ocsipersist/sqlite.nix23
-rw-r--r--pkgs/development/ocaml-modules/odn/default.nix37
-rw-r--r--pkgs/development/ocaml-modules/odoc-parser/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/opium_kernel/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/ordering/default.nix13
-rw-r--r--pkgs/development/ocaml-modules/owl-base/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/pcap-format/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/pipebang/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/piqi-ocaml/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ppx_cstubs/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/ppx_deriving_protobuf/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/printbox/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/psmt2-frontend/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/routes/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/sawja/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/shared-memory-ring/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/stdune/default.nix16
-rw-r--r--pkgs/development/ocaml-modules/tcpip/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/type_conv/108.08.00.nix31
-rw-r--r--pkgs/development/ocaml-modules/type_conv/109.60.01.nix32
-rw-r--r--pkgs/development/ocaml-modules/type_conv/112.01.01.nix26
-rw-r--r--pkgs/development/ocaml-modules/ulex/default.nix1
-rw-r--r--pkgs/development/ocaml-modules/unionFind/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/uutf/default.nix14
-rw-r--r--pkgs/development/ocaml-modules/wasm/default.nix2
-rw-r--r--pkgs/development/php-packages/composer/default.nix4
-rw-r--r--pkgs/development/php-packages/memcached/default.nix4
-rw-r--r--pkgs/development/php-packages/mongodb/default.nix4
-rw-r--r--pkgs/development/php-packages/phpstan/default.nix4
-rw-r--r--pkgs/development/pure-modules/audio/default.nix24
-rw-r--r--pkgs/development/pure-modules/avahi/default.nix24
-rw-r--r--pkgs/development/pure-modules/csv/default.nix24
-rw-r--r--pkgs/development/pure-modules/doc/default.nix23
-rw-r--r--pkgs/development/pure-modules/fastcgi/default.nix24
-rw-r--r--pkgs/development/pure-modules/faust/default.nix24
-rw-r--r--pkgs/development/pure-modules/ffi/default.nix24
-rw-r--r--pkgs/development/pure-modules/gen/default.nix26
-rw-r--r--pkgs/development/pure-modules/generic-setup-hook.sh2
-rw-r--r--pkgs/development/pure-modules/gl/default.nix27
-rw-r--r--pkgs/development/pure-modules/glpk/default.nix40
-rw-r--r--pkgs/development/pure-modules/gplot/default.nix24
-rw-r--r--pkgs/development/pure-modules/gsl/default.nix24
-rw-r--r--pkgs/development/pure-modules/gtk/default.nix24
-rw-r--r--pkgs/development/pure-modules/liblo/default.nix24
-rw-r--r--pkgs/development/pure-modules/lilv/default.nix24
-rw-r--r--pkgs/development/pure-modules/lv2/default.nix24
-rw-r--r--pkgs/development/pure-modules/midi/default.nix24
-rw-r--r--pkgs/development/pure-modules/mpfr/default.nix24
-rw-r--r--pkgs/development/pure-modules/octave/default.nix26
-rw-r--r--pkgs/development/pure-modules/odbc/default.nix24
-rw-r--r--pkgs/development/pure-modules/pandoc/default.nix28
-rw-r--r--pkgs/development/pure-modules/rational/default.nix24
-rw-r--r--pkgs/development/pure-modules/readline/default.nix24
-rw-r--r--pkgs/development/pure-modules/sockets/default.nix24
-rw-r--r--pkgs/development/pure-modules/sql3/default.nix24
-rw-r--r--pkgs/development/pure-modules/stldict/default.nix30
-rw-r--r--pkgs/development/pure-modules/stllib/default.nix30
-rw-r--r--pkgs/development/pure-modules/tk/default.nix24
-rw-r--r--pkgs/development/pure-modules/xml/default.nix24
-rw-r--r--pkgs/development/python-modules/Cython/default.nix11
-rw-r--r--pkgs/development/python-modules/Fabric/default.nix4
-rw-r--r--pkgs/development/python-modules/XlsxWriter/default.nix38
-rw-r--r--pkgs/development/python-modules/adafruit-platformdetect/default.nix4
-rw-r--r--pkgs/development/python-modules/adblock/default.nix8
-rw-r--r--pkgs/development/python-modules/add-trailing-comma/default.nix41
-rw-r--r--pkgs/development/python-modules/affine/default.nix4
-rw-r--r--pkgs/development/python-modules/afsapi/default.nix4
-rw-r--r--pkgs/development/python-modules/aioairzone/default.nix4
-rw-r--r--pkgs/development/python-modules/aioftp/default.nix4
-rw-r--r--pkgs/development/python-modules/aiogithubapi/default.nix13
-rw-r--r--pkgs/development/python-modules/aioguardian/default.nix4
-rw-r--r--pkgs/development/python-modules/aiohttp/default.nix4
-rw-r--r--pkgs/development/python-modules/aiohue/default.nix27
-rw-r--r--pkgs/development/python-modules/aionotify/default.nix5
-rw-r--r--pkgs/development/python-modules/aiosmb/default.nix18
-rw-r--r--pkgs/development/python-modules/aiowebostv/default.nix4
-rw-r--r--pkgs/development/python-modules/alembic/default.nix4
-rw-r--r--pkgs/development/python-modules/amazon-ion/default.nix47
-rw-r--r--pkgs/development/python-modules/androidtv/default.nix4
-rw-r--r--pkgs/development/python-modules/ansi/default.nix28
-rw-r--r--pkgs/development/python-modules/ansi2html/default.nix5
-rw-r--r--pkgs/development/python-modules/ansible-compat/default.nix66
-rw-r--r--pkgs/development/python-modules/ansible-doctor/default.nix69
-rw-r--r--pkgs/development/python-modules/ansible-later/default.nix83
-rw-r--r--pkgs/development/python-modules/ansible-lint/default.nix31
-rw-r--r--pkgs/development/python-modules/ansible-runner/default.nix4
-rw-r--r--pkgs/development/python-modules/anybadge/default.nix4
-rw-r--r--pkgs/development/python-modules/anyconfig/default.nix48
-rw-r--r--pkgs/development/python-modules/anyio/default.nix13
-rw-r--r--pkgs/development/python-modules/apache-airflow/default.nix4
-rw-r--r--pkgs/development/python-modules/apache-beam/default.nix4
-rw-r--r--pkgs/development/python-modules/approvaltests/default.nix4
-rw-r--r--pkgs/development/python-modules/apsw/default.nix8
-rw-r--r--pkgs/development/python-modules/apycula/default.nix4
-rw-r--r--pkgs/development/python-modules/arrow/default.nix4
-rw-r--r--pkgs/development/python-modules/arviz/default.nix4
-rw-r--r--pkgs/development/python-modules/asdf/default.nix4
-rw-r--r--pkgs/development/python-modules/aspy-refactor-imports/default.nix34
-rw-r--r--pkgs/development/python-modules/astropy/default.nix4
-rw-r--r--pkgs/development/python-modules/async-lru/default.nix4
-rw-r--r--pkgs/development/python-modules/asyncmy/default.nix4
-rw-r--r--pkgs/development/python-modules/asyncsleepiq/default.nix4
-rw-r--r--pkgs/development/python-modules/asyncssh/default.nix4
-rw-r--r--pkgs/development/python-modules/asyncstdlib/default.nix11
-rw-r--r--pkgs/development/python-modules/atomman/default.nix18
-rw-r--r--pkgs/development/python-modules/auth0-python/default.nix4
-rw-r--r--pkgs/development/python-modules/authcaptureproxy/default.nix4
-rw-r--r--pkgs/development/python-modules/autobahn/default.nix4
-rw-r--r--pkgs/development/python-modules/aws-adfs/default.nix4
-rw-r--r--pkgs/development/python-modules/awscrt/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-common/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-core/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-identity/default.nix5
-rw-r--r--pkgs/development/python-modules/azure-keyvault-administration/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-keyvault-certificates/default.nix17
-rw-r--r--pkgs/development/python-modules/azure-keyvault-keys/default.nix23
-rw-r--r--pkgs/development/python-modules/azure-keyvault-secrets/default.nix17
-rw-r--r--pkgs/development/python-modules/azure-keyvault/default.nix13
-rw-r--r--pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-cognitiveservices/default.nix12
-rw-r--r--pkgs/development/python-modules/azure-mgmt-containerservice/default.nix15
-rw-r--r--pkgs/development/python-modules/azure-mgmt-kusto/azure-mgmt-apimanagement/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix2
-rw-r--r--pkgs/development/python-modules/azure-mgmt-media/default.nix16
-rw-r--r--pkgs/development/python-modules/azure-mgmt-resource/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-signalr/default.nix10
-rw-r--r--pkgs/development/python-modules/azure-mgmt-trafficmanager/default.nix6
-rw-r--r--pkgs/development/python-modules/azure-servicebus/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-storage-blob/default.nix4
-rw-r--r--pkgs/development/python-modules/backports-zoneinfo/default.nix3
-rw-r--r--pkgs/development/python-modules/backports_functools_lru_cache/default.nix12
-rw-r--r--pkgs/development/python-modules/basemap/default.nix4
-rw-r--r--pkgs/development/python-modules/bc-python-hcl2/default.nix4
-rw-r--r--pkgs/development/python-modules/behave/default.nix4
-rw-r--r--pkgs/development/python-modules/bidict/default.nix4
-rw-r--r--pkgs/development/python-modules/bids-validator/default.nix4
-rw-r--r--pkgs/development/python-modules/bip_utils/default.nix4
-rw-r--r--pkgs/development/python-modules/bitbox02/default.nix4
-rw-r--r--pkgs/development/python-modules/bitcoin-price-api/default.nix24
-rw-r--r--pkgs/development/python-modules/bitcoinlib/default.nix2
-rw-r--r--pkgs/development/python-modules/bjoern/default.nix15
-rw-r--r--pkgs/development/python-modules/blessed/default.nix4
-rw-r--r--pkgs/development/python-modules/blis/default.nix4
-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/bottleneck/default.nix4
-rw-r--r--pkgs/development/python-modules/boxx/default.nix4
-rw-r--r--pkgs/development/python-modules/bsblan/default.nix15
-rw-r--r--pkgs/development/python-modules/buildbot/default.nix3
-rw-r--r--pkgs/development/python-modules/can/default.nix9
-rw-r--r--pkgs/development/python-modules/capstone/default.nix4
-rw-r--r--pkgs/development/python-modules/cattrs/default.nix8
-rw-r--r--pkgs/development/python-modules/cbor2/default.nix4
-rw-r--r--pkgs/development/python-modules/cdcs/default.nix4
-rw-r--r--pkgs/development/python-modules/certbot/default.nix4
-rw-r--r--pkgs/development/python-modules/chalice/default.nix4
-rw-r--r--pkgs/development/python-modules/chiavdf/default.nix4
-rw-r--r--pkgs/development/python-modules/ciscoconfparse/default.nix1
-rw-r--r--pkgs/development/python-modules/click/default.nix16
-rw-r--r--pkgs/development/python-modules/clldutils/default.nix10
-rw-r--r--pkgs/development/python-modules/cloudflare/default.nix15
-rw-r--r--pkgs/development/python-modules/cma/default.nix4
-rw-r--r--pkgs/development/python-modules/cmd2/default.nix4
-rw-r--r--pkgs/development/python-modules/collections-extended/default.nix4
-rw-r--r--pkgs/development/python-modules/commoncode/default.nix7
-rw-r--r--pkgs/development/python-modules/construct/default.nix4
-rw-r--r--pkgs/development/python-modules/convertdate/default.nix17
-rw-r--r--pkgs/development/python-modules/coqui-trainer/default.nix21
-rw-r--r--pkgs/development/python-modules/coverage/default.nix4
-rw-r--r--pkgs/development/python-modules/cssselect2/default.nix10
-rw-r--r--pkgs/development/python-modules/cupy/default.nix11
-rw-r--r--pkgs/development/python-modules/cvxopt/default.nix4
-rw-r--r--pkgs/development/python-modules/cx_freeze/default.nix4
-rw-r--r--pkgs/development/python-modules/cyclonedx-python-lib/default.nix4
-rw-r--r--pkgs/development/python-modules/dash/default.nix4
-rw-r--r--pkgs/development/python-modules/dask/default.nix4
-rw-r--r--pkgs/development/python-modules/datadog/default.nix10
-rw-r--r--pkgs/development/python-modules/datasets/default.nix4
-rw-r--r--pkgs/development/python-modules/datasette/default.nix4
-rw-r--r--pkgs/development/python-modules/datatable/default.nix12
-rw-r--r--pkgs/development/python-modules/debugpy/default.nix4
-rw-r--r--pkgs/development/python-modules/deep-translator/default.nix4
-rw-r--r--pkgs/development/python-modules/deepdiff/default.nix9
-rw-r--r--pkgs/development/python-modules/desktop-notifier/default.nix5
-rw-r--r--pkgs/development/python-modules/detect-secrets/default.nix4
-rw-r--r--pkgs/development/python-modules/devtools/default.nix7
-rw-r--r--pkgs/development/python-modules/diff-cover/default.nix6
-rw-r--r--pkgs/development/python-modules/distributed/default.nix4
-rw-r--r--pkgs/development/python-modules/distro/default.nix4
-rw-r--r--pkgs/development/python-modules/django-appconf/default.nix45
-rw-r--r--pkgs/development/python-modules/django-raster/default.nix4
-rw-r--r--pkgs/development/python-modules/django-statici18n/default.nix4
-rw-r--r--pkgs/development/python-modules/django-widget-tweaks/default.nix41
-rw-r--r--pkgs/development/python-modules/django/1.10-gis-libs.template.patch24
-rw-r--r--pkgs/development/python-modules/django/2.nix39
-rw-r--r--pkgs/development/python-modules/django_appconf/default.nix35
-rw-r--r--pkgs/development/python-modules/django_compressor/default.nix4
-rw-r--r--pkgs/development/python-modules/django_contrib_comments/default.nix4
-rw-r--r--pkgs/development/python-modules/django_reversion/default.nix4
-rw-r--r--pkgs/development/python-modules/dm-haiku/default.nix7
-rw-r--r--pkgs/development/python-modules/dnspython/default.nix14
-rw-r--r--pkgs/development/python-modules/doit/default.nix7
-rw-r--r--pkgs/development/python-modules/dotmap/default.nix16
-rw-r--r--pkgs/development/python-modules/dropbox/default.nix4
-rw-r--r--pkgs/development/python-modules/dulwich/default.nix4
-rw-r--r--pkgs/development/python-modules/dunamai/default.nix4
-rw-r--r--pkgs/development/python-modules/dynalite-devices/default.nix4
-rw-r--r--pkgs/development/python-modules/easygui/default.nix8
-rw-r--r--pkgs/development/python-modules/easyprocess/default.nix4
-rw-r--r--pkgs/development/python-modules/editorconfig/default.nix18
-rw-r--r--pkgs/development/python-modules/einops/default.nix6
-rw-r--r--pkgs/development/python-modules/elastic-apm/default.nix4
-rw-r--r--pkgs/development/python-modules/elegy/default.nix12
-rw-r--r--pkgs/development/python-modules/elkm1-lib/default.nix8
-rw-r--r--pkgs/development/python-modules/entrypoints/default.nix29
-rw-r--r--pkgs/development/python-modules/env-canada/default.nix4
-rw-r--r--pkgs/development/python-modules/etuples/default.nix6
-rw-r--r--pkgs/development/python-modules/evdev/default.nix4
-rw-r--r--pkgs/development/python-modules/faker/default.nix4
-rw-r--r--pkgs/development/python-modules/fakeredis/default.nix23
-rw-r--r--pkgs/development/python-modules/faraday-plugins/default.nix4
-rw-r--r--pkgs/development/python-modules/fastapi/default.nix4
-rw-r--r--pkgs/development/python-modules/fastcore/default.nix4
-rw-r--r--pkgs/development/python-modules/fasteners/default.nix37
-rw-r--r--pkgs/development/python-modules/filelock/default.nix4
-rw-r--r--pkgs/development/python-modules/findpython/default.nix53
-rw-r--r--pkgs/development/python-modules/flake8-bugbear/default.nix4
-rw-r--r--pkgs/development/python-modules/flask-compress/default.nix34
-rw-r--r--pkgs/development/python-modules/flask-security-too/default.nix4
-rw-r--r--pkgs/development/python-modules/flask/default.nix4
-rw-r--r--pkgs/development/python-modules/flax/default.nix3
-rw-r--r--pkgs/development/python-modules/fonttools/default.nix4
-rw-r--r--pkgs/development/python-modules/frozendict/default.nix4
-rw-r--r--pkgs/development/python-modules/fs/default.nix4
-rw-r--r--pkgs/development/python-modules/ftfy/default.nix10
-rw-r--r--pkgs/development/python-modules/gaphas/default.nix4
-rw-r--r--pkgs/development/python-modules/gcovr/default.nix13
-rw-r--r--pkgs/development/python-modules/genshi/default.nix4
-rw-r--r--pkgs/development/python-modules/geojson-client/default.nix4
-rw-r--r--pkgs/development/python-modules/gidgethub/default.nix4
-rw-r--r--pkgs/development/python-modules/github3_py/default.nix4
-rw-r--r--pkgs/development/python-modules/glean-parser/default.nix42
-rw-r--r--pkgs/development/python-modules/glean-sdk/default.nix41
-rw-r--r--pkgs/development/python-modules/goodwe/default.nix4
-rw-r--r--pkgs/development/python-modules/google-api-python-client/default.nix4
-rw-r--r--pkgs/development/python-modules/google-auth-oauthlib/default.nix4
-rw-r--r--pkgs/development/python-modules/google-auth/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery/default.nix3
-rw-r--r--pkgs/development/python-modules/google-cloud-container/default.nix21
-rw-r--r--pkgs/development/python-modules/google-cloud-core/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-secret-manager/default.nix8
-rw-r--r--pkgs/development/python-modules/google-cloud-speech/default.nix2
-rw-r--r--pkgs/development/python-modules/google-cloud-vision/default.nix4
-rw-r--r--pkgs/development/python-modules/google-nest-sdm/default.nix4
-rw-r--r--pkgs/development/python-modules/google-re2/default.nix29
-rw-r--r--pkgs/development/python-modules/googleapis-common-protos/default.nix4
-rw-r--r--pkgs/development/python-modules/gphoto2/default.nix4
-rw-r--r--pkgs/development/python-modules/graphql-relay/default.nix4
-rw-r--r--pkgs/development/python-modules/graphql-subscription-manager/default.nix4
-rw-r--r--pkgs/development/python-modules/graphviz/default.nix4
-rw-r--r--pkgs/development/python-modules/graspologic/default.nix4
-rw-r--r--pkgs/development/python-modules/grpcio-status/default.nix4
-rw-r--r--pkgs/development/python-modules/grpcio-tools/default.nix4
-rw-r--r--pkgs/development/python-modules/gspread/default.nix4
-rw-r--r--pkgs/development/python-modules/gssapi/default.nix4
-rw-r--r--pkgs/development/python-modules/gym/default.nix6
-rw-r--r--pkgs/development/python-modules/h11/default.nix4
-rw-r--r--pkgs/development/python-modules/ha-philipsjs/default.nix4
-rw-r--r--pkgs/development/python-modules/habanero/default.nix44
-rw-r--r--pkgs/development/python-modules/hachoir/default.nix12
-rw-r--r--pkgs/development/python-modules/hacking/default.nix8
-rw-r--r--pkgs/development/python-modules/hahomematic/default.nix4
-rw-r--r--pkgs/development/python-modules/hass-nabucasa/default.nix3
-rw-r--r--pkgs/development/python-modules/hatasmota/default.nix4
-rw-r--r--pkgs/development/python-modules/hatchling/default.nix79
-rw-r--r--pkgs/development/python-modules/hepunits/default.nix31
-rw-r--r--pkgs/development/python-modules/hg-git/default.nix4
-rw-r--r--pkgs/development/python-modules/hmmlearn/default.nix4
-rw-r--r--pkgs/development/python-modules/httpcore/default.nix11
-rw-r--r--pkgs/development/python-modules/httplib2/default.nix8
-rw-r--r--pkgs/development/python-modules/httptools/default.nix4
-rw-r--r--pkgs/development/python-modules/httpx/default.nix4
-rw-r--r--pkgs/development/python-modules/huawei-lte-api/default.nix4
-rw-r--r--pkgs/development/python-modules/huggingface-hub/default.nix4
-rw-r--r--pkgs/development/python-modules/humanize/default.nix4
-rw-r--r--pkgs/development/python-modules/hypothesis/default.nix4
-rw-r--r--pkgs/development/python-modules/hypothesmith/default.nix6
-rw-r--r--pkgs/development/python-modules/hyppo/default.nix4
-rw-r--r--pkgs/development/python-modules/idasen/default.nix8
-rw-r--r--pkgs/development/python-modules/imageio/default.nix39
-rw-r--r--pkgs/development/python-modules/imageio/libgl-path.patch13
-rw-r--r--pkgs/development/python-modules/iminuit/default.nix4
-rw-r--r--pkgs/development/python-modules/immutables/default.nix4
-rw-r--r--pkgs/development/python-modules/importlib-metadata/default.nix6
-rw-r--r--pkgs/development/python-modules/intbitset/default.nix25
-rw-r--r--pkgs/development/python-modules/intbitset/remove-impure-tuning.patch24
-rw-r--r--pkgs/development/python-modules/intensity-normalization/default.nix7
-rw-r--r--pkgs/development/python-modules/invocations/default.nix43
-rw-r--r--pkgs/development/python-modules/ionhash/default.nix38
-rw-r--r--pkgs/development/python-modules/ipykernel/default.nix12
-rw-r--r--pkgs/development/python-modules/ipympl/default.nix4
-rw-r--r--pkgs/development/python-modules/ipyparallel/default.nix4
-rw-r--r--pkgs/development/python-modules/ipython/default.nix4
-rw-r--r--pkgs/development/python-modules/itsdangerous/default.nix4
-rw-r--r--pkgs/development/python-modules/jaraco_itertools/default.nix5
-rw-r--r--pkgs/development/python-modules/jaraco_text/default.nix4
-rw-r--r--pkgs/development/python-modules/jc/default.nix4
-rw-r--r--pkgs/development/python-modules/jinja2/default.nix2
-rw-r--r--pkgs/development/python-modules/joblib/default.nix2
-rw-r--r--pkgs/development/python-modules/jsbeautifier/default.nix40
-rw-r--r--pkgs/development/python-modules/jsonconversion/default.nix26
-rw-r--r--pkgs/development/python-modules/jsondiff/default.nix4
-rw-r--r--pkgs/development/python-modules/jsonpickle/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyter-client/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyter_core/default.nix35
-rw-r--r--pkgs/development/python-modules/jupyterlab-git/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyterlab-lsp/default.nix4
-rw-r--r--pkgs/development/python-modules/keepalive/default.nix1
-rw-r--r--pkgs/development/python-modules/keras/default.nix4
-rw-r--r--pkgs/development/python-modules/keystoneauth1/default.nix4
-rw-r--r--pkgs/development/python-modules/kubernetes/default.nix2
-rw-r--r--pkgs/development/python-modules/labelbox/default.nix6
-rw-r--r--pkgs/development/python-modules/lektor/default.nix13
-rw-r--r--pkgs/development/python-modules/levenshtein/default.nix4
-rw-r--r--pkgs/development/python-modules/libcloud/default.nix4
-rw-r--r--pkgs/development/python-modules/libcst/default.nix29
-rw-r--r--pkgs/development/python-modules/libevdev/default.nix4
-rw-r--r--pkgs/development/python-modules/libthumbor/default.nix26
-rw-r--r--pkgs/development/python-modules/limits/default.nix4
-rw-r--r--pkgs/development/python-modules/luxtronik/default.nix4
-rw-r--r--pkgs/development/python-modules/lxml/default.nix4
-rw-r--r--pkgs/development/python-modules/lz4/default.nix17
-rw-r--r--pkgs/development/python-modules/maestral/default.nix18
-rw-r--r--pkgs/development/python-modules/magicgui/default.nix4
-rw-r--r--pkgs/development/python-modules/manticore/default.nix4
-rw-r--r--pkgs/development/python-modules/markupsafe/default.nix4
-rw-r--r--pkgs/development/python-modules/matrix-nio/default.nix1
-rw-r--r--pkgs/development/python-modules/mcstatus/default.nix26
-rw-r--r--pkgs/development/python-modules/md-toc/default.nix4
-rw-r--r--pkgs/development/python-modules/meilisearch/default.nix4
-rw-r--r--pkgs/development/python-modules/meshio/default.nix6
-rw-r--r--pkgs/development/python-modules/metar/default.nix14
-rw-r--r--pkgs/development/python-modules/mezzanine/default.nix4
-rw-r--r--pkgs/development/python-modules/minidb/default.nix35
-rw-r--r--pkgs/development/python-modules/minikerberos/default.nix6
-rw-r--r--pkgs/development/python-modules/minio/default.nix4
-rw-r--r--pkgs/development/python-modules/mitmproxy/default.nix3
-rw-r--r--pkgs/development/python-modules/mizani/default.nix6
-rw-r--r--pkgs/development/python-modules/mkdocs-material/default.nix4
-rw-r--r--pkgs/development/python-modules/mlflow/default.nix4
-rw-r--r--pkgs/development/python-modules/mongoengine/default.nix9
-rw-r--r--pkgs/development/python-modules/moonraker-api/default.nix4
-rw-r--r--pkgs/development/python-modules/motionblinds/default.nix4
-rw-r--r--pkgs/development/python-modules/moto/default.nix272
-rw-r--r--pkgs/development/python-modules/msal-extensions/default.nix4
-rw-r--r--pkgs/development/python-modules/msgpack/default.nix21
-rw-r--r--pkgs/development/python-modules/msldap/default.nix13
-rw-r--r--pkgs/development/python-modules/multidict/default.nix4
-rw-r--r--pkgs/development/python-modules/mutagen/default.nix65
-rw-r--r--pkgs/development/python-modules/mypy-boto3-builder/default.nix4
-rw-r--r--pkgs/development/python-modules/mypy/default.nix8
-rw-r--r--pkgs/development/python-modules/napari/default.nix4
-rw-r--r--pkgs/development/python-modules/nassl/default.nix170
-rw-r--r--pkgs/development/python-modules/nbclient/default.nix4
-rw-r--r--pkgs/development/python-modules/nbconvert/default.nix4
-rw-r--r--pkgs/development/python-modules/nbxmpp/default.nix4
-rw-r--r--pkgs/development/python-modules/ndspy/default.nix40
-rw-r--r--pkgs/development/python-modules/nested-lookup/default.nix36
-rw-r--r--pkgs/development/python-modules/net2grid/default.nix4
-rw-r--r--pkgs/development/python-modules/networkx/default.nix4
-rw-r--r--pkgs/development/python-modules/nibabel/default.nix13
-rw-r--r--pkgs/development/python-modules/nilearn/default.nix7
-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/nodeenv/default.nix9
-rw-r--r--pkgs/development/python-modules/nose-cover3/default.nix27
-rw-r--r--pkgs/development/python-modules/notebook/default.nix4
-rw-r--r--pkgs/development/python-modules/notifymuch/default.nix52
-rw-r--r--pkgs/development/python-modules/notmuch2/default.nix (renamed from pkgs/applications/networking/mailreaders/alot/notmuch.nix)6
-rw-r--r--pkgs/development/python-modules/nplusone/default.nix3
-rw-r--r--pkgs/development/python-modules/numba/cuda_path.patch79
-rw-r--r--pkgs/development/python-modules/numba/default.nix37
-rw-r--r--pkgs/development/python-modules/numpydoc/default.nix4
-rw-r--r--pkgs/development/python-modules/nunavut/default.nix4
-rw-r--r--pkgs/development/python-modules/oauthlib/default.nix26
-rw-r--r--pkgs/development/python-modules/obfsproxy/default.nix3
-rw-r--r--pkgs/development/python-modules/objax/default.nix4
-rw-r--r--pkgs/development/python-modules/onnx/default.nix4
-rw-r--r--pkgs/development/python-modules/openai/default.nix2
-rw-r--r--pkgs/development/python-modules/openapi-core/default.nix57
-rw-r--r--pkgs/development/python-modules/openapi-schema-validator/default.nix4
-rw-r--r--pkgs/development/python-modules/openapi-spec-validator/default.nix14
-rw-r--r--pkgs/development/python-modules/opensfm/default.nix11
-rw-r--r--pkgs/development/python-modules/openshift/default.nix4
-rw-r--r--pkgs/development/python-modules/openstackdocstheme/default.nix4
-rw-r--r--pkgs/development/python-modules/optax/default.nix18
-rw-r--r--pkgs/development/python-modules/ordered-set/default.nix37
-rw-r--r--pkgs/development/python-modules/ormar/default.nix4
-rw-r--r--pkgs/development/python-modules/osc-lib/default.nix23
-rw-r--r--pkgs/development/python-modules/oslo-context/default.nix4
-rwxr-xr-xpkgs/development/python-modules/osmnx/default.nix4
-rw-r--r--pkgs/development/python-modules/packageurl-python/default.nix4
-rw-r--r--pkgs/development/python-modules/pandas/default.nix4
-rw-r--r--pkgs/development/python-modules/panel/default.nix4
-rw-r--r--pkgs/development/python-modules/param/default.nix4
-rw-r--r--pkgs/development/python-modules/parameterizedtestcase/default.nix1
-rw-r--r--pkgs/development/python-modules/paramiko/default.nix16
-rw-r--r--pkgs/development/python-modules/parse-type/default.nix6
-rw-r--r--pkgs/development/python-modules/particle/default.nix56
-rw-r--r--pkgs/development/python-modules/passlib/default.nix8
-rw-r--r--pkgs/development/python-modules/pathable/default.nix45
-rw-r--r--pkgs/development/python-modules/pathlib2/default.nix20
-rw-r--r--pkgs/development/python-modules/pdm-pep517/default.nix4
-rw-r--r--pkgs/development/python-modules/peewee/default.nix4
-rw-r--r--pkgs/development/python-modules/pelican/default.nix4
-rw-r--r--pkgs/development/python-modules/perfplot/default.nix4
-rw-r--r--pkgs/development/python-modules/pex/default.nix4
-rw-r--r--pkgs/development/python-modules/pgspecial/default.nix9
-rw-r--r--pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--pkgs/development/python-modules/pikepdf/default.nix10
-rw-r--r--pkgs/development/python-modules/pip/default.nix4
-rw-r--r--pkgs/development/python-modules/plac/default.nix13
-rw-r--r--pkgs/development/python-modules/plaid-python/default.nix4
-rw-r--r--pkgs/development/python-modules/platformdirs/default.nix4
-rw-r--r--pkgs/development/python-modules/plotly/default.nix4
-rw-r--r--pkgs/development/python-modules/plumbum/default.nix8
-rw-r--r--pkgs/development/python-modules/poetry-core/default.nix4
-rw-r--r--pkgs/development/python-modules/pontos/default.nix4
-rw-r--r--pkgs/development/python-modules/pooch/default.nix5
-rw-r--r--pkgs/development/python-modules/portalocker/default.nix4
-rw-r--r--pkgs/development/python-modules/portend/black-19.10b0.patch13
-rw-r--r--pkgs/development/python-modules/portend/default.nix12
-rw-r--r--pkgs/development/python-modules/potentials/default.nix6
-rw-r--r--pkgs/development/python-modules/prettytable/default.nix4
-rw-r--r--pkgs/development/python-modules/prometheus-client/default.nix4
-rw-r--r--pkgs/development/python-modules/promise/default.nix5
-rw-r--r--pkgs/development/python-modules/prompt-toolkit/default.nix4
-rw-r--r--pkgs/development/python-modules/proto-plus/default.nix4
-rw-r--r--pkgs/development/python-modules/proton-client/default.nix2
-rw-r--r--pkgs/development/python-modules/proxy-py/default.nix4
-rw-r--r--pkgs/development/python-modules/publicsuffix2/default.nix24
-rw-r--r--pkgs/development/python-modules/pulsectl/default.nix4
-rw-r--r--pkgs/development/python-modules/py-synologydsm-api/default.nix4
-rw-r--r--pkgs/development/python-modules/py3status/default.nix4
-rw-r--r--pkgs/development/python-modules/pyaussiebb/default.nix4
-rw-r--r--pkgs/development/python-modules/pybind11/default.nix4
-rw-r--r--pkgs/development/python-modules/pybindgen/default.nix42
-rw-r--r--pkgs/development/python-modules/pybluez/default.nix3
-rw-r--r--pkgs/development/python-modules/pybullet/default.nix4
-rw-r--r--pkgs/development/python-modules/pycfmodel/default.nix4
-rw-r--r--pkgs/development/python-modules/pychromecast/default.nix4
-rw-r--r--pkgs/development/python-modules/pycognito/default.nix10
-rw-r--r--pkgs/development/python-modules/pycrypto/default.nix6
-rw-r--r--pkgs/development/python-modules/pycurl/default.nix2
-rw-r--r--pkgs/development/python-modules/pydmd/default.nix7
-rw-r--r--pkgs/development/python-modules/pyeclib/default.nix12
-rw-r--r--pkgs/development/python-modules/pyee/default.nix4
-rw-r--r--pkgs/development/python-modules/pyfaidx/default.nix4
-rw-r--r--pkgs/development/python-modules/pyfakefs/default.nix4
-rw-r--r--pkgs/development/python-modules/pygame/default.nix1
-rw-r--r--pkgs/development/python-modules/pygit2/default.nix4
-rw-r--r--pkgs/development/python-modules/pygls/default.nix3
-rw-r--r--pkgs/development/python-modules/pyicu/default.nix4
-rw-r--r--pkgs/development/python-modules/pyinfra/default.nix4
-rw-r--r--pkgs/development/python-modules/pylama/default.nix18
-rw-r--r--pkgs/development/python-modules/pylint-django/default.nix4
-rw-r--r--pkgs/development/python-modules/pylitterbot/default.nix4
-rw-r--r--pkgs/development/python-modules/pylnk3/default.nix39
-rw-r--r--pkgs/development/python-modules/pymarshal/default.nix13
-rw-r--r--pkgs/development/python-modules/pymatgen/default.nix24
-rw-r--r--pkgs/development/python-modules/pymemcache/default.nix4
-rw-r--r--pkgs/development/python-modules/pymongo/default.nix4
-rw-r--r--pkgs/development/python-modules/pynetgear/default.nix4
-rw-r--r--pkgs/development/python-modules/pynndescent/default.nix10
-rw-r--r--pkgs/development/python-modules/pyomo/default.nix4
-rw-r--r--pkgs/development/python-modules/pyopengl-accelerate/default.nix2
-rw-r--r--pkgs/development/python-modules/pyopengl/default.nix4
-rw-r--r--pkgs/development/python-modules/pyoverkiz/default.nix4
-rw-r--r--pkgs/development/python-modules/pyownet/default.nix4
-rw-r--r--pkgs/development/python-modules/pypandoc/default.nix4
-rw-r--r--pkgs/development/python-modules/pyparsing/default.nix4
-rw-r--r--pkgs/development/python-modules/pypdf3/default.nix4
-rw-r--r--pkgs/development/python-modules/pyperf/default.nix4
-rw-r--r--pkgs/development/python-modules/pypugjs/default.nix4
-rw-r--r--pkgs/development/python-modules/pyqldb/default.nix32
-rw-r--r--pkgs/development/python-modules/pyrect/default.nix4
-rw-r--r--pkgs/development/python-modules/pyres/default.nix19
-rw-r--r--pkgs/development/python-modules/pyrogram/default.nix4
-rw-r--r--pkgs/development/python-modules/pyrsistent/default.nix4
-rw-r--r--pkgs/development/python-modules/pysigma-backend-splunk/default.nix4
-rw-r--r--pkgs/development/python-modules/pysigma/default.nix4
-rw-r--r--pkgs/development/python-modules/pyskyqhub/default.nix4
-rw-r--r--pkgs/development/python-modules/pysnooper/default.nix20
-rw-r--r--pkgs/development/python-modules/pyspark/default.nix4
-rw-r--r--pkgs/development/python-modules/pyspnego/default.nix4
-rw-r--r--pkgs/development/python-modules/pytesseract/default.nix13
-rw-r--r--pkgs/development/python-modules/pytest-asyncio/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-cid/default.nix5
-rw-r--r--pkgs/development/python-modules/pytest-httpx/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-isort/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-mpl/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-mypy/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-pythonpath/default.nix26
-rw-r--r--pkgs/development/python-modules/pytest-regressions/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-relaxed/default.nix2
-rw-r--r--pkgs/development/python-modules/pytest-runner/default.nix19
-rw-r--r--pkgs/development/python-modules/pytest-socket/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-subtests/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-testmon/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-timeout/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest/default.nix19
-rw-r--r--pkgs/development/python-modules/python-awair/default.nix4
-rw-r--r--pkgs/development/python-modules/python-box/default.nix4
-rw-r--r--pkgs/development/python-modules/python-cinderclient/default.nix4
-rw-r--r--pkgs/development/python-modules/python-crfsuite/default.nix4
-rw-r--r--pkgs/development/python-modules/python-daemon/default.nix5
-rw-r--r--pkgs/development/python-modules/python-dbusmock/default.nix4
-rw-r--r--pkgs/development/python-modules/python-gitlab/default.nix4
-rw-r--r--pkgs/development/python-modules/python-glanceclient/default.nix4
-rw-r--r--pkgs/development/python-modules/python-heatclient/default.nix4
-rw-r--r--pkgs/development/python-modules/python-ironicclient/default.nix4
-rw-r--r--pkgs/development/python-modules/python-manilaclient/default.nix4
-rw-r--r--pkgs/development/python-modules/python-novaclient/default.nix4
-rw-r--r--pkgs/development/python-modules/python-slugify/default.nix4
-rw-r--r--pkgs/development/python-modules/python-snappy/default.nix18
-rw-r--r--pkgs/development/python-modules/python-swiftclient/default.nix4
-rw-r--r--pkgs/development/python-modules/python3-saml/default.nix4
-rw-r--r--pkgs/development/python-modules/pytomlpp/default.nix8
-rw-r--r--pkgs/development/python-modules/pytools/default.nix26
-rw-r--r--pkgs/development/python-modules/pytorch-lightning/default.nix8
-rw-r--r--pkgs/development/python-modules/pytorch-metric-learning/default.nix4
-rw-r--r--pkgs/development/python-modules/pytorch-pfn-extras/default.nix4
-rw-r--r--pkgs/development/python-modules/pytorch/bin.nix5
-rw-r--r--pkgs/development/python-modules/pytorch/binary-hashes.nix65
-rw-r--r--pkgs/development/python-modules/pytorch/breakpad-sigstksz.patch13
-rw-r--r--pkgs/development/python-modules/pytorch/default.nix34
-rwxr-xr-xpkgs/development/python-modules/pytorch/prefetch.sh17
-rw-r--r--pkgs/development/python-modules/pyudev/default.nix8
-rw-r--r--pkgs/development/python-modules/pyuv/default.nix2
-rw-r--r--pkgs/development/python-modules/pyvcf/default.nix1
-rw-r--r--pkgs/development/python-modules/pyverilog/default.nix7
-rw-r--r--pkgs/development/python-modules/pyvesync/default.nix4
-rw-r--r--pkgs/development/python-modules/pyviz-comms/default.nix4
-rw-r--r--pkgs/development/python-modules/pywbem/default.nix4
-rw-r--r--pkgs/development/python-modules/pywebview/default.nix4
-rw-r--r--pkgs/development/python-modules/qiskit-machine-learning/default.nix4
-rw-r--r--pkgs/development/python-modules/qiskit-optimization/default.nix4
-rw-r--r--pkgs/development/python-modules/qutip/default.nix116
-rw-r--r--pkgs/development/python-modules/rasterio/default.nix80
-rw-r--r--pkgs/development/python-modules/readme_renderer/default.nix6
-rw-r--r--pkgs/development/python-modules/redis/default.nix4
-rw-r--r--pkgs/development/python-modules/regex/default.nix4
-rw-r--r--pkgs/development/python-modules/releases/default.nix37
-rw-r--r--pkgs/development/python-modules/reorder-python-imports/default.nix43
-rw-r--r--pkgs/development/python-modules/reportlab/default.nix4
-rw-r--r--pkgs/development/python-modules/requests-aws4auth/default.nix50
-rw-r--r--pkgs/development/python-modules/requests-oauthlib/default.nix4
-rw-r--r--pkgs/development/python-modules/requests/default.nix2
-rw-r--r--pkgs/development/python-modules/respx/default.nix4
-rw-r--r--pkgs/development/python-modules/restfly/default.nix6
-rw-r--r--pkgs/development/python-modules/restructuredtext_lint/default.nix4
-rw-r--r--pkgs/development/python-modules/rich/default.nix8
-rw-r--r--pkgs/development/python-modules/robotframework/default.nix4
-rw-r--r--pkgs/development/python-modules/robotstatuschecker/default.nix2
-rw-r--r--pkgs/development/python-modules/rokuecp/default.nix13
-rw-r--r--pkgs/development/python-modules/s3-credentials/default.nix49
-rw-r--r--pkgs/development/python-modules/s3fs/default.nix4
-rw-r--r--pkgs/development/python-modules/sabyenc3/default.nix4
-rw-r--r--pkgs/development/python-modules/sagemaker/default.nix4
-rw-r--r--pkgs/development/python-modules/samsungtvws/default.nix4
-rw-r--r--pkgs/development/python-modules/sanic-testing/default.nix32
-rw-r--r--pkgs/development/python-modules/sanic-testing/tests.nix26
-rw-r--r--pkgs/development/python-modules/sanic/default.nix11
-rw-r--r--pkgs/development/python-modules/schema-salad/default.nix4
-rw-r--r--pkgs/development/python-modules/scikit-build/default.nix6
-rw-r--r--pkgs/development/python-modules/scikit-fmm/default.nix4
-rw-r--r--pkgs/development/python-modules/scikit-image/default.nix151
-rw-r--r--pkgs/development/python-modules/scipy/default.nix4
-rw-r--r--pkgs/development/python-modules/scmrepo/default.nix9
-rw-r--r--pkgs/development/python-modules/sense-energy/default.nix7
-rw-r--r--pkgs/development/python-modules/sentry-sdk/default.nix2
-rw-r--r--pkgs/development/python-modules/setuptools/default.nix5
-rw-r--r--pkgs/development/python-modules/setuptools/setuptools-distutils-C++.patch216
-rw-r--r--pkgs/development/python-modules/simple-salesforce/default.nix4
-rw-r--r--pkgs/development/python-modules/simplisafe-python/default.nix4
-rw-r--r--pkgs/development/python-modules/sip/default.nix11
-rw-r--r--pkgs/development/python-modules/sip/fix-manylinux-version.patch19
-rw-r--r--pkgs/development/python-modules/smbprotocol/default.nix4
-rw-r--r--pkgs/development/python-modules/snowflake-connector-python/default.nix9
-rw-r--r--pkgs/development/python-modules/social-auth-app-django/default.nix34
-rw-r--r--pkgs/development/python-modules/social-auth-core/default.nix63
-rw-r--r--pkgs/development/python-modules/socksio/default.nix41
-rw-r--r--pkgs/development/python-modules/spacy-loggers/default.nix4
-rw-r--r--pkgs/development/python-modules/spacy-transformers/default.nix4
-rw-r--r--pkgs/development/python-modules/sphinx/default.nix2
-rw-r--r--pkgs/development/python-modules/spyder/default.nix4
-rw-r--r--pkgs/development/python-modules/sqlalchemy/default.nix4
-rw-r--r--pkgs/development/python-modules/sqlmap/default.nix4
-rw-r--r--pkgs/development/python-modules/sslyze/default.nix113
-rw-r--r--pkgs/development/python-modules/starlette/default.nix4
-rw-r--r--pkgs/development/python-modules/stone/default.nix29
-rw-r--r--pkgs/development/python-modules/stripe/default.nix4
-rw-r--r--pkgs/development/python-modules/stumpy/default.nix6
-rw-r--r--pkgs/development/python-modules/subarulink/default.nix4
-rw-r--r--pkgs/development/python-modules/suds-jurko/default.nix1
-rw-r--r--pkgs/development/python-modules/sunpy/default.nix4
-rw-r--r--pkgs/development/python-modules/superqt/default.nix12
-rw-r--r--pkgs/development/python-modules/swift/default.nix4
-rw-r--r--pkgs/development/python-modules/telethon/default.nix2
-rw-r--r--pkgs/development/python-modules/teletype/default.nix5
-rw-r--r--pkgs/development/python-modules/tempora/default.nix53
-rw-r--r--pkgs/development/python-modules/tensorboard/default.nix (renamed from pkgs/development/python-modules/tensorflow-tensorboard/default.nix)14
-rw-r--r--pkgs/development/python-modules/tensorboardx/default.nix6
-rw-r--r--pkgs/development/python-modules/tensorflow-datasets/default.nix7
-rw-r--r--pkgs/development/python-modules/tensorflow-estimator/default.nix4
-rw-r--r--pkgs/development/python-modules/tensorflow-metadata/build.patch9
-rw-r--r--pkgs/development/python-modules/tensorflow-metadata/default.nix9
-rw-r--r--pkgs/development/python-modules/tensorflow-tensorboard/1/default.nix65
-rw-r--r--pkgs/development/python-modules/tensorflow/bin.nix6
-rw-r--r--pkgs/development/python-modules/tensorflow/default.nix71
-rw-r--r--pkgs/development/python-modules/tensorflow/system-protobuf.patch13
-rw-r--r--pkgs/development/python-modules/terminado/default.nix4
-rw-r--r--pkgs/development/python-modules/teslajsonpy/default.nix4
-rw-r--r--pkgs/development/python-modules/test-tube/default.nix4
-rw-r--r--pkgs/development/python-modules/testpath/default.nix10
-rw-r--r--pkgs/development/python-modules/thrift/default.nix4
-rw-r--r--pkgs/development/python-modules/tiledb/default.nix4
-rw-r--r--pkgs/development/python-modules/toggl-cli/default.nix4
-rw-r--r--pkgs/development/python-modules/tomli/default.nix29
-rw-r--r--pkgs/development/python-modules/tomli/fix-backwards-compatibility-load.patch21
-rw-r--r--pkgs/development/python-modules/tomli/tests.nix21
-rw-r--r--pkgs/development/python-modules/tomlkit/default.nix4
-rw-r--r--pkgs/development/python-modules/torch-tb-profiler/default.nix4
-rw-r--r--pkgs/development/python-modules/torchaudio/bin.nix8
-rw-r--r--pkgs/development/python-modules/torchaudio/binary-hashes.nix60
-rwxr-xr-xpkgs/development/python-modules/torchaudio/prefetch.sh17
-rw-r--r--pkgs/development/python-modules/torchvision/bin.nix5
-rw-r--r--pkgs/development/python-modules/torchvision/binary-hashes.nix60
-rwxr-xr-xpkgs/development/python-modules/torchvision/prefetch.sh17
-rw-r--r--pkgs/development/python-modules/tornado/5.nix3
-rw-r--r--pkgs/development/python-modules/towncrier/default.nix12
-rw-r--r--pkgs/development/python-modules/tpm2-pytss/default.nix4
-rw-r--r--pkgs/development/python-modules/tqdm/default.nix4
-rw-r--r--pkgs/development/python-modules/treeo/default.nix23
-rw-r--r--pkgs/development/python-modules/treex/default.nix12
-rw-r--r--pkgs/development/python-modules/trimesh/default.nix4
-rw-r--r--pkgs/development/python-modules/trio/default.nix44
-rw-r--r--pkgs/development/python-modules/trytond/default.nix4
-rw-r--r--pkgs/development/python-modules/tweepy/default.nix4
-rw-r--r--pkgs/development/python-modules/twilio/default.nix14
-rw-r--r--pkgs/development/python-modules/twine/default.nix4
-rw-r--r--pkgs/development/python-modules/twisted/default.nix4
-rw-r--r--pkgs/development/python-modules/txaio/default.nix4
-rw-r--r--pkgs/development/python-modules/typed-settings/default.nix4
-rw-r--r--pkgs/development/python-modules/typeguard/default.nix17
-rw-r--r--pkgs/development/python-modules/types-freezegun/default.nix4
-rw-r--r--pkgs/development/python-modules/types-protobuf/default.nix4
-rw-r--r--pkgs/development/python-modules/types-requests/default.nix4
-rw-r--r--pkgs/development/python-modules/typing-extensions/default.nix4
-rw-r--r--pkgs/development/python-modules/typing-inspect/default.nix14
-rw-r--r--pkgs/development/python-modules/ufo2ft/default.nix4
-rw-r--r--pkgs/development/python-modules/unicorn/default.nix5
-rw-r--r--pkgs/development/python-modules/unicrypto/default.nix37
-rw-r--r--pkgs/development/python-modules/unittest-xml-reporting/default.nix11
-rw-r--r--pkgs/development/python-modules/uproot/default.nix4
-rw-r--r--pkgs/development/python-modules/uvicorn/default.nix4
-rw-r--r--pkgs/development/python-modules/uvloop/default.nix8
-rw-r--r--pkgs/development/python-modules/vertica-python/default.nix45
-rw-r--r--pkgs/development/python-modules/virtualenv/default.nix4
-rw-r--r--pkgs/development/python-modules/voluptuous/default.nix4
-rw-r--r--pkgs/development/python-modules/wandb/default.nix4
-rw-r--r--pkgs/development/python-modules/watchdog/default.nix5
-rw-r--r--pkgs/development/python-modules/weasyprint/default.nix4
-rw-r--r--pkgs/development/python-modules/websocket-client/default.nix4
-rw-r--r--pkgs/development/python-modules/weconnect-mqtt/default.nix4
-rw-r--r--pkgs/development/python-modules/weconnect/default.nix8
-rw-r--r--pkgs/development/python-modules/werkzeug/default.nix4
-rw-r--r--pkgs/development/python-modules/wled/default.nix4
-rw-r--r--pkgs/development/python-modules/wsproto/default.nix4
-rw-r--r--pkgs/development/python-modules/xarray/default.nix4
-rw-r--r--pkgs/development/python-modules/xgboost/default.nix3
-rw-r--r--pkgs/development/python-modules/xmlsec/default.nix10
-rw-r--r--pkgs/development/python-modules/xmltodict/default.nix15
-rw-r--r--pkgs/development/python-modules/xxhash/default.nix4
-rw-r--r--pkgs/development/python-modules/yabadaba/default.nix57
-rw-r--r--pkgs/development/python-modules/youtube-transcript-api/default.nix34
-rw-r--r--pkgs/development/python-modules/yq/default.nix4
-rw-r--r--pkgs/development/python-modules/zarr/default.nix4
-rw-r--r--pkgs/development/python-modules/zeep/default.nix9
-rw-r--r--pkgs/development/python-modules/zigpy-deconz/default.nix4
-rw-r--r--pkgs/development/python-modules/zimports/default.nix4
-rw-r--r--pkgs/development/python-modules/zope_exceptions/default.nix4
-rw-r--r--pkgs/development/python-modules/zopfli/default.nix4
-rwxr-xr-xpkgs/development/python-modules/zstandard/default.nix22
-rw-r--r--pkgs/development/python2-modules/pycairo/default.nix10
-rw-r--r--pkgs/development/r-modules/default.nix8
-rw-r--r--pkgs/development/r-modules/generic-builder.nix2
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix10
-rw-r--r--pkgs/development/tools/analysis/actionlint/default.nix14
-rw-r--r--pkgs/development/tools/analysis/checkov/default.nix9
-rw-r--r--pkgs/development/tools/analysis/cppcheck/default.nix18
-rw-r--r--pkgs/development/tools/analysis/include-what-you-use/default.nix4
-rw-r--r--pkgs/development/tools/analysis/nix-linter/default.nix6
-rw-r--r--pkgs/development/tools/analysis/tflint/default.nix6
-rw-r--r--pkgs/development/tools/analysis/tfsec/default.nix6
-rw-r--r--pkgs/development/tools/bazel-gazelle/default.nix4
-rw-r--r--pkgs/development/tools/buf/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/fac/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/meson/default.nix13
-rw-r--r--pkgs/development/tools/build-managers/meson/do-not-update-ldconfig-cache.patch12
-rw-r--r--pkgs/development/tools/build-managers/meson/fix-gtkdoc-when-using-multiple-apple-frameworks.patch162
-rw-r--r--pkgs/development/tools/build-managers/meson/fix-rpath.patch8
-rw-r--r--pkgs/development/tools/build-managers/shards/default.nix18
-rw-r--r--pkgs/development/tools/buildah/default.nix4
-rw-r--r--pkgs/development/tools/cambalache/default.nix96
-rw-r--r--pkgs/development/tools/clpm/default.nix4
-rw-r--r--pkgs/development/tools/cocoapods/Gemfile (renamed from pkgs/development/mobile/cocoapods/Gemfile)0
-rw-r--r--pkgs/development/tools/cocoapods/Gemfile-beta (renamed from pkgs/development/mobile/cocoapods/Gemfile-beta)0
-rw-r--r--pkgs/development/tools/cocoapods/Gemfile-beta.lock (renamed from pkgs/development/mobile/cocoapods/Gemfile-beta.lock)0
-rw-r--r--pkgs/development/tools/cocoapods/Gemfile.lock (renamed from pkgs/development/mobile/cocoapods/Gemfile.lock)0
-rw-r--r--pkgs/development/tools/cocoapods/default.nix (renamed from pkgs/development/mobile/cocoapods/default.nix)1
-rw-r--r--pkgs/development/tools/cocoapods/gemset-beta.nix (renamed from pkgs/development/mobile/cocoapods/gemset-beta.nix)0
-rw-r--r--pkgs/development/tools/cocoapods/gemset.nix (renamed from pkgs/development/mobile/cocoapods/gemset.nix)0
-rwxr-xr-xpkgs/development/tools/cocoapods/update (renamed from pkgs/development/mobile/cocoapods/update)0
-rw-r--r--pkgs/development/tools/container-linux-config-transpiler/default.nix34
-rw-r--r--pkgs/development/tools/continuous-integration/buildkite-agent/default.nix8
-rw-r--r--pkgs/development/tools/continuous-integration/drone/default.nix10
-rw-r--r--pkgs/development/tools/continuous-integration/fly/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/github-runner/default.nix4
-rw-r--r--pkgs/development/tools/cosmoc/default.nix40
-rw-r--r--pkgs/development/tools/database/prisma-engines/default.nix13
-rw-r--r--pkgs/development/tools/database/sqlfluff/default.nix4
-rw-r--r--pkgs/development/tools/ddosify/default.nix4
-rw-r--r--pkgs/development/tools/deadcode/default.nix2
-rw-r--r--pkgs/development/tools/delve/default.nix2
-rw-r--r--pkgs/development/tools/documentation/doxygen/default.nix21
-rw-r--r--pkgs/development/tools/documentation/gi-docgen/default.nix14
-rw-r--r--pkgs/development/tools/earthly/default.nix6
-rw-r--r--pkgs/development/tools/efm-langserver/default.nix6
-rw-r--r--pkgs/development/tools/electron/default.nix64
-rw-r--r--pkgs/development/tools/electron/generic.nix2
-rw-r--r--pkgs/development/tools/esbuild/default.nix4
-rw-r--r--pkgs/development/tools/gauge/default.nix2
-rw-r--r--pkgs/development/tools/ginkgo/default.nix2
-rw-r--r--pkgs/development/tools/glade/default.nix20
-rw-r--r--pkgs/development/tools/go-motion/default.nix1
-rw-r--r--pkgs/development/tools/gocode-gomod/default.nix2
-rw-r--r--pkgs/development/tools/gocode/default.nix1
-rw-r--r--pkgs/development/tools/gogetdoc/default.nix2
-rw-r--r--pkgs/development/tools/golangci-lint/default.nix6
-rw-r--r--pkgs/development/tools/golint/default.nix2
-rw-r--r--pkgs/development/tools/google-java-format/default.nix4
-rw-r--r--pkgs/development/tools/gotools/default.nix22
-rw-r--r--pkgs/development/tools/govers/default.nix14
-rw-r--r--pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix3
-rw-r--r--pkgs/development/tools/imatix_gsl/default.nix30
-rw-r--r--pkgs/development/tools/ineffassign/default.nix1
-rw-r--r--pkgs/development/tools/interfacer/default.nix31
-rw-r--r--pkgs/development/tools/interfacer/deps.nix29
-rw-r--r--pkgs/development/tools/jbang/default.nix5
-rw-r--r--pkgs/development/tools/jql/default.nix6
-rw-r--r--pkgs/development/tools/just/default.nix6
-rw-r--r--pkgs/development/tools/kaf/default.nix25
-rw-r--r--pkgs/development/tools/kube-aws/default.nix36
-rw-r--r--pkgs/development/tools/kube-linter/default.nix6
-rw-r--r--pkgs/development/tools/kustomize/default.nix6
-rw-r--r--pkgs/development/tools/license_finder/Gemfile2
-rw-r--r--pkgs/development/tools/license_finder/Gemfile.lock26
-rw-r--r--pkgs/development/tools/license_finder/default.nix19
-rw-r--r--pkgs/development/tools/license_finder/gemset.nix74
-rw-r--r--pkgs/development/tools/misc/arcanist/default.nix8
-rw-r--r--pkgs/development/tools/misc/arcanist/dont-require-python3-in-path.patch26
-rw-r--r--pkgs/development/tools/misc/cgdb/default.nix2
-rw-r--r--pkgs/development/tools/misc/clojure-lsp/default.nix10
-rw-r--r--pkgs/development/tools/misc/d-feet/default.nix12
-rw-r--r--pkgs/development/tools/misc/d-spy/default.nix67
-rw-r--r--pkgs/development/tools/misc/distcc/default.nix4
-rw-r--r--pkgs/development/tools/misc/gef/default.nix8
-rw-r--r--pkgs/development/tools/misc/gpshell/default.nix27
-rw-r--r--pkgs/development/tools/misc/grcov/default.nix6
-rw-r--r--pkgs/development/tools/misc/hydra/common.nix4
-rw-r--r--pkgs/development/tools/misc/luarocks/3.7.nix81
-rw-r--r--pkgs/development/tools/misc/luarocks/darwin-3.1.3.patch24
-rw-r--r--pkgs/development/tools/misc/luarocks/default.nix6
-rw-r--r--pkgs/development/tools/misc/luarocks/luarocks-nix.nix4
-rw-r--r--pkgs/development/tools/misc/nix-bisect/default.nix35
-rw-r--r--pkgs/development/tools/misc/nrfutil/default.nix2
-rw-r--r--pkgs/development/tools/misc/patchelf/default.nix4
-rw-r--r--pkgs/development/tools/misc/patchelf/unstable.nix14
-rw-r--r--pkgs/development/tools/misc/strace/default.nix4
-rw-r--r--pkgs/development/tools/misc/texinfo/6.8.nix4
-rw-r--r--pkgs/development/tools/misc/texinfo/common.nix4
-rw-r--r--pkgs/development/tools/misc/texinfo/fix-glibc-2.34.patch186
-rw-r--r--pkgs/development/tools/misc/unused/default.nix6
-rw-r--r--pkgs/development/tools/neil/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/cppo/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/ocamlbuild/default.nix4
-rw-r--r--pkgs/development/tools/oras/default.nix40
-rw-r--r--pkgs/development/tools/pandoc/default.nix26
-rw-r--r--pkgs/development/tools/parsing/hammer/default.nix9
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json8
-rw-r--r--pkgs/development/tools/patatt/default.nix28
-rw-r--r--pkgs/development/tools/phantomjs2/default.nix3
-rw-r--r--pkgs/development/tools/pipenv/default.nix4
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/default.nix42
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/hooks/default.nix7
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/hooks/fixup-hook.sh14
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/hooks/pip-build-hook.sh8
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/lib.nix10
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix22
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix2271
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json1557
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix2294
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix34
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix4
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/default.nix3
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock159
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml7
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json10
-rwxr-xr-xpkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/update11
-rwxr-xr-xpkgs/development/tools/poetry2nix/update5
-rw-r--r--pkgs/development/tools/profiling/sysprof/capture.nix1
-rw-r--r--pkgs/development/tools/profiling/sysprof/default.nix9
-rw-r--r--pkgs/development/tools/profiling/systemtap/default.nix1
-rw-r--r--pkgs/development/tools/pscale/default.nix13
-rw-r--r--pkgs/development/tools/reftools/default.nix2
-rw-r--r--pkgs/development/tools/rocminfo/default.nix3
-rw-r--r--pkgs/development/tools/rust/bootimage/default.nix26
-rw-r--r--pkgs/development/tools/rust/cargo-flash/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-nextest/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-spellcheck/default.nix6
-rw-r--r--pkgs/development/tools/rust/cbindgen/default.nix2
-rw-r--r--pkgs/development/tools/rust/ograc/default.nix21
-rw-r--r--pkgs/development/tools/sentry-cli/default.nix6
-rw-r--r--pkgs/development/tools/skaffold/default.nix4
-rw-r--r--pkgs/development/tools/skopeo/default.nix9
-rw-r--r--pkgs/development/tools/sq/default.nix42
-rw-r--r--pkgs/development/tools/sslmate-agent/default.nix40
-rw-r--r--pkgs/development/tools/stylua/default.nix6
-rw-r--r--pkgs/development/tools/symfony-cli/default.nix6
-rw-r--r--pkgs/development/tools/wails/default.nix6
-rw-r--r--pkgs/development/tools/wp-cli/default.nix1
-rw-r--r--pkgs/development/tools/wrangler/default.nix6
-rw-r--r--pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix14
-rw-r--r--pkgs/development/tools/yq-go/default.nix4
-rw-r--r--pkgs/development/web/cypress/default.nix4
-rw-r--r--pkgs/development/web/flyctl/default.nix6
-rw-r--r--pkgs/development/web/grails/default.nix4
-rw-r--r--pkgs/development/web/insomnia/default.nix7
-rw-r--r--pkgs/development/web/kore/default.nix4
-rw-r--r--pkgs/development/web/nodejs/v17.nix4
-rw-r--r--pkgs/development/web/postman/darwin.nix49
-rw-r--r--pkgs/development/web/postman/default.nix109
-rw-r--r--pkgs/development/web/postman/linux.nix133
-rw-r--r--pkgs/games/2048-in-terminal/default.nix4
-rw-r--r--pkgs/games/airshipper/default.nix7
-rw-r--r--pkgs/games/bugdom/default.nix44
-rw-r--r--pkgs/games/cataclysm-dda/common.nix2
-rw-r--r--pkgs/games/dwarf-fortress/themes/default.nix2
-rw-r--r--pkgs/games/flightgear/default.nix6
-rw-r--r--pkgs/games/garden-of-coloured-lights/default.nix3
-rw-r--r--pkgs/games/gl-117/default.nix3
-rw-r--r--pkgs/games/gnonograms/default.nix10
-rw-r--r--pkgs/games/liberation-circuit/default.nix39
-rw-r--r--pkgs/games/nanosaur/default.nix2
-rw-r--r--pkgs/games/nethack/default.nix11
-rw-r--r--pkgs/games/openmw/default.nix5
-rw-r--r--pkgs/games/openttd/default.nix4
-rw-r--r--pkgs/games/openttd/jgrpp.nix8
-rw-r--r--pkgs/games/openxcom/default.nix1
-rw-r--r--pkgs/games/polymc/default.nix4
-rw-r--r--pkgs/games/qqwing/default.nix3
-rw-r--r--pkgs/games/space-cadet-pinball/default.nix16
-rw-r--r--pkgs/games/spring/springlobby.nix1
-rw-r--r--pkgs/games/steam/fhsenv.nix11
-rw-r--r--pkgs/games/the-butterfly-effect/default.nix3
-rw-r--r--pkgs/games/warzone2100/default.nix4
-rw-r--r--pkgs/games/xtris/default.nix4
-rw-r--r--pkgs/games/zangband/default.nix3
-rw-r--r--pkgs/misc/cups/drivers/cnijfilter2/default.nix3
-rw-r--r--pkgs/misc/cups/drivers/cnijfilter_2_80/default.nix3
-rw-r--r--pkgs/misc/cups/drivers/cnijfilter_4_00/default.nix3
-rw-r--r--pkgs/misc/cups/drivers/mfcl2750dw/default.nix2
-rw-r--r--pkgs/misc/drivers/logiops/default.nix26
-rw-r--r--pkgs/misc/dxvk/darwin-thread-primitives.patch186
-rw-r--r--pkgs/misc/dxvk/default.nix43
-rw-r--r--pkgs/misc/dxvk/dxvk.nix12
-rw-r--r--pkgs/misc/ghostscript/default.nix4
-rw-r--r--pkgs/misc/logging/beats/6.x.nix14
-rw-r--r--pkgs/misc/sndio/default.nix4
-rw-r--r--pkgs/os-specific/darwin/apple-sdk-11.0/frameworks.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix4
-rw-r--r--pkgs/os-specific/darwin/m-cli/default.nix8
-rw-r--r--pkgs/os-specific/darwin/moltenvk/default.nix4
-rw-r--r--pkgs/os-specific/darwin/moltenvk/dxvk-moltenvk-compat.patch (renamed from pkgs/misc/dxvk/darwin-moltenvk-compat.patch)0
-rw-r--r--pkgs/os-specific/linux/apfs/default.nix6
-rw-r--r--pkgs/os-specific/linux/apparmor/default.nix30
-rw-r--r--pkgs/os-specific/linux/autofs/default.nix13
-rw-r--r--pkgs/os-specific/linux/autosuspend/default.nix4
-rw-r--r--pkgs/os-specific/linux/bluez/default.nix1
-rw-r--r--pkgs/os-specific/linux/busybox/default.nix10
-rw-r--r--pkgs/os-specific/linux/conky/default.nix6
-rw-r--r--pkgs/os-specific/linux/conspy/default.nix3
-rw-r--r--pkgs/os-specific/linux/cpupower-gui/default.nix10
-rw-r--r--pkgs/os-specific/linux/cryptsetup/default.nix8
-rw-r--r--pkgs/os-specific/linux/disk-indicator/default.nix9
-rw-r--r--pkgs/os-specific/linux/displaylink/default.nix8
-rw-r--r--pkgs/os-specific/linux/earlyoom/default.nix6
-rw-r--r--pkgs/os-specific/linux/ell/default.nix4
-rw-r--r--pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix5
-rw-r--r--pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix2
-rw-r--r--pkgs/os-specific/linux/fuse/common.nix10
-rw-r--r--pkgs/os-specific/linux/hostapd/default.nix1
-rw-r--r--pkgs/os-specific/linux/i7z/default.nix1
-rw-r--r--pkgs/os-specific/linux/intel-ocl/default.nix6
-rw-r--r--pkgs/os-specific/linux/iwd/default.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix34
-rw-r--r--pkgs/os-specific/linux/kernel/generate-config.pl2
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.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.16.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.17.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/linux-rt-5.10.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-zen.nix7
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix1
-rw-r--r--pkgs/os-specific/linux/kmod/default.nix2
-rw-r--r--pkgs/os-specific/linux/kvdo/default.nix31
-rw-r--r--pkgs/os-specific/linux/ldm/default.nix5
-rw-r--r--pkgs/os-specific/linux/libcap/default.nix11
-rw-r--r--pkgs/os-specific/linux/lvm2/common.nix17
-rw-r--r--pkgs/os-specific/linux/nftables/default.nix20
-rwxr-xr-xpkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh55
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix20
-rw-r--r--pkgs/os-specific/linux/pam_usb/default.nix6
-rw-r--r--pkgs/os-specific/linux/rdma-core/default.nix10
-rw-r--r--pkgs/os-specific/linux/rdma-core/pkg-config-template.patch14
-rw-r--r--pkgs/os-specific/linux/reap/default.nix27
-rw-r--r--pkgs/os-specific/linux/rtl8821au/default.nix6
-rw-r--r--pkgs/os-specific/linux/rtl8821ce/default.nix16
-rw-r--r--pkgs/os-specific/linux/shadow/default.nix6
-rw-r--r--pkgs/os-specific/linux/systemd/0001-Start-device-units-for-uninitialised-encrypted-devic.patch4
-rw-r--r--pkgs/os-specific/linux/systemd/0002-Don-t-try-to-unmount-nix-or-nix-store.patch8
-rw-r--r--pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch10
-rw-r--r--pkgs/os-specific/linux/systemd/0004-Look-for-fsck-in-the-right-place.patch6
-rw-r--r--pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch18
-rw-r--r--pkgs/os-specific/linux/systemd/0006-Get-rid-of-a-useless-message-in-user-sessions.patch8
-rw-r--r--pkgs/os-specific/linux/systemd/0007-hostnamed-localed-timedated-disable-methods-that-cha.patch10
-rw-r--r--pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch4
-rw-r--r--pkgs/os-specific/linux/systemd/0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch22
-rw-r--r--pkgs/os-specific/linux/systemd/0010-localectl-use-etc-X11-xkb-for-list-x11.patch8
-rw-r--r--pkgs/os-specific/linux/systemd/0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch12
-rw-r--r--pkgs/os-specific/linux/systemd/0012-inherit-systemd-environment-when-calling-generators.patch8
-rw-r--r--pkgs/os-specific/linux/systemd/0013-add-rootprefix-to-lookup-dir-paths.patch6
-rw-r--r--pkgs/os-specific/linux/systemd/0014-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch10
-rw-r--r--pkgs/os-specific/linux/systemd/0015-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch6
-rw-r--r--pkgs/os-specific/linux/systemd/0016-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch23
-rw-r--r--pkgs/os-specific/linux/systemd/0017-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch6
-rw-r--r--pkgs/os-specific/linux/systemd/0018-pkg-config-derive-prefix-from-prefix.patch4
-rw-r--r--pkgs/os-specific/linux/systemd/0019-core-handle-lookup-paths-being-symlinks.patch14
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix282
-rw-r--r--pkgs/os-specific/linux/systemd/musl.diff12
-rw-r--r--pkgs/os-specific/linux/tiscamera/default.nix5
-rw-r--r--pkgs/os-specific/linux/upower/default.nix10
-rw-r--r--pkgs/os-specific/linux/util-linux/default.nix4
-rw-r--r--pkgs/os-specific/linux/vdo/default.nix64
-rw-r--r--pkgs/os-specific/linux/x86info/default.nix45
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix18
-rw-r--r--pkgs/pkgs-lib/formats.nix3
-rw-r--r--pkgs/pkgs-lib/formats/java-properties/default.nix114
-rw-r--r--pkgs/pkgs-lib/formats/java-properties/test/Main.java27
-rw-r--r--pkgs/pkgs-lib/formats/java-properties/test/default.nix85
-rw-r--r--pkgs/pkgs-lib/tests/default.nix48
-rw-r--r--pkgs/pkgs-lib/tests/formats.nix25
-rw-r--r--pkgs/servers/amqp/qpid-cpp/default.nix2
-rw-r--r--pkgs/servers/amqp/rabbitmq-server/default.nix4
-rw-r--r--pkgs/servers/atlassian/bamboo.nix37
-rw-r--r--pkgs/servers/calibre-web/default.nix4
-rw-r--r--pkgs/servers/clickhouse/default.nix6
-rw-r--r--pkgs/servers/confluent-platform/default.nix25
-rw-r--r--pkgs/servers/dante/default.nix10
-rw-r--r--pkgs/servers/dendrite/default.nix6
-rw-r--r--pkgs/servers/dict/wiktionary/default.nix4
-rw-r--r--pkgs/servers/dns/bind/default.nix4
-rw-r--r--pkgs/servers/dns/https-dns-proxy/default.nix6
-rw-r--r--pkgs/servers/dns/knot-dns/default.nix4
-rw-r--r--pkgs/servers/dns/pdns-recursor/default.nix4
-rw-r--r--pkgs/servers/dns/pdns/default.nix59
-rw-r--r--pkgs/servers/dns/pdns/version.patch13
-rw-r--r--pkgs/servers/dns/powerdns/default.nix60
-rw-r--r--pkgs/servers/etebase/default.nix5
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix4
-rw-r--r--pkgs/servers/home-assistant/default.nix17
-rw-r--r--pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix4
-rw-r--r--pkgs/servers/http/myserver/default.nix53
-rw-r--r--pkgs/servers/http/myserver/disable-dns-lookup-in-chroot.patch12
-rw-r--r--pkgs/servers/http/spawn-fcgi/default.nix2
-rw-r--r--pkgs/servers/http/trafficserver/default.nix3
-rw-r--r--pkgs/servers/irc/irccat/default.nix22
-rw-r--r--pkgs/servers/keycloak/all-plugins.nix7
-rw-r--r--pkgs/servers/keycloak/default.nix6
-rw-r--r--pkgs/servers/keycloak/keycloak-discord/default.nix29
-rw-r--r--pkgs/servers/keycloak/keycloak-metrics-spi/default.nix26
-rw-r--r--pkgs/servers/keycloak/scim-for-keycloak/default.nix36
-rw-r--r--pkgs/servers/libreddit/default.nix6
-rw-r--r--pkgs/servers/mail/postfix/default.nix7
-rw-r--r--pkgs/servers/mapcache/default.nix4
-rw-r--r--pkgs/servers/mastodon/default.nix19
-rw-r--r--pkgs/servers/mastodon/gemset.nix900
-rw-r--r--pkgs/servers/mastodon/source.nix8
-rwxr-xr-xpkgs/servers/mastodon/update.sh4
-rw-r--r--pkgs/servers/mastodon/version.nix2
-rw-r--r--pkgs/servers/matrix-synapse/default.nix4
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-irc/node-packages.nix2863
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-irc/package.json57
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-irc/src.json9
-rwxr-xr-xpkgs/servers/matrix-synapse/matrix-appservice-irc/update.sh2
-rw-r--r--pkgs/servers/matterbridge/default.nix4
-rw-r--r--pkgs/servers/mattermost/default.nix6
-rw-r--r--pkgs/servers/memcached/default.nix1
-rw-r--r--pkgs/servers/misc/oven-media-engine/default.nix2
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix10
-rw-r--r--pkgs/servers/monitoring/heapster/default.nix28
-rw-r--r--pkgs/servers/monitoring/munin/default.nix5
-rw-r--r--pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix4
-rw-r--r--pkgs/servers/monitoring/net-snmp/default.nix2
-rw-r--r--pkgs/servers/monitoring/prometheus/alertmanager.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/blackbox-exporter.nix15
-rw-r--r--pkgs/servers/monitoring/prometheus/dmarc-exporter/default.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/mesos-exporter.nix23
-rw-r--r--pkgs/servers/monitoring/prometheus/node-exporter.nix12
-rw-r--r--pkgs/servers/monitoring/prometheus/node-exporter/node-exporter-darwin.patch17
-rw-r--r--pkgs/servers/monitoring/prometheus/redis-exporter.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/wireguard-exporter.nix6
-rw-r--r--pkgs/servers/monitoring/telegraf/default.nix6
-rw-r--r--pkgs/servers/monitoring/thanos/default.nix6
-rw-r--r--pkgs/servers/nextcloud/default.nix8
-rw-r--r--pkgs/servers/nominatim/default.nix68
-rw-r--r--pkgs/servers/nosql/arangodb/default.nix10
-rw-r--r--pkgs/servers/nosql/redis/default.nix22
-rw-r--r--pkgs/servers/openxpki/default.nix83
-rw-r--r--pkgs/servers/openxpki/vergen_revision_state12
-rw-r--r--pkgs/servers/owncast/default.nix2
-rw-r--r--pkgs/servers/plex/raw.nix6
-rw-r--r--pkgs/servers/roapi/http.nix55
-rw-r--r--pkgs/servers/roon-bridge/default.nix9
-rw-r--r--pkgs/servers/roon-server/default.nix12
-rw-r--r--pkgs/servers/rt/default.nix2
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgroonga.nix4
-rw-r--r--pkgs/servers/squid/default.nix14
-rw-r--r--pkgs/servers/tautulli/default.nix4
-rw-r--r--pkgs/servers/teleport/0001-fix-add-nix-path-to-exec-env.patch28
-rw-r--r--pkgs/servers/teleport/default.nix1
-rw-r--r--pkgs/servers/traefik/default.nix6
-rw-r--r--pkgs/servers/unifi/default.nix4
-rw-r--r--pkgs/servers/ursadb/default.nix8
-rwxr-xr-xpkgs/servers/web-apps/ethercalc/generate.sh1
-rw-r--r--pkgs/servers/web-apps/ethercalc/node-packages-generated.nix81
-rw-r--r--pkgs/servers/web-apps/ethercalc/node-packages.nix2
-rw-r--r--pkgs/servers/web-apps/frab/Gemfile88
-rw-r--r--pkgs/servers/web-apps/frab/Gemfile.lock329
-rw-r--r--pkgs/servers/web-apps/frab/gemset.nix998
-rw-r--r--pkgs/servers/web-apps/lemmy/server.nix2
-rw-r--r--pkgs/servers/web-apps/mediawiki/default.nix4
-rw-r--r--pkgs/servers/web-apps/netbox/config.patch50
-rw-r--r--pkgs/servers/web-apps/netbox/default.nix117
-rw-r--r--pkgs/servers/web-apps/whitebophir/default.nix5
-rwxr-xr-xpkgs/servers/web-apps/whitebophir/generate.sh6
-rw-r--r--pkgs/servers/web-apps/whitebophir/node-packages-generated.nix278
-rw-r--r--pkgs/servers/web-apps/whitebophir/node-packages.json2
-rw-r--r--pkgs/servers/x11/xorg/xwayland.nix6
-rw-r--r--pkgs/servers/xmpp/openfire/default.nix31
-rw-r--r--pkgs/servers/xmpp/prosody/default.nix12
-rw-r--r--pkgs/servers/zigbee2mqtt/default.nix4
-rw-r--r--pkgs/servers/zigbee2mqtt/node-packages.nix916
-rw-r--r--pkgs/shells/elvish/default.nix6
-rw-r--r--pkgs/shells/fish/default.nix4
-rw-r--r--pkgs/shells/oil/default.nix4
-rw-r--r--pkgs/shells/zsh/oh-my-zsh/default.nix6
-rw-r--r--pkgs/stdenv/darwin/make-bootstrap-tools.nix2
-rw-r--r--pkgs/stdenv/generic/check-meta.nix1
-rw-r--r--pkgs/stdenv/generic/make-derivation.nix9
-rw-r--r--pkgs/stdenv/generic/setup.sh4
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools-cross.nix4
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools.nix3
-rw-r--r--pkgs/test/default.nix3
-rw-r--r--pkgs/test/mkOption/declare.nix53
-rw-r--r--pkgs/test/mkOption/keep.nix11
-rw-r--r--pkgs/test/mkOption/keep.ref57
-rw-r--r--pkgs/test/mkOption/merge.nix15
-rw-r--r--pkgs/test/mkOption/merge.ref20
-rwxr-xr-xpkgs/test/mkOption/test.sh9
-rw-r--r--pkgs/test/nixos-functions/default.nix8
-rw-r--r--pkgs/tools/X11/obconf/default.nix2
-rw-r--r--pkgs/tools/X11/xinput_calibrator/default.nix4
-rw-r--r--pkgs/tools/X11/xkeysnail/browser-emacs-bindings.py34
-rw-r--r--pkgs/tools/X11/xnee/default.nix6
-rw-r--r--pkgs/tools/admin/aliyun-cli/default.nix4
-rw-r--r--pkgs/tools/admin/awscli/default.nix4
-rw-r--r--pkgs/tools/admin/awscli2/default.nix5
-rw-r--r--pkgs/tools/admin/azure-cli/default.nix4
-rw-r--r--pkgs/tools/admin/azure-cli/python-packages.nix67
-rw-r--r--pkgs/tools/admin/certigo/default.nix4
-rw-r--r--pkgs/tools/admin/eksctl/default.nix6
-rw-r--r--pkgs/tools/admin/intecture/agent.nix29
-rw-r--r--pkgs/tools/admin/intecture/auth.nix29
-rw-r--r--pkgs/tools/admin/intecture/cli.nix32
-rw-r--r--pkgs/tools/admin/mycli/default.nix4
-rw-r--r--pkgs/tools/admin/pgadmin/3.nix63
-rw-r--r--pkgs/tools/admin/pgadmin/default.nix12
-rw-r--r--pkgs/tools/admin/pgadmin/package.json17
-rw-r--r--pkgs/tools/admin/pgadmin/yarn.lock1556
-rw-r--r--pkgs/tools/admin/pgadmin/yarn.nix1408
-rw-r--r--pkgs/tools/admin/pulumi/data.nix290
-rwxr-xr-xpkgs/tools/admin/pulumi/update.sh2
-rw-r--r--pkgs/tools/admin/salt/default.nix6
-rw-r--r--pkgs/tools/admin/stripe-cli/default.nix1
-rw-r--r--pkgs/tools/admin/syft/default.nix6
-rw-r--r--pkgs/tools/admin/trivy/default.nix6
-rw-r--r--pkgs/tools/archivers/rar/default.nix24
-rw-r--r--pkgs/tools/audio/botamusique/default.nix2
-rw-r--r--pkgs/tools/audio/mpdcron/default.nix3
-rw-r--r--pkgs/tools/audio/opl3bankeditor/common.nix6
-rw-r--r--pkgs/tools/audio/pa-applet/default.nix13
-rw-r--r--pkgs/tools/audio/tts/default.nix2
-rw-r--r--pkgs/tools/backup/autorestic/default.nix4
-rw-r--r--pkgs/tools/backup/bacula/default.nix4
-rw-r--r--pkgs/tools/backup/bareos/default.nix82
-rw-r--r--pkgs/tools/backup/ddar/default.nix40
-rw-r--r--pkgs/tools/backup/ori/default.nix29
-rw-r--r--pkgs/tools/backup/restic/default.nix6
-rw-r--r--pkgs/tools/backup/tarsnap/default.nix5
-rw-r--r--pkgs/tools/backup/tsm-client/default.nix4
-rw-r--r--pkgs/tools/backup/zrepl/default.nix7
-rw-r--r--pkgs/tools/bluetooth/blueberry/default.nix2
-rw-r--r--pkgs/tools/cd-dvd/ventoy-bin/add-mips64.patch5
-rw-r--r--pkgs/tools/cd-dvd/ventoy-bin/default.nix78
-rw-r--r--pkgs/tools/cd-dvd/ventoy-bin/fix-for-read-only-file-system.patch96
-rw-r--r--pkgs/tools/compression/bzip2/default.nix4
-rw-r--r--pkgs/tools/compression/lrzip/default.nix4
-rw-r--r--pkgs/tools/compression/pixz/default.nix4
-rw-r--r--pkgs/tools/filesystems/bcachefs-tools/default.nix6
-rw-r--r--pkgs/tools/filesystems/btrfs-progs/default.nix4
-rw-r--r--pkgs/tools/filesystems/buttersink/default.nix30
-rw-r--r--pkgs/tools/filesystems/djmount/default.nix8
-rw-r--r--pkgs/tools/filesystems/eiciel/default.nix56
-rw-r--r--pkgs/tools/filesystems/fuse-7z-ng/default.nix4
-rw-r--r--pkgs/tools/filesystems/glusterfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/grive2/default.nix2
-rw-r--r--pkgs/tools/filesystems/littlefs-fuse/default.nix26
-rw-r--r--pkgs/tools/filesystems/securefs/default.nix4
-rw-r--r--pkgs/tools/filesystems/xfsdump/default.nix59
-rw-r--r--pkgs/tools/filesystems/xfsprogs/default.nix8
-rw-r--r--pkgs/tools/filesystems/xtreemfs/default.nix2
-rw-r--r--pkgs/tools/graphics/pgf/default.nix3
-rw-r--r--pkgs/tools/graphics/povray/default.nix4
-rw-r--r--pkgs/tools/graphics/sic-image-cli/default.nix6
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix1
-rw-r--r--pkgs/tools/inputmethods/ibus/default.nix4
-rw-r--r--pkgs/tools/inputmethods/touchegg/default.nix4
-rw-r--r--pkgs/tools/misc/antimicrox/default.nix2
-rw-r--r--pkgs/tools/misc/aspcud/default.nix7
-rw-r--r--pkgs/tools/misc/bonfire/default.nix49
-rw-r--r--pkgs/tools/misc/chezmoi/default.nix6
-rw-r--r--pkgs/tools/misc/cunit/default.nix4
-rw-r--r--pkgs/tools/misc/debootstrap/default.nix13
-rw-r--r--pkgs/tools/misc/diffoscope/default.nix4
-rw-r--r--pkgs/tools/misc/direnv/default.nix7
-rw-r--r--pkgs/tools/misc/disper/default.nix36
-rw-r--r--pkgs/tools/misc/dsq/default.nix60
-rw-r--r--pkgs/tools/misc/esphome/default.nix4
-rw-r--r--pkgs/tools/misc/esptool/default.nix4
-rw-r--r--pkgs/tools/misc/ethtool/default.nix4
-rw-r--r--pkgs/tools/misc/fclones/default.nix6
-rw-r--r--pkgs/tools/misc/findutils/default.nix2
-rw-r--r--pkgs/tools/misc/fontforge/default.nix20
-rw-r--r--pkgs/tools/misc/fwup/default.nix5
-rw-r--r--pkgs/tools/misc/fzf/default.nix4
-rw-r--r--pkgs/tools/misc/gnokii/default.nix26
-rw-r--r--pkgs/tools/misc/goaccess/default.nix4
-rw-r--r--pkgs/tools/misc/gotify-desktop/default.nix6
-rw-r--r--pkgs/tools/misc/gparted/default.nix4
-rw-r--r--pkgs/tools/misc/gummy/default.nix66
-rw-r--r--pkgs/tools/misc/kak-lsp/default.nix6
-rw-r--r--pkgs/tools/misc/kisslicer/default.nix5
-rw-r--r--pkgs/tools/misc/ldapvi/default.nix4
-rw-r--r--pkgs/tools/misc/ldmtool/default.nix4
-rw-r--r--pkgs/tools/misc/logstash/6.x.nix6
-rw-r--r--pkgs/tools/misc/logstash/7.x.nix5
-rw-r--r--pkgs/tools/misc/mc/default.nix7
-rw-r--r--pkgs/tools/misc/mcfly/default.nix6
-rw-r--r--pkgs/tools/misc/mht2htm/default.nix44
-rw-r--r--pkgs/tools/misc/mmctl/default.nix4
-rw-r--r--pkgs/tools/misc/mongodb-compass/default.nix4
-rw-r--r--pkgs/tools/misc/nbench/default.nix12
-rw-r--r--pkgs/tools/misc/nix-direnv/default.nix4
-rw-r--r--pkgs/tools/misc/ntfy-sh/default.nix28
-rw-r--r--pkgs/tools/misc/onefetch/default.nix12
-rw-r--r--pkgs/tools/misc/onefetch/zstd-pkg-config.patch2
-rw-r--r--pkgs/tools/misc/opentsdb/default.nix4
-rw-r--r--pkgs/tools/misc/ostree/default.nix4
-rw-r--r--pkgs/tools/misc/pandoc-include/default.nix30
-rw-r--r--pkgs/tools/misc/parallel/default.nix4
-rw-r--r--pkgs/tools/misc/plfit/default.nix54
-rw-r--r--pkgs/tools/misc/pre-commit/default.nix119
-rw-r--r--pkgs/tools/misc/proxytunnel/default.nix22
-rw-r--r--pkgs/tools/misc/remind/default.nix4
-rw-r--r--pkgs/tools/misc/rpm-ostree/default.nix4
-rw-r--r--pkgs/tools/misc/sam-ba/default.nix53
-rw-r--r--pkgs/tools/misc/scrub/default.nix3
-rw-r--r--pkgs/tools/misc/smug/default.nix12
-rw-r--r--pkgs/tools/misc/snapper/default.nix4
-rw-r--r--pkgs/tools/misc/somafm-cli/default.nix1
-rw-r--r--pkgs/tools/misc/starship/default.nix9
-rw-r--r--pkgs/tools/misc/statserial/default.nix2
-rw-r--r--pkgs/tools/misc/teleconsole/default.nix41
-rw-r--r--pkgs/tools/misc/topgrade/default.nix6
-rw-r--r--pkgs/tools/misc/uutils-coreutils/default.nix6
-rw-r--r--pkgs/tools/misc/xvfb-run/default.nix62
-rwxr-xr-xpkgs/tools/misc/xvfb-run/update.sh21
-rw-r--r--pkgs/tools/misc/zellij/default.nix6
-rw-r--r--pkgs/tools/networking/aardvark-dns/default.nix16
-rw-r--r--pkgs/tools/networking/amass/default.nix6
-rw-r--r--pkgs/tools/networking/babeld/default.nix4
-rw-r--r--pkgs/tools/networking/bud/default.nix39
-rw-r--r--pkgs/tools/networking/carddav-util/default.nix9
-rw-r--r--pkgs/tools/networking/chrony/default.nix1
-rw-r--r--pkgs/tools/networking/curl/default.nix4
-rw-r--r--pkgs/tools/networking/drill/default.nix3
-rw-r--r--pkgs/tools/networking/eternal-terminal/default.nix7
-rw-r--r--pkgs/tools/networking/findomain/default.nix6
-rw-r--r--pkgs/tools/networking/frp/default.nix6
-rw-r--r--pkgs/tools/networking/godns/default.nix4
-rw-r--r--pkgs/tools/networking/gost/default.nix29
-rw-r--r--pkgs/tools/networking/hurl/default.nix6
-rwxr-xr-xpkgs/tools/networking/ipfetch/default.nix38
-rw-r--r--pkgs/tools/networking/ipinfo/default.nix4
-rw-r--r--pkgs/tools/networking/modemmanager/default.nix4
-rw-r--r--pkgs/tools/networking/mosh/default.nix5
-rw-r--r--pkgs/tools/networking/mqttui/default.nix6
-rw-r--r--pkgs/tools/networking/netavark/default.nix19
-rw-r--r--pkgs/tools/networking/networkmanager/applet/default.nix4
-rw-r--r--pkgs/tools/networking/networkmanager/default.nix4
-rw-r--r--pkgs/tools/networking/networkmanager/fortisslvpn/default.nix19
-rw-r--r--pkgs/tools/networking/networkmanager/fortisslvpn/fix-paths.patch7
-rw-r--r--pkgs/tools/networking/networkmanager/libnma/default.nix4
-rw-r--r--pkgs/tools/networking/networkmanager/openconnect/default.nix28
-rw-r--r--pkgs/tools/networking/networkmanager/openvpn/default.nix53
-rw-r--r--pkgs/tools/networking/networkmanager/vpnc/default.nix58
-rw-r--r--pkgs/tools/networking/ntp/default.nix7
-rw-r--r--pkgs/tools/networking/ntp/glibc-2.34-fix.patch28
-rw-r--r--pkgs/tools/networking/obfs4/default.nix3
-rw-r--r--pkgs/tools/networking/openconnect/default.nix4
-rw-r--r--pkgs/tools/networking/openssh/default.nix4
-rw-r--r--pkgs/tools/networking/ppp/default.nix2
-rw-r--r--pkgs/tools/networking/ppp/nix-purity.patch2
-rw-r--r--pkgs/tools/networking/smartdns/default.nix20
-rw-r--r--pkgs/tools/networking/socat/default.nix1
-rw-r--r--pkgs/tools/networking/unbound/default.nix24
-rw-r--r--pkgs/tools/networking/uwimap/default.nix2
-rw-r--r--pkgs/tools/networking/xh/default.nix5
-rw-r--r--pkgs/tools/networking/xrootd/default.nix4
-rw-r--r--pkgs/tools/package-management/micromamba/default.nix5
-rw-r--r--pkgs/tools/package-management/nfpm/default.nix4
-rw-r--r--pkgs/tools/package-management/nix/common.nix9
-rw-r--r--pkgs/tools/package-management/nix/default.nix11
-rw-r--r--pkgs/tools/package-management/nix/nix-perl.nix5
-rw-r--r--pkgs/tools/package-management/nixui/default.nix20
-rw-r--r--pkgs/tools/package-management/nixui/node-packages.nix4
-rw-r--r--pkgs/tools/package-management/nixui/pkg.json2
-rw-r--r--pkgs/tools/package-management/pdm/default.nix28
-rw-r--r--pkgs/tools/security/aesfix/default.nix26
-rw-r--r--pkgs/tools/security/aeskeyfind/default.nix30
-rw-r--r--pkgs/tools/security/authoscope/default.nix6
-rw-r--r--pkgs/tools/security/aws-okta/default.nix30
-rw-r--r--pkgs/tools/security/cfripper/default.nix4
-rw-r--r--pkgs/tools/security/chaps/default.nix91
-rw-r--r--pkgs/tools/security/chaps/fix_absolute_path.patch18
-rw-r--r--pkgs/tools/security/chaps/fix_environment_variables.patch42
-rw-r--r--pkgs/tools/security/chaps/fix_scons.patch26
-rw-r--r--pkgs/tools/security/chaps/insert_prefetches.patch51
-rw-r--r--pkgs/tools/security/cipherscan/default.nix43
-rw-r--r--pkgs/tools/security/crackxls/default.nix4
-rw-r--r--pkgs/tools/security/cryptomator/default.nix49
-rw-r--r--pkgs/tools/security/eid-mw/default.nix2
-rw-r--r--pkgs/tools/security/evil-winrm/Gemfile7
-rw-r--r--pkgs/tools/security/evil-winrm/Gemfile.lock51
-rw-r--r--pkgs/tools/security/evil-winrm/default.nix36
-rw-r--r--pkgs/tools/security/evil-winrm/gemset.nix187
-rw-r--r--pkgs/tools/security/exploitdb/default.nix5
-rw-r--r--pkgs/tools/security/ffuf/default.nix4
-rw-r--r--pkgs/tools/security/gnupg/1.nix1
-rw-r--r--pkgs/tools/security/gnupg/23.nix1
-rw-r--r--pkgs/tools/security/gopass/default.nix6
-rw-r--r--pkgs/tools/security/grype/default.nix6
-rw-r--r--pkgs/tools/security/kubeaudit/default.nix6
-rw-r--r--pkgs/tools/security/kubescape/default.nix25
-rw-r--r--pkgs/tools/security/logkeys/default.nix3
-rw-r--r--pkgs/tools/security/melt/default.nix25
-rw-r--r--pkgs/tools/security/meo/default.nix36
-rw-r--r--pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile.lock29
-rw-r--r--pkgs/tools/security/metasploit/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/gemset.nix46
-rw-r--r--pkgs/tools/security/naabu/default.nix6
-rw-r--r--pkgs/tools/security/nitrokey-app/default.nix1
-rw-r--r--pkgs/tools/security/onlykey/default.nix2
-rw-r--r--pkgs/tools/security/onlykey/node-packages.nix4
-rw-r--r--pkgs/tools/security/onlykey/package.json2
-rw-r--r--pkgs/tools/security/pbis/default.nix70
-rw-r--r--pkgs/tools/security/pcsc-safenet/default.nix2
-rw-r--r--pkgs/tools/security/quill/default.nix2
-rw-r--r--pkgs/tools/security/rbw/default.nix2
-rw-r--r--pkgs/tools/security/shisho/default.nix59
-rw-r--r--pkgs/tools/security/sigma-cli/default.nix4
-rw-r--r--pkgs/tools/security/sn0int/default.nix6
-rw-r--r--pkgs/tools/security/spectre-meltdown-checker/default.nix4
-rw-r--r--pkgs/tools/security/sshuttle/default.nix10
-rw-r--r--pkgs/tools/security/sshuttle/sudo.patch2
-rw-r--r--pkgs/tools/security/tboot/default.nix4
-rw-r--r--pkgs/tools/security/terrascan/default.nix6
-rw-r--r--pkgs/tools/security/tor/default.nix1
-rw-r--r--pkgs/tools/security/tor/torsocks.nix3
-rw-r--r--pkgs/tools/security/vault/default.nix8
-rw-r--r--pkgs/tools/security/vault/update-bin.sh43
-rw-r--r--pkgs/tools/security/vault/vault-bin.nix90
-rw-r--r--pkgs/tools/security/vaultwarden/vault.nix4
-rw-r--r--pkgs/tools/security/wapiti/default.nix14
-rw-r--r--pkgs/tools/security/zzuf/default.nix6
-rw-r--r--pkgs/tools/system/evemu/default.nix1
-rw-r--r--pkgs/tools/system/gohai/default.nix1
-rw-r--r--pkgs/tools/system/hardlink/default.nix1
-rw-r--r--pkgs/tools/system/logrotate/default.nix3
-rw-r--r--pkgs/tools/system/monit/default.nix8
-rw-r--r--pkgs/tools/system/mq-cli/default.nix1
-rw-r--r--pkgs/tools/system/nats-top/default.nix6
-rw-r--r--pkgs/tools/system/s-tui/default.nix18
-rw-r--r--pkgs/tools/system/thermald/default.nix4
-rw-r--r--pkgs/tools/text/difftastic/default.nix6
-rw-r--r--pkgs/tools/text/gnused/422.nix35
-rw-r--r--pkgs/tools/text/gtranslator/default.nix21
-rw-r--r--pkgs/tools/text/jumanpp/0001-Exclude-all-tests-from-the-build.patch177
-rw-r--r--pkgs/tools/text/jumanpp/default.nix3
-rw-r--r--pkgs/tools/text/justify/default.nix33
-rw-r--r--pkgs/tools/text/mdbook-pdf/default.nix28
-rw-r--r--pkgs/tools/text/mdbook/default.nix12
-rw-r--r--pkgs/tools/text/vale/default.nix6
-rw-r--r--pkgs/tools/text/xml/jing-trang/default.nix4
-rw-r--r--pkgs/tools/typesetting/lowdown/default.nix42
-rw-r--r--pkgs/tools/typesetting/lowdown/shared.patch42
-rw-r--r--pkgs/tools/typesetting/odpdown/default.nix1
-rw-r--r--pkgs/tools/typesetting/pdf2djvu/default.nix31
-rw-r--r--pkgs/tools/typesetting/sile/default.nix4
-rw-r--r--pkgs/tools/typesetting/tex/texlive/default.nix48
-rw-r--r--pkgs/tools/typesetting/tex/texlive/fixedHashes.nix9517
-rw-r--r--pkgs/tools/typesetting/tex/texlive/pkgs.nix3689
-rw-r--r--pkgs/tools/virtualization/linode-cli/default.nix8
-rw-r--r--pkgs/tools/virtualization/linode-cli/remove-update-check.patch11
-rw-r--r--pkgs/tools/virtualization/ovftool/default.nix230
-rw-r--r--pkgs/tools/virtualization/xe-guest-utilities/default.nix2
-rw-r--r--pkgs/tools/wayland/swayr/default.nix6
-rw-r--r--pkgs/tools/wayland/wl-mirror/default.nix4
-rw-r--r--pkgs/tools/wayland/ydotool/default.nix14
-rw-r--r--pkgs/top-level/aliases.nix109
-rw-r--r--pkgs/top-level/all-packages.nix578
-rw-r--r--pkgs/top-level/config.nix18
-rw-r--r--pkgs/top-level/emscripten-packages.nix4
-rw-r--r--pkgs/top-level/haskell-packages.nix12
-rw-r--r--pkgs/top-level/java-packages.nix4
-rw-r--r--pkgs/top-level/kodi-packages.nix2
-rw-r--r--pkgs/top-level/linux-kernels.nix6
-rw-r--r--pkgs/top-level/lua-packages.nix6
-rw-r--r--pkgs/top-level/ocaml-packages.nix42
-rw-r--r--pkgs/top-level/perl-packages.nix53
-rw-r--r--pkgs/top-level/pure-packages.nix33
-rw-r--r--pkgs/top-level/python-aliases.nix8
-rw-r--r--pkgs/top-level/python-packages.nix133
-rw-r--r--pkgs/top-level/qt5-packages.nix4
-rw-r--r--pkgs/top-level/release-haskell.nix45
-rw-r--r--pkgs/top-level/release-python.nix11
-rw-r--r--pkgs/top-level/stage.nix2
-rw-r--r--pkgs/top-level/unixtools.nix1
2984 files changed, 73025 insertions, 52131 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 9117a44b9fc20..07dfe176f49a0 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -10,9 +10,6 @@
 # IMPORTANT NOTE: in order to actually get pinged, commit access is required.
 # This also holds true for GitHub teams. Since almost none of our teams have write
 # permissions, you need to list all members of the team with commit access individually.
-# We still add the team to the list next to its members, this helps keeping things
-# in sync. (Put non team members before the team to distinguish them.)
-# See https://github.com/NixOS/nixpkgs/issues/124085 for more details
 
 # This file
 /.github/CODEOWNERS @edolstra
@@ -39,10 +36,10 @@
 /pkgs/top-level/stage.nix                        @nbp @Ericson2314 @matthewbauer
 /pkgs/top-level/splice.nix                       @Ericson2314 @matthewbauer
 /pkgs/top-level/release-cross.nix                @Ericson2314 @matthewbauer
-/pkgs/stdenv/generic                             @Ericson2314 @matthewbauer @cab404
+/pkgs/stdenv/generic                             @Ericson2314 @matthewbauer
 /pkgs/stdenv/cross                               @Ericson2314 @matthewbauer
-/pkgs/build-support/cc-wrapper                   @Ericson2314 @orivej
-/pkgs/build-support/bintools-wrapper             @Ericson2314 @orivej
+/pkgs/build-support/cc-wrapper                   @Ericson2314
+/pkgs/build-support/bintools-wrapper             @Ericson2314
 /pkgs/build-support/setup-hooks                  @Ericson2314
 /pkgs/build-support/setup-hooks/auto-patchelf.sh @aszlig
 
@@ -97,8 +94,7 @@
 /pkgs/development/python-modules                            @FRidh @jonringer
 /doc/languages-frameworks/python.section.md                 @FRidh
 /pkgs/development/tools/poetry2nix                          @adisbladis
-/pkgs/development/interpreters/python/hooks                 @FRidh @jonringer @DavHau
-/pkgs/development/interpreters/python/conda                 @DavHau
+/pkgs/development/interpreters/python/hooks                 @FRidh @jonringer
 
 # Haskell
 /doc/languages-frameworks/haskell.section.md  @cdepillabout @sternenseemann @maralorn @expipiplus1
@@ -115,8 +111,8 @@
 /pkgs/development/perl-modules      @stigtsp @zakame
 
 # R
-/pkgs/applications/science/math/R   @jbedo @bcdarwin
-/pkgs/development/r-modules         @jbedo @bcdarwin
+/pkgs/applications/science/math/R   @jbedo
+/pkgs/development/r-modules         @jbedo
 
 # Ruby
 /pkgs/development/interpreters/ruby @marsam
@@ -127,10 +123,6 @@
 /pkgs/build-support/rust @zowoq
 /doc/languages-frameworks/rust.section.md @zowoq
 
-# Darwin-related
-/pkgs/stdenv/darwin         @NixOS/darwin-maintainers
-/pkgs/os-specific/darwin    @NixOS/darwin-maintainers
-
 # C compilers
 /pkgs/development/compilers/gcc @matthewbauer
 /pkgs/development/compilers/llvm @matthewbauer
@@ -139,15 +131,6 @@
 /pkgs/top-level/unix-tools.nix @matthewbauer
 /pkgs/development/tools/xcbuild @matthewbauer
 
-# Beam-related (Erlang, Elixir, LFE, etc)
-/pkgs/development/beam-modules                  @gleber
-/pkgs/development/interpreters/erlang           @gleber
-/pkgs/development/interpreters/lfe              @gleber
-/pkgs/development/interpreters/elixir           @gleber
-/pkgs/development/tools/build-managers/rebar    @gleber
-/pkgs/development/tools/build-managers/rebar3   @gleber
-/pkgs/development/tools/erlang                  @gleber
-
 # Audio
 /nixos/modules/services/audio/botamusique.nix @mweinelt
 /nixos/modules/services/audio/snapserver.nix @mweinelt
@@ -215,7 +198,7 @@
 /pkgs/development/idris-modules @Infinisil
 
 # Bazel
-/pkgs/development/tools/build-managers/bazel @mboes @Profpatsch
+/pkgs/development/tools/build-managers/bazel @Profpatsch
 
 # NixOS modules for e-mail and dns services
 /nixos/modules/services/mail/mailman.nix    @peti
@@ -243,25 +226,24 @@
 /nixos/tests/prometheus-exporters.nix                        @WilliButz
 
 # PHP interpreter, packages, extensions, tests and documentation
-/doc/languages-frameworks/php.section.md          @NixOS/php @aanderse @etu @globin @ma27 @talyz
-/nixos/tests/php                                  @NixOS/php @aanderse @etu @globin @ma27 @talyz
-/pkgs/build-support/build-pecl.nix                @NixOS/php @aanderse @etu @globin @ma27 @talyz
-/pkgs/development/interpreters/php       @jtojnar @NixOS/php @aanderse @etu @globin @ma27 @talyz
-/pkgs/development/php-packages                    @NixOS/php @aanderse @etu @globin @ma27 @talyz
-/pkgs/top-level/php-packages.nix         @jtojnar @NixOS/php @aanderse @etu @globin @ma27 @talyz
+/doc/languages-frameworks/php.section.md          @aanderse @etu @globin @ma27 @talyz
+/nixos/tests/php                                  @aanderse @etu @globin @ma27 @talyz
+/pkgs/build-support/build-pecl.nix                @aanderse @etu @globin @ma27 @talyz
+/pkgs/development/interpreters/php       @jtojnar @aanderse @etu @globin @ma27 @talyz
+/pkgs/development/php-packages                    @aanderse @etu @globin @ma27 @talyz
+/pkgs/top-level/php-packages.nix         @jtojnar @aanderse @etu @globin @ma27 @talyz
 
 # Podman, CRI-O modules and related
-/nixos/modules/virtualisation/containers.nix @NixOS/podman @zowoq @adisbladis
-/nixos/modules/virtualisation/cri-o.nix      @NixOS/podman @zowoq @adisbladis
-/nixos/modules/virtualisation/podman         @NixOS/podman @zowoq @adisbladis
-/nixos/tests/cri-o.nix                       @NixOS/podman @zowoq @adisbladis
-/nixos/tests/podman                          @NixOS/podman @zowoq @adisbladis
+/nixos/modules/virtualisation/containers.nix @zowoq @adisbladis
+/nixos/modules/virtualisation/cri-o.nix      @zowoq @adisbladis
+/nixos/modules/virtualisation/podman         @zowoq @adisbladis
+/nixos/tests/cri-o.nix                       @zowoq @adisbladis
+/nixos/tests/podman                          @zowoq @adisbladis
 
 # Docker tools
-/pkgs/build-support/docker                   @roberth @utdemir
-/nixos/tests/docker-tools-overlay.nix        @roberth
-/nixos/tests/docker-tools.nix                @roberth
-/doc/builders/images/dockertools.xml         @roberth
+/pkgs/build-support/docker                   @roberth
+/nixos/tests/docker-tools*                   @roberth
+/doc/builders/images/dockertools.section.md  @roberth
 
 # Blockchains
 /pkgs/applications/blockchains  @mmahut @RaghavSood
@@ -273,8 +255,8 @@
 /pkgs/development/go-packages  @kalbasit @Mic92 @zowoq
 
 # GNOME
-/pkgs/desktops/gnome                              @NixOS/GNOME @jtojnar @hedning
-/pkgs/desktops/gnome/extensions       @piegamesde @NixOS/GNOME @jtojnar @hedning
+/pkgs/desktops/gnome                              @jtojnar @hedning
+/pkgs/desktops/gnome/extensions       @piegamesde @jtojnar @hedning
 
 # Cinnamon
 /pkgs/desktops/cinnamon @mkg20001
@@ -295,10 +277,10 @@
 
 # Matrix
 /pkgs/servers/heisenbridge                                 @piegamesde
-/pkgs/servers/matrix-conduit                               @piegamesde @pstn
+/pkgs/servers/matrix-conduit                               @piegamesde
 /pkgs/servers/matrix-synapse/matrix-appservice-irc         @piegamesde
 /nixos/modules/services/misc/heisenbridge.nix              @piegamesde
 /nixos/modules/services/misc/matrix-appservice-irc.nix     @piegamesde
-/nixos/modules/services/misc/matrix-conduit.nix            @piegamesde @pstn
+/nixos/modules/services/misc/matrix-conduit.nix            @piegamesde
 /nixos/tests/matrix-appservice-irc.nix                     @piegamesde
-/nixos/tests/matrix-conduit.nix                            @piegamesde @pstn
+/nixos/tests/matrix-conduit.nix                            @piegamesde
diff --git a/.github/workflows/basic-eval.yml b/.github/workflows/basic-eval.yml
index 51429ae40bee0..41f751fd061f7 100644
--- a/.github/workflows/basic-eval.yml
+++ b/.github/workflows/basic-eval.yml
@@ -1,14 +1,15 @@
 name: Basic evaluation checks
 
 on:
-  pull_request:
-    branches:
-     - master
-     - release-**
-  push:
-    branches:
-     - master
-     - release-**
+  workflow_dispatch
+  # pull_request:
+  #   branches:
+  #    - master
+  #    - release-**
+  # push:
+  #   branches:
+  #    - master
+  #    - release-**
 jobs:
   tests:
     runs-on: ubuntu-latest
diff --git a/.github/workflows/direct-push.yml b/.github/workflows/direct-push.yml
index 459475c3c6bca..082a4806e619b 100644
--- a/.github/workflows/direct-push.yml
+++ b/.github/workflows/direct-push.yml
@@ -22,7 +22,7 @@ jobs:
       if: steps.ismerge.outputs.ismerge != 'true'
     - name: Warn if the commit was a direct push
       if: steps.ismerge.outputs.ismerge != 'true'
-      uses: peter-evans/commit-comment@v1
+      uses: peter-evans/commit-comment@v2
       with:
         body: |
           @${{ github.actor }}, you pushed a commit directly to master/release branch
diff --git a/.github/workflows/periodic-merge-24h.yml b/.github/workflows/periodic-merge-24h.yml
index 5ad0db1db51c7..027c63aad9a28 100644
--- a/.github/workflows/periodic-merge-24h.yml
+++ b/.github/workflows/periodic-merge-24h.yml
@@ -49,7 +49,7 @@ jobs:
           github_token: ${{ secrets.GITHUB_TOKEN }}
 
       - name: Comment on failure
-        uses: peter-evans/create-or-update-comment@v1
+        uses: peter-evans/create-or-update-comment@v2
         if: ${{ failure() }}
         with:
           issue-number: 105153
diff --git a/.github/workflows/periodic-merge-6h.yml b/.github/workflows/periodic-merge-6h.yml
index a8af04b78bc28..5588d216ea030 100644
--- a/.github/workflows/periodic-merge-6h.yml
+++ b/.github/workflows/periodic-merge-6h.yml
@@ -43,7 +43,7 @@ jobs:
           github_token: ${{ secrets.GITHUB_TOKEN }}
 
       - name: Comment on failure
-        uses: peter-evans/create-or-update-comment@v1
+        uses: peter-evans/create-or-update-comment@v2
         if: ${{ failure() }}
         with:
           issue-number: 105153
diff --git a/.github/workflows/update-terraform-providers.yml b/.github/workflows/update-terraform-providers.yml
index 09d208a621603..0c775cb6e4024 100644
--- a/.github/workflows/update-terraform-providers.yml
+++ b/.github/workflows/update-terraform-providers.yml
@@ -39,7 +39,7 @@ jobs:
           title: ${{ steps.setup.outputs.title }}
           token: ${{ secrets.GITHUB_TOKEN }}
       - name: comment on failure
-        uses: peter-evans/create-or-update-comment@v1
+        uses: peter-evans/create-or-update-comment@v2
         if: ${{ failure() }}
         with:
           issue-number: 153416
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index f0d1ecf5aa328..0f8b5faef12dd 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -52,6 +52,46 @@ In addition to writing properly formatted commit messages, it's important to inc
 
 For package version upgrades and such a one-line commit message is usually sufficient.
 
+## Rebasing between branches (i.e. from master to staging)
+
+From time to time, changes between branches must be rebased, for example, if the
+number of new rebuilds they would cause is too large for the target branch. When
+rebasing, care must be taken to include only the intended changes, otherwise
+many CODEOWNERS will be inadvertently requested for review.  To achieve this,
+rebasing should not be performed directly on the target branch, but on the merge
+base between the current and target branch.
+
+In the following example, we see a rebase from `master` onto the merge base
+between `master` and `staging`, so that a change can eventually be retargeted to
+`staging`. The example uses `upstream` as the remote for `NixOS/nixpkgs.git`
+while the `origin` remote is used for the remote you are pushing to.
+
+
+```console
+# Find the common base between two branches
+common=$(git merge-base upstream/master upstream/staging)
+# Find the common base between your feature branch and master
+commits=$(git merge-base $(git branch --show-current) upstream/master)
+# Rebase all commits onto the common base
+git rebase --onto=$common $commits
+# Force push your changes
+git push origin $(git branch --show-current) --force-with-lease
+```
+
+Then change the base branch in the GitHub PR using the *Edit* button in the upper
+right corner, and switch from `master` to `staging`. After the PR has been
+retargeted it might be necessary to do a final rebase onto the target branch, to
+resolve any outstanding merge conflicts.
+
+```console
+# Rebase onto target branch
+git rebase upstream/staging
+# Review and fixup possible conflicts
+git status
+# Force push your changes
+git push origin $(git branch --show-current) --force-with-lease
+```
+
 ## Backporting changes
 
 Follow these steps to backport a change into a release branch in compliance with the [commit policy](https://nixos.org/nixpkgs/manual/#submitting-changes-stable-release-branches).
diff --git a/doc/builders/fetchers.chapter.md b/doc/builders/fetchers.chapter.md
index 28388ba685d8f..d9f22b062827c 100644
--- a/doc/builders/fetchers.chapter.md
+++ b/doc/builders/fetchers.chapter.md
@@ -72,6 +72,10 @@ Used with Mercurial. Expects `url`, `rev`, and `sha256`.
 
 A number of fetcher functions wrap part of `fetchurl` and `fetchzip`. They are mainly convenience functions intended for commonly used destinations of source code in Nixpkgs. These wrapper fetchers are listed below.
 
+## `fetchFromGitea` {#fetchfromgitea}
+
+`fetchFromGitea` expects five arguments. `domain` is the gitea server name. `owner` is a string corresponding to the Gitea user or organization that controls this repository. `repo` corresponds to the name of the software repository. These are located at the top of every Gitea HTML page as `owner`/`repo`. `rev` corresponds to the Git commit hash or tag (e.g `v1.0`) that will be downloaded from Git. Finally, `sha256` corresponds to the hash of the extracted directory. Again, other hash algorithms are also available but `sha256` is currently preferred.
+
 ## `fetchFromGitHub` {#fetchfromgithub}
 
 `fetchFromGitHub` expects four arguments. `owner` is a string corresponding to the GitHub user or organization that controls this repository. `repo` corresponds to the name of the software repository. These are located at the top of every GitHub HTML page as `owner`/`repo`. `rev` corresponds to the Git commit hash or tag (e.g `v1.0`) that will be downloaded from Git. Finally, `sha256` corresponds to the hash of the extracted directory. Again, other hash algorithms are also available but `sha256` is currently preferred.
diff --git a/doc/contributing/coding-conventions.chapter.md b/doc/contributing/coding-conventions.chapter.md
index cfe8582e514a4..dac6d828ac0b7 100644
--- a/doc/contributing/coding-conventions.chapter.md
+++ b/doc/contributing/coding-conventions.chapter.md
@@ -540,10 +540,11 @@ If you do need to do create this sort of patch file, one way to do so is with gi
 
 If a patch is available online but does not cleanly apply, it can be modified in some fixed ways by using additional optional arguments for `fetchpatch`:
 
+- `relative`: Similar to using `git-diff`'s `--relative` flag, only keep changes inside the specified directory, making paths relative to it.
 - `stripLen`: Remove the first `stripLen` components of pathnames in the patch.
 - `extraPrefix`: Prefix pathnames by this string.
-- `excludes`: Exclude files matching this pattern.
-- `includes`: Include only files matching this pattern.
+- `excludes`: Exclude files matching these patterns (applies after the above arguments).
+- `includes`: Include only files matching these patterns (applies after the above arguments).
 - `revert`: Revert the patch.
 
 Note that because the checksum is computed after applying these effects, using or modifying these arguments will have no effect unless the `sha256` argument is changed as well.
diff --git a/doc/contributing/reviewing-contributions.chapter.md b/doc/contributing/reviewing-contributions.chapter.md
index 7a13a3f3b4029..3417854730ef6 100644
--- a/doc/contributing/reviewing-contributions.chapter.md
+++ b/doc/contributing/reviewing-contributions.chapter.md
@@ -122,7 +122,7 @@ Reviewing process:
   - [CODEOWNERS](https://help.github.com/articles/about-codeowners/) will make GitHub notify users based on the submitted changes, but it can happen that it misses some of the package maintainers.
 - Ensure that the module tests, if any, are succeeding.
 - Ensure that the introduced options are correct.
-  - Type should be appropriate (string related types differs in their merging capabilities, `optionSet` and `string` types are deprecated).
+  - Type should be appropriate (string related types differs in their merging capabilities, `loaOf` and `string` types are deprecated).
   - Description, default and example should be provided.
 - Ensure that option changes are backward compatible.
   - `mkRenamedOptionModuleWith` provides a way to make option changes backward compatible.
@@ -157,7 +157,7 @@ Reviewing process:
 
 - Ensure that the module tests, if any, are succeeding.
 - Ensure that the introduced options are correct.
-  - Type should be appropriate (string related types differs in their merging capabilities, `optionSet` and `string` types are deprecated).
+  - Type should be appropriate (string related types differs in their merging capabilities, `loaOf` and `string` types are deprecated).
   - Description, default and example should be provided.
 - Ensure that module `meta` field is present
   - Maintainers should be declared in `meta.maintainers`.
diff --git a/doc/languages-frameworks/go.section.md b/doc/languages-frameworks/go.section.md
index 411205d08e430..9c67a514335ed 100644
--- a/doc/languages-frameworks/go.section.md
+++ b/doc/languages-frameworks/go.section.md
@@ -142,4 +142,8 @@ Removes the pre-existing vendor directory. This should only be used if the depen
 
 ### `subPackages` {#var-go-subPackages}
 
-Limits the builder from building child packages that have not been listed. If `subPackages` is not specified, all child packages will be built.
+Specified as a string or list of strings. Limits the builder from building child packages that have not been listed. If `subPackages` is not specified, all child packages will be built.
+
+### `excludedPackages` {#var-go-excludedPackages}
+
+Specified as a string or list of strings. Causes the builder to skip building child packages that match any of the provided values. If `excludedPackages` is not specified, all child packages will be built.
diff --git a/doc/languages-frameworks/ocaml.section.md b/doc/languages-frameworks/ocaml.section.md
index e4813d7dd2d4b..c6e40eaa20d00 100644
--- a/doc/languages-frameworks/ocaml.section.md
+++ b/doc/languages-frameworks/ocaml.section.md
@@ -38,8 +38,12 @@ Here is a simple package example.
 
 - It uses the `fetchFromGitHub` fetcher to get its source.
 
-- `useDune2 = true` ensures that Dune version 2 is used for the
-  build (this is the default; set to `false` to use Dune version 1).
+- `duneVersion = "2"` ensures that Dune version 2 is used for the
+  build (this is the default; valid values are `"1"`, `"2"`, and `"3"`);
+  note that there is also a legacy `useDune2` boolean attribute:
+  set to `false` it corresponds to `duneVersion = "1"`; set to `true` it
+  corresponds to `duneVersion = "2"`. If both arguments (`duneVersion` and
+  `useDune2`) are given, the second one (`useDune2`) is silently ignored.
 
 - It sets the optional `doCheck` attribute such that tests will be run with
   `dune runtest -p angstrom` after the build (`dune build -p angstrom`) is
@@ -67,7 +71,7 @@ Here is a simple package example.
 buildDunePackage rec {
   pname = "angstrom";
   version = "0.15.0";
-  useDune2 = true;
+  duneVersion = "2";
 
   minimalOCamlVersion = "4.04";
 
diff --git a/doc/languages-frameworks/texlive.section.md b/doc/languages-frameworks/texlive.section.md
index 6b505cefcc95c..060f5c647c296 100644
--- a/doc/languages-frameworks/texlive.section.md
+++ b/doc/languages-frameworks/texlive.section.md
@@ -6,7 +6,7 @@ Since release 15.09 there is a new TeX Live packaging that lives entirely under
 
 - For basic usage just pull `texlive.combined.scheme-basic` for an environment with basic LaTeX support.
 
-- It typically won't work to use separately installed packages together. Instead, you can build a custom set of packages like this:
+- It typically won't work to use separately installed packages together. Instead, you can build a custom set of packages like this. Most CTAN packages should be available:
 
   ```nix
   texlive.combine {
diff --git a/doc/languages-frameworks/vim.section.md b/doc/languages-frameworks/vim.section.md
index a615d585b151c..563fdf45a8611 100644
--- a/doc/languages-frameworks/vim.section.md
+++ b/doc/languages-frameworks/vim.section.md
@@ -18,7 +18,7 @@ Adding custom .vimrc lines can be done using the following code:
 
 ```nix
 vim_configurable.customize {
-  # `name` specifies the name of the executable and package
+  # `name` optionally specifies the name of the executable and package
   name = "vim-with-plugins";
 
   vimrcConfig.customRC = ''
@@ -28,6 +28,9 @@ vim_configurable.customize {
 ```
 
 This configuration is used when Vim is invoked with the command specified as name, in this case `vim-with-plugins`.
+You can also omit `name` to customize Vim itself. See the
+[definition of `vimUtils.makeCustomizable`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/vim-utils.nix#L408)
+for all supported options.
 
 For Neovim the `configure` argument can be overridden to achieve the same:
 
@@ -286,7 +289,7 @@ Sample output1:
 "reload" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
   name = "reload";
   src = fetchgit {
-    url = "git://github.com/xolox/vim-reload";
+    url = "https://github.com/xolox/vim-reload";
     rev = "0a601a668727f5b675cb1ddc19f6861f3f7ab9e1";
     sha256 = "0vb832l9yxj919f5hfg6qj6bn9ni57gnjd3bj7zpq7d4iv2s4wdh";
   };
diff --git a/doc/stdenv/cross-compilation.chapter.md b/doc/stdenv/cross-compilation.chapter.md
index f6e61a1af1962..3b6e5c34d54da 100644
--- a/doc/stdenv/cross-compilation.chapter.md
+++ b/doc/stdenv/cross-compilation.chapter.md
@@ -78,21 +78,46 @@ If both the dependency and depending packages aren't compilers or other machine-
 
 Finally, if the depending package is a compiler or other machine-code-producing tool, it might need dependencies that run at "emit time". This is for compilers that (regrettably) insist on being built together with their source languages' standard libraries. Assuming build != host != target, a run-time dependency of the standard library cannot be run at the compiler's build time or run time, but only at the run time of code emitted by the compiler.
 
-Putting this all together, that means we have dependencies in the form "host → target", in at most the following six combinations:
+Putting this all together, that means that we have dependency types of the form "X→ E", which means that the dependency executes on X and emits code for E; each of X and E can be `build`, `host`, or `target`, and E can be `*` to indicate that the dependency is not a compiler-like package.
+
+Dependency types describe the relationships that a package has with each of its transitive dependencies.  You could think of attaching one or more dependency types to each of the formal parameters at the top of a package's `.nix` file, as well as to all of *their* formal parameters, and so on.   Triples like `(foo, bar, baz)`, on the other hand, are a property of an instantiated derivation -- you could would attach a triple `(mips-linux, mips-linux, sparc-solaris)` to a `.drv` file in `/nix/store`.
+
+Only nine dependency types matter in practice:
 
 #### Possible dependency types {#possible-dependency-types}
 
-| Dependency’s host platform | Dependency’s target platform |
-|----------------------------|------------------------------|
-| build                      | build                        |
-| build                      | host                         |
-| build                      | target                       |
-| host                       | host                         |
-| host                       | target                       |
-| target                     | target                       |
+| Dependency type | Dependency’s host platform | Dependency’s target platform |
+|-----------------|----------------------------|------------------------------|
+| build → *       | build                      | (none)                       |
+| build → build   | build                      | build                        |
+| build → host    | build                      | host                         |
+| build → target  | build                      | target                       |
+| host → *        | host                       | (none)                       |
+| host → host     | host                       | host                         |
+| host → target   | host                       | target                       |
+| target → *      | target                     | (none)                       |
+| target → target | target                     | target                       |
+
+Let's use `g++` as an example to make this table clearer.  `g++` is a C++ compiler written in C.  Suppose we are building `g++` with a `(build, host, target)` platform triple of `(foo, bar, baz)`.  This means we are using a `foo`-machine to build a copy of `g++` which will run on a `bar`-machine and emit binaries for the `baz`-machine.
+
+* `g++` links against the host platform's `glibc` C library, which is a "host→ *" dependency with a triple of `(bar, bar, *)`.  Since it is a library, not a compiler, it has no "target".
+
+* Since `g++` is written in C, the `gcc` compiler used to compile it is a "build→ host" dependency of `g++` with a triple of `(foo, foo, bar)`.  This compiler runs on the build platform and emits code for the host platform.
+
+* `gcc` links against the build platform's `glibc` C library, which is a "build→ *" dependency with a triple of `(foo, foo, *)`.  Since it is a library, not a compiler, it has no "target".
+
+* This `gcc` is itself compiled by an *earlier* copy of `gcc`.  This earlier copy of `gcc` is a "build→ build" dependency of `g++` with a triple of `(foo, foo, foo)`.  This "early `gcc`" runs on the build platform and emits code for the build platform.
+
+* `g++` is bundled with `libgcc`, which includes a collection of target-machine routines for exception handling and
+software floating point emulation.  `libgcc` would be a "target→ *" dependency with triple `(foo, baz, *)`, because it consists of machine code which gets linked against the output of the compiler that we are building.  It is a library, not a compiler, so it has no target of its own.
+
+* `libgcc` is written in C and compiled with `gcc`.  The `gcc` that compiles it will be a "build→ target" dependency with triple `(foo, foo, baz)`.  It gets compiled *and run* at `g++`-build-time (on platform `foo`), but must emit code for the `baz`-platform.
+
+* `g++` allows inline assembler code, so it depends on access to a copy of the `gas` assembler.  This would be a "host→ target" dependency with triple `(foo, bar, baz)`.
 
+* `g++` (and `gcc`) include a library `libgccjit.so`, which wrap the compiler in a library to create a just-in-time compiler.  In nixpkgs, this library is in the `libgccjit` package; if C++ required that programs have access to a JIT, `g++` would need to add a "target→ target" dependency for `libgccjit` with triple `(foo, baz, baz)`.  This would ensure that the compiler ships with a copy of `libgccjit` which both executes on and generates code for the `baz`-platform.
 
-Some examples will make this table clearer. Suppose there's some package that is being built with a `(build, host, target)` platform triple of `(foo, bar, baz)`. If it has a build-time library dependency, that would be a "host → build" dependency with a triple of `(foo, foo, *)` (the target platform is irrelevant). If it needs a compiler to be built, that would be a "build → host" dependency with a triple of `(foo, foo, *)` (the target platform is irrelevant). That compiler, would be built with another compiler, also "build → host" dependency, with a triple of `(foo, foo, foo)`.
+* If `g++` itself linked against `libgccjit.so` (for example, to allow compile-time-evaluated C++ expressions), then the `libgccjit` package used to provide this functionality would be a "host→ host" dependency of `g++`: it is code which runs on the `host` and emits code for execution on the `host`.
 
 ### Cross packaging cookbook {#ssec-cross-cookbook}
 
diff --git a/doc/stdenv/stdenv.chapter.md b/doc/stdenv/stdenv.chapter.md
index 1d4ca99e3cbe5..7019ae89db74b 100644
--- a/doc/stdenv/stdenv.chapter.md
+++ b/doc/stdenv/stdenv.chapter.md
@@ -125,7 +125,7 @@ The extension of `PATH` with dependencies, alluded to above, proceeds according
 A dependency is said to be **propagated** when some of its other-transitive (non-immediate) downstream dependencies also need it as an immediate dependency.
 [^footnote-stdenv-propagated-dependencies]
 
-It is important to note that dependencies are not necessarily propagated as the same sort of dependency that they were before, but rather as the corresponding sort so that the platform rules still line up. To determine the exact rules for dependency propagation, we start by assigning to each dependency a couple of ternary numbers (`-1` for `build`, `0` for `host`, and `1` for `target`), representing how respectively its host and target platforms are "offset" from the depending derivation’s platforms. The following table summarize the different combinations that can be obtained:
+It is important to note that dependencies are not necessarily propagated as the same sort of dependency that they were before, but rather as the corresponding sort so that the platform rules still line up. To determine the exact rules for dependency propagation, we start by assigning to each dependency a couple of ternary numbers (`-1` for `build`, `0` for `host`, and `1` for `target`) representing its [dependency type](#possible-dependency-types), which captures how its host and target platforms are each "offset" from the depending derivation’s host and target platforms. The following table summarize the different combinations that can be obtained:
 
 | `host → target`     | attribute name      | offset   |
 | ------------------- | ------------------- | -------- |
diff --git a/lib/customisation.nix b/lib/customisation.nix
index 234a528527d3c..cc9a9b1c55d0a 100644
--- a/lib/customisation.nix
+++ b/lib/customisation.nix
@@ -117,8 +117,55 @@ rec {
   callPackageWith = autoArgs: fn: args:
     let
       f = if lib.isFunction fn then fn else import fn;
-      auto = builtins.intersectAttrs (lib.functionArgs f) autoArgs;
-    in makeOverridable f (auto // args);
+      fargs = lib.functionArgs f;
+
+      # All arguments that will be passed to the function
+      # This includes automatic ones and ones passed explicitly
+      allArgs = builtins.intersectAttrs fargs autoArgs // args;
+
+      # A list of argument names that the function requires, but
+      # wouldn't be passed to it
+      missingArgs = lib.attrNames
+        # Filter out arguments that have a default value
+        (lib.filterAttrs (name: value: ! value)
+        # Filter out arguments that would be passed
+        (removeAttrs fargs (lib.attrNames allArgs)));
+
+      # Get a list of suggested argument names for a given missing one
+      getSuggestions = arg: lib.pipe (autoArgs // args) [
+        lib.attrNames
+        # Only use ones that are at most 2 edits away. While mork would work,
+        # levenshteinAtMost is only fast for 2 or less.
+        (lib.filter (lib.strings.levenshteinAtMost 2 arg))
+        # Put strings with shorter distance first
+        (lib.sort (x: y: lib.strings.levenshtein x arg < lib.strings.levenshtein y arg))
+        # Only take the first couple results
+        (lib.take 3)
+        # Quote all entries
+        (map (x: "\"" + x + "\""))
+      ];
+
+      prettySuggestions = suggestions:
+        if suggestions == [] then ""
+        else if lib.length suggestions == 1 then ", did you mean ${lib.elemAt suggestions 0}?"
+        else ", did you mean ${lib.concatStringsSep ", " (lib.init suggestions)} or ${lib.last suggestions}?";
+
+      errorForArg = arg:
+        let
+          loc = builtins.unsafeGetAttrPos arg fargs;
+          # loc' can be removed once lib/minver.nix is >2.3.4, since that includes
+          # https://github.com/NixOS/nix/pull/3468 which makes loc be non-null
+          loc' = if loc != null then loc.file + ":" + toString loc.line
+            else if ! lib.isFunction fn then
+              toString fn + lib.optionalString (lib.sources.pathIsDirectory fn) "/default.nix"
+            else "<unknown location>";
+        in "Function called without required argument \"${arg}\" at "
+        + "${loc'}${prettySuggestions (getSuggestions arg)}";
+
+      # Only show the error for the first missing argument
+      error = errorForArg (lib.head missingArgs);
+
+    in if missingArgs == [] then makeOverridable f allArgs else throw error;
 
 
   /* Like callPackage, but for a function that returns an attribute
diff --git a/lib/default.nix b/lib/default.nix
index 6f7930c53430d..1f06283790a8b 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -66,9 +66,10 @@ let
       stringLength sub substring tail trace;
     inherit (self.trivial) id const pipe concat or and bitAnd bitOr bitXor
       bitNot boolToString mergeAttrs flip mapNullable inNixShell isFloat min max
-      importJSON importTOML warn warnIf throwIfNot checkListOfEnum
+      importJSON importTOML warn warnIf warnIfNot throwIf throwIfNot checkListOfEnum
       info showWarnings nixpkgsVersion version isInOldestRelease
-      mod compare splitByAndCompare functionArgs setFunctionArgs isFunction
+      mod compare splitByAndCompare
+      functionArgs setFunctionArgs isFunction toFunction
       toHexString toBaseDigits;
     inherit (self.fixedPoints) fix fix' converge extends composeExtensions
       composeManyExtensions makeExtensible makeExtensibleWithCustomName;
@@ -113,7 +114,7 @@ let
       commitIdFromGitRepo cleanSourceWith pathHasContext
       canCleanSource pathIsRegularFile pathIsGitRepo;
     inherit (self.modules) evalModules setDefaultModuleLocation
-      unifyModuleSyntax applyIfFunction mergeModules
+      unifyModuleSyntax applyModuleArgsIfFunction mergeModules
       mergeModules' mergeOptionDecls evalOptionValue mergeDefinitions
       pushDownProperties dischargeProperties filterOverrides
       sortProperties fixupOptionType mkIf mkAssert mkMerge mkOverride
diff --git a/lib/licenses.nix b/lib/licenses.nix
index b9310ef6c5b88..2928d11d8b225 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -389,6 +389,11 @@ in mkLicense lset) ({
     free = false;
   };
 
+  generaluser = {
+    fullName = "GeneralUser GS License v2.0";
+    url = "http://www.schristiancollins.com/generaluser.php"; # license included in sources
+  };
+
   gpl1Only = {
     spdxId = "GPL-1.0-only";
     fullName = "GNU General Public License v1.0 only";
@@ -607,6 +612,11 @@ in mkLicense lset) ({
     fullName = "Enlightenment License (e16)";
   };
 
+  mit0 = {
+    spdxId = "MIT-0";
+    fullName = "MIT No Attribution";
+  };
+
   mpl10 = {
     spdxId = "MPL-1.0";
     fullName = "Mozilla Public License 1.0";
diff --git a/lib/modules.nix b/lib/modules.nix
index 011ebb7111f82..abcdd1a894cca 100644
--- a/lib/modules.nix
+++ b/lib/modules.nix
@@ -366,11 +366,11 @@ rec {
       # Like unifyModuleSyntax, but also imports paths and calls functions if necessary
       loadModule = args: fallbackFile: fallbackKey: m:
         if isFunction m || isAttrs m then
-          unifyModuleSyntax fallbackFile fallbackKey (applyIfFunction fallbackKey m args)
+          unifyModuleSyntax fallbackFile fallbackKey (applyModuleArgsIfFunction fallbackKey m args)
         else if isList m then
           let defs = [{ file = fallbackFile; value = m; }]; in
           throw "Module imports can't be nested lists. Perhaps you meant to remove one level of lists? Definitions: ${showDefs defs}"
-        else unifyModuleSyntax (toString m) (toString m) (applyIfFunction (toString m) (import m) args);
+        else unifyModuleSyntax (toString m) (toString m) (applyModuleArgsIfFunction (toString m) (import m) args);
 
       /*
       Collects all modules recursively into the form
@@ -467,7 +467,7 @@ rec {
         config = addFreeformType (addMeta (removeAttrs m ["_file" "key" "disabledModules" "require" "imports" "freeformType"]));
       };
 
-  applyIfFunction = key: f: args@{ config, options, lib, ... }: if isFunction f then
+  applyModuleArgsIfFunction = key: f: args@{ config, options, lib, ... }: if isFunction f then
     let
       # Module arguments are resolved in a strict manner when attribute set
       # deconstruction is used.  As the arguments are now defined with the
@@ -693,17 +693,9 @@ rec {
         throw "The option `${showOption loc}' in `${opt._file}' is already declared in ${showFiles res.declarations}."
       else
         let
-          /* Add the modules of the current option to the list of modules
-             already collected.  The options attribute except either a list of
-             submodules or a submodule. For each submodule, we add the file of the
-             current option declaration as the file use for the submodule.  If the
-             submodule defines any filename, then we ignore the enclosing option file. */
-          options' = toList opt.options.options;
-
           getSubModules = opt.options.type.getSubModules or null;
           submodules =
             if getSubModules != null then map (setDefaultModuleLocation opt._file) getSubModules ++ res.options
-            else if opt.options ? options then map (coerceOption opt._file) options' ++ res.options
             else res.options;
         in opt.options // res //
           { declarations = res.declarations ++ [opt._file];
@@ -886,27 +878,13 @@ rec {
       compare = a: b: (a.priority or 1000) < (b.priority or 1000);
     in sort compare defs';
 
+  # This calls substSubModules, whose entire purpose is only to ensure that
+  # option declarations in submodules have accurate position information.
+  # TODO: Merge this into mergeOptionDecls
   fixupOptionType = loc: opt:
-    let
-      options = opt.options or
-        (throw "Option `${showOption loc}' has type optionSet but has no option attribute, in ${showFiles opt.declarations}.");
-
-      # Hack for backward compatibility: convert options of type
-      # optionSet to options of type submodule.  FIXME: remove
-      # eventually.
-      f = tp:
-        if tp.name == "option set" || tp.name == "submodule" then
-          throw "The option ${showOption loc} uses submodules without a wrapping type, in ${showFiles opt.declarations}."
-        else if (tp.functor.wrapped.name or null) == "optionSet" then
-          if tp.name == "attrsOf" then types.attrsOf (types.submodule options)
-          else if tp.name == "listOf" then types.listOf  (types.submodule options)
-          else if tp.name == "nullOr" then types.nullOr  (types.submodule options)
-          else tp
-        else tp;
-    in
-      if opt.type.getSubModules or null == null
-      then opt // { type = f (opt.type or types.unspecified); }
-      else opt // { type = opt.type.substSubModules opt.options; options = []; };
+    if opt.type.getSubModules or null == null
+    then opt // { type = opt.type or types.unspecified; }
+    else opt // { type = opt.type.substSubModules opt.options; options = []; };
 
 
   /* Properties. */
diff --git a/lib/options.nix b/lib/options.nix
index 9efc1249e58e9..4aa9fe6e78c5a 100644
--- a/lib/options.nix
+++ b/lib/options.nix
@@ -79,8 +79,6 @@ rec {
     visible ? null,
     # Whether the option can be set only once
     readOnly ? null,
-    # Deprecated, used by types.optionSet.
-    options ? null
     } @ attrs:
     attrs // { _type = "option"; };
 
@@ -122,7 +120,7 @@ rec {
      Example:
        mkPackageOption pkgs "GHC" {
          default = [ "ghc" ];
-         example = "pkgs.haskell.package.ghc921.ghc.withPackages (hkgs: [ hkgs.primes ])";
+         example = "pkgs.haskell.package.ghc922.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/strings.nix b/lib/strings.nix
index b2fd495e4c841..820d1901f945b 100644
--- a/lib/strings.nix
+++ b/lib/strings.nix
@@ -756,7 +756,14 @@ rec {
        sanitizeDerivationName pkgs.hello
        => "-nix-store-2g75chlbpxlrqn15zlby2dfh8hr9qwbk-hello-2.10"
   */
-  sanitizeDerivationName = string: lib.pipe string [
+  sanitizeDerivationName =
+  let okRegex = match "[[:alnum:]+_?=-][[:alnum:]+._?=-]*";
+  in
+  string:
+  # First detect the common case of already valid strings, to speed those up
+  if stringLength string <= 207 && okRegex string != null
+  then unsafeDiscardStringContext string
+  else lib.pipe string [
     # Get rid of string context. This is safe under the assumption that the
     # resulting string is only used as a derivation name
     unsafeDiscardStringContext
@@ -774,4 +781,131 @@ rec {
     (x: if stringLength x == 0 then "unknown" else x)
   ];
 
+  /* Computes the Levenshtein distance between two strings.
+     Complexity O(n*m) where n and m are the lengths of the strings.
+     Algorithm adjusted from https://stackoverflow.com/a/9750974/6605742
+
+     Type: levenshtein :: string -> string -> int
+
+     Example:
+       levenshtein "foo" "foo"
+       => 0
+       levenshtein "book" "hook"
+       => 1
+       levenshtein "hello" "Heyo"
+       => 3
+  */
+  levenshtein = a: b: let
+    # Two dimensional array with dimensions (stringLength a + 1, stringLength b + 1)
+    arr = lib.genList (i:
+      lib.genList (j:
+        dist i j
+      ) (stringLength b + 1)
+    ) (stringLength a + 1);
+    d = x: y: lib.elemAt (lib.elemAt arr x) y;
+    dist = i: j:
+      let c = if substring (i - 1) 1 a == substring (j - 1) 1 b
+        then 0 else 1;
+      in
+      if j == 0 then i
+      else if i == 0 then j
+      else lib.min
+        ( lib.min (d (i - 1) j + 1) (d i (j - 1) + 1))
+        ( d (i - 1) (j - 1) + c );
+  in d (stringLength a) (stringLength b);
+
+  /* Returns the length of the prefix common to both strings.
+  */
+  commonPrefixLength = a: b:
+    let
+      m = lib.min (stringLength a) (stringLength b);
+      go = i: if i >= m then m else if substring i 1 a == substring i 1 b then go (i + 1) else i;
+    in go 0;
+
+  /* Returns the length of the suffix common to both strings.
+  */
+  commonSuffixLength = a: b:
+    let
+      m = lib.min (stringLength a) (stringLength b);
+      go = i: if i >= m then m else if substring (stringLength a - i - 1) 1 a == substring (stringLength b - i - 1) 1 b then go (i + 1) else i;
+    in go 0;
+
+  /* Returns whether the levenshtein distance between two strings is at most some value
+     Complexity is O(min(n,m)) for k <= 2 and O(n*m) otherwise
+
+     Type: levenshteinAtMost :: int -> string -> string -> bool
+
+     Example:
+       levenshteinAtMost 0 "foo" "foo"
+       => true
+       levenshteinAtMost 1 "foo" "boa"
+       => false
+       levenshteinAtMost 2 "foo" "boa"
+       => true
+       levenshteinAtMost 2 "This is a sentence" "this is a sentense."
+       => false
+       levenshteinAtMost 3 "This is a sentence" "this is a sentense."
+       => true
+
+  */
+  levenshteinAtMost = let
+    infixDifferAtMost1 = x: y: stringLength x <= 1 && stringLength y <= 1;
+
+    # This function takes two strings stripped by their common pre and suffix,
+    # and returns whether they differ by at most two by Levenshtein distance.
+    # Because of this stripping, if they do indeed differ by at most two edits,
+    # we know that those edits were (if at all) done at the start or the end,
+    # while the middle has to have stayed the same. This fact is used in the
+    # implementation.
+    infixDifferAtMost2 = x: y:
+      let
+        xlen = stringLength x;
+        ylen = stringLength y;
+        # This function is only called with |x| >= |y| and |x| - |y| <= 2, so
+        # diff is one of 0, 1 or 2
+        diff = xlen - ylen;
+
+        # Infix of x and y, stripped by the left and right most character
+        xinfix = substring 1 (xlen - 2) x;
+        yinfix = substring 1 (ylen - 2) y;
+
+        # x and y but a character deleted at the left or right
+        xdelr = substring 0 (xlen - 1) x;
+        xdell = substring 1 (xlen - 1) x;
+        ydelr = substring 0 (ylen - 1) y;
+        ydell = substring 1 (ylen - 1) y;
+      in
+        # A length difference of 2 can only be gotten with 2 delete edits,
+        # which have to have happened at the start and end of x
+        # Example: "abcdef" -> "bcde"
+        if diff == 2 then xinfix == y
+        # A length difference of 1 can only be gotten with a deletion on the
+        # right and a replacement on the left or vice versa.
+        # Example: "abcdef" -> "bcdez" or "zbcde"
+        else if diff == 1 then xinfix == ydelr || xinfix == ydell
+        # No length difference can either happen through replacements on both
+        # sides, or a deletion on the left and an insertion on the right or
+        # vice versa
+        # Example: "abcdef" -> "zbcdez" or "bcdefz" or "zabcde"
+        else xinfix == yinfix || xdelr == ydell || xdell == ydelr;
+
+    in k: if k <= 0 then a: b: a == b else
+      let f = a: b:
+        let
+          alen = stringLength a;
+          blen = stringLength b;
+          prelen = commonPrefixLength a b;
+          suflen = commonSuffixLength a b;
+          presuflen = prelen + suflen;
+          ainfix = substring prelen (alen - presuflen) a;
+          binfix = substring prelen (blen - presuflen) b;
+        in
+        # Make a be the bigger string
+        if alen < blen then f b a
+        # If a has over k more characters than b, even with k deletes on a, b can't be reached
+        else if alen - blen > k then false
+        else if k == 1 then infixDifferAtMost1 ainfix binfix
+        else if k == 2 then infixDifferAtMost2 ainfix binfix
+        else levenshtein ainfix binfix <= k;
+      in f;
 }
diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix
index d283c253f45f8..9012bba2b5675 100644
--- a/lib/tests/misc.nix
+++ b/lib/tests/misc.nix
@@ -649,6 +649,11 @@ runTests {
     expected = "foo";
   };
 
+  testSanitizeDerivationNameUnicode = testSanitizeDerivationName {
+    name = "fö";
+    expected = "f-";
+  };
+
   testSanitizeDerivationNameAscii = testSanitizeDerivationName {
     name = " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~";
     expected = "-+--.-0123456789-=-?-ABCDEFGHIJKLMNOPQRSTUVWXYZ-_-abcdefghijklmnopqrstuvwxyz-";
@@ -913,4 +918,156 @@ runTests {
     };
   };
 
+  ## Levenshtein distance functions and co.
+  testCommonPrefixLengthEmpty = {
+    expr = strings.commonPrefixLength "" "hello";
+    expected = 0;
+  };
+
+  testCommonPrefixLengthSame = {
+    expr = strings.commonPrefixLength "hello" "hello";
+    expected = 5;
+  };
+
+  testCommonPrefixLengthDiffering = {
+    expr = strings.commonPrefixLength "hello" "hey";
+    expected = 2;
+  };
+
+  testCommonSuffixLengthEmpty = {
+    expr = strings.commonSuffixLength "" "hello";
+    expected = 0;
+  };
+
+  testCommonSuffixLengthSame = {
+    expr = strings.commonSuffixLength "hello" "hello";
+    expected = 5;
+  };
+
+  testCommonSuffixLengthDiffering = {
+    expr = strings.commonSuffixLength "test" "rest";
+    expected = 3;
+  };
+
+  testLevenshteinEmpty = {
+    expr = strings.levenshtein "" "";
+    expected = 0;
+  };
+
+  testLevenshteinOnlyAdd = {
+    expr = strings.levenshtein "" "hello there";
+    expected = 11;
+  };
+
+  testLevenshteinOnlyRemove = {
+    expr = strings.levenshtein "hello there" "";
+    expected = 11;
+  };
+
+  testLevenshteinOnlyTransform = {
+    expr = strings.levenshtein "abcdef" "ghijkl";
+    expected = 6;
+  };
+
+  testLevenshteinMixed = {
+    expr = strings.levenshtein "kitchen" "sitting";
+    expected = 5;
+  };
+
+  testLevenshteinAtMostZeroFalse = {
+    expr = strings.levenshteinAtMost 0 "foo" "boo";
+    expected = false;
+  };
+
+  testLevenshteinAtMostZeroTrue = {
+    expr = strings.levenshteinAtMost 0 "foo" "foo";
+    expected = true;
+  };
+
+  testLevenshteinAtMostOneFalse = {
+    expr = strings.levenshteinAtMost 1 "car" "ct";
+    expected = false;
+  };
+
+  testLevenshteinAtMostOneTrue = {
+    expr = strings.levenshteinAtMost 1 "car" "cr";
+    expected = true;
+  };
+
+  # We test levenshteinAtMost 2 particularly well because it uses a complicated
+  # implementation
+  testLevenshteinAtMostTwoIsEmpty = {
+    expr = strings.levenshteinAtMost 2 "" "";
+    expected = true;
+  };
+
+  testLevenshteinAtMostTwoIsZero = {
+    expr = strings.levenshteinAtMost 2 "abcdef" "abcdef";
+    expected = true;
+  };
+
+  testLevenshteinAtMostTwoIsOne = {
+    expr = strings.levenshteinAtMost 2 "abcdef" "abddef";
+    expected = true;
+  };
+
+  testLevenshteinAtMostTwoDiff0False = {
+    expr = strings.levenshteinAtMost 2 "abcdef" "aczyef";
+    expected = false;
+  };
+
+  testLevenshteinAtMostTwoDiff0Outer = {
+    expr = strings.levenshteinAtMost 2 "abcdef" "zbcdez";
+    expected = true;
+  };
+
+  testLevenshteinAtMostTwoDiff0DelLeft = {
+    expr = strings.levenshteinAtMost 2 "abcdef" "bcdefz";
+    expected = true;
+  };
+
+  testLevenshteinAtMostTwoDiff0DelRight = {
+    expr = strings.levenshteinAtMost 2 "abcdef" "zabcde";
+    expected = true;
+  };
+
+  testLevenshteinAtMostTwoDiff1False = {
+    expr = strings.levenshteinAtMost 2 "abcdef" "bddez";
+    expected = false;
+  };
+
+  testLevenshteinAtMostTwoDiff1DelLeft = {
+    expr = strings.levenshteinAtMost 2 "abcdef" "bcdez";
+    expected = true;
+  };
+
+  testLevenshteinAtMostTwoDiff1DelRight = {
+    expr = strings.levenshteinAtMost 2 "abcdef" "zbcde";
+    expected = true;
+  };
+
+  testLevenshteinAtMostTwoDiff2False = {
+    expr = strings.levenshteinAtMost 2 "hello" "hxo";
+    expected = false;
+  };
+
+  testLevenshteinAtMostTwoDiff2True = {
+    expr = strings.levenshteinAtMost 2 "hello" "heo";
+    expected = true;
+  };
+
+  testLevenshteinAtMostTwoDiff3 = {
+    expr = strings.levenshteinAtMost 2 "hello" "ho";
+    expected = false;
+  };
+
+  testLevenshteinAtMostThreeFalse = {
+    expr = strings.levenshteinAtMost 3 "hello" "Holla!";
+    expected = false;
+  };
+
+  testLevenshteinAtMostThreeTrue = {
+    expr = strings.levenshteinAtMost 3 "hello" "Holla";
+    expected = true;
+  };
 }
diff --git a/lib/trivial.nix b/lib/trivial.nix
index 543680a10801f..18616a189c269 100644
--- a/lib/trivial.nix
+++ b/lib/trivial.nix
@@ -441,6 +441,25 @@ rec {
   isFunction = f: builtins.isFunction f ||
     (f ? __functor && isFunction (f.__functor f));
 
+  /*
+    Turns any non-callable values into constant functions.
+    Returns callable values as is.
+
+    Example:
+
+      nix-repl> lib.toFunction 1 2
+      1
+
+      nix-repl> lib.toFunction (x: x + 1) 2
+      3
+  */
+  toFunction =
+    # Any value
+    v:
+    if isFunction v
+    then v
+    else k: v;
+
   /* Convert the given positive integer to a string of its hexadecimal
      representation. For example:
 
diff --git a/lib/types.nix b/lib/types.nix
index 00d97bf572372..5c4b963106178 100644
--- a/lib/types.nix
+++ b/lib/types.nix
@@ -749,14 +749,6 @@ rec {
         nestedTypes.finalType = finalType;
       };
 
-    # Obsolete alternative to configOf.  It takes its option
-    # declarations from the ‘options’ attribute of containing option
-    # declaration.
-    optionSet = mkOptionType {
-      name = "optionSet";
-      description = "option set";
-      deprecationMessage = "Use `types.submodule' instead";
-    };
     # Augment the given type with an additional type check function.
     addCheck = elemType: check: elemType // { check = x: elemType.check x && check x; };
 
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 4a66ffa1eafb8..ef6fdab0efac2 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -929,6 +929,12 @@
     githubId = 1296771;
     name = "Anders Riutta";
   };
+  arjan-s = {
+    email = "github@anymore.nl";
+    github = "arjan-s";
+    githubId = 10400299;
+    name = "Arjan Schrijver";
+  };
   arkivm = {
     email = "vikram186@gmail.com";
     github = "arkivm";
@@ -2824,6 +2830,12 @@
     githubId = 49904992;
     name = "Dawid Sowa";
   };
+  dbeckwith = {
+    email = "djbsnx@gmail.com";
+    github = "dbeckwith";
+    githubId = 1279939;
+    name = "Daniel Beckwith";
+  };
   dbirks = {
     email = "david@birks.dev";
     github = "dbirks";
@@ -5405,6 +5417,12 @@
     githubId = 41924494;
     name = "Ivar";
   };
+  iwanb = {
+    email = "tracnar@gmail.com";
+    github = "iwanb";
+    githubId = 4035835;
+    name = "Iwan";
+  };
   ixmatus = {
     email = "parnell@digitalmentat.com";
     github = "ixmatus";
@@ -7258,6 +7276,17 @@
     githubId = 1267527;
     name = "Daniel Firth";
   };
+  lockejan = {
+    email = "git@smittie.de";
+    matrix = "@jan:smittie.de";
+    github = "lockejan";
+    githubId = 25434434;
+    name = "Jan Schmitt";
+    keys = [{
+      longkeyid = "dsa2048/0xA2BC3C6F14351991";
+      fingerprint = "1763 9903 2D7C 5B82 5D5A  0EAD A2BC 3C6F 1435 1991";
+    }];
+  };
   lodi = {
     email = "anthony.lodi@gmail.com";
     github = "lodi";
@@ -8526,7 +8555,7 @@
   };
   msfjarvis = {
     github = "msfjarvis";
-    githubId = 3348378;
+    githubId = 13348378;
     name = "Harsh Shandilya";
     email = "nixos@msfjarvis.dev";
     keys = [{
@@ -9927,6 +9956,12 @@
       fingerprint = "48AD DE10 F27B AFB4 7BB0  CCAF 2D25 95A0 0D08 ACE0";
     }];
   };
+  ppenguin = {
+    name = "Jeroen Versteeg";
+    email = "hieronymusv@gmail.com";
+    github = "ppenguin";
+    githubId = 17690377;
+  };
   ppom = {
     name = "Paco Pompeani";
     email = "paco@ecomail.io";
@@ -10283,6 +10318,16 @@
     githubId = 16487165;
     name = "Rafael Basso";
   };
+  rbreslow = {
+    name = "Rocky Breslow";
+    email = "1774125+rbreslow@users.noreply.github.com";
+    github = "rbreslow";
+    githubId = 1774125;
+    keys = [{
+      longkeyid = "ed25519/0xA0D32ACCA38B88ED";
+      fingerprint = "B5B7 BCA0 EE6F F31E 263A  69E3 A0D3 2ACC A38B 88ED";
+    }];
+  };
   rbrewer = {
     email = "rwb123@gmail.com";
     github = "rbrewer123";
@@ -10415,6 +10460,12 @@
     githubId = 811827;
     name = "Gabriel Lievano";
   };
+  rgrinberg = {
+    name = "Rudi Grinberg";
+    email = "me@rgrinberg.com";
+    github = "rgrinberg";
+    githubId = 139003;
+  };
   rgrunbla = {
     email = "remy@grunblatt.org";
     github = "rgrunbla";
@@ -11072,6 +11123,16 @@
     email = "schristopher@konputa.com";
     name = "Scott Christopher";
   };
+  sciencentistguy = {
+    email = "jamie@quigley.xyz";
+    name = "Jamie Quigley";
+    github = "Sciencentistguy";
+    githubId = 4983935;
+    keys = [{
+      longkeyid = "rsa2048/0x8E8FF66E2AE8D970";
+      fingerprint = "30BB FF3F AB0B BB3E 0435  F83C 8E8F F66E 2AE8 D970";
+    }];
+};
   scode = {
     email = "peter.schuller@infidyne.com";
     github = "scode";
@@ -12765,6 +12826,12 @@
     githubId = 1983821;
     name = "Eric Wolf";
   };
+  uakci = {
+    name = "uakci";
+    email = "uakci@uakci.pl";
+    github = "uakci";
+    githubId = 6961268;
+  };
   udono = {
     email = "udono@virtual-things.biz";
     github = "udono";
@@ -13192,6 +13259,12 @@
     githubId = 34962284;
     name = "wchresta";
   };
+  wdavidw = {
+    name = "David Worms";
+    email = "david@adaltas.com";
+    github = "wdavidw";
+    githubId = 46896;
+  };
   wedens = {
     email = "kirill.wedens@gmail.com";
     name = "wedens";
@@ -14194,4 +14267,16 @@
     github = "nigelgbanks";
     githubId = 487373;
   };
+  zanculmarktum = {
+    name = "Azure Zanculmarktum";
+    email = "zanculmarktum@gmail.com";
+    github = "zanculmarktum";
+    githubId = 16958511;
+  };
+  kuwii = {
+    name = "kuwii";
+    email = "kuwii.someone@gmail.com";
+    github = "kuwii";
+    githubId = 10705175;
+  };
 }
diff --git a/maintainers/scripts/dep-licenses.sh b/maintainers/scripts/dep-licenses.sh
index 28ad22c334fc1..816dcf6d7f768 100755
--- a/maintainers/scripts/dep-licenses.sh
+++ b/maintainers/scripts/dep-licenses.sh
@@ -9,7 +9,7 @@ tmp=$(mktemp --tmpdir -d nixpkgs-dep-license.XXXXXX)
 exitHandler() {
     exitCode=$?
     rm -rf "$tmp"
-    exit $exitCode
+    return $exitCode
 }
 
 trap "exitHandler" EXIT
diff --git a/maintainers/scripts/feature-freeze-teams.pl b/maintainers/scripts/feature-freeze-teams.pl
new file mode 100755
index 0000000000000..eb37150befe37
--- /dev/null
+++ b/maintainers/scripts/feature-freeze-teams.pl
@@ -0,0 +1,98 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i perl -p perl -p perlPackages.JSON perlPackages.LWPUserAgent perlPackages.LWPProtocolHttps perlPackages.TermReadKey
+
+# This script generates a list of teams to ping for the Feature Freeze announcement on Discourse.
+# It's intended to be used by Release Managers before creating such posts.
+#
+# The script interactively reads a GitHub username and a corresponding GitHub Personal Access token.
+# This is required to access the GitHub Teams API so the token needs at least the read:org privilege.
+
+## no critic (InputOutput::RequireCheckedSyscalls, InputOutput::ProhibitBacktickOperators)
+use strict;
+use warnings;
+use Carp;
+use Cwd 'abs_path';
+use File::Basename;
+use JSON qw(decode_json);
+use LWP::UserAgent;
+use Term::ReadKey qw(ReadLine ReadMode);
+
+sub github_team_members {
+    my ($team_name, $username, $token) = @_;
+    my @ret;
+
+    my $req = HTTP::Request->new('GET', "https://api.github.com/orgs/NixOS/teams/$team_name/members", [ 'Accept' => 'application/vnd.github.v3+json' ]);
+    $req->authorization_basic($username, $token);
+    my $response = LWP::UserAgent->new->request($req);
+
+    if ($response->is_success) {
+        my $content = decode_json($response->decoded_content);
+        foreach (@{$content}) {
+            push @ret, $_->{'login'};
+        }
+    } else {
+        print {*STDERR} "!! Requesting members of GitHub Team '$team_name' failed: $response->status_line";
+    }
+
+    return \@ret;
+}
+
+# Read GitHub credentials
+print {*STDERR} 'GitHub username: ';
+my $github_user = ReadLine(0);
+ReadMode('noecho');
+print {*STDERR} 'GitHub personal access token (no echo): ';
+my $github_token = ReadLine(0);
+ReadMode('restore');
+print {*STDERR} "\n";
+chomp $github_user;
+chomp $github_token;
+
+# Read nix output
+my $nix_version = `nix --version`;
+my $out;
+my $lib_path = abs_path(dirname(__FILE__)) . '../../../lib';
+if ($nix_version =~ m/2[.]3[.]/msx) {
+    $out = `nix eval --json '(import $lib_path).teams'` || croak 'nix eval failed';
+} else {
+    $out = `nix --extra-experimental-features nix-command eval --json --impure --expr '(import $lib_path).teams'` || croak('nix eval failed');
+}
+my $data = decode_json($out);
+
+# Process teams
+print {*STDERR} "\n";
+while (my ($team_nix_key, $team_config) = each %{$data}) {
+    # Ignore teams that don't want to be or can't be pinged
+    if (not defined $team_config->{enableFeatureFreezePing} or not $team_config->{enableFeatureFreezePing}) {
+        next;
+    }
+    if (not defined $team_config->{shortName}) {
+        print {*STDERR} "!! The team with the nix key '$team_nix_key' has no shortName set - ignoring";
+        next;
+    }
+    #  Team name
+    print {*STDERR} "$team_config->{shortName}:";
+    # GitHub Teams
+    my @github_members;
+    if (defined $team_config->{githubTeams}) {
+        foreach (@{$team_config->{githubTeams}}) {
+            print {*STDERR} " \@NixOS/${_}";
+            push @github_members, @{github_team_members($_, $github_user, $github_token)};
+        }
+    }
+    my %github_members = map { $_ => 1 } @github_members;
+    # Members
+    if (defined $team_config->{members}) {
+        foreach (@{$team_config->{members}}) {
+            my %user = %{$_};
+            my $github_handle = $user{'github'};
+            # Ensure we don't ping team members twice (as team member and directly)
+            if (defined $github_members{$github_handle}) {
+                next;
+            }
+            print {*STDERR} " \@$github_handle";
+        }
+    }
+
+    print {*STDERR} "\n";
+}
diff --git a/maintainers/scripts/haskell/maintained-broken-pkgs.nix b/maintainers/scripts/haskell/maintained-broken-pkgs.nix
new file mode 100644
index 0000000000000..7416bfa46ee0d
--- /dev/null
+++ b/maintainers/scripts/haskell/maintained-broken-pkgs.nix
@@ -0,0 +1,22 @@
+let
+  nixpkgs = import ../../..;
+  inherit (nixpkgs {}) haskellPackages lib;
+  maintainedPkgs = lib.filterAttrs (
+    _: v: builtins.length (v.meta.maintainers or []) > 0
+  ) haskellPackages;
+  brokenPkgs = lib.filterAttrs (_: v: v.meta.broken) maintainedPkgs;
+  transitiveBrokenPkgs = lib.filterAttrs
+    (_: v: !(builtins.tryEval (v.outPath or null)).success && !v.meta.broken)
+    maintainedPkgs;
+  infoList = pkgs: lib.concatStringsSep "\n" (lib.mapAttrsToList (name: drv: "${name} ${(builtins.elemAt drv.meta.maintainers 0).github}") pkgs);
+in {
+  report = ''
+    BROKEN:
+    ${infoList brokenPkgs}
+
+    TRANSITIVE BROKEN:
+    ${infoList transitiveBrokenPkgs}
+  '';
+  transitiveErrors =
+    builtins.attrValues transitiveBrokenPkgs;
+}
diff --git a/maintainers/scripts/haskell/update-stackage.sh b/maintainers/scripts/haskell/update-stackage.sh
index ecf38dc4b9001..4da9f6d28c2fd 100755
--- a/maintainers/scripts/haskell/update-stackage.sh
+++ b/maintainers/scripts/haskell/update-stackage.sh
@@ -1,26 +1,38 @@
 #! /usr/bin/env nix-shell
 #! nix-shell -i bash -p nix curl jq nix-prefetch-github git gnused gnugrep -I nixpkgs=.
+# shellcheck shell=bash
 
 set -eu -o pipefail
 
-tmpfile=$(mktemp "update-stackage.XXXXXXX")
-# shellcheck disable=SC2064
+# Stackage solver to use, LTS or Nightly
+# (should be capitalized like the display name)
+SOLVER=LTS
+TMP_TEMPLATE=update-stackage.XXXXXXX
+readonly SOLVER
+readonly TMP_TEMPLATE
+
+toLower() {
+    printf "%s" "$1" | tr '[:upper:]' '[:lower:]'
+}
+
+tmpfile=$(mktemp "$TMP_TEMPLATE")
+tmpfile_new=$(mktemp "$TMP_TEMPLATE")
 
 stackage_config="pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml"
 
-trap "rm ${tmpfile} ${tmpfile}.new" 0
-touch "$tmpfile" "$tmpfile.new" # Creating files here so that trap creates no errors.
+trap 'rm "${tmpfile}" "${tmpfile_new}"' 0
+touch "$tmpfile" "$tmpfile_new" # Creating files here so that trap creates no errors.
 
-curl -L -s "https://stackage.org/lts/cabal.config" >"$tmpfile"
-old_version=$(grep "# Stackage" $stackage_config | sed -E 's/.*([0-9]{2}\.[0-9]+)/\1/')
-version=$(sed -rn "s/^--.*http:..(www.)?stackage.org.snapshot.lts-//p" "$tmpfile")
+curl -L -s "https://stackage.org/$(toLower "$SOLVER")/cabal.config" >"$tmpfile"
+old_version=$(grep '^# Stackage' $stackage_config | sed -e 's/.\+ \([A-Za-z]\+ [0-9.-]\+\)$/\1/g')
+version="$SOLVER $(sed -rn "s/^--.*http:..(www.)?stackage.org.snapshot.$(toLower "$SOLVER")-//p" "$tmpfile")"
 
 if [[ "$old_version" == "$version" ]]; then
    echo "No new stackage version"
    exit 0 # Nothing to do
 fi
 
-echo "Updating Stackage LTS from $old_version to $version."
+echo "Updating Stackage from $old_version to $version."
 
 # Create a simple yaml version of the file.
 sed -r \
@@ -30,10 +42,10 @@ sed -r \
     -e 's|,$||' \
     -e '/installed$/d' \
     -e '/^$/d' \
-    < "${tmpfile}" | sort --ignore-case >"${tmpfile}.new"
+    < "${tmpfile}" | sort --ignore-case >"${tmpfile_new}"
 
 cat > $stackage_config << EOF
-# Stackage LTS $version
+# Stackage $version
 # This file is auto-generated by
 # maintainers/scripts/haskell/update-stackage.sh
 default-package-overrides:
@@ -45,12 +57,13 @@ sed -r \
     -e '/ distribution-nixpkgs /d' \
     -e '/ jailbreak-cabal /d' \
     -e '/ language-nix /d' \
-    < "${tmpfile}.new" >> $stackage_config
+    -e '/ cabal-install /d' \
+    < "${tmpfile_new}" >> $stackage_config
 
 if [[ "${1:-}" == "--do-commit" ]]; then
 git add $stackage_config
 git commit -F - << EOF
-haskellPackages: stackage-lts $old_version -> $version
+haskellPackages: stackage $old_version -> $version
 
 This commit has been generated by maintainers/scripts/haskell/update-stackage.sh
 EOF
diff --git a/maintainers/scripts/luarocks-packages.csv b/maintainers/scripts/luarocks-packages.csv
index d69546cdf07e1..bdda8020a3da3 100644
--- a/maintainers/scripts/luarocks-packages.csv
+++ b/maintainers/scripts/luarocks-packages.csv
@@ -81,6 +81,6 @@ rapidjson,https://github.com/xpol/lua-rapidjson.git,,,,,
 readline,,,,,,
 say,https://github.com/Olivine-Labs/say.git,,,,,
 std._debug,https://github.com/lua-stdlib/_debug.git,,,,,
-std.normalize,git://github.com/lua-stdlib/normalize.git,,,,,
+std.normalize,https://github.com/lua-stdlib/normalize.git,,,,,
 stdlib,,,,41.2.2,,vyp
 vstruct,https://github.com/ToxicFrog/vstruct.git,,,,,
diff --git a/maintainers/scripts/pluginupdate.py b/maintainers/scripts/pluginupdate.py
index 017e3ac758ac2..3cfdb1387053d 100644
--- a/maintainers/scripts/pluginupdate.py
+++ b/maintainers/scripts/pluginupdate.py
@@ -8,6 +8,7 @@
 # $ nix run nixpkgs.python3Packages.flake8 -c flake8 --ignore E501,E265 update.py
 
 import argparse
+import csv
 import functools
 import http
 import json
@@ -28,7 +29,7 @@ from pathlib import Path
 from typing import Dict, List, Optional, Tuple, Union, Any, Callable
 from urllib.parse import urljoin, urlparse
 from tempfile import NamedTemporaryFile
-from dataclasses import dataclass
+from dataclasses import dataclass, asdict
 
 import git
 
@@ -85,21 +86,30 @@ def make_request(url: str, token=None) -> urllib.request.Request:
         headers["Authorization"] = f"token {token}"
     return urllib.request.Request(url, headers=headers)
 
+
+Redirects = Dict['Repo', 'Repo']
+
 class Repo:
     def __init__(
-        self, uri: str, branch: str, alias: Optional[str]
+        self, uri: str, branch: str
     ) -> None:
         self.uri = uri
         '''Url to the repo'''
-        self.branch = branch
-        self.alias = alias
-        self.redirect: Dict[str, str] = {}
+        self._branch = branch
+        # {old_uri: new_uri}
+        self.redirect: Redirects = {}
         self.token = "dummy_token"
 
     @property
     def name(self):
         return self.uri.split('/')[-1]
 
+    @property
+    def branch(self):
+        return self._branch or "HEAD"
+
+    def __str__(self) -> str:
+        return f"{self.uri}"
     def __repr__(self) -> str:
         return f"Repo({self.name}, {self.uri})"
 
@@ -109,6 +119,7 @@ class Repo:
 
     @retry(urllib.error.URLError, tries=4, delay=3, backoff=2)
     def latest_commit(self) -> Tuple[str, datetime]:
+        log.debug("Latest commit")
         loaded = self._prefetch(None)
         updated = datetime.strptime(loaded['date'], "%Y-%m-%dT%H:%M:%S%z")
 
@@ -124,6 +135,7 @@ class Repo:
         return loaded
 
     def prefetch(self, ref: Optional[str]) -> str:
+        print("Prefetching")
         loaded = self._prefetch(ref)
         return loaded["sha256"]
 
@@ -137,21 +149,22 @@ class Repo:
 
 class RepoGitHub(Repo):
     def __init__(
-        self, owner: str, repo: str, branch: str, alias: Optional[str]
+        self, owner: str, repo: str, branch: str
     ) -> None:
         self.owner = owner
         self.repo = repo
         self.token = None
         '''Url to the repo'''
-        super().__init__(self.url(""), branch, alias)
-        log.debug("Instantiating github repo %s/%s", self.owner, self.repo)
+        super().__init__(self.url(""), branch)
+        log.debug("Instantiating github repo owner=%s and repo=%s", self.owner, self.repo)
 
     @property
     def name(self):
         return self.repo
 
     def url(self, path: str) -> str:
-        return urljoin(f"https://github.com/{self.owner}/{self.name}/", path)
+        res = urljoin(f"https://github.com/{self.owner}/{self.repo}/", path)
+        return res
 
     @retry(urllib.error.URLError, tries=4, delay=3, backoff=2)
     def has_submodules(self) -> bool:
@@ -168,6 +181,7 @@ class RepoGitHub(Repo):
     @retry(urllib.error.URLError, tries=4, delay=3, backoff=2)
     def latest_commit(self) -> Tuple[str, datetime]:
         commit_url = self.url(f"commits/{self.branch}.atom")
+        log.debug("Sending request to %s", commit_url)
         commit_req = make_request(commit_url, self.token)
         with urllib.request.urlopen(commit_req, timeout=10) as req:
             self._check_for_redirect(commit_url, req)
@@ -191,12 +205,9 @@ class RepoGitHub(Repo):
             new_owner, new_name = (
                 urllib.parse.urlsplit(response_url).path.strip("/").split("/")[:2]
             )
-            end_line = "\n" if self.alias is None else f" as {self.alias}\n"
-            plugin_line = "{owner}/{name}" + end_line
 
-            old_plugin = plugin_line.format(owner=self.owner, name=self.name)
-            new_plugin = plugin_line.format(owner=new_owner, name=new_name)
-            self.redirect[old_plugin] = new_plugin
+            new_repo = RepoGitHub(owner=new_owner, repo=new_name, branch=self.branch)
+            self.redirect[self] = new_repo
 
 
     def prefetch(self, commit: str) -> str:
@@ -207,9 +218,9 @@ class RepoGitHub(Repo):
         return sha256
 
     def prefetch_github(self, ref: str) -> str:
-        data = subprocess.check_output(
-            ["nix-prefetch-url", "--unpack", self.url(f"archive/{ref}.tar.gz")]
-        )
+        cmd = ["nix-prefetch-url", "--unpack", self.url(f"archive/{ref}.tar.gz")]
+        log.debug("Running %s", cmd)
+        data = subprocess.check_output(cmd)
         return data.strip().decode("utf-8")
 
     def as_nix(self, plugin: "Plugin") -> str:
@@ -239,21 +250,38 @@ class PluginDesc:
         else:
             return self.alias
 
+    def __lt__(self, other):
+        return self.repo.name < other.repo.name
+
+    @staticmethod
+    def load_from_csv(config: FetchConfig, row: Dict[str, str]) -> 'PluginDesc':
+        branch = row["branch"]
+        repo = make_repo(row['repo'], branch.strip())
+        repo.token = config.github_token
+        return PluginDesc(repo, branch.strip(), row["alias"])
+
+
+    @staticmethod
+    def load_from_string(config: FetchConfig, line: str) -> 'PluginDesc':
+        branch = "HEAD"
+        alias = None
+        uri = line
+        if " as " in uri:
+            uri, alias = uri.split(" as ")
+            alias = alias.strip()
+        if "@" in uri:
+            uri, branch = uri.split("@")
+        repo = make_repo(uri.strip(), branch.strip())
+        repo.token = config.github_token
+        return PluginDesc(repo, branch.strip(), alias)
 
+@dataclass
 class Plugin:
-    def __init__(
-        self,
-        name: str,
-        commit: str,
-        has_submodules: bool,
-        sha256: str,
-        date: Optional[datetime] = None,
-    ) -> None:
-        self.name = name
-        self.commit = commit
-        self.has_submodules = has_submodules
-        self.sha256 = sha256
-        self.date = date
+    name: str
+    commit: str
+    has_submodules: bool
+    sha256: str
+    date: Optional[datetime] = None
 
     @property
     def normalized_name(self) -> str:
@@ -270,6 +298,17 @@ class Plugin:
         return copy
 
 
+def load_plugins_from_csv(config: FetchConfig, input_file: Path,) -> List[PluginDesc]:
+    log.debug("Load plugins from csv %s", input_file)
+    plugins = []
+    with open(input_file, newline='') as csvfile:
+        log.debug("Writing into %s", input_file)
+        reader = csv.DictReader(csvfile,)
+        for line in reader:
+            plugin = PluginDesc.load_from_csv(config, line)
+            plugins.append(plugin)
+
+    return plugins
 
 class Editor:
     """The configuration of the update script."""
@@ -298,14 +337,8 @@ class Editor:
         return get_current_plugins(self)
 
     def load_plugin_spec(self, config: FetchConfig, plugin_file) -> List[PluginDesc]:
-        plugins = []
-        with open(plugin_file) as f:
-            for line in f:
-                if line.startswith("#"):
-                    continue
-                plugin = parse_plugin_line(config, line)
-                plugins.append(plugin)
-        return plugins
+        '''CSV spec'''
+        return load_plugins_from_csv(config, plugin_file)
 
     def generate_nix(self, plugins, outfile: str):
         '''Returns nothing for now, writes directly to outfile'''
@@ -316,11 +349,11 @@ class Editor:
         _prefetch = functools.partial(prefetch, cache=cache)
 
         def update() -> dict:
-            plugin_names = self.load_plugin_spec(config, input_file)
+            plugins = self.load_plugin_spec(config, input_file)
 
             try:
                 pool = Pool(processes=config.proc)
-                results = pool.map(_prefetch, plugin_names)
+                results = pool.map(_prefetch, plugins)
             finally:
                 cache.store()
 
@@ -423,6 +456,7 @@ def get_current_plugins(editor: Editor) -> List[Plugin]:
     data = json.loads(out)
     plugins = []
     for name, attr in data.items():
+        print("get_current_plugins: name %s" % name)
         p = Plugin(name, attr["rev"], attr["submodules"], attr["sha256"])
         plugins.append(p)
     return plugins
@@ -431,7 +465,7 @@ def get_current_plugins(editor: Editor) -> List[Plugin]:
 def prefetch_plugin(
     p: PluginDesc,
     cache: "Optional[Cache]" = None,
-) -> Tuple[Plugin, Dict[str, str]]:
+) -> Tuple[Plugin, Redirects]:
     repo, branch, alias = p.repo, p.branch, p.alias
     name = alias or p.repo.name
     commit = None
@@ -454,11 +488,6 @@ def prefetch_plugin(
     )
 
 
-def fetch_plugin_from_pluginline(config: FetchConfig, plugin_line: str) -> Plugin:
-    plugin, _ = prefetch_plugin(parse_plugin_line(config, plugin_line))
-    return plugin
-
-
 def print_download_error(plugin: str, ex: Exception):
     print(f"{plugin}: {ex}", file=sys.stderr)
     ex_traceback = ex.__traceback__
@@ -468,14 +497,14 @@ def print_download_error(plugin: str, ex: Exception):
     ]
     print("\n".join(tb_lines))
 
-
 def check_results(
-    results: List[Tuple[PluginDesc, Union[Exception, Plugin], Dict[str, str]]]
-) -> Tuple[List[Tuple[PluginDesc, Plugin]], Dict[str, str]]:
+    results: List[Tuple[PluginDesc, Union[Exception, Plugin], Redirects]]
+) -> Tuple[List[Tuple[PluginDesc, Plugin]], Redirects]:
     ''' '''
     failures: List[Tuple[str, Exception]] = []
     plugins = []
-    redirects: Dict[str, str] = {}
+    # {old: new} plugindesc
+    redirects: Dict[Repo, Repo] = {}
     for (pdesc, result, redirect) in results:
         if isinstance(result, Exception):
             failures.append((pdesc.name, result))
@@ -495,31 +524,17 @@ def check_results(
 
         sys.exit(1)
 
-def make_repo(uri, branch, alias) -> Repo:
+def make_repo(uri: str, branch) -> Repo:
     '''Instantiate a Repo with the correct specialization depending on server (gitub spec)'''
     # dumb check to see if it's of the form owner/repo (=> github) or https://...
-    res = uri.split('/')
-    if len(res) <= 2:
-        repo = RepoGitHub(res[0], res[1], branch, alias)
+    res = urlparse(uri)
+    if res.netloc in [ "github.com", ""]:
+        res = res.path.strip('/').split('/')
+        repo = RepoGitHub(res[0], res[1], branch)
     else:
-        repo = Repo(uri.strip(), branch, alias)
+        repo = Repo(uri.strip(), branch)
     return repo
 
-def parse_plugin_line(config: FetchConfig, line: str) -> PluginDesc:
-    branch = "HEAD"
-    alias = None
-    uri = line
-    if " as " in uri:
-        uri, alias = uri.split(" as ")
-        alias = alias.strip()
-    if "@" in uri:
-        uri, branch = uri.split("@")
-
-    repo = make_repo(uri.strip(), branch.strip(), alias)
-    repo.token = config.github_token
-
-    return PluginDesc(repo, branch.strip(), alias)
-
 
 def get_cache_path(cache_file_name: str) -> Optional[Path]:
     xdg_cache = os.environ.get("XDG_CACHE_HOME", None)
@@ -585,27 +600,27 @@ def prefetch(
         return (pluginDesc, e, {})
 
 
+
 def rewrite_input(
     config: FetchConfig,
     input_file: Path,
     deprecated: Path,
-    redirects: Dict[str, str] = None,
-    append: Tuple = (),
+    # old pluginDesc and the new
+    redirects: Dict[PluginDesc, PluginDesc] = {},
+    append: List[PluginDesc] = [],
 ):
-    with open(input_file, "r") as f:
-        lines = f.readlines()
+    plugins = load_plugins_from_csv(config, input_file,)
 
-    lines.extend(append)
+    plugins.extend(append)
 
     if redirects:
-        lines = [redirects.get(line, line) for line in lines]
 
         cur_date_iso = datetime.now().strftime("%Y-%m-%d")
         with open(deprecated, "r") as f:
             deprecations = json.load(f)
         for old, new in redirects.items():
-            old_plugin = fetch_plugin_from_pluginline(config, old)
-            new_plugin = fetch_plugin_from_pluginline(config, new)
+            old_plugin, _ = prefetch_plugin(old)
+            new_plugin, _ = prefetch_plugin(new)
             if old_plugin.normalized_name != new_plugin.normalized_name:
                 deprecations[old_plugin.normalized_name] = {
                     "new": new_plugin.normalized_name,
@@ -615,10 +630,14 @@ def rewrite_input(
             json.dump(deprecations, f, indent=4, sort_keys=True)
             f.write("\n")
 
-    lines = sorted(lines, key=str.casefold)
-
     with open(input_file, "w") as f:
-        f.writelines(lines)
+        log.debug("Writing into %s", input_file)
+        # fields = dataclasses.fields(PluginDesc)
+        fieldnames = ['repo', 'branch', 'alias']
+        writer = csv.DictWriter(f, fieldnames, dialect='unix', quoting=csv.QUOTE_NONE)
+        writer.writeheader()
+        for plugin in sorted(plugins):
+            writer.writerow(asdict(plugin))
 
 
 def commit(repo: git.Repo, message: str, files: List[Path]) -> None:
@@ -660,9 +679,11 @@ def update_plugins(editor: Editor, args):
             )
 
     for plugin_line in args.add_plugins:
-        editor.rewrite_input(fetch_config, args.input_file, editor.deprecated, append=(plugin_line + "\n",))
+        pdesc = PluginDesc.load_from_string(fetch_config, plugin_line)
+        append = [ pdesc ]
+        editor.rewrite_input(fetch_config, args.input_file, editor.deprecated, append=append)
         update()
-        plugin = fetch_plugin_from_pluginline(fetch_config, plugin_line)
+        plugin, _ = prefetch_plugin(pdesc, )
         if autocommit:
             commit(
                 nixpkgs_repo,
diff --git a/maintainers/scripts/remove-old-aliases.py b/maintainers/scripts/remove-old-aliases.py
index 5d9398feaa25e..c5629c829594d 100755
--- a/maintainers/scripts/remove-old-aliases.py
+++ b/maintainers/scripts/remove-old-aliases.py
@@ -28,6 +28,11 @@ def process_args() -> argparse.Namespace:
         default=1,
         help="operate on aliases older than $year-$month",
     )
+    arg_parser.add_argument(
+        "--only-throws",
+        action="store_true",
+        help="only operate on throws. e.g remove throws older than $date",
+    )
     arg_parser.add_argument("--file", required=True, type=Path, help="alias file")
     arg_parser.add_argument(
         "--dry-run", action="store_true", help="don't modify files, only print results"
@@ -36,7 +41,7 @@ def process_args() -> argparse.Namespace:
 
 
 def get_date_lists(
-    txt: list[str], cutoffdate: datetimedate
+    txt: list[str], cutoffdate: datetimedate, only_throws: bool
 ) -> tuple[list[str], list[str], list[str]]:
     """get a list of lines in which the date is older than $cutoffdate"""
     date_older_list: list[str] = []
@@ -57,7 +62,11 @@ def get_date_lists(
                 except ValueError:
                     continue
 
-        if my_date is None or my_date > cutoffdate:
+        if (
+            my_date is None
+            or my_date > cutoffdate
+            or "preserve, reason:" in line.lower()
+        ):
             continue
 
         if "=" not in line:
@@ -67,7 +76,7 @@ def get_date_lists(
             print(f"RESOLVE MANUALLY {line}")
         elif "throw" in line:
             date_older_throw_list.append(line)
-        else:
+        elif not only_throws:
             date_older_list.append(line)
 
     return (
@@ -160,6 +169,7 @@ def main() -> None:
     """main"""
     args = process_args()
 
+    only_throws = args.only_throws
     aliasfile = Path(args.file).absolute()
     cutoffdate = (datetime.strptime(f"{args.year}-{args.month}-01", "%Y-%m-%d")).date()
 
@@ -170,13 +180,12 @@ def main() -> None:
     date_older_throw_list: list[str] = []
 
     date_older_list, date_sep_line_list, date_older_throw_list = get_date_lists(
-        txt, cutoffdate
+        txt, cutoffdate, only_throws
     )
 
     converted_to_throw: list[tuple[str, str]] = []
-    converted_to_throw = convert_to_throw(date_older_list)
-
     if date_older_list:
+        converted_to_throw = convert_to_throw(date_older_list)
         print(" Will be converted to throws. ".center(100, "-"))
         for l_n in date_older_list:
             print(l_n)
diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix
index bf4fcc6a4a7d0..7d12a82d49218 100644
--- a/maintainers/team-list.nix
+++ b/maintainers/team-list.nix
@@ -3,12 +3,19 @@
       # Required
       members = [ maintainer1 maintainer2 ];
       scope = "Maintain foo packages.";
+      shortName = "foo";
+      # Optional
+      enableFeatureFreezePing = true;
+      githubTeams = [ "my-subsystem" ];
     };
 
   where
 
   - `members` is the list of maintainers belonging to the group,
   - `scope` describes the scope of the group.
+  - `shortName` short human-readable name
+  - `enableFeatureFreezePing` will ping this team during the Feature Freeze announcements on releases
+  - `githubTeams` will ping specified GitHub teams as well
 
   More fields may be added in the future.
 
@@ -27,6 +34,7 @@ with lib.maintainers; {
       m1cr0man
     ];
     scope = "Maintain ACME-related packages and modules.";
+    shortName = "ACME";
   };
 
   bazel = {
@@ -41,6 +49,8 @@ with lib.maintainers; {
       ylecornec
     ];
     scope = "Bazel build tool & related tools https://bazel.build/";
+    shortName = "Bazel";
+    enableFeatureFreezePing = true;
   };
 
   beam = {
@@ -53,7 +63,32 @@ with lib.maintainers; {
       minijackson
       yurrriq
     ];
+    githubTeams = [
+      "beam"
+    ];
     scope = "Maintain BEAM-related packages and modules.";
+    shortName = "BEAM";
+    enableFeatureFreezePing = true;
+  };
+
+  blockchains = {
+    members = [
+      mmahut
+      RaghavSood
+    ];
+    scope = "Maintain Blockchain packages and modules.";
+    shortName = "Blockchains";
+    enableFeatureFreezePing = true;
+  };
+
+  c = {
+    members = [
+      matthewbauer
+      mic92
+    ];
+    scope = "Maintain C libraries and tooling.";
+    shortName = "C";
+    enableFeatureFreezePing = true;
   };
 
   cinnamon = {
@@ -61,6 +96,8 @@ with lib.maintainers; {
       mkg20001
     ];
     scope = "Maintain Cinnamon desktop environment and applications made by the LinuxMint team.";
+    shortName = "Cinnamon";
+    enableFeatureFreezePing = true;
   };
 
   chia = {
@@ -68,6 +105,40 @@ with lib.maintainers; {
       lourkeur
     ];
     scope = "Maintain the Chia blockchain and its dependencies";
+    shortName = "Chia Blockchain";
+  };
+
+  coq = {
+    members = [
+      cohencyril
+      Zimmi48
+      # gares has no entry in the maintainers list
+      siraben
+      vbgl
+    ];
+    scope = "Maintain the Coq theorem prover and related packages.";
+    shortName = "Coq";
+    enableFeatureFreezePing = true;
+  };
+
+  darwin = {
+    members = [
+      toonn
+    ];
+    githubTeams = [
+      "darwin-maintainers"
+    ];
+    scope = "Maintain Darwin compatibility of packages and Darwin-only packages.";
+    shortName = "Darwin";
+    enableFeatureFreezePing = true;
+  };
+
+  cosmopolitan = {
+    members = [
+      lourkeur
+      tomberek
+    ];
+    scope = "Maintain the Cosmopolitan LibC and related programs.";
   };
 
   deshaw = {
@@ -76,6 +147,7 @@ with lib.maintainers; {
       limeytexan
     ];
     scope = "Group registration for D. E. Shaw employees who collectively maintain packages.";
+    shortName = "Shaw employees";
   };
 
   determinatesystems = {
@@ -85,11 +157,63 @@ with lib.maintainers; {
       grahamc
     ];
     scope = "Group registration for packages maintained by Determinate Systems.";
+    shortName = "Determinate Systems employees";
+  };
+
+  dhall = {
+    members = [
+      Gabriel439
+      ehmry
+    ];
+    scope = "Maintain Dhall and related packages.";
+    shortName = "Dhall";
+    enableFeatureFreezePing = true;
+  };
+
+  docker = {
+    members = [
+      roberth
+      utdemir
+    ];
+    scope = "Maintain Docker and related tools.";
+    shortName = "DockerTools";
+    enableFeatureFreezePing = true;
+  };
+
+  docs = {
+    members = [
+      ryantm
+    ];
+    scope = "Maintain nixpkgs/NixOS documentation and tools for building it.";
+    shortName = "Docs";
+    enableFeatureFreezePing = true;
+  };
+
+  emacs = {
+    members = [
+      adisbladis
+    ];
+    scope = "Maintain the Emacs editor and packages.";
+    shortName = "Emacs";
+    enableFeatureFreezePing = true;
+  };
+
+  # Dummy group for the "everyone else" section
+  feature-freeze-everyone-else = {
+    members = [ ];
+    githubTeams = [
+      "nixpkgs-committers"
+      "release-engineers"
+    ];
+    scope = "Dummy team for the #everyone else' section during feture freezes, not to be used as package maintainers!";
+    shortName = "Everyone else";
+    enableFeatureFreezePing = true;
   };
 
   freedesktop = {
     members = [ jtojnar ];
     scope = "Maintain Freedesktop.org packages for graphical desktop.";
+    shortName = "freedesktop.org packaging";
   };
 
   gcc = {
@@ -99,6 +223,7 @@ with lib.maintainers; {
       ericson2314
     ];
     scope = "Maintain GCC (GNU Compiler Collection) compilers";
+    shortName = "GCC";
   };
 
   golang = {
@@ -113,16 +238,24 @@ with lib.maintainers; {
       zowoq
     ];
     scope = "Maintain Golang compilers.";
+    shortName = "Go";
+    enableFeatureFreezePing = true;
   };
 
   gnome = {
     members = [
+      bobby285271
       hedning
       jtojnar
       dasj19
       maxeaubrey
     ];
+    githubTeams = [
+      "gnome"
+    ];
     scope = "Maintain GNOME desktop environment and platform.";
+    shortName = "GNOME";
+    enableFeatureFreezePing = true;
   };
 
   haskell = {
@@ -132,7 +265,12 @@ with lib.maintainers; {
       maralorn
       sternenseemann
     ];
+    githubTeams = [
+      "haskell"
+    ];
     scope = "Maintain Haskell packages and infrastructure.";
+    shortName = "Haskell";
+    enableFeatureFreezePing = true;
   };
 
   home-assistant = {
@@ -143,6 +281,7 @@ with lib.maintainers; {
       mic92
     ];
     scope = "Maintain the Home Assistant ecosystem";
+    shortName = "Home Assistant";
   };
 
   iog = {
@@ -154,6 +293,7 @@ with lib.maintainers; {
       nrdxp
     ];
     scope = "Input-Output Global employees, which maintain critical software";
+    shortName = "Input-Output Global employees";
   };
 
   jitsi = {
@@ -164,6 +304,7 @@ with lib.maintainers; {
       yuka
     ];
     scope = "Maintain Jitsi.";
+    shortName = "Jitsi";
   };
 
   kubernetes = {
@@ -175,6 +316,7 @@ with lib.maintainers; {
       zowoq
     ];
     scope = "Maintain the Kubernetes package and module";
+    shortName = "Kubernetes";
   };
 
   kodi = {
@@ -187,6 +329,7 @@ with lib.maintainers; {
       sephalon
     ];
     scope = "Maintain Kodi and related packages.";
+    shortName = "Kodi";
   };
 
   linux-kernel = {
@@ -197,6 +340,17 @@ with lib.maintainers; {
       qyliss
     ];
     scope = "Maintain the Linux kernel.";
+    shortName = "Linux Kernel";
+  };
+
+  marketing = {
+    members = [
+      garbas
+      tomberek
+    ];
+    scope = "Marketing of Nix/NixOS/nixpkgs.";
+    shortName = "Marketing";
+    enableFeatureFreezePing = true;
   };
 
   mate = {
@@ -205,6 +359,7 @@ with lib.maintainers; {
       romildo
     ];
     scope = "Maintain Mate desktop environment and related packages.";
+    shortName = "MATE";
   };
 
   matrix = {
@@ -218,6 +373,40 @@ with lib.maintainers; {
       sumnerevans
     ];
     scope = "Maintain the ecosystem around Matrix, a decentralized messenger.";
+    shortName = "Matrix";
+  };
+
+  mobile = {
+    members = [
+      samueldr
+    ];
+    scope = "Maintain Mobile NixOS.";
+    shortName = "Mobile";
+    enableFeatureFreezePing = true;
+  };
+
+  nix = {
+    members = [
+      Profpatsch
+      eelco
+      grahamc
+      pierron
+    ];
+    scope = "Maintain the Nix package manager.";
+    shortName = "Nix/nix-cli ecosystem";
+    enableFeatureFreezePing = true;
+  };
+
+  nixos-modules = {
+    members = [
+      ericson2314
+      infinisil
+      qyliss
+      roberth
+    ];
+    scope = "Maintain nixpkgs module system internals.";
+    shortName = "NixOS Modules / internals";
+    enableFeatureFreezePing = true;
   };
 
   openstack = {
@@ -226,6 +415,7 @@ with lib.maintainers; {
       SuperSandro2000
     ];
     scope = "Maintain the ecosystem around OpenStack";
+    shortName = "OpenStack";
   };
 
   pantheon = {
@@ -233,7 +423,21 @@ with lib.maintainers; {
       davidak
       bobby285271
     ];
+    githubTeams = [
+      "pantheon"
+    ];
     scope = "Maintain Pantheon desktop environment and platform.";
+    shortName = "Pantheon";
+    enableFeatureFreezePing = true;
+  };
+
+  perl = {
+    members = [
+      sgo
+    ];
+    scope = "Maintain the Perl interpreter and Perl packages.";
+    shortName = "Perl";
+    enableFeatureFreezePing = true;
   };
 
   php = {
@@ -245,7 +449,12 @@ with lib.maintainers; {
       ma27
       talyz
     ];
+    githubTeams = [
+      "php"
+    ];
     scope = "Maintain PHP related packages and extensions.";
+    shortName = "PHP";
+    enableFeatureFreezePing = true;
   };
 
   podman = {
@@ -255,7 +464,54 @@ with lib.maintainers; {
       vdemeester
       zowoq
     ];
+    githubTeams = [
+      "podman"
+    ];
     scope = "Maintain Podman and CRI-O related packages and modules.";
+    shortName = "Podman";
+    enableFeatureFreezePing = true;
+  };
+
+  postgres = {
+    members = [
+      thoughtpolice
+    ];
+    scope = "Maintain the PostgreSQL package and plugins along with the NixOS module.";
+    shortName = "PostgreSQL";
+    enableFeatureFreezePing = true;
+  };
+
+  python = {
+    members = [
+      fridh
+      hexa
+      jonringer
+    ];
+    scope = "Maintain the Python interpreter and related packages.";
+    shortName = "Python";
+    enableFeatureFreezePing = true;
+  };
+
+  qt-kde = {
+    members = [
+      ttuegel
+    ];
+    githubTeams = [
+      "qt-kde"
+    ];
+    scope = "Maintain the KDE desktop environment and Qt.";
+    shortName = "Qt / KDE";
+    enableFeatureFreezePing = true;
+  };
+
+  r = {
+    members = [
+      bcdarwin
+      jbedo
+    ];
+    scope = "Maintain the R programming language and related packages.";
+    shortName = "R";
+    enableFeatureFreezePing = true;
   };
 
   redcodelabs = {
@@ -265,6 +521,38 @@ with lib.maintainers; {
       wintrmvte
     ];
     scope = "Maintain Red Code Labs related packages and modules.";
+    shortName = "Red Code Labs";
+  };
+
+  release = {
+    members = [ ];
+    githubTeams = [
+      "nixos-release-managers"
+    ];
+    scope = "Manage the current nixpkgs/NixOS release.";
+    shortName = "Release";
+    enableFeatureFreezePing = true;
+  };
+
+  ruby = {
+    members = [
+      marsam
+    ];
+    scope = "Maintain the Ruby interpreter and related packages.";
+    shortName = "Ruby";
+    enableFeatureFreezePing = true;
+  };
+
+  rust = {
+    members = [
+      andir
+      lnl7
+      mic92
+      zowoq
+    ];
+    scope = "Maintain the Rust compiler toolchain and nixpkgs integration.";
+    shortName = "Rust";
+    enableFeatureFreezePing = true;
   };
 
   sage = {
@@ -275,6 +563,7 @@ with lib.maintainers; {
       collares
     ];
     scope = "Maintain SageMath and the dependencies that are likely to break it.";
+    shortName = "SageMath";
   };
 
   sphinx = {
@@ -282,6 +571,7 @@ with lib.maintainers; {
       SuperSandro2000
     ];
     scope = "Maintain Sphinx related packages.";
+    shortName = "Sphinx";
   };
 
   serokell = {
@@ -291,6 +581,26 @@ with lib.maintainers; {
       mkaito
     ];
     scope = "Group registration for Serokell employees who collectively maintain packages.";
+    shortName = "Serokell employees";
+  };
+
+  systemd = {
+    members = [ ];
+    githubTeams = [
+      "systemd"
+    ];
+    scope = "Maintain systemd for NixOS.";
+    shortName = "systemd";
+    enableFeatureFreezePing = true;
+  };
+
+  tests = {
+    members = [
+      tfc
+    ];
+    scope = "Maintain the NixOS VM test runner.";
+    shortName = "NixOS tests";
+    enableFeatureFreezePing = true;
   };
 
   tts = {
@@ -299,6 +609,18 @@ with lib.maintainers; {
       mic92
     ];
     scope = "coqui-ai TTS (formerly Mozilla TTS) and leaf packages";
+    shortName = "coqui-ai TTS";
+  };
+
+  vim = {
+    members = [
+      jonringer
+      softinio
+      teto
+    ];
+    scope = "Maintain the vim and neovim text editors and related packages.";
+    shortName = "Vim/Neovim";
+    enableFeatureFreezePing = true;
   };
 
   xfce = {
@@ -306,5 +628,6 @@ with lib.maintainers; {
       romildo
     ];
     scope = "Maintain Xfce desktop environment and related packages.";
+    shortName = "Xfce";
   };
 }
diff --git a/nixos/doc/manual/development/option-declarations.section.md b/nixos/doc/manual/development/option-declarations.section.md
index 53ecb9b3a6248..2e11218e82389 100644
--- a/nixos/doc/manual/development/option-declarations.section.md
+++ b/nixos/doc/manual/development/option-declarations.section.md
@@ -120,14 +120,14 @@ lib.mkOption {
 ```nix
 lib.mkPackageOption pkgs "GHC" {
   default = [ "ghc" ];
-  example = "pkgs.haskell.package.ghc921.ghc.withPackages (hkgs: [ hkgs.primes ])";
+  example = "pkgs.haskell.package.ghc922.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.ghc921.ghc.withPackages (hkgs: [ hkgs.primes ])";
+  example = lib.literalExpression "pkgs.haskell.package.ghc922.ghc.withPackages (hkgs: [ hkgs.primes ])";
   description = "The GHC package to use.";
 }
 ```
diff --git a/nixos/doc/manual/development/settings-options.section.md b/nixos/doc/manual/development/settings-options.section.md
index f9bb6ff9cc41f..d569e23adbdcb 100644
--- a/nixos/doc/manual/development/settings-options.section.md
+++ b/nixos/doc/manual/development/settings-options.section.md
@@ -32,6 +32,20 @@ type of this option should represent the format. The most common formats
 have a predefined type and string generator already declared under
 `pkgs.formats`:
 
+`pkgs.formats.javaProperties` { *`comment`* ? `"Generated with Nix"` }
+
+:   A function taking an attribute set with values
+
+    `comment`
+
+    :   A string to put at the start of the
+        file in a comment. It can have multiple
+        lines.
+
+    It returns the `type`: `attrsOf str` and a function
+    `generate` to build a Java `.properties` file, taking
+    care of the correct escaping, etc.
+
 `pkgs.formats.json` { }
 
 :   A function taking an empty attribute set (for future extensibility)
diff --git a/nixos/doc/manual/development/writing-nixos-tests.section.md b/nixos/doc/manual/development/writing-nixos-tests.section.md
index 7de57d0d2a379..a9ffffe2277c2 100644
--- a/nixos/doc/manual/development/writing-nixos-tests.section.md
+++ b/nixos/doc/manual/development/writing-nixos-tests.section.md
@@ -5,15 +5,9 @@ A NixOS test is a Nix expression that has the following structure:
 ```nix
 import ./make-test-python.nix {
 
-  # Either the configuration of a single machine:
-  machine =
-    { config, pkgs, ... }:
-    { configuration…
-    };
-
-  # Or a set of machines:
+  # One or more machines:
   nodes =
-    { machine1 =
+    { machine =
         { config, pkgs, ... }: { … };
       machine2 =
         { config, pkgs, ... }: { … };
@@ -29,17 +23,16 @@ import ./make-test-python.nix {
 
 The attribute `testScript` is a bit of Python code that executes the
 test (described below). During the test, it will start one or more
-virtual machines, the configuration of which is described by the
-attribute `machine` (if you need only one machine in your test) or by
-the attribute `nodes` (if you need multiple machines). For instance,
-[`login.nix`](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/login.nix)
-only needs a single machine to test whether users can log in
+virtual machines, the configuration of which is described by
+the attribute `nodes`.
+
+An example of a single-node test is
+[`login.nix`](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/login.nix).
+It only needs a single machine to test whether users can log in
 on the virtual console, whether device ownership is correctly maintained
-when switching between consoles, and so on. On the other hand,
-[`nfs/simple.nix`](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/nfs/simple.nix),
-which tests NFS client and server functionality in the
-Linux kernel (including whether locks are maintained across server
-crashes), requires three machines: a server and two clients.
+when switching between consoles, and so on. An interesting multi-node test is
+[`nfs/simple.nix`](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/nfs/simple.nix).
+It uses two client nodes to test correct locking across server crashes.
 
 There are a few special NixOS configuration options for test VMs:
 
@@ -67,8 +60,7 @@ The test script is a sequence of Python statements that perform various
 actions, such as starting VMs, executing commands in the VMs, and so on.
 Each virtual machine is represented as an object stored in the variable
 `name` if this is also the identifier of the machine in the declarative
-config. If you didn\'t specify multiple machines using the `nodes`
-attribute, it is just `machine`. The following example starts the
+config. If you specified a node `nodes.machine`, the following example starts the
 machine, waits until it has finished booting, then executes a command
 and checks that the output is more-or-less correct:
 
@@ -79,7 +71,7 @@ if not "Linux" in machine.succeed("uname"):
   raise Exception("Wrong OS")
 ```
 
-The first line is actually unnecessary; machines are implicitly started
+The first line is technically unnecessary; machines are implicitly started
 when you first execute an action on them (such as `wait_for_unit` or
 `succeed`). If you have multiple machines, you can speed up the test by
 starting them in parallel:
@@ -158,6 +150,12 @@ The following methods are available on machine objects:
     e.g., `send_chars("foobar\n")` will type the string `foobar`
     followed by the Enter key.
 
+`send_console`
+
+:   Send keys to the kernel console. This allows interaction with the systemd
+    emergency mode, for example. Takes a string that is sent, e.g.,
+    `send_console("\n\nsystemctl default\n")`.
+
 `execute`
 
 :   Execute a shell command, returning a list `(status, stdout)`.
@@ -272,6 +270,13 @@ The following methods are available on machine objects:
     Killing the interactive session with `Ctrl-d` or `Ctrl-c` also ends
     the guest session.
 
+`console_interact`
+
+:   Allows you to directly interact with QEMU's stdin. This should
+    only be used during test development, not in production tests.
+    Output from QEMU is only read line-wise. `Ctrl-c` kills QEMU and
+    `Ctrl-d` closes console and returns to the test runner.
+
 To test user units declared by `systemd.user.services` the optional
 `user` argument can be used:
 
@@ -290,7 +295,7 @@ For faster dev cycles it\'s also possible to disable the code-linters
 ```nix
 import ./make-test-python.nix {
   skipLint = true;
-  machine =
+  nodes.machine =
     { config, pkgs, ... }:
     { configuration…
     };
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 0ac5e0eeca2da..91867c224107a 100644
--- a/nixos/doc/manual/from_md/development/option-declarations.section.xml
+++ b/nixos/doc/manual/from_md/development/option-declarations.section.xml
@@ -183,14 +183,14 @@ lib.mkOption {
         <programlisting language="bash">
 lib.mkPackageOption pkgs &quot;GHC&quot; {
   default = [ &quot;ghc&quot; ];
-  example = &quot;pkgs.haskell.package.ghc921.ghc.withPackages (hkgs: [ hkgs.primes ])&quot;;
+  example = &quot;pkgs.haskell.package.ghc922.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.ghc921.ghc.withPackages (hkgs: [ hkgs.primes ])&quot;;
+  example = lib.literalExpression &quot;pkgs.haskell.package.ghc922.ghc.withPackages (hkgs: [ hkgs.primes ])&quot;;
   description = &quot;The GHC package to use.&quot;;
 }
 </programlisting>
diff --git a/nixos/doc/manual/from_md/development/settings-options.section.xml b/nixos/doc/manual/from_md/development/settings-options.section.xml
index 746011a2d075b..d26dd96243dbe 100644
--- a/nixos/doc/manual/from_md/development/settings-options.section.xml
+++ b/nixos/doc/manual/from_md/development/settings-options.section.xml
@@ -55,6 +55,38 @@
     <variablelist>
       <varlistentry>
         <term>
+          <literal>pkgs.formats.javaProperties</literal> {
+          <emphasis><literal>comment</literal></emphasis> ?
+          <literal>&quot;Generated with Nix&quot;</literal> }
+        </term>
+        <listitem>
+          <para>
+            A function taking an attribute set with values
+          </para>
+          <variablelist>
+            <varlistentry>
+              <term>
+                <literal>comment</literal>
+              </term>
+              <listitem>
+                <para>
+                  A string to put at the start of the file in a comment.
+                  It can have multiple lines.
+                </para>
+              </listitem>
+            </varlistentry>
+          </variablelist>
+          <para>
+            It returns the <literal>type</literal>:
+            <literal>attrsOf str</literal> and a function
+            <literal>generate</literal> to build a Java
+            <literal>.properties</literal> file, taking care of the
+            correct escaping, etc.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
           <literal>pkgs.formats.json</literal> { }
         </term>
         <listitem>
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 45c9c40c6095c..b194d58e5beb6 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
@@ -6,15 +6,9 @@
   <programlisting language="bash">
 import ./make-test-python.nix {
 
-  # Either the configuration of a single machine:
-  machine =
-    { config, pkgs, ... }:
-    { configuration…
-    };
-
-  # Or a set of machines:
+  # One or more machines:
   nodes =
-    { machine1 =
+    { machine =
         { config, pkgs, ... }: { … };
       machine2 =
         { config, pkgs, ... }: { … };
@@ -31,18 +25,18 @@ import ./make-test-python.nix {
     The attribute <literal>testScript</literal> is a bit of Python code
     that executes the test (described below). During the test, it will
     start one or more virtual machines, the configuration of which is
-    described by the attribute <literal>machine</literal> (if you need
-    only one machine in your test) or by the attribute
-    <literal>nodes</literal> (if you need multiple machines). For
-    instance,
-    <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/login.nix"><literal>login.nix</literal></link>
-    only needs a single machine to test whether users can log in on the
-    virtual console, whether device ownership is correctly maintained
-    when switching between consoles, and so on. On the other hand,
-    <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/nfs/simple.nix"><literal>nfs/simple.nix</literal></link>,
-    which tests NFS client and server functionality in the Linux kernel
-    (including whether locks are maintained across server crashes),
-    requires three machines: a server and two clients.
+    described by the attribute <literal>nodes</literal>.
+  </para>
+  <para>
+    An example of a single-node test is
+    <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/login.nix"><literal>login.nix</literal></link>.
+    It only needs a single machine to test whether users can log in on
+    the virtual console, whether device ownership is correctly
+    maintained when switching between consoles, and so on. An
+    interesting multi-node test is
+    <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/nfs/simple.nix"><literal>nfs/simple.nix</literal></link>.
+    It uses two client nodes to test correct locking across server
+    crashes.
   </para>
   <para>
     There are a few special NixOS configuration options for test VMs:
@@ -94,9 +88,8 @@ import ./make-test-python.nix {
     various actions, such as starting VMs, executing commands in the
     VMs, and so on. Each virtual machine is represented as an object
     stored in the variable <literal>name</literal> if this is also the
-    identifier of the machine in the declarative config. If you didn't
-    specify multiple machines using the <literal>nodes</literal>
-    attribute, it is just <literal>machine</literal>. The following
+    identifier of the machine in the declarative config. If you
+    specified a node <literal>nodes.machine</literal>, the following
     example starts the machine, waits until it has finished booting,
     then executes a command and checks that the output is more-or-less
     correct:
@@ -108,7 +101,7 @@ if not &quot;Linux&quot; in machine.succeed(&quot;uname&quot;):
   raise Exception(&quot;Wrong OS&quot;)
 </programlisting>
   <para>
-    The first line is actually unnecessary; machines are implicitly
+    The first line is technically unnecessary; machines are implicitly
     started when you first execute an action on them (such as
     <literal>wait_for_unit</literal> or <literal>succeed</literal>). If
     you have multiple machines, you can speed up the test by starting
@@ -263,6 +256,19 @@ start_all()
       </varlistentry>
       <varlistentry>
         <term>
+          <literal>send_console</literal>
+        </term>
+        <listitem>
+          <para>
+            Send keys to the kernel console. This allows interaction
+            with the systemd emergency mode, for example. Takes a string
+            that is sent, e.g.,
+            <literal>send_console(&quot;\n\nsystemctl default\n&quot;)</literal>.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
           <literal>execute</literal>
         </term>
         <listitem>
@@ -502,6 +508,21 @@ machine.systemctl(&quot;list-jobs --no-pager&quot;, &quot;any-user&quot;) # spaw
           </para>
         </listitem>
       </varlistentry>
+      <varlistentry>
+        <term>
+          <literal>console_interact</literal>
+        </term>
+        <listitem>
+          <para>
+            Allows you to directly interact with QEMU’s stdin. This
+            should only be used during test development, not in
+            production tests. Output from QEMU is only read line-wise.
+            <literal>Ctrl-c</literal> kills QEMU and
+            <literal>Ctrl-d</literal> closes console and returns to the
+            test runner.
+          </para>
+        </listitem>
+      </varlistentry>
     </variablelist>
     <para>
       To test user units declared by
@@ -526,7 +547,7 @@ machine.wait_for_unit(&quot;xautolock.service&quot;, &quot;x-session-user&quot;)
     <programlisting language="bash">
 import ./make-test-python.nix {
   skipLint = true;
-  machine =
+  nodes.machine =
     { config, pkgs, ... }:
     { configuration…
     };
diff --git a/nixos/doc/manual/from_md/installation/installing-usb.section.xml b/nixos/doc/manual/from_md/installation/installing-usb.section.xml
index b46a1d565557d..df266eb16800f 100644
--- a/nixos/doc/manual/from_md/installation/installing-usb.section.xml
+++ b/nixos/doc/manual/from_md/installation/installing-usb.section.xml
@@ -17,7 +17,7 @@ $ diskutil list
 [..]
 $ diskutil unmountDisk diskN
 Unmount of all volumes on diskN was successful
-$ sudo dd if=nix.iso of=/dev/rdiskN
+$ sudo dd if=nix.iso of=/dev/rdiskN bs=1M
 </programlisting>
     <para>
       Using the 'raw' <literal>rdiskN</literal> device instead of
diff --git a/nixos/doc/manual/from_md/installation/installing.chapter.xml b/nixos/doc/manual/from_md/installation/installing.chapter.xml
index db073fa839653..aee0b30a70768 100644
--- a/nixos/doc/manual/from_md/installation/installing.chapter.xml
+++ b/nixos/doc/manual/from_md/installation/installing.chapter.xml
@@ -411,6 +411,13 @@ OK
                 specify on which disk the GRUB boot loader is to be
                 installed. Without it, NixOS cannot boot.
               </para>
+              <para>
+                If there are other operating systems running on the
+                machine before installing NixOS, the
+                <xref linkend="opt-boot.loader.grub.useOSProber" />
+                option can be set to <literal>true</literal> to
+                automatically add them to the grub menu.
+              </para>
             </listitem>
           </varlistentry>
           <varlistentry>
@@ -437,13 +444,6 @@ OK
           </varlistentry>
         </variablelist>
         <para>
-          If there are other operating systems running on the machine
-          before installing NixOS, the
-          <xref linkend="opt-boot.loader.grub.useOSProber" /> option can
-          be set to <literal>true</literal> to automatically add them to
-          the grub menu.
-        </para>
-        <para>
           If you need to configure networking for your machine the
           configuration options are described in
           <xref linkend="sec-networking" />. In particular, while wifi
diff --git a/nixos/doc/manual/from_md/release-notes/rl-1803.section.xml b/nixos/doc/manual/from_md/release-notes/rl-1803.section.xml
index f54f6129e0db9..910cad467e9d8 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-1803.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-1803.section.xml
@@ -866,6 +866,14 @@
           package.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          The vim/kakoune plugin updater now reads from a CSV file:
+          check
+          <literal>pkgs/applications/editors/vim/plugins/vim-plugin-names</literal>
+          out to see the new format
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
 </section>
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
index 78606c6a9091b..dc428b533e36d 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
@@ -17,6 +17,14 @@
     <itemizedlist>
       <listitem>
         <para>
+          The <literal>firefox</literal> browser on
+          <literal>x86_64-linux</literal> is now making use of
+          profile-guided optimization resulting in a much more
+          responsive browsing experience.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <literal>security.acme.defaults</literal> has been added to
           simplify configuring settings for many certificates at once.
           This also opens up the the option to use DNS-01 validation
@@ -27,6 +35,16 @@
       </listitem>
       <listitem>
         <para>
+          GNOME has been upgraded to 42. Please take a look at their
+          <link xlink:href="https://release.gnome.org/42/">Release
+          Notes</link> for details. Notably, it replaces gedit with
+          GNOME Text Editor, GNOME Terminal with GNOME Console (formerly
+          King’s Cross), and GNOME Screenshot with a tool built into the
+          Shell.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           PHP 8.1 is now available
         </para>
       </listitem>
@@ -52,6 +70,11 @@
       </listitem>
       <listitem>
         <para>
+          Systemd has been upgraded to the version 250.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <link xlink:href="https://kops.sigs.k8s.io"><literal>kops</literal></link>
           defaults to 1.22.4, which will enable
           <link xlink:href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html">Instance
@@ -70,6 +93,14 @@
           and their users.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          The default GHC version has been updated from 8.10.7 to 9.0.2.
+          <literal>pkgs.haskellPackages</literal> and
+          <literal>pkgs.ghc</literal> will now use this version by
+          default.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
   <section xml:id="sec-release-22.05-new-services">
@@ -117,7 +148,7 @@
         <para>
           <link xlink:href="https://frrouting.org/">FRRouting</link>, a
           popular suite of Internet routing protocol daemons (BGP, BFD,
-          OSPF, IS-IS, VVRP and others). Available as
+          OSPF, IS-IS, VRRP and others). Available as
           <link linkend="opt-services.frr.babel.enable">services.frr</link>
         </para>
       </listitem>
@@ -205,6 +236,13 @@
       </listitem>
       <listitem>
         <para>
+          <link xlink:href="https://github.com/netbox-community/netbox">netbox</link>,
+          infrastructure resource modeling (IRM) tool. Available as
+          <link xlink:href="options.html#opt-services.netbox.enable">services.netbox</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <link xlink:href="https://tetrd.app">tetrd</link>, share your
           internet connection from your device to your PC and vice versa
           through a USB cable. Available at
@@ -413,6 +451,12 @@
       </listitem>
       <listitem>
         <para>
+          <literal>openssh</literal> has been update to 8.9p1, changing
+          the FIDO security key middleware interface.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <literal>services.k3s.enable</literal> no longer implies
           <literal>systemd.enableUnifiedCgroupHierarchy = false</literal>,
           and will default to the <quote>systemd</quote> cgroup driver
@@ -469,6 +513,15 @@
       </listitem>
       <listitem>
         <para>
+          <literal>services.ipfs.extraFlags</literal> is now escaped
+          with <literal>utils.escapeSystemdExecArgs</literal>. If you
+          rely on systemd interpolating <literal>extraFlags</literal> in
+          the service <literal>ExecStart</literal>, this will no longer
+          work.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The <literal>matrix-synapse</literal> service
           (<literal>services.matrix-synapse</literal>) has been
           converted to use the <literal>settings</literal> option
@@ -663,6 +716,23 @@
       </listitem>
       <listitem>
         <para>
+          <literal>services.gnome.experimental-features.realtime-scheduling</literal>
+          option has been removed, as GNOME Shell now
+          <link xlink:href="https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2060">uses
+          rtkit</link>. Use
+          <literal>security.rtkit.enable = true;</literal> instead. As
+          before, you will need to have it enabled using GSettings.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <literal>services.telepathy</literal> will no longer be
+          enabled by default for GNOME desktops, one should enable it in
+          their configs if using Empathy or Polari.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           If you previously used
           <literal>/etc/docker/daemon.json</literal>, you need to
           incorporate the changes into the new option
@@ -796,6 +866,54 @@
       </listitem>
       <listitem>
         <para>
+          The <literal>vim.customize</literal> function produced by
+          <literal>vimUtils.makeCustomizable</literal> now has a
+          slightly different interface:
+        </para>
+        <itemizedlist spacing="compact">
+          <listitem>
+            <para>
+              The wrapper now includes everything in the given Vim
+              derivation if <literal>name</literal> is
+              <literal>&quot;vim&quot;</literal> (the default). This
+              makes the <literal>wrapManual</literal> argument obsolete,
+              but this behavior can be overriden by setting the
+              <literal>standalone</literal> argument.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              All the executables present in the given derivation (or,
+              in <literal>standalone</literal> mode, only the
+              <literal>*vim</literal> ones) are wrapped. This makes the
+              <literal>wrapGui</literal> argument obsolete.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              The <literal>vimExecutableName</literal> and
+              <literal>gvimExecutableName</literal> arguments were
+              replaced by a single <literal>executableName</literal>
+              argument in which the shell variable
+              <literal>$exe</literal> can be used to refer to the
+              wrapped executable’s name.
+            </para>
+          </listitem>
+        </itemizedlist>
+        <para>
+          See the comments in
+          <literal>pkgs/applications/editors/vim/plugins/vim-utils.nix</literal>
+          for more details.
+        </para>
+        <para>
+          <literal>vimUtils.vimWithRC</literal> was removed. You should
+          instead use <literal>customize</literal> on a Vim derivation,
+          which now accepts <literal>vimrcFile</literal> and
+          <literal>gvimrcFile</literal> arguments.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <literal>tilp2</literal> was removed together with its module
         </para>
       </listitem>
@@ -918,8 +1036,8 @@
       <listitem>
         <para>
           <literal>pkgs.pgadmin</literal> now refers to
-          <literal>pkgs.pgadmin4</literal>. If you still need pgadmin3,
-          use <literal>pkgs.pgadmin3</literal>.
+          <literal>pkgs.pgadmin4</literal>. <literal>pgadmin3</literal>
+          has been removed.
         </para>
       </listitem>
       <listitem>
@@ -1161,6 +1279,13 @@
           example.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          <literal>pkgs.cosmopolitan</literal> no longer provides the
+          <literal>cosmoc</literal> command. It has been moved to
+          <literal>pkgs.cosmoc</literal>.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
   <section xml:id="sec-release-22.05-notable-changes">
@@ -1289,6 +1414,35 @@
       </listitem>
       <listitem>
         <para>
+          A new option group
+          <literal>systemd.network.wait-online</literal> was added, with
+          options to configure
+          <literal>systemd-networkd-wait-online.service</literal>:
+        </para>
+        <itemizedlist spacing="compact">
+          <listitem>
+            <para>
+              <literal>anyInterface</literal> allows specifying that the
+              network should be considered online when <emphasis>at
+              least one</emphasis> interface is online (useful on
+              laptops)
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              <literal>timeout</literal> defines how long to wait for
+              the network to come online
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              <literal>extraArgs</literal> for everything else
+            </para>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+      <listitem>
+        <para>
           The <literal>influxdb2</literal> package was split into
           <literal>influxdb2-server</literal> and
           <literal>influxdb2-cli</literal>, matching the split that took
@@ -1321,6 +1475,15 @@
       </listitem>
       <listitem>
         <para>
+          The <literal>services.unifi-video.openPorts</literal> option
+          default value of <literal>true</literal> is now deprecated and
+          will be changed to <literal>false</literal> in 22.11.
+          Configurations using this default will print a warning when
+          rebuilt.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <literal>security.acme</literal> certificates will now
           correctly check for CA revokation before reaching their
           minimum age.
@@ -1360,9 +1523,11 @@
         <para>
           <link linkend="opt-programs.ssh.knownHosts">programs.ssh.knownHosts</link>
           has gained an <literal>extraHostNames</literal> option to
-          replace <literal>hostNames</literal>.
-          <literal>hostNames</literal> is deprecated, but still
-          available for now.
+          augment <literal>hostNames</literal>. It is now possible to
+          use the attribute name of a <literal>knownHosts</literal>
+          entry as the primary host name and specify secondary host
+          names using <literal>extraHostNames</literal> without having
+          to duplicate the primary host name.
         </para>
       </listitem>
       <listitem>
@@ -1532,9 +1697,20 @@
       </listitem>
       <listitem>
         <para>
-          <literal>services.logrotate.enable</literal> now defaults to
-          true if any rotate path has been defined, and some paths have
-          been added by default.
+          <link linkend="opt-services.logrotate.enable">services.logrotate.enable</link>
+          now defaults to true if any rotate path has been defined, and
+          some paths have been added by default.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The logrotate module also has been updated to freeform syntax:
+          <link linkend="opt-services.logrotate.paths">services.logrotate.paths</link>
+          and
+          <link linkend="opt-services.logrotate.extraConfig">services.logrotate.extraConfig</link>
+          will work, but issue deprecation warnings and
+          <link linkend="opt-services.logrotate.settings">services.logrotate.settings</link>
+          should now be used instead.
         </para>
       </listitem>
       <listitem>
@@ -1575,6 +1751,12 @@
       </listitem>
       <listitem>
         <para>
+          <literal>services.autorandr</literal> now allows for adding
+          hooks and profiles declaratively.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The <literal>pomerium-cli</literal> command has been moved out
           of the <literal>pomerium</literal> package into the
           <literal>pomerium-cli</literal> package, following upstream’s
@@ -1613,6 +1795,13 @@
       </listitem>
       <listitem>
         <para>
+          <literal>services.xserver.desktopManager.xfce</literal> now
+          includes Xfce’s screen locker,
+          <literal>xfce4-screensaver</literal>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The <literal>hadoop</literal> package has added support for
           <literal>aarch64-linux</literal> and
           <literal>aarch64-darwin</literal> as of 3.3.1
@@ -1651,6 +1840,12 @@
           </listitem>
         </itemizedlist>
       </listitem>
+      <listitem>
+        <para>
+          The <literal>programs.nncp</literal> options were added for
+          generating host-global NNCP configuration.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
 </section>
diff --git a/nixos/doc/manual/installation/installing-usb.section.md b/nixos/doc/manual/installation/installing-usb.section.md
index ae58c08e5237e..d893e22e6381b 100644
--- a/nixos/doc/manual/installation/installing-usb.section.md
+++ b/nixos/doc/manual/installation/installing-usb.section.md
@@ -18,7 +18,7 @@ $ diskutil list
 [..]
 $ diskutil unmountDisk diskN
 Unmount of all volumes on diskN was successful
-$ sudo dd if=nix.iso of=/dev/rdiskN
+$ sudo dd if=nix.iso of=/dev/rdiskN bs=1M
 ```
 
 Using the \'raw\' `rdiskN` device instead of `diskN` completes in
diff --git a/nixos/doc/manual/installation/installing.chapter.md b/nixos/doc/manual/installation/installing.chapter.md
index def4f37fbcaa4..8a46d68ae3ba9 100644
--- a/nixos/doc/manual/installation/installing.chapter.md
+++ b/nixos/doc/manual/installation/installing.chapter.md
@@ -296,6 +296,11 @@ Use the following commands:
         specify on which disk the GRUB boot loader is to be installed.
         Without it, NixOS cannot boot.
 
+    :   If there are other operating systems running on the machine before
+        installing NixOS, the [](#opt-boot.loader.grub.useOSProber)
+        option can be set to `true` to automatically add them to the grub
+        menu.
+
     UEFI systems
 
     :   You *must* set the option [](#opt-boot.loader.systemd-boot.enable)
@@ -307,11 +312,6 @@ Use the following commands:
         [`boot.loader.systemd-boot`](#opt-boot.loader.systemd-boot.enable)
         as well.
 
-    If there are other operating systems running on the machine before
-    installing NixOS, the [](#opt-boot.loader.grub.useOSProber)
-    option can be set to `true` to automatically add them to the grub
-    menu.
-
     If you need to configure networking for your machine the
     configuration options are described in [](#sec-networking). In
     particular, while wifi is supported on the installation image, it is
diff --git a/nixos/doc/manual/man-pages.xml b/nixos/doc/manual/man-pages.xml
index 49acfe7330b6d..58f73521e94fd 100644
--- a/nixos/doc/manual/man-pages.xml
+++ b/nixos/doc/manual/man-pages.xml
@@ -3,10 +3,15 @@
            xmlns:xi="http://www.w3.org/2001/XInclude">
  <title>NixOS Reference Pages</title>
  <info>
-  <author><personname><firstname>Eelco</firstname><surname>Dolstra</surname></personname>
+  <author>
+   <personname><firstname>Eelco</firstname><surname>Dolstra</surname></personname>
    <contrib>Author</contrib>
   </author>
-  <copyright><year>2007-2020</year><holder>Eelco Dolstra</holder>
+  <author>
+   <personname><othername>The Nixpkgs/NixOS contributors</othername></personname>
+   <contrib>Author</contrib>
+  </author>
+  <copyright><year>2007-2022</year><holder>Eelco Dolstra and the Nixpkgs/NixOS contributors</holder>
   </copyright>
  </info>
  <xi:include href="man-configuration.xml" />
diff --git a/nixos/doc/manual/release-notes/rl-1803.section.md b/nixos/doc/manual/release-notes/rl-1803.section.md
index e4e467981047b..c5146015d4499 100644
--- a/nixos/doc/manual/release-notes/rl-1803.section.md
+++ b/nixos/doc/manual/release-notes/rl-1803.section.md
@@ -282,3 +282,5 @@ When upgrading from a previous release, please be aware of the following incompa
 - The NixOS test driver supports user services declared by `systemd.user.services`. The methods `waitForUnit`, `getUnitInfo`, `startJob` and `stopJob` provide an optional `$user` argument for that purpose.
 
 - Enabling bash completion on NixOS, `programs.bash.enableCompletion`, will now also enable completion for the Nix command line tools by installing the [nix-bash-completions](https://github.com/hedning/nix-bash-completions) package.
+
+- The vim/kakoune plugin updater now reads from a CSV file: check `pkgs/applications/editors/vim/plugins/vim-plugin-names` out to see the new format
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md
index acb817d31a86c..b8b070bd6cf46 100644
--- a/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -6,11 +6,17 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 ## Highlights {#sec-release-22.05-highlights}
 
+- The `firefox` browser on `x86_64-linux` is now making use of
+  profile-guided optimization resulting in a much more responsive
+  browsing experience.
+
 - `security.acme.defaults` has been added to simplify configuring
   settings for many certificates at once. This also opens up the
   the option to use DNS-01 validation when using `enableACME` on
   web server virtual hosts (e.g. `services.nginx.virtualHosts.*.enableACME`).
 
+- GNOME has been upgraded to 42. Please take a look at their [Release Notes](https://release.gnome.org/42/) for details. Notably, it replaces gedit with GNOME Text Editor, GNOME Terminal with GNOME Console (formerly King’s Cross), and GNOME Screenshot with a tool built into the Shell.
+
 - PHP 8.1 is now available
 
 - Mattermost has been updated to extended support release 6.3, as the previously packaged extended support release 5.37 is [reaching its end of life](https://docs.mattermost.com/upgrade/extended-support-release.html).
@@ -19,10 +25,14 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - systemd services can now set [systemd.services.\<name\>.reloadTriggers](#opt-systemd.services) instead of `reloadIfChanged` for a more granular distinction between reloads and restarts.
 
+- Systemd has been upgraded to the version 250.
+
 - [`kops`](https://kops.sigs.k8s.io) defaults to 1.22.4, which will enable [Instance Metadata Service Version 2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html) and require tokens on new clusters with Kubernetes 1.22. This will increase security by default, but may break some types of workloads. See the [release notes](https://kops.sigs.k8s.io/releases/1.22-notes/) for details.
 
 - Module authors can use `mkRenamedOptionModuleWith` to automate the deprecation cycle without annoying out-of-tree module authors and their users.
 
+- The default GHC version has been updated from 8.10.7 to 9.0.2. `pkgs.haskellPackages` and `pkgs.ghc` will now use this version by default.
+
 ## New Services {#sec-release-22.05-new-services}
 
 - [aesmd](https://github.com/intel/linux-sgx#install-the-intelr-sgx-psw), the Intel SGX Architectural Enclave Service Manager. Available as [services.aesmd](#opt-services.aesmd.enable).
@@ -35,7 +45,7 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - [apfs](https://github.com/linux-apfs/linux-apfs-rw), a kernel module for mounting the Apple File System (APFS).
 
-- [FRRouting](https://frrouting.org/), a popular suite of Internet routing protocol daemons (BGP, BFD, OSPF, IS-IS, VVRP and others). Available as [services.frr](#opt-services.frr.babel.enable)
+- [FRRouting](https://frrouting.org/), a popular suite of Internet routing protocol daemons (BGP, BFD, OSPF, IS-IS, VRRP and others). Available as [services.frr](#opt-services.frr.babel.enable)
 
 - [heisenbridge](https://github.com/hifi/heisenbridge), a bouncer-style Matrix IRC bridge. Available as [services.heisenbridge](options.html#opt-services.heisenbridge.enable).
 
@@ -59,6 +69,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - [prometheus-pve-exporter](https://github.com/prometheus-pve/prometheus-pve-exporter), a tool that exposes information from the Proxmox VE API for use by Prometheus. Available as [services.prometheus.exporters.pve](options.html#opt-services.prometheus.exporters.pve).
 
+- [netbox](https://github.com/netbox-community/netbox), infrastructure resource modeling (IRM) tool. Available as [services.netbox](options.html#opt-services.netbox.enable).
+
 - [tetrd](https://tetrd.app), share your internet connection from your device to your PC and vice versa through a USB cable. Available at [services.tetrd](#opt-services.tetrd.enable).
 
 - [agate](https://github.com/mbrubeck/agate), a very simple server for the Gemini hypertext protocol. Available as [services.agate](options.html#opt-services.agate.enable).
@@ -133,6 +145,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - `services.kubernetes.scheduler.{port,address}` now set `--secure-port` and `--bind-address` instead of `--port` and `--address`, since the former have been deprecated and are no longer functional in kubernetes>=1.23. Ensure that you are not relying on the insecure behaviour before upgrading.
 
+- `openssh` has been update to 8.9p1, changing the FIDO security key middleware interface.
+
 - `services.k3s.enable` no longer implies `systemd.enableUnifiedCgroupHierarchy = false`, and will default to the 'systemd' cgroup driver when using `services.k3s.docker = true`.
   This change may require a reboot to take effect, and k3s may not be able to run if the boot cgroup hierarchy does not match its configuration.
   The previous behavior may be retained by explicitly setting `systemd.enableUnifiedCgroupHierarchy = false` in your configuration.
@@ -157,6 +171,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - The `mailpile` email webclient (`services.mailpile`) has been removed due to its reliance on python2.
 
+- `services.ipfs.extraFlags` is now escaped with `utils.escapeSystemdExecArgs`. If you rely on systemd interpolating `extraFlags` in the service `ExecStart`, this will no longer work.
+
 - The `matrix-synapse` service (`services.matrix-synapse`) has been converted to use the `settings` option defined in RFC42.
   This means that options that are part of your `homeserver.yaml` configuration, and that were specified at the top-level of the
   module (`services.matrix-synapse`) now need to be moved into `services.matrix-synapse.settings`. And while not all options you
@@ -273,6 +289,10 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - The `gnome-passwordsafe` package updated to [version 6.x](https://gitlab.gnome.org/World/secrets/-/tags/6.0) and renamed to `gnome-secrets`.
 
+- `services.gnome.experimental-features.realtime-scheduling` option has been removed, as GNOME Shell now [uses rtkit](https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2060). Use `security.rtkit.enable = true;` instead. As before, you will need to have it enabled using GSettings.
+
+- `services.telepathy` will no longer be enabled by default for GNOME desktops, one should enable it in their configs if using Empathy or Polari.
+
 - If you previously used `/etc/docker/daemon.json`, you need to incorporate the changes into the new option `virtualisation.docker.daemon.settings`.
 
 - Ntopng (`services.ntopng`) is updated to 5.2.1 and uses a separate Redis instance if `system.stateVersion` is at least `22.05`. Existing setups shouldn't be affected.
@@ -315,6 +335,15 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - `pkgs._7zz` is now correctly licensed as LGPL3+ and BSD3 with optional unfree unRAR licensed code
 
+- The `vim.customize` function produced by `vimUtils.makeCustomizable` now has a slightly different interface:
+  * The wrapper now includes everything in the given Vim derivation if `name` is `"vim"` (the default). This makes the `wrapManual` argument obsolete, but this behavior can be overriden by setting the `standalone` argument.
+  * All the executables present in the given derivation (or, in `standalone` mode, only the `*vim` ones) are wrapped. This makes the `wrapGui` argument obsolete.
+  * The `vimExecutableName` and `gvimExecutableName` arguments were replaced by a single `executableName` argument in which the shell variable `$exe` can be used to refer to the wrapped executable's name.
+
+  See the comments in `pkgs/applications/editors/vim/plugins/vim-utils.nix` for more details.
+
+  `vimUtils.vimWithRC` was removed. You should instead use `customize` on a Vim derivation, which now accepts `vimrcFile` and `gvimrcFile` arguments.
+
 - `tilp2` was removed together with its module
 
 - The F-PROT antivirus (`fprot` package) and its service module were removed because it
@@ -352,8 +381,7 @@ In addition to numerous new and upgraded packages, this release has the followin
   you should change the package you refer to. If you don't need them update your
   commands from `otelcontribcol` to `otelcorecol` and enjoy a 7x smaller binary.
 
-- `pkgs.pgadmin` now refers to `pkgs.pgadmin4`.
-  If you still need pgadmin3, use `pkgs.pgadmin3`.
+- `pkgs.pgadmin` now refers to `pkgs.pgadmin4`. `pgadmin3` has been removed.
 
 - `pkgs.noto-fonts-cjk` is now deprecated in favor of `pkgs.noto-fonts-cjk-sans`
   and `pkgs.noto-fonts-cjk-serif` because they each have different release
@@ -423,6 +451,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
   See the `vscode` package for a more detailed example.
 
+- `pkgs.cosmopolitan` no longer provides the `cosmoc` command. It has been moved to `pkgs.cosmoc`.
+
 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
 
 ## Other Notable Changes {#sec-release-22.05-notable-changes}
@@ -472,6 +502,11 @@ In addition to numerous new and upgraded packages, this release has the followin
   still under heavy development and behavior is not always flawless.
   Furthermore, not all Electron apps use the latest Electron versions.
 
+- A new option group `systemd.network.wait-online` was added, with options to configure `systemd-networkd-wait-online.service`:
+  - `anyInterface` allows specifying that the network should be considered online when *at least one* interface is online (useful on laptops)
+  - `timeout` defines how long to wait for the network to come online
+  - `extraArgs` for everything else
+
 - The `influxdb2` package was split into `influxdb2-server` and
   `influxdb2-cli`, matching the split that took place upstream. A
   combined `influxdb2` package is still provided in this release for
@@ -485,6 +520,9 @@ In addition to numerous new and upgraded packages, this release has the followin
 - The `services.unifi.openPorts` option default value of `true` is now deprecated and will be changed to `false` in 22.11.
   Configurations using this default will print a warning when rebuilt.
 
+- The `services.unifi-video.openPorts` option default value of `true` is now deprecated and will be changed to `false` in 22.11.
+  Configurations using this default will print a warning when rebuilt.
+
 - `security.acme` certificates will now correctly check for CA
   revokation before reaching their minimum age.
 
@@ -503,7 +541,9 @@ In addition to numerous new and upgraded packages, this release has the followin
   e.g. Wayland.
 
 - [programs.ssh.knownHosts](#opt-programs.ssh.knownHosts) has gained an `extraHostNames`
-  option to replace `hostNames`. `hostNames` is deprecated, but still available for now.
+  option to augment `hostNames`. It is now possible to use the attribute name of a `knownHosts`
+  entry as the primary host name and specify secondary host names using `extraHostNames` without
+  having to duplicate the primary host name.
 
 - The `services.stubby` module was converted to a [settings-style](https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md) configuration.
 
@@ -549,8 +589,11 @@ In addition to numerous new and upgraded packages, this release has the followin
 - `services.mattermost.plugins` has been added to allow the declarative installation of Mattermost plugins.
   Plugins are automatically repackaged using autoPatchelf.
 
-- `services.logrotate.enable` now defaults to true if any rotate path has
+- [services.logrotate.enable](#opt-services.logrotate.enable) now defaults to true if any rotate path has
   been defined, and some paths have been added by default.
+- The logrotate module also has been updated to freeform syntax: [services.logrotate.paths](#opt-services.logrotate.paths)
+  and [services.logrotate.extraConfig](#opt-services.logrotate.extraConfig) will work, but issue deprecation
+  warnings and [services.logrotate.settings](#opt-services.logrotate.settings) should now be used instead.
 
 - The `zrepl` package has been updated from 0.4.0 to 0.5:
 
@@ -561,6 +604,8 @@ In addition to numerous new and upgraded packages, this release has the followin
   Reason is that the old name has been deprecated upstream.
   Using the old option name will still work, but produce a warning.
 
+- `services.autorandr` now allows for adding hooks and profiles declaratively.
+
 - The `pomerium-cli` command has been moved out of the `pomerium` package into
   the `pomerium-cli` package, following upstream's repository split. If you are
   using the `pomerium-cli` command, you should now install the `pomerium-cli`
@@ -576,6 +621,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - The polkit service, available at `security.polkit.enable`, is now disabled by default. It will automatically be enabled through services and desktop environments as needed.
 
+- `services.xserver.desktopManager.xfce` now includes Xfce's screen locker, `xfce4-screensaver`.
+
 - The `hadoop` package has added support for `aarch64-linux` and `aarch64-darwin` as of 3.3.1 ([#158613](https://github.com/NixOS/nixpkgs/pull/158613)).
 
 - The `R` package now builds again on `aarch64-darwin` ([#158992](https://github.com/NixOS/nixpkgs/pull/158992)).
@@ -585,4 +632,6 @@ In addition to numerous new and upgraded packages, this release has the followin
   - Testing has been enabled for `aarch64-linux` in addition to `x86_64-linux`.
   - The `spark3` package is now usable on `aarch64-darwin` as a result of [#158613](https://github.com/NixOS/nixpkgs/pull/158613) and [#158992](https://github.com/NixOS/nixpkgs/pull/158992).
 
+- The `programs.nncp` options were added for generating host-global NNCP configuration.
+
 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
diff --git a/nixos/lib/make-disk-image.nix b/nixos/lib/make-disk-image.nix
index 15302ae824144..e784ec9e67787 100644
--- a/nixos/lib/make-disk-image.nix
+++ b/nixos/lib/make-disk-image.nix
@@ -170,6 +170,7 @@ let format' = format; in let
       config.system.build.nixos-install
       config.system.build.nixos-enter
       nix
+      systemdMinimal
     ] ++ stdenv.initialPath);
 
   # I'm preserving the line below because I'm going to search for it across nixpkgs to consolidate
diff --git a/nixos/lib/systemd-lib.nix b/nixos/lib/systemd-lib.nix
index a472d97f5cc74..16ec47df3a464 100644
--- a/nixos/lib/systemd-lib.nix
+++ b/nixos/lib/systemd-lib.nix
@@ -23,8 +23,9 @@ in rec {
           inherit (unit) text;
         }
         ''
-          mkdir -p $out
-          echo -n "$text" > $out/${shellEscape name}
+          name=${shellEscape name}
+          mkdir -p "$out/$(dirname "$name")"
+          echo -n "$text" > "$out/$name"
         ''
     else
       pkgs.runCommand "unit-${mkPathSafeName name}-disabled"
@@ -32,8 +33,9 @@ in rec {
           allowSubstitutes = false;
         }
         ''
-          mkdir -p $out
-          ln -s /dev/null $out/${shellEscape name}
+          name=${shellEscape name}
+          mkdir -p "$out/$(dirname "$name")"
+          ln -s /dev/null "$out/$name"
         '';
 
   boolValues = [true false "yes" "no"];
@@ -120,10 +122,15 @@ in rec {
         (if isList value then value else [value]))
         as));
 
-  generateUnits = generateUnits' true;
-
-  generateUnits' = allowCollisions: type: units: upstreamUnits: upstreamWants:
-    pkgs.runCommand "${type}-units"
+  generateUnits = { allowCollisions ? true, type, units, upstreamUnits, upstreamWants, packages ? cfg.packages, package ? cfg.package }:
+    let
+      typeDir = ({
+        system = "system";
+        initrd = "system";
+        user = "user";
+        nspawn = "nspawn";
+      }).${type};
+    in pkgs.runCommand "${type}-units"
       { preferLocalBuild = true;
         allowSubstitutes = false;
       } ''
@@ -131,7 +138,7 @@ in rec {
 
       # Copy the upstream systemd units we're interested in.
       for i in ${toString upstreamUnits}; do
-        fn=${cfg.package}/example/systemd/${type}/$i
+        fn=${package}/example/systemd/${typeDir}/$i
         if ! [ -e $fn ]; then echo "missing $fn"; false; fi
         if [ -L $fn ]; then
           target="$(readlink "$fn")"
@@ -148,7 +155,7 @@ in rec {
       # Copy .wants links, but only those that point to units that
       # we're interested in.
       for i in ${toString upstreamWants}; do
-        fn=${cfg.package}/example/systemd/${type}/$i
+        fn=${package}/example/systemd/${typeDir}/$i
         if ! [ -e $fn ]; then echo "missing $fn"; false; fi
         x=$out/$(basename $fn)
         mkdir $x
@@ -160,14 +167,14 @@ in rec {
       done
 
       # Symlink all units provided listed in systemd.packages.
-      packages="${toString cfg.packages}"
+      packages="${toString packages}"
 
       # Filter duplicate directories
       declare -A unique_packages
       for k in $packages ; do unique_packages[$k]=1 ; done
 
       for i in ''${!unique_packages[@]}; do
-        for fn in $i/etc/systemd/${type}/* $i/lib/systemd/${type}/*; do
+        for fn in $i/etc/systemd/${typeDir}/* $i/lib/systemd/${typeDir}/*; do
           if ! [[ "$fn" =~ .wants$ ]]; then
             if [[ -d "$fn" ]]; then
               targetDir="$out/$(basename "$fn")"
@@ -268,9 +275,9 @@ in rec {
           { Conflicts = toString config.conflicts; }
         // optionalAttrs (config.requisite != [])
           { Requisite = toString config.requisite; }
-        // optionalAttrs (config.restartTriggers != [])
+        // optionalAttrs (config ? restartTriggers && config.restartTriggers != [])
           { X-Restart-Triggers = toString config.restartTriggers; }
-        // optionalAttrs (config.reloadTriggers != [])
+        // optionalAttrs (config ? reloadTriggers && config.reloadTriggers != [])
           { X-Reload-Triggers = toString config.reloadTriggers; }
         // optionalAttrs (config.description != "") {
           Description = config.description; }
@@ -286,45 +293,24 @@ in rec {
     };
   };
 
-  serviceConfig = { name, config, ... }: {
-    config = mkMerge
-      [ { # Default path for systemd services.  Should be quite minimal.
-          path = mkAfter
-            [ pkgs.coreutils
-              pkgs.findutils
-              pkgs.gnugrep
-              pkgs.gnused
-              systemd
-            ];
-          environment.PATH = "${makeBinPath config.path}:${makeSearchPathOutput "bin" "sbin" config.path}";
-        }
-        (mkIf (config.preStart != "")
-          { serviceConfig.ExecStartPre =
-              [ (makeJobScript "${name}-pre-start" config.preStart) ];
-          })
-        (mkIf (config.script != "")
-          { serviceConfig.ExecStart =
-              makeJobScript "${name}-start" config.script + " " + config.scriptArgs;
-          })
-        (mkIf (config.postStart != "")
-          { serviceConfig.ExecStartPost =
-              [ (makeJobScript "${name}-post-start" config.postStart) ];
-          })
-        (mkIf (config.reload != "")
-          { serviceConfig.ExecReload =
-              makeJobScript "${name}-reload" config.reload;
-          })
-        (mkIf (config.preStop != "")
-          { serviceConfig.ExecStop =
-              makeJobScript "${name}-pre-stop" config.preStop;
-          })
-        (mkIf (config.postStop != "")
-          { serviceConfig.ExecStopPost =
-              makeJobScript "${name}-post-stop" config.postStop;
-          })
-      ];
+  serviceConfig = { config, ... }: {
+    config.environment.PATH = mkIf (config.path != []) "${makeBinPath config.path}:${makeSearchPathOutput "bin" "sbin" config.path}";
   };
 
+  stage2ServiceConfig = {
+    imports = [ serviceConfig ];
+    # Default path for systemd services. Should be quite minimal.
+    config.path = mkAfter [
+      pkgs.coreutils
+      pkgs.findutils
+      pkgs.gnugrep
+      pkgs.gnused
+      systemd
+    ];
+  };
+
+  stage1ServiceConfig = serviceConfig;
+
   mountConfig = { config, ... }: {
     config = {
       mountConfig =
@@ -372,12 +358,12 @@ in rec {
               # systemd max line length is now 1MiB
               # https://github.com/systemd/systemd/commit/e6dde451a51dc5aaa7f4d98d39b8fe735f73d2af
               in if stringLength s >= 1048576 then throw "The value of the environment variable ‘${n}’ in systemd service ‘${name}.service’ is too long." else s) (attrNames env)}
-          ${if def.reloadIfChanged then ''
+          ${if def ? reloadIfChanged && def.reloadIfChanged then ''
             X-ReloadIfChanged=true
-          '' else if !def.restartIfChanged then ''
+          '' else if (def ? restartIfChanged && !def.restartIfChanged) then ''
             X-RestartIfChanged=false
           '' else ""}
-          ${optionalString (!def.stopIfChanged) "X-StopIfChanged=false"}
+          ${optionalString (def ? stopIfChanged && !def.stopIfChanged) "X-StopIfChanged=false"}
           ${attrsToSection def.serviceConfig}
         '';
     };
diff --git a/nixos/lib/systemd-types.nix b/nixos/lib/systemd-types.nix
new file mode 100644
index 0000000000000..71962fab2e177
--- /dev/null
+++ b/nixos/lib/systemd-types.nix
@@ -0,0 +1,37 @@
+{ lib, systemdUtils }:
+
+with systemdUtils.lib;
+with systemdUtils.unitOptions;
+with lib;
+
+rec {
+  units = with types;
+    attrsOf (submodule ({ name, config, ... }: {
+      options = concreteUnitOptions;
+      config = { unit = mkDefault (systemdUtils.lib.makeUnit name config); };
+    }));
+
+  services = with types; attrsOf (submodule [ stage2ServiceOptions unitConfig stage2ServiceConfig ]);
+  initrdServices = with types; attrsOf (submodule [ stage1ServiceOptions unitConfig stage1ServiceConfig ]);
+
+  targets = with types; attrsOf (submodule [ stage2CommonUnitOptions unitConfig ]);
+  initrdTargets = with types; attrsOf (submodule [ stage1CommonUnitOptions unitConfig ]);
+
+  sockets = with types; attrsOf (submodule [ stage2SocketOptions unitConfig ]);
+  initrdSockets = with types; attrsOf (submodule [ stage1SocketOptions unitConfig ]);
+
+  timers = with types; attrsOf (submodule [ stage2TimerOptions unitConfig ]);
+  initrdTimers = with types; attrsOf (submodule [ stage1TimerOptions unitConfig ]);
+
+  paths = with types; attrsOf (submodule [ stage2PathOptions unitConfig ]);
+  initrdPaths = with types; attrsOf (submodule [ stage1PathOptions unitConfig ]);
+
+  slices = with types; attrsOf (submodule [ stage2SliceOptions unitConfig ]);
+  initrdSlices = with types; attrsOf (submodule [ stage1SliceOptions unitConfig ]);
+
+  mounts = with types; listOf (submodule [ stage2MountOptions unitConfig mountConfig ]);
+  initrdMounts = with types; listOf (submodule [ stage1MountOptions unitConfig mountConfig ]);
+
+  automounts = with types; listOf (submodule [ stage2AutomountOptions unitConfig automountConfig ]);
+  initrdAutomounts = with types; attrsOf (submodule [ stage1AutomountOptions unitConfig automountConfig ]);
+}
diff --git a/nixos/lib/systemd-unit-options.nix b/nixos/lib/systemd-unit-options.nix
index 8029ba0e3f6cf..02e91fdf1e624 100644
--- a/nixos/lib/systemd-unit-options.nix
+++ b/nixos/lib/systemd-unit-options.nix
@@ -94,459 +94,618 @@ in rec {
 
   };
 
-  commonUnitOptions = sharedOptions // {
+  commonUnitOptions = {
+    options = sharedOptions // {
+
+      description = mkOption {
+        default = "";
+        type = types.singleLineStr;
+        description = "Description of this unit used in systemd messages and progress indicators.";
+      };
+
+      documentation = mkOption {
+        default = [];
+        type = types.listOf types.str;
+        description = "A list of URIs referencing documentation for this unit or its configuration.";
+      };
+
+      requires = mkOption {
+        default = [];
+        type = types.listOf unitNameType;
+        description = ''
+          Start the specified units when this unit is started, and stop
+          this unit when the specified units are stopped or fail.
+        '';
+      };
+
+      wants = mkOption {
+        default = [];
+        type = types.listOf unitNameType;
+        description = ''
+          Start the specified units when this unit is started.
+        '';
+      };
+
+      after = mkOption {
+        default = [];
+        type = types.listOf unitNameType;
+        description = ''
+          If the specified units are started at the same time as
+          this unit, delay this unit until they have started.
+        '';
+      };
+
+      before = mkOption {
+        default = [];
+        type = types.listOf unitNameType;
+        description = ''
+          If the specified units are started at the same time as
+          this unit, delay them until this unit has started.
+        '';
+      };
+
+      bindsTo = mkOption {
+        default = [];
+        type = types.listOf unitNameType;
+        description = ''
+          Like ‘requires’, but in addition, if the specified units
+          unexpectedly disappear, this unit will be stopped as well.
+        '';
+      };
+
+      partOf = mkOption {
+        default = [];
+        type = types.listOf unitNameType;
+        description = ''
+          If the specified units are stopped or restarted, then this
+          unit is stopped or restarted as well.
+        '';
+      };
+
+      conflicts = mkOption {
+        default = [];
+        type = types.listOf unitNameType;
+        description = ''
+          If the specified units are started, then this unit is stopped
+          and vice versa.
+        '';
+      };
+
+      requisite = mkOption {
+        default = [];
+        type = types.listOf unitNameType;
+        description = ''
+          Similar to requires. However if the units listed are not started,
+          they will not be started and the transaction will fail.
+        '';
+      };
+
+      unitConfig = mkOption {
+        default = {};
+        example = { RequiresMountsFor = "/data"; };
+        type = types.attrsOf unitOption;
+        description = ''
+          Each attribute in this set specifies an option in the
+          <literal>[Unit]</literal> section of the unit.  See
+          <citerefentry><refentrytitle>systemd.unit</refentrytitle>
+          <manvolnum>5</manvolnum></citerefentry> for details.
+        '';
+      };
+
+      onFailure = mkOption {
+        default = [];
+        type = types.listOf unitNameType;
+        description = ''
+          A list of one or more units that are activated when
+          this unit enters the "failed" state.
+        '';
+      };
+
+      startLimitBurst = mkOption {
+         type = types.int;
+         description = ''
+           Configure unit start rate limiting. Units which are started
+           more than startLimitBurst times within an interval time
+           interval are not permitted to start any more.
+         '';
+      };
+
+      startLimitIntervalSec = mkOption {
+         type = types.int;
+         description = ''
+           Configure unit start rate limiting. Units which are started
+           more than startLimitBurst times within an interval time
+           interval are not permitted to start any more.
+         '';
+      };
 
-    description = mkOption {
-      default = "";
-      type = types.singleLineStr;
-      description = "Description of this unit used in systemd messages and progress indicators.";
     };
-
-    documentation = mkOption {
-      default = [];
-      type = types.listOf types.str;
-      description = "A list of URIs referencing documentation for this unit or its configuration.";
-    };
-
-    requires = mkOption {
-      default = [];
-      type = types.listOf unitNameType;
-      description = ''
-        Start the specified units when this unit is started, and stop
-        this unit when the specified units are stopped or fail.
-      '';
-    };
-
-    wants = mkOption {
-      default = [];
-      type = types.listOf unitNameType;
-      description = ''
-        Start the specified units when this unit is started.
-      '';
-    };
-
-    after = mkOption {
-      default = [];
-      type = types.listOf unitNameType;
-      description = ''
-        If the specified units are started at the same time as
-        this unit, delay this unit until they have started.
-      '';
-    };
-
-    before = mkOption {
-      default = [];
-      type = types.listOf unitNameType;
-      description = ''
-        If the specified units are started at the same time as
-        this unit, delay them until this unit has started.
-      '';
-    };
-
-    bindsTo = mkOption {
-      default = [];
-      type = types.listOf unitNameType;
-      description = ''
-        Like ‘requires’, but in addition, if the specified units
-        unexpectedly disappear, this unit will be stopped as well.
-      '';
-    };
-
-    partOf = mkOption {
-      default = [];
-      type = types.listOf unitNameType;
-      description = ''
-        If the specified units are stopped or restarted, then this
-        unit is stopped or restarted as well.
-      '';
-    };
-
-    conflicts = mkOption {
-      default = [];
-      type = types.listOf unitNameType;
-      description = ''
-        If the specified units are started, then this unit is stopped
-        and vice versa.
-      '';
-    };
-
-    requisite = mkOption {
-      default = [];
-      type = types.listOf unitNameType;
-      description = ''
-        Similar to requires. However if the units listed are not started,
-        they will not be started and the transaction will fail.
-      '';
-    };
-
-    unitConfig = mkOption {
-      default = {};
-      example = { RequiresMountsFor = "/data"; };
-      type = types.attrsOf unitOption;
-      description = ''
-        Each attribute in this set specifies an option in the
-        <literal>[Unit]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.unit</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
-      '';
-    };
-
-    restartTriggers = mkOption {
-      default = [];
-      type = types.listOf types.unspecified;
-      description = ''
-        An arbitrary list of items such as derivations.  If any item
-        in the list changes between reconfigurations, the service will
-        be restarted.
-      '';
-    };
-
-    reloadTriggers = mkOption {
-      default = [];
-      type = types.listOf unitOption;
-      description = ''
-        An arbitrary list of items such as derivations.  If any item
-        in the list changes between reconfigurations, the service will
-        be reloaded.  If anything but a reload trigger changes in the
-        unit file, the unit will be restarted instead.
-      '';
-    };
-
-    onFailure = mkOption {
-      default = [];
-      type = types.listOf unitNameType;
-      description = ''
-        A list of one or more units that are activated when
-        this unit enters the "failed" state.
-      '';
-    };
-
-    startLimitBurst = mkOption {
-       type = types.int;
-       description = ''
-         Configure unit start rate limiting. Units which are started
-         more than startLimitBurst times within an interval time
-         interval are not permitted to start any more.
-       '';
-    };
-
-    startLimitIntervalSec = mkOption {
-       type = types.int;
-       description = ''
-         Configure unit start rate limiting. Units which are started
-         more than startLimitBurst times within an interval time
-         interval are not permitted to start any more.
-       '';
-    };
-
   };
 
-
-  serviceOptions = commonUnitOptions // {
-
-    environment = mkOption {
-      default = {};
-      type = with types; attrsOf (nullOr (oneOf [ str path package ]));
-      example = { PATH = "/foo/bar/bin"; LANG = "nl_NL.UTF-8"; };
-      description = "Environment variables passed to the service's processes.";
-    };
-
-    path = mkOption {
-      default = [];
-      type = with types; listOf (oneOf [ package str ]);
-      description = ''
-        Packages added to the service's <envar>PATH</envar>
-        environment variable.  Both the <filename>bin</filename>
-        and <filename>sbin</filename> subdirectories of each
-        package are added.
-      '';
+  stage2CommonUnitOptions = {
+    imports = [
+      commonUnitOptions
+    ];
+
+    options = {
+      restartTriggers = mkOption {
+        default = [];
+        type = types.listOf types.unspecified;
+        description = ''
+          An arbitrary list of items such as derivations.  If any item
+          in the list changes between reconfigurations, the service will
+          be restarted.
+        '';
+      };
+
+      reloadTriggers = mkOption {
+        default = [];
+        type = types.listOf unitOption;
+        description = ''
+          An arbitrary list of items such as derivations.  If any item
+          in the list changes between reconfigurations, the service will
+          be reloaded.  If anything but a reload trigger changes in the
+          unit file, the unit will be restarted instead.
+        '';
+      };
     };
+  };
+  stage1CommonUnitOptions = commonUnitOptions;
+
+  serviceOptions = { name, config, ... }: {
+    options = {
+
+      environment = mkOption {
+        default = {};
+        type = with types; attrsOf (nullOr (oneOf [ str path package ]));
+        example = { PATH = "/foo/bar/bin"; LANG = "nl_NL.UTF-8"; };
+        description = "Environment variables passed to the service's processes.";
+      };
+
+      path = mkOption {
+        default = [];
+        type = with types; listOf (oneOf [ package str ]);
+        description = ''
+          Packages added to the service's <envar>PATH</envar>
+          environment variable.  Both the <filename>bin</filename>
+          and <filename>sbin</filename> subdirectories of each
+          package are added.
+        '';
+      };
+
+      serviceConfig = mkOption {
+        default = {};
+        example =
+          { RestartSec = 5;
+          };
+        type = types.addCheck (types.attrsOf unitOption) checkService;
+        description = ''
+          Each attribute in this set specifies an option in the
+          <literal>[Service]</literal> section of the unit.  See
+          <citerefentry><refentrytitle>systemd.service</refentrytitle>
+          <manvolnum>5</manvolnum></citerefentry> for details.
+        '';
+      };
+
+      script = mkOption {
+        type = types.lines;
+        default = "";
+        description = "Shell commands executed as the service's main process.";
+      };
+
+      scriptArgs = mkOption {
+        type = types.str;
+        default = "";
+        description = "Arguments passed to the main process script.";
+      };
+
+      preStart = mkOption {
+        type = types.lines;
+        default = "";
+        description = ''
+          Shell commands executed before the service's main process
+          is started.
+        '';
+      };
+
+      postStart = mkOption {
+        type = types.lines;
+        default = "";
+        description = ''
+          Shell commands executed after the service's main process
+          is started.
+        '';
+      };
+
+      reload = mkOption {
+        type = types.lines;
+        default = "";
+        description = ''
+          Shell commands executed when the service's main process
+          is reloaded.
+        '';
+      };
+
+      preStop = mkOption {
+        type = types.lines;
+        default = "";
+        description = ''
+          Shell commands executed to stop the service.
+        '';
+      };
+
+      postStop = mkOption {
+        type = types.lines;
+        default = "";
+        description = ''
+          Shell commands executed after the service's main process
+          has exited.
+        '';
+      };
+
+      jobScripts = mkOption {
+        type = with types; coercedTo path singleton (listOf path);
+        internal = true;
+        description = "A list of all job script derivations of this unit.";
+        default = [];
+      };
+
+    };
+
+    config = mkMerge [
+      (mkIf (config.preStart != "") rec {
+        jobScripts = makeJobScript "${name}-pre-start" config.preStart;
+        serviceConfig.ExecStartPre = [ jobScripts ];
+      })
+      (mkIf (config.script != "") rec {
+        jobScripts = makeJobScript "${name}-start" config.script;
+        serviceConfig.ExecStart = jobScripts + " " + config.scriptArgs;
+      })
+      (mkIf (config.postStart != "") rec {
+        jobScripts = (makeJobScript "${name}-post-start" config.postStart);
+        serviceConfig.ExecStartPost = [ jobScripts ];
+      })
+      (mkIf (config.reload != "") rec {
+        jobScripts = makeJobScript "${name}-reload" config.reload;
+        serviceConfig.ExecReload = jobScripts;
+      })
+      (mkIf (config.preStop != "") rec {
+        jobScripts = makeJobScript "${name}-pre-stop" config.preStop;
+        serviceConfig.ExecStop = jobScripts;
+      })
+      (mkIf (config.postStop != "") rec {
+        jobScripts = makeJobScript "${name}-post-stop" config.postStop;
+        serviceConfig.ExecStopPost = jobScripts;
+      })
+    ];
 
-    serviceConfig = mkOption {
-      default = {};
-      example =
-        { RestartSec = 5;
-        };
-      type = types.addCheck (types.attrsOf unitOption) checkService;
-      description = ''
-        Each attribute in this set specifies an option in the
-        <literal>[Service]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.service</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
-      '';
-    };
+  };
 
-    script = mkOption {
-      type = types.lines;
-      default = "";
-      description = "Shell commands executed as the service's main process.";
+  stage2ServiceOptions = {
+    imports = [
+      stage2CommonUnitOptions
+      serviceOptions
+    ];
+
+    options = {
+      restartIfChanged = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether the service should be restarted during a NixOS
+          configuration switch if its definition has changed.
+        '';
+      };
+
+      reloadIfChanged = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether the service should be reloaded during a NixOS
+          configuration switch if its definition has changed.  If
+          enabled, the value of <option>restartIfChanged</option> is
+          ignored.
+
+          This option should not be used anymore in favor of
+          <option>reloadTriggers</option> which allows more granular
+          control of when a service is reloaded and when a service
+          is restarted.
+        '';
+      };
+
+      stopIfChanged = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          If set, a changed unit is restarted by calling
+          <command>systemctl stop</command> in the old configuration,
+          then <command>systemctl start</command> in the new one.
+          Otherwise, it is restarted in a single step using
+          <command>systemctl restart</command> in the new configuration.
+          The latter is less correct because it runs the
+          <literal>ExecStop</literal> commands from the new
+          configuration.
+        '';
+      };
+
+      startAt = mkOption {
+        type = with types; either str (listOf str);
+        default = [];
+        example = "Sun 14:00:00";
+        description = ''
+          Automatically start this unit at the given date/time, which
+          must be in the format described in
+          <citerefentry><refentrytitle>systemd.time</refentrytitle>
+          <manvolnum>7</manvolnum></citerefentry>.  This is equivalent
+          to adding a corresponding timer unit with
+          <option>OnCalendar</option> set to the value given here.
+        '';
+        apply = v: if isList v then v else [ v ];
+      };
     };
+  };
 
-    scriptArgs = mkOption {
-      type = types.str;
-      default = "";
-      description = "Arguments passed to the main process script.";
-    };
+  stage1ServiceOptions = {
+    imports = [
+      stage1CommonUnitOptions
+      serviceOptions
+    ];
+  };
 
-    preStart = mkOption {
-      type = types.lines;
-      default = "";
-      description = ''
-        Shell commands executed before the service's main process
-        is started.
-      '';
-    };
 
-    postStart = mkOption {
-      type = types.lines;
-      default = "";
-      description = ''
-        Shell commands executed after the service's main process
-        is started.
-      '';
+  socketOptions = {
+    options = {
+
+      listenStreams = mkOption {
+        default = [];
+        type = types.listOf types.str;
+        example = [ "0.0.0.0:993" "/run/my-socket" ];
+        description = ''
+          For each item in this list, a <literal>ListenStream</literal>
+          option in the <literal>[Socket]</literal> section will be created.
+        '';
+      };
+
+      listenDatagrams = mkOption {
+        default = [];
+        type = types.listOf types.str;
+        example = [ "0.0.0.0:993" "/run/my-socket" ];
+        description = ''
+          For each item in this list, a <literal>ListenDatagram</literal>
+          option in the <literal>[Socket]</literal> section will be created.
+        '';
+      };
+
+      socketConfig = mkOption {
+        default = {};
+        example = { ListenStream = "/run/my-socket"; };
+        type = types.attrsOf unitOption;
+        description = ''
+          Each attribute in this set specifies an option in the
+          <literal>[Socket]</literal> section of the unit.  See
+          <citerefentry><refentrytitle>systemd.socket</refentrytitle>
+          <manvolnum>5</manvolnum></citerefentry> for details.
+        '';
+      };
     };
 
-    reload = mkOption {
-      type = types.lines;
-      default = "";
-      description = ''
-        Shell commands executed when the service's main process
-        is reloaded.
-      '';
-    };
+  };
 
-    preStop = mkOption {
-      type = types.lines;
-      default = "";
-      description = ''
-        Shell commands executed to stop the service.
-      '';
-    };
+  stage2SocketOptions = {
+    imports = [
+      stage2CommonUnitOptions
+      socketOptions
+    ];
+  };
 
-    postStop = mkOption {
-      type = types.lines;
-      default = "";
-      description = ''
-        Shell commands executed after the service's main process
-        has exited.
-      '';
-    };
+  stage1SocketOptions = {
+    imports = [
+      stage1CommonUnitOptions
+      socketOptions
+    ];
+  };
 
-    restartIfChanged = mkOption {
-      type = types.bool;
-      default = true;
-      description = ''
-        Whether the service should be restarted during a NixOS
-        configuration switch if its definition has changed.
-      '';
-    };
 
-    reloadIfChanged = mkOption {
-      type = types.bool;
-      default = false;
-      description = ''
-        Whether the service should be reloaded during a NixOS
-        configuration switch if its definition has changed.  If
-        enabled, the value of <option>restartIfChanged</option> is
-        ignored.
-
-        This option should not be used anymore in favor of
-        <option>reloadTriggers</option> which allows more granular
-        control of when a service is reloaded and when a service
-        is restarted.
-      '';
-    };
+  timerOptions = {
+    options = {
 
-    stopIfChanged = mkOption {
-      type = types.bool;
-      default = true;
-      description = ''
-        If set, a changed unit is restarted by calling
-        <command>systemctl stop</command> in the old configuration,
-        then <command>systemctl start</command> in the new one.
-        Otherwise, it is restarted in a single step using
-        <command>systemctl restart</command> in the new configuration.
-        The latter is less correct because it runs the
-        <literal>ExecStop</literal> commands from the new
-        configuration.
-      '';
-    };
+      timerConfig = mkOption {
+        default = {};
+        example = { OnCalendar = "Sun 14:00:00"; Unit = "foo.service"; };
+        type = types.attrsOf unitOption;
+        description = ''
+          Each attribute in this set specifies an option in the
+          <literal>[Timer]</literal> section of the unit.  See
+          <citerefentry><refentrytitle>systemd.timer</refentrytitle>
+          <manvolnum>5</manvolnum></citerefentry> and
+          <citerefentry><refentrytitle>systemd.time</refentrytitle>
+          <manvolnum>7</manvolnum></citerefentry> for details.
+        '';
+      };
 
-    startAt = mkOption {
-      type = with types; either str (listOf str);
-      default = [];
-      example = "Sun 14:00:00";
-      description = ''
-        Automatically start this unit at the given date/time, which
-        must be in the format described in
-        <citerefentry><refentrytitle>systemd.time</refentrytitle>
-        <manvolnum>7</manvolnum></citerefentry>.  This is equivalent
-        to adding a corresponding timer unit with
-        <option>OnCalendar</option> set to the value given here.
-      '';
-      apply = v: if isList v then v else [ v ];
     };
+  };
 
+  stage2TimerOptions = {
+    imports = [
+      stage2CommonUnitOptions
+      timerOptions
+    ];
   };
 
+  stage1TimerOptions = {
+    imports = [
+      stage1CommonUnitOptions
+      timerOptions
+    ];
+  };
 
-  socketOptions = commonUnitOptions // {
 
-    listenStreams = mkOption {
-      default = [];
-      type = types.listOf types.str;
-      example = [ "0.0.0.0:993" "/run/my-socket" ];
-      description = ''
-        For each item in this list, a <literal>ListenStream</literal>
-        option in the <literal>[Socket]</literal> section will be created.
-      '';
-    };
+  pathOptions = {
+    options = {
 
-    listenDatagrams = mkOption {
-      default = [];
-      type = types.listOf types.str;
-      example = [ "0.0.0.0:993" "/run/my-socket" ];
-      description = ''
-        For each item in this list, a <literal>ListenDatagram</literal>
-        option in the <literal>[Socket]</literal> section will be created.
-      '';
-    };
+      pathConfig = mkOption {
+        default = {};
+        example = { PathChanged = "/some/path"; Unit = "changedpath.service"; };
+        type = types.attrsOf unitOption;
+        description = ''
+          Each attribute in this set specifies an option in the
+          <literal>[Path]</literal> section of the unit.  See
+          <citerefentry><refentrytitle>systemd.path</refentrytitle>
+          <manvolnum>5</manvolnum></citerefentry> for details.
+        '';
+      };
 
-    socketConfig = mkOption {
-      default = {};
-      example = { ListenStream = "/run/my-socket"; };
-      type = types.attrsOf unitOption;
-      description = ''
-        Each attribute in this set specifies an option in the
-        <literal>[Socket]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.socket</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
-      '';
     };
-
   };
 
+  stage2PathOptions = {
+    imports = [
+      stage2CommonUnitOptions
+      pathOptions
+    ];
+  };
 
-  timerOptions = commonUnitOptions // {
-
-    timerConfig = mkOption {
-      default = {};
-      example = { OnCalendar = "Sun 14:00:00"; Unit = "foo.service"; };
-      type = types.attrsOf unitOption;
-      description = ''
-        Each attribute in this set specifies an option in the
-        <literal>[Timer]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.timer</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> and
-        <citerefentry><refentrytitle>systemd.time</refentrytitle>
-        <manvolnum>7</manvolnum></citerefentry> for details.
-      '';
-    };
-
+  stage1PathOptions = {
+    imports = [
+      stage1CommonUnitOptions
+      pathOptions
+    ];
   };
 
 
-  pathOptions = commonUnitOptions // {
+  mountOptions = {
+    options = {
+
+      what = mkOption {
+        example = "/dev/sda1";
+        type = types.str;
+        description = "Absolute path of device node, file or other resource. (Mandatory)";
+      };
+
+      where = mkOption {
+        example = "/mnt";
+        type = types.str;
+        description = ''
+          Absolute path of a directory of the mount point.
+          Will be created if it doesn't exist. (Mandatory)
+        '';
+      };
+
+      type = mkOption {
+        default = "";
+        example = "ext4";
+        type = types.str;
+        description = "File system type.";
+      };
+
+      options = mkOption {
+        default = "";
+        example = "noatime";
+        type = types.commas;
+        description = "Options used to mount the file system.";
+      };
+
+      mountConfig = mkOption {
+        default = {};
+        example = { DirectoryMode = "0775"; };
+        type = types.attrsOf unitOption;
+        description = ''
+          Each attribute in this set specifies an option in the
+          <literal>[Mount]</literal> section of the unit.  See
+          <citerefentry><refentrytitle>systemd.mount</refentrytitle>
+          <manvolnum>5</manvolnum></citerefentry> for details.
+        '';
+      };
 
-    pathConfig = mkOption {
-      default = {};
-      example = { PathChanged = "/some/path"; Unit = "changedpath.service"; };
-      type = types.attrsOf unitOption;
-      description = ''
-        Each attribute in this set specifies an option in the
-        <literal>[Path]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.path</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
-      '';
     };
-
   };
 
+  stage2MountOptions = {
+    imports = [
+      stage2CommonUnitOptions
+      mountOptions
+    ];
+  };
 
-  mountOptions = commonUnitOptions // {
-
-    what = mkOption {
-      example = "/dev/sda1";
-      type = types.str;
-      description = "Absolute path of device node, file or other resource. (Mandatory)";
-    };
+  stage1MountOptions = {
+    imports = [
+      stage1CommonUnitOptions
+      mountOptions
+    ];
+  };
 
-    where = mkOption {
-      example = "/mnt";
-      type = types.str;
-      description = ''
-        Absolute path of a directory of the mount point.
-        Will be created if it doesn't exist. (Mandatory)
-      '';
-    };
+  automountOptions = {
+    options = {
+
+      where = mkOption {
+        example = "/mnt";
+        type = types.str;
+        description = ''
+          Absolute path of a directory of the mount point.
+          Will be created if it doesn't exist. (Mandatory)
+        '';
+      };
+
+      automountConfig = mkOption {
+        default = {};
+        example = { DirectoryMode = "0775"; };
+        type = types.attrsOf unitOption;
+        description = ''
+          Each attribute in this set specifies an option in the
+          <literal>[Automount]</literal> section of the unit.  See
+          <citerefentry><refentrytitle>systemd.automount</refentrytitle>
+          <manvolnum>5</manvolnum></citerefentry> for details.
+        '';
+      };
 
-    type = mkOption {
-      default = "";
-      example = "ext4";
-      type = types.str;
-      description = "File system type.";
     };
+  };
 
-    options = mkOption {
-      default = "";
-      example = "noatime";
-      type = types.commas;
-      description = "Options used to mount the file system.";
-    };
+  stage2AutomountOptions = {
+    imports = [
+      stage2CommonUnitOptions
+      automountOptions
+    ];
+  };
 
-    mountConfig = mkOption {
-      default = {};
-      example = { DirectoryMode = "0775"; };
-      type = types.attrsOf unitOption;
-      description = ''
-        Each attribute in this set specifies an option in the
-        <literal>[Mount]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.mount</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
-      '';
-    };
+  stage1AutomountOptions = {
+    imports = [
+      stage1CommonUnitOptions
+      automountOptions
+    ];
   };
 
-  automountOptions = commonUnitOptions // {
+  sliceOptions = {
+    options = {
 
-    where = mkOption {
-      example = "/mnt";
-      type = types.str;
-      description = ''
-        Absolute path of a directory of the mount point.
-        Will be created if it doesn't exist. (Mandatory)
-      '';
-    };
+      sliceConfig = mkOption {
+        default = {};
+        example = { MemoryMax = "2G"; };
+        type = types.attrsOf unitOption;
+        description = ''
+          Each attribute in this set specifies an option in the
+          <literal>[Slice]</literal> section of the unit.  See
+          <citerefentry><refentrytitle>systemd.slice</refentrytitle>
+          <manvolnum>5</manvolnum></citerefentry> for details.
+        '';
+      };
 
-    automountConfig = mkOption {
-      default = {};
-      example = { DirectoryMode = "0775"; };
-      type = types.attrsOf unitOption;
-      description = ''
-        Each attribute in this set specifies an option in the
-        <literal>[Automount]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.automount</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
-      '';
     };
   };
 
-  targetOptions = commonUnitOptions;
-
-  sliceOptions = commonUnitOptions // {
-
-    sliceConfig = mkOption {
-      default = {};
-      example = { MemoryMax = "2G"; };
-      type = types.attrsOf unitOption;
-      description = ''
-        Each attribute in this set specifies an option in the
-        <literal>[Slice]</literal> section of the unit.  See
-        <citerefentry><refentrytitle>systemd.slice</refentrytitle>
-        <manvolnum>5</manvolnum></citerefentry> for details.
-      '';
-    };
+  stage2SliceOptions = {
+    imports = [
+      stage2CommonUnitOptions
+      sliceOptions
+    ];
+  };
 
+  stage1SliceOptions = {
+    imports = [
+      stage1CommonUnitOptions
+      sliceOptions
+    ];
   };
 
 }
diff --git a/nixos/lib/test-driver/test_driver/machine.py b/nixos/lib/test-driver/test_driver/machine.py
index 569a0f3c61e48..f3e615fe5bf98 100644
--- a/nixos/lib/test-driver/test_driver/machine.py
+++ b/nixos/lib/test-driver/test_driver/machine.py
@@ -198,7 +198,7 @@ class StartCommand:
     ) -> subprocess.Popen:
         return subprocess.Popen(
             self.cmd(monitor_socket_path, shell_socket_path),
-            stdin=subprocess.DEVNULL,
+            stdin=subprocess.PIPE,
             stdout=subprocess.PIPE,
             stderr=subprocess.STDOUT,
             shell=True,
@@ -558,6 +558,28 @@ class Machine:
             pass_fds=[self.shell.fileno()],
         )
 
+    def console_interact(self) -> None:
+        """Allows you to interact with QEMU's stdin
+
+        The shell can be exited with Ctrl+D. Note that Ctrl+C is not allowed to be used.
+        QEMU's stdout is read line-wise.
+
+        Should only be used during test development, not in the production test."""
+        self.log("Terminal is ready (there is no prompt):")
+
+        assert self.process
+        assert self.process.stdin
+
+        while True:
+            try:
+                char = sys.stdin.buffer.read(1)
+            except KeyboardInterrupt:
+                break
+            if char == b"":  # ctrl+d
+                self.log("Closing connection to the console")
+                break
+            self.send_console(char.decode())
+
     def succeed(self, *commands: str, timeout: Optional[int] = None) -> str:
         """Execute each command and check that it succeeds."""
         output = ""
@@ -834,6 +856,12 @@ class Machine:
         self.send_monitor_command("sendkey {}".format(key))
         time.sleep(0.01)
 
+    def send_console(self, chars: str) -> None:
+        assert self.process
+        assert self.process.stdin
+        self.process.stdin.write(chars.encode())
+        self.process.stdin.flush()
+
     def start(self) -> None:
         if self.booted:
             return
diff --git a/nixos/lib/testing-python.nix b/nixos/lib/testing-python.nix
index 0d3c3a89e7836..cd2bb2f9d4d4c 100644
--- a/nixos/lib/testing-python.nix
+++ b/nixos/lib/testing-python.nix
@@ -146,26 +146,28 @@ rec {
 
   # Make a full-blown test
   makeTest =
-    { testScript
+    { machine ? null
+    , nodes ? {}
+    , testScript
     , enableOCR ? false
     , name ? "unnamed"
       # Skip linting (mainly intended for faster dev cycles)
     , skipLint ? false
     , passthru ? {}
+    , meta ? {}
     , # For meta.position
       pos ? # position used in error messages and for meta.position
-        (if t.meta.description or null != null
-          then builtins.unsafeGetAttrPos "description" t.meta
+        (if meta.description or null != null
+          then builtins.unsafeGetAttrPos "description" meta
           else builtins.unsafeGetAttrPos "testScript" t)
-    , ...
     } @ t:
     let
-      nodes = qemu_pkg:
+      mkNodes = qemu_pkg:
         let
           testScript' =
             # Call the test script with the computed nodes.
             if lib.isFunction testScript
-            then testScript { nodes = nodes qemu_pkg; }
+            then testScript { nodes = mkNodes qemu_pkg; }
             else testScript;
 
           build-vms = import ./build-vms.nix {
@@ -204,34 +206,31 @@ rec {
             )];
           };
         in
+          lib.warnIf (t?machine) "In test `${name}': The `machine' attribute in NixOS tests (pkgs.nixosTest / make-test-pyton.nix / testing-python.nix / makeTest) is deprecated. Please use the equivalent `nodes.machine'."
           build-vms.buildVirtualNetwork (
-              t.nodes or (if t ? machine then { machine = t.machine; } else { })
+              nodes // lib.optionalAttrs (machine != null) { inherit machine; }
           );
 
       driver = setupDriverForTest {
         inherit testScript enableOCR skipLint passthru;
         testName = name;
         qemu_pkg = pkgs.qemu_test;
-        nodes = nodes pkgs.qemu_test;
+        nodes = mkNodes pkgs.qemu_test;
       };
       driverInteractive = setupDriverForTest {
         inherit testScript enableOCR skipLint passthru;
         testName = name;
         qemu_pkg = pkgs.qemu;
-        nodes = nodes pkgs.qemu;
+        nodes = mkNodes pkgs.qemu;
         interactive = true;
       };
 
-      test =
-        let
-          passMeta = drv: drv // lib.optionalAttrs (t ? meta) {
-            meta = (drv.meta or { }) // t.meta;
-          };
-        in passMeta (runTests { inherit driver pos driverInteractive; });
+      test = lib.addMetaAttrs meta (runTests { inherit driver pos driverInteractive; });
 
     in
       test // {
-        inherit test driver driverInteractive nodes;
+        inherit test driver driverInteractive;
+        inherit (driver) nodes;
       };
 
   abortForFunction = functionName: abort ''The ${functionName} function was
diff --git a/nixos/lib/utils.nix b/nixos/lib/utils.nix
index ae68c3920c5bb..80341dd48fcd5 100644
--- a/nixos/lib/utils.nix
+++ b/nixos/lib/utils.nix
@@ -197,5 +197,6 @@ rec {
   systemdUtils = {
     lib = import ./systemd-lib.nix { inherit lib config pkgs; };
     unitOptions = import ./systemd-unit-options.nix { inherit lib systemdUtils; };
+    types = import ./systemd-types.nix { inherit lib systemdUtils; };
   };
 }
diff --git a/nixos/modules/config/resolvconf.nix b/nixos/modules/config/resolvconf.nix
index cd0ed491383cf..4499481811fd8 100644
--- a/nixos/modules/config/resolvconf.nix
+++ b/nixos/modules/config/resolvconf.nix
@@ -47,8 +47,8 @@ in
 
       enable = mkOption {
         type = types.bool;
-        default = false;
-        internal = true;
+        default = !(config.environment.etc ? "resolv.conf");
+        defaultText = literalExpression ''!(config.environment.etc ? "resolv.conf")'';
         description = ''
           DNS configuration is managed by resolvconf.
         '';
@@ -110,8 +110,6 @@ in
 
   config = mkMerge [
     {
-      networking.resolvconf.enable = !(config.environment.etc ? "resolv.conf");
-
       environment.etc."resolvconf.conf".text =
         if !cfg.enable then
           # Force-stop any attempts to use resolvconf
diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix
index 3ff1b3d670e9f..860e240b43d4a 100644
--- a/nixos/modules/installer/cd-dvd/iso-image.nix
+++ b/nixos/modules/installer/cd-dvd/iso-image.nix
@@ -91,29 +91,9 @@ let
     SERIAL 0 115200
     TIMEOUT ${builtins.toString syslinuxTimeout}
     UI vesamenu.c32
-    MENU TITLE NixOS
     MENU BACKGROUND /isolinux/background.png
-    MENU RESOLUTION 800 600
-    MENU CLEAR
-    MENU ROWS 6
-    MENU CMDLINEROW -4
-    MENU TIMEOUTROW -3
-    MENU TABMSGROW  -2
-    MENU HELPMSGROW -1
-    MENU HELPMSGENDROW -1
-    MENU MARGIN 0
-
-    #                                FG:AARRGGBB  BG:AARRGGBB   shadow
-    MENU COLOR BORDER       30;44      #00000000    #00000000   none
-    MENU COLOR SCREEN       37;40      #FF000000    #00E2E8FF   none
-    MENU COLOR TABMSG       31;40      #80000000    #00000000   none
-    MENU COLOR TIMEOUT      1;37;40    #FF000000    #00000000   none
-    MENU COLOR TIMEOUT_MSG  37;40      #FF000000    #00000000   none
-    MENU COLOR CMDMARK      1;36;40    #FF000000    #00000000   none
-    MENU COLOR CMDLINE      37;40      #FF000000    #00000000   none
-    MENU COLOR TITLE        1;36;44    #00000000    #00000000   none
-    MENU COLOR UNSEL        37;44      #FF000000    #00000000   none
-    MENU COLOR SEL          7;37;40    #FFFFFFFF    #FF5277C3   std
+
+    ${config.isoImage.syslinuxTheme}
 
     DEFAULT boot
 
@@ -601,6 +581,37 @@ in
       '';
     };
 
+    isoImage.syslinuxTheme = mkOption {
+      default = ''
+        MENU TITLE NixOS
+        MENU RESOLUTION 800 600
+        MENU CLEAR
+        MENU ROWS 6
+        MENU CMDLINEROW -4
+        MENU TIMEOUTROW -3
+        MENU TABMSGROW  -2
+        MENU HELPMSGROW -1
+        MENU HELPMSGENDROW -1
+        MENU MARGIN 0
+
+        #                                FG:AARRGGBB  BG:AARRGGBB   shadow
+        MENU COLOR BORDER       30;44      #00000000    #00000000   none
+        MENU COLOR SCREEN       37;40      #FF000000    #00E2E8FF   none
+        MENU COLOR TABMSG       31;40      #80000000    #00000000   none
+        MENU COLOR TIMEOUT      1;37;40    #FF000000    #00000000   none
+        MENU COLOR TIMEOUT_MSG  37;40      #FF000000    #00000000   none
+        MENU COLOR CMDMARK      1;36;40    #FF000000    #00000000   none
+        MENU COLOR CMDLINE      37;40      #FF000000    #00000000   none
+        MENU COLOR TITLE        1;36;44    #00000000    #00000000   none
+        MENU COLOR UNSEL        37;44      #FF000000    #00000000   none
+        MENU COLOR SEL          7;37;40    #FFFFFFFF    #FF5277C3   std
+      '';
+      type = types.str;
+      description = ''
+        The syslinux theme used for BIOS boot.
+      '';
+    };
+
     isoImage.appendToMenuLabel = mkOption {
       default = " Installer";
       example = " Live System";
diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix
index 71aaf7f253d9b..2e088b9777102 100644
--- a/nixos/modules/installer/tools/tools.nix
+++ b/nixos/modules/installer/tools/tools.nix
@@ -117,7 +117,7 @@ in
     '';
   };
 
-  config = lib.mkIf (!config.system.disableInstallerTools) {
+  config = lib.mkIf (config.nix.enable && !config.system.disableInstallerTools) {
 
     system.nixos-generate-config.configuration = mkDefault ''
       # Edit this configuration file to define what should be installed on
diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix
index d825f4beb301c..931201ade2935 100644
--- a/nixos/modules/misc/version.nix
+++ b/nixos/modules/misc/version.nix
@@ -15,6 +15,26 @@ let
       mapAttrsToList (n: v: ''${n}=${escapeIfNeccessary (toString v)}'') attrs
     );
 
+  osReleaseContents = {
+    NAME = "NixOS";
+    ID = "nixos";
+    VERSION = "${cfg.release} (${cfg.codeName})";
+    VERSION_CODENAME = toLower cfg.codeName;
+    VERSION_ID = cfg.release;
+    BUILD_ID = cfg.version;
+    PRETTY_NAME = "NixOS ${cfg.release} (${cfg.codeName})";
+    LOGO = "nix-snowflake";
+    HOME_URL = "https://nixos.org/";
+    DOCUMENTATION_URL = "https://nixos.org/learn.html";
+    SUPPORT_URL = "https://nixos.org/community.html";
+    BUG_REPORT_URL = "https://github.com/NixOS/nixpkgs/issues";
+  };
+
+  initrdReleaseContents = osReleaseContents // {
+    PRETTY_NAME = "${osReleaseContents.PRETTY_NAME} (Initrd)";
+  };
+  initrdRelease = pkgs.writeText "initrd-release" (attrsToText initrdReleaseContents);
+
 in
 {
   imports = [
@@ -119,20 +139,12 @@ in
         DISTRIB_DESCRIPTION = "NixOS ${cfg.release} (${cfg.codeName})";
       };
 
-      "os-release".text = attrsToText {
-        NAME = "NixOS";
-        ID = "nixos";
-        VERSION = "${cfg.release} (${cfg.codeName})";
-        VERSION_CODENAME = toLower cfg.codeName;
-        VERSION_ID = cfg.release;
-        BUILD_ID = cfg.version;
-        PRETTY_NAME = "NixOS ${cfg.release} (${cfg.codeName})";
-        LOGO = "nix-snowflake";
-        HOME_URL = "https://nixos.org/";
-        DOCUMENTATION_URL = "https://nixos.org/learn.html";
-        SUPPORT_URL = "https://nixos.org/community.html";
-        BUG_REPORT_URL = "https://github.com/NixOS/nixpkgs/issues";
-      };
+      "os-release".text = attrsToText osReleaseContents;
+    };
+
+    boot.initrd.systemd.contents = {
+      "/etc/os-release".source = initrdRelease;
+      "/etc/initrd-release".source = initrdRelease;
     };
   };
 
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index e80c6cf90f54c..d6c65251c628d 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -118,6 +118,8 @@
   ./misc/version.nix
   ./misc/wordlist.nix
   ./misc/nixops-autoluks.nix
+  ./programs/_1password.nix
+  ./programs/_1password-gui.nix
   ./programs/adb.nix
   ./programs/appgate-sdp.nix
   ./programs/atop.nix
@@ -184,6 +186,7 @@
   ./programs/nix-ld.nix
   ./programs/neovim.nix
   ./programs/nm-applet.nix
+  ./programs/nncp.nix
   ./programs/npm.nix
   ./programs/noisetorch.nix
   ./programs/oblogout.nix
@@ -777,6 +780,7 @@
   ./services/networking/headscale.nix
   ./services/networking/hostapd.nix
   ./services/networking/htpdate.nix
+  ./services/networking/https-dns-proxy.nix
   ./services/networking/hylafax/default.nix
   ./services/networking/i2pd.nix
   ./services/networking/i2p.nix
@@ -846,7 +850,6 @@
   ./services/networking/ofono.nix
   ./services/networking/oidentd.nix
   ./services/networking/onedrive.nix
-  ./services/networking/openfire.nix
   ./services/networking/openvpn.nix
   ./services/networking/ostinato.nix
   ./services/networking/owamp.nix
@@ -973,6 +976,7 @@
   ./services/security/shibboleth-sp.nix
   ./services/security/sks.nix
   ./services/security/sshguard.nix
+  ./services/security/sslmate-agent.nix
   ./services/security/step-ca.nix
   ./services/security/tor.nix
   ./services/security/torify.nix
@@ -1044,6 +1048,7 @@
   ./services/web-apps/mediawiki.nix
   ./services/web-apps/miniflux.nix
   ./services/web-apps/moodle.nix
+  ./services/web-apps/netbox.nix
   ./services/web-apps/nextcloud.nix
   ./services/web-apps/nexus.nix
   ./services/web-apps/node-red.nix
@@ -1175,6 +1180,7 @@
   ./system/boot/systemd/nspawn.nix
   ./system/boot/systemd/tmpfiles.nix
   ./system/boot/systemd/user.nix
+  ./system/boot/systemd/initrd.nix
   ./system/boot/timesyncd.nix
   ./system/boot/tmp.nix
   ./system/etc/etc-activation.nix
diff --git a/nixos/modules/programs/_1password-gui.nix b/nixos/modules/programs/_1password-gui.nix
new file mode 100644
index 0000000000000..42f6a0b52252c
--- /dev/null
+++ b/nixos/modules/programs/_1password-gui.nix
@@ -0,0 +1,68 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+
+  cfg = config.programs._1password-gui;
+
+in
+{
+  options = {
+    programs._1password-gui = {
+      enable = mkEnableOption "the 1Password GUI application";
+
+      gid = mkOption {
+        type = types.addCheck types.int (x: x >= 1000);
+        example = literalExpression "5000";
+        description = ''
+          The gid to assign to the onepassword group, which is needed for browser integration.
+          It must be 1000 or greater.
+        '';
+      };
+
+      polkitPolicyOwners = mkOption {
+        type = types.listOf types.str;
+        default = [ ];
+        example = literalExpression ''["user1" "user2" "user3"]'';
+        description = ''
+          A list of users who should be able to integrate 1Password with polkit-based authentication mechanisms.
+        '';
+      };
+
+      package = mkPackageOption pkgs "1Password GUI" {
+        default = [ "_1password-gui" ];
+      };
+    };
+  };
+
+  config =
+    let
+      package = cfg.package.override {
+        polkitPolicyOwners = cfg.polkitPolicyOwners;
+      };
+    in
+    mkIf cfg.enable {
+      environment.systemPackages = [ package ];
+      users.groups.onepassword.gid = cfg.gid;
+
+      security.wrappers = {
+        "1Password-BrowserSupport" = {
+          source = "${package}/share/1password/1Password-BrowserSupport";
+          owner = "root";
+          group = "onepassword";
+          setuid = false;
+          setgid = true;
+        };
+
+        "1Password-KeyringHelper" = {
+          source = "${package}/share/1password/1Password-KeyringHelper";
+          owner = "root";
+          group = "onepassword";
+          setuid = true;
+          setgid = true;
+        };
+      };
+
+    };
+}
diff --git a/nixos/modules/programs/_1password.nix b/nixos/modules/programs/_1password.nix
new file mode 100644
index 0000000000000..547c12867a916
--- /dev/null
+++ b/nixos/modules/programs/_1password.nix
@@ -0,0 +1,44 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+
+  cfg = config.programs._1password;
+
+in
+{
+  options = {
+    programs._1password = {
+      enable = mkEnableOption "the 1Password CLI tool";
+
+      gid = mkOption {
+        type = types.addCheck types.int (x: x >= 1000);
+        example = literalExpression "5001";
+        description = ''
+          The gid to assign to the onepassword-cli group, which is needed for integration with the 1Password GUI.
+          It must be 1000 or greater.
+        '';
+      };
+
+      package = mkPackageOption pkgs "1Password CLI" {
+        default = [ "_1password" ];
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ cfg.package ];
+    users.groups.onepassword-cli.gid = cfg.gid;
+
+    security.wrappers = {
+      "op" = {
+        source = "${cfg.package}/bin/op";
+        owner = "root";
+        group = "onepassword-cli";
+        setuid = false;
+        setgid = true;
+      };
+    };
+  };
+}
diff --git a/nixos/modules/programs/adb.nix b/nixos/modules/programs/adb.nix
index 83bcfe886aa15..9e9e37f92a87d 100644
--- a/nixos/modules/programs/adb.nix
+++ b/nixos/modules/programs/adb.nix
@@ -23,8 +23,7 @@ with lib;
   ###### implementation
   config = mkIf config.programs.adb.enable {
     services.udev.packages = [ pkgs.android-udev-rules ];
-    # Give platform-tools lower priority so mke2fs+friends are taken from other packages first
-    environment.systemPackages = [ (lowPrio pkgs.androidenv.androidPkgs_9_0.platform-tools) ];
+    environment.systemPackages = [ pkgs.android-tools ];
     users.groups.adbusers = {};
   };
 }
diff --git a/nixos/modules/programs/nncp.nix b/nixos/modules/programs/nncp.nix
new file mode 100644
index 0000000000000..29a703eadf10e
--- /dev/null
+++ b/nixos/modules/programs/nncp.nix
@@ -0,0 +1,101 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+let
+  nncpCfgFile = "/run/nncp.hjson";
+  programCfg = config.programs.nncp;
+  settingsFormat = pkgs.formats.json { };
+  jsonCfgFile = settingsFormat.generate "nncp.json" programCfg.settings;
+  pkg = programCfg.package;
+in {
+  options.programs.nncp = {
+
+    enable =
+      mkEnableOption "NNCP (Node to Node copy) utilities and configuration";
+
+    group = mkOption {
+      type = types.str;
+      default = "uucp";
+      description = ''
+        The group under which NNCP files shall be owned.
+        Any member of this group may access the secret keys
+        of this NNCP node.
+      '';
+    };
+
+    package = mkOption {
+      type = types.package;
+      default = pkgs.nncp;
+      defaultText = literalExpression "pkgs.nncp";
+      description = "The NNCP package to use system-wide.";
+    };
+
+    secrets = mkOption {
+      type = with types; listOf str;
+      example = [ "/run/keys/nncp.hjson" ];
+      description = ''
+        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"/>.
+      '';
+    };
+
+    settings = mkOption {
+      type = settingsFormat.type;
+      description = ''
+        NNCP configuration, see
+        <link xlink:href="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>!
+      '';
+      default = { };
+    };
+
+  };
+
+  config = mkIf programCfg.enable {
+
+    environment = {
+      systemPackages = [ pkg ];
+      etc."nncp.hjson".source = nncpCfgFile;
+    };
+
+    programs.nncp.settings = {
+      spool = mkDefault "/var/spool/nncp";
+      log = mkDefault "/var/spool/nncp/log";
+    };
+
+    systemd.tmpfiles.rules = [
+      "d ${programCfg.settings.spool} 0770 root ${programCfg.group}"
+      "f ${programCfg.settings.log} 0770 root ${programCfg.group}"
+    ];
+
+    systemd.services.nncp-config = {
+      path = [ pkg ];
+      description = "Generate NNCP configuration";
+      wantedBy = [ "basic.target" ];
+      serviceConfig.Type = "oneshot";
+      script = ''
+        umask u=rw
+        nncpCfgDir=$(mktemp --directory nncp.XXX)
+        for f in ${jsonCfgFile} ${toString config.programs.nncp.secrets}; do
+          tmpdir=$(mktemp --directory nncp.XXX)
+          nncp-cfgdir -cfg $f -dump $tmpdir
+          find $tmpdir -size 1c -delete
+          cp -a $tmpdir/* $nncpCfgDir/
+          rm -rf $tmpdir
+        done
+        nncp-cfgdir -load $nncpCfgDir > ${nncpCfgFile}
+        rm -rf $nncpCfgDir
+        chgrp ${programCfg.group} ${nncpCfgFile}
+        chmod g+r ${nncpCfgFile}
+      '';
+    };
+  };
+
+  meta.maintainers = with lib.maintainers; [ ehmry ];
+}
diff --git a/nixos/modules/programs/ssh.nix b/nixos/modules/programs/ssh.nix
index b31fce9152404..75685de4f04e3 100644
--- a/nixos/modules/programs/ssh.nix
+++ b/nixos/modules/programs/ssh.nix
@@ -157,9 +157,13 @@ in
               default = [ name ] ++ config.extraHostNames;
               defaultText = literalExpression "[ ${name} ] ++ config.${options.extraHostNames}";
               description = ''
-                DEPRECATED, please use <literal>extraHostNames</literal>.
                 A list of host names and/or IP numbers used for accessing
-                the host's ssh service.
+                the host's ssh service. This list includes the name of the
+                containing <literal>knownHosts</literal> attribute by default
+                for convenience. If you wish to configure multiple host keys
+                for the same host use multiple <literal>knownHosts</literal>
+                entries with different attribute names and the same
+                <literal>hostNames</literal> list.
               '';
             };
             extraHostNames = mkOption {
@@ -167,7 +171,8 @@ in
               default = [];
               description = ''
                 A list of additional host names and/or IP numbers used for
-                accessing the host's ssh service.
+                accessing the host's ssh service. This list is ignored if
+                <literal>hostNames</literal> is set explicitly.
               '';
             };
             publicKey = mkOption {
@@ -198,7 +203,12 @@ in
           };
         }));
         description = ''
-          The set of system-wide known SSH hosts.
+          The set of system-wide known SSH hosts. To make simple setups more
+          convenient the name of an attribute in this set is used as a host name
+          for the entry. This behaviour can be disabled by setting
+          <literal>hostNames</literal> explicitly. You can use
+          <literal>extraHostNames</literal> to add additional host names without
+          disabling this default.
         '';
         example = literalExpression ''
           {
@@ -207,6 +217,10 @@ in
               publicKeyFile = ./pubkeys/myhost_ssh_host_dsa_key.pub;
             };
             "myhost2.net".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILIRuJ8p1Fi+m6WkHV0KWnRfpM1WxoW8XAS+XvsSKsTK";
+            "myhost2.net/dsa" = {
+              hostNames = [ "myhost2.net" ];
+              publicKeyFile = ./pubkeys/myhost2_ssh_host_dsa_key.pub;
+            };
           }
         '';
       };
@@ -279,9 +293,6 @@ in
         message = "knownHost ${name} must contain either a publicKey or publicKeyFile";
       });
 
-    warnings = mapAttrsToList (name: _: ''programs.ssh.knownHosts.${name}.hostNames is deprecated, use programs.ssh.knownHosts.${name}.extraHostNames'')
-      (filterAttrs (name: {hostNames, extraHostNames, ...}: hostNames != [ name ] ++ extraHostNames) cfg.knownHosts);
-
     # SSH configuration. Slight duplication of the sshd_config
     # generation in the sshd service.
     environment.etc."ssh/ssh_config".text =
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index 195cf87e6a857..72395b2ee8699 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -91,6 +91,7 @@ with lib;
     (mkRemovedOptionModule [ "services" "shellinabox" ] "The corresponding package was removed from nixpkgs.")
     (mkRemovedOptionModule [ "services" "gogoclient" ] "The corresponding package was removed from nixpkgs.")
     (mkRemovedOptionModule [ "services" "virtuoso" ] "The corresponding package was removed from nixpkgs.")
+    (mkRemovedOptionModule [ "services" "openfire" ] "The corresponding package was removed from nixpkgs.")
 
     # Do NOT add any option renames here, see top of the file
   ];
diff --git a/nixos/modules/services/backup/zrepl.nix b/nixos/modules/services/backup/zrepl.nix
index 4356479b6635e..73f5e4d9f6d76 100644
--- a/nixos/modules/services/backup/zrepl.nix
+++ b/nixos/modules/services/backup/zrepl.nix
@@ -38,6 +38,9 @@ in
     environment.etc."zrepl/zrepl.yml".source = configFile;
 
     systemd.packages = [ pkgs.zrepl ];
+
+    # Note that pkgs.zrepl copies and adapts the upstream systemd unit, and
+    # the fields defined here only override certain fields from that unit.
     systemd.services.zrepl = {
       requires = [ "local-fs.target" ];
       wantedBy = [ "zfs.target" ];
diff --git a/nixos/modules/services/continuous-integration/buildbot/master.nix b/nixos/modules/services/continuous-integration/buildbot/master.nix
index aaa159d3cb18c..80c6c6abfd0b8 100644
--- a/nixos/modules/services/continuous-integration/buildbot/master.nix
+++ b/nixos/modules/services/continuous-integration/buildbot/master.nix
@@ -64,7 +64,7 @@ in {
         description = "Factory Steps";
         default = [];
         example = [
-          "steps.Git(repourl='git://github.com/buildbot/pyflakes.git', mode='incremental')"
+          "steps.Git(repourl='https://github.com/buildbot/pyflakes.git', mode='incremental')"
           "steps.ShellCommand(command=['trial', 'pyflakes'])"
         ];
       };
@@ -74,7 +74,7 @@ in {
         description = "List of Change Sources.";
         default = [];
         example = [
-          "changes.GitPoller('git://github.com/buildbot/pyflakes.git', workdir='gitpoller-workdir', branch='master', pollinterval=300)"
+          "changes.GitPoller('https://github.com/buildbot/pyflakes.git', workdir='gitpoller-workdir', branch='master', pollinterval=300)"
         ];
       };
 
diff --git a/nixos/modules/services/continuous-integration/jenkins/slave.nix b/nixos/modules/services/continuous-integration/jenkins/slave.nix
index 3c0e6f78e74ca..871b9914fb27a 100644
--- a/nixos/modules/services/continuous-integration/jenkins/slave.nix
+++ b/nixos/modules/services/continuous-integration/jenkins/slave.nix
@@ -1,4 +1,4 @@
-{ config, lib, ... }:
+{ config, lib, pkgs, ... }:
 with lib;
 let
   cfg = config.services.jenkinsSlave;
@@ -46,6 +46,15 @@ in {
           this is the home of the "jenkins" user.
         '';
       };
+
+      javaPackage = mkOption {
+        default = pkgs.jdk;
+        defaultText = literalExpression "pkgs.jdk";
+        description = ''
+          Java package to install.
+        '';
+        type = types.package;
+      };
     };
   };
 
@@ -64,5 +73,10 @@ in {
         uid = config.ids.uids.jenkins;
       };
     };
+
+    programs.java = {
+      enable = true;
+      package = cfg.javaPackage;
+    };
   };
 }
diff --git a/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json b/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json
index df0f62556dff6..b19fb33ec1788 100644
--- a/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json
+++ b/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json
@@ -29,14 +29,7 @@
     },
     {
       "name": "libpipewire-module-protocol-pulse",
-      "args": {
-        "server.address": [
-          "unix:native"
-        ],
-        "vm.overrides": {
-          "pulse.min.quantum": "1024/48000"
-        }
-      }
+      "args": {}
     }
   ],
   "context.exec": [
@@ -46,6 +39,14 @@
     }
   ],
   "stream.properties": {},
+  "pulse.properties": {
+    "server.address": [
+      "unix:native"
+    ],
+    "vm.overrides": {
+      "pulse.min.quantum": "1024/48000"
+    }
+  },
   "pulse.rules": [
     {
       "matches": [
diff --git a/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix b/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
index 109c91134b994..6027e4f3d4bfe 100644
--- a/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
+++ b/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
@@ -110,6 +110,11 @@ in {
       source = json.generate "v4l2-monitor.conf" configs.v4l2-monitor;
     };
 
+    environment.etc."pipewire/media-session.d/with-audio" =
+      mkIf config.services.pipewire.audio.enable {
+        text = "";
+      };
+
     environment.etc."pipewire/media-session.d/with-alsa" =
       mkIf config.services.pipewire.alsa.enable {
         text = "";
diff --git a/nixos/modules/services/desktops/pipewire/pipewire.nix b/nixos/modules/services/desktops/pipewire/pipewire.nix
index 59e9342a6ea1c..1323336d866e9 100644
--- a/nixos/modules/services/desktops/pipewire/pipewire.nix
+++ b/nixos/modules/services/desktops/pipewire/pipewire.nix
@@ -116,6 +116,16 @@ in {
         };
       };
 
+      audio = {
+        enable = lib.mkOption {
+          type = lib.types.bool;
+          # this is for backwards compatibility
+          default = cfg.alsa.enable || cfg.jack.enable || cfg.pulse.enable;
+          defaultText = lib.literalExpression "config.services.pipewire.alsa.enable || config.services.pipewire.jack.enable || config.services.pipewire.pulse.enable";
+          description = "Whether to use PipeWire as the primary sound server";
+        };
+      };
+
       alsa = {
         enable = mkEnableOption "ALSA support";
         support32Bit = mkEnableOption "32-bit ALSA support on 64-bit systems";
@@ -152,13 +162,18 @@ in {
   config = mkIf cfg.enable {
     assertions = [
       {
-        assertion = cfg.pulse.enable -> !config.hardware.pulseaudio.enable;
-        message = "PipeWire based PulseAudio server emulation replaces PulseAudio. This option requires `hardware.pulseaudio.enable` to be set to false";
+        assertion = cfg.audio.enable -> !config.hardware.pulseaudio.enable;
+        message = "Using PipeWire as the sound server conflicts with PulseAudio. This option requires `hardware.pulseaudio.enable` to be set to false";
       }
       {
         assertion = cfg.jack.enable -> !config.services.jack.jackd.enable;
         message = "PipeWire based JACK emulation doesn't use the JACK service. This option requires `services.jack.jackd.enable` to be set to false";
       }
+      {
+        # JACK intentionally not checked, as PW-on-JACK setups are a thing that some people may want
+        assertion = (cfg.alsa.enable || cfg.pulse.enable) -> cfg.audio.enable;
+        message = "Using PipeWire's ALSA/PulseAudio compatibility layers requires running PipeWire as the sound server. Set `services.pipewire.audio.enable` to true.";
+      }
     ];
 
     environment.systemPackages = [ cfg.package ]
diff --git a/nixos/modules/services/desktops/pipewire/wireplumber.nix b/nixos/modules/services/desktops/pipewire/wireplumber.nix
index 52ec17b95db4d..1dbdd842c4a1e 100644
--- a/nixos/modules/services/desktops/pipewire/wireplumber.nix
+++ b/nixos/modules/services/desktops/pipewire/wireplumber.nix
@@ -1,7 +1,9 @@
 { config, lib, pkgs, ... }:
 
 let
-  cfg = config.services.pipewire.wireplumber;
+  pwCfg = config.services.pipewire;
+  cfg = pwCfg.wireplumber;
+  pwUsedForAudio = pwCfg.audio.enable;
 in
 {
   meta.maintainers = [ lib.maintainers.k900 ];
@@ -33,6 +35,14 @@ in
     ];
 
     environment.systemPackages = [ cfg.package ];
+
+    environment.etc."wireplumber/main.lua.d/80-nixos.lua" = lib.mkIf (!pwUsedForAudio) {
+     text = ''
+        -- Pipewire is not used for audio, so prevent it from grabbing audio devices
+        alsa_monitor.enable = function() end
+      '';
+    };
+
     systemd.packages = [ cfg.package ];
 
     systemd.services.wireplumber.enable = config.services.pipewire.systemWide;
diff --git a/nixos/modules/services/development/jupyter/default.nix b/nixos/modules/services/development/jupyter/default.nix
index bebb3c3f13f01..4eacc4782a9a4 100644
--- a/nixos/modules/services/development/jupyter/default.nix
+++ b/nixos/modules/services/development/jupyter/default.nix
@@ -194,6 +194,7 @@ in {
         extraGroups = [ cfg.group ];
         home = "/var/lib/jupyter";
         createHome = true;
+        isSystemUser = true;
         useDefaultShell = true; # needed so that the user can start a terminal.
       };
     })
diff --git a/nixos/modules/services/games/factorio.nix b/nixos/modules/services/games/factorio.nix
index 96fcd6d2c8b30..ff73d7a46ed39 100644
--- a/nixos/modules/services/games/factorio.nix
+++ b/nixos/modules/services/games/factorio.nix
@@ -53,6 +53,14 @@ in
         '';
       };
 
+      bind = mkOption {
+        type = types.str;
+        default = "0.0.0.0";
+        description = ''
+          The address to which the service should bind.
+        '';
+      };
+
       admins = mkOption {
         type = types.listOf types.str;
         default = [];
@@ -241,6 +249,7 @@ in
           "${cfg.package}/bin/factorio"
           "--config=${cfg.configFile}"
           "--port=${toString cfg.port}"
+          "--bind=${cfg.bind}"
           "--start-server=${mkSavePath cfg.saveName}"
           "--server-settings=${serverSettingsFile}"
           (optionalString (cfg.mods != []) "--mod-directory=${modDir}")
diff --git a/nixos/modules/services/games/minecraft-server.nix b/nixos/modules/services/games/minecraft-server.nix
index 5bb8eff576292..8233962c1a2cc 100644
--- a/nixos/modules/services/games/minecraft-server.nix
+++ b/nixos/modules/services/games/minecraft-server.nix
@@ -153,7 +153,7 @@ in {
         type = types.separatedString " ";
         default = "-Xmx2048M -Xms2048M";
         # Example options from https://minecraft.gamepedia.com/Tutorials/Server_startup_script
-        example = "-Xmx2048M -Xms4092M -XX:+UseG1GC -XX:+CMSIncrementalPacing "
+        example = "-Xms4092M -Xmx4092M -XX:+UseG1GC -XX:+CMSIncrementalPacing "
           + "-XX:+CMSClassUnloadingEnabled -XX:ParallelGCThreads=2 "
           + "-XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10";
         description = "JVM options for the Minecraft server.";
diff --git a/nixos/modules/services/hardware/joycond.nix b/nixos/modules/services/hardware/joycond.nix
index ffef4f8a4e188..d81c1bb6d63d0 100644
--- a/nixos/modules/services/hardware/joycond.nix
+++ b/nixos/modules/services/hardware/joycond.nix
@@ -22,13 +22,9 @@ with lib;
   };
 
   config = mkIf cfg.enable {
-    environment.systemPackages = [
-      kernelPackages.hid-nintendo
-      cfg.package
-    ];
+    environment.systemPackages = [ cfg.package ];
 
-    boot.extraModulePackages = [ kernelPackages.hid-nintendo ];
-    boot.kernelModules = [ "hid_nintendo" ];
+    boot.extraModulePackages = optional (versionOlder kernelPackages.kernel.version "5.16") kernelPackages.hid-nintendo;
 
     services.udev.packages = [ cfg.package ];
 
diff --git a/nixos/modules/services/logging/graylog.nix b/nixos/modules/services/logging/graylog.nix
index e6a23233ba28d..28e2d18bf0311 100644
--- a/nixos/modules/services/logging/graylog.nix
+++ b/nixos/modules/services/logging/graylog.nix
@@ -132,7 +132,7 @@ in
         description = "Graylog server daemon user";
       };
     };
-    users.groups = mkIf (cfg.user == "graylog") {};
+    users.groups = mkIf (cfg.user == "graylog") { graylog = {}; };
 
     systemd.tmpfiles.rules = [
       "d '${cfg.messageJournalDir}' - ${cfg.user} - - -"
diff --git a/nixos/modules/services/logging/logrotate.nix b/nixos/modules/services/logging/logrotate.nix
index 082cf92ff4efe..332a2a597edc1 100644
--- a/nixos/modules/services/logging/logrotate.nix
+++ b/nixos/modules/services/logging/logrotate.nix
@@ -5,7 +5,10 @@ with lib;
 let
   cfg = config.services.logrotate;
 
-  pathOpts = { name, ... }:  {
+  # deprecated legacy compat settings
+  # these options will be removed before 22.11 in the following PR:
+  # https://github.com/NixOS/nixpkgs/pull/164169
+  pathOpts = { name, ... }: {
     options = {
       enable = mkOption {
         type = types.bool;
@@ -86,23 +89,113 @@ let
     config.name = name;
   };
 
-  mkConf = pathOpts: ''
-    # generated by NixOS using the `services.logrotate.paths.${pathOpts.name}` attribute set
-    ${concatMapStringsSep " " (path: ''"${path}"'') (toList pathOpts.path)} {
-      ${optionalString (pathOpts.user != null || pathOpts.group != null) "su ${pathOpts.user} ${pathOpts.group}"}
-      ${pathOpts.frequency}
-      rotate ${toString pathOpts.keep}
-      ${pathOpts.extraConfig}
-    }
-  '';
-
-  paths = sortProperties (attrValues (filterAttrs (_: pathOpts: pathOpts.enable) cfg.paths));
-  configFile = pkgs.writeText "logrotate.conf" (
-    concatStringsSep "\n" (
-      [ "missingok" "notifempty" cfg.extraConfig ] ++ (map mkConf paths)
-    )
+  generateLine = n: v:
+    if builtins.elem n [ "files" "priority" "enable" "global" ] || v == null then null
+    else if builtins.elem n [ "extraConfig" "frequency" ] then "${v}\n"
+    else if builtins.elem n [ "firstaction" "lastaction" "prerotate" "postrotate" "preremove" ]
+         then "${n}\n    ${v}\n  endscript\n"
+    else if isInt v then "${n} ${toString v}\n"
+    else if v == true then "${n}\n"
+    else if v == false then "no${n}\n"
+    else "${n} ${v}\n";
+  generateSection = indent: settings: concatStringsSep (fixedWidthString indent " " "") (
+    filter (x: x != null) (mapAttrsToList generateLine settings)
   );
 
+  # generateSection includes a final newline hence weird closing brace
+  mkConf = settings:
+    if settings.global or false then generateSection 0 settings
+    else ''
+      ${concatMapStringsSep "\n" (files: ''"${files}"'') (toList settings.files)} {
+        ${generateSection 2 settings}}
+    '';
+
+  # below two mapPaths are compat functions
+  mapPathOptToSetting = n: v:
+    if n == "keep" then nameValuePair "rotate" v
+    else if n == "path" then nameValuePair "files" v
+    else nameValuePair n v;
+
+  mapPathsToSettings = path: pathOpts:
+    nameValuePair path (
+      filterAttrs (n: v: ! builtins.elem n [ "user" "group" "name" ] && v != "") (
+        (mapAttrs' mapPathOptToSetting pathOpts) //
+        {
+          su =
+            if pathOpts.user != null
+            then "${pathOpts.user} ${pathOpts.group}"
+            else null;
+        }
+      )
+    );
+
+  settings = sortProperties (attrValues (filterAttrs (_: settings: settings.enable) (
+    foldAttrs recursiveUpdate { } [
+      {
+        header = {
+          enable = true;
+          missingok = true;
+          notifempty = true;
+          frequency = "weekly";
+          rotate = 4;
+        };
+        # compat section
+        extraConfig = {
+          enable = (cfg.extraConfig != "");
+          global = true;
+          extraConfig = cfg.extraConfig;
+          priority = 101;
+        };
+      }
+      (mapAttrs' mapPathsToSettings cfg.paths)
+      cfg.settings
+      { header = { global = true; priority = 100; }; }
+    ]
+  )));
+  configFile = pkgs.writeTextFile {
+    name = "logrotate.conf";
+    text = concatStringsSep "\n" (
+      map mkConf settings
+    );
+    checkPhase = optionalString cfg.checkConfig ''
+      # logrotate --debug also checks that users specified in config
+      # file exist, but we only have sandboxed users here so brown these
+      # out. according to man page that means su, create and createolddir.
+      # files required to exist also won't be present, so missingok is forced.
+      user=$(${pkgs.coreutils}/bin/id -un)
+      group=$(${pkgs.coreutils}/bin/id -gn)
+      sed -e "s/\bsu\s.*/su $user $group/" \
+          -e "s/\b\(create\s\+[0-9]*\s*\|createolddir\s\+[0-9]*\s\+\).*/\1$user $group/" \
+          -e "1imissingok" -e "s/\bnomissingok\b//" \
+          $out > /tmp/logrotate.conf
+      # Since this makes for very verbose builds only show real error.
+      # There is no way to control log level, but logrotate hardcodes
+      # 'error:' at common log level, so we can use grep, taking care
+      # to keep error codes
+      set -o pipefail
+      if ! ${pkgs.logrotate}/sbin/logrotate --debug /tmp/logrotate.conf 2>&1 \
+          | ( ! grep "error:" ) > /tmp/logrotate-error; then
+              echo "Logrotate configuration check failed."
+              echo "The failing configuration (after adjustments to pass tests in sandbox) was:"
+              printf "%s\n" "-------"
+              cat /tmp/logrotate.conf
+              printf "%s\n" "-------"
+              echo "The error reported by logrotate was as follow:"
+              printf "%s\n" "-------"
+              cat /tmp/logrotate-error
+              printf "%s\n" "-------"
+              echo "You can disable this check with services.logrotate.checkConfig = false,"
+              echo "but if you think it should work please report this failure along with"
+              echo "the config file being tested!"
+              false
+      fi
+    '';
+  };
+
+  mailOption =
+    if foldr (n: a: a || n ? mail) false (attrValues cfg.settings)
+    then "--mail=${pkgs.mailutils}/bin/mail"
+    else "";
 in
 {
   imports = [
@@ -112,17 +205,121 @@ in
   options = {
     services.logrotate = {
       enable = mkEnableOption "the logrotate systemd service" // {
-        default = foldr (n: a: a || n.enable) false (attrValues cfg.paths);
-        defaultText = literalExpression "cfg.paths != {}";
+        default = foldr (n: a: a || n.enable) false (attrValues cfg.settings);
+        defaultText = literalExpression "cfg.settings != {}";
+      };
+
+      settings = mkOption {
+        default = { };
+        description = ''
+          logrotate freeform settings: each attribute here will define its own section,
+          ordered by priority, which can either define files to rotate with their settings
+          or settings common to all further files settings.
+          Refer to <link xlink:href="https://linux.die.net/man/8/logrotate"/> for details.
+        '';
+        type = types.attrsOf (types.submodule ({ name, ... }: {
+          freeformType = with types; attrsOf (nullOr (oneOf [ int bool str ]));
+
+          options = {
+            enable = mkEnableOption "setting individual kill switch" // {
+              default = true;
+            };
+
+            global = mkOption {
+              type = types.bool;
+              default = false;
+              description = ''
+                Whether this setting is a global option or not: set to have these
+                settings apply to all files settings with a higher priority.
+              '';
+            };
+            files = mkOption {
+              type = with types; either str (listOf str);
+              default = name;
+              defaultText = ''
+                The attrset name if not specified
+              '';
+              description = ''
+                Single or list of files for which rules are defined.
+                The files are quoted with double-quotes in logrotate configuration,
+                so globs and spaces are supported.
+                Note this setting is ignored if globals is true.
+              '';
+            };
+
+            frequency = mkOption {
+              type = types.nullOr types.str;
+              default = null;
+              description = ''
+                How often to rotate the logs. Defaults to previously set global setting,
+                which itself defauts to weekly.
+              '';
+            };
+
+            priority = mkOption {
+              type = types.int;
+              default = 1000;
+              description = ''
+                Order of this logrotate block in relation to the others. The semantics are
+                the same as with `lib.mkOrder`. Smaller values are inserted first.
+              '';
+            };
+          };
+
+        }));
+      };
+
+      configFile = mkOption {
+        type = types.path;
+        default = configFile;
+        defaultText = ''
+          A configuration file automatically generated by NixOS.
+        '';
+        description = ''
+          Override the configuration file used by MySQL. By default,
+          NixOS generates one automatically from <xref linkend="opt-services.logrotate.settings"/>.
+        '';
+        example = literalExpression ''
+          pkgs.writeText "logrotate.conf" '''
+            missingok
+            "/var/log/*.log" {
+              rotate 4
+              weekly
+            }
+          ''';
+        '';
       };
 
+      checkConfig = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether the config should be checked at build time.
+
+          Some options are not checkable at build time because of the build sandbox:
+          for example, the test does not know about existing files and system users are
+          not known.
+          These limitations mean we must adjust the file for tests (missingok is forced
+          and users are replaced by dummy users), so tests are complemented by a
+          logrotate-checkconf service that is enabled by default.
+          This extra check can be disabled by disabling it at the systemd level with the
+          <option>services.systemd.services.logrotate-checkconf.enable</option> option.
+
+          Conversely there are still things that might make this check fail incorrectly
+          (e.g. a file path where we don't have access to intermediate directories):
+          in this case you can disable the failing check with this option.
+        '';
+      };
+
+      # deprecated legacy compat settings
       paths = mkOption {
         type = with types; attrsOf (submodule pathOpts);
-        default = {};
+        default = { };
         description = ''
           Attribute set of paths to rotate. The order each block appears in the generated configuration file
           can be controlled by the <link linkend="opt-services.logrotate.paths._name_.priority">priority</link> option
           using the same semantics as `lib.mkOrder`. Smaller values have a greater priority.
+          This setting has been deprecated in favor of <link linkend="opt-services.logrotate.settings">logrotate settings</link>.
         '';
         example = literalExpression ''
           {
@@ -151,19 +348,37 @@ in
         description = ''
           Extra contents to append to the logrotate configuration file. Refer to
           <link xlink:href="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>.
         '';
       };
     };
   };
 
   config = mkIf cfg.enable {
-    assertions = mapAttrsToList (name: pathOpts:
-      { assertion = (pathOpts.user != null) == (pathOpts.group != null);
-        message = ''
-          If either of `services.logrotate.paths.${name}.user` or `services.logrotate.paths.${name}.group` are specified then *both* must be specified.
-        '';
-      }
-    ) cfg.paths;
+    assertions =
+      mapAttrsToList
+        (name: pathOpts:
+          {
+            assertion = (pathOpts.user != null) == (pathOpts.group != null);
+            message = ''
+              If either of `services.logrotate.paths.${name}.user` or `services.logrotate.paths.${name}.group` are specified then *both* must be specified.
+            '';
+          })
+        cfg.paths;
+
+    warnings =
+      (mapAttrsToList
+        (name: pathOpts: ''
+          Using config.services.logrotate.paths.${name} is deprecated and will become unsupported in a future release.
+          Please use services.logrotate.settings instead.
+        '')
+        cfg.paths
+      ) ++
+      (optional (cfg.extraConfig != "") ''
+        Using config.services.logrotate.extraConfig is deprecated and will become unsupported in a future release.
+        Please use services.logrotate.settings with globals=true instead.
+      '');
 
     systemd.services.logrotate = {
       description = "Logrotate Service";
@@ -172,7 +387,16 @@ in
       serviceConfig = {
         Restart = "no";
         User = "root";
-        ExecStart = "${pkgs.logrotate}/sbin/logrotate ${configFile}";
+        ExecStart = "${pkgs.logrotate}/sbin/logrotate ${mailOption} ${cfg.configFile}";
+      };
+    };
+    systemd.services.logrotate-checkconf = {
+      description = "Logrotate configuration check";
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        Type = "oneshot";
+        RemainAfterExit = true;
+        ExecStart = "${pkgs.logrotate}/sbin/logrotate --debug ${cfg.configFile}";
       };
     };
   };
diff --git a/nixos/modules/services/matrix/matrix-synapse.nix b/nixos/modules/services/matrix/matrix-synapse.nix
index c4d14dbd547ef..4abcc8b69bc53 100644
--- a/nixos/modules/services/matrix/matrix-synapse.nix
+++ b/nixos/modules/services/matrix/matrix-synapse.nix
@@ -141,7 +141,7 @@ in {
       enable = mkEnableOption "matrix.org synapse";
 
       configFile = mkOption {
-        type = types.str;
+        type = types.path;
         readOnly = true;
         description = ''
           Path to the configuration file on the target system. Useful to configure e.g. workers
diff --git a/nixos/modules/services/misc/autorandr.nix b/nixos/modules/services/misc/autorandr.nix
index a65c5c9d11cf7..ef799e9ce3b63 100644
--- a/nixos/modules/services/misc/autorandr.nix
+++ b/nixos/modules/services/misc/autorandr.nix
@@ -5,6 +5,243 @@ with lib;
 let
 
   cfg = config.services.autorandr;
+  hookType = types.lines;
+
+  matrixOf = n: m: elemType:
+  mkOptionType rec {
+    name = "matrixOf";
+    description =
+      "${toString n}×${toString m} matrix of ${elemType.description}s";
+    check = xss:
+      let listOfSize = l: xs: isList xs && length xs == l;
+      in listOfSize n xss
+      && all (xs: listOfSize m xs && all elemType.check xs) xss;
+    merge = mergeOneOption;
+    getSubOptions = prefix: elemType.getSubOptions (prefix ++ [ "*" "*" ]);
+    getSubModules = elemType.getSubModules;
+    substSubModules = mod: matrixOf n m (elemType.substSubModules mod);
+    functor = (defaultFunctor name) // { wrapped = elemType; };
+  };
+
+  profileModule = types.submodule {
+    options = {
+      fingerprint = mkOption {
+        type = types.attrsOf types.str;
+        description = ''
+          Output name to EDID mapping.
+          Use <code>autorandr --fingerprint</code> to get current setup values.
+        '';
+        default = { };
+      };
+
+      config = mkOption {
+        type = types.attrsOf configModule;
+        description = "Per output profile configuration.";
+        default = { };
+      };
+
+      hooks = mkOption {
+        type = hooksModule;
+        description = "Profile hook scripts.";
+        default = { };
+      };
+    };
+  };
+
+  configModule = types.submodule {
+    options = {
+      enable = mkOption {
+        type = types.bool;
+        description = "Whether to enable the output.";
+        default = true;
+      };
+
+      crtc = mkOption {
+        type = types.nullOr types.ints.unsigned;
+        description = "Output video display controller.";
+        default = null;
+        example = 0;
+      };
+
+      primary = mkOption {
+        type = types.bool;
+        description = "Whether output should be marked as primary";
+        default = false;
+      };
+
+      position = mkOption {
+        type = types.str;
+        description = "Output position";
+        default = "";
+        example = "5760x0";
+      };
+
+      mode = mkOption {
+        type = types.str;
+        description = "Output resolution.";
+        default = "";
+        example = "3840x2160";
+      };
+
+      rate = mkOption {
+        type = types.str;
+        description = "Output framerate.";
+        default = "";
+        example = "60.00";
+      };
+
+      gamma = mkOption {
+        type = types.str;
+        description = "Output gamma configuration.";
+        default = "";
+        example = "1.0:0.909:0.833";
+      };
+
+      rotate = mkOption {
+        type = types.nullOr (types.enum [ "normal" "left" "right" "inverted" ]);
+        description = "Output rotate configuration.";
+        default = null;
+        example = "left";
+      };
+
+      transform = mkOption {
+        type = types.nullOr (matrixOf 3 3 types.float);
+        default = null;
+        example = literalExpression ''
+          [
+            [ 0.6 0.0 0.0 ]
+            [ 0.0 0.6 0.0 ]
+            [ 0.0 0.0 1.0 ]
+          ]
+        '';
+        description = ''
+          Refer to
+          <citerefentry>
+            <refentrytitle>xrandr</refentrytitle>
+            <manvolnum>1</manvolnum>
+          </citerefentry>
+          for the documentation of the transform matrix.
+        '';
+      };
+
+      dpi = mkOption {
+        type = types.nullOr types.ints.positive;
+        description = "Output DPI configuration.";
+        default = null;
+        example = 96;
+      };
+
+      scale = mkOption {
+        type = types.nullOr (types.submodule {
+          options = {
+            method = mkOption {
+              type = types.enum [ "factor" "pixel" ];
+              description = "Output scaling method.";
+              default = "factor";
+              example = "pixel";
+            };
+
+            x = mkOption {
+              type = types.either types.float types.ints.positive;
+              description = "Horizontal scaling factor/pixels.";
+            };
+
+            y = mkOption {
+              type = types.either types.float types.ints.positive;
+              description = "Vertical scaling factor/pixels.";
+            };
+          };
+        });
+        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>
+          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.
+        '';
+        default = null;
+        example = literalExpression ''
+          {
+            x = 1.25;
+            y = 1.25;
+          }
+        '';
+      };
+    };
+  };
+
+  hooksModule = types.submodule {
+    options = {
+      postswitch = mkOption {
+        type = types.attrsOf hookType;
+        description = "Postswitch hook executed after mode switch.";
+        default = { };
+      };
+
+      preswitch = mkOption {
+        type = types.attrsOf hookType;
+        description = "Preswitch hook executed before mode switch.";
+        default = { };
+      };
+
+      predetect = mkOption {
+        type = types.attrsOf hookType;
+        description = ''
+          Predetect hook executed before autorandr attempts to run xrandr.
+        '';
+        default = { };
+      };
+    };
+  };
+
+  hookToFile = folder: name: hook:
+    nameValuePair "xdg/autorandr/${folder}/${name}" {
+      source = "${pkgs.writeShellScriptBin "hook" hook}/bin/hook";
+    };
+  profileToFiles = name: profile:
+    with profile;
+    mkMerge ([
+      {
+        "xdg/autorandr/${name}/setup".text = concatStringsSep "\n"
+          (mapAttrsToList fingerprintToString fingerprint);
+        "xdg/autorandr/${name}/config".text =
+          concatStringsSep "\n" (mapAttrsToList configToString profile.config);
+      }
+      (mapAttrs' (hookToFile "${name}/postswitch.d") hooks.postswitch)
+      (mapAttrs' (hookToFile "${name}/preswitch.d") hooks.preswitch)
+      (mapAttrs' (hookToFile "${name}/predetect.d") hooks.predetect)
+    ]);
+  fingerprintToString = name: edid: "${name} ${edid}";
+  configToString = name: config:
+    if config.enable then
+      concatStringsSep "\n" ([ "output ${name}" ]
+        ++ optional (config.position != "") "pos ${config.position}"
+        ++ optional (config.crtc != null) "crtc ${toString config.crtc}"
+        ++ optional config.primary "primary"
+        ++ optional (config.dpi != null) "dpi ${toString config.dpi}"
+        ++ optional (config.gamma != "") "gamma ${config.gamma}"
+        ++ optional (config.mode != "") "mode ${config.mode}"
+        ++ optional (config.rate != "") "rate ${config.rate}"
+        ++ optional (config.rotate != null) "rotate ${config.rotate}"
+        ++ optional (config.transform != null) ("transform "
+          + concatMapStringsSep "," toString (flatten config.transform))
+        ++ optional (config.scale != null)
+        ((if config.scale.method == "factor" then "scale" else "scale-from")
+          + " ${toString config.scale.x}x${toString config.scale.y}"))
+    else ''
+      output ${name}
+      off
+    '';
 
 in {
 
@@ -22,6 +259,67 @@ in {
           for further reference.
         '';
       };
+
+      hooks = mkOption {
+        type = hooksModule;
+        description = "Global hook scripts";
+        default = { };
+        example = ''
+          {
+            postswitch = {
+              "notify-i3" = "''${pkgs.i3}/bin/i3-msg restart";
+              "change-background" = readFile ./change-background.sh;
+              "change-dpi" = '''
+                case "$AUTORANDR_CURRENT_PROFILE" in
+                  default)
+                    DPI=120
+                    ;;
+                  home)
+                    DPI=192
+                    ;;
+                  work)
+                    DPI=144
+                    ;;
+                  *)
+                    echo "Unknown profle: $AUTORANDR_CURRENT_PROFILE"
+                    exit 1
+                esac
+                echo "Xft.dpi: $DPI" | ''${pkgs.xorg.xrdb}/bin/xrdb -merge
+              '''
+            };
+          }
+        '';
+      };
+      profiles = mkOption {
+        type = types.attrsOf profileModule;
+        description = "Autorandr profiles specification.";
+        default = { };
+        example = literalExpression ''
+          {
+            "work" = {
+              fingerprint = {
+                eDP1 = "<EDID>";
+                DP1 = "<EDID>";
+              };
+              config = {
+                eDP1.enable = false;
+                DP1 = {
+                  enable = true;
+                  crtc = 0;
+                  primary = true;
+                  position = "0x0";
+                  mode = "3840x2160";
+                  gamma = "1.0:0.909:0.833";
+                  rate = "60.00";
+                  rotate = "left";
+                };
+              };
+              hooks.postswitch = readFile ./work-postswitch.sh;
+            };
+          }
+        '';
+      };
+
     };
 
   };
@@ -30,7 +328,15 @@ in {
 
     services.udev.packages = [ pkgs.autorandr ];
 
-    environment.systemPackages = [ pkgs.autorandr ];
+    environment = {
+      systemPackages = [ pkgs.autorandr ];
+      etc = mkMerge ([
+        (mapAttrs' (hookToFile "postswitch.d") cfg.hooks.postswitch)
+        (mapAttrs' (hookToFile "preswitch.d") cfg.hooks.preswitch)
+        (mapAttrs' (hookToFile "predetect.d") cfg.hooks.predetect)
+        (mkMerge (mapAttrsToList profileToFiles cfg.profiles))
+      ]);
+    };
 
     systemd.services.autorandr = {
       wantedBy = [ "sleep.target" ];
@@ -49,5 +355,5 @@ in {
 
   };
 
-  meta.maintainers = with maintainers; [ ];
+  meta.maintainers = with maintainers; [ alexnortung ];
 }
diff --git a/nixos/modules/services/misc/dendrite.nix b/nixos/modules/services/misc/dendrite.nix
index b2885b094153a..89bb989a09ec0 100644
--- a/nixos/modules/services/misc/dendrite.nix
+++ b/nixos/modules/services/misc/dendrite.nix
@@ -248,14 +248,11 @@ in
         RuntimeDirectory = "dendrite";
         RuntimeDirectoryMode = "0700";
         EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile;
-        ExecStartPre =
-          if (cfg.environmentFile != null) then ''
-            ${pkgs.envsubst}/bin/envsubst \
-              -i ${configurationYaml} \
-              -o /run/dendrite/dendrite.yaml
-          '' else ''
-            ${pkgs.coreutils}/bin/cp ${configurationYaml} /run/dendrite/dendrite.yaml
-          '';
+        ExecStartPre = ''
+          ${pkgs.envsubst}/bin/envsubst \
+            -i ${configurationYaml} \
+            -o /run/dendrite/dendrite.yaml
+        '';
         ExecStart = lib.strings.concatStringsSep " " ([
           "${pkgs.dendrite}/bin/dendrite-monolith-server"
           "--config /run/dendrite/dendrite.yaml"
diff --git a/nixos/modules/services/misc/ethminer.nix b/nixos/modules/services/misc/ethminer.nix
index 95afb0460fb8e..253476d1a23e5 100644
--- a/nixos/modules/services/misc/ethminer.nix
+++ b/nixos/modules/services/misc/ethminer.nix
@@ -22,7 +22,7 @@ in
       };
 
       recheckInterval = mkOption {
-        type = types.int;
+        type = types.ints.unsigned;
         default = 2000;
         description = "Interval in milliseconds between farm rechecks.";
       };
@@ -70,7 +70,7 @@ in
       };
 
       maxPower = mkOption {
-        type = types.int;
+        type = types.ints.unsigned;
         default = 113;
         description = "Miner max watt usage.";
       };
@@ -85,7 +85,7 @@ in
   config = mkIf cfg.enable {
 
     systemd.services.ethminer = {
-      path = [ pkgs.cudatoolkit ];
+      path = optional (cfg.toolkit == "cuda") [ pkgs.cudatoolkit ];
       description = "ethminer ethereum mining service";
       wantedBy = [ "multi-user.target" ];
       after = [ "network.target" ];
@@ -97,7 +97,7 @@ in
         Restart = "always";
       };
 
-      environment = {
+      environment = mkIf (cfg.toolkit == "cuda") {
         LD_LIBRARY_PATH = "${config.boot.kernelPackages.nvidia_x11}/lib";
       };
 
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix
index e48444f716123..488c3be7b653a 100644
--- a/nixos/modules/services/misc/gitlab.nix
+++ b/nixos/modules/services/misc/gitlab.nix
@@ -848,10 +848,7 @@ in {
 
         extraConfig = mkOption {
           type = types.lines;
-          default = ''
-            copytruncate
-            compress
-          '';
+          default = "";
           description = ''
             Extra logrotate config options for this path. Refer to
             <link xlink:href="https://linux.die.net/man/8/logrotate"/> for details.
@@ -977,13 +974,14 @@ in {
     # Enable rotation of log files
     services.logrotate = {
       enable = cfg.logrotate.enable;
-      paths = {
+      settings = {
         gitlab = {
-          path = "${cfg.statePath}/log/*.log";
-          user = cfg.user;
-          group = cfg.group;
+          files = "${cfg.statePath}/log/*.log";
+          su = "${cfg.user} ${cfg.group}";
           frequency = cfg.logrotate.frequency;
-          keep = cfg.logrotate.keep;
+          rotate = cfg.logrotate.keep;
+          copytruncate = true;
+          compress = true;
           extraConfig = cfg.logrotate.extraConfig;
         };
       };
diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix
index d56808c7564ea..a4d2d10af70f4 100644
--- a/nixos/modules/services/misc/nix-daemon.nix
+++ b/nixos/modules/services/misc/nix-daemon.nix
@@ -409,14 +409,14 @@ in
               to = mkOption {
                 type = referenceAttrs;
                 example = { type = "github"; owner = "my-org"; repo = "my-nixpkgs"; };
-                description = "The flake reference <option>from></option> is rewritten to.";
+                description = "The flake reference <option>from</option> is rewritten to.";
               };
               flake = mkOption {
                 type = types.nullOr types.attrs;
                 default = null;
                 example = literalExpression "nixpkgs";
                 description = ''
-                  The flake input <option>from></option> is rewritten to.
+                  The flake input <option>from</option> is rewritten to.
                 '';
               };
               exact = mkOption {
@@ -708,6 +708,14 @@ in
 
     systemd.packages = [ nixPackage ];
 
+    # Will only work once https://github.com/NixOS/nix/pull/6285 is merged
+    # systemd.tmpfiles.packages = [ nixPackage ];
+
+    # Can be dropped for Nix > https://github.com/NixOS/nix/pull/6285
+    systemd.tmpfiles.rules = [
+      "d /nix/var/nix/daemon-socket 0755 root root - -"
+    ];
+
     systemd.sockets.nix-daemon.wantedBy = [ "sockets.target" ];
 
     systemd.services.nix-daemon =
diff --git a/nixos/modules/services/misc/nix-gc.nix b/nixos/modules/services/misc/nix-gc.nix
index a7a6a3b59644e..0fcb016010175 100644
--- a/nixos/modules/services/misc/nix-gc.nix
+++ b/nixos/modules/services/misc/nix-gc.nix
@@ -39,7 +39,7 @@ in
         type = types.str;
         example = "45min";
         description = ''
-          Add a randomized delay before each automatic upgrade.
+          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>
@@ -81,8 +81,14 @@ in
   ###### implementation
 
   config = {
-
-    systemd.services.nix-gc = {
+    assertions = [
+      {
+        assertion = cfg.automatic -> config.nix.enable;
+        message = ''nix.gc.automatic requires nix.enable'';
+      }
+    ];
+
+    systemd.services.nix-gc = lib.mkIf config.nix.enable {
       description = "Nix Garbage Collector";
       script = "exec ${config.nix.package.out}/bin/nix-collect-garbage ${cfg.options}";
       startAt = optional cfg.automatic cfg.dates;
diff --git a/nixos/modules/services/misc/nix-optimise.nix b/nixos/modules/services/misc/nix-optimise.nix
index e02026d5f76c7..acf8177b146ae 100644
--- a/nixos/modules/services/misc/nix-optimise.nix
+++ b/nixos/modules/services/misc/nix-optimise.nix
@@ -37,8 +37,14 @@ in
   ###### implementation
 
   config = {
-
-    systemd.services.nix-optimise =
+    assertions = [
+      {
+        assertion = cfg.automatic -> config.nix.enable;
+        message = ''nix.optimise.automatic requires nix.enable'';
+      }
+    ];
+
+    systemd.services.nix-optimise = lib.mkIf config.nix.enable
       { description = "Nix Store Optimiser";
         # No point this if the nix daemon (and thus the nix store) is outside
         unitConfig.ConditionPathIsReadWrite = "/nix/var/nix/daemon-socket";
diff --git a/nixos/modules/services/misc/paperless-ng.nix b/nixos/modules/services/misc/paperless-ng.nix
index 11e44f5ece575..881fa93c04eed 100644
--- a/nixos/modules/services/misc/paperless-ng.nix
+++ b/nixos/modules/services/misc/paperless-ng.nix
@@ -216,6 +216,8 @@ in
         Restart = "on-failure";
         # The `mbind` syscall is needed for running the classifier.
         SystemCallFilter = defaultServiceConfig.SystemCallFilter ++ [ "mbind" ];
+        # Needs to talk to mail server for automated import rules
+        PrivateNetwork = false;
       };
       environment = env;
       wantedBy = [ "multi-user.target" ];
@@ -258,8 +260,6 @@ in
             '${cfg.passwordFile}' '${cfg.dataDir}/superuser-password'
         '';
         Type = "oneshot";
-        # Needs to talk to mail server for automated import rules
-        PrivateNetwork = false;
       };
     };
 
diff --git a/nixos/modules/services/monitoring/collectd.nix b/nixos/modules/services/monitoring/collectd.nix
index 8d81737a3ef0d..1b9af58575604 100644
--- a/nixos/modules/services/monitoring/collectd.nix
+++ b/nixos/modules/services/monitoring/collectd.nix
@@ -5,36 +5,15 @@ with lib;
 let
   cfg = config.services.collectd;
 
-  unvalidated_conf = pkgs.writeText "collectd-unvalidated.conf" ''
-    BaseDir "${cfg.dataDir}"
-    AutoLoadPlugin ${boolToString cfg.autoLoadPlugin}
-    Hostname "${config.networking.hostName}"
-
-    LoadPlugin syslog
-    <Plugin "syslog">
-      LogLevel "info"
-      NotifyLevel "OKAY"
-    </Plugin>
-
-    ${concatStrings (mapAttrsToList (plugin: pluginConfig: ''
-      LoadPlugin ${plugin}
-      <Plugin "${plugin}">
-      ${pluginConfig}
-      </Plugin>
-    '') cfg.plugins)}
-
-    ${concatMapStrings (f: ''
-      Include "${f}"
-    '') cfg.include}
-
-    ${cfg.extraConfig}
-  '';
+  baseDirLine = ''BaseDir "${cfg.dataDir}"'';
+  unvalidated_conf = pkgs.writeText "collectd-unvalidated.conf" cfg.extraConfig;
 
   conf = if cfg.validateConfig then
     pkgs.runCommand "collectd.conf" {} ''
       echo testing ${unvalidated_conf}
+      cp ${unvalidated_conf} collectd.conf
       # collectd -t fails if BaseDir does not exist.
-      sed '1s/^BaseDir.*$/BaseDir "."/' ${unvalidated_conf} > collectd.conf
+      substituteInPlace collectd.conf --replace ${lib.escapeShellArgs [ baseDirLine ]} 'BaseDir "."'
       ${package}/bin/collectd -t -C collectd.conf
       cp ${unvalidated_conf} $out
     '' else unvalidated_conf;
@@ -123,7 +102,8 @@ in {
     extraConfig = mkOption {
       default = "";
       description = ''
-        Extra configuration for collectd.
+        Extra configuration for collectd. Use mkBefore to add lines before the
+        default config, and mkAfter to add them below.
       '';
       type = lines;
     };
@@ -131,6 +111,30 @@ in {
   };
 
   config = mkIf cfg.enable {
+    # 1200 is after the default (1000) but before mkAfter (1500).
+    services.collectd.extraConfig = lib.mkOrder 1200 ''
+      ${baseDirLine}
+      AutoLoadPlugin ${boolToString cfg.autoLoadPlugin}
+      Hostname "${config.networking.hostName}"
+
+      LoadPlugin syslog
+      <Plugin "syslog">
+        LogLevel "info"
+        NotifyLevel "OKAY"
+      </Plugin>
+
+      ${concatStrings (mapAttrsToList (plugin: pluginConfig: ''
+        LoadPlugin ${plugin}
+        <Plugin "${plugin}">
+        ${pluginConfig}
+        </Plugin>
+      '') cfg.plugins)}
+
+      ${concatMapStrings (f: ''
+        Include "${f}"
+      '') cfg.include}
+    '';
+
     systemd.tmpfiles.rules = [
       "d '${cfg.dataDir}' - ${cfg.user} - - -"
     ];
diff --git a/nixos/modules/services/monitoring/grafana.nix b/nixos/modules/services/monitoring/grafana.nix
index 81fca33f5fec4..b959379d331a7 100644
--- a/nixos/modules/services/monitoring/grafana.nix
+++ b/nixos/modules/services/monitoring/grafana.nix
@@ -214,6 +214,11 @@ let
           type = types.path;
           description = "Path grafana will watch for dashboards.";
         };
+        foldersFromFilesStructure = mkOption {
+          type = types.bool;
+          default = false;
+          description = "Use folder names from filesystem to create folders in Grafana.";
+        };
       };
     };
   };
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/bird.nix b/nixos/modules/services/monitoring/prometheus/exporters/bird.nix
index 1ef264fc86e5a..5fda4c980ebb8 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/bird.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/bird.nix
@@ -17,7 +17,7 @@ in
     };
     birdSocket = mkOption {
       type = types.path;
-      default = "/var/run/bird.ctl";
+      default = "/run/bird/bird.ctl";
       description = ''
         Path to BIRD2 (or BIRD1 v4) socket.
       '';
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/kea.nix b/nixos/modules/services/monitoring/prometheus/exporters/kea.nix
index 27aeb9096243c..e0ee90d9b97db 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/kea.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/kea.nix
@@ -25,6 +25,10 @@ in {
     };
   };
   serviceOpts = {
+    after = [
+      "kea-dhcp4-server.service"
+      "kea-dhcp6-server.service"
+    ];
     serviceConfig = {
       User = "kea";
       ExecStart = ''
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix b/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix
index 5b5a6e18fcd65..ede6028933a4d 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters/varnish.nix
@@ -45,7 +45,8 @@ in
     };
     instance = mkOption {
       type = types.nullOr types.str;
-      default = null;
+      default = config.services.varnish.stateDir;
+      defaultText = lib.literalExpression "config.services.varnish.stateDir";
       description = ''
         varnishstat -n value.
       '';
@@ -66,7 +67,7 @@ in
     };
   };
   serviceOpts = {
-    path = [ pkgs.varnish ];
+    path = [ config.services.varnish.package ];
     serviceConfig = {
       RestartSec = mkDefault 1;
       DynamicUser = false;
diff --git a/nixos/modules/services/network-filesystems/ipfs.nix b/nixos/modules/services/network-filesystems/ipfs.nix
index 655785b99d877..a670551d9f3bf 100644
--- a/nixos/modules/services/network-filesystems/ipfs.nix
+++ b/nixos/modules/services/network-filesystems/ipfs.nix
@@ -1,16 +1,17 @@
-{ config, lib, pkgs, options, ... }:
+{ config, lib, pkgs, options, utils, ... }:
 with lib;
 let
   cfg = config.services.ipfs;
   opt = options.services.ipfs;
 
-  ipfsFlags = toString ([
-    (optionalString cfg.autoMount "--mount")
-    (optionalString cfg.enableGC "--enable-gc")
-    (optionalString (cfg.serviceFdlimit != null) "--manage-fdlimit=false")
-    (optionalString (cfg.defaultMode == "offline") "--offline")
-    (optionalString (cfg.defaultMode == "norouting") "--routing=none")
-  ] ++ cfg.extraFlags);
+  ipfsFlags = utils.escapeSystemdExecArgs (
+    optional cfg.autoMount "--mount" ++
+    optional cfg.enableGC "--enable-gc" ++
+    optional (cfg.serviceFdlimit != null) "--manage-fdlimit=false" ++
+    optional (cfg.defaultMode == "offline") "--offline" ++
+    optional (cfg.defaultMode == "norouting") "--routing=none" ++
+    cfg.extraFlags
+  );
 
   profile =
     if cfg.localDiscovery
@@ -266,11 +267,15 @@ in
       '' + ''
         ipfs --offline config show \
           | ${pkgs.jq}/bin/jq '. * $extraConfig' --argjson extraConfig ${
-              escapeShellArg (builtins.toJSON ({
-                Addresses.API = cfg.apiAddress;
-                Addresses.Gateway = cfg.gatewayAddress;
-                Addresses.Swarm = cfg.swarmAddress;
-              } // cfg.extraConfig))
+              escapeShellArg (builtins.toJSON (
+                recursiveUpdate
+                  {
+                    Addresses.API = cfg.apiAddress;
+                    Addresses.Gateway = cfg.gatewayAddress;
+                    Addresses.Swarm = cfg.swarmAddress;
+                  }
+                  cfg.extraConfig
+              ))
             } \
           | ipfs --offline config replace -
       '';
diff --git a/nixos/modules/services/networking/dhcpd.nix b/nixos/modules/services/networking/dhcpd.nix
index 3c4c0069dfd00..49950efc0a1bd 100644
--- a/nixos/modules/services/networking/dhcpd.nix
+++ b/nixos/modules/services/networking/dhcpd.nix
@@ -7,7 +7,7 @@ let
   cfg4 = config.services.dhcpd4;
   cfg6 = config.services.dhcpd6;
 
-  writeConfig = cfg: pkgs.writeText "dhcpd.conf"
+  writeConfig = postfix: cfg: pkgs.writeText "dhcpd.conf"
     ''
       default-lease-time 600;
       max-lease-time 7200;
@@ -21,7 +21,9 @@ let
           (machine: ''
             host ${machine.hostName} {
               hardware ethernet ${machine.ethernetAddress};
-              fixed-address ${machine.ipAddress};
+              fixed-address${
+                optionalString (postfix == "6") postfix
+              } ${machine.ipAddress};
             }
           '')
           cfg.machines
@@ -33,7 +35,7 @@ let
       configFile =
         if cfg.configFile != null
           then cfg.configFile
-          else writeConfig cfg;
+          else writeConfig postfix cfg;
       leaseFile = "/var/lib/dhcpd${postfix}/dhcpd.leases";
       args = [
         "@${pkgs.dhcp}/sbin/dhcpd" "dhcpd${postfix}" "-${postfix}"
diff --git a/nixos/modules/services/networking/https-dns-proxy.nix b/nixos/modules/services/networking/https-dns-proxy.nix
new file mode 100644
index 0000000000000..85d6c362b466b
--- /dev/null
+++ b/nixos/modules/services/networking/https-dns-proxy.nix
@@ -0,0 +1,128 @@
+{ config, lib, pkgs, ... }:
+
+let
+  inherit (lib)
+    concatStringsSep
+    mkEnableOption mkIf mkOption types;
+
+  cfg = config.services.https-dns-proxy;
+
+  providers = {
+    cloudflare = {
+      ips = [ "1.1.1.1" "1.0.0.1" ];
+      url = "https://cloudflare-dns.com/dns-query";
+    };
+    google = {
+      ips = [ "8.8.8.8" "8.8.4.4" ];
+      url = "https://dns.google/dns-query";
+    };
+    quad9 = {
+      ips = [ "9.9.9.9" "149.112.112.112" ];
+      url = "https://dns.quad9.net/dns-query";
+    };
+  };
+
+  defaultProvider = "quad9";
+
+  providerCfg =
+    let
+      isCustom = cfg.provider.kind == "custom";
+    in
+    lib.concatStringsSep " " [
+      "-b"
+      (concatStringsSep "," (if isCustom then cfg.provider.ips else providers."${cfg.provider.kind}".ips))
+      "-r"
+      (if isCustom then cfg.provider.url else providers."${cfg.provider.kind}".url)
+    ];
+
+in
+{
+  meta.maintainers = with lib.maintainers; [ peterhoeg ];
+
+  ###### interface
+
+  options.services.https-dns-proxy = {
+    enable = mkEnableOption "https-dns-proxy daemon";
+
+    address = mkOption {
+      description = "The address on which to listen";
+      type = types.str;
+      default = "127.0.0.1";
+    };
+
+    port = mkOption {
+      description = "The port on which to listen";
+      type = types.port;
+      default = 5053;
+    };
+
+    provider = {
+      kind = mkOption {
+        description = ''
+          The upstream provider to use or custom in case you do not trust any of
+          the predefined providers or just want to use your own.
+
+          The default is ${defaultProvider} and there are privacy and security trade-offs
+          when using any upstream provider. Please consider that before using any
+          of them.
+
+          If you pick a custom provider, you will need to provide the bootstrap
+          IP addresses as well as the resolver https URL.
+        '';
+        type = types.enum ((builtins.attrNames providers) ++ [ "custom" ]);
+        default = defaultProvider;
+      };
+
+      ips = mkOption {
+        description = "The custom provider IPs";
+        type = types.listOf types.str;
+      };
+
+      url = mkOption {
+        description = "The custom provider URL";
+        type = types.str;
+      };
+    };
+
+    preferIPv4 = mkOption {
+      description = ''
+        https_dns_proxy will by default use IPv6 and fail if it is not available.
+        To play it safe, we choose IPv4.
+      '';
+      type = types.bool;
+      default = true;
+    };
+
+    extraArgs = mkOption {
+      description = "Additional arguments to pass to the process.";
+      type = types.listOf types.str;
+      default = [ "-v" ];
+    };
+  };
+
+  ###### implementation
+
+  config = lib.mkIf cfg.enable {
+    systemd.services.https-dns-proxy = {
+      description = "DNS to DNS over HTTPS (DoH) proxy";
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = rec {
+        Type = "exec";
+        DynamicUser = true;
+        ExecStart = lib.concatStringsSep " " (
+          [
+            "${pkgs.https-dns-proxy}/bin/https_dns_proxy"
+            "-a ${toString cfg.address}"
+            "-p ${toString cfg.port}"
+            "-l -"
+            providerCfg
+          ]
+          ++ lib.optional cfg.preferIPv4 "-4"
+          ++ cfg.extraArgs
+        );
+        Restart = "on-failure";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/kea.nix b/nixos/modules/services/networking/kea.nix
index 17b4eb2e283be..994c511bdc2d6 100644
--- a/nixos/modules/services/networking/kea.nix
+++ b/nixos/modules/services/networking/kea.nix
@@ -9,20 +9,26 @@ with lib;
 let
   cfg = config.services.kea;
 
+  xor = x: y: (!x && y) || (x && !y);
   format = pkgs.formats.json {};
 
-  ctrlAgentConfig = format.generate "kea-ctrl-agent.conf" {
+  chooseNotNull = x: y: if x != null then x else y;
+
+  ctrlAgentConfig = chooseNotNull cfg.ctrl-agent.configFile (format.generate "kea-ctrl-agent.conf" {
     Control-agent = cfg.ctrl-agent.settings;
-  };
-  dhcp4Config = format.generate "kea-dhcp4.conf" {
+  });
+
+  dhcp4Config = chooseNotNull cfg.dhcp4.configFile (format.generate "kea-dhcp4.conf" {
     Dhcp4 = cfg.dhcp4.settings;
-  };
-  dhcp6Config = format.generate "kea-dhcp6.conf" {
+  });
+
+  dhcp6Config = chooseNotNull cfg.dhcp6.configFile (format.generate "kea-dhcp6.conf" {
     Dhcp6 = cfg.dhcp6.settings;
-  };
-  dhcpDdnsConfig = format.generate "kea-dhcp-ddns.conf" {
+  });
+
+  dhcpDdnsConfig = chooseNotNull cfg.dhcp-ddns.configFile (format.generate "kea-dhcp-ddns.conf" {
     DhcpDdns = cfg.dhcp-ddns.settings;
-  };
+  });
 
   package = pkgs.kea;
 in
@@ -45,6 +51,17 @@ 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"/>.
+
+              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.
+            '';
+          };
+
           settings = mkOption {
             type = format.type;
             default = null;
@@ -73,6 +90,17 @@ 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"/>.
+
+              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.
+            '';
+          };
+
           settings = mkOption {
             type = format.type;
             default = null;
@@ -122,6 +150,17 @@ 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"/>.
+
+              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.
+            '';
+          };
+
           settings = mkOption {
             type = format.type;
             default = null;
@@ -172,6 +211,17 @@ 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"/>.
+
+              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.
+            '';
+          };
+
           settings = mkOption {
             type = format.type;
             default = null;
@@ -214,6 +264,10 @@ in
   }
 
   (mkIf cfg.ctrl-agent.enable {
+    assertions = [{
+        assertion = xor (cfg.ctrl-agent.settings == null) (cfg.ctrl-agent.configFile == null);
+        message = "Either services.kea.ctrl-agent.settings or services.kea.ctrl-agent.configFile must be set to a non-null value.";
+    }];
 
     environment.etc."kea/ctrl-agent.conf".source = ctrlAgentConfig;
 
@@ -252,6 +306,10 @@ in
   })
 
   (mkIf cfg.dhcp4.enable {
+    assertions = [{
+        assertion = xor (cfg.dhcp4.settings == null) (cfg.dhcp4.configFile == null);
+        message = "Either services.kea.dhcp4.settings or services.kea.dhcp4.configFile must be set to a non-null value.";
+    }];
 
     environment.etc."kea/dhcp4-server.conf".source = dhcp4Config;
 
@@ -295,6 +353,10 @@ in
   })
 
   (mkIf cfg.dhcp6.enable {
+    assertions = [{
+        assertion = xor (cfg.dhcp6.settings == null) (cfg.dhcp6.configFile == null);
+        message = "Either services.kea.dhcp6.settings or services.kea.dhcp6.configFile must be set to a non-null value.";
+    }];
 
     environment.etc."kea/dhcp6-server.conf".source = dhcp6Config;
 
@@ -336,6 +398,10 @@ in
   })
 
   (mkIf cfg.dhcp-ddns.enable {
+    assertions = [{
+        assertion = xor (cfg.dhcp-ddns.settings == null) (cfg.dhcp-ddns.configFile == null);
+        message = "Either services.kea.dhcp-ddns.settings or services.kea.dhcp-ddns.configFile must be set to a non-null value.";
+    }];
 
     environment.etc."kea/dhcp-ddns.conf".source = dhcpDdnsConfig;
 
diff --git a/nixos/modules/services/networking/lxd-image-server.nix b/nixos/modules/services/networking/lxd-image-server.nix
index b119ba8acf634..d326626eed442 100644
--- a/nixos/modules/services/networking/lxd-image-server.nix
+++ b/nixos/modules/services/networking/lxd-image-server.nix
@@ -51,18 +51,14 @@ in
 
       environment.etc."lxd-image-server/config.toml".source = format.generate "config.toml" cfg.settings;
 
-      services.logrotate.paths.lxd-image-server = {
-        path = "/var/log/lxd-image-server/lxd-image-server.log";
+      services.logrotate.settings.lxd-image-server = {
+        files = "/var/log/lxd-image-server/lxd-image-server.log";
         frequency = "daily";
-        keep = 21;
-        extraConfig = ''
-          create 755 lxd-image-server ${cfg.group}
-          missingok
-          compress
-          delaycompress
-          copytruncate
-          notifempty
-        '';
+        rotate = 21;
+        create = "755 lxd-image-server ${cfg.group}";
+        compress = true;
+        delaycompress = true;
+        copytruncate = true;
       };
 
       systemd.tmpfiles.rules = [
diff --git a/nixos/modules/services/networking/openfire.nix b/nixos/modules/services/networking/openfire.nix
deleted file mode 100644
index fe0499d523231..0000000000000
--- a/nixos/modules/services/networking/openfire.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-{
-  ###### interface
-
-  options = {
-
-    services.openfire = {
-
-      enable = mkEnableOption "OpenFire XMPP server";
-
-      usePostgreSQL = mkOption {
-        type = types.bool;
-        default = true;
-        description = "
-          Whether you use PostgreSQL service for your storage back-end.
-        ";
-      };
-
-    };
-
-  };
-
-
-  ###### implementation
-
-  config = mkIf config.services.openfire.enable {
-
-    assertions = singleton
-      { assertion = !(config.services.openfire.usePostgreSQL -> config.services.postgresql.enable);
-        message = "OpenFire configured to use PostgreSQL but services.postgresql.enable is not enabled.";
-      };
-
-    systemd.services.openfire = {
-      description = "OpenFire XMPP server";
-      wantedBy = [ "multi-user.target" ];
-      after = [ "networking.target" ] ++
-        optional config.services.openfire.usePostgreSQL "postgresql.service";
-      path = with pkgs; [ jre openfire coreutils which gnugrep gawk gnused ];
-      script = ''
-        export HOME=/tmp
-        mkdir /var/log/openfire || true
-        mkdir /etc/openfire || true
-        for i in ${pkgs.openfire}/conf.inst/*; do
-            if ! test -f /etc/openfire/$(basename $i); then
-                cp $i /etc/openfire/
-            fi
-        done
-        openfire start
-      ''; # */
-    };
-  };
-
-}
diff --git a/nixos/modules/services/networking/powerdns.nix b/nixos/modules/services/networking/powerdns.nix
index 8cae61b835431..b035698456c05 100644
--- a/nixos/modules/services/networking/powerdns.nix
+++ b/nixos/modules/services/networking/powerdns.nix
@@ -24,14 +24,14 @@ in {
 
   config = mkIf cfg.enable {
 
-    systemd.packages = [ pkgs.powerdns ];
+    systemd.packages = [ pkgs.pdns ];
 
     systemd.services.pdns = {
       wantedBy = [ "multi-user.target" ];
       after = [ "network.target" "mysql.service" "postgresql.service" "openldap.service" ];
 
       serviceConfig = {
-        ExecStart = [ "" "${pkgs.powerdns}/bin/pdns_server --config-dir=${configDir} --guardian=no --daemon=no --disable-syslog --log-timestamp=no --write-pid=no" ];
+        ExecStart = [ "" "${pkgs.pdns}/bin/pdns_server --config-dir=${configDir} --guardian=no --daemon=no --disable-syslog --log-timestamp=no --write-pid=no" ];
       };
     };
 
diff --git a/nixos/modules/services/networking/squid.nix b/nixos/modules/services/networking/squid.nix
index 4f3881af8bbf8..db4f0d26b6f4a 100644
--- a/nixos/modules/services/networking/squid.nix
+++ b/nixos/modules/services/networking/squid.nix
@@ -111,6 +111,13 @@ in
         description = "Whether to run squid web proxy.";
       };
 
+      package = mkOption {
+        default = pkgs.squid;
+        defaultText = literalExpression "pkgs.squid";
+        type = types.package;
+        description = "Squid package to use.";
+      };
+
       proxyAddress = mkOption {
         type = types.nullOr types.str;
         default = null;
@@ -157,17 +164,21 @@ in
     users.groups.squid = {};
 
     systemd.services.squid = {
-      description = "Squid caching web proxy";
+      description = "Squid caching proxy";
+      documentation = [ "man:squid(8)" ];
       after = [ "network.target" "nss-lookup.target" ];
       wantedBy = [ "multi-user.target"];
       preStart = ''
         mkdir -p "/var/log/squid"
         chown squid:squid "/var/log/squid"
+        ${cfg.package}/bin/squid --foreground -z -f ${squidConfig}
       '';
       serviceConfig = {
-        Type="forking";
         PIDFile="/run/squid.pid";
-        ExecStart  = "${pkgs.squid}/bin/squid -YCs -f ${squidConfig}";
+        ExecStart  = "${cfg.package}/bin/squid --foreground -YCs -f ${squidConfig}";
+        ExecReload="kill -HUP $MAINPID";
+        KillMode="mixed";
+        NotifyAccess="all";
       };
     };
 
diff --git a/nixos/modules/services/networking/syncplay.nix b/nixos/modules/services/networking/syncplay.nix
index b6faf2d3f7727..c17426ecced72 100644
--- a/nixos/modules/services/networking/syncplay.nix
+++ b/nixos/modules/services/networking/syncplay.nix
@@ -61,6 +61,15 @@ in
           Group to use when running Syncplay.
         '';
       };
+
+      passwordFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        description = ''
+          Path to the file that contains the server password. If
+          <literal>null</literal>, the server doesn't require a password.
+        '';
+      };
     };
   };
 
@@ -71,10 +80,17 @@ in
       after       = [ "network-online.target" ];
 
       serviceConfig = {
-        ExecStart = "${pkgs.syncplay}/bin/syncplay-server ${escapeShellArgs cmdArgs}";
         User = cfg.user;
         Group = cfg.group;
+        LoadCredential = lib.mkIf (cfg.passwordFile != null) "password:${cfg.passwordFile}";
       };
+
+      script = ''
+        ${lib.optionalString (cfg.passwordFile != null) ''
+          export SYNCPLAY_PASSWORD=$(cat "''${CREDENTIALS_DIRECTORY}/password")
+        ''}
+        exec ${pkgs.syncplay}/bin/syncplay-server ${escapeShellArgs cmdArgs}
+      '';
     };
   };
 }
diff --git a/nixos/modules/services/security/oauth2_proxy.nix b/nixos/modules/services/security/oauth2_proxy.nix
index ce295bd4ba3bb..5c89d58723760 100644
--- a/nixos/modules/services/security/oauth2_proxy.nix
+++ b/nixos/modules/services/security/oauth2_proxy.nix
@@ -571,8 +571,11 @@ in
     users.users.oauth2_proxy = {
       description = "OAuth2 Proxy";
       isSystemUser = true;
+      group = "oauth2_proxy";
     };
 
+    users.groups.oauth2_proxy = {};
+
     systemd.services.oauth2_proxy = {
       description = "OAuth2 Proxy";
       path = [ cfg.package ];
diff --git a/nixos/modules/services/security/sslmate-agent.nix b/nixos/modules/services/security/sslmate-agent.nix
new file mode 100644
index 0000000000000..c850eb22a0311
--- /dev/null
+++ b/nixos/modules/services/security/sslmate-agent.nix
@@ -0,0 +1,32 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.sslmate-agent;
+
+in {
+  meta.maintainers = with maintainers; [ wolfangaukang ];
+
+  options = {
+    services.sslmate-agent = {
+      enable = mkEnableOption "sslmate-agent, a daemon for managing SSL/TLS certificates on a server";
+    };
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = with pkgs; [ sslmate-agent ];
+
+    systemd = {
+      packages = [ pkgs.sslmate-agent ];
+      services.sslmate-agent = {
+        wantedBy = [ "multi-user.target" ];
+        serviceConfig = {
+          ConfigurationDirectory = "sslmate-agent";
+          LogsDirectory = "sslmate-agent";
+          StateDirectory = "sslmate-agent";
+        };
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/system/earlyoom.nix b/nixos/modules/services/system/earlyoom.nix
index ddd5bcebcdd5f..6293585598907 100644
--- a/nixos/modules/services/system/earlyoom.nix
+++ b/nixos/modules/services/system/earlyoom.nix
@@ -5,8 +5,8 @@ let
 
   inherit (lib)
     mkDefault mkEnableOption mkIf mkOption types
-    mkRemovedOptionModule
-    concatStringsSep optional;
+    mkRemovedOptionModule literalExpression
+    escapeShellArg concatStringsSep optional optionalString;
 
 in
 {
@@ -17,10 +17,26 @@ in
       type = types.ints.between 1 100;
       default = 10;
       description = ''
-        Minimum of availabe memory (in percent).
-        If the free memory falls below this threshold and the analog is true for
-        <option>services.earlyoom.freeSwapThreshold</option>
-        the killing begins.
+        Minimum available memory (in percent).
+
+        If the available memory falls below this threshold (and the analog is true for
+        <option>freeSwapThreshold</option>) the killing begins.
+        SIGTERM is sent first to the process that uses the most memory; then, if the available
+        memory falls below <option>freeMemKillThreshold</option> (and the analog is true for
+        <option>freeSwapKillThreshold</option>), SIGKILL is sent.
+
+        See <link xlink:href="https://github.com/rfjakob/earlyoom#command-line-options">README</link> for details.
+      '';
+    };
+
+    freeMemKillThreshold = mkOption {
+      type = types.nullOr (types.ints.between 1 100);
+      default = null;
+      description = ''
+        Minimum available memory (in percent) before sending SIGKILL.
+        If unset, this defaults to half of <option>freeMemThreshold</option>.
+
+        See the description of <xref linkend="opt-services.earlyoom.freeMemThreshold"/>.
       '';
     };
 
@@ -28,19 +44,20 @@ in
       type = types.ints.between 1 100;
       default = 10;
       description = ''
-        Minimum of availabe swap space (in percent).
-        If the available swap space falls below this threshold and the analog
-        is true for <option>services.earlyoom.freeMemThreshold</option>
-        the killing begins.
+        Minimum free swap space (in percent) before sending SIGTERM.
+
+        See the description of <xref linkend="opt-services.earlyoom.freeMemThreshold"/>.
       '';
     };
 
-    # TODO: remove or warn after 1.7 (https://github.com/rfjakob/earlyoom/commit/7ebc4554)
-    ignoreOOMScoreAdjust = mkOption {
-      type = types.bool;
-      default = false;
+    freeSwapKillThreshold = mkOption {
+      type = types.nullOr (types.ints.between 1 100);
+      default = null;
       description = ''
-        Ignore oom_score_adjust values of processes.
+        Minimum free swap space (in percent) before sending SIGKILL.
+        If unset, this defaults to half of <option>freeSwapThreshold</option>.
+
+        See the description of <xref linkend="opt-services.earlyoom.freeMemThreshold"/>.
       '';
     };
 
@@ -63,12 +80,43 @@ in
         local user to DoS your session by spamming notifications.
 
         To actually see the notifications in your GUI session, you need to have
-        <literal>systembus-notify</literal> running as your user which this
-        option handles.
+        <literal>systembus-notify</literal> running as your user, which this
+        option handles by enabling <option>services.systembus-notify</option>.
 
         See <link xlink:href="https://github.com/rfjakob/earlyoom#notifications">README</link> for details.
       '';
     };
+
+    killHook = mkOption {
+      type = types.nullOr types.path;
+      default = null;
+      example = literalExpression ''
+        pkgs.writeShellScript "earlyoom-kill-hook" '''
+          echo "Process $EARLYOOM_NAME ($EARLYOOM_PID) was killed" >> /path/to/log
+        '''
+      '';
+      description = ''
+        An absolute path to an executable to be run for each process killed.
+        Some environment variables are available, see
+        <link xlink:href="https://github.com/rfjakob/earlyoom#notifications">README</link> and
+        <link xlink:href="https://github.com/rfjakob/earlyoom/blob/master/MANPAGE.md#-n-pathtoscript">the man page</link>
+        for details.
+      '';
+    };
+
+    reportInterval = mkOption {
+      type = types.int;
+      default = 3600;
+      example = 0;
+      description = "Interval (in seconds) at which a memory report is printed (set to 0 to disable).";
+    };
+
+    extraArgs = mkOption {
+      type = types.listOf types.str;
+      default = [];
+      example = [ "-g" "--prefer '(^|/)(java|chromium)$'" ];
+      description = "Extra command-line arguments to be passed to earlyoom.";
+    };
   };
 
   imports = [
@@ -76,7 +124,11 @@ in
       This option is deprecated and ignored by earlyoom since 1.2.
     '')
     (mkRemovedOptionModule [ "services" "earlyoom" "notificationsCommand" ] ''
-      This option is deprecated and ignored by earlyoom since 1.6.
+      This option was removed in earlyoom 1.6, but was reimplemented in 1.7
+      and is available as the new option `services.earlyoom.killHook`.
+    '')
+    (mkRemovedOptionModule [ "services" "earlyoom" "ignoreOOMScoreAdjust" ] ''
+      This option is deprecated and ignored by earlyoom since 1.7.
     '')
   ];
 
@@ -91,12 +143,16 @@ in
         StandardError = "journal";
         ExecStart = concatStringsSep " " ([
           "${pkgs.earlyoom}/bin/earlyoom"
-          "-m ${toString cfg.freeMemThreshold}"
-          "-s ${toString cfg.freeSwapThreshold}"
+          ("-m ${toString cfg.freeMemThreshold}"
+            + optionalString (cfg.freeMemKillThreshold != null) ",${toString cfg.freeMemKillThreshold}")
+          ("-s ${toString cfg.freeSwapThreshold}"
+            + optionalString (cfg.freeSwapKillThreshold != null) ",${toString cfg.freeSwapKillThreshold}")
+          "-r ${toString cfg.reportInterval}"
         ]
-        ++ optional cfg.ignoreOOMScoreAdjust "-i"
         ++ optional cfg.enableDebugInfo "-d"
         ++ optional cfg.enableNotifications "-n"
+        ++ optional (cfg.killHook != null) "-N ${escapeShellArg cfg.killHook}"
+        ++ cfg.extraArgs
         );
       };
     };
diff --git a/nixos/modules/services/video/unifi-video.nix b/nixos/modules/services/video/unifi-video.nix
index 43208a9fe4cfb..11d9fe305470c 100644
--- a/nixos/modules/services/video/unifi-video.nix
+++ b/nixos/modules/services/video/unifi-video.nix
@@ -16,7 +16,7 @@ let
     -pidfile ${cfg.pidFile} \
     -procname unifi-video \
     -Djava.security.egd=file:/dev/./urandom \
-    -Xmx${cfg.maximumJavaHeapSize}M \
+    -Xmx${toString cfg.maximumJavaHeapSize}M \
     -Xss512K \
     -XX:+UseG1GC \
     -XX:+UseStringDeduplication \
@@ -91,98 +91,102 @@ let
   stateDir = "/var/lib/unifi-video";
 
 in
-  {
-
-    options.services.unifi-video = {
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Whether or not to enable the unifi-video service.
-        '';
-      };
+{
 
-      jrePackage = mkOption {
-        type = types.package;
-        default = pkgs.jre8;
-        defaultText = literalExpression "pkgs.jre8";
-        description = ''
-          The JRE package to use. Check the release notes to ensure it is supported.
-        '';
-      };
+  options.services.unifi-video = {
 
-      unifiVideoPackage = mkOption {
-        type = types.package;
-        default = pkgs.unifi-video;
-        defaultText = literalExpression "pkgs.unifi-video";
-        description = ''
-          The unifi-video package to use.
-        '';
-      };
+    enable = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Whether or not to enable the unifi-video service.
+      '';
+    };
 
-      mongodbPackage = mkOption {
-        type = types.package;
-        default = pkgs.mongodb-4_0;
-        defaultText = literalExpression "pkgs.mongodb";
-        description = ''
-          The mongodb package to use.
-        '';
-      };
+    jrePackage = mkOption {
+      type = types.package;
+      default = pkgs.jre8;
+      defaultText = literalExpression "pkgs.jre8";
+      description = ''
+        The JRE package to use. Check the release notes to ensure it is supported.
+      '';
+    };
 
-      logDir = mkOption {
-        type = types.str;
-        default = "${stateDir}/logs";
-        description = ''
-          Where to store the logs.
-        '';
-      };
+    unifiVideoPackage = mkOption {
+      type = types.package;
+      default = pkgs.unifi-video;
+      defaultText = literalExpression "pkgs.unifi-video";
+      description = ''
+        The unifi-video package to use.
+      '';
+    };
 
-      dataDir = mkOption {
-        type = types.str;
-        default = "${stateDir}/data";
-        description = ''
-          Where to store the database and other data.
-        '';
-      };
+    mongodbPackage = mkOption {
+      type = types.package;
+      default = pkgs.mongodb-4_0;
+      defaultText = literalExpression "pkgs.mongodb";
+      description = ''
+        The mongodb package to use.
+      '';
+    };
 
-      openPorts = mkOption {
-        type = types.bool;
-        default = true;
-        description = ''
-          Whether or not to open the required ports on the firewall.
-        '';
-      };
+    logDir = mkOption {
+      type = types.str;
+      default = "${stateDir}/logs";
+      description = ''
+        Where to store the logs.
+      '';
+    };
 
-      maximumJavaHeapSize = mkOption {
-        type = types.nullOr types.int;
-        default = 1024;
-        example = 4096;
-        description = ''
-          Set the maximimum heap size for the JVM in MB.
-        '';
-      };
+    dataDir = mkOption {
+      type = types.str;
+      default = "${stateDir}/data";
+      description = ''
+        Where to store the database and other data.
+      '';
+    };
 
-      pidFile = mkOption {
-        type = types.path;
-        default = "${cfg.dataDir}/unifi-video.pid";
-        defaultText = literalExpression ''"''${config.${opt.dataDir}}/unifi-video.pid"'';
-        description = "Location of unifi-video pid file.";
-      };
+    openFirewall = mkOption {
+      type = types.bool;
+      default = true;
+      description = ''
+        Whether or not to open the required ports on the firewall.
+      '';
+    };
+
+    maximumJavaHeapSize = mkOption {
+      type = types.nullOr types.int;
+      default = 1024;
+      example = 4096;
+      description = ''
+        Set the maximimum heap size for the JVM in MB.
+      '';
+    };
+
+    pidFile = mkOption {
+      type = types.path;
+      default = "${cfg.dataDir}/unifi-video.pid";
+      defaultText = literalExpression ''"''${config.${opt.dataDir}}/unifi-video.pid"'';
+      description = "Location of unifi-video pid file.";
+    };
+
+  };
+
+  config = mkIf cfg.enable {
 
-};
+    warnings = optional
+      (options.services.unifi-video.openFirewall.highestPrio >= (mkOptionDefault null).priority)
+      "The current services.unifi-video.openFirewall = true default is deprecated and will change to false in 22.11. Set it explicitly to silence this warning.";
 
-config = mkIf cfg.enable {
-  users = {
-    users.unifi-video = {
+    users.users.unifi-video = {
       description = "UniFi Video controller daemon user";
       home = stateDir;
       group = "unifi-video";
       isSystemUser = true;
     };
-    groups.unifi-video = {};
-  };
+    users.groups.unifi-video = {};
 
-  networking.firewall = mkIf cfg.openPorts {
+    networking.firewall = mkIf cfg.openFirewall {
       # https://help.ui.com/hc/en-us/articles/217875218-UniFi-Video-Ports-Used
       allowedTCPPorts = [
         7080 # HTTP portal
@@ -237,7 +241,6 @@ config = mkIf cfg.enable {
       "L+ '${stateDir}/conf/server.xml' 0700 unifi-video unifi-video - ${pkgs.unifi-video}/lib/unifi-video/conf/server.xml"
       "L+ '${stateDir}/conf/tomcat-users.xml' 0700 unifi-video unifi-video - ${pkgs.unifi-video}/lib/unifi-video/conf/tomcat-users.xml"
       "L+ '${stateDir}/conf/web.xml' 0700 unifi-video unifi-video - ${pkgs.unifi-video}/lib/unifi-video/conf/web.xml"
-
     ];
 
     systemd.services.unifi-video = {
@@ -258,10 +261,11 @@ config = mkIf cfg.enable {
         WorkingDirectory = "${stateDir}";
       };
     };
-
   };
 
-  meta = {
-    maintainers = with lib.maintainers; [ rsynnest ];
-  };
+  imports = [
+    (mkRenamedOptionModule [ "services" "unifi-video" "openPorts" ] [ "services" "unifi-video" "openFirewall" ])
+  ];
+
+  meta.maintainers = with lib.maintainers; [ rsynnest ];
 }
diff --git a/nixos/modules/services/web-apps/jitsi-meet.nix b/nixos/modules/services/web-apps/jitsi-meet.nix
index 2f1c4acec1e8b..be0b5b94fb26c 100644
--- a/nixos/modules/services/web-apps/jitsi-meet.nix
+++ b/nixos/modules/services/web-apps/jitsi-meet.nix
@@ -159,7 +159,7 @@ in
       '';
     };
 
-    caddy.enable = mkEnableOption "Whether to enablle caddy reverse proxy to expose jitsi-meet";
+    caddy.enable = mkEnableOption "Whether to enable caddy reverse proxy to expose jitsi-meet";
 
     prosody.enable = mkOption {
       type = bool;
diff --git a/nixos/modules/services/web-apps/keycloak.nix b/nixos/modules/services/web-apps/keycloak.nix
index 22c16be76139f..c4a2127663a97 100644
--- a/nixos/modules/services/web-apps/keycloak.nix
+++ b/nixos/modules/services/web-apps/keycloak.nix
@@ -129,6 +129,14 @@ in
         '';
       };
 
+      plugins = lib.mkOption {
+        type = lib.types.listOf lib.types.path;
+        default = [];
+        description = ''
+          Keycloak plugin jar, ear files or derivations with them
+        '';
+      };
+
       database = {
         type = mkOption {
           type = enum [ "mysql" "postgresql" ];
@@ -787,6 +795,14 @@ in
 
               umask u=rwx,g=,o=
 
+              install_plugin() {
+                if [ -d "$1" ]; then
+                  find "$1" -type f \( -iname \*.ear -o -iname \*.jar \) -exec install -m 0500 -o keycloak -g keycloak "{}" "/run/keycloak/deployments/" \;
+                else
+                  install -m 0500 -o keycloak -g keycloak "$1" "/run/keycloak/deployments/"
+                fi
+              }
+
               install -m 0600 ${cfg.package}/standalone/configuration/*.properties /run/keycloak/configuration
               install -T -m 0600 ${keycloakConfig} /run/keycloak/configuration/standalone.xml
 
@@ -794,7 +810,9 @@ in
 
               export JAVA_OPTS=-Djboss.server.config.user.dir=/run/keycloak/configuration
               add-user-keycloak.sh -u admin -p '${cfg.initialAdminPassword}'
-            '' + optionalString (cfg.sslCertificate != null && cfg.sslCertificateKey != null) ''
+            ''
+            + lib.optionalString (cfg.plugins != []) (lib.concatStringsSep "\n" (map (pl: "install_plugin ${lib.escapeShellArg pl}") cfg.plugins)) + "\n"
+            + optionalString (cfg.sslCertificate != null && cfg.sslCertificateKey != null) ''
               pushd /run/keycloak/ssl/
               cat "$CREDENTIALS_DIRECTORY/ssl_cert" <(echo) \
                   "$CREDENTIALS_DIRECTORY/ssl_key" <(echo) \
diff --git a/nixos/modules/services/web-apps/mastodon.nix b/nixos/modules/services/web-apps/mastodon.nix
index 8208c85bfd708..fbfcc33b2dce0 100644
--- a/nixos/modules/services/web-apps/mastodon.nix
+++ b/nixos/modules/services/web-apps/mastodon.nix
@@ -9,6 +9,8 @@ let
     RAILS_ENV = "production";
     NODE_ENV = "production";
 
+    LD_PRELOAD = "${pkgs.jemalloc}/lib/libjemalloc.so";
+
     # mastodon-web concurrency.
     WEB_CONCURRENCY = toString cfg.webProcesses;
     MAX_THREADS = toString cfg.webThreads;
@@ -121,7 +123,7 @@ in {
 
           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/tootsuite/mastodon/blob/master/dist/nginx.conf</code>.
+          <code>https://github.com/mastodon/mastodon/blob/master/dist/nginx.conf</code>.
         '';
         type = lib.types.bool;
         default = false;
diff --git a/nixos/modules/services/web-apps/netbox.nix b/nixos/modules/services/web-apps/netbox.nix
new file mode 100644
index 0000000000000..a7d8bede74b4b
--- /dev/null
+++ b/nixos/modules/services/web-apps/netbox.nix
@@ -0,0 +1,265 @@
+{ config, lib, pkgs, buildEnv, ... }:
+
+with lib;
+
+let
+  cfg = config.services.netbox;
+  staticDir = cfg.dataDir + "/static";
+  configFile = pkgs.writeTextFile {
+    name = "configuration.py";
+    text = ''
+      STATIC_ROOT = '${staticDir}'
+      ALLOWED_HOSTS = ['*']
+      DATABASE = {
+        'NAME': 'netbox',
+        'USER': 'netbox',
+        'HOST': '/run/postgresql',
+      }
+
+      # Redis database settings. Redis is used for caching and for queuing background tasks such as webhook events. A separate
+      # configuration exists for each. Full connection details are required in both sections, and it is strongly recommended
+      # to use two separate database IDs.
+      REDIS = {
+          'tasks': {
+              'URL': 'unix://${config.services.redis.servers.netbox.unixSocket}?db=0',
+              'SSL': False,
+          },
+          'caching': {
+              'URL': 'unix://${config.services.redis.servers.netbox.unixSocket}?db=1',
+              'SSL': False,
+          }
+      }
+
+      with open("${cfg.secretKeyFile}", "r") as file:
+          SECRET_KEY = file.readline()
+
+      ${optionalString cfg.enableLdap "REMOTE_AUTH_BACKEND = 'netbox.authentication.LDAPBackend'"}
+
+      ${cfg.extraConfig}
+    '';
+  };
+  pkg = (pkgs.netbox.overrideAttrs (old: {
+    installPhase = old.installPhase + ''
+      ln -s ${configFile} $out/opt/netbox/netbox/netbox/configuration.py
+    '' + optionalString cfg.enableLdap ''
+      ln -s ${ldapConfigPath} $out/opt/netbox/netbox/netbox/ldap_config.py
+    '';
+  })).override {
+    plugins = ps: ((cfg.plugins ps)
+      ++ optional cfg.enableLdap [ ps.django-auth-ldap ]);
+  };
+  netboxManageScript = with pkgs; (writeScriptBin "netbox-manage" ''
+    #!${stdenv.shell}
+    export PYTHONPATH=${pkg.pythonPath}
+    sudo -u netbox ${pkg}/bin/netbox "$@"
+  '');
+
+in {
+  options.services.netbox = {
+    enable = mkOption {
+      type = lib.types.bool;
+      default = false;
+      description = ''
+        Enable Netbox.
+
+        This module requires a reverse proxy that serves <literal>/static</literal> separately.
+        See this <link xlink:href="https://github.com/netbox-community/netbox/blob/develop/contrib/nginx.conf/">example</link> on how to configure this.
+      '';
+    };
+
+    listenAddress = mkOption {
+      type = types.str;
+      default = "[::1]";
+      description = ''
+        Address the server will listen on.
+      '';
+    };
+
+    port = mkOption {
+      type = types.port;
+      default = 8001;
+      description = ''
+        Port the server will listen on.
+      '';
+    };
+
+    plugins = mkOption {
+      type = types.functionTo (types.listOf types.package);
+      default = _: [];
+      defaultText = literalExpression ''
+        python3Packages: with python3Packages; [];
+      '';
+      description = ''
+        List of plugin packages to install.
+      '';
+    };
+
+    dataDir = mkOption {
+      type = types.str;
+      default = "/var/lib/netbox";
+      description = ''
+        Storage path of netbox.
+      '';
+    };
+
+    secretKeyFile = mkOption {
+      type = types.path;
+      description = ''
+        Path to a file containing the secret key.
+      '';
+    };
+
+    extraConfig = mkOption {
+      type = types.lines;
+      default = "";
+      description = ''
+        Additional lines of configuration appended to the <literal>configuration.py</literal>.
+        See the <link xlink:href="https://netbox.readthedocs.io/en/stable/configuration/optional-settings/">documentation</link> for more possible options.
+      '';
+    };
+
+    enableLdap = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Enable LDAP-Authentication for Netbox.
+
+        This requires a configuration file being pass through <literal>ldapConfigPath</literal>.
+      '';
+    };
+
+    ldapConfigPath = mkOption {
+      type = types.path;
+      default = "";
+      description = ''
+        Path to the Configuration-File for LDAP-Authentification, will be loaded as <literal>ldap_config.py</literal>.
+        See the <link xlink:href="https://netbox.readthedocs.io/en/stable/installation/6-ldap/#configuration">documentation</link> for possible options.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    services.redis.servers.netbox.enable = true;
+
+    services.postgresql = {
+      enable = true;
+      ensureDatabases = [ "netbox" ];
+      ensureUsers = [
+        {
+          name = "netbox";
+          ensurePermissions = {
+            "DATABASE netbox" = "ALL PRIVILEGES";
+          };
+        }
+      ];
+    };
+
+    environment.systemPackages = [ netboxManageScript ];
+
+    systemd.targets.netbox = {
+      description = "Target for all NetBox services";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network-online.target" "redis-netbox.service" ];
+    };
+
+    systemd.services = let
+      defaultServiceConfig = {
+        WorkingDirectory = "${cfg.dataDir}";
+        User = "netbox";
+        Group = "netbox";
+        StateDirectory = "netbox";
+        StateDirectoryMode = "0750";
+        Restart = "on-failure";
+      };
+    in {
+      netbox-migration = {
+        description = "NetBox migrations";
+        wantedBy = [ "netbox.target" ];
+
+        environment = {
+          PYTHONPATH = pkg.pythonPath;
+        };
+
+        serviceConfig = defaultServiceConfig // {
+          Type = "oneshot";
+          ExecStart = ''
+            ${pkg}/bin/netbox migrate
+          '';
+        };
+      };
+
+      netbox = {
+        description = "NetBox WSGI Service";
+        wantedBy = [ "netbox.target" ];
+        after = [ "netbox-migration.service" ];
+
+        preStart = ''
+          ${pkg}/bin/netbox trace_paths --no-input
+          ${pkg}/bin/netbox collectstatic --no-input
+          ${pkg}/bin/netbox remove_stale_contenttypes --no-input
+        '';
+
+        environment = {
+          PYTHONPATH = pkg.pythonPath;
+        };
+
+        serviceConfig = defaultServiceConfig // {
+          ExecStart = ''
+            ${pkgs.python3Packages.gunicorn}/bin/gunicorn netbox.wsgi \
+              --bind ${cfg.listenAddress}:${toString cfg.port} \
+              --pythonpath ${pkg}/opt/netbox/netbox
+          '';
+        };
+      };
+
+      netbox-rq = {
+        description = "NetBox Request Queue Worker";
+        wantedBy = [ "netbox.target" ];
+        after = [ "netbox.service" ];
+
+        environment = {
+          PYTHONPATH = pkg.pythonPath;
+        };
+
+        serviceConfig = defaultServiceConfig // {
+          ExecStart = ''
+            ${pkg}/bin/netbox rqworker high default low
+          '';
+        };
+      };
+
+      netbox-housekeeping = {
+        description = "NetBox housekeeping job";
+        after = [ "netbox.service" ];
+
+        environment = {
+          PYTHONPATH = pkg.pythonPath;
+        };
+
+        serviceConfig = defaultServiceConfig // {
+          Type = "oneshot";
+          ExecStart = ''
+            ${pkg}/bin/netbox housekeeping
+          '';
+        };
+      };
+    };
+
+    systemd.timers.netbox-housekeeping = {
+      description = "Run NetBox housekeeping job";
+      wantedBy = [ "timers.target" ];
+
+      timerConfig = {
+        OnCalendar = "daily";
+      };
+    };
+
+    users.users.netbox = {
+      home = "${cfg.dataDir}";
+      isSystemUser = true;
+      group = "netbox";
+    };
+    users.groups.netbox = {};
+    users.groups."${config.services.redis.servers.netbox.user}".members = [ "netbox" ];
+  };
+}
diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix
index d817ff6019a3b..3099705acbe2e 100644
--- a/nixos/modules/services/web-servers/apache-httpd/default.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/default.nix
@@ -710,20 +710,15 @@ in
 
     services.logrotate = optionalAttrs (cfg.logFormat != "none") {
       enable = mkDefault true;
-      paths.httpd = {
-        path = "${cfg.logDir}/*.log";
-        user = cfg.user;
-        group = cfg.group;
+      settings.httpd = {
+        files = "${cfg.logDir}/*.log";
+        su = "${cfg.user} ${cfg.group}";
         frequency = "daily";
-        keep = 28;
-        extraConfig = ''
-          sharedscripts
-          compress
-          delaycompress
-          postrotate
-            systemctl reload httpd.service > /dev/null 2>/dev/null || true
-          endscript
-        '';
+        rotate = 28;
+        sharedscripts = true;
+        compress = true;
+        delaycompress = true;
+        postrotate = "systemctl reload httpd.service > /dev/null 2>/dev/null || true";
       };
     };
 
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index e046c28dd6bbe..7caaf5611cc0e 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -989,17 +989,14 @@ in
       nginx.gid = config.ids.gids.nginx;
     };
 
-    services.logrotate.paths.nginx = mapAttrs (_: mkDefault) {
-      path = "/var/log/nginx/*.log";
+    services.logrotate.settings.nginx = mapAttrs (_: mkDefault) {
+      files = "/var/log/nginx/*.log";
       frequency = "weekly";
-      keep = 26;
-      extraConfig = ''
-        compress
-        delaycompress
-        postrotate
-          [ ! -f /var/run/nginx/nginx.pid ] || kill -USR1 `cat /var/run/nginx/nginx.pid`
-        endscript
-      '';
+      su = "${cfg.user} ${cfg.group}";
+      rotate = 26;
+      compress = true;
+      delaycompress = true;
+      postrotate = "[ ! -f /var/run/nginx/nginx.pid ] || kill -USR1 `cat /var/run/nginx/nginx.pid`";
     };
   };
 }
diff --git a/nixos/modules/services/x11/desktop-managers/gnome.nix b/nixos/modules/services/x11/desktop-managers/gnome.nix
index e2323785149a9..f87258ac8dc56 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome.nix
@@ -132,6 +132,10 @@ in
       [ "environment" "gnome3" "excludePackages" ]
       [ "environment" "gnome" "excludePackages" ]
     )
+    (mkRemovedOptionModule
+      [ "services" "gnome" "experimental-features" "realtime-scheduling" ]
+      "Set `security.rtkit.enable = true;` to make realtime scheduling possible. (Still needs to be enabled using GSettings.)"
+    )
   ];
 
   options = {
@@ -142,38 +146,6 @@ in
       core-utilities.enable = mkEnableOption "GNOME core utilities";
       core-developer-tools.enable = mkEnableOption "GNOME core developer tools";
       games.enable = mkEnableOption "GNOME games";
-
-      experimental-features = {
-        realtime-scheduling = mkOption {
-          type = types.bool;
-          default = false;
-          description = ''
-            Makes mutter (which propagates to gnome-shell) request a low priority real-time
-            scheduling which is only available on the wayland session.
-            To enable this experimental feature it requires a restart of the compositor.
-            Note that enabling this option only enables the <emphasis>capability</emphasis>
-            for realtime-scheduling to be used. It doesn't automatically set the gsetting
-            so that mutter actually uses realtime-scheduling. This would require adding <literal>
-            rt-scheduler</literal> to <literal>/org/gnome/mutter/experimental-features</literal>
-            with dconf-editor. You cannot use extraGSettingsOverrides because that will only
-            change the default value of the setting.
-
-            Please be aware of these known issues with the feature in nixos:
-            <itemizedlist>
-             <listitem>
-              <para>
-               <link xlink:href="https://github.com/NixOS/nixpkgs/issues/90201">NixOS/nixpkgs#90201</link>
-              </para>
-             </listitem>
-             <listitem>
-              <para>
-               <link xlink:href="https://github.com/NixOS/nixpkgs/issues/86730">NixOS/nixpkgs#86730</link>
-              </para>
-            </listitem>
-            </itemizedlist>
-          '';
-        };
-      };
     };
 
     services.xserver.desktopManager.gnome = {
@@ -414,7 +386,6 @@ in
       services.gnome.rygel.enable = mkDefault true;
       services.gvfs.enable = true;
       services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
-      services.telepathy.enable = mkDefault true;
 
       systemd.packages = with pkgs.gnome; [
         gnome-session
@@ -480,29 +451,6 @@ in
       ];
     })
 
-    # Enable soft realtime scheduling, only supported on wayland
-    (mkIf serviceCfg.experimental-features.realtime-scheduling {
-      security.wrappers.".gnome-shell-wrapped" = {
-        source = "${pkgs.gnome.gnome-shell}/bin/.gnome-shell-wrapped";
-        owner = "root";
-        group = "root";
-        capabilities = "cap_sys_nice=ep";
-      };
-
-      systemd.user.services.gnome-shell-wayland = let
-        gnomeShellRT = with pkgs.gnome; pkgs.runCommand "gnome-shell-rt" {} ''
-          mkdir -p $out/bin/
-          cp ${gnome-shell}/bin/gnome-shell $out/bin
-          sed -i "s@${gnome-shell}/bin/@${config.security.wrapperDir}/@" $out/bin/gnome-shell
-        '';
-      in {
-        # Note we need to clear ExecStart before overriding it
-        serviceConfig.ExecStart = ["" "${gnomeShellRT}/bin/gnome-shell"];
-        # Do not use the default environment, it provides a broken PATH
-        environment = mkForce {};
-      };
-    })
-
     # Adapt from https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/gnome-3-38/elements/core/meta-gnome-core-utilities.bst
     (mkIf serviceCfg.core-utilities.enable {
       environment.systemPackages =
@@ -513,18 +461,18 @@ in
             cheese
             eog
             epiphany
-            gedit
+            pkgs.gnome-text-editor
             gnome-calculator
             gnome-calendar
             gnome-characters
             gnome-clocks
+            pkgs.gnome-console
             gnome-contacts
             gnome-font-viewer
             gnome-logs
             gnome-maps
             gnome-music
             pkgs.gnome-photos
-            gnome-screenshot
             gnome-system-monitor
             gnome-weather
             nautilus
@@ -547,10 +495,13 @@ in
       programs.file-roller.enable = notExcluded pkgs.gnome.file-roller;
       programs.geary.enable = notExcluded pkgs.gnome.geary;
       programs.gnome-disks.enable = notExcluded pkgs.gnome.gnome-disk-utility;
-      programs.gnome-terminal.enable = notExcluded pkgs.gnome.gnome-terminal;
       programs.seahorse.enable = notExcluded pkgs.gnome.seahorse;
       services.gnome.sushi.enable = notExcluded pkgs.gnome.sushi;
 
+      # VTE shell integration for gnome-console
+      programs.bash.vteIntegration = mkDefault true;
+      programs.zsh.vteIntegration = mkDefault true;
+
       # Let nautilus find extensions
       # TODO: Create nautilus-with-extensions package
       environment.sessionVariables.NAUTILUS_EXTENSION_DIR = "${config.system.path}/lib/nautilus/extensions-3.0";
diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix
index 8ff9b0b756d3d..3528b0f40e7b7 100644
--- a/nixos/modules/services/x11/desktop-managers/pantheon.nix
+++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix
@@ -220,9 +220,7 @@ in
       ] config.environment.pantheon.excludePackages);
 
       programs.evince.enable = mkDefault true;
-      programs.evince.package = pkgs.pantheon.evince;
       programs.file-roller.enable = mkDefault true;
-      programs.file-roller.package = pkgs.pantheon.file-roller;
 
       # Settings from elementary-default-settings
       environment.etc."gtk-3.0/settings.ini".source = "${pkgs.pantheon.elementary-default-settings}/etc/gtk-3.0/settings.ini";
diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix
index 3cf92f98c56fd..0bb5c1268cac2 100644
--- a/nixos/modules/services/x11/desktop-managers/xfce.nix
+++ b/nixos/modules/services/x11/desktop-managers/xfce.nix
@@ -99,6 +99,7 @@ in
       ristretto
       xfce4-appfinder
       xfce4-notifyd
+      xfce4-screensaver
       xfce4-screenshooter
       xfce4-session
       xfce4-settings
@@ -168,5 +169,6 @@ in
       xfce4-notifyd
     ];
 
+    security.pam.services.xfce4-screensaver.unixAuth = true;
   };
 }
diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix
index b1dc6643be828..70ae6b8978d0b 100644
--- a/nixos/modules/services/x11/display-managers/gdm.nix
+++ b/nixos/modules/services/x11/display-managers/gdm.nix
@@ -141,7 +141,7 @@ in
           GDM_X_SERVER_EXTRA_ARGS = toString
             (filter (arg: arg != "-terminate") cfg.xserverArgs);
           # GDM is needed for gnome-login.session
-          XDG_DATA_DIRS = "${gdm}/share:${cfg.sessionData.desktops}/share";
+          XDG_DATA_DIRS = "${gdm}/share:${cfg.sessionData.desktops}/share:${pkgs.gnome.gnome-control-center}/share";
         } // optionalAttrs (xSessionWrapper != null) {
           # Make GDM use this wrapper before running the session, which runs the
           # configured setupCommands. This relies on a patched GDM which supports
diff --git a/nixos/modules/system/boot/kernel.nix b/nixos/modules/system/boot/kernel.nix
index db00244ca0afa..fad00e39497d9 100644
--- a/nixos/modules/system/boot/kernel.nix
+++ b/nixos/modules/system/boot/kernel.nix
@@ -241,7 +241,7 @@ in
             "xhci_pci"
             "usbhid"
             "hid_generic" "hid_lenovo" "hid_apple" "hid_roccat"
-            "hid_logitech_hidpp" "hid_logitech_dj" "hid_microsoft"
+            "hid_logitech_hidpp" "hid_logitech_dj" "hid_microsoft" "hid_cherry"
 
           ] ++ optionals pkgs.stdenv.hostPlatform.isx86 [
             # Misc. x86 keyboard stuff.
diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix
index f0d3170dc5ac2..dde07571b3e7d 100644
--- a/nixos/modules/system/boot/luksroot.nix
+++ b/nixos/modules/system/boot/luksroot.nix
@@ -877,7 +877,7 @@ in
         copy_bin_and_libs ${pkgs.yubikey-personalization}/bin/ykinfo
         copy_bin_and_libs ${pkgs.openssl.bin}/bin/openssl
 
-        cc -O3 -I${pkgs.openssl.dev}/include -L${pkgs.openssl.out}/lib ${./pbkdf2-sha512.c} -o pbkdf2-sha512 -lcrypto
+        cc -O3 -I${pkgs.openssl.dev}/include -L${lib.getLib pkgs.openssl}/lib ${./pbkdf2-sha512.c} -o pbkdf2-sha512 -lcrypto
         strip -s pbkdf2-sha512
         copy_bin_and_libs pbkdf2-sha512
 
diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix
index ac1e4ef34b46f..1e9f870b32fb7 100644
--- a/nixos/modules/system/boot/networkd.nix
+++ b/nixos/modules/system/boot/networkd.nix
@@ -281,6 +281,8 @@ let
           "PrivateKeyFile"
           "ListenPort"
           "FirewallMark"
+          "RouteTable"
+          "RouteMetric"
         ])
         (assertInt "FirewallMark")
         (assertRange "FirewallMark" 1 4294967295)
@@ -296,6 +298,8 @@ let
           "AllowedIPs"
           "Endpoint"
           "PersistentKeepalive"
+          "RouteTable"
+          "RouteMetric"
         ])
         (assertInt "PersistentKeepalive")
         (assertRange "PersistentKeepalive" 0 65535)
@@ -1741,6 +1745,48 @@ in
         }));
     };
 
+    systemd.network.wait-online = {
+      anyInterface = mkOption {
+        description = ''
+          Whether to consider the network online when any interface is online, as opposed to all of them.
+          This is useful on portable machines with a wired and a wireless interface, for example.
+        '';
+        type = types.bool;
+        default = false;
+      };
+
+      ignoredInterfaces = mkOption {
+        description = ''
+          Network interfaces to be ignored when deciding if the system is online.
+        '';
+        type = with types; listOf str;
+        default = [];
+        example = [ "wg0" ];
+      };
+
+      timeout = mkOption {
+        description = ''
+          Time to wait for the network to come online, in seconds. Set to 0 to disable.
+        '';
+        type = types.ints.unsigned;
+        default = 120;
+        example = 0;
+      };
+
+      extraArgs = mkOption {
+        description = ''
+          Extra command-line arguments to pass to systemd-networkd-wait-online.
+          These also affect per-interface <literal>systemd-network-wait-online@</literal> 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.
+        '';
+        type = with types; listOf str;
+        default = [];
+      };
+    };
+
   };
 
   config = mkMerge [
@@ -1749,6 +1795,11 @@ in
     {
       systemd.network.units = mapAttrs' (n: v: nameValuePair "${n}.link" (linkToUnit n v)) cfg.links;
       environment.etc = unitFiles;
+
+      systemd.network.wait-online.extraArgs =
+        [ "--timeout=${toString cfg.wait-online.timeout}" ]
+        ++ optional cfg.wait-online.anyInterface "--any"
+        ++ map (i: "--ignore=${i}") cfg.wait-online.ignoredInterfaces;
     }
 
     (mkIf config.systemd.network.enable {
@@ -1777,6 +1828,10 @@ in
 
       systemd.services.systemd-networkd-wait-online = {
         wantedBy = [ "network-online.target" ];
+        serviceConfig.ExecStart = [
+          ""
+          "${config.systemd.package}/lib/systemd/systemd-networkd-wait-online ${utils.escapeSystemdExecArgs cfg.wait-online.extraArgs}"
+        ];
       };
 
       systemd.services."systemd-network-wait-online@" = {
@@ -1787,7 +1842,7 @@ in
         serviceConfig = {
           Type = "oneshot";
           RemainAfterExit = true;
-          ExecStart = "${config.systemd.package}/lib/systemd/systemd-networkd-wait-online -i %I";
+          ExecStart = "${config.systemd.package}/lib/systemd/systemd-networkd-wait-online -i %I ${utils.escapeSystemdExecArgs cfg.wait-online.extraArgs}";
         };
       };
 
diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh
index 8fcc1f029723e..3175836698091 100644
--- a/nixos/modules/system/boot/stage-1-init.sh
+++ b/nixos/modules/system/boot/stage-1-init.sh
@@ -232,7 +232,8 @@ done
 mkdir -p /lib
 ln -s @modulesClosure@/lib/modules /lib/modules
 ln -s @modulesClosure@/lib/firmware /lib/firmware
-echo @extraUtils@/bin/modprobe > /proc/sys/kernel/modprobe
+# see comment in stage-1.nix for explanation
+echo @extraUtils@/bin/modprobe-kernel > /proc/sys/kernel/modprobe
 for i in @kernelModules@; do
     info "loading module $(basename $i)..."
     modprobe $i
diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix
index 8b011d91563f0..04753a6767d98 100644
--- a/nixos/modules/system/boot/stage-1.nix
+++ b/nixos/modules/system/boot/stage-1.nix
@@ -131,6 +131,26 @@ let
       copy_bin_and_libs ${pkgs.kmod}/bin/kmod
       ln -sf kmod $out/bin/modprobe
 
+      # Dirty hack to make sure the kernel properly loads modules
+      # such as ext4 on demand (e.g. on a `mount(2)` syscall). This is necessary
+      # because `kmod` isn't linked against `libpthread.so.0` anymore (since
+      # it was merged into `libc.so.6` since version `2.34`), but still needs
+      # to access it for some reason. This is not an issue in stage-1 itself
+      # because of the `LD_LIBRARY_PATH`-variable and anytime later because the rpath of
+      # kmod/modprobe points to glibc's `$out/lib` where `libpthread.so.6` exists.
+      # However, this is a problem when the kernel calls `modprobe` inside
+      # the initial ramdisk because it doesn't know about the
+      # `LD_LIBRARY_PATH` and the rpath was nuked.
+      #
+      # Also, we can't use `makeWrapper` here because `kmod` only does
+      # `modprobe` functionality if `argv[0] == "modprobe"`.
+      cat >$out/bin/modprobe-kernel <<EOF
+      #!$out/bin/ash
+      export LD_LIBRARY_PATH=$out/lib
+      exec $out/bin/modprobe "\$@"
+      EOF
+      chmod +x $out/bin/modprobe-kernel
+
       # Copy resize2fs if any ext* filesystems are to be resized
       ${optionalString (any (fs: fs.autoResize && (lib.hasPrefix "ext" fs.fsType)) fileSystems) ''
         # We need mke2fs in the initrd.
@@ -703,8 +723,12 @@ in
       }
     ];
 
-    system.build =
-      { inherit bootStage1 initialRamdisk initialRamdiskSecretAppender extraUtils; };
+    system.build = mkMerge [
+      { inherit bootStage1 initialRamdiskSecretAppender extraUtils; }
+
+      # generated in nixos/modules/system/boot/systemd/initrd.nix
+      (mkIf (!config.boot.initrd.systemd.enable) { inherit initialRamdisk; })
+    ];
 
     system.requiredKernelConfig = with config.lib.kernelConfig; [
       (isYes "TMPFS")
diff --git a/nixos/modules/system/boot/stage-2-init.sh b/nixos/modules/system/boot/stage-2-init.sh
index a90f58042d2d6..096a051f86845 100755
--- a/nixos/modules/system/boot/stage-2-init.sh
+++ b/nixos/modules/system/boot/stage-2-init.sh
@@ -12,10 +12,6 @@ for o in $(</proc/cmdline); do
             # Show each command.
             set -x
             ;;
-        resume=*)
-            set -- $(IFS==; echo $o)
-            resumeDevice=$2
-            ;;
     esac
 done
 
@@ -72,46 +68,12 @@ if [ -n "@readOnlyStore@" ]; then
 fi
 
 
-# Provide a /etc/mtab.
-install -m 0755 -d /etc
-test -e /etc/fstab || touch /etc/fstab # to shut up mount
-rm -f /etc/mtab* # not that we care about stale locks
-ln -s /proc/mounts /etc/mtab
-
-
-# More special file systems, initialise required directories.
-[ -e /proc/bus/usb ] && mount -t usbfs usbfs /proc/bus/usb # UML doesn't have USB by default
-install -m 01777 -d /tmp
-install -m 0755 -d /var/{log,lib,db} /nix/var /etc/nixos/ \
-    /run/lock /home /bin # for the /bin/sh symlink
-
-
-# Miscellaneous boot time cleanup.
-rm -rf /var/run /var/lock
-rm -f /etc/{group,passwd,shadow}.lock
-
-
-# Also get rid of temporary GC roots.
-rm -rf /nix/var/nix/gcroots/tmp /nix/var/nix/temproots
-
-
-# For backwards compatibility, symlink /var/run to /run, and /var/lock
-# to /run/lock.
-ln -s /run /var/run
-ln -s /run/lock /var/lock
-
-
-# Clear the resume device.
-if test -n "$resumeDevice"; then
-    mkswap "$resumeDevice" || echo 'Failed to clear saved image.'
-fi
-
-
 # Use /etc/resolv.conf supplied by systemd-nspawn, if applicable.
 if [ -n "@useHostResolvConf@" ] && [ -e /etc/resolv.conf ]; then
     resolvconf -m 1000 -a host </etc/resolv.conf
 fi
 
+
 # Log the script output to /dev/kmsg or /run/log/stage-2-init.log.
 # Only at this point are all the necessary prerequisites ready for these commands.
 exec {logOutFd}>&1 {logErrFd}>&2
@@ -127,28 +89,20 @@ else
 fi
 
 
+# Required by the activation script
+install -m 0755 -d /etc /etc/nixos
+install -m 01777 -d /tmp
+
+
 # Run the script that performs all configuration activation that does
 # not have to be done at boot time.
 echo "running activation script..."
 $systemConfig/activate
 
 
-# Restore the system time from the hardware clock.  We do this after
-# running the activation script to be sure that /etc/localtime points
-# at the current time zone.
-if [ -e /dev/rtc ]; then
-    hwclock --hctosys
-fi
-
-
 # Record the boot configuration.
 ln -sfn "$systemConfig" /run/booted-system
 
-# Prevent the booted system from being garbage-collected. If it weren't
-# a gcroot, if we were running a different kernel, switched system,
-# and garbage collected all, we could not load kernel modules anymore.
-ln -sfn /run/booted-system /nix/var/nix/gcroots/booted-system
-
 
 # Run any user-specified commands.
 @shell@ @postBootCommands@
@@ -167,10 +121,6 @@ exec 1>&$logOutFd 2>&$logErrFd
 exec {logOutFd}>&- {logErrFd}>&-
 
 
-# Start systemd.
+# Start systemd in a clean environment.
 echo "starting systemd..."
-
-PATH=/run/current-system/systemd/lib/systemd:@fsPackagesPath@ \
-    LOCALE_ARCHIVE=/run/current-system/sw/lib/locale/locale-archive @systemdUnitPathEnvVar@ \
-    TZDIR=/etc/zoneinfo \
-    exec @systemdExecutable@
+exec @systemdExecutable@ "$@"
diff --git a/nixos/modules/system/boot/stage-2.nix b/nixos/modules/system/boot/stage-2.nix
index f6b6a8e4b0b44..f6461daf31163 100644
--- a/nixos/modules/system/boot/stage-2.nix
+++ b/nixos/modules/system/boot/stage-2.nix
@@ -19,11 +19,6 @@ let
       pkgs.coreutils
       pkgs.util-linux
     ] ++ lib.optional useHostResolvConf pkgs.openresolv);
-    fsPackagesPath = lib.makeBinPath config.system.fsPackages;
-    systemdUnitPathEnvVar = lib.optionalString (config.boot.extraSystemdUnitPaths != [])
-      ("SYSTEMD_UNIT_PATH="
-      + builtins.concatStringsSep ":" config.boot.extraSystemdUnitPaths
-      + ":"); # If SYSTEMD_UNIT_PATH ends with an empty component (":"), the usual unit load path will be appended to the contents of the variable
     postBootCommands = pkgs.writeText "local-cmds"
       ''
         ${config.boot.postBootCommands}
@@ -47,43 +42,11 @@ in
         '';
       };
 
-      devSize = mkOption {
-        default = "5%";
-        example = "32m";
-        type = types.str;
-        description = ''
-          Size limit for the /dev tmpfs. Look at mount(8), tmpfs size option,
-          for the accepted syntax.
-        '';
-      };
-
-      devShmSize = mkOption {
-        default = "50%";
-        example = "256m";
-        type = types.str;
-        description = ''
-          Size limit for the /dev/shm tmpfs. Look at mount(8), tmpfs size option,
-          for the accepted syntax.
-        '';
-      };
-
-      runSize = mkOption {
-        default = "25%";
-        example = "256m";
-        type = types.str;
-        description = ''
-          Size limit for the /run tmpfs. Look at mount(8), tmpfs size option,
-          for the accepted syntax.
-        '';
-      };
-
       systemdExecutable = mkOption {
-        default = "systemd";
+        default = "/run/current-system/systemd/lib/systemd/systemd";
         type = types.str;
         description = ''
-          The program to execute to start systemd. Typically
-          <literal>systemd</literal>, which will find systemd in the
-          PATH.
+          The program to execute to start systemd.
         '';
       };
 
diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix
index 057474c607ac8..844a6793c1540 100644
--- a/nixos/modules/system/boot/systemd.nix
+++ b/nixos/modules/system/boot/systemd.nix
@@ -11,14 +11,7 @@ let
   systemd = cfg.package;
 
   inherit (systemdUtils.lib)
-    makeUnit
     generateUnits
-    makeJobScript
-    unitConfig
-    serviceConfig
-    mountConfig
-    automountConfig
-    commonUnitText
     targetToUnit
     serviceToUnit
     socketToUnit
@@ -185,13 +178,7 @@ in
     systemd.units = mkOption {
       description = "Definition of systemd units.";
       default = {};
-      type = with types; attrsOf (submodule (
-        { name, config, ... }:
-        { options = concreteUnitOptions;
-          config = {
-            unit = mkDefault (makeUnit name config);
-          };
-        }));
+      type = systemdUtils.types.units;
     };
 
     systemd.packages = mkOption {
@@ -203,37 +190,37 @@ in
 
     systemd.targets = mkOption {
       default = {};
-      type = with types; attrsOf (submodule [ { options = targetOptions; } unitConfig] );
+      type = systemdUtils.types.targets;
       description = "Definition of systemd target units.";
     };
 
     systemd.services = mkOption {
       default = {};
-      type = with types; attrsOf (submodule [ { options = serviceOptions; } unitConfig serviceConfig ]);
+      type = systemdUtils.types.services;
       description = "Definition of systemd service units.";
     };
 
     systemd.sockets = mkOption {
       default = {};
-      type = with types; attrsOf (submodule [ { options = socketOptions; } unitConfig ]);
+      type = systemdUtils.types.sockets;
       description = "Definition of systemd socket units.";
     };
 
     systemd.timers = mkOption {
       default = {};
-      type = with types; attrsOf (submodule [ { options = timerOptions; } unitConfig ]);
+      type = systemdUtils.types.timers;
       description = "Definition of systemd timer units.";
     };
 
     systemd.paths = mkOption {
       default = {};
-      type = with types; attrsOf (submodule [ { options = pathOptions; } unitConfig ]);
+      type = systemdUtils.types.paths;
       description = "Definition of systemd path units.";
     };
 
     systemd.mounts = mkOption {
       default = [];
-      type = with types; listOf (submodule [ { options = mountOptions; } unitConfig mountConfig ]);
+      type = systemdUtils.types.mounts;
       description = ''
         Definition of systemd mount units.
         This is a list instead of an attrSet, because systemd mandates the names to be derived from
@@ -243,7 +230,7 @@ in
 
     systemd.automounts = mkOption {
       default = [];
-      type = with types; listOf (submodule [ { options = automountOptions; } unitConfig automountConfig ]);
+      type = systemdUtils.types.automounts;
       description = ''
         Definition of systemd automount units.
         This is a list instead of an attrSet, because systemd mandates the names to be derived from
@@ -253,7 +240,7 @@ in
 
     systemd.slices = mkOption {
       default = {};
-      type = with types; attrsOf (submodule [ { options = sliceOptions; } unitConfig] );
+      type = systemdUtils.types.slices;
       description = "Definition of slice configurations.";
     };
 
@@ -302,6 +289,16 @@ in
       '';
     };
 
+    systemd.managerEnvironment = mkOption {
+      type = with types; attrsOf (nullOr (oneOf [ str path package ]));
+      default = {};
+      example = { SYSTEMD_LOG_LEVEL = "debug"; };
+      description = ''
+        Environment variables of PID 1. These variables are
+        <emphasis>not</emphasis> passed to started units.
+      '';
+    };
+
     systemd.enableCgroupAccounting = mkOption {
       default = true;
       type = types.bool;
@@ -352,10 +349,11 @@ in
       type = types.listOf types.str;
       example = [ "systemd-backlight@.service" ];
       description = ''
-        A list of units to suppress when generating system systemd configuration directory. This has
+        A list of units to skip when generating system systemd configuration directory. This has
         priority over upstream units, <option>systemd.units</option>, and
         <option>systemd.additionalUpstreamSystemUnits</option>. The main purpose of this is to
-        suppress a upstream systemd unit with any modifications made to it by other NixOS modules.
+        prevent a upstream systemd unit from being added to the initrd with any modifications made to it
+        by other NixOS modules.
       '';
     };
 
@@ -470,11 +468,18 @@ in
 
       enabledUpstreamSystemUnits = filter (n: ! elem n cfg.suppressedSystemUnits) upstreamSystemUnits;
       enabledUnits = filterAttrs (n: v: ! elem n cfg.suppressedSystemUnits) cfg.units;
+
     in ({
-      "systemd/system".source = generateUnits "system" enabledUnits enabledUpstreamSystemUnits upstreamSystemWants;
+      "systemd/system".source = generateUnits {
+        type = "system";
+        units = enabledUnits;
+        upstreamUnits = enabledUpstreamSystemUnits;
+        upstreamWants = upstreamSystemWants;
+      };
 
       "systemd/system.conf".text = ''
         [Manager]
+        ManagerEnvironment=${lib.concatStringsSep " " (lib.mapAttrsToList (n: v: "${n}=${lib.escapeShellArg v}") cfg.managerEnvironment)}
         ${optionalString config.systemd.enableCgroupAccounting ''
           DefaultCPUAccounting=yes
           DefaultIOAccounting=yes
@@ -542,6 +547,17 @@ in
                    (v: let n = escapeSystemdPath v.where;
                        in nameValuePair "${n}.automount" (automountToUnit n v)) cfg.automounts);
 
+      # Environment of PID 1
+      systemd.managerEnvironment = {
+        # Doesn't contain systemd itself - everything works so it seems to use the compiled-in value for its tools
+        PATH = lib.makeBinPath config.system.fsPackages;
+        LOCALE_ARCHIVE = "/run/current-system/sw/lib/locale/locale-archive";
+        TZDIR = "/etc/zoneinfo";
+        # If SYSTEMD_UNIT_PATH ends with an empty component (":"), the usual unit load path will be appended to the contents of the variable
+        SYSTEMD_UNIT_PATH = lib.mkIf (config.boot.extraSystemdUnitPaths != []) "${builtins.concatStringsSep ":" config.boot.extraSystemdUnitPaths}:";
+      };
+
+
     system.requiredKernelConfig = map config.lib.kernelConfig.isEnabled
       [ "DEVTMPFS" "CGROUPS" "INOTIFY_USER" "SIGNALFD" "TIMERFD" "EPOLL" "NET"
         "SYSFS" "PROC_FS" "FHANDLE" "CRYPTO_USER_API_HASH" "CRYPTO_HMAC"
@@ -589,22 +605,18 @@ in
 
     boot.kernelParams = optional (!cfg.enableUnifiedCgroupHierarchy) "systemd.unified_cgroup_hierarchy=0";
 
-    services.logrotate.paths = {
+    services.logrotate.settings = {
       "/var/log/btmp" = mapAttrs (_: mkDefault) {
         frequency = "monthly";
-        keep = 1;
-        extraConfig = ''
-          create 0660 root ${config.users.groups.utmp.name}
-          minsize 1M
-        '';
+        rotate = 1;
+        create = "0660 root ${config.users.groups.utmp.name}";
+        minsize = "1M";
       };
       "/var/log/wtmp" = mapAttrs (_: mkDefault) {
         frequency = "monthly";
-        keep = 1;
-        extraConfig = ''
-          create 0664 root ${config.users.groups.utmp.name}
-          minsize 1M
-        '';
+        rotate = 1;
+        create = "0664 root ${config.users.groups.utmp.name}";
+        minsize = "1M";
       };
     };
   };
diff --git a/nixos/modules/system/boot/systemd/initrd.nix b/nixos/modules/system/boot/systemd/initrd.nix
new file mode 100644
index 0000000000000..c383486bb0bcc
--- /dev/null
+++ b/nixos/modules/system/boot/systemd/initrd.nix
@@ -0,0 +1,450 @@
+{ lib, config, utils, pkgs, ... }:
+
+with lib;
+
+let
+  inherit (utils) systemdUtils escapeSystemdPath;
+  inherit (systemdUtils.lib)
+    generateUnits
+    pathToUnit
+    serviceToUnit
+    sliceToUnit
+    socketToUnit
+    targetToUnit
+    timerToUnit
+    mountToUnit
+    automountToUnit;
+
+
+  cfg = config.boot.initrd.systemd;
+
+  # Copied from fedora
+  upstreamUnits = [
+    "basic.target"
+    "ctrl-alt-del.target"
+    "emergency.service"
+    "emergency.target"
+    "final.target"
+    "halt.target"
+    "initrd-cleanup.service"
+    "initrd-fs.target"
+    "initrd-parse-etc.service"
+    "initrd-root-device.target"
+    "initrd-root-fs.target"
+    "initrd-switch-root.service"
+    "initrd-switch-root.target"
+    "initrd.target"
+    "initrd-udevadm-cleanup-db.service"
+    "kexec.target"
+    "kmod-static-nodes.service"
+    "local-fs-pre.target"
+    "local-fs.target"
+    "multi-user.target"
+    "paths.target"
+    "poweroff.target"
+    "reboot.target"
+    "rescue.service"
+    "rescue.target"
+    "rpcbind.target"
+    "shutdown.target"
+    "sigpwr.target"
+    "slices.target"
+    "sockets.target"
+    "swap.target"
+    "sysinit.target"
+    "sys-kernel-config.mount"
+    "syslog.socket"
+    "systemd-ask-password-console.path"
+    "systemd-ask-password-console.service"
+    "systemd-fsck@.service"
+    "systemd-halt.service"
+    "systemd-hibernate-resume@.service"
+    "systemd-journald-audit.socket"
+    "systemd-journald-dev-log.socket"
+    "systemd-journald.service"
+    "systemd-journald.socket"
+    "systemd-kexec.service"
+    "systemd-modules-load.service"
+    "systemd-poweroff.service"
+    "systemd-random-seed.service"
+    "systemd-reboot.service"
+    "systemd-sysctl.service"
+    "systemd-tmpfiles-setup-dev.service"
+    "systemd-tmpfiles-setup.service"
+    "systemd-udevd-control.socket"
+    "systemd-udevd-kernel.socket"
+    "systemd-udevd.service"
+    "systemd-udev-settle.service"
+    "systemd-udev-trigger.service"
+    "systemd-vconsole-setup.service"
+    "timers.target"
+    "umount.target"
+
+    # TODO: Networking
+    # "network-online.target"
+    # "network-pre.target"
+    # "network.target"
+    # "nss-lookup.target"
+    # "nss-user-lookup.target"
+    # "remote-fs-pre.target"
+    # "remote-fs.target"
+  ] ++ cfg.additionalUpstreamUnits;
+
+  upstreamWants = [
+    "sysinit.target.wants"
+  ];
+
+  enabledUpstreamUnits = filter (n: ! elem n cfg.suppressedUnits) upstreamUnits;
+  enabledUnits = filterAttrs (n: v: ! elem n cfg.suppressedUnits) cfg.units;
+  jobScripts = concatLists (mapAttrsToList (_: unit: unit.jobScripts or []) (filterAttrs (_: v: v.enable) cfg.services));
+
+  stage1Units = generateUnits {
+    type = "initrd";
+    units = enabledUnits;
+    upstreamUnits = enabledUpstreamUnits;
+    inherit upstreamWants;
+    inherit (cfg) packages package;
+  };
+
+  fileSystems = filter utils.fsNeededForBoot config.system.build.fileSystems;
+
+  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);
+
+  kernel-name = config.boot.kernelPackages.kernel.name or "kernel";
+  modulesTree = config.system.modulesTree.override { name = kernel-name + "-modules"; };
+  firmware = config.hardware.firmware;
+  # Determine the set of modules that we need to mount the root FS.
+  modulesClosure = pkgs.makeModulesClosure {
+    rootModules = config.boot.initrd.availableKernelModules ++ config.boot.initrd.kernelModules;
+    kernel = modulesTree;
+    firmware = firmware;
+    allowMissing = false;
+  };
+
+  initrdBinEnv = pkgs.buildEnv {
+    name = "initrd-emergency-env";
+    paths = map getBin cfg.initrdBin;
+    pathsToLink = ["/bin" "/sbin"];
+    postBuild = concatStringsSep "\n" (mapAttrsToList (n: v: "ln -s '${v}' $out/bin/'${n}'") cfg.extraBin);
+  };
+
+  initialRamdisk = pkgs.makeInitrdNG {
+    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);
+  };
+
+in {
+  options.boot.initrd.systemd = {
+    enable = mkEnableOption ''systemd in initrd.
+
+      Note: This is in very early development and is highly
+      experimental. Most of the features NixOS supports in initrd are
+      not yet supported by the intrd generated with this option.
+    '';
+
+    package = (mkPackageOption pkgs "systemd" {
+      default = "systemdStage1";
+    }) // {
+      visible = false;
+    };
+
+    contents = mkOption {
+      description = "Set of files that have to be linked into the initrd";
+      example = literalExpression ''
+        {
+          "/etc/hostname".text = "mymachine";
+        }
+      '';
+      visible = false;
+      default = {};
+      type = types.attrsOf (types.submodule ({ config, options, name, ... }: {
+        options = {
+          enable = mkEnableOption "copying of this file to initrd and symlinking it" // { default = true; };
+
+          target = mkOption {
+            type = types.path;
+            description = ''
+              Path of the symlink.
+            '';
+            default = name;
+          };
+
+          text = mkOption {
+            default = null;
+            type = types.nullOr types.lines;
+            description = "Text of the file.";
+          };
+
+          source = mkOption {
+            type = types.path;
+            description = "Path of the source file.";
+          };
+        };
+
+        config = {
+          source = mkIf (config.text != null) (
+            let name' = "initrd-" + baseNameOf name;
+            in mkDerivedConfig options.text (pkgs.writeText name')
+          );
+        };
+      }));
+    };
+
+    storePaths = mkOption {
+      description = ''
+        Store paths to copy into the initrd as well.
+      '';
+      type = types.listOf types.singleLineStr;
+      default = [];
+    };
+
+    extraBin = mkOption {
+      description = ''
+        Tools to add to /bin
+      '';
+      example = literalExpression ''
+        {
+          umount = ''${pkgs.util-linux}/bin/umount;
+        }
+      '';
+      type = types.attrsOf types.path;
+      default = {};
+    };
+
+    suppressedStorePaths = mkOption {
+      description = ''
+        Store paths specified in the storePaths option that
+        should not be copied.
+      '';
+      type = types.listOf types.singleLineStr;
+      default = [];
+    };
+
+    emergencyAccess = mkOption {
+      type = with types; oneOf [ bool singleLineStr ];
+      visible = false;
+      description = ''
+        Set to true for unauthenticated emergency access, and false for
+        no emergency access.
+
+        Can also be set to a hashed super user password to allow
+        authenticated access to the emergency mode.
+      '';
+      default = false;
+    };
+
+    initrdBin = mkOption {
+      type = types.listOf types.package;
+      default = [];
+      visible = false;
+      description = ''
+        Packages to include in /bin for the stage 1 emergency shell.
+      '';
+    };
+
+    additionalUpstreamUnits = mkOption {
+      default = [ ];
+      type = types.listOf types.str;
+      visible = false;
+      example = [ "debug-shell.service" "systemd-quotacheck.service" ];
+      description = ''
+        Additional units shipped with systemd that shall be enabled.
+      '';
+    };
+
+    suppressedUnits = mkOption {
+      default = [ ];
+      type = types.listOf types.str;
+      example = [ "systemd-backlight@.service" ];
+      visible = false;
+      description = ''
+        A list of units to skip when generating system systemd configuration directory. This has
+        priority over upstream units, <option>boot.initrd.systemd.units</option>, and
+        <option>boot.initrd.systemd.additionalUpstreamUnits</option>. The main purpose of this is to
+        prevent a upstream systemd unit from being added to the initrd with any modifications made to it
+        by other NixOS modules.
+      '';
+    };
+
+    units = mkOption {
+      description = "Definition of systemd units.";
+      default = {};
+      visible = false;
+      type = systemdUtils.types.units;
+    };
+
+    packages = mkOption {
+      default = [];
+      visible = false;
+      type = types.listOf types.package;
+      example = literalExpression "[ pkgs.systemd-cryptsetup-generator ]";
+      description = "Packages providing systemd units and hooks.";
+    };
+
+    targets = mkOption {
+      default = {};
+      visible = false;
+      type = systemdUtils.types.initrdTargets;
+      description = "Definition of systemd target units.";
+    };
+
+    services = mkOption {
+      default = {};
+      type = systemdUtils.types.initrdServices;
+      visible = false;
+      description = "Definition of systemd service units.";
+    };
+
+    sockets = mkOption {
+      default = {};
+      type = systemdUtils.types.initrdSockets;
+      visible = false;
+      description = "Definition of systemd socket units.";
+    };
+
+    timers = mkOption {
+      default = {};
+      type = systemdUtils.types.initrdTimers;
+      visible = false;
+      description = "Definition of systemd timer units.";
+    };
+
+    paths = mkOption {
+      default = {};
+      type = systemdUtils.types.initrdPaths;
+      visible = false;
+      description = "Definition of systemd path units.";
+    };
+
+    mounts = mkOption {
+      default = [];
+      type = systemdUtils.types.initrdMounts;
+      visible = false;
+      description = ''
+        Definition of systemd mount units.
+        This is a list instead of an attrSet, because systemd mandates the names to be derived from
+        the 'where' attribute.
+      '';
+    };
+
+    automounts = mkOption {
+      default = [];
+      type = systemdUtils.types.automounts;
+      visible = false;
+      description = ''
+        Definition of systemd automount units.
+        This is a list instead of an attrSet, because systemd mandates the names to be derived from
+        the 'where' attribute.
+      '';
+    };
+
+    slices = mkOption {
+      default = {};
+      type = systemdUtils.types.slices;
+      visible = false;
+      description = "Definition of slice configurations.";
+    };
+  };
+
+  config = mkIf (config.boot.initrd.enable && cfg.enable) {
+    system.build = { inherit initialRamdisk; };
+
+    boot.initrd.availableKernelModules = [ "autofs4" ]; # systemd needs this for some features
+
+    boot.initrd.systemd = {
+      initrdBin = [pkgs.bash pkgs.coreutils pkgs.kmod cfg.package] ++ config.system.fsPackages;
+      extraBin = {
+        mount = "${cfg.package.util-linux}/bin/mount";
+        umount = "${cfg.package.util-linux}/bin/umount";
+      };
+
+      contents = {
+        "/init".source = "${cfg.package}/lib/systemd/systemd";
+        "/etc/systemd/system".source = stage1Units;
+
+        "/etc/systemd/system.conf".text = ''
+          [Manager]
+          DefaultEnvironment=PATH=/bin:/sbin
+        '';
+
+        "/etc/fstab".source = fstab;
+
+        "/lib/modules".source = "${modulesClosure}/lib/modules";
+
+        "/etc/modules-load.d/nixos.conf".text = concatStringsSep "\n" config.boot.initrd.kernelModules;
+
+        "/etc/passwd".source = "${pkgs.fakeNss}/etc/passwd";
+        "/etc/shadow".text = "root:${if isBool cfg.emergencyAccess then "!" else cfg.emergencyAccess}:::::::";
+
+        "/bin".source = "${initrdBinEnv}/bin";
+        "/sbin".source = "${initrdBinEnv}/sbin";
+
+        "/etc/sysctl.d/nixos.conf".text = "kernel.modprobe = /sbin/modprobe";
+        "/etc/modprobe.d/systemd.conf".source = "${cfg.package}/lib/modprobe.d/systemd.conf";
+      };
+
+      storePaths = [
+        # systemd tooling
+        "${cfg.package}/lib/systemd/systemd-fsck"
+        "${cfg.package}/lib/systemd/systemd-growfs"
+        "${cfg.package}/lib/systemd/systemd-hibernate-resume"
+        "${cfg.package}/lib/systemd/systemd-journald"
+        "${cfg.package}/lib/systemd/systemd-makefs"
+        "${cfg.package}/lib/systemd/systemd-modules-load"
+        "${cfg.package}/lib/systemd/systemd-remount-fs"
+        "${cfg.package}/lib/systemd/systemd-sulogin-shell"
+        "${cfg.package}/lib/systemd/systemd-sysctl"
+        "${cfg.package}/lib/systemd/systemd-udevd"
+        "${cfg.package}/lib/systemd/systemd-vconsole-setup"
+
+        # additional systemd directories
+        "${cfg.package}/lib/systemd/system-generators"
+        "${cfg.package}/lib/udev"
+
+        # utilities needed by systemd
+        "${cfg.package.util-linux}/bin/mount"
+        "${cfg.package.util-linux}/bin/umount"
+        "${cfg.package.util-linux}/bin/sulogin"
+
+        # so NSS can look up usernames
+        "${pkgs.glibc}/lib/libnss_files.so"
+      ] ++ jobScripts;
+
+      targets.initrd.aliases = ["default.target"];
+      units =
+           mapAttrs' (n: v: nameValuePair "${n}.path"    (pathToUnit    n v)) cfg.paths
+        // mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.services
+        // mapAttrs' (n: v: nameValuePair "${n}.slice"   (sliceToUnit   n v)) cfg.slices
+        // mapAttrs' (n: v: nameValuePair "${n}.socket"  (socketToUnit  n v)) cfg.sockets
+        // mapAttrs' (n: v: nameValuePair "${n}.target"  (targetToUnit  n v)) cfg.targets
+        // mapAttrs' (n: v: nameValuePair "${n}.timer"   (timerToUnit   n v)) cfg.timers
+        // listToAttrs (map
+                     (v: let n = escapeSystemdPath v.where;
+                         in nameValuePair "${n}.mount" (mountToUnit n v)) cfg.mounts)
+        // listToAttrs (map
+                     (v: let n = escapeSystemdPath v.where;
+                         in nameValuePair "${n}.automount" (automountToUnit n v)) cfg.automounts);
+
+      services.emergency = mkIf (isBool cfg.emergencyAccess && cfg.emergencyAccess) {
+        environment.SYSTEMD_SULOGIN_FORCE = "1";
+      };
+      # The unit in /run/systemd/generator shadows the unit in
+      # /etc/systemd/system, but will still apply drop-ins from
+      # /etc/systemd/system/foo.service.d/
+      #
+      # We need IgnoreOnIsolate, otherwise the Requires dependency of
+      # a mount unit on its makefs unit causes it to be unmounted when
+      # we isolate for switch-root. Use a dummy package so that
+      # generateUnits will generate drop-ins instead of unit files.
+      packages = [(pkgs.runCommand "dummy" {} ''
+        mkdir -p $out/etc/systemd/system
+        touch $out/etc/systemd/system/systemd-{makefs,growfs}@.service
+      '')];
+      services."systemd-makefs@".unitConfig.IgnoreOnIsolate = true;
+      services."systemd-growfs@".unitConfig.IgnoreOnIsolate = true;
+    };
+  };
+}
diff --git a/nixos/modules/system/boot/systemd/nspawn.nix b/nixos/modules/system/boot/systemd/nspawn.nix
index 0c6822319a5b0..bf9995d03cc18 100644
--- a/nixos/modules/system/boot/systemd/nspawn.nix
+++ b/nixos/modules/system/boot/systemd/nspawn.nix
@@ -116,7 +116,13 @@ in {
     in
       mkMerge [
         (mkIf (cfg != {}) {
-          environment.etc."systemd/nspawn".source = mkIf (cfg != {}) (generateUnits' false "nspawn" units [] []);
+          environment.etc."systemd/nspawn".source = mkIf (cfg != {}) (generateUnits {
+            allowCollisions = false;
+            type = "nspawn";
+            inherit units;
+            upstreamUnits = [];
+            upstreamWants = [];
+          });
         })
         {
           systemd.targets.multi-user.wants = [ "machines.target" ];
diff --git a/nixos/modules/system/boot/systemd/tmpfiles.nix b/nixos/modules/system/boot/systemd/tmpfiles.nix
index 57d44c8591ed1..97d60e9d6527b 100644
--- a/nixos/modules/system/boot/systemd/tmpfiles.nix
+++ b/nixos/modules/system/boot/systemd/tmpfiles.nix
@@ -100,5 +100,21 @@ in
         '';
       })
     ];
+
+    systemd.tmpfiles.rules = [
+      "d  /nix/var                           0755 root root - -"
+      "L+ /nix/var/nix/gcroots/booted-system 0755 root root - /run/booted-system"
+      "d  /run/lock                          0755 root root - -"
+      "d  /var/db                            0755 root root - -"
+      "L  /etc/mtab                          -    -    -    - ../proc/mounts"
+      "L  /var/lock                          -    -    -    - ../run/lock"
+      # Boot-time cleanup
+      "R! /etc/group.lock                    -    -    -    - -"
+      "R! /etc/passwd.lock                   -    -    -    - -"
+      "R! /etc/shadow.lock                   -    -    -    - -"
+      "R! /etc/mtab*                         -    -    -    - -"
+      "R! /nix/var/nix/gcroots/tmp           -    -    -    - -"
+      "R! /nix/var/nix/temproots             -    -    -    - -"
+    ];
   };
 }
diff --git a/nixos/modules/system/boot/systemd/user.nix b/nixos/modules/system/boot/systemd/user.nix
index e30f83f3457f8..4951aef95584b 100644
--- a/nixos/modules/system/boot/systemd/user.nix
+++ b/nixos/modules/system/boot/systemd/user.nix
@@ -12,10 +12,6 @@ let
     (systemdUtils.lib)
     makeUnit
     generateUnits
-    makeJobScript
-    unitConfig
-    serviceConfig
-    commonUnitText
     targetToUnit
     serviceToUnit
     socketToUnit
@@ -57,48 +53,42 @@ in {
     systemd.user.units = mkOption {
       description = "Definition of systemd per-user units.";
       default = {};
-      type = with types; attrsOf (submodule (
-        { name, config, ... }:
-        { options = concreteUnitOptions;
-          config = {
-            unit = mkDefault (makeUnit name config);
-          };
-        }));
+      type = systemdUtils.types.units;
     };
 
     systemd.user.paths = mkOption {
       default = {};
-      type = with types; attrsOf (submodule [ { options = pathOptions; } unitConfig ]);
+      type = systemdUtils.types.paths;
       description = "Definition of systemd per-user path units.";
     };
 
     systemd.user.services = mkOption {
       default = {};
-      type = with types; attrsOf (submodule [ { options = serviceOptions; } unitConfig serviceConfig ] );
+      type = systemdUtils.types.services;
       description = "Definition of systemd per-user service units.";
     };
 
     systemd.user.slices = mkOption {
       default = {};
-      type = with types; attrsOf (submodule [ { options = sliceOptions; } unitConfig ] );
+      type = systemdUtils.types.slices;
       description = "Definition of systemd per-user slice units.";
     };
 
     systemd.user.sockets = mkOption {
       default = {};
-      type = with types; attrsOf (submodule [ { options = socketOptions; } unitConfig ] );
+      type = systemdUtils.types.sockets;
       description = "Definition of systemd per-user socket units.";
     };
 
     systemd.user.targets = mkOption {
       default = {};
-      type = with types; attrsOf (submodule [ { options = targetOptions; } unitConfig] );
+      type = systemdUtils.types.targets;
       description = "Definition of systemd per-user target units.";
     };
 
     systemd.user.timers = mkOption {
       default = {};
-      type = with types; attrsOf (submodule [ { options = timerOptions; } unitConfig ] );
+      type = systemdUtils.types.timers;
       description = "Definition of systemd per-user timer units.";
     };
 
@@ -119,7 +109,12 @@ in {
     ];
 
     environment.etc = {
-      "systemd/user".source = generateUnits "user" cfg.units upstreamUserUnits [];
+      "systemd/user".source = generateUnits {
+        type = "user";
+        inherit (cfg) units;
+        upstreamUnits = upstreamUserUnits;
+        upstreamWants = [];
+      };
 
       "systemd/user.conf".text = ''
         [Manager]
diff --git a/nixos/modules/system/boot/timesyncd.nix b/nixos/modules/system/boot/timesyncd.nix
index 5f35a15476965..6279957fcd63b 100644
--- a/nixos/modules/system/boot/timesyncd.nix
+++ b/nixos/modules/system/boot/timesyncd.nix
@@ -60,15 +60,27 @@ with lib;
     };
     users.groups.systemd-timesync.gid = config.ids.gids.systemd-timesync;
 
-    system.activationScripts.systemd-timesyncd-migration = mkIf (versionOlder config.system.stateVersion "19.09") ''
+    system.activationScripts.systemd-timesyncd-migration =
       # workaround an issue of systemd-timesyncd not starting due to upstream systemd reverting their dynamic users changes
       #  - https://github.com/NixOS/nixpkgs/pull/61321#issuecomment-492423742
       #  - https://github.com/systemd/systemd/issues/12131
-      if [ -L /var/lib/systemd/timesync ]; then
-        rm /var/lib/systemd/timesync
-        mv /var/lib/private/systemd/timesync /var/lib/systemd/timesync
+      mkIf (versionOlder config.system.stateVersion "19.09") ''
+        if [ -L /var/lib/systemd/timesync ]; then
+          rm /var/lib/systemd/timesync
+          mv /var/lib/private/systemd/timesync /var/lib/systemd/timesync
+        fi
+      '';
+    system.activationScripts.systemd-timesyncd-init-clock =
+      # Ensure that we have some stored time to prevent systemd-timesyncd to
+      # resort back to the fallback time.
+      # If the file doesn't exist we assume that our current system clock is
+      # good enough to provide an initial value.
+      ''
+      if ! [ -f /var/lib/systemd/timesync/clock ]; then
+        test -d /var/lib/systemd/timesync || mkdir -p /var/lib/systemd/timesync
+        touch /var/lib/systemd/timesync/clock
       fi
-    '';
+      '';
   };
 
 }
diff --git a/nixos/modules/tasks/auto-upgrade.nix b/nixos/modules/tasks/auto-upgrade.nix
index 1404dcbaf7c0f..a5755d08d7de9 100644
--- a/nixos/modules/tasks/auto-upgrade.nix
+++ b/nixos/modules/tasks/auto-upgrade.nix
@@ -90,7 +90,7 @@ in {
         example = "45min";
         description = ''
           Add a randomized delay before each automatic upgrade.
-          The delay will be chozen between zero and this value.
+          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>
diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix
index f3da6771197e6..b8afe231dd2e1 100644
--- a/nixos/modules/tasks/filesystems.nix
+++ b/nixos/modules/tasks/filesystems.nix
@@ -215,6 +215,35 @@ in
       '';
     };
 
+    boot.devSize = mkOption {
+      default = "5%";
+      example = "32m";
+      type = types.str;
+      description = ''
+        Size limit for the /dev tmpfs. Look at mount(8), tmpfs size option,
+        for the accepted syntax.
+      '';
+    };
+
+    boot.devShmSize = mkOption {
+      default = "50%";
+      example = "256m";
+      type = types.str;
+      description = ''
+        Size limit for the /dev/shm tmpfs. Look at mount(8), tmpfs size option,
+        for the accepted syntax.
+      '';
+    };
+
+    boot.runSize = mkOption {
+      default = "25%";
+      example = "256m";
+      type = types.str;
+      description = ''
+        Size limit for the /run tmpfs. Look at mount(8), tmpfs size option,
+        for the accepted syntax.
+      '';
+    };
   };
 
 
@@ -323,7 +352,7 @@ in
             unitConfig.DefaultDependencies = false; # needed to prevent a cycle
             serviceConfig.Type = "oneshot";
           };
-      in listToAttrs (map formatDevice (filter (fs: fs.autoFormat) fileSystems)) // {
+      in listToAttrs (map formatDevice (filter (fs: fs.autoFormat && !(utils.fsNeededForBoot fs)) fileSystems)) // {
     # Mount /sys/fs/pstore for evacuating panic logs and crashdumps from persistent storage onto the disk using systemd-pstore.
     # This cannot be done with the other special filesystems because the pstore module (which creates the mount point) is not loaded then.
         "mount-pstore" = {
diff --git a/nixos/modules/tasks/lvm.nix b/nixos/modules/tasks/lvm.nix
index 35316603c38f2..59711f90dce3d 100644
--- a/nixos/modules/tasks/lvm.nix
+++ b/nixos/modules/tasks/lvm.nix
@@ -7,17 +7,18 @@ in {
   options.services.lvm = {
     package = mkOption {
       type = types.package;
-      default = if cfg.dmeventd.enable then pkgs.lvm2_dmeventd else pkgs.lvm2;
+      default = pkgs.lvm2;
       internal = true;
       defaultText = literalExpression "pkgs.lvm2";
       description = ''
         This option allows you to override the LVM package that's used on the system
         (udev rules, tmpfiles, systemd services).
-        Defaults to pkgs.lvm2, or pkgs.lvm2_dmeventd if dmeventd is enabled.
+        Defaults to pkgs.lvm2, pkgs.lvm2_dmeventd if dmeventd or pkgs.lvm2_vdo if vdo is enabled.
       '';
     };
     dmeventd.enable = mkEnableOption "the LVM dmevent daemon";
     boot.thin.enable = mkEnableOption "support for booting from ThinLVs";
+    boot.vdo.enable = mkEnableOption "support for booting from VDOLVs";
   };
 
   config = mkMerge [
@@ -40,6 +41,7 @@ in {
       environment.etc."lvm/lvm.conf".text = ''
         dmeventd/executable = "${cfg.package}/bin/dmeventd"
       '';
+      services.lvm.package = mkDefault pkgs.lvm2_dmeventd;
     })
     (mkIf cfg.boot.thin.enable {
       boot.initrd = {
@@ -61,6 +63,32 @@ in {
       environment.etc."lvm/lvm.conf".text = concatMapStringsSep "\n"
         (bin: "global/${bin}_executable = ${pkgs.thin-provisioning-tools}/bin/${bin}")
         [ "thin_check" "thin_dump" "thin_repair" "cache_check" "cache_dump" "cache_repair" ];
+
+      environment.systemPackages = [ pkgs.thin-provisioning-tools ];
+    })
+    (mkIf cfg.boot.vdo.enable {
+      boot = {
+        initrd = {
+          kernelModules = [ "kvdo" ];
+
+          extraUtilsCommands = ''
+            ls ${pkgs.vdo}/bin/ | grep -v adaptLVMVDO | while read BIN; do
+              copy_bin_and_libs ${pkgs.vdo}/bin/$BIN
+            done
+          '';
+
+          extraUtilsCommandsTest = ''
+            ls ${pkgs.vdo}/bin/ | grep -v adaptLVMVDO | while read BIN; do
+              $out/bin/$(basename $BIN) --help > /dev/null
+            done
+          '';
+        };
+        extraModulePackages = [ config.boot.kernelPackages.kvdo ];
+      };
+
+      services.lvm.package = mkOverride 999 pkgs.lvm2_vdo;  # this overrides mkDefault
+
+      environment.systemPackages = [ pkgs.vdo ];
     })
     (mkIf (cfg.dmeventd.enable || cfg.boot.thin.enable) {
       boot.initrd.preLVMCommands = ''
diff --git a/nixos/modules/tasks/network-interfaces-scripted.nix b/nixos/modules/tasks/network-interfaces-scripted.nix
index 19f2be2c4a251..b0f160c1dbf95 100644
--- a/nixos/modules/tasks/network-interfaces-scripted.nix
+++ b/nixos/modules/tasks/network-interfaces-scripted.nix
@@ -535,6 +535,7 @@ let
         createGreDevice = n: v: nameValuePair "${n}-netdev"
           (let
             deps = deviceDependency v.dev;
+            ttlarg = if lib.hasPrefix "ip6" v.type then "hoplimit" else "ttl";
           in
           { description = "GRE Tunnel Interface ${n}";
             wantedBy = [ "network-setup.service" (subsystemDevice n) ];
@@ -551,6 +552,7 @@ let
               ip link add name "${n}" type ${v.type} \
                 ${optionalString (v.remote != null) "remote \"${v.remote}\""} \
                 ${optionalString (v.local != null) "local \"${v.local}\""} \
+                ${optionalString (v.ttl != null) "${ttlarg} ${toString v.ttl}"} \
                 ${optionalString (v.dev != null) "dev \"${v.dev}\""}
               ip link set "${n}" up
             '';
diff --git a/nixos/modules/tasks/network-interfaces-systemd.nix b/nixos/modules/tasks/network-interfaces-systemd.nix
index 8a5e1b5af114c..8654539b6629c 100644
--- a/nixos/modules/tasks/network-interfaces-systemd.nix
+++ b/nixos/modules/tasks/network-interfaces-systemd.nix
@@ -318,6 +318,8 @@ in
               Remote = gre.remote;
             }) // (optionalAttrs (gre.local != null) {
               Local = gre.local;
+            }) // (optionalAttrs (gre.ttl != null) {
+              TTL = gre.ttl;
             });
         };
         networks = mkIf (gre.dev != null) {
diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix
index 01980b80f1cfd..8ca4ad7b7d86d 100644
--- a/nixos/modules/tasks/network-interfaces.nix
+++ b/nixos/modules/tasks/network-interfaces.nix
@@ -1020,12 +1020,14 @@ in
             local = "10.0.0.22";
             dev = "enp4s0f0";
             type = "tap";
+            ttl = 255;
           };
           gre6Tunnel = {
             remote = "fd7a:5634::1";
             local = "fd7a:5634::2";
             dev = "enp4s0f0";
             type = "tun6";
+            ttl = 255;
           };
         }
       '';
@@ -1063,6 +1065,15 @@ in
             '';
           };
 
+          ttl = mkOption {
+            type = types.nullOr types.int;
+            default = null;
+            example = 255;
+            description = ''
+              The time-to-live/hoplimit of the connection to the remote tunnel endpoint.
+            '';
+          };
+
           type = mkOption {
             type = with types; enum [ "tun" "tap" "tun6" "tap6" ];
             default = "tap";
@@ -1440,7 +1451,7 @@ in
           sysctl-value = tempaddrValues.${cfg.tempAddresses}.sysctl;
         in ''
           # enable and prefer IPv6 privacy addresses by default
-          ACTION=="add", SUBSYSTEM=="net", RUN+="${pkgs.bash}/bin/sh -c 'echo ${sysctl-value} > /proc/sys/net/ipv6/conf/%k/use_tempaddr'"
+          ACTION=="add", SUBSYSTEM=="net", RUN+="${pkgs.bash}/bin/sh -c 'echo ${sysctl-value} > /proc/sys/net/ipv6/conf/$name/use_tempaddr'"
         '';
       })
       (pkgs.writeTextFile rec {
diff --git a/nixos/modules/virtualisation/azure-agent.nix b/nixos/modules/virtualisation/azure-agent.nix
index bd8c7f8c1eea3..e2425b44eac4a 100644
--- a/nixos/modules/virtualisation/azure-agent.nix
+++ b/nixos/modules/virtualisation/azure-agent.nix
@@ -146,15 +146,11 @@ in
 
     services.logrotate = {
       enable = true;
-      extraConfig = ''
-        /var/log/waagent.log {
-            compress
-            monthly
-            rotate 6
-            notifempty
-            missingok
-        }
-      '';
+      settings."/var/log/waagent.log" = {
+        compress = true;
+        frequency = "monthly";
+        rotate = 6;
+      };
     };
 
     systemd.targets.provisioned = {
diff --git a/nixos/modules/virtualisation/podman/default.nix b/nixos/modules/virtualisation/podman/default.nix
index 94fd727a4b564..b7e7f78ded78f 100644
--- a/nixos/modules/virtualisation/podman/default.nix
+++ b/nixos/modules/virtualisation/podman/default.nix
@@ -6,7 +6,10 @@ let
 
   inherit (lib) mkOption types;
 
-  podmanPackage = (pkgs.podman.override { inherit (cfg) extraPackages; });
+  podmanPackage = (pkgs.podman.override {
+    extraPackages = cfg.extraPackages
+      ++ lib.optional (builtins.elem "zfs" config.boot.supportedFilesystems) config.boot.zfs.package;
+  });
 
   # Provides a fake "docker" binary mapping to podman
   dockerCompat = pkgs.runCommand "${podmanPackage.pname}-docker-compat-${podmanPackage.version}" {
diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix
index 5143893589470..20ce129c5a0ab 100644
--- a/nixos/modules/virtualisation/qemu-vm.nix
+++ b/nixos/modules/virtualisation/qemu-vm.nix
@@ -796,7 +796,7 @@ in
     # allow `system.build.toplevel' to be included.  (If we had a direct
     # reference to ${regInfo} here, then we would get a cyclic
     # dependency.)
-    boot.postBootCommands =
+    boot.postBootCommands = lib.mkIf config.nix.enable
       ''
         if [[ "$(cat /proc/cmdline)" =~ regInfo=([^ ]*) ]]; then
           ${config.nix.package.out}/bin/nix-store --load-db < ''${BASH_REMATCH[1]}
@@ -854,7 +854,7 @@ in
         "-device virtio-gpu-pci" "-device usb-ehci,id=usb0" "-device usb-kbd" "-device usb-tablet"
       ])
       (mkIf (!cfg.useBootLoader) [
-        "-kernel ${config.system.build.toplevel}/kernel"
+        "-kernel \${NIXPKGS_QEMU_KERNEL_${config.system.name}:-${config.system.build.toplevel}/kernel}"
         "-initrd ${config.system.build.toplevel}/initrd"
         ''-append "$(cat ${config.system.build.toplevel}/kernel-params) init=${config.system.build.toplevel}/init regInfo=${regInfo}/registration ${consoles} $QEMU_KERNEL_PARAMS"''
       ])
@@ -923,6 +923,8 @@ in
       mkVMOverride (cfg.fileSystems //
       {
         "/".device = cfg.bootDevice;
+        "/".fsType = "ext4";
+        "/".autoFormat = true;
 
         "/tmp" = mkIf config.boot.tmpOnTmpfs
           { device = "tmpfs";
@@ -953,6 +955,28 @@ in
           };
       } // lib.mapAttrs' mkSharedDir cfg.sharedDirectories);
 
+    boot.initrd.systemd = lib.mkIf (config.boot.initrd.systemd.enable && cfg.writableStore) {
+      mounts = [{
+        where = "/sysroot/nix/store";
+        what = "overlay";
+        type = "overlay";
+        options = "lowerdir=/sysroot/nix/.ro-store,upperdir=/sysroot/nix/.rw-store/store,workdir=/sysroot/nix/.rw-store/work";
+        wantedBy = ["local-fs.target"];
+        before = ["local-fs.target"];
+        requires = ["sysroot-nix-.ro\\x2dstore.mount" "sysroot-nix-.rw\\x2dstore.mount" "rw-store.service"];
+        after = ["sysroot-nix-.ro\\x2dstore.mount" "sysroot-nix-.rw\\x2dstore.mount" "rw-store.service"];
+        unitConfig.IgnoreOnIsolate = true;
+      }];
+      services.rw-store = {
+        after = ["sysroot-nix-.rw\\x2dstore.mount"];
+        unitConfig.DefaultDependencies = false;
+        serviceConfig = {
+          Type = "oneshot";
+          ExecStart = "/bin/mkdir -p 0755 /sysroot/nix/.rw-store/store /sysroot/nix/.rw-store/work /sysroot/nix/store";
+        };
+      };
+    };
+
     swapDevices = mkVMOverride [ ];
     boot.initrd.luks.devices = mkVMOverride {};
 
@@ -961,7 +985,10 @@ in
 
     services.qemuGuest.enable = cfg.qemu.guestAgent.enable;
 
-    system.build.vm = pkgs.runCommand "nixos-vm" { preferLocalBuild = true; }
+    system.build.vm = pkgs.runCommand "nixos-vm" {
+      preferLocalBuild = true;
+      meta.mainProgram = "run-${config.system.name}-vm";
+    }
       ''
         mkdir -p $out/bin
         ln -s ${config.system.build.toplevel} $out/system
diff --git a/nixos/modules/virtualisation/waydroid.nix b/nixos/modules/virtualisation/waydroid.nix
index 4fc798ff39f89..2c0b658948dd5 100644
--- a/nixos/modules/virtualisation/waydroid.nix
+++ b/nixos/modules/virtualisation/waydroid.nix
@@ -56,8 +56,6 @@ in
 
       wantedBy = [ "multi-user.target" ];
 
-      path = with pkgs; [ getent iptables iproute kmod nftables util-linux which ];
-
       unitConfig = {
         ConditionPathExists = "/var/lib/waydroid/lxc/waydroid";
       };
@@ -68,6 +66,10 @@ in
         ExecStopPost = "${pkgs.waydroid}/bin/waydroid session stop";
       };
     };
+
+    systemd.tmpfiles.rules = [
+      "d /var/lib/misc 0755 root root -" # for dnsmasq.leases
+    ];
   };
 
 }
diff --git a/nixos/tests/aesmd.nix b/nixos/tests/aesmd.nix
index 59c04fe7e96a3..9f07426be8d8e 100644
--- a/nixos/tests/aesmd.nix
+++ b/nixos/tests/aesmd.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
     maintainers = with lib.maintainers; [ veehaitch ];
   };
 
-  machine = { lib, ... }: {
+  nodes.machine = { lib, ... }: {
     services.aesmd = {
       enable = true;
       settings = {
diff --git a/nixos/tests/agda.nix b/nixos/tests/agda.nix
index ec61af2afe754..6f51300111acf 100644
--- a/nixos/tests/agda.nix
+++ b/nixos/tests/agda.nix
@@ -15,7 +15,7 @@ in
     maintainers = [ alexarice turion ];
   };
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     environment.systemPackages = [
       (pkgs.agda.withPackages {
         pkgs = p: [ p.standard-library ];
diff --git a/nixos/tests/airsonic.nix b/nixos/tests/airsonic.nix
index d8df092c2ecfa..2f60c56f643be 100644
--- a/nixos/tests/airsonic.nix
+++ b/nixos/tests/airsonic.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     maintainers = [ sumnerevans ];
   };
 
-  machine =
+  nodes.machine =
     { pkgs, ... }:
     {
       services.airsonic = {
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 8d54f78a94812..799ce9b4017e9 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -132,6 +132,7 @@ in
   domination = handleTest ./domination.nix {};
   dovecot = handleTest ./dovecot.nix {};
   drbd = handleTest ./drbd.nix {};
+  earlyoom = handleTestOn ["x86_64-linux"] ./earlyoom.nix {};
   ec2-config = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-config or {};
   ec2-nixops = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-nixops or {};
   ecryptfs = handleTest ./ecryptfs.nix {};
@@ -273,6 +274,7 @@ in
   login = handleTest ./login.nix {};
   logrotate = handleTest ./logrotate.nix {};
   loki = handleTest ./loki.nix {};
+  lvm2 = handleTest ./lvm2 {};
   lxd = handleTest ./lxd.nix {};
   lxd-image = handleTest ./lxd-image.nix {};
   lxd-nftables = handleTest ./lxd-nftables.nix {};
@@ -280,6 +282,7 @@ in
   #logstash = handleTest ./logstash.nix {};
   lorri = handleTest ./lorri/default.nix {};
   maddy = handleTest ./maddy.nix {};
+  maestral = handleTest ./maestral.nix {};
   magic-wormhole-mailbox-server = handleTest ./magic-wormhole-mailbox-server.nix {};
   magnetico = handleTest ./magnetico.nix {};
   mailcatcher = handleTest ./mailcatcher.nix {};
@@ -314,6 +317,7 @@ in
   moosefs = handleTest ./moosefs.nix {};
   mpd = handleTest ./mpd.nix {};
   mpv = handleTest ./mpv.nix {};
+  mtp = handleTest ./mtp.nix {};
   mumble = handleTest ./mumble.nix {};
   musescore = handleTest ./musescore.nix {};
   munin = handleTest ./munin.nix {};
@@ -340,6 +344,7 @@ in
   networking.networkd = handleTest ./networking.nix { networkd = true; };
   networking.scripted = handleTest ./networking.nix { networkd = false; };
   specialisation = handleTest ./specialisation.nix {};
+  netbox = handleTest ./web-apps/netbox.nix {};
   # TODO: put in networking.nix after the test becomes more complete
   networkingProxy = handleTest ./networking-proxy.nix {};
   nextcloud = handleTest ./nextcloud {};
@@ -471,6 +476,7 @@ in
   seafile = handleTest ./seafile.nix {};
   searx = handleTest ./searx.nix {};
   service-runner = handleTest ./service-runner.nix {};
+  sfxr-qt = handleTest ./sfxr-qt.nix {};
   shadow = handleTest ./shadow.nix {};
   shadowsocks = handleTest ./shadowsocks {};
   shattered-pixel-dungeon = handleTest ./shattered-pixel-dungeon.nix {};
@@ -509,6 +515,7 @@ in
   systemd-confinement = handleTest ./systemd-confinement.nix {};
   systemd-cryptenroll = handleTest ./systemd-cryptenroll.nix {};
   systemd-escaping = handleTest ./systemd-escaping.nix {};
+  systemd-initrd-simple = handleTest ./systemd-initrd-simple.nix {};
   systemd-journal = handleTest ./systemd-journal.nix {};
   systemd-machinectl = handleTest ./systemd-machinectl.nix {};
   systemd-networkd = handleTest ./systemd-networkd.nix {};
@@ -518,7 +525,7 @@ in
   systemd-networkd-vrf = handleTest ./systemd-networkd-vrf.nix {};
   systemd-nspawn = handleTest ./systemd-nspawn.nix {};
   systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
-  systemd-unit-path = handleTest ./systemd-unit-path.nix {};
+  systemd-misc = handleTest ./systemd-misc.nix {};
   taskserver = handleTest ./taskserver.nix {};
   teeworlds = handleTest ./teeworlds.nix {};
   telegraf = handleTest ./telegraf.nix {};
@@ -588,5 +595,6 @@ in
   zigbee2mqtt = handleTest ./zigbee2mqtt.nix {};
   zoneminder = handleTest ./zoneminder.nix {};
   zookeeper = handleTest ./zookeeper.nix {};
+  zrepl = handleTest ./zrepl.nix {};
   zsh-history = handleTest ./zsh-history.nix {};
 }
diff --git a/nixos/tests/amazon-init-shell.nix b/nixos/tests/amazon-init-shell.nix
index f9268b2f3a009..3c040841b6d29 100644
--- a/nixos/tests/amazon-init-shell.nix
+++ b/nixos/tests/amazon-init-shell.nix
@@ -18,7 +18,7 @@ makeTest {
   meta = with maintainers; {
     maintainers = [ urbas ];
   };
-  machine = { ... }:
+  nodes.machine = { ... }:
   {
     imports = [ ../modules/profiles/headless.nix ../modules/virtualisation/amazon-init.nix ];
     services.openssh.enable = true;
diff --git a/nixos/tests/apfs.nix b/nixos/tests/apfs.nix
index a82886cbe7317..a8841fe93046e 100644
--- a/nixos/tests/apfs.nix
+++ b/nixos/tests/apfs.nix
@@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
   name = "apfs";
   meta.maintainers = with pkgs.lib.maintainers; [ Luflosi ];
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     virtualisation.emptyDiskImages = [ 1024 ];
 
     boot.supportedFilesystems = [ "apfs" ];
diff --git a/nixos/tests/apparmor.nix b/nixos/tests/apparmor.nix
index c6daa8e67de3f..f85bff0295e71 100644
--- a/nixos/tests/apparmor.nix
+++ b/nixos/tests/apparmor.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... } : {
     maintainers = [ julm ];
   };
 
-  machine =
+  nodes.machine =
     { lib, pkgs, config, ... }:
     with lib;
     {
diff --git a/nixos/tests/atd.nix b/nixos/tests/atd.nix
index ad4d60067cf1e..4342e9d7dc181 100644
--- a/nixos/tests/atd.nix
+++ b/nixos/tests/atd.nix
@@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
     maintainers = [ bjornfor ];
   };
 
-  machine =
+  nodes.machine =
     { ... }:
     { services.atd.enable = true;
       users.users.alice = { isNormalUser = true; };
diff --git a/nixos/tests/atop.nix b/nixos/tests/atop.nix
index f7a90346f3d74..ec10369a24fd6 100644
--- a/nixos/tests/atop.nix
+++ b/nixos/tests/atop.nix
@@ -107,7 +107,7 @@ in
 {
   justThePackage = makeTest {
     name = "atop-justThePackage";
-    machine = {
+    nodes.machine = {
       environment.systemPackages = [ pkgs.atop ];
     };
     testScript = with assertions; builtins.concatStringsSep "\n" [
@@ -123,7 +123,7 @@ in
   };
   defaults = makeTest {
     name = "atop-defaults";
-    machine = {
+    nodes.machine = {
       programs.atop = {
         enable = true;
       };
@@ -141,7 +141,7 @@ in
   };
   minimal = makeTest {
     name = "atop-minimal";
-    machine = {
+    nodes.machine = {
       programs.atop = {
         enable = true;
         atopService.enable = false;
@@ -162,7 +162,7 @@ in
   };
   netatop = makeTest {
     name = "atop-netatop";
-    machine = {
+    nodes.machine = {
       programs.atop = {
         enable = true;
         netatop.enable = true;
@@ -181,11 +181,7 @@ in
   };
   atopgpu = makeTest {
     name = "atop-atopgpu";
-    machine = {
-      nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (getName pkg) [
-        "cudatoolkit"
-      ];
-
+    nodes.machine = {
       programs.atop = {
         enable = true;
         atopgpu.enable = true;
@@ -204,11 +200,7 @@ in
   };
   everything = makeTest {
     name = "atop-everthing";
-    machine = {
-      nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (getName pkg) [
-        "cudatoolkit"
-      ];
-
+    nodes.machine = {
       programs.atop = {
         enable = true;
         settings = {
diff --git a/nixos/tests/bcachefs.nix b/nixos/tests/bcachefs.nix
index 44997a746879b..832cc9c38f012 100644
--- a/nixos/tests/bcachefs.nix
+++ b/nixos/tests/bcachefs.nix
@@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
   name = "bcachefs";
   meta.maintainers = with pkgs.lib.maintainers; [ chiiruno ];
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     virtualisation.emptyDiskImages = [ 4096 ];
     networking.hostId = "deadbeef";
     boot.supportedFilesystems = [ "bcachefs" ];
diff --git a/nixos/tests/beanstalkd.nix b/nixos/tests/beanstalkd.nix
index 4f4a454fb47f9..518f018408ad8 100644
--- a/nixos/tests/beanstalkd.nix
+++ b/nixos/tests/beanstalkd.nix
@@ -28,7 +28,7 @@ in
   name = "beanstalkd";
   meta.maintainers = [ lib.maintainers.aanderse ];
 
-  machine =
+  nodes.machine =
     { ... }:
     { services.beanstalkd.enable = true;
     };
diff --git a/nixos/tests/bees.nix b/nixos/tests/bees.nix
index 58a9c29513567..3ab9f38ada8fe 100644
--- a/nixos/tests/bees.nix
+++ b/nixos/tests/bees.nix
@@ -2,7 +2,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }:
 {
   name = "bees";
 
-  machine = { config, pkgs, ... }: {
+  nodes.machine = { config, pkgs, ... }: {
     boot.initrd.postDeviceCommands = ''
       ${pkgs.btrfs-progs}/bin/mkfs.btrfs -f -L aux1 /dev/vdb
       ${pkgs.btrfs-progs}/bin/mkfs.btrfs -f -L aux2 /dev/vdc
diff --git a/nixos/tests/bind.nix b/nixos/tests/bind.nix
index 7234f56a1c3a8..15accbd49db43 100644
--- a/nixos/tests/bind.nix
+++ b/nixos/tests/bind.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix {
   name = "bind";
 
-  machine = { pkgs, lib, ... }: {
+  nodes.machine = { pkgs, lib, ... }: {
     services.bind.enable = true;
     services.bind.extraOptions = "empty-zones-enable no;";
     services.bind.zones = lib.singleton {
diff --git a/nixos/tests/bitcoind.nix b/nixos/tests/bitcoind.nix
index 3e9e085287ac0..04655b7f6a51b 100644
--- a/nixos/tests/bitcoind.nix
+++ b/nixos/tests/bitcoind.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     maintainers = with maintainers; [ _1000101 ];
   };
 
-  machine = { ... }: {
+  nodes.machine = { ... }: {
     services.bitcoind."mainnet" = {
       enable = true;
       rpc = {
diff --git a/nixos/tests/blockbook-frontend.nix b/nixos/tests/blockbook-frontend.nix
index e17a2d0577977..dca4f2f53cc10 100644
--- a/nixos/tests/blockbook-frontend.nix
+++ b/nixos/tests/blockbook-frontend.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     maintainers = with maintainers; [ _1000101 ];
   };
 
-  machine = { ... }: {
+  nodes.machine = { ... }: {
     services.blockbook-frontend."test" = {
       enable = true;
     };
diff --git a/nixos/tests/boot-stage1.nix b/nixos/tests/boot-stage1.nix
index 756decd2039d6..fbe82d61afaea 100644
--- a/nixos/tests/boot-stage1.nix
+++ b/nixos/tests/boot-stage1.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix ({ pkgs, ... }: {
   name = "boot-stage1";
 
-  machine = { config, pkgs, lib, ... }: {
+  nodes.machine = { config, pkgs, lib, ... }: {
     boot.extraModulePackages = let
       compileKernelModule = name: source: pkgs.runCommandCC name rec {
         inherit source;
diff --git a/nixos/tests/boot.nix b/nixos/tests/boot.nix
index cf55656671318..ec2a9f6527c93 100644
--- a/nixos/tests/boot.nix
+++ b/nixos/tests/boot.nix
@@ -38,7 +38,6 @@ let
       } // extraConfig);
     in
       makeTest {
-        inherit iso;
         name = "boot-" + name;
         nodes = { };
         testScript =
diff --git a/nixos/tests/botamusique.nix b/nixos/tests/botamusique.nix
index ccb105dc142f2..ecb79cb69867e 100644
--- a/nixos/tests/botamusique.nix
+++ b/nixos/tests/botamusique.nix
@@ -6,6 +6,10 @@ import ./make-test-python.nix ({ pkgs, lib, ...} :
 
   nodes = {
     machine = { config, ... }: {
+      networking.extraHosts = ''
+        127.0.0.1 all.api.radio-browser.info
+      '';
+
       services.murmur = {
         enable = true;
         registerName = "NixOS tests";
diff --git a/nixos/tests/bpf.nix b/nixos/tests/bpf.nix
index e479cd0579215..5868e3bfcb4cc 100644
--- a/nixos/tests/bpf.nix
+++ b/nixos/tests/bpf.nix
@@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
   name = "bpf";
   meta.maintainers = with pkgs.lib.maintainers; [ martinetd ];
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     programs.bcc.enable = true;
     environment.systemPackages = with pkgs; [ bpftrace ];
   };
diff --git a/nixos/tests/breitbandmessung.nix b/nixos/tests/breitbandmessung.nix
index 12b1a094839be..78df0d5017eb0 100644
--- a/nixos/tests/breitbandmessung.nix
+++ b/nixos/tests/breitbandmessung.nix
@@ -2,7 +2,7 @@ import ./make-test-python.nix ({ lib, ... }: {
   name = "breitbandmessung";
   meta.maintainers = with lib.maintainers; [ b4dm4n ];
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     imports = [
       ./common/user-account.nix
       ./common/x11.nix
diff --git a/nixos/tests/brscan5.nix b/nixos/tests/brscan5.nix
index 9aed742f6de79..9156a4cccfcfa 100644
--- a/nixos/tests/brscan5.nix
+++ b/nixos/tests/brscan5.nix
@@ -7,7 +7,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
     maintainers = [ mattchrist ];
   };
 
-  machine = { pkgs, ... }:
+  nodes.machine = { pkgs, ... }:
     {
       nixpkgs.config.allowUnfree = true;
       hardware.sane = {
diff --git a/nixos/tests/buildkite-agents.nix b/nixos/tests/buildkite-agents.nix
index 6674a0e884ed3..2c5593323e873 100644
--- a/nixos/tests/buildkite-agents.nix
+++ b/nixos/tests/buildkite-agents.nix
@@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
     maintainers = [ flokli ];
   };
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     services.buildkite-agents = {
       one = {
         privateSshKeyPath = (import ./ssh-keys.nix pkgs).snakeOilPrivateKey;
diff --git a/nixos/tests/caddy.nix b/nixos/tests/caddy.nix
index 0902904b20860..16436ab52800e 100644
--- a/nixos/tests/caddy.nix
+++ b/nixos/tests/caddy.nix
@@ -7,7 +7,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
   nodes = {
     webserver = { pkgs, lib, ... }: {
       services.caddy.enable = true;
-      services.caddy.config = ''
+      services.caddy.extraConfig = ''
         http://localhost {
           encode gzip
 
@@ -22,7 +22,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
       '';
 
       specialisation.etag.configuration = {
-        services.caddy.config = lib.mkForce ''
+        services.caddy.extraConfig = lib.mkForce ''
           http://localhost {
             encode gzip
 
@@ -38,7 +38,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
       };
 
       specialisation.config-reload.configuration = {
-        services.caddy.config = ''
+        services.caddy.extraConfig = ''
           http://localhost:8080 {
           }
         '';
diff --git a/nixos/tests/cage.nix b/nixos/tests/cage.nix
index 83bae3deeeab2..39c8d0441b6d1 100644
--- a/nixos/tests/cage.nix
+++ b/nixos/tests/cage.nix
@@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ...} :
     maintainers = [ matthewbauer ];
   };
 
-  machine = { ... }:
+  nodes.machine = { ... }:
 
   {
     imports = [ ./common/user-account.nix ];
diff --git a/nixos/tests/cagebreak.nix b/nixos/tests/cagebreak.nix
index c6c2c632b61ac..1dcc910f97444 100644
--- a/nixos/tests/cagebreak.nix
+++ b/nixos/tests/cagebreak.nix
@@ -13,7 +13,7 @@ in
     maintainers = [ berbiche ];
   };
 
-  machine = { config, ... }:
+  nodes.machine = { config, ... }:
   let
     alice = config.users.users.alice;
   in {
diff --git a/nixos/tests/ceph-multi-node.nix b/nixos/tests/ceph-multi-node.nix
index 29e7c279d69ac..556546beee764 100644
--- a/nixos/tests/ceph-multi-node.nix
+++ b/nixos/tests/ceph-multi-node.nix
@@ -48,7 +48,7 @@ let
       sudo
       ceph
       xfsprogs
-      netcat-openbsd
+      libressl.nc
     ];
 
     boot.kernelModules = [ "xfs" ];
diff --git a/nixos/tests/cfssl.nix b/nixos/tests/cfssl.nix
index 170f09d9b76cc..e673df3131f8e 100644
--- a/nixos/tests/cfssl.nix
+++ b/nixos/tests/cfssl.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix ({ pkgs, ...} : {
   name = "cfssl";
 
-  machine = { config, lib, pkgs, ... }:
+  nodes.machine = { config, lib, pkgs, ... }:
   {
     networking.firewall.allowedTCPPorts = [ config.services.cfssl.port ];
 
diff --git a/nixos/tests/chromium.nix b/nixos/tests/chromium.nix
index 8965646bc5dcf..3815dca762203 100644
--- a/nixos/tests/chromium.nix
+++ b/nixos/tests/chromium.nix
@@ -15,26 +15,9 @@
 with import ../lib/testing-python.nix { inherit system pkgs; };
 with pkgs.lib;
 
-mapAttrs (channel: chromiumPkg: makeTest rec {
-  name = "chromium-${channel}";
-  meta = {
-    maintainers = with maintainers; [ aszlig primeos ];
-    # https://github.com/NixOS/hydra/issues/591#issuecomment-435125621
-    inherit (chromiumPkg.meta) timeout;
-  };
-
-  enableOCR = true;
-
+let
   user = "alice";
 
-  machine.imports = [ ./common/user-account.nix ./common/x11.nix ];
-  machine.virtualisation.memorySize = 2047;
-  machine.test-support.displayManager.auto.user = user;
-  machine.environment = {
-    systemPackages = [ chromiumPkg ];
-    variables."XAUTHORITY" = "/home/alice/.Xauthority";
-  };
-
   startupHTML = pkgs.writeText "chromium-startup.html" ''
     <!DOCTYPE html>
     <html>
@@ -50,6 +33,25 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
     </body>
     </html>
   '';
+in
+
+mapAttrs (channel: chromiumPkg: makeTest {
+  name = "chromium-${channel}";
+  meta = {
+    maintainers = with maintainers; [ aszlig primeos ];
+    # https://github.com/NixOS/hydra/issues/591#issuecomment-435125621
+    inherit (chromiumPkg.meta) timeout;
+  };
+
+  enableOCR = true;
+
+  machine.imports = [ ./common/user-account.nix ./common/x11.nix ];
+  machine.virtualisation.memorySize = 2047;
+  machine.test-support.displayManager.auto.user = user;
+  machine.environment = {
+    systemPackages = [ chromiumPkg ];
+    variables."XAUTHORITY" = "/home/alice/.Xauthority";
+  };
 
   testScript = let
     xdo = name: text: let
diff --git a/nixos/tests/clickhouse.nix b/nixos/tests/clickhouse.nix
index 017f2ee35dab0..043263ec05dd9 100644
--- a/nixos/tests/clickhouse.nix
+++ b/nixos/tests/clickhouse.nix
@@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
   name = "clickhouse";
   meta.maintainers = with pkgs.lib.maintainers; [ ma27 ];
 
-  machine = {
+  nodes.machine = {
     services.clickhouse.enable = true;
     virtualisation.memorySize = 4096;
   };
diff --git a/nixos/tests/cloud-init.nix b/nixos/tests/cloud-init.nix
index 3f191ff5616e0..9feb8d5c1526e 100644
--- a/nixos/tests/cloud-init.nix
+++ b/nixos/tests/cloud-init.nix
@@ -61,7 +61,7 @@ in makeTest {
   meta = with pkgs.lib.maintainers; {
     maintainers = [ lewo ];
   };
-  machine = { ... }:
+  nodes.machine = { ... }:
   {
     virtualisation.qemu.options = [ "-cdrom" "${metadataDrive}/metadata.iso" ];
     services.cloud-init = {
diff --git a/nixos/tests/cntr.nix b/nixos/tests/cntr.nix
index e4e13545b8762..598143beb6c0f 100644
--- a/nixos/tests/cntr.nix
+++ b/nixos/tests/cntr.nix
@@ -46,7 +46,7 @@ let
 
     meta = with pkgs.lib.maintainers; { maintainers = [ sorki mic92 ]; };
 
-    machine = { lib, ... }: {
+    nodes.machine = { lib, ... }: {
       environment.systemPackages = [ pkgs.cntr ];
       containers.test = {
         autoStart = true;
diff --git a/nixos/tests/collectd.nix b/nixos/tests/collectd.nix
index cb196224a2317..2480bdb5f917e 100644
--- a/nixos/tests/collectd.nix
+++ b/nixos/tests/collectd.nix
@@ -2,12 +2,15 @@ import ./make-test-python.nix ({ pkgs, ... }: {
   name = "collectd";
   meta = { };
 
-  machine =
-    { pkgs, ... }:
+  nodes.machine =
+    { pkgs, lib, ... }:
 
     {
       services.collectd = {
         enable = true;
+        extraConfig = lib.mkBefore ''
+          Interval 30
+        '';
         plugins = {
           rrdtool = ''
             DataDir "/var/lib/collectd/rrd"
@@ -26,6 +29,8 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     machine.succeed(f"rrdinfo {file} | logger")
     # check that this file contains a shortterm metric
     machine.succeed(f"rrdinfo {file} | grep -F 'ds[shortterm].min = '")
+    # check that interval was set before the plugins
+    machine.succeed(f"rrdinfo {file} | grep -F 'step = 30'")
     # check that there are frequent updates
     machine.succeed(f"cp {file} before")
     machine.wait_until_fails(f"cmp before {file}")
diff --git a/nixos/tests/containers-bridge.nix b/nixos/tests/containers-bridge.nix
index b8661fd7997c9..d2e16299edaad 100644
--- a/nixos/tests/containers-bridge.nix
+++ b/nixos/tests/containers-bridge.nix
@@ -11,7 +11,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
     maintainers = with lib.maintainers; [ aristid aszlig eelco kampfschlaefer ];
   };
 
-  machine =
+  nodes.machine =
     { pkgs, ... }:
     { imports = [ ../modules/installer/cd-dvd/channel.nix ];
       virtualisation.writableStore = true;
diff --git a/nixos/tests/containers-custom-pkgs.nix b/nixos/tests/containers-custom-pkgs.nix
index 1627a2c70c3ca..9894e6643762e 100644
--- a/nixos/tests/containers-custom-pkgs.nix
+++ b/nixos/tests/containers-custom-pkgs.nix
@@ -12,7 +12,7 @@ in {
     maintainers = with lib.maintainers; [ adisbladis earvstedt ];
   };
 
-  machine = { config, ... }: {
+  nodes.machine = { config, ... }: {
     assertions = let
       helloName = (builtins.head config.containers.test.config.system.extraDependencies).name;
     in [ {
diff --git a/nixos/tests/containers-ephemeral.nix b/nixos/tests/containers-ephemeral.nix
index db1631cf5b5d1..c9fe2778cacdf 100644
--- a/nixos/tests/containers-ephemeral.nix
+++ b/nixos/tests/containers-ephemeral.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
     maintainers = with lib.maintainers; [ patryk27 ];
   };
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     virtualisation.writableStore = true;
 
     containers.webserver = {
diff --git a/nixos/tests/containers-extra_veth.nix b/nixos/tests/containers-extra_veth.nix
index b8f3d9844064c..f3e62265f6c4f 100644
--- a/nixos/tests/containers-extra_veth.nix
+++ b/nixos/tests/containers-extra_veth.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
     maintainers = with lib.maintainers; [ kampfschlaefer ];
   };
 
-  machine =
+  nodes.machine =
     { pkgs, ... }:
     { imports = [ ../modules/installer/cd-dvd/channel.nix ];
       virtualisation.writableStore = true;
diff --git a/nixos/tests/containers-hosts.nix b/nixos/tests/containers-hosts.nix
index 3c6a15710027a..7bce7c997efee 100644
--- a/nixos/tests/containers-hosts.nix
+++ b/nixos/tests/containers-hosts.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
     maintainers = with lib.maintainers; [ montag451 ];
   };
 
-  machine =
+  nodes.machine =
     { lib, ... }:
     {
       virtualisation.vlans = [];
diff --git a/nixos/tests/containers-imperative.nix b/nixos/tests/containers-imperative.nix
index 14001657bee0b..44d2e50288b4a 100644
--- a/nixos/tests/containers-imperative.nix
+++ b/nixos/tests/containers-imperative.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
     maintainers = with lib.maintainers; [ aristid aszlig eelco kampfschlaefer ];
   };
 
-  machine =
+  nodes.machine =
     { config, pkgs, lib, ... }:
     { imports = [ ../modules/installer/cd-dvd/channel.nix ];
 
diff --git a/nixos/tests/containers-ip.nix b/nixos/tests/containers-ip.nix
index 91fdda0392a9b..ecead5c22f756 100644
--- a/nixos/tests/containers-ip.nix
+++ b/nixos/tests/containers-ip.nix
@@ -17,7 +17,7 @@ in import ./make-test-python.nix ({ pkgs, lib, ... }: {
     maintainers = with lib.maintainers; [ aristid aszlig eelco kampfschlaefer ];
   };
 
-  machine =
+  nodes.machine =
     { pkgs, ... }: {
       imports = [ ../modules/installer/cd-dvd/channel.nix ];
       virtualisation = {
diff --git a/nixos/tests/containers-names.nix b/nixos/tests/containers-names.nix
index 9ad2bfb748a8d..721f64990724e 100644
--- a/nixos/tests/containers-names.nix
+++ b/nixos/tests/containers-names.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
     maintainers = with lib.maintainers; [ patryk27 ];
   };
 
-  machine = { ... }: {
+  nodes.machine = { ... }: {
     # We're using the newest kernel, so that we can test containers with long names.
     # Please see https://github.com/NixOS/nixpkgs/issues/38509 for details.
     boot.kernelPackages = pkgs.linuxPackages_latest;
diff --git a/nixos/tests/containers-nested.nix b/nixos/tests/containers-nested.nix
index a653361494f96..4a9fb8f01e241 100644
--- a/nixos/tests/containers-nested.nix
+++ b/nixos/tests/containers-nested.nix
@@ -5,7 +5,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
 
   meta = with pkgs.lib.maintainers; { maintainers = [ sorki ]; };
 
-  machine = { lib, ... }:
+  nodes.machine = { lib, ... }:
     let
       makeNested = subConf: {
         containers.nested = {
diff --git a/nixos/tests/containers-portforward.nix b/nixos/tests/containers-portforward.nix
index 6cecd72f1bda3..b8c7aabc5a50b 100644
--- a/nixos/tests/containers-portforward.nix
+++ b/nixos/tests/containers-portforward.nix
@@ -11,7 +11,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
     maintainers = with lib.maintainers; [ aristid aszlig eelco kampfschlaefer ianwookim ];
   };
 
-  machine =
+  nodes.machine =
     { pkgs, ... }:
     { imports = [ ../modules/installer/cd-dvd/channel.nix ];
       virtualisation.writableStore = true;
diff --git a/nixos/tests/containers-tmpfs.nix b/nixos/tests/containers-tmpfs.nix
index d95178d1ff588..7a2c835b120aa 100644
--- a/nixos/tests/containers-tmpfs.nix
+++ b/nixos/tests/containers-tmpfs.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
     maintainers = with lib.maintainers; [ patryk27 ];
   };
 
-  machine =
+  nodes.machine =
     { pkgs, ... }:
     { imports = [ ../modules/installer/cd-dvd/channel.nix ];
       virtualisation.writableStore = true;
diff --git a/nixos/tests/cri-o.nix b/nixos/tests/cri-o.nix
index 91d46657f2411..d3a8713d6a9b3 100644
--- a/nixos/tests/cri-o.nix
+++ b/nixos/tests/cri-o.nix
@@ -1,7 +1,7 @@
 # This test runs CRI-O and verifies via critest
 import ./make-test-python.nix ({ pkgs, ... }: {
   name = "cri-o";
-  maintainers = with pkgs.lib.maintainers; teams.podman.members;
+  meta.maintainers = with pkgs.lib.maintainers; teams.podman.members;
 
   nodes = {
     crio = {
diff --git a/nixos/tests/custom-ca.nix b/nixos/tests/custom-ca.nix
index a55449a397a7c..60c6c82223a93 100644
--- a/nixos/tests/custom-ca.nix
+++ b/nixos/tests/custom-ca.nix
@@ -76,7 +76,7 @@ in
 
   enableOCR = true;
 
-  machine = { pkgs, ... }:
+  nodes.machine = { pkgs, ... }:
     { imports = [ ./common/user-account.nix ./common/x11.nix ];
 
       # chromium-based browsers refuse to run as root
diff --git a/nixos/tests/disable-installer-tools.nix b/nixos/tests/disable-installer-tools.nix
index 23c15faa8d334..69f99122753a8 100644
--- a/nixos/tests/disable-installer-tools.nix
+++ b/nixos/tests/disable-installer-tools.nix
@@ -3,7 +3,7 @@ import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }:
 {
   name = "disable-installer-tools";
 
-  machine =
+  nodes.machine =
     { pkgs, lib, ... }:
     {
         system.disableInstallerTools = true;
diff --git a/nixos/tests/dnsdist.nix b/nixos/tests/dnsdist.nix
index cfc41c13864e0..e72fa05ff282b 100644
--- a/nixos/tests/dnsdist.nix
+++ b/nixos/tests/dnsdist.nix
@@ -5,7 +5,7 @@ import ./make-test-python.nix (
       maintainers = with maintainers; [ jojosch ];
     };
 
-    machine = { pkgs, lib, ... }: {
+    nodes.machine = { pkgs, lib, ... }: {
       services.bind = {
         enable = true;
         extraOptions = "empty-zones-enable no;";
diff --git a/nixos/tests/doas.nix b/nixos/tests/doas.nix
index 7f038b2bee296..3713c728195ce 100644
--- a/nixos/tests/doas.nix
+++ b/nixos/tests/doas.nix
@@ -6,7 +6,7 @@ import ./make-test-python.nix (
       maintainers = [ cole-h ];
     };
 
-    machine =
+    nodes.machine =
       { ... }:
         {
           users.groups = { foobar = {}; barfoo = {}; baz = { gid = 1337; }; };
diff --git a/nixos/tests/docker-tools-cross.nix b/nixos/tests/docker-tools-cross.nix
index a7a6a31475d67..8791ec2581279 100644
--- a/nixos/tests/docker-tools-cross.nix
+++ b/nixos/tests/docker-tools-cross.nix
@@ -7,7 +7,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
 let
 
   remoteSystem =
-    if pkgs.system == "aarch64-linux"
+    if pkgs.stdenv.hostPlatform.system == "aarch64-linux"
     then "x86_64-linux"
     else "aarch64-linux";
 
@@ -18,7 +18,7 @@ let
 
     # NOTE: Since this file can't control where the test will be _run_ we don't
     #       cross-compile _to_ a different system but _from_ a different system
-    crossSystem = pkgs.system;
+    crossSystem = pkgs.stdenv.hostPlatform.system;
   };
 
   hello1 = remoteCrossPkgs.dockerTools.buildImage {
diff --git a/nixos/tests/docker-tools.nix b/nixos/tests/docker-tools.nix
index 8a240ddb17f24..80859ac7a96ec 100644
--- a/nixos/tests/docker-tools.nix
+++ b/nixos/tests/docker-tools.nix
@@ -315,7 +315,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
                 "docker inspect ${pkgs.dockerTools.examples.cross.imageName} "
                 + "| ${pkgs.jq}/bin/jq -r .[].Architecture"
             ).strip()
-            == "${if pkgs.system == "aarch64-linux" then "amd64" else "arm64"}"
+            == "${if pkgs.stdenv.hostPlatform.system == "aarch64-linux" then "amd64" else "arm64"}"
         )
 
     with subtest("buildLayeredImage doesn't dereference /nix/store symlink layers"):
diff --git a/nixos/tests/documize.nix b/nixos/tests/documize.nix
index d5a77ffcd4f26..528bf5338ce0d 100644
--- a/nixos/tests/documize.nix
+++ b/nixos/tests/documize.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
     maintainers = [ ma27 ];
   };
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     environment.systemPackages = [ pkgs.jq ];
 
     services.documize = {
diff --git a/nixos/tests/domination.nix b/nixos/tests/domination.nix
index c76d4ed8c61b3..09027740ab8de 100644
--- a/nixos/tests/domination.nix
+++ b/nixos/tests/domination.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     maintainers = [ fgaz ];
   };
 
-  machine = { config, pkgs, ... }: {
+  nodes.machine = { config, pkgs, ... }: {
     imports = [
       ./common/x11.nix
     ];
diff --git a/nixos/tests/dovecot.nix b/nixos/tests/dovecot.nix
index 8913c2a6a7e82..5439387807fd7 100644
--- a/nixos/tests/dovecot.nix
+++ b/nixos/tests/dovecot.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix {
   name = "dovecot";
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     imports = [ common/user-account.nix ];
     services.postfix.enable = true;
     services.dovecot2 = {
diff --git a/nixos/tests/earlyoom.nix b/nixos/tests/earlyoom.nix
new file mode 100644
index 0000000000000..75bdf56899b30
--- /dev/null
+++ b/nixos/tests/earlyoom.nix
@@ -0,0 +1,16 @@
+import ./make-test-python.nix ({ lib, ... }: {
+  name = "earlyoom";
+  meta = {
+    maintainers = with lib.maintainers; [ ncfavier ];
+  };
+
+  machine = {
+    services.earlyoom = {
+      enable = true;
+    };
+  };
+
+  testScript = ''
+    machine.wait_for_unit("earlyoom.service")
+  '';
+})
diff --git a/nixos/tests/ecryptfs.nix b/nixos/tests/ecryptfs.nix
index ef7bd13eb92c4..e3cfb2ed998c2 100644
--- a/nixos/tests/ecryptfs.nix
+++ b/nixos/tests/ecryptfs.nix
@@ -2,7 +2,7 @@ import ./make-test-python.nix ({ ... }:
 {
   name = "ecryptfs";
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     imports = [ ./common/user-account.nix ];
     boot.kernelModules = [ "ecryptfs" ];
     security.pam.enableEcryptfs = true;
diff --git a/nixos/tests/emacs-daemon.nix b/nixos/tests/emacs-daemon.nix
index e12da56021dab..d53031a67f62c 100644
--- a/nixos/tests/emacs-daemon.nix
+++ b/nixos/tests/emacs-daemon.nix
@@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
 
   enableOCR = true;
 
-  machine =
+  nodes.machine =
     { ... }:
 
     { imports = [ ./common/x11.nix ];
diff --git a/nixos/tests/enlightenment.nix b/nixos/tests/enlightenment.nix
index 8506c348246de..2e06eedd9915b 100644
--- a/nixos/tests/enlightenment.nix
+++ b/nixos/tests/enlightenment.nix
@@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ...} :
     maintainers = [ romildo ];
   };
 
-  machine = { ... }:
+  nodes.machine = { ... }:
   {
     imports = [ ./common/user-account.nix ];
     services.xserver.enable = true;
diff --git a/nixos/tests/env.nix b/nixos/tests/env.nix
index fc96ace6b2d2a..dec17b6b565a0 100644
--- a/nixos/tests/env.nix
+++ b/nixos/tests/env.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
     maintainers = [ nequissimus ];
   };
 
-  machine = { pkgs, ... }:
+  nodes.machine = { pkgs, ... }:
     {
       boot.kernelPackages = pkgs.linuxPackages;
       environment.etc.plainFile.text = ''
diff --git a/nixos/tests/etebase-server.nix b/nixos/tests/etebase-server.nix
index 4fc3c1f6392f8..49bfccf359e2a 100644
--- a/nixos/tests/etebase-server.nix
+++ b/nixos/tests/etebase-server.nix
@@ -9,7 +9,7 @@ in {
       maintainers = [ felschr ];
     };
 
-    machine = { pkgs, ... }:
+    nodes.machine = { pkgs, ... }:
       {
         services.etebase-server = {
           inherit dataDir;
diff --git a/nixos/tests/etesync-dav.nix b/nixos/tests/etesync-dav.nix
index 6a747e23f76f6..f49152c60991f 100644
--- a/nixos/tests/etesync-dav.nix
+++ b/nixos/tests/etesync-dav.nix
@@ -5,7 +5,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     maintainers = [ _3699n ];
   };
 
-  machine = { config, pkgs, ... }: {
+  nodes.machine = { config, pkgs, ... }: {
       environment.systemPackages = [ pkgs.curl pkgs.etesync-dav ];
   };
 
diff --git a/nixos/tests/fancontrol.nix b/nixos/tests/fancontrol.nix
index 296c680264150..ecb9360974463 100644
--- a/nixos/tests/fancontrol.nix
+++ b/nixos/tests/fancontrol.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... } : {
     maintainers = [ evils ];
   };
 
-  machine = { ... }: {
+  nodes.machine = { ... }: {
     imports = [ ../modules/profiles/minimal.nix ];
     hardware.fancontrol.enable = true;
     hardware.fancontrol.config = ''
diff --git a/nixos/tests/fcitx/default.nix b/nixos/tests/fcitx/default.nix
index a243be8dc19b1..78b322d351d3b 100644
--- a/nixos/tests/fcitx/default.nix
+++ b/nixos/tests/fcitx/default.nix
@@ -5,7 +5,7 @@ import ../make-test-python.nix (
     # copy_from_host works only for store paths
     rec {
         name = "fcitx";
-        machine =
+        nodes.machine =
         {
           pkgs,
           ...
diff --git a/nixos/tests/firefox.nix b/nixos/tests/firefox.nix
index 6101fc9735641..c773368a3e60a 100644
--- a/nixos/tests/firefox.nix
+++ b/nixos/tests/firefox.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, firefoxPackage, ... }: {
     maintainers = [ eelco shlevy ];
   };
 
-  machine =
+  nodes.machine =
     { pkgs, ... }:
 
     { imports = [ ./common/x11.nix ];
diff --git a/nixos/tests/fish.nix b/nixos/tests/fish.nix
index 68fba428439b6..3d9b13c6af70a 100644
--- a/nixos/tests/fish.nix
+++ b/nixos/tests/fish.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix ({ pkgs, ... }: {
   name = "fish";
 
-  machine =
+  nodes.machine =
     { pkgs, ... }:
 
     {
diff --git a/nixos/tests/fluentd.nix b/nixos/tests/fluentd.nix
index 918f2f87db17f..150638f246f26 100644
--- a/nixos/tests/fluentd.nix
+++ b/nixos/tests/fluentd.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "fluentd";
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     services.fluentd = {
       enable = true;
       config = ''
diff --git a/nixos/tests/fontconfig-default-fonts.nix b/nixos/tests/fontconfig-default-fonts.nix
index 58d0f6227cc7b..664afc9bf44c4 100644
--- a/nixos/tests/fontconfig-default-fonts.nix
+++ b/nixos/tests/fontconfig-default-fonts.nix
@@ -6,7 +6,7 @@ import ./make-test-python.nix ({ lib, ... }:
     jtojnar
   ];
 
-  machine = { config, pkgs, ... }: {
+  nodes.machine = { config, pkgs, ... }: {
     fonts.enableDefaultFonts = true; # Background fonts
     fonts.fonts = with pkgs; [
       noto-fonts-emoji
diff --git a/nixos/tests/fsck.nix b/nixos/tests/fsck.nix
index 5453f3bc48b59..5b8b09f433a22 100644
--- a/nixos/tests/fsck.nix
+++ b/nixos/tests/fsck.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix {
   name = "fsck";
 
-  machine = { lib, ... }: {
+  nodes.machine = { lib, ... }: {
     virtualisation.emptyDiskImages = [ 1 ];
 
     virtualisation.fileSystems = {
diff --git a/nixos/tests/ft2-clone.nix b/nixos/tests/ft2-clone.nix
index 71eda43e2b245..3c90b3d3fa201 100644
--- a/nixos/tests/ft2-clone.nix
+++ b/nixos/tests/ft2-clone.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     maintainers = [ fgaz ];
   };
 
-  machine = { config, pkgs, ... }: {
+  nodes.machine = { config, pkgs, ... }: {
     imports = [
       ./common/x11.nix
     ];
diff --git a/nixos/tests/geth.nix b/nixos/tests/geth.nix
index af8230553bbbb..11ad1ed2ea66f 100644
--- a/nixos/tests/geth.nix
+++ b/nixos/tests/geth.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     maintainers = with maintainers; [bachp ];
   };
 
-  machine = { ... }: {
+  nodes.machine = { ... }: {
     services.geth."mainnet" = {
       enable = true;
       http = {
diff --git a/nixos/tests/gitlab.nix b/nixos/tests/gitlab.nix
index dc3b889c8e8e2..e1916ed36f315 100644
--- a/nixos/tests/gitlab.nix
+++ b/nixos/tests/gitlab.nix
@@ -6,7 +6,7 @@ in
 import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; {
   name = "gitlab";
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ globin ];
+    maintainers = [ globin yayayayaka ];
   };
 
   nodes = {
@@ -112,21 +112,27 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; {
             "${pkgs.sudo}/bin/sudo -u gitlab -H gitlab-rake gitlab:check 1>&2"
         )
         gitlab.succeed(
-            "echo \"Authorization: Bearer \$(curl -X POST -H 'Content-Type: application/json' -d @${auth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers"
+            "echo \"Authorization: Bearer $(curl -X POST -H 'Content-Type: application/json' -d @${auth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers"
         )
       '' + optionalString doSetup ''
         gitlab.succeed(
-            "curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createProject} http://gitlab/api/v4/projects"
+            """[ "$(curl -o /dev/null -w '%{http_code}' -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createProject} http://gitlab/api/v4/projects)" = "201" ]"""
         )
         gitlab.succeed(
-            "curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${putFile} http://gitlab/api/v4/projects/1/repository/files/some-file.txt"
+            """[ "$(curl -o /dev/null -w '%{http_code}' -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${putFile} http://gitlab/api/v4/projects/2/repository/files/some-file.txt)" = "201" ]"""
         )
       '' + ''
         gitlab.succeed(
-            "curl -H @/tmp/headers http://gitlab/api/v4/projects/1/repository/archive.tar.gz > /tmp/archive.tar.gz"
+            """[ "$(curl -o /dev/null -w '%{http_code}' -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.gz)" = "200" ]"""
         )
         gitlab.succeed(
-            "curl -H @/tmp/headers http://gitlab/api/v4/projects/1/repository/archive.tar.bz2 > /tmp/archive.tar.bz2"
+            """curl -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.gz > /tmp/archive.tar.gz"""
+        )
+        gitlab.succeed(
+            """[ "$(curl -o /dev/null -w '%{http_code}' -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.bz2)" = "200" ]"""
+        )
+        gitlab.succeed(
+            """curl -o /dev/null -w '%{http_code}' -H @/tmp/headers http://gitlab/api/v4/projects/2/repository/archive.tar.bz2 > /tmp/archive.tar.bz2"""
         )
         gitlab.succeed("test -s /tmp/archive.tar.gz")
         gitlab.succeed("test -s /tmp/archive.tar.bz2")
diff --git a/nixos/tests/gitolite-fcgiwrap.nix b/nixos/tests/gitolite-fcgiwrap.nix
index 38f8d5c883fd5..abf1db37003a6 100644
--- a/nixos/tests/gitolite-fcgiwrap.nix
+++ b/nixos/tests/gitolite-fcgiwrap.nix
@@ -20,7 +20,7 @@ import ./make-test-python.nix (
         nodes = {
 
           server =
-            { ... }:
+            { config, ... }:
               {
                 networking.firewall.allowedTCPPorts = [ 80 ];
 
diff --git a/nixos/tests/gnome-xorg.nix b/nixos/tests/gnome-xorg.nix
index 6264b87af4ec5..618458b1f6b5b 100644
--- a/nixos/tests/gnome-xorg.nix
+++ b/nixos/tests/gnome-xorg.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
     maintainers = teams.gnome.members;
   };
 
-  machine = { nodes, ... }: let
+  nodes.machine = { nodes, ... }: let
     user = nodes.machine.config.users.users.alice;
   in
 
@@ -24,6 +24,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
       services.xserver.desktopManager.gnome.enable = true;
       services.xserver.desktopManager.gnome.debug = true;
       services.xserver.displayManager.defaultSession = "gnome-xorg";
+      programs.gnome-terminal.enable = true;
 
       systemd.user.services = {
         "org.gnome.Shell@x11" = {
diff --git a/nixos/tests/gnome.nix b/nixos/tests/gnome.nix
index 06f387ecad67d..05619cbd7d82a 100644
--- a/nixos/tests/gnome.nix
+++ b/nixos/tests/gnome.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
     maintainers = teams.gnome.members;
   };
 
-  machine =
+  nodes.machine =
     { ... }:
 
     { imports = [ ./common/user-account.nix ];
@@ -22,6 +22,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
 
       services.xserver.desktopManager.gnome.enable = true;
       services.xserver.desktopManager.gnome.debug = true;
+      programs.gnome-terminal.enable = true;
 
       environment.systemPackages = [
         (pkgs.makeAutostartItem {
diff --git a/nixos/tests/gotify-server.nix b/nixos/tests/gotify-server.nix
index 051666fbe72e7..e7942b76d8e50 100644
--- a/nixos/tests/gotify-server.nix
+++ b/nixos/tests/gotify-server.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
     maintainers = [ ma27 ];
   };
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     environment.systemPackages = [ pkgs.jq ];
 
     services.gotify = {
diff --git a/nixos/tests/graylog.nix b/nixos/tests/graylog.nix
index 572904f60d575..23f426fc7af95 100644
--- a/nixos/tests/graylog.nix
+++ b/nixos/tests/graylog.nix
@@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "graylog";
   meta.maintainers = with lib.maintainers; [ ];
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     virtualisation.memorySize = 4096;
     virtualisation.diskSize = 4096;
 
diff --git a/nixos/tests/grocy.nix b/nixos/tests/grocy.nix
index 2be5c24ecb55c..fe0ddd341486b 100644
--- a/nixos/tests/grocy.nix
+++ b/nixos/tests/grocy.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     maintainers = [ ma27 ];
   };
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     services.grocy = {
       enable = true;
       hostName = "localhost";
diff --git a/nixos/tests/grub.nix b/nixos/tests/grub.nix
index 84bfc90955b54..e0875e70f6a51 100644
--- a/nixos/tests/grub.nix
+++ b/nixos/tests/grub.nix
@@ -5,7 +5,7 @@ import ./make-test-python.nix ({ lib, ... }: {
     maintainers = [ rnhmjoj ];
   };
 
-  machine = { ... }: {
+  nodes.machine = { ... }: {
     virtualisation.useBootLoader = true;
 
     boot.loader.timeout = null;
diff --git a/nixos/tests/hardened.nix b/nixos/tests/hardened.nix
index dc455f971f5c1..3afa8ebf2b5f7 100644
--- a/nixos/tests/hardened.nix
+++ b/nixos/tests/hardened.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... } : {
     maintainers = [ joachifm ];
   };
 
-  machine =
+  nodes.machine =
     { lib, pkgs, config, ... }:
     with lib;
     { users.users.alice = { isNormalUser = true; extraGroups = [ "proc" ]; };
diff --git a/nixos/tests/herbstluftwm.nix b/nixos/tests/herbstluftwm.nix
index 7d079f4bfb695..b6965914360e7 100644
--- a/nixos/tests/herbstluftwm.nix
+++ b/nixos/tests/herbstluftwm.nix
@@ -5,7 +5,7 @@ import ./make-test-python.nix ({ lib, ...} : {
     maintainers = with lib.maintainers; [ thibautmarty ];
   };
 
-  machine = { pkgs, lib, ... }: {
+  nodes.machine = { pkgs, lib, ... }: {
     imports = [ ./common/x11.nix ./common/user-account.nix ];
     test-support.displayManager.auto.user = "alice";
     services.xserver.displayManager.defaultSession = lib.mkForce "none+herbstluftwm";
diff --git a/nixos/tests/hibernate.nix b/nixos/tests/hibernate.nix
index 3880f1649bd3d..032ac6527bc71 100644
--- a/nixos/tests/hibernate.nix
+++ b/nixos/tests/hibernate.nix
@@ -117,6 +117,11 @@ in makeTest {
       resume = create_named_machine("resume")
       resume.start()
       resume.succeed("grep 'not persisted to disk' /run/test/suspended")
+
+      # Ensure we don't restore from hibernation when booting again
+      resume.crash()
+      resume.wait_for_unit("default.target")
+      resume.fail("grep 'not persisted to disk' /run/test/suspended")
     '';
 
 }
diff --git a/nixos/tests/hitch/default.nix b/nixos/tests/hitch/default.nix
index a1d8e6162606d..4283b9f7dffbe 100644
--- a/nixos/tests/hitch/default.nix
+++ b/nixos/tests/hitch/default.nix
@@ -4,7 +4,7 @@ import ../make-test-python.nix ({ pkgs, ... }:
   meta = with pkgs.lib.maintainers; {
     maintainers = [ jflanglois ];
   };
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     environment.systemPackages = [ pkgs.curl ];
     services.hitch = {
       enable = true;
diff --git a/nixos/tests/hocker-fetchdocker/default.nix b/nixos/tests/hocker-fetchdocker/default.nix
index e3979db3c60b5..b5c06126c2e80 100644
--- a/nixos/tests/hocker-fetchdocker/default.nix
+++ b/nixos/tests/hocker-fetchdocker/default.nix
@@ -5,7 +5,7 @@ import ../make-test-python.nix ({ pkgs, ...} : {
     broken = true; # tries to download from registry-1.docker.io - how did this ever work?
   };
 
-  machine = import ./machine.nix;
+  nodes.machine = import ./machine.nix;
 
   testScript = ''
     start_all()
diff --git a/nixos/tests/hockeypuck.nix b/nixos/tests/hockeypuck.nix
index 19df9dee3d315..d1ef4cbf588a8 100644
--- a/nixos/tests/hockeypuck.nix
+++ b/nixos/tests/hockeypuck.nix
@@ -24,7 +24,7 @@ in {
   name = "hockeypuck";
   meta.maintainers = with lib.maintainers; [ etu ];
 
-  machine = { ... }: {
+  nodes.machine = { ... }: {
     # Used for test
     environment.systemPackages = [ pkgs.gnupg ];
 
diff --git a/nixos/tests/hostname.nix b/nixos/tests/hostname.nix
index 2e92b4259a6ab..1de8f19267af8 100644
--- a/nixos/tests/hostname.nix
+++ b/nixos/tests/hostname.nix
@@ -20,7 +20,7 @@ let
           maintainers = [ primeos blitz ];
         };
 
-        machine = { lib, ... }: {
+        nodes.machine = { lib, ... }: {
           networking.hostName = hostName;
           networking.domain = domain;
 
diff --git a/nixos/tests/hound.nix b/nixos/tests/hound.nix
index 4f51db1de9dec..a9b036deb0dda 100644
--- a/nixos/tests/hound.nix
+++ b/nixos/tests/hound.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... } : {
   meta = with pkgs.lib.maintainers; {
     maintainers = [ grahamc ];
   };
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     services.hound = {
       enable = true;
       config = ''
diff --git a/nixos/tests/hydra/default.nix b/nixos/tests/hydra/default.nix
index ef5e677953dcd..9fc787842d854 100644
--- a/nixos/tests/hydra/default.nix
+++ b/nixos/tests/hydra/default.nix
@@ -20,7 +20,7 @@ let
       maintainers = [ lewo ma27 ];
     };
 
-    machine = { pkgs, lib, ... }: {
+    nodes.machine = { pkgs, lib, ... }: {
       imports = [ baseConfig ];
       services.hydra = { inherit package; };
     };
diff --git a/nixos/tests/i3wm.nix b/nixos/tests/i3wm.nix
index 59b4ffe3986e2..b216650d8192b 100644
--- a/nixos/tests/i3wm.nix
+++ b/nixos/tests/i3wm.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
     maintainers = [ aszlig ];
   };
 
-  machine = { lib, ... }: {
+  nodes.machine = { lib, ... }: {
     imports = [ ./common/x11.nix ./common/user-account.nix ];
     test-support.displayManager.auto.user = "alice";
     services.xserver.displayManager.defaultSession = lib.mkForce "none+i3";
diff --git a/nixos/tests/ihatemoney/default.nix b/nixos/tests/ihatemoney/default.nix
index 78278d2e86996..cd5f073343daa 100644
--- a/nixos/tests/ihatemoney/default.nix
+++ b/nixos/tests/ihatemoney/default.nix
@@ -7,7 +7,7 @@ let
   inherit (import ../../lib/testing-python.nix { inherit system pkgs; }) makeTest;
   f = backend: makeTest {
     name = "ihatemoney-${backend}";
-    machine = { nodes, lib, ... }: {
+    nodes.machine = { nodes, lib, ... }: {
       services.ihatemoney = {
         enable = true;
         enablePublicProjectCreation = true;
diff --git a/nixos/tests/incron.nix b/nixos/tests/incron.nix
index b22ee4c9a037a..c978ff27dfad5 100644
--- a/nixos/tests/incron.nix
+++ b/nixos/tests/incron.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
   name = "incron";
   meta.maintainers = [ lib.maintainers.aanderse ];
 
-  machine =
+  nodes.machine =
     { ... }:
     { services.incron.enable = true;
       services.incron.extraPackages = [ pkgs.coreutils ];
diff --git a/nixos/tests/initrd-network.nix b/nixos/tests/initrd-network.nix
index 14e7e7d40bc59..f2483b7393de4 100644
--- a/nixos/tests/initrd-network.nix
+++ b/nixos/tests/initrd-network.nix
@@ -3,7 +3,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
 
   meta.maintainers = [ pkgs.lib.maintainers.eelco ];
 
-  machine = { ... }: {
+  nodes.machine = { ... }: {
     imports = [ ../modules/profiles/minimal.nix ];
     boot.initrd.network.enable = true;
     boot.initrd.network.postCommands =
diff --git a/nixos/tests/initrd-secrets.nix b/nixos/tests/initrd-secrets.nix
index 113a9cebf7880..0f3f83b0904e3 100644
--- a/nixos/tests/initrd-secrets.nix
+++ b/nixos/tests/initrd-secrets.nix
@@ -11,7 +11,7 @@ let
 
     meta.maintainers = [ lib.maintainers.lheckemann ];
 
-    machine = { ... }: {
+    nodes.machine = { ... }: {
       virtualisation.useBootLoader = true;
       boot.initrd.secrets = {
         "/test" = secretInStore;
diff --git a/nixos/tests/input-remapper.nix b/nixos/tests/input-remapper.nix
index f692564caa577..1b0350063f7f2 100644
--- a/nixos/tests/input-remapper.nix
+++ b/nixos/tests/input-remapper.nix
@@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
       maintainers = with pkgs.lib.maintainers; [ LunNova ];
     };
 
-    machine = { config, ... }:
+    nodes.machine = { config, ... }:
       let user = config.users.users.sybil; in
       {
         imports = [
diff --git a/nixos/tests/installed-tests/default.nix b/nixos/tests/installed-tests/default.nix
index 079fd54e71e57..fd16b481168f4 100644
--- a/nixos/tests/installed-tests/default.nix
+++ b/nixos/tests/installed-tests/default.nix
@@ -43,7 +43,7 @@ let
             maintainers = tested.meta.maintainers;
           };
 
-          machine = { ... }: {
+          nodes.machine = { ... }: {
             imports = [
               testConfig
             ] ++ optional withX11 ../common/x11.nix;
diff --git a/nixos/tests/installed-tests/gjs.nix b/nixos/tests/installed-tests/gjs.nix
index 1656e9de171b7..d12487cba2499 100644
--- a/nixos/tests/installed-tests/gjs.nix
+++ b/nixos/tests/installed-tests/gjs.nix
@@ -3,4 +3,10 @@
 makeInstalledTest {
   tested = pkgs.gjs;
   withX11 = true;
+
+  testConfig = {
+    environment.systemPackages = [
+      pkgs.gjs
+    ];
+  };
 }
diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix
index 5525c3117b797..30a5b5c45b366 100644
--- a/nixos/tests/installer.nix
+++ b/nixos/tests/installer.nix
@@ -312,6 +312,7 @@ let
             desktop-file-utils
             docbook5
             docbook_xsl_ns
+            kmod.dev
             libxml2.bin
             libxslt.bin
             nixos-artwork.wallpapers.simple-dark-gray-bottom
@@ -568,7 +569,7 @@ in {
           "pvcreate /dev/vda1 /dev/vda2",
           "vgcreate MyVolGroup /dev/vda1 /dev/vda2",
           "lvcreate --size 1G --name swap MyVolGroup",
-          "lvcreate --size 3G --name nixos MyVolGroup",
+          "lvcreate --size 6G --name nixos MyVolGroup",
           "mkswap -f /dev/MyVolGroup/swap -L swap",
           "swapon -L swap",
           "mkfs.xfs -L nixos /dev/MyVolGroup/nixos",
diff --git a/nixos/tests/invidious.nix b/nixos/tests/invidious.nix
index 8b831715a441f..582d1550fff1a 100644
--- a/nixos/tests/invidious.nix
+++ b/nixos/tests/invidious.nix
@@ -5,7 +5,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     maintainers = [ sbruder ];
   };
 
-  machine = { config, lib, pkgs, ... }: {
+  nodes.machine = { config, lib, pkgs, ... }: {
     services.invidious = {
       enable = true;
     };
diff --git a/nixos/tests/isso.nix b/nixos/tests/isso.nix
index 99dc8009ae064..65bae5f5dcede 100644
--- a/nixos/tests/isso.nix
+++ b/nixos/tests/isso.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     maintainers = [ asbachb ];
   };
 
-  machine = { config, pkgs, ... }: {
+  nodes.machine = { config, pkgs, ... }: {
     services.isso = {
       enable = true;
       settings = {
diff --git a/nixos/tests/jellyfin.nix b/nixos/tests/jellyfin.nix
index cae31a7192582..4ac3786996378 100644
--- a/nixos/tests/jellyfin.nix
+++ b/nixos/tests/jellyfin.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }:
     name = "jellyfin";
     meta.maintainers = with lib.maintainers; [ minijackson ];
 
-    machine =
+    nodes.machine =
       { ... }:
       {
         services.jellyfin.enable = true;
diff --git a/nixos/tests/jenkins.nix b/nixos/tests/jenkins.nix
index cb4207c6e7738..265d1a330cd94 100644
--- a/nixos/tests/jenkins.nix
+++ b/nixos/tests/jenkins.nix
@@ -90,6 +90,8 @@ import ./make-test-python.nix ({ pkgs, ...} : {
 
     slave.fail("systemctl is-enabled jenkins.service")
 
+    slave.succeed("java -fullversion")
+
     with subtest("jobs are declarative"):
         # Check that jobs are created on disk.
         master.wait_for_unit("jenkins-job-builder")
diff --git a/nixos/tests/jibri.nix b/nixos/tests/jibri.nix
index af20e639d30ef..223120cdb2291 100644
--- a/nixos/tests/jibri.nix
+++ b/nixos/tests/jibri.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     maintainers = teams.jitsi.members;
   };
 
-    machine = { config, pkgs, ... }: {
+    nodes.machine = { config, pkgs, ... }: {
       virtualisation.memorySize = 5120;
 
       services.jitsi-meet = {
diff --git a/nixos/tests/jitsi-meet.nix b/nixos/tests/jitsi-meet.nix
index d95f7c2ea9eaa..41d53bc73800e 100644
--- a/nixos/tests/jitsi-meet.nix
+++ b/nixos/tests/jitsi-meet.nix
@@ -21,9 +21,9 @@ import ./make-test-python.nix ({ pkgs, ... }: {
         forceSSL = true;
       };
 
-      security.acme.email = "me@example.org";
       security.acme.acceptTerms = true;
-      security.acme.server = "https://example.com"; # self-signed only
+      security.acme.defaults.email = "me@example.org";
+      security.acme.defaults.server = "https://example.com"; # self-signed only
     };
   };
 
diff --git a/nixos/tests/k3s-single-node-docker.nix b/nixos/tests/k3s-single-node-docker.nix
index 7f3d15788b043..735aa5ac2975d 100644
--- a/nixos/tests/k3s-single-node-docker.nix
+++ b/nixos/tests/k3s-single-node-docker.nix
@@ -38,7 +38,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
       maintainers = [ euank ];
     };
 
-    machine = { pkgs, ... }: {
+    nodes.machine = { pkgs, ... }: {
       environment.systemPackages = with pkgs; [ k3s gzip ];
 
       # k3s uses enough resources the default vm fails.
diff --git a/nixos/tests/k3s-single-node.nix b/nixos/tests/k3s-single-node.nix
index d98f20d468cbc..fb6510ee087bc 100644
--- a/nixos/tests/k3s-single-node.nix
+++ b/nixos/tests/k3s-single-node.nix
@@ -38,7 +38,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
       maintainers = [ euank ];
     };
 
-    machine = { pkgs, ... }: {
+    nodes.machine = { pkgs, ... }: {
       environment.systemPackages = with pkgs; [ k3s gzip ];
 
       # k3s uses enough resources the default vm fails.
diff --git a/nixos/tests/kbd-setfont-decompress.nix b/nixos/tests/kbd-setfont-decompress.nix
index c3a495afac840..810ef39cc11a3 100644
--- a/nixos/tests/kbd-setfont-decompress.nix
+++ b/nixos/tests/kbd-setfont-decompress.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }:
 
   meta.maintainers = with lib.maintainers; [ oxalica ];
 
-  machine = { ... }: {};
+  nodes.machine = { ... }: {};
 
   testScript = ''
     machine.succeed("gzip -cd ${pkgs.terminus_font}/share/consolefonts/ter-v16b.psf.gz >font.psf")
diff --git a/nixos/tests/kbd-update-search-paths-patch.nix b/nixos/tests/kbd-update-search-paths-patch.nix
index 2cdb12340b1bc..746a809c4cdf7 100644
--- a/nixos/tests/kbd-update-search-paths-patch.nix
+++ b/nixos/tests/kbd-update-search-paths-patch.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix ({ pkgs, ... }: {
   name = "kbd-update-search-paths-patch";
 
-  machine = { pkgs, options, ... }: {
+  nodes.machine = { pkgs, options, ... }: {
     console = {
       packages = options.console.packages.default ++ [ pkgs.terminus_font ];
     };
diff --git a/nixos/tests/keepassxc.nix b/nixos/tests/keepassxc.nix
index 924c137a9032d..d0f353c71e0ba 100644
--- a/nixos/tests/keepassxc.nix
+++ b/nixos/tests/keepassxc.nix
@@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ...} :
     maintainers = [ turion ];
   };
 
-  machine = { ... }:
+  nodes.machine = { ... }:
 
   {
     imports = [
diff --git a/nixos/tests/kerberos/heimdal.nix b/nixos/tests/kerberos/heimdal.nix
index 391a61cc9a90b..47f9d0285aef7 100644
--- a/nixos/tests/kerberos/heimdal.nix
+++ b/nixos/tests/kerberos/heimdal.nix
@@ -1,6 +1,6 @@
 import ../make-test-python.nix ({pkgs, ...}: {
   name = "kerberos_server-heimdal";
-  machine = { config, libs, pkgs, ...}:
+  nodes.machine = { config, libs, pkgs, ...}:
   { services.kerberos_server =
     { enable = true;
       realms = {
diff --git a/nixos/tests/kerberos/mit.nix b/nixos/tests/kerberos/mit.nix
index 93b4020d49941..b475b7e4c92bb 100644
--- a/nixos/tests/kerberos/mit.nix
+++ b/nixos/tests/kerberos/mit.nix
@@ -1,6 +1,6 @@
 import ../make-test-python.nix ({pkgs, ...}: {
   name = "kerberos_server-mit";
-  machine = { config, libs, pkgs, ...}:
+  nodes.machine = { config, libs, pkgs, ...}:
   { services.kerberos_server =
     { enable = true;
       realms = {
diff --git a/nixos/tests/kernel-generic.nix b/nixos/tests/kernel-generic.nix
index 45c5c1963a0db..f34d5d6079404 100644
--- a/nixos/tests/kernel-generic.nix
+++ b/nixos/tests/kernel-generic.nix
@@ -12,7 +12,7 @@ let
       maintainers = [ nequissimus atemu ];
     };
 
-    machine = { ... }:
+    nodes.machine = { ... }:
       {
         boot.kernelPackages = linuxPackages;
       };
diff --git a/nixos/tests/kernel-latest-ath-user-regd.nix b/nixos/tests/kernel-latest-ath-user-regd.nix
index 11a3959e692e9..09e1da9d2affe 100644
--- a/nixos/tests/kernel-latest-ath-user-regd.nix
+++ b/nixos/tests/kernel-latest-ath-user-regd.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
     maintainers = [ veehaitch ];
   };
 
-  machine = { pkgs, ... }:
+  nodes.machine = { pkgs, ... }:
     {
       boot.kernelPackages = pkgs.linuxPackages_latest;
       networking.wireless.athUserRegulatoryDomain = true;
diff --git a/nixos/tests/kexec.nix b/nixos/tests/kexec.nix
index 010f3da49846a..55b71e0999f68 100644
--- a/nixos/tests/kexec.nix
+++ b/nixos/tests/kexec.nix
@@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
     maintainers = [ eelco ];
   };
 
-  machine = { ... }:
+  nodes.machine = { ... }:
     { virtualisation.vlans = [ ]; };
 
   testScript =
diff --git a/nixos/tests/keycloak.nix b/nixos/tests/keycloak.nix
index 6367ed808e064..fce8df2b7e3a4 100644
--- a/nixos/tests/keycloak.nix
+++ b/nixos/tests/keycloak.nix
@@ -16,8 +16,7 @@ let
       };
 
       nodes = {
-        keycloak = { ... }: {
-
+        keycloak = { config, ... }: {
           security.pki.certificateFiles = [
             certs.ca.cert
           ];
@@ -36,6 +35,10 @@ let
               username = "bogus";
               passwordFile = pkgs.writeText "dbPassword" "wzf6vOCbPp6cqTH";
             };
+            plugins = with config.services.keycloak.package.plugins; [
+              keycloak-discord
+              keycloak-metrics-spi
+            ];
           };
 
           environment.systemPackages = with pkgs; [
@@ -102,8 +105,21 @@ let
           ### Realm Setup ###
 
           # Get an admin interface access token
+          keycloak.succeed("""
+              curl -sSf -d 'client_id=admin-cli' \
+                   -d 'username=admin' \
+                   -d 'password=${initialAdminPassword}' \
+                   -d 'grant_type=password' \
+                   '${frontendUrl}/realms/master/protocol/openid-connect/token' \
+                   | jq -r '"Authorization: bearer " + .access_token' >admin_auth_header
+          """)
+
+          # Register the metrics SPI
           keycloak.succeed(
-              "curl -sSf -d 'client_id=admin-cli' -d 'username=admin' -d 'password=${initialAdminPassword}' -d 'grant_type=password' '${frontendUrl}/realms/master/protocol/openid-connect/token' | jq -r '\"Authorization: bearer \" + .access_token' >admin_auth_header"
+              "${pkgs.jre}/bin/keytool -import -alias snakeoil -file ${certs.ca.cert} -storepass aaaaaa -keystore cacert.jks -noprompt",
+              "KC_OPTS='-Djavax.net.ssl.trustStore=cacert.jks -Djavax.net.ssl.trustStorePassword=aaaaaa' ${pkgs.keycloak}/bin/kcadm.sh config credentials --server '${frontendUrl}' --realm master --user admin --password '${initialAdminPassword}'",
+              "KC_OPTS='-Djavax.net.ssl.trustStore=cacert.jks -Djavax.net.ssl.trustStorePassword=aaaaaa' ${pkgs.keycloak}/bin/kcadm.sh update events/config -s 'eventsEnabled=true' -s 'adminEventsEnabled=true' -s 'eventsListeners+=metrics-listener'",
+              "curl -sSf '${frontendUrl}/realms/master/metrics' | grep '^keycloak_admin_event_UPDATE'"
           )
 
           # Publish the realm, including a test OIDC client and user
diff --git a/nixos/tests/krb5/deprecated-config.nix b/nixos/tests/krb5/deprecated-config.nix
index 9a9cafd4b13e9..aca29ae6ca2b2 100644
--- a/nixos/tests/krb5/deprecated-config.nix
+++ b/nixos/tests/krb5/deprecated-config.nix
@@ -7,7 +7,7 @@ import ../make-test-python.nix ({ pkgs, ...} : {
     maintainers = [ eqyiel ];
   };
 
-  machine =
+  nodes.machine =
     { ... }: {
       krb5 = {
         enable = true;
diff --git a/nixos/tests/krb5/example-config.nix b/nixos/tests/krb5/example-config.nix
index 0932c71dd9705..1125b02f01ca8 100644
--- a/nixos/tests/krb5/example-config.nix
+++ b/nixos/tests/krb5/example-config.nix
@@ -7,7 +7,7 @@ import ../make-test-python.nix ({ pkgs, ...} : {
     maintainers = [ eqyiel ];
   };
 
-  machine =
+  nodes.machine =
     { pkgs, ... }: {
       krb5 = {
         enable = true;
diff --git a/nixos/tests/ksm.nix b/nixos/tests/ksm.nix
index 8f84b32020ab9..026d2ee85a24a 100644
--- a/nixos/tests/ksm.nix
+++ b/nixos/tests/ksm.nix
@@ -6,7 +6,7 @@ import ./make-test-python.nix ({ lib, ...} :
     maintainers = [ rnhmjoj ];
   };
 
-  machine = { ... }: {
+  nodes.machine = { ... }: {
     imports = [ ../modules/profiles/minimal.nix ];
 
     hardware.ksm.enable = true;
diff --git a/nixos/tests/libinput.nix b/nixos/tests/libinput.nix
index 2f84aaadcd0be..9b6fa159b999c 100644
--- a/nixos/tests/libinput.nix
+++ b/nixos/tests/libinput.nix
@@ -3,7 +3,7 @@ import ./make-test-python.nix ({ ... }:
 {
   name = "libinput";
 
-  machine = { ... }:
+  nodes.machine = { ... }:
     {
       imports = [
         ./common/x11.nix
diff --git a/nixos/tests/libresprite.nix b/nixos/tests/libresprite.nix
index 1a6210e3671ae..16d272acfa0fa 100644
--- a/nixos/tests/libresprite.nix
+++ b/nixos/tests/libresprite.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     maintainers = [ fgaz ];
   };
 
-  machine = { config, pkgs, ... }: {
+  nodes.machine = { config, pkgs, ... }: {
     imports = [
       ./common/x11.nix
     ];
diff --git a/nixos/tests/lightdm.nix b/nixos/tests/lightdm.nix
index e98230ecb1794..94cebd4a630ab 100644
--- a/nixos/tests/lightdm.nix
+++ b/nixos/tests/lightdm.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
     maintainers = [ aszlig ];
   };
 
-  machine = { ... }: {
+  nodes.machine = { ... }: {
     imports = [ ./common/user-account.nix ];
     services.xserver.enable = true;
     services.xserver.displayManager.lightdm.enable = true;
diff --git a/nixos/tests/limesurvey.nix b/nixos/tests/limesurvey.nix
index b60e80be2444c..9a3193991f352 100644
--- a/nixos/tests/limesurvey.nix
+++ b/nixos/tests/limesurvey.nix
@@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
   name = "limesurvey";
   meta.maintainers = [ pkgs.lib.maintainers.aanderse ];
 
-  machine = { ... }: {
+  nodes.machine = { ... }: {
     services.limesurvey = {
       enable = true;
       virtualHost = {
diff --git a/nixos/tests/litestream.nix b/nixos/tests/litestream.nix
index 886fbfef9cf55..f9d71c526e9e7 100644
--- a/nixos/tests/litestream.nix
+++ b/nixos/tests/litestream.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
     maintainers = [ jwygoda ];
   };
 
-  machine =
+  nodes.machine =
     { pkgs, ... }:
     { services.litestream = {
         enable = true;
diff --git a/nixos/tests/login.nix b/nixos/tests/login.nix
index 4d1dcc8cc32da..0d6f81b172191 100644
--- a/nixos/tests/login.nix
+++ b/nixos/tests/login.nix
@@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }:
     maintainers = [ eelco ];
   };
 
-  machine =
+  nodes.machine =
     { pkgs, lib, ... }:
     { boot.kernelPackages = lib.mkIf latestKernel pkgs.linuxPackages_latest;
       sound.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
diff --git a/nixos/tests/logrotate.nix b/nixos/tests/logrotate.nix
index 38da8d535275c..b0685f3af9ff1 100644
--- a/nixos/tests/logrotate.nix
+++ b/nixos/tests/logrotate.nix
@@ -1,26 +1,105 @@
 # Test logrotate service works and is enabled by default
 
-import ./make-test-python.nix ({ pkgs, ...} : rec {
+let
+  importTest = { ... }: {
+    services.logrotate.settings.import = {
+      olddir = false;
+    };
+  };
+
+in
+
+import ./make-test-python.nix ({ pkgs, ... }: rec {
   name = "logrotate";
   meta = with pkgs.lib.maintainers; {
     maintainers = [ martinetd ];
   };
 
-  # default machine
-  machine = { ... }: {
+  nodes = {
+    defaultMachine = { ... }: { };
+    failingMachine = { ... }: {
+      services.logrotate.configFile = pkgs.writeText "logrotate.conf" ''
+        # self-written config file
+        su notarealuser notagroupeither
+      '';
+    };
+    machine = { config, ... }: {
+      imports = [ importTest ];
+
+      services.logrotate.settings = {
+        # remove default frequency header and add another
+        header = {
+          frequency = null;
+          delaycompress = true;
+        };
+        # extra global setting... affecting nothing
+        last_line = {
+          global = true;
+          priority = 2000;
+          shred = true;
+        };
+        # using mail somewhere should add --mail to logrotate invokation
+        sendmail = {
+          mail = "user@domain.tld";
+        };
+        # postrotate should be suffixed by 'endscript'
+        postrotate = {
+          postrotate = "touch /dev/null";
+        };
+        # check checkConfig works as expected: there is nothing to check here
+        # except that the file build passes
+        checkConf = {
+          su = "root utmp";
+          createolddir = "0750 root utmp";
+          create = "root utmp";
+          "create " = "0750 root utmp";
+        };
+        # multiple paths should be aggregated
+        multipath = {
+          files = [ "file1" "file2" ];
+        };
+        # overriding imported path should keep existing attributes
+        # (e.g. olddir is still set)
+        import = {
+          notifempty = true;
+        };
+      };
+      # extraConfig compatibility - should be added to top level, early.
+      services.logrotate.extraConfig = ''
+        nomail
+      '';
+      # paths compatibility
+      services.logrotate.paths = {
+        compat_path = {
+          path = "compat_test_path";
+        };
+        # user/group should be grouped as 'su user group'
+        compat_user = {
+          user = config.users.users.root.name;
+          group = "root";
+        };
+        # extraConfig in path should be added to block
+        compat_extraConfig = {
+          extraConfig = "dateext";
+        };
+        # keep -> rotate
+        compat_keep = {
+          keep = 1;
+        };
+      };
+    };
   };
 
   testScript =
     ''
       with subtest("whether logrotate works"):
-          machine.succeed(
-              # we must rotate once first to create logrotate stamp
-              "systemctl start logrotate.service")
+          # we must rotate once first to create logrotate stamp
+          defaultMachine.succeed("systemctl start logrotate.service")
           # we need to wait for console text once here to
           # clear console buffer up to this point for next wait
-          machine.wait_for_console_text('logrotate.service: Deactivated successfully')
+          defaultMachine.wait_for_console_text('logrotate.service: Deactivated successfully')
 
-          machine.succeed(
+          defaultMachine.succeed(
               # wtmp is present in default config.
               "rm -f /var/log/wtmp*",
               # we need to give it at least 1MB
@@ -28,10 +107,46 @@ import ./make-test-python.nix ({ pkgs, ...} : rec {
 
               # move into the future and check rotation.
               "date -s 'now + 1 month + 1 day'")
-          machine.wait_for_console_text('logrotate.service: Deactivated successfully')
-          machine.succeed(
+          defaultMachine.wait_for_console_text('logrotate.service: Deactivated successfully')
+          defaultMachine.succeed(
               # check rotate worked
               "[ -e /var/log/wtmp.1 ]",
           )
+      with subtest("default config does not have mail"):
+          defaultMachine.fail("systemctl cat logrotate.service | grep -- --mail")
+      with subtest("using mails adds mail option"):
+          machine.succeed("systemctl cat logrotate.service | grep -- --mail")
+      with subtest("check generated config matches expectation"):
+          machine.succeed(
+              # copy conf to /tmp/logrotate.conf for easy grep
+              "conf=$(systemctl cat logrotate | grep -oE '/nix/store[^ ]*logrotate.conf'); cp $conf /tmp/logrotate.conf",
+              "! grep weekly /tmp/logrotate.conf",
+              "grep -E '^delaycompress' /tmp/logrotate.conf",
+              "tail -n 1 /tmp/logrotate.conf | grep shred",
+              "sed -ne '/\"sendmail\" {/,/}/p' /tmp/logrotate.conf | grep 'mail user@domain.tld'",
+              "sed -ne '/\"postrotate\" {/,/}/p' /tmp/logrotate.conf | grep endscript",
+              "grep '\"file1\"\n\"file2\" {' /tmp/logrotate.conf",
+              "sed -ne '/\"import\" {/,/}/p' /tmp/logrotate.conf | grep noolddir",
+              "sed -ne '1,/^\"/p' /tmp/logrotate.conf | grep nomail",
+              "grep '\"compat_test_path\" {' /tmp/logrotate.conf",
+              "sed -ne '/\"compat_user\" {/,/}/p' /tmp/logrotate.conf | grep 'su root root'",
+              "sed -ne '/\"compat_extraConfig\" {/,/}/p' /tmp/logrotate.conf | grep dateext",
+              "[[ $(sed -ne '/\"compat_keep\" {/,/}/p' /tmp/logrotate.conf | grep -w rotate) = \"  rotate 1\" ]]",
+              "! sed -ne '/\"compat_keep\" {/,/}/p' /tmp/logrotate.conf | grep -w keep",
+          )
+          # also check configFile option
+          failingMachine.succeed(
+              "conf=$(systemctl cat logrotate | grep -oE '/nix/store[^ ]*logrotate.conf'); cp $conf /tmp/logrotate.conf",
+              "grep 'self-written config' /tmp/logrotate.conf",
+          )
+      with subtest("Check logrotate-checkconf service"):
+          machine.wait_for_unit("logrotate-checkconf.service")
+          # wait_for_unit also asserts for success, so wait for
+          # parent target instead and check manually.
+          failingMachine.wait_for_unit("multi-user.target")
+          info = failingMachine.get_unit_info("logrotate-checkconf.service")
+          if info["ActiveState"] != "failed":
+              raise Exception('logrotate-checkconf.service was not failed')
+
     '';
 })
diff --git a/nixos/tests/loki.nix b/nixos/tests/loki.nix
index 0c6dff3fdf137..470f80e9db635 100644
--- a/nixos/tests/loki.nix
+++ b/nixos/tests/loki.nix
@@ -7,7 +7,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }:
     maintainers = [ willibutz ];
   };
 
-  machine = { ... }: {
+  nodes.machine = { ... }: {
     services.loki = {
       enable = true;
       configFile = "${pkgs.grafana-loki.src}/cmd/loki/loki-local-config.yaml";
diff --git a/nixos/tests/lorri/default.nix b/nixos/tests/lorri/default.nix
index c33c7503993da..209b87f9f26a3 100644
--- a/nixos/tests/lorri/default.nix
+++ b/nixos/tests/lorri/default.nix
@@ -1,5 +1,5 @@
 import ../make-test-python.nix {
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     imports = [ ../../modules/profiles/minimal.nix ];
     environment.systemPackages = [ pkgs.lorri ];
   };
diff --git a/nixos/tests/lvm2/default.nix b/nixos/tests/lvm2/default.nix
new file mode 100644
index 0000000000000..2ba17809569a6
--- /dev/null
+++ b/nixos/tests/lvm2/default.nix
@@ -0,0 +1,27 @@
+{ system ? builtins.currentSystem
+, config ? { }
+, pkgs ? import ../../.. { inherit system config; }
+, lib ? pkgs.lib
+, kernelVersionsToTest ? [ "4.19" "5.4" "5.10" "5.15" "latest" ]
+}:
+
+# For quickly running a test, the nixosTests.lvm2.lvm-thinpool-linux-latest attribute is recommended
+let
+  tests = let callTest = p: lib.flip (import p) { inherit system pkgs; }; in {
+    thinpool = { test = callTest ./thinpool.nix; kernelFilter = lib.id; };
+    # we would like to test all versions, but the kernel module currently does not compile against the other versions
+    vdo = { test = callTest ./vdo.nix; kernelFilter = lib.filter (v: v == "5.15"); };
+  };
+in
+lib.listToAttrs (
+  lib.filter (x: x.value != {}) (
+    lib.flip lib.concatMap kernelVersionsToTest (version:
+      let
+        v' = lib.replaceStrings [ "." ] [ "_" ] version;
+      in
+      lib.flip lib.mapAttrsToList tests (name: t:
+        lib.nameValuePair "lvm-${name}-linux-${v'}" (lib.optionalAttrs (builtins.elem version (t.kernelFilter kernelVersionsToTest)) (t.test { kernelPackages = pkgs."linuxPackages_${v'}"; }))
+      )
+    )
+  )
+)
diff --git a/nixos/tests/lvm2/thinpool.nix b/nixos/tests/lvm2/thinpool.nix
new file mode 100644
index 0000000000000..82c6460a890a0
--- /dev/null
+++ b/nixos/tests/lvm2/thinpool.nix
@@ -0,0 +1,32 @@
+{ kernelPackages ? null }:
+import ../make-test-python.nix ({ pkgs, ... }: {
+  name = "lvm2-thinpool";
+  meta.maintainers = with pkgs.lib.maintainers; [ ajs124 ];
+
+  nodes.machine = { pkgs, lib, ... }: {
+    virtualisation.emptyDiskImages = [ 4096 ];
+    services.lvm = {
+      boot.thin.enable = true;
+      dmeventd.enable = true;
+    };
+    environment.systemPackages = with pkgs; [ xfsprogs ];
+    environment.etc."lvm/lvm.conf".text = ''
+      activation/thin_pool_autoextend_percent = 10
+      activation/thin_pool_autoextend_threshold = 80
+    '';
+    boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; };
+  };
+
+  testScript = ''
+    machine.succeed("vgcreate test_vg /dev/vdb")
+    machine.succeed("lvcreate -L 512M -T test_vg/test_thin_pool")
+    machine.succeed("lvcreate -n test_lv -V 16G --thinpool test_thin_pool test_vg")
+    machine.succeed("mkfs.xfs /dev/test_vg/test_lv")
+    machine.succeed("mkdir /mnt; mount /dev/test_vg/test_lv /mnt")
+    assert "/dev/mapper/test_vg-test_lv" == machine.succeed("findmnt -no SOURCE /mnt").strip()
+    machine.succeed("dd if=/dev/zero of=/mnt/empty.file bs=1M count=1024")
+    machine.succeed("journalctl -u dm-event.service | grep \"successfully resized\"")
+    machine.succeed("umount /mnt")
+    machine.succeed("vgchange -a n")
+  '';
+})
diff --git a/nixos/tests/lvm2/vdo.nix b/nixos/tests/lvm2/vdo.nix
new file mode 100644
index 0000000000000..5b014c2f72223
--- /dev/null
+++ b/nixos/tests/lvm2/vdo.nix
@@ -0,0 +1,27 @@
+{ kernelPackages ? null }:
+import ../make-test-python.nix ({ pkgs, ... }: {
+  name = "lvm2-vdo";
+  meta.maintainers = with pkgs.lib.maintainers; [ ajs124 ];
+
+  nodes.machine = { pkgs, lib, ... }: {
+    # Minimum required size for VDO volume: 5063921664 bytes
+    virtualisation.emptyDiskImages = [ 8192 ];
+    services.lvm = {
+      boot.vdo.enable = true;
+      dmeventd.enable = true;
+    };
+    environment.systemPackages = with pkgs; [ xfsprogs ];
+    boot = lib.mkIf (kernelPackages != null) { inherit kernelPackages; };
+  };
+
+  testScript = ''
+    machine.succeed("vgcreate test_vg /dev/vdb")
+    machine.succeed("lvcreate --type vdo -n vdo_lv -L 6G -V 12G test_vg/vdo_pool_lv")
+    machine.succeed("mkfs.xfs -K /dev/test_vg/vdo_lv")
+    machine.succeed("mkdir /mnt; mount /dev/test_vg/vdo_lv /mnt")
+    assert "/dev/mapper/test_vg-vdo_lv" == machine.succeed("findmnt -no SOURCE /mnt").strip()
+    machine.succeed("umount /mnt")
+    machine.succeed("vdostats")
+    machine.succeed("vgchange -a n")
+  '';
+})
diff --git a/nixos/tests/lxd-image-server.nix b/nixos/tests/lxd-image-server.nix
index 9f060fed38d87..fa40e33e74dd6 100644
--- a/nixos/tests/lxd-image-server.nix
+++ b/nixos/tests/lxd-image-server.nix
@@ -51,7 +51,7 @@ in {
     maintainers = [ mkg20001 ];
   };
 
-  machine = { lib, ... }: {
+  nodes.machine = { lib, ... }: {
     virtualisation = {
       cores = 2;
 
diff --git a/nixos/tests/lxd-image.nix b/nixos/tests/lxd-image.nix
index 096b9d9aba906..4930b55f19094 100644
--- a/nixos/tests/lxd-image.nix
+++ b/nixos/tests/lxd-image.nix
@@ -44,7 +44,7 @@ in {
     maintainers = [ mkg20001 ];
   };
 
-  machine = { lib, ... }: {
+  nodes.machine = { lib, ... }: {
     virtualisation = {
       # disk full otherwise
       diskSize = 2048;
diff --git a/nixos/tests/lxd-nftables.nix b/nixos/tests/lxd-nftables.nix
index a62d5a3064dfb..2930650015679 100644
--- a/nixos/tests/lxd-nftables.nix
+++ b/nixos/tests/lxd-nftables.nix
@@ -12,7 +12,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
     maintainers = [ patryk27 ];
   };
 
-  machine = { lib, ... }: {
+  nodes.machine = { lib, ... }: {
     virtualisation = {
       lxd.enable = true;
     };
diff --git a/nixos/tests/lxd.nix b/nixos/tests/lxd.nix
index 1a3b84a85cf68..81b36124cc6b2 100644
--- a/nixos/tests/lxd.nix
+++ b/nixos/tests/lxd.nix
@@ -51,7 +51,7 @@ in {
     maintainers = [ patryk27 ];
   };
 
-  machine = { lib, ... }: {
+  nodes.machine = { lib, ... }: {
     virtualisation = {
       # Since we're testing `limits.cpu`, we've gotta have a known number of
       # cores to lean on
diff --git a/nixos/tests/maestral.nix b/nixos/tests/maestral.nix
new file mode 100644
index 0000000000000..ba2e0b2f3baab
--- /dev/null
+++ b/nixos/tests/maestral.nix
@@ -0,0 +1,72 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "maestral";
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [ peterhoeg ];
+  };
+
+  nodes =
+    let
+      common = attrs:
+        pkgs.lib.recursiveUpdate
+          {
+            imports = [ ./common/user-account.nix ];
+            systemd.user.services.maestral = {
+              description = "Maestral Dropbox Client";
+              serviceConfig.Type = "exec";
+            };
+          }
+          attrs;
+
+    in
+    {
+      cli = { ... }: common {
+        systemd.user.services.maestral = {
+          wantedBy = [ "default.target" ];
+          serviceConfig.ExecStart = "${pkgs.maestral}/bin/maestral start --foreground";
+        };
+      };
+
+      gui = { ... }: common {
+        services.xserver = {
+          enable = true;
+          displayManager.sddm.enable = true;
+          displayManager.defaultSession = "plasma";
+          desktopManager.plasma5.enable = true;
+          desktopManager.plasma5.runUsingSystemd = true;
+          displayManager.autoLogin = {
+            enable = true;
+            user = "alice";
+          };
+        };
+
+        systemd.user.services = {
+          maestral = {
+            wantedBy = [ "graphical-session.target" ];
+            serviceConfig.ExecStart = "${pkgs.maestral-gui}/bin/maestral_qt";
+          };
+          # PowerDevil doesn't like our VM
+          plasma-powerdevil.enable = false;
+        };
+      };
+    };
+
+  testScript = { nodes, ... }:
+    let
+      user = nodes.cli.config.users.users.alice;
+    in
+    ''
+      start_all()
+
+      with subtest("CLI"):
+        # we need SOME way to give the user an active login session
+        cli.execute("loginctl enable-linger ${user.name}")
+        cli.systemctl("start user@${toString user.uid}")
+        cli.wait_for_unit("maestral.service", "${user.name}")
+
+      with subtest("GUI"):
+        gui.wait_for_x()
+        gui.succeed("xauth merge ${user.home}/.Xauthority")
+        gui.wait_for_window("^Desktop ")
+        gui.wait_for_unit("maestral.service", "${user.name}")
+    '';
+})
diff --git a/nixos/tests/magnetico.nix b/nixos/tests/magnetico.nix
index 8433a974f453b..ee84aacaf7a74 100644
--- a/nixos/tests/magnetico.nix
+++ b/nixos/tests/magnetico.nix
@@ -9,7 +9,7 @@ in
     maintainers = [ rnhmjoj ];
   };
 
-  machine = { ... }: {
+  nodes.machine = { ... }: {
     imports = [ ../modules/profiles/minimal.nix ];
 
     networking.firewall.allowedTCPPorts = [ 9000 ];
diff --git a/nixos/tests/mailcatcher.nix b/nixos/tests/mailcatcher.nix
index a55fba8a9950b..d7858ab354bd3 100644
--- a/nixos/tests/mailcatcher.nix
+++ b/nixos/tests/mailcatcher.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ lib, ... }:
   name = "mailcatcher";
   meta.maintainers = [ lib.maintainers.aanderse ];
 
-  machine =
+  nodes.machine =
     { pkgs, ... }:
     {
       services.mailcatcher.enable = true;
diff --git a/nixos/tests/mailhog.nix b/nixos/tests/mailhog.nix
index aece57178dd17..3508c2c0a5ea3 100644
--- a/nixos/tests/mailhog.nix
+++ b/nixos/tests/mailhog.nix
@@ -2,7 +2,7 @@ import ./make-test-python.nix ({ lib, ... }: {
   name = "mailhog";
   meta.maintainers = with lib.maintainers; [ jojosch ];
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     services.mailhog.enable = true;
 
     environment.systemPackages = with pkgs; [ swaks ];
diff --git a/nixos/tests/matomo.nix b/nixos/tests/matomo.nix
index f6b0845749cde..526a24fc4db75 100644
--- a/nixos/tests/matomo.nix
+++ b/nixos/tests/matomo.nix
@@ -7,7 +7,7 @@ with pkgs.lib;
 let
   matomoTest = package:
   makeTest {
-    machine = { config, pkgs, ... }: {
+    nodes.machine = { config, pkgs, ... }: {
       services.matomo = {
         package = package;
         enable = true;
diff --git a/nixos/tests/matrix/pantalaimon.nix b/nixos/tests/matrix/pantalaimon.nix
index 1a9894dd21596..b5d649e6517aa 100644
--- a/nixos/tests/matrix/pantalaimon.nix
+++ b/nixos/tests/matrix/pantalaimon.nix
@@ -36,7 +36,7 @@ import ../make-test-python.nix (
       maintainers = teams.matrix.members;
     };
 
-    machine = { pkgs, ... }: {
+    nodes.machine = { pkgs, ... }: {
       services.pantalaimon-headless.instances.${pantalaimonInstanceName} = {
         homeserver = "https://localhost:8448";
         listenAddress = "0.0.0.0";
diff --git a/nixos/tests/mediawiki.nix b/nixos/tests/mediawiki.nix
index 702fefefa1610..7f31d6aadfa2c 100644
--- a/nixos/tests/mediawiki.nix
+++ b/nixos/tests/mediawiki.nix
@@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "mediawiki";
   meta.maintainers = [ lib.maintainers.aanderse ];
 
-  machine =
+  nodes.machine =
     { ... }:
     { services.mediawiki.enable = true;
       services.mediawiki.virtualHost.hostName = "localhost";
diff --git a/nixos/tests/meilisearch.nix b/nixos/tests/meilisearch.nix
index c379bda74c59a..9f54aa97d6adc 100644
--- a/nixos/tests/meilisearch.nix
+++ b/nixos/tests/meilisearch.nix
@@ -12,7 +12,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
     name = "meilisearch";
     meta.maintainers = with lib.maintainers; [ Br1ght0ne ];
 
-    machine = { ... }: {
+    nodes.machine = { ... }: {
       environment.systemPackages = with pkgs; [ curl jq ];
       services.meilisearch = {
         enable = true;
diff --git a/nixos/tests/memcached.nix b/nixos/tests/memcached.nix
index 31f5627d25ceb..6549995110d79 100644
--- a/nixos/tests/memcached.nix
+++ b/nixos/tests/memcached.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix ({ pkgs, ... }: {
   name = "memcached";
 
-  machine = {
+  nodes.machine = {
     imports = [ ../modules/profiles/minimal.nix ];
     services.memcached.enable = true;
   };
diff --git a/nixos/tests/misc.nix b/nixos/tests/misc.nix
index 0587912c9a226..0d5f0fe2f044c 100644
--- a/nixos/tests/misc.nix
+++ b/nixos/tests/misc.nix
@@ -1,14 +1,14 @@
 # Miscellaneous small tests that don't warrant their own VM run.
 
-import ./make-test-python.nix ({ pkgs, ...} : rec {
+import ./make-test-python.nix ({ pkgs, ...} : let
+  foo = pkgs.writeText "foo" "Hello World";
+in {
   name = "misc";
   meta = with pkgs.lib.maintainers; {
     maintainers = [ eelco ];
   };
 
-  foo = pkgs.writeText "foo" "Hello World";
-
-  machine =
+  nodes.machine =
     { lib, ... }:
     with lib;
     { swapDevices = mkOverride 0
diff --git a/nixos/tests/mod_perl.nix b/nixos/tests/mod_perl.nix
index 29a1eb6503fdf..f29d79ea6206a 100644
--- a/nixos/tests/mod_perl.nix
+++ b/nixos/tests/mod_perl.nix
@@ -5,7 +5,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
     maintainers = [ sgo ];
   };
 
-  machine = { config, lib, pkgs, ... }: {
+  nodes.machine = { config, lib, pkgs, ... }: {
     services.httpd = {
       enable = true;
       adminAddr = "admin@localhost";
diff --git a/nixos/tests/moodle.nix b/nixos/tests/moodle.nix
index 56aa62596c078..4570e89638822 100644
--- a/nixos/tests/moodle.nix
+++ b/nixos/tests/moodle.nix
@@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "moodle";
   meta.maintainers = [ lib.maintainers.aanderse ];
 
-  machine =
+  nodes.machine =
     { ... }:
     { services.moodle.enable = true;
       services.moodle.virtualHost.hostName = "localhost";
diff --git a/nixos/tests/mtp.nix b/nixos/tests/mtp.nix
new file mode 100644
index 0000000000000..8f0835d75d3fe
--- /dev/null
+++ b/nixos/tests/mtp.nix
@@ -0,0 +1,109 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "mtp";
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [ matthewcroughan nixinator ];
+  };
+
+  nodes =
+  {
+    client = { config, pkgs, ... }: {
+      # DBUS runs only once a user session is created, which means a user has to
+      # login. Here, we log in as root. Once logged in, the gvfs-daemon service runs
+      # as UID 0 in User-0.service
+      services.getty.autologinUser = "root";
+
+      # XDG_RUNTIME_DIR is needed for running systemd-user services such as
+      # gvfs-daemon as root.
+      environment.variables.XDG_RUNTIME_DIR = "/run/user/0";
+
+      environment.systemPackages = with pkgs; [ usbutils glib jmtpfs tree ];
+      services.gvfs.enable = true;
+
+      # Creates a usb-mtp device inside the VM, which is mapped to the host's
+      # /tmp folder, it is able to write files to this location, but only has
+      # permissions to read its own creations.
+      virtualisation.qemu.options = [
+        "-usb"
+        "-device usb-mtp,rootdir=/tmp,readonly=false"
+      ];
+    };
+  };
+
+
+  testScript = { nodes, ... }:
+    let
+      # Creates a list of QEMU MTP devices matching USB ID (46f4:0004). This
+      # value can be sourced in a shell script. This is so we can loop over the
+      # devices we find, as this test may want to use more than one MTP device
+      # in future.
+      mtpDevices = pkgs.writeScript "mtpDevices.sh" ''
+        export mtpDevices=$(lsusb -d 46f4:0004 | awk {'print $2","$4'} | sed 's/[:-]/ /g')
+      '';
+      # Qemu is only capable of creating an MTP device with Picture Transfer
+      # Protocol. This means that gvfs must use gphoto2:// rather than mtp://
+      # when mounting.
+      # https://github.com/qemu/qemu/blob/970bc16f60937bcfd334f14c614bd4407c247961/hw/usb/dev-mtp.c#L278
+      gvfs = rec {
+        mountAllMtpDevices = pkgs.writeScript "mountAllMtpDevices.sh" ''
+          set -e
+          source ${mtpDevices}
+          for i in $mtpDevices
+          do
+            gio mount "gphoto2://[usb:$i]/"
+          done
+        '';
+        unmountAllMtpDevices = pkgs.writeScript "unmountAllMtpDevices.sh" ''
+          set -e
+          source ${mtpDevices}
+          for i in $mtpDevices
+          do
+            gio mount -u "gphoto2://[usb:$i]/"
+          done
+        '';
+        # gvfsTest:
+        # 1. Creates a 10M test file
+        # 2. Copies it to the device using GIO tools
+        # 3. Checks for corruption with `diff`
+        # 4. Removes the file, then unmounts the disks.
+        gvfsTest = pkgs.writeScript "gvfsTest.sh" ''
+          set -e
+          source ${mtpDevices}
+          ${mountAllMtpDevices}
+          dd if=/dev/urandom of=testFile10M bs=1M count=10
+          for i in $mtpDevices
+          do
+            gio copy ./testFile10M gphoto2://[usb:$i]/
+            ls -lah /run/user/0/gvfs/*/testFile10M
+            gio remove gphoto2://[usb:$i]/testFile10M
+          done
+          ${unmountAllMtpDevices}
+        '';
+      };
+      jmtpfs = {
+        # jmtpfsTest:
+        # 1. Mounts the device on a dir named `phone` using jmtpfs
+        # 2. Puts the current Nixpkgs libmtp version into a file
+        # 3. Checks for corruption with `diff`
+        # 4. Prints the directory tree
+        jmtpfsTest = pkgs.writeScript "jmtpfsTest.sh" ''
+          set -e
+          mkdir phone
+          jmtpfs phone
+          echo "${pkgs.libmtp.version}" > phone/tmp/testFile
+          echo "${pkgs.libmtp.version}" > testFile
+          diff phone/tmp/testFile testFile
+          tree phone
+        '';
+      };
+    in
+    # Using >&2 allows the results of the scripts to be printed to the terminal
+    # when building this test with Nix. Scripts would otherwise complete
+    # silently.
+    ''
+    start_all()
+    client.wait_for_unit("multi-user.target")
+    client.wait_for_unit("dbus.service")
+    client.succeed("${gvfs.gvfsTest} >&2")
+    client.succeed("${jmtpfs.jmtpfsTest} >&2")
+  '';
+})
diff --git a/nixos/tests/musescore.nix b/nixos/tests/musescore.nix
index 7fd80d70df124..18de0a5502390 100644
--- a/nixos/tests/musescore.nix
+++ b/nixos/tests/musescore.nix
@@ -17,7 +17,7 @@ in
     maintainers = [ turion ];
   };
 
-  machine = { ... }:
+  nodes.machine = { ... }:
 
   {
     imports = [
diff --git a/nixos/tests/mysql/mysql-autobackup.nix b/nixos/tests/mysql/mysql-autobackup.nix
index 101122f7bdef8..b49466db0a9ce 100644
--- a/nixos/tests/mysql/mysql-autobackup.nix
+++ b/nixos/tests/mysql/mysql-autobackup.nix
@@ -17,7 +17,7 @@ let
     name = "${name}-automysqlbackup";
     meta.maintainers = [ lib.maintainers.aanderse ];
 
-    machine = {
+    nodes.machine = {
       services.mysql = {
         inherit package;
         enable = true;
diff --git a/nixos/tests/nagios.nix b/nixos/tests/nagios.nix
index e4d8dabedf72c..b6e45fc103afd 100644
--- a/nixos/tests/nagios.nix
+++ b/nixos/tests/nagios.nix
@@ -5,7 +5,7 @@ import ./make-test-python.nix (
       maintainers = [ symphorien ];
     };
 
-    machine = { lib, ... }: let
+    nodes.machine = { lib, ... }: let
       writer = pkgs.writeShellScript "write" ''
         set -x
         echo "$@"  >> /tmp/notifications
diff --git a/nixos/tests/navidrome.nix b/nixos/tests/navidrome.nix
index 42e14720b2edf..62290d50fc7e9 100644
--- a/nixos/tests/navidrome.nix
+++ b/nixos/tests/navidrome.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix ({ pkgs, ... }: {
   name = "navidrome";
 
-  machine = { ... }: {
+  nodes.machine = { ... }: {
     services.navidrome.enable = true;
   };
 
diff --git a/nixos/tests/networking.nix b/nixos/tests/networking.nix
index b763cbd46657d..bd517093eb3d0 100644
--- a/nixos/tests/networking.nix
+++ b/nixos/tests/networking.nix
@@ -514,12 +514,14 @@ let
                   local = "192.168.2.1";
                   remote = "192.168.2.2";
                   dev = "eth2";
+                  ttl = 225;
                   type = "tap";
                 };
                 gre6Tunnel = {
                   local = "fd00:1234:5678:4::1";
                   remote = "fd00:1234:5678:4::2";
                   dev = "eth3";
+                  ttl = 255;
                   type = "tun6";
                 };
               };
@@ -548,12 +550,14 @@ let
                   local = "192.168.2.2";
                   remote = "192.168.2.1";
                   dev = "eth1";
+                  ttl = 225;
                   type = "tap";
                 };
                 gre6Tunnel = {
                   local = "fd00:1234:5678:4::2";
                   remote = "fd00:1234:5678:4::1";
                   dev = "eth3";
+                  ttl = 255;
                   type = "tun6";
                 };
               };
@@ -573,6 +577,7 @@ let
         ];
       testScript = { ... }:
         ''
+          import json
           start_all()
 
           with subtest("Wait for networking to be configured"):
@@ -591,6 +596,13 @@ let
               client1.wait_until_succeeds("ping -c 1 fc00::2")
 
               client2.wait_until_succeeds("ping -c 1 fc00::1")
+
+          with subtest("Test GRE tunnel TTL"):
+              links = json.loads(client1.succeed("ip -details -json link show greTunnel"))
+              assert links[0]['linkinfo']['info_data']['ttl'] == 225, "ttl not set for greTunnel"
+
+              links = json.loads(client2.succeed("ip -details -json link show gre6Tunnel"))
+              assert links[0]['linkinfo']['info_data']['ttl'] == 255, "ttl not set for gre6Tunnel"
         '';
     };
     vlan = let
@@ -628,7 +640,7 @@ let
     };
     virtual = {
       name = "Virtual";
-      machine = {
+      nodes.machine = {
         networking.useNetworkd = networkd;
         networking.useDHCP = false;
         networking.interfaces.tap0 = {
@@ -772,7 +784,7 @@ let
     };
     routes = {
       name = "routes";
-      machine = {
+      nodes.machine = {
         networking.useNetworkd = networkd;
         networking.useDHCP = false;
         networking.interfaces.eth0 = {
@@ -853,7 +865,7 @@ let
     };
     rename = {
       name = "RenameInterface";
-      machine = { pkgs, ... }: {
+      nodes.machine = { pkgs, ... }: {
         virtualisation.vlans = [ 1 ];
         networking = {
           useNetworkd = networkd;
@@ -904,7 +916,7 @@ let
       testMac = "06:00:00:00:02:00";
     in {
       name = "WlanInterface";
-      machine = { pkgs, ... }: {
+      nodes.machine = { pkgs, ... }: {
         boot.kernelModules = [ "mac80211_hwsim" ];
         networking.wlanInterfaces = {
           wlan0 = { device = "wlan0"; };
diff --git a/nixos/tests/nginx-modsecurity.nix b/nixos/tests/nginx-modsecurity.nix
index 8c53c0196d4cc..5ceee3787297d 100644
--- a/nixos/tests/nginx-modsecurity.nix
+++ b/nixos/tests/nginx-modsecurity.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "nginx-modsecurity";
 
-  machine = { config, lib, pkgs, ... }: {
+  nodes.machine = { config, lib, pkgs, ... }: {
     services.nginx = {
       enable = true;
       additionalModules = [ pkgs.nginxModules.modsecurity-nginx ];
diff --git a/nixos/tests/nginx-pubhtml.nix b/nixos/tests/nginx-pubhtml.nix
index 6e1e605628e9a..bff24c99d41a4 100644
--- a/nixos/tests/nginx-pubhtml.nix
+++ b/nixos/tests/nginx-pubhtml.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix {
   name = "nginx-pubhtml";
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     systemd.services.nginx.serviceConfig.ProtectHome = "read-only";
     services.nginx.enable = true;
     services.nginx.virtualHosts.localhost = {
diff --git a/nixos/tests/nginx-sandbox.nix b/nixos/tests/nginx-sandbox.nix
index 2d512725f2650..92ba30a09cf9f 100644
--- a/nixos/tests/nginx-sandbox.nix
+++ b/nixos/tests/nginx-sandbox.nix
@@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
 
   # This test checks the creation and reading of a file in sandbox mode. Used simple lua script.
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     nixpkgs.overlays = [
       (self: super: {
         nginx-lua = super.nginx.override {
diff --git a/nixos/tests/nginx-sso.nix b/nixos/tests/nginx-sso.nix
index aeb89859c73f1..221c5f4ed9058 100644
--- a/nixos/tests/nginx-sso.nix
+++ b/nixos/tests/nginx-sso.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     maintainers = with pkgs.lib.maintainers; [ delroth ];
   };
 
-  machine = {
+  nodes.machine = {
     services.nginx.sso = {
       enable = true;
       configuration = {
diff --git a/nixos/tests/nginx-variants.nix b/nixos/tests/nginx-variants.nix
index 96a9a2c3b8c1d..0faa0127669dd 100644
--- a/nixos/tests/nginx-variants.nix
+++ b/nixos/tests/nginx-variants.nix
@@ -13,7 +13,7 @@ builtins.listToAttrs (
         value = makeTest {
           name = "nginx-variant-${nginxName}";
 
-          machine = { pkgs, ... }: {
+          nodes.machine = { pkgs, ... }: {
             services.nginx = {
               enable = true;
               virtualHosts.localhost.locations."/".return = "200 'foo'";
diff --git a/nixos/tests/nix-serve.nix b/nixos/tests/nix-serve.nix
index ab82f4be43e68..3aa913f81107a 100644
--- a/nixos/tests/nix-serve.nix
+++ b/nixos/tests/nix-serve.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix ({ pkgs, ... }:
 {
   name = "nix-serve";
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     services.nix-serve.enable = true;
     environment.systemPackages = [
       pkgs.hello
diff --git a/nixos/tests/nixops/default.nix b/nixos/tests/nixops/default.nix
index f0834c51f0b4f..227b388150737 100644
--- a/nixos/tests/nixops/default.nix
+++ b/nixos/tests/nixops/default.nix
@@ -97,7 +97,7 @@ let
     derivations and all build dependency outputs, all the way down.
   */
   allDrvOutputs = pkg:
-    let name = lib.strings.sanitizeDerivationName "allDrvOutputs-${pkg.pname or pkg.name or "unknown"}";
+    let name = "allDrvOutputs-${pkg.pname or pkg.name or "unknown"}";
     in
     pkgs.runCommand name { refs = pkgs.writeReferencesToFile pkg.drvPath; } ''
       touch $out
diff --git a/nixos/tests/nixos-generate-config.nix b/nixos/tests/nixos-generate-config.nix
index 1dadf4992ed00..e1c2f29e06732 100644
--- a/nixos/tests/nixos-generate-config.nix
+++ b/nixos/tests/nixos-generate-config.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix ({ lib, ... } : {
   name = "nixos-generate-config";
   meta.maintainers = with lib.maintainers; [ basvandijk ];
-  machine = {
+  nodes.machine = {
     system.nixos-generate-config.configuration = ''
       # OVERRIDDEN
       { config, pkgs, ... }: {
diff --git a/nixos/tests/noto-fonts.nix b/nixos/tests/noto-fonts.nix
index 049dc766bd3b7..e4c33fe26a9e6 100644
--- a/nixos/tests/noto-fonts.nix
+++ b/nixos/tests/noto-fonts.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
     maintainers = with lib.maintainers; [ nickcao midchildan ];
   };
 
-  machine = {
+  nodes.machine = {
     imports = [ ./common/x11.nix ];
     environment.systemPackages = [ pkgs.gnome.gedit ];
     fonts = {
diff --git a/nixos/tests/novacomd.nix b/nixos/tests/novacomd.nix
index b470c117e1e15..d47d212fb2eca 100644
--- a/nixos/tests/novacomd.nix
+++ b/nixos/tests/novacomd.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
     maintainers = [ dtzWill ];
   };
 
-  machine = { ... }: {
+  nodes.machine = { ... }: {
     services.novacomd.enable = true;
   };
 
diff --git a/nixos/tests/oh-my-zsh.nix b/nixos/tests/oh-my-zsh.nix
index 57a073b086e88..1d5227e36236d 100644
--- a/nixos/tests/oh-my-zsh.nix
+++ b/nixos/tests/oh-my-zsh.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix ({ pkgs, ... }: {
   name = "oh-my-zsh";
 
-  machine = { pkgs, ... }:
+  nodes.machine = { pkgs, ... }:
 
     {
       programs.zsh = {
diff --git a/nixos/tests/openldap.nix b/nixos/tests/openldap.nix
index f1a39ad7dde2f..3c388119d5d24 100644
--- a/nixos/tests/openldap.nix
+++ b/nixos/tests/openldap.nix
@@ -25,7 +25,7 @@ in {
     inherit testScript;
     name = "openldap";
 
-    machine = { pkgs, ... }: {
+    nodes.machine = { pkgs, ... }: {
       environment.etc."openldap/root_password".text = "notapassword";
       services.openldap = {
         enable = true;
@@ -65,7 +65,7 @@ in {
     inherit testScript;
     name = "openldap";
 
-    machine = { pkgs, ... }: {
+    nodes.machine = { pkgs, ... }: {
       services.openldap = {
         enable = true;
         logLevel = "stats acl";
@@ -83,7 +83,7 @@ in {
   manualConfigDir = import ./make-test-python.nix ({ pkgs, ... }: {
     name = "openldap";
 
-    machine = { pkgs, ... }: {
+    nodes.machine = { pkgs, ... }: {
       services.openldap = {
         enable = true;
         configDir = "/var/db/slapd.d";
diff --git a/nixos/tests/opentabletdriver.nix b/nixos/tests/opentabletdriver.nix
index fe345a7bec735..b7583f6dd2648 100644
--- a/nixos/tests/opentabletdriver.nix
+++ b/nixos/tests/opentabletdriver.nix
@@ -6,7 +6,7 @@ in {
     maintainers = with pkgs.lib.maintainers; [ thiagokokada ];
   };
 
-  machine = { pkgs, ... }:
+  nodes.machine = { pkgs, ... }:
     {
       imports = [
         ./common/user-account.nix
diff --git a/nixos/tests/os-prober.nix b/nixos/tests/os-prober.nix
index 90375450fe1b2..ac05bd80c601a 100644
--- a/nixos/tests/os-prober.nix
+++ b/nixos/tests/os-prober.nix
@@ -65,7 +65,7 @@ let
 in {
   name = "os-prober";
 
-  machine = { config, pkgs, ... }: (simpleConfig // {
+  nodes.machine = { config, pkgs, ... }: (simpleConfig // {
       imports = [ ../modules/profiles/installation-device.nix
                   ../modules/profiles/base.nix ];
       virtualisation.memorySize = 1300;
diff --git a/nixos/tests/osrm-backend.nix b/nixos/tests/osrm-backend.nix
index 4067d5b1a239a..b0e65a2ae1c10 100644
--- a/nixos/tests/osrm-backend.nix
+++ b/nixos/tests/osrm-backend.nix
@@ -5,7 +5,7 @@ in {
   name = "osrm-backend";
   meta.maintainers = [ lib.maintainers.erictapen ];
 
-  machine = { config, pkgs, ... }:{
+  nodes.machine = { config, pkgs, ... }:{
 
     services.osrm = {
       enable = true;
diff --git a/nixos/tests/overlayfs.nix b/nixos/tests/overlayfs.nix
index 1768f1fea1ed1..6dab6760c5b99 100644
--- a/nixos/tests/overlayfs.nix
+++ b/nixos/tests/overlayfs.nix
@@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
   name = "overlayfs";
   meta.maintainers = with pkgs.lib.maintainers; [ bachp ];
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     virtualisation.emptyDiskImages = [ 512 ];
     networking.hostId = "deadbeef";
     environment.systemPackages = with pkgs; [ parted ];
diff --git a/nixos/tests/packagekit.nix b/nixos/tests/packagekit.nix
index 020a4e65e6d8f..5769c6c9a8d45 100644
--- a/nixos/tests/packagekit.nix
+++ b/nixos/tests/packagekit.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     maintainers = [ peterhoeg ];
   };
 
-  machine = { ... }: {
+  nodes.machine = { ... }: {
     environment.systemPackages = with pkgs; [ dbus ];
     services.packagekit = {
       enable = true;
diff --git a/nixos/tests/pam/pam-oath-login.nix b/nixos/tests/pam/pam-oath-login.nix
index 597596b211b11..8fb7553de9073 100644
--- a/nixos/tests/pam/pam-oath-login.nix
+++ b/nixos/tests/pam/pam-oath-login.nix
@@ -21,7 +21,7 @@ in
 {
   name = "pam-oath-login";
 
-  machine =
+  nodes.machine =
     { ... }:
     {
       security.pam.oath = {
diff --git a/nixos/tests/pam/pam-u2f.nix b/nixos/tests/pam/pam-u2f.nix
index 0ac6ac17be823..d7c540982cfa0 100644
--- a/nixos/tests/pam/pam-u2f.nix
+++ b/nixos/tests/pam/pam-u2f.nix
@@ -3,7 +3,7 @@ import ../make-test-python.nix ({ ... }:
 {
   name = "pam-u2f";
 
-  machine =
+  nodes.machine =
     { ... }:
     {
       security.pam.u2f = {
diff --git a/nixos/tests/pantheon.nix b/nixos/tests/pantheon.nix
index 989d29a966dfb..52f85f5c07da8 100644
--- a/nixos/tests/pantheon.nix
+++ b/nixos/tests/pantheon.nix
@@ -7,7 +7,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} :
     maintainers = teams.pantheon.members;
   };
 
-  machine = { ... }:
+  nodes.machine = { ... }:
 
   {
     imports = [ ./common/user-account.nix ];
diff --git a/nixos/tests/pgadmin4.nix b/nixos/tests/pgadmin4.nix
index 658315d3ac0cc..2f6dc3bd569ff 100644
--- a/nixos/tests/pgadmin4.nix
+++ b/nixos/tests/pgadmin4.nix
@@ -46,6 +46,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
       qrcode
       pillow
       pyotp
+      boto3
     ]);
   in
   {
diff --git a/nixos/tests/php/fpm.nix b/nixos/tests/php/fpm.nix
index 718a635a6c7c9..64b61a377e28a 100644
--- a/nixos/tests/php/fpm.nix
+++ b/nixos/tests/php/fpm.nix
@@ -2,7 +2,7 @@ import ../make-test-python.nix ({ pkgs, lib, php, ... }: {
   name = "php-${php.version}-fpm-nginx-test";
   meta.maintainers = lib.teams.php.members;
 
-  machine = { config, lib, pkgs, ... }: {
+  nodes.machine = { config, lib, pkgs, ... }: {
     environment.systemPackages = [ php ];
 
     services.nginx = {
diff --git a/nixos/tests/php/httpd.nix b/nixos/tests/php/httpd.nix
index 36d90e72d7d14..b6dfbeeaed527 100644
--- a/nixos/tests/php/httpd.nix
+++ b/nixos/tests/php/httpd.nix
@@ -2,7 +2,7 @@ import ../make-test-python.nix ({ pkgs, lib, php, ... }: {
   name = "php-${php.version}-httpd-test";
   meta.maintainers = lib.teams.php.members;
 
-  machine = { config, lib, pkgs, ... }: {
+  nodes.machine = { config, lib, pkgs, ... }: {
     services.httpd = {
       enable = true;
       adminAddr = "admin@phpfpm";
diff --git a/nixos/tests/php/pcre.nix b/nixos/tests/php/pcre.nix
index 917184b975ec6..57407477f4b8e 100644
--- a/nixos/tests/php/pcre.nix
+++ b/nixos/tests/php/pcre.nix
@@ -5,7 +5,7 @@ import ../make-test-python.nix ({ lib, php, ... }: {
   name = "php-${php.version}-httpd-pcre-jit-test";
   meta.maintainers = lib.teams.php.members;
 
-  machine = { lib, pkgs, ... }: {
+  nodes.machine = { lib, pkgs, ... }: {
     time.timeZone = "UTC";
     services.httpd = {
       enable = true;
diff --git a/nixos/tests/pict-rs.nix b/nixos/tests/pict-rs.nix
index 432fd6a50ccd8..90f01d6d5d022 100644
--- a/nixos/tests/pict-rs.nix
+++ b/nixos/tests/pict-rs.nix
@@ -3,7 +3,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
     name = "pict-rs";
     meta.maintainers = with lib.maintainers; [ happysalada ];
 
-    machine = { ... }: {
+    nodes.machine = { ... }: {
       environment.systemPackages = with pkgs; [ curl jq ];
       services.pict-rs.enable = true;
     };
diff --git a/nixos/tests/plasma5-systemd-start.nix b/nixos/tests/plasma5-systemd-start.nix
index 72de19af70cef..f584c1ec137aa 100644
--- a/nixos/tests/plasma5-systemd-start.nix
+++ b/nixos/tests/plasma5-systemd-start.nix
@@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ...} :
     maintainers = [ oxalica ];
   };
 
-  machine = { ... }:
+  nodes.machine = { ... }:
 
   {
     imports = [ ./common/user-account.nix ];
diff --git a/nixos/tests/plasma5.nix b/nixos/tests/plasma5.nix
index 5c7ea602f79e0..3358a72570e87 100644
--- a/nixos/tests/plasma5.nix
+++ b/nixos/tests/plasma5.nix
@@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ...} :
     maintainers = [ ttuegel ];
   };
 
-  machine = { ... }:
+  nodes.machine = { ... }:
 
   {
     imports = [ ./common/user-account.nix ];
diff --git a/nixos/tests/plausible.nix b/nixos/tests/plausible.nix
index 58c1dd5cf4a80..ab91e08beb349 100644
--- a/nixos/tests/plausible.nix
+++ b/nixos/tests/plausible.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
     maintainers = [ ma27 ];
   };
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     virtualisation.memorySize = 4096;
     services.plausible = {
       enable = true;
diff --git a/nixos/tests/plikd.nix b/nixos/tests/plikd.nix
index 8fec93c01f6bf..643fd5bfcd376 100644
--- a/nixos/tests/plikd.nix
+++ b/nixos/tests/plikd.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ lib, ... }: {
     maintainers = [ freezeboy ];
   };
 
-  machine = { pkgs, ... }: let
+  nodes.machine = { pkgs, ... }: let
   in {
     services.plikd.enable = true;
     environment.systemPackages = [ pkgs.plik ];
diff --git a/nixos/tests/plotinus.nix b/nixos/tests/plotinus.nix
index af38b41813b7b..b6ebab9b01989 100644
--- a/nixos/tests/plotinus.nix
+++ b/nixos/tests/plotinus.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     maintainers = pkgs.plotinus.meta.maintainers;
   };
 
-  machine =
+  nodes.machine =
     { pkgs, ... }:
 
     { imports = [ ./common/x11.nix ];
diff --git a/nixos/tests/postfix-raise-smtpd-tls-security-level.nix b/nixos/tests/postfix-raise-smtpd-tls-security-level.nix
index 5fad1fed75b20..2a6c85a3a9202 100644
--- a/nixos/tests/postfix-raise-smtpd-tls-security-level.nix
+++ b/nixos/tests/postfix-raise-smtpd-tls-security-level.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix {
   name = "postfix";
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     imports = [ common/user-account.nix ];
     services.postfix = {
       enable = true;
diff --git a/nixos/tests/postfix.nix b/nixos/tests/postfix.nix
index 6d22b4edba0a2..1dbe6a4c51934 100644
--- a/nixos/tests/postfix.nix
+++ b/nixos/tests/postfix.nix
@@ -5,7 +5,7 @@ in
 import ./make-test-python.nix {
   name = "postfix";
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     imports = [ common/user-account.nix ];
     services.postfix = {
       enable = true;
diff --git a/nixos/tests/postgresql-wal-receiver.nix b/nixos/tests/postgresql-wal-receiver.nix
index 0e8b3bfd6c34f..ae2708546f5db 100644
--- a/nixos/tests/postgresql-wal-receiver.nix
+++ b/nixos/tests/postgresql-wal-receiver.nix
@@ -31,7 +31,7 @@ let
         name = "postgresql-wal-receiver-${postgresqlPackage}";
         meta.maintainers = with lib.maintainers; [ pacien ];
 
-        machine = { ... }: {
+        nodes.machine = { ... }: {
           services.postgresql = {
             package = pkg;
             enable = true;
diff --git a/nixos/tests/postgresql.nix b/nixos/tests/postgresql.nix
index 2b487c20a6258..7864f5d6ff32c 100644
--- a/nixos/tests/postgresql.nix
+++ b/nixos/tests/postgresql.nix
@@ -27,7 +27,7 @@ let
       maintainers = [ zagy ];
     };
 
-    machine = {...}:
+    nodes.machine = {...}:
       {
         services.postgresql = {
           enable = true;
diff --git a/nixos/tests/power-profiles-daemon.nix b/nixos/tests/power-profiles-daemon.nix
index e073677bee9d7..278e94711830a 100644
--- a/nixos/tests/power-profiles-daemon.nix
+++ b/nixos/tests/power-profiles-daemon.nix
@@ -5,7 +5,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
   meta = with pkgs.lib.maintainers; {
     maintainers = [ mvnetbiz ];
   };
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     services.power-profiles-daemon.enable = true;
     environment.systemPackages = [ pkgs.glib ];
   };
diff --git a/nixos/tests/powerdns.nix b/nixos/tests/powerdns.nix
index d025934ad2b37..70060bad87b69 100644
--- a/nixos/tests/powerdns.nix
+++ b/nixos/tests/powerdns.nix
@@ -10,6 +10,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
     services.powerdns.extraConfig = ''
       launch=gmysql
       gmysql-user=pdns
+      zone-cache-refresh-interval=0
     '';
 
     services.mysql = {
diff --git a/nixos/tests/predictable-interface-names.nix b/nixos/tests/predictable-interface-names.nix
index c0b472638a14d..08773120bc127 100644
--- a/nixos/tests/predictable-interface-names.nix
+++ b/nixos/tests/predictable-interface-names.nix
@@ -16,7 +16,7 @@ in pkgs.lib.listToAttrs (builtins.map ({ predictable, withNetworkd }: {
     name = "${if predictable then "" else "un"}predictableInterfaceNames${if withNetworkd then "-with-networkd" else ""}";
     meta = {};
 
-    machine = { lib, ... }: {
+    nodes.machine = { lib, ... }: {
       networking.usePredictableInterfaceNames = lib.mkForce predictable;
       networking.useNetworkd = withNetworkd;
       networking.dhcpcd.enable = !withNetworkd;
diff --git a/nixos/tests/privacyidea.nix b/nixos/tests/privacyidea.nix
index c1141465ec24e..fb072514dd90f 100644
--- a/nixos/tests/privacyidea.nix
+++ b/nixos/tests/privacyidea.nix
@@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ...} : rec {
     maintainers = [ fpletz ];
   };
 
-  machine = { ... }: {
+  nodes.machine = { ... }: {
     virtualisation.cores = 2;
 
     services.privacyidea = {
diff --git a/nixos/tests/privoxy.nix b/nixos/tests/privoxy.nix
index d16cc498691fd..47072ce4b0afb 100644
--- a/nixos/tests/privoxy.nix
+++ b/nixos/tests/privoxy.nix
@@ -33,7 +33,7 @@ in
     maintainers = [ rnhmjoj ];
   };
 
-  machine = { ... }: {
+  nodes.machine = { ... }: {
     services.nginx.enable = true;
     services.nginx.virtualHosts."example.com" = {
       addSSL = true;
diff --git a/nixos/tests/pt2-clone.nix b/nixos/tests/pt2-clone.nix
index 364920c398711..ea4329c4a9806 100644
--- a/nixos/tests/pt2-clone.nix
+++ b/nixos/tests/pt2-clone.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     maintainers = [ fgaz ];
   };
 
-  machine = { config, pkgs, ... }: {
+  nodes.machine = { config, pkgs, ... }: {
     imports = [
       ./common/x11.nix
     ];
diff --git a/nixos/tests/pulseaudio.nix b/nixos/tests/pulseaudio.nix
index 4e2ce679acd71..cfdc61bc6c2b8 100644
--- a/nixos/tests/pulseaudio.nix
+++ b/nixos/tests/pulseaudio.nix
@@ -27,7 +27,7 @@ let
           maintainers = [ synthetica ] ++ pkgs.pulseaudio.meta.maintainers;
         };
 
-        machine = { ... }:
+        nodes.machine = { ... }:
 
           {
             imports = [ ./common/wayland-cage.nix ];
diff --git a/nixos/tests/qboot.nix b/nixos/tests/qboot.nix
index 12aef6decfaed..29d999be58e5b 100644
--- a/nixos/tests/qboot.nix
+++ b/nixos/tests/qboot.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix ({ pkgs, ...} : {
   name = "qboot";
 
-  machine = { ... }: {
+  nodes.machine = { ... }: {
     virtualisation.bios = pkgs.qboot;
   };
 
diff --git a/nixos/tests/rabbitmq.nix b/nixos/tests/rabbitmq.nix
index 03f1fa46d29e3..831335d8c5186 100644
--- a/nixos/tests/rabbitmq.nix
+++ b/nixos/tests/rabbitmq.nix
@@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     maintainers = [ eelco offline ];
   };
 
-  machine = {
+  nodes.machine = {
     services.rabbitmq = {
       enable = true;
       managementPlugin.enable = true;
diff --git a/nixos/tests/radicale.nix b/nixos/tests/radicale.nix
index 5101628a682c6..66650dce4a008 100644
--- a/nixos/tests/radicale.nix
+++ b/nixos/tests/radicale.nix
@@ -11,7 +11,7 @@ in {
   name = "radicale3";
   meta.maintainers = with lib.maintainers; [ dotlambda ];
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     services.radicale = {
       enable = true;
       settings = {
diff --git a/nixos/tests/rasdaemon.nix b/nixos/tests/rasdaemon.nix
index e4bd8d96a8d53..7f30a3b81ab55 100644
--- a/nixos/tests/rasdaemon.nix
+++ b/nixos/tests/rasdaemon.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... } : {
     maintainers = [ evils ];
   };
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     imports = [ ../modules/profiles/minimal.nix ];
     hardware.rasdaemon = {
       enable = true;
diff --git a/nixos/tests/redmine.nix b/nixos/tests/redmine.nix
index 3866a1f528c05..621b3e6a36eee 100644
--- a/nixos/tests/redmine.nix
+++ b/nixos/tests/redmine.nix
@@ -9,7 +9,7 @@ with pkgs.lib;
 let
   redmineTest = { name, type }: makeTest {
     name = "redmine-${name}";
-    machine = { config, pkgs, ... }: {
+    nodes.machine = { config, pkgs, ... }: {
       services.redmine = {
         enable = true;
         package = pkgs.redmine;
diff --git a/nixos/tests/restart-by-activation-script.nix b/nixos/tests/restart-by-activation-script.nix
index 0eec292ea9e2b..0ac079e0101e0 100644
--- a/nixos/tests/restart-by-activation-script.nix
+++ b/nixos/tests/restart-by-activation-script.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
     maintainers = [ das_j ];
   };
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     imports = [ ../modules/profiles/minimal.nix ];
 
     systemd.services.restart-me = {
diff --git a/nixos/tests/retroarch.nix b/nixos/tests/retroarch.nix
index 4c96f9eabc824..c506ed02da89b 100644
--- a/nixos/tests/retroarch.nix
+++ b/nixos/tests/retroarch.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
     name = "retroarch";
     meta = with pkgs.lib.maintainers; { maintainers = [ j0hax ]; };
 
-    machine = { ... }:
+    nodes.machine = { ... }:
 
       {
         imports = [ ./common/user-account.nix ];
diff --git a/nixos/tests/riak.nix b/nixos/tests/riak.nix
index 3dd4e333d6691..e75d40fa25695 100644
--- a/nixos/tests/riak.nix
+++ b/nixos/tests/riak.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: {
     maintainers = [ Br1ght0ne ];
   };
 
-  machine = {
+  nodes.machine = {
     services.riak.enable = true;
     services.riak.package = pkgs.riak;
   };
diff --git a/nixos/tests/rspamd.nix b/nixos/tests/rspamd.nix
index f0ccfe7ea0e6a..26895fbad3f3b 100644
--- a/nixos/tests/rspamd.nix
+++ b/nixos/tests/rspamd.nix
@@ -22,7 +22,7 @@ let
   '';
   simple = name: enableIPv6: makeTest {
     name = "rspamd-${name}";
-    machine = {
+    nodes.machine = {
       services.rspamd.enable = true;
       networking.enableIPv6 = enableIPv6;
     };
@@ -52,7 +52,7 @@ in
   ipv4only = simple "ipv4only" false;
   deprecated = makeTest {
     name = "rspamd-deprecated";
-    machine = {
+    nodes.machine = {
       services.rspamd = {
         enable = true;
         workers.normal.bindSockets = [{
@@ -91,7 +91,7 @@ in
 
   bindports = makeTest {
     name = "rspamd-bindports";
-    machine = {
+    nodes.machine = {
       services.rspamd = {
         enable = true;
         workers.normal.bindSockets = [{
@@ -152,7 +152,7 @@ in
   };
   customLuaRules = makeTest {
     name = "rspamd-custom-lua-rules";
-    machine = {
+    nodes.machine = {
       environment.etc."tests/no-muh.eml".text = ''
         From: Sheep1<bah@example.com>
         To: Sheep2<mah@example.com>
@@ -256,7 +256,7 @@ in
   };
   postfixIntegration = makeTest {
     name = "rspamd-postfix-integration";
-    machine = {
+    nodes.machine = {
       environment.systemPackages = with pkgs; [ msmtp ];
       environment.etc."tests/gtube.eml".text = ''
         From: Sheep1<bah@example.com>
diff --git a/nixos/tests/rstudio-server.nix b/nixos/tests/rstudio-server.nix
index c7ac7670fbd42..dd5fe3e5b4400 100644
--- a/nixos/tests/rstudio-server.nix
+++ b/nixos/tests/rstudio-server.nix
@@ -14,12 +14,6 @@ import ./make-test-python.nix ({ pkgs, ... }:
       };
     };
 
-    users.testuser = {
-      uid = 1000;
-      group = "testgroup";
-    };
-    groups.testgroup.gid = 1000;
-
     testScript = ''
       machine.wait_for_unit("rstudio-server.service")
       machine.succeed("curl -f -vvv -s http://127.0.0.1:8787")
diff --git a/nixos/tests/rsyslogd.nix b/nixos/tests/rsyslogd.nix
index f35db3bd44b83..049acdcd43934 100644
--- a/nixos/tests/rsyslogd.nix
+++ b/nixos/tests/rsyslogd.nix
@@ -11,7 +11,7 @@ with pkgs.lib;
     name = "rsyslogd-test1";
     meta.maintainers = [ pkgs.lib.maintainers.aanderse ];
 
-    machine = { config, pkgs, ... }: {
+    nodes.machine = { config, pkgs, ... }: {
       services.rsyslogd.enable = true;
       services.journald.forwardToSyslog = false;
     };
@@ -27,7 +27,7 @@ with pkgs.lib;
     name = "rsyslogd-test2";
     meta.maintainers = [ pkgs.lib.maintainers.aanderse ];
 
-    machine = { config, pkgs, ... }: {
+    nodes.machine = { config, pkgs, ... }: {
       services.rsyslogd.enable = true;
     };
 
diff --git a/nixos/tests/sabnzbd.nix b/nixos/tests/sabnzbd.nix
index fb35b212b493b..075bd0b1fe093 100644
--- a/nixos/tests/sabnzbd.nix
+++ b/nixos/tests/sabnzbd.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
     maintainers = with maintainers; [ jojosch ];
   };
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     services.sabnzbd = {
       enable = true;
     };
diff --git a/nixos/tests/sddm.nix b/nixos/tests/sddm.nix
index d7c65fa33d67c..c76a9683e66d0 100644
--- a/nixos/tests/sddm.nix
+++ b/nixos/tests/sddm.nix
@@ -12,7 +12,7 @@ let
     default = {
       name = "sddm";
 
-      machine = { ... }: {
+      nodes.machine = { ... }: {
         imports = [ ./common/user-account.nix ];
         services.xserver.enable = true;
         services.xserver.displayManager.sddm.enable = true;
@@ -41,7 +41,7 @@ let
         maintainers = [ ttuegel ];
       };
 
-      machine = { ... }: {
+      nodes.machine = { ... }: {
         imports = [ ./common/user-account.nix ];
         services.xserver.enable = true;
         services.xserver.displayManager = {
diff --git a/nixos/tests/sfxr-qt.nix b/nixos/tests/sfxr-qt.nix
new file mode 100644
index 0000000000000..976b9b11fc66a
--- /dev/null
+++ b/nixos/tests/sfxr-qt.nix
@@ -0,0 +1,32 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "sfxr-qt";
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [ fgaz ];
+  };
+
+  machine = { config, pkgs, ... }: {
+    imports = [
+      ./common/x11.nix
+    ];
+
+    services.xserver.enable = true;
+    sound.enable = true;
+    environment.systemPackages = [ pkgs.sfxr-qt ];
+  };
+
+  enableOCR = true;
+
+  testScript =
+    ''
+      machine.wait_for_x()
+      # Add a dummy sound card, or the program won't start
+      machine.execute("modprobe snd-dummy")
+
+      machine.execute("sfxr-qt >&2 &")
+
+      machine.wait_for_window(r"sfxr")
+      machine.sleep(10)
+      machine.wait_for_text("requency")
+      machine.screenshot("screen")
+    '';
+})
diff --git a/nixos/tests/shattered-pixel-dungeon.nix b/nixos/tests/shattered-pixel-dungeon.nix
index d4e5de22ab9d0..a256bbdfd7357 100644
--- a/nixos/tests/shattered-pixel-dungeon.nix
+++ b/nixos/tests/shattered-pixel-dungeon.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     maintainers = [ fgaz ];
   };
 
-  machine = { config, pkgs, ... }: {
+  nodes.machine = { config, pkgs, ... }: {
     imports = [
       ./common/x11.nix
     ];
diff --git a/nixos/tests/shiori.nix b/nixos/tests/shiori.nix
index 6c59c394009e6..d0f68b903f8c3 100644
--- a/nixos/tests/shiori.nix
+++ b/nixos/tests/shiori.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...}:
   name = "shiori";
   meta.maintainers = with lib.maintainers; [ minijackson ];
 
-  machine =
+  nodes.machine =
     { ... }:
     { services.shiori.enable = true; };
 
diff --git a/nixos/tests/signal-desktop.nix b/nixos/tests/signal-desktop.nix
index 8c72306299230..fbe9cdf84d05a 100644
--- a/nixos/tests/signal-desktop.nix
+++ b/nixos/tests/signal-desktop.nix
@@ -16,7 +16,7 @@ in {
     maintainers = [ flokli primeos ];
   };
 
-  machine = { ... }:
+  nodes.machine = { ... }:
 
   {
     imports = [
diff --git a/nixos/tests/simple.nix b/nixos/tests/simple.nix
index b4d90f750ecfb..c36287b4e843b 100644
--- a/nixos/tests/simple.nix
+++ b/nixos/tests/simple.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
     maintainers = [ eelco ];
   };
 
-  machine = { ... }: {
+  nodes.machine = { ... }: {
     imports = [ ../modules/profiles/minimal.nix ];
   };
 
diff --git a/nixos/tests/snapper.nix b/nixos/tests/snapper.nix
index 098d8d9d72f55..651adc8934d38 100644
--- a/nixos/tests/snapper.nix
+++ b/nixos/tests/snapper.nix
@@ -2,7 +2,7 @@ import ./make-test-python.nix ({ ... }:
 {
   name = "snapper";
 
-  machine = { pkgs, lib, ... }: {
+  nodes.machine = { pkgs, lib, ... }: {
     boot.initrd.postDeviceCommands = ''
       ${pkgs.btrfs-progs}/bin/mkfs.btrfs -f -L aux /dev/vdb
     '';
diff --git a/nixos/tests/soapui.nix b/nixos/tests/soapui.nix
index 76a87ed5efa1c..e4ce3888fd437 100644
--- a/nixos/tests/soapui.nix
+++ b/nixos/tests/soapui.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     maintainers = [ asbachb ];
   };
 
-  machine = { config, pkgs, ... }: {
+  nodes.machine = { config, pkgs, ... }: {
     imports = [
       ./common/x11.nix
     ];
diff --git a/nixos/tests/solr.nix b/nixos/tests/solr.nix
index 86efe87c70783..33afe9d788f78 100644
--- a/nixos/tests/solr.nix
+++ b/nixos/tests/solr.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
   name = "solr";
   meta.maintainers = [ pkgs.lib.maintainers.aanderse ];
 
-  machine =
+  nodes.machine =
     { config, pkgs, ... }:
     {
       # Ensure the virtual machine has enough memory for Solr to avoid the following error:
diff --git a/nixos/tests/sourcehut.nix b/nixos/tests/sourcehut.nix
index 55757e35f9b43..34a60247e00e5 100644
--- a/nixos/tests/sourcehut.nix
+++ b/nixos/tests/sourcehut.nix
@@ -119,7 +119,7 @@ in
 
   meta.maintainers = [ pkgs.lib.maintainers.tomberek ];
 
-  machine = { config, pkgs, nodes, ... }: {
+  nodes.machine = { config, pkgs, nodes, ... }: {
     # buildsrht needs space
     virtualisation.diskSize = 4 * 1024;
     virtualisation.memorySize = 2 * 1024;
diff --git a/nixos/tests/sssd-ldap.nix b/nixos/tests/sssd-ldap.nix
index 5c58eaef7146f..f816c0652cc55 100644
--- a/nixos/tests/sssd-ldap.nix
+++ b/nixos/tests/sssd-ldap.nix
@@ -13,7 +13,7 @@ in import ./make-test-python.nix ({pkgs, ...}: {
     maintainers = [ bbigras ];
   };
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     services.openldap = {
       enable = true;
       settings = {
diff --git a/nixos/tests/sssd.nix b/nixos/tests/sssd.nix
index 5c1abdca6aef4..25527cb59a59b 100644
--- a/nixos/tests/sssd.nix
+++ b/nixos/tests/sssd.nix
@@ -5,7 +5,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
   meta = with pkgs.lib.maintainers; {
     maintainers = [ bbigras ];
   };
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     services.sssd.enable = true;
   };
 
diff --git a/nixos/tests/starship.nix b/nixos/tests/starship.nix
index 33e9a72f70000..48a4be6caf176 100644
--- a/nixos/tests/starship.nix
+++ b/nixos/tests/starship.nix
@@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
   name = "starship";
   meta.maintainers = pkgs.starship.meta.maintainers;
 
-  machine = {
+  nodes.machine = {
     programs = {
       fish.enable = true;
       zsh.enable = true;
diff --git a/nixos/tests/step-ca.nix b/nixos/tests/step-ca.nix
index b22bcb060f2bf..f21bd5366266a 100644
--- a/nixos/tests/step-ca.nix
+++ b/nixos/tests/step-ca.nix
@@ -42,8 +42,8 @@ import ./make-test-python.nix ({ pkgs, ... }:
 
         caclient =
           { config, pkgs, ... }: {
-            security.acme.server = "https://caserver:8443/acme/acme/directory";
-            security.acme.email = "root@example.org";
+            security.acme.defaults.server = "https://caserver:8443/acme/acme/directory";
+            security.acme.defaults.email = "root@example.org";
             security.acme.acceptTerms = true;
 
             security.pki.certificateFiles = [ "${test-certificates}/root_ca.crt" ];
diff --git a/nixos/tests/sway.nix b/nixos/tests/sway.nix
index 1e9e146c4b6ce..8f95f2a030d1b 100644
--- a/nixos/tests/sway.nix
+++ b/nixos/tests/sway.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
     maintainers = with lib.maintainers; [ primeos synthetica ];
   };
 
-  machine = { config, ... }: {
+  nodes.machine = { config, ... }: {
     # Automatically login on tty1 as a normal user:
     imports = [ ./common/user-account.nix ];
     services.getty.autologinUser = "alice";
diff --git a/nixos/tests/sympa.nix b/nixos/tests/sympa.nix
index aad7c95b6c99c..76ca17d0a1890 100644
--- a/nixos/tests/sympa.nix
+++ b/nixos/tests/sympa.nix
@@ -2,7 +2,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "sympa";
   meta.maintainers = with lib.maintainers; [ mmilata ];
 
-  machine =
+  nodes.machine =
     { ... }:
     {
 
diff --git a/nixos/tests/syncthing-init.nix b/nixos/tests/syncthing-init.nix
index 8b60ad7faf090..fcd90739e6a55 100644
--- a/nixos/tests/syncthing-init.nix
+++ b/nixos/tests/syncthing-init.nix
@@ -6,7 +6,7 @@ in {
   name = "syncthing-init";
   meta.maintainers = with pkgs.lib.maintainers; [ lassulus ];
 
-  machine = {
+  nodes.machine = {
     services.syncthing = {
       enable = true;
       devices.testDevice = {
diff --git a/nixos/tests/syncthing-relay.nix b/nixos/tests/syncthing-relay.nix
index a0233c969ec06..3d70b1eda7b2a 100644
--- a/nixos/tests/syncthing-relay.nix
+++ b/nixos/tests/syncthing-relay.nix
@@ -2,7 +2,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: {
   name = "syncthing-relay";
   meta.maintainers = with pkgs.lib.maintainers; [ delroth ];
 
-  machine = {
+  nodes.machine = {
     environment.systemPackages = [ pkgs.jq ];
     services.syncthing.relay = {
       enable = true;
diff --git a/nixos/tests/systemd-analyze.nix b/nixos/tests/systemd-analyze.nix
index 186f5aee7b85e..31588e2b41aa5 100644
--- a/nixos/tests/systemd-analyze.nix
+++ b/nixos/tests/systemd-analyze.nix
@@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... }:
     maintainers = [ raskin ];
   };
 
-  machine =
+  nodes.machine =
     { pkgs, lib, ... }:
     { boot.kernelPackages = lib.mkIf latestKernel pkgs.linuxPackages_latest;
       sound.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
diff --git a/nixos/tests/systemd-binfmt.nix b/nixos/tests/systemd-binfmt.nix
index a3a6efac3e4dc..b16fda0ddb1a6 100644
--- a/nixos/tests/systemd-binfmt.nix
+++ b/nixos/tests/systemd-binfmt.nix
@@ -31,7 +31,7 @@ let
 in {
   basic = makeTest {
     name = "systemd-binfmt";
-    machine = {
+    nodes.machine = {
       boot.binfmt.emulatedSystems = [
         "armv7l-linux"
         "aarch64-linux"
@@ -56,7 +56,7 @@ in {
 
   preserveArgvZero = makeTest {
     name = "systemd-binfmt-preserve-argv0";
-    machine = {
+    nodes.machine = {
       boot.binfmt.emulatedSystems = [
         "aarch64-linux"
       ];
@@ -71,7 +71,7 @@ in {
 
   ldPreload = makeTest {
     name = "systemd-binfmt-ld-preload";
-    machine = {
+    nodes.machine = {
       boot.binfmt.emulatedSystems = [
         "aarch64-linux"
       ];
diff --git a/nixos/tests/systemd-boot.nix b/nixos/tests/systemd-boot.nix
index 51cfd82e6c4bb..039e6bdd9d5ab 100644
--- a/nixos/tests/systemd-boot.nix
+++ b/nixos/tests/systemd-boot.nix
@@ -20,7 +20,7 @@ in
     name = "systemd-boot";
     meta.maintainers = with pkgs.lib.maintainers; [ danielfullmer ];
 
-    machine = common;
+    nodes.machine = common;
 
     testScript = ''
       machine.start()
@@ -44,7 +44,7 @@ in
     name = "systemd-boot-specialisation";
     meta.maintainers = with pkgs.lib.maintainers; [ lukegb ];
 
-    machine = { pkgs, lib, ... }: {
+    nodes.machine = { pkgs, lib, ... }: {
       imports = [ common ];
       specialisation.something.configuration = {};
     };
@@ -67,7 +67,7 @@ in
     name = "systemd-boot-fallback";
     meta.maintainers = with pkgs.lib.maintainers; [ danielfullmer ];
 
-    machine = { pkgs, lib, ... }: {
+    nodes.machine = { pkgs, lib, ... }: {
       imports = [ common ];
       boot.loader.efi.canTouchEfiVariables = mkForce false;
     };
@@ -93,7 +93,7 @@ in
     name = "systemd-boot-update";
     meta.maintainers = with pkgs.lib.maintainers; [ danielfullmer ];
 
-    machine = common;
+    nodes.machine = common;
 
     testScript = ''
       machine.succeed("mount -o remount,rw /boot")
@@ -115,7 +115,7 @@ in
     name = "systemd-boot-memtest86";
     meta.maintainers = with pkgs.lib.maintainers; [ Enzime ];
 
-    machine = { pkgs, lib, ... }: {
+    nodes.machine = { pkgs, lib, ... }: {
       imports = [ common ];
       boot.loader.systemd-boot.memtest86.enable = true;
       nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
@@ -133,7 +133,7 @@ in
     name = "systemd-boot-netbootxyz";
     meta.maintainers = with pkgs.lib.maintainers; [ Enzime ];
 
-    machine = { pkgs, lib, ... }: {
+    nodes.machine = { pkgs, lib, ... }: {
       imports = [ common ];
       boot.loader.systemd-boot.netbootxyz.enable = true;
     };
@@ -148,7 +148,7 @@ in
     name = "systemd-boot-entry-filename";
     meta.maintainers = with pkgs.lib.maintainers; [ Enzime ];
 
-    machine = { pkgs, lib, ... }: {
+    nodes.machine = { pkgs, lib, ... }: {
       imports = [ common ];
       boot.loader.systemd-boot.memtest86.enable = true;
       boot.loader.systemd-boot.memtest86.entryFilename = "apple.conf";
@@ -168,7 +168,7 @@ in
     name = "systemd-boot-extra-entries";
     meta.maintainers = with pkgs.lib.maintainers; [ Enzime ];
 
-    machine = { pkgs, lib, ... }: {
+    nodes.machine = { pkgs, lib, ... }: {
       imports = [ common ];
       boot.loader.systemd-boot.extraEntries = {
         "banana.conf" = ''
@@ -187,7 +187,7 @@ in
     name = "systemd-boot-extra-files";
     meta.maintainers = with pkgs.lib.maintainers; [ Enzime ];
 
-    machine = { pkgs, lib, ... }: {
+    nodes.machine = { pkgs, lib, ... }: {
       imports = [ common ];
       boot.loader.systemd-boot.extraFiles = {
         "efi/fruits/tomato.efi" = pkgs.netbootxyz-efi;
diff --git a/nixos/tests/systemd-confinement.nix b/nixos/tests/systemd-confinement.nix
index 3181af309a6e2..bde5b770ea50d 100644
--- a/nixos/tests/systemd-confinement.nix
+++ b/nixos/tests/systemd-confinement.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix {
   name = "systemd-confinement";
 
-  machine = { pkgs, lib, ... }: let
+  nodes.machine = { pkgs, lib, ... }: let
     testServer = pkgs.writeScript "testserver.sh" ''
       #!${pkgs.runtimeShell}
       export PATH=${lib.escapeShellArg "${pkgs.coreutils}/bin"}
diff --git a/nixos/tests/systemd-cryptenroll.nix b/nixos/tests/systemd-cryptenroll.nix
index 49634ef65672c..055ae7d1681f2 100644
--- a/nixos/tests/systemd-cryptenroll.nix
+++ b/nixos/tests/systemd-cryptenroll.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     maintainers = [ ymatsiuk ];
   };
 
-  machine = { pkgs, lib, ... }: {
+  nodes.machine = { pkgs, lib, ... }: {
     environment.systemPackages = [ pkgs.cryptsetup ];
     virtualisation = {
       emptyDiskImages = [ 512 ];
diff --git a/nixos/tests/systemd-escaping.nix b/nixos/tests/systemd-escaping.nix
index 7f93eb5e4f70c..29d2ed1aa3523 100644
--- a/nixos/tests/systemd-escaping.nix
+++ b/nixos/tests/systemd-escaping.nix
@@ -14,7 +14,7 @@ in
 {
   name = "systemd-escaping";
 
-  machine = { pkgs, lib, utils, ... }: {
+  nodes.machine = { pkgs, lib, utils, ... }: {
     systemd.services.echo =
       assert !(builtins.tryEval (utils.escapeSystemdExecArgs [ [] ])).success;
       assert !(builtins.tryEval (utils.escapeSystemdExecArgs [ {} ])).success;
diff --git a/nixos/tests/systemd-initrd-simple.nix b/nixos/tests/systemd-initrd-simple.nix
new file mode 100644
index 0000000000000..ba62cdf3bbc77
--- /dev/null
+++ b/nixos/tests/systemd-initrd-simple.nix
@@ -0,0 +1,27 @@
+import ./make-test-python.nix ({ lib, pkgs, ... }: {
+  name = "systemd-initrd-simple";
+
+  machine = { pkgs, ... }: {
+    boot.initrd.systemd = {
+      enable = true;
+      emergencyAccess = true;
+    };
+    fileSystems = lib.mkVMOverride {
+      "/".autoResize = true;
+    };
+  };
+
+  testScript = ''
+    import subprocess
+
+    oldAvail = machine.succeed("df --output=avail / | sed 1d")
+    machine.shutdown()
+
+    subprocess.check_call(["qemu-img", "resize", "vm-state-machine/machine.qcow2", "+1G"])
+
+    machine.start()
+    newAvail = machine.succeed("df --output=avail / | sed 1d")
+
+    assert int(oldAvail) < int(newAvail), "File system did not grow"
+  '';
+})
diff --git a/nixos/tests/systemd-journal.nix b/nixos/tests/systemd-journal.nix
index 6ab7c72463181..d2063a3b9a44e 100644
--- a/nixos/tests/systemd-journal.nix
+++ b/nixos/tests/systemd-journal.nix
@@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
     maintainers = [ lewo ];
   };
 
-  machine = { pkgs, lib, ... }: {
+  nodes.machine = { pkgs, lib, ... }: {
     services.journald.enableHttpGateway = true;
   };
 
diff --git a/nixos/tests/systemd-machinectl.nix b/nixos/tests/systemd-machinectl.nix
index 4fc5864357c00..ce0c56a360e96 100644
--- a/nixos/tests/systemd-machinectl.nix
+++ b/nixos/tests/systemd-machinectl.nix
@@ -28,7 +28,7 @@ import ./make-test-python.nix (
   {
     name = "systemd-machinectl";
 
-    machine = { lib, ... }: {
+    nodes.machine = { lib, ... }: {
       # use networkd to obtain systemd network setup
       networking.useNetworkd = true;
       networking.useDHCP = false;
diff --git a/nixos/tests/systemd-unit-path.nix b/nixos/tests/systemd-misc.nix
index 5998a187188a1..0ddd51100463e 100644
--- a/nixos/tests/systemd-unit-path.nix
+++ b/nixos/tests/systemd-misc.nix
@@ -29,10 +29,23 @@ let
   };
 in
 {
-  name = "systemd-unit-path";
+  name = "systemd-misc";
 
-  machine = { pkgs, lib, ... }: {
+  nodes.machine = { pkgs, lib, ... }: {
     boot.extraSystemdUnitPaths = [ "/etc/systemd-rw/system" ];
+
+    users.users.limited = {
+      isNormalUser = true;
+      uid = 1000;
+    };
+
+    systemd.units."user-1000.slice.d/limits.conf" = {
+      text = ''
+        [Slice]
+        TasksAccounting=yes
+        TasksMax=100
+      '';
+    };
   };
 
   testScript = ''
@@ -43,5 +56,7 @@ in
     )
     machine.succeed("systemctl start example.service")
     machine.succeed("systemctl status example.service | grep 'Active: active'")
+
+    machine.succeed("systemctl show --property TasksMax --value user-1000.slice | grep 100")
   '';
 })
diff --git a/nixos/tests/systemd.nix b/nixos/tests/systemd.nix
index f86daa5eea974..3317823e03f76 100644
--- a/nixos/tests/systemd.nix
+++ b/nixos/tests/systemd.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix ({ pkgs, ... }: {
   name = "systemd";
 
-  machine = { lib, ... }: {
+  nodes.machine = { lib, ... }: {
     imports = [ common/user-account.nix common/x11.nix ];
 
     virtualisation.emptyDiskImages = [ 512 512 ];
@@ -192,5 +192,9 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     with subtest("systemd per-unit accounting works"):
         assert "IP traffic received: 84B" in output_ping
         assert "IP traffic sent: 84B" in output_ping
+
+    with subtest("systemd environment is properly set"):
+        machine.systemctl("daemon-reexec")  # Rewrites /proc/1/environ
+        machine.succeed("grep -q TZDIR=/etc/zoneinfo /proc/1/environ")
   '';
 })
diff --git a/nixos/tests/telegraf.nix b/nixos/tests/telegraf.nix
index d99680ce2c3c4..c3cdb1645213a 100644
--- a/nixos/tests/telegraf.nix
+++ b/nixos/tests/telegraf.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
     maintainers = [ mic92 ];
   };
 
-  machine = { ... }: {
+  nodes.machine = { ... }: {
     services.telegraf.enable = true;
     services.telegraf.environmentFiles = [(pkgs.writeText "secrets" ''
       SECRET=example
diff --git a/nixos/tests/terminal-emulators.nix b/nixos/tests/terminal-emulators.nix
index 60161b80b9651..6ea0f1c18725e 100644
--- a/nixos/tests/terminal-emulators.nix
+++ b/nixos/tests/terminal-emulators.nix
@@ -112,7 +112,7 @@ let tests = {
 in mapAttrs (name: { pkg, executable ? name, cmd ? "SHELL=$command ${executable}", colourTest ? true, pinkValue ? "#FF0087", kill ? false }: makeTest
 {
   name = "terminal-emulator-${name}";
-  meta = with pkgs.stdenv.lib.maintainers; {
+  meta = with pkgs.lib.maintainers; {
     maintainers = [ jjjollyjim ];
   };
 
diff --git a/nixos/tests/tinywl.nix b/nixos/tests/tinywl.nix
index 8fb87b533306c..411cdb1f64192 100644
--- a/nixos/tests/tinywl.nix
+++ b/nixos/tests/tinywl.nix
@@ -6,7 +6,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
       maintainers = with lib.maintainers; [ primeos ];
     };
 
-    machine = { config, ... }: {
+    nodes.machine = { config, ... }: {
       # Automatically login on tty1 as a normal user:
       imports = [ ./common/user-account.nix ];
       services.getty.autologinUser = "alice";
diff --git a/nixos/tests/tomcat.nix b/nixos/tests/tomcat.nix
index e383f224e3d16..4cfb3cc5a7d84 100644
--- a/nixos/tests/tomcat.nix
+++ b/nixos/tests/tomcat.nix
@@ -3,7 +3,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
 {
   name = "tomcat";
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     services.tomcat.enable = true;
   };
 
diff --git a/nixos/tests/tor.nix b/nixos/tests/tor.nix
index c061f59226cfb..71ec9df4641fa 100644
--- a/nixos/tests/tor.nix
+++ b/nixos/tests/tor.nix
@@ -1,24 +1,19 @@
 import ./make-test-python.nix ({ lib, ... }: with lib;
 
-rec {
+{
   name = "tor";
   meta.maintainers = with maintainers; [ joachifm ];
 
-  common =
-    { ... }:
-    { boot.kernelParams = [ "audit=0" "apparmor=0" "quiet" ];
-      networking.firewall.enable = false;
-      networking.useDHCP = false;
-    };
+  nodes.client = { pkgs, ... }: {
+    boot.kernelParams = [ "audit=0" "apparmor=0" "quiet" ];
+    networking.firewall.enable = false;
+    networking.useDHCP = false;
 
-  nodes.client =
-    { pkgs, ... }:
-    { imports = [ common ];
-      environment.systemPackages = with pkgs; [ netcat ];
-      services.tor.enable = true;
-      services.tor.client.enable = true;
-      services.tor.settings.ControlPort = 9051;
-    };
+    environment.systemPackages = with pkgs; [ netcat ];
+    services.tor.enable = true;
+    services.tor.client.enable = true;
+    services.tor.settings.ControlPort = 9051;
+  };
 
   testScript = ''
     client.wait_for_unit("tor.service")
diff --git a/nixos/tests/transmission.nix b/nixos/tests/transmission.nix
index 7e2648804de21..b69ddd84d009a 100644
--- a/nixos/tests/transmission.nix
+++ b/nixos/tests/transmission.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
     maintainers = [ coconnor ];
   };
 
-  machine = { ... }: {
+  nodes.machine = { ... }: {
     imports = [ ../modules/profiles/minimal.nix ];
 
     networking.firewall.allowedTCPPorts = [ 9091 ];
diff --git a/nixos/tests/tsm-client-gui.nix b/nixos/tests/tsm-client-gui.nix
index e4bcd344a8957..e11501da53d0c 100644
--- a/nixos/tests/tsm-client-gui.nix
+++ b/nixos/tests/tsm-client-gui.nix
@@ -10,7 +10,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: {
 
   enableOCR = true;
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     imports = [ ./common/x11.nix ];
     programs.tsmClient = {
       enable = true;
diff --git a/nixos/tests/tuptime.nix b/nixos/tests/tuptime.nix
index 6d37e30698390..93410de7bdf52 100644
--- a/nixos/tests/tuptime.nix
+++ b/nixos/tests/tuptime.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
     maintainers = [ evils ];
   };
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     imports = [ ../modules/profiles/minimal.nix ];
     services.tuptime.enable = true;
   };
diff --git a/nixos/tests/turbovnc-headless-server.nix b/nixos/tests/turbovnc-headless-server.nix
index 7d705c56ecf31..1dbf9297c8131 100644
--- a/nixos/tests/turbovnc-headless-server.nix
+++ b/nixos/tests/turbovnc-headless-server.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
     maintainers = with lib.maintainers; [ nh2 ];
   };
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
 
     environment.systemPackages = with pkgs; [
       glxinfo
diff --git a/nixos/tests/tuxguitar.nix b/nixos/tests/tuxguitar.nix
index 63a7b6c7dec9b..037f489e54483 100644
--- a/nixos/tests/tuxguitar.nix
+++ b/nixos/tests/tuxguitar.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     maintainers = [ asbachb ];
   };
 
-  machine = { config, pkgs, ... }: {
+  nodes.machine = { config, pkgs, ... }: {
     imports = [
       ./common/x11.nix
     ];
diff --git a/nixos/tests/udisks2.nix b/nixos/tests/udisks2.nix
index 6c4b71aaa2eda..6afb200f85664 100644
--- a/nixos/tests/udisks2.nix
+++ b/nixos/tests/udisks2.nix
@@ -15,7 +15,7 @@ in
     maintainers = [ eelco ];
   };
 
-  machine =
+  nodes.machine =
     { ... }:
     { services.udisks2.enable = true;
       imports = [ ./common/user-account.nix ];
diff --git a/nixos/tests/usbguard.nix b/nixos/tests/usbguard.nix
index bb707bdbf7024..d6d3a80c5d23c 100644
--- a/nixos/tests/usbguard.nix
+++ b/nixos/tests/usbguard.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     maintainers = [ tnias ];
   };
 
-  machine =
+  nodes.machine =
     { ... }:
     {
       services.usbguard = {
diff --git a/nixos/tests/user-activation-scripts.nix b/nixos/tests/user-activation-scripts.nix
index 0de8664c5ef07..9345735781873 100644
--- a/nixos/tests/user-activation-scripts.nix
+++ b/nixos/tests/user-activation-scripts.nix
@@ -2,7 +2,7 @@ import ./make-test-python.nix ({ lib, ... }: {
   name = "user-activation-scripts";
   meta = with lib.maintainers; { maintainers = [ chkno ]; };
 
-  machine = {
+  nodes.machine = {
     system.userActivationScripts.foo = "mktemp ~/user-activation-ran.XXXXXX";
     users.users.alice = {
       initialPassword = "pass1";
diff --git a/nixos/tests/uwsgi.nix b/nixos/tests/uwsgi.nix
index 80dcde324aad7..62da9e0a7168c 100644
--- a/nixos/tests/uwsgi.nix
+++ b/nixos/tests/uwsgi.nix
@@ -5,7 +5,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
     maintainers = [ lnl7 ];
   };
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     users.users.hello  =
       { isSystemUser = true;
         group = "hello";
diff --git a/nixos/tests/v2ray.nix b/nixos/tests/v2ray.nix
index 4808e149d31ed..fb36ea8557d59 100644
--- a/nixos/tests/v2ray.nix
+++ b/nixos/tests/v2ray.nix
@@ -57,7 +57,7 @@ in {
   meta = with lib.maintainers; {
     maintainers = [ servalcatty ];
   };
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     environment.systemPackages = [ pkgs.curl ];
     services.v2ray = {
       enable = true;
diff --git a/nixos/tests/vault-postgresql.nix b/nixos/tests/vault-postgresql.nix
index 2847af13cbf05..e0e5881c6da79 100644
--- a/nixos/tests/vault-postgresql.nix
+++ b/nixos/tests/vault-postgresql.nix
@@ -11,7 +11,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
   meta = with pkgs.lib.maintainers; {
     maintainers = [ lnl7 roberth ];
   };
-  machine = { lib, pkgs, ... }: {
+  nodes.machine = { lib, pkgs, ... }: {
     environment.systemPackages = [ pkgs.vault ];
     environment.variables.VAULT_ADDR = "http://127.0.0.1:8200";
     services.vault.enable = true;
diff --git a/nixos/tests/vault.nix b/nixos/tests/vault.nix
index e86acd5b593fb..1b0a26a4487f0 100644
--- a/nixos/tests/vault.nix
+++ b/nixos/tests/vault.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
   meta = with pkgs.lib.maintainers; {
     maintainers = [ lnl7 ];
   };
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     environment.systemPackages = [ pkgs.vault ];
     environment.variables.VAULT_ADDR = "http://127.0.0.1:8200";
     services.vault.enable = true;
diff --git a/nixos/tests/vaultwarden.nix b/nixos/tests/vaultwarden.nix
index 56f1d245d5052..814d8d7c0ab3e 100644
--- a/nixos/tests/vaultwarden.nix
+++ b/nixos/tests/vaultwarden.nix
@@ -113,7 +113,6 @@ let
                   driver.find_element_by_css_selector('input#masterPasswordRetype').send_keys(
                     '${userPassword}'
                   )
-                  driver.find_element_by_css_selector('input#acceptPolicies').click()
 
                   driver.find_element_by_xpath("//button[contains(., 'Submit')]").click()
 
diff --git a/nixos/tests/vector.nix b/nixos/tests/vector.nix
index 583e60ddc5681..ecf94e33ff17e 100644
--- a/nixos/tests/vector.nix
+++ b/nixos/tests/vector.nix
@@ -9,7 +9,7 @@ with pkgs.lib;
     name = "vector-test1";
     meta.maintainers = [ pkgs.lib.maintainers.happysalada ];
 
-    machine = { config, pkgs, ... }: {
+    nodes.machine = { config, pkgs, ... }: {
       services.vector = {
         enable = true;
         journaldAccess = true;
diff --git a/nixos/tests/vengi-tools.nix b/nixos/tests/vengi-tools.nix
index 6b90542887d51..8b80a13384e5a 100644
--- a/nixos/tests/vengi-tools.nix
+++ b/nixos/tests/vengi-tools.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     maintainers = [ fgaz ];
   };
 
-  machine = { config, pkgs, ... }: {
+  nodes.machine = { config, pkgs, ... }: {
     imports = [
       ./common/x11.nix
     ];
diff --git a/nixos/tests/virtualbox.nix b/nixos/tests/virtualbox.nix
index f15412d365fa9..27093aab96ee5 100644
--- a/nixos/tests/virtualbox.nix
+++ b/nixos/tests/virtualbox.nix
@@ -353,7 +353,7 @@ let
   mkVBoxTest = useExtensionPack: vms: name: testScript: makeTest {
     name = "virtualbox-${name}";
 
-    machine = { lib, config, ... }: {
+    nodes.machine = { lib, config, ... }: {
       imports = let
         mkVMConf = name: val: val.machine // { key = "${name}-config"; };
         vmConfigs = mapAttrsToList mkVMConf vms;
diff --git a/nixos/tests/web-apps/netbox.nix b/nixos/tests/web-apps/netbox.nix
new file mode 100644
index 0000000000000..95f24029ec928
--- /dev/null
+++ b/nixos/tests/web-apps/netbox.nix
@@ -0,0 +1,30 @@
+import ../make-test-python.nix ({ lib, pkgs, ... }: {
+  name = "netbox";
+
+  meta = with lib.maintainers; {
+    maintainers = [ n0emis ];
+  };
+
+  machine = { ... }: {
+    services.netbox = {
+      enable = true;
+      secretKeyFile = pkgs.writeText "secret" ''
+        abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
+      '';
+    };
+  };
+
+  testScript = ''
+    machine.start()
+    machine.wait_for_unit("netbox.target")
+    machine.wait_until_succeeds("journalctl --since -1m --unit netbox --grep Listening")
+
+    with subtest("Home screen loads"):
+        machine.succeed(
+            "curl -sSfL http://[::1]:8001 | grep '<title>Home | NetBox</title>'"
+        )
+
+    with subtest("Staticfiles are generated"):
+        machine.succeed("test -e /var/lib/netbox/static/netbox.js")
+  '';
+})
diff --git a/nixos/tests/web-servers/unit-php.nix b/nixos/tests/web-servers/unit-php.nix
index 00512b506cc2e..5bef7fab3efff 100644
--- a/nixos/tests/web-servers/unit-php.nix
+++ b/nixos/tests/web-servers/unit-php.nix
@@ -6,7 +6,7 @@ in {
   name = "unit-php-test";
   meta.maintainers = with pkgs.lib.maintainers; [ izorkin ];
 
-  machine = { config, lib, pkgs, ... }: {
+  nodes.machine = { config, lib, pkgs, ... }: {
     services.unit = {
       enable = true;
       config = pkgs.lib.strings.toJSON {
diff --git a/nixos/tests/wiki-js.nix b/nixos/tests/wiki-js.nix
index 783887d2dcaa9..c3541be5d8b52 100644
--- a/nixos/tests/wiki-js.nix
+++ b/nixos/tests/wiki-js.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
     maintainers = [ ma27 ];
   };
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     virtualisation.memorySize = 2048;
     services.wiki-js = {
       enable = true;
diff --git a/nixos/tests/wine.nix b/nixos/tests/wine.nix
index 8135cb90a5914..8a64c3179c518 100644
--- a/nixos/tests/wine.nix
+++ b/nixos/tests/wine.nix
@@ -15,7 +15,7 @@ let
       inherit name;
       meta = with pkgs.lib.maintainers; { maintainers = [ chkno ]; };
 
-      machine = { pkgs, ... }: {
+      nodes.machine = { pkgs, ... }: {
         environment.systemPackages = [ pkgs."${packageSet}"."${variant}" ];
         virtualisation.diskSize = 800;
       };
diff --git a/nixos/tests/without-nix.nix b/nixos/tests/without-nix.nix
index 2fc00b04144f9..b21e9f2844f50 100644
--- a/nixos/tests/without-nix.nix
+++ b/nixos/tests/without-nix.nix
@@ -4,14 +4,23 @@ import ./make-test-python.nix ({ lib, ... }: {
     maintainers = [ ericson2314 ];
   };
 
-  nixpkgs.overlays = [
-    (self: super: {
-      nix = throw "don't want to use this";
-    })
-  ];
-
   nodes.machine = { ... }: {
     nix.enable = false;
+    nixpkgs.overlays = [
+      (self: super: {
+        nix = throw "don't want to use pkgs.nix";
+        nixVersions = lib.mapAttrs (k: throw "don't want to use pkgs.nixVersions.${k}") super.nixVersions;
+        # aliases, some deprecated
+        nix_2_3 = throw "don't want to use pkgs.nix_2_3";
+        nix_2_4 = throw "don't want to use pkgs.nix_2_4";
+        nix_2_5 = throw "don't want to use pkgs.nix_2_5";
+        nix_2_6 = throw "don't want to use pkgs.nix_2_6";
+        nixFlakes = throw "don't want to use pkgs.nixFlakes";
+        nixStable = throw "don't want to use pkgs.nixStable";
+        nixUnstable = throw "don't want to use pkgs.nixUnstable";
+        nixStatic = throw "don't want to use pkgs.nixStatic";
+      })
+    ];
   };
 
   testScript = ''
diff --git a/nixos/tests/wmderland.nix b/nixos/tests/wmderland.nix
index 6de0cd9212eea..ebfd443763e1e 100644
--- a/nixos/tests/wmderland.nix
+++ b/nixos/tests/wmderland.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
     maintainers = [ takagiy ];
   };
 
-  machine = { lib, ... }: {
+  nodes.machine = { lib, ... }: {
     imports = [ ./common/x11.nix ./common/user-account.nix ];
     test-support.displayManager.auto.user = "alice";
     services.xserver.displayManager.defaultSession = lib.mkForce "none+wmderland";
diff --git a/nixos/tests/wpa_supplicant.nix b/nixos/tests/wpa_supplicant.nix
index 40d934b8e1db2..a05a79e8367d9 100644
--- a/nixos/tests/wpa_supplicant.nix
+++ b/nixos/tests/wpa_supplicant.nix
@@ -5,7 +5,7 @@ import ./make-test-python.nix ({ pkgs, lib, ...}:
     maintainers = [ rnhmjoj ];
   };
 
-  machine = { ... }: {
+  nodes.machine = { ... }: {
     imports = [ ../modules/profiles/minimal.nix ];
 
     # add a virtual wlan interface
diff --git a/nixos/tests/xfce.nix b/nixos/tests/xfce.nix
index 9051deebae76e..31f00f77c40d4 100644
--- a/nixos/tests/xfce.nix
+++ b/nixos/tests/xfce.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix ({ pkgs, ...} : {
   name = "xfce";
 
-  machine =
+  nodes.machine =
     { pkgs, ... }:
 
     {
diff --git a/nixos/tests/xmonad.nix b/nixos/tests/xmonad.nix
index a2fb38e53bd15..aa55f0e3ca6f2 100644
--- a/nixos/tests/xmonad.nix
+++ b/nixos/tests/xmonad.nix
@@ -55,7 +55,7 @@ in {
     maintainers = [ nequissimus ivanbrennan ];
   };
 
-  machine = { pkgs, ... }: {
+  nodes.machine = { pkgs, ... }: {
     imports = [ ./common/x11.nix ./common/user-account.nix ];
     test-support.displayManager.auto.user = "alice";
     services.xserver.displayManager.defaultSession = "none+xmonad";
diff --git a/nixos/tests/xterm.nix b/nixos/tests/xterm.nix
index 4ee31139ab52b..745d33e8a0d53 100644
--- a/nixos/tests/xterm.nix
+++ b/nixos/tests/xterm.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
     maintainers = [ nequissimus ];
   };
 
-  machine = { pkgs, ... }:
+  nodes.machine = { pkgs, ... }:
     {
       imports = [ ./common/x11.nix ];
       services.xserver.desktopManager.xterm.enable = false;
diff --git a/nixos/tests/yabar.nix b/nixos/tests/yabar.nix
index c2431e556c378..ff7a47ae63709 100644
--- a/nixos/tests/yabar.nix
+++ b/nixos/tests/yabar.nix
@@ -8,7 +8,7 @@ with lib;
     maintainers = [ ];
   };
 
-  machine = {
+  nodes.machine = {
     imports = [ ./common/x11.nix ./common/user-account.nix ];
 
     test-support.displayManager.auto.user = "bob";
diff --git a/nixos/tests/zfs.nix b/nixos/tests/zfs.nix
index d25090403e5fa..bf0165b88162d 100644
--- a/nixos/tests/zfs.nix
+++ b/nixos/tests/zfs.nix
@@ -18,7 +18,7 @@ let
         maintainers = [ adisbladis ];
       };
 
-      machine = { pkgs, lib, ... }:
+      nodes.machine = { pkgs, lib, ... }:
         let
           usersharePath = "/var/lib/samba/usershares";
         in {
diff --git a/nixos/tests/zigbee2mqtt.nix b/nixos/tests/zigbee2mqtt.nix
index 98aadbb699bdf..1592202fb3a76 100644
--- a/nixos/tests/zigbee2mqtt.nix
+++ b/nixos/tests/zigbee2mqtt.nix
@@ -1,7 +1,7 @@
 import ./make-test-python.nix ({ pkgs, lib, ... }:
 
   {
-    machine = { pkgs, ... }:
+    nodes.machine = { pkgs, ... }:
       {
         services.zigbee2mqtt = {
           enable = true;
diff --git a/nixos/tests/zoneminder.nix b/nixos/tests/zoneminder.nix
index a4e1a05ec0ee4..3c97bc8282d22 100644
--- a/nixos/tests/zoneminder.nix
+++ b/nixos/tests/zoneminder.nix
@@ -4,7 +4,7 @@ import ./make-test-python.nix ({ lib, ...}:
   name = "zoneminder";
   meta.maintainers = with lib.maintainers; [ danielfullmer ];
 
-  machine = { ... }:
+  nodes.machine = { ... }:
   {
     services.zoneminder = {
       enable = true;
diff --git a/nixos/tests/zrepl.nix b/nixos/tests/zrepl.nix
new file mode 100644
index 0000000000000..85dd834a6aafb
--- /dev/null
+++ b/nixos/tests/zrepl.nix
@@ -0,0 +1,66 @@
+import ./make-test-python.nix (
+  {
+    nodes.host = {config, pkgs, ...}: {
+      config = {
+        # Prerequisites for ZFS and tests.
+        boot.supportedFilesystems = [ "zfs" ];
+        environment.systemPackages = [ pkgs.zrepl ];
+        networking.hostId = "deadbeef";
+        services.zrepl = {
+          enable = true;
+          settings = {
+            # Enable Prometheus output for status assertions.
+            global.monitoring = [{
+              type = "prometheus";
+              listen = ":9811";
+            }];
+            # Create a periodic snapshot job for an ephemeral zpool.
+            jobs = [{
+              name = "snap_test";
+              type = "snap";
+
+              filesystems."test" = true;
+              snapshotting = {
+                type = "periodic";
+                prefix = "zrepl_";
+                interval = "1s";
+              };
+
+              pruning.keep = [{
+                type = "last_n";
+                count = 8;
+              }];
+            }];
+          };
+        };
+      };
+    };
+
+    testScript = ''
+      start_all()
+
+      with subtest("Wait for zrepl and network ready"):
+          host.wait_for_unit("network-online.target")
+          host.wait_for_unit("zrepl.service")
+
+      with subtest("Create test zpool"):
+          # ZFS requires 64MiB minimum pool size.
+          host.succeed("fallocate -l 64MiB /root/zpool.img")
+          host.succeed("zpool create test /root/zpool.img")
+
+      with subtest("Check for completed zrepl snapshot"):
+          # zrepl periodic snapshot job creates a snapshot with this prefix.
+          host.wait_until_succeeds("zfs list -t snapshot | grep -q zrepl_")
+
+      with subtest("Verify HTTP monitoring server is configured"):
+          out = host.succeed("curl -f localhost:9811/metrics")
+
+          assert (
+              "zrepl_version_daemon" in out
+          ), "zrepl version metric was not found in Prometheus output"
+
+          assert (
+              "zrepl_zfs_snapshot_duration_count{filesystem=\"test\"}" in out
+          ), "zrepl snapshot counter for test was not found in Prometheus output"
+    '';
+  })
diff --git a/pkgs/applications/accessibility/squeekboard/default.nix b/pkgs/applications/accessibility/squeekboard/default.nix
index db139ab39d080..94129d05288bd 100644
--- a/pkgs/applications/accessibility/squeekboard/default.nix
+++ b/pkgs/applications/accessibility/squeekboard/default.nix
@@ -5,6 +5,7 @@
 , ninja
 , pkg-config
 , gnome
+, gnome-desktop
 , glib
 , gtk3
 , wayland
@@ -54,7 +55,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     gtk3
-    gnome.gnome-desktop
+    gnome-desktop
     wayland
     wayland-protocols
     libxml2
diff --git a/pkgs/applications/audio/airwave/default.nix b/pkgs/applications/audio/airwave/default.nix
index 438159201de81..6ed488d7d643f 100644
--- a/pkgs/applications/audio/airwave/default.nix
+++ b/pkgs/applications/audio/airwave/default.nix
@@ -3,7 +3,6 @@
 }:
 
 let
-
   version = "1.3.3";
 
   airwave-src = fetchFromGitHub {
@@ -38,7 +37,8 @@ let
 in
 
 multiStdenv.mkDerivation {
-  name = "airwave-${version}";
+  pname = "airwave";
+  inherit version;
 
   src = airwave-src;
 
diff --git a/pkgs/applications/audio/aj-snapshot/default.nix b/pkgs/applications/audio/aj-snapshot/default.nix
index 00fde01859c8a..9143b5f5b08a7 100644
--- a/pkgs/applications/audio/aj-snapshot/default.nix
+++ b/pkgs/applications/audio/aj-snapshot/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, alsa-lib, jack2, minixml, pkg-config }:
 
 stdenv.mkDerivation rec {
-  name =  packageName + "-" + version ;
-  packageName = "aj-snapshot" ;
+  pname = "aj-snapshot" ;
   version = "0.9.9";
 
   src = fetchurl {
-    url = "mirror://sourceforge/${packageName}/${name}.tar.bz2";
+    url = "mirror://sourceforge/aj-snapshot/aj-snapshot-${version}.tar.bz2";
     sha256 = "0z8wd5yvxdmw1h1rj6km9h01xd4xmp4d86gczlix7hsc7zrf0wil";
   };
 
diff --git a/pkgs/applications/audio/ams/default.nix b/pkgs/applications/audio/ams/default.nix
index 388d8b44dcf58..7b209994103ec 100644
--- a/pkgs/applications/audio/ams/default.nix
+++ b/pkgs/applications/audio/ams/default.nix
@@ -12,7 +12,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "ams";
+  pname = "ams";
   version = "unstable-2019-04-27";
 
   src = fetchgit {
diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio2.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio2.nix
index 345750e9e2a9a..0d93284e29421 100644
--- a/pkgs/applications/audio/bitwig-studio/bitwig-studio2.nix
+++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio2.nix
@@ -2,7 +2,7 @@
   pulseaudio }:
 
 bitwig-studio1.overrideAttrs (oldAttrs: rec {
-  name = "bitwig-studio-${version}";
+  pname = "bitwig-studio";
   version = "2.5";
 
   src = fetchurl {
diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix
index 7b527139e9195..6f438a106ffbb 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.2";
+  version = "4.2.1";
 
   src = fetchurl {
     url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
-    sha256 = "sha256-hIIEVj5sM/NdhBiwerFvyIXqj0R8EvcxwM6UZ0CE428=";
+    sha256 = "sha256-kkpb8tLuj4QO+TBW2yNDugS4c6dCQ9Lddv6Z8NS0uio=";
   };
 
   nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];
diff --git a/pkgs/applications/audio/cardinal/default.nix b/pkgs/applications/audio/cardinal/default.nix
index 9200a36f9f34d..1e77ade6cdb42 100644
--- a/pkgs/applications/audio/cardinal/default.nix
+++ b/pkgs/applications/audio/cardinal/default.nix
@@ -22,7 +22,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "cardinal-${version}";
+  pname = "cardinal";
   version = "22.02";
 
   src = fetchurl {
diff --git a/pkgs/applications/audio/cmt/default.nix b/pkgs/applications/audio/cmt/default.nix
index bb23f9b62bbdd..1062d897c6bde 100644
--- a/pkgs/applications/audio/cmt/default.nix
+++ b/pkgs/applications/audio/cmt/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "cmt";
+  pname = "cmt";
   version = "1.17";
 
   src = fetchurl {
-    url = "http://www.ladspa.org/download/${name}_${version}.tgz";
+    url = "http://www.ladspa.org/download/cmt_${version}.tgz";
     sha256 = "07xd0xmwpa0j12813jpf87fr9hwzihii5l35mp8ady7xxfmxfmpb";
   };
 
diff --git a/pkgs/applications/audio/cmusfm/default.nix b/pkgs/applications/audio/cmusfm/default.nix
index 4cf91c698be7f..17495ead355a0 100644
--- a/pkgs/applications/audio/cmusfm/default.nix
+++ b/pkgs/applications/audio/cmusfm/default.nix
@@ -1,18 +1,24 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, curl, libnotify, gdk-pixbuf }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, curl, libnotify
+, gdk-pixbuf, libnotifySupport ? stdenv.isLinux, debug ? false }:
+
+stdenv.mkDerivation rec {
+  pname = "cmusfm";
+  version = "0.4.1";
 
-stdenv.mkDerivation {
-  version = "2021-05-19";
-  pname = "cmusfm-unstable";
   src = fetchFromGitHub {
     owner = "Arkq";
-    repo = "cmusfm";
-    rev = "a1f9f37c5819ca8a5b48e6185c2ec7ad478b9f1a";
-    sha256 = "19akgvh9gl99xvpmzgqv88w2mnnln7k6290dr5rn3h6a1ihvllaw";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1px2is80jdxchg8cpn5cizg6jvcbzyxl0qzs3bn0k3d10qjvdww5";
   };
-  # building
-  configureFlags = [ "--enable-libnotify" ];
+
+  configureFlags = lib.optional libnotifySupport "--enable-libnotify"
+    ++ lib.optional debug "--enable-debug";
+
   nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ curl libnotify gdk-pixbuf ];
+
+  buildInputs = [ curl gdk-pixbuf ]
+    ++ lib.optional libnotifySupport libnotify;
 
   meta = with lib; {
     description = "Last.fm and Libre.fm standalone scrobbler for the cmus music player";
diff --git a/pkgs/applications/audio/deadbeef/default.nix b/pkgs/applications/audio/deadbeef/default.nix
index c1cecc13ec56c..e8b0ded4c00db 100644
--- a/pkgs/applications/audio/deadbeef/default.nix
+++ b/pkgs/applications/audio/deadbeef/default.nix
@@ -112,6 +112,5 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = [ "x86_64-linux" "i686-linux" ];
     maintainers = [ maintainers.abbradar ];
-    repositories.git = "https://github.com/Alexey-Yakovenko/deadbeef";
   };
 }
diff --git a/pkgs/applications/audio/flac/default.nix b/pkgs/applications/audio/flac/default.nix
index 0b1a2edc3baab..621804840bf02 100644
--- a/pkgs/applications/audio/flac/default.nix
+++ b/pkgs/applications/audio/flac/default.nix
@@ -2,21 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flac";
-  version = "1.3.3";
+  version = "1.3.4";
 
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/flac/${pname}-${version}.tar.xz";
-    sha256 = "0j0p9sf56a2fm2hkjnf7x3py5ir49jyavg4q5zdyd7bcf6yq4gi1";
+    sha256 = "0dz7am8kbc97a6afml1h4yp085274prg8j7csryds8m3fmz61w4g";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2020-0499.patch";
-      url = "https://github.com/xiph/flac/commit/2e7931c27eb15e387da440a37f12437e35b22dd4.patch";
-      sha256 = "160qzq9ms5addz7sx06pnyjjkqrffr54r4wd8735vy4x008z71ah";
-    })
-  ];
-
   buildInputs = [ libogg ];
 
   #doCheck = true; # takes lots of time
diff --git a/pkgs/applications/audio/foo-yc20/default.nix b/pkgs/applications/audio/foo-yc20/default.nix
deleted file mode 100644
index abb13b021c047..0000000000000
--- a/pkgs/applications/audio/foo-yc20/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, libjack2, gtk2, lv2, faust, pkg-config }:
-
-stdenv.mkDerivation {
-  version = "unstable-2015-05-21";
-  pname = "foo-yc20";
-  src = fetchFromGitHub {
-    owner = "sampov2";
-    repo = "foo-yc20";
-    rev = "edd9d14c91229429b14270a181743e1046160ca8";
-    sha256 = "0i8261n95n4xic766h70xkrpbvw3sag96n1883ahmg6h7yb94avq";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ libjack2 gtk2 lv2 faust ];
-
-  makeFlags = [ "PREFIX=$(out)" ];
-
-  # remove lv2 until https://github.com/sampov2/foo-yc20/issues/6 is resolved
-  postInstallFixup = "rm -rf $out/lib/lv2";
-
-  meta = with lib; {
-    broken = true; # see: https://github.com/sampov2/foo-yc20/issues/7
-    description = "A Faust implementation of a 1969 designed Yamaha combo organ, the YC-20";
-    homepage = "https://github.com/sampov2/foo-yc20";
-    license = with licenses; [ bsd3 lgpl21 mpl11 ];
-    maintainers = [ maintainers.magnetophon ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/audio/gtkpod/default.nix b/pkgs/applications/audio/gtkpod/default.nix
index 61484bc2fbb15..e741f6fe29825 100644
--- a/pkgs/applications/audio/gtkpod/default.nix
+++ b/pkgs/applications/audio/gtkpod/default.nix
@@ -1,6 +1,7 @@
-{ lib, stdenv, fetchurl, pkg-config, wrapGAppsHook, intltool, libgpod, curl, flac,
-  gnome, gtk3, gettext, perlPackages, flex, libid3tag, gdl,
-  libvorbis, gdk-pixbuf }:
+{ lib, stdenv, fetchurl, pkg-config, wrapGAppsHook, intltool, libgpod, libxml2, curl, flac
+, gnome, gtk3, gettext, perlPackages, flex, libid3tag, gdl
+, libvorbis, gdk-pixbuf
+}:
 
 stdenv.mkDerivation rec {
   version = "2.1.5";
@@ -14,7 +15,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config wrapGAppsHook intltool ];
   buildInputs = [
     curl gettext
-    flex libgpod libid3tag flac libvorbis gtk3 gdk-pixbuf
+    flex libgpod libid3tag flac libvorbis libxml2 gtk3 gdk-pixbuf
     gdl gnome.adwaita-icon-theme gnome.anjuta
   ] ++ (with perlPackages; [ perl XMLParser ]);
 
diff --git a/pkgs/applications/audio/industrializer/default.nix b/pkgs/applications/audio/industrializer/default.nix
index 91f7175e391ae..f894c856c751a 100644
--- a/pkgs/applications/audio/industrializer/default.nix
+++ b/pkgs/applications/audio/industrializer/default.nix
@@ -20,13 +20,11 @@ stdenv.mkDerivation rec {
     sha256 = "0vls94hqpkk8h17da6fddgqbl5dgm6250av3raimhhzwvm5r1gfi";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config autoconf automake ];
 
   buildInputs = [
     alsa-lib
     audiofile
-    autoconf
-    automake
     gnome2.gtkglext
     gtk2
     libjack2
diff --git a/pkgs/applications/audio/jacktrip/default.nix b/pkgs/applications/audio/jacktrip/default.nix
new file mode 100644
index 0000000000000..7dd60a6c4d1b8
--- /dev/null
+++ b/pkgs/applications/audio/jacktrip/default.nix
@@ -0,0 +1,61 @@
+{ lib, mkDerivation, fetchFromGitHub
+, pkg-config
+, help2man
+, qmake
+, alsa-lib
+, libjack2
+, dbus
+, qtbase
+, qttools
+, qtx11extras
+, meson
+, python3
+, rtaudio
+, ninja
+}:
+
+mkDerivation rec {
+  version = "1.5.3";
+  pname = "jacktrip";
+
+  src = fetchFromGitHub {
+    owner = "jacktrip";
+    repo = "jacktrip";
+    rev = "v${version}";
+    sha256 = "sha256-sfAYMTnBjT4LkgksyzDGGy97NLX5ljjhNDFioQnTzLs=";
+  };
+
+  preConfigure = ''
+    rm build
+  '';
+
+  buildInputs = [
+    rtaudio
+    qtbase
+    qtx11extras
+    libjack2
+    dbus
+  ];
+
+  nativeBuildInputs = [
+    python3
+    python3.pkgs.pyaml
+    python3.pkgs.jinja2
+    ninja
+    help2man
+    meson
+    qmake
+    qttools
+    pkg-config
+  ];
+
+  qmakeFlags = [ "jacktrip.pro" ];
+
+  meta = with lib; {
+    description = "Multi-machine audio network performance over the Internet";
+    homepage = "https://jacktrip.github.io/jacktrip/";
+    license = with licenses; [ gpl3 lgpl3 mit ];
+    maintainers = [ maintainers.iwanb ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/jamin/default.nix b/pkgs/applications/audio/jamin/default.nix
index 325d115b58168..2bd23b821f135 100644
--- a/pkgs/applications/audio/jamin/default.nix
+++ b/pkgs/applications/audio/jamin/default.nix
@@ -4,7 +4,7 @@
 
 stdenv.mkDerivation rec {
   version = "0.95.0";
-  name = "jamin-${version}";
+  pname = "jamin";
 
   src = fetchurl {
     url = "mirror://sourceforge/jamin/jamin-${version}.tar.gz";
diff --git a/pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix b/pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix
index 7ea5fa753c811..fd55bae6fd61f 100644
--- a/pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix
+++ b/pkgs/applications/audio/magnetophonDSP/faustCompressors/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }:
 stdenv.mkDerivation rec {
-  name = "faustCompressors-v${version}";
+  pname = "faustCompressors";
   version = "1.2";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/audio/mid2key/default.nix b/pkgs/applications/audio/mid2key/default.nix
index 5db17b99d1c32..0a5aecfecb0f4 100644
--- a/pkgs/applications/audio/mid2key/default.nix
+++ b/pkgs/applications/audio/mid2key/default.nix
@@ -1,10 +1,13 @@
-{ lib, stdenv, fetchurl, alsa-lib, libX11, libXi, libXtst, xorgproto }:
+{ lib, stdenv, fetchFromGitHub, alsa-lib, libX11, libXi, libXtst, xorgproto }:
 
 stdenv.mkDerivation rec {
-  name = "mid2key-r1";
+  pname = "mid2key";
+  version = "1";
 
-  src = fetchurl {
-    url = "http://mid2key.googlecode.com/files/${name}.tar.gz";
+  src = fetchFromGitHub {
+    owner = "dnschneid";
+    repo = "mid2key";
+    rev = "v${version}";
     sha256 = "0j2vsjvdgx51nd1qmaa18mcy0yw9pwrhbv2mdwnf913bwsk4y904";
   };
 
diff --git a/pkgs/applications/audio/midas/generic.nix b/pkgs/applications/audio/midas/generic.nix
index 93a215e46b1b1..b58bd0b275726 100644
--- a/pkgs/applications/audio/midas/generic.nix
+++ b/pkgs/applications/audio/midas/generic.nix
@@ -1,8 +1,7 @@
 { stdenv, fetchurl, lib, libX11, libXext, alsa-lib, freetype, brand, type, version, homepage, url, sha256, ... }:
 stdenv.mkDerivation rec {
-  inherit type;
-  baseName = "${type}-Edit";
-  name = "${lib.toLower baseName}-${version}";
+  pname = "${lib.toLower type}-edit";
+  inherit version;
 
   src = fetchurl {
     inherit url;
@@ -15,7 +14,7 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out/bin
-    cp ${baseName} $out/bin
+    cp ${pname} $out/bin
   '';
   preFixup = let
     # we prepare our library path in the let clause to avoid it become part of the input of mkDerivation
@@ -30,7 +29,7 @@ stdenv.mkDerivation rec {
     patchelf \
       --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
       --set-rpath "${libPath}" \
-      $out/bin/${baseName}
+      $out/bin/${pname}
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/audio/mopidy/youtube.nix b/pkgs/applications/audio/mopidy/youtube.nix
index ecb8128032e58..386e372d79874 100644
--- a/pkgs/applications/audio/mopidy/youtube.nix
+++ b/pkgs/applications/audio/mopidy/youtube.nix
@@ -6,15 +6,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "mopidy-youtube";
-  version = "3.4";
-
-  disabled = python3.pythonOlder "3.7";
+  version = "3.5";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "natumbri";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0lm6nn926qkrwzvj64yracdixfrnv5zk243msjskrnlzkhgk01rk";
+    hash = "sha256-hlokysFFgZZYY7flghgRq6wVG824kpcLkXxk6nMhxn4=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -39,8 +38,10 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   disabledTestPaths = [
-    # Fails with an import error
+    # Disable tests which interact with Youtube
+    "tests/test_api.py"
     "tests/test_backend.py"
+    "tests/test_youtube.py"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/applications/audio/musescore/darwin.nix b/pkgs/applications/audio/musescore/darwin.nix
index 131417293207c..2cf1b9ff68de3 100644
--- a/pkgs/applications/audio/musescore/darwin.nix
+++ b/pkgs/applications/audio/musescore/darwin.nix
@@ -32,6 +32,5 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     platforms = platforms.darwin;
     maintainers = [];
-    repositories.git = "https://github.com/musescore/MuseScore";
   };
 }
diff --git a/pkgs/applications/audio/musescore/default.nix b/pkgs/applications/audio/musescore/default.nix
index 7662eadc4983e..caa799c88f615 100644
--- a/pkgs/applications/audio/musescore/default.nix
+++ b/pkgs/applications/audio/musescore/default.nix
@@ -51,6 +51,5 @@ mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ vandenoever turion doronbehar ];
     platforms = platforms.linux;
-    repositories.git = "https://github.com/musescore/MuseScore";
   };
 }
diff --git a/pkgs/applications/audio/patchage/default.nix b/pkgs/applications/audio/patchage/default.nix
index f37cf8c5b32db..fffa05915a8e2 100644
--- a/pkgs/applications/audio/patchage/default.nix
+++ b/pkgs/applications/audio/patchage/default.nix
@@ -1,24 +1,46 @@
-{ lib, stdenv, alsa-lib, boost, dbus-glib, fetchsvn, ganv, glibmm
-, gtkmm2, libjack2, pkg-config, python2, wafHook
+{ lib
+, stdenv
+, fetchFromGitLab
+, alsa-lib
+, boost
+, dbus-glib
+, ganv
+, glibmm
+, gtkmm2
+, libjack2
+, pkg-config
+, python3
+, wafHook
 }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "patchage";
-  version = "1.0.1";
-  src = fetchsvn {
-    url = "http://svn.drobilla.net/lad/trunk/patchage/";
-    rev = "5821";
-    sha256 = "1ar64l0sg468qzxj7i6ppgfqjpm92awcp5lzskamrf3ln17lrgj7";
+  version = "1.0.4";
+
+  src = fetchFromGitLab {
+    owner = "drobilla";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-feQXACsn2i2pJXs0EA9tIbtpl9Lxx5K4G7eG5VWuDV0=";
+    fetchSubmodules = true;
   };
 
   buildInputs = [
-    alsa-lib boost dbus-glib ganv glibmm gtkmm2 libjack2
-    pkg-config python2 wafHook
+    alsa-lib
+    boost
+    dbus-glib
+    ganv
+    glibmm
+    gtkmm2
+    libjack2
+    pkg-config
+    python3
+    wafHook
   ];
 
   meta = {
     description = "Modular patch bay for Jack and ALSA systems";
-    homepage = "http://non.tuxfamily.org";
+    homepage = "https://drobilla.net/software/patchage.html";
     license = lib.licenses.lgpl3;
     platforms = lib.platforms.linux;
     maintainers = [ lib.maintainers.nico202 ];
diff --git a/pkgs/applications/audio/pd-plugins/zexy/default.nix b/pkgs/applications/audio/pd-plugins/zexy/default.nix
index 67c7cd18be8e3..13944c8a01b25 100644
--- a/pkgs/applications/audio/pd-plugins/zexy/default.nix
+++ b/pkgs/applications/audio/pd-plugins/zexy/default.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "1xpgl82c2lc6zfswjsa7z10yhv5jb7a4znzh3nc7ffrzm1z8vylp";
   };
 
-  buildInputs = [ autoconf automake puredata ];
+  nativeBuildInputs = [ autoconf automake  ];
+  buildInputs = [ puredata ];
 
   preBuild = ''
     export LD=$CXX
diff --git a/pkgs/applications/audio/praat/default.nix b/pkgs/applications/audio/praat/default.nix
index b4f450b31016b..24da2efa907fb 100644
--- a/pkgs/applications/audio/praat/default.nix
+++ b/pkgs/applications/audio/praat/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "praat";
-  version = "6.2.09";
+  version = "6.2.10";
 
   src = fetchFromGitHub {
     owner = "praat";
     repo = "praat";
     rev = "v${version}";
-    sha256 = "sha256-BhsbTFwxgWwMwe1ow0ppVsLjfMC7QMA/fq09Utwe+KA=";
+    sha256 = "sha256-IYbPMjKWDQQrF+JiqBQ2wsjY+Ms93tEdsG75CxipwaI=";
   };
 
   configurePhase = ''
diff --git a/pkgs/applications/audio/qmidiarp/default.nix b/pkgs/applications/audio/qmidiarp/default.nix
index 618062dc2f372..487f86cf660f6 100644
--- a/pkgs/applications/audio/qmidiarp/default.nix
+++ b/pkgs/applications/audio/qmidiarp/default.nix
@@ -10,13 +10,13 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "qmidiarp";
+  pname = "qmidiarp";
   version = "0.6.5";
 
   src = fetchgit {
     url = "https://git.code.sf.net/p/qmidiarp/code";
     sha256 = "1g2143gzfbihqr2zi3k2v1yn1x3mwfbb2khmcd4m4cq3hcwhhlx9";
-    rev = "qmidiarp-0.6.5";
+    rev = "qmidiarp-${version}";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix
index 460b97479c6c9..bed02f77e7b24 100644
--- a/pkgs/applications/audio/qmmp/default.nix
+++ b/pkgs/applications/audio/qmmp/default.nix
@@ -58,6 +58,5 @@ mkDerivation rec {
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
-    repositories.svn = "https://svn.code.sf.net/p/qmmp-dev/code";
   };
 }
diff --git a/pkgs/applications/audio/rhythmbox/default.nix b/pkgs/applications/audio/rhythmbox/default.nix
index 4898648599c3e..2f35f1fe65ca7 100644
--- a/pkgs/applications/audio/rhythmbox/default.nix
+++ b/pkgs/applications/audio/rhythmbox/default.nix
@@ -10,6 +10,7 @@
 , libnotify
 , libdmapsharing
 , gnome
+, gobject-introspection
 , totem-pl-parser
 , tdb
 , json-glib
@@ -65,6 +66,9 @@ in stdenv.mkDerivation rec {
     totem-pl-parser
     gnome.adwaita-icon-theme
 
+    gobject-introspection
+    python3.pkgs.pygobject3
+
     gst_all_1.gstreamer
     gst_all_1.gst-plugins-base
     gst_all_1.gst-plugins-good
@@ -83,6 +87,12 @@ in stdenv.mkDerivation rec {
     "--with-libsecret"
   ];
 
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix PYTHONPATH : "${python3.pkgs.pygobject3}/${python3.sitePackages}:$out/lib/rhythmbox/plugins/"
+    )
+  '';
+
   enableParallelBuilding = true;
 
   passthru = {
diff --git a/pkgs/applications/audio/sfizz/default.nix b/pkgs/applications/audio/sfizz/default.nix
index 54acc782c6037..aaa79bd3e3922 100644
--- a/pkgs/applications/audio/sfizz/default.nix
+++ b/pkgs/applications/audio/sfizz/default.nix
@@ -1,6 +1,7 @@
 { lib, stdenv, fetchFromGitHub, libjack2, libsndfile, xorg, freetype
 , libxkbcommon, cairo, glib, gnome, flac, libogg, libvorbis, libopus, cmake
-, pango, pkg-config }:
+, pango, pkg-config, catch2
+}:
 
 stdenv.mkDerivation rec {
   pname = "sfizz";
@@ -40,6 +41,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkg-config ];
 
   postPatch = ''
+    cp ${catch2}/include/catch2/catch.hpp tests/catch2/catch.hpp
+
     substituteInPlace plugins/editor/external/vstgui4/vstgui/lib/platform/linux/x11fileselector.cpp \
       --replace 'zenitypath = "zenity"' 'zenitypath = "${gnome.zenity}/bin/zenity"'
     substituteInPlace plugins/editor/src/editor/NativeHelpers.cpp \
@@ -48,6 +51,8 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" "-DSFIZZ_TESTS=ON" ];
 
+  doCheck = true;
+
   meta = with lib; {
     homepage = "https://github.com/sfztools/sfizz";
     description = "SFZ jack client and LV2 plugin";
diff --git a/pkgs/applications/audio/sfxr-qt/default.nix b/pkgs/applications/audio/sfxr-qt/default.nix
index bf8b826f544f9..2b264cfd56b99 100644
--- a/pkgs/applications/audio/sfxr-qt/default.nix
+++ b/pkgs/applications/audio/sfxr-qt/default.nix
@@ -1,26 +1,41 @@
 { lib
 , mkDerivation
 , fetchFromGitHub
+, fetchpatch
 , cmake
 , extra-cmake-modules
 , qtbase
 , qtquickcontrols2
 , SDL
 , python3
+, catch2
+, callPackage
+, nixosTests
 }:
 
 mkDerivation rec {
   pname = "sfxr-qt";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "agateau";
     repo = "sfxr-qt";
     rev = version;
-    sha256 = "sha256-Mn+wcwu70BwsTLFlc12sOOe6U1AJ8hR7bCIPlPnCooE=";
+    sha256 = "sha256-Ce5NJe1f+C4pPmtenHYvtkxste+nPuxJoB+N7K2nyRo=";
     fetchSubmodules = true;
   };
 
+  postPatch = ''
+    cp ${catch2}/include/catch2/catch.hpp 3rdparty/catch2/single_include/catch2/catch.hpp
+  '';
+
+  # Remove on next release
+  patches = [(fetchpatch {
+    name = "sfxr-qr-missing-qpainterpath-include";
+    url = "https://github.com/agateau/sfxr-qt/commit/ef051f473654052112b647df987eb263e38faf47.patch";
+    sha256 = "sha256-bqMnxHUzdS5oG/2hfr5MvkpwrtZW+GTN5fS2WpV2W2c=";
+  })];
+
   nativeBuildInputs = [
     cmake
     extra-cmake-modules
@@ -33,6 +48,13 @@ mkDerivation rec {
     SDL
   ];
 
+  doCheck = true;
+
+  passthru.tests = {
+    export-square-wave = callPackage ./test-export-square-wave {};
+    sfxr-qt-starts = nixosTests.sfxr-qt;
+  };
+
   meta = with lib; {
     homepage = "https://github.com/agateau/sfxr-qt";
     description = "A sound effect generator, QtQuick port of sfxr";
diff --git a/pkgs/applications/audio/sfxr-qt/test-export-square-wave/default.nix b/pkgs/applications/audio/sfxr-qt/test-export-square-wave/default.nix
new file mode 100644
index 0000000000000..eea0d0743e6a5
--- /dev/null
+++ b/pkgs/applications/audio/sfxr-qt/test-export-square-wave/default.nix
@@ -0,0 +1,6 @@
+{ runCommand, sfxr-qt }:
+
+runCommand "sfxr-qt-test-export-square-wave" ''
+  mkdir $out
+  ${sfxr-qt}/bin/sfxr-qt --export --output $out/output.wav ${./input.sfxj}
+''
diff --git a/pkgs/applications/audio/sfxr-qt/test-export-square-wave/input.sfxj b/pkgs/applications/audio/sfxr-qt/test-export-square-wave/input.sfxj
new file mode 100644
index 0000000000000..5ffd33b93f971
--- /dev/null
+++ b/pkgs/applications/audio/sfxr-qt/test-export-square-wave/input.sfxj
@@ -0,0 +1,29 @@
+{
+    "properties": {
+        "attackTime": 0,
+        "baseFrequency": 1,
+        "changeAmount": 0,
+        "changeSpeed": 0,
+        "decayTime": 1,
+        "deltaSlide": 0,
+        "dutySweep": 0,
+        "hpFilterCutoff": 0,
+        "hpFilterCutoffSweep": 0,
+        "lpFilterCutoff": 1,
+        "lpFilterCutoffSweep": 0,
+        "lpFilterResonance": 0,
+        "minFrequency": 0,
+        "phaserOffset": 0,
+        "phaserSweep": 0,
+        "repeatSpeed": 0,
+        "slide": 0,
+        "squareDuty": 0,
+        "sustainPunch": 0,
+        "sustainTime": 1,
+        "vibratoDepth": 0,
+        "vibratoSpeed": 0,
+        "volume": 1,
+        "waveForm": "Square"
+    },
+    "version": 1
+}
diff --git a/pkgs/applications/audio/sisco.lv2/default.nix b/pkgs/applications/audio/sisco.lv2/default.nix
index 3ecd4665f2621..5aa407a15023c 100644
--- a/pkgs/applications/audio/sisco.lv2/default.nix
+++ b/pkgs/applications/audio/sisco.lv2/default.nix
@@ -1,7 +1,6 @@
 { lib, stdenv, fetchFromGitHub, lv2, pkg-config, libGLU, libGL, cairo, pango, libjack2 }:
 
 let
-  name = "sisco.lv2-${version}";
   version = "0.7.0";
 
   robtkVersion = "80a2585253a861c81f0bfb7e4579c75f5c73af89";
@@ -22,7 +21,8 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  inherit name;
+  pname = "sisco.lv2";
+  inherit version;
 
   srcs = [ src robtkSrc ];
   sourceRoot = src.name;
diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix
index 52789d64d10af..01e8f5d236110 100644
--- a/pkgs/applications/audio/snd/default.nix
+++ b/pkgs/applications/audio/snd/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "snd";
-  version = "22.1";
+  version = "22.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/snd/snd-${version}.tar.gz";
-    sha256 = "sha256-jrH0XRvPj9ySd8FSrOKf6qP5T1YSKrYBNHl6fz5dhkI=";
+    sha256 = "sha256-MZ8Vm/d+0r7YsXdySKcH5rqXBh4iFLyUe44LBOD58E0=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/audio/sonic-pi/default.nix b/pkgs/applications/audio/sonic-pi/default.nix
index e9d8f979e4ad1..b41bea58453ce 100644
--- a/pkgs/applications/audio/sonic-pi/default.nix
+++ b/pkgs/applications/audio/sonic-pi/default.nix
@@ -54,9 +54,9 @@ in
 mkDerivation rec {
   inherit pname version src;
 
+  nativeBuildInputs = [ cmake ];
   buildInputs = [
     bash
-    cmake
     pkg-config
     qtbase
     qwt
diff --git a/pkgs/applications/audio/sound-juicer/default.nix b/pkgs/applications/audio/sound-juicer/default.nix
index c03b48c436bf6..f162dcd045d89 100644
--- a/pkgs/applications/audio/sound-juicer/default.nix
+++ b/pkgs/applications/audio/sound-juicer/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchurl
+, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -28,6 +29,15 @@ stdenv.mkDerivation rec {
     sha256 = "08d5d81rz9sj3m5paw8fwbgxmhlbr7bcjdzpmzj832qvg8smydxf";
   };
 
+  patches = [
+    # Fix build with meson 0.61
+    # data/meson.build:2:5: ERROR: Function does not take positional arguments.
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/sound-juicer/-/commit/9f97ca1faca396099f52264a9729aa355f8d122e.patch";
+      sha256 = "8JllVSQgI7KiBI5WP6QtXRiggYuD89NSJJp1hP4Dbao=";
+    })
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/applications/audio/soundkonverter/default.nix b/pkgs/applications/audio/soundkonverter/default.nix
index 1c1724fbce8bd..d853676264162 100644
--- a/pkgs/applications/audio/soundkonverter/default.nix
+++ b/pkgs/applications/audio/soundkonverter/default.nix
@@ -45,7 +45,7 @@ let runtimeDeps = []
 
 in
 mkDerivation rec {
-  name = "soundkonverter";
+  pname = "soundkonverter";
   version = "3.0.1";
   src = fetchFromGitHub {
     owner = "dfaust";
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index aa04eba7fe8a1..d2fe381ac6aeb 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -126,8 +126,8 @@ stdenv.mkDerivation {
       # Work around Spotify referring to a specific minor version of
       # OpenSSL.
 
-      ln -s ${openssl.out}/lib/libssl.so $libdir/libssl.so.1.0.0
-      ln -s ${openssl.out}/lib/libcrypto.so $libdir/libcrypto.so.1.0.0
+      ln -s ${lib.getLib openssl}/lib/libssl.so $libdir/libssl.so.1.0.0
+      ln -s ${lib.getLib openssl}/lib/libcrypto.so $libdir/libcrypto.so.1.0.0
       ln -s ${nspr.out}/lib/libnspr4.so $libdir/libnspr4.so
       ln -s ${nspr.out}/lib/libplc4.so $libdir/libplc4.so
 
diff --git a/pkgs/applications/audio/strawberry/default.nix b/pkgs/applications/audio/strawberry/default.nix
index b607e2c9a0f1e..ee77144104c2e 100644
--- a/pkgs/applications/audio/strawberry/default.nix
+++ b/pkgs/applications/audio/strawberry/default.nix
@@ -19,6 +19,7 @@
 , protobuf
 , sqlite
 , taglib
+, libgpod
 , libpulseaudio
 , libselinux
 , libsepol
@@ -36,13 +37,13 @@
 
 mkDerivation rec {
   pname = "strawberry";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "jonaski";
     repo = pname;
     rev = version;
-    sha256 = "sha256-/pwHWmQTV1QBK+5SS0/NC6wMm2QQm+iCZArxiHjn4M4=";
+    sha256 = "sha256-wa7r6maHAgCTD/TFjqtMuoRt1BqQ38T8KpbMUOoS2ZE=";
   };
 
   buildInputs = [
@@ -63,6 +64,7 @@ mkDerivation rec {
     qtbase
     qtx11extras
   ] ++ lib.optionals stdenv.isLinux [
+    libgpod
     libpulseaudio
     libselinux
     libsepol
diff --git a/pkgs/applications/audio/synaesthesia/default.nix b/pkgs/applications/audio/synaesthesia/default.nix
new file mode 100644
index 0000000000000..efdd6f7e73a7e
--- /dev/null
+++ b/pkgs/applications/audio/synaesthesia/default.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, lib
+, fetchzip
+, SDL
+, pkg-config
+, libSM
+}:
+stdenv.mkDerivation rec {
+  pname = "synaesthesia";
+  version = "2.4";
+
+  src = fetchzip {
+    url = "https://logarithmic.net/pfh-files/synaesthesia/synaesthesia-${version}.tar.gz";
+    sha256 = "0nzsdxbah0shm2vlziaaw3ilzlizd3d35rridkpg40nfxmq84qnx";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    SDL
+    libSM
+  ];
+
+  meta = {
+    homepage = "https://logarithmic.net/pfh/synaesthesia";
+    description = "Program for representing sounds visually";
+    license = lib.licenses.gpl2Only;
+    platforms = lib.platforms.linux;
+    maintainers = [ lib.maintainers.infinisil ];
+  };
+}
diff --git a/pkgs/applications/audio/timemachine/default.nix b/pkgs/applications/audio/timemachine/default.nix
index 623714e706fb3..042e6b4307560 100644
--- a/pkgs/applications/audio/timemachine/default.nix
+++ b/pkgs/applications/audio/timemachine/default.nix
@@ -12,8 +12,8 @@ stdenv.mkDerivation rec {
     sha256 = "16fgyw6jnscx9279dczv72092dddghwlp53rkfw469kcgvjhwx0z";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-    buildInputs = [ autoconf automake gtk2 libjack2
+  nativeBuildInputs = [ pkg-config autoconf automake ];
+    buildInputs = [ gtk2 libjack2
       libsndfile
     ];
 
diff --git a/pkgs/applications/audio/tonelib-metal/default.nix b/pkgs/applications/audio/tonelib-metal/default.nix
new file mode 100644
index 0000000000000..9acb6982c6a72
--- /dev/null
+++ b/pkgs/applications/audio/tonelib-metal/default.nix
@@ -0,0 +1,60 @@
+{ lib
+, stdenv
+, fetchurl
+, autoPatchelfHook
+, dpkg
+, alsa-lib
+, freetype
+, libglvnd
+, mesa
+, curl
+, libXcursor
+, libXinerama
+, libXrandr
+, libXrender
+, libjack2
+}:
+
+stdenv.mkDerivation rec {
+  pname = "tonelib-metal";
+  version = "1.1.0";
+
+  src = fetchurl {
+    url = "https://www.tonelib.net/download/220218/ToneLib-Metal-amd64.deb";
+    sha256 = "sha256-F5EKwNQ9f/kdZLFI+QDZHvwevV/vDnxMdSmT/vnX6ug=";
+  };
+
+  nativeBuildInputs = [ autoPatchelfHook dpkg ];
+
+  buildInputs = [
+    stdenv.cc.cc.lib
+    alsa-lib
+    freetype
+    libglvnd
+    mesa
+  ] ++ runtimeDependencies;
+
+  runtimeDependencies = map lib.getLib [
+    curl
+    libXcursor
+    libXinerama
+    libXrandr
+    libXrender
+    libjack2
+  ];
+
+  unpackCmd = "dpkg -x $curSrc source";
+
+  installPhase = ''
+    mv usr $out
+    substituteInPlace $out/share/applications/ToneLib-Metal.desktop --replace /usr/ $out/
+ '';
+
+  meta = with lib; {
+    description = "ToneLib Metal – Guitar amp simulator targeted at metal players";
+    homepage = "https://tonelib.net/";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ dan4ik605743 ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/audio/xsynth-dssi/default.nix b/pkgs/applications/audio/xsynth-dssi/default.nix
index 0802a79df04a8..61d49d110a9e8 100644
--- a/pkgs/applications/audio/xsynth-dssi/default.nix
+++ b/pkgs/applications/audio/xsynth-dssi/default.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation  rec {
     sha256 = "00nwv2pqjbmxqdc6xdm0cljq6z05lv4y6bibmhz1kih9lm0lklnk";
   };
 
-  buildInputs = [ alsa-lib autoconf automake dssi gtk2 libjack2 ladspaH
+  nativeBuildInputs = [ autoconf automake  ];
+  buildInputs = [ alsa-lib dssi gtk2 libjack2 ladspaH
     ladspaPlugins liblo pkg-config ];
 
   installPhase = ''
diff --git a/pkgs/applications/backup/pika-backup/default.nix b/pkgs/applications/backup/pika-backup/default.nix
index e0b8b2fca14f8..604456c6583ac 100644
--- a/pkgs/applications/backup/pika-backup/default.nix
+++ b/pkgs/applications/backup/pika-backup/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitLab
+, fetchpatch
 , rustPlatform
 , substituteAll
 , desktop-file-utils
@@ -40,6 +41,13 @@ stdenv.mkDerivation rec {
       src = ./borg-path.patch;
       borg = "${borgbackup}/bin/borg";
     })
+    # Fix build with meson 0.61, can be removed on next release.
+    # https://gitlab.gnome.org/World/pika-backup/-/issues/156
+    # https://github.com/mesonbuild/meson/issues/9441
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/World/pika-backup/-/commit/54be149c88fd69fb9e74b7362fe7182863237869.patch";
+      sha256 = "sha256-Tffxo5hlf/gSkp1GfyL4eHthX49tuTq6B+S53N8oA2M=";
+    })
   ];
 
   postPatch = ''
@@ -73,5 +81,6 @@ stdenv.mkDerivation rec {
     changelog = "https://gitlab.gnome.org/World/pika-backup/-/blob/v${version}/CHANGELOG.md";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ dotlambda ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/blockchains/bitcoin-unlimited/default.nix b/pkgs/applications/blockchains/bitcoin-unlimited/default.nix
index 802a19167a977..fe7acb0bbe1de 100644
--- a/pkgs/applications/blockchains/bitcoin-unlimited/default.nix
+++ b/pkgs/applications/blockchains/bitcoin-unlimited/default.nix
@@ -6,7 +6,7 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  name = "bitcoin" + (toString (optional (!withGui) "d")) + "-unlimited-" + version;
+  pname = "bitcoin" + optionalString (!withGui) "d" + "-unlimited";
   version = "1.9.2.0";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/blockchains/cgminer/default.nix b/pkgs/applications/blockchains/cgminer/default.nix
index 250379ee71093..a77924bb1f05e 100644
--- a/pkgs/applications/blockchains/cgminer/default.nix
+++ b/pkgs/applications/blockchains/cgminer/default.nix
@@ -23,8 +23,8 @@ stdenv.mkDerivation rec {
     sha256 = "0l1ms3nxnjzh4mpiadikvngcr9k3jnjqy3yna207za0va0c28dj5";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ autoconf automake libtool curl ncurses ocl-icd opencl-headers
+  nativeBuildInputs = [ pkg-config autoconf automake ];
+  buildInputs = [ libtool curl ncurses ocl-icd opencl-headers
     xorg.libX11 xorg.libXext xorg.libXinerama jansson libusb1 ];
 
   configureScript = "./autogen.sh";
diff --git a/pkgs/applications/blockchains/dogecoin/default.nix b/pkgs/applications/blockchains/dogecoin/default.nix
index 35b9fb026e398..8094959a248d8 100644
--- a/pkgs/applications/blockchains/dogecoin/default.nix
+++ b/pkgs/applications/blockchains/dogecoin/default.nix
@@ -6,7 +6,7 @@
 
 with lib;
 stdenv.mkDerivation rec {
-  name = "dogecoin" + (toString (optional (!withGui) "d")) + "-" + version;
+  pname = "dogecoin" + optionalString (!withGui) "d";
   version = "1.14.5";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/blockchains/go-ethereum/default.nix b/pkgs/applications/blockchains/go-ethereum/default.nix
index 842ebcc69ec81..661a25c8314b4 100644
--- a/pkgs/applications/blockchains/go-ethereum/default.nix
+++ b/pkgs/applications/blockchains/go-ethereum/default.nix
@@ -9,16 +9,16 @@ let
 
 in buildGoModule rec {
   pname = "go-ethereum";
-  version = "1.10.16";
+  version = "1.10.17";
 
   src = fetchFromGitHub {
     owner = "ethereum";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-l+hxAUw55d9MYLIUdF6qSEIelJQYRCvHyw1yuossmyA=";
+    sha256 = "sha256-GBlrg4wOiqEQTZC3CtfAZbIvS16/pSjEedEDrPGNUtY=";
   };
 
-  vendorSha256 = "sha256-keeox2d2WEzY9ynEcovPaU95YzVQlbTu1i7PLpjkjZU=";
+  vendorSha256 = "sha256-D4odWuGFipSvbKbNlA6PkTo3rWGTCptJcn/7V7ZA7qs=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index 6dc644fbb968a..d72da2c060f17 100644
--- a/pkgs/applications/blockchains/ledger-live-desktop/default.nix
+++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "ledger-live-desktop";
-  version = "2.39.2";
+  version = "2.40.2";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
-    hash = "sha256-zVefF5CsyVVMNffec/xwA3KmMtZepM51C3Xh0ZCGl0c=";
+    hash = "sha256-2L1iVPLCCIQ6qBqkg+GmiqMmknHmdDLUrysN8vcW2YQ=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/blockchains/litecoin/default.nix b/pkgs/applications/blockchains/litecoin/default.nix
index c80ef342c752a..0a82ca0ce2c38 100644
--- a/pkgs/applications/blockchains/litecoin/default.nix
+++ b/pkgs/applications/blockchains/litecoin/default.nix
@@ -11,8 +11,7 @@
 with lib;
 
 mkDerivation rec {
-
-  name = "litecoin" + (toString (optional (!withGui) "d")) + "-" + version;
+  pname = "litecoin" + optionalString (!withGui) "d";
   version = "0.18.1";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/blockchains/lndmanage/default.nix b/pkgs/applications/blockchains/lndmanage/default.nix
index ebbe653c96b20..c9e655448d28d 100644
--- a/pkgs/applications/blockchains/lndmanage/default.nix
+++ b/pkgs/applications/blockchains/lndmanage/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "lndmanage";
-  version = "0.14.0";
+  version = "0.14.1";
 
   src = fetchFromGitHub {
     owner = "bitromortac";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-wPr/R+WGACyhv2Qh9JeLJwvr2vQfxpqj2XjEkrRoSX4=";
+    hash = "sha256-c36AbND01bUr0Klme4fU7GrY1oYcmoEREQI9cwsK7YM=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/applications/blockchains/namecoin/default.nix b/pkgs/applications/blockchains/namecoin/default.nix
index 1851c581c9ae6..d5c739e00f4a6 100644
--- a/pkgs/applications/blockchains/namecoin/default.nix
+++ b/pkgs/applications/blockchains/namecoin/default.nix
@@ -3,8 +3,8 @@
 
 with lib;
 stdenv.mkDerivation rec {
+  pname = "namecoin" + optionalString (!withGui) "d";
   version = "nc22.0";
-  name = "namecoin" + toString (optional (!withGui) "d") + "-" + version;
 
   src = fetchFromGitHub {
     owner = "namecoin";
diff --git a/pkgs/applications/blockchains/polkadot/default.nix b/pkgs/applications/blockchains/polkadot/default.nix
index ced8b1f857cc8..24d1f2cd0f46d 100644
--- a/pkgs/applications/blockchains/polkadot/default.nix
+++ b/pkgs/applications/blockchains/polkadot/default.nix
@@ -4,7 +4,9 @@
 , llvmPackages
 , protobuf
 , rustPlatform
+, stdenv
 , writeShellScriptBin
+, Security
 }:
 rustPlatform.buildRustPackage rec {
   pname = "polkadot";
@@ -32,6 +34,8 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "sha256-Gc5WbayQUlsl7Fk8NyLPh2Zg2yrLl3WJqKorNZMLi94=";
 
+  buildInputs = lib.optional stdenv.isDarwin [ Security ];
+
   nativeBuildInputs = [ clang ];
 
   preBuild = ''
@@ -56,6 +60,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://polkadot.network";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ akru andresilva asymmetric FlorianFranzen RaghavSood ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/blockchains/snarkos/default.nix b/pkgs/applications/blockchains/snarkos/default.nix
index c52780c9564e2..82c3555f64d6a 100644
--- a/pkgs/applications/blockchains/snarkos/default.nix
+++ b/pkgs/applications/blockchains/snarkos/default.nix
@@ -27,7 +27,7 @@ rustPlatform.buildRustPackage rec {
 
   # Needed to get openssl-sys to use pkg-config.
   OPENSSL_NO_VENDOR = 1;
-  OPENSSL_LIB_DIR = "${openssl.out}/lib";
+  OPENSSL_LIB_DIR = "${lib.getLib openssl}/lib";
   OPENSSL_DIR="${lib.getDev openssl}";
 
   LIBCLANG_PATH="${llvmPackages.libclang.lib}/lib";
diff --git a/pkgs/applications/blockchains/solana/default.nix b/pkgs/applications/blockchains/solana/default.nix
index bfa9382b245a4..0eb48b19c88f5 100644
--- a/pkgs/applications/blockchains/solana/default.nix
+++ b/pkgs/applications/blockchains/solana/default.nix
@@ -37,7 +37,7 @@ rustPlatform.buildRustPackage rec {
   # checkInputs = lib.optionals stdenv.isDarwin [ pkg-config rustfmt ];
   # Needed to get openssl-sys to use pkg-config.
   # OPENSSL_NO_VENDOR = 1;
-  # OPENSSL_LIB_DIR = "${openssl.out}/lib";
+  # OPENSSL_LIB_DIR = "${lib.getLib openssl}/lib";
   # OPENSSL_DIR="${lib.getDev openssl}";
   # LLVM_CONFIG_PATH="${llvm}/bin/llvm-config";
   # LIBCLANG_PATH="${llvmPackages.libclang.lib}/lib";
diff --git a/pkgs/applications/editors/apostrophe/default.nix b/pkgs/applications/editors/apostrophe/default.nix
index e5cfeb964bd71..ce8d32f465e29 100644
--- a/pkgs/applications/editors/apostrophe/default.nix
+++ b/pkgs/applications/editors/apostrophe/default.nix
@@ -13,14 +13,14 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "apostrophe";
-  version = "2.5";
+  version = "2.6.2";
 
   src = fetchFromGitLab {
     owner  = "World";
     repo   = pname;
     domain = "gitlab.gnome.org";
     rev    = "v${version}";
-    sha256 = "06yfiflmj3ip7ppcz41nb3xpgb5ggw5h74w0v87yaqqkq7qh31lp";
+    sha256 = "sha256-At3kaVJE07j/QWXerYnvxleE2Cbn0FjlBXH69tkuFys=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config desktop-file-utils
diff --git a/pkgs/applications/editors/bless/default.nix b/pkgs/applications/editors/bless/default.nix
index e613747aeab1a..f79d72792317b 100644
--- a/pkgs/applications/editors/bless/default.nix
+++ b/pkgs/applications/editors/bless/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchFromGitHub
 , pkg-config
 , mono
@@ -12,6 +13,7 @@
 , libxslt
 , docbook_xsl
 , python3
+, itstool
 }:
 
 stdenv.mkDerivation rec {
@@ -25,11 +27,6 @@ stdenv.mkDerivation rec {
     hash = "sha256-rS+vJX0y9v1TiPsRfABroHiTuENQKEOxNsyKwagRuHM=";
   };
 
-  postPatch = ''
-    sed "s|get_option('tests')|false|g" -i meson.build
-    patchShebangs .
-  '';
-
   buildInputs = [
     gtk-sharp-2_0
     mono
@@ -47,8 +44,17 @@ stdenv.mkDerivation rec {
     libxslt
     docbook_xsl
     python3
+    itstool
+  ];
+
+  mesonFlags = [
+    "-Dtests=false" # requires NUnit
   ];
 
+  postPatch = ''
+    patchShebangs .
+  '';
+
   preFixup = ''
     MPATH="${gtk-sharp-2_0}/lib/mono/gtk-sharp-2.0:${glib.out}/lib:${gtk2-x11}/lib:${gtk-sharp-2_0}/lib"
     wrapProgram $out/bin/bless --prefix MONO_PATH : "$MPATH" --prefix LD_LIBRARY_PATH : "$MPATH" --prefix PATH : ${lib.makeBinPath [ mono ]}
diff --git a/pkgs/applications/editors/bluej/default.nix b/pkgs/applications/editors/bluej/default.nix
index 100178f7daf17..b8a651b2d44fa 100644
--- a/pkgs/applications/editors/bluej/default.nix
+++ b/pkgs/applications/editors/bluej/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bluej";
-  version = "5.0.2";
+  version = "5.0.3";
   src = fetchurl {
     # We use the deb here. First instinct might be to go for the "generic" JAR
     # download, but that is actually a graphical installer that is much harder
     # to unpack than the deb.
     url = "https://www.bluej.org/download/files/BlueJ-linux-${builtins.replaceStrings ["."] [""] version}.deb";
-    sha256 = "sha256-9sWfVQF/wCiVDKBmesMpM+5BHjFUPszm6U1SgJNQ8lE=";
+    sha256 = "sha256-OarqmptxZc7xEEYeoCVqHXkAvfzfSYx5nUp/iWPyoqw=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/editors/cudatext/default.nix b/pkgs/applications/editors/cudatext/default.nix
index 510873f200ead..d142551a11415 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.158.2";
+  version = "1.159.2";
 
   src = fetchFromGitHub {
     owner = "Alexey-T";
     repo = "CudaText";
     rev = version;
-    sha256 = "sha256-YrRG+LaG39q/6Ry3cXo9XUwtvokkBl96XuQfE22QxZI=";
+    sha256 = "sha256-dSZd+Dsln7xUfN/cqTZSdnpnINHsDCBrbNGcDLwqzzU=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/editors/cudatext/deps.json b/pkgs/applications/editors/cudatext/deps.json
index 5e0f37c78b61c..430061e0eb726 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.03.17",
-    "sha256": "sha256-aJZGHodydkqfe2BJLKWUzIX6vbdiGKs4z5ZqtteM6NU="
+    "rev": "2022.03.23",
+    "sha256": "sha256-D/pQ4TSWUaL97Nau3bGi7rc8MxnvuoDcD7HDNEDwmsk="
   },
   "ATSynEdit_Cmp": {
     "owner": "Alexey-T",
@@ -26,13 +26,13 @@
   },
   "EControl": {
     "owner": "Alexey-T",
-    "rev": "2022.03.17",
-    "sha256": "sha256-sWRKRhUYf07TIrVWRqtpsYPZu0dPm0EhSIqoDLmkG0Y="
+    "rev": "2022.03.28",
+    "sha256": "sha256-jh3lqisiPNMxCapP6O5oJdUL3PLQ3JyomtgWix+bML0="
   },
   "ATSynEdit_Ex": {
     "owner": "Alexey-T",
-    "rev": "2022.03.17",
-    "sha256": "sha256-FndLHJuCOyFr0IGUL4zFRjkEvTyNF3tHUO/Wx5IaV2Y="
+    "rev": "2022.03.28",
+    "sha256": "sha256-TpAaL7/bhnrQgAq1mUTdEWXecSmznWy/iAw+TMMrQGo="
   },
   "Python-for-Lazarus": {
     "owner": "Alexey-T",
diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix
index c97cbaf60ea54..ea763ecb39ad8 100644
--- a/pkgs/applications/editors/eclipse/default.nix
+++ b/pkgs/applications/editors/eclipse/default.nix
@@ -16,11 +16,11 @@ assert stdenv ? glibc;
 
 let
   platform_major = "4";
-  platform_minor = "22";
-  year = "2021";
-  month = "12"; #release month
-  buildmonth = "11"; #sometimes differs from release month
-  timestamp = "${year}${buildmonth}241800";
+  platform_minor = "23";
+  year = "2022";
+  month = "03"; #release month
+  buildmonth = "03"; #sometimes differs from release month
+  timestamp = "${year}${buildmonth}080310";
   gtk = gtk3;
 in rec {
 
@@ -40,7 +40,7 @@ in rec {
     src =
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-cpp-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
-        hash = "sha512-Lniaw8aUptHI0a75olTNHaMba+ugUdJKf9sJ0hGzKqY94vvfU3N2TH5eQBeXb1MyQdRdBL1D8Vs3+LD9lWlTMg==";
+        hash = "sha512-IKoHGBH8pQ1mkdMz11exO1u5T3hCPk662nPYoFunCyrQHOVA6KDAVHzEo1dxNUSJVGvW9YHDbGlZphXniTBJHw==";
       };
   };
 
@@ -52,7 +52,7 @@ in rec {
     src =
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-modeling-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
-        hash = "sha512-F/5yroFDbrSclmUP5vTNSkYR+OZ1dkPv2FPZT1XM5HFoynitYkDxnj+uTcJIBOWv3Zu1plU4yweW0DF1E9jLcg==";
+        hash = "sha512-cG3mMEJiuNrVfFy5nNkVqC2OpMeE5C1iu26E+LKGwwIBwqPoJtFBPRhLdGVC73KwDDRK8DEyurXsiFal60dv/g==";
       };
   };
 
@@ -64,7 +64,7 @@ in rec {
     src =
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-platform-${platform_major}.${platform_minor}-linux-gtk-x86_64.tar.gz";
-        hash = "sha512-3XsBk8/KHtTjit/WMneOghuOkqEHOIdLwof7718dsrDP4vfgcfhb47V7fPYDOw2eld88pHk+85mTGpZOTTywxw==";
+        hash = "sha512-AEGENE5AXXUmIRwv8Hp3LByfPtuG/HvipqkMoq+K4A+8Y7NZCRQM9YSf8zr42S0aYTr6rwP6VJajpFiz4ixULg==";
       };
   };
 
@@ -90,7 +90,7 @@ in rec {
     src =
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-SDK-${platform_major}.${platform_minor}-linux-gtk-x86_64.tar.gz";
-        hash = "sha512-7bTYIFnX8oUPaqDrMOlGNnpyC+xvDQsNmgZUps/epGkzM9Fjlc2lPr75VR7UaezBCoAuNTSHCYtG5d6TJOKjmQ==";
+        hash = "sha512-CTSuI6Dc2wKe0RduPKAacQmXbEBtF4J7Q5b9gC1MIkXXWPLW7Yp+lL/a167TXgDHG3kqNWbonjZ2JwU2T0FRjg==";
       };
   };
 
@@ -102,7 +102,7 @@ in rec {
     src =
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-java-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
-        hash = "sha512-ahykujYH9RLvxVMPFlFILGYJO0LXHvuhnILifeAo5v5Tp5ktGVlZWG461iZHETlt8Zr76liGAqm1ytQcuzCyQA==";
+        hash = "sha512-6QOtNFYCRhdSiclEwijBcp2EODnlp8qtO56NJLuRdgwpEe+3A567L/vsZe/E72YTGZOFh9yJ7+XehIEjonfUIw==";
       };
   };
 
@@ -114,7 +114,7 @@ in rec {
     src =
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-jee-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
-        hash = "sha512-CuKxjcnvkROURtavZJN0AhCuA0x7NayZTpIOn9oE21rUzVqR0p7x7C5RPtMZ9gS4ZMWcYyQDJ0BVgRHBoKsYqQ==";
+        hash = "sha512-bgaRM7l4WOoGA8doR/nqjV4Hnszx3N4cZANYfq/Fq5Agspocu4m1F4ofetQC4BdlLkx0o+moKSN6sm34aT5H4Q==";
       };
   };
 
@@ -126,7 +126,7 @@ in rec {
     src =
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-committers-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
-        hash = "sha512-CqUbxUUMIJsXsx4XEOQ1d2L3U22VpAfQP+R8HNoVetDawhR+b2tyDVnTQRKTL4dJ0fjLXDeoHvTlPm1EXi/ahA==";
+        hash = "sha512-YyyATAL0pJVrinrLixIW3p+bz3WfD7L/WL0EGnUWgCGsiVDzF2CGoXXT8YsH34uc+6Hn8z23JCoNX4Sqdo8i7Q==";
       };
   };
 
@@ -138,7 +138,7 @@ in rec {
     src =
       fetchurl {
         url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-rcp-${year}-${month}-R-linux-gtk-x86_64.tar.gz";
-        hash = "sha256-ys3MjIBr2hLZC/GB8Am/Qlto4+dSzOoK9p7QF+GS0Eg=";
+        hash = "sha256-1Go3e1HDRJlba8ySYRfi0+aU6aHjKmd3fc/IgeKw18c=";
       };
   };
 
diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix
index 32b0dfd864f0b..8abf835eb4d86 100644
--- a/pkgs/applications/editors/eclipse/plugins.nix
+++ b/pkgs/applications/editors/eclipse/plugins.nix
@@ -248,12 +248,12 @@ rec {
   cdt = buildEclipseUpdateSite rec {
     name = "cdt-${version}";
     # find current version at https://www.eclipse.org/cdt/downloads.php
-    version = "10.5.0";
+    version = "10.6.0";
 
     src = fetchzip {
       stripRoot = false;
       url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/tools/cdt/releases/${lib.versions.majorMinor version}/${name}/${name}.zip";
-      hash = "sha256-0sf38Ekw9mMjiEmJDcunVL3VS3KqWVXKZlQIGBk4V4g=";
+      hash = "sha256-eMvZ2UvPpUq1J4DDg6f+R1g217bnRjxmr5zWUAhef/c=";
     };
 
     meta = with lib; {
diff --git a/pkgs/applications/editors/emacs/27.nix b/pkgs/applications/editors/emacs/27.nix
index 436785c34f686..064231b24565c 100644
--- a/pkgs/applications/editors/emacs/27.nix
+++ b/pkgs/applications/editors/emacs/27.nix
@@ -7,5 +7,10 @@ import ./generic.nix (rec {
       url = "https://git.savannah.gnu.org/cgit/emacs.git/patch/?id=a88f63500e475f842e5fbdd9abba4ce122cdb082";
       sha256 = "sha256-RF9b5PojFUAjh2TDUW4+HaWveV30Spy1iAXhaWf1ZVg=";
     })
+    # glibc 2.34 compat
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/emacs/raw/181aafcdb7ee2fded9fce4cfc448f27edccc927f/f/emacs-glibc-2.34.patch";
+      sha256 = "sha256-2o3C/jhZPl2OW/LmVPt/fhdwbS9NOdF9lVEF1Kn9aEk=";
+    })
   ];
 })
diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
index d11ed899bc1b8..49c1b6248cac7 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
@@ -429,10 +429,10 @@
       elpaBuild {
         pname = "buffer-env";
         ename = "buffer-env";
-        version = "0.2";
+        version = "0.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/buffer-env-0.2.tar";
-          sha256 = "1420qln8ww43d6gs70cnxab6lf10dhmk5yk29pwsvjk86afhwhwf";
+          url = "https://elpa.gnu.org/packages/buffer-env-0.3.tar";
+          sha256 = "0h92pia258fndihnwmnak10ix00dmfanadnsnzbdah3q64416qhz";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1206,10 +1206,10 @@
       elpaBuild {
         pname = "ebdb";
         ename = "ebdb";
-        version = "0.8.12";
+        version = "0.8.14";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ebdb-0.8.12.tar";
-          sha256 = "1k53crdmaw6lzvprsmpdfvg96ck54bzs4z1d4q9x890anglxq5m6";
+          url = "https://elpa.gnu.org/packages/ebdb-0.8.14.tar";
+          sha256 = "0h7yva7p4b4lapi7pwcibf75nqmazjf3r67ibnkc8l9salfhml25";
         };
         packageRequires = [ emacs seq ];
         meta = {
@@ -1266,10 +1266,10 @@
       elpaBuild {
         pname = "eev";
         ename = "eev";
-        version = "20220316";
+        version = "20220324";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/eev-20220316.tar";
-          sha256 = "1ax487ca2rsq6ck2g0694fq3z7a89dy4pcns15wd7ygkf3a4sykf";
+          url = "https://elpa.gnu.org/packages/eev-20220324.tar";
+          sha256 = "0x1fhjj7g96xmp8pnj3k23xi61nfzaj04bzx050qjc1dvdg8gpfa";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1324,10 +1324,10 @@
       elpaBuild {
         pname = "eldoc";
         ename = "eldoc";
-        version = "1.11.0";
+        version = "1.11.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/eldoc-1.11.0.el";
-          sha256 = "1py9l1vl7s90y5kfpglhy11jswam2gcrqap09h6wb5ldnyb8cgq2";
+          url = "https://elpa.gnu.org/packages/eldoc-1.11.1.tar";
+          sha256 = "065clc07nrgp56cgynqhq3fmnwd64ccg2jxzikzb0f2zkn10vc90";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2073,10 +2073,10 @@
       elpaBuild {
         pname = "isearch-mb";
         ename = "isearch-mb";
-        version = "0.4";
+        version = "0.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/isearch-mb-0.4.tar";
-          sha256 = "11q9sdi6l795hspi7hr621bbra66pxsgrkry95k7wxjkmibcbsxr";
+          url = "https://elpa.gnu.org/packages/isearch-mb-0.5.tar";
+          sha256 = "0fah8dmh9jv05i93ccn9dvl7qmfy32vwxqdzkf1v8gr1plsyjyx7";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3295,10 +3295,10 @@
       elpaBuild {
         pname = "phps-mode";
         ename = "phps-mode";
-        version = "0.4.19";
+        version = "0.4.20";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/phps-mode-0.4.19.tar";
-          sha256 = "1l9ivg6x084r235jpd90diaa4v29r1kyfsblzsb8blskb9ka5b56";
+          url = "https://elpa.gnu.org/packages/phps-mode-0.4.20.tar";
+          sha256 = "0xb4i3s6yira1kfqwrs72ajvpqc6pw7gqlxmfmdhyyvib6p93l6m";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3396,6 +3396,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    pulsar = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "pulsar";
+        ename = "pulsar";
+        version = "0.2.0";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/pulsar-0.2.0.tar";
+          sha256 = "0vil6gv7w6d77hksc2pbrwjdd8dp3ka4kf5kihx04r95032pky62";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/pulsar.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     pyim = callPackage ({ async, elpaBuild, emacs, fetchurl, lib, xr }:
       elpaBuild {
         pname = "pyim";
@@ -3725,10 +3740,10 @@
       elpaBuild {
         pname = "repology";
         ename = "repology";
-        version = "1.2.2";
+        version = "1.2.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/repology-1.2.2.tar";
-          sha256 = "0ggb0zgz24hs5andhyrlpqm0gda0gf1wynzkarj4z7gpk5p9wrpr";
+          url = "https://elpa.gnu.org/packages/repology-1.2.3.tar";
+          sha256 = "1ngx23b7dilyps20nznrrn867kbxyn6nryf4p1sy5m576hkw18kn";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4700,10 +4715,10 @@
       elpaBuild {
         pname = "vertico-posframe";
         ename = "vertico-posframe";
-        version = "0.5.2";
+        version = "0.5.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/vertico-posframe-0.5.2.tar";
-          sha256 = "0gzvm0la706kg3aqgrd6crz6353sp47dnpxdj9l2avb31avyqmv9";
+          url = "https://elpa.gnu.org/packages/vertico-posframe-0.5.3.tar";
+          sha256 = "12jcb4im1ys2s0wbv9nfmgpcrz037zagd677qjm8hz8fn29xdh6n";
         };
         packageRequires = [ emacs posframe vertico ];
         meta = {
diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
index fd658aac5f442..fd8d17da60eae 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
@@ -2,10 +2,11 @@
 
 # Updating
 
-To update the list of packages from MELPA,
+To update the list of packages from ELPA,
 
 1. Run `./update-elpa`.
 2. Check for evaluation errors:
+     # "../../../../../" points to the default.nix from root of Nixpkgs tree
      env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate ../../../../../ -A emacs.pkgs.elpaPackages
 3. Run `git commit -m "elpa-packages $(date -Idate)" -- elpa-generated.nix`
 
diff --git a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix
index 9a81f25ec1b3f..7c481c6d977e9 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix
@@ -6,6 +6,7 @@ To update the list of packages from MELPA,
 
 1. Run `./update-melpa`
 2. Check for evaluation errors:
+     # "../../../../../" points to the default.nix from root of Nixpkgs tree
      env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../../ -A emacs.pkgs.melpaStablePackages
      env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../../ -A emacs.pkgs.melpaPackages
 3. Run `git commit -m "melpa-packages $(date -Idate)" recipes-archive-melpa.json`
@@ -546,6 +547,13 @@ let
               '';
           });
         });
+
+        mozc = super.mozc.overrideAttrs (attrs: {
+          postPatch = attrs.postPatch or "" + ''
+            substituteInPlace src/unix/emacs/mozc.el \
+              --replace '"mozc_emacs_helper"' '"${pkgs.ibus-engines.mozc}/lib/mozc/mozc_emacs_helper"'
+          '';
+        });
       };
 
     in lib.mapAttrs (n: v: if lib.hasAttr n overrides then overrides.${n} else v) super);
diff --git a/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
index e385cf63a1640..dc2e87c30e608 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
@@ -712,10 +712,10 @@
       elpaBuild {
         pname = "geiser";
         ename = "geiser";
-        version = "0.23";
+        version = "0.23.2";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/geiser-0.23.tar";
-          sha256 = "1g82jaldq4rxiyhnzyqf82scys1545djc3y2nn9ih292g8rwqqms";
+          url = "https://elpa.nongnu.org/nongnu/geiser-0.23.2.tar";
+          sha256 = "1rdz13rjfp8j2ik3vbw1jvacjri3abghlq6aqfvkd7vwm21h30ih";
         };
         packageRequires = [ emacs project transient ];
         meta = {
@@ -802,10 +802,10 @@
       elpaBuild {
         pname = "geiser-guile";
         ename = "geiser-guile";
-        version = "0.23";
+        version = "0.23.2";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/geiser-guile-0.23.tar";
-          sha256 = "0fxn15kpljkdj1vvrv51232km49z2sbr6q9ghpvqwkgi0z9khxz6";
+          url = "https://elpa.nongnu.org/nongnu/geiser-guile-0.23.2.tar";
+          sha256 = "1z2khagg425y5cfja694zxrj3lyw3awsmqd86b2hpqhrylrb8jaa";
         };
         packageRequires = [ emacs geiser ];
         meta = {
@@ -1063,10 +1063,10 @@
       elpaBuild {
         pname = "helm";
         ename = "helm";
-        version = "3.8.4";
+        version = "3.8.5";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/helm-3.8.4.tar";
-          sha256 = "0yc7ijap3g68w7npgwymzlp5bcawk3lhnp0004m03zfdbxhmkq0z";
+          url = "https://elpa.nongnu.org/nongnu/helm-3.8.5.tar";
+          sha256 = "1h71qcik375zhkk4rgcxj6ffnzpns2lvzwq82yfhmmhzrrxhds0z";
         };
         packageRequires = [ helm-core popup ];
         meta = {
@@ -1078,10 +1078,10 @@
       elpaBuild {
         pname = "helm-core";
         ename = "helm-core";
-        version = "3.8.4";
+        version = "3.8.5";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/helm-core-3.8.4.tar";
-          sha256 = "0a1liapy345nlqjgxbzad0mkdbs4g6619cqplwiyh89x0lm0jprx";
+          url = "https://elpa.nongnu.org/nongnu/helm-core-3.8.5.tar";
+          sha256 = "0117y2gazm8h5fxj23166a53w4r68r1mscgardk0y6xd6lz73yz9";
         };
         packageRequires = [ async emacs ];
         meta = {
diff --git a/pkgs/applications/editors/emacs/elisp-packages/nongnu-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/nongnu-packages.nix
index dcd7e92c642d2..cd32a8bd39754 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/nongnu-packages.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/nongnu-packages.nix
@@ -6,7 +6,8 @@ To update the list of packages from nongnu (ELPA),
 
 1. Run `./update-nongnu`.
 2. Check for evaluation errors:
-     env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate ../../../../.. -A emacs.pkgs.nongnuPackages
+     # "../../../../../" points to the default.nix from root of Nixpkgs tree
+     env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate ../../../../../ -A emacs.pkgs.nongnuPackages
 3. Run `git commit -m "nongnu-packages $(date -Idate)" -- nongnu-generated.nix`
 
 */
diff --git a/pkgs/applications/editors/emacs/elisp-packages/plz/default.nix b/pkgs/applications/editors/emacs/elisp-packages/plz/default.nix
index 9992fb877a9f0..29f71d7f1580a 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/plz/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/plz/default.nix
@@ -2,21 +2,29 @@
 
 trivialBuild {
   pname = "plz";
-  version = "unstable-2021-08-22";
+  version = "0.pre+date=2021-08-22";
 
   src = fetchFromGitHub {
     owner = "alphapapa";
     repo = "plz.el";
     rev = "7e456638a651bab3a814e3ea81742dd917509cbb";
-    sha256 = "sha256-8kn9ax1AVF6f9iCTqvVeJZihs03pYAhLjUDooG/ubxY=";
+    hash = "sha256-8kn9ax1AVF6f9iCTqvVeJZihs03pYAhLjUDooG/ubxY=";
   };
 
   postPatch = ''
-    substituteInPlace ./plz.el --replace 'plz-curl-program "curl"' 'plz-curl-program "${curl}/bin/curl"'
+    substituteInPlace ./plz.el \
+      --replace 'plz-curl-program "curl"' 'plz-curl-program "${curl}/bin/curl"'
   '';
 
   meta = {
-    description = "plz is an HTTP library for Emacs";
+    description = "An HTTP library for Emacs";
+    longDescription = ''
+      plz is an HTTP library for Emacs. It uses curl as a backend, which avoids
+      some of the issues with using Emacs’s built-in url library. It supports
+      both synchronous and asynchronous requests. Its API is intended to be
+      simple, natural, and expressive. Its code is intended to be simple and
+      well-organized. Every feature is tested against httpbin.org.
+    '';
     license = lib.licenses.gpl3Only;
     platforms = lib.platforms.all;
   };
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 8cab450cb2e43..1de739b5645c8 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
+++ b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
@@ -2489,11 +2489,11 @@
   "repo": "domtronn/all-the-icons.el",
   "unstable": {
    "version": [
-    20220316,
-    1339
+    20220325,
+    1238
    ],
-   "commit": "a040a01ef50bef5bfd1b82f0141221f334310b1d",
-   "sha256": "070z380816r1adbcz6jzhkqbxnycynrydpx4bdn6gpir0arjjm8h"
+   "commit": "65c496d3d1d1298345beb9845840067bffb2ffd8",
+   "sha256": "05n68r1f9g0xhffv8da5142c1771ma0lbwh44fqiraw80zjp5ybi"
   },
   "stable": {
    "version": [
@@ -2585,8 +2585,8 @@
    "deps": [
     "all-the-icons"
    ],
-   "commit": "b494b329400dafac5d41ec90d505120559ee589e",
-   "sha256": "1sf4nx2pq9jlkxbd9gp40hzmar9c6a7fwr4dp04nkh5xkqp69hqp"
+   "commit": "66317e945dc63b7947b99162d8c482ffe936ff96",
+   "sha256": "0wdlcgr11yq0f8ld8fkks51fbf63d8ddm2firga0402g5gs8ybqc"
   },
   "stable": {
    "version": [
@@ -2641,15 +2641,15 @@
   "repo": "seagle0128/all-the-icons-ivy-rich",
   "unstable": {
    "version": [
-    20220311,
-    311
+    20220324,
+    317
    ],
    "deps": [
     "all-the-icons",
     "ivy-rich"
    ],
-   "commit": "42dead856fe4647fdc18bc5a8b64440f03026525",
-   "sha256": "167hwik7mjlvq502r0kx8hcrpizcyv532g5j3jayp5rvv2x6zwki"
+   "commit": "498ea281656569593b8fe4b47162447767daf408",
+   "sha256": "1zpqvzg76i5k48a2qvafls7fg3y0lrwfk9im0zhngczjy5gadldq"
   },
   "stable": {
    "version": [
@@ -3271,8 +3271,8 @@
     20200914,
     644
    ],
-   "commit": "2816605bfdc24c93d8801016d31beeed7608ad02",
-   "sha256": "0bq2hdfy86l4yby9nrf84rz521n6y0axfyvl4sw8fg5dpmx062yp"
+   "commit": "724723ed0a6b179398f4105f5eb5ea088d1bac4a",
+   "sha256": "0qzg5qhf3p4ifspbz6l1yj4fl6sdgbi74kprql20sx9y58dyhamd"
   },
   "stable": {
    "version": [
@@ -3627,8 +3627,8 @@
     20220114,
     2329
    ],
-   "commit": "75074a2f11e29aeca376b3004270a93ce44e59de",
-   "sha256": "07ngvm540x86fy07bg4pp5fm5f3qwqpmq5qk209gf4s7wqgign33"
+   "commit": "9ed3c9d72ada133426a40bac6f4a719706d99532",
+   "sha256": "1zg1yk6g7kx22vxg74srzkxgw4880lwf6aifxgz058v3fhk0zgks"
   },
   "stable": {
    "version": [
@@ -3784,11 +3784,11 @@
   "repo": "waymondo/apropospriate-theme",
   "unstable": {
    "version": [
-    20220114,
-    1444
+    20220323,
+    1703
    ],
-   "commit": "1761bf480cd62859e452ca492b69f09024bb308a",
-   "sha256": "1vhms80pdw46a16l9cjrh8sfyxwwrr8r28qpx1gkzh4bjqyszphx"
+   "commit": "7bcabbbbef2cb1dd12917f248402565b557d8f60",
+   "sha256": "1frlcjd82g0m3aj3wi45gv5gzqy16frj7as22v4c07b78xg1mzks"
   },
   "stable": {
    "version": [
@@ -5088,11 +5088,11 @@
   "repo": "LionyxML/auto-dark-emacs",
   "unstable": {
    "version": [
-    20220318,
-    2356
+    20220320,
+    1703
    ],
-   "commit": "fd07fbdff1d5e370b1714dde882e1ed37dca9936",
-   "sha256": "10r586w7p3x7axvxmf8qpjfi3mhccahgq2yk6w665j4hj917k5sr"
+   "commit": "c5dd3afa6771f4777db9e427f21bfcbe4883abaf",
+   "sha256": "0r4i664kybzzfmpn9w7pi1czjivq6kk1yqdym30c6kvdq1kv73d3"
   }
  },
  {
@@ -5710,8 +5710,8 @@
     "avy",
     "embark"
    ],
-   "commit": "5a74f42bd0031b28ee30b64fcb24717ceae8a030",
-   "sha256": "15g9mm1k4c0qbf9y3fcgsmkxzi4wh3hi6nb62rim2ackxw9f4ndp"
+   "commit": "b80d96ce0ab79e73829322e46c6d7493eb2b8c34",
+   "sha256": "1jsynjl0y7w0jqxqlibg8m4rwzv9lxj443m6dlac6zncz8plnizp"
   },
   "stable": {
    "version": [
@@ -8159,8 +8159,8 @@
     "epkg",
     "magit"
    ],
-   "commit": "ee4491481955eb49de07693b58e00a5ff5908d0b",
-   "sha256": "1p13q43l9da48vpwgjwirwvwqwlmksgvq4w6n77sy6akx2xywgzv"
+   "commit": "378089e179e439a4999e14a410868743694cb911",
+   "sha256": "07wygkg94m5xr0r4yfcvcxdy3a9mh7pxfg3gzvy8dka6cax7fj25"
   },
   "stable": {
    "version": [
@@ -8651,11 +8651,11 @@
   "repo": "astoff/buffer-env",
   "unstable": {
    "version": [
-    20220316,
-    2046
+    20220325,
+    1659
    ],
-   "commit": "d5fbf1d173da54fd8609b2ea10832d871021feec",
-   "sha256": "02azqjsanpzhzby0sscnnv9jddimmqvl08ijir7172x2n3fws2dk"
+   "commit": "ba1c9d24d3f1ba58445cbf1f762ba6859b66f6bf",
+   "sha256": "0davkvlyqj78i6njhkjyrv4l7qnscysimssbwjsnl4lbk7c1z85k"
   }
  },
  {
@@ -9252,11 +9252,11 @@
   "repo": "jorgenschaefer/emacs-buttercup",
   "unstable": {
    "version": [
-    20220309,
-    2311
+    20220321,
+    1903
    ],
-   "commit": "09459403f54783ddff9337010d9536da25ca7818",
-   "sha256": "1aaa0a8x1347xhnxsifwrzqk1inhgb6wljvqyibvhy22ap38bxm6"
+   "commit": "c365dae776f823aa7489bcf0f750ca748fefdb28",
+   "sha256": "1p7c6p33nk23jywwd9b7c7062chr8x0bjffgall9rxsyqczdqzxx"
   },
   "stable": {
    "version": [
@@ -10648,8 +10648,8 @@
     20171115,
     2108
    ],
-   "commit": "9bc6e3d8398112532b14d0c192f19a4046c6baed",
-   "sha256": "1rk05zqzd0z88pyyks49zc6vnqvigq5nacdmjx1j4dx2jkwxax8p"
+   "commit": "6bbfdf3109f044191750ac893aadbfc0d1b2fb0e",
+   "sha256": "0mz18pj1phxpjp54w4l7xcrm3lzp9jick4fws1wy8mk4566qiixm"
   },
   "stable": {
    "version": [
@@ -11319,16 +11319,16 @@
   "url": "https://tildegit.org/contrapunctus/chronometrist.git",
   "unstable": {
    "version": [
-    20220224,
-    1017
+    20220326,
+    1439
    ],
    "deps": [
     "dash",
     "seq",
     "ts"
    ],
-   "commit": "7cf2c86afd8f6fb6235320ac9f7ebd76153d8bc6",
-   "sha256": "1gw69ps98bc28kwfqi6m9v4im71jla410ici5cyhfyk67m3dvgbb"
+   "commit": "3f52469f31f0bc23dd63d0b3c29bc2040dfcd98a",
+   "sha256": "1mjvn02dwhnwq6x1llnlpxzvpfkl753mbs68dahd520fvyjglnrq"
   },
   "stable": {
    "version": [
@@ -11372,14 +11372,14 @@
   "url": "https://tildegit.org/contrapunctus/chronometrist.git",
   "unstable": {
    "version": [
-    20220225,
-    950
+    20220326,
+    1439
    ],
    "deps": [
     "chronometrist"
    ],
-   "commit": "7cf2c86afd8f6fb6235320ac9f7ebd76153d8bc6",
-   "sha256": "1gw69ps98bc28kwfqi6m9v4im71jla410ici5cyhfyk67m3dvgbb"
+   "commit": "3f52469f31f0bc23dd63d0b3c29bc2040dfcd98a",
+   "sha256": "1mjvn02dwhnwq6x1llnlpxzvpfkl753mbs68dahd520fvyjglnrq"
   },
   "stable": {
    "version": [
@@ -11402,15 +11402,15 @@
   "url": "https://tildegit.org/contrapunctus/chronometrist.git",
   "unstable": {
    "version": [
-    20220215,
-    1904
+    20220321,
+    349
    ],
    "deps": [
     "chronometrist",
     "spark"
    ],
-   "commit": "7cf2c86afd8f6fb6235320ac9f7ebd76153d8bc6",
-   "sha256": "1gw69ps98bc28kwfqi6m9v4im71jla410ici5cyhfyk67m3dvgbb"
+   "commit": "3f52469f31f0bc23dd63d0b3c29bc2040dfcd98a",
+   "sha256": "1mjvn02dwhnwq6x1llnlpxzvpfkl753mbs68dahd520fvyjglnrq"
   },
   "stable": {
    "version": [
@@ -11482,8 +11482,8 @@
   "repo": "clojure-emacs/cider",
   "unstable": {
    "version": [
-    20220309,
-    618
+    20220324,
+    542
    ],
    "deps": [
     "clojure-mode",
@@ -11493,8 +11493,8 @@
     "sesman",
     "spinner"
    ],
-   "commit": "1e27eba570d265bc27317dc2a8f8c98d8b5414e0",
-   "sha256": "1zx918pkdiihj7s5x9pqy946q9bbjv774z3dkvkrnvj0xv1x34n6"
+   "commit": "36277802a47b0dbc9c1fd60f60908963c59c58d6",
+   "sha256": "0z05paq62aq520n3nqc089pyx58yn670r80cda896syqs7qrxpq9"
   },
   "stable": {
    "version": [
@@ -11714,14 +11714,14 @@
   "repo": "emacs-circe/circe",
   "unstable": {
    "version": [
-    20210717,
-    1041
+    20220320,
+    1811
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "77e16de3b9fbaa0417b56a9acc70a9bca17c4ad0",
-   "sha256": "1ww04kfz4kkbhrbd78r4dpylhayb5hl72qcjv8wm0mhgfwmbb358"
+   "commit": "e4c5bb69e6f1338239bdbf66baf57bb610828b2e",
+   "sha256": "05ddgcgqribdwbph7qkz5r24h1xsbrnhlg4yqgnyyw5kfxayapzj"
   },
   "stable": {
    "version": [
@@ -11792,8 +11792,8 @@
   "repo": "bdarcus/citar",
   "unstable": {
    "version": [
-    20220309,
-    1552
+    20220324,
+    1539
    ],
    "deps": [
     "citeproc",
@@ -11801,8 +11801,8 @@
     "parsebib",
     "s"
    ],
-   "commit": "02323c6f9bad12aa3a53f6f6b9d7f714ddf6e773",
-   "sha256": "0izwc82qvssfkjlcp36dg773ggd2fdlflap83fgzyhldlnmf3k6c"
+   "commit": "e97e33128051b5311d640492a3dfaf8dd7cdfcfd",
+   "sha256": "0yyb3gq140cl4dxlaagm8rwxf4cvv51g20sv5d3xfkhbkymbqjf6"
   },
   "stable": {
    "version": [
@@ -11905,11 +11905,11 @@
   "repo": "universal-ctags/citre",
   "unstable": {
    "version": [
-    20220130,
-    538
+    20220324,
+    1741
    ],
-   "commit": "d7b6428da289c2f63a7a97f4eaba5b76616a09ce",
-   "sha256": "0kg64va0iqjzwswzs4z9sx278w20c35pg4ysp9x198z0575lvpid"
+   "commit": "8b51e58819e0a4b65c15f01177d1a154d9a9d153",
+   "sha256": "0yrcqypj1paszp2iwv0c67bh7vy1p3fj9n4h1ghn1y0pcqgbccb9"
   },
   "stable": {
    "version": [
@@ -12868,11 +12868,11 @@
   "url": "https://gitlab.kitware.com/cmake/cmake.git",
   "unstable": {
    "version": [
-    20210104,
-    1831
+    20220322,
+    1258
    ],
-   "commit": "c8a3c544443e81e01de6a41ba84abb3efcb509e0",
-   "sha256": "0rv1hv4d45s1zigd4ayfp6lwf7wz01jyl5hj9q8jvyfzh0wamixv"
+   "commit": "843d1d198d15f65781d71118573461fb03a3101c",
+   "sha256": "000ls9briydjr5akwm7zcia3ir9l9i7xwgn06qp3wl5j9wgasbh2"
   },
   "stable": {
    "version": [
@@ -12880,10 +12880,10 @@
     23,
     0,
     -1,
-    4
+    5
    ],
-   "commit": "66ba460810afdc0e0f65c20b1bc057a204acc82c",
-   "sha256": "1qyddyxpdmyshzsax7gk8mgkjij5pnvnifd0239s4pr009x4pjyb"
+   "commit": "18b02cc127730e3b007c2b56c6e115d476f0d5e0",
+   "sha256": "0qglzmmy4kyylz5fxg25mhwg01d5x5dpblh4zm3vyvmydbrdik7r"
   }
  },
  {
@@ -13082,8 +13082,8 @@
     "markdown-mode",
     "uuidgen"
    ],
-   "commit": "3af92f0259378c2b2c31f7f03bd677fa1017b3a3",
-   "sha256": "03dqnm50v0ga7d0m8j6f5k73p933b4cjn818cn1qfgjlxbawa8ah"
+   "commit": "6a10610826990e62c99486e30c0b3ef5869559e3",
+   "sha256": "0zajjm560vyjryr9yclda0j6f13w44mqzh1rz7kqxfl5sp6sv53m"
   },
   "stable": {
    "version": [
@@ -13870,11 +13870,11 @@
   "repo": "company-mode/company-mode",
   "unstable": {
    "version": [
-    20220310,
-    2313
+    20220326,
+    48
    ],
-   "commit": "18a662082948b5aa9bea6b4ad752e027fc12aeb5",
-   "sha256": "0a53an8q2vgcsfvbcz3cnhpvzkc3ah79vhq16y9yd78x1zdc5wb2"
+   "commit": "783287526a791590bea4f9a23992c2bfebdb4c8d",
+   "sha256": "1cxr4dc0yfnccjk3l3sc15ys0pzff0r133msq59nzk6r48ba9p0q"
   },
   "stable": {
    "version": [
@@ -14424,16 +14424,16 @@
   "repo": "jcs-elpa/company-fuzzy",
   "unstable": {
    "version": [
-    20220222,
-    613
+    20220325,
+    1206
    ],
    "deps": [
     "company",
     "ht",
     "s"
    ],
-   "commit": "36e9af842f5d6910a6235eab6c7f815466454e0a",
-   "sha256": "0207n6jx2fr8k16pp39pxy67n3sycs670i4azwbhri2i4z9mx0ms"
+   "commit": "4fd30469d50a5d49e035a02a29c6acf5fb72a494",
+   "sha256": "1qqdma87jvmybd0af5ls86v2k62586ijqkymg99w6dxvlsd8wj6w"
   },
   "stable": {
    "version": [
@@ -15135,8 +15135,8 @@
     "company",
     "prescient"
    ],
-   "commit": "3dbcef387502d309d130a518a18d48cd2f0e15b7",
-   "sha256": "024l7s0b6apbzanw3cnhjypxnxfinfb5b3nhaabrc138m5pis8j5"
+   "commit": "c5295a9eecbd2935bb57684a4422638e03bf738c",
+   "sha256": "1wfmynbqaqvrkjdncx0wmqxz6v8zlfmqlh5l3h6876jin97i5fbv"
   },
   "stable": {
    "version": [
@@ -16077,11 +16077,11 @@
   "repo": "minad/consult",
   "unstable": {
    "version": [
-    20220308,
-    1010
+    20220319,
+    2221
    ],
-   "commit": "800824601b610016066991d6e2dde198d4b0ad8f",
-   "sha256": "1mravx5aapy8bcgk6nvi1jvb5jgl7jsn7pd7br7v7fqadcp225m6"
+   "commit": "47c4f405efdf4692c6b7e1dd2098573db9aeae6c",
+   "sha256": "1nph35a4q2a4sbsmh9hcxvwcr4pfshnmrc8ahk4qn825a7iny70w"
   },
   "stable": {
    "version": [
@@ -16263,16 +16263,16 @@
   "repo": "gagbo/consult-lsp",
   "unstable": {
    "version": [
-    20220109,
-    937
+    20220320,
+    1125
    ],
    "deps": [
     "consult",
     "f",
     "lsp-mode"
    ],
-   "commit": "f4f195046b97be5ce0406e0723921b3393d9442e",
-   "sha256": "094i7g10m8702sxvgis46wnx492fq2kfv641a7255qs51l3y2r49"
+   "commit": "0dfc9d55876d4cf7c32f8a663fe6343927f78052",
+   "sha256": "15w586gp8x4d52wlf4b6lcmgsidav8slqr97yrj1jfhyri2sryx9"
   },
   "stable": {
    "version": [
@@ -17262,8 +17262,8 @@
     "counsel",
     "projectile"
    ],
-   "commit": "e30150792a96968f55f34638cbfe63eaa30839cc",
-   "sha256": "1vp39r5njfzchkqv9g0w77whazp070anh9gmbkp3z4n3xxbik27f"
+   "commit": "40d1e1d4bb70acb00fddd6f4df9778bf2c52734b",
+   "sha256": "1qgm0c9s6lwwjqm137sicy9pl045rik24gy6g1imizr2s9r2b57c"
   },
   "stable": {
    "version": [
@@ -17512,8 +17512,8 @@
     20210510,
     1540
    ],
-   "commit": "d8a72a311c6875f1aef6a30b3d23a1b02df75941",
-   "sha256": "0sczdlhpqs0pgka426ngvvcf01c6lvgk2aykajc5b2zgxywkfg40"
+   "commit": "683c23afa2a37272be54de822ad19f4e11dd86ba",
+   "sha256": "08sffa51f4p2la199hf6zb2r2hyvrpdcd2q6q4sig3gmyk75qlbm"
   }
  },
  {
@@ -18261,8 +18261,8 @@
     20220130,
     2307
    ],
-   "commit": "38b5e94bf718eeea0b880a78ed52926dec89fea9",
-   "sha256": "0yc89vfca2q9bii4145wkyb5g4nil3n14b8af08npjhmb2i85aw1"
+   "commit": "56021fd53efd775d91db2730e4ab4d5c157c513f",
+   "sha256": "093ximdpb9bzrnayc47is6i6jya8s5jkq7f8njnqd07hh5bm3l20"
   },
   "stable": {
    "version": [
@@ -18723,8 +18723,8 @@
     20211111,
     1407
    ],
-   "commit": "518cbac89898a1b8c3390c82104c1b250a60a259",
-   "sha256": "1z130p4ckrp5lshdfw8k979wyj4ch2n654sffbixhcf4fk0xbfb0"
+   "commit": "d85cbf676dd7bec80fbfc23d038575a21859ac87",
+   "sha256": "16ix9zxwmr0m8c6p61dddwmgs95jv942pr9alz9az7dw71d0flac"
   },
   "stable": {
    "version": [
@@ -18931,8 +18931,8 @@
   "repo": "emacs-lsp/dap-mode",
   "unstable": {
    "version": [
-    20220226,
-    1848
+    20220325,
+    1144
    ],
    "deps": [
     "bui",
@@ -18944,8 +18944,8 @@
     "posframe",
     "s"
    ],
-   "commit": "6933fca0b53ea5d2d65a0545e5a4ae6424d32e9b",
-   "sha256": "1m99z72qmq4ghaiv5s9bqzx4aj1wj4r1d233h6a92hw7kdd9hj0l"
+   "commit": "f918c0580bd17105cbe50aa701a2375abca5a6ab",
+   "sha256": "12wnvj6bnz9xx9skzqjmldn9ak0pxm46b2g7ishj7q810fg5hzws"
   },
   "stable": {
    "version": [
@@ -19295,11 +19295,11 @@
   "repo": "emacs-dashboard/emacs-dashboard",
   "unstable": {
    "version": [
-    20220307,
-    1807
+    20220326,
+    725
    ],
-   "commit": "d40ceaff2d26f7213eb21f6a39e58c72642ad737",
-   "sha256": "1fiwnld8cxc98f3syss21wqw1vxf1z8fkxrkcmvp6xsydhx23z7p"
+   "commit": "1d3fce6e8e8605f770f2b23184b055029128c477",
+   "sha256": "0kylaqz16xmc22xainarnwn31rlanw3ycapdxga0hgyg972p1z45"
   },
   "stable": {
    "version": [
@@ -19341,14 +19341,14 @@
   "repo": "emacs-dashboard/dashboard-ls",
   "unstable": {
    "version": [
-    20220117,
-    1607
+    20220326,
+    628
    ],
    "deps": [
     "dashboard"
    ],
-   "commit": "08b621b78f193471025c02e4cde348010db754d9",
-   "sha256": "0fpzk5la94dppxvnf5klvglhy2qvza3yxfkdpm1k1sn282pc1230"
+   "commit": "73d280e029dfb68c2666dbc20130300439b170b7",
+   "sha256": "1rsv008hfk8v8wkhfqhhpyf5k7hhhh0aisa36ram6a3y5gwj0ac5"
   },
   "stable": {
    "version": [
@@ -19779,11 +19779,11 @@
   "repo": "lifelike/decide-mode",
   "unstable": {
    "version": [
-    20211127,
-    2248
+    20220319,
+    1927
    ],
-   "commit": "668fa559b95b50f140e73f26a21fad559c1ffa77",
-   "sha256": "1wbiy8lda6p888qf4ak8j02cp42h25y17xnz5bq5p032xgq731n0"
+   "commit": "b4feee9d5ad32c7b73ab3e1da5cfcdab532754c2",
+   "sha256": "0xwflq1k4x2br5dw8fhqbz6zq4hbwvknrnzd2c2b1l68l4y7rs3j"
   },
   "stable": {
    "version": [
@@ -20110,26 +20110,20 @@
   "repo": "sawyerjgardner/demap.el",
   "unstable": {
    "version": [
-    20220317,
-    829
-   ],
-   "deps": [
-    "dash"
+    20220322,
+    2309
    ],
-   "commit": "cb119fa912699a7697b958a467e21f655b95a741",
-   "sha256": "027fyjmxjdskamn3js1jsyiqbrkk9c4qp79fnrf3p73xnci9570m"
+   "commit": "c42ec4752544f80ca7c172ff65e705a56089bc96",
+   "sha256": "0nh0g7a6svwwp3hinc8c3x3ln76z8hgzddc4lx4z0dzzj6bwakz7"
   },
   "stable": {
    "version": [
     1,
-    3,
+    4,
     0
    ],
-   "deps": [
-    "dash"
-   ],
-   "commit": "cb119fa912699a7697b958a467e21f655b95a741",
-   "sha256": "027fyjmxjdskamn3js1jsyiqbrkk9c4qp79fnrf3p73xnci9570m"
+   "commit": "c42ec4752544f80ca7c172ff65e705a56089bc96",
+   "sha256": "0nh0g7a6svwwp3hinc8c3x3ln76z8hgzddc4lx4z0dzzj6bwakz7"
   }
  },
  {
@@ -20350,11 +20344,11 @@
   "repo": "astoff/devdocs.el",
   "unstable": {
    "version": [
-    20220226,
-    925
+    20220326,
+    943
    ],
-   "commit": "cdc1a7cc3f05235883ffb098fe1c5a8963ed06e2",
-   "sha256": "1r84yimb8dc1i6ybc2vngvv38ypfnjwrbp93n13h9ij2p9dmxl8p"
+   "commit": "be6cdf690a49d5bb39da7ea29c10cec660f7c60a",
+   "sha256": "0wq220bv7k2aqqsfc83akg6ygrwshn5haaqibpzgr05n8w4264v6"
   }
  },
  {
@@ -20567,11 +20561,11 @@
   "repo": "ideasman42/emacs-diff-ansi",
   "unstable": {
    "version": [
-    20220211,
-    548
+    20220323,
+    106
    ],
-   "commit": "6ced92510df2c121e577189fa838dbf84303a0a9",
-   "sha256": "0mdyb2mlckcwphm6yaapdw6m2w2br0yfsvi6maw422mnm6nvjlwh"
+   "commit": "39b39a7265c59e413ff32f1fccebe4dc1a7a966e",
+   "sha256": "1kw2fvkfydyc8fbwqf4r88qgzrl85qzypjwzklkpwsawdpp6vzs2"
   }
  },
  {
@@ -20705,11 +20699,11 @@
   "repo": "mgalgs/diffview-mode",
   "unstable": {
    "version": [
-    20150929,
-    511
+    20220322,
+    2334
    ],
-   "commit": "031b70913e755c5e55222680f80185032a7d1728",
-   "sha256": "0diw887x4q7kbgdvxbbnxdw51z33kqwxw3v9m45fczxbywyi4cxf"
+   "commit": "af2251a01f532efa819d236802cb3d942befe5a1",
+   "sha256": "1x4xgq964rxx6ngxclsvkil3g1rplrwd1dl3hy2613kacd1n5pjn"
   },
   "stable": {
    "version": [
@@ -21984,20 +21978,20 @@
   "repo": "alexluigit/dirvish",
   "unstable": {
    "version": [
-    20220318,
-    1804
+    20220325,
+    1418
    ],
-   "commit": "5170e712fecb5b6ef1e537fda3994373f230ff8b",
-   "sha256": "1syz893g4cvlz3138f7yyazsq4rd9dblwlgckhmwiajl16hl164d"
+   "commit": "7d26d98df1a7af0266261e0e666a890a86a52bd0",
+   "sha256": "1yw1y5kdhs2213bvsmd65yhw3h2c7dzb70977bjd0pa083xddr0p"
   },
   "stable": {
    "version": [
     1,
-    0,
+    2,
     0
    ],
-   "commit": "f010dc7a081a61588c220fb815f023544f444493",
-   "sha256": "0nbbj23ha9v03rqxxc6y030cvnyadk9258x287623gvy2s5p3bv0"
+   "commit": "f03db6106adc61e050ea242dcfbd3fcae71dee23",
+   "sha256": "1aniq3lylc2fmw3snsjmbpzzgjspryjfq6vsc10daihnihnff0qg"
   }
  },
  {
@@ -22322,14 +22316,14 @@
   "repo": "unhammer/dix",
   "unstable": {
    "version": [
-    20220105,
-    1017
+    20220323,
+    1046
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "a2d924725380aca4d61df4a70825fc4b76185938",
-   "sha256": "1cg565l7iviis7888in7bf3v59b2a67jb552yshq6yb4d63v0b6f"
+   "commit": "5230c18456ab034f2fb69acdbef62c1abae6a8cf",
+   "sha256": "161ykw5p6wxy3dlx7f6zxg1cwl8hh411b7clzc5zhdpmq1wnqy0b"
   },
   "stable": {
    "version": [
@@ -22359,8 +22353,8 @@
     "dix",
     "evil"
    ],
-   "commit": "a2d924725380aca4d61df4a70825fc4b76185938",
-   "sha256": "1cg565l7iviis7888in7bf3v59b2a67jb552yshq6yb4d63v0b6f"
+   "commit": "5230c18456ab034f2fb69acdbef62c1abae6a8cf",
+   "sha256": "161ykw5p6wxy3dlx7f6zxg1cwl8hh411b7clzc5zhdpmq1wnqy0b"
   },
   "stable": {
    "version": [
@@ -22700,8 +22694,8 @@
   "repo": "Silex/docker.el",
   "unstable": {
    "version": [
-    20220315,
-    715
+    20220320,
+    1935
    ],
    "deps": [
     "aio",
@@ -22712,8 +22706,8 @@
     "tablist",
     "transient"
    ],
-   "commit": "674bfb7e24da3f9d0fe926945dd0625e2c15e50a",
-   "sha256": "1fzlxqff0a4bw3l6vdki4fdw107wd0vp0l6asaqz9kkgv9wlffq0"
+   "commit": "fbd896e3138f497b89a128d17b6f5e0e5286515b",
+   "sha256": "0d430ignd6yw117srysc8bxghlq0h8k533pl8k882q0mfgpnaqhw"
   },
   "stable": {
    "version": [
@@ -22871,8 +22865,8 @@
   "repo": "r0man/docopt.el",
   "unstable": {
    "version": [
-    20201211,
-    1008
+    20220319,
+    1912
    ],
    "deps": [
     "dash",
@@ -22881,14 +22875,14 @@
     "s",
     "transient"
    ],
-   "commit": "2e49c2f4e9ee023d2a143086463bac47db914846",
-   "sha256": "0vkmgfgw8qica21hcqila62ivqxshkay2r2dyy4dxxj3xypk3083"
+   "commit": "a7f5b4a8b1a43552067ce27bce6080a509c92cff",
+   "sha256": "0dr0m5rrk0vhz1sq3d28pxijlkj030ckxc5mhqv3jpq2xfjwd2gv"
   },
   "stable": {
    "version": [
     0,
     1,
-    1
+    2
    ],
    "deps": [
     "dash",
@@ -22897,8 +22891,8 @@
     "s",
     "transient"
    ],
-   "commit": "6e1105347decbf9b4b848d952858455f9b145c56",
-   "sha256": "0vkmgfgw8qica21hcqila62ivqxshkay2r2dyy4dxxj3xypk3083"
+   "commit": "a7f5b4a8b1a43552067ce27bce6080a509c92cff",
+   "sha256": "0dr0m5rrk0vhz1sq3d28pxijlkj030ckxc5mhqv3jpq2xfjwd2gv"
   }
  },
  {
@@ -22915,8 +22909,8 @@
    "deps": [
     "s"
    ],
-   "commit": "80f534767abf5d9037935bee90653f7bf0b064e6",
-   "sha256": "028s158fpfg9grdmsf1kw13gq6wl2bfshlp2ax8i8vk33gxw7sx2"
+   "commit": "6267907a6b57c32b430b481fe129a6cae8792784",
+   "sha256": "1blgf4jw5crd4daidcnj5hv57hzvhqwhfsgxvxb8rlzaapk751wc"
   },
   "stable": {
    "version": [
@@ -23076,30 +23070,30 @@
   "repo": "seagle0128/doom-modeline",
   "unstable": {
    "version": [
-    20220313,
-    524
+    20220325,
+    554
    ],
    "deps": [
     "all-the-icons",
     "dash",
     "shrink-path"
    ],
-   "commit": "b95340d24a37ac8b76b7934ff9508ff58f577a96",
-   "sha256": "12f03mpm7iqas25h8miqzd3jpf16flk5kiw3yhmqb6lpinaxijg8"
+   "commit": "edf18b93cceb5cf00e1006d0034663ef4d9fdc11",
+   "sha256": "0l0lb3in80p9hgqqbrjrnbcjb2vqxw4qxgxl42vz6kvx77fk77j7"
   },
   "stable": {
    "version": [
     3,
     2,
-    1
+    2
    ],
    "deps": [
     "all-the-icons",
     "dash",
     "shrink-path"
    ],
-   "commit": "b59802efba1215bb861621deba0030cfda2796ed",
-   "sha256": "1ji15n2rdp7bjg5iq9im6c4m12k24kqp85i3n1m9npihrb4arh54"
+   "commit": "1ecf8fcd779c3ef7472f532e0f7843b3ad9682c7",
+   "sha256": "08zvi1a6hiii3sw8fk0x26jv7vgzy04aal8zvcbwaaczl063vark"
   }
  },
  {
@@ -23607,11 +23601,11 @@
   "repo": "niklaseklund/dtache",
   "unstable": {
    "version": [
-    20220209,
-    1903
+    20220320,
+    1338
    ],
-   "commit": "9b39e9ebbfd19bae1b0b30e98b574f0e8a952bec",
-   "sha256": "0jx228qzqmw3ncrjqdd6jhphl6j58iyg7knmk6favbsnr3nl2y54"
+   "commit": "e7d143df8a8f88cbbe0fa023cd1fc30219598d88",
+   "sha256": "02bpghhjcgfgcrlkvsrj652ki558pf9q5vj6j056lalfhcrckpvd"
   },
   "stable": {
    "version": [
@@ -23815,8 +23809,8 @@
     20210909,
     1010
    ],
-   "commit": "9b8c6cb907d3516014450317304e4ef92853b04a",
-   "sha256": "1cv856hh3wqzsvw8qbbvm57j7dapldz73h8af5n7dv65gjrvkydg"
+   "commit": "33d625d08bcf596a6c309d791a2cab70f2b8abce",
+   "sha256": "1pak38z3bq35b21lz3wm0jvhjznffhi7i6h9nvs1qcf9s7frw2b6"
   },
   "stable": {
    "version": [
@@ -25473,8 +25467,8 @@
   "repo": "joaotavora/eglot",
   "unstable": {
    "version": [
-    20220318,
-    1054
+    20220324,
+    1606
    ],
    "deps": [
     "eldoc",
@@ -25484,8 +25478,8 @@
     "seq",
     "xref"
    ],
-   "commit": "f77518711507810b779d87190d0ca0183fc02e10",
-   "sha256": "0jab7f92blc4gh5bpg1vcc42ly5m29zgl7ffymssypk32vbig0sd"
+   "commit": "03fc783c4b701fc8c19096b7167b73bd5d8f63a8",
+   "sha256": "1w2j3rrbgh1mffhzbjgm3hcvijmfdcfp06pkgnacfi9dydwcap62"
   },
   "stable": {
    "version": [
@@ -25654,8 +25648,8 @@
   "repo": "millejoh/emacs-ipython-notebook",
   "unstable": {
    "version": [
-    20211225,
-    1355
+    20220324,
+    204
    ],
    "deps": [
     "anaphora",
@@ -25666,8 +25660,8 @@
     "websocket",
     "with-editor"
    ],
-   "commit": "6063cee7fb0bdefa22fb05e4b17e58631f8187d6",
-   "sha256": "0kfl8jv9lkp92c811r1qdw1xw23pd8ga2v9j7bizx9hvvnh8nc7j"
+   "commit": "e04e1e19c63667e6847ae6341ab7fc7488f5eb8c",
+   "sha256": "16f1ka02n06li4griyrviv9bwzvj4s5fk7i2kqa5mkg0gibxmawc"
   }
  },
  {
@@ -25911,8 +25905,8 @@
     20220115,
     34
    ],
-   "commit": "abe86793f0684a51ed895c43775a964a6900504e",
-   "sha256": "01ixs3rksm4y66q27d69nkj87k1l214fkixkh6yr5rv3xfd7jr5b"
+   "commit": "83bd1378ce4a920ce708e15f1d2caafe30d41a79",
+   "sha256": "1xpk4c3m5d89n2v2xfn55mj2qv60pb0rpx8ghbcsdyd04ir1llp6"
   },
   "stable": {
    "version": [
@@ -25938,8 +25932,8 @@
     "hercules",
     "org-ql"
    ],
-   "commit": "99f4d9d38b8e6a5b3f32bd4f6a3c7f68c2523dd9",
-   "sha256": "1lf74clkv1iq14xd07ar0k1nl7ws5111d6lh8yqn34c80gbj10hn"
+   "commit": "dd7edc12568902561c8939e389626b3f0c7f6312",
+   "sha256": "0zc6d58plwnmmf0k0dgklfaya5k6ai6gmabpjl5n16r50x39jafs"
   }
  },
  {
@@ -25957,8 +25951,8 @@
     "el-secretario",
     "elfeed"
    ],
-   "commit": "99f4d9d38b8e6a5b3f32bd4f6a3c7f68c2523dd9",
-   "sha256": "1lf74clkv1iq14xd07ar0k1nl7ws5111d6lh8yqn34c80gbj10hn"
+   "commit": "dd7edc12568902561c8939e389626b3f0c7f6312",
+   "sha256": "0zc6d58plwnmmf0k0dgklfaya5k6ai6gmabpjl5n16r50x39jafs"
   }
  },
  {
@@ -25976,8 +25970,8 @@
     "el-secretario",
     "org-ql"
    ],
-   "commit": "99f4d9d38b8e6a5b3f32bd4f6a3c7f68c2523dd9",
-   "sha256": "1lf74clkv1iq14xd07ar0k1nl7ws5111d6lh8yqn34c80gbj10hn"
+   "commit": "dd7edc12568902561c8939e389626b3f0c7f6312",
+   "sha256": "0zc6d58plwnmmf0k0dgklfaya5k6ai6gmabpjl5n16r50x39jafs"
   }
  },
  {
@@ -25995,8 +25989,8 @@
     "el-secretario",
     "notmuch"
    ],
-   "commit": "99f4d9d38b8e6a5b3f32bd4f6a3c7f68c2523dd9",
-   "sha256": "1lf74clkv1iq14xd07ar0k1nl7ws5111d6lh8yqn34c80gbj10hn"
+   "commit": "dd7edc12568902561c8939e389626b3f0c7f6312",
+   "sha256": "0zc6d58plwnmmf0k0dgklfaya5k6ai6gmabpjl5n16r50x39jafs"
   }
  },
  {
@@ -26015,8 +26009,8 @@
     "el-secretario",
     "org-ql"
    ],
-   "commit": "99f4d9d38b8e6a5b3f32bd4f6a3c7f68c2523dd9",
-   "sha256": "1lf74clkv1iq14xd07ar0k1nl7ws5111d6lh8yqn34c80gbj10hn"
+   "commit": "dd7edc12568902561c8939e389626b3f0c7f6312",
+   "sha256": "0zc6d58plwnmmf0k0dgklfaya5k6ai6gmabpjl5n16r50x39jafs"
   }
  },
  {
@@ -26627,8 +26621,8 @@
    "deps": [
     "elfeed"
    ],
-   "commit": "b143f8453aed2053e8fc6f05cef6233797408546",
-   "sha256": "1yvr3fg5dx0z6h7jbv3fvn5ccw5grpcaj2ynp7zri5y388g160ql"
+   "commit": "26ff3573efce3cb66c8814854a2983a69683af09",
+   "sha256": "0wqv4r1s7py81cx4jcih0s6gqrg9xb8ycfkky32x0h64vq906c0y"
   }
  },
  {
@@ -27481,11 +27475,11 @@
   "repo": "twlz0ne/elpl",
   "unstable": {
    "version": [
-    20200821,
-    1052
+    20220314,
+    1353
    ],
-   "commit": "ca6a6237681c641d5137d58e52f884dec0da6349",
-   "sha256": "0nh300bn5wc753dpyi5p8ihgm173h07mg04fryz5w173xxqqhj8c"
+   "commit": "32eaec0fc7d20b8acbd4d459bfb8f8b72d75bb66",
+   "sha256": "1ggb7kx29pg6jph0xrkg00ybqasbak9bld2z2pl0vh1a61bv8vm4"
   }
  },
  {
@@ -27496,8 +27490,8 @@
   "repo": "jorgenschaefer/elpy",
   "unstable": {
    "version": [
-    20220318,
-    2201
+    20220322,
+    41
    ],
    "deps": [
     "company",
@@ -27506,8 +27500,8 @@
     "s",
     "yasnippet"
    ],
-   "commit": "d3df7021adab256eec679b833256352753c07b88",
-   "sha256": "0wjpj7ddyb6krpqglp4fp4vgys2j7aca22hzfn4sbhjb8mrqvmns"
+   "commit": "1746e7009000b7635c0ea6f1559018143aa61642",
+   "sha256": "120xzzaa8jxls3lri6d53zq6gafnkc6d9mlg09an334kkmh8k2fc"
   },
   "stable": {
    "version": [
@@ -27810,20 +27804,20 @@
   "repo": "emacscollective/elx",
   "unstable": {
    "version": [
-    20210918,
-    1436
+    20220321,
+    1200
    ],
-   "commit": "a457a596401dc5caa9c9a2ebb627bd4af0607780",
-   "sha256": "0670dxmvy38rl3mh2gh2ab8hp4y7z90kg3w340mfgx50fbwbcfs4"
+   "commit": "fb5fe4e017d5a10a9ae4c9e17d6a9c8ac656530a",
+   "sha256": "1rhrvn9vmb00makvg2gdaaakg76wpsl7spn402hyzgg7jhmqhfgs"
   },
   "stable": {
    "version": [
     1,
     5,
-    0
+    1
    ],
-   "commit": "a457a596401dc5caa9c9a2ebb627bd4af0607780",
-   "sha256": "0670dxmvy38rl3mh2gh2ab8hp4y7z90kg3w340mfgx50fbwbcfs4"
+   "commit": "fb5fe4e017d5a10a9ae4c9e17d6a9c8ac656530a",
+   "sha256": "1rhrvn9vmb00makvg2gdaaakg76wpsl7spn402hyzgg7jhmqhfgs"
   }
  },
  {
@@ -28162,11 +28156,11 @@
   "repo": "oantolin/embark",
   "unstable": {
    "version": [
-    20220314,
-    2324
+    20220326,
+    56
    ],
-   "commit": "5a74f42bd0031b28ee30b64fcb24717ceae8a030",
-   "sha256": "15g9mm1k4c0qbf9y3fcgsmkxzi4wh3hi6nb62rim2ackxw9f4ndp"
+   "commit": "b80d96ce0ab79e73829322e46c6d7493eb2b8c34",
+   "sha256": "1jsynjl0y7w0jqxqlibg8m4rwzv9lxj443m6dlac6zncz8plnizp"
   },
   "stable": {
    "version": [
@@ -28185,15 +28179,15 @@
   "repo": "oantolin/embark",
   "unstable": {
    "version": [
-    20220309,
-    1530
+    20220321,
+    239
    ],
    "deps": [
     "consult",
     "embark"
    ],
-   "commit": "5a74f42bd0031b28ee30b64fcb24717ceae8a030",
-   "sha256": "15g9mm1k4c0qbf9y3fcgsmkxzi4wh3hi6nb62rim2ackxw9f4ndp"
+   "commit": "b80d96ce0ab79e73829322e46c6d7493eb2b8c34",
+   "sha256": "1jsynjl0y7w0jqxqlibg8m4rwzv9lxj443m6dlac6zncz8plnizp"
   },
   "stable": {
    "version": [
@@ -29097,8 +29091,8 @@
    "deps": [
     "closql"
    ],
-   "commit": "4bb8a13a43e30798e27c80174169ff955bf2b631",
-   "sha256": "10arkzdqdc1kzizhxa4n28fjmaamz8gdnn1lf79327p7qi3cz7np"
+   "commit": "475bfb19e293edcdbeb23d30b2e4954ca7ab8f39",
+   "sha256": "0f4p5xrlsfmsn61xvh3mx9y84bklsyjz6jgkdajiyd7wrmhlyjzf"
   },
   "stable": {
    "version": [
@@ -29758,8 +29752,8 @@
     20200914,
     644
    ],
-   "commit": "2816605bfdc24c93d8801016d31beeed7608ad02",
-   "sha256": "0bq2hdfy86l4yby9nrf84rz521n6y0axfyvl4sw8fg5dpmx062yp"
+   "commit": "724723ed0a6b179398f4105f5eb5ea088d1bac4a",
+   "sha256": "0qzg5qhf3p4ifspbz6l1yj4fl6sdgbi74kprql20sx9y58dyhamd"
   },
   "stable": {
    "version": [
@@ -29783,18 +29777,18 @@
     20220215,
     1844
    ],
-   "commit": "e3deb7168cc89e391a18b77d6e09abb7c2a13f00",
-   "sha256": "1jz15kzbk74bbnmb58jdzrq24ajzfd0lqzwy32krcx6971vx8s49"
+   "commit": "510b025db164ec18e49117d070f4e08ebe8f4da1",
+   "sha256": "1wliqzp5nw07qxmy9024i2dmbidn9216niz09299q9z447raisp3"
   },
   "stable": {
    "version": [
     25,
     0,
     -1,
-    1
+    2
    ],
-   "commit": "3c68ceea1f93119bed871866c690fbf5a95048c1",
-   "sha256": "0i45r682i93b71jjhixq450lpkl6kbm8gi4f73g22k88w1lj1rmq"
+   "commit": "85d0a8366e64f8272e332a63a2cba59afa3f7eb9",
+   "sha256": "0nln44fd5kxjsgr0k95xn46jshp035s66rna7gb0lsm2iggcfwy8"
   }
  },
  {
@@ -30316,26 +30310,26 @@
   "repo": "Phundrak/eshell-info-banner.el",
   "unstable": {
    "version": [
-    20220114,
-    1021
+    20220326,
+    933
    ],
    "deps": [
     "s"
    ],
-   "commit": "247d8bf4dd93d796c41c0f60947cc77b73b99e83",
-   "sha256": "02xni607801764pwnhj0g3mvl1pg5mr0kvg6mbgxxwjpjcv6cndf"
+   "commit": "9c17e92f0229c9002e071842a88396c3f2439d72",
+   "sha256": "08kqqlvia3hzl9yq5yia92a27rk3fsahdizlf7rpywkmj5aix43l"
   },
   "stable": {
    "version": [
     0,
     8,
-    6
+    7
    ],
    "deps": [
     "s"
    ],
-   "commit": "d4033120c1259c454aaba21eb1c297b0507b34d4",
-   "sha256": "0f1zgbgzfc6djr3h5lkw9z614wcr5sfz77lfya31brpbiqpvqz6d"
+   "commit": "9c17e92f0229c9002e071842a88396c3f2439d72",
+   "sha256": "08kqqlvia3hzl9yq5yia92a27rk3fsahdizlf7rpywkmj5aix43l"
   }
  },
  {
@@ -33020,15 +33014,15 @@
   "repo": "meain/evil-textobj-tree-sitter",
   "unstable": {
    "version": [
-    20220306,
-    711
+    20220325,
+    1401
    ],
    "deps": [
     "evil",
     "tree-sitter"
    ],
-   "commit": "f3b3e9554e5ecae55200454804e183e268b4a6fc",
-   "sha256": "0aiy0bkffnq5g7a7ay4jwkp7whx211ybnrh590vl5bd9mnasmxxj"
+   "commit": "d488792ee1ceadf3ae4a8b7b93ca3a88d36111cc",
+   "sha256": "0mwxv0al1i8vplsh2bl8y5vl9zga6zlz6f8mjbbm6gvcnzpbz5ff"
   }
  },
  {
@@ -33057,8 +33051,8 @@
   "repo": "ethan-leba/tree-edit",
   "unstable": {
    "version": [
-    20220317,
-    29
+    20220319,
+    1652
    ],
    "deps": [
     "avy",
@@ -33067,8 +33061,8 @@
     "tree-edit",
     "tree-sitter"
    ],
-   "commit": "5961b738e30be007cb0fe984a76e406e0854c006",
-   "sha256": "17lfs5qqm2gjj40s3r6j1438zvrcfbsz6bxwn9z6flz6idj7ca0n"
+   "commit": "63816d614e6e2112c2f26e65afd7440f022ba2ad",
+   "sha256": "1c0s9hsm5wisikgxzskmnkin0r2vs9yc5yhgkjrsrvaiiv05g9ip"
   }
  },
  {
@@ -37203,14 +37197,14 @@
   "repo": "DamienCassou/flycheck-hledger",
   "unstable": {
    "version": [
-    20210119,
-    1000
+    20220323,
+    726
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "0eeaa707b74f96761404daa2f807fbd7af904b75",
-   "sha256": "15xwnxvda3kj81q2rm8cz2qj17l9cwjqak4y6v02cv37nax0jmfh"
+   "commit": "87b275b9b3d476b5f458e85e760f3f7fa3e66775",
+   "sha256": "0l4xqrjzz2spld624zsnnx7bqsiyqhfd3wixcjh7rjshiaf5vhb5"
   },
   "stable": {
    "version": [
@@ -39331,6 +39325,30 @@
   }
  },
  {
+  "ename": "flymake-markdownlint",
+  "commit": "0cdb9c33a827d870da79a63d3c0b923fb5b02073",
+  "sha256": "1myfk8pk02svr6506ccgs4qhcgq89jhyf91hpwvf1jfc1icr1ph6",
+  "fetcher": "github",
+  "repo": "shaohme/flymake-markdownlint",
+  "unstable": {
+   "version": [
+    20220320,
+    1208
+   ],
+   "commit": "59e3520668d9394c573e07b7980a2d48d9f6086c",
+   "sha256": "1d51gfk0yw9hxr3i48v7b7g3zh2pdwlygxy2gdcjcy4a4ih1014s"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    3
+   ],
+   "commit": "59e3520668d9394c573e07b7980a2d48d9f6086c",
+   "sha256": "1d51gfk0yw9hxr3i48v7b7g3zh2pdwlygxy2gdcjcy4a4ih1014s"
+  }
+ },
+ {
   "ename": "flymake-nasm",
   "commit": "003b8973f810f771da88e30b4aa7457967f21364",
   "sha256": "1i12dz0xzvbyajnlb64scv894zj2nbsz354mv9rjhkgvc9zw2hnl",
@@ -40484,8 +40502,8 @@
   "repo": "magit/forge",
   "unstable": {
    "version": [
-    20220318,
-    2335
+    20220326,
+    908
    ],
    "deps": [
     "closql",
@@ -40498,8 +40516,8 @@
     "transient",
     "yaml"
    ],
-   "commit": "de8856738f5c5d5b77349709c42329c1e23c0da5",
-   "sha256": "16bchyf9dnax0cd0v45scyw7jwmmdaxaam9ss04gn8grw5drjdvr"
+   "commit": "2aaf4462e868acf6eca95e5ca2c3693c3f059c2b",
+   "sha256": "16d3zcjwxhy18jhgcznwx643v9fc93yxb6fxgkasrzb0dlxrhhwq"
   },
   "stable": {
    "version": [
@@ -40554,15 +40572,15 @@
   "repo": "lassik/emacs-format-all-the-code",
   "unstable": {
    "version": [
-    20211119,
-    1042
+    20220322,
+    1003
    ],
    "deps": [
     "inheritenv",
     "language-id"
    ],
-   "commit": "6200b91d9151b3177a676d30edd948266292bcc1",
-   "sha256": "1d3mqajajr1jqkv4rnc3iwfdpipv9lk14hw4g7y8sli17l286k16"
+   "commit": "eb2a7fa6da15d23b57921218a36ac67d523e81f1",
+   "sha256": "1lf719fifgaci4hirz1bdnf918ijmkp017ynmlg1gq0lfx7ay7gj"
   },
   "stable": {
    "version": [
@@ -41323,8 +41341,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "1945b8f54cd62c7d6dd811586ee21bf43d6794a6",
-   "sha256": "1ladvdxi6bbjy5lspvmb0yl8vjnl0j8fq5jrn5wnfwwq3q9fb07p"
+   "commit": "cd194eebbf3bfc8ab795b41f99613faae342df34",
+   "sha256": "1qj9wvggyakp0v1yyr2fkj13ddgjj67g0fad2yk1xma44d454xfm"
   },
   "stable": {
    "version": [
@@ -41923,28 +41941,28 @@
   "repo": "emacs-geiser/geiser",
   "unstable": {
    "version": [
-    20220315,
-    2208
+    20220324,
+    51
    ],
    "deps": [
     "project",
     "transient"
    ],
-   "commit": "b0ce078b86ea8d52a2608af4217ae80d9bf0cfab",
-   "sha256": "1lvnk71fb4qkh8a7h7spsdhmc9nnj1lwgp9wr3c2fgzjqsl62kgr"
+   "commit": "cbfab92584072ba0e1c4119612a8438db61ecbf6",
+   "sha256": "1gxa5ba5n7k169klg3zyrl8ywyljmcp006x2fql3s7awz0c98rw0"
   },
   "stable": {
    "version": [
     0,
     23,
-    1
+    2
    ],
    "deps": [
     "project",
     "transient"
    ],
-   "commit": "b0ce078b86ea8d52a2608af4217ae80d9bf0cfab",
-   "sha256": "1lvnk71fb4qkh8a7h7spsdhmc9nnj1lwgp9wr3c2fgzjqsl62kgr"
+   "commit": "bc0dde310492de733f9ec528d7aeddd57093d05e",
+   "sha256": "1gxa5ba5n7k169klg3zyrl8ywyljmcp006x2fql3s7awz0c98rw0"
   }
  },
  {
@@ -42098,25 +42116,26 @@
   "repo": "emacs-geiser/guile",
   "unstable": {
    "version": [
-    20220316,
-    2111
+    20220323,
+    2352
    ],
    "deps": [
     "geiser"
    ],
-   "commit": "aa48110d69b018f03dbff0aa9e830111fef71da4",
-   "sha256": "1v9f90smnk41nz1pjy5mwz199y8p4qar3llgaryzxr7s4wg2v9wi"
+   "commit": "c641fcc50b6b86ca95743122b5206cdcd475f96e",
+   "sha256": "18m5ldj4r4c2hxgvv5b4azl90r8az1kn5f3s913h971asyv4wx06"
   },
   "stable": {
    "version": [
     0,
-    23
+    23,
+    2
    ],
    "deps": [
     "geiser"
    ],
-   "commit": "aa48110d69b018f03dbff0aa9e830111fef71da4",
-   "sha256": "1v9f90smnk41nz1pjy5mwz199y8p4qar3llgaryzxr7s4wg2v9wi"
+   "commit": "c641fcc50b6b86ca95743122b5206cdcd475f96e",
+   "sha256": "18m5ldj4r4c2hxgvv5b4azl90r8az1kn5f3s913h971asyv4wx06"
   }
  },
  {
@@ -42417,16 +42436,16 @@
   "repo": "thisch/gerrit.el",
   "unstable": {
    "version": [
-    20220208,
-    2103
+    20220323,
+    1105
    ],
    "deps": [
     "dash",
     "magit",
     "s"
    ],
-   "commit": "bd0349236baacfdcdf82cb33c9ba45f451b9b255",
-   "sha256": "1ng68lc1z0rs23qprbwi8j1kj1162k0ckj4i9k6kff671i4f7lkm"
+   "commit": "b7603d14f3869e1fba6265bd8255469a47be7357",
+   "sha256": "1hshq5bv3cmd04mkq8lckk9cnmjlhb4l34wapgpqrsyhfnz18zxw"
   }
  },
  {
@@ -42717,28 +42736,28 @@
   "repo": "magit/ghub",
   "unstable": {
    "version": [
-    20220310,
-    1436
+    20220325,
+    1028
    ],
    "deps": [
     "let-alist",
     "treepy"
    ],
-   "commit": "bd6e02b884368f26aeef9fd67107809f355c2c3d",
-   "sha256": "0qaz0p7178xd4rs5wxw01804dhnzg9c0dbxlvddm66s6l31baij5"
+   "commit": "fdf2e5bb9ba34216d6a76444c1889863db447b29",
+   "sha256": "03c1934gck19gmhmy1cv3m2fma7f9pxi9l7p1pcz7iy1x6cyi6bm"
   },
   "stable": {
    "version": [
     3,
     5,
-    5
+    6
    ],
    "deps": [
     "let-alist",
     "treepy"
    ],
-   "commit": "6662865449a4c68c03e3a8257aee0ae5318b0fbd",
-   "sha256": "1px27nh4cr3r16qmvig72jdirjzllvm2m4dzm59kfznhg3rf7vj0"
+   "commit": "2e1cf8c1410be8b1d5a81bff1cfac70a3f621b92",
+   "sha256": "1pw1rjrvvanlcxv3rb64s2p646zfaipp7h7v8djlrrnlgy6mwbqd"
   }
  },
  {
@@ -43090,8 +43109,8 @@
     "transient",
     "with-editor"
    ],
-   "commit": "0b3b18452cf7b72e067451a453c55c44cf1d8c89",
-   "sha256": "0g8p4pjvijrkwj4x9wqkjqr63l92nfz6cbfxlw67xjlfilclmjlj"
+   "commit": "b1702991eec2c068d282fc2f1bd665726a14e10d",
+   "sha256": "0gyvbhwm5x7wgm4cdp3v0h8vv5vkw066fmwsvlvgyqqppkq5pqz3"
   },
   "stable": {
    "version": [
@@ -43510,14 +43529,14 @@
   "repo": "pidu/git-timemachine",
   "unstable": {
    "version": [
-    20210528,
-    908
+    20220324,
+    1057
    ],
    "deps": [
     "transient"
    ],
-   "commit": "3381797bcbf906b18dff654a2361032d2d01b4a3",
-   "sha256": "05pyjhi26charkjy0mhvigd72rvb4s1s8imycfynf0fmjy7f7n7x"
+   "commit": "ca09684e94767cc0b2339b77b778b4de4f9d104f",
+   "sha256": "13zs30sr8fkxar883va9xbfcl27m7jf02g63rq09gccjfw670r7z"
   },
   "stable": {
    "version": [
@@ -43773,16 +43792,30 @@
   "repo": "akirak/github-linguist.el",
   "unstable": {
    "version": [
-    20220311,
-    827
+    20220324,
+    548
    ],
    "deps": [
     "async",
     "map",
     "project"
    ],
-   "commit": "3f3f5c93f80ec664d7ffadbeb9d30bd4c2741fa4",
-   "sha256": "10sw9i6r07f5d23qdsy2yk2a29mvzcsrlhnbv8wk1iw8691pkd69"
+   "commit": "6e3fc58a465e6726dcba6da038f959028c62223b",
+   "sha256": "1zli3xzp44c61jrg0fn7h39ianxjp2r24sswm3i99hnx052pp8fp"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    1
+   ],
+   "deps": [
+    "async",
+    "map",
+    "project"
+   ],
+   "commit": "6e3fc58a465e6726dcba6da038f959028c62223b",
+   "sha256": "1zli3xzp44c61jrg0fn7h39ianxjp2r24sswm3i99hnx052pp8fp"
   }
  },
  {
@@ -44210,15 +44243,15 @@
   "repo": "Kinneyzhang/gkroam",
   "unstable": {
    "version": [
-    20210914,
-    1311
+    20220326,
+    521
    ],
    "deps": [
     "company",
     "db"
    ],
-   "commit": "a9c9034a8fa3c08ec3097ae40e227d400d766db9",
-   "sha256": "1fc8srqvygiv3h2hw31vy20ip6kbm2m1aq5imx01fw9qig7xfv47"
+   "commit": "38f517ac2894b16e6cf983b93ee96762fffa152a",
+   "sha256": "1ag1cpyljid237ki91zq68chyaalskibadz7af3abaa00d4lvf9v"
   },
   "stable": {
    "version": [
@@ -44534,8 +44567,8 @@
     20220102,
     1637
    ],
-   "commit": "d1a6a606dcb389a7c91a6b0d9fb995434df561be",
-   "sha256": "1p1nbgr4ffpp7plllsimshjr9ykcz27afz6fq1xqpnbslryi0bag"
+   "commit": "57be3c7addec31e226a5a27aa553e996f9c684e3",
+   "sha256": "04w11gsg91mvr2bpa70rip8rn6ir9wmgpj6078hlx4dhx0fj7c00"
   },
   "stable": {
    "version": [
@@ -44656,11 +44689,11 @@
   "repo": "unhammer/gnus-recent",
   "unstable": {
    "version": [
-    20210920,
-    902
+    20220324,
+    2011
    ],
-   "commit": "dfa0e687601e78d6be82530413cb00edb1a39889",
-   "sha256": "021rq3qp3544abqzr8cdsblpqh8yh2ss3f9gsf5sifckz7127h0s"
+   "commit": "a0ace8ea6e62a6b79a18149fbd560c6948a8103b",
+   "sha256": "0z1ad57kb0xbm8568cs6wwsgv9zbzs0skjvc12y83j5say3gwlgy"
   },
   "stable": {
    "version": [
@@ -45376,11 +45409,11 @@
   "repo": "lorniu/go-translate",
   "unstable": {
    "version": [
-    20220130,
-    138
+    20220321,
+    210
    ],
-   "commit": "b6a5842fdd08872d9243375c46cd549f1399e5b8",
-   "sha256": "1570b0v4dr745hwvw20byzhkhn4cr1v2g0n3zalh4j8wq1qkb0cw"
+   "commit": "2616a4c2e26827ecba0f2576d26b01a63546b452",
+   "sha256": "00bs8alcd2hj4c2yz1m6h1h0zddy9vicmhvipz5q1lsmnbaamwmr"
   },
   "stable": {
    "version": [
@@ -45991,8 +46024,8 @@
     "magit-popup",
     "s"
    ],
-   "commit": "4cce99f9ab081fd98e4e39733b0bfe2269c83de1",
-   "sha256": "0vlxzywqnp4wl12kv6i07ipxl8ba3cvi3mx35d88g2q4hs8jzvs0"
+   "commit": "fcb4f7ccee1a01bd759c3d4e7331d40c61a1feca",
+   "sha256": "1qdlmj8gpsc5365kplm0wif93y8bwfnya47y013nqjk748ins8vv"
   },
   "stable": {
    "version": [
@@ -46636,11 +46669,11 @@
   "repo": "seagle0128/grip-mode",
   "unstable": {
    "version": [
-    20220311,
-    1034
+    20220323,
+    1519
    ],
-   "commit": "d49af7a21a1f81d809566755085679bbc7d794a5",
-   "sha256": "08n9bv5dxygkk8yxm58sha5ds6bcg3zhw4fradwcxs7pcdjlpabi"
+   "commit": "3b06e0f594efc5d835eb30a4b89ad951e7b4d7a1",
+   "sha256": "026r6wh0plpwb6ag05ysfhcsw7l4001xwb7wqw1xchxh7jhvpmdy"
   },
   "stable": {
    "version": [
@@ -47744,11 +47777,11 @@
   "repo": "haskell/haskell-mode",
   "unstable": {
    "version": [
-    20220312,
-    1521
+    20220324,
+    1803
    ],
-   "commit": "5750f74d892ecc8f34ad8c73e75f78bfb3a86303",
-   "sha256": "1ivizlymkz4ciyyyd8l6y0cdrj72qbymagzmqivq8gxak9wyh71p"
+   "commit": "b1505b727b1fb8ae352e59dc90ec6dd05369ce32",
+   "sha256": "1a2znlg42jg5v2ml1n6a5chrh4365kppfrrd2y6f8rk4x6jwr6mx"
   },
   "stable": {
    "version": [
@@ -48054,29 +48087,28 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20220313,
-    937
+    20220319,
+    1850
    ],
    "deps": [
     "helm-core",
     "popup"
    ],
-   "commit": "46008f69fded4fe7e3cba942a8c7ce91a3cf1187",
-   "sha256": "1447v3f2r0qyd0hkqcl1mp7xm82d31bdf0h2r3km7gf9sfvlhfl9"
+   "commit": "5e035c9193bf1e1d4bb709794a154957544dcfc7",
+   "sha256": "1my6c87ia7h99dbbbw1yxcmgacwss1j36rf3swn3k2ab6k34hsf4"
   },
   "stable": {
    "version": [
     3,
     8,
-    4
+    5
    ],
    "deps": [
-    "async",
     "helm-core",
     "popup"
    ],
-   "commit": "08c4ad8e80394c8bc2c0d50429bce765f03826db",
-   "sha256": "0kfw83jz44b30v5rzvrx4ish62rkvacxd4s64xmf18h2342nrzi0"
+   "commit": "5e035c9193bf1e1d4bb709794a154957544dcfc7",
+   "sha256": "1my6c87ia7h99dbbbw1yxcmgacwss1j36rf3swn3k2ab6k34hsf4"
   }
  },
  {
@@ -48961,26 +48993,26 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20220217,
-    812
+    20220319,
+    1850
    ],
    "deps": [
     "async"
    ],
-   "commit": "46008f69fded4fe7e3cba942a8c7ce91a3cf1187",
-   "sha256": "1447v3f2r0qyd0hkqcl1mp7xm82d31bdf0h2r3km7gf9sfvlhfl9"
+   "commit": "5e035c9193bf1e1d4bb709794a154957544dcfc7",
+   "sha256": "1my6c87ia7h99dbbbw1yxcmgacwss1j36rf3swn3k2ab6k34hsf4"
   },
   "stable": {
    "version": [
     3,
     8,
-    4
+    5
    ],
    "deps": [
     "async"
    ],
-   "commit": "08c4ad8e80394c8bc2c0d50429bce765f03826db",
-   "sha256": "0kfw83jz44b30v5rzvrx4ish62rkvacxd4s64xmf18h2342nrzi0"
+   "commit": "5e035c9193bf1e1d4bb709794a154957544dcfc7",
+   "sha256": "1my6c87ia7h99dbbbw1yxcmgacwss1j36rf3swn3k2ab6k34hsf4"
   }
  },
  {
@@ -49144,14 +49176,14 @@
   "repo": "emacs-helm/helm-dictionary",
   "unstable": {
    "version": [
-    20201006,
-    1511
+    20220319,
+    955
    ],
    "deps": [
     "helm"
    ],
-   "commit": "b316a1d55e58645d59a84d33851d46fab3cd54b5",
-   "sha256": "0rggi6jd5f6dp50d08k9xba470drlhg9qa5a0y3cy4y2nlq0y7rn"
+   "commit": "69f1e5bf03d67c9e5cb0065e702e8c311ac9d3db",
+   "sha256": "0haq758rxayl4qwyxm44w7mq1s5g0gpfxspd0q9c546qvws4kwrr"
   }
  },
  {
@@ -49199,8 +49231,8 @@
     "cl-lib",
     "helm"
    ],
-   "commit": "281523f9fc46cf00fafd670ba5cd16552a607212",
-   "sha256": "1bqavj5ljr350dckyf39i9plkb0rbhyd17ka94n2g6daapgpq0x6"
+   "commit": "06654656d3ad502742056d9030dd59e0da984764",
+   "sha256": "17647v4wqia35x90ph47cv76mr5c1vym1p61jmrmasdp0cm06bv3"
   },
   "stable": {
    "version": [
@@ -53809,11 +53841,11 @@
   "repo": "ideasman42/emacs-hl-prog-extra",
   "unstable": {
    "version": [
-    20220211,
-    548
+    20220324,
+    16
    ],
-   "commit": "aaa9cd5085c13cbbfa41648ca4134a1699e64d5e",
-   "sha256": "1pbhyskam5jklglrqmzqdfzs5vgh8qykp3ihr9q4rsmh2wypxy4g"
+   "commit": "3312497ddfc7b7bc0e773ae98fc02477a4b0c7a0",
+   "sha256": "1n436z6dg7c1vw6sl5bswny059d2629yx9cvlkf076xg8dmlhwdv"
   }
  },
  {
@@ -53846,20 +53878,20 @@
   "repo": "tarsius/hl-todo",
   "unstable": {
    "version": [
-    20220317,
-    2321
+    20220323,
+    1714
    ],
-   "commit": "e0ba3e1829aedece7fd54a3c53d4d94376c3e707",
-   "sha256": "1p008l5va3fzdg3yzsz5bd9hc1p5nqa74rryl88d7qyxaq1bxm80"
+   "commit": "c0f0555a6b9f3818f29e6394db0b45d6d5675edf",
+   "sha256": "15sndz0dd8aasg23yp298rlrw17pn73irzn048fmvri8wl8951hv"
   },
   "stable": {
    "version": [
     3,
-    3,
-    0
+    4,
+    1
    ],
-   "commit": "57378bd4511887a815725a7850e1ff2c6e9fda16",
-   "sha256": "0bdwdp8d0g7n0kv6l4h7alya3z6fsfi618dzw5x8f2az3r87yg8y"
+   "commit": "c0f0555a6b9f3818f29e6394db0b45d6d5675edf",
+   "sha256": "15sndz0dd8aasg23yp298rlrw17pn73irzn048fmvri8wl8951hv"
   }
  },
  {
@@ -55044,11 +55076,11 @@
   "repo": "muffinmad/emacs-ibuffer-project",
   "unstable": {
    "version": [
-    20210205,
-    1940
+    20220321,
+    1312
    ],
-   "commit": "2483d2dbd715c4bd892d1fbc968a17a01888cb2d",
-   "sha256": "165g2lsg8apdpn7i36h0x5j80clpjpf3d1d1l8g8ahf5280flcfw"
+   "commit": "bfc0ec1f27b02b8ab816dcfd9073e5d78dae1aed",
+   "sha256": "0x25xzlvqgpf2s00595vbgyk322h74n46x2dbcp2v3158b0cj86c"
   },
   "stable": {
    "version": [
@@ -57105,11 +57137,11 @@
   "repo": "ideasman42/emacs-inkpot-theme",
   "unstable": {
    "version": [
-    20220211,
-    548
+    20220326,
+    733
    ],
-   "commit": "eb3f6deac945e536cdc8ddc09f6021fdbaa645eb",
-   "sha256": "1s0srxvcwv1myba22z0phkrs7da7cn22mgp6m6d01v5zgj03924m"
+   "commit": "a8d0d2ecd4855ba91e21d0481b02dff3755f8afd",
+   "sha256": "0qz91mzfp8ywk9ngaw60q0nczxykanl5sbgf42v9xfgm6fys8yal"
   }
  },
  {
@@ -58524,8 +58556,8 @@
     "ivy",
     "prescient"
    ],
-   "commit": "3dbcef387502d309d130a518a18d48cd2f0e15b7",
-   "sha256": "024l7s0b6apbzanw3cnhjypxnxfinfb5b3nhaabrc138m5pis8j5"
+   "commit": "c5295a9eecbd2935bb57684a4422638e03bf738c",
+   "sha256": "1wfmynbqaqvrkjdncx0wmqxz6v8zlfmqlh5l3h6876jin97i5fbv"
   },
   "stable": {
    "version": [
@@ -60590,8 +60622,8 @@
   "repo": "gcv/julia-snail",
   "unstable": {
    "version": [
-    20220313,
-    633
+    20220325,
+    2038
    ],
    "deps": [
     "dash",
@@ -60600,8 +60632,8 @@
     "spinner",
     "vterm"
    ],
-   "commit": "388c4c9ff915dfd5ded6906b62b76f97d59ada94",
-   "sha256": "1wpaspl09zrj27hw1d4mk935cdhn2cs8jrg53vx7smfppip3ddb3"
+   "commit": "80a2def11e444d8ba2b640d0ea76720cfefccb65",
+   "sha256": "1k5wqlxgijz73qscbdnkaia3ffw55x08xyqmfppvqv1w4gdvr0ya"
   },
   "stable": {
    "version": [
@@ -62108,11 +62140,11 @@
   "repo": "vifon/kmacro-x.el",
   "unstable": {
    "version": [
-    20220317,
-    307
+    20220323,
+    2215
    ],
-   "commit": "f9df322d0c894129ac96e9a4fba03077957157be",
-   "sha256": "10gvrj5qsi6nvldl4rnxxqbwr92b2y53gsx8lk67ljrcq70vqgd1"
+   "commit": "429abd82c97031948b7681197551bb77708bd174",
+   "sha256": "07yxqcq84hlj3h3b66cwlmmk4cfnwb7pfr5lqvgaxywvziv2hqng"
   }
  },
  {
@@ -62551,6 +62583,15 @@
    ],
    "commit": "910e8fa56a0cfe89dae888522f9fec4045d017fb",
    "sha256": "0pghi50ffzlp7igvq81dmrbrwyj9ivl5kkxm47hff7qgb9rvx8n1"
+  },
+  "stable": {
+   "version": [
+    1,
+    0,
+    0
+   ],
+   "commit": "910e8fa56a0cfe89dae888522f9fec4045d017fb",
+   "sha256": "0pghi50ffzlp7igvq81dmrbrwyj9ivl5kkxm47hff7qgb9rvx8n1"
   }
  },
  {
@@ -62693,11 +62734,11 @@
   "repo": "dingansichKum0/lacquer",
   "unstable": {
    "version": [
-    20211005,
-    1517
+    20220321,
+    720
    ],
-   "commit": "3ef4c22982119674861ed61e3302ac3e0f05be2b",
-   "sha256": "0m05qyy0w5k9ycb2ywv222cy99brw2d1gmcan6b4311r04fv9k70"
+   "commit": "0d7d09f7fe22fb0241e91228ce44568ed3e3e798",
+   "sha256": "1xfh4yi5r96vfy0zmr09lkvgzf7v82cs03y3jvflpz75acmbiryh"
   },
   "stable": {
    "version": [
@@ -62894,26 +62935,19 @@
   "repo": "lassik/emacs-language-id",
   "unstable": {
    "version": [
-    20210916,
-    831
-   ],
-   "deps": [
-    "cl-lib"
+    20220321,
+    638
    ],
-   "commit": "906fac7d91994d02120cfb5f547c1d06cea1ad69",
-   "sha256": "1rgf90z6rl5g348s49w39ng7avq2s9qwi7mmpfxi3hjaslazn1jl"
+   "commit": "46a44793a2ac73c7b70f8b4c11818423aa1582e3",
+   "sha256": "0i3qww2lc7kcvw27iwwvi871k81s8jc2rbfbpcnrsy3cnrxx7smd"
   },
   "stable": {
    "version": [
     0,
-    16,
-    1
-   ],
-   "deps": [
-    "cl-lib"
+    18
    ],
-   "commit": "906fac7d91994d02120cfb5f547c1d06cea1ad69",
-   "sha256": "1rgf90z6rl5g348s49w39ng7avq2s9qwi7mmpfxi3hjaslazn1jl"
+   "commit": "c945568a2e40e8d7e9738a534ce54e9ff59779c6",
+   "sha256": "0ny0sicma48snzyhh6xv1zv4vc87mmf4jyacpky3i6mk6gdwxfl8"
   }
  },
  {
@@ -64121,8 +64155,8 @@
     20220209,
     755
    ],
-   "commit": "ce20b1a708224cc01dc267f3f7b76b04b0ee9548",
-   "sha256": "0h81778qq5j18gq8vyynb4x41zczvvprvvnis0xjl1mhpi5z2l72"
+   "commit": "618d98641a4fc1c55d07de72c12754b85da27910",
+   "sha256": "1kvkbj4rpvilxl6w119xh7x9w8xdw4cgnw7gd3vl50krzj9s1ajz"
   },
   "stable": {
    "version": [
@@ -64285,14 +64319,14 @@
   "repo": "noctuid/link-hint.el",
   "unstable": {
    "version": [
-    20211224,
-    1358
+    20220320,
+    1727
    ],
    "deps": [
     "avy"
    ],
-   "commit": "676dac6621e321b33a8d396fa27dd0ea619d21e3",
-   "sha256": "1g9w2ymihs649cck3vm0pb4591jzsyf2b2jfpyrwcxipqw30rj63"
+   "commit": "44e98956e04dfa8e440951c6cc6cefb9e64f1658",
+   "sha256": "0fhs1ha2j4k1pkfhyvc3x2mp9r3xl7slj6y4hqfzgllmhzmr93g0"
   }
  },
  {
@@ -64861,11 +64895,11 @@
   "repo": "jingtaozf/literate-elisp",
   "unstable": {
    "version": [
-    20220103,
-    717
+    20220322,
+    133
    ],
-   "commit": "b17645f2dfdf8d6b945123cafc253b1fc71f336b",
-   "sha256": "1gqk2klypf4r6yx5lvlpsiwn9fb5w3lqm99rq1bkx0iq1qm5aa85"
+   "commit": "dc4f9d64a8483aa6e394178087c589cdefc571e2",
+   "sha256": "08hhp74s56h9k3hlfqky68aiv4qy79gnci46r5nh4mbkrybsijnq"
   },
   "stable": {
    "version": [
@@ -64991,8 +65025,8 @@
     20220208,
     308
    ],
-   "commit": "38864c22bf68c7a8975d1d5b2ba4881f75ac2442",
-   "sha256": "0lwnsxpggp5rwn7z55sgq1ibwzkb61avpna74q3gfjq2ncfx03jr"
+   "commit": "d3c813f90083ee1a146b3e2d96c8bc47b9e7ff7b",
+   "sha256": "18kak48a6zs065xx7q47kqs9hx5n0lbr0a2pvlh1wxhncnh8vgpj"
   },
   "stable": {
    "version": [
@@ -65753,8 +65787,8 @@
     "lsp-mode",
     "lsp-treemacs"
    ],
-   "commit": "01b58674842197eb565fdbaa723e9e536ae6d6ab",
-   "sha256": "1damw69qmgrw7rbsgk7mkni1isgargg17y68s7c4r5x0hg42wksy"
+   "commit": "fda433671f38874f0ebe66c43c64fec14af3f492",
+   "sha256": "1zszzw0a58s1clsvhvqxymivrw2x6p96cxx9pygr8is8f9353hpg"
   },
   "stable": {
    "version": [
@@ -65943,8 +65977,8 @@
   "repo": "emacs-lsp/lsp-java",
   "unstable": {
    "version": [
-    20211124,
-    605
+    20220325,
+    547
    ],
    "deps": [
     "dap-mode",
@@ -65956,8 +65990,8 @@
     "request",
     "treemacs"
    ],
-   "commit": "ce03cb6574566e334c3ce5735458cc3ec1989486",
-   "sha256": "0z18b7xn9rgrs8w485bzw93g1nimfp0616d9xlrj0wc4k1i8vyd4"
+   "commit": "0968038b9aea52ef3bf499e597cf3800d913c059",
+   "sha256": "1rpssrv1avbfq47h23qiymzhzddcxgs77diwq3mavqkxkqrkj3vz"
   },
   "stable": {
    "version": [
@@ -66174,8 +66208,8 @@
   "repo": "emacs-lsp/lsp-mode",
   "unstable": {
    "version": [
-    20220318,
-    1246
+    20220325,
+    1415
    ],
    "deps": [
     "dash",
@@ -66185,8 +66219,8 @@
     "markdown-mode",
     "spinner"
    ],
-   "commit": "c6482c1bbfa366a1fc52c32c03164ac77f297022",
-   "sha256": "0nxjjl7hcbf7br919rkl4q5zixy7r75s08ag98mksbwrfr2mmgm1"
+   "commit": "95a5270ff783af063392286e8f45cf338c5a9765",
+   "sha256": "1sbww4m1pm5n0y3gzsqdggv39ic39gy0l15va5m26pvz9ffd7367"
   },
   "stable": {
    "version": [
@@ -66341,8 +66375,8 @@
     "ht",
     "lsp-mode"
    ],
-   "commit": "d428dbcf1802fbe147271c8dc74b073bd9cd7403",
-   "sha256": "0y31dajhd6jfla4h137k78clvwsfj1pdmgd61ni83yl6ackpvm8c"
+   "commit": "fa6698a6e33880feb16d264172aa665d14cb8a6f",
+   "sha256": "10y3gsc4wawh4rjv25dr10wb65wmwmrz1wnf5qsaglq2c5svhxhy"
   }
  },
  {
@@ -66359,8 +66393,8 @@
    "deps": [
     "lsp-mode"
    ],
-   "commit": "abf4d89ecf2fa0871130df5fce6065b7cf0a2721",
-   "sha256": "1cad09y36bf97mhgg7xncf4m856ys8n7zlbsgag5h5rja1ha71nl"
+   "commit": "ab052be5c4347e909dbfeecc83d43b9d75ccedda",
+   "sha256": "1bdlkqkqssz56kskff2pm2bkdb0bscfbqbd1vk3li20036c5dq05"
   },
   "stable": {
    "version": [
@@ -66633,11 +66667,11 @@
   "repo": "hawk/lux",
   "unstable": {
    "version": [
-    20210607,
-    1130
+    20220121,
+    913
    ],
-   "commit": "d158bb78029705a6ee848f8e00c09ba1f3575564",
-   "sha256": "1dkx6xas7dg07pgk4h3f7cdr6hmccw00qv3fi8l2vj462nd7cr5w"
+   "commit": "4304c89b3c9cccb256655b7d1058d7619e926dc7",
+   "sha256": "1fynv13wv13dzl7s84x6b4sav1im3rhrzds38w4vl1nx2jvgiya4"
   }
  },
  {
@@ -67040,8 +67074,8 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20220318,
-    1627
+    20220326,
+    946
    ],
    "deps": [
     "dash",
@@ -67050,8 +67084,8 @@
     "transient",
     "with-editor"
    ],
-   "commit": "0b3b18452cf7b72e067451a453c55c44cf1d8c89",
-   "sha256": "0g8p4pjvijrkwj4x9wqkjqr63l92nfz6cbfxlw67xjlfilclmjlj"
+   "commit": "b1702991eec2c068d282fc2f1bd665726a14e10d",
+   "sha256": "0gyvbhwm5x7wgm4cdp3v0h8vv5vkw066fmwsvlvgyqqppkq5pqz3"
   },
   "stable": {
    "version": [
@@ -67416,8 +67450,8 @@
     "libgit",
     "magit"
    ],
-   "commit": "0b3b18452cf7b72e067451a453c55c44cf1d8c89",
-   "sha256": "0g8p4pjvijrkwj4x9wqkjqr63l92nfz6cbfxlw67xjlfilclmjlj"
+   "commit": "b1702991eec2c068d282fc2f1bd665726a14e10d",
+   "sha256": "0gyvbhwm5x7wgm4cdp3v0h8vv5vkw066fmwsvlvgyqqppkq5pqz3"
   },
   "stable": {
    "version": [
@@ -67565,14 +67599,14 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20220311,
-    1044
+    20220325,
+    1720
    ],
    "deps": [
     "dash"
    ],
-   "commit": "0b3b18452cf7b72e067451a453c55c44cf1d8c89",
-   "sha256": "0g8p4pjvijrkwj4x9wqkjqr63l92nfz6cbfxlw67xjlfilclmjlj"
+   "commit": "b1702991eec2c068d282fc2f1bd665726a14e10d",
+   "sha256": "0gyvbhwm5x7wgm4cdp3v0h8vv5vkw066fmwsvlvgyqqppkq5pqz3"
   },
   "stable": {
    "version": [
@@ -67665,8 +67699,8 @@
   "repo": "alphapapa/magit-todos",
   "unstable": {
    "version": [
-    20210811,
-    459
+    20220326,
+    519
    ],
    "deps": [
     "async",
@@ -67678,8 +67712,8 @@
     "s",
     "transient"
    ],
-   "commit": "12a7b80dc421804450f01a3f23e39dfb618c8bbd",
-   "sha256": "08z33zy50b8rmkzdvlf5555r87dmx7ng49kpm12ja46m7mycclcp"
+   "commit": "67fd80c2f10aec4d5b2a24b5d3d53c08cc1f05dc",
+   "sha256": "00hs3a9hpxmwsrd8xxwn9cpxk69x5ghmxq205aqpr7mjigcg7n2d"
   },
   "stable": {
    "version": [
@@ -69381,11 +69415,11 @@
   "repo": "meow-edit/meow",
   "unstable": {
    "version": [
-    20220313,
-    809
+    20220321,
+    2047
    ],
-   "commit": "57656a69d3c29ddb0d18697491f80674e1097eaf",
-   "sha256": "11iz95lm25vpdc3plpm3h1zlmfmfz08xlman8iqk5fa13636v7hj"
+   "commit": "979acca991cdada7438f360ef0fec573b20f4f96",
+   "sha256": "0m46nil2bbmks6d9zg18246xfwjyghdfsim5fvfhxq39amw5rp9j"
   },
   "stable": {
    "version": [
@@ -70953,11 +70987,11 @@
   "repo": "protesilaos/modus-themes",
   "unstable": {
    "version": [
-    20220316,
-    1159
+    20220325,
+    617
    ],
-   "commit": "87508b4c21343cac910040705fe14f84d2c70d70",
-   "sha256": "1xliizsbdg6hqkyf0fvl03mg95qspzpcsgvnj54cpc8vbyj9xafd"
+   "commit": "03f7046dff86c5342af778ad3f9850af7e950aed",
+   "sha256": "1ab0s4jqav3l66zzgxpx9gr6p0s3d6rhd98jkh3i3hba7qqsjn7x"
   },
   "stable": {
    "version": [
@@ -71406,11 +71440,11 @@
   "repo": "Melchizedek6809/morgentau-theme",
   "unstable": {
    "version": [
-    20220228,
-    2214
+    20220319,
+    1049
    ],
-   "commit": "1efa7fa43f408660fa49a927ff03763354aed5f6",
-   "sha256": "0kl87pgy3zmz2aav80y07lm21rjwlrm2x0hb14mgq412rci287hd"
+   "commit": "a8da5640b4a9b72a3136901d0a1a03071d9fcb00",
+   "sha256": "1ksfw4slhbwsvydb3qvdwlb5nh47zv420akrssavw7527c657rkj"
   }
  },
  {
@@ -71603,8 +71637,8 @@
     20210306,
     1053
    ],
-   "commit": "140ccd7ed9ceb6ce7eebf3b4024f2e78b12bdfa6",
-   "sha256": "111fgfmzdrhin68a0vsr0bf84930af1cscsjc9sc91h2a54lyz6d"
+   "commit": "1b950579e8a422ef3aaaa1e183db330a448f18e5",
+   "sha256": "1gay1s7kgpkml9bk6s9a2srp19g64m57q2cc6r42h89z128wgh0k"
   },
   "stable": {
    "version": [
@@ -71999,22 +72033,22 @@
  },
  {
   "ename": "mu4e-alert",
-  "commit": "855ea20024b606314f8590129259747cac0bcc97",
-  "sha256": "0b74ky51nx75vcrrbabr5cj2cx4yax5kgaq479hjp5yc5mq2q46r",
+  "commit": "9f978bdf14e60dd049a8a0a59b3ef94b17bc1f3a",
+  "sha256": "0jnm0xfw0lnmkl3kcddkkdl11xk55bs7g6mzarcgl44j8mlbwizq",
   "fetcher": "github",
-  "repo": "iqbalansari/mu4e-alert",
+  "repo": "xzz53/mu4e-alert",
   "unstable": {
    "version": [
-    20190418,
-    558
+    20220320,
+    1917
    ],
    "deps": [
     "alert",
     "ht",
     "s"
    ],
-   "commit": "91f0657c5b245a9de57aa38391221fb5d141d9bd",
-   "sha256": "0qr5ww2xj8dibglh175qcq4bdgzs8lylv28hkbijykjshr3pkzn9"
+   "commit": "cfd8bf3edab29ba7babb7cbe75c67aeb15a8a386",
+   "sha256": "1wgfs61x2m9prjnmc0019km177p9ayzyhxxf8py97fckxn2hkwlz"
   },
   "stable": {
    "version": [
@@ -74011,8 +74045,8 @@
     20181024,
     1439
    ],
-   "commit": "f0fd305a5772fe06be9627ddcdcf2950449900b9",
-   "sha256": "0pl0l9dhmiav2x8qbsi52ph7cskq3z43zmgq5jn0bn6dqwzmxizd"
+   "commit": "25cdbae0ee1270a5c8dd6ba67696e29ad8076919",
+   "sha256": "1fwqvjg39l7321ykph3fd8dmkdy4q381jlg1jwr7ynmm285rfs9j"
   },
   "stable": {
    "version": [
@@ -74420,13 +74454,13 @@
    "version": [
     1,
     2,
-    6
+    7
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "e0f8daa7c374cd91d9c4e89cbdda6e0e7fe24317",
-   "sha256": "1098wm46gi15pzh065fpxfjf8lr7jf2sg48yy9yzdi0dwdyz6l4c"
+   "commit": "13414b7a294fa6f35bbeb535cdcab6b256e39da7",
+   "sha256": "1grc5fk7ng4d6i8fwfpm3cb2b19s9sbdjbdn8ybchk7cj45kkl24"
   }
  },
  {
@@ -74753,8 +74787,8 @@
     20220226,
     1200
    ],
-   "commit": "7167b7556cccbb16ec83144a2f2a095b91a6ba02",
-   "sha256": "1i6cmaa530s45sawmfsabr8vvqlnk64bifill070jfzpgilxj7bp"
+   "commit": "8ed6a172b35708428f84f30af44fa81c12852e43",
+   "sha256": "1gknm711bfyvl7mrd0an1rjlw584vrxj8j922wy60j9mrka1wmgz"
   },
   "stable": {
    "version": [
@@ -74922,15 +74956,15 @@
   "url": "https://depp.brause.cc/nov.el.git",
   "unstable": {
    "version": [
-    20220218,
-    1230
+    20220320,
+    1009
    ],
    "deps": [
     "dash",
     "esxml"
    ],
-   "commit": "0a166007f6430564360c31b5c68fca45a0c610d2",
-   "sha256": "0zgycw1bf0f1hf5apl1pmzviw4kizgpfd2gb36fpwky83a4r38xl"
+   "commit": "b6ea69a83fef6c4f547da3a4551ebed2cfe436a7",
+   "sha256": "1jxqwn8ybb61y59p7302ac9ph65xlqyrk8nqmswrr2czm1px7zjb"
   },
   "stable": {
    "version": [
@@ -75266,11 +75300,11 @@
   "repo": "enricoflor/numbex",
   "unstable": {
    "version": [
-    20220206,
-    251
+    20220323,
+    2011
    ],
-   "commit": "21fb1d4c998c914a91302fd5dec85fc803393917",
-   "sha256": "146ln9wbmk9j62klh6yi4b7hfijnnfayr660hvjzyvd4jj0lr8wa"
+   "commit": "c1db2846cf7448307500fec718fab7a02b179c8b",
+   "sha256": "0kssw66g4hy5xs8map2vn3vygjhawp9jl0wx7nmjaaz8vagv8zca"
   }
  },
  {
@@ -75656,6 +75690,21 @@
   }
  },
  {
+  "ename": "ob-compile",
+  "commit": "7769e68ef350b3379e0523fe938b5c5ec270f8cb",
+  "sha256": "1kld4rcq2cwlllyf8wbp64yd7fsyarrxc28j4wh13942s34sh1zq",
+  "fetcher": "github",
+  "repo": "TxGVNN/ob-compile",
+  "unstable": {
+   "version": [
+    20220320,
+    1343
+   ],
+   "commit": "cbfad24503491ba2bb0fff7454c339e655968c90",
+   "sha256": "01jmyvan8f5p4v8yyafyvv6j6fm01y184b3y6wxfk4c80m2zh86f"
+  }
+ },
+ {
   "ename": "ob-crystal",
   "commit": "b9a7d43199a83ab6f672aaa69ef4e158c868f180",
   "sha256": "11mk2spwlddbrvcimhzw43b6d3gxzmi8br58bily1x4qkvl6zy4n",
@@ -76195,6 +76244,21 @@
   }
  },
  {
+  "ename": "ob-powershell",
+  "commit": "3490006379a8aaa3d6bd8d28b115475d3e2164f1",
+  "sha256": "0k7l2s2181mwz20sskgk3dxhxid861c7b9hmk2pgknb6dizi00hk",
+  "fetcher": "github",
+  "repo": "MoisMoshev/ob-powershell",
+  "unstable": {
+   "version": [
+    20220314,
+    1359
+   ],
+   "commit": "f351429590ed68b26a9c8f9847066ca4205e524b",
+   "sha256": "1lk3xikq4j5nw0z1mj1wq9p1i39zbjhznw0fn7s0wk0as7kd4nkn"
+  }
+ },
+ {
   "ename": "ob-prolog",
   "commit": "fb87868cd74325f0a4a38c5542c264501000951d",
   "sha256": "0ki8yd20yk5xwn0zpk06zjxzgrsf8paydif9n98svb9s2l9wrh1s",
@@ -76722,8 +76786,8 @@
     20220307,
     1315
    ],
-   "commit": "5f9a76290089a5f80b5103879941ebe4a6c35350",
-   "sha256": "07py859hqci15d7llmjfn2kbdwpy9f2qdzlmnbpv1lvg0272w736"
+   "commit": "f490dbb90052516e532b7cc2f4e6bce149e1cfb3",
+   "sha256": "141rd4a80vvf4hmlnfzprjg6hzgjs6g09rpy0wzxi1jsz7f0xc9j"
   },
   "stable": {
    "version": [
@@ -76916,26 +76980,26 @@
   "repo": "oer/oer-reveal",
   "unstable": {
    "version": [
-    20220117,
-    1434
+    20220321,
+    1632
    ],
    "deps": [
     "org-re-reveal"
    ],
-   "commit": "e8c43c843f97eb9fc4ffeb1e7758935a314d1cfe",
-   "sha256": "0baa27f60l4351h6m054hmzk48y838a5cppw0qp7bacbzv9d9qq6"
+   "commit": "8ac1829bbe3458a100ef7de1195a9714b59db98b",
+   "sha256": "0f75k0vvikvzlkd6yr7wl53lh167njfwd0hkfp8mkxfzls36rwxk"
   },
   "stable": {
    "version": [
     4,
-    1,
-    2
+    3,
+    0
    ],
    "deps": [
     "org-re-reveal"
    ],
-   "commit": "e8c43c843f97eb9fc4ffeb1e7758935a314d1cfe",
-   "sha256": "0baa27f60l4351h6m054hmzk48y838a5cppw0qp7bacbzv9d9qq6"
+   "commit": "8ac1829bbe3458a100ef7de1195a9714b59db98b",
+   "sha256": "0f75k0vvikvzlkd6yr7wl53lh167njfwd0hkfp8mkxfzls36rwxk"
   }
  },
  {
@@ -78874,8 +78938,8 @@
   "repo": "kidd/org-gcal.el",
   "unstable": {
    "version": [
-    20220222,
-    1915
+    20220324,
+    1852
    ],
    "deps": [
     "alert",
@@ -78884,8 +78948,8 @@
     "request",
     "request-deferred"
    ],
-   "commit": "47cb514f1c70015536d15b34779897e931f45e8d",
-   "sha256": "0il8v92gwqmhkmc64g3qcy43xl3q424j0ig40hrykmibkqa4rgmy"
+   "commit": "554c48fb57dc46877202028019197b0699961ca0",
+   "sha256": "1l48dgzwwh230l5kxd17jdmjwhbkaqzmj95znxzhs9jrfm7jixyb"
   },
   "stable": {
    "version": [
@@ -79385,14 +79449,14 @@
   "url": "https://repo.or.cz/org-link-beautify.git",
   "unstable": {
    "version": [
-    20220210,
-    1409
+    20220321,
+    145
    ],
    "deps": [
     "all-the-icons"
    ],
-   "commit": "e8be9d886b5a9467244ed906ebb48089d9406aa2",
-   "sha256": "0rivgwi1570ybzz136q02kijv6cjbqx8ncwm71kas0gvcp6i73py"
+   "commit": "75a0f3bc427b9449f6f7ae3b2ac67e16e24153bd",
+   "sha256": "0p33n195xl6pgvyf7z47mq48fh8ihkq7wx70z1vn9js3xvig2ahm"
   }
  },
  {
@@ -79609,11 +79673,11 @@
   "repo": "minad/org-modern",
   "unstable": {
    "version": [
-    20220311,
-    1629
+    20220325,
+    1506
    ],
-   "commit": "0b7fc3742000431390a2de6be159f547dc4bd436",
-   "sha256": "17qj6zchfkx31y4hfg356z4fhqnk9b34yjfqpim3xd9qk0hkld4l"
+   "commit": "dc19304f409259d1b258c51cedd2d362e0ff9b98",
+   "sha256": "1b0cis1n786c4lkrsi71ak2wv21mhgbfk3q2pp6qiqhddah0l1cg"
   },
   "stable": {
    "version": [
@@ -79666,8 +79730,8 @@
     20211029,
     1147
    ],
-   "commit": "454d317bf772a616cb76cf2212f111c7977016a2",
-   "sha256": "1bib2ch2grb7qlyhc7aq82ca1i16nqi8h84nfvlwgx45al8r3k4l"
+   "commit": "a74322f0cfd6e52151f9bb8d4f90833330f69120",
+   "sha256": "18kjj1125rbr6mppj9wamwlgi5hvv8h6p4c8z3bckl80y5f7r8rl"
   },
   "stable": {
    "version": [
@@ -79811,8 +79875,8 @@
   "repo": "fuxialexander/org-pdftools",
   "unstable": {
    "version": [
-    20210118,
-    1611
+    20220320,
+    300
    ],
    "deps": [
     "org",
@@ -79820,8 +79884,8 @@
     "org-pdftools",
     "pdf-tools"
    ],
-   "commit": "a5b61bca3f8c91b0859bb0df1a929f9a31a57b99",
-   "sha256": "18iy03hc7jb7qsfj25f6hmrwli6fyjbf14c1p5bhp5gwk49rm9p1"
+   "commit": "967f48fb5038bba32915ee9da8dc4e8b10ba3376",
+   "sha256": "0f47ww8r00b7lb1msybnmnqdhm9i2vwz5lrz9m9bn6gbh97mzhn8"
   }
  },
  {
@@ -79994,16 +80058,16 @@
   "repo": "fuxialexander/org-pdftools",
   "unstable": {
    "version": [
-    20210118,
-    1611
+    20220320,
+    301
    ],
    "deps": [
     "org",
     "org-noter",
     "pdf-tools"
    ],
-   "commit": "a5b61bca3f8c91b0859bb0df1a929f9a31a57b99",
-   "sha256": "18iy03hc7jb7qsfj25f6hmrwli6fyjbf14c1p5bhp5gwk49rm9p1"
+   "commit": "967f48fb5038bba32915ee9da8dc4e8b10ba3376",
+   "sha256": "0f47ww8r00b7lb1msybnmnqdhm9i2vwz5lrz9m9bn6gbh97mzhn8"
   }
  },
  {
@@ -80698,8 +80762,8 @@
   "repo": "org-roam/org-roam",
   "unstable": {
    "version": [
-    20220315,
-    637
+    20220319,
+    1902
    ],
    "deps": [
     "dash",
@@ -80708,8 +80772,8 @@
     "magit-section",
     "org"
    ],
-   "commit": "3782e88d50f83c5b9fbb4b10df71df3f37e27156",
-   "sha256": "0c5vxz423lz386dxa9nqyf396jmyb36q79paxf27is1dhq1vwd5w"
+   "commit": "d71675fb479d11da3ae597bb13bc1c96256ff0b0",
+   "sha256": "056gkk7fxla2rm8lzzig1rq8brhznciifdn0pqfxwwyvpa6sy1i5"
   },
   "stable": {
    "version": [
@@ -80794,8 +80858,8 @@
     "simple-httpd",
     "websocket"
    ],
-   "commit": "1eb9abd4fccc7be767c5df1e158e2d17982f8193",
-   "sha256": "16ld8ky0z3fi2bx79h3vrppvhgkhv62k5fymfcif7z0xmcv688kh"
+   "commit": "9474a254390b1e42488a1801fed5826b32a8030b",
+   "sha256": "0v54vxh95izch74wz2dl2dkdqicbvshra55l6qvd4xl5qmfhpjdc"
   }
  },
  {
@@ -80806,11 +80870,11 @@
   "repo": "LionyxML/ros",
   "unstable": {
    "version": [
-    20220307,
-    2308
+    20220320,
+    1705
    ],
-   "commit": "bf3c4a3a41ad960ef5d9ae062a20664834e926e9",
-   "sha256": "1l7h6f2ins9hgxd5yqb608hca5212x6crxwsmyy6025n0rq4yqmd"
+   "commit": "70e0f33ee027ca1dce68351ad14a9e47a452fc17",
+   "sha256": "0qjfb2fllzkh1d0jprxdsvg6fcrrhc7wc2lg0kffp5vwmfv7m3db"
   }
  },
  {
@@ -80987,17 +81051,20 @@
   "repo": "alhassy/org-special-block-extras",
   "unstable": {
    "version": [
-    20210909,
-    2032
+    20220326,
+    1432
    ],
    "deps": [
+    "dad-joke",
     "dash",
     "lf",
+    "lolcat",
     "org",
-    "s"
+    "s",
+    "seq"
    ],
-   "commit": "1e9731dfd79b0605ee88c8cc891d4b5106c9e0f4",
-   "sha256": "0lp0gn7p5d0fkm3wy27xhj2q6snhl1ssqqhyl52hw06jhifamm8l"
+   "commit": "2e397dac372ff75ea6ee6eed9ae3a0540a082af8",
+   "sha256": "0i838ph9p92vfirf6q145m22nydzrans2ss6aj80m4g0b2mprq2z"
   },
   "stable": {
    "version": [
@@ -81057,27 +81124,26 @@
   "repo": "akirak/org-starter",
   "unstable": {
    "version": [
-    20220218,
-    743
+    20220326,
+    1106
    ],
    "deps": [
     "dash"
    ],
-   "commit": "1d7aeee94667d9277ca5452ff44ebca67888d244",
-   "sha256": "0qn653fml01m1pyw8gpn7xmbbrk3yvg83q39pxjwsr8rib27jwgp"
+   "commit": "cd9c5c0402de941299d1c8901f26a8f24d755022",
+   "sha256": "07z17r2ny9m4cddr87v636vgvcfgv1j5qkvhckms0xnfh9wcs9j3"
   },
   "stable": {
    "version": [
     0,
     2,
-    9,
-    1
+    10
    ],
    "deps": [
     "dash"
    ],
-   "commit": "338650e8fd4cb02aad68939f4baa3269b73b233c",
-   "sha256": "1fh2ryli8xyvnndjhk3miynkmd5xrdinlqybkcglwd6v48yd7c5c"
+   "commit": "cd9c5c0402de941299d1c8901f26a8f24d755022",
+   "sha256": "07z17r2ny9m4cddr87v636vgvcfgv1j5qkvhckms0xnfh9wcs9j3"
   }
  },
  {
@@ -81095,22 +81161,21 @@
     "org-starter",
     "swiper"
    ],
-   "commit": "1d7aeee94667d9277ca5452ff44ebca67888d244",
-   "sha256": "0qn653fml01m1pyw8gpn7xmbbrk3yvg83q39pxjwsr8rib27jwgp"
+   "commit": "cd9c5c0402de941299d1c8901f26a8f24d755022",
+   "sha256": "07z17r2ny9m4cddr87v636vgvcfgv1j5qkvhckms0xnfh9wcs9j3"
   },
   "stable": {
    "version": [
     0,
     2,
-    9,
-    1
+    10
    ],
    "deps": [
     "org-starter",
     "swiper"
    ],
-   "commit": "338650e8fd4cb02aad68939f4baa3269b73b233c",
-   "sha256": "1fh2ryli8xyvnndjhk3miynkmd5xrdinlqybkcglwd6v48yd7c5c"
+   "commit": "cd9c5c0402de941299d1c8901f26a8f24d755022",
+   "sha256": "07z17r2ny9m4cddr87v636vgvcfgv1j5qkvhckms0xnfh9wcs9j3"
   }
  },
  {
@@ -81285,6 +81350,21 @@
   }
  },
  {
+  "ename": "org-table-color",
+  "commit": "06a6b1a123be2e653a09ed297a777b955ecd235f",
+  "sha256": "0hb40k9dly4kj15b4bin10szm1rvfl6dx638a29fv4cv3h90yqqj",
+  "fetcher": "github",
+  "repo": "fosskers/org-table-color",
+  "unstable": {
+   "version": [
+    20220311,
+    1927
+   ],
+   "commit": "2022f301ef323953c3a0e087a1b601da85e06da1",
+   "sha256": "18bbsi79i0xf8kzzbpr6v4sh150m1qip7m74ighbb9as3kx07r0f"
+  }
+ },
+ {
   "ename": "org-table-comment",
   "commit": "2c1f08c41969bc8a7104fb914564b4f6cab667e2",
   "sha256": "1d40vl8aa1x27z4gwnkzxgrqp7vd3ln2pc445ijjxp1wr8bjxvdz",
@@ -82583,11 +82663,11 @@
   "repo": "minad/osm",
   "unstable": {
    "version": [
-    20220318,
-    1151
+    20220325,
+    2356
    ],
-   "commit": "cd3f8e0d05ab453f9dee2527448a53c8a0e5a1cc",
-   "sha256": "03nw3iv7jyhv5cnjaz56jhxxzlqas55i927b8q5xb4qc8bwclm19"
+   "commit": "881b1c969fcf3dae5c020ce520e5a16f8f2b6f18",
+   "sha256": "06ryshf804m6npygf8546kxg1xsjsl52kgbzr147h2ay5kq90q06"
   },
   "stable": {
    "version": [
@@ -82962,15 +83042,15 @@
   "repo": "alphapapa/outshine",
   "unstable": {
    "version": [
-    20191112,
-    1414
+    20220326,
+    540
    ],
    "deps": [
     "cl-lib",
     "outorg"
    ],
-   "commit": "9334b555aaf1426a9e405a57b80809a1615627b3",
-   "sha256": "11r6advraz5rkrxr25mj0wpfgzxcvn5gzppsc7ma51zqfmijg7dk"
+   "commit": "bf1eed10dd7a89b63d0fc014944033db397c1e23",
+   "sha256": "19ni7j84361if3kyap1jf2xj0w3myp9iiz52gjcmbgk1g1g9ycdc"
   },
   "stable": {
    "version": [
@@ -83356,14 +83436,14 @@
   "repo": "kaushalmodi/ox-hugo",
   "unstable": {
    "version": [
-    20220318,
-    2004
+    20220322,
+    137
    ],
    "deps": [
     "org"
    ],
-   "commit": "917bab6cfc05d8c64e299d10f499f69cfd055b08",
-   "sha256": "1bqdmyaz1jj9xcq1ik8f91g6gbkb91rypwikqzmlk11dgp7fw8qi"
+   "commit": "d04f41af6d128ccb9421c9bcd83b5fb12d14f440",
+   "sha256": "0qqaqykcm3pzc8a3ap4jnspn2p1034f6qhv6xyf43iqy8nhvrl03"
   },
   "stable": {
    "version": [
@@ -83857,11 +83937,20 @@
   "repo": "jjuliano/org-simple-timeline",
   "unstable": {
    "version": [
-    20210118,
-    536
+    20220321,
+    2115
+   ],
+   "commit": "b28bd4ccd5fa114c0f51b9766f0b9be7fe05fdd8",
+   "sha256": "0l71bhbgs2g0gbfl8lf6p2hnnyma26qk67q59x935hkgjbb4vx1z"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
    ],
-   "commit": "edb2cdf36db88d233d4103df91357579f4b7650a",
-   "sha256": "0pcskv3pv6208pb4dx5gchvl1n38maxysihllac4b8avsjha9gc6"
+   "commit": "b28bd4ccd5fa114c0f51b9766f0b9be7fe05fdd8",
+   "sha256": "0l71bhbgs2g0gbfl8lf6p2hnnyma26qk67q59x935hkgjbb4vx1z"
   }
  },
  {
@@ -84470,8 +84559,8 @@
   "repo": "r0man/paimon.el",
   "unstable": {
    "version": [
-    20220304,
-    1110
+    20220325,
+    1032
    ],
    "deps": [
     "aio",
@@ -84483,14 +84572,14 @@
     "request",
     "transient"
    ],
-   "commit": "38e6f128dc0a84ba805089808aff9942584db56a",
-   "sha256": "1dqagd4856dfy8m6ajb66rl9nlr4dyrkpznpkrm5p8xdbkryhb3v"
+   "commit": "8e28efe96a171b04b1fd83f763ca26e939dd44ed",
+   "sha256": "1d3bcy1wb7wsw6qqihwdy835z32pibz9d8ia8xcarzcg5c983is8"
   },
   "stable": {
    "version": [
     0,
     1,
-    2
+    3
    ],
    "deps": [
     "aio",
@@ -84502,8 +84591,8 @@
     "request",
     "transient"
    ],
-   "commit": "38e6f128dc0a84ba805089808aff9942584db56a",
-   "sha256": "1dqagd4856dfy8m6ajb66rl9nlr4dyrkpznpkrm5p8xdbkryhb3v"
+   "commit": "b29ccfcedefd03cc05d98cd06a5935ecf4bd6917",
+   "sha256": "1wd1z2l0jyx20y2h95w6ybjabjn613m09gmrp6bj13ry4355sfvs"
   }
  },
  {
@@ -85020,8 +85109,8 @@
    "deps": [
     "s"
    ],
-   "commit": "aeeaad3fc5ad98906fcb34ed9b5b33e780b24cc4",
-   "sha256": "0iwpl5chrq81p1hyz8l9q8w17a15c781vljl39ywr50rwj0f6rl4"
+   "commit": "c6330d9fc28fe92c83415c2a56e675a6e04841fa",
+   "sha256": "1bgpbc38f37ja6xsny7q28wwvg0m6hs34zgqk3q39zadq595q6iy"
   },
   "stable": {
    "version": [
@@ -85321,20 +85410,20 @@
  },
  {
   "ename": "password-vault",
-  "commit": "71ad3fa96afa18b5002faf9272732c7d09826493",
+  "commit": "1a054aba2409fb8ae12a634952f3d1336a14eb70",
   "sha256": "17i556xwq6yaxv9v18l1abcpbaz6hygsa4vf4b68fc98vcy7396a",
   "fetcher": "github",
   "repo": "PuercoPop/password-vault",
   "unstable": {
    "version": [
-    20160126,
-    1820
+    20220321,
+    1521
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "dc56e6c2f5da66f1ab63736cecf08fb2c6c2b30f",
-   "sha256": "0921xwg3d3345hiqz4c1iyqwvfyg8rv0wggcnig7xh9qivspag4c"
+   "commit": "763750e2fbdd3bc96dfd256215b5e49394b7bef3",
+   "sha256": "0zwnk5ljack42f3nmjwrhsx7f7cr52r3w5y414c5bg9yk3y47dda"
   }
  },
  {
@@ -86215,14 +86304,14 @@
   "repo": "nex3/perspective-el",
   "unstable": {
    "version": [
-    20220313,
-    716
+    20220320,
+    437
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "14cbdb5460d7ee728d397aace280702866eb880e",
-   "sha256": "05w69p7qimnidiv08qbcj8pj7y24qj3cs6118m363pprri4yw2pf"
+   "commit": "d3afc52ed098b713b6607943bd1ee0ef899db267",
+   "sha256": "0bbpmrjyz0zfgbfhf340axnx93ln39ml58frpqiiablz9n1xvj0j"
   },
   "stable": {
    "version": [
@@ -88073,14 +88162,14 @@
   "repo": "wailo/emacs-poet",
   "unstable": {
    "version": [
-    20190124,
-    654
+    20190403,
+    708
    ],
    "deps": [
     "request"
    ],
-   "commit": "32382057b3e4b8a02ec5ac3190dbe4b93d058741",
-   "sha256": "1p8x7g3hg6yw51c67kznvldrvwnp67l9b6drnmck8glwx0nxb6zr"
+   "commit": "38a9635cab4799224153f89ff47cf1b060fb3939",
+   "sha256": "1h8svmh2pmg822jpag33ahmhpvdc77fbxxn205kx8p3vk362vbvi"
   }
  },
  {
@@ -88534,11 +88623,11 @@
   "repo": "polymode/polymode",
   "unstable": {
    "version": [
-    20220225,
-    1521
+    20220322,
+    824
    ],
-   "commit": "8ba56f841cbbee102e4fd00dff0f88646907bd09",
-   "sha256": "0vz52wagbpjg3c2br3cl9zhciq74c1is81crkrxbcdwsms1bwhiw"
+   "commit": "2094c92403fe395dfb2b8b2521da1012a966e9ab",
+   "sha256": "0fgg6vw81cqp4ixm9iwh9r1dw6l4pimpdxjcvvpmfff6ia4pqqws"
   },
   "stable": {
    "version": [
@@ -89357,8 +89446,8 @@
     20211228,
     417
    ],
-   "commit": "3dbcef387502d309d130a518a18d48cd2f0e15b7",
-   "sha256": "024l7s0b6apbzanw3cnhjypxnxfinfb5b3nhaabrc138m5pis8j5"
+   "commit": "c5295a9eecbd2935bb57684a4422638e03bf738c",
+   "sha256": "1wfmynbqaqvrkjdncx0wmqxz6v8zlfmqlh5l3h6876jin97i5fbv"
   },
   "stable": {
    "version": [
@@ -89462,6 +89551,36 @@
   }
  },
  {
+  "ename": "prettier-rc",
+  "commit": "9511d2926f50ac20b9c5b99c14cf2d51e377c981",
+  "sha256": "0gkyws3pmnswc07yzvr39w439f5pcwfja0sg4460shkrmqqcwv8b",
+  "fetcher": "github",
+  "repo": "jjuliano/prettier-rc-emacs",
+  "unstable": {
+   "version": [
+    20220321,
+    1516
+   ],
+   "deps": [
+    "prettier-js"
+   ],
+   "commit": "f2aa1a7469d62a11479a3abb826c8fb96dd00082",
+   "sha256": "1rlfh2c680nl2bbv82mp4y6k6cp7qwp2axi0v998zb62ymw6p1bv"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
+   ],
+   "deps": [
+    "prettier-js"
+   ],
+   "commit": "eaef4cd76094c7351a2da508b4bc3b25966d0da6",
+   "sha256": "1ylaikaqpd4f1p8ir5y271dy6xv8jvdzs7ail5ac0lxk3m8gl4ki"
+  }
+ },
+ {
   "ename": "prettify-greek",
   "commit": "23c8f10205187babb17e3abc3dc40eb1938e6640",
   "sha256": "1izl6r6i3zbhd7r7lz2k42yyz6qcng11wfmb7lx4883dj00flsl7",
@@ -90050,8 +90169,8 @@
     20220313,
     1334
    ],
-   "commit": "3c07cca10713e8212442143b6999a96ca32b68ac",
-   "sha256": "01i0m3vdp119icak56yqqcg5zh4j8pgrcanfz9jrgfnyyffar6f3"
+   "commit": "20df208385ce7b80207602c9931e31094eca85fb",
+   "sha256": "15nnmnapyclk6v69l2l0vhy5k5x682l0kj9nj454nmdqqh4lmkwy"
   },
   "stable": {
    "version": [
@@ -90552,19 +90671,17 @@
     20220303,
     1716
    ],
-   "commit": "46c3651c315cf77f1bcf5ad662074f04f095a04a",
-   "sha256": "0rfcbk445rvickv3ylwhg60lyi7d5snrr38sd4c5k8dv3nnfqxib"
+   "commit": "b5a35bcc7e4cc4ff00eb105449b300fca3a8b0d2",
+   "sha256": "1gydvww2n64gsa2nyi5150jwsgxg0mdpxr3h9kpzdd4rqxab07z7"
   },
   "stable": {
    "version": [
     3,
     20,
-    0,
-    -1,
-    2
+    0
    ],
-   "commit": "854d86bb0922e08ab51eca4dbfd4717d86eb9a58",
-   "sha256": "0raqjx24rr4vzmgxjp72q0c0qgq2xnl1kf5wsg7g2sk7g294lshq"
+   "commit": "bc799d78f81115940eec953e2937245c70e3e6e4",
+   "sha256": "0qnr8dp0cc2sfhacgjws1kc3s5c1xvbcrn5pi83p0axj0kdhjdbm"
   }
  },
  {
@@ -90707,15 +90824,15 @@
   "repo": "thierryvolpiatto/psession",
   "unstable": {
    "version": [
-    20211228,
-    839
+    20220318,
+    1129
    ],
    "deps": [
     "async",
     "cl-lib"
    ],
-   "commit": "97f6fb308fcb007e53c7277fb4603a6faef99c79",
-   "sha256": "0k2myrd1ar2nlgnavsvbawiff7x27fr72921xnzp7rwnl07klyji"
+   "commit": "328c64804c4c9e15b373c7ba3bc82bfdfb27971a",
+   "sha256": "1mmn5qmjn77jh0zjfgl6w87yxxq116cb7rj3an0svmaabqsmwpjj"
   },
   "stable": {
    "version": [
@@ -91645,17 +91762,17 @@
     20210411,
     1931
    ],
-   "commit": "9baa5b228a3c111a42edef026615f3d9584c63df",
-   "sha256": "0m4a96ghrxbi2bryngs4hvsa5qhjzlv66319cfx4zm49zc4rz0yc"
+   "commit": "556304eb1e54c67940d0f9d0497ffa368b50a22a",
+   "sha256": "0j6vwjw83wyhalwzic94pimjvjwsxyyz6mh6zsic44hc80ycnrj0"
   },
   "stable": {
    "version": [
     2,
-    12,
-    2
+    13,
+    1
    ],
-   "commit": "eec287fae66f8fc514d5daa9caee46fd0e0cb6d9",
-   "sha256": "0spmy7j1vvh55shzgma80q61y0d1cj45dcgslb4g5w3y602miq5i"
+   "commit": "0e1ca11ac65cbe5a65437518fca1e25f1ad0e48e",
+   "sha256": "049mfnlwan1qq0awnxriw29v285ly4d3r8a8xgxhzpwg3k2z3sdn"
   }
  },
  {
@@ -92675,11 +92792,11 @@
   "repo": "greghendershott/racket-mode",
   "unstable": {
    "version": [
-    20220310,
-    1610
+    20220325,
+    1342
    ],
-   "commit": "e321d8ecfb1bc94c3772ef4d20df0ddf9c9c9d76",
-   "sha256": "0bnzfr2kz877bpin2xjg53c70npq772lp773ikrvhlj5zvwwk1i7"
+   "commit": "c1774ad168bd0857cf695ad39ae4d61cd668f6d9",
+   "sha256": "1rksxymhadsj6zikhbn68j9iq0b01m9ajdddkk4kbaczh35vwyx5"
   }
  },
  {
@@ -94167,8 +94284,8 @@
     20181121,
     21
    ],
-   "commit": "49783bd5d83c1d1989838b5ecf4a240bcc994243",
-   "sha256": "163kj0hmvn7vgd86q0dhz3zimkiqabzylyvchnzaqc2y1mp4qhfk"
+   "commit": "ae76658873a647eb43d8cf84365a9d68e9a3273c",
+   "sha256": "1nqpiy0aw43acrrg8aa1sd0880ilychysk2r2c7kwk5dbnip3f29"
   }
  },
  {
@@ -94811,8 +94928,8 @@
     20210902,
     2140
    ],
-   "commit": "4bd88e4e835af2f9f7c0b65cf4488570126d4fef",
-   "sha256": "0k1h53kc2xmh5kc461rlac81mam8srkasc1jfb52a6qbscj3lspd"
+   "commit": "9c32dc6fcd05c72177ec1659c33f3b834233b890",
+   "sha256": "0vpxk1hmic9r1z7z2yxh1pff2m7zlvrh3j27bdcc0q3xnbzkmh7m"
   }
  },
  {
@@ -95155,28 +95272,28 @@
   "repo": "dajva/rg.el",
   "unstable": {
    "version": [
-    20220317,
-    1540
+    20220319,
+    1216
    ],
    "deps": [
     "transient",
     "wgrep"
    ],
-   "commit": "82105c6ae75af1587884baeaf3668becd9eb5802",
-   "sha256": "1pnr461nwhi8zv88bba13mb9m8rxg5nwkvd3rl8c2dzxyw6dzaq2"
+   "commit": "5673681708685cce34521a1af48609b00a642b15",
+   "sha256": "0b1lq45vsn6fylwn1wmmfwc8mzwg4mgmj0kfqic039yagf9rvnpv"
   },
   "stable": {
    "version": [
     2,
-    1,
+    2,
     0
    ],
    "deps": [
     "transient",
     "wgrep"
    ],
-   "commit": "0fa6d33d2f3123aecd0b0dbc5fa3d884edf10a92",
-   "sha256": "17f11znjyfnxs5y0zafcx9aa055wkw3igzk9gy0cipnyp42yb4v7"
+   "commit": "77a709626609e7069f457e1b1885b76ebb98a354",
+   "sha256": "0a16g9phyy6c6vn5zfkpcpi90ixbx1ivp4wapwg189v77k2810by"
   }
  },
  {
@@ -95559,11 +95676,11 @@
   "repo": "jgkamat/rmsbolt",
   "unstable": {
    "version": [
-    20210920,
-    1617
+    20220325,
+    1526
    ],
-   "commit": "54bdd5090e0e3ae907d3f9075eb3a3fab0ba497a",
-   "sha256": "0i11kmqnbb201x9gmai279lni7csgq6isi1klpzch2c6y6pw01n0"
+   "commit": "2e1ff0653e5355a2214e735f0ada287071457c6a",
+   "sha256": "1ra2q2wnman6zdfmky296r8h73zhjwkika8r3czjx5nsg24464vi"
   }
  },
  {
@@ -96464,8 +96581,8 @@
   "repo": "brotzeit/rustic",
   "unstable": {
    "version": [
-    20220301,
-    1958
+    20220323,
+    1159
    ],
    "deps": [
     "dash",
@@ -96479,8 +96596,8 @@
     "spinner",
     "xterm-color"
    ],
-   "commit": "f4b5c288af2a9833a104bc54850ddabe3996b8be",
-   "sha256": "0mj94i701k1bdyafvhkl6k8c9sfa50ry9rqnby6i1qk5albxza14"
+   "commit": "6eec9713876d698510ee3715698fd42c1571e307",
+   "sha256": "17lcys2sm56c8bnj9vjs9mz6liir8cnybax0fxgcrjgfp38wxc48"
   },
   "stable": {
    "version": [
@@ -96989,8 +97106,8 @@
     20200830,
     301
    ],
-   "commit": "a6392b3ec6ae2a0390612137f840ca083698929d",
-   "sha256": "1s598w6zs65jz31w354i734if8bnp377k9b54i1rhmgjkr2p6j2r"
+   "commit": "e34e756d264800b701c07414ceffd9dd768cdf84",
+   "sha256": "0v6njsp1g7m0qjss4rhmbnrg8yccxyk7dy477cbpdijxw3fdi2yv"
   }
  },
  {
@@ -97183,19 +97300,19 @@
   "repo": "ieure/scratch-el",
   "unstable": {
    "version": [
-    20190314,
-    614
+    20220319,
+    1705
    ],
-   "commit": "4813d82b39a451f2a6d5b730cd7ec49a9bdabcca",
-   "sha256": "0yiwq2gc4gdgfhaagpawhb7yrzc4fsnyb10w5d0q4whv64cj8555"
+   "commit": "f000648c9663833a76a8de9b1e78c99a9d698e48",
+   "sha256": "174d8ancnkgb7q62196kd6nrfib6rnwxw4visgbk1c6yd1w8kray"
   },
   "stable": {
    "version": [
     1,
-    3
+    4
    ],
-   "commit": "4813d82b39a451f2a6d5b730cd7ec49a9bdabcca",
-   "sha256": "0yiwq2gc4gdgfhaagpawhb7yrzc4fsnyb10w5d0q4whv64cj8555"
+   "commit": "f000648c9663833a76a8de9b1e78c99a9d698e48",
+   "sha256": "174d8ancnkgb7q62196kd6nrfib6rnwxw4visgbk1c6yd1w8kray"
   }
  },
  {
@@ -97786,11 +97903,11 @@
   "repo": "raxod502/selectrum",
   "unstable": {
    "version": [
-    20220305,
-    2142
+    20220323,
+    10
    ],
-   "commit": "a1ecc916f190728b574340754f4c1d8cbe37b829",
-   "sha256": "1mz8vmswfv0mp5b7cpmj46dik16wxmpa2a0cq87kjp1f8d4m9crn"
+   "commit": "7da932eeb89f1aa8060a73ddd040f95bbb127343",
+   "sha256": "14hplki838svbjpasmm9ik8c5xm0ji2xxrp61cq82dc6r0axg5w9"
   },
   "stable": {
    "version": [
@@ -97816,8 +97933,8 @@
     "prescient",
     "selectrum"
    ],
-   "commit": "3dbcef387502d309d130a518a18d48cd2f0e15b7",
-   "sha256": "024l7s0b6apbzanw3cnhjypxnxfinfb5b3nhaabrc138m5pis8j5"
+   "commit": "c5295a9eecbd2935bb57684a4422638e03bf738c",
+   "sha256": "1wfmynbqaqvrkjdncx0wmqxz6v8zlfmqlh5l3h6876jin97i5fbv"
   },
   "stable": {
    "version": [
@@ -98510,14 +98627,14 @@
   "repo": "sebasmonia/sharper",
   "unstable": {
    "version": [
-    20220314,
-    1527
+    20220321,
+    422
    ],
    "deps": [
     "transient"
    ],
-   "commit": "c3406576ab855daa2e7084000f9797db59251e42",
-   "sha256": "0jl7jg844a0cjd5s0x0mpl2if2svhaac3hvc1vxzamdwan7qvqx2"
+   "commit": "96edd4a1dbc267afdff0cb97298d1b05b7c2080c",
+   "sha256": "0pprbp9n43g1ijap96fjiz6sckplryi198gci0ywpyglx6illllg"
   }
  },
  {
@@ -98729,11 +98846,11 @@
   "repo": "Overdr0ne/shelldon",
   "unstable": {
    "version": [
-    20211118,
-    1811
+    20220325,
+    1305
    ],
-   "commit": "df8ab901c7f47c760879e5ccc26ee0b5195946c2",
-   "sha256": "1xkv0c2hzjccn73wl8x789cqwckbvkwgp80x8fagwswvg6ngzdcx"
+   "commit": "8d073ce580e7782ed863fc6e19dc33b4f73c0d79",
+   "sha256": "07ka7nd1apyjdf9cljs4zbcyv0bfbn1z4arhq2m2kdinjqpr6mbq"
   }
  },
  {
@@ -98790,11 +98907,11 @@
   "repo": "redguardtoo/shenshou",
   "unstable": {
    "version": [
-    20211103,
-    1010
+    20220324,
+    1137
    ],
-   "commit": "5b9a400cafbf4778cdb4ab26f7718f8cb0c84705",
-   "sha256": "143b5np4d8vmpdyw1pzxl6xgh6pzfp0phhli0j4wsly83ivcf7w2"
+   "commit": "bc16a637edaaca831a5147b6f479ba1dbdc02454",
+   "sha256": "0mli3h3i511vq8g69b2y8hq9591bv5yjblvx7cnh1nrjpb4flak0"
   },
   "stable": {
    "version": [
@@ -101536,11 +101653,11 @@
   "repo": "bbatsov/solarized-emacs",
   "unstable": {
    "version": [
-    20211114,
-    807
+    20220324,
+    445
    ],
-   "commit": "f34a171ff0e39549972edf533120f0b556f0b5ad",
-   "sha256": "07zxrf4xbh85d4sfxch6mcjgd6ga4a079k5fwqdm72pmi07659hf"
+   "commit": "86e5f94ea033c8b2a21084774063a493b62a4e81",
+   "sha256": "17z6cj8ids88xj2i6zs1s0mxs0fhn3gr7g5nhhy8s8khnzmyy2vj"
   },
   "stable": {
    "version": [
@@ -102210,11 +102327,11 @@
   "repo": "condy0919/spdx.el",
   "unstable": {
    "version": [
-    20220318,
+    20220325,
     106
    ],
-   "commit": "251b9e7e5ba3a92ea26c3d676b9e76f8c42b2654",
-   "sha256": "1smrz3zh4cq2f344gm7l2jww5c0lkf9pinw6dvpcsl9sasqkxz0m"
+   "commit": "914df7fa483825d813e7aaeb9dffce629aae2a52",
+   "sha256": "0ccw0wmc5kx9x31x0ycw74ngh6zdkjqm10my9ypfc97rfv2q6bh1"
   }
  },
  {
@@ -102924,11 +103041,11 @@
   "repo": "srfi-explorations/emacs-srfi",
   "unstable": {
    "version": [
-    20220202,
-    2241
+    20220321,
+    2152
    ],
-   "commit": "48318da86b2b214106c3e6248c7865407aeebcd4",
-   "sha256": "111h20gp0ns2c4cj9rh2bqlp4mksv1w4ybli64fnm300jci1p2lg"
+   "commit": "5efe17755c04dedb62033c1c53eda3c28c3a5f65",
+   "sha256": "0yxjzp1wxyggjk15d84b0399z5d5xspphdsy4m8r52aqcfxaqnd6"
   },
   "stable": {
    "version": [
@@ -103213,6 +103330,21 @@
   }
  },
  {
+  "ename": "starlit-theme",
+  "commit": "4b695ee03d16e9253674cedaef785c2545113b67",
+  "sha256": "02qb70fgnp7r35hz2g53rpc792rh568ddxgxxsbfw5jg9f429z9x",
+  "fetcher": "github",
+  "repo": "SFTtech/starlit-emacs",
+  "unstable": {
+   "version": [
+    20220325,
+    1418
+   ],
+   "commit": "9a76710497482110f5cba6e86aea66d94f5dbb50",
+   "sha256": "16nswflx3ccqkc64ijy4wvq0qqikijqh5dvj0j2ylf8bydnv4xqb"
+  }
+ },
+ {
   "ename": "start-menu",
   "commit": "88d965f6789d3f5ba3856cbf10edbc46e37b12ae",
   "sha256": "1k1lc9i9vcl2am9afq0ksrxwsy6kppl4i0v10h0w2fq5z374rdkv",
@@ -103402,11 +103534,11 @@
   "repo": "motform/stimmung-themes",
   "unstable": {
    "version": [
-    20220315,
-    1458
+    20220326,
+    1241
    ],
-   "commit": "ab9debd7ebbf1d8d1575c81743a8dab508338e5e",
-   "sha256": "0n20pqhy8c429mfsyx7gr01v3y6zzx92acmryxa6wqa295ndj6nl"
+   "commit": "659d5814c5f9b21b159778ffab30aa9d8fb2cb96",
+   "sha256": "0skvns8x15cffwmv904sfgqz5rh4kv84aflwk547p7j1fcz8pja2"
   }
  },
  {
@@ -104847,8 +104979,8 @@
   "repo": "countvajhula/symex.el",
   "unstable": {
    "version": [
-    20220221,
-    252
+    20220323,
+    1808
    ],
    "deps": [
     "evil",
@@ -104860,8 +104992,8 @@
     "seq",
     "undo-tree"
    ],
-   "commit": "520682d49e4e0684d6ee45cfa8d3157e830778b8",
-   "sha256": "01kfqwh7dkrq4dmdaxf5z6f3hj144d34nhfnjsq204mbnq37mdph"
+   "commit": "8ab435c2866869977c92ad64c3706f626acfb4d3",
+   "sha256": "1jc9a27cpdldigyna3spdmx7ad0pcxfgl27xk1ikh74cbvry0ir4"
   },
   "stable": {
    "version": [
@@ -105742,15 +105874,15 @@
   "repo": "zevlg/telega.el",
   "unstable": {
    "version": [
-    20220306,
-    2111
+    20220319,
+    955
    ],
    "deps": [
     "rainbow-identifiers",
     "visual-fill-column"
    ],
-   "commit": "4641f953b1183cd2e2be28d8e91374c0eb04aac2",
-   "sha256": "0wjivff90zffjw2j7mmcvxm00006vcg09nlvizjmv5r6lcxiyqb2"
+   "commit": "500b7b42d81b77920f40a2f461dff7b6367e8326",
+   "sha256": "1j7gdc5ib1f63lw1cmbv937yx46mzmvh8r8h47z3m2pdx3drfsc0"
   },
   "stable": {
    "version": [
@@ -105866,8 +105998,8 @@
     20220310,
     2211
    ],
-   "commit": "a725dfc5bcd21423ebc108cd4d5d92fb33becded",
-   "sha256": "0rvz4g88403qf5vril946a1v6qvazfn3pqv1ch6k1vh5c9xyavak"
+   "commit": "56ee3bf1462efeb40caf7008ac93a3ea25866453",
+   "sha256": "1rd2w6j8yrv1d7fcxj39lgqdms2r6wsm4szqcd3fya216cmblyqd"
   },
   "stable": {
    "version": [
@@ -106886,18 +107018,18 @@
     20200212,
     1903
    ],
-   "commit": "b1367a39b4e0e09ca290e0d05df2f4a9057b842b",
-   "sha256": "0wcig0mcppw3r68rjhlj3jjlnvac2y1z4kw2kllmy6rbmqx0irgq"
+   "commit": "9cdad0dbf6fdc6078b3c04c3941fd4e87fe40d2c",
+   "sha256": "1irfw968wsryry9sf9bs3n1854wa6m2xprb2pkk7wgj0z1701mx8"
   },
   "stable": {
    "version": [
     2022,
     3,
-    14,
+    21,
     0
    ],
-   "commit": "c2a1b07220f1d5548e83d23f378e179dc7da5b99",
-   "sha256": "1l599j13s5z0spbpi2fza3fgm8499s32r2y7kqxj5lp1dhwgiix4"
+   "commit": "5e4ce0994de546bc7e17a0ba588518cabd01f303",
+   "sha256": "1fj5zgpwvw6ybs72f09r3zf72glwjg4930mggwpl3ki1fql81g6w"
   }
  },
  {
@@ -107669,11 +107801,11 @@
   "repo": "trevorpogue/topspace",
   "unstable": {
    "version": [
-    20220317,
-    1843
+    20220323,
+    2050
    ],
-   "commit": "97c69d912e36b7f7c2cca8c510be6019f45a9351",
-   "sha256": "16wm1h0978js0fiwqnmxb8hd1pph2w0ylqq7wzwhi7w9d7gc11d7"
+   "commit": "1daae45343622c65fdfc9abe456020fd17e9168d",
+   "sha256": "1gwv7r6xaxkpnd7nyyj1v6xh4pd8lrnh3crlbf2d1sz49c5rf1zd"
   },
   "stable": {
    "version": [
@@ -107945,8 +108077,8 @@
     20210713,
     1609
    ],
-   "commit": "77e16de3b9fbaa0417b56a9acc70a9bca17c4ad0",
-   "sha256": "1ww04kfz4kkbhrbd78r4dpylhayb5hl72qcjv8wm0mhgfwmbb358"
+   "commit": "e4c5bb69e6f1338239bdbf66baf57bb610828b2e",
+   "sha256": "05ddgcgqribdwbph7qkz5r24h1xsbrnhlg4yqgnyyw5kfxayapzj"
   },
   "stable": {
    "version": [
@@ -108049,11 +108181,11 @@
   "repo": "magit/transient",
   "unstable": {
    "version": [
-    20220314,
-    1605
+    20220325,
+    1619
    ],
-   "commit": "017eb7b3cb631bb432066539c459bfa96afa0543",
-   "sha256": "05389csxv8ggs2gksdv42adddjdjxfhrf3ip9ip1w8ya8n6wh9qr"
+   "commit": "270eff1c7cc910dfe9882e97df608627028eaa40",
+   "sha256": "197j1jih73vjd3awycbiyfkj1fxmizaqs8h3id0kd1gyyjq4anck"
   },
   "stable": {
    "version": [
@@ -108293,8 +108425,8 @@
   "repo": "ethan-leba/tree-edit",
   "unstable": {
    "version": [
-    20220317,
-    29
+    20220319,
+    1652
    ],
    "deps": [
     "dash",
@@ -108304,8 +108436,8 @@
     "tree-sitter-langs",
     "tsc"
    ],
-   "commit": "5961b738e30be007cb0fe984a76e406e0854c006",
-   "sha256": "17lfs5qqm2gjj40s3r6j1438zvrcfbsz6bxwn9z6flz6idj7ca0n"
+   "commit": "63816d614e6e2112c2f26e65afd7440f022ba2ad",
+   "sha256": "1c0s9hsm5wisikgxzskmnkin0r2vs9yc5yhgkjrsrvaiiv05g9ip"
   }
  },
  {
@@ -108392,26 +108524,26 @@
   "repo": "emacs-tree-sitter/tree-sitter-langs",
   "unstable": {
    "version": [
-    20220212,
-    641
+    20220319,
+    356
    ],
    "deps": [
     "tree-sitter"
    ],
-   "commit": "599570cd2a6d1b43a109634896b5c52121e155e3",
-   "sha256": "1sgpsjd3037pbvwk7lgw70gb4j0fyqikv4lwxwa6l5dwnqvqxgq6"
+   "commit": "f4effc81fcac3592bce7072619a0e17043412cf4",
+   "sha256": "01bzlhnz7n781gp9d48973gxkcc95rscjs0c24am73505srl38jz"
   },
   "stable": {
    "version": [
     0,
     11,
-    3
+    4
    ],
    "deps": [
     "tree-sitter"
    ],
-   "commit": "599570cd2a6d1b43a109634896b5c52121e155e3",
-   "sha256": "1sgpsjd3037pbvwk7lgw70gb4j0fyqikv4lwxwa6l5dwnqvqxgq6"
+   "commit": "f4effc81fcac3592bce7072619a0e17043412cf4",
+   "sha256": "01bzlhnz7n781gp9d48973gxkcc95rscjs0c24am73505srl38jz"
   }
  },
  {
@@ -109809,11 +109941,11 @@
   "repo": "ideasman42/emacs-undo-fu-session",
   "unstable": {
    "version": [
-    20220211,
-    548
+    20220326,
+    622
    ],
-   "commit": "d4f078abcbeea614ac2b32808c9cadf460a61e2e",
-   "sha256": "02b95pasbgr82g2ii225ixfd39w2y7jncxwmvm7ix2pw77g9mc7v"
+   "commit": "7bbc89a42f6bb4abcd4513488bd45784cf4041e4",
+   "sha256": "1is1ywsr78k9fil44psb8hqhm8b2a8hmv1pf6a8h04hwv3svpf3q"
   }
  },
  {
@@ -110791,6 +110923,21 @@
   }
  },
  {
+  "ename": "uwu-theme",
+  "commit": "32b645e4304be3340c29e466f9b082a4e4855631",
+  "sha256": "1iq7rm53ds6yqrdj1drjy26dxdcsh29bz5ab7200yx1fjn114qzl",
+  "fetcher": "github",
+  "repo": "kborling/uwu-theme",
+  "unstable": {
+   "version": [
+    20220324,
+    1828
+   ],
+   "commit": "a40f96f35cd6dafe0fc98bd19c9783f6b265173c",
+   "sha256": "1ppar0fz98xsbdl9yvh3rk09i1zk9170n4j7rlnvj3a9gnp9bdvq"
+  }
+ },
+ {
   "ename": "v-mode",
   "commit": "247cab604cf0ef6078f5b0f5887526bcbbcefb70",
   "sha256": "0jky9y06fqj06m4mg95h8k3h5fihf9j9qj4w3n836qg5lnb4ywga",
@@ -112144,11 +112291,11 @@
   "repo": "emacs-vs/vs-dark-theme",
   "unstable": {
    "version": [
-    20220214,
-    1401
+    20220319,
+    1730
    ],
-   "commit": "ac33dc2a4a7c017d2baf03a66c69d8e5c983420e",
-   "sha256": "1v397idaxzmc8g3a9fjba8xsxhhsdsz589vs6k8v60p7v8j1ivrl"
+   "commit": "94021437d4dded5039e75c236b4a230d9fbdf7d6",
+   "sha256": "09q43zpx010jmwiz3wbsfwy4kmfz23z1xy7ka7a9nymd97kjnq9p"
   },
   "stable": {
    "version": [
@@ -112167,11 +112314,11 @@
   "repo": "emacs-vs/vs-light-theme",
   "unstable": {
    "version": [
-    20220214,
-    1401
+    20220319,
+    1729
    ],
-   "commit": "a1a9dd9f3d6ba2352afaf920c911eaf6b2e7e0c1",
-   "sha256": "033rgvxas97858969nbg8xzzsx3p2x4a425wk9jvbbhl8aw8xf3d"
+   "commit": "a1a6708419944c95fd36bdc8f8771fb8746a698b",
+   "sha256": "04jccdrsx5r7q067sfyx5qcamlb3df1lx2v04zc436v7cxmj9s9z"
   },
   "stable": {
    "version": [
@@ -112205,11 +112352,11 @@
   "repo": "ianyepan/vscode-dark-plus-emacs-theme",
   "unstable": {
    "version": [
-    20220217,
-    350
+    20220320,
+    530
    ],
-   "commit": "612646c3e707f9665bdbd034a6c2e17cb2645c3a",
-   "sha256": "0m6vwvrsl4dnw42pd3fi2s513jjlq8km7gzks8c6jch7lydwxabk"
+   "commit": "cec18a9d816fef372a4e70f6ad1e16a42aa93b06",
+   "sha256": "1byssa2rv2j9s3m10v7ihi1avqkjc5wqj62393wkp85k73z9v3dq"
   },
   "stable": {
    "version": [
@@ -112986,11 +113133,11 @@
   "repo": "fxbois/web-mode",
   "unstable": {
    "version": [
-    20220227,
-    1557
+    20220319,
+    653
    ],
-   "commit": "f70277774a725e177774cc81ecbd228792cd6656",
-   "sha256": "1kqjq0b0yfhnqxhmzsz7cw01da95nmakc1qjr8jk1m7hwljl3p4b"
+   "commit": "efa853e5cfff8e0bcacbda9d1c6696b33da91b03",
+   "sha256": "1hpdr9r1wvvh44iqkv1lcfnjlvn16yrsgdq2ald2p6sxh9hkvn66"
   },
   "stable": {
    "version": [
@@ -113850,15 +113997,15 @@
   "repo": "progfolio/wikinforg",
   "unstable": {
    "version": [
-    20211210,
-    2116
+    20220322,
+    946
    ],
    "deps": [
     "org",
     "wikinfo"
    ],
-   "commit": "62842806fee863eb43c3015c3d86f5a7f0bf858f",
-   "sha256": "1rzxswfzg8lpwn1r7lq08rz7mrbrs5vr587phh60l26qpz6960c2"
+   "commit": "9a5bfe36d59dc845b8da1951bed327f3a9071534",
+   "sha256": "16vcqf6f44jbyr5plkppd9s3p7i920nv2pvcqazc4g954h6582nl"
   }
  },
  {
@@ -114273,8 +114420,8 @@
     20220318,
     1640
    ],
-   "commit": "495a545178bc43adf96dc0dd7dd0546e56127d7c",
-   "sha256": "0dcqim83x73m0gag3gca7cdqn6vjq2gfdvyhlmfvzg2n4153wr0i"
+   "commit": "e8569e027ff5c9bef8d9ff0734e3293e1c0574a2",
+   "sha256": "1q5c46kinh0s3pyms64nbzzbzgfq5a29qjzw4khsh0b73p8245gf"
   },
   "stable": {
    "version": [
@@ -116914,11 +117061,11 @@
   "repo": "localauthor/zk",
   "unstable": {
    "version": [
-    20220317,
-    1147
+    20220321,
+    2050
    ],
-   "commit": "527ca510d073bcda7746c754935346f531c60b4b",
-   "sha256": "1zvhd1fk2p9n3gn8bbqsv3lcgc2bmhd6hf0pp4a8z0wv5nkv1235"
+   "commit": "4c6426e5e26e6a4d375442660d4f78aaea1691f7",
+   "sha256": "056xx1xlq9hwfjbympkl517544n1gfs605q0c7jkixh2vs6ipydr"
   }
  },
  {
@@ -116935,8 +117082,8 @@
    "deps": [
     "zk"
    ],
-   "commit": "527ca510d073bcda7746c754935346f531c60b4b",
-   "sha256": "1zvhd1fk2p9n3gn8bbqsv3lcgc2bmhd6hf0pp4a8z0wv5nkv1235"
+   "commit": "4c6426e5e26e6a4d375442660d4f78aaea1691f7",
+   "sha256": "056xx1xlq9hwfjbympkl517544n1gfs605q0c7jkixh2vs6ipydr"
   }
  },
  {
diff --git a/pkgs/applications/editors/gnome-builder/default.nix b/pkgs/applications/editors/gnome-builder/default.nix
index 0e2ffe46d208d..8fd9f56a9d221 100644
--- a/pkgs/applications/editors/gnome-builder/default.nix
+++ b/pkgs/applications/editors/gnome-builder/default.nix
@@ -18,6 +18,7 @@
 , json-glib
 , jsonrpc-glib
 , libdazzle
+, libhandy
 , libpeas
 , libportal-gtk3
 , libxml2
@@ -40,21 +41,20 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-builder";
-  version = "41.3";
+  version = "42.0";
 
   outputs = [ "out" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "4iUPyOnp8gAsRS5ZUNgmhXNNPESAs1Fnq1CKyHAlCeE=";
+    sha256 = "Uu/SltaLL/GCNBwEgdz9cGVMQIvbZ5/Ot225cDwiQo8=";
   };
 
   patches = [
-    # Fix build with latest libportal
-    # https://gitlab.gnome.org/GNOME/gnome-builder/-/merge_requests/486
+    # Fix appstream validation
     (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/gnome-builder/-/commit/b3bfa0df53a3749c3b73cb6c4bad5cab3fa549a1.patch";
-      sha256 = "B/uCcYavFvOAPhLHZ4MRNENDd6VytILiGYwDZRUSxTE=";
+      url = "https://gitlab.gnome.org/GNOME/gnome-builder/-/commit/d7151679e0c925d27216256dc32fe67fb298d059.patch";
+      sha256 = "vdNJawkqSBaFGRZvxzvjOryQpBL4jcN7tr1t3ihD7LA=";
     })
   ];
 
@@ -87,6 +87,7 @@ stdenv.mkDerivation rec {
     json-glib
     jsonrpc-glib
     libdazzle
+    libhandy
     libxml2
     ostree
     pcre
@@ -103,10 +104,6 @@ stdenv.mkDerivation rec {
     xvfb-run
   ];
 
-  prePatch = ''
-    patchShebangs build-aux/meson/post_install.py
-  '';
-
   mesonFlags = [
     "-Ddocs=true"
 
@@ -122,6 +119,10 @@ stdenv.mkDerivation rec {
   # understand why. Somebody should look into fixing this.
   doCheck = true;
 
+  postPatch = ''
+    patchShebangs build-aux/meson/post_install.py
+  '';
+
   checkPhase = ''
     export NO_AT_BRIDGE=1
     xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
diff --git a/pkgs/applications/editors/helix/default.nix b/pkgs/applications/editors/helix/default.nix
index 6cc5714fb83fe..fb1abcd6cffe3 100644
--- a/pkgs/applications/editors/helix/default.nix
+++ b/pkgs/applications/editors/helix/default.nix
@@ -1,18 +1,18 @@
-{ fetchFromGitHub, lib, rustPlatform, makeWrapper }:
+{ fetchzip, lib, rustPlatform, makeWrapper }:
 
 rustPlatform.buildRustPackage rec {
   pname = "helix";
-  version = "0.6.0";
+  version = "22.03";
 
-  src = fetchFromGitHub {
-    owner = "helix-editor";
-    repo = pname;
-    rev = "v${version}";
-    fetchSubmodules = true;
-    sha256 = "sha256-d/USOtcPLjdgzN7TBCouBRmoSDH5LZD4R5Qq7lUrWZw=";
+  # This release tarball includes source code for the tree-sitter grammars,
+  # which is not ordinarily part of the repository.
+  src = fetchzip {
+    url = "https://github.com/helix-editor/helix/releases/download/${version}/helix-${version}-source.tar.xz";
+    sha256 = "DP/hh6JfnyHdW2bg0cvhwlWvruNDvL9bmXM46iAUQzA=";
+    stripRoot = false;
   };
 
-  cargoSha256 = "sha256-/EATU7HsGNB35YOBp8sofbPd1nl4d3Ggj1ay3QuHkCI=";
+  cargoSha256 = "zJQ+KvO+6iUIb0eJ+LnMbitxaqTxfqgu7XXj3j0GiX4=";
 
   nativeBuildInputs = [ makeWrapper ];
 
@@ -29,6 +29,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://helix-editor.com";
     license = licenses.mpl20;
     mainProgram = "hx";
-    maintainers = with maintainers; [ yusdacra ];
+    maintainers = with maintainers; [ danth yusdacra ];
   };
 }
diff --git a/pkgs/applications/editors/hexdino/default.nix b/pkgs/applications/editors/hexdino/default.nix
index 82119ae91d187..424295b12c985 100644
--- a/pkgs/applications/editors/hexdino/default.nix
+++ b/pkgs/applications/editors/hexdino/default.nix
@@ -1,17 +1,17 @@
 { lib, fetchFromGitHub, rustPlatform, ncurses }:
 
-rustPlatform.buildRustPackage {
+rustPlatform.buildRustPackage rec {
   pname = "hexdino";
-  version = "0.1.0";
+  version = "0.1.1";
 
   src = fetchFromGitHub {
     owner = "Luz";
-    repo = "hexdino";
-    rev = "de5b5d7042129f57e0ab36416a06476126bce389";
-    sha256 = "11mz07735gxqfamjcjjmxya6swlvr1p77sgd377zjcmd6z54gwyf";
+    repo = pname;
+    rev = version;
+    sha256 = "1n8gizawx8h58hpyyqivp7vwy7yhn6scipl5rrbvkpnav8qpmk1r";
   };
 
-  cargoSha256 = "1hpndmpk1zlfvb4r95m13yvnsbjkwgw4pb9ala2d5yzfp38225nm";
+  cargoSha256 = "01869b1d7gbsprcxxj7h9z16pvnzb02j2hywh97gfq5x96gnmkz3";
 
   buildInputs = [ ncurses ];
 
diff --git a/pkgs/applications/editors/jetbrains/darwin.nix b/pkgs/applications/editors/jetbrains/darwin.nix
index b1002e235824c..f771894f533d7 100644
--- a/pkgs/applications/editors/jetbrains/darwin.nix
+++ b/pkgs/applications/editors/jetbrains/darwin.nix
@@ -5,7 +5,7 @@
 }:
 
 { meta
-, name
+, pname
 , product
 , productShort ? product
 , src
@@ -17,7 +17,7 @@ let
   loname = lib.toLower productShort;
 in
   stdenvNoCC.mkDerivation {
-    inherit meta src version;
+    inherit pname meta src version;
     desktopName = product;
     installPhase = ''
       runHook preInstall
@@ -32,6 +32,5 @@ in
       runHook postInstall
     '';
     nativeBuildInputs = [ undmg ];
-    pname = lib.concatStringsSep "-" (lib.init (lib.splitString "-" name));
     sourceRoot = ".";
   }
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index b47c127079045..86eb399dd44a0 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -24,9 +24,9 @@ let
 
   # Sorted alphabetically
 
-  buildClion = { name, version, src, license, description, wmClass, ... }:
+  buildClion = { pname, version, src, license, description, wmClass, ... }:
     (mkJetBrainsProduct {
-      inherit name version src wmClass jdk;
+      inherit pname version src wmClass jdk;
       product = "CLion";
       meta = with lib; {
         homepage = "https://www.jetbrains.com/clion/";
@@ -49,7 +49,7 @@ let
       dontAutoPatchelf = true;
       postFixup = (attrs.postFixup or "") + optionalString (stdenv.isLinux) ''
         (
-          cd $out/clion-${version}
+          cd $out/clion
           # bundled cmake does not find libc
           rm -rf bin/cmake/linux
           ln -s ${cmake} bin/cmake/linux
@@ -62,9 +62,9 @@ let
       '';
     });
 
-  buildDataGrip = { name, version, src, license, description, wmClass, ... }:
+  buildDataGrip = { pname, version, src, license, description, wmClass, ... }:
     (mkJetBrainsProduct {
-      inherit name version src wmClass jdk;
+      inherit pname version src wmClass jdk;
       product = "DataGrip";
       meta = with lib; {
         homepage = "https://www.jetbrains.com/datagrip/";
@@ -78,9 +78,9 @@ let
       };
     });
 
-  buildGoland = { name, version, src, license, description, wmClass, ... }:
+  buildGoland = { pname, version, src, license, description, wmClass, ... }:
     (mkJetBrainsProduct {
-      inherit name version src wmClass jdk;
+      inherit pname version src wmClass jdk;
       product = "Goland";
       meta = with lib; {
         homepage = "https://www.jetbrains.com/go/";
@@ -106,9 +106,9 @@ let
       '';
     });
 
-  buildIdea = { name, version, src, license, description, wmClass, product, ... }:
+  buildIdea = { pname, version, src, license, description, wmClass, product, ... }:
     (mkJetBrainsProduct {
-      inherit name version src wmClass jdk product;
+      inherit pname version src wmClass jdk product;
       productShort = "IDEA";
       extraLdPath = [ zlib ];
       extraWrapperArgs = [
@@ -129,9 +129,9 @@ let
       };
     });
 
-  buildMps = { name, version, src, license, description, wmClass, product, ... }:
+  buildMps = { pname, version, src, license, description, wmClass, product, ... }:
     (mkJetBrainsProduct rec {
-      inherit name version src wmClass jdk product;
+      inherit pname version src wmClass jdk product;
       productShort = "MPS";
       meta = with lib; {
         homepage = "https://www.jetbrains.com/mps/";
@@ -146,9 +146,9 @@ let
       };
     });
 
-  buildPhpStorm = { name, version, src, license, description, wmClass, ... }:
+  buildPhpStorm = { pname, version, src, license, description, wmClass, ... }:
     (mkJetBrainsProduct {
-      inherit name version src wmClass jdk;
+      inherit pname version src wmClass jdk;
       product = "PhpStorm";
       meta = with lib; {
         homepage = "https://www.jetbrains.com/phpstorm/";
@@ -162,9 +162,9 @@ let
       };
     });
 
-  buildPycharm = { name, version, src, license, description, wmClass, product, ... }:
+  buildPycharm = { pname, version, src, license, description, wmClass, product, ... }:
     (mkJetBrainsProduct {
-      inherit name version src wmClass jdk product;
+      inherit pname version src wmClass jdk product;
       productShort = "PyCharm";
       meta = with lib; {
         homepage = "https://www.jetbrains.com/pycharm/";
@@ -186,9 +186,9 @@ let
       };
     });
 
-  buildRider = { name, version, src, license, description, wmClass, ... }:
+  buildRider = { pname, version, src, license, description, wmClass, ... }:
     (mkJetBrainsProduct {
-      inherit name version src wmClass jdk;
+      inherit pname version src wmClass jdk;
       product = "Rider";
       meta = with lib; {
         homepage = "https://www.jetbrains.com/rider/";
@@ -211,9 +211,9 @@ let
       '');
     });
 
-  buildRubyMine = { name, version, src, license, description, wmClass, ... }:
+  buildRubyMine = { pname, version, src, license, description, wmClass, ... }:
     (mkJetBrainsProduct {
-      inherit name version src wmClass jdk;
+      inherit pname version src wmClass jdk;
       product = "RubyMine";
       meta = with lib; {
         homepage = "https://www.jetbrains.com/ruby/";
@@ -223,9 +223,9 @@ let
       };
     });
 
-  buildWebStorm = { name, version, src, license, description, wmClass, ... }:
+  buildWebStorm = { pname, version, src, license, description, wmClass, ... }:
     (mkJetBrainsProduct {
-      inherit name version src wmClass jdk;
+      inherit pname version src wmClass jdk;
       product = "WebStorm";
       meta = with lib; {
         homepage = "https://www.jetbrains.com/webstorm/";
@@ -251,7 +251,7 @@ in
   # Sorted alphabetically
 
   clion = buildClion rec {
-    name = "clion-${version}";
+    pname = "clion";
     version = products.clion.version;
     description  = "C/C++ IDE. New. Intelligent. Cross-platform";
     license = lib.licenses.unfree;
@@ -264,7 +264,7 @@ in
   };
 
   datagrip = buildDataGrip rec {
-    name = "datagrip-${version}";
+    pname = "datagrip";
     version = products.datagrip.version;
     description = "Your Swiss Army Knife for Databases and SQL";
     license = lib.licenses.unfree;
@@ -277,7 +277,7 @@ in
   };
 
   goland = buildGoland rec {
-    name = "goland-${version}";
+    pname = "goland";
     version = products.goland.version;
     description = "Up and Coming Go IDE";
     license = lib.licenses.unfree;
@@ -290,7 +290,7 @@ in
   };
 
   idea-community = buildIdea rec {
-    name = "idea-community-${version}";
+    pname = "idea-community";
     product = "IntelliJ IDEA CE";
     version = products.idea-community.version;
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
@@ -304,7 +304,7 @@ in
   };
 
   idea-ultimate = buildIdea rec {
-    name = "idea-ultimate-${version}";
+    pname = "idea-ultimate";
     product = "IntelliJ IDEA";
     version = products.idea-ultimate.version;
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
@@ -318,7 +318,7 @@ in
   };
 
   mps = buildMps rec {
-    name = "mps-${version}";
+    pname = "mps";
     product = "MPS ${products.mps.version-major-minor}";
     version = products.mps.version;
     description = "Create your own domain-specific language";
@@ -332,7 +332,7 @@ in
   };
 
   phpstorm = buildPhpStorm rec {
-    name = "phpstorm-${version}";
+    pname = "phpstorm";
     version = products.phpstorm.version;
     description = "Professional IDE for Web and PHP developers";
     license = lib.licenses.unfree;
@@ -345,7 +345,7 @@ in
   };
 
   pycharm-community = buildPycharm rec {
-    name = "pycharm-community-${version}";
+    pname = "pycharm-community";
     product = "PyCharm CE";
     version = products.pycharm-community.version;
     description = "PyCharm Community Edition";
@@ -359,7 +359,7 @@ in
   };
 
   pycharm-professional = buildPycharm rec {
-    name = "pycharm-professional-${version}";
+    pname = "pycharm-professional";
     product = "PyCharm";
     version = products.pycharm-professional.version;
     description = "PyCharm Professional Edition";
@@ -373,7 +373,7 @@ in
   };
 
   rider = buildRider rec {
-    name = "rider-${version}";
+    pname = "rider";
     version = products.rider.version;
     description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
     license = lib.licenses.unfree;
@@ -386,7 +386,7 @@ in
   };
 
   ruby-mine = buildRubyMine rec {
-    name = "ruby-mine-${version}";
+    pname = "ruby-mine";
     version = products.ruby-mine.version;
     description = "The Most Intelligent Ruby and Rails IDE";
     license = lib.licenses.unfree;
@@ -399,7 +399,7 @@ in
   };
 
   webstorm = buildWebStorm rec {
-    name = "webstorm-${version}";
+    pname = "webstorm";
     version = products.webstorm.version;
     description = "Professional IDE for Web and JavaScript development";
     license = lib.licenses.unfree;
diff --git a/pkgs/applications/editors/jetbrains/linux.nix b/pkgs/applications/editors/jetbrains/linux.nix
index d150368ca8202..55ed0e6829e5a 100644
--- a/pkgs/applications/editors/jetbrains/linux.nix
+++ b/pkgs/applications/editors/jetbrains/linux.nix
@@ -3,30 +3,29 @@
 , vmopts ? null
 }:
 
-{ name, product, productShort ? product, version, src, wmClass, jdk, meta, extraLdPath ? [], extraWrapperArgs ? [] }@args:
+{ pname, product, productShort ? product, version, src, wmClass, jdk, meta, extraLdPath ? [], extraWrapperArgs ? [] }@args:
 
 with lib;
 
 let loName = toLower productShort;
     hiName = toUpper productShort;
-    mainProgram = concatStringsSep "-" (init (splitString "-" name));
     vmoptsName = loName
                + lib.optionalString stdenv.hostPlatform.is64bit "64"
                + ".vmoptions";
 in
 
 with stdenv; lib.makeOverridable mkDerivation (rec {
-  inherit name src;
-  meta = args.meta // { inherit mainProgram; };
+  inherit pname version src;
+  meta = args.meta // { mainProgram = pname; };
 
   desktopItem = makeDesktopItem {
-    name = mainProgram;
-    exec = mainProgram;
+    name = pname;
+    exec = pname;
     comment = lib.replaceChars ["\n"] [" "] meta.longDescription;
     desktopName = product;
     genericName = meta.description;
     categories = [ "Development" ];
-    icon = mainProgram;
+    icon = pname;
     startupWMClass = wmClass;
   };
 
@@ -62,16 +61,16 @@ with stdenv; lib.makeOverridable mkDerivation (rec {
   installPhase = ''
     runHook preInstall
 
-    mkdir -p $out/{bin,$name,share/pixmaps,libexec/${name}}
-    cp -a . $out/$name
-    ln -s $out/$name/bin/${loName}.png $out/share/pixmaps/${mainProgram}.png
-    mv bin/fsnotifier* $out/libexec/${name}/.
+    mkdir -p $out/{bin,$pname,share/pixmaps,libexec/${pname}}
+    cp -a . $out/$pname
+    ln -s $out/$pname/bin/${loName}.png $out/share/pixmaps/${pname}.png
+    mv bin/fsnotifier* $out/libexec/${pname}/.
 
     jdk=${jdk.home}
     item=${desktopItem}
 
-    makeWrapper "$out/$name/bin/${loName}.sh" "$out/bin/${mainProgram}" \
-      --prefix PATH : "$out/libexec/${name}:${lib.makeBinPath [ jdk coreutils gnugrep which git ]}" \
+    makeWrapper "$out/$pname/bin/${loName}.sh" "$out/bin/${pname}" \
+      --prefix PATH : "$out/libexec/${pname}:${lib.makeBinPath [ jdk coreutils gnugrep which git ]}" \
       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath ([
         # Some internals want libstdc++.so.6
         stdenv.cc.cc.lib libsecret e2fsprogs
diff --git a/pkgs/applications/editors/jucipp/default.nix b/pkgs/applications/editors/jucipp/default.nix
index 7a57e21710950..b06c93c103401 100644
--- a/pkgs/applications/editors/jucipp/default.nix
+++ b/pkgs/applications/editors/jucipp/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     sha256 = "0xp6ijnrggskjrvscp204bmdpz48l5a8nxr9abp17wni6akb5wiq";
   };
 
-  nativeBuildInputs = [ pkg-config wrapGAppsHook ];
+  nativeBuildInputs = [ pkg-config wrapGAppsHook cmake ];
   buildInputs = [
     dbus
     openssl
@@ -38,7 +38,6 @@ stdenv.mkDerivation rec {
     libepoxy
     boost
     libXdmcp
-    cmake
     aspell
     libgit2
     libxkbcommon
diff --git a/pkgs/applications/editors/jupyter-kernels/octave/default.nix b/pkgs/applications/editors/jupyter-kernels/octave/default.nix
index 9db38d1444897..7a1c997a7c53c 100644
--- a/pkgs/applications/editors/jupyter-kernels/octave/default.nix
+++ b/pkgs/applications/editors/jupyter-kernels/octave/default.nix
@@ -32,7 +32,8 @@ rec {
   '';
 
   sizedLogo = size: stdenv.mkDerivation {
-    name = ''octave-logo-${octave.version}-${size}x${size}.png'';
+    pname = "octave-logo-${size}x${size}.png";
+    inherit (octave) version;
 
     src = octave.src;
 
diff --git a/pkgs/applications/editors/kakoune/plugins/default.nix b/pkgs/applications/editors/kakoune/plugins/default.nix
index 1fe16a4e60c11..dc4381446b97a 100644
--- a/pkgs/applications/editors/kakoune/plugins/default.nix
+++ b/pkgs/applications/editors/kakoune/plugins/default.nix
@@ -18,7 +18,7 @@ let
     inherit buildKakounePluginFrom2Nix;
   };
 
-  aliases = lib.optionalAttrs (config.allowAliases or true) (import ./aliases.nix lib plugins);
+  aliases = lib.optionalAttrs config.allowAliases (import ./aliases.nix lib plugins);
 
 in
 
diff --git a/pkgs/applications/editors/kakoune/plugins/kakoune-plugin-names b/pkgs/applications/editors/kakoune/plugins/kakoune-plugin-names
index 6cf7d30f27492..a6cae7a4505b3 100644
--- a/pkgs/applications/editors/kakoune/plugins/kakoune-plugin-names
+++ b/pkgs/applications/editors/kakoune/plugins/kakoune-plugin-names
@@ -1,19 +1,20 @@
-alexherbo2/auto-pairs.kak
-alexherbo2/replace-mode.kak
-alexherbo2/sleuth.kak
-andreyorst/fzf.kak
-andreyorst/powerline.kak
-basbebe/pandoc.kak
-danr/kakoune-easymotion
-Delapouite/kakoune-buffers
-Delapouite/kakoune-registers
-enricozb/tabs.kak@main
-greenfork/active-window.kak
-kakoune-editor/kakoune-extra-filetypes
-kakounedotcom/connect.kak
-kakounedotcom/prelude.kak
-lePerdu/kakboard
-listentolist/kakoune-rainbow
-mayjs/openscad.kak
-occivink/kakoune-buffer-switcher
-occivink/kakoune-vertical-selection
+repo,branch,alias
+alexherbo2/auto-pairs.kak,,
+alexherbo2/replace-mode.kak,,
+alexherbo2/sleuth.kak,,
+andreyorst/fzf.kak,,
+andreyorst/powerline.kak,,
+basbebe/pandoc.kak,,
+danr/kakoune-easymotion,,
+Delapouite/kakoune-buffers,,
+Delapouite/kakoune-registers,,
+enricozb/tabs.kak@main,,
+greenfork/active-window.kak,,
+kakoune-editor/kakoune-extra-filetypes,,
+kakounedotcom/connect.kak,,
+kakounedotcom/prelude.kak,,
+lePerdu/kakboard,,
+listentolist/kakoune-rainbow,,
+mayjs/openscad.kak,,
+occivink/kakoune-buffer-switcher,,
+occivink/kakoune-vertical-selection,,
diff --git a/pkgs/applications/editors/kodestudio/default.nix b/pkgs/applications/editors/kodestudio/default.nix
index e975678591c79..2620a87ce4251 100644
--- a/pkgs/applications/editors/kodestudio/default.nix
+++ b/pkgs/applications/editors/kodestudio/default.nix
@@ -57,7 +57,7 @@ in
           $out/kodestudio
       patchelf \
           --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-          --set-rpath ".:${stdenv.cc.libc}/lib:${xorg.libXinerama}/lib:${xorg.libX11}/lib:${alsa-lib}/lib:${libGL}/lib:${libGLU}/lib:${openssl.out}/lib" \
+          --set-rpath ".:${stdenv.cc.libc}/lib:${xorg.libXinerama}/lib:${xorg.libX11}/lib:${alsa-lib}/lib:${libGL}/lib:${libGLU}/lib:${lib.getLib openssl}/lib" \
           $out/resources/app/extensions/krom/Krom/linux/Krom
       patchelf \
           --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
diff --git a/pkgs/applications/editors/micro/default.nix b/pkgs/applications/editors/micro/default.nix
index c3c42ac24cbab..d9805cbb36a94 100644
--- a/pkgs/applications/editors/micro/default.nix
+++ b/pkgs/applications/editors/micro/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles, callPackage }:
 
 buildGoModule rec {
   pname = "micro";
@@ -24,6 +24,8 @@ buildGoModule rec {
     install -Dt $out/share/applications assets/packaging/micro.desktop
   '';
 
+  passthru.tests.expect = callPackage ./test-with-expect.nix {};
+
   meta = with lib; {
     homepage = "https://micro-editor.github.io";
     description = "Modern and intuitive terminal-based text editor";
diff --git a/pkgs/applications/editors/micro/test-with-expect.nix b/pkgs/applications/editors/micro/test-with-expect.nix
new file mode 100644
index 0000000000000..d3e1d60e08748
--- /dev/null
+++ b/pkgs/applications/editors/micro/test-with-expect.nix
@@ -0,0 +1,30 @@
+{ micro, expect, runCommand, writeScript, runtimeShell }:
+
+let expect-script = writeScript "expect-script" ''
+  #!${expect}/bin/expect -f
+
+  spawn micro file.txt
+  expect "file.txt"
+
+  send "Hello world!"
+  expect "Hello world!"
+
+  # Send ctrl-q (exit)
+  send "\021"
+
+  expect "Save changes to file.txt before closing?"
+  send "y"
+
+  expect eof
+''; in
+runCommand "micro-test-expect"
+{
+  nativeBuildInputs = [ micro expect ];
+  passthru = { inherit expect-script; };
+} ''
+  # Micro really wants a writable $HOME for its config directory.
+  export HOME=$(pwd)
+  expect -f ${expect-script}
+  grep "Hello world!" file.txt
+  touch $out
+''
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
index 03cc0b35b8d39..e06096933c975 100644
--- a/pkgs/applications/editors/neovim/default.nix
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -5,7 +5,8 @@
 , tree-sitter
 , glibcLocales ? null, procps ? null
 
-# now defaults to false because some tests can be flaky (clipboard etc)
+# now defaults to false because some tests can be flaky (clipboard etc), see
+# also: https://github.com/neovim/neovim/issues/16233
 , doCheck ? false
 , nodejs ? null, fish ? null, python3 ? null
 }:
@@ -21,14 +22,6 @@ let
     ));
 
   pyEnv = python3.withPackages(ps: with ps; [ pynvim msgpack ]);
-
-  # FIXME: this is verry messy and strange.
-  # see https://github.com/NixOS/nixpkgs/pull/80528
-  luv = lua.pkgs.luv;
-  luvpath = with builtins ; if stdenv.isDarwin
-    then "${luv.libluv}/lib/lua/${lua.luaversion}/libluv.${head (match "([0-9.]+).*" luv.version)}.dylib"
-    else "${luv}/lib/lua/${lua.luaversion}/luv.so";
-
 in
   stdenv.mkDerivation rec {
     pname = "neovim-unwrapped";
@@ -57,7 +50,11 @@ in
       libtermkey
       libuv
       libvterm-neovim
-      luv.libluv
+      # This is actually a c library, hence it's not included in neovimLuaEnv,
+      # see:
+      # https://github.com/luarocks/luarocks/issues/1402#issuecomment-1080616570
+      # and it's definition at: pkgs/development/lua-modules/overrides.nix
+      lua.pkgs.libluv
       msgpack
       ncurses
       neovimLuaEnv
@@ -97,12 +94,12 @@ in
     disallowedReferences = [ stdenv.cc ];
 
     cmakeFlags = [
-      "-DGPERF_PRG=${gperf}/bin/gperf"
-      "-DLUA_PRG=${neovimLuaEnv.interpreter}"
-      "-DLIBLUV_LIBRARY=${luvpath}"
+      # Don't use downloaded dependencies. At the end of the configurePhase one
+      # can spot that cmake says this option was "not used by the project".
+      # That's because all dependencies were found and
+      # third-party/CMakeLists.txt is not read at all.
       "-DUSE_BUNDLED=OFF"
     ]
-    ++ optional doCheck "-DBUSTED_PRG=${neovimLuaEnv}/bin/busted"
     ++ optional (!lua.pkgs.isLuaJIT) "-DPREFER_LUA=ON"
     ;
 
@@ -113,12 +110,6 @@ in
       substituteInPlace src/nvim/CMakeLists.txt --replace "    util" ""
     '';
 
-    # For treesitter plugins, libstdc++.so.6, or equivalent will be needed
-    NIX_LDFLAGS =
-      lib.optionals stdenv.cc.isGNU [ "-lstdc++"]
-      ++ lib.optionals stdenv.cc.isClang [ "-lc++" ];
-
-    # export PATH=$PWD/build/bin:${PATH}
     shellHook=''
       export VIMRUNTIME=$PWD/runtime
     '';
diff --git a/pkgs/applications/editors/neovim/neovim-remote.nix b/pkgs/applications/editors/neovim/neovim-remote.nix
index 2b1281ae21bed..52c3c08ea8476 100644
--- a/pkgs/applications/editors/neovim/neovim-remote.nix
+++ b/pkgs/applications/editors/neovim/neovim-remote.nix
@@ -4,8 +4,6 @@
 , neovim
 }:
 
-with lib;
-
 with python3.pkgs; buildPythonApplication rec {
   pname = "neovim-remote";
   version = "2.4.0";
@@ -35,11 +33,12 @@ with python3.pkgs; buildPythonApplication rec {
     "test_escape_double_quotes_in_filenames"
   ];
 
-  meta = {
+  meta = with lib; {
     description = "A tool that helps controlling nvim processes from a terminal";
     homepage = "https://github.com/mhinz/neovim-remote/";
     license = licenses.mit;
     maintainers = with maintainers; [ edanaher ];
     platforms = platforms.unix;
+    mainProgram = "nvr";
   };
 }
diff --git a/pkgs/applications/editors/pinegrow/default.nix b/pkgs/applications/editors/pinegrow/default.nix
index 3b694e4b15161..dfcf8e4f787c2 100644
--- a/pkgs/applications/editors/pinegrow/default.nix
+++ b/pkgs/applications/editors/pinegrow/default.nix
@@ -9,20 +9,22 @@
 , gsettings-desktop-schemas
 , gtk3
 , wrapGAppsHook
+, makeWrapper
 }:
 
 stdenv.mkDerivation rec {
   pname = "pinegrow";
-  version = "6.4";
+  version = "6.5";
 
   src = fetchurl {
     url = "https://download.pinegrow.com/PinegrowLinux64.${version}.zip";
-    sha256 = "0i8sg4criimrqmz0g68b8xcwcrb362ssid5jazswpa6hhwj6s5n4";
+    sha256 = "1l7cf5jgidpykaf68mzf92kywl1vxwl3fg43ibgr2rg4cnl1g82b";
   };
 
   nativeBuildInputs = [
     unzip
     autoPatchelfHook
+    makeWrapper
     wrapGAppsHook
   ];
 
@@ -34,6 +36,12 @@ stdenv.mkDerivation rec {
     gtk3
   ];
 
+  dontWrapGApps = true;
+  makeWrapperArgs = [
+    "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ gcc-unwrapped.lib gtk3 udev ]}"
+    "--prefix PATH : ${lib.makeBinPath [ stdenv.cc ]}"
+  ];
+
   sourceRoot = ".";
 
   dontUnpack = true;
@@ -46,7 +54,7 @@ stdenv.mkDerivation rec {
     # we can't unzip it in $out/lib, because nw.js will start with
     # an empty screen. Therefore it will be unzipped in a non-typical
     # folder and symlinked.
-    unzip $src -d $out/opt/pinegrow
+    unzip -q $src -d $out/opt/pinegrow
     substituteInPlace $out/opt/pinegrow/Pinegrow.desktop \
       --replace 'Exec=sh -c "$(dirname %k)/PinegrowLibrary"' 'Exec=sh -c "$out/bin/Pinegrow"'
     mv $out/opt/pinegrow/Pinegrow.desktop $out/share/applications/Pinegrow.desktop
@@ -55,9 +63,11 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  # GSETTINGS_SCHEMAS_PATH is not set in installPhase
   preFixup = ''
-    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
-    wrapGApp "$out/opt/pinegrow/PinegrowLibrary" --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ udev ]}
+    wrapProgram $out/bin/Pinegrow \
+      ''${makeWrapperArgs[@]} \
+      ''${gappsWrapperArgs[@]}
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/editors/poke/default.nix b/pkgs/applications/editors/poke/default.nix
index e050086139109..77466cfdbea86 100644
--- a/pkgs/applications/editors/poke/default.nix
+++ b/pkgs/applications/editors/poke/default.nix
@@ -22,11 +22,11 @@ let
   isCross = stdenv.hostPlatform != stdenv.buildPlatform;
 in stdenv.mkDerivation rec {
   pname = "poke";
-  version = "2.1";
+  version = "2.3";
 
   src = fetchurl {
     url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-zVKObBu8VAw7YpwrTza3hLMKAmsAWji5koNCJZlEJnA=";
+    sha256 = "sha256-NpDPERbafLOp7GtPcAPiU+JotRAhKiiP04qv7Q68x2Y=";
   };
 
   outputs = [ "out" "dev" "info" "lib" "man" ];
diff --git a/pkgs/applications/editors/qxmledit/default.nix b/pkgs/applications/editors/qxmledit/default.nix
index d2aea1344da84..35c5f644ffa43 100644
--- a/pkgs/applications/editors/qxmledit/default.nix
+++ b/pkgs/applications/editors/qxmledit/default.nix
@@ -2,7 +2,7 @@
   qmake, qtbase, qtxmlpatterns, qtsvg, qtscxml, qtquick1, libGLU }:
 
 stdenv.mkDerivation rec {
-  name = "qxmledit-${version}" ;
+  pname = "qxmledit" ;
   version = "0.9.15" ;
   src = fetchFromGitHub ( lib.importJSON ./qxmledit.json ) ;
   nativeBuildInputs = [ qmake ] ;
diff --git a/pkgs/applications/editors/sublime/3/common.nix b/pkgs/applications/editors/sublime/3/common.nix
index b4bfc6c9ea735..a5cf2d560c015 100644
--- a/pkgs/applications/editors/sublime/3/common.nix
+++ b/pkgs/applications/editors/sublime/3/common.nix
@@ -101,7 +101,7 @@ in let
         "''${gappsWrapperArgs[@]}"
 
       # Without this, plugin_host crashes, even though it has the rpath
-      wrapProgram $out/plugin_host --prefix LD_PRELOAD : ${stdenv.cc.cc.lib}/lib${lib.optionalString stdenv.is64bit "64"}/libgcc_s.so.1:${openssl.out}/lib/libssl.so:${bzip2.out}/lib/libbz2.so
+      wrapProgram $out/plugin_host --prefix LD_PRELOAD : ${stdenv.cc.cc.lib}/lib${lib.optionalString stdenv.is64bit "64"}/libgcc_s.so.1:${lib.getLib openssl}/lib/libssl.so:${bzip2.out}/lib/libbz2.so
     '';
   };
 in stdenv.mkDerivation (rec {
diff --git a/pkgs/applications/editors/tiled/default.nix b/pkgs/applications/editors/tiled/default.nix
index d381e89e75af6..7be6d48971094 100644
--- a/pkgs/applications/editors/tiled/default.nix
+++ b/pkgs/applications/editors/tiled/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "tiled";
-  version = "1.8.2";
+  version = "1.8.4";
 
   src = fetchFromGitHub {
     owner = "bjorn";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-5yh0+Z6SbHEFKvCJjQY9BS8vUihBspGhFjfhrUOfiIo=";
+    sha256 = "sha256-QYA2krbwH807BkzVST+/+sjSR6So/aGY/YenEjYxE48=";
   };
 
   nativeBuildInputs = [ pkg-config qmake ];
diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix
index 01561f4c27224..bc317b91597e4 100644
--- a/pkgs/applications/editors/vim/configurable.nix
+++ b/pkgs/applications/editors/vim/configurable.nix
@@ -3,7 +3,7 @@
 , libX11, libXext, libSM, libXpm, libXt, libXaw, libXau, libXmu
 , libICE
 , vimPlugins
-, makeWrapper
+, makeWrapper, makeBinaryWrapper
 , wrapGAppsHook
 , runtimeShell
 
@@ -25,7 +25,6 @@
 , ximSupport        ? config.vim.xim or true        # less than 15KB, needed for deadkeys
 , darwinSupport     ? config.vim.darwin or false    # Enable Darwin support
 , ftNixSupport      ? config.vim.ftNix or true      # Add .nix filetype detection and minimal syntax highlighting support
-, ...
 }:
 
 
@@ -134,7 +133,9 @@ in stdenv.mkDerivation rec {
   ++ lib.optional wrapPythonDrv makeWrapper
   ++ lib.optional nlsSupport gettext
   ++ lib.optional perlSupport perl
-  ++ lib.optional (guiSupport == "gtk3") wrapGAppsHook
+  # Make the inner wrapper binary to avoid double wrapping issues with wrapPythonDrv
+  # (https://github.com/NixOS/nixpkgs/pull/164163)
+  ++ lib.optional (guiSupport == "gtk3") (wrapGAppsHook.override { makeWrapper = makeBinaryWrapper; })
   ;
 
   buildInputs = [
@@ -174,40 +175,12 @@ in stdenv.mkDerivation rec {
   postInstall = ''
     ln -s $out/bin/vim $out/bin/vi
   '' + lib.optionalString stdenv.isLinux ''
-    patchelf --set-rpath \
-      "$(patchelf --print-rpath $out/bin/vim):${lib.makeLibraryPath buildInputs}" \
-      "$out"/bin/vim
-    if [[ -e "$out"/bin/gvim ]]; then
-      patchelf --set-rpath \
-        "$(patchelf --print-rpath $out/bin/vim):${lib.makeLibraryPath buildInputs}" \
-        "$out"/bin/gvim
-    fi
-
     ln -sfn '${nixosRuntimepath}' "$out"/share/vim/vimrc
-  '' + lib.optionalString wrapPythonDrv ''
+  '';
+
+  postFixup = lib.optionalString wrapPythonDrv ''
     wrapProgram "$out/bin/vim" --prefix PATH : "${python3}/bin" \
       --set NIX_PYTHONPATH "${python3}/${python3.sitePackages}"
-  '' + lib.optionalString (guiSupport == "gtk3") ''
-
-    rewrap () {
-      rm -f "$out/bin/$1"
-      echo -e '#!${runtimeShell}\n"'"$out/bin/vim"'" '"$2"' "$@"' > "$out/bin/$1"
-      chmod a+x "$out/bin/$1"
-    }
-
-    rewrap ex -e
-    rewrap view -R
-    rewrap gvim -g
-    rewrap gex -eg
-    rewrap gview -Rg
-    rewrap rvim -Z
-    rewrap rview -RZ
-    rewrap rgvim -gZ
-    rewrap rgview -RgZ
-    rewrap evim    -y
-    rewrap eview   -yR
-    rewrap vimdiff -d
-    rewrap gvimdiff -gd
   '';
 
   dontStrip = true;
diff --git a/pkgs/applications/editors/vim/plugins/default.nix b/pkgs/applications/editors/vim/plugins/default.nix
index 9bfcf44318637..1e847e695403f 100644
--- a/pkgs/applications/editors/vim/plugins/default.nix
+++ b/pkgs/applications/editors/vim/plugins/default.nix
@@ -35,7 +35,7 @@ let
     inherit llvmPackages luaPackages;
   };
 
-  aliases = if (config.allowAliases or true) then (import ./aliases.nix lib) else final: prev: {};
+  aliases = if config.allowAliases then (import ./aliases.nix lib) else final: prev: {};
 
   extensible-self = lib.makeExtensible
     (extends aliases
diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index 62e85688e204b..59fe030b24121 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -3,6 +3,451 @@
 
 final: prev:
 {
+  BetterLua-vim = buildVimPluginFrom2Nix {
+    pname = "BetterLua.vim";
+    version = "2020-08-14";
+    src = fetchFromGitHub {
+      owner = "euclidianAce";
+      repo = "BetterLua.vim";
+      rev = "d2d6c115575d09258a794a6f20ac60233eee59d5";
+      sha256 = "1rvlx21kw8865dg6q97hx9i2s1n8mn1nyhn0m7dkx625pghsx3js";
+    };
+    meta.homepage = "https://github.com/euclidianAce/BetterLua.vim/";
+  };
+
+  BufOnly-vim = buildVimPluginFrom2Nix {
+    pname = "BufOnly.vim";
+    version = "2010-10-18";
+    src = fetchFromGitHub {
+      owner = "vim-scripts";
+      repo = "BufOnly.vim";
+      rev = "43dd92303979bdb234a3cb2f5662847f7a3affe7";
+      sha256 = "1gvpaqvvxjma0dl1zai68bpv42608api4054appwkw9pgczkkcdl";
+    };
+    meta.homepage = "https://github.com/vim-scripts/BufOnly.vim/";
+  };
+
+  CheckAttach = buildVimPluginFrom2Nix {
+    pname = "CheckAttach";
+    version = "2019-05-08";
+    src = fetchFromGitHub {
+      owner = "chrisbra";
+      repo = "CheckAttach";
+      rev = "8f0b1350431d1d34655a147e6f1cfe6cb5dda5f7";
+      sha256 = "1z9a40nbdjd3pnp28nfsi2bijsbaiphc0ia816f5flkchn07gmmj";
+    };
+    meta.homepage = "https://github.com/chrisbra/CheckAttach/";
+  };
+
+  Colour-Sampler-Pack = buildVimPluginFrom2Nix {
+    pname = "Colour-Sampler-Pack";
+    version = "2012-11-30";
+    src = fetchFromGitHub {
+      owner = "vim-scripts";
+      repo = "Colour-Sampler-Pack";
+      rev = "05cded87b2ef29aaa9e930230bb88e23abff4441";
+      sha256 = "03v2r18sfgs0xbgy9p56pxfdg0lsk6m7wyr5hw63wm1nzpwiipg3";
+    };
+    meta.homepage = "https://github.com/vim-scripts/Colour-Sampler-Pack/";
+  };
+
+  Coqtail = buildVimPluginFrom2Nix {
+    pname = "Coqtail";
+    version = "2022-03-28";
+    src = fetchFromGitHub {
+      owner = "whonore";
+      repo = "Coqtail";
+      rev = "cb8f43b2f09f3d41e2821e458901666a82a61298";
+      sha256 = "0h5r0r7hh4g7p874l7fajq30k4z3a88vm3db6583q611h9bwcfrf";
+    };
+    meta.homepage = "https://github.com/whonore/Coqtail/";
+  };
+
+  DoxygenToolkit-vim = buildVimPluginFrom2Nix {
+    pname = "DoxygenToolkit.vim";
+    version = "2010-11-06";
+    src = fetchFromGitHub {
+      owner = "vim-scripts";
+      repo = "DoxygenToolkit.vim";
+      rev = "afd8663d36d2ec19d26befdb10e89e912d26bbd3";
+      sha256 = "1za8li02j4nhqjjsyxg4p78638h5af4izim37zc0p1x55zr3i85r";
+    };
+    meta.homepage = "https://github.com/vim-scripts/DoxygenToolkit.vim/";
+  };
+
+  FTerm-nvim = buildVimPluginFrom2Nix {
+    pname = "FTerm.nvim";
+    version = "2022-03-13";
+    src = fetchFromGitHub {
+      owner = "numToStr";
+      repo = "FTerm.nvim";
+      rev = "233633a5f6fe8398187a4eba93eba0828ef3d5f3";
+      sha256 = "0sxnii921xia4mrf67qz7ichi9xqr9zf193hb9dx199l7hl6k1p8";
+    };
+    meta.homepage = "https://github.com/numToStr/FTerm.nvim/";
+  };
+
+  FixCursorHold-nvim = buildVimPluginFrom2Nix {
+    pname = "FixCursorHold.nvim";
+    version = "2022-02-17";
+    src = fetchFromGitHub {
+      owner = "antoinemadec";
+      repo = "FixCursorHold.nvim";
+      rev = "1bfb32e7ba1344925ad815cb0d7f901dbc0ff7c1";
+      sha256 = "0b1iffk6pa2zwd9fvlgqli72r8qj74b7hqkhlw6awhc7r1qj8m1q";
+    };
+    meta.homepage = "https://github.com/antoinemadec/FixCursorHold.nvim/";
+  };
+
+  Improved-AnsiEsc = buildVimPluginFrom2Nix {
+    pname = "Improved-AnsiEsc";
+    version = "2015-08-26";
+    src = fetchFromGitHub {
+      owner = "vim-scripts";
+      repo = "Improved-AnsiEsc";
+      rev = "e1c59a8e9203fab6b9150721f30548916da73351";
+      sha256 = "1smjs4kz2kmzprzp9az4957675nakb43146hshbby39j5xz4jsbz";
+    };
+    meta.homepage = "https://github.com/vim-scripts/Improved-AnsiEsc/";
+  };
+
+  Jenkinsfile-vim-syntax = buildVimPluginFrom2Nix {
+    pname = "Jenkinsfile-vim-syntax";
+    version = "2021-01-26";
+    src = fetchFromGitHub {
+      owner = "martinda";
+      repo = "Jenkinsfile-vim-syntax";
+      rev = "0d05729168ea44d60862f17cffa80024ab30bcc9";
+      sha256 = "05z30frs4f5z0l4qgxk08r7mb19bzhqs36hi213yin78cz62b9gy";
+    };
+    meta.homepage = "https://github.com/martinda/Jenkinsfile-vim-syntax/";
+  };
+
+  LanguageClient-neovim = buildVimPluginFrom2Nix {
+    pname = "LanguageClient-neovim";
+    version = "2020-12-10";
+    src = fetchFromGitHub {
+      owner = "autozimu";
+      repo = "LanguageClient-neovim";
+      rev = "a42594c9c320b1283e9b9058b85a8097d8325fed";
+      sha256 = "0lj9na3g2cl0vj56jz8rhz9lm2d3xps5glk8ds491i2ixy4vdm37";
+    };
+    meta.homepage = "https://github.com/autozimu/LanguageClient-neovim/";
+  };
+
+  LanguageTool-nvim = buildVimPluginFrom2Nix {
+    pname = "LanguageTool.nvim";
+    version = "2020-10-19";
+    src = fetchFromGitHub {
+      owner = "vigoux";
+      repo = "LanguageTool.nvim";
+      rev = "809e7d77fec834597f495fec737c59292a10025b";
+      sha256 = "1g12dz85xq8qd92dgna0a3w6zgxa74njlvmvly4k20610r63bzrn";
+    };
+    meta.homepage = "https://github.com/vigoux/LanguageTool.nvim/";
+  };
+
+  LeaderF = buildVimPluginFrom2Nix {
+    pname = "LeaderF";
+    version = "2022-04-05";
+    src = fetchFromGitHub {
+      owner = "Yggdroot";
+      repo = "LeaderF";
+      rev = "7292967624ba89e2c3ab2f374959d5a25d5c9d9f";
+      sha256 = "0l2vnickmgcvnlqv13bcqgvpsygkbwzgc70bx253cfbnddqssbpj";
+    };
+    meta.homepage = "https://github.com/Yggdroot/LeaderF/";
+  };
+
+  MatchTagAlways = buildVimPluginFrom2Nix {
+    pname = "MatchTagAlways";
+    version = "2017-05-20";
+    src = fetchFromGitHub {
+      owner = "Valloric";
+      repo = "MatchTagAlways";
+      rev = "352eb479a4ad1608e0880b79ab2357aac2cf4bed";
+      sha256 = "0y8gq4cs0wm2ijagc2frpmm664z355iridxyl5893576v5aqp8z1";
+    };
+    meta.homepage = "https://github.com/Valloric/MatchTagAlways/";
+  };
+
+  Navigator-nvim = buildVimPluginFrom2Nix {
+    pname = "Navigator.nvim";
+    version = "2022-03-28";
+    src = fetchFromGitHub {
+      owner = "numToStr";
+      repo = "Navigator.nvim";
+      rev = "6c50f278482dc5388743cb5c6eddb146059252f9";
+      sha256 = "1qr2blrr6ihr1adld1cyc98b64s2s4y2876bmlbxg4q17y1zv3l6";
+    };
+    meta.homepage = "https://github.com/numToStr/Navigator.nvim/";
+  };
+
+  NeoSolarized = buildVimPluginFrom2Nix {
+    pname = "NeoSolarized";
+    version = "2020-08-07";
+    src = fetchFromGitHub {
+      owner = "overcache";
+      repo = "NeoSolarized";
+      rev = "b94b1a9ad51e2de015266f10fdc6e142f97bd617";
+      sha256 = "019nz56yirpg1ahg8adfafrxznalw056qwm3xjm9kzg6da8j6v48";
+    };
+    meta.homepage = "https://github.com/overcache/NeoSolarized/";
+  };
+
+  NrrwRgn = buildVimPluginFrom2Nix {
+    pname = "NrrwRgn";
+    version = "2022-02-13";
+    src = fetchFromGitHub {
+      owner = "chrisbra";
+      repo = "NrrwRgn";
+      rev = "e027db9d94f94947153cd7b5ac9abd04371ab2b0";
+      sha256 = "0mcwyqbfc2m865w44s96ra2k0v1mn5kkkxf8i71iqhvc7fvnrfah";
+    };
+    meta.homepage = "https://github.com/chrisbra/NrrwRgn/";
+  };
+
+  PreserveNoEOL = buildVimPluginFrom2Nix {
+    pname = "PreserveNoEOL";
+    version = "2013-06-14";
+    src = fetchFromGitHub {
+      owner = "vim-scripts";
+      repo = "PreserveNoEOL";
+      rev = "940e3ce90e54d8680bec1135a21dcfbd6c9bfb62";
+      sha256 = "1726jpr2zf6jrb00pp082ikbx4mll3a877pnzs6i18f9fgpaqqgd";
+    };
+    meta.homepage = "https://github.com/vim-scripts/PreserveNoEOL/";
+  };
+
+  QFEnter = buildVimPluginFrom2Nix {
+    pname = "QFEnter";
+    version = "2020-10-09";
+    src = fetchFromGitHub {
+      owner = "yssl";
+      repo = "QFEnter";
+      rev = "df0a75b287c210f98ae353a12bbfdaf73d858beb";
+      sha256 = "0gdp7nmjlp8ng2rp2v66d8bincnkwrqqpbggb079f0f9szrqlp54";
+    };
+    meta.homepage = "https://github.com/yssl/QFEnter/";
+  };
+
+  Recover-vim = buildVimPluginFrom2Nix {
+    pname = "Recover.vim";
+    version = "2015-08-14";
+    src = fetchFromGitHub {
+      owner = "chrisbra";
+      repo = "Recover.vim";
+      rev = "efa491f6121f65e025f42d79a93081abb8db69d4";
+      sha256 = "17szim82bwnhf9q4n0n4jfmqkmhq6p0lh0j4y77a2x6lkn0pns5s";
+    };
+    meta.homepage = "https://github.com/chrisbra/Recover.vim/";
+  };
+
+  Rename = buildVimPluginFrom2Nix {
+    pname = "Rename";
+    version = "2011-08-31";
+    src = fetchFromGitHub {
+      owner = "vim-scripts";
+      repo = "Rename";
+      rev = "b240f28d2ede65fa77cd99fe045efe79202f7a34";
+      sha256 = "1d1myg4zyc281zcc1ba9idbgcgxndb4a0jwqr4yqxhhzdgszw46r";
+    };
+    meta.homepage = "https://github.com/vim-scripts/Rename/";
+  };
+
+  ReplaceWithRegister = buildVimPluginFrom2Nix {
+    pname = "ReplaceWithRegister";
+    version = "2014-10-31";
+    src = fetchFromGitHub {
+      owner = "vim-scripts";
+      repo = "ReplaceWithRegister";
+      rev = "832efc23111d19591d495dc72286de2fb0b09345";
+      sha256 = "0mb0sx85j1k59b1zz95r4vkq4kxlb4krhncq70mq7fxrs5bnhq8g";
+    };
+    meta.homepage = "https://github.com/vim-scripts/ReplaceWithRegister/";
+  };
+
+  SchemaStore-nvim = buildVimPluginFrom2Nix {
+    pname = "SchemaStore.nvim";
+    version = "2022-04-03";
+    src = fetchFromGitHub {
+      owner = "b0o";
+      repo = "SchemaStore.nvim";
+      rev = "6598caa4ca4f6fa28f975025bec411611abbcb4d";
+      sha256 = "1p0w9i471gqknb8w89ifggsa4hdgdx5zm09mzypqq9344w68fsds";
+    };
+    meta.homepage = "https://github.com/b0o/SchemaStore.nvim/";
+  };
+
+  Shade-nvim = buildVimPluginFrom2Nix {
+    pname = "Shade.nvim";
+    version = "2022-02-01";
+    src = fetchFromGitHub {
+      owner = "sunjon";
+      repo = "Shade.nvim";
+      rev = "4286b5abc47d62d0c9ffb22a4f388b7bf2ac2461";
+      sha256 = "0mb0cnf8065qmjq85hlgb4a1mqk1nwl7966l1imb54hpzw828rzl";
+    };
+    meta.homepage = "https://github.com/sunjon/Shade.nvim/";
+  };
+
+  ShowMultiBase = buildVimPluginFrom2Nix {
+    pname = "ShowMultiBase";
+    version = "2010-10-18";
+    src = fetchFromGitHub {
+      owner = "vim-scripts";
+      repo = "ShowMultiBase";
+      rev = "85a39fd12668ce973d3d9282263912b2b8f0d338";
+      sha256 = "0hg5352ahzgh2kwqha5v8ai024fld93xag93hb53wjf5b8nzsz8i";
+    };
+    meta.homepage = "https://github.com/vim-scripts/ShowMultiBase/";
+  };
+
+  SimpylFold = buildVimPluginFrom2Nix {
+    pname = "SimpylFold";
+    version = "2021-11-04";
+    src = fetchFromGitHub {
+      owner = "tmhedberg";
+      repo = "SimpylFold";
+      rev = "b4a87e509c3d873238a39d1c85d0b97d6819f283";
+      sha256 = "0ff5x7ay67wn9c0mi8sb6110i93zrf97c4whg0bd7pr2nmadpvk0";
+    };
+    meta.homepage = "https://github.com/tmhedberg/SimpylFold/";
+  };
+
+  SpaceCamp = buildVimPluginFrom2Nix {
+    pname = "SpaceCamp";
+    version = "2021-04-07";
+    src = fetchFromGitHub {
+      owner = "jaredgorski";
+      repo = "SpaceCamp";
+      rev = "376af5c2204de61726ea86b596acb2dab9795e1f";
+      sha256 = "0h3wxkswd5z9y46d6272sr210i73j5pwf5faw7qhr1plilfgx4gb";
+    };
+    meta.homepage = "https://github.com/jaredgorski/SpaceCamp/";
+  };
+
+  SpaceVim = buildVimPluginFrom2Nix {
+    pname = "SpaceVim";
+    version = "2022-04-05";
+    src = fetchFromGitHub {
+      owner = "SpaceVim";
+      repo = "SpaceVim";
+      rev = "77378e06df9c7ac4345fee932b9c1923a15e8ef9";
+      sha256 = "1274xhabkhkla2qljsdby4klyr05hf5vpbrra6i08pm5jhzp5h90";
+    };
+    meta.homepage = "https://github.com/SpaceVim/SpaceVim/";
+  };
+
+  Spacegray-vim = buildVimPluginFrom2Nix {
+    pname = "Spacegray.vim";
+    version = "2021-07-06";
+    src = fetchFromGitHub {
+      owner = "ackyshake";
+      repo = "Spacegray.vim";
+      rev = "c699ca10ed421c462bd1c87a158faaa570dc8e28";
+      sha256 = "0ma8w6p5jh6llka49x5j5ql8fmhv0bx5hhsn5b2phak79yqg1k61";
+    };
+    meta.homepage = "https://github.com/ackyshake/Spacegray.vim/";
+  };
+
+  SudoEdit-vim = buildVimPluginFrom2Nix {
+    pname = "SudoEdit.vim";
+    version = "2020-02-27";
+    src = fetchFromGitHub {
+      owner = "chrisbra";
+      repo = "SudoEdit.vim";
+      rev = "e203eada5b563e9134ce2aae26b09edae0904fd7";
+      sha256 = "0pf9iix50pw3p430ky51rv11ra1hppdpwa5flzcd5kciybr76n0n";
+    };
+    meta.homepage = "https://github.com/chrisbra/SudoEdit.vim/";
+  };
+
+  TrueZen-nvim = buildVimPluginFrom2Nix {
+    pname = "TrueZen.nvim";
+    version = "2021-10-12";
+    src = fetchFromGitHub {
+      owner = "Pocco81";
+      repo = "TrueZen.nvim";
+      rev = "508b977d71650da5c9243698614a9a1416f116d4";
+      sha256 = "0sr4y1mg83l28l5ias2pv0gxkcgwailfjn2skx35z63f2il3zkbx";
+    };
+    meta.homepage = "https://github.com/Pocco81/TrueZen.nvim/";
+  };
+
+  VimCompletesMe = buildVimPluginFrom2Nix {
+    pname = "VimCompletesMe";
+    version = "2022-02-18";
+    src = fetchFromGitHub {
+      owner = "ackyshake";
+      repo = "VimCompletesMe";
+      rev = "9adf692d7ae6424038458a89d4a411f0a27d1388";
+      sha256 = "1sndgb3291dyifaa8adri2mb8cgbinbar3nw1fnf67k9ahwycaz0";
+    };
+    meta.homepage = "https://github.com/ackyshake/VimCompletesMe/";
+  };
+
+  VimOrganizer = buildVimPluginFrom2Nix {
+    pname = "VimOrganizer";
+    version = "2020-12-15";
+    src = fetchFromGitHub {
+      owner = "hsitz";
+      repo = "VimOrganizer";
+      rev = "09636aed78441a9de2767fcef6d7c567f322cc40";
+      sha256 = "0phpcxmyz562yyp88rbx9pqg46w8r1lyapb700nvxwvqkcd82pfw";
+    };
+    meta.homepage = "https://github.com/hsitz/VimOrganizer/";
+  };
+
+  Vundle-vim = buildVimPluginFrom2Nix {
+    pname = "Vundle.vim";
+    version = "2019-08-17";
+    src = fetchFromGitHub {
+      owner = "VundleVim";
+      repo = "Vundle.vim";
+      rev = "b255382d6242d7ea3877bf059d2934125e0c4d95";
+      sha256 = "0fkmklcq3fgvd6x6irz9bgyvcdaxafykk3k89gsi9p6b0ikw3rw6";
+    };
+    meta.homepage = "https://github.com/VundleVim/Vundle.vim/";
+  };
+
+  YUNOcommit-vim = buildVimPluginFrom2Nix {
+    pname = "YUNOcommit.vim";
+    version = "2014-11-26";
+    src = fetchFromGitHub {
+      owner = "esneider";
+      repo = "YUNOcommit.vim";
+      rev = "981082055a73ef076d7e27477874d2303153a448";
+      sha256 = "0mjc7fn405vcx1n7vadl98p5wgm6jxrlbdbkqgjq8f1m1ir81zab";
+    };
+    meta.homepage = "https://github.com/esneider/YUNOcommit.vim/";
+  };
+
+  YankRing-vim = buildVimPluginFrom2Nix {
+    pname = "YankRing.vim";
+    version = "2015-07-29";
+    src = fetchFromGitHub {
+      owner = "vim-scripts";
+      repo = "YankRing.vim";
+      rev = "28854abef8fa4ebd3cb219aefcf22566997d8f65";
+      sha256 = "0zdp8pdsqgrh6lfw8ipjhrig6psvmdxkim9ik801y3r373sk2hxw";
+    };
+    meta.homepage = "https://github.com/vim-scripts/YankRing.vim/";
+  };
+
+  YouCompleteMe = buildVimPluginFrom2Nix {
+    pname = "YouCompleteMe";
+    version = "2022-04-02";
+    src = fetchFromGitHub {
+      owner = "ycm-core";
+      repo = "YouCompleteMe";
+      rev = "3ededaed2f9923d50bf3860ba8dace0f7d2724cd";
+      sha256 = "1n2h5wsp9vclsvzr40m1ffb6kjmcg0mccfj790giw77qa2i9s1rl";
+      fetchSubmodules = true;
+    };
+    meta.homepage = "https://github.com/ycm-core/YouCompleteMe/";
+  };
+
   a-vim = buildVimPluginFrom2Nix {
     pname = "a.vim";
     version = "2010-11-06";
@@ -41,12 +486,12 @@ final: prev:
 
   aerial-nvim = buildVimPluginFrom2Nix {
     pname = "aerial.nvim";
-    version = "2022-03-19";
+    version = "2022-04-05";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "aerial.nvim";
-      rev = "7566440e339af515f47b28f9e82fe63d58883082";
-      sha256 = "06ybma15xba2fbb9068lzc04p3sqj1mzgf77v4xvdcym4rc8nccf";
+      rev = "85c9bbb69f0cdf7949ace27030e4d130cb9ffca3";
+      sha256 = "1lpl9f96m9vkz8lzpq68rvycapy29dbzfm0sdmpx6mccygdb6ds1";
     };
     meta.homepage = "https://github.com/stevearc/aerial.nvim/";
   };
@@ -77,12 +522,12 @@ final: prev:
 
   ale = buildVimPluginFrom2Nix {
     pname = "ale";
-    version = "2022-03-20";
+    version = "2022-04-05";
     src = fetchFromGitHub {
       owner = "dense-analysis";
       repo = "ale";
-      rev = "5c7019f394588bdc29d7573f5063198c2803dfe4";
-      sha256 = "1cb80msbhmh03ibxf95scgrpl3awj1i2mc3caj38nqpymn8kfyqy";
+      rev = "cae550f07b608ab591f7fd37ffcab78a07caad8f";
+      sha256 = "0dfhqbfarynnw6p3fq81k2wadinm1fz3z6c3as5kv1bn34y528rn";
     };
     meta.homepage = "https://github.com/dense-analysis/ale/";
   };
@@ -101,12 +546,12 @@ final: prev:
 
   aniseed = buildVimPluginFrom2Nix {
     pname = "aniseed";
-    version = "2022-03-21";
+    version = "2022-03-26";
     src = fetchFromGitHub {
       owner = "Olical";
       repo = "aniseed";
-      rev = "bd79727af8a21037222a08ec9bcaf1c85488aaa4";
-      sha256 = "0l4hvhmf9cgw921956rh97x6aqhjzs2jxsdnk2m38a9fr738hknk";
+      rev = "68ad878e7d7546b291ebff43fd53544b2f6de401";
+      sha256 = "16jsvpfacks2nw4s7qk8qh1xf9jkg6hnvnryp4p2gi0s3x5rfsws";
     };
     meta.homepage = "https://github.com/Olical/aniseed/";
   };
@@ -161,12 +606,12 @@ final: prev:
 
   async-vim = buildVimPluginFrom2Nix {
     pname = "async.vim";
-    version = "2022-01-04";
+    version = "2022-04-04";
     src = fetchFromGitHub {
       owner = "prabirshrestha";
       repo = "async.vim";
-      rev = "f20569020d65bec3249222606c073c0943045b5e";
-      sha256 = "0lff0v2vd06amcjirnpa4wc4l4nsbngcrdqcv34kszyqgzd7phka";
+      rev = "2082d13bb195f3203d41a308b89417426a7deca1";
+      sha256 = "08mblrrkxn1hivj1yjrn3vx3skd6l3xl96800i6qrsbsjlx5s5k3";
     };
     meta.homepage = "https://github.com/prabirshrestha/async.vim/";
   };
@@ -365,28 +810,16 @@ final: prev:
 
   better-escape-nvim = buildVimPluginFrom2Nix {
     pname = "better-escape.nvim";
-    version = "2022-03-14";
+    version = "2022-03-28";
     src = fetchFromGitHub {
       owner = "max397574";
       repo = "better-escape.nvim";
-      rev = "d2efbf0093235525e81f537f8f4e63f23acedf06";
-      sha256 = "1xx23v9jgpzdhyp1diyq0vc36vlxzljx36qnax2cms36kfnc398l";
+      rev = "d5ee0cef56a7e41a86048c14f25e964876ac20c1";
+      sha256 = "04hi2zmaz02fiyvjs94lqn7imp20fn2vpwww37sg7gim18b1mpl4";
     };
     meta.homepage = "https://github.com/max397574/better-escape.nvim/";
   };
 
-  BetterLua-vim = buildVimPluginFrom2Nix {
-    pname = "BetterLua.vim";
-    version = "2020-08-14";
-    src = fetchFromGitHub {
-      owner = "euclidianAce";
-      repo = "BetterLua.vim";
-      rev = "d2d6c115575d09258a794a6f20ac60233eee59d5";
-      sha256 = "1rvlx21kw8865dg6q97hx9i2s1n8mn1nyhn0m7dkx625pghsx3js";
-    };
-    meta.homepage = "https://github.com/euclidianAce/BetterLua.vim/";
-  };
-
   bitbake-vim = buildVimPluginFrom2Nix {
     pname = "bitbake.vim";
     version = "2021-02-06";
@@ -437,12 +870,12 @@ final: prev:
 
   bufdelete-nvim = buildVimPluginFrom2Nix {
     pname = "bufdelete.nvim";
-    version = "2021-12-18";
+    version = "2022-03-24";
     src = fetchFromGitHub {
       owner = "famiu";
       repo = "bufdelete.nvim";
-      rev = "1c59b784c53afaf7b9ca63186da99e5d46e3e429";
-      sha256 = "0zq261nv2jzhqqzaldr5l6dlriyy23zv8rsn3k7fg91q3vjawn4i";
+      rev = "05f9b2831abc693996b335494337b88e616e9eed";
+      sha256 = "09a5r51k8926v51ma45jfqqwwjnk52yy5ql9swmrxnvnrdsjah3p";
     };
     meta.homepage = "https://github.com/famiu/bufdelete.nvim/";
   };
@@ -461,28 +894,16 @@ final: prev:
 
   bufferline-nvim = buildVimPluginFrom2Nix {
     pname = "bufferline.nvim";
-    version = "2022-03-21";
+    version = "2022-04-01";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "bufferline.nvim";
-      rev = "e1202c6569353d03ef0cb3da11b839dba26854dd";
-      sha256 = "1nd5pvbg0yw8jl4rn56dzhabmiwkvlzb8iv595rrkqdb2msdl4qx";
+      rev = "004cd5734fb21e39d48c1fb1469fa63e2797880b";
+      sha256 = "1rr69n4mpkr6ky093fxabf3dcnngam3a01zl71ylvz27lv7gphqh";
     };
     meta.homepage = "https://github.com/akinsho/bufferline.nvim/";
   };
 
-  BufOnly-vim = buildVimPluginFrom2Nix {
-    pname = "BufOnly.vim";
-    version = "2010-10-18";
-    src = fetchFromGitHub {
-      owner = "vim-scripts";
-      repo = "BufOnly.vim";
-      rev = "43dd92303979bdb234a3cb2f5662847f7a3affe7";
-      sha256 = "1gvpaqvvxjma0dl1zai68bpv42608api4054appwkw9pgczkkcdl";
-    };
-    meta.homepage = "https://github.com/vim-scripts/BufOnly.vim/";
-  };
-
   calendar-vim = buildVimPluginFrom2Nix {
     pname = "calendar.vim";
     version = "2022-03-21";
@@ -507,18 +928,6 @@ final: prev:
     meta.homepage = "https://github.com/bkad/camelcasemotion/";
   };
 
-  catppuccin-nvim = buildVimPluginFrom2Nix {
-    pname = "catppuccin-nvim";
-    version = "2022-03-20";
-    src = fetchFromGitHub {
-      owner = "catppuccin";
-      repo = "nvim";
-      rev = "f079dda3dc23450d69b4bad11bfbd9af2c77f6f3";
-      sha256 = "1w0n96fbrkm3vdl64v1yzkly8wpcn5g9qflmpb8r1ww9hhig7a38";
-    };
-    meta.homepage = "https://github.com/catppuccin/nvim/";
-  };
-
   caw-vim = buildVimPluginFrom2Nix {
     pname = "caw.vim";
     version = "2021-09-20";
@@ -531,18 +940,6 @@ final: prev:
     meta.homepage = "https://github.com/tyru/caw.vim/";
   };
 
-  chadtree = buildVimPluginFrom2Nix {
-    pname = "chadtree";
-    version = "2022-03-22";
-    src = fetchFromGitHub {
-      owner = "ms-jpq";
-      repo = "chadtree";
-      rev = "6096305ca7a63e05b9c9355f42fc00a9a467e3a3";
-      sha256 = "05z9qw51x5gh3vw1nlgkip90igw33cq8h684c5gnf10rqyc1c9sv";
-    };
-    meta.homepage = "https://github.com/ms-jpq/chadtree/";
-  };
-
   changeColorScheme-vim = buildVimPluginFrom2Nix {
     pname = "changeColorScheme.vim";
     version = "2010-10-18";
@@ -567,26 +964,14 @@ final: prev:
     meta.homepage = "https://github.com/sudormrfbin/cheatsheet.nvim/";
   };
 
-  CheckAttach = buildVimPluginFrom2Nix {
-    pname = "CheckAttach";
-    version = "2019-05-08";
-    src = fetchFromGitHub {
-      owner = "chrisbra";
-      repo = "CheckAttach";
-      rev = "8f0b1350431d1d34655a147e6f1cfe6cb5dda5f7";
-      sha256 = "1z9a40nbdjd3pnp28nfsi2bijsbaiphc0ia816f5flkchn07gmmj";
-    };
-    meta.homepage = "https://github.com/chrisbra/CheckAttach/";
-  };
-
   ci_dark = buildVimPluginFrom2Nix {
     pname = "ci_dark";
-    version = "2022-03-13";
+    version = "2022-03-27";
     src = fetchFromGitHub {
       owner = "yunlingz";
       repo = "ci_dark";
-      rev = "d32e5be4eb144789743aef0fa412176b91410bcc";
-      sha256 = "13gxf8jc7fd7fxy2zlqi7jc98p0lijs00bsknxnf9cglp1xi81i6";
+      rev = "3acf3a52921708c4c7c6c8ca8590e63bf86d0eff";
+      sha256 = "1x2242mzv3vflaq6k7xdp5xc52hsykw9693szmnvfb72i0mhrf4c";
     };
     meta.homepage = "https://github.com/yunlingz/ci_dark/";
   };
@@ -821,12 +1206,12 @@ final: prev:
 
   cmp-tabnine = buildVimPluginFrom2Nix {
     pname = "cmp-tabnine";
-    version = "2022-01-26";
+    version = "2022-04-04";
     src = fetchFromGitHub {
       owner = "tzachar";
       repo = "cmp-tabnine";
-      rev = "2a051347190a22b738e9784426199b9db745e1da";
-      sha256 = "1z3imhw4jgswd957aqhf1yf5dihb1k9dfd22abshziv45fb0fggy";
+      rev = "1c6e5c55f3a879354891c59cf27da733890bfc88";
+      sha256 = "1hmif83kl2h4zz4xqkxb0xc003wzlirr26znx0r1f8z54f1j1hik";
     };
     meta.homepage = "https://github.com/tzachar/cmp-tabnine/";
   };
@@ -881,12 +1266,12 @@ final: prev:
 
   cmp_luasnip = buildVimPluginFrom2Nix {
     pname = "cmp_luasnip";
-    version = "2022-01-02";
+    version = "2022-04-01";
     src = fetchFromGitHub {
       owner = "saadparwaiz1";
       repo = "cmp_luasnip";
-      rev = "d6f837f4e8fe48eeae288e638691b91b97d1737f";
-      sha256 = "0cmfjqps7j3056y8avkrfz40kx8qcdxf4v1xvfv03nrw9xdwwh5y";
+      rev = "b10829736542e7cc9291e60bab134df1273165c9";
+      sha256 = "1qygdas99m7py98rqxyza88lmk2as8yi9khjac603x6anxmq766l";
     };
     meta.homepage = "https://github.com/saadparwaiz1/cmp_luasnip/";
   };
@@ -963,14 +1348,38 @@ final: prev:
     meta.homepage = "https://github.com/iamcco/coc-spell-checker/";
   };
 
+  coc-svelte = buildVimPluginFrom2Nix {
+    pname = "coc-svelte";
+    version = "2022-03-14";
+    src = fetchFromGitHub {
+      owner = "coc-extensions";
+      repo = "coc-svelte";
+      rev = "7dda98527c0831e287ae8cd1c85cfc958c949d4a";
+      sha256 = "0ci35dph7zz53hiw65xp79g6i8h5yk1zlcbinljfcdn5635wsjbn";
+    };
+    meta.homepage = "https://github.com/coc-extensions/coc-svelte/";
+  };
+
+  coc-tailwindcss = buildVimPluginFrom2Nix {
+    pname = "coc-tailwindcss";
+    version = "2020-08-19";
+    src = fetchFromGitHub {
+      owner = "iamcco";
+      repo = "coc-tailwindcss";
+      rev = "5f41aa1feb36e39b95ccd83be6a37ee8c475f9fb";
+      sha256 = "189abl36aj862m5nz8jjdgdfc4s6xbag030hi9m13yd6fbg99f85";
+    };
+    meta.homepage = "https://github.com/iamcco/coc-tailwindcss/";
+  };
+
   coc-nvim = buildVimPluginFrom2Nix {
     pname = "coc.nvim";
-    version = "2022-03-21";
+    version = "2022-04-05";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc.nvim";
-      rev = "8e27595afad82e56a659257896de85072447703c";
-      sha256 = "1jcw2n1j8bjs1x3y0jxh8gajkir2xnncmk6zx8360fm28y6lc90s";
+      rev = "1d85f511f9966b445b5200f35f8db8d4cc0af805";
+      sha256 = "0yk9wghix3mh63p7w6hqk7crv4z6c2hi7ywdg6cnnkhnxviih7lp";
     };
     meta.homepage = "https://github.com/neoclide/coc.nvim/";
   };
@@ -1011,18 +1420,6 @@ final: prev:
     meta.homepage = "https://github.com/lilydjwg/colorizer/";
   };
 
-  Colour-Sampler-Pack = buildVimPluginFrom2Nix {
-    pname = "Colour-Sampler-Pack";
-    version = "2012-11-30";
-    src = fetchFromGitHub {
-      owner = "vim-scripts";
-      repo = "Colour-Sampler-Pack";
-      rev = "05cded87b2ef29aaa9e930230bb88e23abff4441";
-      sha256 = "03v2r18sfgs0xbgy9p56pxfdg0lsk6m7wyr5hw63wm1nzpwiipg3";
-    };
-    meta.homepage = "https://github.com/vim-scripts/Colour-Sampler-Pack/";
-  };
-
   command-t = buildVimPluginFrom2Nix {
     pname = "command-t";
     version = "2022-02-25";
@@ -1038,12 +1435,12 @@ final: prev:
 
   comment-nvim = buildVimPluginFrom2Nix {
     pname = "comment.nvim";
-    version = "2022-03-20";
+    version = "2022-04-03";
     src = fetchFromGitHub {
       owner = "numtostr";
       repo = "comment.nvim";
-      rev = "8a2b2f3b302e3a35184b1107dfb3781aa76e442a";
-      sha256 = "1sh0ilkddf8kfhp6fnq5br4yqaqk2g0nm3bz5xdwrf5jmphr4mi0";
+      rev = "0aaea32f27315e2a99ba4c12ab9def5cbb4842e4";
+      sha256 = "17vs6k71x6j6gzs1xhsvsmwh2lvpvwgshi2axg9b6ad20wv2v4dr";
     };
     meta.homepage = "https://github.com/numtostr/comment.nvim/";
   };
@@ -1182,12 +1579,12 @@ final: prev:
 
   conjure = buildVimPluginFrom2Nix {
     pname = "conjure";
-    version = "2022-02-15";
+    version = "2022-03-28";
     src = fetchFromGitHub {
       owner = "Olical";
       repo = "conjure";
-      rev = "6c53d863c0843be0f68a138def146d6b8f725b22";
-      sha256 = "1f5z99ac72433f2nj714fk6xd76mq7yr5i5z1afwgrhx61zbwn5h";
+      rev = "0c85b2ecce542ce8ee336bf01f433950cf51f31e";
+      sha256 = "15nqxzf2q8iwkc3b09crd66cb38cnh2sv4q49vv9x6nkxar69hgc";
     };
     meta.homepage = "https://github.com/Olical/conjure/";
   };
@@ -1230,28 +1627,16 @@ final: prev:
 
   coq_nvim = buildVimPluginFrom2Nix {
     pname = "coq_nvim";
-    version = "2022-03-22";
+    version = "2022-04-05";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "coq_nvim";
-      rev = "d8767f5dd617ae5a97a68c50342e85f482e85492";
-      sha256 = "0wfd3ya71d3059p7hskf69rn1c2x9ysfvfgk6k05ah4m7finsh6p";
+      rev = "60df9082402acb1d9d258fb9f9763a085ca04952";
+      sha256 = "0gv4h0imxbfgw0g3z6xwqk7iczcs1zq5jdvpbn20gwsizrfgk6ap";
     };
     meta.homepage = "https://github.com/ms-jpq/coq_nvim/";
   };
 
-  Coqtail = buildVimPluginFrom2Nix {
-    pname = "Coqtail";
-    version = "2022-03-21";
-    src = fetchFromGitHub {
-      owner = "whonore";
-      repo = "Coqtail";
-      rev = "f88e1b425d96b331a5375d6e35c741abdedc858d";
-      sha256 = "1r4fbz8xzk331blizh8i4fkls3cyli9pzms6xnqksjgik2mbsh37";
-    };
-    meta.homepage = "https://github.com/whonore/Coqtail/";
-  };
-
   cosco-vim = buildVimPluginFrom2Nix {
     pname = "cosco.vim";
     version = "2018-08-07";
@@ -1350,12 +1735,12 @@ final: prev:
 
   ctrlp-vim = buildVimPluginFrom2Nix {
     pname = "ctrlp.vim";
-    version = "2022-03-22";
+    version = "2022-03-23";
     src = fetchFromGitHub {
       owner = "ctrlpvim";
       repo = "ctrlp.vim";
-      rev = "8150fdd845a8c26326ceb9418d054370863e826c";
-      sha256 = "0y9x39jjw8bk3vnwcvpr6s3nxmdhs30z982fxm6g5i7ksa7wj2v4";
+      rev = "40ee62ef9b415da647618b08d1b28d19180a22eb";
+      sha256 = "1f73gfbc59lx36xfdh2y6fcan2ia59m9vx1bjq32hj987iw2wxhy";
     };
     meta.homepage = "https://github.com/ctrlpvim/ctrlp.vim/";
   };
@@ -1748,12 +2133,12 @@ final: prev:
 
   diffview-nvim = buildVimPluginFrom2Nix {
     pname = "diffview.nvim";
-    version = "2022-02-21";
+    version = "2022-04-05";
     src = fetchFromGitHub {
       owner = "sindrets";
       repo = "diffview.nvim";
-      rev = "cf32c3fcdbc2f6855f6bb883302c9f290e9c3d88";
-      sha256 = "0vikawxr40pkprsn8yzpacs33hfakpb98j5lmpf7sjmvyzkb1x8b";
+      rev = "71e972ecec34cc9b4917ccdacbbd29062ef9657c";
+      sha256 = "0ksq9d0glhn4d4s0png3pbvf7a5rbv1xgna49fz81d5qy5ih0rsl";
     };
     meta.homepage = "https://github.com/sindrets/diffview.nvim/";
   };
@@ -1772,48 +2157,24 @@ final: prev:
 
   doki-theme-vim = buildVimPluginFrom2Nix {
     pname = "doki-theme-vim";
-    version = "2022-02-16";
+    version = "2022-03-31";
     src = fetchFromGitHub {
       owner = "doki-theme";
       repo = "doki-theme-vim";
-      rev = "fe7112ce7db0c8c65420e82aabfe7a98be2b538b";
-      sha256 = "07vy5kf7pqsdqsz5jmqj6lm2aizcncfi4j1vmkpnjw9rpp3c733r";
+      rev = "047caeccfe2052d5be42f0e26986c31bd2e0d5f0";
+      sha256 = "0zbq3c25q03frav7scch5sghwa27swbamlrdnvkmiqw1qfk27r72";
     };
     meta.homepage = "https://github.com/doki-theme/doki-theme-vim/";
   };
 
-  DoxygenToolkit-vim = buildVimPluginFrom2Nix {
-    pname = "DoxygenToolkit.vim";
-    version = "2010-11-06";
-    src = fetchFromGitHub {
-      owner = "vim-scripts";
-      repo = "DoxygenToolkit.vim";
-      rev = "afd8663d36d2ec19d26befdb10e89e912d26bbd3";
-      sha256 = "1za8li02j4nhqjjsyxg4p78638h5af4izim37zc0p1x55zr3i85r";
-    };
-    meta.homepage = "https://github.com/vim-scripts/DoxygenToolkit.vim/";
-  };
-
-  dracula-vim = buildVimPluginFrom2Nix {
-    pname = "dracula-vim";
-    version = "2022-03-21";
-    src = fetchFromGitHub {
-      owner = "dracula";
-      repo = "vim";
-      rev = "d552ad035c041a75e9d284adf2099f5bdea5d293";
-      sha256 = "0024igmd05zc84ya08zms7m0nmdrah1ahvmdpfm056nmkw77phhn";
-    };
-    meta.homepage = "https://github.com/dracula/vim/";
-  };
-
   dressing-nvim = buildVimPluginFrom2Nix {
     pname = "dressing.nvim";
-    version = "2022-03-17";
+    version = "2022-03-31";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "dressing.nvim";
-      rev = "96552c9199dc4e169d1c54a21300365ffa483da9";
-      sha256 = "0xh8wnmk3y71mqfcbai0sf7s94kh4f5ward05c8rkwx9rhlasajv";
+      rev = "cad08fac5ed6d5e8384d8c0759268e2f6b89b217";
+      sha256 = "0lc04cvq6iasg724zhpzp1j3bhwj4gphvqbzfh41ikzsy8d2jrpy";
     };
     meta.homepage = "https://github.com/stevearc/dressing.nvim/";
   };
@@ -1832,12 +2193,12 @@ final: prev:
 
   edge = buildVimPluginFrom2Nix {
     pname = "edge";
-    version = "2022-03-21";
+    version = "2022-04-04";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "edge";
-      rev = "36c08622c4420129fa576ceafa4ed3388d3beb56";
-      sha256 = "0hai4ns9chvqb8x7vgcl0i0lxqvqwxwhpa489zsqsp1lb436bwqc";
+      rev = "ee4c9b797bce2d5fdcdb3904d2f3916d4ef3e615";
+      sha256 = "123xp6hqjz3ys34dii8rbl6l9i5s2sbnjh80sax7d9l22jqcv1qf";
     };
     meta.homepage = "https://github.com/sainnhe/edge/";
   };
@@ -1881,28 +2242,16 @@ final: prev:
 
   elvish-vim = buildVimPluginFrom2Nix {
     pname = "elvish.vim";
-    version = "2019-06-29";
+    version = "2022-04-04";
     src = fetchFromGitHub {
       owner = "dmix";
       repo = "elvish.vim";
-      rev = "67ef8e89bff7cb8ea936f2164c8c268bbb3295f0";
-      sha256 = "133hr3i7zxysf2gnnimhz3gf3nda3fyfxmqq7mhq544v2mki4x9m";
+      rev = "ab3f9cff31fb3c2871d437dd058b13526ddf66a0";
+      sha256 = "1y1adg42iv0xhww2vxmxw3pky5syjc3djc1h2s7mm0bjg2marlha";
     };
     meta.homepage = "https://github.com/dmix/elvish.vim/";
   };
 
-  embark-vim = buildVimPluginFrom2Nix {
-    pname = "embark-vim";
-    version = "2022-01-10";
-    src = fetchFromGitHub {
-      owner = "embark-theme";
-      repo = "vim";
-      rev = "2740b2f15708dee3a5b390709e07a69255f75d75";
-      sha256 = "1y1i5wzs1w20k6yyr6l8861bph7xj50ks66yxy7kc97f18jrpra6";
-    };
-    meta.homepage = "https://github.com/embark-theme/vim/";
-  };
-
   emmet-vim = buildVimPluginFrom2Nix {
     pname = "emmet-vim";
     version = "2021-12-04";
@@ -1930,12 +2279,12 @@ final: prev:
 
   everforest = buildVimPluginFrom2Nix {
     pname = "everforest";
-    version = "2022-03-21";
+    version = "2022-04-04";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "everforest";
-      rev = "764e36cf49a5845217ef09281adf708ab5abd9e3";
-      sha256 = "03byh70krkcgcj6yis7x73bzs8b21qic5qhi01az057rp7mx462l";
+      rev = "1a2c447fc014e55b5347b85df090b67af6ed28a6";
+      sha256 = "1cx5gm629r23prrn3j9awcmqi7zslzgk6aikws38x0mm9jlr3bxg";
     };
     meta.homepage = "https://github.com/sainnhe/everforest/";
   };
@@ -1990,12 +2339,12 @@ final: prev:
 
   feline-nvim = buildVimPluginFrom2Nix {
     pname = "feline.nvim";
-    version = "2022-03-18";
+    version = "2022-03-24";
     src = fetchFromGitHub {
       owner = "feline-nvim";
       repo = "feline.nvim";
-      rev = "1bd5158943eea629de30db02449aa06633e1fcee";
-      sha256 = "1z6hlarj2xj00hia6ns58qwibpaf48h6w8aawsc46ihjib1zs38q";
+      rev = "290bea8e8a782586de32bb8d0bfb056ff8acdb9c";
+      sha256 = "0sjg8hb6z9c7kscx26jkdxl31qy244w76iywy8xp7143kb9p0qx1";
     };
     meta.homepage = "https://github.com/feline-nvim/feline.nvim/";
   };
@@ -2014,12 +2363,12 @@ final: prev:
 
   fern-vim = buildVimPluginFrom2Nix {
     pname = "fern.vim";
-    version = "2022-03-21";
+    version = "2022-03-28";
     src = fetchFromGitHub {
       owner = "lambdalisue";
       repo = "fern.vim";
-      rev = "540355537e529f00ff770f1647929957b0aa8088";
-      sha256 = "1p5sjz24khgmfwmkq6brl8l1z3w7zfb4pgz3xriqij5w0h5nkdin";
+      rev = "53d8cf7cd96fcde4138ba1ad67971a594b4abbd4";
+      sha256 = "1dicpzqmpxclrv3v48ipk79yfblhlva42kzrl8hxly95isq2kznp";
     };
     meta.homepage = "https://github.com/lambdalisue/fern.vim/";
   };
@@ -2060,18 +2409,6 @@ final: prev:
     meta.homepage = "https://github.com/bogado/file-line/";
   };
 
-  FixCursorHold-nvim = buildVimPluginFrom2Nix {
-    pname = "FixCursorHold.nvim";
-    version = "2022-02-17";
-    src = fetchFromGitHub {
-      owner = "antoinemadec";
-      repo = "FixCursorHold.nvim";
-      rev = "1bfb32e7ba1344925ad815cb0d7f901dbc0ff7c1";
-      sha256 = "0b1iffk6pa2zwd9fvlgqli72r8qj74b7hqkhlw6awhc7r1qj8m1q";
-    };
-    meta.homepage = "https://github.com/antoinemadec/FixCursorHold.nvim/";
-  };
-
   flake8-vim = buildVimPluginFrom2Nix {
     pname = "flake8-vim";
     version = "2020-10-20";
@@ -2123,12 +2460,12 @@ final: prev:
 
   formatter-nvim = buildVimPluginFrom2Nix {
     pname = "formatter.nvim";
-    version = "2022-03-14";
+    version = "2022-03-29";
     src = fetchFromGitHub {
       owner = "mhartington";
       repo = "formatter.nvim";
-      rev = "76ffbc613a058902a9166c09f3cae48073bc9276";
-      sha256 = "1c56xzwkhrhq0mmk518zhz6dg1q6l9cibiavfj71l5arhbh8d5vk";
+      rev = "bec8a57d6e990a503e87eb71ae530cd2c1402e31";
+      sha256 = "14llli9s5x58m7z4ay5b9d2pypq378h3i4062rasdqi5c5and07n";
     };
     meta.homepage = "https://github.com/mhartington/formatter.nvim/";
   };
@@ -2147,12 +2484,12 @@ final: prev:
 
   friendly-snippets = buildVimPluginFrom2Nix {
     pname = "friendly-snippets";
-    version = "2022-03-05";
+    version = "2022-03-27";
     src = fetchFromGitHub {
       owner = "rafamadriz";
       repo = "friendly-snippets";
-      rev = "ad07b2844021b20797adda5b483265802559a693";
-      sha256 = "1gar4pcdh4waxsjr423s4s1bdxplg01bgalp414pwbc4zwzrdh3b";
+      rev = "e302658e765cf20e6af5a1be8cc07a996d6ee2cc";
+      sha256 = "15s2k776wf4qs3w101q6dwip8abqhsxb1f7xnx41zq7j1r09i20r";
     };
     meta.homepage = "https://github.com/rafamadriz/friendly-snippets/";
   };
@@ -2169,18 +2506,6 @@ final: prev:
     meta.homepage = "https://github.com/raghur/fruzzy/";
   };
 
-  FTerm-nvim = buildVimPluginFrom2Nix {
-    pname = "FTerm.nvim";
-    version = "2022-03-13";
-    src = fetchFromGitHub {
-      owner = "numToStr";
-      repo = "FTerm.nvim";
-      rev = "233633a5f6fe8398187a4eba93eba0828ef3d5f3";
-      sha256 = "0sxnii921xia4mrf67qz7ichi9xqr9zf193hb9dx199l7hl6k1p8";
-    };
-    meta.homepage = "https://github.com/numToStr/FTerm.nvim/";
-  };
-
   fugitive-gitlab-vim = buildVimPluginFrom2Nix {
     pname = "fugitive-gitlab.vim";
     version = "2021-09-20";
@@ -2291,12 +2616,12 @@ final: prev:
 
   ghcid = buildVimPluginFrom2Nix {
     pname = "ghcid";
-    version = "2022-03-21";
+    version = "2022-03-26";
     src = fetchFromGitHub {
       owner = "ndmitchell";
       repo = "ghcid";
-      rev = "957dbf2cc405af362bb544823517de4ddc57e7b2";
-      sha256 = "144q5gq3lnr4pgl92iqj13g3v5zd5795dh6bw91b8s78fz7bf9jn";
+      rev = "f48626bf5b64067a84b644bcc56afac686046966";
+      sha256 = "0v2m05980r5zq77b11nghjgz0yr70a88gd7jv0d0iy2z6ah63sxv";
     };
     meta.homepage = "https://github.com/ndmitchell/ghcid/";
   };
@@ -2315,12 +2640,12 @@ final: prev:
 
   gina-vim = buildVimPluginFrom2Nix {
     pname = "gina.vim";
-    version = "2021-06-12";
+    version = "2022-03-30";
     src = fetchFromGitHub {
       owner = "lambdalisue";
       repo = "gina.vim";
-      rev = "abdbe0fe33f3b6fc59e94f7cc3072768f8dfd8ac";
-      sha256 = "1f3shh6jxr5i1an2dbb1vmc0l2xg03fm6ava25ahxg4b5ka59bc5";
+      rev = "ff6c2ddeca98f886b57fb42283c12e167d6ab575";
+      sha256 = "09jlnpix2dy6kggiz96mrm5l1f9x1gl5afpdmfrxgkighn2rwpzq";
     };
     meta.homepage = "https://github.com/lambdalisue/gina.vim/";
   };
@@ -2387,12 +2712,12 @@ final: prev:
 
   gitsigns-nvim = buildVimPluginFrom2Nix {
     pname = "gitsigns.nvim";
-    version = "2022-03-19";
+    version = "2022-04-02";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "gitsigns.nvim";
-      rev = "3791dfa1ee356a3250e0b74f63bad90e27455f60";
-      sha256 = "1497v5hr89ccixnnc91y6w3cmr9jpbp75g3rrakffijm6zdl8pvk";
+      rev = "83ab3ca26ff5038f823060dfddda7a053e579b67";
+      sha256 = "1hrzk6nr1w9747h0fn9h5cm1pgx1sw6njyf3pyr7p220gnh87vzp";
     };
     meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/";
   };
@@ -2505,18 +2830,6 @@ final: prev:
     meta.homepage = "https://github.com/morhetz/gruvbox/";
   };
 
-  gruvbox-community = buildVimPluginFrom2Nix {
-    pname = "gruvbox-community";
-    version = "2022-03-06";
-    src = fetchFromGitHub {
-      owner = "gruvbox-community";
-      repo = "gruvbox";
-      rev = "b6f47ae7031f6746a1f1918c17574aa12c474ef0";
-      sha256 = "0m8rrm5v542a2c30sg7hlgm7r6gs4ah1n6nr5dc101l2064kg97g";
-    };
-    meta.homepage = "https://github.com/gruvbox-community/gruvbox/";
-  };
-
   gruvbox-flat-nvim = buildVimPluginFrom2Nix {
     pname = "gruvbox-flat.nvim";
     version = "2022-01-19";
@@ -2531,12 +2844,12 @@ final: prev:
 
   gruvbox-material = buildVimPluginFrom2Nix {
     pname = "gruvbox-material";
-    version = "2022-03-21";
+    version = "2022-04-04";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "gruvbox-material";
-      rev = "b8b63c81637c845e8a7c2dff4c206b714f7b93e4";
-      sha256 = "0ds72yyca1sgrr5b7i683i0lpfz6n75vrij94vc8z07ivn33qy2r";
+      rev = "5b98f2121ff3ece1e0b2ea037b86dd9ce0a346ad";
+      sha256 = "0gp4dmrf33m6hpsnqqqv8ab8hflqgwdinr8c8w1k4qkipvg6xkpf";
     };
     meta.homepage = "https://github.com/sainnhe/gruvbox-material/";
   };
@@ -2579,12 +2892,12 @@ final: prev:
 
   harpoon = buildVimPluginFrom2Nix {
     pname = "harpoon";
-    version = "2022-02-16";
+    version = "2022-03-31";
     src = fetchFromGitHub {
       owner = "ThePrimeagen";
       repo = "harpoon";
-      rev = "b2bb0d6f2b8a55895afda53f0ad04527998d3411";
-      sha256 = "0izsscglfk6lpisxvarr0qw4m9br8854wi6jhyp2msd8r9gcrzi7";
+      rev = "b6a363c037505c30a41042580729dc09e9bd00ed";
+      sha256 = "0v917h34fha7ww2shrnwaqajp5f0s6qb9rbcmf4f504rpkfbnavl";
     };
     meta.homepage = "https://github.com/ThePrimeagen/harpoon/";
   };
@@ -2651,28 +2964,40 @@ final: prev:
 
   hoon-vim = buildVimPluginFrom2Nix {
     pname = "hoon.vim";
-    version = "2022-01-29";
+    version = "2022-03-22";
     src = fetchFromGitHub {
       owner = "urbit";
       repo = "hoon.vim";
-      rev = "f287adb9ce5f99a2a8b806833ab1582ba162aab0";
-      sha256 = "0nlmcz79qcmrkfji5mdc66p1pxrz5i68m50013fr66zqcccnynjk";
+      rev = "233d48ab2621877d8899b7a75b70f379ce36a066";
+      sha256 = "0bq8vd6dnf39y3686snaywp8krmjghfsxnnm0k1cyv20g1mf54s5";
     };
     meta.homepage = "https://github.com/urbit/hoon.vim/";
   };
 
   hop-nvim = buildVimPluginFrom2Nix {
     pname = "hop.nvim";
-    version = "2022-03-18";
+    version = "2022-03-22";
     src = fetchFromGitHub {
       owner = "phaazon";
       repo = "hop.nvim";
-      rev = "4f1acb666667b2b914efc407ba44b4d305529331";
-      sha256 = "1i2gib6kdbj6sqfhz72n5gq72g2viw28z64dc1cmm4wwafcxzc4c";
+      rev = "e2f978b50c2bd9ae2c6a4ebdf2222c0f299c85c3";
+      sha256 = "1si2ibxidjn0l565vhr77949s16yjv46alq145b19h15amwgq3g2";
     };
     meta.homepage = "https://github.com/phaazon/hop.nvim/";
   };
 
+  hotpot-nvim = buildVimPluginFrom2Nix {
+    pname = "hotpot.nvim";
+    version = "2022-03-23";
+    src = fetchFromGitHub {
+      owner = "rktjmp";
+      repo = "hotpot.nvim";
+      rev = "72704e1914648774a4fb42f57ca411d689e08ae6";
+      sha256 = "1dh6i2asqrhxc1irnhr46drn8ksj7xq81m6ankvy1gj8bkc74dmp";
+    };
+    meta.homepage = "https://github.com/rktjmp/hotpot.nvim/";
+  };
+
   i3config-vim = buildVimPluginFrom2Nix {
     pname = "i3config.vim";
     version = "2021-06-23";
@@ -2723,28 +3048,16 @@ final: prev:
 
   impatient-nvim = buildVimPluginFrom2Nix {
     pname = "impatient.nvim";
-    version = "2022-02-21";
+    version = "2022-03-31";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "impatient.nvim";
-      rev = "7abfc924714d3b7f19f3674cca0231cf6ef2050f";
-      sha256 = "04q08syijlia2m8dbaf0854y4zp73j0ms1vg8wa7kr80rwvkrvbz";
+      rev = "2337df7d778e17a58d8709f651653b9039946d8d";
+      sha256 = "06gz1qsdqil1f2wsfyslk8vsdxxjjrsak0gfar2298ardaqb3dhp";
     };
     meta.homepage = "https://github.com/lewis6991/impatient.nvim/";
   };
 
-  Improved-AnsiEsc = buildVimPluginFrom2Nix {
-    pname = "Improved-AnsiEsc";
-    version = "2015-08-26";
-    src = fetchFromGitHub {
-      owner = "vim-scripts";
-      repo = "Improved-AnsiEsc";
-      rev = "e1c59a8e9203fab6b9150721f30548916da73351";
-      sha256 = "1smjs4kz2kmzprzp9az4957675nakb43146hshbby39j5xz4jsbz";
-    };
-    meta.homepage = "https://github.com/vim-scripts/Improved-AnsiEsc/";
-  };
-
   increment-activator = buildVimPluginFrom2Nix {
     pname = "increment-activator";
     version = "2021-09-16";
@@ -2783,12 +3096,12 @@ final: prev:
 
   indent-blankline-nvim = buildVimPluginFrom2Nix {
     pname = "indent-blankline.nvim";
-    version = "2022-03-09";
+    version = "2022-03-28";
     src = fetchFromGitHub {
       owner = "lukas-reineke";
       repo = "indent-blankline.nvim";
-      rev = "9915d46ba9361784c70036bb7259c436249e5b0c";
-      sha256 = "0gcfm7hppgm2f909q6y8gs369mrh8flhbriyv5waq0ir15752cv4";
+      rev = "9920ceb79bffd0e6b7064be63439e38da0741d03";
+      sha256 = "15wqnd72j98w15i7dhzjdxbyxk766vcb844xdrvany3zwqn5p58x";
     };
     meta.homepage = "https://github.com/lukas-reineke/indent-blankline.nvim/";
   };
@@ -2926,18 +3239,6 @@ final: prev:
     meta.homepage = "https://github.com/nanotech/jellybeans.vim/";
   };
 
-  Jenkinsfile-vim-syntax = buildVimPluginFrom2Nix {
-    pname = "Jenkinsfile-vim-syntax";
-    version = "2021-01-26";
-    src = fetchFromGitHub {
-      owner = "martinda";
-      repo = "Jenkinsfile-vim-syntax";
-      rev = "0d05729168ea44d60862f17cffa80024ab30bcc9";
-      sha256 = "05z30frs4f5z0l4qgxk08r7mb19bzhqs36hi213yin78cz62b9gy";
-    };
-    meta.homepage = "https://github.com/martinda/Jenkinsfile-vim-syntax/";
-  };
-
   jq-vim = buildVimPluginFrom2Nix {
     pname = "jq.vim";
     version = "2019-05-21";
@@ -2964,12 +3265,12 @@ final: prev:
 
   julia-vim = buildVimPluginFrom2Nix {
     pname = "julia-vim";
-    version = "2022-03-04";
+    version = "2022-03-23";
     src = fetchFromGitHub {
       owner = "JuliaEditorSupport";
       repo = "julia-vim";
-      rev = "a4b2830cedfc57152bd4e6b27050a41f02229295";
-      sha256 = "0kmc6cgnsdim5yhjcy1hxcfp17a6pslj2zbray8jsfl9xkc2jl74";
+      rev = "a2c96eda9d5b0dde03d2e22d0888e40426cd38dd";
+      sha256 = "1x9f3gd4bgj3f1c75bp58mvaxll4rw55vznqckc0w0p1bcwq9faw";
     };
     meta.homepage = "https://github.com/JuliaEditorSupport/julia-vim/";
   };
@@ -3022,30 +3323,6 @@ final: prev:
     meta.homepage = "https://github.com/qnighy/lalrpop.vim/";
   };
 
-  LanguageClient-neovim = buildVimPluginFrom2Nix {
-    pname = "LanguageClient-neovim";
-    version = "2020-12-10";
-    src = fetchFromGitHub {
-      owner = "autozimu";
-      repo = "LanguageClient-neovim";
-      rev = "a42594c9c320b1283e9b9058b85a8097d8325fed";
-      sha256 = "0lj9na3g2cl0vj56jz8rhz9lm2d3xps5glk8ds491i2ixy4vdm37";
-    };
-    meta.homepage = "https://github.com/autozimu/LanguageClient-neovim/";
-  };
-
-  LanguageTool-nvim = buildVimPluginFrom2Nix {
-    pname = "LanguageTool.nvim";
-    version = "2020-10-19";
-    src = fetchFromGitHub {
-      owner = "vigoux";
-      repo = "LanguageTool.nvim";
-      rev = "809e7d77fec834597f495fec737c59292a10025b";
-      sha256 = "1g12dz85xq8qd92dgna0a3w6zgxa74njlvmvly4k20610r63bzrn";
-    };
-    meta.homepage = "https://github.com/vigoux/LanguageTool.nvim/";
-  };
-
   last256 = buildVimPluginFrom2Nix {
     pname = "last256";
     version = "2020-12-09";
@@ -3082,26 +3359,14 @@ final: prev:
     meta.homepage = "https://github.com/kdheepak/lazygit.nvim/";
   };
 
-  LeaderF = buildVimPluginFrom2Nix {
-    pname = "LeaderF";
-    version = "2022-03-22";
-    src = fetchFromGitHub {
-      owner = "Yggdroot";
-      repo = "LeaderF";
-      rev = "60e14a5bbd52a22578d6335c606d0539067b9327";
-      sha256 = "05bx5wm8r5rs4y51pkgb2m6bxzddacn7f3bdsgnmbvxz0rxyq8dp";
-    };
-    meta.homepage = "https://github.com/Yggdroot/LeaderF/";
-  };
-
   lean-nvim = buildVimPluginFrom2Nix {
     pname = "lean.nvim";
-    version = "2022-03-21";
+    version = "2022-04-04";
     src = fetchFromGitHub {
       owner = "Julian";
       repo = "lean.nvim";
-      rev = "21bf810e3bce3e06d148b4848febcb69bec34b49";
-      sha256 = "0m64qqilanz1qgssgyy2h8zlkyngn2nbnwwx15mwls9v0sllc0ns";
+      rev = "ca6a46c5ecba9f8957948e26b71c226d738f1efa";
+      sha256 = "0mxd9xgnfgal9dd56vchqhkg0hhw4jn6mrqm0b885j9krl78hbvq";
     };
     meta.homepage = "https://github.com/Julian/lean.nvim/";
   };
@@ -3156,12 +3421,12 @@ final: prev:
 
   lf-vim = buildVimPluginFrom2Nix {
     pname = "lf.vim";
-    version = "2021-02-18";
+    version = "2022-03-30";
     src = fetchFromGitHub {
       owner = "ptzz";
       repo = "lf.vim";
-      rev = "73fb502c6d1470243b1f4d8afa81e289d9edd94b";
-      sha256 = "1whrzpavv46r64l3b7vax4sj23kjdfjiwmhfpssb6bprhc9c4j97";
+      rev = "eab8f04b2953f08e3fcd425585598d176369ae4b";
+      sha256 = "125qdj8grw1vilhfqzmjwcwk3r4f1m2kxnxga9klmgypjmcgnkxd";
     };
     meta.homepage = "https://github.com/ptzz/lf.vim/";
   };
@@ -3204,12 +3469,12 @@ final: prev:
 
   lightline-bufferline = buildVimPluginFrom2Nix {
     pname = "lightline-bufferline";
-    version = "2022-01-26";
+    version = "2022-03-27";
     src = fetchFromGitHub {
       owner = "mengelbrecht";
       repo = "lightline-bufferline";
-      rev = "81c3ed800ce24bc09802899c1dc0c0b4d8d4f9b2";
-      sha256 = "1ahbd3l2jjjjcwsvjlbr0q4vhhlsngz9jwvmrkl5a7q9c7h0y7m6";
+      rev = "59b2c6b0ab5ad41ce42db89f05c8ea67020099ff";
+      sha256 = "0laz118k20sm3bn6r81f8pg9n77k5038c0vhgpbj349k3zraygjq";
     };
     meta.homepage = "https://github.com/mengelbrecht/lightline-bufferline/";
   };
@@ -3252,12 +3517,12 @@ final: prev:
 
   lightspeed-nvim = buildVimPluginFrom2Nix {
     pname = "lightspeed.nvim";
-    version = "2022-03-09";
+    version = "2022-04-04";
     src = fetchFromGitHub {
       owner = "ggandor";
       repo = "lightspeed.nvim";
-      rev = "58c9e321b188e040703b01f16922623911f11117";
-      sha256 = "1x9w6nk69a6xzhr9jpcvnw3jby09k49y7gikasxyq5gpq6rp9dfs";
+      rev = "cfde2b2fe0dafc5684780399961595357998f611";
+      sha256 = "0zcippcfv87vcsbld0kka4mn2lixg0r6m2c82g9bssf304skfhfr";
     };
     meta.homepage = "https://github.com/ggandor/lightspeed.nvim/";
   };
@@ -3288,12 +3553,12 @@ final: prev:
 
   lir-nvim = buildVimPluginFrom2Nix {
     pname = "lir.nvim";
-    version = "2022-03-13";
+    version = "2022-03-27";
     src = fetchFromGitHub {
       owner = "tamago324";
       repo = "lir.nvim";
-      rev = "4a4f0724a520bd4e1a59ce55b7ecb51e44aa9b19";
-      sha256 = "17plc8wqa9npvy757qhmm7lk4rcjvm8f340djfi49b9cddpp739s";
+      rev = "00c30733467be30a72311e08030bba34ceb4f6df";
+      sha256 = "1psyvz4qb28mlkbxjs5xy6l4vhw9jyzc0j460xx2phiiz7raq852";
     };
     meta.homepage = "https://github.com/tamago324/lir.nvim/";
   };
@@ -3324,12 +3589,12 @@ final: prev:
 
   litee-filetree-nvim = buildVimPluginFrom2Nix {
     pname = "litee-filetree.nvim";
-    version = "2022-03-08";
+    version = "2022-03-26";
     src = fetchFromGitHub {
       owner = "ldelossa";
       repo = "litee-filetree.nvim";
-      rev = "4f54ff9708c59385dd2f08aad1ba7df879e638fc";
-      sha256 = "076wyp90mr43xniv0zc7wh6rfk1wr50cpfw5lvaj6ai7dyys466n";
+      rev = "59259b0d0716b628a3e4f44098bd87ff54cf9cba";
+      sha256 = "02awfwdzgcqsvs8p8a4m29c648phy6h5x1l49gklrmp8ymg2xgq3";
     };
     meta.homepage = "https://github.com/ldelossa/litee-filetree.nvim/";
   };
@@ -3479,24 +3744,24 @@ final: prev:
 
   lualine-nvim = buildVimPluginFrom2Nix {
     pname = "lualine.nvim";
-    version = "2022-03-18";
+    version = "2022-04-01";
     src = fetchFromGitHub {
       owner = "nvim-lualine";
       repo = "lualine.nvim";
-      rev = "181b14348f513e6f9eb3bdd2252e13630094fdd3";
-      sha256 = "12795wh3md90p3q1zmhar4v4vf1mmhixmd4dycqmk5bcalv8j8ma";
+      rev = "c8e5a69085e89c2bac6bd01c74fcb98f9ffa5cdc";
+      sha256 = "0b2fwz1kxg0j8pgb1bzr82k916ii4k2vnbyz69w657v5mqmlpcbm";
     };
     meta.homepage = "https://github.com/nvim-lualine/lualine.nvim/";
   };
 
   luasnip = buildVimPluginFrom2Nix {
     pname = "luasnip";
-    version = "2022-03-21";
+    version = "2022-04-05";
     src = fetchFromGitHub {
       owner = "l3mon4d3";
       repo = "luasnip";
-      rev = "680d42a49e2e798cbbc0ea5dc96f298b3039dfff";
-      sha256 = "04fhmp3idalm97qpmj7jn6cs7myr2jz0jy3yzw3rqxmf33b17m7w";
+      rev = "69cb81cf7490666890545fef905d31a414edc15b";
+      sha256 = "1dj86wljkhxri6k536ihds9v27wvs672rgmaj5i4migwxjlh6jb8";
     };
     meta.homepage = "https://github.com/l3mon4d3/luasnip/";
   };
@@ -3515,12 +3780,12 @@ final: prev:
 
   lush-nvim = buildVimPluginFrom2Nix {
     pname = "lush.nvim";
-    version = "2022-03-17";
+    version = "2022-03-24";
     src = fetchFromGitHub {
       owner = "rktjmp";
       repo = "lush.nvim";
-      rev = "69848496f34a27e7c534fca5f3626c08f4fdc754";
-      sha256 = "1qm6yv474ija8mbmr33rd2wmalrj8gdzl1ji6q68wr7jrwjs3ds7";
+      rev = "fa7694fe221ca595d6f8c4f1aab531b4c1d48d7b";
+      sha256 = "14cs574nk0hr6mbf80gcjdarwbngbgj73s1grn6yczr2gqqqmhwk";
     };
     meta.homepage = "https://github.com/rktjmp/lush.nvim/";
   };
@@ -3551,12 +3816,12 @@ final: prev:
 
   marks-nvim = buildVimPluginFrom2Nix {
     pname = "marks.nvim";
-    version = "2022-03-03";
+    version = "2022-04-03";
     src = fetchFromGitHub {
       owner = "chentau";
       repo = "marks.nvim";
-      rev = "74885b10abf792f61a612f5724030678b9704dab";
-      sha256 = "12653fd7h1s0hf55399vdk2w3aqyx8n8v62kgpvb62mywbg37bam";
+      rev = "8e80a20a170434bc77decc97bc4364c3ba848925";
+      sha256 = "0bah5xjrwq43ihw37gw8nxsj3qdh9fjqs9n7fkfhsg6hyp1qy4fc";
     };
     meta.homepage = "https://github.com/chentau/marks.nvim/";
   };
@@ -3573,42 +3838,18 @@ final: prev:
     meta.homepage = "https://github.com/vim-scripts/matchit.zip/";
   };
 
-  MatchTagAlways = buildVimPluginFrom2Nix {
-    pname = "MatchTagAlways";
-    version = "2017-05-20";
-    src = fetchFromGitHub {
-      owner = "Valloric";
-      repo = "MatchTagAlways";
-      rev = "352eb479a4ad1608e0880b79ab2357aac2cf4bed";
-      sha256 = "0y8gq4cs0wm2ijagc2frpmm664z355iridxyl5893576v5aqp8z1";
-    };
-    meta.homepage = "https://github.com/Valloric/MatchTagAlways/";
-  };
-
   material-nvim = buildVimPluginFrom2Nix {
     pname = "material.nvim";
-    version = "2022-03-10";
+    version = "2022-04-01";
     src = fetchFromGitHub {
       owner = "marko-cerovac";
       repo = "material.nvim";
-      rev = "596270a53ac5e19a3b9f9f1777d7e99dcf67f71e";
-      sha256 = "0zzdks5dgfz19srflvxa4jj9gxzbany6a697p000vaq5zb59k9v2";
+      rev = "fc3e3d04f9646404dcbf3692e83ad0eecee8bfe8";
+      sha256 = "0zqs3hn946gzcsm4qggakd45qnw5mvas1j6i71l8i55xabkgiffj";
     };
     meta.homepage = "https://github.com/marko-cerovac/material.nvim/";
   };
 
-  mattn-calendar-vim = buildVimPluginFrom2Nix {
-    pname = "mattn-calendar-vim";
-    version = "2022-02-10";
-    src = fetchFromGitHub {
-      owner = "mattn";
-      repo = "calendar-vim";
-      rev = "2083a41e2d310f9bbbbf644517f30e901f1fb04d";
-      sha256 = "13wakcprkh93i7afykkpavxqvxssjh573pjjljsgip3y3778ms5q";
-    };
-    meta.homepage = "https://github.com/mattn/calendar-vim/";
-  };
-
   mayansmoke = buildVimPluginFrom2Nix {
     pname = "mayansmoke";
     version = "2010-10-18";
@@ -3623,12 +3864,12 @@ final: prev:
 
   mini-nvim = buildVimPluginFrom2Nix {
     pname = "mini.nvim";
-    version = "2022-03-22";
+    version = "2022-04-05";
     src = fetchFromGitHub {
       owner = "echasnovski";
       repo = "mini.nvim";
-      rev = "758e28b67216a54fdb154a4606acb73eac950a30";
-      sha256 = "1nrvkz6q3a0cmf3aw09fk46scawh02xvk5hawbcyszh2sig4km11";
+      rev = "10b1fb8ead63309be01f48da78d7d83d0f2b041f";
+      sha256 = "015ls360cwifh1jdzf6zxbqlc0dd0mgl029vs3brsn8h7b78rbv0";
     };
     meta.homepage = "https://github.com/echasnovski/mini.nvim/";
   };
@@ -3671,12 +3912,12 @@ final: prev:
 
   mkdx = buildVimPluginFrom2Nix {
     pname = "mkdx";
-    version = "2022-03-13";
+    version = "2022-03-22";
     src = fetchFromGitHub {
       owner = "SidOfc";
       repo = "mkdx";
-      rev = "62b921fe7c61180560d6d31baae67c6ed5da2d1e";
-      sha256 = "0xnh92vvdrqcj2kwssq1d3jg53lzsz1kpl3vn9dinkrxp4l0pdz1";
+      rev = "e3f0718d53347e884f9f2282c35df0063ec6f9b1";
+      sha256 = "13j611r2hzz2ldbvir89bxab4cicy5nrg9s780dsriz2g4slj5hg";
     };
     meta.homepage = "https://github.com/SidOfc/mkdx/";
   };
@@ -3693,18 +3934,6 @@ final: prev:
     meta.homepage = "https://github.com/tomasr/molokai/";
   };
 
-  moonlight-nvim = buildVimPluginFrom2Nix {
-    pname = "moonlight.nvim";
-    version = "2021-05-16";
-    src = fetchFromGitHub {
-      owner = "shaunsingh";
-      repo = "moonlight.nvim";
-      rev = "e24e4218ec680b6396532808abf57ca0ada82e66";
-      sha256 = "0m9w3fpypsqxydjd93arbjqb5576nl40iy27i4ijlrqhgdhl49y3";
-    };
-    meta.homepage = "https://github.com/shaunsingh/moonlight.nvim/";
-  };
-
   mru = buildVimPluginFrom2Nix {
     pname = "mru";
     version = "2022-03-12";
@@ -3717,18 +3946,6 @@ final: prev:
     meta.homepage = "https://github.com/yegappan/mru/";
   };
 
-  Navigator-nvim = buildVimPluginFrom2Nix {
-    pname = "Navigator.nvim";
-    version = "2022-03-07";
-    src = fetchFromGitHub {
-      owner = "numToStr";
-      repo = "Navigator.nvim";
-      rev = "6bfcf7da965a03fd1e170aa6870b92b16bf739ee";
-      sha256 = "1vx3ibxsn4gdq44pqhykygmim1cq1pj6qrd8cs9lpkm1vq1gz35w";
-    };
-    meta.homepage = "https://github.com/numToStr/Navigator.nvim/";
-  };
-
   ncm2 = buildVimPluginFrom2Nix {
     pname = "ncm2";
     version = "2022-03-17";
@@ -3995,12 +4212,12 @@ final: prev:
 
   neoformat = buildVimPluginFrom2Nix {
     pname = "neoformat";
-    version = "2022-01-26";
+    version = "2022-03-23";
     src = fetchFromGitHub {
       owner = "sbdchd";
       repo = "neoformat";
-      rev = "0d665b05efa344977208c230f164440e3a5ce52f";
-      sha256 = "1ckz7lrnwgnijf6mm6dxamqhwkr0y0wswc5gcm3np37r58yc5mbh";
+      rev = "bccf41d62e874fd614d83c8b0e942cdda6b98012";
+      sha256 = "163pfqa33n1hzz3wb02ymisvl070lz1apcgyn349xbq4fz7ry3b9";
     };
     meta.homepage = "https://github.com/sbdchd/neoformat/";
   };
@@ -4067,12 +4284,12 @@ final: prev:
 
   neorg = buildVimPluginFrom2Nix {
     pname = "neorg";
-    version = "2022-03-21";
+    version = "2022-04-02";
     src = fetchFromGitHub {
       owner = "nvim-neorg";
       repo = "neorg";
-      rev = "9aeaf79c5ad01930705a0534a35adbdba9eb5f13";
-      sha256 = "0v1lqfdkzafsh7v6i0cyhc9mgy6gwyqvlya3722qdrrrramp1yfy";
+      rev = "aec45ca94975c0072516523fec32d69044db36b6";
+      sha256 = "1g1kyhwqdxbshbfqzrwzav9afkl7psys8w5i2h4gkn8dda1h59g6";
     };
     meta.homepage = "https://github.com/nvim-neorg/neorg/";
   };
@@ -4091,12 +4308,12 @@ final: prev:
 
   neosnippet-snippets = buildVimPluginFrom2Nix {
     pname = "neosnippet-snippets";
-    version = "2021-10-02";
+    version = "2022-04-01";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neosnippet-snippets";
-      rev = "8a6655a034eb7c12138dad505ef1004bf383a45d";
-      sha256 = "0mwvcjdrk324azqy5m2lpl3z1gi92jspxvmcjcxqnppfjsv1iyhd";
+      rev = "725c989f18e9c134cddd63a7c6b15bed5c244657";
+      sha256 = "0657ial95l0jgyj9ld6qbncnnrl5qkh6pqp40lr703ddqkz10s03";
     };
     meta.homepage = "https://github.com/Shougo/neosnippet-snippets/";
   };
@@ -4113,18 +4330,6 @@ final: prev:
     meta.homepage = "https://github.com/Shougo/neosnippet.vim/";
   };
 
-  NeoSolarized = buildVimPluginFrom2Nix {
-    pname = "NeoSolarized";
-    version = "2020-08-07";
-    src = fetchFromGitHub {
-      owner = "overcache";
-      repo = "NeoSolarized";
-      rev = "b94b1a9ad51e2de015266f10fdc6e142f97bd617";
-      sha256 = "019nz56yirpg1ahg8adfafrxznalw056qwm3xjm9kzg6da8j6v48";
-    };
-    meta.homepage = "https://github.com/overcache/NeoSolarized/";
-  };
-
   neoterm = buildVimPluginFrom2Nix {
     pname = "neoterm";
     version = "2022-01-20";
@@ -4259,12 +4464,12 @@ final: prev:
 
   nightfox-nvim = buildVimPluginFrom2Nix {
     pname = "nightfox.nvim";
-    version = "2022-03-22";
+    version = "2022-04-05";
     src = fetchFromGitHub {
       owner = "EdenEast";
       repo = "nightfox.nvim";
-      rev = "ba29285dca9740609f05b9674e3de7708e2ecfc9";
-      sha256 = "1959x47sjbb1bl63yfgj30g6s751k4pwchcg2j9y9gm067qnz3r7";
+      rev = "0670b85c5322da682498be9f355e050507fa6622";
+      sha256 = "11gzi6kx1f57a6b5w7rqjwh0qah757g9814fw7qv76wc9cwbki1v";
     };
     meta.homepage = "https://github.com/EdenEast/nightfox.nvim/";
   };
@@ -4341,18 +4546,6 @@ final: prev:
     meta.homepage = "https://github.com/andersevenrud/nordic.nvim/";
   };
 
-  NrrwRgn = buildVimPluginFrom2Nix {
-    pname = "NrrwRgn";
-    version = "2022-02-13";
-    src = fetchFromGitHub {
-      owner = "chrisbra";
-      repo = "NrrwRgn";
-      rev = "e027db9d94f94947153cd7b5ac9abd04371ab2b0";
-      sha256 = "0mcwyqbfc2m865w44s96ra2k0v1mn5kkkxf8i71iqhvc7fvnrfah";
-    };
-    meta.homepage = "https://github.com/chrisbra/NrrwRgn/";
-  };
-
   nterm-nvim = buildVimPluginFrom2Nix {
     pname = "nterm.nvim";
     version = "2021-11-10";
@@ -4379,12 +4572,12 @@ final: prev:
 
   null-ls-nvim = buildVimPluginFrom2Nix {
     pname = "null-ls.nvim";
-    version = "2022-03-22";
+    version = "2022-04-05";
     src = fetchFromGitHub {
       owner = "jose-elias-alvarez";
       repo = "null-ls.nvim";
-      rev = "71bb21da7faa6676629ebac5e8818b701da46f80";
-      sha256 = "0ids4nlg6lhdabkp9pr9jnkghkpwkk1qxvim39a2i0gvqxx4qkz4";
+      rev = "f3107c3b211d62f53d34cbf0ca100fc948bc42d4";
+      sha256 = "07x55chr28f9azqgjjwv0dnn9l0gm0n4z1wdf6libikbnh9jm522";
     };
     meta.homepage = "https://github.com/jose-elias-alvarez/null-ls.nvim/";
   };
@@ -4427,36 +4620,36 @@ final: prev:
 
   nvim-autopairs = buildVimPluginFrom2Nix {
     pname = "nvim-autopairs";
-    version = "2022-03-15";
+    version = "2022-04-02";
     src = fetchFromGitHub {
       owner = "windwp";
       repo = "nvim-autopairs";
-      rev = "6617498bea01c9c628406d7e23030da57f2f8718";
-      sha256 = "0ah6jmi8d1z0r38l9mgs46nfn4kfkqxr2vxhkcgllgp6aamhq85k";
+      rev = "06535b1f1aefc98df464d180efa693bb696736c4";
+      sha256 = "12ii6vap3s2c58fmr01r900cidifr50pdpbl2ssx78w26qvc7qz4";
     };
     meta.homepage = "https://github.com/windwp/nvim-autopairs/";
   };
 
   nvim-base16 = buildVimPluginFrom2Nix {
     pname = "nvim-base16";
-    version = "2022-03-13";
+    version = "2022-03-28";
     src = fetchFromGitHub {
       owner = "RRethy";
       repo = "nvim-base16";
-      rev = "9893a06a11b448e05c0bd1f44970acbb7712e8ba";
-      sha256 = "0hhlyw9nacyc4pyx2537y145lm9p3s4m4ckh8cwbambp5ypnn8kl";
+      rev = "f3c8eaa6c8c0dcd752aa28042f9435c464349776";
+      sha256 = "18xlhyyg9yq54p6jnq4dri47zfw62xfnx4ci9j9iiiii1dyzwr2z";
     };
     meta.homepage = "https://github.com/RRethy/nvim-base16/";
   };
 
   nvim-bqf = buildVimPluginFrom2Nix {
     pname = "nvim-bqf";
-    version = "2022-03-21";
+    version = "2022-04-03";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-bqf";
-      rev = "7d3630f1616c2e5cf9f1c8efc1cf186b9249ce7b";
-      sha256 = "0y9kp05qgs7mmivs52ab26jhiqj1izz4jhj1n4x26zmaqbpw4viw";
+      rev = "d67a9b5173806e3f2297ee42b298d1345acb9c24";
+      sha256 = "1g6jvlx78s4a56p0nxg5z3s2g06snnsyq3bllvqf48qy2s43g286";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-bqf/";
   };
@@ -4487,12 +4680,12 @@ final: prev:
 
   nvim-cmp = buildVimPluginFrom2Nix {
     pname = "nvim-cmp";
-    version = "2022-03-22";
+    version = "2022-04-01";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "nvim-cmp";
-      rev = "272cbdca3e327bf43e8df85c6f4f00921656c4e4";
-      sha256 = "1z3nsrkla35sl6d66bjnk0qvqn1a5m8vn670qyb8y9nqs344fy8d";
+      rev = "7dbe34e36d9de4912a5f3aa5279540445765814c";
+      sha256 = "0v5z1m7n6q183l9a6pajfqbg6n2cxdkcpx7xmalyh99x9ax0pazf";
     };
     meta.homepage = "https://github.com/hrsh7th/nvim-cmp/";
   };
@@ -4571,24 +4764,24 @@ final: prev:
 
   nvim-dap = buildVimPluginFrom2Nix {
     pname = "nvim-dap";
-    version = "2022-03-16";
+    version = "2022-04-02";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-dap";
-      rev = "3d0575a777610b364fea745b85ad497d56b8009a";
-      sha256 = "041ypcwa2k737hp9dh3zs1hyx2n2zh9apjnya11zj5xhng76h0ih";
+      rev = "c20c78d7c6c82f16a2d1abec31f4273194e3987b";
+      sha256 = "16vlsydx950s6v1nzpw0h38vmykcp9f3wsaxg09sjvc2isgd4f8b";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
   };
 
   nvim-dap-ui = buildVimPluginFrom2Nix {
     pname = "nvim-dap-ui";
-    version = "2022-03-21";
+    version = "2022-03-29";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "nvim-dap-ui";
-      rev = "45805d69273f1ca0753a096abd419e89af8e5f8a";
-      sha256 = "03jjhsdl0w5w0s7d9a64fmvwdpm1pkvjvd5gh1hgsavbpf0w71mb";
+      rev = "33f33dfced1d7d98e2b934bd663175a062d8db39";
+      sha256 = "00achlynnv1qhs0vqp0q40pzx95bxf9cgsgrpwg6p3fwb2f4ssdi";
     };
     meta.homepage = "https://github.com/rcarriga/nvim-dap-ui/";
   };
@@ -4631,12 +4824,12 @@ final: prev:
 
   nvim-fzf-commands = buildVimPluginFrom2Nix {
     pname = "nvim-fzf-commands";
-    version = "2021-05-31";
+    version = "2022-03-31";
     src = fetchFromGitHub {
       owner = "vijaymarupudi";
       repo = "nvim-fzf-commands";
-      rev = "c6188c8618ca6b579af37cbc242414e1016bcd45";
-      sha256 = "0nn04gpz3n0jqb9kyxbmipkixzp1lk2f67knxqzzzlxm27m839fy";
+      rev = "015e77ea3185ca9175544e879e2cbb2cfb08323f";
+      sha256 = "1w6s1kl83fyvwycym3i5azcx4q5ryzsjszh6wvk5pxqm2pmzs8lx";
     };
     meta.homepage = "https://github.com/vijaymarupudi/nvim-fzf-commands/";
   };
@@ -4655,12 +4848,12 @@ final: prev:
 
   nvim-gps = buildVimPluginFrom2Nix {
     pname = "nvim-gps";
-    version = "2022-03-20";
+    version = "2022-03-29";
     src = fetchFromGitHub {
       owner = "smiteshp";
       repo = "nvim-gps";
-      rev = "00dce9bff1d0dd74782734b0d2ca6d50499af9fc";
-      sha256 = "0mgl88n7ngq6d6wgqcn5s6s4087pk102mvz8jqsj363zx6q7b80b";
+      rev = "9f2adbce23a383243458f41654c07e57dc1b7635";
+      sha256 = "1gwq7qrbcmh4nqdgl4pv83b8x5wxaks4vxgq3yryjj6n4x5b56fw";
     };
     meta.homepage = "https://github.com/smiteshp/nvim-gps/";
   };
@@ -4679,12 +4872,12 @@ final: prev:
 
   nvim-hlslens = buildVimPluginFrom2Nix {
     pname = "nvim-hlslens";
-    version = "2022-03-20";
+    version = "2022-04-03";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-hlslens";
-      rev = "22f7df73283c6f947a56fef0355f5a3ee2971152";
-      sha256 = "1qjy4n0ly5vmkpfyjanqb76jvh6qa5ldqvhgfgxk91b9l35ca95l";
+      rev = "1944094111217db8d40aac697ffc71f16136d9ec";
+      sha256 = "0f0lqldrgzi72qrafzwqk3i71v74xvsrhgrfnidnbnvd3jc7sa0b";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-hlslens/";
   };
@@ -4703,12 +4896,12 @@ final: prev:
 
   nvim-jdtls = buildVimPluginFrom2Nix {
     pname = "nvim-jdtls";
-    version = "2022-01-27";
+    version = "2022-03-25";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-jdtls";
-      rev = "e2a80d5f51c326d6623979d614dd7968ef752061";
-      sha256 = "1m8sc88g8sk41m4ml62zn7dn05q1ns8xr20c7bldqaz9rwqbhqny";
+      rev = "dd1e8dc1daac110cd86dccc159007deac856a89b";
+      sha256 = "1hzbn9v42z0m8s6fnf2r5navcshclsfpc88sasack5c1nvsvv43s";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-jdtls/";
   };
@@ -4751,36 +4944,36 @@ final: prev:
 
   nvim-lint = buildVimPluginFrom2Nix {
     pname = "nvim-lint";
-    version = "2022-03-09";
+    version = "2022-04-01";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-lint";
-      rev = "8cc31931859dc3cc187fd68509f8649599f72cba";
-      sha256 = "006d9l0p86s08vhr5jjm6gi2j27wjbk3c3vfdbq9yi3bz974hgf1";
+      rev = "4040e71c86022cf7937bef5d483156c163df8ca1";
+      sha256 = "0492x97bl0p9kn2fsb6p587m6lsbn4qgdg7k7sr7vrfi73xw4s3k";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-lint/";
   };
 
   nvim-lsp-ts-utils = buildVimPluginFrom2Nix {
     pname = "nvim-lsp-ts-utils";
-    version = "2022-03-15";
+    version = "2022-04-04";
     src = fetchFromGitHub {
       owner = "jose-elias-alvarez";
       repo = "nvim-lsp-ts-utils";
-      rev = "1d2c585cb69a91cf53f17a90d2544ed10eb03193";
-      sha256 = "07vf3xzcld2h3j6hnrrib60p2gnjkcb96h33sm8kfdvaj1578pbd";
+      rev = "1826275ee0fc7fded65e8716b231db86a17080e3";
+      sha256 = "129zjds8c69hahv307wnpdsjzfh29flsr99lkjma8dymsan96lb0";
     };
     meta.homepage = "https://github.com/jose-elias-alvarez/nvim-lsp-ts-utils/";
   };
 
   nvim-lspconfig = buildVimPluginFrom2Nix {
     pname = "nvim-lspconfig";
-    version = "2022-03-21";
+    version = "2022-03-28";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "48e59a45b6fddcaadea6e14de0fe92cc4605261f";
-      sha256 = "14x031raf0sh2s6syjmq3vqbwwj0pz1sky1f9s10cfh03sz5z54z";
+      rev = "3d1baa811b351078e5711be1a1158e33b074be9e";
+      sha256 = "0470h3vaw6zmmayfd9rzlh5myzmdc2wa5qlfmax21k0jna62zzr1";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
@@ -4799,12 +4992,12 @@ final: prev:
 
   nvim-metals = buildVimPluginFrom2Nix {
     pname = "nvim-metals";
-    version = "2022-03-20";
+    version = "2022-04-04";
     src = fetchFromGitHub {
       owner = "scalameta";
       repo = "nvim-metals";
-      rev = "3312490ef74ea149121a82fde578a13b1921cef9";
-      sha256 = "0xi13qji716kdbbq579pj7rxbjfkwjrsdp3qvfb937spwzbak2jc";
+      rev = "6da18b24f1215f05c7c7edbf460c93cefb9b5688";
+      sha256 = "1mv41ryxsx6wm909yby6z84xmhw3ibigw8zk34prhyvszz3psmvl";
     };
     meta.homepage = "https://github.com/scalameta/nvim-metals/";
   };
@@ -4859,12 +5052,12 @@ final: prev:
 
   nvim-scrollview = buildVimPluginFrom2Nix {
     pname = "nvim-scrollview";
-    version = "2022-03-15";
+    version = "2022-04-04";
     src = fetchFromGitHub {
       owner = "dstein64";
       repo = "nvim-scrollview";
-      rev = "f1cdec5869de70359c8dff06e9057b99a56a0e48";
-      sha256 = "028wvmdbj2fllkw6nr2sasxpamqpl3gmrzdn8lw2bjfzy5xf88x1";
+      rev = "0e463065dd2b213d9c6adb00c88000c1bdb5c633";
+      sha256 = "1k47r446a850bxwb70n00w5wz835jgj7sg175nldp6brq4lrd1x5";
     };
     meta.homepage = "https://github.com/dstein64/nvim-scrollview/";
   };
@@ -4883,12 +5076,12 @@ final: prev:
 
   nvim-spectre = buildVimPluginFrom2Nix {
     pname = "nvim-spectre";
-    version = "2022-02-10";
+    version = "2022-03-28";
     src = fetchFromGitHub {
       owner = "nvim-pack";
       repo = "nvim-spectre";
-      rev = "208d983e9bab4d0eb98b4642636e1b4f41c5280a";
-      sha256 = "0yq7whrlzrwiyk6xzakvrf9drrr21gy2s5318rnn9r01mp27z6in";
+      rev = "fbb03990539d5d484fe10de805772b4b86792c1a";
+      sha256 = "1iw4gnsc72r5rj7z5g3jbxqcnfzzhi9r84zpik8pfjnx8r79ncnj";
     };
     meta.homepage = "https://github.com/nvim-pack/nvim-spectre/";
   };
@@ -4907,24 +5100,24 @@ final: prev:
 
   nvim-tree-lua = buildVimPluginFrom2Nix {
     pname = "nvim-tree.lua";
-    version = "2022-03-20";
+    version = "2022-04-04";
     src = fetchFromGitHub {
       owner = "kyazdani42";
       repo = "nvim-tree.lua";
-      rev = "e87ee0e3c30368fa97085125ffe13ee37c0daf70";
-      sha256 = "0bn74v8ydr71acs204r6580fs636gh00wfk8z6wlbhp4krrwdi1n";
+      rev = "924aa290921426682f86495cf64f48fcdab3c2fd";
+      sha256 = "01wn4vfk23ciyd69drh49jz67x254dn0q6k55akqc9pxlllds4pg";
     };
     meta.homepage = "https://github.com/kyazdani42/nvim-tree.lua/";
   };
 
   nvim-treesitter = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter";
-    version = "2022-03-22";
+    version = "2022-04-05";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "3e2ac54e1638da214dab58f9edf01ad93f57261d";
-      sha256 = "04yjpb3b91j09xwmyxq0bp6zcn2lh3rb86dsp9h1s80wz1hbik7l";
+      rev = "f083b7bbfe9480df00a45ab5a0978cb2586dddf2";
+      sha256 = "0zhgkbzr2hnwy94zfg2mk9l364rcmw7z2bvhbbriywg5k7drpla8";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
@@ -4967,12 +5160,12 @@ final: prev:
 
   nvim-treesitter-textobjects = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter-textobjects";
-    version = "2022-03-02";
+    version = "2022-03-29";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-textobjects";
-      rev = "7c6b5fe0926f52854f193d058cd98d2e74c3d483";
-      sha256 = "1zrgiazmqbn6664ji9gxvn36dsmp9v11nk99yl12c7fxdjlvfpql";
+      rev = "c4b41e42dad700b23c6ea86ecb69c9deb55a8fbb";
+      sha256 = "1l8fbn1rvyifvaplmyp38sf73payy1wlglnrb5xl4dxpcfd6yvzc";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/";
   };
@@ -5003,24 +5196,24 @@ final: prev:
 
   nvim-ts-rainbow = buildVimPluginFrom2Nix {
     pname = "nvim-ts-rainbow";
-    version = "2022-03-20";
+    version = "2022-04-02";
     src = fetchFromGitHub {
       owner = "p00f";
       repo = "nvim-ts-rainbow";
-      rev = "af1a18d2577ba0be5b59bc4b32aebd2569ff085e";
-      sha256 = "1z100akjipzp3zyr7d54vbwwf53dj4f8y8qzf7fv32la142a7idq";
+      rev = "dee11b86ae2419e3f7484197c597a0e634a37a56";
+      sha256 = "1rmv8lmxx4ji4lacgws3vfaaj8df2zbc3vs6sbj9mmzmfg3q38py";
     };
     meta.homepage = "https://github.com/p00f/nvim-ts-rainbow/";
   };
 
   nvim-web-devicons = buildVimPluginFrom2Nix {
     pname = "nvim-web-devicons";
-    version = "2022-02-19";
+    version = "2022-03-22";
     src = fetchFromGitHub {
       owner = "kyazdani42";
       repo = "nvim-web-devicons";
-      rev = "4415d1aaa56f73b9c05795af84d625c610b05d3b";
-      sha256 = "1n2301a0jxf2z79bc5hp97r48vsh25hy9bfrx12my6ag839ayyyj";
+      rev = "09e62319974d7d7ec7e53b974724f7942470ef78";
+      sha256 = "0f64alh5mf6zjnbxqsx21m3dcldqshx7a7z46qg0pfbnn9fx7swq";
     };
     meta.homepage = "https://github.com/kyazdani42/nvim-web-devicons/";
   };
@@ -5063,12 +5256,12 @@ final: prev:
 
   nvimdev-nvim = buildVimPluginFrom2Nix {
     pname = "nvimdev.nvim";
-    version = "2022-03-15";
+    version = "2022-03-28";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvimdev.nvim";
-      rev = "cb0fcc1cdbe3864554a7b1ecbe706eb4de4ec680";
-      sha256 = "063fyzawn6i67cv3221s282ln5gpms3qw97blrd80l18syykj2b9";
+      rev = "ebe8f689a9867c6ce57d748a80a2157b49764f13";
+      sha256 = "0r07x8i7w9rk8n1zrdyvqr9pfjv3dihb2hy1100jl4xxc11g43an";
     };
     meta.homepage = "https://github.com/neovim/nvimdev.nvim/";
   };
@@ -5099,12 +5292,12 @@ final: prev:
 
   octo-nvim = buildVimPluginFrom2Nix {
     pname = "octo.nvim";
-    version = "2022-02-28";
+    version = "2022-04-03";
     src = fetchFromGitHub {
       owner = "pwntester";
       repo = "octo.nvim";
-      rev = "5e461b944fbf9b6207cf06102ca09fd7778854f7";
-      sha256 = "0s04m3xg98sj74fhhvdmafijmjhpa70hgcylg43yxlgdcscqbd72";
+      rev = "50d58b195ea1f1ac620d775f39c95fe524f051d1";
+      sha256 = "0cmzb6cp8n8jwzjmv3h0ikv5gn3dn3aq8kgsnmrkqlafh19692rr";
     };
     meta.homepage = "https://github.com/pwntester/octo.nvim/";
   };
@@ -5123,36 +5316,36 @@ final: prev:
 
   onedark-nvim = buildVimPluginFrom2Nix {
     pname = "onedark.nvim";
-    version = "2022-03-17";
+    version = "2022-03-23";
     src = fetchFromGitHub {
       owner = "navarasu";
       repo = "onedark.nvim";
-      rev = "77752edb0f8378a21f92b8a4dcad984177f24c7f";
-      sha256 = "0vh2aa9c9626vxxmpcfkhpfmibvzk7gv31rn65lb140mdnkrqvh8";
+      rev = "e520a0c81a5a1997ecffd846ccd9c6e63b7859c6";
+      sha256 = "1xvh5mmjc4w4rkp8h1qwxfqz3kcrqvhxnl66x19j098d1h7aqsb6";
     };
     meta.homepage = "https://github.com/navarasu/onedark.nvim/";
   };
 
   onedark-vim = buildVimPluginFrom2Nix {
     pname = "onedark.vim";
-    version = "2022-03-08";
+    version = "2022-03-24";
     src = fetchFromGitHub {
       owner = "joshdick";
       repo = "onedark.vim";
-      rev = "d472198ec6d6a0d148dd0b4cdcf1b60e845311af";
-      sha256 = "00sjcihagbdka2mcld584ba2s5g99qbbjh6wgga7n90pkqcqmlw4";
+      rev = "7db2ed5b825a311d0f6d12694d4738cf60106dc8";
+      sha256 = "0jxnymbj83y0wfwv6ixxzlx1zyh9mlv1krq5g9wqhz4w6n9rkmqx";
     };
     meta.homepage = "https://github.com/joshdick/onedark.vim/";
   };
 
   onedarkpro-nvim = buildVimPluginFrom2Nix {
     pname = "onedarkpro.nvim";
-    version = "2022-03-20";
+    version = "2022-04-04";
     src = fetchFromGitHub {
       owner = "olimorris";
       repo = "onedarkpro.nvim";
-      rev = "37dcc6e9ff9b58e352a4aa6d109a4b053f41ef11";
-      sha256 = "025p78jzc3n8c663gmzixd7ajg7fi58r84aan8fhfsrh8paygf7v";
+      rev = "86d633963bfbd6ff5448589a20a41deb8c19f90e";
+      sha256 = "0nrq65gd2arxg4r0sqh4y4ikaadlrsbgcz1zq7yfpfbb76cia26w";
     };
     meta.homepage = "https://github.com/olimorris/onedarkpro.nvim/";
   };
@@ -5195,12 +5388,12 @@ final: prev:
 
   orgmode = buildVimPluginFrom2Nix {
     pname = "orgmode";
-    version = "2022-03-10";
+    version = "2022-04-03";
     src = fetchFromGitHub {
       owner = "nvim-orgmode";
       repo = "orgmode";
-      rev = "e1f3054987ce054525258d9a3cc5837bf6e75212";
-      sha256 = "0hwsajd7lhc04da7yzx770f3bgn2jsibcg1pjhxyib1prr17mpy0";
+      rev = "8e52714a1851bb3c781a744489c31bf8fb2c4e28";
+      sha256 = "1h3rzab981y0yp7kfkjpgjlj03kf6lyxxg2wikbdbkyz1c2bbkvk";
     };
     meta.homepage = "https://github.com/nvim-orgmode/orgmode/";
   };
@@ -5219,12 +5412,12 @@ final: prev:
 
   packer-nvim = buildVimPluginFrom2Nix {
     pname = "packer.nvim";
-    version = "2022-02-25";
+    version = "2022-03-23";
     src = fetchFromGitHub {
       owner = "wbthomason";
       repo = "packer.nvim";
-      rev = "c576ab3f1488ee86d60fd340d01ade08dcabd256";
-      sha256 = "0g2h6wq2v315s1g5wh2qfvslly00iglx9sixqrq9xncrs34n4w25";
+      rev = "4dedd3b08f8c6e3f84afbce0c23b66320cd2a8f2";
+      sha256 = "09sqfak384lhqr37003bq4wm9v0hi690ilag89z6cw5c0fnsysbl";
     };
     meta.homepage = "https://github.com/wbthomason/packer.nvim/";
   };
@@ -5243,12 +5436,12 @@ final: prev:
 
   papercolor-theme = buildVimPluginFrom2Nix {
     pname = "papercolor-theme";
-    version = "2022-03-17";
+    version = "2022-03-24";
     src = fetchFromGitHub {
       owner = "NLKNguyen";
       repo = "papercolor-theme";
-      rev = "546570250026ac65c5e2a8a9533fa3a33928352d";
-      sha256 = "1naajhn9ii20dx215ksz9fw30xlyvmk0zwsp2flvnwm6jc7wzxji";
+      rev = "afde171829b1416125bf07a81fc28e4490aa91b2";
+      sha256 = "1iz8aqmwbnfha2agcxy7cd2v0znz8vzpz7iyvd15hxx7zbqlwz1d";
     };
     meta.homepage = "https://github.com/NLKNguyen/papercolor-theme/";
   };
@@ -5327,24 +5520,24 @@ final: prev:
 
   playground = buildVimPluginFrom2Nix {
     pname = "playground";
-    version = "2022-02-16";
+    version = "2022-03-30";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "playground";
-      rev = "9df82a27a49e1c14e9d7416b537517a79d675086";
-      sha256 = "1hhrcsrgcy3vqxn9gsm68r77n6z5bw4cr0r47darffan5rxykz21";
+      rev = "7dbcd4d647010a80d135804b3fc1da3fb77083d6";
+      sha256 = "0g7rqw2vm00rrbbnhc8b9hyljc7q8qc0lywg63lkj63ks9j4m8y7";
     };
     meta.homepage = "https://github.com/nvim-treesitter/playground/";
   };
 
   plenary-nvim = buildVimPluginFrom2Nix {
     pname = "plenary.nvim";
-    version = "2022-03-20";
+    version = "2022-04-03";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "plenary.nvim";
-      rev = "0d660152000a40d52158c155625865da2aa7aa1b";
-      sha256 = "0r8amnlaqxg9jpqk6v4rzlfrc8q161jy1bpy35jrk7gva76kp9hm";
+      rev = "f9c65cd76ffa76a0818923c6bce5771687dfe64c";
+      sha256 = "1kgi4q7n8m0hv6hn82bs8xhm8n34qmzcq4l8prki1127gfa2gpqj";
     };
     meta.homepage = "https://github.com/nvim-lua/plenary.nvim/";
   };
@@ -5400,28 +5593,16 @@ final: prev:
 
   presenting-vim = buildVimPluginFrom2Nix {
     pname = "presenting.vim";
-    version = "2021-06-02";
+    version = "2022-03-27";
     src = fetchFromGitHub {
       owner = "sotte";
       repo = "presenting.vim";
-      rev = "fd826318582ffccf2f79aff7bef365d68f2ca4fc";
-      sha256 = "1s2c44ngv5vpszwg0nkcghb5flzq9pby1m0l7gr7vwb9p7xl3b83";
+      rev = "e960e204d8e4526d2650c23eaea908317c6becb9";
+      sha256 = "1hpid82gdczis0g0pxvx445n2wg7j4zx66fm43zxq08kcv3k5ara";
     };
     meta.homepage = "https://github.com/sotte/presenting.vim/";
   };
 
-  PreserveNoEOL = buildVimPluginFrom2Nix {
-    pname = "PreserveNoEOL";
-    version = "2013-06-14";
-    src = fetchFromGitHub {
-      owner = "vim-scripts";
-      repo = "PreserveNoEOL";
-      rev = "940e3ce90e54d8680bec1135a21dcfbd6c9bfb62";
-      sha256 = "1726jpr2zf6jrb00pp082ikbx4mll3a877pnzs6i18f9fgpaqqgd";
-    };
-    meta.homepage = "https://github.com/vim-scripts/PreserveNoEOL/";
-  };
-
   prev_indent = buildVimPluginFrom2Nix {
     pname = "prev_indent";
     version = "2014-03-08";
@@ -5495,16 +5676,16 @@ final: prev:
     meta.homepage = "https://github.com/vim-python/python-syntax/";
   };
 
-  QFEnter = buildVimPluginFrom2Nix {
-    pname = "QFEnter";
-    version = "2020-10-09";
+  pywal-nvim = buildVimPluginFrom2Nix {
+    pname = "pywal.nvim";
+    version = "2022-02-20";
     src = fetchFromGitHub {
-      owner = "yssl";
-      repo = "QFEnter";
-      rev = "df0a75b287c210f98ae353a12bbfdaf73d858beb";
-      sha256 = "0gdp7nmjlp8ng2rp2v66d8bincnkwrqqpbggb079f0f9szrqlp54";
+      owner = "AlphaTechnolog";
+      repo = "pywal.nvim";
+      rev = "bd58195939d31dd0f15a720fba2956e91598cefe";
+      sha256 = "10fs5assp96rvlcxckd8cwnkfwfckjmf0j8cqq91vb2wx8knxc8g";
     };
-    meta.homepage = "https://github.com/yssl/QFEnter/";
+    meta.homepage = "https://github.com/AlphaTechnolog/pywal.nvim/";
   };
 
   quick-scope = buildVimPluginFrom2Nix {
@@ -5627,26 +5808,14 @@ final: prev:
     meta.homepage = "https://github.com/ryvnf/readline.vim/";
   };
 
-  Recover-vim = buildVimPluginFrom2Nix {
-    pname = "Recover.vim";
-    version = "2015-08-14";
-    src = fetchFromGitHub {
-      owner = "chrisbra";
-      repo = "Recover.vim";
-      rev = "efa491f6121f65e025f42d79a93081abb8db69d4";
-      sha256 = "17szim82bwnhf9q4n0n4jfmqkmhq6p0lh0j4y77a2x6lkn0pns5s";
-    };
-    meta.homepage = "https://github.com/chrisbra/Recover.vim/";
-  };
-
   refactoring-nvim = buildVimPluginFrom2Nix {
     pname = "refactoring.nvim";
-    version = "2022-03-21";
+    version = "2022-03-23";
     src = fetchFromGitHub {
       owner = "theprimeagen";
       repo = "refactoring.nvim";
-      rev = "8d1e1488f78306facb98f1eeb518b8ed7843c9b5";
-      sha256 = "1lx3hl3lvz92isa07cczmivnc9ffpwim6yayl6l8msrc0ycqsaa2";
+      rev = "93967110eb45d7234802c0c0e2ef909968e8461e";
+      sha256 = "1mphqq650d3x0g2nl4pkgflp3hsi68agzj807r64x82p3266abzs";
     };
     meta.homepage = "https://github.com/theprimeagen/refactoring.nvim/";
   };
@@ -5663,18 +5832,6 @@ final: prev:
     meta.homepage = "https://github.com/tversteeg/registers.nvim/";
   };
 
-  Rename = buildVimPluginFrom2Nix {
-    pname = "Rename";
-    version = "2011-08-31";
-    src = fetchFromGitHub {
-      owner = "vim-scripts";
-      repo = "Rename";
-      rev = "b240f28d2ede65fa77cd99fe045efe79202f7a34";
-      sha256 = "1d1myg4zyc281zcc1ba9idbgcgxndb4a0jwqr4yqxhhzdgszw46r";
-    };
-    meta.homepage = "https://github.com/vim-scripts/Rename/";
-  };
-
   renamer-nvim = buildVimPluginFrom2Nix {
     pname = "renamer.nvim";
     version = "2022-01-15";
@@ -5687,18 +5844,6 @@ final: prev:
     meta.homepage = "https://github.com/filipdutescu/renamer.nvim/";
   };
 
-  ReplaceWithRegister = buildVimPluginFrom2Nix {
-    pname = "ReplaceWithRegister";
-    version = "2014-10-31";
-    src = fetchFromGitHub {
-      owner = "vim-scripts";
-      repo = "ReplaceWithRegister";
-      rev = "832efc23111d19591d495dc72286de2fb0b09345";
-      sha256 = "0mb0sx85j1k59b1zz95r4vkq4kxlb4krhncq70mq7fxrs5bnhq8g";
-    };
-    meta.homepage = "https://github.com/vim-scripts/ReplaceWithRegister/";
-  };
-
   rest-nvim = buildVimPluginFrom2Nix {
     pname = "rest.nvim";
     version = "2022-01-26";
@@ -5785,12 +5930,12 @@ final: prev:
 
   rust-tools-nvim = buildVimPluginFrom2Nix {
     pname = "rust-tools.nvim";
-    version = "2022-03-17";
+    version = "2022-03-26";
     src = fetchFromGitHub {
       owner = "simrat39";
       repo = "rust-tools.nvim";
-      rev = "ad22bd03cefac7d6a483f092a36499e9cce6dad5";
-      sha256 = "1d2zkr5r6c7zy4x516ckp57dri3hplmdrzgdq02k0xsvmwispjl0";
+      rev = "9f89fe6d9762ef89973bbb698c750dd21b94ec44";
+      sha256 = "0r1k71rjlcly5pyi1vdzr22xdssikzsm5q4g2xzjp9v497fycg1h";
     };
     meta.homepage = "https://github.com/simrat39/rust-tools.nvim/";
   };
@@ -5823,24 +5968,12 @@ final: prev:
     pname = "salt-vim";
     version = "2017-07-01";
     src = fetchFromGitHub {
-      owner = "saltstack";
+      owner = "vmware-archive";
       repo = "salt-vim";
       rev = "6ca9e3500cc39dd417b411435d58a1b720b331cc";
       sha256 = "0r79bpl98xcsmkw6dg83cf1ghn89rzsr011zirk3v1wfxclri2c4";
     };
-    meta.homepage = "https://github.com/saltstack/salt-vim/";
-  };
-
-  SchemaStore-nvim = buildVimPluginFrom2Nix {
-    pname = "SchemaStore.nvim";
-    version = "2022-03-20";
-    src = fetchFromGitHub {
-      owner = "b0o";
-      repo = "SchemaStore.nvim";
-      rev = "0a3f765335acde2bdf33504a62fe944a5d6d907e";
-      sha256 = "1dzbwfic9li5bsc33k6y14avniqbp6hhgkpznwriy8d0pww6p11v";
-    };
-    meta.homepage = "https://github.com/b0o/SchemaStore.nvim/";
+    meta.homepage = "https://github.com/vmware-archive/salt-vim/";
   };
 
   scrollbar-nvim = buildVimPluginFrom2Nix {
@@ -5927,30 +6060,6 @@ final: prev:
     meta.homepage = "https://github.com/osyo-manga/shabadou.vim/";
   };
 
-  Shade-nvim = buildVimPluginFrom2Nix {
-    pname = "Shade.nvim";
-    version = "2022-02-01";
-    src = fetchFromGitHub {
-      owner = "sunjon";
-      repo = "Shade.nvim";
-      rev = "4286b5abc47d62d0c9ffb22a4f388b7bf2ac2461";
-      sha256 = "0mb0cnf8065qmjq85hlgb4a1mqk1nwl7966l1imb54hpzw828rzl";
-    };
-    meta.homepage = "https://github.com/sunjon/Shade.nvim/";
-  };
-
-  ShowMultiBase = buildVimPluginFrom2Nix {
-    pname = "ShowMultiBase";
-    version = "2010-10-18";
-    src = fetchFromGitHub {
-      owner = "vim-scripts";
-      repo = "ShowMultiBase";
-      rev = "85a39fd12668ce973d3d9282263912b2b8f0d338";
-      sha256 = "0hg5352ahzgh2kwqha5v8ai024fld93xag93hb53wjf5b8nzsz8i";
-    };
-    meta.homepage = "https://github.com/vim-scripts/ShowMultiBase/";
-  };
-
   sideways-vim = buildVimPluginFrom2Nix {
     pname = "sideways.vim";
     version = "2022-02-12";
@@ -5964,18 +6073,6 @@ final: prev:
     meta.homepage = "https://github.com/AndrewRadev/sideways.vim/";
   };
 
-  SimpylFold = buildVimPluginFrom2Nix {
-    pname = "SimpylFold";
-    version = "2021-11-04";
-    src = fetchFromGitHub {
-      owner = "tmhedberg";
-      repo = "SimpylFold";
-      rev = "b4a87e509c3d873238a39d1c85d0b97d6819f283";
-      sha256 = "0ff5x7ay67wn9c0mi8sb6110i93zrf97c4whg0bd7pr2nmadpvk0";
-    };
-    meta.homepage = "https://github.com/tmhedberg/SimpylFold/";
-  };
-
   skim-vim = buildVimPluginFrom2Nix {
     pname = "skim.vim";
     version = "2020-11-11";
@@ -6002,12 +6099,12 @@ final: prev:
 
   slimv = buildVimPluginFrom2Nix {
     pname = "slimv";
-    version = "2022-02-11";
+    version = "2022-04-03";
     src = fetchFromGitHub {
       owner = "kovisoft";
       repo = "slimv";
-      rev = "1b88c3a67948b446720883ed8eadb8c2b83a21ef";
-      sha256 = "0m0kkc75ifg7lvk8p3vgq5iy8hr254ywj7hhjgxwzm2zbrwkr04s";
+      rev = "eb5856c616466b0f463e27a30965ea142003a552";
+      sha256 = "1c4hprzqzxkf0yqkqc8261qr7xk817nm28cp38dw4z1rmjcg1l04";
     };
     meta.homepage = "https://github.com/kovisoft/slimv/";
   };
@@ -6050,12 +6147,12 @@ final: prev:
 
   sonokai = buildVimPluginFrom2Nix {
     pname = "sonokai";
-    version = "2022-03-21";
+    version = "2022-04-04";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "sonokai";
-      rev = "774ccdb95a04539530be34fa17a34c0f64139aca";
-      sha256 = "1myz05j6i7h0yyffbip6a2gpfb61y35w48aa1wlh8i3m9bhy7g4a";
+      rev = "444e40de8dac0afb3654b860d4d005cb34547840";
+      sha256 = "10jnvax4fmvmgham3s632j7v7f3cbz96yxciscx9rrsfgcrlm9d4";
     };
     meta.homepage = "https://github.com/sainnhe/sonokai/";
   };
@@ -6084,30 +6181,6 @@ final: prev:
     meta.homepage = "https://github.com/liuchengxu/space-vim/";
   };
 
-  SpaceCamp = buildVimPluginFrom2Nix {
-    pname = "SpaceCamp";
-    version = "2021-04-07";
-    src = fetchFromGitHub {
-      owner = "jaredgorski";
-      repo = "SpaceCamp";
-      rev = "376af5c2204de61726ea86b596acb2dab9795e1f";
-      sha256 = "0h3wxkswd5z9y46d6272sr210i73j5pwf5faw7qhr1plilfgx4gb";
-    };
-    meta.homepage = "https://github.com/jaredgorski/SpaceCamp/";
-  };
-
-  Spacegray-vim = buildVimPluginFrom2Nix {
-    pname = "Spacegray.vim";
-    version = "2021-07-06";
-    src = fetchFromGitHub {
-      owner = "ackyshake";
-      repo = "Spacegray.vim";
-      rev = "c699ca10ed421c462bd1c87a158faaa570dc8e28";
-      sha256 = "0ma8w6p5jh6llka49x5j5ql8fmhv0bx5hhsn5b2phak79yqg1k61";
-    };
-    meta.homepage = "https://github.com/ackyshake/Spacegray.vim/";
-  };
-
   spacevim = buildVimPluginFrom2Nix {
     pname = "spacevim";
     version = "2018-03-29";
@@ -6120,18 +6193,6 @@ final: prev:
     meta.homepage = "https://github.com/ctjhoa/spacevim/";
   };
 
-  SpaceVim = buildVimPluginFrom2Nix {
-    pname = "SpaceVim";
-    version = "2022-03-22";
-    src = fetchFromGitHub {
-      owner = "SpaceVim";
-      repo = "SpaceVim";
-      rev = "3af5db3e15916d28d0fed9eab478da07b4bc4937";
-      sha256 = "1zjcd2pmbn42ss74qbmvz3kar6yn3bz1f1bc4v0r7y2ajrp2m4wy";
-    };
-    meta.homepage = "https://github.com/SpaceVim/SpaceVim/";
-  };
-
   sparkup = buildVimPluginFrom2Nix {
     pname = "sparkup";
     version = "2012-06-11";
@@ -6182,12 +6243,12 @@ final: prev:
 
   splitjoin-vim = buildVimPluginFrom2Nix {
     pname = "splitjoin.vim";
-    version = "2022-03-21";
+    version = "2022-04-03";
     src = fetchFromGitHub {
       owner = "AndrewRadev";
       repo = "splitjoin.vim";
-      rev = "c32b18751a81715e3c13cff22fea9fb5ce31ef35";
-      sha256 = "12kp185ndag507b7l4qvhr369zyikwgh0wyi9lrjyr2ar5impjqc";
+      rev = "dbcd3069fb2b4ecfdd964c1e93aa59fcf7f850b6";
+      sha256 = "1rgc9cbfpjnk8pf7wh9pyyljckbn1i88z5bggyn15q3lfhskvidc";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/AndrewRadev/splitjoin.vim/";
@@ -6277,18 +6338,6 @@ final: prev:
     meta.homepage = "https://github.com/lambdalisue/suda.vim/";
   };
 
-  SudoEdit-vim = buildVimPluginFrom2Nix {
-    pname = "SudoEdit.vim";
-    version = "2020-02-27";
-    src = fetchFromGitHub {
-      owner = "chrisbra";
-      repo = "SudoEdit.vim";
-      rev = "e203eada5b563e9134ce2aae26b09edae0904fd7";
-      sha256 = "0pf9iix50pw3p430ky51rv11ra1hppdpwa5flzcd5kciybr76n0n";
-    };
-    meta.homepage = "https://github.com/chrisbra/SudoEdit.vim/";
-  };
-
   supertab = buildVimPluginFrom2Nix {
     pname = "supertab";
     version = "2021-04-30";
@@ -6461,12 +6510,12 @@ final: prev:
 
   tagbar = buildVimPluginFrom2Nix {
     pname = "tagbar";
-    version = "2022-03-15";
+    version = "2022-03-28";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "tagbar";
-      rev = "69659cfc9d081caf31c8d548dd4c19593839317b";
-      sha256 = "1wdrn0zvqhz7pd0rgl5z3zri3sy4hb947nmw9imvwi62mpdhsh7d";
+      rev = "2137c1437012afc82b5d50404b1404aec8699f7b";
+      sha256 = "099000mv3d2l7aidvrwgfrks48xa5xv38fvqrs6svabqg20k2wwk";
     };
     meta.homepage = "https://github.com/preservim/tagbar/";
   };
@@ -6545,12 +6594,12 @@ final: prev:
 
   telescope-coc-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-coc.nvim";
-    version = "2022-02-21";
+    version = "2022-04-03";
     src = fetchFromGitHub {
       owner = "fannheyward";
       repo = "telescope-coc.nvim";
-      rev = "33a8785dc0d0a5fdd243875eba48bfec95e2cebc";
-      sha256 = "1zf4x7jwy0p52nq2yhzap9bi8kc4npbdvxs6gbwy9kd1ddidfrkb";
+      rev = "9748123aafbe915f34ddcfe583fc868f301f51ba";
+      sha256 = "0kvwp5bpqw5vygacrq9cdr3237w7fmj3sqx1vk12sxbx85cdcvz9";
     };
     meta.homepage = "https://github.com/fannheyward/telescope-coc.nvim/";
   };
@@ -6569,12 +6618,12 @@ final: prev:
 
   telescope-file-browser-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-file-browser.nvim";
-    version = "2022-03-09";
+    version = "2022-03-25";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-file-browser.nvim";
-      rev = "84efd93ec772696c1cce2aada4d39f2756953964";
-      sha256 = "1n23d24nr9q857pgmzkcl6v49c1gs4bqabfdwjik18nxkjxq2zhk";
+      rev = "c6f5104ff309649ebbaec283bbd1ab54511dd109";
+      sha256 = "1b3z4i5jlxjk44x245b5sqnzcn5k1jww8viy0394hj6zqf7ink2w";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-file-browser.nvim/";
   };
@@ -6676,6 +6725,18 @@ final: prev:
     meta.homepage = "https://github.com/nvim-telescope/telescope-symbols.nvim/";
   };
 
+  telescope-ui-select-nvim = buildVimPluginFrom2Nix {
+    pname = "telescope-ui-select.nvim";
+    version = "2022-03-20";
+    src = fetchFromGitHub {
+      owner = "nvim-telescope";
+      repo = "telescope-ui-select.nvim";
+      rev = "186a124a01d7f19e6fcf608d4e1cc61d61ebe939";
+      sha256 = "1lx11d4m0gcbvbb3bvxaciihnlsj1gi30ja1p0i9w7dm748d57zb";
+    };
+    meta.homepage = "https://github.com/nvim-telescope/telescope-ui-select.nvim/";
+  };
+
   telescope-ultisnips-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-ultisnips.nvim";
     version = "2021-09-26";
@@ -6726,12 +6787,12 @@ final: prev:
 
   telescope-nvim = buildVimPluginFrom2Nix {
     pname = "telescope.nvim";
-    version = "2022-03-20";
+    version = "2022-04-03";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "1a72a92b641e1dab42036c07e2571b43c55bfaa1";
-      sha256 = "1iywxpdy03z1wna8ms1nh1xak1ajya3q8mnlzpfr1vdxp64idy22";
+      rev = "6e7ee3829225d5c97c1ebfff686050142ffe5867";
+      sha256 = "0qlv63jll4ja4x2njxvz1h9mlh92akzif06qy8gr7f61gfvfaaca";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
@@ -6907,12 +6968,12 @@ final: prev:
 
   toggleterm-nvim = buildVimPluginFrom2Nix {
     pname = "toggleterm.nvim";
-    version = "2022-02-28";
+    version = "2022-04-02";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "toggleterm.nvim";
-      rev = "e97d0c1046512e975a9f3fa95afe98f312752b1c";
-      sha256 = "00j1q6g7js9ais6s1vi18x165k1zrx988zbp0yr1gcd5n2xnknbi";
+      rev = "5733b24c684d202f978ccedca4a8c7571889bf28";
+      sha256 = "00z21wvgjks5mqrqja1kc1wnwxpjyy2fl3sn8f16692hz2wcavrd";
     };
     meta.homepage = "https://github.com/akinsho/toggleterm.nvim/";
   };
@@ -6977,18 +7038,6 @@ final: prev:
     meta.homepage = "https://github.com/folke/trouble.nvim/";
   };
 
-  TrueZen-nvim = buildVimPluginFrom2Nix {
-    pname = "TrueZen.nvim";
-    version = "2021-10-12";
-    src = fetchFromGitHub {
-      owner = "Pocco81";
-      repo = "TrueZen.nvim";
-      rev = "508b977d71650da5c9243698614a9a1416f116d4";
-      sha256 = "0sr4y1mg83l28l5ias2pv0gxkcgwailfjn2skx35z63f2il3zkbx";
-    };
-    meta.homepage = "https://github.com/Pocco81/TrueZen.nvim/";
-  };
-
   tslime-vim = buildVimPluginFrom2Nix {
     pname = "tslime.vim";
     version = "2020-09-09";
@@ -7027,12 +7076,12 @@ final: prev:
 
   typescript-vim = buildVimPluginFrom2Nix {
     pname = "typescript-vim";
-    version = "2020-12-08";
+    version = "2022-03-22";
     src = fetchFromGitHub {
       owner = "leafgarland";
       repo = "typescript-vim";
-      rev = "67e81e4292186889a1a519e1bf3a600d671237eb";
-      sha256 = "1mpp4n7qgz3yq4vka8h5sbngc14w5bzd9s9c2csbv9ds8w0lpi0g";
+      rev = "52f3ca3474d51f5021696ffb7297d989e49121ac";
+      sha256 = "12qcp82jkaa6nmdb0s4an29bfp9mzkkkxz2sfhm93x5506g8gk4l";
     };
     meta.homepage = "https://github.com/leafgarland/typescript-vim/";
   };
@@ -7085,6 +7134,18 @@ final: prev:
     meta.homepage = "https://github.com/Shougo/unite.vim/";
   };
 
+  urlview-nvim = buildVimPluginFrom2Nix {
+    pname = "urlview.nvim";
+    version = "2022-04-03";
+    src = fetchFromGitHub {
+      owner = "axieax";
+      repo = "urlview.nvim";
+      rev = "8815c06145f36dce7734ba4b95eb50c3e24074c4";
+      sha256 = "1n46x1v2rw70ad6b6z04ik9rjvpkl8bbw62l8wfn7lkzdjgwi50d";
+    };
+    meta.homepage = "https://github.com/axieax/urlview.nvim/";
+  };
+
   utl-vim = buildVimPluginFrom2Nix {
     pname = "utl.vim";
     version = "2010-10-18";
@@ -7097,18 +7158,6 @@ final: prev:
     meta.homepage = "https://github.com/vim-scripts/utl.vim/";
   };
 
-  vader-vim = buildVimPluginFrom2Nix {
-    pname = "vader.vim";
-    version = "2020-02-13";
-    src = fetchFromGitHub {
-      owner = "junegunn";
-      repo = "vader.vim";
-      rev = "6fff477431ac3191c69a3a5e5f187925466e275a";
-      sha256 = "153cr1mrf5w5lyr8374brwx1z5yl9h0cnijxnd3xikh3yi3pbmwk";
-    };
-    meta.homepage = "https://github.com/junegunn/vader.vim/";
-  };
-
   vCoolor-vim = buildVimPluginFrom2Nix {
     pname = "vCoolor.vim";
     version = "2020-10-14";
@@ -7121,6 +7170,18 @@ final: prev:
     meta.homepage = "https://github.com/KabbAmine/vCoolor.vim/";
   };
 
+  vader-vim = buildVimPluginFrom2Nix {
+    pname = "vader.vim";
+    version = "2020-02-13";
+    src = fetchFromGitHub {
+      owner = "junegunn";
+      repo = "vader.vim";
+      rev = "6fff477431ac3191c69a3a5e5f187925466e275a";
+      sha256 = "153cr1mrf5w5lyr8374brwx1z5yl9h0cnijxnd3xikh3yi3pbmwk";
+    };
+    meta.homepage = "https://github.com/junegunn/vader.vim/";
+  };
+
   venn-nvim = buildVimPluginFrom2Nix {
     pname = "venn.nvim";
     version = "2021-10-19";
@@ -7147,16 +7208,88 @@ final: prev:
 
   vifm-vim = buildVimPluginFrom2Nix {
     pname = "vifm.vim";
-    version = "2022-03-07";
+    version = "2022-03-28";
     src = fetchFromGitHub {
       owner = "vifm";
       repo = "vifm.vim";
-      rev = "b7da086d9f370b65ffeec6af76c8a37cf5e43336";
-      sha256 = "1ln0icwhmcrzkmn0ln75xn1inik5hyn6938i479128ysznplz8fm";
+      rev = "069349e5dbba9fbb24b88ebedb89f728387fae79";
+      sha256 = "1rrzhg8qpvgvcm9fkr05hmkw95gn37pys0h0d6rii6qhbx9z95vs";
     };
     meta.homepage = "https://github.com/vifm/vifm.vim/";
   };
 
+  vim-CtrlXA = buildVimPluginFrom2Nix {
+    pname = "vim-CtrlXA";
+    version = "2021-08-09";
+    src = fetchFromGitHub {
+      owner = "Konfekt";
+      repo = "vim-CtrlXA";
+      rev = "404ea1e055921db5679b3734108d72850d6faa76";
+      sha256 = "10bgyqnwcqly3sxl27np1b690hnj1snqbcvg8pzh4zgdysfgy9xg";
+    };
+    meta.homepage = "https://github.com/Konfekt/vim-CtrlXA/";
+  };
+
+  vim-DetectSpellLang = buildVimPluginFrom2Nix {
+    pname = "vim-DetectSpellLang";
+    version = "2022-03-15";
+    src = fetchFromGitHub {
+      owner = "konfekt";
+      repo = "vim-DetectSpellLang";
+      rev = "d5b55e3307e72e45f8d736818c76884016583538";
+      sha256 = "0l9bdgqaxfpndpf4v5kxn34zx5pnhf62chp4flzyyhhzlz52dqjw";
+    };
+    meta.homepage = "https://github.com/konfekt/vim-DetectSpellLang/";
+  };
+
+  vim-LanguageTool = buildVimPluginFrom2Nix {
+    pname = "vim-LanguageTool";
+    version = "2021-02-08";
+    src = fetchFromGitHub {
+      owner = "dpelle";
+      repo = "vim-LanguageTool";
+      rev = "0372ffae78aa3eac3bfa48ba3bf2f4015a86385a";
+      sha256 = "00476l49lczj1rw5gb6vs7s9r0zi1khw0g1v6bsfwl5r32699l7r";
+    };
+    meta.homepage = "https://github.com/dpelle/vim-LanguageTool/";
+  };
+
+  vim-ReplaceWithRegister = buildVimPluginFrom2Nix {
+    pname = "vim-ReplaceWithRegister";
+    version = "2021-07-05";
+    src = fetchFromGitHub {
+      owner = "inkarkat";
+      repo = "vim-ReplaceWithRegister";
+      rev = "aad1e8fa31cb4722f20fe40679caa56e25120032";
+      sha256 = "1cfgixq5smwbp55x2baaj1kw736w2mykysppphair44vb4w9rlgm";
+    };
+    meta.homepage = "https://github.com/inkarkat/vim-ReplaceWithRegister/";
+  };
+
+  vim-ReplaceWithSameIndentRegister = buildVimPluginFrom2Nix {
+    pname = "vim-ReplaceWithSameIndentRegister";
+    version = "2020-06-17";
+    src = fetchFromGitHub {
+      owner = "inkarkat";
+      repo = "vim-ReplaceWithSameIndentRegister";
+      rev = "0b7f542560bd21822a004e8accdf472eb477c9cf";
+      sha256 = "04zvhqh9rjfiwfk8r0zci608pw09svqb42nvp8pvqb11xp2ydg2y";
+    };
+    meta.homepage = "https://github.com/inkarkat/vim-ReplaceWithSameIndentRegister/";
+  };
+
+  vim-SyntaxRange = buildVimPluginFrom2Nix {
+    pname = "vim-SyntaxRange";
+    version = "2021-01-16";
+    src = fetchFromGitHub {
+      owner = "inkarkat";
+      repo = "vim-SyntaxRange";
+      rev = "3a7fd9ff50fabafe61df12522ed2f275c8e2f45e";
+      sha256 = "1b5xyacbn87z8wkacjpnjk82xmxzivlb111427kwb5kxxdh4w7gq";
+    };
+    meta.homepage = "https://github.com/inkarkat/vim-SyntaxRange/";
+  };
+
   vim-abolish = buildVimPluginFrom2Nix {
     pname = "vim-abolish";
     version = "2021-03-20";
@@ -7411,12 +7544,12 @@ final: prev:
 
   vim-airline = buildVimPluginFrom2Nix {
     pname = "vim-airline";
-    version = "2022-02-28";
+    version = "2022-03-30";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "e2498d72dcc123115ed1d0fe1449beba6dadecc2";
-      sha256 = "0zr7ldn3kwx45qyi27bzbgy63va7hwvp9n2awrvgd3zsk1nq9kbq";
+      rev = "dc65eea5d9225758d4556278b3d808baa6ab4d0e";
+      sha256 = "1mkfssssgsaqx770rarpgryp4zimfq7ljv14jzmb2bqx9iyqz5xb";
     };
     meta.homepage = "https://github.com/vim-airline/vim-airline/";
   };
@@ -7711,12 +7844,12 @@ final: prev:
 
   vim-bufkill = buildVimPluginFrom2Nix {
     pname = "vim-bufkill";
-    version = "2020-08-04";
+    version = "2022-04-05";
     src = fetchFromGitHub {
       owner = "qpkorr";
       repo = "vim-bufkill";
-      rev = "2bd6d7e791668ea52bb26be2639406fcf617271f";
-      sha256 = "1cvma03bg9psil67kg1x90lny7a31ljz5shybcl1jrfpzsybcqvg";
+      rev = "ba6253de82f982722ef7eaee6751d788aefd568a";
+      sha256 = "187pj4dw78xd3wlpf24nll89kggk4q38gi51dnq95qywfk4w2k5h";
     };
     meta.homepage = "https://github.com/qpkorr/vim-bufkill/";
   };
@@ -7783,12 +7916,12 @@ final: prev:
 
   vim-clap = buildVimPluginFrom2Nix {
     pname = "vim-clap";
-    version = "2022-03-18";
+    version = "2022-03-25";
     src = fetchFromGitHub {
       owner = "liuchengxu";
       repo = "vim-clap";
-      rev = "d2a5259c6ec617688b918a39d9fb4548f6886e5c";
-      sha256 = "1qzjzvkw44wylnk0sa4w2kzjb44w18cls4hjaglkbri9k7za8rr9";
+      rev = "6fd4fecaf8b1da31c625e5f02822778d4a2a08b5";
+      sha256 = "0h9z49r20wyqwvj4dr5grq0zdaz2d728jxc29l5q3rb1nh9nqbfi";
     };
     meta.homepage = "https://github.com/liuchengxu/vim-clap/";
   };
@@ -7927,12 +8060,12 @@ final: prev:
 
   vim-commentary = buildVimPluginFrom2Nix {
     pname = "vim-commentary";
-    version = "2021-09-14";
+    version = "2022-03-27";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-commentary";
-      rev = "627308e30639be3e2d5402808ce18690557e8292";
-      sha256 = "0d056h2vh3bzc3mcijq90y5c7rvg01zzxyfc826h4f79y1fz8jnp";
+      rev = "3654775824337f466109f00eaf6759760f65be34";
+      sha256 = "09iv58r0z3dv5fd6g8zq542rc5hz81gd5h0ncnvhx9drrl6f86ip";
     };
     meta.homepage = "https://github.com/tpope/vim-commentary/";
   };
@@ -7951,12 +8084,12 @@ final: prev:
 
   vim-cool = buildVimPluginFrom2Nix {
     pname = "vim-cool";
-    version = "2020-04-18";
+    version = "2022-03-30";
     src = fetchFromGitHub {
       owner = "romainl";
       repo = "vim-cool";
-      rev = "27ad4ecf7532b750fadca9f36e1c5498fc225af2";
-      sha256 = "1in44gf7hs978nc9328zh1kj3jh04kcinw0m8spcbgj079782sg8";
+      rev = "0ad6a212a910cef0aac7af244ee008ddd39a75c2";
+      sha256 = "1jv3nl6vdn562zhd387yggwflncmy7vf89md5kkacmkvjz8rkis5";
     };
     meta.homepage = "https://github.com/romainl/vim-cool/";
   };
@@ -8009,18 +8142,6 @@ final: prev:
     meta.homepage = "https://github.com/ap/vim-css-color/";
   };
 
-  vim-CtrlXA = buildVimPluginFrom2Nix {
-    pname = "vim-CtrlXA";
-    version = "2021-08-09";
-    src = fetchFromGitHub {
-      owner = "Konfekt";
-      repo = "vim-CtrlXA";
-      rev = "404ea1e055921db5679b3734108d72850d6faa76";
-      sha256 = "10bgyqnwcqly3sxl27np1b690hnj1snqbcvg8pzh4zgdysfgy9xg";
-    };
-    meta.homepage = "https://github.com/Konfekt/vim-CtrlXA/";
-  };
-
   vim-cue = buildVimPluginFrom2Nix {
     pname = "vim-cue";
     version = "2021-06-18";
@@ -8059,12 +8180,12 @@ final: prev:
 
   vim-dadbod = buildVimPluginFrom2Nix {
     pname = "vim-dadbod";
-    version = "2022-03-06";
+    version = "2022-03-26";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-dadbod";
-      rev = "23514a579ce6df28fd956070d9e2ac1051855115";
-      sha256 = "0pabwgszd6s03y1mykxxvipn4cwkzch4jgb18iqcnpbpgbsyghl6";
+      rev = "d6b9957a1e13f34fb66795fad729c611b2513922";
+      sha256 = "14a0mbhcw10400g6ybj6h8nq5bis9hba76qvjx5mph7vbb3rhjwn";
     };
     meta.homepage = "https://github.com/tpope/vim-dadbod/";
   };
@@ -8105,18 +8226,6 @@ final: prev:
     meta.homepage = "https://github.com/sunaku/vim-dasht/";
   };
 
-  vim-DetectSpellLang = buildVimPluginFrom2Nix {
-    pname = "vim-DetectSpellLang";
-    version = "2022-03-15";
-    src = fetchFromGitHub {
-      owner = "konfekt";
-      repo = "vim-DetectSpellLang";
-      rev = "d5b55e3307e72e45f8d736818c76884016583538";
-      sha256 = "0l9bdgqaxfpndpf4v5kxn34zx5pnhf62chp4flzyyhhzlz52dqjw";
-    };
-    meta.homepage = "https://github.com/konfekt/vim-DetectSpellLang/";
-  };
-
   vim-deus = buildVimPluginFrom2Nix {
     pname = "vim-deus";
     version = "2021-03-28";
@@ -8167,12 +8276,12 @@ final: prev:
 
   vim-dirvish = buildVimPluginFrom2Nix {
     pname = "vim-dirvish";
-    version = "2022-03-18";
+    version = "2022-03-27";
     src = fetchFromGitHub {
       owner = "justinmk";
       repo = "vim-dirvish";
-      rev = "d811f46ea3f84c4a8419ad30c74267249b3aadc6";
-      sha256 = "02rp0x4v77qzdhicfzysl25lb83146jggdqdqmsfqrlf3x1ivdgs";
+      rev = "9dde0c97cc39ca1cf49cbe7ecd350d153a0426c3";
+      sha256 = "0ba2lsc2jwgplgqsnq69dngiybcs4ad0il19xlk250msxpr5l8xq";
     };
     meta.homepage = "https://github.com/justinmk/vim-dirvish/";
   };
@@ -8225,18 +8334,6 @@ final: prev:
     meta.homepage = "https://github.com/jhradilek/vim-docbk/";
   };
 
-  vim-docbk-snippets = buildVimPluginFrom2Nix {
-    pname = "vim-docbk-snippets";
-    version = "2021-07-30";
-    src = fetchFromGitHub {
-      owner = "jhradilek";
-      repo = "vim-snippets";
-      rev = "81a8dcb66886a0717e9ca73c8857ee90c3989063";
-      sha256 = "0d6532qx66aiawpq2fdji0mnmvnlg5dnbvds5s4pgzafydikpr70";
-    };
-    meta.homepage = "https://github.com/jhradilek/vim-snippets/";
-  };
-
   vim-easy-align = buildVimPluginFrom2Nix {
     pname = "vim-easy-align";
     version = "2019-04-29";
@@ -8275,12 +8372,12 @@ final: prev:
 
   vim-easymotion = buildVimPluginFrom2Nix {
     pname = "vim-easymotion";
-    version = "2020-12-17";
+    version = "2022-04-04";
     src = fetchFromGitHub {
       owner = "easymotion";
       repo = "vim-easymotion";
-      rev = "d75d9591e415652b25d9e0a3669355550325263d";
-      sha256 = "1j2kgh1iri0fqkbgbgvfjqgsksfipnmr1xbj554i602pnm0hbg19";
+      rev = "b3cfab2a6302b3b39f53d9fd2cd997e1127d7878";
+      sha256 = "1h30ak0ir5320asd5p7a9bqiv5whakv3022b3rakgnsjg503nxz1";
     };
     meta.homepage = "https://github.com/easymotion/vim-easymotion/";
   };
@@ -8311,12 +8408,12 @@ final: prev:
 
   vim-elixir = buildVimPluginFrom2Nix {
     pname = "vim-elixir";
-    version = "2022-01-26";
+    version = "2022-03-29";
     src = fetchFromGitHub {
       owner = "elixir-editors";
       repo = "vim-elixir";
-      rev = "ff7a1223dfc5386c41bb582039a90a262d488607";
-      sha256 = "0a82c6vmdjfq1cjiakdxd9mz0ivqivrjcrppqpwch9rzp98qspag";
+      rev = "edf880c41ec1768faafc480433ae72ceffaf4362";
+      sha256 = "14jgwgwynynlipvmr02i9h4q2mc459fz4jyflcngvpyc9ady9ald";
     };
     meta.homepage = "https://github.com/elixir-editors/vim-elixir/";
   };
@@ -8347,12 +8444,12 @@ final: prev:
 
   vim-endwise = buildVimPluginFrom2Nix {
     pname = "vim-endwise";
-    version = "2022-03-20";
+    version = "2022-03-29";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-endwise";
-      rev = "e5ba8b12a87895626ef65d6509ce719bc7e062c3";
-      sha256 = "1g0w9mpg45c57khhqxlj58frfkshz99f0kgssawwa8sy4n25w2qj";
+      rev = "720b3ee46a86fe8858baeed473e11bca54b997a9";
+      sha256 = "1rql1zbzi1ffj0bdw4qkm1rbb5zscxqaml0rx0rh4y3zr7ny7vny";
     };
     meta.homepage = "https://github.com/tpope/vim-endwise/";
   };
@@ -8407,12 +8504,12 @@ final: prev:
 
   vim-eunuch = buildVimPluginFrom2Nix {
     pname = "vim-eunuch";
-    version = "2022-01-13";
+    version = "2022-03-31";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-eunuch";
-      rev = "e2c9e01abd2734919e65dd6fe6c84ca2a9b65a7d";
-      sha256 = "02ilz95fmp2j9azpxia38hka2n81x5x3b1knaidiaf1pifl0c7zn";
+      rev = "c70b0ed50b5c0d806df012526104fc5342753749";
+      sha256 = "1pj6rzdwalnv3x8xdgfsqh79pc21b0lhlp6ry5yzjcprghw1547d";
     };
     meta.homepage = "https://github.com/tpope/vim-eunuch/";
   };
@@ -8467,12 +8564,12 @@ final: prev:
 
   vim-fireplace = buildVimPluginFrom2Nix {
     pname = "vim-fireplace";
-    version = "2022-03-11";
+    version = "2022-04-02";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fireplace";
-      rev = "49f213283ffd79e1a397a30ce9e11849eaacf8e1";
-      sha256 = "0lk6xxbf111p1d75vagfhf1qydm1mzm4xycmyydfr46acy6a8hbk";
+      rev = "2e4540d62fd49523a3aefeab896a33ed6bbcb43b";
+      sha256 = "0h6ij4r5i6i72hkn8w7gw69asga7ka5addl74n2i1jhaznn7q1kb";
     };
     meta.homepage = "https://github.com/tpope/vim-fireplace/";
   };
@@ -8599,12 +8696,12 @@ final: prev:
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2022-03-09";
+    version = "2022-04-05";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "46652a304f0b89f36d70cee954d77e467ec0f6de";
-      sha256 = "174qmalqmg8miq7ixc0c3w66qpc46c9rxvpw6sn8qalyifb0z7fj";
+      rev = "cba863444c9e970bc7282f76df0f559b5fc830bd";
+      sha256 = "09g9cgs89c02qsjyp3n343dkqkwzr9jwrhn6l51c8c3dclp07870";
     };
     meta.homepage = "https://github.com/tpope/vim-fugitive/";
   };
@@ -8743,12 +8840,12 @@ final: prev:
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2022-03-19";
+    version = "2022-04-03";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "dcefd64ba251ffc3d497f8758036735c8f6cc824";
-      sha256 = "1j5jrs7kk59ilqsjs0qk5213psv33xnnifsqrjc7h63p28sv3pnw";
+      rev = "119797938eeb875e91182d6bd86eb001d0ef9029";
+      sha256 = "1rclpd2nf26slz38imq8g5h1pknkwdbgnv4iz04vhq7k3gvls6vk";
     };
     meta.homepage = "https://github.com/fatih/vim-go/";
   };
@@ -8849,18 +8946,6 @@ final: prev:
     meta.homepage = "https://github.com/chkno/vim-haskell-module-name/";
   };
 
-  vim-haskellconceal = buildVimPluginFrom2Nix {
-    pname = "vim-haskellconceal";
-    version = "2017-06-15";
-    src = fetchFromGitHub {
-      owner = "twinside";
-      repo = "vim-haskellconceal";
-      rev = "802f82a5afee56e9e1251e6f756104a3bd114234";
-      sha256 = "1kh6853hi4rgl4z1xs8kz9l1q9w7lh0r42y2m0rabfpr6yh3091r";
-    };
-    meta.homepage = "https://github.com/twinside/vim-haskellconceal/";
-  };
-
   vim-haskellConcealPlus = buildVimPluginFrom2Nix {
     pname = "vim-haskellConcealPlus";
     version = "2020-01-21";
@@ -8873,6 +8958,18 @@ final: prev:
     meta.homepage = "https://github.com/enomsg/vim-haskellConcealPlus/";
   };
 
+  vim-haskellconceal = buildVimPluginFrom2Nix {
+    pname = "vim-haskellconceal";
+    version = "2017-06-15";
+    src = fetchFromGitHub {
+      owner = "twinside";
+      repo = "vim-haskellconceal";
+      rev = "802f82a5afee56e9e1251e6f756104a3bd114234";
+      sha256 = "1kh6853hi4rgl4z1xs8kz9l1q9w7lh0r42y2m0rabfpr6yh3091r";
+    };
+    meta.homepage = "https://github.com/twinside/vim-haskellconceal/";
+  };
+
   vim-hcl = buildVimPluginFrom2Nix {
     pname = "vim-hcl";
     version = "2022-02-25";
@@ -9044,12 +9141,12 @@ final: prev:
 
   vim-illuminate = buildVimPluginFrom2Nix {
     pname = "vim-illuminate";
-    version = "2022-03-13";
+    version = "2022-04-02";
     src = fetchFromGitHub {
       owner = "RRethy";
       repo = "vim-illuminate";
-      rev = "487563de7ed6195fd46da178cb38dc1ff110c1ce";
-      sha256 = "1k4pzq1gxqpcrx828ywypff1cjrns34rh8q7yz1j8nhlqvgrda9s";
+      rev = "3b9b6481a659bdc37a55f488c92839e3804ca098";
+      sha256 = "1vki4g6gvmr6l9yb1xhv92yix2595b17j7m75ak15k25w1dnig7h";
     };
     meta.homepage = "https://github.com/RRethy/vim-illuminate/";
   };
@@ -9128,12 +9225,12 @@ final: prev:
 
   vim-jack-in = buildVimPluginFrom2Nix {
     pname = "vim-jack-in";
-    version = "2021-03-27";
+    version = "2022-04-03";
     src = fetchFromGitHub {
       owner = "clojure-vim";
       repo = "vim-jack-in";
-      rev = "80c69cc021486d1cfa5dac7d9d6ab6954ff20c27";
-      sha256 = "11dw8kngzznzf91n6iyvw7yi1l35vgpva32dck3n25vpxc24krpn";
+      rev = "5467e00e26f15680b0a7998f8aa20d5a7dd44cd5";
+      sha256 = "1wi379l8d793v6hjx11v0dhgdn8a9ihx64gv51v9wpmjlvp9xbzd";
     };
     meta.homepage = "https://github.com/clojure-vim/vim-jack-in/";
   };
@@ -9273,28 +9370,16 @@ final: prev:
 
   vim-kitty-navigator = buildVimPluginFrom2Nix {
     pname = "vim-kitty-navigator";
-    version = "2022-02-04";
+    version = "2022-03-27";
     src = fetchFromGitHub {
       owner = "knubie";
       repo = "vim-kitty-navigator";
-      rev = "8d9af030c8a74cdda6ab9a510d9a13bca80e8f9b";
-      sha256 = "03rf49w3x67aayfn6hl0jhf4gik1scq4khhnvicp1zabdn8cq175";
+      rev = "7bf84bc1253bebb86cbf63efa274a656e1faadc6";
+      sha256 = "126z01zqrpnkhi7kprl8kqwkr5ahxyrnx3pvzzmfqb9320v98d18";
     };
     meta.homepage = "https://github.com/knubie/vim-kitty-navigator/";
   };
 
-  vim-LanguageTool = buildVimPluginFrom2Nix {
-    pname = "vim-LanguageTool";
-    version = "2021-02-08";
-    src = fetchFromGitHub {
-      owner = "dpelle";
-      repo = "vim-LanguageTool";
-      rev = "0372ffae78aa3eac3bfa48ba3bf2f4015a86385a";
-      sha256 = "00476l49lczj1rw5gb6vs7s9r0zi1khw0g1v6bsfwl5r32699l7r";
-    };
-    meta.homepage = "https://github.com/dpelle/vim-LanguageTool/";
-  };
-
   vim-lastplace = buildVimPluginFrom2Nix {
     pname = "vim-lastplace";
     version = "2022-02-22";
@@ -9465,12 +9550,12 @@ final: prev:
 
   vim-lsp = buildVimPluginFrom2Nix {
     pname = "vim-lsp";
-    version = "2022-03-04";
+    version = "2022-04-05";
     src = fetchFromGitHub {
       owner = "prabirshrestha";
       repo = "vim-lsp";
-      rev = "bfb7541eb88eb9804287af39aca70102e60d2bf0";
-      sha256 = "1kaa92ylw5i8ysb2yxyqf666194wwcixgagi7gq3apkddr35a6g0";
+      rev = "edd6629f0940e37ca988620e404e79e600962a6f";
+      sha256 = "0qc2x0la72xhbbwdrm6iyjlip3pcfj0wk4msi6zfz9zmyrzcfnhb";
     };
     meta.homepage = "https://github.com/prabirshrestha/vim-lsp/";
   };
@@ -9838,12 +9923,12 @@ final: prev:
 
   vim-obsession = buildVimPluginFrom2Nix {
     pname = "vim-obsession";
-    version = "2021-03-22";
+    version = "2022-04-05";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-obsession";
-      rev = "82c9ac5e130c92a46e043dd9cd9e5b48d15e286d";
-      sha256 = "0lfcba8sk25l5yp3agh6pwniddf8jx627ikpr8i2z9ary2fqsj98";
+      rev = "7d39576149d17bde3c096fd57e3a2cdae65deaf5";
+      sha256 = "0g716c3dvd7068lfgcbxlzn86529kji4zms5n2xgrn3h0vn722zz";
     };
     meta.homepage = "https://github.com/tpope/vim-obsession/";
   };
@@ -9958,12 +10043,12 @@ final: prev:
 
   vim-oscyank = buildVimPluginFrom2Nix {
     pname = "vim-oscyank";
-    version = "2022-02-21";
+    version = "2022-03-23";
     src = fetchFromGitHub {
       owner = "ojroques";
       repo = "vim-oscyank";
-      rev = "18db93968ae0f2aa89ee68e18f5785381ab169cc";
-      sha256 = "0a4261fkvgfaw1vsm5fgqm27rlcx8gpj2hkrk8kg9bjaijniqgd8";
+      rev = "23b0846e26d946bda9ebcd267839fea83435aff2";
+      sha256 = "0fydc0xs7pfx681s6v2l4w7z6c7ldajhsaffi23a0p9g5k0vchk6";
     };
     meta.homepage = "https://github.com/ojroques/vim-oscyank/";
   };
@@ -10126,12 +10211,12 @@ final: prev:
 
   vim-plug = buildVimPluginFrom2Nix {
     pname = "vim-plug";
-    version = "2022-01-03";
+    version = "2022-04-04";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "vim-plug";
-      rev = "e300178a0e2fb04b56de8957281837f13ecf0b27";
-      sha256 = "0bfgadn31n516x0m0kr88jk9x79rl6zllnwij759wpazmw1p0xg8";
+      rev = "93ab5909784e09134e90f15cafa8a5edcc9a00fe";
+      sha256 = "0cq2ilqqq90bpp8pzylqi759hqb9ni6l1rqkvj6aj7a4b29a59nv";
     };
     meta.homepage = "https://github.com/junegunn/vim-plug/";
   };
@@ -10222,12 +10307,12 @@ final: prev:
 
   vim-projectionist = buildVimPluginFrom2Nix {
     pname = "vim-projectionist";
-    version = "2022-03-13";
+    version = "2022-03-29";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-projectionist";
-      rev = "93b2af188fe0937edea414b8e05a362b74f4b31d";
-      sha256 = "13x66y0dp70s2wcz5jkcqyp1r44sn3xdn70khzgl3jlv94ij3s1y";
+      rev = "37f6867fb186191bbc99bfc9d7c465dce4b7f94e";
+      sha256 = "0siigy1p5iwn5nms94w22kzgajyscdzn8mcnwkmhxdzbs2c4nv9w";
     };
     meta.homepage = "https://github.com/tpope/vim-projectionist/";
   };
@@ -10424,30 +10509,6 @@ final: prev:
     meta.homepage = "https://github.com/tpope/vim-repeat/";
   };
 
-  vim-ReplaceWithRegister = buildVimPluginFrom2Nix {
-    pname = "vim-ReplaceWithRegister";
-    version = "2021-07-05";
-    src = fetchFromGitHub {
-      owner = "inkarkat";
-      repo = "vim-ReplaceWithRegister";
-      rev = "aad1e8fa31cb4722f20fe40679caa56e25120032";
-      sha256 = "1cfgixq5smwbp55x2baaj1kw736w2mykysppphair44vb4w9rlgm";
-    };
-    meta.homepage = "https://github.com/inkarkat/vim-ReplaceWithRegister/";
-  };
-
-  vim-ReplaceWithSameIndentRegister = buildVimPluginFrom2Nix {
-    pname = "vim-ReplaceWithSameIndentRegister";
-    version = "2020-06-17";
-    src = fetchFromGitHub {
-      owner = "inkarkat";
-      repo = "vim-ReplaceWithSameIndentRegister";
-      rev = "0b7f542560bd21822a004e8accdf472eb477c9cf";
-      sha256 = "04zvhqh9rjfiwfk8r0zci608pw09svqb42nvp8pvqb11xp2ydg2y";
-    };
-    meta.homepage = "https://github.com/inkarkat/vim-ReplaceWithSameIndentRegister/";
-  };
-
   vim-rhubarb = buildVimPluginFrom2Nix {
     pname = "vim-rhubarb";
     version = "2021-09-13";
@@ -10666,12 +10727,12 @@ final: prev:
 
   vim-sleuth = buildVimPluginFrom2Nix {
     pname = "vim-sleuth";
-    version = "2022-03-21";
+    version = "2022-04-02";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-sleuth";
-      rev = "0633b4a1ce6cc32b07d1b473de8d25f5565d579c";
-      sha256 = "0bk68zpl4rv414773c9g1vi1qwqcrqp832lmx2hmlraak80dkk0z";
+      rev = "aade27e2b1a47ae2261d95a4dd622ca2c3d34227";
+      sha256 = "1xwav2657qhqaxsql50dh20n7r5n97xb2xb990wikf34mi9j4pn4";
     };
     meta.homepage = "https://github.com/tpope/vim-sleuth/";
   };
@@ -10762,12 +10823,12 @@ final: prev:
 
   vim-snippets = buildVimPluginFrom2Nix {
     pname = "vim-snippets";
-    version = "2022-03-18";
+    version = "2022-04-02";
     src = fetchFromGitHub {
       owner = "honza";
       repo = "vim-snippets";
-      rev = "3c40345e100624e2a8946457839e80f526acbe3b";
-      sha256 = "1xla1q6nhv7r2hyidnsvd47k3gyj6j16bzkmr9y9c1q2szwfjbdp";
+      rev = "c6d4b1cfa7a349ca561b86227cb46c4147b9c23c";
+      sha256 = "0idmrcb4xigmds1iwz5rixvdcanqvv0qx7v3yg4d4p1xd4yjsiw1";
     };
     meta.homepage = "https://github.com/honza/vim-snippets/";
   };
@@ -10906,16 +10967,28 @@ final: prev:
 
   vim-surround = buildVimPluginFrom2Nix {
     pname = "vim-surround";
-    version = "2022-01-30";
+    version = "2022-03-25";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-surround";
-      rev = "baf89ad26488f6a7665d51b986f5c7ad2d22b30b";
-      sha256 = "0kzp1g2zw2an0z7bb8h4xs8jf17z0mnn0zf6v1wkipvz6nvp7di8";
+      rev = "9857a874632d1b983a7f4b1c85e3d15990c8b101";
+      sha256 = "0ihcqrgvrllnrll9vgg1ywmhsvf43dwdpqv89r8mi70wsnzbgk3v";
     };
     meta.homepage = "https://github.com/tpope/vim-surround/";
   };
 
+  vim-svelte = buildVimPluginFrom2Nix {
+    pname = "vim-svelte";
+    version = "2022-02-17";
+    src = fetchFromGitHub {
+      owner = "evanleck";
+      repo = "vim-svelte";
+      rev = "1080030d6a1bc6582389c133a07552ba0a442410";
+      sha256 = "0kwx0rkb6879v5c3jyavzh1hklxl2q1qwnm28x1p32kdcwqkccjp";
+    };
+    meta.homepage = "https://github.com/evanleck/vim-svelte/";
+  };
+
   vim-swap = buildVimPluginFrom2Nix {
     pname = "vim-swap";
     version = "2021-08-08";
@@ -10928,18 +11001,6 @@ final: prev:
     meta.homepage = "https://github.com/machakann/vim-swap/";
   };
 
-  vim-SyntaxRange = buildVimPluginFrom2Nix {
-    pname = "vim-SyntaxRange";
-    version = "2021-01-16";
-    src = fetchFromGitHub {
-      owner = "inkarkat";
-      repo = "vim-SyntaxRange";
-      rev = "3a7fd9ff50fabafe61df12522ed2f275c8e2f45e";
-      sha256 = "1b5xyacbn87z8wkacjpnjk82xmxzivlb111427kwb5kxxdh4w7gq";
-    };
-    meta.homepage = "https://github.com/inkarkat/vim-SyntaxRange/";
-  };
-
   vim-table-mode = buildVimPluginFrom2Nix {
     pname = "vim-table-mode";
     version = "2022-03-01";
@@ -11003,12 +11064,12 @@ final: prev:
 
   vim-test = buildVimPluginFrom2Nix {
     pname = "vim-test";
-    version = "2022-03-08";
+    version = "2022-04-04";
     src = fetchFromGitHub {
       owner = "vim-test";
       repo = "vim-test";
-      rev = "16a3b6da1bab42473d42d7e02d89d549d7a5e138";
-      sha256 = "1hlw3268x3i0pbmyj5b56kng6a9348rmh3dg8jrhq1jyy75r6m09";
+      rev = "d340f840725e6ee1b8abc63e852d80ded496ffc9";
+      sha256 = "08y4x97l0749i6d7qc512irql5zpxdwyzrbsw6h507jq7cvaw8hb";
     };
     meta.homepage = "https://github.com/vim-test/vim-test/";
   };
@@ -11315,12 +11376,12 @@ final: prev:
 
   vim-visual-multi = buildVimPluginFrom2Nix {
     pname = "vim-visual-multi";
-    version = "2022-03-21";
+    version = "2022-03-25";
     src = fetchFromGitHub {
       owner = "mg979";
       repo = "vim-visual-multi";
-      rev = "f8914382614eaba8995fc109917ab4b1c186795f";
-      sha256 = "0b221w5kdlkibjw6m9k72lmj939dmnqm9a2wzdp8k4z6ig22nkgr";
+      rev = "4fcd3797e380f2e4c8ea8be31ec6469e6f86f971";
+      sha256 = "135jggj34pdczjby1p2vpr1b30whcabsfxjgvyrra45hlg45kzgn";
     };
     meta.homepage = "https://github.com/mg979/vim-visual-multi/";
   };
@@ -11471,12 +11532,12 @@ final: prev:
 
   vim-xkbswitch = buildVimPluginFrom2Nix {
     pname = "vim-xkbswitch";
-    version = "2021-12-29";
+    version = "2022-03-23";
     src = fetchFromGitHub {
       owner = "lyokha";
       repo = "vim-xkbswitch";
-      rev = "17aaeece90075ee4990da21ef662107a243fdbc9";
-      sha256 = "0mvx5im6ryrnqq0mq0z4lfks20cryz8rnrl8347nrhw9vsb1sb2v";
+      rev = "d6c9b8e06c1e7b3f14abc772ad61d73e687eede6";
+      sha256 = "015jr832zwa7gcakbllifh3r45iyfywraswsm70vvbam165wwxph";
     };
     meta.homepage = "https://github.com/lyokha/vim-xkbswitch/";
   };
@@ -11577,18 +11638,6 @@ final: prev:
     meta.homepage = "https://github.com/jreybert/vimagit/";
   };
 
-  VimCompletesMe = buildVimPluginFrom2Nix {
-    pname = "VimCompletesMe";
-    version = "2022-02-18";
-    src = fetchFromGitHub {
-      owner = "ackyshake";
-      repo = "VimCompletesMe";
-      rev = "9adf692d7ae6424038458a89d4a411f0a27d1388";
-      sha256 = "1sndgb3291dyifaa8adri2mb8cgbinbar3nw1fnf67k9ahwycaz0";
-    };
-    meta.homepage = "https://github.com/ackyshake/VimCompletesMe/";
-  };
-
   vimelette = buildVimPluginFrom2Nix {
     pname = "vimelette";
     version = "2019-05-02";
@@ -11613,18 +11662,6 @@ final: prev:
     meta.homepage = "https://github.com/Shougo/vimfiler.vim/";
   };
 
-  VimOrganizer = buildVimPluginFrom2Nix {
-    pname = "VimOrganizer";
-    version = "2020-12-15";
-    src = fetchFromGitHub {
-      owner = "hsitz";
-      repo = "VimOrganizer";
-      rev = "09636aed78441a9de2767fcef6d7c567f322cc40";
-      sha256 = "0phpcxmyz562yyp88rbx9pqg46w8r1lyapb700nvxwvqkcd82pfw";
-    };
-    meta.homepage = "https://github.com/hsitz/VimOrganizer/";
-  };
-
   vimoutliner = buildVimPluginFrom2Nix {
     pname = "vimoutliner";
     version = "2021-04-24";
@@ -11687,12 +11724,12 @@ final: prev:
 
   vimspector = buildVimPluginFrom2Nix {
     pname = "vimspector";
-    version = "2022-03-22";
+    version = "2022-04-03";
     src = fetchFromGitHub {
       owner = "puremourning";
       repo = "vimspector";
-      rev = "449ffc306a8540d686f095b8b76d5d81f1f14d07";
-      sha256 = "1fadbxarddmk85zk7w30208injr8v7bpmscnpcmphd15xym3s19j";
+      rev = "da851334c72c44de95d00a152f98ee8e628be68f";
+      sha256 = "16390g548y5bp6c08d481jafav83rbg4zd69r6fbfcnhzxmv7vhs";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/puremourning/vimspector/";
@@ -11700,12 +11737,12 @@ final: prev:
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2022-03-21";
+    version = "2022-04-01";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "332ce001ea5950276ce771760fb7125461071021";
-      sha256 = "0p833kw9xb75sg9cfw2qp6yr9nfypdyj18sf3kq8qnyqz5hiz4kk";
+      rev = "3c14f6912318ac3d92d32eca7d66c7c1c4f3e92c";
+      sha256 = "1wnj1j38gs6xcdyhia6cmd010rv2g85s816hxd1qc1zlimfvi5gr";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
@@ -11770,18 +11807,6 @@ final: prev:
     meta.homepage = "https://github.com/liuchengxu/vista.vim/";
   };
 
-  Vundle-vim = buildVimPluginFrom2Nix {
-    pname = "Vundle.vim";
-    version = "2019-08-17";
-    src = fetchFromGitHub {
-      owner = "VundleVim";
-      repo = "Vundle.vim";
-      rev = "b255382d6242d7ea3877bf059d2934125e0c4d95";
-      sha256 = "0fkmklcq3fgvd6x6irz9bgyvcdaxafykk3k89gsi9p6b0ikw3rw6";
-    };
-    meta.homepage = "https://github.com/VundleVim/Vundle.vim/";
-  };
-
   wal-vim = buildVimPluginFrom2Nix {
     pname = "wal.vim";
     version = "2020-11-08";
@@ -11820,12 +11845,12 @@ final: prev:
 
   wilder-nvim = buildVimPluginFrom2Nix {
     pname = "wilder.nvim";
-    version = "2022-03-13";
+    version = "2022-04-03";
     src = fetchFromGitHub {
       owner = "gelguy";
       repo = "wilder.nvim";
-      rev = "b59648ad8588bcba377f4eecdea317796ebd1f9d";
-      sha256 = "0aic96isjssgmlqkr30m9j3895v27f3hgkgsqbl3zwkvjqa218d6";
+      rev = "9c33d9423a3ba205ecdb90ce8a677c2b26f04908";
+      sha256 = "19dv7ai4hs04m00w37d7bmb4c5zakfpj3mhgl15ddc6bpk3sbd7h";
     };
     meta.homepage = "https://github.com/gelguy/wilder.nvim/";
   };
@@ -11926,18 +11951,6 @@ final: prev:
     meta.homepage = "https://github.com/guns/xterm-color-table.vim/";
   };
 
-  YankRing-vim = buildVimPluginFrom2Nix {
-    pname = "YankRing.vim";
-    version = "2015-07-29";
-    src = fetchFromGitHub {
-      owner = "vim-scripts";
-      repo = "YankRing.vim";
-      rev = "28854abef8fa4ebd3cb219aefcf22566997d8f65";
-      sha256 = "0zdp8pdsqgrh6lfw8ipjhrig6psvmdxkim9ik801y3r373sk2hxw";
-    };
-    meta.homepage = "https://github.com/vim-scripts/YankRing.vim/";
-  };
-
   yats-vim = buildVimPluginFrom2Nix {
     pname = "yats.vim";
     version = "2022-01-05";
@@ -11951,31 +11964,6 @@ final: prev:
     meta.homepage = "https://github.com/HerringtonDarkholme/yats.vim/";
   };
 
-  YouCompleteMe = buildVimPluginFrom2Nix {
-    pname = "YouCompleteMe";
-    version = "2022-03-16";
-    src = fetchFromGitHub {
-      owner = "ycm-core";
-      repo = "YouCompleteMe";
-      rev = "e32a82c322c680fa3aeef615874cf049669a360b";
-      sha256 = "193bdarjk23ny526yyn6w39chsgy3rzpf1iwlwgik4g125jld9y4";
-      fetchSubmodules = true;
-    };
-    meta.homepage = "https://github.com/ycm-core/YouCompleteMe/";
-  };
-
-  YUNOcommit-vim = buildVimPluginFrom2Nix {
-    pname = "YUNOcommit.vim";
-    version = "2014-11-26";
-    src = fetchFromGitHub {
-      owner = "esneider";
-      repo = "YUNOcommit.vim";
-      rev = "981082055a73ef076d7e27477874d2303153a448";
-      sha256 = "0mjc7fn405vcx1n7vadl98p5wgm6jxrlbdbkqgjq8f1m1ir81zab";
-    };
-    meta.homepage = "https://github.com/esneider/YUNOcommit.vim/";
-  };
-
   zeavim-vim = buildVimPluginFrom2Nix {
     pname = "zeavim.vim";
     version = "2019-06-07";
@@ -12060,4 +12048,112 @@ final: prev:
     meta.homepage = "https://github.com/nanotee/zoxide.vim/";
   };
 
+  catppuccin-nvim = buildVimPluginFrom2Nix {
+    pname = "catppuccin-nvim";
+    version = "2022-03-20";
+    src = fetchFromGitHub {
+      owner = "catppuccin";
+      repo = "nvim";
+      rev = "f079dda3dc23450d69b4bad11bfbd9af2c77f6f3";
+      sha256 = "1w0n96fbrkm3vdl64v1yzkly8wpcn5g9qflmpb8r1ww9hhig7a38";
+    };
+    meta.homepage = "https://github.com/catppuccin/nvim/";
+  };
+
+  chad = buildVimPluginFrom2Nix {
+    pname = "chad";
+    version = "2022-04-05";
+    src = fetchFromGitHub {
+      owner = "ms-jpq";
+      repo = "chadtree";
+      rev = "e03f7c8cbaeb85272d2d3d2c24af5065be4f5e71";
+      sha256 = "08971zkma4zwz5511vzhgi99000xin5psy1hkancxr4v2bw68dh3";
+    };
+    meta.homepage = "https://github.com/ms-jpq/chadtree/";
+  };
+
+  dracula-vim = buildVimPluginFrom2Nix {
+    pname = "dracula-vim";
+    version = "2022-03-24";
+    src = fetchFromGitHub {
+      owner = "dracula";
+      repo = "vim";
+      rev = "d7723a842a6cfa2f62cf85530ab66eb418521dc2";
+      sha256 = "1qzil8rwpdzf64gq63ds0cf509ldam77l3fz02g1mia5dry75r02";
+    };
+    meta.homepage = "https://github.com/dracula/vim/";
+  };
+
+  embark-vim = buildVimPluginFrom2Nix {
+    pname = "embark-vim";
+    version = "2022-03-28";
+    src = fetchFromGitHub {
+      owner = "embark-theme";
+      repo = "vim";
+      rev = "a57dbdbd2790c52563e1194c17e6de38a0c941cf";
+      sha256 = "07yzy4yjxaf59b6pyf05jrawvc4y37v2x07n1vfc2dbsxkxdygq1";
+    };
+    meta.homepage = "https://github.com/embark-theme/vim/";
+  };
+
+  gruvbox-community = buildVimPluginFrom2Nix {
+    pname = "gruvbox-community";
+    version = "2022-03-06";
+    src = fetchFromGitHub {
+      owner = "gruvbox-community";
+      repo = "gruvbox";
+      rev = "b6f47ae7031f6746a1f1918c17574aa12c474ef0";
+      sha256 = "0m8rrm5v542a2c30sg7hlgm7r6gs4ah1n6nr5dc101l2064kg97g";
+    };
+    meta.homepage = "https://github.com/gruvbox-community/gruvbox/";
+  };
+
+  mattn-calendar-vim = buildVimPluginFrom2Nix {
+    pname = "mattn-calendar-vim";
+    version = "2022-02-10";
+    src = fetchFromGitHub {
+      owner = "mattn";
+      repo = "calendar-vim";
+      rev = "2083a41e2d310f9bbbbf644517f30e901f1fb04d";
+      sha256 = "13wakcprkh93i7afykkpavxqvxssjh573pjjljsgip3y3778ms5q";
+    };
+    meta.homepage = "https://github.com/mattn/calendar-vim/";
+  };
+
+  pure-lua = buildVimPluginFrom2Nix {
+    pname = "pure-lua";
+    version = "2021-05-16";
+    src = fetchFromGitHub {
+      owner = "shaunsingh";
+      repo = "moonlight.nvim";
+      rev = "e24e4218ec680b6396532808abf57ca0ada82e66";
+      sha256 = "0m9w3fpypsqxydjd93arbjqb5576nl40iy27i4ijlrqhgdhl49y3";
+    };
+    meta.homepage = "https://github.com/shaunsingh/moonlight.nvim/";
+  };
+
+  rose-pine = buildVimPluginFrom2Nix {
+    pname = "rose-pine";
+    version = "2022-04-01";
+    src = fetchFromGitHub {
+      owner = "rose-pine";
+      repo = "neovim";
+      rev = "40c4fd7f5551710e388e0df85bb43d6e1627ca80";
+      sha256 = "0ihzf18146q9bkqa22jq6xa2i394y6bn3fnjjgjz3zf8g8pcr6bl";
+    };
+    meta.homepage = "https://github.com/rose-pine/neovim/";
+  };
+
+  vim-docbk-snippets = buildVimPluginFrom2Nix {
+    pname = "vim-docbk-snippets";
+    version = "2021-07-30";
+    src = fetchFromGitHub {
+      owner = "jhradilek";
+      repo = "vim-snippets";
+      rev = "81a8dcb66886a0717e9ca73c8857ee90c3989063";
+      sha256 = "0d6532qx66aiawpq2fdji0mnmvnlg5dnbvds5s4pgzafydikpr70";
+    };
+    meta.homepage = "https://github.com/jhradilek/vim-snippets/";
+  };
+
 }
diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix
index f3e1a5f12c33f..8b55c1706939f 100644
--- a/pkgs/applications/editors/vim/plugins/overrides.nix
+++ b/pkgs/applications/editors/vim/plugins/overrides.nix
@@ -173,10 +173,9 @@ self: super: {
   });
 
   cpsm = super.cpsm.overrideAttrs (old: {
+    nativeBuildInputs = [ cmake ];
     buildInputs = [
       python3
-      stdenv
-      cmake
       boost
       icu
       ncurses
diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names
index 7426fe82b2e55..065063091a5c1 100644
--- a/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -1,1003 +1,1012 @@
-907th/vim-auto-save
-aca/completion-tabnine
-AckslD/nvim-neoclip.lua
-AckslD/nvim-whichkey-setup.lua
-ackyshake/Spacegray.vim
-ackyshake/VimCompletesMe
-ahmedkhalf/lsp-rooter.nvim
-ahmedkhalf/project.nvim
-airblade/vim-gitgutter
-airblade/vim-rooter
-ajmwagar/vim-deus
-akinsho/bufferline.nvim
-akinsho/toggleterm.nvim
-aklt/plantuml-syntax
-allendang/nvim-expand-expr
-altercation/vim-colors-solarized
-alvan/vim-closetag
-alvarosevilla95/luatab.nvim
-alx741/vim-hindent
-alx741/vim-stylishask
-AmeerTaweel/todo.nvim
-amiorin/ctrlp-z
-andersevenrud/cmp-tmux
-andersevenrud/nordic.nvim
-andrep/vimacs
-andreshazard/vim-logreview
-AndrewRadev/sideways.vim
-AndrewRadev/splitjoin.vim
-AndrewRadev/switch.vim
-AndrewRadev/tagalong.vim
-andsild/peskcolor.vim
-andviro/flake8-vim
-andweeb/presence.nvim
-andymass/vim-matchup
-andys8/vim-elm-syntax
-antoinemadec/coc-fzf
-antoinemadec/FixCursorHold.nvim
-ap/vim-css-color
-arcticicestudio/nord-vim@master
-arkav/lualine-lsp-progress
-arthurxavierx/vim-unicoder
-artur-shaik/vim-javacomplete2
-autozimu/LanguageClient-neovim
-axelf4/vim-strip-trailing-whitespace
-ayu-theme/ayu-vim
-b0o/SchemaStore.nvim
-b3nj5m1n/kommentary
-bakpakin/fennel.vim
-bazelbuild/vim-bazel
-bbchung/clighter8
-BeneCollyridam/futhark-vim
-benizi/vim-automkdir
-bhurlow/vim-parinfer
-bitc/vim-hdevtools
-bkad/camelcasemotion
-bling/vim-bufferline
-blueballs-theme/blueballs-neovim
-blueyed/vim-diminactive
-bogado/file-line
-bohlender/vim-smt2
-brennanfee/vim-gui-position
-bronson/vim-trailing-whitespace
-brooth/far.vim
-buoto/gotests-vim
-camspiers/lens.vim
-camspiers/snap
-carlitux/deoplete-ternjs
-catppuccin/nvim as catppuccin-nvim
-ccarpita/rtorrent-syntax-file
-cespare/vim-toml
-chaoren/vim-wordmotion
-chentau/marks.nvim
-chikatoike/concealedyank.vim
-chikatoike/sourcemap.vim
-chkno/vim-haskell-module-name
-chr4/nginx.vim
-chr4/sslsecure.vim
-chrisbra/CheckAttach
-chrisbra/csv.vim
-chrisbra/NrrwRgn
-chrisbra/Recover.vim
-chrisbra/SudoEdit.vim
-chrisbra/unicode.vim
-chrisgeo/sparkup
-chriskempson/base16-vim
-ChristianChiarulli/nvcode-color-schemes.vim
-christoomey/vim-sort-motion
-christoomey/vim-tmux-navigator
-ciaranm/inkpot
-ckarnell/antonys-macro-repeater
-clojure-vim/vim-jack-in
-cloudhead/neovim-fuzzy
-CoatiSoftware/vim-sourcetrail
-cocopon/iceberg.vim
-codota/tabnine-vim
-cohama/lexima.vim
-ConradIrwin/vim-bracketed-paste
-crusoexia/vim-monokai
-ctjhoa/spacevim
-ctrlpvim/ctrlp.vim
-dag/vim-fish
-dag/vim2hs
-dannyob/quickfixstatus
-darfink/starsearch.vim
-dart-lang/dart-vim-plugin
-david-a-wheeler/vim-metamath
-davidhalter/jedi-vim
-dcharbon/vim-flatbuffers
-dense-analysis/ale
-deoplete-plugins/deoplete-clang
-deoplete-plugins/deoplete-dictionary
-deoplete-plugins/deoplete-go
-deoplete-plugins/deoplete-jedi
-deoplete-plugins/deoplete-lsp
-deoplete-plugins/deoplete-zsh
-derekelkins/agda-vim
-derekwyatt/vim-scala
-dhruvasagar/vim-prosession
-dhruvasagar/vim-table-mode
-digitaltoad/vim-pug
-direnv/direnv.vim
-dleonard0/pony-vim-syntax
-dmix/elvish.vim
-doki-theme/doki-theme-vim
-dominikduda/vim_current_word
-dpelle/vim-LanguageTool
-dracula/vim as dracula-vim
-drewtempelmeyer/palenight.vim
-drmingdrmer/xptemplate
-dstein64/nvim-scrollview
-dstein64/vim-startuptime
-dylanaraps/wal.vim
-eagletmt/ghcmod-vim
-eagletmt/neco-ghc
-easymotion/vim-easymotion
-echasnovski/mini.nvim
-eddiebergman/nvim-treesitter-pyfold
-eddyekofo94/gruvbox-flat.nvim
-EdenEast/nightfox.nvim
-editorconfig/editorconfig-vim
-edkolev/tmuxline.vim
-edluffy/hologram.nvim
-edluffy/specs.nvim
-edwinb/idris2-vim
-ehamberg/vim-cute-python
-eigenfoo/stan-vim
-eikenb/acp
-elixir-editors/vim-elixir
-ellisonleao/glow.nvim
-ellisonleao/gruvbox.nvim
-elmcast/elm-vim
-elzr/vim-json
-embark-theme/vim as embark-vim
-embear/vim-localvimrc
-enomsg/vim-haskellConcealPlus
-enricobacis/vim-airline-clock
-ervandew/supertab
-esneider/YUNOcommit.vim
-euclidianAce/BetterLua.vim
-euclio/vim-markdown-composer
-f-person/git-blame.nvim
-f3fora/cmp-spell
-famiu/bufdelete.nvim
-fannheyward/telescope-coc.nvim
-farmergreg/vim-lastplace
-fatih/vim-go
-fcpg/vim-osc52
-FelikZ/ctrlp-py-matcher
-feline-nvim/feline.nvim
-fenetikm/falcon
-fhill2/floating.nvim
-fhill2/telescope-ultisnips.nvim
-fiatjaf/neuron.vim
-filipdutescu/renamer.nvim
-fisadev/vim-isort
-flazz/vim-colorschemes
-floobits/floobits-neovim
-folke/lsp-colors.nvim
-folke/lua-dev.nvim
-folke/todo-comments.nvim
-folke/tokyonight.nvim
-folke/trouble.nvim
-folke/twilight.nvim
-folke/which-key.nvim
-folke/zen-mode.nvim
-FooSoft/vim-argwrap
-freitass/todo.txt-vim
-frigoeu/psc-ide-vim
-fruit-in/brainfuck-vim
-fruit-in/vim-nong-theme
-fsharp/vim-fsharp
-garbas/vim-snipmate
-gbrlsnchs/telescope-lsp-handlers.nvim
-gcmt/taboo.vim
-gcmt/wildfire.vim
-gelguy/wilder.nvim
-gennaro-tedesco/nvim-jqx
-gennaro-tedesco/nvim-peekup
-gentoo/gentoo-syntax
-GEverding/vim-hocon
-gfanto/fzf-lsp.nvim
-ggandor/lightspeed.nvim
-gibiansky/vim-textobj-haskell
-gioele/vim-autoswap
-github/copilot.vim
-gleam-lang/gleam.vim
-glepnir/dashboard-nvim
-glepnir/oceanic-material
-glepnir/zephyr-nvim
-glts/vim-textobj-comment
-godlygeek/csapprox
-godlygeek/tabular
-GoldsteinE/compe-latex-symbols
-google/vim-codefmt
-google/vim-jsonnet
-google/vim-maktaba
-gorkunov/smartpairs.vim
-gotcha/vimelette
-gpanders/editorconfig.nvim
-gregsexton/gitv
-gruvbox-community/gruvbox as gruvbox-community
-gu-fan/riv.vim
-guns/vim-clojure-highlight
-guns/vim-clojure-static
-guns/vim-sexp
-guns/xterm-color-table.vim
-GustavoKatel/telescope-asynctasks.nvim
-gyim/vim-boxdraw
-haringsrob/nvim_context_vt
-hashivim/vim-packer
-hashivim/vim-terraform
-hashivim/vim-vagrant
-hauleth/sad.vim
-haya14busa/incsearch-easymotion.vim
-haya14busa/incsearch.vim
-haya14busa/is.vim
-haya14busa/vim-asterisk
-haya14busa/vim-poweryank
-heavenshell/vim-jsdoc
-hecal3/vim-leader-guide
-henrik/vim-indexed-search
-HerringtonDarkholme/yats.vim
-honza/vim-snippets
-hotwatermorning/auto-git-diff
-hrsh7th/cmp-buffer
-hrsh7th/cmp-calc
-hrsh7th/cmp-cmdline
-hrsh7th/cmp-emoji
-hrsh7th/cmp-nvim-lsp
-hrsh7th/cmp-nvim-lsp-document-symbol
-hrsh7th/cmp-nvim-lua
-hrsh7th/cmp-omni
-hrsh7th/cmp-path
-hrsh7th/cmp-vsnip
-hrsh7th/nvim-cmp
-hrsh7th/nvim-compe
-hrsh7th/vim-vsnip
-hrsh7th/vim-vsnip-integ
-hsanson/vim-android
-hsitz/VimOrganizer
-https://git.sr.ht/~whynothugo/lsp_lines.nvim
-hura/vim-asymptote
-iamcco/coc-spell-checker
-iamcco/markdown-preview.nvim
-ianks/vim-tsx
-idanarye/vim-merginal
-idris-hackers/idris-vim
-Inazuma110/deoplete-greek
-inkarkat/vim-ReplaceWithRegister
-inkarkat/vim-ReplaceWithSameIndentRegister
-inkarkat/vim-SyntaxRange
-int3/vim-extradite
-Iron-E/nvim-highlite
-ishan9299/nvim-solarized-lua
-itchyny/calendar.vim
-itchyny/lightline.vim
-itchyny/thumbnail.vim
-itchyny/vim-cursorword
-itchyny/vim-gitbranch
-itspriddle/vim-shellcheck
-ivalkeen/vim-simpledb
-ivanov/vim-ipython
-j-hui/fidget.nvim
-jackguo380/vim-lsp-cxx-highlight
-jacoborus/tender.vim
-jakwings/vim-pony
-jamessan/vim-gnupg
-jaredgorski/SpaceCamp
-jasonccox/vim-wayland-clipboard
-jaxbot/semantic-highlight.vim
-JazzCore/ctrlp-cmatcher
-jbyuki/venn.nvim
-jc-doyle/cmp-pandoc-references
-jceb/vim-hier
-jceb/vim-orgmode
-jeetsukumaran/vim-buffergator
-jeetsukumaran/vim-indentwise
-jeffkreeftmeijer/neovim-sensible
-jeffkreeftmeijer/vim-numbertoggle
-jelera/vim-javascript-syntax
-jgdavey/tslime.vim
-jghauser/mkdir.nvim@main
-jhradilek/vim-docbk
-jhradilek/vim-snippets as vim-docbk-snippets
-jiangmiao/auto-pairs
-jistr/vim-nerdtree-tabs
-jjo/vim-cue
-jlanzarotta/bufexplorer
-jlesquembre/nterm.nvim
-jnurmine/zenburn
-jonbri/vim-colorstepper
-jonsmithers/vim-html-template-literals
-joonty/vim-xdebug
-joosepalviste/nvim-ts-context-commentstring
-jordwalke/vim-reasonml
-josa42/coc-lua
-josa42/nvim-lightline-lsp
-josa42/vim-lightline-coc
-jose-elias-alvarez/minsnip.nvim
-jose-elias-alvarez/null-ls.nvim
-jose-elias-alvarez/nvim-lsp-ts-utils
-joshdick/onedark.vim
-jpalardy/vim-slime
-jparise/vim-graphql
-jparise/vim-phabricator
-jreybert/vimagit
-jsfaint/gen_tags.vim
-JuliaEditorSupport/deoplete-julia
-JuliaEditorSupport/julia-vim
-Julian/lean.nvim
-Julian/vim-textobj-variable-segment
-juliosueiras/vim-terraform-completion
-junegunn/fzf.vim
-junegunn/goyo.vim
-junegunn/gv.vim
-junegunn/limelight.vim
-junegunn/seoul256.vim
-junegunn/vader.vim
-junegunn/vim-after-object
-junegunn/vim-easy-align
-junegunn/vim-emoji
-junegunn/vim-github-dashboard
-junegunn/vim-peekaboo
-junegunn/vim-plug
-junegunn/vim-slash
-justincampbell/vim-eighties
-justinj/vim-pico8-syntax
-justinmk/vim-dirvish
-justinmk/vim-sneak
-jvgrootveld/telescope-zoxide
-jvirtanen/vim-hcl
-jvoorhis/coq.vim
-KabbAmine/vCoolor.vim
-KabbAmine/zeavim.vim
-kalbasit/vim-colemak
-kana/vim-niceblock
-kana/vim-operator-replace
-kana/vim-operator-user
-kana/vim-tabpagecd
-kana/vim-textobj-entire
-kana/vim-textobj-function
-kana/vim-textobj-user
-karb94/neoscroll.nvim
-kassio/neoterm
-kbenzie/vim-spirv
-kchmck/vim-coffee-script
-kdheepak/cmp-latex-symbols
-kdheepak/lazygit.nvim
-kdheepak/tabline.nvim
-KeitaNakamura/neodark.vim
-KeitaNakamura/tex-conceal.vim
-keith/investigate.vim
-keith/rspec.vim
-keith/swift.vim
-kevinhwang91/nvim-bqf
-kevinhwang91/nvim-hlslens
-kevinhwang91/rnvimr
-kien/rainbow_parentheses.vim
-knubie/vim-kitty-navigator
-konfekt/fastfold
-Konfekt/vim-alias
-Konfekt/vim-CtrlXA
-konfekt/vim-DetectSpellLang
-kosayoda/nvim-lightbulb
-kovisoft/slimv
-kristijanhusak/defx-git
-kristijanhusak/defx-icons
-kristijanhusak/deoplete-phpactor
-kristijanhusak/vim-carbon-now-sh
-kristijanhusak/vim-dadbod-completion
-kristijanhusak/vim-dadbod-ui
-kristijanhusak/vim-dirvish-git
-kristijanhusak/vim-hybrid-material
-kshenoy/vim-signature
-kyazdani42/nvim-tree.lua
-kyazdani42/nvim-web-devicons
-l3mon4d3/luasnip
-lambdalisue/fern.vim
-lambdalisue/gina.vim
-lambdalisue/suda.vim
-lambdalisue/vim-gista
-lambdalisue/vim-manpager
-lambdalisue/vim-pager
-latex-box-team/latex-box
-ldelossa/litee-calltree.nvim
-ldelossa/litee-filetree.nvim
-ldelossa/litee-symboltree.nvim
-ldelossa/litee.nvim
-leafgarland/typescript-vim
-leanprover/lean.vim
-ledger/vim-ledger
-lepture/vim-jinja
-lervag/vimtex
-lewis6991/gitsigns.nvim
-lewis6991/impatient.nvim
-lf-lang/lingua-franca.vim
-lfe-support/vim-lfe
-lfilho/cosco.vim
-lifepillar/pgsql.vim
-lifepillar/vim-gruvbox8
-lifepillar/vim-mucomplete
-lighttiger2505/deoplete-vim-lsp
-lilydjwg/colorizer
-lilydjwg/fcitx.vim@fcitx5
-liuchengxu/graphviz.vim
-liuchengxu/space-vim
-liuchengxu/vim-clap
-liuchengxu/vim-which-key
-liuchengxu/vista.vim
-LnL7/vim-nix
-lotabout/skim.vim
-luan/vim-concourse
-LucHermitte/lh-brackets
-LucHermitte/lh-vim-lib
-ludovicchabant/vim-gutentags
-ludovicchabant/vim-lawrencium
-lukas-reineke/cmp-under-comparator
-lukas-reineke/indent-blankline.nvim
-lukaszkorecki/workflowish
-lumiliet/vim-twig
-luochen1990/rainbow
-luukvbaal/stabilize.nvim
-lyokha/vim-xkbswitch
-m-pilia/vim-ccls
-machakann/vim-highlightedyank
-machakann/vim-sandwich
-machakann/vim-swap
-maksimr/vim-jsbeautify
-MarcWeber/vim-addon-actions
-MarcWeber/vim-addon-async
-MarcWeber/vim-addon-background-cmd
-MarcWeber/vim-addon-commenting
-MarcWeber/vim-addon-completion
-MarcWeber/vim-addon-errorformats
-MarcWeber/vim-addon-goto-thing-at-cursor
-MarcWeber/vim-addon-local-vimrc
-MarcWeber/vim-addon-manager
-MarcWeber/vim-addon-mru
-MarcWeber/vim-addon-mw-utils
-MarcWeber/vim-addon-nix
-MarcWeber/vim-addon-other
-MarcWeber/vim-addon-php-manual
-MarcWeber/vim-addon-signs
-MarcWeber/vim-addon-sql
-MarcWeber/vim-addon-syntax-checker
-MarcWeber/vim-addon-toggle-buffer
-MarcWeber/vim-addon-xdebug
-marko-cerovac/material.nvim
-markonm/traces.vim
-martinda/Jenkinsfile-vim-syntax
-MattesGroeger/vim-bookmarks
-mattn/calendar-vim as mattn-calendar-vim
-mattn/emmet-vim
-mattn/vim-gist
-mattn/webapi-vim
-matze/vim-move
-max397574/better-escape.nvim
-maximbaz/lightline-ale
-maxjacobson/vim-fzf-coauthorship
-MaxMEllon/vim-jsx-pretty
-mbbill/undotree
-mboughaba/i3config.vim
-mcchrish/nnn.vim
-megaannum/forms
-megaannum/self
-mengelbrecht/lightline-bufferline
-metakirby5/codi.vim
-metalelf0/jellybeans-nvim
-mfukar/robotframework-vim
-mfussenegger/nvim-dap
-mfussenegger/nvim-jdtls
-mfussenegger/nvim-lint
-mg979/vim-visual-multi
-mg979/vim-xtabline
-mhartington/formatter.nvim
-mhartington/oceanic-next
-mhinz/vim-crates
-mhinz/vim-grepper
-mhinz/vim-janah
-mhinz/vim-sayonara@7e774f58c5865d9c10d40396850b35ab95af17c5
-mhinz/vim-signify
-mhinz/vim-startify
-michaeljsmith/vim-indent-object
-mileszs/ack.vim
-milkypostman/vim-togglelist
-mindriot101/vim-yapf
-mk12/vim-lean
-mkasa/lushtags
-mlr-msft/vim-loves-dafny
-moll/vim-bbye
-mopp/sky-color-clock.vim
-morhetz/gruvbox
-motus/pig.vim
-mpickering/hlint-refactor-vim
-ms-jpq/chadtree@chad
-ms-jpq/coq_nvim
-mtikekar/vim-bsv
-MunifTanjim/nui.nvim@main
-mustache/vim-mustache-handlebars
-mzlogin/vim-markdown-toc
-mzlogin/vim-smali
-nacro90/numb.nvim
-nanotech/jellybeans.vim
-nanotee/zoxide.vim
-natebosch/vim-lsc
-nathanaelkane/vim-indent-guides
-nathangrigg/vim-beancount
-nathanmsmith/nvim-ale-diagnostic
-navarasu/onedark.nvim
-navicore/vissort.vim
-nbouscal/vim-stylish-haskell
-ncm2/float-preview.nvim
-ncm2/ncm2
-ncm2/ncm2-bufword
-ncm2/ncm2-cssomni
-ncm2/ncm2-github
-ncm2/ncm2-html-subscope
-ncm2/ncm2-jedi
-ncm2/ncm2-markdown-subscope
-ncm2/ncm2-neoinclude
-ncm2/ncm2-neosnippet
-ncm2/ncm2-path
-ncm2/ncm2-syntax
-ncm2/ncm2-tagprefix
-ncm2/ncm2-tmux
-ncm2/ncm2-ultisnips
-ncm2/ncm2-vim
-ndmitchell/ghcid
-neoclide/coc-denite
-neoclide/coc-neco
-neoclide/coc.nvim@release
-neoclide/denite-extra
-neoclide/denite-git
-neoclide/jsonc.vim
-neoclide/vim-easygit
-neomake/neomake
-neovim/nvim-lspconfig
-neovim/nvimdev.nvim
-neovimhaskell/haskell-vim
-neovimhaskell/nvim-hs.vim
-neutaaaaan/iosvkem
-nfnty/vim-nftables
-nicoe/deoplete-khard
-nishigori/increment-activator
-nixprime/cpsm
-NLKNguyen/papercolor-theme
-noahfrederick/vim-noctu
-noc7c9/vim-iced-coffee-script
-norcalli/nvim-colorizer.lua
-norcalli/nvim-terminal.lua
-norcalli/snippets.nvim
-NTBBloodbath/galaxyline.nvim
-NTBBloodbath/rest.nvim
-ntpeters/vim-better-whitespace
-numirias/semshi
-numtostr/comment.nvim
-numToStr/FTerm.nvim
-numToStr/Navigator.nvim
-nvie/vim-flake8
-nvim-lua/completion-nvim
-nvim-lua/diagnostic-nvim
-nvim-lua/lsp-status.nvim
-nvim-lua/lsp_extensions.nvim
-nvim-lua/plenary.nvim
-nvim-lua/popup.nvim
-nvim-lualine/lualine.nvim
-nvim-neorg/neorg
-nvim-orgmode/orgmode
-nvim-pack/nvim-spectre
-nvim-telescope/telescope-cheat.nvim
-nvim-telescope/telescope-dap.nvim
-nvim-telescope/telescope-file-browser.nvim
-nvim-telescope/telescope-frecency.nvim
-nvim-telescope/telescope-fzf-native.nvim
-nvim-telescope/telescope-fzf-writer.nvim
-nvim-telescope/telescope-fzy-native.nvim
-nvim-telescope/telescope-github.nvim
-nvim-telescope/telescope-project.nvim
-nvim-telescope/telescope-symbols.nvim
-nvim-telescope/telescope-z.nvim
-nvim-telescope/telescope.nvim
-nvim-treesitter/completion-treesitter
-nvim-treesitter/nvim-treesitter
-nvim-treesitter/nvim-treesitter-refactor
-nvim-treesitter/nvim-treesitter-textobjects
-nvim-treesitter/playground
-oberblastmeister/neuron.nvim
-oberblastmeister/termwrapper.nvim
-ocaml/vim-ocaml
-octol/vim-cpp-enhanced-highlight
-ojroques/nvim-bufdel
-ojroques/vim-oscyank
-Olical/aniseed
-Olical/conjure
-olimorris/onedarkpro.nvim
-onsails/diaglist.nvim
-onsails/lspkind-nvim
-OrangeT/vim-csharp
-osyo-manga/shabadou.vim
-osyo-manga/vim-anzu
-osyo-manga/vim-over
-osyo-manga/vim-textobj-multiblock
-osyo-manga/vim-watchdogs
-overcache/NeoSolarized
-p00f/nvim-ts-rainbow
-pangloss/vim-javascript
-pantharshit00/vim-prisma
-parsonsmatt/intero-neovim
-PaterJason/cmp-conjure
-pearofducks/ansible-vim
-peitalin/vim-jsx-typescript
-peterbjorgensen/sved
-peterhoeg/vim-qml
-PeterRincker/vim-argumentative
-petRUShka/vim-opencl
-phaazon/hop.nvim
-phanviet/vim-monokai-pro
-Pocco81/TrueZen.nvim
-ponko2/deoplete-fish
-posva/vim-vue
-powerman/vim-plugin-AnsiEsc
-PProvost/vim-ps1
-prabirshrestha/async.vim
-prabirshrestha/asyncomplete-lsp.vim
-prabirshrestha/asyncomplete.vim
-prabirshrestha/vim-lsp
-preservim/nerdcommenter
-preservim/nerdtree
-preservim/tagbar
-preservim/vim-markdown
-preservim/vim-pencil
-preservim/vim-wordy
-preservim/vimux
-prettier/vim-prettier
-projekt0n/circles.nvim
-psliwka/vim-smoothie
-ptzz/lf.vim
-puremourning/vimspector
-purescript-contrib/purescript-vim
-pwntester/octo.nvim
-python-mode/python-mode
-qnighy/lalrpop.vim
-qpkorr/vim-bufkill
-quangnguyen30192/cmp-nvim-ultisnips
-Quramy/tsuquyomi
-racer-rust/vim-racer
-radenling/vim-dispatch-neovim
-rafamadriz/friendly-snippets
-rafamadriz/neon
-rafaqz/ranger.vim
-rafi/awesome-vim-colorschemes
-raghur/fruzzy
-raghur/vim-ghost
-Raimondi/delimitMate
-rakr/vim-one
-ray-x/aurora
-ray-x/cmp-treesitter
-ray-x/lsp_signature.nvim
-rbgrouleff/bclose.vim
-rbong/vim-flog
-rcarriga/nvim-dap-ui
-rcarriga/nvim-notify
-rcarriga/vim-ultest
-rebelot/kanagawa.nvim
-rhysd/clever-f.vim
-rhysd/committia.vim
-rhysd/conflict-marker.vim
-rhysd/devdocs.vim
-rhysd/git-messenger.vim
-rhysd/vim-clang-format
-rhysd/vim-grammarous
-rhysd/vim-operator-surround
-RishabhRD/nvim-lsputils
-RishabhRD/popfix
-rktjmp/fwatch.nvim
-rktjmp/lush.nvim
-rmagatti/auto-session
-rmagatti/goto-preview
-RobertAudi/securemodelines
-rodjek/vim-puppet
-romainl/vim-cool
-romainl/vim-qf
-romainl/vim-qlist
-roman/golden-ratio
-romgrk/barbar.nvim
-romgrk/nvim-treesitter-context
-ron-rs/ron.vim
-ron89/thesaurus_query.vim
-roxma/nvim-cm-racer
-roxma/nvim-completion-manager
-roxma/nvim-yarp
-roxma/vim-tmux-clipboard
-RRethy/nvim-base16
-RRethy/vim-hexokinase
-RRethy/vim-illuminate
-rstacruz/vim-closer
-ruanyl/vim-gh-line
-ruifm/gitlinker.nvim
-rust-lang/rust.vim
-ryanoasis/vim-devicons
-ryvnf/readline.vim
-saadparwaiz1/cmp_luasnip
-saecki/crates.nvim
-sainnhe/edge
-sainnhe/everforest
-sainnhe/gruvbox-material
-sainnhe/sonokai
-sakhnik/nvim-gdb
-saltstack/salt-vim
-samoshkin/vim-mergetool
-sbdchd/neoformat
-sblumentritt/bitbake.vim
-scalameta/nvim-metals
-sdiehl/vim-ormolu
-sebastianmarkow/deoplete-rust
-SevereOverfl0w/deoplete-github
-Shatur/neovim-ayu
-shaunsingh/moonlight.nvim@pure-lua
-shaunsingh/nord.nvim
-sheerun/vim-polyglot
-shinchu/lightline-gruvbox.vim
-Shougo/context_filetype.vim
-Shougo/defx.nvim
-Shougo/denite.nvim
-Shougo/deol.nvim
-Shougo/deoplete.nvim
-Shougo/echodoc.vim
-Shougo/neco-syntax
-Shougo/neco-vim
-Shougo/neocomplete.vim
-Shougo/neoinclude.vim
-Shougo/neomru.vim
-Shougo/neosnippet-snippets
-Shougo/neosnippet.vim
-Shougo/neoyank.vim
-Shougo/tabpagebuffer.vim
-Shougo/unite.vim
-Shougo/vimfiler.vim
-Shougo/vimproc.vim
-Shougo/vimshell.vim
-shumphrey/fugitive-gitlab.vim
-sickill/vim-pasta
-SidOfc/mkdx
-simnalamburt/vim-mundo
-simrat39/rust-tools.nvim
-simrat39/symbols-outline.nvim
-sindrets/diffview.nvim
-sindrets/winshift.nvim
-SirVer/ultisnips
-sjl/gundo.vim
-sjl/splice.vim
-sk1418/last256
-skywind3000/asyncrun.vim
-skywind3000/asynctasks.vim
-slashmili/alchemist.vim
-smiteshp/nvim-gps
-sodapopcan/vim-twiggy
-solarnz/arcanist.vim
-sonph/onehalf
-sotte/presenting.vim
-SpaceVim/SpaceVim
-spywhere/lightline-lsp
-srcery-colors/srcery-vim
-steelsojka/completion-buffers
-steelsojka/pears.nvim
-stefandtw/quickfix-reflector.vim
-stephpy/vim-yaml
-stevearc/aerial.nvim
-stevearc/dressing.nvim
-stsewd/fzf-checkout.vim
-sudormrfbin/cheatsheet.nvim
-sunaku/vim-dasht
-sunjon/Shade.nvim
-svermeulen/vim-subversive
-symphorien/vim-nixhash
-t9md/vim-choosewin
-t9md/vim-smalls
-TaDaa/vimade
-takac/vim-hardtime
-tamago324/compe-zsh
-tamago324/lir.nvim
-tami5/compe-conjure
-tami5/lispdocs.nvim
-tami5/lspsaga.nvim
-tami5/sqlite.lua
-tbastos/vim-lua
-tbodt/deoplete-tabnine
-ternjs/tern_for_vim
-terrortylor/nvim-comment
-terryma/vim-expand-region
-terryma/vim-multiple-cursors
-tex/vimpreviewpandoc
-Th3Whit3Wolf/one-nvim
-theHamsta/nvim-dap-virtual-text
-ThePrimeagen/git-worktree.nvim
-ThePrimeagen/harpoon
-theprimeagen/refactoring.nvim
-ThePrimeagen/vim-apm
-thinca/vim-ft-diff_fold
-thinca/vim-prettyprint
-thinca/vim-quickrun
-thinca/vim-scouter
-thinca/vim-themis
-thinca/vim-visualstar
-thirtythreeforty/lessspace.vim
-thosakwe/vim-flutter
-tiagofumo/vim-nerdtree-syntax-highlight
-tikhomirov/vim-glsl
-TimUntersberger/neogit
-tjdevries/colorbuddy.nvim
-tjdevries/nlua.nvim
-tjdevries/train.nvim
-tmhedberg/SimpylFold
-tmsvg/pear-tree
-tmux-plugins/vim-tmux
-tmux-plugins/vim-tmux-focus-events
-tom-anders/telescope-vim-bookmarks.nvim
-tomasiser/vim-code-dark
-tomasr/molokai
-tomlion/vim-solidity
-tommcdo/vim-exchange
-tommcdo/vim-fubitive
-tommcdo/vim-lion
-tommcdo/vim-ninja-feet
-tomtom/tcomment_vim
-tomtom/tlib_vim
-tools-life/taskwiki
-towolf/vim-helm
-tpope/vim-abolish
-tpope/vim-capslock
-tpope/vim-commentary
-tpope/vim-dadbod
-tpope/vim-dispatch
-tpope/vim-endwise
-tpope/vim-eunuch
-tpope/vim-fireplace
-tpope/vim-flagship
-tpope/vim-fugitive
-tpope/vim-git
-tpope/vim-liquid
-tpope/vim-obsession
-tpope/vim-pathogen
-tpope/vim-projectionist
-tpope/vim-ragtag
-tpope/vim-rails
-tpope/vim-repeat
-tpope/vim-rhubarb
-tpope/vim-rsi
-tpope/vim-salve
-tpope/vim-scriptease
-tpope/vim-sensible
-tpope/vim-sexp-mappings-for-regular-people
-tpope/vim-sleuth
-tpope/vim-speeddating
-tpope/vim-surround
-tpope/vim-tbone
-tpope/vim-unimpaired
-tpope/vim-vinegar
-travitch/hasksyn
-tremor-rs/tremor-vim
-triglav/vim-visual-increment
-troydm/zoomwintab.vim
-turbio/bracey.vim
-tversteeg/registers.nvim
-tweekmonster/wstrip.vim
-twerth/ir_black
-twinside/vim-haskellconceal
-Twinside/vim-hoogle
-tyru/caw.vim
-tyru/open-browser-github.vim
-tyru/open-browser.vim
-tzachar/cmp-tabnine
-tzachar/compe-tabnine
-uarun/vim-protobuf
-udalov/kotlin-vim
-ujihisa/neco-look
-unblevable/quick-scope
-ur4ltz/surround.nvim
-urbit/hoon.vim
-Valloric/MatchTagAlways
-Valodim/deoplete-notmuch
-vhda/verilog_systemverilog.vim
-vifm/vifm.vim
-vigoux/LanguageTool.nvim
-vijaymarupudi/nvim-fzf
-vijaymarupudi/nvim-fzf-commands
-vim-airline/vim-airline
-vim-airline/vim-airline-themes
-vim-autoformat/vim-autoformat
-vim-erlang/vim-erlang-compiler
-vim-erlang/vim-erlang-omnicomplete
-vim-erlang/vim-erlang-runtime
-vim-erlang/vim-erlang-tags
-vim-pandoc/vim-pandoc
-vim-pandoc/vim-pandoc-after
-vim-pandoc/vim-pandoc-syntax
-vim-python/python-syntax
-vim-ruby/vim-ruby
-vim-scripts/a.vim
-vim-scripts/align
-vim-scripts/argtextobj.vim
-vim-scripts/autoload_cscope.vim
-vim-scripts/bats.vim
-vim-scripts/BufOnly.vim
-vim-scripts/changeColorScheme.vim
-vim-scripts/Colour-Sampler-Pack
-vim-scripts/DoxygenToolkit.vim
-vim-scripts/emodeline
-vim-scripts/gitignore.vim
-vim-scripts/Improved-AnsiEsc
-vim-scripts/jdaddy.vim
-vim-scripts/matchit.zip
-vim-scripts/mayansmoke
-vim-scripts/PreserveNoEOL
-vim-scripts/prev_indent
-vim-scripts/random.vim
-vim-scripts/rcshell.vim
-vim-scripts/Rename
-vim-scripts/ReplaceWithRegister
-vim-scripts/ShowMultiBase
-vim-scripts/tabmerge
-vim-scripts/taglist.vim
-vim-scripts/timestamp.vim
-vim-scripts/utl.vim
-vim-scripts/vis
-vim-scripts/wombat256.vim
-vim-scripts/YankRing.vim
-vim-syntastic/syntastic
-vim-test/vim-test
-vim-utils/vim-husk
-Vimjas/vim-python-pep8-indent
-vimlab/split-term.vim
-vimoutliner/vimoutliner
-vimpostor/vim-tpipeline
-vimsence/vimsence
-vimwiki/vimwiki
-vito-c/jq.vim
-vmchale/ats-vim
-vmchale/dhall-vim
-vn-ki/coc-clap
-voldikss/vim-floaterm
-vuki656/package-info.nvim
-VundleVim/Vundle.vim
-w0ng/vim-hybrid
-wakatime/vim-wakatime
-wannesm/wmgraphviz.vim
-wbthomason/packer.nvim
-weilbith/nvim-code-action-menu
-wellle/targets.vim
-wellle/tmux-complete.vim
-wesQ3/vim-windowswap
-wfxr/minimap.vim
-whonore/Coqtail
-will133/vim-dirdiff
-wincent/command-t
-wincent/ferret
-wincent/terminus
-windwp/nvim-autopairs
-windwp/nvim-ts-autotag
-winston0410/cmd-parser.nvim
-winston0410/range-highlight.nvim
-wlangstroth/vim-racket
-wsdjeg/vim-fetch
-xavierd/clang_complete
-xolox/vim-easytags
-xolox/vim-misc
-xuhdev/vim-latex-live-preview
-Xuyuanp/nerdtree-git-plugin
-Xuyuanp/scrollbar.nvim
-yamatsum/nvim-cursorline
-yamatsum/nvim-nonicons
-ycm-core/YouCompleteMe
-yegappan/mru
-Yggdroot/hiPairs
-Yggdroot/indentLine
-Yggdroot/LeaderF
-Yilin-Yang/vim-markbar
-yssl/QFEnter
-yuki-yano/ncm2-dictionary
-yunlingz/ci_dark
-zah/nim.vim
-zhou13/vim-easyescape
-ziglang/zig.vim
+repo,branch,alias
+https://github.com/euclidianAce/BetterLua.vim/,,
+https://github.com/vim-scripts/BufOnly.vim/,,
+https://github.com/chrisbra/CheckAttach/,,
+https://github.com/vim-scripts/Colour-Sampler-Pack/,,
+https://github.com/whonore/Coqtail/,,
+https://github.com/vim-scripts/DoxygenToolkit.vim/,,
+https://github.com/numToStr/FTerm.nvim/,,
+https://github.com/antoinemadec/FixCursorHold.nvim/,,
+https://github.com/vim-scripts/Improved-AnsiEsc/,,
+https://github.com/martinda/Jenkinsfile-vim-syntax/,,
+https://github.com/autozimu/LanguageClient-neovim/,,
+https://github.com/vigoux/LanguageTool.nvim/,,
+https://github.com/Yggdroot/LeaderF/,,
+https://github.com/Valloric/MatchTagAlways/,,
+https://github.com/numToStr/Navigator.nvim/,,
+https://github.com/overcache/NeoSolarized/,,
+https://github.com/chrisbra/NrrwRgn/,,
+https://github.com/vim-scripts/PreserveNoEOL/,,
+https://github.com/yssl/QFEnter/,,
+https://github.com/chrisbra/Recover.vim/,,
+https://github.com/vim-scripts/Rename/,,
+https://github.com/vim-scripts/ReplaceWithRegister/,,
+https://github.com/b0o/SchemaStore.nvim/,,
+https://github.com/sunjon/Shade.nvim/,,
+https://github.com/vim-scripts/ShowMultiBase/,,
+https://github.com/tmhedberg/SimpylFold/,,
+https://github.com/jaredgorski/SpaceCamp/,,
+https://github.com/SpaceVim/SpaceVim/,,
+https://github.com/ackyshake/Spacegray.vim/,,
+https://github.com/chrisbra/SudoEdit.vim/,,
+https://github.com/Pocco81/TrueZen.nvim/,,
+https://github.com/ackyshake/VimCompletesMe/,,
+https://github.com/hsitz/VimOrganizer/,,
+https://github.com/VundleVim/Vundle.vim/,,
+https://github.com/esneider/YUNOcommit.vim/,,
+https://github.com/vim-scripts/YankRing.vim/,,
+https://github.com/ycm-core/YouCompleteMe/,,
+https://github.com/vim-scripts/a.vim/,,
+https://github.com/mileszs/ack.vim/,,
+https://github.com/eikenb/acp/,,
+https://github.com/stevearc/aerial.nvim/,,
+https://github.com/derekelkins/agda-vim/,,
+https://github.com/slashmili/alchemist.vim/,,
+https://github.com/dense-analysis/ale/,,
+https://github.com/vim-scripts/align/,,
+https://github.com/Olical/aniseed/,,
+https://github.com/pearofducks/ansible-vim/,,
+https://github.com/ckarnell/antonys-macro-repeater/,,
+https://github.com/solarnz/arcanist.vim/,,
+https://github.com/vim-scripts/argtextobj.vim/,,
+https://github.com/prabirshrestha/async.vim/,,
+https://github.com/prabirshrestha/asyncomplete-lsp.vim/,,
+https://github.com/prabirshrestha/asyncomplete.vim/,,
+https://github.com/skywind3000/asyncrun.vim/,,
+https://github.com/skywind3000/asynctasks.vim/,,
+https://github.com/vmchale/ats-vim/,,
+https://github.com/ray-x/aurora/,,
+https://github.com/hotwatermorning/auto-git-diff/,,
+https://github.com/jiangmiao/auto-pairs/,,
+https://github.com/rmagatti/auto-session/,,
+https://github.com/vim-scripts/autoload_cscope.vim/,,
+https://github.com/rafi/awesome-vim-colorschemes/,,
+https://github.com/ayu-theme/ayu-vim/,,
+https://github.com/romgrk/barbar.nvim/,,
+https://github.com/chriskempson/base16-vim/,,
+https://github.com/vim-scripts/bats.vim/,,
+https://github.com/rbgrouleff/bclose.vim/,,
+https://github.com/max397574/better-escape.nvim/,,
+https://github.com/sblumentritt/bitbake.vim/,,
+https://github.com/blueballs-theme/blueballs-neovim/,,
+https://github.com/turbio/bracey.vim/,,
+https://github.com/fruit-in/brainfuck-vim/,,
+https://github.com/famiu/bufdelete.nvim/,,
+https://github.com/jlanzarotta/bufexplorer/,,
+https://github.com/akinsho/bufferline.nvim/,,
+https://github.com/mattn/calendar-vim/,,mattn-calendar-vim
+https://github.com/itchyny/calendar.vim/,,
+https://github.com/bkad/camelcasemotion/,,
+https://github.com/tyru/caw.vim/,,
+https://github.com/ms-jpq/chadtree/,,chad
+https://github.com/vim-scripts/changeColorScheme.vim/,,
+https://github.com/sudormrfbin/cheatsheet.nvim/,,
+https://github.com/yunlingz/ci_dark/,,
+https://github.com/projekt0n/circles.nvim/,,
+https://github.com/xavierd/clang_complete/,,
+https://github.com/rhysd/clever-f.vim/,,
+https://github.com/bbchung/clighter8/,,
+https://github.com/winston0410/cmd-parser.nvim/,,
+https://github.com/hrsh7th/cmp-buffer/,,
+https://github.com/hrsh7th/cmp-calc/,,
+https://github.com/hrsh7th/cmp-cmdline/,,
+https://github.com/PaterJason/cmp-conjure/,,
+https://github.com/hrsh7th/cmp-emoji/,,
+https://github.com/kdheepak/cmp-latex-symbols/,,
+https://github.com/hrsh7th/cmp-nvim-lsp/,,
+https://github.com/hrsh7th/cmp-nvim-lsp-document-symbol/,,
+https://github.com/hrsh7th/cmp-nvim-lua/,,
+https://github.com/quangnguyen30192/cmp-nvim-ultisnips/,,
+https://github.com/hrsh7th/cmp-omni/,,
+https://github.com/jc-doyle/cmp-pandoc-references/,,
+https://github.com/hrsh7th/cmp-path/,,
+https://github.com/f3fora/cmp-spell/,,
+https://github.com/tzachar/cmp-tabnine/,,
+https://github.com/andersevenrud/cmp-tmux/,,
+https://github.com/ray-x/cmp-treesitter/,,
+https://github.com/lukas-reineke/cmp-under-comparator/,,
+https://github.com/hrsh7th/cmp-vsnip/,,
+https://github.com/saadparwaiz1/cmp_luasnip/,,
+https://github.com/vn-ki/coc-clap/,,
+https://github.com/neoclide/coc-denite/,,
+https://github.com/antoinemadec/coc-fzf/,,
+https://github.com/josa42/coc-lua/,,
+https://github.com/neoclide/coc-neco/,,
+https://github.com/iamcco/coc-spell-checker/,,
+https://github.com/coc-extensions/coc-svelte/,,
+https://github.com/iamcco/coc-tailwindcss/,,
+https://github.com/neoclide/coc.nvim/,release,
+https://github.com/metakirby5/codi.vim/,,
+https://github.com/tjdevries/colorbuddy.nvim/,,
+https://github.com/lilydjwg/colorizer/,,
+https://github.com/wincent/command-t/,,
+https://github.com/numtostr/comment.nvim/,,
+https://github.com/rhysd/committia.vim/,,
+https://github.com/tami5/compe-conjure/,,
+https://github.com/GoldsteinE/compe-latex-symbols/,,
+https://github.com/tzachar/compe-tabnine/,,
+https://github.com/tamago324/compe-zsh/,,
+https://github.com/steelsojka/completion-buffers/,,
+https://github.com/nvim-lua/completion-nvim/,,
+https://github.com/aca/completion-tabnine/,,
+https://github.com/nvim-treesitter/completion-treesitter/,,
+https://github.com/chikatoike/concealedyank.vim/,,
+https://github.com/rhysd/conflict-marker.vim/,,
+https://github.com/Olical/conjure/,,
+https://github.com/Shougo/context_filetype.vim/,,
+https://github.com/github/copilot.vim/,,
+https://github.com/jvoorhis/coq.vim/,,
+https://github.com/ms-jpq/coq_nvim/,,
+https://github.com/lfilho/cosco.vim/,,
+https://github.com/nixprime/cpsm/,,
+https://github.com/saecki/crates.nvim/,,
+https://github.com/godlygeek/csapprox/,,
+https://github.com/chrisbra/csv.vim/,,
+https://github.com/JazzCore/ctrlp-cmatcher/,,
+https://github.com/FelikZ/ctrlp-py-matcher/,,
+https://github.com/amiorin/ctrlp-z/,,
+https://github.com/ctrlpvim/ctrlp.vim/,,
+https://github.com/dart-lang/dart-vim-plugin/,,
+https://github.com/glepnir/dashboard-nvim/,,
+https://github.com/kristijanhusak/defx-git/,,
+https://github.com/kristijanhusak/defx-icons/,,
+https://github.com/Shougo/defx.nvim/,,
+https://github.com/Raimondi/delimitMate/,,
+https://github.com/neoclide/denite-extra/,,
+https://github.com/neoclide/denite-git/,,
+https://github.com/Shougo/denite.nvim/,,
+https://github.com/Shougo/deol.nvim/,,
+https://github.com/deoplete-plugins/deoplete-clang/,,
+https://github.com/deoplete-plugins/deoplete-dictionary/,,
+https://github.com/ponko2/deoplete-fish/,,
+https://github.com/SevereOverfl0w/deoplete-github/,,
+https://github.com/deoplete-plugins/deoplete-go/,,
+https://github.com/Inazuma110/deoplete-greek/,,
+https://github.com/deoplete-plugins/deoplete-jedi/,,
+https://github.com/JuliaEditorSupport/deoplete-julia/,,
+https://github.com/nicoe/deoplete-khard/,,
+https://github.com/deoplete-plugins/deoplete-lsp/,,
+https://github.com/Valodim/deoplete-notmuch/,,
+https://github.com/kristijanhusak/deoplete-phpactor/,,
+https://github.com/sebastianmarkow/deoplete-rust/,,
+https://github.com/tbodt/deoplete-tabnine/,,
+https://github.com/carlitux/deoplete-ternjs/,,
+https://github.com/lighttiger2505/deoplete-vim-lsp/,,
+https://github.com/deoplete-plugins/deoplete-zsh/,,
+https://github.com/Shougo/deoplete.nvim/,,
+https://github.com/rhysd/devdocs.vim/,,
+https://github.com/vmchale/dhall-vim/,,
+https://github.com/onsails/diaglist.nvim/,,
+https://github.com/nvim-lua/diagnostic-nvim/,,
+https://github.com/sindrets/diffview.nvim/,,
+https://github.com/direnv/direnv.vim/,,
+https://github.com/doki-theme/doki-theme-vim/,,
+https://github.com/stevearc/dressing.nvim/,,
+https://github.com/Shougo/echodoc.vim/,,
+https://github.com/sainnhe/edge/,,
+https://github.com/editorconfig/editorconfig-vim/,,
+https://github.com/gpanders/editorconfig.nvim/,,
+https://github.com/elmcast/elm-vim/,,
+https://github.com/dmix/elvish.vim/,,
+https://github.com/mattn/emmet-vim/,,
+https://github.com/vim-scripts/emodeline/,,
+https://github.com/sainnhe/everforest/,,
+https://github.com/fenetikm/falcon/,,
+https://github.com/brooth/far.vim/,,
+https://github.com/konfekt/fastfold/,,
+https://github.com/lilydjwg/fcitx.vim/,fcitx5,
+https://github.com/feline-nvim/feline.nvim/,,
+https://github.com/bakpakin/fennel.vim/,,
+https://github.com/lambdalisue/fern.vim/,,
+https://github.com/wincent/ferret/,,
+https://github.com/j-hui/fidget.nvim/,,
+https://github.com/bogado/file-line/,,
+https://github.com/andviro/flake8-vim/,,
+https://github.com/ncm2/float-preview.nvim/,,
+https://github.com/fhill2/floating.nvim/,,
+https://github.com/floobits/floobits-neovim/,,
+https://github.com/mhartington/formatter.nvim/,,
+https://github.com/megaannum/forms/,,
+https://github.com/rafamadriz/friendly-snippets/,,
+https://github.com/raghur/fruzzy/,,
+https://github.com/shumphrey/fugitive-gitlab.vim/,,
+https://github.com/BeneCollyridam/futhark-vim/,,
+https://github.com/rktjmp/fwatch.nvim/,,
+https://github.com/stsewd/fzf-checkout.vim/,,
+https://github.com/gfanto/fzf-lsp.nvim/,,
+https://github.com/junegunn/fzf.vim/,,
+https://github.com/NTBBloodbath/galaxyline.nvim/,,
+https://github.com/jsfaint/gen_tags.vim/,,
+https://github.com/gentoo/gentoo-syntax/,,
+https://github.com/ndmitchell/ghcid/,,
+https://github.com/eagletmt/ghcmod-vim/,,
+https://github.com/lambdalisue/gina.vim/,,
+https://github.com/f-person/git-blame.nvim/,,
+https://github.com/rhysd/git-messenger.vim/,,
+https://github.com/ThePrimeagen/git-worktree.nvim/,,
+https://github.com/vim-scripts/gitignore.vim/,,
+https://github.com/ruifm/gitlinker.nvim/,,
+https://github.com/lewis6991/gitsigns.nvim/,,
+https://github.com/gregsexton/gitv/,,
+https://github.com/gleam-lang/gleam.vim/,,
+https://github.com/ellisonleao/glow.nvim/,,
+https://github.com/roman/golden-ratio/,,
+https://github.com/buoto/gotests-vim/,,
+https://github.com/rmagatti/goto-preview/,,
+https://github.com/junegunn/goyo.vim/,,
+https://github.com/liuchengxu/graphviz.vim/,,
+https://github.com/gruvbox-community/gruvbox/,,gruvbox-community
+https://github.com/morhetz/gruvbox/,,
+https://github.com/eddyekofo94/gruvbox-flat.nvim/,,
+https://github.com/sainnhe/gruvbox-material/,,
+https://github.com/ellisonleao/gruvbox.nvim/,,
+https://github.com/sjl/gundo.vim/,,
+https://github.com/junegunn/gv.vim/,,
+https://github.com/ThePrimeagen/harpoon/,,
+https://github.com/neovimhaskell/haskell-vim/,,
+https://github.com/travitch/hasksyn/,,
+https://github.com/Yggdroot/hiPairs/,,
+https://github.com/mpickering/hlint-refactor-vim/,,
+https://github.com/edluffy/hologram.nvim/,,
+https://github.com/urbit/hoon.vim/,,
+https://github.com/phaazon/hop.nvim/,,
+https://github.com/rktjmp/hotpot.nvim/,,
+https://github.com/mboughaba/i3config.vim/,,
+https://github.com/cocopon/iceberg.vim/,,
+https://github.com/idris-hackers/idris-vim/,,
+https://github.com/edwinb/idris2-vim/,,
+https://github.com/lewis6991/impatient.nvim/,,
+https://github.com/nishigori/increment-activator/,,
+https://github.com/haya14busa/incsearch-easymotion.vim/,,
+https://github.com/haya14busa/incsearch.vim/,,
+https://github.com/lukas-reineke/indent-blankline.nvim/,,
+https://github.com/Yggdroot/indentLine/,,
+https://github.com/ciaranm/inkpot/,,
+https://github.com/parsonsmatt/intero-neovim/,,
+https://github.com/keith/investigate.vim/,,
+https://github.com/neutaaaaan/iosvkem/,,
+https://github.com/twerth/ir_black/,,
+https://github.com/haya14busa/is.vim/,,
+https://github.com/vim-scripts/jdaddy.vim/,,
+https://github.com/davidhalter/jedi-vim/,,
+https://github.com/metalelf0/jellybeans-nvim/,,
+https://github.com/nanotech/jellybeans.vim/,,
+https://github.com/vito-c/jq.vim/,,
+https://github.com/neoclide/jsonc.vim/,,
+https://github.com/JuliaEditorSupport/julia-vim/,,
+https://github.com/rebelot/kanagawa.nvim/,,
+https://github.com/b3nj5m1n/kommentary/,,
+https://github.com/udalov/kotlin-vim/,,
+https://github.com/qnighy/lalrpop.vim/,,
+https://github.com/sk1418/last256/,,
+https://github.com/latex-box-team/latex-box/,,
+https://github.com/kdheepak/lazygit.nvim/,,
+https://github.com/Julian/lean.nvim/,,
+https://github.com/leanprover/lean.vim/,,
+https://github.com/camspiers/lens.vim/,,
+https://github.com/thirtythreeforty/lessspace.vim/,,
+https://github.com/cohama/lexima.vim/,,
+https://github.com/ptzz/lf.vim/,,
+https://github.com/LucHermitte/lh-brackets/,,
+https://github.com/LucHermitte/lh-vim-lib/,,
+https://github.com/maximbaz/lightline-ale/,,
+https://github.com/mengelbrecht/lightline-bufferline/,,
+https://github.com/shinchu/lightline-gruvbox.vim/,,
+https://github.com/spywhere/lightline-lsp/,,
+https://github.com/itchyny/lightline.vim/,,
+https://github.com/ggandor/lightspeed.nvim/,,
+https://github.com/junegunn/limelight.vim/,,
+https://github.com/lf-lang/lingua-franca.vim/,,
+https://github.com/tamago324/lir.nvim/,,
+https://github.com/tami5/lispdocs.nvim/,,
+https://github.com/ldelossa/litee-calltree.nvim/,,
+https://github.com/ldelossa/litee-filetree.nvim/,,
+https://github.com/ldelossa/litee-symboltree.nvim/,,
+https://github.com/ldelossa/litee.nvim/,,
+https://github.com/folke/lsp-colors.nvim/,,
+https://github.com/ahmedkhalf/lsp-rooter.nvim/,,
+https://github.com/nvim-lua/lsp-status.nvim/,,
+https://github.com/nvim-lua/lsp_extensions.nvim/,,
+https://git.sr.ht/~whynothugo/lsp_lines.nvim,,
+https://github.com/ray-x/lsp_signature.nvim/,,
+https://github.com/onsails/lspkind-nvim/,,
+https://github.com/tami5/lspsaga.nvim/,,
+https://github.com/folke/lua-dev.nvim/,,
+https://github.com/arkav/lualine-lsp-progress/,,
+https://github.com/nvim-lualine/lualine.nvim/,,
+https://github.com/l3mon4d3/luasnip/,,
+https://github.com/alvarosevilla95/luatab.nvim/,,
+https://github.com/rktjmp/lush.nvim/,,
+https://github.com/mkasa/lushtags/,,
+https://github.com/iamcco/markdown-preview.nvim/,,
+https://github.com/chentau/marks.nvim/,,
+https://github.com/vim-scripts/matchit.zip/,,
+https://github.com/marko-cerovac/material.nvim/,,
+https://github.com/vim-scripts/mayansmoke/,,
+https://github.com/echasnovski/mini.nvim/,,
+https://github.com/wfxr/minimap.vim/,,
+https://github.com/jose-elias-alvarez/minsnip.nvim/,,
+https://github.com/jghauser/mkdir.nvim/,main,
+https://github.com/SidOfc/mkdx/,,
+https://github.com/tomasr/molokai/,,
+https://github.com/shaunsingh/moonlight.nvim/,,pure-lua
+https://github.com/yegappan/mru/,,
+https://github.com/ncm2/ncm2/,,
+https://github.com/ncm2/ncm2-bufword/,,
+https://github.com/ncm2/ncm2-cssomni/,,
+https://github.com/yuki-yano/ncm2-dictionary/,,
+https://github.com/ncm2/ncm2-github/,,
+https://github.com/ncm2/ncm2-html-subscope/,,
+https://github.com/ncm2/ncm2-jedi/,,
+https://github.com/ncm2/ncm2-markdown-subscope/,,
+https://github.com/ncm2/ncm2-neoinclude/,,
+https://github.com/ncm2/ncm2-neosnippet/,,
+https://github.com/ncm2/ncm2-path/,,
+https://github.com/ncm2/ncm2-syntax/,,
+https://github.com/ncm2/ncm2-tagprefix/,,
+https://github.com/ncm2/ncm2-tmux/,,
+https://github.com/ncm2/ncm2-ultisnips/,,
+https://github.com/ncm2/ncm2-vim/,,
+https://github.com/eagletmt/neco-ghc/,,
+https://github.com/ujihisa/neco-look/,,
+https://github.com/Shougo/neco-syntax/,,
+https://github.com/Shougo/neco-vim/,,
+https://github.com/Shougo/neocomplete.vim/,,
+https://github.com/KeitaNakamura/neodark.vim/,,
+https://github.com/sbdchd/neoformat/,,
+https://github.com/TimUntersberger/neogit/,,
+https://github.com/Shougo/neoinclude.vim/,,
+https://github.com/neomake/neomake/,,
+https://github.com/Shougo/neomru.vim/,,
+https://github.com/rafamadriz/neon/,,
+https://github.com/nvim-neorg/neorg/,,
+https://github.com/karb94/neoscroll.nvim/,,
+https://github.com/Shougo/neosnippet-snippets/,,
+https://github.com/Shougo/neosnippet.vim/,,
+https://github.com/kassio/neoterm/,,
+https://github.com/rose-pine/neovim/,main,rose-pine
+https://github.com/Shatur/neovim-ayu/,,
+https://github.com/cloudhead/neovim-fuzzy/,,
+https://github.com/jeffkreeftmeijer/neovim-sensible/,,
+https://github.com/Shougo/neoyank.vim/,,
+https://github.com/preservim/nerdcommenter/,,
+https://github.com/preservim/nerdtree/,,
+https://github.com/Xuyuanp/nerdtree-git-plugin/,,
+https://github.com/oberblastmeister/neuron.nvim/,,
+https://github.com/fiatjaf/neuron.vim/,,
+https://github.com/chr4/nginx.vim/,,
+https://github.com/EdenEast/nightfox.nvim/,,
+https://github.com/zah/nim.vim/,,
+https://github.com/tjdevries/nlua.nvim/,,
+https://github.com/mcchrish/nnn.vim/,,
+https://github.com/arcticicestudio/nord-vim/,master,
+https://github.com/shaunsingh/nord.nvim/,,
+https://github.com/andersevenrud/nordic.nvim/,,
+https://github.com/jlesquembre/nterm.nvim/,,
+https://github.com/MunifTanjim/nui.nvim/,main,
+https://github.com/jose-elias-alvarez/null-ls.nvim/,,
+https://github.com/nacro90/numb.nvim/,,
+https://github.com/ChristianChiarulli/nvcode-color-schemes.vim/,,
+https://github.com/catppuccin/nvim/,,catppuccin-nvim
+https://github.com/nathanmsmith/nvim-ale-diagnostic/,,
+https://github.com/windwp/nvim-autopairs/,,
+https://github.com/RRethy/nvim-base16/,,
+https://github.com/kevinhwang91/nvim-bqf/,,
+https://github.com/ojroques/nvim-bufdel/,,
+https://github.com/roxma/nvim-cm-racer/,,
+https://github.com/hrsh7th/nvim-cmp/,,
+https://github.com/weilbith/nvim-code-action-menu/,,
+https://github.com/norcalli/nvim-colorizer.lua/,,
+https://github.com/terrortylor/nvim-comment/,,
+https://github.com/hrsh7th/nvim-compe/,,
+https://github.com/roxma/nvim-completion-manager/,,
+https://github.com/yamatsum/nvim-cursorline/,,
+https://github.com/mfussenegger/nvim-dap/,,
+https://github.com/rcarriga/nvim-dap-ui/,,
+https://github.com/theHamsta/nvim-dap-virtual-text/,,
+https://github.com/allendang/nvim-expand-expr/,,
+https://github.com/vijaymarupudi/nvim-fzf/,,
+https://github.com/vijaymarupudi/nvim-fzf-commands/,,
+https://github.com/sakhnik/nvim-gdb/,,
+https://github.com/smiteshp/nvim-gps/,,
+https://github.com/Iron-E/nvim-highlite/,,
+https://github.com/kevinhwang91/nvim-hlslens/,,
+https://github.com/neovimhaskell/nvim-hs.vim/,,
+https://github.com/mfussenegger/nvim-jdtls/,,
+https://github.com/gennaro-tedesco/nvim-jqx/,,
+https://github.com/kosayoda/nvim-lightbulb/,,
+https://github.com/josa42/nvim-lightline-lsp/,,
+https://github.com/mfussenegger/nvim-lint/,,
+https://github.com/jose-elias-alvarez/nvim-lsp-ts-utils/,,
+https://github.com/neovim/nvim-lspconfig/,,
+https://github.com/RishabhRD/nvim-lsputils/,,
+https://github.com/scalameta/nvim-metals/,,
+https://github.com/AckslD/nvim-neoclip.lua/,,
+https://github.com/yamatsum/nvim-nonicons/,,
+https://github.com/rcarriga/nvim-notify/,,
+https://github.com/gennaro-tedesco/nvim-peekup/,,
+https://github.com/dstein64/nvim-scrollview/,,
+https://github.com/ishan9299/nvim-solarized-lua/,,
+https://github.com/nvim-pack/nvim-spectre/,,
+https://github.com/norcalli/nvim-terminal.lua/,,
+https://github.com/kyazdani42/nvim-tree.lua/,,
+https://github.com/nvim-treesitter/nvim-treesitter/,,
+https://github.com/romgrk/nvim-treesitter-context/,,
+https://github.com/eddiebergman/nvim-treesitter-pyfold/,,
+https://github.com/nvim-treesitter/nvim-treesitter-refactor/,,
+https://github.com/nvim-treesitter/nvim-treesitter-textobjects/,,
+https://github.com/windwp/nvim-ts-autotag/,,
+https://github.com/joosepalviste/nvim-ts-context-commentstring/,,
+https://github.com/p00f/nvim-ts-rainbow/,,
+https://github.com/kyazdani42/nvim-web-devicons/,,
+https://github.com/AckslD/nvim-whichkey-setup.lua/,,
+https://github.com/roxma/nvim-yarp/,,
+https://github.com/haringsrob/nvim_context_vt/,,
+https://github.com/neovim/nvimdev.nvim/,,
+https://github.com/glepnir/oceanic-material/,,
+https://github.com/mhartington/oceanic-next/,,
+https://github.com/pwntester/octo.nvim/,,
+https://github.com/Th3Whit3Wolf/one-nvim/,,
+https://github.com/navarasu/onedark.nvim/,,
+https://github.com/joshdick/onedark.vim/,,
+https://github.com/olimorris/onedarkpro.nvim/,,
+https://github.com/sonph/onehalf/,,
+https://github.com/tyru/open-browser-github.vim/,,
+https://github.com/tyru/open-browser.vim/,,
+https://github.com/nvim-orgmode/orgmode/,,
+https://github.com/vuki656/package-info.nvim/,,
+https://github.com/wbthomason/packer.nvim/,,
+https://github.com/drewtempelmeyer/palenight.vim/,,
+https://github.com/NLKNguyen/papercolor-theme/,,
+https://github.com/tmsvg/pear-tree/,,
+https://github.com/steelsojka/pears.nvim/,,
+https://github.com/andsild/peskcolor.vim/,,
+https://github.com/lifepillar/pgsql.vim/,,
+https://github.com/motus/pig.vim/,,
+https://github.com/aklt/plantuml-syntax/,,
+https://github.com/nvim-treesitter/playground/,,
+https://github.com/nvim-lua/plenary.nvim/,,
+https://github.com/dleonard0/pony-vim-syntax/,,
+https://github.com/RishabhRD/popfix/,,
+https://github.com/nvim-lua/popup.nvim/,,
+https://github.com/andweeb/presence.nvim/,,
+https://github.com/sotte/presenting.vim/,,
+https://github.com/vim-scripts/prev_indent/,,
+https://github.com/ahmedkhalf/project.nvim/,,
+https://github.com/frigoeu/psc-ide-vim/,,
+https://github.com/purescript-contrib/purescript-vim/,,
+https://github.com/python-mode/python-mode/,,
+https://github.com/vim-python/python-syntax/,,
+https://github.com/AlphaTechnolog/pywal.nvim/,,
+https://github.com/unblevable/quick-scope/,,
+https://github.com/stefandtw/quickfix-reflector.vim/,,
+https://github.com/dannyob/quickfixstatus/,,
+https://github.com/luochen1990/rainbow/,,
+https://github.com/kien/rainbow_parentheses.vim/,,
+https://github.com/vim-scripts/random.vim/,,
+https://github.com/winston0410/range-highlight.nvim/,,
+https://github.com/rafaqz/ranger.vim/,,
+https://github.com/vim-scripts/rcshell.vim/,,
+https://github.com/ryvnf/readline.vim/,,
+https://github.com/theprimeagen/refactoring.nvim/,,
+https://github.com/tversteeg/registers.nvim/,,
+https://github.com/filipdutescu/renamer.nvim/,,
+https://github.com/NTBBloodbath/rest.nvim/,,
+https://github.com/gu-fan/riv.vim/,,
+https://github.com/kevinhwang91/rnvimr/,,
+https://github.com/mfukar/robotframework-vim/,,
+https://github.com/ron-rs/ron.vim/,,
+https://github.com/keith/rspec.vim/,,
+https://github.com/ccarpita/rtorrent-syntax-file/,,
+https://github.com/simrat39/rust-tools.nvim/,,
+https://github.com/rust-lang/rust.vim/,,
+https://github.com/hauleth/sad.vim/,,
+https://github.com/vmware-archive/salt-vim/,,
+https://github.com/Xuyuanp/scrollbar.nvim/,,
+https://github.com/RobertAudi/securemodelines/,,
+https://github.com/megaannum/self/,,
+https://github.com/jaxbot/semantic-highlight.vim/,,
+https://github.com/numirias/semshi/,,
+https://github.com/junegunn/seoul256.vim/,,
+https://github.com/osyo-manga/shabadou.vim/,,
+https://github.com/AndrewRadev/sideways.vim/,,
+https://github.com/lotabout/skim.vim/,,
+https://github.com/mopp/sky-color-clock.vim/,,
+https://github.com/kovisoft/slimv/,,
+https://github.com/gorkunov/smartpairs.vim/,,
+https://github.com/camspiers/snap/,,
+https://github.com/norcalli/snippets.nvim/,,
+https://github.com/sainnhe/sonokai/,,
+https://github.com/chikatoike/sourcemap.vim/,,
+https://github.com/liuchengxu/space-vim/,,
+https://github.com/ctjhoa/spacevim/,,
+https://github.com/chrisgeo/sparkup/,,
+https://github.com/edluffy/specs.nvim/,,
+https://github.com/sjl/splice.vim/,,
+https://github.com/vimlab/split-term.vim/,,
+https://github.com/AndrewRadev/splitjoin.vim/,,
+https://github.com/tami5/sqlite.lua/,,
+https://github.com/srcery-colors/srcery-vim/,,
+https://github.com/chr4/sslsecure.vim/,,
+https://github.com/luukvbaal/stabilize.nvim/,,
+https://github.com/eigenfoo/stan-vim/,,
+https://github.com/darfink/starsearch.vim/,,
+https://github.com/lambdalisue/suda.vim/,,
+https://github.com/ervandew/supertab/,,
+https://github.com/ur4ltz/surround.nvim/,,
+https://github.com/peterbjorgensen/sved/,,
+https://github.com/keith/swift.vim/,,
+https://github.com/AndrewRadev/switch.vim/,,
+https://github.com/simrat39/symbols-outline.nvim/,,
+https://github.com/vim-syntastic/syntastic/,,
+https://github.com/kdheepak/tabline.nvim/,,
+https://github.com/vim-scripts/tabmerge/,,
+https://github.com/codota/tabnine-vim/,,
+https://github.com/gcmt/taboo.vim/,,
+https://github.com/Shougo/tabpagebuffer.vim/,,
+https://github.com/godlygeek/tabular/,,
+https://github.com/AndrewRadev/tagalong.vim/,,
+https://github.com/preservim/tagbar/,,
+https://github.com/vim-scripts/taglist.vim/,,
+https://github.com/wellle/targets.vim/,,
+https://github.com/tools-life/taskwiki/,,
+https://github.com/tomtom/tcomment_vim/,,
+https://github.com/GustavoKatel/telescope-asynctasks.nvim/,,
+https://github.com/nvim-telescope/telescope-cheat.nvim/,,
+https://github.com/fannheyward/telescope-coc.nvim/,,
+https://github.com/nvim-telescope/telescope-dap.nvim/,,
+https://github.com/nvim-telescope/telescope-file-browser.nvim/,,
+https://github.com/nvim-telescope/telescope-frecency.nvim/,,
+https://github.com/nvim-telescope/telescope-fzf-native.nvim/,,
+https://github.com/nvim-telescope/telescope-fzf-writer.nvim/,,
+https://github.com/nvim-telescope/telescope-fzy-native.nvim/,,
+https://github.com/nvim-telescope/telescope-github.nvim/,,
+https://github.com/gbrlsnchs/telescope-lsp-handlers.nvim/,,
+https://github.com/nvim-telescope/telescope-project.nvim/,,
+https://github.com/nvim-telescope/telescope-symbols.nvim/,,
+https://github.com/nvim-telescope/telescope-ui-select.nvim/,,
+https://github.com/fhill2/telescope-ultisnips.nvim/,,
+https://github.com/tom-anders/telescope-vim-bookmarks.nvim/,,
+https://github.com/nvim-telescope/telescope-z.nvim/,,
+https://github.com/jvgrootveld/telescope-zoxide/,,
+https://github.com/nvim-telescope/telescope.nvim/,,
+https://github.com/jacoborus/tender.vim/,,
+https://github.com/wincent/terminus/,,
+https://github.com/oberblastmeister/termwrapper.nvim/,,
+https://github.com/ternjs/tern_for_vim/,,
+https://github.com/KeitaNakamura/tex-conceal.vim/,,
+https://github.com/ron89/thesaurus_query.vim/,,
+https://github.com/itchyny/thumbnail.vim/,,
+https://github.com/vim-scripts/timestamp.vim/,,
+https://github.com/tomtom/tlib_vim/,,
+https://github.com/wellle/tmux-complete.vim/,,
+https://github.com/edkolev/tmuxline.vim/,,
+https://github.com/folke/todo-comments.nvim/,,
+https://github.com/AmeerTaweel/todo.nvim/,,
+https://github.com/freitass/todo.txt-vim/,,
+https://github.com/akinsho/toggleterm.nvim/,,
+https://github.com/folke/tokyonight.nvim/,,
+https://github.com/markonm/traces.vim/,,
+https://github.com/tjdevries/train.nvim/,,
+https://github.com/tremor-rs/tremor-vim/,,
+https://github.com/folke/trouble.nvim/,,
+https://github.com/jgdavey/tslime.vim/,,
+https://github.com/Quramy/tsuquyomi/,,
+https://github.com/folke/twilight.nvim/,,
+https://github.com/leafgarland/typescript-vim/,,
+https://github.com/SirVer/ultisnips/,,
+https://github.com/mbbill/undotree/,,
+https://github.com/chrisbra/unicode.vim/,,
+https://github.com/Shougo/unite.vim/,,
+https://github.com/axieax/urlview.nvim/,,
+https://github.com/vim-scripts/utl.vim/,,
+https://github.com/KabbAmine/vCoolor.vim/,,
+https://github.com/junegunn/vader.vim/,,
+https://github.com/jbyuki/venn.nvim/,,
+https://github.com/vhda/verilog_systemverilog.vim/,,
+https://github.com/vifm/vifm.vim/,,
+https://github.com/dracula/vim/,,dracula-vim
+https://github.com/embark-theme/vim/,,embark-vim
+https://github.com/Konfekt/vim-CtrlXA/,,
+https://github.com/konfekt/vim-DetectSpellLang/,,
+https://github.com/dpelle/vim-LanguageTool/,,
+https://github.com/inkarkat/vim-ReplaceWithRegister/,,
+https://github.com/inkarkat/vim-ReplaceWithSameIndentRegister/,,
+https://github.com/inkarkat/vim-SyntaxRange/,,
+https://github.com/tpope/vim-abolish/,,
+https://github.com/MarcWeber/vim-addon-actions/,,
+https://github.com/MarcWeber/vim-addon-async/,,
+https://github.com/MarcWeber/vim-addon-background-cmd/,,
+https://github.com/MarcWeber/vim-addon-commenting/,,
+https://github.com/MarcWeber/vim-addon-completion/,,
+https://github.com/MarcWeber/vim-addon-errorformats/,,
+https://github.com/MarcWeber/vim-addon-goto-thing-at-cursor/,,
+https://github.com/MarcWeber/vim-addon-local-vimrc/,,
+https://github.com/MarcWeber/vim-addon-manager/,,
+https://github.com/MarcWeber/vim-addon-mru/,,
+https://github.com/MarcWeber/vim-addon-mw-utils/,,
+https://github.com/MarcWeber/vim-addon-nix/,,
+https://github.com/MarcWeber/vim-addon-other/,,
+https://github.com/MarcWeber/vim-addon-php-manual/,,
+https://github.com/MarcWeber/vim-addon-signs/,,
+https://github.com/MarcWeber/vim-addon-sql/,,
+https://github.com/MarcWeber/vim-addon-syntax-checker/,,
+https://github.com/MarcWeber/vim-addon-toggle-buffer/,,
+https://github.com/MarcWeber/vim-addon-xdebug/,,
+https://github.com/junegunn/vim-after-object/,,
+https://github.com/vim-airline/vim-airline/,,
+https://github.com/enricobacis/vim-airline-clock/,,
+https://github.com/vim-airline/vim-airline-themes/,,
+https://github.com/Konfekt/vim-alias/,,
+https://github.com/hsanson/vim-android/,,
+https://github.com/osyo-manga/vim-anzu/,,
+https://github.com/ThePrimeagen/vim-apm/,,
+https://github.com/PeterRincker/vim-argumentative/,,
+https://github.com/FooSoft/vim-argwrap/,,
+https://github.com/haya14busa/vim-asterisk/,,
+https://github.com/hura/vim-asymptote/,,
+https://github.com/907th/vim-auto-save/,,
+https://github.com/vim-autoformat/vim-autoformat/,,
+https://github.com/benizi/vim-automkdir/,,
+https://github.com/gioele/vim-autoswap/,,
+https://github.com/bazelbuild/vim-bazel/,,
+https://github.com/moll/vim-bbye/,,
+https://github.com/nathangrigg/vim-beancount/,,
+https://github.com/ntpeters/vim-better-whitespace/,,
+https://github.com/MattesGroeger/vim-bookmarks/,,
+https://github.com/gyim/vim-boxdraw/,,
+https://github.com/ConradIrwin/vim-bracketed-paste/,,
+https://github.com/mtikekar/vim-bsv/,,
+https://github.com/jeetsukumaran/vim-buffergator/,,
+https://github.com/bling/vim-bufferline/,,
+https://github.com/qpkorr/vim-bufkill/,,
+https://github.com/tpope/vim-capslock/,,
+https://github.com/kristijanhusak/vim-carbon-now-sh/,,
+https://github.com/m-pilia/vim-ccls/,,
+https://github.com/t9md/vim-choosewin/,,
+https://github.com/rhysd/vim-clang-format/,,
+https://github.com/liuchengxu/vim-clap/,,
+https://github.com/guns/vim-clojure-highlight/,,
+https://github.com/guns/vim-clojure-static/,,
+https://github.com/rstacruz/vim-closer/,,
+https://github.com/alvan/vim-closetag/,,
+https://github.com/tomasiser/vim-code-dark/,,
+https://github.com/google/vim-codefmt/,,
+https://github.com/kchmck/vim-coffee-script/,,
+https://github.com/kalbasit/vim-colemak/,,
+https://github.com/altercation/vim-colors-solarized/,,
+https://github.com/flazz/vim-colorschemes/,,
+https://github.com/jonbri/vim-colorstepper/,,
+https://github.com/tpope/vim-commentary/,,
+https://github.com/luan/vim-concourse/,,
+https://github.com/romainl/vim-cool/,,
+https://github.com/octol/vim-cpp-enhanced-highlight/,,
+https://github.com/mhinz/vim-crates/,,
+https://github.com/OrangeT/vim-csharp/,,
+https://github.com/ap/vim-css-color/,,
+https://github.com/jjo/vim-cue/,,
+https://github.com/itchyny/vim-cursorword/,,
+https://github.com/ehamberg/vim-cute-python/,,
+https://github.com/tpope/vim-dadbod/,,
+https://github.com/kristijanhusak/vim-dadbod-completion/,,
+https://github.com/kristijanhusak/vim-dadbod-ui/,,
+https://github.com/sunaku/vim-dasht/,,
+https://github.com/ajmwagar/vim-deus/,,
+https://github.com/ryanoasis/vim-devicons/,,
+https://github.com/blueyed/vim-diminactive/,,
+https://github.com/will133/vim-dirdiff/,,
+https://github.com/justinmk/vim-dirvish/,,
+https://github.com/kristijanhusak/vim-dirvish-git/,,
+https://github.com/tpope/vim-dispatch/,,
+https://github.com/radenling/vim-dispatch-neovim/,,
+https://github.com/jhradilek/vim-docbk/,,
+https://github.com/junegunn/vim-easy-align/,,
+https://github.com/zhou13/vim-easyescape/,,
+https://github.com/neoclide/vim-easygit/,,
+https://github.com/easymotion/vim-easymotion/,,
+https://github.com/xolox/vim-easytags/,,
+https://github.com/justincampbell/vim-eighties/,,
+https://github.com/elixir-editors/vim-elixir/,,
+https://github.com/andys8/vim-elm-syntax/,,
+https://github.com/junegunn/vim-emoji/,,
+https://github.com/tpope/vim-endwise/,,
+https://github.com/vim-erlang/vim-erlang-compiler/,,
+https://github.com/vim-erlang/vim-erlang-omnicomplete/,,
+https://github.com/vim-erlang/vim-erlang-runtime/,,
+https://github.com/vim-erlang/vim-erlang-tags/,,
+https://github.com/tpope/vim-eunuch/,,
+https://github.com/tommcdo/vim-exchange/,,
+https://github.com/terryma/vim-expand-region/,,
+https://github.com/int3/vim-extradite/,,
+https://github.com/wsdjeg/vim-fetch/,,
+https://github.com/tpope/vim-fireplace/,,
+https://github.com/dag/vim-fish/,,
+https://github.com/tpope/vim-flagship/,,
+https://github.com/nvie/vim-flake8/,,
+https://github.com/dcharbon/vim-flatbuffers/,,
+https://github.com/voldikss/vim-floaterm/,,
+https://github.com/rbong/vim-flog/,,
+https://github.com/thosakwe/vim-flutter/,,
+https://github.com/fsharp/vim-fsharp/,,
+https://github.com/thinca/vim-ft-diff_fold/,,
+https://github.com/tommcdo/vim-fubitive/,,
+https://github.com/tpope/vim-fugitive/,,
+https://github.com/maxjacobson/vim-fzf-coauthorship/,,
+https://github.com/ruanyl/vim-gh-line/,,
+https://github.com/raghur/vim-ghost/,,
+https://github.com/mattn/vim-gist/,,
+https://github.com/lambdalisue/vim-gista/,,
+https://github.com/tpope/vim-git/,,
+https://github.com/itchyny/vim-gitbranch/,,
+https://github.com/airblade/vim-gitgutter/,,
+https://github.com/junegunn/vim-github-dashboard/,,
+https://github.com/tikhomirov/vim-glsl/,,
+https://github.com/jamessan/vim-gnupg/,,
+https://github.com/fatih/vim-go/,,
+https://github.com/rhysd/vim-grammarous/,,
+https://github.com/jparise/vim-graphql/,,
+https://github.com/mhinz/vim-grepper/,,
+https://github.com/lifepillar/vim-gruvbox8/,,
+https://github.com/brennanfee/vim-gui-position/,,
+https://github.com/ludovicchabant/vim-gutentags/,,
+https://github.com/takac/vim-hardtime/,,
+https://github.com/chkno/vim-haskell-module-name/,,
+https://github.com/enomsg/vim-haskellConcealPlus/,,
+https://github.com/twinside/vim-haskellconceal/,,
+https://github.com/jvirtanen/vim-hcl/,,
+https://github.com/bitc/vim-hdevtools/,,
+https://github.com/towolf/vim-helm/,,
+https://github.com/RRethy/vim-hexokinase/,,
+https://github.com/jceb/vim-hier/,,
+https://github.com/machakann/vim-highlightedyank/,,
+https://github.com/alx741/vim-hindent/,,
+https://github.com/GEverding/vim-hocon/,,
+https://github.com/Twinside/vim-hoogle/,,
+https://github.com/jonsmithers/vim-html-template-literals/,,
+https://github.com/vim-utils/vim-husk/,,
+https://github.com/w0ng/vim-hybrid/,,
+https://github.com/kristijanhusak/vim-hybrid-material/,,
+https://github.com/noc7c9/vim-iced-coffee-script/,,
+https://github.com/RRethy/vim-illuminate/,,
+https://github.com/nathanaelkane/vim-indent-guides/,,
+https://github.com/michaeljsmith/vim-indent-object/,,
+https://github.com/jeetsukumaran/vim-indentwise/,,
+https://github.com/henrik/vim-indexed-search/,,
+https://github.com/ivanov/vim-ipython/,,
+https://github.com/fisadev/vim-isort/,,
+https://github.com/clojure-vim/vim-jack-in/,,
+https://github.com/mhinz/vim-janah/,,
+https://github.com/artur-shaik/vim-javacomplete2/,,
+https://github.com/pangloss/vim-javascript/,,
+https://github.com/jelera/vim-javascript-syntax/,,
+https://github.com/lepture/vim-jinja/,,
+https://github.com/maksimr/vim-jsbeautify/,,
+https://github.com/heavenshell/vim-jsdoc/,,
+https://github.com/elzr/vim-json/,,
+https://github.com/google/vim-jsonnet/,,
+https://github.com/MaxMEllon/vim-jsx-pretty/,,
+https://github.com/peitalin/vim-jsx-typescript/,,
+https://github.com/knubie/vim-kitty-navigator/,,
+https://github.com/farmergreg/vim-lastplace/,,
+https://github.com/xuhdev/vim-latex-live-preview/,,
+https://github.com/ludovicchabant/vim-lawrencium/,,
+https://github.com/hecal3/vim-leader-guide/,,
+https://github.com/mk12/vim-lean/,,
+https://github.com/ledger/vim-ledger/,,
+https://github.com/lfe-support/vim-lfe/,,
+https://github.com/josa42/vim-lightline-coc/,,
+https://github.com/tommcdo/vim-lion/,,
+https://github.com/tpope/vim-liquid/,,
+https://github.com/embear/vim-localvimrc/,,
+https://github.com/andreshazard/vim-logreview/,,
+https://github.com/mlr-msft/vim-loves-dafny/,,
+https://github.com/natebosch/vim-lsc/,,
+https://github.com/prabirshrestha/vim-lsp/,,
+https://github.com/jackguo380/vim-lsp-cxx-highlight/,,
+https://github.com/tbastos/vim-lua/,,
+https://github.com/google/vim-maktaba/,,
+https://github.com/lambdalisue/vim-manpager/,,
+https://github.com/Yilin-Yang/vim-markbar/,,
+https://github.com/preservim/vim-markdown/,,
+https://github.com/euclio/vim-markdown-composer/,,
+https://github.com/mzlogin/vim-markdown-toc/,,
+https://github.com/andymass/vim-matchup/,,
+https://github.com/samoshkin/vim-mergetool/,,
+https://github.com/idanarye/vim-merginal/,,
+https://github.com/david-a-wheeler/vim-metamath/,,
+https://github.com/xolox/vim-misc/,,
+https://github.com/crusoexia/vim-monokai/,,
+https://github.com/phanviet/vim-monokai-pro/,,
+https://github.com/matze/vim-move/,,
+https://github.com/lifepillar/vim-mucomplete/,,
+https://github.com/terryma/vim-multiple-cursors/,,
+https://github.com/simnalamburt/vim-mundo/,,
+https://github.com/mustache/vim-mustache-handlebars/,,
+https://github.com/tiagofumo/vim-nerdtree-syntax-highlight/,,
+https://github.com/jistr/vim-nerdtree-tabs/,,
+https://github.com/nfnty/vim-nftables/,,
+https://github.com/kana/vim-niceblock/,,
+https://github.com/tommcdo/vim-ninja-feet/,,
+https://github.com/LnL7/vim-nix/,,
+https://github.com/symphorien/vim-nixhash/,,
+https://github.com/noahfrederick/vim-noctu/,,
+https://github.com/fruit-in/vim-nong-theme/,,
+https://github.com/jeffkreeftmeijer/vim-numbertoggle/,,
+https://github.com/tpope/vim-obsession/,,
+https://github.com/ocaml/vim-ocaml/,,
+https://github.com/rakr/vim-one/,,
+https://github.com/petRUShka/vim-opencl/,,
+https://github.com/kana/vim-operator-replace/,,
+https://github.com/rhysd/vim-operator-surround/,,
+https://github.com/kana/vim-operator-user/,,
+https://github.com/jceb/vim-orgmode/,,
+https://github.com/sdiehl/vim-ormolu/,,
+https://github.com/fcpg/vim-osc52/,,
+https://github.com/ojroques/vim-oscyank/,,
+https://github.com/osyo-manga/vim-over/,,
+https://github.com/hashivim/vim-packer/,,
+https://github.com/lambdalisue/vim-pager/,,
+https://github.com/vim-pandoc/vim-pandoc/,,
+https://github.com/vim-pandoc/vim-pandoc-after/,,
+https://github.com/vim-pandoc/vim-pandoc-syntax/,,
+https://github.com/bhurlow/vim-parinfer/,,
+https://github.com/sickill/vim-pasta/,,
+https://github.com/tpope/vim-pathogen/,,
+https://github.com/junegunn/vim-peekaboo/,,
+https://github.com/preservim/vim-pencil/,,
+https://github.com/jparise/vim-phabricator/,,
+https://github.com/justinj/vim-pico8-syntax/,,
+https://github.com/junegunn/vim-plug/,,
+https://github.com/powerman/vim-plugin-AnsiEsc/,,
+https://github.com/sheerun/vim-polyglot/,,
+https://github.com/jakwings/vim-pony/,,
+https://github.com/haya14busa/vim-poweryank/,,
+https://github.com/prettier/vim-prettier/,,
+https://github.com/thinca/vim-prettyprint/,,
+https://github.com/pantharshit00/vim-prisma/,,
+https://github.com/tpope/vim-projectionist/,,
+https://github.com/dhruvasagar/vim-prosession/,,
+https://github.com/uarun/vim-protobuf/,,
+https://github.com/PProvost/vim-ps1/,,
+https://github.com/digitaltoad/vim-pug/,,
+https://github.com/rodjek/vim-puppet/,,
+https://github.com/Vimjas/vim-python-pep8-indent/,,
+https://github.com/romainl/vim-qf/,,
+https://github.com/romainl/vim-qlist/,,
+https://github.com/peterhoeg/vim-qml/,,
+https://github.com/thinca/vim-quickrun/,,
+https://github.com/racer-rust/vim-racer/,,
+https://github.com/wlangstroth/vim-racket/,,
+https://github.com/tpope/vim-ragtag/,,
+https://github.com/tpope/vim-rails/,,
+https://github.com/jordwalke/vim-reasonml/,,
+https://github.com/tpope/vim-repeat/,,
+https://github.com/tpope/vim-rhubarb/,,
+https://github.com/airblade/vim-rooter/,,
+https://github.com/tpope/vim-rsi/,,
+https://github.com/vim-ruby/vim-ruby/,,
+https://github.com/tpope/vim-salve/,,
+https://github.com/machakann/vim-sandwich/,,
+https://github.com/mhinz/vim-sayonara/,7e774f58c5865d9c10d40396850b35ab95af17c5,
+https://github.com/derekwyatt/vim-scala/,,
+https://github.com/thinca/vim-scouter/,,
+https://github.com/tpope/vim-scriptease/,,
+https://github.com/tpope/vim-sensible/,,
+https://github.com/guns/vim-sexp/,,
+https://github.com/tpope/vim-sexp-mappings-for-regular-people/,,
+https://github.com/itspriddle/vim-shellcheck/,,
+https://github.com/kshenoy/vim-signature/,,
+https://github.com/mhinz/vim-signify/,,
+https://github.com/ivalkeen/vim-simpledb/,,
+https://github.com/junegunn/vim-slash/,,
+https://github.com/tpope/vim-sleuth/,,
+https://github.com/jpalardy/vim-slime/,,
+https://github.com/mzlogin/vim-smali/,,
+https://github.com/t9md/vim-smalls/,,
+https://github.com/psliwka/vim-smoothie/,,
+https://github.com/bohlender/vim-smt2/,,
+https://github.com/justinmk/vim-sneak/,,
+https://github.com/garbas/vim-snipmate/,,
+https://github.com/honza/vim-snippets/,,
+https://github.com/jhradilek/vim-snippets/,,vim-docbk-snippets
+https://github.com/tomlion/vim-solidity/,,
+https://github.com/christoomey/vim-sort-motion/,,
+https://github.com/CoatiSoftware/vim-sourcetrail/,,
+https://github.com/tpope/vim-speeddating/,,
+https://github.com/kbenzie/vim-spirv/,,
+https://github.com/mhinz/vim-startify/,,
+https://github.com/dstein64/vim-startuptime/,,
+https://github.com/axelf4/vim-strip-trailing-whitespace/,,
+https://github.com/nbouscal/vim-stylish-haskell/,,
+https://github.com/alx741/vim-stylishask/,,
+https://github.com/svermeulen/vim-subversive/,,
+https://github.com/tpope/vim-surround/,,
+https://github.com/evanleck/vim-svelte/,,
+https://github.com/machakann/vim-swap/,,
+https://github.com/dhruvasagar/vim-table-mode/,,
+https://github.com/kana/vim-tabpagecd/,,
+https://github.com/tpope/vim-tbone/,,
+https://github.com/hashivim/vim-terraform/,,
+https://github.com/juliosueiras/vim-terraform-completion/,,
+https://github.com/vim-test/vim-test/,,
+https://github.com/glts/vim-textobj-comment/,,
+https://github.com/kana/vim-textobj-entire/,,
+https://github.com/kana/vim-textobj-function/,,
+https://github.com/gibiansky/vim-textobj-haskell/,,
+https://github.com/osyo-manga/vim-textobj-multiblock/,,
+https://github.com/kana/vim-textobj-user/,,
+https://github.com/Julian/vim-textobj-variable-segment/,,
+https://github.com/thinca/vim-themis/,,
+https://github.com/tmux-plugins/vim-tmux/,,
+https://github.com/roxma/vim-tmux-clipboard/,,
+https://github.com/tmux-plugins/vim-tmux-focus-events/,,
+https://github.com/christoomey/vim-tmux-navigator/,,
+https://github.com/milkypostman/vim-togglelist/,,
+https://github.com/cespare/vim-toml/,,
+https://github.com/vimpostor/vim-tpipeline/,,
+https://github.com/bronson/vim-trailing-whitespace/,,
+https://github.com/ianks/vim-tsx/,,
+https://github.com/lumiliet/vim-twig/,,
+https://github.com/sodapopcan/vim-twiggy/,,
+https://github.com/rcarriga/vim-ultest/,,
+https://github.com/arthurxavierx/vim-unicoder/,,
+https://github.com/tpope/vim-unimpaired/,,
+https://github.com/hashivim/vim-vagrant/,,
+https://github.com/tpope/vim-vinegar/,,
+https://github.com/triglav/vim-visual-increment/,,
+https://github.com/mg979/vim-visual-multi/,,
+https://github.com/thinca/vim-visualstar/,,
+https://github.com/hrsh7th/vim-vsnip/,,
+https://github.com/hrsh7th/vim-vsnip-integ/,,
+https://github.com/posva/vim-vue/,,
+https://github.com/wakatime/vim-wakatime/,,
+https://github.com/osyo-manga/vim-watchdogs/,,
+https://github.com/jasonccox/vim-wayland-clipboard/,,
+https://github.com/liuchengxu/vim-which-key/,,
+https://github.com/wesQ3/vim-windowswap/,,
+https://github.com/chaoren/vim-wordmotion/,,
+https://github.com/preservim/vim-wordy/,,
+https://github.com/joonty/vim-xdebug/,,
+https://github.com/lyokha/vim-xkbswitch/,,
+https://github.com/mg979/vim-xtabline/,,
+https://github.com/stephpy/vim-yaml/,,
+https://github.com/mindriot101/vim-yapf/,,
+https://github.com/dag/vim2hs/,,
+https://github.com/dominikduda/vim_current_word/,,
+https://github.com/andrep/vimacs/,,
+https://github.com/TaDaa/vimade/,,
+https://github.com/jreybert/vimagit/,,
+https://github.com/gotcha/vimelette/,,
+https://github.com/Shougo/vimfiler.vim/,,
+https://github.com/vimoutliner/vimoutliner/,,
+https://github.com/tex/vimpreviewpandoc/,,
+https://github.com/Shougo/vimproc.vim/,,
+https://github.com/vimsence/vimsence/,,
+https://github.com/Shougo/vimshell.vim/,,
+https://github.com/puremourning/vimspector/,,
+https://github.com/lervag/vimtex/,,
+https://github.com/preservim/vimux/,,
+https://github.com/vimwiki/vimwiki/,,
+https://github.com/vim-scripts/vis/,,
+https://github.com/navicore/vissort.vim/,,
+https://github.com/liuchengxu/vista.vim/,,
+https://github.com/dylanaraps/wal.vim/,,
+https://github.com/mattn/webapi-vim/,,
+https://github.com/folke/which-key.nvim/,,
+https://github.com/gelguy/wilder.nvim/,,
+https://github.com/gcmt/wildfire.vim/,,
+https://github.com/sindrets/winshift.nvim/,,
+https://github.com/wannesm/wmgraphviz.vim/,,
+https://github.com/vim-scripts/wombat256.vim/,,
+https://github.com/lukaszkorecki/workflowish/,,
+https://github.com/tweekmonster/wstrip.vim/,,
+https://github.com/drmingdrmer/xptemplate/,,
+https://github.com/guns/xterm-color-table.vim/,,
+https://github.com/HerringtonDarkholme/yats.vim/,,
+https://github.com/KabbAmine/zeavim.vim/,,
+https://github.com/folke/zen-mode.nvim/,,
+https://github.com/jnurmine/zenburn/,,
+https://github.com/glepnir/zephyr-nvim/,,
+https://github.com/ziglang/zig.vim/,,
+https://github.com/troydm/zoomwintab.vim/,,
+https://github.com/nanotee/zoxide.vim/,,
diff --git a/pkgs/applications/editors/vim/plugins/vim-utils.nix b/pkgs/applications/editors/vim/plugins/vim-utils.nix
index 4183b6214351a..b291928f25aaf 100644
--- a/pkgs/applications/editors/vim/plugins/vim-utils.nix
+++ b/pkgs/applications/editors/vim/plugins/vim-utils.nix
@@ -1,5 +1,6 @@
 # tests available at pkgs/test/vim
-{ lib, stdenv, vim, vimPlugins, vim_configurable, buildEnv, writeText, writeScriptBin
+{ lib, stdenv, vim, vimPlugins, vim_configurable, buildEnv, writeText
+, runCommand, makeWrapper
 , nix-prefetch-hg, nix-prefetch-git
 , fetchFromGitHub, runtimeShell
 , hasLuaModule
@@ -16,7 +17,7 @@ Install Vim like this eg using nixos option environment.systemPackages which wil
 vim-with-plugins in PATH:
 
   vim_configurable.customize {
-    name = "vim-with-plugins";
+    name = "vim-with-plugins"; # optional
 
     # add custom .vimrc lines like this:
     vimrcConfig.customRC = ''
@@ -404,64 +405,81 @@ rec {
   inherit vimrcContent;
   inherit packDir;
 
-  # shell script with custom name passing [-u vimrc] [-U gvimrc] to vim
-  vimWithRC = {
-    vimExecutable,
-    gvimExecutable,
-    vimManPages,
-    wrapManual,
-    wrapGui,
-    name ? "vim",
-    vimrcFile ? null,
-    gvimrcFile ? null,
-    vimExecutableName,
-    gvimExecutableName,
-  }:
-    let
-      rcOption = o: file: lib.optionalString (file != null) "-${o} ${file}";
-      vimWrapperScript = writeScriptBin vimExecutableName ''
-        #!${runtimeShell}
-        exec ${vimExecutable} ${rcOption "u" vimrcFile} ${rcOption "U" gvimrcFile} "$@"
-      '';
-      gvimWrapperScript = writeScriptBin gvimExecutableName ''
-        #!${stdenv.shell}
-        exec ${gvimExecutable} ${rcOption "u" vimrcFile} ${rcOption "U" gvimrcFile} "$@"
-      '';
-    in
-      buildEnv {
-        inherit name;
-        paths = [
-          vimWrapperScript
-        ] ++ lib.optional wrapGui gvimWrapperScript
-          ++ lib.optional wrapManual vimManPages
-        ;
-      };
-
-  # add a customize option to a vim derivation
-  makeCustomizable = vim: vim // {
-    customize = {
-      name,
-      vimrcConfig,
-      wrapManual ? true,
-      wrapGui ? false,
-      vimExecutableName ? name,
-      gvimExecutableName ? (lib.concatStrings [ "g" name ]),
-    }: vimWithRC {
-      vimExecutable = "${vim}/bin/vim";
-      gvimExecutable = "${vim}/bin/gvim";
-      inherit name wrapManual wrapGui vimExecutableName gvimExecutableName;
-      vimrcFile = vimrcFile vimrcConfig;
-      vimManPages = buildEnv {
-        name = "vim-doc";
-        paths = [ vim ];
-        pathsToLink = [ "/share/man" ];
-      };
-    };
+  makeCustomizable = let
+    mkVimrcFile = vimrcFile; # avoid conflict with argument name
+  in vim: vim // {
+    # Returns a customized vim that uses the specified vimrc configuration.
+    customize =
+      { # The name of the derivation.
+        name ? "vim"
+      , # A shell word used to specify the names of the customized executables.
+        # The shell variable $exe can be used to refer to the wrapped executable's name.
+        # Examples: "my-$exe", "$exe-with-plugins", "\${exe/vim/v1m}"
+        executableName ?
+          if lib.hasInfix "vim" name then
+            lib.replaceStrings [ "vim" ] [ "$exe" ] name
+          else
+            "\${exe/vim/${lib.escapeShellArg name}}"
+      , # A custom vimrc configuration, treated as an argument to vimrcContent (see the documentation in this file).
+        vimrcConfig ? null
+      , # A custom vimrc file.
+        vimrcFile ? null
+      , # A custom gvimrc file.
+        gvimrcFile ? null
+      , # If set to true, return the *vim wrappers only.
+        # If set to false, overlay the wrappers on top of the original vim derivation.
+        # This ensures that things like man pages and .desktop files are available.
+        standalone ? name != "vim" && wrapManual != true
+
+      , # deprecated arguments (TODO: remove eventually)
+        wrapManual ? null, wrapGui ? null, vimExecutableName ? null, gvimExecutableName ? null,
+      }:
+      lib.warnIf (wrapManual != null) ''
+        vim.customize: wrapManual is deprecated: the manual is now included by default if `name == "vim"`.
+        ${if wrapManual == true && name != "vim" then "Set `standalone = false` to include the manual."
+        else if wrapManual == false && name == "vim" then "Set `standalone = true` to get the *vim wrappers only."
+        else ""}''
+      lib.warnIf (wrapGui != null)
+        "vim.customize: wrapGui is deprecated: gvim is now automatically included if present"
+      lib.throwIfNot (vimExecutableName == null && gvimExecutableName == null)
+        "vim.customize: (g)vimExecutableName is deprecated: use executableName instead (see source code for examples)"
+      (let
+        vimrc =
+          if vimrcFile != null then vimrcFile
+          else if vimrcConfig != null then mkVimrcFile vimrcConfig
+          else throw "at least one of vimrcConfig and vimrcFile must be specified";
+        bin = runCommand "${name}-bin" { buildInputs = [ makeWrapper ]; } ''
+          vimrc=${lib.escapeShellArg vimrc}
+          gvimrc=${if gvimrcFile != null then lib.escapeShellArg gvimrcFile else ""}
+
+          mkdir -p "$out/bin"
+          for exe in ${
+            if standalone then "{,g,r,rg,e}vim {,g}vimdiff"
+            else "{,g,r,rg,e}{vim,view} {,g}vimdiff ex"
+          }; do
+            if [[ -e ${vim}/bin/$exe ]]; then
+              dest="$out/bin/${executableName}"
+              if [[ -e $dest ]]; then
+                echo "ambiguous executableName: ''${dest##*/} already exists"
+                continue
+              fi
+              makeWrapper ${vim}/bin/"$exe" "$dest" \
+                --add-flags "-u ''${vimrc@Q} ''${gvimrc:+-U ''${gvimrc@Q}}"
+            fi
+          done
+        '';
+      in if standalone then bin else
+        buildEnv {
+          inherit name;
+          paths = [ (lib.lowPrio vim) bin ];
+        });
 
     override = f: makeCustomizable (vim.override f);
     overrideAttrs = f: makeCustomizable (vim.overrideAttrs f);
   };
 
+  vimWithRC = throw "vimWithRC was removed, please use vim.customize instead";
+
   pluginnames2Nix = {name, namefiles} : vim_configurable.customize {
     inherit name;
     vimrcConfig.vam.knownPlugins = vimPlugins;
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index a5c8dcfb50f54..ab5250a48e686 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -2329,7 +2329,7 @@ let
   # then apply extension specific modifcations to packages.
 
   # overlays will be applied left to right, overrides should come after aliases.
-  overlays = lib.optionals (config.allowAliases or true) [ aliases ];
+  overlays = lib.optionals config.allowAliases [ aliases ];
 
   toFix = lib.foldl' (lib.flip lib.extends) baseExtensions overlays;
 in
diff --git a/pkgs/applications/editors/vscode/extensions/ms-dotnettools-csharp/default.nix b/pkgs/applications/editors/vscode/extensions/ms-dotnettools-csharp/default.nix
index d91cbccb80832..b1a3917417d94 100644
--- a/pkgs/applications/editors/vscode/extensions/ms-dotnettools-csharp/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/ms-dotnettools-csharp/default.nix
@@ -107,7 +107,7 @@ vscode-utils.buildVscodeMarketplaceExtension {
       patchelf_add_icu_as_needed "$elf"
       patchelf --add-needed "libssl.so" "$elf"
       patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-        --set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc openssl.out icu.out ]}:\$ORIGIN" \
+        --set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc openssl icu.out ]}:\$ORIGIN" \
         "$elf"
     }
 
diff --git a/pkgs/applications/editors/vscode/generic.nix b/pkgs/applications/editors/vscode/generic.nix
index 672eb4b27ba10..d704497b4f0c7 100644
--- a/pkgs/applications/editors/vscode/generic.nix
+++ b/pkgs/applications/editors/vscode/generic.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, makeDesktopItem
 , unzip, libsecret, libXScrnSaver, libxshmfence, wrapGAppsHook
-, gtk2, atomEnv, at-spi2-atk, autoPatchelfHook
+, atomEnv, at-spi2-atk, autoPatchelfHook
 , systemd, fontconfig, libdbusmenu, glib, buildFHSUserEnvBubblewrap
 , writeShellScriptBin
 
@@ -64,7 +64,7 @@ let
     };
 
     buildInputs = [ libsecret libXScrnSaver libxshmfence ]
-      ++ lib.optionals (!stdenv.isDarwin) ([ gtk2 at-spi2-atk ] ++ atomEnv.packages);
+      ++ lib.optionals (!stdenv.isDarwin) ([ at-spi2-atk ] ++ atomEnv.packages);
 
     runtimeDependencies = lib.optional (stdenv.isLinux) [ (lib.getLib systemd) fontconfig.lib libdbusmenu ];
 
@@ -72,6 +72,7 @@ let
 
     dontBuild = true;
     dontConfigure = true;
+    noDumpEnvVars = true;
 
     installPhase = ''
       runHook preInstall
diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix
index 370647de1fcff..a9ab7e8e55dee 100644
--- a/pkgs/applications/editors/vscode/vscode.nix
+++ b/pkgs/applications/editors/vscode/vscode.nix
@@ -14,17 +14,17 @@ let
   archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "0x8vc6gj83mn767wi285k0hxhlh5gh1lcvq63na89vglja4ipna4";
-    x86_64-darwin = "1x47xfq0fgd10wq6aa8gq55aqrl1ir1f6v1mm6324yny16pf20k2";
-    aarch64-linux = "1ibg2qvpnwfwwzgby2xva9xz138b13x9q8vf1xf6plazv0arla1l";
-    aarch64-darwin = "100834mqix7b46frlqf0jz4qs673lavxm8sizfjm7c9y0xxy4ld3";
-    armv7l-linux = "100yfkzvnjccp1g3p353jr2vicvkjc0skiwmmzgad6i8j1m9js62";
+    x86_64-linux = "077a847p8l2yk3dpn8qqwjdch5nqm8a7fxlnwg5xzx892lr6l4ax";
+    x86_64-darwin = "03gbrnkzks4if3mkpwn4yjajj3z9cax0jskhw8pz5n1mibv4kg4p";
+    aarch64-linux = "0xqpc69m5jmm6dyvhlc20bpbr2czmi0pn00jxpf5md8fqxmbvj90";
+    aarch64-darwin = "1zd2s841xpq5fk6bkrbqbzbcyladpp8sp7wx2spkzj1gmbjfzw4a";
+    armv7l-linux = "1swbg3zklixyk3cf0nh0xcwszm9rrvw1caqzmb80lc3c7qx9qx1s";
   }.${system};
 in
   callPackage ./generic.nix rec {
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.65.2";
+    version = "1.66.0";
     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 a91227d9db40e..0101b896e8cf7 100644
--- a/pkgs/applications/editors/vscode/vscodium.nix
+++ b/pkgs/applications/editors/vscode/vscodium.nix
@@ -13,10 +13,10 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "1sh2f7hwhilwmlgy11kl0s2n3phpcir15wyl2fkyhsr2kdj4jz9r";
-    x86_64-darwin = "1s04d91f08982wi8hb4dw0j57d6zqrdgns16ihrgsvahrzksgq4b";
-    aarch64-linux = "1a97lk1qz2lz0lk5lpja32zy07iwdbskp6baf429iz7fz232rshm";
-    armv7l-linux = "0vjqxqcr7fq3ncx1nl6ny7qcqm4vlsn33c074hhcg5292blg2a0p";
+    x86_64-linux = "0dv28i8mxf45n7xj4gzgh4gsx76875nxs4yfqswxij8kzz72vqfn";
+    x86_64-darwin = "0xs4f1ffqcbvzw1v64f9l8i7rflz7h1j5xgjxdz6l0hw0j4aalb2";
+    aarch64-linux = "1fa7g531apigp8k7fxkp2ijmhz5axx7ixzdhlwgbsb80rb2mqhi0";
+    armv7l-linux = "1ry9qm6rk46s0jn7hl30jbjdhi3fshzcs0x9krd9qin7by18hhz3";
   }.${system};
 
   sourceRoot = {
@@ -31,7 +31,7 @@ in
 
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.65.2";
+    version = "1.66.0";
     pname = "vscodium";
 
     executableName = "codium";
diff --git a/pkgs/applications/editors/wxhexeditor/default.nix b/pkgs/applications/editors/wxhexeditor/default.nix
index c769ab4263126..f310fb85a26c6 100644
--- a/pkgs/applications/editors/wxhexeditor/default.nix
+++ b/pkgs/applications/editors/wxhexeditor/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "08xnhaif8syv1fa0k6lc3jm7yg2k50b02lyds8w0jyzh4xi5crqj";
   };
 
-  buildInputs = [ wxGTK autoconf automake libtool python2 gettext ];
+  nativeBuildInputs = [ autoconf automake ];
+  buildInputs = [ wxGTK libtool python2 gettext ];
 
   preConfigure = "patchShebangs .";
 
diff --git a/pkgs/applications/emulators/epsxe/default.nix b/pkgs/applications/emulators/epsxe/default.nix
deleted file mode 100644
index f39c2ae74ac46..0000000000000
--- a/pkgs/applications/emulators/epsxe/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ lib, stdenv, fetchurl, alsa-lib, curl, gdk-pixbuf, glib, gtk3, libGLU, libGL,
-  libX11, openssl_1_0_2, ncurses5, SDL, SDL_ttf, unzip, zlib, wrapGAppsHook, autoPatchelfHook }:
-
-with lib;
-
-stdenv.mkDerivation rec {
-  pname = "epsxe";
-  version = "2.0.5";
-
-  src = let
-    version2 = replaceStrings ["."] [""] version;
-    platform = "linux" + (optionalString stdenv.is64bit "_x64");
-  in fetchurl {
-    url = "https://www.epsxe.com/files/ePSXe${version2}${platform}.zip";
-    sha256 = if stdenv.is64bit
-             then "16fa9qc2xhaz1f6294m0b56s5l86cbmclwm9w3mqnch0yjsrvab0"
-             else "1677lclam557kp8jwvchdrk27zfj50fqx2q9i3bcx26d9k61q3kl";
-  };
-
-  nativeBuildInputs = [ unzip wrapGAppsHook autoPatchelfHook ];
-  sourceRoot = ".";
-
-  buildInputs = [
-    alsa-lib
-    curl
-    gdk-pixbuf
-    glib
-    gtk3
-    libX11
-    libGLU libGL
-    openssl_1_0_2
-    ncurses5
-    SDL
-    SDL_ttf
-    stdenv.cc.cc.lib
-    zlib
-  ];
-
-  dontStrip = true;
-
-  installPhase = ''
-    install -D ${if stdenv.is64bit then "epsxe_x64" else "ePSXe"} $out/bin/epsxe
-  '';
-
-  meta = {
-    homepage = "http://epsxe.com/";
-    description = "Enhanced PSX (PlayStation 1) emulator";
-    license = licenses.unfree;
-    maintainers = with maintainers; [ yana ];
-    platforms = [ "i686-linux" "x86_64-linux" ];
-  };
-}
diff --git a/pkgs/applications/emulators/fakenes/build.patch b/pkgs/applications/emulators/fakenes/build.patch
deleted file mode 100644
index 90799d977a144..0000000000000
--- a/pkgs/applications/emulators/fakenes/build.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-diff --git a/build/openal.cbd b/build/openal.cbd
-index d18e62d..74af061 100644
---- a/build/openal.cbd
-+++ b/build/openal.cbd
-@@ -23,7 +23,7 @@ CFLAGS += ' -DUSE_OPENAL'
- # --
- 
- do ifplat unix
--   LDFLAGS += ' `openal-config --libs`'
-+   LDFLAGS += ' -lopenal'
- else
-    LDFLAGS += ' -lOpenAL32'
- done
-diff --git a/build/alleggl.cbd b/build/alleggl.cbd
-index e2708ff..e826371 100644
---- a/build/alleggl.cbd
-+++ b/build/alleggl.cbd
-@@ -22,7 +22,7 @@ CFLAGS += ' -DUSE_ALLEGROGL'
- 
- # --
- 
--LIBAGL = agl
-+LIBAGL = alleggl
- 
- ifopt debug LIBAGL = 'agld'
-
-diff --git a/src/apu.cpp b/src/apu.cpp
-index af59f1c..893a798 100644
---- a/src/apu.cpp
-+++ b/src/apu.cpp
-@@ -1930,7 +1930,7 @@ static void amplify(real& sample)
-          gain -= releaseRate;
-       }
- 
--      real output = (1.0 / max(gain, EPSILON));
-+      real output = (1.0 / MAX(gain, EPSILON));
-       output = fixf(output, apu_agc_gain_floor, apu_agc_gain_ceiling);
-       sample *= output;
-    }
-diff --git a/src/audio.cpp b/src/audio.cpp
-index b9650dc..c21c05e 100644
---- a/src/audio.cpp
-+++ b/src/audio.cpp
-@@ -7,6 +7,7 @@
-    You must read and accept the license prior to use. */
- 
- #include <allegro.h>
-+#include <cstdio>
- #include <cstdlib>
- #include <cstring>
- #include <vector>
-@@ -234,7 +235,7 @@ void audio_update(void)
-          const unsigned queuedFrames = (audioQueue.size() / audio_channels);
-          if(queuedFrames > 0) {
-             // Determine how many frames we want to make room for.
--            const unsigned framesToAdd = min(queuedFrames, audio_buffer_size_frames);
-+            const unsigned framesToAdd = MIN(queuedFrames, audio_buffer_size_frames);
-             // Make room for the frames in the buffer.
-             const unsigned framesToMove = (audioBufferedFrames - framesToAdd);
-             if(framesToMove > 0) {
-@@ -258,7 +259,7 @@ void audio_update(void)
-          // Determine how many frames are available in the buffer.
-          const unsigned bufferableFrames = (audio_buffer_size_frames - audioBufferedFrames);
-          // Determine the number of frames to copy to the buffer.
--         const unsigned framesToCopy = min(queuedFrames, bufferableFrames);
-+         const unsigned framesToCopy = MIN(queuedFrames, bufferableFrames);
- 
-          // Copy frames to the buffer.
-          for(unsigned frame = 0; frame < framesToCopy; frame++) {
-diff --git a/src/include/common.h b/src/include/common.h
-index be28795..e2d21d1 100644
---- a/src/include/common.h
-+++ b/src/include/common.h
-@@ -41,8 +41,10 @@ extern "C" {
- #define true   TRUE
- #define false  FALSE
- 
-+/*
- #define min(x,y)   MIN((x),(y))
- #define max(x,y)   MAX((x),(y))
-+*/
- 
- #define true_or_false(x)   ((x) ? true : false)
- 
diff --git a/pkgs/applications/emulators/fakenes/default.nix b/pkgs/applications/emulators/fakenes/default.nix
deleted file mode 100644
index 6bc4b1480ffc9..0000000000000
--- a/pkgs/applications/emulators/fakenes/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{lib, stdenv, fetchurl, allegro, openal, libGLU, libGL, zlib, hawknl, freeglut, libX11,
-  libXxf86vm, libXcursor, libXpm }:
-
-stdenv.mkDerivation rec {
-  pname = "fakenes";
-  version = "0.5.9-beta3";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/fakenes/fakenes-${version}.tar.gz";
-    sha256 = "026h67s4pzc1vma59pmzk02iy379255qbai2q74wln9bxqcpniy4";
-  };
-
-  buildInputs = [ allegro openal libGLU libGL zlib hawknl freeglut libX11
-    libXxf86vm libXcursor libXpm ];
-
-  hardeningDisable = [ "format" ];
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp fakenes $out/bin
-  '';
-
-  NIX_LDFLAGS = "-lX11 -lXxf86vm -lXcursor -lXpm";
-
-  patches = [ ./build.patch ];
-
-  meta = {
-    homepage = "http://fakenes.sourceforge.net/";
-    license = lib.licenses.gpl2Plus;
-    description = "Portable Open Source NES Emulator";
-    platforms = lib.platforms.linux;
-    broken = true;
-  };
-}
diff --git a/pkgs/applications/emulators/fceux/default.nix b/pkgs/applications/emulators/fceux/default.nix
index 0247a10f0e54c..e48f1cf7d56c2 100644
--- a/pkgs/applications/emulators/fceux/default.nix
+++ b/pkgs/applications/emulators/fceux/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fceux";
-  version = "2.6.3";
+  version = "2.6.4";
 
   src = fetchFromGitHub {
     owner = "TASEmulators";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "sha256-jNR9AB8s2S9ehYsompkV2GOLsaXIQzldeQ1WRCxdDG0=";
+    sha256 = "sha256-Q6r/iBlmi0z40+U6OLZCahS0io4IBBGZMP1mJH7szRM=";
   };
 
   nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
diff --git a/pkgs/applications/emulators/flycast/default.nix b/pkgs/applications/emulators/flycast/default.nix
new file mode 100644
index 0000000000000..67ba4590db62e
--- /dev/null
+++ b/pkgs/applications/emulators/flycast/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, alsa-lib
+, libX11
+, libevdev
+, udev
+, libpulseaudio
+, SDL2
+, libzip
+, miniupnpc
+}:
+
+stdenv.mkDerivation rec {
+  pname = "flycast";
+  version = "1.2";
+
+  src = fetchFromGitHub {
+    owner = "flyinghead";
+    repo = "flycast";
+    rev = "v${version}";
+    sha256 = "sha256-MzHAGK++oukIs84OR/l6gBwCJssdi8Iyte5Rtro2+Q0=";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    alsa-lib
+    libX11
+    libevdev
+    udev
+    libpulseaudio
+    SDL2
+    libzip
+    miniupnpc
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/flyinghead/flycast";
+    changelog = "https://github.com/flyinghead/flycast/releases/tag/v${version}";
+    description = "A multi-platform Sega Dreamcast, Naomi and Atomiswave emulator";
+    license = licenses.gpl2Only;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.ivar ];
+  };
+}
diff --git a/pkgs/applications/emulators/qmc2/default.nix b/pkgs/applications/emulators/qmc2/default.nix
deleted file mode 100644
index 6c6a52fc65ca0..0000000000000
--- a/pkgs/applications/emulators/qmc2/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ lib, stdenv
-, fetchurl, qttools, pkg-config
-, minizip, zlib
-, qtbase, qtsvg, qtmultimedia, qtwebkit, qttranslations, qtxmlpatterns
-, rsync, SDL2, xwininfo
-, util-linux
-, xorg
-}:
-
-stdenv.mkDerivation rec {
-  pname = "qmc2";
-  version = "0.195";
-
-  src = fetchurl {
-      url = "mirror://sourceforge/project/qmc2/qmc2/${version}/${pname}-${version}.tar.gz";
-      sha256 = "1dzmjlfk8pdspns6zg1jmd5fqzg8igd4q38cz4a1vf39lx74svns";
-  };
-
-  preBuild = ''
-    patchShebangs scripts
-  '';
-
-  nativeBuildInputs = [ qttools pkg-config ];
-  buildInputs = [ minizip qtbase qtsvg qtmultimedia qtwebkit
-                  qttranslations qtxmlpatterns rsync SDL2
-                  xwininfo zlib util-linux xorg.libxcb ];
-
-  makeFlags = [ "DESTDIR=$(out)"
-                "PREFIX=/"
-                "DATADIR=/share/"
-                "SYSCONFDIR=/etc" ];
-
-  meta = with lib; {
-    description = "A Qt frontend for MAME/MESS";
-    homepage = "https://qmc2.batcom-it.net";
-    license = licenses.gpl2;
-    maintainers = [ ];
-    platforms = platforms.linux;
-    broken = true;
-  };
-}
diff --git a/pkgs/applications/emulators/reicast/default.nix b/pkgs/applications/emulators/reicast/default.nix
deleted file mode 100644
index f9e8e4d69376f..0000000000000
--- a/pkgs/applications/emulators/reicast/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ lib, stdenv
-, fetchFromGitHub
-, cmake
-, pkg-config
-, curl
-, alsa-lib
-, libGLU
-, libX11
-, libevdev
-, udev
-, libpulseaudio
-}:
-
-stdenv.mkDerivation rec {
-  pname = "reicast";
-  version = "20.04";
-
-  src = fetchFromGitHub {
-    owner = "reicast";
-    repo = "reicast-emulator";
-    rev = "r${version}";
-    sha256 = "0vz3b1hg1qj6nycnqq5zcpzqpcbxw1c2ffamia5z3x7rapjx5d71";
-  };
-
-  nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [
-    curl
-    alsa-lib
-    libGLU
-    libX11
-    libevdev
-    udev
-    libpulseaudio
-  ];
-
-  # No rule to make target 'install'
-  installPhase = ''
-    runHook preInstall
-
-    install -D ./reicast $out/bin/reicast
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    homepage = "https://reicast.com/";
-    description = "A multi-platform Sega Dreamcast emulator";
-    license = with licenses; [ bsd3 gpl2Only lgpl2Only ];
-    platforms = ["x86_64-linux" ];
-    maintainers = [ maintainers.ivar ];
-  };
-}
diff --git a/pkgs/applications/emulators/rpcs3/default.nix b/pkgs/applications/emulators/rpcs3/default.nix
index 6f58990e47359..ee85b71cf8a47 100644
--- a/pkgs/applications/emulators/rpcs3/default.nix
+++ b/pkgs/applications/emulators/rpcs3/default.nix
@@ -9,10 +9,10 @@
 
 let
   # Keep these separate so the update script can regex them
-  rpcs3GitVersion = "13327-6c096b72b";
-  rpcs3Version = "0.0.21-13327-6c096b72b";
-  rpcs3Revision = "6c096b72b5294758067a002f981563bbd618d30d";
-  rpcs3Sha256 = "0xmdhjskqbv02jvl43bvw0clsgh9gnahl50fr3q8lmpwpy13ldr4";
+  rpcs3GitVersion = "13388-4a86638ce";
+  rpcs3Version = "0.0.21-13388-4a86638ce";
+  rpcs3Revision = "4a86638ce898e3bd68ade8e7ba794253782ea411";
+  rpcs3Sha256 = "0bc1n0jy4a869mn1g5i008vb5m2a6qfhyf7lw0d0jiljgsppiys1";
 
   ittapi = fetchFromGitHub {
     owner = "intel";
diff --git a/pkgs/applications/emulators/ryujinx/default.nix b/pkgs/applications/emulators/ryujinx/default.nix
index d2c2cf0368369..7a4f4351dc943 100644
--- a/pkgs/applications/emulators/ryujinx/default.nix
+++ b/pkgs/applications/emulators/ryujinx/default.nix
@@ -17,13 +17,13 @@
 
 buildDotnetModule rec {
   pname = "ryujinx";
-  version = "1.1.76"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
+  version = "1.1.77"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
 
   src = fetchFromGitHub {
     owner = "Ryujinx";
     repo = "Ryujinx";
-    rev = "e2ffa5a125fcbe8a25c73d8e04c08c08ef378860";
-    sha256 = "1rmiyjqwlsbzh9q7d12n72ka9adaby2rfcbn75sf47p5857yi3p9";
+    rev = "df70442c46e7ee133b1fb79dc23ddd134e618085";
+    sha256 = "1m9msp7kxsj7251l2yjcfzrb4k1lisk9sip7acm22pxmi1a7gw73";
   };
 
   dotnet-sdk = dotnetCorePackages.sdk_6_0;
diff --git a/pkgs/applications/emulators/wine/base.nix b/pkgs/applications/emulators/wine/base.nix
index f13e224627a9a..7788b13b4ecb5 100644
--- a/pkgs/applications/emulators/wine/base.nix
+++ b/pkgs/applications/emulators/wine/base.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, pkgArches, callPackage, makeSetupHook,
-  name, version, src, mingwGccs, monos, geckos, platforms,
+  pname, version, src, mingwGccs, monos, geckos, platforms,
   bison, flex, fontforge, makeWrapper, pkg-config,
   autoconf, hexdump, perl, nixosTests,
   supportFlags,
@@ -13,7 +13,7 @@ with import ./util.nix { inherit lib; };
 
 let
   patches' = patches;
-  prevName = name;
+  prevName = pname;
   prevPlatforms = platforms;
   prevConfigFlags = configureFlags;
   setupHookDarwin = makeSetupHook {
@@ -42,9 +42,9 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
     make loader/wine64-preloader NIX_LDFLAGS="" NIX_LDFLAGS_${stdenv.cc.suffixSalt}=""
   '';
 }) // rec {
-  inherit src;
+  inherit version src;
 
-  name = if supportFlags.waylandSupport then "${prevName}-wayland" else prevName;
+  pname = prevName + lib.optionalString supportFlags.waylandSupport "wayland";
 
   # Fixes "Compiler cannot create executables" building wineWow with mingwSupport
   strictDeps = true;
diff --git a/pkgs/applications/emulators/wine/packages.nix b/pkgs/applications/emulators/wine/packages.nix
index bf3f57aff0ff3..c119feb783d31 100644
--- a/pkgs/applications/emulators/wine/packages.nix
+++ b/pkgs/applications/emulators/wine/packages.nix
@@ -9,7 +9,7 @@ let
   vkd3d_i686 = pkgsi686Linux.callPackage ./vkd3d.nix { inherit moltenvk; };
 in with src; {
   wine32 = pkgsi686Linux.callPackage ./base.nix {
-    name = "wine-${version}";
+    pname = "wine";
     inherit src version supportFlags patches moltenvk;
     pkgArches = [ pkgsi686Linux ];
     vkd3dArches = lib.optionals supportFlags.vkd3dSupport [ vkd3d_i686 ];
@@ -19,7 +19,7 @@ in with src; {
     platforms = [ "i686-linux" "x86_64-linux" ];
   };
   wine64 = callPackage ./base.nix {
-    name = "wine64-${version}";
+    pname = "wine64";
     inherit src version supportFlags patches moltenvk;
     pkgArches = [ pkgs ];
     vkd3dArches = lib.optionals supportFlags.vkd3dSupport [ vkd3d ];
@@ -30,7 +30,7 @@ in with src; {
     platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
   wineWow = callPackage ./base.nix {
-    name = "wine-wow-${version}";
+    pname = "wine-wow";
     inherit src version supportFlags patches moltenvk;
     stdenv = stdenv_32bit;
     pkgArches = [ pkgs pkgsi686Linux ];
diff --git a/pkgs/applications/finance/cryptowatch/default.nix b/pkgs/applications/finance/cryptowatch/default.nix
new file mode 100644
index 0000000000000..09531e4650e8f
--- /dev/null
+++ b/pkgs/applications/finance/cryptowatch/default.nix
@@ -0,0 +1,57 @@
+{ stdenv
+, lib
+, fetchurl
+, autoPatchelfHook
+, wrapGAppsHook
+, dbus
+, libGL
+, libX11
+, libXcursor
+, libXi
+, libXrandr
+, udev
+, unzip
+}:
+
+stdenv.mkDerivation rec {
+  pname = "cryptowatch-desktop";
+  version = "0.5.0";
+
+  src = fetchurl {
+    url = "https://cryptowat.ch/desktop/download/linux/${version}";
+    sha256 = "0lr5fsd0f44b1v9f2dvx0a0lmz9dyivyz5d98qx2gcv3jkngw34v";
+  };
+
+  unpackPhase = "unzip $src";
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+    wrapGAppsHook
+    unzip
+  ];
+
+  buildInputs = [
+    dbus
+    udev
+  ];
+
+  sourceRoot = ".";
+
+  installPhase = ''
+    install -m755 -D cryptowatch_desktop $out/bin/cryptowatch_desktop
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libGL libX11 libXcursor libXrandr libXi ]}"
+    )
+  '';
+
+  meta = with lib; {
+    homepage = "https://cryptowat.ch";
+    description = "Application for visualising real-time cryptocurrency market data";
+    platforms = platforms.linux;
+    license = licenses.unfree;
+    maintainers = with maintainers; [ livnev ];
+  };
+}
diff --git a/pkgs/applications/gis/grass/default.nix b/pkgs/applications/gis/grass/default.nix
index 5ca31cc040528..36664a2d49cd3 100644
--- a/pkgs/applications/gis/grass/default.nix
+++ b/pkgs/applications/gis/grass/default.nix
@@ -5,7 +5,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "grass";
+  pname = "grass";
   version = "7.8.6";
 
   src = with lib; fetchFromGitHub {
diff --git a/pkgs/applications/graphics/ImageMagick/6.x.nix b/pkgs/applications/graphics/ImageMagick/6.x.nix
index 4c06eb7962bc0..032af6cf61444 100644
--- a/pkgs/applications/graphics/ImageMagick/6.x.nix
+++ b/pkgs/applications/graphics/ImageMagick/6.x.nix
@@ -83,7 +83,7 @@ stdenv.mkDerivation rec {
     changelog = "https://legacy.imagemagick.org/script/changelog.php";
     description = "A software suite to create, edit, compose, or convert bitmap images";
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ erictapen ];
+    maintainers = with maintainers; [ ];
     license = licenses.asl20;
   };
 }
diff --git a/pkgs/applications/graphics/apitrace/default.nix b/pkgs/applications/graphics/apitrace/default.nix
index f842cf6f5c4b8..756f0da9f3481 100644
--- a/pkgs/applications/graphics/apitrace/default.nix
+++ b/pkgs/applications/graphics/apitrace/default.nix
@@ -11,6 +11,12 @@ stdenv.mkDerivation rec {
     owner = "apitrace";
   };
 
+  patches = [
+    # glibc 2.34 compat
+    # derived from https://github.com/apitrace/apitrace/commit/d28a980802ad48568c87da02d630c8babfe163bb
+    ./glibc-2.34-compat.patch
+  ];
+
   # LD_PRELOAD wrappers need to be statically linked to work against all kinds
   # of games -- so it's fine to use e.g. bundled snappy.
   buildInputs = [ libX11 procps python2 libdwarf qtbase qtwebkit ];
diff --git a/pkgs/applications/graphics/apitrace/glibc-2.34-compat.patch b/pkgs/applications/graphics/apitrace/glibc-2.34-compat.patch
new file mode 100644
index 0000000000000..3f8cebe030c04
--- /dev/null
+++ b/pkgs/applications/graphics/apitrace/glibc-2.34-compat.patch
@@ -0,0 +1,13 @@
+diff --git a/wrappers/dlsym.cpp b/wrappers/dlsym.cpp
+index 2eda082..0c0c8ee 100644
+--- a/wrappers/dlsym.cpp
++++ b/wrappers/dlsym.cpp
+@@ -34,7 +34,7 @@
+ #include "os.hpp"
+ 
+ 
+-#ifdef __GLIBC__
++#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ < 34
+ 
+ 
+ #include <dlfcn.h>
diff --git a/pkgs/applications/graphics/drawing/default.nix b/pkgs/applications/graphics/drawing/default.nix
index a08f75d3b71d4..40c651ac25705 100644
--- a/pkgs/applications/graphics/drawing/default.nix
+++ b/pkgs/applications/graphics/drawing/default.nix
@@ -13,11 +13,12 @@
 , gdk-pixbuf
 , pango
 , gettext
+, itstool
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "drawing";
-  version = "0.8.5";
+  version = "1.0.0";
 
   format = "other";
 
@@ -25,7 +26,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "maoschanz";
     repo = pname;
     rev = version;
-    sha256 = "1q4a1gwmzz0rm10cnd4nzd51zfc2bjc6dsvf90qk1di9x7svis64";
+    sha256 = "sha256-qNaljtuA5E/QaLJ9QILPRQCqOvKmX4ZGq/0z5unA8KA=";
   };
 
   nativeBuildInputs = [
@@ -38,6 +39,7 @@ python3.pkgs.buildPythonApplication rec {
     wrapGAppsHook
     glib
     gettext
+    itstool
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix
index 57439313bf248..e53030428e61d 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 = "16.5.1";
+  version = "17.2.4";
 
   src = fetchurl {
     url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/drawio-x86_64-${version}.rpm";
-    sha256 = "a8ebf2560820d2d05677b9b16fc863f555dde8235b3e34acd7916eee3544eaa9";
+    sha256 = "sha256-dKl7DxNneoQEL+QhZmpfQCd15RoeDRnkZt3sv8t2KM4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/exrtools/default.nix b/pkgs/applications/graphics/exrtools/default.nix
index 1985176765f0b..b29d1d5869009 100644
--- a/pkgs/applications/graphics/exrtools/default.nix
+++ b/pkgs/applications/graphics/exrtools/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ stdenv openexr libpng12 libjpeg ];
+  buildInputs = [ openexr libpng12 libjpeg ];
 
   meta = with lib; {
     description = "Collection of utilities for manipulating OpenEXR images";
diff --git a/pkgs/applications/graphics/gnome-photos/default.nix b/pkgs/applications/graphics/gnome-photos/default.nix
index 9dc318a0674c3..774e377ca031c 100644
--- a/pkgs/applications/graphics/gnome-photos/default.nix
+++ b/pkgs/applications/graphics/gnome-photos/default.nix
@@ -36,13 +36,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-photos";
-  version = "40.0";
+  version = "42.0";
 
   outputs = [ "out" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "1bzi79plw6ji6qlckhxnwfnswy6jpnhzmmyanml2i2xg73hp6bg0";
+    sha256 = "JcsoFCUZnex7BF8T8y+PlgNMsMuLlNlvnf+vT1vmhVE=";
   };
 
   patches = [
diff --git a/pkgs/applications/graphics/gpicview/default.nix b/pkgs/applications/graphics/gpicview/default.nix
index edafa5612a2d2..ae1e64297bd57 100644
--- a/pkgs/applications/graphics/gpicview/default.nix
+++ b/pkgs/applications/graphics/gpicview/default.nix
@@ -23,7 +23,6 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A simple and fast image viewer for X";
     homepage = "http://lxde.sourceforge.net/gpicview/";
-    repositories.git = "git://lxde.git.sourceforge.net/gitroot/lxde/gpicview";
     license = licenses.gpl2;
     maintainers = with maintainers; [ lovek323 ];
     platforms = platforms.unix;
diff --git a/pkgs/applications/graphics/gthumb/default.nix b/pkgs/applications/graphics/gthumb/default.nix
index d412c6fded878..a82c6ec2f78d6 100644
--- a/pkgs/applications/graphics/gthumb/default.nix
+++ b/pkgs/applications/graphics/gthumb/default.nix
@@ -33,11 +33,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gthumb";
-  version = "3.12.0";
+  version = "3.12.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-Pe/8AwOE5ktXNhxDfHm0ga4Uie9EyHroVugbsQ2OOD8=";
+    sha256 = "sha256-l/iv5SJTUhZUHrvx47VG0Spr6zio8OuF8m5naTSq1CU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/hydrus/default.nix b/pkgs/applications/graphics/hydrus/default.nix
index fba158efacbe1..1d0cf4bec7d08 100644
--- a/pkgs/applications/graphics/hydrus/default.nix
+++ b/pkgs/applications/graphics/hydrus/default.nix
@@ -10,14 +10,14 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "hydrus";
-  version = "477";
+  version = "478";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "hydrusnetwork";
     repo = "hydrus";
     rev = "v${version}";
-    sha256 = "sha256-/Gehlk+eMBPA+OT7xsTri6PDi2PBmzjckMVbqPGXT64=";
+    sha256 = "sha256-ZsQzKc2fOFTzI/kBS8ws2+XT9kRAn4L55n1EZgVy4Kk=";
   };
 
   nativeBuildInputs = [
@@ -27,6 +27,7 @@ python3Packages.buildPythonPackage rec {
 
   propagatedBuildInputs = with python3Packages; [
     beautifulsoup4
+    cbor2
     chardet
     cloudscraper
     html5lib
diff --git a/pkgs/applications/graphics/icon-library/default.nix b/pkgs/applications/graphics/icon-library/default.nix
index 4dd97d92217d6..4f16a0d6e2d8a 100644
--- a/pkgs/applications/graphics/icon-library/default.nix
+++ b/pkgs/applications/graphics/icon-library/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, wrapGAppsHook
+{ lib, stdenv, fetchurl, fetchpatch, wrapGAppsHook4
 , cargo, desktop-file-utils, meson, ninja, pkg-config, rustc
 , gdk-pixbuf, glib, gtk4, gtksourceview5, libadwaita
 }:
@@ -12,8 +12,18 @@ stdenv.mkDerivation rec {
     sha256 = "1zrcnc5dn5fgcl3vklfpbp3m0qzi2n2viw59vw5fhwkysvp670y7";
   };
 
+  patches = [
+    # Fix build with meson 0.61
+    # data/meson.build:85:0: ERROR: gnome.compile_resources takes exactly 2 arguments, but got 3.
+    # https://gitlab.gnome.org/World/design/icon-library/-/merge_requests/54
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/World/design/icon-library/-/commit/c629dbf6670f9bb0b98ff21c17110489b58f5c85.patch";
+      sha256 = "UKC1CPaM58/z0zINN794luWZdoFx1zGxETPb8VtbO3E=";
+    })
+  ];
+
   nativeBuildInputs = [
-    cargo desktop-file-utils meson ninja pkg-config rustc wrapGAppsHook
+    cargo desktop-file-utils meson ninja pkg-config rustc wrapGAppsHook4
   ];
   buildInputs = [ gdk-pixbuf glib gtk4 gtksourceview5 libadwaita ];
 
diff --git a/pkgs/applications/graphics/imgbrd-grabber/default.nix b/pkgs/applications/graphics/imgbrd-grabber/default.nix
index 59d1e6817bd9e..b9f838c016f82 100644
--- a/pkgs/applications/graphics/imgbrd-grabber/default.nix
+++ b/pkgs/applications/graphics/imgbrd-grabber/default.nix
@@ -33,12 +33,12 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     openssl
-    makeWrapper
     libpulseaudio
     typescript
   ];
 
   nativeBuildInputs = [
+    makeWrapper
     qtmultimedia
     qtbase
     qtdeclarative
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index 12d6332af5d50..0958676cc99bd 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -5,6 +5,7 @@
 , cairo
 , cmake
 , fetchurl
+, fetchpatch
 , gettext
 , ghostscript
 , glib
@@ -71,6 +72,13 @@ stdenv.mkDerivation rec {
       # e.g., those from the "Effects" menu.
       python3 = "${python3Env}/bin/python";
     })
+
+    # Fix build with poppler 22.03
+    # https://gitlab.com/inkscape/inkscape/-/merge_requests/4187
+    (fetchpatch {
+      url = "https://gitlab.com/inkscape/inkscape/-/commit/a18c57ffff313fd08bc8a44f6b6bf0b01d7e9b75.patch";
+      sha256 = "UZb8ZTtfA5667uo5ZlVQ5vPowiSgd4ItAJ9U1BOsRQg=";
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/graphics/inkscape/extensions.nix b/pkgs/applications/graphics/inkscape/extensions.nix
index 63010a19f14db..08260c968cfb8 100644
--- a/pkgs/applications/graphics/inkscape/extensions.nix
+++ b/pkgs/applications/graphics/inkscape/extensions.nix
@@ -9,8 +9,8 @@
   applytransforms = callPackage ./extensions/applytransforms { };
 
   hexmap = stdenv.mkDerivation {
-    name = "hexmap";
-    version = "2020-06-06";
+    pname = "hexmap";
+    version = "unstable-2020-06-06";
 
     src = fetchFromGitHub {
       owner = "lifelike";
diff --git a/pkgs/applications/graphics/jpegrescan/default.nix b/pkgs/applications/graphics/jpegrescan/default.nix
index 1a7320bf6930e..f96742e6c067b 100644
--- a/pkgs/applications/graphics/jpegrescan/default.nix
+++ b/pkgs/applications/graphics/jpegrescan/default.nix
@@ -28,8 +28,12 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ perlPackages.FileSlurp ];
 
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
   buildInputs = [
-    perl libjpeg_turbo makeWrapper
+    perl libjpeg_turbo
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/graphics/mtpaint/default.nix b/pkgs/applications/graphics/mtpaint/default.nix
index 3565173285b4b..0acc873b39680 100644
--- a/pkgs/applications/graphics/mtpaint/default.nix
+++ b/pkgs/applications/graphics/mtpaint/default.nix
@@ -4,14 +4,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  p_name  = "mtPaint";
-  ver_maj = "3.50";
-  ver_min = "01";
-  name = "${p_name}-${ver_maj}.${ver_min}";
+  pname  = "mtPaint";
+  version = "3.50.01";
 
   src = fetchFromGitHub {
     owner = "wjaguar";
-    repo = p_name;
+    repo = "mtPaint";
     rev = "a4675ff5cd9fcd57d291444cb9f332b48f11243f";
     sha256 = "04wqxz8i655gz5rnz90cksy8v6m2jhcn1j8rzhqpp5xhawlmq24y";
   };
diff --git a/pkgs/applications/graphics/nomacs/default.nix b/pkgs/applications/graphics/nomacs/default.nix
index 9f3c1e453f8dc..29b049ac55be8 100644
--- a/pkgs/applications/graphics/nomacs/default.nix
+++ b/pkgs/applications/graphics/nomacs/default.nix
@@ -66,7 +66,6 @@ mkDerivation rec {
     description = "Qt-based image viewer";
     maintainers = with lib.maintainers; [ mindavi ];
     license = licenses.gpl3Plus;
-    repositories.git = "https://github.com/nomacs/nomacs.git";
     inherit (qtbase.meta) platforms;
   };
 }
diff --git a/pkgs/applications/graphics/ocrfeeder/default.nix b/pkgs/applications/graphics/ocrfeeder/default.nix
index da5f1c5dcc499..2cd3299c6175f 100644
--- a/pkgs/applications/graphics/ocrfeeder/default.nix
+++ b/pkgs/applications/graphics/ocrfeeder/default.nix
@@ -18,11 +18,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ocrfeeder";
-  version = "0.8.3";
+  version = "0.8.5";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "12f5gnq92ffnd5zaj04df7jrnsdz1zn4zcgpbf5p9qnd21i2y529";
+    sha256 = "sha256-sD0qWUndguJzTw0uy0FIqupFf4OX6dTFvcd+Mz+8Su0=";
   };
 
   nativeBuildInputs = [
@@ -49,18 +49,13 @@ stdenv.mkDerivation rec {
     ]))
   ];
 
-  # https://gitlab.gnome.org/GNOME/ocrfeeder/-/issues/22
-  postConfigure = ''
-    substituteInPlace src/ocrfeeder/util/constants.py \
-      --replace /usr/share/xml/iso-codes ${isocodes}/share/xml/iso-codes
-  '';
-
   enginesPath = lib.makeBinPath ([
     tesseract4
   ] ++ extraOcrEngines);
 
   preFixup = ''
     gappsWrapperArgs+=(--prefix PATH : "${enginesPath}")
+    gappsWrapperArgs+=(--set ISO_CODES_DIR "${isocodes}/share/xml/iso-codes")
   '';
 
   meta = with lib; {
@@ -69,5 +64,7 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ doronbehar ];
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
+    # Compiles, but doesn't launch, see: https://gitlab.gnome.org/GNOME/ocrfeeder/-/issues/83
+    broken = true;
   };
 }
diff --git a/pkgs/applications/graphics/photivo/default.nix b/pkgs/applications/graphics/photivo/default.nix
deleted file mode 100644
index 338f716e9bbda..0000000000000
--- a/pkgs/applications/graphics/photivo/default.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ lib
-, stdenv
-, fetchhg
-, fetchpatch
-, cmake
-, qt4
-, fftw
-, graphicsmagick_q16
-, lcms2
-, lensfun
-, pkg-config
-, libjpeg
-, exiv2
-, liblqr1
-}:
-
-stdenv.mkDerivation {
-  pname = "photivo";
-  version = "2014-01-25";
-
-  src = fetchhg {
-    url = "http://code.google.com/p/photivo/";
-    rev = "d687864489da";
-    sha256 = "0f6y18k7db2ci6xn664zcwm1g1k04sdv7gg1yd5jk41bndjb7z8h";
-  };
-
-  patches = [
-    # Patch fixing build with lensfun >= 0.3, taken from
-    # https://www.linuxquestions.org/questions/slackware-14/photivo-4175530230/#post5296578
-    (fetchpatch {
-      url = "https://www.linuxquestions.org/questions/attachment.php?attachmentid=17287&d=1420577220";
-      name = "lensfun-0.3.patch";
-      sha256 = "0ys45x4r4bjjlx0zpd5d56rgjz7k8gxili4r4k8zx3zfka4a3zwv";
-    })
-    ./gcc6.patch
-  ];
-
-  postPatch = '' # kinda icky
-    sed -e '/("@INSTALL@")/d' \
-        -e s,@INSTALL@,$out/share/photivo, \
-        -i Sources/ptSettings.cpp
-    sed '1i#include <math.h>' -i Sources/filters/ptFilter_StdCurve.cpp
-  '';
-
-  nativeBuildInputs = [ cmake pkg-config ];
-
-  buildInputs = [ qt4 fftw graphicsmagick_q16 lcms2 lensfun libjpeg exiv2 liblqr1 ];
-
-  meta = with lib; {
-    platforms = platforms.linux;
-    license = licenses.gpl3;
-    broken = true; # exiv2 0.27.1 FTBFS
-  };
-}
diff --git a/pkgs/applications/graphics/photivo/gcc6.patch b/pkgs/applications/graphics/photivo/gcc6.patch
deleted file mode 100644
index e2eb795fc8e2c..0000000000000
--- a/pkgs/applications/graphics/photivo/gcc6.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git c/Sources/ptImage.cpp i/Sources/ptImage.cpp
-index 9c95093..623c157 100755
---- c/Sources/ptImage.cpp
-+++ i/Sources/ptImage.cpp
-@@ -5291,7 +5291,7 @@ ptImage* ptImage::Box(const uint16_t MaxRadius, float* Mask) {
-         NewRow = NewRow < 0? -NewRow : NewRow > Height1? Height1_2-NewRow : NewRow ;

-         NewRow *= m_Width;

-         for(j = -IntRadius; j <= IntRadius; j++) {

--          if (Dist[abs(i)][abs(j)] < Radius) {

-+          if (Dist[int16_t(abs(i))][int16_t(abs(j))] < Radius) {

-             NewCol = Col+j;

-             NewCol = NewCol < 0? -NewCol : NewCol > Width1? Width1_2-NewCol : NewCol ;

- 

diff --git a/pkgs/applications/graphics/rnote/default.nix b/pkgs/applications/graphics/rnote/default.nix
index 624959ffa9ee0..ccccca8d65c23 100644
--- a/pkgs/applications/graphics/rnote/default.nix
+++ b/pkgs/applications/graphics/rnote/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, appstream-glib
 , desktop-file-utils
 , gio-sharp
 , glib
@@ -20,22 +21,23 @@
 
 stdenv.mkDerivation rec {
   pname = "rnote";
-  version = "0.3.5";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "flxzt";
     repo = "rnote";
     rev = "v${version}";
-    sha256 = "5g5SQJc5aopYxtHNP5T85TtcazovrveUCnMhJ90p2t4=";
+    sha256 = "sha256-J7IW329rWFEoB+44762DAkWA8Hq4IVmXgc+QoDQaxV0=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-vnLesWXdqNzlWNQsUVy03kfmcDNazQ1BbizQDoG1kgM=";
+    hash = "sha256-elXaikB/RemMxA4OXyZNQOgP1alImQMJHng5oX2j480=";
   };
 
   nativeBuildInputs = [
+    appstream-glib # For appstream-util
     desktop-file-utils # For update-desktop-database
     meson
     ninja
diff --git a/pkgs/applications/graphics/sane/backends/brscan5/default.nix b/pkgs/applications/graphics/sane/backends/brscan5/default.nix
index 9771384a5d1a1..9f76a0dd0b7d7 100644
--- a/pkgs/applications/graphics/sane/backends/brscan5/default.nix
+++ b/pkgs/applications/graphics/sane/backends/brscan5/default.nix
@@ -5,21 +5,22 @@ let
       ${stdenv.glibc}/lib/ld-linux${optionalString stdenv.is64bit "-x86-64"}.so.2 \
       ${file}
   '';
+  system = stdenv.hostPlatform.system;
 
 in
 stdenv.mkDerivation rec {
   pname = "brscan5";
-  version = "1.2.7-0";
+  version = "1.2.9-0";
   src = {
     "i686-linux" = fetchurl {
       url = "https://download.brother.com/welcome/dlf104034/${pname}-${version}.i386.deb";
-      sha256 = "647d06f629c22408d25be7c0bf49a4b1c7280bf78a27aa2cde6c3e3fa8b6807a";
+      sha256 = "ac23c9a435818955e7882ab06380adf346203ff4e45f384b40e84b8b29642f07";
     };
     "x86_64-linux" = fetchurl {
       url = "https://download.brother.com/welcome/dlf104033/${pname}-${version}.amd64.deb";
-      sha256 = "867bd88ab0d90f8e9391dc8127385095127e533cb6bd2d5d13449df602b165ae";
+      sha256 = "4ec23ff4b457323ae778e871a0f1abcc1848ea105af17850b57f7dcaddcfd96d";
     };
-  }."${stdenv.hostPlatform.system}";
+  }."${system}" or (throw "Unsupported system: ${system}");
 
   unpackPhase = ''
     ar x $src
@@ -30,21 +31,28 @@ stdenv.mkDerivation rec {
   buildInputs = [ libusb1 avahi-compat stdenv.cc.cc glib ];
   dontBuild = true;
 
-  postPatch = ''
-    ${myPatchElf "opt/brother/scanner/brscan5/brsaneconfig5"}
-    ${myPatchElf "opt/brother/scanner/brscan5/brscan_cnetconfig"}
-    ${myPatchElf "opt/brother/scanner/brscan5/brscan_gnetconfig"}
-
-    for a in opt/brother/scanner/brscan5/*.so.* opt/brother/scanner/brscan5/brscan_[cg]netconfig; do
-      if ! test -L $a; then
-        patchelf --set-rpath ${lib.makeLibraryPath buildInputs} $a
-      fi
-    done
-
-    # driver is hardcoded to look in /opt/brother/scanner/brscan5/models for model metadata.
-    # patch it to look in /etc/opt/brother/scanner/models instead, so nixos environment.etc can make it available
-    printf '/etc/opt/brother/scanner/models\x00' | dd of=opt/brother/scanner/brscan5/libsane-brother5.so.1.0.7 bs=1 seek=84632 conv=notrunc
-  '';
+  postPatch =
+    let
+      patchOffsetBytes =
+        if system == "x86_64-linux" then 84632
+        else if system == "i686-linux" then 77396
+        else throw "Unsupported system: ${system}";
+    in
+    ''
+      ${myPatchElf "opt/brother/scanner/brscan5/brsaneconfig5"}
+      ${myPatchElf "opt/brother/scanner/brscan5/brscan_cnetconfig"}
+      ${myPatchElf "opt/brother/scanner/brscan5/brscan_gnetconfig"}
+
+      for file in opt/brother/scanner/brscan5/*.so.* opt/brother/scanner/brscan5/brscan_[cg]netconfig; do
+        if ! test -L $file; then
+          patchelf --set-rpath ${lib.makeLibraryPath buildInputs} $file
+        fi
+      done
+
+      # driver is hardcoded to look in /opt/brother/scanner/brscan5/models for model metadata.
+      # patch it to look in /etc/opt/brother/scanner/models instead, so nixos environment.etc can make it available
+      printf '/etc/opt/brother/scanner/models\x00' | dd of=opt/brother/scanner/brscan5/libsane-brother5.so.1.0.7 bs=1 seek=${toString patchOffsetBytes} conv=notrunc
+    '';
 
   installPhase = with lib; ''
     runHook preInstall
diff --git a/pkgs/applications/graphics/sane/config.nix b/pkgs/applications/graphics/sane/config.nix
index 397e17837bcc9..8c7b94faca6cf 100644
--- a/pkgs/applications/graphics/sane/config.nix
+++ b/pkgs/applications/graphics/sane/config.nix
@@ -35,7 +35,7 @@ installSanePath = path: ''
 in
 stdenv.mkDerivation {
   name = "sane-config";
-  phases = "installPhase";
+  dontUnpack = true;
 
   installPhase = ''
     function symlink () {
diff --git a/pkgs/applications/graphics/shotwell/default.nix b/pkgs/applications/graphics/shotwell/default.nix
index 56d41d3dd503b..098d330f004a1 100644
--- a/pkgs/applications/graphics/shotwell/default.nix
+++ b/pkgs/applications/graphics/shotwell/default.nix
@@ -41,11 +41,11 @@
 
 stdenv.mkDerivation rec {
   pname = "shotwell";
-  version = "0.30.14";
+  version = "0.30.15";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-McLkgzkI02GcssNnWgXw2lnCuqduKLkFOF/VbADBKJU=";
+    sha256 = "sha256-OlKtYLEC2g31902wMcRdTM8mNRPJVGFu4WZL9PTpvck=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/synfigstudio/default.nix b/pkgs/applications/graphics/synfigstudio/default.nix
index 2b9fee974b377..57f3560233609 100644
--- a/pkgs/applications/graphics/synfigstudio/default.nix
+++ b/pkgs/applications/graphics/synfigstudio/default.nix
@@ -103,10 +103,10 @@ stdenv.mkDerivation {
 
   preConfigure = "./bootstrap.sh";
 
-  nativeBuildInputs = [ pkg-config autoreconfHook gettext ];
+  nativeBuildInputs = [ pkg-config autoreconfHook gettext makeWrapper ];
   buildInputs = [
     ETL boost cairo glibmm gtk3 gtkmm3 imagemagick intltool
-    libjack2 libsigcxx libxmlxx makeWrapper mlt-qt5
+    libjack2 libsigcxx libxmlxx mlt-qt5
     synfig which gnome.adwaita-icon-theme
   ];
 
diff --git a/pkgs/applications/graphics/unigine-heaven/default.nix b/pkgs/applications/graphics/unigine-heaven/default.nix
new file mode 100644
index 0000000000000..2ce05a52812ef
--- /dev/null
+++ b/pkgs/applications/graphics/unigine-heaven/default.nix
@@ -0,0 +1,107 @@
+{ lib
+, stdenv
+, fetchurl
+, makeWrapper
+, libX11
+, libXext
+, libXrandr
+, freetype
+, fontconfig
+, libXrender
+, libXinerama
+, autoPatchelfHook
+, libglvnd
+, openal
+, imagemagick
+, makeDesktopItem
+}:
+let
+  version = "4.0";
+
+  arch =
+    if stdenv.hostPlatform.system == "x86_64-linux" then
+      "x64"
+    else if stdenv.hostPlatform.system == "i686-linux" then
+      "x86"
+    else
+      throw "Unsupported platform ${stdenv.hostPlatform.system}";
+
+  desktopItem = makeDesktopItem {
+    name = "Heaven";
+    exec = "heaven";
+    genericName = "A GPU Stress test tool from the UNIGINE";
+    icon = "Heaven";
+    desktopName = "Heaven Benchmark";
+  };
+in
+stdenv.mkDerivation
+{
+  pname = "unigine-heaven";
+  inherit version;
+
+  src = fetchurl {
+    url = "https://assets.unigine.com/d/Unigine_Heaven-${version}.run";
+    sha256 = "19rndwwxnb9k2nw9h004hyrmr419471s0fp25yzvvc6rkd521c0v";
+  };
+
+  installPhase =
+    ''
+      sh $src --target $name
+
+      mkdir -p $out/lib/unigine/heaven/bin
+      mkdir -p $out/bin
+      mkdir -p $out/share/applications/
+      mkdir -p $out/share/icons/hicolor
+
+      install -m 0755 $name/bin/browser_${arch} $out/lib/unigine/heaven/bin
+      install -m 0755 $name/bin/libApp{Stereo,Surround,Wall}_${arch}.so $out/lib/unigine/heaven/bin
+      install -m 0755 $name/bin/libGPUMonitor_${arch}.so $out/lib/unigine/heaven/bin
+      install -m 0755 $name/bin/libQt{Core,Gui,Network,WebKit,Xml}Unigine_${arch}.so.4 $out/lib/unigine/heaven/bin
+      install -m 0755 $name/bin/libUnigine_${arch}.so $out/lib/unigine/heaven/bin
+      install -m 0755 $name/bin/heaven_${arch} $out/lib/unigine/heaven/bin
+      install -m 0755 $name/heaven $out/bin/heaven
+
+      cp -R $name/data $name/documentation $out/lib/unigine/heaven
+
+      wrapProgram $out/bin/heaven --prefix LD_LIBRARY_PATH : ${libglvnd}/lib:$out/bin:${openal}/lib --run "cd $out/lib/unigine/heaven/"
+
+      convert $out/lib/unigine/heaven/data/launcher/icon.png -resize 128x128 $out/share/icons/Heaven.png
+      for RES in 16 24 32 48 64 128 256
+      do
+          mkdir -p $out/share/icons/hicolor/"$RES"x"$RES"/apps
+          convert $out/lib/unigine/heaven/data/launcher/icon.png -resize "$RES"x"$RES" $out/share/icons/hicolor/"$RES"x"$RES"/apps/Heaven.png
+      done
+
+      ln -s ${desktopItem}/share/applications/* $out/share/applications
+    '';
+
+  nativeBuildInputs =
+    [
+      autoPatchelfHook
+      makeWrapper
+      imagemagick
+    ];
+
+  buildInputs =
+    [
+      libX11
+      stdenv.cc.cc
+      libXext
+      libXrandr
+      freetype
+      fontconfig
+      libXrender
+      libXinerama
+    ];
+
+  dontUnpack = true;
+
+  meta =
+    {
+      description = "The Unigine Heaven GPU benchmarking tool";
+      homepage = "https://benchmark.unigine.com/heaven";
+      license = lib.licenses.unfree;
+      maintainers = [ lib.maintainers.BarinovMaxim ];
+      platforms = [ "x86_64-linux" "i686-linux" ];
+    };
+}
diff --git a/pkgs/applications/graphics/unigine-superposition/default.nix b/pkgs/applications/graphics/unigine-superposition/default.nix
new file mode 100644
index 0000000000000..768089d1a0c4f
--- /dev/null
+++ b/pkgs/applications/graphics/unigine-superposition/default.nix
@@ -0,0 +1,146 @@
+{ lib
+, glib
+, stdenv
+, dbus
+, freetype
+, fontconfig
+, zlib
+, qtquickcontrols2
+, libXinerama
+, libxcb
+, libSM
+, libXi
+, libglvnd
+, libXext
+, libXrandr
+, mailspring
+, libX11
+, libICE
+, libXrender
+, autoPatchelfHook
+, makeWrapper
+, mkDerivation
+, xkeyboard_config
+, fetchurl
+, buildFHSUserEnv
+, openal
+, makeDesktopItem
+}:
+
+let
+
+  superposition = stdenv.mkDerivation rec{
+    pname = "unigine-superposition";
+    version = "1.1";
+
+    src = fetchurl {
+      url = "https://assets.unigine.com/d/Unigine_Superposition-${version}.run";
+      sha256 = "12hzlz792pf8pvxf13fww3qhahqzwzkxq9q3mq20hbhvaphbg7nd";
+    };
+
+    nativeBuildInputs = [
+      autoPatchelfHook
+      makeWrapper
+    ];
+
+    buildInputs = [
+      glib
+      stdenv.cc.cc
+      dbus
+      freetype
+      fontconfig
+      zlib
+      qtquickcontrols2
+      libXinerama
+      libxcb
+      libSM
+      libXi
+      libglvnd
+      libXext
+      libXrandr
+      mailspring
+      libX11
+      libICE
+      libXrender
+    ];
+
+    installPhase = ''
+      bash $src --target $name --noexec
+      mkdir -p $out/bin $out/lib/unigine/superposition/
+      cp -r $name/* $out/lib/unigine/superposition/
+      echo "exec $out/lib/unigine/superposition/Superposition" >> $out/bin/superposition
+      chmod +x $out/bin/superposition
+       wrapProgram $out/lib/unigine/superposition/Superposition \
+        --set QT_XKB_CONFIG_ROOT ${xkeyboard_config} \
+        --run "cd $out/lib/unigine/superposition/"
+    '';
+
+    dontUnpack = true;
+    dontWrapQtApps = true;
+
+    postPatchMkspecs = ''
+      cp -f $name/bin/superposition $out/lib/unigine/superposition/bin/superposition
+    '';
+  };
+
+  desktopItem = makeDesktopItem {
+    name = "Superposition";
+    exec = "Superposition";
+    genericName = "A GPU Stress test tool from the UNIGINE";
+    icon = "Superposition";
+    desktopName = "Superposition Benchmark";
+  };
+
+in
+
+# We can patch the "/bin/superposition", but "/bin/launcher" checks it for changes.
+# For that we need use a buildFHSUserEnv.
+
+buildFHSUserEnv {
+  name = "Superposition";
+
+  targetPkgs = pkgs: [
+    superposition
+    glib
+    stdenv.cc.cc
+    dbus
+    freetype
+    fontconfig
+    zlib
+    qtquickcontrols2
+    libXinerama
+    libxcb
+    libSM
+    libXi
+    libglvnd
+    libXext
+    libXrandr
+    mailspring
+    libX11
+    libICE
+    libXrender
+    openal
+  ];
+  runScript = "superposition";
+
+  extraInstallCommands = ''
+    # create directories
+    mkdir -p $out/share/icons/hicolor $out/share/applications
+    # create .desktop file
+    ln -s ${desktopItem}/share/applications/* $out/share/applications
+    # install Superposition.desktop and icon
+    cp ${superposition}/lib/unigine/superposition/Superposition.png $out/share/icons/
+    for RES in 16 24 32 48 64 128 256; do
+      mkdir -p $out/share/icons/hicolor/"$RES"x"$RES"/apps
+      cp ${superposition}/lib/unigine/superposition/icons/superposition_icon_$RES.png $out/share/icons/hicolor/"$RES"x"$RES"/apps/Superposition.png
+    done
+  '';
+
+  meta = {
+    description = "The Unigine Superposition GPU benchmarking tool";
+    homepage = "https://benchmark.unigine.com/superposition";
+    license = lib.licenses.unfree;
+    maintainers = [ lib.maintainers.BarinovMaxim ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/graphics/xfig/default.nix b/pkgs/applications/graphics/xfig/default.nix
index dc98d761bf083..23d56c8ec727f 100644
--- a/pkgs/applications/graphics/xfig/default.nix
+++ b/pkgs/applications/graphics/xfig/default.nix
@@ -3,6 +3,7 @@
 , fetchurl
 , xlibsWrapper
 , makeWrapper
+, imagemagick
 , libXpm
 , libXmu
 , libXi
@@ -21,7 +22,7 @@ stdenv.mkDerivation rec {
     sha256 = "0fndgbm1mkqb1sn2v2kj3nx9mxj70jbp31y2bjvzcmmkry0q3k5j";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ imagemagick makeWrapper ];
 
   buildInputs = [
     xlibsWrapper
@@ -34,7 +35,8 @@ stdenv.mkDerivation rec {
   ];
 
   postPatch = ''
-    sed -i 's:"fig2dev":"${fig2dev}/bin/fig2dev":' src/main.c
+    substituteInPlace src/main.c --replace '"fig2dev"' '"${fig2dev}/bin/fig2dev"'
+    substituteInPlace xfig.desktop --replace "/usr/bin/" "$out/bin/"
   '';
 
   postInstall = ''
@@ -43,6 +45,15 @@ stdenv.mkDerivation rec {
 
     wrapProgram $out/bin/xfig \
       --set XAPPLRESDIR $out/share/X11/app-defaults
+
+    mkdir -p $out/share/icons/hicolor/{16x16,22x22,48x48,64x64}/apps
+
+    for dimension in 16x16 22x22 48x48; do
+      convert doc/html/images/xfig-logo.png -geometry $dimension\
+        $out/share/icons/hicolor/16x16/apps/xfig.png
+    done
+    install doc/html/images/xfig-logo.png \
+      $out/share/icons/hicolor/64x64/apps/xfig.png
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/graphics/xournal/default.nix b/pkgs/applications/graphics/xournal/default.nix
index f831272387560..47a47ae4f25d6 100644
--- a/pkgs/applications/graphics/xournal/default.nix
+++ b/pkgs/applications/graphics/xournal/default.nix
@@ -10,9 +10,9 @@ in
 
 stdenv.mkDerivation rec {
   version = "0.4.8.2016";
-  name = "xournal-" + version;
+  pname = "xournal";
   src = fetchurl {
-    url = "mirror://sourceforge/xournal/${name}.tar.gz";
+    url = "mirror://sourceforge/xournal/xournal-${version}.tar.gz";
     sha256 = "09i88v3wacmx7f96dmq0l3afpyv95lh6jrx16xzm0jd1szdrhn5j";
   };
 
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     + lib.optionalString (!isGdkQuartzBackend) " -lX11";
 
   desktopItem = makeDesktopItem {
-    name = name;
+    name = "xournal-${version}";
     exec = "xournal";
     icon = "xournal";
     desktopName = "Xournal";
diff --git a/pkgs/applications/kde/fetch.sh b/pkgs/applications/kde/fetch.sh
index 72b76131f64a0..a24ef563f3e9b 100644
--- a/pkgs/applications/kde/fetch.sh
+++ b/pkgs/applications/kde/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/release-service/21.12.2/src -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/release-service/21.12.3/src -A '*.tar.xz' )
diff --git a/pkgs/applications/kde/srcs.nix b/pkgs/applications/kde/srcs.nix
index af8e47dd7493c..3d5948c290dc8 100644
--- a/pkgs/applications/kde/srcs.nix
+++ b/pkgs/applications/kde/srcs.nix
@@ -4,1843 +4,1843 @@
 
 {
   akonadi = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/akonadi-21.12.2.tar.xz";
-      sha256 = "1i1q8zda3hl564w02478wyqv35wj8npkqayy7b13shkq9b9j3nj8";
-      name = "akonadi-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/akonadi-21.12.3.tar.xz";
+      sha256 = "026srxk7da20vfhbj7jh8aip3sylpm61czwblj3wxxps0vbxxs2g";
+      name = "akonadi-21.12.3.tar.xz";
     };
   };
   akonadi-calendar = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/akonadi-calendar-21.12.2.tar.xz";
-      sha256 = "001ndvgqn6x70s7gdya1f1vr080mfkypam3k6z0i2ivlpymc3wly";
-      name = "akonadi-calendar-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/akonadi-calendar-21.12.3.tar.xz";
+      sha256 = "0hzy6y9pxa06k0pp5yr84i0sv15qgzjn7nrlmsylm6iy7fspqqbq";
+      name = "akonadi-calendar-21.12.3.tar.xz";
     };
   };
   akonadi-calendar-tools = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/akonadi-calendar-tools-21.12.2.tar.xz";
-      sha256 = "0f0l6wj3h2afbmvnq60cg0x03a412849dg4l9dwgdn8yxvnxkhw6";
-      name = "akonadi-calendar-tools-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/akonadi-calendar-tools-21.12.3.tar.xz";
+      sha256 = "1idh6kf8h9158rgw3b5lld7z9mvvif00jrvpz891cziblvr19p4a";
+      name = "akonadi-calendar-tools-21.12.3.tar.xz";
     };
   };
   akonadi-contacts = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/akonadi-contacts-21.12.2.tar.xz";
-      sha256 = "1aq81569kz529n66dl5jjzamy6kxw0xk5bcmjfvb3wpxznhiigqm";
-      name = "akonadi-contacts-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/akonadi-contacts-21.12.3.tar.xz";
+      sha256 = "04ixj09s27q8pbmfrb1475bc0h84sb5ikfxzpc4i5b3whx40g9dm";
+      name = "akonadi-contacts-21.12.3.tar.xz";
     };
   };
   akonadi-import-wizard = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/akonadi-import-wizard-21.12.2.tar.xz";
-      sha256 = "0b4mphxbqzf3akhafxc4fvil83l3z4qcf8xnblw23ficqqs8s0di";
-      name = "akonadi-import-wizard-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/akonadi-import-wizard-21.12.3.tar.xz";
+      sha256 = "1fbxx53zdcqp98mzdx45ccncppnxqfhc7j9qwwxcik0ygrmg9wcj";
+      name = "akonadi-import-wizard-21.12.3.tar.xz";
     };
   };
   akonadi-mime = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/akonadi-mime-21.12.2.tar.xz";
-      sha256 = "1nd6bf26lb5wfhzh4kn37iwmb6savcq9wsaph5c7jg6m0bdix1fn";
-      name = "akonadi-mime-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/akonadi-mime-21.12.3.tar.xz";
+      sha256 = "1bcrbf5z9175p206cvm5s6zq882nb32cf9akdcbnadqiibrpxkxv";
+      name = "akonadi-mime-21.12.3.tar.xz";
     };
   };
   akonadi-notes = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/akonadi-notes-21.12.2.tar.xz";
-      sha256 = "1s3bxnqsjnlgsnia0nvqyc3m1ppzanzna9598lgwbmz053rgn7ck";
-      name = "akonadi-notes-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/akonadi-notes-21.12.3.tar.xz";
+      sha256 = "0xkcw9izgxfzglciig2i4wiz6iflzjg0d6dp1nq6p1kwxwc899sb";
+      name = "akonadi-notes-21.12.3.tar.xz";
     };
   };
   akonadi-search = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/akonadi-search-21.12.2.tar.xz";
-      sha256 = "1hp2x8y59azl59znrqhrjn4n1bs2iqnkdsldv1f2k1ima6z5f4qy";
-      name = "akonadi-search-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/akonadi-search-21.12.3.tar.xz";
+      sha256 = "1id6zzjxc9zvpz1ryj2zn1yff5ak04r1mlk9cklbj99frzf0wv6p";
+      name = "akonadi-search-21.12.3.tar.xz";
     };
   };
   akonadiconsole = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/akonadiconsole-21.12.2.tar.xz";
-      sha256 = "1rqfmhi1mzh6yzjg7jf6adf1xqvpbhcxgld2pp4rd9g5mi9rlxlk";
-      name = "akonadiconsole-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/akonadiconsole-21.12.3.tar.xz";
+      sha256 = "1chb0ars9w05pq6ij2l8qfj1ac7pmzwg2mq1i4z8syhdklyryir1";
+      name = "akonadiconsole-21.12.3.tar.xz";
     };
   };
   akregator = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/akregator-21.12.2.tar.xz";
-      sha256 = "1srsm25qvbww0hl7r878n32b71g0p222zxyys7chzrg8izrh12b8";
-      name = "akregator-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/akregator-21.12.3.tar.xz";
+      sha256 = "1yy5c29zxpli4cddknmdvjkgii3j7pvw6lhwqfrqjc8jh83gm8f8";
+      name = "akregator-21.12.3.tar.xz";
     };
   };
   analitza = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/analitza-21.12.2.tar.xz";
-      sha256 = "1ak2wyfx67cwx85d5053f6flxwas973mhnm25mf4jw0qll72vid4";
-      name = "analitza-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/analitza-21.12.3.tar.xz";
+      sha256 = "0rgims4c80nficibg3lh764csh0kjsfnf7h303kyfd9yk59xa3in";
+      name = "analitza-21.12.3.tar.xz";
     };
   };
   ark = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ark-21.12.2.tar.xz";
-      sha256 = "1g05lyv8ll85myw0i62bxr4kmfd3dhldvmbgpgym9r1rgan12q90";
-      name = "ark-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ark-21.12.3.tar.xz";
+      sha256 = "1p30bgnb3aw0f2jnaksz7jfqqcz45b2x3bjrri0w5w580204a5s8";
+      name = "ark-21.12.3.tar.xz";
     };
   };
   artikulate = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/artikulate-21.12.2.tar.xz";
-      sha256 = "1g0h0dqqsf3x8q292hfhrizl9dlqzm8gjynzcyrzx0gvbfadj2l1";
-      name = "artikulate-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/artikulate-21.12.3.tar.xz";
+      sha256 = "0fbgmd3yfyv1pzz24874a0v7cl4yk6wlfryn8sn21smi054wqz6z";
+      name = "artikulate-21.12.3.tar.xz";
     };
   };
   audiocd-kio = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/audiocd-kio-21.12.2.tar.xz";
-      sha256 = "07nk060vkyn94ihs9v054zhsckfwpn8z911gy3hnyf1wdmnpfh2n";
-      name = "audiocd-kio-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/audiocd-kio-21.12.3.tar.xz";
+      sha256 = "1alyn7w0v1by3fkb6xfnwj0hayjrrnmwnajnrnpvn8skbqsbzlgc";
+      name = "audiocd-kio-21.12.3.tar.xz";
     };
   };
   baloo-widgets = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/baloo-widgets-21.12.2.tar.xz";
-      sha256 = "1ax7pak9qb60yzdca8frkb8qs4khs6f2wbkwyb48s7zmdxqyw1bj";
-      name = "baloo-widgets-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/baloo-widgets-21.12.3.tar.xz";
+      sha256 = "0cfcfmsgbaxi53a3r0f013lskm5yll7zaxw98nlj6r8fsq2slrhv";
+      name = "baloo-widgets-21.12.3.tar.xz";
     };
   };
   blinken = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/blinken-21.12.2.tar.xz";
-      sha256 = "0h0nw79zr891f54y2r3d3n837bzn24pfvkxsab1f0a228kjakw09";
-      name = "blinken-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/blinken-21.12.3.tar.xz";
+      sha256 = "1pbwb7q4p705k31kd62gira0x9qccjsn07d6h1w44wydc3lfdjnc";
+      name = "blinken-21.12.3.tar.xz";
     };
   };
   bomber = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/bomber-21.12.2.tar.xz";
-      sha256 = "1348mdiykfg1c3gr5fkcf71mxf7lyapwg5ym3jqp9vyc56vhwfjs";
-      name = "bomber-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/bomber-21.12.3.tar.xz";
+      sha256 = "1mlxs2dbsycq7mw9g1hl2l17gl0z33mrry5r0zmz74i67nfijg8w";
+      name = "bomber-21.12.3.tar.xz";
     };
   };
   bovo = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/bovo-21.12.2.tar.xz";
-      sha256 = "0i2i5ici9v402lrh83mhfsrxmqi0fs75rkfvhsbza3wab7b165kc";
-      name = "bovo-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/bovo-21.12.3.tar.xz";
+      sha256 = "1jzvazqy5vcwkyhnbzw7sh8ngff5clclq98vbbhzd9dmnacirdbq";
+      name = "bovo-21.12.3.tar.xz";
     };
   };
   calendarsupport = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/calendarsupport-21.12.2.tar.xz";
-      sha256 = "021rr06ln7l0v2xjzsij4r71jwpy1w1r761bjad0ywprwkdc93bm";
-      name = "calendarsupport-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/calendarsupport-21.12.3.tar.xz";
+      sha256 = "0annni037cp1ga2lj2gkjxlkygnaxna4fs095lbaqp5zljz3g8vp";
+      name = "calendarsupport-21.12.3.tar.xz";
     };
   };
   cantor = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/cantor-21.12.2.tar.xz";
-      sha256 = "0vq8yvdglf43y5r2f9bvamm9bp82q92hw9sr8xmgb5hqz5mkap78";
-      name = "cantor-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/cantor-21.12.3.tar.xz";
+      sha256 = "0v0xcgaz3rag044wmpiq8gs7pp6n7wcca0q1hzav7i651pgqjjks";
+      name = "cantor-21.12.3.tar.xz";
     };
   };
   cervisia = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/cervisia-21.12.2.tar.xz";
-      sha256 = "1vpm3cjknpa4s9mjdfngpvidqihfh5sb427yhnydr1q2dmllr9nn";
-      name = "cervisia-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/cervisia-21.12.3.tar.xz";
+      sha256 = "106x0xrscc6xvgijmqy892r1hrirjh32nj8lqhc7g7dzjaa7lhsj";
+      name = "cervisia-21.12.3.tar.xz";
     };
   };
   dolphin = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/dolphin-21.12.2.tar.xz";
-      sha256 = "0c0gk1djgl1d1qzibw5f1w29cnlxl6kan8pkg0izaqvnbmmx53wn";
-      name = "dolphin-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/dolphin-21.12.3.tar.xz";
+      sha256 = "0m5nqa8j0mcsrx9wxfcf8z39kxas51k03lschr721vm4x65j64jq";
+      name = "dolphin-21.12.3.tar.xz";
     };
   };
   dolphin-plugins = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/dolphin-plugins-21.12.2.tar.xz";
-      sha256 = "1mrsampq1zq5rri1kx77dz0afz4a6s8pvb1255q0pl7imgxhiaqc";
-      name = "dolphin-plugins-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/dolphin-plugins-21.12.3.tar.xz";
+      sha256 = "0rbz6fw98c71h10ry1xjc0pgzvphajmj18lnjm4hf7bbrizsmdb5";
+      name = "dolphin-plugins-21.12.3.tar.xz";
     };
   };
   dragon = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/dragon-21.12.2.tar.xz";
-      sha256 = "07zn4ishffh9g8hvkpfgm7j9cimw3plcabzk9p157nhgxr62z4sb";
-      name = "dragon-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/dragon-21.12.3.tar.xz";
+      sha256 = "09iwwlbv4jmxs92dz20z9fqg1sfnqih54izz8459ibl8vydfgfp1";
+      name = "dragon-21.12.3.tar.xz";
     };
   };
   elisa = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/elisa-21.12.2.tar.xz";
-      sha256 = "0zwy0bi4s25y6adgjhrhw992i2c1kjwpgvp9yg902h8zpsdynwh5";
-      name = "elisa-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/elisa-21.12.3.tar.xz";
+      sha256 = "0cg9v438fclqnv1rgx2k86mzfp5ggfcp7d5kr8xh4kjbmy17rzca";
+      name = "elisa-21.12.3.tar.xz";
     };
   };
   eventviews = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/eventviews-21.12.2.tar.xz";
-      sha256 = "1v3bpd0b3ph7v0kg8pyp4rr4j8cxy7y4csym5dlqn6l81db7d3gr";
-      name = "eventviews-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/eventviews-21.12.3.tar.xz";
+      sha256 = "01x9ccwspn1dwkmcxcr8p6pazj6w31pxhx0bzlfr6bgpccicp2w2";
+      name = "eventviews-21.12.3.tar.xz";
     };
   };
   ffmpegthumbs = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ffmpegthumbs-21.12.2.tar.xz";
-      sha256 = "17cyrimlnf1npffmxinnj3q5ynqg3agx35b55iqnw3xixrz4snzr";
-      name = "ffmpegthumbs-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ffmpegthumbs-21.12.3.tar.xz";
+      sha256 = "0x2gpx30azkz61p3xj1nm7hckyrmyh0qhs29ah30z6a5xw7336ws";
+      name = "ffmpegthumbs-21.12.3.tar.xz";
     };
   };
   filelight = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/filelight-21.12.2.tar.xz";
-      sha256 = "0khhwnms2ysy9ijpmmagm68w1zixmxs7svaaldd30xb3w52f78v2";
-      name = "filelight-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/filelight-21.12.3.tar.xz";
+      sha256 = "1w3q0l9p5ry2crwdzcyb1d4ms2y4gp3y0a3j5drpy8clmxn0gz18";
+      name = "filelight-21.12.3.tar.xz";
     };
   };
   granatier = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/granatier-21.12.2.tar.xz";
-      sha256 = "0j7yizbljqx1a4wd4prmb3463r67f3lk5gv5x8j1yx2zmiaq0qki";
-      name = "granatier-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/granatier-21.12.3.tar.xz";
+      sha256 = "16yriharl66frglmdy6750nixczh0l4c19nnr6dav15m8qfb3g6b";
+      name = "granatier-21.12.3.tar.xz";
     };
   };
   grantlee-editor = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/grantlee-editor-21.12.2.tar.xz";
-      sha256 = "0wxkg56s83i61i17cb2y6ziminaq2gammynrwm5jvkpi5vqwvi2s";
-      name = "grantlee-editor-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/grantlee-editor-21.12.3.tar.xz";
+      sha256 = "00qy1ncgwylc995g051x5l679s16wjpcj7il62ck7d0j02rah0n2";
+      name = "grantlee-editor-21.12.3.tar.xz";
     };
   };
   grantleetheme = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/grantleetheme-21.12.2.tar.xz";
-      sha256 = "0z1p0s7fakfbscppmrgp1irf3dm2ayadyd3yb5zdsr9xahs0b9md";
-      name = "grantleetheme-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/grantleetheme-21.12.3.tar.xz";
+      sha256 = "1w83slbkj2y1wk78srq2k95ybs66sb4mbaa0zm7fl9pkwhqxbnb7";
+      name = "grantleetheme-21.12.3.tar.xz";
     };
   };
   gwenview = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/gwenview-21.12.2.tar.xz";
-      sha256 = "1jkv34llga981dq08npk8alrg9h27prdpffcxkm368i77mvp9hv6";
-      name = "gwenview-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/gwenview-21.12.3.tar.xz";
+      sha256 = "0zbsyrwlwbc9zmdxcgk02dvcb0f8izhlcbbzqw8cgr4l2c90xl98";
+      name = "gwenview-21.12.3.tar.xz";
     };
   };
   incidenceeditor = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/incidenceeditor-21.12.2.tar.xz";
-      sha256 = "151jhn84d5amv3abvp6cd2q10mf4mmv3q5hn0inqrmapy3v6bn8i";
-      name = "incidenceeditor-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/incidenceeditor-21.12.3.tar.xz";
+      sha256 = "1sbflfggpqhwhg3iw46462z3p83sjhlx6f1fvgz251m020vqq9xa";
+      name = "incidenceeditor-21.12.3.tar.xz";
     };
   };
   itinerary = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/itinerary-21.12.2.tar.xz";
-      sha256 = "02w6696kdzgz2r9677nr1jyhd9mfhc2zhmasy70nblz0jn22bcq7";
-      name = "itinerary-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/itinerary-21.12.3.tar.xz";
+      sha256 = "0gvkhwnxichvpwrsb6wjiv5q80v8k2yqvgpvfdapxnd7sx6qp7fp";
+      name = "itinerary-21.12.3.tar.xz";
     };
   };
   juk = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/juk-21.12.2.tar.xz";
-      sha256 = "1qgxpy1ksrgvdik69vppzdl1crscn69284q4wvwc5qh9v6rhv1xn";
-      name = "juk-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/juk-21.12.3.tar.xz";
+      sha256 = "1ipzx031996h83f9w3fzbx5vf5nnskq9kf71a6aypqckk65vcqcs";
+      name = "juk-21.12.3.tar.xz";
     };
   };
   k3b = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/k3b-21.12.2.tar.xz";
-      sha256 = "0rjg3zs85gw62r3z3msp438jnf0ghc6y577br59ig19m10x33rz9";
-      name = "k3b-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/k3b-21.12.3.tar.xz";
+      sha256 = "0igqb6zw76j2hl9xclcwfny2831phdg9s2msa1y87zyc3c7g9nxc";
+      name = "k3b-21.12.3.tar.xz";
     };
   };
   kaccounts-integration = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kaccounts-integration-21.12.2.tar.xz";
-      sha256 = "0c4yxrhbas0wsmrxr0pwkpgw9gzdvvf5r5nxd15f656bwwhmqlwy";
-      name = "kaccounts-integration-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kaccounts-integration-21.12.3.tar.xz";
+      sha256 = "13q4d7ln98vdpb6ryk49zakx5bysdnjxifi7cma10fgk9gcqqhpb";
+      name = "kaccounts-integration-21.12.3.tar.xz";
     };
   };
   kaccounts-providers = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kaccounts-providers-21.12.2.tar.xz";
-      sha256 = "1srz43xf6kz7xfz8np94pdnhmvashk7y2f2a275rwpnlrl0yw1yd";
-      name = "kaccounts-providers-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kaccounts-providers-21.12.3.tar.xz";
+      sha256 = "0kcyvpa0b872q7s4amagqcrzpl8cxlb91nwc9yg91wg56mmfv7m0";
+      name = "kaccounts-providers-21.12.3.tar.xz";
     };
   };
   kaddressbook = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kaddressbook-21.12.2.tar.xz";
-      sha256 = "04ac5z9603lxylc6x55chnc0w59mx3z92nyvfnvjvp1ga77si36b";
-      name = "kaddressbook-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kaddressbook-21.12.3.tar.xz";
+      sha256 = "1hzq0fdy99l1kqw14d582l0s56gvrw86abihib6k4az4c6g3c0md";
+      name = "kaddressbook-21.12.3.tar.xz";
     };
   };
   kajongg = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kajongg-21.12.2.tar.xz";
-      sha256 = "04s3f8nj0rh1zy7sfa5kq0smbfsyylz9w3lxm2z69g7x5sb08k53";
-      name = "kajongg-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kajongg-21.12.3.tar.xz";
+      sha256 = "1sffssfpzsd83ippkwpmqdx8rfh9cpd7i22nsv8asnaylylvy3zd";
+      name = "kajongg-21.12.3.tar.xz";
     };
   };
   kalarm = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kalarm-21.12.2.tar.xz";
-      sha256 = "0f3hcsql20lim9nqb0ha5lpsrbh131rwcla9i6aax5sgw4m6nyfh";
-      name = "kalarm-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kalarm-21.12.3.tar.xz";
+      sha256 = "1miwcxim46hiabp2rbs874np544ip4x5nl1dc62h9li9784a9k3i";
+      name = "kalarm-21.12.3.tar.xz";
     };
   };
   kalarmcal = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kalarmcal-21.12.2.tar.xz";
-      sha256 = "15l893iv4smlppk7k682m9hwrph84p5chx5mgxixjxl28c1blcc8";
-      name = "kalarmcal-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kalarmcal-21.12.3.tar.xz";
+      sha256 = "160pmr702b68hys9l02azvrv6pagy1r2whw0zp3jlf6863p9fkqr";
+      name = "kalarmcal-21.12.3.tar.xz";
     };
   };
   kalgebra = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kalgebra-21.12.2.tar.xz";
-      sha256 = "0w1h3as6dip4hrp2ay61sz9gixf4s887jp42v7zjajwwhjs6xs1m";
-      name = "kalgebra-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kalgebra-21.12.3.tar.xz";
+      sha256 = "0870kdqha0nk2cm8hq8d9l2fqfw6hn0rx2qc9f9w8l4014rcn127";
+      name = "kalgebra-21.12.3.tar.xz";
     };
   };
   kalzium = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kalzium-21.12.2.tar.xz";
-      sha256 = "0kvrmvd2vgl6fklxq9sr46p6nnh0fk0l6licj9b5q9rz82xwbr50";
-      name = "kalzium-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kalzium-21.12.3.tar.xz";
+      sha256 = "1qha1dh638ms785j1b73j19pj8y3c7v1n4jd1m93026a292m8jll";
+      name = "kalzium-21.12.3.tar.xz";
     };
   };
   kamera = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kamera-21.12.2.tar.xz";
-      sha256 = "07n1xlmg7m6p5ca0i4hjjyv564cqrn4p6h5yqx4pw3pcq8nizqfz";
-      name = "kamera-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kamera-21.12.3.tar.xz";
+      sha256 = "1xwxmlnra9qdhvf1hhy04v72ar02pqxkg0l16a53809ilyss2wrm";
+      name = "kamera-21.12.3.tar.xz";
     };
   };
   kamoso = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kamoso-21.12.2.tar.xz";
-      sha256 = "09qn1px0mmcjhw9ikaz8xcjbdabh657ij3sa4ps37jbfzyyv45fb";
-      name = "kamoso-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kamoso-21.12.3.tar.xz";
+      sha256 = "1q98f6ni4p19pk0svbfw4mbfwnc9i5p9csms2aj76mp2dn78xpib";
+      name = "kamoso-21.12.3.tar.xz";
     };
   };
   kanagram = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kanagram-21.12.2.tar.xz";
-      sha256 = "1l4j2fy8mwdywp0prswng1f06rpwkfi54dc8z5z02b13p47hz5cy";
-      name = "kanagram-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kanagram-21.12.3.tar.xz";
+      sha256 = "131flw9pjvin4w1m36qkwgzna3llvxp1vq0ynzwfnvhs49i3g5gc";
+      name = "kanagram-21.12.3.tar.xz";
     };
   };
   kapman = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kapman-21.12.2.tar.xz";
-      sha256 = "0n1iz9jfgzpcpavb4ijfqp3hym7z53wzp5a5hiad8i6nws408grn";
-      name = "kapman-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kapman-21.12.3.tar.xz";
+      sha256 = "1974z7g3ylvf48xh3xhf3gr7iphgmj83ir9hss1a2ba0hpgg463k";
+      name = "kapman-21.12.3.tar.xz";
     };
   };
   kapptemplate = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kapptemplate-21.12.2.tar.xz";
-      sha256 = "1sjyji533x9ph9l63zf0llsb0m5fzb1lka03h5blm7fdyw570bad";
-      name = "kapptemplate-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kapptemplate-21.12.3.tar.xz";
+      sha256 = "16jgybcq3ixqwi7wli11ns7w4zdlj8rgw4chzsjcqxn6c0sqy8zq";
+      name = "kapptemplate-21.12.3.tar.xz";
     };
   };
   kate = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kate-21.12.2.tar.xz";
-      sha256 = "0r59rfyrbs50w9brl4rrq1wdfmrr3sz7plw2pqlc5xpzngrdlhs1";
-      name = "kate-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kate-21.12.3.tar.xz";
+      sha256 = "1pp0k00kvih0xkkv1q1gha4na2bwqc7dhyyrla7c2vvln8gi99dg";
+      name = "kate-21.12.3.tar.xz";
     };
   };
   katomic = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/katomic-21.12.2.tar.xz";
-      sha256 = "123ls2p6az9bpy741xg85azs0p1qbssgcg4fh8cqazkz0kgzr0hf";
-      name = "katomic-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/katomic-21.12.3.tar.xz";
+      sha256 = "1y4mnvkd6ajk0m0j2xph5zbw3a14clm2sswc4y8c9r4ipk3hqsgh";
+      name = "katomic-21.12.3.tar.xz";
     };
   };
   kbackup = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kbackup-21.12.2.tar.xz";
-      sha256 = "1yadxlqfz2a4lirxf2xmivggvdpbjiaw5zn7aw72jb3yjs7x6j03";
-      name = "kbackup-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kbackup-21.12.3.tar.xz";
+      sha256 = "0r1cqkfzpdqpwv5pds8l0p7lxlwpv0mr7rjys1icsp8gl4hbpv60";
+      name = "kbackup-21.12.3.tar.xz";
     };
   };
   kblackbox = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kblackbox-21.12.2.tar.xz";
-      sha256 = "1y5l5l5p3s2gf69rih3mjdv42h9ydfk66v10ad5na3b4sqbi2qi7";
-      name = "kblackbox-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kblackbox-21.12.3.tar.xz";
+      sha256 = "10j8rnpr3gjaqspx4mxqj9cncqj6v2jn5rkldr46bv7yxgjb5rw3";
+      name = "kblackbox-21.12.3.tar.xz";
     };
   };
   kblocks = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kblocks-21.12.2.tar.xz";
-      sha256 = "13anvyy3br7ybl74jcrnjmw5qjfyk4z6s7ncziw8l37ggg4k7n91";
-      name = "kblocks-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kblocks-21.12.3.tar.xz";
+      sha256 = "1n3jc96ws8078gk1il61dc96p3pzvj3z9brnwi274pk4cif63bli";
+      name = "kblocks-21.12.3.tar.xz";
     };
   };
   kbounce = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kbounce-21.12.2.tar.xz";
-      sha256 = "07k5vmfkh9l4b4sb4an5qlnq0b9hmhh6dax0bjgia0ng9vxd011q";
-      name = "kbounce-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kbounce-21.12.3.tar.xz";
+      sha256 = "1am4j11cjzlmav2zh5802kasy0kdcx78slycadnf96bmhxs8hvyv";
+      name = "kbounce-21.12.3.tar.xz";
     };
   };
   kbreakout = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kbreakout-21.12.2.tar.xz";
-      sha256 = "08rykfi82hgzg5l2bhs8nvh8si06nisy60653n6r7m8g327yyn1m";
-      name = "kbreakout-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kbreakout-21.12.3.tar.xz";
+      sha256 = "0vqlxaggzvvrb439ybsvd5kr9j2jzpwk4xy3yni83y830h1mmhhc";
+      name = "kbreakout-21.12.3.tar.xz";
     };
   };
   kbruch = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kbruch-21.12.2.tar.xz";
-      sha256 = "0vvl2rk636zpg27hj2jly1awg4z3fm6mk75qrda3hl6gm8rddw1v";
-      name = "kbruch-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kbruch-21.12.3.tar.xz";
+      sha256 = "1kcwbpa5lawkqqwn40r6d7savwvi7kkdgdxfxqxkviwnif2qkssx";
+      name = "kbruch-21.12.3.tar.xz";
     };
   };
   kcachegrind = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kcachegrind-21.12.2.tar.xz";
-      sha256 = "1fg7fn8a3bjbjr6bi298gqr4mr838v96bz9773pd7rnhffvvip8z";
-      name = "kcachegrind-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kcachegrind-21.12.3.tar.xz";
+      sha256 = "1cssjywnhfbnsvly4mralpx3af2pqkmhg1jj2q3cjiqx44i3gkyx";
+      name = "kcachegrind-21.12.3.tar.xz";
     };
   };
   kcalc = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kcalc-21.12.2.tar.xz";
-      sha256 = "037xk57gjfbjpw1q4gm9k1xkc3x5xxjr4d8xmnrnc6ni090648q4";
-      name = "kcalc-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kcalc-21.12.3.tar.xz";
+      sha256 = "15yqzhrlzcix8wvgaah8wf12msylgzyqwk58f58k5agxh97ahv4q";
+      name = "kcalc-21.12.3.tar.xz";
     };
   };
   kcalutils = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kcalutils-21.12.2.tar.xz";
-      sha256 = "0i474by8pyv64b7i807kym2q4wkhnyyn21vn56dbgp1awpi198i8";
-      name = "kcalutils-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kcalutils-21.12.3.tar.xz";
+      sha256 = "006sfkjzyid8byl2mmyn1is4nra9wjqh21ksd5g1kv948hf1jdcs";
+      name = "kcalutils-21.12.3.tar.xz";
     };
   };
   kcharselect = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kcharselect-21.12.2.tar.xz";
-      sha256 = "1czkni7wrl2l5v0zpvxfwdaqd5i0x6knzbjhzh8shdg3h19sgqrm";
-      name = "kcharselect-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kcharselect-21.12.3.tar.xz";
+      sha256 = "1aaiz9f9y2fmf284617pfnncgxjjjyfvdv08h900sc0bdlfmh4y7";
+      name = "kcharselect-21.12.3.tar.xz";
     };
   };
   kcolorchooser = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kcolorchooser-21.12.2.tar.xz";
-      sha256 = "12s2vfa3i7b5dh8c10xbqsy1xi9pq13vdj2xcpm5chkgw22595hv";
-      name = "kcolorchooser-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kcolorchooser-21.12.3.tar.xz";
+      sha256 = "0jnnbwaj9xb0ifcc95xay8yc4bx9f29wqkj3h4kffzdlwvw3vp7s";
+      name = "kcolorchooser-21.12.3.tar.xz";
     };
   };
   kcron = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kcron-21.12.2.tar.xz";
-      sha256 = "0ddgl61vw4mj8sa6zg1m4s6qagwygdkvw9pjmfs8fsa1anhlillk";
-      name = "kcron-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kcron-21.12.3.tar.xz";
+      sha256 = "0ffc71inp1kyd4xh39x6vbfggz0kpipd6r6vabfn187lpnpwcmpm";
+      name = "kcron-21.12.3.tar.xz";
     };
   };
   kde-dev-scripts = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kde-dev-scripts-21.12.2.tar.xz";
-      sha256 = "1vdssqwyi25j3saz5cw8n40y2i6bhq5l0rxbarh8m3iwcvx4ki3c";
-      name = "kde-dev-scripts-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kde-dev-scripts-21.12.3.tar.xz";
+      sha256 = "04w4kk7vpfkjj2fzylmq590kk7xskw3a0id3wndw8066pfafsfg3";
+      name = "kde-dev-scripts-21.12.3.tar.xz";
     };
   };
   kde-dev-utils = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kde-dev-utils-21.12.2.tar.xz";
-      sha256 = "0flzc0kl252imng2mpg9mp71k8jrxc3yy7dzqlfdnpjz36dwpaqf";
-      name = "kde-dev-utils-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kde-dev-utils-21.12.3.tar.xz";
+      sha256 = "1jdqv5zdigwazh3m580rmnylr6h6a6l5g2cpxy54v9sdvh3qb1yr";
+      name = "kde-dev-utils-21.12.3.tar.xz";
     };
   };
   kdebugsettings = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kdebugsettings-21.12.2.tar.xz";
-      sha256 = "0cimipq45c36nwk3alg738jl93zxja3xi77zjqk0k28ffn6qn7c2";
-      name = "kdebugsettings-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kdebugsettings-21.12.3.tar.xz";
+      sha256 = "19ng7hvqpyh3kh0pahrknh89c113mqx1kxjq4r26xbww1ypkz8zq";
+      name = "kdebugsettings-21.12.3.tar.xz";
     };
   };
   kdeconnect-kde = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kdeconnect-kde-21.12.2.tar.xz";
-      sha256 = "0crw0navhdsix0rpsya4vhffj35vlascpcflrs04vyws3v8xr026";
-      name = "kdeconnect-kde-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kdeconnect-kde-21.12.3.tar.xz";
+      sha256 = "1n9km7czif19cvrsdfcjbb02i1xgpa1z4ycn20d3g8azmli4zj4g";
+      name = "kdeconnect-kde-21.12.3.tar.xz";
     };
   };
   kdeedu-data = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kdeedu-data-21.12.2.tar.xz";
-      sha256 = "1cpbi5gkbq7xrv276vm0jlcjc5y9x1kw8l8x0z7syy06s4s3pvg9";
-      name = "kdeedu-data-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kdeedu-data-21.12.3.tar.xz";
+      sha256 = "11mxxcca6jxz4qcmba12p6xbv845xa16b8ag529409f3276w4915";
+      name = "kdeedu-data-21.12.3.tar.xz";
     };
   };
   kdegraphics-mobipocket = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kdegraphics-mobipocket-21.12.2.tar.xz";
-      sha256 = "0zbiz47mqa176gcina8v03fw2qqrc5v1l8mg2fcpnl5dxc9d56c4";
-      name = "kdegraphics-mobipocket-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kdegraphics-mobipocket-21.12.3.tar.xz";
+      sha256 = "091ix343p9vs4iyj8abq6mw9lbm1fx5167gykhm4g8bjk5vdri2q";
+      name = "kdegraphics-mobipocket-21.12.3.tar.xz";
     };
   };
   kdegraphics-thumbnailers = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kdegraphics-thumbnailers-21.12.2.tar.xz";
-      sha256 = "09adinkdfbn5hfic92zbdhq9ldxpnbgf9pybsp4ibpw2097l2k5f";
-      name = "kdegraphics-thumbnailers-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kdegraphics-thumbnailers-21.12.3.tar.xz";
+      sha256 = "0shdrl6n1724i8jrkmy8z6ayhflg93401jia87mcc1apaw9s8y83";
+      name = "kdegraphics-thumbnailers-21.12.3.tar.xz";
     };
   };
   kdenetwork-filesharing = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kdenetwork-filesharing-21.12.2.tar.xz";
-      sha256 = "0q7gndwvki3r9vhkxmwr8xzc54cjpk9nzhk2665wsk1msfp3xqw6";
-      name = "kdenetwork-filesharing-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kdenetwork-filesharing-21.12.3.tar.xz";
+      sha256 = "1y6sa22j2165j3x6ql1cfm30vv9ifb94mczbqbcjzmhqsypp5pw2";
+      name = "kdenetwork-filesharing-21.12.3.tar.xz";
     };
   };
   kdenlive = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kdenlive-21.12.2.tar.xz";
-      sha256 = "1h668q91pcq3km7pq75krgq06x8gglmp8al52b0imyc9g9wy28z6";
-      name = "kdenlive-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kdenlive-21.12.3.tar.xz";
+      sha256 = "1hamdi2v3rx5zjmvpx1bximdppmzgsk9gbjxwgr691lkybkgx8vs";
+      name = "kdenlive-21.12.3.tar.xz";
     };
   };
   kdepim-addons = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kdepim-addons-21.12.2.tar.xz";
-      sha256 = "00j67rvkvm1sri6ij5ziqjh340cmpsyfwwmw8hr1dsi3vlva4gk1";
-      name = "kdepim-addons-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kdepim-addons-21.12.3.tar.xz";
+      sha256 = "1pv780z29ccx05z12l2w5zdmby9d1q993jr0cyzvpapnmck9146h";
+      name = "kdepim-addons-21.12.3.tar.xz";
     };
   };
   kdepim-runtime = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kdepim-runtime-21.12.2.tar.xz";
-      sha256 = "0y1hgab16h9ypqh9isabbb4km2907vzdydfkd1m5b63vfbambz0j";
-      name = "kdepim-runtime-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kdepim-runtime-21.12.3.tar.xz";
+      sha256 = "1ahrnnc9vn0556s4nrsjgc9vbf5rb6yby7fn33p3jjnpgja0mc7m";
+      name = "kdepim-runtime-21.12.3.tar.xz";
     };
   };
   kdesdk-kioslaves = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kdesdk-kioslaves-21.12.2.tar.xz";
-      sha256 = "0vz6dk5an0bhnyglyqdgf3lqxdlc61k4vsbh8a4fky1zpvpwya84";
-      name = "kdesdk-kioslaves-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kdesdk-kioslaves-21.12.3.tar.xz";
+      sha256 = "1nhsvx5pznm3adf0scrcqqb2ibl52a241ki2gbwvxk2qpwwwx6jd";
+      name = "kdesdk-kioslaves-21.12.3.tar.xz";
     };
   };
   kdesdk-thumbnailers = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kdesdk-thumbnailers-21.12.2.tar.xz";
-      sha256 = "1w90zjnwnqh1a47kgmijr8xp6z096f6ij250qfcl3bwvhxqmsrb0";
-      name = "kdesdk-thumbnailers-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kdesdk-thumbnailers-21.12.3.tar.xz";
+      sha256 = "0337rhgil42wychi5anq2v61xq8mbcvma4gb50smapcrjfl7fkdy";
+      name = "kdesdk-thumbnailers-21.12.3.tar.xz";
     };
   };
   kdev-php = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kdev-php-21.12.2.tar.xz";
-      sha256 = "0ghxfllh8pkyrvsaz4iwc9bm98mkq6z3wr558w4wjykgjp69r08j";
-      name = "kdev-php-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kdev-php-21.12.3.tar.xz";
+      sha256 = "0z5iqgsh7w0hw0pw2522zlh5sd88zlplrxm3vjp3yvmza65471aa";
+      name = "kdev-php-21.12.3.tar.xz";
     };
   };
   kdev-python = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kdev-python-21.12.2.tar.xz";
-      sha256 = "05jj7q7agkgpbrxzwh0n2ipc854cgm8skjyjkqmxp2kdf3fdm8lj";
-      name = "kdev-python-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kdev-python-21.12.3.tar.xz";
+      sha256 = "1iyg1cfldf5mk62anw8schiw3ii0gp20qwg6ljk1r9hv583iwrq6";
+      name = "kdev-python-21.12.3.tar.xz";
     };
   };
   kdevelop = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kdevelop-21.12.2.tar.xz";
-      sha256 = "13kgkxvbjcb60ckapqrcr4m0y5kyag948xx6gwrvzhrhn46ynfgz";
-      name = "kdevelop-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kdevelop-21.12.3.tar.xz";
+      sha256 = "1shp8zlxr7iyysn1c8d3fp6rg6g2krj2v3zw5apalxcnal16bww6";
+      name = "kdevelop-21.12.3.tar.xz";
     };
   };
   kdf = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kdf-21.12.2.tar.xz";
-      sha256 = "1fs8bab6q7imfpqqgasvr98k57nm68ignfch2i76rdcywhx3q268";
-      name = "kdf-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kdf-21.12.3.tar.xz";
+      sha256 = "179ygy4kxkapfyxqj8h5xlvp1160vd72af34vd0a4r5az7wfd1m7";
+      name = "kdf-21.12.3.tar.xz";
     };
   };
   kdialog = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kdialog-21.12.2.tar.xz";
-      sha256 = "1k6zlh1gbpj0y40h1i8pan28d8chqjsnhd6pvsvr95b91d0pj2xn";
-      name = "kdialog-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kdialog-21.12.3.tar.xz";
+      sha256 = "04d1dqc5f02s867lllx1ix0nc55xw9hrpg7jxiy3v4c8vlzg0w53";
+      name = "kdialog-21.12.3.tar.xz";
     };
   };
   kdiamond = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kdiamond-21.12.2.tar.xz";
-      sha256 = "08b2a13bmxw3h6rhip619jvzgjrjgpz2v83i2azbqccfynisjnyh";
-      name = "kdiamond-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kdiamond-21.12.3.tar.xz";
+      sha256 = "1d3c4pckddnri9i19g2pi2ygpqakllrgy6azgvnh5hn20kgsw7d9";
+      name = "kdiamond-21.12.3.tar.xz";
     };
   };
   keditbookmarks = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/keditbookmarks-21.12.2.tar.xz";
-      sha256 = "1fxm0mm3sqp2frk2fcs2jw86wjxb2j5z9vyb34x7g80k5j17j57m";
-      name = "keditbookmarks-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/keditbookmarks-21.12.3.tar.xz";
+      sha256 = "0wfb7j1lhhdfw2x03p692mglmy9i9qys8mn4f3gxlb5imrd2hmnk";
+      name = "keditbookmarks-21.12.3.tar.xz";
     };
   };
   kfind = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kfind-21.12.2.tar.xz";
-      sha256 = "0kx6p4hyyalx5i8g4aq81aj30c9ac0380xvia9130g95pgkzd96c";
-      name = "kfind-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kfind-21.12.3.tar.xz";
+      sha256 = "1v1yxsbmzv4q5m5rbvl9n095d9fq0b1zphnl6vrzff5r8i53pzx0";
+      name = "kfind-21.12.3.tar.xz";
     };
   };
   kfloppy = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kfloppy-21.12.2.tar.xz";
-      sha256 = "10245c87379576n11xcjkll3rkvzv815qsavr4alsj1jr8w6zyg8";
-      name = "kfloppy-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kfloppy-21.12.3.tar.xz";
+      sha256 = "1phkigxd6bkwlcjrsfhlhn44ra9imfq0flcvp4vmza6c9ylsx6m8";
+      name = "kfloppy-21.12.3.tar.xz";
     };
   };
   kfourinline = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kfourinline-21.12.2.tar.xz";
-      sha256 = "1kz7ff31h8lvz7snqmjs6cma9i3py7dyd91i6ik2pwiar80sin1x";
-      name = "kfourinline-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kfourinline-21.12.3.tar.xz";
+      sha256 = "0rb5jcmmf19bidwywj56dn0wfrnrfi5kc75c20d7mxnlgygfdnkg";
+      name = "kfourinline-21.12.3.tar.xz";
     };
   };
   kgeography = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kgeography-21.12.2.tar.xz";
-      sha256 = "09h5zp8pxzr47s7j50l6xfssvk9zk56cqgnsjx75yh1n077z1d0j";
-      name = "kgeography-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kgeography-21.12.3.tar.xz";
+      sha256 = "1s1xyfffqkhmf4n74a4ksjz62rdiyl1fk1v57s9gnr6qw71wqql0";
+      name = "kgeography-21.12.3.tar.xz";
     };
   };
   kget = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kget-21.12.2.tar.xz";
-      sha256 = "0jmy2yxzrgq592dq075k7gp7ynk42i899jsbw0gbn79x69cxlkmv";
-      name = "kget-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kget-21.12.3.tar.xz";
+      sha256 = "1w249gvzz47ac7n1mnxxf20d9l7jmbh18m5dijy55ck61s4zcq4l";
+      name = "kget-21.12.3.tar.xz";
     };
   };
   kgoldrunner = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kgoldrunner-21.12.2.tar.xz";
-      sha256 = "0by6cq31jsls3qaqn4agrdhvd9jqg84plm6nbgh3rc85pnj5h22p";
-      name = "kgoldrunner-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kgoldrunner-21.12.3.tar.xz";
+      sha256 = "0gzz58407zjmk311kyyj5l2c1ciczcq9i8ckpwbd341dvwaww27q";
+      name = "kgoldrunner-21.12.3.tar.xz";
     };
   };
   kgpg = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kgpg-21.12.2.tar.xz";
-      sha256 = "1f193fyn1azwhm7b8gd5ffyb11acg1269mh1d2ly60ax83qjs48c";
-      name = "kgpg-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kgpg-21.12.3.tar.xz";
+      sha256 = "1mzq3g4xwg459k0mp9xvg8bhilizadbh4gck1764wq69bxlcyav3";
+      name = "kgpg-21.12.3.tar.xz";
     };
   };
   khangman = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/khangman-21.12.2.tar.xz";
-      sha256 = "0xih54w33vigvm3x2xp5lf29k4aga4yil0qv263965nxn9djnlaw";
-      name = "khangman-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/khangman-21.12.3.tar.xz";
+      sha256 = "000vn11pp4hwfh2689rmnwrrssrmrhx5569k02h4ynswkiykvbv6";
+      name = "khangman-21.12.3.tar.xz";
     };
   };
   khelpcenter = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/khelpcenter-21.12.2.tar.xz";
-      sha256 = "09ddkc7kiayx852mpgdmv04l19vrrc0yrf30hnyzkci58kbavvcq";
-      name = "khelpcenter-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/khelpcenter-21.12.3.tar.xz";
+      sha256 = "1fj1c57bqs009rx9db4ifvfmhhl4b35r5sfly3wvbfr4dapjqfqr";
+      name = "khelpcenter-21.12.3.tar.xz";
     };
   };
   kidentitymanagement = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kidentitymanagement-21.12.2.tar.xz";
-      sha256 = "00fwjax3kfvr8jsy04hp1jyihvskvprbg83z2avhcy6lvr7g25kk";
-      name = "kidentitymanagement-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kidentitymanagement-21.12.3.tar.xz";
+      sha256 = "18xwvlmqhih5jmig2mj3a6mc5awlxdv8f81da6cgm123imhrirk4";
+      name = "kidentitymanagement-21.12.3.tar.xz";
     };
   };
   kig = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kig-21.12.2.tar.xz";
-      sha256 = "100ds4728lfnb6r6c52rdzk2n4rcpc5jiv35q5qd7d6cszmxvhvx";
-      name = "kig-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kig-21.12.3.tar.xz";
+      sha256 = "0rl0z1djsf9ha0q94v0cnj5qm4ij6yjsil2s57r3v666h64yradn";
+      name = "kig-21.12.3.tar.xz";
     };
   };
   kigo = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kigo-21.12.2.tar.xz";
-      sha256 = "0g1sl7bw9aln7fm2786sgh0m44da6vfxc9g0rizw31ff8papnyb8";
-      name = "kigo-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kigo-21.12.3.tar.xz";
+      sha256 = "14pp73b9mbf0ny75b90vs7z9l61m7zp8cll7hl4bplqh1kig1szf";
+      name = "kigo-21.12.3.tar.xz";
     };
   };
   killbots = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/killbots-21.12.2.tar.xz";
-      sha256 = "1qryy2g2i6iqc6rsw8jz4c14x67glpm3zvcx2dghyll6q9hns43z";
-      name = "killbots-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/killbots-21.12.3.tar.xz";
+      sha256 = "1ncr55xq04vrx6bss1ahk86c3l9ckhv4zjbc6gq4krhjw0lkdfiv";
+      name = "killbots-21.12.3.tar.xz";
     };
   };
   kimagemapeditor = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kimagemapeditor-21.12.2.tar.xz";
-      sha256 = "11j55jvfxdpam3gkfv7355av9d6mz8z6djhplhmfd56llkmvw4n2";
-      name = "kimagemapeditor-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kimagemapeditor-21.12.3.tar.xz";
+      sha256 = "0qdmyrlf0jp3737p7x31wk428676xv77lx0mgyd9h2hdl0ipnbvr";
+      name = "kimagemapeditor-21.12.3.tar.xz";
     };
   };
   kimap = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kimap-21.12.2.tar.xz";
-      sha256 = "0sdas8knk6wa8hhgc3w62famdpq6pcxfhl4vmpw0r3aqskaci4q3";
-      name = "kimap-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kimap-21.12.3.tar.xz";
+      sha256 = "11jd9zkvflfh3gqs36fhj8mla3k44xf7zdb0z4nl9sk5nhhgm5px";
+      name = "kimap-21.12.3.tar.xz";
     };
   };
   kio-extras = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kio-extras-21.12.2.tar.xz";
-      sha256 = "0133cww4k2svn7cvw0fbdcwwv0zg09d27gz59gkpfswjmpsxdqj4";
-      name = "kio-extras-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kio-extras-21.12.3.tar.xz";
+      sha256 = "11zpnjdri7z4sz6zx26d9iv52aj4vf5lr9c114gg4pvz2l4h4h5i";
+      name = "kio-extras-21.12.3.tar.xz";
     };
   };
   kio-gdrive = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kio-gdrive-21.12.2.tar.xz";
-      sha256 = "1n3khrx5fczffwzg4bzxjhzy2kxf72dmb7fqs9hqfn1qkaahfv49";
-      name = "kio-gdrive-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kio-gdrive-21.12.3.tar.xz";
+      sha256 = "0bm3c7g6q7z2ydnha2x5c456x9wlgachi9453mlrd2zcsc7c5h87";
+      name = "kio-gdrive-21.12.3.tar.xz";
     };
   };
   kipi-plugins = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kipi-plugins-21.12.2.tar.xz";
-      sha256 = "11f3qmgqxdlzvv2zldjawn7a3kdigj5pb535rc9v9a8fp8mjvk88";
-      name = "kipi-plugins-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kipi-plugins-21.12.3.tar.xz";
+      sha256 = "1h6107d2a6jcyjsd191cg2ykgwm580j7wr0blg328ff6wwk1aizy";
+      name = "kipi-plugins-21.12.3.tar.xz";
     };
   };
   kirigami-gallery = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kirigami-gallery-21.12.2.tar.xz";
-      sha256 = "0rg9lg4iqxycfbhs62qs4ms4qadz1ii1dcv3ykkgn3w2brx77wad";
-      name = "kirigami-gallery-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kirigami-gallery-21.12.3.tar.xz";
+      sha256 = "0pjd9bq965v9x433p8rbhd7w3fj0808qd7x4c11ziyhy4cg9gwml";
+      name = "kirigami-gallery-21.12.3.tar.xz";
     };
   };
   kiriki = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kiriki-21.12.2.tar.xz";
-      sha256 = "1blj3vl87jdrr8qv2cyng20nr4d54gbk7w72z9rl02l62c9gkw5j";
-      name = "kiriki-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kiriki-21.12.3.tar.xz";
+      sha256 = "0qbm0zjjqnbcdm39zi8h240nblpa1pa7g1ls9mghzbqrdrh7n3a0";
+      name = "kiriki-21.12.3.tar.xz";
     };
   };
   kiten = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kiten-21.12.2.tar.xz";
-      sha256 = "18kxqrhfgch32583ra4422h7csd5ajijf9989bxz9hwi9mn3r2vl";
-      name = "kiten-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kiten-21.12.3.tar.xz";
+      sha256 = "0z0haqxxkh7m2510b5qfwbx8s45vcahbk503jp1x0bwz03mrwflw";
+      name = "kiten-21.12.3.tar.xz";
     };
   };
   kitinerary = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kitinerary-21.12.2.tar.xz";
-      sha256 = "0g7z6408nhrv54h6xxd2rd9wj2hmwzc3lg5risyqbg2zii9j0sp2";
-      name = "kitinerary-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kitinerary-21.12.3.tar.xz";
+      sha256 = "0kccrjiyib2zljr6rnc89y29jgi8cnhwfh1yq8psyzmca2n8lpxi";
+      name = "kitinerary-21.12.3.tar.xz";
     };
   };
   kjumpingcube = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kjumpingcube-21.12.2.tar.xz";
-      sha256 = "1abv3yi716n88b19rmimhw0vnnwyw28ab6fbcy9g1lgpbi69g5ax";
-      name = "kjumpingcube-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kjumpingcube-21.12.3.tar.xz";
+      sha256 = "1wlk6my6pawmdv3zgcpnyyzpjwz0wii0h8i1z0gxhbpg9nc8iy1r";
+      name = "kjumpingcube-21.12.3.tar.xz";
     };
   };
   kldap = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kldap-21.12.2.tar.xz";
-      sha256 = "1xda42f1q5ih3hdhmcbdz0fx2nchirlwips3gq0jb6lfzi5dbqpl";
-      name = "kldap-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kldap-21.12.3.tar.xz";
+      sha256 = "13llsfhx9lfvhf90a3vmpkyh02fjg5sp4fmrwrqyx9hjrbmy1g0a";
+      name = "kldap-21.12.3.tar.xz";
     };
   };
   kleopatra = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kleopatra-21.12.2.tar.xz";
-      sha256 = "1b2nq823gq1v20dnh3hm298fva7cmbn9hh0kmbq22kh98kv8chhh";
-      name = "kleopatra-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kleopatra-21.12.3.tar.xz";
+      sha256 = "10f61m0qrs0qipn94jd32gibyj8pcvprs8j7gmac0mym0b3djjls";
+      name = "kleopatra-21.12.3.tar.xz";
     };
   };
   klettres = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/klettres-21.12.2.tar.xz";
-      sha256 = "1wi1byr36x7z9scsy1gffna36m8x9vyfcqzndvx6042i2y0smhwz";
-      name = "klettres-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/klettres-21.12.3.tar.xz";
+      sha256 = "0l4zgfqd6l2bk67s2a0zldbcy8v7nwbv7yahvnyw4jf4jyv9q9rv";
+      name = "klettres-21.12.3.tar.xz";
     };
   };
   klickety = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/klickety-21.12.2.tar.xz";
-      sha256 = "19rn9p7cbxhn471b65nhwhpnfnhykjwj6n5lrsd431391dyhvshc";
-      name = "klickety-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/klickety-21.12.3.tar.xz";
+      sha256 = "03liv3fax764ngfkwp3ga96irn8qb509b08ljnhz5aw5v9yrssnk";
+      name = "klickety-21.12.3.tar.xz";
     };
   };
   klines = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/klines-21.12.2.tar.xz";
-      sha256 = "1r004rsy98lxh5vd3r4bc0l4d7ymija13barg9xglj53xzbyij3k";
-      name = "klines-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/klines-21.12.3.tar.xz";
+      sha256 = "1ypi64wdsw1zsj03wcxj02v27y1by113v89as8dyk9wr0pfmbpqf";
+      name = "klines-21.12.3.tar.xz";
     };
   };
   kmag = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kmag-21.12.2.tar.xz";
-      sha256 = "03kzahsr80wnbx6ky112ka3zm01pnc5h85l28a4186617swx344l";
-      name = "kmag-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kmag-21.12.3.tar.xz";
+      sha256 = "067x65gmip89rdgii2nwnxn7zi96cf7vfbhqzg0499pd2d69p3sl";
+      name = "kmag-21.12.3.tar.xz";
     };
   };
   kmahjongg = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kmahjongg-21.12.2.tar.xz";
-      sha256 = "1w8v6fchrkvsbyvnx8vvs801cvg52pr78ihvdjv6c0vpd0q7z9rz";
-      name = "kmahjongg-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kmahjongg-21.12.3.tar.xz";
+      sha256 = "02yvvpwkk5gbj445zv5xhfragk8220rlx0pkxf32pj0jsv7dnz1x";
+      name = "kmahjongg-21.12.3.tar.xz";
     };
   };
   kmail = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kmail-21.12.2.tar.xz";
-      sha256 = "003bnp00figa09qcp2hl45sivdk3d0j3amxdidyrn47q9vy40554";
-      name = "kmail-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kmail-21.12.3.tar.xz";
+      sha256 = "1knh6cf72hidc6jyiw250b708b410fla0c5w83zaavmwv37ah8z0";
+      name = "kmail-21.12.3.tar.xz";
     };
   };
   kmail-account-wizard = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kmail-account-wizard-21.12.2.tar.xz";
-      sha256 = "1nmg8qns3iglcc4l4g5nffnji1vgg43a9fa9rz1hacvlkarm98m4";
-      name = "kmail-account-wizard-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kmail-account-wizard-21.12.3.tar.xz";
+      sha256 = "0ar2rm6viissfipbak07fxivrgqgsdfilsprsqmvab44inw2g4pg";
+      name = "kmail-account-wizard-21.12.3.tar.xz";
     };
   };
   kmailtransport = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kmailtransport-21.12.2.tar.xz";
-      sha256 = "0rs6qihzy8q2n204zkhakgnjxwqy9pz9i0kv1j3amw2xv3f51rvw";
-      name = "kmailtransport-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kmailtransport-21.12.3.tar.xz";
+      sha256 = "0l3pgs781a6is937i0bkz9ykr40l36rwlrirsr4g8wh0gkc3ifi6";
+      name = "kmailtransport-21.12.3.tar.xz";
     };
   };
   kmbox = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kmbox-21.12.2.tar.xz";
-      sha256 = "1mfwaw4d480kbb60wb0kvl5z35ly2hn6h73kx9wdb5y7mz05rvn1";
-      name = "kmbox-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kmbox-21.12.3.tar.xz";
+      sha256 = "04cl2khj3a7n81nlmxsg8kgszrl22qm6s2kvbrhz39yfzi31cwqr";
+      name = "kmbox-21.12.3.tar.xz";
     };
   };
   kmime = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kmime-21.12.2.tar.xz";
-      sha256 = "0qxb0gf4pqfa0540fsbnf24nh9qwiamwl65q7vaanb80b211qp2g";
-      name = "kmime-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kmime-21.12.3.tar.xz";
+      sha256 = "03s7l4lywdvp97h4qjgq06qqcclvnhy83qsrfzv0w2wcl631nnpw";
+      name = "kmime-21.12.3.tar.xz";
     };
   };
   kmines = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kmines-21.12.2.tar.xz";
-      sha256 = "0dsqlqmbaggab38zzjyhnx318sn2mw6y51k52c7blm2l53a8zp3j";
-      name = "kmines-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kmines-21.12.3.tar.xz";
+      sha256 = "1wxy0cyz733wvnxfjhirqf41wnda4f6aqdiqmb5r1ngzzllgbglc";
+      name = "kmines-21.12.3.tar.xz";
     };
   };
   kmix = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kmix-21.12.2.tar.xz";
-      sha256 = "0fyjzzv6x9xf0g222jjsvrywnm3blhbzm2zwhxagrfkjvjpb2cvk";
-      name = "kmix-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kmix-21.12.3.tar.xz";
+      sha256 = "1zk2xljis1pv3m4vs5zr6wza6iv5y6wmh1csx3rn8ylfkrpk7h8k";
+      name = "kmix-21.12.3.tar.xz";
     };
   };
   kmousetool = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kmousetool-21.12.2.tar.xz";
-      sha256 = "1hh7sql04hpwvb8hbi7snvh2d6922a2yraah9hd1jiwniv3cv175";
-      name = "kmousetool-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kmousetool-21.12.3.tar.xz";
+      sha256 = "013qr1md3gbin7hcahnv14y9i2cg35r433s2w81fvgcakd38qvkj";
+      name = "kmousetool-21.12.3.tar.xz";
     };
   };
   kmouth = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kmouth-21.12.2.tar.xz";
-      sha256 = "0vxssxchh23bl237qw9pznbrkwyqx1bhbnp2fq9baw1bn88d18i5";
-      name = "kmouth-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kmouth-21.12.3.tar.xz";
+      sha256 = "0xvkp2pm2szbgzdsfmwrykma8npmlwmx2pb1iakbx3x1wyyjsbim";
+      name = "kmouth-21.12.3.tar.xz";
     };
   };
   kmplot = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kmplot-21.12.2.tar.xz";
-      sha256 = "025n51s7i5nr63knsd78pg48wfs4cldhplr68jmwv2k8pb5w9kxs";
-      name = "kmplot-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kmplot-21.12.3.tar.xz";
+      sha256 = "1vmrzfcdyaxgvyp9la2gvy3h5fhksmn24lsnrpvr6alj880mh8bq";
+      name = "kmplot-21.12.3.tar.xz";
     };
   };
   knavalbattle = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/knavalbattle-21.12.2.tar.xz";
-      sha256 = "1z1qqr5jjinm49p7rhr0pzf8ir2nvdq157zqxnnr6i11xqk2mnkj";
-      name = "knavalbattle-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/knavalbattle-21.12.3.tar.xz";
+      sha256 = "1mpj1783za6b7a7cjawy4v0z24dvcd34gdb25qch4gi9cx1lc28z";
+      name = "knavalbattle-21.12.3.tar.xz";
     };
   };
   knetwalk = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/knetwalk-21.12.2.tar.xz";
-      sha256 = "1gnir7h1iam51frdajp4h6xw4biz545nljdfcck17jiw6ad9py4j";
-      name = "knetwalk-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/knetwalk-21.12.3.tar.xz";
+      sha256 = "0ahms3imvkdknp1z2h6j42k9g1i20ygd2633icjv37d2cbij128m";
+      name = "knetwalk-21.12.3.tar.xz";
     };
   };
   knights = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/knights-21.12.2.tar.xz";
-      sha256 = "0k9hqgz3zw7vhrgbwnmy0v3j9kflz6wx8wavckg1i2l4qadprc1y";
-      name = "knights-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/knights-21.12.3.tar.xz";
+      sha256 = "1m2big16rdw3w347m5vi0qhypnb2rgz6804kkxs7ln0yx658y4x4";
+      name = "knights-21.12.3.tar.xz";
     };
   };
   knotes = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/knotes-21.12.2.tar.xz";
-      sha256 = "0f8ra6nkgndgkfnw194y5976kkrm7qdj1w7l27znwalzaydnxvjg";
-      name = "knotes-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/knotes-21.12.3.tar.xz";
+      sha256 = "07pj0aqwsy1xi5mx7x0h3zmxfg0n4afgjax9a9ihc553xs6k48d7";
+      name = "knotes-21.12.3.tar.xz";
     };
   };
   kolf = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kolf-21.12.2.tar.xz";
-      sha256 = "0as18rc45daak3xsmwn6k789yni46nsdkv83bfmbj3jcjhzv9x5k";
-      name = "kolf-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kolf-21.12.3.tar.xz";
+      sha256 = "00dhjy82d9964z94nn4vkkwynql3bfa6djwrgsq93f9d7grgkd7g";
+      name = "kolf-21.12.3.tar.xz";
     };
   };
   kollision = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kollision-21.12.2.tar.xz";
-      sha256 = "1ycim9gjn9p6w6yyzsipqn7zpvi946s287mp4br35zavsf25gzn0";
-      name = "kollision-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kollision-21.12.3.tar.xz";
+      sha256 = "0avin6s1lglfps6qlvz19i27nb0x0hgrl4q2brpq4kax7azs1nc3";
+      name = "kollision-21.12.3.tar.xz";
     };
   };
   kolourpaint = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kolourpaint-21.12.2.tar.xz";
-      sha256 = "0z53hp31sq4ksarvpzqmx9f3gac8ygrcj0ncppgbwwjkq63wr6v1";
-      name = "kolourpaint-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kolourpaint-21.12.3.tar.xz";
+      sha256 = "0kbz8jz33bk4zr7kk6mb1y42mdq6nykdfqm2cs08sxldd3nrs6fj";
+      name = "kolourpaint-21.12.3.tar.xz";
     };
   };
   kompare = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kompare-21.12.2.tar.xz";
-      sha256 = "0ps6ng77kzcqf6b2sh8xmqh5d4jwkmj3qnbyxh4v4xxjbwy0mrwm";
-      name = "kompare-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kompare-21.12.3.tar.xz";
+      sha256 = "097aawmziplsndj42bdjf3x3smal1fy67c2y7cik9p1qw9wgn24h";
+      name = "kompare-21.12.3.tar.xz";
     };
   };
   konqueror = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/konqueror-21.12.2.tar.xz";
-      sha256 = "0ia8qqas9x261ixa6jzih273ypqhdv5hijk042bcdmqd1z1s4n55";
-      name = "konqueror-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/konqueror-21.12.3.tar.xz";
+      sha256 = "0z3zq71n0lnpx5ggfg835zbmgf2ly4zsmz01yyyxn9n9d9b6d3px";
+      name = "konqueror-21.12.3.tar.xz";
     };
   };
   konquest = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/konquest-21.12.2.tar.xz";
-      sha256 = "1arxp4x8pcmv8yqg1xy5b23avh5a7x660vvh6kaviimysad5wmc5";
-      name = "konquest-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/konquest-21.12.3.tar.xz";
+      sha256 = "0lrahq9s70rx24dw4cgpvchr4s6pcl565vh343ggg24s1rd3ly80";
+      name = "konquest-21.12.3.tar.xz";
     };
   };
   konsole = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/konsole-21.12.2.tar.xz";
-      sha256 = "00gyzhcacd3467sv5ijihqva7pnvcy1chywfpy8qh2hcdkkvyfxa";
-      name = "konsole-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/konsole-21.12.3.tar.xz";
+      sha256 = "06sqm2xmairicrdcxnf7imvyvw0wyknrrym334scx2w7mfhjg5qs";
+      name = "konsole-21.12.3.tar.xz";
     };
   };
   kontact = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kontact-21.12.2.tar.xz";
-      sha256 = "16ld08sx5lvrm9r0ync7r8bpd540gxsssvhxj5p43chq6b9hr5lm";
-      name = "kontact-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kontact-21.12.3.tar.xz";
+      sha256 = "16p17b4llral0g48l3s9yg838x6hhc4dprlcpd00b8sy58c27f90";
+      name = "kontact-21.12.3.tar.xz";
     };
   };
   kontactinterface = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kontactinterface-21.12.2.tar.xz";
-      sha256 = "1qvjm27v797hcdqbr6jwdkwn3vpsy3f1i92slrwks03zj498ydlj";
-      name = "kontactinterface-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kontactinterface-21.12.3.tar.xz";
+      sha256 = "1qwx0q4bbk3d720ij37wbd54g9alw6ispjl1mq19hkk3gs5l1c78";
+      name = "kontactinterface-21.12.3.tar.xz";
     };
   };
   kontrast = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kontrast-21.12.2.tar.xz";
-      sha256 = "0mk2i2x1yz0ykbnqvdbdpi9kplyzjxlwhhsvl4rbq0726g3q6pas";
-      name = "kontrast-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kontrast-21.12.3.tar.xz";
+      sha256 = "1rp279mfq18p5kzw3788m8w6kkj8w7zfdv97rnl3n5jir4j94yxl";
+      name = "kontrast-21.12.3.tar.xz";
     };
   };
   konversation = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/konversation-21.12.2.tar.xz";
-      sha256 = "0lpkah6z12c4f77z6r5z31q5np3xwyb3y6xnsv1iq1rdzj0daxch";
-      name = "konversation-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/konversation-21.12.3.tar.xz";
+      sha256 = "05dxzkpadz29b5fm6pf225xqq0gaz9w50paz9341kzz4k3rnzq80";
+      name = "konversation-21.12.3.tar.xz";
     };
   };
   kopeninghours = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kopeninghours-21.12.2.tar.xz";
-      sha256 = "1s4wcnk7p0vjqdhyf8131l3s6bn86gfkwl45zwpi7lpyacwgdf6k";
-      name = "kopeninghours-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kopeninghours-21.12.3.tar.xz";
+      sha256 = "0pfkrns576ll6wc33c8i6pgzd9wf543w2isbvh393zyb1rr3bzgd";
+      name = "kopeninghours-21.12.3.tar.xz";
     };
   };
   kopete = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kopete-21.12.2.tar.xz";
-      sha256 = "1py45nk6bv5x2hnfzh5srq17lprkqrmpqr2h0fpmkmffx66njz5q";
-      name = "kopete-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kopete-21.12.3.tar.xz";
+      sha256 = "1v519sw2lzlap6xci3j55k8c48755sc9p3mgvj566b6jjq64xi5k";
+      name = "kopete-21.12.3.tar.xz";
     };
   };
   korganizer = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/korganizer-21.12.2.tar.xz";
-      sha256 = "1kablp0x65jmdz5n3y19rgplcvvmq8vxz0ljw7lkrwr3pvvhyv3q";
-      name = "korganizer-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/korganizer-21.12.3.tar.xz";
+      sha256 = "072pyzs38dv07mwi4hlfb4rh9jx40dpxac3ywy7kj6nyvbfjmh0r";
+      name = "korganizer-21.12.3.tar.xz";
     };
   };
   kosmindoormap = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kosmindoormap-21.12.2.tar.xz";
-      sha256 = "0max3mfwd5x8m3kqybnkrb4v93rdk1r007xw31l52j2rq2gh8pj2";
-      name = "kosmindoormap-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kosmindoormap-21.12.3.tar.xz";
+      sha256 = "06i616c873lkkpy2iwdjcgwnm6adjrr6rcain2rrb1j4pgzmmbvw";
+      name = "kosmindoormap-21.12.3.tar.xz";
     };
   };
   kpat = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kpat-21.12.2.tar.xz";
-      sha256 = "0vra8n9xsba67as0ybmbjy235v3s7dmrwlf18avnb3ygxy0h8swf";
-      name = "kpat-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kpat-21.12.3.tar.xz";
+      sha256 = "1jd9457hf15d2l6njkfyj9a7lfyabcm80vz3zjb2cykm16x3sdb8";
+      name = "kpat-21.12.3.tar.xz";
     };
   };
   kpimtextedit = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kpimtextedit-21.12.2.tar.xz";
-      sha256 = "06d42k433dvkfrnzfdx0b1qarrnmhnb4gyq7vgy6251ah8smild8";
-      name = "kpimtextedit-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kpimtextedit-21.12.3.tar.xz";
+      sha256 = "19hrqbjcmpi81vmnggrkrv0fcc9inhz5aa5klx0141aylnzfgwsl";
+      name = "kpimtextedit-21.12.3.tar.xz";
     };
   };
   kpkpass = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kpkpass-21.12.2.tar.xz";
-      sha256 = "0p2l1z4blfq1iz3x9cnwwx2p9cs6bb4vw1csj29s09i6237ippzx";
-      name = "kpkpass-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kpkpass-21.12.3.tar.xz";
+      sha256 = "05f88hlqxfak94jy8afiv91dgzxd9qgrkarnqi9rv1f5a3j7k3k7";
+      name = "kpkpass-21.12.3.tar.xz";
     };
   };
   kpmcore = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kpmcore-21.12.2.tar.xz";
-      sha256 = "1iyirvf04br0r8vclcpx0qrlm8wgqm9ww6xds3h9qjyqj1w8ng41";
-      name = "kpmcore-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kpmcore-21.12.3.tar.xz";
+      sha256 = "19h0ag54xzv4hwh950hshjghd4fb9xkdg8rlx6lvqa0w9b8admva";
+      name = "kpmcore-21.12.3.tar.xz";
     };
   };
   kpublictransport = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kpublictransport-21.12.2.tar.xz";
-      sha256 = "02ffpgki4mdyczxa5bqb9wmg2c6anwxnsmlfdn1k47ry7ny2k9sl";
-      name = "kpublictransport-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kpublictransport-21.12.3.tar.xz";
+      sha256 = "1jcba5bq320afzfs5ly3vyyicdix8fprpr02x67v8p7mdzg58cq6";
+      name = "kpublictransport-21.12.3.tar.xz";
     };
   };
   kqtquickcharts = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kqtquickcharts-21.12.2.tar.xz";
-      sha256 = "1sjm1vaksvp73866w09xadd1d0lakh00fwiic498siws4dvhhpif";
-      name = "kqtquickcharts-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kqtquickcharts-21.12.3.tar.xz";
+      sha256 = "0gl9c8zfn440202l82y4nfng0hyhivby8a4hf91rphi8f1xfxxmr";
+      name = "kqtquickcharts-21.12.3.tar.xz";
     };
   };
   krdc = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/krdc-21.12.2.tar.xz";
-      sha256 = "005i3a7l9aq63nxsivj28kzjy2zdl759snwm56cgwq9rgc6sc003";
-      name = "krdc-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/krdc-21.12.3.tar.xz";
+      sha256 = "09np9clvmdll7v2p9aswnlhz4cgsnly82za7k3k9fs66h5c8q20j";
+      name = "krdc-21.12.3.tar.xz";
     };
   };
   kreversi = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kreversi-21.12.2.tar.xz";
-      sha256 = "03b4c28297dzdzplmg818r27r9gpqj48rha9884h22fz9davgmhw";
-      name = "kreversi-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kreversi-21.12.3.tar.xz";
+      sha256 = "0lbypkh6lc5af43c2p19gs2c53icxd26abxf5rhs2c8182gr39b8";
+      name = "kreversi-21.12.3.tar.xz";
     };
   };
   krfb = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/krfb-21.12.2.tar.xz";
-      sha256 = "1989q0mig516hz0lbq2m8p85x8ikpyrhj36cvq4c32sd2nasxkvc";
-      name = "krfb-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/krfb-21.12.3.tar.xz";
+      sha256 = "1r8lvvh2z8xi0l3pizlpl12nm4fnbpgiwqmx18w8i51x4j27dv0n";
+      name = "krfb-21.12.3.tar.xz";
     };
   };
   kross-interpreters = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kross-interpreters-21.12.2.tar.xz";
-      sha256 = "14j7z6lwl0j7zdz29c1kjyhw0my6qfgnyxibwn9z87paxl8nv6z0";
-      name = "kross-interpreters-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kross-interpreters-21.12.3.tar.xz";
+      sha256 = "0wyr3xwdkb2fiadzh5lhjli1g0mbxjw353q7k1vbi2wxg5b9042g";
+      name = "kross-interpreters-21.12.3.tar.xz";
     };
   };
   kruler = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kruler-21.12.2.tar.xz";
-      sha256 = "1w5dw3qda69d4ycbiaj18gfn6w28dj2lc37x2d86kx5skv8adxbw";
-      name = "kruler-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kruler-21.12.3.tar.xz";
+      sha256 = "0jmb3a907jx0s80865lmd7in8ggdf30gdbgykpalzfrv7nkjamzr";
+      name = "kruler-21.12.3.tar.xz";
     };
   };
   kshisen = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kshisen-21.12.2.tar.xz";
-      sha256 = "0wjr9fnkmbylfq13zy3hifr4byj4y46f8cwh0w61ypgc0wjxnhhg";
-      name = "kshisen-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kshisen-21.12.3.tar.xz";
+      sha256 = "1i11gh87gfza58rpdd44pjb423an9a44cls117ba9gznxm67cph5";
+      name = "kshisen-21.12.3.tar.xz";
     };
   };
   ksirk = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ksirk-21.12.2.tar.xz";
-      sha256 = "1lif8n8n2pj4vaf7zifqj7mjv5dbhki75wbwjd4q061wpr434vfj";
-      name = "ksirk-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ksirk-21.12.3.tar.xz";
+      sha256 = "1ipnkg2mgj37g5s5ihlys176kn2c11f3d57xr9zhqf8fvkvrkfm0";
+      name = "ksirk-21.12.3.tar.xz";
     };
   };
   ksmtp = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ksmtp-21.12.2.tar.xz";
-      sha256 = "0hg5g401map67kjcgrd1a07iwyss5jnryhpsajffwz19sra855jp";
-      name = "ksmtp-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ksmtp-21.12.3.tar.xz";
+      sha256 = "0kdy5gsg1sgccvdk1fpf866xl9m8v8z034jpgf6s7n2pr5r5mni2";
+      name = "ksmtp-21.12.3.tar.xz";
     };
   };
   ksnakeduel = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ksnakeduel-21.12.2.tar.xz";
-      sha256 = "0rdbsyfd3bink5cb0k5l713jw4syhz82kchn95cbg5zgc2iclfw4";
-      name = "ksnakeduel-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ksnakeduel-21.12.3.tar.xz";
+      sha256 = "06rill73xhhxra7kmbvwwriv9vbi91641z334ry1m4rr1qm2cdd6";
+      name = "ksnakeduel-21.12.3.tar.xz";
     };
   };
   kspaceduel = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kspaceduel-21.12.2.tar.xz";
-      sha256 = "1kmwn55a4555g5m21jcr88k3f9aj87yifgrab6sx6gcw5q51d7vz";
-      name = "kspaceduel-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kspaceduel-21.12.3.tar.xz";
+      sha256 = "0dv539jlpkj8hr4cz0ncqm3scg6ja3s41p37bpqd94zicfvzxw84";
+      name = "kspaceduel-21.12.3.tar.xz";
     };
   };
   ksquares = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ksquares-21.12.2.tar.xz";
-      sha256 = "12k09lasxyaxq4bp4fhczj8bpi8l6h1gn4nj6ka3zbc4mxxz34yc";
-      name = "ksquares-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ksquares-21.12.3.tar.xz";
+      sha256 = "1wbrakq1wnwp558y140j9vbid3g0k332rwbilky7z11c0giiv76x";
+      name = "ksquares-21.12.3.tar.xz";
     };
   };
   ksudoku = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ksudoku-21.12.2.tar.xz";
-      sha256 = "1din2i3d9lhca5kw06ivixgk2prh1kfy8ikm0byl8qaqj4v89lji";
-      name = "ksudoku-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ksudoku-21.12.3.tar.xz";
+      sha256 = "1gw0ybwhvg1z8pcs72f73y52jvzvrw367g275axf2rw50iik6jwv";
+      name = "ksudoku-21.12.3.tar.xz";
     };
   };
   ksystemlog = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ksystemlog-21.12.2.tar.xz";
-      sha256 = "0cvx13859bm4kfz75iia3chzi5pbbv70lkmspvjpa6cpsn05zy53";
-      name = "ksystemlog-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ksystemlog-21.12.3.tar.xz";
+      sha256 = "0jkd0rx0xlzwsxa3s40sp5x4r19a9rg1x9klpnjfw0b326vgf2m9";
+      name = "ksystemlog-21.12.3.tar.xz";
     };
   };
   kteatime = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kteatime-21.12.2.tar.xz";
-      sha256 = "1m7ni3w82lqykgs5qfi0a43p9973244k8lr6rk30x7w551rc7yyw";
-      name = "kteatime-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kteatime-21.12.3.tar.xz";
+      sha256 = "0i3ps1a8y8crmxf1631q4zjfa0zglqhq1rk6id5v2xx8f10rkh54";
+      name = "kteatime-21.12.3.tar.xz";
     };
   };
   ktimer = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ktimer-21.12.2.tar.xz";
-      sha256 = "0jprayxn54pw7brrcb1b70y5sal9j6pfpwrphd2nyw5rkb2a484l";
-      name = "ktimer-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ktimer-21.12.3.tar.xz";
+      sha256 = "0s6zbygxnk69dciyz1iv1d6whfcv637licsd07n7fc8bsygqjl5p";
+      name = "ktimer-21.12.3.tar.xz";
     };
   };
   ktnef = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ktnef-21.12.2.tar.xz";
-      sha256 = "0cl589z0v6h1z3aszk4160y99gpihpk203rn73dmb7c6qsk11cbl";
-      name = "ktnef-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ktnef-21.12.3.tar.xz";
+      sha256 = "1in991n8alkxf40p0wvkr7gdaaz8w4kdw1rsq6sbjil6cs4cr5nl";
+      name = "ktnef-21.12.3.tar.xz";
     };
   };
   ktorrent = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ktorrent-21.12.2.tar.xz";
-      sha256 = "1zwakqp5j2795j4pln4sq595bc2zlw8cy8qdzwj365clfbpcbyc3";
-      name = "ktorrent-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ktorrent-21.12.3.tar.xz";
+      sha256 = "021x6qcbk4kdh5ay5mqmf92129s42j2rhrs0q350b0wcnpad55zd";
+      name = "ktorrent-21.12.3.tar.xz";
     };
   };
   ktouch = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ktouch-21.12.2.tar.xz";
-      sha256 = "1rq2n8395sb17rqd295axv2pbwzhqs8ikjqx5ryn4lv1713alabl";
-      name = "ktouch-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ktouch-21.12.3.tar.xz";
+      sha256 = "0wi01gr85sxs4qhvnwkkp1230wnvz7gdr74zar03rc3wzwgv22nd";
+      name = "ktouch-21.12.3.tar.xz";
     };
   };
   ktp-accounts-kcm = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ktp-accounts-kcm-21.12.2.tar.xz";
-      sha256 = "14niidb9kza6sms9rhhnvrba6rdwhc890b5inmlhdllnqbdrrcbl";
-      name = "ktp-accounts-kcm-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ktp-accounts-kcm-21.12.3.tar.xz";
+      sha256 = "1ydsfiw67avgwswvpy85s3siggyi4w610yqz5dyl535i6my1kl5n";
+      name = "ktp-accounts-kcm-21.12.3.tar.xz";
     };
   };
   ktp-approver = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ktp-approver-21.12.2.tar.xz";
-      sha256 = "11scv978silxrprkyd66b4xkdww05xpgk8kvrknlwp33rmhm05sn";
-      name = "ktp-approver-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ktp-approver-21.12.3.tar.xz";
+      sha256 = "0mvczpc0dy2m0dn25r2h2js3hw7s0qr8zl3syvqbyqqs51s59xnl";
+      name = "ktp-approver-21.12.3.tar.xz";
     };
   };
   ktp-auth-handler = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ktp-auth-handler-21.12.2.tar.xz";
-      sha256 = "006an8bva8zawnirv3ai3kjb59ffgany124ip546r5wg06zkk069";
-      name = "ktp-auth-handler-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ktp-auth-handler-21.12.3.tar.xz";
+      sha256 = "0lgg0ify9mbsd8has8ingkq3m0g91r9gvfq85s2xf90cwc1s429c";
+      name = "ktp-auth-handler-21.12.3.tar.xz";
     };
   };
   ktp-call-ui = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ktp-call-ui-21.12.2.tar.xz";
-      sha256 = "0n8yirlsig37839rl73azg8vf8ppdxlf1dqgkf5bz8g3jcs92gcm";
-      name = "ktp-call-ui-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ktp-call-ui-21.12.3.tar.xz";
+      sha256 = "1npr8qbpxx25pm9mky9sd0qngc5wphmy5blvl6qy7nvs2rqszgam";
+      name = "ktp-call-ui-21.12.3.tar.xz";
     };
   };
   ktp-common-internals = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ktp-common-internals-21.12.2.tar.xz";
-      sha256 = "0c7kfrgf8bqm7q9hp9fd8q49vakiihzl0dgdklpvgly48zfa2yan";
-      name = "ktp-common-internals-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ktp-common-internals-21.12.3.tar.xz";
+      sha256 = "0spr2gs5d561agvipkipwcxk2zjlhzvp6swdh8rcv23qr6igqjq6";
+      name = "ktp-common-internals-21.12.3.tar.xz";
     };
   };
   ktp-contact-list = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ktp-contact-list-21.12.2.tar.xz";
-      sha256 = "0pw5kl0lh0ph3y9hyws7h7phh475lw07gydxxjsfxsd4nb70hkz8";
-      name = "ktp-contact-list-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ktp-contact-list-21.12.3.tar.xz";
+      sha256 = "1qn3bmwl4kvm5ikbr0ycy2znm4c2yv4m5863d4vakr8xhhappamp";
+      name = "ktp-contact-list-21.12.3.tar.xz";
     };
   };
   ktp-contact-runner = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ktp-contact-runner-21.12.2.tar.xz";
-      sha256 = "0as41gba7ra65i6ml8j8fqh70x165cnmp9ry13ijrdf9vx21a45k";
-      name = "ktp-contact-runner-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ktp-contact-runner-21.12.3.tar.xz";
+      sha256 = "0bwi0j733jnwiqlxv8nik1whdvk4aggfayy2bcwwpj5zdzr3mbga";
+      name = "ktp-contact-runner-21.12.3.tar.xz";
     };
   };
   ktp-desktop-applets = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ktp-desktop-applets-21.12.2.tar.xz";
-      sha256 = "0675hlcjq6xyzl1sz3a45inc3g69z5ilxyhhicxns8by3ydmb82x";
-      name = "ktp-desktop-applets-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ktp-desktop-applets-21.12.3.tar.xz";
+      sha256 = "01h26jsdb7mkw8isxpy4sfpdn11q209xqhhpnk7xvchs8fpl5fni";
+      name = "ktp-desktop-applets-21.12.3.tar.xz";
     };
   };
   ktp-filetransfer-handler = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ktp-filetransfer-handler-21.12.2.tar.xz";
-      sha256 = "1cw2y06zcdfm9vixw99gbipgkl63vpkf73giq5ibal2g2yq9c2r5";
-      name = "ktp-filetransfer-handler-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ktp-filetransfer-handler-21.12.3.tar.xz";
+      sha256 = "0aq5ii7b2kk0qan4qph9glapp81sgqm2zzbdknggxz7vkhj5y6lk";
+      name = "ktp-filetransfer-handler-21.12.3.tar.xz";
     };
   };
   ktp-kded-module = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ktp-kded-module-21.12.2.tar.xz";
-      sha256 = "1mwmdnr2c6ilhhjlq8bwd7gwvjmiq1k3lph5vlb5hy8nrp9x2p1r";
-      name = "ktp-kded-module-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ktp-kded-module-21.12.3.tar.xz";
+      sha256 = "0921lahpqjx094ngk68pphkv306ajgxbp6yb0hkckmlic4f2hm37";
+      name = "ktp-kded-module-21.12.3.tar.xz";
     };
   };
   ktp-send-file = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ktp-send-file-21.12.2.tar.xz";
-      sha256 = "0083z5al3jgl1szmzddzkjln9ci37906mmnrcy9f0yxfq5v2gr44";
-      name = "ktp-send-file-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ktp-send-file-21.12.3.tar.xz";
+      sha256 = "0vvg0qz2zxckqqwfibsl88w0mpa7a0lzskwhzbvzir03x14rwjlc";
+      name = "ktp-send-file-21.12.3.tar.xz";
     };
   };
   ktp-text-ui = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ktp-text-ui-21.12.2.tar.xz";
-      sha256 = "0lhbsmhp23sil3rckk51156qhz15hjyp943mgh4s3w49lwxgjpc8";
-      name = "ktp-text-ui-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ktp-text-ui-21.12.3.tar.xz";
+      sha256 = "046611abkdn7qqh6n4v8ssdzg10q4g14rji7klypmccfng0px2xg";
+      name = "ktp-text-ui-21.12.3.tar.xz";
     };
   };
   ktuberling = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/ktuberling-21.12.2.tar.xz";
-      sha256 = "0w9gx0i895vd0gi8wgd6hqikqjz5ir4li14i15k4akc7i7niy46r";
-      name = "ktuberling-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/ktuberling-21.12.3.tar.xz";
+      sha256 = "1awsn285j9nggyypkra9ladgi46w2m7m09d8364w5d0sygpzmgsg";
+      name = "ktuberling-21.12.3.tar.xz";
     };
   };
   kturtle = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kturtle-21.12.2.tar.xz";
-      sha256 = "0xkl12albs66vnsbilkwpnw5qaqx2ss8wldsnigmf0x5d5hd554k";
-      name = "kturtle-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kturtle-21.12.3.tar.xz";
+      sha256 = "1689skwk2dwm4mrl2mrakb1cn74nyxd6xa8ipxsip5zhjgkkvg23";
+      name = "kturtle-21.12.3.tar.xz";
     };
   };
   kubrick = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kubrick-21.12.2.tar.xz";
-      sha256 = "1sd8biyndnc7y4d3zsy4bmi409js9viyd4q5ql6fd2wcz656y1im";
-      name = "kubrick-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kubrick-21.12.3.tar.xz";
+      sha256 = "0hx81cp1lql74c9067dw7mi78c6sp6p1a035j2nzjn9drpxal6p2";
+      name = "kubrick-21.12.3.tar.xz";
     };
   };
   kwalletmanager = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kwalletmanager-21.12.2.tar.xz";
-      sha256 = "0d2ma7dzn0nc25fj7lwaysfjfgqfl5nsisc01lp42n9k1bg0s0i5";
-      name = "kwalletmanager-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kwalletmanager-21.12.3.tar.xz";
+      sha256 = "01xif44iz1ik32swlrzzjycizy4hjlis1f336qc9p7affjyv2797";
+      name = "kwalletmanager-21.12.3.tar.xz";
     };
   };
   kwave = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kwave-21.12.2.tar.xz";
-      sha256 = "01bjsm3aj7m1mq3nr6iwmcxswq8sxdxhhdyc5zlgffifpym53dc5";
-      name = "kwave-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kwave-21.12.3.tar.xz";
+      sha256 = "07xbbii5gpllbpmkxfv5kwxawd390zp0angh94xjk0yq71lvdav2";
+      name = "kwave-21.12.3.tar.xz";
     };
   };
   kwordquiz = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/kwordquiz-21.12.2.tar.xz";
-      sha256 = "1na113adrd9djxk016riz3ajwrn9rbpc0ib34adfvp6nw48d9snp";
-      name = "kwordquiz-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/kwordquiz-21.12.3.tar.xz";
+      sha256 = "1p06ki75zy4il6k9siavqddpr9j02z3lbnd14pxwk42fhfmbx057";
+      name = "kwordquiz-21.12.3.tar.xz";
     };
   };
   libgravatar = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/libgravatar-21.12.2.tar.xz";
-      sha256 = "0xj3v0cknkvr8ac5iipxpz1azr0hk42zgaaip5ivn7qjfhp0zvv0";
-      name = "libgravatar-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/libgravatar-21.12.3.tar.xz";
+      sha256 = "1bihy3dfagwc7aday40myqjbn555mkzzaaq7c14ywkmhh99dhvh7";
+      name = "libgravatar-21.12.3.tar.xz";
     };
   };
   libkcddb = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/libkcddb-21.12.2.tar.xz";
-      sha256 = "07bcbmf3z5l0v5b6ra1h36yvbjpim1kzz1npd2h30iq09ibx6dr8";
-      name = "libkcddb-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/libkcddb-21.12.3.tar.xz";
+      sha256 = "14f1mzsfm0vyqzsyja0p8ln1105sw5dr6fssj25j0qw4rnf9yw32";
+      name = "libkcddb-21.12.3.tar.xz";
     };
   };
   libkcompactdisc = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/libkcompactdisc-21.12.2.tar.xz";
-      sha256 = "08abnybd0fa0vvpaixi18ljfz0s8a5pmbblzpcc8rvwzdjc7az6q";
-      name = "libkcompactdisc-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/libkcompactdisc-21.12.3.tar.xz";
+      sha256 = "1vmaf3b41sj0sm4k9zdliy5ba4ps5z0cwabggfish152wzw34kgn";
+      name = "libkcompactdisc-21.12.3.tar.xz";
     };
   };
   libkdcraw = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/libkdcraw-21.12.2.tar.xz";
-      sha256 = "0mzq0nha7mq5v3lb03xbspc0y2a7mg1mzlwbp3706ph6jp4m7mwa";
-      name = "libkdcraw-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/libkdcraw-21.12.3.tar.xz";
+      sha256 = "1pyqsaaficwxbg6hk8xg8srq79i6xdxvghkn2rf54zj1435d9kva";
+      name = "libkdcraw-21.12.3.tar.xz";
     };
   };
   libkdegames = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/libkdegames-21.12.2.tar.xz";
-      sha256 = "1m1qz59fb82bsj9ri3b8a1ph2ihgs97wlqq91pbgqw0kgvyvka1j";
-      name = "libkdegames-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/libkdegames-21.12.3.tar.xz";
+      sha256 = "0x5mw25c8hmnxhcxc2xm19xmgdxfbx89nrxfl6mzfrh8myr3ybsb";
+      name = "libkdegames-21.12.3.tar.xz";
     };
   };
   libkdepim = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/libkdepim-21.12.2.tar.xz";
-      sha256 = "0qqz9b17fz3kgh3gcyq30ds8fq7zkm14k85g4mywsn3lnn8bj6z9";
-      name = "libkdepim-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/libkdepim-21.12.3.tar.xz";
+      sha256 = "0g9jx6z5jf9yqn01xc1k038b4ljr9sil7bwvifc64s38qxl9wmww";
+      name = "libkdepim-21.12.3.tar.xz";
     };
   };
   libkeduvocdocument = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/libkeduvocdocument-21.12.2.tar.xz";
-      sha256 = "16vh1bycq92bh47phv7nk62r5vjaiv1p8fvq5p5idsz9ipzb1wzp";
-      name = "libkeduvocdocument-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/libkeduvocdocument-21.12.3.tar.xz";
+      sha256 = "16kk7ij2qxy5abgv9hgk1ycbx0f2gnpc9lxqbhl5sq9vxd4nblv0";
+      name = "libkeduvocdocument-21.12.3.tar.xz";
     };
   };
   libkexiv2 = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/libkexiv2-21.12.2.tar.xz";
-      sha256 = "1j1p1pw2l32q7lk8kp6r0nz9mzjdw6mxr2gi0p770k3k0arrsg87";
-      name = "libkexiv2-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/libkexiv2-21.12.3.tar.xz";
+      sha256 = "0r2m6d9rw0r6rm6xqpj1i3w0hplhivy8h90zggqynfzvfyr9c529";
+      name = "libkexiv2-21.12.3.tar.xz";
     };
   };
   libkgapi = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/libkgapi-21.12.2.tar.xz";
-      sha256 = "0n6x0vdirv5qbi9qmd8956i307dz0lp80bw5cqxgk4gr4f8hzi8w";
-      name = "libkgapi-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/libkgapi-21.12.3.tar.xz";
+      sha256 = "1vbk8786mk1irm94bsm97270gnd149nz7w0zqnvwz499f72d21jx";
+      name = "libkgapi-21.12.3.tar.xz";
     };
   };
   libkipi = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/libkipi-21.12.2.tar.xz";
-      sha256 = "0zlga9gy45cs3icx56gvq2nab7i3z5ydrmisa46vpca63w8swmys";
-      name = "libkipi-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/libkipi-21.12.3.tar.xz";
+      sha256 = "0w2kwi6djwp8mhmpfrr16v8fgmwjmsc89rcwpfhgii1p68xia8gc";
+      name = "libkipi-21.12.3.tar.xz";
     };
   };
   libkleo = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/libkleo-21.12.2.tar.xz";
-      sha256 = "0vqgycmj2v91car7ckksnjxbq3b5nzk31p4x3577dgck9jmi30zd";
-      name = "libkleo-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/libkleo-21.12.3.tar.xz";
+      sha256 = "19q128ldi0aspy7vc03r54vrf7wz7l1181x9pbmax8340nbnaz7l";
+      name = "libkleo-21.12.3.tar.xz";
     };
   };
   libkmahjongg = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/libkmahjongg-21.12.2.tar.xz";
-      sha256 = "10fgk8nhcr3rbdnh8az46jvl6w6xankdxzw4djj3qs4dpkl52vk4";
-      name = "libkmahjongg-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/libkmahjongg-21.12.3.tar.xz";
+      sha256 = "114viyqq7zlwsdnm96iyyvj8ma4p06m69hs641yv42xlbkspwbal";
+      name = "libkmahjongg-21.12.3.tar.xz";
     };
   };
   libkomparediff2 = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/libkomparediff2-21.12.2.tar.xz";
-      sha256 = "07yzzc6ns1yx92gpcvhnxw0xna6ly1j4l4lx1rbw3d94z796694z";
-      name = "libkomparediff2-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/libkomparediff2-21.12.3.tar.xz";
+      sha256 = "1j93lf9adyw581a9i8kc1pj6vadscibw49wvwfs750f0kxn5p0d2";
+      name = "libkomparediff2-21.12.3.tar.xz";
     };
   };
   libksane = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/libksane-21.12.2.tar.xz";
-      sha256 = "1iksfjwkibn1i8n541nngalrp8krc94qy9in801q10d291clwz9i";
-      name = "libksane-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/libksane-21.12.3.tar.xz";
+      sha256 = "0ci2284ysh4q8sbhqcg5bis2v02bp5x64h8n0qik14yy24x852zg";
+      name = "libksane-21.12.3.tar.xz";
     };
   };
   libksieve = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/libksieve-21.12.2.tar.xz";
-      sha256 = "03aaqqb5g9iv49crrf7zbmsri8jjszn5wfvmcw559swalmmyzb4i";
-      name = "libksieve-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/libksieve-21.12.3.tar.xz";
+      sha256 = "1li9cc5y6xbn4m4qa21qmsjd4xzshp67mxwh2nvr17mfs8ray7vd";
+      name = "libksieve-21.12.3.tar.xz";
     };
   };
   libktorrent = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/libktorrent-21.12.2.tar.xz";
-      sha256 = "06ak3bsy5x6a0r3l9hbfih9m41y3l357rpd42x8qp08djbs11xbf";
-      name = "libktorrent-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/libktorrent-21.12.3.tar.xz";
+      sha256 = "0i976al9bsc3gbplqbxkxr03sdhxv3yzjlfkdaghga8fkihzkkl0";
+      name = "libktorrent-21.12.3.tar.xz";
     };
   };
   lokalize = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/lokalize-21.12.2.tar.xz";
-      sha256 = "1x6sb1fw0fqvk3vg299xvih1v2xm9hviv5h1b624maasw071nfyy";
-      name = "lokalize-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/lokalize-21.12.3.tar.xz";
+      sha256 = "1gzfiajy377kx0iar85z72zqxh7y9vhp1hs03zzqymazawm9lqnn";
+      name = "lokalize-21.12.3.tar.xz";
     };
   };
   lskat = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/lskat-21.12.2.tar.xz";
-      sha256 = "0v16rg6d2l41xgkrkj8ibh5a0zjyb4jn7am6rbgl6k9g9mfqwdx7";
-      name = "lskat-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/lskat-21.12.3.tar.xz";
+      sha256 = "1cfs1lfwgxwpn2g56y7jb2c6ijd81bi8ba8ap0yyx6nhv6na072b";
+      name = "lskat-21.12.3.tar.xz";
     };
   };
   mailcommon = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/mailcommon-21.12.2.tar.xz";
-      sha256 = "01kirl4lk1xq7y474438jv0av3ccg18krlchllcigd9c0vcp67qj";
-      name = "mailcommon-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/mailcommon-21.12.3.tar.xz";
+      sha256 = "1zi8zkhv9g4vsylqzjm2wr9v6b20irfxhf4q467cmpqqrqpcp3af";
+      name = "mailcommon-21.12.3.tar.xz";
     };
   };
   mailimporter = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/mailimporter-21.12.2.tar.xz";
-      sha256 = "1ng8w4byq4iiwfzh4acl2glndlr7r9hr62qpj10kpn4fi0qblakb";
-      name = "mailimporter-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/mailimporter-21.12.3.tar.xz";
+      sha256 = "0lcr9zzdf16f82spr9x33jnzr23sx7xk2zvfpzdki3b5jxvapnsk";
+      name = "mailimporter-21.12.3.tar.xz";
     };
   };
   marble = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/marble-21.12.2.tar.xz";
-      sha256 = "093drig77dyxwfavx30h2nzdqkn52h6pjn54j7fnwygz4742qv7n";
-      name = "marble-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/marble-21.12.3.tar.xz";
+      sha256 = "0v6qd9cl6g8k55mjq2lswsfcxzf88w33nlm1193ps3ac0awjaaa4";
+      name = "marble-21.12.3.tar.xz";
     };
   };
   markdownpart = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/markdownpart-21.12.2.tar.xz";
-      sha256 = "0g7j15s15blqr0lfagmhvxxggdplvmnkf8g2b9ysjkrr49lgk7b6";
-      name = "markdownpart-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/markdownpart-21.12.3.tar.xz";
+      sha256 = "1drvjrvmd2c36xj3x7kxb7lvk23cmaw8mi976pdfnxn5pdamv6wl";
+      name = "markdownpart-21.12.3.tar.xz";
     };
   };
   mbox-importer = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/mbox-importer-21.12.2.tar.xz";
-      sha256 = "0qakmg86978zjm2m98602zbaiyiryrmlx2vk93yyv5xg352gphjb";
-      name = "mbox-importer-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/mbox-importer-21.12.3.tar.xz";
+      sha256 = "01bh0yzv23vkicc7lj217rp8c36kyyjlxmkwylss3hakr4b3afan";
+      name = "mbox-importer-21.12.3.tar.xz";
     };
   };
   messagelib = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/messagelib-21.12.2.tar.xz";
-      sha256 = "0ln473gdwsscjpsh50h2cbazxbc8qy1mmll9lsfngfw1qq49dwsp";
-      name = "messagelib-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/messagelib-21.12.3.tar.xz";
+      sha256 = "0xrhnkahqirsz37lbvx505ll7bfhr25lbq89yqq81bxbzkbvamsw";
+      name = "messagelib-21.12.3.tar.xz";
     };
   };
   minuet = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/minuet-21.12.2.tar.xz";
-      sha256 = "050pmw3srfb800h91x6pqn1vz7s6458w94r2innwc1j04pr8jaxv";
-      name = "minuet-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/minuet-21.12.3.tar.xz";
+      sha256 = "0r68z3j0j2gbwzj77wvsx1idrfkagj0pjai9j7fbqa0r6q833flr";
+      name = "minuet-21.12.3.tar.xz";
     };
   };
   okular = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/okular-21.12.2.tar.xz";
-      sha256 = "1k0bwyhk73gshc7f0j6mply2m9ykfd07mhkxwnzj874sby5rxhv9";
-      name = "okular-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/okular-21.12.3.tar.xz";
+      sha256 = "054rzdqsqkjx2sncyfcnfdvm9bp45sdw3rycmpzicnwpn5j4hcb3";
+      name = "okular-21.12.3.tar.xz";
     };
   };
   palapeli = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/palapeli-21.12.2.tar.xz";
-      sha256 = "0v5456hm56c7f9d49l5zjql6f4ap72wmkf8in8s95lqmpn42dl17";
-      name = "palapeli-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/palapeli-21.12.3.tar.xz";
+      sha256 = "076igql89sx55hfxjb79248ih4cjbkr1s1jnz46y3dk793rscm8g";
+      name = "palapeli-21.12.3.tar.xz";
     };
   };
   parley = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/parley-21.12.2.tar.xz";
-      sha256 = "1cwnlv57yqjm52i0jwl33pz4h9h448h0ljrg598ghby8p3b2i5w7";
-      name = "parley-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/parley-21.12.3.tar.xz";
+      sha256 = "10hv885l0gz5aymf72f42bhkncfarj768nb12q9fxqk4x5rviiw0";
+      name = "parley-21.12.3.tar.xz";
     };
   };
   partitionmanager = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/partitionmanager-21.12.2.tar.xz";
-      sha256 = "0rr7ic2ivm7lp3lj20b8rfbx1sr91s24fzxfzfwnw9znl9vj410q";
-      name = "partitionmanager-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/partitionmanager-21.12.3.tar.xz";
+      sha256 = "0x0k3vsbngcb7kvcgqj2w025fn9xvfd2232lx51xfar5r3jb7h1p";
+      name = "partitionmanager-21.12.3.tar.xz";
     };
   };
   picmi = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/picmi-21.12.2.tar.xz";
-      sha256 = "0qp8b1di3qnv4xrnpcmyi6myrrwzdlijhvxmacx4ijv7b7wlg4r7";
-      name = "picmi-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/picmi-21.12.3.tar.xz";
+      sha256 = "0gk1yq5ac55k6lxbxszxpd393fb9k6yphisb71lx2zv9gchl44n6";
+      name = "picmi-21.12.3.tar.xz";
     };
   };
   pim-data-exporter = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/pim-data-exporter-21.12.2.tar.xz";
-      sha256 = "0m4dq3x5kbncnvixjigb85j6siws6q600piw53qabiwd6w6rp1xy";
-      name = "pim-data-exporter-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/pim-data-exporter-21.12.3.tar.xz";
+      sha256 = "0qcwsbb4zsjgc15fhq9pp341wwm35y9v1lq8gnpjdsvfq2pczq5q";
+      name = "pim-data-exporter-21.12.3.tar.xz";
     };
   };
   pim-sieve-editor = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/pim-sieve-editor-21.12.2.tar.xz";
-      sha256 = "1cpazs6q6hv15ib6isif5syvpywxfdi7d3w8vc4pnfj94wkcq3gm";
-      name = "pim-sieve-editor-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/pim-sieve-editor-21.12.3.tar.xz";
+      sha256 = "1gp4gpagv6pfiy6gyfh14z1rb16iqm1npmngw6ybjlhh6d424n90";
+      name = "pim-sieve-editor-21.12.3.tar.xz";
     };
   };
   pimcommon = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/pimcommon-21.12.2.tar.xz";
-      sha256 = "1pnhjhnjx98wdc3dg71qgjjj3dsncl56d86cagkk2spicv901p69";
-      name = "pimcommon-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/pimcommon-21.12.3.tar.xz";
+      sha256 = "1k1d100lr277lgwyzn2ssxsx9x2yd9nfd5657r95vmdnkh2qs517";
+      name = "pimcommon-21.12.3.tar.xz";
     };
   };
   poxml = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/poxml-21.12.2.tar.xz";
-      sha256 = "1zzw9jwwd5nx12ma2ihffj6nhr3zlpahnj8k0r8mxcyn99j51kyn";
-      name = "poxml-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/poxml-21.12.3.tar.xz";
+      sha256 = "19hrb75fbh102fw8ajflj4777s7hq7vxv6kbwjir6wzsvdfanwdb";
+      name = "poxml-21.12.3.tar.xz";
     };
   };
   print-manager = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/print-manager-21.12.2.tar.xz";
-      sha256 = "0xqv7f9p27maa0p20nc92g6240qkcin9s3dldr5b5q944hkkxizq";
-      name = "print-manager-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/print-manager-21.12.3.tar.xz";
+      sha256 = "1q9vv5v9hivm583hcx8qa7xik9yv4zicrd02abcsn6hvgwmdav8b";
+      name = "print-manager-21.12.3.tar.xz";
     };
   };
   rocs = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/rocs-21.12.2.tar.xz";
-      sha256 = "1mjrgh0vfc1kvici5m1dx23s1c7qpvfx1br91yglgll1biajzqlq";
-      name = "rocs-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/rocs-21.12.3.tar.xz";
+      sha256 = "1fgjap71qnaydar9q155is7vwjlkpa8wi1162dsqxr5ywy464wrg";
+      name = "rocs-21.12.3.tar.xz";
     };
   };
   signon-kwallet-extension = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/signon-kwallet-extension-21.12.2.tar.xz";
-      sha256 = "0qfim8ahklwkixpxcm9sj1w49cmb0wz5r8np6ga3r2rh4vlqdxbf";
-      name = "signon-kwallet-extension-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/signon-kwallet-extension-21.12.3.tar.xz";
+      sha256 = "0sv0g50bxxd442ia7wzk2lkqwr8lsjxk5wm3zsskxhql851y0ybm";
+      name = "signon-kwallet-extension-21.12.3.tar.xz";
     };
   };
   skanlite = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/skanlite-21.12.2.tar.xz";
-      sha256 = "1fvdrzyvps0iqb9irnpdn81gmlmfhgfsfb5mg4i259sms6rq3h8m";
-      name = "skanlite-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/skanlite-21.12.3.tar.xz";
+      sha256 = "06dwmdjrss7cqqigg4rwsy5dya35577qwdaxj2jbvs2pkzp9rq3p";
+      name = "skanlite-21.12.3.tar.xz";
     };
   };
   spectacle = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/spectacle-21.12.2.tar.xz";
-      sha256 = "1966ynfdkaya1iydi2hfmcr13adk7agjr9ndz2hjrwgjagd29pyr";
-      name = "spectacle-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/spectacle-21.12.3.tar.xz";
+      sha256 = "155xin26lkjr0swb281afha906nqy2821lf2spmzzxa3xalzq3sv";
+      name = "spectacle-21.12.3.tar.xz";
     };
   };
   step = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/step-21.12.2.tar.xz";
-      sha256 = "1paq5wpya82s92zwacwbjf96nj52gy1sydk0gndyqi8jdplhlnps";
-      name = "step-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/step-21.12.3.tar.xz";
+      sha256 = "0j3w63bxj3b4lrfb0mnchlvsr987v5zwwjw5jrgvqidrhv1rh7dc";
+      name = "step-21.12.3.tar.xz";
     };
   };
   svgpart = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/svgpart-21.12.2.tar.xz";
-      sha256 = "15624gfcn85xkh6lypkw73iidnclprhqhpxrjggbng1x22jg2iwc";
-      name = "svgpart-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/svgpart-21.12.3.tar.xz";
+      sha256 = "0yg8sn1z9zfb7a6y61nw7vya516sfaydkgxh7cfwiz7sljl87z8j";
+      name = "svgpart-21.12.3.tar.xz";
     };
   };
   sweeper = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/sweeper-21.12.2.tar.xz";
-      sha256 = "07rqshzjjzqgmm5z0fn1hjd09prcwlnyilp3s61nl5fciby6m8fh";
-      name = "sweeper-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/sweeper-21.12.3.tar.xz";
+      sha256 = "1l4ag2nhy0da9z4nlf7fmjrim7pmwpm3m4v4y50jlpdv73f63246";
+      name = "sweeper-21.12.3.tar.xz";
     };
   };
   umbrello = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/umbrello-21.12.2.tar.xz";
-      sha256 = "07bp3rf31x5c1vag6pw0lal9b6zmvsqa8wg8a30kj7k9wabvjprb";
-      name = "umbrello-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/umbrello-21.12.3.tar.xz";
+      sha256 = "1i94l5hnn8hl0dgdq8sj5xm2vk372zfcnch9qvf9gcvhg08gdif6";
+      name = "umbrello-21.12.3.tar.xz";
     };
   };
   yakuake = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/yakuake-21.12.2.tar.xz";
-      sha256 = "1xkdyn944ga1xvwbbblnffvlnwgypspr909yvdy6xf5j0qaldsdk";
-      name = "yakuake-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/yakuake-21.12.3.tar.xz";
+      sha256 = "10mkr8svkjf2s023mf21cil2c5v986s5b2yp1hm0fzdgmawpwrh9";
+      name = "yakuake-21.12.3.tar.xz";
     };
   };
   zanshin = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/zanshin-21.12.2.tar.xz";
-      sha256 = "1ilgswm4jbjk1mbvcrdi451f1w4vwx3ah6y32a3y5a9blbh9bh6c";
-      name = "zanshin-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/zanshin-21.12.3.tar.xz";
+      sha256 = "1cwawpmx5hc60zkdkyh484lp3bwiipn6c3yh164gzw769vz9zr71";
+      name = "zanshin-21.12.3.tar.xz";
     };
   };
   zeroconf-ioslave = {
-    version = "21.12.2";
+    version = "21.12.3";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.2/src/zeroconf-ioslave-21.12.2.tar.xz";
-      sha256 = "0b59npqhmf3yvp9x0jm29bwzlyl0vm9l56jlsgwgiq7pwis5njwd";
-      name = "zeroconf-ioslave-21.12.2.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.3/src/zeroconf-ioslave-21.12.3.tar.xz";
+      sha256 = "09jmf233njbqam1swzvpzfgdplpjzdx48vjy6kcpmjvg2qlm7i2l";
+      name = "zeroconf-ioslave-21.12.3.tar.xz";
     };
   };
 }
diff --git a/pkgs/applications/misc/1password-gui/default.nix b/pkgs/applications/misc/1password-gui/default.nix
index 15622d799a403..311ef3037bb8e 100644
--- a/pkgs/applications/misc/1password-gui/default.nix
+++ b/pkgs/applications/misc/1password-gui/default.nix
@@ -101,6 +101,7 @@ in stdenv.mkDerivation rec {
         mkdir -p $out/share/polkit-1/actions
         substitute com.1password.1Password.policy.tpl $out/share/polkit-1/actions/com.1password.1Password.policy --replace "\''${POLICY_OWNERS}" "${policyOwners}"
         '') + ''
+
       # Icons
       cp -a resources/icons $out/share
 
diff --git a/pkgs/applications/misc/1password/default.nix b/pkgs/applications/misc/1password/default.nix
index 512f5546aecdd..9d7a4fcd94ca4 100644
--- a/pkgs/applications/misc/1password/default.nix
+++ b/pkgs/applications/misc/1password/default.nix
@@ -1,28 +1,38 @@
-{ lib, stdenv, fetchzip, autoPatchelfHook, fetchurl, xar, cpio }:
+{ lib, stdenv, fetchurl, fetchzip, autoPatchelfHook, installShellFiles, cpio, xar }:
+
+let
+  inherit (stdenv.hostPlatform) system;
+  fetch = srcPlatform: sha256: extension:
+    let
+      args = {
+        url = "https://cache.agilebits.com/dist/1P/op2/pkg/v${version}/op_${srcPlatform}_v${version}.${extension}";
+        inherit sha256;
+      } // lib.optionalAttrs (extension == "zip") { stripRoot = false; };
+    in
+    if extension == "zip" then fetchzip args else fetchurl args;
 
-stdenv.mkDerivation rec {
   pname = "1password-cli";
-  version = "1.12.2";
+  version = "2.0.0";
+  sources = rec {
+    aarch64-linux = fetch "linux_arm64" "sha256-NhCs68on8LzoeOmM5eP8LwmFaVWz6aghqtHzfUlACiA=" "zip";
+    i686-linux = fetch "linux_386" "sha256-vCxgEBq4YVfljq2zUpvBdZUbIiam4z64P1m9OMWq1f4=" "zip";
+    x86_64-linux = fetch "linux_amd64" "sha256-CDwrJ5ksXf9kwHobw4jvRUi1hLQzq4/yRlk+kHPN7UE=" "zip";
+    aarch64-darwin = fetch "apple_universal" "sha256-DC9hdzRjQ9iNjbe6PfRpMXzDeInq4rYSAa2nDHQMTRo=" "pkg";
+    x86_64-darwin = aarch64-darwin;
+  };
+  platforms = builtins.attrNames sources;
+  mainProgram = "op";
+in
+
+stdenv.mkDerivation {
+  inherit pname version;
   src =
-    if stdenv.isLinux then
-      fetchzip
-        {
-          url = {
-            "i686-linux" = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip";
-            "x86_64-linux" = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip";
-            "aarch64-linux" = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_arm64_v${version}.zip";
-          }.${stdenv.hostPlatform.system};
-          sha256 = {
-            "i686-linux" = "tCm/vDBASPN9FBSVRJ6BrFc7hdtZWPEAgvokJhjazPg=";
-            "x86_64-linux" = "3VkVMuTAfeEowkguJi2fd1kG7GwO1VN5GBPgNaH3Zv4=";
-            "aarch64-linux" = "12h1s9c97w0gb6bia3hy7773mwpfnyrn40sbjm1zc37y4zyi5dyp";
-          }.${stdenv.hostPlatform.system};
-          stripRoot = false;
-        } else
-      fetchurl {
-        url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_apple_universal_v${version}.pkg";
-        sha256 = "xG/6YZdkJxr5Py90rkIyG4mK40yFTmNSfih9jO2uF+4=";
-      };
+    if (builtins.elem system platforms) then
+      sources.${system}
+    else
+      throw "Source for ${pname} is not available for ${system}";
+
+  nativeBuildInputs = [ installShellFiles ] ++ lib.optional stdenv.isLinux autoPatchelfHook;
 
   buildInputs = lib.optionals stdenv.isDarwin [ xar cpio ];
 
@@ -32,25 +42,32 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    install -D op $out/bin/op
+    runHook preInstall
+    install -D ${mainProgram} $out/bin/${mainProgram}
+    runHook postInstall
   '';
 
-  dontStrip = stdenv.isDarwin;
+  postInstall = ''
+    installShellCompletion --cmd ${mainProgram} \
+      --bash <($out/bin/${mainProgram} completion bash) \
+      --fish <($out/bin/${mainProgram} completion fish) \
+      --zsh <($out/bin/${mainProgram} completion zsh)
+  '';
 
-  nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ];
+  dontStrip = stdenv.isDarwin;
 
   doInstallCheck = true;
 
   installCheckPhase = ''
-    $out/bin/op --version
+    $out/bin/${mainProgram} --version
   '';
 
   meta = with lib; {
     description = "1Password command-line tool";
-    homepage = "https://support.1password.com/command-line/";
-    downloadPage = "https://app-updates.agilebits.com/product_history/CLI";
+    homepage = "https://developer.1password.com/docs/cli/";
+    downloadPage = "https://app-updates.agilebits.com/product_history/CLI2";
     maintainers = with maintainers; [ joelburget marsam ];
     license = licenses.unfree;
-    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
+    inherit mainProgram platforms;
   };
 }
diff --git a/pkgs/applications/misc/HentaiAtHome/default.nix b/pkgs/applications/misc/HentaiAtHome/default.nix
index dc2b7ab804ab0..d185096aa7974 100644
--- a/pkgs/applications/misc/HentaiAtHome/default.nix
+++ b/pkgs/applications/misc/HentaiAtHome/default.nix
@@ -13,7 +13,7 @@ buildGraalvmNativeImage rec {
   jar = "${src}/HentaiAtHome.jar";
   dontUnpack = true;
 
-  graalvm = graalvm17-ce;
+  graalvmDrv = graalvm17-ce;
   extraNativeImageBuildArgs = [
     "--enable-url-protocols=http,https"
     "--install-exit-handlers"
diff --git a/pkgs/applications/misc/ablog/default.nix b/pkgs/applications/misc/ablog/default.nix
new file mode 100644
index 0000000000000..b6a3a1dfdb56e
--- /dev/null
+++ b/pkgs/applications/misc/ablog/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, python3
+}:
+
+with python3.pkgs;
+
+buildPythonApplication rec {
+  pname = "ablog";
+  version = "0.10.23";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-fqqB17dNzcDZmFw3nj85T5zvMzY6SN/JxbB3IASOas8=";
+  };
+
+  propagatedBuildInputs = [
+    feedgen
+    sphinx
+    invoke
+    watchdog
+    python-dateutil
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  nativeBuildInputs = [ setuptools-scm ];
+
+  meta = with lib; {
+    description = "ABlog for blogging with Sphinx";
+    homepage = "https://ablog.readthedocs.io/en/latest/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ rgrinberg ];
+  };
+}
diff --git a/pkgs/applications/misc/almanah/default.nix b/pkgs/applications/misc/almanah/default.nix
index a4ef9b34318ca..5e4f448235485 100644
--- a/pkgs/applications/misc/almanah/default.nix
+++ b/pkgs/applications/misc/almanah/default.nix
@@ -1,5 +1,7 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
+, fetchpatch
 , atk
 , cairo
 , desktop-file-utils
@@ -32,6 +34,16 @@ stdenv.mkDerivation rec {
     sha256 = "lMpDQOxlGljP66APR49aPbTZnfrGakbQ2ZcFvmiPMFo=";
   };
 
+  patches = [
+    # Fix build with meson 0.61
+    # data/meson.build:2:5: ERROR: Function does not take positional arguments.
+    # Patch taken from https://gitlab.gnome.org/GNOME/almanah/-/merge_requests/13
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/almanah/-/commit/8c42a67695621d1e30cec933a04e633e6030bbaf.patch";
+      sha256 = "qyqFgYSu4emFDG/Mjwz1bZb3v3/4gwQSKmGCoPPNYCQ=";
+    })
+  ];
+
   nativeBuildInputs = [
     desktop-file-utils
     gettext
diff --git a/pkgs/applications/misc/avrdudess/default.nix b/pkgs/applications/misc/avrdudess/default.nix
index 0a42e6f5e2cda..56ee5fa528010 100644
--- a/pkgs/applications/misc/avrdudess/default.nix
+++ b/pkgs/applications/misc/avrdudess/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation {
   pname = "avrdudess";
-  version = "2.2.20140102";
+  version = "2.13";
 
   src = fetchurl {
-    url = "http://blog.zakkemble.co.uk/download/avrdudess_20140102.zip";
-    sha256 = "18llpvjsfhypzijrvfbzmcg3g141f307mzsrg11wcdxh9syxqak6";
+    url = "https://github.com/ZakKemble/AVRDUDESS/releases/download/v2.13/AVRDUDESS-2.13-portable.zip";
+    sha256 = "0fpvc19fb14ppqfb2yg821szmhyanxcp5chfldf8yh51f64zihv9";
   };
 
   nativeBuildInputs = [ unzip ];
@@ -36,7 +36,8 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "GUI for AVRDUDE (AVR microcontroller programmer)";
-    homepage = "https://github.com/zkemble/AVRDUDESS";
+    homepage = "https://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/";
+    changelog = "https://github.com/ZakKemble/AVRDUDESS/blob/v${version}/Changelog.txt";
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/applications/misc/bottles/default.nix b/pkgs/applications/misc/bottles/default.nix
index b0b1718c87b57..8ecb1cf1d01da 100644
--- a/pkgs/applications/misc/bottles/default.nix
+++ b/pkgs/applications/misc/bottles/default.nix
@@ -20,8 +20,8 @@ let
 in
 python3Packages.buildPythonApplication rec {
   pname = "bottles";
-  version = "2022.3.14-trento-3";
-  sha256 = "0wdqj9l69a9pnray2zcfgl2yw0hmrh23njbgwgqccimch014ckdq";
+  version = "2022.3.28-trento-1";
+  sha256 = "1mpvym7b88pb0xxij32arj31q5m6b3z47p8zv9njvkfs0151b2v4";
   # Note: Update via pkgs/applications/misc/bottles/update.py
   # mostly copypasted from pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py
 
diff --git a/pkgs/applications/misc/dasel/default.nix b/pkgs/applications/misc/dasel/default.nix
index d8fd18f9de4eb..317613ffd533a 100644
--- a/pkgs/applications/misc/dasel/default.nix
+++ b/pkgs/applications/misc/dasel/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "dasel";
-  version = "1.24.0";
+  version = "1.24.1";
 
   src = fetchFromGitHub {
     owner = "TomWright";
     repo = "dasel";
     rev = "v${version}";
-    sha256 = "sha256-Em+WAI8G492h7FJTnTHFj5L7M4xBZhW4qC0MMc2JRUU=";
+    sha256 = "sha256-B6MWoGYNjFBUxnSqAXt2DRRjSlmgbqIC7qEoMFGQ+zU=";
   };
 
   vendorSha256 = "sha256-NP+Is7Dxz4LGzx5vpv8pJOJhodAYHia1JXYfhJD54as=";
diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
index 56485e69d4219..c5a0bc0fb85a2 100644
--- a/pkgs/applications/misc/dbeaver/default.nix
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -16,44 +16,24 @@
 , maven
 , webkitgtk
 , glib-networking
+, javaPackages
 }:
 
-stdenv.mkDerivation rec {
+(javaPackages.mavenfod.override {
+  inherit maven; # use overridden maven version (see dbeaver's entry in all-packages.nix)
+}) rec {
   pname = "dbeaver";
-  version = "22.0.1"; # When updating also update fetchedMavenDeps.sha256
+  version = "22.0.2"; # When updating also update mvnSha256
 
   src = fetchFromGitHub {
     owner = "dbeaver";
     repo = "dbeaver";
     rev = version;
-    sha256 = "sha256-IG5YWwq3WVzQBvAslQ9Z2Ou6ADzf4n9NkQCtH4Jgkac=";
+    sha256 = "sha256-3tIxHw4734ggIUDjZO2EGIMbyPNP3yvy9QgnMLw+/fc=";
   };
 
-  fetchedMavenDeps = stdenv.mkDerivation {
-    name = "dbeaver-${version}-maven-deps";
-    inherit src;
-
-    buildInputs = [
-      maven
-    ];
-
-    buildPhase = "mvn package -Dmaven.repo.local=$out/.m2 -P desktop,all-platforms";
-
-    # keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside
-    installPhase = ''
-      find $out -type f \
-        -name \*.lastUpdated -or \
-        -name resolver-status.properties -or \
-        -name _remote.repositories \
-        -delete
-    '';
-
-    # don't do any fixup
-    dontFixup = true;
-    outputHashAlgo = "sha256";
-    outputHashMode = "recursive";
-    outputHash = "sha256-WAB15d4UvUOkBXT7K/hvAZWOE3V1Lpl/tr+AFNBM4FI=";
-  };
+  mvnSha256 = "os3eb+In8XreHwdZMacXafIVgOAeSSfCIkO5pwaO6MI=";
+  mvnParameters = "-P desktop,all-platforms";
 
   nativeBuildInputs = [
     copyDesktopItems
@@ -88,14 +68,6 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  buildPhase = ''
-    runHook preBuild
-
-    mvn package --offline -Dmaven.repo.local=$(cp -dpR ${fetchedMavenDeps}/.m2 ./ && chmod +w -R .m2 && pwd)/.m2 -P desktop,all-platforms
-
-    runHook postBuild
-  '';
-
   installPhase =
     let
       productTargetPath = "product/community/target/products/org.jkiss.dbeaver.core.product";
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix
index 29a1291929609..f9ef802ce4222 100644
--- a/pkgs/applications/misc/electrum/default.nix
+++ b/pkgs/applications/misc/electrum/default.nix
@@ -21,7 +21,7 @@
 }:
 
 let
-  version = "4.1.5";
+  version = "4.2.1";
 
   libsecp256k1_name =
     if stdenv.isLinux then "libsecp256k1.so.0"
@@ -37,7 +37,7 @@ let
     owner = "spesmilo";
     repo = "electrum";
     rev = version;
-    sha256 = "1ps8yaps5kfd7yv7bpdvssbwm6f5qivxcvhwn17cpddc2760a7nk";
+    sha256 = "sha256-BoikYSsQZAv8WswIr5nmBsGmjZbTXaLAbdO2QtPvc7c=";
 
     extraPostFetch = ''
       mv $out ./all
@@ -45,19 +45,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 {
@@ -66,7 +53,7 @@ python3.pkgs.buildPythonApplication {
 
   src = fetchurl {
     url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
-    sha256 = "188r4zji985z8pm9b942xhmvv174yndk6jxagxl7ljk03wl2wiwi";
+    sha256 = "sha256-2SxSTH9P380j2KaCbkXjgmQO7K2z81AG6PMA/EMggXA=";
   };
 
   postUnpack = ''
@@ -74,27 +61,9 @@ python3.pkgs.buildPythonApplication {
     cp -ar ${tests} $sourceRoot/electrum/tests
   '';
 
-  postPatch = ''
-    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"
-  '';
-
-  patches = [
-    # trezorlib 0.13 compatibility
-    (fetchpatch {
-      url = "https://github.com/spesmilo/electrum/commit/97e61cfacdca374103e4184f0f9a07a0c5757afb.patch";
-      sha256 = "sha256-RGVBO9IskC+lQOHNGjrqH6EM/inNPJlcD9sSWedyT5E=";
-    })
-  ];
-
   nativeBuildInputs = lib.optionals enableQt [ wrapQtAppsHook ];
 
-  propagatedBuildInputs = with py.pkgs; [
+  propagatedBuildInputs = with python3.pkgs; [
     aiohttp
     aiohttp-socks
     aiorpcx
diff --git a/pkgs/applications/misc/eos-installer/default.nix b/pkgs/applications/misc/eos-installer/default.nix
index 02d629412a39a..8234a77ba1456 100644
--- a/pkgs/applications/misc/eos-installer/default.nix
+++ b/pkgs/applications/misc/eos-installer/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub
 , autoconf, autoconf-archive, automake, glib, intltool, libtool, pkg-config
-, gnome, gnupg, gtk3, udisks
+, gnome-desktop, gnupg, gtk3, udisks
 }:
 
 stdenv.mkDerivation rec {
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     autoconf autoconf-archive automake glib intltool libtool pkg-config
   ];
-  buildInputs = [ gnome.gnome-desktop gtk3 udisks ];
+  buildInputs = [ gnome-desktop gtk3 udisks ];
 
   preConfigure = ''
     ./autogen.sh
diff --git a/pkgs/applications/misc/freeplane/default.nix b/pkgs/applications/misc/freeplane/default.nix
index 37c4abb37646f..e2931698d1ac5 100644
--- a/pkgs/applications/misc/freeplane/default.nix
+++ b/pkgs/applications/misc/freeplane/default.nix
@@ -1,24 +1,31 @@
-{ stdenv, lib, fetchpatch, fetchFromGitHub, makeWrapper, writeText, runtimeShell, jdk11, perl, gradle_5, which }:
+{ stdenv, lib, fetchpatch, fetchFromGitHub, makeWrapper, writeText, runtimeShell, jdk11, perl, gradle_6, which }:
 
 let
   pname = "freeplane";
-  version = "1.9.5";
+  version = "1.9.14";
+
+  src_sha256 = "UiXtGJs+hibB63BaDDLXgjt3INBs+NfMsKcX2Q/kxKw=";
+  deps_outputHash = "tHhRaMIQK8ERuzm+qB9tRe2XSesL0bN3rComB9/qWgg=";
+  emoji_outputHash = "w96or4lpKCRK8A5HaB4Eakr7oVSiQALJ9tCJvKZaM34=";
+
+  jdk = jdk11;
+  gradle = gradle_6;
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "release-${version}";
-    sha256 = "qfhhmF3mePxcL4U8izkEmWaiaOLi4slsaymVnDoO3sY=";
+    sha256 = src_sha256;
   };
 
   deps = stdenv.mkDerivation {
     name = "${pname}-deps";
     inherit src;
 
-    nativeBuildInputs = [ jdk11 perl gradle_5 ];
+    nativeBuildInputs = [ jdk perl gradle ];
 
     buildPhase = ''
-      GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk11} --no-daemon jar
+      GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk} --no-daemon jar
     '';
 
     # Mavenize dependency paths
@@ -31,7 +38,7 @@ let
 
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "xphTzaSXTGpP7vI/t4oIiv1ZpbekG2dFRzyl3ub6qnA=";
+    outputHash = deps_outputHash;
   };
 
   # Point to our local deps repo
@@ -60,16 +67,14 @@ let
     }
   '';
 
-  # downloaded from unicode.org and twemoji.maxcdn.com by code in freeplane/emoji.gradle
-  # the below hash is for versions of freeplane that use twemoji 12.1.4, and emoji 12.1
   emoji = stdenv.mkDerivation rec {
     name = "${pname}-emoji";
     inherit src;
 
-    nativeBuildInputs = [ jdk11 gradle_5 ];
+    nativeBuildInputs = [ jdk gradle ];
 
     buildPhase = ''
-      GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk11} --no-daemon --offline --init-script ${gradleInit} emojiGraphicsClasses emojiListClasses
+      GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk} --no-daemon --offline --init-script ${gradleInit} :freeplane:downloadEmoji
     '';
 
     installPhase = ''
@@ -80,19 +85,19 @@ let
 
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "0zikbakbr2fhyv4h4h52ajhznjka0hg6hiqfy1528a39i6psipn3";
+    outputHash = emoji_outputHash;
   };
 
 in stdenv.mkDerivation rec {
   inherit pname version src;
 
-  nativeBuildInputs = [ makeWrapper jdk11 gradle_5 ];
+  nativeBuildInputs = [ makeWrapper jdk gradle ];
 
   buildPhase = ''
     mkdir -p -- ./freeplane/build/emoji/{txt,resources/images}
     cp ${emoji}/emoji/txt/emojilist.txt ./freeplane/build/emoji/txt/emojilist.txt
     cp -r ${emoji}/resources/images/emoji ./freeplane/build/emoji/resources/images/emoji
-    GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk11} --no-daemon --offline --init-script ${gradleInit} -x test -x :freeplane:downloadEmoji build
+    GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk} --no-daemon --offline --init-script ${gradleInit} -x test -x :freeplane:downloadEmoji build
   '';
 
   installPhase = ''
@@ -102,8 +107,8 @@ in stdenv.mkDerivation rec {
     cp -a ./BIN/. $out/share/${pname}
     makeWrapper $out/share/${pname}/${pname}.sh $out/bin/${pname} \
       --set FREEPLANE_BASE_DIR $out/share/${pname} \
-      --set JAVA_HOME ${jdk11} \
-      --prefix PATH : ${lib.makeBinPath [ jdk11 which ]}
+      --set JAVA_HOME ${jdk} \
+      --prefix PATH : ${lib.makeBinPath [ jdk which ]}
     runHook postInstall
   '';
 
diff --git a/pkgs/applications/misc/fuzzel/default.nix b/pkgs/applications/misc/fuzzel/default.nix
index 5668006dfd3fb..d697e8412adc7 100644
--- a/pkgs/applications/misc/fuzzel/default.nix
+++ b/pkgs/applications/misc/fuzzel/default.nix
@@ -60,6 +60,8 @@ stdenv.mkDerivation rec {
     "-Dsvg-backend=${withSVGBackend}"
   ];
 
+  CFLAGS = "-Wno-error=comment"; # https://gitlab.gnome.org/GNOME/librsvg/-/issues/856
+
   meta = with lib; {
     description = "Wayland-native application launcher, similar to rofi’s drun mode";
     homepage = "https://codeberg.org/dnkl/fuzzel";
diff --git a/pkgs/applications/misc/gnome-solanum/default.nix b/pkgs/applications/misc/gnome-solanum/default.nix
new file mode 100644
index 0000000000000..e7d2489bdb540
--- /dev/null
+++ b/pkgs/applications/misc/gnome-solanum/default.nix
@@ -0,0 +1,80 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, fetchpatch
+, rustPlatform
+, desktop-file-utils
+, meson
+, ninja
+, pkg-config
+, wrapGAppsHook
+, python3
+, git
+, glib
+, gtk4
+, gst_all_1
+, libadwaita
+}:
+
+stdenv.mkDerivation rec {
+  pname = "solanum";
+  version = "3.0.1";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "World";
+    repo = "Solanum";
+    rev = "v${version}";
+    sha256 = "0cga6cz6jfbipzp008rjznkz7844licdc34lk133fcyqil0cg0ap";
+  };
+
+  patches = [
+    # Fix build with meson 0.61, can be removed on next update
+    # https://gitlab.gnome.org/World/Solanum/-/merge_requests/49
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/World/Solanum/-/commit/e5c5d88f95b0fe4145c9ed346b8ca98a613d7cfe.patch";
+      sha256 = "j84P9KzMr0o38u4OD4ZPst+yqw1LCRoa1awT3nelFDI=";
+    })
+  ];
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    name = "${pname}-${version}";
+    sha256 = "10kzv98b2fiql9f6n2fv6lrgq4fdzxq0h4nzcq9jrw3fsggzl0wb";
+  };
+
+  postPatch = ''
+    patchShebangs build-aux
+  '';
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    wrapGAppsHook
+    python3
+    git
+    desktop-file-utils
+  ] ++ (with rustPlatform; [
+    cargoSetupHook
+    rust.cargo
+    rust.rustc
+  ]);
+
+  buildInputs = [
+    glib
+    gtk4
+    libadwaita
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-bad
+  ];
+
+  meta = with lib; {
+    homepage = "https://gitlab.gnome.org/World/Solanum";
+    description = "A pomodoro timer for the GNOME desktop";
+    maintainers = with maintainers; [ linsui ];
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/gofu/default.nix b/pkgs/applications/misc/gofu/default.nix
index 13cb7129a00be..ea3cbde3adb7d 100644
--- a/pkgs/applications/misc/gofu/default.nix
+++ b/pkgs/applications/misc/gofu/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gofu";
-  version = "unstable-2021-09-11";
+  version = "unstable-2022-04-01";
 
   src = fetchFromGitHub {
     owner = "majewsky";
     repo = pname;
-    rev = "cb398f58a5cb4f3e858fe60e84debde6ab58f7c8";
-    sha256 = "sha256-R8Pr8SyLeoTaYKKV+PzHDPi1/RY4j7pkUbW8kE4ydBU=";
+    rev = "be0e424eecec3fec19ba3518f8fd1bb07b6908dc";
+    sha256 = "sha256-jMOmvCsuRtL9EgPicdNEksVgFepL/JZA53o2wzr8uzQ=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/misc/gosmore/default.nix b/pkgs/applications/misc/gosmore/default.nix
index 854fec8642a8e..bd87e7b4aeb66 100644
--- a/pkgs/applications/misc/gosmore/default.nix
+++ b/pkgs/applications/misc/gosmore/default.nix
@@ -1,10 +1,8 @@
 { lib, stdenv, fetchsvn, libxml2, gtk2, curl, pkg-config } :
 
-let
+stdenv.mkDerivation rec {
+  pname = "gosmore";
   version = "31801";
-in
-stdenv.mkDerivation {
-  name = "gosmore-r${version}";
   # the gosmore svn repository does not lock revision numbers of its externals
   # so we explicitly disable them to avoid breaking the hash
   # especially as the externals appear to be unused
diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix
index ac9b56f48c11a..b4e8e7151c150 100644
--- a/pkgs/applications/misc/gpxsee/default.nix
+++ b/pkgs/applications/misc/gpxsee/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gpxsee";
-  version = "10.4";
+  version = "10.5";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = version;
-    sha256 = "sha256-3AwUfx8IIWJO4uVAhXJE5Oola+60VUpXUwmALqJo2vw=";
+    sha256 = "sha256-TvOdyzWvGSdl8aSA+pAOpPVpQzK9POmqtClqdXAMsws=";
   };
 
   patches = (substituteAll {
diff --git a/pkgs/applications/misc/gsimplecal/default.nix b/pkgs/applications/misc/gsimplecal/default.nix
index 7068954baac89..c751f4c28026a 100644
--- a/pkgs/applications/misc/gsimplecal/default.nix
+++ b/pkgs/applications/misc/gsimplecal/default.nix
@@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ automake autoconf gtk3 ];
+  nativeBuildInputs = [ pkg-config automake autoconf ];
+  buildInputs = [ gtk3 ];
 
   preConfigure = "./autogen.sh";
 
diff --git a/pkgs/applications/misc/gtk2fontsel/default.nix b/pkgs/applications/misc/gtk2fontsel/default.nix
index d635fa8d86575..b622d9f19cca7 100644
--- a/pkgs/applications/misc/gtk2fontsel/default.nix
+++ b/pkgs/applications/misc/gtk2fontsel/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ stdenv gtk2 ];
+  buildInputs = [ gtk2 ];
 
   preferLocalBuild = true;
 
diff --git a/pkgs/applications/misc/koreader/default.nix b/pkgs/applications/misc/koreader/default.nix
index 21cdc9d51da89..0a082cce32749 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.03";
+  version = "2022.03.1";
 
   src = fetchurl {
     url =
       "https://github.com/koreader/koreader/releases/download/v${version}/koreader-${version}-amd64.deb";
-    sha256 = "sha256-xR92sCeP7wcYukUGxoG9LQyk4k/qkmnxqmjY4Umt05I=";
+    sha256 = "sha256-ZoqITWPR60G4xY9InrtIY9rCWUk0PidGFZokHLWl5ps=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/applications/misc/lighthouse/default.nix b/pkgs/applications/misc/lighthouse/default.nix
index e9aa79dcdd83c..01ffb7a9ffe81 100644
--- a/pkgs/applications/misc/lighthouse/default.nix
+++ b/pkgs/applications/misc/lighthouse/default.nix
@@ -3,8 +3,8 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "lighthouse-${date}";
-  date = "2016-07-20";
+  pname = "lighthouse";
+  version = "unstable-2016-07-20";
 
   src = fetchFromGitHub {
     owner = "emgram769";
diff --git a/pkgs/applications/misc/logseq/default.nix b/pkgs/applications/misc/logseq/default.nix
index 81c9e9d55156a..153e50f9a873d 100644
--- a/pkgs/applications/misc/logseq/default.nix
+++ b/pkgs/applications/misc/logseq/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "logseq";
-  version = "0.6.3";
+  version = "0.6.5";
 
   src = fetchurl {
     url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
-    sha256 = "o3tBHk7bauNczz6lPS3lV0mpYEaBa0lh/mAJKJM2eWU=";
+    sha256 = "WKROcCv0IzRnQd74j5Iget5jlfyDbeJ/PXgZmSNrSsQ=";
     name = "${pname}-${version}.AppImage";
   };
 
diff --git a/pkgs/applications/misc/lutris/default.nix b/pkgs/applications/misc/lutris/default.nix
index fed9d245c190e..0446c694fe0d1 100644
--- a/pkgs/applications/misc/lutris/default.nix
+++ b/pkgs/applications/misc/lutris/default.nix
@@ -4,6 +4,7 @@
 
   # build inputs
 , atk
+, file
 , gdk-pixbuf
 , glib-networking
 , gnome-desktop
@@ -17,7 +18,7 @@
 
   # check inputs
 , xvfb-run
-, nose
+, nose2
 , flake8
 
   # python dependencies
@@ -83,13 +84,13 @@ let
 in
 buildPythonApplication rec {
   pname = "lutris-original";
-  version = "0.5.9.1";
+  version = "0.5.10";
 
   src = fetchFromGitHub {
     owner = "lutris";
     repo = "lutris";
     rev = "v${version}";
-    sha256 = "sha256-ykPJneCKbFKv0x/EDo9PkRb1LkMeFeYzTDmvE3ShNe0=";
+    sha256 = "sha256-PrnULCdQXNZ9OTa00NVyqiTdKRRkAYBcDj7lMwEqkw4=";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
@@ -103,6 +104,7 @@ buildPythonApplication rec {
     libnotify
     pango
     webkitgtk
+    python_magic
   ] ++ gstDeps;
 
   propagatedBuildInputs = [
@@ -118,7 +120,13 @@ buildPythonApplication rec {
     python_magic
   ];
 
-  checkInputs = [ xvfb-run nose flake8 ] ++ requiredTools;
+  postPatch = ''
+    substituteInPlace lutris/util/magic.py \
+      --replace "'libmagic.so.1'" "'${lib.getLib file}/lib/libmagic.so.1'"
+  '';
+
+
+  checkInputs = [ xvfb-run nose2 flake8 ] ++ requiredTools;
   preCheck = "export HOME=$PWD";
   checkPhase = ''
     runHook preCheck
@@ -126,12 +134,6 @@ buildPythonApplication rec {
     runHook postCheck
   '';
 
-  # unhardcodes xrandr and fixes nosetests
-  # upstream in progress: https://github.com/lutris/lutris/pull/3754
-  patches = [
-    ./fixes.patch
-  ];
-
   # avoid double wrapping
   dontWrapGApps = true;
   makeWrapperArgs = [
diff --git a/pkgs/applications/misc/lutris/fhsenv.nix b/pkgs/applications/misc/lutris/fhsenv.nix
index 88b3d253114d1..0ff5b4a6a625b 100644
--- a/pkgs/applications/misc/lutris/fhsenv.nix
+++ b/pkgs/applications/misc/lutris/fhsenv.nix
@@ -7,7 +7,7 @@
 let
 
   qt5Deps = pkgs: with pkgs.qt5; [ qtbase qtmultimedia ];
-  gnomeDeps = pkgs: with pkgs; [ gnome.zenity gtksourceview gnome.gnome-desktop gnome.libgnome-keyring webkitgtk ];
+  gnomeDeps = pkgs: with pkgs; [ gnome.zenity gtksourceview gnome-desktop gnome.libgnome-keyring webkitgtk ];
   xorgDeps = pkgs: with pkgs.xorg; [
     libX11 libXrender libXrandr libxcb libXmu libpthreadstubs libXext libXdmcp
     libXxf86vm libXinerama libSM libXv libXaw libXi libXcursor libXcomposite
diff --git a/pkgs/applications/misc/lutris/fixes.patch b/pkgs/applications/misc/lutris/fixes.patch
deleted file mode 100644
index 42482453f6a47..0000000000000
--- a/pkgs/applications/misc/lutris/fixes.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 821a9500..75affa77 100644
---- a/Makefile
-+++ b/Makefile
-@@ -25,12 +25,12 @@ release: build-source upload upload-ppa
- 
- test:
- 	rm tests/fixtures/pga.db -f
--	nosetests3
-+	nosetests
- 
- cover:
- 	rm tests/fixtures/pga.db -f
- 	rm tests/coverage/ -rf
--	nosetests3 --with-coverage --cover-package=lutris --cover-html --cover-html-dir=tests/coverage
-+	nosetests --with-coverage --cover-package=lutris --cover-html --cover-html-dir=tests/coverage
- 
- pgp-renew:
- 	osc signkey --extend home:strycore
-diff --git a/lutris/util/graphics/xrandr.py b/lutris/util/graphics/xrandr.py
-index f788c94c..5544dbe9 100644
---- a/lutris/util/graphics/xrandr.py
-+++ b/lutris/util/graphics/xrandr.py
-@@ -5,6 +5,7 @@ from collections import namedtuple
- 
- from lutris.util.log import logger
- from lutris.util.system import read_process_output
-+from lutris.util.linux import LINUX_SYSTEM
- 
- Output = namedtuple("Output", ("name", "mode", "position", "rotation", "primary", "rate"))
- 
-@@ -12,7 +13,7 @@ Output = namedtuple("Output", ("name", "mode", "position", "rotation", "primary"
- def _get_vidmodes():
-     """Return video modes from XrandR"""
-     logger.debug("Retrieving video modes from XrandR")
--    return read_process_output(["xrandr"]).split("\n")
-+    return read_process_output([LINUX_SYSTEM.get("xrandr")]).split("\n")
- 
- 
- def get_outputs():  # pylint: disable=too-many-locals
-@@ -76,7 +77,7 @@ def turn_off_except(display):
-     for output in get_outputs():
-         if output.name != display:
-             logger.info("Turning off %s", output[0])
--            subprocess.Popen(["xrandr", "--output", output.name, "--off"])
-+            subprocess.Popen([LINUX_SYSTEM.get("xrandr"), "--output", output.name, "--off"])
- 
- 
- def get_resolutions():
-@@ -111,7 +112,7 @@ def change_resolution(resolution):
-             logger.warning("Resolution %s doesn't exist.", resolution)
-         else:
-             logger.info("Changing resolution to %s", resolution)
--            subprocess.Popen(["xrandr", "-s", resolution])
-+            subprocess.Popen([LINUX_SYSTEM.get("xrandr"), "-s", resolution])
-     else:
-         for display in resolution:
-             logger.debug("Switching to %s on %s", display.mode, display.name)
-@@ -128,7 +129,7 @@ def change_resolution(resolution):
-             logger.info("Switching resolution of %s to %s", display.name, display.mode)
-             subprocess.Popen(
-                 [
--                    "xrandr",
-+                    LINUX_SYSTEM.get("xrandr"),
-                     "--output",
-                     display.name,
-                     "--mode",
diff --git a/pkgs/applications/misc/metadata-cleaner/default.nix b/pkgs/applications/misc/metadata-cleaner/default.nix
index 9602fee5b5c0c..a92f79845134c 100644
--- a/pkgs/applications/misc/metadata-cleaner/default.nix
+++ b/pkgs/applications/misc/metadata-cleaner/default.nix
@@ -18,7 +18,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "metadata-cleaner";
-  version = "2.1.5";
+  version = "2.2.1";
 
   format = "other";
 
@@ -26,7 +26,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "rmnvgr";
     repo = "metadata-cleaner";
     rev = "v${version}";
-    hash = "sha256-G7Azeh8+OQILoYEmlIeacoDzN0NRt5NTGavYM9CH8WA=";
+    hash = "sha256-clCCVOoiInaxg9++GiHMLaD+k0gAvt3oOmqQ/a+WgCE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/mucommander/default.nix b/pkgs/applications/misc/mucommander/default.nix
index 648b4951504f9..681e2d3eb4e69 100644
--- a/pkgs/applications/misc/mucommander/default.nix
+++ b/pkgs/applications/misc/mucommander/default.nix
@@ -2,7 +2,6 @@
 
 let
   version = "0.9.3-3";
-  name = "mucommander-${version}";
 
   src = fetchFromGitHub {
     owner = "mucommander";
@@ -34,8 +33,8 @@ let
 
   # fake build to pre-download deps into fixed-output derivation
   deps = stdenv.mkDerivation {
-    name = "${name}-deps";
-    inherit src postPatch;
+    pname = "mucommander-deps";
+    inherit version src postPatch;
     nativeBuildInputs = [ gradle_6 perl ];
     buildPhase = ''
       export GRADLE_USER_HOME=$(mktemp -d)
@@ -53,7 +52,8 @@ let
   };
 
 in stdenv.mkDerivation {
-  inherit name src postPatch;
+  pname = "mucommander";
+  inherit version src postPatch;
   nativeBuildInputs = [ gradle_6 perl makeWrapper ];
 
   buildPhase = ''
diff --git a/pkgs/applications/misc/mupdf/1.17.nix b/pkgs/applications/misc/mupdf/1.17.nix
index 95e9c7c3307ac..ec978b9fc3a2b 100644
--- a/pkgs/applications/misc/mupdf/1.17.nix
+++ b/pkgs/applications/misc/mupdf/1.17.nix
@@ -82,7 +82,6 @@ in stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://mupdf.com";
-    repositories.git = "git://git.ghostscript.com/mupdf.git";
     description = "Lightweight PDF, XPS, and E-book viewer and toolkit written in portable C";
     license = licenses.agpl3Plus;
     maintainers = with maintainers; [ vrthra fpletz ];
diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix
index 4877051fd9824..99812bcdc8c9b 100644
--- a/pkgs/applications/misc/mupdf/default.nix
+++ b/pkgs/applications/misc/mupdf/default.nix
@@ -2,6 +2,8 @@
 , lib
 , fetchurl
 , fetchpatch
+, copyDesktopItems
+, makeDesktopItem
 , desktopToDarwinBundle
 , pkg-config
 , freetype
@@ -56,8 +58,9 @@ stdenv.mkDerivation rec {
     ++ lib.optionals (!enableX11) [ "HAVE_X11=no" ]
     ++ lib.optionals (!enableGL) [ "HAVE_GLUT=no" ];
 
-  nativeBuildInputs =
-    [ pkg-config ] ++ lib.optional stdenv.isDarwin desktopToDarwinBundle;
+  nativeBuildInputs = [ pkg-config ]
+    ++ lib.optional (enableGL || enableX11) copyDesktopItems
+    ++ lib.optional stdenv.isDarwin desktopToDarwinBundle;
 
   buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg gumbo ]
     ++ lib.optional stdenv.isDarwin xcbuild
@@ -77,6 +80,30 @@ stdenv.mkDerivation rec {
     rm -rf thirdparty/{curl,freetype,glfw,harfbuzz,jbig2dec,libjpeg,openjpeg,zlib}
   '';
 
+  desktopItems = [
+    (makeDesktopItem {
+      name = pname;
+      desktopName = pname;
+      comment = meta.description;
+      icon = "mupdf";
+      exec = "${pname} %f";
+      terminal = false;
+      mimeTypes = [
+        "application/epub+zip"
+        "application/oxps"
+        "application/pdf"
+        "application/vnd.ms-xpsdocument"
+        "application/x-cbz"
+        "application/x-pdf"
+      ];
+      categories = [ "Graphics" "Viewer" ];
+      keywords = [
+        "mupdf" "comic" "document" "ebook" "viewer"
+        "cbz" "epub" "fb2" "pdf" "xps"
+      ];
+    })
+  ];
+
   postInstall = ''
     mkdir -p "$out/lib/pkgconfig"
     cat >"$out/lib/pkgconfig/mupdf.pc" <<EOF
@@ -92,26 +119,19 @@ stdenv.mkDerivation rec {
     EOF
 
     moveToOutput "bin" "$bin"
-  '' + lib.optionalString enableX11 ''
+  '' + lib.optionalString (enableX11 || enableGL) ''
+    mkdir -p $bin/share/icons/hicolor/48x48/apps
+    cp docs/logo/mupdf.png $bin/share/icons/hicolor/48x48/apps
+  '' + (if enableGL then ''
+    ln -s "$bin/bin/mupdf-gl" "$bin/bin/mupdf"
+  '' else lib.optionalString (enableX11) ''
     ln -s "$bin/bin/mupdf-x11" "$bin/bin/mupdf"
-    mkdir -p $bin/share/applications
-    cat > $bin/share/applications/mupdf.desktop <<EOF
-    [Desktop Entry]
-    Type=Application
-    Version=1.0
-    Name=mupdf
-    Comment=PDF viewer
-    Exec=$bin/bin/mupdf-x11 %f
-    Terminal=false
-    MimeType=application/pdf;application/x-pdf;application/x-cbz;application/oxps;application/vnd.ms-xpsdocument;application/epub+zip
-    EOF
-  '';
+  '');
 
   enableParallelBuilding = true;
 
   meta = with lib; {
     homepage = "https://mupdf.com";
-    repositories.git = "git://git.ghostscript.com/mupdf.git";
     description = "Lightweight PDF, XPS, and E-book viewer and toolkit written in portable C";
     license = licenses.agpl3Plus;
     maintainers = with maintainers; [ vrthra fpletz ];
diff --git a/pkgs/applications/misc/nix-tour/default.nix b/pkgs/applications/misc/nix-tour/default.nix
index 7eed625f1e900..b7485255b8a86 100644
--- a/pkgs/applications/misc/nix-tour/default.nix
+++ b/pkgs/applications/misc/nix-tour/default.nix
@@ -1,35 +1,50 @@
-{ lib, stdenv, fetchFromGitHub, electron, runtimeShell } :
+{ lib
+, stdenv
+, fetchFromGitHub
+, electron
+, runtimeShell
+, makeWrapper
+, copyDesktopItems
+, makeDesktopItem
+}:
 
 stdenv.mkDerivation rec {
   pname = "nix-tour";
-  version = "0.0.1";
-
-  buildInputs = [ electron ];
+  version = "unstable-2022-01-03";
 
   src = fetchFromGitHub {
     owner = "nixcloud";
     repo = "tour_of_nix";
-    rev = "v${version}";
-    sha256 = "sha256-a/P2ZMc9OpM4PxRFklSO6oVCc96AGWkxtGF/EmnfYSU=";
+    rev = "6a6784983e6dc121574b97eb9b1d03592c8cb9a7";
+    sha256 = "sha256-BhQz59wkwwY0ShXzqUD6MQl4NE/jUik5RbLzseEc5Bc=";
   };
 
+  nativeBuildInputs = [ makeWrapper copyDesktopItems ];
+  buildInputs = [ electron ];
+
   installPhase = ''
-    mkdir -p $out/bin
-    mkdir -p $out/share
-    cp -R * $out/share
-    chmod 0755 $out/share/ -R
-    echo "#!${runtimeShell}" > $out/bin/nix-tour
-    echo "cd $out/share/" >> $out/bin/nix-tour
-    echo "${electron}/bin/electron $out/share/electron-main.js" >> $out/bin/nix-tour
-    chmod 0755 $out/bin/nix-tour
+    install -d $out/bin $out/share/nix-tour
+    cp -R * $out/share/nix-tour
+    makeWrapper ${electron}/bin/electron $out/bin/nix-tour \
+      --add-flags $out/share/nix-tour/electron-main.js
   '';
 
+  desktopItems = [
+    (makeDesktopItem {
+      name = pname;
+      desktopName = "Tour of Nix";
+      genericName = "Tour of Nix";
+      comment =
+        "Interactive programming guide dedicated to the nix programming language";
+      categories = [ "Development" "Documentation" ];
+      exec = "nix-tour";
+    })
+  ];
+
   meta = with lib; {
     description = "'the tour of nix' from nixcloud.io/tour as offline version";
     homepage = "https://nixcloud.io/tour";
     license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ qknight ];
+    maintainers = with maintainers; [ qknight yuu ];
   };
-
 }
diff --git a/pkgs/applications/misc/nut/default.nix b/pkgs/applications/misc/nut/default.nix
index 4694c243b3915..41f46ff1c003d 100644
--- a/pkgs/applications/misc/nut/default.nix
+++ b/pkgs/applications/misc/nut/default.nix
@@ -49,7 +49,6 @@ stdenv.mkDerivation rec {
       It uses a layered approach to connect all of the parts.
     '';
     homepage = "https://networkupstools.org/";
-    repositories.git = "https://github.com/networkupstools/nut.git";
     platforms = platforms.linux;
     maintainers = [ maintainers.pierron ];
     license = with licenses; [ gpl1Plus gpl2Plus gpl3Plus ];
diff --git a/pkgs/applications/misc/obsidian/default.nix b/pkgs/applications/misc/obsidian/default.nix
index 67a0939ddab97..3dad5c846952b 100644
--- a/pkgs/applications/misc/obsidian/default.nix
+++ b/pkgs/applications/misc/obsidian/default.nix
@@ -12,7 +12,7 @@
 let
   inherit (stdenv.hostPlatform) system;
   pname = "obsidian";
-  version = "0.13.31";
+  version = "0.14.2";
   meta = with lib; {
     description = "A powerful knowledge base that works on top of a local folder of plain text Markdown files";
     homepage = "https://obsidian.md";
@@ -21,23 +21,12 @@ let
     maintainers = with maintainers; [ conradmearns zaninime opeik ];
   };
 
+  filename = if stdenv.isDarwin then "Obsidian-${version}-universal.dmg" else "obsidian-${version}.tar.gz";
   src = fetchurl {
-    url = "https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/obsidian-${version}${extension}";
-    inherit sha256;
+    url = "https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/${filename}";
+    sha256 = if stdenv.isDarwin then "128kgqkf54ljkglwqa6i0qnfqhhmsv7hwbaqnml95n5dzyxrbm4s" else "00gip6pvkbywywlx71j87sxyh8yhkd36i1ydncbpnhsplr6smsq3";
   };
 
-  sha256 = rec {
-    x86_64-linux = "v3Zm5y8V1KyWDQeJxhryBojz56OTT7gfT+pLGDUD4zs=";
-    x86_64-darwin = "m/81uuDhMJJ1tHTUPww+xNdwsaYCOmeNtbjdwMAwhBU=";
-    aarch64-darwin = x86_64-darwin;
-  }.${system};
-
-  extension = rec {
-    x86_64-linux = ".tar.gz";
-    x86_64-darwin = "-universal.dmg";
-    aarch64-darwin = x86_64-darwin;
-  }.${system};
-
   linux = stdenv.mkDerivation rec {
     icon = fetchurl {
       url = "https://forum.obsidian.md/uploads/default/original/1X/bf119bd48f748f4fd2d65f2d1bb05d3c806883b5.png";
@@ -49,8 +38,9 @@ let
       desktopName = "Obsidian";
       comment = "Knowledge base";
       icon = "obsidian";
-      exec = "obsidian";
+      exec = "obsidian %u";
       categories = [ "Office" ];
+      mimeTypes = [ "x-scheme-handler/obsidian" ];
     };
 
     inherit pname version src;
diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix
index eda78c54a10ee..4dc6f87631894 100644
--- a/pkgs/applications/misc/octoprint/default.nix
+++ b/pkgs/applications/misc/octoprint/default.nix
@@ -34,6 +34,47 @@ let
         (mkOverride "markdown" "3.1.1" "2e50876bcdd74517e7b71f3e7a76102050edec255b3983403f1a63e7c8a41e7a")
         (mkOverride "markupsafe" "1.1.1" "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b")
 
+        # black uses hash, not sha256 identifier. Newer black version requires newer click version
+        (
+          self: super: {
+            black = super.black.overridePythonAttrs (oldAttrs: rec {
+              version = "21.12b0";
+              src = oldAttrs.src.override {
+                inherit version;
+                hash = "sha256-d7gPaTpWni5SeVhFljTxjfmwuiYluk4MLV2lvkLm8rM=";
+              };
+              doCheck = false;
+            });
+          }
+        )
+
+        # tests need network
+        (
+          self: super: {
+            curio = super.curio.overridePythonAttrs (oldAttrs: rec {
+              disabledTests = [
+                "test_timeout"
+                "test_ssl_outgoing"
+              ];
+            });
+          }
+        )
+
+        # tests need network
+        (
+          self: super: {
+            trio = super.trio.overridePythonAttrs (oldAttrs: rec {
+              disabledTests = [
+                "test_local_address_real"
+              ];
+              disabledTestPaths = [
+                "trio/tests/test_exports.py"
+                "trio/tests/test_socket.py"
+              ];
+            });
+          }
+        )
+
         # Requires flask<2, cannot mkOverride because tests need to be disabled
         (
           self: super: {
@@ -400,7 +441,7 @@ let
                 homepage = "https://octoprint.org/";
                 description = "The snappy web interface for your 3D printer";
                 license = licenses.agpl3Only;
-                maintainers = with maintainers; [ abbradar gebner WhittlesJr ];
+                maintainers = with maintainers; [ abbradar gebner WhittlesJr gador ];
               };
             };
           }
diff --git a/pkgs/applications/misc/orca/default.nix b/pkgs/applications/misc/orca/default.nix
index d0b2c85f10783..63923188db7ba 100644
--- a/pkgs/applications/misc/orca/default.nix
+++ b/pkgs/applications/misc/orca/default.nix
@@ -34,13 +34,13 @@
 
 buildPythonApplication rec {
   pname = "orca";
-  version = "41.2";
+  version = "42.0";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "1/Jy6ps3+9ZFTkAh5GU4okcibhwKxXDW4rhOlxmqKv4=";
+    sha256 = "LCUXmrQbJgsY8f+Jm+uv5olDi0nf/SEd78l2olCT9zo=";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/organicmaps/default.nix b/pkgs/applications/misc/organicmaps/default.nix
new file mode 100644
index 0000000000000..7e320e5f367aa
--- /dev/null
+++ b/pkgs/applications/misc/organicmaps/default.nix
@@ -0,0 +1,91 @@
+{ lib
+, mkDerivation
+, stdenv
+, fetchFromGitHub
+, cmake
+, ninja
+, pkg-config
+, which
+, python3
+, rsync
+, makeWrapper
+, qtbase
+, qtsvg
+, libGLU
+, libGL
+, zlib
+, icu
+, freetype
+}:
+
+mkDerivation rec {
+  pname = "organicmaps";
+  version = "2022.03.23-4-android";
+
+  src = fetchFromGitHub {
+    owner = "organicmaps";
+    repo = "organicmaps";
+    rev = version;
+    sha256 = "sha256-4VBsHq8z/odD7Nrk9e0sYMEBBLeTAHsWsdgPIN1KVZo=";
+    fetchSubmodules = true;
+  };
+
+  postPatch = ''
+    # Disable certificate check. It's dependent on time
+    echo "exit 0" > tools/unix/check_cert.sh
+
+    # crude fix for https://github.com/organicmaps/organicmaps/issues/1862
+    echo "echo ${lib.replaceStrings ["." "-" "android"] ["" "" ""] version}" > tools/unix/version.sh
+  '';
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+    pkg-config
+    which
+    python3
+    rsync
+    makeWrapper
+  ];
+
+  # Most dependencies are vendored
+  buildInputs = [
+    qtbase
+    qtsvg
+    libGLU
+    libGL
+    zlib
+    icu
+    freetype
+  ];
+
+  # Yes, this is PRE configure. The configure phase uses cmake
+  preConfigure = ''
+    bash ./configure.sh
+  '';
+
+  postInstall = ''
+    install -Dm755 OMaps $out/bin/OMaps
+    # Tell the program that the read-only and the read-write data locations
+    # are different, and create the read-write one.
+    wrapProgram $out/bin/OMaps \
+      --add-flags "-resources_path $out/share/organicmaps/data" \
+      --add-flags '-data_path "''${XDG_DATA_HOME:-''${HOME}/.local/share}/OMaps"' \
+      --run 'mkdir -p "''${XDG_DATA_HOME:-''${HOME}/.local/share}/OMaps"'
+
+    mkdir -p $out/share/organicmaps
+    cp -r ../data $out/share/organicmaps/data
+    install -Dm644 ../qt/res/logo.png $out/share/icons/hicolor/96x96/apps/organicmaps.png
+    install -Dm644 ../qt/res/OrganicMaps.desktop $out/share/applications/OrganicMaps.desktop
+  '';
+
+  meta = with lib; {
+    homepage = "https://organicmaps.app/";
+    description = "Detailed Offline Maps for Travellers, Tourists, Hikers and Cyclists";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fgaz ];
+    platforms = platforms.all;
+    mainProgram = "OMaps";
+    broken = stdenv.isDarwin; # "invalid application of 'sizeof' to a function type"
+  };
+}
diff --git a/pkgs/applications/misc/p2pool/default.nix b/pkgs/applications/misc/p2pool/default.nix
index f888d162fc446..cb0b53e887b2f 100644
--- a/pkgs/applications/misc/p2pool/default.nix
+++ b/pkgs/applications/misc/p2pool/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "p2pool";
-  version = "1.8";
+  version = "1.9";
 
   src = fetchFromGitHub {
     owner = "SChernykh";
     repo = "p2pool";
     rev = "v${version}";
-    sha256 = "sha256-cQd3dtih7C+pEmkvlrsYTJtQWBVVMiFbtNQUM0Ck3tg=";
+    sha256 = "sha256-nqJ0F99QjrpwXHRPxZ7kLCYA9VJWGH2ahcr/MBQrhyY=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/misc/pcmanx-gtk2/default.nix b/pkgs/applications/misc/pcmanx-gtk2/default.nix
index 484b9d3b4073b..dffbd2079aead 100644
--- a/pkgs/applications/misc/pcmanx-gtk2/default.nix
+++ b/pkgs/applications/misc/pcmanx-gtk2/default.nix
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "0fbwd149wny67rfhczz4cbh713a1qnswjiz7b6c2bxfcwh51f9rc";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ gtk2 libXft intltool automake autoconf libtool ];
+  nativeBuildInputs = [ pkg-config automake autoconf ];
+  buildInputs = [ gtk2 libXft intltool libtool ];
 
   preConfigure = ''
     ./autogen.sh
diff --git a/pkgs/applications/misc/pdfdiff/default.nix b/pkgs/applications/misc/pdfdiff/default.nix
index 20a9533849719..e21b06bf25cac 100644
--- a/pkgs/applications/misc/pdfdiff/default.nix
+++ b/pkgs/applications/misc/pdfdiff/default.nix
@@ -1,9 +1,7 @@
 { lib, python2Packages, fetchurl, xpdf }:
-let
-  py = python2Packages;
-in
-py.buildPythonApplication rec {
-  name = "pdfdiff-${version}";
+
+python2Packages.buildPythonApplication rec {
+  pname = "pdfdiff";
   version = "0.92";
 
   src = fetchurl {
diff --git a/pkgs/applications/misc/pdfpc/default.nix b/pkgs/applications/misc/pdfpc/default.nix
index ec78c43dbe041..9bf5907a23be1 100644
--- a/pkgs/applications/misc/pdfpc/default.nix
+++ b/pkgs/applications/misc/pdfpc/default.nix
@@ -3,13 +3,12 @@
 , webkitgtk, discount, json-glib }:
 
 stdenv.mkDerivation rec {
-  name = "${product}-${version}";
-  product = "pdfpc";
+  pname = "pdfpc";
   version = "4.5.0";
 
   src = fetchFromGitHub {
-    repo = product;
-    owner = product;
+    repo = "pdfpc";
+    owner = "pdfpc";
     rev = "v${version}";
     sha256 = "0bmy51w6ypz927hxwp5g7wapqvzqmsi3w32rch6i3f94kg1152ck";
   };
diff --git a/pkgs/applications/misc/pdfslicer/default.nix b/pkgs/applications/misc/pdfslicer/default.nix
index 31bc471401592..ed20f460a1677 100644
--- a/pkgs/applications/misc/pdfslicer/default.nix
+++ b/pkgs/applications/misc/pdfslicer/default.nix
@@ -24,6 +24,12 @@ stdenv.mkDerivation rec {
     sha256 = "0sja0ddd9c8wjjpzk2ag8q1lxpj09adgmhd7wnsylincqnj2jyls";
   };
 
+  postPatch = ''
+    # Don't build tests, vendored catch doesn't build with latest glibc.
+    substituteInPlace CMakeLists.txt \
+      --replace "add_subdirectory (tests)" ""
+  '';
+
   nativeBuildInputs = [
     cmake
     gettext
diff --git a/pkgs/applications/misc/phoc/default.nix b/pkgs/applications/misc/phoc/default.nix
index 7acdcdf02c458..ee6c213fbf2c7 100644
--- a/pkgs/applications/misc/phoc/default.nix
+++ b/pkgs/applications/misc/phoc/default.nix
@@ -9,6 +9,7 @@
 , wrapGAppsHook
 , libinput
 , gnome
+, gnome-desktop
 , glib
 , gtk3
 , wayland
@@ -33,6 +34,12 @@ let
         url = "https://github.com/swaywm/wlroots/commit/66593071bc90a1cccaeedc636eb6f33c973f5362.patch";
         sha256 = "sha256-yKf/twdUzrII5IakH7AH6LGyPDo9Nl/gIB0pTThSTfY=";
       })
+      # xdg-activation: Allow to submit tokens
+      (fetchpatch {
+        name = "allow-to-submit-tokens.patch";
+        url = "https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/4c59f7d46a949548caa55805b00922f846d58525.patch";
+        sha256 = "sha256-1kUIt6lV3HXN2BBBER8sjYVLTvgqELdSeFullJjNGo8=";
+      })
       # xwayland: Allow to retrieve startup-id via _NET_STARTUP_INFO
       (fetchpatch {
         name = "allow-to-retrieve-startup-id-via-net-startup-info.patch";
@@ -43,7 +50,7 @@ let
   });
 in stdenv.mkDerivation rec {
   pname = "phoc";
-  version = "0.12.0";
+  version = "0.13.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
@@ -51,7 +58,7 @@ in stdenv.mkDerivation rec {
     owner = "Phosh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kfMM/YjgAktpOKHNcxxl1FPVbgATPDNRhEJ/sVT1LYs=";
+    sha256 = "sha256-65u59S6ntvkoQUO5BvkHZVcbj6cHIU4CgHWjzFo6s94=";
   };
 
   nativeBuildInputs = [
@@ -68,7 +75,7 @@ in stdenv.mkDerivation rec {
     libinput
     glib
     gtk3
-    gnome.gnome-desktop
+    gnome-desktop
     # For keybindings settings schemas
     gnome.mutter
     wayland
diff --git a/pkgs/applications/misc/qmetro/default.nix b/pkgs/applications/misc/qmetro/default.nix
index 70c41ff3142f6..2678f744f8ed5 100644
--- a/pkgs/applications/misc/qmetro/default.nix
+++ b/pkgs/applications/misc/qmetro/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, qmake4Hook, unzip, qt4 }:
 
 stdenv.mkDerivation rec {
-  name = "${project}-${version}";
-  project = "qmetro";
+  pname = "qmetro";
   version = "0.7.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/${project}/${name}.zip";
+    url = "mirror://sourceforge/qmetro/qmetro-${version}.zip";
     sha256 = "1zdj87lzcr43gr2h05g17z31pd22n5kxdwbvx7rx656rmhv0sjq5";
   };
 
diff --git a/pkgs/applications/misc/sleepyhead/default.nix b/pkgs/applications/misc/sleepyhead/default.nix
index 94c47c23afef5..63a45758d932d 100644
--- a/pkgs/applications/misc/sleepyhead/default.nix
+++ b/pkgs/applications/misc/sleepyhead/default.nix
@@ -1,10 +1,8 @@
 { lib, stdenv, mkDerivation, fetchgit, zlib, libGLU, libX11, qtbase, qtwebkit, qtserialport, wrapQtAppsHook }:
 
-let
-  name = "sleepyhead-${version}";
+mkDerivation {
+  pname = "sleepyhead";
   version = "1.0.0-beta-git";
-in mkDerivation {
-  inherit name;
 
   src = fetchgit {
     url = "https://gitlab.com/sleepyhead/sleepyhead-code.git";
diff --git a/pkgs/applications/misc/slic3r/default.nix b/pkgs/applications/misc/slic3r/default.nix
index f4dd6c7185f51..8d929e0eef58c 100644
--- a/pkgs/applications/misc/slic3r/default.nix
+++ b/pkgs/applications/misc/slic3r/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchgit, perl, makeWrapper
+{ lib, stdenv, fetchFromGitHub, perl, makeWrapper
 , makeDesktopItem, which, perlPackages, boost
 }:
 
@@ -6,10 +6,11 @@ stdenv.mkDerivation rec {
   version = "1.3.0";
   pname = "slic3r";
 
-  src = fetchgit {
-    url = "git://github.com/alexrj/Slic3r";
+  src = fetchFromGitHub {
+    owner = "alexrj";
+    repo = "Slic3r";
     rev = version;
-    sha256 = "1pg4jxzb7f58ls5s8mygza8kqdap2c50kwlsdkf28bz1xi611zbi";
+    sha256 = "sha256-cf0QTOzhLyTcbJryCQoTVzU8kfrPV6SLpqi4s36X5N0=";
   };
 
   buildInputs =
diff --git a/pkgs/applications/misc/slmenu/default.nix b/pkgs/applications/misc/slmenu/default.nix
index 16145a915feb1..80aedd5741876 100644
--- a/pkgs/applications/misc/slmenu/default.nix
+++ b/pkgs/applications/misc/slmenu/default.nix
@@ -1,30 +1,19 @@
 {lib, stdenv, fetchhg}:
-let
-  s =
-  rec {
-    baseName = "slmenu";
-    version = "hg-${date}";
-    date = "2012-02-01";
-    name = "${baseName}-${version}";
+
+stdenv.mkDerivation {
+  pname = "slmenu";
+  version = "hg-2012-02-01";
+
+  src = fetchhg {
     url = "https://bitbucket.org/rafaelgg/slmenu/";
     rev = "7e74fa5db73e8b018da48d50dbbaf11cb5c62d13";
     sha256 = "0zb7mm8344d3xmvrl62psazcabfk75pp083jqkmywdsrikgjagv6";
   };
-  buildInputs = [
-  ];
-in
-stdenv.mkDerivation {
-  inherit (s) name version;
-  inherit buildInputs;
-  src = fetchhg {
-    inherit (s) url sha256;
-  };
   makeFlags = [ "PREFIX=$(out)" ];
-  meta = {
-    inherit (s) version;
+  meta = with lib; {
     description = "A console dmenu-like tool";
-    license = lib.licenses.mit;
-    maintainers = [lib.maintainers.raskin];
-    platforms = lib.platforms.linux;
+    license = licenses.mit;
+    maintainers = with maintainers; [ raskin ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/spicetify-cli/default.nix b/pkgs/applications/misc/spicetify-cli/default.nix
index 08a54f49584ab..07d7d605d809f 100644
--- a/pkgs/applications/misc/spicetify-cli/default.nix
+++ b/pkgs/applications/misc/spicetify-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "spicetify-cli";
-  version = "2.9.2";
+  version = "2.9.4";
 
   src = fetchFromGitHub {
     owner = "khanhas";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-r6xm0Gq2QXWQEcYEu1n0y6S4r4odzYP8Srr0U+jZr6U=";
+    sha256 = "sha256-dHkbjmb9qlMO+pYUmdnoztkrMqPW6GfceAUxgnRmlDA=";
   };
 
-  vendorSha256 = "sha256-g0RYIVIq4oMXdRZDBDnVYg7ombN5WEo/6O9hChQvOYs=";
+  vendorSha256 = "sha256-zYIbtcDM9iYSRHagvI9D284Y7w0ZxG4Ba1p4jqmQyng=";
 
   # used at runtime, but not installed by default
   postInstall = ''
diff --git a/pkgs/applications/misc/stag/default.nix b/pkgs/applications/misc/stag/default.nix
index f9c91d28f14ad..974ebb78c2f11 100644
--- a/pkgs/applications/misc/stag/default.nix
+++ b/pkgs/applications/misc/stag/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
     sha256 = "1yrzjhcwrxrxq5jj695wvpgb0pz047m88yq5n5ymkcw5qr78fy1v";
   };
 
-  buildInputs = [ stdenv curses ];
+  buildInputs = [ curses ];
 
   installPhase = ''
     make install PREFIX=$out
diff --git a/pkgs/applications/misc/stog/default.nix b/pkgs/applications/misc/stog/default.nix
index 91a77d8de6fd6..1d6373592fbf5 100644
--- a/pkgs/applications/misc/stog/default.nix
+++ b/pkgs/applications/misc/stog/default.nix
@@ -10,7 +10,7 @@ else
 buildDunePackage rec {
   pname = "stog";
   version = "0.20.0";
-  useDune2 = true;
+  duneVersion = "3";
   minimalOCamlVersion = "4.12";
   src = fetchFromGitLab {
     domain = "framagit.org";
diff --git a/pkgs/applications/misc/taskwarrior-tui/default.nix b/pkgs/applications/misc/taskwarrior-tui/default.nix
index 036421bbacad7..1346cba9acd5b 100644
--- a/pkgs/applications/misc/taskwarrior-tui/default.nix
+++ b/pkgs/applications/misc/taskwarrior-tui/default.nix
@@ -5,19 +5,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "taskwarrior-tui";
-  version = "0.21.0";
+  version = "0.22.0";
 
   src = fetchFromGitHub {
     owner = "kdheepak";
     repo = "taskwarrior-tui";
     rev = "v${version}";
-    sha256 = "sha256-HHYObAeJtryZWRV3T+FXRz0TgBIfw/kVL9jwaQmZcEA=";
+    sha256 = "sha256-121TfmaWrWppsOiuF+8gxy+3J5YzbliYj88nw4aLt9w=";
   };
 
   # Because there's a test that requires terminal access
   doCheck = false;
 
-  cargoSha256 = "sha256-oRREvqQLigpfpnTJgVZjAwAvmUs9YSZm+D5xyFYvdb4=";
+  cargoSha256 = "sha256-oTb1pSA9g9cExCXKaQjNm+h5WB4bWuqODkU7MvvspGQ=";
 
   meta = with lib; {
     description = "A terminal user interface for taskwarrior ";
diff --git a/pkgs/applications/misc/trenchbroom/default.nix b/pkgs/applications/misc/trenchbroom/default.nix
index 8a7025060607f..a49fbf71191e8 100644
--- a/pkgs/applications/misc/trenchbroom/default.nix
+++ b/pkgs/applications/misc/trenchbroom/default.nix
@@ -21,6 +21,19 @@ 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 ];
diff --git a/pkgs/applications/misc/tuhi/default.nix b/pkgs/applications/misc/tuhi/default.nix
index 4bd0c914d3a13..bf939cfa1758e 100644
--- a/pkgs/applications/misc/tuhi/default.nix
+++ b/pkgs/applications/misc/tuhi/default.nix
@@ -13,15 +13,15 @@
 }:
 
 python3Packages.buildPythonApplication rec {
-  name = "tuhi";
+  pname = "tuhi";
   version = "0.5";
 
   format = "other";
 
   src = fetchFromGitHub {
     owner = "tuhiproject";
-    repo = name;
-    rev = "${version}";
+    repo = "tuhi";
+    rev = version;
     sha256 = "17kggm9c423vj7irxx248fjc8sxvkp9w1mgawlx1snrii817p3db";
   };
 
diff --git a/pkgs/applications/misc/urlview/default.nix b/pkgs/applications/misc/urlview/default.nix
index 0374fb91844d9..2eca4cfccb31f 100644
--- a/pkgs/applications/misc/urlview/default.nix
+++ b/pkgs/applications/misc/urlview/default.nix
@@ -1,15 +1,15 @@
 { lib, stdenv, fetchurl, ncurses, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  version    = "0.9";
+  pname = "urlview";
+  _version    = "0.9";
   patchLevel = "19";
-
-  name = "urlview-${version}-${patchLevel}";
+  version = "${_version}-${patchLevel}";
 
   urlBase = "mirror://debian/pool/main/u/urlview/";
 
   src = fetchurl {
-    url = urlBase + "urlview_${version}.orig.tar.gz";
+    url = urlBase + "urlview_${_version}.orig.tar.gz";
     sha256 = "746ff540ccf601645f500ee7743f443caf987d6380e61e5249fc15f7a455ed42";
   };
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   '';
 
   debianPatches = fetchurl {
-    url = urlBase + "urlview_${version}-${patchLevel}.diff.gz";
+    url = urlBase + "urlview_${_version}-${patchLevel}.diff.gz";
     sha256 = "056883c17756f849fb9235596d274fbc5bc0d944fcc072bdbb13d1e828301585";
   };
 
diff --git a/pkgs/applications/misc/wlclock/default.nix b/pkgs/applications/misc/wlclock/default.nix
new file mode 100644
index 0000000000000..64b728f4ac9d0
--- /dev/null
+++ b/pkgs/applications/misc/wlclock/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, stdenv
+, fetchFromSourcehut
+, meson
+, ninja
+, cmake
+, pkg-config
+, wayland-protocols
+, wayland
+, cairo
+, scdoc
+}:
+
+stdenv.mkDerivation rec {
+  pname = "wlclock";
+  version = "1.0.1";
+
+  src = fetchFromSourcehut {
+    owner = "~leon_plickat";
+    repo = "wlclock";
+    rev = "v${version}";
+    sha256 = "sha256-aHA4kXHYH+KvAJSep5X3DqsiK6WFpXr3rGQl/KNiUcY=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    wayland-protocols
+    wayland
+    cairo
+    scdoc
+  ];
+
+  meta = with lib; {
+    description = "A digital analog clock for Wayland desktops";
+    homepage = "https://git.sr.ht/~leon_plickat/wlclock";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ nomisiv ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/applications/misc/xmr-stak/default.nix b/pkgs/applications/misc/xmr-stak/default.nix
index cb4233be8ec34..91c8c69fe9308 100644
--- a/pkgs/applications/misc/xmr-stak/default.nix
+++ b/pkgs/applications/misc/xmr-stak/default.nix
@@ -11,7 +11,7 @@ let
 in
 
 stdenv'.mkDerivation rec {
-  name = "xmr-stak-${version}";
+  pname = "xmr-stak";
   version = "2.10.8";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/misc/yubioath-desktop/default.nix b/pkgs/applications/misc/yubioath-desktop/default.nix
index 9cfd7650c49f6..3d35e3658e568 100644
--- a/pkgs/applications/misc/yubioath-desktop/default.nix
+++ b/pkgs/applications/misc/yubioath-desktop/default.nix
@@ -15,7 +15,7 @@ mkDerivation rec {
 
   doCheck = false;
 
-  buildInputs = [ stdenv qtbase qtquickcontrols2 qtgraphicaleffects python3 ];
+  buildInputs = [ qtbase qtquickcontrols2 qtgraphicaleffects python3 ];
 
   nativeBuildInputs = [ qmake makeWrapper python3.pkgs.wrapPython ];
 
diff --git a/pkgs/applications/misc/zscroll/default.nix b/pkgs/applications/misc/zscroll/default.nix
index 3acac8b3c68da..d3424938dd9b1 100644
--- a/pkgs/applications/misc/zscroll/default.nix
+++ b/pkgs/applications/misc/zscroll/default.nix
@@ -1,9 +1,9 @@
 { lib, python3, python3Packages, fetchFromGitHub }:
 
-let version = "1.0"; in
+python3Packages.buildPythonApplication rec {
+  pname = "zscroll";
+  version = "1.0";
 
-python3Packages.buildPythonApplication {
-  name = "zscroll-${version}";
   # don't prefix with python version
   namePrefix = "";
 
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
index 74e14615f81c4..7c0006f745c65 100644
--- a/pkgs/applications/networking/browsers/brave/default.nix
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -91,11 +91,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "brave";
-  version = "1.36.116";
+  version = "1.37.109";
 
   src = fetchurl {
     url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-    sha256 = "whGV0VgCm6JSyrcFQTKbM35b/qLQdBmChTrYuyC+OlI=";
+    sha256 = "fL3vuCqUnzq38JD0bzM/DxLVb5P31iChbMVY2eax9RE=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix
index 40a0d79975284..ca52cf94d8c60 100644
--- a/pkgs/applications/networking/browsers/chromium/browser.nix
+++ b/pkgs/applications/networking/browsers/chromium/browser.nix
@@ -87,7 +87,7 @@ mkChromiumDerivation (base: rec {
       then "https://github.com/Eloston/ungoogled-chromium"
       else "https://www.chromium.org/";
     maintainers = with maintainers; if ungoogled
-      then [ squalus primeos ]
+      then [ squalus primeos michaeladler ]
       else [ primeos thefloweringash ];
     license = if enableWideVine then licenses.unfree else licenses.bsd3;
     platforms = platforms.linux;
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 9b18590817f84..6dd6d98c0efdb 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -23,7 +23,7 @@
 , libusb1, re2
 , ffmpeg, libxslt, libxml2
 , nasm
-, nspr, nss, systemd
+, nspr, nss
 , util-linux, alsa-lib
 , bison, gperf, libkrb5
 , glib, gtk3, dbus-glib
@@ -47,6 +47,8 @@
 , ungoogled ? false, ungoogled-chromium
 # Optional dependencies:
 , libgcrypt ? null # gnomeSupport || cupsSupport
+, systemdSupport ? stdenv.isLinux
+, systemd
 }:
 
 buildFun:
@@ -114,7 +116,7 @@ let
   };
 
   base = rec {
-    name = "${packageName}-unwrapped-${version}";
+    pname = "${packageName}-unwrapped";
     inherit (upstream-info) version;
     inherit packageName buildType buildPath;
 
@@ -139,7 +141,7 @@ let
       libusb1 re2
       ffmpeg libxslt libxml2
       nasm
-      nspr nss systemd
+      nspr nss
       util-linux alsa-lib
       bison gperf libkrb5
       glib gtk3 dbus-glib
@@ -151,7 +153,8 @@ let
       libdrm wayland mesa.drivers libxkbcommon
       curl
       libepoxy
-    ] ++ optionals gnomeSupport [ gnome2.GConf libgcrypt ]
+    ] ++ optional systemdSupport systemd
+      ++ optionals gnomeSupport [ gnome2.GConf libgcrypt ]
       ++ optional gnomeKeyringSupport libgnome-keyring3
       ++ optionals cupsSupport [ libgcrypt cups ]
       ++ optional pulseSupport libpulseaudio;
@@ -204,9 +207,10 @@ let
       sed -i -e 's@"\(#!\)\?.*xdg-@"\1${xdg-utils}/bin/xdg-@' \
         chrome/browser/shell_integration_linux.cc
 
+    '' + lib.optionalString systemdSupport ''
       sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${lib.getLib systemd}/lib/\1!' \
         device/udev_linux/udev?_loader.cc
-
+    '' + ''
       sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \
         gpu/config/gpu_info_collector_linux.cc
 
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 0202ead460521..e8d9a13f9ac74 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -157,8 +157,8 @@ let
     else browser;
 
 in stdenv.mkDerivation {
-  name = lib.optionalString ungoogled "ungoogled-"
-    + "chromium${suffix}-${version}";
+  pname = lib.optionalString ungoogled "ungoogled-"
+    + "chromium${suffix}";
   inherit version;
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index 09efd6a2df667..cd525f8d2adda 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -1,63 +1,63 @@
 {
   "stable": {
-    "version": "99.0.4844.82",
-    "sha256": "0p6jqwal0yrvn8iylm2f3n07hkkaf8899iw9i3cvks0d870hpfxq",
-    "sha256bin64": "0zhhibz727qx2wg2pcazha3q9xwf1bcm1f9hgid7jq2pq7fq3hdr",
+    "version": "100.0.4896.60",
+    "sha256": "1p7zggnhsz9gj3zil0nyas4ym5bd94vs0z6mdg7r1l0s0vrsaphf",
+    "sha256bin64": "07wavs9r6ilwx5rzyqvydcjskg6sml5b8m6mw7qzykvhs8bnvfh5",
     "deps": {
       "gn": {
-        "version": "2022-01-10",
+        "version": "2022-01-21",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "80a40b07305373617eba2d5878d353532af77da3",
-        "sha256": "1103lf38h7412949j6nrk48m2vv2rrxacn42sjg33lg88nyv7skv"
+        "rev": "0725d7827575b239594fbc8fd5192873a1d62f44",
+        "sha256": "1dzdvcn2r5c9giknvasf3y5y4901kav7igivjvrpww66ywsj8fzr"
       }
     },
     "chromedriver": {
-      "version": "99.0.4844.51",
-      "sha256_linux": "1r5wbcfbj9s216jyjasmiscsrsix9ap3pplp12rznrwn4898p51y",
-      "sha256_darwin": "1nak8p5hdrw94lx73m9c110zrwag4qr6487dhplm3qfrnrkdh8wp",
-      "sha256_darwin_aarch64": "0hkcx6a8bcjlbmp6z3ld23mi1kpyjn2g7m3ns9qw6ns4x3rn5i3r"
+      "version": "100.0.4896.20",
+      "sha256_linux": "1d3g43s5adn1vs7iv5ccp0f376qvnvf67mhid7kxkysnqv55bxdw",
+      "sha256_darwin": "129vw1ablb6xyr7j30zxkh7n835wi82ksd8c5m11mmdnrmrcdabv",
+      "sha256_darwin_aarch64": "0zgnisvdvcc726q22jn1cyfg41zz1af5l3fy3m81jlfhph2ibbra"
     }
   },
   "beta": {
-    "version": "100.0.4896.46",
-    "sha256": "1qx22vadv9yd3n52pjn2sr153w70k3sxi2i8f99fdpil0kin8jkx",
-    "sha256bin64": "1g4xygj3946322aill7lk1qf0hi07bjn3awa17pkn1sgbl3gm8nr",
+    "version": "101.0.4951.15",
+    "sha256": "1gm70mz6gzildh1g082q4dg5q9namm9kvxfj5qrdcj67gvz5m66y",
+    "sha256bin64": "0z2rx7mw9wg5ly8wmxkflk8f9gifq4cxqvi224v9dr11qqj8gwm2",
     "deps": {
       "gn": {
-        "version": "2022-01-21",
+        "version": "2022-03-14",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "0725d7827575b239594fbc8fd5192873a1d62f44",
-        "sha256": "1dzdvcn2r5c9giknvasf3y5y4901kav7igivjvrpww66ywsj8fzr"
+        "rev": "bd99dbf98cbdefe18a4128189665c5761263bcfb",
+        "sha256": "0nql15ckjqkm001xajq3qyn4h4q80i7x6dm9zinxxr1a8q5lppx3"
       }
     }
   },
   "dev": {
-    "version": "101.0.4947.0",
-    "sha256": "176bby8xis0j3ifvxxxjgklvs7yd7v71c5lc18qdjkgzv5qdx0sy",
-    "sha256bin64": "1rkpc25ff8vf1p7znpmaljj8gwcym34qg28b4anv8x9zvwn7w21s",
+    "version": "102.0.4972.0",
+    "sha256": "1aihdym7h8sd52wiybnrgjrd618f3yby4bpbkc26xyrl8gviz31d",
+    "sha256bin64": "0mb67cfr397aclkiy0v9xqga07c166qdylq257k2kmhj7df1gcvn",
     "deps": {
       "gn": {
-        "version": "2022-03-14",
+        "version": "2022-03-29",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "bd99dbf98cbdefe18a4128189665c5761263bcfb",
-        "sha256": "0nql15ckjqkm001xajq3qyn4h4q80i7x6dm9zinxxr1a8q5lppx3"
+        "rev": "e39d5251c25155b9dfdb96adeab31b795095fd3b",
+        "sha256": "1clr0f847rmwwpmsl9zv4q6rw1shn09my775666v480szpahj9pk"
       }
     }
   },
   "ungoogled-chromium": {
-    "version": "99.0.4844.82",
-    "sha256": "0p6jqwal0yrvn8iylm2f3n07hkkaf8899iw9i3cvks0d870hpfxq",
-    "sha256bin64": "0zhhibz727qx2wg2pcazha3q9xwf1bcm1f9hgid7jq2pq7fq3hdr",
+    "version": "100.0.4896.60",
+    "sha256": "1p7zggnhsz9gj3zil0nyas4ym5bd94vs0z6mdg7r1l0s0vrsaphf",
+    "sha256bin64": "07wavs9r6ilwx5rzyqvydcjskg6sml5b8m6mw7qzykvhs8bnvfh5",
     "deps": {
       "gn": {
-        "version": "2022-01-10",
+        "version": "2022-01-21",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "80a40b07305373617eba2d5878d353532af77da3",
-        "sha256": "1103lf38h7412949j6nrk48m2vv2rrxacn42sjg33lg88nyv7skv"
+        "rev": "0725d7827575b239594fbc8fd5192873a1d62f44",
+        "sha256": "1dzdvcn2r5c9giknvasf3y5y4901kav7igivjvrpww66ywsj8fzr"
       },
       "ungoogled-patches": {
-        "rev": "99.0.4844.82-1",
-        "sha256": "1zj8834slli7ydslcwid15r7id4iw0d7ns42hkrj24zl9zh3d5q3"
+        "rev": "100.0.4896.60-1",
+        "sha256": "02q7ghxynkgkbilcb8bx8q26s80fvd4hbc58zq74pnzpmn7qi342"
       }
     }
   }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index 7fa0ae18549f3..ab3cfb9ef52bd 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 = "98.0b5";
+  version = "99.0b6";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ach/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/ach/firefox-99.0b6.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "d572a56bbdaf004ff33ca5ea1079680a2af9b5b8ba9ca3989b34ba6d5d34abbb";
+      sha256 = "a540c52dbb973a85ee0f9fb116f7812e624d925dce77fe14a310f4bf5e6a0b58";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/af/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/af/firefox-99.0b6.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "ac544b28cf44236f1d1e46ee5e1b3484c97cf732bc857eeae3682b501ccd9867";
+      sha256 = "0f15edf10fc6ccb9f8bfba5cd6bbe83ac11df1b01fe9d5a1888f9b83a20b6d49";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/an/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/an/firefox-99.0b6.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "18eff485b959812f916f6925d4adf32a30e1fd3b82040db1ffb1c03aa9e76a5e";
+      sha256 = "769c936702fd344395e2fb949ddd2782f0e35096889c7c84027edfd9f08f5790";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ar/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/ar/firefox-99.0b6.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "cb33eedbc186386dbe5bd96d294a202a3f4d43e72affcf62b2f5608580262902";
+      sha256 = "401b84fb1ce243e657018b0f6c98acc7838c7abcb0ed93772d56b1082135b479";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ast/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/ast/firefox-99.0b6.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "34461a0d3e89768cf951f7a1d12a61732a66b38cc7f4493b028b1c49f810e265";
+      sha256 = "2876d7dc456ead1a0efd867e3f683ea432589049ad85adf7ca5e7824f9dcfe66";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/az/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/az/firefox-99.0b6.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "6a7084f81c269b572f4d8b19ac686a97187be217e1a8e1a6d993470f60374d1b";
+      sha256 = "c83d7bf96d74241657ae84dcd0b63328dc521cdb4be639577473305bc0d024b7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/be/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/be/firefox-99.0b6.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "85b951a4c3a9f73f74cf4374b142fe86306e26480461e665fee92d4d920fa716";
+      sha256 = "35942f40d0604f382a383a9f737d59bdd6141ec6066d7da54422fe02928c46f2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/bg/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/bg/firefox-99.0b6.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "03de393f231f1b54babb254a139e71a051861656f050f31605a8351f2a33507b";
+      sha256 = "f55d30618fd8eccfba51fc82fbcf37fa3eed550b168ed603a14a69511ee4955c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/bn/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/bn/firefox-99.0b6.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "ba3b9743502aeb38f510873854dd054ba21250394097f12b2f3ff8883c6c1e97";
+      sha256 = "462741a2dd135d7f0cbe12ca93bba398a621613af5611f1cae364a281863388f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/br/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/br/firefox-99.0b6.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "56478d56ef1a6e4340262eff9f5f64925aa62bea4774e41cfe97069760dc3505";
+      sha256 = "2f08c5b70e49b9151757a80821011cc6ac8bb9d68b282aeb33b9928bec2609f2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/bs/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/bs/firefox-99.0b6.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "b76eb84e8c2282a7ca11cd3208aa4445b52ff24fd06e0f4a2445b326c71b42c3";
+      sha256 = "08802aa569f3e4c9307dbdf0216cc96e851ee88d663d52f22559bae99df3c551";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ca-valencia/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/ca-valencia/firefox-99.0b6.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "4f9325f1d1fbaa28a5be6599e2db4f55e69e5e10b0f11496e1c36e83c50ceced";
+      sha256 = "49fc70e96542fb26e536570395f6f8302e4271306f0298739c537a7d03af3585";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ca/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/ca/firefox-99.0b6.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "1f110c78565cace8c1def9c0343c0d4b2a0632d25a03fc0cda9462daa8292d41";
+      sha256 = "c1a1ae01536b9b885ee66033f8d828ef63cf3211fa3ec52ad8cd8c688e8bb1cf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/cak/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/cak/firefox-99.0b6.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "843ef97f99c5d0396485e9821a0600a2f2a724ff76b147c7883c3b05c89c34ef";
+      sha256 = "536ebd5224b5a53b4660d9113172fcd73862307da6c41f007a2cdb71b35a6dc5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/cs/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/cs/firefox-99.0b6.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "52394ebc3694fefedf33a65626020bf78610bd8d8fd732605f254d0532f3e804";
+      sha256 = "3d25003533ce79e9a32e4dccb92235994b076dce620a73b4f3efac2c04887596";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/cy/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/cy/firefox-99.0b6.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "5952065bc634b3a008798ac329172e68eafb9c18c84e99520465ffeadd36ebae";
+      sha256 = "04e5c7f3195ee0a55b3c2c27cf030a1cebeabfcb833e77a2b099916bfac07b8a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/da/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/da/firefox-99.0b6.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "7346203ba006416b010c05ba217792caa53fe5472b1239450100d0d75b2be301";
+      sha256 = "707a9d7991c925989af516681542ba7cf1f4cabeaa3eea7d8be44a76184ae440";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/de/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/de/firefox-99.0b6.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "272d56431cae04275648d25cb9b85c0d555cb839eed6bcd9bb8c088ba4983d58";
+      sha256 = "e2601df88ee67fc7d4d0d675f53dfb96f34a2c2e3dffdf1ee811561e3ddfa7a3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/dsb/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/dsb/firefox-99.0b6.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "5ce9c6d56b286aacf049580ca971cc5737498f62b6a9c177aa7634bec8ad13e7";
+      sha256 = "479ec9ec8fc128dc971976611b31d12ea58b1a3119c9019c8fcf4e224486b8dd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/el/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/el/firefox-99.0b6.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "2624a40add509da75dc22e8438147b7556fab463dd44793b918bd91826a5a3f7";
+      sha256 = "fc0075428e18c918bbeb1b25e367e7bf0a4aacc7a27c6acd382f326dfefa65d0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/en-CA/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/en-CA/firefox-99.0b6.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "bb91268d5bdd7ca82642363c33af05223375596c4b2d4cf51195d1478985ec5b";
+      sha256 = "1f1f10900d3c3ecfc1ec55e06d38bbe89462abc25bf2aa97bad2a785970b52fa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/en-GB/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/en-GB/firefox-99.0b6.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "5c9e84e4116e2d65f87a8959bf384b51e9e1edbaab165d506c9e8051813bc767";
+      sha256 = "36ec8955482e37178f6b333681ae3e998a65701b90541ed6f98b452d04515b27";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/en-US/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/en-US/firefox-99.0b6.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "389b11d44e6b50684e309b89bbc7baca1e86a2be26c3809b490b77fc3ccdb48a";
+      sha256 = "e316f005fbefcec2c55d9dd2452392c82155b080abb51d36eddcccfead742ca8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/eo/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/eo/firefox-99.0b6.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "fd1a3ec9000492ddd64eaa2fb60bcbbd2a7af8b4fccbe78690378eb9ac365c07";
+      sha256 = "0fab5a6ed664f3be18c9aa81c51015b75b3cb9a8bed5bae3322eca57d76fa0b7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/es-AR/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/es-AR/firefox-99.0b6.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "788018660eaf7b02a5e0279447e508863ebb75fed18299d4ae0279cb36f842a2";
+      sha256 = "e24a821243c0f2ba758c00334ee40900b3d8eec2d137db774512a1b5907dd0e3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/es-CL/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/es-CL/firefox-99.0b6.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "3556d494d08f129aec339642a28dcae9f051cb0baef4344cf5bcec7326186f26";
+      sha256 = "5ba1376f6c47b8afb320f7aa36ae1bc6a6dd45350a843f641889fa0f9bd6d4f1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/es-ES/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/es-ES/firefox-99.0b6.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "15a3d9d872d3e2e3ef2a795767b64a495f4b992aa72a80558d67b8f294d5b959";
+      sha256 = "73d3f8a7ad44d175fc73993ad1ddf2115cda48d33422493e80f5f5fcb0805f13";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/es-MX/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/es-MX/firefox-99.0b6.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "9bcc96e62902977cb2f5f10fad4ada00c19a453d4c598787e92ce4e54e6adfdf";
+      sha256 = "cd3267b82d6a02a1f2797069373e95726262c603902a655fb138699b5546e34b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/et/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/et/firefox-99.0b6.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "b0cbbc22406961bd076d0a8792e7a166280a52e29804129db8c39f5f24248fe3";
+      sha256 = "07f95fc1bef61d7c1f8b85ae9e774cab7c79c8d8e2d1d82fe80ea6b8f33e7a6b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/eu/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/eu/firefox-99.0b6.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "d82729e8551f3d4e9782d70c30e0aac3d1033acd57c0bb61c3073dfc7d1e8642";
+      sha256 = "da979dfebd9e18d524e20f05c04dcb9abf42eced67d0d59b2e2b8fd0f2860d4c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/fa/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/fa/firefox-99.0b6.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "66de45bf96a23242566ef04ae6e402e08b35964e42c704e4f4350171f28e3b74";
+      sha256 = "7afddd9ca0568fc844e68f67325ceb2f5a4bf8ed35095076b60e98e334001575";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ff/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/ff/firefox-99.0b6.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "851ab51c00f3e59439dd7f482fa3361634600e5c2b63be5784472df912288b86";
+      sha256 = "291a80a59157da3eee5f8f8c4c4647713fa639e940200dee7a6f2ff6d44dc55a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/fi/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/fi/firefox-99.0b6.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "b1857154f9a49ac0acf8e99bf2491af4dd84cab2b1f1965acdd321311305c7a1";
+      sha256 = "b5d42423703cbf205fab56d64125d5d68c5466553dbdf47d05e29c98a1bf4c56";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/fr/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/fr/firefox-99.0b6.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "59e4d31c6532096215b223f41a3a5e59c29db0e9007d8b26260997878223efe7";
+      sha256 = "95ac9b6b2be9e5996dd3ed3a84c62bf1f29715063c0af3475c02fe5614436800";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/fy-NL/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/fy-NL/firefox-99.0b6.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "56707c16711c7c90cadd66eaf3084498769827fdacf6fb73b4eca60185c1b2d6";
+      sha256 = "d4b0eaa62170cf651d92b3feb361632a2a202b971661e1111cd343c54abfe98c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ga-IE/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/ga-IE/firefox-99.0b6.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "afd4b994549beb079ec0d04669824904d7f16e9ddd9cf323095ce32277d7865a";
+      sha256 = "01e383677c6fe5d3c73b29339d62b8cc5e8fa6120a6c1f31509eac9020eb7a42";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/gd/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/gd/firefox-99.0b6.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "1e96751aeee49e229afc0715d2d1b93f216b159a716075b6481d59add59c8e35";
+      sha256 = "ba0c05f8ccb21224781824178b41794f04585dc22c60bb4b3db3a230be304eaa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/gl/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/gl/firefox-99.0b6.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "2950aed5bf345de03873a8a0ab35885aa766a88776213d5f58798235e8130094";
+      sha256 = "540cf483ba69cb35eb0878d07af059f023e453359962217fa4f91ed6e9ceeb8c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/gn/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/gn/firefox-99.0b6.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "6f4afd656511c8cfbb933b8680ddee2bbf3ff584021193058e7eacabd152cf03";
+      sha256 = "222de0e732642bb0ab30687312bbd2fe83b0ca42497a1e8aab2a56658b1f3fa0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/gu-IN/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/gu-IN/firefox-99.0b6.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "0b9cd7febe314aed67e85fba904b000dccd97d983e944a093699d80eb53134b0";
+      sha256 = "c2d5751f5b5d3c419c4a5bc61ecf900638f2f4f93e44dfe4b888c467e17ae368";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/he/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/he/firefox-99.0b6.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "6a122b779d99bc42ddbdd85e97649953185f472c97d352d4e0f0cf96198bcca8";
+      sha256 = "00e4b80dbe25ff5daee56b2eeca471b5bda4186b50a676b72ee3b6dd85f52935";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/hi-IN/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/hi-IN/firefox-99.0b6.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "551b20cc433c045a4e28628498548f6cc114998158386062be926238b674239d";
+      sha256 = "cc762a99b9443f45c326971dd3f0fbe10c46abc4ab54a31916d8f344942fe645";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/hr/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/hr/firefox-99.0b6.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "15f1814fb99544f7b093ba6cf6de98be069696175d9ccd93db049b8e0a723a78";
+      sha256 = "6f935f65ef177e330b53c35818d14cdc135436f79497b6e59e748365a2942767";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/hsb/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/hsb/firefox-99.0b6.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "bc89304cd1f68d18de7d8711f334a14d972c35eb4a779e212ff470157b15525c";
+      sha256 = "4ec5aaf93f6bebd218817ee6552b352822c016209e5b528bb96f65fc1b89ec69";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/hu/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/hu/firefox-99.0b6.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "f7a85d9d1d529f245d456eab76ad26cecb6a1d58a5da15b5b6d20544af989772";
+      sha256 = "5042f7330efadd917d38f9e5415477f507258ba8462e5600ab1ab15755707db2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/hy-AM/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/hy-AM/firefox-99.0b6.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "f5b6c4ea7c8817f9b8740aa0954c74c7cedf30e659bdeec4b9b468ac7430ae25";
+      sha256 = "479d9f677b0dc81f9286e4b9b8c89cc3a34de3c51d1e2088c7463adcb8cc7d35";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ia/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/ia/firefox-99.0b6.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "24d68a73da9e817f02233a4c39e1a6d56aa26d15b17a964de0d10cd65ff8f6aa";
+      sha256 = "42a882486fdd29a89220c3a2604873d338b9187d5545fac9da59929a4f865deb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/id/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/id/firefox-99.0b6.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "86f7e09688943b242a83bda19b770f4720aa495c9f8503a79d22abb8a24793a0";
+      sha256 = "483885d63782b4dc2f6444438f5f4c4f291600a5ca669b2630c6ee5fccdd4382";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/is/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/is/firefox-99.0b6.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "52cbbd83f54f4e93b08d874f7f68cdaa168bb663c10c4a3534918bfef4812793";
+      sha256 = "23c62d13ce11f8c5497ab32a80e0f6b49e56f711c9e42673baf37022e3feb364";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/it/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/it/firefox-99.0b6.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "aeb7529d9a7dc88a23094589fd30c04f2d1366e5dae9a92bb16a7c9bbaf476ba";
+      sha256 = "7a3006a99a20a54ad104389c7203bfd6c24b0aa53c02ca4d14a24e34503cf6a1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ja/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/ja/firefox-99.0b6.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "9cf3e5bf609bd86f7cea748df34279fb9f421e76a3e3935e33e5af1b3ba32f06";
+      sha256 = "05ca3af44e2d723edd2777c91714962459b889122dd669d72c91d83ecefded54";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ka/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/ka/firefox-99.0b6.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "c6d6d9524aeafef73aed12d2757520903a53deff32ddf55873e038f1a1b3e37b";
+      sha256 = "9979bd999157dcbca6b70ca967401b61c574ed3a6d2dd62d436692dbd26fa0b6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/kab/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/kab/firefox-99.0b6.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "c238bd3d49236ccc80d85b8ea9a5bfe95f7a93bdd9fc82f09dde2de314412027";
+      sha256 = "e2e5c9220501b8c481cc2c1a159b49b5adc243bdaad715afd7cf32aae89237c2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/kk/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/kk/firefox-99.0b6.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "b34c10751ef34dbc41157711fc4f02c5c9d26104be971b1c9001704c2e695e3e";
+      sha256 = "67a0794f7ff2206955d47a2af2f9eeeb0b308526348e86845ec9fcaaaeff9ede";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/km/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/km/firefox-99.0b6.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "859629828f358f3b7933f98292f3df0047fa012cfdbc4db652eea0fcebd944a8";
+      sha256 = "79de967bb49baaf50633e11c03487b9f696eb924a6c2cb4ca776849c03709f71";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/kn/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/kn/firefox-99.0b6.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "ae70facbaecd4b11d8e39eb6b40615c63e37eb9020933b443326c3ec6849277a";
+      sha256 = "acf8833a43bbca67be2f7c883e8c9fd3b65b5e43f61e803a5ac188ca2724273a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ko/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/ko/firefox-99.0b6.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "63b939612cb311aa31b9f2293e82cd0aafb1a857318db2f8cb022cd0d868324c";
+      sha256 = "669aeb1fc430810d5347cb85df3e1f53240573c3b37c621c5ab9f384b2883f31";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/lij/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/lij/firefox-99.0b6.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "85c8edd159ad5b2843673a9beda883a349bebf1133ad64fef2685a61bbbb8d4e";
+      sha256 = "1c29ba78ad9834ce598c31fc40999861556d91e3a43a3a39b8eef08eac59a8f4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/lt/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/lt/firefox-99.0b6.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "fa5d9116fbb25a8c1b816357de21aa8e376ee0983c12ae6c842c0a015071829e";
+      sha256 = "caf5e72d891e001b5874cd9eb39359535d0e7a3e9e806bdf6c9bbc2ad5cb1543";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/lv/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/lv/firefox-99.0b6.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "e744ece030a07f84c9cbf8a952c5dc2ab8fc3cb3889405978f79665917ab62a5";
+      sha256 = "48e2e31c5fe889be4ff3cbdf1bab671537ca66a55c59f63ae9f09a31f4222c9b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/mk/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/mk/firefox-99.0b6.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "466d376a9f0caf60242aa0abb945b8899ac9d80080da3c4546c74d9e2e6c131c";
+      sha256 = "cb26ff5fd9f9b4dbda62b173459173a5d0d39fd4caada1877a1f9750080f239a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/mr/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/mr/firefox-99.0b6.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "c3077f608d9a5f655b50a0a14c024f5f8bca2dd6ab75901915fc379ec5e31311";
+      sha256 = "d8c95476b496d42e876080d2809fb349442f159afd385bdaa0444ae776f2bfb5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ms/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/ms/firefox-99.0b6.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "de64870f7300f66ec653af11f4d38320c1b63f6ac2bcda3b7d21610ab83598e0";
+      sha256 = "3be2c35dc0d5cb98b616eb573d436326238ea0f03b6dbb5ec3c6e9f0b6d3f677";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/my/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/my/firefox-99.0b6.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "91ecbb951fe4d987b226b40a9bb7efec4119cb43371fb57c98deecb538704ae6";
+      sha256 = "f24161a028dd225cc9e57636544fdf2fece02129e65388bf63bee752b23be712";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/nb-NO/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/nb-NO/firefox-99.0b6.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "bcccecd3ae6b89c6972a24d41967d20b487d55da6d0d489de0e69da6d9e95c0d";
+      sha256 = "1699b0cdfd96cef9193bbee9a461b3867783d93ca98974efec4e998ecd430847";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ne-NP/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/ne-NP/firefox-99.0b6.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "808f5583b067f74ed584804ea4a32ca86bab336f808944ee5877c7a964bc84d6";
+      sha256 = "c0d6ed8fa1ad7853adb10c83d6422fe2a41254522655d52e1ac4fbe88412996f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/nl/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/nl/firefox-99.0b6.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "2bdd1003f0a77b0c2d3703fcf952aa82dc8e0e56801945810fbe2343ff45c4f4";
+      sha256 = "cfc70746d63c465066e924ac3740e5c0ab7d19dfade9d32698e9c3903dfb8bfc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/nn-NO/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/nn-NO/firefox-99.0b6.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "c31423b965a44848021ab8b148ebef815451c706c0ed21e2272cc4d9a6404fa0";
+      sha256 = "700145c367d4177fabcbb183653498d4c3c0d23fa1686456f564912a62b1550c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/oc/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/oc/firefox-99.0b6.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "ce8dac45e0643307e3664f529fd8f22a80e3089bb17593febd730bdd554920a9";
+      sha256 = "a657ab1229f0f670d113efe6ee7f008544682f60ce936edbb4d68a2a81b60a8d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/pa-IN/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/pa-IN/firefox-99.0b6.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "1dbcb8f8a7097cfc9d52ae1702bb29995f1585a0e817a0bfc587dfb0779cf975";
+      sha256 = "a3641a38f87342e9511baf1866226da4875160c30b573893fa85eba644c5195a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/pl/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/pl/firefox-99.0b6.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "3549823c524d86ef0b60174425c49c6fd91bfbd8e7f8dce371eea882d0e09fea";
+      sha256 = "045ebe8f05147249b6516b412b1d1fbd9208f894e503000228a0e630c63f444f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/pt-BR/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/pt-BR/firefox-99.0b6.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "67b85d1b5229e7dcc0207ece3fcee3e5b3b086086103ceecfe34c80333d4c2c9";
+      sha256 = "23c50ecf3cf14217fa8c865f7ab1d7321c6815ff4c68c10630fef9d72904883e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/pt-PT/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/pt-PT/firefox-99.0b6.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "b7ebf1834baed814479bc2471ebd1090fe9f662b80cf177542cb0cf118f82774";
+      sha256 = "17c937a8afa36f4260ce6d3ea79a07b9119ba12b1710c43d27ff05538e6971a8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/rm/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/rm/firefox-99.0b6.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "bb19bcd207a6823c6ca304f13acbd7640aba4bb9fac14a4ce4fe5a3280823091";
+      sha256 = "836195c4a54dd90d7a32c031114a56fa561d1c2e3b8f930227871e6325dc6262";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ro/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/ro/firefox-99.0b6.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "f22e4c6b8024e724dc2bf09bc1f7d66109551a07acf9c2c638165ecc6e9280fb";
+      sha256 = "6c0c29c8b91013897b03866e242f9dd6a67c44440f1405c4b356dbb7a935a09a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ru/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/ru/firefox-99.0b6.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "7896e4fb06f0566f07069f724a0e1e96f9532eabf76108efa92738a92a6ae8d8";
+      sha256 = "73e15ebb5ceefe5d76ec3563378cb7c7704fb821fcf5b583fb709995a0efcb7e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/sco/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/sco/firefox-99.0b6.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "3ab3b8ccdbba37af17943df1d5f5b070a1c3826a55fbbba0c71a1a3f2342a3ec";
+      sha256 = "2f8ba8588f33fc783976617d662a29acbf41a78851dd781dfc26d7e0ac4d97e2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/si/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/si/firefox-99.0b6.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "4dd9bbca09dab4c57edc9a3def8fe768888f698e01186a5154a9b5fdcf68cda9";
+      sha256 = "5fa2169531665633c3481c177490110cb6a9bd959172f0ae94b2e5a6475a1bd6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/sk/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/sk/firefox-99.0b6.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "8db73e84467ef07a82f75224e36d4038fb29bb3d6246624cebab9c645a65d1a1";
+      sha256 = "abeb0a6de0522a4e2aa47c8ce02b8c478a21165153fc3c6edda8642777cba266";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/sl/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/sl/firefox-99.0b6.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "eab61eb7a5d353ae33573be8eb37c141820e545945229ab9db248263b7033c17";
+      sha256 = "c0019a21096573635aae9f2b97c50557dc011b670f05f1fcf0779732e2f7dc92";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/son/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/son/firefox-99.0b6.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "41d282f7d6ebd9e0a084c4a4e8e7f6b59a9433feb4c006c5ada699a4e4d2e19d";
+      sha256 = "ccd58c05db49f4e5295794c73248bb267bb87173aa7e0dcaa63cbe6593e9fc85";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/sq/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/sq/firefox-99.0b6.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "8213721fa3601bc529f5fc2a97f7f64adf544b994c607947e94e104d5ff5c96b";
+      sha256 = "5ff7791b6d9ff215e8e466b27902716a9de6018ee9ef0efd639579847178760f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/sr/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/sr/firefox-99.0b6.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "f8ed04bae5dd80366ed92be6437b01887310d914b306b172e303da78a878df0f";
+      sha256 = "709df8593b8257191313b456288de9952a9e6308a3663a21e40733b4eb3b7353";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/sv-SE/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/sv-SE/firefox-99.0b6.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "a9dfbc40e42b55ae876cb44499ed2b245c184acc4299b358fe6844c6f80092e7";
+      sha256 = "ff25b85789453457aa9c035395bd5588c252804d5801d8e111a24e64d69e4d1d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/szl/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/szl/firefox-99.0b6.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "8f2f3fcfef222377dce579308736948dbfdf29e7a0aff42a8b553990238bbb4b";
+      sha256 = "1da12d4d2046e953010fd5d064dfe468fd97e65f5003c8d746cb70479bd66187";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ta/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/ta/firefox-99.0b6.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "900de26055afc2ddf81d4480deab7711f0232ce034fde90f01e7314526866eb7";
+      sha256 = "494d240702bbcb9124d56c835ac4e3642e37bd873a5209ba9b99bcb338f40fda";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/te/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/te/firefox-99.0b6.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "f1b34ccfe1a28f7c3f9ccb1700ec91c2c8c0eab45b074dc38386818969c1d945";
+      sha256 = "acebd79510550d690adb1444e906dc82d9f38e86bd5a93e5e72f711d2d3e49f4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/th/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/th/firefox-99.0b6.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "7458224a8dfcfa1480ea95a4dcf6dfdb62d1e9576838820855cb23baba23bb94";
+      sha256 = "b6f90c5a89a8116c1049da7a3a34fb6d82114b261f978f0a2237dd32a10462bb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/tl/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/tl/firefox-99.0b6.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "6441f1bd46807575c11b209a35b9f5003d418c7ea439ffa8c7abd18355635bc9";
+      sha256 = "961afa78a723382ef7e4cb49cd0f32cca39dd921dbe8168a8e835bbb244ff4a1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/tr/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/tr/firefox-99.0b6.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "c65364bcb6078efc0e856bac29ee758bceb016e838cf74723768de3872e57e71";
+      sha256 = "15efd87bb2654ebd7921b72e0653639c4a3da51af7bee06b284d9abd0e395c1a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/trs/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/trs/firefox-99.0b6.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "3ae90a452b99a039e4d9590d92d4c58ce5684c6237c1d3bf7679ff3b422c99ac";
+      sha256 = "78bffcf079bb4e9518fb7ae6deddf395837c16e5a942b66fdeef67c9137d950b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/uk/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/uk/firefox-99.0b6.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "4dfffaf009936d7dfd6614c496fca8884076293122cae401255ef34304176bde";
+      sha256 = "08995e6b88aaa2af8dab0a95d27312f5e97df3ad7e1a6f0096b0803d835ef6c5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ur/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/ur/firefox-99.0b6.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "7fb0f40583398617a3469c1a0ba5a83443857b872b9b6b0deeda957b3796ae02";
+      sha256 = "8530f5bcb6bdcc1f5a3127d0ab6c94f19e4a28df2a6c4291c821aaf9c85f379a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/uz/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/uz/firefox-99.0b6.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "4b943e4439c8f07d3de7f9ac9e17b2af3a1d2a29bd4b917fd11664e1ea249e76";
+      sha256 = "67c7aa4e6095f8073cb94339f63aef2eedf51e096985ca175e983bbca4089498";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/vi/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/vi/firefox-99.0b6.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "08dd3aea42b2589fa141aab23d5f9c925d57cbf45619fc9b7b2d64ec13e29dc4";
+      sha256 = "14ee8e4ab854e5443f537fa05ca83befc679c5c78db4323c54dc85ed58702435";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/xh/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/xh/firefox-99.0b6.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "b1130919b88f96d866dd54938dfb63250df118a6861e8a0eb8b32943c027ca33";
+      sha256 = "ff4c8b2e0bc0a5231ba19bf058baaa7b455b2d8469f56ec97283d26539405641";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/zh-CN/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/zh-CN/firefox-99.0b6.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "9f1186860c19e4f6301ab0bdf39c2824038bb14b225dd8b8e43cca5b838ca92c";
+      sha256 = "0a9228bb1a0629351a62636db29ce428bfb1ed704222b66d1dd369e6fdb3d503";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/zh-TW/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-x86_64/zh-TW/firefox-99.0b6.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "70e66f4edb9e6c39b404205094eed21e8df186571c581f67f8176c78d5a41098";
+      sha256 = "42531087bef983024116ee5eb4d42197ddf6252c798944e7674648b76fdf57b8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ach/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/ach/firefox-99.0b6.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "7a133f4f6ed1b67715ace63839dc2d4a1dd79537ff168177ad5a329d4c482292";
+      sha256 = "15488bccadd886bea058313e062b811120f42978ab5d9f7ed05ccef88026bdf9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/af/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/af/firefox-99.0b6.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "b8b214903b2aca2b0e5d4de1f152e67c5a71ac6917903d92f2000629b51aae97";
+      sha256 = "7a8a204badfb379007c116d4e7476111d19e72928ae3ed8557b1a7de7535d4d3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/an/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/an/firefox-99.0b6.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "884696456c121f511b0661bf9972492e01a23d3e106b00c219c598855df7557f";
+      sha256 = "4fdcb8886f89c586b1f58eee2300276536bc06d024aa9864a447235e74f5e31c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ar/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/ar/firefox-99.0b6.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "676ac6c717cc21496baa6135d18bc7cb625e58c3e12c261bdac2a99401c38ec8";
+      sha256 = "dc621abab4c6e678e8910569b21fbb01c4ca54e0ca80b0585c5ae2124f199e8d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ast/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/ast/firefox-99.0b6.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "c86f2615962a16d7766ae21598f82caf77f0cea341e0b931dc1b9ed90a9c2f02";
+      sha256 = "afbe9810b9f326ee8b561acff2e2cb809793177daf00bd467bbfae245648fc56";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/az/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/az/firefox-99.0b6.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "14875cec0478392c2dc4c79de855f1c338e7737132f6a4522e65e02478072d4a";
+      sha256 = "806a98e46682d180348f772de1aacad415948e77845d00087d4717c40a4814cf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/be/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/be/firefox-99.0b6.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "9aa8bf0ada8766019bf9c6aaec64c005239c3d9d82c494e81ddede4f822b0bc8";
+      sha256 = "ecaeb8a69b0c1a8330748e9db299bab7920c3f7f0e3825a35cc0ac6e06ee35a6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/bg/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/bg/firefox-99.0b6.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "a822d9daaa748c6f64628dd7f4fa2cd0b8bdbf57a77710bab2cce990aa052874";
+      sha256 = "cf499eb69e98f38eb211c1c962ea81a8617bf169b4e6309fe900f82ce38b8c45";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/bn/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/bn/firefox-99.0b6.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "209a83d4d7372b7f2ab578622c3e77110929bc4a1d572c2b3d084e5c2b183d90";
+      sha256 = "40d828000019191f9a5f45ac49eae01f66b3251326cdffdc395089bec2396f66";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/br/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/br/firefox-99.0b6.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "20258167e5f470435d01fea08faaa1854872d5bde35c3a48e4028e8a61e5e894";
+      sha256 = "8ea216bc32179311769ec3eb9e8fa25aac44f75502a9f6d9b20c3ac0c2f6c336";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/bs/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/bs/firefox-99.0b6.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "948ed50f652aa1f0d16de7923b29d6c4ae1e9f87a16cf4d6e195a94e7c0bb196";
+      sha256 = "d85c1085e8dd29f69ee7a41bebcbc6ef85118423e1684026a47e71b2072d74b2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ca-valencia/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/ca-valencia/firefox-99.0b6.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "65eb92ee9f63176db9efb700ce8b26c2f9d1d4a4ce2d66ce2b12bf0a083f0db4";
+      sha256 = "ef80441301799de2d0043eaac8537a4e994e232666a315db4acfb3cbdfdd70d2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ca/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/ca/firefox-99.0b6.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "ff3d52f5060ce6b69a52ab54baf53ff767a6a948fc5385b38452ff1ddd32d10a";
+      sha256 = "f5888c5c06b29afc8314f7c4bd3201c511cd8fa07322f990d7f58978e5a9d31f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/cak/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/cak/firefox-99.0b6.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "d8dedf187004a64a6484657230796066be8819be188b6c73edf23a2e516015aa";
+      sha256 = "4ad994ecb37604cf9caa8035750325853fd9a87072439e17b2bd0cb4b6066634";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/cs/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/cs/firefox-99.0b6.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "5f6e10610a2f3431ea75f36b5abe3a79ae2a877fc912733be7b7ded63c2d0434";
+      sha256 = "688096996df92cc3d070c43ceea6abebc8dec53d458fb3bcecda0a63bb048269";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/cy/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/cy/firefox-99.0b6.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "c6bfdb386e2dbef46666582b97057dc4d87da0a3da708f0834cbfb46f01553d4";
+      sha256 = "c10ab338b8785a0937d6ace161c36f3c05a8016d5b3d7051155eb412985c71cc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/da/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/da/firefox-99.0b6.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "d657648c3bd243d005b7b8ae9b720c3dd14ebd7fab10a5aeda332abec34adae7";
+      sha256 = "04a25829cd6f56b5d05c0ccd2d26fd1e28838902388b8dd1fa2472eb84770360";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/de/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/de/firefox-99.0b6.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "653c7ac40b697418ef9335b5d84b4791126a4d88499c7643b8691ec7f7f2674d";
+      sha256 = "ee5530c4477d8a0df77f4fec8112ce1f606aee109e97cbd37aca6ddf25c4f52c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/dsb/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/dsb/firefox-99.0b6.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "caf1f6164adc422f9b6d15998acace1644b3b7422cc049302151e3edf060c8c4";
+      sha256 = "0f85121b622f28c84bf76666dac0282528a1d380506f03ddd0944de7f2b07afd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/el/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/el/firefox-99.0b6.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "a500f80b351209b849689cea6eb558f039c2ccfa2f88544473c9e6b6592d5d73";
+      sha256 = "99bdc3c28894fa8141e5e1cf9585717b91686ab0082a57b4d7aa43e8a6394505";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/en-CA/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/en-CA/firefox-99.0b6.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "4c3c78cdaa65537de0577889eaf2029981e57b70a079111f26a53cc28ed234c8";
+      sha256 = "5facba35ff29bee9609c94df4672df4375b7d20ea424b1b64e911bdeba5db26e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/en-GB/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/en-GB/firefox-99.0b6.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "5ad92e4c565807f377900c3c588b2e7090335259bb529b71af45b37b9a081067";
+      sha256 = "e2ffe099d47813c705422758e78ddccc97fe99673379b2a6115d9e298df32074";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/en-US/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/en-US/firefox-99.0b6.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "c5dd205aa822a311fcda06018ba79fec68ee8c2b05d5ecad1d2dcb103da87509";
+      sha256 = "edd09800502881bb1a3e49042c0eb1c0618bf2a0507a38dca9dc4e3fb391dc97";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/eo/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/eo/firefox-99.0b6.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "613140f6f288290d93a0a41811372a46debcf9de05dd1858dcc5a97e242bd657";
+      sha256 = "678f340edfc6cfc8ca9b88032856119c0474f6944e8d67778e098100154f9a9d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/es-AR/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/es-AR/firefox-99.0b6.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "ab6cd6c4e09cf5dce87a5f072068b7c49c203296a5ce0c32fe41fad4d4fec495";
+      sha256 = "2d2fc35fae3617bfa1ea2ac466211b64ce58b13fdcda8f301ad31f13f90d968b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/es-CL/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/es-CL/firefox-99.0b6.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "93349da0b0a1529e8b5855519175f61e064445572b9acbdaac68695f7157ef14";
+      sha256 = "df84c0a9ca7a896b02d83d13ffb238e90cf69926feb3c8e0d6edfca842f8defc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/es-ES/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/es-ES/firefox-99.0b6.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "e5d6800770146e6c1e4cc4d91202ca4749b6d922ee5965bd82a6acf7448f2677";
+      sha256 = "1f87c85a46b57f99ae9bf98256fd115a15e1a86a4c9860cd3faa3c9bcc424806";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/es-MX/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/es-MX/firefox-99.0b6.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "22aa961e8d40f0d4bface131a19ff0cc0f88b9f66bc9b63c3038ae2b878cadcb";
+      sha256 = "eb865eff70bd7042cd5e54e2251b9111b18d484fe1dea4d4ba57e7dc9ea2a5db";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/et/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/et/firefox-99.0b6.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "722ba0c78b51491d8943823e0aa972147c0504d7c65dd7c5eea29377abcfc571";
+      sha256 = "beb51d1ea549633f09feaf220e96c3b0506c3b38baaa0772079b0f7efad2b281";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/eu/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/eu/firefox-99.0b6.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "96b12801ae70101cbf4620e1fbc8e4cc074e4f07017179586cbc5ab208fe9f0d";
+      sha256 = "d7da5f728c7858e8773ceff7e30ca28f238af7aa618711de1286100512fa2378";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/fa/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/fa/firefox-99.0b6.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "cc97cd08c428bc52616f6db25e9dd50f9162c29758d6c44160ebdfe745211d0e";
+      sha256 = "606190d0434108a4f8c2bf87629ca119339211856ec9fda619a0bc6c2bfc620c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ff/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/ff/firefox-99.0b6.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "982fab751bf71de830c9f5866943962f3095e70c4918f65201f8f51c99070898";
+      sha256 = "2b3a7038abaa4ba5ffbdc48eba4e6cd2c03bdf438f8ea9b70f15c1968bb59b80";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/fi/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/fi/firefox-99.0b6.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "c5e9739a2b8f60d578a8a1f22f947d25e8eb14049ffdf57a3948a50e34400156";
+      sha256 = "a2025ddf884826afea3a16a87716398658bf55fb5ac5b647331f4f25166555ba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/fr/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/fr/firefox-99.0b6.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "7441aeda63c2e90a26a342c80846a4ea0a48d4d4807aa2fe39337401d9002a54";
+      sha256 = "31adba6a0615ff23388686959327ee0e68812c4341bcf92878fb58a7c01712fa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/fy-NL/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/fy-NL/firefox-99.0b6.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "83d26111f5d82644ba1601df382aa57da851f69284cc4fcb88d943a79fa5709d";
+      sha256 = "8f691e303e2d1fe5e7548184d1186f4d4a811b65cbbe6e839243a12ecef8eced";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ga-IE/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/ga-IE/firefox-99.0b6.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "1c845264e89286cf8a5171f372930189455b3e2e0b959f8e271799c4bb00b074";
+      sha256 = "e8a4903ceb272389a7e1461693a7e6727990432ba4a6d5c98898af5475e6d164";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/gd/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/gd/firefox-99.0b6.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "a8e7e5e6cc3da1aae7c016dcfd28bebf35b4f5ef9a4687fdc48175126dfd1043";
+      sha256 = "bf6f72c6a2ecf977dc2b14be911c13f59951dea4a4d6c40cd16afd38ffc63553";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/gl/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/gl/firefox-99.0b6.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "20b081e9f5443f247520f6b78283666c695c574fe3113384b81c8bc1b6e100c8";
+      sha256 = "af31f670691de33b3943d5a1e9f12b9b64fe53d25ef45eb44cdc44430208c201";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/gn/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/gn/firefox-99.0b6.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "6dab96866f64e882c8b7a42c6b66146b9c6f34e0934304dd192aed28692acd05";
+      sha256 = "f1a554806a9f51f8c4892eb23c65aa53f96390ca7e5e032f2c96cb26f9deb077";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/gu-IN/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/gu-IN/firefox-99.0b6.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "a81691a57dc6d64c425254688baedbe16589887e99a88328efa391d7c22a7cd2";
+      sha256 = "2686a4fea05aee55741ef0333c916d4be8c5573f6e7e80b587a8d2bce3c2dacc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/he/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/he/firefox-99.0b6.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "e22bfd17a291bf7e890f80b054a9a608a8b7537a401c2fba0ea97bfda531a06a";
+      sha256 = "f4c18f2cc00f93636db310f9d9279d43bea6ef193aa693c7761ff1066e9b46fc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/hi-IN/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/hi-IN/firefox-99.0b6.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "ff107e3b42e93ccea47c0f4b6fac05fec1904333e1173cfd193028b1c7a02ed4";
+      sha256 = "8a2646bcd741965d8a6835ca8d38dfbe66b607c87d9cd3b32b861dabc5e7b916";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/hr/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/hr/firefox-99.0b6.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "50f460b541ae13cd78699642e0853bd198d9c2604c74e1894b716a7226a82b17";
+      sha256 = "46b59ab47cc8fb194c6f5f20a1ccc2f2fb963f2c3944e91aeabdb829c1e3d483";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/hsb/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/hsb/firefox-99.0b6.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "13acea425da7fe917fec2f7daeea24f7705c6af770f02918097cf795dca4f4f3";
+      sha256 = "f4bac6b25259c55d7892477dfe7bde36d09ee85399096eebfcb3a0c5bba54d1c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/hu/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/hu/firefox-99.0b6.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "f0ca828539b50b41c478b1c48ad96c3db25bf2dcc3eef5924e55b477b01a7339";
+      sha256 = "d14bc01ca1936e05f9f58a6516f1af98029d71e41f6cac7aeb6055c3a25455b8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/hy-AM/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/hy-AM/firefox-99.0b6.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "93b756eefb43ec5ccb8c2da88804ceff1388db4cee07cdc1e4d9e745b5b8c971";
+      sha256 = "90f4b0aa50a353109ce313543abee0606c4155a2610105ef9537319e3bf9f137";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ia/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/ia/firefox-99.0b6.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "5b4a364a9e288e9b83b0c99ffba35ebfeb37984e0d1b4fbdb9003f5eeb490bb2";
+      sha256 = "384c3a0db8fe5448c17815d5ecab4e18ab25ec4ae75319b4b0075741d285fc4a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/id/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/id/firefox-99.0b6.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "5b6438b6e2d27ed1e5b3139b707610f21b977b3080b83e5cec1375482124895a";
+      sha256 = "c8067e2bbe42bc9b639098e463f69c53475d949ce883dc2f108a80d62424c0f5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/is/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/is/firefox-99.0b6.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "882246ace511dc8b8daf9370d134002cca9c470c2420c7110325813c86ef17a3";
+      sha256 = "33b049fb59684b094b919646994c446c29d4d3c533ef97ed5c592b86b621ca2e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/it/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/it/firefox-99.0b6.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "d49c6a19ab9538bb731ea4b0bf272dd35aca39bac41cba5e440d9aa3b61497fe";
+      sha256 = "1f3e0d9fc78f51946f2d35ca6ab977f53fd58ad0f80412dbba23fe97c9b8bb0c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ja/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/ja/firefox-99.0b6.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "da3e2b86437ccebe811b1b0f7c79d8a875a9f682596cafc3a30d216b584d3412";
+      sha256 = "41fd54681fa8ff564fbc202cef68cf4f63b44764dca8090386eef4f0d7395de8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ka/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/ka/firefox-99.0b6.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "7a6889b3e6859ae3af55a5df7c7d13d7b52be3a8b0643ff9b14b7ebd436cf2a0";
+      sha256 = "a46ee22485e1a51c0a955a66a388a4afcad842ba162fdfa4ccf8826fab26cc55";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/kab/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/kab/firefox-99.0b6.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "1a7942f57ed945628815b3ee536b892acec11a7d4a5c7ecb31bfb6c61fd05996";
+      sha256 = "33192258d78d383eebcd465bf333d3a59b92dcd87fce6dca72bbe59fd10ffc4f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/kk/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/kk/firefox-99.0b6.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "7eb32c26f0e4551abe340567558644a41c101edea66042eeffef299b35f53959";
+      sha256 = "90bb4cab46a5827bc2e9abbcc79952f033b132fae628fb0f9697a55c69b9e049";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/km/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/km/firefox-99.0b6.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "608e5e80d8e5bd48e327f1b827835ae0ddb2dcfb2921d33c1e9bb895da695641";
+      sha256 = "0b70f38800d315af8377a8a7db8f1769b559ba06f92fc90bea3ef9c07dcda86e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/kn/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/kn/firefox-99.0b6.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "9b9eb2dea61ac0dd76252321caa2afaa98a3c0b64faf3d1f354e9b9cf02b1761";
+      sha256 = "dcb383343a002dec453abe185c02735d52e0f579e940104af9311b701a4a1d81";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ko/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/ko/firefox-99.0b6.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "58217c4383dcd7720c7362839c9326c93e8cdf0982fefc4844b2c6ba66ea0360";
+      sha256 = "a60f64fcb7fe7456ce76f696bc17e1bfb6c2a3997ff79e090ed49735c6443a44";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/lij/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/lij/firefox-99.0b6.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "89f99e044b69d89219974772d385f5d86b64c9f12ba1ac9a2790dd61ccfd44b5";
+      sha256 = "a2dcd9632c637a52695a0d2aa085c329a7ecd19443bbba27c232839f9b64ed6a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/lt/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/lt/firefox-99.0b6.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "303ebd0555d448182167b9bff79f72dd7fa247c1fd259c3af0d1ee3f0f4e339f";
+      sha256 = "c6113f95e4c8387b9de8373838fd08638c25438995f27380f30e2e22bb211877";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/lv/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/lv/firefox-99.0b6.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "f89d9021207399c9ba56db03add2ed8e10fca3b8273f2cc4ef79814730af9cde";
+      sha256 = "302a146408cd24bd215ab2a1ada0b6306e30e549663f9ab85cdce528a79eb088";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/mk/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/mk/firefox-99.0b6.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "12d5492f712b993df46a2083fd2d3958da8d5bcde7e11ef83482b3d6c0c0e5ea";
+      sha256 = "72288455347b225f2e773df5bfc82d51709b493a2f7aa46b78da0b5fb4d89b35";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/mr/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/mr/firefox-99.0b6.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "26937f627cd4c14bc354c9e39378e56ef06ea18519f5b6344ca6ebcbe1ffbe1e";
+      sha256 = "f67ebc75fcebc1ef25ab6838ff34a27395d3babed0e08014c47b213a4724b9d7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ms/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/ms/firefox-99.0b6.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "2de70b33a112c662a158493a14e05ca45904a0ba9ca71d2416ba59ce81bf4192";
+      sha256 = "612625f0ef927d42b9ab526c10f67c443d60bf0714f57570eb76ce97f84c2f4e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/my/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/my/firefox-99.0b6.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "dd3b9ec61dca822106c3b88df842f0380a75c1262bef82be1aef6040df308e1c";
+      sha256 = "b3bc2ffb890f6ae3316be0cf7a987b186268cca8d9df4cd1ee6f390e689f1148";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/nb-NO/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/nb-NO/firefox-99.0b6.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "997a5202f5da86b665595b7f0a4c793527428c1d78c60831ac6b52961ee466bf";
+      sha256 = "0751f4007a434ad1241459e13841f66c32664b1c2eba53fe936c559acb609a36";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ne-NP/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/ne-NP/firefox-99.0b6.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "80577c41032e229cba1c2130ef66a428daa0ce238a12f15e1815460c02f0fa93";
+      sha256 = "72e278fbb6e073166de952f70c9542e5de2fbda9615205a5ca8e4abfcaf2a199";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/nl/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/nl/firefox-99.0b6.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "15d92dd24481329ca8f742bd71ffa6a5dd20a4c6362dde813f4dcba663da65c2";
+      sha256 = "5fc45ef4391c93b081e5690d9c759547e47bfba389bb6143c5f00353a18cf22e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/nn-NO/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/nn-NO/firefox-99.0b6.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "59d49f04138c120b6f9e4ea8d9b902f90dad86fcc16ff82af47bc198635f5747";
+      sha256 = "1d7182f883569941f4a7c2e7445f5b2f39f2b9ace02b42c7f4c18108539c2778";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/oc/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/oc/firefox-99.0b6.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "3b82478ace0de50b1e9e60715da1e90f97e6e938577c75d2be44d313354291cf";
+      sha256 = "5a9100e569886a334cd5f6518f279a537482fa0a32ae0e663ddb3afc47b3f405";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/pa-IN/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/pa-IN/firefox-99.0b6.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "62eeb120929b980e1b0c30a38054a84e821b3895f73be938274f52cb19791038";
+      sha256 = "fd310dab3a60759d98059ed81cf6c2cbf9a422ec9b56a590ce774e1a5377576c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/pl/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/pl/firefox-99.0b6.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "a5a304bc7671a16ce9e41158ad34ac7e49406740d22decddab2c5a004a76a8f6";
+      sha256 = "79a8d53d9143d9208af8f63c96385b94a2b4ff2bcad40bfbc8250d792b1b3688";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/pt-BR/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/pt-BR/firefox-99.0b6.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "ed8e69b18fa20ff70effd6417d3e457ce4e820907bf550d9f8aca5ab135e12a5";
+      sha256 = "bbd6b280549cc9b446346e5a3bb3bf7d091782c6b17d27e22767cb5056bfa789";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/pt-PT/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/pt-PT/firefox-99.0b6.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "c5d3904f8f09309b0c75f80676f156261dd63bc37817283bc21f577c99c900f1";
+      sha256 = "7b246df8ad2f65bf29d97dab9d8f78a66fd7f5287820d4db21ca284b82ebf939";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/rm/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/rm/firefox-99.0b6.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "e7b96b422b949121511e4cb289958c9efa96f0d0e3808e20a97aa03b4c441529";
+      sha256 = "a721ab8316ad1a3dd12407a2b68986dbbf32632b40c1151640dedae9ad7815c9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ro/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/ro/firefox-99.0b6.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "6333056941db9f5ae7679c3aa4213570f1add3f60fbf67729a97b7210788744b";
+      sha256 = "66d9d112528b9b6f01cde01d7a251c28821e30b435316f5bc0afaaf9436052af";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ru/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/ru/firefox-99.0b6.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "05c050f50704b62324aa699856c3a6cb57e2d5bce783f9e39861a3cb92c7eeff";
+      sha256 = "a7de24d79cf333da45b474d8ef9eb5b5034f18eb79b8d8590cd5f39c7d5de130";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/sco/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/sco/firefox-99.0b6.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "6519d91cf5798d4b14ea3743ab4b1ce547031b346926b8504c16aaad61a9f023";
+      sha256 = "9d8754c1a5e2c4f22d1ff5cfbd39f5092840e9910f58f0468fcdf8df4306639d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/si/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/si/firefox-99.0b6.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "7abbf189b2229f911a0aec5fc294ac0efd9e7ac9d657aae08e7f867cd0128179";
+      sha256 = "9dec327ac9b519dad9d61cfbebdff117f61f3a44715379ddd1db38891a13346a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/sk/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/sk/firefox-99.0b6.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "b02a4906ca96a545af361f5aa29437d3d4c873c3ca29db4ebb36fa2128b3a540";
+      sha256 = "8b8a8278d15d848361a854f898c021e2ba875da54921cb5c5aef260929134b11";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/sl/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/sl/firefox-99.0b6.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "b1cf1ce7d68359b1d18059434c0aa13ef9871a82cd3c3e81fe5bb9c3ed7249df";
+      sha256 = "f605f1d0e94e3ebda1491efde196bdf33c35ec6c34703a6d5559afbc47dc4c17";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/son/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/son/firefox-99.0b6.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "6eb2146f30a6e4b73f5d5ccff0b6a9483753ec135cafb9d16ee7d693de26f9dc";
+      sha256 = "7d0b0338f9ed0dd5e214199cc4eb10624d07078beb9945281f01721a829dbf9a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/sq/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/sq/firefox-99.0b6.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "ac7c65f8569531fecb469e37ae8728fe42ef0ab7d542be4051cef398c2db0fe3";
+      sha256 = "546c338eb2cb4d185e597f0ab94186856ddcad7a7725837e9f0d3b6460363242";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/sr/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/sr/firefox-99.0b6.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "acce4ec2bbf346fa76c5d40a8bf3ee3696484b8de4e57135678a3a60ca5c3857";
+      sha256 = "851482b831381a8fee93e7f2bf627675d6a0a39b6024b613c319e28341211bff";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/sv-SE/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/sv-SE/firefox-99.0b6.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "7260ac1017a5b4452b5aec0de30894c6619c5f480aa6f1df67a9e876ac83fcde";
+      sha256 = "5116d06eee5bfe3d906ce833ad5ee6ec01df739ede6d2a0bb742964f5142b695";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/szl/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/szl/firefox-99.0b6.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "b9327040072808ef614944b659304ce14c6aeceac82afcfd45454d610ec9d019";
+      sha256 = "503a4fedd181a8fa1b5ce578a6e950d7c8e8c9d641a04bac617a4d5505c54802";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ta/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/ta/firefox-99.0b6.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "a4c5d9b87878d269be2b6314c1347093e04c8d21300344e3435288da0e325cea";
+      sha256 = "8291466aba0e6bc86665a605e81e01ab2fdc3e94310f90284319a585a7688d1b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/te/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/te/firefox-99.0b6.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "4d0f8b73c3cc034604330787a4d8fcc914eaf4cf7a3187041bf924b6a450d62b";
+      sha256 = "6d5e52745638471ace3790e1d162f3eec0814f7f38e49e3041cdbdde84c14ebb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/th/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/th/firefox-99.0b6.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "c152c0e843a69e6c099995707d838b1540b58b9c74f42241926ff2415321c63d";
+      sha256 = "1983264e9e0681edfbfb1425a24af506b9c451bb2947d153aeab4d421a2dad94";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/tl/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/tl/firefox-99.0b6.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "da96cd06713a231bfeb10a1c077586579aef855ffeab88de13e9508cceef0661";
+      sha256 = "42b44c25ad8c5e7f69f4500411d41575a44efb943fb62da5c2a0844a79f1bbec";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/tr/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/tr/firefox-99.0b6.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "b7789d13580a7149f7c3c03a234d40e56f95782654e0c7b24078d95106a316e5";
+      sha256 = "68e01ef5fe17667548b218b1b69b7ad9b9017647b5695623e6ab6b2ee7e704a1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/trs/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/trs/firefox-99.0b6.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "1c6fc47bf87316ccb5cb767d0a42aa685cc2d75a923138803897d0aee0035c24";
+      sha256 = "29adf4bc2783130d5b64edd8ea812000748938538b90f47e1f9ec704cf183752";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/uk/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/uk/firefox-99.0b6.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "647f29a9cffaf16abdf8be253503fee7df5b54cfe90e311a7d1f978bfe53243f";
+      sha256 = "6953e34511ccb537fbbf2a6cca6369c2f8252e3025dc459bb809ffd44f602ea1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ur/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/ur/firefox-99.0b6.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "2451a832ef04df012d6114c6a9bb6f99a2dfd673f4d5a1ae5fd2b048fda3ea2c";
+      sha256 = "6479f088e60bc401346ba93be6711d83f42e113c3cd9c71e02fe72e2fee18d2b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/uz/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/uz/firefox-99.0b6.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "c8b0f6dce66303ff77c33d33516f41070ad470d04ea7a159d8a2407e072b4617";
+      sha256 = "99217c54b034c995203bcb290b6b07ddcf8dfe3f0d4f67876656e5930a813e75";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/vi/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/vi/firefox-99.0b6.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "fd08bf4e07e05535c39469307bf423f64d16df910e3dbe29f608818eaf63b5b8";
+      sha256 = "0b714adab63f4551e2837b6fe439f1193d2c097cccd0d938e6ee069bf6273cf3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/xh/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/xh/firefox-99.0b6.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "b1b07960637d5bcc3c540ecd3ea91c9aae6d602506416093afeb68ffc9a84e37";
+      sha256 = "f15315fdc1e03b0bb2f834240f35a695b3f1173494b2ee1eaa36d7b154fcca4e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/zh-CN/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/zh-CN/firefox-99.0b6.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "b21137ca94f8426338635c2173be59474f07fe7d6eae7bdbd062311a5593dc3c";
+      sha256 = "a959f20cea8596ef0447f0823056a6e500fdc6d38fe9bdbea06fdbb8ebe93973";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/zh-TW/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/99.0b6/linux-i686/zh-TW/firefox-99.0b6.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "652c5ce25e695ccf5cb8145f1c71660bf39e6bd9b2a951f468cd1d1967811f2b";
+      sha256 = "e2c8da8c23fbb7817ef215c035042d04f6a2a0705de9924c66c80759deb67e1c";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
index c3d034cd5a1ed..25a81d11efafc 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 = "98.0b5";
+  version = "99.0b6";
   sources = [
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ach/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/ach/firefox-99.0b6.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "75ed4180a84010f7bb509f9f8107e303c6243008071f0ab925313aab0e4dea60";
+      sha256 = "0bb4605a97661502cb23fe2ebfdb1a31831f8ca015349b3105d1245fcaa5eb69";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/af/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/af/firefox-99.0b6.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "b4c380c4d73ecb913a1ffcf0dc0d3dd771240f1188204f728464df8a65671013";
+      sha256 = "564fd8895c6fa6aecebd5a7250bd73df45a6e51f90845d9597e59cd9175b6c2c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/an/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/an/firefox-99.0b6.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "247918ac04cdef6ad1452f1d7cb0754f48c70cdffc2e20a3187901c72a023f30";
+      sha256 = "76035e42b93995e6cda0de737981760a0025013bc3330142b95ba7329d54153b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ar/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/ar/firefox-99.0b6.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "68514334b54f4a626d7eb37f563bb39f418d6be4b980c7d3d31f417153d51482";
+      sha256 = "31abbbdf4378559e6b612fd3b0167bbaad332edc47d6ff67e8d9aa7e01130808";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ast/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/ast/firefox-99.0b6.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "cf6a2ade0caaed45038a1237d4881c2e07867d1ba283432e7464ffee5c84258d";
+      sha256 = "1c4a2c370c3f566823c722082a3a9f149050cb7a891f3a1f21b7ca8ec899ca92";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/az/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/az/firefox-99.0b6.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "5c481ca36bb79dbfa5f4e6b83c76a0746b6f4f3fb69200642315a9226ec04809";
+      sha256 = "b1d0effa84614c985001705630da49b70f09e91be3715795fc18d926303b6b95";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/be/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/be/firefox-99.0b6.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "676169af51ba1089aeeedc1c57fc19bf383fbeff03df5b13ef401b63ec9aa249";
+      sha256 = "d0ace001eff838f8dcb80090a193307e143a5c1f3b1dac143ded5af3fecbdfda";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/bg/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/bg/firefox-99.0b6.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "5e030aeb833b356b145c8ee624ec18facd95c16dbed374d1f2e90c4c14427404";
+      sha256 = "784d6029972a843829783581796263899371c777cf669f0e4f6978f35a8d6199";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/bn/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/bn/firefox-99.0b6.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "7211a76921bb81307bb14bb57c5e062fde21de58fa61ef4f676652cc2c5d365f";
+      sha256 = "7cdc3a6f35c2a56b87a58eaf3112148c51b2d2d0fe5d9afc5deccfb2d2269b2e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/br/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/br/firefox-99.0b6.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "a2a6dcaba8188b205207bbf815b899a8413a494af1e87060b1da73cda1a8ca0f";
+      sha256 = "abbe12c9d887ea98d85479105bf2640bdbe3d295def41b626d3d8feef3627b36";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/bs/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/bs/firefox-99.0b6.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "fd0bfad035287c35a809c1fbeff9b00e78f6c5a067e8b301c30b76ef37922dc2";
+      sha256 = "fc1076c2eda5623869a3af5c850fb51cf8611501f51984c85f690b4c545cc93b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ca-valencia/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/ca-valencia/firefox-99.0b6.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "ab4d58c4640a4b0e65d824e62a898aa19674d37929c1748a27e4aed8e5be0e97";
+      sha256 = "d328055c61c96c92dd05989c23a3f8f49b36cb755f72118c21331f986ba3b44d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ca/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/ca/firefox-99.0b6.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "0429ac4f1050234a28ac1cb3fea8eeef0a763e4c316154e6f02452fde434d968";
+      sha256 = "6a020e56c5f4136deff38f07d94b516971af1a31a804384a50396dbf6241877e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/cak/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/cak/firefox-99.0b6.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "c69d5c22998d097213fc0016a344c967064193e81fdf45b2bfd5f1687883690d";
+      sha256 = "c6298bdeba82a637bb3903aaf73b9de9f0a3ce4ec22637b1ee1340273b7e36af";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/cs/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/cs/firefox-99.0b6.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "7d06915a6b86c9bc8bf408fabbb2db73f56c3f0dc3a81d7c11324b564bde3d51";
+      sha256 = "1facd79fe087052af58205d2a0a9acce68a1d9bc58d1a3bd3e49b740f6e51647";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/cy/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/cy/firefox-99.0b6.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "3e7ea4aebf641697f182c1ed5cd8848a4aac239f1fd7082f5deaf7911ca99f5f";
+      sha256 = "e7305badc55114c4a39edc317202338b3e61feba9844fc2cd8edc1518486736a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/da/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/da/firefox-99.0b6.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "b151987307e07fdc86ee14a9c0487c3be73b954d28c5beffd9b00ee05740da15";
+      sha256 = "6b1d2403e1e74c97c763476a128c56079d546967c87f1b225ac790d9acb6940d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/de/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/de/firefox-99.0b6.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "433edd8dc45eee166d14d1340453637985f8e606d635ebffed09f20c93cf851e";
+      sha256 = "c8d01b9a1bbcdeb1fa0fa63ff553209d095280ebad4eb03efa47e029505b8204";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/dsb/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/dsb/firefox-99.0b6.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "46b731e6ebac3d2e729e69a2d671b5980f6a2d8ccf83c1e6828feab93bff73ce";
+      sha256 = "bea09c23f3099c85e415bb05916ab9e3374f78e897e2b8549fb9f67895b7c052";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/el/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/el/firefox-99.0b6.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "a6f5e1ce2b6333468a250c1a28bdcb7e44539315ecaf3da09091f7cf3c08f3db";
+      sha256 = "bd740ab9aaad78e4b16e42d610ea1b914db95e2f8396f0e9c4803e38c9810f20";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/en-CA/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/en-CA/firefox-99.0b6.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "bc56c9b18f7d8ecbbdb6f3d4b56607bcf9355156174d537e0e85d41f32876be4";
+      sha256 = "acf5c9da684d5f7bb5b25e5fbd62d5dfafb1a5f33bd6c7baa385a37967e516a1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/en-GB/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/en-GB/firefox-99.0b6.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "35b574db65cd0f4511d745892690dd2e64fa4c0ca1eeb2be56ad2259b45f48c5";
+      sha256 = "76cfab3fb29274bcec47ce72e88f783668653d3f8ea4ad00637bdd7ad5d32364";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/en-US/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/en-US/firefox-99.0b6.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "2968f69125d5a203c2edb96bdb9a922d26064c7f903d5d1b9d7f5d0f7a4aef8e";
+      sha256 = "798f68125a37ac1e60d72dff3a773cd167075a58d523d7d9659cd5fb511e2dcb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/eo/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/eo/firefox-99.0b6.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "7f5abde625cf25801bede74f74cdc1413c3dee3a4288eaf75d5e967ce133a88a";
+      sha256 = "0b65dc59679b42a298484d3901f3f47d6073f08e260a792a6e80d9c5a0e6ad0b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/es-AR/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/es-AR/firefox-99.0b6.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "1626c5996088df57740cd8907d61210c8081bb0a2a1b19d8bc9129c14fbd6dfe";
+      sha256 = "3a894741998ee1a2adb6def1c8d548b2c5fcab8fbea655a013dbeef9a29ab228";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/es-CL/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/es-CL/firefox-99.0b6.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "5bed3b64b239ded8424a27b01a8456248e317b8e2b8ee92ef50c9462574189b5";
+      sha256 = "1964534e196d426a9d6dbe664dc16790f010214cfba85e98f5df728e110e0a74";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/es-ES/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/es-ES/firefox-99.0b6.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "cf79cade9876dede8e6a4886875181d153169ca4f8ae5bfa9958c48f2abdcdf2";
+      sha256 = "32b21ccb56fbe2e46aba0e21c417e2a7d3404a0a3487186c75d042fd84c5033a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/es-MX/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/es-MX/firefox-99.0b6.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "544ec72d7f304ba702c134d1325f6589e30354d3d4b03d641451bc2f560446cc";
+      sha256 = "d70ff15a4cced1028433e603151af021be98d1026322203f0412605685611e5d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/et/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/et/firefox-99.0b6.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "5a5775bc02aa61edf7d218ffc9506e70ca2dfb781f0abf5e4aabc288328deb1d";
+      sha256 = "df844133edc74d396a2fe66b0a71efda2c4797ca7110a12c4c7e620cbacbfe8d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/eu/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/eu/firefox-99.0b6.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "27bdd41a21e159e19bc9ef1464f1f76ac48126decd2942b4a18d4ea0777db743";
+      sha256 = "1ca8ba1a7ba29a0c21d7bdf5cbb046fa0e145a9bdad5debd93d121b512a060a4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/fa/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/fa/firefox-99.0b6.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "7e3d58ae913c919aab4f716308a9fdc6cfb590538b0dd0b90aad3dc099caead9";
+      sha256 = "a4c223f683bf75c96650d939c56aa17bfeca975ba8863e44dd5ce0449b436b3e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ff/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/ff/firefox-99.0b6.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "553b4b1025749f374f82acac4e529799d9e555754e63ae4a8bdf016ac8ed620e";
+      sha256 = "6b165789213fc3f9c3f46457a04974e3c718b2c0aebd44c57c7bf8f41c73687b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/fi/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/fi/firefox-99.0b6.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "7514590c9dc0d9181ae439a637640ee1dee40e00e9283008a54ac3a07ec8256a";
+      sha256 = "eea67a8d94f324a9ab74caae5a7755f9505781ff690760a06a62ad034ba76bd5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/fr/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/fr/firefox-99.0b6.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "ffd7579cdb4e6c8f5e1e66b26e3b064362292d93776313b9ded9da4a3b764cb0";
+      sha256 = "d4cc1a70f8d020870ccac0b023574b9c0f39fd44bbbcfd8a35f6c688183f2a9a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/fy-NL/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/fy-NL/firefox-99.0b6.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "1f8457a73eb013abd48669f4cf1e109d307f307881e1d9b46ba9aafb09ecaebb";
+      sha256 = "df49ee1a9db407819fcc7baa9c6bc9c6fc9ab2c2b57b08d85c9478f1b0aaf6c0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ga-IE/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/ga-IE/firefox-99.0b6.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "6e9798462e2c2c0c50927276595c42539880cee4f58d00808cdfc5113aba9399";
+      sha256 = "e7e846a95ba695a8a3edf233ad31117f4d35d4942784c5f6c5a1ebed7f2f8e4a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/gd/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/gd/firefox-99.0b6.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "95f41bc7fb4c6fa19851827e0712bc8d7c9344eddc3c341172478fea583265ad";
+      sha256 = "48ef5fa12ec7415ad23a5a40f2f882147e03ecc074b33b173f413e53cc0cdde6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/gl/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/gl/firefox-99.0b6.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "b785913074c6d311380b382b63d57c2eae45dffee759d1aa0cd2d0c12f736e1b";
+      sha256 = "b44500b87f3b2219ba10e06bd937ba06784fc00085be12a16f69fe26f7733317";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/gn/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/gn/firefox-99.0b6.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "1b7b37e1569244fdb6a11fa1d8d371d01756150bf376662b2b0246a4f08bfb37";
+      sha256 = "0e521a61d44d1058ceb566ae58272e41f0aab7f2267555781bb3235ff5e3a59c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/gu-IN/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/gu-IN/firefox-99.0b6.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "8623a915fcc694e5c8295bc1b95b4c6a37aacd0aed505f91239a2ab48fba8d72";
+      sha256 = "2179c82d7763294f5adedb8c905ed5e009a4d3d176fae58c7503404015214c51";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/he/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/he/firefox-99.0b6.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "52cf134be5f9981534a93d454cd7a893fd605026ad814a7257ba0e59f4cbbe1c";
+      sha256 = "69383070d17f2ae68363e8a29efc53e2748b8f784137c854162ec0132295a9e1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/hi-IN/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/hi-IN/firefox-99.0b6.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "e06f6fc47a98f4564a65d236f8c322e5eaaedb98d049171dfa1fafaaec8bb690";
+      sha256 = "71e57a59cfc523d5c1c73c9b5547b3247170865a95022e5bd3098967c3e6002c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/hr/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/hr/firefox-99.0b6.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "a93e7425c0cbcd7579fb4de0a7ece495d77c01eb2ce2a11a9413bc6a8baae3a3";
+      sha256 = "9ea82b192336e83c7ac450dc7068f2730c031f43633a87b7fa554651cf64a912";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/hsb/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/hsb/firefox-99.0b6.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "66b42537cbd4d2338fd6a07b86c52c44f1210124f4c3572518c5bf7f0be217a5";
+      sha256 = "e3814f823f3bde2812751e9dd6a2b51a8861952eb04cb845d543a9252501dbba";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/hu/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/hu/firefox-99.0b6.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "637e898fc7bec9727fa489498abf1e6989a32e5f8b92340d0f645aa1150885c5";
+      sha256 = "e647f86de2e7687e23320aa0f36d96743f5da2cf43b2d83444a41506d13face9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/hy-AM/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/hy-AM/firefox-99.0b6.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "b1b6b24039321e322f0b7d1fd2c59de13029aa56017e48e5211c18838744e9e5";
+      sha256 = "21cc172fad6136a17df0a6ae4c6e90ec72a02db744cfcb5252cedcf48223e543";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ia/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/ia/firefox-99.0b6.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "5ad069400e47bae81e7e8581e81763905b3334ca5146672317e2986fde7fbfbe";
+      sha256 = "5f0c85a36ec40ef57cfa2bbbc1a4663ce10c8659e0d6ecad67ea993186c9cbb6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/id/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/id/firefox-99.0b6.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "0c80a2786e149afb12de10a49584d6017980e3b52fa1c411d9db289ee537290f";
+      sha256 = "e6671d2ac6b63ea4f2a84d1d0e89038ef1030d85e84d6b47c5b878ddc8d96b60";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/is/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/is/firefox-99.0b6.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "39ebabcb230336731e5be1d4024add0d639b3ef0c9d9d94a9b59b5bcf00c6263";
+      sha256 = "5bcafb210fa3aa06d56f17972d94c17faaaa2937948890b993bbc6c9bfbeecad";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/it/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/it/firefox-99.0b6.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "8646c156daf2b9e76f1cc93bda605186c8041114bcafa8b67aa27c767297a830";
+      sha256 = "3c14104a82a312324c1d42644eca6f80b7375f946a42edcb0a23f8a824bd0eb7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ja/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/ja/firefox-99.0b6.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "ac9284b3b994f9e3505808cc94391e04e62fc70a75a7ec4919dec56b79a63f84";
+      sha256 = "00713bc8710add3312294aa755c881701ebbb2d00e1f5f242ca12d102ab6f19b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ka/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/ka/firefox-99.0b6.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "3627584688564c9fbaab025f1fc97eb988dc8b5c4eed58bd55f3fa1cb08bcd12";
+      sha256 = "ba6985797ef85bdccb1f81053456baddbe2cfd9e1097e42b20617270f681c1ad";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/kab/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/kab/firefox-99.0b6.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "b0a8e54764b3f0d947894d0daf2a5031d43a65e19fd3bfcda7f0499ff065441b";
+      sha256 = "8be17598d305e257005ba0f9ef2f7053ee7e79bf3c1b4caade77c8e5a7e8a57c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/kk/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/kk/firefox-99.0b6.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "b6cc1c4cbe1cae43a45f5fe1b2ea1ca6c3d0de7cf2d085b7e5536232c9213bf8";
+      sha256 = "7e142151f26355256d2923b183fa1d225e3ed26026cbedf9abcebef301dc1045";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/km/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/km/firefox-99.0b6.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "069f7428b290da1db567a21ae0a5dc54a0cea3ab0012248658d3a273c9b45abb";
+      sha256 = "0df166d5a55e52ad60f8873afff5c1c43816ef99b56e1d817b4d4c29f173def5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/kn/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/kn/firefox-99.0b6.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "a7ba3abc8eaa5348b47b287b98961506e87c40740c25b88e0da611153e95f992";
+      sha256 = "193c7b709c03212ba91ea99da00c6b1c53edebbc9390d7321bd9815e5ced8233";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ko/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/ko/firefox-99.0b6.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "ec46b6e6f2c852272dc5247053a55797468ba911dad70d4b1d927465ddd6ba5b";
+      sha256 = "d265a984bcc6a381f715eff5e2501acde0c8793b111e15877f7d4e9086ddcf10";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/lij/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/lij/firefox-99.0b6.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "c401224b42efadc03055787bc20df523cfbde82b65d1b885a0ef6ff23bed9a21";
+      sha256 = "4a8327447982439a2f9e5ecff39b77ddd2bfdcb081d9b6f89848f2c93db3b3ca";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/lt/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/lt/firefox-99.0b6.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "323f765f5db4ceb5dcd167ccb4c997bfe820498aa2249a1fa2557285a1f2ad5f";
+      sha256 = "cb2a9545762247192f909c1600097b1198fbddfed1c383adf5dfa9666ddc0e80";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/lv/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/lv/firefox-99.0b6.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "053e095300c9c1ccb3d8fff574aff799c40215482cb977087255d69dabf9362e";
+      sha256 = "6ed249ade30c7d2d5ff290c4b65d3eaf3df4e49e112412cb3153da15bcf23fcd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/mk/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/mk/firefox-99.0b6.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "946d5de91994de14941bbd9a4a1ded228b97eb76d503c8aeb164d1a718758257";
+      sha256 = "56af16c66d20eaae2d6b487c3bec4f438d21effd3e3b1582579bb9c1836956d0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/mr/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/mr/firefox-99.0b6.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "ed084fcb7285e047548c0969914bc43fa3572cbbb5faae91dc85688e2de77a7b";
+      sha256 = "fa6f5e496fdac7eda06220a423683f608d6c49b0e3caada52b9fd903b5ebcbe9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ms/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/ms/firefox-99.0b6.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "58fcdd5fc46f80aef8a736dab07ffce340175ef07845a3c09da0f7056b30df3a";
+      sha256 = "0820d7fcdeb7226d067f920e7cb8a0bb3bfd98ea931d468ae58ed54e074dd1f7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/my/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/my/firefox-99.0b6.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "3049e29781a51f1e9c1f5da7ffccdcc52b71ffd5e7e068a17b364d7b71b91982";
+      sha256 = "20ab8faa3a4aa4b4f94f6c057d4fc9602201a55482d492bc6dd7acc5173364a7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/nb-NO/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/nb-NO/firefox-99.0b6.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "10c4764716f879429754d9665f439c2b23dab89c9a1d159ed229569b987ccb26";
+      sha256 = "77bf24610d6ad64859c83125909b70b3dd768e90e563971461f2c18fa2cd7693";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ne-NP/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/ne-NP/firefox-99.0b6.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "a46fbe8f8058d9280d28412bac9e3172d9554f0da6c5f5bfc97258e15bb1a5b6";
+      sha256 = "fe5477509d83a14875e0409f99e2336abba237da75d1e56d753e27b7d1016c9c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/nl/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/nl/firefox-99.0b6.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "a99eadaf1d78c5afab26f951f3ee69d49326bac0db27132ac931651a2fa7eb39";
+      sha256 = "3b67159e8d34c836d5367a2e17b54bd2aa274e1f602ae42649afc2ba2fa1429f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/nn-NO/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/nn-NO/firefox-99.0b6.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "b7da10f47cc22661606c3e2d7ce1885a4b6a5aea42ef7e17ec80766d9c5d92fb";
+      sha256 = "4faf2904a8b9a0c315c222d7e810d2fb3e24947dda1e006ddd1f727d2f9f967a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/oc/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/oc/firefox-99.0b6.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "653bc3cbcc3145ed8b93f3835486f2756c51318c74c8ce3006fec19420b771e3";
+      sha256 = "1dfa10fd1d9f958d487023144b7fad8ca8d1e528954f11e28509b7e22e48a341";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/pa-IN/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/pa-IN/firefox-99.0b6.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "efc1573dd48edebe52a4ef241132715db0a41b75db7e857f3abd0631fc2e5d02";
+      sha256 = "e6e4cc03a47ab8ff0546457b2ee0b55b8702463ed5666c15c0d2d98716fa84d2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/pl/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/pl/firefox-99.0b6.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "a856f24cfdc51898dcad5e2ccd9f9bb406622d33daaf03362fbabfa11893b413";
+      sha256 = "525023c756ff0a0eae303c02ef9b7155fdad5f0f41bc4e539be5ca21d1af0ceb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/pt-BR/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/pt-BR/firefox-99.0b6.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "1cdfb66a7616eefe00025f70f1e5fd317890a141e5495066971fc53e3102106d";
+      sha256 = "1a8070c38035f97ed771b02e59b3c2b0ef0073560c8ba285be9779fd4e99b61f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/pt-PT/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/pt-PT/firefox-99.0b6.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "c8a127fd0bc4edb0eaad1b06e32e050ffe1df11ef657e05d89de3ec97f8fe607";
+      sha256 = "ea356edfa8b398ea16719993cf05e65b5c63b4d2c4e589a9a26814ae275e4be2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/rm/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/rm/firefox-99.0b6.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "6c4f66d3b22cf226ff9fbfd05e0ce463d80044bccf8228721b5b8cc5476e8d1b";
+      sha256 = "f07ca7d4233860a6271eaa972358bd05b834c7f56c4b64d45eb9af72bcf2dd9f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ro/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/ro/firefox-99.0b6.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "08d7eab6ce8f18abde13feab2ceaabcc3e23652730a3ee7dc98d8c9234043b0b";
+      sha256 = "fccb8f523251dba30a73f6ec9259113142514b6d4657f63b88f5b9d9e8a01923";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ru/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/ru/firefox-99.0b6.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "e6fa1e2b5b3d0ce7586fba3c0d2f9c34514c767bae4a5066052df2bfb511907d";
+      sha256 = "d87928af8f4a0b28abdcd0386755a3f4f70d7e17e455fe5913b1e177c3edff2c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/sco/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/sco/firefox-99.0b6.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "2c6e9d6804839a525925ad29adfafdda06ecdac1ccf034a2afbcffd5d13dfa66";
+      sha256 = "de3bda2032217c56213f64b31332e8e6ea9598c7f31f3dce1a7b136c40c3153d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/si/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/si/firefox-99.0b6.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "f3172fa7c4655496565322f717f176d908ad60d97c99692a92bfb948186d17a9";
+      sha256 = "22dbdccec8073bd1d83cc236fc563aa97a3607a92e9b3908d4c8c0307dca8b08";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/sk/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/sk/firefox-99.0b6.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "78f88185772cf164bf548d134b00d602cc9cbfe88a5b29e9c4a0c93f3de74efc";
+      sha256 = "d5f73c93ef57cd600a2c4269a99a498896b580ec99b549db8b0ee1537a644bb1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/sl/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/sl/firefox-99.0b6.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "15f31bf52e10de228b50be002deddc1cc89ee6a882def6420d1055f021f75b6a";
+      sha256 = "12459b203b0de94241b243b07b9f54e7ae612f7887581c5cd3ac7ca2a08a54d9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/son/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/son/firefox-99.0b6.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "b4412fe101e6de2ca6f66d818823e48e337f06490645bd58455c6e4f9aa6723d";
+      sha256 = "2d44c84feaa5c5e3595055289f84f320b447664d01c653b0a3b50f1da24b1a78";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/sq/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/sq/firefox-99.0b6.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "420aaf8816745afabe98906716a8b23d0e0f84de677538a102ebc290c0f57154";
+      sha256 = "fa3f9724380818a71d895252631b354ffb692f35679eb9b8ffa5b2beede8ab61";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/sr/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/sr/firefox-99.0b6.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "573aedef6185562efcb03d11e0fe2c19f28f16d593f598b529eab5c80648d91f";
+      sha256 = "c2e5ad218b8cbadfda7c455266e018a6eaf9b450a905e8a73b01d02b7efed608";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/sv-SE/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/sv-SE/firefox-99.0b6.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "13a4fb70bf63f3f99321998e6e01a1eebe745eeefb33848b345c2020c0e8befd";
+      sha256 = "12060ac843f03a7544db8631c7f53bcd0cc6fb15d62cd997b02a83f0560722aa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/szl/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/szl/firefox-99.0b6.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "8daa190aa592e6e11fefed3558c3f91cbcee630e20c3a452ff88d333b483885b";
+      sha256 = "71ace92d020f3fbd1d5e223dfaa01e3a53ac625ba5ecf074153aad8ccb640ede";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ta/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/ta/firefox-99.0b6.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "21cff7fb1234defe7732e4e933e24cacfe27b782c37c447f079662ddb6a58d85";
+      sha256 = "6ace267aab85845babad8b11b68e154e1128b920ed16b8b8d011d53f6dced16c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/te/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/te/firefox-99.0b6.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "4f9fb449f2524d47994fa17e8a561b8706f48b36566cf36c39b590a26b04ec55";
+      sha256 = "e381faff48999b63b4981695e7c80bb946b44503ab5275344f12b7005ed49ef3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/th/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/th/firefox-99.0b6.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "f9fedd16f2ddf56c8be38579b29ae2c09b4e62228674decb88475be72eed93a1";
+      sha256 = "6c2ddea1c0ccf0521b9b647827569b78ac2143163895e67476051f8496011b66";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/tl/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/tl/firefox-99.0b6.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "b62e425beec561b02a273e2a432eec4e857683ad83295376e902852245ee7b27";
+      sha256 = "9d949c9c61922756d0f2dbcff76906191d438d161c74fbe7d702c7372c11b5d0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/tr/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/tr/firefox-99.0b6.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "ce56109695065dbbc78251d436d490bccc895a1a668c3507d6231f71a1046ada";
+      sha256 = "88763e4847b865603a7d953d54b86e6a053d2476209b4046bcb09149275690f8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/trs/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/trs/firefox-99.0b6.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "38451517de283d29f3147b41b1438c99a74eecc3fe56c042637344585bb4d8e7";
+      sha256 = "b6e7aa724a06f85e4eaae7e1c55e3ed1ec9a6b5664150745a257bd3f63310d53";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/uk/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/uk/firefox-99.0b6.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "ab9d0993bf83de703245b62fac86453c091ca46f2b0bb3e96c8cd1be30fba295";
+      sha256 = "69b200c0c4c92430f188ea12bf5e60aae18203a76e61cc163738d46c3627b137";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ur/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/ur/firefox-99.0b6.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "8d5d39a0c363817c4d728c6d6d9cf215d136e60ea989a0578cf76930f5caac5e";
+      sha256 = "330bb00cc0c0882a1e8aa06fdf7d283eaeef04500a9bfccef50f7b2ab8becf81";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/uz/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/uz/firefox-99.0b6.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "e1b4738410bec169f0947c2d6df5048c3c1ca51f632a2a94233be51963bb0947";
+      sha256 = "a9b7087c1deec3aedcc2c279b135b113e79739a28e31ba6cd090541505e5d9e5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/vi/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/vi/firefox-99.0b6.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "b950e0e6fbb707f4c0dd70b491b100f890255077ab756af92d419e0d0518cf27";
+      sha256 = "76b034ed53b8c99cf7909a6a5651627fcd9cdebd7f8ccdbd3d2286cb19dc7eaa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/xh/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/xh/firefox-99.0b6.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "e01cb86ff2b60435d5717dca42e522c5a4824c09486067574cedf8de09d98064";
+      sha256 = "a1c9ec73200bea835c46879d8196b380a3157c98404e6a009fbdb24b1662ddde";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/zh-CN/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/zh-CN/firefox-99.0b6.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "e388cf188ed66903c46c0694aac5725ae1f2015ba3faba4645277d6456719721";
+      sha256 = "74fd44c26c503014d0fc3a32dbb726feefd572ce52697879a392996243b5811d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/zh-TW/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-x86_64/zh-TW/firefox-99.0b6.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "b6cdace1499535a36e4573914b49a2c3e4ce9cffbad250438bbaab78f3dbe4fc";
+      sha256 = "a9d86ddb8f5388370a28ac643e3d21a411625b7098aca9c399551f8e2c125da9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ach/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/ach/firefox-99.0b6.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "d269fe06dfb496fdb6b9ce50d7ea4c9064e8070bbc2a47e6e6641aa79a13e772";
+      sha256 = "67b0501117e5d93046031860df5dc6eef3fc3126f0b10240cc13b83f6f1cfdb9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/af/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/af/firefox-99.0b6.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "0c6a0ddb0937c59ff5b88d09ef291e685cb29f8435b4fb6227eb0c12b82d20b5";
+      sha256 = "43b9b1107fb13b97f6b955b3abaa4f1d590bbb1747859e54bb306c9578fbdfe6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/an/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/an/firefox-99.0b6.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "efd0afc4e2ce06b094a2c1fb005c246bf8dad02fa9b8e2a0037e6f88f0fccb19";
+      sha256 = "da752ce8f7a9a0769c93f6f1817649354f892c440cdd48f0dd75739baedcff40";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ar/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/ar/firefox-99.0b6.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "29ef8698f0026dedf638fa32a2ed32d0014e131f41500969d271ca62c38f5cc2";
+      sha256 = "e67fc64daef74e78eee12a1e5d4c1ef5a89a8278d19187d9e0c67ac5ea350623";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ast/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/ast/firefox-99.0b6.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "244697199ae0e2895f242c64bd6f23d641deb124950ded7a0c0e8d1e18017636";
+      sha256 = "115cb0605bfb7629b854d242634cd2797b5072f735c840a6611325faf7bc3f77";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/az/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/az/firefox-99.0b6.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "77bf85d57fb887f5f1e0073daf09807286e2e5d835ecd9400f698dcf0108a949";
+      sha256 = "c839a19dc4f5d938fe7a5426a8abd7b228c89a262201c019b4b53953211aea78";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/be/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/be/firefox-99.0b6.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "6e18fb3773dea1a99c9ea383868a9db07e2bf2a0ba30b9acd283107a3b557b17";
+      sha256 = "94c8e688578059f8c4f7fd2a65a8fd77280b4047e845efd6ea66e34f5320d119";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/bg/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/bg/firefox-99.0b6.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "1be4cc0e4a2b9c4cd00813cade9b09db97f3cec3087d103c0204cfb64bceee12";
+      sha256 = "9f7acb26e7cd9193e9e435da3e2f4e9d9ee82195cc18e8de8295cba2446da1f0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/bn/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/bn/firefox-99.0b6.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "c18cf7a7dd09718fd59457e8eb7153229061e4962e29abde5e83add456e2f086";
+      sha256 = "93f31b395a9a42386b0de322db1f675810a3db106a0e8c583f18ad4dd0c56488";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/br/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/br/firefox-99.0b6.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "d6ac7e4e279ce4858f77cf3613c05b4d6dc0ac0be4cfd66aa880b5761f9dbd02";
+      sha256 = "a04a2b2f2b70f33bfe288d9907291aa61f2daa64d0d6802c784d7b4f44b38326";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/bs/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/bs/firefox-99.0b6.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "b785f4a680031be8ab963a66df4d61dbc54510fcd400d7e061c54e4bff554dd9";
+      sha256 = "154456c3aeefe93d6891306fe295342aa02c294bf64693fe93943ae836fc796d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ca-valencia/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/ca-valencia/firefox-99.0b6.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "69ccaf431b505db72245a8a6bce287dff88993055cfa3bdafbb31ef9783598bc";
+      sha256 = "c00ab86f77e5113f85feb8eb14b74c2c144e9c7e08c4442b06b749ffccde2cf1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ca/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/ca/firefox-99.0b6.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "d779e8ca6fcf77cd4c5e0edb4883d0d28dcba2eba456de9cd4216d96e7aedb03";
+      sha256 = "07de1d9c72f9d5487b9ff57ec609a2b6ce37a8b09fc81200a6cc6610a7e66b9f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/cak/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/cak/firefox-99.0b6.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "dcedaaaaf1d9acac61fdedaf893d288052df18a925f8853722934ef54e92a71f";
+      sha256 = "ee05ba6ce42f873ab79032553302caae28069d84c5105192623f1261d2d3d609";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/cs/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/cs/firefox-99.0b6.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "b761e7d712a9ad951a00ee73f36eb5a764faa1285ce22af168e4dbe1516edfbf";
+      sha256 = "9b2af581c1c70b72cbf82cf656f94e65058063f0fd6807d99760dfe9b68af808";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/cy/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/cy/firefox-99.0b6.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "f640b0ffc029f473c3638ec8e08884997533d087cc8590a35458571403b5396d";
+      sha256 = "f638faf94045b5e739736926e4b3e173f8830542287d46aed70337d9ac3a4495";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/da/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/da/firefox-99.0b6.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "0e56091cf2787215884df9c1dc0e2c208021fa99088d0dce18324b18b0b57aa5";
+      sha256 = "3dad188b310fef15b704ca788b320d502a0a6ee59538296176fb17d2b440163a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/de/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/de/firefox-99.0b6.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "39d1c2ee79f1434f263ff804122d9dc20744c8c050513c95c75d7c424a5325c1";
+      sha256 = "1bdb5b60bdf16126de86ba1413eb5ac4184f727b3e57a36d424dfe39647f53be";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/dsb/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/dsb/firefox-99.0b6.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "09544d8f51134e5f74c5d90b98844e49ee5b0be7ed5c63e2fa9753a08cfd2600";
+      sha256 = "b306d40607d73314c0e3e87bb1bce65369846be3e370943088a8e7e9731098fc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/el/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/el/firefox-99.0b6.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "c76d10c0f9036b33e5e0048fafa7b4d8571af5e27f25d7dc92c336ffac2726da";
+      sha256 = "45202f79f9cbf2a44bfefa9ce50bd0a6b88485207105db4df1f26f547c1f556b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/en-CA/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/en-CA/firefox-99.0b6.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "c85152d5ba80dc5a843312da61aed21834257bede5019b1042353a7955ef0e35";
+      sha256 = "78020bb6fa9395fc4e2cf40645e127d0f6d6dfca4044e5c00f63a90e24824add";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/en-GB/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/en-GB/firefox-99.0b6.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "52696aed9eaf8be1994c88ed50925cc32f8139aa92ed9f9e1ed91d8c01468e44";
+      sha256 = "647947c0b765d1142947d3cb35ceb308946090e928ecbd4cf8c3eba4b57afa47";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/en-US/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/en-US/firefox-99.0b6.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "e60a2d3079cb76ce879cda5d9c67ca33938d501c3ceb517fd69b58e6f932bf2c";
+      sha256 = "4249f742c2918d66af2e7defe1c6b34870f258fe047ae7b38f91b0394b453cbe";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/eo/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/eo/firefox-99.0b6.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "0f27a6f422d03c65879233a22cf469cf287d24d7c250dcea2bf8d845af303bd7";
+      sha256 = "1726df9605c7deafd6963c18c4b8dbd4bbbed86814fa9932367fd04f6ef609fc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/es-AR/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/es-AR/firefox-99.0b6.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "639027a3d48570d8bc98965802f9b7661d545ece751ad1d734e7e303f8649962";
+      sha256 = "c3820a35047f21efc721889fa0003d8e74e13858aad4d3aea038c01b5cd6c657";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/es-CL/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/es-CL/firefox-99.0b6.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "44f2a552486e6f22b111e793d0e69a67e635929f02f6f3da814dd2daf22210c2";
+      sha256 = "b1f5bf697007d8b6ac9f1fa057f292bcfb860d71229a7d0ad6d611ab02991211";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/es-ES/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/es-ES/firefox-99.0b6.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "02e56e76df00d39b0a8fd68038a9e8c956ceb512867d453f47209cdb9ce65597";
+      sha256 = "de33571140d165d0422b2e4543893bab6435b6626333a05bfef39682ef759db0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/es-MX/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/es-MX/firefox-99.0b6.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "2386378b0917c770b419ea6561823ab0cfebe36c28a36e7747c47fe68201f95d";
+      sha256 = "f681be5b92c8959e0e8c90cf4c7f6cd9197e11be1828797e853310a49dc76698";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/et/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/et/firefox-99.0b6.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "382c77faf5501c3f03c626b1a8c99bbbd0d60cff39ab1b0ed33c7a3903866d03";
+      sha256 = "476a0ccde58372bffea3ebfb0d88795b31db2ec622f9c1b99df51287aa8ba69b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/eu/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/eu/firefox-99.0b6.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "9db254a521cb2185c82522121ba5f7d75a819298abb3c301b6a8b06007d242da";
+      sha256 = "d465a6a4a01853724894fd81e31b63b80e830cee268298d6e037e6877ae77661";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/fa/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/fa/firefox-99.0b6.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "16576d6924c772e5d05285a8a9367e3cfbe407f26f96c499fd829529bfd3db4e";
+      sha256 = "cf8ac9c8d667ccb0066db1d20a9f43af807e40d1746931e001ec900b34fbbc02";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ff/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/ff/firefox-99.0b6.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "e26dd072353546dab184c4fd527525bb23201a8ed05c3c2bb672cf5a3da2e776";
+      sha256 = "86dcb3f9e1d899973eaccd3caf401471b36ff70f4a4693fa9f857083e8641a2e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/fi/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/fi/firefox-99.0b6.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "e785cc2e7c9abefcf9b4114f778def4789635e1bd0f354082ba1040435d9c4f1";
+      sha256 = "ca0b830aa6ec724aa31f957e7c84156726c26fa0a74ace80ecdea899a8091f82";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/fr/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/fr/firefox-99.0b6.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "7debe05c2c0128f6a125c627b26e441547d4da485ab263c5b5190cf5cc04b3a5";
+      sha256 = "e94a7a54ba806e2b4baa0159d2f8cb96e79abc9c01e2526821cac8253c6ad495";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/fy-NL/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/fy-NL/firefox-99.0b6.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "6da5b56b5df3fda1f8ac8f35ed80a0150e66809ab4ae18af8e114a7e45bd10a6";
+      sha256 = "cae5c9c607c0dc99e4645f756befce2c9c4ae83b7edc39cf12af81781b33a7b9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ga-IE/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/ga-IE/firefox-99.0b6.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "e145c6ec469038e9cc2e195770fd5eb467bc3859c465d9c570df06e1af0d9532";
+      sha256 = "b9b1cb2a48cd17179d5e3a8a3fca9ac25c3367ff6281f632d826cd6a9bb4a633";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/gd/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/gd/firefox-99.0b6.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "d95b7f7aad0d343bdfd8814f38ea59ebc277ea85426fb447173b0a1b4efd9a74";
+      sha256 = "b5454de81ba2fee053e98dcb37d3703b5385a51561e45fa32f6872494cfc047b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/gl/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/gl/firefox-99.0b6.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "def309ff0f7916df41f34ffe9ec2260a0738da4a2657020641d6d03ee2faed93";
+      sha256 = "be3b3decd8e75740a317f105bfa2e4c919ad7f31e391845fb60b299fae7bea7c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/gn/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/gn/firefox-99.0b6.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "1dfb7e8a36039e5bb434f1273cf9356a3826444f0f6b058897d16d4b9b0d8676";
+      sha256 = "394562b739f81ec43a954f7393c5177f87d3d5b36d404d97e2e483f3000bb615";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/gu-IN/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/gu-IN/firefox-99.0b6.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "1c3e77637bba527e9a229665fc4a4921f0b26e05c14e5257a0b28507db34f08d";
+      sha256 = "d2e36f37146b48cbc710af7663ad8b4f7770dbb5f6a557e3f54d637e7061ad90";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/he/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/he/firefox-99.0b6.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "d54c2e3377e75dea8400d9b5486259f9be1158e44f520439912052bc2097624a";
+      sha256 = "17bbbd7768ff852dc1f27b224b77dfdaaebabaf531028c71a371bf302a9dd92d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/hi-IN/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/hi-IN/firefox-99.0b6.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "a91f89a416dc77cda507aa9a1bea653f48249f55ba4655489a4376ea92cf066c";
+      sha256 = "2f431a3e50ac0b74a2bda65652a5aa45c0e1b44ef0837645ec49e30c6d0d7fbc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/hr/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/hr/firefox-99.0b6.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "ce38b5bc0b04a1bd86e2f5cf345c25718103d347803eb72d46f1cb90553695be";
+      sha256 = "e57e5fe2cb59c25002e9c06cd3298d9cb75c4437ddc9556590d6c56a1eac57bb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/hsb/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/hsb/firefox-99.0b6.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "201ec9e0bb4058d7183024545af8eefe0cd3505fe557b2d541d8a7330c2797fa";
+      sha256 = "7c1eefa455afacf5b3b1ee1d04b6e793e2db210912dae58910093c70a21a73f5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/hu/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/hu/firefox-99.0b6.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "997a9884e4669e6e883703934e4d747f784f38fb374ee43c7d30f82b9462bb2c";
+      sha256 = "d2b02034ce6686e0743af6444acc2a23ed657124bd7bb6ddfaf6d24cf11730b6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/hy-AM/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/hy-AM/firefox-99.0b6.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "fb97cbf935b6ae92c8c17be640820e4be73fed59d385bdeb2435ac2253c66651";
+      sha256 = "75589d2abd9488269693c0a0440d6359bafb354b1b5ee91b90306871903eda0b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ia/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/ia/firefox-99.0b6.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "d999259f970084c684cf543460efc6faa3677eb839c67e9743af24232d81ecc9";
+      sha256 = "b26efd6320a41a558383e22db49cbcdd930161fb48ad0032d24e44b57b01f0c6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/id/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/id/firefox-99.0b6.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "d9bcf799f9d744ba94197900e2032cbc42e4eb3f5ee2d429ede4e2ca47c45d63";
+      sha256 = "d50fff8b0ff7ae5546ad3f25e485ef51280bd022708e3d0aae97d99f79788f0a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/is/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/is/firefox-99.0b6.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "69e55dfe9e542f9c4e0cdcd75e24c346ac565012b2214ad99534ff643d5b1a9e";
+      sha256 = "4cf7fbadac8084b8e134f6110ee07076ddd93cf00a10b6ef3d6276df9080bdc1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/it/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/it/firefox-99.0b6.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "b10c9af0a38a7cc456d7392dbb4a01a964e68fcaf963868011ba104a01c10f59";
+      sha256 = "6fabf495a730600869f6d1e2d9382120361f5061e3a893321f68a6378f7eeddc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ja/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/ja/firefox-99.0b6.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "114df4baff98d81d046a069b6a3271f3cd385cafff9681bb1bdd988a4b806eb3";
+      sha256 = "95a537b3306ae1f6bfe9c4076042d6c29c6478c0f32e5aa4a01e800c1d2a75a5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ka/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/ka/firefox-99.0b6.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "79cbe62f30dc117fb656db52ba61895dc830f2f53b8f02edb69809a8fdfe4722";
+      sha256 = "e73b2b555f7318650ca1ea20f9d8c1fbc933d230eba3eaeb5e5a47dac24797b1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/kab/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/kab/firefox-99.0b6.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "babe5ff8170ac703bc95db0c9b54e6c05c12e198dcdd42f0fce9eb2b2a366606";
+      sha256 = "cd55879a883ac4e4efef972d6200284d6839dc786e7dad4c3a81fd88b89b18ab";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/kk/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/kk/firefox-99.0b6.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "a4e3648681178444d8527539523fcd177741ca74a11cf608ae7cfe9608ff46d0";
+      sha256 = "cf2dd9ae9cd6347eaf976cdcf4a6cce81abb741b0cc273063cbe1274d271e05b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/km/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/km/firefox-99.0b6.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "42dd57a33216a86ccfaf915dbc2513b6ff9441ff5820cf51b0a97bdaecf1c00c";
+      sha256 = "f0f3982e7d838841a01b24c330ed3e74416073c40470293447551aacb5411506";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/kn/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/kn/firefox-99.0b6.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "8b296ec5f02e7135209f83c53bb4d18c652336a4068b17db99b10dc9d3500744";
+      sha256 = "3e2953e55e3bc7fa76ff77aac08f79b20bbf2be52683c08b3d54a323a1754ed7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ko/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/ko/firefox-99.0b6.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "85829c8e7d52e7e5879d52897ffee0763f3aa03b754647a4d4c0e2d59cfad230";
+      sha256 = "5c5bec8a40dbea26674eb2d4b7160c1c2f3ef37f68d67c24a7ca6a2cf77eac85";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/lij/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/lij/firefox-99.0b6.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "89f0205a14d7b97c635382d3e2ea045103eda9df9f0b7184e7655626b34e39f6";
+      sha256 = "7cc492c5eff065cc3cbceb292d18d833e9f2bf76ace0d5ca960256290f049f94";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/lt/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/lt/firefox-99.0b6.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "f9f88f5d24d5edcd157a030b482c50175bda9a9d4d95499b668227438045b6a0";
+      sha256 = "b4b56e01e65ffe4f7232daf661df178d4af1d813e1c8122c4ba56aada0b2ef52";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/lv/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/lv/firefox-99.0b6.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "7da0fd946c235948ce659947e53f389955e12a10251d2ad564ba6808e13aee76";
+      sha256 = "b13ac2b90f13813b8252c5eb817d0f55f770a58e05f8a98b1a08fdf59fc9191a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/mk/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/mk/firefox-99.0b6.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "9ffa05fc839c67e5c709b6203627b75b7bf7765e5e52e7151561ae0ff36d43f8";
+      sha256 = "6b1d2598350feb901e86f332598688853b607c7c14c13ac228610d16e89eeda3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/mr/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/mr/firefox-99.0b6.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "ff45d74bd695b8677ba76ab1cf6a7726ac08d7ea0c6ed6f705dfedc536df8112";
+      sha256 = "9a6a47fc20500b4421b12381374f0a8ecfa9a0929a54a6f6dba73e1c2e5a6c81";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ms/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/ms/firefox-99.0b6.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "9494973f7facf05b5636bce50a39151596b827a3444ce80a601c66e55b488af0";
+      sha256 = "e79c4f88952ec9061b4d90f8ca5970be8b5c19cbc1df8d9970b9b23c801103a1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/my/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/my/firefox-99.0b6.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "ef0b115274304dd0925d643903f15ac7d6c26281ad5ec57c6b73a0a0beb97486";
+      sha256 = "f8ce25b87b639843fa6fab4651326719f229f91a4d6b3a6ef17d0e9f4035b1f3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/nb-NO/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/nb-NO/firefox-99.0b6.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "79c7211ec24d7855f890cd83a65411302f0ad4296ed19fecb86969e62ab6c01a";
+      sha256 = "03f5550bf0c0f33c3cf252cbad1650204e008d852e6db46a6f7fb6f6b5ac10ed";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ne-NP/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/ne-NP/firefox-99.0b6.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "b4fd3ba21a5c906cdeab13d4db78c4d8c43dae758211d8edb6570d49561b9f26";
+      sha256 = "5d94d2dbdbdadf6abb7250772e6e046b9ce03cbf5e4c920ef7e8b5cae69359b7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/nl/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/nl/firefox-99.0b6.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "cfbfaffe54246e4ced8a35edd67b5e28567d9d61ed4fe867f11fc479864e8a6d";
+      sha256 = "3045ce321c102e2c114a48a46526572a2c52d228b44ab35d8241d92bd65dd9fa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/nn-NO/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/nn-NO/firefox-99.0b6.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "74487e82d428166a870b0593ea7be3de9b912132542ff98bd3276e1b9091fc21";
+      sha256 = "a16aa9b6de0ac4213492ca117eb47fbd4994824c0f080001baa9136231fb69cf";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/oc/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/oc/firefox-99.0b6.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "004d5e020a627f95572f2c52bcdbd0ef52b66134c5ad64328c810ba2a910cfba";
+      sha256 = "70bf39cd4c3fc4ef772dd71d97f71fdc92324ce2caf9d359cc1d3f3d1557c3a5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/pa-IN/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/pa-IN/firefox-99.0b6.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "4102b176aa98362b3ea6bca76bc5ad3fee3849b833f192d55c02ec72bbd7fcd5";
+      sha256 = "951263906c05aa6f60a65d77e917a95ce10e8ae31f156acac7f47ab4ec36deab";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/pl/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/pl/firefox-99.0b6.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "acc2990be46dde74e93acc0e20d5c59acd2ec9b0ca2d3db1bc641eba9e17dd6d";
+      sha256 = "476ca14396dd7ee636ed1e74a20d9d0ff3b0c452e5b5f61eae6f0594ba060f3e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/pt-BR/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/pt-BR/firefox-99.0b6.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "c1a286c4369f13a6df8dbbeb9ef60dea11d36d38e1403d8e9bb8387fac2226d8";
+      sha256 = "33ea09c993bddcc36621ae633713e758ac33349847604995e05fce0d26be398f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/pt-PT/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/pt-PT/firefox-99.0b6.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "35805803b8487ed6f28bf8cf6ffba764c479cf0eb11bd418ae2613831ede598a";
+      sha256 = "fd4b924d8afa163ec40a2f5ca6ae0b89e1a22a8be8b8fbf9f43012159d0b7172";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/rm/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/rm/firefox-99.0b6.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "deb2e23159d458e4e2b030678075d793a0d68e87fad38473267e7e7d57939715";
+      sha256 = "97ce5f4af9e8ed2af039255e284ce1b55b6a3ac0eacf4c40be82b635b1df0f2b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ro/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/ro/firefox-99.0b6.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "bb0c6227d2903080645a7c7ed0665db6922beda6438d7b82060d890b9ace2a64";
+      sha256 = "a959d39333b98c5a479e6975dfa82a4c2b3efe5d69d2d99fddc8d2aabdbe95ce";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ru/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/ru/firefox-99.0b6.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "b06680a771d8a347c25b65a56cf76bbfa1294fc8c7a2a303bf92175aec1e952e";
+      sha256 = "e4f65bbf839054b7009e01461cf4a0b943e1373df054e9b40797b5d233654aac";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/sco/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/sco/firefox-99.0b6.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "0519564a5e34f3c9c9ae9605f520da542bd69f20f9410c47739e30ed290ac5f5";
+      sha256 = "fac16861dbc011655c3b36b31d5e0816a09e1f88e34032d247d09f691c097ddd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/si/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/si/firefox-99.0b6.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "8a5d4685384eaec411a278f92aa2c09f667df430cb65920dbf4f2a22ab749b22";
+      sha256 = "93423cb2cccf166f374fb4b8779f337fa1cfdff67f0f2c463a398a35ecd251bf";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/sk/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/sk/firefox-99.0b6.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "6083bdf468dae23a0cd69506e04615f7312dfce6ee0fad744432f316001b23b0";
+      sha256 = "e63c2240f7b791b01c94084dbb28d74ddd6528a7bd1e62bb74ee9271d0fd81f6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/sl/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/sl/firefox-99.0b6.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "42ae9e4a00b8a939a934505e5b4898dfc5edf2ef7c63451784770ae8e942dc3e";
+      sha256 = "87064873e57431bb9cfd3e231df07753c8f644e218ea0318b3731baa05b16c1e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/son/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/son/firefox-99.0b6.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "2d808b21afc4b1af9ea72880acac4c017566e74d7a6635d0a3e9302159961f2d";
+      sha256 = "6ecdf2061f0787fc9adcd27465211446df45751d103e279aa50f278361061728";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/sq/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/sq/firefox-99.0b6.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "799099d98be61d2ef50988e4a0dcc910a3d089c8b1b156c340bc6f306f0c05bf";
+      sha256 = "47783d01b35119b158c746c5ccede7e4832d15317958030306035d1b448b77dc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/sr/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/sr/firefox-99.0b6.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "0627104342fa014aa267b4874d88592aad131b8b71ae9da4864233217dac9fcd";
+      sha256 = "4aa1908894de6eb3640b497361d5245ed3379d29ffe6e10401540cc1c10cb965";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/sv-SE/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/sv-SE/firefox-99.0b6.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "cf22010a41298f31839c61c749b7f643f92b792050d62060305284d77fc21b35";
+      sha256 = "2334fb5859711a4471f06a9eb81907d0b41ba52a8fce05b7cec320a0d31a4167";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/szl/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/szl/firefox-99.0b6.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "588fed1f0dc77c8d5a18ddb33d04c5570efe80adf3e96895b1b0243e82e92535";
+      sha256 = "39ad1c9f4da42278f2a1b3c125aa7e2a8005376a6f458a03851d42f85d116dee";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ta/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/ta/firefox-99.0b6.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "6d10537d9268c509fed6bfd86eb53351b772ea2ba96c0f386d589765b0f1153c";
+      sha256 = "24055aedcf23fcde0dc519bc2124a8d42c82ddd74dda46b694a20d25ff76d2ce";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/te/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/te/firefox-99.0b6.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "4ececc1167184b3a531f8176f4282b34b2f5e2c98f329af7dc67ac5be5efefe7";
+      sha256 = "18a90860a6428ab31229c975927b264d75b2e2f186f83ef270262f7598053d48";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/th/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/th/firefox-99.0b6.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "2860a9bf015972a38b1a15bfb532b87c65e2edb7b9ea8ed2db8ee6ab03d4e281";
+      sha256 = "b965a21a0585cc07714c39ba33afc5ce757294d595c7617ba5b330a0d1d8cf0b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/tl/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/tl/firefox-99.0b6.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "97134e6fc0b07c910f8a2ca263943724e3f5790d62b4f0d2fc697c3d5a15a6ec";
+      sha256 = "cd1fb6553daf6b123e6545cf0553038b2f16c12ae4a21425e253c68124a8ce42";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/tr/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/tr/firefox-99.0b6.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "5b38cc44c7d8aa425e70903f192f2ccf8cf4dbcd40952d0014a6f16c81ec66fa";
+      sha256 = "2a2c6abfa119022520e8a3ab4c430c282a7a3f7d5e72d2a67d070a64398b2bb9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/trs/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/trs/firefox-99.0b6.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "e5e7db1ca4c8bff1623bd2b78b1d66617510419a893f324af8092de1a9476a51";
+      sha256 = "aae079859fcf211c1e465a00a6a07514397a9f715bc02d704daf062e3d75220a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/uk/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/uk/firefox-99.0b6.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "357410778b50cd6da76d178dbc88efe9bdf01e71895699e1616ef4dff253aae1";
+      sha256 = "04ebb332d79d0a9aef5d2e93b2aa8dae0ded8d4e4c639d192ac969e8033ffa24";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ur/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/ur/firefox-99.0b6.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "f38359d87aa018b4bd8fee63829a04e7d552c928b945f74c3f2e0ec21524ea03";
+      sha256 = "8a8d6d6503657665882ccea44a56b324253adc8d98eba20696ecfd096311821f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/uz/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/uz/firefox-99.0b6.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "b23c4436a5fe3edb954c2ddc16ff16756d672a89afed91e0753b6f9c7018e9d9";
+      sha256 = "e2990d6a4c3bfb5547bdac49a2499c7dd958d0b8e665b636e0ffd6e9aebaab58";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/vi/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/vi/firefox-99.0b6.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "7156717a71e9fcc8d98eb0fd544b5a3bcd8ade7e805e7a2806b3b3ac363e2402";
+      sha256 = "b7c2a4d8c1c400f44fcad7e91572134328097d183c76b8e22d5eaa0a4959d35f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/xh/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/xh/firefox-99.0b6.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "5e5b2764b860bf45e5cc738c1d6ce989a6f85b226ebd4ab59d236295ef596a51";
+      sha256 = "e3dc9942f397812564b5d7728bb4857f0c217183300ac0ab28590921f56bda34";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/zh-CN/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/zh-CN/firefox-99.0b6.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "74fbfe561438450fc28539c6d88e16e89abcfabcb025dc57aef87bb2aa64bee0";
+      sha256 = "11ff62d8f465b9ce17591177f1fc98d6dcbbd819332f65bcffd685d43b5aa285";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/zh-TW/firefox-98.0b5.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/99.0b6/linux-i686/zh-TW/firefox-99.0b6.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "12467aa41392d7429a91d01e35894fe5bf3d18cfc4091e349490f063e4b69247";
+      sha256 = "406200aceeae06ce5ae2d736d8ff42713e2275b5f369682cd49946326c5cf21d";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index 64cba1b52a60e..a1e836151350c 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -83,6 +83,7 @@
 , gssSupport ? true, libkrb5
 , jemallocSupport ? true, jemalloc
 , ltoSupport ? (stdenv.isLinux && stdenv.is64bit), overrideCC, buildPackages
+, pgoSupport ? (stdenv.isLinux && stdenv.isx86_64 && stdenv.hostPlatform == stdenv.buildPlatform), xvfb-run
 , pipewireSupport ? waylandSupport && webrtcSupport
 , pulseaudioSupport ? stdenv.isLinux, libpulseaudio
 , waylandSupport ? true, libxkbcommon, libdrm
@@ -98,10 +99,18 @@
 , googleAPISupport ? geolocationSupport
 , webrtcSupport ? !privacySupport
 
+# digital rights managemewnt
+
+# This flag controls whether Firefox will show the nagbar, that allows
+# users at runtime the choice to enable Widevine CDM support when a site
+# requests it.
+# Controlling the nagbar and widevine CDM at runtime is possible by setting
+# `browser.eme.ui.enabled` and `media.gmp-widevinecdm.enabled` accordingly
+, drmSupport ? true
+
 ## other
 
 , crashreporterSupport ? false
-, drmSupport ? false
 , safeBrowsingSupport ? false
 
 # As stated by Sylvestre Ledru (@sylvestre) on Nov 22, 2017 at
@@ -126,7 +135,7 @@
 }:
 
 assert stdenv.cc.libc or null != null;
-assert pipewireSupport -> !waylandSupport || !webrtcSupport -> throw "pipewireSupport requires both wayland and webrtc support.";
+assert pipewireSupport -> !waylandSupport || !webrtcSupport -> throw "${pname}: pipewireSupport requires both wayland and webrtc support.";
 
 let
   flag = tf: x: [(if tf then "--enable-${x}" else "--disable-${x}")];
@@ -140,12 +149,10 @@ let
     bootBintools = null;
   };
 
-  buildStdenv = if ltoSupport
-    # LTO requires LLVM bintools including ld.lld and llvm-ar.
-    then overrideCC llvmPackages.stdenv (llvmPackages.stdenv.cc.override {
-      inherit (llvmPackages) bintools;
-    })
-    else stdenv;
+  # LTO requires LLVM bintools including ld.lld and llvm-ar.
+  buildStdenv = overrideCC llvmPackages.stdenv (llvmPackages.stdenv.cc.override {
+    inherit (llvmPackages) bintools;
+  });
 
   # Compile the wasm32 sysroot to build the RLBox Sandbox
   # https://hacks.mozilla.org/2021/12/webassembly-and-back-again-fine-grained-sandboxing-in-firefox-95/
@@ -164,7 +171,22 @@ buildStdenv.mkDerivation ({
 
   inherit src unpackPhase meta;
 
+  # Add another configure-build-profiling run before the final configure phase if we build with pgo
+  preConfigurePhases = lib.optionals pgoSupport [
+    "configurePhase"
+    "buildPhase"
+    "profilingPhase"
+  ];
+
   patches = [
+    (fetchpatch {
+      # RDD Sandbox paths for NixOS, remove with Firefox>=100
+      # https://hg.mozilla.org/integration/autoland/rev/5ac6a69a01f47ca050d90704a9791b8224d30f14
+      # https://bugzilla.mozilla.org/show_bug.cgi?id=1761692
+      name = "mozbz-1761692-rdd-sandbox-paths.patch";
+      url = "https://hg.mozilla.org/integration/autoland/raw-rev/5ac6a69a01f47ca050d90704a9791b8224d30f14";
+      hash = "sha256-+NGRUxXA7HGvPaAwvDveqRsdXof5nBIc+l4hdf7cC/Y=";
+    })
   ]
   ++ lib.optional (lib.versionAtLeast version "86") ./env_var_for_system_dir-ff86.patch
   ++ lib.optional (lib.versionAtLeast version "90" && lib.versionOlder version "95") ./no-buildconfig-ffx90.patch
@@ -199,6 +221,7 @@ buildStdenv.mkDerivation ({
     which
     wrapGAppsHook
   ]
+  ++ lib.optionals pgoSupport [ xvfb-run ]
   ++ extraNativeBuildInputs;
 
   setOutputFlags = false; # `./mach configure` doesn't understand `--*dir=` flags.
@@ -214,6 +237,9 @@ buildStdenv.mkDerivation ({
     export MOZ_OBJDIR=$(pwd)/mozobj
     export MOZBUILD_STATE_PATH=$(pwd)/mozbuild
 
+    # Don't try to send libnotify notifications during build
+    export MOZ_NOSPAM=1
+
     # Set consistent remoting name to ensure wmclass matches with desktop file
     export MOZ_APP_REMOTINGNAME="${binaryName}"
 
@@ -228,6 +254,25 @@ buildStdenv.mkDerivation ({
     # RBox WASM Sandboxing
     export WASM_CC=${pkgsCross.wasi32.stdenv.cc}/bin/${pkgsCross.wasi32.stdenv.cc.targetPrefix}cc
     export WASM_CXX=${pkgsCross.wasi32.stdenv.cc}/bin/${pkgsCross.wasi32.stdenv.cc.targetPrefix}c++
+ '' + lib.optionalString pgoSupport ''
+   if [ -e "$TMPDIR/merged.profdata" ]; then
+     echo "Configuring with profiling data"
+     for i in "''${!configureFlagsArray[@]}"; do
+       if [[ ''${configureFlagsArray[i]} = "--enable-profile-generate=cross" ]]; then
+         unset 'configureFlagsArray[i]'
+       fi
+     done
+     configureFlagsArray+=(
+       "--enable-profile-use=cross"
+       "--with-pgo-profile-path="$TMPDIR/merged.profdata""
+       "--with-pgo-jarlog="$TMPDIR/jarlog""
+     )
+   else
+     echo "Configuring to generate profiling data"
+     configureFlagsArray+=(
+       "--enable-profile-generate=cross"
+     )
+   fi
   '' + lib.optionalString googleAPISupport ''
     # Google API key used by Chromium and Firefox.
     # Note: These are for NixOS/nixpkgs use ONLY. For your own distribution,
@@ -258,7 +303,6 @@ buildStdenv.mkDerivation ({
     "--with-system-webp"
     "--with-system-zlib"
   ]
-  ++ lib.optional (!ltoSupport) "--with-clang-path=${llvmPackages.clang}/bin/clang"
   # LTO is done using clang and lld on Linux.
   ++ lib.optionals ltoSupport [
      "--enable-lto=cross" # Cross-Language LTO
@@ -277,7 +321,7 @@ buildStdenv.mkDerivation ({
   ++ flag gssSupport "negotiateauth"
   ++ flag webrtcSupport "webrtc"
   ++ flag crashreporterSupport "crashreporter"
-  ++ lib.optional drmSupport "--enable-eme=widevine"
+  ++ lib.optional (!drmSupport) "--disable-eme"
 
   ++ (if debugBuild then [ "--enable-debug" "--enable-profiling" ]
                     else [ "--disable-debug" "--enable-optimize" ])
@@ -336,10 +380,35 @@ buildStdenv.mkDerivation ({
   ++ lib.optional  jemallocSupport jemalloc
   ++ extraBuildInputs;
 
+  profilingPhase = lib.optionalString pgoSupport ''
+    # Package up Firefox for profiling
+    ./mach package
+
+    # Run profiling
+    (
+      export HOME=$TMPDIR
+      export LLVM_PROFDATA=llvm-profdata
+      export JARLOG_FILE="$TMPDIR/jarlog"
+
+      xvfb-run -w 10 -s "-screen 0 1920x1080x24" \
+        ./mach python ./build/pgo/profileserver.py
+    )
+
+    # Copy profiling data to a place we can easily reference
+    cp ./merged.profdata $TMPDIR/merged.profdata
+
+    # Clean build dir
+    ./mach clobber
+  '';
+
   preBuild = ''
     cd mozobj
   '';
 
+  postBuild = ''
+    cd ..
+  '';
+
   makeFlags = extraMakeFlags;
   separateDebugInfo = enableDebugSymbols;
   enableParallelBuilding = true;
@@ -347,6 +416,10 @@ buildStdenv.mkDerivation ({
   # tests were disabled in configureFlags
   doCheck = false;
 
+  preInstall = ''
+    cd mozobj
+  '';
+
   postInstall = lib.optionalString buildStdenv.isLinux ''
     # Remove SDK cruft. FIXME: move to a separate output?
     rm -rf $out/share/idl $out/include $out/lib/${binaryName}-devel-*
diff --git a/pkgs/applications/networking/browsers/firefox/librewolf/src.json b/pkgs/applications/networking/browsers/firefox/librewolf/src.json
index 9e40e459d3294..f24353089488a 100644
--- a/pkgs/applications/networking/browsers/firefox/librewolf/src.json
+++ b/pkgs/applications/networking/browsers/firefox/librewolf/src.json
@@ -1,11 +1,11 @@
 {
-  "packageVersion": "98.0-1",
+  "packageVersion": "98.0.2-1",
   "source": {
-    "rev": "98.0-1",
-    "sha256": "1z42a42d6z0gyc5i0pamcqq5bak6pgg1ldvlrjdyjnpvda74s0fn"
+    "rev": "98.0.2-1",
+    "sha256": "033l6mjmhfhf7b8p652s7ziw8zz725082hhzzvr3ahi498wshkx6"
   },
   "firefox": {
-    "version": "98.0",
-    "sha512": "5b9186dd2a5dee5f2d2a2ce156fc06e2073cf71a70891a294cf3358218592f19ec3413d33b68d6f38e3cc5f940213e590a188e2b6efc39f416e90a55f89bfd9b"
+    "version": "98.0.2",
+    "sha512": "b567b53fcdc08491063d535545f558ea56ec5be02ca540661de116986245b79f509e0103cea5661faf9f4b3d30b67758ebdb4b30401e260ee27cbb300203f36e"
   }
 }
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index 4789d394b73ee..94aa4d74feb6d 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -78,5 +78,6 @@ rec {
   }).override {
     crashreporterSupport = false;
     enableOfficialBranding = false;
+    pgoSupport = false; # Profiling gets stuck and doesn't terminate.
   };
 }
diff --git a/pkgs/applications/networking/browsers/lagrange/default.nix b/pkgs/applications/networking/browsers/lagrange/default.nix
index 00d0bc8f6fd5d..53d5733bb5849 100644
--- a/pkgs/applications/networking/browsers/lagrange/default.nix
+++ b/pkgs/applications/networking/browsers/lagrange/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lagrange";
-  version = "1.11.1";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = "skyjake";
     repo = "lagrange";
     rev = "v${version}";
-    sha256 = "sha256-RrdD+G8DKOBm0TpmRQg1uMGNFAlAADFeK3h6oyo5RZ4=";
+    sha256 = "sha256-1eWd4En14p8E04kLWbsbJSEdjManQ87N/P3klFbUQx4=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/networking/browsers/microsoft-edge/browser.nix b/pkgs/applications/networking/browsers/microsoft-edge/browser.nix
new file mode 100644
index 0000000000000..ce7aecb1dc57a
--- /dev/null
+++ b/pkgs/applications/networking/browsers/microsoft-edge/browser.nix
@@ -0,0 +1,191 @@
+{ channel, version, revision, sha256 }:
+
+{ stdenv
+, fetchurl
+, lib
+
+, binutils-unwrapped
+, xz
+, gnutar
+, file
+
+, glibc
+, glib
+, nss
+, nspr
+, atk
+, at-spi2-atk
+, xorg
+, cups
+, dbus
+, expat
+, libdrm
+, libxkbcommon
+, gtk3
+, pango
+, cairo
+, gdk-pixbuf
+, mesa
+, alsa-lib
+, at-spi2-core
+, libuuid
+, systemd
+}:
+
+let
+
+  baseName = "microsoft-edge";
+
+  shortName = if channel == "stable"
+              then "msedge"
+              else "msedge-" + channel;
+
+  longName = if channel == "stable"
+             then baseName
+             else baseName + "-" + channel;
+
+  iconSuffix = if channel == "stable"
+               then ""
+               else "_${channel}";
+
+  desktopSuffix = if channel == "stable"
+                  then ""
+                  else "-${channel}";
+in
+
+stdenv.mkDerivation rec {
+  name="${baseName}-${channel}-${version}";
+
+  src = fetchurl {
+    url = "https://packages.microsoft.com/repos/edge/pool/main/m/${baseName}-${channel}/${baseName}-${channel}_${version}-${revision}_amd64.deb";
+    inherit sha256;
+  };
+
+  unpackCmd = "${binutils-unwrapped}/bin/ar p $src data.tar.xz | ${xz}/bin/xz -dc | ${gnutar}/bin/tar -xf -";
+  sourceRoot = ".";
+
+  dontPatch = true;
+  dontConfigure = true;
+  dontPatchELF = true;
+
+  buildPhase = let
+    libPath = {
+      msedge = lib.makeLibraryPath [
+        glibc glib nss nspr atk at-spi2-atk xorg.libX11
+        xorg.libxcb cups.lib dbus.lib expat libdrm
+        xorg.libXcomposite xorg.libXdamage xorg.libXext
+        xorg.libXfixes xorg.libXrandr libxkbcommon
+        gtk3 pango cairo gdk-pixbuf mesa
+        alsa-lib at-spi2-core xorg.libxshmfence systemd
+      ];
+      naclHelper = lib.makeLibraryPath [
+        glib nspr atk libdrm xorg.libxcb mesa xorg.libX11
+        xorg.libXext dbus.lib libxkbcommon
+      ];
+      libwidevinecdm = lib.makeLibraryPath [
+        glib nss nspr
+      ];
+      libGLESv2 = lib.makeLibraryPath [
+        xorg.libX11 xorg.libXext xorg.libxcb
+      ];
+      libsmartscreen = lib.makeLibraryPath [
+        libuuid stdenv.cc.cc.lib
+      ];
+      libsmartscreenn = lib.makeLibraryPath [
+        libuuid
+      ];
+      liboneauth = lib.makeLibraryPath [
+        libuuid xorg.libX11
+      ];
+    };
+  in ''
+    patchelf \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath "${libPath.msedge}" \
+      opt/microsoft/${shortName}/msedge
+
+    patchelf \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      opt/microsoft/${shortName}/msedge-sandbox
+
+    patchelf \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      opt/microsoft/${shortName}/msedge_crashpad_handler
+
+    patchelf \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath "${libPath.naclHelper}" \
+      opt/microsoft/${shortName}/nacl_helper
+
+    patchelf \
+      --set-rpath "${libPath.libwidevinecdm}" \
+      opt/microsoft/${shortName}/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so
+
+    patchelf \
+      --set-rpath "${libPath.libGLESv2}" \
+      opt/microsoft/${shortName}/libGLESv2.so
+
+    patchelf \
+      --set-rpath "${libPath.libsmartscreen}" \
+      opt/microsoft/${shortName}/libsmartscreen.so
+
+    patchelf \
+      --set-rpath "${libPath.libsmartscreenn}" \
+      opt/microsoft/${shortName}/libsmartscreenn.so
+
+    patchelf \
+      --set-rpath "${libPath.liboneauth}" \
+      opt/microsoft/${shortName}/liboneauth.so
+  '';
+
+  installPhase = ''
+    mkdir -p $out
+    cp -R opt usr/bin usr/share $out
+
+    ${if channel == "stable"
+      then ""
+      else "ln -sf $out/opt/microsoft/${shortName}/${baseName}-${channel} $out/opt/microsoft/${shortName}/${baseName}"}
+
+    ln -sf $out/opt/microsoft/${shortName}/${longName} $out/bin/${longName}
+
+    rm -rf $out/share/doc
+    rm -rf $out/opt/microsoft/${shortName}/cron
+
+    for icon in '16' '24' '32' '48' '64' '128' '256'
+    do
+      ${ "icon_source=$out/opt/microsoft/${shortName}/product_logo_\${icon}${iconSuffix}.png" }
+      ${ "icon_target=$out/share/icons/hicolor/\${icon}x\${icon}/apps" }
+      mkdir -p $icon_target
+      cp $icon_source $icon_target/microsoft-edge${desktopSuffix}.png
+    done
+
+    substituteInPlace $out/share/applications/${longName}.desktop \
+      --replace /usr/bin/${baseName}-${channel} $out/bin/${longName}
+
+    substituteInPlace $out/share/gnome-control-center/default-apps/${longName}.xml \
+      --replace /opt/microsoft/${shortName} $out/opt/microsoft/${shortName}
+
+    substituteInPlace $out/share/menu/${longName}.menu \
+      --replace /opt/microsoft/${shortName} $out/opt/microsoft/${shortName}
+
+    substituteInPlace $out/opt/microsoft/${shortName}/xdg-mime \
+      --replace "''${XDG_DATA_DIRS:-/usr/local/share:/usr/share}" "''${XDG_DATA_DIRS:-/run/current-system/sw/share}" \
+      --replace "xdg_system_dirs=/usr/local/share/:/usr/share/" "xdg_system_dirs=/run/current-system/sw/share/" \
+      --replace /usr/bin/file ${file}/bin/file
+
+    substituteInPlace $out/opt/microsoft/${shortName}/default-app-block \
+      --replace /opt/microsoft/${shortName} $out/opt/microsoft/${shortName}
+
+    substituteInPlace $out/opt/microsoft/${shortName}/xdg-settings \
+      --replace "''${XDG_DATA_DIRS:-/usr/local/share:/usr/share}" "''${XDG_DATA_DIRS:-/run/current-system/sw/share}" \
+      --replace "''${XDG_CONFIG_DIRS:-/etc/xdg}" "''${XDG_CONFIG_DIRS:-/run/current-system/sw/etc/xdg}"
+  '';
+
+  meta = with lib; {
+    homepage = "https://www.microsoft.com/en-us/edge";
+    description = "The web browser from Microsoft";
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ zanculmarktum kuwii ];
+  };
+}
diff --git a/pkgs/applications/networking/browsers/microsoft-edge/default.nix b/pkgs/applications/networking/browsers/microsoft-edge/default.nix
new file mode 100644
index 0000000000000..6598ba27a872c
--- /dev/null
+++ b/pkgs/applications/networking/browsers/microsoft-edge/default.nix
@@ -0,0 +1,20 @@
+{
+  beta = import ./browser.nix {
+    channel = "beta";
+    version = "99.0.1150.16";
+    revision = "1";
+    sha256 = "sha256:0qsgs889d6qwxz9qf42psmjqfhmrqgp07srq5r38npl5pncr137h";
+  };
+  dev = import ./browser.nix {
+    channel = "dev";
+    version = "100.0.1163.1";
+    revision = "1";
+    sha256 = "sha256:153faqxyw5f5b6cqnvd71dl7941znkzci8dwbcgaxway0b6882jq";
+  };
+  stable = import ./browser.nix {
+    channel = "stable";
+    version = "98.0.1108.56";
+    revision = "1";
+    sha256 = "sha256:03jbj2s2fs60fzfgsmyb284q7nckji87qgb86mvl5g0hbl19aza7";
+  };
+}
diff --git a/pkgs/applications/networking/browsers/microsoft-edge/update.sh b/pkgs/applications/networking/browsers/microsoft-edge/update.sh
new file mode 100755
index 0000000000000..c76c31c7f5a7b
--- /dev/null
+++ b/pkgs/applications/networking/browsers/microsoft-edge/update.sh
@@ -0,0 +1,50 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash -p curl gzip
+
+# To update: ./update.sh > default.nix
+
+index_file=$(curl -sL https://packages.microsoft.com/repos/edge/dists/stable/main/binary-amd64/Packages.gz | gzip -dc)
+
+echo "{"
+
+packages=()
+echo "$index_file" | while read -r line; do
+    if [[ "$line" =~ ^Package:[[:space:]]*(.*) ]]; then
+        Package="${BASH_REMATCH[1]}"
+    fi
+    if [[ "$line" =~ ^Version:[[:space:]]*(.*)-([a-zA-Z0-9+.~]*) ]]; then
+        Version="${BASH_REMATCH[1]}"
+        Revision="${BASH_REMATCH[2]}"
+    fi
+    if [[ "$line" =~ ^SHA256:[[:space:]]*(.*) ]]; then
+        SHA256="${BASH_REMATCH[1]}"
+    fi
+
+    if ! [[ "$line" ]]; then
+        found=0
+        for i in "${packages[@]}"; do
+            if [[ "$i" == "$Package" ]]; then
+                found=1
+            fi
+        done
+
+        if (( ! $found )); then
+            channel="${Package##*-}"
+            name="${Package%-${channel}}"
+            cat <<EOF
+  ${channel} = import ./browser.nix {
+    channel = "${channel}";
+    version = "${Version}";
+    revision = "${Revision}";
+    sha256 = "sha256:$(nix-hash --type sha256 --to-base32 ${SHA256})";
+  };
+EOF
+        fi
+
+        packages+=($Package)
+        Package=""
+        Version=""
+    fi
+done
+
+echo "}"
diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix
index bd7d42777f5d0..7c37531263fb8 100644
--- a/pkgs/applications/networking/browsers/opera/default.nix
+++ b/pkgs/applications/networking/browsers/opera/default.nix
@@ -50,11 +50,11 @@ let
 in stdenv.mkDerivation rec {
 
   pname = "opera";
-  version = "84.0.4316.31";
+  version = "84.0.4316.42";
 
   src = fetchurl {
     url = "${mirror}/${version}/linux/${pname}-stable_${version}_amd64.deb";
-    sha256 = "sha256-ypSnarhtJNQn3yOtydjmf6WmHAYbOfMg3xatCxTfIMY=";
+    sha256 = "sha256-ZjVuw30YfHQ69BVxPvIde6VuOcqtnXrGwhZpA26vLpw=";
   };
 
   unpackCmd = "${dpkg}/bin/dpkg-deb -x $curSrc .";
diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix
index e33ff3f3ca6ec..cce3f39d3c31f 100644
--- a/pkgs/applications/networking/browsers/palemoon/default.nix
+++ b/pkgs/applications/networking/browsers/palemoon/default.nix
@@ -31,6 +31,8 @@
 , zip
 , zlib
 , withGTK3 ? true, gtk3, gtk2
+, testVersion
+, palemoon
 }:
 
 # Only specific GCC versions are supported with branding
@@ -44,12 +46,12 @@ assert with lib.strings; (
 
 stdenv.mkDerivation rec {
   pname = "palemoon";
-  version = "29.4.4";
+  version = "29.4.5.1";
 
   src = fetchzip {
     name = "${pname}-${version}";
     url = "http://archive.palemoon.org/source/${pname}-${version}.source.tar.xz";
-    sha256 = "sha256-0R0IJd4rd7NqnxQxkHSx10cNlwECqpKgJnlfYAMx4wc=";
+    sha256 = "sha256-IC7E88dECAz2diVLEEdjMltpNMBhPTlPvbz05BniBMI=";
   };
 
   nativeBuildInputs = [
@@ -194,18 +196,23 @@ stdenv.mkDerivation rec {
     platforms = [ "i686-linux" "x86_64-linux" ];
   };
 
-  passthru.updateScript = writeScript "update-${pname}" ''
-    #!/usr/bin/env nix-shell
-    #!nix-shell -i bash -p common-updater-scripts curl libxml2
+  passthru = {
+    updateScript = writeScript "update-${pname}" ''
+      #!/usr/bin/env nix-shell
+      #!nix-shell -i bash -p common-updater-scripts curl libxml2
 
-    set -eu -o pipefail
+      set -eu -o pipefail
 
-    # Only release note announcement == finalized release
-    version="$(
-      curl -s 'http://www.palemoon.org/releasenotes.shtml' |
-      xmllint --html --xpath 'html/body/table/tbody/tr/td/h3/text()' - 2>/dev/null | head -n1 |
-      sed 's/v\(\S*\).*/\1/'
-    )"
-    update-source-version ${pname} "$version"
-  '';
+      # Only release note announcement == finalized release
+      version="$(
+        curl -s 'http://www.palemoon.org/releasenotes.shtml' |
+        xmllint --html --xpath 'html/body/table/tbody/tr/td/h3/text()' - 2>/dev/null | head -n1 |
+        sed 's/v\(\S*\).*/\1/'
+      )"
+      update-source-version ${pname} "$version"
+    '';
+    tests.version = testVersion {
+      package = palemoon;
+    };
+  };
 }
diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix
index e92815476676c..6d919ce520f57 100644
--- a/pkgs/applications/networking/browsers/qutebrowser/default.nix
+++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix
@@ -31,12 +31,12 @@ let
 
 in mkDerivationWith python3Packages.buildPythonApplication rec {
   pname = "qutebrowser";
-  version = "2.4.0";
+  version = "2.5.0";
 
   # the release tarballs are different from the git checkout!
   src = fetchurl {
     url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "8s2auxTrq/ljBXOy+4RHvhkod3h9xOOWThtV9yqFkuw=";
+    sha256 = "1zai8ivc9cqax2idspwvyp24dkis0x6sv29fia8ja3sp62i45171";
   };
 
   # Needs tox
diff --git a/pkgs/applications/networking/browsers/vieb/default.nix b/pkgs/applications/networking/browsers/vieb/default.nix
index d7ba8808cc71f..7cbf4cad975ef 100644
--- a/pkgs/applications/networking/browsers/vieb/default.nix
+++ b/pkgs/applications/networking/browsers/vieb/default.nix
@@ -2,13 +2,13 @@
 
 mkYarnPackage rec {
   pname = "vieb";
-  version = "6.2.0";
+  version = "7.1.2";
 
   src = fetchFromGitHub {
     owner = "Jelmerro";
     repo = pname;
     rev = version;
-    sha256 = "sha256-FuaN9iUxR5Y6SnNmuegmNJXn1BYKgcobquTL3thuByM=";
+    sha256 = "sha256-4LGg3w/rleTyHJd4867dog+/fIXhtKbYgF1bYKwoh/I=";
   };
 
   packageJSON = ./package.json;
diff --git a/pkgs/applications/networking/browsers/vieb/package.json b/pkgs/applications/networking/browsers/vieb/package.json
index 1836efdb8ad20..0e518f5ef4afa 100644
--- a/pkgs/applications/networking/browsers/vieb/package.json
+++ b/pkgs/applications/networking/browsers/vieb/package.json
@@ -1,7 +1,7 @@
 {
   "name": "vieb",
   "productName": "Vieb",
-  "version": "5.3.0",
+  "version": "7.1.2",
   "description": "Vim Inspired Electron Browser",
   "main": "app/index.js",
   "scripts": {
@@ -14,7 +14,7 @@
     "fix": "eslint --fix app .eslintrc.js build.js",
     "lint": "eslint app .eslintrc.js build.js",
     "start": "electron app",
-    "test": "jest --testEnvironment jsdom --coverage --collectCoverageFrom 'app/**/*.js' -u && npm run lint && echo 'All good :)'"
+    "test": "TZ=UTC jest --testEnvironment jsdom --coverage --collectCoverageFrom 'app/**/*.js' -u && npm run lint && echo 'All good :)'"
   },
   "repository": "https://github.com/Jelmerro/Vieb",
   "homepage": "https://vieb.dev",
@@ -28,23 +28,18 @@
   "email": "Jelmerro@users.noreply.github.com",
   "license": "GPL-3.0-or-later",
   "devDependencies": {
-    "archiver": "5.3.0",
-    "electron": "13.1.4",
-    "electron-builder": "22.11.7",
-    "eslint": "7.29.0",
-    "eslint-plugin-compat": "3.9.0",
-    "eslint-plugin-sort-keys-fix": "1.1.1",
-    "jest": "27.0.6",
-    "jest-environment-jsdom": "27.0.6"
+    "electron": "17.0.1",
+    "electron-builder": "22.14.13",
+    "eslint": "8.9.0",
+    "eslint-plugin-sort-keys": "2.3.5",
+    "jest": "27.5.1",
+    "jest-environment-jsdom": "27.5.1"
   },
   "dependencies": {
     "7zip-bin": "5.1.1",
-    "@cliqz/adblocker-electron": "1.22.2",
-    "@cliqz/adblocker-electron-preload": "1.22.2",
-    "is-svg": "4.3.1",
+    "@cliqz/adblocker-electron": "1.23.6",
+    "@cliqz/adblocker-electron-preload": "1.23.6",
+    "is-svg": "4.3.2",
     "rimraf": "3.0.2"
-  },
-  "browserslist": [
-    "last 2 Chrome versions"
-  ]
+  }
 }
diff --git a/pkgs/applications/networking/browsers/vieb/yarn.lock b/pkgs/applications/networking/browsers/vieb/yarn.lock
index 33e9604c06dac..4f5254819b168 100644
--- a/pkgs/applications/networking/browsers/vieb/yarn.lock
+++ b/pkgs/applications/networking/browsers/vieb/yarn.lock
@@ -7,184 +7,167 @@
   resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.1.1.tgz#9274ec7460652f9c632c59addf24efb1684ef876"
   integrity sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ==
 
-"@babel/code-frame@7.12.11":
-  version "7.12.11"
-  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f"
-  integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==
-  dependencies:
-    "@babel/highlight" "^7.10.4"
-
-"@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5":
-  version "7.14.5"
-  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb"
-  integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==
-  dependencies:
-    "@babel/highlight" "^7.14.5"
-
-"@babel/compat-data@^7.14.5":
-  version "7.14.7"
-  resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.7.tgz#7b047d7a3a89a67d2258dc61f604f098f1bc7e08"
-  integrity sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==
-
-"@babel/core@^7.1.0", "@babel/core@^7.7.2", "@babel/core@^7.7.5":
-  version "7.14.6"
-  resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.6.tgz#e0814ec1a950032ff16c13a2721de39a8416fcab"
-  integrity sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA==
-  dependencies:
-    "@babel/code-frame" "^7.14.5"
-    "@babel/generator" "^7.14.5"
-    "@babel/helper-compilation-targets" "^7.14.5"
-    "@babel/helper-module-transforms" "^7.14.5"
-    "@babel/helpers" "^7.14.6"
-    "@babel/parser" "^7.14.6"
-    "@babel/template" "^7.14.5"
-    "@babel/traverse" "^7.14.5"
-    "@babel/types" "^7.14.5"
+"@ampproject/remapping@^2.1.0":
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34"
+  integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==
+  dependencies:
+    "@jridgewell/trace-mapping" "^0.3.0"
+
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789"
+  integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==
+  dependencies:
+    "@babel/highlight" "^7.16.7"
+
+"@babel/compat-data@^7.17.7":
+  version "7.17.7"
+  resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2"
+  integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==
+
+"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.8.0":
+  version "7.17.8"
+  resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.8.tgz#3dac27c190ebc3a4381110d46c80e77efe172e1a"
+  integrity sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==
+  dependencies:
+    "@ampproject/remapping" "^2.1.0"
+    "@babel/code-frame" "^7.16.7"
+    "@babel/generator" "^7.17.7"
+    "@babel/helper-compilation-targets" "^7.17.7"
+    "@babel/helper-module-transforms" "^7.17.7"
+    "@babel/helpers" "^7.17.8"
+    "@babel/parser" "^7.17.8"
+    "@babel/template" "^7.16.7"
+    "@babel/traverse" "^7.17.3"
+    "@babel/types" "^7.17.0"
     convert-source-map "^1.7.0"
     debug "^4.1.0"
     gensync "^1.0.0-beta.2"
     json5 "^2.1.2"
     semver "^6.3.0"
-    source-map "^0.5.0"
 
-"@babel/generator@^7.14.5", "@babel/generator@^7.7.2":
-  version "7.14.5"
-  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.5.tgz#848d7b9f031caca9d0cd0af01b063f226f52d785"
-  integrity sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==
+"@babel/generator@^7.17.3", "@babel/generator@^7.17.7", "@babel/generator@^7.7.2":
+  version "7.17.7"
+  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad"
+  integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==
   dependencies:
-    "@babel/types" "^7.14.5"
+    "@babel/types" "^7.17.0"
     jsesc "^2.5.1"
     source-map "^0.5.0"
 
-"@babel/helper-compilation-targets@^7.14.5":
-  version "7.14.5"
-  resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz#7a99c5d0967911e972fe2c3411f7d5b498498ecf"
-  integrity sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==
+"@babel/helper-compilation-targets@^7.17.7":
+  version "7.17.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz#a3c2924f5e5f0379b356d4cfb313d1414dc30e46"
+  integrity sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==
   dependencies:
-    "@babel/compat-data" "^7.14.5"
-    "@babel/helper-validator-option" "^7.14.5"
-    browserslist "^4.16.6"
+    "@babel/compat-data" "^7.17.7"
+    "@babel/helper-validator-option" "^7.16.7"
+    browserslist "^4.17.5"
     semver "^6.3.0"
 
-"@babel/helper-function-name@^7.14.5":
-  version "7.14.5"
-  resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz#89e2c474972f15d8e233b52ee8c480e2cfcd50c4"
-  integrity sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==
-  dependencies:
-    "@babel/helper-get-function-arity" "^7.14.5"
-    "@babel/template" "^7.14.5"
-    "@babel/types" "^7.14.5"
-
-"@babel/helper-get-function-arity@^7.14.5":
-  version "7.14.5"
-  resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815"
-  integrity sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==
-  dependencies:
-    "@babel/types" "^7.14.5"
-
-"@babel/helper-hoist-variables@^7.14.5":
-  version "7.14.5"
-  resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz#e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d"
-  integrity sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==
-  dependencies:
-    "@babel/types" "^7.14.5"
-
-"@babel/helper-member-expression-to-functions@^7.14.5":
-  version "7.14.7"
-  resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz#97e56244beb94211fe277bd818e3a329c66f7970"
-  integrity sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==
-  dependencies:
-    "@babel/types" "^7.14.5"
-
-"@babel/helper-module-imports@^7.14.5":
-  version "7.14.5"
-  resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz#6d1a44df6a38c957aa7c312da076429f11b422f3"
-  integrity sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==
-  dependencies:
-    "@babel/types" "^7.14.5"
-
-"@babel/helper-module-transforms@^7.14.5":
-  version "7.14.5"
-  resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz#7de42f10d789b423eb902ebd24031ca77cb1e10e"
-  integrity sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==
-  dependencies:
-    "@babel/helper-module-imports" "^7.14.5"
-    "@babel/helper-replace-supers" "^7.14.5"
-    "@babel/helper-simple-access" "^7.14.5"
-    "@babel/helper-split-export-declaration" "^7.14.5"
-    "@babel/helper-validator-identifier" "^7.14.5"
-    "@babel/template" "^7.14.5"
-    "@babel/traverse" "^7.14.5"
-    "@babel/types" "^7.14.5"
-
-"@babel/helper-optimise-call-expression@^7.14.5":
-  version "7.14.5"
-  resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz#f27395a8619e0665b3f0364cddb41c25d71b499c"
-  integrity sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==
-  dependencies:
-    "@babel/types" "^7.14.5"
-
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0":
-  version "7.14.5"
-  resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9"
-  integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==
-
-"@babel/helper-replace-supers@^7.14.5":
-  version "7.14.5"
-  resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz#0ecc0b03c41cd567b4024ea016134c28414abb94"
-  integrity sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==
-  dependencies:
-    "@babel/helper-member-expression-to-functions" "^7.14.5"
-    "@babel/helper-optimise-call-expression" "^7.14.5"
-    "@babel/traverse" "^7.14.5"
-    "@babel/types" "^7.14.5"
-
-"@babel/helper-simple-access@^7.14.5":
-  version "7.14.5"
-  resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz#66ea85cf53ba0b4e588ba77fc813f53abcaa41c4"
-  integrity sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==
-  dependencies:
-    "@babel/types" "^7.14.5"
-
-"@babel/helper-split-export-declaration@^7.14.5":
-  version "7.14.5"
-  resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz#22b23a54ef51c2b7605d851930c1976dd0bc693a"
-  integrity sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==
-  dependencies:
-    "@babel/types" "^7.14.5"
-
-"@babel/helper-validator-identifier@^7.14.5":
-  version "7.14.5"
-  resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz#d0f0e277c512e0c938277faa85a3968c9a44c0e8"
-  integrity sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==
-
-"@babel/helper-validator-option@^7.14.5":
-  version "7.14.5"
-  resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3"
-  integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==
-
-"@babel/helpers@^7.14.6":
-  version "7.14.6"
-  resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.6.tgz#5b58306b95f1b47e2a0199434fa8658fa6c21635"
-  integrity sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==
-  dependencies:
-    "@babel/template" "^7.14.5"
-    "@babel/traverse" "^7.14.5"
-    "@babel/types" "^7.14.5"
-
-"@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5":
-  version "7.14.5"
-  resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9"
-  integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==
-  dependencies:
-    "@babel/helper-validator-identifier" "^7.14.5"
+"@babel/helper-environment-visitor@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7"
+  integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==
+  dependencies:
+    "@babel/types" "^7.16.7"
+
+"@babel/helper-function-name@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f"
+  integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==
+  dependencies:
+    "@babel/helper-get-function-arity" "^7.16.7"
+    "@babel/template" "^7.16.7"
+    "@babel/types" "^7.16.7"
+
+"@babel/helper-get-function-arity@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419"
+  integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==
+  dependencies:
+    "@babel/types" "^7.16.7"
+
+"@babel/helper-hoist-variables@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246"
+  integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==
+  dependencies:
+    "@babel/types" "^7.16.7"
+
+"@babel/helper-module-imports@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437"
+  integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==
+  dependencies:
+    "@babel/types" "^7.16.7"
+
+"@babel/helper-module-transforms@^7.17.7":
+  version "7.17.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd"
+  integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==
+  dependencies:
+    "@babel/helper-environment-visitor" "^7.16.7"
+    "@babel/helper-module-imports" "^7.16.7"
+    "@babel/helper-simple-access" "^7.17.7"
+    "@babel/helper-split-export-declaration" "^7.16.7"
+    "@babel/helper-validator-identifier" "^7.16.7"
+    "@babel/template" "^7.16.7"
+    "@babel/traverse" "^7.17.3"
+    "@babel/types" "^7.17.0"
+
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.8.0":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5"
+  integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==
+
+"@babel/helper-simple-access@^7.17.7":
+  version "7.17.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367"
+  integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==
+  dependencies:
+    "@babel/types" "^7.17.0"
+
+"@babel/helper-split-export-declaration@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b"
+  integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==
+  dependencies:
+    "@babel/types" "^7.16.7"
+
+"@babel/helper-validator-identifier@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad"
+  integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==
+
+"@babel/helper-validator-option@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23"
+  integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==
+
+"@babel/helpers@^7.17.8":
+  version "7.17.8"
+  resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.8.tgz#288450be8c6ac7e4e44df37bcc53d345e07bc106"
+  integrity sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==
+  dependencies:
+    "@babel/template" "^7.16.7"
+    "@babel/traverse" "^7.17.3"
+    "@babel/types" "^7.17.0"
+
+"@babel/highlight@^7.16.7":
+  version "7.16.10"
+  resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88"
+  integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==
+  dependencies:
+    "@babel/helper-validator-identifier" "^7.16.7"
     chalk "^2.0.0"
     js-tokens "^4.0.0"
 
-"@babel/parser@^7.1.0", "@babel/parser@^7.14.5", "@babel/parser@^7.14.6", "@babel/parser@^7.14.7", "@babel/parser@^7.7.2":
-  version "7.14.7"
-  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.7.tgz#6099720c8839ca865a2637e6c85852ead0bdb595"
-  integrity sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==
+"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.17.8":
+  version "7.17.8"
+  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.8.tgz#2817fb9d885dd8132ea0f8eb615a6388cca1c240"
+  integrity sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==
 
 "@babel/plugin-syntax-async-generators@^7.8.4":
   version "7.8.4"
@@ -271,42 +254,43 @@
     "@babel/helper-plugin-utils" "^7.14.5"
 
 "@babel/plugin-syntax-typescript@^7.7.2":
-  version "7.14.5"
-  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz#b82c6ce471b165b5ce420cf92914d6fb46225716"
-  integrity sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/template@^7.14.5", "@babel/template@^7.3.3":
-  version "7.14.5"
-  resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4"
-  integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==
-  dependencies:
-    "@babel/code-frame" "^7.14.5"
-    "@babel/parser" "^7.14.5"
-    "@babel/types" "^7.14.5"
-
-"@babel/traverse@^7.1.0", "@babel/traverse@^7.14.5", "@babel/traverse@^7.7.2":
-  version "7.14.7"
-  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.7.tgz#64007c9774cfdc3abd23b0780bc18a3ce3631753"
-  integrity sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==
-  dependencies:
-    "@babel/code-frame" "^7.14.5"
-    "@babel/generator" "^7.14.5"
-    "@babel/helper-function-name" "^7.14.5"
-    "@babel/helper-hoist-variables" "^7.14.5"
-    "@babel/helper-split-export-declaration" "^7.14.5"
-    "@babel/parser" "^7.14.7"
-    "@babel/types" "^7.14.5"
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz#39c9b55ee153151990fb038651d58d3fd03f98f8"
+  integrity sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/template@^7.16.7", "@babel/template@^7.3.3":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155"
+  integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==
+  dependencies:
+    "@babel/code-frame" "^7.16.7"
+    "@babel/parser" "^7.16.7"
+    "@babel/types" "^7.16.7"
+
+"@babel/traverse@^7.17.3", "@babel/traverse@^7.7.2":
+  version "7.17.3"
+  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57"
+  integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==
+  dependencies:
+    "@babel/code-frame" "^7.16.7"
+    "@babel/generator" "^7.17.3"
+    "@babel/helper-environment-visitor" "^7.16.7"
+    "@babel/helper-function-name" "^7.16.7"
+    "@babel/helper-hoist-variables" "^7.16.7"
+    "@babel/helper-split-export-declaration" "^7.16.7"
+    "@babel/parser" "^7.17.3"
+    "@babel/types" "^7.17.0"
     debug "^4.1.0"
     globals "^11.1.0"
 
-"@babel/types@^7.0.0", "@babel/types@^7.14.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3":
-  version "7.14.5"
-  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.5.tgz#3bb997ba829a2104cedb20689c4a5b8121d383ff"
-  integrity sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==
+"@babel/types@^7.0.0", "@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3":
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b"
+  integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==
   dependencies:
-    "@babel/helper-validator-identifier" "^7.14.5"
+    "@babel/helper-validator-identifier" "^7.16.7"
     to-fast-properties "^2.0.0"
 
 "@bcoe/v8-coverage@^0.2.3":
@@ -314,46 +298,53 @@
   resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
   integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
 
-"@cliqz/adblocker-content@^1.22.2":
-  version "1.22.2"
-  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-content/-/adblocker-content-1.22.2.tgz#643849d5f08c167eb84a2e7e3f1f9fbc41a3889b"
-  integrity sha512-EsV00IdW8sGujGnylOGR8dm401FdIfPRAjuevsRlZjgDE+hQKj6n5wwrZaylPIh994hWesg6bxWTmXpJ2Sy2QQ==
+"@cliqz/adblocker-content@^1.23.6", "@cliqz/adblocker-content@^1.23.7":
+  version "1.23.7"
+  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-content/-/adblocker-content-1.23.7.tgz#21a1035e479d8f4dc4e7ecc2500cf8a4149eaace"
+  integrity sha512-tgCFcWhBty+WI3ObYBLDk56i1G7nScd5TBAOXlQf2EIbVJ+DC+G0YE91YHhQpzfy4ySI/wRGyEHrKzTRgmkuKQ==
+  dependencies:
+    "@cliqz/adblocker-extended-selectors" "^1.23.7"
+
+"@cliqz/adblocker-electron-preload@1.23.6":
+  version "1.23.6"
+  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-electron-preload/-/adblocker-electron-preload-1.23.6.tgz#7f8db3df95afb385917df00ec5300847448437d1"
+  integrity sha512-xVBrIqfvcuh2Y07ZkEogzgkyqJuZvOqhRoFnuTyW2q97AmWAGLT6IjEGjl/vX7vMP0Y1b8wubdjI3VHnKvNKDg==
   dependencies:
-    "@cliqz/adblocker-extended-selectors" "^1.22.2"
+    "@cliqz/adblocker-content" "^1.23.6"
 
-"@cliqz/adblocker-electron-preload@1.22.2", "@cliqz/adblocker-electron-preload@^1.22.2":
-  version "1.22.2"
-  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-electron-preload/-/adblocker-electron-preload-1.22.2.tgz#eea674767a60abe4e5f9ccb46188d33656f551d0"
-  integrity sha512-4JSqNNYo4hXMoZjnyBVTd3z2yV2n5qeoNPk+WaeOFEF9uJXhqPR+Sz7scNB6nMYnRuSQfraeogtdaA4s0JkJWQ==
+"@cliqz/adblocker-electron-preload@^1.23.6":
+  version "1.23.7"
+  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-electron-preload/-/adblocker-electron-preload-1.23.7.tgz#6aff5198c518c2d35f67a34bd213664a2a86e3ae"
+  integrity sha512-bGWf4r5q4savAGs3Kl4aR7XBH4J9AmrErDmcYu+tJk9V3rhTGXUi29kMl0D5x2JimhRmnKOeJ/Q2GJSUjvnmsg==
   dependencies:
-    "@cliqz/adblocker-content" "^1.22.2"
+    "@cliqz/adblocker-content" "^1.23.7"
 
-"@cliqz/adblocker-electron@1.22.2":
-  version "1.22.2"
-  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-electron/-/adblocker-electron-1.22.2.tgz#85af3b49f7f653e6fb0d008b6523e3b3ba0dd41e"
-  integrity sha512-uSQjbcv9/csjQOO0AgqK8AnqdpKseebPkwXozglU1uFVVnuSOTs/4RohL3yac9uMkJtfyAIhT3mnbw9Cf4o+gQ==
+"@cliqz/adblocker-electron@1.23.6":
+  version "1.23.6"
+  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-electron/-/adblocker-electron-1.23.6.tgz#e550f2ffa2b5d0404d0090c3870d0a849d3cd5d8"
+  integrity sha512-wzkCfBCo5RvRanzsVOu65xHW9GAUDqsg+tP8GYld6/hgMMb96KJZJVpvrvwvsneAm9T55QE4ef1utZbIIwltqA==
   dependencies:
-    "@cliqz/adblocker" "^1.22.2"
-    "@cliqz/adblocker-electron-preload" "^1.22.2"
+    "@cliqz/adblocker" "^1.23.6"
+    "@cliqz/adblocker-electron-preload" "^1.23.6"
     tldts-experimental "^5.6.21"
 
-"@cliqz/adblocker-extended-selectors@^1.22.2":
-  version "1.22.2"
-  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-extended-selectors/-/adblocker-extended-selectors-1.22.2.tgz#1cad3c1569b765d9e7f8672c85b2a7b1e8e9ee90"
-  integrity sha512-/u4SmQ1wr7d80iGP705fZrfHjJUTf/1MyRXz5Wltt7i3OHvOCQEoST2mqNlfx0W/9gIWzxA7cFRLY0/aITmzTw==
+"@cliqz/adblocker-extended-selectors@^1.23.7":
+  version "1.23.7"
+  resolved "https://registry.yarnpkg.com/@cliqz/adblocker-extended-selectors/-/adblocker-extended-selectors-1.23.7.tgz#4782829c97b7ed229789a14d4e39b2339825077d"
+  integrity sha512-3y1eeHHZS3qvvv3dDZDjVVr6g03GeUBbDExCW/GOiHdo+qKYmM2K40EaLN+Upzc2ppuum9UKvzsHxG8Hs9R/kQ==
 
-"@cliqz/adblocker@^1.22.2":
-  version "1.22.2"
-  resolved "https://registry.yarnpkg.com/@cliqz/adblocker/-/adblocker-1.22.2.tgz#99a14d56327734d3083a077d96fe7b91c236bf7a"
-  integrity sha512-P+a8gYbRbQy38mYsr7932h2cnK/7AEuQrmCEfLTO1+abCr2v5RM2Qb+cCn/JVnQSeqnysebAIXoV+PUzrjfpiQ==
+"@cliqz/adblocker@^1.23.6":
+  version "1.23.7"
+  resolved "https://registry.yarnpkg.com/@cliqz/adblocker/-/adblocker-1.23.7.tgz#d439fe8b62d2789c274b5e124cddb930de25f59a"
+  integrity sha512-HUvC7CcmNbcIftcRhFeuQhHSpyNdOVdXazXDL0+avvWR0cxlI9zcC8yHMRKjxeY6nsiOXdyEFby+V5KgJvfwaQ==
   dependencies:
-    "@cliqz/adblocker-content" "^1.22.2"
-    "@cliqz/adblocker-extended-selectors" "^1.22.2"
+    "@cliqz/adblocker-content" "^1.23.7"
+    "@cliqz/adblocker-extended-selectors" "^1.23.7"
     "@remusao/guess-url-type" "^1.1.2"
     "@remusao/small" "^1.1.2"
     "@remusao/smaz" "^1.7.1"
-    "@types/chrome" "^0.0.145"
-    "@types/firefox-webext-browser" "^82.0.0"
+    "@types/chrome" "^0.0.180"
+    "@types/firefox-webext-browser" "^94.0.0"
     tldts-experimental "^5.6.21"
 
 "@develar/schema-utils@~2.6.5":
@@ -364,10 +355,10 @@
     ajv "^6.12.0"
     ajv-keywords "^3.4.1"
 
-"@electron/get@^1.0.1":
-  version "1.12.4"
-  resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.12.4.tgz#a5971113fc1bf8fa12a8789dc20152a7359f06ab"
-  integrity sha512-6nr9DbJPUR9Xujw6zD3y+rS95TyItEVM0NVjt1EehY2vUWfIgPiIPVHxCvaTS0xr2B+DRxovYVKbuOWqC35kjg==
+"@electron/get@^1.13.0":
+  version "1.14.1"
+  resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.14.1.tgz#16ba75f02dffb74c23965e72d617adc721d27f40"
+  integrity sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==
   dependencies:
     debug "^4.1.1"
     env-paths "^2.2.0"
@@ -377,7 +368,7 @@
     semver "^6.2.0"
     sumchecker "^3.0.1"
   optionalDependencies:
-    global-agent "^2.0.2"
+    global-agent "^3.0.0"
     global-tunnel-ng "^2.7.1"
 
 "@electron/universal@1.0.5":
@@ -391,21 +382,35 @@
     dir-compare "^2.4.0"
     fs-extra "^9.0.1"
 
-"@eslint/eslintrc@^0.4.2":
-  version "0.4.2"
-  resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.2.tgz#f63d0ef06f5c0c57d76c4ab5f63d3835c51b0179"
-  integrity sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg==
+"@eslint/eslintrc@^1.1.0":
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.1.tgz#8b5e1c49f4077235516bc9ec7d41378c0f69b8c6"
+  integrity sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==
   dependencies:
     ajv "^6.12.4"
-    debug "^4.1.1"
-    espree "^7.3.0"
+    debug "^4.3.2"
+    espree "^9.3.1"
     globals "^13.9.0"
-    ignore "^4.0.6"
+    ignore "^5.2.0"
     import-fresh "^3.2.1"
-    js-yaml "^3.13.1"
+    js-yaml "^4.1.0"
     minimatch "^3.0.4"
     strip-json-comments "^3.1.1"
 
+"@humanwhocodes/config-array@^0.9.2":
+  version "0.9.5"
+  resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7"
+  integrity sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==
+  dependencies:
+    "@humanwhocodes/object-schema" "^1.2.1"
+    debug "^4.1.1"
+    minimatch "^3.0.4"
+
+"@humanwhocodes/object-schema@^1.2.1":
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
+  integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
+
 "@istanbuljs/load-nyc-config@^1.0.0":
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced"
@@ -422,168 +427,168 @@
   resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98"
   integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==
 
-"@jest/console@^27.0.6":
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.0.6.tgz#3eb72ea80897495c3d73dd97aab7f26770e2260f"
-  integrity sha512-fMlIBocSHPZ3JxgWiDNW/KPj6s+YRd0hicb33IrmelCcjXo/pXPwvuiKFmZz+XuqI/1u7nbUK10zSsWL/1aegg==
+"@jest/console@^27.5.1":
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.5.1.tgz#260fe7239602fe5130a94f1aa386eff54b014bba"
+  integrity sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==
   dependencies:
-    "@jest/types" "^27.0.6"
+    "@jest/types" "^27.5.1"
     "@types/node" "*"
     chalk "^4.0.0"
-    jest-message-util "^27.0.6"
-    jest-util "^27.0.6"
+    jest-message-util "^27.5.1"
+    jest-util "^27.5.1"
     slash "^3.0.0"
 
-"@jest/core@^27.0.6":
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.0.6.tgz#c5f642727a0b3bf0f37c4b46c675372d0978d4a1"
-  integrity sha512-SsYBm3yhqOn5ZLJCtccaBcvD/ccTLCeuDv8U41WJH/V1MW5eKUkeMHT9U+Pw/v1m1AIWlnIW/eM2XzQr0rEmow==
+"@jest/core@^27.5.1":
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.5.1.tgz#267ac5f704e09dc52de2922cbf3af9edcd64b626"
+  integrity sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==
   dependencies:
-    "@jest/console" "^27.0.6"
-    "@jest/reporters" "^27.0.6"
-    "@jest/test-result" "^27.0.6"
-    "@jest/transform" "^27.0.6"
-    "@jest/types" "^27.0.6"
+    "@jest/console" "^27.5.1"
+    "@jest/reporters" "^27.5.1"
+    "@jest/test-result" "^27.5.1"
+    "@jest/transform" "^27.5.1"
+    "@jest/types" "^27.5.1"
     "@types/node" "*"
     ansi-escapes "^4.2.1"
     chalk "^4.0.0"
     emittery "^0.8.1"
     exit "^0.1.2"
-    graceful-fs "^4.2.4"
-    jest-changed-files "^27.0.6"
-    jest-config "^27.0.6"
-    jest-haste-map "^27.0.6"
-    jest-message-util "^27.0.6"
-    jest-regex-util "^27.0.6"
-    jest-resolve "^27.0.6"
-    jest-resolve-dependencies "^27.0.6"
-    jest-runner "^27.0.6"
-    jest-runtime "^27.0.6"
-    jest-snapshot "^27.0.6"
-    jest-util "^27.0.6"
-    jest-validate "^27.0.6"
-    jest-watcher "^27.0.6"
+    graceful-fs "^4.2.9"
+    jest-changed-files "^27.5.1"
+    jest-config "^27.5.1"
+    jest-haste-map "^27.5.1"
+    jest-message-util "^27.5.1"
+    jest-regex-util "^27.5.1"
+    jest-resolve "^27.5.1"
+    jest-resolve-dependencies "^27.5.1"
+    jest-runner "^27.5.1"
+    jest-runtime "^27.5.1"
+    jest-snapshot "^27.5.1"
+    jest-util "^27.5.1"
+    jest-validate "^27.5.1"
+    jest-watcher "^27.5.1"
     micromatch "^4.0.4"
-    p-each-series "^2.1.0"
     rimraf "^3.0.0"
     slash "^3.0.0"
     strip-ansi "^6.0.0"
 
-"@jest/environment@^27.0.6":
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.0.6.tgz#ee293fe996db01d7d663b8108fa0e1ff436219d2"
-  integrity sha512-4XywtdhwZwCpPJ/qfAkqExRsERW+UaoSRStSHCCiQTUpoYdLukj+YJbQSFrZjhlUDRZeNiU9SFH0u7iNimdiIg==
+"@jest/environment@^27.5.1":
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.5.1.tgz#d7425820511fe7158abbecc010140c3fd3be9c74"
+  integrity sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==
   dependencies:
-    "@jest/fake-timers" "^27.0.6"
-    "@jest/types" "^27.0.6"
+    "@jest/fake-timers" "^27.5.1"
+    "@jest/types" "^27.5.1"
     "@types/node" "*"
-    jest-mock "^27.0.6"
+    jest-mock "^27.5.1"
 
-"@jest/fake-timers@^27.0.6":
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.0.6.tgz#cbad52f3fe6abe30e7acb8cd5fa3466b9588e3df"
-  integrity sha512-sqd+xTWtZ94l3yWDKnRTdvTeZ+A/V7SSKrxsrOKSqdyddb9CeNRF8fbhAU0D7ZJBpTTW2nbp6MftmKJDZfW2LQ==
+"@jest/fake-timers@^27.5.1":
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz#76979745ce0579c8a94a4678af7a748eda8ada74"
+  integrity sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==
   dependencies:
-    "@jest/types" "^27.0.6"
-    "@sinonjs/fake-timers" "^7.0.2"
+    "@jest/types" "^27.5.1"
+    "@sinonjs/fake-timers" "^8.0.1"
     "@types/node" "*"
-    jest-message-util "^27.0.6"
-    jest-mock "^27.0.6"
-    jest-util "^27.0.6"
+    jest-message-util "^27.5.1"
+    jest-mock "^27.5.1"
+    jest-util "^27.5.1"
 
-"@jest/globals@^27.0.6":
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.0.6.tgz#48e3903f99a4650673d8657334d13c9caf0e8f82"
-  integrity sha512-DdTGCP606rh9bjkdQ7VvChV18iS7q0IMJVP1piwTWyWskol4iqcVwthZmoJEf7obE1nc34OpIyoVGPeqLC+ryw==
+"@jest/globals@^27.5.1":
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.5.1.tgz#7ac06ce57ab966566c7963431cef458434601b2b"
+  integrity sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==
   dependencies:
-    "@jest/environment" "^27.0.6"
-    "@jest/types" "^27.0.6"
-    expect "^27.0.6"
+    "@jest/environment" "^27.5.1"
+    "@jest/types" "^27.5.1"
+    expect "^27.5.1"
 
-"@jest/reporters@^27.0.6":
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.0.6.tgz#91e7f2d98c002ad5df94d5b5167c1eb0b9fd5b00"
-  integrity sha512-TIkBt09Cb2gptji3yJXb3EE+eVltW6BjO7frO7NEfjI9vSIYoISi5R3aI3KpEDXlB1xwB+97NXIqz84qYeYsfA==
+"@jest/reporters@^27.5.1":
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.5.1.tgz#ceda7be96170b03c923c37987b64015812ffec04"
+  integrity sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==
   dependencies:
     "@bcoe/v8-coverage" "^0.2.3"
-    "@jest/console" "^27.0.6"
-    "@jest/test-result" "^27.0.6"
-    "@jest/transform" "^27.0.6"
-    "@jest/types" "^27.0.6"
+    "@jest/console" "^27.5.1"
+    "@jest/test-result" "^27.5.1"
+    "@jest/transform" "^27.5.1"
+    "@jest/types" "^27.5.1"
+    "@types/node" "*"
     chalk "^4.0.0"
     collect-v8-coverage "^1.0.0"
     exit "^0.1.2"
     glob "^7.1.2"
-    graceful-fs "^4.2.4"
+    graceful-fs "^4.2.9"
     istanbul-lib-coverage "^3.0.0"
-    istanbul-lib-instrument "^4.0.3"
+    istanbul-lib-instrument "^5.1.0"
     istanbul-lib-report "^3.0.0"
     istanbul-lib-source-maps "^4.0.0"
-    istanbul-reports "^3.0.2"
-    jest-haste-map "^27.0.6"
-    jest-resolve "^27.0.6"
-    jest-util "^27.0.6"
-    jest-worker "^27.0.6"
+    istanbul-reports "^3.1.3"
+    jest-haste-map "^27.5.1"
+    jest-resolve "^27.5.1"
+    jest-util "^27.5.1"
+    jest-worker "^27.5.1"
     slash "^3.0.0"
     source-map "^0.6.0"
     string-length "^4.0.1"
     terminal-link "^2.0.0"
-    v8-to-istanbul "^8.0.0"
+    v8-to-istanbul "^8.1.0"
 
-"@jest/source-map@^27.0.6":
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.0.6.tgz#be9e9b93565d49b0548b86e232092491fb60551f"
-  integrity sha512-Fek4mi5KQrqmlY07T23JRi0e7Z9bXTOOD86V/uS0EIW4PClvPDqZOyFlLpNJheS6QI0FNX1CgmPjtJ4EA/2M+g==
+"@jest/source-map@^27.5.1":
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.5.1.tgz#6608391e465add4205eae073b55e7f279e04e8cf"
+  integrity sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==
   dependencies:
     callsites "^3.0.0"
-    graceful-fs "^4.2.4"
+    graceful-fs "^4.2.9"
     source-map "^0.6.0"
 
-"@jest/test-result@^27.0.6":
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.0.6.tgz#3fa42015a14e4fdede6acd042ce98c7f36627051"
-  integrity sha512-ja/pBOMTufjX4JLEauLxE3LQBPaI2YjGFtXexRAjt1I/MbfNlMx0sytSX3tn5hSLzQsR3Qy2rd0hc1BWojtj9w==
+"@jest/test-result@^27.5.1":
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.5.1.tgz#56a6585fa80f7cdab72b8c5fc2e871d03832f5bb"
+  integrity sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==
   dependencies:
-    "@jest/console" "^27.0.6"
-    "@jest/types" "^27.0.6"
+    "@jest/console" "^27.5.1"
+    "@jest/types" "^27.5.1"
     "@types/istanbul-lib-coverage" "^2.0.0"
     collect-v8-coverage "^1.0.0"
 
-"@jest/test-sequencer@^27.0.6":
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.0.6.tgz#80a913ed7a1130545b1cd777ff2735dd3af5d34b"
-  integrity sha512-bISzNIApazYOlTHDum9PwW22NOyDa6VI31n6JucpjTVM0jD6JDgqEZ9+yn575nDdPF0+4csYDxNNW13NvFQGZA==
+"@jest/test-sequencer@^27.5.1":
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz#4057e0e9cea4439e544c6353c6affe58d095745b"
+  integrity sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==
   dependencies:
-    "@jest/test-result" "^27.0.6"
-    graceful-fs "^4.2.4"
-    jest-haste-map "^27.0.6"
-    jest-runtime "^27.0.6"
+    "@jest/test-result" "^27.5.1"
+    graceful-fs "^4.2.9"
+    jest-haste-map "^27.5.1"
+    jest-runtime "^27.5.1"
 
-"@jest/transform@^27.0.6":
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.0.6.tgz#189ad7107413208f7600f4719f81dd2f7278cc95"
-  integrity sha512-rj5Dw+mtIcntAUnMlW/Vju5mr73u8yg+irnHwzgtgoeI6cCPOvUwQ0D1uQtc/APmWgvRweEb1g05pkUpxH3iCA==
+"@jest/transform@^27.5.1":
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.1.tgz#6c3501dcc00c4c08915f292a600ece5ecfe1f409"
+  integrity sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==
   dependencies:
     "@babel/core" "^7.1.0"
-    "@jest/types" "^27.0.6"
-    babel-plugin-istanbul "^6.0.0"
+    "@jest/types" "^27.5.1"
+    babel-plugin-istanbul "^6.1.1"
     chalk "^4.0.0"
     convert-source-map "^1.4.0"
     fast-json-stable-stringify "^2.0.0"
-    graceful-fs "^4.2.4"
-    jest-haste-map "^27.0.6"
-    jest-regex-util "^27.0.6"
-    jest-util "^27.0.6"
+    graceful-fs "^4.2.9"
+    jest-haste-map "^27.5.1"
+    jest-regex-util "^27.5.1"
+    jest-util "^27.5.1"
     micromatch "^4.0.4"
-    pirates "^4.0.1"
+    pirates "^4.0.4"
     slash "^3.0.0"
     source-map "^0.6.1"
     write-file-atomic "^3.0.0"
 
-"@jest/types@^27.0.6":
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.0.6.tgz#9a992bc517e0c49f035938b8549719c2de40706b"
-  integrity sha512-aSquT1qa9Pik26JK5/3rvnYb4bGtm1VFNesHKmNTwmPIgOrixvhL2ghIvFRNEpzy3gU+rUgjIF/KodbkFAl++g==
+"@jest/types@^27.5.1":
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80"
+  integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==
   dependencies:
     "@types/istanbul-lib-coverage" "^2.0.0"
     "@types/istanbul-reports" "^3.0.0"
@@ -591,6 +596,24 @@
     "@types/yargs" "^16.0.0"
     chalk "^4.0.0"
 
+"@jridgewell/resolve-uri@^3.0.3":
+  version "3.0.5"
+  resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c"
+  integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==
+
+"@jridgewell/sourcemap-codec@^1.4.10":
+  version "1.4.11"
+  resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec"
+  integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==
+
+"@jridgewell/trace-mapping@^0.3.0":
+  version "0.3.4"
+  resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3"
+  integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==
+  dependencies:
+    "@jridgewell/resolve-uri" "^3.0.3"
+    "@jridgewell/sourcemap-codec" "^1.4.10"
+
 "@malept/cross-spawn-promise@^1.1.0":
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz#504af200af6b98e198bce768bc1730c6936ae01d"
@@ -608,13 +631,6 @@
     lodash "^4.17.15"
     tmp-promise "^3.0.2"
 
-"@mdn/browser-compat-data@^2.0.7":
-  version "2.0.7"
-  resolved "https://registry.yarnpkg.com/@mdn/browser-compat-data/-/browser-compat-data-2.0.7.tgz#72ec37b9c1e00ce0b4e0309d753be18e2da12ee3"
-  integrity sha512-GeeM827DlzFFidn1eKkMBiqXFD2oLsnZbaiGhByPl0vcapsRzUL+t9hDoov1swc9rB2jw64R+ihtzC8qOE9wXw==
-  dependencies:
-    extend "3.0.2"
-
 "@remusao/guess-url-type@^1.1.2":
   version "1.2.1"
   resolved "https://registry.yarnpkg.com/@remusao/guess-url-type/-/guess-url-type-1.2.1.tgz#b3e7c32abdf98d0fb4f93cc67cad580b5fe4ba57"
@@ -662,10 +678,10 @@
   dependencies:
     type-detect "4.0.8"
 
-"@sinonjs/fake-timers@^7.0.2":
-  version "7.1.2"
-  resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz#2524eae70c4910edccf99b2f4e6efc5894aff7b5"
-  integrity sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==
+"@sinonjs/fake-timers@^8.0.1":
+  version "8.1.0"
+  resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz#3fdc2b6cb58935b21bfb8d1625eb1300484316e7"
+  integrity sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==
   dependencies:
     "@sinonjs/commons" "^1.7.0"
 
@@ -681,10 +697,15 @@
   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==
+
 "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14":
-  version "7.1.14"
-  resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.14.tgz#faaeefc4185ec71c389f4501ee5ec84b170cc402"
-  integrity sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g==
+  version "7.1.19"
+  resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460"
+  integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==
   dependencies:
     "@babel/parser" "^7.1.0"
     "@babel/types" "^7.0.0"
@@ -693,44 +714,46 @@
     "@types/babel__traverse" "*"
 
 "@types/babel__generator@*":
-  version "7.6.2"
-  resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8"
-  integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ==
+  version "7.6.4"
+  resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7"
+  integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==
   dependencies:
     "@babel/types" "^7.0.0"
 
 "@types/babel__template@*":
-  version "7.4.0"
-  resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be"
-  integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A==
+  version "7.4.1"
+  resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969"
+  integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==
   dependencies:
     "@babel/parser" "^7.1.0"
     "@babel/types" "^7.0.0"
 
 "@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6":
-  version "7.14.0"
-  resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.0.tgz#a34277cf8acbd3185ea74129e1f100491eb1da7f"
-  integrity sha512-IilJZ1hJBUZwMOVDNTdflOOLzJB/ZtljYVa7k3gEZN/jqIJIPkWHC6dvbX+DD2CwZDHB9wAKzZPzzqMIkW37/w==
+  version "7.14.2"
+  resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43"
+  integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==
   dependencies:
     "@babel/types" "^7.3.0"
 
-"@types/chrome@^0.0.145":
-  version "0.0.145"
-  resolved "https://registry.yarnpkg.com/@types/chrome/-/chrome-0.0.145.tgz#6c53ae0af5f25350b07bfd24cf459b5fe65cd9b8"
-  integrity sha512-vLvTMmfc8mvwOZzkmn2UwlWSNu0t0txBkyuIv8NgihRkvFCe6XJX65YZAgAP/RdBit3enhU2GTxCr+prn4uZmA==
+"@types/chrome@^0.0.180":
+  version "0.0.180"
+  resolved "https://registry.yarnpkg.com/@types/chrome/-/chrome-0.0.180.tgz#b7fb831848f6b6c49abffd85410b73037c02381e"
+  integrity sha512-A/CuuKAaHq2CHEpYBAtl0lp2ib7TTXK7VjJI4q+c+1U/HDvZLJ8IlsdEDzzHdvkNdh36bGONxrMnO9YZrKqbAw==
   dependencies:
     "@types/filesystem" "*"
     "@types/har-format" "*"
 
-"@types/debug@^4.1.5":
-  version "4.1.5"
-  resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd"
-  integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==
+"@types/debug@^4.1.6":
+  version "4.1.7"
+  resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.7.tgz#7cc0ea761509124709b8b2d1090d8f6c17aadb82"
+  integrity sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==
+  dependencies:
+    "@types/ms" "*"
 
 "@types/filesystem@*":
-  version "0.0.31"
-  resolved "https://registry.yarnpkg.com/@types/filesystem/-/filesystem-0.0.31.tgz#121a1ded274a2dc731d5e0d90163a920ad6a9ef1"
-  integrity sha512-9Dj1Gb7ZhknhJ8J1H/lTQrEorwIHWZlO9Tfi0WMrvyO1+2GUIUF8Sg4zrID77hj0ywArzQRJ1MwlT9H7c9QmEQ==
+  version "0.0.32"
+  resolved "https://registry.yarnpkg.com/@types/filesystem/-/filesystem-0.0.32.tgz#307df7cc084a2293c3c1a31151b178063e0a8edf"
+  integrity sha512-Yuf4jR5YYMR2DVgwuCiP11s0xuVRyPKmz8vo6HBY3CGdeMj8af93CFZX+T82+VD1+UqHOxTq31lO7MI7lepBtQ==
   dependencies:
     "@types/filewriter" "*"
 
@@ -739,22 +762,22 @@
   resolved "https://registry.yarnpkg.com/@types/filewriter/-/filewriter-0.0.29.tgz#a48795ecadf957f6c0d10e0c34af86c098fa5bee"
   integrity sha512-BsPXH/irW0ht0Ji6iw/jJaK8Lj3FJemon2gvEqHKpCdDCeemHa+rI3WBGq5z7cDMZgoLjY40oninGxqk+8NzNQ==
 
-"@types/firefox-webext-browser@^82.0.0":
-  version "82.0.0"
-  resolved "https://registry.yarnpkg.com/@types/firefox-webext-browser/-/firefox-webext-browser-82.0.0.tgz#4d0f5cfebd7321d2cbf0ccfb6032570f0138b958"
-  integrity sha512-zKHePkjMx42KIUUZCPcUiyu1tpfQXH9VR4iDYfns3HvmKVJzt/TAFT+DFVroos8BI9RH78YgF3Hi/wlC6R6cKA==
+"@types/firefox-webext-browser@^94.0.0":
+  version "94.0.1"
+  resolved "https://registry.yarnpkg.com/@types/firefox-webext-browser/-/firefox-webext-browser-94.0.1.tgz#52afb975253dc0fd350d5d58c7fe9fd1a01f64a1"
+  integrity sha512-I6iHRQJSTZ+gYt2IxdH2RRAMvcUyK8v5Ig7fHQR0IwUNYP7hz9+cziBVIKxLCO6XI7fiyRsNOWObfl3/4Js2Lg==
 
 "@types/fs-extra@^9.0.11":
-  version "9.0.11"
-  resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.11.tgz#8cc99e103499eab9f347dbc6ca4e99fb8d2c2b87"
-  integrity sha512-mZsifGG4QeQ7hlkhO56u7zt/ycBgGxSVsFI/6lGTU34VtwkiqrrSDgw0+ygs8kFGWcXnFQWMrzF2h7TtDFNixA==
+  version "9.0.13"
+  resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45"
+  integrity sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==
   dependencies:
     "@types/node" "*"
 
 "@types/glob@^7.1.1":
-  version "7.1.3"
-  resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183"
-  integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb"
+  integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==
   dependencies:
     "@types/minimatch" "*"
     "@types/node" "*"
@@ -767,14 +790,14 @@
     "@types/node" "*"
 
 "@types/har-format@*":
-  version "1.2.6"
-  resolved "https://registry.yarnpkg.com/@types/har-format/-/har-format-1.2.6.tgz#471c83acdf6a2ea429620daee4c6dc1784a0e85f"
-  integrity sha512-TeZjp4COiAWPOeGx1tuFJETr/SBMx80lxqeqnCC36ZVn463f7ElCdA3X9RzDuo3BHjhN4apw41A5uoIw5FzgWA==
+  version "1.2.8"
+  resolved "https://registry.yarnpkg.com/@types/har-format/-/har-format-1.2.8.tgz#e6908b76d4c88be3db642846bb8b455f0bfb1c4e"
+  integrity sha512-OP6L9VuZNdskgNN3zFQQ54ceYD8OLq5IbqO4VK91ORLfOm7WdT/CiT/pHEBSQEqCInJ2y3O6iCm/zGtPElpgJQ==
 
 "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1":
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762"
-  integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==
+  version "2.0.4"
+  resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44"
+  integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==
 
 "@types/istanbul-lib-report@*":
   version "3.0.0"
@@ -791,19 +814,24 @@
     "@types/istanbul-lib-report" "*"
 
 "@types/minimatch@*":
-  version "3.0.4"
-  resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.4.tgz#f0ec25dbf2f0e4b18647313ac031134ca5b24b21"
-  integrity sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==
+  version "3.0.5"
+  resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40"
+  integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==
+
+"@types/ms@*":
+  version "0.7.31"
+  resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197"
+  integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==
 
 "@types/node@*":
-  version "15.12.5"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-15.12.5.tgz#9a78318a45d75c9523d2396131bd3cca54b2d185"
-  integrity sha512-se3yX7UHv5Bscf8f1ERKvQOD6sTyycH3hdaoozvaLxgUiY5lIGEeH37AD0G0Qi9kPqihPn0HOfd2yaIEN9VwEg==
+  version "17.0.22"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.22.tgz#38b6c4b9b2f3ed9f2e376cce42a298fb2375251e"
+  integrity sha512-8FwbVoG4fy+ykY86XCAclKZDORttqE5/s7dyWZKLXTdv3vRy5HozBEinG5IqhvPXXzIZEcTVbuHlQEI6iuwcmw==
 
 "@types/node@^14.6.2":
-  version "14.17.4"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.4.tgz#218712242446fc868d0e007af29a4408c7765bc0"
-  integrity sha512-8kQ3+wKGRNN0ghtEn7EGps/B8CzuBz1nXZEIGGLP2GnwbqYn4dbTs7k+VKLTq1HvZLRCIDtN3Snx1Ege8B7L5A==
+  version "14.18.12"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.12.tgz#0d4557fd3b94497d793efd4e7d92df2f83b4ef24"
+  integrity sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==
 
 "@types/plist@^3.0.1":
   version "3.0.2"
@@ -814,29 +842,36 @@
     xmlbuilder ">=11.0.1"
 
 "@types/prettier@^2.1.5":
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.3.0.tgz#2e8332cc7363f887d32ec5496b207d26ba8052bb"
-  integrity sha512-hkc1DATxFLQo4VxPDpMH1gCkPpBbpOoJ/4nhuXw4n63/0R6bCpQECj4+K226UJ4JO/eJQz+1mC2I7JsWanAdQw==
+  version "2.4.4"
+  resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.4.tgz#5d9b63132df54d8909fce1c3f8ca260fdd693e17"
+  integrity sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA==
 
 "@types/stack-utils@^2.0.0":
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff"
-  integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c"
+  integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==
 
 "@types/verror@^1.10.3":
-  version "1.10.4"
-  resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.4.tgz#805c0612b3a0c124cf99f517364142946b74ba3b"
-  integrity sha512-OjJdqx6QlbyZw9LShPwRW+Kmiegeg3eWNI41MQQKaG3vjdU2L9SRElntM51HmHBY1cu7izxQJ1lMYioQh3XMBg==
+  version "1.10.5"
+  resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.5.tgz#2a1413aded46e67a1fe2386800e291123ed75eb1"
+  integrity sha512-9UjMCHK5GPgQRoNbqdLIAvAy0EInuiqbW0PBMtVP6B5B2HQJlvoJHM+KodPZMEjOa5VkSc+5LH7xy+cUzQdmHw==
 
 "@types/yargs-parser@*":
-  version "20.2.0"
-  resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9"
-  integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==
+  version "21.0.0"
+  resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b"
+  integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==
 
-"@types/yargs@^16.0.0", "@types/yargs@^16.0.2":
-  version "16.0.3"
-  resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.3.tgz#4b6d35bb8e680510a7dc2308518a80ee1ef27e01"
-  integrity sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ==
+"@types/yargs@^16.0.0":
+  version "16.0.4"
+  resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977"
+  integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==
+  dependencies:
+    "@types/yargs-parser" "*"
+
+"@types/yargs@^17.0.1":
+  version "17.0.10"
+  resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.10.tgz#591522fce85d8739bca7b8bb90d048e4478d186a"
+  integrity sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==
   dependencies:
     "@types/yargs-parser" "*"
 
@@ -854,24 +889,24 @@ acorn-globals@^6.0.0:
     acorn-walk "^7.1.1"
 
 acorn-jsx@^5.3.1:
-  version "5.3.1"
-  resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b"
-  integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==
+  version "5.3.2"
+  resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
+  integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
 
 acorn-walk@^7.1.1:
   version "7.2.0"
   resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
   integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
 
-acorn@^7.1.1, acorn@^7.4.0:
+acorn@^7.1.1:
   version "7.4.1"
   resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
   integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
 
-acorn@^8.2.4:
-  version "8.4.1"
-  resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz#56c36251fc7cabc7096adc18f05afe814321a28c"
-  integrity sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==
+acorn@^8.2.4, acorn@^8.7.0:
+  version "8.7.0"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf"
+  integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==
 
 agent-base@6:
   version "6.0.2"
@@ -895,27 +930,12 @@ ajv@^6.10.0, ajv@^6.12.0, ajv@^6.12.4:
     json-schema-traverse "^0.4.1"
     uri-js "^4.2.2"
 
-ajv@^8.0.1:
-  version "8.6.0"
-  resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.0.tgz#60cc45d9c46a477d80d92c48076d972c342e5720"
-  integrity sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ==
-  dependencies:
-    fast-deep-equal "^3.1.1"
-    json-schema-traverse "^1.0.0"
-    require-from-string "^2.0.2"
-    uri-js "^4.2.2"
-
 ansi-align@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb"
-  integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59"
+  integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==
   dependencies:
-    string-width "^3.0.0"
-
-ansi-colors@^4.1.1:
-  version "4.1.1"
-  resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
-  integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
+    string-width "^4.1.0"
 
 ansi-escapes@^4.2.1:
   version "4.3.2"
@@ -924,20 +944,10 @@ ansi-escapes@^4.2.1:
   dependencies:
     type-fest "^0.21.3"
 
-ansi-regex@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
-  integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
-
-ansi-regex@^4.1.0:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
-  integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
-
-ansi-regex@^5.0.0:
-  version "5.0.0"
-  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
-  integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
+ansi-regex@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
+  integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
 
 ansi-styles@^3.2.1:
   version "3.2.1"
@@ -966,15 +976,15 @@ anymatch@^3.0.3:
     normalize-path "^3.0.0"
     picomatch "^2.0.4"
 
-app-builder-bin@3.5.13:
-  version "3.5.13"
-  resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.13.tgz#6dd7f4de34a4e408806f99b8c7d6ef1601305b7e"
-  integrity sha512-ighVe9G+bT1ENGdp9ecO1P+94vv/f+FUwaI+XkNzeg9bYF8Oi3BQ+mJuxS00UgyHs8luuOzjzC+qnAtdb43Mpg==
+app-builder-bin@3.7.1:
+  version "3.7.1"
+  resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.7.1.tgz#cb0825c5e12efc85b196ac3ed9c89f076c61040e"
+  integrity sha512-ql93vEUq6WsstGXD+SBLSIQw6SNnhbDEM0swzgugytMxLp3rT24Ag/jcC80ZHxiPRTdew1niuR7P3/FCrDqIjw==
 
-app-builder-lib@22.11.7:
-  version "22.11.7"
-  resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.11.7.tgz#c0ad1119ebfbf4189a8280ad693625f5e684dca6"
-  integrity sha512-pS9/cR4/TnNZVAHZECiSvvwTBzbwblj7KBBZkMKDG57nibq0I1XY8zAaYeHFdlYTyrRcz9JUXbAqJKezya7UFQ==
+app-builder-lib@22.14.13:
+  version "22.14.13"
+  resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.14.13.tgz#c1f5b6afc86596357598bb90b69eef06c7c2eeb3"
+  integrity sha512-SufmrtxU+D0Tn948fjEwAOlCN9757UXLkzzTWXMwZKR/5hisvgqeeBepWfphMIE6OkDGz0fbzEhL1P2Pty4XMg==
   dependencies:
     "7zip-bin" "~5.1.1"
     "@develar/schema-utils" "~2.6.5"
@@ -982,12 +992,14 @@ app-builder-lib@22.11.7:
     "@malept/flatpak-bundler" "^0.4.0"
     async-exit-hook "^2.0.1"
     bluebird-lst "^1.0.9"
-    builder-util "22.11.7"
-    builder-util-runtime "8.7.7"
+    builder-util "22.14.13"
+    builder-util-runtime "8.9.2"
     chromium-pickle-js "^0.2.0"
     debug "^4.3.2"
     ejs "^3.1.6"
-    electron-publish "22.11.7"
+    electron-osx-sign "^0.5.0"
+    electron-publish "22.14.13"
+    form-data "^4.0.0"
     fs-extra "^10.0.0"
     hosted-git-info "^4.0.2"
     is-ci "^3.0.0"
@@ -1000,35 +1012,6 @@ app-builder-lib@22.11.7:
     semver "^7.3.5"
     temp-file "^3.4.0"
 
-archiver-utils@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-2.1.0.tgz#e8a460e94b693c3e3da182a098ca6285ba9249e2"
-  integrity sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==
-  dependencies:
-    glob "^7.1.4"
-    graceful-fs "^4.2.0"
-    lazystream "^1.0.0"
-    lodash.defaults "^4.2.0"
-    lodash.difference "^4.5.0"
-    lodash.flatten "^4.4.0"
-    lodash.isplainobject "^4.0.6"
-    lodash.union "^4.6.0"
-    normalize-path "^3.0.0"
-    readable-stream "^2.0.0"
-
-archiver@5.3.0:
-  version "5.3.0"
-  resolved "https://registry.yarnpkg.com/archiver/-/archiver-5.3.0.tgz#dd3e097624481741df626267564f7dd8640a45ba"
-  integrity sha512-iUw+oDwK0fgNpvveEsdQ0Ase6IIKztBJU2U0E9MzszMfmVVUyv1QJhS2ITW9ZCqx8dktAxVAjWWkKehuZE8OPg==
-  dependencies:
-    archiver-utils "^2.1.0"
-    async "^3.2.0"
-    buffer-crc32 "^0.2.1"
-    readable-stream "^3.6.0"
-    readdir-glob "^1.0.0"
-    tar-stream "^2.2.0"
-    zip-stream "^4.1.0"
-
 argparse@^1.0.7:
   version "1.0.10"
   resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
@@ -1042,9 +1025,9 @@ argparse@^2.0.1:
   integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
 
 asar@^3.0.3:
-  version "3.0.3"
-  resolved "https://registry.yarnpkg.com/asar/-/asar-3.0.3.tgz#1fef03c2d6d2de0cbad138788e4f7ae03b129c7b"
-  integrity sha512-k7zd+KoR+n8pl71PvgElcoKHrVNiSXtw7odKbyNpmgKe7EGRF9Pnu3uLOukD37EvavKwVFxOUpqXTIZC5B5Pmw==
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/asar/-/asar-3.1.0.tgz#70b0509449fe3daccc63beb4d3c7d2e24d3c6473"
+  integrity sha512-vyxPxP5arcAqN4F/ebHd/HhwnAiZtwhglvdmc7BR2f0ywbVNTOpSeyhLDbGXtE/y58hv1oC75TaNIXutnsOZsQ==
   dependencies:
     chromium-pickle-js "^0.2.0"
     commander "^5.0.0"
@@ -1058,11 +1041,6 @@ assert-plus@^1.0.0:
   resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
   integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
 
-ast-metadata-inferer@^0.4.0:
-  version "0.4.0"
-  resolved "https://registry.yarnpkg.com/ast-metadata-inferer/-/ast-metadata-inferer-0.4.0.tgz#6be85ceeffcf267bd79db8e1ae731da44880b45f"
-  integrity sha512-tKHdBe8N/Vq2nLAm4YPBVREVZjMux6KrqyPfNQgIbDl0t7HaNSmy8w4OyVHYg/cvyn5BW7o7pVwpjPte89Zhcg==
-
 astral-regex@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
@@ -1078,11 +1056,6 @@ async@0.9.x:
   resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
   integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=
 
-async@^3.2.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720"
-  integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==
-
 asynckit@^0.4.0:
   version "0.4.0"
   resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
@@ -1093,35 +1066,35 @@ at-least-node@^1.0.0:
   resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
   integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
 
-babel-jest@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.0.6.tgz#e99c6e0577da2655118e3608b68761a5a69bd0d8"
-  integrity sha512-iTJyYLNc4wRofASmofpOc5NK9QunwMk+TLFgGXsTFS8uEqmd8wdI7sga0FPe2oVH3b5Agt/EAK1QjPEuKL8VfA==
+babel-jest@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444"
+  integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==
   dependencies:
-    "@jest/transform" "^27.0.6"
-    "@jest/types" "^27.0.6"
+    "@jest/transform" "^27.5.1"
+    "@jest/types" "^27.5.1"
     "@types/babel__core" "^7.1.14"
-    babel-plugin-istanbul "^6.0.0"
-    babel-preset-jest "^27.0.6"
+    babel-plugin-istanbul "^6.1.1"
+    babel-preset-jest "^27.5.1"
     chalk "^4.0.0"
-    graceful-fs "^4.2.4"
+    graceful-fs "^4.2.9"
     slash "^3.0.0"
 
-babel-plugin-istanbul@^6.0.0:
-  version "6.0.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765"
-  integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==
+babel-plugin-istanbul@^6.1.1:
+  version "6.1.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73"
+  integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==
   dependencies:
     "@babel/helper-plugin-utils" "^7.0.0"
     "@istanbuljs/load-nyc-config" "^1.0.0"
     "@istanbuljs/schema" "^0.1.2"
-    istanbul-lib-instrument "^4.0.0"
+    istanbul-lib-instrument "^5.0.4"
     test-exclude "^6.0.0"
 
-babel-plugin-jest-hoist@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.6.tgz#f7c6b3d764af21cb4a2a1ab6870117dbde15b456"
-  integrity sha512-CewFeM9Vv2gM7Yr9n5eyyLVPRSiBnk6lKZRjgwYnGKSl9M14TMn2vkN02wTF04OGuSDLEzlWiMzvjXuW9mB6Gw==
+babel-plugin-jest-hoist@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz#9be98ecf28c331eb9f5df9c72d6f89deb8181c2e"
+  integrity sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==
   dependencies:
     "@babel/template" "^7.3.3"
     "@babel/types" "^7.3.3"
@@ -1146,12 +1119,12 @@ babel-preset-current-node-syntax@^1.0.0:
     "@babel/plugin-syntax-optional-chaining" "^7.8.3"
     "@babel/plugin-syntax-top-level-await" "^7.8.3"
 
-babel-preset-jest@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.0.6.tgz#909ef08e9f24a4679768be2f60a3df0856843f9d"
-  integrity sha512-WObA0/Biw2LrVVwZkF/2GqbOdzhKD6Fkdwhoy9ASIrOWr/zodcSpQh72JOkEn6NWyjmnPDjNSqaGN4KnpKzhXw==
+babel-preset-jest@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz#91f10f58034cb7989cb4f962b69fa6eef6a6bc81"
+  integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==
   dependencies:
-    babel-plugin-jest-hoist "^27.0.6"
+    babel-plugin-jest-hoist "^27.5.1"
     babel-preset-current-node-syntax "^1.0.0"
 
 balanced-match@^1.0.0:
@@ -1164,15 +1137,6 @@ base64-js@^1.3.1, base64-js@^1.5.1:
   resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
   integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
 
-bl@^4.0.3:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a"
-  integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
-  dependencies:
-    buffer "^5.5.0"
-    inherits "^2.0.4"
-    readable-stream "^3.4.0"
-
 bluebird-lst@^1.0.9:
   version "1.0.9"
   resolved "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.9.tgz#a64a0e4365658b9ab5fe875eb9dfb694189bb41c"
@@ -1180,26 +1144,26 @@ bluebird-lst@^1.0.9:
   dependencies:
     bluebird "^3.5.5"
 
-bluebird@^3.5.5:
+bluebird@^3.5.0, bluebird@^3.5.5:
   version "3.7.2"
   resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
   integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
 
 boolean@^3.0.1:
-  version "3.1.2"
-  resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.1.2.tgz#e30f210a26b02458482a8cc353ab06f262a780c2"
-  integrity sha512-YN6UmV0FfLlBVvRvNPx3pz5W/mUoYB24J4WSXOKP/OOJpi+Oq6WYqPaNTHzjI0QzwWtnvEd5CGYyQPgp1jFxnw==
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.2.0.tgz#9e5294af4e98314494cbb17979fa54ca159f116b"
+  integrity sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==
 
 boxen@^5.0.0:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.0.1.tgz#657528bdd3f59a772b8279b831f27ec2c744664b"
-  integrity sha512-49VBlw+PrWEF51aCmy7QIteYPIFZxSpvqBdP/2itCPPlJ49kj9zg/XPRFrdkne2W+CfwXUls8exMvu1RysZpKA==
+  version "5.1.2"
+  resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50"
+  integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==
   dependencies:
     ansi-align "^3.0.0"
     camelcase "^6.2.0"
     chalk "^4.1.0"
     cli-boxes "^2.2.1"
-    string-width "^4.2.0"
+    string-width "^4.2.2"
     type-fest "^0.20.2"
     widest-line "^3.1.0"
     wrap-ansi "^7.0.0"
@@ -1224,16 +1188,16 @@ browser-process-hrtime@^1.0.0:
   resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626"
   integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==
 
-browserslist@^4.12.2, browserslist@^4.16.6:
-  version "4.16.6"
-  resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2"
-  integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==
+browserslist@^4.17.5:
+  version "4.20.2"
+  resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88"
+  integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==
   dependencies:
-    caniuse-lite "^1.0.30001219"
-    colorette "^1.2.2"
-    electron-to-chromium "^1.3.723"
+    caniuse-lite "^1.0.30001317"
+    electron-to-chromium "^1.4.84"
     escalade "^3.1.1"
-    node-releases "^1.1.71"
+    node-releases "^2.0.2"
+    picocolors "^1.0.0"
 
 bser@2.1.1:
   version "2.1.1"
@@ -1242,7 +1206,20 @@ bser@2.1.1:
   dependencies:
     node-int64 "^0.4.0"
 
-buffer-crc32@^0.2.1, buffer-crc32@^0.2.13, buffer-crc32@~0.2.3:
+buffer-alloc-unsafe@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0"
+  integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==
+
+buffer-alloc@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec"
+  integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==
+  dependencies:
+    buffer-alloc-unsafe "^1.1.0"
+    buffer-fill "^1.0.0"
+
+buffer-crc32@~0.2.3:
   version "0.2.13"
   resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
   integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
@@ -1252,12 +1229,17 @@ buffer-equal@1.0.0:
   resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe"
   integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74=
 
+buffer-fill@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c"
+  integrity sha1-+PeLdniYiO858gXNY39o5wISKyw=
+
 buffer-from@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
-  integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
+  integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
 
-buffer@^5.1.0, buffer@^5.5.0:
+buffer@^5.1.0:
   version "5.7.1"
   resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
   integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
@@ -1265,36 +1247,31 @@ buffer@^5.1.0, buffer@^5.5.0:
     base64-js "^1.3.1"
     ieee754 "^1.1.13"
 
-builder-util-runtime@8.7.6:
-  version "8.7.6"
-  resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.6.tgz#4b43c96db2bd494ced7694bcd7674934655e8324"
-  integrity sha512-rj9AIY7CzLSuTOXpToiaQkruYh6UEQ+kYnd5UET22ch8MGClEtIZKXHG14qEiXEr2x4EOKDMxkcTa+9TYaE+ug==
-  dependencies:
-    debug "^4.3.2"
-    sax "^1.2.4"
-
-builder-util-runtime@8.7.7:
-  version "8.7.7"
-  resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.7.tgz#6c83cc3abe7a7a5c8b4ec8878f68adc828c07f0d"
-  integrity sha512-RUfoXzVrmFFI0K/Oft0CtP1LpTIOlBeLJatt5DePTI0KlxE156am4SGUpqtbbdqZNm++LkV9mX4olBDcXyGPow==
+builder-util-runtime@8.9.2:
+  version "8.9.2"
+  resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.9.2.tgz#a9669ae5b5dcabfe411ded26678e7ae997246c28"
+  integrity sha512-rhuKm5vh7E0aAmT6i8aoSfEjxzdYEFX7zDApK+eNgOhjofnWb74d9SRJv0H/8nsgOkos0TZ4zxW0P8J4N7xQ2A==
   dependencies:
     debug "^4.3.2"
     sax "^1.2.4"
 
-builder-util@22.11.7:
-  version "22.11.7"
-  resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.11.7.tgz#ae9707afa6a31feafa13c274ac83b4fe28ef1467"
-  integrity sha512-ihqUe5ey82LM9qqQe0/oIcaSm9w+B9UjcsWJZxJliTBsbU+sErOpDFpHW+sim0veiTF/EIcGUh9HoduWw+l9FA==
+builder-util@22.14.13:
+  version "22.14.13"
+  resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.14.13.tgz#41b5b7b4ee53aff4e09cc007fb144522598f3ce6"
+  integrity sha512-oePC/qrrUuerhmH5iaCJzPRAKlSBylrhzuAJmRQClTyWnZUv6jbaHh+VoHMbEiE661wrj2S2aV7/bQh12cj1OA==
   dependencies:
     "7zip-bin" "~5.1.1"
-    "@types/debug" "^4.1.5"
+    "@types/debug" "^4.1.6"
     "@types/fs-extra" "^9.0.11"
-    app-builder-bin "3.5.13"
+    app-builder-bin "3.7.1"
     bluebird-lst "^1.0.9"
-    builder-util-runtime "8.7.7"
+    builder-util-runtime "8.9.2"
     chalk "^4.1.1"
+    cross-spawn "^7.0.3"
     debug "^4.3.2"
     fs-extra "^10.0.0"
+    http-proxy-agent "^5.0.0"
+    https-proxy-agent "^5.0.0"
     is-ci "^3.0.0"
     js-yaml "^4.1.0"
     source-map-support "^0.5.19"
@@ -1325,16 +1302,16 @@ camelcase@^5.3.1:
   integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
 
 camelcase@^6.2.0:
-  version "6.2.0"
-  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809"
-  integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
+  version "6.3.0"
+  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
+  integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
 
-caniuse-lite@^1.0.30001166, caniuse-lite@^1.0.30001219:
-  version "1.0.30001241"
-  resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001241.tgz#cd3fae47eb3d7691692b406568d7a3e5b23c7598"
-  integrity sha512-1uoSZ1Pq1VpH0WerIMqwptXHNNGfdl7d1cJUFs80CwQ/lVzdhTvsFZCeNFslze7AjsQnb4C85tzclPa1VShbeQ==
+caniuse-lite@^1.0.30001317:
+  version "1.0.30001319"
+  resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001319.tgz#eb4da4eb3ecdd409f7ba1907820061d56096e88f"
+  integrity sha512-xjlIAFHucBRSMUo1kb5D4LYgcN1M45qdKP++lhqowDpwJwGkpIRTt5qQqnhxjj1vHcI7nrJxWhCC1ATrCEBTcw==
 
-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==
@@ -1343,10 +1320,10 @@ 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.1.1:
-  version "4.1.1"
-  resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad"
-  integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==
+chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1:
+  version "4.1.2"
+  resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
+  integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
   dependencies:
     ansi-styles "^4.1.0"
     supports-color "^7.1.0"
@@ -1366,28 +1343,28 @@ ci-info@^2.0.0:
   resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
   integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
 
-ci-info@^3.1.1:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6"
-  integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==
+ci-info@^3.2.0:
+  version "3.3.0"
+  resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.0.tgz#b4ed1fb6818dea4803a55c623041f9165d2066b2"
+  integrity sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==
 
 cjs-module-lexer@^1.0.0:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.1.tgz#2fd46d9906a126965aa541345c499aaa18e8cd73"
-  integrity sha512-jVamGdJPDeuQilKhvVn1h3knuMOZzr8QDnpk+M9aMlCaMkTDd6fBWPhiDqFvFZ07pL0liqabAiuy8SY4jGHeaw==
+  version "1.2.2"
+  resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40"
+  integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==
 
 cli-boxes@^2.2.1:
   version "2.2.1"
   resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f"
   integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==
 
-cli-truncate@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-1.1.0.tgz#2b2dfd83c53cfd3572b87fc4d430a808afb04086"
-  integrity sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==
+cli-truncate@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7"
+  integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==
   dependencies:
-    slice-ansi "^1.0.0"
-    string-width "^2.0.0"
+    slice-ansi "^3.0.0"
+    string-width "^4.2.0"
 
 cliui@^7.0.2:
   version "7.0.4"
@@ -1439,11 +1416,6 @@ color-name@~1.1.4:
   resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
   integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
 
-colorette@^1.2.2:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
-  integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
-
 colors@1.0.3:
   version "1.0.3"
   resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b"
@@ -1468,15 +1440,10 @@ commander@^5.0.0:
   resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
   integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
 
-compress-commons@^4.1.0:
-  version "4.1.1"
-  resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-4.1.1.tgz#df2a09a7ed17447642bad10a85cc9a19e5c42a7d"
-  integrity sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==
-  dependencies:
-    buffer-crc32 "^0.2.13"
-    crc32-stream "^4.0.2"
-    normalize-path "^3.0.0"
-    readable-stream "^3.6.0"
+compare-version@^0.1.2:
+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/compare-version/-/compare-version-0.1.2.tgz#0162ec2d9351f5ddd59a9202cba935366a725080"
+  integrity sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA=
 
 concat-map@0.0.1:
   version "0.0.1"
@@ -1520,31 +1487,15 @@ convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0:
   dependencies:
     safe-buffer "~5.1.1"
 
-core-js@^3.6.5:
-  version "3.15.2"
-  resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.15.2.tgz#740660d2ff55ef34ce664d7e2455119c5bdd3d61"
-  integrity sha512-tKs41J7NJVuaya8DxIOCnl8QuPHx5/ZVbFo1oKgVl1qHFBBrDctzQGtuLjPpRdNTWmKPH6oEvgN/MUID+l485Q==
-
-core-util-is@1.0.2, core-util-is@~1.0.0:
+core-util-is@1.0.2:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
   integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
 
-crc-32@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.0.tgz#cb2db6e29b88508e32d9dd0ec1693e7b41a18208"
-  integrity sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==
-  dependencies:
-    exit-on-epipe "~1.0.1"
-    printj "~1.1.0"
-
-crc32-stream@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-4.0.2.tgz#c922ad22b38395abe9d3870f02fa8134ed709007"
-  integrity sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==
-  dependencies:
-    crc-32 "^1.2.0"
-    readable-stream "^3.4.0"
+core-util-is@~1.0.0:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
+  integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
 
 crc@^3.8.0:
   version "3.8.0"
@@ -1593,27 +1544,20 @@ data-urls@^2.0.0:
     whatwg-mimetype "^2.3.0"
     whatwg-url "^8.0.0"
 
-debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1:
-  version "4.3.1"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"
-  integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==
+debug@4, debug@^4.1.0, debug@^4.1.1, 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"
 
-debug@^2.6.9:
+debug@^2.6.8, debug@^2.6.9:
   version "2.6.9"
   resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
   integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
   dependencies:
     ms "2.0.0"
 
-debug@^4.3.2:
-  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"
-
 decimal.js@^10.2.1:
   version "10.3.1"
   resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783"
@@ -1637,9 +1581,9 @@ deep-extend@^0.6.0:
   integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
 
 deep-is@^0.1.3, deep-is@~0.1.3:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
-  integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
+  integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
 
 deepmerge@^4.2.2:
   version "4.2.2"
@@ -1673,10 +1617,10 @@ detect-node@^2.0.4:
   resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1"
   integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==
 
-diff-sequences@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz#3305cb2e55a033924054695cc66019fd7f8e5723"
-  integrity sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ==
+diff-sequences@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327"
+  integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==
 
 dir-compare@^2.4.0:
   version "2.4.0"
@@ -1688,14 +1632,14 @@ dir-compare@^2.4.0:
     commander "2.9.0"
     minimatch "3.0.4"
 
-dmg-builder@22.11.7:
-  version "22.11.7"
-  resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.11.7.tgz#5956008c18d40ee72c0ea01ffea9590dbf51df89"
-  integrity sha512-+I+XfP2DODHB6PwFANgpH/WMzzCA5r5XoMvbFCIYjQjJpXlO0XnqQaamzFl2vh/Wz/Qt0d0lJMgRy8gKR3MGdQ==
+dmg-builder@22.14.13:
+  version "22.14.13"
+  resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.14.13.tgz#cc613f3c18e889b8777d525991fd52f50a564f8c"
+  integrity sha512-xNOugB6AbIRETeU2uID15sUfjdZZcKdxK8xkFnwIggsM00PJ12JxpLNPTjcRoUnfwj3WrPjilrO64vRMwNItQg==
   dependencies:
-    app-builder-lib "22.11.7"
-    builder-util "22.11.7"
-    builder-util-runtime "8.7.6"
+    app-builder-lib "22.14.13"
+    builder-util "22.14.13"
+    builder-util-runtime "8.9.2"
     fs-extra "^10.0.0"
     iconv-lite "^0.6.2"
     js-yaml "^4.1.0"
@@ -1703,17 +1647,16 @@ dmg-builder@22.11.7:
     dmg-license "^1.0.9"
 
 dmg-license@^1.0.9:
-  version "1.0.9"
-  resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.9.tgz#a2fb8d692af0e30b0730b5afc91ed9edc2d9cb4f"
-  integrity sha512-Rq6qMDaDou2+aPN2SYy0x7LDznoJ/XaG6oDcH5wXUp+WRWQMUYE6eM+F+nex+/LSXOp1uw4HLFoed0YbfU8R/Q==
+  version "1.0.11"
+  resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.11.tgz#7b3bc3745d1b52be7506b4ee80cb61df6e4cd79a"
+  integrity sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==
   dependencies:
     "@types/plist" "^3.0.1"
     "@types/verror" "^1.10.3"
     ajv "^6.10.0"
-    cli-truncate "^1.1.0"
     crc "^3.8.0"
-    iconv-corefoundation "^1.1.6"
-    plist "^3.0.1"
+    iconv-corefoundation "^1.1.7"
+    plist "^3.0.4"
     smart-buffer "^4.0.2"
     verror "^1.10.0"
 
@@ -1760,17 +1703,17 @@ ejs@^3.1.6:
   dependencies:
     jake "^10.6.1"
 
-electron-builder@22.11.7:
-  version "22.11.7"
-  resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.11.7.tgz#cd97a0d9f6e6d388112e66b4376de431cca4d596"
-  integrity sha512-yQExSLt7Hbz/P8lLkZDdE/OnJJ7NCX+uiQcV+XIH0TeEZcD87ZnSqBBzGUN5akySU4BXXlrVZKeUsXACWrm5Kw==
+electron-builder@22.14.13:
+  version "22.14.13"
+  resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.14.13.tgz#fd40564685cf5422a8f8d667940af3d3776f4fb8"
+  integrity sha512-3fgLxqF2TXVKiUPeg74O4V3l0l3j7ERLazo8sUbRkApw0+4iVAf2BJkHsHMaXiigsgCoEzK/F4/rB5rne/VAnw==
   dependencies:
-    "@types/yargs" "^16.0.2"
-    app-builder-lib "22.11.7"
-    builder-util "22.11.7"
-    builder-util-runtime "8.7.7"
+    "@types/yargs" "^17.0.1"
+    app-builder-lib "22.14.13"
+    builder-util "22.14.13"
+    builder-util-runtime "8.9.2"
     chalk "^4.1.1"
-    dmg-builder "22.11.7"
+    dmg-builder "22.14.13"
     fs-extra "^10.0.0"
     is-ci "^3.0.0"
     lazy-val "^1.0.5"
@@ -1778,30 +1721,42 @@ electron-builder@22.11.7:
     update-notifier "^5.1.0"
     yargs "^17.0.1"
 
-electron-publish@22.11.7:
-  version "22.11.7"
-  resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.11.7.tgz#4126cbb08ccf082a2aa7fef89ee629b3a4b8ae9a"
-  integrity sha512-A4EhRRNBVz4SPzUlBrPO6BmuyDeI0pyprggPAV9rQ+SDVSnSB/WKPot9JwWMyArkGj3AUUTMNVT6hwZhMvhfqw==
+electron-osx-sign@^0.5.0:
+  version "0.5.0"
+  resolved "https://registry.yarnpkg.com/electron-osx-sign/-/electron-osx-sign-0.5.0.tgz#fc258c5e896859904bbe3d01da06902c04b51c3a"
+  integrity sha512-icoRLHzFz/qxzDh/N4Pi2z4yVHurlsCAYQvsCSG7fCedJ4UJXBS6PoQyGH71IfcqKupcKeK7HX/NkyfG+v6vlQ==
+  dependencies:
+    bluebird "^3.5.0"
+    compare-version "^0.1.2"
+    debug "^2.6.8"
+    isbinaryfile "^3.0.2"
+    minimist "^1.2.0"
+    plist "^3.0.1"
+
+electron-publish@22.14.13:
+  version "22.14.13"
+  resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.14.13.tgz#8b71e6975af8cc6ac5b21f293ade23f8704047c7"
+  integrity sha512-0oP3QiNj3e8ewOaEpEJV/o6Zrmy2VarVvZ/bH7kyO/S/aJf9x8vQsKVWpsdmSiZ5DJEHgarFIXrnO0ZQf0P9iQ==
   dependencies:
     "@types/fs-extra" "^9.0.11"
-    builder-util "22.11.7"
-    builder-util-runtime "8.7.7"
+    builder-util "22.14.13"
+    builder-util-runtime "8.9.2"
     chalk "^4.1.1"
     fs-extra "^10.0.0"
     lazy-val "^1.0.5"
     mime "^2.5.2"
 
-electron-to-chromium@^1.3.723:
-  version "1.3.763"
-  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.763.tgz#93f6f02506d099941f557b9db9ba50b30215bf15"
-  integrity sha512-UyvEPae0wvzsyNJhVfGeFSOlUkHEze8xSIiExO5tZQ8QTr7obFiJWGk3U4e7afFOJMQJDszqU/3Pk5jtKiaSEg==
+electron-to-chromium@^1.4.84:
+  version "1.4.90"
+  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.90.tgz#4a518590f118828d54fff045728f547fef08143f"
+  integrity sha512-ZwKgSA0mQMyEhz+NR0F8dRzkrCLeHLzLkjx/CWf16+zV85hQ6meXPQbKanvhnpkYb7b2uJNj+enQJ/N877ND4Q==
 
-electron@13.1.4:
-  version "13.1.4"
-  resolved "https://registry.yarnpkg.com/electron/-/electron-13.1.4.tgz#6d20d932a0651c3cba9f09a3d08cbaf5b69aa84b"
-  integrity sha512-4qhRZbRvGqHmMWsCG/kRVF4X8VIq9Nujgm+gXZLBSpiR6uUtMHy7ViBTQZl1PGf6O9Ppxhpr9Yz+k6Um9WoP3Q==
+electron@17.0.1:
+  version "17.0.1"
+  resolved "https://registry.yarnpkg.com/electron/-/electron-17.0.1.tgz#e6c7ad2be26e7be8a5a9bac16b21920ad2671224"
+  integrity sha512-CBReR/QEOpgwMdt59lWCtj9wC8oHB6aAjMF1lhXcGew132xtp+C5N6EaXb/fmDceVYLouziYjbNcpeXsWrqdpA==
   dependencies:
-    "@electron/get" "^1.0.1"
+    "@electron/get" "^1.13.0"
     "@types/node" "^14.6.2"
     extract-zip "^1.0.3"
 
@@ -1810,11 +1765,6 @@ emittery@^0.8.1:
   resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860"
   integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==
 
-emoji-regex@^7.0.1:
-  version "7.0.3"
-  resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
-  integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
-
 emoji-regex@^8.0.0:
   version "8.0.0"
   resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
@@ -1825,25 +1775,25 @@ encodeurl@^1.0.2:
   resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
   integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
 
-end-of-stream@^1.1.0, end-of-stream@^1.4.1:
+end-of-stream@^1.1.0:
   version "1.4.4"
   resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
   integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
   dependencies:
     once "^1.4.0"
 
-enquirer@^2.3.5:
-  version "2.3.6"
-  resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
-  integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
-  dependencies:
-    ansi-colors "^4.1.1"
-
 env-paths@^2.2.0:
   version "2.2.1"
   resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2"
   integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==
 
+error-ex@^1.3.1:
+  version "1.3.2"
+  resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
+  integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
+  dependencies:
+    is-arrayish "^0.2.1"
+
 es6-error@^4.1.1:
   version "4.1.1"
   resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d"
@@ -1886,105 +1836,87 @@ escodegen@^2.0.0:
   optionalDependencies:
     source-map "~0.6.1"
 
-eslint-plugin-compat@3.9.0:
-  version "3.9.0"
-  resolved "https://registry.yarnpkg.com/eslint-plugin-compat/-/eslint-plugin-compat-3.9.0.tgz#a7a224e09b102b58e7f7dff52c936428ff3e0186"
-  integrity sha512-lt3l5PHFHVEYSZ5zijcoYvtQJPsBifRiH5N0Et57KwVu7l/yxmHhSG6VJiLMa/lXrg93Qu8049RNQOMn0+yJBg==
-  dependencies:
-    "@mdn/browser-compat-data" "^2.0.7"
-    ast-metadata-inferer "^0.4.0"
-    browserslist "^4.12.2"
-    caniuse-lite "^1.0.30001166"
-    core-js "^3.6.5"
-    find-up "^4.1.0"
-    lodash.memoize "4.1.2"
-    semver "7.3.2"
-
-eslint-plugin-sort-keys-fix@1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/eslint-plugin-sort-keys-fix/-/eslint-plugin-sort-keys-fix-1.1.1.tgz#2ed201b53fd4a89552c6e2abd38933f330a4b62e"
-  integrity sha512-x02SLBg+8OEaoT9vvMbsgeInw17wjHLsa9cOieIVQY+xMNRiXBbyMWw+NiBoxYyJIR4QKDOPDofCjQdoSvltQg==
+eslint-plugin-sort-keys@2.3.5:
+  version "2.3.5"
+  resolved "https://registry.yarnpkg.com/eslint-plugin-sort-keys/-/eslint-plugin-sort-keys-2.3.5.tgz#f28d5cd2f5ee0fc5192f5ff879f56f8516aac57b"
+  integrity sha512-2j/XKQ9sNJwK8kIp/U0EvuF6stS6/8aIc53/NskE4C5NRNh4dt3xzbZyOdrVC11cTH6Zo59/pdzA0Kb+2fQGWg==
   dependencies:
-    requireindex "~1.2.0"
+    natural-compare "1.4.0"
 
-eslint-scope@^5.1.1:
-  version "5.1.1"
-  resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
-  integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
+eslint-scope@^7.1.1:
+  version "7.1.1"
+  resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642"
+  integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==
   dependencies:
     esrecurse "^4.3.0"
-    estraverse "^4.1.1"
+    estraverse "^5.2.0"
 
-eslint-utils@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
-  integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
+eslint-utils@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
+  integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==
   dependencies:
-    eslint-visitor-keys "^1.1.0"
-
-eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
-  integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
+    eslint-visitor-keys "^2.0.0"
 
 eslint-visitor-keys@^2.0.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
   integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
 
-eslint@7.29.0:
-  version "7.29.0"
-  resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.29.0.tgz#ee2a7648f2e729485e4d0bd6383ec1deabc8b3c0"
-  integrity sha512-82G/JToB9qIy/ArBzIWG9xvvwL3R86AlCjtGw+A29OMZDqhTybz/MByORSukGxeI+YPCR4coYyITKk8BFH9nDA==
+eslint-visitor-keys@^3.3.0:
+  version "3.3.0"
+  resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
+  integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
+
+eslint@8.9.0:
+  version "8.9.0"
+  resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.9.0.tgz#a2a8227a99599adc4342fd9b854cb8d8d6412fdb"
+  integrity sha512-PB09IGwv4F4b0/atrbcMFboF/giawbBLVC7fyDamk5Wtey4Jh2K+rYaBhCAbUyEI4QzB1ly09Uglc9iCtFaG2Q==
   dependencies:
-    "@babel/code-frame" "7.12.11"
-    "@eslint/eslintrc" "^0.4.2"
+    "@eslint/eslintrc" "^1.1.0"
+    "@humanwhocodes/config-array" "^0.9.2"
     ajv "^6.10.0"
     chalk "^4.0.0"
     cross-spawn "^7.0.2"
-    debug "^4.0.1"
+    debug "^4.3.2"
     doctrine "^3.0.0"
-    enquirer "^2.3.5"
     escape-string-regexp "^4.0.0"
-    eslint-scope "^5.1.1"
-    eslint-utils "^2.1.0"
-    eslint-visitor-keys "^2.0.0"
-    espree "^7.3.1"
+    eslint-scope "^7.1.1"
+    eslint-utils "^3.0.0"
+    eslint-visitor-keys "^3.3.0"
+    espree "^9.3.1"
     esquery "^1.4.0"
     esutils "^2.0.2"
     fast-deep-equal "^3.1.3"
     file-entry-cache "^6.0.1"
     functional-red-black-tree "^1.0.1"
-    glob-parent "^5.1.2"
+    glob-parent "^6.0.1"
     globals "^13.6.0"
-    ignore "^4.0.6"
+    ignore "^5.2.0"
     import-fresh "^3.0.0"
     imurmurhash "^0.1.4"
     is-glob "^4.0.0"
-    js-yaml "^3.13.1"
+    js-yaml "^4.1.0"
     json-stable-stringify-without-jsonify "^1.0.1"
     levn "^0.4.1"
     lodash.merge "^4.6.2"
     minimatch "^3.0.4"
     natural-compare "^1.4.0"
     optionator "^0.9.1"
-    progress "^2.0.0"
-    regexpp "^3.1.0"
-    semver "^7.2.1"
-    strip-ansi "^6.0.0"
+    regexpp "^3.2.0"
+    strip-ansi "^6.0.1"
     strip-json-comments "^3.1.0"
-    table "^6.0.9"
     text-table "^0.2.0"
     v8-compile-cache "^2.0.3"
 
-espree@^7.3.0, espree@^7.3.1:
-  version "7.3.1"
-  resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6"
-  integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==
+espree@^9.3.1:
+  version "9.3.1"
+  resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.1.tgz#8793b4bc27ea4c778c19908e0719e7b8f4115bcd"
+  integrity sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==
   dependencies:
-    acorn "^7.4.0"
+    acorn "^8.7.0"
     acorn-jsx "^5.3.1"
-    eslint-visitor-keys "^1.3.0"
+    eslint-visitor-keys "^3.3.0"
 
 esprima@^4.0.0, esprima@^4.0.1:
   version "4.0.1"
@@ -2005,15 +1937,10 @@ esrecurse@^4.3.0:
   dependencies:
     estraverse "^5.2.0"
 
-estraverse@^4.1.1:
-  version "4.3.0"
-  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
-  integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
-
 estraverse@^5.1.0, estraverse@^5.2.0:
-  version "5.2.0"
-  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
-  integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
+  version "5.3.0"
+  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
+  integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
 
 esutils@^2.0.2:
   version "2.0.3"
@@ -2035,32 +1962,20 @@ execa@^5.0.0:
     signal-exit "^3.0.3"
     strip-final-newline "^2.0.0"
 
-exit-on-epipe@~1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692"
-  integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==
-
 exit@^0.1.2:
   version "0.1.2"
   resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
   integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=
 
-expect@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/expect/-/expect-27.0.6.tgz#a4d74fbe27222c718fff68ef49d78e26a8fd4c05"
-  integrity sha512-psNLt8j2kwg42jGBDSfAlU49CEZxejN1f1PlANWDZqIhBOVU/c2Pm888FcjWJzFewhIsNWfZJeLjUjtKGiPuSw==
+expect@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/expect/-/expect-27.5.1.tgz#83ce59f1e5bdf5f9d2b94b61d2050db48f3fef74"
+  integrity sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==
   dependencies:
-    "@jest/types" "^27.0.6"
-    ansi-styles "^5.0.0"
-    jest-get-type "^27.0.6"
-    jest-matcher-utils "^27.0.6"
-    jest-message-util "^27.0.6"
-    jest-regex-util "^27.0.6"
-
-extend@3.0.2:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
-  integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
+    "@jest/types" "^27.5.1"
+    jest-get-type "^27.5.1"
+    jest-matcher-utils "^27.5.1"
+    jest-message-util "^27.5.1"
 
 extract-zip@^1.0.3:
   version "1.7.0"
@@ -2073,9 +1988,9 @@ extract-zip@^1.0.3:
     yauzl "^2.10.0"
 
 extsprintf@^1.2.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
-  integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
+  version "1.4.1"
+  resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07"
+  integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==
 
 fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
   version "3.1.3"
@@ -2093,9 +2008,11 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6:
   integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
 
 fast-xml-parser@^3.19.0:
-  version "3.19.0"
-  resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz#cb637ec3f3999f51406dd8ff0e6fc4d83e520d01"
-  integrity sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==
+  version "3.21.1"
+  resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-3.21.1.tgz#152a1d51d445380f7046b304672dd55d15c9e736"
+  integrity sha512-FTFVjYoBOZTJekiUsawGsSYV9QL0A+zDYCRj7y34IO6Jg+2IMYEtQa+bbictpdpV8dHxXywqU7C0gRDEOFtBFg==
+  dependencies:
+    strnum "^1.0.4"
 
 fb-watchman@^2.0.0:
   version "2.0.1"
@@ -2149,9 +2066,9 @@ flat-cache@^3.0.4:
     rimraf "^3.0.2"
 
 flatted@^3.1.0:
-  version "3.1.1"
-  resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469"
-  integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==
+  version "3.2.5"
+  resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3"
+  integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==
 
 form-data@^3.0.0:
   version "3.0.1"
@@ -2162,15 +2079,19 @@ form-data@^3.0.0:
     combined-stream "^1.0.8"
     mime-types "^2.1.12"
 
-fs-constants@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
-  integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
+form-data@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
+  integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
+  dependencies:
+    asynckit "^0.4.0"
+    combined-stream "^1.0.8"
+    mime-types "^2.1.12"
 
 fs-extra@^10.0.0:
-  version "10.0.0"
-  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1"
-  integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==
+  version "10.0.1"
+  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.1.tgz#27de43b4320e833f6867cc044bfce29fdf0ef3b8"
+  integrity sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==
   dependencies:
     graceful-fs "^4.2.0"
     jsonfile "^6.0.1"
@@ -2249,17 +2170,17 @@ get-stream@^6.0.0:
   resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
   integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
 
-glob-parent@^5.1.2:
-  version "5.1.2"
-  resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
-  integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
+glob-parent@^6.0.1:
+  version "6.0.2"
+  resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
+  integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
   dependencies:
-    is-glob "^4.0.1"
+    is-glob "^4.0.3"
 
 glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
-  version "7.1.7"
-  resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
-  integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023"
+  integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==
   dependencies:
     fs.realpath "^1.0.0"
     inflight "^1.0.4"
@@ -2268,13 +2189,12 @@ glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
     once "^1.3.0"
     path-is-absolute "^1.0.0"
 
-global-agent@^2.0.2:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/global-agent/-/global-agent-2.2.0.tgz#566331b0646e6bf79429a16877685c4a1fbf76dc"
-  integrity sha512-+20KpaW6DDLqhG7JDiJpD1JvNvb8ts+TNl7BPOYcURqCrXqnN1Vf+XVOrkKJAFPqfX+oEhsdzOj1hLWkBTdNJg==
+global-agent@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/global-agent/-/global-agent-3.0.0.tgz#ae7cd31bd3583b93c5a16437a1afe27cc33a1ab6"
+  integrity sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==
   dependencies:
     boolean "^3.0.1"
-    core-js "^3.6.5"
     es6-error "^4.1.1"
     matcher "^3.0.0"
     roarr "^2.15.3"
@@ -2304,9 +2224,9 @@ globals@^11.1.0:
   integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
 
 globals@^13.6.0, globals@^13.9.0:
-  version "13.9.0"
-  resolved "https://registry.yarnpkg.com/globals/-/globals-13.9.0.tgz#4bf2bf635b334a173fb1daf7c5e6b218ecdc06cb"
-  integrity sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA==
+  version "13.13.0"
+  resolved "https://registry.yarnpkg.com/globals/-/globals-13.13.0.tgz#ac32261060d8070e2719dd6998406e27d2b5727b"
+  integrity sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==
   dependencies:
     type-fest "^0.20.2"
 
@@ -2334,10 +2254,10 @@ got@^9.6.0:
     to-readable-stream "^1.0.0"
     url-parse-lax "^3.0.0"
 
-graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4:
-  version "4.2.6"
-  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee"
-  integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==
+graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.9:
+  version "4.2.9"
+  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96"
+  integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==
 
 "graceful-readlink@>= 1.0.0":
   version "1.0.1"
@@ -2367,9 +2287,9 @@ has@^1.0.3:
     function-bind "^1.1.1"
 
 hosted-git-info@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961"
-  integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224"
+  integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==
   dependencies:
     lru-cache "^6.0.0"
 
@@ -2399,6 +2319,15 @@ http-proxy-agent@^4.0.1:
     agent-base "6"
     debug "4"
 
+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" "2"
+    agent-base "6"
+    debug "4"
+
 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"
@@ -2412,12 +2341,12 @@ human-signals@^2.1.0:
   resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
   integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
 
-iconv-corefoundation@^1.1.6:
-  version "1.1.6"
-  resolved "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.6.tgz#27c135470237f6f8d13462fa1f5eaf250523c29a"
-  integrity sha512-1NBe55C75bKGZaY9UHxvXG3G0gEp0ziht7quhuFrW3SPgZDw9HI6qvYXRSV5M/Eupyu8ljuJ6Cba+ec15PZ4Xw==
+iconv-corefoundation@^1.1.7:
+  version "1.1.7"
+  resolved "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz#31065e6ab2c9272154c8b0821151e2c88f1b002a"
+  integrity sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==
   dependencies:
-    cli-truncate "^1.1.0"
+    cli-truncate "^2.1.0"
     node-addon-api "^1.6.3"
 
 iconv-lite@0.4.24:
@@ -2439,10 +2368,10 @@ ieee754@^1.1.13:
   resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
   integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
 
-ignore@^4.0.6:
-  version "4.0.6"
-  resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
-  integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
+ignore@^5.2.0:
+  version "5.2.0"
+  resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a"
+  integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==
 
 import-fresh@^3.0.0, import-fresh@^3.2.1:
   version "3.3.0"
@@ -2458,9 +2387,9 @@ import-lazy@^2.1.0:
   integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=
 
 import-local@^3.0.2:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6"
-  integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4"
+  integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==
   dependencies:
     pkg-dir "^4.2.0"
     resolve-cwd "^3.0.0"
@@ -2478,7 +2407,7 @@ inflight@^1.0.4:
     once "^1.3.0"
     wrappy "1"
 
-inherits@2, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
+inherits@2, inherits@^2.0.3, inherits@~2.0.3:
   version "2.0.4"
   resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
   integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
@@ -2493,6 +2422,11 @@ ini@^1.3.4, ini@~1.3.0:
   resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
   integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
 
+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=
+
 is-ci@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
@@ -2501,16 +2435,16 @@ is-ci@^2.0.0:
     ci-info "^2.0.0"
 
 is-ci@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.0.tgz#c7e7be3c9d8eef7d0fa144390bd1e4b88dc4c994"
-  integrity sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867"
+  integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==
   dependencies:
-    ci-info "^3.1.1"
+    ci-info "^3.2.0"
 
-is-core-module@^2.2.0:
-  version "2.4.0"
-  resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1"
-  integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==
+is-core-module@^2.8.1:
+  version "2.8.1"
+  resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211"
+  integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==
   dependencies:
     has "^1.0.3"
 
@@ -2519,11 +2453,6 @@ is-extglob@^2.1.1:
   resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
   integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
 
-is-fullwidth-code-point@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
-  integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
-
 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"
@@ -2534,10 +2463,10 @@ is-generator-fn@^2.0.0:
   resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118"
   integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==
 
-is-glob@^4.0.0, is-glob@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
-  integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
+is-glob@^4.0.0, is-glob@^4.0.3:
+  version "4.0.3"
+  resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
+  integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
   dependencies:
     is-extglob "^2.1.1"
 
@@ -2575,14 +2504,14 @@ is-potential-custom-element-name@^1.0.1:
   integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==
 
 is-stream@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
-  integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
+  integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
 
-is-svg@4.3.1:
-  version "4.3.1"
-  resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-4.3.1.tgz#8c63ec8c67c8c7f0a8de0a71c8c7d58eccf4406b"
-  integrity sha512-h2CGs+yPUyvkgTJQS9cJzo9lYK06WgRiXUqBBHtglSzVKAuH4/oWsqk7LGfbSa1hGk9QcZ0SyQtVggvBA8LZXA==
+is-svg@4.3.2:
+  version "4.3.2"
+  resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-4.3.2.tgz#a119e9932e1af53f6be1969d1790d6cc5fd947d3"
+  integrity sha512-mM90duy00JGMyjqIVHu9gNTjywdZV+8qNasX8cm/EEYZ53PHDgajvbBwNVvty5dwSAxLUD3p3bdo+7sR/UMrpw==
   dependencies:
     fast-xml-parser "^3.19.0"
 
@@ -2601,6 +2530,13 @@ isarray@~1.0.0:
   resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
   integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
 
+isbinaryfile@^3.0.2:
+  version "3.0.3"
+  resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.3.tgz#5d6def3edebf6e8ca8cae9c30183a804b5f8be80"
+  integrity sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==
+  dependencies:
+    buffer-alloc "^1.2.0"
+
 isbinaryfile@^4.0.8:
   version "4.0.8"
   resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.8.tgz#5d34b94865bd4946633ecc78a026fc76c5b11fcf"
@@ -2611,19 +2547,20 @@ isexe@^2.0.0:
   resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
   integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
 
-istanbul-lib-coverage@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec"
-  integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==
+istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0:
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3"
+  integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==
 
-istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3:
-  version "4.0.3"
-  resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d"
-  integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==
+istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz#7b49198b657b27a730b8e9cb601f1e1bff24c59a"
+  integrity sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==
   dependencies:
-    "@babel/core" "^7.7.5"
+    "@babel/core" "^7.12.3"
+    "@babel/parser" "^7.14.7"
     "@istanbuljs/schema" "^0.1.2"
-    istanbul-lib-coverage "^3.0.0"
+    istanbul-lib-coverage "^3.2.0"
     semver "^6.3.0"
 
 istanbul-lib-report@^3.0.0:
@@ -2636,252 +2573,254 @@ istanbul-lib-report@^3.0.0:
     supports-color "^7.1.0"
 
 istanbul-lib-source-maps@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9"
-  integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551"
+  integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==
   dependencies:
     debug "^4.1.1"
     istanbul-lib-coverage "^3.0.0"
     source-map "^0.6.1"
 
-istanbul-reports@^3.0.2:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b"
-  integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==
+istanbul-reports@^3.1.3:
+  version "3.1.4"
+  resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.4.tgz#1b6f068ecbc6c331040aab5741991273e609e40c"
+  integrity sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==
   dependencies:
     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==
+  version "10.8.4"
+  resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.4.tgz#f6a8b7bf90c6306f768aa82bb7b98bf4ca15e84a"
+  integrity sha512-MtWeTkl1qGsWUtbl/Jsca/8xSoK3x0UmS82sNbjqxxG/de/M/3b1DntdjHgPMC50enlTNwXOCRqPXLLt5cCfZA==
   dependencies:
     async "0.9.x"
-    chalk "^2.4.2"
+    chalk "^4.0.2"
     filelist "^1.0.1"
     minimatch "^3.0.4"
 
-jest-changed-files@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.0.6.tgz#bed6183fcdea8a285482e3b50a9a7712d49a7a8b"
-  integrity sha512-BuL/ZDauaq5dumYh5y20sn4IISnf1P9A0TDswTxUi84ORGtVa86ApuBHqICL0vepqAnZiY6a7xeSPWv2/yy4eA==
+jest-changed-files@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz#a348aed00ec9bf671cc58a66fcbe7c3dfd6a68f5"
+  integrity sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==
   dependencies:
-    "@jest/types" "^27.0.6"
+    "@jest/types" "^27.5.1"
     execa "^5.0.0"
     throat "^6.0.1"
 
-jest-circus@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.0.6.tgz#dd4df17c4697db6a2c232aaad4e9cec666926668"
-  integrity sha512-OJlsz6BBeX9qR+7O9lXefWoc2m9ZqcZ5Ohlzz0pTEAG4xMiZUJoacY8f4YDHxgk0oKYxj277AfOk9w6hZYvi1Q==
+jest-circus@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.5.1.tgz#37a5a4459b7bf4406e53d637b49d22c65d125ecc"
+  integrity sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==
   dependencies:
-    "@jest/environment" "^27.0.6"
-    "@jest/test-result" "^27.0.6"
-    "@jest/types" "^27.0.6"
+    "@jest/environment" "^27.5.1"
+    "@jest/test-result" "^27.5.1"
+    "@jest/types" "^27.5.1"
     "@types/node" "*"
     chalk "^4.0.0"
     co "^4.6.0"
     dedent "^0.7.0"
-    expect "^27.0.6"
+    expect "^27.5.1"
     is-generator-fn "^2.0.0"
-    jest-each "^27.0.6"
-    jest-matcher-utils "^27.0.6"
-    jest-message-util "^27.0.6"
-    jest-runtime "^27.0.6"
-    jest-snapshot "^27.0.6"
-    jest-util "^27.0.6"
-    pretty-format "^27.0.6"
+    jest-each "^27.5.1"
+    jest-matcher-utils "^27.5.1"
+    jest-message-util "^27.5.1"
+    jest-runtime "^27.5.1"
+    jest-snapshot "^27.5.1"
+    jest-util "^27.5.1"
+    pretty-format "^27.5.1"
     slash "^3.0.0"
     stack-utils "^2.0.3"
     throat "^6.0.1"
 
-jest-cli@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.0.6.tgz#d021e5f4d86d6a212450d4c7b86cb219f1e6864f"
-  integrity sha512-qUUVlGb9fdKir3RDE+B10ULI+LQrz+MCflEH2UJyoUjoHHCbxDrMxSzjQAPUMsic4SncI62ofYCcAvW6+6rhhg==
+jest-cli@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.5.1.tgz#278794a6e6458ea8029547e6c6cbf673bd30b145"
+  integrity sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==
   dependencies:
-    "@jest/core" "^27.0.6"
-    "@jest/test-result" "^27.0.6"
-    "@jest/types" "^27.0.6"
+    "@jest/core" "^27.5.1"
+    "@jest/test-result" "^27.5.1"
+    "@jest/types" "^27.5.1"
     chalk "^4.0.0"
     exit "^0.1.2"
-    graceful-fs "^4.2.4"
+    graceful-fs "^4.2.9"
     import-local "^3.0.2"
-    jest-config "^27.0.6"
-    jest-util "^27.0.6"
-    jest-validate "^27.0.6"
+    jest-config "^27.5.1"
+    jest-util "^27.5.1"
+    jest-validate "^27.5.1"
     prompts "^2.0.1"
-    yargs "^16.0.3"
+    yargs "^16.2.0"
 
-jest-config@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.0.6.tgz#119fb10f149ba63d9c50621baa4f1f179500277f"
-  integrity sha512-JZRR3I1Plr2YxPBhgqRspDE2S5zprbga3swYNrvY3HfQGu7p/GjyLOqwrYad97tX3U3mzT53TPHVmozacfP/3w==
+jest-config@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.5.1.tgz#5c387de33dca3f99ad6357ddeccd91bf3a0e4a41"
+  integrity sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==
   dependencies:
-    "@babel/core" "^7.1.0"
-    "@jest/test-sequencer" "^27.0.6"
-    "@jest/types" "^27.0.6"
-    babel-jest "^27.0.6"
+    "@babel/core" "^7.8.0"
+    "@jest/test-sequencer" "^27.5.1"
+    "@jest/types" "^27.5.1"
+    babel-jest "^27.5.1"
     chalk "^4.0.0"
+    ci-info "^3.2.0"
     deepmerge "^4.2.2"
     glob "^7.1.1"
-    graceful-fs "^4.2.4"
-    is-ci "^3.0.0"
-    jest-circus "^27.0.6"
-    jest-environment-jsdom "^27.0.6"
-    jest-environment-node "^27.0.6"
-    jest-get-type "^27.0.6"
-    jest-jasmine2 "^27.0.6"
-    jest-regex-util "^27.0.6"
-    jest-resolve "^27.0.6"
-    jest-runner "^27.0.6"
-    jest-util "^27.0.6"
-    jest-validate "^27.0.6"
+    graceful-fs "^4.2.9"
+    jest-circus "^27.5.1"
+    jest-environment-jsdom "^27.5.1"
+    jest-environment-node "^27.5.1"
+    jest-get-type "^27.5.1"
+    jest-jasmine2 "^27.5.1"
+    jest-regex-util "^27.5.1"
+    jest-resolve "^27.5.1"
+    jest-runner "^27.5.1"
+    jest-util "^27.5.1"
+    jest-validate "^27.5.1"
     micromatch "^4.0.4"
-    pretty-format "^27.0.6"
+    parse-json "^5.2.0"
+    pretty-format "^27.5.1"
+    slash "^3.0.0"
+    strip-json-comments "^3.1.1"
 
-jest-diff@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.0.6.tgz#4a7a19ee6f04ad70e0e3388f35829394a44c7b5e"
-  integrity sha512-Z1mqgkTCSYaFgwTlP/NUiRzdqgxmmhzHY1Tq17zL94morOHfHu3K4bgSgl+CR4GLhpV8VxkuOYuIWnQ9LnFqmg==
+jest-diff@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def"
+  integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==
   dependencies:
     chalk "^4.0.0"
-    diff-sequences "^27.0.6"
-    jest-get-type "^27.0.6"
-    pretty-format "^27.0.6"
+    diff-sequences "^27.5.1"
+    jest-get-type "^27.5.1"
+    pretty-format "^27.5.1"
 
-jest-docblock@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.0.6.tgz#cc78266acf7fe693ca462cbbda0ea4e639e4e5f3"
-  integrity sha512-Fid6dPcjwepTFraz0YxIMCi7dejjJ/KL9FBjPYhBp4Sv1Y9PdhImlKZqYU555BlN4TQKaTc+F2Av1z+anVyGkA==
+jest-docblock@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0"
+  integrity sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==
   dependencies:
     detect-newline "^3.0.0"
 
-jest-each@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.0.6.tgz#cee117071b04060158dc8d9a66dc50ad40ef453b"
-  integrity sha512-m6yKcV3bkSWrUIjxkE9OC0mhBZZdhovIW5ergBYirqnkLXkyEn3oUUF/QZgyecA1cF1QFyTE8bRRl8Tfg1pfLA==
+jest-each@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.5.1.tgz#5bc87016f45ed9507fed6e4702a5b468a5b2c44e"
+  integrity sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==
   dependencies:
-    "@jest/types" "^27.0.6"
+    "@jest/types" "^27.5.1"
     chalk "^4.0.0"
-    jest-get-type "^27.0.6"
-    jest-util "^27.0.6"
-    pretty-format "^27.0.6"
-
-jest-environment-jsdom@27.0.6, jest-environment-jsdom@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.0.6.tgz#f66426c4c9950807d0a9f209c590ce544f73291f"
-  integrity sha512-FvetXg7lnXL9+78H+xUAsra3IeZRTiegA3An01cWeXBspKXUhAwMM9ycIJ4yBaR0L7HkoMPaZsozCLHh4T8fuw==
-  dependencies:
-    "@jest/environment" "^27.0.6"
-    "@jest/fake-timers" "^27.0.6"
-    "@jest/types" "^27.0.6"
+    jest-get-type "^27.5.1"
+    jest-util "^27.5.1"
+    pretty-format "^27.5.1"
+
+jest-environment-jsdom@27.5.1, jest-environment-jsdom@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz#ea9ccd1fc610209655a77898f86b2b559516a546"
+  integrity sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==
+  dependencies:
+    "@jest/environment" "^27.5.1"
+    "@jest/fake-timers" "^27.5.1"
+    "@jest/types" "^27.5.1"
     "@types/node" "*"
-    jest-mock "^27.0.6"
-    jest-util "^27.0.6"
+    jest-mock "^27.5.1"
+    jest-util "^27.5.1"
     jsdom "^16.6.0"
 
-jest-environment-node@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.0.6.tgz#a6699b7ceb52e8d68138b9808b0c404e505f3e07"
-  integrity sha512-+Vi6yLrPg/qC81jfXx3IBlVnDTI6kmRr08iVa2hFCWmJt4zha0XW7ucQltCAPhSR0FEKEoJ3i+W4E6T0s9is0w==
+jest-environment-node@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz#dedc2cfe52fab6b8f5714b4808aefa85357a365e"
+  integrity sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==
   dependencies:
-    "@jest/environment" "^27.0.6"
-    "@jest/fake-timers" "^27.0.6"
-    "@jest/types" "^27.0.6"
+    "@jest/environment" "^27.5.1"
+    "@jest/fake-timers" "^27.5.1"
+    "@jest/types" "^27.5.1"
     "@types/node" "*"
-    jest-mock "^27.0.6"
-    jest-util "^27.0.6"
+    jest-mock "^27.5.1"
+    jest-util "^27.5.1"
 
-jest-get-type@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.0.6.tgz#0eb5c7f755854279ce9b68a9f1a4122f69047cfe"
-  integrity sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg==
+jest-get-type@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1"
+  integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==
 
-jest-haste-map@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.0.6.tgz#4683a4e68f6ecaa74231679dca237279562c8dc7"
-  integrity sha512-4ldjPXX9h8doB2JlRzg9oAZ2p6/GpQUNAeiYXqcpmrKbP0Qev0wdZlxSMOmz8mPOEnt4h6qIzXFLDi8RScX/1w==
+jest-haste-map@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f"
+  integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==
   dependencies:
-    "@jest/types" "^27.0.6"
+    "@jest/types" "^27.5.1"
     "@types/graceful-fs" "^4.1.2"
     "@types/node" "*"
     anymatch "^3.0.3"
     fb-watchman "^2.0.0"
-    graceful-fs "^4.2.4"
-    jest-regex-util "^27.0.6"
-    jest-serializer "^27.0.6"
-    jest-util "^27.0.6"
-    jest-worker "^27.0.6"
+    graceful-fs "^4.2.9"
+    jest-regex-util "^27.5.1"
+    jest-serializer "^27.5.1"
+    jest-util "^27.5.1"
+    jest-worker "^27.5.1"
     micromatch "^4.0.4"
     walker "^1.0.7"
   optionalDependencies:
     fsevents "^2.3.2"
 
-jest-jasmine2@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.0.6.tgz#fd509a9ed3d92bd6edb68a779f4738b100655b37"
-  integrity sha512-cjpH2sBy+t6dvCeKBsHpW41mjHzXgsavaFMp+VWRf0eR4EW8xASk1acqmljFtK2DgyIECMv2yCdY41r2l1+4iA==
+jest-jasmine2@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz#a037b0034ef49a9f3d71c4375a796f3b230d1ac4"
+  integrity sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==
   dependencies:
-    "@babel/traverse" "^7.1.0"
-    "@jest/environment" "^27.0.6"
-    "@jest/source-map" "^27.0.6"
-    "@jest/test-result" "^27.0.6"
-    "@jest/types" "^27.0.6"
+    "@jest/environment" "^27.5.1"
+    "@jest/source-map" "^27.5.1"
+    "@jest/test-result" "^27.5.1"
+    "@jest/types" "^27.5.1"
     "@types/node" "*"
     chalk "^4.0.0"
     co "^4.6.0"
-    expect "^27.0.6"
+    expect "^27.5.1"
     is-generator-fn "^2.0.0"
-    jest-each "^27.0.6"
-    jest-matcher-utils "^27.0.6"
-    jest-message-util "^27.0.6"
-    jest-runtime "^27.0.6"
-    jest-snapshot "^27.0.6"
-    jest-util "^27.0.6"
-    pretty-format "^27.0.6"
+    jest-each "^27.5.1"
+    jest-matcher-utils "^27.5.1"
+    jest-message-util "^27.5.1"
+    jest-runtime "^27.5.1"
+    jest-snapshot "^27.5.1"
+    jest-util "^27.5.1"
+    pretty-format "^27.5.1"
     throat "^6.0.1"
 
-jest-leak-detector@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.0.6.tgz#545854275f85450d4ef4b8fe305ca2a26450450f"
-  integrity sha512-2/d6n2wlH5zEcdctX4zdbgX8oM61tb67PQt4Xh8JFAIy6LRKUnX528HulkaG6nD5qDl5vRV1NXejCe1XRCH5gQ==
+jest-leak-detector@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz#6ec9d54c3579dd6e3e66d70e3498adf80fde3fb8"
+  integrity sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==
   dependencies:
-    jest-get-type "^27.0.6"
-    pretty-format "^27.0.6"
+    jest-get-type "^27.5.1"
+    pretty-format "^27.5.1"
 
-jest-matcher-utils@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.0.6.tgz#2a8da1e86c620b39459f4352eaa255f0d43e39a9"
-  integrity sha512-OFgF2VCQx9vdPSYTHWJ9MzFCehs20TsyFi6bIHbk5V1u52zJOnvF0Y/65z3GLZHKRuTgVPY4Z6LVePNahaQ+tA==
+jest-matcher-utils@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab"
+  integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==
   dependencies:
     chalk "^4.0.0"
-    jest-diff "^27.0.6"
-    jest-get-type "^27.0.6"
-    pretty-format "^27.0.6"
+    jest-diff "^27.5.1"
+    jest-get-type "^27.5.1"
+    pretty-format "^27.5.1"
 
-jest-message-util@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.0.6.tgz#158bcdf4785706492d164a39abca6a14da5ab8b5"
-  integrity sha512-rBxIs2XK7rGy+zGxgi+UJKP6WqQ+KrBbD1YMj517HYN3v2BG66t3Xan3FWqYHKZwjdB700KiAJ+iES9a0M+ixw==
+jest-message-util@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.1.tgz#bdda72806da10d9ed6425e12afff38cd1458b6cf"
+  integrity sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==
   dependencies:
     "@babel/code-frame" "^7.12.13"
-    "@jest/types" "^27.0.6"
+    "@jest/types" "^27.5.1"
     "@types/stack-utils" "^2.0.0"
     chalk "^4.0.0"
-    graceful-fs "^4.2.4"
+    graceful-fs "^4.2.9"
     micromatch "^4.0.4"
-    pretty-format "^27.0.6"
+    pretty-format "^27.5.1"
     slash "^3.0.0"
     stack-utils "^2.0.3"
 
-jest-mock@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.0.6.tgz#0efdd40851398307ba16778728f6d34d583e3467"
-  integrity sha512-lzBETUoK8cSxts2NYXSBWT+EJNzmUVtVVwS1sU9GwE1DLCfGsngg+ZVSIe0yd0ZSm+y791esiuo+WSwpXJQ5Bw==
+jest-mock@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6"
+  integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==
   dependencies:
-    "@jest/types" "^27.0.6"
+    "@jest/types" "^27.5.1"
     "@types/node" "*"
 
 jest-pnp-resolver@^1.2.2:
@@ -2889,187 +2828,181 @@ jest-pnp-resolver@^1.2.2:
   resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c"
   integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==
 
-jest-regex-util@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.6.tgz#02e112082935ae949ce5d13b2675db3d8c87d9c5"
-  integrity sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ==
+jest-regex-util@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95"
+  integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==
 
-jest-resolve-dependencies@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.6.tgz#3e619e0ef391c3ecfcf6ef4056207a3d2be3269f"
-  integrity sha512-mg9x9DS3BPAREWKCAoyg3QucCr0n6S8HEEsqRCKSPjPcu9HzRILzhdzY3imsLoZWeosEbJZz6TKasveczzpJZA==
+jest-resolve-dependencies@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz#d811ecc8305e731cc86dd79741ee98fed06f1da8"
+  integrity sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==
   dependencies:
-    "@jest/types" "^27.0.6"
-    jest-regex-util "^27.0.6"
-    jest-snapshot "^27.0.6"
+    "@jest/types" "^27.5.1"
+    jest-regex-util "^27.5.1"
+    jest-snapshot "^27.5.1"
 
-jest-resolve@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.0.6.tgz#e90f436dd4f8fbf53f58a91c42344864f8e55bff"
-  integrity sha512-yKmIgw2LgTh7uAJtzv8UFHGF7Dm7XfvOe/LQ3Txv101fLM8cx2h1QVwtSJ51Q/SCxpIiKfVn6G2jYYMDNHZteA==
+jest-resolve@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.1.tgz#a2f1c5a0796ec18fe9eb1536ac3814c23617b384"
+  integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==
   dependencies:
-    "@jest/types" "^27.0.6"
+    "@jest/types" "^27.5.1"
     chalk "^4.0.0"
-    escalade "^3.1.1"
-    graceful-fs "^4.2.4"
+    graceful-fs "^4.2.9"
+    jest-haste-map "^27.5.1"
     jest-pnp-resolver "^1.2.2"
-    jest-util "^27.0.6"
-    jest-validate "^27.0.6"
+    jest-util "^27.5.1"
+    jest-validate "^27.5.1"
     resolve "^1.20.0"
+    resolve.exports "^1.1.0"
     slash "^3.0.0"
 
-jest-runner@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.0.6.tgz#1325f45055539222bbc7256a6976e993ad2f9520"
-  integrity sha512-W3Bz5qAgaSChuivLn+nKOgjqNxM7O/9JOJoKDCqThPIg2sH/d4A/lzyiaFgnb9V1/w29Le11NpzTJSzga1vyYQ==
+jest-runner@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.5.1.tgz#071b27c1fa30d90540805c5645a0ec167c7b62e5"
+  integrity sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==
   dependencies:
-    "@jest/console" "^27.0.6"
-    "@jest/environment" "^27.0.6"
-    "@jest/test-result" "^27.0.6"
-    "@jest/transform" "^27.0.6"
-    "@jest/types" "^27.0.6"
+    "@jest/console" "^27.5.1"
+    "@jest/environment" "^27.5.1"
+    "@jest/test-result" "^27.5.1"
+    "@jest/transform" "^27.5.1"
+    "@jest/types" "^27.5.1"
     "@types/node" "*"
     chalk "^4.0.0"
     emittery "^0.8.1"
-    exit "^0.1.2"
-    graceful-fs "^4.2.4"
-    jest-docblock "^27.0.6"
-    jest-environment-jsdom "^27.0.6"
-    jest-environment-node "^27.0.6"
-    jest-haste-map "^27.0.6"
-    jest-leak-detector "^27.0.6"
-    jest-message-util "^27.0.6"
-    jest-resolve "^27.0.6"
-    jest-runtime "^27.0.6"
-    jest-util "^27.0.6"
-    jest-worker "^27.0.6"
+    graceful-fs "^4.2.9"
+    jest-docblock "^27.5.1"
+    jest-environment-jsdom "^27.5.1"
+    jest-environment-node "^27.5.1"
+    jest-haste-map "^27.5.1"
+    jest-leak-detector "^27.5.1"
+    jest-message-util "^27.5.1"
+    jest-resolve "^27.5.1"
+    jest-runtime "^27.5.1"
+    jest-util "^27.5.1"
+    jest-worker "^27.5.1"
     source-map-support "^0.5.6"
     throat "^6.0.1"
 
-jest-runtime@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.0.6.tgz#45877cfcd386afdd4f317def551fc369794c27c9"
-  integrity sha512-BhvHLRVfKibYyqqEFkybsznKwhrsu7AWx2F3y9G9L95VSIN3/ZZ9vBpm/XCS2bS+BWz3sSeNGLzI3TVQ0uL85Q==
-  dependencies:
-    "@jest/console" "^27.0.6"
-    "@jest/environment" "^27.0.6"
-    "@jest/fake-timers" "^27.0.6"
-    "@jest/globals" "^27.0.6"
-    "@jest/source-map" "^27.0.6"
-    "@jest/test-result" "^27.0.6"
-    "@jest/transform" "^27.0.6"
-    "@jest/types" "^27.0.6"
-    "@types/yargs" "^16.0.0"
+jest-runtime@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.5.1.tgz#4896003d7a334f7e8e4a53ba93fb9bcd3db0a1af"
+  integrity sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==
+  dependencies:
+    "@jest/environment" "^27.5.1"
+    "@jest/fake-timers" "^27.5.1"
+    "@jest/globals" "^27.5.1"
+    "@jest/source-map" "^27.5.1"
+    "@jest/test-result" "^27.5.1"
+    "@jest/transform" "^27.5.1"
+    "@jest/types" "^27.5.1"
     chalk "^4.0.0"
     cjs-module-lexer "^1.0.0"
     collect-v8-coverage "^1.0.0"
-    exit "^0.1.2"
+    execa "^5.0.0"
     glob "^7.1.3"
-    graceful-fs "^4.2.4"
-    jest-haste-map "^27.0.6"
-    jest-message-util "^27.0.6"
-    jest-mock "^27.0.6"
-    jest-regex-util "^27.0.6"
-    jest-resolve "^27.0.6"
-    jest-snapshot "^27.0.6"
-    jest-util "^27.0.6"
-    jest-validate "^27.0.6"
+    graceful-fs "^4.2.9"
+    jest-haste-map "^27.5.1"
+    jest-message-util "^27.5.1"
+    jest-mock "^27.5.1"
+    jest-regex-util "^27.5.1"
+    jest-resolve "^27.5.1"
+    jest-snapshot "^27.5.1"
+    jest-util "^27.5.1"
     slash "^3.0.0"
     strip-bom "^4.0.0"
-    yargs "^16.0.3"
 
-jest-serializer@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.0.6.tgz#93a6c74e0132b81a2d54623251c46c498bb5bec1"
-  integrity sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA==
+jest-serializer@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64"
+  integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==
   dependencies:
     "@types/node" "*"
-    graceful-fs "^4.2.4"
+    graceful-fs "^4.2.9"
 
-jest-snapshot@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.0.6.tgz#f4e6b208bd2e92e888344d78f0f650bcff05a4bf"
-  integrity sha512-NTHaz8He+ATUagUgE7C/UtFcRoHqR2Gc+KDfhQIyx+VFgwbeEMjeP+ILpUTLosZn/ZtbNdCF5LkVnN/l+V751A==
+jest-snapshot@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz#b668d50d23d38054a51b42c4039cab59ae6eb6a1"
+  integrity sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==
   dependencies:
     "@babel/core" "^7.7.2"
     "@babel/generator" "^7.7.2"
-    "@babel/parser" "^7.7.2"
     "@babel/plugin-syntax-typescript" "^7.7.2"
     "@babel/traverse" "^7.7.2"
     "@babel/types" "^7.0.0"
-    "@jest/transform" "^27.0.6"
-    "@jest/types" "^27.0.6"
+    "@jest/transform" "^27.5.1"
+    "@jest/types" "^27.5.1"
     "@types/babel__traverse" "^7.0.4"
     "@types/prettier" "^2.1.5"
     babel-preset-current-node-syntax "^1.0.0"
     chalk "^4.0.0"
-    expect "^27.0.6"
-    graceful-fs "^4.2.4"
-    jest-diff "^27.0.6"
-    jest-get-type "^27.0.6"
-    jest-haste-map "^27.0.6"
-    jest-matcher-utils "^27.0.6"
-    jest-message-util "^27.0.6"
-    jest-resolve "^27.0.6"
-    jest-util "^27.0.6"
+    expect "^27.5.1"
+    graceful-fs "^4.2.9"
+    jest-diff "^27.5.1"
+    jest-get-type "^27.5.1"
+    jest-haste-map "^27.5.1"
+    jest-matcher-utils "^27.5.1"
+    jest-message-util "^27.5.1"
+    jest-util "^27.5.1"
     natural-compare "^1.4.0"
-    pretty-format "^27.0.6"
+    pretty-format "^27.5.1"
     semver "^7.3.2"
 
-jest-util@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.0.6.tgz#e8e04eec159de2f4d5f57f795df9cdc091e50297"
-  integrity sha512-1JjlaIh+C65H/F7D11GNkGDDZtDfMEM8EBXsvd+l/cxtgQ6QhxuloOaiayt89DxUvDarbVhqI98HhgrM1yliFQ==
+jest-util@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9"
+  integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==
   dependencies:
-    "@jest/types" "^27.0.6"
+    "@jest/types" "^27.5.1"
     "@types/node" "*"
     chalk "^4.0.0"
-    graceful-fs "^4.2.4"
-    is-ci "^3.0.0"
+    ci-info "^3.2.0"
+    graceful-fs "^4.2.9"
     picomatch "^2.2.3"
 
-jest-validate@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.0.6.tgz#930a527c7a951927df269f43b2dc23262457e2a6"
-  integrity sha512-yhZZOaMH3Zg6DC83n60pLmdU1DQE46DW+KLozPiPbSbPhlXXaiUTDlhHQhHFpaqIFRrInko1FHXjTRpjWRuWfA==
+jest-validate@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067"
+  integrity sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==
   dependencies:
-    "@jest/types" "^27.0.6"
+    "@jest/types" "^27.5.1"
     camelcase "^6.2.0"
     chalk "^4.0.0"
-    jest-get-type "^27.0.6"
+    jest-get-type "^27.5.1"
     leven "^3.1.0"
-    pretty-format "^27.0.6"
+    pretty-format "^27.5.1"
 
-jest-watcher@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.0.6.tgz#89526f7f9edf1eac4e4be989bcb6dec6b8878d9c"
-  integrity sha512-/jIoKBhAP00/iMGnTwUBLgvxkn7vsOweDrOTSPzc7X9uOyUtJIDthQBTI1EXz90bdkrxorUZVhJwiB69gcHtYQ==
+jest-watcher@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.1.tgz#71bd85fb9bde3a2c2ec4dc353437971c43c642a2"
+  integrity sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==
   dependencies:
-    "@jest/test-result" "^27.0.6"
-    "@jest/types" "^27.0.6"
+    "@jest/test-result" "^27.5.1"
+    "@jest/types" "^27.5.1"
     "@types/node" "*"
     ansi-escapes "^4.2.1"
     chalk "^4.0.0"
-    jest-util "^27.0.6"
+    jest-util "^27.5.1"
     string-length "^4.0.1"
 
-jest-worker@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.6.tgz#a5fdb1e14ad34eb228cfe162d9f729cdbfa28aed"
-  integrity sha512-qupxcj/dRuA3xHPMUd40gr2EaAurFbkwzOh7wfPaeE9id7hyjURRQoqNfHifHK3XjJU6YJJUQKILGUnwGPEOCA==
+jest-worker@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0"
+  integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==
   dependencies:
     "@types/node" "*"
     merge-stream "^2.0.0"
     supports-color "^8.0.0"
 
-jest@27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/jest/-/jest-27.0.6.tgz#10517b2a628f0409087fbf473db44777d7a04505"
-  integrity sha512-EjV8aETrsD0wHl7CKMibKwQNQc3gIRBXlTikBmmHUeVMKaPFxdcUIBfoDqTSXDoGJIivAYGqCWVlzCSaVjPQsA==
+jest@27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest/-/jest-27.5.1.tgz#dadf33ba70a779be7a6fc33015843b51494f63fc"
+  integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==
   dependencies:
-    "@jest/core" "^27.0.6"
+    "@jest/core" "^27.5.1"
     import-local "^3.0.2"
-    jest-cli "^27.0.6"
+    jest-cli "^27.5.1"
 
 js-tokens@^4.0.0:
   version "4.0.0"
@@ -3092,9 +3025,9 @@ js-yaml@^4.1.0:
     argparse "^2.0.1"
 
 jsdom@^16.6.0:
-  version "16.6.0"
-  resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.6.0.tgz#f79b3786682065492a3da6a60a4695da983805ac"
-  integrity sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg==
+  version "16.7.0"
+  resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710"
+  integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==
   dependencies:
     abab "^2.0.5"
     acorn "^8.2.4"
@@ -3121,7 +3054,7 @@ jsdom@^16.6.0:
     whatwg-encoding "^1.0.5"
     whatwg-mimetype "^2.3.0"
     whatwg-url "^8.5.0"
-    ws "^7.4.5"
+    ws "^7.4.6"
     xml-name-validator "^3.0.0"
 
 jsesc@^2.5.1:
@@ -3134,16 +3067,16 @@ json-buffer@3.0.0:
   resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898"
   integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=
 
+json-parse-even-better-errors@^2.3.0:
+  version "2.3.1"
+  resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
+  integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
+
 json-schema-traverse@^0.4.1:
   version "0.4.1"
   resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
   integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
 
-json-schema-traverse@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
-  integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
-
 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"
@@ -3155,11 +3088,9 @@ json-stringify-safe@^5.0.1:
   integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
 
 json5@^2.1.2, json5@^2.2.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3"
-  integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==
-  dependencies:
-    minimist "^1.2.5"
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
+  integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
 
 jsonfile@^4.0.0:
   version "4.0.0"
@@ -3201,13 +3132,6 @@ lazy-val@^1.0.4, lazy-val@^1.0.5:
   resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.5.tgz#6cf3b9f5bc31cee7ee3e369c0832b7583dcd923d"
   integrity sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==
 
-lazystream@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4"
-  integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=
-  dependencies:
-    readable-stream "^2.0.5"
-
 leven@^3.1.0:
   version "3.1.0"
   resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
@@ -3229,6 +3153,11 @@ levn@~0.3.0:
     prelude-ls "~1.1.2"
     type-check "~0.3.2"
 
+lines-and-columns@^1.1.6:
+  version "1.2.4"
+  resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
+  integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
+
 locate-path@^5.0.0:
   version "5.0.0"
   resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
@@ -3236,51 +3165,11 @@ locate-path@^5.0.0:
   dependencies:
     p-locate "^4.1.0"
 
-lodash.clonedeep@^4.5.0:
-  version "4.5.0"
-  resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
-  integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=
-
-lodash.defaults@^4.2.0:
-  version "4.2.0"
-  resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
-  integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=
-
-lodash.difference@^4.5.0:
-  version "4.5.0"
-  resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c"
-  integrity sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=
-
-lodash.flatten@^4.4.0:
-  version "4.4.0"
-  resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
-  integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=
-
-lodash.isplainobject@^4.0.6:
-  version "4.0.6"
-  resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
-  integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=
-
-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=
-
 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.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=
-
-lodash.union@^4.6.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88"
-  integrity sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=
-
 lodash@^4.17.10, lodash@^4.17.15, lodash@^4.7.0:
   version "4.17.21"
   resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
@@ -3310,12 +3199,12 @@ make-dir@^3.0.0:
   dependencies:
     semver "^6.0.0"
 
-makeerror@1.0.x:
-  version "1.0.11"
-  resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c"
-  integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=
+makeerror@1.0.12:
+  version "1.0.12"
+  resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a"
+  integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==
   dependencies:
-    tmpl "1.0.x"
+    tmpl "1.0.5"
 
 matcher@^3.0.0:
   version "3.0.0"
@@ -3337,22 +3226,22 @@ micromatch@^4.0.4:
     braces "^3.0.1"
     picomatch "^2.2.3"
 
-mime-db@1.48.0:
-  version "1.48.0"
-  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.48.0.tgz#e35b31045dd7eada3aaad537ed88a33afbef2d1d"
-  integrity sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==
+mime-db@1.52.0:
+  version "1.52.0"
+  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
+  integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
 
 mime-types@^2.1.12:
-  version "2.1.31"
-  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.31.tgz#a00d76b74317c61f9c2db2218b8e9f8e9c5c9e6b"
-  integrity sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==
+  version "2.1.35"
+  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
+  integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
   dependencies:
-    mime-db "1.48.0"
+    mime-db "1.52.0"
 
 mime@^2.5.2:
-  version "2.5.2"
-  resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe"
-  integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==
+  version "2.6.0"
+  resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367"
+  integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==
 
 mimic-fn@^2.1.0:
   version "2.1.0"
@@ -3364,24 +3253,31 @@ mimic-response@^1.0.0, mimic-response@^1.0.1:
   resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
   integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
 
-minimatch@3.0.4, minimatch@^3.0.4:
+minimatch@3.0.4:
   version "3.0.4"
   resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
   integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
   dependencies:
     brace-expansion "^1.1.7"
 
-minimist@^1.2.0, minimist@^1.2.5:
-  version "1.2.5"
-  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
-  integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
+minimatch@^3.0.4:
+  version "3.1.2"
+  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
+  integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
+  dependencies:
+    brace-expansion "^1.1.7"
+
+minimist@^1.2.0, minimist@^1.2.6:
+  version "1.2.6"
+  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
+  integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
 
 mkdirp@^0.5.4:
-  version "0.5.5"
-  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
-  integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
+  version "0.5.6"
+  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
+  integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
   dependencies:
-    minimist "^1.2.5"
+    minimist "^1.2.6"
 
 ms@2.0.0:
   version "2.0.0"
@@ -3393,7 +3289,7 @@ ms@2.1.2:
   resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
   integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
 
-natural-compare@^1.4.0:
+natural-compare@1.4.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=
@@ -3408,15 +3304,10 @@ node-int64@^0.4.0:
   resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
   integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=
 
-node-modules-regexp@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40"
-  integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=
-
-node-releases@^1.1.71:
-  version "1.1.73"
-  resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.73.tgz#dd4e81ddd5277ff846b80b52bb40c49edf7a7b20"
-  integrity sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==
+node-releases@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01"
+  integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==
 
 normalize-path@^3.0.0:
   version "3.0.0"
@@ -3496,11 +3387,6 @@ p-cancelable@^1.0.0:
   resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc"
   integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==
 
-p-each-series@^2.1.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a"
-  integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==
-
 p-limit@^2.2.0:
   version "2.3.0"
   resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
@@ -3537,6 +3423,16 @@ parent-module@^1.0.0:
   dependencies:
     callsites "^3.0.0"
 
+parse-json@^5.2.0:
+  version "5.2.0"
+  resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
+  integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
+  dependencies:
+    "@babel/code-frame" "^7.0.0"
+    error-ex "^1.3.1"
+    json-parse-even-better-errors "^2.3.0"
+    lines-and-columns "^1.1.6"
+
 parse5@6.0.1:
   version "6.0.1"
   resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b"
@@ -3557,7 +3453,7 @@ path-key@^3.0.0, path-key@^3.1.0:
   resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
   integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
 
-path-parse@^1.0.6:
+path-parse@^1.0.7:
   version "1.0.7"
   resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
   integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
@@ -3567,22 +3463,25 @@ pend@~1.2.0:
   resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
   integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA=
 
+picocolors@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
+  integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
+
 picomatch@^2.0.4, picomatch@^2.2.3:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
-  integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
+  version "2.3.1"
+  resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
+  integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
 
 pify@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
   integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
 
-pirates@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87"
-  integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==
-  dependencies:
-    node-modules-regexp "^1.0.0"
+pirates@^4.0.4:
+  version "4.0.5"
+  resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b"
+  integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==
 
 pkg-dir@^4.2.0:
   version "4.2.0"
@@ -3591,14 +3490,13 @@ pkg-dir@^4.2.0:
   dependencies:
     find-up "^4.0.0"
 
-plist@^3.0.1:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.2.tgz#74bbf011124b90421c22d15779cee60060ba95bc"
-  integrity sha512-MSrkwZBdQ6YapHy87/8hDU8MnIcyxBKjeF+McXnr5A9MtffPewTs7G3hlpodT5TacyfIyFTaJEhh3GGcmasTgQ==
+plist@^3.0.1, plist@^3.0.4:
+  version "3.0.4"
+  resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.4.tgz#a62df837e3aed2bb3b735899d510c4f186019cbe"
+  integrity sha512-ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg==
   dependencies:
     base64-js "^1.5.1"
     xmlbuilder "^9.0.7"
-    xmldom "^0.5.0"
 
 prelude-ls@^1.2.1:
   version "1.2.1"
@@ -3615,35 +3513,29 @@ prepend-http@^2.0.0:
   resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
   integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=
 
-pretty-format@^27.0.6:
-  version "27.0.6"
-  resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.0.6.tgz#ab770c47b2c6f893a21aefc57b75da63ef49a11f"
-  integrity sha512-8tGD7gBIENgzqA+UBzObyWqQ5B778VIFZA/S66cclyd5YkFLYs2Js7gxDKf0MXtTc9zcS7t1xhdfcElJ3YIvkQ==
+pretty-format@^27.5.1:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e"
+  integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==
   dependencies:
-    "@jest/types" "^27.0.6"
-    ansi-regex "^5.0.0"
+    ansi-regex "^5.0.1"
     ansi-styles "^5.0.0"
     react-is "^17.0.1"
 
-printj@~1.1.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222"
-  integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==
-
 process-nextick-args@~2.0.0:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
   integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
 
-progress@^2.0.0, progress@^2.0.3:
+progress@^2.0.3:
   version "2.0.3"
   resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
   integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
 
 prompts@^2.0.1:
-  version "2.4.1"
-  resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.1.tgz#befd3b1195ba052f9fd2fde8a486c4e82ee77f61"
-  integrity sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==
+  version "2.4.2"
+  resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069"
+  integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==
   dependencies:
     kleur "^3.0.3"
     sisteransi "^1.0.5"
@@ -3704,7 +3596,7 @@ read-config-file@6.2.0:
     json5 "^2.2.0"
     lazy-val "^1.0.4"
 
-readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.2.2:
+readable-stream@^2.2.2:
   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==
@@ -3717,23 +3609,7 @@ readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@^2.2.2:
     string_decoder "~1.1.1"
     util-deprecate "~1.0.1"
 
-readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0:
-  version "3.6.0"
-  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
-  integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
-  dependencies:
-    inherits "^2.0.3"
-    string_decoder "^1.1.1"
-    util-deprecate "^1.0.1"
-
-readdir-glob@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/readdir-glob/-/readdir-glob-1.1.1.tgz#f0e10bb7bf7bfa7e0add8baffdc54c3f7dbee6c4"
-  integrity sha512-91/k1EzZwDx6HbERR+zucygRFfiPl2zkIYZtv3Jjr6Mn7SkKcVct8aVO+sSRiGMc6fLf72du3d92/uY63YPdEA==
-  dependencies:
-    minimatch "^3.0.4"
-
-regexpp@^3.1.0:
+regexpp@^3.2.0:
   version "3.2.0"
   resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
   integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
@@ -3757,16 +3633,6 @@ require-directory@^2.1.1:
   resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
   integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
 
-require-from-string@^2.0.2:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
-  integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
-
-requireindex@~1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/requireindex/-/requireindex-1.2.0.tgz#3463cdb22ee151902635aa6c9535d4de9c2ef1ef"
-  integrity sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==
-
 resolve-cwd@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d"
@@ -3784,13 +3650,19 @@ resolve-from@^5.0.0:
   resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
   integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
 
+resolve.exports@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9"
+  integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==
+
 resolve@^1.20.0:
-  version "1.20.0"
-  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
-  integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
+  version "1.22.0"
+  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198"
+  integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==
   dependencies:
-    is-core-module "^2.2.0"
-    path-parse "^1.0.6"
+    is-core-module "^2.8.1"
+    path-parse "^1.0.7"
+    supports-preserve-symlinks-flag "^1.0.0"
 
 responselike@^1.0.2:
   version "1.0.2"
@@ -3823,11 +3695,6 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1:
   resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
   integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
 
-safe-buffer@~5.2.0:
-  version "5.2.1"
-  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
-  integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
-
 "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0":
   version "2.1.2"
   resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
@@ -3864,17 +3731,12 @@ semver-diff@^3.1.1:
   dependencies:
     semver "^6.3.0"
 
-semver@7.3.2:
-  version "7.3.2"
-  resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
-  integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
-
 semver@^6.0.0, semver@^6.2.0, semver@^6.3.0:
   version "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.2, semver@^7.3.4, semver@^7.3.5:
+semver@^7.3.2, semver@^7.3.4, semver@^7.3.5:
   version "7.3.5"
   resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
   integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
@@ -3901,9 +3763,9 @@ shebang-regex@^3.0.0:
   integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
 
 signal-exit@^3.0.2, signal-exit@^3.0.3:
-  version "3.0.3"
-  resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
-  integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
+  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==
 
 sisteransi@^1.0.5:
   version "1.0.5"
@@ -3915,31 +3777,24 @@ slash@^3.0.0:
   resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
   integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
 
-slice-ansi@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d"
-  integrity sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==
-  dependencies:
-    is-fullwidth-code-point "^2.0.0"
-
-slice-ansi@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
-  integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
+slice-ansi@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787"
+  integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==
   dependencies:
     ansi-styles "^4.0.0"
     astral-regex "^2.0.0"
     is-fullwidth-code-point "^3.0.0"
 
 smart-buffer@^4.0.2:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.1.0.tgz#91605c25d91652f4661ea69ccf45f1b331ca21ba"
-  integrity sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==
+  version "4.2.0"
+  resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae"
+  integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==
 
 source-map-support@^0.5.19, source-map-support@^0.5.6:
-  version "0.5.19"
-  resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
-  integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
+  version "0.5.21"
+  resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
+  integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
   dependencies:
     buffer-from "^1.0.0"
     source-map "^0.6.0"
@@ -3970,9 +3825,9 @@ sprintf-js@~1.0.2:
   integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
 
 stack-utils@^2.0.3:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277"
-  integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==
+  version "2.0.5"
+  resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5"
+  integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==
   dependencies:
     escape-string-regexp "^2.0.0"
 
@@ -3989,38 +3844,14 @@ string-length@^4.0.1:
     char-regex "^1.0.2"
     strip-ansi "^6.0.0"
 
-string-width@^2.0.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
-  integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
-  dependencies:
-    is-fullwidth-code-point "^2.0.0"
-    strip-ansi "^4.0.0"
-
-string-width@^3.0.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
-  integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
-  dependencies:
-    emoji-regex "^7.0.1"
-    is-fullwidth-code-point "^2.0.0"
-    strip-ansi "^5.1.0"
-
-string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0:
-  version "4.2.2"
-  resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5"
-  integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==
+string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3:
+  version "4.2.3"
+  resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
+  integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
   dependencies:
     emoji-regex "^8.0.0"
     is-fullwidth-code-point "^3.0.0"
-    strip-ansi "^6.0.0"
-
-string_decoder@^1.1.1:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
-  integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
-  dependencies:
-    safe-buffer "~5.2.0"
+    strip-ansi "^6.0.1"
 
 string_decoder@~1.1.1:
   version "1.1.1"
@@ -4029,26 +3860,12 @@ string_decoder@~1.1.1:
   dependencies:
     safe-buffer "~5.1.0"
 
-strip-ansi@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
-  integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
-  dependencies:
-    ansi-regex "^3.0.0"
-
-strip-ansi@^5.1.0:
-  version "5.2.0"
-  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
-  integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
-  dependencies:
-    ansi-regex "^4.1.0"
-
-strip-ansi@^6.0.0:
-  version "6.0.0"
-  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
-  integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
+strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+  version "6.0.1"
+  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
+  integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
   dependencies:
-    ansi-regex "^5.0.0"
+    ansi-regex "^5.0.1"
 
 strip-bom@^4.0.0:
   version "4.0.0"
@@ -4070,6 +3887,11 @@ strip-json-comments@~2.0.1:
   resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
   integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
 
+strnum@^1.0.4:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db"
+  integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==
+
 sumchecker@^3.0.1:
   version "3.0.1"
   resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-3.0.1.tgz#6377e996795abb0b6d348e9b3e1dfb24345a8e42"
@@ -4106,34 +3928,16 @@ supports-hyperlinks@^2.0.0:
     has-flag "^4.0.0"
     supports-color "^7.0.0"
 
+supports-preserve-symlinks-flag@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+  integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
 symbol-tree@^3.2.4:
   version "3.2.4"
   resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
   integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
 
-table@^6.0.9:
-  version "6.7.1"
-  resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2"
-  integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==
-  dependencies:
-    ajv "^8.0.1"
-    lodash.clonedeep "^4.5.0"
-    lodash.truncate "^4.4.2"
-    slice-ansi "^4.0.0"
-    string-width "^4.2.0"
-    strip-ansi "^6.0.0"
-
-tar-stream@^2.2.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287"
-  integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==
-  dependencies:
-    bl "^4.0.3"
-    end-of-stream "^1.4.1"
-    fs-constants "^1.0.0"
-    inherits "^2.0.3"
-    readable-stream "^3.1.1"
-
 temp-file@^3.4.0:
   version "3.4.0"
   resolved "https://registry.yarnpkg.com/temp-file/-/temp-file-3.4.0.tgz#766ea28911c683996c248ef1a20eea04d51652c7"
@@ -4169,22 +3973,22 @@ throat@^6.0.1:
   resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375"
   integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==
 
-tldts-core@^5.7.38:
-  version "5.7.38"
-  resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-5.7.38.tgz#779092c90941803fb682c3d7094a88f12aad4508"
-  integrity sha512-mcL16YTXjpVJ+ekoKC/ddvdjGNMg8HkdWQNp3WNz26WJMV7Z2Hjr1IPwYYr9W3LxGdXV7mmg21Zk2vSstiSsFg==
+tldts-core@^5.7.72:
+  version "5.7.72"
+  resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-5.7.72.tgz#d42d0ba3b0a1c677f7f4fc4581267df90238a14c"
+  integrity sha512-UVnXJQbM3CGYwXVy16nNJHh/MWr7fcaEyd3DravwgZjWn0pPHuQ/ajtGonzi9F62Ld3d5r6zBlOTI7qLlLJR1Q==
 
 tldts-experimental@^5.6.21:
-  version "5.7.38"
-  resolved "https://registry.yarnpkg.com/tldts-experimental/-/tldts-experimental-5.7.38.tgz#a2b03ae0282ee7439b1ed1618a1d7d2e9e66be78"
-  integrity sha512-3L0yML53LSw3tlRPwHcGOf35l3dhZx/3DgPGWL3ILATnuu76OiAOvJ4Xw1Znl6sIxVKJ4B4BE0zroZMMzsHg/A==
+  version "5.7.72"
+  resolved "https://registry.yarnpkg.com/tldts-experimental/-/tldts-experimental-5.7.72.tgz#b0a9b121e542a3b31f2b0dc7b64abc720940fd6a"
+  integrity sha512-Qg1FOnR8jCXBySOQVSaAmRZ4UiKse60MY7eTdx6oIaQ8ve+xGi+dXybb4+RN4cu9c4M7HOoGYkWERQ5tkBAPbg==
   dependencies:
-    tldts-core "^5.7.38"
+    tldts-core "^5.7.72"
 
 tmp-promise@^3.0.2:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-3.0.2.tgz#6e933782abff8b00c3119d63589ca1fb9caaa62a"
-  integrity sha512-OyCLAKU1HzBjL6Ev3gxUeraJNlbNingmi8IrHHEsYH8LTmEuhvYfqvhn2F/je+mjf4N58UmZ96OMEy1JanSCpA==
+  version "3.0.3"
+  resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-3.0.3.tgz#60a1a1cc98c988674fcbfd23b6e3367bdeac4ce7"
+  integrity sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==
   dependencies:
     tmp "^0.2.0"
 
@@ -4195,10 +3999,10 @@ tmp@^0.2.0:
   dependencies:
     rimraf "^3.0.0"
 
-tmpl@1.0.x:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1"
-  integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=
+tmpl@1.0.5:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc"
+  integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==
 
 to-fast-properties@^2.0.0:
   version "2.0.0"
@@ -4347,7 +4151,7 @@ utf8-byte-length@^1.0.1:
   resolved "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz#f45f150c4c66eee968186505ab93fcbb8ad6bf61"
   integrity sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=
 
-util-deprecate@^1.0.1, util-deprecate@~1.0.1:
+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=
@@ -4357,19 +4161,19 @@ v8-compile-cache@^2.0.3:
   resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
   integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
 
-v8-to-istanbul@^8.0.0:
-  version "8.0.0"
-  resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.0.0.tgz#4229f2a99e367f3f018fa1d5c2b8ec684667c69c"
-  integrity sha512-LkmXi8UUNxnCC+JlH7/fsfsKr5AU110l+SYGJimWNkWhxbN5EyeOtm1MJ0hhvqMMOhGwBj1Fp70Yv9i+hX0QAg==
+v8-to-istanbul@^8.1.0:
+  version "8.1.1"
+  resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz#77b752fd3975e31bbcef938f85e9bd1c7a8d60ed"
+  integrity sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==
   dependencies:
     "@types/istanbul-lib-coverage" "^2.0.1"
     convert-source-map "^1.6.0"
     source-map "^0.7.3"
 
 verror@^1.10.0:
-  version "1.10.0"
-  resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
-  integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
+  version "1.10.1"
+  resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.1.tgz#4bf09eeccf4563b109ed4b3d458380c972b0cdeb"
+  integrity sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==
   dependencies:
     assert-plus "^1.0.0"
     core-util-is "1.0.2"
@@ -4390,11 +4194,11 @@ w3c-xmlserializer@^2.0.0:
     xml-name-validator "^3.0.0"
 
 walker@^1.0.7:
-  version "1.0.7"
-  resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb"
-  integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=
+  version "1.0.8"
+  resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f"
+  integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==
   dependencies:
-    makeerror "1.0.x"
+    makeerror "1.0.12"
 
 webidl-conversions@^5.0.0:
   version "5.0.0"
@@ -4470,10 +4274,10 @@ write-file-atomic@^3.0.0:
     signal-exit "^3.0.2"
     typedarray-to-buffer "^3.1.5"
 
-ws@^7.4.5:
-  version "7.5.1"
-  resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.1.tgz#44fc000d87edb1d9c53e51fbc69a0ac1f6871d66"
-  integrity sha512-2c6faOUH/nhoQN6abwMloF7Iyl0ZS2E9HGtsiLrWn0zOOMWlhtDmdf/uihDt6jnuCxgtwGBNy6Onsoy2s2O2Ow==
+ws@^7.4.6:
+  version "7.5.7"
+  resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67"
+  integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==
 
 xdg-basedir@^4.0.0:
   version "4.0.0"
@@ -4500,11 +4304,6 @@ xmlchars@^2.2.0:
   resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
   integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
 
-xmldom@^0.5.0:
-  version "0.5.0"
-  resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.5.0.tgz#193cb96b84aa3486127ea6272c4596354cb4962e"
-  integrity sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA==
-
 y18n@^5.0.5:
   version "5.0.8"
   resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
@@ -4520,7 +4319,12 @@ yargs-parser@^20.2.2:
   resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
   integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
 
-yargs@^16.0.3:
+yargs-parser@^21.0.0:
+  version "21.0.1"
+  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35"
+  integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==
+
+yargs@^16.2.0:
   version "16.2.0"
   resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
   integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
@@ -4534,17 +4338,17 @@ yargs@^16.0.3:
     yargs-parser "^20.2.2"
 
 yargs@^17.0.1:
-  version "17.0.1"
-  resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.0.1.tgz#6a1ced4ed5ee0b388010ba9fd67af83b9362e0bb"
-  integrity sha512-xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ==
+  version "17.4.0"
+  resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.4.0.tgz#9fc9efc96bd3aa2c1240446af28499f0e7593d00"
+  integrity sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA==
   dependencies:
     cliui "^7.0.2"
     escalade "^3.1.1"
     get-caller-file "^2.0.5"
     require-directory "^2.1.1"
-    string-width "^4.2.0"
+    string-width "^4.2.3"
     y18n "^5.0.5"
-    yargs-parser "^20.2.2"
+    yargs-parser "^21.0.0"
 
 yauzl@^2.10.0:
   version "2.10.0"
@@ -4553,12 +4357,3 @@ yauzl@^2.10.0:
   dependencies:
     buffer-crc32 "~0.2.3"
     fd-slicer "~1.1.0"
-
-zip-stream@^4.1.0:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-4.1.0.tgz#51dd326571544e36aa3f756430b313576dc8fc79"
-  integrity sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==
-  dependencies:
-    archiver-utils "^2.1.0"
-    compress-commons "^4.1.0"
-    readable-stream "^3.6.0"
diff --git a/pkgs/applications/networking/browsers/vieb/yarn.nix b/pkgs/applications/networking/browsers/vieb/yarn.nix
index 6f045bd27e633..a8a281126a0ea 100644
--- a/pkgs/applications/networking/browsers/vieb/yarn.nix
+++ b/pkgs/applications/networking/browsers/vieb/yarn.nix
@@ -6,183 +6,167 @@
       path = fetchurl {
         name = "7zip_bin___7zip_bin_5.1.1.tgz";
         url  = "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.1.1.tgz";
-        sha1 = "9274ec7460652f9c632c59addf24efb1684ef876";
+        sha512 = "sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ==";
       };
     }
     {
-      name = "_babel_code_frame___code_frame_7.12.11.tgz";
+      name = "_ampproject_remapping___remapping_2.1.2.tgz";
       path = fetchurl {
-        name = "_babel_code_frame___code_frame_7.12.11.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz";
-        sha1 = "f4ad435aa263db935b8f10f2c552d23fb716a63f";
+        name = "_ampproject_remapping___remapping_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz";
+        sha512 = "hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==";
       };
     }
     {
-      name = "_babel_code_frame___code_frame_7.14.5.tgz";
+      name = "_babel_code_frame___code_frame_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_code_frame___code_frame_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz";
-        sha1 = "23b08d740e83f49c5e59945fbf1b43e80bbf4edb";
+        name = "_babel_code_frame___code_frame_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz";
+        sha512 = "iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==";
       };
     }
     {
-      name = "_babel_compat_data___compat_data_7.14.7.tgz";
+      name = "_babel_compat_data___compat_data_7.17.7.tgz";
       path = fetchurl {
-        name = "_babel_compat_data___compat_data_7.14.7.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.7.tgz";
-        sha1 = "7b047d7a3a89a67d2258dc61f604f098f1bc7e08";
+        name = "_babel_compat_data___compat_data_7.17.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz";
+        sha512 = "p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==";
       };
     }
     {
-      name = "_babel_core___core_7.14.6.tgz";
+      name = "_babel_core___core_7.17.8.tgz";
       path = fetchurl {
-        name = "_babel_core___core_7.14.6.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.14.6.tgz";
-        sha1 = "e0814ec1a950032ff16c13a2721de39a8416fcab";
+        name = "_babel_core___core_7.17.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.17.8.tgz";
+        sha512 = "OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==";
       };
     }
     {
-      name = "_babel_generator___generator_7.14.5.tgz";
+      name = "_babel_generator___generator_7.17.7.tgz";
       path = fetchurl {
-        name = "_babel_generator___generator_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.5.tgz";
-        sha1 = "848d7b9f031caca9d0cd0af01b063f226f52d785";
+        name = "_babel_generator___generator_7.17.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz";
+        sha512 = "oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==";
       };
     }
     {
-      name = "_babel_helper_compilation_targets___helper_compilation_targets_7.14.5.tgz";
+      name = "_babel_helper_compilation_targets___helper_compilation_targets_7.17.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_compilation_targets___helper_compilation_targets_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz";
-        sha1 = "7a99c5d0967911e972fe2c3411f7d5b498498ecf";
+        name = "_babel_helper_compilation_targets___helper_compilation_targets_7.17.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz";
+        sha512 = "UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==";
       };
     }
     {
-      name = "_babel_helper_function_name___helper_function_name_7.14.5.tgz";
+      name = "_babel_helper_environment_visitor___helper_environment_visitor_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_function_name___helper_function_name_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz";
-        sha1 = "89e2c474972f15d8e233b52ee8c480e2cfcd50c4";
+        name = "_babel_helper_environment_visitor___helper_environment_visitor_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz";
+        sha512 = "SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==";
       };
     }
     {
-      name = "_babel_helper_get_function_arity___helper_get_function_arity_7.14.5.tgz";
+      name = "_babel_helper_function_name___helper_function_name_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_get_function_arity___helper_get_function_arity_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz";
-        sha1 = "25fbfa579b0937eee1f3b805ece4ce398c431815";
+        name = "_babel_helper_function_name___helper_function_name_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz";
+        sha512 = "QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==";
       };
     }
     {
-      name = "_babel_helper_hoist_variables___helper_hoist_variables_7.14.5.tgz";
+      name = "_babel_helper_get_function_arity___helper_get_function_arity_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_hoist_variables___helper_hoist_variables_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz";
-        sha1 = "e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d";
+        name = "_babel_helper_get_function_arity___helper_get_function_arity_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz";
+        sha512 = "flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==";
       };
     }
     {
-      name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.14.7.tgz";
+      name = "_babel_helper_hoist_variables___helper_hoist_variables_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.14.7.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz";
-        sha1 = "97e56244beb94211fe277bd818e3a329c66f7970";
+        name = "_babel_helper_hoist_variables___helper_hoist_variables_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz";
+        sha512 = "m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==";
       };
     }
     {
-      name = "_babel_helper_module_imports___helper_module_imports_7.14.5.tgz";
+      name = "_babel_helper_module_imports___helper_module_imports_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_module_imports___helper_module_imports_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz";
-        sha1 = "6d1a44df6a38c957aa7c312da076429f11b422f3";
+        name = "_babel_helper_module_imports___helper_module_imports_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz";
+        sha512 = "LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==";
       };
     }
     {
-      name = "_babel_helper_module_transforms___helper_module_transforms_7.14.5.tgz";
+      name = "_babel_helper_module_transforms___helper_module_transforms_7.17.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_module_transforms___helper_module_transforms_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz";
-        sha1 = "7de42f10d789b423eb902ebd24031ca77cb1e10e";
+        name = "_babel_helper_module_transforms___helper_module_transforms_7.17.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz";
+        sha512 = "VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==";
       };
     }
     {
-      name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.14.5.tgz";
+      name = "_babel_helper_plugin_utils___helper_plugin_utils_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz";
-        sha1 = "f27395a8619e0665b3f0364cddb41c25d71b499c";
+        name = "_babel_helper_plugin_utils___helper_plugin_utils_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz";
+        sha512 = "Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==";
       };
     }
     {
-      name = "_babel_helper_plugin_utils___helper_plugin_utils_7.14.5.tgz";
+      name = "_babel_helper_simple_access___helper_simple_access_7.17.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_plugin_utils___helper_plugin_utils_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz";
-        sha1 = "5ac822ce97eec46741ab70a517971e443a70c5a9";
+        name = "_babel_helper_simple_access___helper_simple_access_7.17.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz";
+        sha512 = "txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==";
       };
     }
     {
-      name = "_babel_helper_replace_supers___helper_replace_supers_7.14.5.tgz";
+      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_replace_supers___helper_replace_supers_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz";
-        sha1 = "0ecc0b03c41cd567b4024ea016134c28414abb94";
+        name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz";
+        sha512 = "xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==";
       };
     }
     {
-      name = "_babel_helper_simple_access___helper_simple_access_7.14.5.tgz";
+      name = "_babel_helper_validator_identifier___helper_validator_identifier_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_simple_access___helper_simple_access_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz";
-        sha1 = "66ea85cf53ba0b4e588ba77fc813f53abcaa41c4";
+        name = "_babel_helper_validator_identifier___helper_validator_identifier_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz";
+        sha512 = "hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==";
       };
     }
     {
-      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.14.5.tgz";
+      name = "_babel_helper_validator_option___helper_validator_option_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz";
-        sha1 = "22b23a54ef51c2b7605d851930c1976dd0bc693a";
+        name = "_babel_helper_validator_option___helper_validator_option_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz";
+        sha512 = "TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==";
       };
     }
     {
-      name = "_babel_helper_validator_identifier___helper_validator_identifier_7.14.5.tgz";
+      name = "_babel_helpers___helpers_7.17.8.tgz";
       path = fetchurl {
-        name = "_babel_helper_validator_identifier___helper_validator_identifier_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz";
-        sha1 = "d0f0e277c512e0c938277faa85a3968c9a44c0e8";
+        name = "_babel_helpers___helpers_7.17.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.8.tgz";
+        sha512 = "QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==";
       };
     }
     {
-      name = "_babel_helper_validator_option___helper_validator_option_7.14.5.tgz";
+      name = "_babel_highlight___highlight_7.16.10.tgz";
       path = fetchurl {
-        name = "_babel_helper_validator_option___helper_validator_option_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz";
-        sha1 = "6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3";
+        name = "_babel_highlight___highlight_7.16.10.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz";
+        sha512 = "5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==";
       };
     }
     {
-      name = "_babel_helpers___helpers_7.14.6.tgz";
+      name = "_babel_parser___parser_7.17.8.tgz";
       path = fetchurl {
-        name = "_babel_helpers___helpers_7.14.6.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.6.tgz";
-        sha1 = "5b58306b95f1b47e2a0199434fa8658fa6c21635";
-      };
-    }
-    {
-      name = "_babel_highlight___highlight_7.14.5.tgz";
-      path = fetchurl {
-        name = "_babel_highlight___highlight_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz";
-        sha1 = "6861a52f03966405001f6aa534a01a24d99e8cd9";
-      };
-    }
-    {
-      name = "_babel_parser___parser_7.14.7.tgz";
-      path = fetchurl {
-        name = "_babel_parser___parser_7.14.7.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.7.tgz";
-        sha1 = "6099720c8839ca865a2637e6c85852ead0bdb595";
+        name = "_babel_parser___parser_7.17.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.8.tgz";
+        sha512 = "BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==";
       };
     }
     {
@@ -190,7 +174,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_async_generators___plugin_syntax_async_generators_7.8.4.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz";
-        sha1 = "a983fb1aeb2ec3f6ed042a210f640e90e786fe0d";
+        sha512 = "tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==";
       };
     }
     {
@@ -198,7 +182,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_bigint___plugin_syntax_bigint_7.8.3.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz";
-        sha1 = "4c9a6f669f5d0cdf1b90a1671e9a146be5300cea";
+        sha512 = "wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==";
       };
     }
     {
@@ -206,7 +190,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_class_properties___plugin_syntax_class_properties_7.12.13.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz";
-        sha1 = "b5c987274c4a3a82b89714796931a6b53544ae10";
+        sha512 = "fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==";
       };
     }
     {
@@ -214,7 +198,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_import_meta___plugin_syntax_import_meta_7.10.4.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz";
-        sha1 = "ee601348c370fa334d2207be158777496521fd51";
+        sha512 = "Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==";
       };
     }
     {
@@ -222,7 +206,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_json_strings___plugin_syntax_json_strings_7.8.3.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz";
-        sha1 = "01ca21b668cd8218c9e640cb6dd88c5412b2c96a";
+        sha512 = "lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==";
       };
     }
     {
@@ -230,7 +214,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_logical_assignment_operators___plugin_syntax_logical_assignment_operators_7.10.4.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz";
-        sha1 = "ca91ef46303530448b906652bac2e9fe9941f699";
+        sha512 = "d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==";
       };
     }
     {
@@ -238,7 +222,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_nullish_coalescing_operator___plugin_syntax_nullish_coalescing_operator_7.8.3.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz";
-        sha1 = "167ed70368886081f74b5c36c65a88c03b66d1a9";
+        sha512 = "aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==";
       };
     }
     {
@@ -246,7 +230,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_numeric_separator___plugin_syntax_numeric_separator_7.10.4.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz";
-        sha1 = "b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97";
+        sha512 = "9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==";
       };
     }
     {
@@ -254,7 +238,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_object_rest_spread___plugin_syntax_object_rest_spread_7.8.3.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz";
-        sha1 = "60e225edcbd98a640332a2e72dd3e66f1af55871";
+        sha512 = "XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==";
       };
     }
     {
@@ -262,7 +246,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_optional_catch_binding___plugin_syntax_optional_catch_binding_7.8.3.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz";
-        sha1 = "6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1";
+        sha512 = "6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==";
       };
     }
     {
@@ -270,7 +254,7 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_optional_chaining___plugin_syntax_optional_chaining_7.8.3.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz";
-        sha1 = "4f69c2ab95167e0180cd5336613f8c5788f7d48a";
+        sha512 = "KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==";
       };
     }
     {
@@ -278,39 +262,39 @@
       path = fetchurl {
         name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.14.5.tgz";
         url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz";
-        sha1 = "c1cfdadc35a646240001f06138247b741c34d94c";
+        sha512 = "hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==";
       };
     }
     {
-      name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.14.5.tgz";
+      name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz";
-        sha1 = "b82c6ce471b165b5ce420cf92914d6fb46225716";
+        name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz";
+        sha512 = "YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==";
       };
     }
     {
-      name = "_babel_template___template_7.14.5.tgz";
+      name = "_babel_template___template_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_template___template_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz";
-        sha1 = "a9bc9d8b33354ff6e55a9c60d1109200a68974f4";
+        name = "_babel_template___template_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz";
+        sha512 = "I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==";
       };
     }
     {
-      name = "_babel_traverse___traverse_7.14.7.tgz";
+      name = "_babel_traverse___traverse_7.17.3.tgz";
       path = fetchurl {
-        name = "_babel_traverse___traverse_7.14.7.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.7.tgz";
-        sha1 = "64007c9774cfdc3abd23b0780bc18a3ce3631753";
+        name = "_babel_traverse___traverse_7.17.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz";
+        sha512 = "5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==";
       };
     }
     {
-      name = "_babel_types___types_7.14.5.tgz";
+      name = "_babel_types___types_7.17.0.tgz";
       path = fetchurl {
-        name = "_babel_types___types_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.14.5.tgz";
-        sha1 = "3bb997ba829a2104cedb20689c4a5b8121d383ff";
+        name = "_babel_types___types_7.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz";
+        sha512 = "TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==";
       };
     }
     {
@@ -318,47 +302,55 @@
       path = fetchurl {
         name = "_bcoe_v8_coverage___v8_coverage_0.2.3.tgz";
         url  = "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz";
-        sha1 = "75a2e8b51cb758a7553d6804a5932d7aace75c39";
+        sha512 = "0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==";
+      };
+    }
+    {
+      name = "_cliqz_adblocker_content___adblocker_content_1.23.7.tgz";
+      path = fetchurl {
+        name = "_cliqz_adblocker_content___adblocker_content_1.23.7.tgz";
+        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-content/-/adblocker-content-1.23.7.tgz";
+        sha512 = "tgCFcWhBty+WI3ObYBLDk56i1G7nScd5TBAOXlQf2EIbVJ+DC+G0YE91YHhQpzfy4ySI/wRGyEHrKzTRgmkuKQ==";
       };
     }
     {
-      name = "_cliqz_adblocker_content___adblocker_content_1.22.2.tgz";
+      name = "_cliqz_adblocker_electron_preload___adblocker_electron_preload_1.23.6.tgz";
       path = fetchurl {
-        name = "_cliqz_adblocker_content___adblocker_content_1.22.2.tgz";
-        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-content/-/adblocker-content-1.22.2.tgz";
-        sha1 = "643849d5f08c167eb84a2e7e3f1f9fbc41a3889b";
+        name = "_cliqz_adblocker_electron_preload___adblocker_electron_preload_1.23.6.tgz";
+        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-electron-preload/-/adblocker-electron-preload-1.23.6.tgz";
+        sha512 = "xVBrIqfvcuh2Y07ZkEogzgkyqJuZvOqhRoFnuTyW2q97AmWAGLT6IjEGjl/vX7vMP0Y1b8wubdjI3VHnKvNKDg==";
       };
     }
     {
-      name = "_cliqz_adblocker_electron_preload___adblocker_electron_preload_1.22.2.tgz";
+      name = "_cliqz_adblocker_electron_preload___adblocker_electron_preload_1.23.7.tgz";
       path = fetchurl {
-        name = "_cliqz_adblocker_electron_preload___adblocker_electron_preload_1.22.2.tgz";
-        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-electron-preload/-/adblocker-electron-preload-1.22.2.tgz";
-        sha1 = "eea674767a60abe4e5f9ccb46188d33656f551d0";
+        name = "_cliqz_adblocker_electron_preload___adblocker_electron_preload_1.23.7.tgz";
+        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-electron-preload/-/adblocker-electron-preload-1.23.7.tgz";
+        sha512 = "bGWf4r5q4savAGs3Kl4aR7XBH4J9AmrErDmcYu+tJk9V3rhTGXUi29kMl0D5x2JimhRmnKOeJ/Q2GJSUjvnmsg==";
       };
     }
     {
-      name = "_cliqz_adblocker_electron___adblocker_electron_1.22.2.tgz";
+      name = "_cliqz_adblocker_electron___adblocker_electron_1.23.6.tgz";
       path = fetchurl {
-        name = "_cliqz_adblocker_electron___adblocker_electron_1.22.2.tgz";
-        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-electron/-/adblocker-electron-1.22.2.tgz";
-        sha1 = "85af3b49f7f653e6fb0d008b6523e3b3ba0dd41e";
+        name = "_cliqz_adblocker_electron___adblocker_electron_1.23.6.tgz";
+        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-electron/-/adblocker-electron-1.23.6.tgz";
+        sha512 = "wzkCfBCo5RvRanzsVOu65xHW9GAUDqsg+tP8GYld6/hgMMb96KJZJVpvrvwvsneAm9T55QE4ef1utZbIIwltqA==";
       };
     }
     {
-      name = "_cliqz_adblocker_extended_selectors___adblocker_extended_selectors_1.22.2.tgz";
+      name = "_cliqz_adblocker_extended_selectors___adblocker_extended_selectors_1.23.7.tgz";
       path = fetchurl {
-        name = "_cliqz_adblocker_extended_selectors___adblocker_extended_selectors_1.22.2.tgz";
-        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-extended-selectors/-/adblocker-extended-selectors-1.22.2.tgz";
-        sha1 = "1cad3c1569b765d9e7f8672c85b2a7b1e8e9ee90";
+        name = "_cliqz_adblocker_extended_selectors___adblocker_extended_selectors_1.23.7.tgz";
+        url  = "https://registry.yarnpkg.com/@cliqz/adblocker-extended-selectors/-/adblocker-extended-selectors-1.23.7.tgz";
+        sha512 = "3y1eeHHZS3qvvv3dDZDjVVr6g03GeUBbDExCW/GOiHdo+qKYmM2K40EaLN+Upzc2ppuum9UKvzsHxG8Hs9R/kQ==";
       };
     }
     {
-      name = "_cliqz_adblocker___adblocker_1.22.2.tgz";
+      name = "_cliqz_adblocker___adblocker_1.23.7.tgz";
       path = fetchurl {
-        name = "_cliqz_adblocker___adblocker_1.22.2.tgz";
-        url  = "https://registry.yarnpkg.com/@cliqz/adblocker/-/adblocker-1.22.2.tgz";
-        sha1 = "99a14d56327734d3083a077d96fe7b91c236bf7a";
+        name = "_cliqz_adblocker___adblocker_1.23.7.tgz";
+        url  = "https://registry.yarnpkg.com/@cliqz/adblocker/-/adblocker-1.23.7.tgz";
+        sha512 = "HUvC7CcmNbcIftcRhFeuQhHSpyNdOVdXazXDL0+avvWR0cxlI9zcC8yHMRKjxeY6nsiOXdyEFby+V5KgJvfwaQ==";
       };
     }
     {
@@ -366,15 +358,15 @@
       path = fetchurl {
         name = "_develar_schema_utils___schema_utils_2.6.5.tgz";
         url  = "https://registry.yarnpkg.com/@develar/schema-utils/-/schema-utils-2.6.5.tgz";
-        sha1 = "3ece22c5838402419a6e0425f85742b961d9b6c6";
+        sha512 = "0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==";
       };
     }
     {
-      name = "_electron_get___get_1.12.4.tgz";
+      name = "_electron_get___get_1.14.1.tgz";
       path = fetchurl {
-        name = "_electron_get___get_1.12.4.tgz";
-        url  = "https://registry.yarnpkg.com/@electron/get/-/get-1.12.4.tgz";
-        sha1 = "a5971113fc1bf8fa12a8789dc20152a7359f06ab";
+        name = "_electron_get___get_1.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/@electron/get/-/get-1.14.1.tgz";
+        sha512 = "BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==";
       };
     }
     {
@@ -382,15 +374,31 @@
       path = fetchurl {
         name = "_electron_universal___universal_1.0.5.tgz";
         url  = "https://registry.yarnpkg.com/@electron/universal/-/universal-1.0.5.tgz";
-        sha1 = "b812340e4ef21da2b3ee77b2b4d35c9b86defe37";
+        sha512 = "zX9O6+jr2NMyAdSkwEUlyltiI4/EBLu2Ls/VD3pUQdi3cAYeYfdQnT2AJJ38HE4QxLccbU13LSpccw1IWlkyag==";
+      };
+    }
+    {
+      name = "_eslint_eslintrc___eslintrc_1.2.1.tgz";
+      path = fetchurl {
+        name = "_eslint_eslintrc___eslintrc_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.2.1.tgz";
+        sha512 = "bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==";
+      };
+    }
+    {
+      name = "_humanwhocodes_config_array___config_array_0.9.5.tgz";
+      path = fetchurl {
+        name = "_humanwhocodes_config_array___config_array_0.9.5.tgz";
+        url  = "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz";
+        sha512 = "ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==";
       };
     }
     {
-      name = "_eslint_eslintrc___eslintrc_0.4.2.tgz";
+      name = "_humanwhocodes_object_schema___object_schema_1.2.1.tgz";
       path = fetchurl {
-        name = "_eslint_eslintrc___eslintrc_0.4.2.tgz";
-        url  = "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.2.tgz";
-        sha1 = "f63d0ef06f5c0c57d76c4ab5f63d3835c51b0179";
+        name = "_humanwhocodes_object_schema___object_schema_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz";
+        sha512 = "ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==";
       };
     }
     {
@@ -398,7 +406,7 @@
       path = fetchurl {
         name = "_istanbuljs_load_nyc_config___load_nyc_config_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz";
-        sha1 = "fd3db1d59ecf7cf121e80650bb86712f9b55eced";
+        sha512 = "VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==";
       };
     }
     {
@@ -406,95 +414,119 @@
       path = fetchurl {
         name = "_istanbuljs_schema___schema_0.1.3.tgz";
         url  = "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz";
-        sha1 = "e45e384e4b8ec16bce2fd903af78450f6bf7ec98";
+        sha512 = "ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==";
       };
     }
     {
-      name = "_jest_console___console_27.0.6.tgz";
+      name = "_jest_console___console_27.5.1.tgz";
       path = fetchurl {
-        name = "_jest_console___console_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/console/-/console-27.0.6.tgz";
-        sha1 = "3eb72ea80897495c3d73dd97aab7f26770e2260f";
+        name = "_jest_console___console_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/console/-/console-27.5.1.tgz";
+        sha512 = "kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==";
       };
     }
     {
-      name = "_jest_core___core_27.0.6.tgz";
+      name = "_jest_core___core_27.5.1.tgz";
       path = fetchurl {
-        name = "_jest_core___core_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/core/-/core-27.0.6.tgz";
-        sha1 = "c5f642727a0b3bf0f37c4b46c675372d0978d4a1";
+        name = "_jest_core___core_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/core/-/core-27.5.1.tgz";
+        sha512 = "AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==";
       };
     }
     {
-      name = "_jest_environment___environment_27.0.6.tgz";
+      name = "_jest_environment___environment_27.5.1.tgz";
       path = fetchurl {
-        name = "_jest_environment___environment_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/environment/-/environment-27.0.6.tgz";
-        sha1 = "ee293fe996db01d7d663b8108fa0e1ff436219d2";
+        name = "_jest_environment___environment_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/environment/-/environment-27.5.1.tgz";
+        sha512 = "/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==";
       };
     }
     {
-      name = "_jest_fake_timers___fake_timers_27.0.6.tgz";
+      name = "_jest_fake_timers___fake_timers_27.5.1.tgz";
       path = fetchurl {
-        name = "_jest_fake_timers___fake_timers_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.0.6.tgz";
-        sha1 = "cbad52f3fe6abe30e7acb8cd5fa3466b9588e3df";
+        name = "_jest_fake_timers___fake_timers_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz";
+        sha512 = "/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==";
       };
     }
     {
-      name = "_jest_globals___globals_27.0.6.tgz";
+      name = "_jest_globals___globals_27.5.1.tgz";
       path = fetchurl {
-        name = "_jest_globals___globals_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/globals/-/globals-27.0.6.tgz";
-        sha1 = "48e3903f99a4650673d8657334d13c9caf0e8f82";
+        name = "_jest_globals___globals_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/globals/-/globals-27.5.1.tgz";
+        sha512 = "ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==";
       };
     }
     {
-      name = "_jest_reporters___reporters_27.0.6.tgz";
+      name = "_jest_reporters___reporters_27.5.1.tgz";
       path = fetchurl {
-        name = "_jest_reporters___reporters_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.0.6.tgz";
-        sha1 = "91e7f2d98c002ad5df94d5b5167c1eb0b9fd5b00";
+        name = "_jest_reporters___reporters_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.5.1.tgz";
+        sha512 = "cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==";
       };
     }
     {
-      name = "_jest_source_map___source_map_27.0.6.tgz";
+      name = "_jest_source_map___source_map_27.5.1.tgz";
       path = fetchurl {
-        name = "_jest_source_map___source_map_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.0.6.tgz";
-        sha1 = "be9e9b93565d49b0548b86e232092491fb60551f";
+        name = "_jest_source_map___source_map_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.5.1.tgz";
+        sha512 = "y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==";
       };
     }
     {
-      name = "_jest_test_result___test_result_27.0.6.tgz";
+      name = "_jest_test_result___test_result_27.5.1.tgz";
       path = fetchurl {
-        name = "_jest_test_result___test_result_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.0.6.tgz";
-        sha1 = "3fa42015a14e4fdede6acd042ce98c7f36627051";
+        name = "_jest_test_result___test_result_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.5.1.tgz";
+        sha512 = "EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==";
       };
     }
     {
-      name = "_jest_test_sequencer___test_sequencer_27.0.6.tgz";
+      name = "_jest_test_sequencer___test_sequencer_27.5.1.tgz";
       path = fetchurl {
-        name = "_jest_test_sequencer___test_sequencer_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.0.6.tgz";
-        sha1 = "80a913ed7a1130545b1cd777ff2735dd3af5d34b";
+        name = "_jest_test_sequencer___test_sequencer_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz";
+        sha512 = "LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==";
       };
     }
     {
-      name = "_jest_transform___transform_27.0.6.tgz";
+      name = "_jest_transform___transform_27.5.1.tgz";
       path = fetchurl {
-        name = "_jest_transform___transform_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/transform/-/transform-27.0.6.tgz";
-        sha1 = "189ad7107413208f7600f4719f81dd2f7278cc95";
+        name = "_jest_transform___transform_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.1.tgz";
+        sha512 = "ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==";
       };
     }
     {
-      name = "_jest_types___types_27.0.6.tgz";
+      name = "_jest_types___types_27.5.1.tgz";
       path = fetchurl {
-        name = "_jest_types___types_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/@jest/types/-/types-27.0.6.tgz";
-        sha1 = "9a992bc517e0c49f035938b8549719c2de40706b";
+        name = "_jest_types___types_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz";
+        sha512 = "Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==";
+      };
+    }
+    {
+      name = "_jridgewell_resolve_uri___resolve_uri_3.0.5.tgz";
+      path = fetchurl {
+        name = "_jridgewell_resolve_uri___resolve_uri_3.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz";
+        sha512 = "VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==";
+      };
+    }
+    {
+      name = "_jridgewell_sourcemap_codec___sourcemap_codec_1.4.11.tgz";
+      path = fetchurl {
+        name = "_jridgewell_sourcemap_codec___sourcemap_codec_1.4.11.tgz";
+        url  = "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz";
+        sha512 = "Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==";
+      };
+    }
+    {
+      name = "_jridgewell_trace_mapping___trace_mapping_0.3.4.tgz";
+      path = fetchurl {
+        name = "_jridgewell_trace_mapping___trace_mapping_0.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz";
+        sha512 = "vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==";
       };
     }
     {
@@ -502,7 +534,7 @@
       path = fetchurl {
         name = "_malept_cross_spawn_promise___cross_spawn_promise_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz";
-        sha1 = "504af200af6b98e198bce768bc1730c6936ae01d";
+        sha512 = "RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==";
       };
     }
     {
@@ -510,15 +542,7 @@
       path = fetchurl {
         name = "_malept_flatpak_bundler___flatpak_bundler_0.4.0.tgz";
         url  = "https://registry.yarnpkg.com/@malept/flatpak-bundler/-/flatpak-bundler-0.4.0.tgz";
-        sha1 = "e8a32c30a95d20c2b1bb635cc580981a06389858";
-      };
-    }
-    {
-      name = "_mdn_browser_compat_data___browser_compat_data_2.0.7.tgz";
-      path = fetchurl {
-        name = "_mdn_browser_compat_data___browser_compat_data_2.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/@mdn/browser-compat-data/-/browser-compat-data-2.0.7.tgz";
-        sha1 = "72ec37b9c1e00ce0b4e0309d753be18e2da12ee3";
+        sha512 = "9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==";
       };
     }
     {
@@ -526,7 +550,7 @@
       path = fetchurl {
         name = "_remusao_guess_url_type___guess_url_type_1.2.1.tgz";
         url  = "https://registry.yarnpkg.com/@remusao/guess-url-type/-/guess-url-type-1.2.1.tgz";
-        sha1 = "b3e7c32abdf98d0fb4f93cc67cad580b5fe4ba57";
+        sha512 = "rbOqre2jW8STjheOsOaQHLgYBaBZ9Owbdt8NO7WvNZftJlaG3y/K9oOkl8ZUpuFBisIhmBuMEW6c+YrQl5inRA==";
       };
     }
     {
@@ -534,7 +558,7 @@
       path = fetchurl {
         name = "_remusao_small___small_1.2.1.tgz";
         url  = "https://registry.yarnpkg.com/@remusao/small/-/small-1.2.1.tgz";
-        sha1 = "63bfe4548832289f94ac868a0c305970c9a0e5f9";
+        sha512 = "7MjoGt0TJMVw1GPKgWq6SJPws1SLsUXQRa43Umht+nkyw2jnpy3WpiLNqGdwo5rHr5Wp9B2W/Pm5RQp656UJdw==";
       };
     }
     {
@@ -542,7 +566,7 @@
       path = fetchurl {
         name = "_remusao_smaz_compress___smaz_compress_1.9.1.tgz";
         url  = "https://registry.yarnpkg.com/@remusao/smaz-compress/-/smaz-compress-1.9.1.tgz";
-        sha1 = "fc75eaf9bcac2d58bc4c3d518183a7cb9612d275";
+        sha512 = "E2f48TwloQu3r6BdLOGF2aczeH7bJ/32oJGqvzT9SKur0cuUnLcZ7ZXP874E2fwmdE+cXzfC7bKzp79cDnmeyw==";
       };
     }
     {
@@ -550,7 +574,7 @@
       path = fetchurl {
         name = "_remusao_smaz_decompress___smaz_decompress_1.9.1.tgz";
         url  = "https://registry.yarnpkg.com/@remusao/smaz-decompress/-/smaz-decompress-1.9.1.tgz";
-        sha1 = "8094f997e8fb591a678cda9cf08c209c825eba5b";
+        sha512 = "TfjKKprYe3n47od8auhvJ/Ikj9kQTbDTe71ynKlxslrvvUhlIV3VQSuwYuMWMbdz1fIs0H/fxCN1Z8/H3km6/A==";
       };
     }
     {
@@ -558,7 +582,7 @@
       path = fetchurl {
         name = "_remusao_smaz___smaz_1.9.1.tgz";
         url  = "https://registry.yarnpkg.com/@remusao/smaz/-/smaz-1.9.1.tgz";
-        sha1 = "a2b9b045385f81e1615a68d932b7cc8b04c9db8d";
+        sha512 = "e6BLuP8oaXCZ9+v46Is4ilAZ/Vq6YLgmBP204Ixgk1qTjXmqvFYG7+AS7v9nsZdGOy96r9DWGFbbDVgMxwu1rA==";
       };
     }
     {
@@ -566,7 +590,7 @@
       path = fetchurl {
         name = "_remusao_trie___trie_1.4.1.tgz";
         url  = "https://registry.yarnpkg.com/@remusao/trie/-/trie-1.4.1.tgz";
-        sha1 = "755d09f8a007476334e611f42719b2d581f00720";
+        sha512 = "yvwa+aCyYI/UjeD39BnpMypG8N06l86wIDW1/PAc6ihBRnodIfZDwccxQN3n1t74wduzaz74m4ZMHZnB06567Q==";
       };
     }
     {
@@ -574,7 +598,7 @@
       path = fetchurl {
         name = "_sindresorhus_is___is_0.14.0.tgz";
         url  = "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz";
-        sha1 = "9fb3a3cf3132328151f353de4632e01e52102bea";
+        sha512 = "9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==";
       };
     }
     {
@@ -582,15 +606,15 @@
       path = fetchurl {
         name = "_sinonjs_commons___commons_1.8.3.tgz";
         url  = "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz";
-        sha1 = "3802ddd21a50a949b6721ddd72da36e67e7f1b2d";
+        sha512 = "xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==";
       };
     }
     {
-      name = "_sinonjs_fake_timers___fake_timers_7.1.2.tgz";
+      name = "_sinonjs_fake_timers___fake_timers_8.1.0.tgz";
       path = fetchurl {
-        name = "_sinonjs_fake_timers___fake_timers_7.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz";
-        sha1 = "2524eae70c4910edccf99b2f4e6efc5894aff7b5";
+        name = "_sinonjs_fake_timers___fake_timers_8.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz";
+        sha512 = "OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==";
       };
     }
     {
@@ -598,7 +622,7 @@
       path = fetchurl {
         name = "_szmarczak_http_timer___http_timer_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz";
-        sha1 = "b1665e2c461a2cd92f4c1bbf50d5454de0d4b421";
+        sha512 = "XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==";
       };
     }
     {
@@ -606,63 +630,71 @@
       path = fetchurl {
         name = "_tootallnate_once___once_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz";
-        sha1 = "ccb91445360179a04e7fe6aff78c00ffc1eeaf82";
+        sha512 = "RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==";
+      };
+    }
+    {
+      name = "_tootallnate_once___once_2.0.0.tgz";
+      path = fetchurl {
+        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==";
       };
     }
     {
-      name = "_types_babel__core___babel__core_7.1.14.tgz";
+      name = "_types_babel__core___babel__core_7.1.19.tgz";
       path = fetchurl {
-        name = "_types_babel__core___babel__core_7.1.14.tgz";
-        url  = "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.14.tgz";
-        sha1 = "faaeefc4185ec71c389f4501ee5ec84b170cc402";
+        name = "_types_babel__core___babel__core_7.1.19.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz";
+        sha512 = "WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==";
       };
     }
     {
-      name = "_types_babel__generator___babel__generator_7.6.2.tgz";
+      name = "_types_babel__generator___babel__generator_7.6.4.tgz";
       path = fetchurl {
-        name = "_types_babel__generator___babel__generator_7.6.2.tgz";
-        url  = "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz";
-        sha1 = "f3d71178e187858f7c45e30380f8f1b7415a12d8";
+        name = "_types_babel__generator___babel__generator_7.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz";
+        sha512 = "tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==";
       };
     }
     {
-      name = "_types_babel__template___babel__template_7.4.0.tgz";
+      name = "_types_babel__template___babel__template_7.4.1.tgz";
       path = fetchurl {
-        name = "_types_babel__template___babel__template_7.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz";
-        sha1 = "0c888dd70b3ee9eebb6e4f200e809da0076262be";
+        name = "_types_babel__template___babel__template_7.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz";
+        sha512 = "azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==";
       };
     }
     {
-      name = "_types_babel__traverse___babel__traverse_7.14.0.tgz";
+      name = "_types_babel__traverse___babel__traverse_7.14.2.tgz";
       path = fetchurl {
-        name = "_types_babel__traverse___babel__traverse_7.14.0.tgz";
-        url  = "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.0.tgz";
-        sha1 = "a34277cf8acbd3185ea74129e1f100491eb1da7f";
+        name = "_types_babel__traverse___babel__traverse_7.14.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz";
+        sha512 = "K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==";
       };
     }
     {
-      name = "_types_chrome___chrome_0.0.145.tgz";
+      name = "_types_chrome___chrome_0.0.180.tgz";
       path = fetchurl {
-        name = "_types_chrome___chrome_0.0.145.tgz";
-        url  = "https://registry.yarnpkg.com/@types/chrome/-/chrome-0.0.145.tgz";
-        sha1 = "6c53ae0af5f25350b07bfd24cf459b5fe65cd9b8";
+        name = "_types_chrome___chrome_0.0.180.tgz";
+        url  = "https://registry.yarnpkg.com/@types/chrome/-/chrome-0.0.180.tgz";
+        sha512 = "A/CuuKAaHq2CHEpYBAtl0lp2ib7TTXK7VjJI4q+c+1U/HDvZLJ8IlsdEDzzHdvkNdh36bGONxrMnO9YZrKqbAw==";
       };
     }
     {
-      name = "_types_debug___debug_4.1.5.tgz";
+      name = "_types_debug___debug_4.1.7.tgz";
       path = fetchurl {
-        name = "_types_debug___debug_4.1.5.tgz";
-        url  = "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz";
-        sha1 = "b14efa8852b7768d898906613c23f688713e02cd";
+        name = "_types_debug___debug_4.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.7.tgz";
+        sha512 = "9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==";
       };
     }
     {
-      name = "_types_filesystem___filesystem_0.0.31.tgz";
+      name = "_types_filesystem___filesystem_0.0.32.tgz";
       path = fetchurl {
-        name = "_types_filesystem___filesystem_0.0.31.tgz";
-        url  = "https://registry.yarnpkg.com/@types/filesystem/-/filesystem-0.0.31.tgz";
-        sha1 = "121a1ded274a2dc731d5e0d90163a920ad6a9ef1";
+        name = "_types_filesystem___filesystem_0.0.32.tgz";
+        url  = "https://registry.yarnpkg.com/@types/filesystem/-/filesystem-0.0.32.tgz";
+        sha512 = "Yuf4jR5YYMR2DVgwuCiP11s0xuVRyPKmz8vo6HBY3CGdeMj8af93CFZX+T82+VD1+UqHOxTq31lO7MI7lepBtQ==";
       };
     }
     {
@@ -670,31 +702,31 @@
       path = fetchurl {
         name = "_types_filewriter___filewriter_0.0.29.tgz";
         url  = "https://registry.yarnpkg.com/@types/filewriter/-/filewriter-0.0.29.tgz";
-        sha1 = "a48795ecadf957f6c0d10e0c34af86c098fa5bee";
+        sha512 = "BsPXH/irW0ht0Ji6iw/jJaK8Lj3FJemon2gvEqHKpCdDCeemHa+rI3WBGq5z7cDMZgoLjY40oninGxqk+8NzNQ==";
       };
     }
     {
-      name = "_types_firefox_webext_browser___firefox_webext_browser_82.0.0.tgz";
+      name = "_types_firefox_webext_browser___firefox_webext_browser_94.0.1.tgz";
       path = fetchurl {
-        name = "_types_firefox_webext_browser___firefox_webext_browser_82.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/@types/firefox-webext-browser/-/firefox-webext-browser-82.0.0.tgz";
-        sha1 = "4d0f5cfebd7321d2cbf0ccfb6032570f0138b958";
+        name = "_types_firefox_webext_browser___firefox_webext_browser_94.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/firefox-webext-browser/-/firefox-webext-browser-94.0.1.tgz";
+        sha512 = "I6iHRQJSTZ+gYt2IxdH2RRAMvcUyK8v5Ig7fHQR0IwUNYP7hz9+cziBVIKxLCO6XI7fiyRsNOWObfl3/4Js2Lg==";
       };
     }
     {
-      name = "_types_fs_extra___fs_extra_9.0.11.tgz";
+      name = "_types_fs_extra___fs_extra_9.0.13.tgz";
       path = fetchurl {
-        name = "_types_fs_extra___fs_extra_9.0.11.tgz";
-        url  = "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.11.tgz";
-        sha1 = "8cc99e103499eab9f347dbc6ca4e99fb8d2c2b87";
+        name = "_types_fs_extra___fs_extra_9.0.13.tgz";
+        url  = "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz";
+        sha512 = "nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==";
       };
     }
     {
-      name = "_types_glob___glob_7.1.3.tgz";
+      name = "_types_glob___glob_7.2.0.tgz";
       path = fetchurl {
-        name = "_types_glob___glob_7.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz";
-        sha1 = "e6ba80f36b7daad2c685acd9266382e68985c183";
+        name = "_types_glob___glob_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz";
+        sha512 = "ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==";
       };
     }
     {
@@ -702,23 +734,23 @@
       path = fetchurl {
         name = "_types_graceful_fs___graceful_fs_4.1.5.tgz";
         url  = "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz";
-        sha1 = "21ffba0d98da4350db64891f92a9e5db3cdb4e15";
+        sha512 = "anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==";
       };
     }
     {
-      name = "_types_har_format___har_format_1.2.6.tgz";
+      name = "_types_har_format___har_format_1.2.8.tgz";
       path = fetchurl {
-        name = "_types_har_format___har_format_1.2.6.tgz";
-        url  = "https://registry.yarnpkg.com/@types/har-format/-/har-format-1.2.6.tgz";
-        sha1 = "471c83acdf6a2ea429620daee4c6dc1784a0e85f";
+        name = "_types_har_format___har_format_1.2.8.tgz";
+        url  = "https://registry.yarnpkg.com/@types/har-format/-/har-format-1.2.8.tgz";
+        sha512 = "OP6L9VuZNdskgNN3zFQQ54ceYD8OLq5IbqO4VK91ORLfOm7WdT/CiT/pHEBSQEqCInJ2y3O6iCm/zGtPElpgJQ==";
       };
     }
     {
-      name = "_types_istanbul_lib_coverage___istanbul_lib_coverage_2.0.3.tgz";
+      name = "_types_istanbul_lib_coverage___istanbul_lib_coverage_2.0.4.tgz";
       path = fetchurl {
-        name = "_types_istanbul_lib_coverage___istanbul_lib_coverage_2.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz";
-        sha1 = "4ba8ddb720221f432e443bd5f9117fd22cfd4762";
+        name = "_types_istanbul_lib_coverage___istanbul_lib_coverage_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz";
+        sha512 = "z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==";
       };
     }
     {
@@ -726,7 +758,7 @@
       path = fetchurl {
         name = "_types_istanbul_lib_report___istanbul_lib_report_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz";
-        sha1 = "c14c24f18ea8190c118ee7562b7ff99a36552686";
+        sha512 = "plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==";
       };
     }
     {
@@ -734,31 +766,39 @@
       path = fetchurl {
         name = "_types_istanbul_reports___istanbul_reports_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz";
-        sha1 = "9153fe98bba2bd565a63add9436d6f0d7f8468ff";
+        sha512 = "c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==";
+      };
+    }
+    {
+      name = "_types_minimatch___minimatch_3.0.5.tgz";
+      path = fetchurl {
+        name = "_types_minimatch___minimatch_3.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz";
+        sha512 = "Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==";
       };
     }
     {
-      name = "_types_minimatch___minimatch_3.0.4.tgz";
+      name = "_types_ms___ms_0.7.31.tgz";
       path = fetchurl {
-        name = "_types_minimatch___minimatch_3.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.4.tgz";
-        sha1 = "f0ec25dbf2f0e4b18647313ac031134ca5b24b21";
+        name = "_types_ms___ms_0.7.31.tgz";
+        url  = "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz";
+        sha512 = "iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==";
       };
     }
     {
-      name = "_types_node___node_15.12.5.tgz";
+      name = "_types_node___node_17.0.22.tgz";
       path = fetchurl {
-        name = "_types_node___node_15.12.5.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-15.12.5.tgz";
-        sha1 = "9a78318a45d75c9523d2396131bd3cca54b2d185";
+        name = "_types_node___node_17.0.22.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-17.0.22.tgz";
+        sha512 = "8FwbVoG4fy+ykY86XCAclKZDORttqE5/s7dyWZKLXTdv3vRy5HozBEinG5IqhvPXXzIZEcTVbuHlQEI6iuwcmw==";
       };
     }
     {
-      name = "_types_node___node_14.17.4.tgz";
+      name = "_types_node___node_14.18.12.tgz";
       path = fetchurl {
-        name = "_types_node___node_14.17.4.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.17.4.tgz";
-        sha1 = "218712242446fc868d0e007af29a4408c7765bc0";
+        name = "_types_node___node_14.18.12.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.18.12.tgz";
+        sha512 = "q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==";
       };
     }
     {
@@ -766,47 +806,55 @@
       path = fetchurl {
         name = "_types_plist___plist_3.0.2.tgz";
         url  = "https://registry.yarnpkg.com/@types/plist/-/plist-3.0.2.tgz";
-        sha1 = "61b3727bba0f5c462fe333542534a0c3e19ccb01";
+        sha512 = "ULqvZNGMv0zRFvqn8/4LSPtnmN4MfhlPNtJCTpKuIIxGVGZ2rYWzFXrvEBoh9CVyqSE7D6YFRJ1hydLHI6kbWw==";
       };
     }
     {
-      name = "_types_prettier___prettier_2.3.0.tgz";
+      name = "_types_prettier___prettier_2.4.4.tgz";
       path = fetchurl {
-        name = "_types_prettier___prettier_2.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.3.0.tgz";
-        sha1 = "2e8332cc7363f887d32ec5496b207d26ba8052bb";
+        name = "_types_prettier___prettier_2.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.4.tgz";
+        sha512 = "ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA==";
       };
     }
     {
-      name = "_types_stack_utils___stack_utils_2.0.0.tgz";
+      name = "_types_stack_utils___stack_utils_2.0.1.tgz";
       path = fetchurl {
-        name = "_types_stack_utils___stack_utils_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz";
-        sha1 = "7036640b4e21cc2f259ae826ce843d277dad8cff";
+        name = "_types_stack_utils___stack_utils_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz";
+        sha512 = "Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==";
       };
     }
     {
-      name = "_types_verror___verror_1.10.4.tgz";
+      name = "_types_verror___verror_1.10.5.tgz";
       path = fetchurl {
-        name = "_types_verror___verror_1.10.4.tgz";
-        url  = "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.4.tgz";
-        sha1 = "805c0612b3a0c124cf99f517364142946b74ba3b";
+        name = "_types_verror___verror_1.10.5.tgz";
+        url  = "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.5.tgz";
+        sha512 = "9UjMCHK5GPgQRoNbqdLIAvAy0EInuiqbW0PBMtVP6B5B2HQJlvoJHM+KodPZMEjOa5VkSc+5LH7xy+cUzQdmHw==";
       };
     }
     {
-      name = "_types_yargs_parser___yargs_parser_20.2.0.tgz";
+      name = "_types_yargs_parser___yargs_parser_21.0.0.tgz";
       path = fetchurl {
-        name = "_types_yargs_parser___yargs_parser_20.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz";
-        sha1 = "dd3e6699ba3237f0348cd085e4698780204842f9";
+        name = "_types_yargs_parser___yargs_parser_21.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz";
+        sha512 = "iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==";
       };
     }
     {
-      name = "_types_yargs___yargs_16.0.3.tgz";
+      name = "_types_yargs___yargs_16.0.4.tgz";
       path = fetchurl {
-        name = "_types_yargs___yargs_16.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.3.tgz";
-        sha1 = "4b6d35bb8e680510a7dc2308518a80ee1ef27e01";
+        name = "_types_yargs___yargs_16.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz";
+        sha512 = "T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==";
+      };
+    }
+    {
+      name = "_types_yargs___yargs_17.0.10.tgz";
+      path = fetchurl {
+        name = "_types_yargs___yargs_17.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.10.tgz";
+        sha512 = "gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA==";
       };
     }
     {
@@ -814,7 +862,7 @@
       path = fetchurl {
         name = "abab___abab_2.0.5.tgz";
         url  = "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz";
-        sha1 = "c0b678fb32d60fc1219c784d6a826fe385aeb79a";
+        sha512 = "9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==";
       };
     }
     {
@@ -822,15 +870,15 @@
       path = fetchurl {
         name = "acorn_globals___acorn_globals_6.0.0.tgz";
         url  = "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz";
-        sha1 = "46cdd39f0f8ff08a876619b55f5ac8a6dc770b45";
+        sha512 = "ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==";
       };
     }
     {
-      name = "acorn_jsx___acorn_jsx_5.3.1.tgz";
+      name = "acorn_jsx___acorn_jsx_5.3.2.tgz";
       path = fetchurl {
-        name = "acorn_jsx___acorn_jsx_5.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz";
-        sha1 = "fc8661e11b7ac1539c47dbfea2e72b3af34d267b";
+        name = "acorn_jsx___acorn_jsx_5.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz";
+        sha512 = "rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==";
       };
     }
     {
@@ -838,7 +886,7 @@
       path = fetchurl {
         name = "acorn_walk___acorn_walk_7.2.0.tgz";
         url  = "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz";
-        sha1 = "0de889a601203909b0fbe07b8938dc21d2e967bc";
+        sha512 = "OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==";
       };
     }
     {
@@ -846,15 +894,15 @@
       path = fetchurl {
         name = "acorn___acorn_7.4.1.tgz";
         url  = "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz";
-        sha1 = "feaed255973d2e77555b83dbc08851a6c63520fa";
+        sha512 = "nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==";
       };
     }
     {
-      name = "acorn___acorn_8.4.1.tgz";
+      name = "acorn___acorn_8.7.0.tgz";
       path = fetchurl {
-        name = "acorn___acorn_8.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz";
-        sha1 = "56c36251fc7cabc7096adc18f05afe814321a28c";
+        name = "acorn___acorn_8.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz";
+        sha512 = "V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==";
       };
     }
     {
@@ -862,7 +910,7 @@
       path = fetchurl {
         name = "agent_base___agent_base_6.0.2.tgz";
         url  = "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz";
-        sha1 = "49fff58577cfee3f37176feab4c22e00f86d7f77";
+        sha512 = "RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==";
       };
     }
     {
@@ -870,7 +918,7 @@
       path = fetchurl {
         name = "ajv_keywords___ajv_keywords_3.5.2.tgz";
         url  = "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz";
-        sha1 = "31f29da5ab6e00d1c2d329acf7b5929614d5014d";
+        sha512 = "5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==";
       };
     }
     {
@@ -878,31 +926,15 @@
       path = fetchurl {
         name = "ajv___ajv_6.12.6.tgz";
         url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz";
-        sha1 = "baf5a62e802b07d977034586f8c3baf5adf26df4";
-      };
-    }
-    {
-      name = "ajv___ajv_8.6.0.tgz";
-      path = fetchurl {
-        name = "ajv___ajv_8.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/ajv/-/ajv-8.6.0.tgz";
-        sha1 = "60cc45d9c46a477d80d92c48076d972c342e5720";
-      };
-    }
-    {
-      name = "ansi_align___ansi_align_3.0.0.tgz";
-      path = fetchurl {
-        name = "ansi_align___ansi_align_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz";
-        sha1 = "b536b371cf687caaef236c18d3e21fe3797467cb";
+        sha512 = "j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==";
       };
     }
     {
-      name = "ansi_colors___ansi_colors_4.1.1.tgz";
+      name = "ansi_align___ansi_align_3.0.1.tgz";
       path = fetchurl {
-        name = "ansi_colors___ansi_colors_4.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz";
-        sha1 = "cbb9ae256bf750af1eab344f229aa27fe94ba348";
+        name = "ansi_align___ansi_align_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz";
+        sha512 = "IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==";
       };
     }
     {
@@ -910,31 +942,15 @@
       path = fetchurl {
         name = "ansi_escapes___ansi_escapes_4.3.2.tgz";
         url  = "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz";
-        sha1 = "6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e";
+        sha512 = "gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==";
       };
     }
     {
-      name = "ansi_regex___ansi_regex_3.0.0.tgz";
+      name = "ansi_regex___ansi_regex_5.0.1.tgz";
       path = fetchurl {
-        name = "ansi_regex___ansi_regex_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz";
-        sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
-      };
-    }
-    {
-      name = "ansi_regex___ansi_regex_4.1.0.tgz";
-      path = fetchurl {
-        name = "ansi_regex___ansi_regex_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz";
-        sha1 = "8b9f8f08cf1acb843756a839ca8c7e3168c51997";
-      };
-    }
-    {
-      name = "ansi_regex___ansi_regex_5.0.0.tgz";
-      path = fetchurl {
-        name = "ansi_regex___ansi_regex_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz";
-        sha1 = "388539f55179bf39339c81af30a654d69f87cb75";
+        name = "ansi_regex___ansi_regex_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz";
+        sha512 = "quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==";
       };
     }
     {
@@ -942,7 +958,7 @@
       path = fetchurl {
         name = "ansi_styles___ansi_styles_3.2.1.tgz";
         url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz";
-        sha1 = "41fbb20243e50b12be0f04b8dedbf07520ce841d";
+        sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
       };
     }
     {
@@ -950,7 +966,7 @@
       path = fetchurl {
         name = "ansi_styles___ansi_styles_4.3.0.tgz";
         url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz";
-        sha1 = "edd803628ae71c04c85ae7a0906edad34b648937";
+        sha512 = "zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==";
       };
     }
     {
@@ -958,7 +974,7 @@
       path = fetchurl {
         name = "ansi_styles___ansi_styles_5.2.0.tgz";
         url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz";
-        sha1 = "07449690ad45777d1924ac2abb2fc8895dba836b";
+        sha512 = "Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==";
       };
     }
     {
@@ -966,39 +982,23 @@
       path = fetchurl {
         name = "anymatch___anymatch_3.1.2.tgz";
         url  = "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz";
-        sha1 = "c0557c096af32f106198f4f4e2a383537e378716";
+        sha512 = "P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==";
       };
     }
     {
-      name = "app_builder_bin___app_builder_bin_3.5.13.tgz";
+      name = "app_builder_bin___app_builder_bin_3.7.1.tgz";
       path = fetchurl {
-        name = "app_builder_bin___app_builder_bin_3.5.13.tgz";
-        url  = "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.13.tgz";
-        sha1 = "6dd7f4de34a4e408806f99b8c7d6ef1601305b7e";
+        name = "app_builder_bin___app_builder_bin_3.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.7.1.tgz";
+        sha512 = "ql93vEUq6WsstGXD+SBLSIQw6SNnhbDEM0swzgugytMxLp3rT24Ag/jcC80ZHxiPRTdew1niuR7P3/FCrDqIjw==";
       };
     }
     {
-      name = "app_builder_lib___app_builder_lib_22.11.7.tgz";
+      name = "app_builder_lib___app_builder_lib_22.14.13.tgz";
       path = fetchurl {
-        name = "app_builder_lib___app_builder_lib_22.11.7.tgz";
-        url  = "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.11.7.tgz";
-        sha1 = "c0ad1119ebfbf4189a8280ad693625f5e684dca6";
-      };
-    }
-    {
-      name = "archiver_utils___archiver_utils_2.1.0.tgz";
-      path = fetchurl {
-        name = "archiver_utils___archiver_utils_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-2.1.0.tgz";
-        sha1 = "e8a460e94b693c3e3da182a098ca6285ba9249e2";
-      };
-    }
-    {
-      name = "archiver___archiver_5.3.0.tgz";
-      path = fetchurl {
-        name = "archiver___archiver_5.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/archiver/-/archiver-5.3.0.tgz";
-        sha1 = "dd3e097624481741df626267564f7dd8640a45ba";
+        name = "app_builder_lib___app_builder_lib_22.14.13.tgz";
+        url  = "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.14.13.tgz";
+        sha512 = "SufmrtxU+D0Tn948fjEwAOlCN9757UXLkzzTWXMwZKR/5hisvgqeeBepWfphMIE6OkDGz0fbzEhL1P2Pty4XMg==";
       };
     }
     {
@@ -1006,7 +1006,7 @@
       path = fetchurl {
         name = "argparse___argparse_1.0.10.tgz";
         url  = "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz";
-        sha1 = "bcd6791ea5ae09725e17e5ad988134cd40b3d911";
+        sha512 = "o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==";
       };
     }
     {
@@ -1014,15 +1014,15 @@
       path = fetchurl {
         name = "argparse___argparse_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz";
-        sha1 = "246f50f3ca78a3240f6c997e8a9bd1eac49e4b38";
+        sha512 = "8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==";
       };
     }
     {
-      name = "asar___asar_3.0.3.tgz";
+      name = "asar___asar_3.1.0.tgz";
       path = fetchurl {
-        name = "asar___asar_3.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/asar/-/asar-3.0.3.tgz";
-        sha1 = "1fef03c2d6d2de0cbad138788e4f7ae03b129c7b";
+        name = "asar___asar_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/asar/-/asar-3.1.0.tgz";
+        sha512 = "vyxPxP5arcAqN4F/ebHd/HhwnAiZtwhglvdmc7BR2f0ywbVNTOpSeyhLDbGXtE/y58hv1oC75TaNIXutnsOZsQ==";
       };
     }
     {
@@ -1030,15 +1030,7 @@
       path = fetchurl {
         name = "assert_plus___assert_plus_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz";
-        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
-      };
-    }
-    {
-      name = "ast_metadata_inferer___ast_metadata_inferer_0.4.0.tgz";
-      path = fetchurl {
-        name = "ast_metadata_inferer___ast_metadata_inferer_0.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/ast-metadata-inferer/-/ast-metadata-inferer-0.4.0.tgz";
-        sha1 = "6be85ceeffcf267bd79db8e1ae731da44880b45f";
+        sha1 = "8S4PPF13sLHN2RRpQuTpbB5N1SU=";
       };
     }
     {
@@ -1046,7 +1038,7 @@
       path = fetchurl {
         name = "astral_regex___astral_regex_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz";
-        sha1 = "483143c567aeed4785759c0865786dc77d7d2e31";
+        sha512 = "Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==";
       };
     }
     {
@@ -1054,7 +1046,7 @@
       path = fetchurl {
         name = "async_exit_hook___async_exit_hook_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/async-exit-hook/-/async-exit-hook-2.0.1.tgz";
-        sha1 = "8bd8b024b0ec9b1c01cccb9af9db29bd717dfaf3";
+        sha512 = "NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==";
       };
     }
     {
@@ -1062,15 +1054,7 @@
       path = fetchurl {
         name = "async___async_0.9.2.tgz";
         url  = "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz";
-        sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d";
-      };
-    }
-    {
-      name = "async___async_3.2.0.tgz";
-      path = fetchurl {
-        name = "async___async_3.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz";
-        sha1 = "b3a2685c5ebb641d3de02d161002c60fc9f85720";
+        sha1 = "rqdNXmHB+JlhO/ZL2mbUx48v0X0=";
       };
     }
     {
@@ -1078,7 +1062,7 @@
       path = fetchurl {
         name = "asynckit___asynckit_0.4.0.tgz";
         url  = "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz";
-        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+        sha1 = "x57Zf380y48robyXkLzDZkdLS3k=";
       };
     }
     {
@@ -1086,31 +1070,31 @@
       path = fetchurl {
         name = "at_least_node___at_least_node_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz";
-        sha1 = "602cd4b46e844ad4effc92a8011a3c46e0238dc2";
+        sha512 = "+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==";
       };
     }
     {
-      name = "babel_jest___babel_jest_27.0.6.tgz";
+      name = "babel_jest___babel_jest_27.5.1.tgz";
       path = fetchurl {
-        name = "babel_jest___babel_jest_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.0.6.tgz";
-        sha1 = "e99c6e0577da2655118e3608b68761a5a69bd0d8";
+        name = "babel_jest___babel_jest_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz";
+        sha512 = "cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==";
       };
     }
     {
-      name = "babel_plugin_istanbul___babel_plugin_istanbul_6.0.0.tgz";
+      name = "babel_plugin_istanbul___babel_plugin_istanbul_6.1.1.tgz";
       path = fetchurl {
-        name = "babel_plugin_istanbul___babel_plugin_istanbul_6.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz";
-        sha1 = "e159ccdc9af95e0b570c75b4573b7c34d671d765";
+        name = "babel_plugin_istanbul___babel_plugin_istanbul_6.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz";
+        sha512 = "Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==";
       };
     }
     {
-      name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_27.0.6.tgz";
+      name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_27.5.1.tgz";
       path = fetchurl {
-        name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.6.tgz";
-        sha1 = "f7c6b3d764af21cb4a2a1ab6870117dbde15b456";
+        name = "babel_plugin_jest_hoist___babel_plugin_jest_hoist_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz";
+        sha512 = "50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==";
       };
     }
     {
@@ -1118,15 +1102,15 @@
       path = fetchurl {
         name = "babel_preset_current_node_syntax___babel_preset_current_node_syntax_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz";
-        sha1 = "b4399239b89b2a011f9ddbe3e4f401fc40cff73b";
+        sha512 = "M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==";
       };
     }
     {
-      name = "babel_preset_jest___babel_preset_jest_27.0.6.tgz";
+      name = "babel_preset_jest___babel_preset_jest_27.5.1.tgz";
       path = fetchurl {
-        name = "babel_preset_jest___babel_preset_jest_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.0.6.tgz";
-        sha1 = "909ef08e9f24a4679768be2f60a3df0856843f9d";
+        name = "babel_preset_jest___babel_preset_jest_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz";
+        sha512 = "Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==";
       };
     }
     {
@@ -1134,7 +1118,7 @@
       path = fetchurl {
         name = "balanced_match___balanced_match_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz";
-        sha1 = "e83e3a7e3f300b34cb9d87f615fa0cbf357690ee";
+        sha512 = "3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==";
       };
     }
     {
@@ -1142,15 +1126,7 @@
       path = fetchurl {
         name = "base64_js___base64_js_1.5.1.tgz";
         url  = "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz";
-        sha1 = "1b1b440160a5bf7ad40b650f095963481903930a";
-      };
-    }
-    {
-      name = "bl___bl_4.1.0.tgz";
-      path = fetchurl {
-        name = "bl___bl_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz";
-        sha1 = "451535264182bec2fbbc83a62ab98cf11d9f7b3a";
+        sha512 = "AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==";
       };
     }
     {
@@ -1158,7 +1134,7 @@
       path = fetchurl {
         name = "bluebird_lst___bluebird_lst_1.0.9.tgz";
         url  = "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.9.tgz";
-        sha1 = "a64a0e4365658b9ab5fe875eb9dfb694189bb41c";
+        sha512 = "7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==";
       };
     }
     {
@@ -1166,23 +1142,23 @@
       path = fetchurl {
         name = "bluebird___bluebird_3.7.2.tgz";
         url  = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz";
-        sha1 = "9f229c15be272454ffa973ace0dbee79a1b0c36f";
+        sha512 = "XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==";
       };
     }
     {
-      name = "boolean___boolean_3.1.2.tgz";
+      name = "boolean___boolean_3.2.0.tgz";
       path = fetchurl {
-        name = "boolean___boolean_3.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/boolean/-/boolean-3.1.2.tgz";
-        sha1 = "e30f210a26b02458482a8cc353ab06f262a780c2";
+        name = "boolean___boolean_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/boolean/-/boolean-3.2.0.tgz";
+        sha512 = "d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==";
       };
     }
     {
-      name = "boxen___boxen_5.0.1.tgz";
+      name = "boxen___boxen_5.1.2.tgz";
       path = fetchurl {
-        name = "boxen___boxen_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/boxen/-/boxen-5.0.1.tgz";
-        sha1 = "657528bdd3f59a772b8279b831f27ec2c744664b";
+        name = "boxen___boxen_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz";
+        sha512 = "9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==";
       };
     }
     {
@@ -1190,7 +1166,7 @@
       path = fetchurl {
         name = "brace_expansion___brace_expansion_1.1.11.tgz";
         url  = "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz";
-        sha1 = "3c7fcbf529d87226f3d2f52b966ff5271eb441dd";
+        sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==";
       };
     }
     {
@@ -1198,7 +1174,7 @@
       path = fetchurl {
         name = "braces___braces_3.0.2.tgz";
         url  = "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz";
-        sha1 = "3454e1a462ee8d599e236df336cd9ea4f8afe107";
+        sha512 = "b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==";
       };
     }
     {
@@ -1206,15 +1182,15 @@
       path = fetchurl {
         name = "browser_process_hrtime___browser_process_hrtime_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz";
-        sha1 = "3c9b4b7d782c8121e56f10106d84c0d0ffc94626";
+        sha512 = "9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==";
       };
     }
     {
-      name = "browserslist___browserslist_4.16.6.tgz";
+      name = "browserslist___browserslist_4.20.2.tgz";
       path = fetchurl {
-        name = "browserslist___browserslist_4.16.6.tgz";
-        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz";
-        sha1 = "d7901277a5a88e554ed305b183ec9b0c08f66fa2";
+        name = "browserslist___browserslist_4.20.2.tgz";
+        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz";
+        sha512 = "CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==";
       };
     }
     {
@@ -1222,7 +1198,23 @@
       path = fetchurl {
         name = "bser___bser_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz";
-        sha1 = "e6787da20ece9d07998533cfd9de6f5c38f4bc05";
+        sha512 = "gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==";
+      };
+    }
+    {
+      name = "buffer_alloc_unsafe___buffer_alloc_unsafe_1.1.0.tgz";
+      path = fetchurl {
+        name = "buffer_alloc_unsafe___buffer_alloc_unsafe_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz";
+        sha512 = "TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==";
+      };
+    }
+    {
+      name = "buffer_alloc___buffer_alloc_1.2.0.tgz";
+      path = fetchurl {
+        name = "buffer_alloc___buffer_alloc_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz";
+        sha512 = "CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==";
       };
     }
     {
@@ -1230,7 +1222,7 @@
       path = fetchurl {
         name = "buffer_crc32___buffer_crc32_0.2.13.tgz";
         url  = "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz";
-        sha1 = "0d333e3f00eac50aa1454abd30ef8c2a5d9a7242";
+        sha1 = "DTM+PwDqxQqhRUq9MO+MKl2ackI=";
       };
     }
     {
@@ -1238,47 +1230,47 @@
       path = fetchurl {
         name = "buffer_equal___buffer_equal_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz";
-        sha1 = "59616b498304d556abd466966b22eeda3eca5fbe";
+        sha1 = "WWFrSYME1Var1GaWayLu2j7KX74=";
       };
     }
     {
-      name = "buffer_from___buffer_from_1.1.1.tgz";
+      name = "buffer_fill___buffer_fill_1.0.0.tgz";
       path = fetchurl {
-        name = "buffer_from___buffer_from_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz";
-        sha1 = "32713bc028f75c02fdb710d7c7bcec1f2c6070ef";
+        name = "buffer_fill___buffer_fill_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz";
+        sha1 = "+PeLdniYiO858gXNY39o5wISKyw=";
       };
     }
     {
-      name = "buffer___buffer_5.7.1.tgz";
+      name = "buffer_from___buffer_from_1.1.2.tgz";
       path = fetchurl {
-        name = "buffer___buffer_5.7.1.tgz";
-        url  = "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz";
-        sha1 = "ba62e7c13133053582197160851a8f648e99eed0";
+        name = "buffer_from___buffer_from_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz";
+        sha512 = "E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==";
       };
     }
     {
-      name = "builder_util_runtime___builder_util_runtime_8.7.6.tgz";
+      name = "buffer___buffer_5.7.1.tgz";
       path = fetchurl {
-        name = "builder_util_runtime___builder_util_runtime_8.7.6.tgz";
-        url  = "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.6.tgz";
-        sha1 = "4b43c96db2bd494ced7694bcd7674934655e8324";
+        name = "buffer___buffer_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz";
+        sha512 = "EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==";
       };
     }
     {
-      name = "builder_util_runtime___builder_util_runtime_8.7.7.tgz";
+      name = "builder_util_runtime___builder_util_runtime_8.9.2.tgz";
       path = fetchurl {
-        name = "builder_util_runtime___builder_util_runtime_8.7.7.tgz";
-        url  = "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.7.tgz";
-        sha1 = "6c83cc3abe7a7a5c8b4ec8878f68adc828c07f0d";
+        name = "builder_util_runtime___builder_util_runtime_8.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.9.2.tgz";
+        sha512 = "rhuKm5vh7E0aAmT6i8aoSfEjxzdYEFX7zDApK+eNgOhjofnWb74d9SRJv0H/8nsgOkos0TZ4zxW0P8J4N7xQ2A==";
       };
     }
     {
-      name = "builder_util___builder_util_22.11.7.tgz";
+      name = "builder_util___builder_util_22.14.13.tgz";
       path = fetchurl {
-        name = "builder_util___builder_util_22.11.7.tgz";
-        url  = "https://registry.yarnpkg.com/builder-util/-/builder-util-22.11.7.tgz";
-        sha1 = "ae9707afa6a31feafa13c274ac83b4fe28ef1467";
+        name = "builder_util___builder_util_22.14.13.tgz";
+        url  = "https://registry.yarnpkg.com/builder-util/-/builder-util-22.14.13.tgz";
+        sha512 = "oePC/qrrUuerhmH5iaCJzPRAKlSBylrhzuAJmRQClTyWnZUv6jbaHh+VoHMbEiE661wrj2S2aV7/bQh12cj1OA==";
       };
     }
     {
@@ -1286,7 +1278,7 @@
       path = fetchurl {
         name = "cacheable_request___cacheable_request_6.1.0.tgz";
         url  = "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz";
-        sha1 = "20ffb8bd162ba4be11e9567d823db651052ca912";
+        sha512 = "Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==";
       };
     }
     {
@@ -1294,7 +1286,7 @@
       path = fetchurl {
         name = "callsites___callsites_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz";
-        sha1 = "b3630abd8943432f54b3f0519238e33cd7df2f73";
+        sha512 = "P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==";
       };
     }
     {
@@ -1302,23 +1294,23 @@
       path = fetchurl {
         name = "camelcase___camelcase_5.3.1.tgz";
         url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz";
-        sha1 = "e3c9b31569e106811df242f715725a1f4c494320";
+        sha512 = "L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==";
       };
     }
     {
-      name = "camelcase___camelcase_6.2.0.tgz";
+      name = "camelcase___camelcase_6.3.0.tgz";
       path = fetchurl {
-        name = "camelcase___camelcase_6.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz";
-        sha1 = "924af881c9d525ac9d87f40d964e5cea982a1809";
+        name = "camelcase___camelcase_6.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz";
+        sha512 = "Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==";
       };
     }
     {
-      name = "caniuse_lite___caniuse_lite_1.0.30001241.tgz";
+      name = "caniuse_lite___caniuse_lite_1.0.30001319.tgz";
       path = fetchurl {
-        name = "caniuse_lite___caniuse_lite_1.0.30001241.tgz";
-        url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001241.tgz";
-        sha1 = "cd3fae47eb3d7691692b406568d7a3e5b23c7598";
+        name = "caniuse_lite___caniuse_lite_1.0.30001319.tgz";
+        url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001319.tgz";
+        sha512 = "xjlIAFHucBRSMUo1kb5D4LYgcN1M45qdKP++lhqowDpwJwGkpIRTt5qQqnhxjj1vHcI7nrJxWhCC1ATrCEBTcw==";
       };
     }
     {
@@ -1326,15 +1318,15 @@
       path = fetchurl {
         name = "chalk___chalk_2.4.2.tgz";
         url  = "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz";
-        sha1 = "cd42541677a54333cf541a49108c1432b44c9424";
+        sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
       };
     }
     {
-      name = "chalk___chalk_4.1.1.tgz";
+      name = "chalk___chalk_4.1.2.tgz";
       path = fetchurl {
-        name = "chalk___chalk_4.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz";
-        sha1 = "c80b3fab28bf6371e6863325eee67e618b77e6ad";
+        name = "chalk___chalk_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz";
+        sha512 = "oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==";
       };
     }
     {
@@ -1342,7 +1334,7 @@
       path = fetchurl {
         name = "char_regex___char_regex_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz";
-        sha1 = "d744358226217f981ed58f479b1d6bcc29545dcf";
+        sha512 = "kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==";
       };
     }
     {
@@ -1350,7 +1342,7 @@
       path = fetchurl {
         name = "chromium_pickle_js___chromium_pickle_js_0.2.0.tgz";
         url  = "https://registry.yarnpkg.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz";
-        sha1 = "04a106672c18b085ab774d983dfa3ea138f22205";
+        sha1 = "BKEGZywYsIWrd02YPfo+oTjyIgU=";
       };
     }
     {
@@ -1358,23 +1350,23 @@
       path = fetchurl {
         name = "ci_info___ci_info_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz";
-        sha1 = "67a9e964be31a51e15e5010d58e6f12834002f46";
+        sha512 = "5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==";
       };
     }
     {
-      name = "ci_info___ci_info_3.2.0.tgz";
+      name = "ci_info___ci_info_3.3.0.tgz";
       path = fetchurl {
-        name = "ci_info___ci_info_3.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz";
-        sha1 = "2876cb948a498797b5236f0095bc057d0dca38b6";
+        name = "ci_info___ci_info_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.0.tgz";
+        sha512 = "riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==";
       };
     }
     {
-      name = "cjs_module_lexer___cjs_module_lexer_1.2.1.tgz";
+      name = "cjs_module_lexer___cjs_module_lexer_1.2.2.tgz";
       path = fetchurl {
-        name = "cjs_module_lexer___cjs_module_lexer_1.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.1.tgz";
-        sha1 = "2fd46d9906a126965aa541345c499aaa18e8cd73";
+        name = "cjs_module_lexer___cjs_module_lexer_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz";
+        sha512 = "cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==";
       };
     }
     {
@@ -1382,15 +1374,15 @@
       path = fetchurl {
         name = "cli_boxes___cli_boxes_2.2.1.tgz";
         url  = "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz";
-        sha1 = "ddd5035d25094fce220e9cab40a45840a440318f";
+        sha512 = "y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==";
       };
     }
     {
-      name = "cli_truncate___cli_truncate_1.1.0.tgz";
+      name = "cli_truncate___cli_truncate_2.1.0.tgz";
       path = fetchurl {
-        name = "cli_truncate___cli_truncate_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-1.1.0.tgz";
-        sha1 = "2b2dfd83c53cfd3572b87fc4d430a808afb04086";
+        name = "cli_truncate___cli_truncate_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz";
+        sha512 = "n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==";
       };
     }
     {
@@ -1398,7 +1390,7 @@
       path = fetchurl {
         name = "cliui___cliui_7.0.4.tgz";
         url  = "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz";
-        sha1 = "a0265ee655476fc807aea9df3df8df7783808b4f";
+        sha512 = "OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==";
       };
     }
     {
@@ -1406,7 +1398,7 @@
       path = fetchurl {
         name = "clone_response___clone_response_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz";
-        sha1 = "d1dc973920314df67fbeb94223b4ee350239e96b";
+        sha1 = "0dyXOSAxTfZ/vrlCI7TuNQI56Ws=";
       };
     }
     {
@@ -1414,7 +1406,7 @@
       path = fetchurl {
         name = "co___co_4.6.0.tgz";
         url  = "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz";
-        sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
+        sha1 = "bqa989hTrlTMuOR7+gvz+QMfsYQ=";
       };
     }
     {
@@ -1422,7 +1414,7 @@
       path = fetchurl {
         name = "collect_v8_coverage___collect_v8_coverage_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz";
-        sha1 = "cc2c8e94fc18bbdffe64d6534570c8a673b27f59";
+        sha512 = "iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==";
       };
     }
     {
@@ -1430,7 +1422,7 @@
       path = fetchurl {
         name = "color_convert___color_convert_1.9.3.tgz";
         url  = "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz";
-        sha1 = "bb71850690e1f136567de629d2d5471deda4c1e8";
+        sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==";
       };
     }
     {
@@ -1438,7 +1430,7 @@
       path = fetchurl {
         name = "color_convert___color_convert_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz";
-        sha1 = "72d3a68d598c9bdb3af2ad1e84f21d896abd4de3";
+        sha512 = "RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==";
       };
     }
     {
@@ -1446,7 +1438,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 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
+        sha1 = "p9BVi9icQveV3UIyj3QIMcpTvCU=";
       };
     }
     {
@@ -1454,15 +1446,7 @@
       path = fetchurl {
         name = "color_name___color_name_1.1.4.tgz";
         url  = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz";
-        sha1 = "c2a09a87acbde69543de6f63fa3995c826c536a2";
-      };
-    }
-    {
-      name = "colorette___colorette_1.2.2.tgz";
-      path = fetchurl {
-        name = "colorette___colorette_1.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz";
-        sha1 = "cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94";
+        sha512 = "dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==";
       };
     }
     {
@@ -1470,7 +1454,7 @@
       path = fetchurl {
         name = "colors___colors_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz";
-        sha1 = "0433f44d809680fdeb60ed260f1b0c262e82a40b";
+        sha1 = "BDP0TYCWgP3rYO0mDxsMJi6CpAs=";
       };
     }
     {
@@ -1478,7 +1462,7 @@
       path = fetchurl {
         name = "combined_stream___combined_stream_1.0.8.tgz";
         url  = "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz";
-        sha1 = "c3d45a8b34fd730631a110a8a2520682b31d5a7f";
+        sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
       };
     }
     {
@@ -1486,7 +1470,7 @@
       path = fetchurl {
         name = "commander___commander_2.9.0.tgz";
         url  = "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz";
-        sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
+        sha1 = "nJkJQXbhIkDLItbFFGCYQA/g99Q=";
       };
     }
     {
@@ -1494,15 +1478,15 @@
       path = fetchurl {
         name = "commander___commander_5.1.0.tgz";
         url  = "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz";
-        sha1 = "46abbd1652f8e059bddaef99bbdcb2ad9cf179ae";
+        sha512 = "P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==";
       };
     }
     {
-      name = "compress_commons___compress_commons_4.1.1.tgz";
+      name = "compare_version___compare_version_0.1.2.tgz";
       path = fetchurl {
-        name = "compress_commons___compress_commons_4.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/compress-commons/-/compress-commons-4.1.1.tgz";
-        sha1 = "df2a09a7ed17447642bad10a85cc9a19e5c42a7d";
+        name = "compare_version___compare_version_0.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/compare-version/-/compare-version-0.1.2.tgz";
+        sha1 = "AWLsLZNR9d3VmpICy6k1NmpyUIA=";
       };
     }
     {
@@ -1510,7 +1494,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 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+        sha1 = "2Klr13/Wjfd5OnMDajug1UBdR3s=";
       };
     }
     {
@@ -1518,7 +1502,7 @@
       path = fetchurl {
         name = "concat_stream___concat_stream_1.6.2.tgz";
         url  = "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz";
-        sha1 = "904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34";
+        sha512 = "27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==";
       };
     }
     {
@@ -1526,7 +1510,7 @@
       path = fetchurl {
         name = "config_chain___config_chain_1.1.13.tgz";
         url  = "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz";
-        sha1 = "fad0795aa6a6cdaff9ed1b68e9dff94372c232f4";
+        sha512 = "qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==";
       };
     }
     {
@@ -1534,7 +1518,7 @@
       path = fetchurl {
         name = "configstore___configstore_5.0.1.tgz";
         url  = "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz";
-        sha1 = "d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96";
+        sha512 = "aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==";
       };
     }
     {
@@ -1542,15 +1526,7 @@
       path = fetchurl {
         name = "convert_source_map___convert_source_map_1.8.0.tgz";
         url  = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz";
-        sha1 = "f3373c32d21b4d780dd8004514684fb791ca4369";
-      };
-    }
-    {
-      name = "core_js___core_js_3.15.2.tgz";
-      path = fetchurl {
-        name = "core_js___core_js_3.15.2.tgz";
-        url  = "https://registry.yarnpkg.com/core-js/-/core-js-3.15.2.tgz";
-        sha1 = "740660d2ff55ef34ce664d7e2455119c5bdd3d61";
+        sha512 = "+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==";
       };
     }
     {
@@ -1558,23 +1534,15 @@
       path = fetchurl {
         name = "core_util_is___core_util_is_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz";
-        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+        sha1 = "tf1UIgqivFq1eqtxQMlAdUUDwac=";
       };
     }
     {
-      name = "crc_32___crc_32_1.2.0.tgz";
+      name = "core_util_is___core_util_is_1.0.3.tgz";
       path = fetchurl {
-        name = "crc_32___crc_32_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.0.tgz";
-        sha1 = "cb2db6e29b88508e32d9dd0ec1693e7b41a18208";
-      };
-    }
-    {
-      name = "crc32_stream___crc32_stream_4.0.2.tgz";
-      path = fetchurl {
-        name = "crc32_stream___crc32_stream_4.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-4.0.2.tgz";
-        sha1 = "c922ad22b38395abe9d3870f02fa8134ed709007";
+        name = "core_util_is___core_util_is_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz";
+        sha512 = "ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==";
       };
     }
     {
@@ -1582,7 +1550,7 @@
       path = fetchurl {
         name = "crc___crc_3.8.0.tgz";
         url  = "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz";
-        sha1 = "ad60269c2c856f8c299e2c4cc0de4556914056c6";
+        sha512 = "iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==";
       };
     }
     {
@@ -1590,7 +1558,7 @@
       path = fetchurl {
         name = "cross_spawn___cross_spawn_7.0.3.tgz";
         url  = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz";
-        sha1 = "f73a85b9d5d41d045551c177e2882d4ac85728a6";
+        sha512 = "iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==";
       };
     }
     {
@@ -1598,7 +1566,7 @@
       path = fetchurl {
         name = "crypto_random_string___crypto_random_string_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz";
-        sha1 = "ef2a7a966ec11083388369baa02ebead229b30d5";
+        sha512 = "v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==";
       };
     }
     {
@@ -1606,7 +1574,7 @@
       path = fetchurl {
         name = "cssom___cssom_0.4.4.tgz";
         url  = "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz";
-        sha1 = "5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10";
+        sha512 = "p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==";
       };
     }
     {
@@ -1614,7 +1582,7 @@
       path = fetchurl {
         name = "cssom___cssom_0.3.8.tgz";
         url  = "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz";
-        sha1 = "9f1276f5b2b463f2114d3f2c75250af8c1a36f4a";
+        sha512 = "b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==";
       };
     }
     {
@@ -1622,7 +1590,7 @@
       path = fetchurl {
         name = "cssstyle___cssstyle_2.3.0.tgz";
         url  = "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz";
-        sha1 = "ff665a0ddbdc31864b09647f34163443d90b0852";
+        sha512 = "AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==";
       };
     }
     {
@@ -1630,15 +1598,15 @@
       path = fetchurl {
         name = "data_urls___data_urls_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz";
-        sha1 = "156485a72963a970f5d5821aaf642bef2bf2db9b";
+        sha512 = "X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==";
       };
     }
     {
-      name = "debug___debug_4.3.1.tgz";
+      name = "debug___debug_4.3.4.tgz";
       path = fetchurl {
-        name = "debug___debug_4.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz";
-        sha1 = "f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee";
+        name = "debug___debug_4.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz";
+        sha512 = "PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==";
       };
     }
     {
@@ -1646,15 +1614,7 @@
       path = fetchurl {
         name = "debug___debug_2.6.9.tgz";
         url  = "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz";
-        sha1 = "5d128515df134ff327e90a4c93f4e077a536341f";
-      };
-    }
-    {
-      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";
-        sha1 = "f0a49c18ac8779e31d4a0c6029dfb76873c7428b";
+        sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==";
       };
     }
     {
@@ -1662,7 +1622,7 @@
       path = fetchurl {
         name = "decimal.js___decimal.js_10.3.1.tgz";
         url  = "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz";
-        sha1 = "d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783";
+        sha512 = "V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==";
       };
     }
     {
@@ -1670,7 +1630,7 @@
       path = fetchurl {
         name = "decompress_response___decompress_response_3.3.0.tgz";
         url  = "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz";
-        sha1 = "80a4dd323748384bfa248083622aedec982adff3";
+        sha1 = "gKTdMjdIOEv6JICDYirt7Jgq3/M=";
       };
     }
     {
@@ -1678,7 +1638,7 @@
       path = fetchurl {
         name = "dedent___dedent_0.7.0.tgz";
         url  = "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz";
-        sha1 = "2495ddbaf6eb874abb0e1be9df22d2e5a544326c";
+        sha1 = "JJXduvbrh0q7Dhvp3yLS5aVEMmw=";
       };
     }
     {
@@ -1686,15 +1646,15 @@
       path = fetchurl {
         name = "deep_extend___deep_extend_0.6.0.tgz";
         url  = "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz";
-        sha1 = "c4fa7c95404a17a9c3e8ca7e1537312b736330ac";
+        sha512 = "LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==";
       };
     }
     {
-      name = "deep_is___deep_is_0.1.3.tgz";
+      name = "deep_is___deep_is_0.1.4.tgz";
       path = fetchurl {
-        name = "deep_is___deep_is_0.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz";
-        sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
+        name = "deep_is___deep_is_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz";
+        sha512 = "oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==";
       };
     }
     {
@@ -1702,7 +1662,7 @@
       path = fetchurl {
         name = "deepmerge___deepmerge_4.2.2.tgz";
         url  = "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz";
-        sha1 = "44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955";
+        sha512 = "FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==";
       };
     }
     {
@@ -1710,7 +1670,7 @@
       path = fetchurl {
         name = "defer_to_connect___defer_to_connect_1.1.3.tgz";
         url  = "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz";
-        sha1 = "331ae050c08dcf789f8c83a7b81f0ed94f4ac591";
+        sha512 = "0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==";
       };
     }
     {
@@ -1718,7 +1678,7 @@
       path = fetchurl {
         name = "define_properties___define_properties_1.1.3.tgz";
         url  = "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz";
-        sha1 = "cf88da6cbee26fe6db7094f61d870cbd84cee9f1";
+        sha512 = "3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==";
       };
     }
     {
@@ -1726,7 +1686,7 @@
       path = fetchurl {
         name = "delayed_stream___delayed_stream_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz";
-        sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
+        sha1 = "3zrhmayt+31ECqrgsp4icrJOxhk=";
       };
     }
     {
@@ -1734,7 +1694,7 @@
       path = fetchurl {
         name = "detect_newline___detect_newline_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz";
-        sha1 = "576f5dfc63ae1a192ff192d8ad3af6308991b651";
+        sha512 = "TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==";
       };
     }
     {
@@ -1742,15 +1702,15 @@
       path = fetchurl {
         name = "detect_node___detect_node_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz";
-        sha1 = "c9c70775a49c3d03bc2c06d9a73be550f978f8b1";
+        sha512 = "T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==";
       };
     }
     {
-      name = "diff_sequences___diff_sequences_27.0.6.tgz";
+      name = "diff_sequences___diff_sequences_27.5.1.tgz";
       path = fetchurl {
-        name = "diff_sequences___diff_sequences_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz";
-        sha1 = "3305cb2e55a033924054695cc66019fd7f8e5723";
+        name = "diff_sequences___diff_sequences_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz";
+        sha512 = "k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==";
       };
     }
     {
@@ -1758,23 +1718,23 @@
       path = fetchurl {
         name = "dir_compare___dir_compare_2.4.0.tgz";
         url  = "https://registry.yarnpkg.com/dir-compare/-/dir-compare-2.4.0.tgz";
-        sha1 = "785c41dc5f645b34343a4eafc50b79bac7f11631";
+        sha512 = "l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA==";
       };
     }
     {
-      name = "dmg_builder___dmg_builder_22.11.7.tgz";
+      name = "dmg_builder___dmg_builder_22.14.13.tgz";
       path = fetchurl {
-        name = "dmg_builder___dmg_builder_22.11.7.tgz";
-        url  = "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.11.7.tgz";
-        sha1 = "5956008c18d40ee72c0ea01ffea9590dbf51df89";
+        name = "dmg_builder___dmg_builder_22.14.13.tgz";
+        url  = "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.14.13.tgz";
+        sha512 = "xNOugB6AbIRETeU2uID15sUfjdZZcKdxK8xkFnwIggsM00PJ12JxpLNPTjcRoUnfwj3WrPjilrO64vRMwNItQg==";
       };
     }
     {
-      name = "dmg_license___dmg_license_1.0.9.tgz";
+      name = "dmg_license___dmg_license_1.0.11.tgz";
       path = fetchurl {
-        name = "dmg_license___dmg_license_1.0.9.tgz";
-        url  = "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.9.tgz";
-        sha1 = "a2fb8d692af0e30b0730b5afc91ed9edc2d9cb4f";
+        name = "dmg_license___dmg_license_1.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.11.tgz";
+        sha512 = "ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==";
       };
     }
     {
@@ -1782,7 +1742,7 @@
       path = fetchurl {
         name = "doctrine___doctrine_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz";
-        sha1 = "addebead72a6574db783639dc87a121773973961";
+        sha512 = "yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==";
       };
     }
     {
@@ -1790,7 +1750,7 @@
       path = fetchurl {
         name = "domexception___domexception_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz";
-        sha1 = "fb44aefba793e1574b0af6aed2801d057529f304";
+        sha512 = "yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==";
       };
     }
     {
@@ -1798,7 +1758,7 @@
       path = fetchurl {
         name = "dot_prop___dot_prop_5.3.0.tgz";
         url  = "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz";
-        sha1 = "90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88";
+        sha512 = "QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==";
       };
     }
     {
@@ -1806,7 +1766,7 @@
       path = fetchurl {
         name = "dotenv_expand___dotenv_expand_5.1.0.tgz";
         url  = "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz";
-        sha1 = "3fbaf020bfd794884072ea26b1e9791d45a629f0";
+        sha512 = "YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==";
       };
     }
     {
@@ -1814,7 +1774,7 @@
       path = fetchurl {
         name = "dotenv___dotenv_9.0.2.tgz";
         url  = "https://registry.yarnpkg.com/dotenv/-/dotenv-9.0.2.tgz";
-        sha1 = "dacc20160935a37dea6364aa1bef819fb9b6ab05";
+        sha512 = "I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==";
       };
     }
     {
@@ -1822,7 +1782,7 @@
       path = fetchurl {
         name = "duplexer3___duplexer3_0.1.4.tgz";
         url  = "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz";
-        sha1 = "ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2";
+        sha1 = "7gHdHKwO08vH/b6jfcCo8c4ALOI=";
       };
     }
     {
@@ -1830,55 +1790,55 @@
       path = fetchurl {
         name = "ejs___ejs_3.1.6.tgz";
         url  = "https://registry.yarnpkg.com/ejs/-/ejs-3.1.6.tgz";
-        sha1 = "5bfd0a0689743bb5268b3550cceeebbc1702822a";
+        sha512 = "9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==";
       };
     }
     {
-      name = "electron_builder___electron_builder_22.11.7.tgz";
+      name = "electron_builder___electron_builder_22.14.13.tgz";
       path = fetchurl {
-        name = "electron_builder___electron_builder_22.11.7.tgz";
-        url  = "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.11.7.tgz";
-        sha1 = "cd97a0d9f6e6d388112e66b4376de431cca4d596";
+        name = "electron_builder___electron_builder_22.14.13.tgz";
+        url  = "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.14.13.tgz";
+        sha512 = "3fgLxqF2TXVKiUPeg74O4V3l0l3j7ERLazo8sUbRkApw0+4iVAf2BJkHsHMaXiigsgCoEzK/F4/rB5rne/VAnw==";
       };
     }
     {
-      name = "electron_publish___electron_publish_22.11.7.tgz";
+      name = "electron_osx_sign___electron_osx_sign_0.5.0.tgz";
       path = fetchurl {
-        name = "electron_publish___electron_publish_22.11.7.tgz";
-        url  = "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.11.7.tgz";
-        sha1 = "4126cbb08ccf082a2aa7fef89ee629b3a4b8ae9a";
+        name = "electron_osx_sign___electron_osx_sign_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/electron-osx-sign/-/electron-osx-sign-0.5.0.tgz";
+        sha512 = "icoRLHzFz/qxzDh/N4Pi2z4yVHurlsCAYQvsCSG7fCedJ4UJXBS6PoQyGH71IfcqKupcKeK7HX/NkyfG+v6vlQ==";
       };
     }
     {
-      name = "electron_to_chromium___electron_to_chromium_1.3.763.tgz";
+      name = "electron_publish___electron_publish_22.14.13.tgz";
       path = fetchurl {
-        name = "electron_to_chromium___electron_to_chromium_1.3.763.tgz";
-        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.763.tgz";
-        sha1 = "93f6f02506d099941f557b9db9ba50b30215bf15";
+        name = "electron_publish___electron_publish_22.14.13.tgz";
+        url  = "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.14.13.tgz";
+        sha512 = "0oP3QiNj3e8ewOaEpEJV/o6Zrmy2VarVvZ/bH7kyO/S/aJf9x8vQsKVWpsdmSiZ5DJEHgarFIXrnO0ZQf0P9iQ==";
       };
     }
     {
-      name = "electron___electron_13.1.4.tgz";
+      name = "electron_to_chromium___electron_to_chromium_1.4.90.tgz";
       path = fetchurl {
-        name = "electron___electron_13.1.4.tgz";
-        url  = "https://registry.yarnpkg.com/electron/-/electron-13.1.4.tgz";
-        sha1 = "6d20d932a0651c3cba9f09a3d08cbaf5b69aa84b";
+        name = "electron_to_chromium___electron_to_chromium_1.4.90.tgz";
+        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.90.tgz";
+        sha512 = "ZwKgSA0mQMyEhz+NR0F8dRzkrCLeHLzLkjx/CWf16+zV85hQ6meXPQbKanvhnpkYb7b2uJNj+enQJ/N877ND4Q==";
       };
     }
     {
-      name = "emittery___emittery_0.8.1.tgz";
+      name = "electron___electron_17.0.1.tgz";
       path = fetchurl {
-        name = "emittery___emittery_0.8.1.tgz";
-        url  = "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz";
-        sha1 = "bb23cc86d03b30aa75a7f734819dee2e1ba70860";
+        name = "electron___electron_17.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/electron/-/electron-17.0.1.tgz";
+        sha512 = "CBReR/QEOpgwMdt59lWCtj9wC8oHB6aAjMF1lhXcGew132xtp+C5N6EaXb/fmDceVYLouziYjbNcpeXsWrqdpA==";
       };
     }
     {
-      name = "emoji_regex___emoji_regex_7.0.3.tgz";
+      name = "emittery___emittery_0.8.1.tgz";
       path = fetchurl {
-        name = "emoji_regex___emoji_regex_7.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz";
-        sha1 = "933a04052860c85e83c122479c4748a8e4c72156";
+        name = "emittery___emittery_0.8.1.tgz";
+        url  = "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz";
+        sha512 = "uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==";
       };
     }
     {
@@ -1886,7 +1846,7 @@
       path = fetchurl {
         name = "emoji_regex___emoji_regex_8.0.0.tgz";
         url  = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz";
-        sha1 = "e818fd69ce5ccfcb404594f842963bf53164cc37";
+        sha512 = "MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==";
       };
     }
     {
@@ -1894,7 +1854,7 @@
       path = fetchurl {
         name = "encodeurl___encodeurl_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz";
-        sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
+        sha1 = "rT/0yG7C0CkyL1oCw6mmBslbP1k=";
       };
     }
     {
@@ -1902,23 +1862,23 @@
       path = fetchurl {
         name = "end_of_stream___end_of_stream_1.4.4.tgz";
         url  = "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz";
-        sha1 = "5ae64a5f45057baf3626ec14da0ca5e4b2431eb0";
+        sha512 = "+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==";
       };
     }
     {
-      name = "enquirer___enquirer_2.3.6.tgz";
+      name = "env_paths___env_paths_2.2.1.tgz";
       path = fetchurl {
-        name = "enquirer___enquirer_2.3.6.tgz";
-        url  = "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz";
-        sha1 = "2a7fe5dd634a1e4125a975ec994ff5456dc3734d";
+        name = "env_paths___env_paths_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz";
+        sha512 = "+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==";
       };
     }
     {
-      name = "env_paths___env_paths_2.2.1.tgz";
+      name = "error_ex___error_ex_1.3.2.tgz";
       path = fetchurl {
-        name = "env_paths___env_paths_2.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz";
-        sha1 = "420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2";
+        name = "error_ex___error_ex_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz";
+        sha512 = "7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==";
       };
     }
     {
@@ -1926,7 +1886,7 @@
       path = fetchurl {
         name = "es6_error___es6_error_4.1.1.tgz";
         url  = "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz";
-        sha1 = "9e3af407459deed47e9a91f9b885a84eb05c561d";
+        sha512 = "Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==";
       };
     }
     {
@@ -1934,7 +1894,7 @@
       path = fetchurl {
         name = "escalade___escalade_3.1.1.tgz";
         url  = "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz";
-        sha1 = "d8cfdc7000965c5a0174b4a82eaa5c0552742e40";
+        sha512 = "k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==";
       };
     }
     {
@@ -1942,7 +1902,7 @@
       path = fetchurl {
         name = "escape_goat___escape_goat_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz";
-        sha1 = "1b2dc77003676c457ec760b2dc68edb648188675";
+        sha512 = "8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==";
       };
     }
     {
@@ -1950,7 +1910,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 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+        sha1 = "G2HAViGQqN/2rjuyzwIAyhMLhtQ=";
       };
     }
     {
@@ -1958,7 +1918,7 @@
       path = fetchurl {
         name = "escape_string_regexp___escape_string_regexp_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz";
-        sha1 = "a30304e99daa32e23b2fd20f51babd07cffca344";
+        sha512 = "UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==";
       };
     }
     {
@@ -1966,7 +1926,7 @@
       path = fetchurl {
         name = "escape_string_regexp___escape_string_regexp_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz";
-        sha1 = "14ba83a5d373e3d311e5afca29cf5bfad965bf34";
+        sha512 = "TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==";
       };
     }
     {
@@ -1974,71 +1934,63 @@
       path = fetchurl {
         name = "escodegen___escodegen_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz";
-        sha1 = "5e32b12833e8aa8fa35e1bf0befa89380484c7dd";
+        sha512 = "mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==";
       };
     }
     {
-      name = "eslint_plugin_compat___eslint_plugin_compat_3.9.0.tgz";
+      name = "eslint_plugin_sort_keys___eslint_plugin_sort_keys_2.3.5.tgz";
       path = fetchurl {
-        name = "eslint_plugin_compat___eslint_plugin_compat_3.9.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-plugin-compat/-/eslint-plugin-compat-3.9.0.tgz";
-        sha1 = "a7a224e09b102b58e7f7dff52c936428ff3e0186";
+        name = "eslint_plugin_sort_keys___eslint_plugin_sort_keys_2.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-sort-keys/-/eslint-plugin-sort-keys-2.3.5.tgz";
+        sha512 = "2j/XKQ9sNJwK8kIp/U0EvuF6stS6/8aIc53/NskE4C5NRNh4dt3xzbZyOdrVC11cTH6Zo59/pdzA0Kb+2fQGWg==";
       };
     }
     {
-      name = "eslint_plugin_sort_keys_fix___eslint_plugin_sort_keys_fix_1.1.1.tgz";
+      name = "eslint_scope___eslint_scope_7.1.1.tgz";
       path = fetchurl {
-        name = "eslint_plugin_sort_keys_fix___eslint_plugin_sort_keys_fix_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-plugin-sort-keys-fix/-/eslint-plugin-sort-keys-fix-1.1.1.tgz";
-        sha1 = "2ed201b53fd4a89552c6e2abd38933f330a4b62e";
+        name = "eslint_scope___eslint_scope_7.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz";
+        sha512 = "QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==";
       };
     }
     {
-      name = "eslint_scope___eslint_scope_5.1.1.tgz";
+      name = "eslint_utils___eslint_utils_3.0.0.tgz";
       path = fetchurl {
-        name = "eslint_scope___eslint_scope_5.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz";
-        sha1 = "e786e59a66cb92b3f6c1fb0d508aab174848f48c";
+        name = "eslint_utils___eslint_utils_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz";
+        sha512 = "uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==";
       };
     }
     {
-      name = "eslint_utils___eslint_utils_2.1.0.tgz";
-      path = fetchurl {
-        name = "eslint_utils___eslint_utils_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz";
-        sha1 = "d2de5e03424e707dc10c74068ddedae708741b27";
-      };
-    }
-    {
-      name = "eslint_visitor_keys___eslint_visitor_keys_1.3.0.tgz";
+      name = "eslint_visitor_keys___eslint_visitor_keys_2.1.0.tgz";
       path = fetchurl {
-        name = "eslint_visitor_keys___eslint_visitor_keys_1.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz";
-        sha1 = "30ebd1ef7c2fdff01c3a4f151044af25fab0523e";
+        name = "eslint_visitor_keys___eslint_visitor_keys_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz";
+        sha512 = "0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==";
       };
     }
     {
-      name = "eslint_visitor_keys___eslint_visitor_keys_2.1.0.tgz";
+      name = "eslint_visitor_keys___eslint_visitor_keys_3.3.0.tgz";
       path = fetchurl {
-        name = "eslint_visitor_keys___eslint_visitor_keys_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz";
-        sha1 = "f65328259305927392c938ed44eb0a5c9b2bd303";
+        name = "eslint_visitor_keys___eslint_visitor_keys_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz";
+        sha512 = "mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==";
       };
     }
     {
-      name = "eslint___eslint_7.29.0.tgz";
+      name = "eslint___eslint_8.9.0.tgz";
       path = fetchurl {
-        name = "eslint___eslint_7.29.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint/-/eslint-7.29.0.tgz";
-        sha1 = "ee2a7648f2e729485e4d0bd6383ec1deabc8b3c0";
+        name = "eslint___eslint_8.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint/-/eslint-8.9.0.tgz";
+        sha512 = "PB09IGwv4F4b0/atrbcMFboF/giawbBLVC7fyDamk5Wtey4Jh2K+rYaBhCAbUyEI4QzB1ly09Uglc9iCtFaG2Q==";
       };
     }
     {
-      name = "espree___espree_7.3.1.tgz";
+      name = "espree___espree_9.3.1.tgz";
       path = fetchurl {
-        name = "espree___espree_7.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz";
-        sha1 = "f2df330b752c6f55019f8bd89b7660039c1bbbb6";
+        name = "espree___espree_9.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/espree/-/espree-9.3.1.tgz";
+        sha512 = "bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==";
       };
     }
     {
@@ -2046,7 +1998,7 @@
       path = fetchurl {
         name = "esprima___esprima_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz";
-        sha1 = "13b04cdb3e6c5d19df91ab6987a8695619b0aa71";
+        sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==";
       };
     }
     {
@@ -2054,7 +2006,7 @@
       path = fetchurl {
         name = "esquery___esquery_1.4.0.tgz";
         url  = "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz";
-        sha1 = "2148ffc38b82e8c7057dfed48425b3e61f0f24a5";
+        sha512 = "cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==";
       };
     }
     {
@@ -2062,23 +2014,15 @@
       path = fetchurl {
         name = "esrecurse___esrecurse_4.3.0.tgz";
         url  = "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz";
-        sha1 = "7ad7964d679abb28bee72cec63758b1c5d2c9921";
+        sha512 = "KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==";
       };
     }
     {
-      name = "estraverse___estraverse_4.3.0.tgz";
+      name = "estraverse___estraverse_5.3.0.tgz";
       path = fetchurl {
-        name = "estraverse___estraverse_4.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz";
-        sha1 = "398ad3f3c5a24948be7725e83d11a7de28cdbd1d";
-      };
-    }
-    {
-      name = "estraverse___estraverse_5.2.0.tgz";
-      path = fetchurl {
-        name = "estraverse___estraverse_5.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz";
-        sha1 = "307df42547e6cc7324d3cf03c155d5cdb8c53880";
+        name = "estraverse___estraverse_5.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz";
+        sha512 = "MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==";
       };
     }
     {
@@ -2086,7 +2030,7 @@
       path = fetchurl {
         name = "esutils___esutils_2.0.3.tgz";
         url  = "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz";
-        sha1 = "74d2eb4de0b8da1293711910d50775b9b710ef64";
+        sha512 = "kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==";
       };
     }
     {
@@ -2094,15 +2038,7 @@
       path = fetchurl {
         name = "execa___execa_5.1.1.tgz";
         url  = "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz";
-        sha1 = "f80ad9cbf4298f7bd1d4c9555c21e93741c411dd";
-      };
-    }
-    {
-      name = "exit_on_epipe___exit_on_epipe_1.0.1.tgz";
-      path = fetchurl {
-        name = "exit_on_epipe___exit_on_epipe_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz";
-        sha1 = "0bdd92e87d5285d267daa8171d0eb06159689692";
+        sha512 = "8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==";
       };
     }
     {
@@ -2110,23 +2046,15 @@
       path = fetchurl {
         name = "exit___exit_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz";
-        sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
+        sha1 = "BjJjj42HfMghB9MKD/8aF8uhzQw=";
       };
     }
     {
-      name = "expect___expect_27.0.6.tgz";
+      name = "expect___expect_27.5.1.tgz";
       path = fetchurl {
-        name = "expect___expect_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/expect/-/expect-27.0.6.tgz";
-        sha1 = "a4d74fbe27222c718fff68ef49d78e26a8fd4c05";
-      };
-    }
-    {
-      name = "extend___extend_3.0.2.tgz";
-      path = fetchurl {
-        name = "extend___extend_3.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz";
-        sha1 = "f8b1136b4071fbd8eb140aff858b1019ec2915fa";
+        name = "expect___expect_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/expect/-/expect-27.5.1.tgz";
+        sha512 = "E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==";
       };
     }
     {
@@ -2134,15 +2062,15 @@
       path = fetchurl {
         name = "extract_zip___extract_zip_1.7.0.tgz";
         url  = "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz";
-        sha1 = "556cc3ae9df7f452c493a0cfb51cc30277940927";
+        sha512 = "xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==";
       };
     }
     {
-      name = "extsprintf___extsprintf_1.4.0.tgz";
+      name = "extsprintf___extsprintf_1.4.1.tgz";
       path = fetchurl {
-        name = "extsprintf___extsprintf_1.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz";
-        sha1 = "e2689f8f356fad62cca65a3a91c5df5f9551692f";
+        name = "extsprintf___extsprintf_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz";
+        sha512 = "Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==";
       };
     }
     {
@@ -2150,7 +2078,7 @@
       path = fetchurl {
         name = "fast_deep_equal___fast_deep_equal_3.1.3.tgz";
         url  = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz";
-        sha1 = "3a7d56b559d6cbc3eb512325244e619a65c6c525";
+        sha512 = "f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==";
       };
     }
     {
@@ -2158,7 +2086,7 @@
       path = fetchurl {
         name = "fast_json_stable_stringify___fast_json_stable_stringify_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz";
-        sha1 = "874bf69c6f404c2b5d99c481341399fd55892633";
+        sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==";
       };
     }
     {
@@ -2166,15 +2094,15 @@
       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 = "3d8a5c66883a16a30ca8643e851f19baa7797917";
+        sha1 = "PYpcZog6FqMMqGQ+hR8Zuqd5eRc=";
       };
     }
     {
-      name = "fast_xml_parser___fast_xml_parser_3.19.0.tgz";
+      name = "fast_xml_parser___fast_xml_parser_3.21.1.tgz";
       path = fetchurl {
-        name = "fast_xml_parser___fast_xml_parser_3.19.0.tgz";
-        url  = "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz";
-        sha1 = "cb637ec3f3999f51406dd8ff0e6fc4d83e520d01";
+        name = "fast_xml_parser___fast_xml_parser_3.21.1.tgz";
+        url  = "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-3.21.1.tgz";
+        sha512 = "FTFVjYoBOZTJekiUsawGsSYV9QL0A+zDYCRj7y34IO6Jg+2IMYEtQa+bbictpdpV8dHxXywqU7C0gRDEOFtBFg==";
       };
     }
     {
@@ -2182,7 +2110,7 @@
       path = fetchurl {
         name = "fb_watchman___fb_watchman_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz";
-        sha1 = "fc84fb39d2709cf3ff6d743706157bb5708a8a85";
+        sha512 = "DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==";
       };
     }
     {
@@ -2190,7 +2118,7 @@
       path = fetchurl {
         name = "fd_slicer___fd_slicer_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz";
-        sha1 = "25c7c89cb1f9077f8891bbe61d8f390eae256f1e";
+        sha1 = "JcfInLH5B3+IkbvmHY85Dq4lbx4=";
       };
     }
     {
@@ -2198,7 +2126,7 @@
       path = fetchurl {
         name = "file_entry_cache___file_entry_cache_6.0.1.tgz";
         url  = "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz";
-        sha1 = "211b2dd9659cb0394b073e7323ac3c933d522027";
+        sha512 = "7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==";
       };
     }
     {
@@ -2206,7 +2134,7 @@
       path = fetchurl {
         name = "filelist___filelist_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/filelist/-/filelist-1.0.2.tgz";
-        sha1 = "80202f21462d4d1c2e214119b1807c1bc0380e5b";
+        sha512 = "z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==";
       };
     }
     {
@@ -2214,7 +2142,7 @@
       path = fetchurl {
         name = "fill_range___fill_range_7.0.1.tgz";
         url  = "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz";
-        sha1 = "1919a6a7c75fe38b2c7c77e5198535da9acdda40";
+        sha512 = "qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==";
       };
     }
     {
@@ -2222,7 +2150,7 @@
       path = fetchurl {
         name = "find_up___find_up_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz";
-        sha1 = "97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19";
+        sha512 = "PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==";
       };
     }
     {
@@ -2230,15 +2158,15 @@
       path = fetchurl {
         name = "flat_cache___flat_cache_3.0.4.tgz";
         url  = "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz";
-        sha1 = "61b0338302b2fe9f957dcc32fc2a87f1c3048b11";
+        sha512 = "dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==";
       };
     }
     {
-      name = "flatted___flatted_3.1.1.tgz";
+      name = "flatted___flatted_3.2.5.tgz";
       path = fetchurl {
-        name = "flatted___flatted_3.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz";
-        sha1 = "c4b489e80096d9df1dfc97c79871aea7c617c469";
+        name = "flatted___flatted_3.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz";
+        sha512 = "WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==";
       };
     }
     {
@@ -2246,23 +2174,23 @@
       path = fetchurl {
         name = "form_data___form_data_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz";
-        sha1 = "ebd53791b78356a99af9a300d4282c4d5eb9755f";
+        sha512 = "RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==";
       };
     }
     {
-      name = "fs_constants___fs_constants_1.0.0.tgz";
+      name = "form_data___form_data_4.0.0.tgz";
       path = fetchurl {
-        name = "fs_constants___fs_constants_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz";
-        sha1 = "6be0de9be998ce16af8afc24497b9ee9b7ccd9ad";
+        name = "form_data___form_data_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz";
+        sha512 = "ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==";
       };
     }
     {
-      name = "fs_extra___fs_extra_10.0.0.tgz";
+      name = "fs_extra___fs_extra_10.0.1.tgz";
       path = fetchurl {
-        name = "fs_extra___fs_extra_10.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz";
-        sha1 = "9ff61b655dde53fb34a82df84bb214ce802e17c1";
+        name = "fs_extra___fs_extra_10.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.1.tgz";
+        sha512 = "NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==";
       };
     }
     {
@@ -2270,7 +2198,7 @@
       path = fetchurl {
         name = "fs_extra___fs_extra_8.1.0.tgz";
         url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz";
-        sha1 = "49d43c45a88cd9677668cb7be1b46efdb8d2e1c0";
+        sha512 = "yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==";
       };
     }
     {
@@ -2278,7 +2206,7 @@
       path = fetchurl {
         name = "fs_extra___fs_extra_9.1.0.tgz";
         url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz";
-        sha1 = "5954460c764a8da2094ba3554bf839e6b9a7c86d";
+        sha512 = "hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==";
       };
     }
     {
@@ -2286,7 +2214,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 = "1504ad2523158caa40db4a2787cb01411994ea4f";
+        sha1 = "FQStJSMVjKpA20onh8sBQRmU6k8=";
       };
     }
     {
@@ -2294,7 +2222,7 @@
       path = fetchurl {
         name = "fsevents___fsevents_2.3.2.tgz";
         url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz";
-        sha1 = "8a526f78b8fdf4623b709e0b975c52c24c02fd1a";
+        sha512 = "xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==";
       };
     }
     {
@@ -2302,7 +2230,7 @@
       path = fetchurl {
         name = "function_bind___function_bind_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz";
-        sha1 = "a56899d3ea3c9bab874bb9773b7c5ede92f4895d";
+        sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==";
       };
     }
     {
@@ -2310,7 +2238,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 = "1b0ab3bd553b2a0d6399d29c0e3ea0b252078327";
+        sha1 = "GwqzvVU7Kg1jmdKcDj6gslIHgyc=";
       };
     }
     {
@@ -2318,7 +2246,7 @@
       path = fetchurl {
         name = "gensync___gensync_1.0.0_beta.2.tgz";
         url  = "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz";
-        sha1 = "32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0";
+        sha512 = "3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==";
       };
     }
     {
@@ -2326,7 +2254,7 @@
       path = fetchurl {
         name = "get_caller_file___get_caller_file_2.0.5.tgz";
         url  = "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz";
-        sha1 = "4f94412a82db32f36e3b0b9741f8a97feb031f7e";
+        sha512 = "DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==";
       };
     }
     {
@@ -2334,7 +2262,7 @@
       path = fetchurl {
         name = "get_package_type___get_package_type_0.1.0.tgz";
         url  = "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz";
-        sha1 = "8de2d803cff44df3bc6c456e6668b36c3926e11a";
+        sha512 = "pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==";
       };
     }
     {
@@ -2342,7 +2270,7 @@
       path = fetchurl {
         name = "get_stream___get_stream_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz";
-        sha1 = "c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5";
+        sha512 = "GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==";
       };
     }
     {
@@ -2350,7 +2278,7 @@
       path = fetchurl {
         name = "get_stream___get_stream_5.2.0.tgz";
         url  = "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz";
-        sha1 = "4966a1795ee5ace65e706c4b7beb71257d6e22d3";
+        sha512 = "nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==";
       };
     }
     {
@@ -2358,31 +2286,31 @@
       path = fetchurl {
         name = "get_stream___get_stream_6.0.1.tgz";
         url  = "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz";
-        sha1 = "a262d8eef67aced57c2852ad6167526a43cbf7b7";
+        sha512 = "ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==";
       };
     }
     {
-      name = "glob_parent___glob_parent_5.1.2.tgz";
+      name = "glob_parent___glob_parent_6.0.2.tgz";
       path = fetchurl {
-        name = "glob_parent___glob_parent_5.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz";
-        sha1 = "869832c58034fe68a4093c17dc15e8340d8401c4";
+        name = "glob_parent___glob_parent_6.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz";
+        sha512 = "XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==";
       };
     }
     {
-      name = "glob___glob_7.1.7.tgz";
+      name = "glob___glob_7.2.0.tgz";
       path = fetchurl {
-        name = "glob___glob_7.1.7.tgz";
-        url  = "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz";
-        sha1 = "3b193e9233f01d42d0b3f78294bbeeb418f94a90";
+        name = "glob___glob_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz";
+        sha512 = "lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==";
       };
     }
     {
-      name = "global_agent___global_agent_2.2.0.tgz";
+      name = "global_agent___global_agent_3.0.0.tgz";
       path = fetchurl {
-        name = "global_agent___global_agent_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/global-agent/-/global-agent-2.2.0.tgz";
-        sha1 = "566331b0646e6bf79429a16877685c4a1fbf76dc";
+        name = "global_agent___global_agent_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/global-agent/-/global-agent-3.0.0.tgz";
+        sha512 = "PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==";
       };
     }
     {
@@ -2390,7 +2318,7 @@
       path = fetchurl {
         name = "global_dirs___global_dirs_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz";
-        sha1 = "70a76fe84ea315ab37b1f5576cbde7d48ef72686";
+        sha512 = "v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==";
       };
     }
     {
@@ -2398,7 +2326,7 @@
       path = fetchurl {
         name = "global_tunnel_ng___global_tunnel_ng_2.7.1.tgz";
         url  = "https://registry.yarnpkg.com/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz";
-        sha1 = "d03b5102dfde3a69914f5ee7d86761ca35d57d8f";
+        sha512 = "4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==";
       };
     }
     {
@@ -2406,15 +2334,15 @@
       path = fetchurl {
         name = "globals___globals_11.12.0.tgz";
         url  = "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz";
-        sha1 = "ab8795338868a0babd8525758018c2a7eb95c42e";
+        sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==";
       };
     }
     {
-      name = "globals___globals_13.9.0.tgz";
+      name = "globals___globals_13.13.0.tgz";
       path = fetchurl {
-        name = "globals___globals_13.9.0.tgz";
-        url  = "https://registry.yarnpkg.com/globals/-/globals-13.9.0.tgz";
-        sha1 = "4bf2bf635b334a173fb1daf7c5e6b218ecdc06cb";
+        name = "globals___globals_13.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/globals/-/globals-13.13.0.tgz";
+        sha512 = "EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==";
       };
     }
     {
@@ -2422,7 +2350,7 @@
       path = fetchurl {
         name = "globalthis___globalthis_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.2.tgz";
-        sha1 = "2a235d34f4d8036219f7e34929b5de9e18166b8b";
+        sha512 = "ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ==";
       };
     }
     {
@@ -2430,15 +2358,15 @@
       path = fetchurl {
         name = "got___got_9.6.0.tgz";
         url  = "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz";
-        sha1 = "edf45e7d67f99545705de1f7bbeeeb121765ed85";
+        sha512 = "R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==";
       };
     }
     {
-      name = "graceful_fs___graceful_fs_4.2.6.tgz";
+      name = "graceful_fs___graceful_fs_4.2.9.tgz";
       path = fetchurl {
-        name = "graceful_fs___graceful_fs_4.2.6.tgz";
-        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz";
-        sha1 = "ff040b2b0853b23c3d31027523706f1885d76bee";
+        name = "graceful_fs___graceful_fs_4.2.9.tgz";
+        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz";
+        sha512 = "NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==";
       };
     }
     {
@@ -2446,7 +2374,7 @@
       path = fetchurl {
         name = "graceful_readlink___graceful_readlink_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
-        sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
+        sha1 = "TK+tdrxi8C+gObL5Tpo906ORpyU=";
       };
     }
     {
@@ -2454,7 +2382,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 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
+        sha1 = "tdRU3CGZriJWmfNGfloH87lVuv0=";
       };
     }
     {
@@ -2462,7 +2390,7 @@
       path = fetchurl {
         name = "has_flag___has_flag_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz";
-        sha1 = "944771fd9c81c81265c4d6941860da06bb59479b";
+        sha512 = "EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==";
       };
     }
     {
@@ -2470,7 +2398,7 @@
       path = fetchurl {
         name = "has_yarn___has_yarn_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz";
-        sha1 = "137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77";
+        sha512 = "UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==";
       };
     }
     {
@@ -2478,15 +2406,15 @@
       path = fetchurl {
         name = "has___has_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz";
-        sha1 = "722d7cbfc1f6aa8241f16dd814e011e1f41e8796";
+        sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==";
       };
     }
     {
-      name = "hosted_git_info___hosted_git_info_4.0.2.tgz";
+      name = "hosted_git_info___hosted_git_info_4.1.0.tgz";
       path = fetchurl {
-        name = "hosted_git_info___hosted_git_info_4.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz";
-        sha1 = "5e425507eede4fea846b7262f0838456c4209961";
+        name = "hosted_git_info___hosted_git_info_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz";
+        sha512 = "kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==";
       };
     }
     {
@@ -2494,7 +2422,7 @@
       path = fetchurl {
         name = "html_encoding_sniffer___html_encoding_sniffer_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz";
-        sha1 = "42a6dc4fd33f00281176e8b23759ca4e4fa185f3";
+        sha512 = "D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==";
       };
     }
     {
@@ -2502,7 +2430,7 @@
       path = fetchurl {
         name = "html_escaper___html_escaper_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz";
-        sha1 = "dfd60027da36a36dfcbe236262c00a5822681453";
+        sha512 = "H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==";
       };
     }
     {
@@ -2510,7 +2438,7 @@
       path = fetchurl {
         name = "http_cache_semantics___http_cache_semantics_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz";
-        sha1 = "49e91c5cbf36c9b94bcfcd71c23d5249ec74e390";
+        sha512 = "carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==";
       };
     }
     {
@@ -2518,7 +2446,15 @@
       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";
-        sha1 = "8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a";
+        sha512 = "k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==";
+      };
+    }
+    {
+      name = "http_proxy_agent___http_proxy_agent_5.0.0.tgz";
+      path = fetchurl {
+        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==";
       };
     }
     {
@@ -2526,7 +2462,7 @@
       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";
-        sha1 = "e2a90542abb68a762e0a0850f6c9edadfd8506b2";
+        sha512 = "EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==";
       };
     }
     {
@@ -2534,15 +2470,15 @@
       path = fetchurl {
         name = "human_signals___human_signals_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz";
-        sha1 = "dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0";
+        sha512 = "B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==";
       };
     }
     {
-      name = "iconv_corefoundation___iconv_corefoundation_1.1.6.tgz";
+      name = "iconv_corefoundation___iconv_corefoundation_1.1.7.tgz";
       path = fetchurl {
-        name = "iconv_corefoundation___iconv_corefoundation_1.1.6.tgz";
-        url  = "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.6.tgz";
-        sha1 = "27c135470237f6f8d13462fa1f5eaf250523c29a";
+        name = "iconv_corefoundation___iconv_corefoundation_1.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz";
+        sha512 = "T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==";
       };
     }
     {
@@ -2550,7 +2486,7 @@
       path = fetchurl {
         name = "iconv_lite___iconv_lite_0.4.24.tgz";
         url  = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz";
-        sha1 = "2022b4b25fbddc21d2f524974a474aafe733908b";
+        sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==";
       };
     }
     {
@@ -2558,7 +2494,7 @@
       path = fetchurl {
         name = "iconv_lite___iconv_lite_0.6.3.tgz";
         url  = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz";
-        sha1 = "a52f80bf38da1952eb5c681790719871a1a72501";
+        sha512 = "4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==";
       };
     }
     {
@@ -2566,15 +2502,15 @@
       path = fetchurl {
         name = "ieee754___ieee754_1.2.1.tgz";
         url  = "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz";
-        sha1 = "8eb7a10a63fff25d15a57b001586d177d1b0d352";
+        sha512 = "dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==";
       };
     }
     {
-      name = "ignore___ignore_4.0.6.tgz";
+      name = "ignore___ignore_5.2.0.tgz";
       path = fetchurl {
-        name = "ignore___ignore_4.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz";
-        sha1 = "750e3db5862087b4737ebac8207ffd1ef27b25fc";
+        name = "ignore___ignore_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz";
+        sha512 = "CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==";
       };
     }
     {
@@ -2582,7 +2518,7 @@
       path = fetchurl {
         name = "import_fresh___import_fresh_3.3.0.tgz";
         url  = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz";
-        sha1 = "37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b";
+        sha512 = "veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==";
       };
     }
     {
@@ -2590,15 +2526,15 @@
       path = fetchurl {
         name = "import_lazy___import_lazy_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz";
-        sha1 = "05698e3d45c88e8d7e9d92cb0584e77f096f3e43";
+        sha1 = "BWmOPUXIjo1+nZLLBYTnfwlvPkM=";
       };
     }
     {
-      name = "import_local___import_local_3.0.2.tgz";
+      name = "import_local___import_local_3.1.0.tgz";
       path = fetchurl {
-        name = "import_local___import_local_3.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz";
-        sha1 = "a8cfd0431d1de4a2199703d003e3e62364fa6db6";
+        name = "import_local___import_local_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz";
+        sha512 = "ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==";
       };
     }
     {
@@ -2606,7 +2542,7 @@
       path = fetchurl {
         name = "imurmurhash___imurmurhash_0.1.4.tgz";
         url  = "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz";
-        sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
+        sha1 = "khi5srkoojixPcT7a21XbyMUU+o=";
       };
     }
     {
@@ -2614,7 +2550,7 @@
       path = fetchurl {
         name = "inflight___inflight_1.0.6.tgz";
         url  = "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz";
-        sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+        sha1 = "Sb1jMdfQLQwJvJEKEHW6gWW1bfk=";
       };
     }
     {
@@ -2622,7 +2558,7 @@
       path = fetchurl {
         name = "inherits___inherits_2.0.4.tgz";
         url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz";
-        sha1 = "0fa2c64f932917c3433a0ded55363aae37416b7c";
+        sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==";
       };
     }
     {
@@ -2630,7 +2566,7 @@
       path = fetchurl {
         name = "ini___ini_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz";
-        sha1 = "e5fd556ecdd5726be978fa1001862eacb0a94bc5";
+        sha512 = "7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==";
       };
     }
     {
@@ -2638,7 +2574,15 @@
       path = fetchurl {
         name = "ini___ini_1.3.8.tgz";
         url  = "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz";
-        sha1 = "a29da425b48806f34767a4efce397269af28432c";
+        sha512 = "JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==";
+      };
+    }
+    {
+      name = "is_arrayish___is_arrayish_0.2.1.tgz";
+      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=";
       };
     }
     {
@@ -2646,23 +2590,23 @@
       path = fetchurl {
         name = "is_ci___is_ci_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz";
-        sha1 = "6bc6334181810e04b5c22b3d589fdca55026404c";
+        sha512 = "YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==";
       };
     }
     {
-      name = "is_ci___is_ci_3.0.0.tgz";
+      name = "is_ci___is_ci_3.0.1.tgz";
       path = fetchurl {
-        name = "is_ci___is_ci_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.0.tgz";
-        sha1 = "c7e7be3c9d8eef7d0fa144390bd1e4b88dc4c994";
+        name = "is_ci___is_ci_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz";
+        sha512 = "ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==";
       };
     }
     {
-      name = "is_core_module___is_core_module_2.4.0.tgz";
+      name = "is_core_module___is_core_module_2.8.1.tgz";
       path = fetchurl {
-        name = "is_core_module___is_core_module_2.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz";
-        sha1 = "8e9fc8e15027b011418026e98f0e6f4d86305cc1";
+        name = "is_core_module___is_core_module_2.8.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz";
+        sha512 = "SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==";
       };
     }
     {
@@ -2670,15 +2614,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 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2";
-      };
-    }
-    {
-      name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz";
-      path = fetchurl {
-        name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz";
-        sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f";
+        sha1 = "qIwCU1eR8C7TfHahueqXc8gz+MI=";
       };
     }
     {
@@ -2686,7 +2622,7 @@
       path = fetchurl {
         name = "is_fullwidth_code_point___is_fullwidth_code_point_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz";
-        sha1 = "f116f8064fe90b3f7844a38997c0b75051269f1d";
+        sha512 = "zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==";
       };
     }
     {
@@ -2694,15 +2630,15 @@
       path = fetchurl {
         name = "is_generator_fn___is_generator_fn_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz";
-        sha1 = "7d140adc389aaf3011a8f2a2a4cfa6faadffb118";
+        sha512 = "cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==";
       };
     }
     {
-      name = "is_glob___is_glob_4.0.1.tgz";
+      name = "is_glob___is_glob_4.0.3.tgz";
       path = fetchurl {
-        name = "is_glob___is_glob_4.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz";
-        sha1 = "7567dbe9f2f5e2467bc77ab83c4a29482407a5dc";
+        name = "is_glob___is_glob_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz";
+        sha512 = "xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==";
       };
     }
     {
@@ -2710,7 +2646,7 @@
       path = fetchurl {
         name = "is_installed_globally___is_installed_globally_0.4.0.tgz";
         url  = "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz";
-        sha1 = "9a0fd407949c30f86eb6959ef1b7994ed0b7b520";
+        sha512 = "iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==";
       };
     }
     {
@@ -2718,7 +2654,7 @@
       path = fetchurl {
         name = "is_npm___is_npm_5.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz";
-        sha1 = "43e8d65cc56e1b67f8d47262cf667099193f45a8";
+        sha512 = "WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==";
       };
     }
     {
@@ -2726,7 +2662,7 @@
       path = fetchurl {
         name = "is_number___is_number_7.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz";
-        sha1 = "7535345b896734d5f80c4d06c50955527a14f12b";
+        sha512 = "41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==";
       };
     }
     {
@@ -2734,7 +2670,7 @@
       path = fetchurl {
         name = "is_obj___is_obj_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz";
-        sha1 = "473fb05d973705e3fd9620545018ca8e22ef4982";
+        sha512 = "drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==";
       };
     }
     {
@@ -2742,7 +2678,7 @@
       path = fetchurl {
         name = "is_path_inside___is_path_inside_3.0.3.tgz";
         url  = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz";
-        sha1 = "d231362e53a07ff2b0e0ea7fed049161ffd16283";
+        sha512 = "Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==";
       };
     }
     {
@@ -2750,23 +2686,23 @@
       path = fetchurl {
         name = "is_potential_custom_element_name___is_potential_custom_element_name_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz";
-        sha1 = "171ed6f19e3ac554394edf78caa05784a45bebb5";
+        sha512 = "bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==";
       };
     }
     {
-      name = "is_stream___is_stream_2.0.0.tgz";
+      name = "is_stream___is_stream_2.0.1.tgz";
       path = fetchurl {
-        name = "is_stream___is_stream_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz";
-        sha1 = "bde9c32680d6fae04129d6ac9d921ce7815f78e3";
+        name = "is_stream___is_stream_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz";
+        sha512 = "hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==";
       };
     }
     {
-      name = "is_svg___is_svg_4.3.1.tgz";
+      name = "is_svg___is_svg_4.3.2.tgz";
       path = fetchurl {
-        name = "is_svg___is_svg_4.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/is-svg/-/is-svg-4.3.1.tgz";
-        sha1 = "8c63ec8c67c8c7f0a8de0a71c8c7d58eccf4406b";
+        name = "is_svg___is_svg_4.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-svg/-/is-svg-4.3.2.tgz";
+        sha512 = "mM90duy00JGMyjqIVHu9gNTjywdZV+8qNasX8cm/EEYZ53PHDgajvbBwNVvty5dwSAxLUD3p3bdo+7sR/UMrpw==";
       };
     }
     {
@@ -2774,7 +2710,7 @@
       path = fetchurl {
         name = "is_typedarray___is_typedarray_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz";
-        sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
+        sha1 = "5HnICFjfDBsR3dppQPlgEfzaSpo=";
       };
     }
     {
@@ -2782,7 +2718,7 @@
       path = fetchurl {
         name = "is_yarn_global___is_yarn_global_0.3.0.tgz";
         url  = "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz";
-        sha1 = "d502d3382590ea3004893746754c89139973e232";
+        sha512 = "VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==";
       };
     }
     {
@@ -2790,7 +2726,15 @@
       path = fetchurl {
         name = "isarray___isarray_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz";
-        sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+        sha1 = "u5NdSFgsuhaMBoNJV6VKPgcSTxE=";
+      };
+    }
+    {
+      name = "isbinaryfile___isbinaryfile_3.0.3.tgz";
+      path = fetchurl {
+        name = "isbinaryfile___isbinaryfile_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.3.tgz";
+        sha512 = "8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==";
       };
     }
     {
@@ -2798,7 +2742,7 @@
       path = fetchurl {
         name = "isbinaryfile___isbinaryfile_4.0.8.tgz";
         url  = "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.8.tgz";
-        sha1 = "5d34b94865bd4946633ecc78a026fc76c5b11fcf";
+        sha512 = "53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==";
       };
     }
     {
@@ -2806,23 +2750,23 @@
       path = fetchurl {
         name = "isexe___isexe_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz";
-        sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
+        sha1 = "6PvzdNxVb/iUehDcsFctYz8s+hA=";
       };
     }
     {
-      name = "istanbul_lib_coverage___istanbul_lib_coverage_3.0.0.tgz";
+      name = "istanbul_lib_coverage___istanbul_lib_coverage_3.2.0.tgz";
       path = fetchurl {
-        name = "istanbul_lib_coverage___istanbul_lib_coverage_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz";
-        sha1 = "f5944a37c70b550b02a78a5c3b2055b280cec8ec";
+        name = "istanbul_lib_coverage___istanbul_lib_coverage_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz";
+        sha512 = "eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==";
       };
     }
     {
-      name = "istanbul_lib_instrument___istanbul_lib_instrument_4.0.3.tgz";
+      name = "istanbul_lib_instrument___istanbul_lib_instrument_5.1.0.tgz";
       path = fetchurl {
-        name = "istanbul_lib_instrument___istanbul_lib_instrument_4.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz";
-        sha1 = "873c6fff897450118222774696a3f28902d77c1d";
+        name = "istanbul_lib_instrument___istanbul_lib_instrument_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz";
+        sha512 = "czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==";
       };
     }
     {
@@ -2830,159 +2774,159 @@
       path = fetchurl {
         name = "istanbul_lib_report___istanbul_lib_report_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz";
-        sha1 = "7518fe52ea44de372f460a76b5ecda9ffb73d8a6";
+        sha512 = "wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==";
       };
     }
     {
-      name = "istanbul_lib_source_maps___istanbul_lib_source_maps_4.0.0.tgz";
+      name = "istanbul_lib_source_maps___istanbul_lib_source_maps_4.0.1.tgz";
       path = fetchurl {
-        name = "istanbul_lib_source_maps___istanbul_lib_source_maps_4.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz";
-        sha1 = "75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9";
+        name = "istanbul_lib_source_maps___istanbul_lib_source_maps_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz";
+        sha512 = "n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==";
       };
     }
     {
-      name = "istanbul_reports___istanbul_reports_3.0.2.tgz";
+      name = "istanbul_reports___istanbul_reports_3.1.4.tgz";
       path = fetchurl {
-        name = "istanbul_reports___istanbul_reports_3.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz";
-        sha1 = "d593210e5000683750cb09fc0644e4b6e27fd53b";
+        name = "istanbul_reports___istanbul_reports_3.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.4.tgz";
+        sha512 = "r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==";
       };
     }
     {
-      name = "jake___jake_10.8.2.tgz";
+      name = "jake___jake_10.8.4.tgz";
       path = fetchurl {
-        name = "jake___jake_10.8.2.tgz";
-        url  = "https://registry.yarnpkg.com/jake/-/jake-10.8.2.tgz";
-        sha1 = "ebc9de8558160a66d82d0eadc6a2e58fbc500a7b";
+        name = "jake___jake_10.8.4.tgz";
+        url  = "https://registry.yarnpkg.com/jake/-/jake-10.8.4.tgz";
+        sha512 = "MtWeTkl1qGsWUtbl/Jsca/8xSoK3x0UmS82sNbjqxxG/de/M/3b1DntdjHgPMC50enlTNwXOCRqPXLLt5cCfZA==";
       };
     }
     {
-      name = "jest_changed_files___jest_changed_files_27.0.6.tgz";
+      name = "jest_changed_files___jest_changed_files_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_changed_files___jest_changed_files_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.0.6.tgz";
-        sha1 = "bed6183fcdea8a285482e3b50a9a7712d49a7a8b";
+        name = "jest_changed_files___jest_changed_files_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz";
+        sha512 = "buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==";
       };
     }
     {
-      name = "jest_circus___jest_circus_27.0.6.tgz";
+      name = "jest_circus___jest_circus_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_circus___jest_circus_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.0.6.tgz";
-        sha1 = "dd4df17c4697db6a2c232aaad4e9cec666926668";
+        name = "jest_circus___jest_circus_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.5.1.tgz";
+        sha512 = "D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==";
       };
     }
     {
-      name = "jest_cli___jest_cli_27.0.6.tgz";
+      name = "jest_cli___jest_cli_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_cli___jest_cli_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.0.6.tgz";
-        sha1 = "d021e5f4d86d6a212450d4c7b86cb219f1e6864f";
+        name = "jest_cli___jest_cli_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.5.1.tgz";
+        sha512 = "Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==";
       };
     }
     {
-      name = "jest_config___jest_config_27.0.6.tgz";
+      name = "jest_config___jest_config_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_config___jest_config_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-config/-/jest-config-27.0.6.tgz";
-        sha1 = "119fb10f149ba63d9c50621baa4f1f179500277f";
+        name = "jest_config___jest_config_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-config/-/jest-config-27.5.1.tgz";
+        sha512 = "5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==";
       };
     }
     {
-      name = "jest_diff___jest_diff_27.0.6.tgz";
+      name = "jest_diff___jest_diff_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_diff___jest_diff_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.0.6.tgz";
-        sha1 = "4a7a19ee6f04ad70e0e3388f35829394a44c7b5e";
+        name = "jest_diff___jest_diff_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz";
+        sha512 = "m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==";
       };
     }
     {
-      name = "jest_docblock___jest_docblock_27.0.6.tgz";
+      name = "jest_docblock___jest_docblock_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_docblock___jest_docblock_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.0.6.tgz";
-        sha1 = "cc78266acf7fe693ca462cbbda0ea4e639e4e5f3";
+        name = "jest_docblock___jest_docblock_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz";
+        sha512 = "rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==";
       };
     }
     {
-      name = "jest_each___jest_each_27.0.6.tgz";
+      name = "jest_each___jest_each_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_each___jest_each_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-each/-/jest-each-27.0.6.tgz";
-        sha1 = "cee117071b04060158dc8d9a66dc50ad40ef453b";
+        name = "jest_each___jest_each_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-each/-/jest-each-27.5.1.tgz";
+        sha512 = "1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==";
       };
     }
     {
-      name = "jest_environment_jsdom___jest_environment_jsdom_27.0.6.tgz";
+      name = "jest_environment_jsdom___jest_environment_jsdom_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_environment_jsdom___jest_environment_jsdom_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.0.6.tgz";
-        sha1 = "f66426c4c9950807d0a9f209c590ce544f73291f";
+        name = "jest_environment_jsdom___jest_environment_jsdom_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz";
+        sha512 = "TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==";
       };
     }
     {
-      name = "jest_environment_node___jest_environment_node_27.0.6.tgz";
+      name = "jest_environment_node___jest_environment_node_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_environment_node___jest_environment_node_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.0.6.tgz";
-        sha1 = "a6699b7ceb52e8d68138b9808b0c404e505f3e07";
+        name = "jest_environment_node___jest_environment_node_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz";
+        sha512 = "Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==";
       };
     }
     {
-      name = "jest_get_type___jest_get_type_27.0.6.tgz";
+      name = "jest_get_type___jest_get_type_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_get_type___jest_get_type_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.0.6.tgz";
-        sha1 = "0eb5c7f755854279ce9b68a9f1a4122f69047cfe";
+        name = "jest_get_type___jest_get_type_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz";
+        sha512 = "2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==";
       };
     }
     {
-      name = "jest_haste_map___jest_haste_map_27.0.6.tgz";
+      name = "jest_haste_map___jest_haste_map_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_haste_map___jest_haste_map_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.0.6.tgz";
-        sha1 = "4683a4e68f6ecaa74231679dca237279562c8dc7";
+        name = "jest_haste_map___jest_haste_map_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz";
+        sha512 = "7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==";
       };
     }
     {
-      name = "jest_jasmine2___jest_jasmine2_27.0.6.tgz";
+      name = "jest_jasmine2___jest_jasmine2_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_jasmine2___jest_jasmine2_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.0.6.tgz";
-        sha1 = "fd509a9ed3d92bd6edb68a779f4738b100655b37";
+        name = "jest_jasmine2___jest_jasmine2_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz";
+        sha512 = "jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==";
       };
     }
     {
-      name = "jest_leak_detector___jest_leak_detector_27.0.6.tgz";
+      name = "jest_leak_detector___jest_leak_detector_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_leak_detector___jest_leak_detector_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.0.6.tgz";
-        sha1 = "545854275f85450d4ef4b8fe305ca2a26450450f";
+        name = "jest_leak_detector___jest_leak_detector_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz";
+        sha512 = "POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==";
       };
     }
     {
-      name = "jest_matcher_utils___jest_matcher_utils_27.0.6.tgz";
+      name = "jest_matcher_utils___jest_matcher_utils_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_matcher_utils___jest_matcher_utils_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.0.6.tgz";
-        sha1 = "2a8da1e86c620b39459f4352eaa255f0d43e39a9";
+        name = "jest_matcher_utils___jest_matcher_utils_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz";
+        sha512 = "z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==";
       };
     }
     {
-      name = "jest_message_util___jest_message_util_27.0.6.tgz";
+      name = "jest_message_util___jest_message_util_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_message_util___jest_message_util_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.0.6.tgz";
-        sha1 = "158bcdf4785706492d164a39abca6a14da5ab8b5";
+        name = "jest_message_util___jest_message_util_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.1.tgz";
+        sha512 = "rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==";
       };
     }
     {
-      name = "jest_mock___jest_mock_27.0.6.tgz";
+      name = "jest_mock___jest_mock_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_mock___jest_mock_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.0.6.tgz";
-        sha1 = "0efdd40851398307ba16778728f6d34d583e3467";
+        name = "jest_mock___jest_mock_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz";
+        sha512 = "K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==";
       };
     }
     {
@@ -2990,103 +2934,103 @@
       path = fetchurl {
         name = "jest_pnp_resolver___jest_pnp_resolver_1.2.2.tgz";
         url  = "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz";
-        sha1 = "b704ac0ae028a89108a4d040b3f919dfddc8e33c";
+        sha512 = "olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==";
       };
     }
     {
-      name = "jest_regex_util___jest_regex_util_27.0.6.tgz";
+      name = "jest_regex_util___jest_regex_util_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_regex_util___jest_regex_util_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.6.tgz";
-        sha1 = "02e112082935ae949ce5d13b2675db3d8c87d9c5";
+        name = "jest_regex_util___jest_regex_util_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz";
+        sha512 = "4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==";
       };
     }
     {
-      name = "jest_resolve_dependencies___jest_resolve_dependencies_27.0.6.tgz";
+      name = "jest_resolve_dependencies___jest_resolve_dependencies_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_resolve_dependencies___jest_resolve_dependencies_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.6.tgz";
-        sha1 = "3e619e0ef391c3ecfcf6ef4056207a3d2be3269f";
+        name = "jest_resolve_dependencies___jest_resolve_dependencies_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz";
+        sha512 = "QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==";
       };
     }
     {
-      name = "jest_resolve___jest_resolve_27.0.6.tgz";
+      name = "jest_resolve___jest_resolve_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_resolve___jest_resolve_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.0.6.tgz";
-        sha1 = "e90f436dd4f8fbf53f58a91c42344864f8e55bff";
+        name = "jest_resolve___jest_resolve_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.1.tgz";
+        sha512 = "FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==";
       };
     }
     {
-      name = "jest_runner___jest_runner_27.0.6.tgz";
+      name = "jest_runner___jest_runner_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_runner___jest_runner_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.0.6.tgz";
-        sha1 = "1325f45055539222bbc7256a6976e993ad2f9520";
+        name = "jest_runner___jest_runner_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.5.1.tgz";
+        sha512 = "g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==";
       };
     }
     {
-      name = "jest_runtime___jest_runtime_27.0.6.tgz";
+      name = "jest_runtime___jest_runtime_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_runtime___jest_runtime_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.0.6.tgz";
-        sha1 = "45877cfcd386afdd4f317def551fc369794c27c9";
+        name = "jest_runtime___jest_runtime_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.5.1.tgz";
+        sha512 = "o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==";
       };
     }
     {
-      name = "jest_serializer___jest_serializer_27.0.6.tgz";
+      name = "jest_serializer___jest_serializer_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_serializer___jest_serializer_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.0.6.tgz";
-        sha1 = "93a6c74e0132b81a2d54623251c46c498bb5bec1";
+        name = "jest_serializer___jest_serializer_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz";
+        sha512 = "jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==";
       };
     }
     {
-      name = "jest_snapshot___jest_snapshot_27.0.6.tgz";
+      name = "jest_snapshot___jest_snapshot_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_snapshot___jest_snapshot_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.0.6.tgz";
-        sha1 = "f4e6b208bd2e92e888344d78f0f650bcff05a4bf";
+        name = "jest_snapshot___jest_snapshot_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz";
+        sha512 = "yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==";
       };
     }
     {
-      name = "jest_util___jest_util_27.0.6.tgz";
+      name = "jest_util___jest_util_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_util___jest_util_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-util/-/jest-util-27.0.6.tgz";
-        sha1 = "e8e04eec159de2f4d5f57f795df9cdc091e50297";
+        name = "jest_util___jest_util_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz";
+        sha512 = "Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==";
       };
     }
     {
-      name = "jest_validate___jest_validate_27.0.6.tgz";
+      name = "jest_validate___jest_validate_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_validate___jest_validate_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.0.6.tgz";
-        sha1 = "930a527c7a951927df269f43b2dc23262457e2a6";
+        name = "jest_validate___jest_validate_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.1.tgz";
+        sha512 = "thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==";
       };
     }
     {
-      name = "jest_watcher___jest_watcher_27.0.6.tgz";
+      name = "jest_watcher___jest_watcher_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_watcher___jest_watcher_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.0.6.tgz";
-        sha1 = "89526f7f9edf1eac4e4be989bcb6dec6b8878d9c";
+        name = "jest_watcher___jest_watcher_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.1.tgz";
+        sha512 = "z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==";
       };
     }
     {
-      name = "jest_worker___jest_worker_27.0.6.tgz";
+      name = "jest_worker___jest_worker_27.5.1.tgz";
       path = fetchurl {
-        name = "jest_worker___jest_worker_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.6.tgz";
-        sha1 = "a5fdb1e14ad34eb228cfe162d9f729cdbfa28aed";
+        name = "jest_worker___jest_worker_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz";
+        sha512 = "7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==";
       };
     }
     {
-      name = "jest___jest_27.0.6.tgz";
+      name = "jest___jest_27.5.1.tgz";
       path = fetchurl {
-        name = "jest___jest_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/jest/-/jest-27.0.6.tgz";
-        sha1 = "10517b2a628f0409087fbf473db44777d7a04505";
+        name = "jest___jest_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/jest/-/jest-27.5.1.tgz";
+        sha512 = "Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==";
       };
     }
     {
@@ -3094,7 +3038,7 @@
       path = fetchurl {
         name = "js_tokens___js_tokens_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz";
-        sha1 = "19203fb59991df98e3a287050d4647cdeaf32499";
+        sha512 = "RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==";
       };
     }
     {
@@ -3102,7 +3046,7 @@
       path = fetchurl {
         name = "js_yaml___js_yaml_3.14.1.tgz";
         url  = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz";
-        sha1 = "dae812fdb3825fa306609a8717383c50c36a0537";
+        sha512 = "okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==";
       };
     }
     {
@@ -3110,15 +3054,15 @@
       path = fetchurl {
         name = "js_yaml___js_yaml_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz";
-        sha1 = "c1fb65f8f5017901cdd2c951864ba18458a10602";
+        sha512 = "wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==";
       };
     }
     {
-      name = "jsdom___jsdom_16.6.0.tgz";
+      name = "jsdom___jsdom_16.7.0.tgz";
       path = fetchurl {
-        name = "jsdom___jsdom_16.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/jsdom/-/jsdom-16.6.0.tgz";
-        sha1 = "f79b3786682065492a3da6a60a4695da983805ac";
+        name = "jsdom___jsdom_16.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz";
+        sha512 = "u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==";
       };
     }
     {
@@ -3126,7 +3070,7 @@
       path = fetchurl {
         name = "jsesc___jsesc_2.5.2.tgz";
         url  = "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz";
-        sha1 = "80564d2e483dacf6e8ef209650a67df3f0c283a4";
+        sha512 = "OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==";
       };
     }
     {
@@ -3134,23 +3078,23 @@
       path = fetchurl {
         name = "json_buffer___json_buffer_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz";
-        sha1 = "5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898";
+        sha1 = "Wx85evx11ne96Lz8Dkfh+aPZqJg=";
       };
     }
     {
-      name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz";
+      name = "json_parse_even_better_errors___json_parse_even_better_errors_2.3.1.tgz";
       path = fetchurl {
-        name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
-        sha1 = "69f6a87d9513ab8bb8fe63bdb0979c448e684660";
+        name = "json_parse_even_better_errors___json_parse_even_better_errors_2.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz";
+        sha512 = "xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==";
       };
     }
     {
-      name = "json_schema_traverse___json_schema_traverse_1.0.0.tgz";
+      name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz";
       path = fetchurl {
-        name = "json_schema_traverse___json_schema_traverse_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz";
-        sha1 = "ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2";
+        name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
+        sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==";
       };
     }
     {
@@ -3158,7 +3102,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 = "9db7b59496ad3f3cfef30a75142d2d930ad72651";
+        sha1 = "nbe1lJatPzz+8wp1FC0tkwrXJlE=";
       };
     }
     {
@@ -3166,15 +3110,15 @@
       path = fetchurl {
         name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz";
         url  = "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
-        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+        sha1 = "Epai1Y/UXxmg9s4B1lcB4sc1tus=";
       };
     }
     {
-      name = "json5___json5_2.2.0.tgz";
+      name = "json5___json5_2.2.1.tgz";
       path = fetchurl {
-        name = "json5___json5_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz";
-        sha1 = "2dfefe720c6ba525d9ebd909950f0515316c89a3";
+        name = "json5___json5_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz";
+        sha512 = "1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==";
       };
     }
     {
@@ -3182,7 +3126,7 @@
       path = fetchurl {
         name = "jsonfile___jsonfile_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz";
-        sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb";
+        sha1 = "h3Gq4HmbZAdrdmQPygWPnBDjPss=";
       };
     }
     {
@@ -3190,7 +3134,7 @@
       path = fetchurl {
         name = "jsonfile___jsonfile_6.1.0.tgz";
         url  = "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz";
-        sha1 = "bc55b2634793c679ec6403094eb13698a6ec0aae";
+        sha512 = "5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==";
       };
     }
     {
@@ -3198,7 +3142,7 @@
       path = fetchurl {
         name = "keyv___keyv_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz";
-        sha1 = "ecc228486f69991e49e9476485a5be1e8fc5c4d9";
+        sha512 = "9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==";
       };
     }
     {
@@ -3206,7 +3150,7 @@
       path = fetchurl {
         name = "kleur___kleur_3.0.3.tgz";
         url  = "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz";
-        sha1 = "a79c9ecc86ee1ce3fa6206d1216c501f147fc07e";
+        sha512 = "eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==";
       };
     }
     {
@@ -3214,7 +3158,7 @@
       path = fetchurl {
         name = "latest_version___latest_version_5.1.0.tgz";
         url  = "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz";
-        sha1 = "119dfe908fe38d15dfa43ecd13fa12ec8832face";
+        sha512 = "weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==";
       };
     }
     {
@@ -3222,15 +3166,7 @@
       path = fetchurl {
         name = "lazy_val___lazy_val_1.0.5.tgz";
         url  = "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.5.tgz";
-        sha1 = "6cf3b9f5bc31cee7ee3e369c0832b7583dcd923d";
-      };
-    }
-    {
-      name = "lazystream___lazystream_1.0.0.tgz";
-      path = fetchurl {
-        name = "lazystream___lazystream_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz";
-        sha1 = "f6995fe0f820392f61396be89462407bb77168e4";
+        sha512 = "0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==";
       };
     }
     {
@@ -3238,7 +3174,7 @@
       path = fetchurl {
         name = "leven___leven_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz";
-        sha1 = "77891de834064cccba82ae7842bb6b14a13ed7f2";
+        sha512 = "qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==";
       };
     }
     {
@@ -3246,7 +3182,7 @@
       path = fetchurl {
         name = "levn___levn_0.4.1.tgz";
         url  = "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz";
-        sha1 = "ae4562c007473b932a6200d403268dd2fffc6ade";
+        sha512 = "+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==";
       };
     }
     {
@@ -3254,63 +3190,23 @@
       path = fetchurl {
         name = "levn___levn_0.3.0.tgz";
         url  = "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz";
-        sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee";
-      };
-    }
-    {
-      name = "locate_path___locate_path_5.0.0.tgz";
-      path = fetchurl {
-        name = "locate_path___locate_path_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz";
-        sha1 = "1afba396afd676a6d42504d0a67a3a7eb9f62aa0";
-      };
-    }
-    {
-      name = "lodash.clonedeep___lodash.clonedeep_4.5.0.tgz";
-      path = fetchurl {
-        name = "lodash.clonedeep___lodash.clonedeep_4.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz";
-        sha1 = "e23f3f9c4f8fbdde872529c1071857a086e5ccef";
-      };
-    }
-    {
-      name = "lodash.defaults___lodash.defaults_4.2.0.tgz";
-      path = fetchurl {
-        name = "lodash.defaults___lodash.defaults_4.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz";
-        sha1 = "d09178716ffea4dde9e5fb7b37f6f0802274580c";
-      };
-    }
-    {
-      name = "lodash.difference___lodash.difference_4.5.0.tgz";
-      path = fetchurl {
-        name = "lodash.difference___lodash.difference_4.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz";
-        sha1 = "9ccb4e505d486b91651345772885a2df27fd017c";
-      };
-    }
-    {
-      name = "lodash.flatten___lodash.flatten_4.4.0.tgz";
-      path = fetchurl {
-        name = "lodash.flatten___lodash.flatten_4.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz";
-        sha1 = "f31c22225a9632d2bbf8e4addbef240aa765a61f";
+        sha1 = "OwmSTt+fCDwEkP3UwLxEIeBHZO4=";
       };
     }
     {
-      name = "lodash.isplainobject___lodash.isplainobject_4.0.6.tgz";
+      name = "lines_and_columns___lines_and_columns_1.2.4.tgz";
       path = fetchurl {
-        name = "lodash.isplainobject___lodash.isplainobject_4.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz";
-        sha1 = "7c526a52d89b45c45cc690b88163be0497f550cb";
+        name = "lines_and_columns___lines_and_columns_1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz";
+        sha512 = "7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==";
       };
     }
     {
-      name = "lodash.memoize___lodash.memoize_4.1.2.tgz";
+      name = "locate_path___locate_path_5.0.0.tgz";
       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 = "bcc6c49a42a2840ed997f323eada5ecd182e0bfe";
+        name = "locate_path___locate_path_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz";
+        sha512 = "t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==";
       };
     }
     {
@@ -3318,23 +3214,7 @@
       path = fetchurl {
         name = "lodash.merge___lodash.merge_4.6.2.tgz";
         url  = "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz";
-        sha1 = "558aa53b43b661e1925a0afdfa36a9a1085fe57a";
-      };
-    }
-    {
-      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 = "5a350da0b1113b837ecfffd5812cbe58d6eae193";
-      };
-    }
-    {
-      name = "lodash.union___lodash.union_4.6.0.tgz";
-      path = fetchurl {
-        name = "lodash.union___lodash.union_4.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz";
-        sha1 = "48bb5088409f16f1821666641c44dd1aaae3cd88";
+        sha512 = "0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==";
       };
     }
     {
@@ -3342,7 +3222,7 @@
       path = fetchurl {
         name = "lodash___lodash_4.17.21.tgz";
         url  = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz";
-        sha1 = "679591c564c3bffaae8454cf0b3df370c3d6911c";
+        sha512 = "v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==";
       };
     }
     {
@@ -3350,7 +3230,7 @@
       path = fetchurl {
         name = "lowercase_keys___lowercase_keys_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz";
-        sha1 = "6f9e30b47084d971a7c820ff15a6c5167b74c26f";
+        sha512 = "G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==";
       };
     }
     {
@@ -3358,7 +3238,7 @@
       path = fetchurl {
         name = "lowercase_keys___lowercase_keys_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz";
-        sha1 = "2603e78b7b4b0006cbca2fbcc8a3202558ac9479";
+        sha512 = "tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==";
       };
     }
     {
@@ -3366,7 +3246,7 @@
       path = fetchurl {
         name = "lru_cache___lru_cache_6.0.0.tgz";
         url  = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz";
-        sha1 = "6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94";
+        sha512 = "Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==";
       };
     }
     {
@@ -3374,15 +3254,15 @@
       path = fetchurl {
         name = "make_dir___make_dir_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz";
-        sha1 = "415e967046b3a7f1d185277d84aa58203726a13f";
+        sha512 = "g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==";
       };
     }
     {
-      name = "makeerror___makeerror_1.0.11.tgz";
+      name = "makeerror___makeerror_1.0.12.tgz";
       path = fetchurl {
-        name = "makeerror___makeerror_1.0.11.tgz";
-        url  = "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz";
-        sha1 = "e01a5c9109f2af79660e4e8b9587790184f5a96c";
+        name = "makeerror___makeerror_1.0.12.tgz";
+        url  = "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz";
+        sha512 = "JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==";
       };
     }
     {
@@ -3390,7 +3270,7 @@
       path = fetchurl {
         name = "matcher___matcher_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz";
-        sha1 = "bd9060f4c5b70aa8041ccc6f80368760994f30ca";
+        sha512 = "OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==";
       };
     }
     {
@@ -3398,7 +3278,7 @@
       path = fetchurl {
         name = "merge_stream___merge_stream_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz";
-        sha1 = "52823629a14dd00c9770fb6ad47dc6310f2c1f60";
+        sha512 = "abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==";
       };
     }
     {
@@ -3406,31 +3286,31 @@
       path = fetchurl {
         name = "micromatch___micromatch_4.0.4.tgz";
         url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz";
-        sha1 = "896d519dfe9db25fce94ceb7a500919bf881ebf9";
+        sha512 = "pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==";
       };
     }
     {
-      name = "mime_db___mime_db_1.48.0.tgz";
+      name = "mime_db___mime_db_1.52.0.tgz";
       path = fetchurl {
-        name = "mime_db___mime_db_1.48.0.tgz";
-        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.48.0.tgz";
-        sha1 = "e35b31045dd7eada3aaad537ed88a33afbef2d1d";
+        name = "mime_db___mime_db_1.52.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz";
+        sha512 = "sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==";
       };
     }
     {
-      name = "mime_types___mime_types_2.1.31.tgz";
+      name = "mime_types___mime_types_2.1.35.tgz";
       path = fetchurl {
-        name = "mime_types___mime_types_2.1.31.tgz";
-        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.31.tgz";
-        sha1 = "a00d76b74317c61f9c2db2218b8e9f8e9c5c9e6b";
+        name = "mime_types___mime_types_2.1.35.tgz";
+        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz";
+        sha512 = "ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==";
       };
     }
     {
-      name = "mime___mime_2.5.2.tgz";
+      name = "mime___mime_2.6.0.tgz";
       path = fetchurl {
-        name = "mime___mime_2.5.2.tgz";
-        url  = "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz";
-        sha1 = "6e3dc6cc2b9510643830e5f19d5cb753da5eeabe";
+        name = "mime___mime_2.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz";
+        sha512 = "USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==";
       };
     }
     {
@@ -3438,7 +3318,7 @@
       path = fetchurl {
         name = "mimic_fn___mimic_fn_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz";
-        sha1 = "7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b";
+        sha512 = "OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==";
       };
     }
     {
@@ -3446,7 +3326,7 @@
       path = fetchurl {
         name = "mimic_response___mimic_response_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz";
-        sha1 = "4923538878eef42063cb8a3e3b0798781487ab1b";
+        sha512 = "j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==";
       };
     }
     {
@@ -3454,23 +3334,31 @@
       path = fetchurl {
         name = "minimatch___minimatch_3.0.4.tgz";
         url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz";
-        sha1 = "5166e286457f03306064be5497e8dbb0c3d32083";
+        sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
+      };
+    }
+    {
+      name = "minimatch___minimatch_3.1.2.tgz";
+      path = fetchurl {
+        name = "minimatch___minimatch_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz";
+        sha512 = "J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==";
       };
     }
     {
-      name = "minimist___minimist_1.2.5.tgz";
+      name = "minimist___minimist_1.2.6.tgz";
       path = fetchurl {
-        name = "minimist___minimist_1.2.5.tgz";
-        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz";
-        sha1 = "67d66014b66a6a8aaa0c083c5fd58df4e4e97602";
+        name = "minimist___minimist_1.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz";
+        sha512 = "Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==";
       };
     }
     {
-      name = "mkdirp___mkdirp_0.5.5.tgz";
+      name = "mkdirp___mkdirp_0.5.6.tgz";
       path = fetchurl {
-        name = "mkdirp___mkdirp_0.5.5.tgz";
-        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz";
-        sha1 = "d91cefd62d1436ca0f41620e251288d420099def";
+        name = "mkdirp___mkdirp_0.5.6.tgz";
+        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz";
+        sha512 = "FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==";
       };
     }
     {
@@ -3478,7 +3366,7 @@
       path = fetchurl {
         name = "ms___ms_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz";
-        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+        sha1 = "VgiurfwAvmwpAd9fmGF4jeDVl8g=";
       };
     }
     {
@@ -3486,7 +3374,7 @@
       path = fetchurl {
         name = "ms___ms_2.1.2.tgz";
         url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz";
-        sha1 = "d09d1f357b443f493382a8eb3ccd183872ae6009";
+        sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==";
       };
     }
     {
@@ -3494,7 +3382,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 = "4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7";
+        sha1 = "Sr6/7tdUHywnrPspvbvRXI1bpPc=";
       };
     }
     {
@@ -3502,7 +3390,7 @@
       path = fetchurl {
         name = "node_addon_api___node_addon_api_1.7.2.tgz";
         url  = "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz";
-        sha1 = "3df30b95720b53c24e59948b49532b662444f54d";
+        sha512 = "ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==";
       };
     }
     {
@@ -3510,23 +3398,15 @@
       path = fetchurl {
         name = "node_int64___node_int64_0.4.0.tgz";
         url  = "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz";
-        sha1 = "87a9065cdb355d3182d8f94ce11188b825c68a3b";
+        sha1 = "h6kGXNs1XTGC2PlM4RGIuCXGijs=";
       };
     }
     {
-      name = "node_modules_regexp___node_modules_regexp_1.0.0.tgz";
+      name = "node_releases___node_releases_2.0.2.tgz";
       path = fetchurl {
-        name = "node_modules_regexp___node_modules_regexp_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz";
-        sha1 = "8d9dbe28964a4ac5712e9131642107c71e90ec40";
-      };
-    }
-    {
-      name = "node_releases___node_releases_1.1.73.tgz";
-      path = fetchurl {
-        name = "node_releases___node_releases_1.1.73.tgz";
-        url  = "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.73.tgz";
-        sha1 = "dd4e81ddd5277ff846b80b52bb40c49edf7a7b20";
+        name = "node_releases___node_releases_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz";
+        sha512 = "XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==";
       };
     }
     {
@@ -3534,7 +3414,7 @@
       path = fetchurl {
         name = "normalize_path___normalize_path_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz";
-        sha1 = "0dcd69ff23a1c9b11fd0978316644a0388216a65";
+        sha512 = "6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==";
       };
     }
     {
@@ -3542,7 +3422,7 @@
       path = fetchurl {
         name = "normalize_url___normalize_url_4.5.1.tgz";
         url  = "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz";
-        sha1 = "0dd90cf1288ee1d1313b87081c9a5932ee48518a";
+        sha512 = "9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==";
       };
     }
     {
@@ -3550,7 +3430,7 @@
       path = fetchurl {
         name = "npm_conf___npm_conf_1.1.3.tgz";
         url  = "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz";
-        sha1 = "256cc47bd0e218c259c4e9550bf413bc2192aff9";
+        sha512 = "Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==";
       };
     }
     {
@@ -3558,7 +3438,7 @@
       path = fetchurl {
         name = "npm_run_path___npm_run_path_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz";
-        sha1 = "b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea";
+        sha512 = "S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==";
       };
     }
     {
@@ -3566,7 +3446,7 @@
       path = fetchurl {
         name = "nwsapi___nwsapi_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz";
-        sha1 = "204879a9e3d068ff2a55139c2c772780681a38b7";
+        sha512 = "h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==";
       };
     }
     {
@@ -3574,7 +3454,7 @@
       path = fetchurl {
         name = "object_keys___object_keys_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz";
-        sha1 = "1c47f272df277f3b1daf061677d9c82e2322c60e";
+        sha512 = "NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==";
       };
     }
     {
@@ -3582,7 +3462,7 @@
       path = fetchurl {
         name = "once___once_1.4.0.tgz";
         url  = "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz";
-        sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+        sha1 = "WDsap3WWHUsROsF9nFC6753Xa9E=";
       };
     }
     {
@@ -3590,7 +3470,7 @@
       path = fetchurl {
         name = "onetime___onetime_5.1.2.tgz";
         url  = "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz";
-        sha1 = "d0e96ebb56b07476df1dd9c4806e5237985ca45e";
+        sha512 = "kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==";
       };
     }
     {
@@ -3598,7 +3478,7 @@
       path = fetchurl {
         name = "optionator___optionator_0.8.3.tgz";
         url  = "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz";
-        sha1 = "84fa1d036fe9d3c7e21d99884b601167ec8fb495";
+        sha512 = "+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==";
       };
     }
     {
@@ -3606,7 +3486,7 @@
       path = fetchurl {
         name = "optionator___optionator_0.9.1.tgz";
         url  = "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz";
-        sha1 = "4f236a6373dae0566a6d43e1326674f50c291499";
+        sha512 = "74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==";
       };
     }
     {
@@ -3614,15 +3494,7 @@
       path = fetchurl {
         name = "p_cancelable___p_cancelable_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz";
-        sha1 = "d078d15a3af409220c886f1d9a0ca2e441ab26cc";
-      };
-    }
-    {
-      name = "p_each_series___p_each_series_2.2.0.tgz";
-      path = fetchurl {
-        name = "p_each_series___p_each_series_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz";
-        sha1 = "105ab0357ce72b202a8a8b94933672657b5e2a9a";
+        sha512 = "s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==";
       };
     }
     {
@@ -3630,7 +3502,7 @@
       path = fetchurl {
         name = "p_limit___p_limit_2.3.0.tgz";
         url  = "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz";
-        sha1 = "3dd33c647a214fdfffd835933eb086da0dc21db1";
+        sha512 = "//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==";
       };
     }
     {
@@ -3638,7 +3510,7 @@
       path = fetchurl {
         name = "p_locate___p_locate_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz";
-        sha1 = "a3428bb7088b3a60292f66919278b7c297ad4f07";
+        sha512 = "R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==";
       };
     }
     {
@@ -3646,7 +3518,7 @@
       path = fetchurl {
         name = "p_try___p_try_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz";
-        sha1 = "cb2868540e313d61de58fafbe35ce9004d5540e6";
+        sha512 = "R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==";
       };
     }
     {
@@ -3654,7 +3526,7 @@
       path = fetchurl {
         name = "package_json___package_json_6.5.0.tgz";
         url  = "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz";
-        sha1 = "6feedaca35e75725876d0b0e64974697fed145b0";
+        sha512 = "k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==";
       };
     }
     {
@@ -3662,7 +3534,15 @@
       path = fetchurl {
         name = "parent_module___parent_module_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz";
-        sha1 = "691d2709e78c79fae3a156622452d00762caaaa2";
+        sha512 = "GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==";
+      };
+    }
+    {
+      name = "parse_json___parse_json_5.2.0.tgz";
+      path = fetchurl {
+        name = "parse_json___parse_json_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz";
+        sha512 = "ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==";
       };
     }
     {
@@ -3670,7 +3550,7 @@
       path = fetchurl {
         name = "parse5___parse5_6.0.1.tgz";
         url  = "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz";
-        sha1 = "e1a1c085c569b3dc08321184f19a39cc27f7c30b";
+        sha512 = "Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==";
       };
     }
     {
@@ -3678,7 +3558,7 @@
       path = fetchurl {
         name = "path_exists___path_exists_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz";
-        sha1 = "513bdbe2d3b95d7762e8c1137efa195c6c61b5b3";
+        sha512 = "ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==";
       };
     }
     {
@@ -3686,7 +3566,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 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
+        sha1 = "F0uSaHNVNP+8es5r9TpanhtcX18=";
       };
     }
     {
@@ -3694,7 +3574,7 @@
       path = fetchurl {
         name = "path_key___path_key_3.1.1.tgz";
         url  = "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz";
-        sha1 = "581f6ade658cbba65a0d3380de7753295054f375";
+        sha512 = "ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==";
       };
     }
     {
@@ -3702,7 +3582,7 @@
       path = fetchurl {
         name = "path_parse___path_parse_1.0.7.tgz";
         url  = "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz";
-        sha1 = "fbc114b60ca42b30d9daf5858e4bd68bbedb6735";
+        sha512 = "LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==";
       };
     }
     {
@@ -3710,15 +3590,23 @@
       path = fetchurl {
         name = "pend___pend_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz";
-        sha1 = "7a57eb550a6783f9115331fcf4663d5c8e007a50";
+        sha1 = "elfrVQpng/kRUzH89GY9XI4AelA=";
       };
     }
     {
-      name = "picomatch___picomatch_2.3.0.tgz";
+      name = "picocolors___picocolors_1.0.0.tgz";
       path = fetchurl {
-        name = "picomatch___picomatch_2.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz";
-        sha1 = "f1f061de8f6a4bf022892e2d128234fb98302972";
+        name = "picocolors___picocolors_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz";
+        sha512 = "1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==";
+      };
+    }
+    {
+      name = "picomatch___picomatch_2.3.1.tgz";
+      path = fetchurl {
+        name = "picomatch___picomatch_2.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz";
+        sha512 = "JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==";
       };
     }
     {
@@ -3726,15 +3614,15 @@
       path = fetchurl {
         name = "pify___pify_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz";
-        sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
+        sha1 = "5aSs0sEB/fPZpNB/DbxNtJ3SgXY=";
       };
     }
     {
-      name = "pirates___pirates_4.0.1.tgz";
+      name = "pirates___pirates_4.0.5.tgz";
       path = fetchurl {
-        name = "pirates___pirates_4.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz";
-        sha1 = "643a92caf894566f91b2b986d2c66950a8e2fb87";
+        name = "pirates___pirates_4.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz";
+        sha512 = "8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==";
       };
     }
     {
@@ -3742,15 +3630,15 @@
       path = fetchurl {
         name = "pkg_dir___pkg_dir_4.2.0.tgz";
         url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz";
-        sha1 = "f099133df7ede422e81d1d8448270eeb3e4261f3";
+        sha512 = "HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==";
       };
     }
     {
-      name = "plist___plist_3.0.2.tgz";
+      name = "plist___plist_3.0.4.tgz";
       path = fetchurl {
-        name = "plist___plist_3.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/plist/-/plist-3.0.2.tgz";
-        sha1 = "74bbf011124b90421c22d15779cee60060ba95bc";
+        name = "plist___plist_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/plist/-/plist-3.0.4.tgz";
+        sha512 = "ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg==";
       };
     }
     {
@@ -3758,7 +3646,7 @@
       path = fetchurl {
         name = "prelude_ls___prelude_ls_1.2.1.tgz";
         url  = "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz";
-        sha1 = "debc6489d7a6e6b0e7611888cec880337d316396";
+        sha512 = "vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==";
       };
     }
     {
@@ -3766,7 +3654,7 @@
       path = fetchurl {
         name = "prelude_ls___prelude_ls_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz";
-        sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54";
+        sha1 = "IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=";
       };
     }
     {
@@ -3774,23 +3662,15 @@
       path = fetchurl {
         name = "prepend_http___prepend_http_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz";
-        sha1 = "e92434bfa5ea8c19f41cdfd401d741a3c819d897";
+        sha1 = "6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=";
       };
     }
     {
-      name = "pretty_format___pretty_format_27.0.6.tgz";
+      name = "pretty_format___pretty_format_27.5.1.tgz";
       path = fetchurl {
-        name = "pretty_format___pretty_format_27.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.0.6.tgz";
-        sha1 = "ab770c47b2c6f893a21aefc57b75da63ef49a11f";
-      };
-    }
-    {
-      name = "printj___printj_1.1.2.tgz";
-      path = fetchurl {
-        name = "printj___printj_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz";
-        sha1 = "d90deb2975a8b9f600fb3a1c94e3f4c53c78a222";
+        name = "pretty_format___pretty_format_27.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz";
+        sha512 = "Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==";
       };
     }
     {
@@ -3798,7 +3678,7 @@
       path = fetchurl {
         name = "process_nextick_args___process_nextick_args_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz";
-        sha1 = "7820d9b16120cc55ca9ae7792680ae7dba6d7fe2";
+        sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==";
       };
     }
     {
@@ -3806,15 +3686,15 @@
       path = fetchurl {
         name = "progress___progress_2.0.3.tgz";
         url  = "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz";
-        sha1 = "7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8";
+        sha512 = "7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==";
       };
     }
     {
-      name = "prompts___prompts_2.4.1.tgz";
+      name = "prompts___prompts_2.4.2.tgz";
       path = fetchurl {
-        name = "prompts___prompts_2.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/prompts/-/prompts-2.4.1.tgz";
-        sha1 = "befd3b1195ba052f9fd2fde8a486c4e82ee77f61";
+        name = "prompts___prompts_2.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz";
+        sha512 = "NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==";
       };
     }
     {
@@ -3822,7 +3702,7 @@
       path = fetchurl {
         name = "proto_list___proto_list_1.2.4.tgz";
         url  = "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz";
-        sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849";
+        sha1 = "IS1b/hMYMGpCD2QCuOJv85ZHqEk=";
       };
     }
     {
@@ -3830,7 +3710,7 @@
       path = fetchurl {
         name = "psl___psl_1.8.0.tgz";
         url  = "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz";
-        sha1 = "9326f8bcfb013adcc005fdff056acce020e51c24";
+        sha512 = "RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==";
       };
     }
     {
@@ -3838,7 +3718,7 @@
       path = fetchurl {
         name = "pump___pump_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz";
-        sha1 = "b4a2116815bde2f4e1ea602354e8c75565107a64";
+        sha512 = "LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==";
       };
     }
     {
@@ -3846,7 +3726,7 @@
       path = fetchurl {
         name = "punycode___punycode_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz";
-        sha1 = "b58b010ac40c22c5657616c8d2c2c02c7bf479ec";
+        sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==";
       };
     }
     {
@@ -3854,7 +3734,7 @@
       path = fetchurl {
         name = "pupa___pupa_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz";
-        sha1 = "f5e8fd4afc2c5d97828faa523549ed8744a20d62";
+        sha512 = "l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==";
       };
     }
     {
@@ -3862,7 +3742,7 @@
       path = fetchurl {
         name = "rc___rc_1.2.8.tgz";
         url  = "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz";
-        sha1 = "cd924bf5200a075b83c188cd6b9e211b7fc0d3ed";
+        sha512 = "y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==";
       };
     }
     {
@@ -3870,7 +3750,7 @@
       path = fetchurl {
         name = "react_is___react_is_17.0.2.tgz";
         url  = "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz";
-        sha1 = "e691d4a8e9c789365655539ab372762b0efb54f0";
+        sha512 = "w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==";
       };
     }
     {
@@ -3878,7 +3758,7 @@
       path = fetchurl {
         name = "read_config_file___read_config_file_6.2.0.tgz";
         url  = "https://registry.yarnpkg.com/read-config-file/-/read-config-file-6.2.0.tgz";
-        sha1 = "71536072330bcd62ba814f91458b12add9fc7ade";
+        sha512 = "gx7Pgr5I56JtYz+WuqEbQHj/xWo+5Vwua2jhb1VwM4Wid5PqYmZ4i00ZB0YEGIfkVBsCv9UrjgyqCiQfS/Oosg==";
       };
     }
     {
@@ -3886,23 +3766,7 @@
       path = fetchurl {
         name = "readable_stream___readable_stream_2.3.7.tgz";
         url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz";
-        sha1 = "1eca1cf711aef814c04f62252a36a62f6cb23b57";
-      };
-    }
-    {
-      name = "readable_stream___readable_stream_3.6.0.tgz";
-      path = fetchurl {
-        name = "readable_stream___readable_stream_3.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz";
-        sha1 = "337bbda3adc0706bd3e024426a286d4b4b2c9198";
-      };
-    }
-    {
-      name = "readdir_glob___readdir_glob_1.1.1.tgz";
-      path = fetchurl {
-        name = "readdir_glob___readdir_glob_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/readdir-glob/-/readdir-glob-1.1.1.tgz";
-        sha1 = "f0e10bb7bf7bfa7e0add8baffdc54c3f7dbee6c4";
+        sha512 = "Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==";
       };
     }
     {
@@ -3910,7 +3774,7 @@
       path = fetchurl {
         name = "regexpp___regexpp_3.2.0.tgz";
         url  = "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz";
-        sha1 = "0425a2768d8f23bad70ca4b90461fa2f1213e1b2";
+        sha512 = "pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==";
       };
     }
     {
@@ -3918,7 +3782,7 @@
       path = fetchurl {
         name = "registry_auth_token___registry_auth_token_4.2.1.tgz";
         url  = "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz";
-        sha1 = "6d7b4006441918972ccd5fedcd41dc322c79b250";
+        sha512 = "6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==";
       };
     }
     {
@@ -3926,7 +3790,7 @@
       path = fetchurl {
         name = "registry_url___registry_url_5.1.0.tgz";
         url  = "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz";
-        sha1 = "e98334b50d5434b81136b44ec638d9c2009c5009";
+        sha512 = "8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==";
       };
     }
     {
@@ -3934,23 +3798,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 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
-      };
-    }
-    {
-      name = "require_from_string___require_from_string_2.0.2.tgz";
-      path = fetchurl {
-        name = "require_from_string___require_from_string_2.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz";
-        sha1 = "89a7fdd938261267318eafe14f9c32e598c36909";
-      };
-    }
-    {
-      name = "requireindex___requireindex_1.2.0.tgz";
-      path = fetchurl {
-        name = "requireindex___requireindex_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/requireindex/-/requireindex-1.2.0.tgz";
-        sha1 = "3463cdb22ee151902635aa6c9535d4de9c2ef1ef";
+        sha1 = "jGStX9MNqxyXbiNE/+f3kqam30I=";
       };
     }
     {
@@ -3958,7 +3806,7 @@
       path = fetchurl {
         name = "resolve_cwd___resolve_cwd_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz";
-        sha1 = "0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d";
+        sha512 = "OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==";
       };
     }
     {
@@ -3966,7 +3814,7 @@
       path = fetchurl {
         name = "resolve_from___resolve_from_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz";
-        sha1 = "4abcd852ad32dd7baabfe9b40e00a36db5f392e6";
+        sha512 = "pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==";
       };
     }
     {
@@ -3974,15 +3822,23 @@
       path = fetchurl {
         name = "resolve_from___resolve_from_5.0.0.tgz";
         url  = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz";
-        sha1 = "c35225843df8f776df21c57557bc087e9dfdfc69";
+        sha512 = "qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==";
       };
     }
     {
-      name = "resolve___resolve_1.20.0.tgz";
+      name = "resolve.exports___resolve.exports_1.1.0.tgz";
       path = fetchurl {
-        name = "resolve___resolve_1.20.0.tgz";
-        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz";
-        sha1 = "629a013fb3f70755d6f0b7935cc1c2c5378b1975";
+        name = "resolve.exports___resolve.exports_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz";
+        sha512 = "J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==";
+      };
+    }
+    {
+      name = "resolve___resolve_1.22.0.tgz";
+      path = fetchurl {
+        name = "resolve___resolve_1.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz";
+        sha512 = "Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==";
       };
     }
     {
@@ -3990,7 +3846,7 @@
       path = fetchurl {
         name = "responselike___responselike_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz";
-        sha1 = "918720ef3b631c5642be068f15ade5a46f4ba1e7";
+        sha1 = "kYcg7ztjHFZCvgaPFa3lpG9Loec=";
       };
     }
     {
@@ -3998,7 +3854,7 @@
       path = fetchurl {
         name = "rimraf___rimraf_3.0.2.tgz";
         url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz";
-        sha1 = "f1a5402ba6220ad52cc1282bac1ae3aa49fd061a";
+        sha512 = "JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==";
       };
     }
     {
@@ -4006,7 +3862,7 @@
       path = fetchurl {
         name = "roarr___roarr_2.15.4.tgz";
         url  = "https://registry.yarnpkg.com/roarr/-/roarr-2.15.4.tgz";
-        sha1 = "f5fe795b7b838ccfe35dc608e0282b9eba2e7afd";
+        sha512 = "CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==";
       };
     }
     {
@@ -4014,15 +3870,7 @@
       path = fetchurl {
         name = "safe_buffer___safe_buffer_5.1.2.tgz";
         url  = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz";
-        sha1 = "991ec69d296e0313747d59bdfd2b745c35f8828d";
-      };
-    }
-    {
-      name = "safe_buffer___safe_buffer_5.2.1.tgz";
-      path = fetchurl {
-        name = "safe_buffer___safe_buffer_5.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz";
-        sha1 = "1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6";
+        sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
       };
     }
     {
@@ -4030,7 +3878,7 @@
       path = fetchurl {
         name = "safer_buffer___safer_buffer_2.1.2.tgz";
         url  = "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz";
-        sha1 = "44fa161b0187b9549dd84bb91802f9bd8385cd6a";
+        sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
       };
     }
     {
@@ -4038,7 +3886,7 @@
       path = fetchurl {
         name = "sanitize_filename___sanitize_filename_1.6.3.tgz";
         url  = "https://registry.yarnpkg.com/sanitize-filename/-/sanitize-filename-1.6.3.tgz";
-        sha1 = "755ebd752045931977e30b2025d340d7c9090378";
+        sha512 = "y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==";
       };
     }
     {
@@ -4046,7 +3894,7 @@
       path = fetchurl {
         name = "sax___sax_1.2.4.tgz";
         url  = "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz";
-        sha1 = "2816234e2378bddc4e5354fab5caa895df7100d9";
+        sha512 = "NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==";
       };
     }
     {
@@ -4054,7 +3902,7 @@
       path = fetchurl {
         name = "saxes___saxes_5.0.1.tgz";
         url  = "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz";
-        sha1 = "eebab953fa3b7608dbe94e5dadb15c888fa6696d";
+        sha512 = "5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==";
       };
     }
     {
@@ -4062,7 +3910,7 @@
       path = fetchurl {
         name = "semver_compare___semver_compare_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz";
-        sha1 = "0dee216a1c941ab37e9efb1788f6afc5ff5537fc";
+        sha1 = "De4hahyUGrN+nvsXiPavxf9VN/w=";
       };
     }
     {
@@ -4070,15 +3918,7 @@
       path = fetchurl {
         name = "semver_diff___semver_diff_3.1.1.tgz";
         url  = "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz";
-        sha1 = "05f77ce59f325e00e2706afd67bb506ddb1ca32b";
-      };
-    }
-    {
-      name = "semver___semver_7.3.2.tgz";
-      path = fetchurl {
-        name = "semver___semver_7.3.2.tgz";
-        url  = "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz";
-        sha1 = "604962b052b81ed0786aae84389ffba70ffd3938";
+        sha512 = "GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==";
       };
     }
     {
@@ -4086,7 +3926,7 @@
       path = fetchurl {
         name = "semver___semver_6.3.0.tgz";
         url  = "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz";
-        sha1 = "ee0a64c8af5e8ceea67687b133761e1becbd1d3d";
+        sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==";
       };
     }
     {
@@ -4094,7 +3934,7 @@
       path = fetchurl {
         name = "semver___semver_7.3.5.tgz";
         url  = "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz";
-        sha1 = "0b621c879348d8998e4b0e4be94b3f12e6018ef7";
+        sha512 = "PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==";
       };
     }
     {
@@ -4102,7 +3942,7 @@
       path = fetchurl {
         name = "serialize_error___serialize_error_7.0.1.tgz";
         url  = "https://registry.yarnpkg.com/serialize-error/-/serialize-error-7.0.1.tgz";
-        sha1 = "f1360b0447f61ffb483ec4157c737fab7d778e18";
+        sha512 = "8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==";
       };
     }
     {
@@ -4110,7 +3950,7 @@
       path = fetchurl {
         name = "shebang_command___shebang_command_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz";
-        sha1 = "ccd0af4f8835fbdc265b82461aaf0c36663f34ea";
+        sha512 = "kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==";
       };
     }
     {
@@ -4118,15 +3958,15 @@
       path = fetchurl {
         name = "shebang_regex___shebang_regex_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz";
-        sha1 = "ae16f1644d873ecad843b0307b143362d4c42172";
+        sha512 = "7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==";
       };
     }
     {
-      name = "signal_exit___signal_exit_3.0.3.tgz";
+      name = "signal_exit___signal_exit_3.0.7.tgz";
       path = fetchurl {
-        name = "signal_exit___signal_exit_3.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz";
-        sha1 = "a1410c2edd8f077b08b4e253c8eacfcaf057461c";
+        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==";
       };
     }
     {
@@ -4134,7 +3974,7 @@
       path = fetchurl {
         name = "sisteransi___sisteransi_1.0.5.tgz";
         url  = "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz";
-        sha1 = "134d681297756437cc05ca01370d3a7a571075ed";
+        sha512 = "bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==";
       };
     }
     {
@@ -4142,39 +3982,31 @@
       path = fetchurl {
         name = "slash___slash_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz";
-        sha1 = "6539be870c165adbd5240220dbe361f1bc4d4634";
+        sha512 = "g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==";
       };
     }
     {
-      name = "slice_ansi___slice_ansi_1.0.0.tgz";
+      name = "slice_ansi___slice_ansi_3.0.0.tgz";
       path = fetchurl {
-        name = "slice_ansi___slice_ansi_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz";
-        sha1 = "044f1a49d8842ff307aad6b505ed178bd950134d";
+        name = "slice_ansi___slice_ansi_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz";
+        sha512 = "pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==";
       };
     }
     {
-      name = "slice_ansi___slice_ansi_4.0.0.tgz";
+      name = "smart_buffer___smart_buffer_4.2.0.tgz";
       path = fetchurl {
-        name = "slice_ansi___slice_ansi_4.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz";
-        sha1 = "500e8dd0fd55b05815086255b3195adf2a45fe6b";
+        name = "smart_buffer___smart_buffer_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz";
+        sha512 = "94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==";
       };
     }
     {
-      name = "smart_buffer___smart_buffer_4.1.0.tgz";
+      name = "source_map_support___source_map_support_0.5.21.tgz";
       path = fetchurl {
-        name = "smart_buffer___smart_buffer_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.1.0.tgz";
-        sha1 = "91605c25d91652f4661ea69ccf45f1b331ca21ba";
-      };
-    }
-    {
-      name = "source_map_support___source_map_support_0.5.19.tgz";
-      path = fetchurl {
-        name = "source_map_support___source_map_support_0.5.19.tgz";
-        url  = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz";
-        sha1 = "a98b62f86dcaf4f67399648c085291ab9e8fed61";
+        name = "source_map_support___source_map_support_0.5.21.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz";
+        sha512 = "uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==";
       };
     }
     {
@@ -4182,7 +4014,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 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc";
+        sha1 = "igOdLRAh0i0eoUyA2OpGi6LvP8w=";
       };
     }
     {
@@ -4190,7 +4022,7 @@
       path = fetchurl {
         name = "source_map___source_map_0.6.1.tgz";
         url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz";
-        sha1 = "74722af32e9614e9c287a8d0bbde48b5e2f1a263";
+        sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
       };
     }
     {
@@ -4198,7 +4030,7 @@
       path = fetchurl {
         name = "source_map___source_map_0.7.3.tgz";
         url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz";
-        sha1 = "5302f8169031735226544092e64981f751750383";
+        sha512 = "CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==";
       };
     }
     {
@@ -4206,7 +4038,7 @@
       path = fetchurl {
         name = "sprintf_js___sprintf_js_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz";
-        sha1 = "da1765262bf8c0f571749f2ad6c26300207ae673";
+        sha512 = "VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==";
       };
     }
     {
@@ -4214,15 +4046,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 = "04e6926f662895354f3dd015203633b857297e2c";
+        sha1 = "BOaSb2YolTVPPdAVIDYzuFcpfiw=";
       };
     }
     {
-      name = "stack_utils___stack_utils_2.0.3.tgz";
+      name = "stack_utils___stack_utils_2.0.5.tgz";
       path = fetchurl {
-        name = "stack_utils___stack_utils_2.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz";
-        sha1 = "cd5f030126ff116b78ccb3c027fe302713b61277";
+        name = "stack_utils___stack_utils_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz";
+        sha512 = "xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==";
       };
     }
     {
@@ -4230,7 +4062,7 @@
       path = fetchurl {
         name = "stat_mode___stat_mode_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/stat-mode/-/stat-mode-1.0.0.tgz";
-        sha1 = "68b55cb61ea639ff57136f36b216a291800d1465";
+        sha512 = "jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==";
       };
     }
     {
@@ -4238,39 +4070,15 @@
       path = fetchurl {
         name = "string_length___string_length_4.0.2.tgz";
         url  = "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz";
-        sha1 = "a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a";
-      };
-    }
-    {
-      name = "string_width___string_width_2.1.1.tgz";
-      path = fetchurl {
-        name = "string_width___string_width_2.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz";
-        sha1 = "ab93f27a8dc13d28cac815c462143a6d9012ae9e";
-      };
-    }
-    {
-      name = "string_width___string_width_3.1.0.tgz";
-      path = fetchurl {
-        name = "string_width___string_width_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz";
-        sha1 = "22767be21b62af1081574306f69ac51b62203961";
+        sha512 = "+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==";
       };
     }
     {
-      name = "string_width___string_width_4.2.2.tgz";
+      name = "string_width___string_width_4.2.3.tgz";
       path = fetchurl {
-        name = "string_width___string_width_4.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz";
-        sha1 = "dafd4f9559a7585cfba529c6a0a4f73488ebd4c5";
-      };
-    }
-    {
-      name = "string_decoder___string_decoder_1.3.0.tgz";
-      path = fetchurl {
-        name = "string_decoder___string_decoder_1.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz";
-        sha1 = "42f114594a46cf1a8e30b0a84f56c78c3edac21e";
+        name = "string_width___string_width_4.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz";
+        sha512 = "wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==";
       };
     }
     {
@@ -4278,31 +4086,15 @@
       path = fetchurl {
         name = "string_decoder___string_decoder_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz";
-        sha1 = "9cf1611ba62685d7030ae9e4ba34149c3af03fc8";
-      };
-    }
-    {
-      name = "strip_ansi___strip_ansi_4.0.0.tgz";
-      path = fetchurl {
-        name = "strip_ansi___strip_ansi_4.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz";
-        sha1 = "a8479022eb1ac368a871389b635262c505ee368f";
+        sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==";
       };
     }
     {
-      name = "strip_ansi___strip_ansi_5.2.0.tgz";
+      name = "strip_ansi___strip_ansi_6.0.1.tgz";
       path = fetchurl {
-        name = "strip_ansi___strip_ansi_5.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz";
-        sha1 = "8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae";
-      };
-    }
-    {
-      name = "strip_ansi___strip_ansi_6.0.0.tgz";
-      path = fetchurl {
-        name = "strip_ansi___strip_ansi_6.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz";
-        sha1 = "0b1571dd7669ccd4f3e06e14ef1eed26225ae532";
+        name = "strip_ansi___strip_ansi_6.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz";
+        sha512 = "Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==";
       };
     }
     {
@@ -4310,7 +4102,7 @@
       path = fetchurl {
         name = "strip_bom___strip_bom_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz";
-        sha1 = "9c3505c1db45bcedca3d9cf7a16f5c5aa3901878";
+        sha512 = "3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==";
       };
     }
     {
@@ -4318,7 +4110,7 @@
       path = fetchurl {
         name = "strip_final_newline___strip_final_newline_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz";
-        sha1 = "89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad";
+        sha512 = "BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==";
       };
     }
     {
@@ -4326,7 +4118,7 @@
       path = fetchurl {
         name = "strip_json_comments___strip_json_comments_3.1.1.tgz";
         url  = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz";
-        sha1 = "31f1281b3832630434831c310c01cccda8cbe006";
+        sha512 = "6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==";
       };
     }
     {
@@ -4334,7 +4126,15 @@
       path = fetchurl {
         name = "strip_json_comments___strip_json_comments_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz";
-        sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a";
+        sha1 = "PFMZQukIwml8DsNEhYwobHygpgo=";
+      };
+    }
+    {
+      name = "strnum___strnum_1.0.5.tgz";
+      path = fetchurl {
+        name = "strnum___strnum_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz";
+        sha512 = "J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==";
       };
     }
     {
@@ -4342,7 +4142,7 @@
       path = fetchurl {
         name = "sumchecker___sumchecker_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/sumchecker/-/sumchecker-3.0.1.tgz";
-        sha1 = "6377e996795abb0b6d348e9b3e1dfb24345a8e42";
+        sha512 = "MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==";
       };
     }
     {
@@ -4350,7 +4150,7 @@
       path = fetchurl {
         name = "supports_color___supports_color_5.5.0.tgz";
         url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz";
-        sha1 = "e2e69a44ac8772f78a1ec0b35b689df6530efc8f";
+        sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==";
       };
     }
     {
@@ -4358,7 +4158,7 @@
       path = fetchurl {
         name = "supports_color___supports_color_7.2.0.tgz";
         url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz";
-        sha1 = "1b7dcdcb32b8138801b3e478ba6a51caa89648da";
+        sha512 = "qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==";
       };
     }
     {
@@ -4366,7 +4166,7 @@
       path = fetchurl {
         name = "supports_color___supports_color_8.1.1.tgz";
         url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz";
-        sha1 = "cd6fc17e28500cff56c1b86c0a7fd4a54a73005c";
+        sha512 = "MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==";
       };
     }
     {
@@ -4374,31 +4174,23 @@
       path = fetchurl {
         name = "supports_hyperlinks___supports_hyperlinks_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz";
-        sha1 = "4f77b42488765891774b70c79babd87f9bd594bb";
-      };
-    }
-    {
-      name = "symbol_tree___symbol_tree_3.2.4.tgz";
-      path = fetchurl {
-        name = "symbol_tree___symbol_tree_3.2.4.tgz";
-        url  = "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz";
-        sha1 = "430637d248ba77e078883951fb9aa0eed7c63fa2";
+        sha512 = "6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==";
       };
     }
     {
-      name = "table___table_6.7.1.tgz";
+      name = "supports_preserve_symlinks_flag___supports_preserve_symlinks_flag_1.0.0.tgz";
       path = fetchurl {
-        name = "table___table_6.7.1.tgz";
-        url  = "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz";
-        sha1 = "ee05592b7143831a8c94f3cee6aae4c1ccef33e2";
+        name = "supports_preserve_symlinks_flag___supports_preserve_symlinks_flag_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz";
+        sha512 = "ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==";
       };
     }
     {
-      name = "tar_stream___tar_stream_2.2.0.tgz";
+      name = "symbol_tree___symbol_tree_3.2.4.tgz";
       path = fetchurl {
-        name = "tar_stream___tar_stream_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz";
-        sha1 = "acad84c284136b060dc3faa64474aa9aebd77287";
+        name = "symbol_tree___symbol_tree_3.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz";
+        sha512 = "9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==";
       };
     }
     {
@@ -4406,7 +4198,7 @@
       path = fetchurl {
         name = "temp_file___temp_file_3.4.0.tgz";
         url  = "https://registry.yarnpkg.com/temp-file/-/temp-file-3.4.0.tgz";
-        sha1 = "766ea28911c683996c248ef1a20eea04d51652c7";
+        sha512 = "C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==";
       };
     }
     {
@@ -4414,7 +4206,7 @@
       path = fetchurl {
         name = "terminal_link___terminal_link_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz";
-        sha1 = "14a64a27ab3c0df933ea546fba55f2d078edc994";
+        sha512 = "un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==";
       };
     }
     {
@@ -4422,7 +4214,7 @@
       path = fetchurl {
         name = "test_exclude___test_exclude_6.0.0.tgz";
         url  = "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz";
-        sha1 = "04a8698661d805ea6fa293b6cb9e63ac044ef15e";
+        sha512 = "cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==";
       };
     }
     {
@@ -4430,7 +4222,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 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
+        sha1 = "f17oI66AUgfACvLfSoTsP8+lcLQ=";
       };
     }
     {
@@ -4438,31 +4230,31 @@
       path = fetchurl {
         name = "throat___throat_6.0.1.tgz";
         url  = "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz";
-        sha1 = "d514fedad95740c12c2d7fc70ea863eb51ade375";
+        sha512 = "8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==";
       };
     }
     {
-      name = "tldts_core___tldts_core_5.7.38.tgz";
+      name = "tldts_core___tldts_core_5.7.72.tgz";
       path = fetchurl {
-        name = "tldts_core___tldts_core_5.7.38.tgz";
-        url  = "https://registry.yarnpkg.com/tldts-core/-/tldts-core-5.7.38.tgz";
-        sha1 = "779092c90941803fb682c3d7094a88f12aad4508";
+        name = "tldts_core___tldts_core_5.7.72.tgz";
+        url  = "https://registry.yarnpkg.com/tldts-core/-/tldts-core-5.7.72.tgz";
+        sha512 = "UVnXJQbM3CGYwXVy16nNJHh/MWr7fcaEyd3DravwgZjWn0pPHuQ/ajtGonzi9F62Ld3d5r6zBlOTI7qLlLJR1Q==";
       };
     }
     {
-      name = "tldts_experimental___tldts_experimental_5.7.38.tgz";
+      name = "tldts_experimental___tldts_experimental_5.7.72.tgz";
       path = fetchurl {
-        name = "tldts_experimental___tldts_experimental_5.7.38.tgz";
-        url  = "https://registry.yarnpkg.com/tldts-experimental/-/tldts-experimental-5.7.38.tgz";
-        sha1 = "a2b03ae0282ee7439b1ed1618a1d7d2e9e66be78";
+        name = "tldts_experimental___tldts_experimental_5.7.72.tgz";
+        url  = "https://registry.yarnpkg.com/tldts-experimental/-/tldts-experimental-5.7.72.tgz";
+        sha512 = "Qg1FOnR8jCXBySOQVSaAmRZ4UiKse60MY7eTdx6oIaQ8ve+xGi+dXybb4+RN4cu9c4M7HOoGYkWERQ5tkBAPbg==";
       };
     }
     {
-      name = "tmp_promise___tmp_promise_3.0.2.tgz";
+      name = "tmp_promise___tmp_promise_3.0.3.tgz";
       path = fetchurl {
-        name = "tmp_promise___tmp_promise_3.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-3.0.2.tgz";
-        sha1 = "6e933782abff8b00c3119d63589ca1fb9caaa62a";
+        name = "tmp_promise___tmp_promise_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-3.0.3.tgz";
+        sha512 = "RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==";
       };
     }
     {
@@ -4470,15 +4262,15 @@
       path = fetchurl {
         name = "tmp___tmp_0.2.1.tgz";
         url  = "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz";
-        sha1 = "8457fc3037dcf4719c251367a1af6500ee1ccf14";
+        sha512 = "76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==";
       };
     }
     {
-      name = "tmpl___tmpl_1.0.4.tgz";
+      name = "tmpl___tmpl_1.0.5.tgz";
       path = fetchurl {
-        name = "tmpl___tmpl_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz";
-        sha1 = "23640dd7b42d00433911140820e5cf440e521dd1";
+        name = "tmpl___tmpl_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz";
+        sha512 = "3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==";
       };
     }
     {
@@ -4486,7 +4278,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 = "dc5e698cbd079265bc73e0377681a4e4e83f616e";
+        sha1 = "3F5pjL0HkmW8c+A3doGk5Og/YW4=";
       };
     }
     {
@@ -4494,7 +4286,7 @@
       path = fetchurl {
         name = "to_readable_stream___to_readable_stream_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz";
-        sha1 = "ce0aa0c2f3df6adf852efb404a783e77c0475771";
+        sha512 = "Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==";
       };
     }
     {
@@ -4502,7 +4294,7 @@
       path = fetchurl {
         name = "to_regex_range___to_regex_range_5.0.1.tgz";
         url  = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz";
-        sha1 = "1648c44aae7c8d988a326018ed72f5b4dd0392e4";
+        sha512 = "65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==";
       };
     }
     {
@@ -4510,7 +4302,7 @@
       path = fetchurl {
         name = "tough_cookie___tough_cookie_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz";
-        sha1 = "d822234eeca882f991f0f908824ad2622ddbece4";
+        sha512 = "tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==";
       };
     }
     {
@@ -4518,7 +4310,7 @@
       path = fetchurl {
         name = "tr46___tr46_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz";
-        sha1 = "fa87aa81ca5d5941da8cbf1f9b749dc969a4e240";
+        sha512 = "15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==";
       };
     }
     {
@@ -4526,7 +4318,7 @@
       path = fetchurl {
         name = "truncate_utf8_bytes___truncate_utf8_bytes_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz";
-        sha1 = "405923909592d56f78a5818434b0b78489ca5f2b";
+        sha1 = "QFkjkJWS1W94pYGENLC3hInKXys=";
       };
     }
     {
@@ -4534,7 +4326,7 @@
       path = fetchurl {
         name = "tunnel___tunnel_0.0.6.tgz";
         url  = "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz";
-        sha1 = "72f1314b34a5b192db012324df2cc587ca47f92c";
+        sha512 = "1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==";
       };
     }
     {
@@ -4542,7 +4334,7 @@
       path = fetchurl {
         name = "type_check___type_check_0.4.0.tgz";
         url  = "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz";
-        sha1 = "07b8203bfa7056c0657050e3ccd2c37730bab8f1";
+        sha512 = "XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==";
       };
     }
     {
@@ -4550,7 +4342,7 @@
       path = fetchurl {
         name = "type_check___type_check_0.3.2.tgz";
         url  = "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz";
-        sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72";
+        sha1 = "WITKtRLPHTVeP7eE8wgEsrUg23I=";
       };
     }
     {
@@ -4558,7 +4350,7 @@
       path = fetchurl {
         name = "type_detect___type_detect_4.0.8.tgz";
         url  = "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz";
-        sha1 = "7646fb5f18871cfbb7749e69bd39a6388eb7450c";
+        sha512 = "0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==";
       };
     }
     {
@@ -4566,7 +4358,7 @@
       path = fetchurl {
         name = "type_fest___type_fest_0.13.1.tgz";
         url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz";
-        sha1 = "0172cb5bce80b0bd542ea348db50c7e21834d934";
+        sha512 = "34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==";
       };
     }
     {
@@ -4574,7 +4366,7 @@
       path = fetchurl {
         name = "type_fest___type_fest_0.20.2.tgz";
         url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz";
-        sha1 = "1bf207f4b28f91583666cb5fbd327887301cd5f4";
+        sha512 = "Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==";
       };
     }
     {
@@ -4582,7 +4374,7 @@
       path = fetchurl {
         name = "type_fest___type_fest_0.21.3.tgz";
         url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz";
-        sha1 = "d260a24b0198436e133fa26a524a6d65fa3b2e37";
+        sha512 = "t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==";
       };
     }
     {
@@ -4590,7 +4382,7 @@
       path = fetchurl {
         name = "typedarray_to_buffer___typedarray_to_buffer_3.1.5.tgz";
         url  = "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz";
-        sha1 = "a97ee7a9ff42691b9f783ff1bc5112fe3fca9080";
+        sha512 = "zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==";
       };
     }
     {
@@ -4598,7 +4390,7 @@
       path = fetchurl {
         name = "typedarray___typedarray_0.0.6.tgz";
         url  = "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz";
-        sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
+        sha1 = "hnrHTjhkGHsdPUfZlqeOxciDB3c=";
       };
     }
     {
@@ -4606,7 +4398,7 @@
       path = fetchurl {
         name = "unique_string___unique_string_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz";
-        sha1 = "39c6451f81afb2749de2b233e3f7c5e8843bd89d";
+        sha512 = "uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==";
       };
     }
     {
@@ -4614,7 +4406,7 @@
       path = fetchurl {
         name = "universalify___universalify_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz";
-        sha1 = "b646f69be3942dabcecc9d6639c80dc105efaa66";
+        sha512 = "rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==";
       };
     }
     {
@@ -4622,7 +4414,7 @@
       path = fetchurl {
         name = "universalify___universalify_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz";
-        sha1 = "75a4984efedc4b08975c5aeb73f530d02df25717";
+        sha512 = "hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==";
       };
     }
     {
@@ -4630,7 +4422,7 @@
       path = fetchurl {
         name = "update_notifier___update_notifier_5.1.0.tgz";
         url  = "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz";
-        sha1 = "4ab0d7c7f36a231dd7316cf7729313f0214d9ad9";
+        sha512 = "ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==";
       };
     }
     {
@@ -4638,7 +4430,7 @@
       path = fetchurl {
         name = "uri_js___uri_js_4.4.1.tgz";
         url  = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz";
-        sha1 = "9b1a52595225859e55f669d928f88c6c57f2a77e";
+        sha512 = "7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==";
       };
     }
     {
@@ -4646,7 +4438,7 @@
       path = fetchurl {
         name = "url_parse_lax___url_parse_lax_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz";
-        sha1 = "16b5cafc07dbe3676c1b1999177823d6503acb0c";
+        sha1 = "FrXK/Afb42dsGxmZF3gj1lA6yww=";
       };
     }
     {
@@ -4654,7 +4446,7 @@
       path = fetchurl {
         name = "utf8_byte_length___utf8_byte_length_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz";
-        sha1 = "f45f150c4c66eee968186505ab93fcbb8ad6bf61";
+        sha1 = "9F8VDExm7uloGGUFq5P8u4rWv2E=";
       };
     }
     {
@@ -4662,7 +4454,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 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
+        sha1 = "RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=";
       };
     }
     {
@@ -4670,23 +4462,23 @@
       path = fetchurl {
         name = "v8_compile_cache___v8_compile_cache_2.3.0.tgz";
         url  = "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz";
-        sha1 = "2de19618c66dc247dcfb6f99338035d8245a2cee";
+        sha512 = "l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==";
       };
     }
     {
-      name = "v8_to_istanbul___v8_to_istanbul_8.0.0.tgz";
+      name = "v8_to_istanbul___v8_to_istanbul_8.1.1.tgz";
       path = fetchurl {
-        name = "v8_to_istanbul___v8_to_istanbul_8.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.0.0.tgz";
-        sha1 = "4229f2a99e367f3f018fa1d5c2b8ec684667c69c";
+        name = "v8_to_istanbul___v8_to_istanbul_8.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz";
+        sha512 = "FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==";
       };
     }
     {
-      name = "verror___verror_1.10.0.tgz";
+      name = "verror___verror_1.10.1.tgz";
       path = fetchurl {
-        name = "verror___verror_1.10.0.tgz";
-        url  = "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz";
-        sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
+        name = "verror___verror_1.10.1.tgz";
+        url  = "https://registry.yarnpkg.com/verror/-/verror-1.10.1.tgz";
+        sha512 = "veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==";
       };
     }
     {
@@ -4694,7 +4486,7 @@
       path = fetchurl {
         name = "w3c_hr_time___w3c_hr_time_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz";
-        sha1 = "0a89cdf5cc15822df9c360543676963e0cc308cd";
+        sha512 = "z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==";
       };
     }
     {
@@ -4702,15 +4494,15 @@
       path = fetchurl {
         name = "w3c_xmlserializer___w3c_xmlserializer_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz";
-        sha1 = "3e7104a05b75146cc60f564380b7f683acf1020a";
+        sha512 = "4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==";
       };
     }
     {
-      name = "walker___walker_1.0.7.tgz";
+      name = "walker___walker_1.0.8.tgz";
       path = fetchurl {
-        name = "walker___walker_1.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz";
-        sha1 = "2f7f9b8fd10d677262b18a884e28d19618e028fb";
+        name = "walker___walker_1.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz";
+        sha512 = "ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==";
       };
     }
     {
@@ -4718,7 +4510,7 @@
       path = fetchurl {
         name = "webidl_conversions___webidl_conversions_5.0.0.tgz";
         url  = "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz";
-        sha1 = "ae59c8a00b121543a2acc65c0434f57b0fc11aff";
+        sha512 = "VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==";
       };
     }
     {
@@ -4726,7 +4518,7 @@
       path = fetchurl {
         name = "webidl_conversions___webidl_conversions_6.1.0.tgz";
         url  = "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz";
-        sha1 = "9111b4d7ea80acd40f5270d666621afa78b69514";
+        sha512 = "qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==";
       };
     }
     {
@@ -4734,7 +4526,7 @@
       path = fetchurl {
         name = "whatwg_encoding___whatwg_encoding_1.0.5.tgz";
         url  = "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz";
-        sha1 = "5abacf777c32166a51d085d6b4f3e7d27113ddb0";
+        sha512 = "b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==";
       };
     }
     {
@@ -4742,7 +4534,7 @@
       path = fetchurl {
         name = "whatwg_mimetype___whatwg_mimetype_2.3.0.tgz";
         url  = "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz";
-        sha1 = "3d4b1e0312d2079879f826aff18dbeeca5960fbf";
+        sha512 = "M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==";
       };
     }
     {
@@ -4750,7 +4542,7 @@
       path = fetchurl {
         name = "whatwg_url___whatwg_url_8.7.0.tgz";
         url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz";
-        sha1 = "656a78e510ff8f3937bc0bcbe9f5c0ac35941b77";
+        sha512 = "gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==";
       };
     }
     {
@@ -4758,7 +4550,7 @@
       path = fetchurl {
         name = "which___which_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz";
-        sha1 = "7c6a8dd0a636a0327e10b59c9286eee93f3f51b1";
+        sha512 = "BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==";
       };
     }
     {
@@ -4766,7 +4558,7 @@
       path = fetchurl {
         name = "widest_line___widest_line_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz";
-        sha1 = "8292333bbf66cb45ff0de1603b136b7ae1496eca";
+        sha512 = "NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==";
       };
     }
     {
@@ -4774,7 +4566,7 @@
       path = fetchurl {
         name = "word_wrap___word_wrap_1.2.3.tgz";
         url  = "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz";
-        sha1 = "610636f6b1f703891bd34771ccb17fb93b47079c";
+        sha512 = "Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==";
       };
     }
     {
@@ -4782,7 +4574,7 @@
       path = fetchurl {
         name = "wrap_ansi___wrap_ansi_7.0.0.tgz";
         url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz";
-        sha1 = "67e145cff510a6a6984bdf1152911d69d2eb9e43";
+        sha512 = "YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==";
       };
     }
     {
@@ -4790,7 +4582,7 @@
       path = fetchurl {
         name = "wrappy___wrappy_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz";
-        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+        sha1 = "tSQ9jz7BqjXxNkYFvA0QNuMKtp8=";
       };
     }
     {
@@ -4798,15 +4590,15 @@
       path = fetchurl {
         name = "write_file_atomic___write_file_atomic_3.0.3.tgz";
         url  = "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz";
-        sha1 = "56bd5c5a5c70481cd19c571bd39ab965a5de56e8";
+        sha512 = "AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==";
       };
     }
     {
-      name = "ws___ws_7.5.1.tgz";
+      name = "ws___ws_7.5.7.tgz";
       path = fetchurl {
-        name = "ws___ws_7.5.1.tgz";
-        url  = "https://registry.yarnpkg.com/ws/-/ws-7.5.1.tgz";
-        sha1 = "44fc000d87edb1d9c53e51fbc69a0ac1f6871d66";
+        name = "ws___ws_7.5.7.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz";
+        sha512 = "KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==";
       };
     }
     {
@@ -4814,7 +4606,7 @@
       path = fetchurl {
         name = "xdg_basedir___xdg_basedir_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz";
-        sha1 = "4bc8d9984403696225ef83a1573cbbcb4e79db13";
+        sha512 = "PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==";
       };
     }
     {
@@ -4822,7 +4614,7 @@
       path = fetchurl {
         name = "xml_name_validator___xml_name_validator_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz";
-        sha1 = "6ae73e06de4d8c6e47f9fb181f78d648ad457c6a";
+        sha512 = "A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==";
       };
     }
     {
@@ -4830,7 +4622,7 @@
       path = fetchurl {
         name = "xmlbuilder___xmlbuilder_15.1.1.tgz";
         url  = "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz";
-        sha1 = "9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5";
+        sha512 = "yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==";
       };
     }
     {
@@ -4838,7 +4630,7 @@
       path = fetchurl {
         name = "xmlbuilder___xmlbuilder_9.0.7.tgz";
         url  = "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz";
-        sha1 = "132ee63d2ec5565c557e20f4c22df9aca686b10d";
+        sha1 = "Ey7mPS7FVlxVfiD0wi35rKaGsQ0=";
       };
     }
     {
@@ -4846,15 +4638,7 @@
       path = fetchurl {
         name = "xmlchars___xmlchars_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz";
-        sha1 = "060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb";
-      };
-    }
-    {
-      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";
-        sha1 = "193cb96b84aa3486127ea6272c4596354cb4962e";
+        sha512 = "JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==";
       };
     }
     {
@@ -4862,7 +4646,7 @@
       path = fetchurl {
         name = "y18n___y18n_5.0.8.tgz";
         url  = "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz";
-        sha1 = "7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55";
+        sha512 = "0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==";
       };
     }
     {
@@ -4870,7 +4654,7 @@
       path = fetchurl {
         name = "yallist___yallist_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz";
-        sha1 = "9bb92790d9c0effec63be73519e11a35019a3a72";
+        sha512 = "3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==";
       };
     }
     {
@@ -4878,7 +4662,15 @@
       path = fetchurl {
         name = "yargs_parser___yargs_parser_20.2.9.tgz";
         url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz";
-        sha1 = "2eb7dc3b0289718fc295f362753845c41a0c94ee";
+        sha512 = "y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==";
+      };
+    }
+    {
+      name = "yargs_parser___yargs_parser_21.0.1.tgz";
+      path = fetchurl {
+        name = "yargs_parser___yargs_parser_21.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz";
+        sha512 = "9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==";
       };
     }
     {
@@ -4886,15 +4678,15 @@
       path = fetchurl {
         name = "yargs___yargs_16.2.0.tgz";
         url  = "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz";
-        sha1 = "1c82bf0f6b6a66eafce7ef30e376f49a12477f66";
+        sha512 = "D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==";
       };
     }
     {
-      name = "yargs___yargs_17.0.1.tgz";
+      name = "yargs___yargs_17.4.0.tgz";
       path = fetchurl {
-        name = "yargs___yargs_17.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/yargs/-/yargs-17.0.1.tgz";
-        sha1 = "6a1ced4ed5ee0b388010ba9fd67af83b9362e0bb";
+        name = "yargs___yargs_17.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/yargs/-/yargs-17.4.0.tgz";
+        sha512 = "WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA==";
       };
     }
     {
@@ -4902,15 +4694,7 @@
       path = fetchurl {
         name = "yauzl___yauzl_2.10.0.tgz";
         url  = "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz";
-        sha1 = "c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9";
-      };
-    }
-    {
-      name = "zip_stream___zip_stream_4.1.0.tgz";
-      path = fetchurl {
-        name = "zip_stream___zip_stream_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/zip-stream/-/zip-stream-4.1.0.tgz";
-        sha1 = "51dd326571544e36aa3f756430b313576dc8fc79";
+        sha1 = "x+sXyT4RLLEIb6bY5R+wZnt5pfk=";
       };
     }
   ];
diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
index bce4fe5336737..30d719593e83c 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.1.2567.66-1";
+  version = "5.1.2567.73-1";
 
   src = fetchurl {
     url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
-    sha256 = "1v9hcjgvblscpsw8c2nm8x7frzkfv2ph8l5hibyidnfjppx1qqz2";
+    sha256 = "04jzhipn4ip7x3zdwmfnp6w0qc2y1qdfy5w3qyy0r114jz9s9i7g";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/networking/cisco-packet-tracer/8.nix b/pkgs/applications/networking/cisco-packet-tracer/8.nix
index 1267a061429fb..9bc8900174547 100644
--- a/pkgs/applications/networking/cisco-packet-tracer/8.nix
+++ b/pkgs/applications/networking/cisco-packet-tracer/8.nix
@@ -27,7 +27,7 @@
 }:
 
 let
-  version = "8.0.1";
+  version = "8.1.1";
 
   ptFiles = stdenv.mkDerivation {
     name = "PacketTracer8Drv";
@@ -36,7 +36,7 @@ let
     dontUnpack = true;
     src = requireFile {
       name = "CiscoPacketTracer_${builtins.replaceStrings ["."] [""] version}_Ubuntu_64bit.deb";
-      sha256 = "77a25351b016faed7c78959819c16c7013caa89c6b1872cb888cd96edd259140";
+      sha256 = "08c53171aa0257a64ae7de1540f242214033cfa4f879fbc9fed5cc0d32232abf";
       url = "https://www.netacad.com";
     };
 
@@ -72,6 +72,7 @@ let
       libXrandr
       libXrender
       libXScrnSaver
+      libXtst
       xcbutilimage
       xcbutilkeysyms
       xcbutilrenderutil
diff --git a/pkgs/applications/networking/cloudflared/default.nix b/pkgs/applications/networking/cloudflared/default.nix
index 3707876fd7409..e5a3fc2060e9d 100644
--- a/pkgs/applications/networking/cloudflared/default.nix
+++ b/pkgs/applications/networking/cloudflared/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cloudflared";
-  version = "2022.3.1";
+  version = "2022.3.4";
 
   src = fetchFromGitHub {
     owner  = "cloudflare";
     repo   = "cloudflared";
     rev    = version;
-    hash   = "sha256-iVg+AXSBO+caeYxUR41infCvsCTZkJTf7K0oZnOQmnY=";
+    hash   = "sha256-W3XA3AOzuyHlFCps2ne4Fh2X+E48inJT4QrDJLOeD5M=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/argo-rollouts/default.nix b/pkgs/applications/networking/cluster/argo-rollouts/default.nix
index 8127904023c9d..deb61af1ae88c 100644
--- a/pkgs/applications/networking/cluster/argo-rollouts/default.nix
+++ b/pkgs/applications/networking/cluster/argo-rollouts/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "argo-rollouts";
-  version = "1.1.1";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo-rollouts";
     rev = "v${version}";
-    sha256 = "0qb1wbv3razwhqsv972ywfazaq73y83iw6f6qdjcbwwfwsybig21";
+    sha256 = "sha256-RgjoRvLsd+WHTpFy1WbJtrVaMnRp6/7A921+abCMGu0=";
   };
 
-  vendorSha256 = "00ic1nn3wgg495x2170ik1d1cha20b4w89j9jclq8p0b3nndv0c0";
+  vendorSha256 = "sha256-URuIeF1ejKdMGxziJbujLctYheiIr/Jfo+gTzppZG9E=";
 
   # Disable tests since some test fail because of missing test data
   doCheck = false;
diff --git a/pkgs/applications/networking/cluster/argo/default.nix b/pkgs/applications/networking/cluster/argo/default.nix
index 503952fa59ad3..de1310f55d740 100644
--- a/pkgs/applications/networking/cluster/argo/default.nix
+++ b/pkgs/applications/networking/cluster/argo/default.nix
@@ -19,13 +19,13 @@ let
 in
 buildGoModule rec {
   pname = "argo";
-  version = "3.3.0";
+  version = "3.3.1";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo";
     rev = "v${version}";
-    sha256 = "sha256-BDHbbb3WqQvRJB1A4NInfvujjB3r/AMmVvos8i/CnyU=";
+    sha256 = "sha256-IcKueb/bxPNwJ9bZWwmz4ywCtZGk0PSuH3KYDMp6Qd4=";
   };
 
   vendorSha256 = "sha256-YeSeaYOkNRjQgxsK9G7iPbVpfrPs4HRRFwfoUDxoCm0=";
diff --git a/pkgs/applications/networking/cluster/argocd-autopilot/default.nix b/pkgs/applications/networking/cluster/argocd-autopilot/default.nix
new file mode 100644
index 0000000000000..674db790f2237
--- /dev/null
+++ b/pkgs/applications/networking/cluster/argocd-autopilot/default.nix
@@ -0,0 +1,55 @@
+{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "argocd-autopilot";
+  version = "0.3.0";
+  commit = "c8d17bef976649e4dc2428c14c39e30a0f846552";
+
+  src = fetchFromGitHub {
+    owner = "argoproj-labs";
+    repo = "argocd-autopilot";
+    rev = "v${version}";
+    sha256 = "sha256-tggE1T+oD/dJS9tD9xOExjhy+T1GDd0vwTerD3P2KvA=";
+  };
+
+  vendorSha256 = "sha256-v8UMSObE6w+ULzueEK0UFeebLqoamy/788SQLBmJZ8U=";
+
+  proxyVendor = true;
+
+  ldflags =
+    let package_url = "github.com/argoproj-labs/argocd-autopilot/pkg/store"; in
+    [
+      "-s"
+      "-w"
+      "-X ${package_url}.binaryName=${pname}"
+      "-X ${package_url}.version=${src.rev}"
+      "-X ${package_url}.buildDate=unknown"
+      "-X ${package_url}.gitCommit=${commit}"
+      "-X ${package_url}.installationManifestURL=github.com/argoproj-labs/argocd-autopilot/manifests/base?ref=${src.rev}"
+      "-X ${package_url}.installationManifestsNamespacedURL=github.com/argoproj-labs/argocd-autopilot/manifests/insecure?ref=${src.rev}"
+    ];
+
+  subPackages = [ "cmd" ];
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/argocd-autopilot version | grep ${src.rev} > /dev/null
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    install -Dm755 "$GOPATH/bin/cmd" -T $out/bin/argocd-autopilot
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "ArgoCD Autopilot";
+    downloadPage = "https://github.com/argoproj-labs/argocd-autopilot";
+    homepage = "https://argocd-autopilot.readthedocs.io/en/stable/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ sagikazarmark bryanasdev000 ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/argocd/default.nix b/pkgs/applications/networking/cluster/argocd/default.nix
index 042249d547fda..211c2ce211eb5 100644
--- a/pkgs/applications/networking/cluster/argocd/default.nix
+++ b/pkgs/applications/networking/cluster/argocd/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "argocd";
-  version = "2.3.1";
+  version = "2.3.2";
   tag = "v${version}";
   # Update commit to match the tag above
   # TODO make updadeScript
-  commit = "b65c1699fa2a2daa031483a3890e6911eac69068";
+  commit = "ecc2af9dcaa12975e654cde8cbbeaffbb315f75c";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo-cd";
     rev = tag;
-    sha256 = "sha256-YijhJz7m5wy8kR9V6IHSNYjiWh7H2ph6il9nMsrePOE=";
+    sha256 = "sha256-n+C4l4U3cDU+fgCnGWOYLdyjknw7n/xPEtC1i8AaU4o=";
   };
 
-  vendorSha256 = "sha256-uA9sOMuVHKRRhSGoLyoKcUYU6NxtprVUITvVC+tot1g=";
+  vendorSha256 = "sha256-Km+1o6yuuxJs+DNTQ/XVTUFurD5gM5ohwDc7MwJuu5s=";
 
   # Set target as ./cmd per release-cli
   # https://github.com/argoproj/argo-cd/blob/master/Makefile#L222
diff --git a/pkgs/applications/networking/cluster/arkade/default.nix b/pkgs/applications/networking/cluster/arkade/default.nix
index 2cf5d35f653d3..2ee7374e81b3e 100644
--- a/pkgs/applications/networking/cluster/arkade/default.nix
+++ b/pkgs/applications/networking/cluster/arkade/default.nix
@@ -6,18 +6,18 @@
 
 buildGoModule rec {
   pname = "arkade";
-  version = "0.8.14";
+  version = "0.8.19";
 
   src = fetchFromGitHub {
     owner = "alexellis";
     repo = "arkade";
     rev = version;
-    sha256 = "sha256-XH7JtLv0J6bznZZ/L8wg5KB53OPe3KLiYujBlxP71pg=";
+    sha256 = "sha256-GbuDL0JSG0r2LVcdJgQFBMNDpAl2WbhjIX0Ls9yCDYg=";
   };
 
   CGO_ENABLED = 0;
 
-  vendorSha256 = "sha256-ipLVzBkliQSPBZTL5FU8xosTVjxFsUVlAvO0a0q+j2o=";
+  vendorSha256 = "sha256-An52QMjHaHRIicxCBpjgi+S2QeKXhB9rndjV+FIkS3c=";
 
   # Exclude pkg/get: tests downloading of binaries which fail when sandbox=true
   subPackages = [
@@ -42,6 +42,6 @@ buildGoModule rec {
     homepage = "https://github.com/alexellis/arkade";
     description = "Open Source Kubernetes Marketplace";
     license = licenses.mit;
-    maintainers = with maintainers; [ welteki ];
+    maintainers = with maintainers; [ welteki techknowlogick ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/cmctl/default.nix b/pkgs/applications/networking/cluster/cmctl/default.nix
index 64a8ebd4a99b7..df34db0e14766 100644
--- a/pkgs/applications/networking/cluster/cmctl/default.nix
+++ b/pkgs/applications/networking/cluster/cmctl/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cmctl";
-  version = "1.7.1";
+  version = "1.7.2";
 
   src = fetchFromGitHub {
     owner = "cert-manager";
     repo = "cert-manager";
     rev = "v${version}";
-    sha256 = "sha256-RO7YcGEfAQ9kTxfqgekYf6M5b6Fg64hCPLA/vt6IWp8=";
+    sha256 = "sha256-Hx6MG5GCZyOX0tfpg1bfUT0BOI3p7Mws1VCz2PuUuw8=";
   };
 
   vendorSha256 = "sha256-4zhdpedOmLl/i1G0QCto4ACxguWRZLzOm5HfMBMtvPY=";
diff --git a/pkgs/applications/networking/cluster/driftctl/default.nix b/pkgs/applications/networking/cluster/driftctl/default.nix
index 9f53726e8f0c1..fc8d8da18af83 100644
--- a/pkgs/applications/networking/cluster/driftctl/default.nix
+++ b/pkgs/applications/networking/cluster/driftctl/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "driftctl";
-  version = "0.24.0";
+  version = "0.26.0";
 
   src = fetchFromGitHub {
     owner = "snyk";
     repo = "driftctl";
     rev = "v${version}";
-    sha256 = "sha256-jKaJqmJMOz+2pWXTgVtnJbYbikdTfW8nWQJKWVxqv5I=";
+    sha256 = "sha256-cwI27hAfnSKT7P2rfM86tRtSKRR9bruRV9w440uGLIU=";
   };
 
   vendorSha256 = "sha256-I0OCRhUvuaF4k5qqPaV6R24mrd9AG5GgQCCF6yodK0E=";
diff --git a/pkgs/applications/networking/cluster/flink/default.nix b/pkgs/applications/networking/cluster/flink/default.nix
index 36940d7441dca..b5250a3bd7faf 100644
--- a/pkgs/applications/networking/cluster/flink/default.nix
+++ b/pkgs/applications/networking/cluster/flink/default.nix
@@ -34,6 +34,5 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     platforms = platforms.all;
     maintainers = with maintainers; [ mbode ];
-    repositories.git = "git://git.apache.org/flink.git";
   };
 }
diff --git a/pkgs/applications/networking/cluster/fluxcd/default.nix b/pkgs/applications/networking/cluster/fluxcd/default.nix
index d5762d938a323..0e9630a23d538 100644
--- a/pkgs/applications/networking/cluster/fluxcd/default.nix
+++ b/pkgs/applications/networking/cluster/fluxcd/default.nix
@@ -1,9 +1,9 @@
 { lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles }:
 
 let
-  version = "0.27.4";
-  sha256 = "06951i332gr17nsbns8mh4kcjilqfw5w95shaznpaksx93f554g0";
-  manifestsSha256 = "0fvzh7j3vi5hw8jbw2gisjnn53bffwnp7zm3dwcbv3svwpw7823d";
+  version = "0.28.5";
+  sha256 = "11k8sb8pjhrg8ar256rfdw736cg32m6n8xcfhyqc3r4pkj3ksli8";
+  manifestsSha256 = "1gjya8xcmx065ywx7bc2xdsp3qj2y47b7l1dlr4y0hzp19pclmcw";
 
   manifests = fetchzip {
     url =
@@ -23,7 +23,7 @@ in buildGoModule rec {
     inherit sha256;
   };
 
-  vendorSha256 = "sha256-7sHLXjyYMWSFckDPeVGJYK+nwhbRpD76tV334PCVYwA=";
+  vendorSha256 = "sha256-kxI2sOaY66XLIRMT1l3VLQh1XR4nvvsYvsdZbVLxbHM=";
 
   postUnpack = ''
     cp -r ${manifests} source/cmd/flux/manifests
diff --git a/pkgs/applications/networking/cluster/fluxctl/default.nix b/pkgs/applications/networking/cluster/fluxctl/default.nix
index af0db3f2c176c..c132a09fce344 100644
--- a/pkgs/applications/networking/cluster/fluxctl/default.nix
+++ b/pkgs/applications/networking/cluster/fluxctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fluxctl";
-  version = "1.24.3";
+  version = "1.25.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = "flux";
     rev = version;
-    sha256 = "sha256-i86WwSR14hxaXWMesvG2mG8nqXd97M3TekK2FLTLL+Y=";
+    sha256 = "sha256-EFB8iAs7e4FigYnTvkh+dpZq6ymX7Qfy0cUDtUaPdmM=";
   };
 
-  vendorSha256 = "sha256-Fw3/SMO66eExlDNcIaHM+G2kB4zb1Cih7kp8xfel/iY=";
+  vendorSha256 = "sha256-9RyTeGjp7mEpmWnQeK2uG1krO6+1sK6fsID6JVrejHw=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/helmfile/default.nix b/pkgs/applications/networking/cluster/helmfile/default.nix
index 2140134d846cb..da3b85d899334 100644
--- a/pkgs/applications/networking/cluster/helmfile/default.nix
+++ b/pkgs/applications/networking/cluster/helmfile/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "helmfile";
-  version = "0.143.1";
+  version = "0.143.5";
 
   src = fetchFromGitHub {
     owner = "roboll";
     repo = "helmfile";
     rev = "v${version}";
-    sha256 = "sha256-eV2+lQVLv+bU/CmFFYM7CLjomXblT0XVZH5HVq0S+WM=";
+    sha256 = "sha256-48DbN3O5HVlNpHct6uKw9CjeaDlAZqY+/Tqd4a9mmUw=";
   };
 
-  vendorSha256 = "sha256-JHXSEOR/+ON5x0iQgaFsnb9hEDFf5/8TTh4T54qE/HE=";
+  vendorSha256 = "sha256-ddf3m0DGsjubzp/aERvhfJ51UKKSNMC1Xu7ybyif8HA=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/kontemplate/default.nix b/pkgs/applications/networking/cluster/kontemplate/default.nix
index 87ae71f6a48dc..10c161f45d05e 100644
--- a/pkgs/applications/networking/cluster/kontemplate/default.nix
+++ b/pkgs/applications/networking/cluster/kontemplate/default.nix
@@ -20,7 +20,6 @@ buildGoPackage rec {
     license          = licenses.gpl3;
     maintainers      = with maintainers; [ mbode tazjin ];
     platforms        = platforms.unix;
-    repositories.git = "git://github.com/tazjin/kontemplate.git";
 
     longDescription = ''
       Kontemplate is a simple CLI tool that can take sets of
diff --git a/pkgs/applications/networking/cluster/kops/default.nix b/pkgs/applications/networking/cluster/kops/default.nix
index d4a02b6ab9e5d..da8e14d1f3074 100644
--- a/pkgs/applications/networking/cluster/kops/default.nix
+++ b/pkgs/applications/networking/cluster/kops/default.nix
@@ -43,7 +43,7 @@ let
           homepage = "https://github.com/kubernetes/kops";
           changelog = "https://github.com/kubernetes/kops/tree/master/docs/releases";
           license = licenses.asl20;
-          maintainers = with maintainers; [ offline zimbatm diegolelis ];
+          maintainers = with maintainers; [ offline zimbatm diegolelis yurrriq ];
           platforms = platforms.unix;
         };
       } // attrs';
@@ -52,12 +52,6 @@ rec {
 
   mkKops = generic;
 
-  kops_1_20 = mkKops rec {
-    version = "1.20.3";
-    sha256 = "sha256-Yrh0wFz7MQgTDwENqQouYh3pr1gOq64Rqft5yxIiCAo=";
-    rev = "v${version}";
-  };
-
   kops_1_21 = mkKops rec {
     version = "1.21.4";
     sha256 = "sha256-f2xOVa3N/GH5IoI6H/QwDdKTeQoF/kEHX6lNytCZ9cs=";
@@ -69,4 +63,10 @@ rec {
     sha256 = "sha256-osU7yI77ZALGrAGuP8qAgv+ogDRn+BSVmcjPbi/WEKE=";
     rev = "v${version}";
   };
+
+  kops_1_23 = mkKops rec {
+    version = "1.23.0";
+    sha256 = "sha256-tiVNUaW0an6C8M9bxEX5pvB/W5IjZ/S24RdPikzm3bc=";
+    rev = "v${version}";
+  };
 }
diff --git a/pkgs/applications/networking/cluster/krelay/default.nix b/pkgs/applications/networking/cluster/krelay/default.nix
new file mode 100644
index 0000000000000..f0a9912ab914e
--- /dev/null
+++ b/pkgs/applications/networking/cluster/krelay/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "krelay";
+  version = "0.0.2";
+
+  src = fetchFromGitHub {
+    owner = "knight42";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-7P+pGiML/1aZEpYAWtAPEhrBAo8e8ATcemrH8tD73w8=";
+  };
+
+  vendorSha256 = "sha256-PrL3GYP5K6ZaSAShwuDQA7WfOVJeQraxZ8jrtnajR9g=";
+
+  subPackages = [ "cmd/client" ];
+
+  ldflags = [ "-s" "-w" "-X github.com/knight42/krelay/pkg/constants.ClientVersion=${version}" ];
+
+  postInstall = ''
+    mv $out/bin/client $out/bin/kubectl-relay
+  '';
+
+  meta = with lib; {
+    description = "A better alternative to `kubectl port-forward` that can forward TCP or UDP traffic to IP/Host which is accessible inside the cluster.";
+    homepage = "https://github.com/knight42/krelay";
+    changelog = "https://github.com/knight42/krelay/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ivankovnatsky ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/kube3d/default.nix b/pkgs/applications/networking/cluster/kube3d/default.nix
index 0da63fae4215c..ebcb3bda73815 100644
--- a/pkgs/applications/networking/cluster/kube3d/default.nix
+++ b/pkgs/applications/networking/cluster/kube3d/default.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   nativeBuildInputs = [ installShellFiles ];
 
-  excludedPackages = "\\(tools\\|docgen\\)";
+  excludedPackages = [ "tools" "docgen" ];
 
   ldflags =
     let t = "github.com/rancher/k3d/v5/version"; in
diff --git a/pkgs/applications/networking/cluster/kubecolor/default.nix b/pkgs/applications/networking/cluster/kubecolor/default.nix
index 8a3c2d12d1b91..a295a48a19206 100644
--- a/pkgs/applications/networking/cluster/kubecolor/default.nix
+++ b/pkgs/applications/networking/cluster/kubecolor/default.nix
@@ -13,11 +13,13 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-C1K7iEugA4HBLthcOI7EZ6H4YHW6el8X6FjVN1BeJR0=";
 
+  ldflags = [ "-s" "-w" "-X main.Version=${version}" ];
+
   meta = with lib; {
     description = "Colorizes kubectl output";
     homepage = "https://github.com/hidetatz/kubecolor";
     changelog = "https://github.com/hidetatz/kubecolor/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = [ maintainers.ivankovnatsky ];
+    maintainers = with maintainers; [ ivankovnatsky SuperSandro2000 ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/kubeless/default.nix b/pkgs/applications/networking/cluster/kubeless/default.nix
deleted file mode 100644
index 537fb611783ea..0000000000000
--- a/pkgs/applications/networking/cluster/kubeless/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib, buildGoPackage, fetchFromGitHub, installShellFiles }:
-
-buildGoPackage rec {
-  pname = "kubeless";
-  version = "1.0.7";
-
-  src = fetchFromGitHub {
-    owner = "kubeless";
-    repo = "kubeless";
-    rev = "v${version}";
-    sha256 = "0x2hydywnnlh6arzz71p7gg9yzq5z2y2lppn1jszvkbgh11kkqfr";
-  };
-
-  goPackagePath = "github.com/kubeless/kubeless";
-
-  nativeBuildInputs = [ installShellFiles ];
-
-  subPackages = [ "cmd/kubeless" ];
-
-  ldflags = [
-    "-s" "-w" "-X github.com/kubeless/kubeless/pkg/version.Version=${version}"
-  ];
-
-  postInstall = ''
-    for shell in bash; do
-      $out/bin/kubeless completion $shell > kubeless.$shell
-      installShellCompletion kubeless.$shell
-    done
-  '';
-
-  meta = with lib; {
-    homepage = "https://kubeless.io";
-    description = "The Kubernetes Native Serverless Framework";
-    license = licenses.asl20;
-    maintainers = with maintainers; [];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/applications/networking/cluster/kubent/default.nix b/pkgs/applications/networking/cluster/kubent/default.nix
new file mode 100644
index 0000000000000..79c0fdf2186a0
--- /dev/null
+++ b/pkgs/applications/networking/cluster/kubent/default.nix
@@ -0,0 +1,29 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kubent";
+  version = "0.5.1";
+
+  src = fetchFromGitHub {
+    owner = "doitintl";
+    repo = "kube-no-trouble";
+    rev = "${version}";
+    sha256 = "0pwb9g1hhfqn3rl87fg6sf07m7aviadljb05bbnd241hhlcyslv6";
+  };
+
+  vendorSha256 = "1z4cvk936l7011fbimsgpw89yqzyikw9jb4184l37mnj9hl5wpcp";
+
+  ldflags = [
+    "-w" "-s"
+    "-X main.version=v${version}"
+  ];
+
+  subPackages = [ "cmd/kubent" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/doitintl/kube-no-trouble";
+    description = "Easily check your cluster for use of deprecated APIs";
+    license = licenses.mit;
+    maintainers = with maintainers; [ peterromfeldhk ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/nerdctl/default.nix b/pkgs/applications/networking/cluster/nerdctl/default.nix
index 48ac2dc983e57..936e768234894 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.17.1";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-fWev5KgJEuL2pDm17kxdqRKo7t3+dDt5UD5iTHneJSY=";
+    sha256 = "sha256-gkfy/tKzh6EO+nyjuiU3InSErKvGcJp/X7oqYk0Msr0=";
   };
 
-  vendorSha256 = "sha256-7L5xA/2uQnu10QGZn49K3oJf4HBEvt8q/sOR6BRXlo0=";
+  vendorSha256 = "sha256-hjhZYNpqt9yFNrDVpFlguESUAAqU+AhpUQTCvyMadPk=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/ocm/default.nix b/pkgs/applications/networking/cluster/ocm/default.nix
new file mode 100644
index 0000000000000..1bacd8510dc40
--- /dev/null
+++ b/pkgs/applications/networking/cluster/ocm/default.nix
@@ -0,0 +1,32 @@
+{ lib, buildGoModule, fetchFromGitHub, testVersion, ocm }:
+
+buildGoModule rec {
+  pname = "ocm";
+  version = "0.1.62";
+
+  src = fetchFromGitHub {
+    owner = "openshift-online";
+    repo = "ocm-cli";
+    rev = "v${version}";
+    sha256 = "0kv0zcx6wdlyid37ygzg05xyyk77ybd2qcdgbswjv6crcjh1xdrd";
+  };
+
+  vendorSha256 = "sha256-nXUrbF9mcHy8G7c+ktQixBmmf6x066gpuaZ0eUsJQwc=";
+
+  # Tests expect the binary to be located in the root directory.
+  preCheck = ''
+    ln -s $GOPATH/bin/ocm ocm
+  '';
+
+  passthru.tests.version = testVersion {
+    package = ocm;
+    command = "ocm version";
+  };
+
+  meta = with lib; {
+    description = "CLI for the Red Hat OpenShift Cluster Manager";
+    license = licenses.asl20;
+    homepage = "https://github.com/openshift-online/ocm-cli";
+    maintainers = with maintainers; [ stehessel ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/openshift/default.nix b/pkgs/applications/networking/cluster/openshift/default.nix
index dd542f9ffac68..aade6c549f31c 100644
--- a/pkgs/applications/networking/cluster/openshift/default.nix
+++ b/pkgs/applications/networking/cluster/openshift/default.nix
@@ -1,84 +1,68 @@
-{ lib, fetchFromGitHub, buildGoPackage, which, go-bindata, rsync, util-linux
-, coreutils, libkrb5, ncurses, clang, installShellFiles
-, components ? [
-  "cmd/oc"
-  "cmd/openshift"
-  ]
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, libkrb5
+, git
+, installShellFiles
+, testVersion
+, openshift
 }:
 
-with lib;
-
-let
-  version = "4.1.0";
-  ver = lib.elemAt (lib.splitVersion version);
-  versionMajor = ver 0;
-  versionMinor = ver 1;
-  versionPatch = ver 2;
-  gitCommit = "b4261e0";
-  # version is in vendor/k8s.io/kubernetes/pkg/version/base.go
-  k8sversion = "v1.11.1";
-  k8sgitcommit = "b1b2997";
-  k8sgitMajor = "0";
-  k8sgitMinor = "1";
-in buildGoPackage rec {
-  pname = "openshift-origin";
-  inherit version;
+buildGoModule rec {
+  pname = "openshift";
+  version = "4.10.0";
+  gitCommit = "346b183";
 
   src = fetchFromGitHub {
     owner = "openshift";
-    repo = "origin";
-    rev = "v${version}";
-    sha256 = "16bc6ljm418kxz92gz8ldm82491mvlqamrvigyr6ff72rf7ml7ba";
+    repo = "oc";
+    rev = "release-4.10";
+    sha256 = "Pdq3OwT5P7vvB70X+GVglT9CdJbhkm35nvEGurO1HPc=";
   };
 
-  goPackagePath = "github.com/openshift/origin";
+  vendorSha256 = null;
 
   buildInputs = [ libkrb5 ];
 
-  nativeBuildInputs = [
-    clang
-    go-bindata
-    installShellFiles
-    ncurses
-    rsync
-    which
-  ];
+  nativeBuildInputs = [ installShellFiles ];
 
   patchPhase = ''
     patchShebangs ./hack
   '';
 
   buildPhase = ''
-    cd go/src/${goPackagePath}
     # Openshift build require this variables to be set
     # unless there is a .git folder which is not the case with fetchFromGitHub
-    echo "OS_GIT_VERSION=v${version}" >> os-version-defs
-    echo "OS_GIT_TREE_STATE=clean" >> os-version-defs
-    echo "OS_GIT_MAJOR=${versionMajor}" >> os-version-defs
-    echo "OS_GIT_MINOR=${versionMinor}" >> os-version-defs
-    echo "OS_GIT_PATCH=${versionPatch}" >> os-version-defs
-    echo "OS_GIT_COMMIT=${gitCommit}" >> os-version-defs
-    echo "KUBE_GIT_VERSION=${k8sversion}" >> os-version-defs
-    echo "KUBE_GIT_COMMIT=${k8sgitcommit}" >> os-version-defs
-    echo "KUBE_GIT_MAJOR=${k8sgitMajor}" >> os-version-defs
-    echo "KUBE_GIT_MINOR=${k8sgitMinor}" >> os-version-defs
-    export OS_VERSION_FILE="os-version-defs"
-    export CC=clang
-    make all WHAT='${concatStringsSep " " components}'
+    export SOURCE_GIT_COMMIT=${gitCommit}
+    export SOURCE_GIT_TAG=v${version}
+    export SOURCE_GIT_TREE_STATE=clean
+
+    make all
   '';
 
   installPhase = ''
     mkdir -p $out/bin
-    cp -a "_output/local/bin/$(go env GOOS)/$(go env GOARCH)/"* "$out/bin/"
+    cp oc $out/bin
+
+    mkdir -p man
+    ./genman man oc
+    installManPage man/*.1
+
     installShellCompletion --bash contrib/completions/bash/*
     installShellCompletion --zsh contrib/completions/zsh/*
   '';
 
+  passthru.tests.version = testVersion {
+    package = openshift;
+    command = "oc version";
+    version = "v${version}";
+  };
+
   meta = with lib; {
     description = "Build, deploy, and manage your applications with Docker and Kubernetes";
     license = licenses.asl20;
     homepage = "http://www.openshift.org";
-    maintainers = with maintainers; [offline bachp moretea];
+    maintainers = with maintainers; [ offline bachp moretea stehessel ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/cluster/pluto/default.nix b/pkgs/applications/networking/cluster/pluto/default.nix
new file mode 100644
index 0000000000000..4297ec62376d6
--- /dev/null
+++ b/pkgs/applications/networking/cluster/pluto/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "pluto";
+  version = "5.7.0";
+
+  src = fetchFromGitHub {
+    owner = "FairwindsOps";
+    repo = "pluto";
+    rev = "v${version}";
+    sha256 = "sha256-/H8/wpDqlo96qb6QBIxpIGMv6VtK/nn/GwozIJjZyNY=";
+  };
+
+  vendorSha256 = "sha256-jPVlHyKZ1ygF08OypXOMzHBfb2z5mhg5B8zJmAcQbLk=";
+
+  ldflags = [
+    "-w" "-s"
+    "-X main.version=v${version}"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/FairwindsOps/pluto";
+    description = "Find deprecated Kubernetes apiVersions";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ peterromfeldhk ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/popeye/default.nix b/pkgs/applications/networking/cluster/popeye/default.nix
index e70856ef9d904..25fa2c4adc551 100644
--- a/pkgs/applications/networking/cluster/popeye/default.nix
+++ b/pkgs/applications/networking/cluster/popeye/default.nix
@@ -32,6 +32,5 @@ buildGoModule rec {
     changelog = "https://github.com/derailed/popeye/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = [ maintainers.bryanasdev000 ];
-    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/cluster/rancher/default.nix b/pkgs/applications/networking/cluster/rancher/default.nix
index 7c219725d7c97..3ee09b14ce960 100644
--- a/pkgs/applications/networking/cluster/rancher/default.nix
+++ b/pkgs/applications/networking/cluster/rancher/default.nix
@@ -1,14 +1,14 @@
 { lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
-  pname = "rancher-cli";
-  version = "2.6.0";
+  pname = "rancher";
+  version = "2.6.4";
 
   src = fetchFromGitHub {
     owner  = "rancher";
     repo   = "cli";
     rev    = "v${version}";
-    sha256 = "sha256-RfhcTo10nkHmKGwmS8WdjBioZhDIGSQ9vPPOv3Wg0Y4=";
+    sha256 = "sha256-5ceyScsCidJpHGfwhsq7/hDd3CClx29cD5Cdc1PSxTU=";
   };
 
   ldflags = [
@@ -25,8 +25,6 @@ buildGoModule rec {
     mv $out/bin/cli $out/bin/rancher
   '';
 
-  doCheck = true;
-
   doInstallCheck = true;
   installCheckPhase = ''
     $out/bin/rancher | grep ${version} > /dev/null
diff --git a/pkgs/applications/networking/cluster/spark/default.nix b/pkgs/applications/networking/cluster/spark/default.nix
index 7770f98afe519..057be75aeb343 100644
--- a/pkgs/applications/networking/cluster/spark/default.nix
+++ b/pkgs/applications/networking/cluster/spark/default.nix
@@ -14,7 +14,7 @@
 with lib;
 
 let
-  spark = { pname, version, sha256 }:
+  spark = { pname, version, sha256, extraMeta ? {} }:
     stdenv.mkDerivation rec {
       inherit pname version;
       src = fetchzip {
@@ -63,8 +63,7 @@ let
         license = lib.licenses.asl20;
         platforms = lib.platforms.all;
         maintainers = with maintainers; [ thoughtpolice offline kamilchm illustris ];
-        repositories.git = "git://git.apache.org/spark.git";
-      };
+      } // extraMeta;
     };
 in
 {
@@ -75,12 +74,13 @@ in
   };
   spark_3_1 = spark rec {
     pname = "spark";
-    version = "3.1.2";
-    sha256 = "1bgh2y6jm7wqy6yc40rx68xkki31i3jiri2yixb1bm0i9pvsj9yf";
+    version = "3.1.3";
+    sha256 = "sha256-RIQyN5YjxFLfNIrETR3Vv99zsHxt77rhOXHIThCI2Y8=";
   };
   spark_2_4 = spark rec {
     pname = "spark";
     version = "2.4.8";
     sha256 = "1mkyq0gz9fiav25vr0dba5ivp0wh0mh7kswwnx8pvsmb6wbwyfxv";
+    extraMeta.knownVulnerabilities = [ "CVE-2021-38296" ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/tektoncd-cli/default.nix b/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
index 65a3716878369..673a8c9a8f0a9 100644
--- a/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
+++ b/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "tektoncd-cli";
-  version = "0.23.0";
+  version = "0.23.1";
 
   src = fetchFromGitHub {
     owner = "tektoncd";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-rzKEjLjX2bPqgNGJYdyTuu15+9bq9WnsrJtsBzL/oOo=";
+    sha256 = "sha256-fOq67Cxtb2A9Obh2o5/aFy5bYBnyFKYQDPcpxOXMy1s=";
   };
 
   vendorSha256 = null;
@@ -19,7 +19,7 @@ buildGoModule rec {
 
   # third_party/VENDOR-LICENSE breaks build/check as go files are still included
   # docs is a tool for generating docs
-  excludedPackages = "\\(third_party\\|cmd/docs\\)";
+  excludedPackages = [ "third_party" "cmd/docs" ];
 
   preCheck = ''
     # some tests try to write to the home dir
diff --git a/pkgs/applications/networking/cluster/terraform-providers/default.nix b/pkgs/applications/networking/cluster/terraform-providers/default.nix
index 93be46bc79274..0bdb6289a6116 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/default.nix
+++ b/pkgs/applications/networking/cluster/terraform-providers/default.nix
@@ -68,7 +68,7 @@ let
       archived = date: throw "the provider has been archived by upstream on ${date}";
       removed = date: throw "removed from nixpkgs on ${date}";
     in
-    lib.optionalAttrs (config.allowAliases or false) {
+    lib.optionalAttrs config.allowAliases {
       arukas = archived "2022/01";
       chef = archived "2022/01";
       cherryservers = archived "2022/01";
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index 01e08c002539e..6f32892d4dafd 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -40,10 +40,10 @@
     "owner": "aliyun",
     "provider-source-address": "registry.terraform.io/aliyun/alicloud",
     "repo": "terraform-provider-alicloud",
-    "rev": "v1.161.0",
-    "sha256": "sha256-vQrX9mFZLy16aV6hEA8X9MV995Ew+lJb8PxCvxDGoN0=",
-    "vendorSha256": "sha256-rIydGW7X0tL+ZwV1wEu3Zz3FZPrNozQI0Qx+Ee9tAik=",
-    "version": "1.161.0"
+    "rev": "v1.162.0",
+    "sha256": "sha256-xqZv15Tst+7o9HhNu6/bW+a4z7FTkra+MfS8jKrfeNs=",
+    "vendorSha256": "sha256-RbOf/S0rkbhW0s+/YOqu+BQuE0V4aS2x36Xf+hgBkqY=",
+    "version": "1.162.0"
   },
   "ansible": {
     "owner": "nbering",
@@ -85,19 +85,19 @@
     "owner": "AviatrixSystems",
     "provider-source-address": "registry.terraform.io/AviatrixSystems/aviatrix",
     "repo": "terraform-provider-aviatrix",
-    "rev": "v2.21.1-6.6.ga",
-    "sha256": "16ym9zyvvz7kb44rm97wqa7h431jkh70q3gf68mmxihvxpjvfcdh",
+    "rev": "v2.21.2",
+    "sha256": "sha256-crC/FKAahv1E7TiLf1XaP5ltrXPuudfki2BdggOW+v4=",
     "vendorSha256": null,
-    "version": "2.21.1-6.6.ga"
+    "version": "2.21.2"
   },
   "aws": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/aws",
     "repo": "terraform-provider-aws",
-    "rev": "v4.6.0",
-    "sha256": "sha256-Bq6DrwN4212LeBHb/j60v/fEvZwFseSRB8KZ3hrJYmQ=",
-    "vendorSha256": "sha256-hbN5apdCiA4eN0uCWlTRAEunO4nFB/VX+gchxp/6BJQ=",
-    "version": "4.6.0"
+    "rev": "v4.8.0",
+    "sha256": "sha256-Ere41qols4lNnoAIZGWQmituukLnPNbv5d8C/e3rQgI=",
+    "vendorSha256": "sha256-ZXH9YlSii2z1s6Y/TfZVBje0/xQ2DXw3ZpgcBPeQZ2I=",
+    "version": "4.8.0"
   },
   "azuread": {
     "owner": "hashicorp",
@@ -112,10 +112,10 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/azurerm",
     "repo": "terraform-provider-azurerm",
-    "rev": "v2.99.0",
-    "sha256": "sha256-HXLr22UVciRvW1iaa46sy37ivG41hKqhrQtCXpnl8ss=",
+    "rev": "v3.0.2",
+    "sha256": "sha256-T24bfys9OxBnGN4YtJEsJmSUK26a5hMnbgZUANcpg3k=",
     "vendorSha256": null,
-    "version": "2.99.0"
+    "version": "3.0.2"
   },
   "azurestack": {
     "owner": "hashicorp",
@@ -203,10 +203,10 @@
     "owner": "cloudfoundry-community",
     "provider-source-address": "registry.terraform.io/cloudfoundry-community/cloudfoundry",
     "repo": "terraform-provider-cloudfoundry",
-    "rev": "v0.15.0",
-    "sha256": "0kg9aivxlbkqgrwv0j02hfsaky5q4f0bmqihn589dsdk7jds66i7",
-    "vendorSha256": "19h526ag7p2jkdp0610slbpsz8q3njvj9d4xmsfdsv3r8pz7xzls",
-    "version": "0.15.0"
+    "rev": "v0.15.3",
+    "sha256": "sha256-fZ3LwquvypCw3i/gugUI3AuDrvdw2/sHU+xlk1kgkVU=",
+    "vendorSha256": "sha256-Wa2oTq1fsmfCQgSXY9YhqzzaRS2e662k23lIdoSxzU0=",
+    "version": "0.15.3"
   },
   "cloudinit": {
     "owner": "hashicorp",
@@ -230,10 +230,10 @@
     "owner": "Constellix",
     "provider-source-address": "registry.terraform.io/Constellix/constellix",
     "repo": "terraform-provider-constellix",
-    "rev": "v0.4.2",
-    "sha256": "sha256-XnLTh/AP0OcFD5U2I1LSNpQ3s1OObueURDnioAtIQlU=",
+    "rev": "v0.4.3",
+    "sha256": "sha256-U5jQVa4dJTqH06psx/vNLSlL8muV15SgkyoM820PwjI=",
     "vendorSha256": null,
-    "version": "0.4.2"
+    "version": "0.4.3"
   },
   "consul": {
     "owner": "hashicorp",
@@ -257,10 +257,10 @@
     "owner": "DataDog",
     "provider-source-address": "registry.terraform.io/DataDog/datadog",
     "repo": "terraform-provider-datadog",
-    "rev": "v3.9.0",
-    "sha256": "sha256-CncMqWIa1JiHkIkNAgIQl4fcKZVKZGD4BZSjuv5cw18=",
-    "vendorSha256": "sha256-U1gVP4o1mj21NW9z8jyV5KhuJNJRYAV1Qvg1fV1zGO4=",
-    "version": "3.9.0"
+    "rev": "v3.10.0",
+    "sha256": "sha256-M9Pbvcg6HJY4S7Syu3XFsyjsCfeZxS17Ke2FpN+2HV4=",
+    "vendorSha256": "sha256-IJ8K2pRfvajdPkM3EjJe1B9PstJozETMert+O6Xpa88=",
+    "version": "3.10.0"
   },
   "dhall": {
     "owner": "awakesecurity",
@@ -275,19 +275,19 @@
     "owner": "digitalocean",
     "provider-source-address": "registry.terraform.io/digitalocean/digitalocean",
     "repo": "terraform-provider-digitalocean",
-    "rev": "v2.18.0",
-    "sha256": "sha256-MuJpBLOB8AeAlNhQC+rwT6mkZriU4+XgAqQY33xjFck=",
+    "rev": "v2.19.0",
+    "sha256": "sha256-I1BcBsl9liyg9XVd30q6Un+B8km7dpLhLMn1Vgn21dk=",
     "vendorSha256": null,
-    "version": "2.18.0"
+    "version": "2.19.0"
   },
   "dme": {
     "owner": "DNSMadeEasy",
     "provider-source-address": "registry.terraform.io/DNSMadeEasy/dme",
     "repo": "terraform-provider-dme",
-    "rev": "v1.0.4",
-    "sha256": "01y4mmcsb3d27ir9bin2bsxvd0rhklx3vlldk6s0fbq3aggd99by",
+    "rev": "v1.0.5",
+    "sha256": "sha256-Fz35J15S0JxxVy86xYuwHM1obOYpJVfzEhN1NqoAXbo=",
     "vendorSha256": null,
-    "version": "1.0.4"
+    "version": "1.0.5"
   },
   "dns": {
     "owner": "hashicorp",
@@ -338,10 +338,10 @@
     "owner": "exoscale",
     "provider-source-address": "registry.terraform.io/exoscale/exoscale",
     "repo": "terraform-provider-exoscale",
-    "rev": "v0.33.1",
-    "sha256": "sha256-HlhJe8jyvtACOF0msFMSrt9l//Ik03poSvhP+JccRyQ=",
+    "rev": "v0.34.0",
+    "sha256": "sha256-GDN3cN+zNiTxJlKeQr4PGOFybIrVLL31VBMRhZ9PDQ4=",
     "vendorSha256": null,
-    "version": "0.33.1"
+    "version": "0.34.0"
   },
   "external": {
     "owner": "hashicorp",
@@ -365,10 +365,10 @@
     "owner": "FlexibleEngineCloud",
     "provider-source-address": "registry.terraform.io/FlexibleEngineCloud/flexibleengine",
     "repo": "terraform-provider-flexibleengine",
-    "rev": "v1.27.1",
-    "sha256": "0glfs1hq9v3jdga8vvjrybld4g6qmyhy4kayapccbmdnbx9rpg76",
-    "vendorSha256": null,
-    "version": "1.27.1"
+    "rev": "v1.28.0",
+    "sha256": "sha256-UeRgbPHwKZ6HfoHOG3yYLFhv6GqzGhLB3fETYWq6k7A=",
+    "vendorSha256": "sha256-/Z8VbNtwBYROyzvhwFwpmyGMWF1LeWEKxgwbFd9M+Gw=",
+    "version": "1.28.0"
   },
   "fortios": {
     "owner": "fortinetdev",
@@ -392,19 +392,19 @@
     "owner": "integrations",
     "provider-source-address": "registry.terraform.io/integrations/github",
     "repo": "terraform-provider-github",
-    "rev": "v4.22.0",
-    "sha256": "sha256-bSKK72dBxfZCwSq3/vg97Dq1o/121KSM4h14MC87BMo=",
+    "rev": "v4.23.0",
+    "sha256": "sha256-N7PFLh7qr8OPB92ePLS1B/KexipKV5LFRWvrxdS8cGk=",
     "vendorSha256": null,
-    "version": "4.22.0"
+    "version": "4.23.0"
   },
   "gitlab": {
     "owner": "gitlabhq",
     "provider-source-address": "registry.terraform.io/gitlabhq/gitlab",
     "repo": "terraform-provider-gitlab",
-    "rev": "v3.12.0",
-    "sha256": "sha256-6CrM2Pt4yB0ZaXvcgUPreIhJrUhXCNt/xt+fExzGJqc=",
-    "vendorSha256": "sha256-78/7+t75xFjLt1JfoVpHVPlM7q5BX+NI/I9ugfjdv+g=",
-    "version": "3.12.0"
+    "rev": "v3.13.0",
+    "sha256": "sha256-Rm7j290Pr65F6JqSNpjK8bR1EhXev/74MpUa7SRNf3o=",
+    "vendorSha256": "sha256-hlcJn54paYJ1nlmqirOvC3Z4y8cMqv6etlDdihV9+R4=",
+    "version": "3.13.0"
   },
   "google": {
     "owner": "hashicorp",
@@ -430,19 +430,19 @@
     "owner": "grafana",
     "provider-source-address": "registry.terraform.io/grafana/grafana",
     "repo": "terraform-provider-grafana",
-    "rev": "v1.20.1",
-    "sha256": "1hl1dplb59hssdlq0j83mix9abfgzkbpqpsfirwd8pv4z47s055j",
-    "vendorSha256": "157y4fwfd2l822ass7v2sa3vn3kxrfhiapg5rwsm8q3lg1g42f2m",
-    "version": "1.20.1"
+    "rev": "v1.21.1",
+    "sha256": "sha256-2eTVJB0Scs6cZzwy+DQLgKqP0JPNnQMjUcG7THH2Cgg=",
+    "vendorSha256": "sha256-YfE5ob/gB+X9x0Zx6gqjUR3+P+EhQrZ6aNiHOkbkNIc=",
+    "version": "1.21.1"
   },
   "gridscale": {
     "owner": "gridscale",
     "provider-source-address": "registry.terraform.io/gridscale/gridscale",
     "repo": "terraform-provider-gridscale",
-    "rev": "v1.14.1",
-    "sha256": "1vf1xvj3djm1mgrgfj428yh26qxksclxxnvkxl663nqsvy14gd6s",
+    "rev": "v1.14.2",
+    "sha256": "sha256-gGwwyp3NgdcoE6YIBewiiajPoZpJbQ80/Zr2pIw8imE=",
     "vendorSha256": null,
-    "version": "1.14.1"
+    "version": "1.14.2"
   },
   "hcloud": {
     "owner": "hetznercloud",
@@ -457,19 +457,19 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/helm",
     "repo": "terraform-provider-helm",
-    "rev": "v2.4.1",
-    "sha256": "1lkkydjmm99qmj9bl498swdil909akznhvlqpwr4m67imwlzi1cy",
+    "rev": "v2.5.0",
+    "sha256": "sha256-stJO23B/DNOvAU71S/N3iML1PVQrpmbhoh7e31MI+BY=",
     "vendorSha256": null,
-    "version": "2.4.1"
+    "version": "2.5.0"
   },
   "heroku": {
     "owner": "heroku",
     "provider-source-address": "registry.terraform.io/heroku/heroku",
     "repo": "terraform-provider-heroku",
-    "rev": "v5.0.1",
-    "sha256": "13nsqvcbb9ydzsgri090ddw2y5gcxa2a07i1hfzm78mf5hflp4rb",
-    "vendorSha256": "13f7841i14b5n5iabqky7694mbqg95f0cvaygapczki5lf2j7fqy",
-    "version": "5.0.1"
+    "rev": "v5.0.2",
+    "sha256": "sha256-HzbqqIr2RjarjuIw+9p8JqGRDbPRDfq2OLLztJLCLoM=",
+    "vendorSha256": "sha256-HrsjhaMlzs+uel5tBlxJD69Kkjl+4qVisWWREANBx40=",
+    "version": "5.0.2"
   },
   "http": {
     "owner": "hashicorp",
@@ -484,10 +484,10 @@
     "owner": "huaweicloud",
     "provider-source-address": "registry.terraform.io/huaweicloud/huaweicloud",
     "repo": "terraform-provider-huaweicloud",
-    "rev": "v1.34.1",
-    "sha256": "14dxnphzg53qc9jxp5gr4vv0gj9j9i36zdyxh9ffcpcv4y3v9lkj",
+    "rev": "v1.35.0",
+    "sha256": "sha256-OQGrxnXeYSGLnfD8NuWncag1sSGlSZCipe0CykzzupU=",
     "vendorSha256": null,
-    "version": "1.34.1"
+    "version": "1.35.0"
   },
   "huaweicloudstack": {
     "owner": "huaweicloud",
@@ -511,10 +511,10 @@
     "owner": "IBM-Cloud",
     "provider-source-address": "registry.terraform.io/IBM-Cloud/ibm",
     "repo": "terraform-provider-ibm",
-    "rev": "v1.40.0-beta0",
-    "sha256": "sha256-1C0JdzoHf/GKdlLyHA6GgJpb3lbYFXeMGeWYJ7RkyfU=",
+    "rev": "v1.40.0",
+    "sha256": "sha256-msBfnPkClyOvqXcKHIpCxT1YDRHY7p491zl8Uvl8qOQ=",
     "vendorSha256": "sha256-YgRgm5S7cXHO9yqUUuVVkFRQL+pf0RMPJI9oUaWob2I=",
-    "version": "1.40.0-beta0"
+    "version": "1.40.0"
   },
   "icinga2": {
     "owner": "Icinga",
@@ -538,10 +538,10 @@
     "owner": "Mongey",
     "provider-source-address": "registry.terraform.io/Mongey/kafka",
     "repo": "terraform-provider-kafka",
-    "rev": "v0.4.2",
-    "sha256": "1qgcjcdkhxh2r2c12zd3b5cjn8zf4rdmw91a9h4izy52fsmc2x3q",
-    "vendorSha256": "1y6q5q84a6hin1h86gbm7c5glmfjc4im0w6cjaznmj9gmrkjh8qg",
-    "version": "0.4.2"
+    "rev": "v0.4.3",
+    "sha256": "sha256-6JPwj1BtKOICNIDf7k0gEjVAQAeOZ++f9wvX5aVgOjM=",
+    "vendorSha256": "sha256-Uw3QFtC1tYtx69vxH3NktTbaav8aLAUagagL0c2gjJ0=",
+    "version": "0.4.3"
   },
   "kafka-connect": {
     "owner": "Mongey",
@@ -574,10 +574,10 @@
     "owner": "gavinbunney",
     "provider-source-address": "registry.terraform.io/gavinbunney/kubectl",
     "repo": "terraform-provider-kubectl",
-    "rev": "v1.13.1",
-    "sha256": "0jm6zri6j3wdgwg8wixfh6w8il3vnqmwlbpa6scbfa8zq71qi1a0",
-    "vendorSha256": "1ahxhb6ws1mq4x7nbww8di0b19z6669gn18scqipvxcvmsihfx4m",
-    "version": "1.13.1"
+    "rev": "v1.14.0",
+    "sha256": "sha256-UkUwWi7Z9cSMyZakD6JxMl+qdczAYfZQgwroCUjFIUM=",
+    "vendorSha256": "sha256-lXQHo66b9X0jZhoF+5Ix5qewQGyI82VPJ7gGzc2CHao=",
+    "version": "1.14.0"
   },
   "kubernetes": {
     "owner": "hashicorp",
@@ -610,10 +610,10 @@
     "owner": "linode",
     "provider-source-address": "registry.terraform.io/linode/linode",
     "repo": "terraform-provider-linode",
-    "rev": "v1.26.1",
-    "sha256": "sha256-bd0raIIh/VmTlSVYnNd98fpppRKnO46g8FI5OwZPjMg=",
-    "vendorSha256": "sha256-SCTWvTgJ0QYh2DEbTI9coa3Fp4fBHusytF+JFzAq2XA=",
-    "version": "1.26.1"
+    "rev": "v1.27.0",
+    "sha256": "sha256-m2dD/BP5oNRUge3SXhSIptrQhj3Sez4O3hIdrJn45Y4=",
+    "vendorSha256": "sha256-ZJQAZk4TaKT+hLM46gtV1XmBCtwuKwtoom9tPGaOWhc=",
+    "version": "1.27.0"
   },
   "linuxbox": {
     "owner": "numtide",
@@ -638,10 +638,10 @@
     "owner": "logicmonitor",
     "provider-source-address": "registry.terraform.io/logicmonitor/logicmonitor",
     "repo": "terraform-provider-logicmonitor",
-    "rev": "v1.3.4",
-    "sha256": "1ypn9nlkijfjl8cjiabfx12ym8gg8n3xrib3xniz1j7xa3p5fdmp",
-    "vendorSha256": "12202jz15wn0xacgxhpcw3155742qpa25mbglljmbx2bzwq0nm1a",
-    "version": "1.3.4"
+    "rev": "v2.0.0",
+    "sha256": "sha256-wamP36zV5HZ1qQlNZWIZyAYx/jOiRO1ODQpcd10Sl4w=",
+    "vendorSha256": "sha256-ccLI662Z+B+xvyuQ5aRHUViREtcdccjOMM5EIJiEaU0=",
+    "version": "2.0.0"
   },
   "lxd": {
     "owner": "terraform-lxd",
@@ -683,10 +683,10 @@
     "owner": "aminueza",
     "provider-source-address": "registry.terraform.io/aminueza/minio",
     "repo": "terraform-provider-minio",
-    "rev": "v1.5.0",
-    "sha256": "sha256-wHxslrcjv0SuQhbEv95lkGba61HMimE1JLX4lWgSi3s=",
-    "vendorSha256": "sha256-j5DWJodrnGm9a3VsOjk0ZeVBh77C00SMMXrK7SNKKrY=",
-    "version": "1.5.0"
+    "rev": "v1.5.1",
+    "sha256": "sha256-guSUdCBbfgwlrBW/592SqS7LSP7mB8cufrDC48K61Is=",
+    "vendorSha256": "sha256-Xp/Vl+z+hqElg/iCDBTtB6Xy2Ppk1oUAndVQM5hvlRg=",
+    "version": "1.5.1"
   },
   "mongodbatlas": {
     "owner": "mongodb",
@@ -697,14 +697,23 @@
     "vendorSha256": "0kkkrdbapyvfzmnbh5kmhlcz5l8g8gf0mfwbya66iy1bb6f6w4mz",
     "version": "1.3.0"
   },
+  "namecheap": {
+    "owner": "namecheap",
+    "provider-source-address": "registry.terraform.io/namecheap/namecheap",
+    "repo": "terraform-provider-namecheap",
+    "rev": "v2.1.0",
+    "sha256": "sha256-cms8YUL+SjTeYyIOQibksi8ZHEBYq2JlgTEpOO1uMZE=",
+    "vendorSha256": null,
+    "version": "2.1.0"
+  },
   "ncloud": {
     "owner": "NaverCloudPlatform",
     "provider-source-address": "registry.terraform.io/NaverCloudPlatform/ncloud",
     "repo": "terraform-provider-ncloud",
-    "rev": "v2.2.5",
-    "sha256": "0hspr6iv69izg1y8s1sj24kgy562jggn9nwqgprn4zca7vsrl29r",
-    "vendorSha256": "1hiz0pphl4jxfglxj28rm58ih7c5dabhd2gaig23hcqvczhf1wd2",
-    "version": "2.2.5"
+    "rev": "v2.2.6",
+    "sha256": "sha256-Sw3Z6hi+nm/e+lMQQkk8KIa2AK2+q+0gBUe091GnQq0=",
+    "vendorSha256": "sha256-ovHg4GcbMzjEi+qJBpdqhR0YUakZCdnpc10SCu8FP8I=",
+    "version": "2.2.6"
   },
   "netlify": {
     "owner": "AegirHealth",
@@ -719,10 +728,10 @@
     "owner": "newrelic",
     "provider-source-address": "registry.terraform.io/newrelic/newrelic",
     "repo": "terraform-provider-newrelic",
-    "rev": "v2.41.1",
-    "sha256": "sha256-fd4S78viG38Y8xCNnX4l4/dQ/x8JA6Ej/kd556jvBOU=",
-    "vendorSha256": "sha256-Dvm8vmlfV7LH73Y2jNTO106V/fOA7K78jFclbFKZVXA=",
-    "version": "2.41.1"
+    "rev": "v2.41.2",
+    "sha256": "sha256-LCA1K4md1wRRkB7oerUn1MM0TRLcqQBoVpvoxCMGSs8=",
+    "vendorSha256": "sha256-G/GWIE+XeLiHW0xxyjbIpncAnpBmC/+iZnI8MFmi80k=",
+    "version": "2.41.2"
   },
   "nomad": {
     "owner": "hashicorp",
@@ -765,19 +774,19 @@
     "owner": "nutanix",
     "provider-source-address": "registry.terraform.io/nutanix/nutanix",
     "repo": "terraform-provider-nutanix",
-    "rev": "v1.4.0",
-    "sha256": "sha256-zOGZxDxGMeubZQ3u+7Qoj+gy29Et7yeFNFWpXbLllEY=",
+    "rev": "v1.5.0-beta",
+    "sha256": "sha256-Luu0myRCzlVpKouFnE7MXESzkxCXxNe2ZfxFUCpGpiU=",
     "vendorSha256": "sha256-LRIfxQGwG988HE5fftGl6JmBG7tTknvmgpm4Fu1NbWI=",
-    "version": "1.4.0"
+    "version": "1.5.0-beta"
   },
   "oci": {
     "owner": "oracle",
     "provider-source-address": "registry.terraform.io/oracle/oci",
     "repo": "terraform-provider-oci",
-    "rev": "v4.68.0",
-    "sha256": "sha256-f1Nk5NurQvJuGyGrZQnZIXIpaH1qFAX+oTBNan6rORI=",
+    "rev": "v4.69.0",
+    "sha256": "sha256-VwL+i4HtvAJi3R57cjUrg+7rx1LxEUAMwkorCvJ9DcU=",
     "vendorSha256": null,
-    "version": "4.68.0"
+    "version": "4.69.0"
   },
   "okta": {
     "owner": "okta",
@@ -811,10 +820,10 @@
     "owner": "OpenNebula",
     "provider-source-address": "registry.terraform.io/OpenNebula/opennebula",
     "repo": "terraform-provider-opennebula",
-    "rev": "v0.4.2",
-    "sha256": "sha256-h2trcyXJcdWQyonjdDLkJkcawE4AoFYnzLZtKPotMY0=",
+    "rev": "v0.4.3",
+    "sha256": "sha256-mnRRMubaz5hin4kG5NK+GMtTPcsIJu6GS8PKDitNszg=",
     "vendorSha256": "sha256-JTQJH0f8m6yBL8+jk6q02WPuvyre3mHql9Zy9OJW32M=",
-    "version": "0.4.2"
+    "version": "0.4.3"
   },
   "openstack": {
     "owner": "terraform-provider-openstack",
@@ -829,10 +838,10 @@
     "owner": "opentelekomcloud",
     "provider-source-address": "registry.terraform.io/opentelekomcloud/opentelekomcloud",
     "repo": "terraform-provider-opentelekomcloud",
-    "rev": "v1.28.0",
-    "sha256": "sha256-D+sIpGNQQ5UUNoesX6zd8BHo5RYfoTb/9x3lvFyoD50=",
+    "rev": "v1.28.2",
+    "sha256": "sha256-qp5H37Zf9oPYA2vvWKuEpfUeHIfK1NYE9Uk7dcX9izA=",
     "vendorSha256": "sha256-FMcPG7EJvU6XNKd2+8+xmjqSI0Ec9Xx/6gZvK9zJ3wg=",
-    "version": "1.28.0"
+    "version": "1.28.2"
   },
   "opsgenie": {
     "owner": "opsgenie",
@@ -865,10 +874,10 @@
     "owner": "PagerDuty",
     "provider-source-address": "registry.terraform.io/PagerDuty/pagerduty",
     "repo": "terraform-provider-pagerduty",
-    "rev": "v2.3.0",
-    "sha256": "02k416zgjg2f4bl4ilxbg0ig2lh86qc4pv96p2slpzyg8ypf87zg",
+    "rev": "v2.4.0",
+    "sha256": "sha256-pWfpist6nG6lQ1ep+Aje6LQgN/1ab5FtSoJKkoLDxAs=",
     "vendorSha256": null,
-    "version": "2.3.0"
+    "version": "2.4.0"
   },
   "panos": {
     "owner": "PaloAltoNetworks",
@@ -919,10 +928,10 @@
     "owner": "rancher",
     "provider-source-address": "registry.terraform.io/rancher/rancher2",
     "repo": "terraform-provider-rancher2",
-    "rev": "v1.22.2",
-    "sha256": "0k5ljyb55nw993vc3whhnyjgwy97qr1pp5mbi9g40dlm84myi9bm",
-    "vendorSha256": "1x7i69cyss5mkz82ii5pqvjprgvqyd41admfdm7hpci626i9dhsr",
-    "version": "1.22.2"
+    "rev": "v1.23.0",
+    "sha256": "sha256-GmesO28YUaaBBTr+hbn8OxDf4oABQFEw8wPzA9LtFyM=",
+    "vendorSha256": "sha256-kTPL/db/wBzLWaqib6WQPokuuT2bcDyBgEvfm8xjhuw=",
+    "version": "1.23.0"
   },
   "random": {
     "owner": "hashicorp",
@@ -991,10 +1000,10 @@
     "owner": "splunk-terraform",
     "provider-source-address": "registry.terraform.io/splunk-terraform/signalfx",
     "repo": "terraform-provider-signalfx",
-    "rev": "v6.10.0",
-    "sha256": "sha256-ZfNxab95ZDz68fEPfYd+w0E/fS/FPBVIs4kHTBhG858=",
-    "vendorSha256": "sha256-bX01PcLLpgWFMWxWPaUW8iEHxllqCmIX1/OIicB/h0M=",
-    "version": "6.10.0"
+    "rev": "v6.11.0",
+    "sha256": "sha256-ezd4TzckY5yx/UjwGxH36VX+owI8fBUmxtQFztOsFvs=",
+    "vendorSha256": "sha256-PVbqS37MBkIrr8CO6LxB0NjWWiTI5NFDipX6GvokrnY=",
+    "version": "6.11.0"
   },
   "skytap": {
     "owner": "skytap",
@@ -1009,28 +1018,28 @@
     "owner": "chanzuckerberg",
     "provider-source-address": "registry.terraform.io/chanzuckerberg/snowflake",
     "repo": "terraform-provider-snowflake",
-    "rev": "v0.28.8",
-    "sha256": "sha256-v5+qmBqPJk9BTkjmXRn2yiIHlFkFcqoH7RuenM54Eys=",
+    "rev": "v0.29.0",
+    "sha256": "sha256-CdJHknGzEKfbxzrtqmevKwiYTs1UoRFRj6/ShQ9mdIc=",
     "vendorSha256": "sha256-G/UIKuKtolLY7RIQF06wzn/ZYTMihEmJZ1DqVcHFGdg=",
-    "version": "0.28.8"
+    "version": "0.29.0"
   },
   "sops": {
     "owner": "carlpett",
     "provider-source-address": "registry.terraform.io/carlpett/sops",
     "repo": "terraform-provider-sops",
-    "rev": "v0.6.3",
-    "sha256": "1db67jcgpg279hq4vfk1xhql0msn9fy95m8fdi1cxv54y7zcxwf9",
-    "vendorSha256": "1haw17k6xg3n6hbx3pj8ysyhq35k3lis1qq65qnyskl62y1ia54h",
-    "version": "0.6.3"
+    "rev": "v0.7.0",
+    "sha256": "sha256-Nkqc4w6dHsNEVsvmJcxLa9X9/qHProaZyOIoAADX52M=",
+    "vendorSha256": "sha256-ZBH8lAHYMVWsjyHkx17gX+0NstoC6PjdSmzCoShuFYQ=",
+    "version": "0.7.0"
   },
   "spotinst": {
     "owner": "spotinst",
     "provider-source-address": "registry.terraform.io/spotinst/spotinst",
     "repo": "terraform-provider-spotinst",
-    "rev": "v1.69.0",
-    "sha256": "sha256-pTQvqjh52B9w383yLvhNjDujSgQI1k8WpA1vpcY7RKI=",
-    "vendorSha256": "sha256-X7K0eHbmGBYnJ5ovnD/y6O9r7TTHgK7f7s9w4R5ThBU=",
-    "version": "1.69.0"
+    "rev": "v1.70.0",
+    "sha256": "sha256-jtoFXfHCnmGW2QVssngNtRLT6BfHaaNmNl4v2UIsmrI=",
+    "vendorSha256": "sha256-yfWdyEf6ypF0QCdh9zspCaFyPJpt4DgYR1LBPTztOUw=",
+    "version": "1.70.0"
   },
   "stackpath": {
     "owner": "stackpath",
@@ -1054,10 +1063,10 @@
     "owner": "SumoLogic",
     "provider-source-address": "registry.terraform.io/SumoLogic/sumologic",
     "repo": "terraform-provider-sumologic",
-    "rev": "v2.13.0",
-    "sha256": "1jg6jdmxi60v8gsqycnq7jy89l2zls37zvl317vhp8f93si2hr2d",
-    "vendorSha256": "19zhpa47wxkxk2nixd960xz9xh38nq5ml7dwnimr4v1mpvw9hcgc",
-    "version": "2.13.0"
+    "rev": "v2.14.0",
+    "sha256": "sha256-rLRU51l4cOBrC+HxVgtAay1L6VJt6qVgWUeYfJ9zSmE=",
+    "vendorSha256": "sha256-7DGY+L41bJJrtLwdWgu2aMCefgcmtR6tmH12foi68Kc=",
+    "version": "2.14.0"
   },
   "template": {
     "owner": "hashicorp",
@@ -1072,19 +1081,19 @@
     "owner": "tencentcloudstack",
     "provider-source-address": "registry.terraform.io/tencentcloudstack/tencentcloud",
     "repo": "terraform-provider-tencentcloud",
-    "rev": "v1.66.0",
-    "sha256": "sha256-wbG2O6i0Ai86P+uk9rTsut+DEZcRFJCh93CfIEOfP2A=",
+    "rev": "v1.66.3",
+    "sha256": "sha256-LwIL+GjyEyuTCKiKLrOKrH5S1s9L56PUaHu6ypSSnRQ=",
     "vendorSha256": null,
-    "version": "1.66.0"
+    "version": "1.66.3"
   },
   "tfe": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/tfe",
     "repo": "terraform-provider-tfe",
-    "rev": "v0.28.1",
-    "sha256": "0xvah6qaf6kxgxhgzgh4rqswjda3366i6gqqwaiw4gc3w0ks2i3g",
-    "vendorSha256": "1qxbsnay75v6ss3fvi00rif10ra1l23b107d0v5cc1il4smqc36g",
-    "version": "0.28.1"
+    "rev": "v0.30.2",
+    "sha256": "sha256-qJGHOZdnigflapWHhmvALNMzqDxJ4RSAgGFzm+3z7GA=",
+    "vendorSha256": "sha256-7TFfIk+aPbl3CLuNdeJg1O2n3WlCuG5tsayCtbo77I0=",
+    "version": "0.30.2"
   },
   "thunder": {
     "owner": "a10networks",
@@ -1136,19 +1145,28 @@
     "owner": "ucloud",
     "provider-source-address": "registry.terraform.io/ucloud/ucloud",
     "repo": "terraform-provider-ucloud",
-    "rev": "v1.31.0",
-    "sha256": "0maiqxrr1xl2q4lgpv0d78znsrrl95qi2bgpr5jd14w1kvw2bj73",
+    "rev": "v1.31.1",
+    "sha256": "sha256-xY8JXjKdi/TXpbZ1dQf9Sp8dbcHYn1cdqiszEK3evg0=",
     "vendorSha256": null,
-    "version": "1.31.0"
+    "version": "1.31.1"
+  },
+  "utils": {
+    "owner": "cloudposse",
+    "provider-source-address": "registry.terraform.io/cloudposse/utils",
+    "repo": "terraform-provider-utils",
+    "rev": "0.17.17",
+    "sha256": "sha256-QJtdCEw8bnVku4fqAX5MBU9tkPv5jwjra9lGPfUPGQw=",
+    "vendorSha256": "sha256-5EelFIfHVLRiRJig6EeJG6KGJuQ05LX3M5CNxUxQAas=",
+    "version": "0.17.17"
   },
   "vault": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/vault",
     "repo": "terraform-provider-vault",
-    "rev": "v3.3.1",
-    "sha256": "1mxy44dl1wr99v6b0gvzcf9d5nfky0avmx4fq83h9vfnvq7rmrhn",
-    "vendorSha256": "0x9cyxnaqkfpzx9ml7qqhl98jslpy1v965kd11kgcvqpr9lmc77x",
-    "version": "3.3.1"
+    "rev": "v3.4.1",
+    "sha256": "sha256-xG16n25upU9giQ76FEx6as2GvyhAk6kZixmJCJFti2s=",
+    "vendorSha256": "sha256-JiNYM8P6ExGVVOVBYA2WJSZOpZ0PAyoncENqYRXPo7c=",
+    "version": "3.4.1"
   },
   "vcd": {
     "owner": "vmware",
@@ -1160,14 +1178,13 @@
     "version": "3.5.1"
   },
   "venafi": {
-    "deleteVendor": true,
     "owner": "Venafi",
     "provider-source-address": "registry.terraform.io/Venafi/venafi",
     "repo": "terraform-provider-venafi",
-    "rev": "v0.15.2",
-    "sha256": "sha256-jnBunvqdLuU+GTRoXr/62FSnUoD5nfLVCN/wo4NdM3A=",
+    "rev": "v0.15.3",
+    "sha256": "sha256-qucPKnzUNYnnEe0rJoe3RhzBYIJJJroz3qTo8VlQBAE=",
     "vendorSha256": "sha256-lj8cuv9jR+3P7OiO/eW8poHcX+LsQo+kOyspiqdMXRY=",
-    "version": "0.15.2"
+    "version": "0.15.3"
   },
   "vercel": {
     "owner": "ondrejsika",
@@ -1209,27 +1226,27 @@
     "owner": "vultr",
     "provider-source-address": "registry.terraform.io/vultr/vultr",
     "repo": "terraform-provider-vultr",
-    "rev": "v2.9.1",
-    "sha256": "1w6699ngk6vcjii9skhrzv93p79mn6rmyqbb7fdchrwcvamk3y9a",
+    "rev": "v2.10.1",
+    "sha256": "sha256-Q4qdPfBXnhkr+zUbMvBnBqCDT0cbHFT8oNMTM6cP0SM=",
     "vendorSha256": null,
-    "version": "2.9.1"
+    "version": "2.10.1"
   },
   "wavefront": {
     "owner": "vmware",
     "provider-source-address": "registry.terraform.io/vmware/wavefront",
     "repo": "terraform-provider-wavefront",
-    "rev": "v3.0.1",
-    "sha256": "sha256-6SQjYaN0yhcHdmM+vGvIDPHKxN34ns3Yz+CMTEo13s0=",
+    "rev": "v3.0.2",
+    "sha256": "sha256-HCo6Hw724kQrPOCHoyByThq7L5NIZ/0AHmnQD27RUFA=",
     "vendorSha256": "sha256-PdSW3tyQUWbBiaM9U3NsqX/j4fMw9ZmjEDdyjxmRfD0=",
-    "version": "3.0.1"
+    "version": "3.0.2"
   },
   "yandex": {
     "owner": "yandex-cloud",
     "provider-source-address": "registry.terraform.io/yandex-cloud/yandex",
     "repo": "terraform-provider-yandex",
-    "rev": "v0.72.0",
-    "sha256": "0sjwyaqb7rgmwpskw95gmb5k0bfj06f9s8kn76rk1hc8rdqrl251",
-    "vendorSha256": "1bh7sc210n3rzq5065qzch8pfq3ppcg6fhy7yha23xaa5j8yabqx",
-    "version": "0.72.0"
+    "rev": "v0.73.0",
+    "sha256": "sha256-nhmy/DlO8JCjPRnm/o9R/+qq8k5kjEuNgYrGAdZWnVI=",
+    "vendorSha256": "sha256-GyLvc6mDA6F2xkT0bP3zjTWFmrOWodLCB4apYsBE95Q=",
+    "version": "0.73.0"
   }
 }
diff --git a/pkgs/applications/networking/cluster/tilt/default.nix b/pkgs/applications/networking/cluster/tilt/default.nix
index 35ca7464df752..c13c08c44a438 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.26.2";
+  version = "0.26.3";
 
   src = fetchFromGitHub {
     owner  = "tilt-dev";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "sha256-UYvTsoNJwH8DOa/Ns9QlckcMVf/+k9/5UX8gO/el0jw=";
+    sha256 = "sha256-jrVf6vNlEkTgALS93o3kIiticvsyFHm5oA2Fh1edAGY=";
   };
   vendorSha256 = null;
 
diff --git a/pkgs/applications/networking/cluster/vcluster/default.nix b/pkgs/applications/networking/cluster/vcluster/default.nix
index 7f1476d7fbf8e..18ca0709af57b 100644
--- a/pkgs/applications/networking/cluster/vcluster/default.nix
+++ b/pkgs/applications/networking/cluster/vcluster/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "vcluster";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "loft-sh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kY12bsZyDb36KE2dWx6RVYlKTbJh+XFQcBpFXoCLgEM=";
+    sha256 = "sha256-Yf2ZLhB6yfXySvPajI9mvdcYQPPpKI+LZ6+PMvOS4qo=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/werf/default.nix b/pkgs/applications/networking/cluster/werf/default.nix
index c55ccfa02fa25..9a9f454ac0039 100644
--- a/pkgs/applications/networking/cluster/werf/default.nix
+++ b/pkgs/applications/networking/cluster/werf/default.nix
@@ -11,15 +11,15 @@
 
 buildGoModule rec {
   pname = "werf";
-  version = "1.2.77";
+  version = "1.2.78";
 
   src = fetchFromGitHub {
     owner = "werf";
     repo = "werf";
     rev = "v${version}";
-    sha256 = "sha256-JmadwNERjexnJN+fBUjgMkvPtAaTbb7GITPsZlx2vik=";
+    sha256 = "sha256-ehrzb7WvkYL8oj2RSzKc1KDagV0zg6vMzgpT2sPyhcI=";
   };
-  vendorSha256 = "sha256-IPQiS1GgNP+k/INv3f3VitoHActC3MrRys905nTSXyI=";
+  vendorSha256 = "sha256-w8ZeAQbZIVOBoRa9fJhXgTeYRCYpkh/U4pwb5u6A9mQ=";
   proxyVendor = true;
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/networking/feedreaders/newsboat/default.nix b/pkgs/applications/networking/feedreaders/newsboat/default.nix
index e746f115043b2..ed5cad35474f9 100644
--- a/pkgs/applications/networking/feedreaders/newsboat/default.nix
+++ b/pkgs/applications/networking/feedreaders/newsboat/default.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "newsboat";
-  version = "2.26";
+  version = "2.27";
 
   src = fetchFromGitHub {
     owner = "newsboat";
     repo = "newsboat";
     rev = "r${version}";
-    hash = "sha256-VFeKj8X7gEyxsdsOK6UYJ6xB24gsuzb1Wm4GK5AJCHc=";
+    hash = "sha256-cHUI95Zrwzg242BM8/roA40sAxijFw6go6BbQNZSzRw=";
   };
 
-  cargoHash = "sha256-pr/Vzm321/uX4fIGt3kuWrtcgsnDRbeK3AvNO19NDwQ=";
+  cargoHash = "sha256-YZpaPfExKNLHWHmnCery4fGAJmOhpK3umuO343qe0Zo=";
 
   # TODO: Check if that's still needed
   postPatch = lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/applications/networking/feedreaders/rss2email/default.nix b/pkgs/applications/networking/feedreaders/rss2email/default.nix
index 9f0ebc7d930f5..ae98133f18992 100644
--- a/pkgs/applications/networking/feedreaders/rss2email/default.nix
+++ b/pkgs/applications/networking/feedreaders/rss2email/default.nix
@@ -42,7 +42,7 @@ buildPythonApplication rec {
     description = "A tool that converts RSS/Atom newsfeeds to email";
     homepage = "https://pypi.python.org/pypi/rss2email";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ jb55 Profpatsch ekleog ];
+    maintainers = with maintainers; [ Profpatsch ekleog ];
   };
   passthru.tests = {
     smoke-test = nixosTests.rss2email;
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index f4a2306017a93..ad18f4e1e611d 100644
--- a/pkgs/applications/networking/flexget/default.nix
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -5,14 +5,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "flexget";
-  version = "3.3.3";
+  version = "3.3.8";
 
   # Fetch from GitHub in order to use `requirements.in`
   src = fetchFromGitHub {
     owner = "flexget";
     repo = "flexget";
     rev = "v${version}";
-    hash = "sha256-a76x4Klad3lct2M9RxSroUYKmEX7lPqDN+dFvfjavo8=";
+    hash = "sha256-ZGs5ixNcrkoZ4TRVuIUeNF1FNJwKpYElNv6oPhGiEmU=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/gmailctl/default.nix b/pkgs/applications/networking/gmailctl/default.nix
index f024de8d55ed4..9fc1e25a92d7a 100644
--- a/pkgs/applications/networking/gmailctl/default.nix
+++ b/pkgs/applications/networking/gmailctl/default.nix
@@ -6,15 +6,19 @@
 
 buildGoModule rec {
   pname = "gmailctl";
-  version = "0.10.0";
+  # on an unstable version because of https://github.com/mbrt/gmailctl/issues/232
+  # and https://github.com/mbrt/gmailctl/commit/484bb689866987580e0576165180ef06375a543f
+  version = "unstable-2022-03-24";
 
   src = fetchFromGitHub {
     owner = "mbrt";
     repo = "gmailctl";
-    rev = "v${version}";
-    sha256 = "sha256-JuE8+OW+qM6tir4A25tN2GTXQIkcKVE4uKbZNSTcNlA=";
+    rev = "484bb689866987580e0576165180ef06375a543f";
+    sha256 = "sha256-hIoS64QEDJ1qq3KJ2H8HjgQl8SxuIo+xz7Ot8CdjjQA=";
   };
 
+  vendorSha256 = "sha256-KWM20a38jZ3/a45313kxY2LaCQyiNMEdfdIV78phrBo=";
+
   nativeBuildInputs = [
     installShellFiles
   ];
@@ -26,8 +30,6 @@ buildGoModule rec {
       --zsh <($out/bin/gmailctl completion zsh)
   '';
 
-  vendorSha256 = "sha256-nAczO439tRiQU9f9LbJVENJiURVRnBAInwUp699RxOY=";
-
   doCheck = false;
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/instant-messengers/alfaview/default.nix b/pkgs/applications/networking/instant-messengers/alfaview/default.nix
index ebed984c4d538..a810dbdc3a1f9 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.40.0";
+  version = "8.41.0";
 
   src = fetchurl {
     url = "https://production-alfaview-assets.alfaview.com/stable/linux/${pname}_${version}.deb";
-    sha256 = "sha256-meiIDIG7OXxF2aclHA/8FN8aSz5KWJliDbm2p/flD4k=";
+    sha256 = "sha256-qW+MB71sylKJQycSX6hiBgxAO4MuhnBaPGFjm+6y4vk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/bitlbee-discord/default.nix b/pkgs/applications/networking/instant-messengers/bitlbee-discord/default.nix
index 543a5f52c979f..4450eefa6eb08 100644
--- a/pkgs/applications/networking/instant-messengers/bitlbee-discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/bitlbee-discord/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
     homepage = "https://github.com/sm00th/bitlbee-discord";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ lassulus jb55 ];
+    maintainers = with maintainers; [ lassulus ];
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/bitlbee-steam/default.nix b/pkgs/applications/networking/instant-messengers/bitlbee-steam/default.nix
index 14464247659cf..00b970cd68716 100644
--- a/pkgs/applications/networking/instant-messengers/bitlbee-steam/default.nix
+++ b/pkgs/applications/networking/instant-messengers/bitlbee-steam/default.nix
@@ -12,8 +12,8 @@ stdenv.mkDerivation rec {
     sha256 = "121r92mgwv445wwxzh35n19fs5k81ihr0j19k256ia5502b1xxaq";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ bitlbee autoconf automake libtool libgcrypt ];
+  nativeBuildInputs = [ pkg-config autoconf automake ];
+  buildInputs = [ bitlbee libtool libgcrypt ];
 
   preConfigure = ''
     export BITLBEE_PLUGINDIR=$out/lib/bitlbee
diff --git a/pkgs/applications/networking/instant-messengers/chatty/default.nix b/pkgs/applications/networking/instant-messengers/chatty/default.nix
index f9cec37a50683..34b525a98a61d 100644
--- a/pkgs/applications/networking/instant-messengers/chatty/default.nix
+++ b/pkgs/applications/networking/instant-messengers/chatty/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitLab
 , appstream-glib
 , desktop-file-utils
+, itstool
 , meson
 , ninja
 , pkg-config
@@ -11,7 +12,7 @@
 , evolution-data-server
 , feedbackd
 , glibmm
-, gnome
+, gnome-desktop
 , gspell
 , gtk3
 , json-glib
@@ -46,6 +47,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     appstream-glib
     desktop-file-utils
+    itstool
     meson
     ninja
     pkg-config
@@ -57,7 +59,7 @@ stdenv.mkDerivation rec {
     evolution-data-server
     feedbackd
     glibmm
-    gnome.gnome-desktop
+    gnome-desktop
     gspell
     gtk3
     json-glib
diff --git a/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix b/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
index 9e245b46d0615..f80d8cab8b117 100644
--- a/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
@@ -1,38 +1,41 @@
 { lib
 , copyDesktopItems
-, electron
+, electron_14
 , esbuild
 , fetchFromGitHub
 , fetchpatch
 , libdeltachat
 , makeDesktopItem
 , makeWrapper
-, nodePackages
+, nodejs-14_x
+, noto-fonts-emoji
 , pkg-config
+, roboto
 , rustPlatform
+, sqlcipher
 , stdenv
 , CoreServices
 }:
 
 let
   libdeltachat' = libdeltachat.overrideAttrs (old: rec {
-    version = "1.70.0";
+    version = "1.76.0";
     src = fetchFromGitHub {
       owner = "deltachat";
       repo = "deltachat-core-rust";
       rev = version;
-      hash = "sha256-702XhFWvFG+g++3X97sy6C5DMNWogv1Xbr8QPR8QyLo=";
+      hash = "sha256-aeYOszOFyLaC1xKswYZLzqoWSFFWOOeOkc+WrtqU0jo=";
     };
     cargoDeps = rustPlatform.fetchCargoTarball {
       inherit src;
       name = "${old.pname}-${version}";
-      hash = "sha256-MiSGJMXe8vouv4XEHXq274FHEvBMtd7IX6DyNJIWYeU=";
+      hash = "sha256-sBFXcLXpAkX+HzRKrLKaHhi5ieS8Yc/Uf30WcXyWrok=";
     };
   });
   electronExec = if stdenv.isDarwin then
-    "${electron}/Applications/Electron.app/Contents/MacOS/Electron"
+    "${electron_14}/Applications/Electron.app/Contents/MacOS/Electron"
   else
-    "${electron}/bin/electron";
+    "${electron_14}/bin/electron";
   esbuild' = esbuild.overrideAttrs (old: rec {
     version = "0.12.29";
     src = fetchFromGitHub {
@@ -42,19 +45,18 @@ let
       hash = "sha256-oU++9E3StUoyrMVRMZz8/1ntgPI62M1NoNz9sH/N5Bg=";
     };
   });
-in nodePackages.deltachat-desktop.override rec {
+in nodejs-14_x.pkgs.deltachat-desktop.override rec {
   pname = "deltachat-desktop";
-  version = "1.26.0";
+  version = "1.28.0";
 
   src = fetchFromGitHub {
     owner = "deltachat";
     repo = "deltachat-desktop";
     rev = "v${version}";
-    hash = "sha256-IDyGV2+/+wHp5N4G10y5OHvw2yoyVxWx394xszIYoj4=";
+    hash = "sha256-Ur0UxaKEWp+y7lGz2Khsg4npOf+gjCiOoijkSbnp0hg=";
   };
 
   nativeBuildInputs = [
-    esbuild
     makeWrapper
     pkg-config
   ] ++ lib.optionals stdenv.isLinux [
@@ -72,27 +74,28 @@ in nodePackages.deltachat-desktop.override rec {
   USE_SYSTEM_LIBDELTACHAT = "true";
   VERSION_INFO_GIT_REF = src.rev;
 
-  postInstall = let
-    keep = lib.concatMapStringsSep " " (file: "! -name ${file}") [
-      "_locales" "build" "html-dist" "images" "index.js"
-      "node_modules" "themes" "tsc-dist"
-    ];
-  in ''
+  postInstall = ''
     rm -r node_modules/deltachat-node/{deltachat-core-rust,prebuilds,src}
 
-    patchShebangs node_modules/sass/sass.js
-
     npm run build
 
     npm prune --production
 
-    find . -mindepth 1 -maxdepth 1 ${keep} -print0 | xargs -0 rm -r
-
-    mkdir -p $out/share/icons/hicolor/scalable/apps
-    ln -s $out/lib/node_modules/deltachat-desktop/build/icon.png \
+    install -D $out/lib/node_modules/deltachat-desktop/build/icon.png \
       $out/share/icons/hicolor/scalable/apps/deltachat.png
 
+    awk '!/^#/ && NF' build/packageignore_list \
+      | xargs -I {} sh -c "rm -rf {}" || true
+
+    ln -sf ${noto-fonts-emoji}/share/fonts/noto/NotoColorEmoji.ttf \
+      $out/lib/node_modules/deltachat-desktop/html-dist/fonts/noto/emoji
+    for font in $out/lib/node_modules/deltachat-desktop/html-dist/fonts/Roboto-*.ttf; do
+      ln -sf ${roboto}/share/fonts/truetype/$(basename $font) \
+        $out/lib/node_modules/deltachat-desktop/html-dist/fonts
+    done
+
     makeWrapper ${electronExec} $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/deltachat-desktop/package.json b/pkgs/applications/networking/instant-messengers/deltachat-desktop/package.json
index 23f0f15e3c477..ca584702765a3 100644
--- a/pkgs/applications/networking/instant-messengers/deltachat-desktop/package.json
+++ b/pkgs/applications/networking/instant-messengers/deltachat-desktop/package.json
@@ -1,36 +1,39 @@
 {
   "name": "deltachat-desktop",
-  "version": "1.26.0",
+  "version": "1.28.0",
   "dependencies": {
     "@blueprintjs/core": "^3.22.3",
-    "@deltachat/message_parser_wasm": "^0.1.0",
+    "@deltachat/message_parser_wasm": "^0.3.0",
     "@mapbox/geojson-extent": "^1.0.0",
     "application-config": "^1.0.1",
     "classnames": "^2.3.1",
     "debounce": "^1.2.0",
-    "deltachat-node": "1.70.0",
+    "deltachat-node": "1.76.0",
     "emoji-js-clean": "^4.0.0",
     "emoji-mart": "^3.0.0",
     "emoji-regex": "^9.2.2",
-    "error-stack-parser": "2.0.6",
+    "error-stack-parser": "^2.0.7",
     "filesize": "^8.0.6",
+    "immutable": "^4.0.0",
     "mapbox-gl": "^1.12.0",
     "mime-types": "^2.1.31",
     "moment": "^2.27.0",
-    "node-fetch": "^2.6.1",
+    "node-fetch": "^2.6.7",
     "path-browserify": "^1.0.1",
     "rc": "^1.2.8",
     "react": "^17.0.2",
     "react-dom": "^17.0.2",
     "react-qr-reader": "^2.2.1",
     "react-qr-svg": "^2.1.0",
-    "react-string-replace": "^0.4.4",
+    "react-string-replace": "^1.0.0",
     "react-virtualized-auto-sizer": "^1.0.5",
     "react-window": "^1.8.6",
     "react-window-infinite-loader": "^1.0.7",
+    "react-zoom-pan-pinch": "^2.1.3",
     "source-map-support": "^0.5.19",
+    "stackframe": "^1.2.1",
     "tempy": "^0.3.0",
-    "url-parse": "^1.5.3",
+    "url-parse": "^1.5.9",
     "use-debounce": "^3.3.0",
     "@babel/core": "^7.7.7",
     "@babel/preset-env": "^7.7.7",
@@ -48,8 +51,8 @@
     "@types/react-window": "^1.8.4",
     "@types/react-window-infinite-loader": "^1.0.4",
     "@types/url-parse": "^1.4.3",
-    "electron": "^13.1.6",
-    "esbuild": "^0.12.15",
+    "electron": "^14.2.6",
+    "esbuild": "^0.12.29",
     "glob-watcher": "^5.0.5",
     "sass": "^1.26.5",
     "typescript": "^4.4.4",
diff --git a/pkgs/applications/networking/instant-messengers/deltachat-desktop/update.sh b/pkgs/applications/networking/instant-messengers/deltachat-desktop/update.sh
index 3f14f01b3604e..c3119a79afd83 100755
--- a/pkgs/applications/networking/instant-messengers/deltachat-desktop/update.sh
+++ b/pkgs/applications/networking/instant-messengers/deltachat-desktop/update.sh
@@ -29,7 +29,7 @@ tac default.nix \
 
 src=$(nix-build "$nixpkgs" -A deltachat-desktop.src --no-out-link)
 
-jq '{ name, version, dependencies: (.dependencies + (.devDependencies | del(.["@typescript-eslint/eslint-plugin","@typescript-eslint/parser","electron-builder","electron-devtools-installer","electron-notarize","eslint","eslint-config-prettier","eslint-plugin-react-hooks","hallmark","prettier","tape","testcafe","testcafe-browser-provider-electron","testcafe-react-selectors","walk"]))) }' \
+jq '{ name, version, dependencies: (.dependencies + (.devDependencies | del(.["@types/chai","@types/mocha","@typescript-eslint/eslint-plugin","@typescript-eslint/parser","chai","electron-builder","electron-devtools-installer","electron-notarize","eslint","eslint-config-prettier","eslint-plugin-react-hooks","hallmark","mocha","prettier","testcafe","testcafe-browser-provider-electron","testcafe-react-selectors","ts-node","walk"]))) }' \
     "$src/package.json" > package.json.new
 
 if cmp --quiet package.json{.new,}; then
diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json b/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
index 984a9cb501dde..46ee444c37839 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
+++ b/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
@@ -2,7 +2,7 @@
   "name": "element-desktop",
   "productName": "Element",
   "main": "lib/electron-main.js",
-  "version": "1.10.7",
+  "version": "1.10.8",
   "description": "A feature-rich client for Matrix.org",
   "author": "Element",
   "repository": {
@@ -44,7 +44,7 @@
     "counterpart": "^0.18.6",
     "electron-store": "^6.0.1",
     "electron-window-state": "^5.0.3",
-    "minimist": "^1.2.3",
+    "minimist": "^1.2.6",
     "png-to-ico": "^2.1.1",
     "request": "^2.88.2"
   },
diff --git a/pkgs/applications/networking/instant-messengers/element/keytar/default.nix b/pkgs/applications/networking/instant-messengers/element/keytar/default.nix
index 292b0dfa075d3..9d46657e0ab57 100644
--- a/pkgs/applications/networking/instant-messengers/element/keytar/default.nix
+++ b/pkgs/applications/networking/instant-messengers/element/keytar/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, nodejs-14_x, python3, callPackage
+{ lib, stdenv, fetchFromGitHub, nodejs-14_x, python3, callPackage, removeReferencesTo
 , fixup_yarn_lock, yarn, pkg-config, libsecret, xcbuild, Security, AppKit, fetchYarnDeps }:
 
 let
@@ -51,6 +51,9 @@ in stdenv.mkDerivation rec {
     mkdir -p $out
     cp -r ./!(build) $out
     install -D -t $out/build/Release build/Release/keytar.node
+    ${removeReferencesTo}/bin/remove-references-to -t ${stdenv.cc.cc} $out/build/Release/keytar.node
     runHook postInstall
   '';
+
+  disallowedReferences = [ stdenv.cc.cc ];
 }
diff --git a/pkgs/applications/networking/instant-messengers/element/pin.json b/pkgs/applications/networking/instant-messengers/element/pin.json
index f75dfc66ca909..d487e9ae31602 100644
--- a/pkgs/applications/networking/instant-messengers/element/pin.json
+++ b/pkgs/applications/networking/instant-messengers/element/pin.json
@@ -1,6 +1,6 @@
 {
-  "version": "1.10.7",
-  "desktopSrcHash": "HkGny9t8dNzVGyyqgr4tABbFZgWV4xqGZt9xH4ejkew=",
-  "desktopYarnHash": "038rqg26dn8chzscck5mlhnw2viy6gr8pjb7zrcmi7ipx9h038a0",
-  "webHash": "0gim79a1zpfc56ca5fndp2whmlv9jz1s32z666i268xppn4z53k1"
+  "version": "1.10.8",
+  "desktopSrcHash": "S9MQIn773BzCH4dsTkD1DpIThDzoIGr4Heaie2Qs0jY=",
+  "desktopYarnHash": "1imx43qbpj08l6d0fji31kcxqshcpr0ch8dzfbbgxyjvblq2p8ln",
+  "webHash": "02i6l3armzr19kki3hgshhzkdpb3001nilh4h10hr3xw5z711ppr"
 }
diff --git a/pkgs/applications/networking/instant-messengers/element/seshat/default.nix b/pkgs/applications/networking/instant-messengers/element/seshat/default.nix
index 5017f85311790..3c4ac2f52ae1b 100644
--- a/pkgs/applications/networking/instant-messengers/element/seshat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/element/seshat/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, rustPlatform, fetchFromGitHub, callPackage, sqlcipher, nodejs-14_x, python3, yarn, fixup_yarn_lock, CoreServices, fetchYarnDeps }:
+{ lib, stdenv, rustPlatform, fetchFromGitHub, callPackage, sqlcipher, nodejs-14_x, python3, yarn, fixup_yarn_lock, CoreServices, fetchYarnDeps, removeReferencesTo }:
 
 let
   pinData = lib.importJSON ./pin.json;
@@ -48,8 +48,11 @@ in rustPlatform.buildRustPackage rec {
     rm -rf native/!(index.node)
     rm -rf node_modules $HOME
     cp -r . $out
+    ${removeReferencesTo}/bin/remove-references-to -t ${stdenv.cc.cc} $out/native/index.node
     runHook postInstall
   '';
 
+  disallowedReferences = [ stdenv.cc.cc ];
+
   cargoSha256 = pinData.cargoHash;
 }
diff --git a/pkgs/applications/networking/instant-messengers/ferdi/default.nix b/pkgs/applications/networking/instant-messengers/ferdi/default.nix
index 0a44a37cf4bca..6e0e39043ee05 100644
--- a/pkgs/applications/networking/instant-messengers/ferdi/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ferdi/default.nix
@@ -17,10 +17,10 @@ in
 mkFranzDerivation' rec {
   pname = "ferdi";
   name = "Ferdi";
-  version = "5.8.0";
+  version = "5.8.1";
   src = fetchurl {
     url = "https://github.com/getferdi/ferdi/releases/download/v${version}/ferdi_${version}_amd64.deb";
-    sha256 = "sha256-Dd/iH9dtr4WvM++bSURF8kI6BsF6uBiSFviC/ik2H+o=";
+    sha256 = "sha256-Bl7bM5iDQlfPSZxksqlg7GbuwWlm53QkOf/TQEg3/n0=";
   };
   extraBuildInputs = [ xorg.libxshmfence ];
   meta = with lib; {
diff --git a/pkgs/applications/networking/instant-messengers/fractal/default.nix b/pkgs/applications/networking/instant-messengers/fractal/default.nix
index d957daced26dc..3b5349d65ffe7 100644
--- a/pkgs/applications/networking/instant-messengers/fractal/default.nix
+++ b/pkgs/applications/networking/instant-messengers/fractal/default.nix
@@ -1,5 +1,7 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchFromGitLab
+, fetchpatch
 , nix-update-script
 , meson
 , ninja
@@ -33,6 +35,15 @@ stdenv.mkDerivation rec {
     sha256 = "DSNVd9YvI7Dd3s3+M0+wE594tmL1yPNMnD1W9wLhSuw=";
   };
 
+  patches = [
+    # Fix build with meson 0.61
+    # fractal-gtk/res/meson.build:5:0: ERROR: Function does not take positional arguments.
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/fractal/-/commit/6fa1a23596d65d94aa889efe725174e6cd2903f0.patch";
+      sha256 = "3OzU9XL2V1VNOkvL1j677K3HNoBqPMQudQDmiDxYfAc=";
+    })
+  ];
+
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
diff --git a/pkgs/applications/networking/instant-messengers/gotktrix/default.nix b/pkgs/applications/networking/instant-messengers/gotktrix/default.nix
index 0500302ddedb7..f44c05da5c018 100644
--- a/pkgs/applications/networking/instant-messengers/gotktrix/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gotktrix/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "gotktrix";
-  version = "0.1.1";
+  version = "0.1.2";
 
   src = fetchFromGitHub {
     owner = "diamondburned";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9feKg/rnkWdJRolHBQ5WT6Rl3xTFe82M8HyxJK3VuN4=";
+    sha256 = "sha256-K+q0sykdOMnAWypOXnwTU5oTokpYw61CTsAW1gIvGSQ=";
   };
 
-  vendorSha256 = "sha256-eO/2MvWOVCeeCsiU2mSwgSEVlSbCXOp8qHyoG0lmk+Q=";
+  vendorSha256 = "sha256-Br9KgUoN01yoGujgbj5UEoB57K87oEH/o40rrRtIZVY=";
 
   buildInputs = [
     gtk4
diff --git a/pkgs/applications/networking/instant-messengers/gtmess/default.nix b/pkgs/applications/networking/instant-messengers/gtmess/default.nix
deleted file mode 100644
index 3474e5729316e..0000000000000
--- a/pkgs/applications/networking/instant-messengers/gtmess/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{lib, stdenv, fetchurl, ncurses, openssl, tcl, tk}:
-
-stdenv.mkDerivation rec {
-  pname = "gtmess";
-  version = "0.97";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/gtmess/gtmess-${version}.tar.gz";
-    sha256 = "1ipmqsrj0r1ssbgs2fpr4x5vnzlxlqhx9jrnadp1jw7s0sxpjqv0";
-  };
-
-  buildInputs = [ ncurses openssl tcl tk];
-
-  meta = {
-    description = "Console MSN Messenger client for Linux and other unix systems";
-    homepage = "http://gtmess.sourceforge.net/";
-    license = lib.licenses.gpl2Plus;
-    platforms = with lib.platforms; linux;
-  };
-}
diff --git a/pkgs/applications/networking/instant-messengers/nheko/default.nix b/pkgs/applications/networking/instant-messengers/nheko/default.nix
index 080ceda94b4a6..750511ebf152c 100644
--- a/pkgs/applications/networking/instant-messengers/nheko/default.nix
+++ b/pkgs/applications/networking/instant-messengers/nheko/default.nix
@@ -33,13 +33,13 @@
 
 mkDerivation rec {
   pname = "nheko";
-  version = "0.9.2";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner = "Nheko-Reborn";
     repo = "nheko";
     rev = "v${version}";
-    sha256 = "sha256-roC1OIq0Vmj5rABNtH4IOMHX9aSlOMFC7ZHueuj/PmE=";
+    sha256 = "sha256-h1Yahz7Rt7+r55RFTSVj6E14nWnjCs0CecljceaWgaQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/pond/default.nix b/pkgs/applications/networking/instant-messengers/pond/default.nix
index c7b5d56dbba34..568a2a5bd51b1 100644
--- a/pkgs/applications/networking/instant-messengers/pond/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pond/default.nix
@@ -24,7 +24,7 @@ buildGoPackage rec {
     ++ lib.optional stdenv.hostPlatform.isx86_64 dclxvi
     ++ lib.optionals gui [ wrapGAppsHook ];
   tags = lib.optionals (!gui) [ "nogui" ];
-  excludedPackages = "\\(appengine\\|bn256cgo\\)";
+  excludedPackages = [ "appengine" "bn256cgo" ];
   postPatch = lib.optionalString stdenv.hostPlatform.isx86_64 ''
     grep -r 'bn256' | awk -F: '{print $1}' | xargs sed -i \
       -e "s,golang.org/x/crypto/bn256,github.com/agl/pond/bn256cgo,g" \
diff --git a/pkgs/applications/networking/instant-messengers/profanity/default.nix b/pkgs/applications/networking/instant-messengers/profanity/default.nix
index 42671f5d974b4..2034f1761f2e3 100644
--- a/pkgs/applications/networking/instant-messengers/profanity/default.nix
+++ b/pkgs/applications/networking/instant-messengers/profanity/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , autoconf-archive
 , autoreconfHook
 , cmocka
@@ -10,7 +9,7 @@
 , expect
 , glib
 , glibcLocales
-, libmesode
+, libstrophe
 , libmicrohttpd
 , libotr
 , libuuid
@@ -36,34 +35,17 @@ assert omemoSupport        -> libsignal-protocol-c != null && libgcrypt != null;
 
 stdenv.mkDerivation rec {
   pname = "profanity";
-  version = "0.11.1";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "profanity-im";
     repo = "profanity";
     rev = version;
-    hash = "sha256-8WGHOy0fSW8o7vMCYZqqpvDsn81JZefM6wGfjQ5iKbU=";
+    hash = "sha256-kmixWp9Q2tMVp+tk5kbTdBfgRNghKk3+48L582hqlm8=";
   };
 
   patches = [
     ./patches/packages-osx.patch
-
-    # pullupstream fixes for ncurses-6.3
-    (fetchpatch {
-      name = "ncurses-6.3-p1.patch";
-      url = "https://github.com/profanity-im/profanity/commit/e5b6258c997d4faf36e2ffb8a47b386c5629b4eb.patch";
-      sha256 = "sha256-4rwpvsgfIQ60GcLS0O7Hyn7ZidREjYT+dVND54z0zrw=";
-    })
-    (fetchpatch {
-      name = "ncurses-6.3-p2.patch";
-      url = "https://github.com/profanity-im/profanity/commit/fd9ccec8dc604902bbb1d444dba4223ccee0a092.patch";
-      sha256 = "sha256-4gZaXoDNulBIR+e6y/9bJKXVactCHWS8H8lPJaJwVwE=";
-    })
-    (fetchpatch {
-      name = "ncurses-6.3-p3.patch";
-      url = "https://github.com/profanity-im/profanity/commit/242696f09a49c8446ba6aef8bdad65fb58a77715.patch";
-      sha256 = "sha256-BOYHkae9aIA7HaVM23Yu25TTK9e3SuV+u0FEi7Sn62I=";
-    })
   ];
 
   enableParallelBuilding = true;
@@ -81,7 +63,7 @@ stdenv.mkDerivation rec {
     expat
     expect
     glib
-    libmesode
+    libstrophe
     libmicrohttpd
     libotr
     libuuid
diff --git a/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix b/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix
index 71748ee77b2f5..4518627fe2b89 100644
--- a/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix
+++ b/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix
@@ -1,15 +1,53 @@
 { lib
+, makeDesktopItem
+, copyDesktopItems
+, stdenvNoCC
 , fetchurl
 , appimageTools
 }:
 
-appimageTools.wrapType2 rec {
-  pname = "session-desktop-appimage";
+let
   version = "1.7.9";
+  pname = "session-desktop-appimage";
+
   src = fetchurl {
     url = "https://github.com/oxen-io/session-desktop/releases/download/v${version}/session-desktop-linux-x86_64-${version}.AppImage";
     sha256 = "ca7754e59146633b71e66b02a90cff87e4f2574e57ff831ca4a5f983b7e2fbef";
   };
+  appimage = appimageTools.wrapType2 {
+    inherit version pname src;
+  };
+  appimage-contents = appimageTools.extractType2 {
+    inherit version pname src;
+  };
+in
+stdenvNoCC.mkDerivation {
+  inherit version pname;
+  src = appimage;
+
+  nativeBuildInputs = [ copyDesktopItems ];
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "Session";
+      desktopName = "Session";
+      comment = "Onion routing based messenger";
+      exec = "${appimage}/bin/session-desktop-appimage-${version}";
+      icon = "${appimage-contents}/session-desktop.png";
+      terminal = false;
+      type = "Application";
+      categories = [ "Network" ];
+    })
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/
+    cp -r bin $out/bin
+
+    runHook postInstall
+  '';
 
   meta = with lib; {
     description = "Onion routing based messenger";
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index 99ee871c917e1..e3fa08e3df3a7 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -24,7 +24,7 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "signal-desktop";
-  version = "5.35.0"; # Please backport all updates to the stable channel.
+  version = "5.36.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:
@@ -34,7 +34,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-    sha256 = "sha256-2KF2OLq6/vHElgloxn+kgQisJC+HAkpOBfsKfEPW35c=";
+    sha256 = "sha256-x1PUEDq/0B1T14mBs2FuKtcGpJHWOIvHAs8hptpzhZk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/zulip/default.nix b/pkgs/applications/networking/instant-messengers/zulip/default.nix
index 1fce1a6b6e521..3c43715dd9812 100644
--- a/pkgs/applications/networking/instant-messengers/zulip/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zulip/default.nix
@@ -5,12 +5,12 @@
 
 let
   pname = "zulip";
-  version = "5.8.1";
+  version = "5.9.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/zulip/zulip-desktop/releases/download/v${version}/Zulip-${version}-x86_64.AppImage";
-    sha256 = "02m18y5j6jmmlygv8ycwaaq6n7mvj97ljhd3l9pvii0adwcvrpfz";
+    hash = "sha256-qiGkZuGJsKuquMuAcO+9wbU4KW++uyOb4TKb9lCgZmI=";
     name="${pname}-${version}.AppImage";
   };
 
diff --git a/pkgs/applications/networking/ipfs/default.nix b/pkgs/applications/networking/ipfs/default.nix
index f6285ae59bebf..04854840112f4 100644
--- a/pkgs/applications/networking/ipfs/default.nix
+++ b/pkgs/applications/networking/ipfs/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "ipfs";
-  version = "0.12.0"; # When updating, also check if the repo version changed and adjust repoVersion below
+  version = "0.12.1"; # When updating, also check if the repo version changed and adjust repoVersion below
   rev = "v${version}";
 
   repoVersion = "12"; # Also update ipfs-migrator when changing the repo version
@@ -10,7 +10,7 @@ buildGoModule rec {
   # go-ipfs makes changes to it's source tarball that don't match the git source.
   src = fetchurl {
     url = "https://github.com/ipfs/go-ipfs/releases/download/${rev}/go-ipfs-source.tar.gz";
-    sha256 = "jWoMm/xIp3Zn/FiHWQ5/q39i6Lh4Fdoi9OdnRVc51Xk=";
+    sha256 = "sha256-fUExCvE6x5VFBl66y52DGvr8ZNSXZ6MYpVQP/D7X328=";
   };
 
   # tarball contains multiple files/directories
diff --git a/pkgs/applications/networking/irc/bip/default.nix b/pkgs/applications/networking/irc/bip/default.nix
index a7b57aa31028b..c144b4bf58531 100644
--- a/pkgs/applications/networking/irc/bip/default.nix
+++ b/pkgs/applications/networking/irc/bip/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "0q942g9lyd8pjvqimv547n6vik5759r9npw3ws3bdj4ixxqhz59w";
   };
 
-  buildInputs = [ bison flex autoconf automake openssl ];
+  nativeBuildInputs = [ autoconf automake ];
+  buildInputs = [ bison flex openssl ];
 
   # includes an important security patch
   patches = [
diff --git a/pkgs/applications/networking/irc/ircdog/default.nix b/pkgs/applications/networking/irc/ircdog/default.nix
index 5badc69a3a277..87d4b8777c3fc 100644
--- a/pkgs/applications/networking/irc/ircdog/default.nix
+++ b/pkgs/applications/networking/irc/ircdog/default.nix
@@ -5,21 +5,22 @@
 
 buildGoPackage rec {
   pname = "ircdog";
-  version = "0.2.1";
+  version = "0.3.0";
 
-  goPackagePath = "github.com/goshuirc/ircdog";
+  goPackagePath = "github.com/ergochat/ircdog";
 
   src = fetchFromGitHub {
     owner = "goshuirc";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ppbznlkv7vajfbimxbyiq5y6pkfhm6ylhl408rwq1bawl28hpkl";
+    sha256 = "sha256-x3ihWLgVYu17vG1xQTgIr4TSkeZ467TZBV1fPTPnZgw=";
     fetchSubmodules = true;
   };
 
   meta = with lib; {
     description = "ircdog is a simple wrapper over the raw IRC protocol that can respond to pings, and interprets formatting codes";
-    homepage = "https://github.com/goshuirc/ircdog";
+    homepage = "https://github.com/ergochat/ircdog";
+    changelog = "https://github.com/ergochat/ircdog/releases/tag/v${version}";
     license = licenses.isc;
     maintainers = with maintainers; [ hexa ];
   };
diff --git a/pkgs/applications/networking/irc/irssi/fish/default.nix b/pkgs/applications/networking/irc/irssi/fish/default.nix
index a3ee4e4ab9c7d..c275f904660b6 100644
--- a/pkgs/applications/networking/irc/irssi/fish/default.nix
+++ b/pkgs/applications/networking/irc/irssi/fish/default.nix
@@ -23,8 +23,8 @@ stdenv.mkDerivation rec {
     cp src/.libs/libfish.so $out/lib/irssi/modules
   '';
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ gmp automake autoconf libtool openssl glib ];
+  nativeBuildInputs = [ pkg-config autoconf automake ];
+  buildInputs = [ gmp libtool openssl glib ];
 
   meta = {
     homepage = "https://github.com/falsovsky/FiSH-irssi";
diff --git a/pkgs/applications/networking/irc/quassel/default.nix b/pkgs/applications/networking/irc/quassel/default.nix
index d218f114143f1..4bc930b12d0af 100644
--- a/pkgs/applications/networking/irc/quassel/default.nix
+++ b/pkgs/applications/networking/irc/quassel/default.nix
@@ -88,7 +88,6 @@ in (if !buildClient then stdenv.mkDerivation else mkDerivation) rec {
     '';
     license = licenses.gpl3;
     maintainers = with maintainers; [ ttuegel ];
-    repositories.git = "https://github.com/quassel/quassel.git";
     inherit (qtbase.meta) platforms;
   };
 }
diff --git a/pkgs/applications/networking/irc/wraith/configure.patch b/pkgs/applications/networking/irc/wraith/configure.patch
index 16e65be00a25b..2ecba77920ebc 100644
--- a/pkgs/applications/networking/irc/wraith/configure.patch
+++ b/pkgs/applications/networking/irc/wraith/configure.patch
@@ -52,7 +52,7 @@
 -fi
 -unset cf_openssl_basedir
 +SSL_INCLUDES="-I@openssl.dev@/include"
-+SSL_LIBS="-L@openssl.out@/lib"
++SSL_LIBS="-L@openssl-lib@/lib"
  
  save_CXX="$CXX"
  CXX="$CXX $SSL_INCLUDES"
diff --git a/pkgs/applications/networking/irc/wraith/default.nix b/pkgs/applications/networking/irc/wraith/default.nix
index 30aec18c107fb..a8923042c7d61 100644
--- a/pkgs/applications/networking/irc/wraith/default.nix
+++ b/pkgs/applications/networking/irc/wraith/default.nix
@@ -12,9 +12,9 @@ stdenv.mkDerivation rec {
   patches = [ ./configure.patch ./dlopen.patch ];
   postPatch = ''
     substituteInPlace configure        --subst-var-by openssl.dev ${openssl.dev} \
-                                       --subst-var-by openssl.out ${openssl.out}
-    substituteInPlace src/libssl.cc    --subst-var-by openssl ${openssl.out}
-    substituteInPlace src/libcrypto.cc --subst-var-by openssl ${openssl.out}
+                                       --subst-var-by openssl-lib ${lib.getLib openssl}
+    substituteInPlace src/libssl.cc    --subst-var-by openssl ${lib.getLib openssl}
+    substituteInPlace src/libcrypto.cc --subst-var-by openssl ${lib.getLib openssl}
   '';
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/applications/networking/lieer/default.nix b/pkgs/applications/networking/lieer/default.nix
index 420b9b28ccfc2..a9bf177128d5a 100644
--- a/pkgs/applications/networking/lieer/default.nix
+++ b/pkgs/applications/networking/lieer/default.nix
@@ -33,7 +33,6 @@ python3Packages.buildPythonApplication rec {
       GMail account.
     '';
     homepage = "https://lieer.gaute.vetsj.com/";
-    repositories.git = "https://github.com/gauteh/lieer.git";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ flokli kaiha ];
   };
diff --git a/pkgs/applications/networking/linssid/default.nix b/pkgs/applications/networking/linssid/default.nix
index 090f53cffb627..72128a5ef95c4 100644
--- a/pkgs/applications/networking/linssid/default.nix
+++ b/pkgs/applications/networking/linssid/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, qtbase, qtsvg, qmake, pkg-config, boost, wirelesstools, iw, qwt, wrapQtAppsHook }:
+{ lib, stdenv, fetchurl, qtbase, qtsvg, qmake, pkg-config, boost, wirelesstools, iw, qwt6_1, wrapQtAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "linssid";
@@ -10,12 +10,12 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config qmake wrapQtAppsHook ];
-  buildInputs = [ qtbase qtsvg boost qwt ];
+  buildInputs = [ qtbase qtsvg boost qwt6_1 ];
 
   patches = [ ./0001-unbundled-qwt.patch ];
 
   postPatch = ''
-    sed -e "s|/usr/include/qt5.*$|& ${qwt}/include|" -i linssid-app/linssid-app.pro
+    sed -e "s|/usr/include/qt5.*$|& ${qwt6_1}/include|" -i linssid-app/linssid-app.pro
     sed -e "s|/usr/include/|/nonexistent/|g" -i linssid-app/*.pro
     sed -e 's|^LIBS .*= .*libboost_regex.a|LIBS += -lboost_regex|' \
         -e "s|/usr|$out|g" \
diff --git a/pkgs/applications/networking/maestral-qt/default.nix b/pkgs/applications/networking/maestral-qt/default.nix
index 2f0f3bd74ff1e..9b87073f3f410 100644
--- a/pkgs/applications/networking/maestral-qt/default.nix
+++ b/pkgs/applications/networking/maestral-qt/default.nix
@@ -2,6 +2,7 @@
 , fetchFromGitHub
 , python3
 , wrapQtAppsHook
+, nixosTests
 }:
 
 python3.pkgs.buildPythonApplication rec {
@@ -44,6 +45,8 @@ python3.pkgs.buildPythonApplication rec {
 
   pythonImportsCheck = [ "maestral_qt" ];
 
+  passthru.tests.maestral = nixosTests.maestral;
+
   meta = with lib; {
     description = "GUI front-end for maestral (an open-source Dropbox client) for Linux";
     license = licenses.mit;
diff --git a/pkgs/applications/networking/mailreaders/alot/default.nix b/pkgs/applications/networking/mailreaders/alot/default.nix
index 3d09711fb3ccd..cb49829dce073 100644
--- a/pkgs/applications/networking/mailreaders/alot/default.nix
+++ b/pkgs/applications/networking/mailreaders/alot/default.nix
@@ -9,13 +9,7 @@
 , withManpage ? false
 }:
 
-with python3.pkgs;
-let
-  notmuch2 = callPackage ./notmuch.nix {
-    inherit notmuch;
-  };
-in
-buildPythonApplication rec {
+with python3.pkgs; buildPythonApplication rec {
   pname = "alot";
   version = "0.10";
 
diff --git a/pkgs/applications/networking/mailreaders/claws-mail/default.nix b/pkgs/applications/networking/mailreaders/claws-mail/default.nix
index 93dfc4d8a1db4..af1099cbcf3e3 100644
--- a/pkgs/applications/networking/mailreaders/claws-mail/default.nix
+++ b/pkgs/applications/networking/mailreaders/claws-mail/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchgit, fetchpatch, wrapGAppsHook, autoreconfHook, bison, flex
+{ stdenv, lib, fetchgit, wrapGAppsHook, autoreconfHook, bison, flex
 , curl, gtk3, pkg-config, python3, shared-mime-info
 , glib-networking, gsettings-desktop-schemas
 
@@ -96,28 +96,18 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "claws-mail";
-  version = "4.0.0";
+  version = "4.1.0";
 
   src = fetchgit {
     rev = version;
     url = "git://git.claws-mail.org/claws.git";
-    sha256 = "0mwnjiqg2sj61va0y9yi3v52iyr5kzmbnvsqxav3a48m2f8p27qn";
-    };
+    sha256 = "1pgl7z87qs3ksh1pazq9cml3h0vb7kr9b97gkkrzgsgfg1vbx390";
+  };
 
   outputs = [ "out" "dev" ];
 
   patches = [
     ./mime.patch
-
-    # Fixes a bug with the automatic authentication method, resulting in errors
-    # with certain mail providers.
-    # <https://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=4497>
-    # This MUST be removed for the next release.
-    (fetchpatch {
-      name = "fix-automatic-auth.patch";
-      url = "https://git.claws-mail.org/?p=claws.git;a=patch;h=9c2585c58b49815a0eab8d683f0a94f75cbbe64e";
-      sha256 = "0v8v5q2p4h93lp7yq3gnlvarsrcssv96aks1wqy3187vsr4kdw7a";
-    })
   ];
 
   preConfigure = ''
diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix b/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
index 4d4e33c6373c2..db7771bc3c9ff 100644
--- a/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
+++ b/pkgs/applications/networking/mailreaders/evolution/evolution-ews/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution-ews";
-  version = "3.42.4";
+  version = "3.44.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "gpIW4GBXT0GCtV7Q8EfdEeK56gCACi+PJ/jbwQkVQbk=";
+    sha256 = "q4Cg6eLOdn+56EruBl0Ote9QLNebLiykUeyoQpIpeoA=";
   };
 
   nativeBuildInputs = [ cmake gettext intltool pkg-config ];
diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
index 9aac3db3594c9..2fae122fc1b6c 100644
--- a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
+++ b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , cmake
 , ninja
 , intltool
@@ -25,6 +26,7 @@
 , gcr
 , sqlite
 , gnome
+, gnome-desktop
 , librsvg
 , gdk-pixbuf
 , libsecret
@@ -32,6 +34,8 @@
 , nspr
 , icu
 , libcanberra-gtk3
+, geocode-glib
+, cmark
 , bogofilter
 , gst_all_1
 , procps
@@ -42,11 +46,11 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution";
-  version = "3.42.4";
+  version = "3.44.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "+oprem1GsinbXfIv3nZCVFIjV/4b7NexjlNt/piJCmU=";
+    sha256 = "3yHT31Ik36hC6ikO/82QKv1LFBhgik37aQejt9TZlPk=";
   };
 
   nativeBuildInputs = [
@@ -68,7 +72,7 @@ stdenv.mkDerivation rec {
     gdk-pixbuf
     glib
     glib-networking
-    gnome.gnome-desktop
+    gnome-desktop
     gsettings-desktop-schemas
     gst_all_1.gst-plugins-base
     gst_all_1.gstreamer
@@ -77,6 +81,8 @@ stdenv.mkDerivation rec {
     highlight
     icu
     libcanberra-gtk3
+    geocode-glib
+    cmark
     libgdata
     libgweather
     libical
@@ -106,6 +112,7 @@ stdenv.mkDerivation rec {
     "-DWITH_SA_LEARN=${spamassassin}/bin/sa-learn"
     "-DWITH_BOGOFILTER=${bogofilter}/bin/bogofilter"
     "-DWITH_OPENLDAP=${openldap}"
+    "-DWITH_GWEATHER4=ON"
   ];
 
   requiredSystemFeatures = [
diff --git a/pkgs/applications/networking/mailreaders/mailspring/default.nix b/pkgs/applications/networking/mailreaders/mailspring/default.nix
index d2e5beb171807..d30282f44c7f4 100644
--- a/pkgs/applications/networking/mailreaders/mailspring/default.nix
+++ b/pkgs/applications/networking/mailreaders/mailspring/default.nix
@@ -15,15 +15,17 @@
 , openssl
 , udev
 , xorg
+, mesa
+, libdrm
 }:
 
 stdenv.mkDerivation rec {
   pname = "mailspring";
-  version = "1.9.2";
+  version = "1.10.2";
 
   src = fetchurl {
     url = "https://github.com/Foundry376/Mailspring/releases/download/${version}/mailspring-${version}-amd64.deb";
-    sha256 = "sha256-o7w2XHd5FnPYt9j8IIGy6OgKtdeNb/qZ+EiXGEn0NUQ=";
+    sha256 = "sha256-6KHhkmHWhj/AgECYqNuJ0iSPEYyuBDac/3fW6J0fgTg=";
   };
 
   nativeBuildInputs = [
@@ -44,6 +46,9 @@ stdenv.mkDerivation rec {
     xorg.libXdamage
     xorg.libXScrnSaver
     xorg.libXtst
+    xorg.libxshmfence
+    mesa
+    libdrm
   ];
 
   runtimeDependencies = [
@@ -70,7 +75,7 @@ stdenv.mkDerivation rec {
       --replace dirname ${coreutils}/bin/dirname
 
     ln -s $out/share/mailspring/mailspring $out/bin/mailspring
-    ln -s ${openssl.out}/lib/libcrypto.so $out/lib/libcrypto.so.1.0.0
+    ln -s ${lib.getLib openssl}/lib/libcrypto.so $out/lib/libcrypto.so.1.0.0
 
     runHook postInstall
   '';
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index af05bfe884c32..9904e2db362d9 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -27,11 +27,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "mutt";
-  version = "2.2.1";
+  version = "2.2.2";
 
   src = fetchurl {
     url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz";
-    sha256 = "1ddbhwsycfpf430k52l5gggywd09h10hwcwzpydam43c5ga30vdp";
+    sha256 = "1k0ghbpc4gn3sydbw10xv9djin9grk1pkxdwynrw0iknyc68gphh";
   };
 
   patches = optional smimeSupport (fetchpatch {
diff --git a/pkgs/applications/networking/mailreaders/notbit/default.nix b/pkgs/applications/networking/mailreaders/notbit/default.nix
deleted file mode 100644
index 5c979bde6040a..0000000000000
--- a/pkgs/applications/networking/mailreaders/notbit/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config,
-  gettext, openssl
-}:
-
-with lib;
-
-stdenv.mkDerivation {
-  pname = "notbit";
-  version = "2018-01-09";
-
-  src = fetchFromGitHub {
-    owner  = "bpeel";
-    repo   = "notbit";
-    rev    = "8b5d3d2da8ce54abae2536b4d97641d2c798cff3";
-    sha256 = "1623n0lvx42mamvb2vwin5i38hh0nxpxzmkr5188ss2x7m20lmii";
-  };
-
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
-
-  buildInputs = [ openssl gettext ];
-
-  meta = {
-    description = "A minimal Bitmessage client";
-    homepage = "https://github.com/bpeel/notbit";
-    license = licenses.mit;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ mog ];
-    broken = true;
-  };
-}
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index 184804a878886..e89216802e50f 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -62,7 +62,12 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
   makeFlags = [ "V=1" ];
 
-  outputs = [ "out" "man" "info" ]
+  postConfigure = ''
+    mkdir ${placeholder "bindingconfig"}
+    cp bindings/python-cffi/_notmuch_config.py ${placeholder "bindingconfig"}/
+  '';
+
+  outputs = [ "out" "man" "info" "bindingconfig" ]
     ++ lib.optional withEmacs "emacs"
     ++ lib.optional withRuby "ruby";
 
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
index d559976d80034..e2d4a76df7d0b 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
@@ -8,7 +8,7 @@ let
 in
 
 rec {
-  thunderbird = common rec {
+  thunderbird = (common rec {
     pname = "thunderbird";
     version = "91.7.0";
     application = "comm/mail";
@@ -35,5 +35,7 @@ rec {
     updateScript = callPackage ./update.nix {
       attrPath = "thunderbird-unwrapped";
     };
+  }).override {
+    pgoSupport = false; # console.warn: feeds: "downloadFeed: network connection unavailable"
   };
 }
diff --git a/pkgs/applications/networking/mullvad/default.nix b/pkgs/applications/networking/mullvad/default.nix
new file mode 100644
index 0000000000000..7b4bcf9d61b25
--- /dev/null
+++ b/pkgs/applications/networking/mullvad/default.nix
@@ -0,0 +1,8 @@
+{ lib
+, newScope
+}:
+lib.makeScope newScope (self: {
+  libwg = self.callPackage ./libwg.nix { };
+  mullvad = self.callPackage ./mullvad.nix { };
+  openvpn-mullvad = self.callPackage ./openvpn.nix { };
+})
diff --git a/pkgs/applications/networking/mullvad/libwg.nix b/pkgs/applications/networking/mullvad/libwg.nix
new file mode 100644
index 0000000000000..d54a2cafe8c0c
--- /dev/null
+++ b/pkgs/applications/networking/mullvad/libwg.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, mullvad
+}:
+buildGoModule {
+  pname = "libwg";
+
+  inherit (mullvad)
+    version
+    src
+    ;
+
+  sourceRoot = "source/wireguard/libwg";
+
+  vendorSha256 = "qvymWCdJ+GY90W/Fpdp+r1+mTq6O4LyN2Yw/PjKdFm0=";
+
+  # XXX: hack to make the ar archive go to the correct place
+  # This is necessary because passing `-o ...` to `ldflags` does not work
+  # (this doesn't get communicated everywhere in the chain, apparently, so
+  # `go` complains that it can't find an `a.out` file).
+  GOBIN = "${placeholder "out"}/lib";
+  ldflags = [ "-s" "-w" "-buildmode=c-archive" ];
+
+  postInstall = ''
+    mv $out/lib/libwg{,.a}
+  '';
+
+  meta = with lib; {
+    description = "A tiny wrapper around wireguard-go";
+    homepage = "https://github.com/mullvad/mullvadvpn-app/tree/master/wireguard/libwg";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ cole-h ];
+  };
+}
diff --git a/pkgs/applications/networking/mullvad/mullvad.nix b/pkgs/applications/networking/mullvad/mullvad.nix
new file mode 100644
index 0000000000000..801e8602cc95c
--- /dev/null
+++ b/pkgs/applications/networking/mullvad/mullvad.nix
@@ -0,0 +1,107 @@
+{ lib
+, stdenv
+, writeText
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, protobuf
+, makeWrapper
+, dbus
+, libnftnl
+, libmnl
+, libwg
+, openvpn-mullvad
+, shadowsocks-rust
+}:
+let
+  # result of running address_cache as of 02 Mar 2022
+  bootstrap-address-cache = writeText "api-ip-address.txt" ''
+    193.138.218.78:443
+    193.138.218.71:444
+    185.65.134.66:444
+    185.65.135.117:444
+    217.138.254.130:444
+    91.90.44.10:444
+  '';
+in
+rustPlatform.buildRustPackage rec {
+  pname = "mullvad";
+  version = "2022.1";
+
+  src = fetchFromGitHub {
+    owner = "mullvad";
+    repo = "mullvadvpn-app";
+    rev = version;
+    hash = "sha256-bLwuM3Qy2iStbXIvDEWp31vuiihSQThOej297XKo5Xc=";
+  };
+
+  cargoHash = "sha256-CBbm8cJHTjyvvzCFQfKmsE5d9N7azEm8nI6KeWLVaa8=";
+
+  nativeBuildInputs = [
+    pkg-config
+    protobuf
+    makeWrapper
+  ];
+
+  buildInputs = [
+    dbus.dev
+    libnftnl
+    libmnl
+  ];
+
+  # talpid-core wants libwg.a in build/lib/{triple}
+  preBuild = ''
+    dest=build/lib/${stdenv.targetPlatform.config}
+    mkdir -p $dest
+    ln -s ${libwg}/lib/libwg.a $dest
+  '';
+
+  postFixup =
+    # Place all binaries in the 'mullvad-' namespace, even though these
+    # specific binaries aren't used in the lifetime of the program.
+    # `address_cache` is used to generate the `api-ip-address.txt` file, which
+    # contains list of Mullvad API servers -- though we provide a "backup" of
+    # the output of this command, it could change at any time, so we want
+    # users to be able to regenerate the list at any time. (The daemon will
+    # refuse to start without this file.)
+    ''
+      for bin in address_cache relay_list translations-converter; do
+        mv "$out/bin/$bin" "$out/bin/mullvad-$bin"
+      done
+    '' +
+    # Put distributed assets in-place -- specifically, the
+    # bootstrap-address-cache is necessary; otherwise, the user will have to run
+    # the `address_cache` binary and move the contents into place at
+    # `/var/cache/mullvad-vpn/api-ip-address.txt` manually.
+    ''
+      mkdir -p $out/share/mullvad
+      ln -s ${bootstrap-address-cache} $out/share/mullvad/api-ip-address.txt
+    '' +
+    # Files necessary for OpenVPN tunnels to work.
+    ''
+      cp dist-assets/ca.crt $out/share/mullvad
+      ln -s ${openvpn-mullvad}/bin/openvpn $out/share/mullvad
+      ln -s ${shadowsocks-rust}/bin/sslocal $out/share/mullvad
+      ln -s $out/lib/libtalpid_openvpn_plugin.so $out/share/mullvad
+    '' +
+    # Set the directory where Mullvad will look for its resources by default to
+    # `$out/share`, so that we can avoid putting the files in `$out/bin` --
+    # Mullvad defaults to looking inside the directory its binary is located in
+    # for its resources.
+    ''
+      wrapProgram $out/bin/mullvad-daemon \
+        --set-default MULLVAD_RESOURCE_DIR "$out/share/mullvad"
+    '';
+
+  passthru = {
+    inherit libwg;
+    inherit openvpn-mullvad;
+  };
+
+  meta = with lib; {
+    description = "Mullvad VPN command-line client tools";
+    homepage = "https://github.com/mullvad/mullvadvpn-app";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ cole-h ];
+  };
+}
diff --git a/pkgs/applications/networking/mullvad/openvpn.nix b/pkgs/applications/networking/mullvad/openvpn.nix
new file mode 100644
index 0000000000000..b191c31d39ac7
--- /dev/null
+++ b/pkgs/applications/networking/mullvad/openvpn.nix
@@ -0,0 +1,87 @@
+{ lib
+, openvpn
+, fetchpatch
+, fetchurl
+, iproute2
+, autoconf
+, automake
+}:
+
+openvpn.overrideAttrs (oldAttrs:
+  let
+    fetchMullvadPatch = { commit, sha256 }: fetchpatch {
+      url = "https://github.com/mullvad/openvpn/commit/${commit}.patch";
+      inherit sha256;
+    };
+  in
+  rec {
+    pname = "openvpn-mullvad";
+    version = "2.5.3";
+
+    src = fetchurl {
+      url = "https://swupdate.openvpn.net/community/releases/openvpn-${version}.tar.gz";
+      sha256 = "sha256-dfAETfRJQwVVynuZWit3qyTylG/cNmgwG47cI5hqX34=";
+    };
+
+    buildInputs = oldAttrs.buildInputs or [ ] ++ [
+      iproute2
+    ];
+
+    configureFlags = oldAttrs.configureFlags  or [ ] ++ [
+      "--enable-iproute2"
+      "IPROUTE=${iproute2}/sbin/ip"
+    ];
+
+    nativeBuildInputs = oldAttrs.nativeBuildInputs or [ ] ++ [
+      autoconf
+      automake
+    ];
+
+    patches = oldAttrs.patches or [ ] ++ [
+      # look at compare to find the relevant commits
+      # https://github.com/OpenVPN/openvpn/compare/release/2.5...mullvad:mullvad-patches
+      # used openvpn version is the latest tag ending with -mullvad
+      # https://github.com/mullvad/openvpn/tags
+      (fetchMullvadPatch {
+        # "Reduce PUSH_REQUEST_INTERVAL to one second"
+        commit = "41e44158fc71bb6cc8cc6edb6ada3307765a12e8";
+        sha256 = "sha256-UoH0V6gTPdEuybFkWxdaB4zomt7rZeEUyXs9hVPbLb4=";
+      })
+      (fetchMullvadPatch {
+        # "Allow auth plugins to set a failure reason"
+        commit = "f51781c601e8c72ae107deaf25bf66f7c193e9cd";
+        sha256 = "sha256-+kwG0YElL16T0e+avHlI8gNQdAxneRS6fylv7QXvC1s=";
+      })
+      (fetchMullvadPatch {
+        # "Send an event to any plugins when authentication fails"
+        commit = "c2f810f966f2ffd68564d940b5b8946ea6007d5a";
+        sha256 = "sha256-PsKIxYwpLD66YaIpntXJM8OGcObyWBSAJsQ60ojvj30=";
+      })
+      (fetchMullvadPatch {
+        # "Shutdown when STDIN is closed"
+        commit = "879d6a3c0288b5443bbe1b94261655c329fc2e0e";
+        sha256 = "sha256-pRFY4r+b91/xAKXx6u5GLzouQySXuO5gH0kMGm77a3c=";
+      })
+      (fetchMullvadPatch {
+        # "Update TAP hardware ID"
+        commit = "7f71b37a3b25bec0b33a0e29780c222aef869e9d";
+        sha256 = "sha256-RF/GvD/ZvhLdt34wDdUT/yxa+IVWx0eY6WRdNWXxXeQ=";
+      })
+      (fetchMullvadPatch {
+        # "Undo dependency on Python docutils"
+        commit = "abd3c6214529d9f4143cc92dd874d8743abea17c";
+        sha256 = "sha256-SC2RlpWHUDMAEKap1t60dC4hmalk3vok6xY+/xhC2U0=";
+      })
+      (fetchMullvadPatch {
+        # "Prevent signal when stdin is closed from being cleared (#10)"
+        commit = "b45b090c81e7b4f2dc938642af7a1e12f699f5c5";
+        sha256 = "sha256-KPTFmbuJhMI+AvaRuu30CPPLQAXiE/VApxlUCqbZFls=";
+      })
+    ];
+
+    meta = oldAttrs.meta or { } // {
+      description = "OpenVPN with Mullvad-specific patches applied";
+      homepage = "https://github.com/mullvad/openvpn";
+      maintainers = with lib; [ maintainers.cole-h ];
+    };
+  })
diff --git a/pkgs/applications/networking/n8n/node-packages.nix b/pkgs/applications/networking/n8n/node-packages.nix
index 9f806be2e2c6c..ab66b28fe17ac 100644
--- a/pkgs/applications/networking/n8n/node-packages.nix
+++ b/pkgs/applications/networking/n8n/node-packages.nix
@@ -139,13 +139,13 @@ let
         sha512 = "hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==";
       };
     };
-    "@fontsource/open-sans-4.5.6" = {
+    "@fontsource/open-sans-4.5.8" = {
       name = "_at_fontsource_slash_open-sans";
       packageName = "@fontsource/open-sans";
-      version = "4.5.6";
+      version = "4.5.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fontsource/open-sans/-/open-sans-4.5.6.tgz";
-        sha512 = "bQuNS0H1VL1VLC6FwmReHlpJaICVe/seODU3Q9cpTQbJ5OtRD4TwWMrAjfTxqcFNollA6O0AlE4BnRSWMQLfvw==";
+        url = "https://registry.npmjs.org/@fontsource/open-sans/-/open-sans-4.5.8.tgz";
+        sha512 = "3b94XDdRLqL7OlE7OjWg/4pgG825Juw8PLVEDm6h5pio0gMU89ICxfatGxHsBxMGfqad+wnvdmUweZWlELDFpQ==";
       };
     };
     "@icetee/ftp-0.3.15" = {
@@ -481,13 +481,13 @@ let
         sha512 = "BzcaRsnFuznzOItW1WpQrDHM7plAa7GIDMZ6b5pnMbkqEtM/6WCOhvZar39oeMQP79gwvFUWjjptE7/KGcNqFg==";
       };
     };
-    "@types/node-17.0.21" = {
+    "@types/node-17.0.23" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "17.0.21";
+      version = "17.0.23";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-17.0.21.tgz";
-        sha512 = "DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==";
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz";
+        sha512 = "UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==";
       };
     };
     "@types/node-fetch-2.6.1" = {
@@ -967,13 +967,13 @@ let
         sha512 = "uUbetCWczQHbsKyX1C99XpQHBM8SWfovvaZhPIj23/1uV7SQf0WeRZbiLpw0JZm+LHTChfNgrLfDJOVoU2kU+A==";
       };
     };
-    "aws-sdk-2.1096.0" = {
+    "aws-sdk-2.1101.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.1096.0";
+      version = "2.1101.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1096.0.tgz";
-        sha512 = "q+hotU57U8bGpz1pf5CkO4z630ay0xGJ9HedahKPZ0Xk3/X0GH+QFYPBWJ5IMTtO30bjfPH0zTaL2vJmMXLBrQ==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1101.0.tgz";
+        sha512 = "7lyVb7GXGl8yyu954Qxf6vU6MrcgFlmKyTLBVXJyo3Phn1OB+qOExA55WtSC6gQiQ7e5TeWOn1RUHLg30ywTBA==";
       };
     };
     "aws-sign2-0.7.0" = {
@@ -1768,13 +1768,13 @@ let
         sha512 = "hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==";
       };
     };
-    "convict-6.2.1" = {
+    "convict-6.2.2" = {
       name = "convict";
       packageName = "convict";
-      version = "6.2.1";
+      version = "6.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/convict/-/convict-6.2.1.tgz";
-        sha512 = "Mn4AJiYkR3TAZH1Xm/RU7gFS/0kM5TBSAQDry8y40Aez0ASY+3boUhv+3QE5XbOXiXM2JjdhkKve3IsBvWCibQ==";
+        url = "https://registry.npmjs.org/convict/-/convict-6.2.2.tgz";
+        sha512 = "3MsROJiEFN3BAzeFit1t87t7EUFzd44MNd13MLSikV2dsnDl7znwKgtYPPONtnDzxiDW0nBAsxVhSRNrjUrTTg==";
       };
     };
     "cookie-0.4.1" = {
@@ -4252,13 +4252,13 @@ let
         sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
       };
     };
-    "micromatch-4.0.4" = {
+    "micromatch-4.0.5" = {
       name = "micromatch";
       packageName = "micromatch";
-      version = "4.0.4";
+      version = "4.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz";
-        sha512 = "pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==";
+        url = "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz";
+        sha512 = "DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==";
       };
     };
     "millisecond-0.1.2" = {
@@ -4324,13 +4324,13 @@ let
         sha512 = "J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==";
       };
     };
-    "minimist-1.2.5" = {
+    "minimist-1.2.6" = {
       name = "minimist";
       packageName = "minimist";
-      version = "1.2.5";
+      version = "1.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz";
-        sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==";
+        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz";
+        sha512 = "Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==";
       };
     };
     "minipass-2.9.0" = {
@@ -4351,13 +4351,13 @@ let
         sha512 = "6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==";
       };
     };
-    "mkdirp-0.5.5" = {
+    "mkdirp-0.5.6" = {
       name = "mkdirp";
       packageName = "mkdirp";
-      version = "0.5.5";
+      version = "0.5.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz";
-        sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==";
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz";
+        sha512 = "FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==";
       };
     };
     "mkdirp-1.0.4" = {
@@ -4504,49 +4504,49 @@ let
         sha512 = "z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==";
       };
     };
-    "n8n-core-0.110.0" = {
+    "n8n-core-0.111.0" = {
       name = "n8n-core";
       packageName = "n8n-core";
-      version = "0.110.0";
+      version = "0.111.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-core/-/n8n-core-0.110.0.tgz";
-        sha512 = "E+BrrAxO1TZbu19NDO66rubih6DNSoUdceM6S9pjtAEQukya9J2BAqnPsrZJ7Trs97W2q8G4wSKP4G6lzKobhQ==";
+        url = "https://registry.npmjs.org/n8n-core/-/n8n-core-0.111.0.tgz";
+        sha512 = "fZLLJ60yIuuX+geKGQrO6jk+kxn1UaCJMoWEi2FVE+InTmi+/r51Bv6LGoapoW0Oz+Em+CDq0wE7Yzg3xNx7fw==";
       };
     };
-    "n8n-design-system-0.15.0" = {
+    "n8n-design-system-0.16.0" = {
       name = "n8n-design-system";
       packageName = "n8n-design-system";
-      version = "0.15.0";
+      version = "0.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-design-system/-/n8n-design-system-0.15.0.tgz";
-        sha512 = "ZHlJJdaZ8ug9OV/SbqdF4FSEqTAoGBO+jqPECcUiYmHbL3BHcY8ZgWcnzmTnIPYTRGtIdc8snv3ti1USgASE5Q==";
+        url = "https://registry.npmjs.org/n8n-design-system/-/n8n-design-system-0.16.0.tgz";
+        sha512 = "X7Qa+DoXRyJL4gqh7x59udnPIBYAUgDvhchL33dpI/Rgq9gaFajT9eAuOFQnXKMUaL0FZ5hu3rRGcAmwwEA/bA==";
       };
     };
-    "n8n-editor-ui-0.136.0" = {
+    "n8n-editor-ui-0.137.0" = {
       name = "n8n-editor-ui";
       packageName = "n8n-editor-ui";
-      version = "0.136.0";
+      version = "0.137.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.136.0.tgz";
-        sha512 = "582dHNfp4upne8IhcaYznSPq26wsruAK5ZmOSfjcQMJqVBOm26IKFXCwn7ZL3KxNznmlHLHTfbAsrjE+ZTKPTA==";
+        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.137.0.tgz";
+        sha512 = "/wYAIh/3RtVaFxY+vtVEACfo6xsVOi3cEPWd+GSFCK/AMxXs517CNGbwNz54geqaGNUH+rhhUz87C0pG+TgiUg==";
       };
     };
-    "n8n-nodes-base-0.167.0" = {
+    "n8n-nodes-base-0.168.0" = {
       name = "n8n-nodes-base";
       packageName = "n8n-nodes-base";
-      version = "0.167.0";
+      version = "0.168.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.167.0.tgz";
-        sha512 = "9+pCjtPDptMO3nBqfizwsQ7+C+QUYPbW4YGT/X0+CaF+2wMkGEbKGADH6V0eWHHWKtzcyoLXqldSnilboXXxmw==";
+        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.168.0.tgz";
+        sha512 = "TyIL5Gwn+qvfi+1nNkQTPfrJYMqjx2P2OCiDWAMfzahauJyJpfJMYpIEKF3UxoKXCfWpBYPmHVoov6GadEOR1w==";
       };
     };
-    "n8n-workflow-0.92.0" = {
+    "n8n-workflow-0.93.0" = {
       name = "n8n-workflow";
       packageName = "n8n-workflow";
-      version = "0.92.0";
+      version = "0.93.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-0.92.0.tgz";
-        sha512 = "d16p4co9I6v+AxVOxXyeWAgUY/7PwwlgJFaKH8XTA/fRARah3/DzLdb9Kmq5I1fqtr1VoZ+a1uTQCJi11bnRzA==";
+        url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-0.93.0.tgz";
+        sha512 = "IqZrnTKdIZD7aeL9/FiwoI7w1WBgeBmqZVXRF+OGtIHooK/lDkHpy17hoXXqAyeATiVf2licgl8F/zMvSsnuJA==";
       };
     };
     "named-placeholders-1.1.2" = {
@@ -4693,13 +4693,13 @@ let
         sha512 = "AtiTVUFHLiiDnMQ43zi0YgkzHOEWUkhDgPlBXrsDzJiJvB29Alo4OKxHQ0ugF3gRqRQIneCLtZU3yiUo7pItZw==";
       };
     };
-    "nodemailer-6.7.2" = {
+    "nodemailer-6.7.3" = {
       name = "nodemailer";
       packageName = "nodemailer";
-      version = "6.7.2";
+      version = "6.7.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.2.tgz";
-        sha512 = "Dz7zVwlef4k5R71fdmxwR8Q39fiboGbu3xgswkzGwczUfjp873rVxt1O46+Fh0j1ORnAC6L9+heI8uUpO6DT7Q==";
+        url = "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.3.tgz";
+        sha512 = "KUdDsspqx89sD4UUyUKzdlUOper3hRkDVkrKh/89G+d9WKsU5ox51NWS4tB1XR5dPUdR4SP0E3molyEfOvSa3g==";
       };
     };
     "nopt-4.0.3" = {
@@ -6430,22 +6430,22 @@ let
         sha512 = "+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==";
       };
     };
-    "ssh2-1.7.0" = {
+    "ssh2-1.8.0" = {
       name = "ssh2";
       packageName = "ssh2";
-      version = "1.7.0";
+      version = "1.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssh2/-/ssh2-1.7.0.tgz";
-        sha512 = "u1gdFfqKV1PTGR2szS5FImhFii40o+8FOUpg1M//iimNaS4BkTyUVfVdoydXS93M1SquOU02Z4KFhYDBNqQO+g==";
+        url = "https://registry.npmjs.org/ssh2/-/ssh2-1.8.0.tgz";
+        sha512 = "NVIRkIwJvWl+mcRozp+EBzHMVCcbDKBea64ToPdZEk43yAVGwmfqYZRPFRnnvGjsKC34wYCmiupTcKgCVNVNNg==";
       };
     };
-    "ssh2-sftp-client-7.2.2" = {
+    "ssh2-sftp-client-7.2.3" = {
       name = "ssh2-sftp-client";
       packageName = "ssh2-sftp-client";
-      version = "7.2.2";
+      version = "7.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssh2-sftp-client/-/ssh2-sftp-client-7.2.2.tgz";
-        sha512 = "qZYivU1zezyRomCf+TtsCYVAsc0TDQWzxJMMUN8NknEPonm2TYGxJAzrW8acUh2ILYgA0ZPOJElLV/qp9nRVYQ==";
+        url = "https://registry.npmjs.org/ssh2-sftp-client/-/ssh2-sftp-client-7.2.3.tgz";
+        sha512 = "Bmq4Uewu3e0XOwu5bnPbiS5KRQYv+dff5H6+85V4GZrPrt0Fkt1nUH+uXanyAkoNxUpzjnAPEEoLdOaBO9c3xw==";
       };
     };
     "sshpk-1.17.0" = {
@@ -7579,10 +7579,10 @@ in
   n8n = nodeEnv.buildNodePackage {
     name = "n8n";
     packageName = "n8n";
-    version = "0.169.0";
+    version = "0.170.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/n8n/-/n8n-0.169.0.tgz";
-      sha512 = "mqZJUnulA/xNelNxebJeYioQeLtzNSFD8vzEsoxzoVbeaRkXQeC6CVBCldSGUMMSPcw2QchnzAKp9YauRE5cAA==";
+      url = "https://registry.npmjs.org/n8n/-/n8n-0.170.0.tgz";
+      sha512 = "aY4A9+P7K6iinxFyDZl9Jdin283csAbiMStjfxLX5IfO75/aNbjXhSmpjclV9PCUuuTonvoMiVMTvpbCaeImqg==";
     };
     dependencies = [
       (sources."@azure/abort-controller-1.0.5" // {
@@ -7642,7 +7642,7 @@ in
           sources."kuler-2.0.0"
         ];
       })
-      sources."@fontsource/open-sans-4.5.6"
+      sources."@fontsource/open-sans-4.5.8"
       sources."@icetee/ftp-0.3.15"
       sources."@kafkajs/confluent-schema-registry-1.0.6"
       sources."@kwsites/file-exists-1.1.1"
@@ -7694,7 +7694,7 @@ in
       sources."@types/lodash-4.14.180"
       sources."@types/lossless-json-1.0.1"
       sources."@types/mime-1.3.2"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       (sources."@types/node-fetch-2.6.1" // {
         dependencies = [
           sources."form-data-3.0.1"
@@ -7763,7 +7763,7 @@ in
         ];
       })
       sources."avsc-5.7.3"
-      (sources."aws-sdk-2.1096.0" // {
+      (sources."aws-sdk-2.1101.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."events-1.1.1"
@@ -7934,7 +7934,7 @@ in
       })
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
-      sources."convict-6.2.1"
+      sources."convict-6.2.2"
       sources."cookie-0.4.1"
       sources."cookie-parser-1.4.6"
       sources."cookie-signature-1.0.6"
@@ -8277,7 +8277,7 @@ in
       sources."merge-descriptors-1.0.1"
       sources."merge2-1.4.1"
       sources."methods-1.1.2"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."millisecond-0.1.2"
       sources."mime-1.6.0"
       sources."mime-db-1.52.0"
@@ -8285,7 +8285,7 @@ in
       sources."mimic-fn-2.1.0"
       sources."minimalistic-assert-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       (sources."minipass-2.9.0" // {
         dependencies = [
           sources."yallist-3.1.1"
@@ -8327,19 +8327,19 @@ in
         ];
       })
       sources."mz-2.7.0"
-      (sources."n8n-core-0.110.0" // {
+      (sources."n8n-core-0.111.0" // {
         dependencies = [
           sources."qs-6.10.3"
         ];
       })
-      sources."n8n-design-system-0.15.0"
-      sources."n8n-editor-ui-0.136.0"
-      (sources."n8n-nodes-base-0.167.0" // {
+      sources."n8n-design-system-0.16.0"
+      sources."n8n-editor-ui-0.137.0"
+      (sources."n8n-nodes-base-0.168.0" // {
         dependencies = [
           sources."iconv-lite-0.6.3"
         ];
       })
-      sources."n8n-workflow-0.92.0"
+      sources."n8n-workflow-0.93.0"
       (sources."named-placeholders-1.1.2" // {
         dependencies = [
           sources."lru-cache-4.1.5"
@@ -8371,14 +8371,14 @@ in
       sources."node-fetch-2.6.7"
       (sources."node-pre-gyp-0.11.0" // {
         dependencies = [
-          sources."mkdirp-0.5.5"
+          sources."mkdirp-0.5.6"
           sources."rimraf-2.7.1"
           sources."semver-5.7.1"
         ];
       })
       sources."node-ssh-12.0.4"
       sources."nodeify-1.0.1"
-      sources."nodemailer-6.7.2"
+      sources."nodemailer-6.7.3"
       sources."nopt-4.0.3"
       sources."normalize-path-3.0.0"
       sources."npm-bundled-1.1.2"
@@ -8643,8 +8643,8 @@ in
       sources."sqlstring-2.3.3"
       sources."sse-channel-3.1.1"
       sources."ssf-0.11.2"
-      sources."ssh2-1.7.0"
-      sources."ssh2-sftp-client-7.2.2"
+      sources."ssh2-1.8.0"
+      sources."ssh2-sftp-client-7.2.3"
       sources."sshpk-1.17.0"
       sources."stack-trace-0.0.10"
       sources."standard-as-callback-2.1.0"
@@ -8662,7 +8662,7 @@ in
       sources."supports-color-7.2.0"
       (sources."tar-4.4.19" // {
         dependencies = [
-          sources."mkdirp-0.5.5"
+          sources."mkdirp-0.5.6"
           sources."yallist-3.1.1"
         ];
       })
diff --git a/pkgs/applications/networking/owamp/default.nix b/pkgs/applications/networking/owamp/default.nix
index c357e78ccf293..785fa6886a86a 100644
--- a/pkgs/applications/networking/owamp/default.nix
+++ b/pkgs/applications/networking/owamp/default.nix
@@ -4,7 +4,8 @@
 stdenv.mkDerivation rec {
   pname = "owamp";
   version = "3.5.6";
-  buildInputs = [ autoconf automake mandoc ];
+  nativeBuildInputs = [ autoconf automake ];
+  buildInputs = [ mandoc ];
   src = fetchFromGitHub {
     owner = "perfsonar";
     repo = "owamp";
diff --git a/pkgs/applications/networking/p2p/frostwire/default.nix b/pkgs/applications/networking/p2p/frostwire/default.nix
index e4c1c8f5b7ba3..cd6ae563aa0b6 100644
--- a/pkgs/applications/networking/p2p/frostwire/default.nix
+++ b/pkgs/applications/networking/p2p/frostwire/default.nix
@@ -2,12 +2,11 @@
 
 let
   version = "6.6.7-build-529";
-  name = "frostwire-desktop-${version}";
 
   src = fetchFromGitHub {
     owner = "frostwire";
     repo = "frostwire";
-    rev = name;
+    rev = "frostwire-desktop-${version}";
     sha256 = "03wdj2kr8akzx8m1scvg98132zbaxh81qjdsxn2645b3gahjwz0m";
   };
 
@@ -23,8 +22,8 @@ let
 
   # fake build to pre-download deps into fixed-output derivation
   deps = stdenv.mkDerivation {
-    name = "${name}-deps";
-    inherit src;
+    pname = "frostwire-desktop-deps";
+    inherit version src;
     buildInputs = [ gradle_6 perl ];
     buildPhase = ''
       export GRADLE_USER_HOME=$(mktemp -d)
@@ -40,11 +39,12 @@ let
     '';
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "11zd98g0d0fdgls4lsskkagwfxyh26spfd6c6g9cahl89czvlg3c";
+    outputHash = "sha256-r6YSrbSJbM3063JrX4tCVKFrJxTaLN4Trc+33jzpwcE=";
   };
 
 in stdenv.mkDerivation {
-  inherit name src;
+  pname = "frostwire-desktop";
+  inherit version src;
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ gradle_6 ];
diff --git a/pkgs/applications/networking/p2p/twister/default.nix b/pkgs/applications/networking/p2p/twister/default.nix
index 9c708b7958854..979ac955caf31 100644
--- a/pkgs/applications/networking/p2p/twister/default.nix
+++ b/pkgs/applications/networking/p2p/twister/default.nix
@@ -1,15 +1,15 @@
 { lib, stdenv, fetchFromGitHub, fetchpatch, autoconf, automake, libtool, pkg-config, python2
-, boost, db, openssl, geoip, libiconv, miniupnpc
-, srcOnly, fetchgit
+, boost, db, openssl, geoip, libiconv, miniupnpc, srcOnly
 }:
 
 let
   twisterHTML = srcOnly {
     name = "twister-html";
-    src = fetchgit {
-      url = "git://github.com/miguelfreitas/twister-html.git";
+    src = fetchFromGitHub {
+      owner = "miguelfreitas";
+      repo = "twister-html";
       rev = "01e7f7ca9b7e42ed90f91bc42da2c909ca5c0b9b";
-      sha256 = "0scjbin6s1kmi0bqq0dx0qyjw4n5xgmj567n0156i39f9h0dabqy";
+      sha256 = "sha256-Hi/VAEwujWhKAPaYIuvrxRIuPQa9AYwXiHUGbWxckmk=";
     };
   };
 
@@ -38,9 +38,9 @@ in stdenv.mkDerivation rec {
     "--with-boost-libdir=${boostPython.out}/lib"
   ];
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config automake autoconf ];
   buildInputs = [
-    autoconf automake libtool python2
+    libtool python2
     boostPython db openssl geoip miniupnpc libiconv
   ];
 
diff --git a/pkgs/applications/networking/remote/citrix-workspace/generic.nix b/pkgs/applications/networking/remote/citrix-workspace/generic.nix
index ac00309611839..bfd9e402f956e 100644
--- a/pkgs/applications/networking/remote/citrix-workspace/generic.nix
+++ b/pkgs/applications/networking/remote/citrix-workspace/generic.nix
@@ -14,7 +14,7 @@ let
   openssl' = symlinkJoin {
     name = "openssl-backwards-compat";
     nativeBuildInputs = [ makeWrapper ];
-    paths = [ openssl.out ];
+    paths = [ (lib.getLib openssl) ];
     postBuild = ''
       ln -sf $out/lib/libcrypto.so $out/lib/libcrypto.so.1.0.0
       ln -sf $out/lib/libssl.so $out/lib/libssl.so.1.0.0
diff --git a/pkgs/applications/networking/remote/vmware-horizon-client/default.nix b/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
index be0832a075f84..f114f8a3091b5 100644
--- a/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
+++ b/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
@@ -115,7 +115,8 @@ let
 
 in
 stdenv.mkDerivation {
-  name = "vmware-horizon-client";
+  pname = "vmware-horizon-client";
+  inherit version;
 
   dontUnpack = true;
 
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index b667c7671bdc5..468a06af2091e 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, pkg-config, pcre, perl, flex, bison, gettext, libpcap, libnl, c-ares
 , gnutls, libgcrypt, libgpg-error, geoip, openssl, lua5, python3, libcap, glib
-, libssh, nghttp2, zlib, cmake, makeWrapper
+, libssh, nghttp2, zlib, cmake, makeWrapper, wrapGAppsHook
 , withQt ? true, qt5 ? null
 , ApplicationServices, SystemConfiguration, gmp
 , asciidoctor
@@ -11,7 +11,7 @@ assert withQt  -> qt5  != null;
 with lib;
 
 let
-  version = "3.6.2";
+  version = "3.6.3";
   variant = if withQt then "qt" else "cli";
 
 in stdenv.mkDerivation {
@@ -21,7 +21,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz";
-    sha256 = "sha256-XZAaVXKu+VPwStwlPtKgaZ1MYnedMkkCHh6FQaAkww4=";
+    sha256 = "sha256-tgNkpMAGihCBGrP9B1ymwesOddRGACcbiKIO2Tou9jE=";
   };
 
   cmakeFlags = [
@@ -34,7 +34,8 @@ in stdenv.mkDerivation {
   # Avoid referencing -dev paths because of debug assertions.
   NIX_CFLAGS_COMPILE = [ "-DQT_NO_DEBUG" ];
 
-  nativeBuildInputs = [ asciidoctor bison cmake flex makeWrapper pkg-config ] ++ optional withQt qt5.wrapQtAppsHook;
+  nativeBuildInputs = [ asciidoctor bison cmake flex makeWrapper pkg-config ]
+    ++ optionals withQt [ qt5.wrapQtAppsHook wrapGAppsHook ];
 
   buildInputs = [
     gettext pcre perl libpcap lua5 libssh nghttp2 openssl libgcrypt
@@ -85,6 +86,12 @@ in stdenv.mkDerivation {
 
   dontFixCmake = true;
 
+  # Prevent double-wrapping, inject wrapper args manually instead.
+  dontWrapGApps = true;
+  preFixup = ''
+    qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
   shellHook = ''
     # to be able to run the resulting binary
     export WIRESHARK_RUN_FROM_BUILD_DIRECTORY=1
diff --git a/pkgs/applications/networking/sync/lsyncd/default.nix b/pkgs/applications/networking/sync/lsyncd/default.nix
index 4c95a35ab85a4..7690bf6ee5403 100644
--- a/pkgs/applications/networking/sync/lsyncd/default.nix
+++ b/pkgs/applications/networking/sync/lsyncd/default.nix
@@ -31,9 +31,10 @@ stdenv.mkDerivation rec {
 
   dontUseCmakeBuildDir = true;
 
+  nativeBuildInputs = [ cmake ];
   buildInputs = [
     rsync
-    cmake lua pkg-config
+    lua pkg-config
     asciidoc libxml2 docbook_xml_dtd_45 docbook_xsl libxslt
   ];
 
diff --git a/pkgs/applications/networking/sync/wdt/default.nix b/pkgs/applications/networking/sync/wdt/default.nix
new file mode 100644
index 0000000000000..53a112790baec
--- /dev/null
+++ b/pkgs/applications/networking/sync/wdt/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, lib, fetchFromGitHub, cmake, folly, boost, gflags, glog, openssl, double-conversion, fmt }:
+
+stdenv.mkDerivation {
+  pname = "wdt";
+  version = "unstable-2022-03-24";
+
+  src = fetchFromGitHub {
+    owner = "facebook";
+    repo = "wdt";
+    rev = "43319e59d0c77092468367cdadab37d12d7a2383";
+    sha256 = "sha256-MajYK2eTUbWhEql0iTlgW5yLg9xAGZQk+Dx4fNxFFqw=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ folly boost gflags glog openssl double-conversion fmt ];
+
+  # source is expected to be named wdt
+  # https://github.com/facebook/wdt/blob/43319e59d0c77092468367cdadab37d12d7a2383/CMakeLists.txt#L238
+  postUnpack = ''
+    ln -s $sourceRoot wdt
+  '';
+
+  cmakeFlags = [
+    "-DWDT_USE_SYSTEM_FOLLY=ON"
+  ];
+
+  meta = with lib; {
+    description = "Warp speed Data Transfer";
+    homepage = "https://github.com/facebook/wdt";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ nickcao ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/termius/default.nix b/pkgs/applications/networking/termius/default.nix
index 6e9093373c927..318ac8762395c 100644
--- a/pkgs/applications/networking/termius/default.nix
+++ b/pkgs/applications/networking/termius/default.nix
@@ -13,7 +13,7 @@
 
 stdenv.mkDerivation rec {
   pname = "termius";
-  version = "7.34.1";
+  version = "7.37.0";
 
   src = fetchurl {
     # find the latest version with
@@ -22,8 +22,8 @@ stdenv.mkDerivation rec {
     # curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.download_url' -r
     # and the sha512 with
     # curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.download_sha512' -r
-    url = "https://api.snapcraft.io/api/v1/snaps/download/WkTBXwoX81rBe3s3OTt3EiiLKBx2QhuS_101.snap";
-    sha512 = "7fdd82535fd288277b01fedde4739dc97782236fbf25372efa56114bba676c21277ed96b32a1d46ac86af19925b14935818af50985d43a1307639530db044af4";
+    url = "https://api.snapcraft.io/api/v1/snaps/download/WkTBXwoX81rBe3s3OTt3EiiLKBx2QhuS_108.snap";
+    sha512 = "05c4a0baeee8c1ff9547017288d099a9ef7b3049647ef0318ca4b1112df26f9f3a844bbae5f9ada59adaf07838987e2a685aee21ea494945202009236fe5f6bc";
   };
 
   desktopItem = makeDesktopItem {
@@ -55,15 +55,7 @@ stdenv.mkDerivation rec {
     runHook preInstall
     cd squashfs-root
     mkdir -p $out/opt/termius
-    cp -r \
-        icudtl.dat \
-        libffmpeg.so \
-        locales \
-        resources \
-        resources.pak \
-        termius-app \
-        v8_context_snapshot.bin \
-        $out/opt/termius
+    cp -r ./ $out/opt/termius
 
     mkdir -p "$out/share/applications" "$out/share/pixmaps/termius-app.png"
     cp "${desktopItem}/share/applications/"* "$out/share/applications"
diff --git a/pkgs/applications/office/autokey/remove-requires-dbus-python.patch b/pkgs/applications/office/autokey/remove-requires-dbus-python.patch
deleted file mode 100644
index 73372e435291f..0000000000000
--- a/pkgs/applications/office/autokey/remove-requires-dbus-python.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/setup.py
-+++ b/setup.py
-@@ -71,7 +71,7 @@
-         'console_scripts': ['autokey-gtk=autokey.gtkui.__main__:main']
-     },
-     scripts=['autokey-qt', 'autokey-run', 'autokey-shell'],
--    install_requires=['dbus-python', 'pyinotify', 'python3-xlib'],
-+    install_requires=['pyinotify', 'python-xlib'],
-     classifiers=[
-         'Development Status :: 4 - Beta',
-         'Intended Audience :: Developers',
diff --git a/pkgs/applications/office/banking/default.nix b/pkgs/applications/office/banking/default.nix
index e6c5192b0f946..8f2636395292a 100644
--- a/pkgs/applications/office/banking/default.nix
+++ b/pkgs/applications/office/banking/default.nix
@@ -1,5 +1,5 @@
 { lib
-, fetchurl
+, fetchpatch
 , fetchFromGitLab
 , python3
 , appstream-glib
@@ -28,6 +28,15 @@ python3.pkgs.buildPythonApplication rec {
     sha256 = "1w5x9iczw5hb9bfdm1df37n8xhdrida1yfrd82k9l8hb1k4q3h9d";
   };
 
+  patches = [
+    # Fix build with meson 0.61
+    # https://gitlab.com/tabos/banking/-/merge_requests/90
+    (fetchpatch {
+      url = "https://gitlab.com/tabos/banking/-/commit/c3cc9afc380fe666ae6e331aa8a97659c60397a4.patch";
+      sha256 = "r9n9l47XU4Tg4U5sfiFdGkbG8QB7O4ol9CB1ya06yOc=";
+    })
+  ];
+
   postPatch = ''
     patchShebangs meson_post_install.py
   '';
diff --git a/pkgs/applications/office/hledger-check-fancyassertions/default.nix b/pkgs/applications/office/hledger-check-fancyassertions/default.nix
index df3752eac3e0e..6edef5b621bd8 100644
--- a/pkgs/applications/office/hledger-check-fancyassertions/default.nix
+++ b/pkgs/applications/office/hledger-check-fancyassertions/default.nix
@@ -1,17 +1,13 @@
 {lib, stdenvNoCC, haskellPackages, fetchurl, writers}:
 
-let
-  hledger-lib = haskellPackages.hledger-lib_1_24_1;
-in
-
 stdenvNoCC.mkDerivation rec {
   pname = "hledger-check-fancyassertions";
-  inherit (hledger-lib) version;
+  inherit (haskellPackages.hledger-lib) version;
 
   src = fetchurl {
     name = "hledger-check-fancyassertion-${version}.hs";
     url = "https://raw.githubusercontent.com/simonmichael/hledger/hledger-lib-${version}/bin/hledger-check-fancyassertions.hs";
-    sha256 = "0naggvivc6szsc8haa52a6lm079ikz5qfva0ljnqx0f1zlkxv984";
+    sha256 = "1xy3ssxnwybq40nlffz95w7m9xbzf8ysb13svg0i8g5sfgrw11vk";
   };
 
   dontUnpack = true;
@@ -20,13 +16,12 @@ stdenvNoCC.mkDerivation rec {
   executable = writers.writeHaskell
     "hledger-check-fancyassertions"
     {
-      libraries = [
+      libraries = with haskellPackages; [
         hledger-lib
-      ] ++ (with haskellPackages; [
         base base-compat base-compat-batteries filepath
         megaparsec microlens optparse-applicative string-qq text time
         transformers
-      ]);
+      ];
       inherit (haskellPackages) ghc;
     }
     src;
diff --git a/pkgs/applications/office/jameica/default.nix b/pkgs/applications/office/jameica/default.nix
index 767a4202ae86e..d5c4dcb65011c 100644
--- a/pkgs/applications/office/jameica/default.nix
+++ b/pkgs/applications/office/jameica/default.nix
@@ -4,7 +4,6 @@ let
   _version = "2.10.1";
   _build = "482";
   version = "${_version}-${_build}";
-  name = "jameica-${version}";
 
   swtSystem = if stdenv.hostPlatform.system == "i686-linux" then "linux"
   else if stdenv.hostPlatform.system == "x86_64-linux" then "linux64"
@@ -22,7 +21,8 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  inherit name version;
+  pname = "jameica";
+  inherit version;
 
   nativeBuildInputs = [ ant jdk makeWrapper ];
   buildInputs = lib.optionals stdenv.isLinux [ gtk2 glib xorg.libXtst ]
@@ -42,12 +42,12 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    mkdir -p $out/libexec $out/lib $out/bin $out/share/{applications,${name},java}/
+    mkdir -p $out/libexec $out/lib $out/bin $out/share/{applications,jameica-${version},java}/
 
     # copy libraries except SWT
-    cp $(find lib -type f -iname '*.jar' | grep -ve 'swt/.*/swt.jar') $out/share/${name}/
+    cp $(find lib -type f -iname '*.jar' | grep -ve 'swt/.*/swt.jar') $out/share/jameica-${version}/
     # copy platform-specific SWT
-    cp lib/swt/${swtSystem}/swt.jar $out/share/${name}/
+    cp lib/swt/${swtSystem}/swt.jar $out/share/jameica-${version}/
 
     install -Dm644 releases/${_version}-*/jameica/jameica.jar $out/share/java/
     install -Dm644 plugin.xml $out/share/java/
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
     cp ${desktopItem}/share/applications/* $out/share/applications/
 
     makeWrapper ${jre}/bin/java $out/bin/jameica \
-      --add-flags "-cp $out/share/java/jameica.jar:$out/share/${name}/* ${
+      --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.makeLibraryPath buildInputs} \
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index 1fe7598d0e10c..5ebde5e10dece 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -82,7 +82,15 @@ in (mkDrv rec {
     tar -xf ${srcs.translations}
   '';
 
-  patches = [ ./skip-failed-test-with-icu70.patch ];
+  patches = [
+    ./skip-failed-test-with-icu70.patch
+
+    # Fix build with poppler 22.03
+    (fetchurl {
+      url = "https://github.com/archlinux/svntogit-packages/raw/f82958b9538f86e41b51f1ba7134968d2f3788d1/trunk/poppler-22.03.0.patch";
+      sha256 = "5h4qJmx6Q3Q3dHUlSi8JXBziN2mAswGVWk5aDTLTwls=";
+    })
+  ];
 
   ### QT/KDE
   #
diff --git a/pkgs/applications/office/morgen/default.nix b/pkgs/applications/office/morgen/default.nix
index b461b2ba19e1b..a9fce9ff8edb0 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.4.4";
+  version = "2.5.0";
 
   src = fetchurl {
     url = "https://download.todesktop.com/210203cqcj00tw1/morgen-${version}.deb";
-    sha256 = "sha256-5/85ro206o3SsvAvcZeDD2Dmo2jU4zXmtI3X4WdQaRI=";
+    sha256 = "sha256-6hBhfJ18ROCfmqoxrJZ5TiYCFb1xZKsJeobXFy5yfQM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/pinpoint/default.nix b/pkgs/applications/office/pinpoint/default.nix
index b6d0d373f35bd..d7b1984b0d733 100644
--- a/pkgs/applications/office/pinpoint/default.nix
+++ b/pkgs/applications/office/pinpoint/default.nix
@@ -8,8 +8,8 @@ stdenv.mkDerivation rec {
     url = "http://ftp.gnome.org/pub/GNOME/sources/pinpoint/0.1/${pname}-${version}.tar.xz";
     sha256 = "1jp8chr9vjlpb5lybwp5cg6g90ak5jdzz9baiqkbg0anlg8ps82s";
   };
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ autoconf automake clutter clutter-gst gdk-pixbuf
+  nativeBuildInputs = [ pkg-config autoconf automake ];
+  buildInputs = [ clutter clutter-gst gdk-pixbuf
                   cairo clutter-gtk ];
 
   meta = with lib; {
diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix
index 1d7a02daa9c2c..b40085e852932 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.3.1";
+  version = "22.3.4";
 
   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 = "4d75684751a10f24d20d993b30748c7a09bd8bdfd4e1d4d5703746954a0f6bb2";
+    sha256 = "bec1ee9735821a7c4556c00790e3acfef06f21490ec8b7d99d9e002c9c0a1207";
   };
 
   nativeBuildInputs = [ qmake qttools ];
diff --git a/pkgs/applications/office/scribus/unstable.nix b/pkgs/applications/office/scribus/unstable.nix
index 21adb90cab9e9..754c9ba03d4eb 100644
--- a/pkgs/applications/office/scribus/unstable.nix
+++ b/pkgs/applications/office/scribus/unstable.nix
@@ -54,6 +54,36 @@ mkDerivation rec {
       url = "https://github.com/scribusproject/scribus/commit/68ec41169eaceea4a6e1d6f359762a191c7e61d5.patch";
       sha256 = "sha256-xhp65qVvaof0md1jb3XHZw7uFX1RtNxPfUOaVnvZV1Y=";
     })
+    # For Poppler 22.02
+    (fetchpatch {
+      url = "https://github.com/scribusproject/scribus/commit/85c0dff3422fa3c26fbc2e8d8561f597ec24bd92.patch";
+      sha256 = "YR0ii09EVU8Qazz6b8KAIWsUMTwPIwO8JuQPymAWKdw=";
+    })
+    (fetchpatch {
+      url = "https://github.com/scribusproject/scribus/commit/f75c1613db67f4067643d0218a2db3235e42ec9f.patch";
+      sha256 = "vJU8HsKHE3oXlhcXQk9uCYINPYVPF5IGmrWYFQ6Py5c=";
+    })
+    # For Poppler 22.03
+    (fetchpatch {
+      url = "https://github.com/scribusproject/scribus/commit/553d1fd5f76ffb3743583b88c78a7232b076a965.patch";
+      sha256 = "56JrEG3eCzyALTH04yjzurKRj2PocpjO6b4PusMRxjY=";
+    })
+    (fetchpatch {
+      url = "https://github.com/scribusproject/scribus/commit/1f82e38be0782b065910f5fb4cece23f690349ae.patch";
+      sha256 = "qektUfel5KeA327D3THyqi8dznP1SQQFToUC5Kd0+W4=";
+    })
+    (fetchpatch {
+      url = "https://github.com/scribusproject/scribus/commit/f19410ac3b27e33dd62105746784e61e85b90a1d.patch";
+      sha256 = "JHdgntYcioYatPeqpmym3c9dORahj0CinGOzbGtA4ds=";
+    })
+    (fetchpatch {
+      url = "https://github.com/scribusproject/scribus/commit/e013e8126d2100e8e56dea5b836ad43275429389.patch";
+      sha256 = "+siPNtJq9Is9V2PgADeQJB+b4lkl5g8uk6zKBu10Jqw=";
+    })
+    (fetchpatch {
+      url = "https://github.com/scribusproject/scribus/commit/48263954a7dee0be815b00f417ae365ab26cdd85.patch";
+      sha256 = "1WE9kALFw79bQH88NUafXaZ1Y/vJEKTIWxlk5c+opsQ=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix
index 53c61f0d993ce..749b6959b7409 100644
--- a/pkgs/applications/office/zotero/default.nix
+++ b/pkgs/applications/office/zotero/default.nix
@@ -105,7 +105,7 @@ stdenv.mkDerivation rec {
     genericName = "Reference Management";
     categories = [ "Office" "Database" ];
     startupNotify = true;
-    mimeTypes = [ "text/plain" ];
+    mimeTypes = [ "x-scheme-handler/zotero" "text/plain" ];
   };
 
   installPhase = ''
diff --git a/pkgs/applications/radio/freedv/default.nix b/pkgs/applications/radio/freedv/default.nix
index 8d97c8bbedbc9..bbf40a44c2a77 100644
--- a/pkgs/applications/radio/freedv/default.nix
+++ b/pkgs/applications/radio/freedv/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl21;
     maintainers = with maintainers; [ mvs ];
     platforms = platforms.unix;
+    broken = stdenv.isDarwin;  # see https://github.com/NixOS/nixpkgs/issues/165422
   };
 }
diff --git a/pkgs/applications/radio/gnuradio/wrapper.nix b/pkgs/applications/radio/gnuradio/wrapper.nix
index 4cbccbd51819c..6765c877437b2 100644
--- a/pkgs/applications/radio/gnuradio/wrapper.nix
+++ b/pkgs/applications/radio/gnuradio/wrapper.nix
@@ -50,7 +50,8 @@ let
   ;
   pythonEnv = unwrapped.python.withPackages(ps: pythonPkgs);
 
-  name = (lib.appendToName "wrapped" unwrapped).name;
+  pname = unwrapped.pname + "-wrapped";
+  inherit (unwrapped) version;
   makeWrapperArgs = builtins.concatStringsSep " " ([
   ]
     # Emulating wrapGAppsHook & wrapQtAppsHook working together
@@ -59,7 +60,7 @@ let
       || (unwrapped.hasFeature "gr-qtgui")
       ) [
       "--prefix" "XDG_DATA_DIRS" ":" "$out/share"
-      "--prefix" "XDG_DATA_DIRS" ":" "$out/share/gsettings-schemas/${name}"
+      "--prefix" "XDG_DATA_DIRS" ":" "$out/share/gsettings-schemas/${pname}"
       "--prefix" "XDG_DATA_DIRS" ":" "${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}"
       "--prefix" "XDG_DATA_DIRS" ":" "${hicolor-icon-theme}/share"
       # Needs to run `gsettings` on startup, see:
@@ -135,7 +136,7 @@ let
   };
   self = if doWrap then
     stdenv.mkDerivation {
-      inherit name passthru;
+      inherit pname version passthru;
       buildInputs = [
         makeWrapper
         xorg.lndir
diff --git a/pkgs/applications/radio/pothos/default.nix b/pkgs/applications/radio/pothos/default.nix
index 817013dbf3ec4..1b36b36829a05 100644
--- a/pkgs/applications/radio/pothos/default.nix
+++ b/pkgs/applications/radio/pothos/default.nix
@@ -9,7 +9,7 @@
 , poco
 , qtbase
 , qtsvg
-, libsForQt5
+, qwt6_1
 , nlohmann_json
 , soapysdr-with-plugins
 , portaudio
@@ -38,7 +38,7 @@ mkDerivation rec {
   nativeBuildInputs = [ cmake pkg-config doxygen wrapQtAppsHook ];
 
   buildInputs = [
-    pcre poco qtbase qtsvg libsForQt5.qwt nlohmann_json
+    pcre poco qtbase qtsvg qwt6_1 nlohmann_json
     soapysdr-with-plugins portaudio alsa-lib muparserx python3
   ];
 
diff --git a/pkgs/applications/radio/rtl-ais/default.nix b/pkgs/applications/radio/rtl-ais/default.nix
index 7fd37d21fe16d..243d3126b5f4b 100644
--- a/pkgs/applications/radio/rtl-ais/default.nix
+++ b/pkgs/applications/radio/rtl-ais/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, pkg-config, libusb1, rtl-sdr }:
 
 stdenv.mkDerivation {
-  name = "rtl-ais";
+  pname = "rtl-ais";
   version = "0.8.1";
   buildInputs = [ pkg-config rtl-sdr libusb1 ];
 
diff --git a/pkgs/applications/radio/sdrplay/default.nix b/pkgs/applications/radio/sdrplay/default.nix
index d12b12ecc13cc..441ff1cf0f3d3 100644
--- a/pkgs/applications/radio/sdrplay/default.nix
+++ b/pkgs/applications/radio/sdrplay/default.nix
@@ -4,7 +4,7 @@ let
     else if stdenv.isi686    then "i686"
     else throw "unsupported architecture";
 in stdenv.mkDerivation rec {
-  name = "sdrplay";
+  pname = "sdrplay";
   version = "3.07.1";
 
   src = fetchurl {
diff --git a/pkgs/applications/radio/soapysdrplay/default.nix b/pkgs/applications/radio/soapysdrplay/default.nix
index dbee593bd0d63..d205462fb6049 100644
--- a/pkgs/applications/radio/soapysdrplay/default.nix
+++ b/pkgs/applications/radio/soapysdrplay/default.nix
@@ -1,8 +1,8 @@
 { stdenv, lib, fetchFromGitHub, cmake, pkg-config, soapysdr, sdrplay }:
 
 stdenv.mkDerivation {
-  name = "soapysdr-sdrplay3";
-  version = "20210425";
+  pname = "soapysdr-sdrplay3";
+  version = "unstable-2021-04-25";
 
   src = fetchFromGitHub {
     owner = "pothosware";
diff --git a/pkgs/applications/radio/soundmodem/default.nix b/pkgs/applications/radio/soundmodem/default.nix
index bedcc8b02c4e1..01a8006822f69 100644
--- a/pkgs/applications/radio/soundmodem/default.nix
+++ b/pkgs/applications/radio/soundmodem/default.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, alsa-lib, audiofile, gtk2, libxml2 }:
 
 stdenv.mkDerivation rec {
-  name = "soundmodem";
+  pname = "soundmodem";
   version = "0.20";
 
   src = fetchurl {
-    url = "https://archive.org/download/${name}-${version}/${name}-${version}.tar.gz";
+    url = "https://archive.org/download/soundmodem-${version}/soundmodem-${version}.tar.gz";
     sha256 = "156l3wjnh5rcisxb42kcmlf74swf679v4xnj09zy5j74rd4h721z";
   };
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     '';
     #homepage = "http://gna.org/projects/soundmodem"; # official, but "Connection refused"
     homepage = "http://soundmodem.vk4msl.id.au/";
-    downloadPage = "https://archive.org/download/${name}-${version}/${name}-${version}.tar.gz";
+    downloadPage = "https://archive.org/download/${pname}-${version}/${pname}-${version}.tar.gz";
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ ymarkus ];
     platforms = platforms.all;
diff --git a/pkgs/applications/radio/srsran/default.nix b/pkgs/applications/radio/srsran/default.nix
new file mode 100644
index 0000000000000..dc7ae777df713
--- /dev/null
+++ b/pkgs/applications/radio/srsran/default.nix
@@ -0,0 +1,49 @@
+{ stdenv
+, lib
+, cmake
+, fetchFromGitHub
+, pkg-config
+, fftwFloat
+, mbedtls
+, boost
+, lksctp-tools
+, libconfig
+, pcsclite
+, uhd
+, soapysdr
+, libbladeRF
+}:
+
+stdenv.mkDerivation rec {
+  pname = "srsran";
+  version = "21.10";
+
+  src = fetchFromGitHub {
+    owner = "srsran";
+    repo = "srsran";
+    rev = "release_${builtins.replaceStrings ["."] ["_"] version}";
+    sha256 = "sha256-uJv8khevp7g2p4zT6bkrut67kvMu+fuL1VHDDit0viw=";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [
+    fftwFloat
+    mbedtls
+    boost
+    libconfig
+    lksctp-tools
+    pcsclite
+    uhd
+    soapysdr
+    libbladeRF
+  ];
+
+  meta = with lib; {
+    homepage = "https://www.srslte.com/";
+    description = "Open-source 4G and 5G software radio suite.";
+    license = licenses.agpl3;
+    platforms = with platforms; linux ;
+    maintainers = with maintainers; [ hexagonal-sun ];
+  };
+}
diff --git a/pkgs/applications/science/astronomy/gprojector/default.nix b/pkgs/applications/science/astronomy/gprojector/default.nix
index 26e8fe11a32b0..8ad7ef720c6b2 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.2";
+  version = "3.0.3";
 
   src = fetchzip {
     url = "https://www.giss.nasa.gov/tools/gprojector/download/G.ProjectorJ-${version}.tgz";
-    sha256 = "sha256-IvGZOYt2d8aWtlAJJzVrwkqOOhaUHUmEDlMeD/0NdwU=";
+    sha256 = "sha256-60UT6z5aQ3Tk4EujEUp4ntB5GakFVhJzk5eytoIwf78=";
   };
 
   desktopItems = [ (makeDesktopItem {
diff --git a/pkgs/applications/science/astronomy/openspace/assets.patch b/pkgs/applications/science/astronomy/openspace/assets.patch
deleted file mode 100644
index 38c17ad4593af..0000000000000
--- a/pkgs/applications/science/astronomy/openspace/assets.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-diff --git a/data/assets/scene/solarsystem/planets/jupiter/jup310.asset b/data/assets/scene/solarsystem/planets/jupiter/jup310.asset
-index c15f6d9..1f8ddaf 100755
---- a/data/assets/scene/solarsystem/planets/jupiter/jup310.asset
-+++ b/data/assets/scene/solarsystem/planets/jupiter/jup310.asset
-@@ -1,8 +1,8 @@
--local Kernels = asset.syncedResource({
--    Name = "Jupiter Spice Kernels (jup310)",
--    Type = "TorrentSynchronization",
--    Identifier = "jup310",
--    Magnet = "magnet:?xt=urn:btih:E8B7D7E136DE1C6249158B254BFC8B9ECE2A0539&dn=jup310.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce"
--})
-+-- local Kernels = asset.syncedResource({
-+--     Name = "Jupiter Spice Kernels (jup310)",
-+--     Type = "TorrentSynchronization",
-+--     Identifier = "jup310",
-+--     Magnet = "magnet:?xt=urn:btih:E8B7D7E136DE1C6249158B254BFC8B9ECE2A0539&dn=jup310.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce"
-+-- })
- 
--asset.export("Kernels", Kernels .. '/jup310.bsp')
-+-- asset.export("Kernels", Kernels .. '/jup310.bsp')
-diff --git a/data/assets/scene/solarsystem/planets/mars/mar097.asset b/data/assets/scene/solarsystem/planets/mars/mar097.asset
-index e77d67d..8d738a6 100755
---- a/data/assets/scene/solarsystem/planets/mars/mar097.asset
-+++ b/data/assets/scene/solarsystem/planets/mars/mar097.asset
-@@ -1,8 +1,8 @@
--local Kernels = asset.syncedResource({
--    Name = "Mars Spice Kernels",
--    Type = "TorrentSynchronization",
--    Identifier = "mat097",
--    Magnet = "magnet:?xt=urn:btih:308F326B9AF864294D73042FBBED33B17291E27E&dn=mar097.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce"
--})
-+-- local Kernels = asset.syncedResource({
-+--     Name = "Mars Spice Kernels",
-+--     Type = "TorrentSynchronization",
-+--     Identifier = "mat097",
-+--     Magnet = "magnet:?xt=urn:btih:308F326B9AF864294D73042FBBED33B17291E27E&dn=mar097.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce"
-+-- })
- 
--asset.export("Kernels", Kernels .. '/mar097.bsp')
-+-- asset.export("Kernels", Kernels .. '/mar097.bsp')
-diff --git a/data/assets/scene/solarsystem/planets/neptune/nep081.asset b/data/assets/scene/solarsystem/planets/neptune/nep081.asset
-index e9c49ce..cfb5fac 100755
---- a/data/assets/scene/solarsystem/planets/neptune/nep081.asset
-+++ b/data/assets/scene/solarsystem/planets/neptune/nep081.asset
-@@ -1,8 +1,8 @@
--local Kernels = asset.syncedResource({
--    Name = "Neptune Spice Kernels (nep081)",
--    Type = "TorrentSynchronization",
--    Identifier = "nep081",
--    Magnet = "magnet:?xt=urn:btih:A6079CF8D4BF3B6BB38F4F9F633CB7724FF91693&dn=nep081.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce"
--})
-+-- local Kernels = asset.syncedResource({
-+--     Name = "Neptune Spice Kernels (nep081)",
-+--     Type = "TorrentSynchronization",
-+--     Identifier = "nep081",
-+--     Magnet = "magnet:?xt=urn:btih:A6079CF8D4BF3B6BB38F4F9F633CB7724FF91693&dn=nep081.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce"
-+-- })
- 
--asset.export("Kernels", Kernels .. '/nep081.bsp')
-+-- asset.export("Kernels", Kernels .. '/nep081.bsp')
-diff --git a/data/assets/scene/solarsystem/planets/saturn/sat375.asset b/data/assets/scene/solarsystem/planets/saturn/sat375.asset
-index a55f2ed..f904b3c 100755
---- a/data/assets/scene/solarsystem/planets/saturn/sat375.asset
-+++ b/data/assets/scene/solarsystem/planets/saturn/sat375.asset
-@@ -1,8 +1,8 @@
--local Kernels = asset.syncedResource({
--    Name = "Saturn Spice Kernels (sat375)",
--    Type = "TorrentSynchronization",
--    Identifier = "sat375",
--    Magnet = "magnet:?xt=urn:btih:79083d2069df389e65d7688bb326c7aaf1953845&dn=sat375.bsp"
--})
-+-- local Kernels = asset.syncedResource({
-+--     Name = "Saturn Spice Kernels (sat375)",
-+--     Type = "TorrentSynchronization",
-+--     Identifier = "sat375",
-+--     Magnet = "magnet:?xt=urn:btih:79083d2069df389e65d7688bb326c7aaf1953845&dn=sat375.bsp"
-+-- })
- 
--asset.export("Kernels", Kernels .. '/sat375.bsp')
-+-- asset.export("Kernels", Kernels .. '/sat375.bsp')
-diff --git a/data/assets/scene/solarsystem/planets/uranus/ura111.asset b/data/assets/scene/solarsystem/planets/uranus/ura111.asset
-index 665d059..8f95f34 100755
---- a/data/assets/scene/solarsystem/planets/uranus/ura111.asset
-+++ b/data/assets/scene/solarsystem/planets/uranus/ura111.asset
-@@ -1,8 +1,8 @@
--local Kernels = asset.syncedResource({
--    Name = "Uranus Spice Kernels (ura111)",
--    Type = "TorrentSynchronization",
--    Identifier = "ura111",
--    Magnet = "magnet:?xt=urn:btih:26C4903D1A12AE439480F31B45BAEB5781D2B305&dn=ura111.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce"
--})
-+-- local Kernels = asset.syncedResource({
-+--     Name = "Uranus Spice Kernels (ura111)",
-+--     Type = "TorrentSynchronization",
-+--     Identifier = "ura111",
-+--     Magnet = "magnet:?xt=urn:btih:26C4903D1A12AE439480F31B45BAEB5781D2B305&dn=ura111.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce"
-+-- })
- 
--asset.export("Kernels", Kernels .. '/ura111.bsp')
-+-- asset.export("Kernels", Kernels .. '/ura111.bsp')
diff --git a/pkgs/applications/science/astronomy/openspace/config.patch b/pkgs/applications/science/astronomy/openspace/config.patch
deleted file mode 100644
index 826edea090715..0000000000000
--- a/pkgs/applications/science/astronomy/openspace/config.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-diff --git a/openspace.cfg b/openspace.cfg
-index c86830b..e7f89d9 100755
---- a/openspace.cfg
-+++ b/openspace.cfg
-@@ -2,18 +2,21 @@
- -- require('scripts/configuration_helper.lua')
- -- which defines helper functions useful to customize the configuration
- 
-+userdir = os.getenv("HOME") .. "/.openspace/"
-+os.execute("mkdir -p " .. userdir)
-+
- return {
-     -- Determines which SGCT configuration file is loaded, that is, if there rendering
-     -- occurs in a single window, a fisheye projection, or a dome cluster system
- 
-     -- A regular 1280x720 window
--    SGCTConfig = sgct.config.single{},
-+    -- SGCTConfig = sgct.config.single{},
- 
-     -- A regular 1920x1080 window
-     -- SGCTConfig = sgct.config.single{1920, 1080},
-     
-     -- A windowed 1920x1080 fullscreen
--    -- SGCTConfig = sgct.config.single{1920, 1080, border=false, windowPos={0,0}, shared=true, name="WV_OBS_SPOUT1"},
-+    SGCTConfig = sgct.config.single{1920, 1080, border=false, windowPos={0,0}, shared=true, name="WV_OBS_SPOUT1"},
- 
-     -- A 1k fisheye rendering
-     -- SGCTConfig = sgct.config.fisheye{1024, 1024},
-@@ -53,15 +56,15 @@ return {
-         TASKS = "${DATA}/tasks",
-         WEB = "${DATA}/web",
- 
--        CACHE = "${BASE}/cache",
-+        CACHE  = userdir .. "cache",
-         CONFIG = "${BASE}/config",
--        DOCUMENTATION = "${BASE}/documentation",
--        LOGS = "${BASE}/logs",
-+        DOCUMENTATION = userdir .. "documentation",
-+        LOGS    = userdir .. "logs",
-         MODULES = "${BASE}/modules",
-         SCRIPTS = "${BASE}/scripts",
-         SHADERS = "${BASE}/shaders",
--        SYNC = "${BASE}/sync",
--        TESTDIR = "${BASE}/tests"
-+        SYNC    = userdir .. "sync",
-+        TESTDIR = userdir .. "tests"
-     },
-     Fonts = {
-         Mono = "${FONTS}/Bitstream-Vera-Sans-Mono/VeraMono.ttf",
diff --git a/pkgs/applications/science/astronomy/openspace/constexpr.patch b/pkgs/applications/science/astronomy/openspace/constexpr.patch
deleted file mode 100644
index d9fc91d7c2778..0000000000000
--- a/pkgs/applications/science/astronomy/openspace/constexpr.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-diff --git a/include/openspace/util/distanceconversion.h b/include/openspace/util/distanceconversion.h
-index 80a3a96..7059752 100755
---- a/include/openspace/util/distanceconversion.h
-+++ b/include/openspace/util/distanceconversion.h
-@@ -159,24 +159,34 @@ constexpr const char* nameForDistanceUnit(DistanceUnit unit, bool pluralForm = f
- }
- 
- constexpr DistanceUnit distanceUnitFromString(const char* unitName) {
-+    int result = -1;
-+  
-     int i = 0;
-     for (const char* val : DistanceUnitNamesSingular) {
-         if (ghoul::equal(unitName, val)) {
--            return static_cast<DistanceUnit>(i);
-+            result = i;
-+            break;
-         }
-         ++i;
-     }
- 
--    i = 0;
--    for (const char* val : DistanceUnitNamesPlural) {
--        if (ghoul::equal(unitName, val)) {
--            return static_cast<DistanceUnit>(i);
-+    if (result == -1) {
-+        i = 0;
-+        for (const char* val : DistanceUnitNamesPlural) {
-+            if (ghoul::equal(unitName, val)) {
-+                result = i;
-+                break;
-+            }
-+            ++i;
-         }
--        ++i;
-     }
- 
--    ghoul_assert(false, "Unit name is not a valid name");
--    throw ghoul::MissingCaseException();
-+    if (result != -1)
-+        return static_cast<DistanceUnit>(result);
-+    else {
-+        ghoul_assert(false, "Unit name is not a valid name");
-+        throw ghoul::MissingCaseException();
-+    }
- }
- 
- 
-diff --git a/include/openspace/util/timeconversion.h b/include/openspace/util/timeconversion.h
-index a36c92a..699bca9 100755
---- a/include/openspace/util/timeconversion.h
-+++ b/include/openspace/util/timeconversion.h
-@@ -142,23 +142,32 @@ constexpr const char* nameForTimeUnit(TimeUnit unit, bool pluralForm = false) {
- }
- 
- constexpr TimeUnit timeUnitFromString(const char* unitName) {
-+    int result = -1;
-+    
-     int i = 0;
-     for (const char* val : TimeUnitNamesSingular) {
-         if (ghoul::equal(unitName, val)) {
--            return static_cast<TimeUnit>(i);
-+            result = i;
-+            break;
-         }
-         ++i;
-     }
- 
--    i = 0;
--    for (const char* val : TimeUnitNamesPlural) {
--        if (ghoul::equal(unitName, val)) {
--            return static_cast<TimeUnit>(i);
-+    if (result == -1) {
-+        i = 0;
-+        for (const char* val : TimeUnitNamesPlural) {
-+            if (ghoul::equal(unitName, val)) {
-+                result = i;
-+                break;
-+            }
-+            ++i;
-         }
--        ++i;
-     }
- 
--    throw ghoul::MissingCaseException();
-+    if (result != -1)
-+        return static_cast<TimeUnit>(result);
-+    else
-+        throw ghoul::MissingCaseException();
- }
- 
- std::pair<double, std::string> simplifyTime(double seconds,
diff --git a/pkgs/applications/science/astronomy/openspace/default.nix b/pkgs/applications/science/astronomy/openspace/default.nix
deleted file mode 100644
index 17c721ac86931..0000000000000
--- a/pkgs/applications/science/astronomy/openspace/default.nix
+++ /dev/null
@@ -1,90 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, fetchurl, makeWrapper, cmake
-, curl, boost, gdal, glew, soil
-, libX11, libXi, libXxf86vm, libXcursor, libXrandr, libXinerama }:
-
-stdenv.mkDerivation rec {
-  version = "0.11.1";
-  pname = "openspace";
-
-  src = fetchFromGitHub {
-    owner  = "OpenSpace";
-    repo   = "OpenSpace";
-    rev    = "a65eea61a1b8807ce3d69e9925e75f8e3dfb085d";
-    sha256 = "0msqixf30r0d41xmfmzkdfw6w9jkx2ph5clq8xiwrg1jc3z9q7nv";
-    fetchSubmodules = true;
-  };
-
-  nativeBuildInputs = [ cmake makeWrapper ];
-  buildInputs = [
-    curl boost gdal glew soil
-    libX11 libXi libXxf86vm libXcursor libXrandr libXinerama
-  ];
-
-  glmPlatformH = fetchurl {
-    url    = "https://raw.githubusercontent.com/g-truc/glm/dd48b56e44d699a022c69155c8672caacafd9e8a/glm/simd/platform.h";
-    sha256 = "0y91hlbgn5va7ijg5mz823gqkq9hqxl00lwmdwnf8q2g086rplzw";
-  };
-
-  # See <https://github.com/g-truc/glm/issues/726>
-  prePatch = ''
-    cp ${glmPlatformH} ext/sgct/include/glm/simd/platform.h
-    cp ${glmPlatformH} ext/ghoul/ext/glm/glm/simd/platform.h
-  '';
-
-  patches = [
-    # See <https://github.com/opensgct/sgct/issues/13>
-    ./vrpn.patch
-
-    ./constexpr.patch
-    ./config.patch
-
-    # WARNING: This patch disables some slow torrents in a very dirty way.
-    ./assets.patch
-  ];
-
-  bundle = "$out/usr/share/openspace";
-
-  preConfigure = ''
-    cmakeFlagsArray=(
-      $cmakeFlagsArray
-      "-DCMAKE_BUILD_TYPE="
-      "-DCMAKE_INSTALL_PREFIX=${bundle}"
-    )
-  '';
-
-  preInstall = ''
-    mkdir -p $out/bin
-    mkdir -p ${bundle}
-  '';
-
-  postInstall = ''
-    cp ext/spice/libSpice.so       ${bundle}/lib
-    cp ext/ghoul/ext/lua/libLua.so ${bundle}/lib
-  '';
-
-  postFixup = ''
-    for bin in ${bundle}/bin/*
-    do
-      rpath=$(patchelf --print-rpath $bin)
-      patchelf --set-rpath $rpath:${bundle}/lib $bin
-
-      name=$(basename $bin)
-      makeWrapper $bin $out/bin/$name --run "cd ${bundle}"
-    done
-  '';
-
-  meta = {
-    description     = "Open-source astrovisualization project";
-    longDescription = ''
-      OpenSpace is open source interactive data visualization software
-      designed to visualize the entire known universe and portray our
-      ongoing efforts to investigate the cosmos.
-
-      WARNING: This build is not very usable for now.
-    '';
-    homepage  = "https://www.openspaceproject.com/";
-    license   = lib.licenses.mit;
-    platforms = lib.platforms.linux;
-    broken = true; # fails to build
-  };
-}
diff --git a/pkgs/applications/science/astronomy/openspace/vrpn.patch b/pkgs/applications/science/astronomy/openspace/vrpn.patch
deleted file mode 100644
index 9386d0257b7f8..0000000000000
--- a/pkgs/applications/science/astronomy/openspace/vrpn.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/ext/sgct/src/deps/vrpn/vrpn_Connection.C b/ext/sgct/src/deps/vrpn/vrpn_Connection.C
-index d6ffdc5..f90a2b2 100755
---- a/ext/sgct/src/deps/vrpn/vrpn_Connection.C
-+++ b/ext/sgct/src/deps/vrpn/vrpn_Connection.C
-@@ -2489,7 +2489,7 @@ static int vrpn_start_server(const char *machine, char *server_name, char *args,
- #if defined(sparc) || defined(FreeBSD) || defined(_AIX) || defined(__ANDROID__)
-             int status; // doesn't exist on sparc_solaris or FreeBSD
- #else
--            union wait status;
-+            int status;
- #endif
- 
-             /* Check to see if they called back yet. */
diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix
index 0963b4c17e02d..7b5f28fbd8484 100644
--- a/pkgs/applications/science/astronomy/stellarium/default.nix
+++ b/pkgs/applications/science/astronomy/stellarium/default.nix
@@ -1,25 +1,25 @@
 { stdenv, lib, mkDerivation, fetchFromGitHub
 , cmake, freetype, libpng, libGLU, libGL, openssl, perl, libiconv
-, qtscript, qtserialport, qttools
+, qtscript, qtserialport, qttools, qtcharts
 , qtmultimedia, qtlocation, qtbase, wrapQtAppsHook
 }:
 
 mkDerivation rec {
   pname = "stellarium";
-  version = "0.21.3";
+  version = "0.22.0";
 
   src = fetchFromGitHub {
     owner = "Stellarium";
     repo = "stellarium";
     rev = "v${version}";
-    sha256 = "sha256-TQMLy5ziBF7YqPDzPwgjY5FHxxMUe7MXo/TGxQ1nGcg=";
+    sha256 = "sha256-scG/SS9emEmrZunv6n3Vzcchoh0Cf9rDOkuxAMnxNk4=";
   };
 
   nativeBuildInputs = [ cmake perl wrapQtAppsHook ];
 
   buildInputs = [
     freetype libpng libGLU libGL openssl libiconv qtscript qtserialport qttools
-    qtmultimedia qtlocation qtbase
+    qtmultimedia qtlocation qtbase qtcharts
   ];
 
   preConfigure = lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/applications/science/biology/flywheel-cli/default.nix b/pkgs/applications/science/biology/flywheel-cli/default.nix
new file mode 100644
index 0000000000000..7db8b0066263a
--- /dev/null
+++ b/pkgs/applications/science/biology/flywheel-cli/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, stdenv
+, fetchurl
+, unzip
+}:
+
+let
+  inherit (stdenv.targetPlatform) system;
+  throwSystem = throw "Unsupported system: ${system}";
+
+  os = {
+    x86_64-darwin = "darwin";
+    x86_64-linux = "linux";
+  }.${system} or throwSystem;
+
+  sha256 = {
+    x86_64-darwin = "sha256-OIyEu3Hsobui9s5+T9nC10SxMw0MhgmTA4SN9Ridyzo=";
+    x86_64-linux = "sha256-SxBjRd95hoh2zwX6IDnkZnTWVduQafPHvnWw8qTuM78=";
+  }.${system} or throwSystem;
+in
+stdenv.mkDerivation rec {
+  pname = "flywheel-cli";
+  version = "16.2.0";
+
+  src = fetchurl {
+    url = "https://storage.googleapis.com/flywheel-dist/cli/${version}/fw-${os}_amd64-${version}.zip";
+    inherit sha256;
+  };
+
+  nativeBuildInputs = [ unzip ];
+
+  unpackPhase = ''
+    unzip ${src}
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -Dt $out/bin ./${os}_amd64/fw
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Library and command line interface for interacting with a Flywheel site";
+    homepage = "https://gitlab.com/flywheel-io/public/python-cli";
+    license = licenses.mit;
+    maintainers = with maintainers; [ rbreslow ];
+    platforms = [ "x86_64-darwin" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/science/biology/kssd/default.nix b/pkgs/applications/science/biology/kssd/default.nix
index bcf47e6b6a3d1..2da7f627cb404 100644
--- a/pkgs/applications/science/biology/kssd/default.nix
+++ b/pkgs/applications/science/biology/kssd/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-8jzYqo9LXF66pQ1EIusm+gba2VbTYpJz2K3NVlA3QxY=";
   };
 
-  buildInputs = [ zlib automake autoconf libtool ];
+  nativeBuildInputs = [ autoconf automake ];
+  buildInputs = [ zlib libtool ];
 
   installPhase = ''
       install -vD kssd $out/bin/kssd
diff --git a/pkgs/applications/science/biology/ncbi-tools/default.nix b/pkgs/applications/science/biology/ncbi-tools/default.nix
deleted file mode 100644
index 0e273dbefaaca..0000000000000
--- a/pkgs/applications/science/biology/ncbi-tools/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{stdenv, fetchurl, cpio}:
-
-# The NCBI package only builds on 32bits - on 64bits it breaks because
-# of position dependent code. Debian packagers have written replacement
-# make files(!). Either we use these, or negotiate a version which can
-# be pushed upstream to NCBI.
-#
-# Another note: you may want the older and deprecated C-libs at ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools++/2008/Mar_17_2008/NCBI_C_Toolkit/ncbi_c--Mar_17_2008.tar.gz
-
-stdenv.mkDerivation rec {
-  name = "ncbi_tools";
-  ncbi_version = "Dec_31_2008";
-  src = fetchurl {
-    url = "ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools++/2008/${ncbi_version}/ncbi_cxx--${ncbi_version}.tar.gz";
-    sha256 = "1b2v0dcdqn3bysgdkj57sxmd6s0hc9wpnxssviz399g6plhxggbr";
-  };
-
-  configureFlags = [
-    "--without-debug"
-    "--with-bin-release"
-    "--with-dll"
-    "--without-static"
-  ];
-  buildInputs = [ cpio ];
-
-  meta = {
-    description = "NCBI Bioinformatics toolbox (incl. BLAST)";
-    longDescription = "The NCBI Bioinformatics toolsbox, including command-line utilties, libraries and include files. No X11 support";
-    homepage = "http://www.ncbi.nlm.nih.gov/IEB/ToolBox/";
-    license = "GPL";
-    priority = 5;   # zlib.so gives a conflict with zlib
-    broken = true;
-  };
-}
diff --git a/pkgs/applications/science/chemistry/jmol/default.nix b/pkgs/applications/science/chemistry/jmol/default.nix
index 246618d4eafe4..fe3e05b65627e 100644
--- a/pkgs/applications/science/chemistry/jmol/default.nix
+++ b/pkgs/applications/science/chemistry/jmol/default.nix
@@ -25,14 +25,14 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  version = "14.32.33";
+  version = "14.32.45";
   pname = "jmol";
 
   src = let
     baseVersion = "${lib.versions.major version}.${lib.versions.minor version}";
   in fetchurl {
     url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz";
-    sha256 = "sha256-aImV5zgXjsXdRJLrYIomDymXHRhxuOwGYAwpMIr7wak=";
+    sha256 = "sha256-9bcOwORHLZfn95RFur4JdP3Djpq8K8utnWIsniqKAI4=";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/science/chemistry/marvin/default.nix b/pkgs/applications/science/chemistry/marvin/default.nix
index 698095715cc53..2b5a1b9695096 100644
--- a/pkgs/applications/science/chemistry/marvin/default.nix
+++ b/pkgs/applications/science/chemistry/marvin/default.nix
@@ -4,12 +4,12 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "marvin";
-  version = "22.7.0";
+  version = "22.8.0";
 
   src = fetchurl {
     name = "marvin-${version}.deb";
     url = "http://dl.chemaxon.com/marvin/${version}/marvin_linux_${versions.majorMinor version}.deb";
-    sha256 = "sha256-xK4C+0/Qpc2vXPmsI8KuHuDJLmJ5LXdAfRIREE+gkWA=";
+    sha256 = "sha256-dmG2p4KqzjLuuVw+wPWaxVoqOqba8Tx5l44PauWpqv4=";
   };
 
   nativeBuildInputs = [ dpkg makeWrapper ];
diff --git a/pkgs/applications/science/electronics/caneda/default.nix b/pkgs/applications/science/electronics/caneda/default.nix
index 6a9a491af1eeb..1adac4832a130 100644
--- a/pkgs/applications/science/electronics/caneda/default.nix
+++ b/pkgs/applications/science/electronics/caneda/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, lib, fetchFromGitHub, cmake, qtbase, qttools, qtsvg, qwt }:
+{ mkDerivation, lib, fetchFromGitHub, cmake, qtbase, qttools, qtsvg, qwt6_1}:
 
 mkDerivation rec {
   pname = "caneda";
@@ -12,7 +12,7 @@ mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ qtbase qttools qtsvg qwt ];
+  buildInputs = [ qtbase qttools qtsvg qwt6_1 ];
 
   meta = {
     description = "Open source EDA software focused on easy of use and portability";
diff --git a/pkgs/applications/science/electronics/eagle/eagle7.nix b/pkgs/applications/science/electronics/eagle/eagle7.nix
deleted file mode 100644
index f48d08d407995..0000000000000
--- a/pkgs/applications/science/electronics/eagle/eagle7.nix
+++ /dev/null
@@ -1,97 +0,0 @@
-{ lib, stdenv, fetchurl, makeDesktopItem, patchelf, zlib, freetype, fontconfig
-, openssl, libXrender, libXrandr, libXcursor, libX11, libXext, libXi
-, libxcb, cups, xkeyboardconfig, runtimeShell
-}:
-
-let
-
-  libPath = lib.makeLibraryPath
-    [ zlib freetype fontconfig openssl libXrender libXrandr libXcursor libX11
-      libXext libXi libxcb cups
-    ];
-
-in
-
-stdenv.mkDerivation rec {
-  pname = "eagle";
-  version = "7.7.0";
-
-  src =
-    if stdenv.hostPlatform.system == "i686-linux" then
-      fetchurl {
-        url = "ftp://ftp.cadsoft.de/eagle/program/7.7/eagle-lin32-${version}.run";
-        sha256 = "16fa66p77xigc7zvzfm7737mllrcs6nrgk2p7wvkjw3p9lvbz7z1";
-      }
-    else if stdenv.hostPlatform.system == "x86_64-linux" then
-      fetchurl {
-        url = "ftp://ftp.cadsoft.de/eagle/program/7.7/eagle-lin64-${version}.run";
-        sha256 = "18dcn6wqph1sqh0ah98qzfi05wip8a8ifbkaq79iskbrsi8iqnrg";
-      }
-    else
-      throw "Unsupported system: ${stdenv.hostPlatform.system}";
-
-  desktopItem = makeDesktopItem {
-    name = "eagle";
-    exec = "eagle";
-    icon = "eagle";
-    comment = "Schematic capture and PCB layout";
-    desktopName = "Eagle";
-    genericName = "Schematic editor";
-    categories = [ "Development" ];
-  };
-
-  buildInputs =
-    [ patchelf zlib freetype fontconfig openssl libXrender libXrandr libXcursor
-      libX11 libXext libXi
-    ];
-
-  dontUnpack = true;
-
-  # NOTES:
-  # Eagle for Linux comes as a self-extracting shell script with embedded
-  # tarball. The tarball data (.tar.bz2) starts after a __DATA__ marker.
-  #
-  # Eagle apparently doesn't like binary patching. This is what happens:
-  #   $ ./result/eagle-6.4.0/bin/eagle
-  #   argv[0] (/home/bfo/nixpkgs/result/eagle-6.4.0/bin/eagle) is not the currently executed program version!
-  installPhase = ''
-    # Extract eagle tarball
-    mkdir "$out"
-    sed '1,/^__DATA__$/d' "$src" | tar -xjf - -C "$out"
-
-    # Install manpage
-    mkdir -p "$out"/share/man/man1
-    ln -s "$out"/eagle-${version}/doc/eagle.1 "$out"/share/man/man1/eagle.1
-
-    # Build LD_PRELOAD library that redirects license file access to the home
-    # directory of the user
-    mkdir -p "$out"/lib
-    gcc -shared -fPIC -DEAGLE_PATH=\"$out/eagle-${version}\" ${./eagle7_fixer.c} -o "$out"/lib/eagle_fixer.so -ldl
-
-    # Make wrapper script
-    dynlinker="$(cat $NIX_CC/nix-support/dynamic-linker)"
-    mkdir -p "$out"/bin
-    cat > "$out"/bin/eagle << EOF
-    #!${runtimeShell}
-    export LD_LIBRARY_PATH="${stdenv.cc.cc.lib}/lib:${libPath}"
-    export LD_PRELOAD="$out/lib/eagle_fixer.so"
-    export QT_XKB_CONFIG_ROOT="${xkeyboardconfig}/share/X11/xkb"
-    exec "$dynlinker" "$out/eagle-${version}/bin/eagle" "\$@"
-    EOF
-    chmod a+x "$out"/bin/eagle
-
-    # Make desktop item
-    mkdir -p "$out"/share/applications
-    cp "$desktopItem"/share/applications/* "$out"/share/applications/
-    mkdir -p "$out"/share/icons
-    ln -s "$out/eagle-${version}/bin/eagleicon50.png" "$out"/share/icons/eagle.png
-  '';
-
-  meta = with lib; {
-    description = "Schematic editor and PCB layout tool from CadSoft";
-    homepage = "https://www.autodesk.com/products/eagle/overview";
-    license = licenses.unfree;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.bjornfor ];
-  };
-}
diff --git a/pkgs/applications/science/electronics/gerbv/default.nix b/pkgs/applications/science/electronics/gerbv/default.nix
index 94a8f081f69ab..a16d5f32e27ab 100644
--- a/pkgs/applications/science/electronics/gerbv/default.nix
+++ b/pkgs/applications/science/electronics/gerbv/default.nix
@@ -10,8 +10,8 @@ stdenv.mkDerivation {
     sha256 = "00jn1xhf6kblxc5gac1wvk8zm12fy6sk81nj3jwdag0z6wk3z446";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ gettext libtool automake autoconf cairo gtk2 ];
+  nativeBuildInputs = [ autoreconfHook pkg-config automake autoconf ];
+  buildInputs = [ gettext libtool cairo gtk2 ];
 
   configureFlags = ["--disable-update-desktop-database"];
 
diff --git a/pkgs/applications/science/electronics/kicad/versions.nix b/pkgs/applications/science/electronics/kicad/versions.nix
index 364321afbf710..9adfac344b38b 100644
--- a/pkgs/applications/science/electronics/kicad/versions.nix
+++ b/pkgs/applications/science/electronics/kicad/versions.nix
@@ -3,45 +3,45 @@
 {
   "kicad" = {
     kicadVersion = {
-      version =			"6.0.2";
+      version =			"6.0.4";
       src = {
-        rev =			"378541a8ebe8a691b61c8ed1b4012c71343acfbb";
-        sha256 =		"1lcl25zkqkyj5rvw9rad3n7bklpg10kmhmhkyyrgg8ql7di6wa0f";
+        rev =			"6f826c9f35a3dc9a104bb24a0a89a2e04b2d9721";
+        sha256 =		"0lki59ws0ncqkp9wxrhyni1ck2sx5z07mmpkjg0d9jpkync9hx9y";
       };
     };
     libVersion = {
-      version =			"6.0.2";
+      version =			"6.0.4";
       libSources = {
-        symbols.rev =		"80a176076a8f3785a4cd64e55ec87f27f6fcc163";
-        symbols.sha256 =	"1f57wv5b95iqd64k8ab82fvxnh5q890v7bzclmn019gl6ikisxj5";
-        templates.rev =		"c9a51b852eacc3e64639548032b50edd80ddb27c";
+        symbols.rev =		"9d00fbb9373571e54d9f29985b21a03d862795a4";
+        symbols.sha256 =	"12lyc187337bf2frl3jvwqdwwnd69f7l414k3kxhccs3sa2mcf1y";
+        templates.rev =		"c4f4fe4b821e062a3ddd275f9313d5d81ff8f8d7";
         templates.sha256 =	"13h9ly6amiwm7zkwa2fd9730kh295ls8j95fszlfjp9rczv2yyzm";
-        footprints.rev =	"c81b399054b0d3842094d7e8dfe08eb04310573a";
-        footprints.sha256 =	"1xmnq2731v2afan1d08xb1qqgl5xd01v5jphi6cdmw28ri555cna";
-        packages3d.rev =	"75175a21b720c59a26efce9a8c6dba3d032392a9";
-        packages3d.sha256 =	"10zf8hp85ksi84cbiczsksn0ygvri4ffsa126v73nnkx6irw6nkk";
+        footprints.rev =	"c48d3dfcfa6ce58ec11e10b7a74878bb69fae580";
+        footprints.sha256 =	"0px2g9jansky0rvc0bdjylbmv8xwhc0q63g88hd2nzbknqli9f1y";
+        packages3d.rev =	"b1de0b5c3edc16999602b809a05017da62ff52cc";
+        packages3d.sha256 =	"0ms9py93qyihxrhh9wm2ziycmdn88m36r8adx22ynjnxixw1f9ja";
       };
     };
   };
   "kicad-unstable" = {
     kicadVersion = {
-      version =			"2022-01-13";
+      version =			"2022-03-19";
       src = {
-        rev =			"33a4c9b08e040a17daefae9069fdf834063555b4";
-        sha256 =		"1ma0i0vgvdsjrmlfzdi34byly7n1vsaynwp9f1hny4s1m53nirha";
+        rev =			"58c146a7c00ee64ca07cacbcc594121f40aa2aeb";
+        sha256 =		"0gcbl11pq0dgp590hdwsh5np7spixk5kgva0v8mx9rqd374z4bdm";
       };
     };
     libVersion = {
-      version =			"2022-01-13";
+      version =			"2022-03-19";
       libSources = {
-        symbols.rev =		"e3b198d827817b79fb8a6df07f0cfc1cb9140edf";
-        symbols.sha256 =	"1azjx1bmxaz8bniyw75lq60mc8hvay00jn9qdc2zp7isy3c9ibp0";
+        symbols.rev =		"9b8d3163450172a7f368462c6d005841ad199144";
+        symbols.sha256 =	"12lyc187337bf2frl3jvwqdwwnd69f7l414k3kxhccs3sa2mcf1y";
         templates.rev =		"a27d83f0a20f0be0c1ab04b139a0c518da51a5d4";
         templates.sha256 =	"13h9ly6amiwm7zkwa2fd9730kh295ls8j95fszlfjp9rczv2yyzm";
-        footprints.rev =	"a939c691f1c515d6830e54cf035a420de3e5a92c";
-        footprints.sha256 =	"13g6y1l95znz6ixc4dpqsxp3icrzs951xpabnzr5znw42577gm9j";
-        packages3d.rev =	"196a26294d8e501b0e8b06c1df1abae0ebe23051";
-        packages3d.sha256 =	"0ywlk00dfwv7hc494finmazdh3g1yx0ir7bvnd8zp6cq4ql0nwl4";
+        footprints.rev =	"c871df2c81a894bc5e91d2d517b76884d5a918aa";
+        footprints.sha256 =	"0px2g9jansky0rvc0bdjylbmv8xwhc0q63g88hd2nzbknqli9f1y";
+        packages3d.rev =	"6ff98426fd51d53c55bc48025d66d3d0b0c5df92";
+        packages3d.sha256 =	"0ms9py93qyihxrhh9wm2ziycmdn88m36r8adx22ynjnxixw1f9ja";
       };
     };
   };
diff --git a/pkgs/applications/science/electronics/ngspice/default.nix b/pkgs/applications/science/electronics/ngspice/default.nix
index 0eed8b1692aa1..f4bf424f1090c 100644
--- a/pkgs/applications/science/electronics/ngspice/default.nix
+++ b/pkgs/applications/science/electronics/ngspice/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ngspice";
-  version = "34";
+  version = "36";
 
   src = fetchurl {
     url = "mirror://sourceforge/ngspice/ngspice-${version}.tar.gz";
-    sha256 = "sha256-ImP//GaUdUlyr3By7wHP5irHkIANrWUbwpC/yueb17U=";
+    sha256 = "sha256-T4GCh++6JFNBBGY1t1eugfh5VJsyakMWtfbml6pRf4w=";
   };
 
   nativeBuildInputs = [ flex bison ];
diff --git a/pkgs/applications/science/electronics/xcircuit/default.nix b/pkgs/applications/science/electronics/xcircuit/default.nix
index 68322a191787c..eb2a29382e60f 100644
--- a/pkgs/applications/science/electronics/xcircuit/default.nix
+++ b/pkgs/applications/science/electronics/xcircuit/default.nix
@@ -1,16 +1,12 @@
 { lib, stdenv, fetchurl, autoreconfHook, automake, pkg-config
 , cairo, ghostscript, ngspice, tcl, tk, xorg, zlib }:
 
-let
+stdenv.mkDerivation rec {
   version = "3.10.12";
-  name = "xcircuit-${version}";
-  inherit (lib) getBin;
-
-in stdenv.mkDerivation {
-  inherit name version;
+  pname = "xcircuit";
 
   src = fetchurl {
-    url = "http://opencircuitdesign.com/xcircuit/archive/${name}.tgz";
+    url = "http://opencircuitdesign.com/xcircuit/archive/xcircuit-${version}.tgz";
     sha256 = "1h1ywc3mr7plvwnhdii2zgnnv5ih2nhyl4qbdjpi83dq0aq1s2mn";
   };
 
@@ -20,7 +16,7 @@ in stdenv.mkDerivation {
   configureFlags = [
     "--with-tcl=${tcl}/lib"
     "--with-tk=${tk}/lib"
-    "--with-ngspice=${getBin ngspice}/bin/ngspice"
+    "--with-ngspice=${lib.getBin ngspice}/bin/ngspice"
   ];
 
   buildInputs = with xorg; [ cairo ghostscript libSM libXt libICE libX11 libXpm tcl tk zlib ];
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix
index 29959be2fa97a..a9fb21681586b 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/default.nix
@@ -47,6 +47,7 @@ let
    "8.14.0".sha256     = "04y2z0qyvag66zanfyc3f9agvmzbn4lsr0p1l7ck6yjhqx7vbm17";
    "8.14.1".sha256     = "0sx78pgx0qw8v7v2r32zzy3l161zipzq95iacda628girim7psnl";
    "8.15.0".sha256     = "sha256:1ma76wfrpfsl72yh10w1ys2a0vi0mdc2jc79kdc8nrmxkhpw1nxx";
+   "8.15.1".sha256     = "sha256:1dsa04jzkx5pw69pmxn0l55q4w88lg6fvz7clbga0bazzsfnsgd6";
   };
   releaseRev = v: "V${v}";
   fetched = import ../../../../build-support/coq/meta-fetch/default.nix
diff --git a/pkgs/applications/science/logic/isabelle/components/default.nix b/pkgs/applications/science/logic/isabelle/components/default.nix
new file mode 100644
index 0000000000000..dd7b605f56af0
--- /dev/null
+++ b/pkgs/applications/science/logic/isabelle/components/default.nix
@@ -0,0 +1,5 @@
+{ callPackage }:
+
+{
+  isabelle-linter = callPackage ./isabelle-linter.nix {};
+}
diff --git a/pkgs/applications/science/logic/isabelle/components/isabelle-linter.nix b/pkgs/applications/science/logic/isabelle/components/isabelle-linter.nix
new file mode 100644
index 0000000000000..7fca547f67c8e
--- /dev/null
+++ b/pkgs/applications/science/logic/isabelle/components/isabelle-linter.nix
@@ -0,0 +1,22 @@
+{ stdenv, lib, fetchFromGitHub, isabelle }:
+
+stdenv.mkDerivation rec {
+  pname = "isabelle-linter";
+  version = "Isabelle2021-1-v1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "isabelle-prover";
+    repo = "isabelle-linter";
+    rev = version;
+    sha256 = "0v6scc2rhj6bjv530gzz6i57czzcgpkw7a9iqnfdnm5gvs5qjk7a";
+  };
+
+  installPhase = import ./mkBuild.nix { inherit isabelle; path = "${pname}-${version}"; };
+
+  meta = with lib; {
+    description = "Linter component for Isabelle.";
+    homepage = "https://github.com/isabelle-prover/isabelle-linter";
+    maintainers = with maintainers; [ jvanbruegge ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/applications/science/logic/isabelle/components/mkBuild.nix b/pkgs/applications/science/logic/isabelle/components/mkBuild.nix
new file mode 100644
index 0000000000000..a05b5196b0076
--- /dev/null
+++ b/pkgs/applications/science/logic/isabelle/components/mkBuild.nix
@@ -0,0 +1,36 @@
+{ isabelle, path }:
+
+let
+  dir = "$out/isabelle/${isabelle.dirname}";
+  iDir = "${isabelle}/${isabelle.dirname}";
+in ''
+  shopt -s extglob
+  mkdir -p ${dir}/lib/classes
+
+  cDir=$out/${isabelle.dirname}/contrib/${path}
+  mkdir -p $cDir
+  cp -r !(isabelle) $cDir
+
+  cd ${dir}
+  ln -s ${iDir}/!(lib|bin) ./
+  ln -s ${iDir}/lib/!(classes) lib/
+  ln -s ${iDir}/lib/classes/* lib/classes/
+
+  mkdir bin/
+  cp ${iDir}/bin/* bin/
+
+  export HOME=$TMP
+  bin/isabelle components -u $cDir
+  bin/isabelle scala_build
+
+  cd lib/classes
+  for f in ${iDir}/lib/classes/*; do
+    rm $(basename $f)
+  done
+
+  lDir=$out/${isabelle.dirname}/lib/classes/
+  mkdir -p $lDir
+  cp -r * $lDir
+  cd $out
+  rm -rf isabelle
+''
diff --git a/pkgs/applications/science/logic/isabelle/default.nix b/pkgs/applications/science/logic/isabelle/default.nix
index 1c613419cc865..6696527cece2c 100644
--- a/pkgs/applications/science/logic/isabelle/default.nix
+++ b/pkgs/applications/science/logic/isabelle/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, coreutils, nettools, java, scala, polyml, z3, veriT, vampire, eprover-ho, naproche, rlwrap, perl, makeDesktopItem }:
+{ lib, stdenv, fetchurl, coreutils, nettools, java, scala, polyml, z3, veriT, vampire, eprover-ho, naproche, rlwrap, perl, makeDesktopItem, isabelle-components, isabelle, symlinkJoin }:
 # nettools needed for hostname
 
 stdenv.mkDerivation rec {
@@ -153,4 +153,29 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.jwiegley maintainers.jvanbruegge ];
     platforms = platforms.linux;
   };
+} // {
+  withComponents = f:
+    let
+      base = "$out/${isabelle.dirname}";
+      components = f isabelle-components;
+    in symlinkJoin {
+      name = "isabelle-with-components-${isabelle.version}";
+      paths = [ isabelle ] ++ components;
+
+      postBuild = ''
+        rm $out/bin/*
+
+        cd ${base}
+        rm bin/*
+        cp ${isabelle}/${isabelle.dirname}/bin/* bin/
+        rm etc/components
+        cat ${isabelle}/${isabelle.dirname}/etc/components > etc/components
+
+        export HOME=$TMP
+        bin/isabelle install $out/bin
+        patchShebangs $out/bin
+      '' + lib.concatMapStringsSep "\n" (c: ''
+        echo contrib/${c.pname}-${c.version} >> ${base}/etc/components
+      '') components;
+    };
 }
diff --git a/pkgs/applications/science/logic/jonprl/default.nix b/pkgs/applications/science/logic/jonprl/default.nix
deleted file mode 100644
index 379a9a4835400..0000000000000
--- a/pkgs/applications/science/logic/jonprl/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ fetchgit, lib, stdenv, smlnj, which }:
-
-stdenv.mkDerivation rec {
-  pname = "jonprl";
-  version = "0.1.0";
-
-  src = fetchgit {
-    url = "https://github.com/jonsterling/JonPRL.git";
-    deepClone = true;
-    rev = "refs/tags/v${version}";
-    sha256 = "0czs13syvnw8fz24d075n4pmsyfs8rs8c7ksmvd7cgb3h55fvp4p";
-  };
-
-  buildInputs = [ smlnj which ];
-
-  installPhase = ''
-    mkdir -p "$out/bin"
-    cp bin/.heapimg.* "$out/bin/"
-    build/mkexec.sh "${smlnj}/bin/sml" "$out" jonprl
-  '';
-
-  meta = {
-    description = "Proof Refinement Logic - Computational Type Theory";
-    longDescription = ''
-      An proof refinement logic for computational type theory
-      based on Brouwer-realizability & meaning explanations.
-      Inspired by Nuprl
-    '';
-    homepage = "https://github.com/jonsterling/JonPRL";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ puffnfresh ];
-    platforms = lib.platforms.linux;
-    broken = true;
-  };
-}
diff --git a/pkgs/applications/science/logic/klee/default.nix b/pkgs/applications/science/logic/klee/default.nix
index e0ace7e81c823..612d9fd57c7cc 100644
--- a/pkgs/applications/science/logic/klee/default.nix
+++ b/pkgs/applications/science/logic/klee/default.nix
@@ -1,5 +1,5 @@
-{ stdenv
-, lib
+{ lib
+, callPackage
 , fetchFromGitHub
 , fetchpatch
 , cmake
@@ -14,13 +14,37 @@
 , sqlite
 , gtest
 , lit
+
+# Build KLEE in debug mode. Defaults to false.
 , debug ? false
+
+# Include debug info in the build. Defaults to true.
+, includeDebugInfo ? true
+
+# Enable KLEE asserts. Defaults to true, since LLVM is built with them.
+, asserts ? true
+
+# Build the KLEE runtime in debug mode. Defaults to true, as this improves
+# stack traces of the software under test.
+, debugRuntime ? true
+
+# Enable runtime asserts. Default false.
+, runtimeAsserts ? false
+
+# Extra klee-uclibc config.
+, extraKleeuClibcConfig ? {}
 }:
 
 let
+  # Python used for KLEE tests.
   kleePython = python3.withPackages (ps: with ps; [ tabulate ]);
+
+  # The klee-uclibc derivation.
+  kleeuClibc = callPackage ./klee-uclibc.nix {
+    inherit clang_9 llvmPackages_9 extraKleeuClibcConfig debugRuntime runtimeAsserts;
+  };
 in
-stdenv.mkDerivation rec {
+clang_9.stdenv.mkDerivation rec {
   pname = "klee";
   version = "2.2";
   src = fetchFromGitHub {
@@ -30,11 +54,12 @@ stdenv.mkDerivation rec {
     sha256 = "Ar3BKfADjJvvP0dI9+x/l3RDs8ncx4jmO7ol4MgOr4M=";
   };
   buildInputs = [
-    llvmPackages_9.llvm clang_9 z3 stp cryptominisat
+    llvmPackages_9.llvm
+    z3 stp cryptominisat
     gperftools sqlite
   ];
   nativeBuildInputs = [
-    cmake
+    cmake clang_9
   ];
   checkInputs = [
     gtest
@@ -46,14 +71,17 @@ stdenv.mkDerivation rec {
   ];
 
   cmakeFlags = let
-    buildType = if debug then "Debug" else "Release";
-  in
-  [
-    "-DCMAKE_BUILD_TYPE=${buildType}"
-    "-DKLEE_RUNTIME_BUILD_TYPE=${buildType}"
-    "-DENABLE_POSIX_RUNTIME=ON"
-    "-DENABLE_UNIT_TESTS=ON"
-    "-DENABLE_SYSTEM_TESTS=ON"
+    onOff = val: if val then "ON" else "OFF";
+  in [
+    "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else if !debug && includeDebugInfo then "RelWithDebInfo" else "MinSizeRel"}"
+    "-DKLEE_RUNTIME_BUILD_TYPE=${if debugRuntime then "Debug" else "Release"}"
+    "-DKLEE_ENABLE_TIMESTAMP=${onOff false}"
+    "-DENABLE_KLEE_UCLIBC=${onOff true}"
+    "-DKLEE_UCLIBC_PATH=${kleeuClibc}"
+    "-DENABLE_KLEE_ASSERTS=${onOff asserts}"
+    "-DENABLE_POSIX_RUNTIME=${onOff true}"
+    "-DENABLE_UNIT_TESTS=${onOff true}"
+    "-DENABLE_SYSTEM_TESTS=${onOff true}"
     "-DGTEST_SRC_DIR=${gtest.src}"
     "-DGTEST_INCLUDE_DIR=${gtest.src}/googletest/include"
     "-Wno-dev"
@@ -66,21 +94,40 @@ stdenv.mkDerivation rec {
     patchShebangs .
   '';
 
-  /* This patch is currently necessary for the unit test suite to run correctly.
-   * See https://www.mail-archive.com/klee-dev@imperial.ac.uk/msg03136.html
-   * and https://github.com/klee/klee/pull/1458 for more information.
-   */
   patches = map fetchpatch [
+    /* This patch is currently necessary for the unit test suite to run correctly.
+     * See https://www.mail-archive.com/klee-dev@imperial.ac.uk/msg03136.html
+     * and https://github.com/klee/klee/pull/1458 for more information.
+     */
     {
       name = "fix-gtest";
       sha256 = "F+/6videwJZz4sDF9lnV4B8lMx6W11KFJ0Q8t1qUDf4=";
       url = "https://github.com/klee/klee/pull/1458.patch";
     }
+
+    # This patch fixes test compile issues with glibc 2.33+.
+    {
+      name = "fix-glibc-2.33";
+      sha256 = "PzxqtFyLy9KF1eA9AAKg1tu+ggRdvu7leuvXifayIcc=";
+      url = "https://github.com/klee/klee/pull/1385.patch";
+    }
+
+    # /etc/mtab doesn't exist in the Nix build sandbox.
+    {
+      name = "fix-etc-mtab-in-tests";
+      sha256 = "2Yb/rJA791esNNqq8uAXV+MML4YXIjPKkHBOufvyRoQ=";
+      url = "https://github.com/klee/klee/pull/1471.patch";
+    }
   ];
 
   doCheck = true;
   checkTarget = "check";
 
+  passthru = {
+    # Let the user depend on `klee.uclibc` for klee-uclibc
+    uclibc = kleeuClibc;
+  };
+
   meta = with lib; {
     description = "A symbolic virtual machine built on top of LLVM";
     longDescription = ''
diff --git a/pkgs/applications/science/logic/klee/klee-uclibc.nix b/pkgs/applications/science/logic/klee/klee-uclibc.nix
new file mode 100644
index 0000000000000..2e3826c50c424
--- /dev/null
+++ b/pkgs/applications/science/logic/klee/klee-uclibc.nix
@@ -0,0 +1,98 @@
+{ lib
+, fetchurl
+, fetchFromGitHub
+, which
+, linuxHeaders
+, clang_9
+, llvmPackages_9
+, python3
+, debugRuntime ? true
+, runtimeAsserts ? false
+, extraKleeuClibcConfig ? {}
+}:
+
+let
+  localeSrcBase = "uClibc-locale-030818.tgz";
+  localeSrc = fetchurl {
+    url = "http://www.uclibc.org/downloads/${localeSrcBase}";
+    sha256 = "xDYr4xijjxjZjcz0YtItlbq5LwVUi7k/ZSmP6a+uvVc=";
+  };
+  resolvedExtraKleeuClibcConfig = lib.mapAttrsToList (name: value: "${name}=${value}") (extraKleeuClibcConfig // {
+    "UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA" = "n";
+    "RUNTIME_PREFIX" = "/";
+    "DEVEL_PREFIX" = "/";
+  });
+in
+clang_9.stdenv.mkDerivation rec {
+  pname = "klee-uclibc";
+  version = "1.2";
+  src = fetchFromGitHub {
+    owner = "klee";
+    repo = "klee-uclibc";
+    rev = "klee_uclibc_v${version}";
+    sha256 = "qdrGMw+2XwpDsfxdv6swnoaoACcF5a/RWgUxUYbtPrI=";
+  };
+  nativeBuildInputs = [
+    clang_9
+    llvmPackages_9.llvm
+    python3
+    which
+  ];
+
+  # Some uClibc sources depend on Linux headers.
+  UCLIBC_KERNEL_HEADERS = "${linuxHeaders}/include";
+
+  # HACK: needed for cross-compile.
+  # See https://www.mail-archive.com/klee-dev@imperial.ac.uk/msg03141.html
+  KLEE_CFLAGS = "-idirafter ${clang_9}/resource-root/include";
+
+  prePatch = ''
+    patchShebangs ./configure
+    patchShebangs ./extra
+  '';
+
+  # klee-uclibc configure does not support --prefix, so we override configurePhase entirely
+  configurePhase = ''
+    ./configure ${lib.escapeShellArgs (
+      ["--make-llvm-lib"]
+      ++ lib.optional (!debugRuntime) "--enable-release"
+      ++ lib.optional runtimeAsserts "--enable-assertions"
+    )}
+
+    # Set all the configs we care about.
+    configs=(
+      PREFIX=$out
+    )
+    for value in ${lib.escapeShellArgs resolvedExtraKleeuClibcConfig}; do
+      configs+=("$value")
+    done
+
+    for configFile in .config .config.cmd; do
+      for config in "''${configs[@]}"; do
+        prefix="''${config%%=*}="
+        if grep -q "$prefix" "$configFile"; then
+          sed -i "s"'\001'"''${prefix}"'\001'"#''${prefix}"'\001'"g" "$configFile"
+        fi
+        echo "$config" >> "$configFile"
+      done
+    done
+  '';
+
+  # Link the locale source into the correct place
+  preBuild = ''
+    ln -sf ${localeSrc} extra/locale/${localeSrcBase}
+  '';
+
+  makeFlags = ["HAVE_DOT_CONFIG=y"];
+
+  meta = with lib; {
+    description = "A modified version of uClibc for KLEE.";
+    longDescription = ''
+      klee-uclibc is a bitcode build of uClibc meant for compatibility with the
+      KLEE symbolic virtual machine.
+    '';
+    homepage = "https://klee.github.io/";
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ numinit ];
+  };
+}
diff --git a/pkgs/applications/science/logic/lean2/default.nix b/pkgs/applications/science/logic/lean2/default.nix
deleted file mode 100644
index 24d11c3a53192..0000000000000
--- a/pkgs/applications/science/logic/lean2/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, cmake, gmp, mpfr, python2
-, gperftools, ninja, makeWrapper }:
-
-stdenv.mkDerivation {
-  pname = "lean2";
-  version = "2017-07-22";
-
-  src = fetchFromGitHub {
-    owner  = "leanprover";
-    repo   = "lean2";
-    rev    = "34dbd6c3ae612186b8f0f80d12fbf5ae7a059ec9";
-    sha256 = "1xv3j487zhh1zf2b4v19xzw63s2sgjhg8d62a0kxxyknfmdf3khl";
-  };
-
-  nativeBuildInputs = [ cmake makeWrapper ninja ];
-  buildInputs = [ gmp mpfr python2 gperftools ];
-
-  preConfigure = ''
-    patchShebangs bin/leantags
-    cd src
-  '';
-
-  cmakeFlags = [ "-GNinja" ];
-
-  postInstall = ''
-    wrapProgram $out/bin/linja --prefix PATH : $out/bin:${ninja}/bin
-  '';
-
-  meta = with lib; {
-    description = "Automatic and interactive theorem prover (version with HoTT support)";
-    homepage    = "http://leanprover.github.io";
-    license     = licenses.asl20;
-    platforms   = platforms.unix;
-    maintainers = with maintainers; [ thoughtpolice gebner ];
-    broken = true;
-  };
-}
diff --git a/pkgs/applications/science/logic/nuXmv/default.nix b/pkgs/applications/science/logic/nuXmv/default.nix
index 021c612d10691..710cfdad39a8d 100644
--- a/pkgs/applications/science/logic/nuXmv/default.nix
+++ b/pkgs/applications/science/logic/nuXmv/default.nix
@@ -1,25 +1,33 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchurl, gmp, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "nuXmv";
   version = "2.0.0";
 
   src = fetchurl {
-    url = "https://es-static.fbk.eu/tools/nuxmv/downloads/nuXmv-${version}-linux64.tar.gz";
-    sha256 = "0nndrw994clf8lnlcfzdf1mf00vif3fvd4xsiwcjpbyk12091zqr";
+    url = "https://es-static.fbk.eu/tools/nuxmv/downloads/nuXmv-${version}-${if stdenv.isDarwin then "macosx64" else "linux64"}.tar.gz";
+    sha256 = if stdenv.isDarwin
+             then "sha256-48I+FhJUUam1nMCMMM47CwGO82BYsNz0eHDHXBfqO2E="
+             else "sha256-Gf+QgAjTrysZj7qTtt1wcQPganDtO0YtRY4ykhLPzVo=";
   };
 
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = lib.optionals stdenv.isDarwin [ gmp ];
   installPhase= ''
     runHook preInstall
     install -Dm755 -t $out/bin ./bin/nuXmv
     runHook postInstall
   '';
 
+  postFixup = lib.optionalString stdenv.isDarwin ''
+    wrapProgram $out/bin/nuXmv --prefix DYLD_LIBRARY_PATH : ${gmp}/lib
+  '';
+
   meta = with lib; {
     description = "Symbolic model checker for analysis of finite and infinite state systems";
     homepage = "https://nuxmv.fbk.eu/pmwiki.php";
     license = licenses.unfree;
     maintainers = with maintainers; [ siraben ];
-    platforms = [ "x86_64-linux" ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/applications/science/logic/otter/default.nix b/pkgs/applications/science/logic/otter/default.nix
deleted file mode 100644
index 2ad066e53f741..0000000000000
--- a/pkgs/applications/science/logic/otter/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{lib, stdenv, fetchurl, tcsh, libXaw, libXt, libX11}:
-let
-  s = # Generated upstream information
-  rec {
-    version = "3.3f";
-    name = "otter";
-    url = "https://www.cs.unm.edu/~mccune/otter/otter-${version}.tar.gz";
-    sha256 = "16mc1npl7sk9cmqhrf3ghfmvx29inijw76f1b1lsykllaxjqqb1r";
-  };
-  buildInputs = [
-    tcsh libXaw libXt libX11
-  ];
-in
-stdenv.mkDerivation {
-  name = "${s.name}-${s.version}";
-  inherit buildInputs;
-  src = fetchurl {
-    inherit (s) url sha256;
-  };
-
-  hardeningDisable = [ "format" ];
-
-  buildPhase = ''
-    find . -name Makefile | xargs sed -i -e "s@/bin/rm@$(type -P rm)@g"
-    find . -name Makefile | xargs sed -i -e "s@/bin/mv@$(type -P mv)@g"
-    find . -perm -0100 -type f | xargs sed -i -e "s@/bin/csh@$(type -P csh)@g"
-    find . -perm -0100 -type f | xargs sed -i -e "s@/bin/rm@$(type -P rm)@g"
-    find . -perm -0100 -type f | xargs sed -i -e "s@/bin/mv@$(type -P mv)@g"
-
-    sed -i -e "s/^XLIBS *=.*/XLIBS=-lXaw -lXt -lX11/" source/formed/Makefile
-
-    make all
-    make -C examples all
-    make -C examples-mace2 all
-    make -C source/formed realclean
-    make -C source/formed formed
-  '';
-
-  installPhase = ''
-    mkdir -p "$out"/{bin,share/otter}
-    cp bin/* source/formed/formed "$out/bin/"
-    cp -r examples examples-mace2 documents README* Legal Changelog Contents index.html "$out/share/otter/"
-  '';
-
-  meta = {
-    inherit (s) version;
-    description = "A reliable first-order theorem prover";
-    license = lib.licenses.publicDomain ;
-    maintainers = [lib.maintainers.raskin];
-    platforms = lib.platforms.linux;
-    broken = true;
-  };
-}
diff --git a/pkgs/applications/science/logic/potassco/clingcon.nix b/pkgs/applications/science/logic/potassco/clingcon.nix
index 1614adf45537e..d7ec2e72433e3 100644
--- a/pkgs/applications/science/logic/potassco/clingcon.nix
+++ b/pkgs/applications/science/logic/potassco/clingcon.nix
@@ -2,6 +2,7 @@
 , fetchFromGitHub
 , cmake
 , clingo
+, catch2
 }:
 
 stdenv.mkDerivation rec {
@@ -15,6 +16,10 @@ stdenv.mkDerivation rec {
     sha256 = "1g2xkz9nsgqnrw3fdf5jchl16f0skj5mm32va61scc2yrchll166";
    };
 
+  postPatch = ''
+    cp ${catch2}/include/catch2/catch.hpp libclingcon/tests/catch.hpp
+  '';
+
   nativeBuildInputs = [ cmake clingo ];
 
   cmakeFlags = [
diff --git a/pkgs/applications/science/logic/why3/with-provers.nix b/pkgs/applications/science/logic/why3/with-provers.nix
index 826473b38e9f6..ae0acb1e525c8 100644
--- a/pkgs/applications/science/logic/why3/with-provers.nix
+++ b/pkgs/applications/science/logic/why3/with-provers.nix
@@ -12,7 +12,7 @@ let configAwkScript = runCommand "why3-conf.awk" { inherit provers; }
   '';
 in
 stdenv.mkDerivation {
-  name = "${why3.name}-with-provers";
+  pname = "${why3.pname}-with-provers";
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ why3 ] ++ provers;
diff --git a/pkgs/applications/science/logic/z3/4.4.0.nix b/pkgs/applications/science/logic/z3/4.4.0.nix
index 2fbaa0a28caf7..a3d6c16fb7df2 100644
--- a/pkgs/applications/science/logic/z3/4.4.0.nix
+++ b/pkgs/applications/science/logic/z3/4.4.0.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, python }:
 
 stdenv.mkDerivation rec {
-  name = "z3-${version}";
+  pname = "z3";
   version = "4.4.0";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/science/math/caffe/default.nix b/pkgs/applications/science/math/caffe/default.nix
index 462a05d300cec..74b89ed98c550 100644
--- a/pkgs/applications/science/math/caffe/default.nix
+++ b/pkgs/applications/science/math/caffe/default.nix
@@ -137,7 +137,7 @@ stdenv.mkDerivation rec {
       Center (BVLC) and by community contributors.
     '';
     homepage = "http://caffe.berkeleyvision.org/";
-    maintainers = with maintainers; [ jb55 ];
+    maintainers = with maintainers; [ ];
     license = licenses.bsd2;
     platforms = platforms.linux ++ platforms.darwin;
   };
diff --git a/pkgs/applications/science/math/fricas/default.nix b/pkgs/applications/science/math/fricas/default.nix
index 79d5664426bea..8c2541fe41299 100644
--- a/pkgs/applications/science/math/fricas/default.nix
+++ b/pkgs/applications/science/math/fricas/default.nix
@@ -1,14 +1,11 @@
 { lib, stdenv, fetchurl, sbcl, libX11, libXpm, libICE, libSM, libXt, libXau, libXdmcp }:
 
-let
+stdenv.mkDerivation rec {
+  pname = "fricas";
   version = "1.3.7";
-  name = "fricas-" + version;
-in
-stdenv.mkDerivation {
-  inherit name;
 
   src = fetchurl {
-    url = "mirror://sourceforge/fricas/fricas/${version}/${name}-full.tar.bz2";
+    url = "mirror://sourceforge/fricas/fricas/${version}/fricas-${version}-full.tar.bz2";
     sha256 = "sha256-cOqMvSe3ef/ZeVy5cj/VU/aTRtxgfxZfRbE4lWE5TU4=";
   };
 
diff --git a/pkgs/applications/science/math/sage/README.md b/pkgs/applications/science/math/sage/README.md
index 26e91fc631330..c3a81c2109ee4 100644
--- a/pkgs/applications/science/math/sage/README.md
+++ b/pkgs/applications/science/math/sage/README.md
@@ -17,7 +17,7 @@ If the build broke as a result of a package update, try those solutions in order
 - fix the problem yourself. First clone the sagemath source and then check out the sage version you want to patch:
 
 ```
-[user@localhost ~]$ git clone git://github.com/sagemath/sage.git
+[user@localhost ~]$ git clone https://github.com/sagemath/sage.git
 [user@localhost ~]$ cd sage
 [user@localhost sage]$ git checkout 8.2 # substitute the relevant version here
 ```
@@ -41,7 +41,7 @@ You can [login the sage trac using GitHub](https://trac.sagemath.org/login). You
 Here's the gist, assuming you want to use ssh key authentication. First, [add your public ssh key](https://trac.sagemath.org/prefs/sshkeys). Then:
 
 ```
-[user@localhost ~]$ git clone git://github.com/sagemath/sage.git
+[user@localhost ~]$ git clone https://github.com/sagemath/sage.git
 [user@localhost ~]$ cd sage
 [user@localhost sage]$ git remote add trac git@trac.sagemath.org:sage.git -t master
 [user@localhost sage]$ git checkout -b u/gh-<your-github-username>/<your-branch-name> develop
diff --git a/pkgs/applications/science/math/scilab-bin/default.nix b/pkgs/applications/science/math/scilab-bin/default.nix
index 18dba2952cade..65d8c145bef6f 100644
--- a/pkgs/applications/science/math/scilab-bin/default.nix
+++ b/pkgs/applications/science/math/scilab-bin/default.nix
@@ -1,11 +1,7 @@
 { stdenv, fetchurl, lib, xorg }:
 
 let
-  name = "scilab-bin-${ver}";
-
-  ver = "6.1.1";
-
-  badArch = throw "${name} requires i686-linux or x86_64-linux";
+  badArch = throw "scilab-bin requires i686-linux or x86_64-linux";
 
   architecture =
     if stdenv.hostPlatform.system == "i686-linux" then
@@ -15,11 +11,12 @@ let
     else
       badArch;
 in
-stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  pname = "scilab-bin";
+  version = "6.1.1";
 
   src = fetchurl {
-    url = "https://www.scilab.org/download/${ver}/scilab-${ver}.bin.linux-${architecture}.tar.gz";
+    url = "https://www.scilab.org/download/${version}/scilab-${version}.bin.linux-${architecture}.tar.gz";
     sha256 =
       if stdenv.hostPlatform.system == "i686-linux" then
         "0fgjc2ak3b2qi6yin3fy50qwk2bcj0zbz1h4lyyic9n1n1qcliib"
@@ -43,7 +40,7 @@ stdenv.mkDerivation {
     sed -i 's|\$(/bin/|$(|g' bin/scilab
     sed -i 's|/usr/bin/||g' bin/scilab
 
-    sci="$out/opt/scilab-${ver}"
+    sci="$out/opt/scilab-${version}"
     fullLibPath="$sci/lib/scilab:$sci/lib/thirdparty:$libPath"
     fullLibPath="$fullLibPath:$sci/lib/thirdparty/redist"
 
@@ -55,31 +52,31 @@ stdenv.mkDerivation {
   '';
 
   installPhase = ''
-    mkdir -p "$out/opt/scilab-${ver}"
-    cp -r . "$out/opt/scilab-${ver}/"
+    mkdir -p "$out/opt/scilab-${version}"
+    cp -r . "$out/opt/scilab-${version}/"
 
     # Create bin/ dir
     mkdir "$out/bin"
 
     # Creating executable symlinks
-    ln -s "$out/opt/scilab-${ver}/bin/scilab" "$out/bin/scilab"
-    ln -s "$out/opt/scilab-${ver}/bin/scilab-cli" "$out/bin/scilab-cli"
-    ln -s "$out/opt/scilab-${ver}/bin/scilab-adv-cli" "$out/bin/scilab-adv-cli"
+    ln -s "$out/opt/scilab-${version}/bin/scilab" "$out/bin/scilab"
+    ln -s "$out/opt/scilab-${version}/bin/scilab-cli" "$out/bin/scilab-cli"
+    ln -s "$out/opt/scilab-${version}/bin/scilab-adv-cli" "$out/bin/scilab-adv-cli"
 
     # Creating desktop config dir
     mkdir -p "$out/share/applications"
 
     # Moving desktop config files
-    mv $out/opt/scilab-${ver}/share/applications/*.desktop $out/share/applications
+    mv $out/opt/scilab-${version}/share/applications/*.desktop $out/share/applications
 
     # Fixing Exec paths and launching each app with a terminal
-    sed -i -e "s|Exec=|Exec=$out/opt/scilab-${ver}/bin/|g" \
+    sed -i -e "s|Exec=|Exec=$out/opt/scilab-${version}/bin/|g" \
            -e "s|Terminal=.*$|Terminal=true|g" $out/share/applications/*.desktop
 
     # Moving icons to the appropriate locations
-    for path in $out/opt/scilab-${ver}/share/icons/hicolor/*/*/*
+    for path in $out/opt/scilab-${version}/share/icons/hicolor/*/*/*
     do
-      newpath=$(echo $path | sed 's|/opt/scilab-${ver}||g')
+      newpath=$(echo $path | sed 's|/opt/scilab-${version}||g')
       filename=$(echo $path | sed 's|.*/||g')
       dir=$(echo $newpath | sed "s|$filename||g")
       mkdir -p $dir
@@ -87,10 +84,10 @@ stdenv.mkDerivation {
     done
 
     # Removing emptied folders
-    rm -rf $out/opt/scilab-${ver}/share/{applications,icons}
+    rm -rf $out/opt/scilab-${version}/share/{applications,icons}
 
     # Moving other share/ folders
-    mv $out/opt/scilab-${ver}/share/{appdata,locale,mime} $out/share
+    mv $out/opt/scilab-${version}/share/{appdata,locale,mime} $out/share
   '';
 
   meta = {
diff --git a/pkgs/applications/science/misc/bada-bib/default.nix b/pkgs/applications/science/misc/bada-bib/default.nix
index 3ca998643ac25..6dfc6f7ea55ac 100644
--- a/pkgs/applications/science/misc/bada-bib/default.nix
+++ b/pkgs/applications/science/misc/bada-bib/default.nix
@@ -17,7 +17,7 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "bada-bib";
-  version = "0.6.0";
+  version = "0.6.1";
   format = "other";
   strictDeps = false; # https://github.com/NixOS/nixpkgs/issues/56943
 
@@ -25,7 +25,7 @@ python3Packages.buildPythonApplication rec {
     owner = "RogerCrocker";
     repo = "BadaBib";
     rev = "v${version}";
-    sha256 = "sha256-gfZc3R8hrYy4Nco+XwG29lzZd537ByEgd3RL8h7f6DQ=";
+    sha256 = "sha256-fuGGKBScdo9rI3tLSBWIcWEME8nSuct0IUyfmI7PzCc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/misc/fityk/default.nix b/pkgs/applications/science/misc/fityk/default.nix
index 974fd3ece45c5..a3d6e1564666e 100644
--- a/pkgs/applications/science/misc/fityk/default.nix
+++ b/pkgs/applications/science/misc/fityk/default.nix
@@ -1,12 +1,9 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, wxGTK30, boost, lua, zlib, bzip2
 , xylib, readline, gnuplot, swig3 }:
 
-let
-  name    = "fityk";
+stdenv.mkDerivation rec {
+  pname = "fityk";
   version = "1.3.1";
-in
-stdenv.mkDerivation {
-  name = "${name}-${version}";
 
   src = fetchFromGitHub {
     owner = "wojdyr";
diff --git a/pkgs/applications/science/misc/openmvs/default.nix b/pkgs/applications/science/misc/openmvs/default.nix
deleted file mode 100644
index a92920c5e7958..0000000000000
--- a/pkgs/applications/science/misc/openmvs/default.nix
+++ /dev/null
@@ -1,77 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, pkg-config
-, cmake
-, eigen
-, opencv
-, ceres-solver
-, cgal
-, boost
-, vcg
-, gmp
-, mpfr
-, glog
-, gflags
-, libjpeg_turbo
-}:
-
-stdenv.mkDerivation {
-  pname = "openmvs";
-  version = "unstable-2018-05-26";
-
-  src = fetchFromGitHub {
-    owner = "cdcseacave";
-    repo = "openmvs";
-    rev = "939033c55b50478339084431aac2c2318041afad";
-    sha256 = "12dgkwwfdp24581y3i41gsd1k9hq0aw917q0ja5s0if4qbmc8pni";
-  };
-
-  buildInputs = [ eigen opencv ceres-solver cgal boost vcg gmp mpfr glog gflags libjpeg_turbo ];
-
-  nativeBuildInputs = [ cmake pkg-config ];
-
-  preConfigure = ''
-    cmakeFlagsArray=(
-      $cmakeFlagsArray
-      "-DCMAKE_CXX_FLAGS=-std=c++11"
-      "-DBUILD_SHARED_LIBS=ON"
-      "-DBUILD_STATIC_RUNTIME=ON"
-      "-DINSTALL_BIN_DIR=$out/bin"
-      "-DVCG_DIR=${vcg}"
-      "-DCGAL_ROOT=${cgal}/lib/cmake/CGAL"
-      "-DCERES_DIR=${ceres-solver}/lib/cmake/Ceres/"
-    )
-  '';
-
-  postFixup = ''
-    rp=$(patchelf --print-rpath $out/bin/DensifyPointCloud)
-    patchelf --set-rpath $rp:$out/lib/OpenMVS $out/bin/DensifyPointCloud
-
-    rp=$(patchelf --print-rpath $out/bin/InterfaceVisualSFM)
-    patchelf --set-rpath $rp:$out/lib/OpenMVS $out/bin/InterfaceVisualSFM
-
-    rp=$(patchelf --print-rpath $out/bin/ReconstructMesh)
-    patchelf --set-rpath $rp:$out/lib/OpenMVS $out/bin/ReconstructMesh
-
-    rp=$(patchelf --print-rpath $out/bin/RefineMesh)
-    patchelf --set-rpath $rp:$out/lib/OpenMVS $out/bin/RefineMesh
-
-    rp=$(patchelf --print-rpath $out/bin/TextureMesh)
-    patchelf --set-rpath $rp:$out/lib/OpenMVS $out/bin/TextureMesh
-  '';
-
-  cmakeDir = "./";
-
-  dontUseCmakeBuildDir = true;
-
-  meta = with lib; {
-    description = "A library for computer-vision scientists and especially targeted to the Multi-View Stereo reconstruction community";
-    homepage = "http://cdcseacave.github.io/openMVS/";
-    license = licenses.agpl3;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ mdaiter ];
-    # 20190414-174115: CMake cannot find CGAL which is passed as build input
-    broken = true;
-  };
-}
diff --git a/pkgs/applications/science/misc/rink/default.nix b/pkgs/applications/science/misc/rink/default.nix
index d319dbe3e7046..18b1e46fde2e7 100644
--- a/pkgs/applications/science/misc/rink/default.nix
+++ b/pkgs/applications/science/misc/rink/default.nix
@@ -2,17 +2,17 @@
 , libiconv, Security }:
 
 rustPlatform.buildRustPackage rec {
-  version = "0.6.2";
+  version = "0.6.3";
   pname = "rink";
 
   src = fetchFromGitHub {
     owner = "tiffany352";
     repo = "rink-rs";
     rev = "v${version}";
-    sha256 = "sha256-l2Rj15zaJm94EHwvOssfvYQNOoWj45Nq9M85n+A0vo4=";
+    sha256 = "sha256-AhC3c6CpV0tlD6d/hFWt7hGj2UsXsOCeujkRSDlpvCM=";
   };
 
-  cargoSha256 = "sha256-GhuvwVkDRFjC6BghaNMFZZG9hResTN1u0AuvIXlFmig=";
+  cargoSha256 = "sha256-Xo5iYwL4Db+GWMl5UXbPmj0Y0PJYR4Q0aUGnYCd+NB8=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ ncurses ]
diff --git a/pkgs/applications/science/robotics/inav-configurator/default.nix b/pkgs/applications/science/robotics/inav-configurator/default.nix
index 40914a8ac1a5d..ec605a3a97e95 100644
--- a/pkgs/applications/science/robotics/inav-configurator/default.nix
+++ b/pkgs/applications/science/robotics/inav-configurator/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "inav-configurator";
-  version = "3.0.2";
+  version = "4.1.0";
 
   src = fetchurl {
     url = "https://github.com/iNavFlight/inav-configurator/releases/download/${version}/INAV-Configurator_linux64_${version}.tar.gz";
-    sha256 = "0v6dcg634wpp9q4ya3mj00j3pg25g62aq209iq2dsvj0a03afbp2";
+    sha256 = "sha256-+rPzytnAQcNGbISFBHb4JS9Nqy0C2i36k+EPBvq/mso=";
   };
 
   icon = fetchurl {
diff --git a/pkgs/applications/terminal-emulators/gnome-console/default.nix b/pkgs/applications/terminal-emulators/gnome-console/default.nix
new file mode 100644
index 0000000000000..9b4b460550ff3
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/gnome-console/default.nix
@@ -0,0 +1,69 @@
+{ lib
+, stdenv
+, fetchurl
+, gettext
+, gnome
+, libgtop
+, gtk3
+, libhandy
+, pcre2
+, vte
+, appstream-glib
+, desktop-file-utils
+, git
+, meson
+, ninja
+, pkg-config
+, python3
+, sassc
+, wrapGAppsHook
+, nixosTests
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-console";
+  version = "42.beta";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-console/${lib.versions.major version}/${pname}-${version}.tar.xz";
+    sha256 = "Lq/shyAhDcwB5HqpihvGx2+xwVU2Xax7/NerFwR36DQ=";
+  };
+
+  buildInputs = [
+    gettext
+    libgtop
+    gnome.nautilus
+    gtk3
+    libhandy
+    pcre2
+    vte
+  ];
+
+  nativeBuildInputs = [
+    appstream-glib
+    desktop-file-utils
+    git
+    meson
+    ninja
+    pkg-config
+    python3
+    sassc
+    wrapGAppsHook
+  ];
+
+  passthru = {
+    updateScript = gnome.updateScript {
+      packageName = pname;
+    };
+  };
+
+  passthru.tests.test = nixosTests.terminal-emulators.kgx;
+
+  meta = with lib; {
+    description = "Simple user-friendly terminal emulator for the GNOME desktop";
+    homepage = "https://gitlab.gnome.org/GNOME/console";
+    license = licenses.gpl3Plus;
+    maintainers = teams.gnome.members ++ (with maintainers; [ zhaofengli ]);
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/terminal-emulators/kgx/default.nix b/pkgs/applications/terminal-emulators/kgx/default.nix
deleted file mode 100644
index 1be9412e8dae2..0000000000000
--- a/pkgs/applications/terminal-emulators/kgx/default.nix
+++ /dev/null
@@ -1,79 +0,0 @@
-{ lib
-, stdenv
-, genericBranding ? false
-, fetchFromGitLab
-, gettext
-, gnome
-, libgtop
-, gtk3
-, libhandy
-, pcre2
-, vte
-, appstream-glib
-, desktop-file-utils
-, git
-, meson
-, ninja
-, pkg-config
-, python3
-, sassc
-, wrapGAppsHook
-, nixosTests
-}:
-
-stdenv.mkDerivation {
-  pname = "kgx";
-  version = "unstable-2021-03-13";
-
-  src = fetchFromGitLab {
-    domain = "gitlab.gnome.org";
-    owner = "ZanderBrown";
-    repo = "kgx";
-    rev = "105adb6a8d09418a3ce622442aef6ae623dee787";
-    sha256 = "0m34y0nbcfkyicb40iv0iqaq6f9r3f66w43lr803j3351nxqvcz2";
-  };
-
-  buildInputs = [
-    gettext
-    libgtop
-    gnome.nautilus
-    gtk3
-    libhandy
-    pcre2
-    vte
-  ];
-
-  nativeBuildInputs = [
-    appstream-glib
-    desktop-file-utils
-    git
-    meson
-    ninja
-    pkg-config
-    python3
-    sassc
-    wrapGAppsHook
-  ];
-
-  mesonFlags = lib.optional genericBranding "-Dgeneric=true";
-
-  postPatch = ''
-    chmod +x build-aux/meson/postinstall.py
-    patchShebangs build-aux/meson/postinstall.py
-  '';
-
-  preFixup = ''
-    substituteInPlace $out/share/applications/org.gnome.zbrown.KingsCross.desktop \
-      --replace "Exec=kgx" "Exec=$out/bin/kgx"
-  '';
-
-  passthru.tests.test = nixosTests.terminal-emulators.kgx;
-
-  meta = with lib; {
-    description = "Simple user-friendly terminal emulator for the GNOME desktop";
-    homepage = "https://gitlab.gnome.org/ZanderBrown/kgx";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ zhaofengli ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/terminal-emulators/kitty/default.nix b/pkgs/applications/terminal-emulators/kitty/default.nix
index d06c6d937c11b..52e691f985045 100644
--- a/pkgs/applications/terminal-emulators/kitty/default.nix
+++ b/pkgs/applications/terminal-emulators/kitty/default.nix
@@ -90,6 +90,11 @@ buildPythonApplication rec {
       url = "https://github.com/kovidgoyal/kitty/commit/d8ed42ae8e014d9abf9550a65ae203468f8bfa43.patch";
       sha256 = "sha256-Azgzqf5atW999FVn9rSGKMyZLsI692dYXhJPx07GBO0=";
     })
+    (fetchpatch {
+      name = "fix-build-with-non-framework-python-on-darwin.patch";
+      url = "https://github.com/kovidgoyal/kitty/commit/57cffc71b78244e6a9d49f4c9af24d1a88dbf537.patch";
+      sha256 = "sha256-1IGONSVCVo5SmLKw90eqxaI5Mwc764O1ur+aMsc7h94=";
+    })
   ];
 
   # Causes build failure due to warning
diff --git a/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-font-size/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-font-size/default.nix
index 88dae0a34ff57..7824fa2a814b8 100644
--- a/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-font-size/default.nix
+++ b/pkgs/applications/terminal-emulators/rxvt-unicode-plugins/urxvt-font-size/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, xrdb, xlsfonts }:
 
 stdenv.mkDerivation rec {
-  name = "urxvt-font-size";
+  pname = "urxvt-font-size";
   version = "1.3";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/terminal-emulators/termonad/default.nix b/pkgs/applications/terminal-emulators/termonad/default.nix
index 111d790c6955c..efddfa4546680 100644
--- a/pkgs/applications/terminal-emulators/termonad/default.nix
+++ b/pkgs/applications/terminal-emulators/termonad/default.nix
@@ -3,7 +3,8 @@
 let
   termonadEnv = haskellPackages.ghcWithPackages (self: [ self.termonad ] ++ packages self);
 in stdenv.mkDerivation {
-  name = "termonad-with-packages-${termonadEnv.version}";
+  pname = "termonad-with-packages";
+  inherit (termonadEnv) version;
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/applications/version-management/bitkeeper/default.nix b/pkgs/applications/version-management/bitkeeper/default.nix
deleted file mode 100644
index c185a4fb759b5..0000000000000
--- a/pkgs/applications/version-management/bitkeeper/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ lib, stdenv, fetchurl, perl, gperf, bison, groff
-, pkg-config, libXft, pcre
-, libtomcrypt, libtommath, lz4 }:
-
-stdenv.mkDerivation rec {
-  pname = "bitkeeper";
-  version = "7.3.1ce";
-
-  src = fetchurl {
-    url = "https://www.bitkeeper.org/downloads/${version}/bk-${version}.src.tar.gz";
-    sha256 = "0l6jwvcg4s1q00vb01hdv58jgv03l8x5mhjl73cwgfiff80zx147";
-  };
-
-  hardeningDisable = [ "fortify" ];
-
-  enableParallelBuilding = true;
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [
-    perl gperf bison groff libXft
-    pcre libtomcrypt libtommath lz4
-  ];
-
-  postPatch = ''
-        substituteInPlace port/unix_platform.sh \
-                --replace /bin/rm rm
-        substituteInPlace ./undo.c \
-                --replace /bin/cat cat
-  '';
-
-  sourceRoot = "bk-${version}/src";
-  buildPhase = ''
-    make -j6 V=1 p
-    make image
-  '';
-
-  installPhase = ''
-    ./utils/bk-* $out/bitkeeper
-    mkdir -p $out/bin
-    $out/bitkeeper/bk links $out/bin
-    chmod g-w $out
-  '';
-
-  meta = {
-    description     = "A distributed version control system";
-    longDescription = ''
-      BitKeeper is a fast, enterprise-ready, distributed SCM that
-      scales up to very large projects and down to tiny ones.
-    '';
-    homepage    = "https://www.bitkeeper.org/";
-    license     = lib.licenses.asl20;
-    platforms   = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ wscott thoughtpolice ];
-    broken      = true; # seems to fail on recent glibc versions
-  };
-}
diff --git a/pkgs/applications/version-management/dvc/default.nix b/pkgs/applications/version-management/dvc/default.nix
index a886f6b332cc6..936661e4e105f 100644
--- a/pkgs/applications/version-management/dvc/default.nix
+++ b/pkgs/applications/version-management/dvc/default.nix
@@ -1,6 +1,7 @@
 { lib
 , python3
 , fetchFromGitHub
+, fetchpatch
 , enableGoogle ? false
 , enableAWS ? false
 , enableAzure ? false
@@ -9,16 +10,38 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "dvc";
-  version = "2.9.3";
+  version = "2.9.5";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "iterative";
     repo = pname;
     rev = version;
-    hash = "sha256-nRlgo7Wjs7RgTUxoMYQh5YEsqiJtdWH2ex79rhXagAQ=";
+    hash = "sha256-MviiA0ja1IaxMPlqu2dhIGBcdEXiEvBYnK9731dihMg=";
   };
 
+  # make the patch apply
+  prePatch = ''
+    substituteInPlace setup.cfg \
+      --replace "scmrepo==0.0.7" "scmrepo==0.0.10"
+  '';
+
+  patches = [
+    ./dvc-daemon.patch
+    (fetchpatch {
+      url = "https://github.com/iterative/dvc/commit/ab54b5bdfcef3576b455a17670b8df27beb504ce.patch";
+      sha256 = "sha256-wzMK6Br7/+d3EEGpfPuQ6Trj8IPfehdUvOvX3HZlS+o=";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "grandalf==0.6" "grandalf>=0.6" \
+      --replace "scmrepo==0.0.13" "scmrepo"
+    substituteInPlace dvc/daemon.py \
+      --subst-var-by dvc "$out/bin/dcv"
+  '';
+
   nativeBuildInputs = with python3.pkgs; [
     setuptools-scm
     setuptools-scm-git-archive
@@ -73,15 +96,6 @@ python3.pkgs.buildPythonApplication rec {
     importlib-resources
   ];
 
-  patches = [ ./dvc-daemon.patch ];
-
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace "grandalf==0.6" "grandalf>=0.6"
-    substituteInPlace dvc/daemon.py \
-      --subst-var-by dvc "$out/bin/dcv"
-  '';
-
   # Tests require access to real cloud services
   doCheck = false;
 
diff --git a/pkgs/applications/version-management/dvc/dvc-daemon.patch b/pkgs/applications/version-management/dvc/dvc-daemon.patch
index 2263ce118dd4f..65ba630f3b80d 100644
--- a/pkgs/applications/version-management/dvc/dvc-daemon.patch
+++ b/pkgs/applications/version-management/dvc/dvc-daemon.patch
@@ -12,7 +12,7 @@ index 9854a0e1..fefdd613 100644
 -    file_path = os.path.abspath(inspect.stack()[0][1])
 -    env["PYTHONPATH"] = os.path.dirname(os.path.dirname(file_path))
 +    cmd = [ "@dvc@" , "daemon", "-q"] + args
-+    env = None
++    env = os.environ.copy()
      env[DVC_DAEMON] = "1"
  
      _spawn(cmd, env)
diff --git a/pkgs/applications/version-management/fnc/default.nix b/pkgs/applications/version-management/fnc/default.nix
new file mode 100644
index 0000000000000..1e234dea5e3e6
--- /dev/null
+++ b/pkgs/applications/version-management/fnc/default.nix
@@ -0,0 +1,40 @@
+{ lib, fetchurl, stdenv, zlib, ncurses, libiconv }:
+
+stdenv.mkDerivation rec {
+  pname = "fnc";
+  version = "0.10";
+
+  src = fetchurl {
+    url = "https://fnc.bsdbox.org/tarball/${version}/fnc-${version}.tar.gz";
+    sha256 = "1phqxh0afky7q2qmhgjlsq1awbv4254yd8wpzxlww4p7a57cp0lk";
+  };
+
+  buildInputs = [ libiconv ncurses zlib ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  preInstall = ''
+    mkdir -p $out/bin
+  '';
+
+  doInstallCheck = true;
+
+  installCheckPhase = ''
+    runHook preInstallCheck
+    test "$($out/bin/fnc --version)" = '${pname} ${version}'
+    runHook postInstallCheck
+  '';
+
+  meta = with lib; {
+    description = "Interactive ncurses browser for Fossil repositories";
+    longDescription = ''
+      An interactive ncurses browser for Fossil repositories.
+
+      fnc uses libfossil to create a fossil ui experience in the terminal.
+    '';
+    homepage = "https://fnc.bsdbox.org";
+    license = licenses.isc;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ abbe ];
+  };
+}
diff --git a/pkgs/applications/version-management/gerrit/default.nix b/pkgs/applications/version-management/gerrit/default.nix
index 20b8c3c04d1ce..ea785bab49bfb 100644
--- a/pkgs/applications/version-management/gerrit/default.nix
+++ b/pkgs/applications/version-management/gerrit/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gerrit";
-  version = "3.4.1";
+  version = "3.5.1";
 
   src = fetchurl {
     url = "https://gerrit-releases.storage.googleapis.com/gerrit-${version}.war";
-    sha256 = "sha256-pHomYKYpV60SIKLoST5y9i3FprMV1VGy+5GjhpRhBUo=";
+    sha256 = "3fb5de878b6470dc8ef65ce22f2709cb8baecb5f16d89497dfaa33a0f33f7920";
   };
 
   buildCommand = ''
diff --git a/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix b/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix
index 42ac2ed4508f4..7de53c7c541f1 100644
--- a/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix
@@ -1,50 +1,46 @@
 { lib, stdenv, fetchurl, jre, makeWrapper }:
 
-let
+stdenv.mkDerivation rec {
+  pname = "bfg-repo-cleaner";
   version = "1.13.0";
-  jarName = "bfg-${version}.jar";
-  mavenUrl = "mirror://maven/com/madgag/bfg/${version}/${jarName}";
-in
-  stdenv.mkDerivation {
-    inherit version jarName;
-
-    name = "bfg-repo-cleaner-${version}";
-
-    src = fetchurl {
-      url = mavenUrl;
-      sha256 = "1kn84rsvms1v5l1j2xgrk7dc7mnsmxkc6sqd94mnim22vnwvl8mz";
-    };
 
-    nativeBuildInputs = [ makeWrapper ];
-    buildInputs = [ jre ];
-
-    dontUnpack = true;
+  jarName = "bfg-${version}.jar";
 
-    installPhase = ''
-      mkdir -p $out/share/java
-      mkdir -p $out/bin
-      cp $src $out/share/java/$jarName
-      makeWrapper "${jre}/bin/java" $out/bin/bfg --add-flags "-cp $out/share/java/$jarName com.madgag.git.bfg.cli.Main"
+  src = fetchurl {
+    url = "mirror://maven/com/madgag/bfg/${version}/${jarName}";
+    sha256 = "1kn84rsvms1v5l1j2xgrk7dc7mnsmxkc6sqd94mnim22vnwvl8mz";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jre ];
+
+  dontUnpack = true;
+
+  installPhase = ''
+    mkdir -p $out/share/java
+    mkdir -p $out/bin
+    cp $src $out/share/java/$jarName
+    makeWrapper "${jre}/bin/java" $out/bin/bfg --add-flags "-cp $out/share/java/$jarName com.madgag.git.bfg.cli.Main"
+  '';
+
+  meta = with lib; {
+    homepage = "https://rtyley.github.io/bfg-repo-cleaner/";
+    # Descriptions taken with minor modification from the homepage of bfg-repo-cleaner
+    description = "Removes large or troublesome blobs in a git repository like git-filter-branch does, but faster";
+    longDescription = ''
+      The BFG is a simpler, faster alternative to git-filter-branch for
+      cleansing bad data out of your Git repository history, in particular removing
+      crazy big files and removing passwords, credentials, and other private data.
+
+      The git-filter-branch command is enormously powerful and can do things
+      that the BFG can't - but the BFG is much better for the tasks above, because
+      it's faster (10-720x), simpler (dedicated to just removing things), and
+      beautiful (can use Scala instead of bash to script customizations).
     '';
+    license = licenses.gpl3;
+    maintainers = [ maintainers.changlinli ];
+    platforms = platforms.unix;
+    downloadPage = "https://mvnrepository.com/artifact/com.madgag/bfg/${version}";
+  };
 
-    meta = with lib; {
-      homepage = "https://rtyley.github.io/bfg-repo-cleaner/";
-      # Descriptions taken with minor modification from the homepage of bfg-repo-cleaner
-      description = "Removes large or troublesome blobs in a git repository like git-filter-branch does, but faster";
-      longDescription = ''
-        The BFG is a simpler, faster alternative to git-filter-branch for
-        cleansing bad data out of your Git repository history, in particular removing
-        crazy big files and removing passwords, credentials, and other private data.
-
-        The git-filter-branch command is enormously powerful and can do things
-        that the BFG can't - but the BFG is much better for the tasks above, because
-        it's faster (10-720x), simpler (dedicated to just removing things), and
-        beautiful (can use Scala instead of bash to script customizations).
-      '';
-      license = licenses.gpl3;
-      maintainers = [ maintainers.changlinli ];
-      platforms = platforms.unix;
-      downloadPage = "https://mvnrepository.com/artifact/com.madgag/bfg/${version}";
-    };
-
-  }
+}
diff --git a/pkgs/applications/version-management/git-and-tools/cgit/common.nix b/pkgs/applications/version-management/git-and-tools/cgit/common.nix
index f0e3e4a29d817..d6b787315b8de 100644
--- a/pkgs/applications/version-management/git-and-tools/cgit/common.nix
+++ b/pkgs/applications/version-management/git-and-tools/cgit/common.nix
@@ -1,5 +1,5 @@
 { pname, version, src, gitSrc, buildInputs ? []
-, homepage, repo, description, maintainers
+, homepage, description, maintainers
 }:
 
 { lib, stdenv, openssl, zlib, asciidoc, libxml2, libxslt
@@ -70,7 +70,6 @@ stdenv.mkDerivation {
 
   meta = {
     inherit homepage description;
-    repositories.git = repo;
     license = lib.licenses.gpl2;
     platforms = lib.platforms.linux;
     maintainers = maintainers ++ (with lib.maintainers; [ qyliss ]);
diff --git a/pkgs/applications/version-management/git-and-tools/cgit/default.nix b/pkgs/applications/version-management/git-and-tools/cgit/default.nix
index 7d84b286d5f1f..f6a0af102303b 100644
--- a/pkgs/applications/version-management/git-and-tools/cgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/cgit/default.nix
@@ -20,7 +20,6 @@ callPackage (import ./common.nix rec {
   buildInputs = [ luajit ];
 
   homepage = "https://git.zx2c4.com/cgit/about/";
-  repo = "git://git.zx2c4.com/cgit";
   description = "Web frontend for git repositories";
   maintainers = with lib.maintainers; [ bjornfor ];
 }) {}
diff --git a/pkgs/applications/version-management/git-and-tools/cgit/pink.nix b/pkgs/applications/version-management/git-and-tools/cgit/pink.nix
index 2719bc1225301..75e99a06b1d82 100644
--- a/pkgs/applications/version-management/git-and-tools/cgit/pink.nix
+++ b/pkgs/applications/version-management/git-and-tools/cgit/pink.nix
@@ -18,7 +18,6 @@ callPackage (import ./common.nix rec {
   };
 
   homepage = "https://git.causal.agency/cgit-pink/about/";
-  repo = "https://git.causal.agency/cgit-pink";
   description = "cgit fork aiming for better maintenance";
   maintainers = with lib.maintainers; [ qyliss sternenseemann ];
 }) {}
diff --git a/pkgs/applications/version-management/git-and-tools/darcs-to-git/default.nix b/pkgs/applications/version-management/git-and-tools/darcs-to-git/default.nix
index f4b7d38bebcf9..895e4610f4fc0 100644
--- a/pkgs/applications/version-management/git-and-tools/darcs-to-git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/darcs-to-git/default.nix
@@ -1,13 +1,14 @@
-{ lib, stdenv, fetchgit, ruby, gnugrep, diffutils, git, darcs }:
+{ lib, stdenv, fetchFromGitHub, ruby, gnugrep, diffutils, git, darcs }:
 
 stdenv.mkDerivation {
   pname = "darcs-to-git";
   version = "2015-06-04";
 
-  src = fetchgit {
-    url = "git://github.com/purcell/darcs-to-git.git";
+  src = fetchFromGitHub {
+    owner = "purcell";
+    repo = "darcs-to-git";
     rev = "e5fee32495908fe0f7d700644c7b37347b7a0a5b";
-    sha256 = "0lxcx0x0m1cv2j4x9ykpjf6r2zg6lh5rya016x93vkmlzxm3f0ji";
+    sha256 = "sha256-UQI3av+0zj1SNwEonwuk5n2RjZN3+tSJFJuFCjrorFM=";
   };
 
   patchPhase = let
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 36b813f547e0f..3a66a4d8af7db 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.6.0";
+  version = "2.7.0";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-NvVm/deO4LSIl5TSziqsrGt9atCXjt4UZ/VJfmX3i4c=";
+    sha256 = "sha256-edlGJD+80k1ySpyNcKc5c2O0MX+S4fQgH5mwHQUxXM8=";
   };
 
-  vendorSha256 = "sha256-pBjg6WyD61+Bl3ttcpl/b9XoWBCi7cDvE8NPaZGu7Aw=";
+  vendorSha256 = "sha256-YLkNua0Pz0gVIYnWOzOlV5RuLBaoZ4l7l1Pf4QIfUVQ=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/version-management/git-and-tools/git-annex-utils/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex-utils/default.nix
index 7ad040a7c17ef..0ba747d72350c 100644
--- a/pkgs/applications/version-management/git-and-tools/git-annex-utils/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-annex-utils/default.nix
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
     rev = "531bb33";
     sha256 = "1sv7s2ykc840cjwbfn7ayy743643x9i1lvk4cd55w9l052xvzj65";
   };
-  buildInputs = [ autoconf automake libtool gmp ];
+  nativeBuildInputs = [ autoconf automake ];
+  buildInputs = [ libtool gmp ];
   preConfigure = "./autogen.sh";
 
   meta = {
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 8cedd24be052b..19f794e6c916f 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.9";
+  version = "0.3.10";
 
   src = fetchFromGitHub {
     owner = "arxanas";
     repo = "git-branchless";
     rev = "v${version}";
-    sha256 = "sha256-SEmIZy8ql1MxcFR6zeif03DVha/SRZHajVwt3QOBBYU=";
+    sha256 = "sha256-TLqAU1/olSS59Zeb+2m9Jq19EYTO1TnbKPYciHPKO2A=";
   };
 
-  cargoSha256 = "sha256-mKfPxU1JoN/xLdPdwy3vo1M0qF9ag0T4Ls4dfvHn6Pc=";
+  cargoSha256 = "sha256-sA4KWGW4bxGUkotTWHUcRqcoaUJsSUCTK8hUkKiRcnY=";
 
   nativeBuildInputs = [ pkg-config ];
 
@@ -39,8 +39,8 @@ rustPlatform.buildRustPackage rec {
   ];
 
   preCheck = ''
-    export PATH_TO_GIT=${git}/bin/git
-    export GIT_EXEC_PATH=$(${git}/bin/git --exec-path)
+    export TEST_GIT=${git}/bin/git
+    export TEST_GIT_EXEC_PATH=$(${git}/bin/git --exec-path)
   '';
   # FIXME: these tests deadlock when run in the Nix sandbox
   checkFlags = [
diff --git a/pkgs/applications/version-management/git-and-tools/git-dit/default.nix b/pkgs/applications/version-management/git-and-tools/git-dit/default.nix
deleted file mode 100644
index f1aeda1a5c7b5..0000000000000
--- a/pkgs/applications/version-management/git-and-tools/git-dit/default.nix
+++ /dev/null
@@ -1,58 +0,0 @@
-{ lib, stdenv
-, fetchFromGitHub
-, openssl_1_0_2
-, zlib
-, libssh
-, cmake
-, perl
-, pkg-config
-, rustPlatform
-, curl
-, libiconv
-, CoreFoundation
-, Security
-}:
-
-with rustPlatform;
-
-buildRustPackage rec {
-  pname = "git-dit";
-  version = "0.4.0";
-
-  src = fetchFromGitHub {
-    owner = "neithernut";
-    repo = "git-dit";
-    rev = "v${version}";
-    sha256 = "1sx6sc2dj3l61gbiqz8vfyhw5w4xjdyfzn1ixz0y8ipm579yc7a2";
-  };
-
-  cargoSha256 = "1vbcwl4aii0x4l8w9jhm70vi4s95jr138ly65jpkkv26rl6zjiph";
-
-  nativeBuildInputs = [
-    cmake
-    pkg-config
-    perl
-  ];
-
-  buildInputs = [
-    openssl_1_0_2
-    libssh
-    zlib
-  ] ++ lib.optionals (stdenv.isDarwin) [
-    curl
-    libiconv
-    CoreFoundation
-    Security
-  ];
-
-  meta = with lib; {
-    inherit (src.meta) homepage;
-    description = "Decentralized Issue Tracking for git";
-    # This has not had a release in years and its cargo vendored dependencies
-    # fail to compile. It also depends on an unsupported openssl:
-    # https://github.com/NixOS/nixpkgs/issues/77503
-    broken = true;
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ Profpatsch matthiasbeyer ];
-  };
-}
diff --git a/pkgs/applications/version-management/git-and-tools/git-secret/default.nix b/pkgs/applications/version-management/git-and-tools/git-secret/default.nix
index e3845af8926da..4c50836cfdb27 100644
--- a/pkgs/applications/version-management/git-and-tools/git-secret/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-secret/default.nix
@@ -1,14 +1,11 @@
 { stdenv, lib, fetchFromGitHub, makeWrapper, git, gnupg, gawk }:
 
-let
+stdenv.mkDerivation rec {
+  pname = "git-secret";
   version = "0.4.0";
-  repo = "git-secret";
-
-in stdenv.mkDerivation {
-  name = "${repo}-${version}";
 
   src = fetchFromGitHub {
-    inherit repo;
+    repo = "git-secret";
     owner = "sobolevn";
     rev = "v${version}";
     sha256 = "sha256-Mtuj+e/yCDr4XkmYkWUFJB3cqOT5yOMOq9P/QJV1S80=";
diff --git a/pkgs/applications/version-management/git-and-tools/git-team/default.nix b/pkgs/applications/version-management/git-and-tools/git-team/default.nix
new file mode 100644
index 0000000000000..3fac0dc9791b0
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-team/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+buildGoModule rec {
+  pname = "git-team";
+  version = "1.7.0";
+
+  src = fetchFromGitHub {
+    owner = "hekmekk";
+    repo = "git-team";
+    rev = "v${version}";
+    sha256 = "0nl5j64b61jw4bkf29y51svjbndmqqrqx96yaip4vjzj2dx9ywm4";
+  };
+
+  vendorSha256 = "sha256-xJMWPDuqoNtCCUnKuUvwlYztyrej1uZttC0NsDvYnXI=";
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    go run main.go --generate-man-page > ${pname}.1
+    installManPage ${pname}.1
+
+    # Currently only bash completions are provided
+    installShellCompletion --cmd git-team --bash <($out/bin/git-team completion bash)
+  '';
+
+  meta = with lib; {
+    description = "Command line interface for managing and enhancing git commit messages with co-authors";
+    homepage = "https://github.com/hekmekk/git-team";
+    license = licenses.mit;
+    maintainers = with maintainers; [ lockejan ];
+  };
+}
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 13da857b790ed..1f08cd26ef368 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -32,7 +32,9 @@ let
 in
 
 stdenv.mkDerivation {
-  pname = "git";
+  pname = "git"
+    + lib.optionalString svnSupport "-with-svn"
+    + lib.optionalString (!svnSupport && !guiSupport && !sendEmailSupport && !withManual && !pythonSupport && !withpcre2) "-minimal";
   inherit version;
 
   src = fetchurl {
@@ -166,8 +168,13 @@ stdenv.mkDerivation {
       cp -a contrib $out/share/git/
       mkdir -p $out/share/bash-completion/completions
       ln -s $out/share/git/contrib/completion/git-completion.bash $out/share/bash-completion/completions/git
-      mkdir -p $out/share/bash-completion/completions
       ln -s $out/share/git/contrib/completion/git-prompt.sh $out/share/bash-completion/completions/
+      # only readme, developed in another repo
+      rm -r contrib/hooks/multimail
+      mkdir -p $out/share/git-core/contrib
+      cp -a contrib/hooks/ $out/share/git-core/contrib/
+      substituteInPlace $out/share/git-core/contrib/hooks/pre-auto-gc-battery \
+        --replace ' grep' ' ${gnugrep}/bin/grep' \
 
       # grep is a runtime dependency, need to patch so that it's found
       substituteInPlace $out/libexec/git-core/git-sh-setup \
diff --git a/pkgs/applications/version-management/git-and-tools/hut/default.nix b/pkgs/applications/version-management/git-and-tools/hut/default.nix
index ad0c02aa2e0d6..49e5fa675a948 100644
--- a/pkgs/applications/version-management/git-and-tools/hut/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/hut/default.nix
@@ -2,21 +2,20 @@
 , buildGoModule
 , fetchFromSourcehut
 , scdoc
-, unstableGitUpdater
 }:
 
-buildGoModule {
+buildGoModule rec {
   pname = "hut";
-  version = "unstable-2022-03-02";
+  version = "0.1.0";
 
   src = fetchFromSourcehut {
     owner = "~emersion";
     repo = "hut";
-    rev = "55ad2fbd9ceeeb9e7dc203c15476fa785f1209e0";
-    sha256 = "sha256-j2IVwCm7iq3JKccPL8noRBhqw+V+4qfcpAwV65xhZk0=";
+    rev = "v${version}";
+    sha256 = "sha256-2YUrDPulpLQQGw31nEasHoQ/AppECg7acwwqu6JDT5U=";
   };
 
-  vendorSha256 = "sha256-zdQvk0M1a+Y90pnhqIpKxLJnlVJqMoSycewTep2Oux4=";
+  vendorSha256 = "sha256-EmokL3JlyM6C5/NOarCAJuqNsDO2tgHwqQdv0rAk+Xk=";
 
   nativeBuildInputs = [
     scdoc
@@ -32,8 +31,6 @@ buildGoModule {
     make $makeFlags install
   '';
 
-  passthru.updateScript = unstableGitUpdater { };
-
   meta = with lib; {
     homepage = "https://sr.ht/~emersion/hut/";
     description = "A CLI tool for Sourcehut / sr.ht";
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index f08c88ab2fa55..840937c190f00 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -16,12 +16,12 @@ with lib;
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.16.4";
+  version = "1.16.5";
 
   # not fetching directly from the git repo, because that lacks several vendor files for the web UI
   src = fetchurl {
     url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
-    sha256 = "sha256-7zlreX05pkhn381FMgQ8Nj3OP+BUr6o3u5f4ouo/Khg=";
+    sha256 = "sha256-2aqy6DV8oaIur/syg1bk41Wo+FGk3m+05+tUyoDwGHs=";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/version-management/github-desktop/default.nix b/pkgs/applications/version-management/github-desktop/default.nix
index 83991407fd419..6017d105fed71 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 = "2.9.9";
+  version = "2.9.12";
 
   src = fetchurl {
     url = "https://github.com/shiftkey/desktop/releases/download/release-${version}-linux1/GitHubDesktop-linux-${version}-linux1.deb";
-    sha256 = "sha256-LMKOxQR3Bgw00LnKqAe2hq+eASgwC7y0cxNSSt/sjWA=";
+    sha256 = "sha256-tr1u6q7sHI1Otor53d1F7J0f9eV9tKtLZx8+40I16y8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index 73f84f7e9eff6..dbae269aab8c5 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,14 +1,14 @@
 {
-  "version": "14.8.4",
-  "repo_hash": "0ra4d324all26crz84iys9xb40ykpiaqj4z2790zaw1s45wakmgj",
-  "yarn_hash": "106js1j6wii2axh1dxvlfr7mqhvsnsb5qs0danp9c3h1ihd4nz91",
+  "version": "14.9.2",
+  "repo_hash": "sha256-+tZN6isOb7LtUVwGshx9TP+P42sftJmQGVk1L9UJqcY=",
+  "yarn_hash": "1mya6y0cb9x8491gpf7f1i7qi2rb0l7d9g5yzj44vvy3mb4rcqaj",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v14.8.4-ee",
+  "rev": "v14.9.2-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "14.8.4",
-    "GITLAB_PAGES_VERSION": "1.54.0",
-    "GITLAB_SHELL_VERSION": "13.23.2",
-    "GITLAB_WORKHORSE_VERSION": "14.8.4"
+    "GITALY_SERVER_VERSION": "14.9.2",
+    "GITLAB_PAGES_VERSION": "1.56.1",
+    "GITLAB_SHELL_VERSION": "13.24.0",
+    "GITLAB_WORKHORSE_VERSION": "14.9.2"
   }
 }
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index 877e0ace9fa27..cd76768aee495 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -11,7 +11,7 @@ let
     gemdir = ./.;
   };
 
-  version = "14.8.4";
+  version = "14.9.2";
   gitaly_package = "gitlab.com/gitlab-org/gitaly/v${lib.versions.major version}";
 in
 
@@ -23,10 +23,10 @@ buildGoModule {
     owner = "gitlab-org";
     repo = "gitaly";
     rev = "v${version}";
-    sha256 = "sha256-3doXqYj1XsOifAr78ds5ioa6gUfw8uyUwn7JzqlMVSE=";
+    sha256 = "sha256-eEo+WZ2N/5bLfvwJCNf9qt+h/V5dIVqCjVJeomzw/Ps=";
   };
 
-  vendorSha256 = "sha256-Qw9/nlo1eB5dPcldXe9doy4QA4DDVUDad3o4kbdNu34=";
+  vendorSha256 = "sha256-kEjgWA/Task23PScPYrqdDu3vdVR/FJl7OilUug/Bds=";
 
   passthru = {
     inherit rubyEnv;
@@ -41,7 +41,7 @@ buildGoModule {
 
   postInstall = ''
     mkdir -p $ruby
-    cp -rv $src/ruby/{bin,lib,proto,git-hooks} $ruby
+    cp -rv $src/ruby/{bin,lib,proto} $ruby
     mv $out/bin/gitaly-git2go $out/bin/gitaly-git2go-${version}
   '';
 
diff --git a/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
index 99ad72a26644f..971ef2af955c1 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
@@ -2,12 +2,12 @@
 
 buildGoModule rec {
   pname = "gitlab-shell";
-  version = "13.23.2";
+  version = "13.24.0";
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-shell";
     rev = "v${version}";
-    sha256 = "sha256-aee+Tn81o1iK1Xm5et6lKUN8//lyGh3NGs96Mwg4nFc=";
+    sha256 = "sha256-/SH1YNmZr/NuCvyL6tmyTj1C2LUuxldeHwmJHWKPz2M=";
   };
 
   buildInputs = [ ruby ];
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index 3533bccea987a..9fcecc53a0709 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 = "14.8.4";
+  version = "14.9.2";
 
   src = fetchFromGitLab {
     owner = data.owner;
@@ -16,7 +16,7 @@ buildGoModule rec {
 
   sourceRoot = "source/workhorse";
 
-  vendorSha256 = "sha256-ps/MjNY2woHrfcsNZTurnO2TbasWdS3LiuPUfVD2Ypc=";
+  vendorSha256 = "sha256-ubuMuO8tDjdVZWehsmsJqUgvmySIBJ15D9GHZFzApFw=";
   buildInputs = [ git ];
   ldflags = [ "-X main.Version=${version}" ];
   doCheck = false;
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
index 4ae8b33569f28..ae8a8e0124142 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
@@ -11,6 +11,8 @@ gem 'responders', '~> 3.0'
 
 gem 'sprockets', '~> 3.7.0'
 
+gem 'view_component', '~> 2.50.0'
+
 # Default values for AR models
 gem 'default_value_for', '~> 3.4.0'
 
@@ -65,7 +67,7 @@ gem 'akismet', '~> 3.0'
 gem 'invisible_captcha', '~> 1.1.0'
 
 # Two-factor authentication
-gem 'devise-two-factor', '~> 4.0.0'
+gem 'devise-two-factor', '~> 4.0.2'
 gem 'rqrcode-rails3', '~> 0.1.7'
 gem 'attr_encrypted', '~> 3.1.0'
 gem 'u2f', '~> 0.2.1'
@@ -153,7 +155,7 @@ gem 'html-pipeline', '~> 2.13.2'
 gem 'deckar01-task_list', '2.3.1'
 gem 'gitlab-markup', '~> 1.8.0'
 gem 'github-markup', '~> 1.7.0', require: 'github/markup'
-gem 'commonmarker', '~> 0.23.2'
+gem 'commonmarker', '~> 0.23.4'
 gem 'kramdown', '~> 2.3.1'
 gem 'RedCloth', '~> 4.3.2'
 gem 'rdoc', '~> 6.3.2'
@@ -290,7 +292,7 @@ gem 'autoprefixer-rails', '10.2.5.1'
 gem 'terser', '1.0.2'
 
 gem 'addressable', '~> 2.8'
-gem 'tanuki_emoji', '~> 0.5'
+gem 'tanuki_emoji', '~> 0.6'
 gem 'gon', '~> 6.4.0'
 gem 'request_store', '~> 1.5'
 gem 'base32', '~> 0.3.0'
@@ -302,6 +304,9 @@ gem 'rack-attack', '~> 6.3.0'
 
 # Sentry integration
 gem 'sentry-raven', '~> 3.1'
+gem 'sentry-ruby', '~> 5.1.1'
+gem 'sentry-rails', '~> 5.1.1'
+gem 'sentry-sidekiq', '~> 5.1.1'
 
 # PostgreSQL query parsing
 #
@@ -374,7 +379,7 @@ group :development, :test do
   gem 'spring', '~> 2.1.0'
   gem 'spring-commands-rspec', '~> 1.0.4'
 
-  gem 'gitlab-styles', '~> 6.6.0', require: false
+  gem 'gitlab-styles', '~> 7.0.0', require: false
 
   gem 'haml_lint', '~> 0.36.0', require: false
   gem 'bundler-audit', '~> 0.7.0.1', require: false
@@ -393,14 +398,16 @@ group :development, :test do
   gem 'parallel', '~> 1.19', require: false
 
   gem 'test_file_finder', '~> 0.1.3'
+
+  gem 'sigdump', '~> 0.2.4', require: 'sigdump/setup'
 end
 
 group :development, :test, :danger do
-  gem 'gitlab-dangerfiles', '~> 2.8.0', require: false
+  gem 'gitlab-dangerfiles', '~> 2.11.0', require: false
 end
 
 group :development, :test, :coverage do
-  gem 'simplecov', '~> 0.18.5', require: false
+  gem 'simplecov', '~> 0.21', require: false
   gem 'simplecov-lcov', '~> 0.8.0', require: false
   gem 'simplecov-cobertura', '~> 1.3.1', require: false
   gem 'undercover', '~> 0.4.4', require: false
@@ -418,6 +425,7 @@ group :test do
   gem 'fuubar', '~> 2.2.0'
   gem 'rspec-retry', '~> 0.6.1'
   gem 'rspec_profiling', '~> 0.0.6'
+  gem 'rspec-benchmark', '~> 0.6.0'
   gem 'rspec-parameterized', require: false
 
   gem 'capybara', '~> 3.35.3'
@@ -473,7 +481,7 @@ gem 'ssh_data', '~> 1.2'
 gem 'spamcheck', '~> 0.1.0'
 
 # Gitaly GRPC protocol definitions
-gem 'gitaly', '~> 14.8.0.pre.rc1'
+gem 'gitaly', '~> 14.9.0.pre.rc4'
 
 # KAS GRPC protocol definitions
 gem 'kas-grpc', '~> 0.0.2'
@@ -534,4 +542,4 @@ gem 'ipaddress', '~> 0.8.3'
 
 gem 'parslet', '~> 1.8'
 
-gem 'ipynbdiff', '0.3.8'
+gem 'ipynbdiff', '0.4.4'
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
index a7f75fb0e2699..658d79dfcc663 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
@@ -132,8 +132,11 @@ GEM
     bcrypt (3.1.16)
     benchmark (0.1.1)
     benchmark-ips (2.3.0)
+    benchmark-malloc (0.2.0)
     benchmark-memory (0.1.2)
       memory_profiler (~> 0.9)
+    benchmark-perf (0.6.0)
+    benchmark-trend (0.4.0)
     better_errors (2.9.1)
       coderay (>= 1.0.0)
       erubi (>= 1.0.0)
@@ -192,7 +195,7 @@ GEM
       open4 (~> 1.3)
     coderay (1.1.3)
     colored2 (3.1.2)
-    commonmarker (0.23.2)
+    commonmarker (0.23.4)
     concurrent-ruby (1.1.9)
     connection_pool (2.2.5)
     contracts (0.11.0)
@@ -214,7 +217,7 @@ GEM
     css_parser (1.7.0)
       addressable
     daemons (1.3.1)
-    danger (8.4.2)
+    danger (8.4.5)
       claide (~> 1.0)
       claide-plugins (>= 0.9.2)
       colored2 (~> 3.1)
@@ -231,6 +234,7 @@ GEM
       danger
       gitlab (~> 4.2, >= 4.2.0)
     database_cleaner (1.7.0)
+    dead_end (3.1.1)
     deckar01-task_list (2.3.1)
       html-pipeline
     declarative (0.0.20)
@@ -240,13 +244,15 @@ GEM
       activerecord (>= 3.2.0, < 7.0)
     deprecation_toolkit (1.5.1)
       activesupport (>= 4.2)
-    derailed_benchmarks (1.8.1)
+    derailed_benchmarks (2.1.1)
       benchmark-ips (~> 2)
+      dead_end
       get_process_mem (~> 0)
       heapy (~> 0)
-      memory_profiler (~> 0)
-      mini_histogram (>= 0.2.1)
+      memory_profiler (>= 0, < 2)
+      mini_histogram (>= 0.3.0)
       rack (>= 1)
+      rack-test
       rake (> 10, < 14)
       ruby-statistics (>= 2.1)
       thor (>= 0.19, < 2)
@@ -257,18 +263,18 @@ GEM
       railties (>= 4.1.0)
       responders
       warden (~> 1.2.3)
-    devise-two-factor (4.0.0)
-      activesupport (< 6.2)
+    devise-two-factor (4.0.2)
+      activesupport (< 7.1)
       attr_encrypted (>= 1.3, < 4, != 2)
       devise (~> 4.0)
-      railties (< 6.2)
+      railties (< 7.1)
       rotp (~> 6.0)
     diff-lcs (1.4.4)
     diff_match_patch (0.1.0)
     diffy (3.3.0)
     discordrb-webhooks (3.4.2)
       rest-client (>= 2.0.0)
-    docile (1.3.2)
+    docile (1.4.0)
     domain_name (0.5.20190701)
       unf (>= 0.0.5, < 1.0.0)
     doorkeeper (5.5.0.rc2)
@@ -365,7 +371,7 @@ GEM
     fast_blank (1.0.0)
     fast_gettext (2.1.0)
     ffaker (2.10.0)
-    ffi (1.15.3)
+    ffi (1.15.5)
     ffi-compiler (1.0.1)
       ffi (>= 1.0.0)
       rake
@@ -428,7 +434,7 @@ GEM
       ruby-progressbar (~> 1.4)
     fuzzyurl (0.9.0)
     gemoji (3.0.1)
-    get_process_mem (0.2.5)
+    get_process_mem (0.2.7)
       ffi (~> 1.0)
     gettext (3.3.6)
       locale (>= 2.0.5)
@@ -442,7 +448,7 @@ GEM
       rails (>= 3.2.0)
     git (1.7.0)
       rchardet (~> 1.8)
-    gitaly (14.8.0.pre.rc1)
+    gitaly (14.9.0.pre.rc4)
       grpc (~> 1.0)
     github-markup (1.7.0)
     gitlab (4.16.1)
@@ -450,8 +456,8 @@ GEM
       terminal-table (~> 1.5, >= 1.5.1)
     gitlab-chronic (0.10.5)
       numerizer (~> 0.2)
-    gitlab-dangerfiles (2.8.0)
-      danger (>= 8.3.1)
+    gitlab-dangerfiles (2.11.0)
+      danger (>= 8.4.5)
       danger-gitlab (>= 8.0.0)
     gitlab-experiment (0.7.0)
       activesupport (>= 3.0)
@@ -488,7 +494,7 @@ GEM
       openid_connect (~> 1.2)
     gitlab-sidekiq-fetcher (0.8.0)
       sidekiq (~> 6.1)
-    gitlab-styles (6.6.0)
+    gitlab-styles (7.0.0)
       rubocop (~> 0.91, >= 0.91.1)
       rubocop-gitlab-security (~> 0.1.1)
       rubocop-graphql (~> 0.10)
@@ -632,7 +638,7 @@ GEM
       mime-types (~> 3.0)
       multi_xml (>= 0.5.2)
     httpclient (2.8.3)
-    i18n (1.9.1)
+    i18n (1.10.0)
       concurrent-ruby (~> 1.0)
     i18n_data (0.8.0)
     icalendar (2.4.1)
@@ -641,9 +647,9 @@ GEM
     invisible_captcha (1.1.0)
       rails (>= 4.2)
     ipaddress (0.8.3)
-    ipynbdiff (0.3.8)
-      diffy (= 3.3.0)
-      json (= 2.5.1)
+    ipynbdiff (0.4.4)
+      diffy (~> 3.3)
+      json (~> 2.5, >= 2.5.1)
     jaeger-client (1.1.0)
       opentracing (~> 0.3)
       thrift
@@ -1052,6 +1058,11 @@ GEM
       rspec-core (~> 3.10.0)
       rspec-expectations (~> 3.10.0)
       rspec-mocks (~> 3.10.0)
+    rspec-benchmark (0.6.0)
+      benchmark-malloc (~> 0.2)
+      benchmark-perf (~> 0.6)
+      benchmark-trend (~> 0.4)
+      rspec (>= 3.0)
     rspec-core (3.10.1)
       rspec-support (~> 3.10.0)
     rspec-expectations (3.10.1)
@@ -1097,7 +1108,7 @@ GEM
       parser (>= 2.7.1.5)
     rubocop-gitlab-security (0.1.1)
       rubocop (>= 0.51)
-    rubocop-graphql (0.10.3)
+    rubocop-graphql (0.13.0)
       rubocop (>= 0.87, < 2)
     rubocop-performance (1.9.2)
       rubocop (>= 0.90.0, < 2.0)
@@ -1118,7 +1129,7 @@ GEM
     ruby-saml (1.13.0)
       nokogiri (>= 1.10.5)
       rexml
-    ruby-statistics (2.1.2)
+    ruby-statistics (3.0.0)
     ruby2_keywords (0.0.4)
     ruby_parser (3.15.0)
       sexp_processor (~> 4.9)
@@ -1156,8 +1167,19 @@ GEM
     selenium-webdriver (3.142.7)
       childprocess (>= 0.5, < 4.0)
       rubyzip (>= 1.2.2)
+    sentry-rails (5.1.1)
+      railties (>= 5.0)
+      sentry-ruby-core (~> 5.1.1)
     sentry-raven (3.1.2)
       faraday (>= 1.0)
+    sentry-ruby (5.1.1)
+      concurrent-ruby (~> 1.0, >= 1.0.2)
+      sentry-ruby-core (= 5.1.1)
+    sentry-ruby-core (5.1.1)
+      concurrent-ruby
+    sentry-sidekiq (5.1.1)
+      sentry-ruby-core (~> 5.1.1)
+      sidekiq (>= 3.0)
     set (1.0.1)
     settingslogic (2.0.9)
     sexp_processor (4.15.1)
@@ -1171,19 +1193,22 @@ GEM
     sidekiq-cron (1.2.0)
       fugit (~> 1.1)
       sidekiq (>= 4.2.1)
+    sigdump (0.2.4)
     signet (0.14.0)
       addressable (~> 2.3)
       faraday (>= 0.17.3, < 2.0)
       jwt (>= 1.5, < 3.0)
       multi_json (~> 1.10)
     simple_po_parser (1.1.2)
-    simplecov (0.18.5)
+    simplecov (0.21.2)
       docile (~> 1.1)
       simplecov-html (~> 0.11)
+      simplecov_json_formatter (~> 0.1)
     simplecov-cobertura (1.3.1)
       simplecov (~> 0.8)
     simplecov-html (0.12.3)
     simplecov-lcov (0.8.0)
+    simplecov_json_formatter (0.1.4)
     sixarm_ruby_unaccent (1.2.0)
     slack-messenger (2.3.4)
     snowplow-tracker (0.6.1)
@@ -1242,7 +1267,7 @@ GEM
     sys-filesystem (1.4.3)
       ffi (~> 1.1)
     sysexits (1.2.0)
-    tanuki_emoji (0.5.0)
+    tanuki_emoji (0.6.0)
     temple (0.8.2)
     terminal-table (1.8.0)
       unicode-display_width (~> 1.1, >= 1.1.1)
@@ -1256,7 +1281,7 @@ GEM
       daemons (~> 1.0, >= 1.0.9)
       eventmachine (~> 1.0, >= 1.0.4)
       rack (>= 1, < 3)
-    thor (1.1.0)
+    thor (1.2.1)
     thrift (0.14.0)
     tilt (2.0.10)
     timecop (0.9.1)
@@ -1330,6 +1355,9 @@ GEM
       activerecord (>= 3.0)
       activesupport (>= 3.0)
     version_sorter (2.2.4)
+    view_component (2.50.0)
+      activesupport (>= 5.0.0, < 8.0)
+      method_source (~> 1.0)
     vmstat (2.3.0)
     warden (1.2.8)
       rack (>= 2.0.6)
@@ -1408,7 +1436,7 @@ DEPENDENCIES
   capybara-screenshot (~> 1.0.22)
   carrierwave (~> 1.3)
   charlock_holmes (~> 0.7.7)
-  commonmarker (~> 0.23.2)
+  commonmarker (~> 0.23.4)
   concurrent-ruby (~> 1.1)
   connection_pool (~> 2.0)
   countries (~> 3.0)
@@ -1422,7 +1450,7 @@ DEPENDENCIES
   derailed_benchmarks
   device_detector
   devise (~> 4.7.2)
-  devise-two-factor (~> 4.0.0)
+  devise-two-factor (~> 4.0.2)
   diff_match_patch (~> 0.1.0)
   diffy (~> 3.3)
   discordrb-webhooks (~> 3.4)
@@ -1456,10 +1484,10 @@ DEPENDENCIES
   gettext (~> 3.3)
   gettext_i18n_rails (~> 1.8.0)
   gettext_i18n_rails_js (~> 1.3)
-  gitaly (~> 14.8.0.pre.rc1)
+  gitaly (~> 14.9.0.pre.rc4)
   github-markup (~> 1.7.0)
   gitlab-chronic (~> 0.10.5)
-  gitlab-dangerfiles (~> 2.8.0)
+  gitlab-dangerfiles (~> 2.11.0)
   gitlab-experiment (~> 0.7.0)
   gitlab-fog-azure-rm (~> 1.2.0)
   gitlab-labkit (~> 0.22.0)
@@ -1470,7 +1498,7 @@ DEPENDENCIES
   gitlab-net-dns (~> 0.9.1)
   gitlab-omniauth-openid-connect (~> 0.9.0)
   gitlab-sidekiq-fetcher (= 0.8.0)
-  gitlab-styles (~> 6.6.0)
+  gitlab-styles (~> 7.0.0)
   gitlab_chronic_duration (~> 0.10.6.2)
   gitlab_omniauth-ldap (~> 2.1.1)
   gon (~> 6.4.0)
@@ -1500,7 +1528,7 @@ DEPENDENCIES
   icalendar
   invisible_captcha (~> 1.1.0)
   ipaddress (~> 0.8.3)
-  ipynbdiff (= 0.3.8)
+  ipynbdiff (= 0.4.4)
   jira-ruby (~> 2.1.4)
   js_regex (~> 3.7)
   json (~> 2.5.1)
@@ -1588,6 +1616,7 @@ DEPENDENCIES
   rexml (~> 3.2.5)
   rouge (~> 3.27.0)
   rqrcode-rails3 (~> 0.1.7)
+  rspec-benchmark (~> 0.6.0)
   rspec-parameterized
   rspec-rails (~> 5.0.1)
   rspec-retry (~> 0.6.1)
@@ -1606,13 +1635,17 @@ DEPENDENCIES
   sd_notify (~> 0.1.0)
   seed-fu (~> 2.3.7)
   selenium-webdriver (~> 3.142)
+  sentry-rails (~> 5.1.1)
   sentry-raven (~> 3.1)
+  sentry-ruby (~> 5.1.1)
+  sentry-sidekiq (~> 5.1.1)
   settingslogic (~> 2.0.9)
   shoulda-matchers (~> 4.0.1)
   sidekiq (~> 6.4)
   sidekiq-cron (~> 1.2)
+  sigdump (~> 0.2.4)
   simple_po_parser (~> 1.1.2)
-  simplecov (~> 0.18.5)
+  simplecov (~> 0.21)
   simplecov-cobertura (~> 1.3.1)
   simplecov-lcov (~> 0.8.0)
   slack-messenger (~> 2.3.4)
@@ -1627,7 +1660,7 @@ DEPENDENCIES
   stackprof (~> 0.2.15)
   state_machines-activerecord (~> 0.8.0)
   sys-filesystem (~> 1.4.3)
-  tanuki_emoji (~> 0.5)
+  tanuki_emoji (~> 0.6)
   terser (= 1.0.2)
   test-prof (~> 1.0.7)
   test_file_finder (~> 0.1.3)
@@ -1644,6 +1677,7 @@ DEPENDENCIES
   valid_email (~> 0.1)
   validates_hostname (~> 1.0.11)
   version_sorter (~> 2.2.4)
+  view_component (~> 2.50.0)
   vmstat (~> 2.3.0)
   warning (~> 1.2.0)
   webauthn (~> 2.3)
@@ -1653,4 +1687,4 @@ DEPENDENCIES
   yajl-ruby (~> 1.4.1)
 
 BUNDLED WITH
-   2.3.6
+   2.3.9
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
index 0a2d8394e0076..cc88cbbbab5b4 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
@@ -499,6 +499,16 @@
     };
     version = "2.3.0";
   };
+  benchmark-malloc = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0svyac8alxbmip6b9rp34wq5lcimdaapjkaqdw1385i66l28ziip";
+      type = "gem";
+    };
+    version = "0.2.0";
+  };
   benchmark-memory = {
     dependencies = ["memory_profiler"];
     groups = ["default"];
@@ -510,6 +520,26 @@
     };
     version = "0.1.2";
   };
+  benchmark-perf = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "08cngwnwk2h6cdxx3dyckxcg7d0yi3pm83c26kfzkq1xkyah2azy";
+      type = "gem";
+    };
+    version = "0.6.0";
+  };
+  benchmark-trend = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "10axhj80jan0b7c77hm0aj2yxv0dh9clfy4pppxvxfj3yjlh4nny";
+      type = "gem";
+    };
+    version = "0.4.0";
+  };
   better_errors = {
     dependencies = ["coderay" "erubi" "rack"];
     groups = ["development"];
@@ -784,10 +814,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sshs8mvjgk73sfz3bi9apq0p99kfj7n9bg1cyldl4yyy2z05prs";
+      sha256 = "1kn7x7smqsk0x2iq17dbbaay0qimmgza8wbdlrs66dvn0l2wpncm";
       type = "gem";
     };
-    version = "0.23.2";
+    version = "0.23.4";
   };
   concurrent-ruby = {
     groups = ["default" "development" "test"];
@@ -921,10 +951,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07mxkgksgilfipd97rgfhx7c421j1fx7rk6lf0k18bkccyg1r8vn";
+      sha256 = "1bmbqxscz0whc3kf5622ffp83k96h0vx71bhb5rzi3zzmg6b4vkl";
       type = "gem";
     };
-    version = "8.4.2";
+    version = "8.4.5";
   };
   danger-gitlab = {
     dependencies = ["danger" "gitlab"];
@@ -947,6 +977,16 @@
     };
     version = "1.7.0";
   };
+  dead_end = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nrg9cwy21iwzl1djp1hamy24q3pfhvvrjqi9q0bwj81gizxy48h";
+      type = "gem";
+    };
+    version = "3.1.1";
+  };
   deckar01-task_list = {
     dependencies = ["html-pipeline"];
     groups = ["default"];
@@ -1011,15 +1051,15 @@
     version = "1.5.1";
   };
   derailed_benchmarks = {
-    dependencies = ["benchmark-ips" "get_process_mem" "heapy" "memory_profiler" "mini_histogram" "rack" "rake" "ruby-statistics" "thor"];
+    dependencies = ["benchmark-ips" "dead_end" "get_process_mem" "heapy" "memory_profiler" "mini_histogram" "rack" "rack-test" "rake" "ruby-statistics" "thor"];
     groups = ["test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05nryqr18w61dyk9amajh7chn07zxardxnywayyis72kmd8f9q29";
+      sha256 = "1cxaqvfhm8xpv3hvpwn7y4g5315zzf5gsdffdkm1bisjviwvmc15";
       type = "gem";
     };
-    version = "1.8.1";
+    version = "2.1.1";
   };
   device_detector = {
     groups = ["default"];
@@ -1048,10 +1088,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "148pfr6g8dwikdq3994gsid2a3n6p5h4z1a1dzh1898shr5f9znc";
+      sha256 = "04f5rb8fg4cvzm32v413z3h53wc0fgxg927q8rqd546hdrlx4j35";
       type = "gem";
     };
-    version = "4.0.0";
+    version = "4.0.2";
   };
   diff-lcs = {
     groups = ["default" "development" "test"];
@@ -1095,14 +1135,14 @@
     version = "3.4.2";
   };
   docile = {
-    groups = ["default" "development" "test"];
+    groups = ["coverage" "default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qrwiyagxzl8zlx3dafb0ay8l14ib7imb2rsmx70i5cp420v8gif";
+      sha256 = "1lxqxgq71rqwj1lpl9q1mbhhhhhhdkkj7my341f2889pwayk85sz";
       type = "gem";
     };
-    version = "1.3.2";
+    version = "1.4.0";
   };
   domain_name = {
     dependencies = ["unf"];
@@ -1594,10 +1634,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wgvaclp4h9y8zkrgz8p2hqkrgr4j7kz0366mik0970w532cbmcq";
+      sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg";
       type = "gem";
     };
-    version = "1.15.3";
+    version = "1.15.5";
   };
   ffi-compiler = {
     dependencies = ["ffi" "rake"];
@@ -1817,14 +1857,14 @@
   };
   get_process_mem = {
     dependencies = ["ffi"];
-    groups = ["default" "puma" "unicorn"];
+    groups = ["default" "puma" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1q7pivp9z9pdxc2ha32q7x9zgqy8m9jf87g6n5mvi5l6knxya8sh";
+      sha256 = "1fkyyyxjcx4iigm8vhraa629k2lxa1npsv4015y82snx84v3rzaa";
       type = "gem";
     };
-    version = "0.2.5";
+    version = "0.2.7";
   };
   gettext = {
     dependencies = ["locale" "text"];
@@ -1876,10 +1916,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0dl80qvyl1jbcc1iabpja3pnsrfag92h25c2r3vqn3bd0x9q4iwc";
+      sha256 = "13yq0ln40iy0wjapdg5phkqgr2bbdfk3xccyr1828yxpgkd44716";
       type = "gem";
     };
-    version = "14.8.0.pre.rc1";
+    version = "14.9.0.pre.rc4";
   };
   github-markup = {
     groups = ["default"];
@@ -1919,10 +1959,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xd7sgl5iwxq2mvx7ql1wpciqrnj2z1ycjxm5ddrdi4kcl9f94z4";
+      sha256 = "1in56r2mdi6ghwx4nxvfihb2sg73xhnpw0w42wc5f57wwy6m1s24";
       type = "gem";
     };
-    version = "2.8.0";
+    version = "2.11.0";
   };
   gitlab-experiment = {
     dependencies = ["activesupport" "request_store"];
@@ -2036,10 +2076,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xs7v0sj3j4d5yflfn8n5azh5qwxsrc432q7v4nckg9irwqj99js";
+      sha256 = "10fmvx2vx2v0mbwv5d4wcpc2iyp5y8lwxn9hjpzkk5bvxkk4c493";
       type = "gem";
     };
-    version = "6.6.0";
+    version = "7.0.0";
   };
   gitlab_chronic_duration = {
     dependencies = ["numerizer"];
@@ -2520,10 +2560,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nancdgq51wk3c1pkxps0rkjsfdwnkx60hzkm947m5rzsz8b2sw8";
+      sha256 = "0b2qyvnk4yynlg17ymkq4g5xgr275637fhl1mjh0valw3cb1fhhg";
       type = "gem";
     };
-    version = "1.9.1";
+    version = "1.10.0";
   };
   i18n_data = {
     groups = ["default"];
@@ -2583,10 +2623,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0raj4xwp2dz1xrzcpqqdp5ygfpjdy7jx28ziqg9f73hf850j90d1";
+      sha256 = "0cgrr3pc0y11gas6k2js33qghj7rpdh99vavda712wbq3hz42jx2";
       type = "gem";
     };
-    version = "0.3.8";
+    version = "0.4.4";
   };
   jaeger-client = {
     dependencies = ["opentracing" "thrift"];
@@ -4468,6 +4508,17 @@
     };
     version = "3.10.0";
   };
+  rspec-benchmark = {
+    dependencies = ["benchmark-malloc" "benchmark-perf" "benchmark-trend" "rspec"];
+    groups = ["test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1kyn7p409n75ikb7z9v3dbzjyyinkwi88f66alj9lnf2gssss50h";
+      type = "gem";
+    };
+    version = "0.6.0";
+  };
   rspec-core = {
     dependencies = ["rspec-support"];
     groups = ["default" "development" "test"];
@@ -4605,10 +4656,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hvm17hm7xjqcfn70c7h3rrz2y2mrazqmkp5ains08j0zd39x7rh";
+      sha256 = "18md69dkz0s5xm93c4psmvy4c0nx3a7yi61vfjn46cw6yk54fm7b";
       type = "gem";
     };
-    version = "0.10.3";
+    version = "0.13.0";
   };
   rubocop-performance = {
     dependencies = ["rubocop" "rubocop-ast"];
@@ -4697,14 +4748,14 @@
     version = "1.13.0";
   };
   ruby-statistics = {
-    groups = ["default"];
+    groups = ["default" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xmd9dk1fcmii38apwn3py00qfqxd5yzylafm49n24plzwv913nh";
+      sha256 = "10fwxwhby6n1q1k61bic2s0mddlfwb9x7a7306vir4s60cvh20v1";
       type = "gem";
     };
-    version = "2.1.2";
+    version = "3.0.0";
   };
   ruby2_keywords = {
     groups = ["danger" "default" "development" "test"];
@@ -4896,6 +4947,17 @@
     };
     version = "3.142.7";
   };
+  sentry-rails = {
+    dependencies = ["railties" "sentry-ruby-core"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0zv5db0wrvs4gjgrqz7fzpihgil1p9b8hm4bmf25ihyxfskz0vlh";
+      type = "gem";
+    };
+    version = "5.1.1";
+  };
   sentry-raven = {
     dependencies = ["faraday"];
     groups = ["default"];
@@ -4907,6 +4969,39 @@
     };
     version = "3.1.2";
   };
+  sentry-ruby = {
+    dependencies = ["concurrent-ruby" "sentry-ruby-core"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "09f1zkc99m1z89qf40bd2ik4fdkchm5h5rb77bz2zhn1f8xmcjaf";
+      type = "gem";
+    };
+    version = "5.1.1";
+  };
+  sentry-ruby-core = {
+    dependencies = ["concurrent-ruby"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "012xra6f9b9y00wvnd2vks5kw3wrjaz3flm692j8sd3qxs8xhbhm";
+      type = "gem";
+    };
+    version = "5.1.1";
+  };
+  sentry-sidekiq = {
+    dependencies = ["sentry-ruby-core" "sidekiq"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1byig501hvjyc3y0x5x0w3h0k3c6lw9j10f3kxx7z8zvfy2n3hz4";
+      type = "gem";
+    };
+    version = "5.1.1";
+  };
   set = {
     groups = ["default"];
     platforms = [];
@@ -4980,6 +5075,16 @@
     };
     version = "1.2.0";
   };
+  sigdump = {
+    groups = ["development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1mqf06iw7rymv54y7rgbmfi6ppddgjjmxzi3hrw658n1amp1gwhb";
+      type = "gem";
+    };
+    version = "0.2.4";
+  };
   signet = {
     dependencies = ["addressable" "faraday" "jwt" "multi_json"];
     groups = ["default"];
@@ -5002,15 +5107,15 @@
     version = "1.1.2";
   };
   simplecov = {
-    dependencies = ["docile" "simplecov-html"];
-    groups = ["development" "test"];
+    dependencies = ["docile" "simplecov-html" "simplecov_json_formatter"];
+    groups = ["coverage" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ycx5q699ycbjhp28sjbkrd62vwxlrb7fh4v2m7sjsp2qhi6cf6r";
+      sha256 = "1hrv046jll6ad1s964gsmcq4hvkr3zzr6jc7z1mns22mvfpbc3cr";
       type = "gem";
     };
-    version = "0.18.5";
+    version = "0.21.2";
   };
   simplecov-cobertura = {
     dependencies = ["simplecov"];
@@ -5043,6 +5148,16 @@
     };
     version = "0.8.0";
   };
+  simplecov_json_formatter = {
+    groups = ["coverage" "default" "development" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0a5l0733hj7sk51j81ykfmlk2vd5vaijlq9d5fn165yyx3xii52j";
+      type = "gem";
+    };
+    version = "0.1.4";
+  };
   sixarm_ruby_unaccent = {
     groups = ["default"];
     platforms = [];
@@ -5290,10 +5405,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1qw0qa3xz4h3izwl5qsvmg5vvfsfjhmv4mdxaw1v1w1qgp7j7gws";
+      sha256 = "0an1311bpyhd9kzak1qpd4jks336i47gbvx3zdrnn1rdxppimsac";
       type = "gem";
     };
-    version = "0.5.0";
+    version = "0.6.0";
   };
   temple = {
     groups = ["default" "development" "test"];
@@ -5374,10 +5489,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18yhlvmfya23cs3pvhr1qy38y41b6mhr5q9vwv5lrgk16wmf3jna";
+      sha256 = "0inl77jh4ia03jw3iqm5ipr76ghal3hyjrd6r8zqsswwvi9j2xdi";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.2.1";
   };
   thrift = {
     groups = ["default"];
@@ -5736,6 +5851,17 @@
     };
     version = "2.2.4";
   };
+  view_component = {
+    dependencies = ["activesupport" "method_source"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1syhbmnrqklahqaaac13jx6rwpc6z210f53apwglngp2xdibxkf1";
+      type = "gem";
+    };
+    version = "2.50.0";
+  };
   vmstat = {
     groups = ["default"];
     platforms = [];
diff --git a/pkgs/applications/version-management/gogs/default.nix b/pkgs/applications/version-management/gogs/default.nix
index cf0622a6b0ecf..f70034082caeb 100644
--- a/pkgs/applications/version-management/gogs/default.nix
+++ b/pkgs/applications/version-management/gogs/default.nix
@@ -8,16 +8,16 @@ with lib;
 
 buildGoModule rec {
   pname = "gogs";
-  version = "0.12.5";
+  version = "0.12.6";
 
   src = fetchFromGitHub {
     owner = "gogs";
     repo = "gogs";
     rev = "v${version}";
-    sha256 = "sha256-I3kFRKgVMGMKgHU5VEeNai8FseN/ea6MzEP94AR2Zfo=";
+    sha256 = "sha256-nAMnsRYYS5bZhLDzPdC4sj3rv1kPjckFnLoORY1HqW8=";
   };
 
-  vendorSha256 = "sha256-3dT5D+oDd0mpJp/cP53TQcRUkmqh6g3sRBWWAUqhaAo=";
+  vendorSha256 = "sha256-U8rzYSLD9XeO5ai3p3OG74kPRI2IAlvOeZhU1Pa1BAI=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/applications/version-management/got/default.nix b/pkgs/applications/version-management/got/default.nix
index c62b680b3f59a..9e444fb3b39e0 100644
--- a/pkgs/applications/version-management/got/default.nix
+++ b/pkgs/applications/version-management/got/default.nix
@@ -2,12 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "got";
-  version = "0.67";
+  version = "0.68.1";
 
   src = fetchurl {
-    url =
-      "https://gameoftrees.org/releases/portable/got-portable-${version}.tar.gz";
-    sha256 = "sha256-37Ncljw2tibVRrynDlbxk7d5IS+5QypNFvKIkZ5JvME=";
+    url = "https://gameoftrees.org/releases/portable/got-portable-${version}.tar.gz";
+    sha256 = "122wignzrhsw00mfnh7mxcxvjyp9rk73yxzfyvmg7f5kmb0hng35";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index 9dc3e0329e3c0..4898729159907 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -21,18 +21,13 @@ let
 
   self = python3Packages.buildPythonApplication rec {
     pname = "mercurial${lib.optionalString fullBuild "-full"}";
-    version = "6.1";
+    version = "6.1.1";
 
     src = fetchurl {
       url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
-      sha256 = "sha256-hvmGReRWWpJWmR3N4it3uOfSLKb7tgwfTNvYRpo4zB8=";
+      sha256 = "sha256-V7ikYdDOE9muOBfYqL35Ay407fqsPbzLO2a4NdzpM4g=";
     };
 
-    patches = [
-      # Fix the type of libc buffer for aarch64-linux
-      ./fix-rhg-type-aarch64.patch
-    ];
-
     format = "other";
 
     passthru = { inherit python; }; # pass it so that the same version can be used in hg2git
@@ -40,7 +35,7 @@ let
     cargoDeps = if rustSupport then rustPlatform.fetchCargoTarball {
       inherit src;
       name = "mercurial-${version}";
-      sha256 = "sha256-+Y91gEC8vmyutNpVFAAL4MSg4KnpFbhH12CIuMRx0Mc=";
+      sha256 = "sha256-HYH7+OD11kdZdxFrx1KVle1NesS3fAgwVXJpAeiXDTo=";
       sourceRoot = "mercurial-${version}/rust";
     } else null;
     cargoRoot = if rustSupport then "rust" else null;
diff --git a/pkgs/applications/version-management/mercurial/fix-rhg-type-aarch64.patch b/pkgs/applications/version-management/mercurial/fix-rhg-type-aarch64.patch
deleted file mode 100644
index 84417b497c0aa..0000000000000
--- a/pkgs/applications/version-management/mercurial/fix-rhg-type-aarch64.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/rust/hg-core/src/lock.rs b/rust/hg-core/src/lock.rs
---- a/rust/hg-core/src/lock.rs
-+++ b/rust/hg-core/src/lock.rs
-@@ -145,7 +145,7 @@ lazy_static::lazy_static! {
- 
-         /// Same as https://github.com/python/cpython/blob/v3.10.0/Modules/socketmodule.c#L5414
-         const BUFFER_SIZE: usize = 1024;
--        let mut buffer = [0_i8; BUFFER_SIZE];
-+        let mut buffer = [0 as libc::c_char; BUFFER_SIZE];
-         let hostname_bytes = unsafe {
-             let result = libc::gethostname(buffer.as_mut_ptr(), BUFFER_SIZE);
-             if result != 0 {
diff --git a/pkgs/applications/version-management/rcs/default.nix b/pkgs/applications/version-management/rcs/default.nix
index d46a67a8601e0..6982bd43b2632 100644
--- a/pkgs/applications/version-management/rcs/default.nix
+++ b/pkgs/applications/version-management/rcs/default.nix
@@ -9,6 +9,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-Q93+EHJKi4XiRo9kA7YABzcYbwHmDgvWL95p2EIjTMU=";
   };
 
+  patches = [
+    # glibc 2.34 compat
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/rcs/raw/f8e07cd37f4abfb36e37d41852bb8f9e234d3fb1/f/rcs-5.10.0-SIGSTKSZ.patch";
+      sha256 = "sha256-mc6Uye9mdEsLBcOnf1m1TUb1BV0ncNU//iKBpLGBjho=";
+    })
+  ];
+
   ac_cv_path_ED = "${ed}/bin/ed";
   DIFF = "${diffutils}/bin/diff";
   DIFF3 = "${diffutils}/bin/diff3";
diff --git a/pkgs/applications/version-management/smartgithg/default.nix b/pkgs/applications/version-management/smartgithg/default.nix
index 4c14704956935..932f4847c2815 100644
--- a/pkgs/applications/version-management/smartgithg/default.nix
+++ b/pkgs/applications/version-management/smartgithg/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "smartgithg";
-  version = "20.2.5";
+  version = "21.2.2";
 
   src = fetchurl {
     url = "https://www.syntevo.com/downloads/smartgit/smartgit-linux-${builtins.replaceStrings [ "." ] [ "_" ] version}.tar.gz";
-    sha256 = "05f3yhzf6mvr6c5v6qvjrx97pzrrnkh9mp444zlkbnpgnrsmdc6v";
+    sha256 = "10v6sg0lmjby3v8g3sk2rzzvdx5p69ia4zz2c0hbf30rk0p6gqn3";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix
index 2e74843276744..4789d654ae681 100644
--- a/pkgs/applications/version-management/subversion/default.nix
+++ b/pkgs/applications/version-management/subversion/default.nix
@@ -92,7 +92,7 @@ let
           --replace "${expat.dev}/lib" "${expat.out}/lib" \
           --replace "${zlib.dev}/lib" "${zlib.out}/lib" \
           --replace "${sqlite.dev}/lib" "${sqlite.out}/lib" \
-          --replace "${openssl.dev}/lib" "${openssl.out}/lib"
+          --replace "${openssl.dev}/lib" "${lib.getLib openssl}/lib"
       done
     '';
 
diff --git a/pkgs/applications/version-management/verco/default.nix b/pkgs/applications/version-management/verco/default.nix
index 715ae0978cc1e..407608cc22d54 100644
--- a/pkgs/applications/version-management/verco/default.nix
+++ b/pkgs/applications/version-management/verco/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "verco";
-  version = "6.7.0";
+  version = "6.8.0";
 
   src = fetchFromGitHub {
     owner = "vamolessa";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-H8rDaRVU3G3iuBv0Tz/YOuYbL2k8wEoEIIEG7hjU6eM=";
+    sha256 = "sha256-E1kqJLnTLPu38zvDGaPHiKSW/yKormbx5N1CBSzQxgc=";
   };
 
-  cargoSha256 = "sha256-4Ou/stedL3WCY4Awsl++lc5fZ9gxd4uorf4G2/0DiPc=";
+  cargoSha256 = "sha256-9342LAChCv61kxTJoeOy7EdafMfR10s8dtkc2pTgXT0=";
 
   meta = with lib; {
     description = "A simple Git/Mercurial/PlasticSCM tui client based on keyboard shortcuts";
diff --git a/pkgs/applications/video/ani-cli/default.nix b/pkgs/applications/video/ani-cli/default.nix
new file mode 100644
index 0000000000000..1cd44bd34883b
--- /dev/null
+++ b/pkgs/applications/video/ani-cli/default.nix
@@ -0,0 +1,44 @@
+{ fetchFromGitHub
+, makeWrapper
+, stdenvNoCC
+, lib
+, gnugrep
+, gnused
+, curl
+, openssl
+, mpv
+, aria2
+}:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "ani-cli";
+  version = "2.0";
+
+  src = fetchFromGitHub {
+    owner = "pystardust";
+    repo = "ani-cli";
+    rev = "v${version}";
+    sha256 = "sha256-cDxb/IcpzR5akWnA8RN+fKQn0+QnpBV8tAbUjjPICsA=";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 ani-cli $out/bin/ani-cli
+
+    wrapProgram $out/bin/ani-cli \
+      --prefix PATH : ${lib.makeBinPath [ gnugrep gnused curl openssl mpv aria2 ]}
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/pystardust/ani-cli";
+    description = "A cli tool to browse and play anime";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ skykanin ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/video/byzanz/default.nix b/pkgs/applications/video/byzanz/default.nix
index a9eee05d238f8..2919cb10ca3f8 100644
--- a/pkgs/applications/video/byzanz/default.nix
+++ b/pkgs/applications/video/byzanz/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation {
   pname = "byzanz";
 
   src = fetchgit {
-    url = "git://github.com/GNOME/byzanz";
+    url = "https://gitlab.gnome.org/Archive/byzanz";
     rev = "1875a7f6a3903b83f6b1d666965800f47db9286a";
     sha256 = "0a72fw2mxl8vdcdnzy0bwis4jk28pd7nc8qgr4vhyw5pd48dynvh";
   };
diff --git a/pkgs/applications/video/davinci-resolve/default.nix b/pkgs/applications/video/davinci-resolve/default.nix
new file mode 100644
index 0000000000000..5a3e76ffcaf58
--- /dev/null
+++ b/pkgs/applications/video/davinci-resolve/default.nix
@@ -0,0 +1,179 @@
+{ stdenv
+, lib
+, cacert
+, curl
+, runCommandLocal
+, targetPlatform
+, unzip
+, appimage-run
+, addOpenGLRunpath
+, libGLU
+, xorg
+, buildFHSUserEnv
+, bash
+, writeText
+, ocl-icd
+, xkeyboard_config
+, glib
+, libarchive
+, python
+}:
+
+let
+  davinci = (
+    stdenv.mkDerivation rec {
+      pname = "davinci-resolve";
+      version = "17.4.3";
+
+      nativeBuildInputs = [ unzip appimage-run addOpenGLRunpath ];
+
+      # Pretty sure, there are missing dependencies ...
+      buildInputs = [ libGLU xorg.libXxf86vm ];
+
+      src = runCommandLocal "${pname}-src.zip"
+        rec {
+          outputHashMode = "recursive";
+          outputHashAlgo = "sha256";
+          outputHash = "0hq374n26mbcds8f1z644cvnh4h2rjdrbxxxbj4p34mx9b04ab28";
+
+          impureEnvVars = lib.fetchers.proxyImpureEnvVars;
+
+          nativeBuildInputs = [ curl ];
+
+          # ENV VARS
+          SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
+
+          DOWNLOADID = "5efad1a052e8471989f662338d5247f1";
+          REFERID = "263d62f31cbb49e0868005059abcb0c9";
+          SITEURL = "https://www.blackmagicdesign.com/api/register/us/download/${DOWNLOADID}";
+
+          USERAGENT = builtins.concatStringsSep " " [
+            "User-Agent: Mozilla/5.0 (X11; Linux ${targetPlatform.linuxArch})"
+            "AppleWebKit/537.36 (KHTML, like Gecko)"
+            "Chrome/77.0.3865.75"
+            "Safari/537.36"
+          ];
+
+          REQJSON = builtins.toJSON {
+            "firstname" = "NixOS";
+            "lastname" = "Linux";
+            "email" = "someone@nixos.org";
+            "phone" = "+31 71 452 5670";
+            "country" = "nl";
+            "state" = "Province of Utrecht";
+            "city" = "Utrecht";
+            "product" = "DaVinci Resolve";
+          };
+
+        } ''
+        RESOLVEURL=$(curl \
+          -s \
+          -H 'Host: www.blackmagicdesign.com' \
+          -H 'Accept: application/json, text/plain, */*' \
+          -H 'Origin: https://www.blackmagicdesign.com' \
+          -H "$USERAGENT" \
+          -H 'Content-Type: application/json;charset=UTF-8' \
+          -H "Referer: https://www.blackmagicdesign.com/support/download/$REFERID/Linux" \
+          -H 'Accept-Encoding: gzip, deflate, br' \
+          -H 'Accept-Language: en-US,en;q=0.9' \
+          -H 'Authority: www.blackmagicdesign.com' \
+          -H 'Cookie: _ga=GA1.2.1849503966.1518103294; _gid=GA1.2.953840595.1518103294' \
+          --data-ascii "$REQJSON" \
+          --compressed \
+          "$SITEURL")
+
+        curl \
+          --retry 3 --retry-delay 3 \
+          -H "Host: sw.blackmagicdesign.com" \
+          -H "Upgrade-Insecure-Requests: 1" \
+          -H "$USERAGENT" \
+          -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" \
+          -H "Accept-Language: en-US,en;q=0.9" \
+          --compressed \
+          "$RESOLVEURL" \
+          > $out
+      '';
+
+      # The unpack phase won't generate a directory
+      setSourceRoot = ''
+        sourceRoot=$PWD
+      '';
+
+      installPhase = ''
+        runHook preInstall
+
+        export HOME=$PWD/home
+        mkdir -p $HOME
+
+        mkdir -p $out
+        appimage-run ./DaVinci_Resolve_${version}_Linux.run -i -y -n -C $out
+
+        mkdir -p $out/{configs,DolbyVision,easyDCP,Fairlight,GPUCache,logs,Media,"Resolve Disk Database",.crashreport,.license,.LUT}
+        runHook postInstall
+      '';
+
+      dontStrip = true;
+
+      postFixup = ''
+        for program in $out/bin/*; do
+          isELF "$program" || continue
+          addOpenGLRunpath "$program"
+        done
+
+        for program in $out/libs/*; do
+          isELF "$program" || continue
+          if [[ "$program" != *"libcudnn_cnn_infer"* ]];then
+            echo $program
+            addOpenGLRunpath "$program"
+          fi
+        done
+      '';
+    }
+  );
+in
+buildFHSUserEnv {
+  name = "davinci-resolve";
+  targetPkgs = pkgs: with pkgs; [
+    librsvg
+    libGLU
+    libGL
+    xorg.libICE
+    xorg.libSM
+    xorg.libXxf86vm
+    xorg.libxcb
+    udev
+    opencl-headers
+    alsa-lib
+    xorg.libX11
+    xorg.libXext
+    expat
+    zlib
+    libuuid
+    bzip2
+    libtool
+    ocl-icd
+    glib
+    libarchive
+    xdg-utils # xdg-open needed to open URLs
+    python
+    # currently they want python 3.6 which is EOL
+    #python3
+  ];
+
+  runScript = "${bash}/bin/bash ${
+    writeText "davinci-wrapper"
+    ''
+    export QT_XKB_CONFIG_ROOT="${xkeyboard_config}/share/X11/xkb"
+    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${davinci}/libs
+    ${davinci}/bin/resolve
+    ''
+  }";
+
+  meta = with lib; {
+    description = "Professional Video Editing, Color, Effects and Audio Post";
+    homepage = "https://www.blackmagicdesign.com/products/davinciresolve/";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ jshcmpbll ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/video/entangle/default.nix b/pkgs/applications/video/entangle/default.nix
index 2c75633808950..761a3849c315a 100644
--- a/pkgs/applications/video/entangle/default.nix
+++ b/pkgs/applications/video/entangle/default.nix
@@ -1,7 +1,8 @@
 { lib
 , stdenv
 , fetchFromGitLab
-, cmake
+, fetchpatch
+, itstool
 , libxml2
 , meson
 , ninja
@@ -49,10 +50,19 @@ stdenv.mkDerivation rec {
     sha256 = "hz2WSDOjriQSavFlDT+35x1X5MeInq80ZrSP1WR/td0=";
   };
 
+  patches = [
+    # Fix build with meson 0.61, can be removed on next update
+    # https://gitlab.com/entangle/entangle/-/issues/67
+    (fetchpatch {
+      url = "https://gitlab.com/entangle/entangle/-/commit/54795d275a93e94331a614c8712740fcedbdd4f0.patch";
+      sha256 = "iEgqGjKa0xwSdctwvNdEV361l9nx+bz53xn3fuDgtzY=";
+    })
+  ];
+
   nativeBuildInputs = [
-    cmake
-    glib.dev
-    libxml2.bin # for xmllint
+    itstool
+    glib
+    libxml2 # for xmllint
     meson
     ninja
     perl # for pod2man and build scripts
@@ -93,8 +103,6 @@ stdenv.mkDerivation rec {
     libXtst
   ]);
 
-  dontUseCmakeConfigure = true;
-
   # Disable building of doc/reference since it requires network connection to render XML to HTML
   # Patch build script shebangs
   postPatch = ''
diff --git a/pkgs/applications/video/f1viewer/default.nix b/pkgs/applications/video/f1viewer/default.nix
index 7c091b425af67..c241dd8a7458f 100644
--- a/pkgs/applications/video/f1viewer/default.nix
+++ b/pkgs/applications/video/f1viewer/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "f1viewer";
-  version = "2.6.0";
+  version = "2.6.2";
 
   src = fetchFromGitHub {
     owner = "SoMuchForSubtlety";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-MY8xqpAzK1c4XL7w/LR83DyHFCI5X7wldosDDo7pXNI=";
+    sha256 = "sha256-Z6rnkHypk7r9NnYwqZpWQOuGPbWn/EppS+46PQHIdDM=";
   };
 
-  vendorSha256 = "sha256-8c1+t6Lo11Q2kEDy9IWLw9bsZYtJFksE7Om3ysx7fc4=";
+  vendorSha256 = "sha256-UNeH3zxgssXxFpJws6nAL8EgXt0DRyAQfmlJWz/qyDg=";
 
   meta = with lib; {
     description =
diff --git a/pkgs/applications/video/natron/default.nix b/pkgs/applications/video/natron/default.nix
index ea8a801d19544..82eaa30bba3ec 100644
--- a/pkgs/applications/video/natron/default.nix
+++ b/pkgs/applications/video/natron/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, qt4, pkg-config, boost, expat, cairo, python2Packages,
   cmake, flex, bison, pango, librsvg, librevenge, libxml2, libcdr, libzip,
-  poppler, imagemagick, openexr, ffmpeg_3, opencolorio_1, openimageio,
+  poppler, imagemagick, openexr, ffmpeg, opencolorio_1, openimageio,
   qmake4Hook, libpng, libGL, lndir, libraw, openjpeg, libwebp, fetchFromGitHub }:
 
 let
@@ -74,7 +74,7 @@ let
       sha256 = "OQg6a5wNy9TFFySjmgd1subvXRxY/ZnSOCkaoUo+ZaA=";
       nativeBuildInputs = [ pkg-config ];
       buildInputs = [
-        libpng ffmpeg_3 openexr opencolorio_1 openimageio boost libGL
+        libpng ffmpeg openexr opencolorio_1 openimageio boost libGL
         seexpr libraw openjpeg libwebp
       ];
     })
@@ -135,5 +135,6 @@ stdenv.mkDerivation {
     license = lib.licenses.gpl2;
     maintainers = [ maintainers.puffnfresh ];
     platforms = platforms.linux;
+    broken = true; # Last evaluated on Hydra on 2021-05-18
   };
 }
diff --git a/pkgs/applications/video/p2pvc/default.nix b/pkgs/applications/video/p2pvc/default.nix
index 35dceddf224e5..f64af16709f62 100644
--- a/pkgs/applications/video/p2pvc/default.nix
+++ b/pkgs/applications/video/p2pvc/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, pkg-config, fetchFromGitHub, opencv2, ncurses, portaudio }:
 
 stdenv.mkDerivation {
-  name = "p2pvc";
+  pname = "p2pvc";
+  version = "unstable-2015-02-12";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ opencv2 ncurses portaudio ];
diff --git a/pkgs/applications/video/pitivi/default.nix b/pkgs/applications/video/pitivi/default.nix
index f22dd77b332a7..7ae463b987300 100644
--- a/pkgs/applications/video/pitivi/default.nix
+++ b/pkgs/applications/video/pitivi/default.nix
@@ -12,6 +12,7 @@
 , libpeas
 , librsvg
 , gnome
+, gnome-desktop
 , libnotify
 , gsound
 , meson
@@ -52,7 +53,7 @@ python3Packages.buildPythonApplication rec {
     gtk3
     libpeas
     librsvg
-    gnome.gnome-desktop
+    gnome-desktop
     gsound
     gnome.adwaita-icon-theme
     gsettings-desktop-schemas
diff --git a/pkgs/applications/video/qmplay2/default.nix b/pkgs/applications/video/qmplay2/default.nix
index 9621b8864c9ad..12864d3b40af8 100644
--- a/pkgs/applications/video/qmplay2/default.nix
+++ b/pkgs/applications/video/qmplay2/default.nix
@@ -22,13 +22,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "qmplay2";
-  version = "21.12.24";
+  version = "22.03.19";
 
   src = fetchFromGitHub {
     owner = "zaps166";
     repo = "QMPlay2";
     rev = version;
-    sha256 = "sha256-SHReKh+M1rgSIiweYFgVvwMeKWeQD52S4KxEiTsyHrI=";
+    sha256 = "sha256-+EIv74dMm0zxZcCfa5wR6FJNJl5Xaes+/dCRQEBqFeo=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/video/quvi/library.nix b/pkgs/applications/video/quvi/library.nix
index 071e67a172116..548b3d7f9724d 100644
--- a/pkgs/applications/video/quvi/library.nix
+++ b/pkgs/applications/video/quvi/library.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.lgpl21Plus;
     platforms = lib.platforms.linux;
     maintainers = [ ];
+    broken = true; # missing glibc-2.34 support, no upstream activity
   };
 }
diff --git a/pkgs/applications/video/quvi/scripts.nix b/pkgs/applications/video/quvi/scripts.nix
index 676d073900c52..a31ef6e72ae6a 100644
--- a/pkgs/applications/video/quvi/scripts.nix
+++ b/pkgs/applications/video/quvi/scripts.nix
@@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.lgpl21Plus;
     platforms = lib.platforms.linux;
     maintainers = [ ];
+    broken = true; # missing glibc-2.34 support, no upstream activity
   };
 }
diff --git a/pkgs/applications/video/quvi/tool.nix b/pkgs/applications/video/quvi/tool.nix
index 87c8066a976c5..ad6233cbd0012 100644
--- a/pkgs/applications/video/quvi/tool.nix
+++ b/pkgs/applications/video/quvi/tool.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     license = lib.licenses.lgpl21Plus;
     platforms = lib.platforms.linux;
     maintainers = [ ];
+    broken = true; # missing glibc-2.34 support, no upstream activity
   };
 }
diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix
index 7adcd328add7d..843cebe7d6ba6 100644
--- a/pkgs/applications/virtualization/OVMF/default.nix
+++ b/pkgs/applications/virtualization/OVMF/default.nix
@@ -22,7 +22,8 @@ let
 in
 
 edk2.mkDerivation projectDscPath {
-  name = "OVMF-${version}";
+  pname = "OVMF";
+  inherit version;
 
   outputs = [ "out" "fd" ];
 
diff --git a/pkgs/applications/virtualization/arion/default.nix b/pkgs/applications/virtualization/arion/default.nix
index 33b2b000cbfcf..efe13868524b9 100644
--- a/pkgs/applications/virtualization/arion/default.nix
+++ b/pkgs/applications/virtualization/arion/default.nix
@@ -16,11 +16,16 @@ let
        - make it self-contained by including docker-compose
    */
   arion =
-    justStaticExecutables (
+    (justStaticExecutables (
       overrideCabal
         cabalOverrides
         arion-compose
-      );
+      )
+    ).overrideAttrs (o: {
+      # Patch away the arion-compose name. Unlike the Haskell library, the program
+      # is called arion (arion was already taken on hackage).
+      pname = "arion";
+    });
 
   inherit (haskell.lib.compose) justStaticExecutables overrideCabal;
 
@@ -31,9 +36,6 @@ let
     passthru = (o.passthru or {}) // {
       inherit eval build;
     };
-    # Patch away the arion-compose name. Unlike the Haskell library, the program
-    # is called arion (arion was already taken on hackage).
-    pname = "arion";
     src = arion-compose.src;
 
     # PYTHONPATH
diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix
index 281f1f246126b..367f43deb8093 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.1";
+  version = "1.6.2";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = "containerd";
     rev = "v${version}";
-    sha256 = "sha256-NOFDUOypq/1ePM8rdK2cDnH1LsSZJ7eQOzDc5h4/PvY=";
+    sha256 = "sha256-l/9jOvZ4nn/wy+XPRoT1lojfGvPEXhPz2FJjLpZ/EE8=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/virtualization/crun/default.nix b/pkgs/applications/virtualization/crun/default.nix
index 07e0cb6c533d3..5855eee63792e 100644
--- a/pkgs/applications/virtualization/crun/default.nix
+++ b/pkgs/applications/virtualization/crun/default.nix
@@ -38,13 +38,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "crun";
-  version = "1.4.3";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = version;
-    sha256 = "sha256-5q8HirGOPsbaJ7JoLa4DRYkZX3kucWOZ633nzx4zVhg=";
+    sha256 = "sha256-ITUj905ZSdCH0mcw8tubyVKqI6p/oNcC4OW7/NbkR5o=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/virtualization/docker/compose.nix b/pkgs/applications/virtualization/docker/compose.nix
index e2a3f1e1077d4..16c25aea9ae48 100644
--- a/pkgs/applications/virtualization/docker/compose.nix
+++ b/pkgs/applications/virtualization/docker/compose.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "docker-compose";
-  version = "2.3.3";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = "compose";
     rev = "v${version}";
-    sha256 = "sha256-PFR7EcRkqn/d6gYlMNN36nRIslYEN0JFSbFU9niGc+Y=";
+    sha256 = "sha256-dHq1t1ebPSAS5H14Kd03xCiHV9UhAH0dIxikQK0rHQk=";
   };
 
-  vendorSha256 = "sha256-L6PNKK1ID7ZVX/4sG72wn9ZjWlx0lsNuiBc/EtCN03E=";
+  vendorSha256 = "sha256-N+paN3zEXzzUFb2JPVIDZYZ0h0iu7naiw4pSVnGsuKQ=";
 
   ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ];
 
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index 87bb16ab83397..ef9050f47d969 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -243,19 +243,19 @@ rec {
   # Get revisions from
   # https://github.com/moby/moby/tree/${version}/hack/dockerfile/install/*
   docker_20_10 = callPackage dockerGen rec {
-    version = "20.10.13";
+    version = "20.10.14";
     rev = "v${version}";
     sha256 = "sha256-eDwgqFx4io++SMOjhxMxVzqzcOgOnv6Xe/qmmPCvZts=";
     moby-src = fetchFromGitHub {
       owner = "moby";
       repo = "moby";
       rev = "v${version}";
-      sha256 = "sha256-ajceIdMM8yAa+bvTjRwZ/zF7yTLF2LhGmbrweWni7hM=";
+      sha256 = "sha256-I5oxpFLH789I2Sb29OXDaM4fCbQT/KvPq0DYcAVp0aI=";
     };
     runcRev = "v1.0.3";
     runcSha256 = "sha256-Tl/JKbIpao+FCjngPzaVkxse50zo3XQ9Mg/AdkblMcI=";
-    containerdRev = "v1.5.10";
-    containerdSha256 = "sha256-ee0dwWSGedo08omKOmZtW5qQ1J5M9Mm+kZHq7a+zyT4=";
+    containerdRev = "v1.5.11";
+    containerdSha256 = "sha256-YzFtv6DIjImSK0SywxhZrEeEmCnHTceAi3pfwnPubKg=";
     tiniRev = "v0.19.0";
     tiniSha256 = "sha256-ZDKu/8yE5G0RYFJdhgmCdN3obJNyRWv6K/Gd17zc1sI=";
   };
diff --git a/pkgs/applications/virtualization/docker/gc.nix b/pkgs/applications/virtualization/docker/gc.nix
index 52ca54501d75d..0736516ee7d26 100644
--- a/pkgs/applications/virtualization/docker/gc.nix
+++ b/pkgs/applications/virtualization/docker/gc.nix
@@ -3,13 +3,13 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  name = "docker-gc-${rev}";
-  rev = "b0cc52aa3da2e2ac0080794e0be6e674b1f063fc";
+  pname = "docker-gc";
+  version = "unstable-2015-10-5";
 
   src = fetchFromGitHub {
-    inherit rev;
     owner = "spotify";
     repo = "docker-gc";
+    rev = "b0cc52aa3da2e2ac0080794e0be6e674b1f063fc";
     sha256 = "07wf9yn0f771xkm3x12946x5rp83hxjkd70xgfgy35zvj27wskzm";
   };
 
diff --git a/pkgs/applications/virtualization/docker/proxy.nix b/pkgs/applications/virtualization/docker/proxy.nix
index a247e2cecfafe..6038a129e2a1c 100644
--- a/pkgs/applications/virtualization/docker/proxy.nix
+++ b/pkgs/applications/virtualization/docker/proxy.nix
@@ -1,13 +1,13 @@
 { lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
-  name = "docker-proxy-${rev}";
-  rev = "fa125a3512ee0f6187721c88582bf8c4378bd4d7";
+  pname = "docker-proxy";
+  version = "unstable-2020-12-15";
 
   src = fetchFromGitHub {
-    inherit rev;
     owner = "docker";
     repo = "libnetwork";
+    rev = "fa125a3512ee0f6187721c88582bf8c4378bd4d7";
     sha256 = "1r47y0gww3j7fas4kgiqbhrz5fazsx1c6sxnccdfhj8fzik77s9y";
   };
 
diff --git a/pkgs/applications/virtualization/gvisor/containerd-shim.nix b/pkgs/applications/virtualization/gvisor/containerd-shim.nix
index c8610b73865b5..612ef0f4b5365 100644
--- a/pkgs/applications/virtualization/gvisor/containerd-shim.nix
+++ b/pkgs/applications/virtualization/gvisor/containerd-shim.nix
@@ -1,8 +1,8 @@
 { lib, fetchFromGitHub, buildGoModule }:
 
 buildGoModule rec {
-  name = "gvisor-containerd-shim-${version}";
-  version = "2019-10-09";
+  pname = "gvisor-containerd-shim";
+  version = "unstable-2019-10-09";
 
   src = fetchFromGitHub {
     owner  = "google";
diff --git a/pkgs/applications/virtualization/gvisor/default.nix b/pkgs/applications/virtualization/gvisor/default.nix
index 4cd043d4eb6d6..cf6f2102e6ace 100644
--- a/pkgs/applications/virtualization/gvisor/default.nix
+++ b/pkgs/applications/virtualization/gvisor/default.nix
@@ -52,7 +52,7 @@ let
   };
 
 in buildBazelPackage rec {
-  name = "gvisor-${version}";
+  pname = "gvisor";
   version = "20210518.0";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/virtualization/lima/default.nix b/pkgs/applications/virtualization/lima/default.nix
index 68e902253edc1..db3ed3500e348 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.9.1";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "lima-vm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Y15oYAdq+bsG2qD/ZTqXHgkelAdQF4SnOE79gDhlNGE=";
+    sha256 = "sha256-GS/mzBoVL78U7vMxkbnQfb89U640w8YdA8YhPH4Iwrc=";
   };
 
-  vendorSha256 = "sha256-66CcLWG45vZwM2LVc1xsjJYyxefGEBW4fY3wo1ESQUM=";
+  vendorSha256 = "sha256-funVyM0RhDzGQPyzsABzXu3ETPYJwRosqkQreGBADZc=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
diff --git a/pkgs/applications/virtualization/podman-tui/default.nix b/pkgs/applications/virtualization/podman-tui/default.nix
index cfeee8a8718d3..17272acd86ebb 100644
--- a/pkgs/applications/virtualization/podman-tui/default.nix
+++ b/pkgs/applications/virtualization/podman-tui/default.nix
@@ -4,17 +4,20 @@
 , buildGoModule
 , btrfs-progs
 , gpgme
+, libassuan
 , lvm2
+, testVersion
+, podman-tui
 }:
 buildGoModule rec {
   pname = "podman-tui";
-  version = "0.1.0";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "podman-tui";
     rev = "v${version}";
-    sha256 = "sha256-qPQSu6l1WkX6sddVr5h1DqKQCyw6vy8S6lXC/ZO4DL8=";
+    sha256 = "sha256-1WbDmnKyFosp4Kz9QINr3lOR/wD0UW2QZf7nAAaoClM=";
   };
 
   vendorSha256 = null;
@@ -24,12 +27,17 @@ buildGoModule rec {
   buildInputs = [
     btrfs-progs
     gpgme
+    libassuan
     lvm2
   ];
 
   ldflags = [ "-s" "-w" ];
 
-  subPackages = [ "." ];
+  passthru.tests.version = testVersion {
+    package = podman-tui;
+    command = "podman-tui version";
+    version = "v${version}";
+  };
 
   meta = with lib; {
     homepage = "https://github.com/containers/podman-tui";
diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix
index 7d783b211bbd7..1f596c609062c 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.0.2";
+  version = "4.0.3";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "podman";
     rev = "v${version}";
-    sha256 = "sha256-uLpvTnn2EWEI8+5gC3ofMjsZ9O7nLOaaUGGuvSE1gdE=";
+    sha256 = "sha256-o/CIs+3LnbaUUpOQI1hijrxH7f1qBnrQw56TJ18jKQw=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 8f22e499d359a..954fd3f051a97 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -88,6 +88,11 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./fix-qemu-ga.patch
+    # MTP Devices were broken in QEMU 6.1.0, this patch fixes that.
+     (fetchpatch {
+       url = "https://gitlab.com/qemu-project/qemu/-/commit/9d30c78c7d3b994825cbe63fa277279ae3ef4248.patch";
+       sha256 = "sha256-AChB9HMEShrM+2UW2aOT9+MqlAm568sG3HxHK3nDC/M=";
+     })
     # Cocoa clipboard support only works on macOS 10.14+
     (fetchpatch {
       url = "https://gitlab.com/qemu-project/qemu/-/commit/7e3e20d89129614f4a7b2451fe321cc6ccca3b76.diff";
diff --git a/pkgs/applications/virtualization/qemu/utils.nix b/pkgs/applications/virtualization/qemu/utils.nix
index 90783039a1a0b..d9a88bf545b38 100644
--- a/pkgs/applications/virtualization/qemu/utils.nix
+++ b/pkgs/applications/virtualization/qemu/utils.nix
@@ -1,8 +1,8 @@
 { stdenv, installShellFiles, qemu }:
 
 stdenv.mkDerivation rec {
-  name = "qemu-utils-${version}";
-  version = qemu.version;
+  pname = "qemu-utils";
+  inherit (qemu) version;
 
   nativeBuildInputs = [ installShellFiles ];
   buildInputs = [ qemu ];
diff --git a/pkgs/applications/virtualization/runc/default.nix b/pkgs/applications/virtualization/runc/default.nix
index 0dd3da4b37c6e..e295a51637a7e 100644
--- a/pkgs/applications/virtualization/runc/default.nix
+++ b/pkgs/applications/virtualization/runc/default.nix
@@ -16,13 +16,13 @@
 
 buildGoModule rec {
   pname = "runc";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "opencontainers";
     repo = "runc";
     rev = "v${version}";
-    sha256 = "sha256-svLxxfiRDLWkdRuHXaDyH5Ta6qmptI8z+s41iZKgbWM=";
+    sha256 = "sha256-6g2km+Y45INo2MTWMFFQFhfF8DAR5Su+YrJS8k3LYBY=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/virtualization/spike/default.nix b/pkgs/applications/virtualization/spike/default.nix
index cc2489356c5de..291328ee7fe84 100644
--- a/pkgs/applications/virtualization/spike/default.nix
+++ b/pkgs/applications/virtualization/spike/default.nix
@@ -1,27 +1,19 @@
-{ lib, stdenv, fetchFromGitHub, dtc, fetchpatch, pkgsCross }:
+{ lib, stdenv, fetchFromGitHub, dtc, pkgsCross }:
 
 stdenv.mkDerivation rec {
   pname = "spike";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "riscv";
     repo = "riscv-isa-sim";
     rev = "v${version}";
-    sha256 = "1hcl01nj96s3rkz4mrq747s5lkw81lgdjdimb8b1b9h8qnida7ww";
+    sha256 = "sha256-4D2Fezej0ioOOupw3kgMT5VLs+/jXQjwvek6v0AVMzI=";
   };
 
   nativeBuildInputs = [ dtc ];
   enableParallelBuilding = true;
 
-  patches = [
-    # Add missing headers to fix build.
-    (fetchpatch {
-      url = "https://github.com/riscv/riscv-isa-sim/commit/b3855682c2d744c613d2ffd6b53e3f021ecea4f3.patch";
-      sha256 = "1v1mpp4iddf5n4h3kmj65g075m7xc31bxww7gldnmgl607ma7cnl";
-    })
-  ];
-
   postPatch = ''
     patchShebangs scripts/*.sh
     patchShebangs tests/ebreak.py
@@ -39,7 +31,9 @@ stdenv.mkDerivation rec {
     ''
       runHook preInstallCheck
 
-      $out/bin/spike -m64 ${riscvPkgs.riscv-pk}/bin/pk ${riscvPkgs.hello}/bin/hello | grep -Fq "Hello, world"
+      echo -e "#include<stdio.h>\nint main() {printf(\"Hello, world\");return 0;}" > hello.c
+      ${riscvPkgs.stdenv.cc}/bin/riscv64-none-elf-gcc -o hello hello.c
+      $out/bin/spike -m64 ${riscvPkgs.riscv-pk}/bin/pk hello | grep -Fq "Hello, world"
 
       runHook postInstallCheck
     '';
diff --git a/pkgs/applications/virtualization/virt-viewer/default.nix b/pkgs/applications/virtualization/virt-viewer/default.nix
index 29e05a069ce7f..95909e36d0c0e 100644
--- a/pkgs/applications/virtualization/virt-viewer/default.nix
+++ b/pkgs/applications/virtualization/virt-viewer/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , bash-completion
 , fetchurl
+, fetchpatch
 , gdbm ? null
 , glib
 , gsettings-desktop-schemas
@@ -35,15 +36,23 @@ assert spiceSupport -> (
 with lib;
 
 stdenv.mkDerivation rec {
-  baseName = "virt-viewer";
+  pname = "virt-viewer";
   version = "11.0";
-  name = "${baseName}-${version}";
 
   src = fetchurl {
-    url = "http://virt-manager.org/download/sources/${baseName}/${name}.tar.xz";
+    url = "https://releases.pagure.org/virt-viewer/virt-viewer-${version}.tar.xz";
     sha256 = "sha256-pD+iMlxMHHelyMmAZaww7wURohrJjlkPIjQIabrZq9A=";
   };
 
+  patches = [
+    # Fix build with meson 0.61
+    # https://gitlab.com/virt-viewer/virt-viewer/-/merge_requests/117
+    (fetchpatch {
+      url = "https://gitlab.com/virt-viewer/virt-viewer/-/commit/ed19e51407bee53988878a6ebed4e7279d00b1a1.patch";
+      sha256 = "sha256-3AbnkbhWOh0aNjUkmVoSV/9jFQtvTllOr7plnkntb2o=";
+    })
+  ];
+
   nativeBuildInputs = [
     glib
     intltool
diff --git a/pkgs/applications/window-managers/clfswm/default.nix b/pkgs/applications/window-managers/clfswm/default.nix
deleted file mode 100644
index 1c6f92a38f292..0000000000000
--- a/pkgs/applications/window-managers/clfswm/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ lib, stdenv, fetchgit, autoconf, sbcl, lispPackages, xdpyinfo, texinfo4
-, makeWrapper }:
-
-stdenv.mkDerivation {
-  name = "clfswm";
-
-  src = fetchgit {
-    url = "https://gitlab.common-lisp.net/clfswm/clfswm.git";
-    rev = "refs/heads/master";
-    sha256 = "0hynzh3a1zr719cxfb0k4cvh5lskzs616hwn7p942isyvhwzhynd";
-  };
-
-  buildInputs = [
-    texinfo4 makeWrapper autoconf
-    sbcl
-    lispPackages.clx
-    lispPackages.cl-ppcre
-    xdpyinfo
-  ];
-
-  patches = [ ./require-clx.patch ];
-
-  # Stripping destroys the generated SBCL image
-  dontStrip = true;
-
-  configurePhase = ''
-    substituteInPlace load.lisp --replace \
-      ";; (setf *contrib-dir* \"/usr/local/lib/clfswm/\")" \
-      "(setf *contrib-dir* \"$out/lib/clfswm/\")"
-  '';
-
-  installPhase = ''
-    mkdir -pv $out/bin
-    make DESTDIR=$out install
-
-    # Paths in the compressed image $out/bin/clfswm are not
-    # recognized by Nix. Add explicit reference here.
-    mkdir $out/nix-support
-    echo ${xdpyinfo} ${lispPackages.clx} ${lispPackages.cl-ppcre} > $out/nix-support/depends
-  '';
-
-  meta = with lib; {
-    description = "A(nother) Common Lisp FullScreen Window Manager";
-    homepage    = "https://common-lisp.net/project/clfswm/";
-    license     = licenses.gpl3;
-    maintainers = with maintainers; [ robgssp ];
-    platforms   = platforms.linux;
-    broken      = true;
-  };
-}
diff --git a/pkgs/applications/window-managers/clfswm/require-clx.patch b/pkgs/applications/window-managers/clfswm/require-clx.patch
deleted file mode 100644
index ae2234461d25d..0000000000000
--- a/pkgs/applications/window-managers/clfswm/require-clx.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/load.lisp b/load.lisp
-index c8c4cf0..8c9ca2e 100644
---- a/load.lisp
-+++ b/load.lisp
-@@ -111,6 +111,8 @@ from $XDG_CONFIG_HOME/clfswm/clfswmrc")
- ;;;------------------
- (load-info "Requiring CLX")
- 
-+(require 'clx)
-+
- ;;; Loading clisp dynamic module. This part needs clisp >= 2.50
- ;;#+(AND CLISP (not CLX))
- ;;(when (fboundp 'require)
diff --git a/pkgs/applications/window-managers/phosh/default.nix b/pkgs/applications/window-managers/phosh/default.nix
index 2c01a37aa43c2..77a65eef66715 100644
--- a/pkgs/applications/window-managers/phosh/default.nix
+++ b/pkgs/applications/window-managers/phosh/default.nix
@@ -14,6 +14,7 @@
 , glib
 , gtk3
 , gnome
+, gnome-desktop
 , gcr
 , pam
 , systemd
@@ -30,7 +31,7 @@
 
 stdenv.mkDerivation rec {
   pname = "phosh";
-  version = "0.15.0";
+  version = "0.16.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
@@ -39,7 +40,7 @@ stdenv.mkDerivation rec {
     repo = pname;
     rev = "v${version}";
     fetchSubmodules = true; # including gvc and libcall-ui which are designated as subprojects
-    sha256 = "sha256-ZEfYjgSaj4vVdfgdIcg0PWwlFX90PIm5wvdn9P/8tvo=";
+    sha256 = "sha256-nxQYVWUXT1fNgOTRB3iWCLWYI/STk8vtguTbPPNTHdg=";
   };
 
   nativeBuildInputs = [
@@ -63,7 +64,7 @@ stdenv.mkDerivation rec {
     networkmanager
     polkit
     gnome.gnome-control-center
-    gnome.gnome-desktop
+    gnome-desktop
     gnome.gnome-session
     gtk3
     pam
@@ -108,8 +109,6 @@ stdenv.mkDerivation rec {
   postFixup = ''
     mkdir -p $out/share/wayland-sessions
     ln -s $out/share/applications/sm.puri.Phosh.desktop $out/share/wayland-sessions/
-    # The OSK0.desktop points to a dummy stub that's not needed
-    rm $out/share/applications/sm.puri.OSK0.desktop
   '';
 
   passthru = {
diff --git a/pkgs/applications/window-managers/qtile/default.nix b/pkgs/applications/window-managers/qtile/default.nix
index 4a48225d8013d..d0bec27e215af 100644
--- a/pkgs/applications/window-managers/qtile/default.nix
+++ b/pkgs/applications/window-managers/qtile/default.nix
@@ -1,15 +1,28 @@
-{ lib, fetchFromGitHub, python3, python3Packages, mypy, glib, pango, pkg-config, xcbutilcursor }:
+{ lib
+, fetchFromGitHub
+, python3
+, python3Packages
+, mypy
+, glib
+, pango
+, pkg-config
+, libinput
+, libxkbcommon
+, wayland
+, wlroots
+, xcbutilcursor
+}:
 
 let
   unwrapped = python3Packages.buildPythonPackage rec {
     pname = "qtile";
-    version = "0.20.0";
+    version = "0.21.0";
 
     src = fetchFromGitHub {
       owner = "qtile";
       repo = "qtile";
       rev = "v${version}";
-      sha256 = "TRmul3t//izJRdViTvxFz29JZeGYsWc7WsJjagQ35nw=";
+      sha256 = "3QCI1TZIh1LcWuklVQkqgR1MQphi6CzZKc1UZcytV0k=";
     };
 
     patches = [
@@ -48,6 +61,13 @@ let
       xkbcommon
     ];
 
+    buildInputs = [
+      libinput
+      wayland
+      wlroots
+      libxkbcommon
+    ];
+
     # for `qtile check`, needs `stubtest` and `mypy` commands
     makeWrapperArgs = [
       "--suffix PATH : ${lib.makeBinPath [ mypy ]}"
diff --git a/pkgs/applications/window-managers/taffybar/default.nix b/pkgs/applications/window-managers/taffybar/default.nix
index 7d9e5f9c1cb09..2afb6e505c336 100644
--- a/pkgs/applications/window-managers/taffybar/default.nix
+++ b/pkgs/applications/window-managers/taffybar/default.nix
@@ -5,7 +5,8 @@ let
     self.taffybar
   ] ++ packages self);
 in stdenv.mkDerivation {
-  name = "taffybar-with-packages-${taffybarEnv.version}";
+  pname = "taffybar-with-packages";
+  inherit (taffybarEnv) version;
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/applications/window-managers/xmonad/wrapper.nix b/pkgs/applications/window-managers/xmonad/wrapper.nix
index f5c9f12a23f6d..409bf73c893f6 100644
--- a/pkgs/applications/window-managers/xmonad/wrapper.nix
+++ b/pkgs/applications/window-managers/xmonad/wrapper.nix
@@ -3,7 +3,8 @@
 let
 xmonadEnv = ghcWithPackages (self: [ self.xmonad ] ++ packages self);
 in stdenv.mkDerivation {
-  name = "xmonad-with-packages-${xmonadEnv.version}";
+  pname = "xmonad-with-packages";
+  inherit (xmonadEnv) version;
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix b/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix
index 93292122b739c..a36008d752bd9 100644
--- a/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix
+++ b/pkgs/build-support/build-fhs-userenv-bubblewrap/env.nix
@@ -59,6 +59,9 @@ let
     export PATH="/run/wrappers/bin:/usr/bin:/usr/sbin:$PATH"
     export TZDIR='/etc/zoneinfo'
 
+    # XDG_DATA_DIRS is used by pressure-vessel (steam proton) and vulkan loaders to find the corresponding icd
+    export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}/run/opengl-driver/share:/run/opengl-driver-32/share
+
     # Force compilers and other tools to look in default search paths
     unset NIX_ENFORCE_PURITY
     export NIX_CC_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt}=1
diff --git a/pkgs/build-support/build-fhs-userenv/env.nix b/pkgs/build-support/build-fhs-userenv/env.nix
index cdc3096fcbfd5..09457caecb865 100644
--- a/pkgs/build-support/build-fhs-userenv/env.nix
+++ b/pkgs/build-support/build-fhs-userenv/env.nix
@@ -60,6 +60,9 @@ let
     export PATH="/run/wrappers/bin:/usr/bin:/usr/sbin:$PATH"
     export TZDIR='/etc/zoneinfo'
 
+    # XDG_DATA_DIRS is used by pressure-vessel (steam proton) and vulkan loaders to find the corresponding icd
+    export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}/run/opengl-driver/share:/run/opengl-driver-32/share
+
     # Force compilers and other tools to look in default search paths
     unset NIX_ENFORCE_PURITY
     export NIX_CC_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt}=1
diff --git a/pkgs/build-support/build-graalvm-native-image/default.nix b/pkgs/build-support/build-graalvm-native-image/default.nix
index 3aedd61ea6ce5..d34f562bc5372 100644
--- a/pkgs/build-support/build-graalvm-native-image/default.nix
+++ b/pkgs/build-support/build-graalvm-native-image/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, graalvmCEPackages, glibcLocales }:
+{ lib, stdenv, graalvm, glibcLocales }:
 
 { name ? "${args.pname}-${args.version}"
   # Final executable name
@@ -19,8 +19,8 @@
 , extraNativeImageBuildArgs ? [ ]
   # XMX size of GraalVM during build
 , graalvmXmx ? "-J-Xmx6g"
-  # The GraalVM to use
-, graalvm ? graalvmCEPackages.graalvm11-ce
+  # The GraalVM derivation to use
+, graalvmDrv ? graalvm
 , meta ? { }
 , ...
 } @ args:
@@ -28,7 +28,7 @@
 stdenv.mkDerivation (args // {
   inherit dontUnpack;
 
-  nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ graalvm glibcLocales ];
+  nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ graalvmDrv glibcLocales ];
 
   nativeImageBuildArgs = nativeImageBuildArgs ++ extraNativeImageBuildArgs ++ [ graalvmXmx ];
 
@@ -52,7 +52,7 @@ stdenv.mkDerivation (args // {
 
   meta = {
     # default to graalvm's platforms
-    platforms = graalvm.meta.platforms;
+    platforms = graalvmDrv.meta.platforms;
     # default to executable name
     mainProgram = executable;
   } // meta;
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index 5718cadd4ffa4..5a4e30ede8a3e 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -6,6 +6,7 @@
 , coreutils
 , e2fsprogs
 , fakechroot
+, fakeNss
 , fakeroot
 , findutils
 , go
@@ -15,8 +16,8 @@
 , makeWrapper
 , moreutils
 , nix
+, nixosTests
 , pigz
-, pkgs
 , rsync
 , runCommand
 , runtimeShell
@@ -25,6 +26,7 @@
 , storeDir ? builtins.storeDir
 , substituteAll
 , symlinkJoin
+, tarsum
 , util-linux
 , vmTools
 , writeReferencesToFile
@@ -80,6 +82,15 @@ rec {
     inherit buildImage buildLayeredImage fakeNss pullImage shadowSetup buildImageWithNixDb;
   };
 
+  tests = {
+    inherit (nixosTests)
+      docker-tools
+      docker-tools-overlay
+      # requires remote builder
+      # docker-tools-cross
+      ;
+  };
+
   pullImage =
     let
       fixName = name: builtins.replaceStrings [ "/" ":" ] [ "-" "-" ] name;
@@ -112,7 +123,7 @@ rec {
         outputHashAlgo = "sha256";
         outputHash = sha256;
 
-        nativeBuildInputs = lib.singleton skopeo;
+        nativeBuildInputs = [ skopeo ];
         SSL_CERT_FILE = "${cacert.out}/etc/ssl/certs/ca-bundle.crt";
 
         sourceURL = "docker://${imageName}@${imageDigest}";
@@ -131,7 +142,7 @@ rec {
 
   # We need to sum layer.tar, not a directory, hence tarsum instead of nix-hash.
   # And we cannot untar it, because then we cannot preserve permissions etc.
-  tarsum = pkgs.tarsum;
+  inherit tarsum; # pkgs.dockerTools.tarsum
 
   # buildEnv creates symlinks to dirs, which is hard to edit inside the overlay VM
   mergeDrvs =
@@ -747,31 +758,13 @@ rec {
   # Useful when packaging binaries that insist on using nss to look up
   # username/groups (like nginx).
   # /bin/sh is fine to not exist, and provided by another shim.
-  fakeNss = symlinkJoin {
-    name = "fake-nss";
-    paths = [
-      (writeTextDir "etc/passwd" ''
-        root:x:0:0:root user:/var/empty:/bin/sh
-        nobody:x:65534:65534:nobody:/var/empty:/bin/sh
-      '')
-      (writeTextDir "etc/group" ''
-        root:x:0:
-        nobody:x:65534:
-      '')
-      (writeTextDir "etc/nsswitch.conf" ''
-        hosts: files dns
-      '')
-      (runCommand "var-empty" { } ''
-        mkdir -p $out/var/empty
-      '')
-    ];
-  };
+  inherit fakeNss; # alias
 
   # This provides a /usr/bin/env, for shell scripts using the
   # "#!/usr/bin/env executable" shebang.
   usrBinEnv = runCommand "usr-bin-env" { } ''
     mkdir -p $out/usr/bin
-    ln -s ${pkgs.coreutils}/bin/env $out/usr/bin
+    ln -s ${coreutils}/bin/env $out/usr/bin
   '';
 
   # This provides /bin/sh, pointing to bashInteractive.
diff --git a/pkgs/build-support/docker/examples.nix b/pkgs/build-support/docker/examples.nix
index 941ee048666d0..169edb171db41 100644
--- a/pkgs/build-support/docker/examples.nix
+++ b/pkgs/build-support/docker/examples.nix
@@ -486,7 +486,7 @@ rec {
   cross = let
     # Cross compile for x86_64 if on aarch64
     crossPkgs =
-      if pkgs.system == "aarch64-linux" then pkgsCross.gnu64
+      if pkgs.stdenv.hostPlatform.system == "aarch64-linux" then pkgsCross.gnu64
       else pkgsCross.aarch64-multiplatform;
   in crossPkgs.dockerTools.buildImage {
     name = "hello-cross";
diff --git a/pkgs/build-support/fake-nss/default.nix b/pkgs/build-support/fake-nss/default.nix
new file mode 100644
index 0000000000000..9e0b60133e00f
--- /dev/null
+++ b/pkgs/build-support/fake-nss/default.nix
@@ -0,0 +1,24 @@
+# Provide a /etc/passwd and /etc/group that contain root and nobody.
+# Useful when packaging binaries that insist on using nss to look up
+# username/groups (like nginx).
+# /bin/sh is fine to not exist, and provided by another shim.
+{ symlinkJoin, writeTextDir, runCommand }:
+symlinkJoin {
+  name = "fake-nss";
+  paths = [
+    (writeTextDir "etc/passwd" ''
+      root:x:0:0:root user:/var/empty:/bin/sh
+      nobody:x:65534:65534:nobody:/var/empty:/bin/sh
+    '')
+    (writeTextDir "etc/group" ''
+      root:x:0:
+      nobody:x:65534:
+    '')
+    (writeTextDir "etc/nsswitch.conf" ''
+      hosts: files dns
+    '')
+    (runCommand "var-empty" { } ''
+      mkdir -p $out/var/empty
+    '')
+  ];
+}
diff --git a/pkgs/build-support/fetchpatch/default.nix b/pkgs/build-support/fetchpatch/default.nix
index 6e25b2d6ecc55..d46162c97ff4e 100644
--- a/pkgs/build-support/fetchpatch/default.nix
+++ b/pkgs/build-support/fetchpatch/default.nix
@@ -9,7 +9,8 @@ let
   # 0.3.4 would change hashes: https://github.com/NixOS/nixpkgs/issues/25154
   patchutils = buildPackages.patchutils_0_3_3;
 in
-{ stripLen ? 0
+{ relative ? null
+, stripLen ? 0
 , extraPrefix ? null
 , excludes ? []
 , includes ? []
@@ -17,7 +18,18 @@ in
 , postFetch ? ""
 , ...
 }@args:
-
+let
+  args' = if relative != null then {
+    stripLen = 1 + lib.length (lib.splitString "/" relative) + stripLen;
+    extraPrefix = if extraPrefix != null then extraPrefix else "";
+  } else {
+    inherit stripLen extraPrefix;
+  };
+in let
+  inherit (args') stripLen extraPrefix;
+in
+lib.throwIfNot (excludes == [] || includes == [])
+  "fetchpatch: cannot use excludes and includes simultaneously"
 fetchurl ({
   postFetch = ''
     tmpfile="$TMPDIR/patch"
@@ -27,17 +39,19 @@ fetchurl ({
       exit 1
     fi
 
-    "${patchutils}/bin/lsdiff" "$out" \
-      | sort -u | sed -e 's/[*?]/\\&/g' \
-      | xargs -I{} \
-        "${patchutils}/bin/filterdiff" \
-        --include={} \
-        --strip=${toString stripLen} \
-        ${lib.optionalString (extraPrefix != null) ''
-           --addoldprefix=a/${extraPrefix} \
-           --addnewprefix=b/${extraPrefix} \
-        ''} \
-        --clean "$out" > "$tmpfile"
+    "${patchutils}/bin/lsdiff" \
+      ${lib.optionalString (relative != null) "-p1 -i ${lib.escapeShellArg relative}/'*'"} \
+      "$out" \
+    | sort -u | sed -e 's/[*?]/\\&/g' \
+    | xargs -I{} \
+      "${patchutils}/bin/filterdiff" \
+      --include={} \
+      --strip=${toString stripLen} \
+      ${lib.optionalString (extraPrefix != null) ''
+          --addoldprefix=a/${lib.escapeShellArg extraPrefix} \
+          --addnewprefix=b/${lib.escapeShellArg extraPrefix} \
+      ''} \
+      --clean "$out" > "$tmpfile"
 
     if [ ! -s "$tmpfile" ]; then
       echo "error: Normalized patch '$tmpfile' is empty (while the fetched file was not)!" 1>&2
@@ -64,5 +78,6 @@ fetchurl ({
     ${patchutils}/bin/interdiff "$out" /dev/null > "$tmpfile"
     mv "$tmpfile" "$out"
   '' + postFetch;
-  meta.broken = excludes != [] && includes != [];
-} // builtins.removeAttrs args ["stripLen" "extraPrefix" "excludes" "includes" "revert" "postFetch"])
+} // builtins.removeAttrs args [
+  "relative" "stripLen" "extraPrefix" "excludes" "includes" "revert" "postFetch"
+])
diff --git a/pkgs/build-support/fetchpatch/tests.nix b/pkgs/build-support/fetchpatch/tests.nix
index 4240b325d6563..ff2b81bf3a1dc 100644
--- a/pkgs/build-support/fetchpatch/tests.nix
+++ b/pkgs/build-support/fetchpatch/tests.nix
@@ -5,4 +5,20 @@
     url = "https://github.com/facebook/zstd/pull/2724/commits/e1f85dbca3a0ed5ef06c8396912a0914db8dea6a.patch";
     sha256 = "sha256-PuYAqnJWAE+L9bsroOnnBGJhERW8LHrGSLtIEkKU9vg=";
   };
+
+  relative = invalidateFetcherByDrvHash fetchpatch {
+    url = "https://github.com/boostorg/math/commit/7d482f6ebc356e6ec455ccb5f51a23971bf6ce5b.patch";
+    relative = "include";
+    sha256 = "sha256-KlmIbixcds6GyKYt1fx5BxDIrU7msrgDdYo9Va/KJR4=";
+  };
+
+  full = invalidateFetcherByDrvHash fetchpatch {
+    url = "https://github.com/boostorg/math/commit/7d482f6ebc356e6ec455ccb5f51a23971bf6ce5b.patch";
+    relative = "test";
+    stripLen = 1;
+    extraPrefix = "foo/bar/";
+    excludes = [ "foo/bar/bernoulli_no_atomic_mp.cpp" ];
+    revert = true;
+    sha256 = "sha256-+UKmEbr2rIAweCav/hR/7d4ZrYV84ht/domTrHtm8sM=";
+  };
 }
diff --git a/pkgs/build-support/kernel/make-initrd-ng-tool.nix b/pkgs/build-support/kernel/make-initrd-ng-tool.nix
new file mode 100644
index 0000000000000..66ffc09d43cf8
--- /dev/null
+++ b/pkgs/build-support/kernel/make-initrd-ng-tool.nix
@@ -0,0 +1,9 @@
+{ rustPlatform }:
+
+rustPlatform.buildRustPackage {
+  pname = "make-initrd-ng";
+  version = "0.1.0";
+
+  src = ./make-initrd-ng;
+  cargoLock.lockFile = ./make-initrd-ng/Cargo.lock;
+}
diff --git a/pkgs/build-support/kernel/make-initrd-ng.nix b/pkgs/build-support/kernel/make-initrd-ng.nix
new file mode 100644
index 0000000000000..9fd202c44847a
--- /dev/null
+++ b/pkgs/build-support/kernel/make-initrd-ng.nix
@@ -0,0 +1,79 @@
+let
+  # Some metadata on various compression programs, relevant to naming
+  # the initramfs file and, if applicable, generating a u-boot image
+  # from it.
+  compressors = import ./initrd-compressor-meta.nix;
+  # Get the basename of the actual compression program from the whole
+  # compression command, for the purpose of guessing the u-boot
+  # compression type and filename extension.
+  compressorName = fullCommand: builtins.elemAt (builtins.match "([^ ]*/)?([^ ]+).*" fullCommand) 1;
+in
+{ stdenvNoCC, perl, cpio, ubootTools, lib, pkgsBuildHost, makeInitrdNGTool, patchelf, runCommand, glibc
+# Name of the derivation (not of the resulting file!)
+, name ? "initrd"
+
+# 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"`.
+, compressor ? "gzip"
+, _compressorFunction ?
+  if lib.isFunction compressor then compressor
+  else if ! builtins.hasContext compressor && builtins.hasAttr compressor compressors then compressors.${compressor}.executable
+  else _: compressor
+, _compressorExecutable ? _compressorFunction pkgsBuildHost
+, _compressorName ? compressorName _compressorExecutable
+, _compressorMeta ? compressors.${_compressorName} or {}
+
+# List of arguments to pass to the compressor program, or null to use its defaults
+, compressorArgs ? null
+, _compressorArgsReal ? if compressorArgs == null then _compressorMeta.defaultArgs or [] else compressorArgs
+
+# Filename extension to use for the compressed initramfs. This is
+# included for clarity, but $out/initrd will always be a symlink to
+# the final image.
+# If this isn't guessed, you may want to complete the metadata above and send a PR :)
+, extension ? _compressorMeta.extension or
+    (throw "Unrecognised compressor ${_compressorName}, please specify filename extension")
+
+# List of { object = path_or_derivation; symlink = "/path"; }
+# The paths are copied into the initramfs in their nix store path
+# form, then linked at the root according to `symlink`.
+, contents
+
+# List of uncompressed cpio files to prepend to the initramfs. This
+# can be used to add files in specified paths without them becoming
+# symlinks to store paths.
+, prepend ? []
+
+# Whether to wrap the initramfs in a u-boot image.
+, makeUInitrd ? stdenvNoCC.hostPlatform.linux-kernel.target == "uImage"
+
+# If generating a u-boot image, the architecture to use. The default
+# guess may not align with u-boot's nomenclature correctly, so it can
+# be overridden.
+# See https://gitlab.denx.de/u-boot/u-boot/-/blob/9bfb567e5f1bfe7de8eb41f8c6d00f49d2b9a426/common/image.c#L81-106 for a list.
+, uInitrdArch ? stdenvNoCC.hostPlatform.linuxArch
+
+# The name of the compression, as recognised by u-boot.
+# See https://gitlab.denx.de/u-boot/u-boot/-/blob/9bfb567e5f1bfe7de8eb41f8c6d00f49d2b9a426/common/image.c#L195-204 for a list.
+# 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 {
+  compress = "${_compressorExecutable} ${lib.escapeShellArgs _compressorArgsReal}";
+  passthru = {
+    compressorExecutableFunction = _compressorFunction;
+    compressorArgs = _compressorArgsReal;
+  };
+
+  passAsFile = ["contents"];
+  contents = lib.concatMapStringsSep "\n" ({ object, symlink, ... }: "${object}\n${if symlink == null then "" else symlink}") contents + "\n";
+
+  nativeBuildInputs = [makeInitrdNGTool patchelf glibc cpio];
+} ''
+  mkdir ./root
+  make-initrd-ng "$contentsPath" ./root
+  mkdir "$out"
+  (cd root && find * .[^.*] -exec touch -h -d '@1' '{}' +)
+  (cd root && find * .[^.*] -print0 | sort -z | cpio -o -H newc -R +0:+0 --reproducible --null | eval -- $compress >> "$out/initrd")
+''
diff --git a/pkgs/build-support/kernel/make-initrd-ng/Cargo.lock b/pkgs/build-support/kernel/make-initrd-ng/Cargo.lock
new file mode 100644
index 0000000000000..75e732029b511
--- /dev/null
+++ b/pkgs/build-support/kernel/make-initrd-ng/Cargo.lock
@@ -0,0 +1,5 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+[[package]]
+name = "make-initrd-ng"
+version = "0.1.0"
diff --git a/pkgs/build-support/kernel/make-initrd-ng/Cargo.toml b/pkgs/build-support/kernel/make-initrd-ng/Cargo.toml
new file mode 100644
index 0000000000000..9076f6b156176
--- /dev/null
+++ b/pkgs/build-support/kernel/make-initrd-ng/Cargo.toml
@@ -0,0 +1,9 @@
+[package]
+name = "make-initrd-ng"
+version = "0.1.0"
+authors = ["Will Fancher <elvishjerricco@gmail.com>"]
+edition = "2018"
+
+# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+
+[dependencies]
diff --git a/pkgs/build-support/kernel/make-initrd-ng/README.md b/pkgs/build-support/kernel/make-initrd-ng/README.md
new file mode 100644
index 0000000000000..741eba67e43f0
--- /dev/null
+++ b/pkgs/build-support/kernel/make-initrd-ng/README.md
@@ -0,0 +1,79 @@
+# What is this for?
+
+NixOS's traditional initrd is generated by listing the paths that
+should be included in initrd and copying the full runtime closure of
+those paths into the archive. For most things, like almost any
+executable, this involves copying the entirety of huge packages like
+glibc, when only things like the shared library files are needed. To
+solve this, NixOS does a variety of patchwork to edit the files being
+copied in so they only refer to small, patched up paths. For instance,
+executables and their shared library dependencies are copied into an
+`extraUtils` derivation, and every ELF file is patched to refer to
+files in that output.
+
+The problem with this is that it is often difficult to correctly patch
+some things. For instance, systemd bakes the path to the `mount`
+command into the binary, so patchelf is no help. Instead, it's very
+often easier to simply copy the desired files to their original store
+locations in initrd and not copy their entire runtime closure. This
+does mean that it is the burden of the developer to ensure that all
+necessary dependencies are copied in, as closures won't be
+consulted. However, it is rare that full closures are actually
+desirable, so in the traditional initrd, the developer was likely to
+do manual work on patching the dependencies explicitly anyway.
+
+# How it works
+
+This program is similar to its inspiration (`find-libs` from the
+traditional initrd), except that it also handles symlinks and
+directories according to certain rules. As input, it receives a
+sequence of pairs of paths. The first path is an object to copy into
+initrd. The second path (if not empty) is the path to a symlink that
+should be placed in the initrd, pointing to that object. How that
+object is copied depends on its type.
+
+1. A regular file is copied directly to the same absolute path in the
+   initrd.
+
+   - If it is *also* an ELF file, then all of its direct shared
+     library dependencies are also listed as objects to be copied.
+
+2. A directory's direct children are listed as objects to be copied,
+   and a directory at the same absolute path in the initrd is created.
+
+3. A symlink's target is listed as an object to be copied.
+
+There are a couple of quirks to mention here. First, the term "object"
+refers to the final file path that the developer intends to have
+copied into initrd. This means any parent directory is not considered
+an object just because its child was listed as an object in the
+program input; instead those intermediate directories are simply
+created in support of the target object. Second, shared libraries,
+directory children, and symlink targets aren't immediately recursed,
+because they simply get listed as objects themselves, and are
+therefore traversed when they themselves are processed. Finally,
+symlinks in the intermediate directories leading to an object are
+preserved, meaning an input object `/a/symlink/b` will just result in
+initrd containing `/a/symlink -> /target/b` and `/target/b`, even if
+`/target` has other children. Preserving symlinks in this manner is
+important for things like systemd.
+
+These rules automate the most important and obviously necessary
+copying that needs to be done in most cases, allowing programs and
+configuration files to go unpatched, while keeping the content of the
+initrd to a minimum.
+
+# Why Rust?
+
+- A prototype of this logic was written in Bash, in an attempt to keep
+  with its `find-libs` ancestor, but that program was difficult to
+  write, and ended up taking several minutes to run. This program runs
+  in less than a second, and the code is substantially easier to work
+  with.
+
+- This will not require end users to install a rust toolchain to use
+  NixOS, as long as this tool is cached by Hydra. And if you're
+  bootstrapping NixOS from source, rustc is already required anyway.
+
+- Rust was favored over Python for its type system, and because if you
+  want to go fast, why not go *really fast*?
diff --git a/pkgs/build-support/kernel/make-initrd-ng/src/main.rs b/pkgs/build-support/kernel/make-initrd-ng/src/main.rs
new file mode 100644
index 0000000000000..1342734590f72
--- /dev/null
+++ b/pkgs/build-support/kernel/make-initrd-ng/src/main.rs
@@ -0,0 +1,208 @@
+use std::collections::{HashSet, VecDeque};
+use std::env;
+use std::ffi::OsStr;
+use std::fs;
+use std::hash::Hash;
+use std::io::{BufReader, BufRead, Error, ErrorKind};
+use std::os::unix;
+use std::path::{Component, Path, PathBuf};
+use std::process::{Command, Stdio};
+
+struct NonRepeatingQueue<T> {
+    queue: VecDeque<T>,
+    seen: HashSet<T>,
+}
+
+impl<T> NonRepeatingQueue<T> {
+    fn new() -> NonRepeatingQueue<T> {
+        NonRepeatingQueue {
+            queue: VecDeque::new(),
+            seen: HashSet::new(),
+        }
+    }
+}
+
+impl<T: Clone + Eq + Hash> NonRepeatingQueue<T> {
+    fn push_back(&mut self, value: T) -> bool {
+        if self.seen.contains(&value) {
+            false
+        } else {
+            self.seen.insert(value.clone());
+            self.queue.push_back(value);
+            true
+        }
+    }
+
+    fn pop_front(&mut self) -> Option<T> {
+        self.queue.pop_front()
+    }
+}
+
+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)
+        .stderr(Stdio::inherit())
+        .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>>(
+    source: P,
+    target: S,
+    queue: &mut NonRepeatingQueue<Box<Path>>,
+) -> Result<(), Error> {
+    fs::copy(&source, target)?;
+
+    if !Command::new("ldd").arg(&source).output()?.status.success() {
+        //stdout(Stdio::inherit()).stderr(Stdio::inherit()).
+        println!("{:?} is not dynamically linked. Not recursing.", OsStr::new(&source));
+        return Ok(());
+    }
+
+    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 rpath = rpath_string.trim().split(":").map(|p| Box::<Path>::from(Path::new(p))).collect::<Vec<_>>();
+
+    for line in needed_string.lines() {
+        let mut found = false;
+        for path in &rpath {
+            let lib = path.join(line);
+            if lib.exists() {
+                // No need to recurse. The queue will bring it back round.
+                queue.push_back(Box::from(lib.as_path()));
+                found = true;
+                break;
+            }
+        }
+        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));
+        }
+    }
+
+    Ok(())
+}
+
+fn queue_dir<P: AsRef<Path>>(
+    source: P,
+    queue: &mut NonRepeatingQueue<Box<Path>>,
+) -> Result<(), Error> {
+    for entry in fs::read_dir(source)? {
+        let entry = entry?;
+        // No need to recurse. The queue will bring us back round here on its own.
+        queue.push_back(Box::from(entry.path().as_path()));
+    }
+
+    Ok(())
+}
+
+fn handle_path(
+    root: &Path,
+    p: &Path,
+    queue: &mut NonRepeatingQueue<Box<Path>>,
+) -> Result<(), Error> {
+    let mut source = PathBuf::new();
+    let mut target = Path::new(root).to_path_buf();
+    let mut iter = p.components().peekable();
+    while let Some(comp) = iter.next() {
+        match comp {
+            Component::Prefix(_) => panic!("This tool is not meant for Windows"),
+            Component::RootDir => {
+                target.clear();
+                target.push(root);
+                source.clear();
+                source.push("/");
+            }
+            Component::CurDir => {}
+            Component::ParentDir => {
+                // Don't over-pop the target if the path has too many ParentDirs
+                if source.pop() {
+                    target.pop();
+                }
+            }
+            Component::Normal(name) => {
+                target.push(name);
+                source.push(name);
+                let typ = fs::symlink_metadata(&source)?.file_type();
+                if typ.is_file() && !target.exists() {
+                    copy_file(&source, &target, queue)?;
+                } else if typ.is_symlink() {
+                    let link_target = fs::read_link(&source)?;
+
+                    // Create the link, then push its target to the queue
+                    if !target.exists() {
+                        unix::fs::symlink(&link_target, &target)?;
+                    }
+                    source.pop();
+                    source.push(link_target);
+                    while let Some(c) = iter.next() {
+                        source.push(c);
+                    }
+                    let link_target_path = source.as_path();
+                    if link_target_path.exists() {
+                        queue.push_back(Box::from(link_target_path));
+                    }
+                    break;
+                } else if typ.is_dir() {
+                    if !target.exists() {
+                        fs::create_dir(&target)?;
+                    }
+
+                    // Only recursively copy if the directory is the target object
+                    if iter.peek().is_none() {
+                        queue_dir(&source, queue)?;
+                    }
+                }
+            }
+        }
+    }
+
+    Ok(())
+}
+
+fn main() -> Result<(), Error> {
+    let args: Vec<String> = env::args().collect();
+    let input = fs::File::open(&args[1])?;
+    let output = &args[2];
+    let out_path = Path::new(output);
+
+    let mut queue = NonRepeatingQueue::<Box<Path>>::new();
+
+    let mut lines = BufReader::new(input).lines();
+    while let Some(obj) = lines.next() {
+        // Lines should always come in pairs
+        let obj = obj?;
+        let sym = lines.next().unwrap()?;
+
+        let obj_path = Path::new(&obj);
+        queue.push_back(Box::from(obj_path));
+        if !sym.is_empty() {
+            println!("{} -> {}", &sym, &obj);
+            // We don't care about preserving symlink structure here
+            // nearly as much as for the actual objects.
+            let link_string = format!("{}/{}", output, sym);
+            let link_path = Path::new(&link_string);
+            let mut link_parent = link_path.to_path_buf();
+            link_parent.pop();
+            fs::create_dir_all(link_parent)?;
+            unix::fs::symlink(obj_path, link_path)?;
+        }
+    }
+    while let Some(obj) = queue.pop_front() {
+        println!("{:?}", obj);
+        handle_path(out_path, &*obj, &mut queue)?;
+    }
+
+    Ok(())
+}
diff --git a/pkgs/build-support/make-darwin-bundle/write-darwin-bundle.nix b/pkgs/build-support/make-darwin-bundle/write-darwin-bundle.nix
index d21e0475e2df5..fde977c3636b7 100644
--- a/pkgs/build-support/make-darwin-bundle/write-darwin-bundle.nix
+++ b/pkgs/build-support/make-darwin-bundle/write-darwin-bundle.nix
@@ -5,6 +5,7 @@ let
     CFBundleDevelopmentRegion = "English";
     CFBundleExecutable = "$name";
     CFBundleIconFile = "$icon";
+    CFBundleIconFiles = [ "$icon" ];
     CFBundleIdentifier = "org.nixos.$name";
     CFBundleInfoDictionaryVersion = "6.0";
     CFBundleName = "$name";
@@ -25,11 +26,8 @@ in writeScriptBin "write-darwin-bundle" ''
 ${pListText}
 EOF
 
-  if [[ $squircle != 0 && $squircle != "false" ]]; then
-    sed  "
-      s|CFBundleIconFile|CFBundleIconFiles|;
-      s|<string>$icon</string>|<array><string>$icon</string></array>|
-    " -i "$plist"
+  if [[ $squircle == 0 || $squircle == "false" ]]; then
+    sed  '/CFBundleIconFiles/,\|</array>|d' -i "$plist"
   fi
 
     cat > "$prefix/Applications/$name.app/Contents/MacOS/$name" <<EOF
diff --git a/pkgs/build-support/make-desktopitem/default.nix b/pkgs/build-support/make-desktopitem/default.nix
index d831fe24d33b2..e09fd0e20f226 100644
--- a/pkgs/build-support/make-desktopitem/default.nix
+++ b/pkgs/build-support/make-desktopitem/default.nix
@@ -34,11 +34,6 @@
 , extraConfig ? {} # Additional values to be added literally to the final item, e.g. vendor extensions
 }:
 let
-  # FIXME: workaround until https://github.com/NixOS/nixpkgs/pull/162246 lands
-  cleanName = if lib.hasInfix " " name
-                then throw "makeDesktopItem: name must not contain spaces!"
-                else name;
-
   # There are multiple places in the FDO spec that make "boolean" values actually tristate,
   # e.g. StartupNotify, where "unset" is literally defined as "do something reasonable".
   # So, handle null values separately.
@@ -116,8 +111,8 @@ let
   content = [ mainSectionRendered ] ++ actionsRendered;
 in
 writeTextFile {
-  name = "${cleanName}.desktop";
-  destination = "/share/applications/${cleanName}.desktop";
+  name = "${name}.desktop";
+  destination = "/share/applications/${name}.desktop";
   text = builtins.concatStringsSep "\n" content;
-  checkPhase = "${buildPackages.desktop-file-utils}/bin/desktop-file-validate $target";
+  checkPhase = ''${buildPackages.desktop-file-utils}/bin/desktop-file-validate "$target"'';
 }
diff --git a/pkgs/build-support/ocaml/dune.nix b/pkgs/build-support/ocaml/dune.nix
index 18e8784cfab30..f82bac7d199db 100644
--- a/pkgs/build-support/ocaml/dune.nix
+++ b/pkgs/build-support/ocaml/dune.nix
@@ -1,8 +1,11 @@
-{ lib, stdenv, ocaml, findlib, dune_1, dune_2 }:
+{ lib, stdenv, ocaml, findlib, dune_1, dune_2, dune_3 }:
 
 { pname, version, nativeBuildInputs ? [], enableParallelBuilding ? true, ... }@args:
 
-let Dune = if args.useDune2 or true then dune_2 else dune_1; in
+let Dune =
+  let dune-version = args . duneVersion or (if args.useDune2 or true then "2" else "1"); in
+  { "1" = dune_1; "2" = dune_2; "3" = dune_3; }."${dune-version}"
+; in
 
 if (args ? minimumOCamlVersion && ! lib.versionAtLeast ocaml.version args.minimumOCamlVersion) ||
    (args ? minimalOCamlVersion && ! lib.versionAtLeast ocaml.version args.minimalOCamlVersion)
@@ -31,7 +34,7 @@ stdenv.mkDerivation ({
     runHook postInstall
   '';
 
-} // (builtins.removeAttrs args [ "minimalOCamlVersion" ]) // {
+} // (builtins.removeAttrs args [ "minimalOCamlVersion" "duneVersion" ]) // {
 
   name = "ocaml${ocaml.version}-${pname}-${version}";
 
diff --git a/pkgs/build-support/setup-hooks/desktop-to-darwin-bundle.sh b/pkgs/build-support/setup-hooks/desktop-to-darwin-bundle.sh
index b2e2738cb6ece..d54af90b68888 100644
--- a/pkgs/build-support/setup-hooks/desktop-to-darwin-bundle.sh
+++ b/pkgs/build-support/setup-hooks/desktop-to-darwin-bundle.sh
@@ -18,7 +18,9 @@ convertIconTheme() {
     local -r iconName=$3
     local -r theme=${4:-hicolor}
 
-    local -ra iconSizes=(16 32 48 128 256 512)
+    # Sizes based on archived Apple documentation:
+    # https://developer.apple.com/design/human-interface-guidelines/macos/icons-and-images/app-icon#app-icon-sizes
+    local -ra iconSizes=(16 32 128 256 512)
     local -ra scales=([1]="" [2]="@2")
 
     # Based loosely on the algorithm at:
@@ -31,13 +33,6 @@ convertIconTheme() {
         local scaleSuffix=${scales[$scale]}
         local exactSize=${iconSize}x${iconSize}${scaleSuffix}
 
-        if [[ $exactSize = '48x48@2' ]]; then
-            # macOS does not support a 2x scale variant of 48x48 icons
-            # See: https://en.wikipedia.org/wiki/Apple_Icon_Image_format#Icon_types
-            echo "unsupported"
-            return 0
-        fi
-
         local -a validSizes=(
             ${exactSize}
             $((iconSize + 1))x$((iconSize + 1))${scaleSuffix}
@@ -55,8 +50,10 @@ convertIconTheme() {
                     else
                         echo "threshold $icon"
                     fi
-                    return 0
+                elif [[ -a $icon ]]; then
+                  echo "fallback $icon"
                 fi
+                return 0
             done
         done
         echo "scalable"
@@ -106,6 +103,17 @@ convertIconTheme() {
             scalableIcon=('-')
         fi
 
+        # Tri-state variable, NONE means no icons have been found, an empty
+        # icns file will be generated, not sure that's necessary because macOS
+        # will default to a generic icon if no icon can be found.
+        #
+        # OTHER means an appropriate icon was found.
+        #
+        # Any other value is a path to an icon file that isn't scalable or
+        # within the threshold. This is used as a fallback in case no better
+        # icon can be found and will be scaled as much as
+        # necessary to result in appropriate icon sizes.
+        local foundIcon=NONE
         for iconSize in "${iconSizes[@]}"; do
             for scale in "${!scales[@]}"; do
                 local iconResult=$(findIcon $iconSize $scale)
@@ -117,6 +125,7 @@ convertIconTheme() {
                     fixed)
                         local density=$((72 * scale))x$((72 * scale))
                         magick convert -density "$density" -units PixelsPerInch "$icon" "$result"
+                        foundIcon=OTHER
                         ;;
                     threshold)
                         # Synthesize an icon of the exact size if a scalable icon is available
@@ -124,21 +133,38 @@ convertIconTheme() {
                         if ! synthesizeIcon "${scalableIcon[0]}" "$result" "$iconSize" "$scale"; then
                             resizeIcon "$icon" "$result" "$iconSize" "$scale"
                         fi
+                        foundIcon=OTHER
                         ;;
                     scalable)
                         synthesizeIcon "${scalableIcon[0]}" "$result" "$iconSize" "$scale" || true
+                        foundIcon=OTHER
+                        ;;
+                    fallback)
+                        # Use the largest size available to scale to
+                        # appropriate sizes.
+                        if [[ $foundIcon != OTHER ]]; then
+                          foundIcon=$icon
+                        fi
                         ;;
                     *)
                         ;;
                 esac
             done
         done
+        if [[ $foundIcon != NONE && $foundIcon != OTHER ]]; then
+            # Ideally we'd only resize to whatever the closest sizes are,
+            # starting from whatever icon sizes are available.
+            for iconSize in 16 32 128 256 512; do
+              local result=${resultdir}/${iconSize}x${iconSize}.png
+              resizeIcon "$foundIcon" "$result" "$iconSize" 1
+            done
+        fi
         echo "$resultdir"
     }
 
     iconsdir=$(getIcons "$sharePath" "apps/${iconName}" "$theme")
-    if [[ ! -z "$(ls -1 "$iconsdir/"*)" ]]; then
-        icnsutil compose "$out/${iconName}.icns" "$iconsdir/"*
+    if [[ -n "$(ls -1 "$iconsdir/"*)" ]]; then
+        icnsutil compose --toc "$out/${iconName}.icns" "$iconsdir/"*
     else
         echo "Warning: no icons were found. Creating an empty icon for ${iconName}.icns."
         touch "$out/${iconName}.icns"
diff --git a/pkgs/build-support/test-equal-derivation.nix b/pkgs/build-support/test-equal-derivation.nix
index 5d2185ce16525..652f3716b2a7f 100644
--- a/pkgs/build-support/test-equal-derivation.nix
+++ b/pkgs/build-support/test-equal-derivation.nix
@@ -23,7 +23,7 @@ let
   drvB = builtins.unsafeDiscardOutputDependency b.drvPath or (throw "testEqualDerivation third argument must be a package");
   name =
     if a?name
-    then lib.strings.sanitizeDerivationName "testEqualDerivation-${a.name}"
+    then "testEqualDerivation-${a.name}"
     else "testEqualDerivation";
 in
 if drvA == drvB then
diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix
index 68f0f1bc4ddcb..4a3d37788814e 100644
--- a/pkgs/build-support/trivial-builders.nix
+++ b/pkgs/build-support/trivial-builders.nix
@@ -70,8 +70,7 @@ rec {
     # name of the resulting derivation
     }: buildCommand:
     stdenv.mkDerivation ({
-      name = lib.strings.sanitizeDerivationName name;
-      inherit buildCommand;
+      inherit buildCommand name;
       passAsFile = [ "buildCommand" ]
         ++ (derivationArgs.passAsFile or []);
     }
@@ -121,7 +120,7 @@ rec {
         allowSubstitutes = false;
       }
       ''
-        target=$out${destination}
+        target=$out${lib.escapeShellArg destination}
         mkdir -p "$(dirname "$target")"
 
         if [ -e "$textPath" ]; then
diff --git a/pkgs/build-support/trivial-builders/test/write-text-file.nix b/pkgs/build-support/trivial-builders/test/write-text-file.nix
new file mode 100644
index 0000000000000..ac83a75fca4ab
--- /dev/null
+++ b/pkgs/build-support/trivial-builders/test/write-text-file.nix
@@ -0,0 +1,34 @@
+{ writeTextFile }:
+let
+  veryWeirdName = ''here's a name with some "bad" characters, like spaces and quotes'';
+in writeTextFile {
+  name = "weird-names";
+  destination = "/etc/${veryWeirdName}";
+  text = ''passed!'';
+  checkPhase = ''
+    # intentionally hardcode everything here, to make sure
+    # Nix does not mess with file paths
+
+    name="here's a name with some \"bad\" characters, like spaces and quotes"
+    fullPath="$out/etc/$name"
+
+    if [ -f "$fullPath" ]; then
+      echo "[PASS] File exists!"
+    else
+      echo "[FAIL] File was not created at expected path!"
+      exit 1
+    fi
+
+    content=$(<"$fullPath")
+    expected="passed!"
+
+    if [ "$content" = "$expected" ]; then
+      echo "[PASS] Contents match!"
+    else
+      echo "[FAIL] File contents don't match!"
+      echo "       Expected: $expected"
+      echo "       Got:      $content"
+      exit 2
+    fi
+  '';
+}
diff --git a/pkgs/build-support/writers/default.nix b/pkgs/build-support/writers/default.nix
index 0fb9bd939a585..2eb021236f9f5 100644
--- a/pkgs/build-support/writers/default.nix
+++ b/pkgs/build-support/writers/default.nix
@@ -1,7 +1,7 @@
 { pkgs, config, buildPackages, lib, stdenv, libiconv, mkNugetDeps, mkNugetSource, gawk, gnused, gixy }:
 
 let
-  aliases = if (config.allowAliases or true) then (import ./aliases.nix lib) else prev: {};
+  aliases = if config.allowAliases then (import ./aliases.nix lib) else prev: {};
 
   writers = with lib; rec {
   # Base implementation for non-compiled executables.
diff --git a/pkgs/data/documentation/gnome-user-docs/default.nix b/pkgs/data/documentation/gnome-user-docs/default.nix
index 23dfd975bf745..db177006a3dd1 100644
--- a/pkgs/data/documentation/gnome-user-docs/default.nix
+++ b/pkgs/data/documentation/gnome-user-docs/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-user-docs";
-  version = "41.2";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-user-docs/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "0xcIld06i7EXyfFIoLs/tJDRr3ExxEFod7G7/sWROVo=";
+    sha256 = "srJ9oEEAu90vTw5bw48tBW2V+jZWcgFj9kNqMWfV6QU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/data/documentation/man-pages/default.nix b/pkgs/data/documentation/man-pages/default.nix
index 60a7e3f229f59..5b33714fc258a 100644
--- a/pkgs/data/documentation/man-pages/default.nix
+++ b/pkgs/data/documentation/man-pages/default.nix
@@ -24,7 +24,6 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Linux development manual pages";
     homepage = "https://www.kernel.org/doc/man-pages/";
-    repositories.git = "https://git.kernel.org/pub/scm/docs/man-pages/man-pages";
     license = licenses.gpl2Plus;
     platforms = with platforms; unix;
     priority = 30; # if a package comes with its own man page, prefer it
diff --git a/pkgs/data/documentation/rnrs/r3rs.nix b/pkgs/data/documentation/rnrs/r3rs.nix
deleted file mode 100644
index d252a1680bd71..0000000000000
--- a/pkgs/data/documentation/rnrs/r3rs.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ fetchurl, stdenv, texinfo }:
-
-import ./common.nix {
-  inherit fetchurl stdenv texinfo;
-  revision = 3;
-  sha256 = "0knrpkr74s8yn4xcqxkqpgxmzdmzrvahh1n1csqc1wwd2rb4vnpr";
-}
diff --git a/pkgs/data/documentation/std-man-pages/default.nix b/pkgs/data/documentation/std-man-pages/default.nix
index a2f9f005eb933..c9ce9c2bf7646 100644
--- a/pkgs/data/documentation/std-man-pages/default.nix
+++ b/pkgs/data/documentation/std-man-pages/default.nix
@@ -1,10 +1,11 @@
 { stdenv, lib, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "std-man-pages-4.4.0";
+stdenv.mkDerivation rec {
+  pname = "std-man-pages";
+  version = "4.4.0";
 
   src = fetchurl {
-    url = "mirror://gcc/libstdc++/doxygen/libstdc++-man.4.4.0.tar.bz2";
+    url = "mirror://gcc/libstdc++/doxygen/libstdc++-man.${version}.tar.bz2";
     sha256 = "0153py77ll759jacq41dp2z2ksr08pdcfic0rwjd6pr84dk89y9v";
   };
 
diff --git a/pkgs/data/fonts/dancing-script/default.nix b/pkgs/data/fonts/dancing-script/default.nix
new file mode 100644
index 0000000000000..5129f4bc5a5ec
--- /dev/null
+++ b/pkgs/data/fonts/dancing-script/default.nix
@@ -0,0 +1,27 @@
+{ lib, fetchFromGitHub }:
+
+let
+  pname = "dancing-script";
+  version = "2.0";
+in fetchFromGitHub {
+  name = "${pname}-${version}";
+
+  owner = "impallari";
+  repo = "DancingScript";
+  rev = "f7f54bc1b8836601dae8696666bfacd306f77e34";
+  sha256 = "dfFvh8h+oMhAQL9XKMrNr07VUkdQdxAsA8+q27KWWCA=";
+
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
+    install -m444 -Dt $out/share/fonts/truetype fonts/ttf/*.ttf
+  '';
+
+  meta = with lib; {
+    description = "Dancing Script";
+    longDescription = "A lively casual script where the letters bounce and change size slightly.";
+    homepage = "https://github.com/impallari/DancingScript";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wdavidw ];
+  };
+}
diff --git a/pkgs/data/fonts/mplus-outline-fonts/default.nix b/pkgs/data/fonts/mplus-outline-fonts/default.nix
index 75e8899e664a2..d9cfadd5f088d 100644
--- a/pkgs/data/fonts/mplus-outline-fonts/default.nix
+++ b/pkgs/data/fonts/mplus-outline-fonts/default.nix
@@ -1,25 +1,45 @@
-{ lib, fetchzip }:
+{ lib, fetchzip, fetchFromGitHub }:
 
-let
-  version = "063a";
-in fetchzip {
-  name = "mplus-${version}";
+let pname = "mplus-outline-fonts";
+in {
+  osdnRelease = fetchzip {
+    name = "${pname}-osdn";
+    url = "mirror://osdn/mplus-fonts/62344/mplus-TESTFLIGHT-063a.tar.xz";
+    sha256 = "16jirhkjs46ac8cdk2w4xkpv989gmz7i8gnrq9bck13rbil7wlzr";
+    postFetch = ''
+      mkdir -p $out/share/fonts/truetype/${pname}
+      tar xvJf $downloadedFile
+      mv */*.ttf $out/share/fonts/truetype/${pname}
+    '';
 
-  url = "mirror://osdn/mplus-fonts/62344/mplus-TESTFLIGHT-${version}.tar.xz";
-
-  postFetch = ''
-    tar -xJf $downloadedFile --strip-components=1
-    mkdir -p $out/share/fonts/truetype
-    cp *.ttf $out/share/fonts/truetype
-  '';
+    meta = with lib; {
+      description = "M+ Outline Fonts (legacy OSDN release)";
+      homepage = "https://mplus-fonts.osdn.jp";
+      maintainers = with maintainers; [ henrytill uakci ];
+      platforms = platforms.all;
+      license = licenses.mit;
+    };
+  };
 
-  sha256 = "1khbkch2r96ppifc93bmy1v047pgciyhfmcjb98ggncp5ix885xz";
+  githubRelease = fetchFromGitHub {
+    name = "${pname}-github";
+    owner = "coz-m";
+    repo = "MPLUS_FONTS";
+    rev = "336fec4e9e7c1e61bd22b82e6364686121cf3932";
+    sha256 = "1ha92hyzcfbbq682c50k8clbhigc09rcb9mxjzjwqfj9rfp348id";
+    postFetch = ''
+      mkdir -p $out/share/fonts/{truetype,opentype}/${pname}
+      tar xvzf $downloadedFile
+      mv */fonts/ttf/* $out/share/fonts/truetype/${pname}
+      mv */fonts/otf/* $out/share/fonts/opentype/${pname}
+    '';
 
-  meta = with lib; {
-    description = "M+ Outline Fonts";
-    homepage = "https://mplus-fonts.osdn.jp/about-en.html";
-    license = licenses.mit;
-    maintainers = with maintainers; [ henrytill ];
-    platforms = platforms.all;
+    meta = with lib; {
+      description = "M+ Outline Fonts (GitHub release)";
+      homepage = "https://mplusfonts.github.io";
+      maintainers = with maintainers; [ henrytill uakci ];
+      platforms = platforms.all;
+      license = licenses.ofl;
+    };
   };
 }
diff --git a/pkgs/data/fonts/noto-fonts/default.nix b/pkgs/data/fonts/noto-fonts/default.nix
index 248d076b997a2..4d91bf8905d55 100644
--- a/pkgs/data/fonts/noto-fonts/default.nix
+++ b/pkgs/data/fonts/noto-fonts/default.nix
@@ -71,11 +71,11 @@ let
         owner = "googlefonts";
         repo = "noto-cjk";
         inherit rev sha256;
-        sparseCheckout = "${typeface}/OTC";
+        sparseCheckout = "${typeface}/Variable/OTC";
       };
 
       installPhase = ''
-        install -m444 -Dt $out/share/fonts/opentype/noto-cjk ${typeface}/OTC/*.ttc
+        install -m444 -Dt $out/share/fonts/opentype/noto-cjk ${typeface}/Variable/OTC/*.otf.ttc
       '';
 
       passthru.tests.noto-fonts = nixosTests.noto-fonts;
@@ -117,14 +117,14 @@ in
     typeface = "Sans";
     version = "2.004";
     rev = "9f7f3c38eab63e1d1fddd8d50937fe4f1eacdb1d";
-    sha256 = "sha256-pNC/WJCYHSlU28E/CSFsrEMbyCe/6tjevDlOvDK9RwU=";
+    sha256 = "sha256-11d/78i21yuzxrfB5t2VQN9OBz/qZKeozuS6BrLFjzw=";
   };
 
   noto-fonts-cjk-serif = mkNotoCJK {
     typeface = "Serif";
     version = "2.000";
     rev = "9f7f3c38eab63e1d1fddd8d50937fe4f1eacdb1d";
-    sha256 = "sha256-Iy4lmWj5l+/Us/dJJ/Jl4MEojE9mrFnhNQxX2zhVngY=";
+    sha256 = "sha256-G+yl3LZvSFpbEUuuvattPDctKTzBCshOi970DcbPliE=";
   };
 
   noto-fonts-emoji = let
diff --git a/pkgs/data/fonts/sarasa-gothic/default.nix b/pkgs/data/fonts/sarasa-gothic/default.nix
index efd58b348dcdd..57c356136748d 100644
--- a/pkgs/data/fonts/sarasa-gothic/default.nix
+++ b/pkgs/data/fonts/sarasa-gothic/default.nix
@@ -1,14 +1,14 @@
 { lib, fetchurl, libarchive }:
 
 let
-  version = "0.36.0";
+  version = "0.36.1";
 in fetchurl {
   name = "sarasa-gothic-${version}";
 
   # Use the 'ttc' files here for a smaller closure size.
   # (Using 'ttf' files gives a closure size about 15x larger, as of November 2021.)
   url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/sarasa-gothic-ttc-${version}.7z";
-  sha256 = "sha256-ENBF7dVFp9lrGGRwNIB0Yg7y1F5XbVivgD2e9pLZQwQ=";
+  sha256 = "sha256-w8PVDvbnHFZF7/X4EzO0IJsEKMC7c+GPng1sn8Q8G14=";
 
   recursiveHash = true;
   downloadToTemp = true;
diff --git a/pkgs/data/fonts/twitter-color-emoji/default.nix b/pkgs/data/fonts/twitter-color-emoji/default.nix
index 6cceee558a941..92c01b427e2d9 100644
--- a/pkgs/data/fonts/twitter-color-emoji/default.nix
+++ b/pkgs/data/fonts/twitter-color-emoji/default.nix
@@ -14,14 +14,14 @@
 }:
 
 let
-  version = "13.0.2";
+  version = "14.0.0";
 
   twemojiSrc = fetchFromGitHub {
     name = "twemoji";
     owner = "twitter";
     repo = "twemoji";
     rev = "v${version}";
-    sha256 = "069pyq09jfzwp3xla8vmhbyyam32x2iyp0s29xcxlkj22p99bg6d";
+    sha256 = "sha256-ar6rBYudMIMngMVe/IowDV3X8wA77JBA6g0x/M7YLMg=";
   };
 
   pythonEnv =
diff --git a/pkgs/data/icons/faba-icon-theme/default.nix b/pkgs/data/icons/faba-icon-theme/default.nix
index 6ccd4c4622fa7..1119e248522a0 100644
--- a/pkgs/data/icons/faba-icon-theme/default.nix
+++ b/pkgs/data/icons/faba-icon-theme/default.nix
@@ -1,13 +1,12 @@
 { lib, stdenv, fetchFromGitHub, meson, ninja, python3, gtk3, pantheon, gnome-icon-theme, hicolor-icon-theme }:
 
 stdenv.mkDerivation rec {
-  name = "${package-name}-${version}";
-  package-name = "faba-icon-theme";
+  pname = "faba-icon-theme";
   version = "4.3";
 
   src = fetchFromGitHub {
     owner = "moka-project";
-    repo = package-name;
+    repo = "faba-icon-theme";
     rev = "v${version}";
     sha256 = "0xh6ppr73p76z60ym49b4d0liwdc96w41cc5p07d48hxjsa6qd6n";
   };
diff --git a/pkgs/data/icons/flat-remix-icon-theme/default.nix b/pkgs/data/icons/flat-remix-icon-theme/default.nix
index 69e18beec32db..a72321ea304c7 100644
--- a/pkgs/data/icons/flat-remix-icon-theme/default.nix
+++ b/pkgs/data/icons/flat-remix-icon-theme/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, gtk3, breeze-icons, pantheon, gnome-icon-theme, hicolor-icon-theme }:
+{ lib, stdenvNoCC, fetchFromGitHub, gtk3, breeze-icons, pantheon, gnome-icon-theme, hicolor-icon-theme }:
 
-stdenv.mkDerivation rec  {
+stdenvNoCC.mkDerivation rec  {
   pname = "flat-remix-icon-theme";
-  version = "20211106";
+  version = "20220304";
 
   src = fetchFromGitHub {
     owner = "daniruiz";
     repo = "flat-remix";
     rev = version;
-    sha256 = "1dlz88bg764zzd0s3yqci4m1awhwdrrql9l9plsjjzgdx9r7ndmf";
+    sha256 = "sha256-SE3e3lPGLw6gONVQD8Joj6KNnXC/UygT0fy0AgH8us8=";
   };
 
   nativeBuildInputs = [
@@ -36,7 +36,8 @@ stdenv.mkDerivation rec  {
   meta = with lib; {
     description = "Flat remix is a pretty simple icon theme inspired on material design";
     homepage = "https://drasite.com/flat-remix";
-    license = with licenses; [ gpl3 ];
+    license = with licenses; [ gpl3Only ];
+    # breeze-icons and pantheon.elementary-icon-theme dependencies are restricted to linux
     platforms = platforms.linux;
     maintainers = with maintainers; [ mschneider ];
   };
diff --git a/pkgs/data/icons/hicolor-icon-theme/default.nix b/pkgs/data/icons/hicolor-icon-theme/default.nix
index 3a8839844f118..4a58b8fb89ad7 100644
--- a/pkgs/data/icons/hicolor-icon-theme/default.nix
+++ b/pkgs/data/icons/hicolor-icon-theme/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "hicolor-icon-theme-0.17";
+  pname = "hicolor-icon-theme";
+  version = "0.17";
 
   src = fetchurl {
-    url = "https://icon-theme.freedesktop.org/releases/${name}.tar.xz";
+    url = "https://icon-theme.freedesktop.org/releases/hicolor-icon-theme-${version}.tar.xz";
     sha256 = "1n59i3al3zx6p90ff0l43gzpzmlqnzm6hf5cryxqrlbi48sq8x1i";
   };
 
diff --git a/pkgs/data/icons/humanity-icon-theme/default.nix b/pkgs/data/icons/humanity-icon-theme/default.nix
index 12e2d0a06d629..87ec255d9d4aa 100644
--- a/pkgs/data/icons/humanity-icon-theme/default.nix
+++ b/pkgs/data/icons/humanity-icon-theme/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, gtk3, gnome, hicolor-icon-theme }:
+{ lib, stdenvNoCC, fetchurl, gtk3, gnome, hicolor-icon-theme }:
 
-stdenv.mkDerivation rec {
+stdenvNoCC.mkDerivation rec {
   pname = "humanity-icon-theme";
-  version = "0.6.15";
+  version = "0.6.16";
 
   src = fetchurl {
     url = "https://launchpad.net/ubuntu/+archive/primary/+files/${pname}_${version}.tar.xz";
-    sha256 = "19ja47468s3jfabvakq9wknyfclfr31a9vd11p3mhapfq8jv9g4x";
+    sha256 = "sha256-AyHl4zMyFE2/5Cui3Y/SB1yEUuyafDdybFPrafo4Ki0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/data/icons/tango-icon-theme/default.nix b/pkgs/data/icons/tango-icon-theme/default.nix
index 09d0875ca8a3b..9e6b0666a1189 100644
--- a/pkgs/data/icons/tango-icon-theme/default.nix
+++ b/pkgs/data/icons/tango-icon-theme/default.nix
@@ -3,10 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "tango-icon-theme-0.8.90";
+  pname = "tango-icon-theme";
+  version = "0.8.90";
 
   src = fetchurl {
-    url = "http://tango.freedesktop.org/releases/${name}.tar.gz";
+    url = "http://tango.freedesktop.org/releases/tango-icon-theme-${version}.tar.gz";
     sha256 = "13n8cpml71w6zfm2jz5fa7r1z18qlzk4gv07r6n1in2p5l1xi63f";
   };
 
diff --git a/pkgs/data/misc/brise/default.nix b/pkgs/data/misc/brise/default.nix
index f4e1a6d2905f5..45f86f6be21cf 100644
--- a/pkgs/data/misc/brise/default.nix
+++ b/pkgs/data/misc/brise/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitHub, librime }:
 
 stdenv.mkDerivation {
-  name = "brise-unstable-2017-09-16";
+  pname = "brise";
+  version = "unstable-2017-09-16";
 
   src = fetchFromGitHub {
     owner = "rime";
diff --git a/pkgs/data/misc/cldr-annotations/default.nix b/pkgs/data/misc/cldr-annotations/default.nix
new file mode 100644
index 0000000000000..14c8d36f28bf2
--- /dev/null
+++ b/pkgs/data/misc/cldr-annotations/default.nix
@@ -0,0 +1,24 @@
+{ lib, fetchzip }:
+
+let
+  version = "40.0";
+in fetchzip rec {
+  name = "cldr-annotations-${version}";
+
+  url = "https://unicode.org/Public/cldr/40/cldr-common-${version}.zip";
+
+  postFetch = ''
+    mkdir -p $out/share/unicode/cldr
+    unzip -d $out/share/unicode/cldr $downloadedFile 'common/annotations/*' 'common/annotationsDerived/*'
+  '';
+
+  sha256 = "sha256-L4NSMNFYKJWV3qKQhio9eMABtDlLieT9VeMZfzeAkbM=";
+
+  meta = with lib; {
+    description = "Names and keywords for Unicode characters from the Common Locale Data Repository";
+    homepage = "https://cldr.unicode.org";
+    license = licenses.unicode-dfs-2016;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ DeeUnderscore ];
+  };
+}
diff --git a/pkgs/data/misc/ddccontrol-db/default.nix b/pkgs/data/misc/ddccontrol-db/default.nix
index 9ac49167f66b4..a1bdef2639a87 100644
--- a/pkgs/data/misc/ddccontrol-db/default.nix
+++ b/pkgs/data/misc/ddccontrol-db/default.nix
@@ -21,10 +21,9 @@ stdenv.mkDerivation rec {
     ./autogen.sh
   '';
 
+  nativeBuildInputs = [ autoconf automake ];
   buildInputs =
     [
-      autoconf
-      automake
       libtool
       intltool
     ];
diff --git a/pkgs/data/misc/hackage/pin.json b/pkgs/data/misc/hackage/pin.json
index d22dccf38cf06..d6138cf231767 100644
--- a/pkgs/data/misc/hackage/pin.json
+++ b/pkgs/data/misc/hackage/pin.json
@@ -1,6 +1,6 @@
 {
-  "commit": "aa8f2230d08c540df249147ea681a5c22314d083",
-  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/aa8f2230d08c540df249147ea681a5c22314d083.tar.gz",
-  "sha256": "1h92r4si1vmf3v2m843xaqwr99hpnn1s0x08qcvd2gwjkc2qq10a",
-  "msg": "Update from Hackage at 2022-02-14T17:17:31Z"
+  "commit": "a02557e981025a281de13f66204c2cd2e788732f",
+  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/a02557e981025a281de13f66204c2cd2e788732f.tar.gz",
+  "sha256": "0c6jg9s4p65ynkkk0z6p9q4whz5hs1vmbq8zsn7pavxkzwa8ych1",
+  "msg": "Update from Hackage at 2022-03-30T19:23:57Z"
 }
diff --git a/pkgs/data/misc/iana-etc/default.nix b/pkgs/data/misc/iana-etc/default.nix
index 5e7e70a1b05d5..cab93d737c348 100644
--- a/pkgs/data/misc/iana-etc/default.nix
+++ b/pkgs/data/misc/iana-etc/default.nix
@@ -1,9 +1,8 @@
 { lib, fetchzip, stdenvNoCC, writeText }:
 
-let
+stdenvNoCC.mkDerivation rec {
+  pname = "iana-etc";
   version = "20211124";
-in stdenvNoCC.mkDerivation {
-  name = "iana-etc-${version}";
   src = fetchzip {
     url = "https://github.com/Mic92/iana-etc/releases/download/${version}/iana-etc-${version}.tar.gz";
     sha256 = "sha256-4mM/ZeGd91e1AklGHFK5UB4llg9IgCo9DKcM0iXcBls=";
diff --git a/pkgs/data/misc/miscfiles/default.nix b/pkgs/data/misc/miscfiles/default.nix
index 783dc29ecb2d5..ad58e5bd7b79b 100644
--- a/pkgs/data/misc/miscfiles/default.nix
+++ b/pkgs/data/misc/miscfiles/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "miscfiles-1.5";
+  pname = "miscfiles";
+  version = "1.5";
 
   src = fetchurl {
-    url = "mirror://gnu/miscfiles/${name}.tar.gz";
+    url = "mirror://gnu/miscfiles/miscfiles-${version}.tar.gz";
     sha256 = "005588vfrwx8ghsdv9p7zczj9lbc9a3r4m5aphcaqv8gif4siaka";
   };
 
diff --git a/pkgs/data/misc/mobile-broadband-provider-info/default.nix b/pkgs/data/misc/mobile-broadband-provider-info/default.nix
index 51598a53d50a2..234016175d260 100644
--- a/pkgs/data/misc/mobile-broadband-provider-info/default.nix
+++ b/pkgs/data/misc/mobile-broadband-provider-info/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mobile-broadband-provider-info";
-  version = "20210805";
+  version = "20220315";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-a/ihVY6lVBr7xve0QV50zJ9aqYKbE07Ks+8ch0ElaLw=";
+    sha256 = "sha256-H82sctF52xQnl4Nm9wG+HDx1Nf1aZYvFzIKCR8b2RcY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/data/misc/shared-desktop-ontologies/default.nix b/pkgs/data/misc/shared-desktop-ontologies/default.nix
index 88f9eec8fcada..fd797d8d63f0d 100644
--- a/pkgs/data/misc/shared-desktop-ontologies/default.nix
+++ b/pkgs/data/misc/shared-desktop-ontologies/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "shared-desktop-ontologies-0.11.0";
+  pname = "shared-desktop-ontologies";
+  version = "0.11.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/oscaf/${name}.tar.bz2";
+    url = "mirror://sourceforge/oscaf/shared-desktop-ontologies-${version}.tar.bz2";
     sha256 = "1m5vnijg7rnwg41vig2ckg632dlczzdab1gsq51g4x7m9k1fdbw2";
   };
 
diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix
index 78c93b05033ef..b149f448da72e 100644
--- a/pkgs/data/misc/tzdata/default.nix
+++ b/pkgs/data/misc/tzdata/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "tzdata";
-  version = "2021e";
+  version = "2022a";
 
   srcs =
     [ (fetchurl {
         url = "https://data.iana.org/time-zones/releases/tzdata${version}.tar.gz";
-        sha256 = "1cdjdcxl0s9xf0dg1z64kh7llm80byxqlzrkkjzcdlyh6yvl5v07";
+        sha256 = "0r0nhwpk9nyxj5kkvjy58nr5d85568m04dcb69c4y3zmykczyzzg";
       })
       (fetchurl {
         url = "https://data.iana.org/time-zones/releases/tzcode${version}.tar.gz";
-        sha256 = "0x8pcfmjvxk29yfh8bklchv2f0vpl4yih0gc4wyx292l78wncijq";
+        sha256 = "1iysv8fdkm79k8wh8jizmjmq075q4qjhk090vxjy57my6dz5wmzq";
       })
     ];
 
diff --git a/pkgs/data/misc/unicode-emoji/default.nix b/pkgs/data/misc/unicode-emoji/default.nix
index b91afb08f60e0..9fe9ff78f8047 100644
--- a/pkgs/data/misc/unicode-emoji/default.nix
+++ b/pkgs/data/misc/unicode-emoji/default.nix
@@ -4,7 +4,7 @@
 }:
 
 let
-  version = "12.1";
+  version = "14.0";
 
   fetchData = { file, sha256 }: fetchurl {
     url = "https://www.unicode.org/Public/emoji/${version}/${file}";
@@ -19,25 +19,17 @@ let
   };
 
   srcs = {
-    emoji-data = fetchData {
-      file = "emoji-data.txt";
-      sha256 = "17gfm5a28lsymx36prbjy2g0b27gf3rcgggy0yxdshbxwf6zpf9k";
-    };
     emoji-sequences = fetchData {
       file = "emoji-sequences.txt";
-      sha256 = "1fckw5hfyvz5jfp2jczzx8qcs79vf0zyq0z2942230j99arq70vc";
+      sha256 = "sha256-4helD/0oe+UmNIuVxPx/P0R9V10EY/RccewdeemeGxE=";
     };
     emoji-test = fetchData {
       file = "emoji-test.txt";
-      sha256 = "0w29lva7gp9g9lf7bz1i24qdalvf440bcq8npsbwr3cpp7na95kh";
-    };
-    emoji-variation-sequences = fetchData {
-      file = "emoji-variation-sequences.txt";
-      sha256 = "0akpib3cinr8xcs045hda5wnpfj6qfdjlkzmq5vgdc50gyhrd2z3";
+      sha256 = "sha256-DDOVhnFzfvowINzBZ7dGYMZnL4khyRWVzrLL95djsUg=";
     };
     emoji-zwj-sequences = fetchData {
       file = "emoji-zwj-sequences.txt";
-      sha256 = "0s2mvy1nr2v1x0rr1fxlsv8ly1vyf9978rb4hwry5vnr678ls522";
+      sha256 = "sha256-owlGLICFkyEsIHz/DUZucxjBmgVO40A69BCJPbIYDA0=";
     };
   };
 in
diff --git a/pkgs/data/misc/v2ray-domain-list-community/default.nix b/pkgs/data/misc/v2ray-domain-list-community/default.nix
index 1115edabcec7a..d6fe1a100e7f4 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 = "20220201175515";
+    version = "20220324104603";
     src = fetchFromGitHub {
       owner = "v2fly";
       repo = "domain-list-community";
       rev = version;
-      sha256 = "sha256-vgw6i8djBQDV+fmkVe5CuKMwES/PXGoVe8cTgB5tflo=";
+      sha256 = "sha256-Bd/jwHZ+6cg/cgVggyFI+Nc0FZ9qxI5Rk+y7SmGB08M=";
     };
     vendorSha256 = "sha256-QUbnUnxG1tsNbR49HTl55aiLkBM/ae9mCtzWeN4Ju78=";
     meta = with lib; {
diff --git a/pkgs/data/misc/v2ray-geoip/default.nix b/pkgs/data/misc/v2ray-geoip/default.nix
index 7e2b12e863fb9..49f8fc746d67c 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 = "202203170039";
+  version = "202203310042";
 
   src = fetchFromGitHub {
     owner = "v2fly";
     repo = "geoip";
-    rev = "0b5c94c368dc5f70ebf995e87188aa8f40d45489";
-    sha256 = "sha256-iaqU6CkrewICONps43nbZaUiM2aahSwfSD5bZz1P4Zc=";
+    rev = "eb0fc69f57bdceef077e38d4f4f57c114411bd76";
+    sha256 = "sha256-CSABX+329/WgaXy144JgYsr3OesI69vCfew5qxz5jMY=";
   };
 
   installPhase = ''
diff --git a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook-ebnf/default.nix b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook-ebnf/default.nix
index 1c6e57b3e7a73..6be2e89dcd2ef 100644
--- a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook-ebnf/default.nix
+++ b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook-ebnf/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "docbook-xml-ebnf-1.2b1";
+stdenv.mkDerivation rec {
+  pname = "docbook-xml-ebnf";
+  version = "1.2b1";
 
   dtd = fetchurl {
-    url = "http://www.docbook.org/xml/ebnf/1.2b1/dbebnf.dtd";
+    url = "https://docbook.org/xml/ebnf/${version}/dbebnf.dtd";
     sha256 = "0min5dsc53my13b94g2yd65q1nkjcf4x1dak00bsc4ckf86mrx95";
   };
   catalog = ./docbook-ebnf.cat;
diff --git a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix
index 8a10defa0fb53..c367e2a1d0cdf 100644
--- a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix
+++ b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix
@@ -1,27 +1,22 @@
 {lib, stdenv, fetchurl, unzip, findXMLCatalogs}:
 
 let
-
   # Urgh, DocBook 4.1.2 doesn't come with an XML catalog.  Use the one
   # from 4.2.
   docbook42catalog = fetchurl {
-    url = "http://www.docbook.org/xml/4.2/catalog.xml";
+    url = "https://docbook.org/xml/4.2/catalog.xml";
     sha256 = "18lhp6q2l0753s855r638shkbdwq9blm6akdjsc9nrik24k38j17";
   };
-
 in
 
 import ./generic.nix {
   inherit lib stdenv unzip findXMLCatalogs;
-  name = "docbook-xml-4.1.2";
+  version = "4.1.2";
   src = fetchurl {
-    url = "http://www.docbook.org/xml/4.1.2/docbkx412.zip";
+    url = "https://docbook.org/xml/4.1.2/docbkx412.zip";
     sha256 = "0wkp5rvnqj0ghxia0558mnn4c7s3n501j99q2isp3sp0ci069w1h";
   };
   postInstall = "
     sed 's|V4.2|V4.1.2|g' < ${docbook42catalog} > catalog.xml
   ";
-  meta = {
-    branch = "4.1.2";
-  };
 }
diff --git a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix
index 9a9abc0588bd9..8f778ea7505d9 100644
--- a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix
+++ b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix
@@ -2,12 +2,9 @@
 
 import ./generic.nix {
   inherit lib stdenv unzip findXMLCatalogs;
-  name = "docbook-xml-4.2";
+  version = "4.2";
   src = fetchurl {
-    url = "http://www.docbook.org/xml/4.2/docbook-xml-4.2.zip";
+    url = "https://docbook.org/xml/4.2/docbook-xml-4.2.zip";
     sha256 = "acc4601e4f97a196076b7e64b368d9248b07c7abf26b34a02cca40eeebe60fa2";
   };
-  meta = {
-    branch = "4.2";
-  };
 }
diff --git a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix
index 4d821ce2ffb85..a58370ec4ac66 100644
--- a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix
+++ b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix
@@ -2,12 +2,9 @@
 
 import ./generic.nix {
   inherit lib stdenv unzip findXMLCatalogs;
-  name = "docbook-xml-4.3";
+  version = "4.3";
   src = fetchurl {
-    url = "http://www.docbook.org/xml/4.3/docbook-xml-4.3.zip";
+    url = "https://docbook.org/xml/4.3/docbook-xml-4.3.zip";
     sha256 = "0r1l2if1z4wm2v664sqdizm4gak6db1kx9y50jq89m3gxaa8l1i3";
   };
-  meta = {
-    branch = "4.3";
-  };
 }
diff --git a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.4.nix b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.4.nix
index ca847d3e436ea..3b46fe81bd7a8 100644
--- a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.4.nix
+++ b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.4.nix
@@ -2,12 +2,9 @@
 
 import ./generic.nix {
   inherit lib stdenv unzip findXMLCatalogs;
-  name = "docbook-xml-4.4";
+  version = "4.4";
   src = fetchurl {
-    url = "http://www.docbook.org/xml/4.4/docbook-xml-4.4.zip";
+    url = "https://docbook.org/xml/4.4/docbook-xml-4.4.zip";
     sha256 = "141h4zsyc71sfi2zzd89v4bb4qqq9ca1ri9ix2als9f4i3mmkw82";
   };
-  meta = {
-    branch = "4.4";
-  };
 }
diff --git a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix
index 7be810fe30712..c4ab1f6f3a9bd 100644
--- a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix
+++ b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix
@@ -2,12 +2,9 @@
 
 import ./generic.nix {
   inherit lib stdenv unzip findXMLCatalogs;
-  name = "docbook-xml-4.5";
+  version = "4.5";
   src = fetchurl {
-    url = "http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip";
+    url = "https://docbook.org/xml/4.5/docbook-xml-4.5.zip";
     sha256 = "1d671lcjckjri28xfbf6dq7y3xnkppa910w1jin8rjc35dx06kjf";
   };
-  meta = {
-    branch = "4.5";
-  };
 }
diff --git a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/generic.nix b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/generic.nix
index 3d6edd300ec35..7a635f612af8f 100644
--- a/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/generic.nix
+++ b/pkgs/data/sgml+xml/schemas/xml-dtd/docbook/generic.nix
@@ -1,9 +1,10 @@
-{ lib, stdenv, unzip, src, name, postInstall ? "true", meta ? {}, findXMLCatalogs }:
+{ lib, stdenv, unzip, src, version, postInstall ? "true", findXMLCatalogs }:
 
 stdenv.mkDerivation {
-  inherit src name postInstall;
+  inherit version src postInstall;
+  pname = "docbook-xml";
 
-  nativeBuildInputs = [unzip];
+  nativeBuildInputs = [ unzip ];
   propagatedNativeBuildInputs = [ findXMLCatalogs ];
 
   unpackPhase = ''
@@ -17,7 +18,8 @@ stdenv.mkDerivation {
     runHook postInstall
   '';
 
-  meta = meta // {
+  meta = {
+    branch = version;
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/data/sgml+xml/schemas/xml-dtd/xhtml1/default.nix b/pkgs/data/sgml+xml/schemas/xml-dtd/xhtml1/default.nix
index c698098e6c127..f05788076a69d 100644
--- a/pkgs/data/sgml+xml/schemas/xml-dtd/xhtml1/default.nix
+++ b/pkgs/data/sgml+xml/schemas/xml-dtd/xhtml1/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libxml2 }:
 
 stdenv.mkDerivation {
-  name = "xhtml1-20020801";
+  pname = "xhtml1";
+  version = "unstable-2002-08-01";
 
   src = fetchurl {
-    url = "http://www.w3.org/TR/xhtml1/xhtml1.tgz";
+    url = "https://www.w3.org/TR/xhtml1/xhtml1.tgz";
     sha256 = "0rr0d89i0z75qvjbm8il93bippx09hbmjwy0y2sj44n9np69x3hl";
   };
 
diff --git a/pkgs/data/soundfonts/generaluser/default.nix b/pkgs/data/soundfonts/generaluser/default.nix
new file mode 100644
index 0000000000000..5191199e64712
--- /dev/null
+++ b/pkgs/data/soundfonts/generaluser/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, fetchzip }:
+
+stdenv.mkDerivation rec {
+  pname = "generaluser";
+  version = "1.471";
+
+  # we can't use fetchurl since stdenv does not handle unpacking *.zip's by default.
+  src = fetchzip {
+    # Linked on http://www.schristiancollins.com/generaluser.php:
+    url = "https://www.dropbox.com/s/4x27l49kxcwamp5/GeneralUser_GS_${version}.zip";
+    sha256 = "sha256-lwUlWubXiVZ8fijKuNF54YQjT0uigjNAbjKaNjmC51s=";
+  };
+
+  installPhase = ''
+    install -Dm644 GeneralUser*.sf2 $out/share/soundfonts/GeneralUser-GS.sf2
+  '';
+
+  meta = with lib; {
+    description = "a SoundFont bank featuring 259 instrument presets and 11 drum kits";
+    homepage = "http://www.schristiancollins.com/generaluser.php";
+    license = licenses.generaluser;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ ckie ];
+  };
+}
diff --git a/pkgs/data/themes/arc/default.nix b/pkgs/data/themes/arc/default.nix
index ea18da119c7e7..11e76c202764c 100644
--- a/pkgs/data/themes/arc/default.nix
+++ b/pkgs/data/themes/arc/default.nix
@@ -3,36 +3,33 @@
 , sassc
 , meson
 , ninja
-, pkg-config
-, gtk3
 , glib
 , gnome
 , gtk-engine-murrine
-, optipng
 , inkscape
 , cinnamon
+, makeFontsConf
+, python3
 }:
 
 stdenv.mkDerivation rec {
   pname = "arc-theme";
-  version = "20211018";
+  version = "20220223";
 
   src = fetchFromGitHub {
     owner = "jnsh";
     repo = pname;
     rev = version;
-    sha256 = "1rrxm5b7l8kq1h0lm08ck54xljzm8w573mxx904n3rhdg3ri9d63";
+    sha256 = "sha256-qsZdXDNxT1/gIlkUsC1cfVrULApC+dHreBXXjVTJQiA=";
   };
 
   nativeBuildInputs = [
     meson
     ninja
-    pkg-config
     sassc
-    optipng
     inkscape
-    gtk3
     glib # for glib-compile-resources
+    python3
   ];
 
   propagatedUserEnvPkgs = [
@@ -40,17 +37,23 @@ stdenv.mkDerivation rec {
     gtk-engine-murrine
   ];
 
+  postPatch = ''
+    patchShebangs meson/install-file.py
+  '';
+
   preBuild = ''
     # Shut up inkscape's warnings about creating profile directory
-    export HOME="$NIX_BUILD_ROOT"
+    export HOME="$TMPDIR"
   '';
 
+  # Fontconfig error: Cannot load default config file: No such file: (null)
+  FONTCONFIG_FILE = makeFontsConf { fontDirectories = [ ]; };
+
   mesonFlags = [
-    "-Dthemes=cinnamon,gnome-shell,gtk2,gtk3,plank,xfwm,metacity"
-    "-Dvariants=light,darker,dark,lighter"
+    # "-Dthemes=cinnamon,gnome-shell,gtk2,gtk3,plank,xfwm,metacity"
+    # "-Dvariants=light,darker,dark,lighter"
     "-Dcinnamon_version=${cinnamon.cinnamon-common.version}"
     "-Dgnome_shell_version=${gnome.gnome-shell.version}"
-    "-Dgtk3_version=${gtk3.version}"
     # You will need to patch gdm to make use of this.
     "-Dgnome_shell_gresource=true"
   ];
diff --git a/pkgs/data/themes/dracula-theme/default.nix b/pkgs/data/themes/dracula-theme/default.nix
index cb6fc84723f27..326e004070b37 100644
--- a/pkgs/data/themes/dracula-theme/default.nix
+++ b/pkgs/data/themes/dracula-theme/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
   installPhase = ''
     runHook preInstall
     mkdir -p $out/share/themes/${themeName}
-    cp -a {assets,cinnamon,gnome-shell,gtk-2.0,gtk-3.0,gtk-3.20,index.theme,metacity-1,unity,xfwm4} $out/share/themes/${themeName}
+    cp -a {assets,cinnamon,gnome-shell,gtk-2.0,gtk-3.0,gtk-3.20,gtk-4.0,index.theme,metacity-1,unity,xfwm4} $out/share/themes/${themeName}
 
     cp -a kde/{color-schemes,plasma} $out/share/
     cp -a kde/kvantum $out/share/Kvantum
diff --git a/pkgs/data/themes/flat-remix-gtk/default.nix b/pkgs/data/themes/flat-remix-gtk/default.nix
index fec900a2d7e75..ec76d48457c56 100644
--- a/pkgs/data/themes/flat-remix-gtk/default.nix
+++ b/pkgs/data/themes/flat-remix-gtk/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flat-remix-gtk";
-  version = "20220310";
+  version = "20220321";
 
   src = fetchFromGitHub {
     owner = "daniruiz";
     repo = pname;
     rev = version;
-    sha256 = "sha256-fKkqMGb1UopjM7hTTury1I3oD5AlHqKP+WLmgAZIQxo=";
+    sha256 = "sha256-QFG/jh3tPO0eflyDQaC1PJL/SavYD/W6rYp26Rxe/2E=";
   };
 
   dontBuild = true;
diff --git a/pkgs/data/themes/greybird/default.nix b/pkgs/data/themes/greybird/default.nix
index 06496ea9be14e..a52c0d0357bc8 100644
--- a/pkgs/data/themes/greybird/default.nix
+++ b/pkgs/data/themes/greybird/default.nix
@@ -1,14 +1,25 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, sassc, gdk-pixbuf, librsvg, gtk-engine-murrine }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, sassc
+, gdk-pixbuf
+, librsvg
+, gtk-engine-murrine
+, gitUpdater
+}:
 
 stdenv.mkDerivation rec {
   pname = "greybird";
-  version = "3.22.15";
+  version = "3.23.1";
 
   src = fetchFromGitHub {
     owner = "shimmerproject";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1fk66fxy2lif9ngazlgkpsziw216i4b1ld2zm97cadf7n97376g9";
+    sha256 = "hfi2TBRrZTSN43tYKMPvb/dWwwUE7RakKTMBziHnCWA=";
   };
 
   nativeBuildInputs = [
@@ -27,6 +38,8 @@ stdenv.mkDerivation rec {
     gtk-engine-murrine
   ];
 
+  passthru.updateScript = gitUpdater { inherit pname version; rev-prefix = "v"; };
+
   meta = with lib; {
     description = "Grey and blue theme from the Shimmer Project for GTK-based environments";
     homepage = "https://github.com/shimmerproject/Greybird";
diff --git a/pkgs/data/themes/yaru/default.nix b/pkgs/data/themes/yaru/default.nix
index 67762e747f4a8..a27370b963683 100644
--- a/pkgs/data/themes/yaru/default.nix
+++ b/pkgs/data/themes/yaru/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "yaru";
-  version = "22.04.2";
+  version = "22.04.3.1";
 
   src = fetchFromGitHub {
     owner = "ubuntu";
     repo = "yaru";
     rev = version;
-    sha256 = "sha256-oW5OOJPhC3OB3GIQWTQxPgqE7p4bAO1TyVbyKUHnyD0=";
+    sha256 = "sha256-nNI6Nm3ZpIJRTbIbe/P9cKofcthb6qWKjn81/ZpPo2g=";
   };
 
   nativeBuildInputs = [ meson sassc pkg-config glib ninja python3 ];
diff --git a/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix b/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
index 1e7d726d557c6..0c636ffa54177 100644
--- a/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
+++ b/pkgs/desktops/gnome-2/bindings/gnome-python/default.nix
@@ -5,11 +5,11 @@ with lib;
 let
   inherit (python2.pkgs) python pygobject2 pygtk dbus-python;
 in stdenv.mkDerivation rec {
-  version = "2.28";
-  name = "gnome-python-${version}.1";
+  pname = "gnome-python";
+  version = "2.28.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-python/${version}/${name}.tar.bz2";
+    url = "mirror://gnome/sources/gnome-python/${lib.versions.majorMinor version}/gnome-python-${version}.tar.bz2";
     sha256 = "759ce9344cbf89cf7f8449d945822a0c9f317a494f56787782a901e4119b96d8";
   };
 
@@ -20,7 +20,7 @@ in stdenv.mkDerivation rec {
   # gnome-python expects that .pth file is already installed by PyGTK in the
   # same directory. This is not the case for Nix.
   postInstall = ''
-    echo "gtk-2.0" > $out/${python2.sitePackages}/${name}.pth
+    echo "gtk-2.0" > $out/${python2.sitePackages}/gnome-python-${version}.pth
   '';
 
   meta = with lib; {
diff --git a/pkgs/desktops/gnome-2/default.nix b/pkgs/desktops/gnome-2/default.nix
index a8ff7b58ed30f..29dbbdd2f12d2 100644
--- a/pkgs/desktops/gnome-2/default.nix
+++ b/pkgs/desktops/gnome-2/default.nix
@@ -62,7 +62,7 @@ lib.makeScope pkgs.newScope (self: with self; {
     autoreconfHook = pkgs.autoreconfHook269;
   };
 
-} // lib.optionalAttrs (config.allowAliases or true) {
+} // lib.optionalAttrs config.allowAliases {
   inherit (pkgs)
     # GTK Libs
     glib glibmm atk atkmm cairo pango pangomm gdk_pixbuf gtkmm2 libcanberra-gtk2
diff --git a/pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix b/pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix
index 258789140c8d5..521800b4aa07d 100644
--- a/pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix
+++ b/pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix
@@ -1,9 +1,11 @@
-{stdenv, fetchurl, pkg-config, perlPackages, libxml2, libxslt, docbook_xml_dtd_42, automake, gettext}:
+{ lib, stdenv, fetchurl, pkg-config, perlPackages, libxml2, libxslt, docbook_xml_dtd_42, automake, gettext }:
+
+stdenv.mkDerivation rec {
+  pname = "scrollkeeper";
+  version = "0.3.14";
 
-stdenv.mkDerivation {
-  name = "scrollkeeper-0.3.14";
   src = fetchurl {
-    url = "mirror://gnome/sources/scrollkeeper/0.3/scrollkeeper-0.3.14.tar.bz2";
+    url = "mirror://gnome/sources/scrollkeeper/${lib.versions.majorMinor version}/scrollkeeper-${version}.tar.bz2";
     sha256 = "08n1xgj1f53zahwm0wpn3jid3rfbhi3iwby0ilaaldnid5qriqgc";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/ORBit2/default.nix b/pkgs/desktops/gnome-2/platform/ORBit2/default.nix
index bf5ae4ebbb1a5..a45095ba49780 100644
--- a/pkgs/desktops/gnome-2/platform/ORBit2/default.nix
+++ b/pkgs/desktops/gnome-2/platform/ORBit2/default.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, glib, libIDL, libintl }:
 
 stdenv.mkDerivation rec {
-  name = "ORBit2-${minVer}.19";
-  minVer = "2.14";
+  pname = "ORBit2";
+  version = "2.14.19";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/ORBit2/${minVer}/${name}.tar.bz2";
+    url = "mirror://gnome/sources/ORBit2/${lib.versions.majorMinor version}/ORBit2-${version}.tar.bz2";
     sha256 = "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/gnome-common/default.nix b/pkgs/desktops/gnome-2/platform/gnome-common/default.nix
index 54a2bd526a945..eba913c80c2d9 100644
--- a/pkgs/desktops/gnome-2/platform/gnome-common/default.nix
+++ b/pkgs/desktops/gnome-2/platform/gnome-common/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, which }:
+{ lib, stdenv, fetchurl, which }:
 
 stdenv.mkDerivation rec {
-  name = "gnome-common-${minVer}.0";
-  minVer = "2.34";
+  pname = "gnome-common";
+  version = "2.34.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-common/${minVer}/${name}.tar.bz2";
+    url = "mirror://gnome/sources/gnome-common/${lib.versions.majorMinor version}/gnome-common-${version}.tar.bz2";
     sha256 = "1pz13mpp09q5s3bikm8ml92s1g0scihsm4iipqv1ql3mp6d4z73s";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/gnome-mime-data/default.nix b/pkgs/desktops/gnome-2/platform/gnome-mime-data/default.nix
index d5af0e362b435..1604dbe0cf08f 100644
--- a/pkgs/desktops/gnome-2/platform/gnome-mime-data/default.nix
+++ b/pkgs/desktops/gnome-2/platform/gnome-mime-data/default.nix
@@ -1,9 +1,10 @@
-{stdenv, fetchurl, intltool}:
+{ lib, stdenv, fetchurl, intltool }:
 
-stdenv.mkDerivation {
-  name = "gnome-mime-data-2.18.0";
+stdenv.mkDerivation rec {
+  pname = "gnome-mime-data";
+  version = "2.18.0";
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-mime-data/2.18/gnome-mime-data-2.18.0.tar.bz2";
+    url = "mirror://gnome/sources/gnome-mime-data/${lib.versions.majorMinor version}/gnome-mime-data-${version}.tar.bz2";
     sha256 = "1mvg8glb2a40yilmyabmb7fkbzlqd3i3d31kbkabqnq86xdnn69p";
   };
   nativeBuildInputs = [ intltool ];
diff --git a/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix b/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
index 4196cf21c2742..4c9f28230c31e 100644
--- a/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
+++ b/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, fetchpatch, pkg-config, libxml2, bzip2, openssl, dbus-glib
+{ lib, stdenv, fetchurl, fetchpatch, pkg-config, libxml2, bzip2, openssl, dbus-glib
 , glib, gamin, cdparanoia, intltool, GConf, gnome_mime_data, avahi, acl }:
 
 stdenv.mkDerivation rec {
-  name = "gnome-vfs-${minVer}.4";
-  minVer = "2.24";
+  pname = "gnome-vfs";
+  version = "2.24.4";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-vfs/${minVer}/${name}.tar.bz2";
+    url = "mirror://gnome/sources/gnome-vfs/${lib.versions.majorMinor version}/gnome-vfs-${version}.tar.bz2";
     sha256 = "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/gtkhtml/default.nix b/pkgs/desktops/gnome-2/platform/gtkhtml/default.nix
index ec87bafc99808..4f4e0503f819b 100644
--- a/pkgs/desktops/gnome-2/platform/gtkhtml/default.nix
+++ b/pkgs/desktops/gnome-2/platform/gtkhtml/default.nix
@@ -1,11 +1,12 @@
-{ stdenv, fetchurl, pkg-config, gtk2, intltool,
+{ lib, stdenv, fetchurl, pkg-config, gtk2, intltool,
 GConf, enchant, isocodes, gnome-icon-theme }:
 
 stdenv.mkDerivation rec {
-  name = "gtkhtml-3.32.2";
+  pname = "gtkhtml";
+  version = "3.32.2";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gtkhtml/3.32/${name}.tar.bz2";
+    url = "mirror://gnome/sources/gtkhtml/${lib.versions.majorMinor version}/gtkhtml-${version}.tar.bz2";
     sha256 = "17z3jwvpn8waz7bhwrk7a6vs9pad6sqmlxxcqwvxxq89ywy0ail7";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/libIDL/default.nix b/pkgs/desktops/gnome-2/platform/libIDL/default.nix
index 4e9376d5c8242..61b21ba88c015 100644
--- a/pkgs/desktops/gnome-2/platform/libIDL/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libIDL/default.nix
@@ -1,11 +1,11 @@
-{stdenv, fetchurl, flex, bison, pkg-config, glib, gettext}:
+{ lib, stdenv, fetchurl, flex, bison, pkg-config, glib, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "libIDL-${minVer}.14";
-  minVer = "0.8";
+  pname = "libIDL";
+  version = "0.8.14";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libIDL/${minVer}/${name}.tar.bz2";
+    url = "mirror://gnome/sources/libIDL/${lib.versions.majorMinor version}/libIDL-${version}.tar.bz2";
     sha256 = "08129my8s9fbrk0vqvnmx6ph4nid744g5vbwphzkaik51664vln5";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/libart_lgpl/default.nix b/pkgs/desktops/gnome-2/platform/libart_lgpl/default.nix
index 7b1ccb97dc4b0..80ea3d02d939c 100644
--- a/pkgs/desktops/gnome-2/platform/libart_lgpl/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libart_lgpl/default.nix
@@ -1,9 +1,10 @@
-{stdenv, fetchurl}:
+{ lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libart_lgpl-2.3.21";
+  pname = "libart_lgpl";
+  version = "2.3.21";
   src = fetchurl {
-    url = "mirror://gnome/sources/libart_lgpl/2.3/${name}.tar.bz2";
+    url = "mirror://gnome/sources/libart_lgpl/${lib.versions.majorMinor version}/libart_lgpl-${version}.tar.bz2";
     sha256 = "1yknfkyzgz9s616is0l9gp5aray0f2ry4dw533jgzj8gq5s1xhgx";
   };
 }
diff --git a/pkgs/desktops/gnome-2/platform/libbonobo/default.nix b/pkgs/desktops/gnome-2/platform/libbonobo/default.nix
index 8d991d743bec9..e928052a47642 100644
--- a/pkgs/desktops/gnome-2/platform/libbonobo/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libbonobo/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, flex, bison, pkg-config, glib, libxml2, popt
+{ lib, stdenv, fetchurl, flex, bison, pkg-config, glib, libxml2, popt
 , intltool, ORBit2, procps }:
 
 stdenv.mkDerivation rec {
-  name = "libbonobo-${minVer}.1";
-  minVer = "2.32";
+  pname = "libbonobo";
+  version = "2.32.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libbonobo/${minVer}/${name}.tar.bz2";
+    url = "mirror://gnome/sources/libbonobo/${lib.versions.majorMinor version}/libbonobo-${version}.tar.bz2";
     sha256 = "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/libbonoboui/default.nix b/pkgs/desktops/gnome-2/platform/libbonoboui/default.nix
index 4f9176acf103e..36ab293f5f12e 100644
--- a/pkgs/desktops/gnome-2/platform/libbonoboui/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libbonoboui/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, bison, pkg-config, popt, libxml2, gtk2, libtool
+{ lib, stdenv, fetchurl, bison, pkg-config, popt, libxml2, gtk2, libtool
 , intltool, libbonobo, GConf, libgnomecanvas, libgnome, libglade }:
 
 stdenv.mkDerivation rec {
-  name = "libbonoboui-${minVer}.5";
-  minVer = "2.24";
+  pname = "libbonoboui";
+  version = "2.24.5";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libbonoboui/${minVer}/${name}.tar.bz2";
+    url = "mirror://gnome/sources/libbonoboui/${lib.versions.majorMinor version}/libbonoboui-${version}.tar.bz2";
     sha256 = "1kbgqh7bw0fdx4f1a1aqwpff7gp5mwhbaz60c6c98bc4djng5dgs";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/libglade/default.nix b/pkgs/desktops/gnome-2/platform/libglade/default.nix
index 3eb7b533f09e3..3ed162cd8d5ee 100644
--- a/pkgs/desktops/gnome-2/platform/libglade/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libglade/default.nix
@@ -2,11 +2,12 @@
 
 assert withLibgladeConvert -> python2 != null;
 
-stdenv.mkDerivation {
-  name = "libglade-2.6.4";
+stdenv.mkDerivation rec {
+  pname = "libglade";
+  version = "2.6.4";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libglade/2.6/libglade-2.6.4.tar.bz2";
+    url = "mirror://gnome/sources/libglade/${lib.versions.majorMinor version}/libglade-${version}.tar.bz2";
     sha256 = "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/libgnome/default.nix b/pkgs/desktops/gnome-2/platform/libgnome/default.nix
index ee477cb63c1b6..2c70338a9005a 100644
--- a/pkgs/desktops/gnome-2/platform/libgnome/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libgnome/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchurl, pkg-config, glib, popt, zlib, libcanberra-gtk2
+{ lib, stdenv, fetchurl, pkg-config, glib, popt, zlib, libcanberra-gtk2
 , intltool, libbonobo, GConf, gnome_vfs, libtool, libogg
 }:
 
 stdenv.mkDerivation rec {
-  name = "libgnome-${minVer}.1";
-  minVer = "2.32";
+  pname = "libgnome";
+  version = "2.32.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libgnome/${minVer}/${name}.tar.bz2";
+    url = "mirror://gnome/sources/libgnome/${lib.versions.majorMinor version}/libgnome-${version}.tar.bz2";
     sha256 = "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix b/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix
index eb40c5ec0b5b4..b856442290a4a 100644
--- a/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libgnomecanvas/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, pkg-config, gtk2, intltool, libart_lgpl, libglade }:
+{ lib, stdenv, fetchurl, pkg-config, gtk2, intltool, libart_lgpl, libglade }:
 
 stdenv.mkDerivation rec {
-  name = "libgnomecanvas-${minVer}.3";
-  minVer = "2.30";
+  pname = "libgnomecanvas";
+  version = "2.30.3";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libgnomecanvas/${minVer}/${name}.tar.bz2";
+    url = "mirror://gnome/sources/libgnomecanvas/${lib.versions.majorMinor version}/libgnomecanvas-${version}.tar.bz2";
     sha256 = "0h6xvswbqspdifnyh5pm2pqq55yp3kn6yrswq7ay9z49hkh7i6w5";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/libgnomecanvasmm/default.nix b/pkgs/desktops/gnome-2/platform/libgnomecanvasmm/default.nix
index 2811a138cb631..9cc2d169b7c39 100644
--- a/pkgs/desktops/gnome-2/platform/libgnomecanvasmm/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libgnomecanvasmm/default.nix
@@ -1,10 +1,11 @@
-{ stdenv, fetchurl, pkg-config, libgnomecanvas, gtkmm2 }:
+{ lib, stdenv, fetchurl, pkg-config, libgnomecanvas, gtkmm2 }:
 
-stdenv.mkDerivation {
-  name = "libgnomecanvasmm-2.26.0";
+stdenv.mkDerivation rec {
+  pname = "libgnomecanvasmm";
+  version = "2.26.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libgnomecanvasmm/2.26/libgnomecanvasmm-2.26.0.tar.bz2";
+    url = "mirror://gnome/sources/libgnomecanvasmm/${lib.versions.majorMinor version}/libgnomecanvasmm-${version}.tar.bz2";
     sha256 = "996577f97f459a574919e15ba7fee6af8cda38a87a98289e9a4f54752d83e918";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/libgnomecups/default.nix b/pkgs/desktops/gnome-2/platform/libgnomecups/default.nix
index 7e33ee91285f0..42de8c2471a3b 100644
--- a/pkgs/desktops/gnome-2/platform/libgnomecups/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libgnomecups/default.nix
@@ -1,10 +1,11 @@
-{ stdenv, fetchurl, pkg-config, gtk2, gettext, libxml2, intltool, libart_lgpl }:
+{ lib, stdenv, fetchurl, pkg-config, gtk2, gettext, libxml2, intltool, libart_lgpl }:
 
 stdenv.mkDerivation rec {
-  name = "libgnomecups-0.2.3";
+  pname = "libgnomecups";
+  version = "0.2.3";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libgnomecups/0.2/${name}.tar.bz2";
+    url = "mirror://gnome/sources/libgnomecups/${lib.versions.majorMinor version}/libgnomecups-${version}.tar.bz2";
     sha256 = "0a8xdaxzz2wc0n1fjcav65093gixzyac3948l8cxx1mk884yhc71";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/libgnomeprint/default.nix b/pkgs/desktops/gnome-2/platform/libgnomeprint/default.nix
index b67be2b7f5b20..bb2e435f422d0 100644
--- a/pkgs/desktops/gnome-2/platform/libgnomeprint/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libgnomeprint/default.nix
@@ -2,10 +2,11 @@
 , libgnomecups, bison, flex }:
 
 stdenv.mkDerivation rec {
-  name = "libgnomeprint-2.18.8";
+  pname = "libgnomeprint";
+  version = "2.18.8";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libgnomeprint/2.18/${name}.tar.bz2";
+    url = "mirror://gnome/sources/libgnomeprint/${lib.versions.majorMinor version}/libgnomeprint-${version}.tar.bz2";
     sha256 = "1034ec8651051f84d2424e7a1da61c530422cc20ce5b2d9e107e1e46778d9691";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix b/pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix
index 80d2c2050afea..a95ee70bca107 100644
--- a/pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libgnomeprintui/default.nix
@@ -1,10 +1,11 @@
-{stdenv, fetchurl, pkg-config, gtk2, gettext, intltool, libgnomecanvas, libgnomeprint, gnome-icon-theme}:
+{ lib, stdenv, fetchurl, pkg-config, gtk2, gettext, intltool, libgnomecanvas, libgnomeprint, gnome-icon-theme }:
 
-stdenv.mkDerivation {
-  name = "libgnomeprintui-2.18.6";
+stdenv.mkDerivation rec {
+  pname = "libgnomeprintui";
+  version = "2.18.6";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libgnomeprintui/2.18/libgnomeprintui-2.18.6.tar.bz2";
+    url = "mirror://gnome/sources/libgnomeprintui/${lib.versions.majorMinor version}/libgnomeprintui-${version}.tar.bz2";
     sha256 = "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/libgnomeui/default.nix b/pkgs/desktops/gnome-2/platform/libgnomeui/default.nix
index 0fa3847d9bdab..0a84e0ea3ec58 100644
--- a/pkgs/desktops/gnome-2/platform/libgnomeui/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libgnomeui/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchurl, fetchpatch, pkg-config, libxml2, xorg, glib, pango
+{ lib, stdenv, fetchurl, fetchpatch, pkg-config, libxml2, xorg, glib, pango
 , intltool, libgnome, libgnomecanvas, libbonoboui, GConf, libtool
 , gnome_vfs, libgnome-keyring, libglade }:
 
 stdenv.mkDerivation rec {
-  name = "libgnomeui-${minVer}.5";
-  minVer = "2.24";
+  pname = "libgnomeui";
+  version = "2.24.5";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libgnomeui/${minVer}/${name}.tar.bz2";
+    url = "mirror://gnome/sources/libgnomeui/${lib.versions.majorMinor version}/libgnomeui-${version}.tar.bz2";
     sha256 = "03rwbli76crkjl6gp422wrc9lqpl174k56cp9i96b7l8jlj2yddf";
   };
 
diff --git a/pkgs/desktops/gnome-2/platform/libgtkhtml/default.nix b/pkgs/desktops/gnome-2/platform/libgtkhtml/default.nix
index e7cf117ecdbcc..9c7189c117ac8 100644
--- a/pkgs/desktops/gnome-2/platform/libgtkhtml/default.nix
+++ b/pkgs/desktops/gnome-2/platform/libgtkhtml/default.nix
@@ -1,10 +1,11 @@
-{stdenv, fetchurl, pkg-config, gtk2, gettext, libxml2 }:
+{ lib, stdenv, fetchurl, pkg-config, gtk2, gettext, libxml2 }:
 
-stdenv.mkDerivation {
-  name = "libgtkhtml-2.11.1";
+stdenv.mkDerivation rec {
+  pname = "libgtkhtml";
+  version = "2.11.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libgtkhtml/2.11/libgtkhtml-2.11.1.tar.bz2";
+    url = "mirror://gnome/sources/libgtkhtml/${lib.versions.majorMinor version}/libgtkhtml-${version}.tar.bz2";
     sha256 = "0msajafd42545dxzyr5zqka990cjrxw2yz09ajv4zs8m1w6pm9rw";
   };
 
diff --git a/pkgs/desktops/gnome/apps/file-roller/default.nix b/pkgs/desktops/gnome/apps/file-roller/default.nix
index c4c489dae08e0..df8e9548c35e8 100644
--- a/pkgs/desktops/gnome/apps/file-roller/default.nix
+++ b/pkgs/desktops/gnome/apps/file-roller/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchurl
-, fetchpatch
 , desktop-file-utils
 , gettext
 , glibcLocales
@@ -17,33 +16,23 @@
 , glib
 , gnome
 , gtk3
+, libhandy
 , json-glib
 , libarchive
 , libnotify
 , nautilus
-, pantheon
 , unzip
-, withPantheon ? false
 }:
 
 stdenv.mkDerivation rec {
   pname = "file-roller";
-  version = "3.40.0";
+  version = "3.42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "039w1dcpa5ypmv6sm634alk9vbcdkyvy595vkh5gn032jsiqca2a";
+    sha256 = "HEOObVPsEP9PLrWyLXu/KKfCqElXq2SnUcHN88UjAsc=";
   };
 
-  patches = lib.optionals withPantheon [
-    # Make this respect dark mode settings from Pantheon
-    # https://github.com/elementary/fileroller/
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/elementary/fileroller/f183eac36c68c9c9441e72294d4e305cf5fe36ed/fr-application-prefers-color-scheme.patch";
-      sha256 = "sha256-d/sqf4Oen9UrzYqru7Ck15o/6g6WfxRDH/iAGFXgYAA=";
-    })
-  ];
-
   LANG = "en_US.UTF-8"; # postinstall.py
 
   nativeBuildInputs = [
@@ -65,12 +54,11 @@ stdenv.mkDerivation rec {
     glib
     gnome.adwaita-icon-theme
     gtk3
+    libhandy
     json-glib
     libarchive
     libnotify
     nautilus
-  ] ++ lib.optionals withPantheon [
-    pantheon.granite
   ];
 
   PKG_CONFIG_LIBNAUTILUS_EXTENSION_EXTENSIONDIR = "${placeholder "out"}/lib/nautilus/extensions-3.0";
diff --git a/pkgs/desktops/gnome/apps/ghex/default.nix b/pkgs/desktops/gnome/apps/ghex/default.nix
index d12c8f61017c0..1ec3c9dfdf27f 100644
--- a/pkgs/desktops/gnome/apps/ghex/default.nix
+++ b/pkgs/desktops/gnome/apps/ghex/default.nix
@@ -1,7 +1,9 @@
 { stdenv
 , lib
 , fetchurl
+, fetchpatch
 , pkg-config
+, gi-docgen
 , meson
 , ninja
 , python3
@@ -11,23 +13,38 @@
 , gettext
 , itstool
 , libxml2
-, gtk3
+, gtk4
 , glib
 , atk
+, gobject-introspection
 , wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "ghex";
-  version = "3.41.1";
+  version = "4.beta.1";
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
-    url = "mirror://gnome/sources/ghex/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "i3nPAJ6uXEfK0KtT4hmcOm+y86thh381m+1SR3DuYfc=";
+    url = "mirror://gnome/sources/ghex/${version}/${pname}-${version}.tar.xz";
+    sha256 = "sBS/9cY++uHLGCbLeex8ZW697JJn3dK+HaM6tHBdwJ4=";
   };
 
+  patches = [
+    # Fix build with -Werror=format-security
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/ghex/-/commit/3d35359f3a12b6abb4a3d8a12a0f39b7221be408.patch";
+      sha256 = "4z9nUd+/eBOUGwl3MErse+FKLzGqtWKwkIzej57CnYk=";
+    })
+    # Build devhelp index.
+    # https://gitlab.gnome.org/GNOME/ghex/-/merge_requests/25
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/ghex/-/commit/b26a7b1135ea2fe956a9bc0669b3b6ed818716c3.patch";
+      sha256 = "nYjjxds9GNWkW/RhXEe5zJzPF4TnLMsCELEqYR4dXTk=";
+    })
+  ];
+
   nativeBuildInputs = [
     desktop-file-utils
     gettext
@@ -35,12 +52,14 @@ stdenv.mkDerivation rec {
     meson
     ninja
     pkg-config
+    gi-docgen
     python3
+    gobject-introspection
     wrapGAppsHook
   ];
 
   buildInputs = [
-    gtk3
+    gtk4
     atk
     glib
   ];
@@ -50,9 +69,18 @@ stdenv.mkDerivation rec {
     desktop-file-utils
   ];
 
+  mesonFlags = [
+    "-Dgtk_doc=true"
+  ];
+
   postPatch = ''
-     chmod +x meson_post_install.py
-     patchShebangs meson_post_install.py
+    chmod +x meson_post_install.py
+    patchShebangs meson_post_install.py
+  '';
+
+  postFixup = ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
   '';
 
   passthru = {
diff --git a/pkgs/desktops/gnome/apps/gnome-books/default.nix b/pkgs/desktops/gnome/apps/gnome-books/default.nix
index 0e8b322cf5ed7..ec99e915fab13 100644
--- a/pkgs/desktops/gnome/apps/gnome-books/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-books/default.nix
@@ -1,8 +1,10 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , meson
 , ninja
 , gettext
 , fetchurl
+, fetchpatch
 , evince
 , gjs
 , pkg-config
@@ -35,6 +37,15 @@ stdenv.mkDerivation rec {
     sha256 = "0c41l8m2di8h39bmk2fnhpwglwp6qhljmwqqbihzp4ay9976zrc5";
   };
 
+  patches = [
+    # Fix build with meson 0.61
+    # https://gitlab.gnome.org/GNOME/gnome-books/-/merge_requests/62
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-books/-/commit/2663dcdaaaa71f067a4c2d0005eecc0fdf940bf5.patch";
+      sha256 = "v2mLzrxSWrkJ0N6seR8jNXX14FsneEPuE9ELLVUe6+E=";
+    })
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/desktops/gnome/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome/apps/gnome-boxes/default.nix
index 29b08aa3c1edc..7853a80f073d2 100644
--- a/pkgs/desktops/gnome/apps/gnome-boxes/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-boxes/default.nix
@@ -55,11 +55,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-boxes";
-  version = "41.3";
+  version = "42.0.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "m4QGgNHnOG/d/WoVrU3Q8s2ljv6BjPVHg3tGrovw4Yk=";
+    sha256 = "GuIS/4mZFVQuxTtU2VtozfJx2VjPUSzcP+3Hgixu4SM=";
   };
 
   doCheck = true;
diff --git a/pkgs/desktops/gnome/apps/gnome-calendar/default.nix b/pkgs/desktops/gnome/apps/gnome-calendar/default.nix
index db353165c28d6..10267a6c8701f 100644
--- a/pkgs/desktops/gnome/apps/gnome-calendar/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-calendar/default.nix
@@ -1,47 +1,32 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
 , meson
 , ninja
 , pkg-config
-, wrapGAppsHook
-, libdazzle
+, wrapGAppsHook4
 , libgweather
 , geoclue2
 , geocode-glib
-, python3
 , gettext
 , libxml2
 , gnome
-, gtk3
+, gtk4
 , evolution-data-server
+, libical
 , libsoup
 , glib
-, gnome-online-accounts
 , gsettings-desktop-schemas
-, libhandy
-, adwaita-icon-theme
+, libadwaita
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-calendar";
-  version = "41.2";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "lWsvGQMiZRxn/mZyI4lviqWs8ztwraWjsFpTYb2mYRo=";
-  };
-
-  patches = [
-    # https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/84
-    # A refactor has caused the PR patch to drift enough to need rebasing
-    ./gtk_image_reset_crash.patch
-  ];
-
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = pname;
-      attrPath = "gnome.${pname}";
-    };
+    sha256 = "tj9z9VAy/BOQRC+UzfazyrnJHHdN3S5cYez+ydLF6ao=";
   };
 
   nativeBuildInputs = [
@@ -50,35 +35,34 @@ stdenv.mkDerivation rec {
     pkg-config
     gettext
     libxml2
-    wrapGAppsHook
-    python3
+    wrapGAppsHook4
   ];
 
   buildInputs = [
-    gtk3
-    evolution-data-server
+    gtk4
+    evolution-data-server # waiting for GTK4 port
+    libical
     libsoup
     glib
-    gnome-online-accounts
-    libdazzle
     libgweather
     geoclue2
     geocode-glib
     gsettings-desktop-schemas
-    adwaita-icon-theme
-    libhandy
+    libadwaita
   ];
 
-  postPatch = ''
-    chmod +x build-aux/meson/meson_post_install.py # patchShebangs requires executable file
-    patchShebangs build-aux/meson/meson_post_install.py
-  '';
+  passthru = {
+    updateScript = gnome.updateScript {
+      packageName = pname;
+      attrPath = "gnome.${pname}";
+    };
+  };
 
   meta = with lib; {
     homepage = "https://wiki.gnome.org/Apps/Calendar";
     description = "Simple and beautiful calendar application for GNOME";
     maintainers = teams.gnome.members;
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome/apps/gnome-calendar/gtk_image_reset_crash.patch b/pkgs/desktops/gnome/apps/gnome-calendar/gtk_image_reset_crash.patch
deleted file mode 100644
index 5065295b57b77..0000000000000
--- a/pkgs/desktops/gnome/apps/gnome-calendar/gtk_image_reset_crash.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/src/gui/views/gcal-year-view.c b/src/gui/views/gcal-year-view.c
-index ac32a8f9..532425c1 100644
---- a/src/gui/views/gcal-year-view.c
-+++ b/src/gui/views/gcal-year-view.c
-@@ -2158,7 +2158,11 @@ update_weather (GcalYearView *self)
-   if (!updated)
-     {
-       gtk_label_set_text (self->temp_label, "");
--      gtk_image_clear (self->weather_icon);
-+      /* FIXME: This should never be NULL, but it somehow is.
-+       * https://gitlab.gnome.org/GNOME/gnome-calendar/issues/299
-+       */
-+      if (self->weather_icon != NULL)
-+        gtk_image_clear (self->weather_icon);
-     }
- }
- 
diff --git a/pkgs/desktops/gnome/apps/gnome-characters/default.nix b/pkgs/desktops/gnome/apps/gnome-characters/default.nix
index 960a3320472d7..b43e0cdecadfa 100644
--- a/pkgs/desktops/gnome/apps/gnome-characters/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-characters/default.nix
@@ -7,26 +7,26 @@
 , gettext
 , gnome
 , glib
-, gtk3
+, gtk4
 , pango
-, wrapGAppsHook
+, wrapGAppsHook4
 , python3
+, desktop-file-utils
 , gobject-introspection
 , gjs
 , libunistring
-, libhandy
+, libadwaita
 , gsettings-desktop-schemas
-, adwaita-icon-theme
 , gnome-desktop
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-characters";
-  version = "41.0";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-characters/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "0yw6mimfwn0fij8zncjb4rg8bnazd1z47rmzq85lk6807nlyqag1";
+    sha256 = "XaD/uBb4prRPMDdEyoJ6NAgBGMHJONjXmvF7f+Z5gPg=";
   };
 
   nativeBuildInputs = [
@@ -36,39 +36,39 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     python3
-    wrapGAppsHook
+    desktop-file-utils
+    wrapGAppsHook4
   ];
 
 
   buildInputs = [
-    adwaita-icon-theme
     gjs
     glib
     gnome-desktop # for typelib
     gsettings-desktop-schemas
-    gtk3
+    gtk4
     libunistring
-    libhandy
+    libadwaita
     pango
   ];
 
   postPatch = ''
     chmod +x meson_post_install.py # patchShebangs requires executable file
     patchShebangs meson_post_install.py
+
+    # https://gitlab.gnome.org/GNOME/gnome-characters/-/merge_requests/70
+    substituteInPlace meson_post_install.py \
+      --replace "gtk-update-icon-cache" "gtk4-update-icon-cache"
   '';
 
   dontWrapGApps = true;
 
-  # Fixes https://github.com/NixOS/nixpkgs/issues/31168
   postFixup = ''
-    for file in $out/share/org.gnome.Characters/org.gnome.Characters \
-       $out/share/org.gnome.Characters/org.gnome.Characters.BackgroundService
-    do
-      sed -e $"2iimports.package._findEffectiveEntryPointName = () => \'$(basename $file)\' " \
-        -i $file
-
-      wrapGApp "$file"
-    done
+    # Fixes https://github.com/NixOS/nixpkgs/issues/31168
+    file="$out/share/org.gnome.Characters/org.gnome.Characters"
+    sed -e $"2iimports.package._findEffectiveEntryPointName = () => \'$(basename $file)\' " \
+      -i $file
+    wrapGApp "$file"
   '';
 
   passthru = {
diff --git a/pkgs/desktops/gnome/apps/gnome-clocks/default.nix b/pkgs/desktops/gnome/apps/gnome-clocks/default.nix
index 2e8ec02bd845f..3c57c6272e849 100644
--- a/pkgs/desktops/gnome/apps/gnome-clocks/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-clocks/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
 , meson
 , ninja
@@ -7,35 +8,34 @@
 , wrapGAppsHook
 , itstool
 , desktop-file-utils
-, vala
+, vala_0_56
 , gobject-introspection
 , libxml2
-, gtk3
+, gtk4
 , glib
 , gsound
 , sound-theme-freedesktop
 , gsettings-desktop-schemas
-, adwaita-icon-theme
 , gnome-desktop
 , geocode-glib
 , gnome
 , gdk-pixbuf
 , geoclue2
 , libgweather
-, libhandy
+, libadwaita
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-clocks";
-  version = "41.0";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-clocks/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "34yLBKuS+mGPXe5RGFce+fyeilt5XqAKNcbcZ3ywLaw=";
+    sha256 = "DnEY20oDLjzqMhLZjLuCjWt88i/gXgxfyLORxqPdb+A=";
   };
 
   nativeBuildInputs = [
-    vala
+    vala_0_56
     meson
     ninja
     pkg-config
@@ -48,17 +48,16 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gtk3
+    gtk4
     glib
     gsettings-desktop-schemas
     gdk-pixbuf
-    adwaita-icon-theme
     gnome-desktop
     geocode-glib
     geoclue2
     libgweather
     gsound
-    libhandy
+    libadwaita
   ];
 
   preFixup = ''
@@ -81,7 +80,7 @@ stdenv.mkDerivation rec {
     homepage = "https://wiki.gnome.org/Apps/Clocks";
     description = "Clock application designed for GNOME 3";
     maintainers = teams.gnome.members;
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome/apps/gnome-connections/default.nix b/pkgs/desktops/gnome/apps/gnome-connections/default.nix
index 83e88059f8064..b8517a833b004 100644
--- a/pkgs/desktops/gnome/apps/gnome-connections/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-connections/default.nix
@@ -4,7 +4,7 @@
 , meson
 , ninja
 , pkg-config
-, vala
+, vala_0_56
 , gettext
 , itstool
 , python3
@@ -14,6 +14,7 @@
 , glib
 , gtk3
 , libhandy
+, libsecret
 , libxml2
 , gtk-vnc
 , gtk-frdp
@@ -22,18 +23,18 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-connections";
-  version = "41.2";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    hash = "sha256-WrmUKPPOn4qDdDK2e3XbxSi5U6QpOotWVE34g0b+VxM=";
+    hash = "sha256-L3s5u0OPS2oM3Jn2JjGpXbI+W7JC7Gg5pMlQKchwJO0=";
   };
 
   nativeBuildInputs = [
     meson
     ninja
     pkg-config
-    vala
+    vala_0_56
     gettext
     itstool
     python3
@@ -48,6 +49,7 @@ stdenv.mkDerivation rec {
     gtk-vnc
     gtk3
     libhandy
+    libsecret
     libxml2
     gtk-frdp
   ];
diff --git a/pkgs/desktops/gnome/apps/gnome-logs/default.nix b/pkgs/desktops/gnome/apps/gnome-logs/default.nix
index da06eb4404c11..16d487867b8f7 100644
--- a/pkgs/desktops/gnome/apps/gnome-logs/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-logs/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
-, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -10,6 +10,7 @@
 , wrapGAppsHook
 , gettext
 , itstool
+, libhandy
 , libxml2
 , libxslt
 , docbook_xsl
@@ -21,21 +22,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-logs";
-  version = "3.36.0";
+  version = "42.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gnome-logs/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0w1nfdxbv3f0wnhmdy21ydvr4swfc108hypda561p7l9lrhnnxj4";
+    url = "mirror://gnome/sources/gnome-logs/${lib.versions.major version}/${pname}-${version}.tar.xz";
+    sha256 = "TV5FFp1r9DkC16npoHk8kW65LaumuoWzXI629nLNq9c=";
   };
 
-  patches = [
-    # https://gitlab.gnome.org/GNOME/gnome-logs/-/issues/52
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/gnome-logs/-/commit/b42defceefc775220b525f665a3b662ab9593b81.patch";
-      sha256 = "1s0zscmhwy7r0xff17wh8ik8x9xw1vrkipw5vl5i770bxnljps8n";
-    })
-  ];
-
   nativeBuildInputs = [
     python3
     meson
@@ -53,9 +46,9 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib
     gtk3
+    libhandy
     systemd
     gsettings-desktop-schemas
-    gnome.adwaita-icon-theme
   ];
 
   mesonFlags = [
@@ -80,7 +73,7 @@ stdenv.mkDerivation rec {
     homepage = "https://wiki.gnome.org/Apps/Logs";
     description = "A log viewer for the systemd journal";
     maintainers = teams.gnome.members;
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome/apps/gnome-maps/default.nix b/pkgs/desktops/gnome/apps/gnome-maps/default.nix
index 5d90cefdff39d..0efb5faa3c713 100644
--- a/pkgs/desktops/gnome/apps/gnome-maps/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-maps/default.nix
@@ -1,5 +1,7 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
+, fetchpatch
 , meson
 , ninja
 , gettext
@@ -29,13 +31,22 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-maps";
-  version = "41.4";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-40CxP0b+C31bD48BQTKR3c2HDHSlw4+iTKwfWF5wOT4=";
+    sha256 = "sha256-BUSG03dAc3BqdqmBQXl40VG+O3Ik1yN3W74xbvoked8=";
   };
 
+  patches = [
+    # Do not pin to GWeather 3.0, the used API did not change in 4.0.
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-maps/-/commit/759d3087b70341b2c5f1af575ce44338d926690e.patch";
+      sha256 = "Qp9Hta00TLf2lOb9+g9vnPoK17mP3eHpCG2i1ewaw+w=";
+      revert = true;
+    })
+  ];
+
   doCheck = true;
 
   nativeBuildInputs = [
@@ -78,7 +89,7 @@ stdenv.mkDerivation rec {
     # entry point to the wrapped binary we get back to a wrapped
     # binary.
     substituteInPlace "data/org.gnome.Maps.service.in" \
-        --replace "Exec=@pkgdatadir@/org.gnome.Maps" \
+        --replace "Exec=@pkgdatadir@/@app-id@" \
                   "Exec=$out/bin/gnome-maps"
   '';
 
diff --git a/pkgs/desktops/gnome/apps/gnome-music/default.nix b/pkgs/desktops/gnome/apps/gnome-music/default.nix
index 96ec321fa4a97..4676710bfc616 100644
--- a/pkgs/desktops/gnome/apps/gnome-music/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-music/default.nix
@@ -15,7 +15,7 @@
 , grilo
 , grilo-plugins
 , pkg-config
-, gtk3
+, gtk4
 , pango
 , glib
 , desktop-file-utils
@@ -23,21 +23,20 @@
 , itstool
 , gnome
 , gst_all_1
-, libdazzle
 , libsoup
-, libhandy
+, libadwaita
 , gsettings-desktop-schemas
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "gnome-music";
-  version = "41.0";
+  version = "42.0";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "1llz2aqa3n3ivwl7i09pgylsbgrfzb872vcj1k7pvivxm1kkbcb9";
+    sha256 = "nWgZj5hSveD4NFhLlqgSiX0xDLcXKLak8Ji8spsZxdA=";
   };
 
   nativeBuildInputs = [
@@ -54,7 +53,7 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   buildInputs = [
-    gtk3
+    gtk4
     pango
     glib
     libmediaart
@@ -66,9 +65,8 @@ python3.pkgs.buildPythonApplication rec {
     grilo
     grilo-plugins
     libnotify
-    libdazzle
     libsoup
-    libhandy
+    libadwaita
     gsettings-desktop-schemas
     tracker
   ] ++ (with gst_all_1; [
@@ -85,13 +83,6 @@ python3.pkgs.buildPythonApplication rec {
     pygobject3
   ];
 
-  postPatch = ''
-    for f in meson_post_conf.py meson_post_install.py; do
-      chmod +x $f
-      patchShebangs $f
-    done
-  '';
-
   # Prevent double wrapping, let the Python wrapper use the args in preFixup.
   dontWrapGApps = true;
 
diff --git a/pkgs/desktops/gnome/apps/gnome-notes/default.nix b/pkgs/desktops/gnome/apps/gnome-notes/default.nix
index 6af206069e292..0ecd1e2ef6fd5 100644
--- a/pkgs/desktops/gnome/apps/gnome-notes/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-notes/default.nix
@@ -1,8 +1,10 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , meson
 , ninja
 , gettext
 , fetchurl
+, fetchpatch
 , pkg-config
 , wrapGAppsHook
 , itstool
@@ -32,6 +34,15 @@ stdenv.mkDerivation rec {
     sha256 = "1gvvb2klkzbmyzwkjgmscdiqcl8lyz9b0rxb4igjz079csq6z805";
   };
 
+  patches = [
+    # Fix build with meson 0.61
+    # data/appdata/meson.build:3:5: ERROR: Function does not take positional arguments.
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-notes/-/commit/994af76ce5144062d55d141129bf6bf5fab002ee.patch";
+      sha256 = "sha256-z7dPOLZzaqvdqUIDy6+V3dKossRbG0EDjBu2oJCF6b4=";
+    })
+  ];
+
   doCheck = true;
 
   postPatch = ''
diff --git a/pkgs/desktops/gnome/apps/gnome-sound-recorder/default.nix b/pkgs/desktops/gnome/apps/gnome-sound-recorder/default.nix
index 29f7aa6e9ee4b..cd7259c3ae956 100644
--- a/pkgs/desktops/gnome/apps/gnome-sound-recorder/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-sound-recorder/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
 , pkg-config
 , gettext
@@ -6,7 +7,7 @@
 , wrapGAppsHook
 , gjs
 , glib
-, gtk3
+, gtk4
 , gdk-pixbuf
 , gst_all_1
 , gnome
@@ -14,16 +15,16 @@
 , ninja
 , python3
 , desktop-file-utils
-, libhandy
+, libadwaita
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-sound-recorder";
-  version = "40.0";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "00b55vsfzx877b7mj744abzjws7zclz71wbvh0axsrbl9l84ranl";
+    sha256 = "TAjDFSgvPr96LabyDg/58McdqlIp/NL+C1wKqqoG8K0=";
   };
 
   nativeBuildInputs = [
@@ -40,9 +41,9 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gjs
     glib
-    gtk3
+    gtk4
     gdk-pixbuf
-    libhandy
+    libadwaita
   ] ++ (with gst_all_1; [
     gstreamer
     gst-plugins-base
diff --git a/pkgs/desktops/gnome/apps/gnome-text-editor/default.nix b/pkgs/desktops/gnome/apps/gnome-text-editor/default.nix
index 22f9ac176aad5..ac065aaaec7e4 100644
--- a/pkgs/desktops/gnome/apps/gnome-text-editor/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-text-editor/default.nix
@@ -23,11 +23,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-text-editor";
-  version = "41.1";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-text-editor/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-YZ7FINbgkF1DEWcCTkPc4Nv2o0Xy1IaTUB1w3HYm+GE=";
+    sha256 = "sha256-DjIUDuHBNChWO81feE5h7iL/0a0n2MAig7Q1ioHfq1A=";
   };
 
   nativeBuildInputs = [
@@ -53,14 +53,6 @@ stdenv.mkDerivation rec {
     pcre
   ];
 
-  postPatch = ''
-    chmod +x build-aux/meson/postinstall.py
-    patchShebangs build-aux/meson/postinstall.py
-    substituteInPlace build-aux/meson/postinstall.py \
-      --replace "gtk-update-icon-cache" "gtk4-update-icon-cache"
-  '';
-
-
   passthru = {
     updateScript = gnome.updateScript {
       packageName = "gnome-text-editor";
diff --git a/pkgs/desktops/gnome/apps/gnome-weather/default.nix b/pkgs/desktops/gnome/apps/gnome-weather/default.nix
index aa192a6a3b653..b7921322d9947 100644
--- a/pkgs/desktops/gnome/apps/gnome-weather/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-weather/default.nix
@@ -3,8 +3,8 @@
 , fetchurl
 , pkg-config
 , gnome
-, gtk3
-, libhandy
+, gtk4
+, libadwaita
 , wrapGAppsHook
 , gjs
 , gobject-introspection
@@ -12,18 +12,17 @@
 , meson
 , ninja
 , geoclue2
-, gnome-desktop
 , python3
 , gsettings-desktop-schemas
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-weather";
-  version = "41.0";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-weather/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "1vidwq768xnrnr24jcfbpwjczz7vm5zmaiv41nb75q4p8avlwqg5";
+    sha256 = "V57mkdhT5bs/9Q6Me0P4Wundfls6ZJ4CwlSi2bgHtGU=";
   };
 
   nativeBuildInputs = [
@@ -35,11 +34,10 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gtk3
-    libhandy
+    gtk4
+    libadwaita
     gjs
     gobject-introspection
-    gnome-desktop
     libgweather
     gnome.adwaita-icon-theme
     geoclue2
@@ -70,7 +68,7 @@ stdenv.mkDerivation rec {
     homepage = "https://wiki.gnome.org/Apps/Weather";
     description = "Access current weather conditions and forecasts";
     maintainers = teams.gnome.members;
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome/apps/polari/default.nix b/pkgs/desktops/gnome/apps/polari/default.nix
index f207307588a12..c734a5c5c8282 100644
--- a/pkgs/desktops/gnome/apps/polari/default.nix
+++ b/pkgs/desktops/gnome/apps/polari/default.nix
@@ -1,15 +1,40 @@
-{ lib, stdenv, itstool, fetchurl, gdk-pixbuf, adwaita-icon-theme
-, telepathy-glib, gjs, meson, ninja, gettext, telepathy-idle, libxml2, desktop-file-utils
-, pkg-config, gtk4, gtk3, glib, libsecret, libsoup, webkitgtk, gobject-introspection, appstream-glib
-, gnome, wrapGAppsHook4, telepathy-logger, gspell, gsettings-desktop-schemas }:
+{ stdenv
+, lib
+, itstool
+, fetchurl
+, gdk-pixbuf
+, telepathy-glib
+, gjs
+, meson
+, ninja
+, gettext
+, telepathy-idle
+, libxml2
+, desktop-file-utils
+, pkg-config
+, gtk4
+, libadwaita
+, gtk3
+, glib
+, libsecret
+, libsoup
+, webkitgtk
+, gobject-introspection
+, appstream-glib
+, gnome
+, wrapGAppsHook4
+, telepathy-logger
+, gspell
+, gsettings-desktop-schemas
+}:
 
 stdenv.mkDerivation rec {
   pname = "polari";
-  version = "41.0";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "o7BfgWYDcMZ8lCtvRLKYx7eIFv6zjJJuwiEr3iLqQOs=";
+    sha256 = "WPFbv1tCwLASPv3td1cR07DyRJl1cwlAOMpVZGHgSTw=";
   };
 
   patches = [
@@ -19,16 +44,38 @@ stdenv.mkDerivation rec {
     ./make-thumbnailer-wrappable.patch
   ];
 
-  propagatedUserEnvPkgs = [ telepathy-idle telepathy-logger ];
+  propagatedUserEnvPkgs = [
+    telepathy-idle
+    telepathy-logger
+  ];
 
   nativeBuildInputs = [
-    meson ninja pkg-config itstool gettext wrapGAppsHook4 libxml2
-    desktop-file-utils gobject-introspection appstream-glib
+    meson
+    ninja
+    pkg-config
+    itstool
+    gettext
+    wrapGAppsHook4
+    libxml2
+    desktop-file-utils
+    gobject-introspection
+    appstream-glib
   ];
 
   buildInputs = [
-    gtk4 gtk3 glib adwaita-icon-theme gsettings-desktop-schemas
-    telepathy-glib telepathy-logger gjs gspell gdk-pixbuf libsecret libsoup webkitgtk
+    gtk4
+    libadwaita
+    gtk3 # for thumbnailer
+    glib
+    gsettings-desktop-schemas
+    telepathy-glib
+    telepathy-logger
+    gjs
+    gspell
+    gdk-pixbuf
+    libsecret
+    libsoup
+    webkitgtk # for thumbnailer
   ];
 
   postFixup = ''
@@ -46,7 +93,7 @@ stdenv.mkDerivation rec {
     homepage = "https://wiki.gnome.org/Apps/Polari";
     description = "IRC chat client designed to integrate with the GNOME desktop";
     maintainers = teams.gnome.members;
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome/core/adwaita-icon-theme/default.nix b/pkgs/desktops/gnome/core/adwaita-icon-theme/default.nix
index c7c85779d3fbf..b3c9e1ea62ae7 100644
--- a/pkgs/desktops/gnome/core/adwaita-icon-theme/default.nix
+++ b/pkgs/desktops/gnome/core/adwaita-icon-theme/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "adwaita-icon-theme";
-  version = "41.0";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/adwaita-icon-theme/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "71M52MNfytXRBIG3BICAPw+iCz08vDOSOPys7q7gHro=";
+    sha256 = "XoW1rcje5maQD8rycbpxf33LnQoD2W2uCPnL0n4YseA=";
   };
 
   # For convenience, we can specify adwaita-icon-theme only in packages
diff --git a/pkgs/desktops/gnome/core/baobab/default.nix b/pkgs/desktops/gnome/core/baobab/default.nix
index 40ea18b1af1e4..7c463e8ed283e 100644
--- a/pkgs/desktops/gnome/core/baobab/default.nix
+++ b/pkgs/desktops/gnome/core/baobab/default.nix
@@ -8,22 +8,22 @@
 , ninja
 , pkg-config
 , python3
-, gtk3
-, libhandy
+, gtk4
+, libadwaita
 , glib
 , libxml2
-, wrapGAppsHook
+, wrapGAppsHook4
 , itstool
 , gnome
 }:
 
 stdenv.mkDerivation rec {
   pname = "baobab";
-  version = "41.0";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "ytYnjS3MgMhLVxBapbtY2KMM6Y1vq9dnUZ3bhshX6FU=";
+    sha256 = "Sxqr5rqxWCs/6nmigpvOfyQVu25QYvJTV67t1TF6UNw=";
   };
 
   nativeBuildInputs = [
@@ -37,21 +37,27 @@ stdenv.mkDerivation rec {
     pkg-config
     python3
     vala
-    wrapGAppsHook
-    # Prevents “error: Package `libhandy-1' not found in specified Vala API
+    wrapGAppsHook4
+    # Prevents “error: Package `libadwaita-1' not found in specified Vala API
     # directories or GObject-Introspection GIR directories” with strictDeps,
     # even though it should only be a runtime dependency.
-    libhandy
+    libadwaita
   ];
 
   buildInputs = [
-    gtk3
-    libhandy
+    gtk4
+    libadwaita
     glib
   ];
 
   doCheck = true;
 
+  postPatch = ''
+    # https://gitlab.gnome.org/GNOME/baobab/-/merge_requests/40
+    substituteInPlace build-aux/post-install.py \
+      --replace "gtk-update-icon-cache" "gtk4-update-icon-cache"
+  '';
+
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
diff --git a/pkgs/desktops/gnome/core/dconf-editor/default.nix b/pkgs/desktops/gnome/core/dconf-editor/default.nix
index 165980d7e9c13..4c8607bb6f9fa 100644
--- a/pkgs/desktops/gnome/core/dconf-editor/default.nix
+++ b/pkgs/desktops/gnome/core/dconf-editor/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchurl
+, fetchpatch
 , meson
 , ninja
 , vala
@@ -27,6 +28,18 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-Vxr0x9rU8Em1PmzXKLea3fCMJ92ra8V7OW0hGGbueeM=";
   };
 
+  patches = [
+    # Look for compiled schemas in NIX_GSETTINGS_OVERRIDES_DIR
+    # environment variable, to match what we patched GLib to do.
+    ./schema-override-variable.patch
+
+    # Fix build with Meson 0.61.0
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/dconf-editor/-/commit/56474378568e6ff4af8aa912810323e808c1d977.patch";
+      sha256 = "iFyJcskqcmvz7tp1Z9jM9f8WvAhD0L9Vx1hu2c402MA=";
+    })
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/desktops/gnome/core/dconf-editor/schema-override-variable.patch b/pkgs/desktops/gnome/core/dconf-editor/schema-override-variable.patch
new file mode 100644
index 0000000000000..feaa604e5b674
--- /dev/null
+++ b/pkgs/desktops/gnome/core/dconf-editor/schema-override-variable.patch
@@ -0,0 +1,14 @@
+diff --git a/editor/source-manager.vala b/editor/source-manager.vala
+index 27b2b17a..87f7ba86 100644
+--- a/editor/source-manager.vala
++++ b/editor/source-manager.vala
+@@ -121,6 +121,9 @@ private class SourceManager : Object
+             source = try_prepend_dir (source, Path.build_filename (system_data_dirs [i], "glib-2.0", "schemas"));
+         string user_data_dir = GLib.Environment.get_user_data_dir ();
+         source = try_prepend_dir (source, Path.build_filename (user_data_dir, "glib-2.0", "schemas"));
++        string? nix_var_schema_dir = GLib.Environment.get_variable ("NIX_GSETTINGS_OVERRIDES_DIR");
++        if (nix_var_schema_dir != null)
++            source = try_prepend_dir (source, (!) nix_var_schema_dir);
+         string? var_schema_dir = GLib.Environment.get_variable ("GSETTINGS_SCHEMA_DIR");
+         if (var_schema_dir != null)
+             source = try_prepend_dir (source, (!) var_schema_dir);
diff --git a/pkgs/desktops/gnome/core/eog/default.nix b/pkgs/desktops/gnome/core/eog/default.nix
index cdde96ae43b9b..08baf9022f71d 100644
--- a/pkgs/desktops/gnome/core/eog/default.nix
+++ b/pkgs/desktops/gnome/core/eog/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
-, fetchpatch
 , meson
 , ninja
 , gettext
@@ -12,9 +12,9 @@
 , libportal-gtk3
 , gnome
 , gtk3
+, libhandy
 , glib
 , gsettings-desktop-schemas
-, adwaita-icon-theme
 , gnome-desktop
 , lcms2
 , gdk-pixbuf
@@ -24,27 +24,20 @@
 , librsvg
 , libexif
 , gobject-introspection
-, python3
+, gi-docgen
 }:
 
 stdenv.mkDerivation rec {
   pname = "eog";
-  version = "41.1";
+  version = "42.0";
+
+  outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-huG5ujnaz3QiavpFermDtBJTuJ9he/VBOcrQiS0C2Kk=";
+    sha256 = "sha256-+zW/tRZ6QhIfWae5t6wNdbvQUXua/W2Rgx6E01c13fg=";
   };
 
-  patches = [
-    # Fix build with latest libportal
-    # https://gitlab.gnome.org/GNOME/eog/-/merge_requests/115
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/eog/-/commit/a06e6325907e136678b0bbe7058c25d688034afd.patch";
-      sha256 = "ttcsfHubfmIbxA51YLnxXDagLLNutXYmoQyMQ4sHRak=";
-    })
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
@@ -52,15 +45,16 @@ stdenv.mkDerivation rec {
     gettext
     itstool
     wrapGAppsHook
-    libxml2
+    libxml2 # for xmllint for xml-stripblanks
     gobject-introspection
-    python3
+    gi-docgen
   ];
 
   buildInputs = [
     libjpeg
     libportal-gtk3
     gtk3
+    libhandy
     gdk-pixbuf
     glib
     libpeas
@@ -71,13 +65,11 @@ stdenv.mkDerivation rec {
     exempi
     gsettings-desktop-schemas
     shared-mime-info
-    adwaita-icon-theme
   ];
 
-  postPatch = ''
-    chmod +x meson_post_install.py
-    patchShebangs meson_post_install.py
-  '';
+  mesonFlags = [
+    "-Dgtk_doc=true"
+  ];
 
   preFixup = ''
     gappsWrapperArgs+=(
@@ -88,6 +80,11 @@ stdenv.mkDerivation rec {
     )
   '';
 
+  postFixup = ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
+  '';
+
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
diff --git a/pkgs/desktops/gnome/core/epiphany/default.nix b/pkgs/desktops/gnome/core/epiphany/default.nix
index eb8caa4f1eff0..43b3eb2ee2fc3 100644
--- a/pkgs/desktops/gnome/core/epiphany/default.nix
+++ b/pkgs/desktops/gnome/core/epiphany/default.nix
@@ -11,7 +11,6 @@
 , icu
 , wrapGAppsHook
 , gnome
-, pantheon
 , libportal-gtk3
 , libxml2
 , libxslt
@@ -41,37 +40,23 @@
 
 stdenv.mkDerivation rec {
   pname = "epiphany";
-  version = "41.3";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "ugEmjuVPMY39rC4B66OKP8lpQMHL9kDtJhOuKfi8ua0=";
+    sha256 = "Pb+owA5Ft/ROGCTQHw/r6DcHtfuTMMJhFz9ot/A81eM=";
   };
 
   patches = lib.optionals withPantheon [
     # Pantheon specific patches for epiphany
     # https://github.com/elementary/browser
     #
-    # Make this respect dark mode settings from Pantheon
-    # https://github.com/elementary/browser/pull/21
-    # https://github.com/elementary/browser/pull/41
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/elementary/browser/cc17559a7ac6effe593712b4f3d0bbefde6e3b62/dark-style.patch";
-      sha256 = "sha256-RzMUc9P51UN3tRFefzRtMniXR9duOOmLj5eu5gL2TEQ=";
-    })
     # Patch to unlink nav buttons
     # https://github.com/elementary/browser/pull/18
     (fetchpatch {
       url = "https://raw.githubusercontent.com/elementary/browser/cc17559a7ac6effe593712b4f3d0bbefde6e3b62/navigation-buttons.patch";
       sha256 = "sha256-G1/JUjn/8DyO9sgL/5Kq205KbTOs4EMi4Vf3cJ8FHXU=";
     })
-  ] ++ [
-    # Fix build with latest libportal
-    # https://gitlab.gnome.org/GNOME/epiphany/-/merge_requests/1051
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/epiphany/-/commit/84474398f6e59266b73170838219aa896729ce93.patch";
-      sha256 = "SeiLTo3FcOxuml5sJX9GqyGdyGf1jm1A76SOI0JJvoo=";
-    })
   ];
 
   nativeBuildInputs = [
@@ -94,7 +79,6 @@ stdenv.mkDerivation rec {
     glib
     glib-networking
     gnome-desktop
-    gnome.adwaita-icon-theme
     gst_all_1.gst-libav
     gst_all_1.gst-plugins-bad
     gst_all_1.gst-plugins-base
@@ -117,8 +101,6 @@ stdenv.mkDerivation rec {
     p11-kit
     sqlite
     webkitgtk
-  ] ++ lib.optionals withPantheon [
-    pantheon.granite
   ];
 
   # Tests need an X display
diff --git a/pkgs/desktops/gnome/core/evince/default.nix b/pkgs/desktops/gnome/core/evince/default.nix
index d7001853fa6c8..18451ce239f7d 100644
--- a/pkgs/desktops/gnome/core/evince/default.nix
+++ b/pkgs/desktops/gnome/core/evince/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchurl
-, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -32,42 +31,27 @@
 , gsettings-desktop-schemas
 , gnome-desktop
 , dbus
-, pantheon
 , python3
 , texlive
-, t1lib
 , gst_all_1
-, gtk-doc
-, docbook-xsl-nons
-, docbook_xml_dtd_43
+, gi-docgen
 , supportMultimedia ? true # PDF multimedia
 , libgxps
 , supportXPS ? true # Open XML Paper Specification via libgxps
-, withPantheon ? false
 , withLibsecret ? true
 }:
 
 stdenv.mkDerivation rec {
   pname = "evince";
-  version = "41.4";
+  version = "42.1";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/evince/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "/yRSQPIwkivsMqTXsKHZGyR6g9E0hPmbdANdUesjITA=";
+    sha256 = "skdnuz1RA7TjWw4VzwM9viSI+IcAzdiC0ipDre7C6Ao=";
   };
 
-  patches = lib.optionals withPantheon [
-    # Make this respect dark mode settings from Pantheon
-    # https://github.com/elementary/evince/pull/21
-    # https://github.com/elementary/evince/pull/31
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/elementary/evince/c8364019ee2c2dffd2a1bccf79b8f4e526aa22af/dark-style.patch";
-      sha256 = "sha256-nKELRXnM6gMRTGmWdO1Qqlo9ciy+4HOK5z2CYOoi2Lo=";
-    })
-  ];
-
   postPatch = ''
     chmod +x meson_post_install.py
     patchShebangs meson_post_install.py
@@ -75,11 +59,9 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     appstream
-    docbook-xsl-nons
-    docbook_xml_dtd_43
     gettext
     gobject-introspection
-    gtk-doc
+    gi-docgen
     itstool
     meson
     ninja
@@ -108,7 +90,6 @@ stdenv.mkDerivation rec {
     libxml2
     pango
     poppler
-    t1lib
     texlive.bin.core # kpathsea for DVI support
   ] ++ lib.optionals withLibsecret [
     libsecret
@@ -121,9 +102,7 @@ stdenv.mkDerivation rec {
     gst-plugins-bad
     gst-plugins-ugly
     gst-libav
-  ]) ++ lib.optionals withPantheon [
-    pantheon.granite
-  ];
+  ]);
 
   mesonFlags = [
     "-Dnautilus=false"
@@ -140,6 +119,11 @@ stdenv.mkDerivation rec {
     gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "${shared-mime-info}/share")
   '';
 
+  postFixup = ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
+  '';
+
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
diff --git a/pkgs/desktops/gnome/core/evolution-data-server/default.nix b/pkgs/desktops/gnome/core/evolution-data-server/default.nix
index b7ba12be13567..e43fe60eb7e90 100644
--- a/pkgs/desktops/gnome/core/evolution-data-server/default.nix
+++ b/pkgs/desktops/gnome/core/evolution-data-server/default.nix
@@ -1,18 +1,57 @@
-{ fetchurl, lib, stdenv, substituteAll, pkg-config, gnome, python3, gobject-introspection
-, intltool, libsoup, libxml2, libsecret, icu, sqlite, tzdata, libcanberra-gtk3, gcr, p11-kit
-, db, nspr, nss, libical, gperf, wrapGAppsHook, glib-networking, pcre, vala, cmake, ninja
-, libkrb5, openldap, webkitgtk, libaccounts-glib, json-glib, glib, gtk3, libphonenumber
-, gnome-online-accounts, libgweather, libgdata, gsettings-desktop-schemas, boost, protobuf }:
+{ stdenv
+, lib
+, fetchurl
+, substituteAll
+, pkg-config
+, gnome
+, python3
+, gobject-introspection
+, gettext
+, libsoup
+, libxml2
+, libsecret
+, icu
+, sqlite
+, tzdata
+, libcanberra-gtk3
+, gcr
+, p11-kit
+, db
+, nspr
+, nss
+, libical
+, gperf
+, wrapGAppsHook
+, glib-networking
+, pcre
+, vala
+, cmake
+, ninja
+, libkrb5
+, openldap
+, webkitgtk
+, libaccounts-glib
+, json-glib
+, glib
+, gtk3
+, libphonenumber
+, gnome-online-accounts
+, libgweather
+, libgdata
+, gsettings-desktop-schemas
+, boost
+, protobuf
+}:
 
 stdenv.mkDerivation rec {
   pname = "evolution-data-server";
-  version = "3.42.4";
+  version = "3.44.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "fftBs+bAWBHUSajeTfx3q5sZ+O3yCzL92FeRhmIm0lI=";
+    sha256 = "DYiBtcUeG5F2GxlF2yZKRqq/VKc+6hyo9EiyB4FdWC4=";
   };
 
   patches = [
@@ -23,19 +62,47 @@ stdenv.mkDerivation rec {
   ];
 
   prePatch = ''
-    substitute ${./hardcode-gsettings.patch} hardcode-gsettings.patch --subst-var-by ESD_GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"} \
+    substitute ${./hardcode-gsettings.patch} hardcode-gsettings.patch \
+      --subst-var-by ESD_GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"} \
       --subst-var-by GDS_GSETTINGS_PATH ${glib.getSchemaPath gsettings-desktop-schemas}
     patches="$patches $PWD/hardcode-gsettings.patch"
   '';
 
   nativeBuildInputs = [
-    cmake ninja pkg-config intltool python3 gperf wrapGAppsHook gobject-introspection vala
+    cmake
+    ninja
+    pkg-config
+    gettext
+    python3
+    gperf
+    wrapGAppsHook
+    gobject-introspection
+    vala
   ];
+
   buildInputs = [
-    glib libsoup libxml2 gtk3 gnome-online-accounts
-    gcr p11-kit libgweather libgdata libaccounts-glib json-glib
-    icu sqlite libkrb5 openldap webkitgtk glib-networking
-    libcanberra-gtk3 pcre libphonenumber boost protobuf
+    glib
+    libsoup
+    libxml2
+    gtk3
+    gnome-online-accounts
+    gcr
+    p11-kit
+    libgweather
+    libgdata
+    libaccounts-glib
+    json-glib
+    icu
+    sqlite
+    libkrb5
+    openldap
+    webkitgtk
+    glib-networking
+    libcanberra-gtk3
+    pcre
+    libphonenumber
+    boost
+    protobuf
   ];
 
   propagatedBuildInputs = [
@@ -55,6 +122,7 @@ stdenv.mkDerivation rec {
     "-DCMAKE_SKIP_BUILD_RPATH=OFF"
     "-DINCLUDE_INSTALL_DIR=${placeholder "dev"}/include"
     "-DWITH_PHONENUMBER=ON"
+    "-DWITH_GWEATHER4=ON"
   ];
 
   passthru = {
@@ -67,7 +135,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Unified backend for programs that work with contacts, tasks, and calendar information";
     homepage = "https://wiki.gnome.org/Apps/Evolution";
-    license = licenses.lgpl2;
+    license = licenses.lgpl2Plus;
     maintainers = teams.gnome.members;
     platforms = platforms.linux;
   };
diff --git a/pkgs/desktops/gnome/core/gdm/default.nix b/pkgs/desktops/gnome/core/gdm/default.nix
index 6b51d11adfedb..990f1bef2119e 100644
--- a/pkgs/desktops/gnome/core/gdm/default.nix
+++ b/pkgs/desktops/gnome/core/gdm/default.nix
@@ -19,6 +19,7 @@
 , gtk3
 , libcanberra-gtk3
 , pam
+, libgudev
 , libselinux
 , keyutils
 , audit
@@ -43,13 +44,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gdm";
-  version = "41.3";
+  version = "42.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gdm/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "uwtlCnzqkPCaMyhPvQKXUxVAfvwY6BQAmFLRvK00N9Q=";
+    sha256 = "oyisl2k3vsF5lx/weCmhJGuYznJBgcEorjKguketOFU=";
   };
 
   mesonFlags = [
@@ -83,6 +84,7 @@ stdenv.mkDerivation rec {
     keyutils
     libX11
     libcanberra-gtk3
+    libgudev
     libselinux
     pam
     plymouth
diff --git a/pkgs/desktops/gnome/core/gnome-backgrounds/default.nix b/pkgs/desktops/gnome/core/gnome-backgrounds/default.nix
index 89a49e4cecb33..ba70570b1f85c 100644
--- a/pkgs/desktops/gnome/core/gnome-backgrounds/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-backgrounds/default.nix
@@ -1,16 +1,18 @@
-{ lib, stdenv, fetchurl, meson, ninja, pkg-config, gnome, gettext }:
+{ stdenv
+, lib
+, fetchurl
+, meson
+, ninja
+, gnome
+}:
 
 stdenv.mkDerivation rec {
   pname = "gnome-backgrounds";
-  version = "41.0";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-backgrounds/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "HaGsDSYb7fD80shbSAvGVQXiPPUfEUMSbA03cX5pMUU=";
-  };
-
-  passthru = {
-    updateScript = gnome.updateScript { packageName = "gnome-backgrounds"; attrPath = "gnome.gnome-backgrounds"; };
+    sha256 = "TH/hoJ9FnF93GJpZglJPzgXYiJRJVdZ5kQ8jRgbBKV0=";
   };
 
   patches = [
@@ -20,9 +22,22 @@ stdenv.mkDerivation rec {
     ./stable-dir.patch
   ];
 
-  nativeBuildInputs = [ meson ninja pkg-config gettext ];
+  nativeBuildInputs = [
+    meson
+    ninja
+  ];
+
+  passthru = {
+    updateScript = gnome.updateScript {
+      packageName = "gnome-backgrounds";
+      attrPath = "gnome.gnome-backgrounds";
+    };
+  };
 
   meta = with lib; {
+    description = "Default wallpaper set for GNOME";
+    homepage = "https://gitlab.gnome.org/GNOME/gnome-backgrounds";
+    license = licenses.cc-by-sa-30;
     platforms = platforms.unix;
     maintainers = teams.gnome.members;
   };
diff --git a/pkgs/desktops/gnome/core/gnome-bluetooth/1.0/default.nix b/pkgs/desktops/gnome/core/gnome-bluetooth/1.0/default.nix
new file mode 100644
index 0000000000000..38bb96980dcad
--- /dev/null
+++ b/pkgs/desktops/gnome/core/gnome-bluetooth/1.0/default.nix
@@ -0,0 +1,97 @@
+{ stdenv
+, lib
+, fetchurl
+, fetchpatch
+, gnome
+, meson
+, ninja
+, pkg-config
+, gtk3
+, gettext
+, glib
+, udev
+, itstool
+, libxml2
+, wrapGAppsHook
+, libnotify
+, libcanberra-gtk3
+, gobject-introspection
+, gtk-doc
+, docbook-xsl-nons
+, docbook_xml_dtd_43
+, python3
+, gsettings-desktop-schemas
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-bluetooth";
+  version = "3.34.5";
+
+  # TODO: split out "lib"
+  outputs = [ "out" "dev" "devdoc" "man" ];
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "bJSeUsi+zCBU2qzWBJAfZs5c9wml+pHEu3ysyTm1Pqk=";
+  };
+
+  patches = [
+    # Fix build with meson 0.61.
+    # sendto/meson.build:24:5: ERROR: Function does not take positional arguments.
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-bluetooth/-/commit/755fd758f866d3a3f7ca482942beee749f13a91e.patch";
+      sha256 = "sha256-N0MJ0pYO411o2CTNZHWmEoG2m5TGUjR6YW6HSXHTR/A=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    gettext
+    itstool
+    pkg-config
+    libxml2
+    wrapGAppsHook
+    gobject-introspection
+    gtk-doc
+    docbook-xsl-nons
+    docbook_xml_dtd_43
+    python3
+  ];
+
+  buildInputs = [
+    glib
+    gtk3
+    udev
+    libnotify
+    libcanberra-gtk3
+    gnome.adwaita-icon-theme
+    gsettings-desktop-schemas
+  ];
+
+  mesonFlags = [
+    "-Dicon_update=false"
+    "-Dgtk_doc=true"
+  ];
+
+  postPatch = ''
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs meson_post_install.py
+  '';
+
+  passthru = {
+    updateScript = gnome.updateScript {
+      packageName = pname;
+      attrPath = "gnome.gnome-bluetooth_1_0";
+      freeze = true;
+    };
+  };
+
+  meta = with lib; {
+    homepage = "https://help.gnome.org/users/gnome-bluetooth/stable/index.html.en";
+    description = "Application that let you manage Bluetooth in the GNOME destkop";
+    maintainers = teams.gnome.members;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/desktops/gnome/core/gnome-bluetooth/default.nix b/pkgs/desktops/gnome/core/gnome-bluetooth/default.nix
index 901dbc21e9ef8..7d8fc2bc86748 100644
--- a/pkgs/desktops/gnome/core/gnome-bluetooth/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-bluetooth/default.nix
@@ -5,15 +5,17 @@
 , meson
 , ninja
 , pkg-config
-, gtk3
+, gtk4
+, libadwaita
 , gettext
 , glib
 , udev
+, upower
 , itstool
 , libxml2
 , wrapGAppsHook
 , libnotify
-, libcanberra-gtk3
+, gsound
 , gobject-introspection
 , gtk-doc
 , docbook-xsl-nons
@@ -24,14 +26,14 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-bluetooth";
-  version = "3.34.5";
+  version = "42.0";
 
   # TODO: split out "lib"
   outputs = [ "out" "dev" "devdoc" "man" ];
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1a9ynlwwkb3wpg293ym517vmrkk63y809mmcv9a21k5yr199x53c";
+    url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
+    sha256 = "PR4nIGc7yaJCYZ3F0jH9bndsGKSdop9DzcQzBVrbAXA=";
   };
 
   nativeBuildInputs = [
@@ -51,24 +53,19 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     glib
-    gtk3
+    gtk4
+    libadwaita
     udev
+    upower
     libnotify
-    libcanberra-gtk3
-    gnome.adwaita-icon-theme
+    gsound
     gsettings-desktop-schemas
   ];
 
   mesonFlags = [
-    "-Dicon_update=false"
     "-Dgtk_doc=true"
   ];
 
-  postPatch = ''
-    chmod +x meson_post_install.py # patchShebangs requires executable file
-    patchShebangs meson_post_install.py
-  '';
-
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
@@ -77,7 +74,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    homepage = "https://help.gnome.org/users/gnome-bluetooth/stable/index.html.en";
+    homepage = "https://gitlab.gnome.org/GNOME/gnome-bluetooth";
     description = "Application that lets you manage Bluetooth in the GNOME desktop";
     maintainers = teams.gnome.members;
     license = licenses.gpl2Plus;
diff --git a/pkgs/desktops/gnome/core/gnome-calculator/default.nix b/pkgs/desktops/gnome/core/gnome-calculator/default.nix
index 6a7a8ccec06b9..889155f19a6de 100644
--- a/pkgs/desktops/gnome/core/gnome-calculator/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-calculator/default.nix
@@ -8,29 +8,28 @@
 , fetchurl
 , pkg-config
 , libxml2
-, gtk3
+, gtk4
 , glib
-, gtksourceview4
+, gtksourceview5
 , wrapGAppsHook
 , gobject-introspection
-, python3
 , gnome
 , mpfr
 , gmp
 , libsoup
 , libmpc
-, libhandy
+, libadwaita
 , gsettings-desktop-schemas
 , libgee
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-calculator";
-  version = "41.1";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-calculator/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "AmdhSv2yXTi3hBG0Lrq3vFDBtjQMxJu2jA5DLX3fijQ=";
+    sha256 = "pTWhTr6ljmkaS1oIUlau0GCiw/BzhKw6PQGDIzKifko=";
   };
 
   nativeBuildInputs = [
@@ -41,32 +40,25 @@ stdenv.mkDerivation rec {
     gettext
     itstool
     wrapGAppsHook
-    python3
     gobject-introspection # for finding vapi files
   ];
 
   buildInputs = [
-    gtk3
+    gtk4
     glib
     libxml2
-    gtksourceview4
+    gtksourceview5
     mpfr
     gmp
-    gnome.adwaita-icon-theme
     libgee
     gsettings-desktop-schemas
     libsoup
     libmpc
-    libhandy
+    libadwaita
   ];
 
   doCheck = true;
 
-  postPatch = ''
-    chmod +x meson_post_install.py # patchShebangs requires executable file
-    patchShebangs meson_post_install.py
-  '';
-
   preCheck = ''
     # Currency conversion test tries to store currency data in $HOME/.cache.
     export HOME=$TMPDIR
diff --git a/pkgs/desktops/gnome/core/gnome-contacts/default.nix b/pkgs/desktops/gnome/core/gnome-contacts/default.nix
index 1c16c3dd35ea8..fac22f0b5785f 100644
--- a/pkgs/desktops/gnome/core/gnome-contacts/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-contacts/default.nix
@@ -1,18 +1,16 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , gettext
 , fetchurl
 , evolution-data-server
 , pkg-config
 , libxslt
-, docbook_xsl
+, docbook-xsl-nons
 , docbook_xml_dtd_42
-, python3
-, gtk3
+, desktop-file-utils
+, gtk4
 , glib
-, cheese
-, libchamplain
-, clutter-gtk
-, geocode-glib
+, libportal
 , gnome-desktop
 , gnome-online-accounts
 , wrapGAppsHook
@@ -23,17 +21,17 @@
 , vala
 , meson
 , ninja
-, libhandy
+, libadwaita
 , gsettings-desktop-schemas
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-contacts";
-  version = "41.0";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-contacts/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "Y+MUm10UdbeiaYAFu191DzyApzVxcWDjnfjP3+v8zfA=";
+    sha256 = "iALDj9wj9SjawSj1O9zx9sow4OHGhIxCzWyEpeIsUhY=";
   };
 
   propagatedUserEnvPkgs = [
@@ -47,34 +45,25 @@ stdenv.mkDerivation rec {
     vala
     gettext
     libxslt
-    docbook_xsl
+    docbook-xsl-nons
     docbook_xml_dtd_42
-    python3
+    desktop-file-utils
     wrapGAppsHook
   ];
 
   buildInputs = [
-    gtk3
+    gtk4
     glib
+    libportal
     evolution-data-server
     gsettings-desktop-schemas
     folks
     gnome-desktop
-    libhandy
+    libadwaita
     libxml2
     gnome-online-accounts
-    cheese
-    gnome.adwaita-icon-theme
-    libchamplain
-    clutter-gtk
-    geocode-glib
   ];
 
-  postPatch = ''
-    chmod +x build-aux/meson_post_install.py
-    patchShebangs build-aux/meson_post_install.py
-  '';
-
   doCheck = true;
 
   passthru = {
diff --git a/pkgs/desktops/gnome/core/gnome-control-center/default.nix b/pkgs/desktops/gnome/core/gnome-control-center/default.nix
index f68977e52dd07..c7da1e43a15cd 100644
--- a/pkgs/desktops/gnome/core/gnome-control-center/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-control-center/default.nix
@@ -2,13 +2,11 @@
 , lib
 , stdenv
 , substituteAll
+, fetchpatch
 , accountsservice
 , adwaita-icon-theme
-, cheese
-, clutter
-, clutter-gtk
 , colord
-, colord-gtk
+, colord-gtk4
 , cups
 , docbook-xsl-nons
 , fontconfig
@@ -26,19 +24,17 @@
 , gnome
 , gsettings-desktop-schemas
 , gsound
-, gtk3
+, gtk4
 , ibus
-, libcanberra-gtk3
 , libgnomekbd
 , libgtop
 , libgudev
-, libhandy
+, libadwaita
 , libkrb5
 , libpulseaudio
 , libpwquality
 , librsvg
 , libsecret
-, libsoup
 , libwacom
 , libxml2
 , libxslt
@@ -47,7 +43,7 @@
 , mutter
 , networkmanager
 , networkmanagerapplet
-, libnma
+, libnma-gtk4
 , ninja
 , pkg-config
 , polkit
@@ -68,11 +64,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-control-center";
-  version = "41.4";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-1tsMTLcIV77PSKxQB/ErX2O51dfoDqfuV9O+USZp98k=";
+    sha256 = "sha256-BzLvp8QXHOCg7UEGWAtM41pXsQFSwOo20jkTSRN3fto=";
   };
 
   patches = [
@@ -83,6 +79,13 @@ stdenv.mkDerivation rec {
       inherit glibc libgnomekbd tzdata;
       inherit cups networkmanagerapplet;
     })
+
+    # Fix Online Accounts configuration on X11
+    # https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1272
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-control-center/-/commit/7fe322b9cedae313cd9af6f403eab9bfc6027674.patch";
+      sha256 = "cv1abqv0Kbfkfu7mZzEaZKXPE85yVBcQbjNHW+8ODFE=";
+    })
   ];
 
   nativeBuildInputs = [
@@ -100,11 +103,8 @@ stdenv.mkDerivation rec {
   buildInputs = [
     accountsservice
     adwaita-icon-theme
-    cheese
-    clutter
-    clutter-gtk
     colord
-    colord-gtk
+    colord-gtk4
     libepoxy
     fontconfig
     gdk-pixbuf
@@ -119,19 +119,17 @@ stdenv.mkDerivation rec {
     gnome-user-share # optional, sharing panel
     gsettings-desktop-schemas
     gsound
-    gtk3
+    gtk4
     ibus
-    libcanberra-gtk3
     libgtop
     libgudev
-    libhandy
+    libadwaita
     libkrb5
-    libnma
+    libnma-gtk4
     libpulseaudio
     libpwquality
     librsvg
     libsecret
-    libsoup
     libwacom
     libxml2
     modemmanager
@@ -145,9 +143,19 @@ stdenv.mkDerivation rec {
     upower
   ];
 
-  postPatch = ''
-    chmod +x build-aux/meson/meson_post_install.py # patchShebangs requires executable file
-    patchShebangs build-aux/meson/meson_post_install.py
+  # postPatch = ''
+  #   scriptsToPatch=(
+  #     build-aux/meson/meson_post_install.py
+  #     build-aux/meson/find_xdg_file.py
+  #   )
+  #   # # patchShebangs requires executable file
+  #   # chmod +x "''${scriptsToPatch[@]}"
+  #   # patchShebangs "''${scriptsToPatch[@]}"
+  # '';
+
+  preConfigure = ''
+    # For ITS rules
+    addToSearchPath "XDG_DATA_DIRS" "${polkit.out}/share"
   '';
 
   preFixup = ''
diff --git a/pkgs/desktops/gnome/core/gnome-dictionary/default.nix b/pkgs/desktops/gnome/core/gnome-dictionary/default.nix
index a399c4e85377c..6cdb8831c48f6 100644
--- a/pkgs/desktops/gnome/core/gnome-dictionary/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-dictionary/default.nix
@@ -1,6 +1,24 @@
-{ lib, stdenv, fetchurl, meson, ninja, pkg-config, desktop-file-utils, appstream-glib, libxslt
-, libxml2, gettext, itstool, wrapGAppsHook, docbook_xsl, docbook_xml_dtd_43
-, gnome, gtk3, glib, gsettings-desktop-schemas }:
+{ stdenv
+, lib
+, fetchurl
+, fetchpatch
+, meson
+, ninja
+, pkg-config
+, desktop-file-utils
+, appstream-glib
+, libxslt
+, libxml2
+, gettext
+, itstool
+, wrapGAppsHook
+, docbook_xsl
+, docbook_xml_dtd_43
+, gnome
+, gtk3
+, glib
+, gsettings-desktop-schemas
+}:
 
 stdenv.mkDerivation rec {
   pname = "gnome-dictionary";
@@ -11,13 +29,44 @@ stdenv.mkDerivation rec {
     sha256 = "1d8dhcfys788vv27v34i3s3x3jdvdi2kqn2a5p8c937a9hm0qr9f";
   };
 
-  doCheck = true;
+  patches = [
+    # Fix test dependencies with meson 0.57, can be removed on next bump
+    # We need to explicitly depend on the generated files.
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-dictionary/-/commit/87c026cfe4acbcfc62d15950f88a71d8d9678c7e.patch";
+      sha256 = "tKesWeOK3OqOxrXm4dZvCZHHdTD7AQbYDjtYDCsLd3A=";
+    })
+    # Fix build with meson 0.61, can be removed on next bump
+    # data/appdata/meson.build:3:5: ERROR: Function does not take positional arguments.
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-dictionary/-/commit/cf3f8a67cd6f3059c555ed9cf0f5fba10abb7f68.patch";
+      sha256 = "cIRM6ACqsnEo2JWYvr6EBye5o0BudugZMShCe1U5hz8=";
+    })
+  ];
 
   nativeBuildInputs = [
-    meson ninja pkg-config wrapGAppsHook libxml2 gettext itstool
-    desktop-file-utils appstream-glib libxslt docbook_xsl docbook_xml_dtd_43
+    meson
+    ninja
+    pkg-config
+    wrapGAppsHook
+    libxml2
+    gettext
+    itstool
+    desktop-file-utils
+    appstream-glib
+    libxslt
+    docbook_xsl
+    docbook_xml_dtd_43
+  ];
+
+  buildInputs = [
+    gtk3
+    glib
+    gsettings-desktop-schemas
+    gnome.adwaita-icon-theme
   ];
-  buildInputs = [ gtk3 glib gsettings-desktop-schemas gnome.adwaita-icon-theme ];
+
+  doCheck = true;
 
   passthru = {
     updateScript = gnome.updateScript {
diff --git a/pkgs/desktops/gnome/core/gnome-disk-utility/default.nix b/pkgs/desktops/gnome/core/gnome-disk-utility/default.nix
index 5f3ef81d905aa..89502c8d88305 100644
--- a/pkgs/desktops/gnome/core/gnome-disk-utility/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-disk-utility/default.nix
@@ -27,11 +27,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-disk-utility";
-  version = "41.0";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-disk-utility/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-h0PJj9ZWBi74YpM+/jDFvkxrMi7ALu4VTscNCO0Ild8=";
+    sha256 = "sha256-G2VkRU1nQmMiyzv8WlVYZTv8ff7qKuCCWx0IYp8BCQs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/core/gnome-font-viewer/default.nix b/pkgs/desktops/gnome/core/gnome-font-viewer/default.nix
index 4ba915df2dbd1..397f0b9838f1f 100644
--- a/pkgs/desktops/gnome/core/gnome-font-viewer/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-font-viewer/default.nix
@@ -1,20 +1,47 @@
-{ lib, stdenv, meson, ninja, gettext, fetchurl
-, pkg-config, gtk3, glib, libxml2, gnome-desktop, adwaita-icon-theme, libhandy
-, wrapGAppsHook, gnome, harfbuzz }:
+{ lib
+, stdenv
+, meson
+, ninja
+, gettext
+, fetchurl
+, pkg-config
+, gtk4
+, glib
+, libxml2
+, gnome-desktop
+, libadwaita
+, wrapGAppsHook4
+, gnome
+, harfbuzz
+}:
 
 stdenv.mkDerivation rec {
   pname = "gnome-font-viewer";
-  version = "41.0";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-font-viewer/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "XdQQMxvgcOTgNDl/J1SYDgc4UdUKIRny+/lq3G/i6HY=";
+    sha256 = "z6K43/8hoQWhoCHa36IT8TYn5qF5p3x7Wf3O2sqEjcw=";
   };
 
   doCheck = true;
 
-  nativeBuildInputs = [ meson ninja pkg-config gettext wrapGAppsHook libxml2 ];
-  buildInputs = [ gtk3 glib gnome-desktop adwaita-icon-theme harfbuzz libhandy ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gettext
+    wrapGAppsHook4
+    libxml2
+  ];
+
+  buildInputs = [
+    gtk4
+    glib
+    gnome-desktop
+    harfbuzz
+    libadwaita
+  ];
 
   # Do not run meson-postinstall.sh
   preConfigure = "sed -i '2,$ d'  meson-postinstall.sh";
@@ -28,8 +55,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Program that can preview fonts and create thumbnails for fonts";
+    homepage = "https://gitlab.gnome.org/GNOME/gnome-font-viewer";
     maintainers = teams.gnome.members;
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix b/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix
index 2d5be438c3e25..7f6724ce63ae4 100644
--- a/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix
@@ -27,6 +27,7 @@
 , polkit
 , webkitgtk
 , systemd
+, libhandy
 , libnma
 , tzdata
 , libgnomekbd
@@ -35,11 +36,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-initial-setup";
-  version = "41.4";
+  version = "42.0.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "luzS2252xROxjGBtwmK7UjIoxKrtvtageBHlaP1dtkI=";
+    sha256 = "/PQ/L75NwEw6wq5QVjP+se8w2nDKleq8YeIAaxkuXlU=";
   };
 
   patches = [
@@ -72,6 +73,7 @@ stdenv.mkDerivation rec {
     json-glib
     krb5
     libgweather
+    libhandy
     libnma
     libpwquality
     librest
diff --git a/pkgs/desktops/gnome/core/gnome-keyring/default.nix b/pkgs/desktops/gnome/core/gnome-keyring/default.nix
index 8c9815509e2d5..afbec6f8c5d1c 100644
--- a/pkgs/desktops/gnome/core/gnome-keyring/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-keyring/default.nix
@@ -5,7 +5,7 @@
 , dbus
 , libgcrypt
 , pam
-, python2
+, python3
 , glib
 , libxslt
 , gettext
@@ -51,8 +51,7 @@ stdenv.mkDerivation rec {
     p11-kit
   ];
 
-  # In 3.20.1, tests do not support Python 3
-  checkInputs = [ dbus python2 ];
+  checkInputs = [ dbus python3 ];
 
   configureFlags = [
     "--with-pkcs11-config=${placeholder "out"}/etc/pkcs11/" # installation directories
diff --git a/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix b/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix
index 0f35b15bee9ca..61252d60814cd 100644
--- a/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-remote-desktop/default.nix
@@ -7,6 +7,8 @@
 , python3
 , wrapGAppsHook
 , glib
+, libepoxy
+, libdrm
 , nv-codec-headers-11
 , pipewire
 , systemd
@@ -17,16 +19,20 @@
 , gdk-pixbuf
 , freerdp
 , fuse3
+, mesa
+, libgudev
+, xvfb-run
+, dbus
 , gnome
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-remote-desktop";
-  version = "41.2";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    hash = "sha256-EBUeabZIwiR8XjPZou9Bn04DfuWyuuSebtasp36xulg=";
+    hash = "sha256-s9wrt1x4Pe2quWqNu6wW3ZqhOebTooo9s+pAxgRluY8=";
   };
 
   nativeBuildInputs = [
@@ -43,6 +49,8 @@ stdenv.mkDerivation rec {
     fuse3
     gdk-pixbuf # For libnotify
     glib
+    libepoxy
+    libdrm
     nv-codec-headers-11
     libnotify
     libsecret
@@ -50,17 +58,35 @@ stdenv.mkDerivation rec {
     libxkbcommon
     pipewire
     systemd
-  ];
+  ] ++ checkInputs;
 
-  postPatch = ''
-    chmod +x meson_post_install.py # patchShebangs requires executable file
-    patchShebangs meson_post_install.py
-  '';
+  checkInputs = [
+    mesa # for gbm
+    libgudev
+    xvfb-run
+    python3.pkgs.dbus-python
+    python3.pkgs.pygobject3
+    dbus # for dbus-run-session
+  ];
 
   mesonFlags = [
     "-Dsystemd_user_unit_dir=${placeholder "out"}/lib/systemd/user"
   ];
 
+  # Too deep of a rabbit hole.
+  doCheck = false;
+
+  postPatch = ''
+    chmod +x meson_post_install.py # patchShebangs requires executable file
+    patchShebangs \
+      tests/vnc-test-runner.sh \
+      tests/run-vnc-tests.py \
+      meson_post_install.py
+
+    substituteInPlace tests/vnc-test-runner.sh \
+      --replace "dbus-run-session" "dbus-run-session --config-file=${dbus}/share/dbus-1/session.conf"
+  '';
+
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
diff --git a/pkgs/desktops/gnome/core/gnome-screenshot/default.nix b/pkgs/desktops/gnome/core/gnome-screenshot/default.nix
index ba6d05b3cbf88..3904f1443f7d5 100644
--- a/pkgs/desktops/gnome/core/gnome-screenshot/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-screenshot/default.nix
@@ -1,18 +1,63 @@
-{ lib, stdenv, gettext, libxml2, libhandy, fetchurl, pkg-config, libcanberra-gtk3
-, gtk3, glib, meson, ninja, python3, wrapGAppsHook, appstream-glib, desktop-file-utils
-, gnome, gsettings-desktop-schemas }:
+{ stdenv
+, lib
+, gettext
+, libxml2
+, libhandy
+, fetchurl
+, fetchpatch
+, pkg-config
+, libcanberra-gtk3
+, gtk3
+, glib
+, meson
+, ninja
+, python3
+, wrapGAppsHook
+, appstream-glib
+, desktop-file-utils
+, gnome
+, gsettings-desktop-schemas
+}:
 
-let
+stdenv.mkDerivation rec {
   pname = "gnome-screenshot";
   version = "41.0";
-in stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
     sha256 = "Stt97JJkKPdCY9V5ZnPPFC5HILbnaPVGio0JM/mMlZc=";
   };
 
+  patches = [
+    # Fix build with meson 0.61
+    # https://gitlab.gnome.org/GNOME/gnome-screenshot/-/issues/186
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-screenshot/-/commit/b60dad3c2536c17bd201f74ad8e40eb74385ed9f.patch";
+      sha256 = "Js83h/3xxcw2hsgjzGa5lAYFXVrt6MPhXOTh5dZTx/w=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gettext
+    appstream-glib
+    libxml2
+    desktop-file-utils
+    python3
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gtk3
+    glib
+    libcanberra-gtk3
+    libhandy
+    gnome.adwaita-icon-theme
+    gsettings-desktop-schemas
+  ];
+
   doCheck = true;
 
   postPatch = ''
@@ -20,12 +65,6 @@ in stdenv.mkDerivation rec {
     patchShebangs build-aux/postinstall.py
   '';
 
-  nativeBuildInputs = [ meson ninja pkg-config gettext appstream-glib libxml2 desktop-file-utils python3 wrapGAppsHook ];
-  buildInputs = [
-    gtk3 glib libcanberra-gtk3 libhandy gnome.adwaita-icon-theme
-    gsettings-desktop-schemas
-  ];
-
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
@@ -34,10 +73,10 @@ in stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    homepage = "https://en.wikipedia.org/wiki/GNOME_Screenshot";
+    homepage = "https://gitlab.gnome.org/GNOME/gnome-screenshot";
     description = "Utility used in the GNOME desktop environment for taking screenshots";
     maintainers = teams.gnome.members;
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome/core/gnome-session/ctl.nix b/pkgs/desktops/gnome/core/gnome-session/ctl.nix
index 7ee9e156e5bb2..09fc80bf9ef88 100644
--- a/pkgs/desktops/gnome/core/gnome-session/ctl.nix
+++ b/pkgs/desktops/gnome/core/gnome-session/ctl.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-session-ctl";
-  version = "41.3";
+  version = "42.0";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = pname;
     rev = version;
-    hash = "sha256-aC0tkTf2lgCRlcbFj1FEOVBm3YUuP+8Yz98W3ZjUydg=";
+    hash = "sha256-XGJVmlxqbJ/1frbzn2TI7BJm449xeLk43xMMqFsLYko=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/core/gnome-session/default.nix b/pkgs/desktops/gnome/core/gnome-session/default.nix
index 3c6903b2b01bb..43bf56eb1fc83 100644
--- a/pkgs/desktops/gnome/core/gnome-session/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-session/default.nix
@@ -30,13 +30,13 @@
 stdenv.mkDerivation rec {
   pname = "gnome-session";
   # Also bump ./ctl.nix when bumping major version.
-  version = "41.3";
+  version = "42.0";
 
   outputs = [ "out" "sessions" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-session/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "7koikFP1ImJAVIiWCTNbiFKHz2e73g3J/YgrAeybWzk=";
+    sha256 = "PMoGBTq2gpJpIJUafalfjMbXLadMaCxG0KBlMzKWnKo=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix b/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix
index b043883a492c3..8ab848a7dfa8c 100644
--- a/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix
@@ -83,6 +83,16 @@ stdenv.mkDerivation rec {
       url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/commit/28e28e9e598342c897ae5ca350d0da6f4aea057b.diff";
       sha256 = "U+suR7wYjLWPqmkJpHm6pPOWL7sjL6GhIFX8MHrBRAY=";
     })
+
+    # Port to gweather4
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/commit/66cae69ad82cfc59435016fba737ce046ffb7e66.patch";
+      sha256 = "zf8/rkKdQQFNV/qx/jo4kx1KoLl7SUSu4/T1OBGrZ4c=";
+    })
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/commit/f390e6e9d56ce7d3e3a725b8204d81c0b6240515.patch";
+      sha256 = "8mfnlhkSF9ogjVWE+IESzRQzrxHQSwUWsq5OLBM08iM=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/core/gnome-settings-daemon/default.nix b/pkgs/desktops/gnome/core/gnome-settings-daemon/default.nix
index 307de72cc4f07..03698f865d650 100644
--- a/pkgs/desktops/gnome/core/gnome-settings-daemon/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-settings-daemon/default.nix
@@ -42,11 +42,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-settings-daemon";
-  version = "41.0";
+  version = "42.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-settings-daemon/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "5spjYfvR3qst4aHjkNTxQWfPR7HFR9u4tlpdielmOIQ=";
+    sha256 = "7WWFGuVK3NWKJMhoN9Yk/GoUvYSrIulN9Ao6TP0Z/9s=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix b/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix
index aa61bd91c2979..1083fe1110661 100644
--- a/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extensions";
-  version = "41.2";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell-extensions/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "rZuoL0y9BHJpc7XoevrRiv2qMjhgoK8+ckDzp00iLxk=";
+    sha256 = "PuZbdbGv2LzKCioD2psohHh+1A4leogdmqbvfIcnYC8=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/gnome-shell/default.nix b/pkgs/desktops/gnome/core/gnome-shell/default.nix
index 3b89ceb78172e..1ad36f7e96b74 100644
--- a/pkgs/desktops/gnome/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-shell/default.nix
@@ -46,6 +46,7 @@
 , evolution-data-server
 , gtk3
 , gtk4
+, libadwaita
 , sassc
 , systemd
 , pipewire
@@ -66,13 +67,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gnome-shell";
-  version = "41.4";
+  version = "42.0";
 
   outputs = [ "out" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "x+73SvMEZJwDuG25m9C6x1oBH7/2d0yO41WD282tivQ=";
+    sha256 = "M9QE+zyTud5CmE8BEKKWnWpKckfCf+f14kxn7P7HUJQ=";
   };
 
   patches = [
@@ -118,7 +119,6 @@ stdenv.mkDerivation rec {
     sassc
     desktop-file-utils
     libxslt.bin
-    python3
     asciidoc
   ];
 
@@ -142,6 +142,7 @@ stdenv.mkDerivation rec {
     libical
     gtk3
     gtk4
+    libadwaita
     gdm
     geoclue2
     adwaita-icon-theme
@@ -169,6 +170,9 @@ stdenv.mkDerivation rec {
     bash-completion
     gnome-autoar
     json-glib
+
+    # for tools
+    pythonEnv
   ];
 
   mesonFlags = [
@@ -177,14 +181,9 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     patchShebangs src/data-to-c.pl
-    chmod +x meson/postinstall.py
-    patchShebangs meson/postinstall.py
 
     # We can generate it ourselves.
     rm -f man/gnome-shell.1
-
-    substituteInPlace src/gnome-shell-extension-tool.in --replace "@PYTHON@" "${pythonEnv}/bin/python"
-    substituteInPlace src/gnome-shell-perf-tool.in --replace "@PYTHON@" "${pythonEnv}/bin/python"
   '';
 
   preFixup = ''
diff --git a/pkgs/desktops/gnome/core/gnome-shell/wrap-services.patch b/pkgs/desktops/gnome/core/gnome-shell/wrap-services.patch
index bc494caea9dd0..5ce4a2fd46d7f 100644
--- a/pkgs/desktops/gnome/core/gnome-shell/wrap-services.patch
+++ b/pkgs/desktops/gnome/core/gnome-shell/wrap-services.patch
@@ -1,7 +1,7 @@
 diff --git a/js/dbusServices/dbus-service.in b/js/dbusServices/dbus-service.in
 old mode 100644
 new mode 100755
-index 524166102..100b81a63
+index 524166102..6d0722a1c
 --- a/js/dbusServices/dbus-service.in
 +++ b/js/dbusServices/dbus-service.in
 @@ -1,3 +1,9 @@
@@ -24,18 +24,18 @@ index 3b0d09abe..4fd4bb66d 100644
 -Exec=@gjs@ @pkgdatadir@/@service@
 +Exec=@pkgdatadir@/@service@
 diff --git a/js/dbusServices/meson.build b/js/dbusServices/meson.build
-index c749f45dc..11bcb0c9e 100644
+index eb941ed90..552051e5a 100644
 --- a/js/dbusServices/meson.build
 +++ b/js/dbusServices/meson.build
 @@ -2,6 +2,7 @@ launcherconf = configuration_data()
  launcherconf.set('PACKAGE_NAME', meson.project_name())
  launcherconf.set('prefix', prefix)
  launcherconf.set('libdir', libdir)
-+launcherconf.set('gjs', gjs.path())
++launcherconf.set('gjs', gjs.full_path())
  
  dbus_services = {
    'org.gnome.Shell.Extensions': 'extensions',
-@@ -11,16 +12,17 @@ dbus_services = {
+@@ -18,16 +19,17 @@ endif
  config_dir = '@0@/..'.format(meson.current_build_dir())
  
  foreach service, dir : dbus_services
@@ -51,7 +51,7 @@ index c749f45dc..11bcb0c9e 100644
  
    serviceconf = configuration_data()
    serviceconf.set('service', service)
--  serviceconf.set('gjs', gjs.path())
+-  serviceconf.set('gjs', gjs.full_path())
    serviceconf.set('pkgdatadir', pkgdatadir)
  
    configure_file(
diff --git a/pkgs/desktops/gnome/core/gnome-software/default.nix b/pkgs/desktops/gnome/core/gnome-software/default.nix
index aa9058ad410aa..e89f616680c7f 100644
--- a/pkgs/desktops/gnome/core/gnome-software/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-software/default.nix
@@ -13,7 +13,7 @@
 , glib
 , appstream
 , libsoup
-, libhandy
+, libadwaita
 , polkit
 , isocodes
 , gspell
@@ -21,7 +21,7 @@
 , gobject-introspection
 , flatpak
 , fwupd
-, gtk3
+, gtk4
 , gsettings-desktop-schemas
 , gnome-desktop
 , libxmlb
@@ -42,11 +42,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gnome-software";
-  version = "41.4";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-software/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "evhzzkcs8racUbyevGG4Nt+8z9b0Jwbj7TqpCaruxGU=";
+    sha256 = "QsaF4u95li6zCo6VjHA8mh899zFQQiOgYos7Yk733B4=";
   };
 
   patches = [
@@ -73,12 +73,12 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gtk3
+    gtk4
     glib
     packagekit
     appstream
     libsoup
-    libhandy
+    libadwaita
     gsettings-desktop-schemas
     gnome-desktop
     gspell
@@ -97,6 +97,8 @@ stdenv.mkDerivation rec {
     "-Dgudev=false"
     # FIXME: package malcontent parental controls
     "-Dmalcontent=false"
+    # Needs flatpak to upgrade
+    "-Dsoup2=true"
   ] ++ lib.optionals (!withFwupd) [
     "-Dfwupd=false"
   ];
diff --git a/pkgs/desktops/gnome/core/gnome-system-monitor/default.nix b/pkgs/desktops/gnome/core/gnome-system-monitor/default.nix
index d373d6f358c63..5d24a23e41183 100644
--- a/pkgs/desktops/gnome/core/gnome-system-monitor/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-system-monitor/default.nix
@@ -12,7 +12,6 @@
 , wrapGAppsHook
 , meson
 , ninja
-, python3
 , gsettings-desktop-schemas
 , itstool
 , gnome
@@ -24,11 +23,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-system-monitor";
-  version = "41.0";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-system-monitor/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "x/xExhlJt5SwKJlo67vMDBX4z8PZ5Fv6qB7UXBITnl8=";
+    sha256 = "EyOdIgMiAaIr0pgzxXW2hIFnANLeFooVMCI1d8XAddw=";
   };
 
   nativeBuildInputs = [
@@ -38,7 +37,6 @@ stdenv.mkDerivation rec {
     wrapGAppsHook
     meson
     ninja
-    python3
   ];
 
   buildInputs = [
@@ -58,12 +56,6 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  postPatch = ''
-    chmod +x meson_post_install.py # patchShebangs requires executable file
-    patchShebangs meson_post_install.py
-    sed -i '/gtk-update-icon-cache/s/^/#/' meson_post_install.py
-  '';
-
   passthru = {
     updateScript = gnome.updateScript {
       packageName = "gnome-system-monitor";
diff --git a/pkgs/desktops/gnome/core/gnome-terminal/default.nix b/pkgs/desktops/gnome/core/gnome-terminal/default.nix
index 588d6e3ced3a0..85918f0e31c0c 100644
--- a/pkgs/desktops/gnome/core/gnome-terminal/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-terminal/default.nix
@@ -28,11 +28,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-terminal";
-  version = "3.42.2";
+  version = "3.44.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-terminal/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "ipyOXvejpzskapR+EZC7COyYk1r4YM8LOqL79GBoF6A=";
+    sha256 = "qpZxie62CUWebApGigHqcMuMRTDaHVALLT9PxDi4/io=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/core/gnome-tour/default.nix b/pkgs/desktops/gnome/core/gnome-tour/default.nix
index c496ceee6ed13..cbb33c2b23080 100644
--- a/pkgs/desktops/gnome/core/gnome-tour/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-tour/default.nix
@@ -6,7 +6,7 @@
 , ninja
 , fetchurl
 , pkg-config
-, gtk3
+, gtk4
 , glib
 , gdk-pixbuf
 , desktop-file-utils
@@ -14,7 +14,7 @@
 , wrapGAppsHook
 , python3
 , gnome
-, libhandy
+, libadwaita
 , librsvg
 , rustc
 , cargo
@@ -22,11 +22,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-tour";
-  version = "40.1";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    hash = "sha256-rYYS110B7qY8WcmY65KOvm75mEZgYbn8H97IKF02M5g=";
+    hash = "sha256-/PGsaJBX2oZZaXDsPag1VSHApy6VBj6wWdX+5N6oL08=";
   };
 
   cargoVendorDir = "vendor";
@@ -49,16 +49,11 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gdk-pixbuf
     glib
-    gtk3
-    libhandy
+    gtk4
+    libadwaita
     librsvg
   ];
 
-  postPatch = ''
-    chmod +x build-aux/meson_post_install.py
-    patchShebangs build-aux/meson_post_install.py
-  '';
-
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
diff --git a/pkgs/desktops/gnome/core/gnome-user-share/default.nix b/pkgs/desktops/gnome/core/gnome-user-share/default.nix
index bab13a6ccd19a..4c33b76b01241 100644
--- a/pkgs/desktops/gnome/core/gnome-user-share/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-user-share/default.nix
@@ -35,6 +35,11 @@ stdenv.mkDerivation rec {
       url = "https://gitlab.gnome.org/GNOME/gnome-user-share/commit/8772980d4732c15505b15dccff2ca3c97e96d49d.patch";
       sha256 = "03clzhrx72pq1cbmg2y24hvw4i1xsvrg9ip113fi5bc3w4gcji7p";
     })
+    # fix compilation with meson >=0.61
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-user-share/-/commit/c31b0a8f33b95c0077cd5ee2102a71a49bee8abe.patch";
+      hash = "sha256-kH+cPBmSErWxsw+IyyjWgENi4I3ZcKjSA9+em8u4DYs=";
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/desktops/gnome/core/gucharmap/default.nix b/pkgs/desktops/gnome/core/gucharmap/default.nix
index 7d15e6b41ef60..dbea63db4a35e 100644
--- a/pkgs/desktops/gnome/core/gucharmap/default.nix
+++ b/pkgs/desktops/gnome/core/gucharmap/default.nix
@@ -7,7 +7,7 @@
 , pkg-config
 , python3
 , gtk3
-, adwaita-icon-theme
+, pcre2
 , glib
 , desktop-file-utils
 , gtk-doc
@@ -45,7 +45,7 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "gucharmap";
-  version = "14.0.0";
+  version = "14.0.3";
 
   outputs = [ "out" "lib" "dev" "devdoc" ];
 
@@ -54,7 +54,7 @@ in stdenv.mkDerivation rec {
     owner = "GNOME";
     repo = pname;
     rev = version;
-    sha256 = "sha256-d283zVRH42NZNq+vGmItN3ZBrRrl9gpYDco7osm3RoY=";
+    sha256 = "sha256-xO34CR+SWxtHuP6G8m0jla0rivVp3ddrsODNo50MhHw=";
   };
 
   nativeBuildInputs = [
@@ -79,7 +79,7 @@ in stdenv.mkDerivation rec {
     gtk3
     glib
     gsettings-desktop-schemas
-    adwaita-icon-theme
+    pcre2
   ];
 
   mesonFlags = [
diff --git a/pkgs/desktops/gnome/core/mutter/default.nix b/pkgs/desktops/gnome/core/mutter/default.nix
index d0b8a7537e294..9f3925d0ce50b 100644
--- a/pkgs/desktops/gnome/core/mutter/default.nix
+++ b/pkgs/desktops/gnome/core/mutter/default.nix
@@ -46,13 +46,13 @@
 
 let self = stdenv.mkDerivation rec {
   pname = "mutter";
-  version = "41.4";
+  version = "42.0";
 
   outputs = [ "out" "dev" "man" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/mutter/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "VYgmlQZKpvA4XNH39/qywqLtLJrsePV4+qB/UgnKUpw=";
+    sha256 = "0eJARGt/jNij/52q4zbByQFhk7p+B2nHml5sA4SQIuU=";
   };
 
   patches = [
@@ -136,7 +136,7 @@ let self = stdenv.mkDerivation rec {
   PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev";
 
   passthru = {
-    libdir = "${self}/lib/mutter-9";
+    libdir = "${self}/lib/mutter-10";
 
     tests = {
       libdirExists = runCommand "mutter-libdir-exists" {} ''
diff --git a/pkgs/desktops/gnome/core/nautilus/default.nix b/pkgs/desktops/gnome/core/nautilus/default.nix
index 3f61f55db1dcf..b3665e46fa437 100644
--- a/pkgs/desktops/gnome/core/nautilus/default.nix
+++ b/pkgs/desktops/gnome/core/nautilus/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
-, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -19,7 +19,6 @@
 , libnotify
 , libexif
 , libseccomp
-, exempi
 , librsvg
 , tracker
 , tracker-miners
@@ -35,13 +34,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nautilus";
-  version = "41.2";
+  version = "42.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "hyKFscQKbuQYzile0RX1Qn2nCQfYItlbz1FnXVSYgis=";
+    sha256 = "PJBPM7otKgeIkr7ir3FITNYIkjzXjsfooVF7whVRE9U=";
   };
 
   patches = [
@@ -53,17 +52,6 @@ stdenv.mkDerivation rec {
       src = ./fix-paths.patch;
       inherit tracker;
     })
-
-    # Fix build with latest libportal
-    # https://gitlab.gnome.org/GNOME/nautilus/-/merge_requests/749
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/nautilus/-/commit/55cfd66ccca391fc144f5863ff6bfc1f3b137e2d.patch";
-      sha256 = "xSb9l7xxEYpAwmdmeWT/t7Z9Ck3DPtsODzbReQW/Q70=";
-      excludes = [
-        "build-aux/flatpak/org.gnome.Nautilus.json"
-        "build-aux/flatpak/org.gnome.Nautilus.yml"
-      ];
-    })
   ];
 
   nativeBuildInputs = [
@@ -79,7 +67,6 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    exempi
     gexiv2
     glib-networking
     gnome-desktop
diff --git a/pkgs/desktops/gnome/core/simple-scan/default.nix b/pkgs/desktops/gnome/core/simple-scan/default.nix
index 0865fbb5aca72..dd96e254109dd 100644
--- a/pkgs/desktops/gnome/core/simple-scan/default.nix
+++ b/pkgs/desktops/gnome/core/simple-scan/default.nix
@@ -25,11 +25,11 @@
 
 stdenv.mkDerivation rec {
   pname = "simple-scan";
-  version = "40.7";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-fFUYUsta99NKqYn4rV7ePL4xgoz43VrsKytv3NGsPVM=";
+    sha256 = "sha256-rB+Fev0LyIl90gRQI618VxPlzu/KVrCzzF6aR5UylYY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/core/sushi/default.nix b/pkgs/desktops/gnome/core/sushi/default.nix
index 00ac8e40aad0e..4c6f960d8c845 100644
--- a/pkgs/desktops/gnome/core/sushi/default.nix
+++ b/pkgs/desktops/gnome/core/sushi/default.nix
@@ -23,11 +23,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sushi";
-  version = "41.0";
+  version = "41.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/sushi/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "m3UlaQzkNmJO+gpgV3NJNDLNDva49GSYLouETtqYmO4=";
+    sha256 = "JifbYWLnV3hZDAfhZbLzbqJNEjGlE7FkAj/G3fx1xKM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/core/totem/default.nix b/pkgs/desktops/gnome/core/totem/default.nix
index 0178c04b53ca9..44e1319f8d4ae 100644
--- a/pkgs/desktops/gnome/core/totem/default.nix
+++ b/pkgs/desktops/gnome/core/totem/default.nix
@@ -4,8 +4,6 @@
 , ninja
 , gettext
 , gst_all_1
-, clutter-gtk
-, clutter-gst
 , python3Packages
 , shared-mime-info
 , pkg-config
@@ -21,6 +19,7 @@
 , grilo
 , grilo-plugins
 , libpeas
+, libhandy
 , adwaita-icon-theme
 , gnome-desktop
 , gsettings-desktop-schemas
@@ -30,11 +29,11 @@
 
 stdenv.mkDerivation rec {
   pname = "totem";
-  version = "3.38.2";
+  version = "42.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/totem/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "/OVi4rJsvPwMZ4U43MgfncFc5g1aie5DWJB79jQwTEA=";
+    url = "mirror://gnome/sources/totem/${lib.versions.major version}/${pname}-${version}.tar.xz";
+    sha256 = "SvBJHduV34szruOZ06UPnHqxfeiNOvYzVlZ8+I9X5qs=";
   };
 
   nativeBuildInputs = [
@@ -53,17 +52,16 @@ stdenv.mkDerivation rec {
     gtk3
     glib
     grilo
-    clutter-gtk
-    clutter-gst
     totem-pl-parser
     grilo-plugins
     gst_all_1.gstreamer
     gst_all_1.gst-plugins-base
-    gst_all_1.gst-plugins-good
+    (gst_all_1.gst-plugins-good.override { gtkSupport = true; })
     gst_all_1.gst-plugins-bad
     gst_all_1.gst-plugins-ugly
     gst_all_1.gst-libav
     libpeas
+    libhandy
     shared-mime-info
     gdk-pixbuf
     libxml2
diff --git a/pkgs/desktops/gnome/core/yelp-xsl/default.nix b/pkgs/desktops/gnome/core/yelp-xsl/default.nix
index 6fac906e4ba94..3398e8ddd571c 100644
--- a/pkgs/desktops/gnome/core/yelp-xsl/default.nix
+++ b/pkgs/desktops/gnome/core/yelp-xsl/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "yelp-xsl";
-  version = "41.1";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/yelp-xsl/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-DW2zesLvgSSD4BBHA/H6nPAy6eCVal8cOvvMI3kfilQ=";
+    sha256 = "sha256-KbJzzAvRbvtumDRDgD8en9wDUR5cT/Y0j9MKYE1NyEY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/core/yelp/default.nix b/pkgs/desktops/gnome/core/yelp/default.nix
index be858a19487da..4ae54200d09cc 100644
--- a/pkgs/desktops/gnome/core/yelp/default.nix
+++ b/pkgs/desktops/gnome/core/yelp/default.nix
@@ -5,6 +5,7 @@
 , webkitgtk
 , pkg-config
 , gtk3
+, libhandy
 , glib
 , gnome
 , sqlite
@@ -17,11 +18,11 @@
 
 stdenv.mkDerivation rec {
   pname = "yelp";
-  version = "41.2";
+  version = "42.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/yelp/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-sAvwM/At15ttPyVQMccd+NbtOOVSyHC485GjdHJMQ8U=";
+    sha256 = "sha256-JbEUarhUmIilqNoGf2O0cLDw+AC2roicrNEU0B1xO0E=";
   };
 
   nativeBuildInputs = [
@@ -33,6 +34,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     gtk3
+    libhandy
     glib
     webkitgtk
     sqlite
diff --git a/pkgs/desktops/gnome/default.nix b/pkgs/desktops/gnome/default.nix
index 9e02b80d9f7fb..1809604bec521 100644
--- a/pkgs/desktops/gnome/default.nix
+++ b/pkgs/desktops/gnome/default.nix
@@ -48,6 +48,8 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome-bluetooth = callPackage ./core/gnome-bluetooth { };
 
+  gnome-bluetooth_1_0 = callPackage ./core/gnome-bluetooth/1.0 { };
+
   gnome-color-manager = callPackage ./core/gnome-color-manager { };
 
   gnome-contacts = callPackage ./core/gnome-contacts { };
@@ -58,8 +60,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome-common = callPackage ./core/gnome-common { };
 
-  gnome-desktop = callPackage ./core/gnome-desktop { };
-
   gnome-dictionary = callPackage ./core/gnome-dictionary { };
 
   gnome-disk-utility = callPackage ./core/gnome-disk-utility { };
@@ -278,9 +278,10 @@ lib.makeScope pkgs.newScope (self: with self; {
   gnome-autoar = callPackage ./misc/gnome-autoar { };
 
   gnome-packagekit = callPackage ./misc/gnome-packagekit { };
-}) // lib.optionalAttrs (config.allowAliases or true) {
+}) // lib.optionalAttrs config.allowAliases {
 #### Legacy aliases. They need to be outside the scope or they will shadow the attributes from parent scope.
 
+  gnome-desktop = pkgs.gnome-desktop; # added 2022-03-16
   libgnome-games-support = pkgs.libgnome-games-support; # added 2022-02-19
 
   bijiben = throw "The ‘gnome.bijiben’ alias was removed on 2022-01-13. Please use ‘gnome.gnome-notes’ directly."; # added 2018-09-26
@@ -289,7 +290,7 @@ lib.makeScope pkgs.newScope (self: with self; {
   glib_networking = throw "The ‘gnome.glib_networking’ alias was removed on 2022-01-13. Please use ‘pkgs.glib-networking’ directly."; # added 2018-02-25
   gnome_common = throw "The ‘gnome.gnome_common’ alias was removed on 2022-01-13. Please use ‘gnome.gnome-common’ directly."; # added 2018-02-25
   gnome_control_center = throw "The ‘gnome.gnome_control_center’ alias was removed on 2022-01-13. Please use ‘gnome.gnome-control-center’ directly."; # added 2018-02-25
-  gnome_desktop = throw "The ‘gnome.gnome_desktop’ alias was removed on 2022-01-13. Please use ‘gnome.gnome-desktop’ directly."; # added 2018-02-25
+  gnome_desktop = throw "The ‘gnome.gnome_desktop’ alias was removed on 2022-01-13. Please use pkgs.gnome-desktop’ directly."; # added 2018-02-25
   gnome_keyring = throw "The ‘gnome.gnome_keyring’ alias was removed on 2022-01-13. Please use ‘gnome.gnome-keyring’ directly."; # added 2018-02-25
   gnome_online_accounts = throw "The ‘gnome.gnome_online_accounts’ alias was removed on 2022-01-13. Please use ‘gnome.gnome-online-accounts’ directly."; # added 2018-02-25
   gnome_session = throw "The ‘gnome.gnome_session’ alias was removed on 2022-01-13. Please use ‘gnome.gnome-session’ directly."; # added 2018-02-25
diff --git a/pkgs/desktops/gnome/devtools/devhelp/default.nix b/pkgs/desktops/gnome/devtools/devhelp/default.nix
index 2ad3c3ff39ad7..4a024f6ff4135 100644
--- a/pkgs/desktops/gnome/devtools/devhelp/default.nix
+++ b/pkgs/desktops/gnome/devtools/devhelp/default.nix
@@ -1,5 +1,7 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
+, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -29,6 +31,15 @@ stdenv.mkDerivation rec {
     sha256 = "7KqQsPTaqPsgMPbcaQv1M/+Zp3NDf+Dhis/oLZl/YNI=";
   };
 
+  patches = [
+    # Fix build with meson 0.61
+    # https://gitlab.gnome.org/GNOME/devhelp/-/issues/59
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/devhelp/-/commit/281bade14c1925cf9e7329fa8e9cf2d82512c66f.patch";
+      sha256 = "LmHoeQ0zJwOhuasAUYy8FfpDnEO+UNfEb293uKttYKo=";
+    })
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/desktops/gnome/extensions/collisions.json b/pkgs/desktops/gnome/extensions/collisions.json
index d337348e8fd64..b50455002421b 100644
--- a/pkgs/desktops/gnome/extensions/collisions.json
+++ b/pkgs/desktops/gnome/extensions/collisions.json
@@ -136,7 +136,16 @@
     "floating-dock": [
       "floatingDock@sun.wxg@gmail.com",
       "floating-dock@nandoferreira_prof@hotmail.com"
+    ],
+    "wireguard-indicator": [
+      "wireguard-indicator@gregos.me",
+      "wireguard-indicator@atareao.es"
     ]
   },
-  "42": {}
+  "42": {
+    "workspace-indicator": [
+      "workspace-indicator@gnome-shell-extensions.gcampax.github.com",
+      "horizontal-workspace-indicator@tty2.io"
+    ]
+  }
 }
diff --git a/pkgs/desktops/gnome/extensions/default.nix b/pkgs/desktops/gnome/extensions/default.nix
index 39a1e00be1415..2fb5216467be6 100644
--- a/pkgs/desktops/gnome/extensions/default.nix
+++ b/pkgs/desktops/gnome/extensions/default.nix
@@ -60,7 +60,7 @@ in rec {
   gnome41Extensions = mapUuidNames (produceExtensionsList "41");
   gnome42Extensions = mapUuidNames (produceExtensionsList "42");
 
-  gnomeExtensions = lib.trivial.pipe (gnome40Extensions // gnome41Extensions) [
+  gnomeExtensions = lib.trivial.pipe (gnome40Extensions // gnome41Extensions // gnome42Extensions) [
     # Apply some custom patches for automatically packaged extensions
     (callPackage ./extensionOverrides.nix {})
     # Add all manually packaged extensions
@@ -69,7 +69,7 @@ in rec {
     (lib.attrValues)
     (mapReadableNames)
     # Add some aliases
-    (extensions: extensions // lib.optionalAttrs (config.allowAliases or true) {
+    (extensions: extensions // lib.optionalAttrs config.allowAliases {
       unite-shell = gnomeExtensions.unite; # added 2021-01-19
       arc-menu = gnomeExtensions.arcmenu; # added 2021-02-14
       disable-unredirect = gnomeExtensions.disable-unredirect-fullscreen-windows; # added 2021-11-20
diff --git a/pkgs/desktops/gnome/extensions/extensionOverrides.nix b/pkgs/desktops/gnome/extensions/extensionOverrides.nix
index bc659b9a44389..b1c762a018f4c 100644
--- a/pkgs/desktops/gnome/extensions/extensionOverrides.nix
+++ b/pkgs/desktops/gnome/extensions/extensionOverrides.nix
@@ -3,8 +3,15 @@
 , gjs
 , gnome
 , gobject-introspection
+, hddtemp
+, liquidctl
+, lm_sensors
+, netcat-gnu
+, nvme-cli
+, procps
 , pulseaudio
 , python3
+, smartmontools
 , substituteAll
 , touchegg
 , vte
@@ -51,6 +58,17 @@ super: lib.trivial.pipe super [
     '';
   }))
 
+  (patchExtension "freon@UshakovVasilii_Github.yahoo.com" (old: {
+    patches = [
+      (substituteAll {
+        src = ./extensionOverridesPatches/freon_at_UshakovVasilii_Github.yahoo.com.patch;
+        inherit hddtemp liquidctl lm_sensors procps smartmontools;
+        netcat = netcat-gnu;
+        nvmecli = nvme-cli;
+      })
+    ];
+  }))
+
   (patchExtension "gnome-shell-screenshot@ttll.de" (old: {
     # Requires gjs
     # https://github.com/NixOS/nixpkgs/issues/136112
@@ -61,6 +79,16 @@ super: lib.trivial.pipe super [
     '';
   }))
 
+  (patchExtension "screen-autorotate@kosmospredanie.yandex.ru" (old: {
+    # Requires gjs
+    # https://github.com/NixOS/nixpkgs/issues/164865
+    postPatch = ''
+      for file in *.js; do
+        substituteInPlace $file --replace "gjs" "${gjs}/bin/gjs"
+      done
+    '';
+  }))
+
   (patchExtension "shell-volume-mixer@derhofbauer.at" (old: {
     patches = [
       (substituteAll {
diff --git a/pkgs/desktops/gnome/extensions/freon/fix_paths.patch b/pkgs/desktops/gnome/extensions/extensionOverridesPatches/freon_at_UshakovVasilii_Github.yahoo.com.patch
index b1be13e8ff589..da2e940ba0178 100644
--- a/pkgs/desktops/gnome/extensions/freon/fix_paths.patch
+++ b/pkgs/desktops/gnome/extensions/extensionOverridesPatches/freon_at_UshakovVasilii_Github.yahoo.com.patch
@@ -1,7 +1,7 @@
-diff --git a/freon@UshakovVasilii_Github.yahoo.com/hddtempUtil.js b/freon@UshakovVasilii_Github.yahoo.com/hddtempUtil.js
+diff --git a/hddtempUtil.js b/hddtempUtil.js
 index e5d1d6d..856654b 100644
---- a/freon@UshakovVasilii_Github.yahoo.com/hddtempUtil.js
-+++ b/freon@UshakovVasilii_Github.yahoo.com/hddtempUtil.js
+--- a/hddtempUtil.js
++++ b/hddtempUtil.js
 @@ -7,7 +7,7 @@ var HddtempUtil = class extends CommandLineUtil.CommandLineUtil {
  
      constructor() {
@@ -31,10 +31,10 @@ index e5d1d6d..856654b 100644
              if(output.length)
                  pid = Number(output.trim());
          }
-diff --git a/freon@UshakovVasilii_Github.yahoo.com/liquidctlUtil.js b/freon@UshakovVasilii_Github.yahoo.com/liquidctlUtil.js
+diff --git a/liquidctlUtil.js b/liquidctlUtil.js
 index 766bf62..7cd4e94 100644
---- a/freon@UshakovVasilii_Github.yahoo.com/liquidctlUtil.js
-+++ b/freon@UshakovVasilii_Github.yahoo.com/liquidctlUtil.js
+--- a/liquidctlUtil.js
++++ b/liquidctlUtil.js
 @@ -8,7 +8,7 @@ const commandLineUtil = Me.imports.commandLineUtil;
  var LiquidctlUtil = class extends commandLineUtil.CommandLineUtil {
      constructor() {
@@ -44,10 +44,10 @@ index 766bf62..7cd4e94 100644
          this._argv = path ? [path, 'status', '--json'] : null;
      }
  
-diff --git a/freon@UshakovVasilii_Github.yahoo.com/nvmecliUtil.js b/freon@UshakovVasilii_Github.yahoo.com/nvmecliUtil.js
+diff --git a/nvmecliUtil.js b/nvmecliUtil.js
 index ae2ea93..2349b9e 100644
---- a/freon@UshakovVasilii_Github.yahoo.com/nvmecliUtil.js
-+++ b/freon@UshakovVasilii_Github.yahoo.com/nvmecliUtil.js
+--- a/nvmecliUtil.js
++++ b/nvmecliUtil.js
 @@ -3,7 +3,7 @@ const GLib = imports.gi.GLib;
  const Me = imports.misc.extensionUtils.getCurrentExtension();
  
@@ -57,10 +57,10 @@ index ae2ea93..2349b9e 100644
      return JSON.parse(GLib.spawn_command_line_sync(`${nvme} ${argv} -o json`)[1].toString())
  }
  
-diff --git a/freon@UshakovVasilii_Github.yahoo.com/sensorsUtil.js b/freon@UshakovVasilii_Github.yahoo.com/sensorsUtil.js
+diff --git a/sensorsUtil.js b/sensorsUtil.js
 index 62fa580..c017748 100644
---- a/freon@UshakovVasilii_Github.yahoo.com/sensorsUtil.js
-+++ b/freon@UshakovVasilii_Github.yahoo.com/sensorsUtil.js
+--- a/sensorsUtil.js
++++ b/sensorsUtil.js
 @@ -7,7 +7,7 @@ var SensorsUtil = class extends CommandLineUtil.CommandLineUtil {
  
      constructor() {
@@ -70,10 +70,10 @@ index 62fa580..c017748 100644
          // -A: Do not show adapter -j: JSON output
          this._argv = path ? [path, '-A', '-j'] : null;
      }
-diff --git a/freon@UshakovVasilii_Github.yahoo.com/smartctlUtil.js b/freon@UshakovVasilii_Github.yahoo.com/smartctlUtil.js
+diff --git a/smartctlUtil.js b/smartctlUtil.js
 index 03d469b..6057a3b 100644
---- a/freon@UshakovVasilii_Github.yahoo.com/smartctlUtil.js
-+++ b/freon@UshakovVasilii_Github.yahoo.com/smartctlUtil.js
+--- a/smartctlUtil.js
++++ b/smartctlUtil.js
 @@ -3,7 +3,7 @@ const GLib = imports.gi.GLib;
  const Me = imports.misc.extensionUtils.getCurrentExtension();
  const ByteArray = imports.byteArray;
diff --git a/pkgs/desktops/gnome/extensions/extensionRenames.nix b/pkgs/desktops/gnome/extensions/extensionRenames.nix
index 5a3eb74db1c34..d3637cade6b27 100644
--- a/pkgs/desktops/gnome/extensions/extensionRenames.nix
+++ b/pkgs/desktops/gnome/extensions/extensionRenames.nix
@@ -6,6 +6,15 @@
 # - Make a separate section for each GNOME version. Collisions will come back eventually
 #   as the extensions are updated.
 {
+  "workspace-indicator@gnome-shell-extensions.gcampax.github.com" = "workspace-indicator";
+  "horizontal-workspace-indicator@tty2.io" = "workspace-indicator-2";
+
+  # ############################################################################
+  # These are conflicts for older extensions (i.e. they don't support the latest GNOME version).
+  # Make sure to move them up once they are updated
+
+  # ####### GNOME 41 #######
+
   "apps-menu@gnome-shell-extensions.gcampax.github.com" = "applications-menu";
   "Applications_Menu@rmy.pobox.com" = "frippery-applications-menu";
 
@@ -15,15 +24,15 @@
   "lockkeys@vaina.lt" = "lock-keys";
   "lockkeys@fawtytoo" = "lock-keys-2";
 
-  "workspace-indicator@gnome-shell-extensions.gcampax.github.com" = "workspace-indicator";
-  "horizontal-workspace-indicator@tty2.io" = "workspace-indicator-2";
-
   "unredirect@vaina.lt" = "disable-unredirect-fullscreen-windows";
   "unredirect@aunetx" = "disable-unredirect-fullscreen-windows-2";
 
   "fuzzy-clock@keepawayfromfire.co.uk" = "fuzzy-clock-2";
   "FuzzyClock@johngoetz" = "fuzzy-clock";
 
+  "wireguard-indicator@gregos.me" = "wireguard-indicator-2";
+  "wireguard-indicator@atareao.es" = "wireguard-indicator";
+
   # At the moment, ShutdownTimer@deminder is a fork of ShutdownTimer@neumann which adds new features
   # there seem to be upstream plans, so this should be checked periodically:
   # https://github.com/Deminder/ShutdownTimer https://github.com/neumann-d/ShutdownTimer/pull/46
@@ -31,10 +40,6 @@
   "shutdown-timer-gnome-shell-extension" = "shutdowntimer-2";
   "ShutdownTimer@deminder" = "shutdowntimer";
 
-  # ############################################################################
-  # These are conflicts for older extensions (i.e. they don't support the latest GNOME version).
-  # Make sure to move them up once they are updated
-
   # ####### GNOME 40 #######
 
   "system-monitor@paradoxxx.zero.gmail.com" = "system-monitor"; # manually packaged
@@ -49,9 +54,6 @@
   "panel-date-format@keiii.github.com" = "panel-date-format";
   "panel-date-format@atareao.es" = "panel-date-format-2";
 
-  "wireguard-indicator@gregos.me" = "wireguard-indicator-2";
-  "wireguard-indicator@atareao.es" = "wireguard-indicator";
-
   "extension-list@tu.berry" = "extension-list";
   "screen-lock@garciabaameiro.com" = "screen-lock"; # Don't know why they got 'extension-list' as slug
 
diff --git a/pkgs/desktops/gnome/extensions/extensions.json b/pkgs/desktops/gnome/extensions/extensions.json
index 709db763bf57f..2f9a7b2a7a94b 100644
--- a/pkgs/desktops/gnome/extensions/extensions.json
+++ b/pkgs/desktops/gnome/extensions/extensions.json
@@ -1,5 +1,5 @@
 [ {"uuid": "Move_Clock@rmy.pobox.com", "name": "Frippery Move Clock", "pname": "move-clock", "description": "Move clock to left of status menu button", "link": "https://extensions.gnome.org/extension/2/move-clock/", "shell_version_map": {"38": {"version": "22", "sha256": "085ardkmrxz6rzh48frpb5z8mjlilqk037gjr84dr39gj9dkb81z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgY2xvY2sgdG8gbGVmdCBvZiBzdGF0dXMgbWVudSBidXR0b24iLAogICJuYW1lIjogIkZyaXBwZXJ5IE1vdmUgQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHA6Ly9mcmlwcGVyeS5vcmcvZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAiTW92ZV9DbG9ja0BybXkucG9ib3guY29tIiwKICAidmVyc2lvbiI6IDIyCn0="}, "40": {"version": "25", "sha256": "06bjswh450dwgns6kycgrzq3c4cf4ja57mraw8f7rlgzqrwlj3ci", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgY2xvY2sgdG8gbGVmdCBvZiBzdGF0dXMgbWVudSBidXR0b24iLAogICJuYW1lIjogIkZyaXBwZXJ5IE1vdmUgQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cDovL2ZyaXBwZXJ5Lm9yZy9leHRlbnNpb25zIiwKICAidXVpZCI6ICJNb3ZlX0Nsb2NrQHJteS5wb2JveC5jb20iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "41": {"version": "25", "sha256": "06bjswh450dwgns6kycgrzq3c4cf4ja57mraw8f7rlgzqrwlj3ci", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgY2xvY2sgdG8gbGVmdCBvZiBzdGF0dXMgbWVudSBidXR0b24iLAogICJuYW1lIjogIkZyaXBwZXJ5IE1vdmUgQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cDovL2ZyaXBwZXJ5Lm9yZy9leHRlbnNpb25zIiwKICAidXVpZCI6ICJNb3ZlX0Nsb2NrQHJteS5wb2JveC5jb20iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}}}
-, {"uuid": "Bottom_Panel@rmy.pobox.com", "name": "Frippery Bottom Panel", "pname": "bottom-panel", "description": "Add a bottom panel to the shell", "link": "https://extensions.gnome.org/extension/3/bottom-panel/", "shell_version_map": {"38": {"version": "49", "sha256": "09gsbnj564z8f7m593iv8j7s6f32230k0ikfsl1dlv1jsfpfn8zv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGJvdHRvbSBwYW5lbCB0byB0aGUgc2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcmlwcGVyeS1ib3R0b20tcGFuZWwiLAogICJuYW1lIjogIkZyaXBwZXJ5IEJvdHRvbSBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkuYm90dG9tLXBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwOi8vZnJpcHBlcnkub3JnL2V4dGVuc2lvbnMiLAogICJ1dWlkIjogIkJvdHRvbV9QYW5lbEBybXkucG9ib3guY29tIiwKICAidmVyc2lvbiI6IDQ5Cn0="}, "40": {"version": "58", "sha256": "1b69fx42mzc1fhi6c4xv8vyz7mrj551jaf0dbz4vif0g8c83sdc1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGJvdHRvbSBwYW5lbCB0byB0aGUgc2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcmlwcGVyeS1ib3R0b20tcGFuZWwiLAogICJuYW1lIjogIkZyaXBwZXJ5IEJvdHRvbSBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkuYm90dG9tLXBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHA6Ly9mcmlwcGVyeS5vcmcvZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAiQm90dG9tX1BhbmVsQHJteS5wb2JveC5jb20iLAogICJ2ZXJzaW9uIjogNTgKfQ=="}, "41": {"version": "58", "sha256": "1b69fx42mzc1fhi6c4xv8vyz7mrj551jaf0dbz4vif0g8c83sdc1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGJvdHRvbSBwYW5lbCB0byB0aGUgc2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcmlwcGVyeS1ib3R0b20tcGFuZWwiLAogICJuYW1lIjogIkZyaXBwZXJ5IEJvdHRvbSBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkuYm90dG9tLXBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHA6Ly9mcmlwcGVyeS5vcmcvZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAiQm90dG9tX1BhbmVsQHJteS5wb2JveC5jb20iLAogICJ2ZXJzaW9uIjogNTgKfQ=="}}}
+, {"uuid": "Bottom_Panel@rmy.pobox.com", "name": "Frippery Bottom Panel", "pname": "bottom-panel", "description": "Add a bottom panel to the shell", "link": "https://extensions.gnome.org/extension/3/bottom-panel/", "shell_version_map": {"38": {"version": "49", "sha256": "09gsbnj564z8f7m593iv8j7s6f32230k0ikfsl1dlv1jsfpfn8zv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGJvdHRvbSBwYW5lbCB0byB0aGUgc2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcmlwcGVyeS1ib3R0b20tcGFuZWwiLAogICJuYW1lIjogIkZyaXBwZXJ5IEJvdHRvbSBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkuYm90dG9tLXBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwOi8vZnJpcHBlcnkub3JnL2V4dGVuc2lvbnMiLAogICJ1dWlkIjogIkJvdHRvbV9QYW5lbEBybXkucG9ib3guY29tIiwKICAidmVyc2lvbiI6IDQ5Cn0="}, "40": {"version": "59", "sha256": "1zgkqs8r2pzpiq8vryf6jwlnm5p1h9lkdp8si0xmzvc7wrkjz959", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGJvdHRvbSBwYW5lbCB0byB0aGUgc2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcmlwcGVyeS1ib3R0b20tcGFuZWwiLAogICJuYW1lIjogIkZyaXBwZXJ5IEJvdHRvbSBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkuYm90dG9tLXBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHA6Ly9mcmlwcGVyeS5vcmcvZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAiQm90dG9tX1BhbmVsQHJteS5wb2JveC5jb20iLAogICJ2ZXJzaW9uIjogNTkKfQ=="}, "41": {"version": "59", "sha256": "1zgkqs8r2pzpiq8vryf6jwlnm5p1h9lkdp8si0xmzvc7wrkjz959", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGJvdHRvbSBwYW5lbCB0byB0aGUgc2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcmlwcGVyeS1ib3R0b20tcGFuZWwiLAogICJuYW1lIjogIkZyaXBwZXJ5IEJvdHRvbSBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkuYm90dG9tLXBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHA6Ly9mcmlwcGVyeS5vcmcvZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAiQm90dG9tX1BhbmVsQHJteS5wb2JveC5jb20iLAogICJ2ZXJzaW9uIjogNTkKfQ=="}}}
 , {"uuid": "Panel_Favorites@rmy.pobox.com", "name": "Frippery Panel Favorites", "pname": "panel-favorites", "description": "Add launchers for Favorites to the panel", "link": "https://extensions.gnome.org/extension/4/panel-favorites/", "shell_version_map": {"38": {"version": "39", "sha256": "0jqysp82rhckdlgn1jhf1n6sqqphv97m9dri5pjiqjggvm4ls80j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBsYXVuY2hlcnMgZm9yIEZhdm9yaXRlcyB0byB0aGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcmlwcGVyeS1wYW5lbC1mYXZvcml0ZXMiLAogICJuYW1lIjogIkZyaXBwZXJ5IFBhbmVsIEZhdm9yaXRlcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkucGFuZWwtZmF2b3JpdGVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2ZyaXBwZXJ5Lm9yZy9leHRlbnNpb25zIiwKICAidXVpZCI6ICJQYW5lbF9GYXZvcml0ZXNAcm15LnBvYm94LmNvbSIsCiAgInZlcnNpb24iOiAzOQp9"}, "40": {"version": "43", "sha256": "1nic3ds6y8gbrihfbqm9q62258rvrrv0prnkrbg5kx37bbnl2z5v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBsYXVuY2hlcnMgZm9yIEZhdm9yaXRlcyB0byB0aGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcmlwcGVyeS1wYW5lbC1mYXZvcml0ZXMiLAogICJuYW1lIjogIkZyaXBwZXJ5IFBhbmVsIEZhdm9yaXRlcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkucGFuZWwtZmF2b3JpdGVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZnJpcHBlcnkub3JnL2V4dGVuc2lvbnMiLAogICJ1dWlkIjogIlBhbmVsX0Zhdm9yaXRlc0BybXkucG9ib3guY29tIiwKICAidmVyc2lvbiI6IDQzCn0="}, "41": {"version": "43", "sha256": "1nic3ds6y8gbrihfbqm9q62258rvrrv0prnkrbg5kx37bbnl2z5v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBsYXVuY2hlcnMgZm9yIEZhdm9yaXRlcyB0byB0aGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcmlwcGVyeS1wYW5lbC1mYXZvcml0ZXMiLAogICJuYW1lIjogIkZyaXBwZXJ5IFBhbmVsIEZhdm9yaXRlcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZnJpcHBlcnkucGFuZWwtZmF2b3JpdGVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZnJpcHBlcnkub3JnL2V4dGVuc2lvbnMiLAogICJ1dWlkIjogIlBhbmVsX0Zhdm9yaXRlc0BybXkucG9ib3guY29tIiwKICAidmVyc2lvbiI6IDQzCn0="}}}
 , {"uuid": "apps-menu@gnome-shell-extensions.gcampax.github.com", "name": "Applications Menu", "pname": "applications-menu", "description": "Add a category-based menu for applications.\nThis extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.", "link": "https://extensions.gnome.org/extension/6/applications-menu/", "shell_version_map": {"38": {"version": "46", "sha256": "1l5fliypxq3s3b6crv7rc6nl741m7hw48dwl0g7vi3yxyw0vyc0x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGNhdGVnb3J5LWJhc2VkIG1lbnUgZm9yIGFwcGxpY2F0aW9ucy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImFwcHMtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkFwcGxpY2F0aW9ucyBNZW51IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJlMjAwMkBiay5ydSIsCiAgICAiZGViYXJzaGlyQGdub21lLm9yZyIKICBdLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJhcHBzLW1lbnVAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDYKfQ=="}, "40": {"version": "48", "sha256": "0whi4ir3hvz6gby57331hv0a80ssz1b746pj79v43cm15djlsbhv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGNhdGVnb3J5LWJhc2VkIG1lbnUgZm9yIGFwcGxpY2F0aW9ucy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImFwcHMtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIkFwcGxpY2F0aW9ucyBNZW51IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJlMjAwMkBiay5ydSIsCiAgICAiZGViYXJzaGlyQGdub21lLm9yZyIKICBdLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAiYXBwcy1tZW51QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQ4Cn0="}, "41": {"version": "50", "sha256": "1x71mysa80n5nlfk79xgcz6k40qmw02g78pqjsvdinxsqlxi9ak6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGNhdGVnb3J5LWJhc2VkIG1lbnUgZm9yIGFwcGxpY2F0aW9ucy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImFwcHMtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1hcHBzLW1lbnUiLAogICJuYW1lIjogIkFwcGxpY2F0aW9ucyBNZW51IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJlMjAwMkBiay5ydSIsCiAgICAiZGViYXJzaGlyQGdub21lLm9yZyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwcy1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImFwcHMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1MAp9"}, "42": {"version": "51", "sha256": "016ngp84g47p904kk9jzfn5mkpy774fj7h70v53dlqc9s7c58r6s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGNhdGVnb3J5LWJhc2VkIG1lbnUgZm9yIGFwcGxpY2F0aW9ucy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImFwcHMtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1hcHBzLW1lbnUiLAogICJuYW1lIjogIkFwcGxpY2F0aW9ucyBNZW51IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJlMjAwMkBiay5ydSIsCiAgICAiZGViYXJzaGlyQGdub21lLm9yZyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwcy1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImFwcHMtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1MQp9"}}}
 , {"uuid": "drive-menu@gnome-shell-extensions.gcampax.github.com", "name": "Removable Drive Menu", "pname": "removable-drive-menu", "description": "A status menu for accessing and unmounting removable devices.", "link": "https://extensions.gnome.org/extension/7/removable-drive-menu/", "shell_version_map": {"38": {"version": "45", "sha256": "1f5a9md2gxbl65shbdm498y5dwhhqdpj96gvf2m81ad7gsgxzliv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIG1lbnUgZm9yIGFjY2Vzc2luZyBhbmQgdW5tb3VudGluZyByZW1vdmFibGUgZGV2aWNlcy4iLAogICJleHRlbnNpb24taWQiOiAiZHJpdmUtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlJlbW92YWJsZSBEcml2ZSBNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRyaXZlLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJkcml2ZS1tZW51QGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQ1Cn0="}, "40": {"version": "47", "sha256": "0sa694y58jx4yhjb16i25d6h1z5d8vzamwpqlrfs35g0bq93ri5s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIG1lbnUgZm9yIGFjY2Vzc2luZyBhbmQgdW5tb3VudGluZyByZW1vdmFibGUgZGV2aWNlcy4iLAogICJleHRlbnNpb24taWQiOiAiZHJpdmUtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlJlbW92YWJsZSBEcml2ZSBNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRyaXZlLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAiZHJpdmUtbWVudUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Nwp9"}, "41": {"version": "50", "sha256": "1gwi4xwwjps5mm412nck6nqbvcvll2n3h48wc74p9yi34fpr31dq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIG1lbnUgZm9yIGFjY2Vzc2luZyBhbmQgdW5tb3VudGluZyByZW1vdmFibGUgZGV2aWNlcy4iLAogICJleHRlbnNpb24taWQiOiAiZHJpdmUtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1kcml2ZS1tZW51IiwKICAibmFtZSI6ICJSZW1vdmFibGUgRHJpdmUgTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kcml2ZS1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImRyaXZlLW1lbnVAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNTAKfQ=="}, "42": {"version": "51", "sha256": "1mjxrmlcrn1c9plcmvs4pgmm13jxc7c7v3s4d3xbl2bp096878dc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIG1lbnUgZm9yIGFjY2Vzc2luZyBhbmQgdW5tb3VudGluZyByZW1vdmFibGUgZGV2aWNlcy4iLAogICJleHRlbnNpb24taWQiOiAiZHJpdmUtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1kcml2ZS1tZW51IiwKICAibmFtZSI6ICJSZW1vdmFibGUgRHJpdmUgTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kcml2ZS1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImRyaXZlLW1lbnVAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNTEKfQ=="}}}
@@ -19,42 +19,43 @@
 , {"uuid": "lockscreen@sri.ramkrishna.me", "name": "Lock Screen", "pname": "lock-screen", "description": "Add lock icon to the panel and lock the screen instead of using ctrl-alt-l", "link": "https://extensions.gnome.org/extension/83/lock-screen/", "shell_version_map": {"40": {"version": "13", "sha256": "1zlc6m3mai884mkgyg4mwvb7dc3wwpgysbkpfqw35cxpxf7chfk2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBsb2NrIGljb24gdG8gdGhlIHBhbmVsIGFuZCBsb2NrIHRoZSBzY3JlZW4gaW5zdGVhZCBvZiB1c2luZyBjdHJsLWFsdC1sIiwKICAibmFtZSI6ICJMb2NrIFNjcmVlbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NyYW1rcmlzaG5hL2dub21lMy1leHRlbnNpb25zIiwKICAidXVpZCI6ICJsb2Nrc2NyZWVuQHNyaS5yYW1rcmlzaG5hLm1lIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
 , {"uuid": "CoverflowAltTab@palatis.blogspot.com", "name": "Coverflow Alt-Tab", "pname": "coverflow-alt-tab", "description": "Replacement of Alt-Tab, iterates through windows in a cover-flow manner.", "link": "https://extensions.gnome.org/extension/97/coverflow-alt-tab/", "shell_version_map": {"38": {"version": "44", "sha256": "18qpriqi0h6la45bl584hglnni0ka2d5q4qv61wdcan28a7kywq4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNpbm5hbW9uLXZlcnNpb24iOiBbCiAgICAiMS4yIiwKICAgICIxLjQiLAogICAgIjEuNiIsCiAgICAiMS44IiwKICAgICIxLjkiLAogICAgIjIuMCIsCiAgICAiMi4xIiwKICAgICIyLjIiLAogICAgIjIuMyIsCiAgICAiMi40IiwKICAgICIyLjgiLAogICAgIjMuMCIKICBdLAogICJkZXNjcmlwdGlvbiI6ICJSZXBsYWNlbWVudCBvZiBBbHQtVGFiLCBpdGVyYXRlcyB0aHJvdWdoIHdpbmRvd3MgaW4gYSBjb3Zlci1mbG93IG1hbm5lci4iLAogICJuYW1lIjogIkNvdmVyZmxvdyBBbHQtVGFiIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZG1vNjAvQ292ZXJmbG93QWx0VGFiIiwKICAidXVpZCI6ICJDb3ZlcmZsb3dBbHRUYWJAcGFsYXRpcy5ibG9nc3BvdC5jb20iLAogICJ2ZXJzaW9uIjogNDQKfQ=="}, "40": {"version": "49", "sha256": "0mmz5qrlx2gjfahpyy6c050wcif3pwwfff7i8wxf7xcmj21nqlwx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2VtZW50IG9mIEFsdC1UYWIsIGl0ZXJhdGVzIHRocm91Z2ggd2luZG93cyBpbiBhIGNvdmVyLWZsb3cgbWFubmVyLiIsCiAgIm5hbWUiOiAiQ292ZXJmbG93IEFsdC1UYWIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RtbzYwL0NvdmVyZmxvd0FsdFRhYiIsCiAgInV1aWQiOiAiQ292ZXJmbG93QWx0VGFiQHBhbGF0aXMuYmxvZ3Nwb3QuY29tIiwKICAidmVyc2lvbiI6IDQ5Cn0="}, "41": {"version": "49", "sha256": "0mmz5qrlx2gjfahpyy6c050wcif3pwwfff7i8wxf7xcmj21nqlwx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2VtZW50IG9mIEFsdC1UYWIsIGl0ZXJhdGVzIHRocm91Z2ggd2luZG93cyBpbiBhIGNvdmVyLWZsb3cgbWFubmVyLiIsCiAgIm5hbWUiOiAiQ292ZXJmbG93IEFsdC1UYWIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RtbzYwL0NvdmVyZmxvd0FsdFRhYiIsCiAgInV1aWQiOiAiQ292ZXJmbG93QWx0VGFiQHBhbGF0aXMuYmxvZ3Nwb3QuY29tIiwKICAidmVyc2lvbiI6IDQ5Cn0="}}}
 , {"uuid": "netspeed@hedayaty.gmail.com", "name": "NetSpeed", "pname": "netspeed", "description": "Displays Internet Speed", "link": "https://extensions.gnome.org/extension/104/netspeed/", "shell_version_map": {"40": {"version": "34", "sha256": "04137rwnnf2mbp228wl9qjcix6i7757cqsdamabdrjwclg147vql", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIEludGVybmV0IFNwZWVkIiwKICAibmFtZSI6ICJOZXRTcGVlZCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJoZWRheWF0eUBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlZGF5YXR5L05ldFNwZWVkIiwKICAidXVpZCI6ICJuZXRzcGVlZEBoZWRheWF0eS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}, "41": {"version": "34", "sha256": "04137rwnnf2mbp228wl9qjcix6i7757cqsdamabdrjwclg147vql", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIEludGVybmV0IFNwZWVkIiwKICAibmFtZSI6ICJOZXRTcGVlZCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJoZWRheWF0eUBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlZGF5YXR5L05ldFNwZWVkIiwKICAidXVpZCI6ICJuZXRzcGVlZEBoZWRheWF0eS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}}}
-, {"uuid": "favorites@cvine.org", "name": "Favorites Menu", "pname": "favorites-menu", "description": "Provide panel menu for favorites", "link": "https://extensions.gnome.org/extension/115/favorites-menu/", "shell_version_map": {"40": {"version": "15", "sha256": "02s0p33dcr6wrxivjd47rwb42whqc6qswr3qdvd7p6jym4zddbi2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgcGFuZWwgbWVudSBmb3IgZmF2b3JpdGVzIiwKICAibmFtZSI6ICJGYXZvcml0ZXMgTWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHA6Ly93d3cuY3ZpbmUucGx1cy5jb20vZmF2b3JpdGVzL2luZGV4Lmh0bWwiLAogICJ1dWlkIjogImZhdm9yaXRlc0BjdmluZS5vcmciLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "41": {"version": "17", "sha256": "1xbm8d4669j727fw3cm5lmdkfq46xwavsiivr7s9l0nnmnafjzbh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgcGFuZWwgbWVudSBmb3IgZmF2b3JpdGVzIiwKICAibmFtZSI6ICJGYXZvcml0ZXMgTWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHA6Ly93d3cuY3ZpbmUucGx1cy5jb20vZmF2b3JpdGVzL2luZGV4Lmh0bWwiLAogICJ1dWlkIjogImZhdm9yaXRlc0BjdmluZS5vcmciLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
+, {"uuid": "favorites@cvine.org", "name": "Favorites Menu", "pname": "favorites-menu", "description": "Provide panel menu for favorites", "link": "https://extensions.gnome.org/extension/115/favorites-menu/", "shell_version_map": {"40": {"version": "15", "sha256": "02s0p33dcr6wrxivjd47rwb42whqc6qswr3qdvd7p6jym4zddbi2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgcGFuZWwgbWVudSBmb3IgZmF2b3JpdGVzIiwKICAibmFtZSI6ICJGYXZvcml0ZXMgTWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHA6Ly93d3cuY3ZpbmUucGx1cy5jb20vZmF2b3JpdGVzL2luZGV4Lmh0bWwiLAogICJ1dWlkIjogImZhdm9yaXRlc0BjdmluZS5vcmciLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "41": {"version": "18", "sha256": "1ibamk57121qdd0g0mlbg569sk2qqpap1914vfg1ip3nh1n4fym5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgcGFuZWwgbWVudSBmb3IgZmF2b3JpdGVzIiwKICAibmFtZSI6ICJGYXZvcml0ZXMgTWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwOi8vd3d3LmN2aW5lLnBsdXMuY29tL2Zhdm9yaXRlcy9pbmRleC5odG1sIiwKICAidXVpZCI6ICJmYXZvcml0ZXNAY3ZpbmUub3JnIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "42": {"version": "18", "sha256": "1ibamk57121qdd0g0mlbg569sk2qqpap1914vfg1ip3nh1n4fym5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgcGFuZWwgbWVudSBmb3IgZmF2b3JpdGVzIiwKICAibmFtZSI6ICJGYXZvcml0ZXMgTWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwOi8vd3d3LmN2aW5lLnBsdXMuY29tL2Zhdm9yaXRlcy9pbmRleC5odG1sIiwKICAidXVpZCI6ICJmYXZvcml0ZXNAY3ZpbmUub3JnIiwKICAidmVyc2lvbiI6IDE4Cn0="}}}
 , {"uuid": "system-monitor@paradoxxx.zero.gmail.com", "name": "system-monitor", "pname": "system-monitor", "description": "Display system information in GNOME Shell status bar, such as memory, CPU, disk and battery usages, network rates…", "link": "https://extensions.gnome.org/extension/120/system-monitor/", "shell_version_map": {"40": {"version": "40", "sha256": "05xmpbwwjzax5y7p7a492k6mmv9rjiyinnrfkzrzm16yncn3mbvj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgc3lzdGVtIGluZm9ybWF0aW9uIGluIEdOT01FIFNoZWxsIHN0YXR1cyBiYXIsIHN1Y2ggYXMgbWVtb3J5LCBDUFUsIGRpc2sgYW5kIGJhdHRlcnkgdXNhZ2VzLCBuZXR3b3JrIHJhdGVzXHUyMDI2IiwKICAiZ2V0dGV4dC1kb21haW4iOiAic3lzdGVtLW1vbml0b3IiLAogICJuYW1lIjogInN5c3RlbS1tb25pdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN5c3RlbS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BhcmFkb3h4eHplcm8vZ25vbWUtc2hlbGwtc3lzdGVtLW1vbml0b3ItYXBwbGV0IiwKICAidXVpZCI6ICJzeXN0ZW0tbW9uaXRvckBwYXJhZG94eHguemVyby5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDAKfQ=="}}}
 , {"uuid": "Fuzzy_Clock@dallagi", "name": "Fuzzy Clock", "pname": "fuzzy-clock", "description": "A human-readable clock for the gnome-shell panel", "link": "https://extensions.gnome.org/extension/202/fuzzy-clock/", "shell_version_map": {"38": {"version": "9", "sha256": "1cga3192balji63zmbbyixb4r53j48zhil4hnv57l3b25k4rmk0i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgaHVtYW4tcmVhZGFibGUgY2xvY2sgZm9yIHRoZSBnbm9tZS1zaGVsbCBwYW5lbCIsCiAgIm5hbWUiOiAiRnV6enkgQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYWxsYWdpL2dub21lLXNoZWxsLWZ1enp5LWNsb2NrIiwKICAidXVpZCI6ICJGdXp6eV9DbG9ja0BkYWxsYWdpIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
 , {"uuid": "PersianCalendar@oxygenws.com", "name": "Persian Calendar", "pname": "persian-calendar", "description": "Shows Persian date in the top panel.\n\nIt shows:\n1- Persian calendar\n2- It can show, today is a holiday or not!\n3- Show notification onDayChanged!\n4- Date converter between Persian, Gregorian and Lunar Hijri\n5- Events:\n5-1- Official solar events.\n5-2- Official lunar events.\n5-3- Official international events.\n5-4- Traditional Persian events.\n5-5- Persian personages.\n\nPlease \"rate\" here and \"star\" the project in GitHub.\nPlease open an issue in GitHub if you've found something or have an idea!", "link": "https://extensions.gnome.org/extension/240/persian-calendar/", "shell_version_map": {"38": {"version": "73", "sha256": "14p27d2h58jam7h97y06safsc2c8rwmjy74nak5w9cv7s0wx4kar", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIFBlcnNpYW4gZGF0ZSBpbiB0aGUgdG9wIHBhbmVsLlxuXG5JdCBzaG93czpcbjEtIFBlcnNpYW4gY2FsZW5kYXJcbjItIEl0IGNhbiBzaG93LCB0b2RheSBpcyBhIGhvbGlkYXkgb3Igbm90IVxuMy0gU2hvdyBub3RpZmljYXRpb24gb25EYXlDaGFuZ2VkIVxuNC0gRGF0ZSBjb252ZXJ0ZXIgYmV0d2VlbiBQZXJzaWFuLCBHcmVnb3JpYW4gYW5kIEx1bmFyIEhpanJpXG41LSBFdmVudHM6XG41LTEtIE9mZmljaWFsIHNvbGFyIGV2ZW50cy5cbjUtMi0gT2ZmaWNpYWwgbHVuYXIgZXZlbnRzLlxuNS0zLSBPZmZpY2lhbCBpbnRlcm5hdGlvbmFsIGV2ZW50cy5cbjUtNC0gVHJhZGl0aW9uYWwgUGVyc2lhbiBldmVudHMuXG41LTUtIFBlcnNpYW4gcGVyc29uYWdlcy5cblxuUGxlYXNlIFwicmF0ZVwiIGhlcmUgYW5kIFwic3RhclwiIHRoZSBwcm9qZWN0IGluIEdpdEh1Yi5cblBsZWFzZSBvcGVuIGFuIGlzc3VlIGluIEdpdEh1YiBpZiB5b3UndmUgZm91bmQgc29tZXRoaW5nIG9yIGhhdmUgYW4gaWRlYSEiLAogICJuYW1lIjogIlBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIk9taWQgTW90dGFnaGkgUmFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vb21pZC9QZXJzaWFuLUNhbGVuZGFyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiUGVyc2lhbkNhbGVuZGFyQG94eWdlbndzLmNvbSIsCiAgInZlcnNpb24iOiA3Mwp9"}, "40": {"version": "92", "sha256": "1cjiy8gswqlc95277yszihy8nr3n5w33amy1167fyfl1gfsr0k6i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIFBlcnNpYW4gZGF0ZSBpbiB0aGUgdG9wIHBhbmVsLlxuXG5JdCBzaG93czpcbjEtIFBlcnNpYW4gY2FsZW5kYXJcbjItIEl0IGNhbiBzaG93LCB0b2RheSBpcyBhIGhvbGlkYXkgb3Igbm90IVxuMy0gU2hvdyBub3RpZmljYXRpb24gb25EYXlDaGFuZ2VkIVxuNC0gRGF0ZSBjb252ZXJ0ZXIgYmV0d2VlbiBQZXJzaWFuLCBHcmVnb3JpYW4gYW5kIEx1bmFyIEhpanJpXG41LSBFdmVudHM6XG41LTEtIE9mZmljaWFsIHNvbGFyIGV2ZW50cy5cbjUtMi0gT2ZmaWNpYWwgbHVuYXIgZXZlbnRzLlxuNS0zLSBPZmZpY2lhbCBpbnRlcm5hdGlvbmFsIGV2ZW50cy5cbjUtNC0gVHJhZGl0aW9uYWwgUGVyc2lhbiBldmVudHMuXG41LTUtIFBlcnNpYW4gcGVyc29uYWdlcy5cblxuUGxlYXNlIFwicmF0ZVwiIGhlcmUgYW5kIFwic3RhclwiIHRoZSBwcm9qZWN0IGluIEdpdEh1Yi5cblBsZWFzZSBvcGVuIGFuIGlzc3VlIGluIEdpdEh1YiBpZiB5b3UndmUgZm91bmQgc29tZXRoaW5nIG9yIGhhdmUgYW4gaWRlYSEiLAogICJuYW1lIjogIlBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIk9taWQgTW90dGFnaGkgUmFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vb21pZC9QZXJzaWFuLUNhbGVuZGFyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiUGVyc2lhbkNhbGVuZGFyQG94eWdlbndzLmNvbSIsCiAgInZlcnNpb24iOiA5Mgp9"}, "41": {"version": "92", "sha256": "1cjiy8gswqlc95277yszihy8nr3n5w33amy1167fyfl1gfsr0k6i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIFBlcnNpYW4gZGF0ZSBpbiB0aGUgdG9wIHBhbmVsLlxuXG5JdCBzaG93czpcbjEtIFBlcnNpYW4gY2FsZW5kYXJcbjItIEl0IGNhbiBzaG93LCB0b2RheSBpcyBhIGhvbGlkYXkgb3Igbm90IVxuMy0gU2hvdyBub3RpZmljYXRpb24gb25EYXlDaGFuZ2VkIVxuNC0gRGF0ZSBjb252ZXJ0ZXIgYmV0d2VlbiBQZXJzaWFuLCBHcmVnb3JpYW4gYW5kIEx1bmFyIEhpanJpXG41LSBFdmVudHM6XG41LTEtIE9mZmljaWFsIHNvbGFyIGV2ZW50cy5cbjUtMi0gT2ZmaWNpYWwgbHVuYXIgZXZlbnRzLlxuNS0zLSBPZmZpY2lhbCBpbnRlcm5hdGlvbmFsIGV2ZW50cy5cbjUtNC0gVHJhZGl0aW9uYWwgUGVyc2lhbiBldmVudHMuXG41LTUtIFBlcnNpYW4gcGVyc29uYWdlcy5cblxuUGxlYXNlIFwicmF0ZVwiIGhlcmUgYW5kIFwic3RhclwiIHRoZSBwcm9qZWN0IGluIEdpdEh1Yi5cblBsZWFzZSBvcGVuIGFuIGlzc3VlIGluIEdpdEh1YiBpZiB5b3UndmUgZm91bmQgc29tZXRoaW5nIG9yIGhhdmUgYW4gaWRlYSEiLAogICJuYW1lIjogIlBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIk9taWQgTW90dGFnaGkgUmFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vb21pZC9QZXJzaWFuLUNhbGVuZGFyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiUGVyc2lhbkNhbGVuZGFyQG94eWdlbndzLmNvbSIsCiAgInZlcnNpb24iOiA5Mgp9"}, "42": {"version": "92", "sha256": "1cjiy8gswqlc95277yszihy8nr3n5w33amy1167fyfl1gfsr0k6i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIFBlcnNpYW4gZGF0ZSBpbiB0aGUgdG9wIHBhbmVsLlxuXG5JdCBzaG93czpcbjEtIFBlcnNpYW4gY2FsZW5kYXJcbjItIEl0IGNhbiBzaG93LCB0b2RheSBpcyBhIGhvbGlkYXkgb3Igbm90IVxuMy0gU2hvdyBub3RpZmljYXRpb24gb25EYXlDaGFuZ2VkIVxuNC0gRGF0ZSBjb252ZXJ0ZXIgYmV0d2VlbiBQZXJzaWFuLCBHcmVnb3JpYW4gYW5kIEx1bmFyIEhpanJpXG41LSBFdmVudHM6XG41LTEtIE9mZmljaWFsIHNvbGFyIGV2ZW50cy5cbjUtMi0gT2ZmaWNpYWwgbHVuYXIgZXZlbnRzLlxuNS0zLSBPZmZpY2lhbCBpbnRlcm5hdGlvbmFsIGV2ZW50cy5cbjUtNC0gVHJhZGl0aW9uYWwgUGVyc2lhbiBldmVudHMuXG41LTUtIFBlcnNpYW4gcGVyc29uYWdlcy5cblxuUGxlYXNlIFwicmF0ZVwiIGhlcmUgYW5kIFwic3RhclwiIHRoZSBwcm9qZWN0IGluIEdpdEh1Yi5cblBsZWFzZSBvcGVuIGFuIGlzc3VlIGluIEdpdEh1YiBpZiB5b3UndmUgZm91bmQgc29tZXRoaW5nIG9yIGhhdmUgYW4gaWRlYSEiLAogICJuYW1lIjogIlBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogIk9taWQgTW90dGFnaGkgUmFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vb21pZC9QZXJzaWFuLUNhbGVuZGFyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiUGVyc2lhbkNhbGVuZGFyQG94eWdlbndzLmNvbSIsCiAgInZlcnNpb24iOiA5Mgp9"}}}
-, {"uuid": "kimpanel@kde.org", "name": "Input Method Panel", "pname": "kimpanel", "description": "Input Method Panel using KDE's kimpanel protocol for Gnome-Shell", "link": "https://extensions.gnome.org/extension/261/kimpanel/", "shell_version_map": {"38": {"version": "59", "sha256": "0rh2in9cm9khvmhhzyyw98z6bwvv95v59zcapkjpd7kbs38hqdw2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklucHV0IE1ldGhvZCBQYW5lbCB1c2luZyBLREUncyBraW1wYW5lbCBwcm90b2NvbCBmb3IgR25vbWUtU2hlbGwiLAogICJleHRlbnNpb24taWQiOiAia2ltcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLWtpbXBhbmVsIiwKICAibG9jYWxlIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJJbnB1dCBNZXRob2QgUGFuZWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMua2ltcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93ZW5neHQvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtpbXBhbmVsIiwKICAidXVpZCI6ICJraW1wYW5lbEBrZGUub3JnIiwKICAidmVyc2lvbiI6IDU5Cn0="}, "40": {"version": "69", "sha256": "0dyaxcfj2jcmy253b5hmi8kfrz9x3faqm7akyf7aawk2c047y21k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklucHV0IE1ldGhvZCBQYW5lbCB1c2luZyBLREUncyBraW1wYW5lbCBwcm90b2NvbCBmb3IgR25vbWUtU2hlbGwiLAogICJleHRlbnNpb24taWQiOiAia2ltcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLWtpbXBhbmVsIiwKICAibG9jYWxlIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJJbnB1dCBNZXRob2QgUGFuZWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMua2ltcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dlbmd4dC9nbm9tZS1zaGVsbC1leHRlbnNpb24ta2ltcGFuZWwiLAogICJ1dWlkIjogImtpbXBhbmVsQGtkZS5vcmciLAogICJ2ZXJzaW9uIjogNjkKfQ=="}, "41": {"version": "69", "sha256": "0dyaxcfj2jcmy253b5hmi8kfrz9x3faqm7akyf7aawk2c047y21k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklucHV0IE1ldGhvZCBQYW5lbCB1c2luZyBLREUncyBraW1wYW5lbCBwcm90b2NvbCBmb3IgR25vbWUtU2hlbGwiLAogICJleHRlbnNpb24taWQiOiAia2ltcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLWtpbXBhbmVsIiwKICAibG9jYWxlIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJJbnB1dCBNZXRob2QgUGFuZWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMua2ltcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dlbmd4dC9nbm9tZS1zaGVsbC1leHRlbnNpb24ta2ltcGFuZWwiLAogICJ1dWlkIjogImtpbXBhbmVsQGtkZS5vcmciLAogICJ2ZXJzaW9uIjogNjkKfQ=="}}}
-, {"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": "17", "sha256": "10zjxf8swp3n34q3mdid4ni109r1274c2iyd8nmwzyzsi11a14dj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNwZWVkIHVwIHRoZSBnbm9tZS1zaGVsbCBhbmltYXRpb24gc3BlZWQiLAogICJuYW1lIjogIkltcGF0aWVuY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dmeG1vbmsubmV0L2Rpc3QvMGluc3RhbGwvZ25vbWUtc2hlbGwtaW1wYXRpZW5jZS54bWwiLAogICJ1dWlkIjogImltcGF0aWVuY2VAZ2Z4bW9uay5uZXQiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "41": {"version": "17", "sha256": "10zjxf8swp3n34q3mdid4ni109r1274c2iyd8nmwzyzsi11a14dj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNwZWVkIHVwIHRoZSBnbm9tZS1zaGVsbCBhbmltYXRpb24gc3BlZWQiLAogICJuYW1lIjogIkltcGF0aWVuY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dmeG1vbmsubmV0L2Rpc3QvMGluc3RhbGwvZ25vbWUtc2hlbGwtaW1wYXRpZW5jZS54bWwiLAogICJ1dWlkIjogImltcGF0aWVuY2VAZ2Z4bW9uay5uZXQiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
+, {"uuid": "kimpanel@kde.org", "name": "Input Method Panel", "pname": "kimpanel", "description": "Input Method Panel using KDE's kimpanel protocol for Gnome-Shell", "link": "https://extensions.gnome.org/extension/261/kimpanel/", "shell_version_map": {"38": {"version": "59", "sha256": "0rh2in9cm9khvmhhzyyw98z6bwvv95v59zcapkjpd7kbs38hqdw2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklucHV0IE1ldGhvZCBQYW5lbCB1c2luZyBLREUncyBraW1wYW5lbCBwcm90b2NvbCBmb3IgR25vbWUtU2hlbGwiLAogICJleHRlbnNpb24taWQiOiAia2ltcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLWtpbXBhbmVsIiwKICAibG9jYWxlIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJJbnB1dCBNZXRob2QgUGFuZWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMua2ltcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93ZW5neHQvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtpbXBhbmVsIiwKICAidXVpZCI6ICJraW1wYW5lbEBrZGUub3JnIiwKICAidmVyc2lvbiI6IDU5Cn0="}, "40": {"version": "70", "sha256": "05x4ypj25hgmiz3qqq4gb9qnim85x1bxv7cz64l0xzzi4cjzf8wa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklucHV0IE1ldGhvZCBQYW5lbCB1c2luZyBLREUncyBraW1wYW5lbCBwcm90b2NvbCBmb3IgR25vbWUtU2hlbGwiLAogICJleHRlbnNpb24taWQiOiAia2ltcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLWtpbXBhbmVsIiwKICAibG9jYWxlIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJJbnB1dCBNZXRob2QgUGFuZWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMua2ltcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93ZW5neHQvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtpbXBhbmVsIiwKICAidXVpZCI6ICJraW1wYW5lbEBrZGUub3JnIiwKICAidmVyc2lvbiI6IDcwCn0="}, "41": {"version": "70", "sha256": "05x4ypj25hgmiz3qqq4gb9qnim85x1bxv7cz64l0xzzi4cjzf8wa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklucHV0IE1ldGhvZCBQYW5lbCB1c2luZyBLREUncyBraW1wYW5lbCBwcm90b2NvbCBmb3IgR25vbWUtU2hlbGwiLAogICJleHRlbnNpb24taWQiOiAia2ltcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLWtpbXBhbmVsIiwKICAibG9jYWxlIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJJbnB1dCBNZXRob2QgUGFuZWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMua2ltcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93ZW5neHQvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtpbXBhbmVsIiwKICAidXVpZCI6ICJraW1wYW5lbEBrZGUub3JnIiwKICAidmVyc2lvbiI6IDcwCn0="}, "42": {"version": "70", "sha256": "05x4ypj25hgmiz3qqq4gb9qnim85x1bxv7cz64l0xzzi4cjzf8wa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklucHV0IE1ldGhvZCBQYW5lbCB1c2luZyBLREUncyBraW1wYW5lbCBwcm90b2NvbCBmb3IgR25vbWUtU2hlbGwiLAogICJleHRlbnNpb24taWQiOiAia2ltcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLWtpbXBhbmVsIiwKICAibG9jYWxlIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJJbnB1dCBNZXRob2QgUGFuZWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMua2ltcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93ZW5neHQvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtpbXBhbmVsIiwKICAidXVpZCI6ICJraW1wYW5lbEBrZGUub3JnIiwKICAidmVyc2lvbiI6IDcwCn0="}}}
+, {"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=="}}}
 , {"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"}}}
 , {"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": "20", "sha256": "1hj58i77bm3maczinvwp2lyxyvnxjf49p7afylp5jwfin4wkw7m5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlZHVjZSB0aGUgaG9yaXpvbnRhbCBzcGFjaW5nIGJldHdlZW4gaWNvbnMgaW4gdGhlIHRvcC1yaWdodCBzdGF0dXMgYXJlYSIsCiAgImRldi12ZXJzaW9uIjogIjIuMS40IiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAibmFtZSI6ICJTdGF0dXMgQXJlYSBIb3Jpem9udGFsIFNwYWNpbmciLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9wOTFwYXVsL3N0YXR1cy1hcmVhLWhvcml6b250YWwtc3BhY2luZy1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInN0YXR1cy1hcmVhLWhvcml6b250YWwtc3BhY2luZ0BtYXRoZW1hdGljYWwuY29mZmVlLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMAp9"}, "41": {"version": "20", "sha256": "1hj58i77bm3maczinvwp2lyxyvnxjf49p7afylp5jwfin4wkw7m5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlZHVjZSB0aGUgaG9yaXpvbnRhbCBzcGFjaW5nIGJldHdlZW4gaWNvbnMgaW4gdGhlIHRvcC1yaWdodCBzdGF0dXMgYXJlYSIsCiAgImRldi12ZXJzaW9uIjogIjIuMS40IiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAibmFtZSI6ICJTdGF0dXMgQXJlYSBIb3Jpem9udGFsIFNwYWNpbmciLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9wOTFwYXVsL3N0YXR1cy1hcmVhLWhvcml6b250YWwtc3BhY2luZy1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInN0YXR1cy1hcmVhLWhvcml6b250YWwtc3BhY2luZ0BtYXRoZW1hdGljYWwuY29mZmVlLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMAp9"}}}
 , {"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"}}}
+, {"uuid": "calc@danigm.wadobo.com", "name": "calc", "pname": "calc", "description": "Simple run dialog calculation", "link": "https://extensions.gnome.org/extension/388/calc/", "shell_version_map": {"40": {"version": "10", "sha256": "0zp9riszgiagai57mkl9pzj34fwg30l33ib611dddapvvj19y5cg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBydW4gZGlhbG9nIGNhbGN1bGF0aW9uIiwKICAibmFtZSI6ICJjYWxjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImNhbGNAZGFuaWdtLndhZG9iby5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "0zp9riszgiagai57mkl9pzj34fwg30l33ib611dddapvvj19y5cg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBydW4gZGlhbG9nIGNhbGN1bGF0aW9uIiwKICAibmFtZSI6ICJjYWxjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImNhbGNAZGFuaWdtLndhZG9iby5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "42": {"version": "10", "sha256": "0zp9riszgiagai57mkl9pzj34fwg30l33ib611dddapvvj19y5cg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBydW4gZGlhbG9nIGNhbGN1bGF0aW9uIiwKICAibmFtZSI6ICJjYWxjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImNhbGNAZGFuaWdtLndhZG9iby5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
 , {"uuid": "remmina-search-provider@alexmurray.github.com", "name": "Remmina Search Provider", "pname": "remmina-search-provider", "description": "Search for Remmina Remote Desktop Connections\n\nEasily search for and launch connections to remote machines by name and protocol.", "link": "https://extensions.gnome.org/extension/473/remmina-search-provider/", "shell_version_map": {"40": {"version": "13", "sha256": "04wxydmbx0nm5ss2i10y4alxsr6fkia2is85ln23k25bqn8b4csi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlYXJjaCBmb3IgUmVtbWluYSBSZW1vdGUgRGVza3RvcCBDb25uZWN0aW9uc1xuXG5FYXNpbHkgc2VhcmNoIGZvciBhbmQgbGF1bmNoIGNvbm5lY3Rpb25zIHRvIHJlbW90ZSBtYWNoaW5lcyBieSBuYW1lIGFuZCBwcm90b2NvbC4iLAogICJuYW1lIjogIlJlbW1pbmEgU2VhcmNoIFByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjMyIiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxleG11cnJheS9yZW1taW5hLXNlYXJjaC1wcm92aWRlci8iLAogICJ1dWlkIjogInJlbW1pbmEtc2VhcmNoLXByb3ZpZGVyQGFsZXhtdXJyYXkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}}}
 , {"uuid": "uptime-indicator@gniourfgniourf.gmail.com", "name": "Uptime Indicator", "pname": "uptime-indicator", "description": "Indicates uptime in status area. When clicked, a popup menu indicates the date when the system was started.", "link": "https://extensions.gnome.org/extension/508/uptime-indicator/", "shell_version_map": {"38": {"version": "18", "sha256": "1pzcbkc8a1f886wn7avpdw81vqch9zcyjr0pr961rfw3nykd073c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZGljYXRlcyB1cHRpbWUgaW4gc3RhdHVzIGFyZWEuIFdoZW4gY2xpY2tlZCwgYSBwb3B1cCBtZW51IGluZGljYXRlcyB0aGUgZGF0ZSB3aGVuIHRoZSBzeXN0ZW0gd2FzIHN0YXJ0ZWQuIiwKICAibmFtZSI6ICJVcHRpbWUgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0duaW91cmYvVXB0aW1lLUluZGljYXRvciIsCiAgInV1aWQiOiAidXB0aW1lLWluZGljYXRvckBnbmlvdXJmZ25pb3VyZi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "40": {"version": "18", "sha256": "1pzcbkc8a1f886wn7avpdw81vqch9zcyjr0pr961rfw3nykd073c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZGljYXRlcyB1cHRpbWUgaW4gc3RhdHVzIGFyZWEuIFdoZW4gY2xpY2tlZCwgYSBwb3B1cCBtZW51IGluZGljYXRlcyB0aGUgZGF0ZSB3aGVuIHRoZSBzeXN0ZW0gd2FzIHN0YXJ0ZWQuIiwKICAibmFtZSI6ICJVcHRpbWUgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0duaW91cmYvVXB0aW1lLUluZGljYXRvciIsCiAgInV1aWQiOiAidXB0aW1lLWluZGljYXRvckBnbmlvdXJmZ25pb3VyZi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}}}
 , {"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": "40", "sha256": "1rza4ppzcimh6qmg14srawv16vas4lbcw4njxjigl29d9qf43sdr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIHNjcmVlbnNhdmVyIGFuZCBhdXRvIHN1c3BlbmQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tY2FmZmVpbmUiLAogICJuYW1lIjogIkNhZmZlaW5lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNhZmZlaW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lb25wYXRhcG9uL2dub21lLXNoZWxsLWV4dGVuc2lvbi1jYWZmZWluZSIsCiAgInV1aWQiOiAiY2FmZmVpbmVAcGF0YXBvbi5pbmZvIiwKICAidmVyc2lvbiI6IDQwCn0="}, "41": {"version": "40", "sha256": "1rza4ppzcimh6qmg14srawv16vas4lbcw4njxjigl29d9qf43sdr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIHNjcmVlbnNhdmVyIGFuZCBhdXRvIHN1c3BlbmQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tY2FmZmVpbmUiLAogICJuYW1lIjogIkNhZmZlaW5lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNhZmZlaW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lb25wYXRhcG9uL2dub21lLXNoZWxsLWV4dGVuc2lvbi1jYWZmZWluZSIsCiAgInV1aWQiOiAiY2FmZmVpbmVAcGF0YXBvbi5pbmZvIiwKICAidmVyc2lvbiI6IDQwCn0="}}}
 , {"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"}}}
 , {"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": "104", "sha256": "1d8jlcmcmaq90a2m3j1vhhamxiykfviasqb27xnmk4ghviwxdgqs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21sdXRmeS9oaWRldG9wYmFyIiwKICAidXVpZCI6ICJoaWRldG9wYmFyQG1hdGhpZXUuYmlkb24uY2EiLAogICJ2ZXJzaW9uIjogMTA0Cn0="}, "40": {"version": "104", "sha256": "1d8jlcmcmaq90a2m3j1vhhamxiykfviasqb27xnmk4ghviwxdgqs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21sdXRmeS9oaWRldG9wYmFyIiwKICAidXVpZCI6ICJoaWRldG9wYmFyQG1hdGhpZXUuYmlkb24uY2EiLAogICJ2ZXJzaW9uIjogMTA0Cn0="}, "41": {"version": "104", "sha256": "1d8jlcmcmaq90a2m3j1vhhamxiykfviasqb27xnmk4ghviwxdgqs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21sdXRmeS9oaWRldG9wYmFyIiwKICAidXVpZCI6ICJoaWRldG9wYmFyQG1hdGhpZXUuYmlkb24uY2EiLAogICJ2ZXJzaW9uIjogMTA0Cn0="}, "42": {"version": "104", "sha256": "1d8jlcmcmaq90a2m3j1vhhamxiykfviasqb27xnmk4ghviwxdgqs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21sdXRmeS9oaWRldG9wYmFyIiwKICAidXVpZCI6ICJoaWRldG9wYmFyQG1hdGhpZXUuYmlkb24uY2EiLAogICJ2ZXJzaW9uIjogMTA0Cn0="}}}
+, {"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": "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": "20", "sha256": "1aj5ry3g93wx1crn8rr2jm9vbz07kz0r7qc6sr2vj352bgjzrlbf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSGVicmV3IERhdGUgaW4gdGhlIFBhbmVsLlxuUmVxdWlyZXMgbGliaGRhdGUtZ2xpYiIsCiAgIm5hbWUiOiAiR25vbWUgSERhdGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMiIsCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYW1pYWQvZ25vbWUtaGRhdGUiLAogICJ1dWlkIjogImhkYXRlQGhhdHVsLmluZm8iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}, "41": {"version": "20", "sha256": "1aj5ry3g93wx1crn8rr2jm9vbz07kz0r7qc6sr2vj352bgjzrlbf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSGVicmV3IERhdGUgaW4gdGhlIFBhbmVsLlxuUmVxdWlyZXMgbGliaGRhdGUtZ2xpYiIsCiAgIm5hbWUiOiAiR25vbWUgSERhdGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMiIsCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYW1pYWQvZ25vbWUtaGRhdGUiLAogICJ1dWlkIjogImhkYXRlQGhhdHVsLmluZm8iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}}}
 , {"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/bartl/todo-txt-gnome-shell-extension/raw/master/CHANGELOG.md", "link": "https://extensions.gnome.org/extension/570/todotxt/", "shell_version_map": {"38": {"version": "33", "sha256": "1spq0i8w9xw8zgq3niqzs2dslg01l0gsbcys26p8lpydz0dsy7xa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgaW50ZXJmYWNlIGZvciB0b2RvLnR4dC4gXG5cblRvZG8udHh0IGlzIGEgZnV0dXJlLXByb29mIHN5bnRheCBmb3IgdGFza3MgKG5vdCBtYWRlIGJ5IG1lKSwgZm9yIG1vcmUgaW5mbzogaHR0cDovL3RvZG90eHQuY29tL1xuXG5Tb21lIGV4YW1wbGVzOlxuVGFzazogQmFzaWMgdGFza1xuKEEpIFRhc2s6IEhpZ2ggcHJpb3JpdHkgdGFza1xuVGFzayBAcHJvamVjdCArY29udGV4dDogVGFzayBpcyBwYXJ0IG9mIHByb2plY3QgYW5kIGhhcyBhIGNlcnRhaW4gY29udGV4dFxueCAyMDEzLTA4LTIyIFRhc2s6IFRhc2sgd2FzIGNvbXBsZXRlZCBvbiB0aGUgMjJuZCBvZiBBdWd1c3RcblxuRm9yIG1vcmUgaW5mbyBhYm91dCB0aGUgc3ludGF4OiBodHRwczovL2dpdGh1Yi5jb20vZ2luYXRyYXBhbmkvdG9kby50eHQtY2xpL3dpa2kvVGhlLVRvZG8udHh0LUZvcm1hdFxuXG5RdWljayBzdGFydDpcbldoZW4geW91IGZpcnN0IGVuYWJsZSB0aGUgZXh0ZW5zaW9uLCBjaGFuY2VzIGFyZSBoaWdoIHlvdSdsbCBzZWUgYSBbWF0gaW4geW91ciB0b3AgcGFuZWwuIElmIHlvdSBjbGljayB0aGUgW1hdLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGNob29zZSBiZXR3ZWVuIGNyZWF0aW5nIHRoZSBuZWNlc3NhcnkgZmlsZXMgYXV0b21hdGljYWxseSBvciBzZWxlY3RpbmcgeW91ciBvd24gZXhpc3RpbmcgZmlsZXMgdG8gYmUgdXNlZCB3aXRoIHRoZSBleHRlbnNpb24uXG5cblBsZWFzZSB1c2UgdGhlIGlzc3VlIHRyYWNrZXIgb24gdGhlIGhvbWVwYWdlIHRvIHJlcG9ydCBidWdzIGFuZC9vciBmaWxlIGZlYXR1cmUgcmVxdWVzdHMsIHRoaXMgbWFrZXMgdHJhY2tpbmcgZWFzaWVyIGZvciBtZS4gVGhhbmtzIVxuXG5TZWUgdGhlIGluY2x1ZGVkIENIQU5HRUxPRy5tZCBmb3IgaW5mbyBhYm91dCBjaGFuZ2VzIGJldHdlZW4gZGlmZmVyZW50IHZlcnNpb25zLCBvciBzZWUgaXQgb25saW5lOiBodHRwczovL2dpdGxhYi5jb20vYmFydGwvdG9kby10eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uL3Jhdy9tYXN0ZXIvQ0hBTkdFTE9HLm1kIiwKICAibmFtZSI6ICJUb2RvLnR4dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2JhcnRsL3RvZG8tdHh0LWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidG9kby50eHRAYmFydC5saWJlcnQuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDMzCn0="}, "40": {"version": "35", "sha256": "18vc11nls6giskq94kw48kbcx399706rglaqsmla4yvix0jkd8lz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgaW50ZXJmYWNlIGZvciB0b2RvLnR4dC4gXG5cblRvZG8udHh0IGlzIGEgZnV0dXJlLXByb29mIHN5bnRheCBmb3IgdGFza3MgKG5vdCBtYWRlIGJ5IG1lKSwgZm9yIG1vcmUgaW5mbzogaHR0cDovL3RvZG90eHQuY29tL1xuXG5Tb21lIGV4YW1wbGVzOlxuVGFzazogQmFzaWMgdGFza1xuKEEpIFRhc2s6IEhpZ2ggcHJpb3JpdHkgdGFza1xuVGFzayBAcHJvamVjdCArY29udGV4dDogVGFzayBpcyBwYXJ0IG9mIHByb2plY3QgYW5kIGhhcyBhIGNlcnRhaW4gY29udGV4dFxueCAyMDEzLTA4LTIyIFRhc2s6IFRhc2sgd2FzIGNvbXBsZXRlZCBvbiB0aGUgMjJuZCBvZiBBdWd1c3RcblxuRm9yIG1vcmUgaW5mbyBhYm91dCB0aGUgc3ludGF4OiBodHRwczovL2dpdGh1Yi5jb20vZ2luYXRyYXBhbmkvdG9kby50eHQtY2xpL3dpa2kvVGhlLVRvZG8udHh0LUZvcm1hdFxuXG5RdWljayBzdGFydDpcbldoZW4geW91IGZpcnN0IGVuYWJsZSB0aGUgZXh0ZW5zaW9uLCBjaGFuY2VzIGFyZSBoaWdoIHlvdSdsbCBzZWUgYSBbWF0gaW4geW91ciB0b3AgcGFuZWwuIElmIHlvdSBjbGljayB0aGUgW1hdLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGNob29zZSBiZXR3ZWVuIGNyZWF0aW5nIHRoZSBuZWNlc3NhcnkgZmlsZXMgYXV0b21hdGljYWxseSBvciBzZWxlY3RpbmcgeW91ciBvd24gZXhpc3RpbmcgZmlsZXMgdG8gYmUgdXNlZCB3aXRoIHRoZSBleHRlbnNpb24uXG5cblBsZWFzZSB1c2UgdGhlIGlzc3VlIHRyYWNrZXIgb24gdGhlIGhvbWVwYWdlIHRvIHJlcG9ydCBidWdzIGFuZC9vciBmaWxlIGZlYXR1cmUgcmVxdWVzdHMsIHRoaXMgbWFrZXMgdHJhY2tpbmcgZWFzaWVyIGZvciBtZS4gVGhhbmtzIVxuXG5TZWUgdGhlIGluY2x1ZGVkIENIQU5HRUxPRy5tZCBmb3IgaW5mbyBhYm91dCBjaGFuZ2VzIGJldHdlZW4gZGlmZmVyZW50IHZlcnNpb25zLCBvciBzZWUgaXQgb25saW5lOiBodHRwczovL2dpdGxhYi5jb20vYmFydGwvdG9kby10eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uL3Jhdy9tYXN0ZXIvQ0hBTkdFTE9HLm1kIiwKICAibmFtZSI6ICJUb2RvLnR4dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9iYXJ0bC90b2RvLXR4dC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInRvZG8udHh0QGJhcnQubGliZXJ0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzNQp9"}, "41": {"version": "37", "sha256": "0nixk7nwn987qrkmcbf5lkq2yj4ijq4hszmhz7fqrvvhlivp8xix", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgaW50ZXJmYWNlIGZvciB0b2RvLnR4dC4gXG5cblRvZG8udHh0IGlzIGEgZnV0dXJlLXByb29mIHN5bnRheCBmb3IgdGFza3MgKG5vdCBtYWRlIGJ5IG1lKSwgZm9yIG1vcmUgaW5mbzogaHR0cDovL3RvZG90eHQuY29tL1xuXG5Tb21lIGV4YW1wbGVzOlxuVGFzazogQmFzaWMgdGFza1xuKEEpIFRhc2s6IEhpZ2ggcHJpb3JpdHkgdGFza1xuVGFzayBAcHJvamVjdCArY29udGV4dDogVGFzayBpcyBwYXJ0IG9mIHByb2plY3QgYW5kIGhhcyBhIGNlcnRhaW4gY29udGV4dFxueCAyMDEzLTA4LTIyIFRhc2s6IFRhc2sgd2FzIGNvbXBsZXRlZCBvbiB0aGUgMjJuZCBvZiBBdWd1c3RcblxuRm9yIG1vcmUgaW5mbyBhYm91dCB0aGUgc3ludGF4OiBodHRwczovL2dpdGh1Yi5jb20vZ2luYXRyYXBhbmkvdG9kby50eHQtY2xpL3dpa2kvVGhlLVRvZG8udHh0LUZvcm1hdFxuXG5RdWljayBzdGFydDpcbldoZW4geW91IGZpcnN0IGVuYWJsZSB0aGUgZXh0ZW5zaW9uLCBjaGFuY2VzIGFyZSBoaWdoIHlvdSdsbCBzZWUgYSBbWF0gaW4geW91ciB0b3AgcGFuZWwuIElmIHlvdSBjbGljayB0aGUgW1hdLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGNob29zZSBiZXR3ZWVuIGNyZWF0aW5nIHRoZSBuZWNlc3NhcnkgZmlsZXMgYXV0b21hdGljYWxseSBvciBzZWxlY3RpbmcgeW91ciBvd24gZXhpc3RpbmcgZmlsZXMgdG8gYmUgdXNlZCB3aXRoIHRoZSBleHRlbnNpb24uXG5cblBsZWFzZSB1c2UgdGhlIGlzc3VlIHRyYWNrZXIgb24gdGhlIGhvbWVwYWdlIHRvIHJlcG9ydCBidWdzIGFuZC9vciBmaWxlIGZlYXR1cmUgcmVxdWVzdHMsIHRoaXMgbWFrZXMgdHJhY2tpbmcgZWFzaWVyIGZvciBtZS4gVGhhbmtzIVxuXG5TZWUgdGhlIGluY2x1ZGVkIENIQU5HRUxPRy5tZCBmb3IgaW5mbyBhYm91dCBjaGFuZ2VzIGJldHdlZW4gZGlmZmVyZW50IHZlcnNpb25zLCBvciBzZWUgaXQgb25saW5lOiBodHRwczovL2dpdGxhYi5jb20vYmFydGwvdG9kby10eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uL3Jhdy9tYXN0ZXIvQ0hBTkdFTE9HLm1kIiwKICAibmFtZSI6ICJUb2RvLnR4dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYmFydGwvdG9kby10eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0b2RvLnR4dEBiYXJ0LmxpYmVydC5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzcKfQ=="}, "42": {"version": "37", "sha256": "0nixk7nwn987qrkmcbf5lkq2yj4ijq4hszmhz7fqrvvhlivp8xix", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgaW50ZXJmYWNlIGZvciB0b2RvLnR4dC4gXG5cblRvZG8udHh0IGlzIGEgZnV0dXJlLXByb29mIHN5bnRheCBmb3IgdGFza3MgKG5vdCBtYWRlIGJ5IG1lKSwgZm9yIG1vcmUgaW5mbzogaHR0cDovL3RvZG90eHQuY29tL1xuXG5Tb21lIGV4YW1wbGVzOlxuVGFzazogQmFzaWMgdGFza1xuKEEpIFRhc2s6IEhpZ2ggcHJpb3JpdHkgdGFza1xuVGFzayBAcHJvamVjdCArY29udGV4dDogVGFzayBpcyBwYXJ0IG9mIHByb2plY3QgYW5kIGhhcyBhIGNlcnRhaW4gY29udGV4dFxueCAyMDEzLTA4LTIyIFRhc2s6IFRhc2sgd2FzIGNvbXBsZXRlZCBvbiB0aGUgMjJuZCBvZiBBdWd1c3RcblxuRm9yIG1vcmUgaW5mbyBhYm91dCB0aGUgc3ludGF4OiBodHRwczovL2dpdGh1Yi5jb20vZ2luYXRyYXBhbmkvdG9kby50eHQtY2xpL3dpa2kvVGhlLVRvZG8udHh0LUZvcm1hdFxuXG5RdWljayBzdGFydDpcbldoZW4geW91IGZpcnN0IGVuYWJsZSB0aGUgZXh0ZW5zaW9uLCBjaGFuY2VzIGFyZSBoaWdoIHlvdSdsbCBzZWUgYSBbWF0gaW4geW91ciB0b3AgcGFuZWwuIElmIHlvdSBjbGljayB0aGUgW1hdLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGNob29zZSBiZXR3ZWVuIGNyZWF0aW5nIHRoZSBuZWNlc3NhcnkgZmlsZXMgYXV0b21hdGljYWxseSBvciBzZWxlY3RpbmcgeW91ciBvd24gZXhpc3RpbmcgZmlsZXMgdG8gYmUgdXNlZCB3aXRoIHRoZSBleHRlbnNpb24uXG5cblBsZWFzZSB1c2UgdGhlIGlzc3VlIHRyYWNrZXIgb24gdGhlIGhvbWVwYWdlIHRvIHJlcG9ydCBidWdzIGFuZC9vciBmaWxlIGZlYXR1cmUgcmVxdWVzdHMsIHRoaXMgbWFrZXMgdHJhY2tpbmcgZWFzaWVyIGZvciBtZS4gVGhhbmtzIVxuXG5TZWUgdGhlIGluY2x1ZGVkIENIQU5HRUxPRy5tZCBmb3IgaW5mbyBhYm91dCBjaGFuZ2VzIGJldHdlZW4gZGlmZmVyZW50IHZlcnNpb25zLCBvciBzZWUgaXQgb25saW5lOiBodHRwczovL2dpdGxhYi5jb20vYmFydGwvdG9kby10eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uL3Jhdy9tYXN0ZXIvQ0hBTkdFTE9HLm1kIiwKICAibmFtZSI6ICJUb2RvLnR4dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYmFydGwvdG9kby10eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0b2RvLnR4dEBiYXJ0LmxpYmVydC5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzcKfQ=="}}}
 , {"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=="}}}
-, {"uuid": "autohide-battery@sitnik.ru", "name": "Autohide Battery", "pname": "autohide-battery", "description": "Hide battery icon in top panel, if battery is fully charged and AC is connected", "link": "https://extensions.gnome.org/extension/595/autohide-battery/", "shell_version_map": {"40": {"version": "23", "sha256": "1kxcb301ql1q3vyswnwgq8rmdyxj6zrngah2rwrbiy1wjz726xg0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgYmF0dGVyeSBpY29uIGluIHRvcCBwYW5lbCwgaWYgYmF0dGVyeSBpcyBmdWxseSBjaGFyZ2VkIGFuZCBBQyBpcyBjb25uZWN0ZWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhdXRvaGlkZS1iYXR0ZXJ5IiwKICAibmFtZSI6ICJBdXRvaGlkZSBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9haS9hdXRvaGlkZS1iYXR0ZXJ5IiwKICAidXVpZCI6ICJhdXRvaGlkZS1iYXR0ZXJ5QHNpdG5pay5ydSIsCiAgInZlcnNpb24iOiAyMwp9"}, "41": {"version": "23", "sha256": "1kxcb301ql1q3vyswnwgq8rmdyxj6zrngah2rwrbiy1wjz726xg0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgYmF0dGVyeSBpY29uIGluIHRvcCBwYW5lbCwgaWYgYmF0dGVyeSBpcyBmdWxseSBjaGFyZ2VkIGFuZCBBQyBpcyBjb25uZWN0ZWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhdXRvaGlkZS1iYXR0ZXJ5IiwKICAibmFtZSI6ICJBdXRvaGlkZSBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9haS9hdXRvaGlkZS1iYXR0ZXJ5IiwKICAidXVpZCI6ICJhdXRvaGlkZS1iYXR0ZXJ5QHNpdG5pay5ydSIsCiAgInZlcnNpb24iOiAyMwp9"}}}
+, {"uuid": "autohide-battery@sitnik.ru", "name": "Autohide Battery", "pname": "autohide-battery", "description": "Hide battery icon in top panel, if battery is fully charged and AC is connected", "link": "https://extensions.gnome.org/extension/595/autohide-battery/", "shell_version_map": {"40": {"version": "26", "sha256": "0y9gy7y2y43z3vhcbqrjlbzv4yph8y3h3l3hapawbdzdp4nm337z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgYmF0dGVyeSBpY29uIGluIHRvcCBwYW5lbCwgaWYgYmF0dGVyeSBpcyBmdWxseSBjaGFyZ2VkIGFuZCBBQyBpcyBjb25uZWN0ZWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhdXRvaGlkZS1iYXR0ZXJ5IiwKICAibmFtZSI6ICJBdXRvaGlkZSBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWkvYXV0b2hpZGUtYmF0dGVyeSIsCiAgInV1aWQiOiAiYXV0b2hpZGUtYmF0dGVyeUBzaXRuaWsucnUiLAogICJ2ZXJzaW9uIjogMjYKfQ=="}, "41": {"version": "26", "sha256": "0y9gy7y2y43z3vhcbqrjlbzv4yph8y3h3l3hapawbdzdp4nm337z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgYmF0dGVyeSBpY29uIGluIHRvcCBwYW5lbCwgaWYgYmF0dGVyeSBpcyBmdWxseSBjaGFyZ2VkIGFuZCBBQyBpcyBjb25uZWN0ZWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhdXRvaGlkZS1iYXR0ZXJ5IiwKICAibmFtZSI6ICJBdXRvaGlkZSBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWkvYXV0b2hpZGUtYmF0dGVyeSIsCiAgInV1aWQiOiAiYXV0b2hpZGUtYmF0dGVyeUBzaXRuaWsucnUiLAogICJ2ZXJzaW9uIjogMjYKfQ=="}, "42": {"version": "26", "sha256": "0y9gy7y2y43z3vhcbqrjlbzv4yph8y3h3l3hapawbdzdp4nm337z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgYmF0dGVyeSBpY29uIGluIHRvcCBwYW5lbCwgaWYgYmF0dGVyeSBpcyBmdWxseSBjaGFyZ2VkIGFuZCBBQyBpcyBjb25uZWN0ZWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhdXRvaGlkZS1iYXR0ZXJ5IiwKICAibmFtZSI6ICJBdXRvaGlkZSBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWkvYXV0b2hpZGUtYmF0dGVyeSIsCiAgInV1aWQiOiAiYXV0b2hpZGUtYmF0dGVyeUBzaXRuaWsucnUiLAogICJ2ZXJzaW9uIjogMjYKfQ=="}}}
 , {"uuid": "launch-new-instance@gnome-shell-extensions.gcampax.github.com", "name": "Launch new instance", "pname": "launch-new-instance", "description": "Always launch a new instance when clicking in the dash or the application view.\nThis extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.", "link": "https://extensions.gnome.org/extension/600/launch-new-instance/", "shell_version_map": {"38": {"version": "29", "sha256": "0qb1ajjwm076zxsd314n7f5vl72ih7j4h9y84bqwb9cxa53mp4g4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBsYXVuY2ggYSBuZXcgaW5zdGFuY2Ugd2hlbiBjbGlja2luZyBpbiB0aGUgZGFzaCBvciB0aGUgYXBwbGljYXRpb24gdmlldy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJMYXVuY2ggbmV3IGluc3RhbmNlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidXVpZCI6ICJsYXVuY2gtbmV3LWluc3RhbmNlQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDI5Cn0="}, "40": {"version": "31", "sha256": "0c667wdrpfd8bh2wygglzk1bp63z6xvknhj2rhw8v3vlmhpn8994", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBsYXVuY2ggYSBuZXcgaW5zdGFuY2Ugd2hlbiBjbGlja2luZyBpbiB0aGUgZGFzaCBvciB0aGUgYXBwbGljYXRpb24gdmlldy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJMYXVuY2ggbmV3IGluc3RhbmNlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAibGF1bmNoLW5ldy1pbnN0YW5jZUBnbm9tZS1zaGVsbC1leHRlbnNpb25zLmdjYW1wYXguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzMQp9"}, "41": {"version": "33", "sha256": "1z2kjrqaziw5v5sig92kng302w3pdkkkcl7dlhwjqlgfhkhpdxlm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBsYXVuY2ggYSBuZXcgaW5zdGFuY2Ugd2hlbiBjbGlja2luZyBpbiB0aGUgZGFzaCBvciB0aGUgYXBwbGljYXRpb24gdmlldy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGF1bmNoLW5ldy1pbnN0YW5jZSIsCiAgIm5hbWUiOiAiTGF1bmNoIG5ldyBpbnN0YW5jZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sYXVuY2gtbmV3LWluc3RhbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2VAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzMKfQ=="}, "42": {"version": "34", "sha256": "1vx1dbb8sq5ss3ilqah92nja6ivqnijywj2wkg29akz8ijbss19f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBsYXVuY2ggYSBuZXcgaW5zdGFuY2Ugd2hlbiBjbGlja2luZyBpbiB0aGUgZGFzaCBvciB0aGUgYXBwbGljYXRpb24gdmlldy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGF1bmNoLW5ldy1pbnN0YW5jZSIsCiAgIm5hbWUiOiAiTGF1bmNoIG5ldyBpbnN0YW5jZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sYXVuY2gtbmV3LWluc3RhbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2VAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}}}
 , {"uuid": "window-list@gnome-shell-extensions.gcampax.github.com", "name": "Window List", "pname": "window-list", "description": "Display a window list at the bottom of the screen.\nThis extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.", "link": "https://extensions.gnome.org/extension/602/window-list/", "shell_version_map": {"38": {"version": "34", "sha256": "06jww5sv3a32plbvnl1xch10y19q807dx6zn6z5gwpvq8n0nvnx3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIldpbmRvdyBMaXN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndpbmRvdy1saXN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}, "40": {"version": "41", "sha256": "16vf0b3wqr5s6fqxqlz3ly28nkvsv3ygvfk1sqxgrpqnw823x8bl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi13aW5kb3ctbGlzdCIsCiAgIm5hbWUiOiAiV2luZG93IExpc3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93LWxpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDEKfQ=="}, "41": {"version": "42", "sha256": "1jhgnzlrpnbhqx4rkr9nf7yrwdbc9h6n46aindfpp7kdgv2spymi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi13aW5kb3ctbGlzdCIsCiAgIm5hbWUiOiAiV2luZG93IExpc3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93LWxpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDIKfQ=="}, "42": {"version": "43", "sha256": "1dslg2dn48jqjd8mh2bcxrzp98skf1wgfhygw3l9fjaw41jvv1jv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi13aW5kb3ctbGlzdCIsCiAgIm5hbWUiOiAiV2luZG93IExpc3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93LWxpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDMKfQ=="}}}
 , {"uuid": "MultiClock@mibus.org", "name": "MultiClock", "pname": "multiclock", "description": "A clock for showing a second timezone in the panel.", "link": "https://extensions.gnome.org/extension/605/multiclock/", "shell_version_map": {"40": {"version": "8", "sha256": "1pp1cnmpix668mrywpv6mkyb45lw7f6cwibjl6bc7cgb01hkzd53", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgY2xvY2sgZm9yIHNob3dpbmcgYSBzZWNvbmQgdGltZXpvbmUgaW4gdGhlIHBhbmVsLiIsCiAgIm5hbWUiOiAiTXVsdGlDbG9jayIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5taWJ1c011bHRpQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWJ1cy9NdWx0aUNsb2NrIiwKICAidXVpZCI6ICJNdWx0aUNsb2NrQG1pYnVzLm9yZyIsCiAgInZlcnNpb24iOiA4Cn0="}}}
 , {"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=="}}}
 , {"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": "65", "sha256": "0kb7crng8lmkcjjxzd7ma2x0x43rg4j5ygvvpiq5z2j15rx8bcg4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgdGlsaW5nIHdpbmRvdyBleHRlbnNpb24gZm9yIEdOT01FIFNoZWxsLiBKdXN0IG1vdmUgYSB3aW5kb3cgdG8gdGhlIGVkZ2VzIG9mIHRoZSBzY3JlZW4gdG8gY3JlYXRlIGEgdGlsaW5nLCBvdGhlcndpc2UgbW92ZSBhIHdpbmRvdyBvdmVyIGFub3RoZXIgb25lLCBob2xkaW5nIGRvd24gdGhlIENvbnRyb2wga2V5LiBHcm91cGVkIHdpbmRvd3MgbWluaW1pemUsIHJlc2l6ZSwgcmFpc2UgYW5kIGNoYW5nZSB3b3Jrc3BhY2UgdG9nZXRoZXIuIE1vdmUgb3IgbWF4aW1pemUgYSB3aW5kb3cgdG8gcmVtb3ZlIGl0IGZyb20gdGhlIGdyb3VwLiIsCiAgImdldHRleHQtZG9tYWluIjogInNoZWxsdGlsZSIsCiAgIm5hbWUiOiAiU2hlbGxUaWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNoZWxsdGlsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy42IiwKICAgICIzLjgiLAogICAgIjMuMTAiLAogICAgIjMuMTIiLAogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lbWFzYWIvc2hlbGx0aWxlIiwKICAidXVpZCI6ICJTaGVsbFRpbGVAZW1hc2FiLml0IiwKICAidmVyc2lvbiI6IDY1Cn0="}}}
-, {"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": "27", "sha256": "159iiyw0sblq8jwkm1qfcakgdy3rvk07vzz8q6yj2davp64wpg5n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyLWRhdGUtMi4wIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJsdW5hcmNhbEBhaWxpbi5uZW11aSIsCiAgInZlcnNpb24iOiAyNwp9"}, "41": {"version": "27", "sha256": "159iiyw0sblq8jwkm1qfcakgdy3rvk07vzz8q6yj2davp64wpg5n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyLWRhdGUtMi4wIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJsdW5hcmNhbEBhaWxpbi5uZW11aSIsCiAgInZlcnNpb24iOiAyNwp9"}}}
+, {"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": "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 -&gt;  https://github.com/EasyScreenCast/EasyScreenCast\n\nVIDEO -&gt;  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": "41", "sha256": "04zs03xbidfkhr8l0pi4p7jmri9z7sg729739jmv17lvi3nb0k8l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiB0aGUgdmlkZW8gcmVjb3JkaW5nIGZ1bmN0aW9uIGludGVncmF0ZWQgaW4gZ25vbWUgc2hlbGwsIGFsbG93cyBxdWlja2x5IHRvIGNoYW5nZSB0aGUgdmFyaW91cyBzZXR0aW5ncyBvZiB0aGUgZGVza3RvcCByZWNvcmRpbmcuXG5cblNPVVJDRSBDT0RFIC0mZ3Q7ICBodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3RcblxuVklERU8gLSZndDsgIGh0dHBzOi8veW91dHUuYmUvODFFOUFydXJhS1VcblxuKipOT1RJQ0UqKlxuaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB0aGUgdXBkYXRlIGlzIHJlY29tbWVuZGVkIHRvIHJlbG9hZCBHTk9NRSBTaGVsbCAoQWx0ICsgRjIsICdyJykgYW5kIHJlbG9hZCB0aGUgZXh0ZW5zaW9uJ3MgaW5zdGFsbGF0aW9uIHBhZ2UuIiwKICAibmFtZSI6ICJFYXN5U2NyZWVuQ2FzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3QiLAogICJ1dWlkIjogIkVhc3lTY3JlZW5DYXN0QGlhY29wb2RlZW5vc2VlLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0MQp9"}, "40": {"version": "41", "sha256": "04zs03xbidfkhr8l0pi4p7jmri9z7sg729739jmv17lvi3nb0k8l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiB0aGUgdmlkZW8gcmVjb3JkaW5nIGZ1bmN0aW9uIGludGVncmF0ZWQgaW4gZ25vbWUgc2hlbGwsIGFsbG93cyBxdWlja2x5IHRvIGNoYW5nZSB0aGUgdmFyaW91cyBzZXR0aW5ncyBvZiB0aGUgZGVza3RvcCByZWNvcmRpbmcuXG5cblNPVVJDRSBDT0RFIC0mZ3Q7ICBodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3RcblxuVklERU8gLSZndDsgIGh0dHBzOi8veW91dHUuYmUvODFFOUFydXJhS1VcblxuKipOT1RJQ0UqKlxuaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB0aGUgdXBkYXRlIGlzIHJlY29tbWVuZGVkIHRvIHJlbG9hZCBHTk9NRSBTaGVsbCAoQWx0ICsgRjIsICdyJykgYW5kIHJlbG9hZCB0aGUgZXh0ZW5zaW9uJ3MgaW5zdGFsbGF0aW9uIHBhZ2UuIiwKICAibmFtZSI6ICJFYXN5U2NyZWVuQ2FzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3QiLAogICJ1dWlkIjogIkVhc3lTY3JlZW5DYXN0QGlhY29wb2RlZW5vc2VlLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0MQp9"}, "41": {"version": "41", "sha256": "04zs03xbidfkhr8l0pi4p7jmri9z7sg729739jmv17lvi3nb0k8l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiB0aGUgdmlkZW8gcmVjb3JkaW5nIGZ1bmN0aW9uIGludGVncmF0ZWQgaW4gZ25vbWUgc2hlbGwsIGFsbG93cyBxdWlja2x5IHRvIGNoYW5nZSB0aGUgdmFyaW91cyBzZXR0aW5ncyBvZiB0aGUgZGVza3RvcCByZWNvcmRpbmcuXG5cblNPVVJDRSBDT0RFIC0mZ3Q7ICBodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3RcblxuVklERU8gLSZndDsgIGh0dHBzOi8veW91dHUuYmUvODFFOUFydXJhS1VcblxuKipOT1RJQ0UqKlxuaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB0aGUgdXBkYXRlIGlzIHJlY29tbWVuZGVkIHRvIHJlbG9hZCBHTk9NRSBTaGVsbCAoQWx0ICsgRjIsICdyJykgYW5kIHJlbG9hZCB0aGUgZXh0ZW5zaW9uJ3MgaW5zdGFsbGF0aW9uIHBhZ2UuIiwKICAibmFtZSI6ICJFYXN5U2NyZWVuQ2FzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3QiLAogICJ1dWlkIjogIkVhc3lTY3JlZW5DYXN0QGlhY29wb2RlZW5vc2VlLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0MQp9"}}}
-, {"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": "29", "sha256": "022pkhylbxwcppsfgs0znk6pr7j160w7l7dm517ksip59zifa7mk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB3b3Jrc3BhY2VzIGJ5IHNjcm9sbGluZyBvdmVyIHRoZSB0b3AgcGFuZWwiLAogICJuYW1lIjogIlRvcCBQYW5lbCBXb3Jrc3BhY2UgU2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aW1AZ2Z4bW9uay5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5ldC5nZnhtb25rLnNjcm9sbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nZnhtb25rL2dub21lLXNoZWxsLXNjcm9sbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJzY3JvbGwtd29ya3NwYWNlc0BnZnhtb25rLm5ldCIsCiAgInZlcnNpb24iOiAyOQp9"}, "41": {"version": "29", "sha256": "022pkhylbxwcppsfgs0znk6pr7j160w7l7dm517ksip59zifa7mk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB3b3Jrc3BhY2VzIGJ5IHNjcm9sbGluZyBvdmVyIHRoZSB0b3AgcGFuZWwiLAogICJuYW1lIjogIlRvcCBQYW5lbCBXb3Jrc3BhY2UgU2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aW1AZ2Z4bW9uay5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5ldC5nZnhtb25rLnNjcm9sbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nZnhtb25rL2dub21lLXNoZWxsLXNjcm9sbC13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJzY3JvbGwtd29ya3NwYWNlc0BnZnhtb25rLm5ldCIsCiAgInZlcnNpb24iOiAyOQp9"}}}
+, {"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"}}}
 , {"uuid": "panel-osd@berend.de.schouwer.gmail.com", "name": "Panel OSD", "pname": "panel-osd", "description": "Configuring where on the (main) screen notifications will appear, instead of just above the message tray", "link": "https://extensions.gnome.org/extension/708/panel-osd/", "shell_version_map": {"38": {"version": "39", "sha256": "109qlcckx5z8fwndpr86r2bfggyh4akmi6lqi0ki7gr9bfigdqnv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbmZpZ3VyaW5nIHdoZXJlIG9uIHRoZSAobWFpbikgc2NyZWVuIG5vdGlmaWNhdGlvbnMgd2lsbCBhcHBlYXIsIGluc3RlYWQgb2YganVzdCBhYm92ZSB0aGUgbWVzc2FnZSB0cmF5IiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJQYW5lbCBPU0QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTAiLAogICAgIjMuMTIiLAogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qZW5zbG9keS9nbm9tZS1zaGVsbC1leHRlbnNpb24tcGFuZWwtb3NkIiwKICAidXVpZCI6ICJwYW5lbC1vc2RAYmVyZW5kLmRlLnNjaG91d2VyLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzOQp9"}, "40": {"version": "40", "sha256": "0hskvmdnqjihixaxhb7a7apsx0203zmymm5j6ncb2al928p795yx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbmZpZ3VyaW5nIHdoZXJlIG9uIHRoZSAobWFpbikgc2NyZWVuIG5vdGlmaWNhdGlvbnMgd2lsbCBhcHBlYXIsIGluc3RlYWQgb2YganVzdCBhYm92ZSB0aGUgbWVzc2FnZSB0cmF5IiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJQYW5lbCBPU0QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vamVuc2xvZHkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXBhbmVsLW9zZCIsCiAgInV1aWQiOiAicGFuZWwtb3NkQGJlcmVuZC5kZS5zY2hvdXdlci5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDAKfQ=="}}}
 , {"uuid": "pixel-saver@deadalnix.me", "name": "Pixel Saver", "pname": "pixel-saver", "description": "Pixel Saver is designed to save pixel by fusing activity bar and title bar in a natural way", "link": "https://extensions.gnome.org/extension/723/pixel-saver/", "shell_version_map": {"38": {"version": "26", "sha256": "1i284r5443cypw7jq31rrbc4f075piaq872331qnrrynv4s1k8cn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBpeGVsIFNhdmVyIGlzIGRlc2lnbmVkIHRvIHNhdmUgcGl4ZWwgYnkgZnVzaW5nIGFjdGl2aXR5IGJhciBhbmQgdGl0bGUgYmFyIGluIGEgbmF0dXJhbCB3YXkiLAogICJuYW1lIjogIlBpeGVsIFNhdmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MC4yIiwKICAgICI0MC4zIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0MS4xIiwKICAgICI0MS4yIiwKICAgICI0MS4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVhZGFsbml4L3BpeGVsLXNhdmVyIiwKICAidXVpZCI6ICJwaXhlbC1zYXZlckBkZWFkYWxuaXgubWUiLAogICJ2ZXJzaW9uIjogMjYKfQ=="}, "40": {"version": "26", "sha256": "1i284r5443cypw7jq31rrbc4f075piaq872331qnrrynv4s1k8cn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBpeGVsIFNhdmVyIGlzIGRlc2lnbmVkIHRvIHNhdmUgcGl4ZWwgYnkgZnVzaW5nIGFjdGl2aXR5IGJhciBhbmQgdGl0bGUgYmFyIGluIGEgbmF0dXJhbCB3YXkiLAogICJuYW1lIjogIlBpeGVsIFNhdmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MC4yIiwKICAgICI0MC4zIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0MS4xIiwKICAgICI0MS4yIiwKICAgICI0MS4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVhZGFsbml4L3BpeGVsLXNhdmVyIiwKICAidXVpZCI6ICJwaXhlbC1zYXZlckBkZWFkYWxuaXgubWUiLAogICJ2ZXJzaW9uIjogMjYKfQ=="}, "41": {"version": "26", "sha256": "1i284r5443cypw7jq31rrbc4f075piaq872331qnrrynv4s1k8cn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBpeGVsIFNhdmVyIGlzIGRlc2lnbmVkIHRvIHNhdmUgcGl4ZWwgYnkgZnVzaW5nIGFjdGl2aXR5IGJhciBhbmQgdGl0bGUgYmFyIGluIGEgbmF0dXJhbCB3YXkiLAogICJuYW1lIjogIlBpeGVsIFNhdmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MC4yIiwKICAgICI0MC4zIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0MS4xIiwKICAgICI0MS4yIiwKICAgICI0MS4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVhZGFsbml4L3BpeGVsLXNhdmVyIiwKICAidXVpZCI6ICJwaXhlbC1zYXZlckBkZWFkYWxuaXgubWUiLAogICJ2ZXJzaW9uIjogMjYKfQ=="}, "42": {"version": "26", "sha256": "1i284r5443cypw7jq31rrbc4f075piaq872331qnrrynv4s1k8cn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBpeGVsIFNhdmVyIGlzIGRlc2lnbmVkIHRvIHNhdmUgcGl4ZWwgYnkgZnVzaW5nIGFjdGl2aXR5IGJhciBhbmQgdGl0bGUgYmFyIGluIGEgbmF0dXJhbCB3YXkiLAogICJuYW1lIjogIlBpeGVsIFNhdmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MC4yIiwKICAgICI0MC4zIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0MS4xIiwKICAgICI0MS4yIiwKICAgICI0MS4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVhZGFsbml4L3BpeGVsLXNhdmVyIiwKICAidXVpZCI6ICJwaXhlbC1zYXZlckBkZWFkYWxuaXgubWUiLAogICJ2ZXJzaW9uIjogMjYKfQ=="}}}
 , {"uuid": "breakreminder@danielfalk22.gmail.com", "name": "Break Reminder", "pname": "break-reminder", "description": "Get a reminder to take a break", "link": "https://extensions.gnome.org/extension/734/break-reminder/", "shell_version_map": {"38": {"version": "6", "sha256": "0k21wj98ldx52m7s8sgndqziqnn7n0g2j45lsi31kfjydhyj3dmk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdldCBhIHJlbWluZGVyIHRvIHRha2UgYSBicmVhayIsCiAgIm5hbWUiOiAiQnJlYWsgUmVtaW5kZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYW5pZWxmYWxrL2dub21lM2JyZWFrcmVtaW5kZXIiLAogICJ1dWlkIjogImJyZWFrcmVtaW5kZXJAZGFuaWVsZmFsazIyLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
-, {"uuid": "Hide_Activities@shay.shayel.org", "name": "Hide Activities Button", "pname": "hide-activities-button", "description": "Hides the Activities button from the status bar (the hot corner and keyboard shortcut keeps working). To disable top left hot corner use 'No Topleft Hot Corner' extension — https://extensions.gnome.org/extension/118/no-topleft-hot-corner/ .", "link": "https://extensions.gnome.org/extension/744/hide-activities-button/", "shell_version_map": {"38": {"version": "12", "sha256": "0z7p6xl6axckl6f0gyqaya3l5i4d9mnzkqdylpfhywswb5idabra", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBmcm9tIHRoZSBzdGF0dXMgYmFyICh0aGUgaG90IGNvcm5lciBhbmQga2V5Ym9hcmQgc2hvcnRjdXQga2VlcHMgd29ya2luZykuIFRvIGRpc2FibGUgdG9wIGxlZnQgaG90IGNvcm5lciB1c2UgJ05vIFRvcGxlZnQgSG90IENvcm5lcicgZXh0ZW5zaW9uIFx1MjAxNCBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTgvbm8tdG9wbGVmdC1ob3QtY29ybmVyLyAuIiwKICAibmFtZSI6ICJIaWRlIEFjdGl2aXRpZXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiSGlkZV9BY3Rpdml0aWVzQHNoYXkuc2hheWVsLm9yZyIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "12", "sha256": "0z7p6xl6axckl6f0gyqaya3l5i4d9mnzkqdylpfhywswb5idabra", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBmcm9tIHRoZSBzdGF0dXMgYmFyICh0aGUgaG90IGNvcm5lciBhbmQga2V5Ym9hcmQgc2hvcnRjdXQga2VlcHMgd29ya2luZykuIFRvIGRpc2FibGUgdG9wIGxlZnQgaG90IGNvcm5lciB1c2UgJ05vIFRvcGxlZnQgSG90IENvcm5lcicgZXh0ZW5zaW9uIFx1MjAxNCBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTgvbm8tdG9wbGVmdC1ob3QtY29ybmVyLyAuIiwKICAibmFtZSI6ICJIaWRlIEFjdGl2aXRpZXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiSGlkZV9BY3Rpdml0aWVzQHNoYXkuc2hheWVsLm9yZyIsCiAgInZlcnNpb24iOiAxMgp9"}, "41": {"version": "12", "sha256": "0z7p6xl6axckl6f0gyqaya3l5i4d9mnzkqdylpfhywswb5idabra", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBmcm9tIHRoZSBzdGF0dXMgYmFyICh0aGUgaG90IGNvcm5lciBhbmQga2V5Ym9hcmQgc2hvcnRjdXQga2VlcHMgd29ya2luZykuIFRvIGRpc2FibGUgdG9wIGxlZnQgaG90IGNvcm5lciB1c2UgJ05vIFRvcGxlZnQgSG90IENvcm5lcicgZXh0ZW5zaW9uIFx1MjAxNCBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTgvbm8tdG9wbGVmdC1ob3QtY29ybmVyLyAuIiwKICAibmFtZSI6ICJIaWRlIEFjdGl2aXRpZXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiSGlkZV9BY3Rpdml0aWVzQHNoYXkuc2hheWVsLm9yZyIsCiAgInZlcnNpb24iOiAxMgp9"}}}
+, {"uuid": "Hide_Activities@shay.shayel.org", "name": "Hide Activities Button", "pname": "hide-activities-button", "description": "Hides the Activities button from the status bar (the hot corner and keyboard shortcut keeps working). To disable top left hot corner use 'No Topleft Hot Corner' extension — https://extensions.gnome.org/extension/118/no-topleft-hot-corner/ .", "link": "https://extensions.gnome.org/extension/744/hide-activities-button/", "shell_version_map": {"38": {"version": "13", "sha256": "0kr8ygb5wv2p2fzkd5gm7v9kcc54mdcrb4v1v3x1sniqgq69d856", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBmcm9tIHRoZSBzdGF0dXMgYmFyICh0aGUgaG90IGNvcm5lciBhbmQga2V5Ym9hcmQgc2hvcnRjdXQga2VlcHMgd29ya2luZykuIFRvIGRpc2FibGUgdG9wIGxlZnQgaG90IGNvcm5lciB1c2UgJ05vIFRvcGxlZnQgSG90IENvcm5lcicgZXh0ZW5zaW9uIFx1MjAxNCBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTgvbm8tdG9wbGVmdC1ob3QtY29ybmVyLyAuIiwKICAibmFtZSI6ICJIaWRlIEFjdGl2aXRpZXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIkhpZGVfQWN0aXZpdGllc0BzaGF5LnNoYXllbC5vcmciLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "40": {"version": "13", "sha256": "0kr8ygb5wv2p2fzkd5gm7v9kcc54mdcrb4v1v3x1sniqgq69d856", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBmcm9tIHRoZSBzdGF0dXMgYmFyICh0aGUgaG90IGNvcm5lciBhbmQga2V5Ym9hcmQgc2hvcnRjdXQga2VlcHMgd29ya2luZykuIFRvIGRpc2FibGUgdG9wIGxlZnQgaG90IGNvcm5lciB1c2UgJ05vIFRvcGxlZnQgSG90IENvcm5lcicgZXh0ZW5zaW9uIFx1MjAxNCBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTgvbm8tdG9wbGVmdC1ob3QtY29ybmVyLyAuIiwKICAibmFtZSI6ICJIaWRlIEFjdGl2aXRpZXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIkhpZGVfQWN0aXZpdGllc0BzaGF5LnNoYXllbC5vcmciLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "41": {"version": "13", "sha256": "0kr8ygb5wv2p2fzkd5gm7v9kcc54mdcrb4v1v3x1sniqgq69d856", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBmcm9tIHRoZSBzdGF0dXMgYmFyICh0aGUgaG90IGNvcm5lciBhbmQga2V5Ym9hcmQgc2hvcnRjdXQga2VlcHMgd29ya2luZykuIFRvIGRpc2FibGUgdG9wIGxlZnQgaG90IGNvcm5lciB1c2UgJ05vIFRvcGxlZnQgSG90IENvcm5lcicgZXh0ZW5zaW9uIFx1MjAxNCBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTgvbm8tdG9wbGVmdC1ob3QtY29ybmVyLyAuIiwKICAibmFtZSI6ICJIaWRlIEFjdGl2aXRpZXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIkhpZGVfQWN0aXZpdGllc0BzaGF5LnNoYXllbC5vcmciLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "42": {"version": "13", "sha256": "0kr8ygb5wv2p2fzkd5gm7v9kcc54mdcrb4v1v3x1sniqgq69d856", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBmcm9tIHRoZSBzdGF0dXMgYmFyICh0aGUgaG90IGNvcm5lciBhbmQga2V5Ym9hcmQgc2hvcnRjdXQga2VlcHMgd29ya2luZykuIFRvIGRpc2FibGUgdG9wIGxlZnQgaG90IGNvcm5lciB1c2UgJ05vIFRvcGxlZnQgSG90IENvcm5lcicgZXh0ZW5zaW9uIFx1MjAxNCBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTgvbm8tdG9wbGVmdC1ob3QtY29ybmVyLyAuIiwKICAibmFtZSI6ICJIaWRlIEFjdGl2aXRpZXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIkhpZGVfQWN0aXZpdGllc0BzaGF5LnNoYXllbC5vcmciLAogICJ2ZXJzaW9uIjogMTMKfQ=="}}}
 , {"uuid": "openweather-extension@jenslody.de", "name": "OpenWeather", "pname": "openweather", "description": "Weather extension to display weather information from https://openweathermap.org/ or https://darksky.net for almost all locations in the world.\nFor openweathermap.org, you can either use the extensions default-key or register at https://openweathermap.org/appid and set the appropriate switch in the preferences dialog to \"off\".\nFor Dark Sky you have to register at https://darksky.net/dev/register and get a personal API-key.\n\nSince version 29 this extensions uses coordinates to store the locations and makes the names editable to support multiple weather-providers!\nIf you update from versions prior to 29 to 29 or greater (with darksky.net - support) you have to recreate your locations.", "link": "https://extensions.gnome.org/extension/750/openweather/", "shell_version_map": {"38": {"version": "105", "sha256": "0xqz924fxy201b0d9l8xn4ykwbsvgazrbc85mbjcqk4laizyn82a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldlYXRoZXIgZXh0ZW5zaW9uIHRvIGRpc3BsYXkgd2VhdGhlciBpbmZvcm1hdGlvbiBmcm9tIGh0dHBzOi8vb3BlbndlYXRoZXJtYXAub3JnLyBvciBodHRwczovL2Rhcmtza3kubmV0IGZvciBhbG1vc3QgYWxsIGxvY2F0aW9ucyBpbiB0aGUgd29ybGQuXG5Gb3Igb3BlbndlYXRoZXJtYXAub3JnLCB5b3UgY2FuIGVpdGhlciB1c2UgdGhlIGV4dGVuc2lvbnMgZGVmYXVsdC1rZXkgb3IgcmVnaXN0ZXIgYXQgaHR0cHM6Ly9vcGVud2VhdGhlcm1hcC5vcmcvYXBwaWQgYW5kIHNldCB0aGUgYXBwcm9wcmlhdGUgc3dpdGNoIGluIHRoZSBwcmVmZXJlbmNlcyBkaWFsb2cgdG8gXCJvZmZcIi5cbkZvciBEYXJrIFNreSB5b3UgaGF2ZSB0byByZWdpc3RlciBhdCBodHRwczovL2Rhcmtza3kubmV0L2Rldi9yZWdpc3RlciBhbmQgZ2V0IGEgcGVyc29uYWwgQVBJLWtleS5cblxuU2luY2UgdmVyc2lvbiAyOSB0aGlzIGV4dGVuc2lvbnMgdXNlcyBjb29yZGluYXRlcyB0byBzdG9yZSB0aGUgbG9jYXRpb25zIGFuZCBtYWtlcyB0aGUgbmFtZXMgZWRpdGFibGUgdG8gc3VwcG9ydCBtdWx0aXBsZSB3ZWF0aGVyLXByb3ZpZGVycyFcbklmIHlvdSB1cGRhdGUgZnJvbSB2ZXJzaW9ucyBwcmlvciB0byAyOSB0byAyOSBvciBncmVhdGVyICh3aXRoIGRhcmtza3kubmV0IC0gc3VwcG9ydCkgeW91IGhhdmUgdG8gcmVjcmVhdGUgeW91ciBsb2NhdGlvbnMuIiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJPcGVuV2VhdGhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2plbnNsb2R5L2dub21lLXNoZWxsLWV4dGVuc2lvbi1vcGVud2VhdGhlciIsCiAgInV1aWQiOiAib3BlbndlYXRoZXItZXh0ZW5zaW9uQGplbnNsb2R5LmRlIiwKICAidmVyc2lvbiI6IDEwNQp9"}, "40": {"version": "106", "sha256": "0xs7xd7rfy6lb4izmgsn9lwijbm93l3cpm6avy5jh19jlpq18nkv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldlYXRoZXIgZXh0ZW5zaW9uIHRvIGRpc3BsYXkgd2VhdGhlciBpbmZvcm1hdGlvbiBmcm9tIGh0dHBzOi8vb3BlbndlYXRoZXJtYXAub3JnLyBvciBodHRwczovL2Rhcmtza3kubmV0IGZvciBhbG1vc3QgYWxsIGxvY2F0aW9ucyBpbiB0aGUgd29ybGQuXG5Gb3Igb3BlbndlYXRoZXJtYXAub3JnLCB5b3UgY2FuIGVpdGhlciB1c2UgdGhlIGV4dGVuc2lvbnMgZGVmYXVsdC1rZXkgb3IgcmVnaXN0ZXIgYXQgaHR0cHM6Ly9vcGVud2VhdGhlcm1hcC5vcmcvYXBwaWQgYW5kIHNldCB0aGUgYXBwcm9wcmlhdGUgc3dpdGNoIGluIHRoZSBwcmVmZXJlbmNlcyBkaWFsb2cgdG8gXCJvZmZcIi5cbkZvciBEYXJrIFNreSB5b3UgaGF2ZSB0byByZWdpc3RlciBhdCBodHRwczovL2Rhcmtza3kubmV0L2Rldi9yZWdpc3RlciBhbmQgZ2V0IGEgcGVyc29uYWwgQVBJLWtleS5cblxuU2luY2UgdmVyc2lvbiAyOSB0aGlzIGV4dGVuc2lvbnMgdXNlcyBjb29yZGluYXRlcyB0byBzdG9yZSB0aGUgbG9jYXRpb25zIGFuZCBtYWtlcyB0aGUgbmFtZXMgZWRpdGFibGUgdG8gc3VwcG9ydCBtdWx0aXBsZSB3ZWF0aGVyLXByb3ZpZGVycyFcbklmIHlvdSB1cGRhdGUgZnJvbSB2ZXJzaW9ucyBwcmlvciB0byAyOSB0byAyOSBvciBncmVhdGVyICh3aXRoIGRhcmtza3kubmV0IC0gc3VwcG9ydCkgeW91IGhhdmUgdG8gcmVjcmVhdGUgeW91ciBsb2NhdGlvbnMuIiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJPcGVuV2VhdGhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qZW5zbG9keS9nbm9tZS1zaGVsbC1leHRlbnNpb24tb3BlbndlYXRoZXIiLAogICJ1dWlkIjogIm9wZW53ZWF0aGVyLWV4dGVuc2lvbkBqZW5zbG9keS5kZSIsCiAgInZlcnNpb24iOiAxMDYKfQ=="}}}
 , {"uuid": "audio-output-switcher@anduchs", "name": "Audio Output Switcher", "pname": "audio-output-switcher", "description": "Adds a switch for choosing audio output to the system menu.", "link": "https://extensions.gnome.org/extension/751/audio-output-switcher/", "shell_version_map": {"38": {"version": "19", "sha256": "02z1smlc0k308sr462l9pwf2gsldqdzjalbc364i4b7286qyakxc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzd2l0Y2ggZm9yIGNob29zaW5nIGF1ZGlvIG91dHB1dCB0byB0aGUgc3lzdGVtIG1lbnUuIiwKICAibmFtZSI6ICJBdWRpbyBPdXRwdXQgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9naXRodWIuY29tL2FkYXhpL2F1ZGlvLW91dHB1dC1zd2l0Y2hlciIsCiAgInV1aWQiOiAiYXVkaW8tb3V0cHV0LXN3aXRjaGVyQGFuZHVjaHMiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "40": {"version": "19", "sha256": "02z1smlc0k308sr462l9pwf2gsldqdzjalbc364i4b7286qyakxc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzd2l0Y2ggZm9yIGNob29zaW5nIGF1ZGlvIG91dHB1dCB0byB0aGUgc3lzdGVtIG1lbnUuIiwKICAibmFtZSI6ICJBdWRpbyBPdXRwdXQgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9naXRodWIuY29tL2FkYXhpL2F1ZGlvLW91dHB1dC1zd2l0Y2hlciIsCiAgInV1aWQiOiAiYXVkaW8tb3V0cHV0LXN3aXRjaGVyQGFuZHVjaHMiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "41": {"version": "19", "sha256": "02z1smlc0k308sr462l9pwf2gsldqdzjalbc364i4b7286qyakxc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzd2l0Y2ggZm9yIGNob29zaW5nIGF1ZGlvIG91dHB1dCB0byB0aGUgc3lzdGVtIG1lbnUuIiwKICAibmFtZSI6ICJBdWRpbyBPdXRwdXQgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9naXRodWIuY29tL2FkYXhpL2F1ZGlvLW91dHB1dC1zd2l0Y2hlciIsCiAgInV1aWQiOiAiYXVkaW8tb3V0cHV0LXN3aXRjaGVyQGFuZHVjaHMiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "42": {"version": "19", "sha256": "02z1smlc0k308sr462l9pwf2gsldqdzjalbc364i4b7286qyakxc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzd2l0Y2ggZm9yIGNob29zaW5nIGF1ZGlvIG91dHB1dCB0byB0aGUgc3lzdGVtIG1lbnUuIiwKICAibmFtZSI6ICJBdWRpbyBPdXRwdXQgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9naXRodWIuY29tL2FkYXhpL2F1ZGlvLW91dHB1dC1zd2l0Y2hlciIsCiAgInV1aWQiOiAiYXVkaW8tb3V0cHV0LXN3aXRjaGVyQGFuZHVjaHMiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
 , {"uuid": "hibernate-status@dromi", "name": "Hibernate Status Button", "pname": "hibernate-status-button", "description": "Adds a Hibernate button in Status menu. Using Alt modifier, you can also select Hybrid Sleep instead.", "link": "https://extensions.gnome.org/extension/755/hibernate-status-button/", "shell_version_map": {"38": {"version": "27", "sha256": "0yqzg2nz040vsv0ilwkjkza03qxns18gq4055gq0c3k051jy6d4v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBIaWJlcm5hdGUgYnV0dG9uIGluIFN0YXR1cyBtZW51LiBVc2luZyBBbHQgbW9kaWZpZXIsIHlvdSBjYW4gYWxzbyBzZWxlY3QgSHlicmlkIFNsZWVwIGluc3RlYWQuIiwKICAibmFtZSI6ICJIaWJlcm5hdGUgU3RhdHVzIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FyZWxhbmdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1oaWJlcm5hdGUtc3RhdHVzIiwKICAidXVpZCI6ICJoaWJlcm5hdGUtc3RhdHVzQGRyb21pIiwKICAidmVyc2lvbiI6IDI3Cn0="}, "40": {"version": "32", "sha256": "1jx687q54n14vyn8mmlzq6yrhg5ksda3cph26wzzdhd7nz940rv7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBIaWJlcm5hdGUgYnV0dG9uIGluIFN0YXR1cyBtZW51LiBVc2luZyBBbHQgbW9kaWZpZXIsIHlvdSBjYW4gYWxzbyBzZWxlY3QgSHlicmlkIFNsZWVwIGluc3RlYWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlLXN0YXR1cy1idXR0b24iLAogICJuYW1lIjogIkhpYmVybmF0ZSBTdGF0dXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcmVsYW5nZS9nbm9tZS1zaGVsbC1leHRlbnNpb24taGliZXJuYXRlLXN0YXR1cyIsCiAgInV1aWQiOiAiaGliZXJuYXRlLXN0YXR1c0Bkcm9taSIsCiAgInZlcnNpb24iOiAzMgp9"}, "41": {"version": "32", "sha256": "1jx687q54n14vyn8mmlzq6yrhg5ksda3cph26wzzdhd7nz940rv7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBIaWJlcm5hdGUgYnV0dG9uIGluIFN0YXR1cyBtZW51LiBVc2luZyBBbHQgbW9kaWZpZXIsIHlvdSBjYW4gYWxzbyBzZWxlY3QgSHlicmlkIFNsZWVwIGluc3RlYWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlLXN0YXR1cy1idXR0b24iLAogICJuYW1lIjogIkhpYmVybmF0ZSBTdGF0dXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hcmVsYW5nZS9nbm9tZS1zaGVsbC1leHRlbnNpb24taGliZXJuYXRlLXN0YXR1cyIsCiAgInV1aWQiOiAiaGliZXJuYXRlLXN0YXR1c0Bkcm9taSIsCiAgInZlcnNpb24iOiAzMgp9"}}}
@@ -87,12 +88,12 @@
 , {"uuid": "synaptic-button@fthx", "name": "Synaptic Button", "pname": "synaptic-button", "description": "Button that directly starts Synaptic package manager.\n\n For snap management without Snap Store, consider Snap Manager extension.", "link": "https://extensions.gnome.org/extension/938/synaptic-button/", "shell_version_map": {"38": {"version": "4", "sha256": "0wdi35qz5rxs4fvcxlrvlyslrspsgfkryvh0na9vakbvhpmv7skv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJ1dHRvbiB0aGF0IGRpcmVjdGx5IHN0YXJ0cyBTeW5hcHRpYyBwYWNrYWdlIG1hbmFnZXIuXG5cbiBGb3Igc25hcCBtYW5hZ2VtZW50IHdpdGhvdXQgU25hcCBTdG9yZSwgY29uc2lkZXIgU25hcCBNYW5hZ2VyIGV4dGVuc2lvbi4iLAogICJuYW1lIjogIlN5bmFwdGljIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvc3luYXB0aWMtYnV0dG9uIiwKICAidXVpZCI6ICJzeW5hcHRpYy1idXR0b25AZnRoeCIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "workspace_scroll@squgeim.com.np", "name": "Workspace Scroll", "pname": "workspace-scroll", "description": "Just scroll anywhere in the top panel to change the workspace.", "link": "https://extensions.gnome.org/extension/943/workspace-scroll/", "shell_version_map": {"40": {"version": "6", "sha256": "0pglhzy81zh9wwcmh1ynygkghq64s948k9qaa9vr3k514bq8b8n0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkp1c3Qgc2Nyb2xsIGFueXdoZXJlIGluIHRoZSB0b3AgcGFuZWwgdG8gY2hhbmdlIHRoZSB3b3Jrc3BhY2UuIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU2Nyb2xsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MC4yIiwKICAgICI0MC4zIiwKICAgICI0MS4wIiwKICAgICI0MC4xMCIsCiAgICAiNDAuNSIsCiAgICAiNDAuMTEiLAogICAgIjQwLjkiLAogICAgIjQwLjgiLAogICAgIjQwLjciLAogICAgIjQwLjYiLAogICAgIjQwLjQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zcXVnZWltL1dvcmtzcGFjZS1TY3JvbGwiLAogICJ1dWlkIjogIndvcmtzcGFjZV9zY3JvbGxAc3F1Z2VpbS5jb20ubnAiLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "0pglhzy81zh9wwcmh1ynygkghq64s948k9qaa9vr3k514bq8b8n0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkp1c3Qgc2Nyb2xsIGFueXdoZXJlIGluIHRoZSB0b3AgcGFuZWwgdG8gY2hhbmdlIHRoZSB3b3Jrc3BhY2UuIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU2Nyb2xsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MC4yIiwKICAgICI0MC4zIiwKICAgICI0MS4wIiwKICAgICI0MC4xMCIsCiAgICAiNDAuNSIsCiAgICAiNDAuMTEiLAogICAgIjQwLjkiLAogICAgIjQwLjgiLAogICAgIjQwLjciLAogICAgIjQwLjYiLAogICAgIjQwLjQiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zcXVnZWltL1dvcmtzcGFjZS1TY3JvbGwiLAogICJ1dWlkIjogIndvcmtzcGFjZV9zY3JvbGxAc3F1Z2VpbS5jb20ubnAiLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "cpupower@mko-sl.de", "name": "CPU Power Manager", "pname": "cpu-power-manager", "description": "Manage your CPU's frequency scaling driver", "link": "https://extensions.gnome.org/extension/945/cpu-power-manager/", "shell_version_map": {"38": {"version": "26", "sha256": "0w4py02s4xw3acl6iy7bamkbzd728ha908pjg5h9hjivqfbipd90", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSB5b3VyIENQVSdzIGZyZXF1ZW5jeSBzY2FsaW5nIGRyaXZlciIsCiAgImxvY2FsZWRpciI6ICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiQ1BVIFBvd2VyIE1hbmFnZXIiLAogICJzY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3B1cG93ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVpbnN0YXBlbC9jcHVwb3dlciIsCiAgInV1aWQiOiAiY3B1cG93ZXJAbWtvLXNsLmRlIiwKICAidmVyc2lvbiI6IDI2Cn0="}, "40": {"version": "26", "sha256": "0w4py02s4xw3acl6iy7bamkbzd728ha908pjg5h9hjivqfbipd90", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSB5b3VyIENQVSdzIGZyZXF1ZW5jeSBzY2FsaW5nIGRyaXZlciIsCiAgImxvY2FsZWRpciI6ICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiQ1BVIFBvd2VyIE1hbmFnZXIiLAogICJzY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3B1cG93ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVpbnN0YXBlbC9jcHVwb3dlciIsCiAgInV1aWQiOiAiY3B1cG93ZXJAbWtvLXNsLmRlIiwKICAidmVyc2lvbiI6IDI2Cn0="}}}
-, {"uuid": "world_clock_lite@ailin.nemui", "name": "Panel World Clock (Lite)", "pname": "panel-world-clock-lite", "description": "A world clock for the panel\n\nInstall gnome-clocks to get started!\nHint: Eiðar has the same time as UTC\n\nGnome ≤3.14? https://extensions.gnome.org/extension/697/panel-world-clock/", "link": "https://extensions.gnome.org/extension/946/panel-world-clock-lite/", "shell_version_map": {"38": {"version": "11", "sha256": "0sg76mlvyy0m6yqv6qrmyizhjd54qp8knra3z0sna1xxg0i51d42", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgd29ybGQgY2xvY2sgZm9yIHRoZSBwYW5lbFxuXG5JbnN0YWxsIGdub21lLWNsb2NrcyB0byBnZXQgc3RhcnRlZCFcbkhpbnQ6IEVpXHUwMGYwYXIgaGFzIHRoZSBzYW1lIHRpbWUgYXMgVVRDXG5cbkdub21lIFx1MjI2NDMuMTQ/IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzY5Ny9wYW5lbC13b3JsZC1jbG9jay8iLAogICJuYW1lIjogIlBhbmVsIFdvcmxkIENsb2NrIChMaXRlKSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3JsZC1jbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3b3JsZF9jbG9ja19saXRlQGFpbGluLm5lbXVpIiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "16", "sha256": "1yn28nhqkdpcr0s53wmxb4x9vnpbdz1mxaibkkdz5mnkzc9mz91g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgd29ybGQgY2xvY2sgZm9yIHRoZSBwYW5lbFxuXG5JbnN0YWxsIGdub21lLWNsb2NrcyB0byBnZXQgc3RhcnRlZCFcbkhpbnQ6IEVpXHUwMGYwYXIgaGFzIHRoZSBzYW1lIHRpbWUgYXMgVVRDXG5cbkdub21lIFx1MjI2NDMuMTQ/IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzY5Ny9wYW5lbC13b3JsZC1jbG9jay8iLAogICJuYW1lIjogIlBhbmVsIFdvcmxkIENsb2NrIChMaXRlKSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3JsZC1jbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIndvcmxkX2Nsb2NrX2xpdGVAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "41": {"version": "16", "sha256": "1yn28nhqkdpcr0s53wmxb4x9vnpbdz1mxaibkkdz5mnkzc9mz91g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgd29ybGQgY2xvY2sgZm9yIHRoZSBwYW5lbFxuXG5JbnN0YWxsIGdub21lLWNsb2NrcyB0byBnZXQgc3RhcnRlZCFcbkhpbnQ6IEVpXHUwMGYwYXIgaGFzIHRoZSBzYW1lIHRpbWUgYXMgVVRDXG5cbkdub21lIFx1MjI2NDMuMTQ/IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzY5Ny9wYW5lbC13b3JsZC1jbG9jay8iLAogICJuYW1lIjogIlBhbmVsIFdvcmxkIENsb2NrIChMaXRlKSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3JsZC1jbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIndvcmxkX2Nsb2NrX2xpdGVAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMTYKfQ=="}}}
+, {"uuid": "world_clock_lite@ailin.nemui", "name": "Panel World Clock (Lite)", "pname": "panel-world-clock-lite", "description": "A world clock for the panel\n\nInstall gnome-clocks to get started! (Flatpak or Snap versions NOT supported) \n\nGnome ≤3.14? https://extensions.gnome.org/extension/697/panel-world-clock/", "link": "https://extensions.gnome.org/extension/946/panel-world-clock-lite/", "shell_version_map": {"38": {"version": "11", "sha256": "0a6347p8s9iw1007yc7vlm3hy399prfvqm28ziy8wb8wmj5xd9rn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgd29ybGQgY2xvY2sgZm9yIHRoZSBwYW5lbFxuXG5JbnN0YWxsIGdub21lLWNsb2NrcyB0byBnZXQgc3RhcnRlZCEgKEZsYXRwYWsgb3IgU25hcCB2ZXJzaW9ucyBOT1Qgc3VwcG9ydGVkKSBcblxuR25vbWUgXHUyMjY0My4xND8gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNjk3L3BhbmVsLXdvcmxkLWNsb2NrLyIsCiAgIm5hbWUiOiAiUGFuZWwgV29ybGQgQ2xvY2sgKExpdGUpIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmxkLWNsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIndvcmxkX2Nsb2NrX2xpdGVAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "40": {"version": "18", "sha256": "0a5afpg22rg066jcr5ggbbn950kj7r14d9qicq2ffz6dqi5ms64x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgd29ybGQgY2xvY2sgZm9yIHRoZSBwYW5lbFxuXG5JbnN0YWxsIGdub21lLWNsb2NrcyB0byBnZXQgc3RhcnRlZCEgKEZsYXRwYWsgb3IgU25hcCB2ZXJzaW9ucyBOT1Qgc3VwcG9ydGVkKSBcblxuR25vbWUgXHUyMjY0My4xND8gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNjk3L3BhbmVsLXdvcmxkLWNsb2NrLyIsCiAgIm5hbWUiOiAiUGFuZWwgV29ybGQgQ2xvY2sgKExpdGUpIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmxkLWNsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIndvcmxkX2Nsb2NrX2xpdGVAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "41": {"version": "18", "sha256": "0a5afpg22rg066jcr5ggbbn950kj7r14d9qicq2ffz6dqi5ms64x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgd29ybGQgY2xvY2sgZm9yIHRoZSBwYW5lbFxuXG5JbnN0YWxsIGdub21lLWNsb2NrcyB0byBnZXQgc3RhcnRlZCEgKEZsYXRwYWsgb3IgU25hcCB2ZXJzaW9ucyBOT1Qgc3VwcG9ydGVkKSBcblxuR25vbWUgXHUyMjY0My4xND8gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNjk3L3BhbmVsLXdvcmxkLWNsb2NrLyIsCiAgIm5hbWUiOiAiUGFuZWwgV29ybGQgQ2xvY2sgKExpdGUpIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmxkLWNsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIndvcmxkX2Nsb2NrX2xpdGVAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "42": {"version": "18", "sha256": "0a5afpg22rg066jcr5ggbbn950kj7r14d9qicq2ffz6dqi5ms64x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgd29ybGQgY2xvY2sgZm9yIHRoZSBwYW5lbFxuXG5JbnN0YWxsIGdub21lLWNsb2NrcyB0byBnZXQgc3RhcnRlZCEgKEZsYXRwYWsgb3IgU25hcCB2ZXJzaW9ucyBOT1Qgc3VwcG9ydGVkKSBcblxuR25vbWUgXHUyMjY0My4xND8gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNjk3L3BhbmVsLXdvcmxkLWNsb2NrLyIsCiAgIm5hbWUiOiAiUGFuZWwgV29ybGQgQ2xvY2sgKExpdGUpIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmxkLWNsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIndvcmxkX2Nsb2NrX2xpdGVAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMTgKfQ=="}}}
 , {"uuid": "dim-on-battery@nailfarmer.nailfarmer.com", "name": "Dim On Battery Power", "pname": "dim-on-battery-power", "description": "Automatically dims the screen when the machine is running on battery power.", "link": "https://extensions.gnome.org/extension/947/dim-on-battery-power/", "shell_version_map": {"38": {"version": "26", "sha256": "0nh8z4by722b9f11lk8akgwz1d8dm1v4r4129lbbvfm2qgg2f1mi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgZGltcyB0aGUgc2NyZWVuIHdoZW4gdGhlIG1hY2hpbmUgaXMgcnVubmluZyBvbiBiYXR0ZXJ5IHBvd2VyLiIsCiAgIm5hbWUiOiAiRGltIE9uIEJhdHRlcnkgUG93ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL25haWxmYXJtZXIvZ25vbWUtc2hlbGwtZGltLW9uLWJhdHRlcnktZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJkaW0tb24tYmF0dGVyeUBuYWlsZmFybWVyLm5haWxmYXJtZXIuY29tIiwKICAidmVyc2lvbiI6IDI2Cn0="}, "40": {"version": "26", "sha256": "0nh8z4by722b9f11lk8akgwz1d8dm1v4r4129lbbvfm2qgg2f1mi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgZGltcyB0aGUgc2NyZWVuIHdoZW4gdGhlIG1hY2hpbmUgaXMgcnVubmluZyBvbiBiYXR0ZXJ5IHBvd2VyLiIsCiAgIm5hbWUiOiAiRGltIE9uIEJhdHRlcnkgUG93ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL25haWxmYXJtZXIvZ25vbWUtc2hlbGwtZGltLW9uLWJhdHRlcnktZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJkaW0tb24tYmF0dGVyeUBuYWlsZmFybWVyLm5haWxmYXJtZXIuY29tIiwKICAidmVyc2lvbiI6IDI2Cn0="}, "41": {"version": "26", "sha256": "0nh8z4by722b9f11lk8akgwz1d8dm1v4r4129lbbvfm2qgg2f1mi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgZGltcyB0aGUgc2NyZWVuIHdoZW4gdGhlIG1hY2hpbmUgaXMgcnVubmluZyBvbiBiYXR0ZXJ5IHBvd2VyLiIsCiAgIm5hbWUiOiAiRGltIE9uIEJhdHRlcnkgUG93ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL25haWxmYXJtZXIvZ25vbWUtc2hlbGwtZGltLW9uLWJhdHRlcnktZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJkaW0tb24tYmF0dGVyeUBuYWlsZmFybWVyLm5haWxmYXJtZXIuY29tIiwKICAidmVyc2lvbiI6IDI2Cn0="}}}
 , {"uuid": "bottompanel@tmoer93", "name": "BottomPanel", "pname": "bottompanel", "description": "Moves the GNOME panel to the bottom of the screen\n\nSource here: https://github.com/Thoma5/gnome-shell-extension-bottompanel", "link": "https://extensions.gnome.org/extension/949/bottompanel/", "shell_version_map": {"38": {"version": "11", "sha256": "0r4z1pww6w8q0f7gzsmc363hd2178r40ifsppyigj67mwwik3mkq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRoZSBHTk9NRSBwYW5lbCB0byB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW5cblxuU291cmNlIGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9UaG9tYTUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWJvdHRvbXBhbmVsIiwKICAibmFtZSI6ICJCb3R0b21QYW5lbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJib3R0b21wYW5lbEB0bW9lcjkzIiwKICAidmVyc2lvbiI6IDExCn0="}}}
 , {"uuid": "dejadup-backup@fthx", "name": "Déjà Dup Backup Button", "pname": "deja-dup-backup-button", "description": "Button that directly starts Déjà Dup backup, following Déjà Dup backup settings.\n\n It simply runs 'deja-dup --backup' and shows Déjà Dup window during backup.", "link": "https://extensions.gnome.org/extension/955/deja-dup-backup-button/", "shell_version_map": {"38": {"version": "7", "sha256": "1d5xl18297zlw6g6jqwvwf32yiiqbz7jqyb4pz691d8ngqvvlwpp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJ1dHRvbiB0aGF0IGRpcmVjdGx5IHN0YXJ0cyBEXHUwMGU5alx1MDBlMCBEdXAgYmFja3VwLCBmb2xsb3dpbmcgRFx1MDBlOWpcdTAwZTAgRHVwIGJhY2t1cCBzZXR0aW5ncy5cblxuIEl0IHNpbXBseSBydW5zICdkZWphLWR1cCAtLWJhY2t1cCcgYW5kIHNob3dzIERcdTAwZTlqXHUwMGUwIER1cCB3aW5kb3cgZHVyaW5nIGJhY2t1cC4iLAogICJuYW1lIjogIkRcdTAwZTlqXHUwMGUwIER1cCBCYWNrdXAgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvZGVqYWR1cC1iYWNrdXAiLAogICJ1dWlkIjogImRlamFkdXAtYmFja3VwQGZ0aHgiLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "7", "sha256": "1d5xl18297zlw6g6jqwvwf32yiiqbz7jqyb4pz691d8ngqvvlwpp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJ1dHRvbiB0aGF0IGRpcmVjdGx5IHN0YXJ0cyBEXHUwMGU5alx1MDBlMCBEdXAgYmFja3VwLCBmb2xsb3dpbmcgRFx1MDBlOWpcdTAwZTAgRHVwIGJhY2t1cCBzZXR0aW5ncy5cblxuIEl0IHNpbXBseSBydW5zICdkZWphLWR1cCAtLWJhY2t1cCcgYW5kIHNob3dzIERcdTAwZTlqXHUwMGUwIER1cCB3aW5kb3cgZHVyaW5nIGJhY2t1cC4iLAogICJuYW1lIjogIkRcdTAwZTlqXHUwMGUwIER1cCBCYWNrdXAgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvZGVqYWR1cC1iYWNrdXAiLAogICJ1dWlkIjogImRlamFkdXAtYmFja3VwQGZ0aHgiLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "ISS_Above@mcepl.cepl.eu", "name": "ISS Above", "pname": "iss-above", "description": "Shows an icon when ISS is above you (+- 1000km)", "link": "https://extensions.gnome.org/extension/956/iss-above/", "shell_version_map": {"40": {"version": "4", "sha256": "00r5clklx8wbwdqyniz1lxf864jk71q7j36icq6jkp65v8av5cjn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGFuIGljb24gd2hlbiBJU1MgaXMgYWJvdmUgeW91ICgrLSAxMDAwa20pIiwKICAibmFtZSI6ICJJU1MgQWJvdmUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWNlcGwvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLUlTU19BYm92ZS8iLAogICJ1dWlkIjogIklTU19BYm92ZUBtY2VwbC5jZXBsLmV1IiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"uuid": "switcher@landau.fi", "name": "Switcher", "pname": "switcher", "description": "Switch windows or launch applications quickly by typing\n\nUse the configured global hotkey (Super+w by default) to open a list of current windows. Type a part of the name or title of the application window you want to activate and hit enter or click on the item you wish to activate. You can use the arrow keys to navigate among the filtered selection and type several space separated search terms to filter further. If your search matches launchable apps, those are shown in the list too. Use Esc or click anywhere outside the switcher to cancel.\n\nYou can customize the look and feel and functionality in the preferences.", "link": "https://extensions.gnome.org/extension/973/switcher/", "shell_version_map": {"38": {"version": "32", "sha256": "188bfj4b0kslja757fc70xhjqj5blk2jcdjfd2pvm6g2cxslfjg6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIGxhdW5jaCBhcHBsaWNhdGlvbnMgcXVpY2tseSBieSB0eXBpbmdcblxuVXNlIHRoZSBjb25maWd1cmVkIGdsb2JhbCBob3RrZXkgKFN1cGVyK3cgYnkgZGVmYXVsdCkgdG8gb3BlbiBhIGxpc3Qgb2YgY3VycmVudCB3aW5kb3dzLiBUeXBlIGEgcGFydCBvZiB0aGUgbmFtZSBvciB0aXRsZSBvZiB0aGUgYXBwbGljYXRpb24gd2luZG93IHlvdSB3YW50IHRvIGFjdGl2YXRlIGFuZCBoaXQgZW50ZXIgb3IgY2xpY2sgb24gdGhlIGl0ZW0geW91IHdpc2ggdG8gYWN0aXZhdGUuIFlvdSBjYW4gdXNlIHRoZSBhcnJvdyBrZXlzIHRvIG5hdmlnYXRlIGFtb25nIHRoZSBmaWx0ZXJlZCBzZWxlY3Rpb24gYW5kIHR5cGUgc2V2ZXJhbCBzcGFjZSBzZXBhcmF0ZWQgc2VhcmNoIHRlcm1zIHRvIGZpbHRlciBmdXJ0aGVyLiBJZiB5b3VyIHNlYXJjaCBtYXRjaGVzIGxhdW5jaGFibGUgYXBwcywgdGhvc2UgYXJlIHNob3duIGluIHRoZSBsaXN0IHRvby4gVXNlIEVzYyBvciBjbGljayBhbnl3aGVyZSBvdXRzaWRlIHRoZSBzd2l0Y2hlciB0byBjYW5jZWwuXG5cbllvdSBjYW4gY3VzdG9taXplIHRoZSBsb29rIGFuZCBmZWVsIGFuZCBmdW5jdGlvbmFsaXR5IGluIHRoZSBwcmVmZXJlbmNlcy4iLAogICJuYW1lIjogIlN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFuaWVsbGFuZGF1L3N3aXRjaGVyIiwKICAidXVpZCI6ICJzd2l0Y2hlckBsYW5kYXUuZmkiLAogICJ2ZXJzaW9uIjogMzIKfQ=="}, "40": {"version": "33", "sha256": "1dk91bvmjqr4hrsldb6ikvrd6ihk5flbg8wfhfnmq4c18kynsv9i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIGxhdW5jaCBhcHBsaWNhdGlvbnMgcXVpY2tseSBieSB0eXBpbmdcblxuVXNlIHRoZSBjb25maWd1cmVkIGdsb2JhbCBob3RrZXkgKFN1cGVyK3cgYnkgZGVmYXVsdCkgdG8gb3BlbiBhIGxpc3Qgb2YgY3VycmVudCB3aW5kb3dzLiBUeXBlIGEgcGFydCBvZiB0aGUgbmFtZSBvciB0aXRsZSBvZiB0aGUgYXBwbGljYXRpb24gd2luZG93IHlvdSB3YW50IHRvIGFjdGl2YXRlIGFuZCBoaXQgZW50ZXIgb3IgY2xpY2sgb24gdGhlIGl0ZW0geW91IHdpc2ggdG8gYWN0aXZhdGUuIFlvdSBjYW4gdXNlIHRoZSBhcnJvdyBrZXlzIHRvIG5hdmlnYXRlIGFtb25nIHRoZSBmaWx0ZXJlZCBzZWxlY3Rpb24gYW5kIHR5cGUgc2V2ZXJhbCBzcGFjZSBzZXBhcmF0ZWQgc2VhcmNoIHRlcm1zIHRvIGZpbHRlciBmdXJ0aGVyLiBJZiB5b3VyIHNlYXJjaCBtYXRjaGVzIGxhdW5jaGFibGUgYXBwcywgdGhvc2UgYXJlIHNob3duIGluIHRoZSBsaXN0IHRvby4gVXNlIEVzYyBvciBjbGljayBhbnl3aGVyZSBvdXRzaWRlIHRoZSBzd2l0Y2hlciB0byBjYW5jZWwuXG5cbllvdSBjYW4gY3VzdG9taXplIHRoZSBsb29rIGFuZCBmZWVsIGFuZCBmdW5jdGlvbmFsaXR5IGluIHRoZSBwcmVmZXJlbmNlcy4iLAogICJuYW1lIjogIlN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmllbGxhbmRhdS9zd2l0Y2hlciIsCiAgInV1aWQiOiAic3dpdGNoZXJAbGFuZGF1LmZpIiwKICAidmVyc2lvbiI6IDMzCn0="}, "41": {"version": "34", "sha256": "1bgj8w7qlz4kv70k6rjmm5f5rygn2n5fp0rd29jj1wfm50hfvzg1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIGxhdW5jaCBhcHBsaWNhdGlvbnMgcXVpY2tseSBieSB0eXBpbmdcblxuVXNlIHRoZSBjb25maWd1cmVkIGdsb2JhbCBob3RrZXkgKFN1cGVyK3cgYnkgZGVmYXVsdCkgdG8gb3BlbiBhIGxpc3Qgb2YgY3VycmVudCB3aW5kb3dzLiBUeXBlIGEgcGFydCBvZiB0aGUgbmFtZSBvciB0aXRsZSBvZiB0aGUgYXBwbGljYXRpb24gd2luZG93IHlvdSB3YW50IHRvIGFjdGl2YXRlIGFuZCBoaXQgZW50ZXIgb3IgY2xpY2sgb24gdGhlIGl0ZW0geW91IHdpc2ggdG8gYWN0aXZhdGUuIFlvdSBjYW4gdXNlIHRoZSBhcnJvdyBrZXlzIHRvIG5hdmlnYXRlIGFtb25nIHRoZSBmaWx0ZXJlZCBzZWxlY3Rpb24gYW5kIHR5cGUgc2V2ZXJhbCBzcGFjZSBzZXBhcmF0ZWQgc2VhcmNoIHRlcm1zIHRvIGZpbHRlciBmdXJ0aGVyLiBJZiB5b3VyIHNlYXJjaCBtYXRjaGVzIGxhdW5jaGFibGUgYXBwcywgdGhvc2UgYXJlIHNob3duIGluIHRoZSBsaXN0IHRvby4gVXNlIEVzYyBvciBjbGljayBhbnl3aGVyZSBvdXRzaWRlIHRoZSBzd2l0Y2hlciB0byBjYW5jZWwuXG5cbllvdSBjYW4gY3VzdG9taXplIHRoZSBsb29rIGFuZCBmZWVsIGFuZCBmdW5jdGlvbmFsaXR5IGluIHRoZSBwcmVmZXJlbmNlcy4iLAogICJuYW1lIjogIlN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmllbGxhbmRhdS9zd2l0Y2hlciIsCiAgInV1aWQiOiAic3dpdGNoZXJAbGFuZGF1LmZpIiwKICAidmVyc2lvbiI6IDM0Cn0="}}}
+, {"uuid": "switcher@landau.fi", "name": "Switcher", "pname": "switcher", "description": "Switch windows or launch applications quickly by typing\n\nUse the configured global hotkey (Super+w by default) to open a list of current windows. Type a part of the name or title of the application window you want to activate and hit enter or click on the item you wish to activate. You can use the arrow keys to navigate among the filtered selection and type several space separated search terms to filter further. If your search matches launchable apps, those are shown in the list too. Use Esc or click anywhere outside the switcher to cancel.\n\nYou can customize the look and feel and functionality in the preferences.", "link": "https://extensions.gnome.org/extension/973/switcher/", "shell_version_map": {"38": {"version": "32", "sha256": "188bfj4b0kslja757fc70xhjqj5blk2jcdjfd2pvm6g2cxslfjg6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIGxhdW5jaCBhcHBsaWNhdGlvbnMgcXVpY2tseSBieSB0eXBpbmdcblxuVXNlIHRoZSBjb25maWd1cmVkIGdsb2JhbCBob3RrZXkgKFN1cGVyK3cgYnkgZGVmYXVsdCkgdG8gb3BlbiBhIGxpc3Qgb2YgY3VycmVudCB3aW5kb3dzLiBUeXBlIGEgcGFydCBvZiB0aGUgbmFtZSBvciB0aXRsZSBvZiB0aGUgYXBwbGljYXRpb24gd2luZG93IHlvdSB3YW50IHRvIGFjdGl2YXRlIGFuZCBoaXQgZW50ZXIgb3IgY2xpY2sgb24gdGhlIGl0ZW0geW91IHdpc2ggdG8gYWN0aXZhdGUuIFlvdSBjYW4gdXNlIHRoZSBhcnJvdyBrZXlzIHRvIG5hdmlnYXRlIGFtb25nIHRoZSBmaWx0ZXJlZCBzZWxlY3Rpb24gYW5kIHR5cGUgc2V2ZXJhbCBzcGFjZSBzZXBhcmF0ZWQgc2VhcmNoIHRlcm1zIHRvIGZpbHRlciBmdXJ0aGVyLiBJZiB5b3VyIHNlYXJjaCBtYXRjaGVzIGxhdW5jaGFibGUgYXBwcywgdGhvc2UgYXJlIHNob3duIGluIHRoZSBsaXN0IHRvby4gVXNlIEVzYyBvciBjbGljayBhbnl3aGVyZSBvdXRzaWRlIHRoZSBzd2l0Y2hlciB0byBjYW5jZWwuXG5cbllvdSBjYW4gY3VzdG9taXplIHRoZSBsb29rIGFuZCBmZWVsIGFuZCBmdW5jdGlvbmFsaXR5IGluIHRoZSBwcmVmZXJlbmNlcy4iLAogICJuYW1lIjogIlN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFuaWVsbGFuZGF1L3N3aXRjaGVyIiwKICAidXVpZCI6ICJzd2l0Y2hlckBsYW5kYXUuZmkiLAogICJ2ZXJzaW9uIjogMzIKfQ=="}, "40": {"version": "33", "sha256": "1dk91bvmjqr4hrsldb6ikvrd6ihk5flbg8wfhfnmq4c18kynsv9i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIGxhdW5jaCBhcHBsaWNhdGlvbnMgcXVpY2tseSBieSB0eXBpbmdcblxuVXNlIHRoZSBjb25maWd1cmVkIGdsb2JhbCBob3RrZXkgKFN1cGVyK3cgYnkgZGVmYXVsdCkgdG8gb3BlbiBhIGxpc3Qgb2YgY3VycmVudCB3aW5kb3dzLiBUeXBlIGEgcGFydCBvZiB0aGUgbmFtZSBvciB0aXRsZSBvZiB0aGUgYXBwbGljYXRpb24gd2luZG93IHlvdSB3YW50IHRvIGFjdGl2YXRlIGFuZCBoaXQgZW50ZXIgb3IgY2xpY2sgb24gdGhlIGl0ZW0geW91IHdpc2ggdG8gYWN0aXZhdGUuIFlvdSBjYW4gdXNlIHRoZSBhcnJvdyBrZXlzIHRvIG5hdmlnYXRlIGFtb25nIHRoZSBmaWx0ZXJlZCBzZWxlY3Rpb24gYW5kIHR5cGUgc2V2ZXJhbCBzcGFjZSBzZXBhcmF0ZWQgc2VhcmNoIHRlcm1zIHRvIGZpbHRlciBmdXJ0aGVyLiBJZiB5b3VyIHNlYXJjaCBtYXRjaGVzIGxhdW5jaGFibGUgYXBwcywgdGhvc2UgYXJlIHNob3duIGluIHRoZSBsaXN0IHRvby4gVXNlIEVzYyBvciBjbGljayBhbnl3aGVyZSBvdXRzaWRlIHRoZSBzd2l0Y2hlciB0byBjYW5jZWwuXG5cbllvdSBjYW4gY3VzdG9taXplIHRoZSBsb29rIGFuZCBmZWVsIGFuZCBmdW5jdGlvbmFsaXR5IGluIHRoZSBwcmVmZXJlbmNlcy4iLAogICJuYW1lIjogIlN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmllbGxhbmRhdS9zd2l0Y2hlciIsCiAgInV1aWQiOiAic3dpdGNoZXJAbGFuZGF1LmZpIiwKICAidmVyc2lvbiI6IDMzCn0="}, "41": {"version": "34", "sha256": "1bgj8w7qlz4kv70k6rjmm5f5rygn2n5fp0rd29jj1wfm50hfvzg1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIGxhdW5jaCBhcHBsaWNhdGlvbnMgcXVpY2tseSBieSB0eXBpbmdcblxuVXNlIHRoZSBjb25maWd1cmVkIGdsb2JhbCBob3RrZXkgKFN1cGVyK3cgYnkgZGVmYXVsdCkgdG8gb3BlbiBhIGxpc3Qgb2YgY3VycmVudCB3aW5kb3dzLiBUeXBlIGEgcGFydCBvZiB0aGUgbmFtZSBvciB0aXRsZSBvZiB0aGUgYXBwbGljYXRpb24gd2luZG93IHlvdSB3YW50IHRvIGFjdGl2YXRlIGFuZCBoaXQgZW50ZXIgb3IgY2xpY2sgb24gdGhlIGl0ZW0geW91IHdpc2ggdG8gYWN0aXZhdGUuIFlvdSBjYW4gdXNlIHRoZSBhcnJvdyBrZXlzIHRvIG5hdmlnYXRlIGFtb25nIHRoZSBmaWx0ZXJlZCBzZWxlY3Rpb24gYW5kIHR5cGUgc2V2ZXJhbCBzcGFjZSBzZXBhcmF0ZWQgc2VhcmNoIHRlcm1zIHRvIGZpbHRlciBmdXJ0aGVyLiBJZiB5b3VyIHNlYXJjaCBtYXRjaGVzIGxhdW5jaGFibGUgYXBwcywgdGhvc2UgYXJlIHNob3duIGluIHRoZSBsaXN0IHRvby4gVXNlIEVzYyBvciBjbGljayBhbnl3aGVyZSBvdXRzaWRlIHRoZSBzd2l0Y2hlciB0byBjYW5jZWwuXG5cbllvdSBjYW4gY3VzdG9taXplIHRoZSBsb29rIGFuZCBmZWVsIGFuZCBmdW5jdGlvbmFsaXR5IGluIHRoZSBwcmVmZXJlbmNlcy4iLAogICJuYW1lIjogIlN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmllbGxhbmRhdS9zd2l0Y2hlciIsCiAgInV1aWQiOiAic3dpdGNoZXJAbGFuZGF1LmZpIiwKICAidmVyc2lvbiI6IDM0Cn0="}, "42": {"version": "35", "sha256": "1v5rd89ahmw8sisxa3ymyg4njfzjxan9qn5l8kfcsrh8fq210ggq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIGxhdW5jaCBhcHBsaWNhdGlvbnMgcXVpY2tseSBieSB0eXBpbmdcblxuVXNlIHRoZSBjb25maWd1cmVkIGdsb2JhbCBob3RrZXkgKFN1cGVyK3cgYnkgZGVmYXVsdCkgdG8gb3BlbiBhIGxpc3Qgb2YgY3VycmVudCB3aW5kb3dzLiBUeXBlIGEgcGFydCBvZiB0aGUgbmFtZSBvciB0aXRsZSBvZiB0aGUgYXBwbGljYXRpb24gd2luZG93IHlvdSB3YW50IHRvIGFjdGl2YXRlIGFuZCBoaXQgZW50ZXIgb3IgY2xpY2sgb24gdGhlIGl0ZW0geW91IHdpc2ggdG8gYWN0aXZhdGUuIFlvdSBjYW4gdXNlIHRoZSBhcnJvdyBrZXlzIHRvIG5hdmlnYXRlIGFtb25nIHRoZSBmaWx0ZXJlZCBzZWxlY3Rpb24gYW5kIHR5cGUgc2V2ZXJhbCBzcGFjZSBzZXBhcmF0ZWQgc2VhcmNoIHRlcm1zIHRvIGZpbHRlciBmdXJ0aGVyLiBJZiB5b3VyIHNlYXJjaCBtYXRjaGVzIGxhdW5jaGFibGUgYXBwcywgdGhvc2UgYXJlIHNob3duIGluIHRoZSBsaXN0IHRvby4gVXNlIEVzYyBvciBjbGljayBhbnl3aGVyZSBvdXRzaWRlIHRoZSBzd2l0Y2hlciB0byBjYW5jZWwuXG5cbllvdSBjYW4gY3VzdG9taXplIHRoZSBsb29rIGFuZCBmZWVsIGFuZCBmdW5jdGlvbmFsaXR5IGluIHRoZSBwcmVmZXJlbmNlcy4iLAogICJuYW1lIjogIlN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmllbGxhbmRhdS9zd2l0Y2hlciIsCiAgInV1aWQiOiAic3dpdGNoZXJAbGFuZGF1LmZpIiwKICAidmVyc2lvbiI6IDM1Cn0="}}}
 , {"uuid": "keyboard_modifiers_status@sneetsher", "name": "Keyboard Modifiers Status", "pname": "keyboard-modifiers-status", "description": "Shows keyboard modifiers status. It's useful when sticky keys are active.", "link": "https://extensions.gnome.org/extension/975/keyboard-modifiers-status/", "shell_version_map": {"38": {"version": "13", "sha256": "0wfwy67r53ilp96yig70nf75a4bxd7cmn8gbnqlpin8virv66kfh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGtleWJvYXJkIG1vZGlmaWVycyBzdGF0dXMuIEl0J3MgdXNlZnVsIHdoZW4gc3RpY2t5IGtleXMgYXJlIGFjdGl2ZS4iLAogICJuYW1lIjogIktleWJvYXJkIE1vZGlmaWVycyBTdGF0dXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic25lZXRzaGVyQGxvY2FsaG9zdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc25lZXRzaGVyL0tleWJvYXJkLU1vZGlmaWVycy1TdGF0dXMiLAogICJ1dWlkIjogImtleWJvYXJkX21vZGlmaWVyc19zdGF0dXNAc25lZXRzaGVyIiwKICAidmVyc2lvbiI6IDEzCn0="}, "40": {"version": "13", "sha256": "0wfwy67r53ilp96yig70nf75a4bxd7cmn8gbnqlpin8virv66kfh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGtleWJvYXJkIG1vZGlmaWVycyBzdGF0dXMuIEl0J3MgdXNlZnVsIHdoZW4gc3RpY2t5IGtleXMgYXJlIGFjdGl2ZS4iLAogICJuYW1lIjogIktleWJvYXJkIE1vZGlmaWVycyBTdGF0dXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic25lZXRzaGVyQGxvY2FsaG9zdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc25lZXRzaGVyL0tleWJvYXJkLU1vZGlmaWVycy1TdGF0dXMiLAogICJ1dWlkIjogImtleWJvYXJkX21vZGlmaWVyc19zdGF0dXNAc25lZXRzaGVyIiwKICAidmVyc2lvbiI6IDEzCn0="}, "41": {"version": "13", "sha256": "0wfwy67r53ilp96yig70nf75a4bxd7cmn8gbnqlpin8virv66kfh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGtleWJvYXJkIG1vZGlmaWVycyBzdGF0dXMuIEl0J3MgdXNlZnVsIHdoZW4gc3RpY2t5IGtleXMgYXJlIGFjdGl2ZS4iLAogICJuYW1lIjogIktleWJvYXJkIE1vZGlmaWVycyBTdGF0dXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic25lZXRzaGVyQGxvY2FsaG9zdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc25lZXRzaGVyL0tleWJvYXJkLU1vZGlmaWVycy1TdGF0dXMiLAogICJ1dWlkIjogImtleWJvYXJkX21vZGlmaWVyc19zdGF0dXNAc25lZXRzaGVyIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
 , {"uuid": "harddiskled@bijidroid.gmail.com", "name": "Harddisk LED", "pname": "harddisk-led", "description": "Show harddisk activity (IO speed read/write and LED). Click to change modes", "link": "https://extensions.gnome.org/extension/988/harddisk-led/", "shell_version_map": {"38": {"version": "29", "sha256": "0yzvkbbkhzqlq6kdnfmfv9p7ypybmz6hyy6ksgya63ql084780j2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgaGFyZGRpc2sgYWN0aXZpdHkgKElPIHNwZWVkIHJlYWQvd3JpdGUgYW5kIExFRCkuIENsaWNrIHRvIGNoYW5nZSBtb2RlcyIsCiAgIm5hbWUiOiAiSGFyZGRpc2sgTEVEIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iaWppL2hhcmRkaXNrbGVkIiwKICAidXVpZCI6ICJoYXJkZGlza2xlZEBiaWppZHJvaWQuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDI5Cn0="}, "40": {"version": "29", "sha256": "0yzvkbbkhzqlq6kdnfmfv9p7ypybmz6hyy6ksgya63ql084780j2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgaGFyZGRpc2sgYWN0aXZpdHkgKElPIHNwZWVkIHJlYWQvd3JpdGUgYW5kIExFRCkuIENsaWNrIHRvIGNoYW5nZSBtb2RlcyIsCiAgIm5hbWUiOiAiSGFyZGRpc2sgTEVEIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iaWppL2hhcmRkaXNrbGVkIiwKICAidXVpZCI6ICJoYXJkZGlza2xlZEBiaWppZHJvaWQuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDI5Cn0="}, "41": {"version": "29", "sha256": "0yzvkbbkhzqlq6kdnfmfv9p7ypybmz6hyy6ksgya63ql084780j2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgaGFyZGRpc2sgYWN0aXZpdHkgKElPIHNwZWVkIHJlYWQvd3JpdGUgYW5kIExFRCkuIENsaWNrIHRvIGNoYW5nZSBtb2RlcyIsCiAgIm5hbWUiOiAiSGFyZGRpc2sgTEVEIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iaWppL2hhcmRkaXNrbGVkIiwKICAidXVpZCI6ICJoYXJkZGlza2xlZEBiaWppZHJvaWQuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDI5Cn0="}, "42": {"version": "25", "sha256": "0gywazb991p8ngwhz9q4baifhhdi32ajxh82w9hr6y6437s8a1rs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgaGFyZGRpc2sgYWN0aXZpdHkgKElPIHNwZWVkIHJlYWQvd3JpdGUgYW5kIExFRCkuIENsaWNrIHRvIGNoYW5nZSBtb2RlcyIsCiAgIm5hbWUiOiAiSGFyZGRpc2sgTEVEIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiLAogICAgIjQ1IiwKICAgICI0NiIsCiAgICAiNDciLAogICAgIjQ4IiwKICAgICI0OSIsCiAgICAiNTAiLAogICAgIjUxIiwKICAgICI1MiIsCiAgICAiNTMiLAogICAgIjU0IiwKICAgICI1NSIsCiAgICAiNTYiLAogICAgIjU3IiwKICAgICI1OCIsCiAgICAiNTkiLAogICAgIjYwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmlqaS9oYXJkZGlza2xlZCIsCiAgInV1aWQiOiAiaGFyZGRpc2tsZWRAYmlqaWRyb2lkLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyNQp9"}}}
 , {"uuid": "syncthingicon@jay.strict@posteo.de", "name": "Syncthing Icon", "pname": "syncthing-icon", "description": "Display Syncthing Icon in Top Bar", "link": "https://extensions.gnome.org/extension/989/syncthing-icon/", "shell_version_map": {"40": {"version": "33", "sha256": "0lg2k9p033w9dff5g16xai9rvjmw85qvhrx17dw8f228nfm93fik", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgU3luY3RoaW5nIEljb24gaW4gVG9wIEJhciIsCiAgIm5hbWUiOiAiU3luY3RoaW5nIEljb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3luY3RoaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qYXlzdHJpY3Rvci9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3luY3RoaW5nIiwKICAidXVpZCI6ICJzeW5jdGhpbmdpY29uQGpheS5zdHJpY3RAcG9zdGVvLmRlIiwKICAidmVyc2lvbiI6IDMzCn0="}, "41": {"version": "33", "sha256": "0lg2k9p033w9dff5g16xai9rvjmw85qvhrx17dw8f228nfm93fik", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgU3luY3RoaW5nIEljb24gaW4gVG9wIEJhciIsCiAgIm5hbWUiOiAiU3luY3RoaW5nIEljb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3luY3RoaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qYXlzdHJpY3Rvci9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3luY3RoaW5nIiwKICAidXVpZCI6ICJzeW5jdGhpbmdpY29uQGpheS5zdHJpY3RAcG9zdGVvLmRlIiwKICAidmVyc2lvbiI6IDMzCn0="}}}
@@ -107,7 +108,7 @@
 , {"uuid": "timezone@jwendell", "name": "Timezone", "pname": "timezone", "description": "See people with their timezones from the Shell", "link": "https://extensions.gnome.org/extension/1060/timezone/", "shell_version_map": {"40": {"version": "18", "sha256": "1ksb8pm2y4lxjcwn2l0yj6piz5cqgmzx6k4rygx1mbh5y76mwdji", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlZSBwZW9wbGUgd2l0aCB0aGVpciB0aW1lem9uZXMgZnJvbSB0aGUgU2hlbGwiLAogICJuYW1lIjogIlRpbWV6b25lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRpbWV6b25lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2p3ZW5kZWxsL2dub21lLXNoZWxsLWV4dGVuc2lvbi10aW1lem9uZSIsCiAgInV1aWQiOiAidGltZXpvbmVAandlbmRlbGwiLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "41": {"version": "19", "sha256": "0mjqwf1i8arrvdhp8m17azh1xahrhxivncscb8shyq87817cfkp6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlZSBwZW9wbGUgd2l0aCB0aGVpciB0aW1lem9uZXMgZnJvbSB0aGUgU2hlbGwiLAogICJuYW1lIjogIlRpbWV6b25lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRpbWV6b25lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2p3ZW5kZWxsL2dub21lLXNoZWxsLWV4dGVuc2lvbi10aW1lem9uZSIsCiAgInV1aWQiOiAidGltZXpvbmVAandlbmRlbGwiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
 , {"uuid": "On_Screen_Keyboard_Button@bradan.eu", "name": "On Screen Keyboard Button", "pname": "on-screen-keyboard-button", "description": "Shows or hides the OSK via top bar button. It works with X, not with wayland. Wayland has it's own technique: swipe the keyboard up from the bottom display edge.\n\nSource code: https://github.com/Bradan/Gnome-On-Screen-Keyboard-Button", "link": "https://extensions.gnome.org/extension/1061/on-screen-keyboard-button/", "shell_version_map": {"38": {"version": "5", "sha256": "0z3jcv5gzv1pwfla9ghp5kjljc5n80fcab0d2c2i2pw7y7kvpabr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIG9yIGhpZGVzIHRoZSBPU0sgdmlhIHRvcCBiYXIgYnV0dG9uLiBJdCB3b3JrcyB3aXRoIFgsIG5vdCB3aXRoIHdheWxhbmQuIFdheWxhbmQgaGFzIGl0J3Mgb3duIHRlY2huaXF1ZTogc3dpcGUgdGhlIGtleWJvYXJkIHVwIGZyb20gdGhlIGJvdHRvbSBkaXNwbGF5IGVkZ2UuXG5cblNvdXJjZSBjb2RlOiBodHRwczovL2dpdGh1Yi5jb20vQnJhZGFuL0dub21lLU9uLVNjcmVlbi1LZXlib2FyZC1CdXR0b24iLAogICJuYW1lIjogIk9uIFNjcmVlbiBLZXlib2FyZCBCdXR0b24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjgiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiT25fU2NyZWVuX0tleWJvYXJkX0J1dHRvbkBicmFkYW4uZXUiLAogICJ2ZXJzaW9uIjogNQp9"}}}
 , {"uuid": "System_Monitor@bghome.gmail.com", "name": "System Monitor", "pname": "system-monitor", "description": "Display resource usage.\n\nLinux distribution specific installation instructions can be found in the wiki at https://github.com/elvetemedve/gnome-shell-extension-system-monitor/wiki/Installation.\n\nPlease report bugs here: https://github.com/elvetemedve/gnome-shell-extension-system-monitor/issues", "link": "https://extensions.gnome.org/extension/1064/system-monitor/", "shell_version_map": {"38": {"version": "23", "sha256": "09waxjwbdndqin023ns8vmazzxqqijyj95dp4yyha924vmkmpplx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgcmVzb3VyY2UgdXNhZ2UuXG5cbkxpbnV4IGRpc3RyaWJ1dGlvbiBzcGVjaWZpYyBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGNhbiBiZSBmb3VuZCBpbiB0aGUgd2lraSBhdCBodHRwczovL2dpdGh1Yi5jb20vZWx2ZXRlbWVkdmUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5c3RlbS1tb25pdG9yL3dpa2kvSW5zdGFsbGF0aW9uLlxuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2VsdmV0ZW1lZHZlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeXN0ZW0tbW9uaXRvci9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTeXN0ZW1fTW9uaXRvckBiZ2hvbWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJTeXN0ZW0gTW9uaXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zeXN0ZW0tbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lbHZldGVtZWR2ZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogIlN5c3RlbV9Nb25pdG9yQGJnaG9tZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjMKfQ=="}, "40": {"version": "23", "sha256": "09waxjwbdndqin023ns8vmazzxqqijyj95dp4yyha924vmkmpplx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgcmVzb3VyY2UgdXNhZ2UuXG5cbkxpbnV4IGRpc3RyaWJ1dGlvbiBzcGVjaWZpYyBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGNhbiBiZSBmb3VuZCBpbiB0aGUgd2lraSBhdCBodHRwczovL2dpdGh1Yi5jb20vZWx2ZXRlbWVkdmUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5c3RlbS1tb25pdG9yL3dpa2kvSW5zdGFsbGF0aW9uLlxuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2VsdmV0ZW1lZHZlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeXN0ZW0tbW9uaXRvci9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTeXN0ZW1fTW9uaXRvckBiZ2hvbWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJTeXN0ZW0gTW9uaXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zeXN0ZW0tbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lbHZldGVtZWR2ZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogIlN5c3RlbV9Nb25pdG9yQGJnaG9tZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjMKfQ=="}, "41": {"version": "23", "sha256": "09waxjwbdndqin023ns8vmazzxqqijyj95dp4yyha924vmkmpplx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgcmVzb3VyY2UgdXNhZ2UuXG5cbkxpbnV4IGRpc3RyaWJ1dGlvbiBzcGVjaWZpYyBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGNhbiBiZSBmb3VuZCBpbiB0aGUgd2lraSBhdCBodHRwczovL2dpdGh1Yi5jb20vZWx2ZXRlbWVkdmUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN5c3RlbS1tb25pdG9yL3dpa2kvSW5zdGFsbGF0aW9uLlxuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MgaGVyZTogaHR0cHM6Ly9naXRodWIuY29tL2VsdmV0ZW1lZHZlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeXN0ZW0tbW9uaXRvci9pc3N1ZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTeXN0ZW1fTW9uaXRvckBiZ2hvbWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJTeXN0ZW0gTW9uaXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zeXN0ZW0tbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lbHZldGVtZWR2ZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogIlN5c3RlbV9Nb25pdG9yQGJnaG9tZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjMKfQ=="}}}
-, {"uuid": "syncthing@gnome.2nv2u.com", "name": "Syncthing Indicator", "pname": "syncthing-indicator", "description": "Shell indicator for starting, monitoring and controlling the Syncthing daemon using SystemD", "link": "https://extensions.gnome.org/extension/1070/syncthing-indicator/", "shell_version_map": {"38": {"version": "24", "sha256": "0lb5ck3jdfsvjd0wc0miyxld4wa3y9lv10hamsksblx7gv6sqind", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGluZGljYXRvciBmb3Igc3RhcnRpbmcsIG1vbml0b3JpbmcgYW5kIGNvbnRyb2xsaW5nIHRoZSBTeW5jdGhpbmcgZGFlbW9uIHVzaW5nIFN5c3RlbUQiLAogICJuYW1lIjogIlN5bmN0aGluZyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tLzJudjJ1L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeW5jdGhpbmctaW5kaWNhdG9yIiwKICAidXVpZCI6ICJzeW5jdGhpbmdAZ25vbWUuMm52MnUuY29tIiwKICAidmVyc2lvbiI6IDI0Cn0="}, "40": {"version": "24", "sha256": "0lb5ck3jdfsvjd0wc0miyxld4wa3y9lv10hamsksblx7gv6sqind", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGluZGljYXRvciBmb3Igc3RhcnRpbmcsIG1vbml0b3JpbmcgYW5kIGNvbnRyb2xsaW5nIHRoZSBTeW5jdGhpbmcgZGFlbW9uIHVzaW5nIFN5c3RlbUQiLAogICJuYW1lIjogIlN5bmN0aGluZyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tLzJudjJ1L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeW5jdGhpbmctaW5kaWNhdG9yIiwKICAidXVpZCI6ICJzeW5jdGhpbmdAZ25vbWUuMm52MnUuY29tIiwKICAidmVyc2lvbiI6IDI0Cn0="}, "41": {"version": "24", "sha256": "0lb5ck3jdfsvjd0wc0miyxld4wa3y9lv10hamsksblx7gv6sqind", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGluZGljYXRvciBmb3Igc3RhcnRpbmcsIG1vbml0b3JpbmcgYW5kIGNvbnRyb2xsaW5nIHRoZSBTeW5jdGhpbmcgZGFlbW9uIHVzaW5nIFN5c3RlbUQiLAogICJuYW1lIjogIlN5bmN0aGluZyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tLzJudjJ1L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zeW5jdGhpbmctaW5kaWNhdG9yIiwKICAidXVpZCI6ICJzeW5jdGhpbmdAZ25vbWUuMm52MnUuY29tIiwKICAidmVyc2lvbiI6IDI0Cn0="}}}
+, {"uuid": "syncthing@gnome.2nv2u.com", "name": "Syncthing Indicator", "pname": "syncthing-indicator", "description": "Shell indicator for starting, monitoring and controlling the Syncthing daemon using SystemD", "link": "https://extensions.gnome.org/extension/1070/syncthing-indicator/", "shell_version_map": {"38": {"version": "25", "sha256": "14gq4b127yz7masllz4yxi0sk87cs34rhycn606a23bi24p213vl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGluZGljYXRvciBmb3Igc3RhcnRpbmcsIG1vbml0b3JpbmcgYW5kIGNvbnRyb2xsaW5nIHRoZSBTeW5jdGhpbmcgZGFlbW9uIHVzaW5nIFN5c3RlbUQiLAogICJuYW1lIjogIlN5bmN0aGluZyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS8ybnYydS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3luY3RoaW5nLWluZGljYXRvciIsCiAgInV1aWQiOiAic3luY3RoaW5nQGdub21lLjJudjJ1LmNvbSIsCiAgInZlcnNpb24iOiAyNQp9"}, "40": {"version": "25", "sha256": "14gq4b127yz7masllz4yxi0sk87cs34rhycn606a23bi24p213vl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGluZGljYXRvciBmb3Igc3RhcnRpbmcsIG1vbml0b3JpbmcgYW5kIGNvbnRyb2xsaW5nIHRoZSBTeW5jdGhpbmcgZGFlbW9uIHVzaW5nIFN5c3RlbUQiLAogICJuYW1lIjogIlN5bmN0aGluZyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS8ybnYydS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3luY3RoaW5nLWluZGljYXRvciIsCiAgInV1aWQiOiAic3luY3RoaW5nQGdub21lLjJudjJ1LmNvbSIsCiAgInZlcnNpb24iOiAyNQp9"}, "41": {"version": "25", "sha256": "14gq4b127yz7masllz4yxi0sk87cs34rhycn606a23bi24p213vl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGluZGljYXRvciBmb3Igc3RhcnRpbmcsIG1vbml0b3JpbmcgYW5kIGNvbnRyb2xsaW5nIHRoZSBTeW5jdGhpbmcgZGFlbW9uIHVzaW5nIFN5c3RlbUQiLAogICJuYW1lIjogIlN5bmN0aGluZyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS8ybnYydS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3luY3RoaW5nLWluZGljYXRvciIsCiAgInV1aWQiOiAic3luY3RoaW5nQGdub21lLjJudjJ1LmNvbSIsCiAgInZlcnNpb24iOiAyNQp9"}, "42": {"version": "25", "sha256": "14gq4b127yz7masllz4yxi0sk87cs34rhycn606a23bi24p213vl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNoZWxsIGluZGljYXRvciBmb3Igc3RhcnRpbmcsIG1vbml0b3JpbmcgYW5kIGNvbnRyb2xsaW5nIHRoZSBTeW5jdGhpbmcgZGFlbW9uIHVzaW5nIFN5c3RlbUQiLAogICJuYW1lIjogIlN5bmN0aGluZyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS8ybnYydS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3luY3RoaW5nLWluZGljYXRvciIsCiAgInV1aWQiOiAic3luY3RoaW5nQGdub21lLjJudjJ1LmNvbSIsCiAgInZlcnNpb24iOiAyNQp9"}}}
 , {"uuid": "applications-overview-tooltip@RaphaelRochet", "name": "Applications Overview Tooltip", "pname": "applications-overview-tooltip", "description": "Shows a tooltip over applications icons on applications overview with application name and/or description.", "link": "https://extensions.gnome.org/extension/1071/applications-overview-tooltip/", "shell_version_map": {"38": {"version": "11", "sha256": "0alvg0l46hls3jz3a5ic21fgbjbg0kv0nn0pkknzsgjfw5mmwz69", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgdG9vbHRpcCBvdmVyIGFwcGxpY2F0aW9ucyBpY29ucyBvbiBhcHBsaWNhdGlvbnMgb3ZlcnZpZXcgd2l0aCBhcHBsaWNhdGlvbiBuYW1lIGFuZC9vciBkZXNjcmlwdGlvbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhcHBsaWNhdGlvbnMtb3ZlcnZpZXctdG9vbHRpcCIsCiAgIm5hbWUiOiAiQXBwbGljYXRpb25zIE92ZXJ2aWV3IFRvb2x0aXAiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwbGljYXRpb25zLW92ZXJ2aWV3LXRvb2x0aXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9SYXBoYWVsUm9jaGV0L2FwcGxpY2F0aW9ucy1vdmVydmlldy10b29sdGlwIiwKICAidXVpZCI6ICJhcHBsaWNhdGlvbnMtb3ZlcnZpZXctdG9vbHRpcEBSYXBoYWVsUm9jaGV0IiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "14", "sha256": "1vv5hvmg987vp8rdyvfff089h99m8xqrhyfbrgbipgy7862yf6lq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgdG9vbHRpcCBvdmVyIGFwcGxpY2F0aW9ucyBpY29ucyBvbiBhcHBsaWNhdGlvbnMgb3ZlcnZpZXcgd2l0aCBhcHBsaWNhdGlvbiBuYW1lIGFuZC9vciBkZXNjcmlwdGlvbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhcHBsaWNhdGlvbnMtb3ZlcnZpZXctdG9vbHRpcCIsCiAgIm5hbWUiOiAiQXBwbGljYXRpb25zIE92ZXJ2aWV3IFRvb2x0aXAiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwbGljYXRpb25zLW92ZXJ2aWV3LXRvb2x0aXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JhcGhhZWxSb2NoZXQvYXBwbGljYXRpb25zLW92ZXJ2aWV3LXRvb2x0aXAiLAogICJ1dWlkIjogImFwcGxpY2F0aW9ucy1vdmVydmlldy10b29sdGlwQFJhcGhhZWxSb2NoZXQiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "41": {"version": "14", "sha256": "1vv5hvmg987vp8rdyvfff089h99m8xqrhyfbrgbipgy7862yf6lq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgdG9vbHRpcCBvdmVyIGFwcGxpY2F0aW9ucyBpY29ucyBvbiBhcHBsaWNhdGlvbnMgb3ZlcnZpZXcgd2l0aCBhcHBsaWNhdGlvbiBuYW1lIGFuZC9vciBkZXNjcmlwdGlvbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhcHBsaWNhdGlvbnMtb3ZlcnZpZXctdG9vbHRpcCIsCiAgIm5hbWUiOiAiQXBwbGljYXRpb25zIE92ZXJ2aWV3IFRvb2x0aXAiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwbGljYXRpb25zLW92ZXJ2aWV3LXRvb2x0aXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JhcGhhZWxSb2NoZXQvYXBwbGljYXRpb25zLW92ZXJ2aWV3LXRvb2x0aXAiLAogICJ1dWlkIjogImFwcGxpY2F0aW9ucy1vdmVydmlldy10b29sdGlwQFJhcGhhZWxSb2NoZXQiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
 , {"uuid": "TwitchLive_Panel@extensions.maweki.de", "name": "TwitchLive Panel", "pname": "twitchlive-panel", "description": "A panel showing whether your favorite Twitch.tv streamers are streaming.\n\nCycles through the online streamers if multiples are configured. Click on the panel and then on streamer's name to launch the stream with a custom command (your browser or some other application).\n\nNeeds curl and mogrify to fully support streamer logos. For an extension version compatible with shell version 3.30 or earlier visit our github page.", "link": "https://extensions.gnome.org/extension/1078/twitchlive-panel/", "shell_version_map": {"40": {"version": "37", "sha256": "0g1s5f3si8hlgf3m033c1c9fxydhs3wcykf4rr1pkzd54q6a8vq9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgcGFuZWwgc2hvd2luZyB3aGV0aGVyIHlvdXIgZmF2b3JpdGUgVHdpdGNoLnR2IHN0cmVhbWVycyBhcmUgc3RyZWFtaW5nLlxuXG5DeWNsZXMgdGhyb3VnaCB0aGUgb25saW5lIHN0cmVhbWVycyBpZiBtdWx0aXBsZXMgYXJlIGNvbmZpZ3VyZWQuIENsaWNrIG9uIHRoZSBwYW5lbCBhbmQgdGhlbiBvbiBzdHJlYW1lcidzIG5hbWUgdG8gbGF1bmNoIHRoZSBzdHJlYW0gd2l0aCBhIGN1c3RvbSBjb21tYW5kICh5b3VyIGJyb3dzZXIgb3Igc29tZSBvdGhlciBhcHBsaWNhdGlvbikuXG5cbk5lZWRzIGN1cmwgYW5kIG1vZ3JpZnkgdG8gZnVsbHkgc3VwcG9ydCBzdHJlYW1lciBsb2dvcy4gRm9yIGFuIGV4dGVuc2lvbiB2ZXJzaW9uIGNvbXBhdGlibGUgd2l0aCBzaGVsbCB2ZXJzaW9uIDMuMzAgb3IgZWFybGllciB2aXNpdCBvdXIgZ2l0aHViIHBhZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidHdpdGNobGl2ZSIsCiAgIm5hbWUiOiAiVHdpdGNoTGl2ZSBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2l0Y2hsaXZlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYXdla2kvdHdpdGNobGl2ZS1leHRlbnNpb24iLAogICJ1dWlkIjogIlR3aXRjaExpdmVfUGFuZWxAZXh0ZW5zaW9ucy5tYXdla2kuZGUiLAogICJ2ZXJzaW9uIjogMzcKfQ=="}, "41": {"version": "37", "sha256": "0g1s5f3si8hlgf3m033c1c9fxydhs3wcykf4rr1pkzd54q6a8vq9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgcGFuZWwgc2hvd2luZyB3aGV0aGVyIHlvdXIgZmF2b3JpdGUgVHdpdGNoLnR2IHN0cmVhbWVycyBhcmUgc3RyZWFtaW5nLlxuXG5DeWNsZXMgdGhyb3VnaCB0aGUgb25saW5lIHN0cmVhbWVycyBpZiBtdWx0aXBsZXMgYXJlIGNvbmZpZ3VyZWQuIENsaWNrIG9uIHRoZSBwYW5lbCBhbmQgdGhlbiBvbiBzdHJlYW1lcidzIG5hbWUgdG8gbGF1bmNoIHRoZSBzdHJlYW0gd2l0aCBhIGN1c3RvbSBjb21tYW5kICh5b3VyIGJyb3dzZXIgb3Igc29tZSBvdGhlciBhcHBsaWNhdGlvbikuXG5cbk5lZWRzIGN1cmwgYW5kIG1vZ3JpZnkgdG8gZnVsbHkgc3VwcG9ydCBzdHJlYW1lciBsb2dvcy4gRm9yIGFuIGV4dGVuc2lvbiB2ZXJzaW9uIGNvbXBhdGlibGUgd2l0aCBzaGVsbCB2ZXJzaW9uIDMuMzAgb3IgZWFybGllciB2aXNpdCBvdXIgZ2l0aHViIHBhZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidHdpdGNobGl2ZSIsCiAgIm5hbWUiOiAiVHdpdGNoTGl2ZSBQYW5lbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2l0Y2hsaXZlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYXdla2kvdHdpdGNobGl2ZS1leHRlbnNpb24iLAogICJ1dWlkIjogIlR3aXRjaExpdmVfUGFuZWxAZXh0ZW5zaW9ucy5tYXdla2kuZGUiLAogICJ2ZXJzaW9uIjogMzcKfQ=="}}}
 , {"uuid": "cpufreq@konkor", "name": "cpufreq", "pname": "cpufreq", "description": "System Monitor and Power Manager.\n\nThis is a lightweight system monitor and power management tool. It needs root permission to able changing governors.\n\nFeatures:\n⚫ Compatible with many hardware architectures;\n⚫ CPU Frequency monitoring;\n⚫ CPU Governor management;\n⚫ CPU Frequency speed limits;\n⚫ CPU Boost supporting;\n⚫ CPU Core Power on/off;\n⚫ Saving/Restoring settings...\n\nFor more information and how-to see README.md", "link": "https://extensions.gnome.org/extension/1082/cpufreq/", "shell_version_map": {"38": {"version": "51", "sha256": "1i6lwb82j21qx38gxy1rdv2bgn2rh6qf9hswasbf26g9k3ay3w1n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5c3RlbSBNb25pdG9yIGFuZCBQb3dlciBNYW5hZ2VyLlxuXG5UaGlzIGlzIGEgbGlnaHR3ZWlnaHQgc3lzdGVtIG1vbml0b3IgYW5kIHBvd2VyIG1hbmFnZW1lbnQgdG9vbC4gSXQgbmVlZHMgcm9vdCBwZXJtaXNzaW9uIHRvIGFibGUgY2hhbmdpbmcgZ292ZXJub3JzLlxuXG5GZWF0dXJlczpcblx1MjZhYiBDb21wYXRpYmxlIHdpdGggbWFueSBoYXJkd2FyZSBhcmNoaXRlY3R1cmVzO1xuXHUyNmFiIENQVSBGcmVxdWVuY3kgbW9uaXRvcmluZztcblx1MjZhYiBDUFUgR292ZXJub3IgbWFuYWdlbWVudDtcblx1MjZhYiBDUFUgRnJlcXVlbmN5IHNwZWVkIGxpbWl0cztcblx1MjZhYiBDUFUgQm9vc3Qgc3VwcG9ydGluZztcblx1MjZhYiBDUFUgQ29yZSBQb3dlciBvbi9vZmY7XG5cdTI2YWIgU2F2aW5nL1Jlc3RvcmluZyBzZXR0aW5ncy4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJuYW1lIjogImNwdWZyZXEiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3B1ZnJlcSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29ua29yL2NwdWZyZXEiLAogICJ1dWlkIjogImNwdWZyZXFAa29ua29yIiwKICAidmVyc2lvbiI6IDUxCn0="}, "40": {"version": "51", "sha256": "1i6lwb82j21qx38gxy1rdv2bgn2rh6qf9hswasbf26g9k3ay3w1n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5c3RlbSBNb25pdG9yIGFuZCBQb3dlciBNYW5hZ2VyLlxuXG5UaGlzIGlzIGEgbGlnaHR3ZWlnaHQgc3lzdGVtIG1vbml0b3IgYW5kIHBvd2VyIG1hbmFnZW1lbnQgdG9vbC4gSXQgbmVlZHMgcm9vdCBwZXJtaXNzaW9uIHRvIGFibGUgY2hhbmdpbmcgZ292ZXJub3JzLlxuXG5GZWF0dXJlczpcblx1MjZhYiBDb21wYXRpYmxlIHdpdGggbWFueSBoYXJkd2FyZSBhcmNoaXRlY3R1cmVzO1xuXHUyNmFiIENQVSBGcmVxdWVuY3kgbW9uaXRvcmluZztcblx1MjZhYiBDUFUgR292ZXJub3IgbWFuYWdlbWVudDtcblx1MjZhYiBDUFUgRnJlcXVlbmN5IHNwZWVkIGxpbWl0cztcblx1MjZhYiBDUFUgQm9vc3Qgc3VwcG9ydGluZztcblx1MjZhYiBDUFUgQ29yZSBQb3dlciBvbi9vZmY7XG5cdTI2YWIgU2F2aW5nL1Jlc3RvcmluZyBzZXR0aW5ncy4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJuYW1lIjogImNwdWZyZXEiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3B1ZnJlcSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29ua29yL2NwdWZyZXEiLAogICJ1dWlkIjogImNwdWZyZXFAa29ua29yIiwKICAidmVyc2lvbiI6IDUxCn0="}, "41": {"version": "51", "sha256": "1i6lwb82j21qx38gxy1rdv2bgn2rh6qf9hswasbf26g9k3ay3w1n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5c3RlbSBNb25pdG9yIGFuZCBQb3dlciBNYW5hZ2VyLlxuXG5UaGlzIGlzIGEgbGlnaHR3ZWlnaHQgc3lzdGVtIG1vbml0b3IgYW5kIHBvd2VyIG1hbmFnZW1lbnQgdG9vbC4gSXQgbmVlZHMgcm9vdCBwZXJtaXNzaW9uIHRvIGFibGUgY2hhbmdpbmcgZ292ZXJub3JzLlxuXG5GZWF0dXJlczpcblx1MjZhYiBDb21wYXRpYmxlIHdpdGggbWFueSBoYXJkd2FyZSBhcmNoaXRlY3R1cmVzO1xuXHUyNmFiIENQVSBGcmVxdWVuY3kgbW9uaXRvcmluZztcblx1MjZhYiBDUFUgR292ZXJub3IgbWFuYWdlbWVudDtcblx1MjZhYiBDUFUgRnJlcXVlbmN5IHNwZWVkIGxpbWl0cztcblx1MjZhYiBDUFUgQm9vc3Qgc3VwcG9ydGluZztcblx1MjZhYiBDUFUgQ29yZSBQb3dlciBvbi9vZmY7XG5cdTI2YWIgU2F2aW5nL1Jlc3RvcmluZyBzZXR0aW5ncy4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJuYW1lIjogImNwdWZyZXEiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3B1ZnJlcSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29ua29yL2NwdWZyZXEiLAogICJ1dWlkIjogImNwdWZyZXFAa29ua29yIiwKICAidmVyc2lvbiI6IDUxCn0="}}}
@@ -118,32 +119,32 @@
 , {"uuid": "add-username-toppanel@brendaw.com", "name": "Add Username to Top Panel", "pname": "add-username-to-top-panel", "description": "Simply add your username to topbar panel aggregate menu", "link": "https://extensions.gnome.org/extension/1108/add-username-to-top-panel/", "shell_version_map": {"38": {"version": "4", "sha256": "1b2p8924id4shzpvj58958r7j422ppkw7bsfmng9sq25k3w4xvb3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBseSBhZGQgeW91ciB1c2VybmFtZSB0byB0b3BiYXIgcGFuZWwgYWdncmVnYXRlIG1lbnUiLAogICJuYW1lIjogIkFkZCBVc2VybmFtZSB0byBUb3AgUGFuZWwiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIndpbGxpYW1icmVuZGF3QHByb3Rvbm1haWwuY29tIgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4yMC40IiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9icmVuZGF3L2FkZC11c2VybmFtZS10b3BwYW5lbCIsCiAgInV1aWQiOiAiYWRkLXVzZXJuYW1lLXRvcHBhbmVsQGJyZW5kYXcuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "1b2p8924id4shzpvj58958r7j422ppkw7bsfmng9sq25k3w4xvb3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBseSBhZGQgeW91ciB1c2VybmFtZSB0byB0b3BiYXIgcGFuZWwgYWdncmVnYXRlIG1lbnUiLAogICJuYW1lIjogIkFkZCBVc2VybmFtZSB0byBUb3AgUGFuZWwiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIndpbGxpYW1icmVuZGF3QHByb3Rvbm1haWwuY29tIgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4yMC40IiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9icmVuZGF3L2FkZC11c2VybmFtZS10b3BwYW5lbCIsCiAgInV1aWQiOiAiYWRkLXVzZXJuYW1lLXRvcHBhbmVsQGJyZW5kYXcuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1b2p8924id4shzpvj58958r7j422ppkw7bsfmng9sq25k3w4xvb3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBseSBhZGQgeW91ciB1c2VybmFtZSB0byB0b3BiYXIgcGFuZWwgYWdncmVnYXRlIG1lbnUiLAogICJuYW1lIjogIkFkZCBVc2VybmFtZSB0byBUb3AgUGFuZWwiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIndpbGxpYW1icmVuZGF3QHByb3Rvbm1haWwuY29tIgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4yMC40IiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9icmVuZGF3L2FkZC11c2VybmFtZS10b3BwYW5lbCIsCiAgInV1aWQiOiAiYWRkLXVzZXJuYW1lLXRvcHBhbmVsQGJyZW5kYXcuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "Hide_Clock@grantmcwilliams.com", "name": "Hide Clock", "pname": "hide-clock", "description": "Hide title bar clock", "link": "https://extensions.gnome.org/extension/1110/hide-clock/", "shell_version_map": {"38": {"version": "4", "sha256": "0vxlc72gzin16xl5h6i0ixlmm6x9ahp3w3phyg0jk8b0q7qdflzq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdGl0bGUgYmFyIGNsb2NrIiwKICAibmFtZSI6ICJIaWRlIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiSGlkZV9DbG9ja0BncmFudG1jd2lsbGlhbXMuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "0vxlc72gzin16xl5h6i0ixlmm6x9ahp3w3phyg0jk8b0q7qdflzq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdGl0bGUgYmFyIGNsb2NrIiwKICAibmFtZSI6ICJIaWRlIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiSGlkZV9DbG9ja0BncmFudG1jd2lsbGlhbXMuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "0vxlc72gzin16xl5h6i0ixlmm6x9ahp3w3phyg0jk8b0q7qdflzq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdGl0bGUgYmFyIGNsb2NrIiwKICAibmFtZSI6ICJIaWRlIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiSGlkZV9DbG9ja0BncmFudG1jd2lsbGlhbXMuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "gnome-shell-screenshot@ttll.de", "name": "Screenshot Tool", "pname": "screenshot-tool", "description": "Conveniently create, copy, store and upload screenshots. Please log out and log in again after updating.", "link": "https://extensions.gnome.org/extension/1112/screenshot-tool/", "shell_version_map": {"38": {"version": "56", "sha256": "1ga2ray64aq1d1vn0rsscfxjiidbiln3vx42rn9i4q2a59b00znq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlbmllbnRseSBjcmVhdGUsIGNvcHksIHN0b3JlIGFuZCB1cGxvYWQgc2NyZWVuc2hvdHMuIFBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4gYWZ0ZXIgdXBkYXRpbmcuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtc2NyZWVuc2hvdCIsCiAgImdpdC12ZXJzaW9uIjogInY1NiIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBUb29sIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PdHRvQWxsbWVuZGluZ2VyL2dub21lLXNoZWxsLXNjcmVlbnNob3QvIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1zY3JlZW5zaG90QHR0bGwuZGUiLAogICJ2ZXJzaW9uIjogNTYKfQ=="}, "40": {"version": "66", "sha256": "1vy5649vznq9g2aarl61570f8fql1akv7pwwkzsa90z2f787b32k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlbmllbnRseSBjcmVhdGUsIGNvcHksIHN0b3JlIGFuZCB1cGxvYWQgc2NyZWVuc2hvdHMuIFBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4gYWZ0ZXIgdXBkYXRpbmcuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtc2NyZWVuc2hvdCIsCiAgImdpdC12ZXJzaW9uIjogInY2NiIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBUb29sIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL090dG9BbGxtZW5kaW5nZXIvZ25vbWUtc2hlbGwtc2NyZWVuc2hvdC8iLAogICJ1dWlkIjogImdub21lLXNoZWxsLXNjcmVlbnNob3RAdHRsbC5kZSIsCiAgInZlcnNpb24iOiA2Ngp9"}, "41": {"version": "66", "sha256": "1vy5649vznq9g2aarl61570f8fql1akv7pwwkzsa90z2f787b32k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlbmllbnRseSBjcmVhdGUsIGNvcHksIHN0b3JlIGFuZCB1cGxvYWQgc2NyZWVuc2hvdHMuIFBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4gYWZ0ZXIgdXBkYXRpbmcuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtc2NyZWVuc2hvdCIsCiAgImdpdC12ZXJzaW9uIjogInY2NiIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBUb29sIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL090dG9BbGxtZW5kaW5nZXIvZ25vbWUtc2hlbGwtc2NyZWVuc2hvdC8iLAogICJ1dWlkIjogImdub21lLXNoZWxsLXNjcmVlbnNob3RAdHRsbC5kZSIsCiAgInZlcnNpb24iOiA2Ngp9"}}}
-, {"uuid": "nothing-to-say@extensions.gnome.wouter.bolsterl.ee", "name": "Nothing to say", "pname": "nothing-to-say", "description": "Unmute the microphone only when you have something to say.", "link": "https://extensions.gnome.org/extension/1113/nothing-to-say/", "shell_version_map": {"38": {"version": "8", "sha256": "12ngc4dv1ijbvihqn2rjn77bal0gdhdq4cxf1zv5lr2ckz0ishm4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS4iLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd2JvbHN0ZXIvbm90aGluZy10by1zYXkiLAogICJ1dWlkIjogIm5vdGhpbmctdG8tc2F5QGV4dGVuc2lvbnMuZ25vbWUud291dGVyLmJvbHN0ZXJsLmVlIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "14", "sha256": "1rh7gbjhxpv63xg1v3jm0108zygycz8vb2jjjab46a4rkcd0xd0g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS4iLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjMuMzYuOSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dib2xzdGVyL25vdGhpbmctdG8tc2F5IiwKICAidXVpZCI6ICJub3RoaW5nLXRvLXNheUBleHRlbnNpb25zLmdub21lLndvdXRlci5ib2xzdGVybC5lZSIsCiAgInZlcnNpb24iOiAxNAp9"}, "41": {"version": "14", "sha256": "1rh7gbjhxpv63xg1v3jm0108zygycz8vb2jjjab46a4rkcd0xd0g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS4iLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjMuMzYuOSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dib2xzdGVyL25vdGhpbmctdG8tc2F5IiwKICAidXVpZCI6ICJub3RoaW5nLXRvLXNheUBleHRlbnNpb25zLmdub21lLndvdXRlci5ib2xzdGVybC5lZSIsCiAgInZlcnNpb24iOiAxNAp9"}}}
+, {"uuid": "nothing-to-say@extensions.gnome.wouter.bolsterl.ee", "name": "Nothing to say", "pname": "nothing-to-say", "description": "Unmute the microphone only when you have something to say.", "link": "https://extensions.gnome.org/extension/1113/nothing-to-say/", "shell_version_map": {"38": {"version": "8", "sha256": "12ngc4dv1ijbvihqn2rjn77bal0gdhdq4cxf1zv5lr2ckz0ishm4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS4iLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd2JvbHN0ZXIvbm90aGluZy10by1zYXkiLAogICJ1dWlkIjogIm5vdGhpbmctdG8tc2F5QGV4dGVuc2lvbnMuZ25vbWUud291dGVyLmJvbHN0ZXJsLmVlIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "15", "sha256": "0grrdxdyzl3fyr2hnl312pwfpqglyprzlvy14dyyh1hvlymi9ssd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS4iLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICIzLjM2LjkiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93Ym9sc3Rlci9ub3RoaW5nLXRvLXNheSIsCiAgInV1aWQiOiAibm90aGluZy10by1zYXlAZXh0ZW5zaW9ucy5nbm9tZS53b3V0ZXIuYm9sc3RlcmwuZWUiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "41": {"version": "15", "sha256": "0grrdxdyzl3fyr2hnl312pwfpqglyprzlvy14dyyh1hvlymi9ssd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS4iLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICIzLjM2LjkiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93Ym9sc3Rlci9ub3RoaW5nLXRvLXNheSIsCiAgInV1aWQiOiAibm90aGluZy10by1zYXlAZXh0ZW5zaW9ucy5nbm9tZS53b3V0ZXIuYm9sc3RlcmwuZWUiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "42": {"version": "15", "sha256": "0grrdxdyzl3fyr2hnl312pwfpqglyprzlvy14dyyh1hvlymi9ssd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS4iLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICIzLjM2LjkiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93Ym9sc3Rlci9ub3RoaW5nLXRvLXNheSIsCiAgInV1aWQiOiAibm90aGluZy10by1zYXlAZXh0ZW5zaW9ucy5nbm9tZS53b3V0ZXIuYm9sc3RlcmwuZWUiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}}}
 , {"uuid": "workspace-switch-wraparound@theychx.org", "name": "Workspace Switch Wraparound", "pname": "workspace-switch-wraparound", "description": "When switching workspaces, going down from the bottom workspace switches to the top workspace. Likewise, up from the top workspace goes to the bottom workspace.", "link": "https://extensions.gnome.org/extension/1116/workspace-switch-wraparound/", "shell_version_map": {"38": {"version": "7", "sha256": "1zc92s0pffsd6mwsmpy8s8gici0q1wzd5s1vwjld4y1cy34kp2ad", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gc3dpdGNoaW5nIHdvcmtzcGFjZXMsIGdvaW5nIGRvd24gZnJvbSB0aGUgYm90dG9tIHdvcmtzcGFjZSBzd2l0Y2hlcyB0byB0aGUgdG9wIHdvcmtzcGFjZS4gTGlrZXdpc2UsIHVwIGZyb20gdGhlIHRvcCB3b3Jrc3BhY2UgZ29lcyB0byB0aGUgYm90dG9tIHdvcmtzcGFjZS4iLAogICJuYW1lIjogIldvcmtzcGFjZSBTd2l0Y2ggV3JhcGFyb3VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90aGV5Y2h4L1dvcmtzcGFjZVN3aXRjaGVyV3JhcEFyb3VuZCIsCiAgInV1aWQiOiAid29ya3NwYWNlLXN3aXRjaC13cmFwYXJvdW5kQHRoZXljaHgub3JnIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "1zc92s0pffsd6mwsmpy8s8gici0q1wzd5s1vwjld4y1cy34kp2ad", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gc3dpdGNoaW5nIHdvcmtzcGFjZXMsIGdvaW5nIGRvd24gZnJvbSB0aGUgYm90dG9tIHdvcmtzcGFjZSBzd2l0Y2hlcyB0byB0aGUgdG9wIHdvcmtzcGFjZS4gTGlrZXdpc2UsIHVwIGZyb20gdGhlIHRvcCB3b3Jrc3BhY2UgZ29lcyB0byB0aGUgYm90dG9tIHdvcmtzcGFjZS4iLAogICJuYW1lIjogIldvcmtzcGFjZSBTd2l0Y2ggV3JhcGFyb3VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90aGV5Y2h4L1dvcmtzcGFjZVN3aXRjaGVyV3JhcEFyb3VuZCIsCiAgInV1aWQiOiAid29ya3NwYWNlLXN3aXRjaC13cmFwYXJvdW5kQHRoZXljaHgub3JnIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"uuid": "ibus-font-setting@ibus.github.com", "name": "ibus font setting", "pname": "ibus-font-setting", "description": "use ibus font setting of ibus setup dialog to enhance the user experience", "link": "https://extensions.gnome.org/extension/1121/ibus-font-setting/", "shell_version_map": {"38": {"version": "9", "sha256": "163byvsc3dj2w9xq498py1xjziyi98icyki1cd6wv7vxaxfmk7y6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInVzZSBpYnVzIGZvbnQgc2V0dGluZyBvZiBpYnVzIHNldHVwIGRpYWxvZyB0byBlbmhhbmNlIHRoZSB1c2VyIGV4cGVyaWVuY2UiLAogICJuYW1lIjogImlidXMgZm9udCBzZXR0aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL3B3dS5mZWRvcmFwZW9wbGUub3JnL2lidXMvaWJ1cy1mb250LXNldHRpbmciLAogICJ1dWlkIjogImlidXMtZm9udC1zZXR0aW5nQGlidXMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA5Cn0="}, "40": {"version": "11", "sha256": "0rgnv7bwqg30ly6zsmzs5sayi45k2ji5r87z4x32nni3wm7vhnhk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInVzZSBpYnVzIGZvbnQgc2V0dGluZyBvZiBpYnVzIHNldHVwIGRpYWxvZyB0byBlbmhhbmNlIHRoZSB1c2VyIGV4cGVyaWVuY2UiLAogICJuYW1lIjogImlidXMgZm9udCBzZXR0aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vcHd1LmZlZG9yYXBlb3BsZS5vcmcvaWJ1cy9pYnVzLWZvbnQtc2V0dGluZyIsCiAgInV1aWQiOiAiaWJ1cy1mb250LXNldHRpbmdAaWJ1cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDExCn0="}, "41": {"version": "11", "sha256": "0rgnv7bwqg30ly6zsmzs5sayi45k2ji5r87z4x32nni3wm7vhnhk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInVzZSBpYnVzIGZvbnQgc2V0dGluZyBvZiBpYnVzIHNldHVwIGRpYWxvZyB0byBlbmhhbmNlIHRoZSB1c2VyIGV4cGVyaWVuY2UiLAogICJuYW1lIjogImlidXMgZm9udCBzZXR0aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vcHd1LmZlZG9yYXBlb3BsZS5vcmcvaWJ1cy9pYnVzLWZvbnQtc2V0dGluZyIsCiAgInV1aWQiOiAiaWJ1cy1mb250LXNldHRpbmdAaWJ1cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDExCn0="}}}
 , {"uuid": "github.notifications@alexandre.dufournet.gmail.com", "name": "Github Notifications", "pname": "github-notifications", "description": "Integrate Github's notifications within the gnome desktop environment\nSource code is available here: https://github.com/alexduf/gnome-github-notifications", "link": "https://extensions.gnome.org/extension/1125/github-notifications/", "shell_version_map": {"38": {"version": "17", "sha256": "0ccgbllyak1lyp14ynsg17zngfpxkc5v5asv3zwwmpk44bl984ny", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSBHaXRodWIncyBub3RpZmljYXRpb25zIHdpdGhpbiB0aGUgZ25vbWUgZGVza3RvcCBlbnZpcm9ubWVudFxuU291cmNlIGNvZGUgaXMgYXZhaWxhYmxlIGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbGV4ZHVmL2dub21lLWdpdGh1Yi1ub3RpZmljYXRpb25zIiwKICAibmFtZSI6ICJHaXRodWIgTm90aWZpY2F0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJnaXRodWIubm90aWZpY2F0aW9uc0BhbGV4YW5kcmUuZHVmb3VybmV0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxNwp9"}, "40": {"version": "21", "sha256": "1j5ndicq5jgvf78lxrb2afbpfs10yc3ncc4v1dz1iqnv9kmhk132", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSBHaXRodWIncyBub3RpZmljYXRpb25zIHdpdGhpbiB0aGUgZ25vbWUgZGVza3RvcCBlbnZpcm9ubWVudFxuU291cmNlIGNvZGUgaXMgYXZhaWxhYmxlIGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbGV4ZHVmL2dub21lLWdpdGh1Yi1ub3RpZmljYXRpb25zIiwKICAibmFtZSI6ICJHaXRodWIgTm90aWZpY2F0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImdpdGh1Yi5ub3RpZmljYXRpb25zQGFsZXhhbmRyZS5kdWZvdXJuZXQuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIxCn0="}, "41": {"version": "21", "sha256": "1j5ndicq5jgvf78lxrb2afbpfs10yc3ncc4v1dz1iqnv9kmhk132", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSBHaXRodWIncyBub3RpZmljYXRpb25zIHdpdGhpbiB0aGUgZ25vbWUgZGVza3RvcCBlbnZpcm9ubWVudFxuU291cmNlIGNvZGUgaXMgYXZhaWxhYmxlIGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbGV4ZHVmL2dub21lLWdpdGh1Yi1ub3RpZmljYXRpb25zIiwKICAibmFtZSI6ICJHaXRodWIgTm90aWZpY2F0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImdpdGh1Yi5ub3RpZmljYXRpb25zQGFsZXhhbmRyZS5kdWZvdXJuZXQuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIxCn0="}}}
 , {"uuid": "desk-changer@eric.gach.gmail.com", "name": "Desk Changer", "pname": "desk-changer", "description": "Simple wallpaper changer with multiple profile support. Integrates into the shell by providing it's own panel icon. The daemon is written using gjs and runs independently of the extension as a background process.", "link": "https://extensions.gnome.org/extension/1131/desk-changer/", "shell_version_map": {"38": {"version": "23", "sha256": "1jwkavj1m6mf690mcyzidyrcv92yr3jk7bpy3ar1y3hm9zbvmpps", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSB3YWxscGFwZXIgY2hhbmdlciB3aXRoIG11bHRpcGxlIHByb2ZpbGUgc3VwcG9ydC4gSW50ZWdyYXRlcyBpbnRvIHRoZSBzaGVsbCBieSBwcm92aWRpbmcgaXQncyBvd24gcGFuZWwgaWNvbi4gVGhlIGRhZW1vbiBpcyB3cml0dGVuIHVzaW5nIGdqcyBhbmQgcnVucyBpbmRlcGVuZGVudGx5IG9mIHRoZSBleHRlbnNpb24gYXMgYSBiYWNrZ3JvdW5kIHByb2Nlc3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGVzay1jaGFuZ2VyIiwKICAibmFtZSI6ICJEZXNrIENoYW5nZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGVzay1jaGFuZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9CaWdFL2Rlc2stY2hhbmdlci8iLAogICJ1dWlkIjogImRlc2stY2hhbmdlckBlcmljLmdhY2guZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIzCn0="}, "40": {"version": "23", "sha256": "1jwkavj1m6mf690mcyzidyrcv92yr3jk7bpy3ar1y3hm9zbvmpps", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSB3YWxscGFwZXIgY2hhbmdlciB3aXRoIG11bHRpcGxlIHByb2ZpbGUgc3VwcG9ydC4gSW50ZWdyYXRlcyBpbnRvIHRoZSBzaGVsbCBieSBwcm92aWRpbmcgaXQncyBvd24gcGFuZWwgaWNvbi4gVGhlIGRhZW1vbiBpcyB3cml0dGVuIHVzaW5nIGdqcyBhbmQgcnVucyBpbmRlcGVuZGVudGx5IG9mIHRoZSBleHRlbnNpb24gYXMgYSBiYWNrZ3JvdW5kIHByb2Nlc3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGVzay1jaGFuZ2VyIiwKICAibmFtZSI6ICJEZXNrIENoYW5nZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGVzay1jaGFuZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9CaWdFL2Rlc2stY2hhbmdlci8iLAogICJ1dWlkIjogImRlc2stY2hhbmdlckBlcmljLmdhY2guZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIzCn0="}, "41": {"version": "23", "sha256": "1jwkavj1m6mf690mcyzidyrcv92yr3jk7bpy3ar1y3hm9zbvmpps", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSB3YWxscGFwZXIgY2hhbmdlciB3aXRoIG11bHRpcGxlIHByb2ZpbGUgc3VwcG9ydC4gSW50ZWdyYXRlcyBpbnRvIHRoZSBzaGVsbCBieSBwcm92aWRpbmcgaXQncyBvd24gcGFuZWwgaWNvbi4gVGhlIGRhZW1vbiBpcyB3cml0dGVuIHVzaW5nIGdqcyBhbmQgcnVucyBpbmRlcGVuZGVudGx5IG9mIHRoZSBleHRlbnNpb24gYXMgYSBiYWNrZ3JvdW5kIHByb2Nlc3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGVzay1jaGFuZ2VyIiwKICAibmFtZSI6ICJEZXNrIENoYW5nZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGVzay1jaGFuZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9CaWdFL2Rlc2stY2hhbmdlci8iLAogICJ1dWlkIjogImRlc2stY2hhbmdlckBlcmljLmdhY2guZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIzCn0="}}}
 , {"uuid": "Shortcuts@kyle.aims.ac.za", "name": "Shortcuts", "pname": "shortcuts", "description": "This shows a pop-up of useful keyboard shortcuts when Super + S is pressed", "link": "https://extensions.gnome.org/extension/1144/shortcuts/", "shell_version_map": {"38": {"version": "10", "sha256": "04kpzrn692cgyv8w2x1c6lrrkpvn9kkafcs8bsji594agwyb4sc5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2hvd3MgYSBwb3AtdXAgb2YgdXNlZnVsIGtleWJvYXJkIHNob3J0Y3V0cyB3aGVuIFN1cGVyICsgUyBpcyBwcmVzc2VkIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiU2hvcnRjdXRzIiwKICAibmFtZSI6ICJTaG9ydGN1dHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2hvcnRjdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9wYWRkYXRyYXBwZXIvc2hvcnRjdXRzLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiU2hvcnRjdXRzQGt5bGUuYWltcy5hYy56YSIsCiAgInZlcnNpb24iOiAxMAp9"}, "40": {"version": "10", "sha256": "04kpzrn692cgyv8w2x1c6lrrkpvn9kkafcs8bsji594agwyb4sc5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2hvd3MgYSBwb3AtdXAgb2YgdXNlZnVsIGtleWJvYXJkIHNob3J0Y3V0cyB3aGVuIFN1cGVyICsgUyBpcyBwcmVzc2VkIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiU2hvcnRjdXRzIiwKICAibmFtZSI6ICJTaG9ydGN1dHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2hvcnRjdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9wYWRkYXRyYXBwZXIvc2hvcnRjdXRzLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiU2hvcnRjdXRzQGt5bGUuYWltcy5hYy56YSIsCiAgInZlcnNpb24iOiAxMAp9"}, "41": {"version": "10", "sha256": "04kpzrn692cgyv8w2x1c6lrrkpvn9kkafcs8bsji594agwyb4sc5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2hvd3MgYSBwb3AtdXAgb2YgdXNlZnVsIGtleWJvYXJkIHNob3J0Y3V0cyB3aGVuIFN1cGVyICsgUyBpcyBwcmVzc2VkIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiU2hvcnRjdXRzIiwKICAibmFtZSI6ICJTaG9ydGN1dHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2hvcnRjdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9wYWRkYXRyYXBwZXIvc2hvcnRjdXRzLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiU2hvcnRjdXRzQGt5bGUuYWltcy5hYy56YSIsCiAgInZlcnNpb24iOiAxMAp9"}}}
 , {"uuid": "sensory-perception@HarlemSquirrel.github.io", "name": "Sensory Perception", "pname": "sensory-perception", "description": "Requires lm-sensors (or lm_sensors). Shows CPU temperature, disk temperature, video card temperature, voltage and fan RPM.", "link": "https://extensions.gnome.org/extension/1145/sensory-perception/", "shell_version_map": {"38": {"version": "13", "sha256": "16wc49khyk5arsis8kzpjgl6nl8gccc2y5sspq8rwnab22jnzwjh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcXVpcmVzIGxtLXNlbnNvcnMgKG9yIGxtX3NlbnNvcnMpLiBTaG93cyBDUFUgdGVtcGVyYXR1cmUsIGRpc2sgdGVtcGVyYXR1cmUsIHZpZGVvIGNhcmQgdGVtcGVyYXR1cmUsIHZvbHRhZ2UgYW5kIGZhbiBSUE0uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2Vuc29yeS1wZXJjZXB0aW9uIiwKICAibmFtZSI6ICJTZW5zb3J5IFBlcmNlcHRpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2Vuc29yeS1wZXJjZXB0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSGFybGVtU3F1aXJyZWwvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNlbnNvcnktcGVyY2VwdGlvbiIsCiAgInV1aWQiOiAic2Vuc29yeS1wZXJjZXB0aW9uQEhhcmxlbVNxdWlycmVsLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMwp9"}, "40": {"version": "17", "sha256": "1565vy6wy0fjjbhxn90d8w4ifjb2adacijf71k18j7n390k00djw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcXVpcmVzIGxtLXNlbnNvcnMgKG9yIGxtX3NlbnNvcnMpLiBTaG93cyBDUFUgdGVtcGVyYXR1cmUsIGRpc2sgdGVtcGVyYXR1cmUsIHZpZGVvIGNhcmQgdGVtcGVyYXR1cmUsIHZvbHRhZ2UgYW5kIGZhbiBSUE0uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2Vuc29yeS1wZXJjZXB0aW9uIiwKICAibmFtZSI6ICJTZW5zb3J5IFBlcmNlcHRpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2Vuc29yeS1wZXJjZXB0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9IYXJsZW1TcXVpcnJlbC9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2Vuc29yeS1wZXJjZXB0aW9uIiwKICAidXVpZCI6ICJzZW5zb3J5LXBlcmNlcHRpb25ASGFybGVtU3F1aXJyZWwuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDE3Cn0="}, "41": {"version": "17", "sha256": "1565vy6wy0fjjbhxn90d8w4ifjb2adacijf71k18j7n390k00djw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcXVpcmVzIGxtLXNlbnNvcnMgKG9yIGxtX3NlbnNvcnMpLiBTaG93cyBDUFUgdGVtcGVyYXR1cmUsIGRpc2sgdGVtcGVyYXR1cmUsIHZpZGVvIGNhcmQgdGVtcGVyYXR1cmUsIHZvbHRhZ2UgYW5kIGZhbiBSUE0uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2Vuc29yeS1wZXJjZXB0aW9uIiwKICAibmFtZSI6ICJTZW5zb3J5IFBlcmNlcHRpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2Vuc29yeS1wZXJjZXB0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9IYXJsZW1TcXVpcnJlbC9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2Vuc29yeS1wZXJjZXB0aW9uIiwKICAidXVpZCI6ICJzZW5zb3J5LXBlcmNlcHRpb25ASGFybGVtU3F1aXJyZWwuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDE3Cn0="}}}
-, {"uuid": "activityAppLauncher@rastersoft.com", "name": "Activity App Launcher", "pname": "activity-app-launcher", "description": "Integrates a category-based application launcher in the activities window. IMPORTANT: it needs the 'gnome-menus' and 'libgnome-menu-3-dev'; they must be installed in the system before installing this extension.", "link": "https://extensions.gnome.org/extension/1149/activity-app-launcher/", "shell_version_map": {"38": {"version": "31", "sha256": "18jqnk4psdvdx1hydfss1870v0gnpxkmsm5yasnb0m5m484in0qv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgYSBjYXRlZ29yeS1iYXNlZCBhcHBsaWNhdGlvbiBsYXVuY2hlciBpbiB0aGUgYWN0aXZpdGllcyB3aW5kb3cuIElNUE9SVEFOVDogaXQgbmVlZHMgdGhlICdnbm9tZS1tZW51cycgYW5kICdsaWJnbm9tZS1tZW51LTMtZGV2JzsgdGhleSBtdXN0IGJlIGluc3RhbGxlZCBpbiB0aGUgc3lzdGVtIGJlZm9yZSBpbnN0YWxsaW5nIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiQWN0aXZpdHkgQXBwIExhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9hY3Rpdml0eUFwcExhdW5jaGVyIiwKICAidXVpZCI6ICJhY3Rpdml0eUFwcExhdW5jaGVyQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDMxCn0="}, "40": {"version": "32", "sha256": "0h1pnv64jcyi0h7m8bk1rr0pfiz7pn6s08v10b2x3jmpdzahxxcy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgYSBjYXRlZ29yeS1iYXNlZCBhcHBsaWNhdGlvbiBsYXVuY2hlciBpbiB0aGUgYWN0aXZpdGllcyB3aW5kb3cuIElNUE9SVEFOVDogaXQgbmVlZHMgdGhlICdnbm9tZS1tZW51cycgYW5kICdsaWJnbm9tZS1tZW51LTMtZGV2JzsgdGhleSBtdXN0IGJlIGluc3RhbGxlZCBpbiB0aGUgc3lzdGVtIGJlZm9yZSBpbnN0YWxsaW5nIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiQWN0aXZpdHkgQXBwIExhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9yYXN0ZXJzb2Z0L2FjdGl2aXR5QXBwTGF1bmNoZXIiLAogICJ1dWlkIjogImFjdGl2aXR5QXBwTGF1bmNoZXJAcmFzdGVyc29mdC5jb20iLAogICJ2ZXJzaW9uIjogMzIKfQ=="}, "41": {"version": "32", "sha256": "0h1pnv64jcyi0h7m8bk1rr0pfiz7pn6s08v10b2x3jmpdzahxxcy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgYSBjYXRlZ29yeS1iYXNlZCBhcHBsaWNhdGlvbiBsYXVuY2hlciBpbiB0aGUgYWN0aXZpdGllcyB3aW5kb3cuIElNUE9SVEFOVDogaXQgbmVlZHMgdGhlICdnbm9tZS1tZW51cycgYW5kICdsaWJnbm9tZS1tZW51LTMtZGV2JzsgdGhleSBtdXN0IGJlIGluc3RhbGxlZCBpbiB0aGUgc3lzdGVtIGJlZm9yZSBpbnN0YWxsaW5nIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiQWN0aXZpdHkgQXBwIExhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9yYXN0ZXJzb2Z0L2FjdGl2aXR5QXBwTGF1bmNoZXIiLAogICJ1dWlkIjogImFjdGl2aXR5QXBwTGF1bmNoZXJAcmFzdGVyc29mdC5jb20iLAogICJ2ZXJzaW9uIjogMzIKfQ=="}}}
+, {"uuid": "activityAppLauncher@rastersoft.com", "name": "Activity App Launcher", "pname": "activity-app-launcher", "description": "Integrates a category-based application launcher in the activities window. IMPORTANT: it needs the 'gnome-menus' and 'libgnome-menu-3-dev'; they must be installed in the system before installing this extension.", "link": "https://extensions.gnome.org/extension/1149/activity-app-launcher/", "shell_version_map": {"38": {"version": "31", "sha256": "18jqnk4psdvdx1hydfss1870v0gnpxkmsm5yasnb0m5m484in0qv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgYSBjYXRlZ29yeS1iYXNlZCBhcHBsaWNhdGlvbiBsYXVuY2hlciBpbiB0aGUgYWN0aXZpdGllcyB3aW5kb3cuIElNUE9SVEFOVDogaXQgbmVlZHMgdGhlICdnbm9tZS1tZW51cycgYW5kICdsaWJnbm9tZS1tZW51LTMtZGV2JzsgdGhleSBtdXN0IGJlIGluc3RhbGxlZCBpbiB0aGUgc3lzdGVtIGJlZm9yZSBpbnN0YWxsaW5nIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiQWN0aXZpdHkgQXBwIExhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9hY3Rpdml0eUFwcExhdW5jaGVyIiwKICAidXVpZCI6ICJhY3Rpdml0eUFwcExhdW5jaGVyQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDMxCn0="}, "40": {"version": "34", "sha256": "0mjifm9dx3gwswdrjk1qr2kfan87dapkgn6adg2vw87dz0291q0k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgYSBjYXRlZ29yeS1iYXNlZCBhcHBsaWNhdGlvbiBsYXVuY2hlciBpbiB0aGUgYWN0aXZpdGllcyB3aW5kb3cuIElNUE9SVEFOVDogaXQgbmVlZHMgdGhlICdnbm9tZS1tZW51cycgYW5kICdsaWJnbm9tZS1tZW51LTMtZGV2JzsgdGhleSBtdXN0IGJlIGluc3RhbGxlZCBpbiB0aGUgc3lzdGVtIGJlZm9yZSBpbnN0YWxsaW5nIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiQWN0aXZpdHkgQXBwIExhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9hY3Rpdml0eUFwcExhdW5jaGVyIiwKICAidXVpZCI6ICJhY3Rpdml0eUFwcExhdW5jaGVyQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDM0Cn0="}, "41": {"version": "34", "sha256": "0mjifm9dx3gwswdrjk1qr2kfan87dapkgn6adg2vw87dz0291q0k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgYSBjYXRlZ29yeS1iYXNlZCBhcHBsaWNhdGlvbiBsYXVuY2hlciBpbiB0aGUgYWN0aXZpdGllcyB3aW5kb3cuIElNUE9SVEFOVDogaXQgbmVlZHMgdGhlICdnbm9tZS1tZW51cycgYW5kICdsaWJnbm9tZS1tZW51LTMtZGV2JzsgdGhleSBtdXN0IGJlIGluc3RhbGxlZCBpbiB0aGUgc3lzdGVtIGJlZm9yZSBpbnN0YWxsaW5nIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiQWN0aXZpdHkgQXBwIExhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9hY3Rpdml0eUFwcExhdW5jaGVyIiwKICAidXVpZCI6ICJhY3Rpdml0eUFwcExhdW5jaGVyQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDM0Cn0="}, "42": {"version": "34", "sha256": "0mjifm9dx3gwswdrjk1qr2kfan87dapkgn6adg2vw87dz0291q0k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgYSBjYXRlZ29yeS1iYXNlZCBhcHBsaWNhdGlvbiBsYXVuY2hlciBpbiB0aGUgYWN0aXZpdGllcyB3aW5kb3cuIElNUE9SVEFOVDogaXQgbmVlZHMgdGhlICdnbm9tZS1tZW51cycgYW5kICdsaWJnbm9tZS1tZW51LTMtZGV2JzsgdGhleSBtdXN0IGJlIGluc3RhbGxlZCBpbiB0aGUgc3lzdGVtIGJlZm9yZSBpbnN0YWxsaW5nIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiQWN0aXZpdHkgQXBwIExhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9hY3Rpdml0eUFwcExhdW5jaGVyIiwKICAidXVpZCI6ICJhY3Rpdml0eUFwcExhdW5jaGVyQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDM0Cn0="}}}
 , {"uuid": "shutdown-timer-gnome-shell-extension", "name": "ShutdownTimer", "pname": "shutdowntimer", "description": "Allows to shutdown, restart and suspend computer after selected amount of time or in selected time.", "link": "https://extensions.gnome.org/extension/1152/shutdowntimer/", "shell_version_map": {"40": {"version": "9", "sha256": "1y69lv3mq66xxfxabngnbb104d26i05cyhmx3dqf4kyf1kd6jqvx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBzaHV0ZG93biwgcmVzdGFydCBhbmQgc3VzcGVuZCBjb21wdXRlciBhZnRlciBzZWxlY3RlZCBhbW91bnQgb2YgdGltZSBvciBpbiBzZWxlY3RlZCB0aW1lLiIsCiAgImdldHRleHQtZG9tYWluIjogIkF1dG9tYXRpY1NodXRkb3duVGltZXIiLAogICJuYW1lIjogIlNodXRkb3duVGltZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXV0b21hdGljLXNodXRkb3duLXRpbWVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21rcmFqbmFrL3NodXRkb3duLXRpbWVyLWdub21lLXNoZWxsLWV4dGVuc2lvbi8iLAogICJ1dWlkIjogInNodXRkb3duLXRpbWVyLWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInZlcnNpb24iOiA5Cn0="}}}
 , {"uuid": "dash-to-panel@jderose9.github.com", "name": "Dash to Panel", "pname": "dash-to-panel", "description": "An icon taskbar for the Gnome Shell. This extension moves the dash into the gnome main panel so that the application launchers and system tray are combined into a single panel, similar to that found in KDE Plasma and Windows 7+. A separate dock is no longer needed for easy access to running and favorited applications.\n\nFor a more traditional experience, you may also want to use Tweak Tool to enable Windows > Titlebar Buttons > Minimize & Maximize.\n\nFor the best support, please report any issues on Github. Dash-to-panel is developed and maintained by @jderose9 and @charlesg99.", "link": "https://extensions.gnome.org/extension/1160/dash-to-panel/", "shell_version_map": {"38": {"version": "42", "sha256": "052adrf5dv1qfrpkp1wivp8a8vfi851japvx16gy779shfzq0n2a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyA+IFRpdGxlYmFyIEJ1dHRvbnMgPiBNaW5pbWl6ZSAmIE1heGltaXplLlxuXG5Gb3IgdGhlIGJlc3Qgc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIG9uIEdpdGh1Yi4gRGFzaC10by1wYW5lbCBpcyBkZXZlbG9wZWQgYW5kIG1haW50YWluZWQgYnkgQGpkZXJvc2U5IGFuZCBAY2hhcmxlc2c5OS4iLAogICJleHRlbnNpb24taWQiOiAiZGFzaC10by1wYW5lbCIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtdG8tcGFuZWwiLAogICJuYW1lIjogIkRhc2ggdG8gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qZGVyb3NlOS9kYXNoLXRvLXBhbmVsIiwKICAidXVpZCI6ICJkYXNoLXRvLXBhbmVsQGpkZXJvc2U5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDIKfQ=="}, "40": {"version": "44", "sha256": "0kjs01h1ncx9r56pfggw0psqpi1hm0p32bpq08inpzc2wr7ilyfs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyA+IFRpdGxlYmFyIEJ1dHRvbnMgPiBNaW5pbWl6ZSAmIE1heGltaXplLlxuXG5Gb3IgdGhlIGJlc3Qgc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIG9uIEdpdGh1Yi4gRGFzaC10by1wYW5lbCBpcyBkZXZlbG9wZWQgYW5kIG1haW50YWluZWQgYnkgQGpkZXJvc2U5IGFuZCBAY2hhcmxlc2c5OS4iLAogICJleHRlbnNpb24taWQiOiAiZGFzaC10by1wYW5lbCIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtdG8tcGFuZWwiLAogICJuYW1lIjogIkRhc2ggdG8gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamRlcm9zZTkvZGFzaC10by1wYW5lbCIsCiAgInV1aWQiOiAiZGFzaC10by1wYW5lbEBqZGVyb3NlOS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQ0Cn0="}, "41": {"version": "45", "sha256": "1md7006ba93p1d6br2bf7qwkf5kbmmwphws0gnmpz18if2q8xd2g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyA+IFRpdGxlYmFyIEJ1dHRvbnMgPiBNaW5pbWl6ZSAmIE1heGltaXplLlxuXG5Gb3IgdGhlIGJlc3Qgc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIG9uIEdpdGh1Yi4gRGFzaC10by1wYW5lbCBpcyBkZXZlbG9wZWQgYW5kIG1haW50YWluZWQgYnkgQGpkZXJvc2U5IGFuZCBAY2hhcmxlc2c5OS4iLAogICJleHRlbnNpb24taWQiOiAiZGFzaC10by1wYW5lbCIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtdG8tcGFuZWwiLAogICJuYW1lIjogIkRhc2ggdG8gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamRlcm9zZTkvZGFzaC10by1wYW5lbCIsCiAgInV1aWQiOiAiZGFzaC10by1wYW5lbEBqZGVyb3NlOS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQ1Cn0="}}}
 , {"uuid": "emoji-selector@maestroschan.fr", "name": "Emoji Selector", "pname": "emoji-selector", "description": "This extension provides a parametrable popup menu displaying most emojis, clicking on an emoji copies it to the clipboard. An appropriate font like 'Twitter Color Emoji' or 'JoyPixels Color' should be installed on your system for a better visual result.", "link": "https://extensions.gnome.org/extension/1162/emoji-selector/", "shell_version_map": {"38": {"version": "20", "sha256": "1i6py149m46xig5a0ry7y5v887nlzw644mw72gcr2hkfsn8b0gnd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHByb3ZpZGVzIGEgcGFyYW1ldHJhYmxlIHBvcHVwIG1lbnUgZGlzcGxheWluZyBtb3N0IGVtb2ppcywgY2xpY2tpbmcgb24gYW4gZW1vamkgY29waWVzIGl0IHRvIHRoZSBjbGlwYm9hcmQuIEFuIGFwcHJvcHJpYXRlIGZvbnQgbGlrZSAnVHdpdHRlciBDb2xvciBFbW9qaScgb3IgJ0pveVBpeGVscyBDb2xvcicgc2hvdWxkIGJlIGluc3RhbGxlZCBvbiB5b3VyIHN5c3RlbSBmb3IgYSBiZXR0ZXIgdmlzdWFsIHJlc3VsdC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1zZWxlY3RvciIsCiAgIm5hbWUiOiAiRW1vamkgU2VsZWN0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZW1vamktc2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYW9zY2hhbnovZW1vamktc2VsZWN0b3ItZm9yLWdub21lIiwKICAidXVpZCI6ICJlbW9qaS1zZWxlY3RvckBtYWVzdHJvc2NoYW4uZnIiLAogICJ2ZXJzaW9uIjogMjAKfQ=="}}}
-, {"uuid": "gnome-kinit@bonzini.gnu.org", "name": "Kerberos login", "pname": "kerberos-login", "description": "Provide a system menu item to renew Kerberos tickets", "link": "https://extensions.gnome.org/extension/1165/kerberos-login/", "shell_version_map": {"40": {"version": "5", "sha256": "08rp128drriv5929lwwv9yy77yhn1arfc6snwsipibaby0c5jvsf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgYSBzeXN0ZW0gbWVudSBpdGVtIHRvIHJlbmV3IEtlcmJlcm9zIHRpY2tldHMiLAogICJuYW1lIjogIktlcmJlcm9zIGxvZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyLjIiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZ25vbWUta2luaXRAYm9uemluaS5nbnUub3JnIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "08rp128drriv5929lwwv9yy77yhn1arfc6snwsipibaby0c5jvsf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgYSBzeXN0ZW0gbWVudSBpdGVtIHRvIHJlbmV3IEtlcmJlcm9zIHRpY2tldHMiLAogICJuYW1lIjogIktlcmJlcm9zIGxvZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyLjIiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZ25vbWUta2luaXRAYm9uemluaS5nbnUub3JnIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "42": {"version": "5", "sha256": "08rp128drriv5929lwwv9yy77yhn1arfc6snwsipibaby0c5jvsf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgYSBzeXN0ZW0gbWVudSBpdGVtIHRvIHJlbmV3IEtlcmJlcm9zIHRpY2tldHMiLAogICJuYW1lIjogIktlcmJlcm9zIGxvZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyLjIiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZ25vbWUta2luaXRAYm9uemluaS5nbnUub3JnIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
+, {"uuid": "gnome-kinit@bonzini.gnu.org", "name": "Kerberos login", "pname": "kerberos-login", "description": "Provide a system menu item to renew Kerberos tickets", "link": "https://extensions.gnome.org/extension/1165/kerberos-login/", "shell_version_map": {"40": {"version": "5", "sha256": "08rp128drriv5929lwwv9yy77yhn1arfc6snwsipibaby0c5jvsf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgYSBzeXN0ZW0gbWVudSBpdGVtIHRvIHJlbmV3IEtlcmJlcm9zIHRpY2tldHMiLAogICJuYW1lIjogIktlcmJlcm9zIGxvZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyLjIiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZ25vbWUta2luaXRAYm9uemluaS5nbnUub3JnIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "08rp128drriv5929lwwv9yy77yhn1arfc6snwsipibaby0c5jvsf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgYSBzeXN0ZW0gbWVudSBpdGVtIHRvIHJlbmV3IEtlcmJlcm9zIHRpY2tldHMiLAogICJuYW1lIjogIktlcmJlcm9zIGxvZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyLjIiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZ25vbWUta2luaXRAYm9uemluaS5nbnUub3JnIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "42": {"version": "7", "sha256": "1rrp6iqm4j83qk9z470ipmw6wrw9akl5dp8gzplijaq5sw4kpvvv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgYSBzeXN0ZW0gbWVudSBpdGVtIHRvIHJlbmV3IEtlcmJlcm9zIHRpY2tldHMiLAogICJuYW1lIjogIktlcmJlcm9zIGxvZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJnbm9tZS1raW5pdEBib256aW5pLmdudS5vcmciLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "calculator-button@amivaleo", "name": "Calculator Button", "pname": "calculator-button", "description": "A button to easily open gnome-calculator.\n Credits to extensions.gnome.org/extension/939/display-button/\n\nv10:\n1 - added support for gnome 3.38\n2 - added support for flatpak version of gnome-calculator", "link": "https://extensions.gnome.org/extension/1168/calculator-button/", "shell_version_map": {"38": {"version": "10", "sha256": "1c6b53im6xj4yaf4skvchvgipxfjs2yh3i5r75cw9avnw7imnwk6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYnV0dG9uIHRvIGVhc2lseSBvcGVuIGdub21lLWNhbGN1bGF0b3IuXG4gQ3JlZGl0cyB0byBleHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vOTM5L2Rpc3BsYXktYnV0dG9uL1xuXG52MTA6XG4xIC0gYWRkZWQgc3VwcG9ydCBmb3IgZ25vbWUgMy4zOFxuMiAtIGFkZGVkIHN1cHBvcnQgZm9yIGZsYXRwYWsgdmVyc2lvbiBvZiBnbm9tZS1jYWxjdWxhdG9yIiwKICAibmFtZSI6ICJDYWxjdWxhdG9yIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FtaXZhbGVvL0NhbGN1bGF0b3ItQnV0dG9uIiwKICAidXVpZCI6ICJjYWxjdWxhdG9yLWJ1dHRvbkBhbWl2YWxlbyIsCiAgInZlcnNpb24iOiAxMAp9"}}}
 , {"uuid": "screenshotlocations.timur@linux.com", "name": "Screenshot Locations", "pname": "screenshot-locations", "description": "Change the default GNOME screenshot directory", "link": "https://extensions.gnome.org/extension/1179/screenshot-locations/", "shell_version_map": {"38": {"version": "7", "sha256": "0ymb4m8fgxgi964fdfdqwgjw95qbcm906zgqmyqxgd4ggip3mn47", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRhdGEtZ3Jlc291cmNlIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3Rsb2NhdGlvbnMuZGF0YS5ncmVzb3VyY2UiLAogICJkZXNjcmlwdGlvbiI6ICJDaGFuZ2UgdGhlIGRlZmF1bHQgR05PTUUgc2NyZWVuc2hvdCBkaXJlY3RvcnkiLAogICJuYW1lIjogIlNjcmVlbnNob3QgTG9jYXRpb25zIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3Rsb2NhdGlvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vY29kZWJlcmcub3JnL2tpeXVpL2dub21lLXNoZWxsLXNjcmVlbnNob3Rsb2NhdGlvbnMtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJzY3JlZW5zaG90bG9jYXRpb25zLnRpbXVyQGxpbnV4LmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "8", "sha256": "0cxsq1zzmgn6q32wbdfw9hai62li92dwvwnzq2pdbskp9qm6v7nd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgZGVmYXVsdCBHTk9NRSBzY3JlZW5zaG90IGRpcmVjdG9yeSIsCiAgImdldHRleHQtZG9tYWluIjogInNjcmVlbnNob3Rsb2NhdGlvbnMudGltdXJAbGludXguY29tIiwKICAibmFtZSI6ICJTY3JlZW5zaG90IExvY2F0aW9ucyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zY3JlZW5zaG90bG9jYXRpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9jb2RlYmVyZy5vcmcva2l5dWkvZ25vbWUtc2hlbGwtc2NyZWVuc2hvdGxvY2F0aW9ucy1leHRlbnNpb24iLAogICJ1dWlkIjogInNjcmVlbnNob3Rsb2NhdGlvbnMudGltdXJAbGludXguY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
-, {"uuid": "utcclock@injcristianrojas.github.com", "name": "UTCClock", "pname": "utcclock", "description": "UTC clock for the top bar. For GNOME 40+", "link": "https://extensions.gnome.org/extension/1183/utcclock/", "shell_version_map": {"38": {"version": "24", "sha256": "1gmj8479a7yvxb3yh76yjs9n7bav3qp4fkr9hg7197qch0rirhlr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVUQyBjbG9jayBmb3IgdGhlIHRvcCBiYXIuIEZvciBHTk9NRSA0MCsiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJVVENDbG9jayIsCiAgIm5hbWUiOiAiVVRDQ2xvY2siLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXRjY2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pbmpjcmlzdGlhbnJvamFzL1VUQ0Nsb2NrIiwKICAidXVpZCI6ICJ1dGNjbG9ja0BpbmpjcmlzdGlhbnJvamFzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjQKfQ=="}, "40": {"version": "27", "sha256": "0jgrbsn2aqq5zxm553v16ydyzmbwa4ymqfr93mgz1br52clnjj2k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVUQyBjbG9jayBmb3IgdGhlIHRvcCBiYXIuIEZvciBHTk9NRSA0MCsiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJVVENDbG9jayIsCiAgIm5hbWUiOiAiVVRDQ2xvY2siLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXRjY2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2luamNyaXN0aWFucm9qYXMvVVRDQ2xvY2siLAogICJ1dWlkIjogInV0Y2Nsb2NrQGluamNyaXN0aWFucm9qYXMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyNwp9"}, "41": {"version": "27", "sha256": "0jgrbsn2aqq5zxm553v16ydyzmbwa4ymqfr93mgz1br52clnjj2k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVUQyBjbG9jayBmb3IgdGhlIHRvcCBiYXIuIEZvciBHTk9NRSA0MCsiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJVVENDbG9jayIsCiAgIm5hbWUiOiAiVVRDQ2xvY2siLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXRjY2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2luamNyaXN0aWFucm9qYXMvVVRDQ2xvY2siLAogICJ1dWlkIjogInV0Y2Nsb2NrQGluamNyaXN0aWFucm9qYXMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyNwp9"}}}
+, {"uuid": "utcclock@injcristianrojas.github.com", "name": "UTCClock", "pname": "utcclock", "description": "UTC clock for the top bar", "link": "https://extensions.gnome.org/extension/1183/utcclock/", "shell_version_map": {"38": {"version": "24", "sha256": "0yjbpmrq8y52yn4q2yp6bgg4b6r60h9spccrc0d7jn6vi3a4ns4s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVUQyBjbG9jayBmb3IgdGhlIHRvcCBiYXIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJVVENDbG9jayIsCiAgIm5hbWUiOiAiVVRDQ2xvY2siLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXRjY2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pbmpjcmlzdGlhbnJvamFzL1VUQ0Nsb2NrIiwKICAidXVpZCI6ICJ1dGNjbG9ja0BpbmpjcmlzdGlhbnJvamFzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjQKfQ=="}, "40": {"version": "29", "sha256": "0dchib117mr3w133wqp8ylcfxmr08brqjf3pf2706mdplwk61wci", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVUQyBjbG9jayBmb3IgdGhlIHRvcCBiYXIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJVVENDbG9jayIsCiAgIm5hbWUiOiAiVVRDQ2xvY2siLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXRjY2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pbmpjcmlzdGlhbnJvamFzL1VUQ0Nsb2NrIiwKICAidXVpZCI6ICJ1dGNjbG9ja0BpbmpjcmlzdGlhbnJvamFzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjkKfQ=="}, "41": {"version": "29", "sha256": "0dchib117mr3w133wqp8ylcfxmr08brqjf3pf2706mdplwk61wci", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVUQyBjbG9jayBmb3IgdGhlIHRvcCBiYXIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJVVENDbG9jayIsCiAgIm5hbWUiOiAiVVRDQ2xvY2siLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXRjY2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pbmpjcmlzdGlhbnJvamFzL1VUQ0Nsb2NrIiwKICAidXVpZCI6ICJ1dGNjbG9ja0BpbmpjcmlzdGlhbnJvamFzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjkKfQ=="}, "42": {"version": "29", "sha256": "0dchib117mr3w133wqp8ylcfxmr08brqjf3pf2706mdplwk61wci", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVUQyBjbG9jayBmb3IgdGhlIHRvcCBiYXIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJVVENDbG9jayIsCiAgIm5hbWUiOiAiVVRDQ2xvY2siLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudXRjY2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pbmpjcmlzdGlhbnJvamFzL1VUQ0Nsb2NrIiwKICAidXVpZCI6ICJ1dGNjbG9ja0BpbmpjcmlzdGlhbnJvamFzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjkKfQ=="}}}
 , {"uuid": "show-desktop-button@amivaleo", "name": "Show Desktop Button", "pname": "show-desktop-button", "description": "Minimize/unminimize all open windows with a single click.", "link": "https://extensions.gnome.org/extension/1194/show-desktop-button/", "shell_version_map": {"38": {"version": "17", "sha256": "15cym2gka8g10bvprnxf6s0jbwchscw81fh9pvjybqmb9kc8ivvw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplL3VubWluaW1pemUgYWxsIG9wZW4gd2luZG93cyB3aXRoIGEgc2luZ2xlIGNsaWNrLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJzaG93LWRlc2t0b3AtYnV0dG9uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2hvdy1kZXNrdG9wLWJ1dHRvbiIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiU2hvdyBEZXNrdG9wIEJ1dHRvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaG93LWRlc2t0b3AtYnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYW1pdmFsZW8vU2hvdy1EZXNrdG9wLUJ1dHRvbiIsCiAgInV1aWQiOiAic2hvdy1kZXNrdG9wLWJ1dHRvbkBhbWl2YWxlbyIsCiAgInZlcnNpb24iOiAxNwp9"}, "40": {"version": "22", "sha256": "0qq16yhii9cbcp09cc1mw5a565nbw7bq5hb2jdgp9lnq2ym0c5rr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplL3VubWluaW1pemUgYWxsIG9wZW4gd2luZG93cyB3aXRoIGEgc2luZ2xlIGNsaWNrLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJzaG93LWRlc2t0b3AtYnV0dG9uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2hvdy1kZXNrdG9wLWJ1dHRvbiIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiU2hvdyBEZXNrdG9wIEJ1dHRvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaG93LWRlc2t0b3AtYnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbWl2YWxlby9TaG93LURlc2t0b3AtQnV0dG9uIiwKICAidXVpZCI6ICJzaG93LWRlc2t0b3AtYnV0dG9uQGFtaXZhbGVvIiwKICAidmVyc2lvbiI6IDIyCn0="}, "41": {"version": "22", "sha256": "0qq16yhii9cbcp09cc1mw5a565nbw7bq5hb2jdgp9lnq2ym0c5rr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplL3VubWluaW1pemUgYWxsIG9wZW4gd2luZG93cyB3aXRoIGEgc2luZ2xlIGNsaWNrLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJzaG93LWRlc2t0b3AtYnV0dG9uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2hvdy1kZXNrdG9wLWJ1dHRvbiIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiU2hvdyBEZXNrdG9wIEJ1dHRvbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaG93LWRlc2t0b3AtYnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbWl2YWxlby9TaG93LURlc2t0b3AtQnV0dG9uIiwKICAidXVpZCI6ICJzaG93LWRlc2t0b3AtYnV0dG9uQGFtaXZhbGVvIiwKICAidmVyc2lvbiI6IDIyCn0="}}}
 , {"uuid": "walkpaper@walkpaper.blinkbp.github.com", "name": "Walkpaper", "pname": "walkpaper", "description": "Set different wallpaper for each workspace by having the wallpaper switch on workspace change.", "link": "https://extensions.gnome.org/extension/1200/walkpaper/", "shell_version_map": {"40": {"version": "9", "sha256": "1ckrf3y20wp3dv4aig44rycj7kbrxj14gh3rzs17vcqma3aw76bq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBkaWZmZXJlbnQgd2FsbHBhcGVyIGZvciBlYWNoIHdvcmtzcGFjZSBieSBoYXZpbmcgdGhlIHdhbGxwYXBlciBzd2l0Y2ggb24gd29ya3NwYWNlIGNoYW5nZS4iLAogICJleHRlbnNpb24taWQiOiAid2Fsa3BhcGVyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZW5nbGlzaCIsCiAgIm5hbWUiOiAiV2Fsa3BhcGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndhbGtwYXBlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQmxpbmtCUC93YWxrcGFwZXIiLAogICJ1dWlkIjogIndhbGtwYXBlckB3YWxrcGFwZXIuYmxpbmticC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "1ckrf3y20wp3dv4aig44rycj7kbrxj14gh3rzs17vcqma3aw76bq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBkaWZmZXJlbnQgd2FsbHBhcGVyIGZvciBlYWNoIHdvcmtzcGFjZSBieSBoYXZpbmcgdGhlIHdhbGxwYXBlciBzd2l0Y2ggb24gd29ya3NwYWNlIGNoYW5nZS4iLAogICJleHRlbnNpb24taWQiOiAid2Fsa3BhcGVyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZW5nbGlzaCIsCiAgIm5hbWUiOiAiV2Fsa3BhcGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndhbGtwYXBlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQmxpbmtCUC93YWxrcGFwZXIiLAogICJ1dWlkIjogIndhbGtwYXBlckB3YWxrcGFwZXIuYmxpbmticC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
 , {"uuid": "nasa_apod@elinvention.ovh", "name": "NASA APOD Wallpaper Changer", "pname": "nasa-apod", "description": "Change your wallpaper daily to the NASA's astronomy picture of the day", "link": "https://extensions.gnome.org/extension/1202/nasa-apod/", "shell_version_map": {"40": {"version": "31", "sha256": "1w3njadkxjnp6b2jsrfd46xla8hak0m2kipa9vii6wsy80czw59b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0VsaW52ZW50aW9uL2dub21lLXNoZWxsLWV4dGVuc2lvbi1uYXNhLWFwb2QiLAogICJ1dWlkIjogIm5hc2FfYXBvZEBlbGludmVudGlvbi5vdmgiLAogICJ2ZXJzaW9uIjogMzEKfQ=="}, "41": {"version": "31", "sha256": "1w3njadkxjnp6b2jsrfd46xla8hak0m2kipa9vii6wsy80czw59b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB5b3VyIHdhbGxwYXBlciBkYWlseSB0byB0aGUgTkFTQSdzIGFzdHJvbm9teSBwaWN0dXJlIG9mIHRoZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYXNhLWFwb2QiLAogICJuYW1lIjogIk5BU0EgQVBPRCBXYWxscGFwZXIgQ2hhbmdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYXNhLWFwb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0VsaW52ZW50aW9uL2dub21lLXNoZWxsLWV4dGVuc2lvbi1uYXNhLWFwb2QiLAogICJ1dWlkIjogIm5hc2FfYXBvZEBlbGludmVudGlvbi5vdmgiLAogICJ2ZXJzaW9uIjogMzEKfQ=="}}}
 , {"uuid": "SystemMenu@jonnius.github.com", "name": "System Menu", "pname": "system-menu", "description": "System menu with usefull shortcuts", "link": "https://extensions.gnome.org/extension/1204/system-menu/", "shell_version_map": {"38": {"version": "5", "sha256": "10zfr3fhqvq0fxqjzqmnxmhmdw5xcw9m5k3jm1apcjqnm38r896w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5c3RlbSBtZW51IHdpdGggdXNlZnVsbCBzaG9ydGN1dHMiLAogICJuYW1lIjogIlN5c3RlbSBNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLlN5c3RlbU1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHA6Ly9naXRodWIuY29tL2pvbm5pdXMvZ25vbWUtc3lzdGVtLW1lbnUiLAogICJ1dWlkIjogIlN5c3RlbU1lbnVAam9ubml1cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
-, {"uuid": "undecorate@sun.wxg@gmail.com", "name": "Undecorate Window", "pname": "undecorate", "description": "Add undecorate item in window menu. Use ALT+Space to show window menu.", "link": "https://extensions.gnome.org/extension/1208/undecorate/", "shell_version_map": {"40": {"version": "5", "sha256": "1vmpzk2vwyi5lywfzcpd350h3p09p9l5bkg7bza6b1w904lfd51n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB1bmRlY29yYXRlIGl0ZW0gaW4gd2luZG93IG1lbnUuIFVzZSBBTFQrU3BhY2UgdG8gc2hvdyB3aW5kb3cgbWVudS4iLAogICJuYW1lIjogIlVuZGVjb3JhdGUgV2luZG93IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJzdW4ud3hnQGdtYWlsLmNvbSIKICBdLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdW5kZWNvcmF0ZSIsCiAgInV1aWQiOiAidW5kZWNvcmF0ZUBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "1vmpzk2vwyi5lywfzcpd350h3p09p9l5bkg7bza6b1w904lfd51n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB1bmRlY29yYXRlIGl0ZW0gaW4gd2luZG93IG1lbnUuIFVzZSBBTFQrU3BhY2UgdG8gc2hvdyB3aW5kb3cgbWVudS4iLAogICJuYW1lIjogIlVuZGVjb3JhdGUgV2luZG93IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJzdW4ud3hnQGdtYWlsLmNvbSIKICBdLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdW5kZWNvcmF0ZSIsCiAgInV1aWQiOiAidW5kZWNvcmF0ZUBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
+, {"uuid": "undecorate@sun.wxg@gmail.com", "name": "Undecorate Window", "pname": "undecorate", "description": "Add undecorate item in window menu. Use ALT+Space to show window menu.", "link": "https://extensions.gnome.org/extension/1208/undecorate/", "shell_version_map": {"40": {"version": "6", "sha256": "1m9rjm8vc35aalyrnyzm1afcvv9lj2n3pffikhk9vb0isv0yj03r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB1bmRlY29yYXRlIGl0ZW0gaW4gd2luZG93IG1lbnUuIFVzZSBBTFQrU3BhY2UgdG8gc2hvdyB3aW5kb3cgbWVudS4iLAogICJuYW1lIjogIlVuZGVjb3JhdGUgV2luZG93IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJzdW4ud3hnQGdtYWlsLmNvbSIKICBdLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVuZGVjb3JhdGUiLAogICJ1dWlkIjogInVuZGVjb3JhdGVAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "1m9rjm8vc35aalyrnyzm1afcvv9lj2n3pffikhk9vb0isv0yj03r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB1bmRlY29yYXRlIGl0ZW0gaW4gd2luZG93IG1lbnUuIFVzZSBBTFQrU3BhY2UgdG8gc2hvdyB3aW5kb3cgbWVudS4iLAogICJuYW1lIjogIlVuZGVjb3JhdGUgV2luZG93IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJzdW4ud3hnQGdtYWlsLmNvbSIKICBdLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVuZGVjb3JhdGUiLAogICJ1dWlkIjogInVuZGVjb3JhdGVAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}, "42": {"version": "6", "sha256": "1m9rjm8vc35aalyrnyzm1afcvv9lj2n3pffikhk9vb0isv0yj03r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB1bmRlY29yYXRlIGl0ZW0gaW4gd2luZG93IG1lbnUuIFVzZSBBTFQrU3BhY2UgdG8gc2hvdyB3aW5kb3cgbWVudS4iLAogICJuYW1lIjogIlVuZGVjb3JhdGUgV2luZG93IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJzdW4ud3hnQGdtYWlsLmNvbSIKICBdLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVuZGVjb3JhdGUiLAogICJ1dWlkIjogInVuZGVjb3JhdGVAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "rcd@criztovyl.space", "name": "Right Click Down", "pname": "right-click-down", "description": "Moves windows one workspace down by right-clicking them in the overview.", "link": "https://extensions.gnome.org/extension/1210/right-click-down/", "shell_version_map": {"38": {"version": "3", "sha256": "1vh9capapzbbwg2zlw9iphdk48q6fqk0qsmaylvsvw59xc7f9bia", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHdpbmRvd3Mgb25lIHdvcmtzcGFjZSBkb3duIGJ5IHJpZ2h0LWNsaWNraW5nIHRoZW0gaW4gdGhlIG92ZXJ2aWV3LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJyY2QiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbmlvbnMtcmlnaHQtY2xpY2stZG93biIsCiAgIm5hbWUiOiAiUmlnaHQgQ2xpY2sgRG93biIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yaWdodC1jbGljay1kb3duIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4LjAiLAogICAgIjMuMzguMSIsCiAgICAiMy4zOC4yIiwKICAgICI0MC5hbHBoYSIsCiAgICAiNDAuYWxwaGEiLAogICAgIjMuMzguMyIsCiAgICAiMy4zNy45MiIsCiAgICAiMy4zNy45MSIsCiAgICAiMy4zNy45MCIsCiAgICAiMy4zNy4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vY3JpenRvdnlsL2dub21lLXJpZ2h0LWNsaWNrLWRvd24iLAogICJ1dWlkIjogInJjZEBjcml6dG92eWwuc3BhY2UiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "1vh9capapzbbwg2zlw9iphdk48q6fqk0qsmaylvsvw59xc7f9bia", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHdpbmRvd3Mgb25lIHdvcmtzcGFjZSBkb3duIGJ5IHJpZ2h0LWNsaWNraW5nIHRoZW0gaW4gdGhlIG92ZXJ2aWV3LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJyY2QiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbmlvbnMtcmlnaHQtY2xpY2stZG93biIsCiAgIm5hbWUiOiAiUmlnaHQgQ2xpY2sgRG93biIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yaWdodC1jbGljay1kb3duIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4LjAiLAogICAgIjMuMzguMSIsCiAgICAiMy4zOC4yIiwKICAgICI0MC5hbHBoYSIsCiAgICAiNDAuYWxwaGEiLAogICAgIjMuMzguMyIsCiAgICAiMy4zNy45MiIsCiAgICAiMy4zNy45MSIsCiAgICAiMy4zNy45MCIsCiAgICAiMy4zNy4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vY3JpenRvdnlsL2dub21lLXJpZ2h0LWNsaWNrLWRvd24iLAogICJ1dWlkIjogInJjZEBjcml6dG92eWwuc3BhY2UiLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "printers@linux-man.org", "name": "Printers", "pname": "printers", "description": "Manage Jobs and Printers. Required package: cups-bsd", "link": "https://extensions.gnome.org/extension/1218/printers/", "shell_version_map": {"38": {"version": "12", "sha256": "1q2k5b4z159nfr5mn4ah8fz9x8dq35x5sz99s8yhalbkb0ba0d1p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycy4gUmVxdWlyZWQgcGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJuYW1lIjogIlByaW50ZXJzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqb2FvLmNhbGRhcy5sb3Blc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW50ZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtbWFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wcmludGVycyIsCiAgInV1aWQiOiAicHJpbnRlcnNAbGludXgtbWFuLm9yZyIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "18", "sha256": "0ymwfkcb7d20lv5wvsqsbh1n5c6cn90iy8g49fnmaja8gm5wazd6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycy4gUmVxdWlyZWQgcGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJuYW1lIjogIlByaW50ZXJzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqb2FvLmNhbGRhcy5sb3Blc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW50ZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtbWFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wcmludGVycyIsCiAgInV1aWQiOiAicHJpbnRlcnNAbGludXgtbWFuLm9yZyIsCiAgInZlcnNpb24iOiAxOAp9"}, "41": {"version": "18", "sha256": "0ymwfkcb7d20lv5wvsqsbh1n5c6cn90iy8g49fnmaja8gm5wazd6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycy4gUmVxdWlyZWQgcGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJuYW1lIjogIlByaW50ZXJzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqb2FvLmNhbGRhcy5sb3Blc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW50ZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtbWFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wcmludGVycyIsCiAgInV1aWQiOiAicHJpbnRlcnNAbGludXgtbWFuLm9yZyIsCiAgInZlcnNpb24iOiAxOAp9"}, "42": {"version": "18", "sha256": "0ymwfkcb7d20lv5wvsqsbh1n5c6cn90iy8g49fnmaja8gm5wazd6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycy4gUmVxdWlyZWQgcGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJuYW1lIjogIlByaW50ZXJzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqb2FvLmNhbGRhcy5sb3Blc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW50ZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtbWFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wcmludGVycyIsCiAgInV1aWQiOiAicHJpbnRlcnNAbGludXgtbWFuLm9yZyIsCiAgInZlcnNpb24iOiAxOAp9"}}}
 , {"uuid": "move-osd-windows@maestroschan.fr", "name": "Move OSD Windows", "pname": "move-osd-windows", "description": "Change the position of OSD windows (sound & luminosity popups).", "link": "https://extensions.gnome.org/extension/1220/move-osd-windows/", "shell_version_map": {"38": {"version": "3", "sha256": "1nmvbx7qbr9a9al5wirnsfwn4qb1qbql2w9f7fpajipasill9hkd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgcG9zaXRpb24gb2YgT1NEIHdpbmRvd3MgKHNvdW5kICYgbHVtaW5vc2l0eSBwb3B1cHMpLiIsCiAgImdldHRleHQtZG9tYWluIjogIm1vdmUtb3NkLXdpbmRvd3MiLAogICJuYW1lIjogIk1vdmUgT1NEIFdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYWVzdHJvc2NoYW4vTW92ZS1PU0QtV2luZG93cy1HTk9NRS1FeHRlbnNpb24iLAogICJ1dWlkIjogIm1vdmUtb3NkLXdpbmRvd3NAbWFlc3Ryb3NjaGFuLmZyIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
 , {"uuid": "arc-menu@linxgem33.com", "name": "Arc Menu", "pname": "arc-menu", "description": "## UNMAINTAINED ##\n\nThe original version of Arc Menu and all attached repositories apart from the disaster recovery branch will no longer receive updates or further development.\n\nKind Regards - LinxGem33 (Andy C)", "link": "https://extensions.gnome.org/extension/1228/arc-menu/", "shell_version_map": {"38": {"version": "49", "sha256": "0x1kr339qarkviinf13s6ih01ssdh321nw8ncnnrq7ihqpzysf8z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiMjIFVOTUFJTlRBSU5FRCAjI1xuXG5UaGUgb3JpZ2luYWwgdmVyc2lvbiBvZiBBcmMgTWVudSBhbmQgYWxsIGF0dGFjaGVkIHJlcG9zaXRvcmllcyBhcGFydCBmcm9tIHRoZSBkaXNhc3RlciByZWNvdmVyeSBicmFuY2ggd2lsbCBubyBsb25nZXIgcmVjZWl2ZSB1cGRhdGVzIG9yIGZ1cnRoZXIgZGV2ZWxvcG1lbnQuXG5cbktpbmQgUmVnYXJkcyAtIExpbnhHZW0zMyAoQW5keSBDKSIsCiAgImV4dGVuc2lvbi1pZCI6ICJhcmMtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImFyYy1tZW51IiwKICAibmFtZSI6ICJBcmMgTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcmMtbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL0xpbnhHZW0zMy9BcmMtTWVudSIsCiAgInV1aWQiOiAiYXJjLW1lbnVAbGlueGdlbTMzLmNvbSIsCiAgInZlcnNpb24iOiA0OQp9"}}}
 , {"uuid": "GmailMessageTray@shuming0207.gmail.com", "name": "Gnome Email Notifications", "pname": "gmail-message-tray", "description": "Shows Gmail and Outlook notifications in Gnome Message Tray using Gnome Online Accounts\n", "link": "https://extensions.gnome.org/extension/1230/gmail-message-tray/", "shell_version_map": {"40": {"version": "22", "sha256": "1hsjqhm0gb7iisg3drwyav166w8zvbfbsdwr47v997xf4mfaycbn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIEdtYWlsIGFuZCBPdXRsb29rIG5vdGlmaWNhdGlvbnMgaW4gR25vbWUgTWVzc2FnZSBUcmF5IHVzaW5nIEdub21lIE9ubGluZSBBY2NvdW50c1xuIiwKICAibmFtZSI6ICJHbm9tZSBFbWFpbCBOb3RpZmljYXRpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NodW1pbmdjaC9nbm9tZS1lbWFpbC1ub3RpZmljYXRpb25zIiwKICAidXVpZCI6ICJHbWFpbE1lc3NhZ2VUcmF5QHNodW1pbmcwMjA3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMgp9"}, "41": {"version": "24", "sha256": "0vldilmp2vzfl99fw0ainnlj9sz0a95zjlqnzybsz7dasin39i9z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIEdtYWlsIGFuZCBPdXRsb29rIG5vdGlmaWNhdGlvbnMgaW4gR25vbWUgTWVzc2FnZSBUcmF5IHVzaW5nIEdub21lIE9ubGluZSBBY2NvdW50c1xuIiwKICAibmFtZSI6ICJHbm9tZSBFbWFpbCBOb3RpZmljYXRpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NodW1pbmdjaC9nbm9tZS1lbWFpbC1ub3RpZmljYXRpb25zIiwKICAidXVpZCI6ICJHbWFpbE1lc3NhZ2VUcmF5QHNodW1pbmcwMjA3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyNAp9"}}}
-, {"uuid": "switchWorkSpace@sun.wxg@gmail.com", "name": "Switch Workspace", "pname": "switch-workspace", "description": "Switch workspace like using ALT+TAB key to switch windows \n\n Default shortcut key to switch workspace is Ctrl+Above_Tab .", "link": "https://extensions.gnome.org/extension/1231/switch-workspace/", "shell_version_map": {"38": {"version": "30", "sha256": "1z6dafy981y2kjbnk9dncnkkpgqk45njbh3k08s3jg385qvfryvg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3b3Jrc3BhY2UgbGlrZSB1c2luZyBBTFQrVEFCIGtleSB0byBzd2l0Y2ggd2luZG93cyBcblxuIERlZmF1bHQgc2hvcnRjdXQga2V5IHRvIHN3aXRjaCB3b3Jrc3BhY2UgaXMgQ3RybCtBYm92ZV9UYWIgLiIsCiAgIm5hbWUiOiAiU3dpdGNoIFdvcmtzcGFjZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAic3VuLnd4Z0BnbWFpbC5jb20iCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zd2l0Y2h3b3Jrc3BhY2UiLAogICJ1dWlkIjogInN3aXRjaFdvcmtTcGFjZUBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMAp9"}, "40": {"version": "32", "sha256": "1m9aca2vwq0krpvl0iq7x3fiq2yspjmlzw9i7phylija8lsw1cgp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3b3Jrc3BhY2UgbGlrZSB1c2luZyBBTFQrVEFCIGtleSB0byBzd2l0Y2ggd2luZG93cyBcblxuIERlZmF1bHQgc2hvcnRjdXQga2V5IHRvIHN3aXRjaCB3b3Jrc3BhY2UgaXMgQ3RybCtBYm92ZV9UYWIgLiIsCiAgIm5hbWUiOiAiU3dpdGNoIFdvcmtzcGFjZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAic3VuLnd4Z0BnbWFpbC5jb20iCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN3aXRjaHdvcmtzcGFjZSIsCiAgInV1aWQiOiAic3dpdGNoV29ya1NwYWNlQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDMyCn0="}, "41": {"version": "32", "sha256": "1m9aca2vwq0krpvl0iq7x3fiq2yspjmlzw9i7phylija8lsw1cgp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3b3Jrc3BhY2UgbGlrZSB1c2luZyBBTFQrVEFCIGtleSB0byBzd2l0Y2ggd2luZG93cyBcblxuIERlZmF1bHQgc2hvcnRjdXQga2V5IHRvIHN3aXRjaCB3b3Jrc3BhY2UgaXMgQ3RybCtBYm92ZV9UYWIgLiIsCiAgIm5hbWUiOiAiU3dpdGNoIFdvcmtzcGFjZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAic3VuLnd4Z0BnbWFpbC5jb20iCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXN3aXRjaHdvcmtzcGFjZSIsCiAgInV1aWQiOiAic3dpdGNoV29ya1NwYWNlQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDMyCn0="}}}
+, {"uuid": "switchWorkSpace@sun.wxg@gmail.com", "name": "Switch Workspace", "pname": "switch-workspace", "description": "Switch workspace like using ALT+TAB key to switch windows \n\n Default shortcut key to switch workspace is Ctrl+Above_Tab .", "link": "https://extensions.gnome.org/extension/1231/switch-workspace/", "shell_version_map": {"38": {"version": "30", "sha256": "1z6dafy981y2kjbnk9dncnkkpgqk45njbh3k08s3jg385qvfryvg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3b3Jrc3BhY2UgbGlrZSB1c2luZyBBTFQrVEFCIGtleSB0byBzd2l0Y2ggd2luZG93cyBcblxuIERlZmF1bHQgc2hvcnRjdXQga2V5IHRvIHN3aXRjaCB3b3Jrc3BhY2UgaXMgQ3RybCtBYm92ZV9UYWIgLiIsCiAgIm5hbWUiOiAiU3dpdGNoIFdvcmtzcGFjZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAic3VuLnd4Z0BnbWFpbC5jb20iCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zd2l0Y2h3b3Jrc3BhY2UiLAogICJ1dWlkIjogInN3aXRjaFdvcmtTcGFjZUBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMAp9"}, "40": {"version": "33", "sha256": "0bdhgv3sgsdfh1zrdjc2iyg1dwjg2mn9gx287yhljl7v2yd73i5m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3b3Jrc3BhY2UgbGlrZSB1c2luZyBBTFQrVEFCIGtleSB0byBzd2l0Y2ggd2luZG93cyBcblxuIERlZmF1bHQgc2hvcnRjdXQga2V5IHRvIHN3aXRjaCB3b3Jrc3BhY2UgaXMgQ3RybCtBYm92ZV9UYWIgLiIsCiAgIm5hbWUiOiAiU3dpdGNoIFdvcmtzcGFjZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAic3VuLnd4Z0BnbWFpbC5jb20iCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zd2l0Y2h3b3Jrc3BhY2UiLAogICJ1dWlkIjogInN3aXRjaFdvcmtTcGFjZUBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMwp9"}, "41": {"version": "33", "sha256": "0bdhgv3sgsdfh1zrdjc2iyg1dwjg2mn9gx287yhljl7v2yd73i5m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3b3Jrc3BhY2UgbGlrZSB1c2luZyBBTFQrVEFCIGtleSB0byBzd2l0Y2ggd2luZG93cyBcblxuIERlZmF1bHQgc2hvcnRjdXQga2V5IHRvIHN3aXRjaCB3b3Jrc3BhY2UgaXMgQ3RybCtBYm92ZV9UYWIgLiIsCiAgIm5hbWUiOiAiU3dpdGNoIFdvcmtzcGFjZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAic3VuLnd4Z0BnbWFpbC5jb20iCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zd2l0Y2h3b3Jrc3BhY2UiLAogICJ1dWlkIjogInN3aXRjaFdvcmtTcGFjZUBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMwp9"}, "42": {"version": "33", "sha256": "0bdhgv3sgsdfh1zrdjc2iyg1dwjg2mn9gx287yhljl7v2yd73i5m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3b3Jrc3BhY2UgbGlrZSB1c2luZyBBTFQrVEFCIGtleSB0byBzd2l0Y2ggd2luZG93cyBcblxuIERlZmF1bHQgc2hvcnRjdXQga2V5IHRvIHN3aXRjaCB3b3Jrc3BhY2UgaXMgQ3RybCtBYm92ZV9UYWIgLiIsCiAgIm5hbWUiOiAiU3dpdGNoIFdvcmtzcGFjZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAic3VuLnd4Z0BnbWFpbC5jb20iCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zd2l0Y2h3b3Jrc3BhY2UiLAogICJ1dWlkIjogInN3aXRjaFdvcmtTcGFjZUBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMwp9"}}}
 , {"uuid": "noannoyance@sindex.com", "name": "NoAnnoyance", "pname": "noannoyance", "description": "Disable the “Window is ready” notification.", "link": "https://extensions.gnome.org/extension/1236/noannoyance/", "shell_version_map": {"38": {"version": "5", "sha256": "0x7p3i9qws8pgj3y2raw2vfgjwqm6rprrn3s7lck5bjx9ydri5b6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIFx1MjAxY1dpbmRvdyBpcyByZWFkeVx1MjAxZCBub3RpZmljYXRpb24uIiwKICAibmFtZSI6ICJOb0Fubm95YW5jZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kZXgvbm8tYW5ub3lhbmNlIiwKICAidXVpZCI6ICJub2Fubm95YW5jZUBzaW5kZXguY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "5", "sha256": "0x7p3i9qws8pgj3y2raw2vfgjwqm6rprrn3s7lck5bjx9ydri5b6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIFx1MjAxY1dpbmRvdyBpcyByZWFkeVx1MjAxZCBub3RpZmljYXRpb24uIiwKICAibmFtZSI6ICJOb0Fubm95YW5jZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kZXgvbm8tYW5ub3lhbmNlIiwKICAidXVpZCI6ICJub2Fubm95YW5jZUBzaW5kZXguY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"uuid": "SomaFm-Radio@alireza6677.gmail.com", "name": "SomaFM internet radio", "pname": "somafm-internet-radio", "description": "Listen to SomaFm free internet radio in your GNOME desktop\n\n* Featues:\n- 32+ Channels\n- Volume slider\n- Favorites menu\n- Good sound quality\n- Supports most gnome-shell versions\n- Channel logos\n\n* Requirements:\n- Gstreamer and plugins:\nYou need to install 'gstreamer' and multimedia codecs/plugins for your distro.", "link": "https://extensions.gnome.org/extension/1237/somafm-internet-radio/", "shell_version_map": {"38": {"version": "29", "sha256": "07l6sa58azf3sav6858q48cbqazavq9bflfxdn0p9ys29h6mf50c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby4iLAogICJuYW1lIjogIlNvbWFGTSBpbnRlcm5ldCByYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dpdGh1Yi5jb20vVGhlV2VpcmREZXYvc29tYWZtLXJhZGlvLWdub21lLWV4dCIsCiAgInV1aWQiOiAiU29tYUZtLVJhZGlvQGFsaXJlemE2Njc3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyOQp9"}, "40": {"version": "29", "sha256": "07l6sa58azf3sav6858q48cbqazavq9bflfxdn0p9ys29h6mf50c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby4iLAogICJuYW1lIjogIlNvbWFGTSBpbnRlcm5ldCByYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dpdGh1Yi5jb20vVGhlV2VpcmREZXYvc29tYWZtLXJhZGlvLWdub21lLWV4dCIsCiAgInV1aWQiOiAiU29tYUZtLVJhZGlvQGFsaXJlemE2Njc3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyOQp9"}}}
 , {"uuid": "timepp@zagortenay333", "name": "Time ++", "pname": "time", "description": "A todo.txt manager, time tracker, timer, stopwatch, pomodoro, and alarm clock", "link": "https://extensions.gnome.org/extension/1238/time/", "shell_version_map": {"38": {"version": "155", "sha256": "1v71hlwrw9kbxfvka5w8cfqmvcjw3k9xjdwhwlk4i4q5k6kgjih3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNhY2hlLWZpbGUtZm9ybWF0LXZlcnNpb24iOiB7CiAgICAiYWxhcm1zIjogMywKICAgICJwb21vZG9ybyI6IDMsCiAgICAic3RvcHdhdGNoIjogNCwKICAgICJ0aW1lciI6IDMsCiAgICAidG9kbyI6IDEwCiAgfSwKICAiZGVzY3JpcHRpb24iOiAiQSB0b2RvLnR4dCBtYW5hZ2VyLCB0aW1lIHRyYWNrZXIsIHRpbWVyLCBzdG9wd2F0Y2gsIHBvbW9kb3JvLCBhbmQgYWxhcm0gY2xvY2siLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ0aW1lcHAiLAogICJpc3N1ZXNfdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzL3RpbWVwcF9fZ25vbWUvaXNzdWVzIiwKICAibmFtZSI6ICJUaW1lICsrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInRyYW5zbGF0aW9uc191cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3phZ29ydGVuYXkzMzMvdGltZXBwX19nbm9tZS90cmVlL21hc3Rlci9kYXRhL3BvX2ZpbGVzIiwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzL3RpbWVwcF9fZ25vbWUiLAogICJ1dWlkIjogInRpbWVwcEB6YWdvcnRlbmF5MzMzIiwKICAidmVyc2lvbiI6IDE1NQp9"}, "40": {"version": "163", "sha256": "0qb28jgpqz4nrigx2vjpsv2wfbnvkfk9rrc6aqgmh1mhhw3f7wfa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNhY2hlLWZpbGUtZm9ybWF0LXZlcnNpb24iOiB7CiAgICAiYWxhcm1zIjogMywKICAgICJwb21vZG9ybyI6IDMsCiAgICAic3RvcHdhdGNoIjogNCwKICAgICJ0aW1lciI6IDMsCiAgICAidG9kbyI6IDEwCiAgfSwKICAiZGVzY3JpcHRpb24iOiAiQSB0b2RvLnR4dCBtYW5hZ2VyLCB0aW1lIHRyYWNrZXIsIHRpbWVyLCBzdG9wd2F0Y2gsIHBvbW9kb3JvLCBhbmQgYWxhcm0gY2xvY2siLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ0aW1lcHAiLAogICJpc3N1ZXNfdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzL3RpbWVwcF9fZ25vbWUvaXNzdWVzIiwKICAibmFtZSI6ICJUaW1lICsrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidHJhbnNsYXRpb25zX3VybCI6ICJodHRwczovL2dpdGh1Yi5jb20vemFnb3J0ZW5heTMzMy90aW1lcHBfX2dub21lL3RyZWUvbWFzdGVyL2RhdGEvcG9fZmlsZXMiLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3phZ29ydGVuYXkzMzMvdGltZXBwX19nbm9tZSIsCiAgInV1aWQiOiAidGltZXBwQHphZ29ydGVuYXkzMzMiLAogICJ2ZXJzaW9uIjogMTYzCn0="}, "41": {"version": "163", "sha256": "0qb28jgpqz4nrigx2vjpsv2wfbnvkfk9rrc6aqgmh1mhhw3f7wfa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNhY2hlLWZpbGUtZm9ybWF0LXZlcnNpb24iOiB7CiAgICAiYWxhcm1zIjogMywKICAgICJwb21vZG9ybyI6IDMsCiAgICAic3RvcHdhdGNoIjogNCwKICAgICJ0aW1lciI6IDMsCiAgICAidG9kbyI6IDEwCiAgfSwKICAiZGVzY3JpcHRpb24iOiAiQSB0b2RvLnR4dCBtYW5hZ2VyLCB0aW1lIHRyYWNrZXIsIHRpbWVyLCBzdG9wd2F0Y2gsIHBvbW9kb3JvLCBhbmQgYWxhcm0gY2xvY2siLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ0aW1lcHAiLAogICJpc3N1ZXNfdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzL3RpbWVwcF9fZ25vbWUvaXNzdWVzIiwKICAibmFtZSI6ICJUaW1lICsrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidHJhbnNsYXRpb25zX3VybCI6ICJodHRwczovL2dpdGh1Yi5jb20vemFnb3J0ZW5heTMzMy90aW1lcHBfX2dub21lL3RyZWUvbWFzdGVyL2RhdGEvcG9fZmlsZXMiLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3phZ29ydGVuYXkzMzMvdGltZXBwX19nbm9tZSIsCiAgInV1aWQiOiAidGltZXBwQHphZ29ydGVuYXkzMzMiLAogICJ2ZXJzaW9uIjogMTYzCn0="}}}
@@ -157,7 +158,7 @@
 , {"uuid": "ds4battery@slie.ru", "name": "Dual Shock 4 battery percentage", "pname": "dual-shock-4-battery-percentage", "description": "Show DS4/DS3 battery remaining power percentage at the top panel", "link": "https://extensions.gnome.org/extension/1283/dual-shock-4-battery-percentage/", "shell_version_map": {"38": {"version": "7", "sha256": "0yb1j3hlza96zbd82gjc7wyjqkj5vjzcaj8l5n8xhfrdi7icxf6j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgRFM0L0RTMyBiYXR0ZXJ5IHJlbWFpbmluZyBwb3dlciBwZXJjZW50YWdlIGF0IHRoZSB0b3AgcGFuZWwiLAogICJuYW1lIjogIkR1YWwgU2hvY2sgNCBiYXR0ZXJ5IHBlcmNlbnRhZ2UiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIm1lQHNsaWUucnUiCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdGhhbmtqdXJhL2RzNGJhdHRlcnkiLAogICJ1dWlkIjogImRzNGJhdHRlcnlAc2xpZS5ydSIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "0yb1j3hlza96zbd82gjc7wyjqkj5vjzcaj8l5n8xhfrdi7icxf6j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgRFM0L0RTMyBiYXR0ZXJ5IHJlbWFpbmluZyBwb3dlciBwZXJjZW50YWdlIGF0IHRoZSB0b3AgcGFuZWwiLAogICJuYW1lIjogIkR1YWwgU2hvY2sgNCBiYXR0ZXJ5IHBlcmNlbnRhZ2UiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIm1lQHNsaWUucnUiCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdGhhbmtqdXJhL2RzNGJhdHRlcnkiLAogICJ1dWlkIjogImRzNGJhdHRlcnlAc2xpZS5ydSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "hotel-manager@hardpixel.eu", "name": "Hotel Manager", "pname": "hotel-manager", "description": "Hotel Manager allows to start and stop the Hotel daemon and your development servers via a menu in the status area.", "link": "https://extensions.gnome.org/extension/1285/hotel-manager/", "shell_version_map": {"38": {"version": "14", "sha256": "0ag9rbfcaw2naa1qg92dl0pclb0d3lx1bsra83cdcx6m853mff6k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhvdGVsIE1hbmFnZXIgYWxsb3dzIHRvIHN0YXJ0IGFuZCBzdG9wIHRoZSBIb3RlbCBkYWVtb24gYW5kIHlvdXIgZGV2ZWxvcG1lbnQgc2VydmVycyB2aWEgYSBtZW51IGluIHRoZSBzdGF0dXMgYXJlYS4iLAogICJuYW1lIjogIkhvdGVsIE1hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcmRwaXhlbC9ob3RlbC1tYW5hZ2VyIiwKICAidXVpZCI6ICJob3RlbC1tYW5hZ2VyQGhhcmRwaXhlbC5ldSIsCiAgInZlcnNpb24iOiAxNAp9"}, "40": {"version": "14", "sha256": "0ag9rbfcaw2naa1qg92dl0pclb0d3lx1bsra83cdcx6m853mff6k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhvdGVsIE1hbmFnZXIgYWxsb3dzIHRvIHN0YXJ0IGFuZCBzdG9wIHRoZSBIb3RlbCBkYWVtb24gYW5kIHlvdXIgZGV2ZWxvcG1lbnQgc2VydmVycyB2aWEgYSBtZW51IGluIHRoZSBzdGF0dXMgYXJlYS4iLAogICJuYW1lIjogIkhvdGVsIE1hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcmRwaXhlbC9ob3RlbC1tYW5hZ2VyIiwKICAidXVpZCI6ICJob3RlbC1tYW5hZ2VyQGhhcmRwaXhlbC5ldSIsCiAgInZlcnNpb24iOiAxNAp9"}, "41": {"version": "14", "sha256": "0ag9rbfcaw2naa1qg92dl0pclb0d3lx1bsra83cdcx6m853mff6k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhvdGVsIE1hbmFnZXIgYWxsb3dzIHRvIHN0YXJ0IGFuZCBzdG9wIHRoZSBIb3RlbCBkYWVtb24gYW5kIHlvdXIgZGV2ZWxvcG1lbnQgc2VydmVycyB2aWEgYSBtZW51IGluIHRoZSBzdGF0dXMgYXJlYS4iLAogICJuYW1lIjogIkhvdGVsIE1hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcmRwaXhlbC9ob3RlbC1tYW5hZ2VyIiwKICAidXVpZCI6ICJob3RlbC1tYW5hZ2VyQGhhcmRwaXhlbC5ldSIsCiAgInZlcnNpb24iOiAxNAp9"}}}
 , {"uuid": "unite@hardpixel.eu", "name": "Unite", "pname": "unite", "description": "Unite is a GNOME Shell extension which makes a few layout tweaks to the top panel and removes window decorations to make it look like Ubuntu Unity Shell.\n\n- Adds window buttons to the top panel for maximized windows.\n- Shows current window title in the app menu for maximized windows.\n- Removes titlebars on maximized windows.\n- Hides window controls on maximized windows with headerbars.\n- Moves the date to the right, reduces panel spacing and removes dropdown arrows.\n- Moves legacy tray icons to the top panel.\n- Moves notifications to the right.\n- Hides activities button.\n- Adds desktop name to the top panel.\n\nThis extension depends on some Xorg utilities. To install them:\n- Debian/Ubuntu: apt install x11-utils\n- Fedora/RHEL: dnf install xprop\n- Fedora Silverblue: rpm-ostree install xprop\n- Arch: pacman -S xorg-xprop\n\n*Settings are provided to enable/disable or customize the available tweaks.\n* Since version 2 applications on wayland with client side decorations are supported using CSS.", "link": "https://extensions.gnome.org/extension/1287/unite/", "shell_version_map": {"38": {"version": "61", "sha256": "1852f9wmzpcpbgdpwx8p2f04i0jnpkzw18rh1cxsw407xskvs6gg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuaXRlIGlzIGEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIHdoaWNoIG1ha2VzIGEgZmV3IGxheW91dCB0d2Vha3MgdG8gdGhlIHRvcCBwYW5lbCBhbmQgcmVtb3ZlcyB3aW5kb3cgZGVjb3JhdGlvbnMgdG8gbWFrZSBpdCBsb29rIGxpa2UgVWJ1bnR1IFVuaXR5IFNoZWxsLlxuXG4tIEFkZHMgd2luZG93IGJ1dHRvbnMgdG8gdGhlIHRvcCBwYW5lbCBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFNob3dzIGN1cnJlbnQgd2luZG93IHRpdGxlIGluIHRoZSBhcHAgbWVudSBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFJlbW92ZXMgdGl0bGViYXJzIG9uIG1heGltaXplZCB3aW5kb3dzLlxuLSBIaWRlcyB3aW5kb3cgY29udHJvbHMgb24gbWF4aW1pemVkIHdpbmRvd3Mgd2l0aCBoZWFkZXJiYXJzLlxuLSBNb3ZlcyB0aGUgZGF0ZSB0byB0aGUgcmlnaHQsIHJlZHVjZXMgcGFuZWwgc3BhY2luZyBhbmQgcmVtb3ZlcyBkcm9wZG93biBhcnJvd3MuXG4tIE1vdmVzIGxlZ2FjeSB0cmF5IGljb25zIHRvIHRoZSB0b3AgcGFuZWwuXG4tIE1vdmVzIG5vdGlmaWNhdGlvbnMgdG8gdGhlIHJpZ2h0LlxuLSBIaWRlcyBhY3Rpdml0aWVzIGJ1dHRvbi5cbi0gQWRkcyBkZXNrdG9wIG5hbWUgdG8gdGhlIHRvcCBwYW5lbC5cblxuVGhpcyBleHRlbnNpb24gZGVwZW5kcyBvbiBzb21lIFhvcmcgdXRpbGl0aWVzLiBUbyBpbnN0YWxsIHRoZW06XG4tIERlYmlhbi9VYnVudHU6IGFwdCBpbnN0YWxsIHgxMS11dGlsc1xuLSBGZWRvcmEvUkhFTDogZG5mIGluc3RhbGwgeHByb3Bcbi0gRmVkb3JhIFNpbHZlcmJsdWU6IHJwbS1vc3RyZWUgaW5zdGFsbCB4cHJvcFxuLSBBcmNoOiBwYWNtYW4gLVMgeG9yZy14cHJvcFxuXG4qU2V0dGluZ3MgYXJlIHByb3ZpZGVkIHRvIGVuYWJsZS9kaXNhYmxlIG9yIGN1c3RvbWl6ZSB0aGUgYXZhaWxhYmxlIHR3ZWFrcy5cbiogU2luY2UgdmVyc2lvbiAyIGFwcGxpY2F0aW9ucyBvbiB3YXlsYW5kIHdpdGggY2xpZW50IHNpZGUgZGVjb3JhdGlvbnMgYXJlIHN1cHBvcnRlZCB1c2luZyBDU1MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidW5pdGUiLAogICJuYW1lIjogIlVuaXRlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVuaXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFyZHBpeGVsL3VuaXRlLXNoZWxsIiwKICAidXVpZCI6ICJ1bml0ZUBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogNjEKfQ=="}, "40": {"version": "61", "sha256": "1852f9wmzpcpbgdpwx8p2f04i0jnpkzw18rh1cxsw407xskvs6gg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuaXRlIGlzIGEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIHdoaWNoIG1ha2VzIGEgZmV3IGxheW91dCB0d2Vha3MgdG8gdGhlIHRvcCBwYW5lbCBhbmQgcmVtb3ZlcyB3aW5kb3cgZGVjb3JhdGlvbnMgdG8gbWFrZSBpdCBsb29rIGxpa2UgVWJ1bnR1IFVuaXR5IFNoZWxsLlxuXG4tIEFkZHMgd2luZG93IGJ1dHRvbnMgdG8gdGhlIHRvcCBwYW5lbCBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFNob3dzIGN1cnJlbnQgd2luZG93IHRpdGxlIGluIHRoZSBhcHAgbWVudSBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFJlbW92ZXMgdGl0bGViYXJzIG9uIG1heGltaXplZCB3aW5kb3dzLlxuLSBIaWRlcyB3aW5kb3cgY29udHJvbHMgb24gbWF4aW1pemVkIHdpbmRvd3Mgd2l0aCBoZWFkZXJiYXJzLlxuLSBNb3ZlcyB0aGUgZGF0ZSB0byB0aGUgcmlnaHQsIHJlZHVjZXMgcGFuZWwgc3BhY2luZyBhbmQgcmVtb3ZlcyBkcm9wZG93biBhcnJvd3MuXG4tIE1vdmVzIGxlZ2FjeSB0cmF5IGljb25zIHRvIHRoZSB0b3AgcGFuZWwuXG4tIE1vdmVzIG5vdGlmaWNhdGlvbnMgdG8gdGhlIHJpZ2h0LlxuLSBIaWRlcyBhY3Rpdml0aWVzIGJ1dHRvbi5cbi0gQWRkcyBkZXNrdG9wIG5hbWUgdG8gdGhlIHRvcCBwYW5lbC5cblxuVGhpcyBleHRlbnNpb24gZGVwZW5kcyBvbiBzb21lIFhvcmcgdXRpbGl0aWVzLiBUbyBpbnN0YWxsIHRoZW06XG4tIERlYmlhbi9VYnVudHU6IGFwdCBpbnN0YWxsIHgxMS11dGlsc1xuLSBGZWRvcmEvUkhFTDogZG5mIGluc3RhbGwgeHByb3Bcbi0gRmVkb3JhIFNpbHZlcmJsdWU6IHJwbS1vc3RyZWUgaW5zdGFsbCB4cHJvcFxuLSBBcmNoOiBwYWNtYW4gLVMgeG9yZy14cHJvcFxuXG4qU2V0dGluZ3MgYXJlIHByb3ZpZGVkIHRvIGVuYWJsZS9kaXNhYmxlIG9yIGN1c3RvbWl6ZSB0aGUgYXZhaWxhYmxlIHR3ZWFrcy5cbiogU2luY2UgdmVyc2lvbiAyIGFwcGxpY2F0aW9ucyBvbiB3YXlsYW5kIHdpdGggY2xpZW50IHNpZGUgZGVjb3JhdGlvbnMgYXJlIHN1cHBvcnRlZCB1c2luZyBDU1MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidW5pdGUiLAogICJuYW1lIjogIlVuaXRlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVuaXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFyZHBpeGVsL3VuaXRlLXNoZWxsIiwKICAidXVpZCI6ICJ1bml0ZUBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogNjEKfQ=="}, "41": {"version": "61", "sha256": "1852f9wmzpcpbgdpwx8p2f04i0jnpkzw18rh1cxsw407xskvs6gg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuaXRlIGlzIGEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIHdoaWNoIG1ha2VzIGEgZmV3IGxheW91dCB0d2Vha3MgdG8gdGhlIHRvcCBwYW5lbCBhbmQgcmVtb3ZlcyB3aW5kb3cgZGVjb3JhdGlvbnMgdG8gbWFrZSBpdCBsb29rIGxpa2UgVWJ1bnR1IFVuaXR5IFNoZWxsLlxuXG4tIEFkZHMgd2luZG93IGJ1dHRvbnMgdG8gdGhlIHRvcCBwYW5lbCBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFNob3dzIGN1cnJlbnQgd2luZG93IHRpdGxlIGluIHRoZSBhcHAgbWVudSBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFJlbW92ZXMgdGl0bGViYXJzIG9uIG1heGltaXplZCB3aW5kb3dzLlxuLSBIaWRlcyB3aW5kb3cgY29udHJvbHMgb24gbWF4aW1pemVkIHdpbmRvd3Mgd2l0aCBoZWFkZXJiYXJzLlxuLSBNb3ZlcyB0aGUgZGF0ZSB0byB0aGUgcmlnaHQsIHJlZHVjZXMgcGFuZWwgc3BhY2luZyBhbmQgcmVtb3ZlcyBkcm9wZG93biBhcnJvd3MuXG4tIE1vdmVzIGxlZ2FjeSB0cmF5IGljb25zIHRvIHRoZSB0b3AgcGFuZWwuXG4tIE1vdmVzIG5vdGlmaWNhdGlvbnMgdG8gdGhlIHJpZ2h0LlxuLSBIaWRlcyBhY3Rpdml0aWVzIGJ1dHRvbi5cbi0gQWRkcyBkZXNrdG9wIG5hbWUgdG8gdGhlIHRvcCBwYW5lbC5cblxuVGhpcyBleHRlbnNpb24gZGVwZW5kcyBvbiBzb21lIFhvcmcgdXRpbGl0aWVzLiBUbyBpbnN0YWxsIHRoZW06XG4tIERlYmlhbi9VYnVudHU6IGFwdCBpbnN0YWxsIHgxMS11dGlsc1xuLSBGZWRvcmEvUkhFTDogZG5mIGluc3RhbGwgeHByb3Bcbi0gRmVkb3JhIFNpbHZlcmJsdWU6IHJwbS1vc3RyZWUgaW5zdGFsbCB4cHJvcFxuLSBBcmNoOiBwYWNtYW4gLVMgeG9yZy14cHJvcFxuXG4qU2V0dGluZ3MgYXJlIHByb3ZpZGVkIHRvIGVuYWJsZS9kaXNhYmxlIG9yIGN1c3RvbWl6ZSB0aGUgYXZhaWxhYmxlIHR3ZWFrcy5cbiogU2luY2UgdmVyc2lvbiAyIGFwcGxpY2F0aW9ucyBvbiB3YXlsYW5kIHdpdGggY2xpZW50IHNpZGUgZGVjb3JhdGlvbnMgYXJlIHN1cHBvcnRlZCB1c2luZyBDU1MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidW5pdGUiLAogICJuYW1lIjogIlVuaXRlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVuaXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFyZHBpeGVsL3VuaXRlLXNoZWxsIiwKICAidXVpZCI6ICJ1bml0ZUBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogNjEKfQ=="}, "42": {"version": "61", "sha256": "1852f9wmzpcpbgdpwx8p2f04i0jnpkzw18rh1cxsw407xskvs6gg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuaXRlIGlzIGEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIHdoaWNoIG1ha2VzIGEgZmV3IGxheW91dCB0d2Vha3MgdG8gdGhlIHRvcCBwYW5lbCBhbmQgcmVtb3ZlcyB3aW5kb3cgZGVjb3JhdGlvbnMgdG8gbWFrZSBpdCBsb29rIGxpa2UgVWJ1bnR1IFVuaXR5IFNoZWxsLlxuXG4tIEFkZHMgd2luZG93IGJ1dHRvbnMgdG8gdGhlIHRvcCBwYW5lbCBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFNob3dzIGN1cnJlbnQgd2luZG93IHRpdGxlIGluIHRoZSBhcHAgbWVudSBmb3IgbWF4aW1pemVkIHdpbmRvd3MuXG4tIFJlbW92ZXMgdGl0bGViYXJzIG9uIG1heGltaXplZCB3aW5kb3dzLlxuLSBIaWRlcyB3aW5kb3cgY29udHJvbHMgb24gbWF4aW1pemVkIHdpbmRvd3Mgd2l0aCBoZWFkZXJiYXJzLlxuLSBNb3ZlcyB0aGUgZGF0ZSB0byB0aGUgcmlnaHQsIHJlZHVjZXMgcGFuZWwgc3BhY2luZyBhbmQgcmVtb3ZlcyBkcm9wZG93biBhcnJvd3MuXG4tIE1vdmVzIGxlZ2FjeSB0cmF5IGljb25zIHRvIHRoZSB0b3AgcGFuZWwuXG4tIE1vdmVzIG5vdGlmaWNhdGlvbnMgdG8gdGhlIHJpZ2h0LlxuLSBIaWRlcyBhY3Rpdml0aWVzIGJ1dHRvbi5cbi0gQWRkcyBkZXNrdG9wIG5hbWUgdG8gdGhlIHRvcCBwYW5lbC5cblxuVGhpcyBleHRlbnNpb24gZGVwZW5kcyBvbiBzb21lIFhvcmcgdXRpbGl0aWVzLiBUbyBpbnN0YWxsIHRoZW06XG4tIERlYmlhbi9VYnVudHU6IGFwdCBpbnN0YWxsIHgxMS11dGlsc1xuLSBGZWRvcmEvUkhFTDogZG5mIGluc3RhbGwgeHByb3Bcbi0gRmVkb3JhIFNpbHZlcmJsdWU6IHJwbS1vc3RyZWUgaW5zdGFsbCB4cHJvcFxuLSBBcmNoOiBwYWNtYW4gLVMgeG9yZy14cHJvcFxuXG4qU2V0dGluZ3MgYXJlIHByb3ZpZGVkIHRvIGVuYWJsZS9kaXNhYmxlIG9yIGN1c3RvbWl6ZSB0aGUgYXZhaWxhYmxlIHR3ZWFrcy5cbiogU2luY2UgdmVyc2lvbiAyIGFwcGxpY2F0aW9ucyBvbiB3YXlsYW5kIHdpdGggY2xpZW50IHNpZGUgZGVjb3JhdGlvbnMgYXJlIHN1cHBvcnRlZCB1c2luZyBDU1MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidW5pdGUiLAogICJuYW1lIjogIlVuaXRlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVuaXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFyZHBpeGVsL3VuaXRlLXNoZWxsIiwKICAidXVpZCI6ICJ1bml0ZUBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogNjEKfQ=="}}}
-, {"uuid": "GoogleEarthWallpaper@neffo.github.com", "name": "Google Earth View wallpaper", "pname": "google-earth-wallpaper", "description": "Lightweight GNOME shell extension to set your wallpaper to a random photo from the curated Google Earth View collection (2600+ photos).\n\n*Disclaimer*: this extension is unofficial and not affiliated with Google in any way. Images are protected by copyright and are licensed only for use as wallpapers.\n\nSee also my other extension, Bing Wallpaper Changer (https://github.com/neffo/bing-wallpaper-gnome-extension).\n\nFeatures:\n* Fetches a random Google Earth wallpaper and sets as both lock screen and desktop wallpaper\n* User selectable refresh intervals (default is once per day)\n* View location on Google Maps, Bing Maps, Gnome Maps, OpenStreetMaps\n*  German, Dutch and Chinese translations\n\nPlease report any bugs or suggestions to extension GitHub page below.", "link": "https://extensions.gnome.org/extension/1295/google-earth-wallpaper/", "shell_version_map": {"38": {"version": "13", "sha256": "0s8xf16fxzizvpwg3lky0gkvsh732rh84wayj9nq3vq71ph2g4jz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXQgeW91ciB3YWxscGFwZXIgdG8gYSByYW5kb20gcGhvdG8gZnJvbSB0aGUgY3VyYXRlZCBHb29nbGUgRWFydGggVmlldyBjb2xsZWN0aW9uICgyNjAwKyBwaG90b3MpLlxuXG4qRGlzY2xhaW1lcio6IHRoaXMgZXh0ZW5zaW9uIGlzIHVub2ZmaWNpYWwgYW5kIG5vdCBhZmZpbGlhdGVkIHdpdGggR29vZ2xlIGluIGFueSB3YXkuIEltYWdlcyBhcmUgcHJvdGVjdGVkIGJ5IGNvcHlyaWdodCBhbmQgYXJlIGxpY2Vuc2VkIG9ubHkgZm9yIHVzZSBhcyB3YWxscGFwZXJzLlxuXG5TZWUgYWxzbyBteSBvdGhlciBleHRlbnNpb24sIEJpbmcgV2FsbHBhcGVyIENoYW5nZXIgKGh0dHBzOi8vZ2l0aHViLmNvbS9uZWZmby9iaW5nLXdhbGxwYXBlci1nbm9tZS1leHRlbnNpb24pLlxuXG5GZWF0dXJlczpcbiogRmV0Y2hlcyBhIHJhbmRvbSBHb29nbGUgRWFydGggd2FsbHBhcGVyIGFuZCBzZXRzIGFzIGJvdGggbG9jayBzY3JlZW4gYW5kIGRlc2t0b3Agd2FsbHBhcGVyXG4qIFVzZXIgc2VsZWN0YWJsZSByZWZyZXNoIGludGVydmFscyAoZGVmYXVsdCBpcyBvbmNlIHBlciBkYXkpXG4qIFZpZXcgbG9jYXRpb24gb24gR29vZ2xlIE1hcHMsIEJpbmcgTWFwcywgR25vbWUgTWFwcywgT3BlblN0cmVldE1hcHNcbiogIEdlcm1hbiwgRHV0Y2ggYW5kIENoaW5lc2UgdHJhbnNsYXRpb25zXG5cblBsZWFzZSByZXBvcnQgYW55IGJ1Z3Mgb3Igc3VnZ2VzdGlvbnMgdG8gZXh0ZW5zaW9uIEdpdEh1YiBwYWdlIGJlbG93LiIsCiAgIm5hbWUiOiAiR29vZ2xlIEVhcnRoIFZpZXcgd2FsbHBhcGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdvb2dsZWVhcnRod2FsbHBhcGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uZWZmby9lYXJ0aC12aWV3LXdhbGxwYXBlci1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogIkdvb2dsZUVhcnRoV2FsbHBhcGVyQG5lZmZvLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "40": {"version": "13", "sha256": "0s8xf16fxzizvpwg3lky0gkvsh732rh84wayj9nq3vq71ph2g4jz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXQgeW91ciB3YWxscGFwZXIgdG8gYSByYW5kb20gcGhvdG8gZnJvbSB0aGUgY3VyYXRlZCBHb29nbGUgRWFydGggVmlldyBjb2xsZWN0aW9uICgyNjAwKyBwaG90b3MpLlxuXG4qRGlzY2xhaW1lcio6IHRoaXMgZXh0ZW5zaW9uIGlzIHVub2ZmaWNpYWwgYW5kIG5vdCBhZmZpbGlhdGVkIHdpdGggR29vZ2xlIGluIGFueSB3YXkuIEltYWdlcyBhcmUgcHJvdGVjdGVkIGJ5IGNvcHlyaWdodCBhbmQgYXJlIGxpY2Vuc2VkIG9ubHkgZm9yIHVzZSBhcyB3YWxscGFwZXJzLlxuXG5TZWUgYWxzbyBteSBvdGhlciBleHRlbnNpb24sIEJpbmcgV2FsbHBhcGVyIENoYW5nZXIgKGh0dHBzOi8vZ2l0aHViLmNvbS9uZWZmby9iaW5nLXdhbGxwYXBlci1nbm9tZS1leHRlbnNpb24pLlxuXG5GZWF0dXJlczpcbiogRmV0Y2hlcyBhIHJhbmRvbSBHb29nbGUgRWFydGggd2FsbHBhcGVyIGFuZCBzZXRzIGFzIGJvdGggbG9jayBzY3JlZW4gYW5kIGRlc2t0b3Agd2FsbHBhcGVyXG4qIFVzZXIgc2VsZWN0YWJsZSByZWZyZXNoIGludGVydmFscyAoZGVmYXVsdCBpcyBvbmNlIHBlciBkYXkpXG4qIFZpZXcgbG9jYXRpb24gb24gR29vZ2xlIE1hcHMsIEJpbmcgTWFwcywgR25vbWUgTWFwcywgT3BlblN0cmVldE1hcHNcbiogIEdlcm1hbiwgRHV0Y2ggYW5kIENoaW5lc2UgdHJhbnNsYXRpb25zXG5cblBsZWFzZSByZXBvcnQgYW55IGJ1Z3Mgb3Igc3VnZ2VzdGlvbnMgdG8gZXh0ZW5zaW9uIEdpdEh1YiBwYWdlIGJlbG93LiIsCiAgIm5hbWUiOiAiR29vZ2xlIEVhcnRoIFZpZXcgd2FsbHBhcGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdvb2dsZWVhcnRod2FsbHBhcGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uZWZmby9lYXJ0aC12aWV3LXdhbGxwYXBlci1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogIkdvb2dsZUVhcnRoV2FsbHBhcGVyQG5lZmZvLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "41": {"version": "13", "sha256": "0s8xf16fxzizvpwg3lky0gkvsh732rh84wayj9nq3vq71ph2g4jz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXQgeW91ciB3YWxscGFwZXIgdG8gYSByYW5kb20gcGhvdG8gZnJvbSB0aGUgY3VyYXRlZCBHb29nbGUgRWFydGggVmlldyBjb2xsZWN0aW9uICgyNjAwKyBwaG90b3MpLlxuXG4qRGlzY2xhaW1lcio6IHRoaXMgZXh0ZW5zaW9uIGlzIHVub2ZmaWNpYWwgYW5kIG5vdCBhZmZpbGlhdGVkIHdpdGggR29vZ2xlIGluIGFueSB3YXkuIEltYWdlcyBhcmUgcHJvdGVjdGVkIGJ5IGNvcHlyaWdodCBhbmQgYXJlIGxpY2Vuc2VkIG9ubHkgZm9yIHVzZSBhcyB3YWxscGFwZXJzLlxuXG5TZWUgYWxzbyBteSBvdGhlciBleHRlbnNpb24sIEJpbmcgV2FsbHBhcGVyIENoYW5nZXIgKGh0dHBzOi8vZ2l0aHViLmNvbS9uZWZmby9iaW5nLXdhbGxwYXBlci1nbm9tZS1leHRlbnNpb24pLlxuXG5GZWF0dXJlczpcbiogRmV0Y2hlcyBhIHJhbmRvbSBHb29nbGUgRWFydGggd2FsbHBhcGVyIGFuZCBzZXRzIGFzIGJvdGggbG9jayBzY3JlZW4gYW5kIGRlc2t0b3Agd2FsbHBhcGVyXG4qIFVzZXIgc2VsZWN0YWJsZSByZWZyZXNoIGludGVydmFscyAoZGVmYXVsdCBpcyBvbmNlIHBlciBkYXkpXG4qIFZpZXcgbG9jYXRpb24gb24gR29vZ2xlIE1hcHMsIEJpbmcgTWFwcywgR25vbWUgTWFwcywgT3BlblN0cmVldE1hcHNcbiogIEdlcm1hbiwgRHV0Y2ggYW5kIENoaW5lc2UgdHJhbnNsYXRpb25zXG5cblBsZWFzZSByZXBvcnQgYW55IGJ1Z3Mgb3Igc3VnZ2VzdGlvbnMgdG8gZXh0ZW5zaW9uIEdpdEh1YiBwYWdlIGJlbG93LiIsCiAgIm5hbWUiOiAiR29vZ2xlIEVhcnRoIFZpZXcgd2FsbHBhcGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdvb2dsZWVhcnRod2FsbHBhcGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uZWZmby9lYXJ0aC12aWV3LXdhbGxwYXBlci1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogIkdvb2dsZUVhcnRoV2FsbHBhcGVyQG5lZmZvLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}}}
+, {"uuid": "GoogleEarthWallpaper@neffo.github.com", "name": "Google Earth Wallpaper", "pname": "google-earth-wallpaper", "description": "Lightweight GNOME shell extension to set your wallpaper to a random photo from the curated Google Earth collection (2604 photos).\n\n*Disclaimer*: this extension is unofficial and not affiliated with Google in any way. Images are protected by copyright and are licensed only for use as wallpapers.\n\nSee also my other extension, Bing Wallpaper Changer (https://github.com/neffo/bing-wallpaper-gnome-extension).\n\nFeatures:\n* Fetches a random Google Earth wallpaper and sets as both lock screen and desktop wallpaper\n* User selectable refresh intervals (default is once per day)\n* View location on Google Maps, Bing Maps, Gnome Maps, OpenStreetMaps\n*  German, Dutch, Chinese, Arabic and Italian translations\n\nPlease report any bugs or suggestions to extension GitHub page below.", "link": "https://extensions.gnome.org/extension/1295/google-earth-wallpaper/", "shell_version_map": {"38": {"version": "14", "sha256": "174qwphskn6g87ipdfbpl6dqsy05vmks8dbx1p7cnk13fz0ys5zb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXQgeW91ciB3YWxscGFwZXIgdG8gYSByYW5kb20gcGhvdG8gZnJvbSB0aGUgY3VyYXRlZCBHb29nbGUgRWFydGggY29sbGVjdGlvbiAoMjYwNCBwaG90b3MpLlxuXG4qRGlzY2xhaW1lcio6IHRoaXMgZXh0ZW5zaW9uIGlzIHVub2ZmaWNpYWwgYW5kIG5vdCBhZmZpbGlhdGVkIHdpdGggR29vZ2xlIGluIGFueSB3YXkuIEltYWdlcyBhcmUgcHJvdGVjdGVkIGJ5IGNvcHlyaWdodCBhbmQgYXJlIGxpY2Vuc2VkIG9ubHkgZm9yIHVzZSBhcyB3YWxscGFwZXJzLlxuXG5TZWUgYWxzbyBteSBvdGhlciBleHRlbnNpb24sIEJpbmcgV2FsbHBhcGVyIENoYW5nZXIgKGh0dHBzOi8vZ2l0aHViLmNvbS9uZWZmby9iaW5nLXdhbGxwYXBlci1nbm9tZS1leHRlbnNpb24pLlxuXG5GZWF0dXJlczpcbiogRmV0Y2hlcyBhIHJhbmRvbSBHb29nbGUgRWFydGggd2FsbHBhcGVyIGFuZCBzZXRzIGFzIGJvdGggbG9jayBzY3JlZW4gYW5kIGRlc2t0b3Agd2FsbHBhcGVyXG4qIFVzZXIgc2VsZWN0YWJsZSByZWZyZXNoIGludGVydmFscyAoZGVmYXVsdCBpcyBvbmNlIHBlciBkYXkpXG4qIFZpZXcgbG9jYXRpb24gb24gR29vZ2xlIE1hcHMsIEJpbmcgTWFwcywgR25vbWUgTWFwcywgT3BlblN0cmVldE1hcHNcbiogIEdlcm1hbiwgRHV0Y2gsIENoaW5lc2UsIEFyYWJpYyBhbmQgSXRhbGlhbiB0cmFuc2xhdGlvbnNcblxuUGxlYXNlIHJlcG9ydCBhbnkgYnVncyBvciBzdWdnZXN0aW9ucyB0byBleHRlbnNpb24gR2l0SHViIHBhZ2UgYmVsb3cuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiR29vZ2xlRWFydGhXYWxscGFwZXIiLAogICJuYW1lIjogIkdvb2dsZSBFYXJ0aCBXYWxscGFwZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ29vZ2xlZWFydGh3YWxscGFwZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uZWZmby9lYXJ0aC12aWV3LXdhbGxwYXBlci1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogIkdvb2dsZUVhcnRoV2FsbHBhcGVyQG5lZmZvLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "40": {"version": "14", "sha256": "174qwphskn6g87ipdfbpl6dqsy05vmks8dbx1p7cnk13fz0ys5zb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXQgeW91ciB3YWxscGFwZXIgdG8gYSByYW5kb20gcGhvdG8gZnJvbSB0aGUgY3VyYXRlZCBHb29nbGUgRWFydGggY29sbGVjdGlvbiAoMjYwNCBwaG90b3MpLlxuXG4qRGlzY2xhaW1lcio6IHRoaXMgZXh0ZW5zaW9uIGlzIHVub2ZmaWNpYWwgYW5kIG5vdCBhZmZpbGlhdGVkIHdpdGggR29vZ2xlIGluIGFueSB3YXkuIEltYWdlcyBhcmUgcHJvdGVjdGVkIGJ5IGNvcHlyaWdodCBhbmQgYXJlIGxpY2Vuc2VkIG9ubHkgZm9yIHVzZSBhcyB3YWxscGFwZXJzLlxuXG5TZWUgYWxzbyBteSBvdGhlciBleHRlbnNpb24sIEJpbmcgV2FsbHBhcGVyIENoYW5nZXIgKGh0dHBzOi8vZ2l0aHViLmNvbS9uZWZmby9iaW5nLXdhbGxwYXBlci1nbm9tZS1leHRlbnNpb24pLlxuXG5GZWF0dXJlczpcbiogRmV0Y2hlcyBhIHJhbmRvbSBHb29nbGUgRWFydGggd2FsbHBhcGVyIGFuZCBzZXRzIGFzIGJvdGggbG9jayBzY3JlZW4gYW5kIGRlc2t0b3Agd2FsbHBhcGVyXG4qIFVzZXIgc2VsZWN0YWJsZSByZWZyZXNoIGludGVydmFscyAoZGVmYXVsdCBpcyBvbmNlIHBlciBkYXkpXG4qIFZpZXcgbG9jYXRpb24gb24gR29vZ2xlIE1hcHMsIEJpbmcgTWFwcywgR25vbWUgTWFwcywgT3BlblN0cmVldE1hcHNcbiogIEdlcm1hbiwgRHV0Y2gsIENoaW5lc2UsIEFyYWJpYyBhbmQgSXRhbGlhbiB0cmFuc2xhdGlvbnNcblxuUGxlYXNlIHJlcG9ydCBhbnkgYnVncyBvciBzdWdnZXN0aW9ucyB0byBleHRlbnNpb24gR2l0SHViIHBhZ2UgYmVsb3cuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiR29vZ2xlRWFydGhXYWxscGFwZXIiLAogICJuYW1lIjogIkdvb2dsZSBFYXJ0aCBXYWxscGFwZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ29vZ2xlZWFydGh3YWxscGFwZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uZWZmby9lYXJ0aC12aWV3LXdhbGxwYXBlci1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogIkdvb2dsZUVhcnRoV2FsbHBhcGVyQG5lZmZvLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "41": {"version": "14", "sha256": "174qwphskn6g87ipdfbpl6dqsy05vmks8dbx1p7cnk13fz0ys5zb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXQgeW91ciB3YWxscGFwZXIgdG8gYSByYW5kb20gcGhvdG8gZnJvbSB0aGUgY3VyYXRlZCBHb29nbGUgRWFydGggY29sbGVjdGlvbiAoMjYwNCBwaG90b3MpLlxuXG4qRGlzY2xhaW1lcio6IHRoaXMgZXh0ZW5zaW9uIGlzIHVub2ZmaWNpYWwgYW5kIG5vdCBhZmZpbGlhdGVkIHdpdGggR29vZ2xlIGluIGFueSB3YXkuIEltYWdlcyBhcmUgcHJvdGVjdGVkIGJ5IGNvcHlyaWdodCBhbmQgYXJlIGxpY2Vuc2VkIG9ubHkgZm9yIHVzZSBhcyB3YWxscGFwZXJzLlxuXG5TZWUgYWxzbyBteSBvdGhlciBleHRlbnNpb24sIEJpbmcgV2FsbHBhcGVyIENoYW5nZXIgKGh0dHBzOi8vZ2l0aHViLmNvbS9uZWZmby9iaW5nLXdhbGxwYXBlci1nbm9tZS1leHRlbnNpb24pLlxuXG5GZWF0dXJlczpcbiogRmV0Y2hlcyBhIHJhbmRvbSBHb29nbGUgRWFydGggd2FsbHBhcGVyIGFuZCBzZXRzIGFzIGJvdGggbG9jayBzY3JlZW4gYW5kIGRlc2t0b3Agd2FsbHBhcGVyXG4qIFVzZXIgc2VsZWN0YWJsZSByZWZyZXNoIGludGVydmFscyAoZGVmYXVsdCBpcyBvbmNlIHBlciBkYXkpXG4qIFZpZXcgbG9jYXRpb24gb24gR29vZ2xlIE1hcHMsIEJpbmcgTWFwcywgR25vbWUgTWFwcywgT3BlblN0cmVldE1hcHNcbiogIEdlcm1hbiwgRHV0Y2gsIENoaW5lc2UsIEFyYWJpYyBhbmQgSXRhbGlhbiB0cmFuc2xhdGlvbnNcblxuUGxlYXNlIHJlcG9ydCBhbnkgYnVncyBvciBzdWdnZXN0aW9ucyB0byBleHRlbnNpb24gR2l0SHViIHBhZ2UgYmVsb3cuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiR29vZ2xlRWFydGhXYWxscGFwZXIiLAogICJuYW1lIjogIkdvb2dsZSBFYXJ0aCBXYWxscGFwZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ29vZ2xlZWFydGh3YWxscGFwZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uZWZmby9lYXJ0aC12aWV3LXdhbGxwYXBlci1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogIkdvb2dsZUVhcnRoV2FsbHBhcGVyQG5lZmZvLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "42": {"version": "14", "sha256": "174qwphskn6g87ipdfbpl6dqsy05vmks8dbx1p7cnk13fz0ys5zb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXQgeW91ciB3YWxscGFwZXIgdG8gYSByYW5kb20gcGhvdG8gZnJvbSB0aGUgY3VyYXRlZCBHb29nbGUgRWFydGggY29sbGVjdGlvbiAoMjYwNCBwaG90b3MpLlxuXG4qRGlzY2xhaW1lcio6IHRoaXMgZXh0ZW5zaW9uIGlzIHVub2ZmaWNpYWwgYW5kIG5vdCBhZmZpbGlhdGVkIHdpdGggR29vZ2xlIGluIGFueSB3YXkuIEltYWdlcyBhcmUgcHJvdGVjdGVkIGJ5IGNvcHlyaWdodCBhbmQgYXJlIGxpY2Vuc2VkIG9ubHkgZm9yIHVzZSBhcyB3YWxscGFwZXJzLlxuXG5TZWUgYWxzbyBteSBvdGhlciBleHRlbnNpb24sIEJpbmcgV2FsbHBhcGVyIENoYW5nZXIgKGh0dHBzOi8vZ2l0aHViLmNvbS9uZWZmby9iaW5nLXdhbGxwYXBlci1nbm9tZS1leHRlbnNpb24pLlxuXG5GZWF0dXJlczpcbiogRmV0Y2hlcyBhIHJhbmRvbSBHb29nbGUgRWFydGggd2FsbHBhcGVyIGFuZCBzZXRzIGFzIGJvdGggbG9jayBzY3JlZW4gYW5kIGRlc2t0b3Agd2FsbHBhcGVyXG4qIFVzZXIgc2VsZWN0YWJsZSByZWZyZXNoIGludGVydmFscyAoZGVmYXVsdCBpcyBvbmNlIHBlciBkYXkpXG4qIFZpZXcgbG9jYXRpb24gb24gR29vZ2xlIE1hcHMsIEJpbmcgTWFwcywgR25vbWUgTWFwcywgT3BlblN0cmVldE1hcHNcbiogIEdlcm1hbiwgRHV0Y2gsIENoaW5lc2UsIEFyYWJpYyBhbmQgSXRhbGlhbiB0cmFuc2xhdGlvbnNcblxuUGxlYXNlIHJlcG9ydCBhbnkgYnVncyBvciBzdWdnZXN0aW9ucyB0byBleHRlbnNpb24gR2l0SHViIHBhZ2UgYmVsb3cuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiR29vZ2xlRWFydGhXYWxscGFwZXIiLAogICJuYW1lIjogIkdvb2dsZSBFYXJ0aCBXYWxscGFwZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ29vZ2xlZWFydGh3YWxscGFwZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uZWZmby9lYXJ0aC12aWV3LXdhbGxwYXBlci1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogIkdvb2dsZUVhcnRoV2FsbHBhcGVyQG5lZmZvLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
 , {"uuid": "gsconnect@andyholmes.github.io", "name": "GSConnect", "pname": "gsconnect", "description": "GSConnect is a complete implementation of KDE Connect especially for GNOME Shell with Nautilus, Chrome and Firefox integration. It does not rely on the KDE Connect desktop application and will not work with it installed.\n\nKDE Connect allows devices to securely share content like notifications or files and other features like SMS messaging and remote control. The KDE Connect team has applications for Linux, BSD, Android, Sailfish and Windows.\n\nPlease report issues on Github!", "link": "https://extensions.gnome.org/extension/1319/gsconnect/", "shell_version_map": {"38": {"version": "51", "sha256": "00mb2w724526gs0jskav00bc0y5dq1qybzczlahgc2znykqf1x8l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdTQ29ubmVjdCBpcyBhIGNvbXBsZXRlIGltcGxlbWVudGF0aW9uIG9mIEtERSBDb25uZWN0IGVzcGVjaWFsbHkgZm9yIEdOT01FIFNoZWxsIHdpdGggTmF1dGlsdXMsIENocm9tZSBhbmQgRmlyZWZveCBpbnRlZ3JhdGlvbi4gSXQgZG9lcyBub3QgcmVseSBvbiB0aGUgS0RFIENvbm5lY3QgZGVza3RvcCBhcHBsaWNhdGlvbiBhbmQgd2lsbCBub3Qgd29yayB3aXRoIGl0IGluc3RhbGxlZC5cblxuS0RFIENvbm5lY3QgYWxsb3dzIGRldmljZXMgdG8gc2VjdXJlbHkgc2hhcmUgY29udGVudCBsaWtlIG5vdGlmaWNhdGlvbnMgb3IgZmlsZXMgYW5kIG90aGVyIGZlYXR1cmVzIGxpa2UgU01TIG1lc3NhZ2luZyBhbmQgcmVtb3RlIGNvbnRyb2wuIFRoZSBLREUgQ29ubmVjdCB0ZWFtIGhhcyBhcHBsaWNhdGlvbnMgZm9yIExpbnV4LCBCU0QsIEFuZHJvaWQsIFNhaWxmaXNoIGFuZCBXaW5kb3dzLlxuXG5QbGVhc2UgcmVwb3J0IGlzc3VlcyBvbiBHaXRodWIhIiwKICAibmFtZSI6ICJHU0Nvbm5lY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HU0Nvbm5lY3QvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWdzY29ubmVjdC93aWtpIiwKICAidXVpZCI6ICJnc2Nvbm5lY3RAYW5keWhvbG1lcy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNTEKfQ=="}, "40": {"version": "47", "sha256": "0795yd6j8z2rgcv3fc8y2i4cnl4c8mni512jf776cfk745j5ck6p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdTQ29ubmVjdCBpcyBhIGNvbXBsZXRlIGltcGxlbWVudGF0aW9uIG9mIEtERSBDb25uZWN0IGVzcGVjaWFsbHkgZm9yIEdOT01FIFNoZWxsIHdpdGggTmF1dGlsdXMsIENocm9tZSBhbmQgRmlyZWZveCBpbnRlZ3JhdGlvbi4gSXQgZG9lcyBub3QgcmVseSBvbiB0aGUgS0RFIENvbm5lY3QgZGVza3RvcCBhcHBsaWNhdGlvbiBhbmQgd2lsbCBub3Qgd29yayB3aXRoIGl0IGluc3RhbGxlZC5cblxuS0RFIENvbm5lY3QgYWxsb3dzIGRldmljZXMgdG8gc2VjdXJlbHkgc2hhcmUgY29udGVudCBsaWtlIG5vdGlmaWNhdGlvbnMgb3IgZmlsZXMgYW5kIG90aGVyIGZlYXR1cmVzIGxpa2UgU01TIG1lc3NhZ2luZyBhbmQgcmVtb3RlIGNvbnRyb2wuIFRoZSBLREUgQ29ubmVjdCB0ZWFtIGhhcyBhcHBsaWNhdGlvbnMgZm9yIExpbnV4LCBCU0QsIEFuZHJvaWQsIFNhaWxmaXNoIGFuZCBXaW5kb3dzLlxuXG5QbGVhc2UgcmVwb3J0IGlzc3VlcyBvbiBHaXRodWIhIiwKICAibmFtZSI6ICJHU0Nvbm5lY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vR1NDb25uZWN0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1nc2Nvbm5lY3Qvd2lraSIsCiAgInV1aWQiOiAiZ3Njb25uZWN0QGFuZHlob2xtZXMuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQ3Cn0="}, "41": {"version": "49", "sha256": "15dh5qn9bmizgq9mcbk7nbja2arnc1bd9fvkkvhqm4kf4zlzf018", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdTQ29ubmVjdCBpcyBhIGNvbXBsZXRlIGltcGxlbWVudGF0aW9uIG9mIEtERSBDb25uZWN0IGVzcGVjaWFsbHkgZm9yIEdOT01FIFNoZWxsIHdpdGggTmF1dGlsdXMsIENocm9tZSBhbmQgRmlyZWZveCBpbnRlZ3JhdGlvbi4gSXQgZG9lcyBub3QgcmVseSBvbiB0aGUgS0RFIENvbm5lY3QgZGVza3RvcCBhcHBsaWNhdGlvbiBhbmQgd2lsbCBub3Qgd29yayB3aXRoIGl0IGluc3RhbGxlZC5cblxuS0RFIENvbm5lY3QgYWxsb3dzIGRldmljZXMgdG8gc2VjdXJlbHkgc2hhcmUgY29udGVudCBsaWtlIG5vdGlmaWNhdGlvbnMgb3IgZmlsZXMgYW5kIG90aGVyIGZlYXR1cmVzIGxpa2UgU01TIG1lc3NhZ2luZyBhbmQgcmVtb3RlIGNvbnRyb2wuIFRoZSBLREUgQ29ubmVjdCB0ZWFtIGhhcyBhcHBsaWNhdGlvbnMgZm9yIExpbnV4LCBCU0QsIEFuZHJvaWQsIFNhaWxmaXNoIGFuZCBXaW5kb3dzLlxuXG5QbGVhc2UgcmVwb3J0IGlzc3VlcyBvbiBHaXRodWIhIiwKICAibmFtZSI6ICJHU0Nvbm5lY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vR1NDb25uZWN0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1nc2Nvbm5lY3Qvd2lraSIsCiAgInV1aWQiOiAiZ3Njb25uZWN0QGFuZHlob2xtZXMuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQ5Cn0="}, "42": {"version": "50", "sha256": "1px9dm4zrn79zgvdc05mppi3jh09sjmkw07pbxrb8yhix3lhzal4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdTQ29ubmVjdCBpcyBhIGNvbXBsZXRlIGltcGxlbWVudGF0aW9uIG9mIEtERSBDb25uZWN0IGVzcGVjaWFsbHkgZm9yIEdOT01FIFNoZWxsIHdpdGggTmF1dGlsdXMsIENocm9tZSBhbmQgRmlyZWZveCBpbnRlZ3JhdGlvbi4gSXQgZG9lcyBub3QgcmVseSBvbiB0aGUgS0RFIENvbm5lY3QgZGVza3RvcCBhcHBsaWNhdGlvbiBhbmQgd2lsbCBub3Qgd29yayB3aXRoIGl0IGluc3RhbGxlZC5cblxuS0RFIENvbm5lY3QgYWxsb3dzIGRldmljZXMgdG8gc2VjdXJlbHkgc2hhcmUgY29udGVudCBsaWtlIG5vdGlmaWNhdGlvbnMgb3IgZmlsZXMgYW5kIG90aGVyIGZlYXR1cmVzIGxpa2UgU01TIG1lc3NhZ2luZyBhbmQgcmVtb3RlIGNvbnRyb2wuIFRoZSBLREUgQ29ubmVjdCB0ZWFtIGhhcyBhcHBsaWNhdGlvbnMgZm9yIExpbnV4LCBCU0QsIEFuZHJvaWQsIFNhaWxmaXNoIGFuZCBXaW5kb3dzLlxuXG5QbGVhc2UgcmVwb3J0IGlzc3VlcyBvbiBHaXRodWIhIiwKICAibmFtZSI6ICJHU0Nvbm5lY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vR1NDb25uZWN0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1nc2Nvbm5lY3Qvd2lraSIsCiAgInV1aWQiOiAiZ3Njb25uZWN0QGFuZHlob2xtZXMuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDUwCn0="}}}
 , {"uuid": "nvidiautil@ethanwharris", "name": "NVIDIA GPU Stats Tool", "pname": "nvidia-gpu-stats-tool", "description": "Shows NVIDIA GPU stats in the toolbar. Requires nvidia-settings or nvidia-smi. Includes Bumblebee support.", "link": "https://extensions.gnome.org/extension/1320/nvidia-gpu-stats-tool/", "shell_version_map": {"38": {"version": "8", "sha256": "12yi2kcq2rm1ddb8djjlffvk6dhpfd996wjhwdf4jch1r85r8a30", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIE5WSURJQSBHUFUgc3RhdHMgaW4gdGhlIHRvb2xiYXIuIFJlcXVpcmVzIG52aWRpYS1zZXR0aW5ncyBvciBudmlkaWEtc21pLiBJbmNsdWRlcyBCdW1ibGViZWUgc3VwcG9ydC4iLAogICJuYW1lIjogIk5WSURJQSBHUFUgU3RhdHMgVG9vbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5udmlkaWF1dGlsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXRoYW53aGFycmlzL2dub21lLW52aWRpYS1leHRlbnNpb24iLAogICJ1dWlkIjogIm52aWRpYXV0aWxAZXRoYW53aGFycmlzIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "pause-night-light@tijnschuurmans.nl", "name": "Pause Night Light", "pname": "pause-night-light", "description": "Disable Night Light for 10 seconds. This short interruption allows you to scan a colour code (e.g. Crontosign) from your screen.", "link": "https://extensions.gnome.org/extension/1327/pause-night-light/", "shell_version_map": {"40": {"version": "8", "sha256": "1j4yywvmwplbyjjwp79rxmfgsf7kv67v0d9rhbg6bnqw04bq91ki", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgTmlnaHQgTGlnaHQgZm9yIDEwIHNlY29uZHMuIFRoaXMgc2hvcnQgaW50ZXJydXB0aW9uIGFsbG93cyB5b3UgdG8gc2NhbiBhIGNvbG91ciBjb2RlIChlLmcuIENyb250b3NpZ24pIGZyb20geW91ciBzY3JlZW4uIiwKICAibmFtZSI6ICJQYXVzZSBOaWdodCBMaWdodCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yNiIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Rpam4vcGF1c2UtbmlnaHQtbGlnaHQiLAogICJ1dWlkIjogInBhdXNlLW5pZ2h0LWxpZ2h0QHRpam5zY2h1dXJtYW5zLm5sIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
@@ -180,7 +181,7 @@
 , {"uuid": "syspeek-gs@gs.eros2.info", "name": "SysPeek-GS", "pname": "syspeek-gs", "description": "Minimalistic CPU load monitor widget inspired by SysPeek indicator", "link": "https://extensions.gnome.org/extension/1409/syspeek-gs/", "shell_version_map": {"38": {"version": "10", "sha256": "1hv65wfhd24i773pngr4s5if9n0ailb1lmn9dk01b93nhcxdbynf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltYWxpc3RpYyBDUFUgbG9hZCBtb25pdG9yIHdpZGdldCBpbnNwaXJlZCBieSBTeXNQZWVrIGluZGljYXRvciIsCiAgIm5hbWUiOiAiU3lzUGVlay1HUyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2V1Z2VuZS1yb20vc3lzcGVlay1ncyIsCiAgInV1aWQiOiAic3lzcGVlay1nc0Bncy5lcm9zMi5pbmZvIiwKICAidmVyc2lvbiI6IDEwCn0="}, "40": {"version": "10", "sha256": "1hv65wfhd24i773pngr4s5if9n0ailb1lmn9dk01b93nhcxdbynf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltYWxpc3RpYyBDUFUgbG9hZCBtb25pdG9yIHdpZGdldCBpbnNwaXJlZCBieSBTeXNQZWVrIGluZGljYXRvciIsCiAgIm5hbWUiOiAiU3lzUGVlay1HUyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2V1Z2VuZS1yb20vc3lzcGVlay1ncyIsCiAgInV1aWQiOiAic3lzcGVlay1nc0Bncy5lcm9zMi5pbmZvIiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "1hv65wfhd24i773pngr4s5if9n0ailb1lmn9dk01b93nhcxdbynf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltYWxpc3RpYyBDUFUgbG9hZCBtb25pdG9yIHdpZGdldCBpbnNwaXJlZCBieSBTeXNQZWVrIGluZGljYXRvciIsCiAgIm5hbWUiOiAiU3lzUGVlay1HUyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2V1Z2VuZS1yb20vc3lzcGVlay1ncyIsCiAgInV1aWQiOiAic3lzcGVlay1nc0Bncy5lcm9zMi5pbmZvIiwKICAidmVyc2lvbiI6IDEwCn0="}, "42": {"version": "10", "sha256": "1hv65wfhd24i773pngr4s5if9n0ailb1lmn9dk01b93nhcxdbynf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltYWxpc3RpYyBDUFUgbG9hZCBtb25pdG9yIHdpZGdldCBpbnNwaXJlZCBieSBTeXNQZWVrIGluZGljYXRvciIsCiAgIm5hbWUiOiAiU3lzUGVlay1HUyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2V1Z2VuZS1yb20vc3lzcGVlay1ncyIsCiAgInV1aWQiOiAic3lzcGVlay1nc0Bncy5lcm9zMi5pbmZvIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
 , {"uuid": "discrete-brightness@gs.eros2.info", "name": "Discrete brightness", "pname": "discrete-brightness", "description": "Discrete brightness indicator change brightness in discrete steps, unlike default smooth brightness bar in Gnome Shell", "link": "https://extensions.gnome.org/extension/1410/discrete-brightness/", "shell_version_map": {"38": {"version": "7", "sha256": "0kn8c4zm9d7n56qg5wmj8q3cqqhrzd2h2jj6r7x718gyv84m14mv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2NyZXRlIGJyaWdodG5lc3MgaW5kaWNhdG9yIGNoYW5nZSBicmlnaHRuZXNzIGluIGRpc2NyZXRlIHN0ZXBzLCB1bmxpa2UgZGVmYXVsdCBzbW9vdGggYnJpZ2h0bmVzcyBiYXIgaW4gR25vbWUgU2hlbGwiLAogICJuYW1lIjogIkRpc2NyZXRlIGJyaWdodG5lc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ldWdlbmUtcm9tL2Rpc2NyZXRlLWJyaWdodG5lc3MiLAogICJ1dWlkIjogImRpc2NyZXRlLWJyaWdodG5lc3NAZ3MuZXJvczIuaW5mbyIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "0kn8c4zm9d7n56qg5wmj8q3cqqhrzd2h2jj6r7x718gyv84m14mv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2NyZXRlIGJyaWdodG5lc3MgaW5kaWNhdG9yIGNoYW5nZSBicmlnaHRuZXNzIGluIGRpc2NyZXRlIHN0ZXBzLCB1bmxpa2UgZGVmYXVsdCBzbW9vdGggYnJpZ2h0bmVzcyBiYXIgaW4gR25vbWUgU2hlbGwiLAogICJuYW1lIjogIkRpc2NyZXRlIGJyaWdodG5lc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ldWdlbmUtcm9tL2Rpc2NyZXRlLWJyaWdodG5lc3MiLAogICJ1dWlkIjogImRpc2NyZXRlLWJyaWdodG5lc3NAZ3MuZXJvczIuaW5mbyIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "0kn8c4zm9d7n56qg5wmj8q3cqqhrzd2h2jj6r7x718gyv84m14mv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2NyZXRlIGJyaWdodG5lc3MgaW5kaWNhdG9yIGNoYW5nZSBicmlnaHRuZXNzIGluIGRpc2NyZXRlIHN0ZXBzLCB1bmxpa2UgZGVmYXVsdCBzbW9vdGggYnJpZ2h0bmVzcyBiYXIgaW4gR25vbWUgU2hlbGwiLAogICJuYW1lIjogIkRpc2NyZXRlIGJyaWdodG5lc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ldWdlbmUtcm9tL2Rpc2NyZXRlLWJyaWdodG5lc3MiLAogICJ1dWlkIjogImRpc2NyZXRlLWJyaWdodG5lc3NAZ3MuZXJvczIuaW5mbyIsCiAgInZlcnNpb24iOiA3Cn0="}, "42": {"version": "7", "sha256": "0kn8c4zm9d7n56qg5wmj8q3cqqhrzd2h2jj6r7x718gyv84m14mv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2NyZXRlIGJyaWdodG5lc3MgaW5kaWNhdG9yIGNoYW5nZSBicmlnaHRuZXNzIGluIGRpc2NyZXRlIHN0ZXBzLCB1bmxpa2UgZGVmYXVsdCBzbW9vdGggYnJpZ2h0bmVzcyBiYXIgaW4gR25vbWUgU2hlbGwiLAogICJuYW1lIjogIkRpc2NyZXRlIGJyaWdodG5lc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ldWdlbmUtcm9tL2Rpc2NyZXRlLWJyaWdodG5lc3MiLAogICJ1dWlkIjogImRpc2NyZXRlLWJyaWdodG5lc3NAZ3MuZXJvczIuaW5mbyIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "quake-mode@repsac-by.github.com", "name": "quake-mode", "pname": "quake-mode", "description": "Drop-down mode for any application", "link": "https://extensions.gnome.org/extension/1411/quake-mode/", "shell_version_map": {"38": {"version": "3", "sha256": "17498v2jw85fhrsldvgnj3x01h00wqarsp9zqp6ym4h7syzbjxrw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRyb3AtZG93biBtb2RlIGZvciBhbnkgYXBwbGljYXRpb24iLAogICJuYW1lIjogInF1YWtlLW1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yZXBzYWMtYnkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXF1YWtlLW1vZGUiLAogICJ1dWlkIjogInF1YWtlLW1vZGVAcmVwc2FjLWJ5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "5", "sha256": "07vhkpgck80facrds1zy6c6hk10fb06yhj1x5gay1vykv7msnqi7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRyb3AtZG93biBtb2RlIGZvciBhbnkgYXBwbGljYXRpb24iLAogICJuYW1lIjogInF1YWtlLW1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JlcHNhYy1ieS9nbm9tZS1zaGVsbC1leHRlbnNpb24tcXVha2UtbW9kZSIsCiAgInV1aWQiOiAicXVha2UtbW9kZUByZXBzYWMtYnkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "07vhkpgck80facrds1zy6c6hk10fb06yhj1x5gay1vykv7msnqi7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRyb3AtZG93biBtb2RlIGZvciBhbnkgYXBwbGljYXRpb24iLAogICJuYW1lIjogInF1YWtlLW1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JlcHNhYy1ieS9nbm9tZS1zaGVsbC1leHRlbnNpb24tcXVha2UtbW9kZSIsCiAgInV1aWQiOiAicXVha2UtbW9kZUByZXBzYWMtYnkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
-, {"uuid": "unblank@sun.wxg@gmail.com", "name": "Unblank lock screen", "pname": "unblank", "description": "Unblank lock screen.", "link": "https://extensions.gnome.org/extension/1414/unblank/", "shell_version_map": {"38": {"version": "20", "sha256": "0fb2vbjgl93a0maw9wxw1x47ndfg40gf087rmfk7lgxr8b6vp9si", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuYmxhbmsgbG9jayBzY3JlZW4uIiwKICAibmFtZSI6ICJVbmJsYW5rIGxvY2sgc2NyZWVuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdW5ibGFuayIsCiAgInV1aWQiOiAidW5ibGFua0BzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMAp9"}, "40": {"version": "22", "sha256": "1kb7l1q7dvz5z5xrmhgm48jabblh81n8cm34ck711psy4rv1ljy2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuYmxhbmsgbG9jayBzY3JlZW4uIiwKICAibmFtZSI6ICJVbmJsYW5rIGxvY2sgc2NyZWVuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVuYmxhbmsiLAogICJ1dWlkIjogInVuYmxhbmtAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "41": {"version": "26", "sha256": "1ifjqawnnksnfhh05yxpzz7jk3nz3sd3rzdg12i6g35kf7w0gmln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuYmxhbmsgbG9jayBzY3JlZW4uIiwKICAibmFtZSI6ICJVbmJsYW5rIGxvY2sgc2NyZWVuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVuYmxhbmsiLAogICJ1dWlkIjogInVuYmxhbmtAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjYKfQ=="}}}
+, {"uuid": "unblank@sun.wxg@gmail.com", "name": "Unblank lock screen", "pname": "unblank", "description": "Unblank lock screen.", "link": "https://extensions.gnome.org/extension/1414/unblank/", "shell_version_map": {"38": {"version": "20", "sha256": "0fb2vbjgl93a0maw9wxw1x47ndfg40gf087rmfk7lgxr8b6vp9si", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuYmxhbmsgbG9jayBzY3JlZW4uIiwKICAibmFtZSI6ICJVbmJsYW5rIGxvY2sgc2NyZWVuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdW5ibGFuayIsCiAgInV1aWQiOiAidW5ibGFua0BzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMAp9"}, "40": {"version": "22", "sha256": "1kb7l1q7dvz5z5xrmhgm48jabblh81n8cm34ck711psy4rv1ljy2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuYmxhbmsgbG9jayBzY3JlZW4uIiwKICAibmFtZSI6ICJVbmJsYW5rIGxvY2sgc2NyZWVuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVuYmxhbmsiLAogICJ1dWlkIjogInVuYmxhbmtAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "41": {"version": "27", "sha256": "10g526zajd9ispj0cgjqrvl7g6zlfpvfmadh1b86qarllaqs060m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuYmxhbmsgbG9jayBzY3JlZW4uIiwKICAibmFtZSI6ICJVbmJsYW5rIGxvY2sgc2NyZWVuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi11bmJsYW5rIiwKICAidXVpZCI6ICJ1bmJsYW5rQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDI3Cn0="}, "42": {"version": "27", "sha256": "10g526zajd9ispj0cgjqrvl7g6zlfpvfmadh1b86qarllaqs060m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVuYmxhbmsgbG9jayBzY3JlZW4uIiwKICAibmFtZSI6ICJVbmJsYW5rIGxvY2sgc2NyZWVuIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi11bmJsYW5rIiwKICAidXVpZCI6ICJ1bmJsYW5rQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDI3Cn0="}}}
 , {"uuid": "vbox-applet@gs.eros2.info", "name": "VirtualBox applet", "pname": "virtualbox-applet", "description": "Provide menu to run VirtualBox machines and switch between running VMs", "link": "https://extensions.gnome.org/extension/1415/virtualbox-applet/", "shell_version_map": {"38": {"version": "11", "sha256": "0sw84xiz1r2i0iza76ybywd9mcw0npgls08hzms4kl4fpbd1g3ym", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgbWVudSB0byBydW4gVmlydHVhbEJveCBtYWNoaW5lcyBhbmQgc3dpdGNoIGJldHdlZW4gcnVubmluZyBWTXMiLAogICJuYW1lIjogIlZpcnR1YWxCb3ggYXBwbGV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnZib3gtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXVnZW5lLXJvbS92Ym94LWFwcGxldCIsCiAgInV1aWQiOiAidmJveC1hcHBsZXRAZ3MuZXJvczIuaW5mbyIsCiAgInZlcnNpb24iOiAxMQp9"}, "40": {"version": "11", "sha256": "0sw84xiz1r2i0iza76ybywd9mcw0npgls08hzms4kl4fpbd1g3ym", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgbWVudSB0byBydW4gVmlydHVhbEJveCBtYWNoaW5lcyBhbmQgc3dpdGNoIGJldHdlZW4gcnVubmluZyBWTXMiLAogICJuYW1lIjogIlZpcnR1YWxCb3ggYXBwbGV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnZib3gtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXVnZW5lLXJvbS92Ym94LWFwcGxldCIsCiAgInV1aWQiOiAidmJveC1hcHBsZXRAZ3MuZXJvczIuaW5mbyIsCiAgInZlcnNpb24iOiAxMQp9"}, "41": {"version": "11", "sha256": "0sw84xiz1r2i0iza76ybywd9mcw0npgls08hzms4kl4fpbd1g3ym", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgbWVudSB0byBydW4gVmlydHVhbEJveCBtYWNoaW5lcyBhbmQgc3dpdGNoIGJldHdlZW4gcnVubmluZyBWTXMiLAogICJuYW1lIjogIlZpcnR1YWxCb3ggYXBwbGV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnZib3gtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXVnZW5lLXJvbS92Ym94LWFwcGxldCIsCiAgInV1aWQiOiAidmJveC1hcHBsZXRAZ3MuZXJvczIuaW5mbyIsCiAgInZlcnNpb24iOiAxMQp9"}, "42": {"version": "11", "sha256": "0sw84xiz1r2i0iza76ybywd9mcw0npgls08hzms4kl4fpbd1g3ym", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgbWVudSB0byBydW4gVmlydHVhbEJveCBtYWNoaW5lcyBhbmQgc3dpdGNoIGJldHdlZW4gcnVubmluZyBWTXMiLAogICJuYW1lIjogIlZpcnR1YWxCb3ggYXBwbGV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnZib3gtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXVnZW5lLXJvbS92Ym94LWFwcGxldCIsCiAgInV1aWQiOiAidmJveC1hcHBsZXRAZ3MuZXJvczIuaW5mbyIsCiAgInZlcnNpb24iOiAxMQp9"}}}
 , {"uuid": "stocks@infinicode.de", "name": "Stocks Extension", "pname": "stocks-extension", "description": "Stocks Extension brings stock quotes to your GNOME Shell Panel", "link": "https://extensions.gnome.org/extension/1422/stocks-extension/", "shell_version_map": {"38": {"version": "19", "sha256": "1414cksayqpv0w0q632yi33ifqlwyfggwf684aci6qj81fs644y2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0b2NrcyBFeHRlbnNpb24gYnJpbmdzIHN0b2NrIHF1b3RlcyB0byB5b3VyIEdOT01FIFNoZWxsIFBhbmVsIiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJTdG9ja3MgRXh0ZW5zaW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NpbmF0aWMvc3RvY2tzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic3RvY2tzQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "40": {"version": "19", "sha256": "1414cksayqpv0w0q632yi33ifqlwyfggwf684aci6qj81fs644y2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0b2NrcyBFeHRlbnNpb24gYnJpbmdzIHN0b2NrIHF1b3RlcyB0byB5b3VyIEdOT01FIFNoZWxsIFBhbmVsIiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJTdG9ja3MgRXh0ZW5zaW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NpbmF0aWMvc3RvY2tzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic3RvY2tzQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
 , {"uuid": "showtime@xenlism.github.io", "name": "Showtime  - Desktop Widget", "pname": "showtime", "description": "Date &amp;amp;amp;amp;amp;amp;amp; Clock Desktop Widget\n\nMove Widget by Press Super + Drag Widget\nhttps://github.com/xenlism/showtime", "link": "https://extensions.gnome.org/extension/1429/showtime/", "shell_version_map": {"38": {"version": "4", "sha256": "12k6spjhg2ykgh5x3mily0dps450pyj9vyv1bay5w919y9swplaf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRhdGUgJmFtcDthbXA7YW1wO2FtcDthbXA7YW1wO2FtcDsgQ2xvY2sgRGVza3RvcCBXaWRnZXRcblxuTW92ZSBXaWRnZXQgYnkgUHJlc3MgU3VwZXIgKyBEcmFnIFdpZGdldFxuaHR0cHM6Ly9naXRodWIuY29tL3hlbmxpc20vc2hvd3RpbWUiLAogICJuYW1lIjogIlNob3d0aW1lICAtIERlc2t0b3AgV2lkZ2V0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNob3d0aW1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veGVubGlzbS9zaG93dGltZSIsCiAgInV1aWQiOiAic2hvd3RpbWVAeGVubGlzbS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "5", "sha256": "0p10as2k6lkh3vj5860hvmj98by18ih8r2k7y36iqrxqpl3s8fd4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRhdGUgJmFtcDthbXA7YW1wO2FtcDthbXA7YW1wO2FtcDsgQ2xvY2sgRGVza3RvcCBXaWRnZXRcblxuTW92ZSBXaWRnZXQgYnkgUHJlc3MgU3VwZXIgKyBEcmFnIFdpZGdldFxuaHR0cHM6Ly9naXRodWIuY29tL3hlbmxpc20vc2hvd3RpbWUiLAogICJuYW1lIjogIlNob3d0aW1lICAtIERlc2t0b3AgV2lkZ2V0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNob3d0aW1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3hlbmxpc20vc2hvd3RpbWUiLAogICJ1dWlkIjogInNob3d0aW1lQHhlbmxpc20uZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
@@ -196,7 +197,7 @@
 , {"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": "13", "sha256": "10mmyanmwhk3l5q0db1lrd5qwl1yj4i6n66syi3ii8dvlwx1xg55", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHNlcnZlcnMgc3RhdHVzIG1lbnUgZm9yIHF1aWNrbHkgcnVubmluZyByZGVza3RvcCIsCiAgImV4dGVuc2lvbi1pZCI6ICJyZGVza3RvcC1tZW51IiwKICAibmFtZSI6ICJSZGVza3RvcCBsYXVuY2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdC5nZWVrd3Uub3JnL2Jhc3RpZW4vcmRlc2t0b3AtbWVudSIsCiAgInV1aWQiOiAicmRlc2t0b3AtbWVudUBiYXN0aWVuLmdpdC5nZWVrd3Uub3JnIiwKICAidmVyc2lvbiI6IDEzCn0="}, "40": {"version": "13", "sha256": "10mmyanmwhk3l5q0db1lrd5qwl1yj4i6n66syi3ii8dvlwx1xg55", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHNlcnZlcnMgc3RhdHVzIG1lbnUgZm9yIHF1aWNrbHkgcnVubmluZyByZGVza3RvcCIsCiAgImV4dGVuc2lvbi1pZCI6ICJyZGVza3RvcC1tZW51IiwKICAibmFtZSI6ICJSZGVza3RvcCBsYXVuY2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdC5nZWVrd3Uub3JnL2Jhc3RpZW4vcmRlc2t0b3AtbWVudSIsCiAgInV1aWQiOiAicmRlc2t0b3AtbWVudUBiYXN0aWVuLmdpdC5nZWVrd3Uub3JnIiwKICAidmVyc2lvbiI6IDEzCn0="}, "41": {"version": "13", "sha256": "10mmyanmwhk3l5q0db1lrd5qwl1yj4i6n66syi3ii8dvlwx1xg55", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHNlcnZlcnMgc3RhdHVzIG1lbnUgZm9yIHF1aWNrbHkgcnVubmluZyByZGVza3RvcCIsCiAgImV4dGVuc2lvbi1pZCI6ICJyZGVza3RvcC1tZW51IiwKICAibmFtZSI6ICJSZGVza3RvcCBsYXVuY2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdC5nZWVrd3Uub3JnL2Jhc3RpZW4vcmRlc2t0b3AtbWVudSIsCiAgInV1aWQiOiAicmRlc2t0b3AtbWVudUBiYXN0aWVuLmdpdC5nZWVrd3Uub3JnIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
 , {"uuid": "tint-all@amarovita.github.com", "name": "Tint All", "pname": "tint-all", "description": "Colorize the entire gnome workspace. Amber, green, cyan, sepia and grayscale - just keep clicking extension icon. Scroll over extension icon to change fx level.", "link": "https://extensions.gnome.org/extension/1471/tint-all/", "shell_version_map": {"38": {"version": "7", "sha256": "1lflpza6kbdh4ql338vidij9c2gh2r116gfgih7lk4inkj1hqmmz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbG9yaXplIHRoZSBlbnRpcmUgZ25vbWUgd29ya3NwYWNlLiBBbWJlciwgZ3JlZW4sIGN5YW4sIHNlcGlhIGFuZCBncmF5c2NhbGUgLSBqdXN0IGtlZXAgY2xpY2tpbmcgZXh0ZW5zaW9uIGljb24uIFNjcm9sbCBvdmVyIGV4dGVuc2lvbiBpY29uIHRvIGNoYW5nZSBmeCBsZXZlbC4iLAogICJuYW1lIjogIlRpbnQgQWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidGludC1hbGxAYW1hcm92aXRhLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "7", "sha256": "1lflpza6kbdh4ql338vidij9c2gh2r116gfgih7lk4inkj1hqmmz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbG9yaXplIHRoZSBlbnRpcmUgZ25vbWUgd29ya3NwYWNlLiBBbWJlciwgZ3JlZW4sIGN5YW4sIHNlcGlhIGFuZCBncmF5c2NhbGUgLSBqdXN0IGtlZXAgY2xpY2tpbmcgZXh0ZW5zaW9uIGljb24uIFNjcm9sbCBvdmVyIGV4dGVuc2lvbiBpY29uIHRvIGNoYW5nZSBmeCBsZXZlbC4iLAogICJuYW1lIjogIlRpbnQgQWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidGludC1hbGxAYW1hcm92aXRhLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "1lflpza6kbdh4ql338vidij9c2gh2r116gfgih7lk4inkj1hqmmz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbG9yaXplIHRoZSBlbnRpcmUgZ25vbWUgd29ya3NwYWNlLiBBbWJlciwgZ3JlZW4sIGN5YW4sIHNlcGlhIGFuZCBncmF5c2NhbGUgLSBqdXN0IGtlZXAgY2xpY2tpbmcgZXh0ZW5zaW9uIGljb24uIFNjcm9sbCBvdmVyIGV4dGVuc2lvbiBpY29uIHRvIGNoYW5nZSBmeCBsZXZlbC4iLAogICJuYW1lIjogIlRpbnQgQWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidGludC1hbGxAYW1hcm92aXRhLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "batime@martin.zurowietz.de", "name": "Battery Time", "pname": "battery-time", "description": "Show the remaining time until fully charged/discharged instead of the battery charge in percent in the panel.", "link": "https://extensions.gnome.org/extension/1475/battery-time/", "shell_version_map": {"40": {"version": "10", "sha256": "0kfajnbkg7xgqsqhkxl111j21k3jr35yxbylip6iryyxjmsxx5bl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHJlbWFpbmluZyB0aW1lIHVudGlsIGZ1bGx5IGNoYXJnZWQvZGlzY2hhcmdlZCBpbnN0ZWFkIG9mIHRoZSBiYXR0ZXJ5IGNoYXJnZSBpbiBwZXJjZW50IGluIHRoZSBwYW5lbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXRpbWUiLAogICJuYW1lIjogIkJhdHRlcnkgVGltZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iYXRpbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL216dXIvZ25vbWUtc2hlbGwtYmF0aW1lIiwKICAidXVpZCI6ICJiYXRpbWVAbWFydGluLnp1cm93aWV0ei5kZSIsCiAgInZlcnNpb24iOiAxMAp9"}, "41": {"version": "10", "sha256": "0kfajnbkg7xgqsqhkxl111j21k3jr35yxbylip6iryyxjmsxx5bl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHJlbWFpbmluZyB0aW1lIHVudGlsIGZ1bGx5IGNoYXJnZWQvZGlzY2hhcmdlZCBpbnN0ZWFkIG9mIHRoZSBiYXR0ZXJ5IGNoYXJnZSBpbiBwZXJjZW50IGluIHRoZSBwYW5lbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXRpbWUiLAogICJuYW1lIjogIkJhdHRlcnkgVGltZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iYXRpbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL216dXIvZ25vbWUtc2hlbGwtYmF0aW1lIiwKICAidXVpZCI6ICJiYXRpbWVAbWFydGluLnp1cm93aWV0ei5kZSIsCiAgInZlcnNpb24iOiAxMAp9"}}}
-, {"uuid": "unlockDialogBackground@sun.wxg@gmail.com", "name": "Lock screen background", "pname": "unlock-dialog-background", "description": "Change lock screen background.\nIf you use Ubuntu, install package gir1.2-clutter-1.0 first.", "link": "https://extensions.gnome.org/extension/1476/unlock-dialog-background/", "shell_version_map": {"38": {"version": "18", "sha256": "1j9m4qkd0i6l4nxwpxjwvp3nh0zifpzvp0xwp4cqqlr2flb6lwps", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBsb2NrIHNjcmVlbiBiYWNrZ3JvdW5kLlxuSWYgeW91IHVzZSBVYnVudHUsIGluc3RhbGwgcGFja2FnZSBnaXIxLjItY2x1dHRlci0xLjAgZmlyc3QuIiwKICAibmFtZSI6ICJMb2NrIHNjcmVlbiBiYWNrZ3JvdW5kIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiMy4zNi40IiwKICAgICIzLjM2LjUiLAogICAgIjMuMzYuNiIsCiAgICAiMy4zNi43IiwKICAgICIzLjM2LjgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVubG9ja0RpYWxvZ0JhY2tncm91bmQiLAogICJ1dWlkIjogInVubG9ja0RpYWxvZ0JhY2tncm91bmRAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "40": {"version": "20", "sha256": "1gin7mpafmx8h177alhhlrjqpq5354napc0jqaj4l4f7ynzn4843", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBsb2NrIHNjcmVlbiBiYWNrZ3JvdW5kLlxuSWYgeW91IHVzZSBVYnVudHUsIGluc3RhbGwgcGFja2FnZSBnaXIxLjItY2x1dHRlci0xLjAgZmlyc3QuIiwKICAibmFtZSI6ICJMb2NrIHNjcmVlbiBiYWNrZ3JvdW5kIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVubG9ja0RpYWxvZ0JhY2tncm91bmQiLAogICJ1dWlkIjogInVubG9ja0RpYWxvZ0JhY2tncm91bmRAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}, "41": {"version": "23", "sha256": "0j4mhrdmkwwsf52lcqbl0ln7rl3s64nb24862gahs26y4kpbaiv3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBsb2NrIHNjcmVlbiBiYWNrZ3JvdW5kLlxuSWYgeW91IHVzZSBVYnVudHUsIGluc3RhbGwgcGFja2FnZSBnaXIxLjItY2x1dHRlci0xLjAgZmlyc3QuIiwKICAibmFtZSI6ICJMb2NrIHNjcmVlbiBiYWNrZ3JvdW5kIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVubG9ja0RpYWxvZ0JhY2tncm91bmQiLAogICJ1dWlkIjogInVubG9ja0RpYWxvZ0JhY2tncm91bmRAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjMKfQ=="}}}
+, {"uuid": "unlockDialogBackground@sun.wxg@gmail.com", "name": "Lock screen background", "pname": "unlock-dialog-background", "description": "Change lock screen background.\nIf you use Ubuntu, install package gir1.2-clutter-1.0 first.", "link": "https://extensions.gnome.org/extension/1476/unlock-dialog-background/", "shell_version_map": {"38": {"version": "18", "sha256": "1j9m4qkd0i6l4nxwpxjwvp3nh0zifpzvp0xwp4cqqlr2flb6lwps", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBsb2NrIHNjcmVlbiBiYWNrZ3JvdW5kLlxuSWYgeW91IHVzZSBVYnVudHUsIGluc3RhbGwgcGFja2FnZSBnaXIxLjItY2x1dHRlci0xLjAgZmlyc3QuIiwKICAibmFtZSI6ICJMb2NrIHNjcmVlbiBiYWNrZ3JvdW5kIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiMy4zNi40IiwKICAgICIzLjM2LjUiLAogICAgIjMuMzYuNiIsCiAgICAiMy4zNi43IiwKICAgICIzLjM2LjgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVubG9ja0RpYWxvZ0JhY2tncm91bmQiLAogICJ1dWlkIjogInVubG9ja0RpYWxvZ0JhY2tncm91bmRAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "40": {"version": "20", "sha256": "1gin7mpafmx8h177alhhlrjqpq5354napc0jqaj4l4f7ynzn4843", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBsb2NrIHNjcmVlbiBiYWNrZ3JvdW5kLlxuSWYgeW91IHVzZSBVYnVudHUsIGluc3RhbGwgcGFja2FnZSBnaXIxLjItY2x1dHRlci0xLjAgZmlyc3QuIiwKICAibmFtZSI6ICJMb2NrIHNjcmVlbiBiYWNrZ3JvdW5kIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVubG9ja0RpYWxvZ0JhY2tncm91bmQiLAogICJ1dWlkIjogInVubG9ja0RpYWxvZ0JhY2tncm91bmRAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}, "41": {"version": "24", "sha256": "030anwvn1ddd6xznf0fbc60zdmqsrf56xws2nayk50mxa07qx6y3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBsb2NrIHNjcmVlbiBiYWNrZ3JvdW5kLlxuSWYgeW91IHVzZSBVYnVudHUsIGluc3RhbGwgcGFja2FnZSBnaXIxLjItY2x1dHRlci0xLjAgZmlyc3QuIiwKICAibmFtZSI6ICJMb2NrIHNjcmVlbiBiYWNrZ3JvdW5kIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi11bmxvY2tEaWFsb2dCYWNrZ3JvdW5kIiwKICAidXVpZCI6ICJ1bmxvY2tEaWFsb2dCYWNrZ3JvdW5kQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDI0Cn0="}, "42": {"version": "24", "sha256": "030anwvn1ddd6xznf0fbc60zdmqsrf56xws2nayk50mxa07qx6y3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBsb2NrIHNjcmVlbiBiYWNrZ3JvdW5kLlxuSWYgeW91IHVzZSBVYnVudHUsIGluc3RhbGwgcGFja2FnZSBnaXIxLjItY2x1dHRlci0xLjAgZmlyc3QuIiwKICAibmFtZSI6ICJMb2NrIHNjcmVlbiBiYWNrZ3JvdW5kIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi11bmxvY2tEaWFsb2dCYWNrZ3JvdW5kIiwKICAidXVpZCI6ICJ1bmxvY2tEaWFsb2dCYWNrZ3JvdW5kQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDI0Cn0="}}}
 , {"uuid": "wsmatrix@martin.zurowietz.de", "name": "Workspace Matrix", "pname": "workspace-matrix", "description": "Arrange workspaces in a two dimensional grid with workspace thumbnails.", "link": "https://extensions.gnome.org/extension/1485/workspace-matrix/", "shell_version_map": {"38": {"version": "27", "sha256": "0b76x0li5a8x42l67ykbw34k4cfmbxqvz36zighhfw4qmxsc36cr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd29ya3NwYWNlcyBpbiBhIHR3byBkaW1lbnNpb25hbCBncmlkIHdpdGggd29ya3NwYWNlIHRodW1ibmFpbHMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid3NtYXRyaXgiLAogICJrZXliaW5kaW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgta2V5YmluZGluZ3MiLAogICJuYW1lIjogIldvcmtzcGFjZSBNYXRyaXgiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgtc2V0dGluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tenVyL2dub21lLXNoZWxsLXdzbWF0cml4IiwKICAidXVpZCI6ICJ3c21hdHJpeEBtYXJ0aW4uenVyb3dpZXR6LmRlIiwKICAidmVyc2lvbiI6IDI3Cn0="}, "40": {"version": "33", "sha256": "1pfq2sgz3h97xyqnxjzzjij3abd6132xjibhl2y3423ylwqg5xf8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd29ya3NwYWNlcyBpbiBhIHR3byBkaW1lbnNpb25hbCBncmlkIHdpdGggd29ya3NwYWNlIHRodW1ibmFpbHMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid3NtYXRyaXgiLAogICJrZXliaW5kaW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgta2V5YmluZGluZ3MiLAogICJuYW1lIjogIldvcmtzcGFjZSBNYXRyaXgiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgtc2V0dGluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL216dXIvZ25vbWUtc2hlbGwtd3NtYXRyaXgiLAogICJ1dWlkIjogIndzbWF0cml4QG1hcnRpbi56dXJvd2lldHouZGUiLAogICJ2ZXJzaW9uIjogMzMKfQ=="}, "41": {"version": "33", "sha256": "1pfq2sgz3h97xyqnxjzzjij3abd6132xjibhl2y3423ylwqg5xf8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd29ya3NwYWNlcyBpbiBhIHR3byBkaW1lbnNpb25hbCBncmlkIHdpdGggd29ya3NwYWNlIHRodW1ibmFpbHMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid3NtYXRyaXgiLAogICJrZXliaW5kaW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgta2V5YmluZGluZ3MiLAogICJuYW1lIjogIldvcmtzcGFjZSBNYXRyaXgiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgtc2V0dGluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL216dXIvZ25vbWUtc2hlbGwtd3NtYXRyaXgiLAogICJ1dWlkIjogIndzbWF0cml4QG1hcnRpbi56dXJvd2lldHouZGUiLAogICJ2ZXJzaW9uIjogMzMKfQ=="}}}
 , {"uuid": "extensions-sync@elhan.io", "name": "Extensions Sync", "pname": "extensions-sync", "description": "Sync all extensions and their configurations across all gnome instances", "link": "https://extensions.gnome.org/extension/1486/extensions-sync/", "shell_version_map": {"38": {"version": "12", "sha256": "0yb0brjnqvvlqpdyh841qwh3q2d02vi1an0s93gb2b6kagy1g7zd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5bmMgYWxsIGV4dGVuc2lvbnMgYW5kIHRoZWlyIGNvbmZpZ3VyYXRpb25zIGFjcm9zcyBhbGwgZ25vbWUgaW5zdGFuY2VzIiwKICAibmFtZSI6ICJFeHRlbnNpb25zIFN5bmMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXh0ZW5zaW9ucy1zeW5jIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vb2FlL2dub21lLXNoZWxsLWV4dGVuc2lvbnMtc3luYyIsCiAgInV1aWQiOiAiZXh0ZW5zaW9ucy1zeW5jQGVsaGFuLmlvIiwKICAidmVyc2lvbiI6IDEyCn0="}, "40": {"version": "17", "sha256": "0ssnci70lrvn1f909ldwffm3ssrc45pscdi17ncj8fjjcb9wwf09", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5bmMgYWxsIGV4dGVuc2lvbnMgYW5kIHRoZWlyIGNvbmZpZ3VyYXRpb25zIGFjcm9zcyBhbGwgZ25vbWUgaW5zdGFuY2VzIiwKICAibmFtZSI6ICJFeHRlbnNpb25zIFN5bmMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXh0ZW5zaW9ucy1zeW5jIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vb2FlL2dub21lLXNoZWxsLWV4dGVuc2lvbnMtc3luYyIsCiAgInV1aWQiOiAiZXh0ZW5zaW9ucy1zeW5jQGVsaGFuLmlvIiwKICAidmVyc2lvbiI6IDE3Cn0="}, "41": {"version": "17", "sha256": "0ssnci70lrvn1f909ldwffm3ssrc45pscdi17ncj8fjjcb9wwf09", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5bmMgYWxsIGV4dGVuc2lvbnMgYW5kIHRoZWlyIGNvbmZpZ3VyYXRpb25zIGFjcm9zcyBhbGwgZ25vbWUgaW5zdGFuY2VzIiwKICAibmFtZSI6ICJFeHRlbnNpb25zIFN5bmMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXh0ZW5zaW9ucy1zeW5jIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vb2FlL2dub21lLXNoZWxsLWV4dGVuc2lvbnMtc3luYyIsCiAgInV1aWQiOiAiZXh0ZW5zaW9ucy1zeW5jQGVsaGFuLmlvIiwKICAidmVyc2lvbiI6IDE3Cn0="}, "42": {"version": "17", "sha256": "0ssnci70lrvn1f909ldwffm3ssrc45pscdi17ncj8fjjcb9wwf09", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5bmMgYWxsIGV4dGVuc2lvbnMgYW5kIHRoZWlyIGNvbmZpZ3VyYXRpb25zIGFjcm9zcyBhbGwgZ25vbWUgaW5zdGFuY2VzIiwKICAibmFtZSI6ICJFeHRlbnNpb25zIFN5bmMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXh0ZW5zaW9ucy1zeW5jIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vb2FlL2dub21lLXNoZWxsLWV4dGVuc2lvbnMtc3luYyIsCiAgInV1aWQiOiAiZXh0ZW5zaW9ucy1zeW5jQGVsaGFuLmlvIiwKICAidmVyc2lvbiI6IDE3Cn0="}}}
 , {"uuid": "containers@royg", "name": "Containers", "pname": "containers", "description": "Manage podman containers through a gnome-shell menu", "link": "https://extensions.gnome.org/extension/1500/containers/", "shell_version_map": {"40": {"version": "19", "sha256": "16z5978jwpf6cbasnfdi5w8s9dx929r8yh7a4dsrd5isnrnyi22x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBwb2RtYW4gY29udGFpbmVycyB0aHJvdWdoIGEgZ25vbWUtc2hlbGwgbWVudSIsCiAgIm5hbWUiOiAiQ29udGFpbmVycyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmdvbGFuZ2gvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNvbnRhaW5lcnMiLAogICJ1dWlkIjogImNvbnRhaW5lcnNAcm95ZyIsCiAgInZlcnNpb24iOiAxOQp9"}, "41": {"version": "19", "sha256": "16z5978jwpf6cbasnfdi5w8s9dx929r8yh7a4dsrd5isnrnyi22x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBwb2RtYW4gY29udGFpbmVycyB0aHJvdWdoIGEgZ25vbWUtc2hlbGwgbWVudSIsCiAgIm5hbWUiOiAiQ29udGFpbmVycyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmdvbGFuZ2gvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNvbnRhaW5lcnMiLAogICJ1dWlkIjogImNvbnRhaW5lcnNAcm95ZyIsCiAgInZlcnNpb24iOiAxOQp9"}}}
@@ -212,9 +213,9 @@
 , {"uuid": "fullscreen-hot-corner@sorrow.about.alice.pm.me", "name": "Fullscreen Hot Corner", "pname": "fullscreen-hot-corner", "description": "Enables hot corner in fullscreen mode", "link": "https://extensions.gnome.org/extension/1562/fullscreen-hot-corner/", "shell_version_map": {"38": {"version": "6", "sha256": "1lcpw06aqja4q7qqfvds5nv2zvzrjh56lymj1al4kiql92gbwzp1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgaG90IGNvcm5lciBpbiBmdWxsc2NyZWVuIG1vZGUiLAogICJuYW1lIjogIkZ1bGxzY3JlZW4gSG90IENvcm5lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NvYWwvZ25vbWUtc2hlbGwtZnVsbHNjcmVlbi1ob3QtY29ybmVyIiwKICAidXVpZCI6ICJmdWxsc2NyZWVuLWhvdC1jb3JuZXJAc29ycm93LmFib3V0LmFsaWNlLnBtLm1lIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "9", "sha256": "0zx11gpacjd259cxd80ggffixpyqprvzcx1971ysvm7jrayrm058", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgaG90IGNvcm5lciBpbiBmdWxsc2NyZWVuIG1vZGUiLAogICJuYW1lIjogIkZ1bGxzY3JlZW4gSG90IENvcm5lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc29hbC9nbm9tZS1zaGVsbC1mdWxsc2NyZWVuLWhvdC1jb3JuZXIiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4taG90LWNvcm5lckBzb3Jyb3cuYWJvdXQuYWxpY2UucG0ubWUiLAogICJ2ZXJzaW9uIjogOQp9"}, "41": {"version": "9", "sha256": "0zx11gpacjd259cxd80ggffixpyqprvzcx1971ysvm7jrayrm058", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgaG90IGNvcm5lciBpbiBmdWxsc2NyZWVuIG1vZGUiLAogICJuYW1lIjogIkZ1bGxzY3JlZW4gSG90IENvcm5lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc29hbC9nbm9tZS1zaGVsbC1mdWxsc2NyZWVuLWhvdC1jb3JuZXIiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4taG90LWNvcm5lckBzb3Jyb3cuYWJvdXQuYWxpY2UucG0ubWUiLAogICJ2ZXJzaW9uIjogOQp9"}}}
 , {"uuid": "worksets@blipk.xyz", "name": "Customised Workspaces", "pname": "worksets", "description": "Customised Workspaces enables creating isolated and customised workspaces.\n\n* Customise the dash to be unique for each workspace, each with their own favourites\n* Only show running applications on the dash in their respective workspace\n* Choose a custom background image for each workspace\n* Minor UI tweaks to the overview workspaces\n* Save each customisation, set them to autoload on specific workspaces\n* Hide the extension once you've configured your preferences to enjoy seamlessly upgraded workspaces in gnome shell\n\nCompatible for use with any of these extensions to complete your workspace upgrade:\n\n* Dash to Panel - https://extensions.gnome.org/extension/1160/dash-to-panel/\n* Dash to Dock - https://extensions.gnome.org/extension/307/dash-to-dock/\n* Auto Move Windows - https://extensions.gnome.org/extension/16/auto-move-windows/\n* Vertical Overview - https://github.com/RensAlthuis/vertical-overview", "link": "https://extensions.gnome.org/extension/1583/worksets/", "shell_version_map": {"38": {"version": "30", "sha256": "0mjah9nx66caqmfbz8wrvg6iyhxp7jmbgwx1gnp8k2a2z536n1iw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwud29ya3NldHMiLAogICJkZXNjcmlwdGlvbiI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMgZW5hYmxlcyBjcmVhdGluZyBpc29sYXRlZCBhbmQgY3VzdG9taXNlZCB3b3Jrc3BhY2VzLlxuXG4qIEN1c3RvbWlzZSB0aGUgZGFzaCB0byBiZSB1bmlxdWUgZm9yIGVhY2ggd29ya3NwYWNlLCBlYWNoIHdpdGggdGhlaXIgb3duIGZhdm91cml0ZXNcbiogT25seSBzaG93IHJ1bm5pbmcgYXBwbGljYXRpb25zIG9uIHRoZSBkYXNoIGluIHRoZWlyIHJlc3BlY3RpdmUgd29ya3NwYWNlXG4qIENob29zZSBhIGN1c3RvbSBiYWNrZ3JvdW5kIGltYWdlIGZvciBlYWNoIHdvcmtzcGFjZVxuKiBNaW5vciBVSSB0d2Vha3MgdG8gdGhlIG92ZXJ2aWV3IHdvcmtzcGFjZXNcbiogU2F2ZSBlYWNoIGN1c3RvbWlzYXRpb24sIHNldCB0aGVtIHRvIGF1dG9sb2FkIG9uIHNwZWNpZmljIHdvcmtzcGFjZXNcbiogSGlkZSB0aGUgZXh0ZW5zaW9uIG9uY2UgeW91J3ZlIGNvbmZpZ3VyZWQgeW91ciBwcmVmZXJlbmNlcyB0byBlbmpveSBzZWFtbGVzc2x5IHVwZ3JhZGVkIHdvcmtzcGFjZXMgaW4gZ25vbWUgc2hlbGxcblxuQ29tcGF0aWJsZSBmb3IgdXNlIHdpdGggYW55IG9mIHRoZXNlIGV4dGVuc2lvbnMgdG8gY29tcGxldGUgeW91ciB3b3Jrc3BhY2UgdXBncmFkZTpcblxuKiBEYXNoIHRvIFBhbmVsIC0gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTE2MC9kYXNoLXRvLXBhbmVsL1xuKiBEYXNoIHRvIERvY2sgLSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8zMDcvZGFzaC10by1kb2NrL1xuKiBBdXRvIE1vdmUgV2luZG93cyAtIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzE2L2F1dG8tbW92ZS13aW5kb3dzL1xuKiBWZXJ0aWNhbCBPdmVydmlldyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9SZW5zQWx0aHVpcy92ZXJ0aWNhbC1vdmVydmlldyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3b3Jrc2V0cyIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzZXRzIiwKICAibmFtZSI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiYWRtaW5Aa3Jvbm9zb3VsLnh5eiIsCiAgInJlc291cmNlLXBhdGgiOiAiL29yZy9rcm9ub3NvdWwvd29ya3NldHMvIiwKICAic2V0dGluZ3MtcGF0aCI6ICIvb3JnL2dub21lL3NoZWxsL2V4dGVuc2lvbnMvd29ya3NldHMvIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsaXBrL0N1c3RvbWlzZWQtV29ya3NwYWNlcyIsCiAgInV1aWQiOiAid29ya3NldHNAYmxpcGsueHl6IiwKICAidmVyc2lvbiI6IDMwCn0="}, "40": {"version": "43", "sha256": "0crrciyngn4jb005hb2dl9pmyd5j4n5spladk395czwi9h4df7l4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwud29ya3NldHMiLAogICJkZXNjcmlwdGlvbiI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMgZW5hYmxlcyBjcmVhdGluZyBpc29sYXRlZCBhbmQgY3VzdG9taXNlZCB3b3Jrc3BhY2VzLlxuXG4qIEN1c3RvbWlzZSB0aGUgZGFzaCB0byBiZSB1bmlxdWUgZm9yIGVhY2ggd29ya3NwYWNlLCBlYWNoIHdpdGggdGhlaXIgb3duIGZhdm91cml0ZXNcbiogT25seSBzaG93IHJ1bm5pbmcgYXBwbGljYXRpb25zIG9uIHRoZSBkYXNoIGluIHRoZWlyIHJlc3BlY3RpdmUgd29ya3NwYWNlXG4qIENob29zZSBhIGN1c3RvbSBiYWNrZ3JvdW5kIGltYWdlIGZvciBlYWNoIHdvcmtzcGFjZVxuKiBNaW5vciBVSSB0d2Vha3MgdG8gdGhlIG92ZXJ2aWV3IHdvcmtzcGFjZXNcbiogU2F2ZSBlYWNoIGN1c3RvbWlzYXRpb24sIHNldCB0aGVtIHRvIGF1dG9sb2FkIG9uIHNwZWNpZmljIHdvcmtzcGFjZXNcbiogSGlkZSB0aGUgZXh0ZW5zaW9uIG9uY2UgeW91J3ZlIGNvbmZpZ3VyZWQgeW91ciBwcmVmZXJlbmNlcyB0byBlbmpveSBzZWFtbGVzc2x5IHVwZ3JhZGVkIHdvcmtzcGFjZXMgaW4gZ25vbWUgc2hlbGxcblxuQ29tcGF0aWJsZSBmb3IgdXNlIHdpdGggYW55IG9mIHRoZXNlIGV4dGVuc2lvbnMgdG8gY29tcGxldGUgeW91ciB3b3Jrc3BhY2UgdXBncmFkZTpcblxuKiBEYXNoIHRvIFBhbmVsIC0gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTE2MC9kYXNoLXRvLXBhbmVsL1xuKiBEYXNoIHRvIERvY2sgLSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8zMDcvZGFzaC10by1kb2NrL1xuKiBBdXRvIE1vdmUgV2luZG93cyAtIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzE2L2F1dG8tbW92ZS13aW5kb3dzL1xuKiBWZXJ0aWNhbCBPdmVydmlldyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9SZW5zQWx0aHVpcy92ZXJ0aWNhbC1vdmVydmlldyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3b3Jrc2V0cyIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzZXRzIiwKICAibmFtZSI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiYmxpcGsiLAogICJyZXNvdXJjZS1wYXRoIjogIi9vcmcva3Jvbm9zb3VsL3dvcmtzZXRzLyIsCiAgInNldHRpbmdzLXBhdGgiOiAiL29yZy9nbm9tZS9zaGVsbC9leHRlbnNpb25zL3dvcmtzZXRzLyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc2V0cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmxpcGsvQ3VzdG9taXNlZC1Xb3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ3b3Jrc2V0c0BibGlway54eXoiLAogICJ2ZXJzaW9uIjogNDMKfQ=="}, "41": {"version": "43", "sha256": "0crrciyngn4jb005hb2dl9pmyd5j4n5spladk395czwi9h4df7l4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwud29ya3NldHMiLAogICJkZXNjcmlwdGlvbiI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMgZW5hYmxlcyBjcmVhdGluZyBpc29sYXRlZCBhbmQgY3VzdG9taXNlZCB3b3Jrc3BhY2VzLlxuXG4qIEN1c3RvbWlzZSB0aGUgZGFzaCB0byBiZSB1bmlxdWUgZm9yIGVhY2ggd29ya3NwYWNlLCBlYWNoIHdpdGggdGhlaXIgb3duIGZhdm91cml0ZXNcbiogT25seSBzaG93IHJ1bm5pbmcgYXBwbGljYXRpb25zIG9uIHRoZSBkYXNoIGluIHRoZWlyIHJlc3BlY3RpdmUgd29ya3NwYWNlXG4qIENob29zZSBhIGN1c3RvbSBiYWNrZ3JvdW5kIGltYWdlIGZvciBlYWNoIHdvcmtzcGFjZVxuKiBNaW5vciBVSSB0d2Vha3MgdG8gdGhlIG92ZXJ2aWV3IHdvcmtzcGFjZXNcbiogU2F2ZSBlYWNoIGN1c3RvbWlzYXRpb24sIHNldCB0aGVtIHRvIGF1dG9sb2FkIG9uIHNwZWNpZmljIHdvcmtzcGFjZXNcbiogSGlkZSB0aGUgZXh0ZW5zaW9uIG9uY2UgeW91J3ZlIGNvbmZpZ3VyZWQgeW91ciBwcmVmZXJlbmNlcyB0byBlbmpveSBzZWFtbGVzc2x5IHVwZ3JhZGVkIHdvcmtzcGFjZXMgaW4gZ25vbWUgc2hlbGxcblxuQ29tcGF0aWJsZSBmb3IgdXNlIHdpdGggYW55IG9mIHRoZXNlIGV4dGVuc2lvbnMgdG8gY29tcGxldGUgeW91ciB3b3Jrc3BhY2UgdXBncmFkZTpcblxuKiBEYXNoIHRvIFBhbmVsIC0gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTE2MC9kYXNoLXRvLXBhbmVsL1xuKiBEYXNoIHRvIERvY2sgLSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8zMDcvZGFzaC10by1kb2NrL1xuKiBBdXRvIE1vdmUgV2luZG93cyAtIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzE2L2F1dG8tbW92ZS13aW5kb3dzL1xuKiBWZXJ0aWNhbCBPdmVydmlldyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9SZW5zQWx0aHVpcy92ZXJ0aWNhbC1vdmVydmlldyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3b3Jrc2V0cyIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzZXRzIiwKICAibmFtZSI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiYmxpcGsiLAogICJyZXNvdXJjZS1wYXRoIjogIi9vcmcva3Jvbm9zb3VsL3dvcmtzZXRzLyIsCiAgInNldHRpbmdzLXBhdGgiOiAiL29yZy9nbm9tZS9zaGVsbC9leHRlbnNpb25zL3dvcmtzZXRzLyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc2V0cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmxpcGsvQ3VzdG9taXNlZC1Xb3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ3b3Jrc2V0c0BibGlway54eXoiLAogICJ2ZXJzaW9uIjogNDMKfQ=="}}}
 , {"uuid": "NordVPN_Connect@poilrouge.fr", "name": "NordVPN Connect", "pname": "nordvpn-connect", "description": "Unofficial Gnome-Shell Extension to provide a GUI for the official NordVPN CLI Tool.", "link": "https://extensions.gnome.org/extension/1595/nordvpn-connect/", "shell_version_map": {"38": {"version": "15", "sha256": "0xccvy3kqgglhcjhixlxi65sa49lbm896lra2sks65arkx3fh63k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVub2ZmaWNpYWwgR25vbWUtU2hlbGwgRXh0ZW5zaW9uIHRvIHByb3ZpZGUgYSBHVUkgZm9yIHRoZSBvZmZpY2lhbCBOb3JkVlBOIENMSSBUb29sLiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMtbnZwbmNvbm5lY3QiLAogICJuYW1lIjogIk5vcmRWUE4gQ29ubmVjdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5udnBuY29ubmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FsZXhQb2lscm91Z2UvTm9yZFZQTi1jb25uZWN0IiwKICAidXVpZCI6ICJOb3JkVlBOX0Nvbm5lY3RAcG9pbHJvdWdlLmZyIiwKICAidmVyc2lvbiI6IDE1Cn0="}, "40": {"version": "18", "sha256": "0isn56fj58aikld1fy8q3afqg2acsz4wbfskzip25xsbc0hpy9qf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVub2ZmaWNpYWwgR25vbWUtU2hlbGwgRXh0ZW5zaW9uIHRvIHByb3ZpZGUgYSBHVUkgZm9yIHRoZSBvZmZpY2lhbCBOb3JkVlBOIENMSSBUb29sLiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMtbnZwbmNvbm5lY3QiLAogICJuYW1lIjogIk5vcmRWUE4gQ29ubmVjdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5udnBuY29ubmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWxleFBvaWxyb3VnZS9Ob3JkVlBOLWNvbm5lY3QiLAogICJ1dWlkIjogIk5vcmRWUE5fQ29ubmVjdEBwb2lscm91Z2UuZnIiLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "41": {"version": "18", "sha256": "0isn56fj58aikld1fy8q3afqg2acsz4wbfskzip25xsbc0hpy9qf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVub2ZmaWNpYWwgR25vbWUtU2hlbGwgRXh0ZW5zaW9uIHRvIHByb3ZpZGUgYSBHVUkgZm9yIHRoZSBvZmZpY2lhbCBOb3JkVlBOIENMSSBUb29sLiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMtbnZwbmNvbm5lY3QiLAogICJuYW1lIjogIk5vcmRWUE4gQ29ubmVjdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5udnBuY29ubmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWxleFBvaWxyb3VnZS9Ob3JkVlBOLWNvbm5lY3QiLAogICJ1dWlkIjogIk5vcmRWUE5fQ29ubmVjdEBwb2lscm91Z2UuZnIiLAogICJ2ZXJzaW9uIjogMTgKfQ=="}}}
-, {"uuid": "arrangeWindows@sun.wxg@gmail.com", "name": "Arrange Windows", "pname": "arrange-windows", "description": "Arrange windows on the monitors\n\nHotkeys:\n Ctrl+Alt+1 Cascade windows\n Ctrl+Alt+2 Tiling windows\n Ctrl+Alt+3 Side by side windows\n Ctrl+Alt+4 Stack windows", "link": "https://extensions.gnome.org/extension/1604/arrange-windows/", "shell_version_map": {"38": {"version": "21", "sha256": "0dhcawzc2ljxjc31jnk7ihbvngw9sbbcgk7qvhz5syjvsbwzc8c8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBvbiB0aGUgbW9uaXRvcnNcblxuSG90a2V5czpcbiBDdHJsK0FsdCsxIENhc2NhZGUgd2luZG93c1xuIEN0cmwrQWx0KzIgVGlsaW5nIHdpbmRvd3NcbiBDdHJsK0FsdCszIFNpZGUgYnkgc2lkZSB3aW5kb3dzXG4gQ3RybCtBbHQrNCBTdGFjayB3aW5kb3dzIiwKICAibmFtZSI6ICJBcnJhbmdlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogInN1bi53eGdAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFycmFuZ2VXaW5kb3dzIiwKICAidXVpZCI6ICJhcnJhbmdlV2luZG93c0BzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMQp9"}, "40": {"version": "21", "sha256": "0dhcawzc2ljxjc31jnk7ihbvngw9sbbcgk7qvhz5syjvsbwzc8c8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBvbiB0aGUgbW9uaXRvcnNcblxuSG90a2V5czpcbiBDdHJsK0FsdCsxIENhc2NhZGUgd2luZG93c1xuIEN0cmwrQWx0KzIgVGlsaW5nIHdpbmRvd3NcbiBDdHJsK0FsdCszIFNpZGUgYnkgc2lkZSB3aW5kb3dzXG4gQ3RybCtBbHQrNCBTdGFjayB3aW5kb3dzIiwKICAibmFtZSI6ICJBcnJhbmdlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogInN1bi53eGdAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFycmFuZ2VXaW5kb3dzIiwKICAidXVpZCI6ICJhcnJhbmdlV2luZG93c0BzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMQp9"}, "41": {"version": "21", "sha256": "0dhcawzc2ljxjc31jnk7ihbvngw9sbbcgk7qvhz5syjvsbwzc8c8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBvbiB0aGUgbW9uaXRvcnNcblxuSG90a2V5czpcbiBDdHJsK0FsdCsxIENhc2NhZGUgd2luZG93c1xuIEN0cmwrQWx0KzIgVGlsaW5nIHdpbmRvd3NcbiBDdHJsK0FsdCszIFNpZGUgYnkgc2lkZSB3aW5kb3dzXG4gQ3RybCtBbHQrNCBTdGFjayB3aW5kb3dzIiwKICAibmFtZSI6ICJBcnJhbmdlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogInN1bi53eGdAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFycmFuZ2VXaW5kb3dzIiwKICAidXVpZCI6ICJhcnJhbmdlV2luZG93c0BzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMQp9"}}}
+, {"uuid": "arrangeWindows@sun.wxg@gmail.com", "name": "Arrange Windows", "pname": "arrange-windows", "description": "Arrange windows on the monitors\n\nHotkeys:\n Ctrl+Alt+1 Cascade windows\n Ctrl+Alt+2 Tiling windows\n Ctrl+Alt+3 Side by side windows\n Ctrl+Alt+4 Stack windows", "link": "https://extensions.gnome.org/extension/1604/arrange-windows/", "shell_version_map": {"38": {"version": "22", "sha256": "1isqbl1w53jkpvkgns4qg3zvz5hr84qixjb6qa5y1x0in0md3m6q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBvbiB0aGUgbW9uaXRvcnNcblxuSG90a2V5czpcbiBDdHJsK0FsdCsxIENhc2NhZGUgd2luZG93c1xuIEN0cmwrQWx0KzIgVGlsaW5nIHdpbmRvd3NcbiBDdHJsK0FsdCszIFNpZGUgYnkgc2lkZSB3aW5kb3dzXG4gQ3RybCtBbHQrNCBTdGFjayB3aW5kb3dzIiwKICAibmFtZSI6ICJBcnJhbmdlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogInN1bi53eGdAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hcnJhbmdlV2luZG93cyIsCiAgInV1aWQiOiAiYXJyYW5nZVdpbmRvd3NAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "40": {"version": "22", "sha256": "1isqbl1w53jkpvkgns4qg3zvz5hr84qixjb6qa5y1x0in0md3m6q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBvbiB0aGUgbW9uaXRvcnNcblxuSG90a2V5czpcbiBDdHJsK0FsdCsxIENhc2NhZGUgd2luZG93c1xuIEN0cmwrQWx0KzIgVGlsaW5nIHdpbmRvd3NcbiBDdHJsK0FsdCszIFNpZGUgYnkgc2lkZSB3aW5kb3dzXG4gQ3RybCtBbHQrNCBTdGFjayB3aW5kb3dzIiwKICAibmFtZSI6ICJBcnJhbmdlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogInN1bi53eGdAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hcnJhbmdlV2luZG93cyIsCiAgInV1aWQiOiAiYXJyYW5nZVdpbmRvd3NAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "41": {"version": "22", "sha256": "1isqbl1w53jkpvkgns4qg3zvz5hr84qixjb6qa5y1x0in0md3m6q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBvbiB0aGUgbW9uaXRvcnNcblxuSG90a2V5czpcbiBDdHJsK0FsdCsxIENhc2NhZGUgd2luZG93c1xuIEN0cmwrQWx0KzIgVGlsaW5nIHdpbmRvd3NcbiBDdHJsK0FsdCszIFNpZGUgYnkgc2lkZSB3aW5kb3dzXG4gQ3RybCtBbHQrNCBTdGFjayB3aW5kb3dzIiwKICAibmFtZSI6ICJBcnJhbmdlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogInN1bi53eGdAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hcnJhbmdlV2luZG93cyIsCiAgInV1aWQiOiAiYXJyYW5nZVdpbmRvd3NAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "42": {"version": "22", "sha256": "1isqbl1w53jkpvkgns4qg3zvz5hr84qixjb6qa5y1x0in0md3m6q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBvbiB0aGUgbW9uaXRvcnNcblxuSG90a2V5czpcbiBDdHJsK0FsdCsxIENhc2NhZGUgd2luZG93c1xuIEN0cmwrQWx0KzIgVGlsaW5nIHdpbmRvd3NcbiBDdHJsK0FsdCszIFNpZGUgYnkgc2lkZSB3aW5kb3dzXG4gQ3RybCtBbHQrNCBTdGFjayB3aW5kb3dzIiwKICAibmFtZSI6ICJBcnJhbmdlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogInN1bi53eGdAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hcnJhbmdlV2luZG93cyIsCiAgInV1aWQiOiAiYXJyYW5nZVdpbmRvd3NAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}}}
 , {"uuid": "fullscreen-notifications@sorrow.about.alice.pm.me", "name": "Fullscreen Notifications", "pname": "fullscreen-notifications", "description": "Enables all notifications in fullscreen mode", "link": "https://extensions.gnome.org/extension/1610/fullscreen-notifications/", "shell_version_map": {"38": {"version": "3", "sha256": "1g1dgrhbif7qcxga7302bhhdjrr2v3vkp6dfavyclzsdkkrr2wwh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYWxsIG5vdGlmaWNhdGlvbnMgaW4gZnVsbHNjcmVlbiBtb2RlIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIE5vdGlmaWNhdGlvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzAuMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NvYWwvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZ1bGxzY3JlZW4tbm90aWZpY2F0aW9ucyIsCiAgInV1aWQiOiAiZnVsbHNjcmVlbi1ub3RpZmljYXRpb25zQHNvcnJvdy5hYm91dC5hbGljZS5wbS5tZSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "5", "sha256": "1cxpgvkpm1r8d14wvl8pic7p6wd4im8cj3dklnzb7ni2ks2h0cps", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYWxsIG5vdGlmaWNhdGlvbnMgaW4gZnVsbHNjcmVlbiBtb2RlIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIE5vdGlmaWNhdGlvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NvYWwvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZ1bGxzY3JlZW4tbm90aWZpY2F0aW9ucyIsCiAgInV1aWQiOiAiZnVsbHNjcmVlbi1ub3RpZmljYXRpb25zQHNvcnJvdy5hYm91dC5hbGljZS5wbS5tZSIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "1cxpgvkpm1r8d14wvl8pic7p6wd4im8cj3dklnzb7ni2ks2h0cps", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYWxsIG5vdGlmaWNhdGlvbnMgaW4gZnVsbHNjcmVlbiBtb2RlIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIE5vdGlmaWNhdGlvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NvYWwvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZ1bGxzY3JlZW4tbm90aWZpY2F0aW9ucyIsCiAgInV1aWQiOiAiZnVsbHNjcmVlbi1ub3RpZmljYXRpb25zQHNvcnJvdy5hYm91dC5hbGljZS5wbS5tZSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
-, {"uuid": "panelScroll@sun.wxg@gmail.com", "name": "panel scroll", "pname": "panel-scroll", "description": "Switch windows or workspace by mouse scroll on the panel.\nPointer on left of panel, switch windows.\nPointer on right of panel, switch workspaces.", "link": "https://extensions.gnome.org/extension/1616/panel-scroll/", "shell_version_map": {"38": {"version": "10", "sha256": "1llw16wszrkrrzrlyd1ppw8kn1cqp2z4irzi9q7v2nr47hrk14kd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIHdvcmtzcGFjZSBieSBtb3VzZSBzY3JvbGwgb24gdGhlIHBhbmVsLlxuUG9pbnRlciBvbiBsZWZ0IG9mIHBhbmVsLCBzd2l0Y2ggd2luZG93cy5cblBvaW50ZXIgb24gcmlnaHQgb2YgcGFuZWwsIHN3aXRjaCB3b3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAicGFuZWwgc2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tcGFuZWxTY3JvbGwiLAogICJ1dWlkIjogInBhbmVsU2Nyb2xsQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "40": {"version": "15", "sha256": "0q4yvmkri1wzhav1va25ffcpw8c4882dgifkwnzmg9fgv0i3vgh3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIHdvcmtzcGFjZSBieSBtb3VzZSBzY3JvbGwgb24gdGhlIHBhbmVsLlxuUG9pbnRlciBvbiBsZWZ0IG9mIHBhbmVsLCBzd2l0Y2ggd2luZG93cy5cblBvaW50ZXIgb24gcmlnaHQgb2YgcGFuZWwsIHN3aXRjaCB3b3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAicGFuZWwgc2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wYW5lbFNjcm9sbCIsCiAgInV1aWQiOiAicGFuZWxTY3JvbGxAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "41": {"version": "15", "sha256": "0q4yvmkri1wzhav1va25ffcpw8c4882dgifkwnzmg9fgv0i3vgh3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIHdvcmtzcGFjZSBieSBtb3VzZSBzY3JvbGwgb24gdGhlIHBhbmVsLlxuUG9pbnRlciBvbiBsZWZ0IG9mIHBhbmVsLCBzd2l0Y2ggd2luZG93cy5cblBvaW50ZXIgb24gcmlnaHQgb2YgcGFuZWwsIHN3aXRjaCB3b3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAicGFuZWwgc2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wYW5lbFNjcm9sbCIsCiAgInV1aWQiOiAicGFuZWxTY3JvbGxAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}}}
+, {"uuid": "panelScroll@sun.wxg@gmail.com", "name": "panel scroll", "pname": "panel-scroll", "description": "Switch windows or workspace by mouse scroll on the panel.\nPointer on left of panel, switch windows.\nPointer on right of panel, switch workspaces.", "link": "https://extensions.gnome.org/extension/1616/panel-scroll/", "shell_version_map": {"38": {"version": "10", "sha256": "1llw16wszrkrrzrlyd1ppw8kn1cqp2z4irzi9q7v2nr47hrk14kd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIHdvcmtzcGFjZSBieSBtb3VzZSBzY3JvbGwgb24gdGhlIHBhbmVsLlxuUG9pbnRlciBvbiBsZWZ0IG9mIHBhbmVsLCBzd2l0Y2ggd2luZG93cy5cblBvaW50ZXIgb24gcmlnaHQgb2YgcGFuZWwsIHN3aXRjaCB3b3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAicGFuZWwgc2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tcGFuZWxTY3JvbGwiLAogICJ1dWlkIjogInBhbmVsU2Nyb2xsQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "40": {"version": "16", "sha256": "151813j8hhh4apgfj4dmxy07jwym1lixyn86937r2dz1qvk1s9l2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIHdvcmtzcGFjZSBieSBtb3VzZSBzY3JvbGwgb24gdGhlIHBhbmVsLlxuUG9pbnRlciBvbiBsZWZ0IG9mIHBhbmVsLCBzd2l0Y2ggd2luZG93cy5cblBvaW50ZXIgb24gcmlnaHQgb2YgcGFuZWwsIHN3aXRjaCB3b3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAicGFuZWwgc2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tcGFuZWxTY3JvbGwiLAogICJ1dWlkIjogInBhbmVsU2Nyb2xsQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "41": {"version": "16", "sha256": "151813j8hhh4apgfj4dmxy07jwym1lixyn86937r2dz1qvk1s9l2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIHdvcmtzcGFjZSBieSBtb3VzZSBzY3JvbGwgb24gdGhlIHBhbmVsLlxuUG9pbnRlciBvbiBsZWZ0IG9mIHBhbmVsLCBzd2l0Y2ggd2luZG93cy5cblBvaW50ZXIgb24gcmlnaHQgb2YgcGFuZWwsIHN3aXRjaCB3b3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAicGFuZWwgc2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tcGFuZWxTY3JvbGwiLAogICJ1dWlkIjogInBhbmVsU2Nyb2xsQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "42": {"version": "16", "sha256": "151813j8hhh4apgfj4dmxy07jwym1lixyn86937r2dz1qvk1s9l2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIHdvcmtzcGFjZSBieSBtb3VzZSBzY3JvbGwgb24gdGhlIHBhbmVsLlxuUG9pbnRlciBvbiBsZWZ0IG9mIHBhbmVsLCBzd2l0Y2ggd2luZG93cy5cblBvaW50ZXIgb24gcmlnaHQgb2YgcGFuZWwsIHN3aXRjaCB3b3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAicGFuZWwgc2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tcGFuZWxTY3JvbGwiLAogICJ1dWlkIjogInBhbmVsU2Nyb2xsQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}}}
 , {"uuid": "soft-brightness@fifi.org", "name": "Soft brightness", "pname": "soft-brightness", "description": "Add or override the brightness slider to change the brightness via an alpha layer (and optionally stop using or cooperate with the exising backlight, if present).\nEither internal, external or all monitors can be dimmed.\nSee the GitHub page for details.\n\nNote that this extension will keep running on the lock screen, as you'd also want the brightness setting to apply to the lock screen as well. Please report on GitHub if this gives you any trouble.", "link": "https://extensions.gnome.org/extension/1625/soft-brightness/", "shell_version_map": {"38": {"version": "29", "sha256": "1bkcjlax2s6ly68lpc53axxrmsicdkqg8kjr91n02nlqjdxsaz6b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvciBvdmVycmlkZSB0aGUgYnJpZ2h0bmVzcyBzbGlkZXIgdG8gY2hhbmdlIHRoZSBicmlnaHRuZXNzIHZpYSBhbiBhbHBoYSBsYXllciAoYW5kIG9wdGlvbmFsbHkgc3RvcCB1c2luZyBvciBjb29wZXJhdGUgd2l0aCB0aGUgZXhpc2luZyBiYWNrbGlnaHQsIGlmIHByZXNlbnQpLlxuRWl0aGVyIGludGVybmFsLCBleHRlcm5hbCBvciBhbGwgbW9uaXRvcnMgY2FuIGJlIGRpbW1lZC5cblNlZSB0aGUgR2l0SHViIHBhZ2UgZm9yIGRldGFpbHMuXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiB3aWxsIGtlZXAgcnVubmluZyBvbiB0aGUgbG9jayBzY3JlZW4sIGFzIHlvdSdkIGFsc28gd2FudCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBsb2NrIHNjcmVlbiBhcyB3ZWxsLiBQbGVhc2UgcmVwb3J0IG9uIEdpdEh1YiBpZiB0aGlzIGdpdmVzIHlvdSBhbnkgdHJvdWJsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzb2Z0LWJyaWdodG5lc3MiLAogICJuYW1lIjogIlNvZnQgYnJpZ2h0bmVzcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb2Z0LWJyaWdodG5lc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzMuOTAiLAogICAgIjMuMzYiLAogICAgIjMuMzUuMSIsCiAgICAiMy4zNS45MiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRi1pLWYvc29mdC1icmlnaHRuZXNzIiwKICAidXVpZCI6ICJzb2Z0LWJyaWdodG5lc3NAZmlmaS5vcmciLAogICJ2Y3NfcmV2aXNpb24iOiAidjI5LTAtZ2JiMTA1ZTQiLAogICJ2ZXJzaW9uIjogMjkKfQ=="}, "40": {"version": "29", "sha256": "1bkcjlax2s6ly68lpc53axxrmsicdkqg8kjr91n02nlqjdxsaz6b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvciBvdmVycmlkZSB0aGUgYnJpZ2h0bmVzcyBzbGlkZXIgdG8gY2hhbmdlIHRoZSBicmlnaHRuZXNzIHZpYSBhbiBhbHBoYSBsYXllciAoYW5kIG9wdGlvbmFsbHkgc3RvcCB1c2luZyBvciBjb29wZXJhdGUgd2l0aCB0aGUgZXhpc2luZyBiYWNrbGlnaHQsIGlmIHByZXNlbnQpLlxuRWl0aGVyIGludGVybmFsLCBleHRlcm5hbCBvciBhbGwgbW9uaXRvcnMgY2FuIGJlIGRpbW1lZC5cblNlZSB0aGUgR2l0SHViIHBhZ2UgZm9yIGRldGFpbHMuXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiB3aWxsIGtlZXAgcnVubmluZyBvbiB0aGUgbG9jayBzY3JlZW4sIGFzIHlvdSdkIGFsc28gd2FudCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBsb2NrIHNjcmVlbiBhcyB3ZWxsLiBQbGVhc2UgcmVwb3J0IG9uIEdpdEh1YiBpZiB0aGlzIGdpdmVzIHlvdSBhbnkgdHJvdWJsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzb2Z0LWJyaWdodG5lc3MiLAogICJuYW1lIjogIlNvZnQgYnJpZ2h0bmVzcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb2Z0LWJyaWdodG5lc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzMuOTAiLAogICAgIjMuMzYiLAogICAgIjMuMzUuMSIsCiAgICAiMy4zNS45MiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRi1pLWYvc29mdC1icmlnaHRuZXNzIiwKICAidXVpZCI6ICJzb2Z0LWJyaWdodG5lc3NAZmlmaS5vcmciLAogICJ2Y3NfcmV2aXNpb24iOiAidjI5LTAtZ2JiMTA1ZTQiLAogICJ2ZXJzaW9uIjogMjkKfQ=="}, "41": {"version": "29", "sha256": "1bkcjlax2s6ly68lpc53axxrmsicdkqg8kjr91n02nlqjdxsaz6b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBvciBvdmVycmlkZSB0aGUgYnJpZ2h0bmVzcyBzbGlkZXIgdG8gY2hhbmdlIHRoZSBicmlnaHRuZXNzIHZpYSBhbiBhbHBoYSBsYXllciAoYW5kIG9wdGlvbmFsbHkgc3RvcCB1c2luZyBvciBjb29wZXJhdGUgd2l0aCB0aGUgZXhpc2luZyBiYWNrbGlnaHQsIGlmIHByZXNlbnQpLlxuRWl0aGVyIGludGVybmFsLCBleHRlcm5hbCBvciBhbGwgbW9uaXRvcnMgY2FuIGJlIGRpbW1lZC5cblNlZSB0aGUgR2l0SHViIHBhZ2UgZm9yIGRldGFpbHMuXG5cbk5vdGUgdGhhdCB0aGlzIGV4dGVuc2lvbiB3aWxsIGtlZXAgcnVubmluZyBvbiB0aGUgbG9jayBzY3JlZW4sIGFzIHlvdSdkIGFsc28gd2FudCB0aGUgYnJpZ2h0bmVzcyBzZXR0aW5nIHRvIGFwcGx5IHRvIHRoZSBsb2NrIHNjcmVlbiBhcyB3ZWxsLiBQbGVhc2UgcmVwb3J0IG9uIEdpdEh1YiBpZiB0aGlzIGdpdmVzIHlvdSBhbnkgdHJvdWJsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzb2Z0LWJyaWdodG5lc3MiLAogICJuYW1lIjogIlNvZnQgYnJpZ2h0bmVzcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zb2Z0LWJyaWdodG5lc3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzMuOTAiLAogICAgIjMuMzYiLAogICAgIjMuMzUuMSIsCiAgICAiMy4zNS45MiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRi1pLWYvc29mdC1icmlnaHRuZXNzIiwKICAidXVpZCI6ICJzb2Z0LWJyaWdodG5lc3NAZmlmaS5vcmciLAogICJ2Y3NfcmV2aXNpb24iOiAidjI5LTAtZ2JiMTA1ZTQiLAogICJ2ZXJzaW9uIjogMjkKfQ=="}}}
 , {"uuid": "Resource_Monitor@Ory0n", "name": "Resource Monitor", "pname": "resource-monitor", "description": "Monitor the use of system resources like cpu, ram, disk, network and display them in gnome shell top bar.", "link": "https://extensions.gnome.org/extension/1634/resource-monitor/", "shell_version_map": {"38": {"version": "14", "sha256": "0mg6b54cinplc4i3kzn6p397a8flyivcyzg30pnfq7phhgpcnxwj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJHaXVzZXBwZSBTaWx2ZXN0cm8iLAogICJkZXNjcmlwdGlvbiI6ICJNb25pdG9yIHRoZSB1c2Ugb2Ygc3lzdGVtIHJlc291cmNlcyBsaWtlIGNwdSwgcmFtLCBkaXNrLCBuZXR3b3JrIGFuZCBkaXNwbGF5IHRoZW0gaW4gZ25vbWUgc2hlbGwgdG9wIGJhci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjb20tZ2l0aHViLU9yeTBuLVJlc291cmNlX01vbml0b3IiLAogICJuYW1lIjogIlJlc291cmNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5Pcnkwbi5SZXNvdXJjZV9Nb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vMHJ5MG4vUmVzb3VyY2VfTW9uaXRvci8iLAogICJ1dWlkIjogIlJlc291cmNlX01vbml0b3JAT3J5MG4iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "40": {"version": "16", "sha256": "0jpamw200p1q0g7h1llvaq3hrqijgzkp7apgyvbgw8mg529q3xyj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJHaXVzZXBwZSBTaWx2ZXN0cm8iLAogICJkZXNjcmlwdGlvbiI6ICJNb25pdG9yIHRoZSB1c2Ugb2Ygc3lzdGVtIHJlc291cmNlcyBsaWtlIGNwdSwgcmFtLCBkaXNrLCBuZXR3b3JrIGFuZCBkaXNwbGF5IHRoZW0gaW4gZ25vbWUgc2hlbGwgdG9wIGJhci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjb20tZ2l0aHViLU9yeTBuLVJlc291cmNlX01vbml0b3IiLAogICJuYW1lIjogIlJlc291cmNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5Pcnkwbi5SZXNvdXJjZV9Nb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS8wcnkwbi9SZXNvdXJjZV9Nb25pdG9yLyIsCiAgInV1aWQiOiAiUmVzb3VyY2VfTW9uaXRvckBPcnkwbiIsCiAgInZlcnNpb24iOiAxNgp9"}, "41": {"version": "16", "sha256": "0jpamw200p1q0g7h1llvaq3hrqijgzkp7apgyvbgw8mg529q3xyj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJHaXVzZXBwZSBTaWx2ZXN0cm8iLAogICJkZXNjcmlwdGlvbiI6ICJNb25pdG9yIHRoZSB1c2Ugb2Ygc3lzdGVtIHJlc291cmNlcyBsaWtlIGNwdSwgcmFtLCBkaXNrLCBuZXR3b3JrIGFuZCBkaXNwbGF5IHRoZW0gaW4gZ25vbWUgc2hlbGwgdG9wIGJhci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjb20tZ2l0aHViLU9yeTBuLVJlc291cmNlX01vbml0b3IiLAogICJuYW1lIjogIlJlc291cmNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5Pcnkwbi5SZXNvdXJjZV9Nb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS8wcnkwbi9SZXNvdXJjZV9Nb25pdG9yLyIsCiAgInV1aWQiOiAiUmVzb3VyY2VfTW9uaXRvckBPcnkwbiIsCiAgInZlcnNpb24iOiAxNgp9"}}}
 , {"uuid": "tweaks-system-menu@extensions.gnome-shell.fifi.org", "name": "Tweaks & Extensions in System Menu", "pname": "tweaks-in-system-menu", "description": "Put Gnome Tweaks and Extensions (on Shell 40 and later) in the System menu.", "link": "https://extensions.gnome.org/extension/1653/tweaks-in-system-menu/", "shell_version_map": {"38": {"version": "18", "sha256": "0wzpzn3pq05p9qqibb0436kckgh4y16xcm3wgr7xmxx68zpd87p4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBHbm9tZSBUd2Vha3MgYW5kIEV4dGVuc2lvbnMgKG9uIFNoZWxsIDQwIGFuZCBsYXRlcikgaW4gdGhlIFN5c3RlbSBtZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogInR3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgIm5hbWUiOiAiVHdlYWtzICYgRXh0ZW5zaW9ucyBpbiBTeXN0ZW0gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzUuOTIiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9GLWktZi90d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJ1dWlkIjogInR3ZWFrcy1zeXN0ZW0tbWVudUBleHRlbnNpb25zLmdub21lLXNoZWxsLmZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInYxOC0wLWczMTE4ZmI4IiwKICAidmVyc2lvbiI6IDE4Cn0="}, "40": {"version": "18", "sha256": "0wzpzn3pq05p9qqibb0436kckgh4y16xcm3wgr7xmxx68zpd87p4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBHbm9tZSBUd2Vha3MgYW5kIEV4dGVuc2lvbnMgKG9uIFNoZWxsIDQwIGFuZCBsYXRlcikgaW4gdGhlIFN5c3RlbSBtZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogInR3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgIm5hbWUiOiAiVHdlYWtzICYgRXh0ZW5zaW9ucyBpbiBTeXN0ZW0gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzUuOTIiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9GLWktZi90d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJ1dWlkIjogInR3ZWFrcy1zeXN0ZW0tbWVudUBleHRlbnNpb25zLmdub21lLXNoZWxsLmZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInYxOC0wLWczMTE4ZmI4IiwKICAidmVyc2lvbiI6IDE4Cn0="}, "41": {"version": "18", "sha256": "0wzpzn3pq05p9qqibb0436kckgh4y16xcm3wgr7xmxx68zpd87p4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBHbm9tZSBUd2Vha3MgYW5kIEV4dGVuc2lvbnMgKG9uIFNoZWxsIDQwIGFuZCBsYXRlcikgaW4gdGhlIFN5c3RlbSBtZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogInR3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgIm5hbWUiOiAiVHdlYWtzICYgRXh0ZW5zaW9ucyBpbiBTeXN0ZW0gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzUuOTIiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9GLWktZi90d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJ1dWlkIjogInR3ZWFrcy1zeXN0ZW0tbWVudUBleHRlbnNpb25zLmdub21lLXNoZWxsLmZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInYxOC0wLWczMTE4ZmI4IiwKICAidmVyc2lvbiI6IDE4Cn0="}, "42": {"version": "18", "sha256": "0wzpzn3pq05p9qqibb0436kckgh4y16xcm3wgr7xmxx68zpd87p4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBHbm9tZSBUd2Vha3MgYW5kIEV4dGVuc2lvbnMgKG9uIFNoZWxsIDQwIGFuZCBsYXRlcikgaW4gdGhlIFN5c3RlbSBtZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogInR3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgIm5hbWUiOiAiVHdlYWtzICYgRXh0ZW5zaW9ucyBpbiBTeXN0ZW0gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzUuOTIiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9GLWktZi90d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJ1dWlkIjogInR3ZWFrcy1zeXN0ZW0tbWVudUBleHRlbnNpb25zLmdub21lLXNoZWxsLmZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInYxOC0wLWczMTE4ZmI4IiwKICAidmVyc2lvbiI6IDE4Cn0="}}}
@@ -234,7 +235,7 @@
 , {"uuid": "TransparentTopbar@enrico.sorio.net", "name": "Transparent Topbar", "pname": "transparent-topbar", "description": "Transparent Topbar with Multi monitors support", "link": "https://extensions.gnome.org/extension/1765/transparent-topbar/", "shell_version_map": {"38": {"version": "2", "sha256": "0rv7ddwrsmk7zrwyf2fkjhiv38pm4h0ijx1mppwji7vgvips0602", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zcGFyZW50IFRvcGJhciB3aXRoIE11bHRpIG1vbml0b3JzIHN1cHBvcnQiLAogICJuYW1lIjogIlRyYW5zcGFyZW50IFRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiVHJhbnNwYXJlbnRUb3BiYXJAZW5yaWNvLnNvcmlvLm5ldCIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "0rv7ddwrsmk7zrwyf2fkjhiv38pm4h0ijx1mppwji7vgvips0602", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zcGFyZW50IFRvcGJhciB3aXRoIE11bHRpIG1vbml0b3JzIHN1cHBvcnQiLAogICJuYW1lIjogIlRyYW5zcGFyZW50IFRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiVHJhbnNwYXJlbnRUb3BiYXJAZW5yaWNvLnNvcmlvLm5ldCIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "colortint@matt.serverus.co.uk", "name": "ColorTint", "pname": "colortint", "description": "Tint your desktop with a color of your choice to help with dyslexia, visual stress, scopic sensitivity, and related conditions.", "link": "https://extensions.gnome.org/extension/1789/colortint/", "shell_version_map": {"40": {"version": "7", "sha256": "1ggf4xlnyfxhl3fsl8ljdj0izipx2v8kxpnhhqz7w397a0r9q121", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbnQgeW91ciBkZXNrdG9wIHdpdGggYSBjb2xvciBvZiB5b3VyIGNob2ljZSB0byBoZWxwIHdpdGggZHlzbGV4aWEsIHZpc3VhbCBzdHJlc3MsIHNjb3BpYyBzZW5zaXRpdml0eSwgYW5kIHJlbGF0ZWQgY29uZGl0aW9ucy4iLAogICJuYW1lIjogIkNvbG9yVGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYXR0QnlOYW1lL2NvbG9yLXRpbnQiLAogICJ1dWlkIjogImNvbG9ydGludEBtYXR0LnNlcnZlcnVzLmNvLnVrIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"uuid": "sermon@rovellipaolo-gmail.com", "name": "SerMon: Service Monitor", "pname": "sermon", "description": "SerMon: an extension for monitoring and managing systemd services, cron jobs, docker and podman containers", "link": "https://extensions.gnome.org/extension/1804/sermon/", "shell_version_map": {"38": {"version": "16", "sha256": "1dgyphy5wka0b6jaqkdgb2kyy70f9ccgdmrcna9p04i2kcy4hm9i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlck1vbjogYW4gZXh0ZW5zaW9uIGZvciBtb25pdG9yaW5nIGFuZCBtYW5hZ2luZyBzeXN0ZW1kIHNlcnZpY2VzLCBjcm9uIGpvYnMsIGRvY2tlciBhbmQgcG9kbWFuIGNvbnRhaW5lcnMiLAogICJuYW1lIjogIlNlck1vbjogU2VydmljZSBNb25pdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNlcm1vbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcm92ZWxsaXBhb2xvL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZXJtb24iLAogICJ1dWlkIjogInNlcm1vbkByb3ZlbGxpcGFvbG8tZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "40": {"version": "16", "sha256": "1dgyphy5wka0b6jaqkdgb2kyy70f9ccgdmrcna9p04i2kcy4hm9i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlck1vbjogYW4gZXh0ZW5zaW9uIGZvciBtb25pdG9yaW5nIGFuZCBtYW5hZ2luZyBzeXN0ZW1kIHNlcnZpY2VzLCBjcm9uIGpvYnMsIGRvY2tlciBhbmQgcG9kbWFuIGNvbnRhaW5lcnMiLAogICJuYW1lIjogIlNlck1vbjogU2VydmljZSBNb25pdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNlcm1vbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcm92ZWxsaXBhb2xvL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZXJtb24iLAogICJ1dWlkIjogInNlcm1vbkByb3ZlbGxpcGFvbG8tZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "41": {"version": "16", "sha256": "1dgyphy5wka0b6jaqkdgb2kyy70f9ccgdmrcna9p04i2kcy4hm9i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlck1vbjogYW4gZXh0ZW5zaW9uIGZvciBtb25pdG9yaW5nIGFuZCBtYW5hZ2luZyBzeXN0ZW1kIHNlcnZpY2VzLCBjcm9uIGpvYnMsIGRvY2tlciBhbmQgcG9kbWFuIGNvbnRhaW5lcnMiLAogICJuYW1lIjogIlNlck1vbjogU2VydmljZSBNb25pdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNlcm1vbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcm92ZWxsaXBhb2xvL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zZXJtb24iLAogICJ1dWlkIjogInNlcm1vbkByb3ZlbGxpcGFvbG8tZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}}}
-, {"uuid": "dict@sun.wxg@gmail.com", "name": "Screen word translate", "pname": "screen-word-translate", "description": "Translate word on the screen.\nDefault web address is translate.google.com, you can add the web address for your own language. Also you can contribute your web address to my github repo.\nUse hotkey Ctrl+Alt+j to toggle the function.\nUse hotkey Ctrl+Alt+o to show popup window", "link": "https://extensions.gnome.org/extension/1849/screen-word-translate/", "shell_version_map": {"38": {"version": "32", "sha256": "0wh9d0siggr49bfcx1308xx8rxc58nadnhp3mjj53i6fvja3cx62", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSB3b3JkIG9uIHRoZSBzY3JlZW4uXG5EZWZhdWx0IHdlYiBhZGRyZXNzIGlzIHRyYW5zbGF0ZS5nb29nbGUuY29tLCB5b3UgY2FuIGFkZCB0aGUgd2ViIGFkZHJlc3MgZm9yIHlvdXIgb3duIGxhbmd1YWdlLiBBbHNvIHlvdSBjYW4gY29udHJpYnV0ZSB5b3VyIHdlYiBhZGRyZXNzIHRvIG15IGdpdGh1YiByZXBvLlxuVXNlIGhvdGtleSBDdHJsK0FsdCtqIHRvIHRvZ2dsZSB0aGUgZnVuY3Rpb24uXG5Vc2UgaG90a2V5IEN0cmwrQWx0K28gdG8gc2hvdyBwb3B1cCB3aW5kb3ciLAogICJuYW1lIjogIlNjcmVlbiB3b3JkIHRyYW5zbGF0ZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAic3VuLnd4Z0BnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRpY3QiLAogICJ1dWlkIjogImRpY3RAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzIKfQ=="}, "40": {"version": "38", "sha256": "19rpi2hqznwzngzw9zsar00mhmqav8v7wbij4r7cai4jgvmk8459", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSB3b3JkIG9uIHRoZSBzY3JlZW4uXG5EZWZhdWx0IHdlYiBhZGRyZXNzIGlzIHRyYW5zbGF0ZS5nb29nbGUuY29tLCB5b3UgY2FuIGFkZCB0aGUgd2ViIGFkZHJlc3MgZm9yIHlvdXIgb3duIGxhbmd1YWdlLiBBbHNvIHlvdSBjYW4gY29udHJpYnV0ZSB5b3VyIHdlYiBhZGRyZXNzIHRvIG15IGdpdGh1YiByZXBvLlxuVXNlIGhvdGtleSBDdHJsK0FsdCtqIHRvIHRvZ2dsZSB0aGUgZnVuY3Rpb24uXG5Vc2UgaG90a2V5IEN0cmwrQWx0K28gdG8gc2hvdyBwb3B1cCB3aW5kb3ciLAogICJuYW1lIjogIlNjcmVlbiB3b3JkIHRyYW5zbGF0ZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAic3VuLnd4Z0BnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGljdCIsCiAgInV1aWQiOiAiZGljdEBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzOAp9"}, "41": {"version": "38", "sha256": "19rpi2hqznwzngzw9zsar00mhmqav8v7wbij4r7cai4jgvmk8459", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSB3b3JkIG9uIHRoZSBzY3JlZW4uXG5EZWZhdWx0IHdlYiBhZGRyZXNzIGlzIHRyYW5zbGF0ZS5nb29nbGUuY29tLCB5b3UgY2FuIGFkZCB0aGUgd2ViIGFkZHJlc3MgZm9yIHlvdXIgb3duIGxhbmd1YWdlLiBBbHNvIHlvdSBjYW4gY29udHJpYnV0ZSB5b3VyIHdlYiBhZGRyZXNzIHRvIG15IGdpdGh1YiByZXBvLlxuVXNlIGhvdGtleSBDdHJsK0FsdCtqIHRvIHRvZ2dsZSB0aGUgZnVuY3Rpb24uXG5Vc2UgaG90a2V5IEN0cmwrQWx0K28gdG8gc2hvdyBwb3B1cCB3aW5kb3ciLAogICJuYW1lIjogIlNjcmVlbiB3b3JkIHRyYW5zbGF0ZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAic3VuLnd4Z0BnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGljdCIsCiAgInV1aWQiOiAiZGljdEBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzOAp9"}}}
+, {"uuid": "dict@sun.wxg@gmail.com", "name": "Screen word translate", "pname": "screen-word-translate", "description": "Translate word on the screen.\nDefault web address is translate.google.com, you can add the web address for your own language. Also you can contribute your web address to my github repo.\nUse hotkey Ctrl+Alt+j to toggle the function.\nUse hotkey Ctrl+Alt+o to show popup window", "link": "https://extensions.gnome.org/extension/1849/screen-word-translate/", "shell_version_map": {"38": {"version": "32", "sha256": "0wh9d0siggr49bfcx1308xx8rxc58nadnhp3mjj53i6fvja3cx62", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSB3b3JkIG9uIHRoZSBzY3JlZW4uXG5EZWZhdWx0IHdlYiBhZGRyZXNzIGlzIHRyYW5zbGF0ZS5nb29nbGUuY29tLCB5b3UgY2FuIGFkZCB0aGUgd2ViIGFkZHJlc3MgZm9yIHlvdXIgb3duIGxhbmd1YWdlLiBBbHNvIHlvdSBjYW4gY29udHJpYnV0ZSB5b3VyIHdlYiBhZGRyZXNzIHRvIG15IGdpdGh1YiByZXBvLlxuVXNlIGhvdGtleSBDdHJsK0FsdCtqIHRvIHRvZ2dsZSB0aGUgZnVuY3Rpb24uXG5Vc2UgaG90a2V5IEN0cmwrQWx0K28gdG8gc2hvdyBwb3B1cCB3aW5kb3ciLAogICJuYW1lIjogIlNjcmVlbiB3b3JkIHRyYW5zbGF0ZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAic3VuLnd4Z0BnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRpY3QiLAogICJ1dWlkIjogImRpY3RAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzIKfQ=="}, "40": {"version": "39", "sha256": "1dgnx3vpqgmpl9vr7bli7aifyr367jifbqyxjdb0ygqd7j4fav5f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSB3b3JkIG9uIHRoZSBzY3JlZW4uXG5EZWZhdWx0IHdlYiBhZGRyZXNzIGlzIHRyYW5zbGF0ZS5nb29nbGUuY29tLCB5b3UgY2FuIGFkZCB0aGUgd2ViIGFkZHJlc3MgZm9yIHlvdXIgb3duIGxhbmd1YWdlLiBBbHNvIHlvdSBjYW4gY29udHJpYnV0ZSB5b3VyIHdlYiBhZGRyZXNzIHRvIG15IGdpdGh1YiByZXBvLlxuVXNlIGhvdGtleSBDdHJsK0FsdCtqIHRvIHRvZ2dsZSB0aGUgZnVuY3Rpb24uXG5Vc2UgaG90a2V5IEN0cmwrQWx0K28gdG8gc2hvdyBwb3B1cCB3aW5kb3ciLAogICJuYW1lIjogIlNjcmVlbiB3b3JkIHRyYW5zbGF0ZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAic3VuLnd4Z0BnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRpY3QiLAogICJ1dWlkIjogImRpY3RAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzkKfQ=="}, "41": {"version": "39", "sha256": "1dgnx3vpqgmpl9vr7bli7aifyr367jifbqyxjdb0ygqd7j4fav5f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSB3b3JkIG9uIHRoZSBzY3JlZW4uXG5EZWZhdWx0IHdlYiBhZGRyZXNzIGlzIHRyYW5zbGF0ZS5nb29nbGUuY29tLCB5b3UgY2FuIGFkZCB0aGUgd2ViIGFkZHJlc3MgZm9yIHlvdXIgb3duIGxhbmd1YWdlLiBBbHNvIHlvdSBjYW4gY29udHJpYnV0ZSB5b3VyIHdlYiBhZGRyZXNzIHRvIG15IGdpdGh1YiByZXBvLlxuVXNlIGhvdGtleSBDdHJsK0FsdCtqIHRvIHRvZ2dsZSB0aGUgZnVuY3Rpb24uXG5Vc2UgaG90a2V5IEN0cmwrQWx0K28gdG8gc2hvdyBwb3B1cCB3aW5kb3ciLAogICJuYW1lIjogIlNjcmVlbiB3b3JkIHRyYW5zbGF0ZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAic3VuLnd4Z0BnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRpY3QiLAogICJ1dWlkIjogImRpY3RAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzkKfQ=="}, "42": {"version": "39", "sha256": "1dgnx3vpqgmpl9vr7bli7aifyr367jifbqyxjdb0ygqd7j4fav5f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSB3b3JkIG9uIHRoZSBzY3JlZW4uXG5EZWZhdWx0IHdlYiBhZGRyZXNzIGlzIHRyYW5zbGF0ZS5nb29nbGUuY29tLCB5b3UgY2FuIGFkZCB0aGUgd2ViIGFkZHJlc3MgZm9yIHlvdXIgb3duIGxhbmd1YWdlLiBBbHNvIHlvdSBjYW4gY29udHJpYnV0ZSB5b3VyIHdlYiBhZGRyZXNzIHRvIG15IGdpdGh1YiByZXBvLlxuVXNlIGhvdGtleSBDdHJsK0FsdCtqIHRvIHRvZ2dsZSB0aGUgZnVuY3Rpb24uXG5Vc2UgaG90a2V5IEN0cmwrQWx0K28gdG8gc2hvdyBwb3B1cCB3aW5kb3ciLAogICJuYW1lIjogIlNjcmVlbiB3b3JkIHRyYW5zbGF0ZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAic3VuLnd4Z0BnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRpY3QiLAogICJ1dWlkIjogImRpY3RAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzkKfQ=="}}}
 , {"uuid": "gamemode@christian.kellner.me", "name": "GameMode", "pname": "gamemode", "description": "Status indicator for GameMode", "link": "https://extensions.gnome.org/extension/1852/gamemode/", "shell_version_map": {"38": {"version": "6", "sha256": "05256a7rcw1db983w557cpl5vilkb0wg82xpja91j2lqnp7als5l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0YXR1cyBpbmRpY2F0b3IgZm9yIEdhbWVNb2RlIiwKICAiZXh0ZW5zaW9uLWlkIjogImdhbWVtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ2FtZW1vZGUtZXh0ZW5zaW9uIiwKICAibmFtZSI6ICJHYW1lTW9kZSIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJja2VsbG5lckByZWRoYXQuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdhbWVtb2RlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9naWNtby9nYW1lbW9kZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdhbWVtb2RlQGNocmlzdGlhbi5rZWxsbmVyLm1lIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "6", "sha256": "05256a7rcw1db983w557cpl5vilkb0wg82xpja91j2lqnp7als5l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0YXR1cyBpbmRpY2F0b3IgZm9yIEdhbWVNb2RlIiwKICAiZXh0ZW5zaW9uLWlkIjogImdhbWVtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ2FtZW1vZGUtZXh0ZW5zaW9uIiwKICAibmFtZSI6ICJHYW1lTW9kZSIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJja2VsbG5lckByZWRoYXQuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdhbWVtb2RlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9naWNtby9nYW1lbW9kZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdhbWVtb2RlQGNocmlzdGlhbi5rZWxsbmVyLm1lIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "05256a7rcw1db983w557cpl5vilkb0wg82xpja91j2lqnp7als5l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0YXR1cyBpbmRpY2F0b3IgZm9yIEdhbWVNb2RlIiwKICAiZXh0ZW5zaW9uLWlkIjogImdhbWVtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ2FtZW1vZGUtZXh0ZW5zaW9uIiwKICAibmFtZSI6ICJHYW1lTW9kZSIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJja2VsbG5lckByZWRoYXQuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdhbWVtb2RlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9naWNtby9nYW1lbW9kZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdhbWVtb2RlQGNocmlzdGlhbi5rZWxsbmVyLm1lIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "unredirect@vaina.lt", "name": "Disable unredirect fullscreen windows", "pname": "disable-unredirect-fullscreen-windows", "description": "Disables unredirect fullscreen windows in gnome-shell", "link": "https://extensions.gnome.org/extension/1873/disable-unredirect-fullscreen-windows/", "shell_version_map": {"38": {"version": "4", "sha256": "114536ils1avmwzqxf41q78wg50ynpiyq9kiw7smbxnx6l4pds0q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIHVucmVkaXJlY3QgZnVsbHNjcmVlbiB3aW5kb3dzIGluIGdub21lLXNoZWxsIiwKICAibmFtZSI6ICJEaXNhYmxlIHVucmVkaXJlY3QgZnVsbHNjcmVlbiB3aW5kb3dzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJLYXppbWllcmFzIFZhaW5hIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIiLAogICAgIjMuNCIsCiAgICAiMy42IiwKICAgICIzLjgiLAogICAgIjMuMTAiLAogICAgIjMuMTIiLAogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMzAiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thenlzbWFzdGVyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kaXNhYmxlLXVucmVkaXJlY3QiLAogICJ1dWlkIjogInVucmVkaXJlY3RAdmFpbmEubHQiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "114536ils1avmwzqxf41q78wg50ynpiyq9kiw7smbxnx6l4pds0q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIHVucmVkaXJlY3QgZnVsbHNjcmVlbiB3aW5kb3dzIGluIGdub21lLXNoZWxsIiwKICAibmFtZSI6ICJEaXNhYmxlIHVucmVkaXJlY3QgZnVsbHNjcmVlbiB3aW5kb3dzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJLYXppbWllcmFzIFZhaW5hIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIiLAogICAgIjMuNCIsCiAgICAiMy42IiwKICAgICIzLjgiLAogICAgIjMuMTAiLAogICAgIjMuMTIiLAogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMzAiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thenlzbWFzdGVyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kaXNhYmxlLXVucmVkaXJlY3QiLAogICJ1dWlkIjogInVucmVkaXJlY3RAdmFpbmEubHQiLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "114536ils1avmwzqxf41q78wg50ynpiyq9kiw7smbxnx6l4pds0q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIHVucmVkaXJlY3QgZnVsbHNjcmVlbiB3aW5kb3dzIGluIGdub21lLXNoZWxsIiwKICAibmFtZSI6ICJEaXNhYmxlIHVucmVkaXJlY3QgZnVsbHNjcmVlbiB3aW5kb3dzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJLYXppbWllcmFzIFZhaW5hIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIiLAogICAgIjMuNCIsCiAgICAiMy42IiwKICAgICIzLjgiLAogICAgIjMuMTAiLAogICAgIjMuMTIiLAogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMzAiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thenlzbWFzdGVyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kaXNhYmxlLXVucmVkaXJlY3QiLAogICJ1dWlkIjogInVucmVkaXJlY3RAdmFpbmEubHQiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "krypto@sereneblue", "name": "krypto", "pname": "krypto", "description": "Cryptocurrency utility", "link": "https://extensions.gnome.org/extension/1913/krypto/", "shell_version_map": {"38": {"version": "5", "sha256": "0pmga4iqpm0i853lgqfhvnkxhji8m79pk9hgf24lvbpv8alkxzz3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyeXB0b2N1cnJlbmN5IHV0aWxpdHkiLAogICJuYW1lIjogImtyeXB0byIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NlcmVuZWJsdWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtyeXB0byIsCiAgInV1aWQiOiAia3J5cHRvQHNlcmVuZWJsdWUiLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "17", "sha256": "0s6xv3ndjj2bhliyp9rxkxk3sqbbiff1x886ca03j5f8ywcg7x7i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyeXB0b2N1cnJlbmN5IHV0aWxpdHkiLAogICJuYW1lIjogImtyeXB0byIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NlcmVuZWJsdWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtyeXB0byIsCiAgInV1aWQiOiAia3J5cHRvQHNlcmVuZWJsdWUiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "41": {"version": "17", "sha256": "0s6xv3ndjj2bhliyp9rxkxk3sqbbiff1x886ca03j5f8ywcg7x7i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyeXB0b2N1cnJlbmN5IHV0aWxpdHkiLAogICJuYW1lIjogImtyeXB0byIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NlcmVuZWJsdWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtyeXB0byIsCiAgInV1aWQiOiAia3J5cHRvQHNlcmVuZWJsdWUiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "42": {"version": "17", "sha256": "0s6xv3ndjj2bhliyp9rxkxk3sqbbiff1x886ca03j5f8ywcg7x7i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyeXB0b2N1cnJlbmN5IHV0aWxpdHkiLAogICJuYW1lIjogImtyeXB0byIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NlcmVuZWJsdWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtyeXB0byIsCiAgInV1aWQiOiAia3J5cHRvQHNlcmVuZWJsdWUiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
@@ -243,11 +244,11 @@
 , {"uuid": "application_view_when_empty@fawtytoo", "name": "Show Application View When Workspace Empty", "pname": "show-application-view-when-workspace-empty", "description": "Shows the application view 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. Starting applications or switching to a workspace with open windows will hide the application view if it's showing.\nFrom version 22, this extension waits for any window closing animation to complete (if enabled) before showing the application view.", "link": "https://extensions.gnome.org/extension/2036/show-application-view-when-workspace-empty/", "shell_version_map": {"38": {"version": "24", "sha256": "1g8c9pz8i35kap730ly0h3lzz2qrzc9057zw9mpcwqkqkp6v1aw4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSBhcHBsaWNhdGlvbiB2aWV3IHdoZW4gdGhlIHdvcmtzcGFjZSBpcyBvciBiZWNvbWVzIGVtcHR5LCBzdWNoIGFzIHN3aXRjaGluZyB0byBhbiBlbXB0eSB3b3Jrc3BhY2UsIHdoZW4gYWxsIHdpbmRvd3Mgb24gYSB3b3Jrc3BhY2UgYXJlIGNsb3NlZCwgb3IgYWZ0ZXIgbG9naW4uIFN0YXJ0aW5nIGFwcGxpY2F0aW9ucyBvciBzd2l0Y2hpbmcgdG8gYSB3b3Jrc3BhY2Ugd2l0aCBvcGVuIHdpbmRvd3Mgd2lsbCBoaWRlIHRoZSBhcHBsaWNhdGlvbiB2aWV3IGlmIGl0J3Mgc2hvd2luZy5cbkZyb20gdmVyc2lvbiAyMiwgdGhpcyBleHRlbnNpb24gd2FpdHMgZm9yIGFueSB3aW5kb3cgY2xvc2luZyBhbmltYXRpb24gdG8gY29tcGxldGUgKGlmIGVuYWJsZWQpIGJlZm9yZSBzaG93aW5nIHRoZSBhcHBsaWNhdGlvbiB2aWV3LiIsCiAgIm5hbWUiOiAiU2hvdyBBcHBsaWNhdGlvbiBWaWV3IFdoZW4gV29ya3NwYWNlIEVtcHR5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mYXd0eXRvby9TaG93LUFwcGxpY2F0aW9uLVZpZXctV2hlbi1Xb3Jrc3BhY2UtRW1wdHkiLAogICJ1dWlkIjogImFwcGxpY2F0aW9uX3ZpZXdfd2hlbl9lbXB0eUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAyNAp9"}, "40": {"version": "24", "sha256": "1g8c9pz8i35kap730ly0h3lzz2qrzc9057zw9mpcwqkqkp6v1aw4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSBhcHBsaWNhdGlvbiB2aWV3IHdoZW4gdGhlIHdvcmtzcGFjZSBpcyBvciBiZWNvbWVzIGVtcHR5LCBzdWNoIGFzIHN3aXRjaGluZyB0byBhbiBlbXB0eSB3b3Jrc3BhY2UsIHdoZW4gYWxsIHdpbmRvd3Mgb24gYSB3b3Jrc3BhY2UgYXJlIGNsb3NlZCwgb3IgYWZ0ZXIgbG9naW4uIFN0YXJ0aW5nIGFwcGxpY2F0aW9ucyBvciBzd2l0Y2hpbmcgdG8gYSB3b3Jrc3BhY2Ugd2l0aCBvcGVuIHdpbmRvd3Mgd2lsbCBoaWRlIHRoZSBhcHBsaWNhdGlvbiB2aWV3IGlmIGl0J3Mgc2hvd2luZy5cbkZyb20gdmVyc2lvbiAyMiwgdGhpcyBleHRlbnNpb24gd2FpdHMgZm9yIGFueSB3aW5kb3cgY2xvc2luZyBhbmltYXRpb24gdG8gY29tcGxldGUgKGlmIGVuYWJsZWQpIGJlZm9yZSBzaG93aW5nIHRoZSBhcHBsaWNhdGlvbiB2aWV3LiIsCiAgIm5hbWUiOiAiU2hvdyBBcHBsaWNhdGlvbiBWaWV3IFdoZW4gV29ya3NwYWNlIEVtcHR5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mYXd0eXRvby9TaG93LUFwcGxpY2F0aW9uLVZpZXctV2hlbi1Xb3Jrc3BhY2UtRW1wdHkiLAogICJ1dWlkIjogImFwcGxpY2F0aW9uX3ZpZXdfd2hlbl9lbXB0eUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAyNAp9"}, "41": {"version": "24", "sha256": "1g8c9pz8i35kap730ly0h3lzz2qrzc9057zw9mpcwqkqkp6v1aw4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSBhcHBsaWNhdGlvbiB2aWV3IHdoZW4gdGhlIHdvcmtzcGFjZSBpcyBvciBiZWNvbWVzIGVtcHR5LCBzdWNoIGFzIHN3aXRjaGluZyB0byBhbiBlbXB0eSB3b3Jrc3BhY2UsIHdoZW4gYWxsIHdpbmRvd3Mgb24gYSB3b3Jrc3BhY2UgYXJlIGNsb3NlZCwgb3IgYWZ0ZXIgbG9naW4uIFN0YXJ0aW5nIGFwcGxpY2F0aW9ucyBvciBzd2l0Y2hpbmcgdG8gYSB3b3Jrc3BhY2Ugd2l0aCBvcGVuIHdpbmRvd3Mgd2lsbCBoaWRlIHRoZSBhcHBsaWNhdGlvbiB2aWV3IGlmIGl0J3Mgc2hvd2luZy5cbkZyb20gdmVyc2lvbiAyMiwgdGhpcyBleHRlbnNpb24gd2FpdHMgZm9yIGFueSB3aW5kb3cgY2xvc2luZyBhbmltYXRpb24gdG8gY29tcGxldGUgKGlmIGVuYWJsZWQpIGJlZm9yZSBzaG93aW5nIHRoZSBhcHBsaWNhdGlvbiB2aWV3LiIsCiAgIm5hbWUiOiAiU2hvdyBBcHBsaWNhdGlvbiBWaWV3IFdoZW4gV29ya3NwYWNlIEVtcHR5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mYXd0eXRvby9TaG93LUFwcGxpY2F0aW9uLVZpZXctV2hlbi1Xb3Jrc3BhY2UtRW1wdHkiLAogICJ1dWlkIjogImFwcGxpY2F0aW9uX3ZpZXdfd2hlbl9lbXB0eUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAyNAp9"}}}
 , {"uuid": "activities_icon_menu@fawtytoo", "name": "Activities Icon Menu", "pname": "activities-menu-for-apps-and-windows", "description": "This extension turns the Activities button into a popup menu with icons for selecting either Applications or Workspaces in the Overview. Selecting the same view again will hide the overview.\n\nThis is particularly useful for tablet users that find the Activities button difficult to click on, whereas a menu can be more easily invoked.", "link": "https://extensions.gnome.org/extension/2048/activities-menu-for-apps-and-windows/", "shell_version_map": {"38": {"version": "10", "sha256": "1ggr5il7fvh07zabh3mk3rhy68daqpj2wzqh9qxh76ykcswzd8kd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHR1cm5zIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBpbnRvIGEgcG9wdXAgbWVudSB3aXRoIGljb25zIGZvciBzZWxlY3RpbmcgZWl0aGVyIEFwcGxpY2F0aW9ucyBvciBXb3Jrc3BhY2VzIGluIHRoZSBPdmVydmlldy4gU2VsZWN0aW5nIHRoZSBzYW1lIHZpZXcgYWdhaW4gd2lsbCBoaWRlIHRoZSBvdmVydmlldy5cblxuVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciB0YWJsZXQgdXNlcnMgdGhhdCBmaW5kIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBkaWZmaWN1bHQgdG8gY2xpY2sgb24sIHdoZXJlYXMgYSBtZW51IGNhbiBiZSBtb3JlIGVhc2lseSBpbnZva2VkLiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBJY29uIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJhY3Rpdml0aWVzX2ljb25fbWVudUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "40": {"version": "10", "sha256": "1ggr5il7fvh07zabh3mk3rhy68daqpj2wzqh9qxh76ykcswzd8kd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHR1cm5zIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBpbnRvIGEgcG9wdXAgbWVudSB3aXRoIGljb25zIGZvciBzZWxlY3RpbmcgZWl0aGVyIEFwcGxpY2F0aW9ucyBvciBXb3Jrc3BhY2VzIGluIHRoZSBPdmVydmlldy4gU2VsZWN0aW5nIHRoZSBzYW1lIHZpZXcgYWdhaW4gd2lsbCBoaWRlIHRoZSBvdmVydmlldy5cblxuVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciB0YWJsZXQgdXNlcnMgdGhhdCBmaW5kIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBkaWZmaWN1bHQgdG8gY2xpY2sgb24sIHdoZXJlYXMgYSBtZW51IGNhbiBiZSBtb3JlIGVhc2lseSBpbnZva2VkLiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBJY29uIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJhY3Rpdml0aWVzX2ljb25fbWVudUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "41": {"version": "10", "sha256": "1ggr5il7fvh07zabh3mk3rhy68daqpj2wzqh9qxh76ykcswzd8kd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHR1cm5zIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBpbnRvIGEgcG9wdXAgbWVudSB3aXRoIGljb25zIGZvciBzZWxlY3RpbmcgZWl0aGVyIEFwcGxpY2F0aW9ucyBvciBXb3Jrc3BhY2VzIGluIHRoZSBPdmVydmlldy4gU2VsZWN0aW5nIHRoZSBzYW1lIHZpZXcgYWdhaW4gd2lsbCBoaWRlIHRoZSBvdmVydmlldy5cblxuVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciB0YWJsZXQgdXNlcnMgdGhhdCBmaW5kIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBkaWZmaWN1bHQgdG8gY2xpY2sgb24sIHdoZXJlYXMgYSBtZW51IGNhbiBiZSBtb3JlIGVhc2lseSBpbnZva2VkLiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBJY29uIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJhY3Rpdml0aWVzX2ljb25fbWVudUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxMAp9"}}}
 , {"uuid": "Gold_Price_Monitor@wotmshuaisi_github", "name": "Gold Price Monitor", "pname": "gold-price-monitor", "description": "simple gnome extension helps you tracking gold price in realtime", "link": "https://extensions.gnome.org/extension/2075/gold-price-monitor/", "shell_version_map": {"40": {"version": "22", "sha256": "04gqhg2am27iifzgfibcs28cqqq6lkb5lmmhzvba6pyqa9i175lr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRhbmdlcm91cyI6IGZhbHNlLAogICJkZXNjcmlwdGlvbiI6ICJzaW1wbGUgZ25vbWUgZXh0ZW5zaW9uIGhlbHBzIHlvdSB0cmFja2luZyBnb2xkIHByaWNlIGluIHJlYWx0aW1lIiwKICAibmFtZSI6ICJHb2xkIFByaWNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ29sZC1wcmljZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93b3Rtc2h1YWlzaS9nb2xkcHJpY2Vtb25pdG9yIiwKICAidXVpZCI6ICJHb2xkX1ByaWNlX01vbml0b3JAd290bXNodWFpc2lfZ2l0aHViIiwKICAidmVyc2lvbiI6IDIyCn0="}, "41": {"version": "22", "sha256": "04gqhg2am27iifzgfibcs28cqqq6lkb5lmmhzvba6pyqa9i175lr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRhbmdlcm91cyI6IGZhbHNlLAogICJkZXNjcmlwdGlvbiI6ICJzaW1wbGUgZ25vbWUgZXh0ZW5zaW9uIGhlbHBzIHlvdSB0cmFja2luZyBnb2xkIHByaWNlIGluIHJlYWx0aW1lIiwKICAibmFtZSI6ICJHb2xkIFByaWNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ29sZC1wcmljZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93b3Rtc2h1YWlzaS9nb2xkcHJpY2Vtb25pdG9yIiwKICAidXVpZCI6ICJHb2xkX1ByaWNlX01vbml0b3JAd290bXNodWFpc2lfZ2l0aHViIiwKICAidmVyc2lvbiI6IDIyCn0="}}}
-, {"uuid": "ding@rastersoft.com", "name": "Desktop Icons NG (DING)", "pname": "desktop-icons-ng-ding", "description": "Adds icons to the desktop. Fork of the original Desktop Icons extension, with several enhancements .", "link": "https://extensions.gnome.org/extension/2087/desktop-icons-ng-ding/", "shell_version_map": {"38": {"version": "39", "sha256": "072q0s0vvjij0vkqww33vwmfkdxhcp1h2khnldp8dk6dyf6r16fk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9yYXN0ZXJzb2Z0L2Rlc2t0b3AtaWNvbnMtbmciLAogICJ1dWlkIjogImRpbmdAcmFzdGVyc29mdC5jb20iLAogICJ2ZXJzaW9uIjogMzkKfQ=="}, "40": {"version": "39", "sha256": "072q0s0vvjij0vkqww33vwmfkdxhcp1h2khnldp8dk6dyf6r16fk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9yYXN0ZXJzb2Z0L2Rlc2t0b3AtaWNvbnMtbmciLAogICJ1dWlkIjogImRpbmdAcmFzdGVyc29mdC5jb20iLAogICJ2ZXJzaW9uIjogMzkKfQ=="}, "41": {"version": "39", "sha256": "072q0s0vvjij0vkqww33vwmfkdxhcp1h2khnldp8dk6dyf6r16fk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9yYXN0ZXJzb2Z0L2Rlc2t0b3AtaWNvbnMtbmciLAogICJ1dWlkIjogImRpbmdAcmFzdGVyc29mdC5jb20iLAogICJ2ZXJzaW9uIjogMzkKfQ=="}}}
+, {"uuid": "ding@rastersoft.com", "name": "Desktop Icons NG (DING)", "pname": "desktop-icons-ng-ding", "description": "Adds icons to the desktop. Fork of the original Desktop Icons extension, with several enhancements .", "link": "https://extensions.gnome.org/extension/2087/desktop-icons-ng-ding/", "shell_version_map": {"38": {"version": "43", "sha256": "1zbra3yhx8wqq5q971hh2zgpj9840j6nlbx1qhqvmmk6hyxafq40", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9kZXNrdG9wLWljb25zLW5nIiwKICAidXVpZCI6ICJkaW5nQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDQzCn0="}, "40": {"version": "43", "sha256": "1zbra3yhx8wqq5q971hh2zgpj9840j6nlbx1qhqvmmk6hyxafq40", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9kZXNrdG9wLWljb25zLW5nIiwKICAidXVpZCI6ICJkaW5nQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDQzCn0="}, "41": {"version": "43", "sha256": "1zbra3yhx8wqq5q971hh2zgpj9840j6nlbx1qhqvmmk6hyxafq40", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9kZXNrdG9wLWljb25zLW5nIiwKICAidXVpZCI6ICJkaW5nQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDQzCn0="}, "42": {"version": "43", "sha256": "1zbra3yhx8wqq5q971hh2zgpj9840j6nlbx1qhqvmmk6hyxafq40", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9kZXNrdG9wLWljb25zLW5nIiwKICAidXVpZCI6ICJkaW5nQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDQzCn0="}}}
 , {"uuid": "order-extensions@wa4557.github.com", "name": "Order Gnome Shell extensions", "pname": "order-gnome-shell-extensions", "description": "Fixes order of gnome-shell extensions", "link": "https://extensions.gnome.org/extension/2114/order-gnome-shell-extensions/", "shell_version_map": {"38": {"version": "6", "sha256": "0hcbjrhrg11f5p23bhss75nhc9sqlh6p1bmfq7p7m7d276ckdmkk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBbmRyZWFzIEFuZ2VyZXIiLAogICJkZXNjcmlwdGlvbiI6ICJGaXhlcyBvcmRlciBvZiBnbm9tZS1zaGVsbCBleHRlbnNpb25zIiwKICAiZXh0ZW5zaW9uLWlkIjogIm9yZGVyLWV4dGVuc2lvbnMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJvcmRlciBleHRlbnNpb25zIiwKICAibmFtZSI6ICJPcmRlciBHbm9tZSBTaGVsbCBleHRlbnNpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICIzLjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm9yZGVyLWV4dGVuc2lvbnNAd2E0NTU3LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "horizontal-workspaces@gnome-shell-extensions.gcampax.github.com", "name": "Horizontal workspaces", "pname": "horizontal-workspaces", "description": "Use a horizontal workspace layout", "link": "https://extensions.gnome.org/extension/2141/horizontal-workspaces/", "shell_version_map": {"38": {"version": "5", "sha256": "0kbqcrs96v72yk0rf8jghy1a31651fyvgpi97yp46n4wmvc41vk7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVzZSBhIGhvcml6b250YWwgd29ya3NwYWNlIGxheW91dCIsCiAgImV4dGVuc2lvbi1pZCI6ICJob3Jpem9udGFsLXdvcmtzcGFjZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJIb3Jpem9udGFsIHdvcmtzcGFjZXMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaG9yaXpvbnRhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAiaG9yaXpvbnRhbC13b3Jrc3BhY2VzQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"uuid": "threefingerwindowmove@do.sch.dev.gmail.com", "name": "Three Finger Window Move", "pname": "three-finger-window-move", "description": "Allows moving windows around with a three finger trackpad gesture (Wayland only)", "link": "https://extensions.gnome.org/extension/2164/three-finger-window-move/", "shell_version_map": {"38": {"version": "7", "sha256": "1m7vwr6s6w297b0x0bmnj8fs2hl73pbys6m93lnb9inh5pmgiv1p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyBtb3Zpbmcgd2luZG93cyBhcm91bmQgd2l0aCBhIHRocmVlIGZpbmdlciB0cmFja3BhZCBnZXN0dXJlIChXYXlsYW5kIG9ubHkpIiwKICAibmFtZSI6ICJUaHJlZSBGaW5nZXIgV2luZG93IE1vdmUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kby1zY2gvZ25vbWUtc2hlbGwtdG91Y2hwYWQtd2luZG93LW1vdmUiLAogICJ1dWlkIjogInRocmVlZmluZ2Vyd2luZG93bW92ZUBkby5zY2guZGV2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
-, {"uuid": "spotify-ad-block@danigm.net", "name": "Mute spotify ads", "pname": "mute-spotify-ads", "description": "Mute spotify ads", "link": "https://extensions.gnome.org/extension/2176/mute-spotify-ads/", "shell_version_map": {"38": {"version": "12", "sha256": "1hlayym3nnj5i547ffr1vcpjvzjqpzsmz7diqwgii99xr0qqy8dh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJuYW1lIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9zcG90aWZ5LWFkLWJsb2NrZXIiLAogICJ1dWlkIjogInNwb3RpZnktYWQtYmxvY2tAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "12", "sha256": "1hlayym3nnj5i547ffr1vcpjvzjqpzsmz7diqwgii99xr0qqy8dh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJuYW1lIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9zcG90aWZ5LWFkLWJsb2NrZXIiLAogICJ1dWlkIjogInNwb3RpZnktYWQtYmxvY2tAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiAxMgp9"}, "41": {"version": "12", "sha256": "1hlayym3nnj5i547ffr1vcpjvzjqpzsmz7diqwgii99xr0qqy8dh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJuYW1lIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9zcG90aWZ5LWFkLWJsb2NrZXIiLAogICJ1dWlkIjogInNwb3RpZnktYWQtYmxvY2tAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiAxMgp9"}}}
+, {"uuid": "spotify-ad-block@danigm.net", "name": "Mute spotify ads", "pname": "mute-spotify-ads", "description": "Mute spotify ads", "link": "https://extensions.gnome.org/extension/2176/mute-spotify-ads/", "shell_version_map": {"38": {"version": "13", "sha256": "0js8rzksy464lrl8870fik2lv8in108n24dl3qq42fj0qhib0qmg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJuYW1lIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYW5pZ20vc3BvdGlmeS1hZC1ibG9ja2VyIiwKICAidXVpZCI6ICJzcG90aWZ5LWFkLWJsb2NrQGRhbmlnbS5uZXQiLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "40": {"version": "13", "sha256": "0js8rzksy464lrl8870fik2lv8in108n24dl3qq42fj0qhib0qmg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJuYW1lIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYW5pZ20vc3BvdGlmeS1hZC1ibG9ja2VyIiwKICAidXVpZCI6ICJzcG90aWZ5LWFkLWJsb2NrQGRhbmlnbS5uZXQiLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "41": {"version": "13", "sha256": "0js8rzksy464lrl8870fik2lv8in108n24dl3qq42fj0qhib0qmg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJuYW1lIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYW5pZ20vc3BvdGlmeS1hZC1ibG9ja2VyIiwKICAidXVpZCI6ICJzcG90aWZ5LWFkLWJsb2NrQGRhbmlnbS5uZXQiLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "42": {"version": "13", "sha256": "0js8rzksy464lrl8870fik2lv8in108n24dl3qq42fj0qhib0qmg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJuYW1lIjogIk11dGUgc3BvdGlmeSBhZHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYW5pZ20vc3BvdGlmeS1hZC1ibG9ja2VyIiwKICAidXVpZCI6ICJzcG90aWZ5LWFkLWJsb2NrQGRhbmlnbS5uZXQiLAogICJ2ZXJzaW9uIjogMTMKfQ=="}}}
 , {"uuid": "noannoyance@daase.net", "name": "NoAnnoyance v2", "pname": "noannoyance", "description": "Another extension, that removes the 'Window is ready' notification and puts the window into focus. In contrast to all the other extensions, this uses ES6 syntax and is actively maintained.", "link": "https://extensions.gnome.org/extension/2182/noannoyance/", "shell_version_map": {"38": {"version": "12", "sha256": "1wr1wxmaxb569m3wsfdhs0jdpq1zqx3bkk6dgn9iswbbr060bnd0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZXh0ZW5zaW9uLCB0aGF0IHJlbW92ZXMgdGhlICdXaW5kb3cgaXMgcmVhZHknIG5vdGlmaWNhdGlvbiBhbmQgcHV0cyB0aGUgd2luZG93IGludG8gZm9jdXMuIEluIGNvbnRyYXN0IHRvIGFsbCB0aGUgb3RoZXIgZXh0ZW5zaW9ucywgdGhpcyB1c2VzIEVTNiBzeW50YXggYW5kIGlzIGFjdGl2ZWx5IG1haW50YWluZWQuIiwKICAibmFtZSI6ICJOb0Fubm95YW5jZSB2MiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Jqb2VybkRhYXNlL25vYW5ub3lhbmNlIiwKICAidXVpZCI6ICJub2Fubm95YW5jZUBkYWFzZS5uZXQiLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "40": {"version": "12", "sha256": "1wr1wxmaxb569m3wsfdhs0jdpq1zqx3bkk6dgn9iswbbr060bnd0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZXh0ZW5zaW9uLCB0aGF0IHJlbW92ZXMgdGhlICdXaW5kb3cgaXMgcmVhZHknIG5vdGlmaWNhdGlvbiBhbmQgcHV0cyB0aGUgd2luZG93IGludG8gZm9jdXMuIEluIGNvbnRyYXN0IHRvIGFsbCB0aGUgb3RoZXIgZXh0ZW5zaW9ucywgdGhpcyB1c2VzIEVTNiBzeW50YXggYW5kIGlzIGFjdGl2ZWx5IG1haW50YWluZWQuIiwKICAibmFtZSI6ICJOb0Fubm95YW5jZSB2MiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Jqb2VybkRhYXNlL25vYW5ub3lhbmNlIiwKICAidXVpZCI6ICJub2Fubm95YW5jZUBkYWFzZS5uZXQiLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "41": {"version": "12", "sha256": "1wr1wxmaxb569m3wsfdhs0jdpq1zqx3bkk6dgn9iswbbr060bnd0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZXh0ZW5zaW9uLCB0aGF0IHJlbW92ZXMgdGhlICdXaW5kb3cgaXMgcmVhZHknIG5vdGlmaWNhdGlvbiBhbmQgcHV0cyB0aGUgd2luZG93IGludG8gZm9jdXMuIEluIGNvbnRyYXN0IHRvIGFsbCB0aGUgb3RoZXIgZXh0ZW5zaW9ucywgdGhpcyB1c2VzIEVTNiBzeW50YXggYW5kIGlzIGFjdGl2ZWx5IG1haW50YWluZWQuIiwKICAibmFtZSI6ICJOb0Fubm95YW5jZSB2MiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Jqb2VybkRhYXNlL25vYW5ub3lhbmNlIiwKICAidXVpZCI6ICJub2Fubm95YW5jZUBkYWFzZS5uZXQiLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "42": {"version": "12", "sha256": "1wr1wxmaxb569m3wsfdhs0jdpq1zqx3bkk6dgn9iswbbr060bnd0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZXh0ZW5zaW9uLCB0aGF0IHJlbW92ZXMgdGhlICdXaW5kb3cgaXMgcmVhZHknIG5vdGlmaWNhdGlvbiBhbmQgcHV0cyB0aGUgd2luZG93IGludG8gZm9jdXMuIEluIGNvbnRyYXN0IHRvIGFsbCB0aGUgb3RoZXIgZXh0ZW5zaW9ucywgdGhpcyB1c2VzIEVTNiBzeW50YXggYW5kIGlzIGFjdGl2ZWx5IG1haW50YWluZWQuIiwKICAibmFtZSI6ICJOb0Fubm95YW5jZSB2MiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Jqb2VybkRhYXNlL25vYW5ub3lhbmNlIiwKICAidXVpZCI6ICJub2Fubm95YW5jZUBkYWFzZS5uZXQiLAogICJ2ZXJzaW9uIjogMTIKfQ=="}}}
 , {"uuid": "vim-altTab@kokong.info", "name": "VIM Alt-Tab", "pname": "vim-alt-tab", "description": "Add the ability to switch between windows and applications using vim-like keypresses (h, j, k, l)", "link": "https://extensions.gnome.org/extension/2212/vim-alt-tab/", "shell_version_map": {"38": {"version": "5", "sha256": "0r69cnr4r1vwny8jxc6yymmmiyy5fac4634r8kr0k5b7j1y6f0cw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB0aGUgYWJpbGl0eSB0byBzd2l0Y2ggYmV0d2VlbiB3aW5kb3dzIGFuZCBhcHBsaWNhdGlvbnMgdXNpbmcgdmltLWxpa2Uga2V5cHJlc3NlcyAoaCwgaiwgaywgbCkiLAogICJleHRlbnNpb24taWQiOiAidmltLWFsdHRhYiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlZJTSBBbHQtVGFiIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqd0BiYXJnc3Rlbi5vcmciLAogICAgInRob21hcy5ib3VmZm9uQGdtYWlsLmNvbSIsCiAgICAia29rb0Brb2tvbmcuaW5mbyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudmltLWFsdHRhYiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29rby1uZy92aW0tYWx0VGFiIiwKICAidXVpZCI6ICJ2aW0tYWx0VGFiQGtva29uZy5pbmZvIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "5", "sha256": "0r69cnr4r1vwny8jxc6yymmmiyy5fac4634r8kr0k5b7j1y6f0cw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB0aGUgYWJpbGl0eSB0byBzd2l0Y2ggYmV0d2VlbiB3aW5kb3dzIGFuZCBhcHBsaWNhdGlvbnMgdXNpbmcgdmltLWxpa2Uga2V5cHJlc3NlcyAoaCwgaiwgaywgbCkiLAogICJleHRlbnNpb24taWQiOiAidmltLWFsdHRhYiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlZJTSBBbHQtVGFiIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqd0BiYXJnc3Rlbi5vcmciLAogICAgInRob21hcy5ib3VmZm9uQGdtYWlsLmNvbSIsCiAgICAia29rb0Brb2tvbmcuaW5mbyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudmltLWFsdHRhYiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29rby1uZy92aW0tYWx0VGFiIiwKICAidXVpZCI6ICJ2aW0tYWx0VGFiQGtva29uZy5pbmZvIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "0r69cnr4r1vwny8jxc6yymmmiyy5fac4634r8kr0k5b7j1y6f0cw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB0aGUgYWJpbGl0eSB0byBzd2l0Y2ggYmV0d2VlbiB3aW5kb3dzIGFuZCBhcHBsaWNhdGlvbnMgdXNpbmcgdmltLWxpa2Uga2V5cHJlc3NlcyAoaCwgaiwgaywgbCkiLAogICJleHRlbnNpb24taWQiOiAidmltLWFsdHRhYiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlZJTSBBbHQtVGFiIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqd0BiYXJnc3Rlbi5vcmciLAogICAgInRob21hcy5ib3VmZm9uQGdtYWlsLmNvbSIsCiAgICAia29rb0Brb2tvbmcuaW5mbyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudmltLWFsdHRhYiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29rby1uZy92aW0tYWx0VGFiIiwKICAidXVpZCI6ICJ2aW0tYWx0VGFiQGtva29uZy5pbmZvIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"uuid": "easy_docker_containers@red.software.systems", "name": "Easy Docker Containers", "pname": "easy-docker-containers", "description": "A GNOME Shell extension (GNOME Panel applet) to be able to generally control your available Docker containers.", "link": "https://extensions.gnome.org/extension/2224/easy-docker-containers/", "shell_version_map": {"38": {"version": "13", "sha256": "1hq6ispaq7vyn8vigacbwv58hrishb1g09vhffwsldahx4iz4pnj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIChHTk9NRSBQYW5lbCBhcHBsZXQpIHRvIGJlIGFibGUgdG8gZ2VuZXJhbGx5IGNvbnRyb2wgeW91ciBhdmFpbGFibGUgRG9ja2VyIGNvbnRhaW5lcnMuIiwKICAibmFtZSI6ICJFYXN5IERvY2tlciBDb250YWluZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9SZWRTb2Z0d2FyZVN5c3RlbXMvZWFzeV9kb2NrZXJfY29udGFpbmVycyIsCiAgInV1aWQiOiAiZWFzeV9kb2NrZXJfY29udGFpbmVyc0ByZWQuc29mdHdhcmUuc3lzdGVtcyIsCiAgInZlcnNpb24iOiAxMwp9"}, "40": {"version": "13", "sha256": "1hq6ispaq7vyn8vigacbwv58hrishb1g09vhffwsldahx4iz4pnj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIChHTk9NRSBQYW5lbCBhcHBsZXQpIHRvIGJlIGFibGUgdG8gZ2VuZXJhbGx5IGNvbnRyb2wgeW91ciBhdmFpbGFibGUgRG9ja2VyIGNvbnRhaW5lcnMuIiwKICAibmFtZSI6ICJFYXN5IERvY2tlciBDb250YWluZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9SZWRTb2Z0d2FyZVN5c3RlbXMvZWFzeV9kb2NrZXJfY29udGFpbmVycyIsCiAgInV1aWQiOiAiZWFzeV9kb2NrZXJfY29udGFpbmVyc0ByZWQuc29mdHdhcmUuc3lzdGVtcyIsCiAgInZlcnNpb24iOiAxMwp9"}, "41": {"version": "13", "sha256": "1hq6ispaq7vyn8vigacbwv58hrishb1g09vhffwsldahx4iz4pnj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIChHTk9NRSBQYW5lbCBhcHBsZXQpIHRvIGJlIGFibGUgdG8gZ2VuZXJhbGx5IGNvbnRyb2wgeW91ciBhdmFpbGFibGUgRG9ja2VyIGNvbnRhaW5lcnMuIiwKICAibmFtZSI6ICJFYXN5IERvY2tlciBDb250YWluZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9SZWRTb2Z0d2FyZVN5c3RlbXMvZWFzeV9kb2NrZXJfY29udGFpbmVycyIsCiAgInV1aWQiOiAiZWFzeV9kb2NrZXJfY29udGFpbmVyc0ByZWQuc29mdHdhcmUuc3lzdGVtcyIsCiAgInZlcnNpb24iOiAxMwp9"}}}
@@ -256,23 +257,23 @@
 , {"uuid": "lgbutton@glerro.gnome.gitlab.io", "name": "Looking Glass Button", "pname": "looking-glass-button", "description": "Toggle the Looking Glass visibility by clicking on a panel icon.\n\nAnd from version 4 left clicking on the icon show a menu with new features like Restart Gnome Shell (not available on Wayland), Reload Theme, Open Extension Folder and Open Theme Folder (the last two require that xdg-open is installed).\n\nVersion 4 also drop the compatibility with Gnome Shell 3.30.", "link": "https://extensions.gnome.org/extension/2296/looking-glass-button/", "shell_version_map": {"38": {"version": "8", "sha256": "0rkk1mivq0drvpjbg89gi7plpaza71r08cyvkymygwwi2sfwpy9l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSB0aGUgTG9va2luZyBHbGFzcyB2aXNpYmlsaXR5IGJ5IGNsaWNraW5nIG9uIGEgcGFuZWwgaWNvbi5cblxuQW5kIGZyb20gdmVyc2lvbiA0IGxlZnQgY2xpY2tpbmcgb24gdGhlIGljb24gc2hvdyBhIG1lbnUgd2l0aCBuZXcgZmVhdHVyZXMgbGlrZSBSZXN0YXJ0IEdub21lIFNoZWxsIChub3QgYXZhaWxhYmxlIG9uIFdheWxhbmQpLCBSZWxvYWQgVGhlbWUsIE9wZW4gRXh0ZW5zaW9uIEZvbGRlciBhbmQgT3BlbiBUaGVtZSBGb2xkZXIgKHRoZSBsYXN0IHR3byByZXF1aXJlIHRoYXQgeGRnLW9wZW4gaXMgaW5zdGFsbGVkKS5cblxuVmVyc2lvbiA0IGFsc28gZHJvcCB0aGUgY29tcGF0aWJpbGl0eSB3aXRoIEdub21lIFNoZWxsIDMuMzAuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxnYnV0dG9uIiwKICAibmFtZSI6ICJMb29raW5nIEdsYXNzIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL2dsZXJyby9nbm9tZS1zaGVsbC1leHRlbnNpb24tbGdidXR0b24iLAogICJ1dWlkIjogImxnYnV0dG9uQGdsZXJyby5nbm9tZS5naXRsYWIuaW8iLAogICJ2ZXJzaW9uIjogOAp9"}, "40": {"version": "8", "sha256": "0rkk1mivq0drvpjbg89gi7plpaza71r08cyvkymygwwi2sfwpy9l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSB0aGUgTG9va2luZyBHbGFzcyB2aXNpYmlsaXR5IGJ5IGNsaWNraW5nIG9uIGEgcGFuZWwgaWNvbi5cblxuQW5kIGZyb20gdmVyc2lvbiA0IGxlZnQgY2xpY2tpbmcgb24gdGhlIGljb24gc2hvdyBhIG1lbnUgd2l0aCBuZXcgZmVhdHVyZXMgbGlrZSBSZXN0YXJ0IEdub21lIFNoZWxsIChub3QgYXZhaWxhYmxlIG9uIFdheWxhbmQpLCBSZWxvYWQgVGhlbWUsIE9wZW4gRXh0ZW5zaW9uIEZvbGRlciBhbmQgT3BlbiBUaGVtZSBGb2xkZXIgKHRoZSBsYXN0IHR3byByZXF1aXJlIHRoYXQgeGRnLW9wZW4gaXMgaW5zdGFsbGVkKS5cblxuVmVyc2lvbiA0IGFsc28gZHJvcCB0aGUgY29tcGF0aWJpbGl0eSB3aXRoIEdub21lIFNoZWxsIDMuMzAuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxnYnV0dG9uIiwKICAibmFtZSI6ICJMb29raW5nIEdsYXNzIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL2dsZXJyby9nbm9tZS1zaGVsbC1leHRlbnNpb24tbGdidXR0b24iLAogICJ1dWlkIjogImxnYnV0dG9uQGdsZXJyby5nbm9tZS5naXRsYWIuaW8iLAogICJ2ZXJzaW9uIjogOAp9"}, "41": {"version": "8", "sha256": "0rkk1mivq0drvpjbg89gi7plpaza71r08cyvkymygwwi2sfwpy9l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSB0aGUgTG9va2luZyBHbGFzcyB2aXNpYmlsaXR5IGJ5IGNsaWNraW5nIG9uIGEgcGFuZWwgaWNvbi5cblxuQW5kIGZyb20gdmVyc2lvbiA0IGxlZnQgY2xpY2tpbmcgb24gdGhlIGljb24gc2hvdyBhIG1lbnUgd2l0aCBuZXcgZmVhdHVyZXMgbGlrZSBSZXN0YXJ0IEdub21lIFNoZWxsIChub3QgYXZhaWxhYmxlIG9uIFdheWxhbmQpLCBSZWxvYWQgVGhlbWUsIE9wZW4gRXh0ZW5zaW9uIEZvbGRlciBhbmQgT3BlbiBUaGVtZSBGb2xkZXIgKHRoZSBsYXN0IHR3byByZXF1aXJlIHRoYXQgeGRnLW9wZW4gaXMgaW5zdGFsbGVkKS5cblxuVmVyc2lvbiA0IGFsc28gZHJvcCB0aGUgY29tcGF0aWJpbGl0eSB3aXRoIEdub21lIFNoZWxsIDMuMzAuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxnYnV0dG9uIiwKICAibmFtZSI6ICJMb29raW5nIEdsYXNzIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL2dsZXJyby9nbm9tZS1zaGVsbC1leHRlbnNpb24tbGdidXR0b24iLAogICJ1dWlkIjogImxnYnV0dG9uQGdsZXJyby5nbm9tZS5naXRsYWIuaW8iLAogICJ2ZXJzaW9uIjogOAp9"}, "42": {"version": "8", "sha256": "0rkk1mivq0drvpjbg89gi7plpaza71r08cyvkymygwwi2sfwpy9l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSB0aGUgTG9va2luZyBHbGFzcyB2aXNpYmlsaXR5IGJ5IGNsaWNraW5nIG9uIGEgcGFuZWwgaWNvbi5cblxuQW5kIGZyb20gdmVyc2lvbiA0IGxlZnQgY2xpY2tpbmcgb24gdGhlIGljb24gc2hvdyBhIG1lbnUgd2l0aCBuZXcgZmVhdHVyZXMgbGlrZSBSZXN0YXJ0IEdub21lIFNoZWxsIChub3QgYXZhaWxhYmxlIG9uIFdheWxhbmQpLCBSZWxvYWQgVGhlbWUsIE9wZW4gRXh0ZW5zaW9uIEZvbGRlciBhbmQgT3BlbiBUaGVtZSBGb2xkZXIgKHRoZSBsYXN0IHR3byByZXF1aXJlIHRoYXQgeGRnLW9wZW4gaXMgaW5zdGFsbGVkKS5cblxuVmVyc2lvbiA0IGFsc28gZHJvcCB0aGUgY29tcGF0aWJpbGl0eSB3aXRoIEdub21lIFNoZWxsIDMuMzAuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxnYnV0dG9uIiwKICAibmFtZSI6ICJMb29raW5nIEdsYXNzIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL2dsZXJyby9nbm9tZS1zaGVsbC1leHRlbnNpb24tbGdidXR0b24iLAogICJ1dWlkIjogImxnYnV0dG9uQGdsZXJyby5nbm9tZS5naXRsYWIuaW8iLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"uuid": "tp_wattmeter@gistart", "name": "tp_wattmeter", "pname": "tp_wattmeter", "description": "Shows battery power consumption of ThinkPad laptops", "link": "https://extensions.gnome.org/extension/2308/tp_wattmeter/", "shell_version_map": {"40": {"version": "4", "sha256": "1v8rw7msfy2d8nwnppdpci62sl6iw8973z5gsl8024awl27ni38z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGJhdHRlcnkgcG93ZXIgY29uc3VtcHRpb24gb2YgVGhpbmtQYWQgbGFwdG9wcyIsCiAgIm5hbWUiOiAidHBfd2F0dG1ldGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2LjAiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9naXN0YXJ0L3RwX3dhdHRtZXRlciIsCiAgInV1aWQiOiAidHBfd2F0dG1ldGVyQGdpc3RhcnQiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "Denon_AVR_controler@sylter.fr", "name": "Denon AVR controler", "pname": "denon-avr-controler", "description": "Control a Denon audio video receiver through the network.\n- on/off switch\n- volume adjustment", "link": "https://extensions.gnome.org/extension/2371/denon-avr-controler/", "shell_version_map": {"38": {"version": "4", "sha256": "0c8ky3v70arnblix717jz9fsksr42673as9nmzfyh2p2h1zm03wq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgYSBEZW5vbiBhdWRpbyB2aWRlbyByZWNlaXZlciB0aHJvdWdoIHRoZSBuZXR3b3JrLlxuLSBvbi9vZmYgc3dpdGNoXG4tIHZvbHVtZSBhZGp1c3RtZW50IiwKICAibmFtZSI6ICJEZW5vbiBBVlIgY29udHJvbGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2ZyYW1hZ2l0Lm9yZy9zeWx0ZXIvZGVub24tYXZyLWNvbnRyb2xlciIsCiAgInV1aWQiOiAiRGVub25fQVZSX2NvbnRyb2xlckBzeWx0ZXIuZnIiLAogICJ2ZXJzaW9uIjogNAp9"}}}
-, {"uuid": "hide-universal-access@akiirui.github.io", "name": "Hide Universal Access", "pname": "hide-universal-access", "description": "Hide Universal Access icon from the status bar", "link": "https://extensions.gnome.org/extension/2398/hide-universal-access/", "shell_version_map": {"38": {"version": "10", "sha256": "08sjlxfw19905lbxc8jkb3z8m5kqq7gfxcd57w64wb5xhpwrf379", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyBpY29uIGZyb20gdGhlIHN0YXR1cyBiYXIiLAogICJuYW1lIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWtpaXJ1aS9oaWRlLXVuaXZlcnNhbC1hY2Nlc3MiLAogICJ1dWlkIjogImhpZGUtdW5pdmVyc2FsLWFjY2Vzc0Bha2lpcnVpLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "40": {"version": "10", "sha256": "08sjlxfw19905lbxc8jkb3z8m5kqq7gfxcd57w64wb5xhpwrf379", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyBpY29uIGZyb20gdGhlIHN0YXR1cyBiYXIiLAogICJuYW1lIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWtpaXJ1aS9oaWRlLXVuaXZlcnNhbC1hY2Nlc3MiLAogICJ1dWlkIjogImhpZGUtdW5pdmVyc2FsLWFjY2Vzc0Bha2lpcnVpLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "41": {"version": "10", "sha256": "08sjlxfw19905lbxc8jkb3z8m5kqq7gfxcd57w64wb5xhpwrf379", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyBpY29uIGZyb20gdGhlIHN0YXR1cyBiYXIiLAogICJuYW1lIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWtpaXJ1aS9oaWRlLXVuaXZlcnNhbC1hY2Nlc3MiLAogICJ1dWlkIjogImhpZGUtdW5pdmVyc2FsLWFjY2Vzc0Bha2lpcnVpLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}}}
+, {"uuid": "hide-universal-access@akiirui.github.io", "name": "Hide Universal Access", "pname": "hide-universal-access", "description": "Hide Universal Access icon from the status bar", "link": "https://extensions.gnome.org/extension/2398/hide-universal-access/", "shell_version_map": {"38": {"version": "11", "sha256": "1fxkn512cb24gv4gp5bih9mzjh5y4w7f5jml8hr5x6q1a42zakab", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyBpY29uIGZyb20gdGhlIHN0YXR1cyBiYXIiLAogICJuYW1lIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FraWlydWkvaGlkZS11bml2ZXJzYWwtYWNjZXNzIiwKICAidXVpZCI6ICJoaWRlLXVuaXZlcnNhbC1hY2Nlc3NAYWtpaXJ1aS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "40": {"version": "11", "sha256": "1fxkn512cb24gv4gp5bih9mzjh5y4w7f5jml8hr5x6q1a42zakab", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyBpY29uIGZyb20gdGhlIHN0YXR1cyBiYXIiLAogICJuYW1lIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FraWlydWkvaGlkZS11bml2ZXJzYWwtYWNjZXNzIiwKICAidXVpZCI6ICJoaWRlLXVuaXZlcnNhbC1hY2Nlc3NAYWtpaXJ1aS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "41": {"version": "11", "sha256": "1fxkn512cb24gv4gp5bih9mzjh5y4w7f5jml8hr5x6q1a42zakab", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyBpY29uIGZyb20gdGhlIHN0YXR1cyBiYXIiLAogICJuYW1lIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FraWlydWkvaGlkZS11bml2ZXJzYWwtYWNjZXNzIiwKICAidXVpZCI6ICJoaWRlLXVuaXZlcnNhbC1hY2Nlc3NAYWtpaXJ1aS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "42": {"version": "11", "sha256": "1fxkn512cb24gv4gp5bih9mzjh5y4w7f5jml8hr5x6q1a42zakab", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyBpY29uIGZyb20gdGhlIHN0YXR1cyBiYXIiLAogICJuYW1lIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FraWlydWkvaGlkZS11bml2ZXJzYWwtYWNjZXNzIiwKICAidXVpZCI6ICJoaWRlLXVuaXZlcnNhbC1hY2Nlc3NAYWtpaXJ1aS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
 , {"uuid": "roundrobintaborder@scottworley.com", "name": "Round Robin Tab Order", "pname": "round-robin-tab-order", "description": "Window switch order becomes round-robin instead of most-recently-used", "link": "https://extensions.gnome.org/extension/2446/round-robin-tab-order/", "shell_version_map": {"40": {"version": "3", "sha256": "0p2qfv6i43pi0hjsyz8xzxkxijr06b0d20q618y8gfj4ar82glv7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldpbmRvdyBzd2l0Y2ggb3JkZXIgYmVjb21lcyByb3VuZC1yb2JpbiBpbnN0ZWFkIG9mIG1vc3QtcmVjZW50bHktdXNlZCIsCiAgIm5hbWUiOiAiUm91bmQgUm9iaW4gVGFiIE9yZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL2NodWNrL3JvdW5kLXJvYmluLXRhYi1vcmRlciIsCiAgInV1aWQiOiAicm91bmRyb2JpbnRhYm9yZGVyQHNjb3R0d29ybGV5LmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "bubblemail@razer.framagit.org", "name": "Bubblemail", "pname": "bubblemail", "description": "New and unread mail indicator (Local, Imap, Pop3, Gmail, Yahoo mail...)\nIndicator for new mails from local mail boxes (MBOX, MAILDIR), POP3 or IMAP server.\n\nBE AWARE THAT THIS EXTENSION REQUIRES BUBBLEMAIL SERVICE INSTALLATION\nCheck your distribution packaging system for availability. Besides, packages for distributions and source tarballs can be found here :\nhttp://bubblemail.free.fr\n\nBubblemail is a complete rewrite of the mailnag project, with a lot of new features including :\n* Gnome online accounts are automaticaly synced\n* Avatars provided by the server, with default colorized icons for senders without specific avatar\n* Reports for connexion errors.\n\n Please report any issue on the gitlab pages of the project :\nhttps://framagit.org/razer/bubblemail/issues\nhttps://framagit.org/razer/bubblemail-gnome-shell/issues", "link": "https://extensions.gnome.org/extension/2458/bubblemail/", "shell_version_map": {"38": {"version": "15", "sha256": "10s5fb17bhlxz88cdz62h8zanghpx1slpjh9h1n3ih29kxr0wjmh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgdW5yZWFkIG1haWwgaW5kaWNhdG9yIChMb2NhbCwgSW1hcCwgUG9wMywgR21haWwsIFlhaG9vIG1haWwuLi4pXG5JbmRpY2F0b3IgZm9yIG5ldyBtYWlscyBmcm9tIGxvY2FsIG1haWwgYm94ZXMgKE1CT1gsIE1BSUxESVIpLCBQT1AzIG9yIElNQVAgc2VydmVyLlxuXG5CRSBBV0FSRSBUSEFUIFRISVMgRVhURU5TSU9OIFJFUVVJUkVTIEJVQkJMRU1BSUwgU0VSVklDRSBJTlNUQUxMQVRJT05cbkNoZWNrIHlvdXIgZGlzdHJpYnV0aW9uIHBhY2thZ2luZyBzeXN0ZW0gZm9yIGF2YWlsYWJpbGl0eS4gQmVzaWRlcywgcGFja2FnZXMgZm9yIGRpc3RyaWJ1dGlvbnMgYW5kIHNvdXJjZSB0YXJiYWxscyBjYW4gYmUgZm91bmQgaGVyZSA6XG5odHRwOi8vYnViYmxlbWFpbC5mcmVlLmZyXG5cbkJ1YmJsZW1haWwgaXMgYSBjb21wbGV0ZSByZXdyaXRlIG9mIHRoZSBtYWlsbmFnIHByb2plY3QsIHdpdGggYSBsb3Qgb2YgbmV3IGZlYXR1cmVzIGluY2x1ZGluZyA6XG4qIEdub21lIG9ubGluZSBhY2NvdW50cyBhcmUgYXV0b21hdGljYWx5IHN5bmNlZFxuKiBBdmF0YXJzIHByb3ZpZGVkIGJ5IHRoZSBzZXJ2ZXIsIHdpdGggZGVmYXVsdCBjb2xvcml6ZWQgaWNvbnMgZm9yIHNlbmRlcnMgd2l0aG91dCBzcGVjaWZpYyBhdmF0YXJcbiogUmVwb3J0cyBmb3IgY29ubmV4aW9uIGVycm9ycy5cblxuIFBsZWFzZSByZXBvcnQgYW55IGlzc3VlIG9uIHRoZSBnaXRsYWIgcGFnZXMgb2YgdGhlIHByb2plY3QgOlxuaHR0cHM6Ly9mcmFtYWdpdC5vcmcvcmF6ZXIvYnViYmxlbWFpbC9pc3N1ZXNcbmh0dHBzOi8vZnJhbWFnaXQub3JnL3JhemVyL2J1YmJsZW1haWwtZ25vbWUtc2hlbGwvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYnViYmxlbWFpbC1nbm9tZS1zaGVsbCIsCiAgIm5hbWUiOiAiQnViYmxlbWFpbCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAicmF6ZXJyYXpAZnJlZS5mciIsCiAgICAienVsdTk5QGdteC5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJ1YmJsZW1haWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cDovL2J1YmJsZW1haWwuZnJlZS5mciIsCiAgInV1aWQiOiAiYnViYmxlbWFpbEByYXplci5mcmFtYWdpdC5vcmciLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "40": {"version": "15", "sha256": "10s5fb17bhlxz88cdz62h8zanghpx1slpjh9h1n3ih29kxr0wjmh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgdW5yZWFkIG1haWwgaW5kaWNhdG9yIChMb2NhbCwgSW1hcCwgUG9wMywgR21haWwsIFlhaG9vIG1haWwuLi4pXG5JbmRpY2F0b3IgZm9yIG5ldyBtYWlscyBmcm9tIGxvY2FsIG1haWwgYm94ZXMgKE1CT1gsIE1BSUxESVIpLCBQT1AzIG9yIElNQVAgc2VydmVyLlxuXG5CRSBBV0FSRSBUSEFUIFRISVMgRVhURU5TSU9OIFJFUVVJUkVTIEJVQkJMRU1BSUwgU0VSVklDRSBJTlNUQUxMQVRJT05cbkNoZWNrIHlvdXIgZGlzdHJpYnV0aW9uIHBhY2thZ2luZyBzeXN0ZW0gZm9yIGF2YWlsYWJpbGl0eS4gQmVzaWRlcywgcGFja2FnZXMgZm9yIGRpc3RyaWJ1dGlvbnMgYW5kIHNvdXJjZSB0YXJiYWxscyBjYW4gYmUgZm91bmQgaGVyZSA6XG5odHRwOi8vYnViYmxlbWFpbC5mcmVlLmZyXG5cbkJ1YmJsZW1haWwgaXMgYSBjb21wbGV0ZSByZXdyaXRlIG9mIHRoZSBtYWlsbmFnIHByb2plY3QsIHdpdGggYSBsb3Qgb2YgbmV3IGZlYXR1cmVzIGluY2x1ZGluZyA6XG4qIEdub21lIG9ubGluZSBhY2NvdW50cyBhcmUgYXV0b21hdGljYWx5IHN5bmNlZFxuKiBBdmF0YXJzIHByb3ZpZGVkIGJ5IHRoZSBzZXJ2ZXIsIHdpdGggZGVmYXVsdCBjb2xvcml6ZWQgaWNvbnMgZm9yIHNlbmRlcnMgd2l0aG91dCBzcGVjaWZpYyBhdmF0YXJcbiogUmVwb3J0cyBmb3IgY29ubmV4aW9uIGVycm9ycy5cblxuIFBsZWFzZSByZXBvcnQgYW55IGlzc3VlIG9uIHRoZSBnaXRsYWIgcGFnZXMgb2YgdGhlIHByb2plY3QgOlxuaHR0cHM6Ly9mcmFtYWdpdC5vcmcvcmF6ZXIvYnViYmxlbWFpbC9pc3N1ZXNcbmh0dHBzOi8vZnJhbWFnaXQub3JnL3JhemVyL2J1YmJsZW1haWwtZ25vbWUtc2hlbGwvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYnViYmxlbWFpbC1nbm9tZS1zaGVsbCIsCiAgIm5hbWUiOiAiQnViYmxlbWFpbCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAicmF6ZXJyYXpAZnJlZS5mciIsCiAgICAienVsdTk5QGdteC5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJ1YmJsZW1haWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cDovL2J1YmJsZW1haWwuZnJlZS5mciIsCiAgInV1aWQiOiAiYnViYmxlbWFpbEByYXplci5mcmFtYWdpdC5vcmciLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "41": {"version": "15", "sha256": "10s5fb17bhlxz88cdz62h8zanghpx1slpjh9h1n3ih29kxr0wjmh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgdW5yZWFkIG1haWwgaW5kaWNhdG9yIChMb2NhbCwgSW1hcCwgUG9wMywgR21haWwsIFlhaG9vIG1haWwuLi4pXG5JbmRpY2F0b3IgZm9yIG5ldyBtYWlscyBmcm9tIGxvY2FsIG1haWwgYm94ZXMgKE1CT1gsIE1BSUxESVIpLCBQT1AzIG9yIElNQVAgc2VydmVyLlxuXG5CRSBBV0FSRSBUSEFUIFRISVMgRVhURU5TSU9OIFJFUVVJUkVTIEJVQkJMRU1BSUwgU0VSVklDRSBJTlNUQUxMQVRJT05cbkNoZWNrIHlvdXIgZGlzdHJpYnV0aW9uIHBhY2thZ2luZyBzeXN0ZW0gZm9yIGF2YWlsYWJpbGl0eS4gQmVzaWRlcywgcGFja2FnZXMgZm9yIGRpc3RyaWJ1dGlvbnMgYW5kIHNvdXJjZSB0YXJiYWxscyBjYW4gYmUgZm91bmQgaGVyZSA6XG5odHRwOi8vYnViYmxlbWFpbC5mcmVlLmZyXG5cbkJ1YmJsZW1haWwgaXMgYSBjb21wbGV0ZSByZXdyaXRlIG9mIHRoZSBtYWlsbmFnIHByb2plY3QsIHdpdGggYSBsb3Qgb2YgbmV3IGZlYXR1cmVzIGluY2x1ZGluZyA6XG4qIEdub21lIG9ubGluZSBhY2NvdW50cyBhcmUgYXV0b21hdGljYWx5IHN5bmNlZFxuKiBBdmF0YXJzIHByb3ZpZGVkIGJ5IHRoZSBzZXJ2ZXIsIHdpdGggZGVmYXVsdCBjb2xvcml6ZWQgaWNvbnMgZm9yIHNlbmRlcnMgd2l0aG91dCBzcGVjaWZpYyBhdmF0YXJcbiogUmVwb3J0cyBmb3IgY29ubmV4aW9uIGVycm9ycy5cblxuIFBsZWFzZSByZXBvcnQgYW55IGlzc3VlIG9uIHRoZSBnaXRsYWIgcGFnZXMgb2YgdGhlIHByb2plY3QgOlxuaHR0cHM6Ly9mcmFtYWdpdC5vcmcvcmF6ZXIvYnViYmxlbWFpbC9pc3N1ZXNcbmh0dHBzOi8vZnJhbWFnaXQub3JnL3JhemVyL2J1YmJsZW1haWwtZ25vbWUtc2hlbGwvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYnViYmxlbWFpbC1nbm9tZS1zaGVsbCIsCiAgIm5hbWUiOiAiQnViYmxlbWFpbCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAicmF6ZXJyYXpAZnJlZS5mciIsCiAgICAienVsdTk5QGdteC5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJ1YmJsZW1haWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cDovL2J1YmJsZW1haWwuZnJlZS5mciIsCiAgInV1aWQiOiAiYnViYmxlbWFpbEByYXplci5mcmFtYWdpdC5vcmciLAogICJ2ZXJzaW9uIjogMTUKfQ=="}}}
 , {"uuid": "keypadTiling@abakkk.framagit.org", "name": "Keypad Tiling", "pname": "keypad-tiling", "description": "", "link": "https://extensions.gnome.org/extension/2473/keypad-tiling/", "shell_version_map": {"38": {"version": "4", "sha256": "1v0hxg96l482wngrszh0xabgj95q7rmyimd2rxnbkddd2gascnya", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiIsCiAgImdldHRleHQtZG9tYWluIjogImtleXBhZC10aWxpbmciLAogICJuYW1lIjogIktleXBhZCBUaWxpbmciLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMua2V5cGFkLXRpbGluZyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJrZXlwYWRUaWxpbmdAYWJha2trLmZyYW1hZ2l0Lm9yZyIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "reminder_alarm_clock@trifonovkv.gmail.com", "name": "Reminder Alarm Clock", "pname": "reminder-alarm-clock", "description": "The reminder alarm clock will remind you of an important event at the appointed time.", "link": "https://extensions.gnome.org/extension/2482/reminder-alarm-clock/", "shell_version_map": {"38": {"version": "40", "sha256": "0yljdig44gly3fky4ls42shbpvf2387kgnn1dfla9zmxxzjdkryq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSByZW1pbmRlciBhbGFybSBjbG9jayB3aWxsIHJlbWluZCB5b3Ugb2YgYW4gaW1wb3J0YW50IGV2ZW50IGF0IHRoZSBhcHBvaW50ZWQgdGltZS4iLAogICJuYW1lIjogIlJlbWluZGVyIEFsYXJtIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4LjEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90cmlmb25vdmt2L1JlbWluZGVyQWxhcm1DbG9jayIsCiAgInV1aWQiOiAicmVtaW5kZXJfYWxhcm1fY2xvY2tAdHJpZm9ub3Zrdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDAKfQ=="}}}
 , {"uuid": "TaskBar@c0ldplasma", "name": "TaskBar 2020", "pname": "taskbar-updated", "description": "!!! Development stopped !!!!  Look at Dash to Panel as an alternative: https://extensions.gnome.org/extension/1160/dash-to-panel/\n\n----------------------------------------------------------------------\n\nTaskBar 2020 displays icons of running applications and favorites on the top panel or alternatively on a new bottom panel. Activate, minimize or close tasks with a simple click. \n\nTaskBar 2020 is a dock-like windows list on the top/bottom bar. \n\nFork of zpydr/gnome-shell-extension-taskbar to support newer versions of GNOME", "link": "https://extensions.gnome.org/extension/2506/taskbar-updated/", "shell_version_map": {"38": {"version": "5", "sha256": "09yn1p0vmq70ll7vi3jdjvj479cm38r4am0mw08nca8hl4zdiamj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiEhISBEZXZlbG9wbWVudCBzdG9wcGVkICEhISEgIExvb2sgYXQgRGFzaCB0byBQYW5lbCBhcyBhbiBhbHRlcm5hdGl2ZTogaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTE2MC9kYXNoLXRvLXBhbmVsL1xuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblRhc2tCYXIgMjAyMCBkaXNwbGF5cyBpY29ucyBvZiBydW5uaW5nIGFwcGxpY2F0aW9ucyBhbmQgZmF2b3JpdGVzIG9uIHRoZSB0b3AgcGFuZWwgb3IgYWx0ZXJuYXRpdmVseSBvbiBhIG5ldyBib3R0b20gcGFuZWwuIEFjdGl2YXRlLCBtaW5pbWl6ZSBvciBjbG9zZSB0YXNrcyB3aXRoIGEgc2ltcGxlIGNsaWNrLiBcblxuVGFza0JhciAyMDIwIGlzIGEgZG9jay1saWtlIHdpbmRvd3MgbGlzdCBvbiB0aGUgdG9wL2JvdHRvbSBiYXIuIFxuXG5Gb3JrIG9mIHpweWRyL2dub21lLXNoZWxsLWV4dGVuc2lvbi10YXNrYmFyIHRvIHN1cHBvcnQgbmV3ZXIgdmVyc2lvbnMgb2YgR05PTUUiLAogICJuYW1lIjogIlRhc2tCYXIgMjAyMCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2MwbGRwbGFzbWEvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2tiYXIiLAogICJ1dWlkIjogIlRhc2tCYXJAYzBsZHBsYXNtYSIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "8", "sha256": "0a2fwmm1n5n2ifryb6yfzh4nj4h11qkphpxvp876fyll03y9p2m5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiEhISBEZXZlbG9wbWVudCBzdG9wcGVkICEhISEgIExvb2sgYXQgRGFzaCB0byBQYW5lbCBhcyBhbiBhbHRlcm5hdGl2ZTogaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTE2MC9kYXNoLXRvLXBhbmVsL1xuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblRhc2tCYXIgMjAyMCBkaXNwbGF5cyBpY29ucyBvZiBydW5uaW5nIGFwcGxpY2F0aW9ucyBhbmQgZmF2b3JpdGVzIG9uIHRoZSB0b3AgcGFuZWwgb3IgYWx0ZXJuYXRpdmVseSBvbiBhIG5ldyBib3R0b20gcGFuZWwuIEFjdGl2YXRlLCBtaW5pbWl6ZSBvciBjbG9zZSB0YXNrcyB3aXRoIGEgc2ltcGxlIGNsaWNrLiBcblxuVGFza0JhciAyMDIwIGlzIGEgZG9jay1saWtlIHdpbmRvd3MgbGlzdCBvbiB0aGUgdG9wL2JvdHRvbSBiYXIuIFxuXG5Gb3JrIG9mIHpweWRyL2dub21lLXNoZWxsLWV4dGVuc2lvbi10YXNrYmFyIHRvIHN1cHBvcnQgbmV3ZXIgdmVyc2lvbnMgb2YgR05PTUUiLAogICJuYW1lIjogIlRhc2tCYXIgMjAyMCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jMGxkcGxhc21hL2dub21lLXNoZWxsLWV4dGVuc2lvbi10YXNrYmFyIiwKICAidXVpZCI6ICJUYXNrQmFyQGMwbGRwbGFzbWEiLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"uuid": "kernel-indicator@elboulangero.gitlab.com", "name": "Kernel Indicator", "pname": "kernel-indicator", "description": "Display the kernel version in the top bar", "link": "https://extensions.gnome.org/extension/2512/kernel-indicator/", "shell_version_map": {"40": {"version": "4", "sha256": "0v3vxk9adzwk18vpvhpwxp7893wh7my8bh8j5vp4fdiq3l06v4sp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGhlIGtlcm5lbCB2ZXJzaW9uIGluIHRoZSB0b3AgYmFyIiwKICAibmFtZSI6ICJLZXJuZWwgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9lbGJvdWxhbmdlcm8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtlcm5lbC1pbmRpY2F0b3IiLAogICJ1dWlkIjogImtlcm5lbC1pbmRpY2F0b3JAZWxib3VsYW5nZXJvLmdpdGxhYi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "0v3vxk9adzwk18vpvhpwxp7893wh7my8bh8j5vp4fdiq3l06v4sp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGhlIGtlcm5lbCB2ZXJzaW9uIGluIHRoZSB0b3AgYmFyIiwKICAibmFtZSI6ICJLZXJuZWwgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9lbGJvdWxhbmdlcm8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtlcm5lbC1pbmRpY2F0b3IiLAogICJ1dWlkIjogImtlcm5lbC1pbmRpY2F0b3JAZWxib3VsYW5nZXJvLmdpdGxhYi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
-, {"uuid": "floatingDock@sun.wxg@gmail.com", "name": "Floating Dock", "pname": "floating-dock", "description": "Move dock anywhere on the desktop\n\nPress Ctrl+Alt+k to vi mode\nPress lowercase alphabet, open new window or active the window\nPress uppercase alphabet, force to open new window\n\nPoint on the main button, change workspace by mouse scroll\nRight click the main button, show some selections", "link": "https://extensions.gnome.org/extension/2542/floating-dock/", "shell_version_map": {"38": {"version": "12", "sha256": "1844hhr0z4wd0wvh29q0sxh6xmwq7chg3kr3sa3c46q8n97i78x2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgZG9jayBhbnl3aGVyZSBvbiB0aGUgZGVza3RvcFxuXG5QcmVzcyBDdHJsK0FsdCtrIHRvIHZpIG1vZGVcblByZXNzIGxvd2VyY2FzZSBhbHBoYWJldCwgb3BlbiBuZXcgd2luZG93IG9yIGFjdGl2ZSB0aGUgd2luZG93XG5QcmVzcyB1cHBlcmNhc2UgYWxwaGFiZXQsIGZvcmNlIHRvIG9wZW4gbmV3IHdpbmRvd1xuXG5Qb2ludCBvbiB0aGUgbWFpbiBidXR0b24sIGNoYW5nZSB3b3Jrc3BhY2UgYnkgbW91c2Ugc2Nyb2xsXG5SaWdodCBjbGljayB0aGUgbWFpbiBidXR0b24sIHNob3cgc29tZSBzZWxlY3Rpb25zIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tZmxvYXRpbmdEb2NrIiwKICAidXVpZCI6ICJmbG9hdGluZ0RvY2tAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "40": {"version": "21", "sha256": "0qj1vqd44clpr72j5lccvva48kzaz76zd48k6nxzvnkgh2n5dh29", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgZG9jayBhbnl3aGVyZSBvbiB0aGUgZGVza3RvcFxuXG5QcmVzcyBDdHJsK0FsdCtrIHRvIHZpIG1vZGVcblByZXNzIGxvd2VyY2FzZSBhbHBoYWJldCwgb3BlbiBuZXcgd2luZG93IG9yIGFjdGl2ZSB0aGUgd2luZG93XG5QcmVzcyB1cHBlcmNhc2UgYWxwaGFiZXQsIGZvcmNlIHRvIG9wZW4gbmV3IHdpbmRvd1xuXG5Qb2ludCBvbiB0aGUgbWFpbiBidXR0b24sIGNoYW5nZSB3b3Jrc3BhY2UgYnkgbW91c2Ugc2Nyb2xsXG5SaWdodCBjbGljayB0aGUgbWFpbiBidXR0b24sIHNob3cgc29tZSBzZWxlY3Rpb25zIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZsb2F0aW5nRG9jayIsCiAgInV1aWQiOiAiZmxvYXRpbmdEb2NrQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIxCn0="}, "41": {"version": "23", "sha256": "0ag8pq9sgk885912mqiyhsacfmgkn9n4jvyp0rk4nw0fghd1mgd9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgZG9jayBhbnl3aGVyZSBvbiB0aGUgZGVza3RvcFxuXG5QcmVzcyBDdHJsK0FsdCtrIHRvIHZpIG1vZGVcblByZXNzIGxvd2VyY2FzZSBhbHBoYWJldCwgb3BlbiBuZXcgd2luZG93IG9yIGFjdGl2ZSB0aGUgd2luZG93XG5QcmVzcyB1cHBlcmNhc2UgYWxwaGFiZXQsIGZvcmNlIHRvIG9wZW4gbmV3IHdpbmRvd1xuXG5Qb2ludCBvbiB0aGUgbWFpbiBidXR0b24sIGNoYW5nZSB3b3Jrc3BhY2UgYnkgbW91c2Ugc2Nyb2xsXG5SaWdodCBjbGljayB0aGUgbWFpbiBidXR0b24sIHNob3cgc29tZSBzZWxlY3Rpb25zIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZsb2F0aW5nRG9jayIsCiAgInV1aWQiOiAiZmxvYXRpbmdEb2NrQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIzCn0="}}}
+, {"uuid": "floatingDock@sun.wxg@gmail.com", "name": "Floating Dock", "pname": "floating-dock", "description": "Move dock anywhere on the desktop\n\nPress Ctrl+Alt+k to vi mode\nPress lowercase alphabet, open new window or active the window\nPress uppercase alphabet, force to open new window\n\nPoint on the main button, change workspace by mouse scroll\nRight click the main button, show some selections", "link": "https://extensions.gnome.org/extension/2542/floating-dock/", "shell_version_map": {"38": {"version": "12", "sha256": "1844hhr0z4wd0wvh29q0sxh6xmwq7chg3kr3sa3c46q8n97i78x2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgZG9jayBhbnl3aGVyZSBvbiB0aGUgZGVza3RvcFxuXG5QcmVzcyBDdHJsK0FsdCtrIHRvIHZpIG1vZGVcblByZXNzIGxvd2VyY2FzZSBhbHBoYWJldCwgb3BlbiBuZXcgd2luZG93IG9yIGFjdGl2ZSB0aGUgd2luZG93XG5QcmVzcyB1cHBlcmNhc2UgYWxwaGFiZXQsIGZvcmNlIHRvIG9wZW4gbmV3IHdpbmRvd1xuXG5Qb2ludCBvbiB0aGUgbWFpbiBidXR0b24sIGNoYW5nZSB3b3Jrc3BhY2UgYnkgbW91c2Ugc2Nyb2xsXG5SaWdodCBjbGljayB0aGUgbWFpbiBidXR0b24sIHNob3cgc29tZSBzZWxlY3Rpb25zIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tZmxvYXRpbmdEb2NrIiwKICAidXVpZCI6ICJmbG9hdGluZ0RvY2tAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "40": {"version": "21", "sha256": "0qj1vqd44clpr72j5lccvva48kzaz76zd48k6nxzvnkgh2n5dh29", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgZG9jayBhbnl3aGVyZSBvbiB0aGUgZGVza3RvcFxuXG5QcmVzcyBDdHJsK0FsdCtrIHRvIHZpIG1vZGVcblByZXNzIGxvd2VyY2FzZSBhbHBoYWJldCwgb3BlbiBuZXcgd2luZG93IG9yIGFjdGl2ZSB0aGUgd2luZG93XG5QcmVzcyB1cHBlcmNhc2UgYWxwaGFiZXQsIGZvcmNlIHRvIG9wZW4gbmV3IHdpbmRvd1xuXG5Qb2ludCBvbiB0aGUgbWFpbiBidXR0b24sIGNoYW5nZSB3b3Jrc3BhY2UgYnkgbW91c2Ugc2Nyb2xsXG5SaWdodCBjbGljayB0aGUgbWFpbiBidXR0b24sIHNob3cgc29tZSBzZWxlY3Rpb25zIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZsb2F0aW5nRG9jayIsCiAgInV1aWQiOiAiZmxvYXRpbmdEb2NrQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIxCn0="}, "41": {"version": "23", "sha256": "0ag8pq9sgk885912mqiyhsacfmgkn9n4jvyp0rk4nw0fghd1mgd9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgZG9jayBhbnl3aGVyZSBvbiB0aGUgZGVza3RvcFxuXG5QcmVzcyBDdHJsK0FsdCtrIHRvIHZpIG1vZGVcblByZXNzIGxvd2VyY2FzZSBhbHBoYWJldCwgb3BlbiBuZXcgd2luZG93IG9yIGFjdGl2ZSB0aGUgd2luZG93XG5QcmVzcyB1cHBlcmNhc2UgYWxwaGFiZXQsIGZvcmNlIHRvIG9wZW4gbmV3IHdpbmRvd1xuXG5Qb2ludCBvbiB0aGUgbWFpbiBidXR0b24sIGNoYW5nZSB3b3Jrc3BhY2UgYnkgbW91c2Ugc2Nyb2xsXG5SaWdodCBjbGljayB0aGUgbWFpbiBidXR0b24sIHNob3cgc29tZSBzZWxlY3Rpb25zIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZsb2F0aW5nRG9jayIsCiAgInV1aWQiOiAiZmxvYXRpbmdEb2NrQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIzCn0="}, "42": {"version": "24", "sha256": "01ksb1v6h1kn7d0vr4nrvjiwxarjjf1pywlp6711i1763q8zmn4i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgZG9jayBhbnl3aGVyZSBvbiB0aGUgZGVza3RvcFxuXG5QcmVzcyBDdHJsK0FsdCtrIHRvIHZpIG1vZGVcblByZXNzIGxvd2VyY2FzZSBhbHBoYWJldCwgb3BlbiBuZXcgd2luZG93IG9yIGFjdGl2ZSB0aGUgd2luZG93XG5QcmVzcyB1cHBlcmNhc2UgYWxwaGFiZXQsIGZvcmNlIHRvIG9wZW4gbmV3IHdpbmRvd1xuXG5Qb2ludCBvbiB0aGUgbWFpbiBidXR0b24sIGNoYW5nZSB3b3Jrc3BhY2UgYnkgbW91c2Ugc2Nyb2xsXG5SaWdodCBjbGljayB0aGUgbWFpbiBidXR0b24sIHNob3cgc29tZSBzZWxlY3Rpb25zIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZsb2F0aW5nRG9jayIsCiAgInV1aWQiOiAiZmxvYXRpbmdEb2NrQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDI0Cn0="}}}
 , {"uuid": "maxi@darkretailer.github.com", "name": "Maxi", "pname": "maxi", "description": "Maximize your windows vertical and/or horizontal (based on https://github.com/aXe1/gnome-shell-extension-maximized-by-default)", "link": "https://extensions.gnome.org/extension/2554/maxi/", "shell_version_map": {"40": {"version": "5", "sha256": "121nd6ggr9id3yfsrkiza7rjq19638p156ym83i3j57ikz6r3ky5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1heGltaXplIHlvdXIgd2luZG93cyB2ZXJ0aWNhbCBhbmQvb3IgaG9yaXpvbnRhbCAoYmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL2FYZTEvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW1heGltaXplZC1ieS1kZWZhdWx0KSIsCiAgImV4dGVuc2lvbi1pZCI6ICJtYXhpIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWF4aSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tYXhpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhcmtyZXRhaWxlci9nbm9tZS1zaGVsbC1leHRlbnNpb25fbWF4aSIsCiAgInV1aWQiOiAibWF4aUBkYXJrcmV0YWlsZXIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "gnordvpn-local@isopolito", "name": "gNordVPN-Local", "pname": "gnordvpn-local", "description": "A Gnome extension that shows the NordVPN status in the top bar and provides the ability to configure certain aspects of the connection.", "link": "https://extensions.gnome.org/extension/2569/gnordvpn-local/", "shell_version_map": {"38": {"version": "9", "sha256": "103ddz7n14n4ahks90w60sqgq8w07mpjqln5va7kxnjh3rdwlk3s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgZXh0ZW5zaW9uIHRoYXQgc2hvd3MgdGhlIE5vcmRWUE4gc3RhdHVzIGluIHRoZSB0b3AgYmFyIGFuZCBwcm92aWRlcyB0aGUgYWJpbGl0eSB0byBjb25maWd1cmUgY2VydGFpbiBhc3BlY3RzIG9mIHRoZSBjb25uZWN0aW9uLiIsCiAgIm5hbWUiOiAiZ05vcmRWUE4tTG9jYWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICIzLjM4LjQiLAogICAgIjQwLjUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Jc29wb2xpdG8vZ05vcmRWUE4tTG9jYWwiLAogICJ1dWlkIjogImdub3JkdnBuLWxvY2FsQGlzb3BvbGl0byIsCiAgInZlcnNpb24iOiA5Cn0="}, "40": {"version": "9", "sha256": "103ddz7n14n4ahks90w60sqgq8w07mpjqln5va7kxnjh3rdwlk3s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgZXh0ZW5zaW9uIHRoYXQgc2hvd3MgdGhlIE5vcmRWUE4gc3RhdHVzIGluIHRoZSB0b3AgYmFyIGFuZCBwcm92aWRlcyB0aGUgYWJpbGl0eSB0byBjb25maWd1cmUgY2VydGFpbiBhc3BlY3RzIG9mIHRoZSBjb25uZWN0aW9uLiIsCiAgIm5hbWUiOiAiZ05vcmRWUE4tTG9jYWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICIzLjM4LjQiLAogICAgIjQwLjUiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Jc29wb2xpdG8vZ05vcmRWUE4tTG9jYWwiLAogICJ1dWlkIjogImdub3JkdnBuLWxvY2FsQGlzb3BvbGl0byIsCiAgInZlcnNpb24iOiA5Cn0="}}}
 , {"uuid": "fully-transparent-top-bar@aunetx", "name": "Smart transparent topbar", "pname": "fully-transparent-top-bar", "description": "Permits to change topbar's look and feel when free-floating.\n\nIf you have issues or recommandations, you can tell me on github so I can see them!", "link": "https://extensions.gnome.org/extension/2588/fully-transparent-top-bar/", "shell_version_map": {"38": {"version": "11", "sha256": "1mksqaxw7jzzdghzii1bhhkbsccxb23qa69f3x6hg32ig9qi762x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBlcm1pdHMgdG8gY2hhbmdlIHRvcGJhcidzIGxvb2sgYW5kIGZlZWwgd2hlbiBmcmVlLWZsb2F0aW5nLlxuXG5JZiB5b3UgaGF2ZSBpc3N1ZXMgb3IgcmVjb21tYW5kYXRpb25zLCB5b3UgY2FuIHRlbGwgbWUgb24gZ2l0aHViIHNvIEkgY2FuIHNlZSB0aGVtISIsCiAgIm5hbWUiOiAiU21hcnQgdHJhbnNwYXJlbnQgdG9wYmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXVuZXR4L2dub21lLXNoZWxsLWV4dGVuc2lvbi10cmFuc3BhcmVudC10b3AtYmFyIiwKICAidXVpZCI6ICJmdWxseS10cmFuc3BhcmVudC10b3AtYmFyQGF1bmV0eCIsCiAgInZlcnNpb24iOiAxMQp9"}}}
 , {"uuid": "always-indicator@martin.zurowietz.de", "name": "Always Indicator", "pname": "always-indicator", "description": "Always show the new messages indicator on new messages. Features: 1) New message indicator is always shown if there are notifications. 2) The color of the indicator can be customized. 3) If 'do not disturb' is active, the icon is displayed in the custom color if there are notifications.", "link": "https://extensions.gnome.org/extension/2594/always-indicator/", "shell_version_map": {"40": {"version": "7", "sha256": "1hryk0ispnxpfmfskj29nii72vwbaly4bcb4idyg2z3c1c71qhdy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHRoZSBuZXcgbWVzc2FnZXMgaW5kaWNhdG9yIG9uIG5ldyBtZXNzYWdlcy4gRmVhdHVyZXM6IDEpIE5ldyBtZXNzYWdlIGluZGljYXRvciBpcyBhbHdheXMgc2hvd24gaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIDIpIFRoZSBjb2xvciBvZiB0aGUgaW5kaWNhdG9yIGNhbiBiZSBjdXN0b21pemVkLiAzKSBJZiAnZG8gbm90IGRpc3R1cmInIGlzIGFjdGl2ZSwgdGhlIGljb24gaXMgZGlzcGxheWVkIGluIHRoZSBjdXN0b20gY29sb3IgaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYWx3YXlzLWluZGljYXRvciIsCiAgIm5hbWUiOiAiQWx3YXlzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hbHdheXMtaW5kaWNhdG9yLXNldHRpbmdzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tenVyL2dub21lLXNoZWxsLWFsd2F5cy1pbmRpY2F0b3IiLAogICJ1dWlkIjogImFsd2F5cy1pbmRpY2F0b3JAbWFydGluLnp1cm93aWV0ei5kZSIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "1hryk0ispnxpfmfskj29nii72vwbaly4bcb4idyg2z3c1c71qhdy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHRoZSBuZXcgbWVzc2FnZXMgaW5kaWNhdG9yIG9uIG5ldyBtZXNzYWdlcy4gRmVhdHVyZXM6IDEpIE5ldyBtZXNzYWdlIGluZGljYXRvciBpcyBhbHdheXMgc2hvd24gaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIDIpIFRoZSBjb2xvciBvZiB0aGUgaW5kaWNhdG9yIGNhbiBiZSBjdXN0b21pemVkLiAzKSBJZiAnZG8gbm90IGRpc3R1cmInIGlzIGFjdGl2ZSwgdGhlIGljb24gaXMgZGlzcGxheWVkIGluIHRoZSBjdXN0b20gY29sb3IgaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYWx3YXlzLWluZGljYXRvciIsCiAgIm5hbWUiOiAiQWx3YXlzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hbHdheXMtaW5kaWNhdG9yLXNldHRpbmdzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tenVyL2dub21lLXNoZWxsLWFsd2F5cy1pbmRpY2F0b3IiLAogICJ1dWlkIjogImFsd2F5cy1pbmRpY2F0b3JAbWFydGluLnp1cm93aWV0ei5kZSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
-, {"uuid": "eruption-profile-switcher@x3n0m0rph59.org", "name": "Eruption Profile Switcher", "pname": "eruption-profile-switcher", "description": "Runtime profile switcher for the Eruption Linux input and LED driver for keyboards, mice and other devices", "link": "https://extensions.gnome.org/extension/2621/eruption-profile-switcher/", "shell_version_map": {"38": {"version": "15", "sha256": "1jy9m2inx8jjwsy666hg67i7d8py2ar4drn2i8si7d80cba45al4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgcHJvZmlsZSBzd2l0Y2hlciBmb3IgdGhlIEVydXB0aW9uIExpbnV4IGlucHV0IGFuZCBMRUQgZHJpdmVyIGZvciBrZXlib2FyZHMsIG1pY2UgYW5kIG90aGVyIGRldmljZXMiLAogICJuYW1lIjogIkVydXB0aW9uIFByb2ZpbGUgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLmJldGEiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vWDNuMG0wcnBoNTkvZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlciIsCiAgInV1aWQiOiAiZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlckB4M24wbTBycGg1OS5vcmciLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "40": {"version": "24", "sha256": "1nnzwk3p89hc765y7xym5xghadr4b2iq2gzzk2acj07fli8f60n2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgcHJvZmlsZSBzd2l0Y2hlciBmb3IgdGhlIEVydXB0aW9uIExpbnV4IGlucHV0IGFuZCBMRUQgZHJpdmVyIGZvciBrZXlib2FyZHMsIG1pY2UgYW5kIG90aGVyIGRldmljZXMiLAogICJuYW1lIjogIkVydXB0aW9uIFByb2ZpbGUgU3dpdGNoZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuYmV0YSIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vWDNuMG0wcnBoNTkvZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlciIsCiAgInV1aWQiOiAiZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlckB4M24wbTBycGg1OS5vcmciLAogICJ2ZXJzaW9uIjogMjQKfQ=="}, "41": {"version": "24", "sha256": "1nnzwk3p89hc765y7xym5xghadr4b2iq2gzzk2acj07fli8f60n2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgcHJvZmlsZSBzd2l0Y2hlciBmb3IgdGhlIEVydXB0aW9uIExpbnV4IGlucHV0IGFuZCBMRUQgZHJpdmVyIGZvciBrZXlib2FyZHMsIG1pY2UgYW5kIG90aGVyIGRldmljZXMiLAogICJuYW1lIjogIkVydXB0aW9uIFByb2ZpbGUgU3dpdGNoZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuYmV0YSIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vWDNuMG0wcnBoNTkvZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlciIsCiAgInV1aWQiOiAiZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlckB4M24wbTBycGg1OS5vcmciLAogICJ2ZXJzaW9uIjogMjQKfQ=="}}}
+, {"uuid": "eruption-profile-switcher@x3n0m0rph59.org", "name": "Eruption Profile Switcher", "pname": "eruption-profile-switcher", "description": "Runtime profile switcher for the Eruption Linux input and LED driver for keyboards, mice and other devices", "link": "https://extensions.gnome.org/extension/2621/eruption-profile-switcher/", "shell_version_map": {"38": {"version": "15", "sha256": "1jy9m2inx8jjwsy666hg67i7d8py2ar4drn2i8si7d80cba45al4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgcHJvZmlsZSBzd2l0Y2hlciBmb3IgdGhlIEVydXB0aW9uIExpbnV4IGlucHV0IGFuZCBMRUQgZHJpdmVyIGZvciBrZXlib2FyZHMsIG1pY2UgYW5kIG90aGVyIGRldmljZXMiLAogICJuYW1lIjogIkVydXB0aW9uIFByb2ZpbGUgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLmJldGEiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vWDNuMG0wcnBoNTkvZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlciIsCiAgInV1aWQiOiAiZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlckB4M24wbTBycGg1OS5vcmciLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "40": {"version": "25", "sha256": "12klzvzv28im89pdd74zyzhj8xhnbvqlh85q1i5ca4r81mmg7q3s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgcHJvZmlsZSBzd2l0Y2hlciBmb3IgdGhlIEVydXB0aW9uIExpbnV4IGlucHV0IGFuZCBMRUQgZHJpdmVyIGZvciBrZXlib2FyZHMsIG1pY2UgYW5kIG90aGVyIGRldmljZXMiLAogICJuYW1lIjogIkVydXB0aW9uIFByb2ZpbGUgU3dpdGNoZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuYmV0YSIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1gzbjBtMHJwaDU5L2VydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXIiLAogICJ1dWlkIjogImVydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXJAeDNuMG0wcnBoNTkub3JnIiwKICAidmVyc2lvbiI6IDI1Cn0="}, "41": {"version": "25", "sha256": "12klzvzv28im89pdd74zyzhj8xhnbvqlh85q1i5ca4r81mmg7q3s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgcHJvZmlsZSBzd2l0Y2hlciBmb3IgdGhlIEVydXB0aW9uIExpbnV4IGlucHV0IGFuZCBMRUQgZHJpdmVyIGZvciBrZXlib2FyZHMsIG1pY2UgYW5kIG90aGVyIGRldmljZXMiLAogICJuYW1lIjogIkVydXB0aW9uIFByb2ZpbGUgU3dpdGNoZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuYmV0YSIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1gzbjBtMHJwaDU5L2VydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXIiLAogICJ1dWlkIjogImVydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXJAeDNuMG0wcnBoNTkub3JnIiwKICAidmVyc2lvbiI6IDI1Cn0="}, "42": {"version": "25", "sha256": "12klzvzv28im89pdd74zyzhj8xhnbvqlh85q1i5ca4r81mmg7q3s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgcHJvZmlsZSBzd2l0Y2hlciBmb3IgdGhlIEVydXB0aW9uIExpbnV4IGlucHV0IGFuZCBMRUQgZHJpdmVyIGZvciBrZXlib2FyZHMsIG1pY2UgYW5kIG90aGVyIGRldmljZXMiLAogICJuYW1lIjogIkVydXB0aW9uIFByb2ZpbGUgU3dpdGNoZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuYmV0YSIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1gzbjBtMHJwaDU5L2VydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXIiLAogICJ1dWlkIjogImVydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXJAeDNuMG0wcnBoNTkub3JnIiwKICAidmVyc2lvbiI6IDI1Cn0="}}}
 , {"uuid": "nbfcindicator@mgokcaykdev.gmail.com", "name": "Nbfc Indicator", "pname": "nbfc-indicator", "description": "Notebook Fan Control Indicator for Gnome Shell", "link": "https://extensions.gnome.org/extension/2624/nbfc-indicator/", "shell_version_map": {"40": {"version": "7", "sha256": "0hp7giwdcsk8p442q0x9214dv59ziyjswli6mccyb8v814k3p8ic", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vdGVib29rIEZhbiBDb250cm9sIEluZGljYXRvciBmb3IgR25vbWUgU2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYmZjaW5kaWNhdG9yIiwKICAibmFtZSI6ICJOYmZjIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYmZjaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01Hb2tjYXlLL2dub21lLXNoZWxsLWV4dGVuc2lvbnMtbmJmY2luZGljYXRvciIsCiAgInV1aWQiOiAibmJmY2luZGljYXRvckBtZ29rY2F5a2Rldi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "user-id-in-top-panel@fthx", "name": "User id in top panel", "pname": "user-id-in-top-panel", "description": "Add ( user name :: user id @ host ) in top panel.", "link": "https://extensions.gnome.org/extension/2633/user-id-in-top-panel/", "shell_version_map": {"38": {"version": "6", "sha256": "16s1782mzb5ckshsy86ac9xj5xfk15hwzvzk4cfiimphfvkkw8x4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCAoIHVzZXIgbmFtZSA6OiB1c2VyIGlkIEAgaG9zdCApIGluIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIlVzZXIgaWQgaW4gdG9wIHBhbmVsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJmdGh4IgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ1c2VyLWlkLWluLXRvcC1wYW5lbEBmdGh4IiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "6", "sha256": "16s1782mzb5ckshsy86ac9xj5xfk15hwzvzk4cfiimphfvkkw8x4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCAoIHVzZXIgbmFtZSA6OiB1c2VyIGlkIEAgaG9zdCApIGluIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIlVzZXIgaWQgaW4gdG9wIHBhbmVsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJmdGh4IgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ1c2VyLWlkLWluLXRvcC1wYW5lbEBmdGh4IiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "16s1782mzb5ckshsy86ac9xj5xfk15hwzvzk4cfiimphfvkkw8x4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCAoIHVzZXIgbmFtZSA6OiB1c2VyIGlkIEAgaG9zdCApIGluIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIlVzZXIgaWQgaW4gdG9wIHBhbmVsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJmdGh4IgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ1c2VyLWlkLWluLXRvcC1wYW5lbEBmdGh4IiwKICAidmVyc2lvbiI6IDYKfQ=="}, "42": {"version": "6", "sha256": "16s1782mzb5ckshsy86ac9xj5xfk15hwzvzk4cfiimphfvkkw8x4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCAoIHVzZXIgbmFtZSA6OiB1c2VyIGlkIEAgaG9zdCApIGluIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIlVzZXIgaWQgaW4gdG9wIHBhbmVsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJmdGh4IgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ1c2VyLWlkLWluLXRvcC1wYW5lbEBmdGh4IiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
-, {"uuid": "hide-minimized@danigm.net", "name": "Hide minimized", "pname": "hide-minimized", "description": "Hide minimized in overview", "link": "https://extensions.gnome.org/extension/2639/hide-minimized/", "shell_version_map": {"38": {"version": "4", "sha256": "0v2vrm3p5czzvs2kc8dh3h1ijh7i8x6z2b9gdvqbfny45g7blfaa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFuaWdtL2hpZGUtbWluaW1pemVkIiwKICAidXVpZCI6ICJoaWRlLW1pbmltaXplZEBkYW5pZ20ubmV0IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "0v2vrm3p5czzvs2kc8dh3h1ijh7i8x6z2b9gdvqbfny45g7blfaa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFuaWdtL2hpZGUtbWluaW1pemVkIiwKICAidXVpZCI6ICJoaWRlLW1pbmltaXplZEBkYW5pZ20ubmV0IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "0v2vrm3p5czzvs2kc8dh3h1ijh7i8x6z2b9gdvqbfny45g7blfaa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFuaWdtL2hpZGUtbWluaW1pemVkIiwKICAidXVpZCI6ICJoaWRlLW1pbmltaXplZEBkYW5pZ20ubmV0IiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"uuid": "display-brightness-ddcutil@themightydeity.github.com", "name": "Brightness control using ddcutil", "pname": "brightness-control-using-ddcutil", "description": "Brightness control for all the monitors detected by ddcutil\nThis tool uses ddcutil as backend for communication with your display.\n\nUpdated 2022-Jan-05: There are multiple ways of listing the control sliders, either in top bar or in system menu, with or without value labels.\n\nRead setup instructions from: https://github.com/daitj/gnome-display-brightness-ddcutil/blob/master/README.md", "link": "https://extensions.gnome.org/extension/2645/brightness-control-using-ddcutil/", "shell_version_map": {"38": {"version": "10", "sha256": "0r8l1iipfxrsmmch0pgi9jpxk58cqn93igs1cp8sx73l1cxr5ik4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblVwZGF0ZWQgMjAyMi1KYW4tMDU6IFRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIG9mIGxpc3RpbmcgdGhlIGNvbnRyb2wgc2xpZGVycywgZWl0aGVyIGluIHRvcCBiYXIgb3IgaW4gc3lzdGVtIG1lbnUsIHdpdGggb3Igd2l0aG91dCB2YWx1ZSBsYWJlbHMuXG5cblJlYWQgc2V0dXAgaW5zdHJ1Y3Rpb25zIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbC9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJuYW1lIjogIkJyaWdodG5lc3MgY29udHJvbCB1c2luZyBkZGN1dGlsIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFpdGovZ25vbWUtZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJ1dWlkIjogImRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsQHRoZW1pZ2h0eWRlaXR5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "40": {"version": "28", "sha256": "0bb27sraknlqbdpavf0hrwcz4kl4bmrkc70491g9fbfhvr37jyq3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblVwZGF0ZWQgMjAyMi1KYW4tMDU6IFRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIG9mIGxpc3RpbmcgdGhlIGNvbnRyb2wgc2xpZGVycywgZWl0aGVyIGluIHRvcCBiYXIgb3IgaW4gc3lzdGVtIG1lbnUsIHdpdGggb3Igd2l0aG91dCB2YWx1ZSBsYWJlbHMuXG5cblJlYWQgc2V0dXAgaW5zdHJ1Y3Rpb25zIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbC9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgIm5hbWUiOiAiQnJpZ2h0bmVzcyBjb250cm9sIHVzaW5nIGRkY3V0aWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhaXRqL2dub21lLWRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsIiwKICAidXVpZCI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbEB0aGVtaWdodHlkZWl0eS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDI4Cn0="}, "41": {"version": "28", "sha256": "0bb27sraknlqbdpavf0hrwcz4kl4bmrkc70491g9fbfhvr37jyq3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblVwZGF0ZWQgMjAyMi1KYW4tMDU6IFRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIG9mIGxpc3RpbmcgdGhlIGNvbnRyb2wgc2xpZGVycywgZWl0aGVyIGluIHRvcCBiYXIgb3IgaW4gc3lzdGVtIG1lbnUsIHdpdGggb3Igd2l0aG91dCB2YWx1ZSBsYWJlbHMuXG5cblJlYWQgc2V0dXAgaW5zdHJ1Y3Rpb25zIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbC9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgIm5hbWUiOiAiQnJpZ2h0bmVzcyBjb250cm9sIHVzaW5nIGRkY3V0aWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhaXRqL2dub21lLWRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsIiwKICAidXVpZCI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbEB0aGVtaWdodHlkZWl0eS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDI4Cn0="}}}
+, {"uuid": "hide-minimized@danigm.net", "name": "Hide minimized", "pname": "hide-minimized", "description": "Hide minimized in overview", "link": "https://extensions.gnome.org/extension/2639/hide-minimized/", "shell_version_map": {"38": {"version": "5", "sha256": "00b2mv92c5zvyajkgqs3nm781aqgc47m2jix8phx1fbbgi2vx2a6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9oaWRlLW1pbmltaXplZCIsCiAgInV1aWQiOiAiaGlkZS1taW5pbWl6ZWRAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "00b2mv92c5zvyajkgqs3nm781aqgc47m2jix8phx1fbbgi2vx2a6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9oaWRlLW1pbmltaXplZCIsCiAgInV1aWQiOiAiaGlkZS1taW5pbWl6ZWRAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "00b2mv92c5zvyajkgqs3nm781aqgc47m2jix8phx1fbbgi2vx2a6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9oaWRlLW1pbmltaXplZCIsCiAgInV1aWQiOiAiaGlkZS1taW5pbWl6ZWRAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiA1Cn0="}, "42": {"version": "5", "sha256": "00b2mv92c5zvyajkgqs3nm781aqgc47m2jix8phx1fbbgi2vx2a6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9oaWRlLW1pbmltaXplZCIsCiAgInV1aWQiOiAiaGlkZS1taW5pbWl6ZWRAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiA1Cn0="}}}
+, {"uuid": "display-brightness-ddcutil@themightydeity.github.com", "name": "Brightness control using ddcutil", "pname": "brightness-control-using-ddcutil", "description": "Brightness control for all the monitors detected by ddcutil\nThis tool uses ddcutil as backend for communication with your display.\n\nUpdated 2022-Jan-05: There are multiple ways of listing the control sliders, either in top bar or in system menu, with or without value labels.\n\nRead setup instructions from: https://github.com/daitj/gnome-display-brightness-ddcutil/blob/master/README.md", "link": "https://extensions.gnome.org/extension/2645/brightness-control-using-ddcutil/", "shell_version_map": {"38": {"version": "10", "sha256": "0r8l1iipfxrsmmch0pgi9jpxk58cqn93igs1cp8sx73l1cxr5ik4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblVwZGF0ZWQgMjAyMi1KYW4tMDU6IFRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIG9mIGxpc3RpbmcgdGhlIGNvbnRyb2wgc2xpZGVycywgZWl0aGVyIGluIHRvcCBiYXIgb3IgaW4gc3lzdGVtIG1lbnUsIHdpdGggb3Igd2l0aG91dCB2YWx1ZSBsYWJlbHMuXG5cblJlYWQgc2V0dXAgaW5zdHJ1Y3Rpb25zIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbC9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJuYW1lIjogIkJyaWdodG5lc3MgY29udHJvbCB1c2luZyBkZGN1dGlsIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFpdGovZ25vbWUtZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJ1dWlkIjogImRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsQHRoZW1pZ2h0eWRlaXR5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "40": {"version": "30", "sha256": "14xvsd4irbhqicz8hkwny0mm9kb3230qyjypz61q1ip1i6sr8f26", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblVwZGF0ZWQgMjAyMi1KYW4tMDU6IFRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIG9mIGxpc3RpbmcgdGhlIGNvbnRyb2wgc2xpZGVycywgZWl0aGVyIGluIHRvcCBiYXIgb3IgaW4gc3lzdGVtIG1lbnUsIHdpdGggb3Igd2l0aG91dCB2YWx1ZSBsYWJlbHMuXG5cblJlYWQgc2V0dXAgaW5zdHJ1Y3Rpb25zIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbC9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgIm5hbWUiOiAiQnJpZ2h0bmVzcyBjb250cm9sIHVzaW5nIGRkY3V0aWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgInV1aWQiOiAiZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWxAdGhlbWlnaHR5ZGVpdHkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzMAp9"}, "41": {"version": "30", "sha256": "14xvsd4irbhqicz8hkwny0mm9kb3230qyjypz61q1ip1i6sr8f26", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblVwZGF0ZWQgMjAyMi1KYW4tMDU6IFRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIG9mIGxpc3RpbmcgdGhlIGNvbnRyb2wgc2xpZGVycywgZWl0aGVyIGluIHRvcCBiYXIgb3IgaW4gc3lzdGVtIG1lbnUsIHdpdGggb3Igd2l0aG91dCB2YWx1ZSBsYWJlbHMuXG5cblJlYWQgc2V0dXAgaW5zdHJ1Y3Rpb25zIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbC9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgIm5hbWUiOiAiQnJpZ2h0bmVzcyBjb250cm9sIHVzaW5nIGRkY3V0aWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgInV1aWQiOiAiZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWxAdGhlbWlnaHR5ZGVpdHkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzMAp9"}, "42": {"version": "30", "sha256": "14xvsd4irbhqicz8hkwny0mm9kb3230qyjypz61q1ip1i6sr8f26", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblVwZGF0ZWQgMjAyMi1KYW4tMDU6IFRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIG9mIGxpc3RpbmcgdGhlIGNvbnRyb2wgc2xpZGVycywgZWl0aGVyIGluIHRvcCBiYXIgb3IgaW4gc3lzdGVtIG1lbnUsIHdpdGggb3Igd2l0aG91dCB2YWx1ZSBsYWJlbHMuXG5cblJlYWQgc2V0dXAgaW5zdHJ1Y3Rpb25zIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbC9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgIm5hbWUiOiAiQnJpZ2h0bmVzcyBjb250cm9sIHVzaW5nIGRkY3V0aWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgInV1aWQiOiAiZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWxAdGhlbWlnaHR5ZGVpdHkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzMAp9"}}}
 , {"uuid": "timezones@masquerade-circus.net", "name": "Timezones extension", "pname": "timezones-extension", "description": "Show multiple clocks in the panel. For those who need more than one additional clock.", "link": "https://extensions.gnome.org/extension/2657/timezones-extension/", "shell_version_map": {"38": {"version": "2", "sha256": "0vkqwrn0kvmng003h26zvzd5ym4h971hvcspb5iq7042lhxxc2hf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbXVsdGlwbGUgY2xvY2tzIGluIHRoZSBwYW5lbC4gRm9yIHRob3NlIHdobyBuZWVkIG1vcmUgdGhhbiBvbmUgYWRkaXRpb25hbCBjbG9jay4iLAogICJuYW1lIjogIlRpbWV6b25lcyBleHRlbnNpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFzcXVlcmFkZS1DaXJjdXMvZ25vbWUtdGltZXpvbmVzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "0vkqwrn0kvmng003h26zvzd5ym4h971hvcspb5iq7042lhxxc2hf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbXVsdGlwbGUgY2xvY2tzIGluIHRoZSBwYW5lbC4gRm9yIHRob3NlIHdobyBuZWVkIG1vcmUgdGhhbiBvbmUgYWRkaXRpb25hbCBjbG9jay4iLAogICJuYW1lIjogIlRpbWV6b25lcyBleHRlbnNpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFzcXVlcmFkZS1DaXJjdXMvZ25vbWUtdGltZXpvbmVzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "0vkqwrn0kvmng003h26zvzd5ym4h971hvcspb5iq7042lhxxc2hf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbXVsdGlwbGUgY2xvY2tzIGluIHRoZSBwYW5lbC4gRm9yIHRob3NlIHdobyBuZWVkIG1vcmUgdGhhbiBvbmUgYWRkaXRpb25hbCBjbG9jay4iLAogICJuYW1lIjogIlRpbWV6b25lcyBleHRlbnNpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFzcXVlcmFkZS1DaXJjdXMvZ25vbWUtdGltZXpvbmVzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "transparent-panel@fthx", "name": "Ubuntu-like Panel", "pname": "transparent-panel", "description": "Panel: transparent, straight, reduced height, non-bold fonts. Nothing more.\n\nLooks roughly like Ubuntu session's panel (Yaru). You can easily modify the transparency level through the CSS stylesheet in the extensions's folder.", "link": "https://extensions.gnome.org/extension/2660/transparent-panel/", "shell_version_map": {"40": {"version": "3", "sha256": "042cbxdvh4nxv72dd6ikm37brgb2wc1yaxsznyavjwr53awjbbzm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBhbmVsOiB0cmFuc3BhcmVudCwgc3RyYWlnaHQsIHJlZHVjZWQgaGVpZ2h0LCBub24tYm9sZCBmb250cy4gTm90aGluZyBtb3JlLlxuXG5Mb29rcyByb3VnaGx5IGxpa2UgVWJ1bnR1IHNlc3Npb24ncyBwYW5lbCAoWWFydSkuIFlvdSBjYW4gZWFzaWx5IG1vZGlmeSB0aGUgdHJhbnNwYXJlbmN5IGxldmVsIHRocm91Z2ggdGhlIENTUyBzdHlsZXNoZWV0IGluIHRoZSBleHRlbnNpb25zJ3MgZm9sZGVyLiIsCiAgIm5hbWUiOiAiVWJ1bnR1LWxpa2UgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC1wYW5lbEBmdGh4IiwKICAidmVyc2lvbiI6IDMKfQ=="}, "41": {"version": "3", "sha256": "042cbxdvh4nxv72dd6ikm37brgb2wc1yaxsznyavjwr53awjbbzm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBhbmVsOiB0cmFuc3BhcmVudCwgc3RyYWlnaHQsIHJlZHVjZWQgaGVpZ2h0LCBub24tYm9sZCBmb250cy4gTm90aGluZyBtb3JlLlxuXG5Mb29rcyByb3VnaGx5IGxpa2UgVWJ1bnR1IHNlc3Npb24ncyBwYW5lbCAoWWFydSkuIFlvdSBjYW4gZWFzaWx5IG1vZGlmeSB0aGUgdHJhbnNwYXJlbmN5IGxldmVsIHRocm91Z2ggdGhlIENTUyBzdHlsZXNoZWV0IGluIHRoZSBleHRlbnNpb25zJ3MgZm9sZGVyLiIsCiAgIm5hbWUiOiAiVWJ1bnR1LWxpa2UgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC1wYW5lbEBmdGh4IiwKICAidmVyc2lvbiI6IDMKfQ=="}, "42": {"version": "4", "sha256": "1af8hyfvrpl7slqc1sdnc82zkrqrrvw16qw47qqxfdiybyk7381z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBhbmVsOiB0cmFuc3BhcmVudCwgc3RyYWlnaHQsIHJlZHVjZWQgaGVpZ2h0LCBub24tYm9sZCBmb250cy4gTm90aGluZyBtb3JlLlxuXG5Mb29rcyByb3VnaGx5IGxpa2UgVWJ1bnR1IHNlc3Npb24ncyBwYW5lbCAoWWFydSkuIFlvdSBjYW4gZWFzaWx5IG1vZGlmeSB0aGUgdHJhbnNwYXJlbmN5IGxldmVsIHRocm91Z2ggdGhlIENTUyBzdHlsZXNoZWV0IGluIHRoZSBleHRlbnNpb25zJ3MgZm9sZGVyLiIsCiAgIm5hbWUiOiAiVWJ1bnR1LWxpa2UgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInRyYW5zcGFyZW50LXBhbmVsQGZ0aHgiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "mounter@heartmire", "name": "Mounter", "pname": "mounter", "description": "Mount and umount fstab entries with 'noauto,user' options.\n\n/etc/fstab example that will be picked up and listed by the extension:\n192.168.1.1:/mnt/data/users/martin  /mnt/server-martin  nfs  noauto,user,noatime,rw  0  0\n\nToggle the menu with the shortcut: CTRL + ALT + m", "link": "https://extensions.gnome.org/extension/2666/mounter/", "shell_version_map": {"38": {"version": "5", "sha256": "13nxnpiv8f9bzxqgv3iinb92ib9zk3jmmx273acs25lcjcw8v6l0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdW50IGFuZCB1bW91bnQgZnN0YWIgZW50cmllcyB3aXRoICdub2F1dG8sdXNlcicgb3B0aW9ucy5cblxuL2V0Yy9mc3RhYiBleGFtcGxlIHRoYXQgd2lsbCBiZSBwaWNrZWQgdXAgYW5kIGxpc3RlZCBieSB0aGUgZXh0ZW5zaW9uOlxuMTkyLjE2OC4xLjE6L21udC9kYXRhL3VzZXJzL21hcnRpbiAgL21udC9zZXJ2ZXItbWFydGluICBuZnMgIG5vYXV0byx1c2VyLG5vYXRpbWUscncgIDAgIDBcblxuVG9nZ2xlIHRoZSBtZW51IHdpdGggdGhlIHNob3J0Y3V0OiBDVFJMICsgQUxUICsgbSIsCiAgIm5hbWUiOiAiTW91bnRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tb3VudGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9tYXJ0aW5oamFydG15ci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbW91bnRlciIsCiAgInV1aWQiOiAibW91bnRlckBoZWFydG1pcmUiLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "13nxnpiv8f9bzxqgv3iinb92ib9zk3jmmx273acs25lcjcw8v6l0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdW50IGFuZCB1bW91bnQgZnN0YWIgZW50cmllcyB3aXRoICdub2F1dG8sdXNlcicgb3B0aW9ucy5cblxuL2V0Yy9mc3RhYiBleGFtcGxlIHRoYXQgd2lsbCBiZSBwaWNrZWQgdXAgYW5kIGxpc3RlZCBieSB0aGUgZXh0ZW5zaW9uOlxuMTkyLjE2OC4xLjE6L21udC9kYXRhL3VzZXJzL21hcnRpbiAgL21udC9zZXJ2ZXItbWFydGluICBuZnMgIG5vYXV0byx1c2VyLG5vYXRpbWUscncgIDAgIDBcblxuVG9nZ2xlIHRoZSBtZW51IHdpdGggdGhlIHNob3J0Y3V0OiBDVFJMICsgQUxUICsgbSIsCiAgIm5hbWUiOiAiTW91bnRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tb3VudGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9tYXJ0aW5oamFydG15ci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbW91bnRlciIsCiAgInV1aWQiOiAibW91bnRlckBoZWFydG1pcmUiLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "13nxnpiv8f9bzxqgv3iinb92ib9zk3jmmx273acs25lcjcw8v6l0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdW50IGFuZCB1bW91bnQgZnN0YWIgZW50cmllcyB3aXRoICdub2F1dG8sdXNlcicgb3B0aW9ucy5cblxuL2V0Yy9mc3RhYiBleGFtcGxlIHRoYXQgd2lsbCBiZSBwaWNrZWQgdXAgYW5kIGxpc3RlZCBieSB0aGUgZXh0ZW5zaW9uOlxuMTkyLjE2OC4xLjE6L21udC9kYXRhL3VzZXJzL21hcnRpbiAgL21udC9zZXJ2ZXItbWFydGluICBuZnMgIG5vYXV0byx1c2VyLG5vYXRpbWUscncgIDAgIDBcblxuVG9nZ2xlIHRoZSBtZW51IHdpdGggdGhlIHNob3J0Y3V0OiBDVFJMICsgQUxUICsgbSIsCiAgIm5hbWUiOiAiTW91bnRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tb3VudGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9tYXJ0aW5oamFydG15ci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbW91bnRlciIsCiAgInV1aWQiOiAibW91bnRlckBoZWFydG1pcmUiLAogICJ2ZXJzaW9uIjogNQp9"}}}
@@ -284,10 +285,10 @@
 , {"uuid": "customgestures@raushankumar27.github.com", "name": "Custom 3 Finger Gestures", "pname": "custom-3-finger-gestures", "description": "3 Finger touchpad gestures into gnome-shell", "link": "https://extensions.gnome.org/extension/2781/custom-3-finger-gestures/", "shell_version_map": {"38": {"version": "7", "sha256": "1a51rlf5fjlzlm2y3cv1ncf4glqa48rkpi0z1b8hd5m1fzgdx6m9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIjMgRmluZ2VyIHRvdWNocGFkIGdlc3R1cmVzIGludG8gZ25vbWUtc2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b21nZXN0dXJlcyIsCiAgIm5hbWUiOiAiQ3VzdG9tIDMgRmluZ2VyIEdlc3R1cmVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbWdlc3R1cmVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmF1c2hhbmt1bWFyMjcvY3VzdG9tZ2VzdHVyZSIsCiAgInV1aWQiOiAiY3VzdG9tZ2VzdHVyZXNAcmF1c2hhbmt1bWFyMjcuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "overview-improved@human.experience", "name": "Overview Improved", "pname": "overview-improved", "description": "Improved, more Unity like overview\n\n* Dash-To-Dock or Ubuntu Dock integration creates Unity-like experience showing windows of specific type\n* Windows search in overview\nConfigurable keybinding (Super+w) to trigger current window overlay\n* Clicking empty space in overview closes\n* Do not show overview when showing application on multiple monitors\n* Multi Monitors Add-On Overview integration\n\nCaveat: may clash with other extensions that modify overview experience", "link": "https://extensions.gnome.org/extension/2802/overview-improved/", "shell_version_map": {"38": {"version": "8", "sha256": "0pzk6kzhbm15rmd540gv2sc0yqbiv31lil4ra3k5k7cpnr9ipsy6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmVkLCBtb3JlIFVuaXR5IGxpa2Ugb3ZlcnZpZXdcblxuKiBEYXNoLVRvLURvY2sgb3IgVWJ1bnR1IERvY2sgaW50ZWdyYXRpb24gY3JlYXRlcyBVbml0eS1saWtlIGV4cGVyaWVuY2Ugc2hvd2luZyB3aW5kb3dzIG9mIHNwZWNpZmljIHR5cGVcbiogV2luZG93cyBzZWFyY2ggaW4gb3ZlcnZpZXdcbkNvbmZpZ3VyYWJsZSBrZXliaW5kaW5nIChTdXBlcit3KSB0byB0cmlnZ2VyIGN1cnJlbnQgd2luZG93IG92ZXJsYXlcbiogQ2xpY2tpbmcgZW1wdHkgc3BhY2UgaW4gb3ZlcnZpZXcgY2xvc2VzXG4qIERvIG5vdCBzaG93IG92ZXJ2aWV3IHdoZW4gc2hvd2luZyBhcHBsaWNhdGlvbiBvbiBtdWx0aXBsZSBtb25pdG9yc1xuKiBNdWx0aSBNb25pdG9ycyBBZGQtT24gT3ZlcnZpZXcgaW50ZWdyYXRpb25cblxuQ2F2ZWF0OiBtYXkgY2xhc2ggd2l0aCBvdGhlciBleHRlbnNpb25zIHRoYXQgbW9kaWZ5IG92ZXJ2aWV3IGV4cGVyaWVuY2UiLAogICJuYW1lIjogIk92ZXJ2aWV3IEltcHJvdmVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm92ZXJ2aWV3LWltcHJvdmVkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2NvZGViZXJnLm9yZy9odW1hbi5leHBlcmllbmNlL2dub21lLXNoZWxsLW92ZXJ2aWV3LWltcHJvdmVkIiwKICAidXVpZCI6ICJvdmVydmlldy1pbXByb3ZlZEBodW1hbi5leHBlcmllbmNlIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "brightnesspanelmenuindicator@do.sch.dev.gmail.com", "name": "Brightness Panel Menu Indicator", "pname": "brightness-panel-menu-indicator", "description": "If a backlight device is available, this extension shows a brightness indicator on panel menu, that allows changing brightness through scrolling on it. Useful, when using ddcci-driver-linux on a desktop PC without native keyboard buttons to change brightness.", "link": "https://extensions.gnome.org/extension/2808/brightness-panel-menu-indicator/", "shell_version_map": {"38": {"version": "4", "sha256": "14c6klkpi0y6lxi0vkpgq86kjwf2ckkjl80530sybqfbfvbcffvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklmIGEgYmFja2xpZ2h0IGRldmljZSBpcyBhdmFpbGFibGUsIHRoaXMgZXh0ZW5zaW9uIHNob3dzIGEgYnJpZ2h0bmVzcyBpbmRpY2F0b3Igb24gcGFuZWwgbWVudSwgdGhhdCBhbGxvd3MgY2hhbmdpbmcgYnJpZ2h0bmVzcyB0aHJvdWdoIHNjcm9sbGluZyBvbiBpdC4gVXNlZnVsLCB3aGVuIHVzaW5nIGRkY2NpLWRyaXZlci1saW51eCBvbiBhIGRlc2t0b3AgUEMgd2l0aG91dCBuYXRpdmUga2V5Ym9hcmQgYnV0dG9ucyB0byBjaGFuZ2UgYnJpZ2h0bmVzcy4iLAogICJuYW1lIjogIkJyaWdodG5lc3MgUGFuZWwgTWVudSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RvLXNjaC9nbm9tZS1zaGVsbC1icmlnaHRuZXNzLXBhbmVsLW1lbnUtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJicmlnaHRuZXNzcGFuZWxtZW51aW5kaWNhdG9yQGRvLnNjaC5kZXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "14c6klkpi0y6lxi0vkpgq86kjwf2ckkjl80530sybqfbfvbcffvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklmIGEgYmFja2xpZ2h0IGRldmljZSBpcyBhdmFpbGFibGUsIHRoaXMgZXh0ZW5zaW9uIHNob3dzIGEgYnJpZ2h0bmVzcyBpbmRpY2F0b3Igb24gcGFuZWwgbWVudSwgdGhhdCBhbGxvd3MgY2hhbmdpbmcgYnJpZ2h0bmVzcyB0aHJvdWdoIHNjcm9sbGluZyBvbiBpdC4gVXNlZnVsLCB3aGVuIHVzaW5nIGRkY2NpLWRyaXZlci1saW51eCBvbiBhIGRlc2t0b3AgUEMgd2l0aG91dCBuYXRpdmUga2V5Ym9hcmQgYnV0dG9ucyB0byBjaGFuZ2UgYnJpZ2h0bmVzcy4iLAogICJuYW1lIjogIkJyaWdodG5lc3MgUGFuZWwgTWVudSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RvLXNjaC9nbm9tZS1zaGVsbC1icmlnaHRuZXNzLXBhbmVsLW1lbnUtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJicmlnaHRuZXNzcGFuZWxtZW51aW5kaWNhdG9yQGRvLnNjaC5kZXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "14c6klkpi0y6lxi0vkpgq86kjwf2ckkjl80530sybqfbfvbcffvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklmIGEgYmFja2xpZ2h0IGRldmljZSBpcyBhdmFpbGFibGUsIHRoaXMgZXh0ZW5zaW9uIHNob3dzIGEgYnJpZ2h0bmVzcyBpbmRpY2F0b3Igb24gcGFuZWwgbWVudSwgdGhhdCBhbGxvd3MgY2hhbmdpbmcgYnJpZ2h0bmVzcyB0aHJvdWdoIHNjcm9sbGluZyBvbiBpdC4gVXNlZnVsLCB3aGVuIHVzaW5nIGRkY2NpLWRyaXZlci1saW51eCBvbiBhIGRlc2t0b3AgUEMgd2l0aG91dCBuYXRpdmUga2V5Ym9hcmQgYnV0dG9ucyB0byBjaGFuZ2UgYnJpZ2h0bmVzcy4iLAogICJuYW1lIjogIkJyaWdodG5lc3MgUGFuZWwgTWVudSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RvLXNjaC9nbm9tZS1zaGVsbC1icmlnaHRuZXNzLXBhbmVsLW1lbnUtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJicmlnaHRuZXNzcGFuZWxtZW51aW5kaWNhdG9yQGRvLnNjaC5kZXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"uuid": "crypto@alipirpiran.github", "name": "Crypto Price Tracker", "pname": "crypto-price-tracker", "description": "Simple extension to track price of Crypto Currencies\n\nadd coins by Binance symbols, for example: \"BTCUSDT\"\ncomplete list on binance: https://www.binance.com/indexSpa.html", "link": "https://extensions.gnome.org/extension/2817/crypto-price-tracker/", "shell_version_map": {"40": {"version": "13", "sha256": "1kiq0h3vyw9nvc6al0w892khmc99bmaafb21rm6zin6qpm22dz7r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcblxuYWRkIGNvaW5zIGJ5IEJpbmFuY2Ugc3ltYm9scywgZm9yIGV4YW1wbGU6IFwiQlRDVVNEVFwiXG5jb21wbGV0ZSBsaXN0IG9uIGJpbmFuY2U6IGh0dHBzOi8vd3d3LmJpbmFuY2UuY29tL2luZGV4U3BhLmh0bWwiLAogICJuYW1lIjogIkNyeXB0byBQcmljZSBUcmFja2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNyeXB0by10cmFja2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsaXBpcnBpcmFuL0NyeXB0by1QcmljZS1UcmFja2VyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiY3J5cHRvQGFsaXBpcnBpcmFuLmdpdGh1YiIsCiAgInZlcnNpb24iOiAxMwp9"}}}
+, {"uuid": "crypto@alipirpiran.github", "name": "Crypto Price Tracker", "pname": "crypto-price-tracker", "description": "Simple extension to track price of Crypto Currencies\n\nadd coins by Binance symbols, for example: \"BTC/USDT\"\ncomplete list on binance: https://www.binance.com/indexSpa.html\n*\n** If it faced error after update:\n**Restart Gnome-shell. (ALT+F2, r, Enter)\n*", "link": "https://extensions.gnome.org/extension/2817/crypto-price-tracker/", "shell_version_map": {"40": {"version": "15", "sha256": "1smgc04n6vr92gr919w1b9zc2rj2rvvnc9j2hvlkzh0dvf8zxk16", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcblxuYWRkIGNvaW5zIGJ5IEJpbmFuY2Ugc3ltYm9scywgZm9yIGV4YW1wbGU6IFwiQlRDL1VTRFRcIlxuY29tcGxldGUgbGlzdCBvbiBiaW5hbmNlOiBodHRwczovL3d3dy5iaW5hbmNlLmNvbS9pbmRleFNwYS5odG1sXG4qXG4qKiBJZiBpdCBmYWNlZCBlcnJvciBhZnRlciB1cGRhdGU6XG4qKlJlc3RhcnQgR25vbWUtc2hlbGwuIChBTFQrRjIsIHIsIEVudGVyKVxuKiIsCiAgIm5hbWUiOiAiQ3J5cHRvIFByaWNlIFRyYWNrZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3J5cHRvLXRyYWNrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsaXBpcnBpcmFuL0NyeXB0by1QcmljZS1UcmFja2VyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiY3J5cHRvQGFsaXBpcnBpcmFuLmdpdGh1YiIsCiAgInZlcnNpb24iOiAxNQp9"}, "41": {"version": "15", "sha256": "1smgc04n6vr92gr919w1b9zc2rj2rvvnc9j2hvlkzh0dvf8zxk16", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcblxuYWRkIGNvaW5zIGJ5IEJpbmFuY2Ugc3ltYm9scywgZm9yIGV4YW1wbGU6IFwiQlRDL1VTRFRcIlxuY29tcGxldGUgbGlzdCBvbiBiaW5hbmNlOiBodHRwczovL3d3dy5iaW5hbmNlLmNvbS9pbmRleFNwYS5odG1sXG4qXG4qKiBJZiBpdCBmYWNlZCBlcnJvciBhZnRlciB1cGRhdGU6XG4qKlJlc3RhcnQgR25vbWUtc2hlbGwuIChBTFQrRjIsIHIsIEVudGVyKVxuKiIsCiAgIm5hbWUiOiAiQ3J5cHRvIFByaWNlIFRyYWNrZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY3J5cHRvLXRyYWNrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsaXBpcnBpcmFuL0NyeXB0by1QcmljZS1UcmFja2VyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiY3J5cHRvQGFsaXBpcnBpcmFuLmdpdGh1YiIsCiAgInZlcnNpb24iOiAxNQp9"}}}
 , {"uuid": "ibus-tweaker@tuberry.github.com", "name": "IBus Tweaker", "pname": "ibus-tweaker", "description": "Tweaker of IBus for orientation, theme, font, input mode and clipboard history\n\nFor support, please report any issues via the homepage link below.", "link": "https://extensions.gnome.org/extension/2820/ibus-tweaker/", "shell_version_map": {"38": {"version": "28", "sha256": "1ahhcq8hpxkdvq1fp8gd8qp1cfsgqsm9swn4ph9kyrzr7j8jvc3k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrZXIgb2YgSUJ1cyBmb3Igb3JpZW50YXRpb24sIHRoZW1lLCBmb250LCBpbnB1dCBtb2RlIGFuZCBjbGlwYm9hcmQgaGlzdG9yeVxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpYnVzLXR3ZWFrZXIiLAogICJuYW1lIjogIklCdXMgVHdlYWtlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5pYnVzLXR3ZWFrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L2lidXMtdHdlYWtlciIsCiAgInV1aWQiOiAiaWJ1cy10d2Vha2VyQHR1YmVycnkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyOAp9"}, "40": {"version": "34", "sha256": "0fs0hlxdnhssx9vcghbicg1fn3clws9q2f3nzdi4virpm8wksf3f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrZXIgb2YgSUJ1cyBmb3Igb3JpZW50YXRpb24sIHRoZW1lLCBmb250LCBpbnB1dCBtb2RlIGFuZCBjbGlwYm9hcmQgaGlzdG9yeVxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpYnVzLXR3ZWFrZXIiLAogICJuYW1lIjogIklCdXMgVHdlYWtlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5pYnVzLXR3ZWFrZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS9pYnVzLXR3ZWFrZXIiLAogICJ1dWlkIjogImlidXMtdHdlYWtlckB0dWJlcnJ5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}, "41": {"version": "36", "sha256": "0f819v8n1rvvwrir7qf8fp0bvn5zk899lpc4dr8f9jk9g8w57q7d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrZXIgb2YgSUJ1cyBmb3Igb3JpZW50YXRpb24sIHRoZW1lLCBmb250LCBpbnB1dCBtb2RlIGFuZCBjbGlwYm9hcmQgaGlzdG9yeVxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24taWJ1cy10d2Vha2VyIiwKICAibmFtZSI6ICJJQnVzIFR3ZWFrZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaWJ1cy10d2Vha2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvaWJ1cy10d2Vha2VyIiwKICAidXVpZCI6ICJpYnVzLXR3ZWFrZXJAdHViZXJyeS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDM2Cn0="}, "42": {"version": "38", "sha256": "0crdw1z2yan0mbc36v8vw0iinqbv4lyqzsvdyhz8zsi9q4asrlg6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrZXIgb2YgSUJ1cyBmb3Igb3JpZW50YXRpb24sIHRoZW1lLCBmb250LCBpbnB1dCBtb2RlIGFuZCBjbGlwYm9hcmQgaGlzdG9yeVxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24taWJ1cy10d2Vha2VyIiwKICAibmFtZSI6ICJJQnVzIFR3ZWFrZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaWJ1cy10d2Vha2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvaWJ1cy10d2Vha2VyIiwKICAidXVpZCI6ICJpYnVzLXR3ZWFrZXJAdHViZXJyeS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDM4Cn0="}}}
 , {"uuid": "generic-monitor@gnome-shell-extensions", "name": "Generic Monitor", "pname": "generic-monitor", "description": "Display text & icon on systray using DBUS", "link": "https://extensions.gnome.org/extension/2826/generic-monitor/", "shell_version_map": {"38": {"version": "9", "sha256": "1gryq7agphzkcfnf3q4x4azp1d0wa0pim8xasddmdgk922qfb41q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGV4dCAmIGljb24gb24gc3lzdHJheSB1c2luZyBEQlVTIiwKICAibmFtZSI6ICJHZW5lcmljIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cDovL2luZGVmZXJvLnNvdXRhZGUuZnIvcC9nZW5lcmljbW9uaXRvciIsCiAgInV1aWQiOiAiZ2VuZXJpYy1tb25pdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ2ZXJzaW9uIjogOQp9"}, "40": {"version": "9", "sha256": "1gryq7agphzkcfnf3q4x4azp1d0wa0pim8xasddmdgk922qfb41q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGV4dCAmIGljb24gb24gc3lzdHJheSB1c2luZyBEQlVTIiwKICAibmFtZSI6ICJHZW5lcmljIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cDovL2luZGVmZXJvLnNvdXRhZGUuZnIvcC9nZW5lcmljbW9uaXRvciIsCiAgInV1aWQiOiAiZ2VuZXJpYy1tb25pdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ2ZXJzaW9uIjogOQp9"}, "41": {"version": "9", "sha256": "1gryq7agphzkcfnf3q4x4azp1d0wa0pim8xasddmdgk922qfb41q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGV4dCAmIGljb24gb24gc3lzdHJheSB1c2luZyBEQlVTIiwKICAibmFtZSI6ICJHZW5lcmljIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cDovL2luZGVmZXJvLnNvdXRhZGUuZnIvcC9nZW5lcmljbW9uaXRvciIsCiAgInV1aWQiOiAiZ2VuZXJpYy1tb25pdG9yQGdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ2ZXJzaW9uIjogOQp9"}}}
-, {"uuid": "hide-keyboard-layout@sitnik.ru", "name": "Hide Keyboard Layout", "pname": "hide-keyboard-layout", "description": "Hide keyboard layout indicator in status bar", "link": "https://extensions.gnome.org/extension/2848/hide-keyboard-layout/", "shell_version_map": {"38": {"version": "3", "sha256": "06l7x3nhrabiii93zgpxv4qyd525sxxn687x6lraxqlx1i824qzd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUga2V5Ym9hcmQgbGF5b3V0IGluZGljYXRvciBpbiBzdGF0dXMgYmFyIiwKICAibmFtZSI6ICJIaWRlIEtleWJvYXJkIExheW91dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWkvaGlkZS1rZXlib2FyZC1sYXlvdXQiLAogICJ1dWlkIjogImhpZGUta2V5Ym9hcmQtbGF5b3V0QHNpdG5pay5ydSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "06l7x3nhrabiii93zgpxv4qyd525sxxn687x6lraxqlx1i824qzd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUga2V5Ym9hcmQgbGF5b3V0IGluZGljYXRvciBpbiBzdGF0dXMgYmFyIiwKICAibmFtZSI6ICJIaWRlIEtleWJvYXJkIExheW91dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWkvaGlkZS1rZXlib2FyZC1sYXlvdXQiLAogICJ1dWlkIjogImhpZGUta2V5Ym9hcmQtbGF5b3V0QHNpdG5pay5ydSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "06l7x3nhrabiii93zgpxv4qyd525sxxn687x6lraxqlx1i824qzd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUga2V5Ym9hcmQgbGF5b3V0IGluZGljYXRvciBpbiBzdGF0dXMgYmFyIiwKICAibmFtZSI6ICJIaWRlIEtleWJvYXJkIExheW91dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWkvaGlkZS1rZXlib2FyZC1sYXlvdXQiLAogICJ1dWlkIjogImhpZGUta2V5Ym9hcmQtbGF5b3V0QHNpdG5pay5ydSIsCiAgInZlcnNpb24iOiAzCn0="}}}
+, {"uuid": "hide-keyboard-layout@sitnik.ru", "name": "Hide Keyboard Layout", "pname": "hide-keyboard-layout", "description": "Hide keyboard layout indicator in status bar", "link": "https://extensions.gnome.org/extension/2848/hide-keyboard-layout/", "shell_version_map": {"38": {"version": "4", "sha256": "01cb7rjbsvg1d0ns70mdfmbac1bad5rb96dkjnbv6p97351d92hj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUga2V5Ym9hcmQgbGF5b3V0IGluZGljYXRvciBpbiBzdGF0dXMgYmFyIiwKICAibmFtZSI6ICJIaWRlIEtleWJvYXJkIExheW91dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FpL2hpZGUta2V5Ym9hcmQtbGF5b3V0IiwKICAidXVpZCI6ICJoaWRlLWtleWJvYXJkLWxheW91dEBzaXRuaWsucnUiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "01cb7rjbsvg1d0ns70mdfmbac1bad5rb96dkjnbv6p97351d92hj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUga2V5Ym9hcmQgbGF5b3V0IGluZGljYXRvciBpbiBzdGF0dXMgYmFyIiwKICAibmFtZSI6ICJIaWRlIEtleWJvYXJkIExheW91dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FpL2hpZGUta2V5Ym9hcmQtbGF5b3V0IiwKICAidXVpZCI6ICJoaWRlLWtleWJvYXJkLWxheW91dEBzaXRuaWsucnUiLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "01cb7rjbsvg1d0ns70mdfmbac1bad5rb96dkjnbv6p97351d92hj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUga2V5Ym9hcmQgbGF5b3V0IGluZGljYXRvciBpbiBzdGF0dXMgYmFyIiwKICAibmFtZSI6ICJIaWRlIEtleWJvYXJkIExheW91dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FpL2hpZGUta2V5Ym9hcmQtbGF5b3V0IiwKICAidXVpZCI6ICJoaWRlLWtleWJvYXJkLWxheW91dEBzaXRuaWsucnUiLAogICJ2ZXJzaW9uIjogNAp9"}, "42": {"version": "4", "sha256": "01cb7rjbsvg1d0ns70mdfmbac1bad5rb96dkjnbv6p97351d92hj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUga2V5Ym9hcmQgbGF5b3V0IGluZGljYXRvciBpbiBzdGF0dXMgYmFyIiwKICAibmFtZSI6ICJIaWRlIEtleWJvYXJkIExheW91dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FpL2hpZGUta2V5Ym9hcmQtbGF5b3V0IiwKICAidXVpZCI6ICJoaWRlLWtleWJvYXJkLWxheW91dEBzaXRuaWsucnUiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "poweroff-button-on-topbar@darknico.com", "name": "Poweroff Button on Topbar", "pname": "poweroff-button-on-topbar", "description": "Add poweroff button on topbar", "link": "https://extensions.gnome.org/extension/2851/poweroff-button-on-topbar/", "shell_version_map": {"38": {"version": "4", "sha256": "1x3d68pflicccxiqlwiflxrw5xnnw4096bdh7hypi40jdw3b5njz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBwb3dlcm9mZiBidXR0b24gb24gdG9wYmFyIiwKICAibmFtZSI6ICJQb3dlcm9mZiBCdXR0b24gb24gVG9wYmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0RhcmtuaWNvL0dOT01FLVNoZWxsLUV4dGVuc2lvbnMiLAogICJ1dWlkIjogInBvd2Vyb2ZmLWJ1dHRvbi1vbi10b3BiYXJAZGFya25pY28uY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "1x3d68pflicccxiqlwiflxrw5xnnw4096bdh7hypi40jdw3b5njz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBwb3dlcm9mZiBidXR0b24gb24gdG9wYmFyIiwKICAibmFtZSI6ICJQb3dlcm9mZiBCdXR0b24gb24gVG9wYmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0RhcmtuaWNvL0dOT01FLVNoZWxsLUV4dGVuc2lvbnMiLAogICJ1dWlkIjogInBvd2Vyb2ZmLWJ1dHRvbi1vbi10b3BiYXJAZGFya25pY28uY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "maximize-to-workspace@raonetwo.github.com", "name": "Maximize To Workspace With History", "pname": "maximize-to-workspace-with-history", "description": "Like MacOS, puts window in a new workspace when its maximized or full-screened and brings you back to original workspace when its unmaximized or unfull-screened or closed. \n\nRecommended to use with touchegg/fusuma/libinput multi finger swipe gestures.", "link": "https://extensions.gnome.org/extension/2857/maximize-to-workspace-with-history/", "shell_version_map": {"38": {"version": "21", "sha256": "1m1vhscnflmlhscinj4nipybhkps213sh2s9qpp4bxm9h9waihww", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpa2UgTWFjT1MsIHB1dHMgd2luZG93IGluIGEgbmV3IHdvcmtzcGFjZSB3aGVuIGl0cyBtYXhpbWl6ZWQgb3IgZnVsbC1zY3JlZW5lZCBhbmQgYnJpbmdzIHlvdSBiYWNrIHRvIG9yaWdpbmFsIHdvcmtzcGFjZSB3aGVuIGl0cyB1bm1heGltaXplZCBvciB1bmZ1bGwtc2NyZWVuZWQgb3IgY2xvc2VkLiBcblxuUmVjb21tZW5kZWQgdG8gdXNlIHdpdGggdG91Y2hlZ2cvZnVzdW1hL2xpYmlucHV0IG11bHRpIGZpbmdlciBzd2lwZSBnZXN0dXJlcy4iLAogICJuYW1lIjogIk1heGltaXplIFRvIFdvcmtzcGFjZSBXaXRoIEhpc3RvcnkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yYW9uZXR3by9NYXhpbWl6ZVRvV29ya3NwYWNlIiwKICAidXVpZCI6ICJtYXhpbWl6ZS10by13b3Jrc3BhY2VAcmFvbmV0d28uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMQp9"}, "40": {"version": "21", "sha256": "1m1vhscnflmlhscinj4nipybhkps213sh2s9qpp4bxm9h9waihww", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpa2UgTWFjT1MsIHB1dHMgd2luZG93IGluIGEgbmV3IHdvcmtzcGFjZSB3aGVuIGl0cyBtYXhpbWl6ZWQgb3IgZnVsbC1zY3JlZW5lZCBhbmQgYnJpbmdzIHlvdSBiYWNrIHRvIG9yaWdpbmFsIHdvcmtzcGFjZSB3aGVuIGl0cyB1bm1heGltaXplZCBvciB1bmZ1bGwtc2NyZWVuZWQgb3IgY2xvc2VkLiBcblxuUmVjb21tZW5kZWQgdG8gdXNlIHdpdGggdG91Y2hlZ2cvZnVzdW1hL2xpYmlucHV0IG11bHRpIGZpbmdlciBzd2lwZSBnZXN0dXJlcy4iLAogICJuYW1lIjogIk1heGltaXplIFRvIFdvcmtzcGFjZSBXaXRoIEhpc3RvcnkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yYW9uZXR3by9NYXhpbWl6ZVRvV29ya3NwYWNlIiwKICAidXVpZCI6ICJtYXhpbWl6ZS10by13b3Jrc3BhY2VAcmFvbmV0d28uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMQp9"}}}
 , {"uuid": "activities_icons@fawtytoo", "name": "Activities Icons", "pname": "activities-icons", "description": "The Activities button becomes 2 icons for selecting either Applications or Workspaces in the overview. Selecting the same view again will hide the overview.\nScrolling on the icons allows switching windows on a workspace or cycling through the Workspaces.", "link": "https://extensions.gnome.org/extension/2872/activities-icons/", "shell_version_map": {"38": {"version": "8", "sha256": "048ckyp65iv7hcb1qq4c1qfp9hwxh2fagn87hmzmvi5km14l0dba", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBiZWNvbWVzIDIgaWNvbnMgZm9yIHNlbGVjdGluZyBlaXRoZXIgQXBwbGljYXRpb25zIG9yIFdvcmtzcGFjZXMgaW4gdGhlIG92ZXJ2aWV3LiBTZWxlY3RpbmcgdGhlIHNhbWUgdmlldyBhZ2FpbiB3aWxsIGhpZGUgdGhlIG92ZXJ2aWV3LlxuU2Nyb2xsaW5nIG9uIHRoZSBpY29ucyBhbGxvd3Mgc3dpdGNoaW5nIHdpbmRvd3Mgb24gYSB3b3Jrc3BhY2Ugb3IgY3ljbGluZyB0aHJvdWdoIHRoZSBXb3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBJY29ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmF3dHl0b28vYWN0aXZpdGllcy1pY29ucyIsCiAgInV1aWQiOiAiYWN0aXZpdGllc19pY29uc0BmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA4Cn0="}, "40": {"version": "8", "sha256": "048ckyp65iv7hcb1qq4c1qfp9hwxh2fagn87hmzmvi5km14l0dba", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBiZWNvbWVzIDIgaWNvbnMgZm9yIHNlbGVjdGluZyBlaXRoZXIgQXBwbGljYXRpb25zIG9yIFdvcmtzcGFjZXMgaW4gdGhlIG92ZXJ2aWV3LiBTZWxlY3RpbmcgdGhlIHNhbWUgdmlldyBhZ2FpbiB3aWxsIGhpZGUgdGhlIG92ZXJ2aWV3LlxuU2Nyb2xsaW5nIG9uIHRoZSBpY29ucyBhbGxvd3Mgc3dpdGNoaW5nIHdpbmRvd3Mgb24gYSB3b3Jrc3BhY2Ugb3IgY3ljbGluZyB0aHJvdWdoIHRoZSBXb3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBJY29ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmF3dHl0b28vYWN0aXZpdGllcy1pY29ucyIsCiAgInV1aWQiOiAiYWN0aXZpdGllc19pY29uc0BmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA4Cn0="}, "41": {"version": "8", "sha256": "048ckyp65iv7hcb1qq4c1qfp9hwxh2fagn87hmzmvi5km14l0dba", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBiZWNvbWVzIDIgaWNvbnMgZm9yIHNlbGVjdGluZyBlaXRoZXIgQXBwbGljYXRpb25zIG9yIFdvcmtzcGFjZXMgaW4gdGhlIG92ZXJ2aWV3LiBTZWxlY3RpbmcgdGhlIHNhbWUgdmlldyBhZ2FpbiB3aWxsIGhpZGUgdGhlIG92ZXJ2aWV3LlxuU2Nyb2xsaW5nIG9uIHRoZSBpY29ucyBhbGxvd3Mgc3dpdGNoaW5nIHdpbmRvd3Mgb24gYSB3b3Jrc3BhY2Ugb3IgY3ljbGluZyB0aHJvdWdoIHRoZSBXb3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBJY29ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmF3dHl0b28vYWN0aXZpdGllcy1pY29ucyIsCiAgInV1aWQiOiAiYWN0aXZpdGllc19pY29uc0BmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA4Cn0="}}}
@@ -298,25 +299,25 @@
 , {"uuid": "SettingsCenter@lauinger-clan.de", "name": "SettingsCenter", "pname": "settingscenter", "description": "Settings Center is a customizable drop-down menu for quickly launching frequently used apps in Gnome:Shell via the user/aggregate menu. Originally created by XES.\n\nv10: fix for older versions, i havent tested this on anything below 3.10, v9: minor cleanup, now has an icon for the main menu entry. \n\nSettings shortcuts : gnome-tweak-tool, dconf-editor, gconf-editor, gnome-session-properties, gnome-shell-extension-prefs, seahorse and nvidia-settings. You can add your own\n\nOriginal source : http://svn.xesnet.fr/gnomeextensions (3.8 replace Settings code credit IsacDaavid)\n\nCredit to @peaceseeker for updating this with a working repo, i do wish it could have been pushed to me but my blank repo was deleted as it was stale, i failed to push to git before going back to work around 1.5 years ago and i hadn't been active enough to notice anything other than emails(these things help people!)", "link": "https://extensions.gnome.org/extension/2899/settingscenter/", "shell_version_map": {"38": {"version": "2", "sha256": "150x8xp9xm28scw5lcmxq7xcfa17wbzy2y381xsv0mv0b03kvyqy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldHRpbmdzIENlbnRlciBpcyBhIGN1c3RvbWl6YWJsZSBkcm9wLWRvd24gbWVudSBmb3IgcXVpY2tseSBsYXVuY2hpbmcgZnJlcXVlbnRseSB1c2VkIGFwcHMgaW4gR25vbWU6U2hlbGwgdmlhIHRoZSB1c2VyL2FnZ3JlZ2F0ZSBtZW51LiBPcmlnaW5hbGx5IGNyZWF0ZWQgYnkgWEVTLlxuXG52MTA6IGZpeCBmb3Igb2xkZXIgdmVyc2lvbnMsIGkgaGF2ZW50IHRlc3RlZCB0aGlzIG9uIGFueXRoaW5nIGJlbG93IDMuMTAsIHY5OiBtaW5vciBjbGVhbnVwLCBub3cgaGFzIGFuIGljb24gZm9yIHRoZSBtYWluIG1lbnUgZW50cnkuIFxuXG5TZXR0aW5ncyBzaG9ydGN1dHMgOiBnbm9tZS10d2Vhay10b29sLCBkY29uZi1lZGl0b3IsIGdjb25mLWVkaXRvciwgZ25vbWUtc2Vzc2lvbi1wcm9wZXJ0aWVzLCBnbm9tZS1zaGVsbC1leHRlbnNpb24tcHJlZnMsIHNlYWhvcnNlIGFuZCBudmlkaWEtc2V0dGluZ3MuIFlvdSBjYW4gYWRkIHlvdXIgb3duXG5cbk9yaWdpbmFsIHNvdXJjZSA6IGh0dHA6Ly9zdm4ueGVzbmV0LmZyL2dub21lZXh0ZW5zaW9ucyAoMy44IHJlcGxhY2UgU2V0dGluZ3MgY29kZSBjcmVkaXQgSXNhY0RhYXZpZClcblxuQ3JlZGl0IHRvIEBwZWFjZXNlZWtlciBmb3IgdXBkYXRpbmcgdGhpcyB3aXRoIGEgd29ya2luZyByZXBvLCBpIGRvIHdpc2ggaXQgY291bGQgaGF2ZSBiZWVuIHB1c2hlZCB0byBtZSBidXQgbXkgYmxhbmsgcmVwbyB3YXMgZGVsZXRlZCBhcyBpdCB3YXMgc3RhbGUsIGkgZmFpbGVkIHRvIHB1c2ggdG8gZ2l0IGJlZm9yZSBnb2luZyBiYWNrIHRvIHdvcmsgYXJvdW5kIDEuNSB5ZWFycyBhZ28gYW5kIGkgaGFkbid0IGJlZW4gYWN0aXZlIGVub3VnaCB0byBub3RpY2UgYW55dGhpbmcgb3RoZXIgdGhhbiBlbWFpbHModGhlc2UgdGhpbmdzIGhlbHAgcGVvcGxlISkiLAogICJsb2NhbGUiOiAiL3Vzci9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlNldHRpbmdzQ2VudGVyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIlhlcywgbDMwMGx2bCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuNS40IiwKICAgICIzLjgiLAogICAgIjMuMTAiLAogICAgIjMuMTIiLAogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9DaHJpc0xhdWluZ2VyNzcvWEVTLVNldHRpbmdzLUNlbnRlci1FeHRlbnNpb24iLAogICJ1dWlkIjogIlNldHRpbmdzQ2VudGVyQGxhdWluZ2VyLWNsYW4uZGUiLAogICJ2ZXJzaW9uIjogMgp9"}, "40": {"version": "9", "sha256": "1687rhzy0ckpfph1x7ga05wmg6515p5y5yd5sq585hc8y2bclp7m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldHRpbmdzIENlbnRlciBpcyBhIGN1c3RvbWl6YWJsZSBkcm9wLWRvd24gbWVudSBmb3IgcXVpY2tseSBsYXVuY2hpbmcgZnJlcXVlbnRseSB1c2VkIGFwcHMgaW4gR25vbWU6U2hlbGwgdmlhIHRoZSB1c2VyL2FnZ3JlZ2F0ZSBtZW51LiBPcmlnaW5hbGx5IGNyZWF0ZWQgYnkgWEVTLlxuXG52MTA6IGZpeCBmb3Igb2xkZXIgdmVyc2lvbnMsIGkgaGF2ZW50IHRlc3RlZCB0aGlzIG9uIGFueXRoaW5nIGJlbG93IDMuMTAsIHY5OiBtaW5vciBjbGVhbnVwLCBub3cgaGFzIGFuIGljb24gZm9yIHRoZSBtYWluIG1lbnUgZW50cnkuIFxuXG5TZXR0aW5ncyBzaG9ydGN1dHMgOiBnbm9tZS10d2Vhay10b29sLCBkY29uZi1lZGl0b3IsIGdjb25mLWVkaXRvciwgZ25vbWUtc2Vzc2lvbi1wcm9wZXJ0aWVzLCBnbm9tZS1zaGVsbC1leHRlbnNpb24tcHJlZnMsIHNlYWhvcnNlIGFuZCBudmlkaWEtc2V0dGluZ3MuIFlvdSBjYW4gYWRkIHlvdXIgb3duXG5cbk9yaWdpbmFsIHNvdXJjZSA6IGh0dHA6Ly9zdm4ueGVzbmV0LmZyL2dub21lZXh0ZW5zaW9ucyAoMy44IHJlcGxhY2UgU2V0dGluZ3MgY29kZSBjcmVkaXQgSXNhY0RhYXZpZClcblxuQ3JlZGl0IHRvIEBwZWFjZXNlZWtlciBmb3IgdXBkYXRpbmcgdGhpcyB3aXRoIGEgd29ya2luZyByZXBvLCBpIGRvIHdpc2ggaXQgY291bGQgaGF2ZSBiZWVuIHB1c2hlZCB0byBtZSBidXQgbXkgYmxhbmsgcmVwbyB3YXMgZGVsZXRlZCBhcyBpdCB3YXMgc3RhbGUsIGkgZmFpbGVkIHRvIHB1c2ggdG8gZ2l0IGJlZm9yZSBnb2luZyBiYWNrIHRvIHdvcmsgYXJvdW5kIDEuNSB5ZWFycyBhZ28gYW5kIGkgaGFkbid0IGJlZW4gYWN0aXZlIGVub3VnaCB0byBub3RpY2UgYW55dGhpbmcgb3RoZXIgdGhhbiBlbWFpbHModGhlc2UgdGhpbmdzIGhlbHAgcGVvcGxlISkiLAogICJsb2NhbGUiOiAiL3Vzci9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlNldHRpbmdzQ2VudGVyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIlhlcywgbDMwMGx2bCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0NocmlzTGF1aW5nZXI3Ny9YRVMtU2V0dGluZ3MtQ2VudGVyLUV4dGVuc2lvbiIsCiAgInV1aWQiOiAiU2V0dGluZ3NDZW50ZXJAbGF1aW5nZXItY2xhbi5kZSIsCiAgInZlcnNpb24iOiA5Cn0="}, "41": {"version": "9", "sha256": "1687rhzy0ckpfph1x7ga05wmg6515p5y5yd5sq585hc8y2bclp7m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldHRpbmdzIENlbnRlciBpcyBhIGN1c3RvbWl6YWJsZSBkcm9wLWRvd24gbWVudSBmb3IgcXVpY2tseSBsYXVuY2hpbmcgZnJlcXVlbnRseSB1c2VkIGFwcHMgaW4gR25vbWU6U2hlbGwgdmlhIHRoZSB1c2VyL2FnZ3JlZ2F0ZSBtZW51LiBPcmlnaW5hbGx5IGNyZWF0ZWQgYnkgWEVTLlxuXG52MTA6IGZpeCBmb3Igb2xkZXIgdmVyc2lvbnMsIGkgaGF2ZW50IHRlc3RlZCB0aGlzIG9uIGFueXRoaW5nIGJlbG93IDMuMTAsIHY5OiBtaW5vciBjbGVhbnVwLCBub3cgaGFzIGFuIGljb24gZm9yIHRoZSBtYWluIG1lbnUgZW50cnkuIFxuXG5TZXR0aW5ncyBzaG9ydGN1dHMgOiBnbm9tZS10d2Vhay10b29sLCBkY29uZi1lZGl0b3IsIGdjb25mLWVkaXRvciwgZ25vbWUtc2Vzc2lvbi1wcm9wZXJ0aWVzLCBnbm9tZS1zaGVsbC1leHRlbnNpb24tcHJlZnMsIHNlYWhvcnNlIGFuZCBudmlkaWEtc2V0dGluZ3MuIFlvdSBjYW4gYWRkIHlvdXIgb3duXG5cbk9yaWdpbmFsIHNvdXJjZSA6IGh0dHA6Ly9zdm4ueGVzbmV0LmZyL2dub21lZXh0ZW5zaW9ucyAoMy44IHJlcGxhY2UgU2V0dGluZ3MgY29kZSBjcmVkaXQgSXNhY0RhYXZpZClcblxuQ3JlZGl0IHRvIEBwZWFjZXNlZWtlciBmb3IgdXBkYXRpbmcgdGhpcyB3aXRoIGEgd29ya2luZyByZXBvLCBpIGRvIHdpc2ggaXQgY291bGQgaGF2ZSBiZWVuIHB1c2hlZCB0byBtZSBidXQgbXkgYmxhbmsgcmVwbyB3YXMgZGVsZXRlZCBhcyBpdCB3YXMgc3RhbGUsIGkgZmFpbGVkIHRvIHB1c2ggdG8gZ2l0IGJlZm9yZSBnb2luZyBiYWNrIHRvIHdvcmsgYXJvdW5kIDEuNSB5ZWFycyBhZ28gYW5kIGkgaGFkbid0IGJlZW4gYWN0aXZlIGVub3VnaCB0byBub3RpY2UgYW55dGhpbmcgb3RoZXIgdGhhbiBlbWFpbHModGhlc2UgdGhpbmdzIGhlbHAgcGVvcGxlISkiLAogICJsb2NhbGUiOiAiL3Vzci9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlNldHRpbmdzQ2VudGVyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIlhlcywgbDMwMGx2bCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0NocmlzTGF1aW5nZXI3Ny9YRVMtU2V0dGluZ3MtQ2VudGVyLUV4dGVuc2lvbiIsCiAgInV1aWQiOiAiU2V0dGluZ3NDZW50ZXJAbGF1aW5nZXItY2xhbi5kZSIsCiAgInZlcnNpb24iOiA5Cn0="}, "42": {"version": "9", "sha256": "1687rhzy0ckpfph1x7ga05wmg6515p5y5yd5sq585hc8y2bclp7m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldHRpbmdzIENlbnRlciBpcyBhIGN1c3RvbWl6YWJsZSBkcm9wLWRvd24gbWVudSBmb3IgcXVpY2tseSBsYXVuY2hpbmcgZnJlcXVlbnRseSB1c2VkIGFwcHMgaW4gR25vbWU6U2hlbGwgdmlhIHRoZSB1c2VyL2FnZ3JlZ2F0ZSBtZW51LiBPcmlnaW5hbGx5IGNyZWF0ZWQgYnkgWEVTLlxuXG52MTA6IGZpeCBmb3Igb2xkZXIgdmVyc2lvbnMsIGkgaGF2ZW50IHRlc3RlZCB0aGlzIG9uIGFueXRoaW5nIGJlbG93IDMuMTAsIHY5OiBtaW5vciBjbGVhbnVwLCBub3cgaGFzIGFuIGljb24gZm9yIHRoZSBtYWluIG1lbnUgZW50cnkuIFxuXG5TZXR0aW5ncyBzaG9ydGN1dHMgOiBnbm9tZS10d2Vhay10b29sLCBkY29uZi1lZGl0b3IsIGdjb25mLWVkaXRvciwgZ25vbWUtc2Vzc2lvbi1wcm9wZXJ0aWVzLCBnbm9tZS1zaGVsbC1leHRlbnNpb24tcHJlZnMsIHNlYWhvcnNlIGFuZCBudmlkaWEtc2V0dGluZ3MuIFlvdSBjYW4gYWRkIHlvdXIgb3duXG5cbk9yaWdpbmFsIHNvdXJjZSA6IGh0dHA6Ly9zdm4ueGVzbmV0LmZyL2dub21lZXh0ZW5zaW9ucyAoMy44IHJlcGxhY2UgU2V0dGluZ3MgY29kZSBjcmVkaXQgSXNhY0RhYXZpZClcblxuQ3JlZGl0IHRvIEBwZWFjZXNlZWtlciBmb3IgdXBkYXRpbmcgdGhpcyB3aXRoIGEgd29ya2luZyByZXBvLCBpIGRvIHdpc2ggaXQgY291bGQgaGF2ZSBiZWVuIHB1c2hlZCB0byBtZSBidXQgbXkgYmxhbmsgcmVwbyB3YXMgZGVsZXRlZCBhcyBpdCB3YXMgc3RhbGUsIGkgZmFpbGVkIHRvIHB1c2ggdG8gZ2l0IGJlZm9yZSBnb2luZyBiYWNrIHRvIHdvcmsgYXJvdW5kIDEuNSB5ZWFycyBhZ28gYW5kIGkgaGFkbid0IGJlZW4gYWN0aXZlIGVub3VnaCB0byBub3RpY2UgYW55dGhpbmcgb3RoZXIgdGhhbiBlbWFpbHModGhlc2UgdGhpbmdzIGhlbHAgcGVvcGxlISkiLAogICJsb2NhbGUiOiAiL3Vzci9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlNldHRpbmdzQ2VudGVyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIlhlcywgbDMwMGx2bCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0NocmlzTGF1aW5nZXI3Ny9YRVMtU2V0dGluZ3MtQ2VudGVyLUV4dGVuc2lvbiIsCiAgInV1aWQiOiAiU2V0dGluZ3NDZW50ZXJAbGF1aW5nZXItY2xhbi5kZSIsCiAgInZlcnNpb24iOiA5Cn0="}}}
 , {"uuid": "auto-mute-toggle@garotosopa.github.io", "name": "Auto-mute toggle", "pname": "auto-mute-toggle", "description": "Toggle whether to auto-mute speakers when headphones are plugged in.", "link": "https://extensions.gnome.org/extension/2905/auto-mute-toggle/", "shell_version_map": {"40": {"version": "6", "sha256": "1lyh51gvsh9ydip77vjj8rigjiah97lh8gp91jcpqblwx69fs3dk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSB3aGV0aGVyIHRvIGF1dG8tbXV0ZSBzcGVha2VycyB3aGVuIGhlYWRwaG9uZXMgYXJlIHBsdWdnZWQgaW4uIiwKICAibmFtZSI6ICJBdXRvLW11dGUgdG9nZ2xlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dhcm90b3NvcGEvZ3NlLWF1dG8tbXV0ZS10b2dnbGUiLAogICJ1dWlkIjogImF1dG8tbXV0ZS10b2dnbGVAZ2Fyb3Rvc29wYS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "optimus-manager-indicator@andr3slelouch.github.com", "name": "Optimus Manager Indicator", "pname": "optimus-manager-indicator", "description": "Intel/Hybrid/NVIDIA GPU Switch Note: The GPU mode activated doesn't show up in the options, by example: When you turn on the PC you are gonna be in Intel mode so Intel option is not gonna be shown. Note: Optimus Manager Indicator is made(for the moment) for Arch based distributions with optimus-manager.", "link": "https://extensions.gnome.org/extension/2908/optimus-manager-indicator/", "shell_version_map": {"38": {"version": "5", "sha256": "1mqgnwfdbd2460ngkkq6wiswvb9bvwgm5n32j7jgvn1xhb3mqn58", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVsL0h5YnJpZC9OVklESUEgR1BVIFN3aXRjaCBOb3RlOiBUaGUgR1BVIG1vZGUgYWN0aXZhdGVkIGRvZXNuJ3Qgc2hvdyB1cCBpbiB0aGUgb3B0aW9ucywgYnkgZXhhbXBsZTogV2hlbiB5b3UgdHVybiBvbiB0aGUgUEMgeW91IGFyZSBnb25uYSBiZSBpbiBJbnRlbCBtb2RlIHNvIEludGVsIG9wdGlvbiBpcyBub3QgZ29ubmEgYmUgc2hvd24uIE5vdGU6IE9wdGltdXMgTWFuYWdlciBJbmRpY2F0b3IgaXMgbWFkZShmb3IgdGhlIG1vbWVudCkgZm9yIEFyY2ggYmFzZWQgZGlzdHJpYnV0aW9ucyB3aXRoIG9wdGltdXMtbWFuYWdlci4iLAogICJuYW1lIjogIk9wdGltdXMgTWFuYWdlciBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbmRyM3NsZWxvdWNoL09wdGltdXMtTWFuYWdlci1JbmRpY2F0b3IiLAogICJ1dWlkIjogIm9wdGltdXMtbWFuYWdlci1pbmRpY2F0b3JAYW5kcjNzbGVsb3VjaC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "5", "sha256": "1mqgnwfdbd2460ngkkq6wiswvb9bvwgm5n32j7jgvn1xhb3mqn58", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVsL0h5YnJpZC9OVklESUEgR1BVIFN3aXRjaCBOb3RlOiBUaGUgR1BVIG1vZGUgYWN0aXZhdGVkIGRvZXNuJ3Qgc2hvdyB1cCBpbiB0aGUgb3B0aW9ucywgYnkgZXhhbXBsZTogV2hlbiB5b3UgdHVybiBvbiB0aGUgUEMgeW91IGFyZSBnb25uYSBiZSBpbiBJbnRlbCBtb2RlIHNvIEludGVsIG9wdGlvbiBpcyBub3QgZ29ubmEgYmUgc2hvd24uIE5vdGU6IE9wdGltdXMgTWFuYWdlciBJbmRpY2F0b3IgaXMgbWFkZShmb3IgdGhlIG1vbWVudCkgZm9yIEFyY2ggYmFzZWQgZGlzdHJpYnV0aW9ucyB3aXRoIG9wdGltdXMtbWFuYWdlci4iLAogICJuYW1lIjogIk9wdGltdXMgTWFuYWdlciBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbmRyM3NsZWxvdWNoL09wdGltdXMtTWFuYWdlci1JbmRpY2F0b3IiLAogICJ1dWlkIjogIm9wdGltdXMtbWFuYWdlci1pbmRpY2F0b3JAYW5kcjNzbGVsb3VjaC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
-, {"uuid": "BringOutSubmenuOfPowerOffLogoutButton@pratap.fastmail.fm", "name": "Bring Out Submenu Of Power Off/Logout Button", "pname": "bring-out-submenu-of-power-offlogout-button", "description": "Bring Out Submenu Of Power Off/Logout Button and Rearrange the Order of System Menu.", "link": "https://extensions.gnome.org/extension/2917/bring-out-submenu-of-power-offlogout-button/", "shell_version_map": {"38": {"version": "27", "sha256": "0dfslg3vk1g5fah9jdrp3jjdvymk34ac5ms3v6iamp38aji0d6y8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYnJuZ291dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFJBVEFQLUtVTUFSL0JyaW5nLU91dC1TdWJtZW51LW9mLVBvd2VyLU9mZi1Mb2dvdXQiLAogICJ1dWlkIjogIkJyaW5nT3V0U3VibWVudU9mUG93ZXJPZmZMb2dvdXRCdXR0b25AcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDI3Cn0="}, "40": {"version": "27", "sha256": "0dfslg3vk1g5fah9jdrp3jjdvymk34ac5ms3v6iamp38aji0d6y8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYnJuZ291dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFJBVEFQLUtVTUFSL0JyaW5nLU91dC1TdWJtZW51LW9mLVBvd2VyLU9mZi1Mb2dvdXQiLAogICJ1dWlkIjogIkJyaW5nT3V0U3VibWVudU9mUG93ZXJPZmZMb2dvdXRCdXR0b25AcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDI3Cn0="}, "41": {"version": "27", "sha256": "0dfslg3vk1g5fah9jdrp3jjdvymk34ac5ms3v6iamp38aji0d6y8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYnJuZ291dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFJBVEFQLUtVTUFSL0JyaW5nLU91dC1TdWJtZW51LW9mLVBvd2VyLU9mZi1Mb2dvdXQiLAogICJ1dWlkIjogIkJyaW5nT3V0U3VibWVudU9mUG93ZXJPZmZMb2dvdXRCdXR0b25AcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDI3Cn0="}}}
-, {"uuid": "batterytimepercentagecompact@sagrland.de", "name": "Battery Time (Percentage) Compact", "pname": "battery-time-percentage-compact", "description": "Shows the remaining time until fully charged/discharged as well as percentage of battery charge in the panel.", "link": "https://extensions.gnome.org/extension/2929/battery-time-percentage-compact/", "shell_version_map": {"38": {"version": "5", "sha256": "1ybq8k2nv1ym6dr9lkimrpbi9fhs2pnrm27382wpfly7qq1nflg9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSByZW1haW5pbmcgdGltZSB1bnRpbCBmdWxseSBjaGFyZ2VkL2Rpc2NoYXJnZWQgYXMgd2VsbCBhcyBwZXJjZW50YWdlIG9mIGJhdHRlcnkgY2hhcmdlIGluIHRoZSBwYW5lbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXR0ZXJ5dGltZXBlcmNlbnRhZ2Vjb21wYWN0IiwKICAibmFtZSI6ICJCYXR0ZXJ5IFRpbWUgKFBlcmNlbnRhZ2UpIENvbXBhY3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYmF0dGVyeXRpbWVwZXJjZW50YWdlY29tcGFjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2FHckxhbmQvZ25vbWUtc2hlbGwtYmF0dGVyeS10aW1lLXBlcmNlbnRhZ2UtY29tcGFjdCIsCiAgInV1aWQiOiAiYmF0dGVyeXRpbWVwZXJjZW50YWdlY29tcGFjdEBzYWdybGFuZC5kZSIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "1ybq8k2nv1ym6dr9lkimrpbi9fhs2pnrm27382wpfly7qq1nflg9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSByZW1haW5pbmcgdGltZSB1bnRpbCBmdWxseSBjaGFyZ2VkL2Rpc2NoYXJnZWQgYXMgd2VsbCBhcyBwZXJjZW50YWdlIG9mIGJhdHRlcnkgY2hhcmdlIGluIHRoZSBwYW5lbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXR0ZXJ5dGltZXBlcmNlbnRhZ2Vjb21wYWN0IiwKICAibmFtZSI6ICJCYXR0ZXJ5IFRpbWUgKFBlcmNlbnRhZ2UpIENvbXBhY3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYmF0dGVyeXRpbWVwZXJjZW50YWdlY29tcGFjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2FHckxhbmQvZ25vbWUtc2hlbGwtYmF0dGVyeS10aW1lLXBlcmNlbnRhZ2UtY29tcGFjdCIsCiAgInV1aWQiOiAiYmF0dGVyeXRpbWVwZXJjZW50YWdlY29tcGFjdEBzYWdybGFuZC5kZSIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "1ybq8k2nv1ym6dr9lkimrpbi9fhs2pnrm27382wpfly7qq1nflg9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSByZW1haW5pbmcgdGltZSB1bnRpbCBmdWxseSBjaGFyZ2VkL2Rpc2NoYXJnZWQgYXMgd2VsbCBhcyBwZXJjZW50YWdlIG9mIGJhdHRlcnkgY2hhcmdlIGluIHRoZSBwYW5lbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXR0ZXJ5dGltZXBlcmNlbnRhZ2Vjb21wYWN0IiwKICAibmFtZSI6ICJCYXR0ZXJ5IFRpbWUgKFBlcmNlbnRhZ2UpIENvbXBhY3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYmF0dGVyeXRpbWVwZXJjZW50YWdlY29tcGFjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2FHckxhbmQvZ25vbWUtc2hlbGwtYmF0dGVyeS10aW1lLXBlcmNlbnRhZ2UtY29tcGFjdCIsCiAgInV1aWQiOiAiYmF0dGVyeXRpbWVwZXJjZW50YWdlY29tcGFjdEBzYWdybGFuZC5kZSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
+, {"uuid": "BringOutSubmenuOfPowerOffLogoutButton@pratap.fastmail.fm", "name": "Bring Out Submenu Of Power Off/Logout Button", "pname": "bring-out-submenu-of-power-offlogout-button", "description": "Bring Out Submenu Of Power Off/Logout Button and Rearrange the Order of System Menu.", "link": "https://extensions.gnome.org/extension/2917/bring-out-submenu-of-power-offlogout-button/", "shell_version_map": {"38": {"version": "28", "sha256": "16iql7ca0l5r8wwkhhaq32j9jf2n2986whakf6ri3p1ha2jq438g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYnJuZ291dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9CcmluZy1PdXQtU3VibWVudS1vZi1Qb3dlci1PZmYtTG9nb3V0IiwKICAidXVpZCI6ICJCcmluZ091dFN1Ym1lbnVPZlBvd2VyT2ZmTG9nb3V0QnV0dG9uQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAyOAp9"}, "40": {"version": "28", "sha256": "16iql7ca0l5r8wwkhhaq32j9jf2n2986whakf6ri3p1ha2jq438g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYnJuZ291dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9CcmluZy1PdXQtU3VibWVudS1vZi1Qb3dlci1PZmYtTG9nb3V0IiwKICAidXVpZCI6ICJCcmluZ091dFN1Ym1lbnVPZlBvd2VyT2ZmTG9nb3V0QnV0dG9uQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAyOAp9"}, "41": {"version": "28", "sha256": "16iql7ca0l5r8wwkhhaq32j9jf2n2986whakf6ri3p1ha2jq438g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYnJuZ291dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9CcmluZy1PdXQtU3VibWVudS1vZi1Qb3dlci1PZmYtTG9nb3V0IiwKICAidXVpZCI6ICJCcmluZ091dFN1Ym1lbnVPZlBvd2VyT2ZmTG9nb3V0QnV0dG9uQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAyOAp9"}, "42": {"version": "28", "sha256": "16iql7ca0l5r8wwkhhaq32j9jf2n2986whakf6ri3p1ha2jq438g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYnJuZ291dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9CcmluZy1PdXQtU3VibWVudS1vZi1Qb3dlci1PZmYtTG9nb3V0IiwKICAidXVpZCI6ICJCcmluZ091dFN1Ym1lbnVPZlBvd2VyT2ZmTG9nb3V0QnV0dG9uQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAyOAp9"}}}
+, {"uuid": "batterytimepercentagecompact@sagrland.de", "name": "Battery Time (Percentage) Compact", "pname": "battery-time-percentage-compact", "description": "Show the remaining time until fully charged/discharged as well as percentage of battery charge in the panel.", "link": "https://extensions.gnome.org/extension/2929/battery-time-percentage-compact/", "shell_version_map": {"38": {"version": "6", "sha256": "0jlmzsmpa84pgqlbl0rq0yvy3dk24q6c6jf95hglhv52dadybiiv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHJlbWFpbmluZyB0aW1lIHVudGlsIGZ1bGx5IGNoYXJnZWQvZGlzY2hhcmdlZCBhcyB3ZWxsIGFzIHBlcmNlbnRhZ2Ugb2YgYmF0dGVyeSBjaGFyZ2UgaW4gdGhlIHBhbmVsLiIsCiAgImdldHRleHQtZG9tYWluIjogImJhdHRlcnl0aW1lcGVyY2VudGFnZWNvbXBhY3QiLAogICJuYW1lIjogIkJhdHRlcnkgVGltZSAoUGVyY2VudGFnZSkgQ29tcGFjdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iYXR0ZXJ5dGltZXBlcmNlbnRhZ2Vjb21wYWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2FHckxhbmQvZ25vbWUtc2hlbGwtYmF0dGVyeS10aW1lLXBlcmNlbnRhZ2UtY29tcGFjdCIsCiAgInV1aWQiOiAiYmF0dGVyeXRpbWVwZXJjZW50YWdlY29tcGFjdEBzYWdybGFuZC5kZSIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "6", "sha256": "0jlmzsmpa84pgqlbl0rq0yvy3dk24q6c6jf95hglhv52dadybiiv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHJlbWFpbmluZyB0aW1lIHVudGlsIGZ1bGx5IGNoYXJnZWQvZGlzY2hhcmdlZCBhcyB3ZWxsIGFzIHBlcmNlbnRhZ2Ugb2YgYmF0dGVyeSBjaGFyZ2UgaW4gdGhlIHBhbmVsLiIsCiAgImdldHRleHQtZG9tYWluIjogImJhdHRlcnl0aW1lcGVyY2VudGFnZWNvbXBhY3QiLAogICJuYW1lIjogIkJhdHRlcnkgVGltZSAoUGVyY2VudGFnZSkgQ29tcGFjdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iYXR0ZXJ5dGltZXBlcmNlbnRhZ2Vjb21wYWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2FHckxhbmQvZ25vbWUtc2hlbGwtYmF0dGVyeS10aW1lLXBlcmNlbnRhZ2UtY29tcGFjdCIsCiAgInV1aWQiOiAiYmF0dGVyeXRpbWVwZXJjZW50YWdlY29tcGFjdEBzYWdybGFuZC5kZSIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "0jlmzsmpa84pgqlbl0rq0yvy3dk24q6c6jf95hglhv52dadybiiv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHJlbWFpbmluZyB0aW1lIHVudGlsIGZ1bGx5IGNoYXJnZWQvZGlzY2hhcmdlZCBhcyB3ZWxsIGFzIHBlcmNlbnRhZ2Ugb2YgYmF0dGVyeSBjaGFyZ2UgaW4gdGhlIHBhbmVsLiIsCiAgImdldHRleHQtZG9tYWluIjogImJhdHRlcnl0aW1lcGVyY2VudGFnZWNvbXBhY3QiLAogICJuYW1lIjogIkJhdHRlcnkgVGltZSAoUGVyY2VudGFnZSkgQ29tcGFjdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iYXR0ZXJ5dGltZXBlcmNlbnRhZ2Vjb21wYWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2FHckxhbmQvZ25vbWUtc2hlbGwtYmF0dGVyeS10aW1lLXBlcmNlbnRhZ2UtY29tcGFjdCIsCiAgInV1aWQiOiAiYmF0dGVyeXRpbWVwZXJjZW50YWdlY29tcGFjdEBzYWdybGFuZC5kZSIsCiAgInZlcnNpb24iOiA2Cn0="}, "42": {"version": "6", "sha256": "0jlmzsmpa84pgqlbl0rq0yvy3dk24q6c6jf95hglhv52dadybiiv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHJlbWFpbmluZyB0aW1lIHVudGlsIGZ1bGx5IGNoYXJnZWQvZGlzY2hhcmdlZCBhcyB3ZWxsIGFzIHBlcmNlbnRhZ2Ugb2YgYmF0dGVyeSBjaGFyZ2UgaW4gdGhlIHBhbmVsLiIsCiAgImdldHRleHQtZG9tYWluIjogImJhdHRlcnl0aW1lcGVyY2VudGFnZWNvbXBhY3QiLAogICJuYW1lIjogIkJhdHRlcnkgVGltZSAoUGVyY2VudGFnZSkgQ29tcGFjdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iYXR0ZXJ5dGltZXBlcmNlbnRhZ2Vjb21wYWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2FHckxhbmQvZ25vbWUtc2hlbGwtYmF0dGVyeS10aW1lLXBlcmNlbnRhZ2UtY29tcGFjdCIsCiAgInV1aWQiOiAiYmF0dGVyeXRpbWVwZXJjZW50YWdlY29tcGFjdEBzYWdybGFuZC5kZSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "executor@raujonas.github.io", "name": "Executor", "pname": "executor", "description": "Execute multiple shell commands periodically with separate intervals and display the output in gnome top bar.", "link": "https://extensions.gnome.org/extension/2932/executor/", "shell_version_map": {"38": {"version": "18", "sha256": "0qrpjz455jx4kd82y9wkmdl6mj46kpknbs2bh4fjm5jlvrjb92ak", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4ZWN1dGUgbXVsdGlwbGUgc2hlbGwgY29tbWFuZHMgcGVyaW9kaWNhbGx5IHdpdGggc2VwYXJhdGUgaW50ZXJ2YWxzIGFuZCBkaXNwbGF5IHRoZSBvdXRwdXQgaW4gZ25vbWUgdG9wIGJhci4iLAogICJuYW1lIjogIkV4ZWN1dG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwLjIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yYXVqb25hcy9leGVjdXRvciIsCiAgInV1aWQiOiAiZXhlY3V0b3JAcmF1am9uYXMuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "40": {"version": "18", "sha256": "0qrpjz455jx4kd82y9wkmdl6mj46kpknbs2bh4fjm5jlvrjb92ak", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4ZWN1dGUgbXVsdGlwbGUgc2hlbGwgY29tbWFuZHMgcGVyaW9kaWNhbGx5IHdpdGggc2VwYXJhdGUgaW50ZXJ2YWxzIGFuZCBkaXNwbGF5IHRoZSBvdXRwdXQgaW4gZ25vbWUgdG9wIGJhci4iLAogICJuYW1lIjogIkV4ZWN1dG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwLjIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yYXVqb25hcy9leGVjdXRvciIsCiAgInV1aWQiOiAiZXhlY3V0b3JAcmF1am9uYXMuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "41": {"version": "18", "sha256": "0qrpjz455jx4kd82y9wkmdl6mj46kpknbs2bh4fjm5jlvrjb92ak", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4ZWN1dGUgbXVsdGlwbGUgc2hlbGwgY29tbWFuZHMgcGVyaW9kaWNhbGx5IHdpdGggc2VwYXJhdGUgaW50ZXJ2YWxzIGFuZCBkaXNwbGF5IHRoZSBvdXRwdXQgaW4gZ25vbWUgdG9wIGJhci4iLAogICJuYW1lIjogIkV4ZWN1dG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwLjIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yYXVqb25hcy9leGVjdXRvciIsCiAgInV1aWQiOiAiZXhlY3V0b3JAcmF1am9uYXMuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "42": {"version": "18", "sha256": "0qrpjz455jx4kd82y9wkmdl6mj46kpknbs2bh4fjm5jlvrjb92ak", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4ZWN1dGUgbXVsdGlwbGUgc2hlbGwgY29tbWFuZHMgcGVyaW9kaWNhbGx5IHdpdGggc2VwYXJhdGUgaW50ZXJ2YWxzIGFuZCBkaXNwbGF5IHRoZSBvdXRwdXQgaW4gZ25vbWUgdG9wIGJhci4iLAogICJuYW1lIjogIkV4ZWN1dG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwLjIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yYXVqb25hcy9leGVjdXRvciIsCiAgInV1aWQiOiAiZXhlY3V0b3JAcmF1am9uYXMuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDE4Cn0="}}}
-, {"uuid": "ControlBlurEffectOnLockScreen@pratap.fastmail.fm", "name": "Control Blur Effect On Lock Screen", "pname": "control-blur-effect-on-lock-screen", "description": "Control the Blur Effect On Lock Screen.", "link": "https://extensions.gnome.org/extension/2935/control-blur-effect-on-lock-screen/", "shell_version_map": {"38": {"version": "14", "sha256": "176qxx2zykzzjq2xf8sf1c83r1skaxa2mzmp51v8bq3vbbxp0wij", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdGhlIEJsdXIgRWZmZWN0IE9uIExvY2sgU2NyZWVuLiIsCiAgIm5hbWUiOiAiQ29udHJvbCBCbHVyIEVmZmVjdCBPbiBMb2NrIFNjcmVlbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9Db250cm9sX0JsdXJfRWZmZWN0X09uX0xvY2tfU2NyZWVuIiwKICAidXVpZCI6ICJDb250cm9sQmx1ckVmZmVjdE9uTG9ja1NjcmVlbkBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "40": {"version": "17", "sha256": "1n8442n54hwjx1z4qww5mvb3w5v322d9zc78wm0kx378p4s3shsq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdGhlIEJsdXIgRWZmZWN0IE9uIExvY2sgU2NyZWVuLiIsCiAgIm5hbWUiOiAiQ29udHJvbCBCbHVyIEVmZmVjdCBPbiBMb2NrIFNjcmVlbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFJBVEFQLUtVTUFSL0NvbnRyb2xfQmx1cl9FZmZlY3RfT25fTG9ja19TY3JlZW4iLAogICJ1dWlkIjogIkNvbnRyb2xCbHVyRWZmZWN0T25Mb2NrU2NyZWVuQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAxNwp9"}, "41": {"version": "17", "sha256": "1n8442n54hwjx1z4qww5mvb3w5v322d9zc78wm0kx378p4s3shsq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdGhlIEJsdXIgRWZmZWN0IE9uIExvY2sgU2NyZWVuLiIsCiAgIm5hbWUiOiAiQ29udHJvbCBCbHVyIEVmZmVjdCBPbiBMb2NrIFNjcmVlbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFJBVEFQLUtVTUFSL0NvbnRyb2xfQmx1cl9FZmZlY3RfT25fTG9ja19TY3JlZW4iLAogICJ1dWlkIjogIkNvbnRyb2xCbHVyRWZmZWN0T25Mb2NrU2NyZWVuQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAxNwp9"}}}
+, {"uuid": "ControlBlurEffectOnLockScreen@pratap.fastmail.fm", "name": "Control Blur Effect On Lock Screen", "pname": "control-blur-effect-on-lock-screen", "description": "Control the Blur Effect On Lock Screen.", "link": "https://extensions.gnome.org/extension/2935/control-blur-effect-on-lock-screen/", "shell_version_map": {"38": {"version": "14", "sha256": "176qxx2zykzzjq2xf8sf1c83r1skaxa2mzmp51v8bq3vbbxp0wij", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdGhlIEJsdXIgRWZmZWN0IE9uIExvY2sgU2NyZWVuLiIsCiAgIm5hbWUiOiAiQ29udHJvbCBCbHVyIEVmZmVjdCBPbiBMb2NrIFNjcmVlbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9Db250cm9sX0JsdXJfRWZmZWN0X09uX0xvY2tfU2NyZWVuIiwKICAidXVpZCI6ICJDb250cm9sQmx1ckVmZmVjdE9uTG9ja1NjcmVlbkBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "40": {"version": "18", "sha256": "0wxyfkd9nyrnxzlcp1sp0kb2q0zsjnhs5s0lgg85rnn72x8wnnbn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdGhlIEJsdXIgRWZmZWN0IE9uIExvY2sgU2NyZWVuLiIsCiAgIm5hbWUiOiAiQ29udHJvbCBCbHVyIEVmZmVjdCBPbiBMb2NrIFNjcmVlbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9Db250cm9sX0JsdXJfRWZmZWN0X09uX0xvY2tfU2NyZWVuIiwKICAidXVpZCI6ICJDb250cm9sQmx1ckVmZmVjdE9uTG9ja1NjcmVlbkBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "41": {"version": "18", "sha256": "0wxyfkd9nyrnxzlcp1sp0kb2q0zsjnhs5s0lgg85rnn72x8wnnbn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdGhlIEJsdXIgRWZmZWN0IE9uIExvY2sgU2NyZWVuLiIsCiAgIm5hbWUiOiAiQ29udHJvbCBCbHVyIEVmZmVjdCBPbiBMb2NrIFNjcmVlbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9Db250cm9sX0JsdXJfRWZmZWN0X09uX0xvY2tfU2NyZWVuIiwKICAidXVpZCI6ICJDb250cm9sQmx1ckVmZmVjdE9uTG9ja1NjcmVlbkBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "42": {"version": "18", "sha256": "0wxyfkd9nyrnxzlcp1sp0kb2q0zsjnhs5s0lgg85rnn72x8wnnbn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdGhlIEJsdXIgRWZmZWN0IE9uIExvY2sgU2NyZWVuLiIsCiAgIm5hbWUiOiAiQ29udHJvbCBCbHVyIEVmZmVjdCBPbiBMb2NrIFNjcmVlbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9Db250cm9sX0JsdXJfRWZmZWN0X09uX0xvY2tfU2NyZWVuIiwKICAidXVpZCI6ICJDb250cm9sQmx1ckVmZmVjdE9uTG9ja1NjcmVlbkBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}}}
 , {"uuid": "compiz-alike-windows-effect@hermes83.github.com", "name": "Compiz alike windows effect", "pname": "compiz-alike-windows-effect", "description": "Wobbly windows 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)\n\n-----------------------------------\n ALTERNATIVE\n-----------------------------------\nalternative extension to obtain an effect more similar to the original:\nhttps://extensions.gnome.org/extension/3210/compiz-windows-effect/", "link": "https://extensions.gnome.org/extension/2950/compiz-alike-windows-effect/", "shell_version_map": {"38": {"version": "22", "sha256": "0zkc9lcirqg224m46jjz2vapfg4lg9x7s0h0kvv57rfmkhrxcgbg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvYmJseSB3aW5kb3dzIGVmZmVjdCBpbnNwaXJlZCBieSB0aGUgQ29tcGl6IG9uZXNcblxuTkJcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEFMVEVSTkFUSVZFXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuYWx0ZXJuYXRpdmUgZXh0ZW5zaW9uIHRvIG9idGFpbiBhbiBlZmZlY3QgbW9yZSBzaW1pbGFyIHRvIHRoZSBvcmlnaW5hbDpcbmh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzMyMTAvY29tcGl6LXdpbmRvd3MtZWZmZWN0LyIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIHdpbmRvd3MgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oZXJtZXM4My9jb21waXotYWxpa2Utd2luZG93cy1lZmZlY3QiLAogICJ1dWlkIjogImNvbXBpei1hbGlrZS13aW5kb3dzLWVmZmVjdEBoZXJtZXM4My5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIyCn0="}, "40": {"version": "22", "sha256": "0zkc9lcirqg224m46jjz2vapfg4lg9x7s0h0kvv57rfmkhrxcgbg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvYmJseSB3aW5kb3dzIGVmZmVjdCBpbnNwaXJlZCBieSB0aGUgQ29tcGl6IG9uZXNcblxuTkJcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEFMVEVSTkFUSVZFXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuYWx0ZXJuYXRpdmUgZXh0ZW5zaW9uIHRvIG9idGFpbiBhbiBlZmZlY3QgbW9yZSBzaW1pbGFyIHRvIHRoZSBvcmlnaW5hbDpcbmh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzMyMTAvY29tcGl6LXdpbmRvd3MtZWZmZWN0LyIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIHdpbmRvd3MgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oZXJtZXM4My9jb21waXotYWxpa2Utd2luZG93cy1lZmZlY3QiLAogICJ1dWlkIjogImNvbXBpei1hbGlrZS13aW5kb3dzLWVmZmVjdEBoZXJtZXM4My5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIyCn0="}, "41": {"version": "22", "sha256": "0zkc9lcirqg224m46jjz2vapfg4lg9x7s0h0kvv57rfmkhrxcgbg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvYmJseSB3aW5kb3dzIGVmZmVjdCBpbnNwaXJlZCBieSB0aGUgQ29tcGl6IG9uZXNcblxuTkJcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEFMVEVSTkFUSVZFXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuYWx0ZXJuYXRpdmUgZXh0ZW5zaW9uIHRvIG9idGFpbiBhbiBlZmZlY3QgbW9yZSBzaW1pbGFyIHRvIHRoZSBvcmlnaW5hbDpcbmh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzMyMTAvY29tcGl6LXdpbmRvd3MtZWZmZWN0LyIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIHdpbmRvd3MgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oZXJtZXM4My9jb21waXotYWxpa2Utd2luZG93cy1lZmZlY3QiLAogICJ1dWlkIjogImNvbXBpei1hbGlrZS13aW5kb3dzLWVmZmVjdEBoZXJtZXM4My5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIyCn0="}}}
 , {"uuid": "light-dict@tuberry.github.io", "name": "Light Dict", "pname": "light-dict", "description": "Lightweight extension for on-the-fly manipulation to primary selections, especially optimized for Dictionary lookups.\n\nFor support, please report any issues via the homepage link below.", "link": "https://extensions.gnome.org/extension/2959/light-dict/", "shell_version_map": {"38": {"version": "47", "sha256": "1l36l9qmcz7c6i81w5fv083bg01qsgz681c2lan8f87hqdipl4r7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IGV4dGVuc2lvbiBmb3Igb24tdGhlLWZseSBtYW5pcHVsYXRpb24gdG8gcHJpbWFyeSBzZWxlY3Rpb25zLCBlc3BlY2lhbGx5IG9wdGltaXplZCBmb3IgRGljdGlvbmFyeSBsb29rdXBzLlxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsaWdodC1kaWN0IiwKICAibmFtZSI6ICJMaWdodCBEaWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxpZ2h0LWRpY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L2xpZ2h0LWRpY3QiLAogICJ1dWlkIjogImxpZ2h0LWRpY3RAdHViZXJyeS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNDcKfQ=="}, "40": {"version": "58", "sha256": "0x3rk3p2vlyd2n23jlmwqfc1akbbjfhyn9w1v44byw1nfc3b0n8z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IGV4dGVuc2lvbiBmb3Igb24tdGhlLWZseSBtYW5pcHVsYXRpb24gdG8gcHJpbWFyeSBzZWxlY3Rpb25zLCBlc3BlY2lhbGx5IG9wdGltaXplZCBmb3IgRGljdGlvbmFyeSBsb29rdXBzLlxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGlnaHQtZGljdCIsCiAgIm5hbWUiOiAiTGlnaHQgRGljdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5saWdodC1kaWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvbGlnaHQtZGljdCIsCiAgInV1aWQiOiAibGlnaHQtZGljdEB0dWJlcnJ5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA1OAp9"}, "41": {"version": "65", "sha256": "1hjaw62pxrpgismg6dhxqp04qhk1d4xkwlgzymmra7d428qjnxf2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IGV4dGVuc2lvbiBmb3Igb24tdGhlLWZseSBtYW5pcHVsYXRpb24gdG8gcHJpbWFyeSBzZWxlY3Rpb25zLCBlc3BlY2lhbGx5IG9wdGltaXplZCBmb3IgRGljdGlvbmFyeSBsb29rdXBzLlxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGlnaHQtZGljdCIsCiAgIm5hbWUiOiAiTGlnaHQgRGljdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5saWdodC1kaWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvbGlnaHQtZGljdCIsCiAgInV1aWQiOiAibGlnaHQtZGljdEB0dWJlcnJ5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA2NQp9"}, "42": {"version": "67", "sha256": "05nxmlsik60nmci7x1zvdfwjymab10ikb4pdgq4cmpim3mrpp3xn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IGV4dGVuc2lvbiBmb3Igb24tdGhlLWZseSBtYW5pcHVsYXRpb24gdG8gcHJpbWFyeSBzZWxlY3Rpb25zLCBlc3BlY2lhbGx5IG9wdGltaXplZCBmb3IgRGljdGlvbmFyeSBsb29rdXBzLlxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGlnaHQtZGljdCIsCiAgIm5hbWUiOiAiTGlnaHQgRGljdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5saWdodC1kaWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvbGlnaHQtZGljdCIsCiAgInV1aWQiOiAibGlnaHQtZGljdEB0dWJlcnJ5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA2Nwp9"}}}
 , {"uuid": "InternetSpeedMeter@alshakib.dev", "name": "Internet Speed Meter", "pname": "internet-speed-meter", "description": "Simple and minimal internet speed meter extension for gnome shell", "link": "https://extensions.gnome.org/extension/2980/internet-speed-meter/", "shell_version_map": {"38": {"version": "10", "sha256": "0q6cdiswixzg0j5ndjmqcxv6jznzsgjh0zplgsnfw42n2mzvmw32", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBhbmQgbWluaW1hbCBpbnRlcm5ldCBzcGVlZCBtZXRlciBleHRlbnNpb24gZm9yIGdub21lIHNoZWxsIiwKICAibmFtZSI6ICJJbnRlcm5ldCBTcGVlZCBNZXRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FsU2hha2liL0ludGVybmV0U3BlZWRNZXRlciIsCiAgInV1aWQiOiAiSW50ZXJuZXRTcGVlZE1ldGVyQGFsc2hha2liLmRldiIsCiAgInZlcnNpb24iOiAxMAp9"}, "40": {"version": "10", "sha256": "0q6cdiswixzg0j5ndjmqcxv6jznzsgjh0zplgsnfw42n2mzvmw32", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBhbmQgbWluaW1hbCBpbnRlcm5ldCBzcGVlZCBtZXRlciBleHRlbnNpb24gZm9yIGdub21lIHNoZWxsIiwKICAibmFtZSI6ICJJbnRlcm5ldCBTcGVlZCBNZXRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FsU2hha2liL0ludGVybmV0U3BlZWRNZXRlciIsCiAgInV1aWQiOiAiSW50ZXJuZXRTcGVlZE1ldGVyQGFsc2hha2liLmRldiIsCiAgInZlcnNpb24iOiAxMAp9"}, "41": {"version": "10", "sha256": "0q6cdiswixzg0j5ndjmqcxv6jznzsgjh0zplgsnfw42n2mzvmw32", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBhbmQgbWluaW1hbCBpbnRlcm5ldCBzcGVlZCBtZXRlciBleHRlbnNpb24gZm9yIGdub21lIHNoZWxsIiwKICAibmFtZSI6ICJJbnRlcm5ldCBTcGVlZCBNZXRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FsU2hha2liL0ludGVybmV0U3BlZWRNZXRlciIsCiAgInV1aWQiOiAiSW50ZXJuZXRTcGVlZE1ldGVyQGFsc2hha2liLmRldiIsCiAgInZlcnNpb24iOiAxMAp9"}, "42": {"version": "10", "sha256": "0q6cdiswixzg0j5ndjmqcxv6jznzsgjh0zplgsnfw42n2mzvmw32", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBhbmQgbWluaW1hbCBpbnRlcm5ldCBzcGVlZCBtZXRlciBleHRlbnNpb24gZm9yIGdub21lIHNoZWxsIiwKICAibmFtZSI6ICJJbnRlcm5ldCBTcGVlZCBNZXRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FsU2hha2liL0ludGVybmV0U3BlZWRNZXRlciIsCiAgInV1aWQiOiAiSW50ZXJuZXRTcGVlZE1ldGVyQGFsc2hha2liLmRldiIsCiAgInZlcnNpb24iOiAxMAp9"}}}
 , {"uuid": "IP-Finder@linxgem33.com", "name": "IP Finder", "pname": "ip-finder", "description": "Displays useful information about your public IP Address\n\nIP Finder displays information about your public IP address, hostname, country, AS Block, as well as  a map tile of your Geolocation and country flag,  this extension is Also Useful for informational purposes to monitor VPN changes and public network IP Addresses.\n\n=====================\nIP Finder can monitor in real time\n=====================\n*Wireguard connections\n*OpenVPN connections\n*IPV4/6 connections\n*Proxy connections\n*VPN vendor applications\n*Manual static IP changes\n\n====================\nIP Finder has added security\n====================\nNewly developed revised code base using open technologies and using API's for Public IP and Map Tile image locations using GET requests over HTTPS for a added layer of encrypted  Security, Please see source code for more details.\n\n====================\nCompatible GNOME shell - 3.36 and newer.", "link": "https://extensions.gnome.org/extension/2983/ip-finder/", "shell_version_map": {"38": {"version": "7", "sha256": "0qnmmg8q6xdv0rg90rzimqzsnggnsq2x8nmz998x59q2ik67kqgq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIHVzZWZ1bCBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIHB1YmxpYyBJUCBBZGRyZXNzXG5cbklQIEZpbmRlciBkaXNwbGF5cyBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIHB1YmxpYyBJUCBhZGRyZXNzLCBob3N0bmFtZSwgY291bnRyeSwgQVMgQmxvY2ssIGFzIHdlbGwgYXMgIGEgbWFwIHRpbGUgb2YgeW91ciBHZW9sb2NhdGlvbiBhbmQgY291bnRyeSBmbGFnLCAgdGhpcyBleHRlbnNpb24gaXMgQWxzbyBVc2VmdWwgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgdG8gbW9uaXRvciBWUE4gY2hhbmdlcyBhbmQgcHVibGljIG5ldHdvcmsgSVAgQWRkcmVzc2VzLlxuXG49PT09PT09PT09PT09PT09PT09PT1cbklQIEZpbmRlciBjYW4gbW9uaXRvciBpbiByZWFsIHRpbWVcbj09PT09PT09PT09PT09PT09PT09PVxuKldpcmVndWFyZCBjb25uZWN0aW9uc1xuKk9wZW5WUE4gY29ubmVjdGlvbnNcbipJUFY0LzYgY29ubmVjdGlvbnNcbipQcm94eSBjb25uZWN0aW9uc1xuKlZQTiB2ZW5kb3IgYXBwbGljYXRpb25zXG4qTWFudWFsIHN0YXRpYyBJUCBjaGFuZ2VzXG5cbj09PT09PT09PT09PT09PT09PT09XG5JUCBGaW5kZXIgaGFzIGFkZGVkIHNlY3VyaXR5XG49PT09PT09PT09PT09PT09PT09PVxuTmV3bHkgZGV2ZWxvcGVkIHJldmlzZWQgY29kZSBiYXNlIHVzaW5nIG9wZW4gdGVjaG5vbG9naWVzIGFuZCB1c2luZyBBUEkncyBmb3IgUHVibGljIElQIGFuZCBNYXAgVGlsZSBpbWFnZSBsb2NhdGlvbnMgdXNpbmcgR0VUIHJlcXVlc3RzIG92ZXIgSFRUUFMgZm9yIGEgYWRkZWQgbGF5ZXIgb2YgZW5jcnlwdGVkICBTZWN1cml0eSwgUGxlYXNlIHNlZSBzb3VyY2UgY29kZSBmb3IgbW9yZSBkZXRhaWxzLlxuXG49PT09PT09PT09PT09PT09PT09PVxuQ29tcGF0aWJsZSBHTk9NRSBzaGVsbCAtIDMuMzYgYW5kIG5ld2VyLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJpcC1maW5kZXIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpcC1maW5kZXIiLAogICJuYW1lIjogIklQIEZpbmRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wdWJsaWMtaXAtYWRkcmVzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL0xpbnhHZW0zMy9JUC1GaW5kZXIiLAogICJ1dWlkIjogIklQLUZpbmRlckBsaW54Z2VtMzMuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "9", "sha256": "1iglj9l7c69ics43r675w4azc7x680n21vfr6jkdha8j47a79sn3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIHVzZWZ1bCBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIHB1YmxpYyBJUCBBZGRyZXNzXG5cbklQIEZpbmRlciBkaXNwbGF5cyBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIHB1YmxpYyBJUCBhZGRyZXNzLCBob3N0bmFtZSwgY291bnRyeSwgQVMgQmxvY2ssIGFzIHdlbGwgYXMgIGEgbWFwIHRpbGUgb2YgeW91ciBHZW9sb2NhdGlvbiBhbmQgY291bnRyeSBmbGFnLCAgdGhpcyBleHRlbnNpb24gaXMgQWxzbyBVc2VmdWwgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgdG8gbW9uaXRvciBWUE4gY2hhbmdlcyBhbmQgcHVibGljIG5ldHdvcmsgSVAgQWRkcmVzc2VzLlxuXG49PT09PT09PT09PT09PT09PT09PT1cbklQIEZpbmRlciBjYW4gbW9uaXRvciBpbiByZWFsIHRpbWVcbj09PT09PT09PT09PT09PT09PT09PVxuKldpcmVndWFyZCBjb25uZWN0aW9uc1xuKk9wZW5WUE4gY29ubmVjdGlvbnNcbipJUFY0LzYgY29ubmVjdGlvbnNcbipQcm94eSBjb25uZWN0aW9uc1xuKlZQTiB2ZW5kb3IgYXBwbGljYXRpb25zXG4qTWFudWFsIHN0YXRpYyBJUCBjaGFuZ2VzXG5cbj09PT09PT09PT09PT09PT09PT09XG5JUCBGaW5kZXIgaGFzIGFkZGVkIHNlY3VyaXR5XG49PT09PT09PT09PT09PT09PT09PVxuTmV3bHkgZGV2ZWxvcGVkIHJldmlzZWQgY29kZSBiYXNlIHVzaW5nIG9wZW4gdGVjaG5vbG9naWVzIGFuZCB1c2luZyBBUEkncyBmb3IgUHVibGljIElQIGFuZCBNYXAgVGlsZSBpbWFnZSBsb2NhdGlvbnMgdXNpbmcgR0VUIHJlcXVlc3RzIG92ZXIgSFRUUFMgZm9yIGEgYWRkZWQgbGF5ZXIgb2YgZW5jcnlwdGVkICBTZWN1cml0eSwgUGxlYXNlIHNlZSBzb3VyY2UgY29kZSBmb3IgbW9yZSBkZXRhaWxzLlxuXG49PT09PT09PT09PT09PT09PT09PVxuQ29tcGF0aWJsZSBHTk9NRSBzaGVsbCAtIDMuMzYgYW5kIG5ld2VyLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJpcC1maW5kZXIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpcC1maW5kZXIiLAogICJuYW1lIjogIklQIEZpbmRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wdWJsaWMtaXAtYWRkcmVzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vTGlueEdlbTMzL0lQLUZpbmRlciIsCiAgInV1aWQiOiAiSVAtRmluZGVyQGxpbnhnZW0zMy5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}, "41": {"version": "9", "sha256": "1iglj9l7c69ics43r675w4azc7x680n21vfr6jkdha8j47a79sn3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIHVzZWZ1bCBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIHB1YmxpYyBJUCBBZGRyZXNzXG5cbklQIEZpbmRlciBkaXNwbGF5cyBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIHB1YmxpYyBJUCBhZGRyZXNzLCBob3N0bmFtZSwgY291bnRyeSwgQVMgQmxvY2ssIGFzIHdlbGwgYXMgIGEgbWFwIHRpbGUgb2YgeW91ciBHZW9sb2NhdGlvbiBhbmQgY291bnRyeSBmbGFnLCAgdGhpcyBleHRlbnNpb24gaXMgQWxzbyBVc2VmdWwgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgdG8gbW9uaXRvciBWUE4gY2hhbmdlcyBhbmQgcHVibGljIG5ldHdvcmsgSVAgQWRkcmVzc2VzLlxuXG49PT09PT09PT09PT09PT09PT09PT1cbklQIEZpbmRlciBjYW4gbW9uaXRvciBpbiByZWFsIHRpbWVcbj09PT09PT09PT09PT09PT09PT09PVxuKldpcmVndWFyZCBjb25uZWN0aW9uc1xuKk9wZW5WUE4gY29ubmVjdGlvbnNcbipJUFY0LzYgY29ubmVjdGlvbnNcbipQcm94eSBjb25uZWN0aW9uc1xuKlZQTiB2ZW5kb3IgYXBwbGljYXRpb25zXG4qTWFudWFsIHN0YXRpYyBJUCBjaGFuZ2VzXG5cbj09PT09PT09PT09PT09PT09PT09XG5JUCBGaW5kZXIgaGFzIGFkZGVkIHNlY3VyaXR5XG49PT09PT09PT09PT09PT09PT09PVxuTmV3bHkgZGV2ZWxvcGVkIHJldmlzZWQgY29kZSBiYXNlIHVzaW5nIG9wZW4gdGVjaG5vbG9naWVzIGFuZCB1c2luZyBBUEkncyBmb3IgUHVibGljIElQIGFuZCBNYXAgVGlsZSBpbWFnZSBsb2NhdGlvbnMgdXNpbmcgR0VUIHJlcXVlc3RzIG92ZXIgSFRUUFMgZm9yIGEgYWRkZWQgbGF5ZXIgb2YgZW5jcnlwdGVkICBTZWN1cml0eSwgUGxlYXNlIHNlZSBzb3VyY2UgY29kZSBmb3IgbW9yZSBkZXRhaWxzLlxuXG49PT09PT09PT09PT09PT09PT09PVxuQ29tcGF0aWJsZSBHTk9NRSBzaGVsbCAtIDMuMzYgYW5kIG5ld2VyLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJpcC1maW5kZXIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpcC1maW5kZXIiLAogICJuYW1lIjogIklQIEZpbmRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wdWJsaWMtaXAtYWRkcmVzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vTGlueEdlbTMzL0lQLUZpbmRlciIsCiAgInV1aWQiOiAiSVAtRmluZGVyQGxpbnhnZW0zMy5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}}}
-, {"uuid": "runcat@kolesnikov.se", "name": "RunCat", "pname": "runcat", "description": "The cat tells you the CPU usage by running speed", "link": "https://extensions.gnome.org/extension/2986/runcat/", "shell_version_map": {"38": {"version": "17", "sha256": "19fkadmqndwpw5q5ab4mym7whc0cfs2vl6xh533z7p2rg2hxfslx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBjYXQgdGVsbHMgeW91IHRoZSBDUFUgdXNhZ2UgYnkgcnVubmluZyBzcGVlZCIsCiAgIm5hbWUiOiAiUnVuQ2F0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93aW4wZXJyL2dub21lLXJ1bmNhdCIsCiAgInV1aWQiOiAicnVuY2F0QGtvbGVzbmlrb3Yuc2UiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "40": {"version": "17", "sha256": "19fkadmqndwpw5q5ab4mym7whc0cfs2vl6xh533z7p2rg2hxfslx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBjYXQgdGVsbHMgeW91IHRoZSBDUFUgdXNhZ2UgYnkgcnVubmluZyBzcGVlZCIsCiAgIm5hbWUiOiAiUnVuQ2F0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93aW4wZXJyL2dub21lLXJ1bmNhdCIsCiAgInV1aWQiOiAicnVuY2F0QGtvbGVzbmlrb3Yuc2UiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "41": {"version": "17", "sha256": "19fkadmqndwpw5q5ab4mym7whc0cfs2vl6xh533z7p2rg2hxfslx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBjYXQgdGVsbHMgeW91IHRoZSBDUFUgdXNhZ2UgYnkgcnVubmluZyBzcGVlZCIsCiAgIm5hbWUiOiAiUnVuQ2F0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93aW4wZXJyL2dub21lLXJ1bmNhdCIsCiAgInV1aWQiOiAicnVuY2F0QGtvbGVzbmlrb3Yuc2UiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
+, {"uuid": "runcat@kolesnikov.se", "name": "RunCat", "pname": "runcat", "description": "The cat tells you the CPU usage by running speed", "link": "https://extensions.gnome.org/extension/2986/runcat/", "shell_version_map": {"38": {"version": "18", "sha256": "142qhz0ry330gcj9wg2hwa83d9xlsnrcajj0d9c4xaar9mhqc22d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBjYXQgdGVsbHMgeW91IHRoZSBDUFUgdXNhZ2UgYnkgcnVubmluZyBzcGVlZCIsCiAgIm5hbWUiOiAiUnVuQ2F0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd2luMGVyci9nbm9tZS1ydW5jYXQiLAogICJ1dWlkIjogInJ1bmNhdEBrb2xlc25pa292LnNlIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "40": {"version": "18", "sha256": "142qhz0ry330gcj9wg2hwa83d9xlsnrcajj0d9c4xaar9mhqc22d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBjYXQgdGVsbHMgeW91IHRoZSBDUFUgdXNhZ2UgYnkgcnVubmluZyBzcGVlZCIsCiAgIm5hbWUiOiAiUnVuQ2F0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd2luMGVyci9nbm9tZS1ydW5jYXQiLAogICJ1dWlkIjogInJ1bmNhdEBrb2xlc25pa292LnNlIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "41": {"version": "18", "sha256": "142qhz0ry330gcj9wg2hwa83d9xlsnrcajj0d9c4xaar9mhqc22d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBjYXQgdGVsbHMgeW91IHRoZSBDUFUgdXNhZ2UgYnkgcnVubmluZyBzcGVlZCIsCiAgIm5hbWUiOiAiUnVuQ2F0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd2luMGVyci9nbm9tZS1ydW5jYXQiLAogICJ1dWlkIjogInJ1bmNhdEBrb2xlc25pa292LnNlIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "42": {"version": "18", "sha256": "142qhz0ry330gcj9wg2hwa83d9xlsnrcajj0d9c4xaar9mhqc22d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBjYXQgdGVsbHMgeW91IHRoZSBDUFUgdXNhZ2UgYnkgcnVubmluZyBzcGVlZCIsCiAgIm5hbWUiOiAiUnVuQ2F0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd2luMGVyci9nbm9tZS1ydW5jYXQiLAogICJ1dWlkIjogInJ1bmNhdEBrb2xlc25pa292LnNlIiwKICAidmVyc2lvbiI6IDE4Cn0="}}}
 , {"uuid": "bowser-gnome@kronosoul.xyz", "name": "Bowser Gnome Extension", "pname": "bowser-gnome-extension", "description": "Create rules to open specific websites in specific web browsers for links clicked in any application on your computer. (emails, chat etc)", "link": "https://extensions.gnome.org/extension/2989/bowser-gnome-extension/", "shell_version_map": {"38": {"version": "10", "sha256": "0y41xz4j24lc50ai8dcvl1l773ral59ixcpvkjq1l82x7baq60pk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwuQm93c2VyIiwKICAiZGVzY3JpcHRpb24iOiAiQ3JlYXRlIHJ1bGVzIHRvIG9wZW4gc3BlY2lmaWMgd2Vic2l0ZXMgaW4gc3BlY2lmaWMgd2ViIGJyb3dzZXJzIGZvciBsaW5rcyBjbGlja2VkIGluIGFueSBhcHBsaWNhdGlvbiBvbiB5b3VyIGNvbXB1dGVyLiAoZW1haWxzLCBjaGF0IGV0YykiLAogICJleHRlbnNpb24taWQiOiAiYm93c2VyLWdub21lIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYm93c2VyLWdub21lIiwKICAibmFtZSI6ICJCb3dzZXIgR25vbWUgRXh0ZW5zaW9uIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImFkbWluQGtyb25vc291bC54eXoiLAogICJyZXNvdXJjZS1wYXRoIjogIi9vcmcva3Jvbm9zb3VsL0Jvd3Nlci8iLAogICJzZXR0aW5ncy1wYXRoIjogIi9vcmcvZ25vbWUvc2hlbGwvZXh0ZW5zaW9ucy9Cb3dzZXIvIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLkJvd3NlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsaXBrL2Jvd3Nlci1nbm9tZSIsCiAgInV1aWQiOiAiYm93c2VyLWdub21lQGtyb25vc291bC54eXoiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
-, {"uuid": "ideapad@laurento.frittella", "name": "IdeaPad", "pname": "ideapad", "description": "Lenovo IdeaPad goodies for Gnome Shell\n\nAt the moment the extension only provides an easy and user-friendly way to toggle battery conservation mode available on Levono Ideapad laptops and visually get its current state.\n\nConfiguration needed! Please check the instruction on the homepage.", "link": "https://extensions.gnome.org/extension/2992/ideapad/", "shell_version_map": {"38": {"version": "10", "sha256": "0qmgvdhv1s16av3n1nhr366mkx0zci6z9h60yfkk88yk17k3d244", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhUGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsXG5cbkF0IHRoZSBtb21lbnQgdGhlIGV4dGVuc2lvbiBvbmx5IHByb3ZpZGVzIGFuIGVhc3kgYW5kIHVzZXItZnJpZW5kbHkgd2F5IHRvIHRvZ2dsZSBiYXR0ZXJ5IGNvbnNlcnZhdGlvbiBtb2RlIGF2YWlsYWJsZSBvbiBMZXZvbm8gSWRlYXBhZCBsYXB0b3BzIGFuZCB2aXN1YWxseSBnZXQgaXRzIGN1cnJlbnQgc3RhdGUuXG5cbkNvbmZpZ3VyYXRpb24gbmVlZGVkISBQbGVhc2UgY2hlY2sgdGhlIGluc3RydWN0aW9uIG9uIHRoZSBob21lcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpZGVhcGFkIiwKICAibmFtZSI6ICJJZGVhUGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sYXVyZW50by9nbm9tZS1zaGVsbC1leHRlbnNpb24taWRlYXBhZCIsCiAgInV1aWQiOiAiaWRlYXBhZEBsYXVyZW50by5mcml0dGVsbGEiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "40": {"version": "10", "sha256": "0qmgvdhv1s16av3n1nhr366mkx0zci6z9h60yfkk88yk17k3d244", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhUGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsXG5cbkF0IHRoZSBtb21lbnQgdGhlIGV4dGVuc2lvbiBvbmx5IHByb3ZpZGVzIGFuIGVhc3kgYW5kIHVzZXItZnJpZW5kbHkgd2F5IHRvIHRvZ2dsZSBiYXR0ZXJ5IGNvbnNlcnZhdGlvbiBtb2RlIGF2YWlsYWJsZSBvbiBMZXZvbm8gSWRlYXBhZCBsYXB0b3BzIGFuZCB2aXN1YWxseSBnZXQgaXRzIGN1cnJlbnQgc3RhdGUuXG5cbkNvbmZpZ3VyYXRpb24gbmVlZGVkISBQbGVhc2UgY2hlY2sgdGhlIGluc3RydWN0aW9uIG9uIHRoZSBob21lcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpZGVhcGFkIiwKICAibmFtZSI6ICJJZGVhUGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sYXVyZW50by9nbm9tZS1zaGVsbC1leHRlbnNpb24taWRlYXBhZCIsCiAgInV1aWQiOiAiaWRlYXBhZEBsYXVyZW50by5mcml0dGVsbGEiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "0qmgvdhv1s16av3n1nhr366mkx0zci6z9h60yfkk88yk17k3d244", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhUGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsXG5cbkF0IHRoZSBtb21lbnQgdGhlIGV4dGVuc2lvbiBvbmx5IHByb3ZpZGVzIGFuIGVhc3kgYW5kIHVzZXItZnJpZW5kbHkgd2F5IHRvIHRvZ2dsZSBiYXR0ZXJ5IGNvbnNlcnZhdGlvbiBtb2RlIGF2YWlsYWJsZSBvbiBMZXZvbm8gSWRlYXBhZCBsYXB0b3BzIGFuZCB2aXN1YWxseSBnZXQgaXRzIGN1cnJlbnQgc3RhdGUuXG5cbkNvbmZpZ3VyYXRpb24gbmVlZGVkISBQbGVhc2UgY2hlY2sgdGhlIGluc3RydWN0aW9uIG9uIHRoZSBob21lcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpZGVhcGFkIiwKICAibmFtZSI6ICJJZGVhUGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sYXVyZW50by9nbm9tZS1zaGVsbC1leHRlbnNpb24taWRlYXBhZCIsCiAgInV1aWQiOiAiaWRlYXBhZEBsYXVyZW50by5mcml0dGVsbGEiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
+, {"uuid": "ideapad@laurento.frittella", "name": "IdeaPad", "pname": "ideapad", "description": "Lenovo IdeaPad goodies for Gnome Shell\n\nAt the moment the extension only provides an easy and user-friendly way to toggle battery conservation mode available on Levono Ideapad laptops and visually get its current state.\n\nConfiguration needed! Please check the instruction on the homepage.", "link": "https://extensions.gnome.org/extension/2992/ideapad/", "shell_version_map": {"38": {"version": "11", "sha256": "0p0crv91n0lals20hkrvivj00yhsadkwy9s2bfdyzmk6slwa35rb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhUGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsXG5cbkF0IHRoZSBtb21lbnQgdGhlIGV4dGVuc2lvbiBvbmx5IHByb3ZpZGVzIGFuIGVhc3kgYW5kIHVzZXItZnJpZW5kbHkgd2F5IHRvIHRvZ2dsZSBiYXR0ZXJ5IGNvbnNlcnZhdGlvbiBtb2RlIGF2YWlsYWJsZSBvbiBMZXZvbm8gSWRlYXBhZCBsYXB0b3BzIGFuZCB2aXN1YWxseSBnZXQgaXRzIGN1cnJlbnQgc3RhdGUuXG5cbkNvbmZpZ3VyYXRpb24gbmVlZGVkISBQbGVhc2UgY2hlY2sgdGhlIGluc3RydWN0aW9uIG9uIHRoZSBob21lcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpZGVhcGFkIiwKICAibmFtZSI6ICJJZGVhUGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGF1cmVudG8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWlkZWFwYWQiLAogICJ1dWlkIjogImlkZWFwYWRAbGF1cmVudG8uZnJpdHRlbGxhIiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "11", "sha256": "0p0crv91n0lals20hkrvivj00yhsadkwy9s2bfdyzmk6slwa35rb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhUGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsXG5cbkF0IHRoZSBtb21lbnQgdGhlIGV4dGVuc2lvbiBvbmx5IHByb3ZpZGVzIGFuIGVhc3kgYW5kIHVzZXItZnJpZW5kbHkgd2F5IHRvIHRvZ2dsZSBiYXR0ZXJ5IGNvbnNlcnZhdGlvbiBtb2RlIGF2YWlsYWJsZSBvbiBMZXZvbm8gSWRlYXBhZCBsYXB0b3BzIGFuZCB2aXN1YWxseSBnZXQgaXRzIGN1cnJlbnQgc3RhdGUuXG5cbkNvbmZpZ3VyYXRpb24gbmVlZGVkISBQbGVhc2UgY2hlY2sgdGhlIGluc3RydWN0aW9uIG9uIHRoZSBob21lcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpZGVhcGFkIiwKICAibmFtZSI6ICJJZGVhUGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGF1cmVudG8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWlkZWFwYWQiLAogICJ1dWlkIjogImlkZWFwYWRAbGF1cmVudG8uZnJpdHRlbGxhIiwKICAidmVyc2lvbiI6IDExCn0="}, "41": {"version": "11", "sha256": "0p0crv91n0lals20hkrvivj00yhsadkwy9s2bfdyzmk6slwa35rb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhUGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsXG5cbkF0IHRoZSBtb21lbnQgdGhlIGV4dGVuc2lvbiBvbmx5IHByb3ZpZGVzIGFuIGVhc3kgYW5kIHVzZXItZnJpZW5kbHkgd2F5IHRvIHRvZ2dsZSBiYXR0ZXJ5IGNvbnNlcnZhdGlvbiBtb2RlIGF2YWlsYWJsZSBvbiBMZXZvbm8gSWRlYXBhZCBsYXB0b3BzIGFuZCB2aXN1YWxseSBnZXQgaXRzIGN1cnJlbnQgc3RhdGUuXG5cbkNvbmZpZ3VyYXRpb24gbmVlZGVkISBQbGVhc2UgY2hlY2sgdGhlIGluc3RydWN0aW9uIG9uIHRoZSBob21lcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpZGVhcGFkIiwKICAibmFtZSI6ICJJZGVhUGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGF1cmVudG8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWlkZWFwYWQiLAogICJ1dWlkIjogImlkZWFwYWRAbGF1cmVudG8uZnJpdHRlbGxhIiwKICAidmVyc2lvbiI6IDExCn0="}, "42": {"version": "11", "sha256": "0p0crv91n0lals20hkrvivj00yhsadkwy9s2bfdyzmk6slwa35rb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhUGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsXG5cbkF0IHRoZSBtb21lbnQgdGhlIGV4dGVuc2lvbiBvbmx5IHByb3ZpZGVzIGFuIGVhc3kgYW5kIHVzZXItZnJpZW5kbHkgd2F5IHRvIHRvZ2dsZSBiYXR0ZXJ5IGNvbnNlcnZhdGlvbiBtb2RlIGF2YWlsYWJsZSBvbiBMZXZvbm8gSWRlYXBhZCBsYXB0b3BzIGFuZCB2aXN1YWxseSBnZXQgaXRzIGN1cnJlbnQgc3RhdGUuXG5cbkNvbmZpZ3VyYXRpb24gbmVlZGVkISBQbGVhc2UgY2hlY2sgdGhlIGluc3RydWN0aW9uIG9uIHRoZSBob21lcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpZGVhcGFkIiwKICAibmFtZSI6ICJJZGVhUGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGF1cmVudG8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWlkZWFwYWQiLAogICJ1dWlkIjogImlkZWFwYWRAbGF1cmVudG8uZnJpdHRlbGxhIiwKICAidmVyc2lvbiI6IDExCn0="}}}
 , {"uuid": "system-monitor-next@paradoxxx.zero.gmail.com", "name": "system-monitor-next", "pname": "system-monitor-next", "description": "Display system information in GNOME Shell status bar, such as memory, CPU, disk and battery usages, network rates…\n\nThis fork of paradoxxxzero/gnome-shell-system-monitor-applet is for packaging purposes only. This extension is built and updated continuously with the upstream master branch.\n\nThis is preferable for users on bleeding edge distributions that prefer not to wait for a stable release from the main repo. Of course, since we're releasing directly from master some instability is inevitable.\n\nIf you get an error after updating, try restarting Gnome Shell with Alt-F2 then 'r'.", "link": "https://extensions.gnome.org/extension/3010/system-monitor-next/", "shell_version_map": {"40": {"version": "39", "sha256": "1nbn2h4izwbbajpyx65n8rhvcpc56irdz6736pg2apzkmkvhqqj5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgc3lzdGVtIGluZm9ybWF0aW9uIGluIEdOT01FIFNoZWxsIHN0YXR1cyBiYXIsIHN1Y2ggYXMgbWVtb3J5LCBDUFUsIGRpc2sgYW5kIGJhdHRlcnkgdXNhZ2VzLCBuZXR3b3JrIHJhdGVzXHUyMDI2XG5cblRoaXMgZm9yayBvZiBwYXJhZG94eHh6ZXJvL2dub21lLXNoZWxsLXN5c3RlbS1tb25pdG9yLWFwcGxldCBpcyBmb3IgcGFja2FnaW5nIHB1cnBvc2VzIG9ubHkuIFRoaXMgZXh0ZW5zaW9uIGlzIGJ1aWx0IGFuZCB1cGRhdGVkIGNvbnRpbnVvdXNseSB3aXRoIHRoZSB1cHN0cmVhbSBtYXN0ZXIgYnJhbmNoLlxuXG5UaGlzIGlzIHByZWZlcmFibGUgZm9yIHVzZXJzIG9uIGJsZWVkaW5nIGVkZ2UgZGlzdHJpYnV0aW9ucyB0aGF0IHByZWZlciBub3QgdG8gd2FpdCBmb3IgYSBzdGFibGUgcmVsZWFzZSBmcm9tIHRoZSBtYWluIHJlcG8uIE9mIGNvdXJzZSwgc2luY2Ugd2UncmUgcmVsZWFzaW5nIGRpcmVjdGx5IGZyb20gbWFzdGVyIHNvbWUgaW5zdGFiaWxpdHkgaXMgaW5ldml0YWJsZS5cblxuSWYgeW91IGdldCBhbiBlcnJvciBhZnRlciB1cGRhdGluZywgdHJ5IHJlc3RhcnRpbmcgR25vbWUgU2hlbGwgd2l0aCBBbHQtRjIgdGhlbiAncicuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic3lzdGVtLW1vbml0b3IiLAogICJuYW1lIjogInN5c3RlbS1tb25pdG9yLW5leHQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3lzdGVtLW1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tZ2FsZ3MvZ25vbWUtc2hlbGwtc3lzdGVtLW1vbml0b3ItYXBwbGV0IiwKICAidXVpZCI6ICJzeXN0ZW0tbW9uaXRvci1uZXh0QHBhcmFkb3h4eC56ZXJvLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzOQp9"}, "41": {"version": "39", "sha256": "1nbn2h4izwbbajpyx65n8rhvcpc56irdz6736pg2apzkmkvhqqj5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgc3lzdGVtIGluZm9ybWF0aW9uIGluIEdOT01FIFNoZWxsIHN0YXR1cyBiYXIsIHN1Y2ggYXMgbWVtb3J5LCBDUFUsIGRpc2sgYW5kIGJhdHRlcnkgdXNhZ2VzLCBuZXR3b3JrIHJhdGVzXHUyMDI2XG5cblRoaXMgZm9yayBvZiBwYXJhZG94eHh6ZXJvL2dub21lLXNoZWxsLXN5c3RlbS1tb25pdG9yLWFwcGxldCBpcyBmb3IgcGFja2FnaW5nIHB1cnBvc2VzIG9ubHkuIFRoaXMgZXh0ZW5zaW9uIGlzIGJ1aWx0IGFuZCB1cGRhdGVkIGNvbnRpbnVvdXNseSB3aXRoIHRoZSB1cHN0cmVhbSBtYXN0ZXIgYnJhbmNoLlxuXG5UaGlzIGlzIHByZWZlcmFibGUgZm9yIHVzZXJzIG9uIGJsZWVkaW5nIGVkZ2UgZGlzdHJpYnV0aW9ucyB0aGF0IHByZWZlciBub3QgdG8gd2FpdCBmb3IgYSBzdGFibGUgcmVsZWFzZSBmcm9tIHRoZSBtYWluIHJlcG8uIE9mIGNvdXJzZSwgc2luY2Ugd2UncmUgcmVsZWFzaW5nIGRpcmVjdGx5IGZyb20gbWFzdGVyIHNvbWUgaW5zdGFiaWxpdHkgaXMgaW5ldml0YWJsZS5cblxuSWYgeW91IGdldCBhbiBlcnJvciBhZnRlciB1cGRhdGluZywgdHJ5IHJlc3RhcnRpbmcgR25vbWUgU2hlbGwgd2l0aCBBbHQtRjIgdGhlbiAncicuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic3lzdGVtLW1vbml0b3IiLAogICJuYW1lIjogInN5c3RlbS1tb25pdG9yLW5leHQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3lzdGVtLW1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tZ2FsZ3MvZ25vbWUtc2hlbGwtc3lzdGVtLW1vbml0b3ItYXBwbGV0IiwKICAidXVpZCI6ICJzeXN0ZW0tbW9uaXRvci1uZXh0QHBhcmFkb3h4eC56ZXJvLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzOQp9"}, "42": {"version": "39", "sha256": "1nbn2h4izwbbajpyx65n8rhvcpc56irdz6736pg2apzkmkvhqqj5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgc3lzdGVtIGluZm9ybWF0aW9uIGluIEdOT01FIFNoZWxsIHN0YXR1cyBiYXIsIHN1Y2ggYXMgbWVtb3J5LCBDUFUsIGRpc2sgYW5kIGJhdHRlcnkgdXNhZ2VzLCBuZXR3b3JrIHJhdGVzXHUyMDI2XG5cblRoaXMgZm9yayBvZiBwYXJhZG94eHh6ZXJvL2dub21lLXNoZWxsLXN5c3RlbS1tb25pdG9yLWFwcGxldCBpcyBmb3IgcGFja2FnaW5nIHB1cnBvc2VzIG9ubHkuIFRoaXMgZXh0ZW5zaW9uIGlzIGJ1aWx0IGFuZCB1cGRhdGVkIGNvbnRpbnVvdXNseSB3aXRoIHRoZSB1cHN0cmVhbSBtYXN0ZXIgYnJhbmNoLlxuXG5UaGlzIGlzIHByZWZlcmFibGUgZm9yIHVzZXJzIG9uIGJsZWVkaW5nIGVkZ2UgZGlzdHJpYnV0aW9ucyB0aGF0IHByZWZlciBub3QgdG8gd2FpdCBmb3IgYSBzdGFibGUgcmVsZWFzZSBmcm9tIHRoZSBtYWluIHJlcG8uIE9mIGNvdXJzZSwgc2luY2Ugd2UncmUgcmVsZWFzaW5nIGRpcmVjdGx5IGZyb20gbWFzdGVyIHNvbWUgaW5zdGFiaWxpdHkgaXMgaW5ldml0YWJsZS5cblxuSWYgeW91IGdldCBhbiBlcnJvciBhZnRlciB1cGRhdGluZywgdHJ5IHJlc3RhcnRpbmcgR25vbWUgU2hlbGwgd2l0aCBBbHQtRjIgdGhlbiAncicuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic3lzdGVtLW1vbml0b3IiLAogICJuYW1lIjogInN5c3RlbS1tb25pdG9yLW5leHQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3lzdGVtLW1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tZ2FsZ3MvZ25vbWUtc2hlbGwtc3lzdGVtLW1vbml0b3ItYXBwbGV0IiwKICAidXVpZCI6ICJzeXN0ZW0tbW9uaXRvci1uZXh0QHBhcmFkb3h4eC56ZXJvLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzOQp9"}}}
-, {"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": "27", "sha256": "107d29z92p9cl0knzzfzfdxpsbg17ljzflzc2ia2g0r8naaq4q0r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6YWJsZSB1c2VyLXRoZW1lIHdpdGggdXNlciBzdHlsZXNoZWV0IGFuZCBkYXJrIHRoZW1lIGF1dG8tc3dpdGNoIHN1cHBvcnRcblxuRm9yIHN1cHBvcnQsIHBsZWFzZSByZXBvcnQgYW55IGlzc3VlcyB2aWEgdGhlIGhvbWVwYWdlIGxpbmsgYmVsb3cuIiwKICAiZXh0ZW5zaW9uLWlkIjogInVzZXItdGhlbWUteCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi11c2VyLXRoZW1lLXgiLAogICJuYW1lIjogIlVzZXIgVGhlbWVzIFgiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImpvaG4uc3Rvd2Vyc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZXItdGhlbWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHViZXJyeS91c2VyLXRoZW1lLXgiLAogICJ1dWlkIjogInVzZXItdGhlbWUteEB0dWJlcnJ5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyNwp9"}}}
+, {"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": "2", "sha256": "10qly2cldlrca96akywhw0cg5rmihh5b2mqs6sfrrincmnf0vnfw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjdGl2YXRlIGFuZCBkZWFjdGl2YXRlIFZMQU4gY29ubmVjdGlvbnMgZnJvbSB0aGUgc3lzdGVtIHBhbmVsLiIsCiAgIm5hbWUiOiAiVkxBTiBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYXJjYXRvL2dub21lLXZsYW4tc3dpdGNoZXIiLAogICJ1dWlkIjogInZsYW4tc3dpdGNoZXJAZGFyY2F0by5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMgp9"}, "40": {"version": "2", "sha256": "10qly2cldlrca96akywhw0cg5rmihh5b2mqs6sfrrincmnf0vnfw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjdGl2YXRlIGFuZCBkZWFjdGl2YXRlIFZMQU4gY29ubmVjdGlvbnMgZnJvbSB0aGUgc3lzdGVtIHBhbmVsLiIsCiAgIm5hbWUiOiAiVkxBTiBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYXJjYXRvL2dub21lLXZsYW4tc3dpdGNoZXIiLAogICJ1dWlkIjogInZsYW4tc3dpdGNoZXJAZGFyY2F0by5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"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": "10", "sha256": "05gi4r8wq8bnb1b5476w5h737swg0rdkm7fq1g2l2c9hg0h9r007", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgbWF4aW1pemVkIHdpbmRvd3Mgd2lsbCBiZSBtb3ZlZCB0byBlbXB0eSB3b3Jrc3BhY2VzLlxuU3VwcG9ydHMgbXVsdGlwbGUgbW9uaXRvcnMuIiwKICAibmFtZSI6ICJNYXhpbWl6ZSBUbyBFbXB0eSBXb3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thaXNlcmFjbS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbWF4aW1pemUtdG8tZW1wdHktd29ya3NwYWNlIiwKICAidXVpZCI6ICJNYXhpbWl6ZVRvRW1wdHlXb3Jrc3BhY2UtZXh0ZW5zaW9uQGthaXNlcnNpdGUuZGUiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "40": {"version": "10", "sha256": "05gi4r8wq8bnb1b5476w5h737swg0rdkm7fq1g2l2c9hg0h9r007", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgbWF4aW1pemVkIHdpbmRvd3Mgd2lsbCBiZSBtb3ZlZCB0byBlbXB0eSB3b3Jrc3BhY2VzLlxuU3VwcG9ydHMgbXVsdGlwbGUgbW9uaXRvcnMuIiwKICAibmFtZSI6ICJNYXhpbWl6ZSBUbyBFbXB0eSBXb3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thaXNlcmFjbS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbWF4aW1pemUtdG8tZW1wdHktd29ya3NwYWNlIiwKICAidXVpZCI6ICJNYXhpbWl6ZVRvRW1wdHlXb3Jrc3BhY2UtZXh0ZW5zaW9uQGthaXNlcnNpdGUuZGUiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "05gi4r8wq8bnb1b5476w5h737swg0rdkm7fq1g2l2c9hg0h9r007", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgbWF4aW1pemVkIHdpbmRvd3Mgd2lsbCBiZSBtb3ZlZCB0byBlbXB0eSB3b3Jrc3BhY2VzLlxuU3VwcG9ydHMgbXVsdGlwbGUgbW9uaXRvcnMuIiwKICAibmFtZSI6ICJNYXhpbWl6ZSBUbyBFbXB0eSBXb3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thaXNlcmFjbS9nbm9tZS1zaGVsbC1leHRlbnNpb24tbWF4aW1pemUtdG8tZW1wdHktd29ya3NwYWNlIiwKICAidXVpZCI6ICJNYXhpbWl6ZVRvRW1wdHlXb3Jrc3BhY2UtZXh0ZW5zaW9uQGthaXNlcnNpdGUuZGUiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
+, {"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="}}}
 , {"uuid": "eye-extended@als.kz", "name": "Eye and Mouse Extended", "pname": "eye-extended", "description": "Adds an eye to the indicator bar that follows your cursor \nYou can also display the mouse indicator, perhaps it will help you with the problem of displaying the mouse cursor in Skype", "link": "https://extensions.gnome.org/extension/3139/eye-extended/", "shell_version_map": {"38": {"version": "9", "sha256": "1y2bgk2kww0g3f1d93s1w15g5xihjbipq40wr08f41jr8l53v9ay", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gZXllIHRvIHRoZSBpbmRpY2F0b3IgYmFyIHRoYXQgZm9sbG93cyB5b3VyIGN1cnNvciBcbllvdSBjYW4gYWxzbyBkaXNwbGF5IHRoZSBtb3VzZSBpbmRpY2F0b3IsIHBlcmhhcHMgaXQgd2lsbCBoZWxwIHlvdSB3aXRoIHRoZSBwcm9ibGVtIG9mIGRpc3BsYXlpbmcgdGhlIG1vdXNlIGN1cnNvciBpbiBTa3lwZSIsCiAgImdldHRleHQtZG9tYWluIjogIkV5ZUV4dGVuZGVkIiwKICAibmFtZSI6ICJFeWUgYW5kIE1vdXNlIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImt6LmFscy5leWUtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMCIsCiAgICAiMy4zOC4wIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGV4ZXlsb3ZjaGlrb3YvZXllLWV4dGVuZGVkLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZXllLWV4dGVuZGVkQGFscy5reiIsCiAgInZlcnNpb24iOiA5Cn0="}, "40": {"version": "9", "sha256": "1y2bgk2kww0g3f1d93s1w15g5xihjbipq40wr08f41jr8l53v9ay", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gZXllIHRvIHRoZSBpbmRpY2F0b3IgYmFyIHRoYXQgZm9sbG93cyB5b3VyIGN1cnNvciBcbllvdSBjYW4gYWxzbyBkaXNwbGF5IHRoZSBtb3VzZSBpbmRpY2F0b3IsIHBlcmhhcHMgaXQgd2lsbCBoZWxwIHlvdSB3aXRoIHRoZSBwcm9ibGVtIG9mIGRpc3BsYXlpbmcgdGhlIG1vdXNlIGN1cnNvciBpbiBTa3lwZSIsCiAgImdldHRleHQtZG9tYWluIjogIkV5ZUV4dGVuZGVkIiwKICAibmFtZSI6ICJFeWUgYW5kIE1vdXNlIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImt6LmFscy5leWUtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMCIsCiAgICAiMy4zOC4wIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGV4ZXlsb3ZjaGlrb3YvZXllLWV4dGVuZGVkLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZXllLWV4dGVuZGVkQGFscy5reiIsCiAgInZlcnNpb24iOiA5Cn0="}, "41": {"version": "9", "sha256": "1y2bgk2kww0g3f1d93s1w15g5xihjbipq40wr08f41jr8l53v9ay", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gZXllIHRvIHRoZSBpbmRpY2F0b3IgYmFyIHRoYXQgZm9sbG93cyB5b3VyIGN1cnNvciBcbllvdSBjYW4gYWxzbyBkaXNwbGF5IHRoZSBtb3VzZSBpbmRpY2F0b3IsIHBlcmhhcHMgaXQgd2lsbCBoZWxwIHlvdSB3aXRoIHRoZSBwcm9ibGVtIG9mIGRpc3BsYXlpbmcgdGhlIG1vdXNlIGN1cnNvciBpbiBTa3lwZSIsCiAgImdldHRleHQtZG9tYWluIjogIkV5ZUV4dGVuZGVkIiwKICAibmFtZSI6ICJFeWUgYW5kIE1vdXNlIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImt6LmFscy5leWUtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMCIsCiAgICAiMy4zOC4wIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGV4ZXlsb3ZjaGlrb3YvZXllLWV4dGVuZGVkLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZXllLWV4dGVuZGVkQGFscy5reiIsCiAgInZlcnNpb24iOiA5Cn0="}}}
 , {"uuid": "wireguard-indicator@gregos.me", "name": "Wireguard Indicator", "pname": "wireguard-indicator", "description": "Enable, disable, and view details of Wireguard.\nDeveloped by Gregos-Winus.", "link": "https://extensions.gnome.org/extension/3160/wireguard-indicator/", "shell_version_map": {"38": {"version": "4", "sha256": "1r12pw550v3h5f6zxl0psnsx031b5c7sj374f9h078lwqs85wb8w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSwgZGlzYWJsZSwgYW5kIHZpZXcgZGV0YWlscyBvZiBXaXJlZ3VhcmQuXG5EZXZlbG9wZWQgYnkgR3JlZ29zLVdpbnVzLiIsCiAgIm5hbWUiOiAiV2lyZWd1YXJkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGdyZWdvcy5tZSIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "1r12pw550v3h5f6zxl0psnsx031b5c7sj374f9h078lwqs85wb8w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSwgZGlzYWJsZSwgYW5kIHZpZXcgZGV0YWlscyBvZiBXaXJlZ3VhcmQuXG5EZXZlbG9wZWQgYnkgR3JlZ29zLVdpbnVzLiIsCiAgIm5hbWUiOiAiV2lyZWd1YXJkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGdyZWdvcy5tZSIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "1r12pw550v3h5f6zxl0psnsx031b5c7sj374f9h078lwqs85wb8w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSwgZGlzYWJsZSwgYW5kIHZpZXcgZGV0YWlscyBvZiBXaXJlZ3VhcmQuXG5EZXZlbG9wZWQgYnkgR3JlZ29zLVdpbnVzLiIsCiAgIm5hbWUiOiAiV2lyZWd1YXJkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGdyZWdvcy5tZSIsCiAgInZlcnNpb24iOiA0Cn0="}, "42": {"version": "4", "sha256": "1r12pw550v3h5f6zxl0psnsx031b5c7sj374f9h078lwqs85wb8w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSwgZGlzYWJsZSwgYW5kIHZpZXcgZGV0YWlscyBvZiBXaXJlZ3VhcmQuXG5EZXZlbG9wZWQgYnkgR3JlZ29zLVdpbnVzLiIsCiAgIm5hbWUiOiAiV2lyZWd1YXJkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGdyZWdvcy5tZSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "blur-my-shell@aunetx", "name": "Blur my Shell", "pname": "blur-my-shell", "description": "Adds a blur look to different parts of the GNOME Shell, including the top panel, dash and overview.\n\nYou can support my work by sponsoring me on:\n- github: https://github.com/sponsors/aunetx\n- ko-fi: https://ko-fi.com/aunetx", "link": "https://extensions.gnome.org/extension/3193/blur-my-shell/", "shell_version_map": {"38": {"version": "22", "sha256": "03vvxjdk7dfzx1crr5axp9qf4gg9lsh043zddcir8sj64m3mkz2r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5Zb3UgY2FuIHN1cHBvcnQgbXkgd29yayBieSBzcG9uc29yaW5nIG1lIG9uOlxuLSBnaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9hdW5ldHhcbi0ga28tZmk6IGh0dHBzOi8va28tZmkuY29tL2F1bmV0eCIsCiAgIm5hbWUiOiAiQmx1ciBteSBTaGVsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F1bmV0eC9nbm9tZS1zaGVsbC1leHRlbnNpb24tYmx1ci1teS1zaGVsbCIsCiAgInV1aWQiOiAiYmx1ci1teS1zaGVsbEBhdW5ldHgiLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "40": {"version": "28", "sha256": "1b1vz0ixns3ssbfkyijjvmdf29j1sqig58wdsmixfgsl48ql9d56", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5Zb3UgY2FuIHN1cHBvcnQgbXkgd29yayBieSBzcG9uc29yaW5nIG1lIG9uOlxuLSBnaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9hdW5ldHhcbi0ga28tZmk6IGh0dHBzOi8va28tZmkuY29tL2F1bmV0eCIsCiAgIm5hbWUiOiAiQmx1ciBteSBTaGVsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F1bmV0eC9nbm9tZS1zaGVsbC1leHRlbnNpb24tYmx1ci1teS1zaGVsbCIsCiAgInV1aWQiOiAiYmx1ci1teS1zaGVsbEBhdW5ldHgiLAogICJ2ZXJzaW9uIjogMjgKfQ=="}, "41": {"version": "28", "sha256": "1b1vz0ixns3ssbfkyijjvmdf29j1sqig58wdsmixfgsl48ql9d56", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5Zb3UgY2FuIHN1cHBvcnQgbXkgd29yayBieSBzcG9uc29yaW5nIG1lIG9uOlxuLSBnaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9hdW5ldHhcbi0ga28tZmk6IGh0dHBzOi8va28tZmkuY29tL2F1bmV0eCIsCiAgIm5hbWUiOiAiQmx1ciBteSBTaGVsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F1bmV0eC9nbm9tZS1zaGVsbC1leHRlbnNpb24tYmx1ci1teS1zaGVsbCIsCiAgInV1aWQiOiAiYmx1ci1teS1zaGVsbEBhdW5ldHgiLAogICJ2ZXJzaW9uIjogMjgKfQ=="}, "42": {"version": "28", "sha256": "1b1vz0ixns3ssbfkyijjvmdf29j1sqig58wdsmixfgsl48ql9d56", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5Zb3UgY2FuIHN1cHBvcnQgbXkgd29yayBieSBzcG9uc29yaW5nIG1lIG9uOlxuLSBnaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9hdW5ldHhcbi0ga28tZmk6IGh0dHBzOi8va28tZmkuY29tL2F1bmV0eCIsCiAgIm5hbWUiOiAiQmx1ciBteSBTaGVsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F1bmV0eC9nbm9tZS1zaGVsbC1leHRlbnNpb24tYmx1ci1teS1zaGVsbCIsCiAgInV1aWQiOiAiYmx1ci1teS1zaGVsbEBhdW5ldHgiLAogICJ2ZXJzaW9uIjogMjgKfQ=="}}}
@@ -325,11 +326,11 @@
 , {"uuid": "EndSessionTimer@pratap.fastmail.fm", "name": "End Session Timer", "pname": "end-session-timer", "description": "Set End Session Timer between 5 to 60 Seconds", "link": "https://extensions.gnome.org/extension/3216/end-session-timer/", "shell_version_map": {"38": {"version": "7", "sha256": "0c3wfx1iksb67fq3hm8cprhwb2f6xykkr4fv4y4drf78f15sh5gm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBFbmQgU2Vzc2lvbiBUaW1lciBiZXR3ZWVuIDUgdG8gNjAgU2Vjb25kcyIsCiAgIm5hbWUiOiAiRW5kIFNlc3Npb24gVGltZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiRW5kU2Vzc2lvblRpbWVyQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "8", "sha256": "0mm9g2ldl2lw52plx3hpbaniqlci1c10q9blkbdpwcmyv53z1dq4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBFbmQgU2Vzc2lvbiBUaW1lciBiZXR3ZWVuIDUgdG8gNjAgU2Vjb25kcyIsCiAgIm5hbWUiOiAiRW5kIFNlc3Npb24gVGltZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIkVuZFNlc3Npb25UaW1lckBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"uuid": "block-caribou-36@lxylxy123456.ercli.dev", "name": "Block Caribou 36", "pname": "block-caribou-36", "description": "Blocks caribou (the on screen keyboard) from popping up when you use a touchscreen. Even if it's disabled in the accessibility services menu. Continuation of keringar's work. Tested on GNOME Shell version 3.36 - 41 on Fedora 32 - 35. For a higher version see https://github.com/lxylxy123456/cariboublocker#installing-on-high-gnome-shell-version .", "link": "https://extensions.gnome.org/extension/3222/block-caribou-36/", "shell_version_map": {"40": {"version": "4", "sha256": "1bnkwdsmsjr7x9cx31lfzs3dnfqzmdy8cq1zc26hgpvchd02ac60", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsb2NrcyBjYXJpYm91ICh0aGUgb24gc2NyZWVuIGtleWJvYXJkKSBmcm9tIHBvcHBpbmcgdXAgd2hlbiB5b3UgdXNlIGEgdG91Y2hzY3JlZW4uIEV2ZW4gaWYgaXQncyBkaXNhYmxlZCBpbiB0aGUgYWNjZXNzaWJpbGl0eSBzZXJ2aWNlcyBtZW51LiBDb250aW51YXRpb24gb2Yga2VyaW5nYXIncyB3b3JrLiBUZXN0ZWQgb24gR05PTUUgU2hlbGwgdmVyc2lvbiAzLjM2IC0gNDEgb24gRmVkb3JhIDMyIC0gMzUuIEZvciBhIGhpZ2hlciB2ZXJzaW9uIHNlZSBodHRwczovL2dpdGh1Yi5jb20vbHh5bHh5MTIzNDU2L2Nhcmlib3VibG9ja2VyI2luc3RhbGxpbmctb24taGlnaC1nbm9tZS1zaGVsbC12ZXJzaW9uIC4iLAogICJuYW1lIjogIkJsb2NrIENhcmlib3UgMzYiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x4eWx4eTEyMzQ1Ni9jYXJpYm91YmxvY2tlciIsCiAgInV1aWQiOiAiYmxvY2stY2FyaWJvdS0zNkBseHlseHkxMjM0NTYuZXJjbGkuZGV2IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1bnkwdsmsjr7x9cx31lfzs3dnfqzmdy8cq1zc26hgpvchd02ac60", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsb2NrcyBjYXJpYm91ICh0aGUgb24gc2NyZWVuIGtleWJvYXJkKSBmcm9tIHBvcHBpbmcgdXAgd2hlbiB5b3UgdXNlIGEgdG91Y2hzY3JlZW4uIEV2ZW4gaWYgaXQncyBkaXNhYmxlZCBpbiB0aGUgYWNjZXNzaWJpbGl0eSBzZXJ2aWNlcyBtZW51LiBDb250aW51YXRpb24gb2Yga2VyaW5nYXIncyB3b3JrLiBUZXN0ZWQgb24gR05PTUUgU2hlbGwgdmVyc2lvbiAzLjM2IC0gNDEgb24gRmVkb3JhIDMyIC0gMzUuIEZvciBhIGhpZ2hlciB2ZXJzaW9uIHNlZSBodHRwczovL2dpdGh1Yi5jb20vbHh5bHh5MTIzNDU2L2Nhcmlib3VibG9ja2VyI2luc3RhbGxpbmctb24taGlnaC1nbm9tZS1zaGVsbC12ZXJzaW9uIC4iLAogICJuYW1lIjogIkJsb2NrIENhcmlib3UgMzYiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x4eWx4eTEyMzQ1Ni9jYXJpYm91YmxvY2tlciIsCiAgInV1aWQiOiAiYmxvY2stY2FyaWJvdS0zNkBseHlseHkxMjM0NTYuZXJjbGkuZGV2IiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "unmaximize_double_click@gonza.gmail.com", "name": "Unmaximize Double Click Panel", "pname": "unmaximize-double-click-panel", "description": "Unmaximize the current window on double click on the top panel. You can also maximize horizontally and vertically with middle and right click.", "link": "https://extensions.gnome.org/extension/3228/unmaximize-double-click-panel/", "shell_version_map": {"38": {"version": "5", "sha256": "1frrdzf5c5pn259ibz3fncgh8jgjjdkhy4ymb08h0klkfncgjgkh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubWF4aW1pemUgdGhlIGN1cnJlbnQgd2luZG93IG9uIGRvdWJsZSBjbGljayBvbiB0aGUgdG9wIHBhbmVsLiBZb3UgY2FuIGFsc28gbWF4aW1pemUgaG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5IHdpdGggbWlkZGxlIGFuZCByaWdodCBjbGljay4iLAogICJuYW1lIjogIlVubWF4aW1pemUgRG91YmxlIENsaWNrIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL3VubWF4aW1pemUtZ25vbWUtZXh0IiwKICAidXVpZCI6ICJ1bm1heGltaXplX2RvdWJsZV9jbGlja0Bnb256YS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "1frrdzf5c5pn259ibz3fncgh8jgjjdkhy4ymb08h0klkfncgjgkh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubWF4aW1pemUgdGhlIGN1cnJlbnQgd2luZG93IG9uIGRvdWJsZSBjbGljayBvbiB0aGUgdG9wIHBhbmVsLiBZb3UgY2FuIGFsc28gbWF4aW1pemUgaG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5IHdpdGggbWlkZGxlIGFuZCByaWdodCBjbGljay4iLAogICJuYW1lIjogIlVubWF4aW1pemUgRG91YmxlIENsaWNrIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL3VubWF4aW1pemUtZ25vbWUtZXh0IiwKICAidXVpZCI6ICJ1bm1heGltaXplX2RvdWJsZV9jbGlja0Bnb256YS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "1frrdzf5c5pn259ibz3fncgh8jgjjdkhy4ymb08h0klkfncgjgkh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubWF4aW1pemUgdGhlIGN1cnJlbnQgd2luZG93IG9uIGRvdWJsZSBjbGljayBvbiB0aGUgdG9wIHBhbmVsLiBZb3UgY2FuIGFsc28gbWF4aW1pemUgaG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5IHdpdGggbWlkZGxlIGFuZCByaWdodCBjbGljay4iLAogICJuYW1lIjogIlVubWF4aW1pemUgRG91YmxlIENsaWNrIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL3VubWF4aW1pemUtZ25vbWUtZXh0IiwKICAidXVpZCI6ICJ1bm1heGltaXplX2RvdWJsZV9jbGlja0Bnb256YS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "42": {"version": "5", "sha256": "1frrdzf5c5pn259ibz3fncgh8jgjjdkhy4ymb08h0klkfncgjgkh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubWF4aW1pemUgdGhlIGN1cnJlbnQgd2luZG93IG9uIGRvdWJsZSBjbGljayBvbiB0aGUgdG9wIHBhbmVsLiBZb3UgY2FuIGFsc28gbWF4aW1pemUgaG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5IHdpdGggbWlkZGxlIGFuZCByaWdodCBjbGljay4iLAogICJuYW1lIjogIlVubWF4aW1pemUgRG91YmxlIENsaWNrIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL3VubWF4aW1pemUtZ25vbWUtZXh0IiwKICAidXVpZCI6ICJ1bm1heGltaXplX2RvdWJsZV9jbGlja0Bnb256YS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}}}
-, {"uuid": "unity-like-appswitcher@gonza.com", "name": "Unity-like App Switcher", "pname": "unity-like-app-switcher", "description": "A bigger and more colourfull AppSwitcher", "link": "https://extensions.gnome.org/extension/3231/unity-like-app-switcher/", "shell_version_map": {"38": {"version": "11", "sha256": "17bgnl10ycb8mrw0g2f8vi3fkbjh8n9f52w243mkdi4kcwjqpgwa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYmlnZ2VyIGFuZCBtb3JlIGNvbG91cmZ1bGwgQXBwU3dpdGNoZXIiLAogICJuYW1lIjogIlVuaXR5LWxpa2UgQXBwIFN3aXRjaGVyIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJnb256YSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bml0eS13aW5kb3ctc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nb256YWFyY3IvdW5pdHktbGlrZS1zd2l0Y2hlci1nbm9tZS1leHQiLAogICJ1dWlkIjogInVuaXR5LWxpa2UtYXBwc3dpdGNoZXJAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "11", "sha256": "17bgnl10ycb8mrw0g2f8vi3fkbjh8n9f52w243mkdi4kcwjqpgwa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYmlnZ2VyIGFuZCBtb3JlIGNvbG91cmZ1bGwgQXBwU3dpdGNoZXIiLAogICJuYW1lIjogIlVuaXR5LWxpa2UgQXBwIFN3aXRjaGVyIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJnb256YSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bml0eS13aW5kb3ctc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nb256YWFyY3IvdW5pdHktbGlrZS1zd2l0Y2hlci1nbm9tZS1leHQiLAogICJ1dWlkIjogInVuaXR5LWxpa2UtYXBwc3dpdGNoZXJAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDExCn0="}, "41": {"version": "11", "sha256": "17bgnl10ycb8mrw0g2f8vi3fkbjh8n9f52w243mkdi4kcwjqpgwa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYmlnZ2VyIGFuZCBtb3JlIGNvbG91cmZ1bGwgQXBwU3dpdGNoZXIiLAogICJuYW1lIjogIlVuaXR5LWxpa2UgQXBwIFN3aXRjaGVyIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJnb256YSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bml0eS13aW5kb3ctc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nb256YWFyY3IvdW5pdHktbGlrZS1zd2l0Y2hlci1nbm9tZS1leHQiLAogICJ1dWlkIjogInVuaXR5LWxpa2UtYXBwc3dpdGNoZXJAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDExCn0="}, "42": {"version": "11", "sha256": "17bgnl10ycb8mrw0g2f8vi3fkbjh8n9f52w243mkdi4kcwjqpgwa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYmlnZ2VyIGFuZCBtb3JlIGNvbG91cmZ1bGwgQXBwU3dpdGNoZXIiLAogICJuYW1lIjogIlVuaXR5LWxpa2UgQXBwIFN3aXRjaGVyIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJnb256YSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bml0eS13aW5kb3ctc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nb256YWFyY3IvdW5pdHktbGlrZS1zd2l0Y2hlci1nbm9tZS1leHQiLAogICJ1dWlkIjogInVuaXR5LWxpa2UtYXBwc3dpdGNoZXJAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDExCn0="}}}
+, {"uuid": "unity-like-appswitcher@gonza.com", "name": "Unity-like App Switcher", "pname": "unity-like-app-switcher", "description": "A bigger and more colourfull AppSwitcher", "link": "https://extensions.gnome.org/extension/3231/unity-like-app-switcher/", "shell_version_map": {"38": {"version": "13", "sha256": "1f0izmzksy1vf4kaa8gwzz3pkjxihg2mzswn8mw50cybq5p596gi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYmlnZ2VyIGFuZCBtb3JlIGNvbG91cmZ1bGwgQXBwU3dpdGNoZXIiLAogICJuYW1lIjogIlVuaXR5LWxpa2UgQXBwIFN3aXRjaGVyIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJnb256YSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bml0eS13aW5kb3ctc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nb256YWFyY3IvdW5pdHktbGlrZS1zd2l0Y2hlci1nbm9tZS1leHQiLAogICJ1dWlkIjogInVuaXR5LWxpa2UtYXBwc3dpdGNoZXJAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}, "40": {"version": "13", "sha256": "1f0izmzksy1vf4kaa8gwzz3pkjxihg2mzswn8mw50cybq5p596gi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYmlnZ2VyIGFuZCBtb3JlIGNvbG91cmZ1bGwgQXBwU3dpdGNoZXIiLAogICJuYW1lIjogIlVuaXR5LWxpa2UgQXBwIFN3aXRjaGVyIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJnb256YSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bml0eS13aW5kb3ctc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nb256YWFyY3IvdW5pdHktbGlrZS1zd2l0Y2hlci1nbm9tZS1leHQiLAogICJ1dWlkIjogInVuaXR5LWxpa2UtYXBwc3dpdGNoZXJAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}, "41": {"version": "13", "sha256": "1f0izmzksy1vf4kaa8gwzz3pkjxihg2mzswn8mw50cybq5p596gi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYmlnZ2VyIGFuZCBtb3JlIGNvbG91cmZ1bGwgQXBwU3dpdGNoZXIiLAogICJuYW1lIjogIlVuaXR5LWxpa2UgQXBwIFN3aXRjaGVyIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJnb256YSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bml0eS13aW5kb3ctc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nb256YWFyY3IvdW5pdHktbGlrZS1zd2l0Y2hlci1nbm9tZS1leHQiLAogICJ1dWlkIjogInVuaXR5LWxpa2UtYXBwc3dpdGNoZXJAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}, "42": {"version": "13", "sha256": "1f0izmzksy1vf4kaa8gwzz3pkjxihg2mzswn8mw50cybq5p596gi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYmlnZ2VyIGFuZCBtb3JlIGNvbG91cmZ1bGwgQXBwU3dpdGNoZXIiLAogICJuYW1lIjogIlVuaXR5LWxpa2UgQXBwIFN3aXRjaGVyIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJnb256YSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bml0eS13aW5kb3ctc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nb256YWFyY3IvdW5pdHktbGlrZS1zd2l0Y2hlci1nbm9tZS1leHQiLAogICJ1dWlkIjogInVuaXR5LWxpa2UtYXBwc3dpdGNoZXJAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
 , {"uuid": "add-to-desktop@tommimon.github.com", "name": "Add to Desktop", "pname": "add-to-desktop", "description": "An easy way to create desktop app shortcut in gnome", "link": "https://extensions.gnome.org/extension/3240/add-to-desktop/", "shell_version_map": {"38": {"version": "5", "sha256": "0kchr5daz3s4q18s6aphfyb50wglmlgmjnh3i9ka6d219r0srh64", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGVhc3kgd2F5IHRvIGNyZWF0ZSBkZXNrdG9wIGFwcCBzaG9ydGN1dCBpbiBnbm9tZSIsCiAgIm5hbWUiOiAiQWRkIHRvIERlc2t0b3AiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLmJldGEiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vVG9tbWltb24vYWRkLXRvLWRlc2t0b3AiLAogICJ1dWlkIjogImFkZC10by1kZXNrdG9wQHRvbW1pbW9uLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "0kchr5daz3s4q18s6aphfyb50wglmlgmjnh3i9ka6d219r0srh64", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGVhc3kgd2F5IHRvIGNyZWF0ZSBkZXNrdG9wIGFwcCBzaG9ydGN1dCBpbiBnbm9tZSIsCiAgIm5hbWUiOiAiQWRkIHRvIERlc2t0b3AiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLmJldGEiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vVG9tbWltb24vYWRkLXRvLWRlc2t0b3AiLAogICJ1dWlkIjogImFkZC10by1kZXNrdG9wQHRvbW1pbW9uLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "6", "sha256": "04vk49629c9fhvix04h8r3mbnqyncvyzdkbm7bh3wyjhghnczbps", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGVhc3kgd2F5IHRvIGNyZWF0ZSBkZXNrdG9wIGFwcCBzaG9ydGN1dCBpbiBnbm9tZSIsCiAgIm5hbWUiOiAiQWRkIHRvIERlc2t0b3AiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vVG9tbWltb24vYWRkLXRvLWRlc2t0b3AiLAogICJ1dWlkIjogImFkZC10by1kZXNrdG9wQHRvbW1pbW9uLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "wifi-power-management-toggle@rthery", "name": "Wi-Fi Power Management Toggle", "pname": "wi-fi-power-management-toggle", "description": "Add a toggle to limit Wi-Fi power consumption (when supported by the card) in Gnome System Menu.", "link": "https://extensions.gnome.org/extension/3258/wi-fi-power-management-toggle/", "shell_version_map": {"38": {"version": "2", "sha256": "009r1pswkmisfw0zghk2cawx4qw6av5yldbnw7fcla13qpyj90zh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHRvZ2dsZSB0byBsaW1pdCBXaS1GaSBwb3dlciBjb25zdW1wdGlvbiAod2hlbiBzdXBwb3J0ZWQgYnkgdGhlIGNhcmQpIGluIEdub21lIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiV2ktRmkgUG93ZXIgTWFuYWdlbWVudCBUb2dnbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3J0aGVyeS9nbm9tZS1zaGVsbC1leHRlbnNpb24td2lmaS1wb3dlci1tYW5hZ2VtZW50LXRvZ2dsZSIsCiAgInV1aWQiOiAid2lmaS1wb3dlci1tYW5hZ2VtZW50LXRvZ2dsZUBydGhlcnkiLAogICJ2ZXJzaW9uIjogMgp9"}, "40": {"version": "2", "sha256": "009r1pswkmisfw0zghk2cawx4qw6av5yldbnw7fcla13qpyj90zh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHRvZ2dsZSB0byBsaW1pdCBXaS1GaSBwb3dlciBjb25zdW1wdGlvbiAod2hlbiBzdXBwb3J0ZWQgYnkgdGhlIGNhcmQpIGluIEdub21lIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiV2ktRmkgUG93ZXIgTWFuYWdlbWVudCBUb2dnbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3J0aGVyeS9nbm9tZS1zaGVsbC1leHRlbnNpb24td2lmaS1wb3dlci1tYW5hZ2VtZW50LXRvZ2dsZSIsCiAgInV1aWQiOiAid2lmaS1wb3dlci1tYW5hZ2VtZW50LXRvZ2dsZUBydGhlcnkiLAogICJ2ZXJzaW9uIjogMgp9"}, "41": {"version": "2", "sha256": "009r1pswkmisfw0zghk2cawx4qw6av5yldbnw7fcla13qpyj90zh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHRvZ2dsZSB0byBsaW1pdCBXaS1GaSBwb3dlciBjb25zdW1wdGlvbiAod2hlbiBzdXBwb3J0ZWQgYnkgdGhlIGNhcmQpIGluIEdub21lIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiV2ktRmkgUG93ZXIgTWFuYWdlbWVudCBUb2dnbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3J0aGVyeS9nbm9tZS1zaGVsbC1leHRlbnNpb24td2lmaS1wb3dlci1tYW5hZ2VtZW50LXRvZ2dsZSIsCiAgInV1aWQiOiAid2lmaS1wb3dlci1tYW5hZ2VtZW50LXRvZ2dsZUBydGhlcnkiLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "touchpad_window_switcher@gonza.com", "name": "Touchpad Window Switcher", "pname": "tocuhpad-window-switcher", "description": "3 fingers window switcher. To make it work on Xorg check the service on github.\n\nUp - down: toggle between overview and show desktop (Needs Super+D shorcut to be set on Xorg. Set it with `gsettings set org.gnome.desktop.wm.keybindings show-desktop '<Super>d'`).\n\nYou can also change windows by going to the overview (up) and moving to the left and right, and choosing the window with down. The overview is modified so it’s shown in chronological order.\n", "link": "https://extensions.gnome.org/extension/3294/tocuhpad-window-switcher/", "shell_version_map": {"38": {"version": "8", "sha256": "1x016p30z0pci3qlhpmfqrsgy0vwcfxqladny66ppbb32qisbkac", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIjMgZmluZ2VycyB3aW5kb3cgc3dpdGNoZXIuIFRvIG1ha2UgaXQgd29yayBvbiBYb3JnIGNoZWNrIHRoZSBzZXJ2aWNlIG9uIGdpdGh1Yi5cblxuVXAgLSBkb3duOiB0b2dnbGUgYmV0d2VlbiBvdmVydmlldyBhbmQgc2hvdyBkZXNrdG9wIChOZWVkcyBTdXBlcitEIHNob3JjdXQgdG8gYmUgc2V0IG9uIFhvcmcuIFNldCBpdCB3aXRoIGBnc2V0dGluZ3Mgc2V0IG9yZy5nbm9tZS5kZXNrdG9wLndtLmtleWJpbmRpbmdzIHNob3ctZGVza3RvcCAnPFN1cGVyPmQnYCkuXG5cbllvdSBjYW4gYWxzbyBjaGFuZ2Ugd2luZG93cyBieSBnb2luZyB0byB0aGUgb3ZlcnZpZXcgKHVwKSBhbmQgbW92aW5nIHRvIHRoZSBsZWZ0IGFuZCByaWdodCwgYW5kIGNob29zaW5nIHRoZSB3aW5kb3cgd2l0aCBkb3duLiBUaGUgb3ZlcnZpZXcgaXMgbW9kaWZpZWQgc28gaXRcdTIwMTlzIHNob3duIGluIGNocm9ub2xvZ2ljYWwgb3JkZXIuXG4iLAogICJuYW1lIjogIlRvdWNocGFkIFdpbmRvdyBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dvbnphYXJjci90b3VjaHBhZC13aW5kb3ctc3dpdGNoZXItZ25vbWUtZXh0IiwKICAidXVpZCI6ICJ0b3VjaHBhZF93aW5kb3dfc3dpdGNoZXJAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
-, {"uuid": "gnome-shell-duckduckgo-search-provider@keithcirkel.co.uk", "name": "DuckDuckGo Search Provider", "pname": "duckduckgo-search-provider", "description": "Add DuckDuckGo search suggestions to Gnome Shell Search", "link": "https://extensions.gnome.org/extension/3306/duckduckgo-search-provider/", "shell_version_map": {"38": {"version": "3", "sha256": "1id10vxz5dfq53wbiz8spqkr6d9qvs9dsykxpff29an96lzybj1w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBEdWNrRHVja0dvIHNlYXJjaCBzdWdnZXN0aW9ucyB0byBHbm9tZSBTaGVsbCBTZWFyY2giLAogICJuYW1lIjogIkR1Y2tEdWNrR28gU2VhcmNoIFByb3ZpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VpdGhhbXVzL2dub21lLXNoZWxsLWR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1kdWNrZHVja2dvLXNlYXJjaC1wcm92aWRlckBrZWl0aGNpcmtlbC5jby51ayIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "1id10vxz5dfq53wbiz8spqkr6d9qvs9dsykxpff29an96lzybj1w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBEdWNrRHVja0dvIHNlYXJjaCBzdWdnZXN0aW9ucyB0byBHbm9tZSBTaGVsbCBTZWFyY2giLAogICJuYW1lIjogIkR1Y2tEdWNrR28gU2VhcmNoIFByb3ZpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VpdGhhbXVzL2dub21lLXNoZWxsLWR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1kdWNrZHVja2dvLXNlYXJjaC1wcm92aWRlckBrZWl0aGNpcmtlbC5jby51ayIsCiAgInZlcnNpb24iOiAzCn0="}}}
+, {"uuid": "gnome-shell-duckduckgo-search-provider@keithcirkel.co.uk", "name": "DuckDuckGo Search Provider", "pname": "duckduckgo-search-provider", "description": "Add DuckDuckGo search suggestions to Gnome Shell Search", "link": "https://extensions.gnome.org/extension/3306/duckduckgo-search-provider/", "shell_version_map": {"38": {"version": "4", "sha256": "1ydbdm68i38fbaiscmnkz1ywak072ppz93fiqa37fwgr7hsamxg6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBEdWNrRHVja0dvIHNlYXJjaCBzdWdnZXN0aW9ucyB0byBHbm9tZSBTaGVsbCBTZWFyY2giLAogICJuYW1lIjogIkR1Y2tEdWNrR28gU2VhcmNoIFByb3ZpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VpdGhhbXVzL2dub21lLXNoZWxsLWR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1kdWNrZHVja2dvLXNlYXJjaC1wcm92aWRlckBrZWl0aGNpcmtlbC5jby51ayIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "1ydbdm68i38fbaiscmnkz1ywak072ppz93fiqa37fwgr7hsamxg6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBEdWNrRHVja0dvIHNlYXJjaCBzdWdnZXN0aW9ucyB0byBHbm9tZSBTaGVsbCBTZWFyY2giLAogICJuYW1lIjogIkR1Y2tEdWNrR28gU2VhcmNoIFByb3ZpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VpdGhhbXVzL2dub21lLXNoZWxsLWR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1kdWNrZHVja2dvLXNlYXJjaC1wcm92aWRlckBrZWl0aGNpcmtlbC5jby51ayIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "1ydbdm68i38fbaiscmnkz1ywak072ppz93fiqa37fwgr7hsamxg6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBEdWNrRHVja0dvIHNlYXJjaCBzdWdnZXN0aW9ucyB0byBHbm9tZSBTaGVsbCBTZWFyY2giLAogICJuYW1lIjogIkR1Y2tEdWNrR28gU2VhcmNoIFByb3ZpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VpdGhhbXVzL2dub21lLXNoZWxsLWR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1kdWNrZHVja2dvLXNlYXJjaC1wcm92aWRlckBrZWl0aGNpcmtlbC5jby51ayIsCiAgInZlcnNpb24iOiA0Cn0="}, "42": {"version": "4", "sha256": "1ydbdm68i38fbaiscmnkz1ywak072ppz93fiqa37fwgr7hsamxg6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBEdWNrRHVja0dvIHNlYXJjaCBzdWdnZXN0aW9ucyB0byBHbm9tZSBTaGVsbCBTZWFyY2giLAogICJuYW1lIjogIkR1Y2tEdWNrR28gU2VhcmNoIFByb3ZpZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VpdGhhbXVzL2dub21lLXNoZWxsLWR1Y2tkdWNrZ28tc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1kdWNrZHVja2dvLXNlYXJjaC1wcm92aWRlckBrZWl0aGNpcmtlbC5jby51ayIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "translate-indicator@athenstaedt.net", "name": "Translate Indicator", "pname": "translate-indicator", "description": "Translate extension for Gnome-Shell - based on translate-shell, inspired by Tudmotu's clipboard-indicator and gufoe's text-translator", "link": "https://extensions.gnome.org/extension/3318/translate-indicator/", "shell_version_map": {"38": {"version": "3", "sha256": "04c3hjbcbn8y9d94swmc3qiv63sjynn71jnwp08sgqa79nrn4cyg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBleHRlbnNpb24gZm9yIEdub21lLVNoZWxsIC0gYmFzZWQgb24gdHJhbnNsYXRlLXNoZWxsLCBpbnNwaXJlZCBieSBUdWRtb3R1J3MgY2xpcGJvYXJkLWluZGljYXRvciBhbmQgZ3Vmb2UncyB0ZXh0LXRyYW5zbGF0b3IiLAogICJuYW1lIjogIlRyYW5zbGF0ZSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZXZlbnV6L2dub21lLXRyYW5zbGF0ZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogInRyYW5zbGF0ZS1pbmRpY2F0b3JAYXRoZW5zdGFlZHQubmV0IiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
 , {"uuid": "material-shell@papyelgringo", "name": "Material Shell", "pname": "material-shell", "description": "A modern desktop interface for Linux - packaged as an extension for GNOME Shell. Improve your user experience and get rid of the anarchy of traditional desktop workflows. Designed to simplify navigation and reduce the need to manipulate windows in order to improve productivity. It's meant to be 100% predictable and bring the benefits of tools coveted by professionals to everyone.", "link": "https://extensions.gnome.org/extension/3357/material-shell/", "shell_version_map": {"38": {"version": "12", "sha256": "1rjybqlgbjmflg21cm7js2gjzvdhw14lpzncpzwf18rh4mp2adnr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJpbmRpbmdzIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1hdGVyaWFsc2hlbGwuYmluZGluZ3MiLAogICJkZXNjcmlwdGlvbiI6ICJBIG1vZGVybiBkZXNrdG9wIGludGVyZmFjZSBmb3IgTGludXggLSBwYWNrYWdlZCBhcyBhbiBleHRlbnNpb24gZm9yIEdOT01FIFNoZWxsLiBJbXByb3ZlIHlvdXIgdXNlciBleHBlcmllbmNlIGFuZCBnZXQgcmlkIG9mIHRoZSBhbmFyY2h5IG9mIHRyYWRpdGlvbmFsIGRlc2t0b3Agd29ya2Zsb3dzLiBEZXNpZ25lZCB0byBzaW1wbGlmeSBuYXZpZ2F0aW9uIGFuZCByZWR1Y2UgdGhlIG5lZWQgdG8gbWFuaXB1bGF0ZSB3aW5kb3dzIGluIG9yZGVyIHRvIGltcHJvdmUgcHJvZHVjdGl2aXR5LiBJdCdzIG1lYW50IHRvIGJlIDEwMCUgcHJlZGljdGFibGUgYW5kIGJyaW5nIHRoZSBiZW5lZml0cyBvZiB0b29scyBjb3ZldGVkIGJ5IHByb2Zlc3Npb25hbHMgdG8gZXZlcnlvbmUuIiwKICAibGF5b3V0cyI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tYXRlcmlhbHNoZWxsLmxheW91dHMiLAogICJuYW1lIjogIk1hdGVyaWFsIFNoZWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInRoZW1lIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1hdGVyaWFsc2hlbGwudGhlbWUiLAogICJ0d2Vha3MiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWF0ZXJpYWxzaGVsbC50d2Vha3MiLAogICJ1cmwiOiAiaHR0cHM6Ly9tYXRlcmlhbC1zaGVsbC5jb20iLAogICJ1dWlkIjogIm1hdGVyaWFsLXNoZWxsQHBhcHllbGdyaW5nbyIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "18", "sha256": "1qnldrad5kkm2km4qdkwagp8m2x30bq56jzaba01h6j7mgw90ai6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJpbmRpbmdzIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1hdGVyaWFsc2hlbGwuYmluZGluZ3MiLAogICJkZXNjcmlwdGlvbiI6ICJBIG1vZGVybiBkZXNrdG9wIGludGVyZmFjZSBmb3IgTGludXggLSBwYWNrYWdlZCBhcyBhbiBleHRlbnNpb24gZm9yIEdOT01FIFNoZWxsLiBJbXByb3ZlIHlvdXIgdXNlciBleHBlcmllbmNlIGFuZCBnZXQgcmlkIG9mIHRoZSBhbmFyY2h5IG9mIHRyYWRpdGlvbmFsIGRlc2t0b3Agd29ya2Zsb3dzLiBEZXNpZ25lZCB0byBzaW1wbGlmeSBuYXZpZ2F0aW9uIGFuZCByZWR1Y2UgdGhlIG5lZWQgdG8gbWFuaXB1bGF0ZSB3aW5kb3dzIGluIG9yZGVyIHRvIGltcHJvdmUgcHJvZHVjdGl2aXR5LiBJdCdzIG1lYW50IHRvIGJlIDEwMCUgcHJlZGljdGFibGUgYW5kIGJyaW5nIHRoZSBiZW5lZml0cyBvZiB0b29scyBjb3ZldGVkIGJ5IHByb2Zlc3Npb25hbHMgdG8gZXZlcnlvbmUuIiwKICAibGF5b3V0cyI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tYXRlcmlhbHNoZWxsLmxheW91dHMiLAogICJuYW1lIjogIk1hdGVyaWFsIFNoZWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidGhlbWUiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWF0ZXJpYWxzaGVsbC50aGVtZSIsCiAgInR3ZWFrcyI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tYXRlcmlhbHNoZWxsLnR3ZWFrcyIsCiAgInVybCI6ICJodHRwczovL21hdGVyaWFsLXNoZWxsLmNvbSIsCiAgInV1aWQiOiAibWF0ZXJpYWwtc2hlbGxAcGFweWVsZ3JpbmdvIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "41": {"version": "18", "sha256": "1qnldrad5kkm2km4qdkwagp8m2x30bq56jzaba01h6j7mgw90ai6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJpbmRpbmdzIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1hdGVyaWFsc2hlbGwuYmluZGluZ3MiLAogICJkZXNjcmlwdGlvbiI6ICJBIG1vZGVybiBkZXNrdG9wIGludGVyZmFjZSBmb3IgTGludXggLSBwYWNrYWdlZCBhcyBhbiBleHRlbnNpb24gZm9yIEdOT01FIFNoZWxsLiBJbXByb3ZlIHlvdXIgdXNlciBleHBlcmllbmNlIGFuZCBnZXQgcmlkIG9mIHRoZSBhbmFyY2h5IG9mIHRyYWRpdGlvbmFsIGRlc2t0b3Agd29ya2Zsb3dzLiBEZXNpZ25lZCB0byBzaW1wbGlmeSBuYXZpZ2F0aW9uIGFuZCByZWR1Y2UgdGhlIG5lZWQgdG8gbWFuaXB1bGF0ZSB3aW5kb3dzIGluIG9yZGVyIHRvIGltcHJvdmUgcHJvZHVjdGl2aXR5LiBJdCdzIG1lYW50IHRvIGJlIDEwMCUgcHJlZGljdGFibGUgYW5kIGJyaW5nIHRoZSBiZW5lZml0cyBvZiB0b29scyBjb3ZldGVkIGJ5IHByb2Zlc3Npb25hbHMgdG8gZXZlcnlvbmUuIiwKICAibGF5b3V0cyI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tYXRlcmlhbHNoZWxsLmxheW91dHMiLAogICJuYW1lIjogIk1hdGVyaWFsIFNoZWxsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidGhlbWUiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWF0ZXJpYWxzaGVsbC50aGVtZSIsCiAgInR3ZWFrcyI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tYXRlcmlhbHNoZWxsLnR3ZWFrcyIsCiAgInVybCI6ICJodHRwczovL21hdGVyaWFsLXNoZWxsLmNvbSIsCiAgInV1aWQiOiAibWF0ZXJpYWwtc2hlbGxAcGFweWVsZ3JpbmdvIiwKICAidmVyc2lvbiI6IDE4Cn0="}}}
 , {"uuid": "proxyprofiles@massamany.github.com", "name": "Proxy Profiles", "pname": "proxy-profiles", "description": "Swich easily between several proxy profiles.", "link": "https://extensions.gnome.org/extension/3379/proxy-profiles/", "shell_version_map": {"38": {"version": "5", "sha256": "1b2mabrvpkadxc6v5fczamh2hqh7va2990k10awxy18c0vm3p5kw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aWNoIGVhc2lseSBiZXR3ZWVuIHNldmVyYWwgcHJveHkgcHJvZmlsZXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicHJveHlwcm9maWxlcyIsCiAgIm5hbWUiOiAiUHJveHkgUHJvZmlsZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFzc2FtYW55L3Byb3h5cHJvZmlsZXMiLAogICJ1dWlkIjogInByb3h5cHJvZmlsZXNAbWFzc2FtYW55LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "1b2mabrvpkadxc6v5fczamh2hqh7va2990k10awxy18c0vm3p5kw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aWNoIGVhc2lseSBiZXR3ZWVuIHNldmVyYWwgcHJveHkgcHJvZmlsZXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicHJveHlwcm9maWxlcyIsCiAgIm5hbWUiOiAiUHJveHkgUHJvZmlsZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFzc2FtYW55L3Byb3h5cHJvZmlsZXMiLAogICJ1dWlkIjogInByb3h5cHJvZmlsZXNAbWFzc2FtYW55LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}}}
@@ -339,7 +340,7 @@
 , {"uuid": "ascii_emoji_buckets@HarshKhandeparkar", "name": "ASCII Emoji Buckets", "pname": "ascii-emoji-buckets", "description": "Buckets of ASCII emojis for your messaging pleasure. A fork of Emoji Buckets.", "link": "https://extensions.gnome.org/extension/3408/ascii-emoji-buckets/", "shell_version_map": {"38": {"version": "9", "sha256": "1srqsjzcywywlhapaca41v4pc99w503m5532g6cc6qwz9f2r4w5h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJ1Y2tldHMgb2YgQVNDSUkgZW1vamlzIGZvciB5b3VyIG1lc3NhZ2luZyBwbGVhc3VyZS4gQSBmb3JrIG9mIEVtb2ppIEJ1Y2tldHMuIiwKICAibmFtZSI6ICJBU0NJSSBFbW9qaSBCdWNrZXRzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFzY2lpLWVtb2ppLWJ1Y2tldHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjMuMzguMSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0hhcnNoS2hhbmRlcGFya2FyL2dub21lLWFzY2lpLWVtb2ppLWJ1Y2tldHMiLAogICJ1dWlkIjogImFzY2lpX2Vtb2ppX2J1Y2tldHNASGFyc2hLaGFuZGVwYXJrYXIiLAogICJ2ZXJzaW9uIjogOQp9"}}}
 , {"uuid": "user-stylesheet@tomaszgasior.pl", "name": "User style sheet & font", "pname": "user-stylesheet-font", "description": "Load custom style sheet from ~/.config/gnome-shell/gnome-shell.css. Use GTK font family and font size from GNOME Tweaks in GNOME Shell.", "link": "https://extensions.gnome.org/extension/3414/user-stylesheet-font/", "shell_version_map": {"38": {"version": "4", "sha256": "1ibmhj1ixw063r7p8fwnanf4k21k8vxmll78ydqia5gdwkv79i8a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgY3VzdG9tIHN0eWxlIHNoZWV0IGZyb20gfi8uY29uZmlnL2dub21lLXNoZWxsL2dub21lLXNoZWxsLmNzcy4gVXNlIEdUSyBmb250IGZhbWlseSBhbmQgZm9udCBzaXplIGZyb20gR05PTUUgVHdlYWtzIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiVXNlciBzdHlsZSBzaGVldCAmIGZvbnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1RvbWFzekdhc2lvci9nbm9tZS1zaGVsbC11c2VyLXN0eWxlc2hlZXQtYW5kLWZvbnQiLAogICJ1dWlkIjogInVzZXItc3R5bGVzaGVldEB0b21hc3pnYXNpb3IucGwiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "1ibmhj1ixw063r7p8fwnanf4k21k8vxmll78ydqia5gdwkv79i8a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgY3VzdG9tIHN0eWxlIHNoZWV0IGZyb20gfi8uY29uZmlnL2dub21lLXNoZWxsL2dub21lLXNoZWxsLmNzcy4gVXNlIEdUSyBmb250IGZhbWlseSBhbmQgZm9udCBzaXplIGZyb20gR05PTUUgVHdlYWtzIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiVXNlciBzdHlsZSBzaGVldCAmIGZvbnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1RvbWFzekdhc2lvci9nbm9tZS1zaGVsbC11c2VyLXN0eWxlc2hlZXQtYW5kLWZvbnQiLAogICJ1dWlkIjogInVzZXItc3R5bGVzaGVldEB0b21hc3pnYXNpb3IucGwiLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "1ibmhj1ixw063r7p8fwnanf4k21k8vxmll78ydqia5gdwkv79i8a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvYWQgY3VzdG9tIHN0eWxlIHNoZWV0IGZyb20gfi8uY29uZmlnL2dub21lLXNoZWxsL2dub21lLXNoZWxsLmNzcy4gVXNlIEdUSyBmb250IGZhbWlseSBhbmQgZm9udCBzaXplIGZyb20gR05PTUUgVHdlYWtzIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiVXNlciBzdHlsZSBzaGVldCAmIGZvbnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1RvbWFzekdhc2lvci9nbm9tZS1zaGVsbC11c2VyLXN0eWxlc2hlZXQtYW5kLWZvbnQiLAogICJ1dWlkIjogInVzZXItc3R5bGVzaGVldEB0b21hc3pnYXNpb3IucGwiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "wg-indicator@dpf12110.gmail.com", "name": "WG Indicator", "pname": "wg-indicator", "description": "A status indicator for Wireguard connections.", "link": "https://extensions.gnome.org/extension/3418/wg-indicator/", "shell_version_map": {"40": {"version": "13", "sha256": "126n9gbvh1yshbvx74af01f7jyrjr4p0299x9ki171d1f40djrvs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIGluZGljYXRvciBmb3IgV2lyZWd1YXJkIGNvbm5lY3Rpb25zLiIsCiAgIm5hbWUiOiAiV0cgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyLjEiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N5bmMxMjExL3dnLWluZGljYXRvciIsCiAgInV1aWQiOiAid2ctaW5kaWNhdG9yQGRwZjEyMTEwLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}, "41": {"version": "13", "sha256": "126n9gbvh1yshbvx74af01f7jyrjr4p0299x9ki171d1f40djrvs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIGluZGljYXRvciBmb3IgV2lyZWd1YXJkIGNvbm5lY3Rpb25zLiIsCiAgIm5hbWUiOiAiV0cgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyLjEiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N5bmMxMjExL3dnLWluZGljYXRvciIsCiAgInV1aWQiOiAid2ctaW5kaWNhdG9yQGRwZjEyMTEwLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}}}
-, {"uuid": "flypie@schneegans.github.com", "name": "Fly-Pie", "pname": "fly-pie", "description": "A marking menu which can be used to launch applications, simulate hotkeys, open URLs and much more.", "link": "https://extensions.gnome.org/extension/3433/fly-pie/", "shell_version_map": {"38": {"version": "14", "sha256": "09bhaqjrjmdgabqiagsqc1166hjniq5yhfla1glhn6pr8ymhyh4l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWFya2luZyBtZW51IHdoaWNoIGNhbiBiZSB1c2VkIHRvIGxhdW5jaCBhcHBsaWNhdGlvbnMsIHNpbXVsYXRlIGhvdGtleXMsIG9wZW4gVVJMcyBhbmQgbXVjaCBtb3JlLiIsCiAgImdldHRleHQtZG9tYWluIjogImZseXBpZSIsCiAgIm5hbWUiOiAiRmx5LVBpZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbHlwaWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TY2huZWVnYW5zL0ZseS1QaWUiLAogICJ1dWlkIjogImZseXBpZUBzY2huZWVnYW5zLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "40": {"version": "14", "sha256": "09bhaqjrjmdgabqiagsqc1166hjniq5yhfla1glhn6pr8ymhyh4l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWFya2luZyBtZW51IHdoaWNoIGNhbiBiZSB1c2VkIHRvIGxhdW5jaCBhcHBsaWNhdGlvbnMsIHNpbXVsYXRlIGhvdGtleXMsIG9wZW4gVVJMcyBhbmQgbXVjaCBtb3JlLiIsCiAgImdldHRleHQtZG9tYWluIjogImZseXBpZSIsCiAgIm5hbWUiOiAiRmx5LVBpZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbHlwaWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TY2huZWVnYW5zL0ZseS1QaWUiLAogICJ1dWlkIjogImZseXBpZUBzY2huZWVnYW5zLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "41": {"version": "14", "sha256": "09bhaqjrjmdgabqiagsqc1166hjniq5yhfla1glhn6pr8ymhyh4l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWFya2luZyBtZW51IHdoaWNoIGNhbiBiZSB1c2VkIHRvIGxhdW5jaCBhcHBsaWNhdGlvbnMsIHNpbXVsYXRlIGhvdGtleXMsIG9wZW4gVVJMcyBhbmQgbXVjaCBtb3JlLiIsCiAgImdldHRleHQtZG9tYWluIjogImZseXBpZSIsCiAgIm5hbWUiOiAiRmx5LVBpZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbHlwaWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TY2huZWVnYW5zL0ZseS1QaWUiLAogICJ1dWlkIjogImZseXBpZUBzY2huZWVnYW5zLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "42": {"version": "14", "sha256": "09bhaqjrjmdgabqiagsqc1166hjniq5yhfla1glhn6pr8ymhyh4l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWFya2luZyBtZW51IHdoaWNoIGNhbiBiZSB1c2VkIHRvIGxhdW5jaCBhcHBsaWNhdGlvbnMsIHNpbXVsYXRlIGhvdGtleXMsIG9wZW4gVVJMcyBhbmQgbXVjaCBtb3JlLiIsCiAgImdldHRleHQtZG9tYWluIjogImZseXBpZSIsCiAgIm5hbWUiOiAiRmx5LVBpZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbHlwaWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TY2huZWVnYW5zL0ZseS1QaWUiLAogICJ1dWlkIjogImZseXBpZUBzY2huZWVnYW5zLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
+, {"uuid": "flypie@schneegans.github.com", "name": "Fly-Pie", "pname": "fly-pie", "description": "A marking menu which can be used to launch applications, simulate hotkeys, open URLs and much more.", "link": "https://extensions.gnome.org/extension/3433/fly-pie/", "shell_version_map": {"38": {"version": "15", "sha256": "0qk7bxzwxpznjd0prrffisywikvcadgb7dc1kv52clzcm9r7yawc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWFya2luZyBtZW51IHdoaWNoIGNhbiBiZSB1c2VkIHRvIGxhdW5jaCBhcHBsaWNhdGlvbnMsIHNpbXVsYXRlIGhvdGtleXMsIG9wZW4gVVJMcyBhbmQgbXVjaCBtb3JlLiIsCiAgImdldHRleHQtZG9tYWluIjogImZseXBpZSIsCiAgIm5hbWUiOiAiRmx5LVBpZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbHlwaWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TY2huZWVnYW5zL0ZseS1QaWUiLAogICJ1dWlkIjogImZseXBpZUBzY2huZWVnYW5zLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "40": {"version": "15", "sha256": "0qk7bxzwxpznjd0prrffisywikvcadgb7dc1kv52clzcm9r7yawc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWFya2luZyBtZW51IHdoaWNoIGNhbiBiZSB1c2VkIHRvIGxhdW5jaCBhcHBsaWNhdGlvbnMsIHNpbXVsYXRlIGhvdGtleXMsIG9wZW4gVVJMcyBhbmQgbXVjaCBtb3JlLiIsCiAgImdldHRleHQtZG9tYWluIjogImZseXBpZSIsCiAgIm5hbWUiOiAiRmx5LVBpZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbHlwaWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TY2huZWVnYW5zL0ZseS1QaWUiLAogICJ1dWlkIjogImZseXBpZUBzY2huZWVnYW5zLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "41": {"version": "15", "sha256": "0qk7bxzwxpznjd0prrffisywikvcadgb7dc1kv52clzcm9r7yawc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWFya2luZyBtZW51IHdoaWNoIGNhbiBiZSB1c2VkIHRvIGxhdW5jaCBhcHBsaWNhdGlvbnMsIHNpbXVsYXRlIGhvdGtleXMsIG9wZW4gVVJMcyBhbmQgbXVjaCBtb3JlLiIsCiAgImdldHRleHQtZG9tYWluIjogImZseXBpZSIsCiAgIm5hbWUiOiAiRmx5LVBpZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbHlwaWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TY2huZWVnYW5zL0ZseS1QaWUiLAogICJ1dWlkIjogImZseXBpZUBzY2huZWVnYW5zLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "42": {"version": "15", "sha256": "0qk7bxzwxpznjd0prrffisywikvcadgb7dc1kv52clzcm9r7yawc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgbWFya2luZyBtZW51IHdoaWNoIGNhbiBiZSB1c2VkIHRvIGxhdW5jaCBhcHBsaWNhdGlvbnMsIHNpbXVsYXRlIGhvdGtleXMsIG9wZW4gVVJMcyBhbmQgbXVjaCBtb3JlLiIsCiAgImdldHRleHQtZG9tYWluIjogImZseXBpZSIsCiAgIm5hbWUiOiAiRmx5LVBpZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbHlwaWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TY2huZWVnYW5zL0ZseS1QaWUiLAogICJ1dWlkIjogImZseXBpZUBzY2huZWVnYW5zLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}}}
 , {"uuid": "jiggle@jeffchannell.com", "name": "Jiggle", "pname": "jiggle", "description": "Jiggle is a Gnome Shell extension that highlights the cursor position when the mouse is moved rapidly.", "link": "https://extensions.gnome.org/extension/3438/jiggle/", "shell_version_map": {"38": {"version": "8", "sha256": "0f5zwvcqz648sn11nl49r0ki6zy5c2hp4imgba0dlc02fags7pxz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkppZ2dsZSBpcyBhIEdub21lIFNoZWxsIGV4dGVuc2lvbiB0aGF0IGhpZ2hsaWdodHMgdGhlIGN1cnNvciBwb3NpdGlvbiB3aGVuIHRoZSBtb3VzZSBpcyBtb3ZlZCByYXBpZGx5LiIsCiAgIm5hbWUiOiAiSmlnZ2xlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2LjMiLAogICAgIjMuMzguMSIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2plZmZjaGFubmVsbC9qaWdnbGUiLAogICJ1dWlkIjogImppZ2dsZUBqZWZmY2hhbm5lbGwuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "8", "sha256": "0f5zwvcqz648sn11nl49r0ki6zy5c2hp4imgba0dlc02fags7pxz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkppZ2dsZSBpcyBhIEdub21lIFNoZWxsIGV4dGVuc2lvbiB0aGF0IGhpZ2hsaWdodHMgdGhlIGN1cnNvciBwb3NpdGlvbiB3aGVuIHRoZSBtb3VzZSBpcyBtb3ZlZCByYXBpZGx5LiIsCiAgIm5hbWUiOiAiSmlnZ2xlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2LjMiLAogICAgIjMuMzguMSIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2plZmZjaGFubmVsbC9qaWdnbGUiLAogICJ1dWlkIjogImppZ2dsZUBqZWZmY2hhbm5lbGwuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "showtime-horizontal@xenlism.github.io", "name": "Showtime Horizontal - Desktop Widget", "pname": "showtime-horizontal", "description": "Horizontal Style Date &amp; Clock Widget base on Budgie Desktop Widget", "link": "https://extensions.gnome.org/extension/3442/showtime-horizontal/", "shell_version_map": {"38": {"version": "5", "sha256": "1rdf1alxfyi29wnz2bzm20j9k5q8sn3a6d4si841cjbhmvqdcqhj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhvcml6b250YWwgU3R5bGUgRGF0ZSAmYW1wOyBDbG9jayBXaWRnZXQgYmFzZSBvbiBCdWRnaWUgRGVza3RvcCBXaWRnZXQiLAogICJleHRlbnNpb24taWQiOiAic2hvd3RpbWUtaG9yaXpvbnRhbCIsCiAgIm5hbWUiOiAiU2hvd3RpbWUgSG9yaXpvbnRhbCAtIERlc2t0b3AgV2lkZ2V0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNob3d0aW1lLWhvcml6b250YWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS94ZW5saXNtL3Nob3d0aW1lIiwKICAidXVpZCI6ICJzaG93dGltZS1ob3Jpem9udGFsQHhlbmxpc20uZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "6", "sha256": "1zy7lkkmcjxkc30hys98s0xlmi93cyc6jz6qx7zfv1v7w03iw3ld", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhvcml6b250YWwgU3R5bGUgRGF0ZSAmYW1wOyBDbG9jayBXaWRnZXQgYmFzZSBvbiBCdWRnaWUgRGVza3RvcCBXaWRnZXQiLAogICJleHRlbnNpb24taWQiOiAic2hvd3RpbWUtaG9yaXpvbnRhbCIsCiAgIm5hbWUiOiAiU2hvd3RpbWUgSG9yaXpvbnRhbCAtIERlc2t0b3AgV2lkZ2V0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNob3d0aW1lLWhvcml6b250YWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veGVubGlzbS9zaG93dGltZSIsCiAgInV1aWQiOiAic2hvd3RpbWUtaG9yaXpvbnRhbEB4ZW5saXNtLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "display-switcher@iyadk.com", "name": "Display Switcher 2", "pname": "display-switcher", "description": "This extension allows you to toggle between display modes quickly using Super + I.  You can switch between Extended, Primary, Clone, and Secondary Only modes quickly.  Selecting Extended mode multiple times will flip your secondary monitor's relative position to the primary (to the left or right of it).  This extension was originally developed by Lucas Diedrich - https://extensions.gnome.org/extension/1030/display-switcher/ and has been adapted to support Gnome Shell's v3.36.", "link": "https://extensions.gnome.org/extension/3459/display-switcher/", "shell_version_map": {"38": {"version": "2", "sha256": "13vb68xfmcx525yk2vgfny6xvi06nzv103an5zab90hvmj6ggzlj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyB5b3UgdG8gdG9nZ2xlIGJldHdlZW4gZGlzcGxheSBtb2RlcyBxdWlja2x5IHVzaW5nIFN1cGVyICsgSS4gIFlvdSBjYW4gc3dpdGNoIGJldHdlZW4gRXh0ZW5kZWQsIFByaW1hcnksIENsb25lLCBhbmQgU2Vjb25kYXJ5IE9ubHkgbW9kZXMgcXVpY2tseS4gIFNlbGVjdGluZyBFeHRlbmRlZCBtb2RlIG11bHRpcGxlIHRpbWVzIHdpbGwgZmxpcCB5b3VyIHNlY29uZGFyeSBtb25pdG9yJ3MgcmVsYXRpdmUgcG9zaXRpb24gdG8gdGhlIHByaW1hcnkgKHRvIHRoZSBsZWZ0IG9yIHJpZ2h0IG9mIGl0KS4gIFRoaXMgZXh0ZW5zaW9uIHdhcyBvcmlnaW5hbGx5IGRldmVsb3BlZCBieSBMdWNhcyBEaWVkcmljaCAtIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzEwMzAvZGlzcGxheS1zd2l0Y2hlci8gYW5kIGhhcyBiZWVuIGFkYXB0ZWQgdG8gc3VwcG9ydCBHbm9tZSBTaGVsbCdzIHYzLjM2LiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1kaXNwbGF5LXN3aXRjaGVyIiwKICAibmFtZSI6ICJEaXNwbGF5IFN3aXRjaGVyIDIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiTHVjYXMgRGllZHJpY2giLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGlzcGxheS1zd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2l5YWRrYW5kYWxhZnQvZ25vbWUtZGlzcGxheS1zd2l0Y2hlciIsCiAgInV1aWQiOiAiZGlzcGxheS1zd2l0Y2hlckBpeWFkay5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}}}
@@ -355,15 +356,15 @@
 , {"uuid": "downfall@torculus.github.com", "name": "DownFall", "pname": "downfall", "description": "Moves text of your choice across the screen. Can simulate leaves, snow, fireworks, ufos, and more!", "link": "https://extensions.gnome.org/extension/3539/downfall/", "shell_version_map": {"38": {"version": "19", "sha256": "0dmkjqmn2x7bg7fndq4fdvllhpzd3in39z2ykm1g6f0zyv4gq2i0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRleHQgb2YgeW91ciBjaG9pY2UgYWNyb3NzIHRoZSBzY3JlZW4uIENhbiBzaW11bGF0ZSBsZWF2ZXMsIHNub3csIGZpcmV3b3JrcywgdWZvcywgYW5kIG1vcmUhIiwKICAibmFtZSI6ICJEb3duRmFsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RvcmN1bHVzL0Rvd25GYWxsIiwKICAidXVpZCI6ICJkb3duZmFsbEB0b3JjdWx1cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "40": {"version": "19", "sha256": "0dmkjqmn2x7bg7fndq4fdvllhpzd3in39z2ykm1g6f0zyv4gq2i0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRleHQgb2YgeW91ciBjaG9pY2UgYWNyb3NzIHRoZSBzY3JlZW4uIENhbiBzaW11bGF0ZSBsZWF2ZXMsIHNub3csIGZpcmV3b3JrcywgdWZvcywgYW5kIG1vcmUhIiwKICAibmFtZSI6ICJEb3duRmFsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RvcmN1bHVzL0Rvd25GYWxsIiwKICAidXVpZCI6ICJkb3duZmFsbEB0b3JjdWx1cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "41": {"version": "19", "sha256": "0dmkjqmn2x7bg7fndq4fdvllhpzd3in39z2ykm1g6f0zyv4gq2i0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRleHQgb2YgeW91ciBjaG9pY2UgYWNyb3NzIHRoZSBzY3JlZW4uIENhbiBzaW11bGF0ZSBsZWF2ZXMsIHNub3csIGZpcmV3b3JrcywgdWZvcywgYW5kIG1vcmUhIiwKICAibmFtZSI6ICJEb3duRmFsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RvcmN1bHVzL0Rvd25GYWxsIiwKICAidXVpZCI6ICJkb3duZmFsbEB0b3JjdWx1cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "42": {"version": "19", "sha256": "0dmkjqmn2x7bg7fndq4fdvllhpzd3in39z2ykm1g6f0zyv4gq2i0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRleHQgb2YgeW91ciBjaG9pY2UgYWNyb3NzIHRoZSBzY3JlZW4uIENhbiBzaW11bGF0ZSBsZWF2ZXMsIHNub3csIGZpcmV3b3JrcywgdWZvcywgYW5kIG1vcmUhIiwKICAibmFtZSI6ICJEb3duRmFsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RvcmN1bHVzL0Rvd25GYWxsIiwKICAidXVpZCI6ICJkb3duZmFsbEB0b3JjdWx1cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}}}
 , {"uuid": "time-awareness@gnome-extensions.kapranoff.ru", "name": "Time Awareness", "pname": "time-awareness", "description": "Tracks the time you have been actively using your computer", "link": "https://extensions.gnome.org/extension/3556/time-awareness/", "shell_version_map": {"38": {"version": "7", "sha256": "0a9a7524ddwb2hxf3q5amgbd57fy17m994vj3gbkddk7mp8m06a7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYWNrcyB0aGUgdGltZSB5b3UgaGF2ZSBiZWVuIGFjdGl2ZWx5IHVzaW5nIHlvdXIgY29tcHV0ZXIiLAogICJuYW1lIjogIlRpbWUgQXdhcmVuZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3NyLmh0L35rYXBwYS9nbm9tZS1zaGVsbC10aW1lLWF3YXJlbmVzcy8iLAogICJ1dWlkIjogInRpbWUtYXdhcmVuZXNzQGdub21lLWV4dGVuc2lvbnMua2FwcmFub2ZmLnJ1IiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "0a9a7524ddwb2hxf3q5amgbd57fy17m994vj3gbkddk7mp8m06a7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYWNrcyB0aGUgdGltZSB5b3UgaGF2ZSBiZWVuIGFjdGl2ZWx5IHVzaW5nIHlvdXIgY29tcHV0ZXIiLAogICJuYW1lIjogIlRpbWUgQXdhcmVuZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3NyLmh0L35rYXBwYS9nbm9tZS1zaGVsbC10aW1lLWF3YXJlbmVzcy8iLAogICJ1dWlkIjogInRpbWUtYXdhcmVuZXNzQGdub21lLWV4dGVuc2lvbnMua2FwcmFub2ZmLnJ1IiwKICAidmVyc2lvbiI6IDcKfQ=="}, "41": {"version": "7", "sha256": "0a9a7524ddwb2hxf3q5amgbd57fy17m994vj3gbkddk7mp8m06a7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYWNrcyB0aGUgdGltZSB5b3UgaGF2ZSBiZWVuIGFjdGl2ZWx5IHVzaW5nIHlvdXIgY29tcHV0ZXIiLAogICJuYW1lIjogIlRpbWUgQXdhcmVuZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3NyLmh0L35rYXBwYS9nbm9tZS1zaGVsbC10aW1lLWF3YXJlbmVzcy8iLAogICJ1dWlkIjogInRpbWUtYXdhcmVuZXNzQGdub21lLWV4dGVuc2lvbnMua2FwcmFub2ZmLnJ1IiwKICAidmVyc2lvbiI6IDcKfQ=="}, "42": {"version": "7", "sha256": "0a9a7524ddwb2hxf3q5amgbd57fy17m994vj3gbkddk7mp8m06a7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYWNrcyB0aGUgdGltZSB5b3UgaGF2ZSBiZWVuIGFjdGl2ZWx5IHVzaW5nIHlvdXIgY29tcHV0ZXIiLAogICJuYW1lIjogIlRpbWUgQXdhcmVuZXNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3NyLmh0L35rYXBwYS9nbm9tZS1zaGVsbC10aW1lLWF3YXJlbmVzcy8iLAogICJ1dWlkIjogInRpbWUtYXdhcmVuZXNzQGdub21lLWV4dGVuc2lvbnMua2FwcmFub2ZmLnJ1IiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"uuid": "mullvadindicator@pobega.github.com", "name": "Mullvad Indicator", "pname": "mullvad-indicator", "description": "Mullvad connection status indicator", "link": "https://extensions.gnome.org/extension/3560/mullvad-indicator/", "shell_version_map": {"38": {"version": "4", "sha256": "05vcb7g51byvnk7bzajb1i7knj4zwjiksia97wabk41a2bagc4jc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11bGx2YWQgY29ubmVjdGlvbiBzdGF0dXMgaW5kaWNhdG9yIiwKICAibmFtZSI6ICJNdWxsdmFkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUG9iZWdhL2dub21lLXNoZWxsLWV4dGVuc2lvbi1tdWxsdmFkLWluZGljYXRvciIsCiAgInV1aWQiOiAibXVsbHZhZGluZGljYXRvckBwb2JlZ2EuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "05vcb7g51byvnk7bzajb1i7knj4zwjiksia97wabk41a2bagc4jc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11bGx2YWQgY29ubmVjdGlvbiBzdGF0dXMgaW5kaWNhdG9yIiwKICAibmFtZSI6ICJNdWxsdmFkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUG9iZWdhL2dub21lLXNoZWxsLWV4dGVuc2lvbi1tdWxsdmFkLWluZGljYXRvciIsCiAgInV1aWQiOiAibXVsbHZhZGluZGljYXRvckBwb2JlZ2EuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "05vcb7g51byvnk7bzajb1i7knj4zwjiksia97wabk41a2bagc4jc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk11bGx2YWQgY29ubmVjdGlvbiBzdGF0dXMgaW5kaWNhdG9yIiwKICAibmFtZSI6ICJNdWxsdmFkIEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUG9iZWdhL2dub21lLXNoZWxsLWV4dGVuc2lvbi1tdWxsdmFkLWluZGljYXRvciIsCiAgInV1aWQiOiAibXVsbHZhZGluZGljYXRvckBwb2JlZ2EuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
-, {"uuid": "task-widget@juozasmiskinis.gitlab.io", "name": "Task Widget", "pname": "task-widget", "description": "Display tasks next to the calendar widget.\n\nVisit our Wiki page for more information and troubleshooting.", "link": "https://extensions.gnome.org/extension/3569/task-widget/", "shell_version_map": {"38": {"version": "11", "sha256": "0bn43w6smfihr220k6abazq6lwd5qc3xyrl9crh9m6m09c0x7hln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJhc2UiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFzay13aWRnZXQiLAogICJjb2ZmZWUiOiAiaHR0cHM6Ly93d3cuYnV5bWVhY29mZmVlLmNvbS9uYnh3ZnBtIiwKICAiZGVwZW5kZW5jaWVzIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qbWlza2luaXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2std2lkZ2V0L3dpa2lzL0luc3RhbGxhdGlvbiIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGFza3MgbmV4dCB0byB0aGUgY2FsZW5kYXIgd2lkZ2V0LlxuXG5WaXNpdCBvdXIgV2lraSBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIGFuZCB0cm91Ymxlc2hvb3RpbmcuIiwKICAiZXBhdGgiOiAiL29yZy9nbm9tZS9zaGVsbC9leHRlbnNpb25zL3Rhc2std2lkZ2V0IiwKICAiZ3Jlc291cmNlIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhc2std2lkZ2V0LmdyZXNvdXJjZSIsCiAgImxpYmVyYXBheSI6ICJodHRwczovL2xpYmVyYXBheS5jb20vam9hc2lzLyIsCiAgImxvY2FsZSI6ICJ1c2VyLXNwZWNpZmljIiwKICAibmFtZSI6ICJUYXNrIFdpZGdldCIsCiAgInBheXBhbCI6ICJodHRwczovL3BheXBhbC5tZS9qbWlza2luaXMiLAogICJzY2hlbWFzIjogInVzZXItc3BlY2lmaWMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2ptaXNraW5pcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdGFzay13aWRnZXQiLAogICJ1dWlkIjogInRhc2std2lkZ2V0QGp1b3phc21pc2tpbmlzLmdpdGxhYi5pbyIsCiAgInZlcnNpb24iOiAxMSwKICAid2lraSI6ICJodHRwczovL2dpdGxhYi5jb20vam1pc2tpbmlzL2dub21lLXNoZWxsLWV4dGVuc2lvbi10YXNrLXdpZGdldC93aWtpcyIKfQ=="}, "40": {"version": "11", "sha256": "0bn43w6smfihr220k6abazq6lwd5qc3xyrl9crh9m6m09c0x7hln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJhc2UiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFzay13aWRnZXQiLAogICJjb2ZmZWUiOiAiaHR0cHM6Ly93d3cuYnV5bWVhY29mZmVlLmNvbS9uYnh3ZnBtIiwKICAiZGVwZW5kZW5jaWVzIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qbWlza2luaXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2std2lkZ2V0L3dpa2lzL0luc3RhbGxhdGlvbiIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGFza3MgbmV4dCB0byB0aGUgY2FsZW5kYXIgd2lkZ2V0LlxuXG5WaXNpdCBvdXIgV2lraSBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIGFuZCB0cm91Ymxlc2hvb3RpbmcuIiwKICAiZXBhdGgiOiAiL29yZy9nbm9tZS9zaGVsbC9leHRlbnNpb25zL3Rhc2std2lkZ2V0IiwKICAiZ3Jlc291cmNlIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhc2std2lkZ2V0LmdyZXNvdXJjZSIsCiAgImxpYmVyYXBheSI6ICJodHRwczovL2xpYmVyYXBheS5jb20vam9hc2lzLyIsCiAgImxvY2FsZSI6ICJ1c2VyLXNwZWNpZmljIiwKICAibmFtZSI6ICJUYXNrIFdpZGdldCIsCiAgInBheXBhbCI6ICJodHRwczovL3BheXBhbC5tZS9qbWlza2luaXMiLAogICJzY2hlbWFzIjogInVzZXItc3BlY2lmaWMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2ptaXNraW5pcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdGFzay13aWRnZXQiLAogICJ1dWlkIjogInRhc2std2lkZ2V0QGp1b3phc21pc2tpbmlzLmdpdGxhYi5pbyIsCiAgInZlcnNpb24iOiAxMSwKICAid2lraSI6ICJodHRwczovL2dpdGxhYi5jb20vam1pc2tpbmlzL2dub21lLXNoZWxsLWV4dGVuc2lvbi10YXNrLXdpZGdldC93aWtpcyIKfQ=="}, "41": {"version": "11", "sha256": "0bn43w6smfihr220k6abazq6lwd5qc3xyrl9crh9m6m09c0x7hln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJhc2UiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFzay13aWRnZXQiLAogICJjb2ZmZWUiOiAiaHR0cHM6Ly93d3cuYnV5bWVhY29mZmVlLmNvbS9uYnh3ZnBtIiwKICAiZGVwZW5kZW5jaWVzIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qbWlza2luaXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2std2lkZ2V0L3dpa2lzL0luc3RhbGxhdGlvbiIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGFza3MgbmV4dCB0byB0aGUgY2FsZW5kYXIgd2lkZ2V0LlxuXG5WaXNpdCBvdXIgV2lraSBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIGFuZCB0cm91Ymxlc2hvb3RpbmcuIiwKICAiZXBhdGgiOiAiL29yZy9nbm9tZS9zaGVsbC9leHRlbnNpb25zL3Rhc2std2lkZ2V0IiwKICAiZ3Jlc291cmNlIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhc2std2lkZ2V0LmdyZXNvdXJjZSIsCiAgImxpYmVyYXBheSI6ICJodHRwczovL2xpYmVyYXBheS5jb20vam9hc2lzLyIsCiAgImxvY2FsZSI6ICJ1c2VyLXNwZWNpZmljIiwKICAibmFtZSI6ICJUYXNrIFdpZGdldCIsCiAgInBheXBhbCI6ICJodHRwczovL3BheXBhbC5tZS9qbWlza2luaXMiLAogICJzY2hlbWFzIjogInVzZXItc3BlY2lmaWMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2ptaXNraW5pcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdGFzay13aWRnZXQiLAogICJ1dWlkIjogInRhc2std2lkZ2V0QGp1b3phc21pc2tpbmlzLmdpdGxhYi5pbyIsCiAgInZlcnNpb24iOiAxMSwKICAid2lraSI6ICJodHRwczovL2dpdGxhYi5jb20vam1pc2tpbmlzL2dub21lLXNoZWxsLWV4dGVuc2lvbi10YXNrLXdpZGdldC93aWtpcyIKfQ=="}}}
+, {"uuid": "task-widget@juozasmiskinis.gitlab.io", "name": "Task Widget", "pname": "task-widget", "description": "Display tasks next to the calendar widget.\n\nVisit our Wiki page for more information and troubleshooting.", "link": "https://extensions.gnome.org/extension/3569/task-widget/", "shell_version_map": {"38": {"version": "12", "sha256": "1s88rrrsiqz67fphjik1d4rlqd32shkwc13nn7ah3ga44wqlqmng", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJhc2UiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFzay13aWRnZXQiLAogICJjb2ZmZWUiOiAiaHR0cHM6Ly93d3cuYnV5bWVhY29mZmVlLmNvbS9uYnh3ZnBtIiwKICAiZGVwZW5kZW5jaWVzIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qbWlza2luaXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2std2lkZ2V0L3dpa2lzL0luc3RhbGxhdGlvbiIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGFza3MgbmV4dCB0byB0aGUgY2FsZW5kYXIgd2lkZ2V0LlxuXG5WaXNpdCBvdXIgV2lraSBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIGFuZCB0cm91Ymxlc2hvb3RpbmcuIiwKICAiZXBhdGgiOiAiL29yZy9nbm9tZS9zaGVsbC9leHRlbnNpb25zL3Rhc2std2lkZ2V0IiwKICAiZ3Jlc291cmNlIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhc2std2lkZ2V0LmdyZXNvdXJjZSIsCiAgImxpYmVyYXBheSI6ICJodHRwczovL2xpYmVyYXBheS5jb20vam9hc2lzLyIsCiAgImxvY2FsZSI6ICJ1c2VyLXNwZWNpZmljIiwKICAibmFtZSI6ICJUYXNrIFdpZGdldCIsCiAgInBheXBhbCI6ICJodHRwczovL3BheXBhbC5tZS9qbWlza2luaXMiLAogICJzY2hlbWFzIjogInVzZXItc3BlY2lmaWMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qbWlza2luaXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2std2lkZ2V0IiwKICAidXVpZCI6ICJ0YXNrLXdpZGdldEBqdW96YXNtaXNraW5pcy5naXRsYWIuaW8iLAogICJ2ZXJzaW9uIjogMTIsCiAgIndpa2kiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2ptaXNraW5pcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdGFzay13aWRnZXQvd2lraXMiCn0="}, "40": {"version": "12", "sha256": "1s88rrrsiqz67fphjik1d4rlqd32shkwc13nn7ah3ga44wqlqmng", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJhc2UiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFzay13aWRnZXQiLAogICJjb2ZmZWUiOiAiaHR0cHM6Ly93d3cuYnV5bWVhY29mZmVlLmNvbS9uYnh3ZnBtIiwKICAiZGVwZW5kZW5jaWVzIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qbWlza2luaXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2std2lkZ2V0L3dpa2lzL0luc3RhbGxhdGlvbiIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGFza3MgbmV4dCB0byB0aGUgY2FsZW5kYXIgd2lkZ2V0LlxuXG5WaXNpdCBvdXIgV2lraSBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIGFuZCB0cm91Ymxlc2hvb3RpbmcuIiwKICAiZXBhdGgiOiAiL29yZy9nbm9tZS9zaGVsbC9leHRlbnNpb25zL3Rhc2std2lkZ2V0IiwKICAiZ3Jlc291cmNlIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhc2std2lkZ2V0LmdyZXNvdXJjZSIsCiAgImxpYmVyYXBheSI6ICJodHRwczovL2xpYmVyYXBheS5jb20vam9hc2lzLyIsCiAgImxvY2FsZSI6ICJ1c2VyLXNwZWNpZmljIiwKICAibmFtZSI6ICJUYXNrIFdpZGdldCIsCiAgInBheXBhbCI6ICJodHRwczovL3BheXBhbC5tZS9qbWlza2luaXMiLAogICJzY2hlbWFzIjogInVzZXItc3BlY2lmaWMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qbWlza2luaXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2std2lkZ2V0IiwKICAidXVpZCI6ICJ0YXNrLXdpZGdldEBqdW96YXNtaXNraW5pcy5naXRsYWIuaW8iLAogICJ2ZXJzaW9uIjogMTIsCiAgIndpa2kiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2ptaXNraW5pcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdGFzay13aWRnZXQvd2lraXMiCn0="}, "41": {"version": "12", "sha256": "1s88rrrsiqz67fphjik1d4rlqd32shkwc13nn7ah3ga44wqlqmng", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJhc2UiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFzay13aWRnZXQiLAogICJjb2ZmZWUiOiAiaHR0cHM6Ly93d3cuYnV5bWVhY29mZmVlLmNvbS9uYnh3ZnBtIiwKICAiZGVwZW5kZW5jaWVzIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qbWlza2luaXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2std2lkZ2V0L3dpa2lzL0luc3RhbGxhdGlvbiIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGFza3MgbmV4dCB0byB0aGUgY2FsZW5kYXIgd2lkZ2V0LlxuXG5WaXNpdCBvdXIgV2lraSBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIGFuZCB0cm91Ymxlc2hvb3RpbmcuIiwKICAiZXBhdGgiOiAiL29yZy9nbm9tZS9zaGVsbC9leHRlbnNpb25zL3Rhc2std2lkZ2V0IiwKICAiZ3Jlc291cmNlIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhc2std2lkZ2V0LmdyZXNvdXJjZSIsCiAgImxpYmVyYXBheSI6ICJodHRwczovL2xpYmVyYXBheS5jb20vam9hc2lzLyIsCiAgImxvY2FsZSI6ICJ1c2VyLXNwZWNpZmljIiwKICAibmFtZSI6ICJUYXNrIFdpZGdldCIsCiAgInBheXBhbCI6ICJodHRwczovL3BheXBhbC5tZS9qbWlza2luaXMiLAogICJzY2hlbWFzIjogInVzZXItc3BlY2lmaWMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qbWlza2luaXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2std2lkZ2V0IiwKICAidXVpZCI6ICJ0YXNrLXdpZGdldEBqdW96YXNtaXNraW5pcy5naXRsYWIuaW8iLAogICJ2ZXJzaW9uIjogMTIsCiAgIndpa2kiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2ptaXNraW5pcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdGFzay13aWRnZXQvd2lraXMiCn0="}, "42": {"version": "12", "sha256": "1s88rrrsiqz67fphjik1d4rlqd32shkwc13nn7ah3ga44wqlqmng", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImJhc2UiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGFzay13aWRnZXQiLAogICJjb2ZmZWUiOiAiaHR0cHM6Ly93d3cuYnV5bWVhY29mZmVlLmNvbS9uYnh3ZnBtIiwKICAiZGVwZW5kZW5jaWVzIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qbWlza2luaXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2std2lkZ2V0L3dpa2lzL0luc3RhbGxhdGlvbiIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGFza3MgbmV4dCB0byB0aGUgY2FsZW5kYXIgd2lkZ2V0LlxuXG5WaXNpdCBvdXIgV2lraSBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIGFuZCB0cm91Ymxlc2hvb3RpbmcuIiwKICAiZXBhdGgiOiAiL29yZy9nbm9tZS9zaGVsbC9leHRlbnNpb25zL3Rhc2std2lkZ2V0IiwKICAiZ3Jlc291cmNlIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhc2std2lkZ2V0LmdyZXNvdXJjZSIsCiAgImxpYmVyYXBheSI6ICJodHRwczovL2xpYmVyYXBheS5jb20vam9hc2lzLyIsCiAgImxvY2FsZSI6ICJ1c2VyLXNwZWNpZmljIiwKICAibmFtZSI6ICJUYXNrIFdpZGdldCIsCiAgInBheXBhbCI6ICJodHRwczovL3BheXBhbC5tZS9qbWlza2luaXMiLAogICJzY2hlbWFzIjogInVzZXItc3BlY2lmaWMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qbWlza2luaXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2std2lkZ2V0IiwKICAidXVpZCI6ICJ0YXNrLXdpZGdldEBqdW96YXNtaXNraW5pcy5naXRsYWIuaW8iLAogICJ2ZXJzaW9uIjogMTIsCiAgIndpa2kiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2ptaXNraW5pcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdGFzay13aWRnZXQvd2lraXMiCn0="}}}
 , {"uuid": "air-quality@mcardillo55", "name": "Air Quality", "pname": "air-quality", "description": "View local air quality from PurpleAir in the top bar", "link": "https://extensions.gnome.org/extension/3574/air-quality/", "shell_version_map": {"40": {"version": "2", "sha256": "037hbbb6z3gj818hqxqq96yszd1hka57pn4gj9f5kps7ak5hca4l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpZXcgbG9jYWwgYWlyIHF1YWxpdHkgZnJvbSBQdXJwbGVBaXIgaW4gdGhlIHRvcCBiYXIiLAogICJuYW1lIjogIkFpciBRdWFsaXR5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21jYXJkaWxsbzU1L2dub21lLXNoZWxsLWV4dGVuc2lvbi1haXItcXVhbGl0eSIsCiAgInV1aWQiOiAiYWlyLXF1YWxpdHlAbWNhcmRpbGxvNTUiLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "oclock@ortega.tech", "name": "OClock", "pname": "oclock", "description": "Shows an analog clock on the panel", "link": "https://extensions.gnome.org/extension/3578/oclock/", "shell_version_map": {"40": {"version": "2", "sha256": "1pp155a51c1fsmlwfsr1hxsv79xra3sbqrda3fkvhrv4jif7n7s8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJKZXJlbWlhcyBPcnRlZ2EiLAogICJkZXNjcmlwdGlvbiI6ICJTaG93cyBhbiBhbmFsb2cgY2xvY2sgb24gdGhlIHBhbmVsIiwKICAibmFtZSI6ICJPQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly93d3cuZ2l0aHViLmNvbS9qZXJlLW9ydGVnYTI0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1vY2xvY2svIiwKICAidXVpZCI6ICJvY2xvY2tAb3J0ZWdhLnRlY2giLAogICJ2ZXJzaW9uIjogMgp9"}, "41": {"version": "2", "sha256": "1pp155a51c1fsmlwfsr1hxsv79xra3sbqrda3fkvhrv4jif7n7s8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJKZXJlbWlhcyBPcnRlZ2EiLAogICJkZXNjcmlwdGlvbiI6ICJTaG93cyBhbiBhbmFsb2cgY2xvY2sgb24gdGhlIHBhbmVsIiwKICAibmFtZSI6ICJPQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly93d3cuZ2l0aHViLmNvbS9qZXJlLW9ydGVnYTI0L2dub21lLXNoZWxsLWV4dGVuc2lvbi1vY2xvY2svIiwKICAidXVpZCI6ICJvY2xvY2tAb3J0ZWdhLnRlY2giLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "azan@hatem.masmoudi.org", "name": "Azan Islamic Prayer Times", "pname": "azan-islamic-prayer-times", "description": "Azan is an Islamic prayer times extension for Gnome Shell based on the extension by Fahrinh.\n\nFeatures\n- List compulsory prayer times\n Optionally display Imsak, Sunrise, Sunset and Midnight\n- Show remaining time for the upcoming prayer.\n- Show current date in Hijri calendar.\n- Display a notification when it's time for prayer.\n- Automatic Geoclue2 location detection\n- Show times in 24 hour and 12 hour formats\n- Hijri date adjusment\n- Moon status icon", "link": "https://extensions.gnome.org/extension/3602/azan-islamic-prayer-times/", "shell_version_map": {"38": {"version": "2", "sha256": "1z58m1w04mdddq9p3102jv852zks41f2l7xbx7j8jcljy4ahiqll", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF6YW4gaXMgYW4gSXNsYW1pYyBwcmF5ZXIgdGltZXMgZXh0ZW5zaW9uIGZvciBHbm9tZSBTaGVsbCBiYXNlZCBvbiB0aGUgZXh0ZW5zaW9uIGJ5IEZhaHJpbmguXG5cbkZlYXR1cmVzXG4tIExpc3QgY29tcHVsc29yeSBwcmF5ZXIgdGltZXNcbiBPcHRpb25hbGx5IGRpc3BsYXkgSW1zYWssIFN1bnJpc2UsIFN1bnNldCBhbmQgTWlkbmlnaHRcbi0gU2hvdyByZW1haW5pbmcgdGltZSBmb3IgdGhlIHVwY29taW5nIHByYXllci5cbi0gU2hvdyBjdXJyZW50IGRhdGUgaW4gSGlqcmkgY2FsZW5kYXIuXG4tIERpc3BsYXkgYSBub3RpZmljYXRpb24gd2hlbiBpdCdzIHRpbWUgZm9yIHByYXllci5cbi0gQXV0b21hdGljIEdlb2NsdWUyIGxvY2F0aW9uIGRldGVjdGlvblxuLSBTaG93IHRpbWVzIGluIDI0IGhvdXIgYW5kIDEyIGhvdXIgZm9ybWF0c1xuLSBIaWpyaSBkYXRlIGFkanVzbWVudFxuLSBNb29uIHN0YXR1cyBpY29uIiwKICAibmFtZSI6ICJBemFuIElzbGFtaWMgUHJheWVyIFRpbWVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF6YW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMSIsCiAgICAiMy4zOC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vaG1hc21vdWRpL2F6YW4tZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJhemFuQGhhdGVtLm1hc21vdWRpLm9yZyIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "blur-provider@corvettecole.github.com", "name": "blur-provider", "pname": "blur-provider", "description": "Provides an easy way for applications to request blur, and allows users to set blur on applications", "link": "https://extensions.gnome.org/extension/3607/blur-provider/", "shell_version_map": {"38": {"version": "2", "sha256": "1p0cyq1bfi18ysk1fvydjvk6qdl87qi9p3kpc165q5i0d4b41ffp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGVzIGFuIGVhc3kgd2F5IGZvciBhcHBsaWNhdGlvbnMgdG8gcmVxdWVzdCBibHVyLCBhbmQgYWxsb3dzIHVzZXJzIHRvIHNldCBibHVyIG9uIGFwcGxpY2F0aW9ucyIsCiAgImV4dGVuc2lvbi1pZCI6ICJibHVyLXByb3ZpZGVyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiYmx1ci1wcm92aWRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ibHVyLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29ydmV0dGVjb2xlL2JsdXItcHJvdmlkZXIiLAogICJ1dWlkIjogImJsdXItcHJvdmlkZXJAY29ydmV0dGVjb2xlLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}}}
-, {"uuid": "wireguard-indicator@atareao.es", "name": "WireGuard Indicator", "pname": "wireguard-indicator", "description": "Manage WireGuard VPN from Desktop", "link": "https://extensions.gnome.org/extension/3612/wireguard-indicator/", "shell_version_map": {"40": {"version": "6", "sha256": "0qddl83x30y6jqm4nyjk6faklmv7cii2czmgmagcyllgkh0simav", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBXaXJlR3VhcmQgVlBOIGZyb20gRGVza3RvcCIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJpY29uIjogIndpcmVndWFyZC1pY29uIiwKICAibmFtZSI6ICJXaXJlR3VhcmQgSW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImVzLmF0YXJlYW8ud2lyZWd1YXJkLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hdGFyZWFvL3dpcmVndWFyZC1pbmRpY2F0b3IiLAogICJ1dWlkIjogIndpcmVndWFyZC1pbmRpY2F0b3JAYXRhcmVhby5lcyIsCiAgInZlcnNpb24iOiA2Cn0="}}}
-, {"uuid": "shamsi-calendar@gnome.scr.ir", "name": "Iranian Persian Calendar", "pname": "shamsi-calendar", "description": "تقویم هجری شمسی،قمری و میلادی در میز‌کار گنوم لینوکس\nقابلیت نمایش اوقات شرعی و پخش اذان\nدرج تعطیلی‌ها و مناسبت‌های رسمی تقویم\nزبان کاملاً فارسی\nتاریخ قمری هلالی ایران\nسازگار با اکثر نسخه‌های گنوم\nدر حال توسعه...\n\nShows Persian + Islamic + Gregorian date in the panel of gnome.\n\nIt shows:\n1- Persian calendar\n2- It can show, today is holiday or not!\n3- Show notification onDayChanged!\n4- Date converter between Persian, Gregorian and Lunar Hijri(Islamic)\n5- Show calendar Events.\n6- Show PrayTimes and play sound (Azan).\n\nPlease \"rate\" here and \"star\" project in GitHub.\nPlease open an issue in GitHub if you found something or have an idea!\nگزارش مشکلات:\nhttps://github.com/SCR-IR/gnome-shamsi-calendar/issues", "link": "https://extensions.gnome.org/extension/3618/shamsi-calendar/", "shell_version_map": {"38": {"version": "16", "sha256": "1aqhj1lmwqy6wlbd105bl85grs749q4hilsz253n45s25jjzw5p8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Njci1pci9nbm9tZS1zaGFtc2ktY2FsZW5kYXIiLAogICJ1dWlkIjogInNoYW1zaS1jYWxlbmRhckBnbm9tZS5zY3IuaXIiLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "40": {"version": "16", "sha256": "1aqhj1lmwqy6wlbd105bl85grs749q4hilsz253n45s25jjzw5p8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Njci1pci9nbm9tZS1zaGFtc2ktY2FsZW5kYXIiLAogICJ1dWlkIjogInNoYW1zaS1jYWxlbmRhckBnbm9tZS5zY3IuaXIiLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "41": {"version": "16", "sha256": "1aqhj1lmwqy6wlbd105bl85grs749q4hilsz253n45s25jjzw5p8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Njci1pci9nbm9tZS1zaGFtc2ktY2FsZW5kYXIiLAogICJ1dWlkIjogInNoYW1zaS1jYWxlbmRhckBnbm9tZS5zY3IuaXIiLAogICJ2ZXJzaW9uIjogMTYKfQ=="}}}
+, {"uuid": "wireguard-indicator@atareao.es", "name": "WireGuard Indicator", "pname": "wireguard-indicator", "description": "Manage WireGuard VPN from Desktop", "link": "https://extensions.gnome.org/extension/3612/wireguard-indicator/", "shell_version_map": {"40": {"version": "7", "sha256": "123fjffk8apdvb1r3g0bn6j3qm2714lwdv3nv7xz23a3l8x6sdcn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBXaXJlR3VhcmQgVlBOIGZyb20gRGVza3RvcCIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJpY29uIjogIndpcmVndWFyZC1pY29uIiwKICAibmFtZSI6ICJXaXJlR3VhcmQgSW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImVzLmF0YXJlYW8ud2lyZWd1YXJkLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXRhcmVhby93aXJlZ3VhcmQtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "123fjffk8apdvb1r3g0bn6j3qm2714lwdv3nv7xz23a3l8x6sdcn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBXaXJlR3VhcmQgVlBOIGZyb20gRGVza3RvcCIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJpY29uIjogIndpcmVndWFyZC1pY29uIiwKICAibmFtZSI6ICJXaXJlR3VhcmQgSW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImVzLmF0YXJlYW8ud2lyZWd1YXJkLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXRhcmVhby93aXJlZ3VhcmQtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJ2ZXJzaW9uIjogNwp9"}}}
+, {"uuid": "shamsi-calendar@gnome.scr.ir", "name": "Iranian Persian Calendar", "pname": "shamsi-calendar", "description": "تقویم هجری شمسی،قمری و میلادی در میز‌کار گنوم لینوکس\nقابلیت نمایش اوقات شرعی و پخش اذان\nدرج تعطیلی‌ها و مناسبت‌های رسمی تقویم\nزبان کاملاً فارسی\nتاریخ قمری هلالی ایران\nسازگار با اکثر نسخه‌های گنوم\nدر حال توسعه...\n\nShows Persian + Islamic + Gregorian date in the panel of gnome.\n\nIt shows:\n1- Persian calendar\n2- It can show, today is holiday or not!\n3- Show notification onDayChanged!\n4- Date converter between Persian, Gregorian and Lunar Hijri(Islamic)\n5- Show calendar Events.\n6- Show PrayTimes and play sound (Azan).\n\nPlease \"rate\" here and \"star\" project in GitHub.\nPlease open an issue in GitHub if you found something or have an idea!\nگزارش مشکلات:\nhttps://github.com/SCR-IR/gnome-shamsi-calendar/issues", "link": "https://extensions.gnome.org/extension/3618/shamsi-calendar/", "shell_version_map": {"38": {"version": "18", "sha256": "1bgrw9wn3ni49m54515gwpc6xpz2w4p1qa25sjlwb8521qwiqp03", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY3ItaXIvZ25vbWUtc2hhbXNpLWNhbGVuZGFyIiwKICAidXVpZCI6ICJzaGFtc2ktY2FsZW5kYXJAZ25vbWUuc2NyLmlyIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "40": {"version": "18", "sha256": "1bgrw9wn3ni49m54515gwpc6xpz2w4p1qa25sjlwb8521qwiqp03", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY3ItaXIvZ25vbWUtc2hhbXNpLWNhbGVuZGFyIiwKICAidXVpZCI6ICJzaGFtc2ktY2FsZW5kYXJAZ25vbWUuc2NyLmlyIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "41": {"version": "18", "sha256": "1bgrw9wn3ni49m54515gwpc6xpz2w4p1qa25sjlwb8521qwiqp03", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY3ItaXIvZ25vbWUtc2hhbXNpLWNhbGVuZGFyIiwKICAidXVpZCI6ICJzaGFtc2ktY2FsZW5kYXJAZ25vbWUuc2NyLmlyIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "42": {"version": "18", "sha256": "1bgrw9wn3ni49m54515gwpc6xpz2w4p1qa25sjlwb8521qwiqp03", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY3ItaXIvZ25vbWUtc2hhbXNpLWNhbGVuZGFyIiwKICAidXVpZCI6ICJzaGFtc2ktY2FsZW5kYXJAZ25vbWUuc2NyLmlyIiwKICAidmVyc2lvbiI6IDE4Cn0="}}}
 , {"uuid": "tunnel-indicator@atareao.es", "name": "Tunnel Indicator", "pname": "tunnel-indicator", "description": "Manage SSH Tunnels from Desktop", "link": "https://extensions.gnome.org/extension/3622/tunnel-indicator/", "shell_version_map": {"40": {"version": "2", "sha256": "0ma4a711mgjxyhy4d21p2m7wvbnmmwlfdsf6xk9i36ranjcqs9as", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBTU0ggVHVubmVscyBmcm9tIERlc2t0b3AiLAogICJleHRlbnNpb24taWQiOiAidHVubmVsLWluZGljYXRvckBhdGFyZWFvLmVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidHVubmVsLWluZGljYXRvckBhdGFyZWFvLmVzIiwKICAiaWNvbiI6ICJ0dW5uZWwtaWNvbiIsCiAgIm5hbWUiOiAiVHVubmVsIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJlcy5hdGFyZWFvLnR1bm5lbC1pbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXRhcmVhby90dW5uZWwtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJ0dW5uZWwtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJ2ZXJzaW9uIjogMgp9"}}}
-, {"uuid": "arcmenu@arcmenu.com", "name": "ArcMenu", "pname": "arcmenu", "description": "ArcMenu is an application menu for GNOME Shell, designed to provide a more familiar user experience and workflow.\n\nFeatures include: numerous menu layouts to choose from, built in GNOME search, quick access to system shortcuts, and much more!\n\nCommon solutions for ERROR message:\n - Restart your GNOME session after updating ArcMenu.\n - Install one of the following packages: 'gir1.2-gmenu-3.0' or 'gnome-menus'\n\nGeneral Help:\n - Visit https://gitlab.com/arcmenu/ArcMenu/-/wikis/home\n\nPlease report all bugs or issues at https://gitlab.com/arcmenu/ArcMenu", "link": "https://extensions.gnome.org/extension/3628/arcmenu/", "shell_version_map": {"38": {"version": "17", "sha256": "14waq244pzfcbs2vd63s87x29hb61nvrwx50yikx4q6k01w35v83", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFyY01lbnUgaXMgYW4gYXBwbGljYXRpb24gbWVudSBmb3IgR05PTUUgU2hlbGwsIGRlc2lnbmVkIHRvIHByb3ZpZGUgYSBtb3JlIGZhbWlsaWFyIHVzZXIgZXhwZXJpZW5jZSBhbmQgd29ya2Zsb3cuXG5cbkZlYXR1cmVzIGluY2x1ZGU6IG51bWVyb3VzIG1lbnUgbGF5b3V0cyB0byBjaG9vc2UgZnJvbSwgYnVpbHQgaW4gR05PTUUgc2VhcmNoLCBxdWljayBhY2Nlc3MgdG8gc3lzdGVtIHNob3J0Y3V0cywgYW5kIG11Y2ggbW9yZSFcblxuQ29tbW9uIHNvbHV0aW9ucyBmb3IgRVJST1IgbWVzc2FnZTpcbiAtIFJlc3RhcnQgeW91ciBHTk9NRSBzZXNzaW9uIGFmdGVyIHVwZGF0aW5nIEFyY01lbnUuXG4gLSBJbnN0YWxsIG9uZSBvZiB0aGUgZm9sbG93aW5nIHBhY2thZ2VzOiAnZ2lyMS4yLWdtZW51LTMuMCcgb3IgJ2dub21lLW1lbnVzJ1xuXG5HZW5lcmFsIEhlbHA6XG4gLSBWaXNpdCBodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51Ly0vd2lraXMvaG9tZVxuXG5QbGVhc2UgcmVwb3J0IGFsbCBidWdzIG9yIGlzc3VlcyBhdCBodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51IiwKICAiZXh0ZW5zaW9uLWlkIjogImFyY21lbnUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhcmNtZW51IiwKICAibmFtZSI6ICJBcmNNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFyY21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUiLAogICJ1dWlkIjogImFyY21lbnVAYXJjbWVudS5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "40": {"version": "27", "sha256": "11jf6jlfaff479z1in3vnjxz19bfjczrhlix90y2w61kvs708g88", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFyY01lbnUgaXMgYW4gYXBwbGljYXRpb24gbWVudSBmb3IgR05PTUUgU2hlbGwsIGRlc2lnbmVkIHRvIHByb3ZpZGUgYSBtb3JlIGZhbWlsaWFyIHVzZXIgZXhwZXJpZW5jZSBhbmQgd29ya2Zsb3cuXG5cbkZlYXR1cmVzIGluY2x1ZGU6IG51bWVyb3VzIG1lbnUgbGF5b3V0cyB0byBjaG9vc2UgZnJvbSwgYnVpbHQgaW4gR05PTUUgc2VhcmNoLCBxdWljayBhY2Nlc3MgdG8gc3lzdGVtIHNob3J0Y3V0cywgYW5kIG11Y2ggbW9yZSFcblxuQ29tbW9uIHNvbHV0aW9ucyBmb3IgRVJST1IgbWVzc2FnZTpcbiAtIFJlc3RhcnQgeW91ciBHTk9NRSBzZXNzaW9uIGFmdGVyIHVwZGF0aW5nIEFyY01lbnUuXG4gLSBJbnN0YWxsIG9uZSBvZiB0aGUgZm9sbG93aW5nIHBhY2thZ2VzOiAnZ2lyMS4yLWdtZW51LTMuMCcgb3IgJ2dub21lLW1lbnVzJ1xuXG5HZW5lcmFsIEhlbHA6XG4gLSBWaXNpdCBodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51Ly0vd2lraXMvaG9tZVxuXG5QbGVhc2UgcmVwb3J0IGFsbCBidWdzIG9yIGlzc3VlcyBhdCBodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51IiwKICAiZXh0ZW5zaW9uLWlkIjogImFyY21lbnUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhcmNtZW51IiwKICAibmFtZSI6ICJBcmNNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFyY21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudSIsCiAgInV1aWQiOiAiYXJjbWVudUBhcmNtZW51LmNvbSIsCiAgInZlcnNpb24iOiAyNwp9"}, "41": {"version": "27", "sha256": "11jf6jlfaff479z1in3vnjxz19bfjczrhlix90y2w61kvs708g88", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFyY01lbnUgaXMgYW4gYXBwbGljYXRpb24gbWVudSBmb3IgR05PTUUgU2hlbGwsIGRlc2lnbmVkIHRvIHByb3ZpZGUgYSBtb3JlIGZhbWlsaWFyIHVzZXIgZXhwZXJpZW5jZSBhbmQgd29ya2Zsb3cuXG5cbkZlYXR1cmVzIGluY2x1ZGU6IG51bWVyb3VzIG1lbnUgbGF5b3V0cyB0byBjaG9vc2UgZnJvbSwgYnVpbHQgaW4gR05PTUUgc2VhcmNoLCBxdWljayBhY2Nlc3MgdG8gc3lzdGVtIHNob3J0Y3V0cywgYW5kIG11Y2ggbW9yZSFcblxuQ29tbW9uIHNvbHV0aW9ucyBmb3IgRVJST1IgbWVzc2FnZTpcbiAtIFJlc3RhcnQgeW91ciBHTk9NRSBzZXNzaW9uIGFmdGVyIHVwZGF0aW5nIEFyY01lbnUuXG4gLSBJbnN0YWxsIG9uZSBvZiB0aGUgZm9sbG93aW5nIHBhY2thZ2VzOiAnZ2lyMS4yLWdtZW51LTMuMCcgb3IgJ2dub21lLW1lbnVzJ1xuXG5HZW5lcmFsIEhlbHA6XG4gLSBWaXNpdCBodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51Ly0vd2lraXMvaG9tZVxuXG5QbGVhc2UgcmVwb3J0IGFsbCBidWdzIG9yIGlzc3VlcyBhdCBodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51IiwKICAiZXh0ZW5zaW9uLWlkIjogImFyY21lbnUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhcmNtZW51IiwKICAibmFtZSI6ICJBcmNNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFyY21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudSIsCiAgInV1aWQiOiAiYXJjbWVudUBhcmNtZW51LmNvbSIsCiAgInZlcnNpb24iOiAyNwp9"}, "42": {"version": "28", "sha256": "1j1zj320zr4ga08526plpyr9yv1hwim2cp153shfc11dc1w3nf58", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFyY01lbnUgaXMgYW4gYXBwbGljYXRpb24gbWVudSBmb3IgR05PTUUgU2hlbGwsIGRlc2lnbmVkIHRvIHByb3ZpZGUgYSBtb3JlIGZhbWlsaWFyIHVzZXIgZXhwZXJpZW5jZSBhbmQgd29ya2Zsb3cuXG5cbkZlYXR1cmVzIGluY2x1ZGU6IG51bWVyb3VzIG1lbnUgbGF5b3V0cyB0byBjaG9vc2UgZnJvbSwgYnVpbHQgaW4gR05PTUUgc2VhcmNoLCBxdWljayBhY2Nlc3MgdG8gc3lzdGVtIHNob3J0Y3V0cywgYW5kIG11Y2ggbW9yZSFcblxuQ29tbW9uIHNvbHV0aW9ucyBmb3IgRVJST1IgbWVzc2FnZTpcbiAtIFJlc3RhcnQgeW91ciBHTk9NRSBzZXNzaW9uIGFmdGVyIHVwZGF0aW5nIEFyY01lbnUuXG4gLSBJbnN0YWxsIG9uZSBvZiB0aGUgZm9sbG93aW5nIHBhY2thZ2VzOiAnZ2lyMS4yLWdtZW51LTMuMCcgb3IgJ2dub21lLW1lbnVzJ1xuXG5HZW5lcmFsIEhlbHA6XG4gLSBWaXNpdCBodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51Ly0vd2lraXMvaG9tZVxuXG5QbGVhc2UgcmVwb3J0IGFsbCBidWdzIG9yIGlzc3VlcyBhdCBodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51IiwKICAiZXh0ZW5zaW9uLWlkIjogImFyY21lbnUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhcmNtZW51IiwKICAibmFtZSI6ICJBcmNNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFyY21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51IiwKICAidXVpZCI6ICJhcmNtZW51QGFyY21lbnUuY29tIiwKICAidmVyc2lvbiI6IDI4Cn0="}}}
+, {"uuid": "arcmenu@arcmenu.com", "name": "ArcMenu", "pname": "arcmenu", "description": "Application menu for GNOME Shell\n\nFeatures include: numerous menu layouts to choose from, built in GNOME search, quick access to system shortcuts, and much more!\n\nCommon solutions for ERROR message:\n - Restart your GNOME session after updating ArcMenu.\n - Install one of the following packages: 'gir1.2-gmenu-3.0' or 'gnome-menus'\n\nGeneral Help:\n - Visit https://gitlab.com/arcmenu/ArcMenu/-/wikis/home\n\nPlease report all bugs or issues at https://gitlab.com/arcmenu/ArcMenu", "link": "https://extensions.gnome.org/extension/3628/arcmenu/", "shell_version_map": {"38": {"version": "17", "sha256": "0wj76n6mi31bvzv0mf89fdba6crfwb4rd8sfjni8nxbxfm7ii6fr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIG1lbnUgZm9yIEdOT01FIFNoZWxsXG5cbkZlYXR1cmVzIGluY2x1ZGU6IG51bWVyb3VzIG1lbnUgbGF5b3V0cyB0byBjaG9vc2UgZnJvbSwgYnVpbHQgaW4gR05PTUUgc2VhcmNoLCBxdWljayBhY2Nlc3MgdG8gc3lzdGVtIHNob3J0Y3V0cywgYW5kIG11Y2ggbW9yZSFcblxuQ29tbW9uIHNvbHV0aW9ucyBmb3IgRVJST1IgbWVzc2FnZTpcbiAtIFJlc3RhcnQgeW91ciBHTk9NRSBzZXNzaW9uIGFmdGVyIHVwZGF0aW5nIEFyY01lbnUuXG4gLSBJbnN0YWxsIG9uZSBvZiB0aGUgZm9sbG93aW5nIHBhY2thZ2VzOiAnZ2lyMS4yLWdtZW51LTMuMCcgb3IgJ2dub21lLW1lbnVzJ1xuXG5HZW5lcmFsIEhlbHA6XG4gLSBWaXNpdCBodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51Ly0vd2lraXMvaG9tZVxuXG5QbGVhc2UgcmVwb3J0IGFsbCBidWdzIG9yIGlzc3VlcyBhdCBodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51IiwKICAiZXh0ZW5zaW9uLWlkIjogImFyY21lbnUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhcmNtZW51IiwKICAibmFtZSI6ICJBcmNNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFyY21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUiLAogICJ1dWlkIjogImFyY21lbnVAYXJjbWVudS5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "40": {"version": "27", "sha256": "1dkxg21rynxfhwcif2jzs86p2vbk4y2r6ppw74brwz3zzvbzaxmx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIG1lbnUgZm9yIEdOT01FIFNoZWxsXG5cbkZlYXR1cmVzIGluY2x1ZGU6IG51bWVyb3VzIG1lbnUgbGF5b3V0cyB0byBjaG9vc2UgZnJvbSwgYnVpbHQgaW4gR05PTUUgc2VhcmNoLCBxdWljayBhY2Nlc3MgdG8gc3lzdGVtIHNob3J0Y3V0cywgYW5kIG11Y2ggbW9yZSFcblxuQ29tbW9uIHNvbHV0aW9ucyBmb3IgRVJST1IgbWVzc2FnZTpcbiAtIFJlc3RhcnQgeW91ciBHTk9NRSBzZXNzaW9uIGFmdGVyIHVwZGF0aW5nIEFyY01lbnUuXG4gLSBJbnN0YWxsIG9uZSBvZiB0aGUgZm9sbG93aW5nIHBhY2thZ2VzOiAnZ2lyMS4yLWdtZW51LTMuMCcgb3IgJ2dub21lLW1lbnVzJ1xuXG5HZW5lcmFsIEhlbHA6XG4gLSBWaXNpdCBodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51Ly0vd2lraXMvaG9tZVxuXG5QbGVhc2UgcmVwb3J0IGFsbCBidWdzIG9yIGlzc3VlcyBhdCBodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51IiwKICAiZXh0ZW5zaW9uLWlkIjogImFyY21lbnUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhcmNtZW51IiwKICAibmFtZSI6ICJBcmNNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFyY21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudSIsCiAgInV1aWQiOiAiYXJjbWVudUBhcmNtZW51LmNvbSIsCiAgInZlcnNpb24iOiAyNwp9"}, "41": {"version": "27", "sha256": "1dkxg21rynxfhwcif2jzs86p2vbk4y2r6ppw74brwz3zzvbzaxmx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIG1lbnUgZm9yIEdOT01FIFNoZWxsXG5cbkZlYXR1cmVzIGluY2x1ZGU6IG51bWVyb3VzIG1lbnUgbGF5b3V0cyB0byBjaG9vc2UgZnJvbSwgYnVpbHQgaW4gR05PTUUgc2VhcmNoLCBxdWljayBhY2Nlc3MgdG8gc3lzdGVtIHNob3J0Y3V0cywgYW5kIG11Y2ggbW9yZSFcblxuQ29tbW9uIHNvbHV0aW9ucyBmb3IgRVJST1IgbWVzc2FnZTpcbiAtIFJlc3RhcnQgeW91ciBHTk9NRSBzZXNzaW9uIGFmdGVyIHVwZGF0aW5nIEFyY01lbnUuXG4gLSBJbnN0YWxsIG9uZSBvZiB0aGUgZm9sbG93aW5nIHBhY2thZ2VzOiAnZ2lyMS4yLWdtZW51LTMuMCcgb3IgJ2dub21lLW1lbnVzJ1xuXG5HZW5lcmFsIEhlbHA6XG4gLSBWaXNpdCBodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51Ly0vd2lraXMvaG9tZVxuXG5QbGVhc2UgcmVwb3J0IGFsbCBidWdzIG9yIGlzc3VlcyBhdCBodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51IiwKICAiZXh0ZW5zaW9uLWlkIjogImFyY21lbnUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhcmNtZW51IiwKICAibmFtZSI6ICJBcmNNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFyY21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudSIsCiAgInV1aWQiOiAiYXJjbWVudUBhcmNtZW51LmNvbSIsCiAgInZlcnNpb24iOiAyNwp9"}, "42": {"version": "29", "sha256": "0vbdzm9s62fq03azjybj40gxdsqbc78mr8l3lh58q3czpqch0wkq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIG1lbnUgZm9yIEdOT01FIFNoZWxsXG5cbkZlYXR1cmVzIGluY2x1ZGU6IG51bWVyb3VzIG1lbnUgbGF5b3V0cyB0byBjaG9vc2UgZnJvbSwgYnVpbHQgaW4gR05PTUUgc2VhcmNoLCBxdWljayBhY2Nlc3MgdG8gc3lzdGVtIHNob3J0Y3V0cywgYW5kIG11Y2ggbW9yZSFcblxuQ29tbW9uIHNvbHV0aW9ucyBmb3IgRVJST1IgbWVzc2FnZTpcbiAtIFJlc3RhcnQgeW91ciBHTk9NRSBzZXNzaW9uIGFmdGVyIHVwZGF0aW5nIEFyY01lbnUuXG4gLSBJbnN0YWxsIG9uZSBvZiB0aGUgZm9sbG93aW5nIHBhY2thZ2VzOiAnZ2lyMS4yLWdtZW51LTMuMCcgb3IgJ2dub21lLW1lbnVzJ1xuXG5HZW5lcmFsIEhlbHA6XG4gLSBWaXNpdCBodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51Ly0vd2lraXMvaG9tZVxuXG5QbGVhc2UgcmVwb3J0IGFsbCBidWdzIG9yIGlzc3VlcyBhdCBodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51IiwKICAiZXh0ZW5zaW9uLWlkIjogImFyY21lbnUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhcmNtZW51IiwKICAibmFtZSI6ICJBcmNNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFyY21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51IiwKICAidXVpZCI6ICJhcmNtZW51QGFyY21lbnUuY29tIiwKICAidmVyc2lvbiI6IDI5Cn0="}}}
 , {"uuid": "fixedimelist@alynx.one", "name": "Fixed IME List", "pname": "fixed-ime-list", "description": "Make the IME list in fixed sequence instead of MRU.", "link": "https://extensions.gnome.org/extension/3663/fixed-ime-list/", "shell_version_map": {"38": {"version": "6", "sha256": "0v99flnb23cjv32wr7r077q29jvgs7j5fjx6dc6qm2n04f1qiibz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIElNRSBsaXN0IGluIGZpeGVkIHNlcXVlbmNlIGluc3RlYWQgb2YgTVJVLiIsCiAgIm5hbWUiOiAiRml4ZWQgSU1FIExpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWx5bnhaaG91L2dub21lLXNoZWxsLWV4dGVuc2lvbi1maXhlZC1pbWUtbGlzdC8iLAogICJ1dWlkIjogImZpeGVkaW1lbGlzdEBhbHlueC5vbmUiLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "0v99flnb23cjv32wr7r077q29jvgs7j5fjx6dc6qm2n04f1qiibz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIElNRSBsaXN0IGluIGZpeGVkIHNlcXVlbmNlIGluc3RlYWQgb2YgTVJVLiIsCiAgIm5hbWUiOiAiRml4ZWQgSU1FIExpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWx5bnhaaG91L2dub21lLXNoZWxsLWV4dGVuc2lvbi1maXhlZC1pbWUtbGlzdC8iLAogICJ1dWlkIjogImZpeGVkaW1lbGlzdEBhbHlueC5vbmUiLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "topindicatorapp@quiro9.com", "name": "Top Indicator App", "pname": "top-indicator-app", "description": "This extension is 'appindicators' from ubuntu, renamed 'top indicator app' under the terms of the GPL v2 +. it is the extension itself that Ubuntu offers as a native experience on your system, but so you can install it in other distros since the current one in gnome-extensions is empty.I will offer stable updates when possible.", "link": "https://extensions.gnome.org/extension/3681/top-indicator-app/", "shell_version_map": {"38": {"version": "2", "sha256": "12r4fxgsgd7jn001vlzqrsd86ci62zxk0b9p3bkdqh6g5hj3la35", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGlzICdhcHBpbmRpY2F0b3JzJyBmcm9tIHVidW50dSwgcmVuYW1lZCAndG9wIGluZGljYXRvciBhcHAnIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR1BMIHYyICsuIGl0IGlzIHRoZSBleHRlbnNpb24gaXRzZWxmIHRoYXQgVWJ1bnR1IG9mZmVycyBhcyBhIG5hdGl2ZSBleHBlcmllbmNlIG9uIHlvdXIgc3lzdGVtLCBidXQgc28geW91IGNhbiBpbnN0YWxsIGl0IGluIG90aGVyIGRpc3Ryb3Mgc2luY2UgdGhlIGN1cnJlbnQgb25lIGluIGdub21lLWV4dGVuc2lvbnMgaXMgZW1wdHkuSSB3aWxsIG9mZmVyIHN0YWJsZSB1cGRhdGVzIHdoZW4gcG9zc2libGUuIiwKICAibmFtZSI6ICJUb3AgSW5kaWNhdG9yIEFwcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3VidW50dS9nbm9tZS1zaGVsbC1leHRlbnNpb24tYXBwaW5kaWNhdG9yIiwKICAidXVpZCI6ICJ0b3BpbmRpY2F0b3JhcHBAcXVpcm85LmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "reorder-workspaces@jer.dev", "name": "Reorder Workspaces", "pname": "reorder-workspaces", "description": "Move workspaces up or down in the overview with Alt+Up/Alt+Down", "link": "https://extensions.gnome.org/extension/3685/reorder-workspaces/", "shell_version_map": {"38": {"version": "6", "sha256": "1f0hl2dzl75dwcv8jzx3rk1laqd9y9m32g219nvbhsmk8rjxfc31", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgd29ya3NwYWNlcyB1cCBvciBkb3duIGluIHRoZSBvdmVydmlldyB3aXRoIEFsdCtVcC9BbHQrRG93biIsCiAgIm5hbWUiOiAiUmVvcmRlciBXb3Jrc3BhY2VzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJlb3JkZXItd29ya3NwYWNlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2plcmVtaWFobWVnZWwvZ25vbWUtcmVvcmRlci13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJyZW9yZGVyLXdvcmtzcGFjZXNAamVyLmRldiIsCiAgInZlcnNpb24iOiA2Cn0="}}}
@@ -377,7 +378,7 @@
 , {"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="}}}
 , {"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": "6", "sha256": "1ahvqcmcy3n8h66svryi77pm4n86qrcpkqilv5n3avv5bxn3v5d0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgQWlycG9kcyBiYXR0ZXJ5IGxldmVsIGluIHRvcCBiYXJcblxuLyFcXCBOZWVkcyBBaXJTdGF0dXMgdG8gd29yazogaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL0FpclN0YXR1cyIsCiAgIm5hbWUiOiAiQWlycG9kcyBCYXR0ZXJ5IHN0YXR1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVscGhpa2kvZ25vbWUtYWlycG9kcy1iYXR0ZXJ5LXN0YXR1cyIsCiAgInV1aWQiOiAiYWlycG9kcy1iYXR0ZXJ5LXN0YXR1c0BqdS53dGYiLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "1ahvqcmcy3n8h66svryi77pm4n86qrcpkqilv5n3avv5bxn3v5d0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgQWlycG9kcyBiYXR0ZXJ5IGxldmVsIGluIHRvcCBiYXJcblxuLyFcXCBOZWVkcyBBaXJTdGF0dXMgdG8gd29yazogaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL0FpclN0YXR1cyIsCiAgIm5hbWUiOiAiQWlycG9kcyBCYXR0ZXJ5IHN0YXR1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVscGhpa2kvZ25vbWUtYWlycG9kcy1iYXR0ZXJ5LXN0YXR1cyIsCiAgInV1aWQiOiAiYWlycG9kcy1iYXR0ZXJ5LXN0YXR1c0BqdS53dGYiLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "1ahvqcmcy3n8h66svryi77pm4n86qrcpkqilv5n3avv5bxn3v5d0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgQWlycG9kcyBiYXR0ZXJ5IGxldmVsIGluIHRvcCBiYXJcblxuLyFcXCBOZWVkcyBBaXJTdGF0dXMgdG8gd29yazogaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL0FpclN0YXR1cyIsCiAgIm5hbWUiOiAiQWlycG9kcyBCYXR0ZXJ5IHN0YXR1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVscGhpa2kvZ25vbWUtYWlycG9kcy1iYXR0ZXJ5LXN0YXR1cyIsCiAgInV1aWQiOiAiYWlycG9kcy1iYXR0ZXJ5LXN0YXR1c0BqdS53dGYiLAogICJ2ZXJzaW9uIjogNgp9"}}}
-, {"uuid": "hue-lights@chlumskyvaclav.gmail.com", "name": "Hue Lights", "pname": "hue-lights", "description": "🇺🇦 Glory to Ukraine! 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": "21", "sha256": "07bkkj0aaz6p8ych9dij772r67p7ga8pxf8ln3gqvs674ra5w3y7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1ZDgzY1x1ZGRmYVx1ZDgzY1x1ZGRlNiBHbG9yeSB0byBVa3JhaW5lISBUaGlzIGV4dGVuc2lvbiBjb250cm9scyBQaGlsaXBzIEh1ZSBjb21wYXRpYmxlIGxpZ2h0cyB1c2luZyBQaGlsaXBzIEh1ZSBCcmlkZ2Ugb24geW91ciBsb2NhbCBuZXR3b3JrLCBpdCBhbHNvIGFsbG93cyBjb250cm9sbGluZyBQaGlsaXBzIEh1ZSBTeW5jIEJveC4gSWYgeW91IGFyZSBleHBlcmllbmNpbmcgYW4gZXJyb3Igb24gdGhlIHVwZ3JhZGUsIHBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaHVlLWxpZ2h0cyIsCiAgIm5hbWUiOiAiSHVlIExpZ2h0cyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vaHVlLWxpZ2h0cyIsCiAgInV1aWQiOiAiaHVlLWxpZ2h0c0BjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjEKfQ=="}, "40": {"version": "21", "sha256": "07bkkj0aaz6p8ych9dij772r67p7ga8pxf8ln3gqvs674ra5w3y7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1ZDgzY1x1ZGRmYVx1ZDgzY1x1ZGRlNiBHbG9yeSB0byBVa3JhaW5lISBUaGlzIGV4dGVuc2lvbiBjb250cm9scyBQaGlsaXBzIEh1ZSBjb21wYXRpYmxlIGxpZ2h0cyB1c2luZyBQaGlsaXBzIEh1ZSBCcmlkZ2Ugb24geW91ciBsb2NhbCBuZXR3b3JrLCBpdCBhbHNvIGFsbG93cyBjb250cm9sbGluZyBQaGlsaXBzIEh1ZSBTeW5jIEJveC4gSWYgeW91IGFyZSBleHBlcmllbmNpbmcgYW4gZXJyb3Igb24gdGhlIHVwZ3JhZGUsIHBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaHVlLWxpZ2h0cyIsCiAgIm5hbWUiOiAiSHVlIExpZ2h0cyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vaHVlLWxpZ2h0cyIsCiAgInV1aWQiOiAiaHVlLWxpZ2h0c0BjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjEKfQ=="}, "41": {"version": "21", "sha256": "07bkkj0aaz6p8ych9dij772r67p7ga8pxf8ln3gqvs674ra5w3y7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1ZDgzY1x1ZGRmYVx1ZDgzY1x1ZGRlNiBHbG9yeSB0byBVa3JhaW5lISBUaGlzIGV4dGVuc2lvbiBjb250cm9scyBQaGlsaXBzIEh1ZSBjb21wYXRpYmxlIGxpZ2h0cyB1c2luZyBQaGlsaXBzIEh1ZSBCcmlkZ2Ugb24geW91ciBsb2NhbCBuZXR3b3JrLCBpdCBhbHNvIGFsbG93cyBjb250cm9sbGluZyBQaGlsaXBzIEh1ZSBTeW5jIEJveC4gSWYgeW91IGFyZSBleHBlcmllbmNpbmcgYW4gZXJyb3Igb24gdGhlIHVwZ3JhZGUsIHBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaHVlLWxpZ2h0cyIsCiAgIm5hbWUiOiAiSHVlIExpZ2h0cyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vaHVlLWxpZ2h0cyIsCiAgInV1aWQiOiAiaHVlLWxpZ2h0c0BjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjEKfQ=="}, "42": {"version": "21", "sha256": "07bkkj0aaz6p8ych9dij772r67p7ga8pxf8ln3gqvs674ra5w3y7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1ZDgzY1x1ZGRmYVx1ZDgzY1x1ZGRlNiBHbG9yeSB0byBVa3JhaW5lISBUaGlzIGV4dGVuc2lvbiBjb250cm9scyBQaGlsaXBzIEh1ZSBjb21wYXRpYmxlIGxpZ2h0cyB1c2luZyBQaGlsaXBzIEh1ZSBCcmlkZ2Ugb24geW91ciBsb2NhbCBuZXR3b3JrLCBpdCBhbHNvIGFsbG93cyBjb250cm9sbGluZyBQaGlsaXBzIEh1ZSBTeW5jIEJveC4gSWYgeW91IGFyZSBleHBlcmllbmNpbmcgYW4gZXJyb3Igb24gdGhlIHVwZ3JhZGUsIHBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaHVlLWxpZ2h0cyIsCiAgIm5hbWUiOiAiSHVlIExpZ2h0cyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vaHVlLWxpZ2h0cyIsCiAgInV1aWQiOiAiaHVlLWxpZ2h0c0BjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjEKfQ=="}}}
+, {"uuid": "hue-lights@chlumskyvaclav.gmail.com", "name": "Hue Lights", "pname": "hue-lights", "description": "🇺🇦 Glory to Ukraine! 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": "142f388airvnlfyr4b6zwrbnrg8a76z7ic425rbij2fwl0xch1yg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1ZDgzY1x1ZGRmYVx1ZDgzY1x1ZGRlNiBHbG9yeSB0byBVa3JhaW5lISBUaGlzIGV4dGVuc2lvbiBjb250cm9scyBQaGlsaXBzIEh1ZSBjb21wYXRpYmxlIGxpZ2h0cyB1c2luZyBQaGlsaXBzIEh1ZSBCcmlkZ2Ugb24geW91ciBsb2NhbCBuZXR3b3JrLCBpdCBhbHNvIGFsbG93cyBjb250cm9sbGluZyBQaGlsaXBzIEh1ZSBTeW5jIEJveC4gSWYgeW91IGFyZSBleHBlcmllbmNpbmcgYW4gZXJyb3Igb24gdGhlIHVwZ3JhZGUsIHBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaHVlLWxpZ2h0cyIsCiAgIm5hbWUiOiAiSHVlIExpZ2h0cyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vaHVlLWxpZ2h0cyIsCiAgInV1aWQiOiAiaHVlLWxpZ2h0c0BjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "40": {"version": "22", "sha256": "142f388airvnlfyr4b6zwrbnrg8a76z7ic425rbij2fwl0xch1yg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1ZDgzY1x1ZGRmYVx1ZDgzY1x1ZGRlNiBHbG9yeSB0byBVa3JhaW5lISBUaGlzIGV4dGVuc2lvbiBjb250cm9scyBQaGlsaXBzIEh1ZSBjb21wYXRpYmxlIGxpZ2h0cyB1c2luZyBQaGlsaXBzIEh1ZSBCcmlkZ2Ugb24geW91ciBsb2NhbCBuZXR3b3JrLCBpdCBhbHNvIGFsbG93cyBjb250cm9sbGluZyBQaGlsaXBzIEh1ZSBTeW5jIEJveC4gSWYgeW91IGFyZSBleHBlcmllbmNpbmcgYW4gZXJyb3Igb24gdGhlIHVwZ3JhZGUsIHBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaHVlLWxpZ2h0cyIsCiAgIm5hbWUiOiAiSHVlIExpZ2h0cyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vaHVlLWxpZ2h0cyIsCiAgInV1aWQiOiAiaHVlLWxpZ2h0c0BjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "41": {"version": "22", "sha256": "142f388airvnlfyr4b6zwrbnrg8a76z7ic425rbij2fwl0xch1yg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1ZDgzY1x1ZGRmYVx1ZDgzY1x1ZGRlNiBHbG9yeSB0byBVa3JhaW5lISBUaGlzIGV4dGVuc2lvbiBjb250cm9scyBQaGlsaXBzIEh1ZSBjb21wYXRpYmxlIGxpZ2h0cyB1c2luZyBQaGlsaXBzIEh1ZSBCcmlkZ2Ugb24geW91ciBsb2NhbCBuZXR3b3JrLCBpdCBhbHNvIGFsbG93cyBjb250cm9sbGluZyBQaGlsaXBzIEh1ZSBTeW5jIEJveC4gSWYgeW91IGFyZSBleHBlcmllbmNpbmcgYW4gZXJyb3Igb24gdGhlIHVwZ3JhZGUsIHBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaHVlLWxpZ2h0cyIsCiAgIm5hbWUiOiAiSHVlIExpZ2h0cyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vaHVlLWxpZ2h0cyIsCiAgInV1aWQiOiAiaHVlLWxpZ2h0c0BjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "42": {"version": "22", "sha256": "142f388airvnlfyr4b6zwrbnrg8a76z7ic425rbij2fwl0xch1yg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1ZDgzY1x1ZGRmYVx1ZDgzY1x1ZGRlNiBHbG9yeSB0byBVa3JhaW5lISBUaGlzIGV4dGVuc2lvbiBjb250cm9scyBQaGlsaXBzIEh1ZSBjb21wYXRpYmxlIGxpZ2h0cyB1c2luZyBQaGlsaXBzIEh1ZSBCcmlkZ2Ugb24geW91ciBsb2NhbCBuZXR3b3JrLCBpdCBhbHNvIGFsbG93cyBjb250cm9sbGluZyBQaGlsaXBzIEh1ZSBTeW5jIEJveC4gSWYgeW91IGFyZSBleHBlcmllbmNpbmcgYW4gZXJyb3Igb24gdGhlIHVwZ3JhZGUsIHBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaHVlLWxpZ2h0cyIsCiAgIm5hbWUiOiAiSHVlIExpZ2h0cyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vaHVlLWxpZ2h0cyIsCiAgInV1aWQiOiAiaHVlLWxpZ2h0c0BjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}}}
 , {"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": "11", "sha256": "1ffki7rmdxrz3xr285jnlyxp1a4h6h4q17y4dj3c8p64hy145yyp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ2ljIGxhbXAgZWZmZWN0IGluc3BpcmVkIGJ5IHRoZSBDb21waXogb25lc1xuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKSIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIG1hZ2ljIGxhbXAgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGVybWVzODMvY29tcGl6LWFsaWtlLW1hZ2ljLWxhbXAtZWZmZWN0IiwKICAidXVpZCI6ICJjb21waXotYWxpa2UtbWFnaWMtbGFtcC1lZmZlY3RAaGVybWVzODMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMQp9"}, "40": {"version": "11", "sha256": "1ffki7rmdxrz3xr285jnlyxp1a4h6h4q17y4dj3c8p64hy145yyp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ2ljIGxhbXAgZWZmZWN0IGluc3BpcmVkIGJ5IHRoZSBDb21waXogb25lc1xuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKSIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIG1hZ2ljIGxhbXAgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGVybWVzODMvY29tcGl6LWFsaWtlLW1hZ2ljLWxhbXAtZWZmZWN0IiwKICAidXVpZCI6ICJjb21waXotYWxpa2UtbWFnaWMtbGFtcC1lZmZlY3RAaGVybWVzODMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMQp9"}, "41": {"version": "11", "sha256": "1ffki7rmdxrz3xr285jnlyxp1a4h6h4q17y4dj3c8p64hy145yyp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ2ljIGxhbXAgZWZmZWN0IGluc3BpcmVkIGJ5IHRoZSBDb21waXogb25lc1xuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKSIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIG1hZ2ljIGxhbXAgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGVybWVzODMvY29tcGl6LWFsaWtlLW1hZ2ljLWxhbXAtZWZmZWN0IiwKICAidXVpZCI6ICJjb21waXotYWxpa2UtbWFnaWMtbGFtcC1lZmZlY3RAaGVybWVzODMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMQp9"}, "42": {"version": "11", "sha256": "1ffki7rmdxrz3xr285jnlyxp1a4h6h4q17y4dj3c8p64hy145yyp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ2ljIGxhbXAgZWZmZWN0IGluc3BpcmVkIGJ5IHRoZSBDb21waXogb25lc1xuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKSIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIG1hZ2ljIGxhbXAgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGVybWVzODMvY29tcGl6LWFsaWtlLW1hZ2ljLWxhbXAtZWZmZWN0IiwKICAidXVpZCI6ICJjb21waXotYWxpa2UtbWFnaWMtbGFtcC1lZmZlY3RAaGVybWVzODMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMQp9"}}}
 , {"uuid": "latency-monitor@gitlab.labsatho.me", "name": "Latency Monitor", "pname": "latency-monitor", "description": "A simple extension for displaying latency information using pings in GNOME Shell.", "link": "https://extensions.gnome.org/extension/3746/latency-monitor/", "shell_version_map": {"38": {"version": "6", "sha256": "0k2y1qrq7irkn2c72pk4c5x4fwzaxkfp3jj7qvhzih6zmkifdzcd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGV4dGVuc2lvbiBmb3IgZGlzcGxheWluZyBsYXRlbmN5IGluZm9ybWF0aW9uIHVzaW5nIHBpbmdzIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiTGF0ZW5jeSBNb25pdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxhdGVuY3ktbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3dhbGthZndhbGthL2dub21lLXNoZWxsLWV4dGVuc2lvbi1sYXRlbmN5LW1vbml0b3IiLAogICJ1dWlkIjogImxhdGVuY3ktbW9uaXRvckBnaXRsYWIubGFic2F0aG8ubWUiLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "the-circles-widget@xenlism.github.io", "name": "The Circles - Desktop Widget", "pname": "the-circles-desktop-widget", "description": "Show System Infomations on Desktop as Circles Desktop Widget\n\nmore info \nhttps://www.linuxuprising.com/2020/11/display-clock-ram-and-cpu-usage-as.html", "link": "https://extensions.gnome.org/extension/3748/the-circles-desktop-widget/", "shell_version_map": {"38": {"version": "6", "sha256": "0kxync9gdjgcfq3vfhf5z0065n30jw5y5jl00hdgarsh4pkbji04", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgU3lzdGVtIEluZm9tYXRpb25zIG9uIERlc2t0b3AgYXMgQ2lyY2xlcyBEZXNrdG9wIFdpZGdldFxuXG5tb3JlIGluZm8gXG5odHRwczovL3d3dy5saW51eHVwcmlzaW5nLmNvbS8yMDIwLzExL2Rpc3BsYXktY2xvY2stcmFtLWFuZC1jcHUtdXNhZ2UtYXMuaHRtbCIsCiAgImV4dGVuc2lvbi1pZCI6ICJ0aGUtY2lyY2xlcy13aWRnZXQiLAogICJuYW1lIjogIlRoZSBDaXJjbGVzIC0gRGVza3RvcCBXaWRnZXQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGhlLWNpcmNsZXMtd2lkZ2V0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veGVubGlzbS9zaG93dGltZSIsCiAgInV1aWQiOiAidGhlLWNpcmNsZXMtd2lkZ2V0QHhlbmxpc20uZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "12", "sha256": "0ngn00y97dqv667z47xahfv53dlb2asm0jbk9harlv4516jdrg0s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgU3lzdGVtIEluZm9tYXRpb25zIG9uIERlc2t0b3AgYXMgQ2lyY2xlcyBEZXNrdG9wIFdpZGdldFxuXG5tb3JlIGluZm8gXG5odHRwczovL3d3dy5saW51eHVwcmlzaW5nLmNvbS8yMDIwLzExL2Rpc3BsYXktY2xvY2stcmFtLWFuZC1jcHUtdXNhZ2UtYXMuaHRtbCIsCiAgImV4dGVuc2lvbi1pZCI6ICJ0aGUtY2lyY2xlcy13aWRnZXQiLAogICJuYW1lIjogIlRoZSBDaXJjbGVzIC0gRGVza3RvcCBXaWRnZXQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGhlLWNpcmNsZXMtd2lkZ2V0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3hlbmxpc20vc2hvd3RpbWUiLAogICJ1dWlkIjogInRoZS1jaXJjbGVzLXdpZGdldEB4ZW5saXNtLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMgp9"}}}
@@ -400,7 +401,7 @@
 , {"uuid": "NetworkSpeed@m0hithreddy", "name": "Network Speed", "pname": "network-speed", "description": "Highly customizable Network Speed Monitor.\n\nQuick install: \n\n/bin/bash -c \"$(curl -sL https://git.io/JkFoh)\"\n\nWhat's in this extension:\n\n* Preference Menu to customize the extension.\n* Five configurable network speed modes.\n   1. Total net speed in [g, m, k]b/s.\n   2. Total net speed in [G, M, K]B/s.\n   3. Up and down the speed in [g, m, k]b/s.\n   4. Up and down the speed in [G, M, K]B/s.\n   5. Total Downloaded in [G, M, K]B.\n* Extension color can be customizable.\n* Option to show upload speed first in modes 3 and 4.\n* Align the extension horizontally or vertically.\n* Different font sizes.\n* Option to autohide the extension, when idle.\n\nMouse click events on the extension:\n\n* Left click: Cycle through the modes.\n* Right-click in the first four modes: Toggle the visibility of total downloaded.\n* Right-click in the fifth mode: Reset total downloaded.\n* Four consecutive right-clicks: Toggle the horizontal/vertical alignment.\n* Middle click: Cycle through the font sizes.\n\nThanks to bijignome of creating the extension. Special thanks to prateekmedia for giving rebirth to the extension.\n\nWhat I added:\n\n* Revamping the whole codebase to create a roadmap for many feature additions.\n* Color customizations, Upload speed first, AutoHide.\n* Adopted Make build system to manage the extension (for developers).\n* Quick install method.", "link": "https://extensions.gnome.org/extension/3896/network-speed/", "shell_version_map": {"38": {"version": "1", "sha256": "0029mjirbg2hdk1ms95p29hmf8ahvfjyrsw9079nbds9p7za9f9n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hseSBjdXN0b21pemFibGUgTmV0d29yayBTcGVlZCBNb25pdG9yLlxuXG5RdWljayBpbnN0YWxsOiBcblxuL2Jpbi9iYXNoIC1jIFwiJChjdXJsIC1zTCBodHRwczovL2dpdC5pby9Ka0ZvaClcIlxuXG5XaGF0J3MgaW4gdGhpcyBleHRlbnNpb246XG5cbiogUHJlZmVyZW5jZSBNZW51IHRvIGN1c3RvbWl6ZSB0aGUgZXh0ZW5zaW9uLlxuKiBGaXZlIGNvbmZpZ3VyYWJsZSBuZXR3b3JrIHNwZWVkIG1vZGVzLlxuICAgMS4gVG90YWwgbmV0IHNwZWVkIGluIFtnLCBtLCBrXWIvcy5cbiAgIDIuIFRvdGFsIG5ldCBzcGVlZCBpbiBbRywgTSwgS11CL3MuXG4gICAzLiBVcCBhbmQgZG93biB0aGUgc3BlZWQgaW4gW2csIG0sIGtdYi9zLlxuICAgNC4gVXAgYW5kIGRvd24gdGhlIHNwZWVkIGluIFtHLCBNLCBLXUIvcy5cbiAgIDUuIFRvdGFsIERvd25sb2FkZWQgaW4gW0csIE0sIEtdQi5cbiogRXh0ZW5zaW9uIGNvbG9yIGNhbiBiZSBjdXN0b21pemFibGUuXG4qIE9wdGlvbiB0byBzaG93IHVwbG9hZCBzcGVlZCBmaXJzdCBpbiBtb2RlcyAzIGFuZCA0LlxuKiBBbGlnbiB0aGUgZXh0ZW5zaW9uIGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LlxuKiBEaWZmZXJlbnQgZm9udCBzaXplcy5cbiogT3B0aW9uIHRvIGF1dG9oaWRlIHRoZSBleHRlbnNpb24sIHdoZW4gaWRsZS5cblxuTW91c2UgY2xpY2sgZXZlbnRzIG9uIHRoZSBleHRlbnNpb246XG5cbiogTGVmdCBjbGljazogQ3ljbGUgdGhyb3VnaCB0aGUgbW9kZXMuXG4qIFJpZ2h0LWNsaWNrIGluIHRoZSBmaXJzdCBmb3VyIG1vZGVzOiBUb2dnbGUgdGhlIHZpc2liaWxpdHkgb2YgdG90YWwgZG93bmxvYWRlZC5cbiogUmlnaHQtY2xpY2sgaW4gdGhlIGZpZnRoIG1vZGU6IFJlc2V0IHRvdGFsIGRvd25sb2FkZWQuXG4qIEZvdXIgY29uc2VjdXRpdmUgcmlnaHQtY2xpY2tzOiBUb2dnbGUgdGhlIGhvcml6b250YWwvdmVydGljYWwgYWxpZ25tZW50LlxuKiBNaWRkbGUgY2xpY2s6IEN5Y2xlIHRocm91Z2ggdGhlIGZvbnQgc2l6ZXMuXG5cblRoYW5rcyB0byBiaWppZ25vbWUgb2YgY3JlYXRpbmcgdGhlIGV4dGVuc2lvbi4gU3BlY2lhbCB0aGFua3MgdG8gcHJhdGVla21lZGlhIGZvciBnaXZpbmcgcmViaXJ0aCB0byB0aGUgZXh0ZW5zaW9uLlxuXG5XaGF0IEkgYWRkZWQ6XG5cbiogUmV2YW1waW5nIHRoZSB3aG9sZSBjb2RlYmFzZSB0byBjcmVhdGUgYSByb2FkbWFwIGZvciBtYW55IGZlYXR1cmUgYWRkaXRpb25zLlxuKiBDb2xvciBjdXN0b21pemF0aW9ucywgVXBsb2FkIHNwZWVkIGZpcnN0LCBBdXRvSGlkZS5cbiogQWRvcHRlZCBNYWtlIGJ1aWxkIHN5c3RlbSB0byBtYW5hZ2UgdGhlIGV4dGVuc2lvbiAoZm9yIGRldmVsb3BlcnMpLlxuKiBRdWljayBpbnN0YWxsIG1ldGhvZC4iLAogICJuYW1lIjogIk5ldHdvcmsgU3BlZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tMGhpdGhyZWRkeS9OZXR3b3JrU3BlZWQiLAogICJ1dWlkIjogIk5ldHdvcmtTcGVlZEBtMGhpdGhyZWRkeSIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "eye-extended-fix@als.kz", "name": "Eye and Mouse Extended", "pname": "eye-and-mouse-extended", "description": "Adds an eye to the indicator bar that follows your cursor \nYou can also display the mouse indicator, perhaps it will help you with the problem of displaying the mouse cursor in Skype. Import fix of original extension https://github.com/alexeylovchikov/eye-extended-shell-extension", "link": "https://extensions.gnome.org/extension/3902/eye-and-mouse-extended/", "shell_version_map": {"38": {"version": "1", "sha256": "1yxs70vlxyf4ns0nd37fl85lp188j84662lsl2l16rdm39w2c2wf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gZXllIHRvIHRoZSBpbmRpY2F0b3IgYmFyIHRoYXQgZm9sbG93cyB5b3VyIGN1cnNvciBcbllvdSBjYW4gYWxzbyBkaXNwbGF5IHRoZSBtb3VzZSBpbmRpY2F0b3IsIHBlcmhhcHMgaXQgd2lsbCBoZWxwIHlvdSB3aXRoIHRoZSBwcm9ibGVtIG9mIGRpc3BsYXlpbmcgdGhlIG1vdXNlIGN1cnNvciBpbiBTa3lwZS4gSW1wb3J0IGZpeCBvZiBvcmlnaW5hbCBleHRlbnNpb24gaHR0cHM6Ly9naXRodWIuY29tL2FsZXhleWxvdmNoaWtvdi9leWUtZXh0ZW5kZWQtc2hlbGwtZXh0ZW5zaW9uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiRXllRXh0ZW5kZWQiLAogICJuYW1lIjogIkV5ZSBhbmQgTW91c2UgRXh0ZW5kZWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAia3ouYWxzLmV5ZS1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOC4xIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaXBlYWNvY2tzL2V5ZS1leHRlbmRlZC1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImV5ZS1leHRlbmRlZC1maXhAYWxzLmt6IiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "RemoveAppMenu@Dragon8oy.com", "name": "Remove App Menu", "pname": "remove-app-menu", "description": "Remove the application menu from the top bar", "link": "https://extensions.gnome.org/extension/3906/remove-app-menu/", "shell_version_map": {"38": {"version": "9", "sha256": "17w1vgx2hl8lv5vh3hsck2gad9z2g9bvz2x252zvq9f4pg9dx9cj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSB0aGUgYXBwbGljYXRpb24gbWVudSBmcm9tIHRoZSB0b3AgYmFyIiwKICAibmFtZSI6ICJSZW1vdmUgQXBwIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVhcnRoYXlodXJzdC9yZW1vdmUtYXBwLW1lbnUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJSZW1vdmVBcHBNZW51QERyYWdvbjhveS5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}, "40": {"version": "9", "sha256": "17w1vgx2hl8lv5vh3hsck2gad9z2g9bvz2x252zvq9f4pg9dx9cj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSB0aGUgYXBwbGljYXRpb24gbWVudSBmcm9tIHRoZSB0b3AgYmFyIiwKICAibmFtZSI6ICJSZW1vdmUgQXBwIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVhcnRoYXlodXJzdC9yZW1vdmUtYXBwLW1lbnUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJSZW1vdmVBcHBNZW51QERyYWdvbjhveS5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}, "41": {"version": "9", "sha256": "17w1vgx2hl8lv5vh3hsck2gad9z2g9bvz2x252zvq9f4pg9dx9cj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSB0aGUgYXBwbGljYXRpb24gbWVudSBmcm9tIHRoZSB0b3AgYmFyIiwKICAibmFtZSI6ICJSZW1vdmUgQXBwIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVhcnRoYXlodXJzdC9yZW1vdmUtYXBwLW1lbnUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJSZW1vdmVBcHBNZW51QERyYWdvbjhveS5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}, "42": {"version": "9", "sha256": "17w1vgx2hl8lv5vh3hsck2gad9z2g9bvz2x252zvq9f4pg9dx9cj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSB0aGUgYXBwbGljYXRpb24gbWVudSBmcm9tIHRoZSB0b3AgYmFyIiwKICAibmFtZSI6ICJSZW1vdmUgQXBwIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVhcnRoYXlodXJzdC9yZW1vdmUtYXBwLW1lbnUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJSZW1vdmVBcHBNZW51QERyYWdvbjhveS5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}}}
-, {"uuid": "snow@endlessos.org", "name": "Snow", "pname": "snow", "description": "Let it snow", "link": "https://extensions.gnome.org/extension/3912/snow/", "shell_version_map": {"38": {"version": "4", "sha256": "08sm2vxzrfb72yvncg7qzj4k5smbc1lfm750xh2pwipyzxl841gy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxldCBpdCBzbm93IiwKICAibmFtZSI6ICJTbm93IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic25vd0BlbmRsZXNzb3Mub3JnIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "08sm2vxzrfb72yvncg7qzj4k5smbc1lfm750xh2pwipyzxl841gy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxldCBpdCBzbm93IiwKICAibmFtZSI6ICJTbm93IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic25vd0BlbmRsZXNzb3Mub3JnIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "08sm2vxzrfb72yvncg7qzj4k5smbc1lfm750xh2pwipyzxl841gy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxldCBpdCBzbm93IiwKICAibmFtZSI6ICJTbm93IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic25vd0BlbmRsZXNzb3Mub3JnIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
+, {"uuid": "snow@endlessos.org", "name": "Snow", "pname": "snow", "description": "Let it snow", "link": "https://extensions.gnome.org/extension/3912/snow/", "shell_version_map": {"38": {"version": "5", "sha256": "1adrq599wck6gz07117n0381g4hh3qq1p1ars63dsnf1mmmrkfac", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxldCBpdCBzbm93IiwKICAibmFtZSI6ICJTbm93IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInNub3dAZW5kbGVzc29zLm9yZyIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "1adrq599wck6gz07117n0381g4hh3qq1p1ars63dsnf1mmmrkfac", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxldCBpdCBzbm93IiwKICAibmFtZSI6ICJTbm93IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInNub3dAZW5kbGVzc29zLm9yZyIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "1adrq599wck6gz07117n0381g4hh3qq1p1ars63dsnf1mmmrkfac", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxldCBpdCBzbm93IiwKICAibmFtZSI6ICJTbm93IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInNub3dAZW5kbGVzc29zLm9yZyIsCiAgInZlcnNpb24iOiA1Cn0="}, "42": {"version": "5", "sha256": "1adrq599wck6gz07117n0381g4hh3qq1p1ars63dsnf1mmmrkfac", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxldCBpdCBzbm93IiwKICAibmFtZSI6ICJTbm93IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInNub3dAZW5kbGVzc29zLm9yZyIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "sticky-terminal@fthx", "name": "Sticky Terminal", "pname": "sticky-terminal", "description": "Toggle a sticky GNOME terminal window. Your terminal window will always be in foreground while you use another app.\n\nA button in panel allows to toggle the visibility of the terminal. Window is resizeable.\n\nYou can easily change it to default another terminal app or another app. Some other settings. See comments in extension.js file.", "link": "https://extensions.gnome.org/extension/3915/sticky-terminal/", "shell_version_map": {"38": {"version": "2", "sha256": "0j65ihfhama6scp2b8qbqr1h4gamy4v0w1ygxrfglhvl3jhjm5zz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBhIHN0aWNreSBHTk9NRSB0ZXJtaW5hbCB3aW5kb3cuIFlvdXIgdGVybWluYWwgd2luZG93IHdpbGwgYWx3YXlzIGJlIGluIGZvcmVncm91bmQgd2hpbGUgeW91IHVzZSBhbm90aGVyIGFwcC5cblxuQSBidXR0b24gaW4gcGFuZWwgYWxsb3dzIHRvIHRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgdGVybWluYWwuIFdpbmRvdyBpcyByZXNpemVhYmxlLlxuXG5Zb3UgY2FuIGVhc2lseSBjaGFuZ2UgaXQgdG8gZGVmYXVsdCBhbm90aGVyIHRlcm1pbmFsIGFwcCBvciBhbm90aGVyIGFwcC4gU29tZSBvdGhlciBzZXR0aW5ncy4gU2VlIGNvbW1lbnRzIGluIGV4dGVuc2lvbi5qcyBmaWxlLiIsCiAgIm5hbWUiOiAiU3RpY2t5IFRlcm1pbmFsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9zdGlja3ktdGVybWluYWwiLAogICJ1dWlkIjogInN0aWNreS10ZXJtaW5hbEBmdGh4IiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "sticky-r-terminal@fthx", "name": "Sticky R Terminal", "pname": "sticky-r-terminal", "description": "Toggle a sticky R terminal window. Your R window will always be in foreground while you use another app.\n\nYou can easily change it to default another terminal app or another app. Some other settings. See comments in extension.js file. Same extension only running a terminal: https://extensions.gnome.org/extension/3915/sticky-terminal . You can use it with R if this extension does not work for your R installation setup.\n\nKeywords: stat, stats, statistics, statistical, r-cran.", "link": "https://extensions.gnome.org/extension/3916/sticky-r-terminal/", "shell_version_map": {"38": {"version": "1", "sha256": "17x84g6fb785jmcl5jz41nw4rgzaad48mc5zllh5b3a485731f0s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBhIHN0aWNreSBSIHRlcm1pbmFsIHdpbmRvdy4gWW91ciBSIHdpbmRvdyB3aWxsIGFsd2F5cyBiZSBpbiBmb3JlZ3JvdW5kIHdoaWxlIHlvdSB1c2UgYW5vdGhlciBhcHAuXG5cbllvdSBjYW4gZWFzaWx5IGNoYW5nZSBpdCB0byBkZWZhdWx0IGFub3RoZXIgdGVybWluYWwgYXBwIG9yIGFub3RoZXIgYXBwLiBTb21lIG90aGVyIHNldHRpbmdzLiBTZWUgY29tbWVudHMgaW4gZXh0ZW5zaW9uLmpzIGZpbGUuIFNhbWUgZXh0ZW5zaW9uIG9ubHkgcnVubmluZyBhIHRlcm1pbmFsOiBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8zOTE1L3N0aWNreS10ZXJtaW5hbCAuIFlvdSBjYW4gdXNlIGl0IHdpdGggUiBpZiB0aGlzIGV4dGVuc2lvbiBkb2VzIG5vdCB3b3JrIGZvciB5b3VyIFIgaW5zdGFsbGF0aW9uIHNldHVwLlxuXG5LZXl3b3Jkczogc3RhdCwgc3RhdHMsIHN0YXRpc3RpY3MsIHN0YXRpc3RpY2FsLCByLWNyYW4uIiwKICAibmFtZSI6ICJTdGlja3kgUiBUZXJtaW5hbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvc3RpY2t5LXItdGVybWluYWwiLAogICJ1dWlkIjogInN0aWNreS1yLXRlcm1pbmFsQGZ0aHgiLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "onedrive@diegobazzanella.com", "name": "One Drive", "pname": "one-drive", "description": "One Drive extension", "link": "https://extensions.gnome.org/extension/3919/one-drive/", "shell_version_map": {"38": {"version": "4", "sha256": "0h37rr9hw6azrlf465ngl7w7miii9bm4sh33wkr0x8q51rz62ydd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9uZSBEcml2ZSBleHRlbnNpb24iLAogICJuYW1lIjogIk9uZSBEcml2ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RiYXp6YS9vbmVEcml2ZSIsCiAgInV1aWQiOiAib25lZHJpdmVAZGllZ29iYXp6YW5lbGxhLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
@@ -413,17 +414,17 @@
 , {"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.\n\nYou can change the widgets position with preferences. The widget can be pinned to right corner (status area) default, center (data time area) and left corner (activities area).\n\nThere could be an error with the extension after update. The solution is to logout and login again.", "link": "https://extensions.gnome.org/extension/3952/workspace-indicator/", "shell_version_map": {"38": {"version": "9", "sha256": "1zzgxr6iq8c3drpd2n9hqly5pv827qpfy2kbjyzzzgxcvz5002df", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuXG5cbllvdSBjYW4gY2hhbmdlIHRoZSB3aWRnZXRzIHBvc2l0aW9uIHdpdGggcHJlZmVyZW5jZXMuIFRoZSB3aWRnZXQgY2FuIGJlIHBpbm5lZCB0byByaWdodCBjb3JuZXIgKHN0YXR1cyBhcmVhKSBkZWZhdWx0LCBjZW50ZXIgKGRhdGEgdGltZSBhcmVhKSBhbmQgbGVmdCBjb3JuZXIgKGFjdGl2aXRpZXMgYXJlYSkuXG5cblRoZXJlIGNvdWxkIGJlIGFuIGVycm9yIHdpdGggdGhlIGV4dGVuc2lvbiBhZnRlciB1cGRhdGUuIFRoZSBzb2x1dGlvbiBpcyB0byBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLiIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIGluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHR5Mi9ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImhvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvckB0dHkyLmlvIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "40": {"version": "11", "sha256": "1y2ykdqcifhmps9lqpcpkpp8a7vfs5n48y9y9cm0pflxn6zzdqsb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuXG5cbllvdSBjYW4gY2hhbmdlIHRoZSB3aWRnZXRzIHBvc2l0aW9uIHdpdGggcHJlZmVyZW5jZXMuIFRoZSB3aWRnZXQgY2FuIGJlIHBpbm5lZCB0byByaWdodCBjb3JuZXIgKHN0YXR1cyBhcmVhKSBkZWZhdWx0LCBjZW50ZXIgKGRhdGEgdGltZSBhcmVhKSBhbmQgbGVmdCBjb3JuZXIgKGFjdGl2aXRpZXMgYXJlYSkuXG5cblRoZXJlIGNvdWxkIGJlIGFuIGVycm9yIHdpdGggdGhlIGV4dGVuc2lvbiBhZnRlciB1cGRhdGUuIFRoZSBzb2x1dGlvbiBpcyB0byBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLiIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIGluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R0eTIvaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3JAdHR5Mi5pbyIsCiAgInZlcnNpb24iOiAxMQp9"}, "41": {"version": "11", "sha256": "1y2ykdqcifhmps9lqpcpkpp8a7vfs5n48y9y9cm0pflxn6zzdqsb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuXG5cbllvdSBjYW4gY2hhbmdlIHRoZSB3aWRnZXRzIHBvc2l0aW9uIHdpdGggcHJlZmVyZW5jZXMuIFRoZSB3aWRnZXQgY2FuIGJlIHBpbm5lZCB0byByaWdodCBjb3JuZXIgKHN0YXR1cyBhcmVhKSBkZWZhdWx0LCBjZW50ZXIgKGRhdGEgdGltZSBhcmVhKSBhbmQgbGVmdCBjb3JuZXIgKGFjdGl2aXRpZXMgYXJlYSkuXG5cblRoZXJlIGNvdWxkIGJlIGFuIGVycm9yIHdpdGggdGhlIGV4dGVuc2lvbiBhZnRlciB1cGRhdGUuIFRoZSBzb2x1dGlvbiBpcyB0byBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLiIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIGluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R0eTIvaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3JAdHR5Mi5pbyIsCiAgInZlcnNpb24iOiAxMQp9"}}}
+, {"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.\n\nThere could be an error with the extension after update. The solution is to logout and login again.", "link": "https://extensions.gnome.org/extension/3952/workspace-indicator/", "shell_version_map": {"38": {"version": "9", "sha256": "17qfpkgah0npp07947ayg1zbc8fqy7ljabx717vfmhwddgmj1zb1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuXG5cblRoZXJlIGNvdWxkIGJlIGFuIGVycm9yIHdpdGggdGhlIGV4dGVuc2lvbiBhZnRlciB1cGRhdGUuIFRoZSBzb2x1dGlvbiBpcyB0byBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLiIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIGluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHR5Mi9ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImhvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvckB0dHkyLmlvIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "40": {"version": "12", "sha256": "0f34z9cp8bl88hank3bk2a7byx3y8nwliw1nv0fr28kh13sldlw2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuXG5cblRoZXJlIGNvdWxkIGJlIGFuIGVycm9yIHdpdGggdGhlIGV4dGVuc2lvbiBhZnRlciB1cGRhdGUuIFRoZSBzb2x1dGlvbiBpcyB0byBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLiIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIGluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dHkyL2hvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvciIsCiAgInV1aWQiOiAiaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yQHR0eTIuaW8iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "41": {"version": "12", "sha256": "0f34z9cp8bl88hank3bk2a7byx3y8nwliw1nv0fr28kh13sldlw2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuXG5cblRoZXJlIGNvdWxkIGJlIGFuIGVycm9yIHdpdGggdGhlIGV4dGVuc2lvbiBhZnRlciB1cGRhdGUuIFRoZSBzb2x1dGlvbiBpcyB0byBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLiIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIGluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dHkyL2hvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvciIsCiAgInV1aWQiOiAiaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yQHR0eTIuaW8iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "42": {"version": "12", "sha256": "0f34z9cp8bl88hank3bk2a7byx3y8nwliw1nv0fr28kh13sldlw2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuXG5cblRoZXJlIGNvdWxkIGJlIGFuIGVycm9yIHdpdGggdGhlIGV4dGVuc2lvbiBhZnRlciB1cGRhdGUuIFRoZSBzb2x1dGlvbiBpcyB0byBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLiIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIGluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dHkyL2hvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvciIsCiAgInV1aWQiOiAiaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yQHR0eTIuaW8iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}}}
 , {"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": "12", "sha256": "14cc6gf3pdjzwr9z6qh1hkvhi57k4zw7lp7i5pi3adh53dlbdhdq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJDemFybGllIDxsZWVlNDlAZ21haWwuY29tPiIsCiAgImF1dGhvci1odG1sIjogIkN6YXJsaWUgJmx0OzxhIGhyZWY9XCJtYWlsdG86bGVlZTQ5Ljd4N0BnbWFpbC5jb21cIj5sZWVlNDkuN3g3QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAiZGVzY3JpcHRpb24iOiAiRnV6enkgYXBwbGljYXRpb24gc2VhcmNoIHJlc3VsdHMgZm9yIEdub21lIFNlYXJjaCIsCiAgImRlc2NyaXB0aW9uLWh0bWwiOiAiPGEgaHJlZj1cImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcHJveGltYXRlX3N0cmluZ19tYXRjaGluZ1wiPkZ1enp5PC9hPiBhcHBsaWNhdGlvbiBzZWFyY2ggcmVzdWx0cyBmb3IgPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9TZWFyY2hQcm92aWRlci9cIj5Hbm9tZSBTZWFyY2g8L2E+LiIsCiAgImVtYWlsIjogImxlZWU0OS43eDdAZ21haWwuY29tIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIkdOT01FIEZ1enp5IEFwcCBTZWFyY2giLAogICJvcmlnaW5hbC1hdXRob3IiOiAiRnJhbmpvIEZpbG8gPGZmZmlsbzY2NkBnbWFpbC5jb20+IiwKICAib3JpZ2luYWwtYXV0aG9yLWh0bWwiOiAiRnJhbmpvIEZpbG8gJmx0OzxhIGhyZWY9XCJtYWlsdG86ZmZmaWxvNjY2QGdtYWlsLmNvbVwiPmZmZmlsbzY2NkBnbWFpbC5jb208L2E+Jmd0OyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9DemFybGllL2dub21lLWZ1enp5LWFwcC1zZWFyY2giLAogICJ1dWlkIjogImdub21lLWZ1enp5LWFwcC1zZWFyY2hAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5DemFybGllLmdpdGxhYi5jb20iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "40": {"version": "12", "sha256": "14cc6gf3pdjzwr9z6qh1hkvhi57k4zw7lp7i5pi3adh53dlbdhdq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJDemFybGllIDxsZWVlNDlAZ21haWwuY29tPiIsCiAgImF1dGhvci1odG1sIjogIkN6YXJsaWUgJmx0OzxhIGhyZWY9XCJtYWlsdG86bGVlZTQ5Ljd4N0BnbWFpbC5jb21cIj5sZWVlNDkuN3g3QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAiZGVzY3JpcHRpb24iOiAiRnV6enkgYXBwbGljYXRpb24gc2VhcmNoIHJlc3VsdHMgZm9yIEdub21lIFNlYXJjaCIsCiAgImRlc2NyaXB0aW9uLWh0bWwiOiAiPGEgaHJlZj1cImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcHJveGltYXRlX3N0cmluZ19tYXRjaGluZ1wiPkZ1enp5PC9hPiBhcHBsaWNhdGlvbiBzZWFyY2ggcmVzdWx0cyBmb3IgPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9TZWFyY2hQcm92aWRlci9cIj5Hbm9tZSBTZWFyY2g8L2E+LiIsCiAgImVtYWlsIjogImxlZWU0OS43eDdAZ21haWwuY29tIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIkdOT01FIEZ1enp5IEFwcCBTZWFyY2giLAogICJvcmlnaW5hbC1hdXRob3IiOiAiRnJhbmpvIEZpbG8gPGZmZmlsbzY2NkBnbWFpbC5jb20+IiwKICAib3JpZ2luYWwtYXV0aG9yLWh0bWwiOiAiRnJhbmpvIEZpbG8gJmx0OzxhIGhyZWY9XCJtYWlsdG86ZmZmaWxvNjY2QGdtYWlsLmNvbVwiPmZmZmlsbzY2NkBnbWFpbC5jb208L2E+Jmd0OyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9DemFybGllL2dub21lLWZ1enp5LWFwcC1zZWFyY2giLAogICJ1dWlkIjogImdub21lLWZ1enp5LWFwcC1zZWFyY2hAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5DemFybGllLmdpdGxhYi5jb20iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "41": {"version": "12", "sha256": "14cc6gf3pdjzwr9z6qh1hkvhi57k4zw7lp7i5pi3adh53dlbdhdq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJDemFybGllIDxsZWVlNDlAZ21haWwuY29tPiIsCiAgImF1dGhvci1odG1sIjogIkN6YXJsaWUgJmx0OzxhIGhyZWY9XCJtYWlsdG86bGVlZTQ5Ljd4N0BnbWFpbC5jb21cIj5sZWVlNDkuN3g3QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAiZGVzY3JpcHRpb24iOiAiRnV6enkgYXBwbGljYXRpb24gc2VhcmNoIHJlc3VsdHMgZm9yIEdub21lIFNlYXJjaCIsCiAgImRlc2NyaXB0aW9uLWh0bWwiOiAiPGEgaHJlZj1cImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcHJveGltYXRlX3N0cmluZ19tYXRjaGluZ1wiPkZ1enp5PC9hPiBhcHBsaWNhdGlvbiBzZWFyY2ggcmVzdWx0cyBmb3IgPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9TZWFyY2hQcm92aWRlci9cIj5Hbm9tZSBTZWFyY2g8L2E+LiIsCiAgImVtYWlsIjogImxlZWU0OS43eDdAZ21haWwuY29tIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIkdOT01FIEZ1enp5IEFwcCBTZWFyY2giLAogICJvcmlnaW5hbC1hdXRob3IiOiAiRnJhbmpvIEZpbG8gPGZmZmlsbzY2NkBnbWFpbC5jb20+IiwKICAib3JpZ2luYWwtYXV0aG9yLWh0bWwiOiAiRnJhbmpvIEZpbG8gJmx0OzxhIGhyZWY9XCJtYWlsdG86ZmZmaWxvNjY2QGdtYWlsLmNvbVwiPmZmZmlsbzY2NkBnbWFpbC5jb208L2E+Jmd0OyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9DemFybGllL2dub21lLWZ1enp5LWFwcC1zZWFyY2giLAogICJ1dWlkIjogImdub21lLWZ1enp5LWFwcC1zZWFyY2hAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5DemFybGllLmdpdGxhYi5jb20iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}}}
+, {"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": "14", "sha256": "0pr35xdks90nsr6fplkccgr9hhxq1cmvi2cz35h9wd2gh0yd1v6p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJDemFybGllIDxsZWVlNDlAZ21haWwuY29tPiIsCiAgImF1dGhvci1odG1sIjogIkN6YXJsaWUgJmx0OzxhIGhyZWY9XCJtYWlsdG86bGVlZTQ5Ljd4N0BnbWFpbC5jb21cIj5sZWVlNDkuN3g3QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAiZGVzY3JpcHRpb24iOiAiRnV6enkgYXBwbGljYXRpb24gc2VhcmNoIHJlc3VsdHMgZm9yIEdub21lIFNlYXJjaCIsCiAgImRlc2NyaXB0aW9uLWh0bWwiOiAiPGEgaHJlZj1cImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcHJveGltYXRlX3N0cmluZ19tYXRjaGluZ1wiPkZ1enp5PC9hPiBhcHBsaWNhdGlvbiBzZWFyY2ggcmVzdWx0cyBmb3IgPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9TZWFyY2hQcm92aWRlci9cIj5Hbm9tZSBTZWFyY2g8L2E+LiIsCiAgImVtYWlsIjogImxlZWU0OS43eDdAZ21haWwuY29tIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIkdOT01FIEZ1enp5IEFwcCBTZWFyY2giLAogICJvcmlnaW5hbC1hdXRob3IiOiAiRnJhbmpvIEZpbG8gPGZmZmlsbzY2NkBnbWFpbC5jb20+IiwKICAib3JpZ2luYWwtYXV0aG9yLWh0bWwiOiAiRnJhbmpvIEZpbG8gJmx0OzxhIGhyZWY9XCJtYWlsdG86ZmZmaWxvNjY2QGdtYWlsLmNvbVwiPmZmZmlsbzY2NkBnbWFpbC5jb208L2E+Jmd0OyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9DemFybGllL2dub21lLWZ1enp5LWFwcC1zZWFyY2giLAogICJ1dWlkIjogImdub21lLWZ1enp5LWFwcC1zZWFyY2hAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5DemFybGllLmdpdGxhYi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "40": {"version": "14", "sha256": "0pr35xdks90nsr6fplkccgr9hhxq1cmvi2cz35h9wd2gh0yd1v6p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJDemFybGllIDxsZWVlNDlAZ21haWwuY29tPiIsCiAgImF1dGhvci1odG1sIjogIkN6YXJsaWUgJmx0OzxhIGhyZWY9XCJtYWlsdG86bGVlZTQ5Ljd4N0BnbWFpbC5jb21cIj5sZWVlNDkuN3g3QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAiZGVzY3JpcHRpb24iOiAiRnV6enkgYXBwbGljYXRpb24gc2VhcmNoIHJlc3VsdHMgZm9yIEdub21lIFNlYXJjaCIsCiAgImRlc2NyaXB0aW9uLWh0bWwiOiAiPGEgaHJlZj1cImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcHJveGltYXRlX3N0cmluZ19tYXRjaGluZ1wiPkZ1enp5PC9hPiBhcHBsaWNhdGlvbiBzZWFyY2ggcmVzdWx0cyBmb3IgPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9TZWFyY2hQcm92aWRlci9cIj5Hbm9tZSBTZWFyY2g8L2E+LiIsCiAgImVtYWlsIjogImxlZWU0OS43eDdAZ21haWwuY29tIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIkdOT01FIEZ1enp5IEFwcCBTZWFyY2giLAogICJvcmlnaW5hbC1hdXRob3IiOiAiRnJhbmpvIEZpbG8gPGZmZmlsbzY2NkBnbWFpbC5jb20+IiwKICAib3JpZ2luYWwtYXV0aG9yLWh0bWwiOiAiRnJhbmpvIEZpbG8gJmx0OzxhIGhyZWY9XCJtYWlsdG86ZmZmaWxvNjY2QGdtYWlsLmNvbVwiPmZmZmlsbzY2NkBnbWFpbC5jb208L2E+Jmd0OyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9DemFybGllL2dub21lLWZ1enp5LWFwcC1zZWFyY2giLAogICJ1dWlkIjogImdub21lLWZ1enp5LWFwcC1zZWFyY2hAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5DemFybGllLmdpdGxhYi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "41": {"version": "14", "sha256": "0pr35xdks90nsr6fplkccgr9hhxq1cmvi2cz35h9wd2gh0yd1v6p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJDemFybGllIDxsZWVlNDlAZ21haWwuY29tPiIsCiAgImF1dGhvci1odG1sIjogIkN6YXJsaWUgJmx0OzxhIGhyZWY9XCJtYWlsdG86bGVlZTQ5Ljd4N0BnbWFpbC5jb21cIj5sZWVlNDkuN3g3QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAiZGVzY3JpcHRpb24iOiAiRnV6enkgYXBwbGljYXRpb24gc2VhcmNoIHJlc3VsdHMgZm9yIEdub21lIFNlYXJjaCIsCiAgImRlc2NyaXB0aW9uLWh0bWwiOiAiPGEgaHJlZj1cImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcHJveGltYXRlX3N0cmluZ19tYXRjaGluZ1wiPkZ1enp5PC9hPiBhcHBsaWNhdGlvbiBzZWFyY2ggcmVzdWx0cyBmb3IgPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9TZWFyY2hQcm92aWRlci9cIj5Hbm9tZSBTZWFyY2g8L2E+LiIsCiAgImVtYWlsIjogImxlZWU0OS43eDdAZ21haWwuY29tIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIkdOT01FIEZ1enp5IEFwcCBTZWFyY2giLAogICJvcmlnaW5hbC1hdXRob3IiOiAiRnJhbmpvIEZpbG8gPGZmZmlsbzY2NkBnbWFpbC5jb20+IiwKICAib3JpZ2luYWwtYXV0aG9yLWh0bWwiOiAiRnJhbmpvIEZpbG8gJmx0OzxhIGhyZWY9XCJtYWlsdG86ZmZmaWxvNjY2QGdtYWlsLmNvbVwiPmZmZmlsbzY2NkBnbWFpbC5jb208L2E+Jmd0OyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9DemFybGllL2dub21lLWZ1enp5LWFwcC1zZWFyY2giLAogICJ1dWlkIjogImdub21lLWZ1enp5LWFwcC1zZWFyY2hAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5DemFybGllLmdpdGxhYi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
 , {"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=="}}}
 , {"uuid": "transparent-top-bar@ftpix.com", "name": "Transparent Top Bar (Adjustable transparency)", "pname": "transparent-top-bar-adjustable-transparency", "description": "Fork of: https://github.com/zhanghai/gnome-shell-extension-transparent-top-bar\n\nBring back the transparent top bar in GNOME Shell with adjustable transparency.\n\nDoes not work well with custom shell themes.", "link": "https://extensions.gnome.org/extension/3960/transparent-top-bar-adjustable-transparency/", "shell_version_map": {"38": {"version": "5", "sha256": "09mym8h6lpb53b18c72vzl2y7myl1xg1lyg9jryf3nijna9adnr9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2Y6IGh0dHBzOi8vZ2l0aHViLmNvbS96aGFuZ2hhaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhclxuXG5CcmluZyBiYWNrIHRoZSB0cmFuc3BhcmVudCB0b3AgYmFyIGluIEdOT01FIFNoZWxsIHdpdGggYWRqdXN0YWJsZSB0cmFuc3BhcmVuY3kuXG5cbkRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIGN1c3RvbSBzaGVsbCB0aGVtZXMuIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgQmFyIChBZGp1c3RhYmxlIHRyYW5zcGFyZW5jeSkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGFtYXJpb3MvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRyYW5zcGFyZW50LXRvcC1iYXIiLAogICJ1dWlkIjogInRyYW5zcGFyZW50LXRvcC1iYXJAZnRwaXguY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "11", "sha256": "1illvhj3916g081cd42lx108fssg5m60w118ihj19qqkvpdq96gw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2Y6IGh0dHBzOi8vZ2l0aHViLmNvbS96aGFuZ2hhaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhclxuXG5CcmluZyBiYWNrIHRoZSB0cmFuc3BhcmVudCB0b3AgYmFyIGluIEdOT01FIFNoZWxsIHdpdGggYWRqdXN0YWJsZSB0cmFuc3BhcmVuY3kuXG5cbkRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIGN1c3RvbSBzaGVsbCB0aGVtZXMuIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgQmFyIChBZGp1c3RhYmxlIHRyYW5zcGFyZW5jeSkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sYW1hcmlvcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhciIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtdG9wLWJhckBmdHBpeC5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "41": {"version": "11", "sha256": "1illvhj3916g081cd42lx108fssg5m60w118ihj19qqkvpdq96gw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2Y6IGh0dHBzOi8vZ2l0aHViLmNvbS96aGFuZ2hhaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhclxuXG5CcmluZyBiYWNrIHRoZSB0cmFuc3BhcmVudCB0b3AgYmFyIGluIEdOT01FIFNoZWxsIHdpdGggYWRqdXN0YWJsZSB0cmFuc3BhcmVuY3kuXG5cbkRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIGN1c3RvbSBzaGVsbCB0aGVtZXMuIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgQmFyIChBZGp1c3RhYmxlIHRyYW5zcGFyZW5jeSkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sYW1hcmlvcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhciIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtdG9wLWJhckBmdHBpeC5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "42": {"version": "11", "sha256": "1illvhj3916g081cd42lx108fssg5m60w118ihj19qqkvpdq96gw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2Y6IGh0dHBzOi8vZ2l0aHViLmNvbS96aGFuZ2hhaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhclxuXG5CcmluZyBiYWNrIHRoZSB0cmFuc3BhcmVudCB0b3AgYmFyIGluIEdOT01FIFNoZWxsIHdpdGggYWRqdXN0YWJsZSB0cmFuc3BhcmVuY3kuXG5cbkRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIGN1c3RvbSBzaGVsbCB0aGVtZXMuIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgQmFyIChBZGp1c3RhYmxlIHRyYW5zcGFyZW5jeSkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sYW1hcmlvcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhciIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtdG9wLWJhckBmdHBpeC5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
-, {"uuid": "improved-workspace-indicator@michaelaquilina.github.io", "name": "Improved Workspace Indicator", "pname": "improved-workspace-indicator", "description": "Slightly improved workspace indicator that shows both current and in use workspaces similar to i3/sway", "link": "https://extensions.gnome.org/extension/3968/improved-workspace-indicator/", "shell_version_map": {"38": {"version": "10", "sha256": "077acz5i10jvnqc0kf0yivlzq40xz03jb9gacpr8rm9my0yvdlp6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWdodGx5IGltcHJvdmVkIHdvcmtzcGFjZSBpbmRpY2F0b3IgdGhhdCBzaG93cyBib3RoIGN1cnJlbnQgYW5kIGluIHVzZSB3b3Jrc3BhY2VzIHNpbWlsYXIgdG8gaTMvc3dheSIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAibWljaGFlbGFxdWlsaW5hQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW1wcm92ZWQtd29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFlbEFxdWlsaW5hL2ltcHJvdmVkLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImltcHJvdmVkLXdvcmtzcGFjZS1pbmRpY2F0b3JAbWljaGFlbGFxdWlsaW5hLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "40": {"version": "10", "sha256": "077acz5i10jvnqc0kf0yivlzq40xz03jb9gacpr8rm9my0yvdlp6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWdodGx5IGltcHJvdmVkIHdvcmtzcGFjZSBpbmRpY2F0b3IgdGhhdCBzaG93cyBib3RoIGN1cnJlbnQgYW5kIGluIHVzZSB3b3Jrc3BhY2VzIHNpbWlsYXIgdG8gaTMvc3dheSIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAibWljaGFlbGFxdWlsaW5hQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW1wcm92ZWQtd29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFlbEFxdWlsaW5hL2ltcHJvdmVkLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImltcHJvdmVkLXdvcmtzcGFjZS1pbmRpY2F0b3JAbWljaGFlbGFxdWlsaW5hLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "41": {"version": "10", "sha256": "077acz5i10jvnqc0kf0yivlzq40xz03jb9gacpr8rm9my0yvdlp6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWdodGx5IGltcHJvdmVkIHdvcmtzcGFjZSBpbmRpY2F0b3IgdGhhdCBzaG93cyBib3RoIGN1cnJlbnQgYW5kIGluIHVzZSB3b3Jrc3BhY2VzIHNpbWlsYXIgdG8gaTMvc3dheSIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAibWljaGFlbGFxdWlsaW5hQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW1wcm92ZWQtd29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFlbEFxdWlsaW5hL2ltcHJvdmVkLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImltcHJvdmVkLXdvcmtzcGFjZS1pbmRpY2F0b3JAbWljaGFlbGFxdWlsaW5hLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}}}
+, {"uuid": "improved-workspace-indicator@michaelaquilina.github.io", "name": "Improved Workspace Indicator", "pname": "improved-workspace-indicator", "description": "Slightly improved workspace indicator that shows both current and in use workspaces similar to i3/sway", "link": "https://extensions.gnome.org/extension/3968/improved-workspace-indicator/", "shell_version_map": {"38": {"version": "11", "sha256": "0nxigrl7pzjzkb7vi68agkmgda75m08j3vdjch3m5x3qs3rwbyj6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWdodGx5IGltcHJvdmVkIHdvcmtzcGFjZSBpbmRpY2F0b3IgdGhhdCBzaG93cyBib3RoIGN1cnJlbnQgYW5kIGluIHVzZSB3b3Jrc3BhY2VzIHNpbWlsYXIgdG8gaTMvc3dheSIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAibWljaGFlbGFxdWlsaW5hQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW1wcm92ZWQtd29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01pY2hhZWxBcXVpbGluYS9pbXByb3ZlZC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJpbXByb3ZlZC13b3Jrc3BhY2UtaW5kaWNhdG9yQG1pY2hhZWxhcXVpbGluYS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "40": {"version": "11", "sha256": "0nxigrl7pzjzkb7vi68agkmgda75m08j3vdjch3m5x3qs3rwbyj6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWdodGx5IGltcHJvdmVkIHdvcmtzcGFjZSBpbmRpY2F0b3IgdGhhdCBzaG93cyBib3RoIGN1cnJlbnQgYW5kIGluIHVzZSB3b3Jrc3BhY2VzIHNpbWlsYXIgdG8gaTMvc3dheSIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAibWljaGFlbGFxdWlsaW5hQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW1wcm92ZWQtd29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01pY2hhZWxBcXVpbGluYS9pbXByb3ZlZC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJpbXByb3ZlZC13b3Jrc3BhY2UtaW5kaWNhdG9yQG1pY2hhZWxhcXVpbGluYS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "41": {"version": "11", "sha256": "0nxigrl7pzjzkb7vi68agkmgda75m08j3vdjch3m5x3qs3rwbyj6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWdodGx5IGltcHJvdmVkIHdvcmtzcGFjZSBpbmRpY2F0b3IgdGhhdCBzaG93cyBib3RoIGN1cnJlbnQgYW5kIGluIHVzZSB3b3Jrc3BhY2VzIHNpbWlsYXIgdG8gaTMvc3dheSIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAibWljaGFlbGFxdWlsaW5hQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW1wcm92ZWQtd29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01pY2hhZWxBcXVpbGluYS9pbXByb3ZlZC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJpbXByb3ZlZC13b3Jrc3BhY2UtaW5kaWNhdG9yQG1pY2hhZWxhcXVpbGluYS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "42": {"version": "11", "sha256": "0nxigrl7pzjzkb7vi68agkmgda75m08j3vdjch3m5x3qs3rwbyj6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWdodGx5IGltcHJvdmVkIHdvcmtzcGFjZSBpbmRpY2F0b3IgdGhhdCBzaG93cyBib3RoIGN1cnJlbnQgYW5kIGluIHVzZSB3b3Jrc3BhY2VzIHNpbWlsYXIgdG8gaTMvc3dheSIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAibWljaGFlbGFxdWlsaW5hQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW1wcm92ZWQtd29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01pY2hhZWxBcXVpbGluYS9pbXByb3ZlZC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJpbXByb3ZlZC13b3Jrc3BhY2UtaW5kaWNhdG9yQG1pY2hhZWxhcXVpbGluYS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
 , {"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": "13", "sha256": "15mva65wi2wjy3wb7l71v9qag3wrswifrh53kx6nf8dkqpqir03y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkd1aWxsb3RpbmUgaXMgYSBnbm9tZSBleHRlbnNpb24gZGVzaWduZWQgZm9yIGVmZmljaWVudGx5IGNhcnJ5aW5nIG91dCBleGVjdXRpb25zIG9mIGNvbW1hbmRzIGZyb20gYSBjdXN0b21pemFibGUgbWVudS4gU2ltcGx5IHNwZWFraW5nOiBpdCBpcyBhIGhpZ2hseSBjdXN0b21pemFibGUgbWVudSB0aGF0IGVuYWJsZXMgeW91IHRvIGxhdW5jaCBjb21tYW5kcyBhbmQgdG9nZ2xlIHNlcnZpY2VzLiIsCiAgIm5hbWUiOiAiR3VpbGxvdGluZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ndWlsbG90aW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9lbnRlNzYvZ3VpbGxvdGluZS8iLAogICJ1dWlkIjogImd1aWxsb3RpbmVAZm9wZG9vZGxlLm5ldCIsCiAgInZlcnNpb24iOiAxMwp9"}, "41": {"version": "13", "sha256": "15mva65wi2wjy3wb7l71v9qag3wrswifrh53kx6nf8dkqpqir03y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkd1aWxsb3RpbmUgaXMgYSBnbm9tZSBleHRlbnNpb24gZGVzaWduZWQgZm9yIGVmZmljaWVudGx5IGNhcnJ5aW5nIG91dCBleGVjdXRpb25zIG9mIGNvbW1hbmRzIGZyb20gYSBjdXN0b21pemFibGUgbWVudS4gU2ltcGx5IHNwZWFraW5nOiBpdCBpcyBhIGhpZ2hseSBjdXN0b21pemFibGUgbWVudSB0aGF0IGVuYWJsZXMgeW91IHRvIGxhdW5jaCBjb21tYW5kcyBhbmQgdG9nZ2xlIHNlcnZpY2VzLiIsCiAgIm5hbWUiOiAiR3VpbGxvdGluZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ndWlsbG90aW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9lbnRlNzYvZ3VpbGxvdGluZS8iLAogICJ1dWlkIjogImd1aWxsb3RpbmVAZm9wZG9vZGxlLm5ldCIsCiAgInZlcnNpb24iOiAxMwp9"}}}
 , {"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": "2", "sha256": "0ffpwwhx4pn8dfpcbi6yvxvaybwfxklyw5ig9ns71ydckzvn1n9y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1pdCI6ICIyYzdiZjFhNDJlMTFkODM4YTU2NGE2NWQ4MzY5YTgwNjM3M2I2NjdiIiwKICAiZGVzY3JpcHRpb24iOiAiVHVybnMgb2ZmIG5vdGlmaWNhdGlvbnMgd2hpbGUgc2hhcmluZyBzY3JlZW4gZHVyaW5nIGEgWm9vbSBjYWxsIiwKICAibmFtZSI6ICJaaWxlbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXBhbmtvd3NraS96aWxlbmNlIiwKICAidXVpZCI6ICJ6aWxlbmNlQGFwYW5rb3dza2kuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
-, {"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": "21", "sha256": "1qg1md2znvjrk88qqz9zz8639xyzdx90k2pm1xnc1p2f6qppjk9p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFsVy9nbm9tZS1ibHVldG9vdGgtYmF0dGVyeS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJsdWV0b290aC1iYXR0ZXJ5QG1pY2hhbHcuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMQp9"}, "40": {"version": "21", "sha256": "1qg1md2znvjrk88qqz9zz8639xyzdx90k2pm1xnc1p2f6qppjk9p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFsVy9nbm9tZS1ibHVldG9vdGgtYmF0dGVyeS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJsdWV0b290aC1iYXR0ZXJ5QG1pY2hhbHcuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMQp9"}, "41": {"version": "21", "sha256": "1qg1md2znvjrk88qqz9zz8639xyzdx90k2pm1xnc1p2f6qppjk9p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFsVy9nbm9tZS1ibHVldG9vdGgtYmF0dGVyeS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJsdWV0b290aC1iYXR0ZXJ5QG1pY2hhbHcuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMQp9"}}}
+, {"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": "25", "sha256": "1lyp1940rw5041168k3jqgdmb6w6mlnsr2vxgb01z1hxj99fjdks", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFsVy9nbm9tZS1ibHVldG9vdGgtYmF0dGVyeS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJsdWV0b290aC1iYXR0ZXJ5QG1pY2hhbHcuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyNQp9"}, "40": {"version": "25", "sha256": "1lyp1940rw5041168k3jqgdmb6w6mlnsr2vxgb01z1hxj99fjdks", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFsVy9nbm9tZS1ibHVldG9vdGgtYmF0dGVyeS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJsdWV0b290aC1iYXR0ZXJ5QG1pY2hhbHcuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyNQp9"}, "41": {"version": "25", "sha256": "1lyp1940rw5041168k3jqgdmb6w6mlnsr2vxgb01z1hxj99fjdks", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFsVy9nbm9tZS1ibHVldG9vdGgtYmF0dGVyeS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJsdWV0b290aC1iYXR0ZXJ5QG1pY2hhbHcuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyNQp9"}}}
 , {"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": "3", "sha256": "1s08inwbr9g50g275sxsjggqgwh59gz664ay944ngn755vnr9y1p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSVAgYWRkcmVzc2VzIGZvciBMQU4sIFdBTiBJUHY2IGFuZCBWUE4gaW4gdGhlIEdOT01FIHBhbmVsLiBDbGljayBvbiB0aGUgYWRkcmVzcyB0byBjeWNsZSB0cm91Z2ggZGlmZmVyZW50IGludGVyZmFjZXMuIiwKICAibmFtZSI6ICJBbGwgSVAgQWRkcmVzc2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9waGF2ZWtlcy9nbm9tZS1leHRlbnNpb24tYWxsLWlwLWFkZHJlc3NlcyIsCiAgInV1aWQiOiAiZ25vbWUtZXh0ZW5zaW9uLWFsbC1pcC1hZGRyZXNzZXNAaGF2ZWtlcy5ldSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "1s08inwbr9g50g275sxsjggqgwh59gz664ay944ngn755vnr9y1p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSVAgYWRkcmVzc2VzIGZvciBMQU4sIFdBTiBJUHY2IGFuZCBWUE4gaW4gdGhlIEdOT01FIHBhbmVsLiBDbGljayBvbiB0aGUgYWRkcmVzcyB0byBjeWNsZSB0cm91Z2ggZGlmZmVyZW50IGludGVyZmFjZXMuIiwKICAibmFtZSI6ICJBbGwgSVAgQWRkcmVzc2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9waGF2ZWtlcy9nbm9tZS1leHRlbnNpb24tYWxsLWlwLWFkZHJlc3NlcyIsCiAgInV1aWQiOiAiZ25vbWUtZXh0ZW5zaW9uLWFsbC1pcC1hZGRyZXNzZXNAaGF2ZWtlcy5ldSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "1s08inwbr9g50g275sxsjggqgwh59gz664ay944ngn755vnr9y1p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSVAgYWRkcmVzc2VzIGZvciBMQU4sIFdBTiBJUHY2IGFuZCBWUE4gaW4gdGhlIEdOT01FIHBhbmVsLiBDbGljayBvbiB0aGUgYWRkcmVzcyB0byBjeWNsZSB0cm91Z2ggZGlmZmVyZW50IGludGVyZmFjZXMuIiwKICAibmFtZSI6ICJBbGwgSVAgQWRkcmVzc2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9waGF2ZWtlcy9nbm9tZS1leHRlbnNpb24tYWxsLWlwLWFkZHJlc3NlcyIsCiAgInV1aWQiOiAiZ25vbWUtZXh0ZW5zaW9uLWFsbC1pcC1hZGRyZXNzZXNAaGF2ZWtlcy5ldSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"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"}}}
 , {"uuid": "babar@fthx", "name": "BaBar Task Bar", "pname": "babar", "description": "Task bar. App grid, favorites, workspaces and tasks in panel. Light extension.\n\n Replace 'Activities' button by all current workspaces and apps buttons. Switch workspace/app or toggle overview by clicking on these buttons. Drag and drop favorite, task, dash item or app grid item to any workspace (you cannot reorder tasks inside a workspace). Persistent window preview with right-click (right-click again or click on preview to close it). You can move this preview anywhere. Change 'Places' label to an icon. Settings in preferences UI.\n\n You can use names for workspaces: there are two ways for that. 1) Edit the string array 'org.gnome.desktop.wm.preferences.workspace-names' gsettings key (through dconf editor, e.g.). 2) Use official GNOME extension Workspaces Indicator's settings. You don't have to write a long enough list: numbers are displayed if no workspace name is defined.\n\n Changelog: https://github.com/fthx/babar/issues/2", "link": "https://extensions.gnome.org/extension/4000/babar/", "shell_version_map": {"38": {"version": "58", "sha256": "0sgsz9skc0d3rx9lap6g8fnmb5ki4ylr8s5f8yk5wkpvzvh3gkgy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBBcHAgZ3JpZCwgZmF2b3JpdGVzLCB3b3Jrc3BhY2VzIGFuZCB0YXNrcyBpbiBwYW5lbC4gTGlnaHQgZXh0ZW5zaW9uLlxuXG4gUmVwbGFjZSAnQWN0aXZpdGllcycgYnV0dG9uIGJ5IGFsbCBjdXJyZW50IHdvcmtzcGFjZXMgYW5kIGFwcHMgYnV0dG9ucy4gU3dpdGNoIHdvcmtzcGFjZS9hcHAgb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuIERyYWcgYW5kIGRyb3AgZmF2b3JpdGUsIHRhc2ssIGRhc2ggaXRlbSBvciBhcHAgZ3JpZCBpdGVtIHRvIGFueSB3b3Jrc3BhY2UgKHlvdSBjYW5ub3QgcmVvcmRlciB0YXNrcyBpbnNpZGUgYSB3b3Jrc3BhY2UpLiBQZXJzaXN0ZW50IHdpbmRvdyBwcmV2aWV3IHdpdGggcmlnaHQtY2xpY2sgKHJpZ2h0LWNsaWNrIGFnYWluIG9yIGNsaWNrIG9uIHByZXZpZXcgdG8gY2xvc2UgaXQpLiBZb3UgY2FuIG1vdmUgdGhpcyBwcmV2aWV3IGFueXdoZXJlLiBDaGFuZ2UgJ1BsYWNlcycgbGFiZWwgdG8gYW4gaWNvbi4gU2V0dGluZ3MgaW4gcHJlZmVyZW5jZXMgVUkuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuXG5cbiBDaGFuZ2Vsb2c6IGh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2JhYmFyL2lzc3Vlcy8yIiwKICAibmFtZSI6ICJCYUJhciBUYXNrIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvYmFiYXIiLAogICJ1dWlkIjogImJhYmFyQGZ0aHgiLAogICJ2ZXJzaW9uIjogNTgKfQ=="}, "40": {"version": "58", "sha256": "0sgsz9skc0d3rx9lap6g8fnmb5ki4ylr8s5f8yk5wkpvzvh3gkgy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBBcHAgZ3JpZCwgZmF2b3JpdGVzLCB3b3Jrc3BhY2VzIGFuZCB0YXNrcyBpbiBwYW5lbC4gTGlnaHQgZXh0ZW5zaW9uLlxuXG4gUmVwbGFjZSAnQWN0aXZpdGllcycgYnV0dG9uIGJ5IGFsbCBjdXJyZW50IHdvcmtzcGFjZXMgYW5kIGFwcHMgYnV0dG9ucy4gU3dpdGNoIHdvcmtzcGFjZS9hcHAgb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuIERyYWcgYW5kIGRyb3AgZmF2b3JpdGUsIHRhc2ssIGRhc2ggaXRlbSBvciBhcHAgZ3JpZCBpdGVtIHRvIGFueSB3b3Jrc3BhY2UgKHlvdSBjYW5ub3QgcmVvcmRlciB0YXNrcyBpbnNpZGUgYSB3b3Jrc3BhY2UpLiBQZXJzaXN0ZW50IHdpbmRvdyBwcmV2aWV3IHdpdGggcmlnaHQtY2xpY2sgKHJpZ2h0LWNsaWNrIGFnYWluIG9yIGNsaWNrIG9uIHByZXZpZXcgdG8gY2xvc2UgaXQpLiBZb3UgY2FuIG1vdmUgdGhpcyBwcmV2aWV3IGFueXdoZXJlLiBDaGFuZ2UgJ1BsYWNlcycgbGFiZWwgdG8gYW4gaWNvbi4gU2V0dGluZ3MgaW4gcHJlZmVyZW5jZXMgVUkuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuXG5cbiBDaGFuZ2Vsb2c6IGh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2JhYmFyL2lzc3Vlcy8yIiwKICAibmFtZSI6ICJCYUJhciBUYXNrIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvYmFiYXIiLAogICJ1dWlkIjogImJhYmFyQGZ0aHgiLAogICJ2ZXJzaW9uIjogNTgKfQ=="}, "41": {"version": "58", "sha256": "0sgsz9skc0d3rx9lap6g8fnmb5ki4ylr8s5f8yk5wkpvzvh3gkgy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBBcHAgZ3JpZCwgZmF2b3JpdGVzLCB3b3Jrc3BhY2VzIGFuZCB0YXNrcyBpbiBwYW5lbC4gTGlnaHQgZXh0ZW5zaW9uLlxuXG4gUmVwbGFjZSAnQWN0aXZpdGllcycgYnV0dG9uIGJ5IGFsbCBjdXJyZW50IHdvcmtzcGFjZXMgYW5kIGFwcHMgYnV0dG9ucy4gU3dpdGNoIHdvcmtzcGFjZS9hcHAgb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuIERyYWcgYW5kIGRyb3AgZmF2b3JpdGUsIHRhc2ssIGRhc2ggaXRlbSBvciBhcHAgZ3JpZCBpdGVtIHRvIGFueSB3b3Jrc3BhY2UgKHlvdSBjYW5ub3QgcmVvcmRlciB0YXNrcyBpbnNpZGUgYSB3b3Jrc3BhY2UpLiBQZXJzaXN0ZW50IHdpbmRvdyBwcmV2aWV3IHdpdGggcmlnaHQtY2xpY2sgKHJpZ2h0LWNsaWNrIGFnYWluIG9yIGNsaWNrIG9uIHByZXZpZXcgdG8gY2xvc2UgaXQpLiBZb3UgY2FuIG1vdmUgdGhpcyBwcmV2aWV3IGFueXdoZXJlLiBDaGFuZ2UgJ1BsYWNlcycgbGFiZWwgdG8gYW4gaWNvbi4gU2V0dGluZ3MgaW4gcHJlZmVyZW5jZXMgVUkuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuXG5cbiBDaGFuZ2Vsb2c6IGh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2JhYmFyL2lzc3Vlcy8yIiwKICAibmFtZSI6ICJCYUJhciBUYXNrIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvYmFiYXIiLAogICJ1dWlkIjogImJhYmFyQGZ0aHgiLAogICJ2ZXJzaW9uIjogNTgKfQ=="}, "42": {"version": "58", "sha256": "0sgsz9skc0d3rx9lap6g8fnmb5ki4ylr8s5f8yk5wkpvzvh3gkgy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBBcHAgZ3JpZCwgZmF2b3JpdGVzLCB3b3Jrc3BhY2VzIGFuZCB0YXNrcyBpbiBwYW5lbC4gTGlnaHQgZXh0ZW5zaW9uLlxuXG4gUmVwbGFjZSAnQWN0aXZpdGllcycgYnV0dG9uIGJ5IGFsbCBjdXJyZW50IHdvcmtzcGFjZXMgYW5kIGFwcHMgYnV0dG9ucy4gU3dpdGNoIHdvcmtzcGFjZS9hcHAgb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuIERyYWcgYW5kIGRyb3AgZmF2b3JpdGUsIHRhc2ssIGRhc2ggaXRlbSBvciBhcHAgZ3JpZCBpdGVtIHRvIGFueSB3b3Jrc3BhY2UgKHlvdSBjYW5ub3QgcmVvcmRlciB0YXNrcyBpbnNpZGUgYSB3b3Jrc3BhY2UpLiBQZXJzaXN0ZW50IHdpbmRvdyBwcmV2aWV3IHdpdGggcmlnaHQtY2xpY2sgKHJpZ2h0LWNsaWNrIGFnYWluIG9yIGNsaWNrIG9uIHByZXZpZXcgdG8gY2xvc2UgaXQpLiBZb3UgY2FuIG1vdmUgdGhpcyBwcmV2aWV3IGFueXdoZXJlLiBDaGFuZ2UgJ1BsYWNlcycgbGFiZWwgdG8gYW4gaWNvbi4gU2V0dGluZ3MgaW4gcHJlZmVyZW5jZXMgVUkuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuXG5cbiBDaGFuZ2Vsb2c6IGh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2JhYmFyL2lzc3Vlcy8yIiwKICAibmFtZSI6ICJCYUJhciBUYXNrIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvYmFiYXIiLAogICJ1dWlkIjogImJhYmFyQGZ0aHgiLAogICJ2ZXJzaW9uIjogNTgKfQ=="}}}
@@ -449,8 +450,8 @@
 , {"uuid": "custom-vpn-toggler@giteduberger.fr", "name": "Custom VPN Toggler (and indicator)", "pname": "custom-vpn-toggler", "description": "Custom VPN Toggler (and indicator) allows to see the status of a VPN (with its icon), see IP address associated and permit to start and stop VPN (from a menu).\n\nThis plugin required an additional script to interact with VPN. \nAn example for netExtender and GlobalProtect are available on extension repository. \nFollow the link to Extension Web Site and see README.", "link": "https://extensions.gnome.org/extension/4061/custom-vpn-toggler/", "shell_version_map": {"38": {"version": "5", "sha256": "09axc2jx7s2bak956yyv6c5826yl54ghriiwdgsajly5lncmypxw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbSBWUE4gVG9nZ2xlciAoYW5kIGluZGljYXRvcikgYWxsb3dzIHRvIHNlZSB0aGUgc3RhdHVzIG9mIGEgVlBOICh3aXRoIGl0cyBpY29uKSwgc2VlIElQIGFkZHJlc3MgYXNzb2NpYXRlZCBhbmQgcGVybWl0IHRvIHN0YXJ0IGFuZCBzdG9wIFZQTiAoZnJvbSBhIG1lbnUpLlxuXG5UaGlzIHBsdWdpbiByZXF1aXJlZCBhbiBhZGRpdGlvbmFsIHNjcmlwdCB0byBpbnRlcmFjdCB3aXRoIFZQTi4gXG5BbiBleGFtcGxlIGZvciBuZXRFeHRlbmRlciBhbmQgR2xvYmFsUHJvdGVjdCBhcmUgYXZhaWxhYmxlIG9uIGV4dGVuc2lvbiByZXBvc2l0b3J5LiBcbkZvbGxvdyB0aGUgbGluayB0byBFeHRlbnNpb24gV2ViIFNpdGUgYW5kIHNlZSBSRUFETUUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY3VzdG9tLXZwbi10b2dnbGVyQGdpdGVkdWJlcmdlci5mciIsCiAgIm5hbWUiOiAiQ3VzdG9tIFZQTiBUb2dnbGVyIChhbmQgaW5kaWNhdG9yKSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJmci5naXRlZHViZXJnZXIuY3VzdG9tLXZwbi10b2dnbGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vWGF2aWVyQmVyZ2VyL2N1c3RvbS12cG4tdG9nZ2xlciIsCiAgInV1aWQiOiAiY3VzdG9tLXZwbi10b2dnbGVyQGdpdGVkdWJlcmdlci5mciIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "geary-tray-icon@taylantatli.github.com", "name": "Geary Tray Icon", "pname": "geary-tray-icon", "description": "Show a tray icon for Geary\n\nhttps://github.com/TaylanTatli/geary-tray-icon", "link": "https://extensions.gnome.org/extension/4073/geary-tray-icon/", "shell_version_map": {"38": {"version": "1", "sha256": "11kv47pz5p69j10r23zf8ls3fmanldx7diwsy34fhyxqfxjcd614", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYSB0cmF5IGljb24gZm9yIEdlYXJ5XG5cbmh0dHBzOi8vZ2l0aHViLmNvbS9UYXlsYW5UYXRsaS9nZWFyeS10cmF5LWljb24iLAogICJuYW1lIjogIkdlYXJ5IFRyYXkgSWNvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJnZWFyeS10cmF5LWljb25AdGF5bGFudGF0bGkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"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": "12", "sha256": "0iz36hq4m8xxn26sar69dwd32n8y78097yj2fwrclcgs5n131d4c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIGV4dGVuc2lvbiBmb3IgdHJhY2tpbmcgYWlyIHF1YWxpdHkgaW4gcmVhbC10aW1lLiBkYXRhIHByb3ZpZGVyOiBodHRwczovL2lxYWlyLmNvbS8uIHRvIGdldCBhbiBBUEkgdG9rZW46IGh0dHBzOi8vd3d3LmlxYWlyLmNvbS91cy9kYXNoYm9hcmQvYXBpIiwKICAibmFtZSI6ICJJcWFpciBHbm9tZSBFeHRlbnNpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dvdG1zaHVhaXNpL2lxYWlyR25vbWVFeHRlbnNpb24iLAogICJ1dWlkIjogImlxYWlyQHdvdG1zaHVhaXNpX2dpdGh1YiIsCiAgInZlcnNpb24iOiAxMgp9"}, "41": {"version": "12", "sha256": "0iz36hq4m8xxn26sar69dwd32n8y78097yj2fwrclcgs5n131d4c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIGV4dGVuc2lvbiBmb3IgdHJhY2tpbmcgYWlyIHF1YWxpdHkgaW4gcmVhbC10aW1lLiBkYXRhIHByb3ZpZGVyOiBodHRwczovL2lxYWlyLmNvbS8uIHRvIGdldCBhbiBBUEkgdG9rZW46IGh0dHBzOi8vd3d3LmlxYWlyLmNvbS91cy9kYXNoYm9hcmQvYXBpIiwKICAibmFtZSI6ICJJcWFpciBHbm9tZSBFeHRlbnNpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dvdG1zaHVhaXNpL2lxYWlyR25vbWVFeHRlbnNpb24iLAogICJ1dWlkIjogImlxYWlyQHdvdG1zaHVhaXNpX2dpdGh1YiIsCiAgInZlcnNpb24iOiAxMgp9"}}}
-, {"uuid": "bigSur-StatusArea@ordissimo.com", "name": "Big Sur Status Area", "pname": "big-sur-status-area", "description": "Move the Power/Network/Volume/User/Date/Notifications menus to the status area. It is a fork of :https://github.com/Fausto-Korpsvart/Big-Sur-StatusArea", "link": "https://extensions.gnome.org/extension/4085/big-sur-status-area/", "shell_version_map": {"38": {"version": "25", "sha256": "0dg2fg98l0wxr4hgaz2lwb30p93asbm5693svm8kq51v3g3wpdw0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIFBvd2VyL05ldHdvcmsvVm9sdW1lL1VzZXIvRGF0ZS9Ob3RpZmljYXRpb25zIG1lbnVzIHRvIHRoZSBzdGF0dXMgYXJlYS4gSXQgaXMgYSBmb3JrIG9mIDpodHRwczovL2dpdGh1Yi5jb20vRmF1c3RvLUtvcnBzdmFydC9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJuYW1lIjogIkJpZyBTdXIgU3RhdHVzIEFyZWEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PcmRpc3NpbW8vQmlnLVN1ci1TdGF0dXNBcmVhIiwKICAidXVpZCI6ICJiaWdTdXItU3RhdHVzQXJlYUBvcmRpc3NpbW8uY29tIiwKICAidmVyc2lvbiI6IDI1Cn0="}, "40": {"version": "37", "sha256": "0ak7h8y2ivzj188nkn37bfj6y2sfpilby8xxvfizhn8vqvid45bg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIFBvd2VyL05ldHdvcmsvVm9sdW1lL1VzZXIvRGF0ZS9Ob3RpZmljYXRpb25zIG1lbnVzIHRvIHRoZSBzdGF0dXMgYXJlYS4gSXQgaXMgYSBmb3JrIG9mIDpodHRwczovL2dpdGh1Yi5jb20vRmF1c3RvLUtvcnBzdmFydC9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJuYW1lIjogIkJpZyBTdXIgU3RhdHVzIEFyZWEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL09yZGlzc2ltby9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJ1dWlkIjogImJpZ1N1ci1TdGF0dXNBcmVhQG9yZGlzc2ltby5jb20iLAogICJ2ZXJzaW9uIjogMzcKfQ=="}, "41": {"version": "37", "sha256": "0ak7h8y2ivzj188nkn37bfj6y2sfpilby8xxvfizhn8vqvid45bg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIFBvd2VyL05ldHdvcmsvVm9sdW1lL1VzZXIvRGF0ZS9Ob3RpZmljYXRpb25zIG1lbnVzIHRvIHRoZSBzdGF0dXMgYXJlYS4gSXQgaXMgYSBmb3JrIG9mIDpodHRwczovL2dpdGh1Yi5jb20vRmF1c3RvLUtvcnBzdmFydC9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJuYW1lIjogIkJpZyBTdXIgU3RhdHVzIEFyZWEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL09yZGlzc2ltby9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJ1dWlkIjogImJpZ1N1ci1TdGF0dXNBcmVhQG9yZGlzc2ltby5jb20iLAogICJ2ZXJzaW9uIjogMzcKfQ=="}}}
+, {"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": "15", "sha256": "0ip2cp1p47wbzzzarmnjsjfcl27k5ijsyvcjw2sb018cvk2djljv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIGV4dGVuc2lvbiBmb3IgdHJhY2tpbmcgYWlyIHF1YWxpdHkgaW4gcmVhbC10aW1lLiBkYXRhIHByb3ZpZGVyOiBodHRwczovL2lxYWlyLmNvbS8uIHRvIGdldCBhbiBBUEkgdG9rZW46IGh0dHBzOi8vd3d3LmlxYWlyLmNvbS91cy9kYXNoYm9hcmQvYXBpIiwKICAibmFtZSI6ICJJcWFpciBHbm9tZSBFeHRlbnNpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dvdG1zaHVhaXNpL2lxYWlyR25vbWVFeHRlbnNpb24iLAogICJ1dWlkIjogImlxYWlyQHdvdG1zaHVhaXNpX2dpdGh1YiIsCiAgInZlcnNpb24iOiAxNQp9"}, "41": {"version": "15", "sha256": "0ip2cp1p47wbzzzarmnjsjfcl27k5ijsyvcjw2sb018cvk2djljv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIGV4dGVuc2lvbiBmb3IgdHJhY2tpbmcgYWlyIHF1YWxpdHkgaW4gcmVhbC10aW1lLiBkYXRhIHByb3ZpZGVyOiBodHRwczovL2lxYWlyLmNvbS8uIHRvIGdldCBhbiBBUEkgdG9rZW46IGh0dHBzOi8vd3d3LmlxYWlyLmNvbS91cy9kYXNoYm9hcmQvYXBpIiwKICAibmFtZSI6ICJJcWFpciBHbm9tZSBFeHRlbnNpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dvdG1zaHVhaXNpL2lxYWlyR25vbWVFeHRlbnNpb24iLAogICJ1dWlkIjogImlxYWlyQHdvdG1zaHVhaXNpX2dpdGh1YiIsCiAgInZlcnNpb24iOiAxNQp9"}}}
+, {"uuid": "bigSur-StatusArea@ordissimo.com", "name": "Big Sur Status Area", "pname": "big-sur-status-area", "description": "Move the Power/Network/Volume/User/Date/Notifications menus to the status area. It is a fork of :https://github.com/Fausto-Korpsvart/Big-Sur-StatusArea", "link": "https://extensions.gnome.org/extension/4085/big-sur-status-area/", "shell_version_map": {"38": {"version": "25", "sha256": "0dg2fg98l0wxr4hgaz2lwb30p93asbm5693svm8kq51v3g3wpdw0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIFBvd2VyL05ldHdvcmsvVm9sdW1lL1VzZXIvRGF0ZS9Ob3RpZmljYXRpb25zIG1lbnVzIHRvIHRoZSBzdGF0dXMgYXJlYS4gSXQgaXMgYSBmb3JrIG9mIDpodHRwczovL2dpdGh1Yi5jb20vRmF1c3RvLUtvcnBzdmFydC9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJuYW1lIjogIkJpZyBTdXIgU3RhdHVzIEFyZWEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PcmRpc3NpbW8vQmlnLVN1ci1TdGF0dXNBcmVhIiwKICAidXVpZCI6ICJiaWdTdXItU3RhdHVzQXJlYUBvcmRpc3NpbW8uY29tIiwKICAidmVyc2lvbiI6IDI1Cn0="}, "40": {"version": "39", "sha256": "1kv2b1550kd2dmbn05dyxmdi9ybdy8hxbivpx5pcghawslvrzfxk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIFBvd2VyL05ldHdvcmsvVm9sdW1lL1VzZXIvRGF0ZS9Ob3RpZmljYXRpb25zIG1lbnVzIHRvIHRoZSBzdGF0dXMgYXJlYS4gSXQgaXMgYSBmb3JrIG9mIDpodHRwczovL2dpdGh1Yi5jb20vRmF1c3RvLUtvcnBzdmFydC9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJuYW1lIjogIkJpZyBTdXIgU3RhdHVzIEFyZWEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL09yZGlzc2ltby9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJ1dWlkIjogImJpZ1N1ci1TdGF0dXNBcmVhQG9yZGlzc2ltby5jb20iLAogICJ2ZXJzaW9uIjogMzkKfQ=="}, "41": {"version": "39", "sha256": "1kv2b1550kd2dmbn05dyxmdi9ybdy8hxbivpx5pcghawslvrzfxk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIFBvd2VyL05ldHdvcmsvVm9sdW1lL1VzZXIvRGF0ZS9Ob3RpZmljYXRpb25zIG1lbnVzIHRvIHRoZSBzdGF0dXMgYXJlYS4gSXQgaXMgYSBmb3JrIG9mIDpodHRwczovL2dpdGh1Yi5jb20vRmF1c3RvLUtvcnBzdmFydC9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJuYW1lIjogIkJpZyBTdXIgU3RhdHVzIEFyZWEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL09yZGlzc2ltby9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJ1dWlkIjogImJpZ1N1ci1TdGF0dXNBcmVhQG9yZGlzc2ltby5jb20iLAogICJ2ZXJzaW9uIjogMzkKfQ=="}, "42": {"version": "40", "sha256": "0c3gv3drpjgh6q4x7zwy9kvfw2f2qjg7jf6zqyaisqvagkvji2sq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIFBvd2VyL05ldHdvcmsvVm9sdW1lL1VzZXIvRGF0ZS9Ob3RpZmljYXRpb25zIG1lbnVzIHRvIHRoZSBzdGF0dXMgYXJlYS4gSXQgaXMgYSBmb3JrIG9mIDpodHRwczovL2dpdGh1Yi5jb20vRmF1c3RvLUtvcnBzdmFydC9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJuYW1lIjogIkJpZyBTdXIgU3RhdHVzIEFyZWEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vT3JkaXNzaW1vL0JpZy1TdXItU3RhdHVzQXJlYSIsCiAgInV1aWQiOiAiYmlnU3VyLVN0YXR1c0FyZWFAb3JkaXNzaW1vLmNvbSIsCiAgInZlcnNpb24iOiA0MAp9"}}}
 , {"uuid": "disable-touch-osk@pardus.org.tr", "name": "disable-touch-osk", "pname": "disable-touch-osk", "description": "Disable on screen keyboard for touchscreens", "link": "https://extensions.gnome.org/extension/4087/disable-touch-osk/", "shell_version_map": {"38": {"version": "3", "sha256": "10ljbjbswzn9y30n2h39iiz673hhmazr2h14lhhws05m71xvbbfy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgb24gc2NyZWVuIGtleWJvYXJkIGZvciB0b3VjaHNjcmVlbnMiLAogICJuYW1lIjogImRpc2FibGUtdG91Y2gtb3NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL3d3dy5wYXJkdXMub3JnLnRyLyIsCiAgInV1aWQiOiAiZGlzYWJsZS10b3VjaC1vc2tAcGFyZHVzLm9yZy50ciIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "mprispanel@kennedn.msn.com", "name": "MPRIS Panel Player", "pname": "mpris-panel-player", "description": "Implements playback controls for MPRIS enabled players in panel.", "link": "https://extensions.gnome.org/extension/4088/mpris-panel-player/", "shell_version_map": {"40": {"version": "4", "sha256": "1kk8y8l1ybknja58xh1smavja97rkrp8l5xx7aqy7xn4fl1ghjis", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcGxlbWVudHMgcGxheWJhY2sgY29udHJvbHMgZm9yIE1QUklTIGVuYWJsZWQgcGxheWVycyBpbiBwYW5lbC4iLAogICJuYW1lIjogIk1QUklTIFBhbmVsIFBsYXllciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VubmVkbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tbXByaXNwYW5lbCIsCiAgInV1aWQiOiAibXByaXNwYW5lbEBrZW5uZWRuLm1zbi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "1kk8y8l1ybknja58xh1smavja97rkrp8l5xx7aqy7xn4fl1ghjis", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcGxlbWVudHMgcGxheWJhY2sgY29udHJvbHMgZm9yIE1QUklTIGVuYWJsZWQgcGxheWVycyBpbiBwYW5lbC4iLAogICJuYW1lIjogIk1QUklTIFBhbmVsIFBsYXllciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VubmVkbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tbXByaXNwYW5lbCIsCiAgInV1aWQiOiAibXByaXNwYW5lbEBrZW5uZWRuLm1zbi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"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="}}}
@@ -477,7 +478,7 @@
 , {"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": "3", "sha256": "08z8ij9cj198g7cw3mr9spy1pirqhxkhmqwhg2vysql9bwhc3w1q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHdvcmtzcGFjZSB0aHVtYm5haWxzIGV2ZW4gdGhlcmUgaXMgb25seSBvbmUgd29ya3NwYWNlLiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgV29ya3NwYWNlIFRodW1ibmFpbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FseW54WmhvdS9nbm9tZS1zaGVsbC1leHRlbnNpb24tYWx3YXlzLXNob3ctd29ya3NwYWNlLXRodW1ibmFpbHMvIiwKICAidXVpZCI6ICJhbHdheXNzaG93d29ya3NwYWNldGh1bWJuYWlsc0BhbHlueC5vbmUiLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "08z8ij9cj198g7cw3mr9spy1pirqhxkhmqwhg2vysql9bwhc3w1q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHdvcmtzcGFjZSB0aHVtYm5haWxzIGV2ZW4gdGhlcmUgaXMgb25seSBvbmUgd29ya3NwYWNlLiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgV29ya3NwYWNlIFRodW1ibmFpbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FseW54WmhvdS9nbm9tZS1zaGVsbC1leHRlbnNpb24tYWx3YXlzLXNob3ctd29ya3NwYWNlLXRodW1ibmFpbHMvIiwKICAidXVpZCI6ICJhbHdheXNzaG93d29ya3NwYWNldGh1bWJuYWlsc0BhbHlueC5vbmUiLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"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": "9", "sha256": "1712psni5pnqi99pgk27aan3iw5v6z8pv7qszgjkwl6ckzjijcnx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1bmVzIGdub21lIDQwLzQxLzQyJ3MgT3ZlcnZpZXcgVUkgdG8gbWFrZSBpdCBtb3JlIHVzYWJsZS5cblxuQ2hhbmdlczpcbi0gU2VhcmNoIHRleHRib3ggaXMgaGlkZGVuIGJ5IGRlZmF1bHQgYW5kIHNob3duIG9ubHkgd2hlbiB1c2VyIGJlZ2lucyB0byB0eXBlLXRvLXNlYXJjaFxuLSBTY2FsZSBvZiB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGluY3JlYXNlZCAyeFxuLSBSZXN0b3JlcyB3YWxscGFwZXIgb24gd29ya3NwYWNlcycgdGh1bWJuYWlscy4gTm8gbW9yZSBncmF5IGJhY2tncm91bmRcbi0gU2hvdyB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSB3b3Jrc3BhY2Vcbi0gRmlyZWZveCdzIFBJUCAocGljdHVyZSBpbiBwaWN0dXJlKSB3aW5kb3cgaXMgbm93IGRpc3BsYXllZCBvbiB0aGUgb3ZlcnZpZXcgc2NyZWVuXG5cbkFsbCBtb2RpZmljYXRpb25zIGNhbiBiZSBkaXNhYmxlZCBpbiB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MuXG5cbkFUVEVOVElPTiFcbkFmdGVyIGV4dGVuc2lvbiB1cGRhdGUsIGdub21lLXNoZWxsIHJlc3RhcnQgaXMgcmVxdWlyZWQ6XG5YMTE6IEFsdCtGMiA9PiByXG5XYXlsYW5kOiBsb2dvdXQgPT4gbG9naW4iLAogICJuYW1lIjogIkdub21lIDR4IFVJIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS11aS10dW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLXVpLXR1bmUiLAogICJ1dWlkIjogImdub21lLXVpLXR1bmVAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "1712psni5pnqi99pgk27aan3iw5v6z8pv7qszgjkwl6ckzjijcnx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1bmVzIGdub21lIDQwLzQxLzQyJ3MgT3ZlcnZpZXcgVUkgdG8gbWFrZSBpdCBtb3JlIHVzYWJsZS5cblxuQ2hhbmdlczpcbi0gU2VhcmNoIHRleHRib3ggaXMgaGlkZGVuIGJ5IGRlZmF1bHQgYW5kIHNob3duIG9ubHkgd2hlbiB1c2VyIGJlZ2lucyB0byB0eXBlLXRvLXNlYXJjaFxuLSBTY2FsZSBvZiB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGluY3JlYXNlZCAyeFxuLSBSZXN0b3JlcyB3YWxscGFwZXIgb24gd29ya3NwYWNlcycgdGh1bWJuYWlscy4gTm8gbW9yZSBncmF5IGJhY2tncm91bmRcbi0gU2hvdyB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSB3b3Jrc3BhY2Vcbi0gRmlyZWZveCdzIFBJUCAocGljdHVyZSBpbiBwaWN0dXJlKSB3aW5kb3cgaXMgbm93IGRpc3BsYXllZCBvbiB0aGUgb3ZlcnZpZXcgc2NyZWVuXG5cbkFsbCBtb2RpZmljYXRpb25zIGNhbiBiZSBkaXNhYmxlZCBpbiB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MuXG5cbkFUVEVOVElPTiFcbkFmdGVyIGV4dGVuc2lvbiB1cGRhdGUsIGdub21lLXNoZWxsIHJlc3RhcnQgaXMgcmVxdWlyZWQ6XG5YMTE6IEFsdCtGMiA9PiByXG5XYXlsYW5kOiBsb2dvdXQgPT4gbG9naW4iLAogICJuYW1lIjogIkdub21lIDR4IFVJIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS11aS10dW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLXVpLXR1bmUiLAogICJ1dWlkIjogImdub21lLXVpLXR1bmVAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "42": {"version": "9", "sha256": "1712psni5pnqi99pgk27aan3iw5v6z8pv7qszgjkwl6ckzjijcnx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1bmVzIGdub21lIDQwLzQxLzQyJ3MgT3ZlcnZpZXcgVUkgdG8gbWFrZSBpdCBtb3JlIHVzYWJsZS5cblxuQ2hhbmdlczpcbi0gU2VhcmNoIHRleHRib3ggaXMgaGlkZGVuIGJ5IGRlZmF1bHQgYW5kIHNob3duIG9ubHkgd2hlbiB1c2VyIGJlZ2lucyB0byB0eXBlLXRvLXNlYXJjaFxuLSBTY2FsZSBvZiB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGluY3JlYXNlZCAyeFxuLSBSZXN0b3JlcyB3YWxscGFwZXIgb24gd29ya3NwYWNlcycgdGh1bWJuYWlscy4gTm8gbW9yZSBncmF5IGJhY2tncm91bmRcbi0gU2hvdyB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSB3b3Jrc3BhY2Vcbi0gRmlyZWZveCdzIFBJUCAocGljdHVyZSBpbiBwaWN0dXJlKSB3aW5kb3cgaXMgbm93IGRpc3BsYXllZCBvbiB0aGUgb3ZlcnZpZXcgc2NyZWVuXG5cbkFsbCBtb2RpZmljYXRpb25zIGNhbiBiZSBkaXNhYmxlZCBpbiB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MuXG5cbkFUVEVOVElPTiFcbkFmdGVyIGV4dGVuc2lvbiB1cGRhdGUsIGdub21lLXNoZWxsIHJlc3RhcnQgaXMgcmVxdWlyZWQ6XG5YMTE6IEFsdCtGMiA9PiByXG5XYXlsYW5kOiBsb2dvdXQgPT4gbG9naW4iLAogICJuYW1lIjogIkdub21lIDR4IFVJIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS11aS10dW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLXVpLXR1bmUiLAogICJ1dWlkIjogImdub21lLXVpLXR1bmVAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
 , {"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 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\nThis extension is a big collection of actions that allows you navigate and control the Gnome Shell environment and windows and launch applications and scripts not only through the corners and edges of your monitors, but also using the custom keyboard shortcuts.\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.\nPlease report bugs/issues on GitHub linked below.\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": "15", "sha256": "1sx830zkf5w00d9j5kw1l8hk3mpm35ifqd250jbhaag0b3j2bqy5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3Iga2V5Ym9hcmQgc2hvcnRjdXRzIGNhbiB0cmlnZ2VyIGFueSBvZiBkb3plbnMgb2YgYnVpbHQtaW4gYWN0aW9ucyB0aGF0IGhlbHBzIHlvdSBuYXZpZ2F0ZSBhbmQgY29udHJvbCB5b3VyIGRlc2t0b3AgZW52aXJvbm1lbnQgb3IgeW91ciBvd24gc2hlbGwgY29tbWFuZHMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGEgYmlnIGNvbGxlY3Rpb24gb2YgYWN0aW9ucyB0aGF0IGFsbG93cyB5b3UgbmF2aWdhdGUgYW5kIGNvbnRyb2wgdGhlIEdub21lIFNoZWxsIGVudmlyb25tZW50IGFuZCB3aW5kb3dzIGFuZCBsYXVuY2ggYXBwbGljYXRpb25zIGFuZCBzY3JpcHRzIG5vdCBvbmx5IHRocm91Z2ggdGhlIGNvcm5lcnMgYW5kIGVkZ2VzIG9mIHlvdXIgbW9uaXRvcnMsIGJ1dCBhbHNvIHVzaW5nIHRoZSBjdXN0b20ga2V5Ym9hcmQgc2hvcnRjdXRzLlxuU2lnbmlmaWNhbnQgcGFydCBvZiBhdmFpbGFibGUgYWN0aW9ucyBhcmUgdmlzdWFsIGFkanVzdG1lbnRzIChjb250cmFzdCwgYnJpZ2h0bmVzcywgb3BhY2l0eSkgYW5kIGNvbG9yIGZpbHRlcnMgKHJlZCwgZ3JlZW4sIGRlc2F0dXJhdGUsIGxpZ2h0bmVzcyBhbmQgY29sb3IgaW52ZXJzaW9ucykgLCBpbmNsdWRpbmcgY29ycmVjdGlvbiBmaWx0ZXJzIGZvciBjb2xvcmJsaW5kIHVzZXJzIGFuZCBjYiBzaW11bGF0aW9uIGZpbHRlcnMgZm9yIGRldmVsb3BlcnMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIEdpdEh1YiBsaW5rZWQgYmVsb3cuXG5cbmtleXdvcmRzOiBvdmVydmlldywgYXBwIGdyaWQsIGNvbW1hbmQsIGJyaWdodG5lc3MsIGNvbnRyYXN0LCB0cmFuc3BhcmVudCwgb3BhY2l0eSwgY29sb3IgZWZmZWN0LCBpbnZlcnQgbGlnaHRuZXNzLCBjb2xvciB0aW50LCBjb2xvciBibGluZCBmaWx0ZXIsIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvY3VzdG9tLWhvdC1jb3JuZXJzL3RyZWUvZ2RoIiwKICAidXVpZCI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWRARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}, "40": {"version": "15", "sha256": "1sx830zkf5w00d9j5kw1l8hk3mpm35ifqd250jbhaag0b3j2bqy5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3Iga2V5Ym9hcmQgc2hvcnRjdXRzIGNhbiB0cmlnZ2VyIGFueSBvZiBkb3plbnMgb2YgYnVpbHQtaW4gYWN0aW9ucyB0aGF0IGhlbHBzIHlvdSBuYXZpZ2F0ZSBhbmQgY29udHJvbCB5b3VyIGRlc2t0b3AgZW52aXJvbm1lbnQgb3IgeW91ciBvd24gc2hlbGwgY29tbWFuZHMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGEgYmlnIGNvbGxlY3Rpb24gb2YgYWN0aW9ucyB0aGF0IGFsbG93cyB5b3UgbmF2aWdhdGUgYW5kIGNvbnRyb2wgdGhlIEdub21lIFNoZWxsIGVudmlyb25tZW50IGFuZCB3aW5kb3dzIGFuZCBsYXVuY2ggYXBwbGljYXRpb25zIGFuZCBzY3JpcHRzIG5vdCBvbmx5IHRocm91Z2ggdGhlIGNvcm5lcnMgYW5kIGVkZ2VzIG9mIHlvdXIgbW9uaXRvcnMsIGJ1dCBhbHNvIHVzaW5nIHRoZSBjdXN0b20ga2V5Ym9hcmQgc2hvcnRjdXRzLlxuU2lnbmlmaWNhbnQgcGFydCBvZiBhdmFpbGFibGUgYWN0aW9ucyBhcmUgdmlzdWFsIGFkanVzdG1lbnRzIChjb250cmFzdCwgYnJpZ2h0bmVzcywgb3BhY2l0eSkgYW5kIGNvbG9yIGZpbHRlcnMgKHJlZCwgZ3JlZW4sIGRlc2F0dXJhdGUsIGxpZ2h0bmVzcyBhbmQgY29sb3IgaW52ZXJzaW9ucykgLCBpbmNsdWRpbmcgY29ycmVjdGlvbiBmaWx0ZXJzIGZvciBjb2xvcmJsaW5kIHVzZXJzIGFuZCBjYiBzaW11bGF0aW9uIGZpbHRlcnMgZm9yIGRldmVsb3BlcnMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIEdpdEh1YiBsaW5rZWQgYmVsb3cuXG5cbmtleXdvcmRzOiBvdmVydmlldywgYXBwIGdyaWQsIGNvbW1hbmQsIGJyaWdodG5lc3MsIGNvbnRyYXN0LCB0cmFuc3BhcmVudCwgb3BhY2l0eSwgY29sb3IgZWZmZWN0LCBpbnZlcnQgbGlnaHRuZXNzLCBjb2xvciB0aW50LCBjb2xvciBibGluZCBmaWx0ZXIsIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvY3VzdG9tLWhvdC1jb3JuZXJzL3RyZWUvZ2RoIiwKICAidXVpZCI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWRARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}, "41": {"version": "15", "sha256": "1sx830zkf5w00d9j5kw1l8hk3mpm35ifqd250jbhaag0b3j2bqy5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3Iga2V5Ym9hcmQgc2hvcnRjdXRzIGNhbiB0cmlnZ2VyIGFueSBvZiBkb3plbnMgb2YgYnVpbHQtaW4gYWN0aW9ucyB0aGF0IGhlbHBzIHlvdSBuYXZpZ2F0ZSBhbmQgY29udHJvbCB5b3VyIGRlc2t0b3AgZW52aXJvbm1lbnQgb3IgeW91ciBvd24gc2hlbGwgY29tbWFuZHMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGEgYmlnIGNvbGxlY3Rpb24gb2YgYWN0aW9ucyB0aGF0IGFsbG93cyB5b3UgbmF2aWdhdGUgYW5kIGNvbnRyb2wgdGhlIEdub21lIFNoZWxsIGVudmlyb25tZW50IGFuZCB3aW5kb3dzIGFuZCBsYXVuY2ggYXBwbGljYXRpb25zIGFuZCBzY3JpcHRzIG5vdCBvbmx5IHRocm91Z2ggdGhlIGNvcm5lcnMgYW5kIGVkZ2VzIG9mIHlvdXIgbW9uaXRvcnMsIGJ1dCBhbHNvIHVzaW5nIHRoZSBjdXN0b20ga2V5Ym9hcmQgc2hvcnRjdXRzLlxuU2lnbmlmaWNhbnQgcGFydCBvZiBhdmFpbGFibGUgYWN0aW9ucyBhcmUgdmlzdWFsIGFkanVzdG1lbnRzIChjb250cmFzdCwgYnJpZ2h0bmVzcywgb3BhY2l0eSkgYW5kIGNvbG9yIGZpbHRlcnMgKHJlZCwgZ3JlZW4sIGRlc2F0dXJhdGUsIGxpZ2h0bmVzcyBhbmQgY29sb3IgaW52ZXJzaW9ucykgLCBpbmNsdWRpbmcgY29ycmVjdGlvbiBmaWx0ZXJzIGZvciBjb2xvcmJsaW5kIHVzZXJzIGFuZCBjYiBzaW11bGF0aW9uIGZpbHRlcnMgZm9yIGRldmVsb3BlcnMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIEdpdEh1YiBsaW5rZWQgYmVsb3cuXG5cbmtleXdvcmRzOiBvdmVydmlldywgYXBwIGdyaWQsIGNvbW1hbmQsIGJyaWdodG5lc3MsIGNvbnRyYXN0LCB0cmFuc3BhcmVudCwgb3BhY2l0eSwgY29sb3IgZWZmZWN0LCBpbnZlcnQgbGlnaHRuZXNzLCBjb2xvciB0aW50LCBjb2xvciBibGluZCBmaWx0ZXIsIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvY3VzdG9tLWhvdC1jb3JuZXJzL3RyZWUvZ2RoIiwKICAidXVpZCI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWRARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}, "42": {"version": "15", "sha256": "1sx830zkf5w00d9j5kw1l8hk3mpm35ifqd250jbhaag0b3j2bqy5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3Iga2V5Ym9hcmQgc2hvcnRjdXRzIGNhbiB0cmlnZ2VyIGFueSBvZiBkb3plbnMgb2YgYnVpbHQtaW4gYWN0aW9ucyB0aGF0IGhlbHBzIHlvdSBuYXZpZ2F0ZSBhbmQgY29udHJvbCB5b3VyIGRlc2t0b3AgZW52aXJvbm1lbnQgb3IgeW91ciBvd24gc2hlbGwgY29tbWFuZHMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGEgYmlnIGNvbGxlY3Rpb24gb2YgYWN0aW9ucyB0aGF0IGFsbG93cyB5b3UgbmF2aWdhdGUgYW5kIGNvbnRyb2wgdGhlIEdub21lIFNoZWxsIGVudmlyb25tZW50IGFuZCB3aW5kb3dzIGFuZCBsYXVuY2ggYXBwbGljYXRpb25zIGFuZCBzY3JpcHRzIG5vdCBvbmx5IHRocm91Z2ggdGhlIGNvcm5lcnMgYW5kIGVkZ2VzIG9mIHlvdXIgbW9uaXRvcnMsIGJ1dCBhbHNvIHVzaW5nIHRoZSBjdXN0b20ga2V5Ym9hcmQgc2hvcnRjdXRzLlxuU2lnbmlmaWNhbnQgcGFydCBvZiBhdmFpbGFibGUgYWN0aW9ucyBhcmUgdmlzdWFsIGFkanVzdG1lbnRzIChjb250cmFzdCwgYnJpZ2h0bmVzcywgb3BhY2l0eSkgYW5kIGNvbG9yIGZpbHRlcnMgKHJlZCwgZ3JlZW4sIGRlc2F0dXJhdGUsIGxpZ2h0bmVzcyBhbmQgY29sb3IgaW52ZXJzaW9ucykgLCBpbmNsdWRpbmcgY29ycmVjdGlvbiBmaWx0ZXJzIGZvciBjb2xvcmJsaW5kIHVzZXJzIGFuZCBjYiBzaW11bGF0aW9uIGZpbHRlcnMgZm9yIGRldmVsb3BlcnMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIEdpdEh1YiBsaW5rZWQgYmVsb3cuXG5cbmtleXdvcmRzOiBvdmVydmlldywgYXBwIGdyaWQsIGNvbW1hbmQsIGJyaWdodG5lc3MsIGNvbnRyYXN0LCB0cmFuc3BhcmVudCwgb3BhY2l0eSwgY29sb3IgZWZmZWN0LCBpbnZlcnQgbGlnaHRuZXNzLCBjb2xvciB0aW50LCBjb2xvciBibGluZCBmaWx0ZXIsIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvY3VzdG9tLWhvdC1jb3JuZXJzL3RyZWUvZ2RoIiwKICAidXVpZCI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWRARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}}}
+, {"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 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\nThis extension is a big collection of actions that allows you navigate and control the Gnome Shell environment and windows and launch applications and scripts not only through the corners and edges of your monitors, but also using the custom keyboard shortcuts.\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.\nPlease report bugs/issues on GitHub linked below.\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": "16", "sha256": "03hxg1lws0d9i8s1xn4m596afs9d9k75s4gfjr93rp8br7y1icfb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3Iga2V5Ym9hcmQgc2hvcnRjdXRzIGNhbiB0cmlnZ2VyIGFueSBvZiBkb3plbnMgb2YgYnVpbHQtaW4gYWN0aW9ucyB0aGF0IGhlbHBzIHlvdSBuYXZpZ2F0ZSBhbmQgY29udHJvbCB5b3VyIGRlc2t0b3AgZW52aXJvbm1lbnQgb3IgeW91ciBvd24gc2hlbGwgY29tbWFuZHMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGEgYmlnIGNvbGxlY3Rpb24gb2YgYWN0aW9ucyB0aGF0IGFsbG93cyB5b3UgbmF2aWdhdGUgYW5kIGNvbnRyb2wgdGhlIEdub21lIFNoZWxsIGVudmlyb25tZW50IGFuZCB3aW5kb3dzIGFuZCBsYXVuY2ggYXBwbGljYXRpb25zIGFuZCBzY3JpcHRzIG5vdCBvbmx5IHRocm91Z2ggdGhlIGNvcm5lcnMgYW5kIGVkZ2VzIG9mIHlvdXIgbW9uaXRvcnMsIGJ1dCBhbHNvIHVzaW5nIHRoZSBjdXN0b20ga2V5Ym9hcmQgc2hvcnRjdXRzLlxuU2lnbmlmaWNhbnQgcGFydCBvZiBhdmFpbGFibGUgYWN0aW9ucyBhcmUgdmlzdWFsIGFkanVzdG1lbnRzIChjb250cmFzdCwgYnJpZ2h0bmVzcywgb3BhY2l0eSkgYW5kIGNvbG9yIGZpbHRlcnMgKHJlZCwgZ3JlZW4sIGRlc2F0dXJhdGUsIGxpZ2h0bmVzcyBhbmQgY29sb3IgaW52ZXJzaW9ucykgLCBpbmNsdWRpbmcgY29ycmVjdGlvbiBmaWx0ZXJzIGZvciBjb2xvcmJsaW5kIHVzZXJzIGFuZCBjYiBzaW11bGF0aW9uIGZpbHRlcnMgZm9yIGRldmVsb3BlcnMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIEdpdEh1YiBsaW5rZWQgYmVsb3cuXG5cbmtleXdvcmRzOiBvdmVydmlldywgYXBwIGdyaWQsIGNvbW1hbmQsIGJyaWdodG5lc3MsIGNvbnRyYXN0LCB0cmFuc3BhcmVudCwgb3BhY2l0eSwgY29sb3IgZWZmZWN0LCBpbnZlcnQgbGlnaHRuZXNzLCBjb2xvciB0aW50LCBjb2xvciBibGluZCBmaWx0ZXIsIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvY3VzdG9tLWhvdC1jb3JuZXJzL3RyZWUvZ2RoIiwKICAidXVpZCI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWRARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "40": {"version": "16", "sha256": "03hxg1lws0d9i8s1xn4m596afs9d9k75s4gfjr93rp8br7y1icfb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3Iga2V5Ym9hcmQgc2hvcnRjdXRzIGNhbiB0cmlnZ2VyIGFueSBvZiBkb3plbnMgb2YgYnVpbHQtaW4gYWN0aW9ucyB0aGF0IGhlbHBzIHlvdSBuYXZpZ2F0ZSBhbmQgY29udHJvbCB5b3VyIGRlc2t0b3AgZW52aXJvbm1lbnQgb3IgeW91ciBvd24gc2hlbGwgY29tbWFuZHMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGEgYmlnIGNvbGxlY3Rpb24gb2YgYWN0aW9ucyB0aGF0IGFsbG93cyB5b3UgbmF2aWdhdGUgYW5kIGNvbnRyb2wgdGhlIEdub21lIFNoZWxsIGVudmlyb25tZW50IGFuZCB3aW5kb3dzIGFuZCBsYXVuY2ggYXBwbGljYXRpb25zIGFuZCBzY3JpcHRzIG5vdCBvbmx5IHRocm91Z2ggdGhlIGNvcm5lcnMgYW5kIGVkZ2VzIG9mIHlvdXIgbW9uaXRvcnMsIGJ1dCBhbHNvIHVzaW5nIHRoZSBjdXN0b20ga2V5Ym9hcmQgc2hvcnRjdXRzLlxuU2lnbmlmaWNhbnQgcGFydCBvZiBhdmFpbGFibGUgYWN0aW9ucyBhcmUgdmlzdWFsIGFkanVzdG1lbnRzIChjb250cmFzdCwgYnJpZ2h0bmVzcywgb3BhY2l0eSkgYW5kIGNvbG9yIGZpbHRlcnMgKHJlZCwgZ3JlZW4sIGRlc2F0dXJhdGUsIGxpZ2h0bmVzcyBhbmQgY29sb3IgaW52ZXJzaW9ucykgLCBpbmNsdWRpbmcgY29ycmVjdGlvbiBmaWx0ZXJzIGZvciBjb2xvcmJsaW5kIHVzZXJzIGFuZCBjYiBzaW11bGF0aW9uIGZpbHRlcnMgZm9yIGRldmVsb3BlcnMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIEdpdEh1YiBsaW5rZWQgYmVsb3cuXG5cbmtleXdvcmRzOiBvdmVydmlldywgYXBwIGdyaWQsIGNvbW1hbmQsIGJyaWdodG5lc3MsIGNvbnRyYXN0LCB0cmFuc3BhcmVudCwgb3BhY2l0eSwgY29sb3IgZWZmZWN0LCBpbnZlcnQgbGlnaHRuZXNzLCBjb2xvciB0aW50LCBjb2xvciBibGluZCBmaWx0ZXIsIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvY3VzdG9tLWhvdC1jb3JuZXJzL3RyZWUvZ2RoIiwKICAidXVpZCI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWRARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "41": {"version": "16", "sha256": "03hxg1lws0d9i8s1xn4m596afs9d9k75s4gfjr93rp8br7y1icfb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3Iga2V5Ym9hcmQgc2hvcnRjdXRzIGNhbiB0cmlnZ2VyIGFueSBvZiBkb3plbnMgb2YgYnVpbHQtaW4gYWN0aW9ucyB0aGF0IGhlbHBzIHlvdSBuYXZpZ2F0ZSBhbmQgY29udHJvbCB5b3VyIGRlc2t0b3AgZW52aXJvbm1lbnQgb3IgeW91ciBvd24gc2hlbGwgY29tbWFuZHMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGEgYmlnIGNvbGxlY3Rpb24gb2YgYWN0aW9ucyB0aGF0IGFsbG93cyB5b3UgbmF2aWdhdGUgYW5kIGNvbnRyb2wgdGhlIEdub21lIFNoZWxsIGVudmlyb25tZW50IGFuZCB3aW5kb3dzIGFuZCBsYXVuY2ggYXBwbGljYXRpb25zIGFuZCBzY3JpcHRzIG5vdCBvbmx5IHRocm91Z2ggdGhlIGNvcm5lcnMgYW5kIGVkZ2VzIG9mIHlvdXIgbW9uaXRvcnMsIGJ1dCBhbHNvIHVzaW5nIHRoZSBjdXN0b20ga2V5Ym9hcmQgc2hvcnRjdXRzLlxuU2lnbmlmaWNhbnQgcGFydCBvZiBhdmFpbGFibGUgYWN0aW9ucyBhcmUgdmlzdWFsIGFkanVzdG1lbnRzIChjb250cmFzdCwgYnJpZ2h0bmVzcywgb3BhY2l0eSkgYW5kIGNvbG9yIGZpbHRlcnMgKHJlZCwgZ3JlZW4sIGRlc2F0dXJhdGUsIGxpZ2h0bmVzcyBhbmQgY29sb3IgaW52ZXJzaW9ucykgLCBpbmNsdWRpbmcgY29ycmVjdGlvbiBmaWx0ZXJzIGZvciBjb2xvcmJsaW5kIHVzZXJzIGFuZCBjYiBzaW11bGF0aW9uIGZpbHRlcnMgZm9yIGRldmVsb3BlcnMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIEdpdEh1YiBsaW5rZWQgYmVsb3cuXG5cbmtleXdvcmRzOiBvdmVydmlldywgYXBwIGdyaWQsIGNvbW1hbmQsIGJyaWdodG5lc3MsIGNvbnRyYXN0LCB0cmFuc3BhcmVudCwgb3BhY2l0eSwgY29sb3IgZWZmZWN0LCBpbnZlcnQgbGlnaHRuZXNzLCBjb2xvciB0aW50LCBjb2xvciBibGluZCBmaWx0ZXIsIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvY3VzdG9tLWhvdC1jb3JuZXJzL3RyZWUvZ2RoIiwKICAidXVpZCI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWRARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "42": {"version": "16", "sha256": "03hxg1lws0d9i8s1xn4m596afs9d9k75s4gfjr93rp8br7y1icfb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3Iga2V5Ym9hcmQgc2hvcnRjdXRzIGNhbiB0cmlnZ2VyIGFueSBvZiBkb3plbnMgb2YgYnVpbHQtaW4gYWN0aW9ucyB0aGF0IGhlbHBzIHlvdSBuYXZpZ2F0ZSBhbmQgY29udHJvbCB5b3VyIGRlc2t0b3AgZW52aXJvbm1lbnQgb3IgeW91ciBvd24gc2hlbGwgY29tbWFuZHMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGEgYmlnIGNvbGxlY3Rpb24gb2YgYWN0aW9ucyB0aGF0IGFsbG93cyB5b3UgbmF2aWdhdGUgYW5kIGNvbnRyb2wgdGhlIEdub21lIFNoZWxsIGVudmlyb25tZW50IGFuZCB3aW5kb3dzIGFuZCBsYXVuY2ggYXBwbGljYXRpb25zIGFuZCBzY3JpcHRzIG5vdCBvbmx5IHRocm91Z2ggdGhlIGNvcm5lcnMgYW5kIGVkZ2VzIG9mIHlvdXIgbW9uaXRvcnMsIGJ1dCBhbHNvIHVzaW5nIHRoZSBjdXN0b20ga2V5Ym9hcmQgc2hvcnRjdXRzLlxuU2lnbmlmaWNhbnQgcGFydCBvZiBhdmFpbGFibGUgYWN0aW9ucyBhcmUgdmlzdWFsIGFkanVzdG1lbnRzIChjb250cmFzdCwgYnJpZ2h0bmVzcywgb3BhY2l0eSkgYW5kIGNvbG9yIGZpbHRlcnMgKHJlZCwgZ3JlZW4sIGRlc2F0dXJhdGUsIGxpZ2h0bmVzcyBhbmQgY29sb3IgaW52ZXJzaW9ucykgLCBpbmNsdWRpbmcgY29ycmVjdGlvbiBmaWx0ZXJzIGZvciBjb2xvcmJsaW5kIHVzZXJzIGFuZCBjYiBzaW11bGF0aW9uIGZpbHRlcnMgZm9yIGRldmVsb3BlcnMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIEdpdEh1YiBsaW5rZWQgYmVsb3cuXG5cbmtleXdvcmRzOiBvdmVydmlldywgYXBwIGdyaWQsIGNvbW1hbmQsIGJyaWdodG5lc3MsIGNvbnRyYXN0LCB0cmFuc3BhcmVudCwgb3BhY2l0eSwgY29sb3IgZWZmZWN0LCBpbnZlcnQgbGlnaHRuZXNzLCBjb2xvciB0aW50LCBjb2xvciBibGluZCBmaWx0ZXIsIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvY3VzdG9tLWhvdC1jb3JuZXJzL3RyZWUvZ2RoIiwKICAidXVpZCI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWRARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}}}
 , {"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": "6", "sha256": "1wajx49ci9146wi10z2nvhgc1iw7mfqp8a8z5gr708f90vfy93lc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgIm5hbWUiOiAiSG9tZSBBc3Npc3RhbnQgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhhc3MtZGF0YSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ2VvcGg5L2hhc3MtZ3NoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiaGFzcy1nc2hlbGxAZ2VvcGg5LW9uLWdpdGh1YiIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "1wajx49ci9146wi10z2nvhgc1iw7mfqp8a8z5gr708f90vfy93lc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgIm5hbWUiOiAiSG9tZSBBc3Npc3RhbnQgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhhc3MtZGF0YSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ2VvcGg5L2hhc3MtZ3NoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiaGFzcy1nc2hlbGxAZ2VvcGg5LW9uLWdpdGh1YiIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"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": "5", "sha256": "12msvdg82rj34v338vsxqimy1p35isvl4db8k1sjq23ln1b6jak2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGx5IHRyYW5zcGFyZW50IHRvcGJhciwgcGFpcnMgd2l0aCB0aGUgemhhbmdoYWkgdHJhbnNwYXJlbnQgdG9wIGJhciBleHRlbnNpb24gdG8gbWFrZSBiYXIgb3BhcXVlIHdoZW4gd2luZG93IGlzIG1heGltaXplZCIsCiAgIm5hbWUiOiAiQ2xlYXIgVG9wIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3VwZXJ0ZXJyYW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNsZWFyLXRvcC1iYXIiLAogICJ1dWlkIjogImNsZWFyLXRvcC1iYXJAc3VwZXJ0ZXJyYW4ubmV0IiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "12msvdg82rj34v338vsxqimy1p35isvl4db8k1sjq23ln1b6jak2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGx5IHRyYW5zcGFyZW50IHRvcGJhciwgcGFpcnMgd2l0aCB0aGUgemhhbmdoYWkgdHJhbnNwYXJlbnQgdG9wIGJhciBleHRlbnNpb24gdG8gbWFrZSBiYXIgb3BhcXVlIHdoZW4gd2luZG93IGlzIG1heGltaXplZCIsCiAgIm5hbWUiOiAiQ2xlYXIgVG9wIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3VwZXJ0ZXJyYW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNsZWFyLXRvcC1iYXIiLAogICJ1dWlkIjogImNsZWFyLXRvcC1iYXJAc3VwZXJ0ZXJyYW4ubmV0IiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"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": "5", "sha256": "1df0xz4m2ysqk3bk7kqjjh04qwsffwc04jgihmid4whd3n2kglk5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBzeXN0ZW1kIHNlcnZpY2VzIG9uL29mZiBmcm9tIGEgcG9wdXAgbWVudSBpbiB0aGUgdG9wIGdub21lIHBhbmVsLiBDYW4gYmUgdXNlZCB0byBzdGFydCBzZXJ2aWNlcyBsaWtlIGFwYWNoZTIsIG15c3FsLCBwb3N0Z3Jlcy4gSXQgdXNlcyBgcGtleGVjJyB0byBydW4gYHN5dGVtY3RsJy4gSWYgeW91IHdhbnQgdG8gc3RhcnQgc2VydmljZXMgd2l0aG91dCBlbnRlcmluZyBhIHBhc3N3b3JkIHlvdSBoYXZlIHRvIHBvbGtpdCBwb2xpY3kgZmlsZS4gQW4gZXhhbXBsZSBwb2xpY3kgZmlsZSBjYW4gYmUgZm91bmQgaW4gdGhlIGdpdGh1YiByZXBvc2l0b3J5LiIsCiAgImdldHRleHQtZG9tYWluIjogInN5c3RlbWQtbWFuYWdlciIsCiAgIm5hbWUiOiAiU3lzdGVtZCBNYW5hZ2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN5c3RlbWQtbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFyZHBpeGVsL3N5c3RlbWQtbWFuYWdlciIsCiAgInV1aWQiOiAic3lzdGVtZC1tYW5hZ2VyQGhhcmRwaXhlbC5ldSIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "1df0xz4m2ysqk3bk7kqjjh04qwsffwc04jgihmid4whd3n2kglk5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBzeXN0ZW1kIHNlcnZpY2VzIG9uL29mZiBmcm9tIGEgcG9wdXAgbWVudSBpbiB0aGUgdG9wIGdub21lIHBhbmVsLiBDYW4gYmUgdXNlZCB0byBzdGFydCBzZXJ2aWNlcyBsaWtlIGFwYWNoZTIsIG15c3FsLCBwb3N0Z3Jlcy4gSXQgdXNlcyBgcGtleGVjJyB0byBydW4gYHN5dGVtY3RsJy4gSWYgeW91IHdhbnQgdG8gc3RhcnQgc2VydmljZXMgd2l0aG91dCBlbnRlcmluZyBhIHBhc3N3b3JkIHlvdSBoYXZlIHRvIHBvbGtpdCBwb2xpY3kgZmlsZS4gQW4gZXhhbXBsZSBwb2xpY3kgZmlsZSBjYW4gYmUgZm91bmQgaW4gdGhlIGdpdGh1YiByZXBvc2l0b3J5LiIsCiAgImdldHRleHQtZG9tYWluIjogInN5c3RlbWQtbWFuYWdlciIsCiAgIm5hbWUiOiAiU3lzdGVtZCBNYW5hZ2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN5c3RlbWQtbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFyZHBpeGVsL3N5c3RlbWQtbWFuYWdlciIsCiAgInV1aWQiOiAic3lzdGVtZC1tYW5hZ2VyQGhhcmRwaXhlbC5ldSIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "1df0xz4m2ysqk3bk7kqjjh04qwsffwc04jgihmid4whd3n2kglk5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBzeXN0ZW1kIHNlcnZpY2VzIG9uL29mZiBmcm9tIGEgcG9wdXAgbWVudSBpbiB0aGUgdG9wIGdub21lIHBhbmVsLiBDYW4gYmUgdXNlZCB0byBzdGFydCBzZXJ2aWNlcyBsaWtlIGFwYWNoZTIsIG15c3FsLCBwb3N0Z3Jlcy4gSXQgdXNlcyBgcGtleGVjJyB0byBydW4gYHN5dGVtY3RsJy4gSWYgeW91IHdhbnQgdG8gc3RhcnQgc2VydmljZXMgd2l0aG91dCBlbnRlcmluZyBhIHBhc3N3b3JkIHlvdSBoYXZlIHRvIHBvbGtpdCBwb2xpY3kgZmlsZS4gQW4gZXhhbXBsZSBwb2xpY3kgZmlsZSBjYW4gYmUgZm91bmQgaW4gdGhlIGdpdGh1YiByZXBvc2l0b3J5LiIsCiAgImdldHRleHQtZG9tYWluIjogInN5c3RlbWQtbWFuYWdlciIsCiAgIm5hbWUiOiAiU3lzdGVtZCBNYW5hZ2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN5c3RlbWQtbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFyZHBpeGVsL3N5c3RlbWQtbWFuYWdlciIsCiAgInV1aWQiOiAic3lzdGVtZC1tYW5hZ2VyQGhhcmRwaXhlbC5ldSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
@@ -492,7 +493,7 @@
 , {"uuid": "gnome-plat-workspace@stonegate.me", "name": "Gnome 40 Flat Workspace", "pname": "gnome-40-plat-workspace", "description": "Remove shadow for workspace background in gnome 40.\nSource code https://github.com/stonega/gnome-extension-flat-workspace", "link": "https://extensions.gnome.org/extension/4215/gnome-40-plat-workspace/", "shell_version_map": {"40": {"version": "3", "sha256": "0ly2dab9c0l7w1axnqs7xk2szd5jm2ifgniz2snw5mwkr5pw76nb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBzaGFkb3cgZm9yIHdvcmtzcGFjZSBiYWNrZ3JvdW5kIGluIGdub21lIDQwLlxuU291cmNlIGNvZGUgaHR0cHM6Ly9naXRodWIuY29tL3N0b25lZ2EvZ25vbWUtZXh0ZW5zaW9uLWZsYXQtd29ya3NwYWNlIiwKICAibmFtZSI6ICJHbm9tZSA0MCBGbGF0IFdvcmtzcGFjZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1wbGF0LXdvcmtzcGFjZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZ25vbWUtcGxhdC13b3Jrc3BhY2VAc3RvbmVnYXRlLm1lIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
 , {"uuid": "hotedge@jonathan.jdoda.ca", "name": "Hot Edge", "pname": "hot-edge", "description": "Add a hot edge that activates the overview to the bottom of the screen. This minimizes the pointer travel required to access the dash when using the new GNOME Shell 40 overview layout.\n\nNow with preference dialog!\n\nYou can find more documentation at https://github.com/jdoda/hotedge/blob/main/README.md and report issues at https://github.com/jdoda/hotedge/issues .", "link": "https://extensions.gnome.org/extension/4222/hot-edge/", "shell_version_map": {"40": {"version": "14", "sha256": "0b0l1qfjkql7xzp5qkqixmdr6rmfdz7i7y319qqwn31mwslrc1nl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGhvdCBlZGdlIHRoYXQgYWN0aXZhdGVzIHRoZSBvdmVydmlldyB0byB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uIFRoaXMgbWluaW1pemVzIHRoZSBwb2ludGVyIHRyYXZlbCByZXF1aXJlZCB0byBhY2Nlc3MgdGhlIGRhc2ggd2hlbiB1c2luZyB0aGUgbmV3IEdOT01FIFNoZWxsIDQwIG92ZXJ2aWV3IGxheW91dC5cblxuTm93IHdpdGggcHJlZmVyZW5jZSBkaWFsb2chXG5cbllvdSBjYW4gZmluZCBtb3JlIGRvY3VtZW50YXRpb24gYXQgaHR0cHM6Ly9naXRodWIuY29tL2pkb2RhL2hvdGVkZ2UvYmxvYi9tYWluL1JFQURNRS5tZCBhbmQgcmVwb3J0IGlzc3VlcyBhdCBodHRwczovL2dpdGh1Yi5jb20vamRvZGEvaG90ZWRnZS9pc3N1ZXMgLiIsCiAgIm5hbWUiOiAiSG90IEVkZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qZG9kYS9ob3RlZGdlIiwKICAidXVpZCI6ICJob3RlZGdlQGpvbmF0aGFuLmpkb2RhLmNhIiwKICAidmVyc2lvbiI6IDE0Cn0="}, "41": {"version": "14", "sha256": "0b0l1qfjkql7xzp5qkqixmdr6rmfdz7i7y319qqwn31mwslrc1nl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGhvdCBlZGdlIHRoYXQgYWN0aXZhdGVzIHRoZSBvdmVydmlldyB0byB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uIFRoaXMgbWluaW1pemVzIHRoZSBwb2ludGVyIHRyYXZlbCByZXF1aXJlZCB0byBhY2Nlc3MgdGhlIGRhc2ggd2hlbiB1c2luZyB0aGUgbmV3IEdOT01FIFNoZWxsIDQwIG92ZXJ2aWV3IGxheW91dC5cblxuTm93IHdpdGggcHJlZmVyZW5jZSBkaWFsb2chXG5cbllvdSBjYW4gZmluZCBtb3JlIGRvY3VtZW50YXRpb24gYXQgaHR0cHM6Ly9naXRodWIuY29tL2pkb2RhL2hvdGVkZ2UvYmxvYi9tYWluL1JFQURNRS5tZCBhbmQgcmVwb3J0IGlzc3VlcyBhdCBodHRwczovL2dpdGh1Yi5jb20vamRvZGEvaG90ZWRnZS9pc3N1ZXMgLiIsCiAgIm5hbWUiOiAiSG90IEVkZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qZG9kYS9ob3RlZGdlIiwKICAidXVpZCI6ICJob3RlZGdlQGpvbmF0aGFuLmpkb2RhLmNhIiwKICAidmVyc2lvbiI6IDE0Cn0="}, "42": {"version": "14", "sha256": "0b0l1qfjkql7xzp5qkqixmdr6rmfdz7i7y319qqwn31mwslrc1nl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGhvdCBlZGdlIHRoYXQgYWN0aXZhdGVzIHRoZSBvdmVydmlldyB0byB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uIFRoaXMgbWluaW1pemVzIHRoZSBwb2ludGVyIHRyYXZlbCByZXF1aXJlZCB0byBhY2Nlc3MgdGhlIGRhc2ggd2hlbiB1c2luZyB0aGUgbmV3IEdOT01FIFNoZWxsIDQwIG92ZXJ2aWV3IGxheW91dC5cblxuTm93IHdpdGggcHJlZmVyZW5jZSBkaWFsb2chXG5cbllvdSBjYW4gZmluZCBtb3JlIGRvY3VtZW50YXRpb24gYXQgaHR0cHM6Ly9naXRodWIuY29tL2pkb2RhL2hvdGVkZ2UvYmxvYi9tYWluL1JFQURNRS5tZCBhbmQgcmVwb3J0IGlzc3VlcyBhdCBodHRwczovL2dpdGh1Yi5jb20vamRvZGEvaG90ZWRnZS9pc3N1ZXMgLiIsCiAgIm5hbWUiOiAiSG90IEVkZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qZG9kYS9ob3RlZGdlIiwKICAidXVpZCI6ICJob3RlZGdlQGpvbmF0aGFuLmpkb2RhLmNhIiwKICAidmVyc2lvbiI6IDE0Cn0="}}}
 , {"uuid": "gnome-citeurl-search-provider@raindrum.github.io", "name": "Legal Citation Search", "pname": "gnome-citeurl-search-provider", "description": "This extension lets you look up U.S. state and federal laws and court cases by typing citations (like \"42 USC 1983\" or \"U.S. Constitution Art. I, Sec. 3\") into the search bar.\nBy default, the search supports the U.S. Code and federal constitution, as well as nearly all codified state laws and constitutions, among other sources of law. You can also add more types of citation by following the instructions on the GitHub page.", "link": "https://extensions.gnome.org/extension/4225/gnome-citeurl-search-provider/", "shell_version_map": {"38": {"version": "6", "sha256": "024d98642smciv5n2vc4l2f8rglfrv180paj1g2rrq9k4pvg6yym", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGxldHMgeW91IGxvb2sgdXAgVS5TLiBzdGF0ZSBhbmQgZmVkZXJhbCBsYXdzIGFuZCBjb3VydCBjYXNlcyBieSB0eXBpbmcgY2l0YXRpb25zIChsaWtlIFwiNDIgVVNDIDE5ODNcIiBvciBcIlUuUy4gQ29uc3RpdHV0aW9uIEFydC4gSSwgU2VjLiAzXCIpIGludG8gdGhlIHNlYXJjaCBiYXIuXG5CeSBkZWZhdWx0LCB0aGUgc2VhcmNoIHN1cHBvcnRzIHRoZSBVLlMuIENvZGUgYW5kIGZlZGVyYWwgY29uc3RpdHV0aW9uLCBhcyB3ZWxsIGFzIG5lYXJseSBhbGwgY29kaWZpZWQgc3RhdGUgbGF3cyBhbmQgY29uc3RpdHV0aW9ucywgYW1vbmcgb3RoZXIgc291cmNlcyBvZiBsYXcuIFlvdSBjYW4gYWxzbyBhZGQgbW9yZSB0eXBlcyBvZiBjaXRhdGlvbiBieSBmb2xsb3dpbmcgdGhlIGluc3RydWN0aW9ucyBvbiB0aGUgR2l0SHViIHBhZ2UuIiwKICAibmFtZSI6ICJMZWdhbCBDaXRhdGlvbiBTZWFyY2giLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY2l0ZXVybC1zZWFyY2gtcHJvdmlkZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFpbmRydW0vZ25vbWUtY2l0ZXVybC1zZWFyY2gtcHJvdmlkZXIiLAogICJ1dWlkIjogImdub21lLWNpdGV1cmwtc2VhcmNoLXByb3ZpZGVyQHJhaW5kcnVtLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "6", "sha256": "024d98642smciv5n2vc4l2f8rglfrv180paj1g2rrq9k4pvg6yym", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGxldHMgeW91IGxvb2sgdXAgVS5TLiBzdGF0ZSBhbmQgZmVkZXJhbCBsYXdzIGFuZCBjb3VydCBjYXNlcyBieSB0eXBpbmcgY2l0YXRpb25zIChsaWtlIFwiNDIgVVNDIDE5ODNcIiBvciBcIlUuUy4gQ29uc3RpdHV0aW9uIEFydC4gSSwgU2VjLiAzXCIpIGludG8gdGhlIHNlYXJjaCBiYXIuXG5CeSBkZWZhdWx0LCB0aGUgc2VhcmNoIHN1cHBvcnRzIHRoZSBVLlMuIENvZGUgYW5kIGZlZGVyYWwgY29uc3RpdHV0aW9uLCBhcyB3ZWxsIGFzIG5lYXJseSBhbGwgY29kaWZpZWQgc3RhdGUgbGF3cyBhbmQgY29uc3RpdHV0aW9ucywgYW1vbmcgb3RoZXIgc291cmNlcyBvZiBsYXcuIFlvdSBjYW4gYWxzbyBhZGQgbW9yZSB0eXBlcyBvZiBjaXRhdGlvbiBieSBmb2xsb3dpbmcgdGhlIGluc3RydWN0aW9ucyBvbiB0aGUgR2l0SHViIHBhZ2UuIiwKICAibmFtZSI6ICJMZWdhbCBDaXRhdGlvbiBTZWFyY2giLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY2l0ZXVybC1zZWFyY2gtcHJvdmlkZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFpbmRydW0vZ25vbWUtY2l0ZXVybC1zZWFyY2gtcHJvdmlkZXIiLAogICJ1dWlkIjogImdub21lLWNpdGV1cmwtc2VhcmNoLXByb3ZpZGVyQHJhaW5kcnVtLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA2Cn0="}}}
-, {"uuid": "wireless-hid@chlumskyvaclav.gmail.com", "name": "Wireless HID", "pname": "wireless-hid", "description": "This extension shows the battery of the wireless keyboards, mice, and game controllers in percentages and colors. Multiple devices are supported.", "link": "https://extensions.gnome.org/extension/4228/wireless-hid/", "shell_version_map": {"38": {"version": "4", "sha256": "09qws1w9d6ik18c2fkhwfrxiallx4bq2k6wnlc7d2fvrfdm32kqn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNob3dzIHRoZSBiYXR0ZXJ5IG9mIHRoZSB3aXJlbGVzcyBrZXlib2FyZHMsIG1pY2UsIGFuZCBnYW1lIGNvbnRyb2xsZXJzIGluIHBlcmNlbnRhZ2VzIGFuZCBjb2xvcnMuIE11bHRpcGxlIGRldmljZXMgYXJlIHN1cHBvcnRlZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlbGVzcy1oaWQiLAogICJuYW1lIjogIldpcmVsZXNzIEhJRCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS93aXJlbGVzcy1oaWQiLAogICJ1dWlkIjogIndpcmVsZXNzLWhpZEBjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "09qws1w9d6ik18c2fkhwfrxiallx4bq2k6wnlc7d2fvrfdm32kqn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNob3dzIHRoZSBiYXR0ZXJ5IG9mIHRoZSB3aXJlbGVzcyBrZXlib2FyZHMsIG1pY2UsIGFuZCBnYW1lIGNvbnRyb2xsZXJzIGluIHBlcmNlbnRhZ2VzIGFuZCBjb2xvcnMuIE11bHRpcGxlIGRldmljZXMgYXJlIHN1cHBvcnRlZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlbGVzcy1oaWQiLAogICJuYW1lIjogIldpcmVsZXNzIEhJRCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS93aXJlbGVzcy1oaWQiLAogICJ1dWlkIjogIndpcmVsZXNzLWhpZEBjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "09qws1w9d6ik18c2fkhwfrxiallx4bq2k6wnlc7d2fvrfdm32kqn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNob3dzIHRoZSBiYXR0ZXJ5IG9mIHRoZSB3aXJlbGVzcyBrZXlib2FyZHMsIG1pY2UsIGFuZCBnYW1lIGNvbnRyb2xsZXJzIGluIHBlcmNlbnRhZ2VzIGFuZCBjb2xvcnMuIE11bHRpcGxlIGRldmljZXMgYXJlIHN1cHBvcnRlZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlbGVzcy1oaWQiLAogICJuYW1lIjogIldpcmVsZXNzIEhJRCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS93aXJlbGVzcy1oaWQiLAogICJ1dWlkIjogIndpcmVsZXNzLWhpZEBjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
+, {"uuid": "wireless-hid@chlumskyvaclav.gmail.com", "name": "Wireless HID", "pname": "wireless-hid", "description": "This extension shows the battery of the wireless keyboards, mice, and game controllers in percentages and colors. Multiple devices are supported.", "link": "https://extensions.gnome.org/extension/4228/wireless-hid/", "shell_version_map": {"38": {"version": "5", "sha256": "0if3rwvmhw3a1chpas1bp3xkavza2rl3sqpk1ba97xb613sap8qv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNob3dzIHRoZSBiYXR0ZXJ5IG9mIHRoZSB3aXJlbGVzcyBrZXlib2FyZHMsIG1pY2UsIGFuZCBnYW1lIGNvbnRyb2xsZXJzIGluIHBlcmNlbnRhZ2VzIGFuZCBjb2xvcnMuIE11bHRpcGxlIGRldmljZXMgYXJlIHN1cHBvcnRlZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlbGVzcy1oaWQiLAogICJuYW1lIjogIldpcmVsZXNzIEhJRCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vd2lyZWxlc3MtaGlkIiwKICAidXVpZCI6ICJ3aXJlbGVzcy1oaWRAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "5", "sha256": "0if3rwvmhw3a1chpas1bp3xkavza2rl3sqpk1ba97xb613sap8qv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNob3dzIHRoZSBiYXR0ZXJ5IG9mIHRoZSB3aXJlbGVzcyBrZXlib2FyZHMsIG1pY2UsIGFuZCBnYW1lIGNvbnRyb2xsZXJzIGluIHBlcmNlbnRhZ2VzIGFuZCBjb2xvcnMuIE11bHRpcGxlIGRldmljZXMgYXJlIHN1cHBvcnRlZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlbGVzcy1oaWQiLAogICJuYW1lIjogIldpcmVsZXNzIEhJRCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vd2lyZWxlc3MtaGlkIiwKICAidXVpZCI6ICJ3aXJlbGVzcy1oaWRAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "0if3rwvmhw3a1chpas1bp3xkavza2rl3sqpk1ba97xb613sap8qv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNob3dzIHRoZSBiYXR0ZXJ5IG9mIHRoZSB3aXJlbGVzcyBrZXlib2FyZHMsIG1pY2UsIGFuZCBnYW1lIGNvbnRyb2xsZXJzIGluIHBlcmNlbnRhZ2VzIGFuZCBjb2xvcnMuIE11bHRpcGxlIGRldmljZXMgYXJlIHN1cHBvcnRlZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlbGVzcy1oaWQiLAogICJuYW1lIjogIldpcmVsZXNzIEhJRCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vd2lyZWxlc3MtaGlkIiwKICAidXVpZCI6ICJ3aXJlbGVzcy1oaWRAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "42": {"version": "5", "sha256": "0if3rwvmhw3a1chpas1bp3xkavza2rl3sqpk1ba97xb613sap8qv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNob3dzIHRoZSBiYXR0ZXJ5IG9mIHRoZSB3aXJlbGVzcyBrZXlib2FyZHMsIG1pY2UsIGFuZCBnYW1lIGNvbnRyb2xsZXJzIGluIHBlcmNlbnRhZ2VzIGFuZCBjb2xvcnMuIE11bHRpcGxlIGRldmljZXMgYXJlIHN1cHBvcnRlZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlbGVzcy1oaWQiLAogICJuYW1lIjogIldpcmVsZXNzIEhJRCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vd2lyZWxlc3MtaGlkIiwKICAidXVpZCI6ICJ3aXJlbGVzcy1oaWRAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"uuid": "better-osd@hllvc", "name": "Better OSD - Gnome 40", "pname": "better-osd-gnome-40", "description": "Customize your OSD popups. Move, resize, set delay and transparency!", "link": "https://extensions.gnome.org/extension/4231/better-osd-gnome-40/", "shell_version_map": {"40": {"version": "6", "sha256": "0945xh7a607x3f9796gi3l5zylqa8gj1pnw44hcaak5sc6zpahgv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIE9TRCBwb3B1cHMuIE1vdmUsIHJlc2l6ZSwgc2V0IGRlbGF5IGFuZCB0cmFuc3BhcmVuY3khIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmV0dGVyLW9zZCIsCiAgIm5hbWUiOiAiQmV0dGVyIE9TRCAtIEdub21lIDQwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQxLjEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9obGx2Yy9iZXR0ZXItb3NkIiwKICAidXVpZCI6ICJiZXR0ZXItb3NkQGhsbHZjIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "0945xh7a607x3f9796gi3l5zylqa8gj1pnw44hcaak5sc6zpahgv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIE9TRCBwb3B1cHMuIE1vdmUsIHJlc2l6ZSwgc2V0IGRlbGF5IGFuZCB0cmFuc3BhcmVuY3khIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmV0dGVyLW9zZCIsCiAgIm5hbWUiOiAiQmV0dGVyIE9TRCAtIEdub21lIDQwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQxLjEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9obGx2Yy9iZXR0ZXItb3NkIiwKICAidXVpZCI6ICJiZXR0ZXItb3NkQGhsbHZjIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "arbttstats@gervasioperez.ar", "name": "Arbtt stats", "pname": "arbtt-stats", "description": "Show simple arbtt stats on the panel\n*** This extension requires arbtt running and configured", "link": "https://extensions.gnome.org/extension/4234/arbtt-stats/", "shell_version_map": {"38": {"version": "9", "sha256": "0x3sxg8dv9gfq1f4m9bk4rb3395rdcf0srijxqphpwjmm0nsizql", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgc2ltcGxlIGFyYnR0IHN0YXRzIG9uIHRoZSBwYW5lbFxuKioqIFRoaXMgZXh0ZW5zaW9uIHJlcXVpcmVzIGFyYnR0IHJ1bm5pbmcgYW5kIGNvbmZpZ3VyZWQiLAogICJuYW1lIjogIkFyYnR0IHN0YXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NoZXJ3b29kaW5jL2FyYnR0LXN0YXRzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXJidHRzdGF0c0BnZXJ2YXNpb3BlcmV6LmFyIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "40": {"version": "9", "sha256": "0x3sxg8dv9gfq1f4m9bk4rb3395rdcf0srijxqphpwjmm0nsizql", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgc2ltcGxlIGFyYnR0IHN0YXRzIG9uIHRoZSBwYW5lbFxuKioqIFRoaXMgZXh0ZW5zaW9uIHJlcXVpcmVzIGFyYnR0IHJ1bm5pbmcgYW5kIGNvbmZpZ3VyZWQiLAogICJuYW1lIjogIkFyYnR0IHN0YXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NoZXJ3b29kaW5jL2FyYnR0LXN0YXRzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXJidHRzdGF0c0BnZXJ2YXNpb3BlcmV6LmFyIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
 , {"uuid": "blur-me@nunchucks", "name": "Blur Me", "pname": "blur-me", "description": "Blur: Applications | Top Panel | Overview | Dash | More!\n\n\nCredit where it's due: Overview and dash blur are based on blur my shell", "link": "https://extensions.gnome.org/extension/4236/blur-me/", "shell_version_map": {"40": {"version": "13", "sha256": "0sdmp9q6g8xyaxvvmk47niad5csnlfpdnmx0lnlfm1dc6kchyaxa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdXI6IEFwcGxpY2F0aW9ucyB8IFRvcCBQYW5lbCB8IE92ZXJ2aWV3IHwgRGFzaCB8IE1vcmUhXG5cblxuQ3JlZGl0IHdoZXJlIGl0J3MgZHVlOiBPdmVydmlldyBhbmQgZGFzaCBibHVyIGFyZSBiYXNlZCBvbiBibHVyIG15IHNoZWxsIiwKICAibmFtZSI6ICJCbHVyIE1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4xIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ja2lzc2FuZS9ibHVyLW1lIiwKICAidXVpZCI6ICJibHVyLW1lQG51bmNodWNrcyIsCiAgInZlcnNpb24iOiAxMwp9"}, "41": {"version": "13", "sha256": "0sdmp9q6g8xyaxvvmk47niad5csnlfpdnmx0lnlfm1dc6kchyaxa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdXI6IEFwcGxpY2F0aW9ucyB8IFRvcCBQYW5lbCB8IE92ZXJ2aWV3IHwgRGFzaCB8IE1vcmUhXG5cblxuQ3JlZGl0IHdoZXJlIGl0J3MgZHVlOiBPdmVydmlldyBhbmQgZGFzaCBibHVyIGFyZSBiYXNlZCBvbiBibHVyIG15IHNoZWxsIiwKICAibmFtZSI6ICJCbHVyIE1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4xIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ja2lzc2FuZS9ibHVyLW1lIiwKICAidXVpZCI6ICJibHVyLW1lQG51bmNodWNrcyIsCiAgInZlcnNpb24iOiAxMwp9"}}}
@@ -524,7 +525,7 @@
 , {"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": "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": "3", "sha256": "0hd0rqkrly27c2bqg7403ng192blrcidb2hrykx4i170i2x604fv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYXJnbmluZyBtb2RlIGluZGljYXRvciBmb3IgbGFwdG9wcy4gQWxsb3dzIHRvIHN3aXRjaCB0aGUgY2hhcmdpbmcgbW9kZSBmcm9tIGNvbnNlcnZhdGl2ZSBvciBoZWFsdGh5IHRvIG5vcm1hbCBtb2RlLiBJbmRpY2F0ZXMgYWxzbyB3aGljaCBtb2RlIHlvdSBhcmUgdXNpbmcgbm93LiBXb3JrcyBvbiBMZW5vdm8gU2xpbSA3LlxuXG5QbGVhc2UgUmVwb3J0IFByb2JsZW1zIG9yIGlzc3VlcyBvbiBHaXRsYWIgYXQ6XG5cbmh0dHBzOi8vZ2l0bGFiLmNvbS9hbm5leGhhY2svY29uc2VydmF0aW9uLW1vZGUtbGVub3ZvIiwKICAibmFtZSI6ICJpZGVhcGFkIG1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2FubmV4aGFjay9jb25zZXJ2YXRpb24tbW9kZS1sZW5vdm8iLAogICJ1dWlkIjogImlkZWFwYWQtbW9kZUBhbm5leGhhY2suaW5jZXB0aXZlLnJ1IiwKICAidmVyc2lvbiI6IDMKfQ=="}, "41": {"version": "3", "sha256": "0hd0rqkrly27c2bqg7403ng192blrcidb2hrykx4i170i2x604fv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYXJnbmluZyBtb2RlIGluZGljYXRvciBmb3IgbGFwdG9wcy4gQWxsb3dzIHRvIHN3aXRjaCB0aGUgY2hhcmdpbmcgbW9kZSBmcm9tIGNvbnNlcnZhdGl2ZSBvciBoZWFsdGh5IHRvIG5vcm1hbCBtb2RlLiBJbmRpY2F0ZXMgYWxzbyB3aGljaCBtb2RlIHlvdSBhcmUgdXNpbmcgbm93LiBXb3JrcyBvbiBMZW5vdm8gU2xpbSA3LlxuXG5QbGVhc2UgUmVwb3J0IFByb2JsZW1zIG9yIGlzc3VlcyBvbiBHaXRsYWIgYXQ6XG5cbmh0dHBzOi8vZ2l0bGFiLmNvbS9hbm5leGhhY2svY29uc2VydmF0aW9uLW1vZGUtbGVub3ZvIiwKICAibmFtZSI6ICJpZGVhcGFkIG1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2FubmV4aGFjay9jb25zZXJ2YXRpb24tbW9kZS1sZW5vdm8iLAogICJ1dWlkIjogImlkZWFwYWQtbW9kZUBhbm5leGhhY2suaW5jZXB0aXZlLnJ1IiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
+, {"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": "6", "sha256": "1ppbhr9qshc9wmk9y8y4nsi1rm65xy5q72v1sg1nq6sz3r45imml", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgYWRkcyBkZXNrdG9wIGljb25zIHRvIEdOT01FLiBBIGZvcmsgb2YgRGVza3RvcCBJY29ucyBORyB3aXRoIGEgbWFzc2l2ZSBhbW91bnQgb2YgY3VzdG9taXphdGlvbnMgKGxpa2UgaWNvbiBzaGFwZXMgYW5kIGN1cnZlZCBjb3JuZXJzKSwgZmVhdHVyZXMsIGJ1ZyBmaXhlcywgYW5kIG92ZXJhbGwgcG9saXNoLiIsCiAgIm5hbWUiOiAiRGVza3RvcCBJY29uczogTmVvIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ERU0wTkFzc2lzc2FuNy9kZXNrdG9wLWljb25zLW5lbyIsCiAgInV1aWQiOiAiZGVza3RvcGljb25zLW5lb0BkYXJrZGVtb24iLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "1ppbhr9qshc9wmk9y8y4nsi1rm65xy5q72v1sg1nq6sz3r45imml", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgYWRkcyBkZXNrdG9wIGljb25zIHRvIEdOT01FLiBBIGZvcmsgb2YgRGVza3RvcCBJY29ucyBORyB3aXRoIGEgbWFzc2l2ZSBhbW91bnQgb2YgY3VzdG9taXphdGlvbnMgKGxpa2UgaWNvbiBzaGFwZXMgYW5kIGN1cnZlZCBjb3JuZXJzKSwgZmVhdHVyZXMsIGJ1ZyBmaXhlcywgYW5kIG92ZXJhbGwgcG9saXNoLiIsCiAgIm5hbWUiOiAiRGVza3RvcCBJY29uczogTmVvIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ERU0wTkFzc2lzc2FuNy9kZXNrdG9wLWljb25zLW5lbyIsCiAgInV1aWQiOiAiZGVza3RvcGljb25zLW5lb0BkYXJrZGVtb24iLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "1ppbhr9qshc9wmk9y8y4nsi1rm65xy5q72v1sg1nq6sz3r45imml", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgYWRkcyBkZXNrdG9wIGljb25zIHRvIEdOT01FLiBBIGZvcmsgb2YgRGVza3RvcCBJY29ucyBORyB3aXRoIGEgbWFzc2l2ZSBhbW91bnQgb2YgY3VzdG9taXphdGlvbnMgKGxpa2UgaWNvbiBzaGFwZXMgYW5kIGN1cnZlZCBjb3JuZXJzKSwgZmVhdHVyZXMsIGJ1ZyBmaXhlcywgYW5kIG92ZXJhbGwgcG9saXNoLiIsCiAgIm5hbWUiOiAiRGVza3RvcCBJY29uczogTmVvIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ERU0wTkFzc2lzc2FuNy9kZXNrdG9wLWljb25zLW5lbyIsCiAgInV1aWQiOiAiZGVza3RvcGljb25zLW5lb0BkYXJrZGVtb24iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"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": "3", "sha256": "1q98dnw4gbn7ajbnkic5az55np95gn1pd3f7bigyl9nxc6wyimvi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHJlbW90ZSBkZXNrdG9wIGNvbm5lY3Rpb25zIHdoZW4gdGhlIHNjcmVlbiBpcyBsb2NrZWQiLAogICJuYW1lIjogIkFsbG93IExvY2tlZCBSZW1vdGUgRGVza3RvcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFsbG93bG9ja2VkcmVtb3RlZGVza3RvcEBrYW1lbnMudXMiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "1q98dnw4gbn7ajbnkic5az55np95gn1pd3f7bigyl9nxc6wyimvi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHJlbW90ZSBkZXNrdG9wIGNvbm5lY3Rpb25zIHdoZW4gdGhlIHNjcmVlbiBpcyBsb2NrZWQiLAogICJuYW1lIjogIkFsbG93IExvY2tlZCBSZW1vdGUgRGVza3RvcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFsbG93bG9ja2VkcmVtb3RlZGVza3RvcEBrYW1lbnMudXMiLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "1q98dnw4gbn7ajbnkic5az55np95gn1pd3f7bigyl9nxc6wyimvi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHJlbW90ZSBkZXNrdG9wIGNvbm5lY3Rpb25zIHdoZW4gdGhlIHNjcmVlbiBpcyBsb2NrZWQiLAogICJuYW1lIjogIkFsbG93IExvY2tlZCBSZW1vdGUgRGVza3RvcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFsbG93bG9ja2VkcmVtb3RlZGVza3RvcEBrYW1lbnMudXMiLAogICJ2ZXJzaW9uIjogMwp9"}}}
@@ -537,7 +538,7 @@
 , {"uuid": "fullscreen-avoider@noobsai.github.com", "name": "Fullscreen Avoider", "pname": "fullscreen-avoider", "description": "Moves the top panel to the secondary monitor if the primary is in fullscreen", "link": "https://extensions.gnome.org/extension/4362/fullscreen-avoider/", "shell_version_map": {"38": {"version": "4", "sha256": "10vm28p2xpvwhzyjw1yfpgsbhahg1w673n73kq9ndx5vlnf9fji9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRoZSB0b3AgcGFuZWwgdG8gdGhlIHNlY29uZGFyeSBtb25pdG9yIGlmIHRoZSBwcmltYXJ5IGlzIGluIGZ1bGxzY3JlZW4iLAogICJleHRlbnNpb24taWQiOiAiZnVsbHNjcmVlbi1hdm9pZGVyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBBdm9pZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW4tYXZvaWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL05vb2JzYWkvZnVsbHNjcmVlbi1hdm9pZGVyIiwKICAidXVpZCI6ICJmdWxsc2NyZWVuLWF2b2lkZXJAbm9vYnNhaS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "6", "sha256": "04vlmrwlv58ps3v0flc2m8l18q52kz3yyk6yh9i543aiknprm40x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRoZSB0b3AgcGFuZWwgdG8gdGhlIHNlY29uZGFyeSBtb25pdG9yIGlmIHRoZSBwcmltYXJ5IGlzIGluIGZ1bGxzY3JlZW4iLAogICJleHRlbnNpb24taWQiOiAiZnVsbHNjcmVlbi1hdm9pZGVyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBBdm9pZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW4tYXZvaWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTm9vYnNhaS9mdWxsc2NyZWVuLWF2b2lkZXIiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4tYXZvaWRlckBub29ic2FpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "04vlmrwlv58ps3v0flc2m8l18q52kz3yyk6yh9i543aiknprm40x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRoZSB0b3AgcGFuZWwgdG8gdGhlIHNlY29uZGFyeSBtb25pdG9yIGlmIHRoZSBwcmltYXJ5IGlzIGluIGZ1bGxzY3JlZW4iLAogICJleHRlbnNpb24taWQiOiAiZnVsbHNjcmVlbi1hdm9pZGVyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBBdm9pZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW4tYXZvaWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTm9vYnNhaS9mdWxsc2NyZWVuLWF2b2lkZXIiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4tYXZvaWRlckBub29ic2FpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "shell-isw@zamraky.cz", "name": "MSI Fan Control", "pname": "msi-fan-control", "description": "Use isw to change MSI laptop fan settings", "link": "https://extensions.gnome.org/extension/4363/msi-fan-control/", "shell_version_map": {"38": {"version": "1", "sha256": "0pl9dxwkw47r4c0f5sxjhh8bxl82r0sjlwsji7pwypkb6m0hh342", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVzZSBpc3cgdG8gY2hhbmdlIE1TSSBsYXB0b3AgZmFuIHNldHRpbmdzIiwKICAibmFtZSI6ICJNU0kgRmFuIENvbnRyb2wiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic2hlbGwtaXN3QHphbXJha3kuY3oiLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "vertical-window-list@student.gitlab.com", "name": "Vertical Window List", "pname": "vertical-window-list", "description": "Displays opened windows in vertical panel with productivity perks\n\n- left click to open favorites/activate window\n- right click to close\n- middle click to rename\n- drag-and-drop to re-arrange\n- Alt-Tab to cycle\n- adjust panel width, transparency and icon size in extension settings", "link": "https://extensions.gnome.org/extension/4369/vertical-window-list/", "shell_version_map": {"40": {"version": "7", "sha256": "1gakw5c0gjygj61h9lhd3s7vg14vry055qnxrrdvm6vaingkzqhr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIG9wZW5lZCB3aW5kb3dzIGluIHZlcnRpY2FsIHBhbmVsIHdpdGggcHJvZHVjdGl2aXR5IHBlcmtzXG5cbi0gbGVmdCBjbGljayB0byBvcGVuIGZhdm9yaXRlcy9hY3RpdmF0ZSB3aW5kb3dcbi0gcmlnaHQgY2xpY2sgdG8gY2xvc2Vcbi0gbWlkZGxlIGNsaWNrIHRvIHJlbmFtZVxuLSBkcmFnLWFuZC1kcm9wIHRvIHJlLWFycmFuZ2Vcbi0gQWx0LVRhYiB0byBjeWNsZVxuLSBhZGp1c3QgcGFuZWwgd2lkdGgsIHRyYW5zcGFyZW5jeSBhbmQgaWNvbiBzaXplIGluIGV4dGVuc2lvbiBzZXR0aW5ncyIsCiAgIm5hbWUiOiAiVmVydGljYWwgV2luZG93IExpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3N0dWRlbnQvdmVydGljYWwtd2luZG93LWxpc3QiLAogICJ1dWlkIjogInZlcnRpY2FsLXdpbmRvdy1saXN0QHN0dWRlbnQuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "1gakw5c0gjygj61h9lhd3s7vg14vry055qnxrrdvm6vaingkzqhr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIG9wZW5lZCB3aW5kb3dzIGluIHZlcnRpY2FsIHBhbmVsIHdpdGggcHJvZHVjdGl2aXR5IHBlcmtzXG5cbi0gbGVmdCBjbGljayB0byBvcGVuIGZhdm9yaXRlcy9hY3RpdmF0ZSB3aW5kb3dcbi0gcmlnaHQgY2xpY2sgdG8gY2xvc2Vcbi0gbWlkZGxlIGNsaWNrIHRvIHJlbmFtZVxuLSBkcmFnLWFuZC1kcm9wIHRvIHJlLWFycmFuZ2Vcbi0gQWx0LVRhYiB0byBjeWNsZVxuLSBhZGp1c3QgcGFuZWwgd2lkdGgsIHRyYW5zcGFyZW5jeSBhbmQgaWNvbiBzaXplIGluIGV4dGVuc2lvbiBzZXR0aW5ncyIsCiAgIm5hbWUiOiAiVmVydGljYWwgV2luZG93IExpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3N0dWRlbnQvdmVydGljYWwtd2luZG93LWxpc3QiLAogICJ1dWlkIjogInZlcnRpY2FsLXdpbmRvdy1saXN0QHN0dWRlbnQuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
-, {"uuid": "ShutdownTimer@deminder", "name": "Shutdown Timer", "pname": "shutdowntimer", "description": "Shutdown/reboot/suspend the device after a specific time or wake with a rtc alarm.\n\nThe lock-screen will not interrupt the timer. A privileged control script may be installed to control shutdown and rtcwake as user. Additionally, a check command may be configured before shutdown.", "link": "https://extensions.gnome.org/extension/4372/shutdowntimer/", "shell_version_map": {"38": {"version": "19", "sha256": "1p2wg2xvm3vzpg2v1d5nk6s6p3k90k94xq42q224x0lp129la5fp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3JlYm9vdC9zdXNwZW5kIHRoZSBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lIG9yIHdha2Ugd2l0aCBhIHJ0YyBhbGFybS5cblxuVGhlIGxvY2stc2NyZWVuIHdpbGwgbm90IGludGVycnVwdCB0aGUgdGltZXIuIEEgcHJpdmlsZWdlZCBjb250cm9sIHNjcmlwdCBtYXkgYmUgaW5zdGFsbGVkIHRvIGNvbnRyb2wgc2h1dGRvd24gYW5kIHJ0Y3dha2UgYXMgdXNlci4gQWRkaXRpb25hbGx5LCBhIGNoZWNrIGNvbW1hbmQgbWF5IGJlIGNvbmZpZ3VyZWQgYmVmb3JlIHNodXRkb3duLiIsCiAgImdldHRleHQtZG9tYWluIjogIlNodXRkb3duVGltZXIiLAogICJuYW1lIjogIlNodXRkb3duIFRpbWVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNodXRkb3dudGltZXItZGVtaW5kZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0RlbWluZGVyL1NodXRkb3duVGltZXIiLAogICJ1dWlkIjogIlNodXRkb3duVGltZXJAZGVtaW5kZXIiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "40": {"version": "19", "sha256": "1p2wg2xvm3vzpg2v1d5nk6s6p3k90k94xq42q224x0lp129la5fp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3JlYm9vdC9zdXNwZW5kIHRoZSBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lIG9yIHdha2Ugd2l0aCBhIHJ0YyBhbGFybS5cblxuVGhlIGxvY2stc2NyZWVuIHdpbGwgbm90IGludGVycnVwdCB0aGUgdGltZXIuIEEgcHJpdmlsZWdlZCBjb250cm9sIHNjcmlwdCBtYXkgYmUgaW5zdGFsbGVkIHRvIGNvbnRyb2wgc2h1dGRvd24gYW5kIHJ0Y3dha2UgYXMgdXNlci4gQWRkaXRpb25hbGx5LCBhIGNoZWNrIGNvbW1hbmQgbWF5IGJlIGNvbmZpZ3VyZWQgYmVmb3JlIHNodXRkb3duLiIsCiAgImdldHRleHQtZG9tYWluIjogIlNodXRkb3duVGltZXIiLAogICJuYW1lIjogIlNodXRkb3duIFRpbWVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNodXRkb3dudGltZXItZGVtaW5kZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0RlbWluZGVyL1NodXRkb3duVGltZXIiLAogICJ1dWlkIjogIlNodXRkb3duVGltZXJAZGVtaW5kZXIiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "41": {"version": "19", "sha256": "1p2wg2xvm3vzpg2v1d5nk6s6p3k90k94xq42q224x0lp129la5fp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3JlYm9vdC9zdXNwZW5kIHRoZSBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lIG9yIHdha2Ugd2l0aCBhIHJ0YyBhbGFybS5cblxuVGhlIGxvY2stc2NyZWVuIHdpbGwgbm90IGludGVycnVwdCB0aGUgdGltZXIuIEEgcHJpdmlsZWdlZCBjb250cm9sIHNjcmlwdCBtYXkgYmUgaW5zdGFsbGVkIHRvIGNvbnRyb2wgc2h1dGRvd24gYW5kIHJ0Y3dha2UgYXMgdXNlci4gQWRkaXRpb25hbGx5LCBhIGNoZWNrIGNvbW1hbmQgbWF5IGJlIGNvbmZpZ3VyZWQgYmVmb3JlIHNodXRkb3duLiIsCiAgImdldHRleHQtZG9tYWluIjogIlNodXRkb3duVGltZXIiLAogICJuYW1lIjogIlNodXRkb3duIFRpbWVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNodXRkb3dudGltZXItZGVtaW5kZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0RlbWluZGVyL1NodXRkb3duVGltZXIiLAogICJ1dWlkIjogIlNodXRkb3duVGltZXJAZGVtaW5kZXIiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
+, {"uuid": "ShutdownTimer@deminder", "name": "Shutdown Timer", "pname": "shutdowntimer", "description": "Shutdown/reboot/suspend the device after a specific time or wake with a rtc alarm.\n\nThe screen-saver will not interrupt the timer. A privileged control script may be installed to control shutdown and rtcwake as user. Additionally, a check command may be configured before shutdown.", "link": "https://extensions.gnome.org/extension/4372/shutdowntimer/", "shell_version_map": {"38": {"version": "19", "sha256": "1jagvd6a4xw0vm18qi6czfglp16bywms1y55vii2dwvb1xlm4sjz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3JlYm9vdC9zdXNwZW5kIHRoZSBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lIG9yIHdha2Ugd2l0aCBhIHJ0YyBhbGFybS5cblxuVGhlIHNjcmVlbi1zYXZlciB3aWxsIG5vdCBpbnRlcnJ1cHQgdGhlIHRpbWVyLiBBIHByaXZpbGVnZWQgY29udHJvbCBzY3JpcHQgbWF5IGJlIGluc3RhbGxlZCB0byBjb250cm9sIHNodXRkb3duIGFuZCBydGN3YWtlIGFzIHVzZXIuIEFkZGl0aW9uYWxseSwgYSBjaGVjayBjb21tYW5kIG1heSBiZSBjb25maWd1cmVkIGJlZm9yZSBzaHV0ZG93bi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTaHV0ZG93blRpbWVyIiwKICAibmFtZSI6ICJTaHV0ZG93biBUaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLWRlbWluZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9EZW1pbmRlci9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQGRlbWluZGVyIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "40": {"version": "19", "sha256": "1jagvd6a4xw0vm18qi6czfglp16bywms1y55vii2dwvb1xlm4sjz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3JlYm9vdC9zdXNwZW5kIHRoZSBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lIG9yIHdha2Ugd2l0aCBhIHJ0YyBhbGFybS5cblxuVGhlIHNjcmVlbi1zYXZlciB3aWxsIG5vdCBpbnRlcnJ1cHQgdGhlIHRpbWVyLiBBIHByaXZpbGVnZWQgY29udHJvbCBzY3JpcHQgbWF5IGJlIGluc3RhbGxlZCB0byBjb250cm9sIHNodXRkb3duIGFuZCBydGN3YWtlIGFzIHVzZXIuIEFkZGl0aW9uYWxseSwgYSBjaGVjayBjb21tYW5kIG1heSBiZSBjb25maWd1cmVkIGJlZm9yZSBzaHV0ZG93bi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTaHV0ZG93blRpbWVyIiwKICAibmFtZSI6ICJTaHV0ZG93biBUaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLWRlbWluZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9EZW1pbmRlci9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQGRlbWluZGVyIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "41": {"version": "19", "sha256": "1jagvd6a4xw0vm18qi6czfglp16bywms1y55vii2dwvb1xlm4sjz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3JlYm9vdC9zdXNwZW5kIHRoZSBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lIG9yIHdha2Ugd2l0aCBhIHJ0YyBhbGFybS5cblxuVGhlIHNjcmVlbi1zYXZlciB3aWxsIG5vdCBpbnRlcnJ1cHQgdGhlIHRpbWVyLiBBIHByaXZpbGVnZWQgY29udHJvbCBzY3JpcHQgbWF5IGJlIGluc3RhbGxlZCB0byBjb250cm9sIHNodXRkb3duIGFuZCBydGN3YWtlIGFzIHVzZXIuIEFkZGl0aW9uYWxseSwgYSBjaGVjayBjb21tYW5kIG1heSBiZSBjb25maWd1cmVkIGJlZm9yZSBzaHV0ZG93bi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTaHV0ZG93blRpbWVyIiwKICAibmFtZSI6ICJTaHV0ZG93biBUaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLWRlbWluZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9EZW1pbmRlci9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQGRlbWluZGVyIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "42": {"version": "22", "sha256": "0g9qb52i8bbi5sqadarmc8sfgicryjjw13ys8q6nlhvqb4albmqc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3JlYm9vdC9zdXNwZW5kIHRoZSBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lIG9yIHdha2Ugd2l0aCBhIHJ0YyBhbGFybS5cblxuVGhlIHNjcmVlbi1zYXZlciB3aWxsIG5vdCBpbnRlcnJ1cHQgdGhlIHRpbWVyLiBBIHByaXZpbGVnZWQgY29udHJvbCBzY3JpcHQgbWF5IGJlIGluc3RhbGxlZCB0byBjb250cm9sIHNodXRkb3duIGFuZCBydGN3YWtlIGFzIHVzZXIuIEFkZGl0aW9uYWxseSwgYSBjaGVjayBjb21tYW5kIG1heSBiZSBjb25maWd1cmVkIGJlZm9yZSBzaHV0ZG93bi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTaHV0ZG93blRpbWVyIiwKICAibmFtZSI6ICJTaHV0ZG93biBUaW1lciIsCiAgInNlc3Npb24tbW9kZXMiOiBbCiAgICAidXNlciIsCiAgICAidW5sb2NrLWRpYWxvZyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2h1dGRvd250aW1lci1kZW1pbmRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9EZW1pbmRlci9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQGRlbWluZGVyIiwKICAidmVyc2lvbiI6IDIyCn0="}}}
 , {"uuid": "docker_status2@gpouilloux", "name": "Docker Integration", "pname": "docker-integration", "description": "A status menu for managing docker containers.", "link": "https://extensions.gnome.org/extension/4374/docker-integration/", "shell_version_map": {"40": {"version": "1", "sha256": "1ia763h3wbc3d3p9ddb1b9rg5f486y5x3m2k4pblq9f9ca9cjrdy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc3RhdHVzIG1lbnUgZm9yIG1hbmFnaW5nIGRvY2tlciBjb250YWluZXJzLiIsCiAgIm5hbWUiOiAiRG9ja2VyIEludGVncmF0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ3BvdWlsbG91eC9nbm9tZS1zaGVsbC1leHRlbnNpb24tZG9ja2VyIiwKICAidXVpZCI6ICJkb2NrZXJfc3RhdHVzMkBncG91aWxsb3V4IiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "bifocals@shiznatix", "name": "Bifocals", "pname": "bifocals", "description": "Gnome extension adding more window management keyboard shortcuts.\n\n* Left / right 'view split' anchoring cycles through 3 sizes: 1/3, 1/2, and 2/3 of the current screen width.\n*Adds 'mid screen' of centering the window with 3/4 screen height and width.", "link": "https://extensions.gnome.org/extension/4375/bifocals/", "shell_version_map": {"38": {"version": "1", "sha256": "02j0if3bwaws0svaz98054jznrx9pj8zkhy4avsnnhchv2dwmgdi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIGV4dGVuc2lvbiBhZGRpbmcgbW9yZSB3aW5kb3cgbWFuYWdlbWVudCBrZXlib2FyZCBzaG9ydGN1dHMuXG5cbiogTGVmdCAvIHJpZ2h0ICd2aWV3IHNwbGl0JyBhbmNob3JpbmcgY3ljbGVzIHRocm91Z2ggMyBzaXplczogMS8zLCAxLzIsIGFuZCAyLzMgb2YgdGhlIGN1cnJlbnQgc2NyZWVuIHdpZHRoLlxuKkFkZHMgJ21pZCBzY3JlZW4nIG9mIGNlbnRlcmluZyB0aGUgd2luZG93IHdpdGggMy80IHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoLiIsCiAgIm5hbWUiOiAiQmlmb2NhbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2hpem5hdGl4L2JpZm9jYWxzLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYmlmb2NhbHNAc2hpem5hdGl4IiwKICAidmVyc2lvbiI6IDEKfQ=="}, "40": {"version": "1", "sha256": "02j0if3bwaws0svaz98054jznrx9pj8zkhy4avsnnhchv2dwmgdi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIGV4dGVuc2lvbiBhZGRpbmcgbW9yZSB3aW5kb3cgbWFuYWdlbWVudCBrZXlib2FyZCBzaG9ydGN1dHMuXG5cbiogTGVmdCAvIHJpZ2h0ICd2aWV3IHNwbGl0JyBhbmNob3JpbmcgY3ljbGVzIHRocm91Z2ggMyBzaXplczogMS8zLCAxLzIsIGFuZCAyLzMgb2YgdGhlIGN1cnJlbnQgc2NyZWVuIHdpZHRoLlxuKkFkZHMgJ21pZCBzY3JlZW4nIG9mIGNlbnRlcmluZyB0aGUgd2luZG93IHdpdGggMy80IHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoLiIsCiAgIm5hbWUiOiAiQmlmb2NhbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2hpem5hdGl4L2JpZm9jYWxzLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYmlmb2NhbHNAc2hpem5hdGl4IiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "kubectl-context@bernot.dev", "name": "kubectl context", "pname": "kubectl-context", "description": "Displays kubectl current-context", "link": "https://extensions.gnome.org/extension/4377/kubectl-context/", "shell_version_map": {"38": {"version": "1", "sha256": "1040dy3m5bpbqqgc60a3l5ia4g0cddfvd8iwiwxm4f7hbi9kksk8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGt1YmVjdGwgY3VycmVudC1jb250ZXh0IiwKICAibmFtZSI6ICJrdWJlY3RsIGNvbnRleHQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iZXJub3QtZGV2L2t1YmVjdGwtY29udGV4dCIsCiAgInV1aWQiOiAia3ViZWN0bC1jb250ZXh0QGJlcm5vdC5kZXYiLAogICJ2ZXJzaW9uIjogMQp9"}}}
@@ -548,13 +549,13 @@
 , {"uuid": "move-ws-switcher-popup@G-dH.github.com", "name": "Move WS Switcher Popup", "pname": "move-ws-switcher-popup", "description": "Move the workspace switcher popup out of the screen center - down for horizontal layout (Gnome 40), to the right for vertical (Gnome 3)", "link": "https://extensions.gnome.org/extension/4396/move-ws-switcher-popup/", "shell_version_map": {"38": {"version": "1", "sha256": "0nsw8qn30rqavnlvfpzvl3qr3rb3mnsqnxwcagdapx9qs10c3g81", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCBvdXQgb2YgdGhlIHNjcmVlbiBjZW50ZXIgLSBkb3duIGZvciBob3Jpem9udGFsIGxheW91dCAoR25vbWUgNDApLCB0byB0aGUgcmlnaHQgZm9yIHZlcnRpY2FsIChHbm9tZSAzKSIsCiAgIm5hbWUiOiAiTW92ZSBXUyBTd2l0Y2hlciBQb3B1cCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibW92ZS13cy1zd2l0Y2hlci1wb3B1cEBHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}, "40": {"version": "1", "sha256": "0nsw8qn30rqavnlvfpzvl3qr3rb3mnsqnxwcagdapx9qs10c3g81", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCBvdXQgb2YgdGhlIHNjcmVlbiBjZW50ZXIgLSBkb3duIGZvciBob3Jpem9udGFsIGxheW91dCAoR25vbWUgNDApLCB0byB0aGUgcmlnaHQgZm9yIHZlcnRpY2FsIChHbm9tZSAzKSIsCiAgIm5hbWUiOiAiTW92ZSBXUyBTd2l0Y2hlciBQb3B1cCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibW92ZS13cy1zd2l0Y2hlci1wb3B1cEBHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "move-workspaceSwitcherPopup@GithubUser699.github.com", "name": "Move Workspace Switcher Popup", "pname": "move-workspace-switcher-popup", "description": "Change the position of the WorkspaceSwitcherPopup", "link": "https://extensions.gnome.org/extension/4401/move-workspace-switcher-popup/", "shell_version_map": {"38": {"version": "3", "sha256": "0i2wd06b8x85jblcd1mhh4vwz5s6isilq1p54bl93nvawqixrf2m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgcG9zaXRpb24gb2YgdGhlIFdvcmtzcGFjZVN3aXRjaGVyUG9wdXAiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJtb3ZlLXdvcmtzcGFjZXN3aXRjaGVycG9wdXAiLAogICJuYW1lIjogIk1vdmUgV29ya3NwYWNlIFN3aXRjaGVyIFBvcHVwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0dpdGh1YlVzZXI2OTkvTW92ZS13b3Jrc3BhY2VTd2l0Y2hlclBvcHVwLUdOT01FLUV4dGVuc2lvbiIsCiAgInV1aWQiOiAibW92ZS13b3Jrc3BhY2VTd2l0Y2hlclBvcHVwQEdpdGh1YlVzZXI2OTkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "0i2wd06b8x85jblcd1mhh4vwz5s6isilq1p54bl93nvawqixrf2m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgcG9zaXRpb24gb2YgdGhlIFdvcmtzcGFjZVN3aXRjaGVyUG9wdXAiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJtb3ZlLXdvcmtzcGFjZXN3aXRjaGVycG9wdXAiLAogICJuYW1lIjogIk1vdmUgV29ya3NwYWNlIFN3aXRjaGVyIFBvcHVwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0dpdGh1YlVzZXI2OTkvTW92ZS13b3Jrc3BhY2VTd2l0Y2hlclBvcHVwLUdOT01FLUV4dGVuc2lvbiIsCiAgInV1aWQiOiAibW92ZS13b3Jrc3BhY2VTd2l0Y2hlclBvcHVwQEdpdGh1YlVzZXI2OTkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "print-website@ermeso.com", "name": "Print Website", "pname": "print-website", "description": "A extension for print websites.", "link": "https://extensions.gnome.org/extension/4404/print-website/", "shell_version_map": {"40": {"version": "9", "sha256": "1cg1awvfyhhc7ri7vppsjr28c1zwgw9rasyv1jcclgxr558n3n6w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZXh0ZW5zaW9uIGZvciBwcmludCB3ZWJzaXRlcy4iLAogICJuYW1lIjogIlByaW50IFdlYnNpdGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXJtZXNvbnNhbXBhaW8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXByaW50LXdlYnNpdGUiLAogICJ1dWlkIjogInByaW50LXdlYnNpdGVAZXJtZXNvLmNvbSIsCiAgInZlcnNpb24iOiA5Cn0="}}}
-, {"uuid": "replaceActivitiesText@pratap.fastmail.fm", "name": "Replace Activities Text", "pname": "replace-activities-text", "description": "A Simple Extension to Change 'Activities' Label with Logo and Text.\nYou can Keep Either\n1. Logo or\n2. Text or\n3. Both or\n4. None at all", "link": "https://extensions.gnome.org/extension/4405/replace-activities-text/", "shell_version_map": {"38": {"version": "8", "sha256": "04adx4043d3ni510h44pi3gr0k15a4n0zwr4k5fxisr4yjl1510w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgU2ltcGxlIEV4dGVuc2lvbiB0byBDaGFuZ2UgJ0FjdGl2aXRpZXMnIExhYmVsIHdpdGggTG9nbyBhbmQgVGV4dC5cbllvdSBjYW4gS2VlcCBFaXRoZXJcbjEuIExvZ28gb3JcbjIuIFRleHQgb3JcbjMuIEJvdGggb3JcbjQuIE5vbmUgYXQgYWxsIiwKICAibmFtZSI6ICJSZXBsYWNlIEFjdGl2aXRpZXMgVGV4dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9BY3Rpdml0aWVzVGV4dCIsCiAgInV1aWQiOiAicmVwbGFjZUFjdGl2aXRpZXNUZXh0QHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiA4Cn0="}, "40": {"version": "10", "sha256": "0fkpphd6ly5n7fybrla1a31sqg10cdll44ilz1vc1achphmbxlk6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgU2ltcGxlIEV4dGVuc2lvbiB0byBDaGFuZ2UgJ0FjdGl2aXRpZXMnIExhYmVsIHdpdGggTG9nbyBhbmQgVGV4dC5cbllvdSBjYW4gS2VlcCBFaXRoZXJcbjEuIExvZ28gb3JcbjIuIFRleHQgb3JcbjMuIEJvdGggb3JcbjQuIE5vbmUgYXQgYWxsIiwKICAibmFtZSI6ICJSZXBsYWNlIEFjdGl2aXRpZXMgVGV4dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFJBVEFQLUtVTUFSL0FjdGl2aXRpZXNUZXh0IiwKICAidXVpZCI6ICJyZXBsYWNlQWN0aXZpdGllc1RleHRAcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "0fkpphd6ly5n7fybrla1a31sqg10cdll44ilz1vc1achphmbxlk6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgU2ltcGxlIEV4dGVuc2lvbiB0byBDaGFuZ2UgJ0FjdGl2aXRpZXMnIExhYmVsIHdpdGggTG9nbyBhbmQgVGV4dC5cbllvdSBjYW4gS2VlcCBFaXRoZXJcbjEuIExvZ28gb3JcbjIuIFRleHQgb3JcbjMuIEJvdGggb3JcbjQuIE5vbmUgYXQgYWxsIiwKICAibmFtZSI6ICJSZXBsYWNlIEFjdGl2aXRpZXMgVGV4dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFJBVEFQLUtVTUFSL0FjdGl2aXRpZXNUZXh0IiwKICAidXVpZCI6ICJyZXBsYWNlQWN0aXZpdGllc1RleHRAcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
-, {"uuid": "appMenuIcon@pratap.fastmail.fm", "name": "Colored Application Menu Icon", "pname": "app-menu-icon-remove-symbolic", "description": "Remove Symbolic Icons and Saturation Effect for App Menu Icon", "link": "https://extensions.gnome.org/extension/4408/app-menu-icon-remove-symbolic/", "shell_version_map": {"38": {"version": "2", "sha256": "1ggj4c7knbsjwg7n1g7sqjz188ivlihsq8p2a8jd71iw49b917cj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBTeW1ib2xpYyBJY29ucyBhbmQgU2F0dXJhdGlvbiBFZmZlY3QgZm9yIEFwcCBNZW51IEljb24iLAogICJuYW1lIjogIkNvbG9yZWQgQXBwbGljYXRpb24gTWVudSBJY29uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYXBwTWVudUljb25AcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "1ggj4c7knbsjwg7n1g7sqjz188ivlihsq8p2a8jd71iw49b917cj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBTeW1ib2xpYyBJY29ucyBhbmQgU2F0dXJhdGlvbiBFZmZlY3QgZm9yIEFwcCBNZW51IEljb24iLAogICJuYW1lIjogIkNvbG9yZWQgQXBwbGljYXRpb24gTWVudSBJY29uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYXBwTWVudUljb25AcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "1ggj4c7knbsjwg7n1g7sqjz188ivlihsq8p2a8jd71iw49b917cj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBTeW1ib2xpYyBJY29ucyBhbmQgU2F0dXJhdGlvbiBFZmZlY3QgZm9yIEFwcCBNZW51IEljb24iLAogICJuYW1lIjogIkNvbG9yZWQgQXBwbGljYXRpb24gTWVudSBJY29uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYXBwTWVudUljb25AcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
+, {"uuid": "replaceActivitiesText@pratap.fastmail.fm", "name": "Replace Activities Text", "pname": "replace-activities-text", "description": "A Simple Extension to Change 'Activities' Label with Logo and Text.\nYou can Keep Either\n1. Logo or\n2. Text or\n3. Both or\n4. None at all", "link": "https://extensions.gnome.org/extension/4405/replace-activities-text/", "shell_version_map": {"38": {"version": "8", "sha256": "04adx4043d3ni510h44pi3gr0k15a4n0zwr4k5fxisr4yjl1510w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgU2ltcGxlIEV4dGVuc2lvbiB0byBDaGFuZ2UgJ0FjdGl2aXRpZXMnIExhYmVsIHdpdGggTG9nbyBhbmQgVGV4dC5cbllvdSBjYW4gS2VlcCBFaXRoZXJcbjEuIExvZ28gb3JcbjIuIFRleHQgb3JcbjMuIEJvdGggb3JcbjQuIE5vbmUgYXQgYWxsIiwKICAibmFtZSI6ICJSZXBsYWNlIEFjdGl2aXRpZXMgVGV4dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9BY3Rpdml0aWVzVGV4dCIsCiAgInV1aWQiOiAicmVwbGFjZUFjdGl2aXRpZXNUZXh0QHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiA4Cn0="}, "40": {"version": "11", "sha256": "0gvmi2np73rq7hvxvzyy4rzn4vsb3ylr67k6r48rmr0axg2nkicx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgU2ltcGxlIEV4dGVuc2lvbiB0byBDaGFuZ2UgJ0FjdGl2aXRpZXMnIExhYmVsIHdpdGggTG9nbyBhbmQgVGV4dC5cbllvdSBjYW4gS2VlcCBFaXRoZXJcbjEuIExvZ28gb3JcbjIuIFRleHQgb3JcbjMuIEJvdGggb3JcbjQuIE5vbmUgYXQgYWxsIiwKICAibmFtZSI6ICJSZXBsYWNlIEFjdGl2aXRpZXMgVGV4dCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yZXBsYWNlQWN0aXZpdGllc1RleHQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QUkFUQVAtS1VNQVIvQWN0aXZpdGllc1RleHQiLAogICJ1dWlkIjogInJlcGxhY2VBY3Rpdml0aWVzVGV4dEBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "41": {"version": "11", "sha256": "0gvmi2np73rq7hvxvzyy4rzn4vsb3ylr67k6r48rmr0axg2nkicx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgU2ltcGxlIEV4dGVuc2lvbiB0byBDaGFuZ2UgJ0FjdGl2aXRpZXMnIExhYmVsIHdpdGggTG9nbyBhbmQgVGV4dC5cbllvdSBjYW4gS2VlcCBFaXRoZXJcbjEuIExvZ28gb3JcbjIuIFRleHQgb3JcbjMuIEJvdGggb3JcbjQuIE5vbmUgYXQgYWxsIiwKICAibmFtZSI6ICJSZXBsYWNlIEFjdGl2aXRpZXMgVGV4dCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yZXBsYWNlQWN0aXZpdGllc1RleHQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QUkFUQVAtS1VNQVIvQWN0aXZpdGllc1RleHQiLAogICJ1dWlkIjogInJlcGxhY2VBY3Rpdml0aWVzVGV4dEBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "42": {"version": "11", "sha256": "0gvmi2np73rq7hvxvzyy4rzn4vsb3ylr67k6r48rmr0axg2nkicx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgU2ltcGxlIEV4dGVuc2lvbiB0byBDaGFuZ2UgJ0FjdGl2aXRpZXMnIExhYmVsIHdpdGggTG9nbyBhbmQgVGV4dC5cbllvdSBjYW4gS2VlcCBFaXRoZXJcbjEuIExvZ28gb3JcbjIuIFRleHQgb3JcbjMuIEJvdGggb3JcbjQuIE5vbmUgYXQgYWxsIiwKICAibmFtZSI6ICJSZXBsYWNlIEFjdGl2aXRpZXMgVGV4dCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yZXBsYWNlQWN0aXZpdGllc1RleHQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QUkFUQVAtS1VNQVIvQWN0aXZpdGllc1RleHQiLAogICJ1dWlkIjogInJlcGxhY2VBY3Rpdml0aWVzVGV4dEBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
+, {"uuid": "appMenuIcon@pratap.fastmail.fm", "name": "Colored Application Menu Icon", "pname": "app-menu-icon-remove-symbolic", "description": "Remove Symbolic Icons and Saturation Effect for App Menu Icon", "link": "https://extensions.gnome.org/extension/4408/app-menu-icon-remove-symbolic/", "shell_version_map": {"38": {"version": "3", "sha256": "17rsdh004l1mb2k90w3qp72rcv20q0dr3pmi20whrb420yi5bq4i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBTeW1ib2xpYyBJY29ucyBhbmQgU2F0dXJhdGlvbiBFZmZlY3QgZm9yIEFwcCBNZW51IEljb24iLAogICJuYW1lIjogIkNvbG9yZWQgQXBwbGljYXRpb24gTWVudSBJY29uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFwcE1lbnVJY29uQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "17rsdh004l1mb2k90w3qp72rcv20q0dr3pmi20whrb420yi5bq4i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBTeW1ib2xpYyBJY29ucyBhbmQgU2F0dXJhdGlvbiBFZmZlY3QgZm9yIEFwcCBNZW51IEljb24iLAogICJuYW1lIjogIkNvbG9yZWQgQXBwbGljYXRpb24gTWVudSBJY29uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFwcE1lbnVJY29uQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "17rsdh004l1mb2k90w3qp72rcv20q0dr3pmi20whrb420yi5bq4i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBTeW1ib2xpYyBJY29ucyBhbmQgU2F0dXJhdGlvbiBFZmZlY3QgZm9yIEFwcCBNZW51IEljb24iLAogICJuYW1lIjogIkNvbG9yZWQgQXBwbGljYXRpb24gTWVudSBJY29uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFwcE1lbnVJY29uQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAzCn0="}, "42": {"version": "3", "sha256": "17rsdh004l1mb2k90w3qp72rcv20q0dr3pmi20whrb420yi5bq4i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBTeW1ib2xpYyBJY29ucyBhbmQgU2F0dXJhdGlvbiBFZmZlY3QgZm9yIEFwcCBNZW51IEljb24iLAogICJuYW1lIjogIkNvbG9yZWQgQXBwbGljYXRpb24gTWVudSBJY29uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFwcE1lbnVJY29uQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "gnome-trash@b00f.github.io", "name": "Gnome Trash", "pname": "gnome-trash", "description": "A gnome shell extension to manage your home trash. You can manage trash items from the panel and open or empty the trash.", "link": "https://extensions.gnome.org/extension/4410/gnome-trash/", "shell_version_map": {"38": {"version": "3", "sha256": "03pyala1i21izg5rl4qqh5bxk36fp8d52bs9ggrik2kav420xhhk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGhvbWUgdHJhc2guIFlvdSBjYW4gbWFuYWdlIHRyYXNoIGl0ZW1zIGZyb20gdGhlIHBhbmVsIGFuZCBvcGVuIG9yIGVtcHR5IHRoZSB0cmFzaC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS10cmFzaCIsCiAgIm5hbWUiOiAiR25vbWUgVHJhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iMDBmL2dub21lLXRyYXNoIiwKICAidXVpZCI6ICJnbm9tZS10cmFzaEBiMDBmLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "6", "sha256": "0hkpkpxd1xpg0rsvf007wzc6s6sx1gsycl6hg69fa5bqf451r0db", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGhvbWUgdHJhc2guIFlvdSBjYW4gbWFuYWdlIHRyYXNoIGl0ZW1zIGZyb20gdGhlIHBhbmVsIGFuZCBvcGVuIG9yIGVtcHR5IHRoZSB0cmFzaC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS10cmFzaCIsCiAgIm5hbWUiOiAiR25vbWUgVHJhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2IwMGYvZ25vbWUtdHJhc2giLAogICJ1dWlkIjogImdub21lLXRyYXNoQGIwMGYuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "0hkpkpxd1xpg0rsvf007wzc6s6sx1gsycl6hg69fa5bqf451r0db", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGhvbWUgdHJhc2guIFlvdSBjYW4gbWFuYWdlIHRyYXNoIGl0ZW1zIGZyb20gdGhlIHBhbmVsIGFuZCBvcGVuIG9yIGVtcHR5IHRoZSB0cmFzaC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS10cmFzaCIsCiAgIm5hbWUiOiAiR25vbWUgVHJhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2IwMGYvZ25vbWUtdHJhc2giLAogICJ1dWlkIjogImdub21lLXRyYXNoQGIwMGYuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
-, {"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": "12", "sha256": "05v1libn5prmmlshkiylmipkmqvyhkv986fr8fsmgapb98r000wb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hseSBjdXN0b21pemFibGUgcmVwbGFjZW1lbnQgZm9yIHRoZSBBbHQvU3VwZXIrVGFiIHdpbmRvdy9hcHAgc3dpdGNoZXJzIHRoYXQgb2ZmZXJzICd0eXBlIHRvIHNlYXJjaCcgbW9kZSwgdmFyaW91cyBmaWx0ZXJpbmcgYW5kIHNvcnRpbmcgb3B0aW9ucywgd29ya3NwYWNlIGFuZCBtb25pdG9yIG5hdmlnYXRpb24sIGNvbmZpZ3VyYWJsZSBob3RrZXlzIGZvciBuYXZpZ2F0aW9uIGFuZCB3aW5kb3cvYXBwIGNvbnRyb2wgYW5kIGFuIGFwcCBsYXVuY2hlci5cbkFBVFdTIGlzIGNvbXBhdGlibGUgd2l0aCBDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCBleHRlbnNpb24sIGFsbG93cyB0byBjb25maWd1cmUgYW55IG1vdXNlIGJ1dHRvbiBhbmQgc2Nyb2xsIHdoZWVsIGFuZCBjYW4gYmUgdXNlZCBhcyBhIG1vdXNlIGNvbnRyb2xsZWQgJ2RvY2snLlxuXG5Ob3RlIHRoYXQgR05PTUUgaGFzIDMgYnVpbHQtaW4gd2luZG93IHN3aXRjaGVyIHBvcHVwcyBhbmQgdGhpcyBleHRlbnNpb24gcmVwbGFjZXMgYWxsIG9mIHRoZW0uIFRoZSBmaXJzdCBvbmUgaXMgZ3JvdXBpbmcgd2luZG93cyBieSBhcHBsaWNhdGlvbnMgYW5kIGlzIHVzZWQgYXMgZGVmYXVsdCBpbiB2YW5pbGxhIEdOT01FIGRpc3RyaWJ1dGlvbnMuIFRoZSBzZWNvbmQgb25lIG9mZmVycyB3aW5kb3cgbGlzdCBhbmQgdGhlIHRoaXJkIG9uZSB3aW5kb3dzIG9mIHRoZSBjdXJyZW50bHkgZm9jdXNlZCBhcHBsaWNhdGlvbi4gWW91IGNhbiBzZXQga2V5Ym9hcmQgc2hvcnRjdXRzIGZvciBhbGwgdGhlIHN3aXRjaGVycyBpbiB0aGUgR25vbWUgU2V0dGluZ3MuXG5cbkZvbGxvdyB0aGUgbGluayBiZWxvdyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgYnVnIHJlcG9ydHMuXG5cbktleXdvcmRzOiBhbHR0YWIsIHNlYXJjaCwgZmluZCwgd2luZG93IHNlYXJjaCwgcG9wdXAgZGVsYXksIGFwcGxpY2F0aW9ucywgYXBwcywgZG9jaywgbW9uaXRvciwgdGh1bWJuYWlsLCBwcmV2aWV3LCBtb3ZlIHdpbmRvd3MsIGxhdW5jaCBhcHAsIHN3aXRjaCwgVklNLiIsCiAgImdldHRleHQtZG9tYWluIjogImFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAibmFtZSI6ICJBQVRXUyAtIEFkdmFuY2VkIEFsdC1UYWIgV2luZG93IFN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC9hZHZhbmNlZC1hbHR0YWItd2luZG93LXN3aXRjaGVyIiwKICAidXVpZCI6ICJhZHZhbmNlZC1hbHQtdGFiQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "12", "sha256": "05v1libn5prmmlshkiylmipkmqvyhkv986fr8fsmgapb98r000wb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hseSBjdXN0b21pemFibGUgcmVwbGFjZW1lbnQgZm9yIHRoZSBBbHQvU3VwZXIrVGFiIHdpbmRvdy9hcHAgc3dpdGNoZXJzIHRoYXQgb2ZmZXJzICd0eXBlIHRvIHNlYXJjaCcgbW9kZSwgdmFyaW91cyBmaWx0ZXJpbmcgYW5kIHNvcnRpbmcgb3B0aW9ucywgd29ya3NwYWNlIGFuZCBtb25pdG9yIG5hdmlnYXRpb24sIGNvbmZpZ3VyYWJsZSBob3RrZXlzIGZvciBuYXZpZ2F0aW9uIGFuZCB3aW5kb3cvYXBwIGNvbnRyb2wgYW5kIGFuIGFwcCBsYXVuY2hlci5cbkFBVFdTIGlzIGNvbXBhdGlibGUgd2l0aCBDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCBleHRlbnNpb24sIGFsbG93cyB0byBjb25maWd1cmUgYW55IG1vdXNlIGJ1dHRvbiBhbmQgc2Nyb2xsIHdoZWVsIGFuZCBjYW4gYmUgdXNlZCBhcyBhIG1vdXNlIGNvbnRyb2xsZWQgJ2RvY2snLlxuXG5Ob3RlIHRoYXQgR05PTUUgaGFzIDMgYnVpbHQtaW4gd2luZG93IHN3aXRjaGVyIHBvcHVwcyBhbmQgdGhpcyBleHRlbnNpb24gcmVwbGFjZXMgYWxsIG9mIHRoZW0uIFRoZSBmaXJzdCBvbmUgaXMgZ3JvdXBpbmcgd2luZG93cyBieSBhcHBsaWNhdGlvbnMgYW5kIGlzIHVzZWQgYXMgZGVmYXVsdCBpbiB2YW5pbGxhIEdOT01FIGRpc3RyaWJ1dGlvbnMuIFRoZSBzZWNvbmQgb25lIG9mZmVycyB3aW5kb3cgbGlzdCBhbmQgdGhlIHRoaXJkIG9uZSB3aW5kb3dzIG9mIHRoZSBjdXJyZW50bHkgZm9jdXNlZCBhcHBsaWNhdGlvbi4gWW91IGNhbiBzZXQga2V5Ym9hcmQgc2hvcnRjdXRzIGZvciBhbGwgdGhlIHN3aXRjaGVycyBpbiB0aGUgR25vbWUgU2V0dGluZ3MuXG5cbkZvbGxvdyB0aGUgbGluayBiZWxvdyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgYnVnIHJlcG9ydHMuXG5cbktleXdvcmRzOiBhbHR0YWIsIHNlYXJjaCwgZmluZCwgd2luZG93IHNlYXJjaCwgcG9wdXAgZGVsYXksIGFwcGxpY2F0aW9ucywgYXBwcywgZG9jaywgbW9uaXRvciwgdGh1bWJuYWlsLCBwcmV2aWV3LCBtb3ZlIHdpbmRvd3MsIGxhdW5jaCBhcHAsIHN3aXRjaCwgVklNLiIsCiAgImdldHRleHQtZG9tYWluIjogImFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAibmFtZSI6ICJBQVRXUyAtIEFkdmFuY2VkIEFsdC1UYWIgV2luZG93IFN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC9hZHZhbmNlZC1hbHR0YWItd2luZG93LXN3aXRjaGVyIiwKICAidXVpZCI6ICJhZHZhbmNlZC1hbHQtdGFiQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}, "41": {"version": "12", "sha256": "05v1libn5prmmlshkiylmipkmqvyhkv986fr8fsmgapb98r000wb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hseSBjdXN0b21pemFibGUgcmVwbGFjZW1lbnQgZm9yIHRoZSBBbHQvU3VwZXIrVGFiIHdpbmRvdy9hcHAgc3dpdGNoZXJzIHRoYXQgb2ZmZXJzICd0eXBlIHRvIHNlYXJjaCcgbW9kZSwgdmFyaW91cyBmaWx0ZXJpbmcgYW5kIHNvcnRpbmcgb3B0aW9ucywgd29ya3NwYWNlIGFuZCBtb25pdG9yIG5hdmlnYXRpb24sIGNvbmZpZ3VyYWJsZSBob3RrZXlzIGZvciBuYXZpZ2F0aW9uIGFuZCB3aW5kb3cvYXBwIGNvbnRyb2wgYW5kIGFuIGFwcCBsYXVuY2hlci5cbkFBVFdTIGlzIGNvbXBhdGlibGUgd2l0aCBDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCBleHRlbnNpb24sIGFsbG93cyB0byBjb25maWd1cmUgYW55IG1vdXNlIGJ1dHRvbiBhbmQgc2Nyb2xsIHdoZWVsIGFuZCBjYW4gYmUgdXNlZCBhcyBhIG1vdXNlIGNvbnRyb2xsZWQgJ2RvY2snLlxuXG5Ob3RlIHRoYXQgR05PTUUgaGFzIDMgYnVpbHQtaW4gd2luZG93IHN3aXRjaGVyIHBvcHVwcyBhbmQgdGhpcyBleHRlbnNpb24gcmVwbGFjZXMgYWxsIG9mIHRoZW0uIFRoZSBmaXJzdCBvbmUgaXMgZ3JvdXBpbmcgd2luZG93cyBieSBhcHBsaWNhdGlvbnMgYW5kIGlzIHVzZWQgYXMgZGVmYXVsdCBpbiB2YW5pbGxhIEdOT01FIGRpc3RyaWJ1dGlvbnMuIFRoZSBzZWNvbmQgb25lIG9mZmVycyB3aW5kb3cgbGlzdCBhbmQgdGhlIHRoaXJkIG9uZSB3aW5kb3dzIG9mIHRoZSBjdXJyZW50bHkgZm9jdXNlZCBhcHBsaWNhdGlvbi4gWW91IGNhbiBzZXQga2V5Ym9hcmQgc2hvcnRjdXRzIGZvciBhbGwgdGhlIHN3aXRjaGVycyBpbiB0aGUgR25vbWUgU2V0dGluZ3MuXG5cbkZvbGxvdyB0aGUgbGluayBiZWxvdyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgYnVnIHJlcG9ydHMuXG5cbktleXdvcmRzOiBhbHR0YWIsIHNlYXJjaCwgZmluZCwgd2luZG93IHNlYXJjaCwgcG9wdXAgZGVsYXksIGFwcGxpY2F0aW9ucywgYXBwcywgZG9jaywgbW9uaXRvciwgdGh1bWJuYWlsLCBwcmV2aWV3LCBtb3ZlIHdpbmRvd3MsIGxhdW5jaCBhcHAsIHN3aXRjaCwgVklNLiIsCiAgImdldHRleHQtZG9tYWluIjogImFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAibmFtZSI6ICJBQVRXUyAtIEFkdmFuY2VkIEFsdC1UYWIgV2luZG93IFN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC9hZHZhbmNlZC1hbHR0YWItd2luZG93LXN3aXRjaGVyIiwKICAidXVpZCI6ICJhZHZhbmNlZC1hbHQtdGFiQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}, "42": {"version": "12", "sha256": "05v1libn5prmmlshkiylmipkmqvyhkv986fr8fsmgapb98r000wb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hseSBjdXN0b21pemFibGUgcmVwbGFjZW1lbnQgZm9yIHRoZSBBbHQvU3VwZXIrVGFiIHdpbmRvdy9hcHAgc3dpdGNoZXJzIHRoYXQgb2ZmZXJzICd0eXBlIHRvIHNlYXJjaCcgbW9kZSwgdmFyaW91cyBmaWx0ZXJpbmcgYW5kIHNvcnRpbmcgb3B0aW9ucywgd29ya3NwYWNlIGFuZCBtb25pdG9yIG5hdmlnYXRpb24sIGNvbmZpZ3VyYWJsZSBob3RrZXlzIGZvciBuYXZpZ2F0aW9uIGFuZCB3aW5kb3cvYXBwIGNvbnRyb2wgYW5kIGFuIGFwcCBsYXVuY2hlci5cbkFBVFdTIGlzIGNvbXBhdGlibGUgd2l0aCBDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCBleHRlbnNpb24sIGFsbG93cyB0byBjb25maWd1cmUgYW55IG1vdXNlIGJ1dHRvbiBhbmQgc2Nyb2xsIHdoZWVsIGFuZCBjYW4gYmUgdXNlZCBhcyBhIG1vdXNlIGNvbnRyb2xsZWQgJ2RvY2snLlxuXG5Ob3RlIHRoYXQgR05PTUUgaGFzIDMgYnVpbHQtaW4gd2luZG93IHN3aXRjaGVyIHBvcHVwcyBhbmQgdGhpcyBleHRlbnNpb24gcmVwbGFjZXMgYWxsIG9mIHRoZW0uIFRoZSBmaXJzdCBvbmUgaXMgZ3JvdXBpbmcgd2luZG93cyBieSBhcHBsaWNhdGlvbnMgYW5kIGlzIHVzZWQgYXMgZGVmYXVsdCBpbiB2YW5pbGxhIEdOT01FIGRpc3RyaWJ1dGlvbnMuIFRoZSBzZWNvbmQgb25lIG9mZmVycyB3aW5kb3cgbGlzdCBhbmQgdGhlIHRoaXJkIG9uZSB3aW5kb3dzIG9mIHRoZSBjdXJyZW50bHkgZm9jdXNlZCBhcHBsaWNhdGlvbi4gWW91IGNhbiBzZXQga2V5Ym9hcmQgc2hvcnRjdXRzIGZvciBhbGwgdGhlIHN3aXRjaGVycyBpbiB0aGUgR25vbWUgU2V0dGluZ3MuXG5cbkZvbGxvdyB0aGUgbGluayBiZWxvdyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgYnVnIHJlcG9ydHMuXG5cbktleXdvcmRzOiBhbHR0YWIsIHNlYXJjaCwgZmluZCwgd2luZG93IHNlYXJjaCwgcG9wdXAgZGVsYXksIGFwcGxpY2F0aW9ucywgYXBwcywgZG9jaywgbW9uaXRvciwgdGh1bWJuYWlsLCBwcmV2aWV3LCBtb3ZlIHdpbmRvd3MsIGxhdW5jaCBhcHAsIHN3aXRjaCwgVklNLiIsCiAgImdldHRleHQtZG9tYWluIjogImFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAibmFtZSI6ICJBQVRXUyAtIEFkdmFuY2VkIEFsdC1UYWIgV2luZG93IFN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC9hZHZhbmNlZC1hbHR0YWItd2luZG93LXN3aXRjaGVyIiwKICAidXVpZCI6ICJhZHZhbmNlZC1hbHQtdGFiQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}}}
+, {"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": "14", "sha256": "1fjjd61262m2550ji9a4kbd505b73wwrlds5n0shl8ijwgr6bwnq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hseSBjdXN0b21pemFibGUgcmVwbGFjZW1lbnQgZm9yIHRoZSBBbHQvU3VwZXIrVGFiIHdpbmRvdy9hcHAgc3dpdGNoZXJzIHRoYXQgb2ZmZXJzICd0eXBlIHRvIHNlYXJjaCcgbW9kZSwgdmFyaW91cyBmaWx0ZXJpbmcgYW5kIHNvcnRpbmcgb3B0aW9ucywgd29ya3NwYWNlIGFuZCBtb25pdG9yIG5hdmlnYXRpb24sIGNvbmZpZ3VyYWJsZSBob3RrZXlzIGZvciBuYXZpZ2F0aW9uIGFuZCB3aW5kb3cvYXBwIGNvbnRyb2wgYW5kIGFuIGFwcCBsYXVuY2hlci5cbkFBVFdTIGlzIGNvbXBhdGlibGUgd2l0aCBDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCBleHRlbnNpb24sIGFsbG93cyB0byBjb25maWd1cmUgYW55IG1vdXNlIGJ1dHRvbiBhbmQgc2Nyb2xsIHdoZWVsIGFuZCBjYW4gYmUgdXNlZCBhcyBhIG1vdXNlIGNvbnRyb2xsZWQgJ2RvY2snLlxuXG5Ob3RlIHRoYXQgR05PTUUgaGFzIDMgYnVpbHQtaW4gd2luZG93IHN3aXRjaGVyIHBvcHVwcyBhbmQgdGhpcyBleHRlbnNpb24gcmVwbGFjZXMgYWxsIG9mIHRoZW0uIFRoZSBmaXJzdCBvbmUgaXMgZ3JvdXBpbmcgd2luZG93cyBieSBhcHBsaWNhdGlvbnMgYW5kIGlzIHVzZWQgYXMgZGVmYXVsdCBpbiB2YW5pbGxhIEdOT01FIGRpc3RyaWJ1dGlvbnMuIFRoZSBzZWNvbmQgb25lIG9mZmVycyB3aW5kb3cgbGlzdCBhbmQgdGhlIHRoaXJkIG9uZSB3aW5kb3dzIG9mIHRoZSBjdXJyZW50bHkgZm9jdXNlZCBhcHBsaWNhdGlvbi4gWW91IGNhbiBzZXQga2V5Ym9hcmQgc2hvcnRjdXRzIGZvciBhbGwgdGhlIHN3aXRjaGVycyBpbiB0aGUgR25vbWUgU2V0dGluZ3MuXG5cbkZvbGxvdyB0aGUgbGluayBiZWxvdyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgYnVnIHJlcG9ydHMuXG5cbktleXdvcmRzOiBhbHR0YWIsIHNlYXJjaCwgZmluZCwgd2luZG93IHNlYXJjaCwgcG9wdXAgZGVsYXksIGFwcGxpY2F0aW9ucywgYXBwcywgZG9jaywgbW9uaXRvciwgdGh1bWJuYWlsLCBwcmV2aWV3LCBtb3ZlIHdpbmRvd3MsIGxhdW5jaCBhcHAsIHN3aXRjaCwgVklNLiIsCiAgImdldHRleHQtZG9tYWluIjogImFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAibmFtZSI6ICJBQVRXUyAtIEFkdmFuY2VkIEFsdC1UYWIgV2luZG93IFN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC9hZHZhbmNlZC1hbHR0YWItd2luZG93LXN3aXRjaGVyIiwKICAidXVpZCI6ICJhZHZhbmNlZC1hbHQtdGFiQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxNAp9"}, "40": {"version": "14", "sha256": "1fjjd61262m2550ji9a4kbd505b73wwrlds5n0shl8ijwgr6bwnq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hseSBjdXN0b21pemFibGUgcmVwbGFjZW1lbnQgZm9yIHRoZSBBbHQvU3VwZXIrVGFiIHdpbmRvdy9hcHAgc3dpdGNoZXJzIHRoYXQgb2ZmZXJzICd0eXBlIHRvIHNlYXJjaCcgbW9kZSwgdmFyaW91cyBmaWx0ZXJpbmcgYW5kIHNvcnRpbmcgb3B0aW9ucywgd29ya3NwYWNlIGFuZCBtb25pdG9yIG5hdmlnYXRpb24sIGNvbmZpZ3VyYWJsZSBob3RrZXlzIGZvciBuYXZpZ2F0aW9uIGFuZCB3aW5kb3cvYXBwIGNvbnRyb2wgYW5kIGFuIGFwcCBsYXVuY2hlci5cbkFBVFdTIGlzIGNvbXBhdGlibGUgd2l0aCBDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCBleHRlbnNpb24sIGFsbG93cyB0byBjb25maWd1cmUgYW55IG1vdXNlIGJ1dHRvbiBhbmQgc2Nyb2xsIHdoZWVsIGFuZCBjYW4gYmUgdXNlZCBhcyBhIG1vdXNlIGNvbnRyb2xsZWQgJ2RvY2snLlxuXG5Ob3RlIHRoYXQgR05PTUUgaGFzIDMgYnVpbHQtaW4gd2luZG93IHN3aXRjaGVyIHBvcHVwcyBhbmQgdGhpcyBleHRlbnNpb24gcmVwbGFjZXMgYWxsIG9mIHRoZW0uIFRoZSBmaXJzdCBvbmUgaXMgZ3JvdXBpbmcgd2luZG93cyBieSBhcHBsaWNhdGlvbnMgYW5kIGlzIHVzZWQgYXMgZGVmYXVsdCBpbiB2YW5pbGxhIEdOT01FIGRpc3RyaWJ1dGlvbnMuIFRoZSBzZWNvbmQgb25lIG9mZmVycyB3aW5kb3cgbGlzdCBhbmQgdGhlIHRoaXJkIG9uZSB3aW5kb3dzIG9mIHRoZSBjdXJyZW50bHkgZm9jdXNlZCBhcHBsaWNhdGlvbi4gWW91IGNhbiBzZXQga2V5Ym9hcmQgc2hvcnRjdXRzIGZvciBhbGwgdGhlIHN3aXRjaGVycyBpbiB0aGUgR25vbWUgU2V0dGluZ3MuXG5cbkZvbGxvdyB0aGUgbGluayBiZWxvdyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgYnVnIHJlcG9ydHMuXG5cbktleXdvcmRzOiBhbHR0YWIsIHNlYXJjaCwgZmluZCwgd2luZG93IHNlYXJjaCwgcG9wdXAgZGVsYXksIGFwcGxpY2F0aW9ucywgYXBwcywgZG9jaywgbW9uaXRvciwgdGh1bWJuYWlsLCBwcmV2aWV3LCBtb3ZlIHdpbmRvd3MsIGxhdW5jaCBhcHAsIHN3aXRjaCwgVklNLiIsCiAgImdldHRleHQtZG9tYWluIjogImFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAibmFtZSI6ICJBQVRXUyAtIEFkdmFuY2VkIEFsdC1UYWIgV2luZG93IFN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC9hZHZhbmNlZC1hbHR0YWItd2luZG93LXN3aXRjaGVyIiwKICAidXVpZCI6ICJhZHZhbmNlZC1hbHQtdGFiQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxNAp9"}, "41": {"version": "14", "sha256": "1fjjd61262m2550ji9a4kbd505b73wwrlds5n0shl8ijwgr6bwnq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hseSBjdXN0b21pemFibGUgcmVwbGFjZW1lbnQgZm9yIHRoZSBBbHQvU3VwZXIrVGFiIHdpbmRvdy9hcHAgc3dpdGNoZXJzIHRoYXQgb2ZmZXJzICd0eXBlIHRvIHNlYXJjaCcgbW9kZSwgdmFyaW91cyBmaWx0ZXJpbmcgYW5kIHNvcnRpbmcgb3B0aW9ucywgd29ya3NwYWNlIGFuZCBtb25pdG9yIG5hdmlnYXRpb24sIGNvbmZpZ3VyYWJsZSBob3RrZXlzIGZvciBuYXZpZ2F0aW9uIGFuZCB3aW5kb3cvYXBwIGNvbnRyb2wgYW5kIGFuIGFwcCBsYXVuY2hlci5cbkFBVFdTIGlzIGNvbXBhdGlibGUgd2l0aCBDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCBleHRlbnNpb24sIGFsbG93cyB0byBjb25maWd1cmUgYW55IG1vdXNlIGJ1dHRvbiBhbmQgc2Nyb2xsIHdoZWVsIGFuZCBjYW4gYmUgdXNlZCBhcyBhIG1vdXNlIGNvbnRyb2xsZWQgJ2RvY2snLlxuXG5Ob3RlIHRoYXQgR05PTUUgaGFzIDMgYnVpbHQtaW4gd2luZG93IHN3aXRjaGVyIHBvcHVwcyBhbmQgdGhpcyBleHRlbnNpb24gcmVwbGFjZXMgYWxsIG9mIHRoZW0uIFRoZSBmaXJzdCBvbmUgaXMgZ3JvdXBpbmcgd2luZG93cyBieSBhcHBsaWNhdGlvbnMgYW5kIGlzIHVzZWQgYXMgZGVmYXVsdCBpbiB2YW5pbGxhIEdOT01FIGRpc3RyaWJ1dGlvbnMuIFRoZSBzZWNvbmQgb25lIG9mZmVycyB3aW5kb3cgbGlzdCBhbmQgdGhlIHRoaXJkIG9uZSB3aW5kb3dzIG9mIHRoZSBjdXJyZW50bHkgZm9jdXNlZCBhcHBsaWNhdGlvbi4gWW91IGNhbiBzZXQga2V5Ym9hcmQgc2hvcnRjdXRzIGZvciBhbGwgdGhlIHN3aXRjaGVycyBpbiB0aGUgR25vbWUgU2V0dGluZ3MuXG5cbkZvbGxvdyB0aGUgbGluayBiZWxvdyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgYnVnIHJlcG9ydHMuXG5cbktleXdvcmRzOiBhbHR0YWIsIHNlYXJjaCwgZmluZCwgd2luZG93IHNlYXJjaCwgcG9wdXAgZGVsYXksIGFwcGxpY2F0aW9ucywgYXBwcywgZG9jaywgbW9uaXRvciwgdGh1bWJuYWlsLCBwcmV2aWV3LCBtb3ZlIHdpbmRvd3MsIGxhdW5jaCBhcHAsIHN3aXRjaCwgVklNLiIsCiAgImdldHRleHQtZG9tYWluIjogImFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAibmFtZSI6ICJBQVRXUyAtIEFkdmFuY2VkIEFsdC1UYWIgV2luZG93IFN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC9hZHZhbmNlZC1hbHR0YWItd2luZG93LXN3aXRjaGVyIiwKICAidXVpZCI6ICJhZHZhbmNlZC1hbHQtdGFiQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxNAp9"}, "42": {"version": "14", "sha256": "1fjjd61262m2550ji9a4kbd505b73wwrlds5n0shl8ijwgr6bwnq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hseSBjdXN0b21pemFibGUgcmVwbGFjZW1lbnQgZm9yIHRoZSBBbHQvU3VwZXIrVGFiIHdpbmRvdy9hcHAgc3dpdGNoZXJzIHRoYXQgb2ZmZXJzICd0eXBlIHRvIHNlYXJjaCcgbW9kZSwgdmFyaW91cyBmaWx0ZXJpbmcgYW5kIHNvcnRpbmcgb3B0aW9ucywgd29ya3NwYWNlIGFuZCBtb25pdG9yIG5hdmlnYXRpb24sIGNvbmZpZ3VyYWJsZSBob3RrZXlzIGZvciBuYXZpZ2F0aW9uIGFuZCB3aW5kb3cvYXBwIGNvbnRyb2wgYW5kIGFuIGFwcCBsYXVuY2hlci5cbkFBVFdTIGlzIGNvbXBhdGlibGUgd2l0aCBDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCBleHRlbnNpb24sIGFsbG93cyB0byBjb25maWd1cmUgYW55IG1vdXNlIGJ1dHRvbiBhbmQgc2Nyb2xsIHdoZWVsIGFuZCBjYW4gYmUgdXNlZCBhcyBhIG1vdXNlIGNvbnRyb2xsZWQgJ2RvY2snLlxuXG5Ob3RlIHRoYXQgR05PTUUgaGFzIDMgYnVpbHQtaW4gd2luZG93IHN3aXRjaGVyIHBvcHVwcyBhbmQgdGhpcyBleHRlbnNpb24gcmVwbGFjZXMgYWxsIG9mIHRoZW0uIFRoZSBmaXJzdCBvbmUgaXMgZ3JvdXBpbmcgd2luZG93cyBieSBhcHBsaWNhdGlvbnMgYW5kIGlzIHVzZWQgYXMgZGVmYXVsdCBpbiB2YW5pbGxhIEdOT01FIGRpc3RyaWJ1dGlvbnMuIFRoZSBzZWNvbmQgb25lIG9mZmVycyB3aW5kb3cgbGlzdCBhbmQgdGhlIHRoaXJkIG9uZSB3aW5kb3dzIG9mIHRoZSBjdXJyZW50bHkgZm9jdXNlZCBhcHBsaWNhdGlvbi4gWW91IGNhbiBzZXQga2V5Ym9hcmQgc2hvcnRjdXRzIGZvciBhbGwgdGhlIHN3aXRjaGVycyBpbiB0aGUgR25vbWUgU2V0dGluZ3MuXG5cbkZvbGxvdyB0aGUgbGluayBiZWxvdyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgYnVnIHJlcG9ydHMuXG5cbktleXdvcmRzOiBhbHR0YWIsIHNlYXJjaCwgZmluZCwgd2luZG93IHNlYXJjaCwgcG9wdXAgZGVsYXksIGFwcGxpY2F0aW9ucywgYXBwcywgZG9jaywgbW9uaXRvciwgdGh1bWJuYWlsLCBwcmV2aWV3LCBtb3ZlIHdpbmRvd3MsIGxhdW5jaCBhcHAsIHN3aXRjaCwgVklNLiIsCiAgImdldHRleHQtZG9tYWluIjogImFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAibmFtZSI6ICJBQVRXUyAtIEFkdmFuY2VkIEFsdC1UYWIgV2luZG93IFN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC9hZHZhbmNlZC1hbHR0YWItd2luZG93LXN3aXRjaGVyIiwKICAidXVpZCI6ICJhZHZhbmNlZC1hbHQtdGFiQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxNAp9"}}}
 , {"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": "7", "sha256": "06niqzicxp8i9ivznblf2qgwl924h77ld3cz8qgl4x8hl0bb6q0l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdub21lJ3Mgb25zY3JlZW4ga2V5Ym9hcmQgbW9yZSB1c2VhYmxlIHdpdGggZS5nLiBtb3JlIGtleXMuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzMzMC9pbXByb3ZlZC1vbnNjcmVlbi1rZXlib2FyZC8gYnkgU2ViYXN0aWFuTHVlYmtlLiIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgT1NLIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrLXNobXlyZXYvaW1wcm92ZWQtb3NrLWdub21lLWV4dCIsCiAgInV1aWQiOiAiaW1wcm92ZWRvc2tAbmljay1zaG15cmV2LmRldiIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "06niqzicxp8i9ivznblf2qgwl924h77ld3cz8qgl4x8hl0bb6q0l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdub21lJ3Mgb25zY3JlZW4ga2V5Ym9hcmQgbW9yZSB1c2VhYmxlIHdpdGggZS5nLiBtb3JlIGtleXMuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzMzMC9pbXByb3ZlZC1vbnNjcmVlbi1rZXlib2FyZC8gYnkgU2ViYXN0aWFuTHVlYmtlLiIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgT1NLIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrLXNobXlyZXYvaW1wcm92ZWQtb3NrLWdub21lLWV4dCIsCiAgInV1aWQiOiAiaW1wcm92ZWRvc2tAbmljay1zaG15cmV2LmRldiIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "06niqzicxp8i9ivznblf2qgwl924h77ld3cz8qgl4x8hl0bb6q0l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdub21lJ3Mgb25zY3JlZW4ga2V5Ym9hcmQgbW9yZSB1c2VhYmxlIHdpdGggZS5nLiBtb3JlIGtleXMuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzMzMC9pbXByb3ZlZC1vbnNjcmVlbi1rZXlib2FyZC8gYnkgU2ViYXN0aWFuTHVlYmtlLiIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgT1NLIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrLXNobXlyZXYvaW1wcm92ZWQtb3NrLWdub21lLWV4dCIsCiAgInV1aWQiOiAiaW1wcm92ZWRvc2tAbmljay1zaG15cmV2LmRldiIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"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": "4", "sha256": "1pmh16ijc9p34qx7019z1imswnxzf9mbbbh7vg5i1acy2dgb3vfw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZGF0ZSBpbmRpY2F0b3IgZm9yIEZlZG9yYSBMaW51eCBhbmQgR05PTUUgU2hlbGwuIiwKICAibmFtZSI6ICJGZWRvcmEgTGludXggVXBkYXRlcyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BlcGUzODYvZmVkb3JhLXVwZGF0ZSIsCiAgInV1aWQiOiAiZmVkb3JhLXVwZGF0ZUBwZXBlMzg2IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1pmh16ijc9p34qx7019z1imswnxzf9mbbbh7vg5i1acy2dgb3vfw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZGF0ZSBpbmRpY2F0b3IgZm9yIEZlZG9yYSBMaW51eCBhbmQgR05PTUUgU2hlbGwuIiwKICAibmFtZSI6ICJGZWRvcmEgTGludXggVXBkYXRlcyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BlcGUzODYvZmVkb3JhLXVwZGF0ZSIsCiAgInV1aWQiOiAiZmVkb3JhLXVwZGF0ZUBwZXBlMzg2IiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"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": "15", "sha256": "0lqd5xhq9f60lrsw51z33mlxzfh8qbw2k0sgvi405jmz4q4gna69", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0IGlzIGEgZXh0ZW5zaW9uIGZvciBHbm9tZS1TaGVsbCB3aXRoIGFuIGVxdWl2YWxlbnQgZnVuY3Rpb24gdG8gYSByZWFkaW5nIGd1aWRlIG9uIHRoZSBjb21wdXRlciwgdGhhdCdzIHJlYWxseSB1c2VmdWwgZm9yIHBlb3BsZSB3aXRoIGR5c2xleGlhLiIsCiAgIm5hbWUiOiAiUmVhZGluZyBTdHJpcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yZWFkaW5nc3RyaXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sdXBhbnRhbm8vcmVhZGluZ3N0cmlwIiwKICAidXVpZCI6ICJyZWFkaW5nc3RyaXBAbHVwYW50YW5vLmdpaHRodWIiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "41": {"version": "15", "sha256": "0lqd5xhq9f60lrsw51z33mlxzfh8qbw2k0sgvi405jmz4q4gna69", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0IGlzIGEgZXh0ZW5zaW9uIGZvciBHbm9tZS1TaGVsbCB3aXRoIGFuIGVxdWl2YWxlbnQgZnVuY3Rpb24gdG8gYSByZWFkaW5nIGd1aWRlIG9uIHRoZSBjb21wdXRlciwgdGhhdCdzIHJlYWxseSB1c2VmdWwgZm9yIHBlb3BsZSB3aXRoIGR5c2xleGlhLiIsCiAgIm5hbWUiOiAiUmVhZGluZyBTdHJpcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yZWFkaW5nc3RyaXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sdXBhbnRhbm8vcmVhZGluZ3N0cmlwIiwKICAidXVpZCI6ICJyZWFkaW5nc3RyaXBAbHVwYW50YW5vLmdpaHRodWIiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "42": {"version": "15", "sha256": "0lqd5xhq9f60lrsw51z33mlxzfh8qbw2k0sgvi405jmz4q4gna69", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0IGlzIGEgZXh0ZW5zaW9uIGZvciBHbm9tZS1TaGVsbCB3aXRoIGFuIGVxdWl2YWxlbnQgZnVuY3Rpb24gdG8gYSByZWFkaW5nIGd1aWRlIG9uIHRoZSBjb21wdXRlciwgdGhhdCdzIHJlYWxseSB1c2VmdWwgZm9yIHBlb3BsZSB3aXRoIGR5c2xleGlhLiIsCiAgIm5hbWUiOiAiUmVhZGluZyBTdHJpcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yZWFkaW5nc3RyaXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sdXBhbnRhbm8vcmVhZGluZ3N0cmlwIiwKICAidXVpZCI6ICJyZWFkaW5nc3RyaXBAbHVwYW50YW5vLmdpaHRodWIiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}}}
+, {"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": "13", "sha256": "0i9sqjhn1im0b804jby2af8xs3xc0znwxwm21r6m2i4aykixk9ln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0IGlzIGEgZXh0ZW5zaW9uIGZvciBHbm9tZS1TaGVsbCB3aXRoIGFuIGVxdWl2YWxlbnQgZnVuY3Rpb24gdG8gYSByZWFkaW5nIGd1aWRlIG9uIHRoZSBjb21wdXRlciwgdGhhdCdzIHJlYWxseSB1c2VmdWwgZm9yIHBlb3BsZSB3aXRoIGR5c2xleGlhLiIsCiAgIm5hbWUiOiAiUmVhZGluZyBTdHJpcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yZWFkaW5nc3RyaXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x1cGFudGFuby9yZWFkaW5nc3RyaXAiLAogICJ1dWlkIjogInJlYWRpbmdzdHJpcEBsdXBhbnRhbm8uZ2lodGh1YiIsCiAgInZlcnNpb24iOiAxMwp9"}, "41": {"version": "13", "sha256": "0i9sqjhn1im0b804jby2af8xs3xc0znwxwm21r6m2i4aykixk9ln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0IGlzIGEgZXh0ZW5zaW9uIGZvciBHbm9tZS1TaGVsbCB3aXRoIGFuIGVxdWl2YWxlbnQgZnVuY3Rpb24gdG8gYSByZWFkaW5nIGd1aWRlIG9uIHRoZSBjb21wdXRlciwgdGhhdCdzIHJlYWxseSB1c2VmdWwgZm9yIHBlb3BsZSB3aXRoIGR5c2xleGlhLiIsCiAgIm5hbWUiOiAiUmVhZGluZyBTdHJpcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yZWFkaW5nc3RyaXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x1cGFudGFuby9yZWFkaW5nc3RyaXAiLAogICJ1dWlkIjogInJlYWRpbmdzdHJpcEBsdXBhbnRhbm8uZ2lodGh1YiIsCiAgInZlcnNpb24iOiAxMwp9"}}}
 , {"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": "10", "sha256": "193n38mi38pr07cch1ma5rpkdkk6jkf37m3yfrhmndcqb6brm6i0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGNsaXBib2FyZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1jbGlwYm9hcmQiLAogICJuYW1lIjogIkdub21lIENsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYjAwZi9nbm9tZS1jbGlwYm9hcmQiLAogICJ1dWlkIjogImdub21lLWNsaXBib2FyZEBiMDBmLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "41": {"version": "10", "sha256": "193n38mi38pr07cch1ma5rpkdkk6jkf37m3yfrhmndcqb6brm6i0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGNsaXBib2FyZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1jbGlwYm9hcmQiLAogICJuYW1lIjogIkdub21lIENsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYjAwZi9nbm9tZS1jbGlwYm9hcmQiLAogICJ1dWlkIjogImdub21lLWNsaXBib2FyZEBiMDBmLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}}}
 , {"uuid": "thanatophobia@yatx.one", "name": "Thanatophobia", "pname": "thanatophobia", "description": "Displays your age in real time. \r\n\r\nGreat source of motivation according to terror management theory!", "link": "https://extensions.gnome.org/extension/4425/thanatophobia/", "shell_version_map": {"40": {"version": "7", "sha256": "0r7j13mgr5fd0v3q1ncmwj7mb5wg8yrxxr0hda197728lmwq0i8x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIHlvdXIgYWdlIGluIHJlYWwgdGltZS4gXHJcblxyXG5HcmVhdCBzb3VyY2Ugb2YgbW90aXZhdGlvbiBhY2NvcmRpbmcgdG8gdGVycm9yIG1hbmFnZW1lbnQgdGhlb3J5ISIsCiAgIm5hbWUiOiAiVGhhbmF0b3Bob2JpYSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdGlvbnN2ZXJyeWZ1bC90aGFuYXRvcGhvYmlhIiwKICAidXVpZCI6ICJ0aGFuYXRvcGhvYmlhQHlhdHgub25lIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "41": {"version": "7", "sha256": "0r7j13mgr5fd0v3q1ncmwj7mb5wg8yrxxr0hda197728lmwq0i8x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIHlvdXIgYWdlIGluIHJlYWwgdGltZS4gXHJcblxyXG5HcmVhdCBzb3VyY2Ugb2YgbW90aXZhdGlvbiBhY2NvcmRpbmcgdG8gdGVycm9yIG1hbmFnZW1lbnQgdGhlb3J5ISIsCiAgIm5hbWUiOiAiVGhhbmF0b3Bob2JpYSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdGlvbnN2ZXJyeWZ1bC90aGFuYXRvcGhvYmlhIiwKICAidXVpZCI6ICJ0aGFuYXRvcGhvYmlhQHlhdHgub25lIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"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": "2", "sha256": "1zmlmijkm6sgpp00qbrwnxmd4q5dfh07g9w9nynq3ciwxs9fjnai", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHR5cGV3cml0ZXIgZWZmZWN0IHRvIHlvdXIga2V5Ym9hcmQuXG4gXG5UaGlzIGV4dGVuc2lvbiBpcyBiYXNlZCBvbiB0eXBld3JpdGVyLWtiIGFwcGxpY2F0aW9uIFxuKGh0dHBzOi8vZ2l0aHViLmNvbS9aaGVrZWhaL2xpbnV4LXR5cGV3cml0ZXIta2IpLCB3aGljaCBcbmlzIHJlcXVpcmVkIHRvIHJ1biB0aGUgZXh0ZW5zaW9uLCBidXQgaXMgbm90IHBhcnQgb2YgaXQuXG4gXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5JY29ucyBtYWRlIGJ5IEZyZWVwaWsgZnJvbSB3d3cuZmxhdGljb24uY29tIiwKICAibmFtZSI6ICJUeXBld3JpdGVyIEtleWJvYXJkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInR5cGV3cml0ZXIta2JAenp6aGVrYTk3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
@@ -585,10 +586,10 @@
 , {"uuid": "cpudots@kdevmen.gmail.com", "name": "CPUdots", "pname": "cpudots", "description": "A basic cpu graph inspired from xfce4 cpu freq monitor plugin. it's incomplete right now... I'll update as soon as I get some time off my job.", "link": "https://extensions.gnome.org/extension/4530/cpudots/", "shell_version_map": {"40": {"version": "2", "sha256": "1zjix04gprs1v3hvj5mgcipff14wahq192kacbqjw04p0ia90974", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYmFzaWMgY3B1IGdyYXBoIGluc3BpcmVkIGZyb20geGZjZTQgY3B1IGZyZXEgbW9uaXRvciBwbHVnaW4uIGl0J3MgaW5jb21wbGV0ZSByaWdodCBub3cuLi4gSSdsbCB1cGRhdGUgYXMgc29vbiBhcyBJIGdldCBzb21lIHRpbWUgb2ZmIG15IGpvYi4iLAogICJuYW1lIjogIkNQVWRvdHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5hbWV6aW4uZGR0ZXJtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiY3B1ZG90c0BrZGV2bWVuLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "1zjix04gprs1v3hvj5mgcipff14wahq192kacbqjw04p0ia90974", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYmFzaWMgY3B1IGdyYXBoIGluc3BpcmVkIGZyb20geGZjZTQgY3B1IGZyZXEgbW9uaXRvciBwbHVnaW4uIGl0J3MgaW5jb21wbGV0ZSByaWdodCBub3cuLi4gSSdsbCB1cGRhdGUgYXMgc29vbiBhcyBJIGdldCBzb21lIHRpbWUgb2ZmIG15IGpvYi4iLAogICJuYW1lIjogIkNQVWRvdHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5hbWV6aW4uZGR0ZXJtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiY3B1ZG90c0BrZGV2bWVuLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "taildropsendxuwuming2014@outlook.com", "name": "TailDrop Send", "pname": "taildrop-send", "description": "Send files via tailscale", "link": "https://extensions.gnome.org/extension/4533/taildrop-send/", "shell_version_map": {"40": {"version": "4", "sha256": "1w2nydglm2n0kyzwd4rh5q0x8h2d1ycy4ygxj00qfpxxnw477xda", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlbmQgZmlsZXMgdmlhIHRhaWxzY2FsZSIsCiAgImdldHRleHQtZG9tYWluIjogInRhaWxkcm9wLXNlbmQtZXh0ZW5zaW9uIiwKICAibmFtZSI6ICJUYWlsRHJvcCBTZW5kIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhaWxkcm9wc2VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnIyMzMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhaWxkcm9wc2VuZCIsCiAgInV1aWQiOiAidGFpbGRyb3BzZW5keHV3dW1pbmcyMDE0QG91dGxvb2suY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1w2nydglm2n0kyzwd4rh5q0x8h2d1ycy4ygxj00qfpxxnw477xda", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlbmQgZmlsZXMgdmlhIHRhaWxzY2FsZSIsCiAgImdldHRleHQtZG9tYWluIjogInRhaWxkcm9wLXNlbmQtZXh0ZW5zaW9uIiwKICAibmFtZSI6ICJUYWlsRHJvcCBTZW5kIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhaWxkcm9wc2VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnIyMzMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhaWxkcm9wc2VuZCIsCiAgInV1aWQiOiAidGFpbGRyb3BzZW5keHV3dW1pbmcyMDE0QG91dGxvb2suY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "toggle-mute-on-middle-click-updated@konradmb", "name": "Toggle Mute on Middle Click", "pname": "toggle-mute-on-middle-click", "description": "Toggle mute by middle-clicking the volume indicator. Updated for Gnome 40 from: https://extensions.gnome.org/extension/1473/toggle-mute-on-middle-click/", "link": "https://extensions.gnome.org/extension/4538/toggle-mute-on-middle-click/", "shell_version_map": {"40": {"version": "1", "sha256": "0ag52arddv2dypfr1bs28c6dnfq0lrccibbl6cdzjx4d26j4cv4z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBtdXRlIGJ5IG1pZGRsZS1jbGlja2luZyB0aGUgdm9sdW1lIGluZGljYXRvci4gVXBkYXRlZCBmb3IgR25vbWUgNDAgZnJvbTogaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTQ3My90b2dnbGUtbXV0ZS1vbi1taWRkbGUtY2xpY2svIiwKICAibmFtZSI6ICJUb2dnbGUgTXV0ZSBvbiBNaWRkbGUgQ2xpY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInRvZ2dsZS1tdXRlLW9uLW1pZGRsZS1jbGljay11cGRhdGVkQGtvbnJhZG1iIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
-, {"uuid": "autohide-volume@unboiled.info", "name": "Autohide Volume", "pname": "autohide-volume", "description": "Autohide volume indicator when muted\n\nI'm not interested in the fact my output audio device is muted: this is how it's supposed to be. But if it's unmuted, then I want to see the icon.\n\nExcept when the mic is on, then I'm probably in a call, frantically figuring out what's wrong.", "link": "https://extensions.gnome.org/extension/4539/autohide-volume/", "shell_version_map": {"41": {"version": "1", "sha256": "1kiki2gks6jvngx62jz1mdg3xpi4npc4sv9v4mc7fz4s91ibsykr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9oaWRlIHZvbHVtZSBpbmRpY2F0b3Igd2hlbiBtdXRlZFxuXG5JJ20gbm90IGludGVyZXN0ZWQgaW4gdGhlIGZhY3QgbXkgb3V0cHV0IGF1ZGlvIGRldmljZSBpcyBtdXRlZDogdGhpcyBpcyBob3cgaXQncyBzdXBwb3NlZCB0byBiZS4gQnV0IGlmIGl0J3MgdW5tdXRlZCwgdGhlbiBJIHdhbnQgdG8gc2VlIHRoZSBpY29uLlxuXG5FeGNlcHQgd2hlbiB0aGUgbWljIGlzIG9uLCB0aGVuIEknbSBwcm9iYWJseSBpbiBhIGNhbGwsIGZyYW50aWNhbGx5IGZpZ3VyaW5nIG91dCB3aGF0J3Mgd3JvbmcuIiwKICAibmFtZSI6ICJBdXRvaGlkZSBWb2x1bWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwOi8vZ2l0aHViLmNvbS90MTg0MjU2L2dub21lLXNoZWxsLWV4dGVuc2lvbi1hdXRvaGlkZS12b2x1bWUiLAogICJ1dWlkIjogImF1dG9oaWRlLXZvbHVtZUB1bmJvaWxlZC5pbmZvIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
+, {"uuid": "autohide-volume@unboiled.info", "name": "Autohide Volume", "pname": "autohide-volume", "description": "Autohide volume indicator when muted\n\nI'm not interested in the fact my output audio device is muted: this is how it's supposed to be. But if it's unmuted, then I want to see the icon.\n\nExcept when the mic is on, then I'm probably in a call, frantically figuring out what's wrong.", "link": "https://extensions.gnome.org/extension/4539/autohide-volume/", "shell_version_map": {"41": {"version": "2", "sha256": "1mxzrj5a9zdnkb2hvlmqnwnshnnyw43al59x466jp2pa7si6qy17", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9oaWRlIHZvbHVtZSBpbmRpY2F0b3Igd2hlbiBtdXRlZFxuXG5JJ20gbm90IGludGVyZXN0ZWQgaW4gdGhlIGZhY3QgbXkgb3V0cHV0IGF1ZGlvIGRldmljZSBpcyBtdXRlZDogdGhpcyBpcyBob3cgaXQncyBzdXBwb3NlZCB0byBiZS4gQnV0IGlmIGl0J3MgdW5tdXRlZCwgdGhlbiBJIHdhbnQgdG8gc2VlIHRoZSBpY29uLlxuXG5FeGNlcHQgd2hlbiB0aGUgbWljIGlzIG9uLCB0aGVuIEknbSBwcm9iYWJseSBpbiBhIGNhbGwsIGZyYW50aWNhbGx5IGZpZ3VyaW5nIG91dCB3aGF0J3Mgd3JvbmcuIiwKICAibmFtZSI6ICJBdXRvaGlkZSBWb2x1bWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dpdGh1Yi5jb20vdDE4NDI1Ni9nbm9tZS1zaGVsbC1leHRlbnNpb24tYXV0b2hpZGUtdm9sdW1lIiwKICAidXVpZCI6ICJhdXRvaGlkZS12b2x1bWVAdW5ib2lsZWQuaW5mbyIsCiAgInZlcnNpb24iOiAyCn0="}, "42": {"version": "2", "sha256": "1mxzrj5a9zdnkb2hvlmqnwnshnnyw43al59x466jp2pa7si6qy17", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9oaWRlIHZvbHVtZSBpbmRpY2F0b3Igd2hlbiBtdXRlZFxuXG5JJ20gbm90IGludGVyZXN0ZWQgaW4gdGhlIGZhY3QgbXkgb3V0cHV0IGF1ZGlvIGRldmljZSBpcyBtdXRlZDogdGhpcyBpcyBob3cgaXQncyBzdXBwb3NlZCB0byBiZS4gQnV0IGlmIGl0J3MgdW5tdXRlZCwgdGhlbiBJIHdhbnQgdG8gc2VlIHRoZSBpY29uLlxuXG5FeGNlcHQgd2hlbiB0aGUgbWljIGlzIG9uLCB0aGVuIEknbSBwcm9iYWJseSBpbiBhIGNhbGwsIGZyYW50aWNhbGx5IGZpZ3VyaW5nIG91dCB3aGF0J3Mgd3JvbmcuIiwKICAibmFtZSI6ICJBdXRvaGlkZSBWb2x1bWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dpdGh1Yi5jb20vdDE4NDI1Ni9nbm9tZS1zaGVsbC1leHRlbnNpb24tYXV0b2hpZGUtdm9sdW1lIiwKICAidXVpZCI6ICJhdXRvaGlkZS12b2x1bWVAdW5ib2lsZWQuaW5mbyIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "cloudflare@adam.gadmz", "name": "Cloudflare", "pname": "cloudflare", "description": "Warp Connect", "link": "https://extensions.gnome.org/extension/4542/cloudflare/", "shell_version_map": {"38": {"version": "7", "sha256": "0wizvqfcsyh43786zhci4j5b8z28y95cjajvqrb51x4r489l67lw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBZGFtIiwKICAiZGVzY3JpcHRpb24iOiAiV2FycCBDb25uZWN0IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNsb3VkZmxhcmUiLAogICJuYW1lIjogIkNsb3VkZmxhcmUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZHVvbmdnaWFraGFuaGIvQ2xvdWRmbGFyZV9HTk9NRV9FeHRlbnNpb24iLAogICJ1dWlkIjogImNsb3VkZmxhcmVAYWRhbS5nYWRteiIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "0wizvqfcsyh43786zhci4j5b8z28y95cjajvqrb51x4r489l67lw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBZGFtIiwKICAiZGVzY3JpcHRpb24iOiAiV2FycCBDb25uZWN0IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNsb3VkZmxhcmUiLAogICJuYW1lIjogIkNsb3VkZmxhcmUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZHVvbmdnaWFraGFuaGIvQ2xvdWRmbGFyZV9HTk9NRV9FeHRlbnNpb24iLAogICJ1dWlkIjogImNsb3VkZmxhcmVAYWRhbS5nYWRteiIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "dell-command-configure-menu@vsimkus.github.io", "name": "Dell Command Configure menu", "pname": "dell-command-configure-menu", "description": "Adds submenu in gnome shell to access Dell Command Configure options.\n\nCurrently, only battery charge settings are implemented.\n\nThe Dell Command Configure tool must be installed separately from Dell https://www.dell.com/support/kbdoc/en-uk/000178000/dell-command-configure#Downloads.", "link": "https://extensions.gnome.org/extension/4545/dell-command-configure-menu/", "shell_version_map": {"38": {"version": "3", "sha256": "0mf9vibjzq1l9g6f3y7l7hx6dvqxbasdyhbrc8vfbczy9lar4v7h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgc3VibWVudSBpbiBnbm9tZSBzaGVsbCB0byBhY2Nlc3MgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBvcHRpb25zLlxuXG5DdXJyZW50bHksIG9ubHkgYmF0dGVyeSBjaGFyZ2Ugc2V0dGluZ3MgYXJlIGltcGxlbWVudGVkLlxuXG5UaGUgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSB0b29sIG11c3QgYmUgaW5zdGFsbGVkIHNlcGFyYXRlbHkgZnJvbSBEZWxsIGh0dHBzOi8vd3d3LmRlbGwuY29tL3N1cHBvcnQva2Jkb2MvZW4tdWsvMDAwMTc4MDAwL2RlbGwtY29tbWFuZC1jb25maWd1cmUjRG93bmxvYWRzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlbGwtY29tbWFuZC1jb25maWd1cmUtbWVudSIsCiAgIm5hbWUiOiAiRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBtZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlbGxjb21tYW5kY29uZmlndXJlbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdnNpbWt1cy9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGVsbC1jb21tYW5kLWNvbmZpZ3VyZS1tZW51IiwKICAidXVpZCI6ICJkZWxsLWNvbW1hbmQtY29uZmlndXJlLW1lbnVAdnNpbWt1cy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "7", "sha256": "03n0xyadr41s4izrckljrw04nv23izshlga8h8as9kkxcpq6msc3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgc3VibWVudSBpbiBnbm9tZSBzaGVsbCB0byBhY2Nlc3MgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBvcHRpb25zLlxuXG5DdXJyZW50bHksIG9ubHkgYmF0dGVyeSBjaGFyZ2Ugc2V0dGluZ3MgYXJlIGltcGxlbWVudGVkLlxuXG5UaGUgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSB0b29sIG11c3QgYmUgaW5zdGFsbGVkIHNlcGFyYXRlbHkgZnJvbSBEZWxsIGh0dHBzOi8vd3d3LmRlbGwuY29tL3N1cHBvcnQva2Jkb2MvZW4tdWsvMDAwMTc4MDAwL2RlbGwtY29tbWFuZC1jb25maWd1cmUjRG93bmxvYWRzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlbGwtY29tbWFuZC1jb25maWd1cmUtbWVudSIsCiAgIm5hbWUiOiAiRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBtZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlbGxjb21tYW5kY29uZmlndXJlbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdnNpbWt1cy9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGVsbC1jb21tYW5kLWNvbmZpZ3VyZS1tZW51IiwKICAidXVpZCI6ICJkZWxsLWNvbW1hbmQtY29uZmlndXJlLW1lbnVAdnNpbWt1cy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "03n0xyadr41s4izrckljrw04nv23izshlga8h8as9kkxcpq6msc3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgc3VibWVudSBpbiBnbm9tZSBzaGVsbCB0byBhY2Nlc3MgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBvcHRpb25zLlxuXG5DdXJyZW50bHksIG9ubHkgYmF0dGVyeSBjaGFyZ2Ugc2V0dGluZ3MgYXJlIGltcGxlbWVudGVkLlxuXG5UaGUgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSB0b29sIG11c3QgYmUgaW5zdGFsbGVkIHNlcGFyYXRlbHkgZnJvbSBEZWxsIGh0dHBzOi8vd3d3LmRlbGwuY29tL3N1cHBvcnQva2Jkb2MvZW4tdWsvMDAwMTc4MDAwL2RlbGwtY29tbWFuZC1jb25maWd1cmUjRG93bmxvYWRzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlbGwtY29tbWFuZC1jb25maWd1cmUtbWVudSIsCiAgIm5hbWUiOiAiRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBtZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlbGxjb21tYW5kY29uZmlndXJlbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdnNpbWt1cy9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGVsbC1jb21tYW5kLWNvbmZpZ3VyZS1tZW51IiwKICAidXVpZCI6ICJkZWxsLWNvbW1hbmQtY29uZmlndXJlLW1lbnVAdnNpbWt1cy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNwp9"}}}
-, {"uuid": "tactile@lundal.io", "name": "Tactile", "pname": "tactile", "description": "Tile windows on a custom grid using your keyboard. Type Super-T to show the grid, then type two tiles (or the same tile twice) to move the active window.\n\nThe grid can be up to 4x3 (corresponding to one hand on the keyboard) and each row/column can be weighted to take up more or less space.", "link": "https://extensions.gnome.org/extension/4548/tactile/", "shell_version_map": {"38": {"version": "14", "sha256": "0ndp53kmg3mc5jsrjlqv22ajpmrn8r13f6nrkmmbx6x541g1h9rl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2x1bmRhbC90YWN0aWxlIiwKICAidXVpZCI6ICJ0YWN0aWxlQGx1bmRhbC5pbyIsCiAgInZlcnNpb24iOiAxNAp9"}, "40": {"version": "14", "sha256": "0ndp53kmg3mc5jsrjlqv22ajpmrn8r13f6nrkmmbx6x541g1h9rl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2x1bmRhbC90YWN0aWxlIiwKICAidXVpZCI6ICJ0YWN0aWxlQGx1bmRhbC5pbyIsCiAgInZlcnNpb24iOiAxNAp9"}, "41": {"version": "14", "sha256": "0ndp53kmg3mc5jsrjlqv22ajpmrn8r13f6nrkmmbx6x541g1h9rl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2x1bmRhbC90YWN0aWxlIiwKICAidXVpZCI6ICJ0YWN0aWxlQGx1bmRhbC5pbyIsCiAgInZlcnNpb24iOiAxNAp9"}}}
+, {"uuid": "tactile@lundal.io", "name": "Tactile", "pname": "tactile", "description": "Tile windows on a custom grid using your keyboard. Type Super-T to show the grid, then type two tiles (or the same tile twice) to move the active window.\n\nThe grid can be up to 4x3 (corresponding to one hand on the keyboard) and each row/column can be weighted to take up more or less space.", "link": "https://extensions.gnome.org/extension/4548/tactile/", "shell_version_map": {"38": {"version": "15", "sha256": "19v6fznxaih59z885isfdfgzlyb0fr2nk272f16fs1kxcw6xvkmz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9sdW5kYWwvdGFjdGlsZSIsCiAgInV1aWQiOiAidGFjdGlsZUBsdW5kYWwuaW8iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "40": {"version": "15", "sha256": "19v6fznxaih59z885isfdfgzlyb0fr2nk272f16fs1kxcw6xvkmz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9sdW5kYWwvdGFjdGlsZSIsCiAgInV1aWQiOiAidGFjdGlsZUBsdW5kYWwuaW8iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "41": {"version": "15", "sha256": "19v6fznxaih59z885isfdfgzlyb0fr2nk272f16fs1kxcw6xvkmz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9sdW5kYWwvdGFjdGlsZSIsCiAgInV1aWQiOiAidGFjdGlsZUBsdW5kYWwuaW8iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "42": {"version": "15", "sha256": "19v6fznxaih59z885isfdfgzlyb0fr2nk272f16fs1kxcw6xvkmz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9sdW5kYWwvdGFjdGlsZSIsCiAgInV1aWQiOiAidGFjdGlsZUBsdW5kYWwuaW8iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}}}
 , {"uuid": "killapp@adam.gadmz", "name": "Kill App", "pname": "kill-app", "description": "Force quit or kill application", "link": "https://extensions.gnome.org/extension/4551/kill-app/", "shell_version_map": {"38": {"version": "3", "sha256": "0gc6bk4piblqmm6qhb0jicdg571b23b0mns6mqhws4glznn4ckry", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBZGFtIiwKICAiZGVzY3JpcHRpb24iOiAiRm9yY2UgcXVpdCBvciBraWxsIGFwcGxpY2F0aW9uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtpbGxhcHAiLAogICJuYW1lIjogIktpbGwgQXBwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2R1b25nZ2lha2hhbmhiL0tpbGxhcHBfR05PTUVfRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJraWxsYXBwQGFkYW0uZ2FkbXoiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "0gc6bk4piblqmm6qhb0jicdg571b23b0mns6mqhws4glznn4ckry", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBZGFtIiwKICAiZGVzY3JpcHRpb24iOiAiRm9yY2UgcXVpdCBvciBraWxsIGFwcGxpY2F0aW9uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtpbGxhcHAiLAogICJuYW1lIjogIktpbGwgQXBwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2R1b25nZ2lha2hhbmhiL0tpbGxhcHBfR05PTUVfRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJraWxsYXBwQGFkYW0uZ2FkbXoiLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "hotkeys-popup@pimsnel.com", "name": "Hotkeys Popup", "pname": "hotkeys-popup", "description": "Pop-up cheatsheet with currently configured keyboard shortcuts.", "link": "https://extensions.gnome.org/extension/4553/hotkeys-popup/", "shell_version_map": {"40": {"version": "4", "sha256": "080ch8zg8y1ha9gq6hihjkqzymkwqarxsy3p8da8j6p6621w63y5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBvcC11cCBjaGVhdHNoZWV0IHdpdGggY3VycmVudGx5IGNvbmZpZ3VyZWQga2V5Ym9hcmQgc2hvcnRjdXRzLiIsCiAgImdldHRleHQtZG9tYWluIjogImhvdGtleXMtcG9wdXAiLAogICJuYW1lIjogIkhvdGtleXMgUG9wdXAiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaG90a2V5cy1wb3B1cCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWlwbWlwL2dub21lLXNoZWxsLWV4dGVuc2lvbnMtaG90a2V5cy1wb3B1cCIsCiAgInV1aWQiOiAiaG90a2V5cy1wb3B1cEBwaW1zbmVsLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "080ch8zg8y1ha9gq6hihjkqzymkwqarxsy3p8da8j6p6621w63y5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBvcC11cCBjaGVhdHNoZWV0IHdpdGggY3VycmVudGx5IGNvbmZpZ3VyZWQga2V5Ym9hcmQgc2hvcnRjdXRzLiIsCiAgImdldHRleHQtZG9tYWluIjogImhvdGtleXMtcG9wdXAiLAogICJuYW1lIjogIkhvdGtleXMgUG9wdXAiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaG90a2V5cy1wb3B1cCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWlwbWlwL2dub21lLXNoZWxsLWV4dGVuc2lvbnMtaG90a2V5cy1wb3B1cCIsCiAgInV1aWQiOiAiaG90a2V5cy1wb3B1cEBwaW1zbmVsLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "inotch@alynx.one", "name": "iNotch", "pname": "inotch", "description": "Add a useless notch to your screen.", "link": "https://extensions.gnome.org/extension/4556/inotch/", "shell_version_map": {"40": {"version": "3", "sha256": "0x4zx4ph20maf5gw08j0j6v2whvviqs220vlr903nbcc5cxy7yil", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHVzZWxlc3Mgbm90Y2ggdG8geW91ciBzY3JlZW4uIiwKICAibmFtZSI6ICJpTm90Y2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FseW54WmhvdS9nbm9tZS1zaGVsbC1leHRlbnNpb24taW5vdGNoLyIsCiAgInV1aWQiOiAiaW5vdGNoQGFseW54Lm9uZSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "0x4zx4ph20maf5gw08j0j6v2whvviqs220vlr903nbcc5cxy7yil", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHVzZWxlc3Mgbm90Y2ggdG8geW91ciBzY3JlZW4uIiwKICAibmFtZSI6ICJpTm90Y2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FseW54WmhvdS9nbm9tZS1zaGVsbC1leHRlbnNpb24taW5vdGNoLyIsCiAgInV1aWQiOiAiaW5vdGNoQGFseW54Lm9uZSIsCiAgInZlcnNpb24iOiAzCn0="}}}
@@ -597,11 +598,11 @@
 , {"uuid": "pcalc@mgeck64.github.com", "name": "Panel Calculator", "pname": "panel-calculator", "description": "A text-based calculator that lives on the gnome panel, out of the way of your work.", "link": "https://extensions.gnome.org/extension/4567/panel-calculator/", "shell_version_map": {"38": {"version": "6", "sha256": "0rr98m2l20165mf8dcc2gwizqmksczkpbk8sqwhsppkvx6racz1m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgdGV4dC1iYXNlZCBjYWxjdWxhdG9yIHRoYXQgbGl2ZXMgb24gdGhlIGdub21lIHBhbmVsLCBvdXQgb2YgdGhlIHdheSBvZiB5b3VyIHdvcmsuIiwKICAibmFtZSI6ICJQYW5lbCBDYWxjdWxhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21nZWNrNjQvcGNhbGMtbWdlY2s2NC5naXRodWIuY29tIiwKICAidXVpZCI6ICJwY2FsY0BtZ2VjazY0LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "0rr98m2l20165mf8dcc2gwizqmksczkpbk8sqwhsppkvx6racz1m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgdGV4dC1iYXNlZCBjYWxjdWxhdG9yIHRoYXQgbGl2ZXMgb24gdGhlIGdub21lIHBhbmVsLCBvdXQgb2YgdGhlIHdheSBvZiB5b3VyIHdvcmsuIiwKICAibmFtZSI6ICJQYW5lbCBDYWxjdWxhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21nZWNrNjQvcGNhbGMtbWdlY2s2NC5naXRodWIuY29tIiwKICAidXVpZCI6ICJwY2FsY0BtZ2VjazY0LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "zfs-status-monitor@chris.hubick.com", "name": "ZFS Status Monitor", "pname": "zfs-status-monitor", "description": "Display status of ZFS filesystem pools currently present on the system, updating every 60 seconds.", "link": "https://extensions.gnome.org/extension/4568/zfs-status-monitor/", "shell_version_map": {"40": {"version": "1", "sha256": "07g6b3y2dpvb41qd0j5rkakxpvyfgwnwcqzfr00h6zfvrx32nnp0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgc3RhdHVzIG9mIFpGUyBmaWxlc3lzdGVtIHBvb2xzIGN1cnJlbnRseSBwcmVzZW50IG9uIHRoZSBzeXN0ZW0sIHVwZGF0aW5nIGV2ZXJ5IDYwIHNlY29uZHMuIiwKICAibmFtZSI6ICJaRlMgU3RhdHVzIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2h1Ymljay9nbm9tZS1zaGVsbC1leHRlbnNpb24temZzLXN0YXR1cy1tb25pdG9yIiwKICAidXVpZCI6ICJ6ZnMtc3RhdHVzLW1vbml0b3JAY2hyaXMuaHViaWNrLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "07g6b3y2dpvb41qd0j5rkakxpvyfgwnwcqzfr00h6zfvrx32nnp0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgc3RhdHVzIG9mIFpGUyBmaWxlc3lzdGVtIHBvb2xzIGN1cnJlbnRseSBwcmVzZW50IG9uIHRoZSBzeXN0ZW0sIHVwZGF0aW5nIGV2ZXJ5IDYwIHNlY29uZHMuIiwKICAibmFtZSI6ICJaRlMgU3RhdHVzIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2h1Ymljay9nbm9tZS1zaGVsbC1leHRlbnNpb24temZzLXN0YXR1cy1tb25pdG9yIiwKICAidXVpZCI6ICJ6ZnMtc3RhdHVzLW1vbml0b3JAY2hyaXMuaHViaWNrLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "dollar@dotpyc.com", "name": "Dollar", "pname": "dollar", "description": "Cotações do (USD Dólar Americano) convertido para (BRL Real Brasileiro).\n\nAs atualizações são recebidas a cada 30 segundos e utiliza como base informações disponiblizadas pela API AwesomeAPI, que pode ser consultada diretamente acessando o endereço eletronico https://docs.awesomeapi.com.br.", "link": "https://extensions.gnome.org/extension/4573/dollar/", "shell_version_map": {"38": {"version": "2", "sha256": "0100dspvm8ryqday9dqm76ykc9n9sikv3098yn6a92kpz9kgxacm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvdGFcdTAwZTdcdTAwZjVlcyBkbyAoVVNEIERcdTAwZjNsYXIgQW1lcmljYW5vKSBjb252ZXJ0aWRvIHBhcmEgKEJSTCBSZWFsIEJyYXNpbGVpcm8pLlxuXG5BcyBhdHVhbGl6YVx1MDBlN1x1MDBmNWVzIHNcdTAwZTNvIHJlY2ViaWRhcyBhIGNhZGEgMzAgc2VndW5kb3MgZSB1dGlsaXphIGNvbW8gYmFzZSBpbmZvcm1hXHUwMGU3XHUwMGY1ZXMgZGlzcG9uaWJsaXphZGFzIHBlbGEgQVBJIEF3ZXNvbWVBUEksIHF1ZSBwb2RlIHNlciBjb25zdWx0YWRhIGRpcmV0YW1lbnRlIGFjZXNzYW5kbyBvIGVuZGVyZVx1MDBlN28gZWxldHJvbmljbyBodHRwczovL2RvY3MuYXdlc29tZWFwaS5jb20uYnIuIiwKICAibmFtZSI6ICJEb2xsYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pY2hhZWxkZW1hdHRvcy9kb2xsYXItZG90cHljLmNvbSIsCiAgInV1aWQiOiAiZG9sbGFyQGRvdHB5Yy5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}, "40": {"version": "2", "sha256": "0100dspvm8ryqday9dqm76ykc9n9sikv3098yn6a92kpz9kgxacm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvdGFcdTAwZTdcdTAwZjVlcyBkbyAoVVNEIERcdTAwZjNsYXIgQW1lcmljYW5vKSBjb252ZXJ0aWRvIHBhcmEgKEJSTCBSZWFsIEJyYXNpbGVpcm8pLlxuXG5BcyBhdHVhbGl6YVx1MDBlN1x1MDBmNWVzIHNcdTAwZTNvIHJlY2ViaWRhcyBhIGNhZGEgMzAgc2VndW5kb3MgZSB1dGlsaXphIGNvbW8gYmFzZSBpbmZvcm1hXHUwMGU3XHUwMGY1ZXMgZGlzcG9uaWJsaXphZGFzIHBlbGEgQVBJIEF3ZXNvbWVBUEksIHF1ZSBwb2RlIHNlciBjb25zdWx0YWRhIGRpcmV0YW1lbnRlIGFjZXNzYW5kbyBvIGVuZGVyZVx1MDBlN28gZWxldHJvbmljbyBodHRwczovL2RvY3MuYXdlc29tZWFwaS5jb20uYnIuIiwKICAibmFtZSI6ICJEb2xsYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pY2hhZWxkZW1hdHRvcy9kb2xsYXItZG90cHljLmNvbSIsCiAgInV1aWQiOiAiZG9sbGFyQGRvdHB5Yy5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}, "41": {"version": "2", "sha256": "0100dspvm8ryqday9dqm76ykc9n9sikv3098yn6a92kpz9kgxacm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvdGFcdTAwZTdcdTAwZjVlcyBkbyAoVVNEIERcdTAwZjNsYXIgQW1lcmljYW5vKSBjb252ZXJ0aWRvIHBhcmEgKEJSTCBSZWFsIEJyYXNpbGVpcm8pLlxuXG5BcyBhdHVhbGl6YVx1MDBlN1x1MDBmNWVzIHNcdTAwZTNvIHJlY2ViaWRhcyBhIGNhZGEgMzAgc2VndW5kb3MgZSB1dGlsaXphIGNvbW8gYmFzZSBpbmZvcm1hXHUwMGU3XHUwMGY1ZXMgZGlzcG9uaWJsaXphZGFzIHBlbGEgQVBJIEF3ZXNvbWVBUEksIHF1ZSBwb2RlIHNlciBjb25zdWx0YWRhIGRpcmV0YW1lbnRlIGFjZXNzYW5kbyBvIGVuZGVyZVx1MDBlN28gZWxldHJvbmljbyBodHRwczovL2RvY3MuYXdlc29tZWFwaS5jb20uYnIuIiwKICAibmFtZSI6ICJEb2xsYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pY2hhZWxkZW1hdHRvcy9kb2xsYXItZG90cHljLmNvbSIsCiAgInV1aWQiOiAiZG9sbGFyQGRvdHB5Yy5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}}}
-, {"uuid": "activate_gnome@isjerryxiao", "name": "Activate Gnome", "pname": "activate_gnome", "description": "Shows Activate Gnome watermark on your screen.", "link": "https://extensions.gnome.org/extension/4574/activate_gnome/", "shell_version_map": {"40": {"version": "5", "sha256": "1jng0xwqchvan08klq8i6rziwi1fn7spfzh151fv1n56fxay48f8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIEFjdGl2YXRlIEdub21lIHdhdGVybWFyayBvbiB5b3VyIHNjcmVlbi4iLAogICJuYW1lIjogIkFjdGl2YXRlIEdub21lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFjdGl2YXRlX2dub21lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaXNqZXJyeXhpYW8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFjdGl2YXRlLWdub21lIiwKICAidXVpZCI6ICJhY3RpdmF0ZV9nbm9tZUBpc2plcnJ5eGlhbyIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "1jng0xwqchvan08klq8i6rziwi1fn7spfzh151fv1n56fxay48f8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIEFjdGl2YXRlIEdub21lIHdhdGVybWFyayBvbiB5b3VyIHNjcmVlbi4iLAogICJuYW1lIjogIkFjdGl2YXRlIEdub21lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFjdGl2YXRlX2dub21lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaXNqZXJyeXhpYW8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFjdGl2YXRlLWdub21lIiwKICAidXVpZCI6ICJhY3RpdmF0ZV9nbm9tZUBpc2plcnJ5eGlhbyIsCiAgInZlcnNpb24iOiA1Cn0="}, "42": {"version": "5", "sha256": "1jng0xwqchvan08klq8i6rziwi1fn7spfzh151fv1n56fxay48f8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIEFjdGl2YXRlIEdub21lIHdhdGVybWFyayBvbiB5b3VyIHNjcmVlbi4iLAogICJuYW1lIjogIkFjdGl2YXRlIEdub21lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFjdGl2YXRlX2dub21lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaXNqZXJyeXhpYW8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFjdGl2YXRlLWdub21lIiwKICAidXVpZCI6ICJhY3RpdmF0ZV9nbm9tZUBpc2plcnJ5eGlhbyIsCiAgInZlcnNpb24iOiA1Cn0="}}}
+, {"uuid": "activate_gnome@isjerryxiao", "name": "Activate GNOME", "pname": "activate_gnome", "description": "Shows Activate GNOME watermark on your screen.", "link": "https://extensions.gnome.org/extension/4574/activate_gnome/", "shell_version_map": {"40": {"version": "6", "sha256": "0dhb8fhzs9gb1blvgswdxvnzf9ac6ix0zdmhkw87cswsj0dgqj0d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIEFjdGl2YXRlIEdOT01FIHdhdGVybWFyayBvbiB5b3VyIHNjcmVlbi4iLAogICJuYW1lIjogIkFjdGl2YXRlIEdOT01FIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFjdGl2YXRlX2dub21lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaXNqZXJyeXhpYW8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFjdGl2YXRlLWdub21lIiwKICAidXVpZCI6ICJhY3RpdmF0ZV9nbm9tZUBpc2plcnJ5eGlhbyIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "0dhb8fhzs9gb1blvgswdxvnzf9ac6ix0zdmhkw87cswsj0dgqj0d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIEFjdGl2YXRlIEdOT01FIHdhdGVybWFyayBvbiB5b3VyIHNjcmVlbi4iLAogICJuYW1lIjogIkFjdGl2YXRlIEdOT01FIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFjdGl2YXRlX2dub21lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaXNqZXJyeXhpYW8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFjdGl2YXRlLWdub21lIiwKICAidXVpZCI6ICJhY3RpdmF0ZV9nbm9tZUBpc2plcnJ5eGlhbyIsCiAgInZlcnNpb24iOiA2Cn0="}, "42": {"version": "6", "sha256": "0dhb8fhzs9gb1blvgswdxvnzf9ac6ix0zdmhkw87cswsj0dgqj0d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIEFjdGl2YXRlIEdOT01FIHdhdGVybWFyayBvbiB5b3VyIHNjcmVlbi4iLAogICJuYW1lIjogIkFjdGl2YXRlIEdOT01FIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFjdGl2YXRlX2dub21lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaXNqZXJyeXhpYW8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFjdGl2YXRlLWdub21lIiwKICAidXVpZCI6ICJhY3RpdmF0ZV9nbm9tZUBpc2plcnJ5eGlhbyIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "huawei-wmi@apps.sdore.me", "name": "Huawei WMI controls", "pname": "huawei-wmi-controls", "description": "Control various Huawei and Honor laptops WMI functions, such as battery protection, Fn-lock, power unlock and keyboard backlight.\n\nSee repository for requirements:", "link": "https://extensions.gnome.org/extension/4580/huawei-wmi-controls/", "shell_version_map": {"40": {"version": "4", "sha256": "1dpkgs0zifbq09pmsqirr1ndh2yd8x8z4gzzjpv0mazvxpqlzdm2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LlxuXG5TZWUgcmVwb3NpdG9yeSBmb3IgcmVxdWlyZW1lbnRzOiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2FwcHMuc2RvcmUubWUvZ25vbWUtZXh0ZW5zaW9uLWh1YXdlaS13bWkiLAogICJ1dWlkIjogImh1YXdlaS13bWlAYXBwcy5zZG9yZS5tZSIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "1dpkgs0zifbq09pmsqirr1ndh2yd8x8z4gzzjpv0mazvxpqlzdm2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2ssIHBvd2VyIHVubG9jayBhbmQga2V5Ym9hcmQgYmFja2xpZ2h0LlxuXG5TZWUgcmVwb3NpdG9yeSBmb3IgcmVxdWlyZW1lbnRzOiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2FwcHMuc2RvcmUubWUvZ25vbWUtZXh0ZW5zaW9uLWh1YXdlaS13bWkiLAogICJ1dWlkIjogImh1YXdlaS13bWlAYXBwcy5zZG9yZS5tZSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "username-hotname@it-und-entwicklung-fg.de", "name": "Username and Hostname to panel", "pname": "username-and-hostname-to-panel", "description": "Adds your avatar icon, user displayname und username to the menu panel. Also it adds the hostname to the left of the panel.", "link": "https://extensions.gnome.org/extension/4583/username-and-hostname-to-panel/", "shell_version_map": {"38": {"version": "4", "sha256": "0v98gymiw2pdczvndrvj3lsyhwi8ps0jldry1ykm9aghb05s13gx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciBhdmF0YXIgaWNvbiwgdXNlciBkaXNwbGF5bmFtZSB1bmQgdXNlcm5hbWUgdG8gdGhlIG1lbnUgcGFuZWwuIEFsc28gaXQgYWRkcyB0aGUgaG9zdG5hbWUgdG8gdGhlIGxlZnQgb2YgdGhlIHBhbmVsLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VybmFtZS1ob3RuYW1lIiwKICAibmFtZSI6ICJVc2VybmFtZSBhbmQgSG9zdG5hbWUgdG8gcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2l0LWVudHdpY2tsdW5nLWZnL1VzZXJuYW1lLWFuZC1Ib3N0bmFtZSIsCiAgInV1aWQiOiAidXNlcm5hbWUtaG90bmFtZUBpdC11bmQtZW50d2lja2x1bmctZmcuZGUiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "0v98gymiw2pdczvndrvj3lsyhwi8ps0jldry1ykm9aghb05s13gx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciBhdmF0YXIgaWNvbiwgdXNlciBkaXNwbGF5bmFtZSB1bmQgdXNlcm5hbWUgdG8gdGhlIG1lbnUgcGFuZWwuIEFsc28gaXQgYWRkcyB0aGUgaG9zdG5hbWUgdG8gdGhlIGxlZnQgb2YgdGhlIHBhbmVsLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VybmFtZS1ob3RuYW1lIiwKICAibmFtZSI6ICJVc2VybmFtZSBhbmQgSG9zdG5hbWUgdG8gcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2l0LWVudHdpY2tsdW5nLWZnL1VzZXJuYW1lLWFuZC1Ib3N0bmFtZSIsCiAgInV1aWQiOiAidXNlcm5hbWUtaG90bmFtZUBpdC11bmQtZW50d2lja2x1bmctZmcuZGUiLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "0v98gymiw2pdczvndrvj3lsyhwi8ps0jldry1ykm9aghb05s13gx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciBhdmF0YXIgaWNvbiwgdXNlciBkaXNwbGF5bmFtZSB1bmQgdXNlcm5hbWUgdG8gdGhlIG1lbnUgcGFuZWwuIEFsc28gaXQgYWRkcyB0aGUgaG9zdG5hbWUgdG8gdGhlIGxlZnQgb2YgdGhlIHBhbmVsLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VybmFtZS1ob3RuYW1lIiwKICAibmFtZSI6ICJVc2VybmFtZSBhbmQgSG9zdG5hbWUgdG8gcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2l0LWVudHdpY2tsdW5nLWZnL1VzZXJuYW1lLWFuZC1Ib3N0bmFtZSIsCiAgInV1aWQiOiAidXNlcm5hbWUtaG90bmFtZUBpdC11bmQtZW50d2lja2x1bmctZmcuZGUiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "InternetSpeedMonitor@Rishu", "name": "Internet Speed Monitor", "pname": "internet-speed-monitor", "description": "Extension to Monitor Internet Speed and Daily Data Usage minimally.\n\nNew update for shell version 3.34+ : Added option to choose what to display in settings menu", "link": "https://extensions.gnome.org/extension/4585/internet-speed-monitor/", "shell_version_map": {"38": {"version": "5", "sha256": "0v4za9lcc7p861vyrnwwza1sizgzj2nv3yz1aixlsbq22d7zf0ac", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4dGVuc2lvbiB0byBNb25pdG9yIEludGVybmV0IFNwZWVkIGFuZCBEYWlseSBEYXRhIFVzYWdlIG1pbmltYWxseS5cblxuTmV3IHVwZGF0ZSBmb3Igc2hlbGwgdmVyc2lvbiAzLjM0KyA6IEFkZGVkIG9wdGlvbiB0byBjaG9vc2Ugd2hhdCB0byBkaXNwbGF5IGluIHNldHRpbmdzIG1lbnUiLAogICJuYW1lIjogIkludGVybmV0IFNwZWVkIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Jpc2h1aW5maW5pdHkvSW50ZXJuZXRTcGVlZE1vbml0b3IiLAogICJ1dWlkIjogIkludGVybmV0U3BlZWRNb25pdG9yQFJpc2h1IiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "5", "sha256": "0v4za9lcc7p861vyrnwwza1sizgzj2nv3yz1aixlsbq22d7zf0ac", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4dGVuc2lvbiB0byBNb25pdG9yIEludGVybmV0IFNwZWVkIGFuZCBEYWlseSBEYXRhIFVzYWdlIG1pbmltYWxseS5cblxuTmV3IHVwZGF0ZSBmb3Igc2hlbGwgdmVyc2lvbiAzLjM0KyA6IEFkZGVkIG9wdGlvbiB0byBjaG9vc2Ugd2hhdCB0byBkaXNwbGF5IGluIHNldHRpbmdzIG1lbnUiLAogICJuYW1lIjogIkludGVybmV0IFNwZWVkIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Jpc2h1aW5maW5pdHkvSW50ZXJuZXRTcGVlZE1vbml0b3IiLAogICJ1dWlkIjogIkludGVybmV0U3BlZWRNb25pdG9yQFJpc2h1IiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "0v4za9lcc7p861vyrnwwza1sizgzj2nv3yz1aixlsbq22d7zf0ac", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4dGVuc2lvbiB0byBNb25pdG9yIEludGVybmV0IFNwZWVkIGFuZCBEYWlseSBEYXRhIFVzYWdlIG1pbmltYWxseS5cblxuTmV3IHVwZGF0ZSBmb3Igc2hlbGwgdmVyc2lvbiAzLjM0KyA6IEFkZGVkIG9wdGlvbiB0byBjaG9vc2Ugd2hhdCB0byBkaXNwbGF5IGluIHNldHRpbmdzIG1lbnUiLAogICJuYW1lIjogIkludGVybmV0IFNwZWVkIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Jpc2h1aW5maW5pdHkvSW50ZXJuZXRTcGVlZE1vbml0b3IiLAogICJ1dWlkIjogIkludGVybmV0U3BlZWRNb25pdG9yQFJpc2h1IiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
-, {"uuid": "simulate-switching-workspaces-on-active-monitor@micheledaros.com", "name": "Switch workspaces on active monitor", "pname": "switch-workspaces-on-active-monitor", "description": "Simulates switching the workspace on the active monitor only. Ctrl+Alt+q switches to the previous workspace, Ctrl+Alt+a switches to the next", "link": "https://extensions.gnome.org/extension/4586/switch-workspaces-on-active-monitor/", "shell_version_map": {"38": {"version": "7", "sha256": "13wm1xq452ik57mxx3v9h56dlhhjng326kw2cqgj365h7k6bjs99", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXVsYXRlcyBzd2l0Y2hpbmcgdGhlIHdvcmtzcGFjZSBvbiB0aGUgYWN0aXZlIG1vbml0b3Igb25seS4gQ3RybCtBbHQrcSBzd2l0Y2hlcyB0byB0aGUgcHJldmlvdXMgd29ya3NwYWNlLCBDdHJsK0FsdCthIHN3aXRjaGVzIHRvIHRoZSBuZXh0IiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyBvbiBhY3RpdmUgbW9uaXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiZGFyb3NtaWNAZ21haWwuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWNoZWxlZGFyb3MvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAidXVpZCI6ICJzaW11bGF0ZS1zd2l0Y2hpbmctd29ya3NwYWNlcy1vbi1hY3RpdmUtbW9uaXRvckBtaWNoZWxlZGFyb3MuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "13wm1xq452ik57mxx3v9h56dlhhjng326kw2cqgj365h7k6bjs99", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXVsYXRlcyBzd2l0Y2hpbmcgdGhlIHdvcmtzcGFjZSBvbiB0aGUgYWN0aXZlIG1vbml0b3Igb25seS4gQ3RybCtBbHQrcSBzd2l0Y2hlcyB0byB0aGUgcHJldmlvdXMgd29ya3NwYWNlLCBDdHJsK0FsdCthIHN3aXRjaGVzIHRvIHRoZSBuZXh0IiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyBvbiBhY3RpdmUgbW9uaXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiZGFyb3NtaWNAZ21haWwuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWNoZWxlZGFyb3MvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAidXVpZCI6ICJzaW11bGF0ZS1zd2l0Y2hpbmctd29ya3NwYWNlcy1vbi1hY3RpdmUtbW9uaXRvckBtaWNoZWxlZGFyb3MuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "41": {"version": "7", "sha256": "13wm1xq452ik57mxx3v9h56dlhhjng326kw2cqgj365h7k6bjs99", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXVsYXRlcyBzd2l0Y2hpbmcgdGhlIHdvcmtzcGFjZSBvbiB0aGUgYWN0aXZlIG1vbml0b3Igb25seS4gQ3RybCtBbHQrcSBzd2l0Y2hlcyB0byB0aGUgcHJldmlvdXMgd29ya3NwYWNlLCBDdHJsK0FsdCthIHN3aXRjaGVzIHRvIHRoZSBuZXh0IiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyBvbiBhY3RpdmUgbW9uaXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiZGFyb3NtaWNAZ21haWwuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWNoZWxlZGFyb3MvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAidXVpZCI6ICJzaW11bGF0ZS1zd2l0Y2hpbmctd29ya3NwYWNlcy1vbi1hY3RpdmUtbW9uaXRvckBtaWNoZWxlZGFyb3MuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
+, {"uuid": "simulate-switching-workspaces-on-active-monitor@micheledaros.com", "name": "Switch workspaces on active monitor", "pname": "switch-workspaces-on-active-monitor", "description": "Simulates switching the workspace on the active monitor only. Ctrl+Alt+q switches to the previous workspace, Ctrl+Alt+a switches to the next", "link": "https://extensions.gnome.org/extension/4586/switch-workspaces-on-active-monitor/", "shell_version_map": {"38": {"version": "8", "sha256": "1yakh03r6qz08994bigzr9m5qqgm9ab2c02s1rab5rwym0a4d0vq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXVsYXRlcyBzd2l0Y2hpbmcgdGhlIHdvcmtzcGFjZSBvbiB0aGUgYWN0aXZlIG1vbml0b3Igb25seS4gQ3RybCtBbHQrcSBzd2l0Y2hlcyB0byB0aGUgcHJldmlvdXMgd29ya3NwYWNlLCBDdHJsK0FsdCthIHN3aXRjaGVzIHRvIHRoZSBuZXh0IiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyBvbiBhY3RpdmUgbW9uaXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiZGFyb3NtaWNAZ21haWwuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWljaGVsZWRhcm9zL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zaW11bGF0ZS1zd2l0Y2hpbmctd29ya3NwYWNlcy1vbi1hY3RpdmUtbW9uaXRvciIsCiAgInV1aWQiOiAic2ltdWxhdGUtc3dpdGNoaW5nLXdvcmtzcGFjZXMtb24tYWN0aXZlLW1vbml0b3JAbWljaGVsZWRhcm9zLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}, "40": {"version": "8", "sha256": "1yakh03r6qz08994bigzr9m5qqgm9ab2c02s1rab5rwym0a4d0vq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXVsYXRlcyBzd2l0Y2hpbmcgdGhlIHdvcmtzcGFjZSBvbiB0aGUgYWN0aXZlIG1vbml0b3Igb25seS4gQ3RybCtBbHQrcSBzd2l0Y2hlcyB0byB0aGUgcHJldmlvdXMgd29ya3NwYWNlLCBDdHJsK0FsdCthIHN3aXRjaGVzIHRvIHRoZSBuZXh0IiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyBvbiBhY3RpdmUgbW9uaXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiZGFyb3NtaWNAZ21haWwuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWljaGVsZWRhcm9zL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zaW11bGF0ZS1zd2l0Y2hpbmctd29ya3NwYWNlcy1vbi1hY3RpdmUtbW9uaXRvciIsCiAgInV1aWQiOiAic2ltdWxhdGUtc3dpdGNoaW5nLXdvcmtzcGFjZXMtb24tYWN0aXZlLW1vbml0b3JAbWljaGVsZWRhcm9zLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}, "41": {"version": "8", "sha256": "1yakh03r6qz08994bigzr9m5qqgm9ab2c02s1rab5rwym0a4d0vq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXVsYXRlcyBzd2l0Y2hpbmcgdGhlIHdvcmtzcGFjZSBvbiB0aGUgYWN0aXZlIG1vbml0b3Igb25seS4gQ3RybCtBbHQrcSBzd2l0Y2hlcyB0byB0aGUgcHJldmlvdXMgd29ya3NwYWNlLCBDdHJsK0FsdCthIHN3aXRjaGVzIHRvIHRoZSBuZXh0IiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyBvbiBhY3RpdmUgbW9uaXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiZGFyb3NtaWNAZ21haWwuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWljaGVsZWRhcm9zL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zaW11bGF0ZS1zd2l0Y2hpbmctd29ya3NwYWNlcy1vbi1hY3RpdmUtbW9uaXRvciIsCiAgInV1aWQiOiAic2ltdWxhdGUtc3dpdGNoaW5nLXdvcmtzcGFjZXMtb24tYWN0aXZlLW1vbml0b3JAbWljaGVsZWRhcm9zLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}, "42": {"version": "8", "sha256": "1yakh03r6qz08994bigzr9m5qqgm9ab2c02s1rab5rwym0a4d0vq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXVsYXRlcyBzd2l0Y2hpbmcgdGhlIHdvcmtzcGFjZSBvbiB0aGUgYWN0aXZlIG1vbml0b3Igb25seS4gQ3RybCtBbHQrcSBzd2l0Y2hlcyB0byB0aGUgcHJldmlvdXMgd29ya3NwYWNlLCBDdHJsK0FsdCthIHN3aXRjaGVzIHRvIHRoZSBuZXh0IiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyBvbiBhY3RpdmUgbW9uaXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiZGFyb3NtaWNAZ21haWwuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWljaGVsZWRhcm9zL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zaW11bGF0ZS1zd2l0Y2hpbmctd29ya3NwYWNlcy1vbi1hY3RpdmUtbW9uaXRvciIsCiAgInV1aWQiOiAic2ltdWxhdGUtc3dpdGNoaW5nLXdvcmtzcGFjZXMtb24tYWN0aXZlLW1vbml0b3JAbWljaGVsZWRhcm9zLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}}}
 , {"uuid": "newworkspaceshortcut@barnix.io", "name": "New Workspace Shortcut", "pname": "new-workspace-shortcut", "description": "This extension will enable the following:\n\nMove-window-to-new-workspace Shortcut:\nUse a shortcut to move the in-focus window to a new workspace on the right of your current workspace: Super + Alt + Shift + n\nOr to the left / backward: Super + Alt + Shift + b\n\nNew-empty-workspace Shortcut:\nUse a shortcut to create an empty workspace on the right: Super + Alt + n\nOr to the left / backward: Super + Alt + b\n\nReorder-workspace Shortcut:\nUse a shortcut to move an entire workspace left or right of the current workspace: Ctl + Super + Left or Ctl + Super + Right\nBy default, this shorcut with automatically trigger the Overview to provide a limited form of visual feedback. However, this preference can be changed via the extension's Settings panel.\n\nThese shortcuts are created to work logically with the vanilla gnome shortcuts including change-workspace (Super + ALT + Left/Right) and move-window-to-next-workspace (Shift + Super + ALT + Left/Right).", "link": "https://extensions.gnome.org/extension/4597/new-workspace-shortcut/", "shell_version_map": {"41": {"version": "5", "sha256": "0anj72nb9wf80xyhymzr0v97v6hkpi95nmpmpajg5a3w05dz8y7n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHdpbGwgZW5hYmxlIHRoZSBmb2xsb3dpbmc6XG5cbk1vdmUtd2luZG93LXRvLW5ldy13b3Jrc3BhY2UgU2hvcnRjdXQ6XG5Vc2UgYSBzaG9ydGN1dCB0byBtb3ZlIHRoZSBpbi1mb2N1cyB3aW5kb3cgdG8gYSBuZXcgd29ya3NwYWNlIG9uIHRoZSByaWdodCBvZiB5b3VyIGN1cnJlbnQgd29ya3NwYWNlOiBTdXBlciArIEFsdCArIFNoaWZ0ICsgblxuT3IgdG8gdGhlIGxlZnQgLyBiYWNrd2FyZDogU3VwZXIgKyBBbHQgKyBTaGlmdCArIGJcblxuTmV3LWVtcHR5LXdvcmtzcGFjZSBTaG9ydGN1dDpcblVzZSBhIHNob3J0Y3V0IHRvIGNyZWF0ZSBhbiBlbXB0eSB3b3Jrc3BhY2Ugb24gdGhlIHJpZ2h0OiBTdXBlciArIEFsdCArIG5cbk9yIHRvIHRoZSBsZWZ0IC8gYmFja3dhcmQ6IFN1cGVyICsgQWx0ICsgYlxuXG5SZW9yZGVyLXdvcmtzcGFjZSBTaG9ydGN1dDpcblVzZSBhIHNob3J0Y3V0IHRvIG1vdmUgYW4gZW50aXJlIHdvcmtzcGFjZSBsZWZ0IG9yIHJpZ2h0IG9mIHRoZSBjdXJyZW50IHdvcmtzcGFjZTogQ3RsICsgU3VwZXIgKyBMZWZ0IG9yIEN0bCArIFN1cGVyICsgUmlnaHRcbkJ5IGRlZmF1bHQsIHRoaXMgc2hvcmN1dCB3aXRoIGF1dG9tYXRpY2FsbHkgdHJpZ2dlciB0aGUgT3ZlcnZpZXcgdG8gcHJvdmlkZSBhIGxpbWl0ZWQgZm9ybSBvZiB2aXN1YWwgZmVlZGJhY2suIEhvd2V2ZXIsIHRoaXMgcHJlZmVyZW5jZSBjYW4gYmUgY2hhbmdlZCB2aWEgdGhlIGV4dGVuc2lvbidzIFNldHRpbmdzIHBhbmVsLlxuXG5UaGVzZSBzaG9ydGN1dHMgYXJlIGNyZWF0ZWQgdG8gd29yayBsb2dpY2FsbHkgd2l0aCB0aGUgdmFuaWxsYSBnbm9tZSBzaG9ydGN1dHMgaW5jbHVkaW5nIGNoYW5nZS13b3Jrc3BhY2UgKFN1cGVyICsgQUxUICsgTGVmdC9SaWdodCkgYW5kIG1vdmUtd2luZG93LXRvLW5leHQtd29ya3NwYWNlIChTaGlmdCArIFN1cGVyICsgQUxUICsgTGVmdC9SaWdodCkuIiwKICAibmFtZSI6ICJOZXcgV29ya3NwYWNlIFNob3J0Y3V0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5ld3dvcmtzcGFjZXNob3J0Y3V0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Jhcm5zY290dC9uZXd3b3Jrc3BhY2VzaG9ydGN1dC1iYXJuaXguaW8iLAogICJ1dWlkIjogIm5ld3dvcmtzcGFjZXNob3J0Y3V0QGJhcm5peC5pbyIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "p.stonham@switcheroo.org", "name": "Switcheroo", "pname": "switcheroo", "description": "Switch to the first window with the title x\n\nA very small extension to allow you to switch windows via gdbus. This is particularly useful if you are using wayland as utilities such as wmctrl won't work.\n\nSince Gnome 41 removed org.gnome.Shell.Eval for security reasons, if you ever used a command such as:\n\ngdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval\"var mw = global.get_window_actors().map(w=&gt;w.meta_window).find(mw=&gt;mw.get_title().includes('Firefox'));mw &amp;&amp; mw.activate(0)\"\n\nthis can now be replaced with:\n\ngdbus call --session --dest org.gnome.Shell --object-path /org/switcheroo/Switcheroo --method org.switcheroo.Switcheroo.Set Firefox\n\nThis can then be assigned to a shortcut key in Gnome settings or called programmatically.", "link": "https://extensions.gnome.org/extension/4600/switcheroo/", "shell_version_map": {"41": {"version": "3", "sha256": "0pfjhx8pm26zpizazd2pbpfqsr8vwc6znrm1cbf4ydcyvfxsnwwh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB0byB0aGUgZmlyc3Qgd2luZG93IHdpdGggdGhlIHRpdGxlIHhcblxuQSB2ZXJ5IHNtYWxsIGV4dGVuc2lvbiB0byBhbGxvdyB5b3UgdG8gc3dpdGNoIHdpbmRvd3MgdmlhIGdkYnVzLiBUaGlzIGlzIHBhcnRpY3VsYXJseSB1c2VmdWwgaWYgeW91IGFyZSB1c2luZyB3YXlsYW5kIGFzIHV0aWxpdGllcyBzdWNoIGFzIHdtY3RybCB3b24ndCB3b3JrLlxuXG5TaW5jZSBHbm9tZSA0MSByZW1vdmVkIG9yZy5nbm9tZS5TaGVsbC5FdmFsIGZvciBzZWN1cml0eSByZWFzb25zLCBpZiB5b3UgZXZlciB1c2VkIGEgY29tbWFuZCBzdWNoIGFzOlxuXG5nZGJ1cyBjYWxsIC0tc2Vzc2lvbiAtLWRlc3Qgb3JnLmdub21lLlNoZWxsIC0tb2JqZWN0LXBhdGggL29yZy9nbm9tZS9TaGVsbCAtLW1ldGhvZCBvcmcuZ25vbWUuU2hlbGwuRXZhbFwidmFyIG13ID0gZ2xvYmFsLmdldF93aW5kb3dfYWN0b3JzKCkubWFwKHc9Jmd0O3cubWV0YV93aW5kb3cpLmZpbmQobXc9Jmd0O213LmdldF90aXRsZSgpLmluY2x1ZGVzKCdGaXJlZm94JykpO213ICZhbXA7JmFtcDsgbXcuYWN0aXZhdGUoMClcIlxuXG50aGlzIGNhbiBub3cgYmUgcmVwbGFjZWQgd2l0aDpcblxuZ2RidXMgY2FsbCAtLXNlc3Npb24gLS1kZXN0IG9yZy5nbm9tZS5TaGVsbCAtLW9iamVjdC1wYXRoIC9vcmcvc3dpdGNoZXJvby9Td2l0Y2hlcm9vIC0tbWV0aG9kIG9yZy5zd2l0Y2hlcm9vLlN3aXRjaGVyb28uU2V0IEZpcmVmb3hcblxuVGhpcyBjYW4gdGhlbiBiZSBhc3NpZ25lZCB0byBhIHNob3J0Y3V0IGtleSBpbiBHbm9tZSBzZXR0aW5ncyBvciBjYWxsZWQgcHJvZ3JhbW1hdGljYWxseS4iLAogICJuYW1lIjogIlN3aXRjaGVyb28iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInAuc3RvbmhhbUBzd2l0Y2hlcm9vLm9yZyIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "sane-airplane-mode@kippi", "name": "Sane Airplane Mode", "pname": "sane-airplane-mode", "description": "Make airplane mode sane again! This extension gives you better control over the airplane mode. \nHint: With this extension you can also turn off the annoying \"Bluetooth gets turned on when I disable airplane mode\" behaviour.", "link": "https://extensions.gnome.org/extension/4604/sane-airplane-mode/", "shell_version_map": {"40": {"version": "7", "sha256": "0y79lqhc4ps7nhzpm0jwcpmy8y5pq4fz06jdxsiplfp6x95kkbny", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgYWlycGxhbmUgbW9kZSBzYW5lIGFnYWluISBUaGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgYmV0dGVyIGNvbnRyb2wgb3ZlciB0aGUgYWlycGxhbmUgbW9kZS4gXG5IaW50OiBXaXRoIHRoaXMgZXh0ZW5zaW9uIHlvdSBjYW4gYWxzbyB0dXJuIG9mZiB0aGUgYW5ub3lpbmcgXCJCbHVldG9vdGggZ2V0cyB0dXJuZWQgb24gd2hlbiBJIGRpc2FibGUgYWlycGxhbmUgbW9kZVwiIGJlaGF2aW91ci4iLAogICJuYW1lIjogIlNhbmUgQWlycGxhbmUgTW9kZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veEtpcHBpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zYW5lLWFpcnBsYW5lLW1vZGUiLAogICJ1dWlkIjogInNhbmUtYWlycGxhbmUtbW9kZUBraXBwaSIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "0y79lqhc4ps7nhzpm0jwcpmy8y5pq4fz06jdxsiplfp6x95kkbny", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgYWlycGxhbmUgbW9kZSBzYW5lIGFnYWluISBUaGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgYmV0dGVyIGNvbnRyb2wgb3ZlciB0aGUgYWlycGxhbmUgbW9kZS4gXG5IaW50OiBXaXRoIHRoaXMgZXh0ZW5zaW9uIHlvdSBjYW4gYWxzbyB0dXJuIG9mZiB0aGUgYW5ub3lpbmcgXCJCbHVldG9vdGggZ2V0cyB0dXJuZWQgb24gd2hlbiBJIGRpc2FibGUgYWlycGxhbmUgbW9kZVwiIGJlaGF2aW91ci4iLAogICJuYW1lIjogIlNhbmUgQWlycGxhbmUgTW9kZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veEtpcHBpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zYW5lLWFpcnBsYW5lLW1vZGUiLAogICJ1dWlkIjogInNhbmUtYWlycGxhbmUtbW9kZUBraXBwaSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
@@ -627,20 +628,20 @@
 , {"uuid": "cloudflare-warp-gnome@harshan01", "name": "Cloudflare 1.1.1.1 WARP Switcher", "pname": "cloudflare-1111-warp-switcher", "description": "Unofficial Cloudflare 1.1.1.1 WARP Switcher extension for GNOME shell", "link": "https://extensions.gnome.org/extension/4670/cloudflare-1111-warp-switcher/", "shell_version_map": {"38": {"version": "2", "sha256": "0r4m8ga3l31gbi3pxvpnc4w98ik4ixn609hj1nqj3c95f3ld97z3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVub2ZmaWNpYWwgQ2xvdWRmbGFyZSAxLjEuMS4xIFdBUlAgU3dpdGNoZXIgZXh0ZW5zaW9uIGZvciBHTk9NRSBzaGVsbCIsCiAgIm5hbWUiOiAiQ2xvdWRmbGFyZSAxLjEuMS4xIFdBUlAgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSGFyc2hhbjAxL0Nsb3VkZmxhcmUtV0FSUC1HTk9NRS1Td2l0Y2hlciIsCiAgInV1aWQiOiAiY2xvdWRmbGFyZS13YXJwLWdub21lQGhhcnNoYW4wMSIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "0r4m8ga3l31gbi3pxvpnc4w98ik4ixn609hj1nqj3c95f3ld97z3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVub2ZmaWNpYWwgQ2xvdWRmbGFyZSAxLjEuMS4xIFdBUlAgU3dpdGNoZXIgZXh0ZW5zaW9uIGZvciBHTk9NRSBzaGVsbCIsCiAgIm5hbWUiOiAiQ2xvdWRmbGFyZSAxLjEuMS4xIFdBUlAgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSGFyc2hhbjAxL0Nsb3VkZmxhcmUtV0FSUC1HTk9NRS1Td2l0Y2hlciIsCiAgInV1aWQiOiAiY2xvdWRmbGFyZS13YXJwLWdub21lQGhhcnNoYW4wMSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "alt-tab-move-mouse@buzztaiki.github.com", "name": "Alt-Tab Move Mouse", "pname": "alt-tab-move-mouse", "description": "Move mouse pointer onto active window after Alt-Tab. This extension is workaround of some sloppy focus problems", "link": "https://extensions.gnome.org/extension/4673/alt-tab-move-mouse/", "shell_version_map": {"40": {"version": "1", "sha256": "0dl2v61v2iqnf1qk7dsi60bm68kk4kc16jbrk9knw4ys8n35bxy3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgbW91c2UgcG9pbnRlciBvbnRvIGFjdGl2ZSB3aW5kb3cgYWZ0ZXIgQWx0LVRhYi4gVGhpcyBleHRlbnNpb24gaXMgd29ya2Fyb3VuZCBvZiBzb21lIHNsb3BweSBmb2N1cyBwcm9ibGVtcyIsCiAgIm5hbWUiOiAiQWx0LVRhYiBNb3ZlIE1vdXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9idXp6dGFpa2kvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFsdC10YWItbW92ZS1tb3VzZSIsCiAgInV1aWQiOiAiYWx0LXRhYi1tb3ZlLW1vdXNlQGJ1enp0YWlraS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "41": {"version": "1", "sha256": "0dl2v61v2iqnf1qk7dsi60bm68kk4kc16jbrk9knw4ys8n35bxy3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgbW91c2UgcG9pbnRlciBvbnRvIGFjdGl2ZSB3aW5kb3cgYWZ0ZXIgQWx0LVRhYi4gVGhpcyBleHRlbnNpb24gaXMgd29ya2Fyb3VuZCBvZiBzb21lIHNsb3BweSBmb2N1cyBwcm9ibGVtcyIsCiAgIm5hbWUiOiAiQWx0LVRhYiBNb3ZlIE1vdXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9idXp6dGFpa2kvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFsdC10YWItbW92ZS1tb3VzZSIsCiAgInV1aWQiOiAiYWx0LXRhYi1tb3ZlLW1vdXNlQGJ1enp0YWlraS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "Server@sven.kramer", "name": "Server", "pname": "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. This extension is only tested with Gnome 40+. Didnt test it yet with older versions.", "link": "https://extensions.gnome.org/extension/4676/server/", "shell_version_map": {"38": {"version": "3", "sha256": "1dcy5kw5797wjjdg85hc16vh82c3xjs2xdn3m573rqs3fjayy507", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIEluZGljYXRvciB0aGF0IHNob3dzIG15IGhvbWUtc2VydmVyIHN0YXR1cyAob25saW5lIC8gb2ZmbGluZSkgb24gdGhlIG1haW4gcGFuZWwuIEZ1cnRoZXJtb3JlIGEgd2FrZSBvbiBsYW4gY2FuIGJlIHRyaWdnZXJlZC4gRm9yIFdPTCBmdW5jdGlvbmFsaXR5LCBpdHMgbmVjZXNzYXJ5IHRoYXQgeW91IGhhdmUgJ3dha2VvbmxhbicgaW5zdGFsbGVkLiBUaGlzIGV4dGVuc2lvbiBpcyBvbmx5IHRlc3RlZCB3aXRoIEdub21lIDQwKy4gRGlkbnQgdGVzdCBpdCB5ZXQgd2l0aCBvbGRlciB2ZXJzaW9ucy4iLAogICJuYW1lIjogIlNlcnZlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5TZXJ2ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJTZXJ2ZXJAc3Zlbi5rcmFtZXIiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "1dcy5kw5797wjjdg85hc16vh82c3xjs2xdn3m573rqs3fjayy507", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIEluZGljYXRvciB0aGF0IHNob3dzIG15IGhvbWUtc2VydmVyIHN0YXR1cyAob25saW5lIC8gb2ZmbGluZSkgb24gdGhlIG1haW4gcGFuZWwuIEZ1cnRoZXJtb3JlIGEgd2FrZSBvbiBsYW4gY2FuIGJlIHRyaWdnZXJlZC4gRm9yIFdPTCBmdW5jdGlvbmFsaXR5LCBpdHMgbmVjZXNzYXJ5IHRoYXQgeW91IGhhdmUgJ3dha2VvbmxhbicgaW5zdGFsbGVkLiBUaGlzIGV4dGVuc2lvbiBpcyBvbmx5IHRlc3RlZCB3aXRoIEdub21lIDQwKy4gRGlkbnQgdGVzdCBpdCB5ZXQgd2l0aCBvbGRlciB2ZXJzaW9ucy4iLAogICJuYW1lIjogIlNlcnZlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5TZXJ2ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJTZXJ2ZXJAc3Zlbi5rcmFtZXIiLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "1dcy5kw5797wjjdg85hc16vh82c3xjs2xdn3m573rqs3fjayy507", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIEluZGljYXRvciB0aGF0IHNob3dzIG15IGhvbWUtc2VydmVyIHN0YXR1cyAob25saW5lIC8gb2ZmbGluZSkgb24gdGhlIG1haW4gcGFuZWwuIEZ1cnRoZXJtb3JlIGEgd2FrZSBvbiBsYW4gY2FuIGJlIHRyaWdnZXJlZC4gRm9yIFdPTCBmdW5jdGlvbmFsaXR5LCBpdHMgbmVjZXNzYXJ5IHRoYXQgeW91IGhhdmUgJ3dha2VvbmxhbicgaW5zdGFsbGVkLiBUaGlzIGV4dGVuc2lvbiBpcyBvbmx5IHRlc3RlZCB3aXRoIEdub21lIDQwKy4gRGlkbnQgdGVzdCBpdCB5ZXQgd2l0aCBvbGRlciB2ZXJzaW9ucy4iLAogICJuYW1lIjogIlNlcnZlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5TZXJ2ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJTZXJ2ZXJAc3Zlbi5rcmFtZXIiLAogICJ2ZXJzaW9uIjogMwp9"}}}
-, {"uuid": "burn-my-windows@schneegans.github.com", "name": "Burn My Windows", "pname": "burn-my-windows", "description": "Disintegrate your windows with style.", "link": "https://extensions.gnome.org/extension/4679/burn-my-windows/", "shell_version_map": {"38": {"version": "12", "sha256": "0h40gzbm1kf3mm6xsdibjkbwhgy7vjqyp3nnjs97apfz99pm5a60", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2ludGVncmF0ZSB5b3VyIHdpbmRvd3Mgd2l0aCBzdHlsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJidXJuLW15LXdpbmRvd3MiLAogICJuYW1lIjogIkJ1cm4gTXkgV2luZG93cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5idXJuLW15LXdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TY2huZWVnYW5zL0J1cm4tTXktV2luZG93cyIsCiAgInV1aWQiOiAiYnVybi1teS13aW5kb3dzQHNjaG5lZWdhbnMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "12", "sha256": "0h40gzbm1kf3mm6xsdibjkbwhgy7vjqyp3nnjs97apfz99pm5a60", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2ludGVncmF0ZSB5b3VyIHdpbmRvd3Mgd2l0aCBzdHlsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJidXJuLW15LXdpbmRvd3MiLAogICJuYW1lIjogIkJ1cm4gTXkgV2luZG93cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5idXJuLW15LXdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TY2huZWVnYW5zL0J1cm4tTXktV2luZG93cyIsCiAgInV1aWQiOiAiYnVybi1teS13aW5kb3dzQHNjaG5lZWdhbnMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}, "41": {"version": "12", "sha256": "0h40gzbm1kf3mm6xsdibjkbwhgy7vjqyp3nnjs97apfz99pm5a60", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2ludGVncmF0ZSB5b3VyIHdpbmRvd3Mgd2l0aCBzdHlsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJidXJuLW15LXdpbmRvd3MiLAogICJuYW1lIjogIkJ1cm4gTXkgV2luZG93cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5idXJuLW15LXdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TY2huZWVnYW5zL0J1cm4tTXktV2luZG93cyIsCiAgInV1aWQiOiAiYnVybi1teS13aW5kb3dzQHNjaG5lZWdhbnMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}, "42": {"version": "12", "sha256": "0h40gzbm1kf3mm6xsdibjkbwhgy7vjqyp3nnjs97apfz99pm5a60", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2ludGVncmF0ZSB5b3VyIHdpbmRvd3Mgd2l0aCBzdHlsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJidXJuLW15LXdpbmRvd3MiLAogICJuYW1lIjogIkJ1cm4gTXkgV2luZG93cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5idXJuLW15LXdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TY2huZWVnYW5zL0J1cm4tTXktV2luZG93cyIsCiAgInV1aWQiOiAiYnVybi1teS13aW5kb3dzQHNjaG5lZWdhbnMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}}}
+, {"uuid": "burn-my-windows@schneegans.github.com", "name": "Burn My Windows", "pname": "burn-my-windows", "description": "Disintegrate your windows with style.", "link": "https://extensions.gnome.org/extension/4679/burn-my-windows/", "shell_version_map": {"38": {"version": "13", "sha256": "1lnkijdm250lbijh5z55b43hx6ih57x198rchw5jpph4z186km8c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2ludGVncmF0ZSB5b3VyIHdpbmRvd3Mgd2l0aCBzdHlsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJidXJuLW15LXdpbmRvd3MiLAogICJuYW1lIjogIkJ1cm4gTXkgV2luZG93cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5idXJuLW15LXdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TY2huZWVnYW5zL0J1cm4tTXktV2luZG93cyIsCiAgInV1aWQiOiAiYnVybi1teS13aW5kb3dzQHNjaG5lZWdhbnMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}, "40": {"version": "13", "sha256": "1lnkijdm250lbijh5z55b43hx6ih57x198rchw5jpph4z186km8c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2ludGVncmF0ZSB5b3VyIHdpbmRvd3Mgd2l0aCBzdHlsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJidXJuLW15LXdpbmRvd3MiLAogICJuYW1lIjogIkJ1cm4gTXkgV2luZG93cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5idXJuLW15LXdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TY2huZWVnYW5zL0J1cm4tTXktV2luZG93cyIsCiAgInV1aWQiOiAiYnVybi1teS13aW5kb3dzQHNjaG5lZWdhbnMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}, "41": {"version": "13", "sha256": "1lnkijdm250lbijh5z55b43hx6ih57x198rchw5jpph4z186km8c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2ludGVncmF0ZSB5b3VyIHdpbmRvd3Mgd2l0aCBzdHlsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJidXJuLW15LXdpbmRvd3MiLAogICJuYW1lIjogIkJ1cm4gTXkgV2luZG93cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5idXJuLW15LXdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TY2huZWVnYW5zL0J1cm4tTXktV2luZG93cyIsCiAgInV1aWQiOiAiYnVybi1teS13aW5kb3dzQHNjaG5lZWdhbnMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}, "42": {"version": "13", "sha256": "1lnkijdm250lbijh5z55b43hx6ih57x198rchw5jpph4z186km8c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2ludGVncmF0ZSB5b3VyIHdpbmRvd3Mgd2l0aCBzdHlsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJidXJuLW15LXdpbmRvd3MiLAogICJuYW1lIjogIkJ1cm4gTXkgV2luZG93cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5idXJuLW15LXdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TY2huZWVnYW5zL0J1cm4tTXktV2luZG93cyIsCiAgInV1aWQiOiAiYnVybi1teS13aW5kb3dzQHNjaG5lZWdhbnMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}}}
 , {"uuid": "babar-lite@fthx", "name": "BaBar Lite", "pname": "babar-task-bar-lite-for-gnome-40", "description": "Task bar. App grid, favorites, workspaces and tasks in panel. Light extension.\n\n Replace 'Activities' button by all current workspaces and apps buttons. Switch workspace/app or toggle overview by clicking on these buttons. Drag and drop favorite, task, dash item or app grid item to any workspace (you cannot reorder tasks inside a workspace). Change 'Places' label to an icon. No settings, use BaBar classic for that.\n\n You can use names for workspaces: there are two ways for that. 1) Edit the string array 'org.gnome.desktop.wm.preferences.workspace-names' gsettings key (through dconf editor, e.g.). 2) Use official GNOME extension Workspaces Indicator's settings. You don't have to write a long enough list: numbers are displayed if no workspace name is defined.", "link": "https://extensions.gnome.org/extension/4681/babar-task-bar-lite-for-gnome-40/", "shell_version_map": {"40": {"version": "2", "sha256": "01m48bwpn1as90ahpnl9ari3s2bj8423032nw12ac45wwcnb9yvj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBBcHAgZ3JpZCwgZmF2b3JpdGVzLCB3b3Jrc3BhY2VzIGFuZCB0YXNrcyBpbiBwYW5lbC4gTGlnaHQgZXh0ZW5zaW9uLlxuXG4gUmVwbGFjZSAnQWN0aXZpdGllcycgYnV0dG9uIGJ5IGFsbCBjdXJyZW50IHdvcmtzcGFjZXMgYW5kIGFwcHMgYnV0dG9ucy4gU3dpdGNoIHdvcmtzcGFjZS9hcHAgb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuIERyYWcgYW5kIGRyb3AgZmF2b3JpdGUsIHRhc2ssIGRhc2ggaXRlbSBvciBhcHAgZ3JpZCBpdGVtIHRvIGFueSB3b3Jrc3BhY2UgKHlvdSBjYW5ub3QgcmVvcmRlciB0YXNrcyBpbnNpZGUgYSB3b3Jrc3BhY2UpLiBDaGFuZ2UgJ1BsYWNlcycgbGFiZWwgdG8gYW4gaWNvbi4gTm8gc2V0dGluZ3MsIHVzZSBCYUJhciBjbGFzc2ljIGZvciB0aGF0LlxuXG4gWW91IGNhbiB1c2UgbmFtZXMgZm9yIHdvcmtzcGFjZXM6IHRoZXJlIGFyZSB0d28gd2F5cyBmb3IgdGhhdC4gMSkgRWRpdCB0aGUgc3RyaW5nIGFycmF5ICdvcmcuZ25vbWUuZGVza3RvcC53bS5wcmVmZXJlbmNlcy53b3Jrc3BhY2UtbmFtZXMnIGdzZXR0aW5ncyBrZXkgKHRocm91Z2ggZGNvbmYgZWRpdG9yLCBlLmcuKS4gMikgVXNlIG9mZmljaWFsIEdOT01FIGV4dGVuc2lvbiBXb3Jrc3BhY2VzIEluZGljYXRvcidzIHNldHRpbmdzLiBZb3UgZG9uJ3QgaGF2ZSB0byB3cml0ZSBhIGxvbmcgZW5vdWdoIGxpc3Q6IG51bWJlcnMgYXJlIGRpc3BsYXllZCBpZiBubyB3b3Jrc3BhY2UgbmFtZSBpcyBkZWZpbmVkLiIsCiAgIm5hbWUiOiAiQmFCYXIgTGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvYmFiYXItbGl0ZSIsCiAgInV1aWQiOiAiYmFiYXItbGl0ZUBmdGh4IiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "01m48bwpn1as90ahpnl9ari3s2bj8423032nw12ac45wwcnb9yvj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBBcHAgZ3JpZCwgZmF2b3JpdGVzLCB3b3Jrc3BhY2VzIGFuZCB0YXNrcyBpbiBwYW5lbC4gTGlnaHQgZXh0ZW5zaW9uLlxuXG4gUmVwbGFjZSAnQWN0aXZpdGllcycgYnV0dG9uIGJ5IGFsbCBjdXJyZW50IHdvcmtzcGFjZXMgYW5kIGFwcHMgYnV0dG9ucy4gU3dpdGNoIHdvcmtzcGFjZS9hcHAgb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuIERyYWcgYW5kIGRyb3AgZmF2b3JpdGUsIHRhc2ssIGRhc2ggaXRlbSBvciBhcHAgZ3JpZCBpdGVtIHRvIGFueSB3b3Jrc3BhY2UgKHlvdSBjYW5ub3QgcmVvcmRlciB0YXNrcyBpbnNpZGUgYSB3b3Jrc3BhY2UpLiBDaGFuZ2UgJ1BsYWNlcycgbGFiZWwgdG8gYW4gaWNvbi4gTm8gc2V0dGluZ3MsIHVzZSBCYUJhciBjbGFzc2ljIGZvciB0aGF0LlxuXG4gWW91IGNhbiB1c2UgbmFtZXMgZm9yIHdvcmtzcGFjZXM6IHRoZXJlIGFyZSB0d28gd2F5cyBmb3IgdGhhdC4gMSkgRWRpdCB0aGUgc3RyaW5nIGFycmF5ICdvcmcuZ25vbWUuZGVza3RvcC53bS5wcmVmZXJlbmNlcy53b3Jrc3BhY2UtbmFtZXMnIGdzZXR0aW5ncyBrZXkgKHRocm91Z2ggZGNvbmYgZWRpdG9yLCBlLmcuKS4gMikgVXNlIG9mZmljaWFsIEdOT01FIGV4dGVuc2lvbiBXb3Jrc3BhY2VzIEluZGljYXRvcidzIHNldHRpbmdzLiBZb3UgZG9uJ3QgaGF2ZSB0byB3cml0ZSBhIGxvbmcgZW5vdWdoIGxpc3Q6IG51bWJlcnMgYXJlIGRpc3BsYXllZCBpZiBubyB3b3Jrc3BhY2UgbmFtZSBpcyBkZWZpbmVkLiIsCiAgIm5hbWUiOiAiQmFCYXIgTGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvYmFiYXItbGl0ZSIsCiAgInV1aWQiOiAiYmFiYXItbGl0ZUBmdGh4IiwKICAidmVyc2lvbiI6IDIKfQ=="}, "42": {"version": "2", "sha256": "01m48bwpn1as90ahpnl9ari3s2bj8423032nw12ac45wwcnb9yvj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBBcHAgZ3JpZCwgZmF2b3JpdGVzLCB3b3Jrc3BhY2VzIGFuZCB0YXNrcyBpbiBwYW5lbC4gTGlnaHQgZXh0ZW5zaW9uLlxuXG4gUmVwbGFjZSAnQWN0aXZpdGllcycgYnV0dG9uIGJ5IGFsbCBjdXJyZW50IHdvcmtzcGFjZXMgYW5kIGFwcHMgYnV0dG9ucy4gU3dpdGNoIHdvcmtzcGFjZS9hcHAgb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuIERyYWcgYW5kIGRyb3AgZmF2b3JpdGUsIHRhc2ssIGRhc2ggaXRlbSBvciBhcHAgZ3JpZCBpdGVtIHRvIGFueSB3b3Jrc3BhY2UgKHlvdSBjYW5ub3QgcmVvcmRlciB0YXNrcyBpbnNpZGUgYSB3b3Jrc3BhY2UpLiBDaGFuZ2UgJ1BsYWNlcycgbGFiZWwgdG8gYW4gaWNvbi4gTm8gc2V0dGluZ3MsIHVzZSBCYUJhciBjbGFzc2ljIGZvciB0aGF0LlxuXG4gWW91IGNhbiB1c2UgbmFtZXMgZm9yIHdvcmtzcGFjZXM6IHRoZXJlIGFyZSB0d28gd2F5cyBmb3IgdGhhdC4gMSkgRWRpdCB0aGUgc3RyaW5nIGFycmF5ICdvcmcuZ25vbWUuZGVza3RvcC53bS5wcmVmZXJlbmNlcy53b3Jrc3BhY2UtbmFtZXMnIGdzZXR0aW5ncyBrZXkgKHRocm91Z2ggZGNvbmYgZWRpdG9yLCBlLmcuKS4gMikgVXNlIG9mZmljaWFsIEdOT01FIGV4dGVuc2lvbiBXb3Jrc3BhY2VzIEluZGljYXRvcidzIHNldHRpbmdzLiBZb3UgZG9uJ3QgaGF2ZSB0byB3cml0ZSBhIGxvbmcgZW5vdWdoIGxpc3Q6IG51bWJlcnMgYXJlIGRpc3BsYXllZCBpZiBubyB3b3Jrc3BhY2UgbmFtZSBpcyBkZWZpbmVkLiIsCiAgIm5hbWUiOiAiQmFCYXIgTGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvYmFiYXItbGl0ZSIsCiAgInV1aWQiOiAiYmFiYXItbGl0ZUBmdGh4IiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "useless-gaps@pimsnel.com", "name": "Useless Gaps", "pname": "useless-gaps", "description": "For aesthetic purposes adds useless gaps around tiled and maximized windows", "link": "https://extensions.gnome.org/extension/4684/useless-gaps/", "shell_version_map": {"38": {"version": "5", "sha256": "1nd5xxwvf2wxm863029xwij99v6zdpbw86465i5kdrxrgwsgcn9q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvciBhZXN0aGV0aWMgcHVycG9zZXMgYWRkcyB1c2VsZXNzIGdhcHMgYXJvdW5kIHRpbGVkIGFuZCBtYXhpbWl6ZWQgd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogInVzZWxlc3MtZ2FwcyIsCiAgIm5hbWUiOiAiVXNlbGVzcyBHYXBzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZWxlc3MtZ2FwcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWlwbWlwL2dub21lLXNoZWxsLWV4dGVuc2lvbnMtdXNlbGVzcy1nYXBzIiwKICAidXVpZCI6ICJ1c2VsZXNzLWdhcHNAcGltc25lbC5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "1nd5xxwvf2wxm863029xwij99v6zdpbw86465i5kdrxrgwsgcn9q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvciBhZXN0aGV0aWMgcHVycG9zZXMgYWRkcyB1c2VsZXNzIGdhcHMgYXJvdW5kIHRpbGVkIGFuZCBtYXhpbWl6ZWQgd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogInVzZWxlc3MtZ2FwcyIsCiAgIm5hbWUiOiAiVXNlbGVzcyBHYXBzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZWxlc3MtZ2FwcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWlwbWlwL2dub21lLXNoZWxsLWV4dGVuc2lvbnMtdXNlbGVzcy1nYXBzIiwKICAidXVpZCI6ICJ1c2VsZXNzLWdhcHNAcGltc25lbC5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "1nd5xxwvf2wxm863029xwij99v6zdpbw86465i5kdrxrgwsgcn9q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvciBhZXN0aGV0aWMgcHVycG9zZXMgYWRkcyB1c2VsZXNzIGdhcHMgYXJvdW5kIHRpbGVkIGFuZCBtYXhpbWl6ZWQgd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogInVzZWxlc3MtZ2FwcyIsCiAgIm5hbWUiOiAiVXNlbGVzcyBHYXBzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZWxlc3MtZ2FwcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWlwbWlwL2dub21lLXNoZWxsLWV4dGVuc2lvbnMtdXNlbGVzcy1nYXBzIiwKICAidXVpZCI6ICJ1c2VsZXNzLWdhcHNAcGltc25lbC5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}}}
-, {"uuid": "serverstatus@footeware.ca", "name": "Server Status Indicator", "pname": "server-status-indicator", "description": "Indicator displaying status of entered web server urls, green for up, red for down.", "link": "https://extensions.gnome.org/extension/4687/server-status-indicator/", "shell_version_map": {"40": {"version": "7", "sha256": "16csdmbvjcahvkihq3gw4rympyc80jjchf68p1hwvcx338pdx8ga", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZGljYXRvciBkaXNwbGF5aW5nIHN0YXR1cyBvZiBlbnRlcmVkIHdlYiBzZXJ2ZXIgdXJscywgZ3JlZW4gZm9yIHVwLCByZWQgZm9yIGRvd24uIiwKICAibmFtZSI6ICJTZXJ2ZXIgU3RhdHVzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zZXJ2ZXJzdGF0dXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ3JhaWdGb290ZS9jYS5mb290ZXdhcmUuZ25vbWVzaGVsbC5zZXJ2ZXJzdGF0dXMuZ2l0IiwKICAidXVpZCI6ICJzZXJ2ZXJzdGF0dXNAZm9vdGV3YXJlLmNhIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
+, {"uuid": "serverstatus@footeware.ca", "name": "Server Status Indicator", "pname": "server-status-indicator", "description": "Indicator displaying status of entered web server urls, green for up, red for down.", "link": "https://extensions.gnome.org/extension/4687/server-status-indicator/", "shell_version_map": {"40": {"version": "8", "sha256": "1mm2b6fwx58yvcq8fkxrkcb5bcm4ak8al5jw0939mwr8fjhgd13s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZGljYXRvciBkaXNwbGF5aW5nIHN0YXR1cyBvZiBlbnRlcmVkIHdlYiBzZXJ2ZXIgdXJscywgZ3JlZW4gZm9yIHVwLCByZWQgZm9yIGRvd24uIiwKICAibmFtZSI6ICJTZXJ2ZXIgU3RhdHVzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zZXJ2ZXJzdGF0dXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0NyYWlnRm9vdGUvY2EuZm9vdGV3YXJlLmdub21lc2hlbGwuc2VydmVyc3RhdHVzLmdpdCIsCiAgInV1aWQiOiAic2VydmVyc3RhdHVzQGZvb3Rld2FyZS5jYSIsCiAgInZlcnNpb24iOiA4Cn0="}, "42": {"version": "8", "sha256": "1mm2b6fwx58yvcq8fkxrkcb5bcm4ak8al5jw0939mwr8fjhgd13s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZGljYXRvciBkaXNwbGF5aW5nIHN0YXR1cyBvZiBlbnRlcmVkIHdlYiBzZXJ2ZXIgdXJscywgZ3JlZW4gZm9yIHVwLCByZWQgZm9yIGRvd24uIiwKICAibmFtZSI6ICJTZXJ2ZXIgU3RhdHVzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zZXJ2ZXJzdGF0dXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0NyYWlnRm9vdGUvY2EuZm9vdGV3YXJlLmdub21lc2hlbGwuc2VydmVyc3RhdHVzLmdpdCIsCiAgInV1aWQiOiAic2VydmVyc3RhdHVzQGZvb3Rld2FyZS5jYSIsCiAgInZlcnNpb24iOiA4Cn0="}}}
 , {"uuid": "focus-follows-workspace@christopher.luebbemeier.gmail.com", "name": "Focus Follows Workspace", "pname": "focus-follows-workspace", "description": "Focus the primary monitor after switching workspaces via keyboard.\n\nThis extension is meant to be used with a multi-monitor setup with the setting \"Workspaces on primary display only\". It enables quick switching to an application on a given workspace via keyboard by preventing the focus from being restored to a window on a secondary monitor.", "link": "https://extensions.gnome.org/extension/4688/focus-follows-workspace/", "shell_version_map": {"41": {"version": "1", "sha256": "1xllg9wp7phrqa9897m9al740k60v01zird49vwwm24wzpmyby9k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvY3VzIHRoZSBwcmltYXJ5IG1vbml0b3IgYWZ0ZXIgc3dpdGNoaW5nIHdvcmtzcGFjZXMgdmlhIGtleWJvYXJkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBtZWFudCB0byBiZSB1c2VkIHdpdGggYSBtdWx0aS1tb25pdG9yIHNldHVwIHdpdGggdGhlIHNldHRpbmcgXCJXb3Jrc3BhY2VzIG9uIHByaW1hcnkgZGlzcGxheSBvbmx5XCIuIEl0IGVuYWJsZXMgcXVpY2sgc3dpdGNoaW5nIHRvIGFuIGFwcGxpY2F0aW9uIG9uIGEgZ2l2ZW4gd29ya3NwYWNlIHZpYSBrZXlib2FyZCBieSBwcmV2ZW50aW5nIHRoZSBmb2N1cyBmcm9tIGJlaW5nIHJlc3RvcmVkIHRvIGEgd2luZG93IG9uIGEgc2Vjb25kYXJ5IG1vbml0b3IuIiwKICAibmFtZSI6ICJGb2N1cyBGb2xsb3dzIFdvcmtzcGFjZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RvcGhlci1sL2ZvY3VzLWZvbGxvd3Mtd29ya3NwYWNlIiwKICAidXVpZCI6ICJmb2N1cy1mb2xsb3dzLXdvcmtzcGFjZUBjaHJpc3RvcGhlci5sdWViYmVtZWllci5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "pip-on-top@rafostar.github.com", "name": "PiP on top", "pname": "pip-on-top", "description": "Makes \"Picture-in-Picture\" windows stay on top (even on Wayland session). Compatible with Firefox and Clapper media player.", "link": "https://extensions.gnome.org/extension/4691/pip-on-top/", "shell_version_map": {"38": {"version": "1", "sha256": "0gizz4r89pbmhw4ijv2qqlhdxnzlz0bnx659pmizgvmh966za3k2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIFwiUGljdHVyZS1pbi1QaWN0dXJlXCIgd2luZG93cyBzdGF5IG9uIHRvcCAoZXZlbiBvbiBXYXlsYW5kIHNlc3Npb24pLiBDb21wYXRpYmxlIHdpdGggRmlyZWZveCBhbmQgQ2xhcHBlciBtZWRpYSBwbGF5ZXIuIiwKICAiZXh0ZW5zaW9uLWlkIjogInBpcC1vbi10b3AiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJwaXAtb24tdG9wIiwKICAibmFtZSI6ICJQaVAgb24gdG9wIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBpcC1vbi10b3AiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JhZm9zdGFyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1waXAtb24tdG9wIiwKICAidXVpZCI6ICJwaXAtb24tdG9wQHJhZm9zdGFyLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}, "40": {"version": "1", "sha256": "0gizz4r89pbmhw4ijv2qqlhdxnzlz0bnx659pmizgvmh966za3k2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIFwiUGljdHVyZS1pbi1QaWN0dXJlXCIgd2luZG93cyBzdGF5IG9uIHRvcCAoZXZlbiBvbiBXYXlsYW5kIHNlc3Npb24pLiBDb21wYXRpYmxlIHdpdGggRmlyZWZveCBhbmQgQ2xhcHBlciBtZWRpYSBwbGF5ZXIuIiwKICAiZXh0ZW5zaW9uLWlkIjogInBpcC1vbi10b3AiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJwaXAtb24tdG9wIiwKICAibmFtZSI6ICJQaVAgb24gdG9wIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBpcC1vbi10b3AiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JhZm9zdGFyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1waXAtb24tdG9wIiwKICAidXVpZCI6ICJwaXAtb24tdG9wQHJhZm9zdGFyLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}, "41": {"version": "1", "sha256": "0gizz4r89pbmhw4ijv2qqlhdxnzlz0bnx659pmizgvmh966za3k2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIFwiUGljdHVyZS1pbi1QaWN0dXJlXCIgd2luZG93cyBzdGF5IG9uIHRvcCAoZXZlbiBvbiBXYXlsYW5kIHNlc3Npb24pLiBDb21wYXRpYmxlIHdpdGggRmlyZWZveCBhbmQgQ2xhcHBlciBtZWRpYSBwbGF5ZXIuIiwKICAiZXh0ZW5zaW9uLWlkIjogInBpcC1vbi10b3AiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJwaXAtb24tdG9wIiwKICAibmFtZSI6ICJQaVAgb24gdG9wIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBpcC1vbi10b3AiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JhZm9zdGFyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1waXAtb24tdG9wIiwKICAidXVpZCI6ICJwaXAtb24tdG9wQHJhZm9zdGFyLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
-, {"uuid": "roundedSystemMenuButtons@pratap.fastmail.fm", "name": "Rounded System Menu Buttons", "pname": "rounded-system-menu-buttons", "description": "Rounded System Menu Buttons", "link": "https://extensions.gnome.org/extension/4693/rounded-system-menu-buttons/", "shell_version_map": {"38": {"version": "17", "sha256": "1cwjyw4sc4i4vdm458qdnjzvmiqyz9vscicwarsd9cvik57p44f5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJvdW5kZWQgU3lzdGVtIE1lbnUgQnV0dG9ucyIsCiAgIm5hbWUiOiAiUm91bmRlZCBTeXN0ZW0gTWVudSBCdXR0b25zIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJvdW5kLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9yb3VuZGVkLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJ1dWlkIjogInJvdW5kZWRTeXN0ZW1NZW51QnV0dG9uc0BwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "40": {"version": "17", "sha256": "1cwjyw4sc4i4vdm458qdnjzvmiqyz9vscicwarsd9cvik57p44f5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJvdW5kZWQgU3lzdGVtIE1lbnUgQnV0dG9ucyIsCiAgIm5hbWUiOiAiUm91bmRlZCBTeXN0ZW0gTWVudSBCdXR0b25zIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJvdW5kLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9yb3VuZGVkLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJ1dWlkIjogInJvdW5kZWRTeXN0ZW1NZW51QnV0dG9uc0BwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "41": {"version": "17", "sha256": "1cwjyw4sc4i4vdm458qdnjzvmiqyz9vscicwarsd9cvik57p44f5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJvdW5kZWQgU3lzdGVtIE1lbnUgQnV0dG9ucyIsCiAgIm5hbWUiOiAiUm91bmRlZCBTeXN0ZW0gTWVudSBCdXR0b25zIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJvdW5kLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9yb3VuZGVkLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJ1dWlkIjogInJvdW5kZWRTeXN0ZW1NZW51QnV0dG9uc0BwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
+, {"uuid": "roundedSystemMenuButtons@pratap.fastmail.fm", "name": "Rounded System Menu Buttons", "pname": "rounded-system-menu-buttons", "description": "Rounded System Menu Buttons", "link": "https://extensions.gnome.org/extension/4693/rounded-system-menu-buttons/", "shell_version_map": {"38": {"version": "17", "sha256": "1cwjyw4sc4i4vdm458qdnjzvmiqyz9vscicwarsd9cvik57p44f5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJvdW5kZWQgU3lzdGVtIE1lbnUgQnV0dG9ucyIsCiAgIm5hbWUiOiAiUm91bmRlZCBTeXN0ZW0gTWVudSBCdXR0b25zIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJvdW5kLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9yb3VuZGVkLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJ1dWlkIjogInJvdW5kZWRTeXN0ZW1NZW51QnV0dG9uc0BwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "40": {"version": "19", "sha256": "0rji6f2nfzanl5wp2b0hyphpbb7ymwgx913wy3ms0z2wqjgsld3a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJvdW5kZWQgU3lzdGVtIE1lbnUgQnV0dG9ucyIsCiAgIm5hbWUiOiAiUm91bmRlZCBTeXN0ZW0gTWVudSBCdXR0b25zIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJvdW5kLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QUkFUQVAtS1VNQVIvcm91bmRlZC1zeXN0ZW0tbWVudS1idXR0b25zIiwKICAidXVpZCI6ICJyb3VuZGVkU3lzdGVtTWVudUJ1dHRvbnNAcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "41": {"version": "19", "sha256": "0rji6f2nfzanl5wp2b0hyphpbb7ymwgx913wy3ms0z2wqjgsld3a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJvdW5kZWQgU3lzdGVtIE1lbnUgQnV0dG9ucyIsCiAgIm5hbWUiOiAiUm91bmRlZCBTeXN0ZW0gTWVudSBCdXR0b25zIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJvdW5kLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QUkFUQVAtS1VNQVIvcm91bmRlZC1zeXN0ZW0tbWVudS1idXR0b25zIiwKICAidXVpZCI6ICJyb3VuZGVkU3lzdGVtTWVudUJ1dHRvbnNAcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "42": {"version": "19", "sha256": "0rji6f2nfzanl5wp2b0hyphpbb7ymwgx913wy3ms0z2wqjgsld3a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJvdW5kZWQgU3lzdGVtIE1lbnUgQnV0dG9ucyIsCiAgIm5hbWUiOiAiUm91bmRlZCBTeXN0ZW0gTWVudSBCdXR0b25zIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJvdW5kLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QUkFUQVAtS1VNQVIvcm91bmRlZC1zeXN0ZW0tbWVudS1idXR0b25zIiwKICAidXVpZCI6ICJyb3VuZGVkU3lzdGVtTWVudUJ1dHRvbnNAcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDE5Cn0="}}}
 , {"uuid": "static-background@denizaksimsek.com", "name": "Static background in overview", "pname": "static-background-in-overview", "description": "The background, always clearly visible.", "link": "https://extensions.gnome.org/extension/4696/static-background-in-overview/", "shell_version_map": {"40": {"version": "2", "sha256": "1wr4xp0jj74fjp4yjizyvy1qvmbaclk59cjjhwigxh3glkgdy8ph", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBiYWNrZ3JvdW5kLCBhbHdheXMgY2xlYXJseSB2aXNpYmxlLiIsCiAgIm5hbWUiOiAiU3RhdGljIGJhY2tncm91bmQgaW4gb3ZlcnZpZXciLAogICJvcmlnaW5hbC1hdXRob3IiOiAicmVucy5hbHRodWlzQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZHo0ay9nbm9tZS1zdGF0aWMtYmFja2dyb3VuZCIsCiAgInV1aWQiOiAic3RhdGljLWJhY2tncm91bmRAZGVuaXpha3NpbXNlay5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}, "41": {"version": "2", "sha256": "1wr4xp0jj74fjp4yjizyvy1qvmbaclk59cjjhwigxh3glkgdy8ph", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBiYWNrZ3JvdW5kLCBhbHdheXMgY2xlYXJseSB2aXNpYmxlLiIsCiAgIm5hbWUiOiAiU3RhdGljIGJhY2tncm91bmQgaW4gb3ZlcnZpZXciLAogICJvcmlnaW5hbC1hdXRob3IiOiAicmVucy5hbHRodWlzQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZHo0ay9nbm9tZS1zdGF0aWMtYmFja2dyb3VuZCIsCiAgInV1aWQiOiAic3RhdGljLWJhY2tncm91bmRAZGVuaXpha3NpbXNlay5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "highlight-focus@pimsnel.com", "name": "Highlight Focus", "pname": "highlight-focus", "description": "Highlights the focussed window with a temporary border", "link": "https://extensions.gnome.org/extension/4699/highlight-focus/", "shell_version_map": {"38": {"version": "2", "sha256": "1mdmwhlrdpfw3zw66575kd8xc0isgw0gnx3qq3f5d70c8wk7ijhx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hsaWdodHMgdGhlIGZvY3Vzc2VkIHdpbmRvdyB3aXRoIGEgdGVtcG9yYXJ5IGJvcmRlciIsCiAgIm5hbWUiOiAiSGlnaGxpZ2h0IEZvY3VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taXBtaXAvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy1oaWdobGlnaHQtZm9jdXMiLAogICJ1dWlkIjogImhpZ2hsaWdodC1mb2N1c0BwaW1zbmVsLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "1mdmwhlrdpfw3zw66575kd8xc0isgw0gnx3qq3f5d70c8wk7ijhx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hsaWdodHMgdGhlIGZvY3Vzc2VkIHdpbmRvdyB3aXRoIGEgdGVtcG9yYXJ5IGJvcmRlciIsCiAgIm5hbWUiOiAiSGlnaGxpZ2h0IEZvY3VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taXBtaXAvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy1oaWdobGlnaHQtZm9jdXMiLAogICJ1dWlkIjogImhpZ2hsaWdodC1mb2N1c0BwaW1zbmVsLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "1mdmwhlrdpfw3zw66575kd8xc0isgw0gnx3qq3f5d70c8wk7ijhx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hsaWdodHMgdGhlIGZvY3Vzc2VkIHdpbmRvdyB3aXRoIGEgdGVtcG9yYXJ5IGJvcmRlciIsCiAgIm5hbWUiOiAiSGlnaGxpZ2h0IEZvY3VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taXBtaXAvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy1oaWdobGlnaHQtZm9jdXMiLAogICJ1dWlkIjogImhpZ2hsaWdodC1mb2N1c0BwaW1zbmVsLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "awesome-tiles@velitasali.com", "name": "Awesome Tiles", "pname": "awesome-tiles", "description": "Tile windows using keyboard shortcuts.", "link": "https://extensions.gnome.org/extension/4702/awesome-tiles/", "shell_version_map": {"40": {"version": "4", "sha256": "18im4m362yp5cv03j1acb4nqs496dz2nxxiy7zirf4qzd98hsh29", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyB1c2luZyBrZXlib2FyZCBzaG9ydGN1dHMuIiwKICAibmFtZSI6ICJBd2Vzb21lIFRpbGVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF3ZXNvbWUtdGlsZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92ZWxpdGFzYWxpL2dub21lLWF3ZXNvbWUtdGlsZXMtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJhd2Vzb21lLXRpbGVzQHZlbGl0YXNhbGkuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "18im4m362yp5cv03j1acb4nqs496dz2nxxiy7zirf4qzd98hsh29", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyB1c2luZyBrZXlib2FyZCBzaG9ydGN1dHMuIiwKICAibmFtZSI6ICJBd2Vzb21lIFRpbGVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF3ZXNvbWUtdGlsZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92ZWxpdGFzYWxpL2dub21lLWF3ZXNvbWUtdGlsZXMtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJhd2Vzb21lLXRpbGVzQHZlbGl0YXNhbGkuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "42": {"version": "4", "sha256": "18im4m362yp5cv03j1acb4nqs496dz2nxxiy7zirf4qzd98hsh29", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyB1c2luZyBrZXlib2FyZCBzaG9ydGN1dHMuIiwKICAibmFtZSI6ICJBd2Vzb21lIFRpbGVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF3ZXNvbWUtdGlsZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92ZWxpdGFzYWxpL2dub21lLWF3ZXNvbWUtdGlsZXMtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJhd2Vzb21lLXRpbGVzQHZlbGl0YXNhbGkuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"uuid": "dock-from-dash@fthx", "name": "Dock from Dash", "pname": "dock-from-dash", "description": "Dock for GNOME Shell 40+. Does use native GNOME Shell Dash. Very light extension.\n\n Hover the bottom of your screen and GNOME Shell dash will appear without overview and will hide when you leave the dash. Native GNOME Shell click behavior is modified: minimize if one window is open, overview if many windows are open.\n\n There are some variables you can easily set in extension.js code (opacity, timeouts...). There will be no preferences UI.\n\n Please report bugs through GitHub.", "link": "https://extensions.gnome.org/extension/4703/dock-from-dash/", "shell_version_map": {"40": {"version": "30", "sha256": "0j31s6h9a8igrip4apliyciqwhzg3yrb5yn9m2qyq4kpqi4sq2zz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRvY2sgZm9yIEdOT01FIFNoZWxsIDQwKy4gRG9lcyB1c2UgbmF0aXZlIEdOT01FIFNoZWxsIERhc2guIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLlxuXG4gSG92ZXIgdGhlIGJvdHRvbSBvZiB5b3VyIHNjcmVlbiBhbmQgR05PTUUgU2hlbGwgZGFzaCB3aWxsIGFwcGVhciB3aXRob3V0IG92ZXJ2aWV3IGFuZCB3aWxsIGhpZGUgd2hlbiB5b3UgbGVhdmUgdGhlIGRhc2guIE5hdGl2ZSBHTk9NRSBTaGVsbCBjbGljayBiZWhhdmlvciBpcyBtb2RpZmllZDogbWluaW1pemUgaWYgb25lIHdpbmRvdyBpcyBvcGVuLCBvdmVydmlldyBpZiBtYW55IHdpbmRvd3MgYXJlIG9wZW4uXG5cbiBUaGVyZSBhcmUgc29tZSB2YXJpYWJsZXMgeW91IGNhbiBlYXNpbHkgc2V0IGluIGV4dGVuc2lvbi5qcyBjb2RlIChvcGFjaXR5LCB0aW1lb3V0cy4uLikuIFRoZXJlIHdpbGwgYmUgbm8gcHJlZmVyZW5jZXMgVUkuXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MgdGhyb3VnaCBHaXRIdWIuIiwKICAibmFtZSI6ICJEb2NrIGZyb20gRGFzaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvZG9jay1mcm9tLWRhc2giLAogICJ1dWlkIjogImRvY2stZnJvbS1kYXNoQGZ0aHgiLAogICJ2ZXJzaW9uIjogMzAKfQ=="}, "41": {"version": "30", "sha256": "0j31s6h9a8igrip4apliyciqwhzg3yrb5yn9m2qyq4kpqi4sq2zz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRvY2sgZm9yIEdOT01FIFNoZWxsIDQwKy4gRG9lcyB1c2UgbmF0aXZlIEdOT01FIFNoZWxsIERhc2guIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLlxuXG4gSG92ZXIgdGhlIGJvdHRvbSBvZiB5b3VyIHNjcmVlbiBhbmQgR05PTUUgU2hlbGwgZGFzaCB3aWxsIGFwcGVhciB3aXRob3V0IG92ZXJ2aWV3IGFuZCB3aWxsIGhpZGUgd2hlbiB5b3UgbGVhdmUgdGhlIGRhc2guIE5hdGl2ZSBHTk9NRSBTaGVsbCBjbGljayBiZWhhdmlvciBpcyBtb2RpZmllZDogbWluaW1pemUgaWYgb25lIHdpbmRvdyBpcyBvcGVuLCBvdmVydmlldyBpZiBtYW55IHdpbmRvd3MgYXJlIG9wZW4uXG5cbiBUaGVyZSBhcmUgc29tZSB2YXJpYWJsZXMgeW91IGNhbiBlYXNpbHkgc2V0IGluIGV4dGVuc2lvbi5qcyBjb2RlIChvcGFjaXR5LCB0aW1lb3V0cy4uLikuIFRoZXJlIHdpbGwgYmUgbm8gcHJlZmVyZW5jZXMgVUkuXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MgdGhyb3VnaCBHaXRIdWIuIiwKICAibmFtZSI6ICJEb2NrIGZyb20gRGFzaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvZG9jay1mcm9tLWRhc2giLAogICJ1dWlkIjogImRvY2stZnJvbS1kYXNoQGZ0aHgiLAogICJ2ZXJzaW9uIjogMzAKfQ=="}, "42": {"version": "30", "sha256": "0j31s6h9a8igrip4apliyciqwhzg3yrb5yn9m2qyq4kpqi4sq2zz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRvY2sgZm9yIEdOT01FIFNoZWxsIDQwKy4gRG9lcyB1c2UgbmF0aXZlIEdOT01FIFNoZWxsIERhc2guIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLlxuXG4gSG92ZXIgdGhlIGJvdHRvbSBvZiB5b3VyIHNjcmVlbiBhbmQgR05PTUUgU2hlbGwgZGFzaCB3aWxsIGFwcGVhciB3aXRob3V0IG92ZXJ2aWV3IGFuZCB3aWxsIGhpZGUgd2hlbiB5b3UgbGVhdmUgdGhlIGRhc2guIE5hdGl2ZSBHTk9NRSBTaGVsbCBjbGljayBiZWhhdmlvciBpcyBtb2RpZmllZDogbWluaW1pemUgaWYgb25lIHdpbmRvdyBpcyBvcGVuLCBvdmVydmlldyBpZiBtYW55IHdpbmRvd3MgYXJlIG9wZW4uXG5cbiBUaGVyZSBhcmUgc29tZSB2YXJpYWJsZXMgeW91IGNhbiBlYXNpbHkgc2V0IGluIGV4dGVuc2lvbi5qcyBjb2RlIChvcGFjaXR5LCB0aW1lb3V0cy4uLikuIFRoZXJlIHdpbGwgYmUgbm8gcHJlZmVyZW5jZXMgVUkuXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MgdGhyb3VnaCBHaXRIdWIuIiwKICAibmFtZSI6ICJEb2NrIGZyb20gRGFzaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvZG9jay1mcm9tLWRhc2giLAogICJ1dWlkIjogImRvY2stZnJvbS1kYXNoQGZ0aHgiLAogICJ2ZXJzaW9uIjogMzAKfQ=="}}}
+, {"uuid": "dock-from-dash@fthx", "name": "Dock from Dash", "pname": "dock-from-dash", "description": "Dock for GNOME Shell 40+. Does use native GNOME Shell Dash. Very light extension.\n\n Hover the bottom of your screen and GNOME Shell dash will appear without overview and will hide when you leave the dash. Native GNOME Shell click behavior is modified: minimize if one window is open, overview if many windows are open. Scroll on the dock to change workspace.\n\n There are some variables you can easily set in extension.js code (opacity, timeouts...). There will be no preferences UI.\n\n Please report bugs through GitHub.", "link": "https://extensions.gnome.org/extension/4703/dock-from-dash/", "shell_version_map": {"40": {"version": "33", "sha256": "01zdmwlakfqnxj0dsa8nja883dbb7656mcfp28iivg1mnj97rwfb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRvY2sgZm9yIEdOT01FIFNoZWxsIDQwKy4gRG9lcyB1c2UgbmF0aXZlIEdOT01FIFNoZWxsIERhc2guIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLlxuXG4gSG92ZXIgdGhlIGJvdHRvbSBvZiB5b3VyIHNjcmVlbiBhbmQgR05PTUUgU2hlbGwgZGFzaCB3aWxsIGFwcGVhciB3aXRob3V0IG92ZXJ2aWV3IGFuZCB3aWxsIGhpZGUgd2hlbiB5b3UgbGVhdmUgdGhlIGRhc2guIE5hdGl2ZSBHTk9NRSBTaGVsbCBjbGljayBiZWhhdmlvciBpcyBtb2RpZmllZDogbWluaW1pemUgaWYgb25lIHdpbmRvdyBpcyBvcGVuLCBvdmVydmlldyBpZiBtYW55IHdpbmRvd3MgYXJlIG9wZW4uIFNjcm9sbCBvbiB0aGUgZG9jayB0byBjaGFuZ2Ugd29ya3NwYWNlLlxuXG4gVGhlcmUgYXJlIHNvbWUgdmFyaWFibGVzIHlvdSBjYW4gZWFzaWx5IHNldCBpbiBleHRlbnNpb24uanMgY29kZSAob3BhY2l0eSwgdGltZW91dHMuLi4pLiBUaGVyZSB3aWxsIGJlIG5vIHByZWZlcmVuY2VzIFVJLlxuXG4gUGxlYXNlIHJlcG9ydCBidWdzIHRocm91Z2ggR2l0SHViLiIsCiAgIm5hbWUiOiAiRG9jayBmcm9tIERhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2RvY2stZnJvbS1kYXNoIiwKICAidXVpZCI6ICJkb2NrLWZyb20tZGFzaEBmdGh4IiwKICAidmVyc2lvbiI6IDMzCn0="}, "41": {"version": "33", "sha256": "01zdmwlakfqnxj0dsa8nja883dbb7656mcfp28iivg1mnj97rwfb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRvY2sgZm9yIEdOT01FIFNoZWxsIDQwKy4gRG9lcyB1c2UgbmF0aXZlIEdOT01FIFNoZWxsIERhc2guIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLlxuXG4gSG92ZXIgdGhlIGJvdHRvbSBvZiB5b3VyIHNjcmVlbiBhbmQgR05PTUUgU2hlbGwgZGFzaCB3aWxsIGFwcGVhciB3aXRob3V0IG92ZXJ2aWV3IGFuZCB3aWxsIGhpZGUgd2hlbiB5b3UgbGVhdmUgdGhlIGRhc2guIE5hdGl2ZSBHTk9NRSBTaGVsbCBjbGljayBiZWhhdmlvciBpcyBtb2RpZmllZDogbWluaW1pemUgaWYgb25lIHdpbmRvdyBpcyBvcGVuLCBvdmVydmlldyBpZiBtYW55IHdpbmRvd3MgYXJlIG9wZW4uIFNjcm9sbCBvbiB0aGUgZG9jayB0byBjaGFuZ2Ugd29ya3NwYWNlLlxuXG4gVGhlcmUgYXJlIHNvbWUgdmFyaWFibGVzIHlvdSBjYW4gZWFzaWx5IHNldCBpbiBleHRlbnNpb24uanMgY29kZSAob3BhY2l0eSwgdGltZW91dHMuLi4pLiBUaGVyZSB3aWxsIGJlIG5vIHByZWZlcmVuY2VzIFVJLlxuXG4gUGxlYXNlIHJlcG9ydCBidWdzIHRocm91Z2ggR2l0SHViLiIsCiAgIm5hbWUiOiAiRG9jayBmcm9tIERhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2RvY2stZnJvbS1kYXNoIiwKICAidXVpZCI6ICJkb2NrLWZyb20tZGFzaEBmdGh4IiwKICAidmVyc2lvbiI6IDMzCn0="}, "42": {"version": "33", "sha256": "01zdmwlakfqnxj0dsa8nja883dbb7656mcfp28iivg1mnj97rwfb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRvY2sgZm9yIEdOT01FIFNoZWxsIDQwKy4gRG9lcyB1c2UgbmF0aXZlIEdOT01FIFNoZWxsIERhc2guIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLlxuXG4gSG92ZXIgdGhlIGJvdHRvbSBvZiB5b3VyIHNjcmVlbiBhbmQgR05PTUUgU2hlbGwgZGFzaCB3aWxsIGFwcGVhciB3aXRob3V0IG92ZXJ2aWV3IGFuZCB3aWxsIGhpZGUgd2hlbiB5b3UgbGVhdmUgdGhlIGRhc2guIE5hdGl2ZSBHTk9NRSBTaGVsbCBjbGljayBiZWhhdmlvciBpcyBtb2RpZmllZDogbWluaW1pemUgaWYgb25lIHdpbmRvdyBpcyBvcGVuLCBvdmVydmlldyBpZiBtYW55IHdpbmRvd3MgYXJlIG9wZW4uIFNjcm9sbCBvbiB0aGUgZG9jayB0byBjaGFuZ2Ugd29ya3NwYWNlLlxuXG4gVGhlcmUgYXJlIHNvbWUgdmFyaWFibGVzIHlvdSBjYW4gZWFzaWx5IHNldCBpbiBleHRlbnNpb24uanMgY29kZSAob3BhY2l0eSwgdGltZW91dHMuLi4pLiBUaGVyZSB3aWxsIGJlIG5vIHByZWZlcmVuY2VzIFVJLlxuXG4gUGxlYXNlIHJlcG9ydCBidWdzIHRocm91Z2ggR2l0SHViLiIsCiAgIm5hbWUiOiAiRG9jayBmcm9tIERhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2RvY2stZnJvbS1kYXNoIiwKICAidXVpZCI6ICJkb2NrLWZyb20tZGFzaEBmdGh4IiwKICAidmVyc2lvbiI6IDMzCn0="}}}
 , {"uuid": "another-window-session-manager@gmail.com", "name": "Another Window Session Manager", "pname": "another-window-session-manager", "description": "Close and save open windows. And restore the saved windows. Most importantly, it supports both X11 and Wayland!\n\nFeatures:\n- Close open windows\n- Save open windows\n- Restore saved open windows\n- Restore window state, including Always on Top, Always on Visible Workspace and maximization\n- Restore window workspace, size and position\n- Move windows to their own workspace according to a saved session\n- Support multi-monitor\n- Trash saved session\n- Search saved session by the session name fuzzily", "link": "https://extensions.gnome.org/extension/4709/another-window-session-manager/", "shell_version_map": {"40": {"version": "11", "sha256": "0d1d0178nvcxvsay1wqm5wclfhs7a2g500xmh3khmvc981pg83j4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIGFuZCBzYXZlIG9wZW4gd2luZG93cy4gQW5kIHJlc3RvcmUgdGhlIHNhdmVkIHdpbmRvd3MuIE1vc3QgaW1wb3J0YW50bHksIGl0IHN1cHBvcnRzIGJvdGggWDExIGFuZCBXYXlsYW5kIVxuXG5GZWF0dXJlczpcbi0gQ2xvc2Ugb3BlbiB3aW5kb3dzXG4tIFNhdmUgb3BlbiB3aW5kb3dzXG4tIFJlc3RvcmUgc2F2ZWQgb3BlbiB3aW5kb3dzXG4tIFJlc3RvcmUgd2luZG93IHN0YXRlLCBpbmNsdWRpbmcgQWx3YXlzIG9uIFRvcCwgQWx3YXlzIG9uIFZpc2libGUgV29ya3NwYWNlIGFuZCBtYXhpbWl6YXRpb25cbi0gUmVzdG9yZSB3aW5kb3cgd29ya3NwYWNlLCBzaXplIGFuZCBwb3NpdGlvblxuLSBNb3ZlIHdpbmRvd3MgdG8gdGhlaXIgb3duIHdvcmtzcGFjZSBhY2NvcmRpbmcgdG8gYSBzYXZlZCBzZXNzaW9uXG4tIFN1cHBvcnQgbXVsdGktbW9uaXRvclxuLSBUcmFzaCBzYXZlZCBzZXNzaW9uXG4tIFNlYXJjaCBzYXZlZCBzZXNzaW9uIGJ5IHRoZSBzZXNzaW9uIG5hbWUgZnV6emlseSIsCiAgIm5hbWUiOiAiQW5vdGhlciBXaW5kb3cgU2Vzc2lvbiBNYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ubHBzdWdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXIiLAogICJ1dWlkIjogImFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlckBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "41": {"version": "11", "sha256": "0d1d0178nvcxvsay1wqm5wclfhs7a2g500xmh3khmvc981pg83j4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIGFuZCBzYXZlIG9wZW4gd2luZG93cy4gQW5kIHJlc3RvcmUgdGhlIHNhdmVkIHdpbmRvd3MuIE1vc3QgaW1wb3J0YW50bHksIGl0IHN1cHBvcnRzIGJvdGggWDExIGFuZCBXYXlsYW5kIVxuXG5GZWF0dXJlczpcbi0gQ2xvc2Ugb3BlbiB3aW5kb3dzXG4tIFNhdmUgb3BlbiB3aW5kb3dzXG4tIFJlc3RvcmUgc2F2ZWQgb3BlbiB3aW5kb3dzXG4tIFJlc3RvcmUgd2luZG93IHN0YXRlLCBpbmNsdWRpbmcgQWx3YXlzIG9uIFRvcCwgQWx3YXlzIG9uIFZpc2libGUgV29ya3NwYWNlIGFuZCBtYXhpbWl6YXRpb25cbi0gUmVzdG9yZSB3aW5kb3cgd29ya3NwYWNlLCBzaXplIGFuZCBwb3NpdGlvblxuLSBNb3ZlIHdpbmRvd3MgdG8gdGhlaXIgb3duIHdvcmtzcGFjZSBhY2NvcmRpbmcgdG8gYSBzYXZlZCBzZXNzaW9uXG4tIFN1cHBvcnQgbXVsdGktbW9uaXRvclxuLSBUcmFzaCBzYXZlZCBzZXNzaW9uXG4tIFNlYXJjaCBzYXZlZCBzZXNzaW9uIGJ5IHRoZSBzZXNzaW9uIG5hbWUgZnV6emlseSIsCiAgIm5hbWUiOiAiQW5vdGhlciBXaW5kb3cgU2Vzc2lvbiBNYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ubHBzdWdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXIiLAogICJ1dWlkIjogImFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlckBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
 , {"uuid": "prevent-double-empty-window@silliewous.nl", "name": "Prevent double empty window", "pname": "prevent-double-empty-window", "description": "Set MIN_NUMBER_WORKSPACES to 1 so there is only one empty workspace when there are no windows open.\n\nhttps://gitlab.com/g3786/prevent-double-empty-window", "link": "https://extensions.gnome.org/extension/4711/prevent-double-empty-window/", "shell_version_map": {"40": {"version": "1", "sha256": "18f1pflvv4sw1r182rrjz2jdy1ym1ipm5lid2sm518h8c3iiabb2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBNSU5fTlVNQkVSX1dPUktTUEFDRVMgdG8gMSBzbyB0aGVyZSBpcyBvbmx5IG9uZSBlbXB0eSB3b3Jrc3BhY2Ugd2hlbiB0aGVyZSBhcmUgbm8gd2luZG93cyBvcGVuLlxuXG5odHRwczovL2dpdGxhYi5jb20vZzM3ODYvcHJldmVudC1kb3VibGUtZW1wdHktd2luZG93IiwKICAibmFtZSI6ICJQcmV2ZW50IGRvdWJsZSBlbXB0eSB3aW5kb3ciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInByZXZlbnQtZG91YmxlLWVtcHR5LXdpbmRvd0BzaWxsaWV3b3VzLm5sIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
-, {"uuid": "display-ddc-brightness-volume@sagrland.de", "name": "Display DDC Brightness Volume", "pname": "display-ddc-brightness-volume", "description": "Control external displays' brightness and audio volume via DDC. It requires ddcutil to be installed and i2c permissions for non-root users.", "link": "https://extensions.gnome.org/extension/4712/display-ddc-brightness-volume/", "shell_version_map": {"40": {"version": "1", "sha256": "1pad0q2a04lak6601vj2qz029g86l9r5m65bf0m97b21fd46a9s8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgZXh0ZXJuYWwgZGlzcGxheXMnIGJyaWdodG5lc3MgYW5kIGF1ZGlvIHZvbHVtZSB2aWEgRERDLiBJdCByZXF1aXJlcyBkZGN1dGlsIHRvIGJlIGluc3RhbGxlZCBhbmQgaTJjIHBlcm1pc3Npb25zIGZvciBub24tcm9vdCB1c2Vycy4iLAogICJuYW1lIjogIkRpc3BsYXkgRERDIEJyaWdodG5lc3MgVm9sdW1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TYUdyTGFuZC9nbm9tZS1zaGVsbC1kaXNwbGF5LWRkYy1icmlnaHRuZXNzLXZvbHVtZS8iLAogICJ1dWlkIjogImRpc3BsYXktZGRjLWJyaWdodG5lc3Mtdm9sdW1lQHNhZ3JsYW5kLmRlIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "41": {"version": "1", "sha256": "1pad0q2a04lak6601vj2qz029g86l9r5m65bf0m97b21fd46a9s8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgZXh0ZXJuYWwgZGlzcGxheXMnIGJyaWdodG5lc3MgYW5kIGF1ZGlvIHZvbHVtZSB2aWEgRERDLiBJdCByZXF1aXJlcyBkZGN1dGlsIHRvIGJlIGluc3RhbGxlZCBhbmQgaTJjIHBlcm1pc3Npb25zIGZvciBub24tcm9vdCB1c2Vycy4iLAogICJuYW1lIjogIkRpc3BsYXkgRERDIEJyaWdodG5lc3MgVm9sdW1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TYUdyTGFuZC9nbm9tZS1zaGVsbC1kaXNwbGF5LWRkYy1icmlnaHRuZXNzLXZvbHVtZS8iLAogICJ1dWlkIjogImRpc3BsYXktZGRjLWJyaWdodG5lc3Mtdm9sdW1lQHNhZ3JsYW5kLmRlIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
+, {"uuid": "display-ddc-brightness-volume@sagrland.de", "name": "Display DDC Brightness Volume", "pname": "display-ddc-brightness-volume", "description": "Simple GNOME extension to control displays' brightness and audio volume via DDC. It requires ddcutil to be installed, i2c permissions for non-root users configured.", "link": "https://extensions.gnome.org/extension/4712/display-ddc-brightness-volume/", "shell_version_map": {"40": {"version": "4", "sha256": "1p0pj5sbjz4bffdhplvpq34fl053cjiddagsffk21jxwl1wmrgsk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBleHRlbnNpb24gdG8gY29udHJvbCBkaXNwbGF5cycgYnJpZ2h0bmVzcyBhbmQgYXVkaW8gdm9sdW1lIHZpYSBEREMuIEl0IHJlcXVpcmVzIGRkY3V0aWwgdG8gYmUgaW5zdGFsbGVkLCBpMmMgcGVybWlzc2lvbnMgZm9yIG5vbi1yb290IHVzZXJzIGNvbmZpZ3VyZWQuIiwKICAibmFtZSI6ICJEaXNwbGF5IEREQyBCcmlnaHRuZXNzIFZvbHVtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NhR3JMYW5kL2dub21lLXNoZWxsLWRpc3BsYXktZGRjLWJyaWdodG5lc3Mtdm9sdW1lLyIsCiAgInV1aWQiOiAiZGlzcGxheS1kZGMtYnJpZ2h0bmVzcy12b2x1bWVAc2FncmxhbmQuZGUiLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "1p0pj5sbjz4bffdhplvpq34fl053cjiddagsffk21jxwl1wmrgsk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBleHRlbnNpb24gdG8gY29udHJvbCBkaXNwbGF5cycgYnJpZ2h0bmVzcyBhbmQgYXVkaW8gdm9sdW1lIHZpYSBEREMuIEl0IHJlcXVpcmVzIGRkY3V0aWwgdG8gYmUgaW5zdGFsbGVkLCBpMmMgcGVybWlzc2lvbnMgZm9yIG5vbi1yb290IHVzZXJzIGNvbmZpZ3VyZWQuIiwKICAibmFtZSI6ICJEaXNwbGF5IEREQyBCcmlnaHRuZXNzIFZvbHVtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NhR3JMYW5kL2dub21lLXNoZWxsLWRpc3BsYXktZGRjLWJyaWdodG5lc3Mtdm9sdW1lLyIsCiAgInV1aWQiOiAiZGlzcGxheS1kZGMtYnJpZ2h0bmVzcy12b2x1bWVAc2FncmxhbmQuZGUiLAogICJ2ZXJzaW9uIjogNAp9"}, "42": {"version": "4", "sha256": "1p0pj5sbjz4bffdhplvpq34fl053cjiddagsffk21jxwl1wmrgsk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBleHRlbnNpb24gdG8gY29udHJvbCBkaXNwbGF5cycgYnJpZ2h0bmVzcyBhbmQgYXVkaW8gdm9sdW1lIHZpYSBEREMuIEl0IHJlcXVpcmVzIGRkY3V0aWwgdG8gYmUgaW5zdGFsbGVkLCBpMmMgcGVybWlzc2lvbnMgZm9yIG5vbi1yb290IHVzZXJzIGNvbmZpZ3VyZWQuIiwKICAibmFtZSI6ICJEaXNwbGF5IEREQyBCcmlnaHRuZXNzIFZvbHVtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NhR3JMYW5kL2dub21lLXNoZWxsLWRpc3BsYXktZGRjLWJyaWdodG5lc3Mtdm9sdW1lLyIsCiAgInV1aWQiOiAiZGlzcGxheS1kZGMtYnJpZ2h0bmVzcy12b2x1bWVAc2FncmxhbmQuZGUiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "disable_hover@fawtytoo", "name": "Disable Hover On App & Window Switcher Popups", "pname": "disable-hover-on-app-window-switcher-popups", "description": "Prevents the mouse cursor interfering with either the App Switcher or the Window Switcher popups. For those users that like to use the keyboard only with these switchers.\nNote: It doesn't prevent mouse clicks.\n\nThese are the switcher popups that are invoked from keyboard shortcuts, e.g. Alt+Tab or Super+Tab.", "link": "https://extensions.gnome.org/extension/4714/disable-hover-on-app-window-switcher-popups/", "shell_version_map": {"38": {"version": "1", "sha256": "1h3ja9wjj5lxb2qb1p95si9q3hz2j5rj193jg1dxgjkgjkiprpjk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByZXZlbnRzIHRoZSBtb3VzZSBjdXJzb3IgaW50ZXJmZXJpbmcgd2l0aCBlaXRoZXIgdGhlIEFwcCBTd2l0Y2hlciBvciB0aGUgV2luZG93IFN3aXRjaGVyIHBvcHVwcy4gRm9yIHRob3NlIHVzZXJzIHRoYXQgbGlrZSB0byB1c2UgdGhlIGtleWJvYXJkIG9ubHkgd2l0aCB0aGVzZSBzd2l0Y2hlcnMuXG5Ob3RlOiBJdCBkb2Vzbid0IHByZXZlbnQgbW91c2UgY2xpY2tzLlxuXG5UaGVzZSBhcmUgdGhlIHN3aXRjaGVyIHBvcHVwcyB0aGF0IGFyZSBpbnZva2VkIGZyb20ga2V5Ym9hcmQgc2hvcnRjdXRzLCBlLmcuIEFsdCtUYWIgb3IgU3VwZXIrVGFiLiIsCiAgIm5hbWUiOiAiRGlzYWJsZSBIb3ZlciBPbiBBcHAgJiBXaW5kb3cgU3dpdGNoZXIgUG9wdXBzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZGlzYWJsZV9ob3ZlckBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxCn0="}, "40": {"version": "1", "sha256": "1h3ja9wjj5lxb2qb1p95si9q3hz2j5rj193jg1dxgjkgjkiprpjk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByZXZlbnRzIHRoZSBtb3VzZSBjdXJzb3IgaW50ZXJmZXJpbmcgd2l0aCBlaXRoZXIgdGhlIEFwcCBTd2l0Y2hlciBvciB0aGUgV2luZG93IFN3aXRjaGVyIHBvcHVwcy4gRm9yIHRob3NlIHVzZXJzIHRoYXQgbGlrZSB0byB1c2UgdGhlIGtleWJvYXJkIG9ubHkgd2l0aCB0aGVzZSBzd2l0Y2hlcnMuXG5Ob3RlOiBJdCBkb2Vzbid0IHByZXZlbnQgbW91c2UgY2xpY2tzLlxuXG5UaGVzZSBhcmUgdGhlIHN3aXRjaGVyIHBvcHVwcyB0aGF0IGFyZSBpbnZva2VkIGZyb20ga2V5Ym9hcmQgc2hvcnRjdXRzLCBlLmcuIEFsdCtUYWIgb3IgU3VwZXIrVGFiLiIsCiAgIm5hbWUiOiAiRGlzYWJsZSBIb3ZlciBPbiBBcHAgJiBXaW5kb3cgU3dpdGNoZXIgUG9wdXBzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZGlzYWJsZV9ob3ZlckBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "1h3ja9wjj5lxb2qb1p95si9q3hz2j5rj193jg1dxgjkgjkiprpjk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByZXZlbnRzIHRoZSBtb3VzZSBjdXJzb3IgaW50ZXJmZXJpbmcgd2l0aCBlaXRoZXIgdGhlIEFwcCBTd2l0Y2hlciBvciB0aGUgV2luZG93IFN3aXRjaGVyIHBvcHVwcy4gRm9yIHRob3NlIHVzZXJzIHRoYXQgbGlrZSB0byB1c2UgdGhlIGtleWJvYXJkIG9ubHkgd2l0aCB0aGVzZSBzd2l0Y2hlcnMuXG5Ob3RlOiBJdCBkb2Vzbid0IHByZXZlbnQgbW91c2UgY2xpY2tzLlxuXG5UaGVzZSBhcmUgdGhlIHN3aXRjaGVyIHBvcHVwcyB0aGF0IGFyZSBpbnZva2VkIGZyb20ga2V5Ym9hcmQgc2hvcnRjdXRzLCBlLmcuIEFsdCtUYWIgb3IgU3VwZXIrVGFiLiIsCiAgIm5hbWUiOiAiRGlzYWJsZSBIb3ZlciBPbiBBcHAgJiBXaW5kb3cgU3dpdGNoZXIgUG9wdXBzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZGlzYWJsZV9ob3ZlckBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "countdown-timer@eexpss.gmail.com", "name": "Countdown & Timer", "pname": "countdown-timer", "description": "Countdown in minutes, or enter text containing HH:MM format to set the Timer.", "link": "https://extensions.gnome.org/extension/4720/countdown-timer/", "shell_version_map": {"40": {"version": "9", "sha256": "08va385j93b9d1n8w7b3sia656abl4x25ka1kff4kzg0rd0b74c8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvdW50ZG93biBpbiBtaW51dGVzLCBvciBlbnRlciB0ZXh0IGNvbnRhaW5pbmcgSEg6TU0gZm9ybWF0IHRvIHNldCB0aGUgVGltZXIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY291bnRkb3duLXRpbWVyIiwKICAibmFtZSI6ICJDb3VudGRvd24gJiBUaW1lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dub21lLXNoZWxsLWNvdW50ZG93bi10aW1lci8iLAogICJ1dWlkIjogImNvdW50ZG93bi10aW1lckBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "08va385j93b9d1n8w7b3sia656abl4x25ka1kff4kzg0rd0b74c8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvdW50ZG93biBpbiBtaW51dGVzLCBvciBlbnRlciB0ZXh0IGNvbnRhaW5pbmcgSEg6TU0gZm9ybWF0IHRvIHNldCB0aGUgVGltZXIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY291bnRkb3duLXRpbWVyIiwKICAibmFtZSI6ICJDb3VudGRvd24gJiBUaW1lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dub21lLXNoZWxsLWNvdW50ZG93bi10aW1lci8iLAogICJ1dWlkIjogImNvdW50ZG93bi10aW1lckBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "42": {"version": "9", "sha256": "08va385j93b9d1n8w7b3sia656abl4x25ka1kff4kzg0rd0b74c8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvdW50ZG93biBpbiBtaW51dGVzLCBvciBlbnRlciB0ZXh0IGNvbnRhaW5pbmcgSEg6TU0gZm9ybWF0IHRvIHNldCB0aGUgVGltZXIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY291bnRkb3duLXRpbWVyIiwKICAibmFtZSI6ICJDb3VudGRvd24gJiBUaW1lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dub21lLXNoZWxsLWNvdW50ZG93bi10aW1lci8iLAogICJ1dWlkIjogImNvdW50ZG93bi10aW1lckBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
 , {"uuid": "workspace-dry-names@benmoussatmouad.github.io", "name": "Worksapce Dry Names", "pname": "worksapce-dry-names", "description": "Workspace dry-names is a simple gnome extension that enables tags for desktop workspaces. It shows text labels on the left side of the main panel with randomly generated cities names (or an other category of names). Names can also be modified.\n\nhttps://github.com/benmoussatMouad/gnome-workspace-dry-names.git", "link": "https://extensions.gnome.org/extension/4721/worksapce-dry-names/", "shell_version_map": {"38": {"version": "1", "sha256": "0ljprv3ar01p1y24p6j7hc8g7afca7ir0b2zyapjpzndz7mv1zcl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBkcnktbmFtZXMgaXMgYSBzaW1wbGUgZ25vbWUgZXh0ZW5zaW9uIHRoYXQgZW5hYmxlcyB0YWdzIGZvciBkZXNrdG9wIHdvcmtzcGFjZXMuIEl0IHNob3dzIHRleHQgbGFiZWxzIG9uIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIG1haW4gcGFuZWwgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQgY2l0aWVzIG5hbWVzIChvciBhbiBvdGhlciBjYXRlZ29yeSBvZiBuYW1lcykuIE5hbWVzIGNhbiBhbHNvIGJlIG1vZGlmaWVkLlxuXG5odHRwczovL2dpdGh1Yi5jb20vYmVubW91c3NhdE1vdWFkL2dub21lLXdvcmtzcGFjZS1kcnktbmFtZXMuZ2l0IiwKICAibmFtZSI6ICJXb3Jrc2FwY2UgRHJ5IE5hbWVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzcGFjZS1kcnktbmFtZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2UtZHJ5LW5hbWVzQGJlbm1vdXNzYXRtb3VhZC5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMQp9"}, "40": {"version": "1", "sha256": "0ljprv3ar01p1y24p6j7hc8g7afca7ir0b2zyapjpzndz7mv1zcl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBkcnktbmFtZXMgaXMgYSBzaW1wbGUgZ25vbWUgZXh0ZW5zaW9uIHRoYXQgZW5hYmxlcyB0YWdzIGZvciBkZXNrdG9wIHdvcmtzcGFjZXMuIEl0IHNob3dzIHRleHQgbGFiZWxzIG9uIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIG1haW4gcGFuZWwgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQgY2l0aWVzIG5hbWVzIChvciBhbiBvdGhlciBjYXRlZ29yeSBvZiBuYW1lcykuIE5hbWVzIGNhbiBhbHNvIGJlIG1vZGlmaWVkLlxuXG5odHRwczovL2dpdGh1Yi5jb20vYmVubW91c3NhdE1vdWFkL2dub21lLXdvcmtzcGFjZS1kcnktbmFtZXMuZ2l0IiwKICAibmFtZSI6ICJXb3Jrc2FwY2UgRHJ5IE5hbWVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzcGFjZS1kcnktbmFtZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2UtZHJ5LW5hbWVzQGJlbm1vdXNzYXRtb3VhZC5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMQp9"}, "41": {"version": "1", "sha256": "0ljprv3ar01p1y24p6j7hc8g7afca7ir0b2zyapjpzndz7mv1zcl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBkcnktbmFtZXMgaXMgYSBzaW1wbGUgZ25vbWUgZXh0ZW5zaW9uIHRoYXQgZW5hYmxlcyB0YWdzIGZvciBkZXNrdG9wIHdvcmtzcGFjZXMuIEl0IHNob3dzIHRleHQgbGFiZWxzIG9uIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIG1haW4gcGFuZWwgd2l0aCByYW5kb21seSBnZW5lcmF0ZWQgY2l0aWVzIG5hbWVzIChvciBhbiBvdGhlciBjYXRlZ29yeSBvZiBuYW1lcykuIE5hbWVzIGNhbiBhbHNvIGJlIG1vZGlmaWVkLlxuXG5odHRwczovL2dpdGh1Yi5jb20vYmVubW91c3NhdE1vdWFkL2dub21lLXdvcmtzcGFjZS1kcnktbmFtZXMuZ2l0IiwKICAibmFtZSI6ICJXb3Jrc2FwY2UgRHJ5IE5hbWVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzcGFjZS1kcnktbmFtZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2UtZHJ5LW5hbWVzQGJlbm1vdXNzYXRtb3VhZC5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMQp9"}}}
@@ -660,15 +661,15 @@
 , {"uuid": "FuzzyClock@johngoetz", "name": "Fuzzy Clock", "pname": "fuzzy-clock", "description": "A human-readable (english) clock for the gnome-shell panel", "link": "https://extensions.gnome.org/extension/4771/fuzzy-clock/", "shell_version_map": {"40": {"version": "2", "sha256": "18y8r6f0czadrpamrribqq6rvwa57hpdpffpy864vqp7kq6i6s0l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgaHVtYW4tcmVhZGFibGUgKGVuZ2xpc2gpIGNsb2NrIGZvciB0aGUgZ25vbWUtc2hlbGwgcGFuZWwiLAogICJuYW1lIjogIkZ1enp5IENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qb2huZ29ldHovRnV6enlDbG9jayIsCiAgInV1aWQiOiAiRnV6enlDbG9ja0Bqb2huZ29ldHoiLAogICJ2ZXJzaW9uIjogMgp9"}, "41": {"version": "2", "sha256": "18y8r6f0czadrpamrribqq6rvwa57hpdpffpy864vqp7kq6i6s0l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgaHVtYW4tcmVhZGFibGUgKGVuZ2xpc2gpIGNsb2NrIGZvciB0aGUgZ25vbWUtc2hlbGwgcGFuZWwiLAogICJuYW1lIjogIkZ1enp5IENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9qb2huZ29ldHovRnV6enlDbG9jayIsCiAgInV1aWQiOiAiRnV6enlDbG9ja0Bqb2huZ29ldHoiLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "clip-note@eexpss.gmail.com", "name": "Clip Note", "pname": "clip-note", "description": "Save clip contents to multiple notes with separate tags. Notes locate at ~/.local/share/clip-note/. Dots in filename means splited tags.", "link": "https://extensions.gnome.org/extension/4774/clip-note/", "shell_version_map": {"40": {"version": "11", "sha256": "0bfpxlvyibcpd7vi1a65r5awggmh8i9yc705mfb6vpm92ry7iny3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNhdmUgY2xpcCBjb250ZW50cyB0byBtdWx0aXBsZSBub3RlcyB3aXRoIHNlcGFyYXRlIHRhZ3MuIE5vdGVzIGxvY2F0ZSBhdCB+Ly5sb2NhbC9zaGFyZS9jbGlwLW5vdGUvLiBEb3RzIGluIGZpbGVuYW1lIG1lYW5zIHNwbGl0ZWQgdGFncy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjbGlwLW5vdGUiLAogICJuYW1lIjogIkNsaXAgTm90ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dub21lLXNoZWxsLWNsaXAtbm90ZSIsCiAgInV1aWQiOiAiY2xpcC1ub3RlQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "41": {"version": "11", "sha256": "0bfpxlvyibcpd7vi1a65r5awggmh8i9yc705mfb6vpm92ry7iny3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNhdmUgY2xpcCBjb250ZW50cyB0byBtdWx0aXBsZSBub3RlcyB3aXRoIHNlcGFyYXRlIHRhZ3MuIE5vdGVzIGxvY2F0ZSBhdCB+Ly5sb2NhbC9zaGFyZS9jbGlwLW5vdGUvLiBEb3RzIGluIGZpbGVuYW1lIG1lYW5zIHNwbGl0ZWQgdGFncy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjbGlwLW5vdGUiLAogICJuYW1lIjogIkNsaXAgTm90ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dub21lLXNoZWxsLWNsaXAtbm90ZSIsCiAgInV1aWQiOiAiY2xpcC1ub3RlQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "42": {"version": "11", "sha256": "0bfpxlvyibcpd7vi1a65r5awggmh8i9yc705mfb6vpm92ry7iny3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNhdmUgY2xpcCBjb250ZW50cyB0byBtdWx0aXBsZSBub3RlcyB3aXRoIHNlcGFyYXRlIHRhZ3MuIE5vdGVzIGxvY2F0ZSBhdCB+Ly5sb2NhbC9zaGFyZS9jbGlwLW5vdGUvLiBEb3RzIGluIGZpbGVuYW1lIG1lYW5zIHNwbGl0ZWQgdGFncy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjbGlwLW5vdGUiLAogICJuYW1lIjogIkNsaXAgTm90ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dub21lLXNoZWxsLWNsaXAtbm90ZSIsCiAgInV1aWQiOiAiY2xpcC1ub3RlQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
 , {"uuid": "ssh-tray@mario.cardia.com.br", "name": "SSH Tray", "pname": "ssh-tray", "description": "Simple SSH extension to allow you to connect to your hosts at ~/.ssh/config and ~/ssh/know_hosts file from Gnome top bar.", "link": "https://extensions.gnome.org/extension/4779/ssh-tray/", "shell_version_map": {"41": {"version": "1", "sha256": "1c7ndcv3bnsc95sijdkq39fshybpaq9fqdk3gvwm1lx40r1ibgih", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBTU0ggZXh0ZW5zaW9uIHRvIGFsbG93IHlvdSB0byBjb25uZWN0IHRvIHlvdXIgaG9zdHMgYXQgfi8uc3NoL2NvbmZpZyBhbmQgfi9zc2gva25vd19ob3N0cyBmaWxlIGZyb20gR25vbWUgdG9wIGJhci4iLAogICJuYW1lIjogIlNTSCBUcmF5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJzc2gtdHJheUBtYXJpby5jYXJkaWEuY29tLmJyIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
-, {"uuid": "glasa@lyrahgames.github.io", "name": "Glasa", "pname": "glasa", "description": "This extension puts an icon in the panel consisting of two comic-like eyes following the cursor.", "link": "https://extensions.gnome.org/extension/4780/glasa/", "shell_version_map": {"38": {"version": "2", "sha256": "0j45y91xal9vpk5iznkxydhq4dw55hvwqyfhvq48i5zlzxfirrvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHB1dHMgYW4gaWNvbiBpbiB0aGUgcGFuZWwgY29uc2lzdGluZyBvZiB0d28gY29taWMtbGlrZSBleWVzIGZvbGxvd2luZyB0aGUgY3Vyc29yLiIsCiAgIm5hbWUiOiAiR2xhc2EiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x5cmFoZ2FtZXMvZ25vbWUtZXh0ZW5zaW9uLWdsYXNhIiwKICAidXVpZCI6ICJnbGFzYUBseXJhaGdhbWVzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "0j45y91xal9vpk5iznkxydhq4dw55hvwqyfhvq48i5zlzxfirrvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHB1dHMgYW4gaWNvbiBpbiB0aGUgcGFuZWwgY29uc2lzdGluZyBvZiB0d28gY29taWMtbGlrZSBleWVzIGZvbGxvd2luZyB0aGUgY3Vyc29yLiIsCiAgIm5hbWUiOiAiR2xhc2EiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x5cmFoZ2FtZXMvZ25vbWUtZXh0ZW5zaW9uLWdsYXNhIiwKICAidXVpZCI6ICJnbGFzYUBseXJhaGdhbWVzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "0j45y91xal9vpk5iznkxydhq4dw55hvwqyfhvq48i5zlzxfirrvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHB1dHMgYW4gaWNvbiBpbiB0aGUgcGFuZWwgY29uc2lzdGluZyBvZiB0d28gY29taWMtbGlrZSBleWVzIGZvbGxvd2luZyB0aGUgY3Vyc29yLiIsCiAgIm5hbWUiOiAiR2xhc2EiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x5cmFoZ2FtZXMvZ25vbWUtZXh0ZW5zaW9uLWdsYXNhIiwKICAidXVpZCI6ICJnbGFzYUBseXJhaGdhbWVzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyCn0="}}}
-, {"uuid": "avatar@pawel.swiszcz.com", "name": "Avatar", "pname": "avatar", "description": "Adds an avatar to the panel. Controllability: shades, buttons (turn notifications on/off, sleep, off), visibility of username and hostname", "link": "https://extensions.gnome.org/extension/4782/avatar/", "shell_version_map": {"41": {"version": "9", "sha256": "0xhn3yl7h3n1jdnk8r8srfwpx6xcjxpp7m65cqi36kzs3h1zq6yn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gYXZhdGFyIHRvIHRoZSBwYW5lbC4gQ29udHJvbGxhYmlsaXR5OiBzaGFkZXMsIGJ1dHRvbnMgKHR1cm4gbm90aWZpY2F0aW9ucyBvbi9vZmYsIHNsZWVwLCBvZmYpLCB2aXNpYmlsaXR5IG9mIHVzZXJuYW1lIGFuZCBob3N0bmFtZSIsCiAgIm5hbWUiOiAiQXZhdGFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Bhd2Vsc3dpc3pjei9BdmF0YXItR25vbWUtU2hlbGwtRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJhdmF0YXJAcGF3ZWwuc3dpc3pjei5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}}}
+, {"uuid": "glasa@lyrahgames.github.io", "name": "Glasa", "pname": "glasa", "description": "This extension puts an icon in the panel consisting of two comic-like eyes following the cursor.", "link": "https://extensions.gnome.org/extension/4780/glasa/", "shell_version_map": {"38": {"version": "2", "sha256": "0j45y91xal9vpk5iznkxydhq4dw55hvwqyfhvq48i5zlzxfirrvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHB1dHMgYW4gaWNvbiBpbiB0aGUgcGFuZWwgY29uc2lzdGluZyBvZiB0d28gY29taWMtbGlrZSBleWVzIGZvbGxvd2luZyB0aGUgY3Vyc29yLiIsCiAgIm5hbWUiOiAiR2xhc2EiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x5cmFoZ2FtZXMvZ25vbWUtZXh0ZW5zaW9uLWdsYXNhIiwKICAidXVpZCI6ICJnbGFzYUBseXJhaGdhbWVzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "7", "sha256": "1nkv8bjsjdp4scklmpn7f74fhnyqd65dvhlplzn54qad74afdjdj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHB1dHMgYW4gaWNvbiBpbiB0aGUgcGFuZWwgY29uc2lzdGluZyBvZiB0d28gY29taWMtbGlrZSBleWVzIGZvbGxvd2luZyB0aGUgY3Vyc29yLiIsCiAgIm5hbWUiOiAiR2xhc2EiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x5cmFoZ2FtZXMvZ25vbWUtZXh0ZW5zaW9uLWdsYXNhIiwKICAidXVpZCI6ICJnbGFzYUBseXJhaGdhbWVzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "1nkv8bjsjdp4scklmpn7f74fhnyqd65dvhlplzn54qad74afdjdj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHB1dHMgYW4gaWNvbiBpbiB0aGUgcGFuZWwgY29uc2lzdGluZyBvZiB0d28gY29taWMtbGlrZSBleWVzIGZvbGxvd2luZyB0aGUgY3Vyc29yLiIsCiAgIm5hbWUiOiAiR2xhc2EiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x5cmFoZ2FtZXMvZ25vbWUtZXh0ZW5zaW9uLWdsYXNhIiwKICAidXVpZCI6ICJnbGFzYUBseXJhaGdhbWVzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA3Cn0="}}}
+, {"uuid": "avatar@pawel.swiszcz.com", "name": "Avatar", "pname": "avatar", "description": "Adds an avatar to the panel. Controllability: shades, buttons (turn notifications on/off, sleep, off), visibility of username and hostname", "link": "https://extensions.gnome.org/extension/4782/avatar/", "shell_version_map": {"41": {"version": "10", "sha256": "08s1c8d2b1jn8bxnlb9g97wfz8h9770ch8my3pr1n2xglnpiw3l8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gYXZhdGFyIHRvIHRoZSBwYW5lbC4gQ29udHJvbGxhYmlsaXR5OiBzaGFkZXMsIGJ1dHRvbnMgKHR1cm4gbm90aWZpY2F0aW9ucyBvbi9vZmYsIHNsZWVwLCBvZmYpLCB2aXNpYmlsaXR5IG9mIHVzZXJuYW1lIGFuZCBob3N0bmFtZSIsCiAgIm5hbWUiOiAiQXZhdGFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wYXdlbHN3aXN6Y3ovQXZhdGFyLUdub21lLVNoZWxsLUV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXZhdGFyQHBhd2VsLnN3aXN6Y3ouY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "42": {"version": "10", "sha256": "08s1c8d2b1jn8bxnlb9g97wfz8h9770ch8my3pr1n2xglnpiw3l8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gYXZhdGFyIHRvIHRoZSBwYW5lbC4gQ29udHJvbGxhYmlsaXR5OiBzaGFkZXMsIGJ1dHRvbnMgKHR1cm4gbm90aWZpY2F0aW9ucyBvbi9vZmYsIHNsZWVwLCBvZmYpLCB2aXNpYmlsaXR5IG9mIHVzZXJuYW1lIGFuZCBob3N0bmFtZSIsCiAgIm5hbWUiOiAiQXZhdGFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wYXdlbHN3aXN6Y3ovQXZhdGFyLUdub21lLVNoZWxsLUV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXZhdGFyQHBhd2VsLnN3aXN6Y3ouY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
 , {"uuid": "default-workspace@mateusrodcosta.com", "name": "Default Workspace", "pname": "default-workspace", "description": "Switches to the specified workspace on login.\nUseful for fixed number of workspace setups where the first workspace isn't the main one.", "link": "https://extensions.gnome.org/extension/4783/default-workspace/", "shell_version_map": {"40": {"version": "2", "sha256": "05s1bzh917vv3j7xfx2gljwfzxkb9lsvp8zgcgch75hfvywvpgb9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIHRvIHRoZSBzcGVjaWZpZWQgd29ya3NwYWNlIG9uIGxvZ2luLlxuVXNlZnVsIGZvciBmaXhlZCBudW1iZXIgb2Ygd29ya3NwYWNlIHNldHVwcyB3aGVyZSB0aGUgZmlyc3Qgd29ya3NwYWNlIGlzbid0IHRoZSBtYWluIG9uZS4iLAogICJuYW1lIjogIkRlZmF1bHQgV29ya3NwYWNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYXRldXNSb2RDb3N0YS9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGVmYXVsdC13b3Jrc3BhY2UiLAogICJ1dWlkIjogImRlZmF1bHQtd29ya3NwYWNlQG1hdGV1c3JvZGNvc3RhLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "05s1bzh917vv3j7xfx2gljwfzxkb9lsvp8zgcgch75hfvywvpgb9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIHRvIHRoZSBzcGVjaWZpZWQgd29ya3NwYWNlIG9uIGxvZ2luLlxuVXNlZnVsIGZvciBmaXhlZCBudW1iZXIgb2Ygd29ya3NwYWNlIHNldHVwcyB3aGVyZSB0aGUgZmlyc3Qgd29ya3NwYWNlIGlzbid0IHRoZSBtYWluIG9uZS4iLAogICJuYW1lIjogIkRlZmF1bHQgV29ya3NwYWNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYXRldXNSb2RDb3N0YS9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGVmYXVsdC13b3Jrc3BhY2UiLAogICJ1dWlkIjogImRlZmF1bHQtd29ya3NwYWNlQG1hdGV1c3JvZGNvc3RhLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
-, {"uuid": "alt-mouse@eexpss.gmail.com", "name": "Alt Mouse", "pname": "alt-mouse", "description": "* Alt + Mouse control window, Detailed instructions are on the home page and an alt-mouse-diagram.png in extension directory. Disable desktop BackgroundMenu, Disable Panel dragMode, Add a gap at right screen edge. Add Top-Left and Top-Right corner as hot coner.", "link": "https://extensions.gnome.org/extension/4786/alt-mouse/", "shell_version_map": {"40": {"version": "10", "sha256": "1rm3z9n34w2hivg8mggfvj5l9frwk39kc92nkis2a208wq57p21k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQWx0ICsgTW91c2UgY29udHJvbCB3aW5kb3csIERldGFpbGVkIGluc3RydWN0aW9ucyBhcmUgb24gdGhlIGhvbWUgcGFnZSBhbmQgYW4gYWx0LW1vdXNlLWRpYWdyYW0ucG5nIGluIGV4dGVuc2lvbiBkaXJlY3RvcnkuIERpc2FibGUgZGVza3RvcCBCYWNrZ3JvdW5kTWVudSwgRGlzYWJsZSBQYW5lbCBkcmFnTW9kZSwgQWRkIGEgZ2FwIGF0IHJpZ2h0IHNjcmVlbiBlZGdlLiBBZGQgVG9wLUxlZnQgYW5kIFRvcC1SaWdodCBjb3JuZXIgYXMgaG90IGNvbmVyLiIsCiAgIm5hbWUiOiAiQWx0IE1vdXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtYWx0LW1vdXNlIiwKICAidXVpZCI6ICJhbHQtbW91c2VAZWV4cHNzLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMAp9"}, "41": {"version": "10", "sha256": "1rm3z9n34w2hivg8mggfvj5l9frwk39kc92nkis2a208wq57p21k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQWx0ICsgTW91c2UgY29udHJvbCB3aW5kb3csIERldGFpbGVkIGluc3RydWN0aW9ucyBhcmUgb24gdGhlIGhvbWUgcGFnZSBhbmQgYW4gYWx0LW1vdXNlLWRpYWdyYW0ucG5nIGluIGV4dGVuc2lvbiBkaXJlY3RvcnkuIERpc2FibGUgZGVza3RvcCBCYWNrZ3JvdW5kTWVudSwgRGlzYWJsZSBQYW5lbCBkcmFnTW9kZSwgQWRkIGEgZ2FwIGF0IHJpZ2h0IHNjcmVlbiBlZGdlLiBBZGQgVG9wLUxlZnQgYW5kIFRvcC1SaWdodCBjb3JuZXIgYXMgaG90IGNvbmVyLiIsCiAgIm5hbWUiOiAiQWx0IE1vdXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtYWx0LW1vdXNlIiwKICAidXVpZCI6ICJhbHQtbW91c2VAZWV4cHNzLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMAp9"}, "42": {"version": "10", "sha256": "1rm3z9n34w2hivg8mggfvj5l9frwk39kc92nkis2a208wq57p21k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQWx0ICsgTW91c2UgY29udHJvbCB3aW5kb3csIERldGFpbGVkIGluc3RydWN0aW9ucyBhcmUgb24gdGhlIGhvbWUgcGFnZSBhbmQgYW4gYWx0LW1vdXNlLWRpYWdyYW0ucG5nIGluIGV4dGVuc2lvbiBkaXJlY3RvcnkuIERpc2FibGUgZGVza3RvcCBCYWNrZ3JvdW5kTWVudSwgRGlzYWJsZSBQYW5lbCBkcmFnTW9kZSwgQWRkIGEgZ2FwIGF0IHJpZ2h0IHNjcmVlbiBlZGdlLiBBZGQgVG9wLUxlZnQgYW5kIFRvcC1SaWdodCBjb3JuZXIgYXMgaG90IGNvbmVyLiIsCiAgIm5hbWUiOiAiQWx0IE1vdXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtYWx0LW1vdXNlIiwKICAidXVpZCI6ICJhbHQtbW91c2VAZWV4cHNzLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMAp9"}}}
-, {"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 content, dimensions, position, orientation and colors of its popup indicator.\n\n- all GNOME workspace related options at one place\n- adds ws 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- ws 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": "2", "sha256": "1zxsi1pclxm01y0mj2hs5xa6j401k9fl85d4z592667gshnr9y0f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgY29udGVudCwgZGltZW5zaW9ucywgcG9zaXRpb24sIG9yaWVudGF0aW9uIGFuZCBjb2xvcnMgb2YgaXRzIHBvcHVwIGluZGljYXRvci5cblxuLSBhbGwgR05PTUUgd29ya3NwYWNlIHJlbGF0ZWQgb3B0aW9ucyBhdCBvbmUgcGxhY2Vcbi0gYWRkcyB3cyBzd2l0Y2hlciBXcmFwYXJvdWQgYW5kIElnbm9yZSBMYXN0IChlbXB0eSkgV29ya3NwYWNlIG9wdGlvbnNcbi0gYWxsb3dzIHRvIGRpc2FibGUgb3IgY3VzdG9taXplIHN3aXRjaGVyIHBvcHVwXG4tIGFsbG93cyBhZGRpbmcgY29udGVudCB0byB0aGUgd29ya3NwYWNlIHN3aXRjaGVyIHBvcHVwIC0gV29ya3NwYWNlIE5hbWUsIEN1cnJlbnQgQXBwbGljYXRpb24gTmFtZSwgV29ya3NwYWNlIEluZGV4XG4tIHdzIHN3aXRjaGVyIHBvcHVwIGFwcGVhcmFuY2UgY3VzdG9taXphdGlvbiBpbmNsdWRlcyBwb3NpdGlvbiBvbiBzY3JlZW4sIHRpbWluZ3MsIHNpemUsIGNvbG9ycyAsIG9yaWVudGF0aW9uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJuYW1lIjogIldvcmtzcGFjZSBTd2l0Y2hlciBNYW5hZ2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL3dvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlckBHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}, "40": {"version": "2", "sha256": "1zxsi1pclxm01y0mj2hs5xa6j401k9fl85d4z592667gshnr9y0f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgY29udGVudCwgZGltZW5zaW9ucywgcG9zaXRpb24sIG9yaWVudGF0aW9uIGFuZCBjb2xvcnMgb2YgaXRzIHBvcHVwIGluZGljYXRvci5cblxuLSBhbGwgR05PTUUgd29ya3NwYWNlIHJlbGF0ZWQgb3B0aW9ucyBhdCBvbmUgcGxhY2Vcbi0gYWRkcyB3cyBzd2l0Y2hlciBXcmFwYXJvdWQgYW5kIElnbm9yZSBMYXN0IChlbXB0eSkgV29ya3NwYWNlIG9wdGlvbnNcbi0gYWxsb3dzIHRvIGRpc2FibGUgb3IgY3VzdG9taXplIHN3aXRjaGVyIHBvcHVwXG4tIGFsbG93cyBhZGRpbmcgY29udGVudCB0byB0aGUgd29ya3NwYWNlIHN3aXRjaGVyIHBvcHVwIC0gV29ya3NwYWNlIE5hbWUsIEN1cnJlbnQgQXBwbGljYXRpb24gTmFtZSwgV29ya3NwYWNlIEluZGV4XG4tIHdzIHN3aXRjaGVyIHBvcHVwIGFwcGVhcmFuY2UgY3VzdG9taXphdGlvbiBpbmNsdWRlcyBwb3NpdGlvbiBvbiBzY3JlZW4sIHRpbWluZ3MsIHNpemUsIGNvbG9ycyAsIG9yaWVudGF0aW9uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJuYW1lIjogIldvcmtzcGFjZSBTd2l0Y2hlciBNYW5hZ2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL3dvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlckBHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}, "41": {"version": "2", "sha256": "1zxsi1pclxm01y0mj2hs5xa6j401k9fl85d4z592667gshnr9y0f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgY29udGVudCwgZGltZW5zaW9ucywgcG9zaXRpb24sIG9yaWVudGF0aW9uIGFuZCBjb2xvcnMgb2YgaXRzIHBvcHVwIGluZGljYXRvci5cblxuLSBhbGwgR05PTUUgd29ya3NwYWNlIHJlbGF0ZWQgb3B0aW9ucyBhdCBvbmUgcGxhY2Vcbi0gYWRkcyB3cyBzd2l0Y2hlciBXcmFwYXJvdWQgYW5kIElnbm9yZSBMYXN0IChlbXB0eSkgV29ya3NwYWNlIG9wdGlvbnNcbi0gYWxsb3dzIHRvIGRpc2FibGUgb3IgY3VzdG9taXplIHN3aXRjaGVyIHBvcHVwXG4tIGFsbG93cyBhZGRpbmcgY29udGVudCB0byB0aGUgd29ya3NwYWNlIHN3aXRjaGVyIHBvcHVwIC0gV29ya3NwYWNlIE5hbWUsIEN1cnJlbnQgQXBwbGljYXRpb24gTmFtZSwgV29ya3NwYWNlIEluZGV4XG4tIHdzIHN3aXRjaGVyIHBvcHVwIGFwcGVhcmFuY2UgY3VzdG9taXphdGlvbiBpbmNsdWRlcyBwb3NpdGlvbiBvbiBzY3JlZW4sIHRpbWluZ3MsIHNpemUsIGNvbG9ycyAsIG9yaWVudGF0aW9uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJuYW1lIjogIldvcmtzcGFjZSBTd2l0Y2hlciBNYW5hZ2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL3dvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlckBHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}}}
-, {"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": "13", "sha256": "04ps81aqn3vinlqwcp5pacj77cmbrhaz6wsby0c7v9yc1cjcazvz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvcHkvU2VsZWN0IHR3byBEaXJzL0ZpbGVzIGZyb20gYW55d2hlcmUgc3VjaCBhcyBgbmF1dGlsdXNgIG9yIGBnbm9tZS10ZXJtaW5hbGAsIGFuZCB0aGVuIGNvbXBhcmUgdGhlbSAodXNlIGBtZWxkYCkgb3Igb3BlbiB3aXRoIEN0cmwtTyBvciBvcGVuIHdpdGggY29udGV4dC1tZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogImNvbXBhcmUiLAogICJuYW1lIjogIkNvbXBhcmUgb3IgT3BlbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jb21wYXJlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtY29tcGFyZSIsCiAgInV1aWQiOiAiY29tcGFyZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}, "41": {"version": "13", "sha256": "04ps81aqn3vinlqwcp5pacj77cmbrhaz6wsby0c7v9yc1cjcazvz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvcHkvU2VsZWN0IHR3byBEaXJzL0ZpbGVzIGZyb20gYW55d2hlcmUgc3VjaCBhcyBgbmF1dGlsdXNgIG9yIGBnbm9tZS10ZXJtaW5hbGAsIGFuZCB0aGVuIGNvbXBhcmUgdGhlbSAodXNlIGBtZWxkYCkgb3Igb3BlbiB3aXRoIEN0cmwtTyBvciBvcGVuIHdpdGggY29udGV4dC1tZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogImNvbXBhcmUiLAogICJuYW1lIjogIkNvbXBhcmUgb3IgT3BlbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jb21wYXJlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtY29tcGFyZSIsCiAgInV1aWQiOiAiY29tcGFyZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}, "42": {"version": "13", "sha256": "04ps81aqn3vinlqwcp5pacj77cmbrhaz6wsby0c7v9yc1cjcazvz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvcHkvU2VsZWN0IHR3byBEaXJzL0ZpbGVzIGZyb20gYW55d2hlcmUgc3VjaCBhcyBgbmF1dGlsdXNgIG9yIGBnbm9tZS10ZXJtaW5hbGAsIGFuZCB0aGVuIGNvbXBhcmUgdGhlbSAodXNlIGBtZWxkYCkgb3Igb3BlbiB3aXRoIEN0cmwtTyBvciBvcGVuIHdpdGggY29udGV4dC1tZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogImNvbXBhcmUiLAogICJuYW1lIjogIkNvbXBhcmUgb3IgT3BlbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jb21wYXJlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtY29tcGFyZSIsCiAgInV1aWQiOiAiY29tcGFyZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
+, {"uuid": "alt-mouse@eexpss.gmail.com", "name": "Alt Mouse", "pname": "alt-mouse", "description": "* Alt + Mouse control window, Detailed instructions are on the home page and an alt-mouse-diagram.png in extension directory. Disable desktop BackgroundMenu, Disable Panel dragMode, Add a gap at right screen edge. Add Top-Left and Top-Right corner as hot coner.", "link": "https://extensions.gnome.org/extension/4786/alt-mouse/", "shell_version_map": {"40": {"version": "11", "sha256": "0wj2gx5jcpdrsm3kb1i4025f7nzy3p1pwag5rgw01pb2r41dhz6g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQWx0ICsgTW91c2UgY29udHJvbCB3aW5kb3csIERldGFpbGVkIGluc3RydWN0aW9ucyBhcmUgb24gdGhlIGhvbWUgcGFnZSBhbmQgYW4gYWx0LW1vdXNlLWRpYWdyYW0ucG5nIGluIGV4dGVuc2lvbiBkaXJlY3RvcnkuIERpc2FibGUgZGVza3RvcCBCYWNrZ3JvdW5kTWVudSwgRGlzYWJsZSBQYW5lbCBkcmFnTW9kZSwgQWRkIGEgZ2FwIGF0IHJpZ2h0IHNjcmVlbiBlZGdlLiBBZGQgVG9wLUxlZnQgYW5kIFRvcC1SaWdodCBjb3JuZXIgYXMgaG90IGNvbmVyLiIsCiAgIm5hbWUiOiAiQWx0IE1vdXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtYWx0LW1vdXNlIiwKICAidXVpZCI6ICJhbHQtbW91c2VAZWV4cHNzLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMQp9"}, "41": {"version": "11", "sha256": "0wj2gx5jcpdrsm3kb1i4025f7nzy3p1pwag5rgw01pb2r41dhz6g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQWx0ICsgTW91c2UgY29udHJvbCB3aW5kb3csIERldGFpbGVkIGluc3RydWN0aW9ucyBhcmUgb24gdGhlIGhvbWUgcGFnZSBhbmQgYW4gYWx0LW1vdXNlLWRpYWdyYW0ucG5nIGluIGV4dGVuc2lvbiBkaXJlY3RvcnkuIERpc2FibGUgZGVza3RvcCBCYWNrZ3JvdW5kTWVudSwgRGlzYWJsZSBQYW5lbCBkcmFnTW9kZSwgQWRkIGEgZ2FwIGF0IHJpZ2h0IHNjcmVlbiBlZGdlLiBBZGQgVG9wLUxlZnQgYW5kIFRvcC1SaWdodCBjb3JuZXIgYXMgaG90IGNvbmVyLiIsCiAgIm5hbWUiOiAiQWx0IE1vdXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtYWx0LW1vdXNlIiwKICAidXVpZCI6ICJhbHQtbW91c2VAZWV4cHNzLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMQp9"}, "42": {"version": "11", "sha256": "0wj2gx5jcpdrsm3kb1i4025f7nzy3p1pwag5rgw01pb2r41dhz6g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQWx0ICsgTW91c2UgY29udHJvbCB3aW5kb3csIERldGFpbGVkIGluc3RydWN0aW9ucyBhcmUgb24gdGhlIGhvbWUgcGFnZSBhbmQgYW4gYWx0LW1vdXNlLWRpYWdyYW0ucG5nIGluIGV4dGVuc2lvbiBkaXJlY3RvcnkuIERpc2FibGUgZGVza3RvcCBCYWNrZ3JvdW5kTWVudSwgRGlzYWJsZSBQYW5lbCBkcmFnTW9kZSwgQWRkIGEgZ2FwIGF0IHJpZ2h0IHNjcmVlbiBlZGdlLiBBZGQgVG9wLUxlZnQgYW5kIFRvcC1SaWdodCBjb3JuZXIgYXMgaG90IGNvbmVyLiIsCiAgIm5hbWUiOiAiQWx0IE1vdXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtYWx0LW1vdXNlIiwKICAidXVpZCI6ICJhbHQtbW91c2VAZWV4cHNzLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxMQp9"}}}
+, {"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 in one place\n- adds ws 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- ws 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": "3", "sha256": "0s40f8k2a2qdh0l3wd8ksma58q8bp94dnzb63r8ixs467nvrgxig", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgdGhlIGNvbnRlbnQsIGRpbWVuc2lvbnMsIHBvc2l0aW9uLCBvcmllbnRhdGlvbiBhbmQgY29sb3JzIG9mIGl0cyBwb3B1cCBpbmRpY2F0b3IuXG5cbi0gYWxsIEdOT01FIHdvcmtzcGFjZSByZWxhdGVkIG9wdGlvbnMgaW4gb25lIHBsYWNlXG4tIGFkZHMgd3Mgc3dpdGNoZXIgV3JhcGFyb3VkIGFuZCBJZ25vcmUgTGFzdCAoZW1wdHkpIFdvcmtzcGFjZSBvcHRpb25zXG4tIGFsbG93cyB0byBkaXNhYmxlIG9yIGN1c3RvbWl6ZSBzd2l0Y2hlciBwb3B1cFxuLSBhbGxvd3MgYWRkaW5nIGNvbnRlbnQgdG8gdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCAtIFdvcmtzcGFjZSBOYW1lLCBDdXJyZW50IEFwcGxpY2F0aW9uIE5hbWUsIFdvcmtzcGFjZSBJbmRleFxuLSB3cyBzd2l0Y2hlciBwb3B1cCBhcHBlYXJhbmNlIGN1c3RvbWl6YXRpb24gaW5jbHVkZXMgcG9zaXRpb24gb24gc2NyZWVuLCB0aW1pbmdzLCBzaXplLCBjb2xvcnMgLCBvcmllbnRhdGlvbiIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoZXIgTWFuYWdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvd29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "0s40f8k2a2qdh0l3wd8ksma58q8bp94dnzb63r8ixs467nvrgxig", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgdGhlIGNvbnRlbnQsIGRpbWVuc2lvbnMsIHBvc2l0aW9uLCBvcmllbnRhdGlvbiBhbmQgY29sb3JzIG9mIGl0cyBwb3B1cCBpbmRpY2F0b3IuXG5cbi0gYWxsIEdOT01FIHdvcmtzcGFjZSByZWxhdGVkIG9wdGlvbnMgaW4gb25lIHBsYWNlXG4tIGFkZHMgd3Mgc3dpdGNoZXIgV3JhcGFyb3VkIGFuZCBJZ25vcmUgTGFzdCAoZW1wdHkpIFdvcmtzcGFjZSBvcHRpb25zXG4tIGFsbG93cyB0byBkaXNhYmxlIG9yIGN1c3RvbWl6ZSBzd2l0Y2hlciBwb3B1cFxuLSBhbGxvd3MgYWRkaW5nIGNvbnRlbnQgdG8gdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCAtIFdvcmtzcGFjZSBOYW1lLCBDdXJyZW50IEFwcGxpY2F0aW9uIE5hbWUsIFdvcmtzcGFjZSBJbmRleFxuLSB3cyBzd2l0Y2hlciBwb3B1cCBhcHBlYXJhbmNlIGN1c3RvbWl6YXRpb24gaW5jbHVkZXMgcG9zaXRpb24gb24gc2NyZWVuLCB0aW1pbmdzLCBzaXplLCBjb2xvcnMgLCBvcmllbnRhdGlvbiIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoZXIgTWFuYWdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvd29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "0s40f8k2a2qdh0l3wd8ksma58q8bp94dnzb63r8ixs467nvrgxig", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgdGhlIGNvbnRlbnQsIGRpbWVuc2lvbnMsIHBvc2l0aW9uLCBvcmllbnRhdGlvbiBhbmQgY29sb3JzIG9mIGl0cyBwb3B1cCBpbmRpY2F0b3IuXG5cbi0gYWxsIEdOT01FIHdvcmtzcGFjZSByZWxhdGVkIG9wdGlvbnMgaW4gb25lIHBsYWNlXG4tIGFkZHMgd3Mgc3dpdGNoZXIgV3JhcGFyb3VkIGFuZCBJZ25vcmUgTGFzdCAoZW1wdHkpIFdvcmtzcGFjZSBvcHRpb25zXG4tIGFsbG93cyB0byBkaXNhYmxlIG9yIGN1c3RvbWl6ZSBzd2l0Y2hlciBwb3B1cFxuLSBhbGxvd3MgYWRkaW5nIGNvbnRlbnQgdG8gdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCAtIFdvcmtzcGFjZSBOYW1lLCBDdXJyZW50IEFwcGxpY2F0aW9uIE5hbWUsIFdvcmtzcGFjZSBJbmRleFxuLSB3cyBzd2l0Y2hlciBwb3B1cCBhcHBlYXJhbmNlIGN1c3RvbWl6YXRpb24gaW5jbHVkZXMgcG9zaXRpb24gb24gc2NyZWVuLCB0aW1pbmdzLCBzaXplLCBjb2xvcnMgLCBvcmllbnRhdGlvbiIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoZXIgTWFuYWdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvd29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "42": {"version": "3", "sha256": "0s40f8k2a2qdh0l3wd8ksma58q8bp94dnzb63r8ixs467nvrgxig", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgdGhlIGNvbnRlbnQsIGRpbWVuc2lvbnMsIHBvc2l0aW9uLCBvcmllbnRhdGlvbiBhbmQgY29sb3JzIG9mIGl0cyBwb3B1cCBpbmRpY2F0b3IuXG5cbi0gYWxsIEdOT01FIHdvcmtzcGFjZSByZWxhdGVkIG9wdGlvbnMgaW4gb25lIHBsYWNlXG4tIGFkZHMgd3Mgc3dpdGNoZXIgV3JhcGFyb3VkIGFuZCBJZ25vcmUgTGFzdCAoZW1wdHkpIFdvcmtzcGFjZSBvcHRpb25zXG4tIGFsbG93cyB0byBkaXNhYmxlIG9yIGN1c3RvbWl6ZSBzd2l0Y2hlciBwb3B1cFxuLSBhbGxvd3MgYWRkaW5nIGNvbnRlbnQgdG8gdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCAtIFdvcmtzcGFjZSBOYW1lLCBDdXJyZW50IEFwcGxpY2F0aW9uIE5hbWUsIFdvcmtzcGFjZSBJbmRleFxuLSB3cyBzd2l0Y2hlciBwb3B1cCBhcHBlYXJhbmNlIGN1c3RvbWl6YXRpb24gaW5jbHVkZXMgcG9zaXRpb24gb24gc2NyZWVuLCB0aW1pbmdzLCBzaXplLCBjb2xvcnMgLCBvcmllbnRhdGlvbiIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoZXIgTWFuYWdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvd29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
+, {"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.\n\nMain features:\n\n- Toggle Frequency Boost from the same place you set power profile\n- Toggle Frequency Boost regardless of the set power profile\n- Lightweight (no service is installed) 1 3\n- Option to set on boot (Persist) 2 3\n- Translation (currently only English and Bulgarian)\n\n1 Asks for permission every time user flips the switch\n2 Will prompt user for permission 5s after login, if boost needs to be changed\n3 Permission prompt can be removed by adding Polkit rules. Check extension preferences.\n\nRequirements:\n\n- GNOME >= 41 (power profiles menu doesn't exist before that)\n- power-profiles-daemon (power profiles menu doesn't show if not installed and enabled)\n- pkexec (needed to ask the user for permissions)\n\nAll tests are done on Fedora.\n\nIf you have any issues, please first check FAQ (https://gitlab.com/metal03326/gnome-frequency-boost-switch#faq) and if that doesn't help, open an issue (https://gitlab.com/metal03326/gnome-frequency-boost-switch/-/issues)", "link": "https://extensions.gnome.org/extension/4792/frequency-boost-switch/", "shell_version_map": {"41": {"version": "3", "sha256": "0cw3npc3ypp0cpzy0k2iim748dc7d4abkfmkd9cs6h27g9wgmfk6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHRvZ2dsZSB0byBlbmFibGUvZGlzYWJsZSBDUFUgZnJlcXVlbmN5IGJvb3N0IGluIEdub21lIFBvd2VyIFByb2ZpbGVzIG1lbnUuXG5cbk1haW4gZmVhdHVyZXM6XG5cbi0gVG9nZ2xlIEZyZXF1ZW5jeSBCb29zdCBmcm9tIHRoZSBzYW1lIHBsYWNlIHlvdSBzZXQgcG93ZXIgcHJvZmlsZVxuLSBUb2dnbGUgRnJlcXVlbmN5IEJvb3N0IHJlZ2FyZGxlc3Mgb2YgdGhlIHNldCBwb3dlciBwcm9maWxlXG4tIExpZ2h0d2VpZ2h0IChubyBzZXJ2aWNlIGlzIGluc3RhbGxlZCkgMSAzXG4tIE9wdGlvbiB0byBzZXQgb24gYm9vdCAoUGVyc2lzdCkgMiAzXG4tIFRyYW5zbGF0aW9uIChjdXJyZW50bHkgb25seSBFbmdsaXNoIGFuZCBCdWxnYXJpYW4pXG5cbjEgQXNrcyBmb3IgcGVybWlzc2lvbiBldmVyeSB0aW1lIHVzZXIgZmxpcHMgdGhlIHN3aXRjaFxuMiBXaWxsIHByb21wdCB1c2VyIGZvciBwZXJtaXNzaW9uIDVzIGFmdGVyIGxvZ2luLCBpZiBib29zdCBuZWVkcyB0byBiZSBjaGFuZ2VkXG4zIFBlcm1pc3Npb24gcHJvbXB0IGNhbiBiZSByZW1vdmVkIGJ5IGFkZGluZyBQb2xraXQgcnVsZXMuIENoZWNrIGV4dGVuc2lvbiBwcmVmZXJlbmNlcy5cblxuUmVxdWlyZW1lbnRzOlxuXG4tIEdOT01FID49IDQxIChwb3dlciBwcm9maWxlcyBtZW51IGRvZXNuJ3QgZXhpc3QgYmVmb3JlIHRoYXQpXG4tIHBvd2VyLXByb2ZpbGVzLWRhZW1vbiAocG93ZXIgcHJvZmlsZXMgbWVudSBkb2Vzbid0IHNob3cgaWYgbm90IGluc3RhbGxlZCBhbmQgZW5hYmxlZClcbi0gcGtleGVjIChuZWVkZWQgdG8gYXNrIHRoZSB1c2VyIGZvciBwZXJtaXNzaW9ucylcblxuQWxsIHRlc3RzIGFyZSBkb25lIG9uIEZlZG9yYS5cblxuSWYgeW91IGhhdmUgYW55IGlzc3VlcywgcGxlYXNlIGZpcnN0IGNoZWNrIEZBUSAoaHR0cHM6Ly9naXRsYWIuY29tL21ldGFsMDMzMjYvZ25vbWUtZnJlcXVlbmN5LWJvb3N0LXN3aXRjaCNmYXEpIGFuZCBpZiB0aGF0IGRvZXNuJ3QgaGVscCwgb3BlbiBhbiBpc3N1ZSAoaHR0cHM6Ly9naXRsYWIuY29tL21ldGFsMDMzMjYvZ25vbWUtZnJlcXVlbmN5LWJvb3N0LXN3aXRjaC8tL2lzc3VlcykiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJmcmVxLWJvb3N0LXN3aXRjaEBtZXRhbDAzMzI2IiwKICAibmFtZSI6ICJGcmVxdWVuY3kgQm9vc3QgU3dpdGNoIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZyZXEtYm9vc3Qtc3dpdGNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL21ldGFsMDMzMjYvZ25vbWUtZnJlcXVlbmN5LWJvb3N0LXN3aXRjaCIsCiAgInV1aWQiOiAiZnJlcS1ib29zdC1zd2l0Y2hAbWV0YWwwMzMyNiIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"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": "3", "sha256": "04bln8wkn0s6di03qqxa7bzclb2p8w5ic4mbmh31ar041plzj778", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIENPU01JQzogQmluZHMgUG9wIExhdW5jaGVyIG9uIFN1cGVyLUtleSB3aGVuIFBvcCBDT1NNSUMgRXh0ZW5zaW9uIGlzIGRpc2FibGVkIiwKICAibmFtZSI6ICJQb3AgTGF1bmNoZXIgU3VwZXItS2V5IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTeXN0ZW03NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYW5lTGlwcGVydC9wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAidXVpZCI6ICJwb3AtbGF1bmNoZXItc3VwZXIta2V5QE1hbmVMaXBwZXJ0IiwKICAidmVyc2lvbiI6IDMKfQ=="}, "40": {"version": "3", "sha256": "04bln8wkn0s6di03qqxa7bzclb2p8w5ic4mbmh31ar041plzj778", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIENPU01JQzogQmluZHMgUG9wIExhdW5jaGVyIG9uIFN1cGVyLUtleSB3aGVuIFBvcCBDT1NNSUMgRXh0ZW5zaW9uIGlzIGRpc2FibGVkIiwKICAibmFtZSI6ICJQb3AgTGF1bmNoZXIgU3VwZXItS2V5IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTeXN0ZW03NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYW5lTGlwcGVydC9wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAidXVpZCI6ICJwb3AtbGF1bmNoZXItc3VwZXIta2V5QE1hbmVMaXBwZXJ0IiwKICAidmVyc2lvbiI6IDMKfQ=="}, "41": {"version": "3", "sha256": "04bln8wkn0s6di03qqxa7bzclb2p8w5ic4mbmh31ar041plzj778", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIENPU01JQzogQmluZHMgUG9wIExhdW5jaGVyIG9uIFN1cGVyLUtleSB3aGVuIFBvcCBDT1NNSUMgRXh0ZW5zaW9uIGlzIGRpc2FibGVkIiwKICAibmFtZSI6ICJQb3AgTGF1bmNoZXIgU3VwZXItS2V5IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTeXN0ZW03NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYW5lTGlwcGVydC9wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAidXVpZCI6ICJwb3AtbGF1bmNoZXItc3VwZXIta2V5QE1hbmVMaXBwZXJ0IiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
-, {"uuid": "thinkpad-battery-threshold@marcosdalvarez.org", "name": "Thinkpad Battery Threshold", "pname": "thinkpad-battery-threshold", "description": "Enable/Disable battery threshold on Lenovo Thinkpad laptops (If available)\n\nTo check if the function is available, see if the files 'charge_control_start_threshold' and 'charge_control_end_threshold' (valid alternatives: 'charge_start_threshold' and 'charge_stop_threshold') exist in the /sys/class/power_supply/BAT0 directory, also you must have permissions to read and write (in case you do not have write permissions, the root password will be requested to modify the values).\n\nv6: Added option to control second battery (dock) thresholds. Try this! I don't have a dock!!!", "link": "https://extensions.gnome.org/extension/4798/thinkpad-battery-threshold/", "shell_version_map": {"41": {"version": "6", "sha256": "146jpic7zyap68z2q6qw81n6lpgcx5sy55i06j1qiazv0x3rv9zd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzIChJZiBhdmFpbGFibGUpXG5cblRvIGNoZWNrIGlmIHRoZSBmdW5jdGlvbiBpcyBhdmFpbGFibGUsIHNlZSBpZiB0aGUgZmlsZXMgJ2NoYXJnZV9jb250cm9sX3N0YXJ0X3RocmVzaG9sZCcgYW5kICdjaGFyZ2VfY29udHJvbF9lbmRfdGhyZXNob2xkJyAodmFsaWQgYWx0ZXJuYXRpdmVzOiAnY2hhcmdlX3N0YXJ0X3RocmVzaG9sZCcgYW5kICdjaGFyZ2Vfc3RvcF90aHJlc2hvbGQnKSBleGlzdCBpbiB0aGUgL3N5cy9jbGFzcy9wb3dlcl9zdXBwbHkvQkFUMCBkaXJlY3RvcnksIGFsc28geW91IG11c3QgaGF2ZSBwZXJtaXNzaW9ucyB0byByZWFkIGFuZCB3cml0ZSAoaW4gY2FzZSB5b3UgZG8gbm90IGhhdmUgd3JpdGUgcGVybWlzc2lvbnMsIHRoZSByb290IHBhc3N3b3JkIHdpbGwgYmUgcmVxdWVzdGVkIHRvIG1vZGlmeSB0aGUgdmFsdWVzKS5cblxudjY6IEFkZGVkIG9wdGlvbiB0byBjb250cm9sIHNlY29uZCBiYXR0ZXJ5IChkb2NrKSB0aHJlc2hvbGRzLiBUcnkgdGhpcyEgSSBkb24ndCBoYXZlIGEgZG9jayEhISIsCiAgImdldHRleHQtZG9tYWluIjogInRoaW5rcGFkLWJhdHRlcnktdGhyZXNob2xkQG1hcmNvc2RhbHZhcmV6Lm9yZyIsCiAgIm5hbWUiOiAiVGhpbmtwYWQgQmF0dGVyeSBUaHJlc2hvbGQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWFyY29zZGFsdmFyZXovdGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZEBtYXJjb3NkYWx2YXJlei5vcmciLAogICJ2ZXJzaW9uIjogNgp9"}}}
+, {"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": "9", "sha256": "1x43rzbrini944ccfm7kfbly5gkpfg7z084vc60b5628m1kwcygq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWFyY29zZGFsdmFyZXovdGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZEBtYXJjb3NkYWx2YXJlei5vcmciLAogICJ2ZXJzaW9uIjogOQp9"}, "42": {"version": "9", "sha256": "1x43rzbrini944ccfm7kfbly5gkpfg7z084vc60b5628m1kwcygq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWFyY29zZGFsdmFyZXovdGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZEBtYXJjb3NkYWx2YXJlei5vcmciLAogICJ2ZXJzaW9uIjogOQp9"}}}
 , {"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": "2", "sha256": "12q3z5wdbbg9sa570ig5sw6qk70ykhy5zsx7ygvi2zgla52v0hq9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdGhhdCBsZXQncyB5b3UgYWRkIHlvdXIgbWVzc2FnZSB0byB0aGUgbG9jayBzY3JlZW4gKHVubG9ja0RpYWxvZykiLAogICJuYW1lIjogIkxvY2sgU2NyZWVuIE1lc3NhZ2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubG9jay1zY3JlZW4tbWVzc2FnZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vQWR2ZW5kcmFEZXN3YW50YS9sb2NrLXNjcmVlbi1tZXNzYWdlIiwKICAidXVpZCI6ICJsb2NrLXNjcmVlbi1tZXNzYWdlQGFkdmVuZHJhZGVzd2FudGEuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "12q3z5wdbbg9sa570ig5sw6qk70ykhy5zsx7ygvi2zgla52v0hq9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdGhhdCBsZXQncyB5b3UgYWRkIHlvdXIgbWVzc2FnZSB0byB0aGUgbG9jayBzY3JlZW4gKHVubG9ja0RpYWxvZykiLAogICJuYW1lIjogIkxvY2sgU2NyZWVuIE1lc3NhZ2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubG9jay1zY3JlZW4tbWVzc2FnZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vQWR2ZW5kcmFEZXN3YW50YS9sb2NrLXNjcmVlbi1tZXNzYWdlIiwKICAidXVpZCI6ICJsb2NrLXNjcmVlbi1tZXNzYWdlQGFkdmVuZHJhZGVzd2FudGEuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"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=="}}}
 , {"uuid": "WhatWatch@Zappo-II.github.io", "name": "What Watch", "pname": "what-watch", "description": "Shows a customizeable analog desktop clock.\nPlease visit the GitHub repository for documentation and to report any issues.", "link": "https://extensions.gnome.org/extension/4806/what-watch/", "shell_version_map": {"38": {"version": "4", "sha256": "1cd9cci0nhpif104x7lc3i5xiqlsnlr0xg764gj0p3hrn0bf9icj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgY3VzdG9taXplYWJsZSBhbmFsb2cgZGVza3RvcCBjbG9jay5cblBsZWFzZSB2aXNpdCB0aGUgR2l0SHViIHJlcG9zaXRvcnkgZm9yIGRvY3VtZW50YXRpb24gYW5kIHRvIHJlcG9ydCBhbnkgaXNzdWVzLiIsCiAgIm5hbWUiOiAiV2hhdCBXYXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy56YXBwb2lpLndoYXR3YXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vWmFwcG8tSUkvV2hhdFdhdGNoIiwKICAidXVpZCI6ICJXaGF0V2F0Y2hAWmFwcG8tSUkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "1cd9cci0nhpif104x7lc3i5xiqlsnlr0xg764gj0p3hrn0bf9icj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgY3VzdG9taXplYWJsZSBhbmFsb2cgZGVza3RvcCBjbG9jay5cblBsZWFzZSB2aXNpdCB0aGUgR2l0SHViIHJlcG9zaXRvcnkgZm9yIGRvY3VtZW50YXRpb24gYW5kIHRvIHJlcG9ydCBhbnkgaXNzdWVzLiIsCiAgIm5hbWUiOiAiV2hhdCBXYXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy56YXBwb2lpLndoYXR3YXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vWmFwcG8tSUkvV2hhdFdhdGNoIiwKICAidXVpZCI6ICJXaGF0V2F0Y2hAWmFwcG8tSUkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1cd9cci0nhpif104x7lc3i5xiqlsnlr0xg764gj0p3hrn0bf9icj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgY3VzdG9taXplYWJsZSBhbmFsb2cgZGVza3RvcCBjbG9jay5cblBsZWFzZSB2aXNpdCB0aGUgR2l0SHViIHJlcG9zaXRvcnkgZm9yIGRvY3VtZW50YXRpb24gYW5kIHRvIHJlcG9ydCBhbnkgaXNzdWVzLiIsCiAgIm5hbWUiOiAiV2hhdCBXYXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy56YXBwb2lpLndoYXR3YXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vWmFwcG8tSUkvV2hhdFdhdGNoIiwKICAidXVpZCI6ICJXaGF0V2F0Y2hAWmFwcG8tSUkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
@@ -681,7 +682,7 @@
 , {"uuid": "gnome-edge-gap@necropolina", "name": "Edge Gap", "pname": "edge-gap", "description": "add configurable-width gaps around the edge of your screen", "link": "https://extensions.gnome.org/extension/4827/edge-gap/", "shell_version_map": {"40": {"version": "3", "sha256": "12shbvqdj6834lvw23s9z4f3ayhvma363yvzga0m85x0fzs6bna5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImFkZCBjb25maWd1cmFibGUtd2lkdGggZ2FwcyBhcm91bmQgdGhlIGVkZ2Ugb2YgeW91ciBzY3JlZW4iLAogICJuYW1lIjogIkVkZ2UgR2FwIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdub21lLWVkZ2UtZ2FwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmVjcm9wb2xpbmEvZ25vbWUtZWRnZS1nYXAiLAogICJ1dWlkIjogImdub21lLWVkZ2UtZ2FwQG5lY3JvcG9saW5hIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "41": {"version": "3", "sha256": "12shbvqdj6834lvw23s9z4f3ayhvma363yvzga0m85x0fzs6bna5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImFkZCBjb25maWd1cmFibGUtd2lkdGggZ2FwcyBhcm91bmQgdGhlIGVkZ2Ugb2YgeW91ciBzY3JlZW4iLAogICJuYW1lIjogIkVkZ2UgR2FwIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdub21lLWVkZ2UtZ2FwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmVjcm9wb2xpbmEvZ25vbWUtZWRnZS1nYXAiLAogICJ1dWlkIjogImdub21lLWVkZ2UtZ2FwQG5lY3JvcG9saW5hIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "42": {"version": "3", "sha256": "12shbvqdj6834lvw23s9z4f3ayhvma363yvzga0m85x0fzs6bna5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImFkZCBjb25maWd1cmFibGUtd2lkdGggZ2FwcyBhcm91bmQgdGhlIGVkZ2Ugb2YgeW91ciBzY3JlZW4iLAogICJuYW1lIjogIkVkZ2UgR2FwIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdub21lLWVkZ2UtZ2FwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmVjcm9wb2xpbmEvZ25vbWUtZWRnZS1nYXAiLAogICJ1dWlkIjogImdub21lLWVkZ2UtZ2FwQG5lY3JvcG9saW5hIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
 , {"uuid": "overview-keyboard-navigation@G-dH.github.com", "name": "Overview Keyboard Navigation Fix", "pname": "overview-keyboard-navigation-fix", "description": "Fix for GNOME Shell 40 and 41 that initiates keyboard navigation in the Activities overview and App Grid by pressing Tab or Arrow keys. It also changes Esc key behavior in the App Grid view - Esc closes the Overview instead of activating Windows Overview.", "link": "https://extensions.gnome.org/extension/4830/overview-keyboard-navigation-fix/", "shell_version_map": {"40": {"version": "2", "sha256": "12l9j8rcs61j1l375nm7dxbhhs3qw4y5i0hsdxcpq9jn7880y4f3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeCBmb3IgR05PTUUgU2hlbGwgNDAgYW5kIDQxIHRoYXQgaW5pdGlhdGVzIGtleWJvYXJkIG5hdmlnYXRpb24gaW4gdGhlIEFjdGl2aXRpZXMgb3ZlcnZpZXcgYW5kIEFwcCBHcmlkIGJ5IHByZXNzaW5nIFRhYiBvciBBcnJvdyBrZXlzLiBJdCBhbHNvIGNoYW5nZXMgRXNjIGtleSBiZWhhdmlvciBpbiB0aGUgQXBwIEdyaWQgdmlldyAtIEVzYyBjbG9zZXMgdGhlIE92ZXJ2aWV3IGluc3RlYWQgb2YgYWN0aXZhdGluZyBXaW5kb3dzIE92ZXJ2aWV3LiIsCiAgImdldHRleHQtZG9tYWluIjogIm92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb24tZml4IiwKICAibmFtZSI6ICJPdmVydmlldyBLZXlib2FyZCBOYXZpZ2F0aW9uIEZpeCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb24iLAogICJ1dWlkIjogIm92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb25ARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "12l9j8rcs61j1l375nm7dxbhhs3qw4y5i0hsdxcpq9jn7880y4f3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeCBmb3IgR05PTUUgU2hlbGwgNDAgYW5kIDQxIHRoYXQgaW5pdGlhdGVzIGtleWJvYXJkIG5hdmlnYXRpb24gaW4gdGhlIEFjdGl2aXRpZXMgb3ZlcnZpZXcgYW5kIEFwcCBHcmlkIGJ5IHByZXNzaW5nIFRhYiBvciBBcnJvdyBrZXlzLiBJdCBhbHNvIGNoYW5nZXMgRXNjIGtleSBiZWhhdmlvciBpbiB0aGUgQXBwIEdyaWQgdmlldyAtIEVzYyBjbG9zZXMgdGhlIE92ZXJ2aWV3IGluc3RlYWQgb2YgYWN0aXZhdGluZyBXaW5kb3dzIE92ZXJ2aWV3LiIsCiAgImdldHRleHQtZG9tYWluIjogIm92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb24tZml4IiwKICAibmFtZSI6ICJPdmVydmlldyBLZXlib2FyZCBOYXZpZ2F0aW9uIEZpeCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb24iLAogICJ1dWlkIjogIm92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb25ARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "42": {"version": "2", "sha256": "12l9j8rcs61j1l375nm7dxbhhs3qw4y5i0hsdxcpq9jn7880y4f3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeCBmb3IgR05PTUUgU2hlbGwgNDAgYW5kIDQxIHRoYXQgaW5pdGlhdGVzIGtleWJvYXJkIG5hdmlnYXRpb24gaW4gdGhlIEFjdGl2aXRpZXMgb3ZlcnZpZXcgYW5kIEFwcCBHcmlkIGJ5IHByZXNzaW5nIFRhYiBvciBBcnJvdyBrZXlzLiBJdCBhbHNvIGNoYW5nZXMgRXNjIGtleSBiZWhhdmlvciBpbiB0aGUgQXBwIEdyaWQgdmlldyAtIEVzYyBjbG9zZXMgdGhlIE92ZXJ2aWV3IGluc3RlYWQgb2YgYWN0aXZhdGluZyBXaW5kb3dzIE92ZXJ2aWV3LiIsCiAgImdldHRleHQtZG9tYWluIjogIm92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb24tZml4IiwKICAibmFtZSI6ICJPdmVydmlldyBLZXlib2FyZCBOYXZpZ2F0aW9uIEZpeCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb24iLAogICJ1dWlkIjogIm92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb25ARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "all-windows-srwp@jkavery.github.io", "name": "All Windows + Save/Restore Window Positions", "pname": "all-windows-saverestore-window-positions", "description": "List open windows of all workspaces, plus Save/Restore window positions (run automatically on Suspend/Resume, a workaround for Ubuntu bug #1778983).", "link": "https://extensions.gnome.org/extension/4833/all-windows-saverestore-window-positions/", "shell_version_map": {"40": {"version": "1", "sha256": "1ppgrvmf7lxzqig02p80bh3laxx8bhq6harza82qm8djj62g6kkk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3Qgb3BlbiB3aW5kb3dzIG9mIGFsbCB3b3Jrc3BhY2VzLCBwbHVzIFNhdmUvUmVzdG9yZSB3aW5kb3cgcG9zaXRpb25zIChydW4gYXV0b21hdGljYWxseSBvbiBTdXNwZW5kL1Jlc3VtZSwgYSB3b3JrYXJvdW5kIGZvciBVYnVudHUgYnVnICMxNzc4OTgzKS4iLAogICJuYW1lIjogIkFsbCBXaW5kb3dzICsgU2F2ZS9SZXN0b3JlIFdpbmRvdyBQb3NpdGlvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamthdmVyeS9hbGwtd2luZG93cyIsCiAgInV1aWQiOiAiYWxsLXdpbmRvd3Mtc3J3cEBqa2F2ZXJ5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxCn0="}}}
-, {"uuid": "clipboard-history@alexsaveau.dev", "name": "Clipboard History", "pname": "clipboard-history", "description": "Gnome Clipboard History is a Gnome extension that saves items you've copied into an easily accessible, searchable history panel.", "link": "https://extensions.gnome.org/extension/4839/clipboard-history/", "shell_version_map": {"40": {"version": "10", "sha256": "1cg1l3l9ixyszzckhahyy1zhzyzhzzjajdgm9vsyjwlzdp5ljk2h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIENsaXBib2FyZCBIaXN0b3J5IGlzIGEgR25vbWUgZXh0ZW5zaW9uIHRoYXQgc2F2ZXMgaXRlbXMgeW91J3ZlIGNvcGllZCBpbnRvIGFuIGVhc2lseSBhY2Nlc3NpYmxlLCBzZWFyY2hhYmxlIGhpc3RvcnkgcGFuZWwuIiwKICAibmFtZSI6ICJDbGlwYm9hcmQgSGlzdG9yeSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NVUEVSQ0lMRVgvZ25vbWUtY2xpcGJvYXJkLWhpc3RvcnkiLAogICJ1dWlkIjogImNsaXBib2FyZC1oaXN0b3J5QGFsZXhzYXZlYXUuZGV2IiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "1cg1l3l9ixyszzckhahyy1zhzyzhzzjajdgm9vsyjwlzdp5ljk2h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIENsaXBib2FyZCBIaXN0b3J5IGlzIGEgR25vbWUgZXh0ZW5zaW9uIHRoYXQgc2F2ZXMgaXRlbXMgeW91J3ZlIGNvcGllZCBpbnRvIGFuIGVhc2lseSBhY2Nlc3NpYmxlLCBzZWFyY2hhYmxlIGhpc3RvcnkgcGFuZWwuIiwKICAibmFtZSI6ICJDbGlwYm9hcmQgSGlzdG9yeSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NVUEVSQ0lMRVgvZ25vbWUtY2xpcGJvYXJkLWhpc3RvcnkiLAogICJ1dWlkIjogImNsaXBib2FyZC1oaXN0b3J5QGFsZXhzYXZlYXUuZGV2IiwKICAidmVyc2lvbiI6IDEwCn0="}, "42": {"version": "10", "sha256": "1cg1l3l9ixyszzckhahyy1zhzyzhzzjajdgm9vsyjwlzdp5ljk2h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIENsaXBib2FyZCBIaXN0b3J5IGlzIGEgR25vbWUgZXh0ZW5zaW9uIHRoYXQgc2F2ZXMgaXRlbXMgeW91J3ZlIGNvcGllZCBpbnRvIGFuIGVhc2lseSBhY2Nlc3NpYmxlLCBzZWFyY2hhYmxlIGhpc3RvcnkgcGFuZWwuIiwKICAibmFtZSI6ICJDbGlwYm9hcmQgSGlzdG9yeSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NVUEVSQ0lMRVgvZ25vbWUtY2xpcGJvYXJkLWhpc3RvcnkiLAogICJ1dWlkIjogImNsaXBib2FyZC1oaXN0b3J5QGFsZXhzYXZlYXUuZGV2IiwKICAidmVyc2lvbiI6IDEwCn0="}}}
+, {"uuid": "clipboard-history@alexsaveau.dev", "name": "Clipboard History", "pname": "clipboard-history", "description": "Gnome Clipboard History is a Gnome extension that saves items you've copied into an easily accessible, searchable history panel.", "link": "https://extensions.gnome.org/extension/4839/clipboard-history/", "shell_version_map": {"40": {"version": "11", "sha256": "19i9q4v5qdqhvz7xx648iqv3kawdq1mabc0v4w4fl1bjwnmzjza5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIENsaXBib2FyZCBIaXN0b3J5IGlzIGEgR25vbWUgZXh0ZW5zaW9uIHRoYXQgc2F2ZXMgaXRlbXMgeW91J3ZlIGNvcGllZCBpbnRvIGFuIGVhc2lseSBhY2Nlc3NpYmxlLCBzZWFyY2hhYmxlIGhpc3RvcnkgcGFuZWwuIiwKICAibmFtZSI6ICJDbGlwYm9hcmQgSGlzdG9yeSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NVUEVSQ0lMRVgvZ25vbWUtY2xpcGJvYXJkLWhpc3RvcnkiLAogICJ1dWlkIjogImNsaXBib2FyZC1oaXN0b3J5QGFsZXhzYXZlYXUuZGV2IiwKICAidmVyc2lvbiI6IDExCn0="}, "41": {"version": "11", "sha256": "19i9q4v5qdqhvz7xx648iqv3kawdq1mabc0v4w4fl1bjwnmzjza5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIENsaXBib2FyZCBIaXN0b3J5IGlzIGEgR25vbWUgZXh0ZW5zaW9uIHRoYXQgc2F2ZXMgaXRlbXMgeW91J3ZlIGNvcGllZCBpbnRvIGFuIGVhc2lseSBhY2Nlc3NpYmxlLCBzZWFyY2hhYmxlIGhpc3RvcnkgcGFuZWwuIiwKICAibmFtZSI6ICJDbGlwYm9hcmQgSGlzdG9yeSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NVUEVSQ0lMRVgvZ25vbWUtY2xpcGJvYXJkLWhpc3RvcnkiLAogICJ1dWlkIjogImNsaXBib2FyZC1oaXN0b3J5QGFsZXhzYXZlYXUuZGV2IiwKICAidmVyc2lvbiI6IDExCn0="}, "42": {"version": "11", "sha256": "19i9q4v5qdqhvz7xx648iqv3kawdq1mabc0v4w4fl1bjwnmzjza5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIENsaXBib2FyZCBIaXN0b3J5IGlzIGEgR25vbWUgZXh0ZW5zaW9uIHRoYXQgc2F2ZXMgaXRlbXMgeW91J3ZlIGNvcGllZCBpbnRvIGFuIGVhc2lseSBhY2Nlc3NpYmxlLCBzZWFyY2hhYmxlIGhpc3RvcnkgcGFuZWwuIiwKICAibmFtZSI6ICJDbGlwYm9hcmQgSGlzdG9yeSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NVUEVSQ0lMRVgvZ25vbWUtY2xpcGJvYXJkLWhpc3RvcnkiLAogICJ1dWlkIjogImNsaXBib2FyZC1oaXN0b3J5QGFsZXhzYXZlYXUuZGV2IiwKICAidmVyc2lvbiI6IDExCn0="}}}
 , {"uuid": "strongdm@andybrown668.github.com", "name": "StrongDM", "pname": "strongdm", "description": "Access StrongDM resources", "link": "https://extensions.gnome.org/extension/4841/strongdm/", "shell_version_map": {"40": {"version": "1", "sha256": "0bk75y3i8f82bmv20vnhar37yni6ydlcdixc89npc9iiyj1a5mwg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjY2VzcyBTdHJvbmdETSByZXNvdXJjZXMiLAogICJuYW1lIjogIlN0cm9uZ0RNIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FuZHlicm93bjY2OC9zdHJvbmdkbS1nbm9tZS1zaGVsbC1leHRlbnNpb24uZ2l0IiwKICAidXVpZCI6ICJzdHJvbmdkbUBhbmR5YnJvd242NjguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "pop-theme-switcher@dimitris47", "name": "Pop Theme Switcher", "pname": "pop-theme-switcher", "description": "Switch between Pop dark and light themes. It is a fork of adwaita-theme-switcher (https://github.com/fthx/adwaita-theme-switcher).", "link": "https://extensions.gnome.org/extension/4844/pop-theme-switcher/", "shell_version_map": {"38": {"version": "2", "sha256": "0z28xmqdbhvx6cvs4r2rrlyg3r22y5rldlm7dir5hjwyad1qwar2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCBiZXR3ZWVuIFBvcCBkYXJrIGFuZCBsaWdodCB0aGVtZXMuIEl0IGlzIGEgZm9yayBvZiBhZHdhaXRhLXRoZW1lLXN3aXRjaGVyIChodHRwczovL2dpdGh1Yi5jb20vZnRoeC9hZHdhaXRhLXRoZW1lLXN3aXRjaGVyKS4iLAogICJuYW1lIjogIlBvcCBUaGVtZSBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGltaXRyaXM0Ny9wb3AtdGhlbWUtc3dpdGNoZXIiLAogICJ1dWlkIjogInBvcC10aGVtZS1zd2l0Y2hlckBkaW1pdHJpczQ3IiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "0z28xmqdbhvx6cvs4r2rrlyg3r22y5rldlm7dir5hjwyad1qwar2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCBiZXR3ZWVuIFBvcCBkYXJrIGFuZCBsaWdodCB0aGVtZXMuIEl0IGlzIGEgZm9yayBvZiBhZHdhaXRhLXRoZW1lLXN3aXRjaGVyIChodHRwczovL2dpdGh1Yi5jb20vZnRoeC9hZHdhaXRhLXRoZW1lLXN3aXRjaGVyKS4iLAogICJuYW1lIjogIlBvcCBUaGVtZSBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGltaXRyaXM0Ny9wb3AtdGhlbWUtc3dpdGNoZXIiLAogICJ1dWlkIjogInBvcC10aGVtZS1zd2l0Y2hlckBkaW1pdHJpczQ3IiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "0z28xmqdbhvx6cvs4r2rrlyg3r22y5rldlm7dir5hjwyad1qwar2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCBiZXR3ZWVuIFBvcCBkYXJrIGFuZCBsaWdodCB0aGVtZXMuIEl0IGlzIGEgZm9yayBvZiBhZHdhaXRhLXRoZW1lLXN3aXRjaGVyIChodHRwczovL2dpdGh1Yi5jb20vZnRoeC9hZHdhaXRhLXRoZW1lLXN3aXRjaGVyKS4iLAogICJuYW1lIjogIlBvcCBUaGVtZSBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGltaXRyaXM0Ny9wb3AtdGhlbWUtc3dpdGNoZXIiLAogICJ1dWlkIjogInBvcC10aGVtZS1zd2l0Y2hlckBkaW1pdHJpczQ3IiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "dash-to-dock-toggle@kavoyaa.github.com", "name": "Dash to Dock Toggle", "pname": "dash-to-dock-toggle", "description": "Adds a button to top panel to switch Dash to Dock mode between \"always visible\" and \"autohide\".\n\n(Works only with the Dash-to-Dock extension)", "link": "https://extensions.gnome.org/extension/4845/dash-to-dock-toggle/", "shell_version_map": {"40": {"version": "2", "sha256": "0fy9wv78qhipsy5rqdbygi74ycgryvqm98svmpbzhbgg3rb8mdxs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBidXR0b24gdG8gdG9wIHBhbmVsIHRvIHN3aXRjaCBEYXNoIHRvIERvY2sgbW9kZSBiZXR3ZWVuIFwiYWx3YXlzIHZpc2libGVcIiBhbmQgXCJhdXRvaGlkZVwiLlxuXG4oV29ya3Mgb25seSB3aXRoIHRoZSBEYXNoLXRvLURvY2sgZXh0ZW5zaW9uKSIsCiAgIm5hbWUiOiAiRGFzaCB0byBEb2NrIFRvZ2dsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZGFzaC10by1kb2NrLXRvZ2dsZUBrYXZveWFhLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}}}
@@ -689,20 +690,28 @@
 , {"uuid": "command-menu@arunk140.com", "name": "Command Menu", "pname": "command-menu", "description": "A GNOME Shell Extension to manage shortcuts in Top Bar (Inspired by Shuttle and SSHMenu). Edit the .commands.json file to add your own shortcuts.\n\nSample Config in the README - https://github.com/arunk140/gnome-command-menu/blob/main/README.md", "link": "https://extensions.gnome.org/extension/4850/command-menu/", "shell_version_map": {"40": {"version": "3", "sha256": "0sf063fkwfjnp56406hirsiadmpv79za162k80n82pl6r837qw1p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgU2hlbGwgRXh0ZW5zaW9uIHRvIG1hbmFnZSBzaG9ydGN1dHMgaW4gVG9wIEJhciAoSW5zcGlyZWQgYnkgU2h1dHRsZSBhbmQgU1NITWVudSkuIEVkaXQgdGhlIC5jb21tYW5kcy5qc29uIGZpbGUgdG8gYWRkIHlvdXIgb3duIHNob3J0Y3V0cy5cblxuU2FtcGxlIENvbmZpZyBpbiB0aGUgUkVBRE1FIC0gaHR0cHM6Ly9naXRodWIuY29tL2FydW5rMTQwL2dub21lLWNvbW1hbmQtbWVudS9ibG9iL21haW4vUkVBRE1FLm1kIiwKICAibmFtZSI6ICJDb21tYW5kIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FydW5rMTQwL2dub21lLWNvbW1hbmQtbWVudSIsCiAgInV1aWQiOiAiY29tbWFuZC1tZW51QGFydW5rMTQwLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "0sf063fkwfjnp56406hirsiadmpv79za162k80n82pl6r837qw1p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgU2hlbGwgRXh0ZW5zaW9uIHRvIG1hbmFnZSBzaG9ydGN1dHMgaW4gVG9wIEJhciAoSW5zcGlyZWQgYnkgU2h1dHRsZSBhbmQgU1NITWVudSkuIEVkaXQgdGhlIC5jb21tYW5kcy5qc29uIGZpbGUgdG8gYWRkIHlvdXIgb3duIHNob3J0Y3V0cy5cblxuU2FtcGxlIENvbmZpZyBpbiB0aGUgUkVBRE1FIC0gaHR0cHM6Ly9naXRodWIuY29tL2FydW5rMTQwL2dub21lLWNvbW1hbmQtbWVudS9ibG9iL21haW4vUkVBRE1FLm1kIiwKICAibmFtZSI6ICJDb21tYW5kIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FydW5rMTQwL2dub21lLWNvbW1hbmQtbWVudSIsCiAgInV1aWQiOiAiY29tbWFuZC1tZW51QGFydW5rMTQwLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "s76-scheduler@mattjakeman.com", "name": "System76 Scheduler", "pname": "system76-scheduler", "description": "Integrates with System76 Scheduler to prioritise foreground processes.\nNote: system76-scheduler must be installed separately!\nThis extension is not affiliated with nor supported by System76.", "link": "https://extensions.gnome.org/extension/4854/system76-scheduler/", "shell_version_map": {"40": {"version": "2", "sha256": "0sa3skad3vxbiqq9cy74r6s2nfadxjnjwyl9hnp4p9qwnr5qiwhq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgd2l0aCBTeXN0ZW03NiBTY2hlZHVsZXIgdG8gcHJpb3JpdGlzZSBmb3JlZ3JvdW5kIHByb2Nlc3Nlcy5cbk5vdGU6IHN5c3RlbTc2LXNjaGVkdWxlciBtdXN0IGJlIGluc3RhbGxlZCBzZXBhcmF0ZWx5IVxuVGhpcyBleHRlbnNpb24gaXMgbm90IGFmZmlsaWF0ZWQgd2l0aCBub3Igc3VwcG9ydGVkIGJ5IFN5c3RlbTc2LiIsCiAgIm5hbWUiOiAiU3lzdGVtNzYgU2NoZWR1bGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWpha2VtYW4vczc2LXNjaGVkdWxlci1wbHVnaW4vIiwKICAidXVpZCI6ICJzNzYtc2NoZWR1bGVyQG1hdHRqYWtlbWFuLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "0sa3skad3vxbiqq9cy74r6s2nfadxjnjwyl9hnp4p9qwnr5qiwhq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgd2l0aCBTeXN0ZW03NiBTY2hlZHVsZXIgdG8gcHJpb3JpdGlzZSBmb3JlZ3JvdW5kIHByb2Nlc3Nlcy5cbk5vdGU6IHN5c3RlbTc2LXNjaGVkdWxlciBtdXN0IGJlIGluc3RhbGxlZCBzZXBhcmF0ZWx5IVxuVGhpcyBleHRlbnNpb24gaXMgbm90IGFmZmlsaWF0ZWQgd2l0aCBub3Igc3VwcG9ydGVkIGJ5IFN5c3RlbTc2LiIsCiAgIm5hbWUiOiAiU3lzdGVtNzYgU2NoZWR1bGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWpha2VtYW4vczc2LXNjaGVkdWxlci1wbHVnaW4vIiwKICAidXVpZCI6ICJzNzYtc2NoZWR1bGVyQG1hdHRqYWtlbWFuLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "42": {"version": "2", "sha256": "0sa3skad3vxbiqq9cy74r6s2nfadxjnjwyl9hnp4p9qwnr5qiwhq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgd2l0aCBTeXN0ZW03NiBTY2hlZHVsZXIgdG8gcHJpb3JpdGlzZSBmb3JlZ3JvdW5kIHByb2Nlc3Nlcy5cbk5vdGU6IHN5c3RlbTc2LXNjaGVkdWxlciBtdXN0IGJlIGluc3RhbGxlZCBzZXBhcmF0ZWx5IVxuVGhpcyBleHRlbnNpb24gaXMgbm90IGFmZmlsaWF0ZWQgd2l0aCBub3Igc3VwcG9ydGVkIGJ5IFN5c3RlbTc2LiIsCiAgIm5hbWUiOiAiU3lzdGVtNzYgU2NoZWR1bGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWpha2VtYW4vczc2LXNjaGVkdWxlci1wbHVnaW4vIiwKICAidXVpZCI6ICJzNzYtc2NoZWR1bGVyQG1hdHRqYWtlbWFuLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "quarterwindows@troyready.com", "name": "Quarter Windows", "pname": "quarter-windows", "description": "Add additional window management shortcuts.\n\nSee extension homepage for list of shortcuts and commands to customize them.", "link": "https://extensions.gnome.org/extension/4857/quarter-windows/", "shell_version_map": {"41": {"version": "2", "sha256": "00yiqgswcl3psijxi46sb8bxqfxb1a9i93frb90a5292a0x7lmzi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhZGRpdGlvbmFsIHdpbmRvdyBtYW5hZ2VtZW50IHNob3J0Y3V0cy5cblxuU2VlIGV4dGVuc2lvbiBob21lcGFnZSBmb3IgbGlzdCBvZiBzaG9ydGN1dHMgYW5kIGNvbW1hbmRzIHRvIGN1c3RvbWl6ZSB0aGVtLiIsCiAgIm5hbWUiOiAiUXVhcnRlciBXaW5kb3dzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Ryb3lyZWFkeS9xdWFydGVyd2luZG93cyIsCiAgInV1aWQiOiAicXVhcnRlcndpbmRvd3NAdHJveXJlYWR5LmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
-, {"uuid": "batt_consumption_wattmetter@wennaspeedy", "name": "Battery Consumption Watt Meter", "pname": "bat_consumption_wattmeter", "description": "Shows actual charging/discharging consumption (+/-) in Watt next to battery percentage level.\nEnable percentage label when disabled.\nSync reload set to 4 seconds.\nNo consumption info when battery is full.", "link": "https://extensions.gnome.org/extension/4862/bat_consumption_wattmeter/", "shell_version_map": {"40": {"version": "4", "sha256": "0sx8pszlig69wha6xj8ll4l1kwi8avxhi148fq55r0z25yz6pq27", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGFjdHVhbCBjaGFyZ2luZy9kaXNjaGFyZ2luZyBjb25zdW1wdGlvbiAoKy8tKSBpbiBXYXR0IG5leHQgdG8gYmF0dGVyeSBwZXJjZW50YWdlIGxldmVsLlxuRW5hYmxlIHBlcmNlbnRhZ2UgbGFiZWwgd2hlbiBkaXNhYmxlZC5cblN5bmMgcmVsb2FkIHNldCB0byA0IHNlY29uZHMuXG5ObyBjb25zdW1wdGlvbiBpbmZvIHdoZW4gYmF0dGVyeSBpcyBmdWxsLiIsCiAgIm5hbWUiOiAiQmF0dGVyeSBDb25zdW1wdGlvbiBXYXR0IE1ldGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93ZW5uYXNwZWVkeS9iYXR0X2NvbnN1bXB0aW9uX3dhdHRtZXR0ZXIiLAogICJ1dWlkIjogImJhdHRfY29uc3VtcHRpb25fd2F0dG1ldHRlckB3ZW5uYXNwZWVkeSIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "0sx8pszlig69wha6xj8ll4l1kwi8avxhi148fq55r0z25yz6pq27", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGFjdHVhbCBjaGFyZ2luZy9kaXNjaGFyZ2luZyBjb25zdW1wdGlvbiAoKy8tKSBpbiBXYXR0IG5leHQgdG8gYmF0dGVyeSBwZXJjZW50YWdlIGxldmVsLlxuRW5hYmxlIHBlcmNlbnRhZ2UgbGFiZWwgd2hlbiBkaXNhYmxlZC5cblN5bmMgcmVsb2FkIHNldCB0byA0IHNlY29uZHMuXG5ObyBjb25zdW1wdGlvbiBpbmZvIHdoZW4gYmF0dGVyeSBpcyBmdWxsLiIsCiAgIm5hbWUiOiAiQmF0dGVyeSBDb25zdW1wdGlvbiBXYXR0IE1ldGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93ZW5uYXNwZWVkeS9iYXR0X2NvbnN1bXB0aW9uX3dhdHRtZXR0ZXIiLAogICJ1dWlkIjogImJhdHRfY29uc3VtcHRpb25fd2F0dG1ldHRlckB3ZW5uYXNwZWVkeSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
+, {"uuid": "batt_consumption_wattmetter@wennaspeedy", "name": "Battery Consumption Watt Meter", "pname": "bat_consumption_wattmeter", "description": "Shows actual charging/discharging consumption (+/-) in Watt next to battery percentage level.\nEnable percentage label when disabled.\nSync reload set to 4 seconds.\nNo consumption info when battery is full.", "link": "https://extensions.gnome.org/extension/4862/bat_consumption_wattmeter/", "shell_version_map": {"40": {"version": "5", "sha256": "10gdmcnqhy430x0n08ancw0z1mjb9fr6cg083zc7ypalbf4rfam8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGFjdHVhbCBjaGFyZ2luZy9kaXNjaGFyZ2luZyBjb25zdW1wdGlvbiAoKy8tKSBpbiBXYXR0IG5leHQgdG8gYmF0dGVyeSBwZXJjZW50YWdlIGxldmVsLlxuRW5hYmxlIHBlcmNlbnRhZ2UgbGFiZWwgd2hlbiBkaXNhYmxlZC5cblN5bmMgcmVsb2FkIHNldCB0byA0IHNlY29uZHMuXG5ObyBjb25zdW1wdGlvbiBpbmZvIHdoZW4gYmF0dGVyeSBpcyBmdWxsLiIsCiAgIm5hbWUiOiAiQmF0dGVyeSBDb25zdW1wdGlvbiBXYXR0IE1ldGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93ZW5uYXNwZWVkeS9iYXR0X2NvbnN1bXB0aW9uX3dhdHRtZXR0ZXIiLAogICJ1dWlkIjogImJhdHRfY29uc3VtcHRpb25fd2F0dG1ldHRlckB3ZW5uYXNwZWVkeSIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "10gdmcnqhy430x0n08ancw0z1mjb9fr6cg083zc7ypalbf4rfam8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGFjdHVhbCBjaGFyZ2luZy9kaXNjaGFyZ2luZyBjb25zdW1wdGlvbiAoKy8tKSBpbiBXYXR0IG5leHQgdG8gYmF0dGVyeSBwZXJjZW50YWdlIGxldmVsLlxuRW5hYmxlIHBlcmNlbnRhZ2UgbGFiZWwgd2hlbiBkaXNhYmxlZC5cblN5bmMgcmVsb2FkIHNldCB0byA0IHNlY29uZHMuXG5ObyBjb25zdW1wdGlvbiBpbmZvIHdoZW4gYmF0dGVyeSBpcyBmdWxsLiIsCiAgIm5hbWUiOiAiQmF0dGVyeSBDb25zdW1wdGlvbiBXYXR0IE1ldGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93ZW5uYXNwZWVkeS9iYXR0X2NvbnN1bXB0aW9uX3dhdHRtZXR0ZXIiLAogICJ1dWlkIjogImJhdHRfY29uc3VtcHRpb25fd2F0dG1ldHRlckB3ZW5uYXNwZWVkeSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "tl@l.pnx.me", "name": "tl Integration", "pname": "pnx-time-logger", "description": "Integration for github.com/larowlan/tl", "link": "https://extensions.gnome.org/extension/4866/pnx-time-logger/", "shell_version_map": {"41": {"version": "1", "sha256": "06bf9hl0xdxmpyhh0qk2zbfhx8m2gw1fwfym9rv1znh1m9ymjr8h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0aW9uIGZvciBnaXRodWIuY29tL2xhcm93bGFuL3RsIiwKICAibmFtZSI6ICJ0bCBJbnRlZ3JhdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidGxAbC5wbngubWUiLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "dollar-pkr@shoaibzs.github.com", "name": "Dollar-PKR", "pname": "dollar-pkr", "description": "(USD US Dollar) converted to (PKR Pakistan Rs). Updates are received every 30 seconds and are based on information provided by AwesomeAPI API, which can be consulted directly by accessing the address https://docs.awesomeapi.com.br. (based on michael.mattos's Dollar https://extensions.gnome.org/extension/4573/dollar/)", "link": "https://extensions.gnome.org/extension/4869/dollar-pkr/", "shell_version_map": {"38": {"version": "2", "sha256": "09cb6f7v3j3zfanzblj9x4wj6bpnca3v9yjfh3kjz5zl3lxy8gqs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIihVU0QgVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gKFBLUiBQYWtpc3RhbiBScykuIFVwZGF0ZXMgYXJlIHJlY2VpdmVkIGV2ZXJ5IDMwIHNlY29uZHMgYW5kIGFyZSBiYXNlZCBvbiBpbmZvcm1hdGlvbiBwcm92aWRlZCBieSBBd2Vzb21lQVBJIEFQSSwgd2hpY2ggY2FuIGJlIGNvbnN1bHRlZCBkaXJlY3RseSBieSBhY2Nlc3NpbmcgdGhlIGFkZHJlc3MgaHR0cHM6Ly9kb2NzLmF3ZXNvbWVhcGkuY29tLmJyLiAoYmFzZWQgb24gbWljaGFlbC5tYXR0b3MncyBEb2xsYXIgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDU3My9kb2xsYXIvKSIsCiAgIm5hbWUiOiAiRG9sbGFyLVBLUiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2hvYWlienMvZG9sbGFyLXBrciIsCiAgInV1aWQiOiAiZG9sbGFyLXBrckBzaG9haWJ6cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "09cb6f7v3j3zfanzblj9x4wj6bpnca3v9yjfh3kjz5zl3lxy8gqs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIihVU0QgVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gKFBLUiBQYWtpc3RhbiBScykuIFVwZGF0ZXMgYXJlIHJlY2VpdmVkIGV2ZXJ5IDMwIHNlY29uZHMgYW5kIGFyZSBiYXNlZCBvbiBpbmZvcm1hdGlvbiBwcm92aWRlZCBieSBBd2Vzb21lQVBJIEFQSSwgd2hpY2ggY2FuIGJlIGNvbnN1bHRlZCBkaXJlY3RseSBieSBhY2Nlc3NpbmcgdGhlIGFkZHJlc3MgaHR0cHM6Ly9kb2NzLmF3ZXNvbWVhcGkuY29tLmJyLiAoYmFzZWQgb24gbWljaGFlbC5tYXR0b3MncyBEb2xsYXIgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDU3My9kb2xsYXIvKSIsCiAgIm5hbWUiOiAiRG9sbGFyLVBLUiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2hvYWlienMvZG9sbGFyLXBrciIsCiAgInV1aWQiOiAiZG9sbGFyLXBrckBzaG9haWJ6cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "09cb6f7v3j3zfanzblj9x4wj6bpnca3v9yjfh3kjz5zl3lxy8gqs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIihVU0QgVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gKFBLUiBQYWtpc3RhbiBScykuIFVwZGF0ZXMgYXJlIHJlY2VpdmVkIGV2ZXJ5IDMwIHNlY29uZHMgYW5kIGFyZSBiYXNlZCBvbiBpbmZvcm1hdGlvbiBwcm92aWRlZCBieSBBd2Vzb21lQVBJIEFQSSwgd2hpY2ggY2FuIGJlIGNvbnN1bHRlZCBkaXJlY3RseSBieSBhY2Nlc3NpbmcgdGhlIGFkZHJlc3MgaHR0cHM6Ly9kb2NzLmF3ZXNvbWVhcGkuY29tLmJyLiAoYmFzZWQgb24gbWljaGFlbC5tYXR0b3MncyBEb2xsYXIgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDU3My9kb2xsYXIvKSIsCiAgIm5hbWUiOiAiRG9sbGFyLVBLUiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2hvYWlienMvZG9sbGFyLXBrciIsCiAgInV1aWQiOiAiZG9sbGFyLXBrckBzaG9haWJ6cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "dozenalclock@mble.dk", "name": "Dozenal Clock", "pname": "dozenal-clock", "description": "Converts the clock to a dozenal one", "link": "https://extensions.gnome.org/extension/4877/dozenal-clock/", "shell_version_map": {"38": {"version": "3", "sha256": "1p7bsv89k3pz16kcjldmdnsilwc3jx1v419nvn5vj7n2xg4zvk0j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlcnRzIHRoZSBjbG9jayB0byBhIGRvemVuYWwgb25lIiwKICAibmFtZSI6ICJEb3plbmFsIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4LjEiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL21ibGVkL2RvemVuYWwtY2xvY2stZ25vbWUiLAogICJ1dWlkIjogImRvemVuYWxjbG9ja0BtYmxlLmRrIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "40": {"version": "3", "sha256": "1p7bsv89k3pz16kcjldmdnsilwc3jx1v419nvn5vj7n2xg4zvk0j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlcnRzIHRoZSBjbG9jayB0byBhIGRvemVuYWwgb25lIiwKICAibmFtZSI6ICJEb3plbmFsIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4LjEiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL21ibGVkL2RvemVuYWwtY2xvY2stZ25vbWUiLAogICJ1dWlkIjogImRvemVuYWxjbG9ja0BtYmxlLmRrIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "41": {"version": "3", "sha256": "1p7bsv89k3pz16kcjldmdnsilwc3jx1v419nvn5vj7n2xg4zvk0j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlcnRzIHRoZSBjbG9jayB0byBhIGRvemVuYWwgb25lIiwKICAibmFtZSI6ICJEb3plbmFsIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4LjEiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL21ibGVkL2RvemVuYWwtY2xvY2stZ25vbWUiLAogICJ1dWlkIjogImRvemVuYWxjbG9ja0BtYmxlLmRrIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
 , {"uuid": "wattmeter-forked@clementherve.fr", "name": "wattmeter-forked", "pname": "wattmeter-forked", "description": "A fork of the Wattmeter extension by blackBriar, compatible with gnome 40. Original version: https://extensions.gnome.org/extension/1867/wattmeter/", "link": "https://extensions.gnome.org/extension/4886/wattmeter-forked/", "shell_version_map": {"40": {"version": "3", "sha256": "0hg6faz9j1vvxx8dyjhwx8nc2c0zbwxi9gdg2nhx839kyl3bk9kn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZm9yayBvZiB0aGUgV2F0dG1ldGVyIGV4dGVuc2lvbiBieSBibGFja0JyaWFyLCBjb21wYXRpYmxlIHdpdGggZ25vbWUgNDAuIE9yaWdpbmFsIHZlcnNpb246IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzE4Njcvd2F0dG1ldGVyLyIsCiAgIm5hbWUiOiAid2F0dG1ldGVyLWZvcmtlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jbGVtZW50aGVydmUvd2F0dG1ldGVyLWZvcmtlZCIsCiAgInV1aWQiOiAid2F0dG1ldGVyLWZvcmtlZEBjbGVtZW50aGVydmUuZnIiLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "Hitokoto@teaper.dev", "name": "Hitokoto", "pname": "hitokoto", "description": "一言短句", "link": "https://extensions.gnome.org/extension/4887/hitokoto/", "shell_version_map": {"41": {"version": "1", "sha256": "1dmsrgxnajwifc5wlrqhcddyf10a5m94wycnx5411j538607v83k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1NGUwMFx1OGEwMFx1NzdlZFx1NTNlNSIsCiAgIm5hbWUiOiAiSGl0b2tvdG8iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxLjEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZWFwZXIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWhpdG9rb3RvIiwKICAidXVpZCI6ICJIaXRva290b0B0ZWFwZXIuZGV2IiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "snap-manager-lite@fthx", "name": "Snap Manager Lite", "pname": "snap-manager-lite", "description": "Popup menu in the top bar to easily manage usual snap tasks (list, changes, refresh, remove, install...).\n\n No update notification at session start-up: use Snap Manager extension for that.\n\n All the results of actions are displayed in GNOME Terminal, so you can exactly know what you are doing and what is processing. Very light extension, no background process, no periodic background task.\n\n You can disable snaps auto updates for a limited time (up to one month, renewable), consequently be notified of snap updates and manually install them.\n\n This is not an official Ubuntu/Canonical extension.", "link": "https://extensions.gnome.org/extension/4889/snap-manager-lite/", "shell_version_map": {"38": {"version": "2", "sha256": "19x72pjbyqnk871680v88c40brq33ap99xv32wk9dknmiaa5bfd3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBvcHVwIG1lbnUgaW4gdGhlIHRvcCBiYXIgdG8gZWFzaWx5IG1hbmFnZSB1c3VhbCBzbmFwIHRhc2tzIChsaXN0LCBjaGFuZ2VzLCByZWZyZXNoLCByZW1vdmUsIGluc3RhbGwuLi4pLlxuXG4gTm8gdXBkYXRlIG5vdGlmaWNhdGlvbiBhdCBzZXNzaW9uIHN0YXJ0LXVwOiB1c2UgU25hcCBNYW5hZ2VyIGV4dGVuc2lvbiBmb3IgdGhhdC5cblxuIEFsbCB0aGUgcmVzdWx0cyBvZiBhY3Rpb25zIGFyZSBkaXNwbGF5ZWQgaW4gR05PTUUgVGVybWluYWwsIHNvIHlvdSBjYW4gZXhhY3RseSBrbm93IHdoYXQgeW91IGFyZSBkb2luZyBhbmQgd2hhdCBpcyBwcm9jZXNzaW5nLiBWZXJ5IGxpZ2h0IGV4dGVuc2lvbiwgbm8gYmFja2dyb3VuZCBwcm9jZXNzLCBubyBwZXJpb2RpYyBiYWNrZ3JvdW5kIHRhc2suXG5cbiBZb3UgY2FuIGRpc2FibGUgc25hcHMgYXV0byB1cGRhdGVzIGZvciBhIGxpbWl0ZWQgdGltZSAodXAgdG8gb25lIG1vbnRoLCByZW5ld2FibGUpLCBjb25zZXF1ZW50bHkgYmUgbm90aWZpZWQgb2Ygc25hcCB1cGRhdGVzIGFuZCBtYW51YWxseSBpbnN0YWxsIHRoZW0uXG5cbiBUaGlzIGlzIG5vdCBhbiBvZmZpY2lhbCBVYnVudHUvQ2Fub25pY2FsIGV4dGVuc2lvbi4iLAogICJuYW1lIjogIlNuYXAgTWFuYWdlciBMaXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9zbmFwLW1hbmFnZXItbGl0ZSIsCiAgInV1aWQiOiAic25hcC1tYW5hZ2VyLWxpdGVAZnRoeCIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "19x72pjbyqnk871680v88c40brq33ap99xv32wk9dknmiaa5bfd3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBvcHVwIG1lbnUgaW4gdGhlIHRvcCBiYXIgdG8gZWFzaWx5IG1hbmFnZSB1c3VhbCBzbmFwIHRhc2tzIChsaXN0LCBjaGFuZ2VzLCByZWZyZXNoLCByZW1vdmUsIGluc3RhbGwuLi4pLlxuXG4gTm8gdXBkYXRlIG5vdGlmaWNhdGlvbiBhdCBzZXNzaW9uIHN0YXJ0LXVwOiB1c2UgU25hcCBNYW5hZ2VyIGV4dGVuc2lvbiBmb3IgdGhhdC5cblxuIEFsbCB0aGUgcmVzdWx0cyBvZiBhY3Rpb25zIGFyZSBkaXNwbGF5ZWQgaW4gR05PTUUgVGVybWluYWwsIHNvIHlvdSBjYW4gZXhhY3RseSBrbm93IHdoYXQgeW91IGFyZSBkb2luZyBhbmQgd2hhdCBpcyBwcm9jZXNzaW5nLiBWZXJ5IGxpZ2h0IGV4dGVuc2lvbiwgbm8gYmFja2dyb3VuZCBwcm9jZXNzLCBubyBwZXJpb2RpYyBiYWNrZ3JvdW5kIHRhc2suXG5cbiBZb3UgY2FuIGRpc2FibGUgc25hcHMgYXV0byB1cGRhdGVzIGZvciBhIGxpbWl0ZWQgdGltZSAodXAgdG8gb25lIG1vbnRoLCByZW5ld2FibGUpLCBjb25zZXF1ZW50bHkgYmUgbm90aWZpZWQgb2Ygc25hcCB1cGRhdGVzIGFuZCBtYW51YWxseSBpbnN0YWxsIHRoZW0uXG5cbiBUaGlzIGlzIG5vdCBhbiBvZmZpY2lhbCBVYnVudHUvQ2Fub25pY2FsIGV4dGVuc2lvbi4iLAogICJuYW1lIjogIlNuYXAgTWFuYWdlciBMaXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9zbmFwLW1hbmFnZXItbGl0ZSIsCiAgInV1aWQiOiAic25hcC1tYW5hZ2VyLWxpdGVAZnRoeCIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "19x72pjbyqnk871680v88c40brq33ap99xv32wk9dknmiaa5bfd3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBvcHVwIG1lbnUgaW4gdGhlIHRvcCBiYXIgdG8gZWFzaWx5IG1hbmFnZSB1c3VhbCBzbmFwIHRhc2tzIChsaXN0LCBjaGFuZ2VzLCByZWZyZXNoLCByZW1vdmUsIGluc3RhbGwuLi4pLlxuXG4gTm8gdXBkYXRlIG5vdGlmaWNhdGlvbiBhdCBzZXNzaW9uIHN0YXJ0LXVwOiB1c2UgU25hcCBNYW5hZ2VyIGV4dGVuc2lvbiBmb3IgdGhhdC5cblxuIEFsbCB0aGUgcmVzdWx0cyBvZiBhY3Rpb25zIGFyZSBkaXNwbGF5ZWQgaW4gR05PTUUgVGVybWluYWwsIHNvIHlvdSBjYW4gZXhhY3RseSBrbm93IHdoYXQgeW91IGFyZSBkb2luZyBhbmQgd2hhdCBpcyBwcm9jZXNzaW5nLiBWZXJ5IGxpZ2h0IGV4dGVuc2lvbiwgbm8gYmFja2dyb3VuZCBwcm9jZXNzLCBubyBwZXJpb2RpYyBiYWNrZ3JvdW5kIHRhc2suXG5cbiBZb3UgY2FuIGRpc2FibGUgc25hcHMgYXV0byB1cGRhdGVzIGZvciBhIGxpbWl0ZWQgdGltZSAodXAgdG8gb25lIG1vbnRoLCByZW5ld2FibGUpLCBjb25zZXF1ZW50bHkgYmUgbm90aWZpZWQgb2Ygc25hcCB1cGRhdGVzIGFuZCBtYW51YWxseSBpbnN0YWxsIHRoZW0uXG5cbiBUaGlzIGlzIG5vdCBhbiBvZmZpY2lhbCBVYnVudHUvQ2Fub25pY2FsIGV4dGVuc2lvbi4iLAogICJuYW1lIjogIlNuYXAgTWFuYWdlciBMaXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9zbmFwLW1hbmFnZXItbGl0ZSIsCiAgInV1aWQiOiAic25hcC1tYW5hZ2VyLWxpdGVAZnRoeCIsCiAgInZlcnNpb24iOiAyCn0="}, "42": {"version": "2", "sha256": "19x72pjbyqnk871680v88c40brq33ap99xv32wk9dknmiaa5bfd3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBvcHVwIG1lbnUgaW4gdGhlIHRvcCBiYXIgdG8gZWFzaWx5IG1hbmFnZSB1c3VhbCBzbmFwIHRhc2tzIChsaXN0LCBjaGFuZ2VzLCByZWZyZXNoLCByZW1vdmUsIGluc3RhbGwuLi4pLlxuXG4gTm8gdXBkYXRlIG5vdGlmaWNhdGlvbiBhdCBzZXNzaW9uIHN0YXJ0LXVwOiB1c2UgU25hcCBNYW5hZ2VyIGV4dGVuc2lvbiBmb3IgdGhhdC5cblxuIEFsbCB0aGUgcmVzdWx0cyBvZiBhY3Rpb25zIGFyZSBkaXNwbGF5ZWQgaW4gR05PTUUgVGVybWluYWwsIHNvIHlvdSBjYW4gZXhhY3RseSBrbm93IHdoYXQgeW91IGFyZSBkb2luZyBhbmQgd2hhdCBpcyBwcm9jZXNzaW5nLiBWZXJ5IGxpZ2h0IGV4dGVuc2lvbiwgbm8gYmFja2dyb3VuZCBwcm9jZXNzLCBubyBwZXJpb2RpYyBiYWNrZ3JvdW5kIHRhc2suXG5cbiBZb3UgY2FuIGRpc2FibGUgc25hcHMgYXV0byB1cGRhdGVzIGZvciBhIGxpbWl0ZWQgdGltZSAodXAgdG8gb25lIG1vbnRoLCByZW5ld2FibGUpLCBjb25zZXF1ZW50bHkgYmUgbm90aWZpZWQgb2Ygc25hcCB1cGRhdGVzIGFuZCBtYW51YWxseSBpbnN0YWxsIHRoZW0uXG5cbiBUaGlzIGlzIG5vdCBhbiBvZmZpY2lhbCBVYnVudHUvQ2Fub25pY2FsIGV4dGVuc2lvbi4iLAogICJuYW1lIjogIlNuYXAgTWFuYWdlciBMaXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9zbmFwLW1hbmFnZXItbGl0ZSIsCiAgInV1aWQiOiAic25hcC1tYW5hZ2VyLWxpdGVAZnRoeCIsCiAgInZlcnNpb24iOiAyCn0="}}}
-, {"uuid": "move-panel@lzbz.gitlab.com", "name": "Move Panel", "pname": "move-panel", "description": "Moves panel to secondary monitor on startup, without changing the primary display.", "link": "https://extensions.gnome.org/extension/4890/move-panel/", "shell_version_map": {"41": {"version": "2", "sha256": "11c9grkdjj18lm6zii1q7473f13ylbj8d0vkv4k7ahs2644xyc95", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHBhbmVsIHRvIHNlY29uZGFyeSBtb25pdG9yIG9uIHN0YXJ0dXAsIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHByaW1hcnkgZGlzcGxheS4iLAogICJuYW1lIjogIk1vdmUgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbHpiei9tb3ZlLXBhbmVsIiwKICAidXVpZCI6ICJtb3ZlLXBhbmVsQGx6YnouZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
+, {"uuid": "move-panel@lzbz.gitlab.com", "name": "Move Panel", "pname": "move-panel", "description": "Moves panel to secondary monitor on startup, without changing the primary display. Only works on Wayland.", "link": "https://extensions.gnome.org/extension/4890/move-panel/", "shell_version_map": {"41": {"version": "2", "sha256": "1rr585an3ryfyyfcvkj8g2d76vqk6kr1qr8yzbm7z0aava16syzb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHBhbmVsIHRvIHNlY29uZGFyeSBtb25pdG9yIG9uIHN0YXJ0dXAsIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHByaW1hcnkgZGlzcGxheS4gT25seSB3b3JrcyBvbiBXYXlsYW5kLiIsCiAgIm5hbWUiOiAiTW92ZSBQYW5lbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9semJ6L21vdmUtcGFuZWwiLAogICJ1dWlkIjogIm1vdmUtcGFuZWxAbHpiei5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "usable-overview@mechtifs", "name": "Usable Overview", "pname": "usable-overview", "description": "Right clicking when activating the top-left hot corner brings up the application grid. It makes way more sense than moving your cursor all  the way down the screen then click that stinky icon.", "link": "https://extensions.gnome.org/extension/4895/usable-overview/", "shell_version_map": {"40": {"version": "1", "sha256": "0pkjsgw8f5m2a9wzph5fim6g4ky842qi5ncfxi5nbcdm7y6gj74f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJpZ2h0IGNsaWNraW5nIHdoZW4gYWN0aXZhdGluZyB0aGUgdG9wLWxlZnQgaG90IGNvcm5lciBicmluZ3MgdXAgdGhlIGFwcGxpY2F0aW9uIGdyaWQuIEl0IG1ha2VzIHdheSBtb3JlIHNlbnNlIHRoYW4gbW92aW5nIHlvdXIgY3Vyc29yIGFsbCAgdGhlIHdheSBkb3duIHRoZSBzY3JlZW4gdGhlbiBjbGljayB0aGF0IHN0aW5reSBpY29uLiIsCiAgIm5hbWUiOiAiVXNhYmxlIE92ZXJ2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWVjaHRpZnMvdXNhYmxlLW92ZXJ2aWV3IiwKICAidXVpZCI6ICJ1c2FibGUtb3ZlcnZpZXdAbWVjaHRpZnMiLAogICJ2ZXJzaW9uIjogMQp9"}, "41": {"version": "1", "sha256": "0pkjsgw8f5m2a9wzph5fim6g4ky842qi5ncfxi5nbcdm7y6gj74f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJpZ2h0IGNsaWNraW5nIHdoZW4gYWN0aXZhdGluZyB0aGUgdG9wLWxlZnQgaG90IGNvcm5lciBicmluZ3MgdXAgdGhlIGFwcGxpY2F0aW9uIGdyaWQuIEl0IG1ha2VzIHdheSBtb3JlIHNlbnNlIHRoYW4gbW92aW5nIHlvdXIgY3Vyc29yIGFsbCAgdGhlIHdheSBkb3duIHRoZSBzY3JlZW4gdGhlbiBjbGljayB0aGF0IHN0aW5reSBpY29uLiIsCiAgIm5hbWUiOiAiVXNhYmxlIE92ZXJ2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWVjaHRpZnMvdXNhYmxlLW92ZXJ2aWV3IiwKICAidXVpZCI6ICJ1c2FibGUtb3ZlcnZpZXdAbWVjaHRpZnMiLAogICJ2ZXJzaW9uIjogMQp9"}, "42": {"version": "1", "sha256": "0pkjsgw8f5m2a9wzph5fim6g4ky842qi5ncfxi5nbcdm7y6gj74f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJpZ2h0IGNsaWNraW5nIHdoZW4gYWN0aXZhdGluZyB0aGUgdG9wLWxlZnQgaG90IGNvcm5lciBicmluZ3MgdXAgdGhlIGFwcGxpY2F0aW9uIGdyaWQuIEl0IG1ha2VzIHdheSBtb3JlIHNlbnNlIHRoYW4gbW92aW5nIHlvdXIgY3Vyc29yIGFsbCAgdGhlIHdheSBkb3duIHRoZSBzY3JlZW4gdGhlbiBjbGljayB0aGF0IHN0aW5reSBpY29uLiIsCiAgIm5hbWUiOiAiVXNhYmxlIE92ZXJ2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWVjaHRpZnMvdXNhYmxlLW92ZXJ2aWV3IiwKICAidXVpZCI6ICJ1c2FibGUtb3ZlcnZpZXdAbWVjaHRpZnMiLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"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.", "link": "https://extensions.gnome.org/extension/4901/screen-net-speed/", "shell_version_map": {"40": {"version": "2", "sha256": "0ypq91cdl5jjf8l59w6yrp8068w69ykd3y366b5vnq8h75ikrd3y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQW5pbWF0aW9uIG5ldCBzcGVlZCBzaG93IG9uIHRoZSBzY3JlZW4uIFlvdSBjYW4gY2xpY2sgaXQgdG8gaGF2ZSBmdW4gYW5kIHBhc3MgdGhlIHRpbWUuIENhbiBiZSB0dXJuZWQgb24gLyBvZmYgYXQgYW55IHRpbWUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2NyZWVuLW5ldC1zcGVlZCIsCiAgIm5hbWUiOiAiU2NyZWVuIE5ldCBTcGVlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic3BlZWRAZWV4cHNzLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
+, {"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": "4", "sha256": "0j9y839da3ln1bd0xvh1zmqvrccyff9h5g34g5ngb5i3188ayyrf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQW5pbWF0aW9uIG5ldCBzcGVlZCBzaG93IG9uIHRoZSBzY3JlZW4uIFlvdSBjYW4gY2xpY2sgaXQgdG8gaGF2ZSBmdW4gYW5kIHBhc3MgdGhlIHRpbWUuIENhbiBiZSB0dXJuZWQgb24gLyBvZmYgYXQgYW55IHRpbWUuXG5TY3JvbGwgTW91c2Ugb24gcGFuZWwgaWNvbiwgY2FuIGNoYW5nZSB0aGUgc2hhcGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2NyZWVuLW5ldC1zcGVlZCIsCiAgIm5hbWUiOiAiU2NyZWVuIE5ldCBTcGVlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJzcGVlZEBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "0j9y839da3ln1bd0xvh1zmqvrccyff9h5g34g5ngb5i3188ayyrf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQW5pbWF0aW9uIG5ldCBzcGVlZCBzaG93IG9uIHRoZSBzY3JlZW4uIFlvdSBjYW4gY2xpY2sgaXQgdG8gaGF2ZSBmdW4gYW5kIHBhc3MgdGhlIHRpbWUuIENhbiBiZSB0dXJuZWQgb24gLyBvZmYgYXQgYW55IHRpbWUuXG5TY3JvbGwgTW91c2Ugb24gcGFuZWwgaWNvbiwgY2FuIGNoYW5nZSB0aGUgc2hhcGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2NyZWVuLW5ldC1zcGVlZCIsCiAgIm5hbWUiOiAiU2NyZWVuIE5ldCBTcGVlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJzcGVlZEBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "42": {"version": "4", "sha256": "0j9y839da3ln1bd0xvh1zmqvrccyff9h5g34g5ngb5i3188ayyrf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQW5pbWF0aW9uIG5ldCBzcGVlZCBzaG93IG9uIHRoZSBzY3JlZW4uIFlvdSBjYW4gY2xpY2sgaXQgdG8gaGF2ZSBmdW4gYW5kIHBhc3MgdGhlIHRpbWUuIENhbiBiZSB0dXJuZWQgb24gLyBvZmYgYXQgYW55IHRpbWUuXG5TY3JvbGwgTW91c2Ugb24gcGFuZWwgaWNvbiwgY2FuIGNoYW5nZSB0aGUgc2hhcGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2NyZWVuLW5ldC1zcGVlZCIsCiAgIm5hbWUiOiAiU2NyZWVuIE5ldCBTcGVlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJzcGVlZEBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"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": "2", "sha256": "1yq7cakknjq7inzg1bq6z4isivj25vkml89vmv4913fparvsx7n2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGJ1dHRvbiBwb3dlciBvZmYiLAogICJuYW1lIjogIkFkZCBTaHV0ZG93biBCdXR0b24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFkZHNodXRidXR0b25AamVyb21Ab2xpa2Eub3ZoIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"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": "3", "sha256": "09fa3hv3jjcl1c200kw4qg9m0rkwf6pf516rmhypzz8xw8ylcsl7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAibmFtZSI6ICJFYXN5RWZmZWN0cyBQcmVzZXQgU2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3VsdmlsbGUvZWVwcmVzZXRzZWxlY3RvciIsCiAgInV1aWQiOiAiZWVwcmVzZXRzZWxlY3RvckB1bHZpbGxlLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "09fa3hv3jjcl1c200kw4qg9m0rkwf6pf516rmhypzz8xw8ylcsl7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAibmFtZSI6ICJFYXN5RWZmZWN0cyBQcmVzZXQgU2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3VsdmlsbGUvZWVwcmVzZXRzZWxlY3RvciIsCiAgInV1aWQiOiAiZWVwcmVzZXRzZWxlY3RvckB1bHZpbGxlLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "09fa3hv3jjcl1c200kw4qg9m0rkwf6pf516rmhypzz8xw8ylcsl7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc2hvdyBhbmQgbG9hZCBFYXN5RWZmZWN0cyBQcmVzZXRzIiwKICAibmFtZSI6ICJFYXN5RWZmZWN0cyBQcmVzZXQgU2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3VsdmlsbGUvZWVwcmVzZXRzZWxlY3RvciIsCiAgInV1aWQiOiAiZWVwcmVzZXRzZWxlY3RvckB1bHZpbGxlLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAzCn0="}}}
+, {"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": "4", "sha256": "14i6q9alag5dblp6iy3d6ip5ynnm1lzl108km336gz22mh3bfany", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGFsbCBpbiBvbmUgZXh0ZW5zaW9uIHdoaWNoIGNhdGFnb3JpemVzIG5vdGlmaWNhdGlvbnMgYW5kIGRpc3BsYXlzIHN5c3RlbSBpbmZvcm1hdGlvbiIsCiAgIm5hbWUiOiAiZ25vbWVodWIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dub21lLWh1Yi5naXRodWIuaW8vIiwKICAidXVpZCI6ICJnbm9tZWh1YkBnbm9tZS1odWIuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "14i6q9alag5dblp6iy3d6ip5ynnm1lzl108km336gz22mh3bfany", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGFsbCBpbiBvbmUgZXh0ZW5zaW9uIHdoaWNoIGNhdGFnb3JpemVzIG5vdGlmaWNhdGlvbnMgYW5kIGRpc3BsYXlzIHN5c3RlbSBpbmZvcm1hdGlvbiIsCiAgIm5hbWUiOiAiZ25vbWVodWIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dub21lLWh1Yi5naXRodWIuaW8vIiwKICAidXVpZCI6ICJnbm9tZWh1YkBnbm9tZS1odWIuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"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": "1", "sha256": "1v6h7mjsflysczrbqfkycfiswmpvn8wyz96farpj9z19cdy379q2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNjcm9sbCB1cCBvciBkb3duIGluIHRoZSBUb3AgQmFyIHRvIGFkanVzdCB2b2x1bWUuIiwKICAibmFtZSI6ICJWb2x1bWUgU2Nyb2xsZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAidHJmbHlubjg5QHBtLm1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ub3Nrb3NraS9nbm9tZS1zaGVsbC12b2x1bWUtc2Nyb2xsZXIiLAogICJ1dWlkIjogInZvbHVtZV9zY3JvbGxlckBub3Nrb3NraSIsCiAgInZlcnNpb24iOiAxCn0="}, "40": {"version": "1", "sha256": "1v6h7mjsflysczrbqfkycfiswmpvn8wyz96farpj9z19cdy379q2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNjcm9sbCB1cCBvciBkb3duIGluIHRoZSBUb3AgQmFyIHRvIGFkanVzdCB2b2x1bWUuIiwKICAibmFtZSI6ICJWb2x1bWUgU2Nyb2xsZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAidHJmbHlubjg5QHBtLm1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ub3Nrb3NraS9nbm9tZS1zaGVsbC12b2x1bWUtc2Nyb2xsZXIiLAogICJ1dWlkIjogInZvbHVtZV9zY3JvbGxlckBub3Nrb3NraSIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "1v6h7mjsflysczrbqfkycfiswmpvn8wyz96farpj9z19cdy379q2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNjcm9sbCB1cCBvciBkb3duIGluIHRoZSBUb3AgQmFyIHRvIGFkanVzdCB2b2x1bWUuIiwKICAibmFtZSI6ICJWb2x1bWUgU2Nyb2xsZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAidHJmbHlubjg5QHBtLm1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ub3Nrb3NraS9nbm9tZS1zaGVsbC12b2x1bWUtc2Nyb2xsZXIiLAogICJ1dWlkIjogInZvbHVtZV9zY3JvbGxlckBub3Nrb3NraSIsCiAgInZlcnNpb24iOiAxCn0="}}}
-, {"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\nYou need to fill in the correct longitude and latitude in the coord.json file.", "link": "https://extensions.gnome.org/extension/4919/weather/", "shell_version_map": {"40": {"version": "3", "sha256": "17fc87vppdzs29qvknlnwrll1c5j0x9m2jsap086p4g5lzyxqrqq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGlvbiBXZWF0aGVyLiBcbk1vdXNlIDE6IHNob3cgd2VhdGhlclxuTW91c2UgMjogcmVmcmVzaCB3ZWF0aGVyXG5Nb3VzZSAzOiBkaXNtaXNzXG5TY3JvbGxVcDogaW5jcmVhc2UgZGF5XG5TY3JvbGxEb3duOiBkZWNyZWFzZSBkYXlcbllvdSBuZWVkIHRvIGZpbGwgaW4gdGhlIGNvcnJlY3QgbG9uZ2l0dWRlIGFuZCBsYXRpdHVkZSBpbiB0aGUgY29vcmQuanNvbiBmaWxlLiIsCiAgIm5hbWUiOiAiV2VhdGhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3ZWF0aGVyQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "17fc87vppdzs29qvknlnwrll1c5j0x9m2jsap086p4g5lzyxqrqq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGlvbiBXZWF0aGVyLiBcbk1vdXNlIDE6IHNob3cgd2VhdGhlclxuTW91c2UgMjogcmVmcmVzaCB3ZWF0aGVyXG5Nb3VzZSAzOiBkaXNtaXNzXG5TY3JvbGxVcDogaW5jcmVhc2UgZGF5XG5TY3JvbGxEb3duOiBkZWNyZWFzZSBkYXlcbllvdSBuZWVkIHRvIGZpbGwgaW4gdGhlIGNvcnJlY3QgbG9uZ2l0dWRlIGFuZCBsYXRpdHVkZSBpbiB0aGUgY29vcmQuanNvbiBmaWxlLiIsCiAgIm5hbWUiOiAiV2VhdGhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3ZWF0aGVyQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "42": {"version": "3", "sha256": "17fc87vppdzs29qvknlnwrll1c5j0x9m2jsap086p4g5lzyxqrqq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGlvbiBXZWF0aGVyLiBcbk1vdXNlIDE6IHNob3cgd2VhdGhlclxuTW91c2UgMjogcmVmcmVzaCB3ZWF0aGVyXG5Nb3VzZSAzOiBkaXNtaXNzXG5TY3JvbGxVcDogaW5jcmVhc2UgZGF5XG5TY3JvbGxEb3duOiBkZWNyZWFzZSBkYXlcbllvdSBuZWVkIHRvIGZpbGwgaW4gdGhlIGNvcnJlY3QgbG9uZ2l0dWRlIGFuZCBsYXRpdHVkZSBpbiB0aGUgY29vcmQuanNvbiBmaWxlLiIsCiAgIm5hbWUiOiAiV2VhdGhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ3ZWF0aGVyQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}}}
-, {"uuid": "whiteborder@aaronbpaden.gmail.com", "name": "White Border Overlay", "pname": "white-border-overlay", "description": "Draw a white border around the desktop to enable (hopefully) universal application support for the Sinden Lightgun.", "link": "https://extensions.gnome.org/extension/4922/white-border-overlay/", "shell_version_map": {"41": {"version": "1", "sha256": "000sk4a2db3r7yx6dxpxv9parh0gpsanif1zlmz2xr69hbl48hwk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRyYXcgYSB3aGl0ZSBib3JkZXIgYXJvdW5kIHRoZSBkZXNrdG9wIHRvIGVuYWJsZSAoaG9wZWZ1bGx5KSB1bml2ZXJzYWwgYXBwbGljYXRpb24gc3VwcG9ydCBmb3IgdGhlIFNpbmRlbiBMaWdodGd1bi4iLAogICJuYW1lIjogIldoaXRlIEJvcmRlciBPdmVybGF5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Fhcm9uQlBhZGVuL3doaXRlYm9yZGVyLWFhcm9uYnBhZGVuLmdtYWlsLmNvbSIsCiAgInV1aWQiOiAid2hpdGVib3JkZXJAYWFyb25icGFkZW4uZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
+, {"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", "link": "https://extensions.gnome.org/extension/4919/weather/", "shell_version_map": {"40": {"version": "3", "sha256": "1smhsdq7xg0vx0nrcw3rmr74nypn1wjlw2aynbd59hbck1np8h31", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGlvbiBXZWF0aGVyLiBcbk1vdXNlIDE6IHNob3cgd2VhdGhlclxuTW91c2UgMjogcmVmcmVzaCB3ZWF0aGVyXG5Nb3VzZSAzOiBkaXNtaXNzXG5TY3JvbGxVcDogaW5jcmVhc2UgZGF5XG5TY3JvbGxEb3duOiBkZWNyZWFzZSBkYXkiLAogICJuYW1lIjogIldlYXRoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9nbm9tZS1zaGVsbC13ZWF0aGVyIiwKICAidXVpZCI6ICJ3ZWF0aGVyQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "1smhsdq7xg0vx0nrcw3rmr74nypn1wjlw2aynbd59hbck1np8h31", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGlvbiBXZWF0aGVyLiBcbk1vdXNlIDE6IHNob3cgd2VhdGhlclxuTW91c2UgMjogcmVmcmVzaCB3ZWF0aGVyXG5Nb3VzZSAzOiBkaXNtaXNzXG5TY3JvbGxVcDogaW5jcmVhc2UgZGF5XG5TY3JvbGxEb3duOiBkZWNyZWFzZSBkYXkiLAogICJuYW1lIjogIldlYXRoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9nbm9tZS1zaGVsbC13ZWF0aGVyIiwKICAidXVpZCI6ICJ3ZWF0aGVyQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "42": {"version": "6", "sha256": "1skxb5sgzp78h1wwwva3089mblih6ip7npxx2ss83cgfgg9wlc0b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGlvbiBXZWF0aGVyLiBcbk1vdXNlIDE6IHNob3cgd2VhdGhlclxuTW91c2UgMjogcmVmcmVzaCB3ZWF0aGVyXG5Nb3VzZSAzOiBkaXNtaXNzXG5TY3JvbGxVcDogaW5jcmVhc2UgZGF5XG5TY3JvbGxEb3duOiBkZWNyZWFzZSBkYXkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3ZWF0aGVyIiwKICAibmFtZSI6ICJXZWF0aGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndlYXRoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtd2VhdGhlciIsCiAgInV1aWQiOiAid2VhdGhlckBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
+, {"uuid": "whiteborder@aaronbpaden.gmail.com", "name": "White Border Overlay", "pname": "white-border-overlay", "description": "Draw a white border around the desktop to enable (hopefully) universal application support for the Sinden Lightgun.", "link": "https://extensions.gnome.org/extension/4922/white-border-overlay/", "shell_version_map": {"38": {"version": "2", "sha256": "1iplpk1hjhhjncgnzdc3jzsfp6c1344523ga439lfzxvd7yk9r7h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRyYXcgYSB3aGl0ZSBib3JkZXIgYXJvdW5kIHRoZSBkZXNrdG9wIHRvIGVuYWJsZSAoaG9wZWZ1bGx5KSB1bml2ZXJzYWwgYXBwbGljYXRpb24gc3VwcG9ydCBmb3IgdGhlIFNpbmRlbiBMaWdodGd1bi4iLAogICJuYW1lIjogIldoaXRlIEJvcmRlciBPdmVybGF5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BYXJvbkJQYWRlbi93aGl0ZWJvcmRlci1hYXJvbmJwYWRlbi5nbWFpbC5jb20iLAogICJ1dWlkIjogIndoaXRlYm9yZGVyQGFhcm9uYnBhZGVuLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "1iplpk1hjhhjncgnzdc3jzsfp6c1344523ga439lfzxvd7yk9r7h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRyYXcgYSB3aGl0ZSBib3JkZXIgYXJvdW5kIHRoZSBkZXNrdG9wIHRvIGVuYWJsZSAoaG9wZWZ1bGx5KSB1bml2ZXJzYWwgYXBwbGljYXRpb24gc3VwcG9ydCBmb3IgdGhlIFNpbmRlbiBMaWdodGd1bi4iLAogICJuYW1lIjogIldoaXRlIEJvcmRlciBPdmVybGF5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BYXJvbkJQYWRlbi93aGl0ZWJvcmRlci1hYXJvbmJwYWRlbi5nbWFpbC5jb20iLAogICJ1dWlkIjogIndoaXRlYm9yZGVyQGFhcm9uYnBhZGVuLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "1iplpk1hjhhjncgnzdc3jzsfp6c1344523ga439lfzxvd7yk9r7h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRyYXcgYSB3aGl0ZSBib3JkZXIgYXJvdW5kIHRoZSBkZXNrdG9wIHRvIGVuYWJsZSAoaG9wZWZ1bGx5KSB1bml2ZXJzYWwgYXBwbGljYXRpb24gc3VwcG9ydCBmb3IgdGhlIFNpbmRlbiBMaWdodGd1bi4iLAogICJuYW1lIjogIldoaXRlIEJvcmRlciBPdmVybGF5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BYXJvbkJQYWRlbi93aGl0ZWJvcmRlci1hYXJvbmJwYWRlbi5nbWFpbC5jb20iLAogICJ1dWlkIjogIndoaXRlYm9yZGVyQGFhcm9uYnBhZGVuLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
+, {"uuid": "git@eexpss.gmail.com", "name": "Git Monitor", "pname": "git", "description": "## monitor git directory for changes.\n### Panel Icon\n- Mouse 2, force refresh (re-read config file, check git dirs, refresh menu).\n- Mouse 3, open configfile. config file is `~/.config/git-monitor.json`.\n### Menu Item\n- Directory: Mouse 1 opened in the Files(Nautilus), Mouse 3 open in the gnome-terminal.\n- Files: opened with `git difftool`, eg `meld`.", "link": "https://extensions.gnome.org/extension/4925/git/", "shell_version_map": {"40": {"version": "5", "sha256": "14h1inkdaac4qdglw1sh3hqigrggzvrg17jsh5b9jfs8mg6rm0b1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiMjIG1vbml0b3IgZ2l0IGRpcmVjdG9yeSBmb3IgY2hhbmdlcy5cbiMjIyBQYW5lbCBJY29uXG4tIE1vdXNlIDIsIGZvcmNlIHJlZnJlc2ggKHJlLXJlYWQgY29uZmlnIGZpbGUsIGNoZWNrIGdpdCBkaXJzLCByZWZyZXNoIG1lbnUpLlxuLSBNb3VzZSAzLCBvcGVuIGNvbmZpZ2ZpbGUuIGNvbmZpZyBmaWxlIGlzIGB+Ly5jb25maWcvZ2l0LW1vbml0b3IuanNvbmAuXG4jIyMgTWVudSBJdGVtXG4tIERpcmVjdG9yeTogTW91c2UgMSBvcGVuZWQgaW4gdGhlIEZpbGVzKE5hdXRpbHVzKSwgTW91c2UgMyBvcGVuIGluIHRoZSBnbm9tZS10ZXJtaW5hbC5cbi0gRmlsZXM6IG9wZW5lZCB3aXRoIGBnaXQgZGlmZnRvb2xgLCBlZyBgbWVsZGAuIiwKICAibmFtZSI6ICJHaXQgTW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJnaXRAZWV4cHNzLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "14h1inkdaac4qdglw1sh3hqigrggzvrg17jsh5b9jfs8mg6rm0b1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiMjIG1vbml0b3IgZ2l0IGRpcmVjdG9yeSBmb3IgY2hhbmdlcy5cbiMjIyBQYW5lbCBJY29uXG4tIE1vdXNlIDIsIGZvcmNlIHJlZnJlc2ggKHJlLXJlYWQgY29uZmlnIGZpbGUsIGNoZWNrIGdpdCBkaXJzLCByZWZyZXNoIG1lbnUpLlxuLSBNb3VzZSAzLCBvcGVuIGNvbmZpZ2ZpbGUuIGNvbmZpZyBmaWxlIGlzIGB+Ly5jb25maWcvZ2l0LW1vbml0b3IuanNvbmAuXG4jIyMgTWVudSBJdGVtXG4tIERpcmVjdG9yeTogTW91c2UgMSBvcGVuZWQgaW4gdGhlIEZpbGVzKE5hdXRpbHVzKSwgTW91c2UgMyBvcGVuIGluIHRoZSBnbm9tZS10ZXJtaW5hbC5cbi0gRmlsZXM6IG9wZW5lZCB3aXRoIGBnaXQgZGlmZnRvb2xgLCBlZyBgbWVsZGAuIiwKICAibmFtZSI6ICJHaXQgTW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJnaXRAZWV4cHNzLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "42": {"version": "5", "sha256": "14h1inkdaac4qdglw1sh3hqigrggzvrg17jsh5b9jfs8mg6rm0b1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiMjIG1vbml0b3IgZ2l0IGRpcmVjdG9yeSBmb3IgY2hhbmdlcy5cbiMjIyBQYW5lbCBJY29uXG4tIE1vdXNlIDIsIGZvcmNlIHJlZnJlc2ggKHJlLXJlYWQgY29uZmlnIGZpbGUsIGNoZWNrIGdpdCBkaXJzLCByZWZyZXNoIG1lbnUpLlxuLSBNb3VzZSAzLCBvcGVuIGNvbmZpZ2ZpbGUuIGNvbmZpZyBmaWxlIGlzIGB+Ly5jb25maWcvZ2l0LW1vbml0b3IuanNvbmAuXG4jIyMgTWVudSBJdGVtXG4tIERpcmVjdG9yeTogTW91c2UgMSBvcGVuZWQgaW4gdGhlIEZpbGVzKE5hdXRpbHVzKSwgTW91c2UgMyBvcGVuIGluIHRoZSBnbm9tZS10ZXJtaW5hbC5cbi0gRmlsZXM6IG9wZW5lZCB3aXRoIGBnaXQgZGlmZnRvb2xgLCBlZyBgbWVsZGAuIiwKICAibmFtZSI6ICJHaXQgTW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJnaXRAZWV4cHNzLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
+, {"uuid": "mprisLabel@moon-0xff.github.com", "name": "Mpris Label", "pname": "mpris-label", "description": "Displays a label in the top bar with metadata from an mpris compatible source. Works with Spotify, VLC, Rhythmbox, Firefox, Chromium based browsers and (probably) any mpris compatible player.", "link": "https://extensions.gnome.org/extension/4928/mpris-label/", "shell_version_map": {"38": {"version": "1", "sha256": "1nrnb41gzbw691r3c5malpsfzfhgq551gg3c3pff3f9wcrc5bc3c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGEgbGFiZWwgaW4gdGhlIHRvcCBiYXIgd2l0aCBtZXRhZGF0YSBmcm9tIGFuIG1wcmlzIGNvbXBhdGlibGUgc291cmNlLiBXb3JrcyB3aXRoIFNwb3RpZnksIFZMQywgUmh5dGhtYm94LCBGaXJlZm94LCBDaHJvbWl1bSBiYXNlZCBicm93c2VycyBhbmQgKHByb2JhYmx5KSBhbnkgbXByaXMgY29tcGF0aWJsZSBwbGF5ZXIuIiwKICAibmFtZSI6ICJNcHJpcyBMYWJlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTW9vbi0weGZmL2dub21lLW1wcmlzLWxhYmVsIiwKICAidXVpZCI6ICJtcHJpc0xhYmVsQG1vb24tMHhmZi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "40": {"version": "1", "sha256": "1nrnb41gzbw691r3c5malpsfzfhgq551gg3c3pff3f9wcrc5bc3c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGEgbGFiZWwgaW4gdGhlIHRvcCBiYXIgd2l0aCBtZXRhZGF0YSBmcm9tIGFuIG1wcmlzIGNvbXBhdGlibGUgc291cmNlLiBXb3JrcyB3aXRoIFNwb3RpZnksIFZMQywgUmh5dGhtYm94LCBGaXJlZm94LCBDaHJvbWl1bSBiYXNlZCBicm93c2VycyBhbmQgKHByb2JhYmx5KSBhbnkgbXByaXMgY29tcGF0aWJsZSBwbGF5ZXIuIiwKICAibmFtZSI6ICJNcHJpcyBMYWJlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTW9vbi0weGZmL2dub21lLW1wcmlzLWxhYmVsIiwKICAidXVpZCI6ICJtcHJpc0xhYmVsQG1vb24tMHhmZi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "41": {"version": "1", "sha256": "1nrnb41gzbw691r3c5malpsfzfhgq551gg3c3pff3f9wcrc5bc3c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGEgbGFiZWwgaW4gdGhlIHRvcCBiYXIgd2l0aCBtZXRhZGF0YSBmcm9tIGFuIG1wcmlzIGNvbXBhdGlibGUgc291cmNlLiBXb3JrcyB3aXRoIFNwb3RpZnksIFZMQywgUmh5dGhtYm94LCBGaXJlZm94LCBDaHJvbWl1bSBiYXNlZCBicm93c2VycyBhbmQgKHByb2JhYmx5KSBhbnkgbXByaXMgY29tcGF0aWJsZSBwbGF5ZXIuIiwKICAibmFtZSI6ICJNcHJpcyBMYWJlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTW9vbi0weGZmL2dub21lLW1wcmlzLWxhYmVsIiwKICAidXVpZCI6ICJtcHJpc0xhYmVsQG1vb24tMHhmZi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
+, {"uuid": "captivate@rensoliemans.nl", "name": "Captivate", "pname": "captivate", "description": "Activate your CapsLock button.\nUsing gnome-tweaks, remap your CapsLock to a Menu key, and then this extension works perfectly. Alternatively, choose a different key in the extension settings.", "link": "https://extensions.gnome.org/extension/4932/captivate/", "shell_version_map": {"40": {"version": "5", "sha256": "0c1506lfm7iv59ha1gyc20v49xl3ivjn3qy9cxkdb68j37q50240", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjdGl2YXRlIHlvdXIgQ2Fwc0xvY2sgYnV0dG9uLlxuVXNpbmcgZ25vbWUtdHdlYWtzLCByZW1hcCB5b3VyIENhcHNMb2NrIHRvIGEgTWVudSBrZXksIGFuZCB0aGVuIHRoaXMgZXh0ZW5zaW9uIHdvcmtzIHBlcmZlY3RseS4gQWx0ZXJuYXRpdmVseSwgY2hvb3NlIGEgZGlmZmVyZW50IGtleSBpbiB0aGUgZXh0ZW5zaW9uIHNldHRpbmdzLiIsCiAgIm5hbWUiOiAiQ2FwdGl2YXRlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNhcHRpdmF0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmVuc29saWVtYW5zL2NhcHRpdmF0ZSIsCiAgInV1aWQiOiAiY2FwdGl2YXRlQHJlbnNvbGllbWFucy5ubCIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "0c1506lfm7iv59ha1gyc20v49xl3ivjn3qy9cxkdb68j37q50240", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjdGl2YXRlIHlvdXIgQ2Fwc0xvY2sgYnV0dG9uLlxuVXNpbmcgZ25vbWUtdHdlYWtzLCByZW1hcCB5b3VyIENhcHNMb2NrIHRvIGEgTWVudSBrZXksIGFuZCB0aGVuIHRoaXMgZXh0ZW5zaW9uIHdvcmtzIHBlcmZlY3RseS4gQWx0ZXJuYXRpdmVseSwgY2hvb3NlIGEgZGlmZmVyZW50IGtleSBpbiB0aGUgZXh0ZW5zaW9uIHNldHRpbmdzLiIsCiAgIm5hbWUiOiAiQ2FwdGl2YXRlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNhcHRpdmF0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmVuc29saWVtYW5zL2NhcHRpdmF0ZSIsCiAgInV1aWQiOiAiY2FwdGl2YXRlQHJlbnNvbGllbWFucy5ubCIsCiAgInZlcnNpb24iOiA1Cn0="}}}
+, {"uuid": "goto-previous-workspaces@zubarev.net", "name": "Switch workspaces to previous", "pname": "switch-workspaces-to-previous", "description": "move to previous workspace", "link": "https://extensions.gnome.org/extension/4935/switch-workspaces-to-previous/", "shell_version_map": {"38": {"version": "1", "sha256": "0f2ri8w9zh49z81ya12rrfclmljhgv05yl30s0jbgafi9im396cv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1vdmUgdG8gcHJldmlvdXMgd29ya3NwYWNlIiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyB0byBwcmV2aW91cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiYW5kcmV5QHp1YmFyZXYubmV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdvdG8tcHJldmlvdXMtd29ya3NwYWNlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F6eW9za29sL2dub21lLXNoZWxsLWV4dGVuc2lvbi1nb3RvLXByZXZpb3VzLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogImdvdG8tcHJldmlvdXMtd29ya3NwYWNlc0B6dWJhcmV2Lm5ldCIsCiAgInZlcnNpb24iOiAxCn0="}, "40": {"version": "1", "sha256": "0f2ri8w9zh49z81ya12rrfclmljhgv05yl30s0jbgafi9im396cv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1vdmUgdG8gcHJldmlvdXMgd29ya3NwYWNlIiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyB0byBwcmV2aW91cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiYW5kcmV5QHp1YmFyZXYubmV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdvdG8tcHJldmlvdXMtd29ya3NwYWNlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F6eW9za29sL2dub21lLXNoZWxsLWV4dGVuc2lvbi1nb3RvLXByZXZpb3VzLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogImdvdG8tcHJldmlvdXMtd29ya3NwYWNlc0B6dWJhcmV2Lm5ldCIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "0f2ri8w9zh49z81ya12rrfclmljhgv05yl30s0jbgafi9im396cv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1vdmUgdG8gcHJldmlvdXMgd29ya3NwYWNlIiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyB0byBwcmV2aW91cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiYW5kcmV5QHp1YmFyZXYubmV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdvdG8tcHJldmlvdXMtd29ya3NwYWNlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F6eW9za29sL2dub21lLXNoZWxsLWV4dGVuc2lvbi1nb3RvLXByZXZpb3VzLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogImdvdG8tcHJldmlvdXMtd29ya3NwYWNlc0B6dWJhcmV2Lm5ldCIsCiAgInZlcnNpb24iOiAxCn0="}, "42": {"version": "1", "sha256": "0f2ri8w9zh49z81ya12rrfclmljhgv05yl30s0jbgafi9im396cv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1vdmUgdG8gcHJldmlvdXMgd29ya3NwYWNlIiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyB0byBwcmV2aW91cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiYW5kcmV5QHp1YmFyZXYubmV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdvdG8tcHJldmlvdXMtd29ya3NwYWNlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F6eW9za29sL2dub21lLXNoZWxsLWV4dGVuc2lvbi1nb3RvLXByZXZpb3VzLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogImdvdG8tcHJldmlvdXMtd29ya3NwYWNlc0B6dWJhcmV2Lm5ldCIsCiAgInZlcnNpb24iOiAxCn0="}}}
+, {"uuid": "draw-on-your-screen2@zhrexl.github.com", "name": "Draw On Your Screen 2", "pname": "draw-on-you-screen-2", "description": "Start drawing with Super+Alt+D and save your beautiful work by taking a screenshot", "link": "https://extensions.gnome.org/extension/4937/draw-on-you-screen-2/", "shell_version_map": {"40": {"version": "1", "sha256": "0ggqr3hn3cm4cd28qmwhz85fpc9lqxq9n4bc1mmyzb5b8y62smmg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRhdGEtZGlyIjogImRyYXctb24teW91ci1zY3JlZW4iLAogICJkZXNjcmlwdGlvbiI6ICJTdGFydCBkcmF3aW5nIHdpdGggU3VwZXIrQWx0K0QgYW5kIHNhdmUgeW91ciBiZWF1dGlmdWwgd29yayBieSB0YWtpbmcgYSBzY3JlZW5zaG90IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZHJhdy1vbi15b3VyLXNjcmVlbiIsCiAgIm5hbWUiOiAiRHJhdyBPbiBZb3VyIFNjcmVlbiAyIiwKICAicGVyc2lzdGVudC1maWxlLW5hbWUiOiAicGVyc2lzdGVudCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kcmF3LW9uLXlvdXItc2NyZWVuIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAic3ZnLWZpbGUtbmFtZSI6ICJEcmF3T25Zb3VyU2NyZWVuIiwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96aHJleGwvRHJhd09uWW91clNjcmVlbjIiLAogICJ1dWlkIjogImRyYXctb24teW91ci1zY3JlZW4yQHpocmV4bC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "41": {"version": "1", "sha256": "0ggqr3hn3cm4cd28qmwhz85fpc9lqxq9n4bc1mmyzb5b8y62smmg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRhdGEtZGlyIjogImRyYXctb24teW91ci1zY3JlZW4iLAogICJkZXNjcmlwdGlvbiI6ICJTdGFydCBkcmF3aW5nIHdpdGggU3VwZXIrQWx0K0QgYW5kIHNhdmUgeW91ciBiZWF1dGlmdWwgd29yayBieSB0YWtpbmcgYSBzY3JlZW5zaG90IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZHJhdy1vbi15b3VyLXNjcmVlbiIsCiAgIm5hbWUiOiAiRHJhdyBPbiBZb3VyIFNjcmVlbiAyIiwKICAicGVyc2lzdGVudC1maWxlLW5hbWUiOiAicGVyc2lzdGVudCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kcmF3LW9uLXlvdXItc2NyZWVuIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAic3ZnLWZpbGUtbmFtZSI6ICJEcmF3T25Zb3VyU2NyZWVuIiwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96aHJleGwvRHJhd09uWW91clNjcmVlbjIiLAogICJ1dWlkIjogImRyYXctb24teW91ci1zY3JlZW4yQHpocmV4bC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
+, {"uuid": "aztaskbar@aztaskbar.gitlab.com", "name": "App Icons Taskbar", "pname": "app-icons-taskbar", "description": "A simple app icon taskbar. Add running apps and favorites to the main panel.", "link": "https://extensions.gnome.org/extension/4944/app-icons-taskbar/", "shell_version_map": {"42": {"version": "1", "sha256": "09cxikjpbygd09qm9zig2sw2k3ry9k5p7621hi1rn60n32axs7c2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGFwcCBpY29uIHRhc2tiYXIuIEFkZCBydW5uaW5nIGFwcHMgYW5kIGZhdm9yaXRlcyB0byB0aGUgbWFpbiBwYW5lbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhenRhc2tiYXIiLAogICJuYW1lIjogIkFwcCBJY29ucyBUYXNrYmFyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF6dGFza2JhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9BbmRyZXdaYWVjaC9henRhc2tiYXIiLAogICJ1dWlkIjogImF6dGFza2JhckBhenRhc2tiYXIuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}}}
+, {"uuid": "netSpeedMonitor@nidyran.github.io", "name": "net speed monitor", "pname": "net-speed-monitor", "description": "This extension helps tracking and monitoring network speed.\nThere are five modes: \n1 - download speed only.\n2 - upload speed only.\n3 - download speed and upload speed together.\n4 - download speed and upload speed summed.\n5 - total data usage\nTo switch between modes, use left mouse click.\nTo switch between available sources, use right mouse click.\nThe first source with usage higher than zero will be picked by default.\nThe source code is available in the link below, update requests are welcome.", "link": "https://extensions.gnome.org/extension/4947/net-speed-monitor/", "shell_version_map": {"38": {"version": "1", "sha256": "01y2mychc3mcs1p65ylanbcmdad59zbr6vclrm88wza69wfv4kbd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIGV4dGVuc2lvbiBtYWlubHkgYnVpbHQgdG8gdHJhY2sgbmV0d29yayBzcGVlZC4iLAogICJuYW1lIjogIm5ldCBzcGVlZCBtb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uaWR5cmFuL25ldFNwZWVkTW9uaXRvci8iLAogICJ1dWlkIjogIm5ldFNwZWVkTW9uaXRvckBuaWR5cmFuLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxCn0="}, "40": {"version": "1", "sha256": "01y2mychc3mcs1p65ylanbcmdad59zbr6vclrm88wza69wfv4kbd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIGV4dGVuc2lvbiBtYWlubHkgYnVpbHQgdG8gdHJhY2sgbmV0d29yayBzcGVlZC4iLAogICJuYW1lIjogIm5ldCBzcGVlZCBtb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uaWR5cmFuL25ldFNwZWVkTW9uaXRvci8iLAogICJ1dWlkIjogIm5ldFNwZWVkTW9uaXRvckBuaWR5cmFuLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "01y2mychc3mcs1p65ylanbcmdad59zbr6vclrm88wza69wfv4kbd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIGV4dGVuc2lvbiBtYWlubHkgYnVpbHQgdG8gdHJhY2sgbmV0d29yayBzcGVlZC4iLAogICJuYW1lIjogIm5ldCBzcGVlZCBtb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uaWR5cmFuL25ldFNwZWVkTW9uaXRvci8iLAogICJ1dWlkIjogIm5ldFNwZWVkTW9uaXRvckBuaWR5cmFuLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxCn0="}}}
 ]
diff --git a/pkgs/desktops/gnome/extensions/freon/default.nix b/pkgs/desktops/gnome/extensions/freon/default.nix
deleted file mode 100644
index 90909608052bd..0000000000000
--- a/pkgs/desktops/gnome/extensions/freon/default.nix
+++ /dev/null
@@ -1,61 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, glib
-, substituteAll
-, hddtemp
-, liquidctl
-, lm_sensors
-, netcat-gnu
-, nvme-cli
-, procps
-, smartmontools
-}:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-shell-extension-freon";
-  version = "45";
-
-  passthru = {
-    extensionUuid = "freon@UshakovVasilii_Github.yahoo.com";
-    extensionPortalSlug = "freon";
-  };
-
-  src = fetchFromGitHub {
-    owner = "UshakovVasilii";
-    repo = "gnome-shell-extension-freon";
-    rev = "EGO-${version}";
-    sha256 = "sha256-tPb7SzHSwvz7VV+kZTmcw1eAdtL1J7FJ3BOtg4Us8jc=";
-  };
-
-  nativeBuildInputs = [ glib ];
-
-  patches = [
-    (substituteAll {
-      src = ./fix_paths.patch;
-      inherit hddtemp liquidctl lm_sensors procps smartmontools;
-      netcat = netcat-gnu;
-      nvmecli = nvme-cli;
-    })
-  ];
-
-  buildPhase = ''
-    runHook preBuild
-    glib-compile-schemas --strict --targetdir="freon@UshakovVasilii_Github.yahoo.com/schemas" "freon@UshakovVasilii_Github.yahoo.com/schemas"
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-    mkdir -p $out/share/gnome-shell/extensions
-    cp -r "freon@UshakovVasilii_Github.yahoo.com" $out/share/gnome-shell/extensions
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    description = "GNOME Shell extension for displaying CPU, GPU, disk temperatures, voltage and fan RPM in the top panel";
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ justinas ];
-    homepage = "https://github.com/UshakovVasilii/gnome-shell-extension-freon";
-  };
-}
diff --git a/pkgs/desktops/gnome/extensions/gsconnect/default.nix b/pkgs/desktops/gnome/extensions/gsconnect/default.nix
index 2d3d2415db245..5f915a4b5af87 100644
--- a/pkgs/desktops/gnome/extensions/gsconnect/default.nix
+++ b/pkgs/desktops/gnome/extensions/gsconnect/default.nix
@@ -19,15 +19,15 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-gsconnect";
-  version = "48";
+  version = "50";
 
   outputs = [ "out" "installedTests" ];
 
   src = fetchFromGitHub {
-    owner = "andyholmes";
+    owner = "GSConnect";
     repo = "gnome-shell-extension-gsconnect";
     rev = "v${version}";
-    sha256 = "sha256-cKEFTF8DnQIQAXVW9NvE34mUqueQP/OtxTzMUy1dT5U=";
+    hash = "sha256-uUpdjBsVeS99AYDpGlXP9fMqGxWj+XfVubNoGJs76G0=";
   };
 
   patches = [
@@ -111,7 +111,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "KDE Connect implementation for Gnome Shell";
-    homepage = "https://github.com/andyholmes/gnome-shell-extension-gsconnect/wiki";
+    homepage = "https://github.com/GSConnect/gnome-shell-extension-gsconnect/wiki";
     license = licenses.gpl2Plus;
     maintainers = teams.gnome.members;
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome/extensions/manuallyPackaged.nix b/pkgs/desktops/gnome/extensions/manuallyPackaged.nix
index 1ed840670643e..6e2f1f6f26203 100644
--- a/pkgs/desktops/gnome/extensions/manuallyPackaged.nix
+++ b/pkgs/desktops/gnome/extensions/manuallyPackaged.nix
@@ -6,7 +6,6 @@
   "drop-down-terminal@gs-extensions.zzrough.org" = callPackage ./drop-down-terminal { };
   "EasyScreenCast@iacopodeenosee.gmail.com" = callPackage ./EasyScreenCast { };
   "emoji-selector@maestroschan.fr" = callPackage ./emoji-selector { };
-  "freon@UshakovVasilii_Github.yahoo.com" = callPackage ./freon { };
   "gsconnect@andyholmes.github.io" = callPackage ./gsconnect { };
   "icon-hider@kalnitsky.org" = callPackage ./icon-hider { };
   "impatience@gfxmonk.net" = callPackage ./impatience { };
diff --git a/pkgs/desktops/gnome/extensions/pop-shell/default.nix b/pkgs/desktops/gnome/extensions/pop-shell/default.nix
index 381a82e5bdf08..d24a407f92b7a 100644
--- a/pkgs/desktops/gnome/extensions/pop-shell/default.nix
+++ b/pkgs/desktops/gnome/extensions/pop-shell/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-pop-shell";
-  version = "unstable-2022-01-14";
+  version = "unstable-2022-03-25";
 
   src = fetchFromGitHub {
     owner = "pop-os";
     repo = "shell";
-    rev = "21745c4a8076ad52c9ccc77ca5726f5c7b83de6c";
-    sha256 = "sha256-d6NRNbTimwtGVLhcpdFD1AuignVii/xi3YtMWzkS/v0=";
+    rev = "a317816d02dd2cb20d31aeca81bf09eccc63e370";
+    hash = "sha256-uxoeCv25ew5+NkTpsKjQqDFrqw6ZA/+iYhyCHoCb6jM=";
   };
 
   nativeBuildInputs = [ glib nodePackages.typescript gjs ];
diff --git a/pkgs/desktops/gnome/extensions/sound-output-device-chooser/default.nix b/pkgs/desktops/gnome/extensions/sound-output-device-chooser/default.nix
index cf4b916b20105..72b4ef744fb7f 100644
--- a/pkgs/desktops/gnome/extensions/sound-output-device-chooser/default.nix
+++ b/pkgs/desktops/gnome/extensions/sound-output-device-chooser/default.nix
@@ -1,19 +1,21 @@
 { lib, stdenv
 , substituteAll
 , fetchFromGitHub
+, fetchpatch
 , libpulseaudio
 , python3
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-sound-output-device-chooser";
-  version = "39";
+  # For gnome 42 support many commits not tagged yet are needed.
+  version = "unstable-2022-03-29";
 
   src = fetchFromGitHub {
     owner = "kgshank";
     repo = "gse-sound-output-device-chooser";
-    rev = version;
-    sha256 = "sha256-RFdBdpKsz2MjdzxWX4UFwah+e68dqrkvm7ql0RAZZwg=";
+    rev = "76f7f59d23f5ffcd66555c7662f43c9cc1ce4742";
+    sha256 = "sha256-iPc95LmDsYizLg45wpU+vFx/N6MR2hewSHqoRsePC/4=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/games/aisleriot/default.nix b/pkgs/desktops/gnome/games/aisleriot/default.nix
index 21e38c548e989..953a40623c0d0 100644
--- a/pkgs/desktops/gnome/games/aisleriot/default.nix
+++ b/pkgs/desktops/gnome/games/aisleriot/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchFromGitLab
 , nix-update-script
 , pkg-config
@@ -9,7 +10,6 @@
 , librsvg
 , libxml2
 , desktop-file-utils
-, pysolfc
 , guile
 , libcanberra-gtk3
 , ninja
@@ -19,14 +19,14 @@
 
 stdenv.mkDerivation rec {
   pname = "aisleriot";
-  version = "3.22.20";
+  version = "3.22.22";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "GNOME";
     repo = pname;
     rev = version;
-    sha256 = "sha256-5xFwlhT9qjtvNDQ8kfGd2BeK2KcJDzpfsEC8z4Ei3ns=";
+    sha256 = "sha256-Jr4XEj6h+gI1gNqoJ/cJ3cDBB4mSbpzvOUQkwGxkLPs=";
   };
 
   nativeBuildInputs = [
@@ -46,7 +46,6 @@ stdenv.mkDerivation rec {
     librsvg
     guile
     libcanberra-gtk3
-    pysolfc
   ];
 
   prePatch = ''
diff --git a/pkgs/desktops/gnome/games/five-or-more/default.nix b/pkgs/desktops/gnome/games/five-or-more/default.nix
index f01d137979ec1..ce532d1d5cd47 100644
--- a/pkgs/desktops/gnome/games/five-or-more/default.nix
+++ b/pkgs/desktops/gnome/games/five-or-more/default.nix
@@ -1,21 +1,46 @@
-{ lib, stdenv, fetchurl, meson, ninja, pkg-config, gnome, gtk3, wrapGAppsHook
-, librsvg, libgnome-games-support, gettext, itstool, libxml2, python3, vala }:
+{ stdenv
+, lib
+, fetchurl
+, meson
+, ninja
+, pkg-config
+, gnome
+, gtk3
+, wrapGAppsHook
+, librsvg
+, libgnome-games-support
+, gettext
+, itstool
+, libxml2
+, python3
+, vala
+}:
 
 stdenv.mkDerivation rec {
   pname = "five-or-more";
-  version = "3.32.2";
+  version = "3.32.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/five-or-more/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "19pf8wzbf3ciqf2k4bj9sddvyhckfd62x86pnqr6s8h4vn9jc6ii";
+    sha256 = "LRDXLu/esyS0R9YyrwwySW4l/BWjwB230vAMm1HQnvQ=";
   };
 
   nativeBuildInputs = [
-    meson ninja pkg-config gettext itstool libxml2 python3 wrapGAppsHook
+    meson
+    ninja
+    pkg-config
+    gettext
+    itstool
+    libxml2
+    python3
+    wrapGAppsHook
     vala
   ];
+
   buildInputs = [
-    gtk3 librsvg libgnome-games-support gnome.adwaita-icon-theme
+    gtk3
+    librsvg
+    libgnome-games-support
   ];
 
   postPatch = ''
diff --git a/pkgs/desktops/gnome/games/gnome-2048/default.nix b/pkgs/desktops/gnome/games/gnome-2048/default.nix
index 90bd99e4a7bfc..137521c8bba3a 100644
--- a/pkgs/desktops/gnome/games/gnome-2048/default.nix
+++ b/pkgs/desktops/gnome/games/gnome-2048/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchurl
+, fetchpatch
 , wrapGAppsHook
 , meson
 , vala
@@ -23,6 +24,15 @@ stdenv.mkDerivation rec {
     sha256 = "0s5fg4z5in1h39fcr69j1qc5ynmg7a8mfprk3mc3c0csq3snfwz2";
   };
 
+  patches = [
+    # Fix build with meson 0.61
+    # https://gitlab.gnome.org/GNOME/gnome-2048/-/merge_requests/21
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-2048/-/commit/194e22699f7166a016cd39ba26dd719aeecfc868.patch";
+      sha256 = "Qpn/OJJwblRm5Pi453aU2HwbrNjsf+ftmSnns/5qZ9E=";
+    })
+  ];
+
   nativeBuildInputs = [
     itstool
     meson
diff --git a/pkgs/desktops/gnome/games/gnome-chess/default.nix b/pkgs/desktops/gnome/games/gnome-chess/default.nix
index e47e77d9c0aba..5690355a0ce26 100644
--- a/pkgs/desktops/gnome/games/gnome-chess/default.nix
+++ b/pkgs/desktops/gnome/games/gnome-chess/default.nix
@@ -14,16 +14,17 @@
 , gnome
 , glib
 , gtk4
+, libadwaita
 , librsvg
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-chess";
-  version = "41.1";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-chess/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "62GYhlljlrQDOj8oo8LjAEtU6+Gzi0DWQiwXufLMF9A=";
+    sha256 = "Eq9Uk6YiBaxrt0VA8KhYQT2okolmo0boVDMLQdc7w5M=";
   };
 
   nativeBuildInputs = [
@@ -42,8 +43,8 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib
     gtk4
+    libadwaita
     librsvg
-    gnome.adwaita-icon-theme
   ];
 
   postPatch = ''
diff --git a/pkgs/desktops/gnome/games/gnome-mahjongg/default.nix b/pkgs/desktops/gnome/games/gnome-mahjongg/default.nix
index 7ef68e470e1d6..698741ba8366e 100644
--- a/pkgs/desktops/gnome/games/gnome-mahjongg/default.nix
+++ b/pkgs/desktops/gnome/games/gnome-mahjongg/default.nix
@@ -1,6 +1,20 @@
-{ lib, stdenv, fetchurl, pkg-config, gnome, gtk3, wrapGAppsHook
-, librsvg, gettext, itstool, libxml2
-, meson, ninja, glib, vala, desktop-file-utils
+{ stdenv
+, lib
+, fetchurl
+, fetchpatch
+, pkg-config
+, gnome
+, gtk3
+, wrapGAppsHook
+, librsvg
+, gettext
+, itstool
+, libxml2
+, meson
+, ninja
+, glib
+, vala
+, desktop-file-utils
 }:
 
 stdenv.mkDerivation rec {
@@ -12,12 +26,30 @@ stdenv.mkDerivation rec {
     sha256 = "144ia3zn9rhwa1xbdkvsz6m0dsysl6mxvqw9bnrlh845hmyy9cfj";
   };
 
+  patches = [
+    # Fix build with meson 0.61
+    # data/meson.build:24:0: ERROR: Function does not take positional arguments.
+    # data/meson.build:45:0: ERROR: Function does not take positional arguments.
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-mahjongg/-/commit/a2037b0747163601a5d5b57856d037eecf3a4db7.patch";
+      sha256 = "Wcder6Y9H6c1f8I+IPDvST3umaCU21HgxfXn809JDz0=";
+    })
+  ];
+
   nativeBuildInputs = [
-    meson ninja vala desktop-file-utils
-    pkg-config gnome.adwaita-icon-theme
-    libxml2 itstool gettext wrapGAppsHook
+    meson
+    ninja
+    vala
+    desktop-file-utils
+    pkg-config
+    gnome.adwaita-icon-theme
+    libxml2
+    itstool
+    gettext
+    wrapGAppsHook
     glib # for glib-compile-schemas
   ];
+
   buildInputs = [
     glib
     gtk3
diff --git a/pkgs/desktops/gnome/games/gnome-sudoku/default.nix b/pkgs/desktops/gnome/games/gnome-sudoku/default.nix
index 1431a61794939..87e7c467d04c4 100644
--- a/pkgs/desktops/gnome/games/gnome-sudoku/default.nix
+++ b/pkgs/desktops/gnome/games/gnome-sudoku/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-sudoku";
-  version = "40.2";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-sudoku/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "NhIFMePHE5WB6jgA+/48KzFpTEQBRezIl6w05WLXVKM=";
+    sha256 = "HS603bgCa0Q2Rc81hbjfEkTjgo7hwHUYBSslmeHFwo8=";
   };
 
   nativeBuildInputs = [ meson ninja vala pkg-config gobject-introspection gettext itstool libxml2 python3 desktop-file-utils wrapGAppsHook ];
diff --git a/pkgs/desktops/gnome/games/gnome-tetravex/default.nix b/pkgs/desktops/gnome/games/gnome-tetravex/default.nix
index a1cdf98d9a155..6578bf7c0589e 100644
--- a/pkgs/desktops/gnome/games/gnome-tetravex/default.nix
+++ b/pkgs/desktops/gnome/games/gnome-tetravex/default.nix
@@ -1,6 +1,19 @@
-{ lib, stdenv, fetchurl, pkg-config, gnome, gtk3, wrapGAppsHook
-, libxml2, gettext, itstool, meson, ninja, python3
-, vala, desktop-file-utils
+{ stdenv
+, lib
+, fetchurl
+, fetchpatch
+, pkg-config
+, gnome
+, gtk3
+, wrapGAppsHook
+, libxml2
+, gettext
+, itstool
+, meson
+, ninja
+, python3
+, vala
+, desktop-file-utils
 }:
 
 stdenv.mkDerivation rec {
@@ -12,14 +25,31 @@ stdenv.mkDerivation rec {
     sha256 = "06wihvqp2p52zd2dnknsc3rii69qib4a30yp15h558xrg44z3k8z";
   };
 
-  passthru = {
-    updateScript = gnome.updateScript { packageName = "gnome-tetravex"; attrPath = "gnome.gnome-tetravex"; };
-  };
+  patches = [
+    # Fix build with meson 0.61
+    # data/meson.build:37:0: ERROR: Function does not take positional arguments.
+    # data/meson.build:59:0: ERROR: Function does not take positional arguments.
+    # Taken from https://gitlab.gnome.org/GNOME/gnome-tetravex/-/merge_requests/20
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-tetravex/-/commit/80912d06f5e588f6aca966fa516103275e58d94e.patch";
+      sha256 = "2+nFw5sJzbInibKaq3J10Ufbl3CnZWlgnUtzRTZ5G0I=";
+    })
+  ];
 
   nativeBuildInputs = [
-    wrapGAppsHook itstool libxml2 gnome.adwaita-icon-theme
-    pkg-config gettext meson ninja python3 vala desktop-file-utils
+    wrapGAppsHook
+    itstool
+    libxml2
+    gnome.adwaita-icon-theme
+    pkg-config
+    gettext
+    meson
+    ninja
+    python3
+    vala
+    desktop-file-utils
   ];
+
   buildInputs = [
     gtk3
   ];
@@ -29,6 +59,13 @@ stdenv.mkDerivation rec {
     patchShebangs build-aux/meson_post_install.py
   '';
 
+  passthru = {
+    updateScript = gnome.updateScript {
+      packageName = "gnome-tetravex";
+      attrPath = "gnome.gnome-tetravex";
+    };
+  };
+
   meta = with lib; {
     homepage = "https://wiki.gnome.org/Apps/Tetravex";
     description = "Complete the puzzle by matching numbered tiles";
diff --git a/pkgs/desktops/gnome/games/hitori/default.nix b/pkgs/desktops/gnome/games/hitori/default.nix
index 15759c6819840..bb210c2fffb15 100644
--- a/pkgs/desktops/gnome/games/hitori/default.nix
+++ b/pkgs/desktops/gnome/games/hitori/default.nix
@@ -1,5 +1,7 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
+, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -25,6 +27,15 @@ stdenv.mkDerivation rec {
     sha256 = "99cQPLBjP7ATcwExqYw646IWK5+5SZ/H8ZUS1YG/ZWk=";
   };
 
+  patches = [
+    # Fix build with meson 0.61
+    # data/meson.build:3:0: ERROR: Function does not take positional arguments.
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/hitori/-/commit/d25728e122f1d7b985029a5ba96810c3e57c27f7.patch";
+      sha256 = "LwBpFFr+vLacLTpto7PwvO1p2lku6epyEv9YZvUvW+g=";
+    })
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/desktops/gnome/games/tali/default.nix b/pkgs/desktops/gnome/games/tali/default.nix
index 936fe62c259b3..c12853e5daee5 100644
--- a/pkgs/desktops/gnome/games/tali/default.nix
+++ b/pkgs/desktops/gnome/games/tali/default.nix
@@ -20,11 +20,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tali";
-  version = "40.5";
+  version = "40.6";
 
   src = fetchurl {
     url = "mirror://gnome/sources/tali/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "Y6CcVeRqGhl1a/XglXyvmUMA+tq9umvaYC5mjfzfcSI=";
+    sha256 = "g/ugR+3s0ZbTBxmnDi9NCYa7Jswr1flVoKkgDqY/BhI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/misc/gitg/default.nix b/pkgs/desktops/gnome/misc/gitg/default.nix
index e29464556ec06..31e6bd7f2ed19 100644
--- a/pkgs/desktops/gnome/misc/gitg/default.nix
+++ b/pkgs/desktops/gnome/misc/gitg/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchurl
+, fetchpatch
 , vala
 , gettext
 , pkg-config
@@ -36,6 +37,15 @@ stdenv.mkDerivation rec {
     sha256 = "f7Ybn7EPuqVI0j1wZbq9cq1j5iHeVYQMBlzm45hsRik=";
   };
 
+  patches = [
+    # Fix build with meson 0.61
+    # data/meson.build:8:5: ERROR: Function does not take positional arguments.
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gitg/-/commit/1978973b12848741b08695ec2020bac98584d636.patch";
+      sha256 = "sha256-RzaGPGGiKMgjy0waFqt48rV2yWBGZgC3kHehhVhxktk=";
+    })
+  ];
+
   nativeBuildInputs = [
     gobject-introspection
     gettext
diff --git a/pkgs/desktops/gnome/misc/gnome-applets/default.nix b/pkgs/desktops/gnome/misc/gnome-applets/default.nix
index 2cdafcc23b301..a03b356c21f35 100644
--- a/pkgs/desktops/gnome/misc/gnome-applets/default.nix
+++ b/pkgs/desktops/gnome/misc/gnome-applets/default.nix
@@ -23,11 +23,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-applets";
-  version = "3.42.0";
+  version = "3.44.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "/RaXR7kv7/Rs05/mLyPd+WZ8EAaPRigDOF0TjvxIedQ=";
+    sha256 = "MDlifKknGeSAWH1yT0aXEJw9Em7BUPFPOy4Gkk2576c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/misc/gnome-flashback/default.nix b/pkgs/desktops/gnome/misc/gnome-flashback/default.nix
index 9e796670aa02b..4401915d40ba1 100644
--- a/pkgs/desktops/gnome/misc/gnome-flashback/default.nix
+++ b/pkgs/desktops/gnome/misc/gnome-flashback/default.nix
@@ -1,9 +1,10 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , autoreconfHook
 , fetchurl
 , gettext
 , glib
-, gnome-bluetooth
+, gnome-bluetooth_1_0
 , gnome-desktop
 , gnome-panel
 , gnome-session
@@ -30,7 +31,7 @@
 }:
 let
   pname = "gnome-flashback";
-  version = "3.42.1";
+  version = "3.44.0";
 
   # From data/sessions/Makefile.am
   requiredComponentsCommon = enableGnomePanel:
@@ -61,7 +62,7 @@ let
 
     src = fetchurl {
       url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz";
-      sha256 = "sha256:0kl4m05whm03m2v0y3jd69lghkggn8s0hxdhvchcas7jmhh940n8";
+      sha256 = "sha256-HfCDgSfGJG7s2J0cUP+I/IKr9t47MGjlLd5JWkK9VQo=";
     };
 
     # make .desktop Execs absolute
@@ -94,7 +95,7 @@ let
 
     buildInputs = [
       glib
-      gnome-bluetooth
+      gnome-bluetooth_1_0
       gnome-desktop
       gsettings-desktop-schemas
       gtk3
diff --git a/pkgs/desktops/gnome/misc/gnome-panel/default.nix b/pkgs/desktops/gnome/misc/gnome-panel/default.nix
index aa472230e9cd9..0b107f23d78d1 100644
--- a/pkgs/desktops/gnome/misc/gnome-panel/default.nix
+++ b/pkgs/desktops/gnome/misc/gnome-panel/default.nix
@@ -1,9 +1,12 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
+, fetchpatch
 , autoreconfHook
 , dconf
 , evolution-data-server
 , gdm
+, geocode-glib
 , gettext
 , glib
 , gnome-desktop
@@ -23,13 +26,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-panel";
-  version = "3.42.0";
+  version = "3.44.0";
 
   outputs = [ "out" "dev" "man" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    hash = "sha256-rqjA78LtuiDpetRpUXnNCiU45kwpBHAsyMWU6OCJhwM=";
+    hash = "sha256-mWVfddAxh2wTDtI8TaIsCZ57zEBIsCVaPDo7vHh7Mao=";
   };
 
   patches = [
@@ -37,6 +40,13 @@ stdenv.mkDerivation rec {
     # instead of gnome-panel’s libdir so that the NixOS module can make gnome-panel
     # load modules from other packages as well.
     ./modulesdir-env-var.patch
+
+    # Add missing geocode-glib-1.0 dependency
+    # https://gitlab.gnome.org/GNOME/gnome-panel/-/merge_requests/49
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/f58a43ec4649a25f1a762b36e1401b81cd2b214b.patch";
+      sha256 = "sha256-DFqaNUjkLh4xd81qgQpl+568eUZeWyF8LxdZoTgMfCQ=";
+    })
   ];
 
   # make .desktop Exec absolute
@@ -69,6 +79,7 @@ stdenv.mkDerivation rec {
     dconf
     evolution-data-server
     gdm
+    geocode-glib
     glib
     gnome-desktop
     gnome-menus
diff --git a/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix b/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix
index 0725af81c0a1d..5643741aceb47 100644
--- a/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix
+++ b/pkgs/desktops/gnome/misc/gnome-tweaks/default.nix
@@ -6,6 +6,7 @@
 , gettext
 , glib
 , gnome
+, gnome-desktop
 , gobject-introspection
 , gsettings-desktop-schemas
 , gtk3
@@ -20,13 +21,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "gnome-tweaks";
-  version = "40.10";
+  version = "42.beta";
   format = "other";
   strictDeps = false; # https://github.com/NixOS/nixpkgs/issues/56943
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "z/07M6OZV3+7RJHOj70C9UxZJPEFbzARTo1CApDvI/w=";
+    sha256 = "g/RMwdyK3HcM2tcXtAPLmmzDwN5Q445vHmeLQ0Aa2Gg=";
   };
 
   nativeBuildInputs = [
@@ -43,7 +44,7 @@ python3Packages.buildPythonApplication rec {
   buildInputs = [
     gdk-pixbuf
     glib
-    gnome.gnome-desktop
+    gnome-desktop
     gnome.gnome-settings-daemon
     gnome.gnome-shell
     # Makes it possible to select user themes through the `user-theme` extension
diff --git a/pkgs/desktops/gnome/misc/gpaste/default.nix b/pkgs/desktops/gnome/misc/gpaste/default.nix
index f593fbbd65351..ba42a80283697 100644
--- a/pkgs/desktops/gnome/misc/gpaste/default.nix
+++ b/pkgs/desktops/gnome/misc/gpaste/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchFromGitHub
 , fetchpatch
 , appstream-glib
@@ -7,6 +8,8 @@
 , glib
 , gobject-introspection
 , gtk3
+, gtk4
+, libadwaita
 , meson
 , mutter
 , ninja
@@ -17,14 +20,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.42.6";
+  version = "42.1";
   pname = "gpaste";
 
   src = fetchFromGitHub {
     owner = "Keruspe";
     repo = "GPaste";
     rev = "v${version}";
-    sha256 = "sha256-dCeNWdHj3bBGJR1VpJtQjSn601Vdl3f9FjHAPB2wuhE=";
+    sha256 = "sha256-A5NZ4NiPVZUr7vPdDuNywLsLrejZ4SCg7+3//ZNRmLY=";
   };
 
   patches = [
@@ -38,7 +41,7 @@ stdenv.mkDerivation rec {
       --subst-var-by typelibPath "${placeholder "out"}/lib/girepository-1.0"
     substituteInPlace src/gnome-shell/prefs.js \
       --subst-var-by typelibPath "${placeholder "out"}/lib/girepository-1.0"
-    substituteInPlace src/libgpaste/settings/gpaste-settings.c \
+    substituteInPlace src/libgpaste/gpaste/gpaste-settings.c \
       --subst-var-by gschemasCompiled ${glib.makeSchemaPath (placeholder "out") "${pname}-${version}"}
   '';
 
@@ -57,6 +60,8 @@ stdenv.mkDerivation rec {
     gjs
     glib
     gtk3
+    gtk4
+    libadwaita
     mutter
     pango
   ];
diff --git a/pkgs/desktops/gnome/misc/gpaste/fix-paths.patch b/pkgs/desktops/gnome/misc/gpaste/fix-paths.patch
index 46e30ce2e2cb1..2ec807b61c055 100644
--- a/pkgs/desktops/gnome/misc/gpaste/fix-paths.patch
+++ b/pkgs/desktops/gnome/misc/gpaste/fix-paths.patch
@@ -1,3 +1,5 @@
+diff --git a/src/gnome-shell/extension.js b/src/gnome-shell/extension.js
+index c8773fd6..9efbed67 100644
 --- a/src/gnome-shell/extension.js
 +++ b/src/gnome-shell/extension.js
 @@ -6,6 +6,8 @@
@@ -8,21 +10,25 @@
 +
  imports.gi.versions.Clutter = Config.LIBMUTTER_API_VERSION;
  imports.gi.versions.GLib = '2.0';
- imports.gi.versions.GPaste = '1.0';
+ imports.gi.versions.GPaste = '2';
+diff --git a/src/gnome-shell/prefs.js b/src/gnome-shell/prefs.js
+index 32244ab2..74b85572 100644
 --- a/src/gnome-shell/prefs.js
 +++ b/src/gnome-shell/prefs.js
 @@ -6,6 +6,8 @@
  
- const Gettext = imports.gettext;
+ imports.gi.versions.GPasteGtk = '4';
  
 +imports.gi.GIRepository.Repository.prepend_search_path('@typelibPath@');
 +
- //const { GPaste } = imports.gi;
- 
  const ExtensionUtils = imports.misc.extensionUtils;
---- a/src/libgpaste/settings/gpaste-settings.c
-+++ b/src/libgpaste/settings/gpaste-settings.c
-@@ -1013,7 +1013,11 @@
+ 
+ const { GPasteGtk } = imports.gi;
+diff --git a/src/libgpaste/gpaste/gpaste-settings.c b/src/libgpaste/gpaste/gpaste-settings.c
+index 7e53eb64..57c399fc 100644
+--- a/src/libgpaste/gpaste/gpaste-settings.c
++++ b/src/libgpaste/gpaste/gpaste-settings.c
+@@ -1013,7 +1013,11 @@ create_g_settings (void)
      }
      else
      {
diff --git a/pkgs/desktops/gnome/misc/metacity/default.nix b/pkgs/desktops/gnome/misc/metacity/default.nix
index 8dcef7922659d..ef3e31f1032f1 100644
--- a/pkgs/desktops/gnome/misc/metacity/default.nix
+++ b/pkgs/desktops/gnome/misc/metacity/default.nix
@@ -18,11 +18,11 @@
 
 stdenv.mkDerivation rec {
   pname = "metacity";
-  version = "3.42.0";
+  version = "3.44.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "2J1nnc/tm17vGPBuLcszp6tUPVOzWPqJzmVZPCMe7rw=";
+    sha256 = "GcPF150hcfRbqg9jLMiZX4YHvxIxoWAUQ5usm6Flp8A=";
   };
 
   patches = [
diff --git a/pkgs/desktops/lxqt/lxqt-build-tools/default.nix b/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
index 15bc1941af3f4..5d5134d38d29e 100644
--- a/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
+++ b/pkgs/desktops/lxqt/lxqt-build-tools/default.nix
@@ -22,11 +22,16 @@ mkDerivation rec {
     sha256 = "1hb04zgpalxv6da3myf1dxsbjix15dczzfq8a24g5dg2zfhwpx21";
   };
 
-  # Nix clang on darwin identifies as 'Clang', not 'AppleClang'
-  # Without this, dependants fail to link.
   postPatch = ''
+    # Nix clang on darwin identifies as 'Clang', not 'AppleClang'
+    # Without this, dependants fail to link.
     substituteInPlace cmake/modules/LXQtCompilerSettings.cmake \
       --replace AppleClang Clang
+
+    # GLib 2.72 moved the file from gio-unix-2.0 to gio-2.0.
+    # https://github.com/lxqt/lxqt-build-tools/pull/74
+    substituteInPlace cmake/find-modules/FindGLIB.cmake \
+      --replace gio/gunixconnection.h gio/gunixfdlist.h
   '';
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/mate/mate-backgrounds/default.nix b/pkgs/desktops/mate/mate-backgrounds/default.nix
index 9384d49e2a3d6..3076a7170cbf5 100644
--- a/pkgs/desktops/mate/mate-backgrounds/default.nix
+++ b/pkgs/desktops/mate/mate-backgrounds/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, meson, ninja, gettext, mateUpdateScript }:
+{ lib, stdenv, fetchurl, fetchpatch, meson, ninja, gettext, mateUpdateScript }:
 
 stdenv.mkDerivation rec {
   pname = "mate-backgrounds";
@@ -9,6 +9,15 @@ stdenv.mkDerivation rec {
     sha256 = "0379hngy3ap1r5kmqvmzs9r710k2c9nal2ps3hq765df4ir15j8d";
   };
 
+  patches = [
+    # Fix build with meson 0.61, can be removed on next update.
+    # https://github.com/mate-desktop/mate-backgrounds/pull/39
+    (fetchpatch {
+      url = "https://github.com/mate-desktop/mate-backgrounds/commit/0096e237d420e6247a75a1c6940a818e309ac2a7.patch";
+      sha256 = "HEF8VWunFO+NCG18fZA7lbE2l8pc6Z3jcD+rSZ1Jsqg=";
+    })
+  ];
+
   nativeBuildInputs = [
     gettext
     meson
diff --git a/pkgs/desktops/pantheon/apps/elementary-code/default.nix b/pkgs/desktops/pantheon/apps/elementary-code/default.nix
index f1cd335459e70..25acfc28062b4 100644
--- a/pkgs/desktops/pantheon/apps/elementary-code/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-code/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , nix-update-script
 , appstream
 , desktop-file-utils
@@ -28,24 +27,15 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-code";
-  version = "6.1.0";
+  version = "6.2.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = "code";
     rev = version;
-    sha256 = "sha256-AXmMcPj2hf33G5v3TUg+eZwaKOdVlRvoVXglMJFHRjw=";
+    sha256 = "sha256-QhJNRhYgGbPMd7B1X3kG+pnC/lGUoF7gc7O1PdG49LI=";
   };
 
-  patches = [
-    # Fix build with meson 0.61
-    # https://github.com/elementary/code/pull/1165
-    (fetchpatch {
-      url = "https://github.com/elementary/code/commit/a2607cce3a6b1bb62d02456456d3cbc3c6530bb0.patch";
-      sha256 = "sha256-VKR83IOUYsQhBRlU9JUTlMJtXWv/AyG4wDsjMU2vmU8=";
-    })
-  ];
-
   nativeBuildInputs = [
     appstream
     desktop-file-utils
diff --git a/pkgs/desktops/pantheon/apps/elementary-dock/default.nix b/pkgs/desktops/pantheon/apps/elementary-dock/default.nix
index 5aa61062a8f6f..d9cd7f184943c 100644
--- a/pkgs/desktops/pantheon/apps/elementary-dock/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-dock/default.nix
@@ -68,6 +68,14 @@ stdenv.mkDerivation rec {
     pango
   ];
 
+  postInstall = ''
+    # elementary/dock/master is missing a Meson post
+    # install script that does this. This has been
+    # resolved after the dock rewrite (the `main` branch).
+    # https://github.com/elementary/default-settings/issues/267
+    glib-compile-schemas $out/share/glib-2.0/schemas
+  '';
+
   meta = with lib; {
     description = "Elegant, simple, clean dock";
     homepage = "https://github.com/elementary/dock";
diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix
index 29192a4dd80a6..ea65a09224f5a 100644
--- a/pkgs/desktops/pantheon/default.nix
+++ b/pkgs/desktops/pantheon/default.nix
@@ -83,10 +83,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   epiphany = pkgs.epiphany.override { withPantheon = true; };
 
-  evince = pkgs.evince.override { withPantheon = true; };
-
-  file-roller = pkgs.gnome.file-roller.override { withPantheon = true; };
-
   sideload = callPackage ./apps/sideload { };
 
   #### DESKTOP
@@ -109,12 +105,10 @@ lib.makeScope pkgs.newScope (self: with self; {
     inherit (gnome) file-roller;
   };
 
-  gala = callPackage ./desktop/gala {
-    inherit (gnome) gnome-desktop;
-  };
+  gala = callPackage ./desktop/gala { };
 
   gnome-bluetooth-contract = callPackage ./desktop/gnome-bluetooth-contract {
-    inherit (gnome) gnome-bluetooth;
+    inherit (gnome) gnome-bluetooth_1_0;
   };
 
   wingpanel = callPackage ./desktop/wingpanel { };
@@ -199,9 +193,7 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   switchboard-plug-onlineaccounts = callPackage ./apps/switchboard-plugs/onlineaccounts { };
 
-  switchboard-plug-pantheon-shell = callPackage ./apps/switchboard-plugs/pantheon-shell {
-    inherit (gnome) gnome-desktop;
-  };
+  switchboard-plug-pantheon-shell = callPackage ./apps/switchboard-plugs/pantheon-shell { };
 
   switchboard-plug-power = callPackage ./apps/switchboard-plugs/power { };
 
@@ -234,7 +226,7 @@ lib.makeScope pkgs.newScope (self: with self; {
   # Please call these packages in pkgs/top-level/all-packages.nix instead of this file.
   # https://github.com/NixOS/nixpkgs/issues/115222#issuecomment-906868654
 
-}) // lib.optionalAttrs (config.allowAliases or true) {
+}) // lib.optionalAttrs config.allowAliases {
 
   ### ALIASES
 
@@ -246,8 +238,12 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   elementary-screenshot-tool = throw "The ‘pantheon.elementary-screenshot-tool’ alias was removed on 2022-02-02, please use ‘pantheon.elementary-screenshot’ directly."; # added 2021-07-21
 
+  evince = pkgs.gnome.evince; # added 2022-03-18
+
   extra-elementary-contracts = throw "extra-elementary-contracts has been removed as all contracts have been upstreamed."; # added 2021-12-01
 
+  file-roller = pkgs.gnome.file-roller; # added 2022-03-12
+
   notes-up = throw "The ‘pantheon.notes-up’ alias was removed on 2022-02-02, please use ‘pkgs.notes-up’ directly."; # added 2021-12-18
 
 }
diff --git a/pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/default.nix b/pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/default.nix
index e1a25eea4a635..6df583c2ce6ab 100644
--- a/pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/default.nix
+++ b/pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/default.nix
@@ -3,7 +3,7 @@
 , fetchFromGitHub
 , unstableGitUpdater
 , substituteAll
-, gnome-bluetooth
+, gnome-bluetooth_1_0
 }:
 
 stdenv.mkDerivation rec {
@@ -20,7 +20,9 @@ stdenv.mkDerivation rec {
   patches = [
     (substituteAll {
       src = ./exec-path.patch;
-      gnome_bluetooth = gnome-bluetooth;
+      # sendto device selection is removed in gnome-bluetooth 42
+      # https://github.com/elementary/gnome-bluetooth-contract/issues/1
+      gnome_bluetooth = gnome-bluetooth_1_0;
     })
   ];
 
diff --git a/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix b/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix
index ecd28b496da3a..cfa58c0078ea4 100644
--- a/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix
+++ b/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix
@@ -12,13 +12,13 @@
 
 mkDerivation rec {
   pname = "bismuth";
-  version = "2.3.0";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "Bismuth-Forge";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-b+dlBv1M4//oeCGM2qrQ3s6z2yLql6eQWNqId3JB3Z4=";
+    sha256 = "sha256-6kSqZtJijQBqvYcyAoSRLl/RxgUubst2SJw/adiBIj4=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix
index 54534f63f7d1c..87f89330afe0d 100644
--- a/pkgs/desktops/plasma-5/default.nix
+++ b/pkgs/desktops/plasma-5/default.nix
@@ -166,7 +166,7 @@ let
         parachute = callPackage ./3rdparty/kwin/scripts/parachute.nix { };
       };
 
-    } // lib.optionalAttrs (config.allowAliases or true) {
+    } // lib.optionalAttrs config.allowAliases {
       ksysguard = throw "ksysguard has been replaced with plasma-systemmonitor";
       plasma-phone-components = throw "'plasma-phone-components' has been renamed to/replaced by 'plasma-mobile'";
     };
diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh
index f517cc6371f2f..c7b7599c31955 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.24.3/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.24.4/ -A '*.tar.xz' )
diff --git a/pkgs/desktops/plasma-5/kscreen.nix b/pkgs/desktops/plasma-5/kscreen.nix
index 36eea905739e1..49f77fc5ff8c9 100644
--- a/pkgs/desktops/plasma-5/kscreen.nix
+++ b/pkgs/desktops/plasma-5/kscreen.nix
@@ -3,7 +3,7 @@
   extra-cmake-modules,
   kconfig, kcmutils, kconfigwidgets, kdbusaddons, kglobalaccel, ki18n,
   kwidgetsaddons, kxmlgui, libkscreen, qtdeclarative, qtgraphicaleffects, qtsensors,
-  kwindowsystem, kdeclarative, plasma-framework
+  kwindowsystem, kdeclarative, plasma-framework, qtx11extras
 }:
 
 mkDerivation {
@@ -12,6 +12,6 @@ mkDerivation {
   buildInputs = [
     kconfig kcmutils kconfigwidgets kdbusaddons kglobalaccel ki18n
     kwidgetsaddons kxmlgui libkscreen qtdeclarative qtgraphicaleffects qtsensors
-    kwindowsystem kdeclarative plasma-framework
+    kwindowsystem kdeclarative plasma-framework qtx11extras
   ];
 }
diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix
index e98a769f60fe1..fc9e97c7f6860 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/pkgs/desktops/plasma-5/srcs.nix
@@ -4,427 +4,427 @@
 
 {
   bluedevil = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/bluedevil-5.24.3.tar.xz";
-      sha256 = "1hlyqhn14yq7960zfjwjygkpkvbmrlsanm1g1wrr7dwbmrp5dlcx";
-      name = "bluedevil-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/bluedevil-5.24.4.tar.xz";
+      sha256 = "1mph04r6l9bxml1brwifbnk6lkjxkzxx75b3g3myzijjv6f8wxw3";
+      name = "bluedevil-5.24.4.tar.xz";
     };
   };
   breeze = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/breeze-5.24.3.tar.xz";
-      sha256 = "0h19m6wmhjw8v6ys47kgzcb0h2nb9w2fcjzypnvmkvbjbkjr53sb";
-      name = "breeze-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/breeze-5.24.4.tar.xz";
+      sha256 = "01cqji6figwb95drcq9vrqlkv7xmpn2csbi2mvixbcdawqhywsg3";
+      name = "breeze-5.24.4.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/breeze-grub-5.24.3.tar.xz";
-      sha256 = "15cpmqp7klp4dhcil3i78iff4kjasfx273v36ml8y05hm8w0igjq";
-      name = "breeze-grub-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/breeze-grub-5.24.4.tar.xz";
+      sha256 = "1p154g2x1g00iam2gkv7pml1r0b91b21s8fgrfrqg5pj45ysp5bc";
+      name = "breeze-grub-5.24.4.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/breeze-gtk-5.24.3.tar.xz";
-      sha256 = "1922s17mh4ifaqbf4b7p6yj8pwd6z3qwpbf21j1fqhmdk4pvn499";
-      name = "breeze-gtk-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/breeze-gtk-5.24.4.tar.xz";
+      sha256 = "0s51azc2xmh7agbqlm9rn39c5qh6rfwyc2dq4sfv6vspm1883zmj";
+      name = "breeze-gtk-5.24.4.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/breeze-plymouth-5.24.3.tar.xz";
-      sha256 = "0nkf0ll4hcawmkd7nrh8gcf6hhbl0ajxiz2azf9njab9pv2lcz1j";
-      name = "breeze-plymouth-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/breeze-plymouth-5.24.4.tar.xz";
+      sha256 = "038pglghl40nyq6lzydijy3wnr5agvfzddjxrf6lc9m6qapqd37v";
+      name = "breeze-plymouth-5.24.4.tar.xz";
     };
   };
   discover = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/discover-5.24.3.tar.xz";
-      sha256 = "097m5njz86vi4innap1mvizas60r1qcrdzdgsid1hd6p5a92rwca";
-      name = "discover-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/discover-5.24.4.tar.xz";
+      sha256 = "0smhys51chvjh2ij4mk03cfnq09n8cq22iag1ld9j2125l5iwa99";
+      name = "discover-5.24.4.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/drkonqi-5.24.3.tar.xz";
-      sha256 = "1n6psvr3washk796zrc8ag011fwy677h2mdkw9ijx8dhrk80br0k";
-      name = "drkonqi-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/drkonqi-5.24.4.tar.xz";
+      sha256 = "1yn7yj8nwnxm1s0si2353wl17jv7c7l5dc7833ndl56phv2999x0";
+      name = "drkonqi-5.24.4.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/kactivitymanagerd-5.24.3.tar.xz";
-      sha256 = "0qxf3j36dj1yklnl27znsi9qdjmn6nr779cnzms38x76dq9kxblw";
-      name = "kactivitymanagerd-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/kactivitymanagerd-5.24.4.tar.xz";
+      sha256 = "0aamfgc4bdrysq7ps134pf5v4bgiwrsxffi0nb6d8zazswgkfa41";
+      name = "kactivitymanagerd-5.24.4.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/kde-cli-tools-5.24.3.tar.xz";
-      sha256 = "00z8yxic5ibk05x8c25dsc4ijvk6yv0aw1iyfhnpnzmdwdydlr7y";
-      name = "kde-cli-tools-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/kde-cli-tools-5.24.4.tar.xz";
+      sha256 = "1w2rhz32xaqhmq5lyvfmjrbssqf9f35k5fk02f05fz79yk9wir7z";
+      name = "kde-cli-tools-5.24.4.tar.xz";
     };
   };
-  kdecoration = {
-    version = "5.24.3";
+  kde-gtk-config = {
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/kdecoration-5.24.3.tar.xz";
-      sha256 = "0dpnaf5myn1h368cnkq9g6xfm1sqmyam6bxyidbd5j3dyy1kvz5v";
-      name = "kdecoration-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/kde-gtk-config-5.24.4.tar.xz";
+      sha256 = "02spbx2rniiyvzj4qb6lgzj0f83k4vq53fk4i1m45438z7aslymi";
+      name = "kde-gtk-config-5.24.4.tar.xz";
     };
   };
-  kde-gtk-config = {
-    version = "5.24.3";
+  kdecoration = {
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/kde-gtk-config-5.24.3.tar.xz";
-      sha256 = "0p50kf34csdrgck1y09d3lnz0r9ly0ca4778achrc59yr4qcsjzv";
-      name = "kde-gtk-config-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/kdecoration-5.24.4.tar.xz";
+      sha256 = "05ccyb314mxf0d4ivj71l9lh13s3fqr7f4d2rmg6qshsql39569c";
+      name = "kdecoration-5.24.4.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/kdeplasma-addons-5.24.3.tar.xz";
-      sha256 = "0g7jcvd6abnlzz9ibnc7phzm58pn6dv3795w4hhy47738jkhizl6";
-      name = "kdeplasma-addons-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/kdeplasma-addons-5.24.4.tar.xz";
+      sha256 = "03b8d3kdzwpyqrqkmpswryksrhav3mwcnbyzdc3g2kpk2qnx68fp";
+      name = "kdeplasma-addons-5.24.4.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/kgamma5-5.24.3.tar.xz";
-      sha256 = "0rwqvz14a50s43p74n19v1zzd9y8f2lylfappxmhrdyxmbgkpnk6";
-      name = "kgamma5-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/kgamma5-5.24.4.tar.xz";
+      sha256 = "0z1zrw5id455idjbaqracs1vcwgs93an7w27ggfqs6i8nabrivbk";
+      name = "kgamma5-5.24.4.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/khotkeys-5.24.3.tar.xz";
-      sha256 = "1jxg91rpz09sh13fz270pxfw40qdy6p50j5xw7cpnyqlk2l5zx0p";
-      name = "khotkeys-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/khotkeys-5.24.4.tar.xz";
+      sha256 = "033dgz8wbsw2nj133hnmygz1izmcpxdn80jbjbm66nhbbyq7bb2s";
+      name = "khotkeys-5.24.4.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/kinfocenter-5.24.3.tar.xz";
-      sha256 = "08z2044bl0v4ydlx2chv849y6m4py0yd4lnw76sycd14lnvsrxfj";
-      name = "kinfocenter-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/kinfocenter-5.24.4.tar.xz";
+      sha256 = "0f5q6ajyd794p1z9j3il8sajlqkdcnf06xq4612qxdp49nb88nyw";
+      name = "kinfocenter-5.24.4.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/kmenuedit-5.24.3.tar.xz";
-      sha256 = "1yivrdix4jiycfbw9g6pzx8zkmdq4g8g51ndc7sy3r0qxzgx1icb";
-      name = "kmenuedit-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/kmenuedit-5.24.4.tar.xz";
+      sha256 = "0ril8jxqkaavc4bkpksnyxn3bww7b81gnp9bnb17acrr2nd7wyhl";
+      name = "kmenuedit-5.24.4.tar.xz";
     };
   };
   kscreen = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/kscreen-5.24.3.tar.xz";
-      sha256 = "1wjbd33h8473v8i5qxdccxrsv04v6jyd7scrqdxqaln9n8ylp08f";
-      name = "kscreen-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/kscreen-5.24.4.tar.xz";
+      sha256 = "0shvhymdfxw1gz49y1s79zik9kkg5qh0mqdj6dx0s6r3w6vysj1h";
+      name = "kscreen-5.24.4.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/kscreenlocker-5.24.3.tar.xz";
-      sha256 = "1dh3z55hwakj11ffn2fm79vnlw7gcg1nkcxbxvcdcpq84ahpq583";
-      name = "kscreenlocker-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/kscreenlocker-5.24.4.tar.xz";
+      sha256 = "1xzc80awsapsg65kk21ssp7y0jb374k1w2bb7gvzj8j40rrn48pv";
+      name = "kscreenlocker-5.24.4.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/ksshaskpass-5.24.3.tar.xz";
-      sha256 = "0ivq9nyyqm1rrm6ck26jlsh8qv9q98dz5qwvcnpgpmxb3mr1dgiv";
-      name = "ksshaskpass-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/ksshaskpass-5.24.4.tar.xz";
+      sha256 = "1pa41w793dbi3rv6mm1a4xp46n80qwdpdlwhi6z4x76hjvqx9i9l";
+      name = "ksshaskpass-5.24.4.tar.xz";
     };
   };
   ksystemstats = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/ksystemstats-5.24.3.tar.xz";
-      sha256 = "03ikpd3m0qk8cb92g63i7q9c8bks7ggf1pmmig559cmg7gbknc2c";
-      name = "ksystemstats-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/ksystemstats-5.24.4.tar.xz";
+      sha256 = "1pa7xrw5ij32bm66pn72zkzz8y70fq71n4kigm9ixc1s2glkbiwd";
+      name = "ksystemstats-5.24.4.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/kwallet-pam-5.24.3.tar.xz";
-      sha256 = "0zxdrpjq8sg3qw2gfkvjs567b41labi940cq4qrix395v7251p9k";
-      name = "kwallet-pam-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/kwallet-pam-5.24.4.tar.xz";
+      sha256 = "0s6z7ds42a7kba25jd7pzylw7d2mc27xgymmdrpkg2afqanf3m4r";
+      name = "kwallet-pam-5.24.4.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/kwayland-integration-5.24.3.tar.xz";
-      sha256 = "1kq5vrrplbdxri8610h89apfz07a6xi1gnlvmr8gbsvas5zicvwz";
-      name = "kwayland-integration-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/kwayland-integration-5.24.4.tar.xz";
+      sha256 = "1cnfb81yv6m37m2kyk523skqbk5in1kpbpxq60ivjri91sm4pryj";
+      name = "kwayland-integration-5.24.4.tar.xz";
     };
   };
   kwayland-server = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/kwayland-server-5.24.3.tar.xz";
-      sha256 = "0fq61qk3cp4xg9759ylqqw5ncx9s7kayjf0bilg5m725bfhj02sn";
-      name = "kwayland-server-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/kwayland-server-5.24.4.tar.xz";
+      sha256 = "1279nqhy1qyz84dkn23rvzak8bg71hbrp09jlhv9mkjdb3bhnyfi";
+      name = "kwayland-server-5.24.4.tar.xz";
     };
   };
   kwin = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/kwin-5.24.3.tar.xz";
-      sha256 = "0szlrcsj4h4fa5yf27nmza7c4dyc0xcwdrihs05pl5qk5bivfkfq";
-      name = "kwin-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/kwin-5.24.4.tar.xz";
+      sha256 = "1qwcd6iw6yvpchiwmvq5nwsr465jmrmscf286mjrc65im4hj6572";
+      name = "kwin-5.24.4.tar.xz";
     };
   };
   kwrited = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/kwrited-5.24.3.tar.xz";
-      sha256 = "1sgd3iik647pz2zr5cpsbwm2ll8f11xyw2jv2sfxkbiiw53qaxid";
-      name = "kwrited-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/kwrited-5.24.4.tar.xz";
+      sha256 = "0j86ih4g762a94cyzilcbigh7iv04a80bqrlxm02fbqhffv01mv2";
+      name = "kwrited-5.24.4.tar.xz";
     };
   };
   layer-shell-qt = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/layer-shell-qt-5.24.3.tar.xz";
-      sha256 = "0h3xlvmgyxyzxvazgbbn0a9l14hg5d38cl9hclnwmrnpwbn0bqax";
-      name = "layer-shell-qt-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/layer-shell-qt-5.24.4.tar.xz";
+      sha256 = "03qyf6pvk36ig6ilimq02q19frdlsmrkbng2iz3d59k15zdrz5x0";
+      name = "layer-shell-qt-5.24.4.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/libkscreen-5.24.3.tar.xz";
-      sha256 = "18777lwn5j0isc347dks25731byyfdyls79lj6hnxqb6807lz1x6";
-      name = "libkscreen-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/libkscreen-5.24.4.tar.xz";
+      sha256 = "1xv7vml5lxj1lnansisfbfym35h265ggwsyjplz76aibj5nyqv81";
+      name = "libkscreen-5.24.4.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/libksysguard-5.24.3.tar.xz";
-      sha256 = "18piiy24rd5fzvp4cnhgx0d4x4m6fnxx01zm1mx0sh676g7m31hl";
-      name = "libksysguard-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/libksysguard-5.24.4.tar.xz";
+      sha256 = "00i4l2kc02wymmiqh7wam8dp4h9hvn8nsxfv258waq7pnxzjmnkn";
+      name = "libksysguard-5.24.4.tar.xz";
     };
   };
   milou = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/milou-5.24.3.tar.xz";
-      sha256 = "06xx4afym92hfpvbiqrv7mx30bdm3dhdfn8vki5zxq2k0rv0pmri";
-      name = "milou-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/milou-5.24.4.tar.xz";
+      sha256 = "0z7kmygvjzj30llwg8gpibjja2gzc09nh9pxrpy78pa1jxnas29i";
+      name = "milou-5.24.4.tar.xz";
     };
   };
   oxygen = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/oxygen-5.24.3.tar.xz";
-      sha256 = "02j0drc24mf2pfhdgzri5sdcscq1bbj4lhhmhp6bn1v74wybv381";
-      name = "oxygen-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/oxygen-5.24.4.tar.xz";
+      sha256 = "1d3sz2qc1cz9x6g04r0scvw9fmrazfn5v3iav4cn7wdkz8x06kc0";
+      name = "oxygen-5.24.4.tar.xz";
     };
   };
   plasma-browser-integration = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/plasma-browser-integration-5.24.3.tar.xz";
-      sha256 = "1msib3c8arybqbv1vfj1ijx74a34a02hn8gvjy4sf95zcl07mc20";
-      name = "plasma-browser-integration-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/plasma-browser-integration-5.24.4.tar.xz";
+      sha256 = "1havd775d4x2y36nkba2k6vdf839dspk10mxccnk2wkhdxmzfyk7";
+      name = "plasma-browser-integration-5.24.4.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/plasma-desktop-5.24.3.tar.xz";
-      sha256 = "1lwizprs6nk6nibydwkwmpi9c7c50lvg2k188pb6ddz2sb7pwgjq";
-      name = "plasma-desktop-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/plasma-desktop-5.24.4.tar.xz";
+      sha256 = "09fhqz2sp4caabr1li1shjd8l052vp4d10ci7pwsqj8f61331qmh";
+      name = "plasma-desktop-5.24.4.tar.xz";
     };
   };
   plasma-disks = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/plasma-disks-5.24.3.tar.xz";
-      sha256 = "0nklcimxyvci3xa6nc5jxbcxds4a14vkkwihgc6xfpc7xcca0wcy";
-      name = "plasma-disks-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/plasma-disks-5.24.4.tar.xz";
+      sha256 = "1mi5fp3305kjw41zhbccxyg666gcmmrvckipjhnnnfwd3gl372ng";
+      name = "plasma-disks-5.24.4.tar.xz";
     };
   };
   plasma-firewall = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/plasma-firewall-5.24.3.tar.xz";
-      sha256 = "0r7gh3asnc5lbfsp1jb33lmgcxfpjmlrqlyz41g0wv9aj9x6pwxz";
-      name = "plasma-firewall-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/plasma-firewall-5.24.4.tar.xz";
+      sha256 = "0f9g5m2ddbp2axfxqc4d92fzg6r4z1l56i6nsry6nlz6cqky3fm2";
+      name = "plasma-firewall-5.24.4.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/plasma-integration-5.24.3.tar.xz";
-      sha256 = "031w205icblf50ps7bw7wp5q4azbqpcp4bnig2wh5d1lc8xqzvvs";
-      name = "plasma-integration-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/plasma-integration-5.24.4.tar.xz";
+      sha256 = "1d2d7cmhdhmdzs91vpc2p3fg413daqhqilp8d2qbpsks5hyrkm3k";
+      name = "plasma-integration-5.24.4.tar.xz";
     };
   };
   plasma-mobile = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/plasma-mobile-5.24.3.tar.xz";
-      sha256 = "1bwmy7xvd8wmh0snqqjh9jjgawib8ks2g30w48sqxwhplhf3da58";
-      name = "plasma-mobile-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/plasma-mobile-5.24.4.tar.xz";
+      sha256 = "1hgcnb4flw224j57fxkhaiwapymq6ccjwqj8s6jgqzc3ax0py0vr";
+      name = "plasma-mobile-5.24.4.tar.xz";
     };
   };
   plasma-nano = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/plasma-nano-5.24.3.tar.xz";
-      sha256 = "13jxhfi3c3dhg7zdyfqnsii661h1am0w9dsv82dalqvwr1mw28l5";
-      name = "plasma-nano-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/plasma-nano-5.24.4.tar.xz";
+      sha256 = "1fdq4r5zlkf3qb0a47zv3apgnqs4gqqfj8pdlcmzkyn9xykzs9vw";
+      name = "plasma-nano-5.24.4.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/plasma-nm-5.24.3.tar.xz";
-      sha256 = "1z9vzj2mbvqklnjxf2izpx9s6cq097im0kz41fy4c5cjxna4xxic";
-      name = "plasma-nm-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/plasma-nm-5.24.4.tar.xz";
+      sha256 = "0bzc48vdrnd6n9qcm8ms7wrjm2yl7h9dik32arwdxx56vb7jhv08";
+      name = "plasma-nm-5.24.4.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/plasma-pa-5.24.3.tar.xz";
-      sha256 = "0n87rb04izd0ix50iy2dgj6yzzr626vhpfk76lnqr57jz6fbx3z1";
-      name = "plasma-pa-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/plasma-pa-5.24.4.tar.xz";
+      sha256 = "09fkaq2zzicgr214zi2wf7cirffm7mwh55bivvafblp1wlavkrgz";
+      name = "plasma-pa-5.24.4.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/plasma-sdk-5.24.3.tar.xz";
-      sha256 = "0g6nypqsbmsp9msixd7p25lk58zismdamkp41f5lx3cbb49x1fpr";
-      name = "plasma-sdk-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/plasma-sdk-5.24.4.tar.xz";
+      sha256 = "1zkggp9a1yz5mwwvndizwlan6wlb2fy8n940ljnhldccl91mgwzc";
+      name = "plasma-sdk-5.24.4.tar.xz";
     };
   };
   plasma-systemmonitor = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/plasma-systemmonitor-5.24.3.tar.xz";
-      sha256 = "17a3q1az4d3xpk2ifqsj6sz7r4apxy58kk2r2l14p6s6aszhqk4h";
-      name = "plasma-systemmonitor-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/plasma-systemmonitor-5.24.4.tar.xz";
+      sha256 = "0jcsmmg0asf2npl3f1nbzazz3i8m9b34q55088k8jjakwwxqbwhz";
+      name = "plasma-systemmonitor-5.24.4.tar.xz";
     };
   };
   plasma-tests = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/plasma-tests-5.24.3.tar.xz";
-      sha256 = "1x5hr465kj3dg6c335lji2lxvp7cbn86181l78qk4l75sj1ss721";
-      name = "plasma-tests-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/plasma-tests-5.24.4.tar.xz";
+      sha256 = "1ms298h9wghj9gpi7laf1dsd7s3yiycy44k4s5v4id8vfarnbs27";
+      name = "plasma-tests-5.24.4.tar.xz";
     };
   };
   plasma-thunderbolt = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/plasma-thunderbolt-5.24.3.tar.xz";
-      sha256 = "1px5vfk37ak6hj6q3ipljj2dpazdbgdsga6nbkwcfn31708c7gjj";
-      name = "plasma-thunderbolt-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/plasma-thunderbolt-5.24.4.tar.xz";
+      sha256 = "1cqabdsg8v8b00ppbabrg2gih16lf79lr5i8mqvjnc73npacvzhy";
+      name = "plasma-thunderbolt-5.24.4.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/plasma-vault-5.24.3.tar.xz";
-      sha256 = "0f5yhz7qz4bqj7mc7hv7mvh2ji82pp02c901ws5cwwsh23yrhjcd";
-      name = "plasma-vault-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/plasma-vault-5.24.4.tar.xz";
+      sha256 = "0rj9z2c52mya2fjm4bimqz5z3lj2qg764zri6bqwrgwgsjwc4s81";
+      name = "plasma-vault-5.24.4.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/plasma-workspace-5.24.3.tar.xz";
-      sha256 = "1d1a8k75q0rdbbwkx8p1i38hc6xv9kggvfm6973lh3q0pc75qk0h";
-      name = "plasma-workspace-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/plasma-workspace-5.24.4.tar.xz";
+      sha256 = "0w7cnawnpcg5zk9bycjcnc8yfz21whrhd9h2z7hizgfnj2q403jv";
+      name = "plasma-workspace-5.24.4.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/plasma-workspace-wallpapers-5.24.3.tar.xz";
-      sha256 = "0j1qqjc27grh3k02dgfb657ps11gym28lc9hzcw3qdxkf3djw9fs";
-      name = "plasma-workspace-wallpapers-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/plasma-workspace-wallpapers-5.24.4.tar.xz";
+      sha256 = "0hpg7nn5wsn56my48jk225x1qb70sgf3hf8q5swwqc1xc6xzcg14";
+      name = "plasma-workspace-wallpapers-5.24.4.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/plymouth-kcm-5.24.3.tar.xz";
-      sha256 = "196nx8h54bnnrly12zvnwl22ksr9nk2mi6g39k4xmp28agw94jv5";
-      name = "plymouth-kcm-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/plymouth-kcm-5.24.4.tar.xz";
+      sha256 = "0s5h25vyk5yzipwj91rb62xzgi6aafpwikh7ibpmmh2wn71x3amr";
+      name = "plymouth-kcm-5.24.4.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.24.3";
+    version = "1-5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/polkit-kde-agent-1-5.24.3.tar.xz";
-      sha256 = "1mbr8xpjvd8w9b5nd6k8fxcnjykzzygwqk19il4wirqyh4n3k3bq";
-      name = "polkit-kde-agent-1-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/polkit-kde-agent-1-5.24.4.tar.xz";
+      sha256 = "1bc5ss6v4d7kwk1chhvpis5srs8lfypims46wgxjncyhjg2lcllm";
+      name = "polkit-kde-agent-1-5.24.4.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/powerdevil-5.24.3.tar.xz";
-      sha256 = "047h4lz8d1kdyakh5x7fr3kpk35r38z39vm7wb974rd9hjz7alj9";
-      name = "powerdevil-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/powerdevil-5.24.4.tar.xz";
+      sha256 = "0sjlx5fhfdld1i352adi2bhyd29ja9lbmzhfxgnvmpfl6q7c0w7g";
+      name = "powerdevil-5.24.4.tar.xz";
     };
   };
   qqc2-breeze-style = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/qqc2-breeze-style-5.24.3.tar.xz";
-      sha256 = "1y21ldxwlb12kfqzxpyhdw9lkcaf5sfamwhg68r512hy785sg490";
-      name = "qqc2-breeze-style-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/qqc2-breeze-style-5.24.4.tar.xz";
+      sha256 = "1d0cgsxvnm0zza7n5hz47n28yrr35hp0vniggifncm0ag8sn0kmd";
+      name = "qqc2-breeze-style-5.24.4.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/sddm-kcm-5.24.3.tar.xz";
-      sha256 = "15n6drklwk3lmiaklw1af98qcixml4w83hngy23lwwv2lbnirl6h";
-      name = "sddm-kcm-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/sddm-kcm-5.24.4.tar.xz";
+      sha256 = "0pfqp5das7pxpmh111i2dlfqm6xzzd99bcb32bbmd9v6w2wlgwxy";
+      name = "sddm-kcm-5.24.4.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/systemsettings-5.24.3.tar.xz";
-      sha256 = "11fmjdh6v0a4gacqshhrk374i07px989p3x70w8438gr6y0n2032";
-      name = "systemsettings-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/systemsettings-5.24.4.tar.xz";
+      sha256 = "0cqm7s89jvzqz1fw32284ppnm3dc69yvc8bqqgw5jdbbjnc1z4k9";
+      name = "systemsettings-5.24.4.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.24.3";
+    version = "5.24.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.3/xdg-desktop-portal-kde-5.24.3.tar.xz";
-      sha256 = "06qdr7j2m9s9l60mk8vspb2173va10zdv6sinhmkhxxp78h857z6";
-      name = "xdg-desktop-portal-kde-5.24.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.4/xdg-desktop-portal-kde-5.24.4.tar.xz";
+      sha256 = "07nwb6ff8rnlk2play9gar52d8d44b8y412hnx9a9d4b50b4js0i";
+      name = "xdg-desktop-portal-kde-5.24.4.tar.xz";
     };
   };
 }
diff --git a/pkgs/desktops/xfce/applications/orage/default.nix b/pkgs/desktops/xfce/applications/orage/default.nix
index 4e5028a6a599b..102f8e9c21280 100644
--- a/pkgs/desktops/xfce/applications/orage/default.nix
+++ b/pkgs/desktops/xfce/applications/orage/default.nix
@@ -1,25 +1,34 @@
-{ lib, stdenv, fetchurl, fetchpatch, pkg-config, intltool, dbus-glib, gtk2, libical, libnotify, tzdata
-, popt, libxfce4ui, xfce4-panel, withPanelPlugin ? true, wrapGAppsHook, xfce }:
-
-assert withPanelPlugin -> libxfce4ui != null && xfce4-panel != null;
-
-let
-  inherit (lib) optionals;
-in
-
-stdenv.mkDerivation rec {
+{ lib
+, mkXfceDerivation
+, dbus-glib
+, gtk3
+, libical
+, libnotify
+, libxfce4ui
+, popt
+, tzdata
+, xfce4-panel
+, withPanelPlugin ? true
+}:
+
+mkXfceDerivation {
+  category = "apps";
   pname = "orage";
-  version = "4.12.1";
-
-  src = fetchurl {
-    url = "https://archive.xfce.org/src/apps/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-PPmqRBroPIaIhl+CIXAlzfPrqhUszkVxd3uMKqjdkGI=";
-  };
-
-  nativeBuildInputs = [ pkg-config intltool wrapGAppsHook ];
-
-  buildInputs = [ dbus-glib gtk2 libical libnotify popt ]
-    ++ optionals withPanelPlugin [ libxfce4ui xfce4-panel ];
+  version = "4.16.0";
+  odd-unstable = false;
+  sha256 = "sha256-Q2vTjfhbhG7TrkGeU5oVBB+UvrV5QFtl372wgHU4cxw=";
+
+  buildInputs = [
+    dbus-glib
+    gtk3
+    libical
+    libnotify
+    libxfce4ui
+    popt
+  ]
+  ++ lib.optionals withPanelPlugin [
+    xfce4-panel
+  ];
 
   postPatch = ''
     substituteInPlace src/parameters.c        --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
@@ -27,27 +36,13 @@ stdenv.mkDerivation rec {
     substituteInPlace tz_convert/tz_convert.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
   '';
 
-  postConfigure = "rm -rf libical"; # ensure pkgs.libical is used instead of one included in the orage sources
-
-  patches = [
-    # Fix build with libical 3.0
-    (fetchpatch {
-      name = "fix-libical3.patch";
-      url = "https://aur.archlinux.org/cgit/aur.git/plain/libical3.patch?h=orage-4.10";
-      sha256 = "sha256-bsnQMGmeo4mRNGM/7UYXez2bNopXMHRFX7VFVg0IGtE=";
-    })
-  ];
-
-  passthru.updateScript = xfce.archiveUpdater {
-    category = "apps";
-    inherit pname version;
-  };
+  postConfigure = ''
+    # ensure pkgs.libical is used instead of one included in the orage sources
+    rm -rf libical
+  '';
 
   meta = with lib; {
-    description = "Simple calendar application with reminders";
-    homepage = "https://git.xfce.org/archive/orage/";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    description = "Simple calendar application for Xfce";
     maintainers = with maintainers; [ ] ++ teams.xfce.members;
   };
 }
diff --git a/pkgs/desktops/xfce/applications/xfce4-screensaver/default.nix b/pkgs/desktops/xfce/applications/xfce4-screensaver/default.nix
new file mode 100644
index 0000000000000..4ac72b02da1aa
--- /dev/null
+++ b/pkgs/desktops/xfce/applications/xfce4-screensaver/default.nix
@@ -0,0 +1,49 @@
+{ mkXfceDerivation
+, dbus-glib
+, garcon
+, glib
+, gtk3
+, libX11
+, libXScrnSaver
+, libXrandr
+, libwnck
+, libxfce4ui
+, libxklavier
+, pam
+, systemd
+, xfconf
+, lib
+}:
+
+mkXfceDerivation {
+  category = "apps";
+  pname = "xfce4-screensaver";
+  version = "4.16.0";
+
+  sha256 = "1vblqhhzhv85yd5bz1xg14yli82ys5qrjdcabg3l53glbk61n99p";
+
+  buildInputs = [
+    dbus-glib
+    garcon
+    glib
+    gtk3
+    libX11
+    libXScrnSaver
+    libXrandr
+    libwnck
+    libxfce4ui
+    libxklavier
+    pam
+    systemd
+    xfconf
+  ];
+
+  configureFlags = [ "--without-console-kit" ];
+
+  makeFlags = [ "DBUS_SESSION_SERVICE_DIR=$(out)/etc" ];
+
+  meta =  {
+    description = "Screensaver for Xfce";
+    maintainers = with lib.maintainers; [ symphorien ];
+  };
+}
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index 1ec4cec5b31d5..acdddd7d1e69d 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -82,6 +82,8 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   xfce4-terminal = callPackage ./applications/xfce4-terminal { };
 
+  xfce4-screensaver = callPackage ./applications/xfce4-screensaver { };
+
   xfce4-screenshooter = callPackage ./applications/xfce4-screenshooter {
     inherit (pkgs.gnome) libsoup;
   };
@@ -156,7 +158,7 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   xfce4-pulseaudio-plugin = callPackage ./panel-plugins/xfce4-pulseaudio-plugin { };
 
-} // lib.optionalAttrs (config.allowAliases or true) {
+} // lib.optionalAttrs config.allowAliases {
   #### ALIASES - added 2018-01
 
   terminal = xfce4-terminal;
@@ -169,8 +171,6 @@ lib.makeScope pkgs.newScope (self: with self; {
   xfce4_power_manager = xfce4-power-manager;
   xfce4_appfinder = xfce4-appfinder;
   xfce4_dev_tools = xfce4-dev-tools;
-  xfce4mixer = xfce4-mixer;
-  xfce4mixer_pulse = xfce4-mixer-pulse;
   xfce4notifyd = xfce4-notifyd;
   xfce4taskmanager = xfce4-taskmanager;
   xfce4terminal = xfce4-terminal;
@@ -204,8 +204,6 @@ lib.makeScope pkgs.newScope (self: with self; {
   xfce4_windowck_plugin = xfce4-windowck-plugin;
   xfce4_pulseaudio_plugin = xfce4-pulseaudio-plugin;
 
-  xfce4-mixer = throw "deprecated 2019-08-18: obsoleted by xfce4-pulseaudio-plugin"; # added 2019-08-18
-  gtk-xfce-engine = throw "deprecated 2019-09-17: Xfce 4.14 deprecated gtk-xfce-engine"; # added 2019-09-17
   xfce4-dict-plugin = throw "deprecated 2020-04-19: xfce4-dict-plugin is now part of xfce4-dict."; # added 2020-04-19
 
   # added 2019-11-04
@@ -217,7 +215,6 @@ lib.makeScope pkgs.newScope (self: with self; {
   xinitrc = xfce4-session.xinitrc;
   libglade = throw "libglade has been removed";
   inherit (pkgs.gnome) gtksourceview;
-  xfce4-mixer-pulse = xfce4-mixer;
   thunar-bare = thunar.override {
     thunarPlugins = [];
   };
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix
index ef3e4b7219e44..68d33b657c687 100644
--- a/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix
+++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix
@@ -10,9 +10,10 @@ assert (stdenv.isDarwin && stdenv.isx86_64);
 
 let cpuName = stdenv.hostPlatform.parsed.cpu.name;
     result = stdenv.mkDerivation {
-  name = if sourcePerArch.packageType == "jdk"
-    then "adoptopenjdk-${sourcePerArch.vmType}-bin-${sourcePerArch.${cpuName}.version}"
-    else "adoptopenjdk-${sourcePerArch.packageType}-${sourcePerArch.vmType}-bin-${sourcePerArch.${cpuName}.version}";
+  pname = if sourcePerArch.packageType == "jdk"
+    then "adoptopenjdk-${sourcePerArch.vmType}-bin"
+    else "adoptopenjdk-${sourcePerArch.packageType}-${sourcePerArch.vmType}-bin";
+  version = sourcePerArch.${cpuName}.version or (throw "unsupported CPU ${cpuName}");
 
   src = fetchurl {
     inherit (sourcePerArch.${cpuName}) url sha256;
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix
index 39685131edd37..6fc96b4d1825e 100644
--- a/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix
+++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix
@@ -33,9 +33,9 @@ let
 in
 
 let result = stdenv.mkDerivation rec {
-  name = if sourcePerArch.packageType == "jdk"
-    then "adoptopenjdk-${sourcePerArch.vmType}-bin-${version}"
-    else "adoptopenjdk-${sourcePerArch.packageType}-${sourcePerArch.vmType}-bin-${version}";
+  pname = if sourcePerArch.packageType == "jdk"
+    then "adoptopenjdk-${sourcePerArch.vmType}-bin"
+    else "adoptopenjdk-${sourcePerArch.packageType}-${sourcePerArch.vmType}-bin";
 
   version = sourcePerArch.${cpuName}.version or (throw "unsupported CPU ${cpuName}");
 
diff --git a/pkgs/development/compilers/aldor/default.nix b/pkgs/development/compilers/aldor/default.nix
deleted file mode 100644
index ace8a3d2de398..0000000000000
--- a/pkgs/development/compilers/aldor/default.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ fetchFromGitHub, lib, stdenv, gmp, which, flex, bison, makeWrapper
-, autoconf, automake, libtool, jdk, perl }:
-
-stdenv.mkDerivation {
-  pname = "aldor";
-  version = "1.2.0";
-
-  src = fetchFromGitHub {
-    owner = "aldorlang";
-    repo = "aldor";
-    rev = "15471e75f3d65b93150f414ebcaf59a03054b68d";
-    sha256 = "sha256-phKCghCeM+/QlxjIxfNQySo+5XMRqfOqlS9kgp07YKc=";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ gmp which flex bison autoconf automake libtool jdk perl ];
-
-  preConfigure = ''
-    cd aldor ;
-    ./autogen.sh ;
-  '';
-
-  postInstall = ''
-    for prog in aldor unicl javagen ;
-    do
-      wrapProgram $out/bin/$prog --set ALDORROOT $out \
-        --prefix PATH : ${jdk}/bin \
-        --prefix PATH : ${stdenv.cc}/bin ;
-    done
-  '';
-
-  meta = {
-    # Please become a maintainer to fix this package
-    broken = true;
-    homepage = "http://www.aldor.org/";
-    description = "Programming language with an expressive type system";
-    license = lib.licenses.asl20;
-
-    longDescription = ''
-      Aldor is a programming language with an expressive type system well-suited
-      for mathematical computing and which has been used to develop a number of
-      computer algebra libraries. Originally known as A#, Aldor was conceived as
-      an extension language for the Axiom system, but is now used more in other settings.
-      In Aldor, types and functions are first class values that can be constructed
-      and manipulated within programs. Pervasive support for dependent types allows
-      static checking of dynamic objects. What does this mean for a normal user? Aldor
-      solves many difficulties encountered in widely-used object-oriented programming
-      languages. It allows programs to use a natural style, combining the more attractive
-      and powerful properties of functional, object-oriented and aspect-oriented styles.
-    '';
-
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/pkgs/development/compilers/aliceml/default.nix b/pkgs/development/compilers/aliceml/default.nix
deleted file mode 100644
index 55a35176e7bba..0000000000000
--- a/pkgs/development/compilers/aliceml/default.nix
+++ /dev/null
@@ -1,58 +0,0 @@
-{lib, stdenv, gcc, glibc, fetchurl, fetchgit, libtool, autoconf, automake, file, gnumake, which, zsh, m4, pkg-config, perl, gnome2, gtk2, pango, sqlite, libxml2, zlib, gmp, smlnj }:
-
-stdenv.mkDerivation {
-  pname = "aliceml";
-  version = "1.4-7d44dc8e";
-
-  src = fetchgit {
-    url = "https://github.com/aliceml/aliceml";
-    rev = "7d44dc8e4097c6f85888bbf4ff86d51fe05b0a08";
-    sha256 = "1xpvia00cpig0i7qvz29sx7xjic6kd472ng722x4rapz8mjnf8bk";
-    fetchSubmodules = true;
-  };
-
-  gecodeSrc = fetchurl {
-    url = "http://www.gecode.org/download/gecode-1.3.1.tar.gz";
-    sha256 = "0mgc6llbq166jmlq3alvagqsg3730670zvbwwkdgsqklw70v9355";
-  };
-
-  buildInputs = [
-    stdenv gcc glibc
-    libtool gnumake autoconf automake
-    file which zsh m4 gtk2 zlib gmp
-    gnome2.libgnomecanvas pango sqlite
-    libxml2 pkg-config perl smlnj
-  ];
-
-  makePatch = ./make.patch;
-  seamPatch = ./seam.patch;
-
-  phases = [ "unpackPhase" "patchPhase" "configurePhase" "buildPhase" ];
-
-  patchPhase = ''
-    sed -i -e "s@wget ..GECODE_URL. -O - | tar xz@tar xf $gecodeSrc@" make/Makefile
-    patch -p1 <$makePatch
-    patch -p1 <$seamPatch
-  '';
-
-  configurePhase = ''
-    make -C make setup PREFIX="$out"
-  '';
-
-  buildPhase = ''
-    gmp="${gmp.dev}" zlib="${zlib.dev}" PATH=$PATH:`pwd`/seam-support/install/bin make -C make all PREFIX="$out"
-  '';
-
-  meta = {
-    description = "Functional programming language based on Standard ML";
-    longDescription = ''
-      Alice ML is a functional programming language based on Standard ML,
-      extended with rich support for concurrent, distributed, and constraint
-      programming.
-    '';
-    homepage = "https://www.ps.uni-saarland.de/alice/";
-    license = lib.licenses.mit;
-    maintainers = [ lib.maintainers.doublec ];
-    broken = true;
-  };
-}
diff --git a/pkgs/development/compilers/aliceml/make.patch b/pkgs/development/compilers/aliceml/make.patch
deleted file mode 100644
index 78e2b28974e80..0000000000000
--- a/pkgs/development/compilers/aliceml/make.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 6a55b06..84a6000 100644
---- a/make/Makefile
-+++ b/make/Makefile
-@@ -387,6 +387,7 @@ configure-seam-linux64:
- 	 ../sources/configure \
- 		--prefix='$(PREFIX)' \
- 		--with-warnings=yes \
-+		--with-zlib='$(zlib)' \
- 		--disable-lightning)
- 
- .PHONY: configure-seam-darwin64
-@@ -434,6 +435,7 @@ configure-alice-ll-linux:
- 	(cd $(PWD)/alice/build && \
- 	 ../sources/vm-seam/configure \
- 		--prefix='$(PREFIX)' \
-+		--with-gmp='$(gmp)' \
- 		--with-warnings=yes)
- 
- .PHONY:	rebuild-alice-ll
diff --git a/pkgs/development/compilers/aliceml/seam.patch b/pkgs/development/compilers/aliceml/seam.patch
deleted file mode 100644
index d489037fef4a1..0000000000000
--- a/pkgs/development/compilers/aliceml/seam.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Makefile.cvs b/Makefile.cvs
-index b59434a..cd1316f 100644
---- a/seam/sources/Makefile.cvs
-+++ b/seam/sources/Makefile.cvs
-@@ -32,7 +32,7 @@ autotools:
- 	aclocal -I .
- 	autoconf
- 	automake --add-missing
--	cd libltdl; aclocal; autoconf; automake --add-missing
-+	cd libltdl; chmod +w *; aclocal; autoconf; automake --add-missing
- 
- lightning:
- 	rm -rf lightning
diff --git a/pkgs/development/compilers/carp/default.nix b/pkgs/development/compilers/carp/default.nix
index 3f188e23317c3..6941e5f71b18b 100644
--- a/pkgs/development/compilers/carp/default.nix
+++ b/pkgs/development/compilers/carp/default.nix
@@ -11,6 +11,12 @@ haskellPackages.mkDerivation rec {
     sha256 = "sha256-o7NLd7jC1BvcoVzbD18LvHg/SqOnfn9yELUrpg2uZtY=";
   };
 
+  # -Werror breaks build with GHC >= 9.0
+  # https://github.com/carp-lang/Carp/issues/1386
+  postPatch = ''
+    substituteInPlace CarpHask.cabal --replace "-Werror" ""
+  '';
+
   buildTools = [ makeWrapper ];
 
   executableHaskellDepends = with haskellPackages; [
diff --git a/pkgs/development/compilers/ciao/default.nix b/pkgs/development/compilers/ciao/default.nix
index a5cdcb82bc05d..2ce32631562a5 100644
--- a/pkgs/development/compilers/ciao/default.nix
+++ b/pkgs/development/compilers/ciao/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "ciao";
-  version = "1.20.0";
+  version = "1.21.0-m1";
   src = fetchFromGitHub {
     owner = "ciao-lang";
     repo = "ciao";
     rev = "v${version}";
-    sha256 = "sha256-Xp0ZQRi7mOO2WN/2hO6zgobDG3S0BEV+SgsaduBZ30U=";
+    sha256 = "sha256-o9EQS7KsoTg458Uw+1shgKE6NlZO495XE/rLq6/1S4g=";
   };
 
   configurePhase = ''
diff --git a/pkgs/development/compilers/crystal/build-package.nix b/pkgs/development/compilers/crystal/build-package.nix
index a44eaeb369b6c..1bdc8989cf1d8 100644
--- a/pkgs/development/compilers/crystal/build-package.nix
+++ b/pkgs/development/compilers/crystal/build-package.nix
@@ -1,4 +1,15 @@
-{ stdenv, lib, crystal, shards, git, pkg-config, which, linkFarm, fetchFromGitHub, installShellFiles }:
+{ stdenv
+, lib
+, crystal
+, shards
+, git
+, pkg-config
+, which
+, linkFarm
+, fetchFromGitHub
+, installShellFiles
+, removeReferencesTo
+}:
 
 {
   # Some projects do not include a lock file, so you can pass one
@@ -60,7 +71,13 @@ stdenv.mkDerivation (mkDerivationArgs // {
   buildInputs = args.buildInputs or [ ] ++ [ crystal ]
     ++ lib.optional (format != "crystal") shards;
 
-  nativeBuildInputs = args.nativeBuildInputs or [ ] ++ [ git installShellFiles pkg-config which ];
+  nativeBuildInputs = args.nativeBuildInputs or [ ] ++ [
+    git
+    installShellFiles
+    removeReferencesTo
+    pkg-config
+    which
+  ];
 
   buildPhase = args.buildPhase or (lib.concatStringsSep "\n" ([
     "runHook preBuild"
@@ -102,6 +119,7 @@ stdenv.mkDerivation (mkDerivationArgs // {
       installManPage man/*.?
     fi
   '') ++ [
+    "remove-references-to -t ${lib.getLib crystal} $out/bin/*"
     "runHook postInstall"
   ]));
 
diff --git a/pkgs/development/compilers/cudatoolkit/default.nix b/pkgs/development/compilers/cudatoolkit/default.nix
index 97aabf36e2638..4fa99f80c8e36 100644
--- a/pkgs/development/compilers/cudatoolkit/default.nix
+++ b/pkgs/development/compilers/cudatoolkit/default.nix
@@ -86,5 +86,9 @@ rec {
     gcc = gcc10; # can bump to 11 along with stdenv.cc
   };
 
-  cudatoolkit_11 = cudatoolkit_11_6;
+  # Make sure to only ever update this to a version that is compatible with the
+  # latest cudnn, nccl, cutensor, etc! It sometimes happens that CUDA versions
+  # are released prior to compatibility with the rest of the ecosystem. And
+  # don't forget to request a review from @NixOS/cuda-maintainers!
+  cudatoolkit_11 = cudatoolkit_11_5;
 }
diff --git a/pkgs/development/compilers/ecl/16.1.2.nix b/pkgs/development/compilers/ecl/16.1.2.nix
index 9af1eccc7935a..513e4ec3eec64 100644
--- a/pkgs/development/compilers/ecl/16.1.2.nix
+++ b/pkgs/development/compilers/ecl/16.1.2.nix
@@ -25,10 +25,9 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-LUgrGgpPvV2IFDRRcDInnYCMtkBeIt2R721zNTRGS5k=";
   };
 
+  nativeBuildInputs = [ autoconf automake ];
   buildInputs = [
     libtool
-    autoconf
-    automake
     makeWrapper
   ];
   propagatedBuildInputs = [
diff --git a/pkgs/development/compilers/elm/default.nix b/pkgs/development/compilers/elm/default.nix
index ab19ac42d24c7..1edf6e5ce7f18 100644
--- a/pkgs/development/compilers/elm/default.nix
+++ b/pkgs/development/compilers/elm/default.nix
@@ -77,6 +77,9 @@ let
     in elmPkgs // {
       inherit elmPkgs;
 
+      # We need attoparsec < 0.14 to build elm for now
+      attoparsec = self.attoparsec_0_13_2_5;
+
       # Needed for elm-format
       indents = self.callPackage ./packages/indents.nix {};
       bimap = self.callPackage ./packages/bimap.nix {};
diff --git a/pkgs/development/compilers/elm/packages/node-packages.nix b/pkgs/development/compilers/elm/packages/node-packages.nix
index 083ab8530d879..37e91efa59c6d 100644
--- a/pkgs/development/compilers/elm/packages/node-packages.nix
+++ b/pkgs/development/compilers/elm/packages/node-packages.nix
@@ -22,22 +22,22 @@ let
         sha512 = "OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==";
       };
     };
-    "@babel/code-frame-7.16.0" = {
+    "@babel/code-frame-7.16.7" = {
       name = "_at_babel_slash_code-frame";
       packageName = "@babel/code-frame";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz";
-        sha512 = "IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==";
+        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz";
+        sha512 = "iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==";
       };
     };
-    "@babel/compat-data-7.16.4" = {
+    "@babel/compat-data-7.17.7" = {
       name = "_at_babel_slash_compat-data";
       packageName = "@babel/compat-data";
-      version = "7.16.4";
+      version = "7.17.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz";
-        sha512 = "1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==";
+        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz";
+        sha512 = "p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==";
       };
     };
     "@babel/core-7.12.10" = {
@@ -49,175 +49,175 @@ let
         sha512 = "eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==";
       };
     };
-    "@babel/generator-7.16.5" = {
+    "@babel/generator-7.17.7" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
-      version = "7.16.5";
+      version = "7.17.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.16.5.tgz";
-        sha512 = "kIvCdjZqcdKqoDbVVdt5R99icaRtrtYhYK/xux5qiWCBmfdvEYMFZ68QCrpE5cbFM1JsuArUNs1ZkuKtTtUcZA==";
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz";
+        sha512 = "oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==";
       };
     };
-    "@babel/helper-annotate-as-pure-7.16.0" = {
+    "@babel/helper-annotate-as-pure-7.16.7" = {
       name = "_at_babel_slash_helper-annotate-as-pure";
       packageName = "@babel/helper-annotate-as-pure";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz";
-        sha512 = "ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg==";
+        url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz";
+        sha512 = "s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==";
       };
     };
-    "@babel/helper-builder-binary-assignment-operator-visitor-7.16.5" = {
+    "@babel/helper-builder-binary-assignment-operator-visitor-7.16.7" = {
       name = "_at_babel_slash_helper-builder-binary-assignment-operator-visitor";
       packageName = "@babel/helper-builder-binary-assignment-operator-visitor";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.5.tgz";
-        sha512 = "3JEA9G5dmmnIWdzaT9d0NmFRgYnWUThLsDaL7982H0XqqWr56lRrsmwheXFMjR+TMl7QMBb6mzy9kvgr1lRLUA==";
+        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==";
       };
     };
-    "@babel/helper-compilation-targets-7.16.3" = {
+    "@babel/helper-compilation-targets-7.17.7" = {
       name = "_at_babel_slash_helper-compilation-targets";
       packageName = "@babel/helper-compilation-targets";
-      version = "7.16.3";
+      version = "7.17.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz";
-        sha512 = "vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==";
+        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz";
+        sha512 = "UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==";
       };
     };
-    "@babel/helper-create-class-features-plugin-7.16.5" = {
+    "@babel/helper-create-class-features-plugin-7.17.6" = {
       name = "_at_babel_slash_helper-create-class-features-plugin";
       packageName = "@babel/helper-create-class-features-plugin";
-      version = "7.16.5";
+      version = "7.17.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.5.tgz";
-        sha512 = "NEohnYA7mkB8L5JhU7BLwcBdU3j83IziR9aseMueWGeAjblbul3zzb8UvJ3a1zuBiqCMObzCJHFqKIQE6hTVmg==";
+        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz";
+        sha512 = "SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==";
       };
     };
-    "@babel/helper-create-regexp-features-plugin-7.16.0" = {
+    "@babel/helper-create-regexp-features-plugin-7.17.0" = {
       name = "_at_babel_slash_helper-create-regexp-features-plugin";
       packageName = "@babel/helper-create-regexp-features-plugin";
-      version = "7.16.0";
+      version = "7.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.0.tgz";
-        sha512 = "3DyG0zAFAZKcOp7aVr33ddwkxJ0Z0Jr5V99y3I690eYLpukJsJvAbzTy1ewoCqsML8SbIrjH14Jc/nSQ4TvNPA==";
+        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz";
+        sha512 = "awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==";
       };
     };
-    "@babel/helper-environment-visitor-7.16.5" = {
+    "@babel/helper-environment-visitor-7.16.7" = {
       name = "_at_babel_slash_helper-environment-visitor";
       packageName = "@babel/helper-environment-visitor";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.5.tgz";
-        sha512 = "ODQyc5AnxmZWm/R2W7fzhamOk1ey8gSguo5SGvF0zcB3uUzRpTRmM/jmLSm9bDMyPlvbyJ+PwPEK0BWIoZ9wjg==";
+        url = "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz";
+        sha512 = "SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==";
       };
     };
-    "@babel/helper-explode-assignable-expression-7.16.0" = {
+    "@babel/helper-explode-assignable-expression-7.16.7" = {
       name = "_at_babel_slash_helper-explode-assignable-expression";
       packageName = "@babel/helper-explode-assignable-expression";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz";
-        sha512 = "Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ==";
+        url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz";
+        sha512 = "KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==";
       };
     };
-    "@babel/helper-function-name-7.16.0" = {
+    "@babel/helper-function-name-7.16.7" = {
       name = "_at_babel_slash_helper-function-name";
       packageName = "@babel/helper-function-name";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz";
-        sha512 = "BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==";
+        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz";
+        sha512 = "QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==";
       };
     };
-    "@babel/helper-get-function-arity-7.16.0" = {
+    "@babel/helper-get-function-arity-7.16.7" = {
       name = "_at_babel_slash_helper-get-function-arity";
       packageName = "@babel/helper-get-function-arity";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz";
-        sha512 = "ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==";
+        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz";
+        sha512 = "flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==";
       };
     };
-    "@babel/helper-hoist-variables-7.16.0" = {
+    "@babel/helper-hoist-variables-7.16.7" = {
       name = "_at_babel_slash_helper-hoist-variables";
       packageName = "@babel/helper-hoist-variables";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz";
-        sha512 = "1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==";
+        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz";
+        sha512 = "m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==";
       };
     };
-    "@babel/helper-member-expression-to-functions-7.16.5" = {
+    "@babel/helper-member-expression-to-functions-7.17.7" = {
       name = "_at_babel_slash_helper-member-expression-to-functions";
       packageName = "@babel/helper-member-expression-to-functions";
-      version = "7.16.5";
+      version = "7.17.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.5.tgz";
-        sha512 = "7fecSXq7ZrLE+TWshbGT+HyCLkxloWNhTbU2QM1NTI/tDqyf0oZiMcEfYtDuUDCo528EOlt39G1rftea4bRZIw==";
+        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz";
+        sha512 = "thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==";
       };
     };
-    "@babel/helper-module-imports-7.16.0" = {
+    "@babel/helper-module-imports-7.16.7" = {
       name = "_at_babel_slash_helper-module-imports";
       packageName = "@babel/helper-module-imports";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz";
-        sha512 = "kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==";
+        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz";
+        sha512 = "LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==";
       };
     };
-    "@babel/helper-module-transforms-7.16.5" = {
+    "@babel/helper-module-transforms-7.17.7" = {
       name = "_at_babel_slash_helper-module-transforms";
       packageName = "@babel/helper-module-transforms";
-      version = "7.16.5";
+      version = "7.17.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.5.tgz";
-        sha512 = "CkvMxgV4ZyyioElFwcuWnDCcNIeyqTkCm9BxXZi73RR1ozqlpboqsbGUNvRTflgZtFbbJ1v5Emvm+lkjMYY/LQ==";
+        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz";
+        sha512 = "VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==";
       };
     };
-    "@babel/helper-optimise-call-expression-7.16.0" = {
+    "@babel/helper-optimise-call-expression-7.16.7" = {
       name = "_at_babel_slash_helper-optimise-call-expression";
       packageName = "@babel/helper-optimise-call-expression";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz";
-        sha512 = "SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==";
+        url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz";
+        sha512 = "EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==";
       };
     };
-    "@babel/helper-plugin-utils-7.16.5" = {
+    "@babel/helper-plugin-utils-7.16.7" = {
       name = "_at_babel_slash_helper-plugin-utils";
       packageName = "@babel/helper-plugin-utils";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.5.tgz";
-        sha512 = "59KHWHXxVA9K4HNF4sbHCf+eJeFe0Te/ZFGqBT4OjXhrwvA04sGfaEGsVTdsjoszq0YTP49RC9UKe5g8uN2RwQ==";
+        url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz";
+        sha512 = "Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==";
       };
     };
-    "@babel/helper-remap-async-to-generator-7.16.5" = {
+    "@babel/helper-remap-async-to-generator-7.16.8" = {
       name = "_at_babel_slash_helper-remap-async-to-generator";
       packageName = "@babel/helper-remap-async-to-generator";
-      version = "7.16.5";
+      version = "7.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.5.tgz";
-        sha512 = "X+aAJldyxrOmN9v3FKp+Hu1NO69VWgYgDGq6YDykwRPzxs5f2N+X988CBXS7EQahDU+Vpet5QYMqLk+nsp+Qxw==";
+        url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz";
+        sha512 = "fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==";
       };
     };
-    "@babel/helper-replace-supers-7.16.5" = {
+    "@babel/helper-replace-supers-7.16.7" = {
       name = "_at_babel_slash_helper-replace-supers";
       packageName = "@babel/helper-replace-supers";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.5.tgz";
-        sha512 = "ao3seGVa/FZCMCCNDuBcqnBFSbdr8N2EW35mzojx3TwfIbdPmNK+JV6+2d5bR0Z71W5ocLnQp9en/cTF7pBJiQ==";
+        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz";
+        sha512 = "y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==";
       };
     };
-    "@babel/helper-simple-access-7.16.0" = {
+    "@babel/helper-simple-access-7.17.7" = {
       name = "_at_babel_slash_helper-simple-access";
       packageName = "@babel/helper-simple-access";
-      version = "7.16.0";
+      version = "7.17.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz";
-        sha512 = "o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==";
+        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz";
+        sha512 = "txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==";
       };
     };
     "@babel/helper-skip-transparent-expression-wrappers-7.16.0" = {
@@ -229,184 +229,184 @@ let
         sha512 = "+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==";
       };
     };
-    "@babel/helper-split-export-declaration-7.16.0" = {
+    "@babel/helper-split-export-declaration-7.16.7" = {
       name = "_at_babel_slash_helper-split-export-declaration";
       packageName = "@babel/helper-split-export-declaration";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz";
-        sha512 = "0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==";
+        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz";
+        sha512 = "xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==";
       };
     };
-    "@babel/helper-validator-identifier-7.15.7" = {
+    "@babel/helper-validator-identifier-7.16.7" = {
       name = "_at_babel_slash_helper-validator-identifier";
       packageName = "@babel/helper-validator-identifier";
-      version = "7.15.7";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz";
-        sha512 = "K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==";
+        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz";
+        sha512 = "hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==";
       };
     };
-    "@babel/helper-validator-option-7.14.5" = {
+    "@babel/helper-validator-option-7.16.7" = {
       name = "_at_babel_slash_helper-validator-option";
       packageName = "@babel/helper-validator-option";
-      version = "7.14.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz";
-        sha512 = "OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==";
+        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz";
+        sha512 = "TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==";
       };
     };
-    "@babel/helper-wrap-function-7.16.5" = {
+    "@babel/helper-wrap-function-7.16.8" = {
       name = "_at_babel_slash_helper-wrap-function";
       packageName = "@babel/helper-wrap-function";
-      version = "7.16.5";
+      version = "7.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.5.tgz";
-        sha512 = "2J2pmLBqUqVdJw78U0KPNdeE2qeuIyKoG4mKV7wAq3mc4jJG282UgjZw4ZYDnqiWQuS3Y3IYdF/AQ6CpyBV3VA==";
+        url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz";
+        sha512 = "8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==";
       };
     };
-    "@babel/helpers-7.16.5" = {
+    "@babel/helpers-7.17.8" = {
       name = "_at_babel_slash_helpers";
       packageName = "@babel/helpers";
-      version = "7.16.5";
+      version = "7.17.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.5.tgz";
-        sha512 = "TLgi6Lh71vvMZGEkFuIxzaPsyeYCHQ5jJOOX1f0xXn0uciFuE8cEk0wyBquMcCxBXZ5BJhE2aUB7pnWTD150Tw==";
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz";
+        sha512 = "QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==";
       };
     };
-    "@babel/highlight-7.16.0" = {
+    "@babel/highlight-7.16.10" = {
       name = "_at_babel_slash_highlight";
       packageName = "@babel/highlight";
-      version = "7.16.0";
+      version = "7.16.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz";
-        sha512 = "t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==";
+        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz";
+        sha512 = "5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==";
       };
     };
-    "@babel/parser-7.16.6" = {
+    "@babel/parser-7.17.8" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.16.6";
+      version = "7.17.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.16.6.tgz";
-        sha512 = "Gr86ujcNuPDnNOY8mi383Hvi8IYrJVJYuf3XcuBM/Dgd+bINn/7tHqsj+tKkoreMbmGsFLsltI/JJd8fOFWGDQ==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz";
+        sha512 = "BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==";
       };
     };
-    "@babel/plugin-proposal-async-generator-functions-7.16.5" = {
+    "@babel/plugin-proposal-async-generator-functions-7.16.8" = {
       name = "_at_babel_slash_plugin-proposal-async-generator-functions";
       packageName = "@babel/plugin-proposal-async-generator-functions";
-      version = "7.16.5";
+      version = "7.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.5.tgz";
-        sha512 = "C/FX+3HNLV6sz7AqbTQqEo1L9/kfrKjxcVtgyBCmvIgOjvuBVUWooDoi7trsLxOzCEo5FccjRvKHkfDsJFZlfA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz";
+        sha512 = "71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==";
       };
     };
-    "@babel/plugin-proposal-class-properties-7.16.5" = {
+    "@babel/plugin-proposal-class-properties-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-class-properties";
       packageName = "@babel/plugin-proposal-class-properties";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.5.tgz";
-        sha512 = "pJD3HjgRv83s5dv1sTnDbZOaTjghKEz8KUn1Kbh2eAIRhGuyQ1XSeI4xVXU3UlIEVA3DAyIdxqT1eRn7Wcn55A==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz";
+        sha512 = "IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==";
       };
     };
-    "@babel/plugin-proposal-dynamic-import-7.16.5" = {
+    "@babel/plugin-proposal-dynamic-import-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-dynamic-import";
       packageName = "@babel/plugin-proposal-dynamic-import";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.5.tgz";
-        sha512 = "P05/SJZTTvHz79LNYTF8ff5xXge0kk5sIIWAypcWgX4BTRUgyHc8wRxJ/Hk+mU0KXldgOOslKaeqnhthcDJCJQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz";
+        sha512 = "I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==";
       };
     };
-    "@babel/plugin-proposal-export-namespace-from-7.16.5" = {
+    "@babel/plugin-proposal-export-namespace-from-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-export-namespace-from";
       packageName = "@babel/plugin-proposal-export-namespace-from";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.5.tgz";
-        sha512 = "i+sltzEShH1vsVydvNaTRsgvq2vZsfyrd7K7vPLUU/KgS0D5yZMe6uipM0+izminnkKrEfdUnz7CxMRb6oHZWw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz";
+        sha512 = "ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==";
       };
     };
-    "@babel/plugin-proposal-json-strings-7.16.5" = {
+    "@babel/plugin-proposal-json-strings-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-json-strings";
       packageName = "@babel/plugin-proposal-json-strings";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.5.tgz";
-        sha512 = "QQJueTFa0y9E4qHANqIvMsuxM/qcLQmKttBACtPCQzGUEizsXDACGonlPiSwynHfOa3vNw0FPMVvQzbuXwh4SQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz";
+        sha512 = "lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==";
       };
     };
-    "@babel/plugin-proposal-logical-assignment-operators-7.16.5" = {
+    "@babel/plugin-proposal-logical-assignment-operators-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-logical-assignment-operators";
       packageName = "@babel/plugin-proposal-logical-assignment-operators";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.5.tgz";
-        sha512 = "xqibl7ISO2vjuQM+MzR3rkd0zfNWltk7n9QhaD8ghMmMceVguYrNDt7MikRyj4J4v3QehpnrU8RYLnC7z/gZLA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz";
+        sha512 = "K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==";
       };
     };
-    "@babel/plugin-proposal-nullish-coalescing-operator-7.16.5" = {
+    "@babel/plugin-proposal-nullish-coalescing-operator-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-nullish-coalescing-operator";
       packageName = "@babel/plugin-proposal-nullish-coalescing-operator";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.5.tgz";
-        sha512 = "YwMsTp/oOviSBhrjwi0vzCUycseCYwoXnLiXIL3YNjHSMBHicGTz7GjVU/IGgz4DtOEXBdCNG72pvCX22ehfqg==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz";
+        sha512 = "aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==";
       };
     };
-    "@babel/plugin-proposal-numeric-separator-7.16.5" = {
+    "@babel/plugin-proposal-numeric-separator-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-numeric-separator";
       packageName = "@babel/plugin-proposal-numeric-separator";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.5.tgz";
-        sha512 = "DvB9l/TcsCRvsIV9v4jxR/jVP45cslTVC0PMVHvaJhhNuhn2Y1SOhCSFlPK777qLB5wb8rVDaNoqMTyOqtY5Iw==";
+        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==";
       };
     };
-    "@babel/plugin-proposal-object-rest-spread-7.16.5" = {
+    "@babel/plugin-proposal-object-rest-spread-7.17.3" = {
       name = "_at_babel_slash_plugin-proposal-object-rest-spread";
       packageName = "@babel/plugin-proposal-object-rest-spread";
-      version = "7.16.5";
+      version = "7.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.5.tgz";
-        sha512 = "UEd6KpChoyPhCoE840KRHOlGhEZFutdPDMGj+0I56yuTTOaT51GzmnEl/0uT41fB/vD2nT+Pci2KjezyE3HmUw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz";
+        sha512 = "yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==";
       };
     };
-    "@babel/plugin-proposal-optional-catch-binding-7.16.5" = {
+    "@babel/plugin-proposal-optional-catch-binding-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-optional-catch-binding";
       packageName = "@babel/plugin-proposal-optional-catch-binding";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.5.tgz";
-        sha512 = "ihCMxY1Iljmx4bWy/PIMJGXN4NS4oUj1MKynwO07kiKms23pNvIn1DMB92DNB2R0EA882sw0VXIelYGdtF7xEQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz";
+        sha512 = "eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==";
       };
     };
-    "@babel/plugin-proposal-optional-chaining-7.16.5" = {
+    "@babel/plugin-proposal-optional-chaining-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-optional-chaining";
       packageName = "@babel/plugin-proposal-optional-chaining";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.5.tgz";
-        sha512 = "kzdHgnaXRonttiTfKYnSVafbWngPPr2qKw9BWYBESl91W54e+9R5pP70LtWxV56g0f05f/SQrwHYkfvbwcdQ/A==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz";
+        sha512 = "eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==";
       };
     };
-    "@babel/plugin-proposal-private-methods-7.16.5" = {
+    "@babel/plugin-proposal-private-methods-7.16.11" = {
       name = "_at_babel_slash_plugin-proposal-private-methods";
       packageName = "@babel/plugin-proposal-private-methods";
-      version = "7.16.5";
+      version = "7.16.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.5.tgz";
-        sha512 = "+yFMO4BGT3sgzXo+lrq7orX5mAZt57DwUK6seqII6AcJnJOIhBJ8pzKH47/ql/d426uQ7YhN8DpUFirQzqYSUA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz";
+        sha512 = "F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==";
       };
     };
-    "@babel/plugin-proposal-unicode-property-regex-7.16.5" = {
+    "@babel/plugin-proposal-unicode-property-regex-7.16.7" = {
       name = "_at_babel_slash_plugin-proposal-unicode-property-regex";
       packageName = "@babel/plugin-proposal-unicode-property-regex";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.5.tgz";
-        sha512 = "s5sKtlKQyFSatt781HQwv1hoM5BQ9qRH30r+dK56OLDsHmV74mzwJNX7R1yMuE7VZKG5O6q/gmOGSAO6ikTudg==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz";
+        sha512 = "QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==";
       };
     };
     "@babel/plugin-syntax-async-generators-7.8.4" = {
@@ -517,229 +517,229 @@ let
         sha512 = "hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==";
       };
     };
-    "@babel/plugin-transform-arrow-functions-7.16.5" = {
+    "@babel/plugin-transform-arrow-functions-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-arrow-functions";
       packageName = "@babel/plugin-transform-arrow-functions";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.5.tgz";
-        sha512 = "8bTHiiZyMOyfZFULjsCnYOWG059FVMes0iljEHSfARhNgFfpsqE92OrCffv3veSw9rwMkYcFe9bj0ZoXU2IGtQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz";
+        sha512 = "9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==";
       };
     };
-    "@babel/plugin-transform-async-to-generator-7.16.5" = {
+    "@babel/plugin-transform-async-to-generator-7.16.8" = {
       name = "_at_babel_slash_plugin-transform-async-to-generator";
       packageName = "@babel/plugin-transform-async-to-generator";
-      version = "7.16.5";
+      version = "7.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.5.tgz";
-        sha512 = "TMXgfioJnkXU+XRoj7P2ED7rUm5jbnDWwlCuFVTpQboMfbSya5WrmubNBAMlk7KXvywpo8rd8WuYZkis1o2H8w==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz";
+        sha512 = "MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==";
       };
     };
-    "@babel/plugin-transform-block-scoped-functions-7.16.5" = {
+    "@babel/plugin-transform-block-scoped-functions-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-block-scoped-functions";
       packageName = "@babel/plugin-transform-block-scoped-functions";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.5.tgz";
-        sha512 = "BxmIyKLjUGksJ99+hJyL/HIxLIGnLKtw772zYDER7UuycDZ+Xvzs98ZQw6NGgM2ss4/hlFAaGiZmMNKvValEjw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz";
+        sha512 = "JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==";
       };
     };
-    "@babel/plugin-transform-block-scoping-7.16.5" = {
+    "@babel/plugin-transform-block-scoping-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-block-scoping";
       packageName = "@babel/plugin-transform-block-scoping";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.5.tgz";
-        sha512 = "JxjSPNZSiOtmxjX7PBRBeRJTUKTyJ607YUYeT0QJCNdsedOe+/rXITjP08eG8xUpsLfPirgzdCFN+h0w6RI+pQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz";
+        sha512 = "ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==";
       };
     };
-    "@babel/plugin-transform-classes-7.16.5" = {
+    "@babel/plugin-transform-classes-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-classes";
       packageName = "@babel/plugin-transform-classes";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.5.tgz";
-        sha512 = "DzJ1vYf/7TaCYy57J3SJ9rV+JEuvmlnvvyvYKFbk5u46oQbBvuB9/0w+YsVsxkOv8zVWKpDmUoj4T5ILHoXevA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz";
+        sha512 = "WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==";
       };
     };
-    "@babel/plugin-transform-computed-properties-7.16.5" = {
+    "@babel/plugin-transform-computed-properties-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-computed-properties";
       packageName = "@babel/plugin-transform-computed-properties";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.5.tgz";
-        sha512 = "n1+O7xtU5lSLraRzX88CNcpl7vtGdPakKzww74bVwpAIRgz9JVLJJpOLb0uYqcOaXVM0TL6X0RVeIJGD2CnCkg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz";
+        sha512 = "gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==";
       };
     };
-    "@babel/plugin-transform-destructuring-7.16.5" = {
+    "@babel/plugin-transform-destructuring-7.17.7" = {
       name = "_at_babel_slash_plugin-transform-destructuring";
       packageName = "@babel/plugin-transform-destructuring";
-      version = "7.16.5";
+      version = "7.17.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.5.tgz";
-        sha512 = "GuRVAsjq+c9YPK6NeTkRLWyQskDC099XkBSVO+6QzbnOnH2d/4mBVXYStaPrZD3dFRfg00I6BFJ9Atsjfs8mlg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz";
+        sha512 = "XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==";
       };
     };
-    "@babel/plugin-transform-dotall-regex-7.16.5" = {
+    "@babel/plugin-transform-dotall-regex-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-dotall-regex";
       packageName = "@babel/plugin-transform-dotall-regex";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.5.tgz";
-        sha512 = "iQiEMt8Q4/5aRGHpGVK2Zc7a6mx7qEAO7qehgSug3SDImnuMzgmm/wtJALXaz25zUj1PmnNHtShjFgk4PDx4nw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz";
+        sha512 = "Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==";
       };
     };
-    "@babel/plugin-transform-duplicate-keys-7.16.5" = {
+    "@babel/plugin-transform-duplicate-keys-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-duplicate-keys";
       packageName = "@babel/plugin-transform-duplicate-keys";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.5.tgz";
-        sha512 = "81tijpDg2a6I1Yhj4aWY1l3O1J4Cg/Pd7LfvuaH2VVInAkXtzibz9+zSPdUM1WvuUi128ksstAP0hM5w48vQgg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz";
+        sha512 = "03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==";
       };
     };
-    "@babel/plugin-transform-exponentiation-operator-7.16.5" = {
+    "@babel/plugin-transform-exponentiation-operator-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-exponentiation-operator";
       packageName = "@babel/plugin-transform-exponentiation-operator";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.5.tgz";
-        sha512 = "12rba2HwemQPa7BLIKCzm1pT2/RuQHtSFHdNl41cFiC6oi4tcrp7gjB07pxQvFpcADojQywSjblQth6gJyE6CA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz";
+        sha512 = "8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==";
       };
     };
-    "@babel/plugin-transform-for-of-7.16.5" = {
+    "@babel/plugin-transform-for-of-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-for-of";
       packageName = "@babel/plugin-transform-for-of";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.5.tgz";
-        sha512 = "+DpCAJFPAvViR17PIMi9x2AE34dll5wNlXO43wagAX2YcRGgEVHCNFC4azG85b4YyyFarvkc/iD5NPrz4Oneqw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz";
+        sha512 = "/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==";
       };
     };
-    "@babel/plugin-transform-function-name-7.16.5" = {
+    "@babel/plugin-transform-function-name-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-function-name";
       packageName = "@babel/plugin-transform-function-name";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.5.tgz";
-        sha512 = "Fuec/KPSpVLbGo6z1RPw4EE1X+z9gZk1uQmnYy7v4xr4TO9p41v1AoUuXEtyqAI7H+xNJYSICzRqZBhDEkd3kQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz";
+        sha512 = "SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==";
       };
     };
-    "@babel/plugin-transform-literals-7.16.5" = {
+    "@babel/plugin-transform-literals-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-literals";
       packageName = "@babel/plugin-transform-literals";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.5.tgz";
-        sha512 = "B1j9C/IfvshnPcklsc93AVLTrNVa69iSqztylZH6qnmiAsDDOmmjEYqOm3Ts2lGSgTSywnBNiqC949VdD0/gfw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz";
+        sha512 = "6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==";
       };
     };
-    "@babel/plugin-transform-member-expression-literals-7.16.5" = {
+    "@babel/plugin-transform-member-expression-literals-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-member-expression-literals";
       packageName = "@babel/plugin-transform-member-expression-literals";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.5.tgz";
-        sha512 = "d57i3vPHWgIde/9Y8W/xSFUndhvhZN5Wu2TjRrN1MVz5KzdUihKnfDVlfP1U7mS5DNj/WHHhaE4/tTi4hIyHwQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz";
+        sha512 = "mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==";
       };
     };
-    "@babel/plugin-transform-modules-amd-7.16.5" = {
+    "@babel/plugin-transform-modules-amd-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-modules-amd";
       packageName = "@babel/plugin-transform-modules-amd";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.5.tgz";
-        sha512 = "oHI15S/hdJuSCfnwIz+4lm6wu/wBn7oJ8+QrkzPPwSFGXk8kgdI/AIKcbR/XnD1nQVMg/i6eNaXpszbGuwYDRQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz";
+        sha512 = "KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==";
       };
     };
-    "@babel/plugin-transform-modules-commonjs-7.16.5" = {
+    "@babel/plugin-transform-modules-commonjs-7.17.7" = {
       name = "_at_babel_slash_plugin-transform-modules-commonjs";
       packageName = "@babel/plugin-transform-modules-commonjs";
-      version = "7.16.5";
+      version = "7.17.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.5.tgz";
-        sha512 = "ABhUkxvoQyqhCWyb8xXtfwqNMJD7tx+irIRnUh6lmyFud7Jln1WzONXKlax1fg/ey178EXbs4bSGNd6PngO+SQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.7.tgz";
+        sha512 = "ITPmR2V7MqioMJyrxUo2onHNC3e+MvfFiFIR0RP21d3PtlVb6sfzoxNKiphSZUOM9hEIdzCcZe83ieX3yoqjUA==";
       };
     };
-    "@babel/plugin-transform-modules-systemjs-7.16.5" = {
+    "@babel/plugin-transform-modules-systemjs-7.17.8" = {
       name = "_at_babel_slash_plugin-transform-modules-systemjs";
       packageName = "@babel/plugin-transform-modules-systemjs";
-      version = "7.16.5";
+      version = "7.17.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.5.tgz";
-        sha512 = "53gmLdScNN28XpjEVIm7LbWnD/b/TpbwKbLk6KV4KqC9WyU6rq1jnNmVG6UgAdQZVVGZVoik3DqHNxk4/EvrjA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz";
+        sha512 = "39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==";
       };
     };
-    "@babel/plugin-transform-modules-umd-7.16.5" = {
+    "@babel/plugin-transform-modules-umd-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-modules-umd";
       packageName = "@babel/plugin-transform-modules-umd";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.5.tgz";
-        sha512 = "qTFnpxHMoenNHkS3VoWRdwrcJ3FhX567GvDA3hRZKF0Dj8Fmg0UzySZp3AP2mShl/bzcywb/UWAMQIjA1bhXvw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz";
+        sha512 = "EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==";
       };
     };
-    "@babel/plugin-transform-named-capturing-groups-regex-7.16.5" = {
+    "@babel/plugin-transform-named-capturing-groups-regex-7.16.8" = {
       name = "_at_babel_slash_plugin-transform-named-capturing-groups-regex";
       packageName = "@babel/plugin-transform-named-capturing-groups-regex";
-      version = "7.16.5";
+      version = "7.16.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.5.tgz";
-        sha512 = "/wqGDgvFUeKELW6ex6QB7dLVRkd5ehjw34tpXu1nhKC0sFfmaLabIswnpf8JgDyV2NeDmZiwoOb0rAmxciNfjA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz";
+        sha512 = "j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==";
       };
     };
-    "@babel/plugin-transform-new-target-7.16.5" = {
+    "@babel/plugin-transform-new-target-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-new-target";
       packageName = "@babel/plugin-transform-new-target";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.5.tgz";
-        sha512 = "ZaIrnXF08ZC8jnKR4/5g7YakGVL6go6V9ql6Jl3ecO8PQaQqFE74CuM384kezju7Z9nGCCA20BqZaR1tJ/WvHg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz";
+        sha512 = "xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==";
       };
     };
-    "@babel/plugin-transform-object-super-7.16.5" = {
+    "@babel/plugin-transform-object-super-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-object-super";
       packageName = "@babel/plugin-transform-object-super";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.5.tgz";
-        sha512 = "tded+yZEXuxt9Jdtkc1RraW1zMF/GalVxaVVxh41IYwirdRgyAxxxCKZ9XB7LxZqmsjfjALxupNE1MIz9KH+Zg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz";
+        sha512 = "14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==";
       };
     };
-    "@babel/plugin-transform-parameters-7.16.5" = {
+    "@babel/plugin-transform-parameters-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-parameters";
       packageName = "@babel/plugin-transform-parameters";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.5.tgz";
-        sha512 = "B3O6AL5oPop1jAVg8CV+haeUte9oFuY85zu0jwnRNZZi3tVAbJriu5tag/oaO2kGaQM/7q7aGPBlTI5/sr9enA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz";
+        sha512 = "AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==";
       };
     };
-    "@babel/plugin-transform-property-literals-7.16.5" = {
+    "@babel/plugin-transform-property-literals-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-property-literals";
       packageName = "@babel/plugin-transform-property-literals";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.5.tgz";
-        sha512 = "+IRcVW71VdF9pEH/2R/Apab4a19LVvdVsr/gEeotH00vSDVlKD+XgfSIw+cgGWsjDB/ziqGv/pGoQZBIiQVXHg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz";
+        sha512 = "z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==";
       };
     };
-    "@babel/plugin-transform-regenerator-7.16.5" = {
+    "@babel/plugin-transform-regenerator-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-regenerator";
       packageName = "@babel/plugin-transform-regenerator";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.5.tgz";
-        sha512 = "2z+it2eVWU8TtQQRauvGUqZwLy4+7rTfo6wO4npr+fvvN1SW30ZF3O/ZRCNmTuu4F5MIP8OJhXAhRV5QMJOuYg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz";
+        sha512 = "mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==";
       };
     };
-    "@babel/plugin-transform-reserved-words-7.16.5" = {
+    "@babel/plugin-transform-reserved-words-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-reserved-words";
       packageName = "@babel/plugin-transform-reserved-words";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.5.tgz";
-        sha512 = "aIB16u8lNcf7drkhXJRoggOxSTUAuihTSTfAcpynowGJOZiGf+Yvi7RuTwFzVYSYPmWyARsPqUGoZWWWxLiknw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz";
+        sha512 = "KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==";
       };
     };
     "@babel/plugin-transform-runtime-7.12.10" = {
@@ -751,67 +751,67 @@ let
         sha512 = "xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA==";
       };
     };
-    "@babel/plugin-transform-shorthand-properties-7.16.5" = {
+    "@babel/plugin-transform-shorthand-properties-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-shorthand-properties";
       packageName = "@babel/plugin-transform-shorthand-properties";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.5.tgz";
-        sha512 = "ZbuWVcY+MAXJuuW7qDoCwoxDUNClfZxoo7/4swVbOW1s/qYLOMHlm9YRWMsxMFuLs44eXsv4op1vAaBaBaDMVg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz";
+        sha512 = "hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==";
       };
     };
-    "@babel/plugin-transform-spread-7.16.5" = {
+    "@babel/plugin-transform-spread-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-spread";
       packageName = "@babel/plugin-transform-spread";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.5.tgz";
-        sha512 = "5d6l/cnG7Lw4tGHEoga4xSkYp1euP7LAtrah1h1PgJ3JY7yNsjybsxQAnVK4JbtReZ/8z6ASVmd3QhYYKLaKZw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz";
+        sha512 = "+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==";
       };
     };
-    "@babel/plugin-transform-sticky-regex-7.16.5" = {
+    "@babel/plugin-transform-sticky-regex-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-sticky-regex";
       packageName = "@babel/plugin-transform-sticky-regex";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.5.tgz";
-        sha512 = "usYsuO1ID2LXxzuUxifgWtJemP7wL2uZtyrTVM4PKqsmJycdS4U4mGovL5xXkfUheds10Dd2PjoQLXw6zCsCbg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz";
+        sha512 = "NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==";
       };
     };
-    "@babel/plugin-transform-template-literals-7.16.5" = {
+    "@babel/plugin-transform-template-literals-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-template-literals";
       packageName = "@babel/plugin-transform-template-literals";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.5.tgz";
-        sha512 = "gnyKy9RyFhkovex4BjKWL3BVYzUDG6zC0gba7VMLbQoDuqMfJ1SDXs8k/XK41Mmt1Hyp4qNAvGFb9hKzdCqBRQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz";
+        sha512 = "VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==";
       };
     };
-    "@babel/plugin-transform-typeof-symbol-7.16.5" = {
+    "@babel/plugin-transform-typeof-symbol-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-typeof-symbol";
       packageName = "@babel/plugin-transform-typeof-symbol";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.5.tgz";
-        sha512 = "ldxCkW180qbrvyCVDzAUZqB0TAeF8W/vGJoRcaf75awm6By+PxfJKvuqVAnq8N9wz5Xa6mSpM19OfVKKVmGHSQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz";
+        sha512 = "p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==";
       };
     };
-    "@babel/plugin-transform-unicode-escapes-7.16.5" = {
+    "@babel/plugin-transform-unicode-escapes-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-unicode-escapes";
       packageName = "@babel/plugin-transform-unicode-escapes";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.5.tgz";
-        sha512 = "shiCBHTIIChGLdyojsKQjoAyB8MBwat25lKM7MJjbe1hE0bgIppD+LX9afr41lLHOhqceqeWl4FkLp+Bgn9o1Q==";
+        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==";
       };
     };
-    "@babel/plugin-transform-unicode-regex-7.16.5" = {
+    "@babel/plugin-transform-unicode-regex-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-unicode-regex";
       packageName = "@babel/plugin-transform-unicode-regex";
-      version = "7.16.5";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.5.tgz";
-        sha512 = "GTJ4IW012tiPEMMubd7sD07iU9O/LOo8Q/oU4xNhcaq0Xn8+6TcUQaHtC8YxySo1T+ErQ8RaWogIEeFhKGNPzw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz";
+        sha512 = "oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==";
       };
     };
     "@babel/preset-env-7.12.10" = {
@@ -841,31 +841,31 @@ let
         sha512 = "plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==";
       };
     };
-    "@babel/template-7.16.0" = {
+    "@babel/template-7.16.7" = {
       name = "_at_babel_slash_template";
       packageName = "@babel/template";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz";
-        sha512 = "MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==";
+        url = "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz";
+        sha512 = "I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==";
       };
     };
-    "@babel/traverse-7.16.5" = {
+    "@babel/traverse-7.17.3" = {
       name = "_at_babel_slash_traverse";
       packageName = "@babel/traverse";
-      version = "7.16.5";
+      version = "7.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.5.tgz";
-        sha512 = "FOCODAzqUMROikDYLYxl4nmwiLlu85rNqBML/A5hKRVXG2LV8d0iMqgPzdYTcIpjZEBB7D6UDU9vxRZiriASdQ==";
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz";
+        sha512 = "5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==";
       };
     };
-    "@babel/types-7.16.0" = {
+    "@babel/types-7.17.0" = {
       name = "_at_babel_slash_types";
       packageName = "@babel/types";
-      version = "7.16.0";
+      version = "7.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz";
-        sha512 = "PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==";
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz";
+        sha512 = "TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==";
       };
     };
     "@hapi/address-2.1.4" = {
@@ -913,6 +913,24 @@ let
         sha512 = "tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==";
       };
     };
+    "@kwsites/file-exists-1.1.1" = {
+      name = "_at_kwsites_slash_file-exists";
+      packageName = "@kwsites/file-exists";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz";
+        sha512 = "m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==";
+      };
+    };
+    "@kwsites/promise-deferred-1.1.1" = {
+      name = "_at_kwsites_slash_promise-deferred";
+      packageName = "@kwsites/promise-deferred";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz";
+        sha512 = "GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==";
+      };
+    };
     "@mrmlnc/readdir-enhanced-2.2.1" = {
       name = "_at_mrmlnc_slash_readdir-enhanced";
       packageName = "@mrmlnc/readdir-enhanced";
@@ -1039,22 +1057,31 @@ let
         sha512 = "5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==";
       };
     };
-    "@types/json-schema-7.0.9" = {
+    "@types/jest-27.4.1" = {
+      name = "_at_types_slash_jest";
+      packageName = "@types/jest";
+      version = "27.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/jest/-/jest-27.4.1.tgz";
+        sha512 = "23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==";
+      };
+    };
+    "@types/json-schema-7.0.11" = {
       name = "_at_types_slash_json-schema";
       packageName = "@types/json-schema";
-      version = "7.0.9";
+      version = "7.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz";
-        sha512 = "qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==";
+        url = "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz";
+        sha512 = "wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==";
       };
     };
-    "@types/keyv-3.1.3" = {
+    "@types/keyv-3.1.4" = {
       name = "_at_types_slash_keyv";
       packageName = "@types/keyv";
-      version = "3.1.3";
+      version = "3.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.3.tgz";
-        sha512 = "FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg==";
+        url = "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz";
+        sha512 = "BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==";
       };
     };
     "@types/minimatch-3.0.5" = {
@@ -1066,13 +1093,13 @@ let
         sha512 = "Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==";
       };
     };
-    "@types/node-17.0.5" = {
+    "@types/node-17.0.23" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "17.0.5";
+      version = "17.0.23";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-17.0.5.tgz";
-        sha512 = "w3mrvNXLeDYV1GKTZorGJQivK6XLCoGwpnyJFbJVK/aTBQUxOCaa/GlFAAN3OTDFcb7h5tiFG+YXCO2By+riZw==";
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz";
+        sha512 = "UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==";
       };
     };
     "@types/parse-json-4.0.0" = {
@@ -1336,13 +1363,13 @@ let
         sha512 = "nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==";
       };
     };
-    "accepts-1.3.7" = {
+    "accepts-1.3.8" = {
       name = "accepts";
       packageName = "accepts";
-      version = "1.3.7";
+      version = "1.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz";
-        sha512 = "Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==";
+        url = "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz";
+        sha512 = "PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==";
       };
     };
     "acorn-6.4.2" = {
@@ -1372,6 +1399,15 @@ let
         sha512 = "j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==";
       };
     };
+    "ajv-8.11.0" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "8.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz";
+        sha512 = "wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==";
+      };
+    };
     "ajv-errors-1.0.1" = {
       name = "ajv-errors";
       packageName = "ajv-errors";
@@ -1444,22 +1480,22 @@ let
         sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
       };
     };
-    "ansi-regex-3.0.0" = {
+    "ansi-regex-3.0.1" = {
       name = "ansi-regex";
       packageName = "ansi-regex";
-      version = "3.0.0";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz";
-        sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz";
+        sha512 = "+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==";
       };
     };
-    "ansi-regex-4.1.0" = {
+    "ansi-regex-4.1.1" = {
       name = "ansi-regex";
       packageName = "ansi-regex";
-      version = "4.1.0";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz";
-        sha512 = "1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==";
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz";
+        sha512 = "ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==";
       };
     };
     "ansi-regex-5.0.1" = {
@@ -1498,6 +1534,15 @@ let
         sha512 = "zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==";
       };
     };
+    "ansi-styles-5.2.0" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz";
+        sha512 = "Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==";
+      };
+    };
     "anymatch-2.0.0" = {
       name = "anymatch";
       packageName = "anymatch";
@@ -1705,13 +1750,13 @@ let
         sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367";
       };
     };
-    "astral-regex-1.0.0" = {
+    "astral-regex-2.0.0" = {
       name = "astral-regex";
       packageName = "astral-regex";
-      version = "1.0.0";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz";
-        sha512 = "+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==";
+        url = "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz";
+        sha512 = "Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==";
       };
     };
     "async-0.9.2" = {
@@ -2056,13 +2101,13 @@ let
         sha512 = "dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==";
       };
     };
-    "body-parser-1.19.1" = {
+    "body-parser-1.19.2" = {
       name = "body-parser";
       packageName = "body-parser";
-      version = "1.19.1";
+      version = "1.19.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz";
-        sha512 = "8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==";
+        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz";
+        sha512 = "SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==";
       };
     };
     "bonjour-3.5.0" = {
@@ -2182,13 +2227,13 @@ let
         sha512 = "VBorw+tgpOtZ1BYhrVSVTzTt/3+vSE3eFUh0N2GCFK1HffceOaf32YS/bs6WiFhjDAblAFrx85jMy3BG9fBK2Q==";
       };
     };
-    "browserslist-4.19.1" = {
+    "browserslist-4.20.2" = {
       name = "browserslist";
       packageName = "browserslist";
-      version = "4.19.1";
+      version = "4.20.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz";
-        sha512 = "u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==";
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz";
+        sha512 = "CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==";
       };
     };
     "buffer-4.9.2" = {
@@ -2272,13 +2317,13 @@ let
         sha512 = "zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==";
       };
     };
-    "bytes-3.1.1" = {
+    "bytes-3.1.2" = {
       name = "bytes";
       packageName = "bytes";
-      version = "3.1.1";
+      version = "3.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz";
-        sha512 = "dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==";
+        url = "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz";
+        sha512 = "/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==";
       };
     };
     "cacache-10.0.4" = {
@@ -2416,13 +2461,13 @@ let
         sha512 = "L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==";
       };
     };
-    "camelcase-6.2.1" = {
+    "camelcase-6.3.0" = {
       name = "camelcase";
       packageName = "camelcase";
-      version = "6.2.1";
+      version = "6.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase/-/camelcase-6.2.1.tgz";
-        sha512 = "tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==";
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz";
+        sha512 = "Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==";
       };
     };
     "caniuse-api-3.0.0" = {
@@ -2434,13 +2479,13 @@ let
         sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
       };
     };
-    "caniuse-lite-1.0.30001294" = {
+    "caniuse-lite-1.0.30001324" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001294";
+      version = "1.0.30001324";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001294.tgz";
-        sha512 = "LiMlrs1nSKZ8qkNhpUf5KD0Al1KCBE3zaT7OLOwEkagXMEDij98SiOovn9wxVGQpklk9vVC/pUSqgYmkmKOS8g==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001324.tgz";
+        sha512 = "/eYp1J6zYh1alySQB4uzYFkLmxxI8tk0kxldbNHXp8+v+rdMKdUBNjRLz7T7fz6Iox+1lIdYpc7rq6ZcXfTukg==";
       };
     };
     "case-sensitive-paths-webpack-plugin-2.3.0" = {
@@ -2569,13 +2614,13 @@ let
         sha512 = "/j5PPkb5Feyps9e+jo07jUZGvkB5Aj953NrI4s8xSVScrAo/RHeILrtdb4uzR7N6aaFFxxJ+gt8mA8HfNpw76w==";
       };
     };
-    "chokidar-3.5.2" = {
+    "chokidar-3.5.3" = {
       name = "chokidar";
       packageName = "chokidar";
-      version = "3.5.2";
+      version = "3.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz";
-        sha512 = "ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==";
+        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz";
+        sha512 = "Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==";
       };
     };
     "chownr-1.1.4" = {
@@ -3064,13 +3109,13 @@ let
         sha1 = "e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb";
       };
     };
-    "cookie-0.4.1" = {
+    "cookie-0.4.2" = {
       name = "cookie";
       packageName = "cookie";
-      version = "0.4.1";
+      version = "0.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz";
-        sha512 = "ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==";
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz";
+        sha512 = "aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==";
       };
     };
     "cookie-signature-1.0.6" = {
@@ -3118,13 +3163,13 @@ let
         sha512 = "Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==";
       };
     };
-    "core-js-compat-3.20.1" = {
+    "core-js-compat-3.21.1" = {
       name = "core-js-compat";
       packageName = "core-js-compat";
-      version = "3.20.1";
+      version = "3.21.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.1.tgz";
-        sha512 = "AVhKZNpqMV3Jz8hU0YEXXE06qoxtQGsAqU0u1neUngz5IusDJRX/ZJ6t3i7mS7QxNyEONbCo14GprkBrxPlTZA==";
+        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.21.1.tgz";
+        sha512 = "gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -3298,13 +3343,13 @@ let
         sha512 = "Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==";
       };
     };
-    "css-select-4.2.1" = {
+    "css-select-4.3.0" = {
       name = "css-select";
       packageName = "css-select";
-      version = "4.2.1";
+      version = "4.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz";
-        sha512 = "/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==";
+        url = "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz";
+        sha512 = "wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==";
       };
     };
     "css-select-base-adapter-0.1.1" = {
@@ -3343,13 +3388,13 @@ let
         sha512 = "ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==";
       };
     };
-    "css-what-5.1.0" = {
+    "css-what-6.1.0" = {
       name = "css-what";
       packageName = "css-what";
-      version = "5.1.0";
+      version = "6.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz";
-        sha512 = "arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==";
+        url = "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz";
+        sha512 = "HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==";
       };
     };
     "cssesc-3.0.0" = {
@@ -3469,13 +3514,13 @@ let
         sha512 = "CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==";
       };
     };
-    "debug-4.3.3" = {
+    "debug-4.3.4" = {
       name = "debug";
       packageName = "debug";
-      version = "4.3.3";
+      version = "4.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz";
-        sha512 = "/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==";
+        url = "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz";
+        sha512 = "PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==";
       };
     };
     "decamelize-1.2.0" = {
@@ -3649,6 +3694,15 @@ let
         sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9";
       };
     };
+    "depd-2.0.0" = {
+      name = "depd";
+      packageName = "depd";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz";
+        sha512 = "g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==";
+      };
+    };
     "des.js-1.0.1" = {
       name = "des.js";
       packageName = "des.js";
@@ -3667,6 +3721,15 @@ let
         sha1 = "978857442c44749e4206613e37946205826abd80";
       };
     };
+    "destroy-1.2.0" = {
+      name = "destroy";
+      packageName = "destroy";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz";
+        sha512 = "2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==";
+      };
+    };
     "detect-node-2.1.0" = {
       name = "detect-node";
       packageName = "detect-node";
@@ -3685,6 +3748,15 @@ let
         sha512 = "5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==";
       };
     };
+    "diff-sequences-27.5.1" = {
+      name = "diff-sequences";
+      packageName = "diff-sequences";
+      version = "27.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz";
+        sha512 = "k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==";
+      };
+    };
     "diffie-hellman-5.0.3" = {
       name = "diffie-hellman";
       packageName = "diffie-hellman";
@@ -3793,13 +3865,13 @@ let
         sha512 = "DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==";
       };
     };
-    "domhandler-4.3.0" = {
+    "domhandler-4.3.1" = {
       name = "domhandler";
       packageName = "domhandler";
-      version = "4.3.0";
+      version = "4.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz";
-        sha512 = "fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==";
+        url = "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz";
+        sha512 = "GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==";
       };
     };
     "domutils-1.7.0" = {
@@ -3892,13 +3964,13 @@ let
         sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
       };
     };
-    "electron-to-chromium-1.4.30" = {
+    "electron-to-chromium-1.4.103" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.4.30";
+      version = "1.4.103";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.30.tgz";
-        sha512 = "609z9sIMxDHg+TcR/VB3MXwH+uwtrYyeAwWc/orhnr90ixs6WVGSrt85CDLGUdNnLqCA7liv426V20EecjvflQ==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.103.tgz";
+        sha512 = "c/uKWR1Z/W30Wy/sx3dkZoj4BijbXX85QKWu9jJfjho3LBAXNEGAEW3oWiGb+dotA6C6BzCTxL2/aLes7jlUeg==";
       };
     };
     "elliptic-6.5.4" = {
@@ -4099,13 +4171,13 @@ let
         sha512 = "7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==";
       };
     };
-    "es-abstract-1.19.1" = {
+    "es-abstract-1.19.2" = {
       name = "es-abstract";
       packageName = "es-abstract";
-      version = "1.19.1";
+      version = "1.19.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz";
-        sha512 = "2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==";
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.2.tgz";
+        sha512 = "gfSBJoZdlL2xRiOCy0g8gLMryhoe1TlimjzU99L/31Z8QEGIhVQI+EWwt5lT+AuU9SnorVupXFqqOGqGfsyO6w==";
       };
     };
     "es-to-primitive-1.2.1" = {
@@ -4333,13 +4405,13 @@ let
         sha1 = "6af8a502350db3246ecc4becf6b5a34d22f7ed53";
       };
     };
-    "express-4.17.2" = {
+    "express-4.17.3" = {
       name = "express";
       packageName = "express";
-      version = "4.17.2";
+      version = "4.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/express/-/express-4.17.2.tgz";
-        sha512 = "oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==";
+        url = "https://registry.npmjs.org/express/-/express-4.17.3.tgz";
+        sha512 = "yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==";
       };
     };
     "express-ws-2.0.0" = {
@@ -4450,13 +4522,13 @@ let
         sha512 = "g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==";
       };
     };
-    "fast-glob-3.2.7" = {
+    "fast-glob-3.2.11" = {
       name = "fast-glob";
       packageName = "fast-glob";
-      version = "3.2.7";
+      version = "3.2.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz";
-        sha512 = "rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==";
+        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz";
+        sha512 = "xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==";
       };
     };
     "fast-json-stable-stringify-2.1.0" = {
@@ -4747,13 +4819,13 @@ let
         sha512 = "SDgHBgV+RCjrYs8aUwCb9rTgbTVuSdzvFmLaChsLre1yf+D64khCW++VYciaByZ8Rm0uKF8R/XEpXuTRSGUM1A==";
       };
     };
-    "follow-redirects-1.14.6" = {
+    "follow-redirects-1.14.9" = {
       name = "follow-redirects";
       packageName = "follow-redirects";
-      version = "1.14.6";
+      version = "1.14.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.6.tgz";
-        sha512 = "fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==";
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz";
+        sha512 = "MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==";
       };
     };
     "for-in-1.0.2" = {
@@ -4792,13 +4864,13 @@ let
         sha512 = "buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==";
       };
     };
-    "fraction.js-4.1.2" = {
+    "fraction.js-4.2.0" = {
       name = "fraction.js";
       packageName = "fraction.js";
-      version = "4.1.2";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.2.tgz";
-        sha512 = "o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA==";
+        url = "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz";
+        sha512 = "MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==";
       };
     };
     "fragment-cache-0.2.1" = {
@@ -5080,6 +5152,15 @@ let
         sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
       };
     };
+    "git-clone-able-0.1.2" = {
+      name = "git-clone-able";
+      packageName = "git-clone-able";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/git-clone-able/-/git-clone-able-0.1.2.tgz";
+        sha1 = "13d4cced31fdcaa51db5027b3c90a8bdf867bccb";
+      };
+    };
     "glob-7.1.4" = {
       name = "glob";
       packageName = "glob";
@@ -5152,13 +5233,13 @@ let
         sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==";
       };
     };
-    "globby-11.0.4" = {
+    "globby-11.1.0" = {
       name = "globby";
       packageName = "globby";
-      version = "11.0.4";
+      version = "11.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz";
-        sha512 = "9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==";
+        url = "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz";
+        sha512 = "jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==";
       };
     };
     "globby-6.1.0" = {
@@ -5206,13 +5287,13 @@ let
         sha512 = "R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==";
       };
     };
-    "graceful-fs-4.2.8" = {
+    "graceful-fs-4.2.9" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.2.8";
+      version = "4.2.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz";
-        sha512 = "qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz";
+        sha512 = "NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==";
       };
     };
     "gzip-size-5.0.0" = {
@@ -5305,13 +5386,13 @@ let
         sha512 = "3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==";
       };
     };
-    "has-symbols-1.0.2" = {
+    "has-symbols-1.0.3" = {
       name = "has-symbols";
       packageName = "has-symbols";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz";
-        sha512 = "chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==";
+        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz";
+        sha512 = "l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==";
       };
     };
     "has-to-string-tag-x-1.4.1" = {
@@ -5557,13 +5638,22 @@ let
         sha512 = "Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==";
       };
     };
-    "http-parser-js-0.5.5" = {
+    "http-errors-2.0.0" = {
+      name = "http-errors";
+      packageName = "http-errors";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz";
+        sha512 = "FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==";
+      };
+    };
+    "http-parser-js-0.5.6" = {
       name = "http-parser-js";
       packageName = "http-parser-js";
-      version = "0.5.5";
+      version = "0.5.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.5.tgz";
-        sha512 = "x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA==";
+        url = "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz";
+        sha512 = "vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==";
       };
     };
     "http-proxy-1.17.0" = {
@@ -5998,13 +6088,13 @@ let
         sha1 = "cfff471aee4dd5c9e158598fbe12967b5cdad345";
       };
     };
-    "is-core-module-2.8.0" = {
+    "is-core-module-2.8.1" = {
       name = "is-core-module";
       packageName = "is-core-module";
-      version = "2.8.0";
+      version = "2.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz";
-        sha512 = "vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==";
+        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz";
+        sha512 = "SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==";
       };
     };
     "is-data-descriptor-0.1.4" = {
@@ -6124,15 +6214,6 @@ let
         sha512 = "zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==";
       };
     };
-    "is-git-url-1.0.0" = {
-      name = "is-git-url";
-      packageName = "is-git-url";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-git-url/-/is-git-url-1.0.0.tgz";
-        sha1 = "53f684cd143285b52c3244b4e6f28253527af66b";
-      };
-    };
     "is-glob-3.1.0" = {
       name = "is-glob";
       packageName = "is-glob";
@@ -6187,13 +6268,13 @@ let
         sha512 = "41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==";
       };
     };
-    "is-number-object-1.0.6" = {
+    "is-number-object-1.0.7" = {
       name = "is-number-object";
       packageName = "is-number-object";
-      version = "1.0.6";
+      version = "1.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz";
-        sha512 = "bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==";
+        url = "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz";
+        sha512 = "k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==";
       };
     };
     "is-obj-1.0.1" = {
@@ -6304,13 +6385,13 @@ let
         sha512 = "F/pJIk8QD6OX5DNhRB7hWamLsUilmkDGho48KbgZ6xg/lmAZXHxzXQ91jzB3yRSw5kdQGGGc4yz8HYhTYIMWPg==";
       };
     };
-    "is-shared-array-buffer-1.0.1" = {
+    "is-shared-array-buffer-1.0.2" = {
       name = "is-shared-array-buffer";
       packageName = "is-shared-array-buffer";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz";
-        sha512 = "IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==";
+        url = "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz";
+        sha512 = "sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==";
       };
     };
     "is-stream-1.1.0" = {
@@ -6466,6 +6547,33 @@ let
         sha512 = "1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==";
       };
     };
+    "jest-diff-27.5.1" = {
+      name = "jest-diff";
+      packageName = "jest-diff";
+      version = "27.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz";
+        sha512 = "m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==";
+      };
+    };
+    "jest-get-type-27.5.1" = {
+      name = "jest-get-type";
+      packageName = "jest-get-type";
+      version = "27.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz";
+        sha512 = "2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==";
+      };
+    };
+    "jest-matcher-utils-27.5.1" = {
+      name = "jest-matcher-utils";
+      packageName = "jest-matcher-utils";
+      version = "27.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz";
+        sha512 = "z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==";
+      };
+    };
     "js-tokens-4.0.0" = {
       name = "js-tokens";
       packageName = "js-tokens";
@@ -6565,6 +6673,15 @@ let
         sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==";
       };
     };
+    "json-schema-traverse-1.0.0" = {
+      name = "json-schema-traverse";
+      packageName = "json-schema-traverse";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz";
+        sha512 = "NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==";
+      };
+    };
     "json-stable-stringify-1.0.1" = {
       name = "json-stable-stringify";
       packageName = "json-stable-stringify";
@@ -6610,13 +6727,13 @@ let
         sha512 = "aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==";
       };
     };
-    "json5-2.2.0" = {
+    "json5-2.2.1" = {
       name = "json5";
       packageName = "json5";
-      version = "2.2.0";
+      version = "2.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz";
-        sha512 = "f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==";
+        url = "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz";
+        sha512 = "1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==";
       };
     };
     "jsonfile-2.4.0" = {
@@ -6673,13 +6790,13 @@ let
         sha512 = "9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==";
       };
     };
-    "keyv-4.0.4" = {
+    "keyv-4.1.1" = {
       name = "keyv";
       packageName = "keyv";
-      version = "4.0.4";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/keyv/-/keyv-4.0.4.tgz";
-        sha512 = "vqNHbAc8BBsxk+7QBYLW0Y219rWcClspR6WSeoHYKG5mnsSoOH+BL1pWq02DDCVdvvuUny5rkBlzMRzoqc+GIg==";
+        url = "https://registry.npmjs.org/keyv/-/keyv-4.1.1.tgz";
+        sha512 = "tGv1yP6snQVDSM4X6yxrv2zzq/EvpW+oYiUz6aueW1u9CtS8RzUQYxxmFwgZlO2jSgCxQbchhxaqXXp2hnKGpQ==";
       };
     };
     "killable-1.0.1" = {
@@ -6916,6 +7033,15 @@ let
         sha512 = "stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==";
       };
     };
+    "lodash.truncate-4.4.2" = {
+      name = "lodash.truncate";
+      packageName = "lodash.truncate";
+      version = "4.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz";
+        sha1 = "5a350da0b1113b837ecfffd5812cbe58d6eae193";
+      };
+    };
     "lodash.uniq-4.5.0" = {
       name = "lodash.uniq";
       packageName = "lodash.uniq";
@@ -7150,13 +7276,13 @@ let
         sha512 = "MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==";
       };
     };
-    "micromatch-4.0.4" = {
+    "micromatch-4.0.5" = {
       name = "micromatch";
       packageName = "micromatch";
-      version = "4.0.4";
+      version = "4.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz";
-        sha512 = "pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==";
+        url = "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz";
+        sha512 = "DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==";
       };
     };
     "miller-rabin-4.0.1" = {
@@ -7204,22 +7330,22 @@ let
         sha512 = "USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==";
       };
     };
-    "mime-db-1.51.0" = {
+    "mime-db-1.52.0" = {
       name = "mime-db";
       packageName = "mime-db";
-      version = "1.51.0";
+      version = "1.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz";
-        sha512 = "5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz";
+        sha512 = "sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==";
       };
     };
-    "mime-types-2.1.34" = {
+    "mime-types-2.1.35" = {
       name = "mime-types";
       packageName = "mime-types";
-      version = "2.1.34";
+      version = "2.1.35";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz";
-        sha512 = "6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==";
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz";
+        sha512 = "ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==";
       };
     };
     "mimic-fn-1.2.0" = {
@@ -7294,6 +7420,24 @@ let
         sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
       };
     };
+    "minimatch-3.0.8" = {
+      name = "minimatch";
+      packageName = "minimatch";
+      version = "3.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz";
+        sha512 = "6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==";
+      };
+    };
+    "minimatch-3.1.2" = {
+      name = "minimatch";
+      packageName = "minimatch";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz";
+        sha512 = "J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==";
+      };
+    };
     "minimist-1.2.0" = {
       name = "minimist";
       packageName = "minimist";
@@ -7312,6 +7456,15 @@ let
         sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==";
       };
     };
+    "minimist-1.2.6" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "1.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz";
+        sha512 = "Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==";
+      };
+    };
     "minipass-2.9.0" = {
       name = "minipass";
       packageName = "minipass";
@@ -7384,13 +7537,13 @@ let
         sha512 = "P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==";
       };
     };
-    "mkdirp-0.5.5" = {
+    "mkdirp-0.5.6" = {
       name = "mkdirp";
       packageName = "mkdirp";
-      version = "0.5.5";
+      version = "0.5.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz";
-        sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==";
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz";
+        sha512 = "FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==";
       };
     };
     "mkdirp-1.0.4" = {
@@ -7519,13 +7672,13 @@ let
         sha512 = "8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==";
       };
     };
-    "nanoid-3.1.30" = {
+    "nanoid-3.3.2" = {
       name = "nanoid";
       packageName = "nanoid";
-      version = "3.1.30";
+      version = "3.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz";
-        sha512 = "zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==";
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz";
+        sha512 = "CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==";
       };
     };
     "nanomatch-1.2.13" = {
@@ -7546,13 +7699,13 @@ let
         sha1 = "d15367e5cb87432ba117d2bf80fdf45aecfb4246";
       };
     };
-    "negotiator-0.6.2" = {
+    "negotiator-0.6.3" = {
       name = "negotiator";
       packageName = "negotiator";
-      version = "0.6.2";
+      version = "0.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz";
-        sha512 = "hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==";
+        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz";
+        sha512 = "+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==";
       };
     };
     "neo-async-2.6.2" = {
@@ -7627,13 +7780,13 @@ let
         sha512 = "rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==";
       };
     };
-    "node-releases-2.0.1" = {
+    "node-releases-2.0.2" = {
       name = "node-releases";
       packageName = "node-releases";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz";
-        sha512 = "CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==";
+        url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz";
+        sha512 = "XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==";
       };
     };
     "node-watch-0.5.5" = {
@@ -7906,6 +8059,15 @@ let
         sha1 = "20f1336481b083cd75337992a16971aa2d906947";
       };
     };
+    "on-finished-2.4.1" = {
+      name = "on-finished";
+      packageName = "on-finished";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz";
+        sha512 = "oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==";
+      };
+    };
     "on-headers-1.0.2" = {
       name = "on-headers";
       packageName = "on-headers";
@@ -8464,13 +8626,13 @@ let
         sha512 = "1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==";
       };
     };
-    "picomatch-2.3.0" = {
+    "picomatch-2.3.1" = {
       name = "picomatch";
       packageName = "picomatch";
-      version = "2.3.0";
+      version = "2.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz";
-        sha512 = "lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==";
+        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz";
+        sha512 = "JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==";
       };
     };
     "pify-2.3.0" = {
@@ -8608,13 +8770,13 @@ let
         sha512 = "yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==";
       };
     };
-    "postcss-8.4.5" = {
+    "postcss-8.4.12" = {
       name = "postcss";
       packageName = "postcss";
-      version = "8.4.5";
+      version = "8.4.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz";
-        sha512 = "jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==";
+        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz";
+        sha512 = "lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==";
       };
     };
     "postcss-calc-7.0.5" = {
@@ -8914,13 +9076,13 @@ let
         sha512 = "h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==";
       };
     };
-    "postcss-selector-parser-6.0.8" = {
+    "postcss-selector-parser-6.0.10" = {
       name = "postcss-selector-parser";
       packageName = "postcss-selector-parser";
-      version = "6.0.8";
+      version = "6.0.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.8.tgz";
-        sha512 = "D5PG53d209Z1Uhcc0qAZ5U3t5HagH3cxu+WLZ22jt3gLUpXM4eXXfiO14jiDWST3NNooX/E8wISfOhZ9eIjGTQ==";
+        url = "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz";
+        sha512 = "IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==";
       };
     };
     "postcss-svgo-4.0.3" = {
@@ -8995,6 +9157,15 @@ let
         sha512 = "EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==";
       };
     };
+    "pretty-format-27.5.1" = {
+      name = "pretty-format";
+      packageName = "pretty-format";
+      version = "27.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz";
+        sha512 = "Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==";
+      };
+    };
     "process-0.11.10" = {
       name = "process";
       packageName = "process";
@@ -9184,13 +9355,13 @@ let
         sha512 = "eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==";
       };
     };
-    "qs-6.5.2" = {
+    "qs-6.5.3" = {
       name = "qs";
       packageName = "qs";
-      version = "6.5.2";
+      version = "6.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz";
-        sha512 = "N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==";
+        url = "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz";
+        sha512 = "qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==";
       };
     };
     "qs-6.7.0" = {
@@ -9202,13 +9373,13 @@ let
         sha512 = "VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==";
       };
     };
-    "qs-6.9.6" = {
+    "qs-6.9.7" = {
       name = "qs";
       packageName = "qs";
-      version = "6.9.6";
+      version = "6.9.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz";
-        sha512 = "TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==";
+        url = "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz";
+        sha512 = "IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==";
       };
     };
     "query-string-4.3.4" = {
@@ -9301,13 +9472,13 @@ let
         sha512 = "4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==";
       };
     };
-    "raw-body-2.4.2" = {
+    "raw-body-2.4.3" = {
       name = "raw-body";
       packageName = "raw-body";
-      version = "2.4.2";
+      version = "2.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz";
-        sha512 = "RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==";
+        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz";
+        sha512 = "UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==";
       };
     };
     "rc-1.2.8" = {
@@ -9346,6 +9517,15 @@ let
         sha512 = "X1Y+0jR47ImDVr54Ab6V9eGk0Hnu7fVWGeHQSOXHf/C2pF9c6uy3gef8QUeuUiWlNb0i08InPSE5a/KJzNzw1Q==";
       };
     };
+    "react-is-17.0.2" = {
+      name = "react-is";
+      packageName = "react-is";
+      version = "17.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz";
+        sha512 = "w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==";
+      };
+    };
     "read-1.0.7" = {
       name = "read";
       packageName = "read";
@@ -9454,13 +9634,13 @@ let
         sha512 = "zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==";
       };
     };
-    "regenerate-unicode-properties-9.0.0" = {
+    "regenerate-unicode-properties-10.0.1" = {
       name = "regenerate-unicode-properties";
       packageName = "regenerate-unicode-properties";
-      version = "9.0.0";
+      version = "10.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz";
-        sha512 = "3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==";
+        url = "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz";
+        sha512 = "vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==";
       };
     };
     "regenerator-runtime-0.11.1" = {
@@ -9508,22 +9688,22 @@ let
         sha512 = "J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==";
       };
     };
-    "regexp.prototype.flags-1.3.1" = {
+    "regexp.prototype.flags-1.4.1" = {
       name = "regexp.prototype.flags";
       packageName = "regexp.prototype.flags";
-      version = "1.3.1";
+      version = "1.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz";
-        sha512 = "JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==";
+        url = "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz";
+        sha512 = "pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==";
       };
     };
-    "regexpu-core-4.8.0" = {
+    "regexpu-core-5.0.1" = {
       name = "regexpu-core";
       packageName = "regexpu-core";
-      version = "4.8.0";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz";
-        sha512 = "1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==";
+        url = "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz";
+        sha512 = "CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==";
       };
     };
     "registry-auth-token-4.2.1" = {
@@ -9544,22 +9724,22 @@ let
         sha512 = "8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==";
       };
     };
-    "regjsgen-0.5.2" = {
+    "regjsgen-0.6.0" = {
       name = "regjsgen";
       packageName = "regjsgen";
-      version = "0.5.2";
+      version = "0.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz";
-        sha512 = "OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==";
+        url = "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz";
+        sha512 = "ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==";
       };
     };
-    "regjsparser-0.7.0" = {
+    "regjsparser-0.8.4" = {
       name = "regjsparser";
       packageName = "regjsparser";
-      version = "0.7.0";
+      version = "0.8.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz";
-        sha512 = "A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==";
+        url = "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz";
+        sha512 = "J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==";
       };
     };
     "relateurl-0.2.7" = {
@@ -9652,6 +9832,15 @@ let
         sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
       };
     };
+    "require-from-string-2.0.2" = {
+      name = "require-from-string";
+      packageName = "require-from-string";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz";
+        sha512 = "Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==";
+      };
+    };
     "require-main-filename-1.0.1" = {
       name = "require-main-filename";
       packageName = "require-main-filename";
@@ -9679,13 +9868,13 @@ let
         sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff";
       };
     };
-    "resolve-1.20.0" = {
+    "resolve-1.22.0" = {
       name = "resolve";
       packageName = "resolve";
-      version = "1.20.0";
+      version = "1.22.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz";
-        sha512 = "wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==";
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz";
+        sha512 = "Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==";
       };
     };
     "resolve-cwd-2.0.0" = {
@@ -10003,13 +10192,13 @@ let
         sha1 = "625d8658f865af43ec962bfc376a37359a4994ca";
       };
     };
-    "selfsigned-1.10.11" = {
+    "selfsigned-1.10.14" = {
       name = "selfsigned";
       packageName = "selfsigned";
-      version = "1.10.11";
+      version = "1.10.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz";
-        sha512 = "aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==";
+        url = "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.14.tgz";
+        sha512 = "lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==";
       };
     };
     "semver-5.7.1" = {
@@ -10048,22 +10237,22 @@ let
         sha512 = "PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==";
       };
     };
-    "semver-regex-1.0.0" = {
+    "semver-regex-3.1.3" = {
       name = "semver-regex";
       packageName = "semver-regex";
-      version = "1.0.0";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz";
-        sha1 = "92a4969065f9c70c694753d55248fc68f8f652c9";
+        url = "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.3.tgz";
+        sha512 = "Aqi54Mk9uYTjVexLnR67rTyBusmwd04cLkHy9hNvk3+G3nT2Oyg7E0l4XVbOaNwIvQ3hHeYxGcyEy+mKreyBFQ==";
       };
     };
-    "semver-sort-0.0.4" = {
+    "semver-sort-1.0.0" = {
       name = "semver-sort";
       packageName = "semver-sort";
-      version = "0.0.4";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver-sort/-/semver-sort-0.0.4.tgz";
-        sha1 = "34fdbddc6a6b2b4161398c3c4dba56243bfeaa8b";
+        url = "https://registry.npmjs.org/semver-sort/-/semver-sort-1.0.0.tgz";
+        sha512 = "JicVlQKz/C//4BiPmbHEDou6HihXxo5xqB/8Hm9FaLJ6HHkRRvYgCECq4u/z0XF8kyJQ/KAZt++A/kYz/oOSSg==";
       };
     };
     "send-0.16.2" = {
@@ -10093,6 +10282,15 @@ let
         sha512 = "UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==";
       };
     };
+    "send-0.18.0" = {
+      name = "send";
+      packageName = "send";
+      version = "0.18.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/send/-/send-0.18.0.tgz";
+        sha512 = "qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==";
+      };
+    };
     "serialize-javascript-1.9.1" = {
       name = "serialize-javascript";
       packageName = "serialize-javascript";
@@ -10147,6 +10345,15 @@ let
         sha512 = "+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==";
       };
     };
+    "serve-static-1.15.0" = {
+      name = "serve-static";
+      packageName = "serve-static";
+      version = "1.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz";
+        sha512 = "XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==";
+      };
+    };
     "set-blocking-2.0.0" = {
       name = "set-blocking";
       packageName = "set-blocking";
@@ -10273,22 +10480,22 @@ let
         sha512 = "q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==";
       };
     };
-    "signal-exit-3.0.6" = {
+    "signal-exit-3.0.7" = {
       name = "signal-exit";
       packageName = "signal-exit";
-      version = "3.0.6";
+      version = "3.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz";
-        sha512 = "sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==";
+        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz";
+        sha512 = "wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==";
       };
     };
-    "simple-git-1.132.0" = {
+    "simple-git-3.5.0" = {
       name = "simple-git";
       packageName = "simple-git";
-      version = "1.132.0";
+      version = "3.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-git/-/simple-git-1.132.0.tgz";
-        sha512 = "xauHm1YqCTom1sC9eOjfq3/9RKiUA9iPnxBbrY2DdL8l4ADMu0jjM5l5lphQP5YWNqAL2aXC/OeuQ76vHtW5fg==";
+        url = "https://registry.npmjs.org/simple-git/-/simple-git-3.5.0.tgz";
+        sha512 = "fZsaq5nzdxQRhMNs6ESGLpMUHoL5GRP+boWPhq9pMYMKwOGZV2jHOxi8AbFFA2Y/6u4kR99HoULizSbpzaODkA==";
       };
     };
     "simple-swizzle-0.2.2" = {
@@ -10336,13 +10543,13 @@ let
         sha512 = "g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==";
       };
     };
-    "slice-ansi-2.1.0" = {
+    "slice-ansi-4.0.0" = {
       name = "slice-ansi";
       packageName = "slice-ansi";
-      version = "2.1.0";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz";
-        sha512 = "Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==";
+        url = "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz";
+        sha512 = "qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==";
       };
     };
     "snapdragon-0.8.2" = {
@@ -10444,13 +10651,13 @@ let
         sha512 = "CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==";
       };
     };
-    "source-map-js-1.0.1" = {
+    "source-map-js-1.0.2" = {
       name = "source-map-js";
       packageName = "source-map-js";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.1.tgz";
-        sha512 = "4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==";
+        url = "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz";
+        sha512 = "R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==";
       };
     };
     "source-map-resolve-0.5.3" = {
@@ -10561,13 +10768,13 @@ let
         sha1 = "04e6926f662895354f3dd015203633b857297e2c";
       };
     };
-    "sshpk-1.16.1" = {
+    "sshpk-1.17.0" = {
       name = "sshpk";
       packageName = "sshpk";
-      version = "1.16.1";
+      version = "1.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz";
-        sha512 = "HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==";
+        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz";
+        sha512 = "/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==";
       };
     };
     "ssri-5.3.0" = {
@@ -10633,6 +10840,15 @@ let
         sha1 = "161c7dac177659fd9811f43771fa99381478628c";
       };
     };
+    "statuses-2.0.1" = {
+      name = "statuses";
+      packageName = "statuses";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz";
+        sha512 = "RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==";
+      };
+    };
     "stealthy-require-1.1.1" = {
       name = "stealthy-require";
       packageName = "stealthy-require";
@@ -10957,6 +11173,15 @@ let
         sha512 = "6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==";
       };
     };
+    "supports-preserve-symlinks-flag-1.0.0" = {
+      name = "supports-preserve-symlinks-flag";
+      packageName = "supports-preserve-symlinks-flag";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz";
+        sha512 = "ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==";
+      };
+    };
     "svgo-1.3.2" = {
       name = "svgo";
       packageName = "svgo";
@@ -10966,13 +11191,13 @@ let
         sha512 = "yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==";
       };
     };
-    "table-5.4.6" = {
+    "table-6.8.0" = {
       name = "table";
       packageName = "table";
-      version = "5.4.6";
+      version = "6.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/table/-/table-5.4.6.tgz";
-        sha512 = "wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==";
+        url = "https://registry.npmjs.org/table/-/table-6.8.0.tgz";
+        sha512 = "s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==";
       };
     };
     "tapable-1.1.3" = {
@@ -11272,13 +11497,13 @@ let
         sha1 = "61dbc2d53b69ff6091a12a168fd7d433107e40f1";
       };
     };
-    "ts-debounce-3.0.0" = {
+    "ts-debounce-4.0.0" = {
       name = "ts-debounce";
       packageName = "ts-debounce";
-      version = "3.0.0";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ts-debounce/-/ts-debounce-3.0.0.tgz";
-        sha512 = "7jiRWgN4/8IdvCxbIwnwg2W0bbYFBH6BxFqBjMKk442t7+liF2Z1H6AUCcl8e/pD93GjPru+axeiJwFmRww1WQ==";
+        url = "https://registry.npmjs.org/ts-debounce/-/ts-debounce-4.0.0.tgz";
+        sha512 = "+1iDGY6NmOGidq7i7xZGA4cm8DAa6fqdYcvO5Z6yBevH++Bdo9Qt/mN0TzHUgcCcKv1gmh9+W5dHqz8pMWbCbg==";
       };
     };
     "ts-union-2.3.0" = {
@@ -11380,13 +11605,13 @@ let
         sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
       };
     };
-    "typescript-3.9.10" = {
+    "typescript-4.6.3" = {
       name = "typescript";
       packageName = "typescript";
-      version = "3.9.10";
+      version = "4.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz";
-        sha512 = "w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==";
+        url = "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz";
+        sha512 = "yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==";
       };
     };
     "uglify-es-3.3.10" = {
@@ -11578,6 +11803,15 @@ let
         sha512 = "aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==";
       };
     };
+    "upath-2.0.1" = {
+      name = "upath";
+      packageName = "upath";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz";
+        sha512 = "1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==";
+      };
+    };
     "upgrade-1.1.0" = {
       name = "upgrade";
       packageName = "upgrade";
@@ -11623,13 +11857,13 @@ let
         sha512 = "3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==";
       };
     };
-    "url-parse-1.5.4" = {
+    "url-parse-1.5.10" = {
       name = "url-parse";
       packageName = "url-parse";
-      version = "1.5.4";
+      version = "1.5.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/url-parse/-/url-parse-1.5.4.tgz";
-        sha512 = "ITeAByWWoqutFClc/lRZnFplgXgEZr3WJ6XngMM/N9DMIm4K8zXPCZ1Jdu0rERwO84w1WC5wkle2ubwTA4NTBg==";
+        url = "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz";
+        sha512 = "WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==";
       };
     };
     "url-parse-lax-3.0.0" = {
@@ -11803,13 +12037,13 @@ let
         sha512 = "sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==";
       };
     };
-    "vscode-languageserver-textdocument-1.0.2" = {
+    "vscode-languageserver-textdocument-1.0.4" = {
       name = "vscode-languageserver-textdocument";
       packageName = "vscode-languageserver-textdocument";
-      version = "1.0.2";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.2.tgz";
-        sha512 = "T7uPC18+f8mYE4lbVZwb3OSmvwTZm3cuFhrdx9Bn2l11lmp3SvSuSVjy2JtvrghzjAo4G6Trqny2m9XGnFnWVA==";
+        url = "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.4.tgz";
+        sha512 = "/xhqXP/2A2RSs+J8JNXpiiNVvvNM0oTosNVmQnunlKvq9o4mupHOBAnnzH0lwIPKazXKvAKsVp1kr+H/K4lgoQ==";
       };
     };
     "vscode-languageserver-types-3.16.0" = {
@@ -11866,13 +12100,13 @@ let
         sha1 = "f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8";
       };
     };
-    "web-tree-sitter-0.19.4" = {
+    "web-tree-sitter-0.20.5" = {
       name = "web-tree-sitter";
       packageName = "web-tree-sitter";
-      version = "0.19.4";
+      version = "0.20.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.19.4.tgz";
-        sha512 = "8G0xBj05hqZybCqBtW7RPZ/hWEtP3DiLTauQzGJZuZYfVRgw7qj7iaZ+8djNqJ4VPrdOO+pS2dR1JsTbsLxdYg==";
+        url = "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.20.5.tgz";
+        sha512 = "mpXlqIeEBE5Q71cnBnt8w6XKhIiKmllPECqsIFBtMvzcfCxA8+614iyMJXBCQo95Vs3y1zORLqiLJn25pYZ4Tw==";
       };
     };
     "webpack-4.44.2" = {
@@ -12262,13 +12496,13 @@ let
         sha512 = "o41D/WmDeca0BqYhsr3nJzQyg9NF5X8l/UdnFNux9cS3lwB+swm8qGWX5rn+aD6xfBU3rGmtHij7g7x6LxFU3A==";
       };
     };
-    "ws-7.5.6" = {
+    "ws-7.5.7" = {
       name = "ws";
       packageName = "ws";
-      version = "7.5.6";
+      version = "7.5.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz";
-        sha512 = "6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==";
+        url = "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz";
+        sha512 = "KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==";
       };
     };
     "xmlbuilder-13.0.2" = {
@@ -12427,7 +12661,7 @@ in
       sha512 = "I7dgGFOc+mYDcDuyo1/HcIn3E5MiMbocStNzivsPSjCUviuEieHdDKZmJJ9uM3IdCu0fdBmRNWQBSOXtXrgzKg==";
     };
     dependencies = [
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."ajv-6.12.6"
       sources."array-flatten-1.1.1"
       sources."asn1-0.2.6"
@@ -12498,7 +12732,7 @@ in
       sources."fresh-0.5.2"
       sources."fs-extra-2.0.0"
       sources."getpass-0.1.7"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."http-errors-1.7.2"
@@ -12522,11 +12756,11 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.4.1"
-      sources."mime-db-1.51.0"
-      sources."mime-types-2.1.34"
+      sources."mime-db-1.52.0"
+      sources."mime-types-2.1.35"
       sources."minimist-1.2.0"
       sources."ms-2.0.0"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."node-watch-0.5.5"
       sources."oauth-sign-0.9.0"
       sources."on-finished-2.3.0"
@@ -12548,7 +12782,7 @@ in
       sources."regenerator-runtime-0.9.6"
       (sources."request-2.88.0" // {
         dependencies = [
-          sources."qs-6.5.2"
+          sources."qs-6.5.3"
           sources."safe-buffer-5.2.1"
         ];
       })
@@ -12563,7 +12797,7 @@ in
       })
       sources."serve-static-1.13.2"
       sources."setprototypeof-1.1.1"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."statuses-1.5.0"
       sources."string_decoder-0.10.31"
       sources."sums-0.2.4"
@@ -12607,20 +12841,20 @@ in
   elm-coverage = nodeEnv.buildNodePackage {
     name = "elm-coverage";
     packageName = "elm-coverage";
-    version = "0.3.0";
+    version = "0.4.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-coverage/-/elm-coverage-0.3.0.tgz";
-      sha512 = "WHlO9LCu6DLzlIPR28GqcCgtyy6ZjRKBR+c6yYwy7m2o0D0buuLsr3wsZxJBjZYmwregmWRseUOM3DzHmoiIzg==";
+      url = "https://registry.npmjs.org/elm-coverage/-/elm-coverage-0.4.1.tgz";
+      sha512 = "flFXaCikbA6NccBEvrFIgJj9up7rc9A8aOwe0o0Erruvk5f5idWu3/gIBfqTaos7Xc2Fz6fshYyoH5sfyt1r7g==";
     };
     dependencies = [
       sources."abbrev-1.1.1"
       sources."ajv-6.12.6"
-      sources."ansi-regex-4.1.0"
+      sources."ansi-regex-5.0.1"
       sources."ansi-styles-3.2.1"
       sources."anymatch-3.1.2"
       sources."asn1-0.2.6"
       sources."assert-plus-1.0.0"
-      sources."astral-regex-1.0.0"
+      sources."astral-regex-2.0.0"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
@@ -12643,15 +12877,7 @@ in
       })
       sources."chokidar-3.2.1"
       sources."chownr-2.0.0"
-      (sources."cliui-6.0.0" // {
-        dependencies = [
-          sources."ansi-regex-5.0.1"
-          sources."emoji-regex-8.0.0"
-          sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.3"
-          sources."strip-ansi-6.0.1"
-        ];
-      })
+      sources."cliui-6.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."combined-stream-1.0.8"
@@ -12682,12 +12908,12 @@ in
           sources."fs-minipass-1.2.7"
           sources."minipass-2.9.0"
           sources."minizlib-1.3.3"
-          sources."mkdirp-0.5.5"
+          sources."mkdirp-0.5.6"
           sources."tar-4.4.19"
           sources."yallist-3.1.1"
         ];
       })
-      sources."emoji-regex-7.0.3"
+      sources."emoji-regex-8.0.0"
       sources."escape-string-regexp-1.0.5"
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
@@ -12714,7 +12940,7 @@ in
       sources."getpass-0.1.7"
       sources."glob-7.1.4"
       sources."glob-parent-5.1.2"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-flag-3.0.0"
@@ -12723,7 +12949,7 @@ in
       sources."inherits-2.0.4"
       sources."is-binary-path-2.1.0"
       sources."is-extglob-2.1.1"
-      sources."is-fullwidth-code-point-2.0.0"
+      sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.3"
       sources."is-number-7.0.0"
       sources."is-typedarray-1.0.0"
@@ -12738,15 +12964,16 @@ in
       sources."jsprim-1.4.2"
       sources."locate-path-5.0.0"
       sources."lodash-4.17.21"
+      sources."lodash.truncate-4.4.2"
       (sources."lru-cache-4.1.5" // {
         dependencies = [
           sources."yallist-2.1.2"
         ];
       })
-      sources."mime-db-1.51.0"
-      sources."mime-types-2.1.34"
-      sources."minimatch-3.0.4"
-      sources."minimist-1.2.5"
+      sources."mime-db-1.52.0"
+      sources."mime-types-2.1.35"
+      sources."minimatch-3.1.2"
+      sources."minimist-1.2.6"
       sources."minipass-3.1.6"
       sources."minizlib-2.1.2"
       sources."mkdirp-1.0.4"
@@ -12774,16 +13001,17 @@ in
       sources."path-is-absolute-1.0.1"
       sources."path-key-3.1.1"
       sources."performance-now-2.1.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."pseudomap-1.0.2"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."readdirp-3.1.3"
       sources."request-2.88.2"
       sources."request-promise-4.2.6"
       sources."request-promise-core-1.1.4"
       sources."require-directory-2.1.1"
+      sources."require-from-string-2.0.2"
       sources."require-main-filename-2.0.0"
       sources."rimraf-2.6.3"
       sources."safe-buffer-5.2.1"
@@ -12792,18 +13020,29 @@ in
       sources."set-blocking-2.0.0"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
-      sources."slice-ansi-2.1.0"
+      (sources."slice-ansi-4.0.0" // {
+        dependencies = [
+          sources."ansi-styles-4.3.0"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+        ];
+      })
       sources."split-1.0.1"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."stealthy-require-1.1.1"
-      sources."string-width-3.1.0"
-      sources."strip-ansi-5.2.0"
+      sources."string-width-4.2.3"
+      sources."strip-ansi-6.0.1"
       (sources."supports-color-7.1.0" // {
         dependencies = [
           sources."has-flag-4.0.0"
         ];
       })
-      sources."table-5.4.6"
+      (sources."table-6.8.0" // {
+        dependencies = [
+          sources."ajv-8.11.0"
+          sources."json-schema-traverse-1.0.0"
+        ];
+      })
       sources."tar-6.1.11"
       sources."temp-0.9.0"
       sources."through-2.3.8"
@@ -12818,7 +13057,7 @@ in
       sources."universalify-0.1.2"
       (sources."unzip-stream-0.3.1" // {
         dependencies = [
-          sources."mkdirp-0.5.5"
+          sources."mkdirp-0.5.6"
         ];
       })
       sources."upgrade-1.1.0"
@@ -12829,29 +13068,16 @@ in
       sources."which-module-2.0.0"
       (sources."wrap-ansi-6.2.0" // {
         dependencies = [
-          sources."ansi-regex-5.0.1"
           sources."ansi-styles-4.3.0"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
-          sources."emoji-regex-8.0.0"
-          sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.3"
-          sources."strip-ansi-6.0.1"
         ];
       })
       sources."wrappy-1.0.2"
       sources."xmlbuilder-13.0.2"
       sources."y18n-4.0.3"
       sources."yallist-4.0.0"
-      (sources."yargs-15.4.1" // {
-        dependencies = [
-          sources."ansi-regex-5.0.1"
-          sources."emoji-regex-8.0.0"
-          sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.3"
-          sources."strip-ansi-6.0.1"
-        ];
-      })
+      sources."yargs-15.4.1"
       sources."yargs-parser-18.1.3"
     ];
     buildInputs = globalBuildInputs;
@@ -12875,7 +13101,7 @@ in
     dependencies = [
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."ansi-styles-4.3.0"
       sources."anymatch-3.1.2"
       sources."array-flatten-1.1.1"
@@ -12883,10 +13109,10 @@ in
       sources."balanced-match-1.0.2"
       sources."batch-0.6.1"
       sources."binary-extensions-2.2.0"
-      sources."body-parser-1.19.1"
+      sources."body-parser-1.19.2"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
           sources."get-stream-5.2.0"
@@ -12894,7 +13120,7 @@ in
         ];
       })
       sources."chalk-3.0.0"
-      sources."chokidar-3.5.2"
+      sources."chokidar-3.5.3"
       sources."clone-response-1.0.2"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
@@ -12902,7 +13128,7 @@ in
       sources."concat-map-0.0.1"
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
-      sources."cookie-0.4.1"
+      sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
       sources."cross-spawn-7.0.3"
       sources."debug-2.6.9"
@@ -12917,7 +13143,11 @@ in
       sources."end-of-stream-1.4.4"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
-      sources."express-4.17.2"
+      (sources."express-4.17.3" // {
+        dependencies = [
+          sources."serve-static-1.14.2"
+        ];
+      })
       (sources."express-ws-4.0.0" // {
         dependencies = [
           sources."ws-5.2.3"
@@ -12956,13 +13186,13 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.6.0"
-      sources."mime-db-1.51.0"
-      sources."mime-types-2.1.34"
+      sources."mime-db-1.52.0"
+      sources."mime-types-2.1.35"
       sources."mimic-response-1.0.1"
-      sources."minimatch-3.0.4"
-      sources."minimist-1.2.5"
+      sources."minimatch-3.1.2"
+      sources."minimist-1.2.6"
       sources."ms-2.0.0"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."normalize-path-3.0.0"
       sources."normalize-url-4.5.1"
       sources."on-finished-2.3.0"
@@ -12974,13 +13204,13 @@ in
       sources."path-is-absolute-1.0.1"
       sources."path-key-3.1.1"
       sources."path-to-regexp-0.1.7"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."prepend-http-2.0.0"
       sources."proxy-addr-2.0.7"
       sources."pump-3.0.0"
-      sources."qs-6.9.6"
+      sources."qs-6.9.7"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       sources."rc-1.2.8"
       sources."readdirp-3.6.0"
       sources."registry-auth-token-4.2.1"
@@ -13002,7 +13232,17 @@ in
           sources."setprototypeof-1.1.0"
         ];
       })
-      sources."serve-static-1.14.2"
+      (sources."serve-static-1.15.0" // {
+        dependencies = [
+          sources."depd-2.0.0"
+          sources."destroy-1.2.0"
+          sources."http-errors-2.0.0"
+          sources."ms-2.1.3"
+          sources."on-finished-2.4.1"
+          sources."send-0.18.0"
+          sources."statuses-2.0.1"
+        ];
+      })
       sources."setprototypeof-1.2.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
@@ -13020,7 +13260,7 @@ in
       sources."vary-1.1.2"
       sources."which-2.0.2"
       sources."wrappy-1.0.2"
-      sources."ws-7.5.6"
+      sources."ws-7.5.7"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -13035,10 +13275,10 @@ in
   "@elm-tooling/elm-language-server" = nodeEnv.buildNodePackage {
     name = "_at_elm-tooling_slash_elm-language-server";
     packageName = "@elm-tooling/elm-language-server";
-    version = "2.3.0";
+    version = "2.4.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@elm-tooling/elm-language-server/-/elm-language-server-2.3.0.tgz";
-      sha512 = "j5EYk1FVsRk54mQt4bRzODq4o+2RnklW9UlTQI3xvkPsIXM1wrjGcTZF0fVBWjRN/QulYQgrQAFrNZ8iTp71sg==";
+      url = "https://registry.npmjs.org/@elm-tooling/elm-language-server/-/elm-language-server-2.4.1.tgz";
+      sha512 = "v8WU/LOrksaR1IO3WkcH5KCfS1ExDDNSE8Aqz/SYMlkZ4RF2aU418Pm54ppdiVX5AOTgHjc6U6mp5LXZocoEqw==";
     };
     dependencies = [
       sources."@nodelib/fs.scandir-2.1.5"
@@ -13048,19 +13288,19 @@ in
       sources."array-union-2.1.0"
       sources."binary-extensions-2.2.0"
       sources."braces-3.0.2"
-      sources."chokidar-3.5.2"
+      sources."chokidar-3.5.3"
       sources."cross-spawn-7.0.3"
       sources."dir-glob-3.0.1"
       sources."escape-string-regexp-4.0.0"
       sources."execa-5.1.1"
       sources."fast-diff-1.2.0"
-      sources."fast-glob-3.2.7"
+      sources."fast-glob-3.2.11"
       sources."fastq-1.13.0"
       sources."fill-range-7.0.1"
       sources."fsevents-2.3.2"
       sources."get-stream-6.0.1"
       sources."glob-parent-5.1.2"
-      sources."globby-11.0.4"
+      sources."globby-11.1.0"
       sources."human-signals-2.1.0"
       sources."ignore-5.2.0"
       sources."is-binary-path-2.1.0"
@@ -13071,14 +13311,14 @@ in
       sources."isexe-2.0.0"
       sources."merge-stream-2.0.0"
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."mimic-fn-2.1.0"
       sources."normalize-path-3.0.0"
       sources."npm-run-path-4.0.1"
       sources."onetime-5.1.2"
       sources."path-key-3.1.1"
       sources."path-type-4.0.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."pjson-1.0.9"
       sources."queue-microtask-1.2.3"
       sources."readdirp-3.6.0"
@@ -13087,20 +13327,20 @@ in
       sources."run-parallel-1.2.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."slash-3.0.0"
       sources."strip-final-newline-2.0.0"
       sources."to-regex-range-5.0.1"
-      sources."ts-debounce-3.0.0"
+      sources."ts-debounce-4.0.0"
       sources."tslib-1.14.1"
       sources."tsyringe-4.6.0"
       sources."vscode-jsonrpc-6.0.0"
       sources."vscode-languageserver-7.0.0"
       sources."vscode-languageserver-protocol-3.16.0"
-      sources."vscode-languageserver-textdocument-1.0.2"
+      sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.16.0"
       sources."vscode-uri-3.0.3"
-      sources."web-tree-sitter-0.19.4"
+      sources."web-tree-sitter-0.20.5"
       sources."which-2.0.2"
     ];
     buildInputs = globalBuildInputs;
@@ -13155,7 +13395,7 @@ in
       })
       sources."fill-range-7.0.1"
       sources."finalhandler-1.1.2"
-      sources."follow-redirects-1.14.6"
+      sources."follow-redirects-1.14.9"
       sources."fresh-0.5.2"
       sources."fsevents-2.3.2"
       sources."get-stream-4.1.0"
@@ -13190,7 +13430,7 @@ in
       sources."parseurl-1.3.3"
       sources."path-key-2.0.1"
       sources."pem-1.14.2"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."pseudomap-1.0.2"
       sources."pump-3.0.0"
       sources."range-parser-1.2.1"
@@ -13207,7 +13447,7 @@ in
       sources."setprototypeof-1.1.1"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."statuses-1.5.0"
       sources."strip-ansi-3.0.1"
       sources."strip-eof-1.0.0"
@@ -13246,7 +13486,7 @@ in
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."chalk-4.1.2"
-      sources."chokidar-3.5.2"
+      sources."chokidar-3.5.3"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."commander-7.2.0"
@@ -13258,7 +13498,7 @@ in
       sources."fsevents-2.3.2"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-flag-4.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -13267,12 +13507,12 @@ in
       sources."is-glob-4.0.3"
       sources."is-number-7.0.0"
       sources."isexe-2.0.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."normalize-path-3.0.0"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-3.1.1"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."readdirp-3.6.0"
       sources."rimraf-3.0.2"
       sources."shebang-command-2.0.0"
@@ -13308,8 +13548,8 @@ in
       sources."@szmarczak/http-timer-4.0.6"
       sources."@types/cacheable-request-6.0.2"
       sources."@types/http-cache-semantics-4.0.1"
-      sources."@types/keyv-3.1.3"
-      sources."@types/node-17.0.5"
+      sources."@types/keyv-3.1.4"
+      sources."@types/node-17.0.23"
       sources."@types/responselike-1.0.0"
       sources."cacheable-lookup-2.0.1"
       sources."cacheable-request-7.0.2"
@@ -13328,7 +13568,7 @@ in
       sources."get-proxy-2.1.0"
       sources."get-stream-5.2.0"
       sources."got-10.7.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-symbol-support-x-1.4.2"
       sources."has-to-string-tag-x-1.4.1"
       sources."http-cache-semantics-4.1.0"
@@ -13338,7 +13578,7 @@ in
       sources."isurl-1.0.0"
       sources."json-buffer-3.0.1"
       sources."jsonfile-4.0.0"
-      sources."keyv-4.0.4"
+      sources."keyv-4.1.1"
       sources."lowercase-keys-2.0.0"
       sources."lru-cache-6.0.0"
       sources."mimic-response-2.1.0"
@@ -13386,7 +13626,7 @@ in
     };
     dependencies = [
       sources."ajv-6.12.6"
-      sources."ansi-regex-4.1.0"
+      sources."ansi-regex-4.1.1"
       sources."ansi-styles-3.2.1"
       sources."anymatch-3.1.2"
       sources."asn1-0.2.6"
@@ -13457,7 +13697,7 @@ in
       sources."getpass-0.1.7"
       sources."glob-7.1.4"
       sources."glob-parent-5.1.2"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-flag-3.0.0"
@@ -13480,13 +13720,13 @@ in
       sources."jsprim-1.4.2"
       sources."locate-path-3.0.0"
       sources."lodash-4.17.15"
-      sources."mime-db-1.51.0"
-      sources."mime-types-2.1.34"
-      sources."minimatch-3.0.4"
-      sources."minimist-1.2.5"
+      sources."mime-db-1.52.0"
+      sources."mime-types-2.1.35"
+      sources."minimatch-3.1.2"
+      sources."minimist-1.2.6"
       sources."minipass-2.9.0"
       sources."minizlib-1.3.3"
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       sources."murmur-hash-js-1.0.0"
       sources."mustache-3.2.1"
       sources."nice-try-1.0.5"
@@ -13507,10 +13747,10 @@ in
       sources."path-is-absolute-1.0.1"
       sources."path-key-3.1.1"
       sources."performance-now-2.1.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."readdirp-3.1.3"
       sources."request-2.88.2"
       sources."request-promise-4.2.6"
@@ -13529,7 +13769,7 @@ in
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."split-1.0.1"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."stealthy-require-1.1.1"
       sources."string-width-3.1.0"
       sources."strip-ansi-5.2.0"
@@ -13573,28 +13813,28 @@ in
   elm-xref = nodeEnv.buildNodePackage {
     name = "elm-xref";
     packageName = "elm-xref";
-    version = "4.1.0";
+    version = "4.1.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-xref/-/elm-xref-4.1.0.tgz";
-      sha512 = "23nVGYsArS2DZ0RnFq6cKYO49pCjuLULhM+fvBcfA7ZIbKSw5WkDyK9c5hlQEm+JZAPZ43PNcI0yLzTEqaajiA==";
+      url = "https://registry.npmjs.org/elm-xref/-/elm-xref-4.1.1.tgz";
+      sha512 = "1Cl3pZ8Z8Nd0VIu6277C4l4IMjDJEZuX1jkGZX/YZGdCQvGd1v0pB20NKi+U8YbfyjzaereAHah2eL3eXamn6w==";
     };
     dependencies = [
       sources."bluebird-3.7.2"
       sources."compare-versions-3.6.0"
       sources."core-util-is-1.0.3"
       sources."fs-extra-6.0.1"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."inherits-2.0.4"
       sources."isarray-1.0.0"
       sources."jsonfile-4.0.0"
       sources."klaw-2.1.1"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."process-nextick-args-2.0.1"
       sources."readable-stream-2.3.7"
       sources."safe-buffer-5.1.2"
       sources."semver-6.3.0"
-      sources."semver-regex-1.0.0"
-      (sources."semver-sort-0.0.4" // {
+      sources."semver-regex-3.1.3"
+      (sources."semver-sort-1.0.0" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
@@ -13625,53 +13865,53 @@ in
     };
     dependencies = [
       sources."@babel/cli-7.12.10"
-      sources."@babel/code-frame-7.16.0"
-      sources."@babel/compat-data-7.16.4"
+      sources."@babel/code-frame-7.16.7"
+      sources."@babel/compat-data-7.17.7"
       sources."@babel/core-7.12.10"
-      sources."@babel/generator-7.16.5"
-      sources."@babel/helper-annotate-as-pure-7.16.0"
-      sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.5"
-      (sources."@babel/helper-compilation-targets-7.16.3" // {
+      sources."@babel/generator-7.17.7"
+      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.17.7" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-create-class-features-plugin-7.16.5"
-      sources."@babel/helper-create-regexp-features-plugin-7.16.0"
-      sources."@babel/helper-environment-visitor-7.16.5"
-      sources."@babel/helper-explode-assignable-expression-7.16.0"
-      sources."@babel/helper-function-name-7.16.0"
-      sources."@babel/helper-get-function-arity-7.16.0"
-      sources."@babel/helper-hoist-variables-7.16.0"
-      sources."@babel/helper-member-expression-to-functions-7.16.5"
-      sources."@babel/helper-module-imports-7.16.0"
-      sources."@babel/helper-module-transforms-7.16.5"
-      sources."@babel/helper-optimise-call-expression-7.16.0"
-      sources."@babel/helper-plugin-utils-7.16.5"
-      sources."@babel/helper-remap-async-to-generator-7.16.5"
-      sources."@babel/helper-replace-supers-7.16.5"
-      sources."@babel/helper-simple-access-7.16.0"
+      sources."@babel/helper-create-class-features-plugin-7.17.6"
+      sources."@babel/helper-create-regexp-features-plugin-7.17.0"
+      sources."@babel/helper-environment-visitor-7.16.7"
+      sources."@babel/helper-explode-assignable-expression-7.16.7"
+      sources."@babel/helper-function-name-7.16.7"
+      sources."@babel/helper-get-function-arity-7.16.7"
+      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.17.7"
+      sources."@babel/helper-optimise-call-expression-7.16.7"
+      sources."@babel/helper-plugin-utils-7.16.7"
+      sources."@babel/helper-remap-async-to-generator-7.16.8"
+      sources."@babel/helper-replace-supers-7.16.7"
+      sources."@babel/helper-simple-access-7.17.7"
       sources."@babel/helper-skip-transparent-expression-wrappers-7.16.0"
-      sources."@babel/helper-split-export-declaration-7.16.0"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      sources."@babel/helper-validator-option-7.14.5"
-      sources."@babel/helper-wrap-function-7.16.5"
-      sources."@babel/helpers-7.16.5"
-      sources."@babel/highlight-7.16.0"
-      sources."@babel/parser-7.16.6"
-      sources."@babel/plugin-proposal-async-generator-functions-7.16.5"
-      sources."@babel/plugin-proposal-class-properties-7.16.5"
-      sources."@babel/plugin-proposal-dynamic-import-7.16.5"
-      sources."@babel/plugin-proposal-export-namespace-from-7.16.5"
-      sources."@babel/plugin-proposal-json-strings-7.16.5"
-      sources."@babel/plugin-proposal-logical-assignment-operators-7.16.5"
-      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.16.5"
-      sources."@babel/plugin-proposal-numeric-separator-7.16.5"
-      sources."@babel/plugin-proposal-object-rest-spread-7.16.5"
-      sources."@babel/plugin-proposal-optional-catch-binding-7.16.5"
-      sources."@babel/plugin-proposal-optional-chaining-7.16.5"
-      sources."@babel/plugin-proposal-private-methods-7.16.5"
-      sources."@babel/plugin-proposal-unicode-property-regex-7.16.5"
+      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.17.8"
+      sources."@babel/highlight-7.16.10"
+      sources."@babel/parser-7.17.8"
+      sources."@babel/plugin-proposal-async-generator-functions-7.16.8"
+      sources."@babel/plugin-proposal-class-properties-7.16.7"
+      sources."@babel/plugin-proposal-dynamic-import-7.16.7"
+      sources."@babel/plugin-proposal-export-namespace-from-7.16.7"
+      sources."@babel/plugin-proposal-json-strings-7.16.7"
+      sources."@babel/plugin-proposal-logical-assignment-operators-7.16.7"
+      sources."@babel/plugin-proposal-nullish-coalescing-operator-7.16.7"
+      sources."@babel/plugin-proposal-numeric-separator-7.16.7"
+      sources."@babel/plugin-proposal-object-rest-spread-7.17.3"
+      sources."@babel/plugin-proposal-optional-catch-binding-7.16.7"
+      sources."@babel/plugin-proposal-optional-chaining-7.16.7"
+      sources."@babel/plugin-proposal-private-methods-7.16.11"
+      sources."@babel/plugin-proposal-unicode-property-regex-7.16.7"
       sources."@babel/plugin-syntax-async-generators-7.8.4"
       sources."@babel/plugin-syntax-class-properties-7.12.13"
       sources."@babel/plugin-syntax-dynamic-import-7.8.3"
@@ -13684,45 +13924,45 @@ in
       sources."@babel/plugin-syntax-optional-catch-binding-7.8.3"
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
       sources."@babel/plugin-syntax-top-level-await-7.14.5"
-      sources."@babel/plugin-transform-arrow-functions-7.16.5"
-      sources."@babel/plugin-transform-async-to-generator-7.16.5"
-      sources."@babel/plugin-transform-block-scoped-functions-7.16.5"
-      sources."@babel/plugin-transform-block-scoping-7.16.5"
-      sources."@babel/plugin-transform-classes-7.16.5"
-      sources."@babel/plugin-transform-computed-properties-7.16.5"
-      sources."@babel/plugin-transform-destructuring-7.16.5"
-      sources."@babel/plugin-transform-dotall-regex-7.16.5"
-      sources."@babel/plugin-transform-duplicate-keys-7.16.5"
-      sources."@babel/plugin-transform-exponentiation-operator-7.16.5"
-      sources."@babel/plugin-transform-for-of-7.16.5"
-      sources."@babel/plugin-transform-function-name-7.16.5"
-      sources."@babel/plugin-transform-literals-7.16.5"
-      sources."@babel/plugin-transform-member-expression-literals-7.16.5"
-      sources."@babel/plugin-transform-modules-amd-7.16.5"
-      sources."@babel/plugin-transform-modules-commonjs-7.16.5"
-      sources."@babel/plugin-transform-modules-systemjs-7.16.5"
-      sources."@babel/plugin-transform-modules-umd-7.16.5"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.5"
-      sources."@babel/plugin-transform-new-target-7.16.5"
-      sources."@babel/plugin-transform-object-super-7.16.5"
-      sources."@babel/plugin-transform-parameters-7.16.5"
-      sources."@babel/plugin-transform-property-literals-7.16.5"
-      sources."@babel/plugin-transform-regenerator-7.16.5"
-      sources."@babel/plugin-transform-reserved-words-7.16.5"
+      sources."@babel/plugin-transform-arrow-functions-7.16.7"
+      sources."@babel/plugin-transform-async-to-generator-7.16.8"
+      sources."@babel/plugin-transform-block-scoped-functions-7.16.7"
+      sources."@babel/plugin-transform-block-scoping-7.16.7"
+      sources."@babel/plugin-transform-classes-7.16.7"
+      sources."@babel/plugin-transform-computed-properties-7.16.7"
+      sources."@babel/plugin-transform-destructuring-7.17.7"
+      sources."@babel/plugin-transform-dotall-regex-7.16.7"
+      sources."@babel/plugin-transform-duplicate-keys-7.16.7"
+      sources."@babel/plugin-transform-exponentiation-operator-7.16.7"
+      sources."@babel/plugin-transform-for-of-7.16.7"
+      sources."@babel/plugin-transform-function-name-7.16.7"
+      sources."@babel/plugin-transform-literals-7.16.7"
+      sources."@babel/plugin-transform-member-expression-literals-7.16.7"
+      sources."@babel/plugin-transform-modules-amd-7.16.7"
+      sources."@babel/plugin-transform-modules-commonjs-7.17.7"
+      sources."@babel/plugin-transform-modules-systemjs-7.17.8"
+      sources."@babel/plugin-transform-modules-umd-7.16.7"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.8"
+      sources."@babel/plugin-transform-new-target-7.16.7"
+      sources."@babel/plugin-transform-object-super-7.16.7"
+      sources."@babel/plugin-transform-parameters-7.16.7"
+      sources."@babel/plugin-transform-property-literals-7.16.7"
+      sources."@babel/plugin-transform-regenerator-7.16.7"
+      sources."@babel/plugin-transform-reserved-words-7.16.7"
       sources."@babel/plugin-transform-runtime-7.12.10"
-      sources."@babel/plugin-transform-shorthand-properties-7.16.5"
-      sources."@babel/plugin-transform-spread-7.16.5"
-      sources."@babel/plugin-transform-sticky-regex-7.16.5"
-      sources."@babel/plugin-transform-template-literals-7.16.5"
-      sources."@babel/plugin-transform-typeof-symbol-7.16.5"
-      sources."@babel/plugin-transform-unicode-escapes-7.16.5"
-      sources."@babel/plugin-transform-unicode-regex-7.16.5"
+      sources."@babel/plugin-transform-shorthand-properties-7.16.7"
+      sources."@babel/plugin-transform-spread-7.16.7"
+      sources."@babel/plugin-transform-sticky-regex-7.16.7"
+      sources."@babel/plugin-transform-template-literals-7.16.7"
+      sources."@babel/plugin-transform-typeof-symbol-7.16.7"
+      sources."@babel/plugin-transform-unicode-escapes-7.16.7"
+      sources."@babel/plugin-transform-unicode-regex-7.16.7"
       sources."@babel/preset-env-7.12.10"
       sources."@babel/preset-modules-0.1.5"
       sources."@babel/runtime-7.12.5"
-      sources."@babel/template-7.16.0"
-      sources."@babel/traverse-7.16.5"
-      sources."@babel/types-7.16.0"
+      sources."@babel/template-7.16.7"
+      sources."@babel/traverse-7.17.3"
+      sources."@babel/types-7.17.0"
       sources."@hapi/address-2.1.4"
       sources."@hapi/bourne-1.3.2"
       sources."@hapi/hoek-8.5.1"
@@ -13733,9 +13973,9 @@ in
       sources."@types/glob-7.2.0"
       sources."@types/html-minifier-terser-5.1.2"
       sources."@types/http-proxy-1.17.8"
-      sources."@types/json-schema-7.0.9"
+      sources."@types/json-schema-7.0.11"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.5"
+      sources."@types/node-17.0.23"
       sources."@types/parse-json-4.0.0"
       sources."@types/q-1.5.5"
       sources."@types/source-list-map-0.1.2"
@@ -13775,7 +14015,7 @@ in
       sources."@webassemblyjs/wast-printer-1.9.0"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."acorn-6.4.2"
       sources."address-1.0.3"
       sources."ajv-6.12.6"
@@ -13858,12 +14098,12 @@ in
       sources."bindings-1.5.0"
       sources."bluebird-3.7.2"
       sources."bn.js-5.2.0"
-      (sources."body-parser-1.19.1" // {
+      (sources."body-parser-1.19.2" // {
         dependencies = [
-          sources."bytes-3.1.1"
+          sources."bytes-3.1.2"
           sources."debug-2.6.9"
           sources."ms-2.0.0"
-          sources."qs-6.9.6"
+          sources."qs-6.9.7"
         ];
       })
       (sources."bonjour-3.5.0" // {
@@ -13886,7 +14126,7 @@ in
         ];
       })
       sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.19.1"
+      sources."browserslist-4.20.2"
       sources."buffer-4.9.2"
       sources."buffer-from-1.1.2"
       sources."buffer-indexof-1.1.1"
@@ -13903,7 +14143,7 @@ in
       sources."camel-case-4.1.2"
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001294"
+      sources."caniuse-lite-1.0.30001324"
       sources."case-sensitive-paths-webpack-plugin-2.3.0"
       sources."caseless-0.12.0"
       (sources."chalk-2.4.2" // {
@@ -13912,7 +14152,7 @@ in
         ];
       })
       sources."chardet-0.7.0"
-      (sources."chokidar-3.5.2" // {
+      (sources."chokidar-3.5.3" // {
         dependencies = [
           sources."glob-parent-5.1.2"
         ];
@@ -13986,7 +14226,7 @@ in
       })
       sources."content-type-1.0.4"
       sources."convert-source-map-1.8.0"
-      sources."cookie-0.4.1"
+      sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
       sources."copy-concurrently-1.0.5"
       sources."copy-descriptor-0.1.1"
@@ -14002,7 +14242,7 @@ in
         ];
       })
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.20.1" // {
+      (sources."core-js-compat-3.21.1" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -14022,21 +14262,21 @@ in
       sources."css-declaration-sorter-4.0.1"
       (sources."css-loader-4.3.0" // {
         dependencies = [
-          sources."camelcase-6.2.1"
+          sources."camelcase-6.3.0"
           sources."loader-utils-2.0.2"
           sources."lru-cache-6.0.0"
           sources."semver-7.3.5"
           sources."yallist-4.0.0"
         ];
       })
-      sources."css-select-4.2.1"
+      sources."css-select-4.3.0"
       sources."css-select-base-adapter-0.1.1"
       (sources."css-tree-1.0.0-alpha.37" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
       })
-      sources."css-what-5.1.0"
+      sources."css-what-6.1.0"
       sources."cssesc-3.0.0"
       sources."cssnano-4.1.11"
       sources."cssnano-preset-default-4.0.8"
@@ -14054,7 +14294,7 @@ in
       sources."cycle-1.0.3"
       sources."cyclist-1.0.1"
       sources."dashdash-1.14.1"
-      sources."debug-4.3.3"
+      sources."debug-4.3.4"
       sources."decamelize-1.2.0"
       sources."decode-uri-component-0.2.0"
       sources."deep-equal-0.2.2"
@@ -14094,7 +14334,7 @@ in
       sources."dom-serializer-1.3.2"
       sources."domain-browser-1.2.0"
       sources."domelementtype-2.2.0"
-      sources."domhandler-4.3.0"
+      sources."domhandler-4.3.1"
       sources."domutils-2.8.0"
       sources."dot-case-3.0.4"
       sources."dot-prop-5.3.0"
@@ -14103,7 +14343,7 @@ in
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.30"
+      sources."electron-to-chromium-1.4.103"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -14139,7 +14379,7 @@ in
       sources."entities-2.2.0"
       sources."errno-0.1.8"
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.19.1"
+      sources."es-abstract-1.19.2"
       sources."es-to-primitive-1.2.1"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
@@ -14188,12 +14428,12 @@ in
         ];
       })
       sources."expand-tilde-2.0.2"
-      (sources."express-4.17.2" // {
+      (sources."express-4.17.3" // {
         dependencies = [
           sources."array-flatten-1.1.1"
           sources."debug-2.6.9"
           sources."ms-2.0.0"
-          sources."qs-6.9.6"
+          sources."qs-6.9.7"
           sources."safe-buffer-5.2.1"
         ];
       })
@@ -14267,12 +14507,12 @@ in
       sources."find-up-4.1.0"
       sources."firstline-1.3.1"
       sources."flush-write-stream-1.1.1"
-      sources."follow-redirects-1.14.6"
+      sources."follow-redirects-1.14.9"
       sources."for-in-1.0.2"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."forwarded-0.2.0"
-      sources."fraction.js-4.1.2"
+      sources."fraction.js-4.2.0"
       sources."fragment-cache-0.2.1"
       sources."fresh-0.5.2"
       sources."from2-2.3.0"
@@ -14310,7 +14550,7 @@ in
           sources."slash-1.0.0"
         ];
       })
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       (sources."gzip-size-5.0.0" // {
         dependencies = [
           sources."pify-3.0.0"
@@ -14322,7 +14562,7 @@ in
       sources."has-1.0.3"
       sources."has-bigints-1.0.1"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.2"
+      sources."has-symbols-1.0.3"
       sources."has-tostringtag-1.0.0"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
@@ -14356,7 +14596,7 @@ in
       sources."htmlparser2-6.1.0"
       sources."http-deceiver-1.2.7"
       sources."http-errors-1.8.1"
-      sources."http-parser-js-0.5.5"
+      sources."http-parser-js-0.5.6"
       sources."http-proxy-1.18.1"
       sources."http-proxy-middleware-0.21.0"
       sources."http-signature-1.2.0"
@@ -14386,7 +14626,7 @@ in
       sources."ini-1.3.8"
       (sources."inquirer-6.2.0" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
+          sources."ansi-regex-3.0.1"
           sources."is-fullwidth-code-point-2.0.0"
           sources."mute-stream-0.0.7"
           sources."string-width-2.1.1"
@@ -14409,7 +14649,7 @@ in
       sources."is-buffer-1.1.6"
       sources."is-callable-1.2.4"
       sources."is-color-stop-1.1.0"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-data-descriptor-1.0.0"
       sources."is-date-object-1.0.5"
       sources."is-descriptor-1.0.2"
@@ -14420,7 +14660,7 @@ in
       sources."is-glob-4.0.3"
       sources."is-negative-zero-2.0.2"
       sources."is-number-7.0.0"
-      sources."is-number-object-1.0.6"
+      sources."is-number-object-1.0.7"
       sources."is-obj-2.0.0"
       sources."is-path-cwd-2.2.0"
       sources."is-path-in-cwd-2.1.0"
@@ -14431,7 +14671,7 @@ in
       sources."is-regexp-1.0.0"
       sources."is-resolvable-1.1.0"
       sources."is-root-2.0.0"
-      sources."is-shared-array-buffer-1.0.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"
@@ -14455,7 +14695,7 @@ in
       sources."json-stable-stringify-1.0.1"
       sources."json-stringify-safe-5.0.1"
       sources."json3-3.3.3"
-      sources."json5-2.2.0"
+      sources."json5-2.2.1"
       sources."jsonfile-4.0.0"
       sources."jsonify-0.0.0"
       sources."jsprim-1.4.2"
@@ -14497,15 +14737,15 @@ in
       sources."merge-descriptors-1.0.1"
       sources."merge2-1.4.1"
       sources."methods-1.1.2"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       (sources."miller-rabin-4.0.1" // {
         dependencies = [
           sources."bn.js-4.12.0"
         ];
       })
       sources."mime-1.6.0"
-      sources."mime-db-1.51.0"
-      sources."mime-types-2.1.34"
+      sources."mime-db-1.52.0"
+      sources."mime-types-2.1.35"
       sources."mimic-fn-1.2.0"
       (sources."mini-css-extract-plugin-0.12.0" // {
         dependencies = [
@@ -14514,7 +14754,7 @@ in
       })
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mississippi-3.0.0"
       (sources."mixin-deep-1.3.2" // {
@@ -14529,10 +14769,10 @@ in
       sources."multicast-dns-service-types-1.1.0"
       sources."mute-stream-0.0.8"
       sources."nan-2.15.0"
-      sources."nanoid-3.1.30"
+      sources."nanoid-3.3.2"
       sources."nanomatch-1.2.13"
       sources."ncp-1.0.1"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."neo-async-2.6.2"
       sources."nice-try-1.0.5"
       sources."no-case-3.0.4"
@@ -14551,7 +14791,7 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-2.0.1"
+      sources."node-releases-2.0.2"
       sources."normalize-package-data-2.5.0"
       sources."normalize-path-3.0.0"
       sources."normalize-range-0.1.2"
@@ -14634,7 +14874,7 @@ in
       sources."pbkdf2-3.1.2"
       sources."performance-now-2.1.0"
       sources."picocolors-1.0.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."pify-4.0.1"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
@@ -14654,7 +14894,8 @@ in
         dependencies = [
           sources."async-2.6.3"
           sources."debug-3.2.7"
-          sources."mkdirp-0.5.5"
+          sources."minimist-1.2.6"
+          sources."mkdirp-0.5.6"
         ];
       })
       sources."posix-character-classes-0.1.1"
@@ -14783,10 +15024,10 @@ in
       })
       (sources."postcss-safe-parser-5.0.2" // {
         dependencies = [
-          sources."postcss-8.4.5"
+          sources."postcss-8.4.12"
         ];
       })
-      sources."postcss-selector-parser-6.0.8"
+      sources."postcss-selector-parser-6.0.10"
       (sources."postcss-svgo-4.0.3" // {
         dependencies = [
           sources."postcss-value-parser-3.3.1"
@@ -14819,7 +15060,7 @@ in
       })
       sources."punycode-2.1.1"
       sources."q-1.5.1"
-      sources."qs-6.5.2"
+      sources."qs-6.5.3"
       sources."query-string-4.3.4"
       sources."querystring-0.2.0"
       sources."querystring-es3-0.2.1"
@@ -14827,15 +15068,15 @@ in
       sources."randombytes-2.1.0"
       sources."randomfill-1.0.4"
       sources."range-parser-1.2.1"
-      (sources."raw-body-2.4.2" // {
+      (sources."raw-body-2.4.3" // {
         dependencies = [
-          sources."bytes-3.1.1"
+          sources."bytes-3.1.2"
         ];
       })
       (sources."react-dev-utils-6.1.1" // {
         dependencies = [
           sources."@babel/code-frame-7.0.0"
-          sources."ansi-regex-3.0.0"
+          sources."ansi-regex-3.0.1"
           sources."big.js-3.2.0"
           sources."browserslist-4.1.1"
           sources."chalk-2.4.1"
@@ -14879,16 +15120,20 @@ in
       })
       sources."readable-stream-2.3.7"
       sources."readdirp-3.6.0"
-      sources."recursive-readdir-2.2.2"
+      (sources."recursive-readdir-2.2.2" // {
+        dependencies = [
+          sources."minimatch-3.0.4"
+        ];
+      })
       sources."regenerate-1.4.2"
-      sources."regenerate-unicode-properties-9.0.0"
+      sources."regenerate-unicode-properties-10.0.1"
       sources."regenerator-runtime-0.13.9"
       sources."regenerator-transform-0.14.5"
       sources."regex-not-1.0.2"
-      sources."regexp.prototype.flags-1.3.1"
-      sources."regexpu-core-4.8.0"
-      sources."regjsgen-0.5.2"
-      (sources."regjsparser-0.7.0" // {
+      sources."regexp.prototype.flags-1.4.1"
+      sources."regexpu-core-5.0.1"
+      sources."regjsgen-0.6.0"
+      (sources."regjsparser-0.8.4" // {
         dependencies = [
           sources."jsesc-0.5.0"
         ];
@@ -14907,7 +15152,7 @@ in
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
       sources."requires-port-1.0.0"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-cwd-2.0.0"
       sources."resolve-dir-1.0.1"
       sources."resolve-from-3.0.0"
@@ -14933,7 +15178,7 @@ in
       sources."sax-1.2.4"
       sources."schema-utils-2.7.1"
       sources."select-hose-2.0.0"
-      sources."selfsigned-1.10.11"
+      sources."selfsigned-1.10.14"
       sources."semver-5.7.1"
       (sources."send-0.17.2" // {
         dependencies = [
@@ -14969,7 +15214,7 @@ in
       sources."shebang-regex-3.0.0"
       sources."shell-quote-1.6.1"
       sources."side-channel-1.0.4"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       (sources."simple-swizzle-0.2.2" // {
         dependencies = [
           sources."is-arrayish-0.3.2"
@@ -15021,7 +15266,7 @@ in
       sources."sort-keys-1.1.2"
       sources."source-list-map-2.0.1"
       sources."source-map-0.5.7"
-      sources."source-map-js-1.0.1"
+      sources."source-map-js-1.0.2"
       sources."source-map-resolve-0.5.3"
       (sources."source-map-support-0.5.21" // {
         dependencies = [
@@ -15042,7 +15287,7 @@ in
       sources."split-1.0.1"
       sources."split-string-3.1.0"
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       sources."ssri-6.0.2"
       sources."stable-0.1.8"
       sources."stack-trace-0.0.10"
@@ -15098,6 +15343,7 @@ in
         ];
       })
       sources."supports-color-5.5.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       (sources."svgo-1.3.2" // {
         dependencies = [
           sources."css-select-2.1.0"
@@ -15226,7 +15472,7 @@ in
           sources."schema-utils-3.1.1"
         ];
       })
-      sources."url-parse-1.5.4"
+      sources."url-parse-1.5.10"
       sources."use-3.1.1"
       (sources."util-0.11.1" // {
         dependencies = [
@@ -15294,7 +15540,7 @@ in
           sources."chokidar-2.1.8"
           (sources."cliui-5.0.0" // {
             dependencies = [
-              sources."ansi-regex-4.1.0"
+              sources."ansi-regex-4.1.1"
               sources."strip-ansi-5.2.0"
             ];
           })
@@ -15322,7 +15568,7 @@ in
           sources."semver-6.3.0"
           (sources."string-width-3.1.0" // {
             dependencies = [
-              sources."ansi-regex-4.1.0"
+              sources."ansi-regex-4.1.1"
               sources."strip-ansi-5.2.0"
             ];
           })
@@ -15332,7 +15578,7 @@ in
           sources."which-module-2.0.0"
           (sources."wrap-ansi-5.1.0" // {
             dependencies = [
-              sources."ansi-regex-4.1.0"
+              sources."ansi-regex-4.1.1"
               sources."strip-ansi-5.2.0"
             ];
           })
@@ -15429,21 +15675,28 @@ in
   elm-optimize-level-2 = nodeEnv.buildNodePackage {
     name = "elm-optimize-level-2";
     packageName = "elm-optimize-level-2";
-    version = "0.2.3";
+    version = "0.3.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-optimize-level-2/-/elm-optimize-level-2-0.2.3.tgz";
-      sha512 = "IX/tbLx+8ZHZWSRQLN7nZoEcfkA3OR/ta8tnQgAE+tbX3yadR3zGQZeU3MsvSe42x/uCtiwruZWsT7qi/VMAYw==";
+      url = "https://registry.npmjs.org/elm-optimize-level-2/-/elm-optimize-level-2-0.3.4.tgz";
+      sha512 = "DKhH6o+SNo3m8y9qAM932/gLMK0YmNSJevHdBYkaDWfKiw+vlo4Wtfskb8CI8ZAzWrAOcDNiLCsEbSsbPHk2Vg==";
     };
     dependencies = [
-      sources."ansi-styles-4.3.0"
+      sources."@types/jest-27.4.1"
+      sources."ansi-regex-5.0.1"
+      sources."ansi-styles-5.2.0"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."chalk-4.1.2"
+      (sources."chalk-4.1.2" // {
+        dependencies = [
+          sources."ansi-styles-4.3.0"
+        ];
+      })
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."commander-6.2.1"
       sources."concat-map-0.0.1"
       sources."cross-spawn-6.0.5"
+      sources."diff-sequences-27.5.1"
       sources."find-elm-dependencies-2.0.4"
       sources."firstline-1.3.1"
       sources."fs.realpath-1.0.0"
@@ -15452,15 +15705,20 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."isexe-2.0.0"
+      sources."jest-diff-27.5.1"
+      sources."jest-get-type-27.5.1"
+      sources."jest-matcher-utils-27.5.1"
       sources."lodash-4.17.21"
-      sources."minimatch-3.0.4"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimatch-3.1.2"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."nice-try-1.0.5"
       sources."node-elm-compiler-5.0.6"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-2.0.1"
+      sources."pretty-format-27.5.1"
+      sources."react-is-17.0.2"
       sources."rimraf-2.6.3"
       sources."semver-5.7.1"
       sources."shebang-command-1.2.0"
@@ -15468,7 +15726,7 @@ in
       sources."supports-color-7.2.0"
       sources."temp-0.9.4"
       sources."ts-union-2.3.0"
-      sources."typescript-3.9.10"
+      sources."typescript-4.6.3"
       sources."which-1.3.1"
       sources."wrappy-1.0.2"
     ];
@@ -15485,18 +15743,18 @@ in
   elm-review = nodeEnv.buildNodePackage {
     name = "elm-review";
     packageName = "elm-review";
-    version = "2.7.0";
+    version = "2.7.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-review/-/elm-review-2.7.0.tgz";
-      sha512 = "PvZj6M6rHYpyAGp2MKF/TzeDawioQacBTkVxzlBBGuMoO4LXw2PMIm/NmhkxcD38l5SvDIwpWmyDKvEsMaWNhQ==";
+      url = "https://registry.npmjs.org/elm-review/-/elm-review-2.7.1.tgz";
+      sha512 = "leDgjvE6ldYSOG/jMLmMw2g1vRnrd9nH9mnQcJt57SY2F4FnZT2hfIbuIUBXPaBwhWwC0a6BRt+Jv/2sGOG03A==";
     };
     dependencies = [
       sources."@sindresorhus/is-2.1.1"
       sources."@szmarczak/http-timer-4.0.6"
       sources."@types/cacheable-request-6.0.2"
       sources."@types/http-cache-semantics-4.0.1"
-      sources."@types/keyv-3.1.3"
-      sources."@types/node-17.0.5"
+      sources."@types/keyv-3.1.4"
+      sources."@types/node-17.0.23"
       sources."@types/responselike-1.0.0"
       (sources."ansi-escapes-4.3.2" // {
         dependencies = [
@@ -15517,7 +15775,7 @@ in
       sources."cacheable-lookup-2.0.1"
       sources."cacheable-request-7.0.2"
       sources."chalk-4.1.2"
-      sources."chokidar-3.5.2"
+      sources."chokidar-3.5.3"
       sources."cli-cursor-3.1.0"
       sources."cli-spinners-2.6.1"
       sources."clone-1.0.4"
@@ -15530,7 +15788,7 @@ in
       sources."color-name-1.1.4"
       sources."concat-map-0.0.1"
       sources."cross-spawn-7.0.3"
-      sources."debug-4.3.3"
+      sources."debug-4.3.4"
       sources."decompress-response-5.0.0"
       sources."defaults-1.0.3"
       sources."defer-to-connect-2.0.1"
@@ -15550,7 +15808,7 @@ in
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
       sources."got-10.7.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."has-flag-4.0.0"
       sources."http-cache-semantics-4.1.0"
       sources."ieee754-1.2.1"
@@ -15566,16 +15824,16 @@ in
       sources."isexe-2.0.0"
       sources."json-buffer-3.0.1"
       sources."jsonfile-6.1.0"
-      sources."keyv-4.0.4"
+      sources."keyv-4.1.1"
       sources."kleur-3.0.3"
       sources."locate-path-5.0.0"
       sources."log-symbols-4.1.0"
       sources."lowercase-keys-2.0.0"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-2.1.0"
-      sources."minimatch-3.0.4"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimatch-3.0.8"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."ms-2.1.2"
       sources."normalize-path-3.0.0"
       sources."normalize-url-6.1.0"
@@ -15592,7 +15850,7 @@ in
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-3.1.1"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."prompts-2.4.2"
       sources."pump-3.0.0"
       sources."readable-stream-3.6.0"
@@ -15603,7 +15861,7 @@ in
       sources."safe-buffer-5.2.1"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."sisteransi-1.0.5"
       sources."string-width-4.2.3"
       sources."string_decoder-1.3.0"
@@ -15635,23 +15893,27 @@ in
   elm-git-install = nodeEnv.buildNodePackage {
     name = "elm-git-install";
     packageName = "elm-git-install";
-    version = "0.1.3";
+    version = "0.1.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-git-install/-/elm-git-install-0.1.3.tgz";
-      sha512 = "TdMhhgnj15UtbVAIfGo71zoUYKlZRJISriDJLNH/jx1xbvYLAF/x5hbOUG2gFlWypLurUiEPvzpAZzIYdI0N9Q==";
+      url = "https://registry.npmjs.org/elm-git-install/-/elm-git-install-0.1.4.tgz";
+      sha512 = "XQ0Jl0RruUpcB4thmX0wnTPhB3fup9klyLmWyYOj0oUcpGlNXWr65cNbEMypxguL7sljU4MRMpItQMxeczgGwg==";
     };
     dependencies = [
-      sources."debug-4.3.3"
-      sources."is-git-url-1.0.0"
+      sources."@kwsites/file-exists-1.1.1"
+      sources."@kwsites/promise-deferred-1.1.1"
+      sources."debug-4.3.4"
+      sources."git-clone-able-0.1.2"
+      sources."lru-cache-6.0.0"
       sources."ms-2.1.2"
-      sources."semver-5.7.1"
-      sources."simple-git-1.132.0"
-      sources."upath-1.2.0"
+      sources."semver-7.3.5"
+      sources."simple-git-3.5.0"
+      sources."upath-2.0.1"
+      sources."yallist-4.0.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "A tool for installing private Elm packages from any git url.";
-      homepage = "https://github.com/Skinney/elm-git-install#readme";
+      homepage = "https://github.com/robinheghan/elm-git-install#readme";
       license = "BSD-3-Clause";
     };
     production = true;
diff --git a/pkgs/development/compilers/emscripten/default.nix b/pkgs/development/compilers/emscripten/default.nix
index c514b86a6c421..af78b56c097f3 100644
--- a/pkgs/development/compilers/emscripten/default.nix
+++ b/pkgs/development/compilers/emscripten/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "emscripten";
-  version = "2.0.27";
+  version = "3.0.0";
 
   llvmEnv = symlinkJoin {
     name = "emscripten-llvm-${version}";
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "emscripten-core";
     repo = "emscripten";
-    sha256 = "1dpfib2nmbvskqlaqw3kvaay69qpa7d155hd4w05c2xgmahmrd4n";
+    sha256 = "sha256-HlXcPKlmBTwEKgTfeMg6QoMKMbK++bpv2fu1DyolrHs=";
     rev = version;
   };
 
diff --git a/pkgs/development/compilers/fsharp/default.nix b/pkgs/development/compilers/fsharp/default.nix
index 20a33307bf3c1..0d731e38d8392 100644
--- a/pkgs/development/compilers/fsharp/default.nix
+++ b/pkgs/development/compilers/fsharp/default.nix
@@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-dgTEM2aL8lVjVMuW0+HLc+TUA39IiuBv/RfHYNURh5s=";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ mono dotnetbuildhelpers autoconf automake which ];
+  nativeBuildInputs = [ pkg-config autoconf automake ];
+  buildInputs = [ mono dotnetbuildhelpers which ];
 
   configurePhase = ''
     sed -i '988d' src/FSharpSource.targets
diff --git a/pkgs/development/compilers/gambit/build.nix b/pkgs/development/compilers/gambit/build.nix
index e592107adeca7..9f2907057183e 100644
--- a/pkgs/development/compilers/gambit/build.nix
+++ b/pkgs/development/compilers/gambit/build.nix
@@ -86,8 +86,8 @@ gccStdenv.mkDerivation rec {
 
     # OS-specific paths are hardcoded in ./configure
     substituteInPlace config.status \
-      --replace "/usr/local/opt/openssl@1.1" "${openssl.out}" \
-      --replace "/usr/local/opt/openssl" "${openssl.out}"
+      --replace "/usr/local/opt/openssl@1.1" "${lib.getLib openssl}" \
+      --replace "/usr/local/opt/openssl" "${lib.getLib openssl}"
 
     ./config.status
   '';
diff --git a/pkgs/development/compilers/gcc/10/default.nix b/pkgs/development/compilers/gcc/10/default.nix
index a26aaf771af38..d00d428a69507 100644
--- a/pkgs/development/compilers/gcc/10/default.nix
+++ b/pkgs/development/compilers/gcc/10/default.nix
@@ -8,12 +8,7 @@
 , profiledCompiler ? false
 , langJit ? false
 , staticCompiler ? false
-, # N.B. the defult is intentionally not from an `isStatic`. See
-  # https://gcc.gnu.org/install/configure.html - this is about target
-  # platform libraries not host platform ones unlike normal. But since
-  # we can't rebuild those without also rebuilding the compiler itself,
-  # we opt to always build everything unlike our usual policy.
-  enableShared ? true
+, enableShared ? !stdenv.targetPlatform.isStatic
 , enableLTO ? !stdenv.hostPlatform.isStatic
 , texinfo ? null
 , perl ? null # optional, for texi2pod (then pod2man)
@@ -61,8 +56,8 @@ let majorVersion = "10";
 
     inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
-    patches =
-         optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
+    patches = [ ./gcc10-asan-glibc-2.34.patch ]
+      ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
       ++ optional noSysDirs ../no-sys-dirs.patch
       ++ optional (noSysDirs && hostPlatform.isRiscV) ../no-sys-dirs-riscv.patch
       /* ++ optional (hostPlatform != buildPlatform) (fetchpatch { # XXX: Refine when this should be applied
@@ -266,7 +261,7 @@ stdenv.mkDerivation ({
   };
 
   enableParallelBuilding = true;
-  inherit enableMultilib;
+  inherit enableMultilib enableShared;
 
   inherit (stdenv) is64bit;
 
diff --git a/pkgs/development/compilers/gcc/10/gcc10-asan-glibc-2.34.patch b/pkgs/development/compilers/gcc/10/gcc10-asan-glibc-2.34.patch
new file mode 100644
index 0000000000000..d6d4f41ffdf87
--- /dev/null
+++ b/pkgs/development/compilers/gcc/10/gcc10-asan-glibc-2.34.patch
@@ -0,0 +1,70 @@
+From 950bac27d63c1c2ac3a6ed867692d6a13f21feb3 Mon Sep 17 00:00:00 2001
+From: Jakub Jelinek <jakub@redhat.com>
+Date: Sat, 17 Apr 2021 11:27:14 +0200
+Subject: [PATCH] sanitizer: Fix asan against glibc 2.34 [PR100114]
+
+As mentioned in the PR, SIGSTKSZ is no longer a compile time constant in
+glibc 2.34 and later, so
+static const uptr kAltStackSize = SIGSTKSZ * 4;
+needs dynamic initialization, but is used by a function called indirectly
+from .preinit_array and therefore before the variable is constructed.
+This results in using 0 size instead and all asan instrumented programs
+die with:
+==91==ERROR: AddressSanitizer failed to allocate 0x0 (0) bytes of SetAlternateSignalStack (error code: 22)
+
+Here is a cherry-pick from upstream to fix this.
+
+2021-04-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/100114
+	* sanitizer_common/sanitizer_posix_libcdep.cpp: Cherry-pick
+	llvm-project revisions 82150606fb11d28813ae6da1101f5bda638165fe
+	and b93629dd335ffee2fc4b9b619bf86c3f9e6b0023.
+
+(cherry picked from commit d9f462fb372fb02da032cefd6b091d7582c425ae)
+---
+ .../sanitizer_common/sanitizer_posix_libcdep.cpp    | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp b/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp
+index 304b3a01a08..ac88fbe074e 100644
+--- a/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp
++++ b/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cpp
+@@ -169,7 +169,11 @@ bool SupportsColoredOutput(fd_t fd) {
+ 
+ #if !SANITIZER_GO
+ // TODO(glider): different tools may require different altstack size.
+-static const uptr kAltStackSize = SIGSTKSZ * 4;  // SIGSTKSZ is not enough.
++static uptr GetAltStackSize() {
++  // SIGSTKSZ is not enough.
++  static const uptr kAltStackSize = SIGSTKSZ * 4;
++  return kAltStackSize;
++}
+ 
+ void SetAlternateSignalStack() {
+   stack_t altstack, oldstack;
+@@ -180,10 +184,9 @@ void SetAlternateSignalStack() {
+   // TODO(glider): the mapped stack should have the MAP_STACK flag in the
+   // future. It is not required by man 2 sigaltstack now (they're using
+   // malloc()).
+-  void* base = MmapOrDie(kAltStackSize, __func__);
+-  altstack.ss_sp = (char*) base;
++  altstack.ss_size = GetAltStackSize();
++  altstack.ss_sp = (char *)MmapOrDie(altstack.ss_size, __func__);
+   altstack.ss_flags = 0;
+-  altstack.ss_size = kAltStackSize;
+   CHECK_EQ(0, sigaltstack(&altstack, nullptr));
+ }
+ 
+@@ -191,7 +194,7 @@ void UnsetAlternateSignalStack() {
+   stack_t altstack, oldstack;
+   altstack.ss_sp = nullptr;
+   altstack.ss_flags = SS_DISABLE;
+-  altstack.ss_size = kAltStackSize;  // Some sane value required on Darwin.
++  altstack.ss_size = GetAltStackSize();  // Some sane value required on Darwin.
+   CHECK_EQ(0, sigaltstack(&altstack, &oldstack));
+   UnmapOrDie(oldstack.ss_sp, oldstack.ss_size);
+ }
+-- 
+2.27.0
+
diff --git a/pkgs/development/compilers/gcc/11/default.nix b/pkgs/development/compilers/gcc/11/default.nix
index b78ca339fb853..79e682e88c4eb 100644
--- a/pkgs/development/compilers/gcc/11/default.nix
+++ b/pkgs/development/compilers/gcc/11/default.nix
@@ -8,12 +8,7 @@
 , profiledCompiler ? false
 , langJit ? false
 , staticCompiler ? false
-, # N.B. the defult is intentionally not from an `isStatic`. See
-  # https://gcc.gnu.org/install/configure.html - this is about target
-  # platform libraries not host platform ones unlike normal. But since
-  # we can't rebuild those without also rebuilding the compiler itself,
-  # we opt to always build everything unlike our usual policy.
-  enableShared ? true
+, enableShared ? !stdenv.targetPlatform.isStatic
 , enableLTO ? !stdenv.hostPlatform.isStatic
 , texinfo ? null
 , perl ? null # optional, for texi2pod (then pod2man)
@@ -269,7 +264,7 @@ stdenv.mkDerivation ({
   };
 
   enableParallelBuilding = true;
-  inherit enableMultilib;
+  inherit enableShared enableMultilib;
 
   inherit (stdenv) is64bit;
 
diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix
index bc7868cc46060..ef1a04635f9ac 100644
--- a/pkgs/development/compilers/gcc/4.8/default.nix
+++ b/pkgs/development/compilers/gcc/4.8/default.nix
@@ -8,12 +8,7 @@
 , profiledCompiler ? false
 , langJit ? false
 , staticCompiler ? false
-, # N.B. the defult is intentionally not from an `isStatic`. See
-  # https://gcc.gnu.org/install/configure.html - this is about target
-  # platform libraries not host platform ones unlike normal. But since
-  # we can't rebuild those without also rebuilding the compiler itself,
-  # we opt to always build everything unlike our usual policy.
-  enableShared ? true
+, enableShared ? !stdenv.targetPlatform.isStatic
 , enableLTO ? !stdenv.hostPlatform.isStatic
 , texinfo ? null
 , perl ? null # optional, for texi2pod (then pod2man); required for Java
@@ -295,7 +290,7 @@ stdenv.mkDerivation ({
   };
 
   enableParallelBuilding = true;
-  inherit enableMultilib;
+  inherit enableShared enableMultilib;
 
   inherit (stdenv) is64bit;
 
diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix
index bb1a3dd7d6364..289df07d0312f 100644
--- a/pkgs/development/compilers/gcc/4.9/default.nix
+++ b/pkgs/development/compilers/gcc/4.9/default.nix
@@ -8,12 +8,7 @@
 , profiledCompiler ? false
 , langJit ? false
 , staticCompiler ? false
-, # N.B. the defult is intentionally not from an `isStatic`. See
-  # https://gcc.gnu.org/install/configure.html - this is about target
-  # platform libraries not host platform ones unlike normal. But since
-  # we can't rebuild those without also rebuilding the compiler itself,
-  # we opt to always build everything unlike our usual policy.
-  enableShared ? true
+, enableShared ? !stdenv.targetPlatform.isStatic
 , enableLTO ? !stdenv.hostPlatform.isStatic
 , texinfo ? null
 , perl ? null # optional, for texi2pod (then pod2man); required for Java
@@ -311,7 +306,7 @@ stdenv.mkDerivation ({
   };
 
   enableParallelBuilding = true;
-  inherit enableMultilib;
+  inherit enableShared enableMultilib;
 
   inherit (stdenv) is64bit;
 
diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix
index 7548ec56c7599..a577c61bdf581 100644
--- a/pkgs/development/compilers/gcc/6/default.nix
+++ b/pkgs/development/compilers/gcc/6/default.nix
@@ -9,12 +9,7 @@
 , profiledCompiler ? false
 , langJit ? false
 , staticCompiler ? false
-, # N.B. the defult is intentionally not from an `isStatic`. See
-  # https://gcc.gnu.org/install/configure.html - this is about target
-  # platform libraries not host platform ones unlike normal. But since
-  # we can't rebuild those without also rebuilding the compiler itself,
-  # we opt to always build everything unlike our usual policy.
-  enableShared ? true
+, enableShared ? !stdenv.targetPlatform.isStatic
 , enableLTO ? !stdenv.hostPlatform.isStatic
 , texinfo ? null
 , flex
@@ -79,6 +74,7 @@ let majorVersion = "6";
     ] ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
       ++ optional noSysDirs ../no-sys-dirs.patch
       ++ optional langAda ../gnat-cflags.patch
+      ++ optional langAda ./gnat-glibc234.patch
       ++ optional langFortran ../gfortran-driving.patch
       ++ optional (targetPlatform.libc == "musl") ../libgomp-dont-force-initial-exec.patch
 
@@ -325,7 +321,7 @@ stdenv.mkDerivation ({
   };
 
   enableParallelBuilding = true;
-  inherit enableMultilib;
+  inherit enableShared enableMultilib;
 
   inherit (stdenv) is64bit;
 
diff --git a/pkgs/development/compilers/gcc/6/gnat-glibc234.patch b/pkgs/development/compilers/gcc/6/gnat-glibc234.patch
new file mode 100644
index 0000000000000..2d29cd7fa77f5
--- /dev/null
+++ b/pkgs/development/compilers/gcc/6/gnat-glibc234.patch
@@ -0,0 +1,30 @@
+Fix build with glibc 2.34.  Adapted from:
+https://github.com/gcc-mirror/gcc/commit/331763de7d4850702a0f67298f36017c73cdb103
+--- a/gcc/ada/init.c
++++ b/gcc/ada/init.c
+@@ -579,12 +579,8 @@
+ 
+ #ifndef __ia64__
+ #define HAVE_GNAT_ALTERNATE_STACK 1
+-/* This must be in keeping with System.OS_Interface.Alternate_Stack_Size.
+-   It must be larger than MINSIGSTKSZ and hopefully near 2 * SIGSTKSZ.  */
+-# if 16 * 1024 < MINSIGSTKSZ
+-#  error "__gnat_alternate_stack too small"
+-# endif
+-char __gnat_alternate_stack[16 * 1024];
++/* This must be in keeping with System.OS_Interface.Alternate_Stack_Size.  */
++char __gnat_alternate_stack[32 * 1024];
+ #endif
+ 
+ #ifdef __XENO__
+--- a/gcc/ada/s-osinte-linux.ads
++++ b/gcc/ada/s-osinte-linux.ads
+@@ -328,7 +328,7 @@
+       oss : access stack_t) return int;
+    pragma Import (C, sigaltstack, "sigaltstack");
+ 
+-   Alternate_Stack_Size : constant := 16 * 1024;
++   Alternate_Stack_Size : constant := 32 * 1024;
+    --  This must be in keeping with init.c:__gnat_alternate_stack
+ 
+    Alternate_Stack : aliased char_array (1 .. Alternate_Stack_Size);
diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix
index dfac97104eb6a..937ccbb351036 100644
--- a/pkgs/development/compilers/gcc/7/default.nix
+++ b/pkgs/development/compilers/gcc/7/default.nix
@@ -7,12 +7,7 @@
 , profiledCompiler ? false
 , langJit ? false
 , staticCompiler ? false
-, # N.B. the defult is intentionally not from an `isStatic`. See
-  # https://gcc.gnu.org/install/configure.html - this is about target
-  # platform libraries not host platform ones unlike normal. But since
-  # we can't rebuild those without also rebuilding the compiler itself,
-  # we opt to always build everything unlike our usual policy.
-  enableShared ? true
+, enableShared ? !stdenv.targetPlatform.isStatic
 , enableLTO ? !stdenv.hostPlatform.isStatic
 , texinfo ? null
 , perl ? null # optional, for texi2pod (then pod2man)
@@ -63,6 +58,9 @@ let majorVersion = "7";
         ./riscv-pthread-reentrant.patch
         # https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00297.html
         ./riscv-no-relax.patch
+        # Fix for asan w/glibc-2.34. Although there's no upstream backport to v7,
+        # the patch from gcc 8 seems to work perfectly fine.
+        ./gcc8-asan-glibc-2.34.patch
 
         ./0001-Fix-build-for-glibc-2.31.patch
       ]
@@ -277,7 +275,7 @@ stdenv.mkDerivation ({
   };
 
   enableParallelBuilding = true;
-  inherit enableMultilib;
+  inherit enableShared enableMultilib;
 
   inherit (stdenv) is64bit;
 
diff --git a/pkgs/development/compilers/gcc/7/gcc8-asan-glibc-2.34.patch b/pkgs/development/compilers/gcc/7/gcc8-asan-glibc-2.34.patch
new file mode 100644
index 0000000000000..5645b97c1d898
--- /dev/null
+++ b/pkgs/development/compilers/gcc/7/gcc8-asan-glibc-2.34.patch
@@ -0,0 +1,70 @@
+From ef195a39d0d3b929cc676302d074b42c25460601 Mon Sep 17 00:00:00 2001
+From: Jakub Jelinek <jakub@redhat.com>
+Date: Sat, 17 Apr 2021 11:27:14 +0200
+Subject: [PATCH] sanitizer: Fix asan against glibc 2.34 [PR100114]
+
+As mentioned in the PR, SIGSTKSZ is no longer a compile time constant in
+glibc 2.34 and later, so
+static const uptr kAltStackSize = SIGSTKSZ * 4;
+needs dynamic initialization, but is used by a function called indirectly
+from .preinit_array and therefore before the variable is constructed.
+This results in using 0 size instead and all asan instrumented programs
+die with:
+==91==ERROR: AddressSanitizer failed to allocate 0x0 (0) bytes of SetAlternateSignalStack (error code: 22)
+
+Here is a cherry-pick from upstream to fix this.
+
+2021-04-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/100114
+	* sanitizer_common/sanitizer_posix_libcdep.cc: Cherry-pick
+	llvm-project revisions 82150606fb11d28813ae6da1101f5bda638165fe
+	and b93629dd335ffee2fc4b9b619bf86c3f9e6b0023.
+
+(cherry picked from commit 950bac27d63c1c2ac3a6ed867692d6a13f21feb3)
+---
+ .../sanitizer_common/sanitizer_posix_libcdep.cc     | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc b/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc
+index 1a37118c299..066079b3954 100644
+--- a/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc
++++ b/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc
+@@ -159,7 +159,11 @@ bool SupportsColoredOutput(fd_t fd) {
+ 
+ #if !SANITIZER_GO
+ // TODO(glider): different tools may require different altstack size.
+-static const uptr kAltStackSize = SIGSTKSZ * 4;  // SIGSTKSZ is not enough.
++static uptr GetAltStackSize() {
++  // SIGSTKSZ is not enough.
++  static const uptr kAltStackSize = SIGSTKSZ * 4;
++  return kAltStackSize;
++}
+ 
+ void SetAlternateSignalStack() {
+   stack_t altstack, oldstack;
+@@ -170,10 +174,9 @@ void SetAlternateSignalStack() {
+   // TODO(glider): the mapped stack should have the MAP_STACK flag in the
+   // future. It is not required by man 2 sigaltstack now (they're using
+   // malloc()).
+-  void* base = MmapOrDie(kAltStackSize, __func__);
+-  altstack.ss_sp = (char*) base;
++  altstack.ss_size = GetAltStackSize();
++  altstack.ss_sp = (char *)MmapOrDie(altstack.ss_size, __func__);
+   altstack.ss_flags = 0;
+-  altstack.ss_size = kAltStackSize;
+   CHECK_EQ(0, sigaltstack(&altstack, nullptr));
+ }
+ 
+@@ -181,7 +184,7 @@ void UnsetAlternateSignalStack() {
+   stack_t altstack, oldstack;
+   altstack.ss_sp = nullptr;
+   altstack.ss_flags = SS_DISABLE;
+-  altstack.ss_size = kAltStackSize;  // Some sane value required on Darwin.
++  altstack.ss_size = GetAltStackSize();  // Some sane value required on Darwin.
+   CHECK_EQ(0, sigaltstack(&altstack, &oldstack));
+   UnmapOrDie(oldstack.ss_sp, oldstack.ss_size);
+ }
+-- 
+2.27.0
+
diff --git a/pkgs/development/compilers/gcc/8/default.nix b/pkgs/development/compilers/gcc/8/default.nix
index 609dfa722a65d..e981978369557 100644
--- a/pkgs/development/compilers/gcc/8/default.nix
+++ b/pkgs/development/compilers/gcc/8/default.nix
@@ -7,12 +7,7 @@
 , profiledCompiler ? false
 , langJit ? false
 , staticCompiler ? false
-, # N.B. the defult is intentionally not from an `isStatic`. See
-  # https://gcc.gnu.org/install/configure.html - this is about target
-  # platform libraries not host platform ones unlike normal. But since
-  # we can't rebuild those without also rebuilding the compiler itself,
-  # we opt to always build everything unlike our usual policy.
-  enableShared ? true
+, enableShared ? !stdenv.targetPlatform.isStatic
 , enableLTO ? !stdenv.hostPlatform.isStatic
 , texinfo ? null
 , perl ? null # optional, for texi2pod (then pod2man)
@@ -259,7 +254,7 @@ stdenv.mkDerivation ({
   };
 
   enableParallelBuilding = true;
-  inherit enableMultilib;
+  inherit enableShared enableMultilib;
 
   inherit (stdenv) is64bit;
 
diff --git a/pkgs/development/compilers/gcc/9/default.nix b/pkgs/development/compilers/gcc/9/default.nix
index ea4296826661b..dd1a53e172a4f 100644
--- a/pkgs/development/compilers/gcc/9/default.nix
+++ b/pkgs/development/compilers/gcc/9/default.nix
@@ -9,12 +9,7 @@
 , profiledCompiler ? false
 , langJit ? false
 , staticCompiler ? false
-, # N.B. the defult is intentionally not from an `isStatic`. See
-  # https://gcc.gnu.org/install/configure.html - this is about target
-  # platform libraries not host platform ones unlike normal. But since
-  # we can't rebuild those without also rebuilding the compiler itself,
-  # we opt to always build everything unlike our usual policy.
-  enableShared ? true
+, enableShared ? !stdenv.targetPlatform.isStatic
 , enableLTO ? !stdenv.hostPlatform.isStatic
 , texinfo ? null
 , perl ? null # optional, for texi2pod (then pod2man)
@@ -78,7 +73,7 @@ let majorVersion = "9";
       # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96796
       #
       # This patch can most likely be removed by a post 9.3.0-release.
-      [ ./avoid-cycling-subreg-reloads.patch ]
+      [ ./avoid-cycling-subreg-reloads.patch ./gcc9-asan-glibc-2.34.patch ]
       ++ optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
       ++ optional targetPlatform.isNetBSD ../libstdc++-netbsd-ctypes.patch
       ++ optional noSysDirs ../no-sys-dirs.patch
@@ -88,6 +83,11 @@ let majorVersion = "9";
         sha256 = ""; # TODO: uncomment and check hash when available.
       }) */
       ++ optional langAda ../gnat-cflags.patch
+      ++ optional langAda (fetchpatch {
+        name = "gnat-glibc-234.diff";
+        url = "https://github.com/gcc-mirror/gcc/commit/331763de7d4850702a0f67298f36017c73cdb103.diff";
+        sha256 = "eS4B7vJasnv2N+5v5yB8/iDpKPX8CJDAy2xabWWj+aU=";
+      })
       ++ optional langD ../libphobos.patch
       ++ optional langFortran ../gfortran-driving.patch
       ++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch
@@ -285,7 +285,7 @@ stdenv.mkDerivation ({
   };
 
   enableParallelBuilding = true;
-  inherit enableMultilib;
+  inherit enableShared enableMultilib;
 
   inherit (stdenv) is64bit;
 
diff --git a/pkgs/development/compilers/gcc/9/gcc9-asan-glibc-2.34.patch b/pkgs/development/compilers/gcc/9/gcc9-asan-glibc-2.34.patch
new file mode 100644
index 0000000000000..1aea1f9b18a14
--- /dev/null
+++ b/pkgs/development/compilers/gcc/9/gcc9-asan-glibc-2.34.patch
@@ -0,0 +1,70 @@
+From 3d0135bf3be416bbe2531dc763d19b749eb2b856 Mon Sep 17 00:00:00 2001
+From: Jakub Jelinek <jakub@redhat.com>
+Date: Sat, 17 Apr 2021 11:27:14 +0200
+Subject: [PATCH] sanitizer: Fix asan against glibc 2.34 [PR100114]
+
+As mentioned in the PR, SIGSTKSZ is no longer a compile time constant in
+glibc 2.34 and later, so
+static const uptr kAltStackSize = SIGSTKSZ * 4;
+needs dynamic initialization, but is used by a function called indirectly
+from .preinit_array and therefore before the variable is constructed.
+This results in using 0 size instead and all asan instrumented programs
+die with:
+==91==ERROR: AddressSanitizer failed to allocate 0x0 (0) bytes of SetAlternateSignalStack (error code: 22)
+
+Here is a cherry-pick from upstream to fix this.
+
+2021-04-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/100114
+	* sanitizer_common/sanitizer_posix_libcdep.cc: Cherry-pick
+	llvm-project revisions 82150606fb11d28813ae6da1101f5bda638165fe
+	and b93629dd335ffee2fc4b9b619bf86c3f9e6b0023.
+
+(cherry picked from commit 950bac27d63c1c2ac3a6ed867692d6a13f21feb3)
+---
+ .../sanitizer_common/sanitizer_posix_libcdep.cc     | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc b/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc
+index d2fd76a6d36..1917e29ced2 100644
+--- a/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc
++++ b/libsanitizer/sanitizer_common/sanitizer_posix_libcdep.cc
+@@ -169,7 +169,11 @@ bool SupportsColoredOutput(fd_t fd) {
+ 
+ #if !SANITIZER_GO
+ // TODO(glider): different tools may require different altstack size.
+-static const uptr kAltStackSize = SIGSTKSZ * 4;  // SIGSTKSZ is not enough.
++static uptr GetAltStackSize() {
++  // SIGSTKSZ is not enough.
++  static const uptr kAltStackSize = SIGSTKSZ * 4;
++  return kAltStackSize;
++}
+ 
+ void SetAlternateSignalStack() {
+   stack_t altstack, oldstack;
+@@ -180,10 +184,9 @@ void SetAlternateSignalStack() {
+   // TODO(glider): the mapped stack should have the MAP_STACK flag in the
+   // future. It is not required by man 2 sigaltstack now (they're using
+   // malloc()).
+-  void* base = MmapOrDie(kAltStackSize, __func__);
+-  altstack.ss_sp = (char*) base;
++  altstack.ss_size = GetAltStackSize();
++  altstack.ss_sp = (char *)MmapOrDie(altstack.ss_size, __func__);
+   altstack.ss_flags = 0;
+-  altstack.ss_size = kAltStackSize;
+   CHECK_EQ(0, sigaltstack(&altstack, nullptr));
+ }
+ 
+@@ -191,7 +194,7 @@ void UnsetAlternateSignalStack() {
+   stack_t altstack, oldstack;
+   altstack.ss_sp = nullptr;
+   altstack.ss_flags = SS_DISABLE;
+-  altstack.ss_size = kAltStackSize;  // Some sane value required on Darwin.
++  altstack.ss_size = GetAltStackSize();  // Some sane value required on Darwin.
+   CHECK_EQ(0, sigaltstack(&altstack, &oldstack));
+   UnmapOrDie(oldstack.ss_sp, oldstack.ss_size);
+ }
+-- 
+2.27.0
+
diff --git a/pkgs/development/compilers/gcc/builder.sh b/pkgs/development/compilers/gcc/builder.sh
index e6d41d7b29ab7..9d0514f175901 100644
--- a/pkgs/development/compilers/gcc/builder.sh
+++ b/pkgs/development/compilers/gcc/builder.sh
@@ -222,6 +222,10 @@ postInstall() {
     moveToOutput "${targetConfig+$targetConfig/}lib/lib*.dll.a" "${!outputLib}"
     moveToOutput "share/gcc-*/python" "${!outputLib}"
 
+    if [ -z "$enableShared" ]; then
+        moveToOutput "${targetConfig+$targetConfig/}lib/lib*.a" "${!outputLib}"
+    fi
+
     for i in "${!outputLib}/${targetConfig}"/lib/*.{la,py}; do
         substituteInPlace "$i" --replace "$out" "${!outputLib}"
     done
diff --git a/pkgs/development/compilers/ghc/8.10.7.nix b/pkgs/development/compilers/ghc/8.10.7.nix
index a8f05d6f15c1d..fd14501097c29 100644
--- a/pkgs/development/compilers/ghc/8.10.7.nix
+++ b/pkgs/development/compilers/ghc/8.10.7.nix
@@ -366,6 +366,10 @@ stdenv.mkDerivation (rec {
     inherit llvmPackages;
     inherit enableShared;
 
+    # This is used by the haskell builder to query
+    # the presence of the haddock program.
+    hasHaddock = enableHaddockProgram;
+
     # Our Cabal compiler name
     haskellCompilerName = "ghc-${version}";
   };
diff --git a/pkgs/development/compilers/ghc/8.8.4.nix b/pkgs/development/compilers/ghc/8.8.4.nix
index 8a352d0e0a904..af01582b1081f 100644
--- a/pkgs/development/compilers/ghc/8.8.4.nix
+++ b/pkgs/development/compilers/ghc/8.8.4.nix
@@ -335,6 +335,10 @@ stdenv.mkDerivation (rec {
     inherit llvmPackages;
     inherit enableShared;
 
+    # This is used by the haskell builder to query
+    # the presence of the haddock program.
+    hasHaddock = enableHaddockProgram;
+
     # Our Cabal compiler name
     haskellCompilerName = "ghc-${version}";
   };
diff --git a/pkgs/development/compilers/ghc/9.0.2.nix b/pkgs/development/compilers/ghc/9.0.2.nix
index 56b16c5d48c42..04e29ed668616 100644
--- a/pkgs/development/compilers/ghc/9.0.2.nix
+++ b/pkgs/development/compilers/ghc/9.0.2.nix
@@ -33,7 +33,7 @@
 
 , # Whether to build dynamic libs for the standard library (on the target
   # platform). Static libs are always built.
-  enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
+  enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic
 
 , # Whether to build terminfo.
   enableTerminfo ? !stdenv.targetPlatform.isWindows
@@ -105,9 +105,13 @@ let
     CrossCompilePrefix = ${targetPrefix}
   '' + lib.optionalString (!enableProfiledLibs) ''
     GhcLibWays = "v dyn"
-  '' + lib.optionalString enableRelocatedStaticLibs ''
-    GhcLibHcOpts += -fPIC
-    GhcRtsHcOpts += -fPIC
+  '' +
+  # -fexternal-dynamic-refs apparently (because it's not clear from the documentation)
+  # makes the GHC RTS able to load static libraries, which may be needed for TemplateHaskell.
+  # This solution was described in https://www.tweag.io/blog/2020-09-30-bazel-static-haskell
+  lib.optionalString enableRelocatedStaticLibs ''
+    GhcLibHcOpts += -fPIC -fexternal-dynamic-refs
+    GhcRtsHcOpts += -fPIC -fexternal-dynamic-refs
   '' + lib.optionalString targetPlatform.useAndroidPrebuilt ''
     EXTRA_CC_OPTS += -std=gnu99
   '';
@@ -327,6 +331,10 @@ stdenv.mkDerivation (rec {
     inherit llvmPackages;
     inherit enableShared;
 
+    # This is used by the haskell builder to query
+    # the presence of the haddock program.
+    hasHaddock = enableHaddockProgram;
+
     # Our Cabal compiler name
     haskellCompilerName = "ghc-${version}";
   };
diff --git a/pkgs/development/compilers/ghc/9.2.1.nix b/pkgs/development/compilers/ghc/9.2.2.nix
index 75c728510ebae..0a572bff7ef23 100644
--- a/pkgs/development/compilers/ghc/9.2.1.nix
+++ b/pkgs/development/compilers/ghc/9.2.2.nix
@@ -34,7 +34,7 @@
 
 , # Whether to build dynamic libs for the standard library (on the target
   # platform). Static libs are always built.
-  enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
+  enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic
 
 , # Whether to build terminfo.
   enableTerminfo ? !stdenv.targetPlatform.isWindows
@@ -106,9 +106,13 @@ let
     CrossCompilePrefix = ${targetPrefix}
   '' + lib.optionalString (!enableProfiledLibs) ''
     GhcLibWays = "v dyn"
-  '' + lib.optionalString enableRelocatedStaticLibs ''
-    GhcLibHcOpts += -fPIC
-    GhcRtsHcOpts += -fPIC
+  '' +
+  # -fexternal-dynamic-refs apparently (because it's not clear from the documentation)
+  # makes the GHC RTS able to load static libraries, which may be needed for TemplateHaskell.
+  # This solution was described in https://www.tweag.io/blog/2020-09-30-bazel-static-haskell
+  lib.optionalString enableRelocatedStaticLibs ''
+    GhcLibHcOpts += -fPIC -fexternal-dynamic-refs
+    GhcRtsHcOpts += -fPIC -fexternal-dynamic-refs
   '' + lib.optionalString targetPlatform.useAndroidPrebuilt ''
     EXTRA_CC_OPTS += -std=gnu99
   '';
@@ -167,12 +171,12 @@ assert buildTargetLlvmPackages.llvm == llvmPackages.llvm;
 assert stdenv.targetPlatform.isDarwin -> buildTargetLlvmPackages.clang == llvmPackages.clang;
 
 stdenv.mkDerivation (rec {
-  version = "9.2.1";
+  version = "9.2.2";
   pname = "${targetPrefix}ghc${variantSuffix}";
 
   src = fetchurl {
     url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
-    sha256 = "f444012f97a136d9940f77cdff03fda48f9475e2ed0fec966c4d35c4df55f746";
+    sha256 = "902463a4cc6ee479af9358b9f8b2ee3237b03e934a1ea65b6d1fcf3e0d749ea6";
   };
 
   enableParallelBuilding = true;
@@ -221,6 +225,9 @@ stdenv.mkDerivation (rec {
     export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
   '' + lib.optionalString stdenv.isDarwin ''
     export NIX_LDFLAGS+=" -no_dtrace_dof"
+
+    # GHC tries the host xattr /usr/bin/xattr by default which fails since it expects python to be 2.7
+    export XATTR=${lib.getBin xattr}/bin/xattr
   '' + lib.optionalString targetPlatform.useAndroidPrebuilt ''
     sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
   '' + lib.optionalString targetPlatform.isMusl ''
@@ -282,10 +289,6 @@ stdenv.mkDerivation (rec {
     autoSignDarwinBinariesHook
   ] ++ lib.optionals enableDocs [
     sphinx
-  ] ++ lib.optionals stdenv.isDarwin [
-    # TODO(@sternenseemann): backport addition of XATTR env var like
-    # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6447
-    xattr
   ];
 
   # For building runtime libs
@@ -328,6 +331,10 @@ stdenv.mkDerivation (rec {
     inherit llvmPackages;
     inherit enableShared;
 
+    # This is used by the haskell builder to query
+    # the presence of the haddock program.
+    hasHaddock = enableHaddockProgram;
+
     # Our Cabal compiler name
     haskellCompilerName = "ghc-${version}";
   };
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 1c4bf3059d551..07ea6bda24582 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -347,6 +347,10 @@ stdenv.mkDerivation (rec {
     inherit llvmPackages;
     inherit enableShared;
 
+    # This is used by the haskell builder to query
+    # the presence of the haddock program.
+    hasHaddock = enableHaddockProgram;
+
     # Our Cabal compiler name
     haskellCompilerName = "ghc-${version}";
   };
diff --git a/pkgs/development/compilers/ghcjs/ghcjs-base.nix b/pkgs/development/compilers/ghcjs/ghcjs-base.nix
index ca0086a918abb..b0c604a4aeac4 100644
--- a/pkgs/development/compilers/ghcjs/ghcjs-base.nix
+++ b/pkgs/development/compilers/ghcjs/ghcjs-base.nix
@@ -1,5 +1,5 @@
 { mkDerivation, aeson, array, attoparsec, base, binary, bytestring
-, containers, deepseq, directory, dlist, fetchgit, ghc-prim
+, containers, deepseq, directory, dlist, fetchFromGitHub, ghc-prim
 , ghcjs-prim, hashable, HUnit, integer-gmp, primitive, QuickCheck
 , quickcheck-unicode, random, scientific, test-framework
 , test-framework-hunit, test-framework-quickcheck2, text, time
@@ -9,10 +9,11 @@
 mkDerivation {
   pname = "ghcjs-base";
   version = "0.2.0.3";
-  src = fetchgit {
-    url = "git://github.com/ghcjs/ghcjs-base";
-    sha256 = "15fdkjv0l7hpbbsn5238xxgzfdg61g666nzbv2sgxkwryn5rycv0";
+  src = fetchFromGitHub {
+    owner = "ghcjs";
+    repo = "ghcjs-base";
     rev = "85e31beab9beffc3ea91b954b61a5d04e708b8f2";
+    sha256 = "sha256-YDOfi/WZz/602OtbY8wL5jX3X+9oiGL1WhceCraczZU=";
   };
   libraryHaskellDepends = [
     aeson attoparsec base binary bytestring containers deepseq dlist
diff --git a/pkgs/development/compilers/go/1.17.nix b/pkgs/development/compilers/go/1.17.nix
index 69537dc899e82..28d5ffdc6dff4 100644
--- a/pkgs/development/compilers/go/1.17.nix
+++ b/pkgs/development/compilers/go/1.17.nix
@@ -55,11 +55,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.17.7";
+  version = "1.17.8";
 
   src = fetchurl {
     url = "https://dl.google.com/go/go${version}.src.tar.gz";
-    sha256 = "sha256-wQjNM7c7GRGgK2l3Qd896kPgGlxOCOQJ6LOg43RdK00=";
+    sha256 = "sha256-Lv/NiYFA2nmgYfN4TKT42LE9gR+yq+na0kBEQtq733o=";
   };
 
   # perl is used for testing go vet
diff --git a/pkgs/development/compilers/graalvm/community-edition/default.nix b/pkgs/development/compilers/graalvm/community-edition/default.nix
index f53e9a0389637..6f42bfcc4539a 100644
--- a/pkgs/development/compilers/graalvm/community-edition/default.nix
+++ b/pkgs/development/compilers/graalvm/community-edition/default.nix
@@ -1,17 +1,60 @@
-{ lib, callPackage, Foundation }:
+{ callPackage, Foundation }:
+/*
+  Add new graal versions and products here and then see update.nix on how to
+  generate the sources.
+*/
 
 let
   mkGraal = opts: callPackage (import ./mkGraal.nix opts) {
     inherit Foundation;
   };
+
+  /*
+    Looks a bit ugly but makes version update in the update script using sed
+    much easier
+  */
+  graalvm11-ce-release-version = "22.0.0.2";
+  graalvm17-ce-release-version = "22.0.0.2";
+  graalvm11-ce-dev-version = "22.2.0-dev-20220401_1942";
+  graalvm17-ce-dev-version = "22.2.0-dev-20220401_1942";
+
+  commonProducts = [
+    "graalvm-ce"
+    "native-image-installable-svm"
+    "ruby-installable-svm"
+    "wasm-installable-svm"
+  ];
+
 in
 {
   inherit mkGraal;
 
   graalvm11-ce = mkGraal rec {
-    version = "22.0.0.2";
+    config = {
+      x86_64-darwin = {
+        arch = "darwin-amd64";
+        products = commonProducts ++ [ "python-installable-svm" ];
+      };
+      x86_64-linux = {
+        arch = "linux-amd64";
+        products = commonProducts ++ [ "python-installable-svm" ];
+      };
+      aarch64-darwin = {
+        arch = "darwin-aarch64";
+        products = [
+          "graalvm-ce"
+          "native-image-installable-svm"
+        ];
+        version = graalvm11-ce-dev-version;
+      };
+      aarch64-linux = {
+        arch = "linux-aarch64";
+        products = commonProducts;
+      };
+    };
+    defaultVersion = graalvm11-ce-release-version;
     javaVersion = "11";
-    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
+    platforms = builtins.attrNames config;
   };
 
   # TODO: fix aarch64-linux, failing during Native Image compilation
@@ -20,8 +63,26 @@ in
   # directory"/tmp/SVM-4194439592488143713"): error=0, Failed to exec spawn
   # helper: pid: 19865, exit value: 1"
   graalvm17-ce = mkGraal rec {
-    version = "22.0.0.2";
+    config = {
+      x86_64-darwin = {
+        arch = "darwin-amd64";
+        products = commonProducts ++ [ "python-installable-svm" ];
+      };
+      x86_64-linux = {
+        arch = "linux-amd64";
+        products = commonProducts ++ [ "python-installable-svm" ];
+      };
+      aarch64-darwin = {
+        arch = "darwin-aarch64";
+        products = [
+          "graalvm-ce"
+          "native-image-installable-svm"
+        ];
+        version = graalvm17-ce-dev-version;
+      };
+    };
+    defaultVersion = graalvm17-ce-release-version;
     javaVersion = "17";
-    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    platforms = builtins.attrNames config;
   };
 }
diff --git a/pkgs/development/compilers/graalvm/community-edition/graalvm11-ce-sources.json b/pkgs/development/compilers/graalvm/community-edition/graalvm11-ce-sources.json
new file mode 100644
index 0000000000000..070c783d03367
--- /dev/null
+++ b/pkgs/development/compilers/graalvm/community-edition/graalvm11-ce-sources.json
@@ -0,0 +1,74 @@
+{
+  "darwin-aarch64": {
+    "graalvm-ce|java11|22.2.0-dev-20220401_1942": {
+      "sha256": "c83dee740ae148486598759e44a717b09d8124e4ea50f9da1e7d49d016572b89",
+      "url": "https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/22.2.0-dev-20220401_1942/graalvm-ce-java11-darwin-aarch64-dev.tar.gz"
+    },
+    "native-image-installable-svm|java11|22.2.0-dev-20220401_1942": {
+      "sha256": "661311ae26bfd6c46360b9e65aabe9361dc5cd05878a404343adf16925ae78fa",
+      "url": "https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/22.2.0-dev-20220401_1942/native-image-installable-svm-java11-darwin-aarch64-dev.jar"
+    }
+  },
+  "darwin-amd64": {
+    "graalvm-ce|java11|22.0.0.2": {
+      "sha256": "8280159b8a66c51a839c8079d885928a7f759d5da0632f3af7300df2b63a6323",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/graalvm-ce-java11-darwin-amd64-22.0.0.2.tar.gz"
+    },
+    "native-image-installable-svm|java11|22.0.0.2": {
+      "sha256": "03c27de6cce61ee8073e89252212457f3fbac2c0bc9bfa4acbff12176476c176",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/native-image-installable-svm-java11-darwin-amd64-22.0.0.2.jar"
+    },
+    "python-installable-svm|java11|22.0.0.2": {
+      "sha256": "67ee2f1cc10b0189e359344c31b22f423e636ff4ec2dd7d9437c3eb0ef54e601",
+      "url": "https://github.com/graalvm/graalpython/releases/download/vm-22.0.0.2/python-installable-svm-java11-darwin-amd64-22.0.0.2.jar"
+    },
+    "ruby-installable-svm|java11|22.0.0.2": {
+      "sha256": "a25c0099a21ca1ca9904dd3acdeef509f67a13b96c6135b6de199e9805330df9",
+      "url": "https://github.com/oracle/truffleruby/releases/download/vm-22.0.0.2/ruby-installable-svm-java11-darwin-amd64-22.0.0.2.jar"
+    },
+    "wasm-installable-svm|java11|22.0.0.2": {
+      "sha256": "d74c210a8a87b8eb0c4d18a65fde6f2c03ebc94d9bf7ed87bbb9cacc460006d7",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/wasm-installable-svm-java11-darwin-amd64-22.0.0.2.jar"
+    }
+  },
+  "linux-aarch64": {
+    "graalvm-ce|java11|22.0.0.2": {
+      "sha256": "1cc0263d95f642dada4e290dca7f49c0456cefa7b690b67e3e5c159b537b2c58",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/graalvm-ce-java11-linux-aarch64-22.0.0.2.tar.gz"
+    },
+    "native-image-installable-svm|java11|22.0.0.2": {
+      "sha256": "51d41e890a5aabf8e7b9d4f4e0f88206ee70a261f7dbb0315d51770ab8f3009e",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/native-image-installable-svm-java11-linux-aarch64-22.0.0.2.jar"
+    },
+    "ruby-installable-svm|java11|22.0.0.2": {
+      "sha256": "e0fb582a9c6b4167e7dc267c58ca1968bd1c471b3bc5c56061b436f175486d80",
+      "url": "https://github.com/oracle/truffleruby/releases/download/vm-22.0.0.2/ruby-installable-svm-java11-linux-aarch64-22.0.0.2.jar"
+    },
+    "wasm-installable-svm|java11|22.0.0.2": {
+      "sha256": "a48470ae391c75cb2805b7fe27cde2c925c0466fdbc0623dfbb67c54f19dbf8c",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/wasm-installable-svm-java11-linux-aarch64-22.0.0.2.jar"
+    }
+  },
+  "linux-amd64": {
+    "graalvm-ce|java11|22.0.0.2": {
+      "sha256": "bc86083bb7e2778c7e4fe4f55d74790e42255b96f7806a7fefa51d06f3bc7103",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/graalvm-ce-java11-linux-amd64-22.0.0.2.tar.gz"
+    },
+    "native-image-installable-svm|java11|22.0.0.2": {
+      "sha256": "8504a3441f5b28b8fd625f676674a9216f082ae63a4e30d43930c80f9672e71d",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/native-image-installable-svm-java11-linux-amd64-22.0.0.2.jar"
+    },
+    "python-installable-svm|java11|22.0.0.2": {
+      "sha256": "2f01d1bbc2ed2c507952d8ceaab1cb2176fc67e2d8c4b3bf5864e8d930c60c55",
+      "url": "https://github.com/graalvm/graalpython/releases/download/vm-22.0.0.2/python-installable-svm-java11-linux-amd64-22.0.0.2.jar"
+    },
+    "ruby-installable-svm|java11|22.0.0.2": {
+      "sha256": "e90f7ebc13b6c1f8e3f98881bb4fe2336870744174b2b6d41dc672d15f0b9a40",
+      "url": "https://github.com/oracle/truffleruby/releases/download/vm-22.0.0.2/ruby-installable-svm-java11-linux-amd64-22.0.0.2.jar"
+    },
+    "wasm-installable-svm|java11|22.0.0.2": {
+      "sha256": "c0fdfc40374b70f6f1597dd21660535c813dc5c3948c8a6ea9559a20f4d3fb5e",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/wasm-installable-svm-java11-linux-amd64-22.0.0.2.jar"
+    }
+  }
+}
diff --git a/pkgs/development/compilers/graalvm/community-edition/graalvm17-ce-sources.json b/pkgs/development/compilers/graalvm/community-edition/graalvm17-ce-sources.json
new file mode 100644
index 0000000000000..65e28b8b11cc3
--- /dev/null
+++ b/pkgs/development/compilers/graalvm/community-edition/graalvm17-ce-sources.json
@@ -0,0 +1,56 @@
+{
+  "darwin-aarch64": {
+    "graalvm-ce|java17|22.2.0-dev-20220401_1942": {
+      "sha256": "f0409c59adbce62da7be46ab7d0e01abe5c080ef97d0b555e6c773f94dbfdecf",
+      "url": "https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/22.2.0-dev-20220401_1942/graalvm-ce-java17-darwin-aarch64-dev.tar.gz"
+    },
+    "native-image-installable-svm|java17|22.2.0-dev-20220401_1942": {
+      "sha256": "3770dc4810d7ebae8f9ca2212e91112629096a964d3caea1667b0aaf5f70c1e0",
+      "url": "https://github.com/graalvm/graalvm-ce-dev-builds/releases/download/22.2.0-dev-20220401_1942/native-image-installable-svm-java17-darwin-aarch64-dev.jar"
+    }
+  },
+  "darwin-amd64": {
+    "graalvm-ce|java17|22.0.0.2": {
+      "sha256": "d54af9d1f4d0d351827395a714ed84d2489b023b74a9c13a431cc9d31d1e8f9a",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/graalvm-ce-java17-darwin-amd64-22.0.0.2.tar.gz"
+    },
+    "native-image-installable-svm|java17|22.0.0.2": {
+      "sha256": "007fa742cd139d447f83d776b6d78e717c9df11d56a61061a5937547c20028b7",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/native-image-installable-svm-java17-darwin-amd64-22.0.0.2.jar"
+    },
+    "python-installable-svm|java17|22.0.0.2": {
+      "sha256": "af887b0304d5ec98fab1be2cd1fca2aa3b10e84e823142a7f274560b1e0ea7c1",
+      "url": "https://github.com/graalvm/graalpython/releases/download/vm-22.0.0.2/python-installable-svm-java17-darwin-amd64-22.0.0.2.jar"
+    },
+    "ruby-installable-svm|java17|22.0.0.2": {
+      "sha256": "fc5eb6f833136ae3fda61f46fe0af66a8454ca2f803ca35eaff7336521cb468d",
+      "url": "https://github.com/oracle/truffleruby/releases/download/vm-22.0.0.2/ruby-installable-svm-java17-darwin-amd64-22.0.0.2.jar"
+    },
+    "wasm-installable-svm|java17|22.0.0.2": {
+      "sha256": "b76e6d872ce07ca9facd5b997dbb6e557ba72aa369ddd5f1664431bd11b98796",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/wasm-installable-svm-java17-darwin-amd64-22.0.0.2.jar"
+    }
+  },
+  "linux-amd64": {
+    "graalvm-ce|java17|22.0.0.2": {
+      "sha256": "4f743e0ed3d974b7d619ca2ed6014554e8c12e5ebbb38b9bc9e820b182169bd4",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/graalvm-ce-java17-linux-amd64-22.0.0.2.tar.gz"
+    },
+    "native-image-installable-svm|java17|22.0.0.2": {
+      "sha256": "8c25f650d58c2649c97061cb806dfaec9e685d5d2b80afc7cf72fe61d6891831",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/native-image-installable-svm-java17-linux-amd64-22.0.0.2.jar"
+    },
+    "python-installable-svm|java17|22.0.0.2": {
+      "sha256": "b3b78a15bd29b4eaaf0f2607e21181ca2a5b41b38ba43a3ff2656c2f6effda8a",
+      "url": "https://github.com/graalvm/graalpython/releases/download/vm-22.0.0.2/python-installable-svm-java17-linux-amd64-22.0.0.2.jar"
+    },
+    "ruby-installable-svm|java17|22.0.0.2": {
+      "sha256": "d86c9ad50cbed980fa69d69b2eccd47d31880d8c55553483f59ce9eda15628bd",
+      "url": "https://github.com/oracle/truffleruby/releases/download/vm-22.0.0.2/ruby-installable-svm-java17-linux-amd64-22.0.0.2.jar"
+    },
+    "wasm-installable-svm|java17|22.0.0.2": {
+      "sha256": "7f7e51e4a24384b3dd960c12ab9b05b1fea58a0457d6b80e3797228fab93c0bd",
+      "url": "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/wasm-installable-svm-java17-linux-amd64-22.0.0.2.jar"
+    }
+  }
+}
diff --git a/pkgs/development/compilers/graalvm/community-edition/hashes.nix b/pkgs/development/compilers/graalvm/community-edition/hashes.nix
deleted file mode 100644
index f21fdb252708e..0000000000000
--- a/pkgs/development/compilers/graalvm/community-edition/hashes.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-# Generated by ./update.sh script
-{ javaVersionPlatform, ... }:
-[
-  {
-    sha256 = {
-      "11-linux-aarch64" = "0n1cgd9rn5aw7rzbd45nlzpnqif095zwl3999vddlhpnjlyjdh0w";
-      "17-linux-aarch64" = "1iw27igiyzzl43yfgid1h6h7hd0xnv0rfdkp4r7r8i51sa3q7my7";
-      "11-linux-amd64" = "00vipkrhc7d5xxznm07pjrdjahhfg5s5vxg49xz8qxz2nwxhi1mw";
-      "17-linux-amd64" = "1m4v2s1b2878r6dqpcxvbqpc3s2l8l0xcbna37bbfx6rsc73wx2g";
-      "11-darwin-amd64" = "08v37avg439hywx2yqx0bnfpazwaja2xhyc0kj1imib6iadib042";
-      "17-darwin-amd64" = "16lg3qfx7j8w8cxc3abl7c19nj6jhkni99wmff153lyhyk8zjjnm";
-    }.${javaVersionPlatform} or null;
-    url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/graalvm-ce-java${javaVersionPlatform}-22.0.0.2.tar.gz";
-  }
-  {
-    sha256 = {
-      "11-linux-aarch64" = "17h0yfw0lxsiblqv1nzpc6i71vh6hbwf1x6lp7kziass1a4ixm2i";
-      "17-linux-aarch64" = "1nvm04smzbis1jy9znac2a4yf9ajqvvmadcf5ffr521rm784g2br";
-      "11-linux-amd64" = "07g7fab0zj1h77a30kiswqm0hvr1m5s6crszcbyvha2v3x2a6145";
-      "17-linux-amd64" = "0c8qi7b63zkjrz3sz01bbmfni7pcz9nq1jv1f34lj9lcsm8gc9cc";
-      "11-darwin-amd64" = "0xn1frj1f4pzrd5gm6xwq31blgvz8l9249c97q3yh7p6rkk7vhh3";
-      "17-darwin-amd64" = "1dr80314fxcklmhi19jn3pqrsz3iivbvcxnphdzl978krm1afzq0";
-    }.${javaVersionPlatform} or null;
-    url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/native-image-installable-svm-java${javaVersionPlatform}-22.0.0.2.jar";
-  }
-  {
-    sha256 = {
-      "11-linux-aarch64" = "103d91sz2dmlc5hcbi9v3d3irgb83755hz16vkknfhbbkhm5iyz0";
-      "17-linux-aarch64" = "0vas98knpvpajmv8bkgcf0fh7n5fy361nd47002cpppg6hrp7k9q";
-      "11-linux-amd64" = "0h4s1dgx2wn63pabdckl85s70s1kw97vp0c8z7izihdn2fy7w3z9";
-      "17-linux-amd64" = "1g98ashyvscwyn1k8mamih6qhcbxsk62x6ynd7x81ndy1karlv6q";
-      "11-darwin-amd64" = "1y8d6c2ri7hrvsv3aqbcp49pmxh9yppcsfnx0jcwm88wlach0p52";
-      "17-darwin-amd64" = "13a6rchnaczpmxga6g405z55913ayq5gwihzlvyy6shk6gwbcppw";
-    }.${javaVersionPlatform} or null;
-    url = "https://github.com/oracle/truffleruby/releases/download/vm-22.0.0.2/ruby-installable-svm-java${javaVersionPlatform}-22.0.0.2.jar";
-  }
-  {
-    sha256 = {
-      "11-linux-aarch64" = "135zkpqm8z5nzcyn5h6vdx3c09f9wb6jgzmp0llcnx8w76p71154";
-      "17-linux-aarch64" = "0pij3kh70lxrzmbzx8zw97f9nb0rr492l7x3n13wcr859cr8akas";
-      "11-linux-amd64" = "0ppvsgs216jmm5p8m34lqg2kv0awadh1dlkxb7qzcw2b6x0grzf0";
-      "17-linux-amd64" = "1gf0jfmqy8lp6w7bimjp0j5abzmi0ndsn4hcjvfv7123lbj52zkz";
-      "11-darwin-amd64" = "1mq6013crjmrpf3yvxwv9p4yn0rcdzg5z9hq9l6fpf47i8522k6p";
-      "17-darwin-amd64" = "15l7p48vsca4cvqxbpb9lcmafysmdsxpv6avrpxajz705j3nsvmp";
-    }.${javaVersionPlatform} or null;
-    url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.0.0.2/wasm-installable-svm-java${javaVersionPlatform}-22.0.0.2.jar";
-  }
-  {
-    sha256 = {
-      "11-linux-amd64" = "0m8cqqqdks34b2zv7i6qw9kzqxi1rfqsmknqa9wm0b7dqaxx209g";
-      "17-linux-amd64" = "12nszxp2yv35y8zkm94bnd0mnanah48y41r61ypymd19plaqmdxk";
-      "11-darwin-amd64" = "00g6akpv0gkw8gcxfbgcyipn6gj25yr32k1lb7iqj08bq4f2zvk7";
-      "17-darwin-amd64" = "1hd71qg0nmklyakl4cc29vl10fxalbyd2b5yn7x9iv6m0h1pp25g";
-    }.${javaVersionPlatform} or null;
-    url = "https://github.com/graalvm/graalpython/releases/download/vm-22.0.0.2/python-installable-svm-java${javaVersionPlatform}-22.0.0.2.jar";
-  }
-]
diff --git a/pkgs/development/compilers/graalvm/community-edition/mkGraal.nix b/pkgs/development/compilers/graalvm/community-edition/mkGraal.nix
index ee016e71d312f..5b20890ced1b7 100644
--- a/pkgs/development/compilers/graalvm/community-edition/mkGraal.nix
+++ b/pkgs/development/compilers/graalvm/community-edition/mkGraal.nix
@@ -1,7 +1,7 @@
-{ version
-, javaVersion
+{ javaVersion
+, defaultVersion
 , platforms
-, hashes ? import ./hashes.nix
+, config
 , useMusl ? false
 }:
 
@@ -33,16 +33,19 @@
 , cairo
 , glib
 , gtk3
+, writeShellScript
+, jq
+, gnused
 }:
 
 assert useMusl -> stdenv.isLinux;
 
 let
-  platform = {
-    aarch64-linux = "linux-aarch64";
-    x86_64-linux = "linux-amd64";
-    x86_64-darwin = "darwin-amd64";
-  }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
+  platform = config.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+  version = platform.version or defaultVersion;
+  name = "graalvm${javaVersion}-ce";
+  sourcesFilename = "${name}-sources.json";
+  sources = builtins.fromJSON (builtins.readFile (./. + "/${sourcesFilename}"));
 
   runtimeLibraryPath = lib.makeLibraryPath
     ([ cups ] ++ lib.optionals gtkSupport [ cairo glib gtk3 ]);
@@ -56,21 +59,11 @@ let
     (writeShellScriptBin "${stdenv.system}-musl-gcc" ''${lib.getDev musl}/bin/musl-gcc "$@"'')
   ]);
 
-  javaVersionPlatform = "${javaVersion}-${platform}";
-
   graalvmXXX-ce = stdenv.mkDerivation rec {
     inherit version;
-    name = "graalvm${javaVersion}-ce";
-    srcs =
-      let
-        # Some platforms doesn't have all GraalVM features
-        # e.g.: GraalPython on aarch64-linux
-        # When the platform doesn't have a feature, sha256 is null on hashes.nix
-        # To update hashes.nix file, run `./update.sh <graalvm-ce-version>`
-        maybeFetchUrl = url: if url.sha256 != null then (fetchurl url) else null;
-      in
-      (lib.remove null
-        (map maybeFetchUrl (hashes { inherit javaVersionPlatform; })));
+    pname = name;
+
+    srcs = map fetchurl (builtins.attrValues sources.${platform.arch});
 
     buildInputs = lib.optionals stdenv.isLinux [
       alsa-lib # libasound.so wanted by lib/libjsound.so
@@ -86,7 +79,8 @@ let
       zlib
     ];
 
-    nativeBuildInputs = [ unzip perl autoPatchelfHook makeWrapper ];
+    nativeBuildInputs = [ unzip perl makeWrapper ]
+      ++ lib.optional stdenv.hostPlatform.isLinux autoPatchelfHook;
 
     unpackPhase = ''
       unpack_jar() {
@@ -139,65 +133,40 @@ let
 
     outputs = [ "out" "lib" ];
 
-    installPhase =
-      let
-        copyClibrariesToOut = basepath: ''
-          # provide libraries needed for static compilation
-          ${
-            if useMusl then
-              "for f in ${musl.stdenv.cc.cc}/lib/* ${musl}/lib/* ${zlib.static}/lib/*; do"
-            else
-              "for f in ${glibc}/lib/* ${glibc.static}/lib/* ${zlib.static}/lib/*; do"
-          }
-            ln -s $f ${basepath}/${platform}/$(basename $f)
-          done
-        '';
-        copyClibrariesToLib = ''
-          # add those libraries to $lib output too, so we can use them with
-          # `native-image -H:CLibraryPath=''${lib.getLib graalvm11-ce}/lib ...` and reduce
-          # closure size by not depending on GraalVM $out (that is much bigger)
-          mkdir -p $lib/lib
-          for f in ${glibc}/lib/*; do
-            ln -s $f $lib/lib/$(basename $f)
-          done
-        '';
-      in
-      {
-        "11-linux-amd64" = ''
-          ${copyClibrariesToOut "$out/lib/svm/clibraries"}
-
-          ${copyClibrariesToLib}
-        '';
-        "17-linux-amd64" = ''
-          ${copyClibrariesToOut "$out/lib/svm/clibraries"}
-
-          ${copyClibrariesToLib}
-        '';
-        "11-linux-aarch64" = ''
-          ${copyClibrariesToOut "$out/lib/svm/clibraries"}
-
-          ${copyClibrariesToLib}
-        '';
-        "17-linux-aarch64" = ''
-          ${copyClibrariesToOut "$out/lib/svm/clibraries"}
-
-          ${copyClibrariesToLib}
-        '';
-        "11-darwin-amd64" = "";
-        "17-darwin-amd64" = "";
-      }.${javaVersionPlatform} + ''
-        # ensure that $lib/lib exists to avoid breaking builds
+    installPhase = ''
+      # ensure that $lib/lib exists to avoid breaking builds
+      mkdir -p $lib/lib
+      # jni.h expects jni_md.h to be in the header search path.
+      ln -s $out/include/linux/*_md.h $out/include/
+
+      # copy-paste openjdk's preFixup
+      # Set JAVA_HOME automatically.
+      mkdir -p $out/nix-support
+      cat > $out/nix-support/setup-hook << EOF
+        if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
+      EOF
+      ${
+      lib.optionalString (stdenv.isLinux) ''
+        # provide libraries needed for static compilation
+        ${
+          if useMusl then
+            "for f in ${musl.stdenv.cc.cc}/lib/* ${musl}/lib/* ${zlib.static}/lib/*; do"
+          else
+            "for f in ${glibc}/lib/* ${glibc.static}/lib/* ${zlib.static}/lib/*; do"
+        }
+          ln -s $f $out/lib/svm/clibraries/${platform.arch}/$(basename $f)
+        done
+
+        # add those libraries to $lib output too, so we can use them with
+        # `native-image -H:CLibraryPath=''${lib.getLib graalvmXX-ce}/lib ...` and reduce
+        # closure size by not depending on GraalVM $out (that is much bigger)
         mkdir -p $lib/lib
-        # jni.h expects jni_md.h to be in the header search path.
-        ln -s $out/include/linux/*_md.h $out/include/
-
-        # copy-paste openjdk's preFixup
-        # Set JAVA_HOME automatically.
-        mkdir -p $out/nix-support
-        cat <<EOF > $out/nix-support/setup-hook
-          if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
-        EOF
-      '';
+        for f in ${glibc}/lib/*; do
+          ln -s $f $lib/lib/$(basename $f)
+        done
+      ''
+      }
+    '';
 
     dontStrip = true;
 
@@ -281,7 +250,7 @@ let
       }
 
       ${
-        lib.optionalString (platform != "linux-aarch64") ''
+        lib.optionalString (builtins.any (a: a == "python-installable-svm") platform.products) ''
           echo "Testing GraalPython"
           $out/bin/graalpython -c 'print(1 + 1)'
           echo '1 + 1' | $out/bin/graalpython
@@ -289,10 +258,14 @@ let
       }
 
       echo "Testing TruffleRuby"
+      ${
+        lib.optionalString (builtins.any (a: a == "ruby-installable-svm") platform.products) ''
       # Hide warnings about wrong locale
       export LANG=C
       export LC_ALL=C
       $out/bin/ruby -e 'puts(1 + 1)'
+      ''
+      }
       ${# FIXME: irb is broken in all platforms
         # TODO: `irb` on MacOS gives an error saying "Could not find OpenSSL
         # headers, install via Homebrew or MacPorts or set OPENSSL_PREFIX", even
@@ -311,7 +284,11 @@ let
 
     passthru = {
       home = graalvmXXX-ce;
-      updateScript = ./update.sh;
+      updateScript = import ./update.nix {
+        inherit lib writeShellScript jq sourcesFilename name config gnused defaultVersion;
+        graalVersion = version;
+        javaVersion = "java${javaVersion}";
+      };
     };
 
     meta = with lib; {
diff --git a/pkgs/development/compilers/graalvm/community-edition/update.nix b/pkgs/development/compilers/graalvm/community-edition/update.nix
new file mode 100644
index 0000000000000..191f3cb45a154
--- /dev/null
+++ b/pkgs/development/compilers/graalvm/community-edition/update.nix
@@ -0,0 +1,223 @@
+{ javaVersion
+, graalVersion
+, defaultVersion
+, config
+, sourcesFilename
+, name
+, lib
+, writeShellScript
+, jq
+, gnused
+}:
+
+/*
+  How to  use:
+  run `nix-shell maintainers/scripts/update.nix --argstr package graalvmXX-ce`
+  to update the graalvmXX-ce-sources.json file.
+  E.g: nix-shell maintainers/scripts/update.nix --argstr package graalvm17-ce
+
+  Basic idea:
+  If we know the platform, product, javaVersion and graalVersion
+  we can create the url. This leads to the following json structure:
+  {
+  "platform/arch1": {
+  "product1|javaVersion|graalVersion": { "sha256": "...", "url": "..."},
+  "product2|javaVersion|graalVersion": { "sha256": "...", "url": "..."},
+  ...
+  },
+  "platform/arch2": {
+  ...
+  }
+  }
+*/
+
+let
+  separator = "|";
+
+  # isDev :: String -> Boolean
+  isDev = version:
+    lib.hasInfix "dev" version;
+
+  # getLatestVersion :: String -> String
+  getLatestVersion = currentVersion:
+    let
+      dev = if isDev currentVersion then "dev-" else "";
+      url = "https://api.github.com/repos/graalvm/graalvm-ce-${dev}builds/releases/latest";
+      file = builtins.fetchurl url;
+      json = builtins.fromJSON (builtins.readFile file);
+    in
+    lib.removePrefix "vm-" json.tag_name;
+
+  # getArchString :: String -> String
+  getArchString = nixArchString:
+    {
+      "aarch64-linux" = "linux-aarch64";
+      "x86_64-linux" = "linux-amd64";
+      "x86_64-darwin" = "darwin-amd64";
+    }.${nixArchString};
+
+
+  # getProductSuffix :: String -> String
+  getProductSuffix = productName:
+    {
+      "graalvm-ce" = ".tar.gz";
+      "native-image-installable-svm" = ".jar";
+      "ruby-installable-svm" = ".jar";
+      "wasm-installable-svm" = ".jar";
+      "python-installable-svm" = ".jar";
+    }.${productName};
+
+  # getProductSuffix :: String -> String
+  getProductBaseUrl = productName:
+    {
+      "graalvm-ce" = "https://github.com/graalvm/graalvm-ce-builds/releases/download";
+      "native-image-installable-svm" = "https://github.com/graalvm/graalvm-ce-builds/releases/download";
+      "ruby-installable-svm" = "https://github.com/oracle/truffleruby/releases/download";
+      "wasm-installable-svm" = "https://github.com/graalvm/graalvm-ce-builds/releases/download";
+      "python-installable-svm" = "https://github.com/graalvm/graalpython/releases/download";
+    }.${productName};
+
+  # getDevUrl :: String
+  getDevUrl = { arch, graalVersion, product, javaVersion }:
+    let
+      baseUrl = https://github.com/graalvm/graalvm-ce-dev-builds/releases/download;
+    in
+    "${baseUrl}/${graalVersion}/${product}-${javaVersion}-${arch}-dev${getProductSuffix product}";
+
+  # getReleaseUrl :: AttrSet -> String
+  getReleaseUrl = { arch, graalVersion, product, javaVersion }:
+    let baseUrl = getProductBaseUrl product;
+    in
+    "${baseUrl}/vm-${graalVersion}/${product}-${javaVersion}-${arch}-${graalVersion}${getProductSuffix product}";
+
+  # getUrl :: AttrSet -> String
+  getUrl = args@{ arch, graalVersion, product, javaVersion }:
+    if isDev graalVersion
+    then getDevUrl args
+    else getReleaseUrl args;
+
+  # computeSha256 :: String -> String
+  computeSha256 = url:
+    builtins.hashFile "sha256" (builtins.fetchurl url);
+
+  # downloadSha256 :: String -> String
+  downloadSha256 = url:
+    let sha256Url = url + ".sha256";
+    in
+    builtins.readFile (builtins.fetchurl sha256Url);
+
+  # getSha256 :: String -> String -> String
+  getSha256 = graalVersion: url:
+    if isDev graalVersion
+    then computeSha256 url
+    else downloadSha256 url;
+
+  # cartesianZipListsWith :: (a -> b -> c) -> [a] -> [b] -> [c]
+  cartesianZipListsWith = f: fst: snd:
+    let
+      cartesianProduct = lib.cartesianProductOfSets { a = fst; b = snd; };
+      fst' = builtins.catAttrs "a" cartesianProduct;
+      snd' = builtins.catAttrs "b" cartesianProduct;
+    in
+    lib.zipListsWith f fst' snd';
+
+  # zipListsToAttrs :: [a] -> [b] -> AttrSet
+  zipListsToAttrs = names: values:
+    lib.listToAttrs (
+      lib.zipListsWith (name: value: { inherit name value; }) names values
+    );
+
+  # genProductJavaVersionGraalVersionAttrSet :: String -> AttrSet
+  genProductJavaVersionGraalVersionAttrSet = product_javaVersion_graalVersion:
+    let
+      attrNames = [ "product" "javaVersion" "graalVersion" ];
+      attrValues = lib.splitString separator product_javaVersion_graalVersion;
+    in
+    zipListsToAttrs attrNames attrValues;
+
+  # genUrlAndSha256 :: String -> String -> AttrSet
+  genUrlAndSha256 = arch: product_javaVersion_graalVersion:
+    let
+      productJavaVersionGraalVersion =
+        (genProductJavaVersionGraalVersionAttrSet product_javaVersion_graalVersion)
+        // { inherit arch; };
+      url = getUrl productJavaVersionGraalVersion;
+      sha256 = getSha256 productJavaVersionGraalVersion.graalVersion url;
+    in
+    {
+      ${arch} = {
+        ${product_javaVersion_graalVersion} = {
+          inherit sha256 url;
+        };
+      };
+    };
+
+  # genArchProductVersionPairs :: String -> -> String -> AttrSet -> [AttrSet]
+  genArchProductVersionList = javaVersion: graalVersion: archProducts:
+    let
+      arch = archProducts.arch;
+      products = archProducts.products;
+      javaGraalVersion = javaVersion + separator + (getLatestVersion (archProducts.version or graalVersion));
+      productJavaGraalVersionList =
+        cartesianZipListsWith (a: b: a + separator + b)
+          products [ javaGraalVersion ];
+    in
+    cartesianZipListsWith (genUrlAndSha256) [ arch ] productJavaGraalVersionList;
+
+
+  # genSources :: String -> String -> AttrSet -> Path String
+  genSources = javaVersion: defaultVersion: config:
+    let
+      archProducts = builtins.attrValues config;
+      sourcesList = builtins.concatMap (genArchProductVersionList javaVersion defaultVersion) archProducts;
+      sourcesAttr = builtins.foldl' (lib.recursiveUpdate) { } sourcesList;
+    in
+    builtins.toFile "sources.json" (builtins.toJSON sourcesAttr);
+
+  # isNew :: String -> String -> Boolean
+  isNew = newVersion: currentVersion:
+    {
+      "-1" = false;
+      "0" = false;
+      "1" = true;
+    }.${builtins.toString (builtins.compareVersions newVersion currentVersion)};
+
+  newVersion = getLatestVersion graalVersion;
+  sourcesJson = genSources javaVersion defaultVersion config;
+  sourcesJsonPath = lib.strings.escapeShellArg ./. + "/${sourcesFilename}";
+
+  # versionKeyInDefaultNix String -> String
+  versionKeyInDefaultNix = graalVersion:
+    if isDev graalVersion
+    then "${name}-dev-version"
+    else "${name}-release-version";
+
+  /*
+    updateScriptText :: String -> String -> String
+    Writes the json file and updates the version in default.nix using sed
+    because update-source-version does not work srcs.
+  */
+  updateScriptText = newVersion: currentVersion:
+
+    if isNew newVersion currentVersion
+    then
+      let
+        versionKey = versionKeyInDefaultNix currentVersion;
+      in
+      ''
+        echo "New version found. Updating ${currentVersion} -> ${newVersion}".
+        export PATH="${lib.makeBinPath [ jq gnused ]}:$PATH"
+        jq . ${sourcesJson} > ${sourcesJsonPath}
+        sed -i 's|${versionKey} = "${currentVersion}";|${versionKey} = "${newVersion}";|' \
+          ${lib.strings.escapeShellArg ./default.nix}
+      ''
+    else ''echo "No new version found. Skip updating."'';
+
+in
+writeShellScript "update-graal.sh" ''
+  set -o errexit
+  set -o nounset
+  set -o pipefail
+
+  ${updateScriptText newVersion graalVersion}
+''
diff --git a/pkgs/development/compilers/graalvm/community-edition/update.sh b/pkgs/development/compilers/graalvm/community-edition/update.sh
deleted file mode 100755
index c821c83a59c82..0000000000000
--- a/pkgs/development/compilers/graalvm/community-edition/update.sh
+++ /dev/null
@@ -1,81 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -p coreutils curl nix jq gnused -i bash
-
-set -eou pipefail
-
-cd "$(dirname "${BASH_SOURCE[0]}")"
-
-info() { echo "[INFO] $*"; }
-
-echo_file() { echo "$@" >> hashes.nix; }
-
-verlte() {
-    [  "$1" = "$(echo -e "$1\n$2" | sort -V | head -n1)" ]
-}
-
-readonly nixpkgs=../../../../..
-
-readonly old_version="$(nix-instantiate "$nixpkgs" --eval --strict -A graalvm11-ce.version)"
-
-if [[ -z "${1:-}" ]]; then
-  readonly gh_version="$(curl \
-      ${GITHUB_TOKEN:+"-u \":$GITHUB_TOKEN\""} \
-      -s https://api.github.com/repos/graalvm/graalvm-ce-builds/releases/latest | \
-      jq --raw-output .tag_name)"
-  readonly new_version="${gh_version//vm-/}"
-else
-  readonly new_version="$1"
-fi
-
-if verlte "$old_version" "$new_version"; then
-  info "graalvm-ce $old_version is up-to-date."
-  [[ -z "${FORCE:-}" ]]  && exit 0
-else
-  info "graalvm-ce $old_version is out-of-date. Updating..."
-fi
-
-readonly urls=(
-  "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${new_version}/graalvm-ce-java@platform@-${new_version}.tar.gz"
-  "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${new_version}/native-image-installable-svm-java@platform@-${new_version}.jar"
-  "https://github.com/oracle/truffleruby/releases/download/vm-${new_version}/ruby-installable-svm-java@platform@-${new_version}.jar"
-  "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${new_version}/wasm-installable-svm-java@platform@-${new_version}.jar"
-  "https://github.com/graalvm/graalpython/releases/download/vm-${new_version}/python-installable-svm-java@platform@-${new_version}.jar"
-)
-
-readonly platforms=(
-  "11-linux-aarch64"
-  "17-linux-aarch64"
-  "11-linux-amd64"
-  "17-linux-amd64"
-  "11-darwin-amd64"
-  "17-darwin-amd64"
-)
-
-info "Deleting old hashes.nix file..."
-rm -f hashes.nix
-info "Generating hashes.nix file for 'graalvm-ce' $new_version. This will take a while..."
-
-echo_file "# Generated by $0 script"
-echo_file "{ javaVersionPlatform, ... }:"
-echo_file "["
-
-for url in "${urls[@]}"; do
-  echo_file "  {"
-  echo_file "    sha256 = {"
-  for platform in "${platforms[@]}"; do
-    if hash="$(nix-prefetch-url "${url//@platform@/$platform}")"; then
-      echo_file "      \"$platform\" = \"$hash\";"
-    fi
-  done
-  echo_file '    }.${javaVersionPlatform} or null;'
-  echo_file "    url = \"${url//@platform@/\$\{javaVersionPlatform\}}\";"
-  echo_file "  }"
-done
-
-echo_file "]"
-
-info "Updating graalvm-ce version..."
-# update-source-version does not work here since it expects src attribute
-sed "s|$old_version|\"$new_version\"|" -i default.nix
-
-info "Done!"
diff --git a/pkgs/development/compilers/hhvm/default.nix b/pkgs/development/compilers/hhvm/default.nix
deleted file mode 100644
index d8495977e780e..0000000000000
--- a/pkgs/development/compilers/hhvm/default.nix
+++ /dev/null
@@ -1,68 +0,0 @@
-{ lib, stdenv, fetchgit, cmake, pkg-config, boost, libunwind, libmemcached
-, pcre, libevent, gd, curl, libxml2, icu, flex, bison, openssl, zlib, php
-, expat, libcap, oniguruma, libdwarf, libmcrypt, tbb, gperftools, glog, libkrb5
-, bzip2, openldap, readline, libelf, uwimap, binutils, cyrus_sasl, pam, libpng
-, libxslt, freetype, gdb, git, perl, libmysqlclient, gmp, libyaml, libedit
-, libvpx, imagemagick, fribidi, gperf, which, ocamlPackages
-}:
-
-stdenv.mkDerivation rec {
-  pname = "hhvm";
-  version = "3.23.2";
-
-  # use git version since we need submodules
-  src = fetchgit {
-    url    = "https://github.com/facebook/hhvm.git";
-    rev    = "HHVM-${version}";
-    sha256 = "1nic49j8nghx82lgvz0b95r78sqz46qaaqv4nx48p8yrj9ysnd7i";
-    fetchSubmodules = true;
-  };
-
-  nativeBuildInputs = [ cmake pkg-config flex bison ];
-  buildInputs =
-    [ boost libunwind libmysqlclient libmemcached pcre gdb git perl
-      libevent gd curl libxml2 icu openssl zlib php expat libcap
-      oniguruma libdwarf libmcrypt tbb gperftools bzip2 openldap readline
-      libelf uwimap binutils cyrus_sasl pam glog libpng libxslt libkrb5
-      gmp libyaml libedit libvpx imagemagick fribidi gperf which
-      ocamlPackages.ocaml ocamlPackages.ocamlbuild
-    ];
-
-  patches = [
-    ./flexible-array-members-gcc6.patch
-  ];
-
-  dontUseCmakeBuildDir = true;
-  NIX_LDFLAGS = "-lpam -L${pam}/lib";
-
-  # work around broken build system
-  NIX_CFLAGS_COMPILE = "-I${freetype.dev}/include/freetype2";
-
-  # the cmake package does not handle absolute CMAKE_INSTALL_INCLUDEDIR correctly
-  # (setting it to an absolute path causes include files to go to $out/$out/include,
-  #  because the absolute path is interpreted with root at $out).
-  cmakeFlags = [ "-DCMAKE_INSTALL_INCLUDEDIR=include" ];
-
-  prePatch = ''
-    substituteInPlace ./configure \
-      --replace "/usr/bin/env bash" ${stdenv.shell}
-    substituteInPlace ./third-party/ocaml/CMakeLists.txt \
-      --replace "/bin/bash" ${stdenv.shell}
-    perl -pi -e 's/([ \t(])(isnan|isinf)\(/$1std::$2(/g' \
-      hphp/runtime/base/*.cpp \
-      hphp/runtime/ext/std/*.cpp \
-      hphp/runtime/ext_zend_compat/php-src/main/*.cpp \
-      hphp/runtime/ext_zend_compat/php-src/main/*.h
-    sed '1i#include <functional>' -i third-party/mcrouter/src/mcrouter/lib/cycles/Cycles.h
-    patchShebangs .
-  '';
-
-  meta = {
-    description = "High-performance JIT compiler for PHP/Hack";
-    homepage    = "https://hhvm.com";
-    license     = "PHP/Zend";
-    platforms   = [ "x86_64-linux" ];
-    maintainers = [ lib.maintainers.thoughtpolice ];
-    broken = true; # Since 2018-04-21, see https://hydra.nixos.org/build/73059373
-  };
-}
diff --git a/pkgs/development/compilers/hhvm/flexible-array-members-gcc6.patch b/pkgs/development/compilers/hhvm/flexible-array-members-gcc6.patch
deleted file mode 100644
index 61b6e5e8d8c32..0000000000000
--- a/pkgs/development/compilers/hhvm/flexible-array-members-gcc6.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/third-party/re2/src/re2/dfa.cc b/third-party/re2/src/re2/dfa.cc
-index 483f678..3aa3610 100644
---- a/third-party/re2/src/re2/dfa.cc
-+++ b/third-party/re2/src/re2/dfa.cc
-@@ -101,8 +101,13 @@ class DFA {
-     uint flag_;         // Empty string bitfield flags in effect on the way
-                         // into this state, along with kFlagMatch if this
-                         // is a matching state.
--    std::atomic<State*> next_[];    // Outgoing arrows from State,
--                        // one per input byte class
-+// Work around the bug affecting flexible array members in GCC 6.1 and 6.2.
-+// (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70932)
-+#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ == 6 && __GNUC_MINOR__ >= 1
-+    std::atomic<State*> next_[0];   // Outgoing arrows from State, one per input byte class
-+#else
-+    std::atomic<State*> next_[];    // Outgoing arrows from State, one per input byte class
-+#endif
-   };
-
-   enum {
diff --git a/pkgs/development/compilers/hip/default.nix b/pkgs/development/compilers/hip/default.nix
index 5a7e9dd5a529f..2153a30cb160b 100644
--- a/pkgs/development/compilers/hip/default.nix
+++ b/pkgs/development/compilers/hip/default.nix
@@ -31,13 +31,13 @@
 let
   hip = stdenv.mkDerivation rec {
     pname = "hip";
-    version = "4.5.2";
+    version = "5.0.2";
 
     src = fetchFromGitHub {
       owner = "ROCm-Developer-Tools";
       repo = "HIP";
       rev = "rocm-${version}";
-      sha256 = "sha256-AuA5ubRPywXaBBrjdHg5AT8rrVKULKog6Lh8jPaUcXY=";
+      hash = "sha256-w023vBLJaiFbRdvz9UfZLPasRjk3VqM9zwctCIJ5hGU=";
     };
 
     # - fix bash paths
@@ -68,14 +68,14 @@ let
           -e 's,`file,`${file}/bin/file,g' \
           -e 's,`readelf,`${binutils-unwrapped}/bin/readelf,' \
           -e 's, ar , ${binutils-unwrapped}/bin/ar ,g' \
-          -i bin/hipcc
+          -i bin/hipcc.pl
 
       sed -e 's,^\($HSA_PATH=\).*$,\1"${rocm-runtime}";,' \
           -e 's,^\($HIP_CLANG_PATH=\).*$,\1"${clang}/bin";,' \
           -e 's,^\($HIP_PLATFORM=\).*$,\1"amd";,' \
           -e 's,$HIP_CLANG_PATH/llc,${llvm}/bin/llc,' \
           -e 's, abs_path, Cwd::abs_path,' \
-          -i bin/hipconfig
+          -i bin/hipconfig.pl
 
       sed -e 's, abs_path, Cwd::abs_path,' -i bin/hipvars.pm
     '';
@@ -102,13 +102,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "hip";
-  version = "4.5.2";
+  version = "5.0.2";
 
   src = fetchFromGitHub {
     owner = "ROCm-Developer-Tools";
     repo = "hipamd";
     rev = "rocm-${version}";
-    sha256 = "WvOuQu/EN81Kwcoc3ZtGlhb996edQJ3OWFsmPuqeNXE=";
+    hash = "sha256-hhTwKG0wDpbIBI8S61AhdNldX+STO8C66xi2EzmJSBs=";
   };
 
   nativeBuildInputs = [ cmake python3 makeWrapper perl ];
@@ -135,6 +135,7 @@ stdenv.mkDerivation rec {
     "-DAMD_OPENCL_PATH=${rocm-opencl-runtime.src}"
     "-DHIP_COMMON_DIR=${hip}"
     "-DROCCLR_PATH=${rocclr}"
+    "-DHIP_VERSION_BUILD_ID=0"
   ];
 
   postInstall = ''
diff --git a/pkgs/development/compilers/ios-cross-compile/9.2.nix b/pkgs/development/compilers/ios-cross-compile/9.2.nix
index ea1af60993f9d..320cbdc41b0f0 100644
--- a/pkgs/development/compilers/ios-cross-compile/9.2.nix
+++ b/pkgs/development/compilers/ios-cross-compile/9.2.nix
@@ -51,7 +51,8 @@ clangStdenv.mkDerivation rec {
       and run this installation again.
    '';
   };
-  buildInputs = [ git xz gnutar openssl automake autoconf libtool clang ];
+  nativeBuildInputs = [ autoconf automake ];
+  buildInputs = [ git xz gnutar openssl libtool clang ];
   alt_wrapper = ./alt_wrapper.c;
   builder = ./9.2_builder.sh;
   meta = {
diff --git a/pkgs/development/compilers/julia/1.6-bin.nix b/pkgs/development/compilers/julia/1.6-bin.nix
index ece5a2a247164..acdd8a034e7bc 100644
--- a/pkgs/development/compilers/julia/1.6-bin.nix
+++ b/pkgs/development/compilers/julia/1.6-bin.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "julia-bin";
-  version = "1.6.5";
+  version = "1.6.6";
 
   src = {
     x86_64-linux = fetchurl {
       url = "https://julialang-s3.julialang.org/bin/linux/x64/${lib.versions.majorMinor version}/julia-${version}-linux-x86_64.tar.gz";
-      sha256 = "0b4fmcfd5q5wzvasmsfqq838rivpxn274n5y2kza4m3jakp27zmq";
+      sha256 = "0ia9a4h7w0n5rg57fkl1kzcyj500ymfwq3qsd2r7l82288dgfpy2";
     };
   }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
diff --git a/pkgs/development/compilers/ligo/default.nix b/pkgs/development/compilers/ligo/default.nix
index 33a0ad49bd3da..36ec5bba2e20b 100644
--- a/pkgs/development/compilers/ligo/default.nix
+++ b/pkgs/development/compilers/ligo/default.nix
@@ -1,17 +1,19 @@
 { lib
 , fetchFromGitLab
+, git
 , coq
 , cacert
 }:
 
 coq.ocamlPackages.buildDunePackage rec {
   pname = "ligo";
-  version = "0.34.0";
+  version = "0.36.0";
   src = fetchFromGitLab {
     owner = "ligolang";
     repo = "ligo";
     rev = version;
-    sha256 = "sha256-MHkIr+XkW/zrRt+Cg48q4fOWTkNGH0hbf+oU7cAivNE=";
+    sha256 = "0zx8ai79ha3npm3aybzgisil27v9i052cqdllfri0fsc67dig78b";
+    fetchSubmodules = true;
   };
 
   # The build picks this up for ligo --version
@@ -19,32 +21,59 @@ coq.ocamlPackages.buildDunePackage rec {
 
   useDune2 = true;
 
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    git
+    coq
+    coq.ocamlPackages.menhir
+    coq.ocamlPackages.ocaml-recovery-parser
+  ];
+
   buildInputs = with coq.ocamlPackages; [
     coq
     menhir
     menhirLib
     qcheck
     ocamlgraph
+    bisect_ppx
     ppx_deriving
     ppx_deriving_yojson
     ppx_expect
-    tezos-base
-    tezos-shell-services
-    tezos-010-PtGRANAD-test-helpers
-    tezos-011-PtHangz2-test-helpers
-    tezos-protocol-010-PtGRANAD-parameters
-    tezos-protocol-010-PtGRANAD
-    tezos-protocol-environment
+    ppx_import
+    terminal_size
+    ocaml-recovery-parser
     yojson
     getopt
-    terminal_size
+    core
     pprint
     linenoise
+
+    # Test helpers deps
+    qcheck
+    qcheck-alcotest
+    alcotest-lwt
+
+    # vendored tezos' deps
+    ctypes
+    hacl-star
+    hacl-star-raw
+    lwt-canceler
+    ipaddr
+    bls12-381-unix
+    bls12-381-legacy
+    ptime
+    mtime
+    lwt_log
+    ringo
+    ringo-lwt
+    secp256k1-internal
+    resto
+    resto-directory
+    resto-cohttp-self-serving-client
+    irmin-pack
+    ezjsonm
     data-encoding
-    bisect_ppx
-    cmdliner
-    core
-    ocaml-recovery-parser
   ];
 
   checkInputs = [
diff --git a/pkgs/development/compilers/llvm/10/lld/default.nix b/pkgs/development/compilers/llvm/10/lld/default.nix
index 5d590aec35acb..4b7d4eafcbf32 100644
--- a/pkgs/development/compilers/llvm/10/lld/default.nix
+++ b/pkgs/development/compilers/llvm/10/lld/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   meta = llvm_meta // {
     homepage = "https://lld.llvm.org/";
-    description = "The LLVM linker";
+    description = "The LLVM linker (unwrapped)";
     longDescription = ''
       LLD is a linker from the LLVM project that is a drop-in replacement for
       system linkers and runs much faster than them. It also provides features
diff --git a/pkgs/development/compilers/llvm/11/lld/default.nix b/pkgs/development/compilers/llvm/11/lld/default.nix
index d344d3d3c1174..8a9daf317c24a 100644
--- a/pkgs/development/compilers/llvm/11/lld/default.nix
+++ b/pkgs/development/compilers/llvm/11/lld/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   meta = llvm_meta // {
     homepage = "https://lld.llvm.org/";
-    description = "The LLVM linker";
+    description = "The LLVM linker (unwrapped)";
     longDescription = ''
       LLD is a linker from the LLVM project that is a drop-in replacement for
       system linkers and runs much faster than them. It also provides features
diff --git a/pkgs/development/compilers/llvm/12/lld/default.nix b/pkgs/development/compilers/llvm/12/lld/default.nix
index f9b0effbff300..cc476259612ca 100644
--- a/pkgs/development/compilers/llvm/12/lld/default.nix
+++ b/pkgs/development/compilers/llvm/12/lld/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
   meta = llvm_meta // {
     homepage = "https://lld.llvm.org/";
-    description = "The LLVM linker";
+    description = "The LLVM linker (unwrapped)";
     longDescription = ''
       LLD is a linker from the LLVM project that is a drop-in replacement for
       system linkers and runs much faster than them. It also provides features
diff --git a/pkgs/development/compilers/llvm/13/lld/default.nix b/pkgs/development/compilers/llvm/13/lld/default.nix
index 2b5e9e965d073..d37a380c63970 100644
--- a/pkgs/development/compilers/llvm/13/lld/default.nix
+++ b/pkgs/development/compilers/llvm/13/lld/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
 
   meta = llvm_meta // {
     homepage = "https://lld.llvm.org/";
-    description = "The LLVM linker";
+    description = "The LLVM linker (unwrapped)";
     longDescription = ''
       LLD is a linker from the LLVM project that is a drop-in replacement for
       system linkers and runs much faster than them. It also provides features
diff --git a/pkgs/development/compilers/llvm/14/default.nix b/pkgs/development/compilers/llvm/14/default.nix
index ce126f7b502ff..93cacafdc5556 100644
--- a/pkgs/development/compilers/llvm/14/default.nix
+++ b/pkgs/development/compilers/llvm/14/default.nix
@@ -19,7 +19,7 @@
 
 let
   release_version = "14.0.0";
-  candidate = "rc4"; # empty or "rcN"
+  candidate = ""; # empty or "rcN"
   dash-candidate = lib.optionalString (candidate != "") "-${candidate}";
   rev = ""; # When using a Git commit
   rev-version = ""; # When using a Git commit
@@ -30,7 +30,7 @@ let
     owner = "llvm";
     repo = "llvm-project";
     rev = if rev != "" then rev else "llvmorg-${version}";
-    sha256 = "0xm3hscg6xv48rjdi7sg9ky960af1qyg5k3jyavnaqimlaj9wxgp";
+    sha256 = "1ixqzjzq4ad3mv1w44gwcg1shy34c2b3i9ja71vx1wa7l2ms2376";
   };
 
   llvm_meta = {
diff --git a/pkgs/development/compilers/llvm/14/lld/default.nix b/pkgs/development/compilers/llvm/14/lld/default.nix
index fe655c7611293..1ae6d4ea6fceb 100644
--- a/pkgs/development/compilers/llvm/14/lld/default.nix
+++ b/pkgs/development/compilers/llvm/14/lld/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
 
   meta = llvm_meta // {
     homepage = "https://lld.llvm.org/";
-    description = "The LLVM linker";
+    description = "The LLVM linker (unwrapped)";
     longDescription = ''
       LLD is a linker from the LLVM project that is a drop-in replacement for
       system linkers and runs much faster than them. It also provides features
diff --git a/pkgs/development/compilers/llvm/14/openmp/default.nix b/pkgs/development/compilers/llvm/14/openmp/default.nix
index 2b580a9c169c9..622072b53e180 100644
--- a/pkgs/development/compilers/llvm/14/openmp/default.nix
+++ b/pkgs/development/compilers/llvm/14/openmp/default.nix
@@ -5,6 +5,7 @@
 , runCommand
 , cmake
 , llvm
+, lit
 , clang-unwrapped
 , perl
 , pkg-config
@@ -25,16 +26,27 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./gnu-install-dirs.patch
-    ./fix-find-tool.patch
+    ./run-lit-directly.patch
   ];
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ cmake perl pkg-config clang-unwrapped ];
+  nativeBuildInputs = [ cmake perl pkg-config lit ];
   buildInputs = [ llvm ];
 
+  # Unsup:Pass:XFail:Fail
+  # 26:267:16:8
+  doCheck = false;
+  checkTarget = "check-openmp";
+
+  preCheck = ''
+    patchShebangs ../tools/archer/tests/deflake.bash
+  '';
+
   cmakeFlags = [
-    "-DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=OFF" # Building the AMDGCN device RTL currently fails
+    "-DCLANG_TOOL=${clang-unwrapped}/bin/clang"
+    "-DOPT_TOOL=${llvm}/bin/opt"
+    "-DLINK_TOOL=${llvm}/bin/llvm-link"
   ];
 
   meta = llvm_meta // {
@@ -50,6 +62,5 @@ stdenv.mkDerivation rec {
     # "All of the code is dual licensed under the MIT license and the UIUC
     # License (a BSD-like license)":
     license = with lib.licenses; [ mit ncsa ];
-    broken = true; # TODO: gnu-install-dirs.patch fails to apply
   };
 }
diff --git a/pkgs/development/compilers/llvm/14/openmp/fix-find-tool.patch b/pkgs/development/compilers/llvm/14/openmp/fix-find-tool.patch
deleted file mode 100644
index b5d0e7b417757..0000000000000
--- a/pkgs/development/compilers/llvm/14/openmp/fix-find-tool.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff --git a/libomptarget/DeviceRTL/CMakeLists.txt b/libomptarget/DeviceRTL/CMakeLists.txt
-index 242df638f80d..a4654e96371f 100644
---- a/libomptarget/DeviceRTL/CMakeLists.txt
-+++ b/libomptarget/DeviceRTL/CMakeLists.txt
-@@ -25,16 +25,16 @@ endif()
- 
- if (LLVM_DIR)
-   # Builds that use pre-installed LLVM have LLVM_DIR set.
--  find_program(CLANG_TOOL clang PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH)
-+  find_program(CLANG_TOOL clang PATHS ${LLVM_TOOLS_BINARY_DIR} REQUIRED)
-   find_program(LINK_TOOL llvm-link PATHS ${LLVM_TOOLS_BINARY_DIR}
--    NO_DEFAULT_PATH)
--  find_program(OPT_TOOL opt PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH)
-+    REQUIRED)
-+  find_program(OPT_TOOL opt PATHS ${LLVM_TOOLS_BINARY_DIR} REQUIRED)
-   libomptarget_say("Building DeviceRTL. Using clang: ${CLANG_TOOL}")
- elseif (LLVM_TOOL_CLANG_BUILD AND NOT CMAKE_CROSSCOMPILING AND NOT OPENMP_STANDALONE_BUILD)
-   # LLVM in-tree builds may use CMake target names to discover the tools.
--  set(CLANG_TOOL $<TARGET_FILE:clang>)
--  set(LINK_TOOL $<TARGET_FILE:llvm-link>)
--  set(OPT_TOOL $<TARGET_FILE:opt>)
-+  set(CLANG_TOOL $<TARGET_FILE:clang> REQUIRED)
-+  set(LINK_TOOL $<TARGET_FILE:llvm-link> REQUIRED)
-+  set(OPT_TOOL $<TARGET_FILE:opt> REQUIRED)
-   libomptarget_say("Building DeviceRTL. Using clang from in-tree build")
- else()
-   libomptarget_say("Not building DeviceRTL. No appropriate clang found")
-diff --git a/libomptarget/deviceRTLs/amdgcn/CMakeLists.txt b/libomptarget/deviceRTLs/amdgcn/CMakeLists.txt
-index 3f4c02671aeb..be9f4677d7b5 100644
---- a/libomptarget/deviceRTLs/amdgcn/CMakeLists.txt
-+++ b/libomptarget/deviceRTLs/amdgcn/CMakeLists.txt
-@@ -38,16 +38,16 @@ endif()
- 
- if (LLVM_DIR)
-   # Builds that use pre-installed LLVM have LLVM_DIR set.
--  find_program(CLANG_TOOL clang PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH)
-+  find_program(CLANG_TOOL clang PATHS ${LLVM_TOOLS_BINARY_DIR} REQUIRED)
-   find_program(LINK_TOOL llvm-link PATHS ${LLVM_TOOLS_BINARY_DIR}
--    NO_DEFAULT_PATH)
--  find_program(OPT_TOOL opt PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH)
-+    REQUIRED)
-+  find_program(OPT_TOOL opt PATHS ${LLVM_TOOLS_BINARY_DIR} REQUIRED)
-   libomptarget_say("Building AMDGCN device RTL. Using clang: ${CLANG_TOOL}")
- elseif (LLVM_TOOL_CLANG_BUILD AND NOT CMAKE_CROSSCOMPILING AND NOT OPENMP_STANDALONE_BUILD)
-   # LLVM in-tree builds may use CMake target names to discover the tools.
--  set(CLANG_TOOL $<TARGET_FILE:clang>)
--  set(LINK_TOOL $<TARGET_FILE:llvm-link>)
--  set(OPT_TOOL $<TARGET_FILE:opt>)
-+  set(CLANG_TOOL $<TARGET_FILE:clang> REQUIRED)
-+  set(LINK_TOOL $<TARGET_FILE:llvm-link> REQUIRED)
-+  set(OPT_TOOL $<TARGET_FILE:opt> REQUIRED)
-   libomptarget_say("Building AMDGCN device RTL. Using clang from in-tree build")
- else()
-   libomptarget_say("Not building AMDGCN device RTL. No appropriate clang found")
diff --git a/pkgs/development/compilers/llvm/14/openmp/gnu-install-dirs.patch b/pkgs/development/compilers/llvm/14/openmp/gnu-install-dirs.patch
index 352a469231158..e85fde46ca3fc 100644
--- a/pkgs/development/compilers/llvm/14/openmp/gnu-install-dirs.patch
+++ b/pkgs/development/compilers/llvm/14/openmp/gnu-install-dirs.patch
@@ -1,17 +1,7 @@
 diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7f11a05f5622..fb90f8f6a49b 100644
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -8,6 +8,8 @@ if (OPENMP_STANDALONE_BUILD OR "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_S
-   set(OPENMP_STANDALONE_BUILD TRUE)
-   project(openmp C CXX)
- 
-+  include(GNUInstallDirs)
-+
-   # CMAKE_BUILD_TYPE was not set, default to Release.
-   if (NOT CMAKE_BUILD_TYPE)
-     set(CMAKE_BUILD_TYPE Release)
-@@ -19,7 +21,7 @@ if (OPENMP_STANDALONE_BUILD OR "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_S
+@@ -24,7 +24,7 @@ if (OPENMP_STANDALONE_BUILD)
    set(OPENMP_LIBDIR_SUFFIX "" CACHE STRING
      "Suffix of lib installation directory, e.g. 64 => lib64")
    # Do not use OPENMP_LIBDIR_SUFFIX directly, use OPENMP_INSTALL_LIBDIR.
@@ -20,7 +10,7 @@ index 7f11a05f5622..fb90f8f6a49b 100644
  
    # Group test settings.
    set(OPENMP_TEST_C_COMPILER ${CMAKE_C_COMPILER} CACHE STRING
-@@ -30,7 +32,7 @@ if (OPENMP_STANDALONE_BUILD OR "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_S
+@@ -35,7 +35,7 @@ if (OPENMP_STANDALONE_BUILD)
  else()
    set(OPENMP_ENABLE_WERROR ${LLVM_ENABLE_WERROR})
    # If building in tree, we honor the same install suffix LLVM uses.
@@ -29,10 +19,10 @@ index 7f11a05f5622..fb90f8f6a49b 100644
  
    if (NOT MSVC)
      set(OPENMP_TEST_C_COMPILER ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang)
-index 0e1ce2afd154..8b3810f83713 100644
+diff --git a/libomptarget/plugins/amdgpu/CMakeLists.txt b/libomptarget/plugins/amdgpu/CMakeLists.txt
 --- a/libomptarget/plugins/amdgpu/CMakeLists.txt
 +++ b/libomptarget/plugins/amdgpu/CMakeLists.txt
-@@ -80,7 +80,7 @@ add_library(omptarget.rtl.amdgpu SHARED
+@@ -74,7 +74,7 @@ add_library(omptarget.rtl.amdgpu SHARED
  
  # Install plugin under the lib destination folder.
  # When we build for debug, OPENMP_LIBDIR_SUFFIX get set to -debug
@@ -42,7 +32,6 @@ index 0e1ce2afd154..8b3810f83713 100644
  
  if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
 diff --git a/libomptarget/plugins/ve/CMakeLists.txt b/libomptarget/plugins/ve/CMakeLists.txt
-index 16ce0891ca23..db30ee9c769f 100644
 --- a/libomptarget/plugins/ve/CMakeLists.txt
 +++ b/libomptarget/plugins/ve/CMakeLists.txt
 @@ -32,7 +32,7 @@ if(${LIBOMPTARGET_DEP_VEO_FOUND})
@@ -54,36 +43,3 @@ index 16ce0891ca23..db30ee9c769f 100644
  
    target_link_libraries(
      "omptarget.rtl.${tmachine_libname}"
-diff --git a/runtime/src/CMakeLists.txt b/runtime/src/CMakeLists.txt
-index e4f4e6e1e73f..1164b3b22b0e 100644
---- a/runtime/src/CMakeLists.txt
-+++ b/runtime/src/CMakeLists.txt
-@@ -346,13 +346,13 @@ add_dependencies(libomp-micro-tests libomp-test-deps)
- # We want to install libomp in DESTDIR/CMAKE_INSTALL_PREFIX/lib
- # We want to install headers in DESTDIR/CMAKE_INSTALL_PREFIX/include
- if(${OPENMP_STANDALONE_BUILD})
--  set(LIBOMP_HEADERS_INSTALL_PATH include)
-+  set(LIBOMP_HEADERS_INSTALL_PATH "${CMAKE_INSTALL_INCLUDEDIR}")
- else()
-   string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" CLANG_VERSION ${PACKAGE_VERSION})
-   set(LIBOMP_HEADERS_INSTALL_PATH "${OPENMP_INSTALL_LIBDIR}/clang/${CLANG_VERSION}/include")
- endif()
- if(WIN32)
--  install(TARGETS omp RUNTIME DESTINATION bin)
-+  install(TARGETS omp RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-   install(TARGETS ${LIBOMP_IMP_LIB_TARGET} ARCHIVE DESTINATION "${OPENMP_INSTALL_LIBDIR}")
-   # Create aliases (regular copies) of the library for backwards compatibility
-   set(LIBOMP_ALIASES "libiomp5md")
-diff --git a/tools/multiplex/CMakeLists.txt b/tools/multiplex/CMakeLists.txt
-index 64317c112176..4002784da736 100644
---- a/tools/multiplex/CMakeLists.txt
-+++ b/tools/multiplex/CMakeLists.txt
-@@ -4,7 +4,7 @@ if(LIBOMP_OMPT_SUPPORT)
-   add_library(ompt-multiplex INTERFACE)
-   target_include_directories(ompt-multiplex INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
- 
--  install(FILES ompt-multiplex.h DESTINATION include)
-+  install(FILES ompt-multiplex.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
- 
-   add_subdirectory(tests)
- endif()
diff --git a/pkgs/development/compilers/llvm/14/openmp/run-lit-directly.patch b/pkgs/development/compilers/llvm/14/openmp/run-lit-directly.patch
new file mode 100644
index 0000000000000..1e952fdc36a8f
--- /dev/null
+++ b/pkgs/development/compilers/llvm/14/openmp/run-lit-directly.patch
@@ -0,0 +1,12 @@
+diff --git a/cmake/OpenMPTesting.cmake b/cmake/OpenMPTesting.cmake
+--- a/cmake/OpenMPTesting.cmake
++++ b/cmake/OpenMPTesting.cmake
+@@ -185,7 +185,7 @@ function(add_openmp_testsuite target comment)
+   if (${OPENMP_STANDALONE_BUILD})
+     set(LIT_ARGS ${OPENMP_LIT_ARGS} ${ARG_ARGS})
+     add_custom_target(${target}
+-      COMMAND ${PYTHON_EXECUTABLE} ${OPENMP_LLVM_LIT_EXECUTABLE} ${LIT_ARGS} ${ARG_UNPARSED_ARGUMENTS}
++      COMMAND ${OPENMP_LLVM_LIT_EXECUTABLE} ${LIT_ARGS} ${ARG_UNPARSED_ARGUMENTS}
+       COMMENT ${comment}
+       DEPENDS ${ARG_DEPENDS}
+       USES_TERMINAL
diff --git a/pkgs/development/compilers/llvm/5/lld/default.nix b/pkgs/development/compilers/llvm/5/lld/default.nix
index 7e74e79a15c7e..239cb84c2ceba 100644
--- a/pkgs/development/compilers/llvm/5/lld/default.nix
+++ b/pkgs/development/compilers/llvm/5/lld/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   meta = llvm_meta // {
     homepage = "https://lld.llvm.org/";
-    description = "The LLVM linker";
+    description = "The LLVM linker (unwrapped)";
     longDescription = ''
       LLD is a linker from the LLVM project that is a drop-in replacement for
       system linkers and runs much faster than them. It also provides features
diff --git a/pkgs/development/compilers/llvm/6/lld/default.nix b/pkgs/development/compilers/llvm/6/lld/default.nix
index 83b1991f453ca..81dd39c39eb8b 100644
--- a/pkgs/development/compilers/llvm/6/lld/default.nix
+++ b/pkgs/development/compilers/llvm/6/lld/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   meta = llvm_meta // {
     homepage = "https://lld.llvm.org/";
-    description = "The LLVM linker";
+    description = "The LLVM linker (unwrapped)";
     longDescription = ''
       LLD is a linker from the LLVM project that is a drop-in replacement for
       system linkers and runs much faster than them. It also provides features
diff --git a/pkgs/development/compilers/llvm/7/lld/default.nix b/pkgs/development/compilers/llvm/7/lld/default.nix
index 09a0a68e2572e..7858599990caf 100644
--- a/pkgs/development/compilers/llvm/7/lld/default.nix
+++ b/pkgs/development/compilers/llvm/7/lld/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   meta = llvm_meta // {
     homepage = "https://lld.llvm.org/";
-    description = "The LLVM linker";
+    description = "The LLVM linker (unwrapped)";
     longDescription = ''
       LLD is a linker from the LLVM project that is a drop-in replacement for
       system linkers and runs much faster than them. It also provides features
diff --git a/pkgs/development/compilers/llvm/8/lld/default.nix b/pkgs/development/compilers/llvm/8/lld/default.nix
index 66b59937e5f14..30be084fa814f 100644
--- a/pkgs/development/compilers/llvm/8/lld/default.nix
+++ b/pkgs/development/compilers/llvm/8/lld/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   meta = llvm_meta // {
     homepage = "https://lld.llvm.org/";
-    description = "The LLVM linker";
+    description = "The LLVM linker (unwrapped)";
     longDescription = ''
       LLD is a linker from the LLVM project that is a drop-in replacement for
       system linkers and runs much faster than them. It also provides features
diff --git a/pkgs/development/compilers/llvm/9/lld/default.nix b/pkgs/development/compilers/llvm/9/lld/default.nix
index d13e6a107dd9f..73cfe630bbbbe 100644
--- a/pkgs/development/compilers/llvm/9/lld/default.nix
+++ b/pkgs/development/compilers/llvm/9/lld/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   meta = llvm_meta // {
     homepage = "https://lld.llvm.org/";
-    description = "The LLVM linker";
+    description = "The LLVM linker (unwrapped)";
     longDescription = ''
       LLD is a linker from the LLVM project that is a drop-in replacement for
       system linkers and runs much faster than them. It also provides features
diff --git a/pkgs/development/compilers/llvm/git/lld/default.nix b/pkgs/development/compilers/llvm/git/lld/default.nix
index fe655c7611293..1ae6d4ea6fceb 100644
--- a/pkgs/development/compilers/llvm/git/lld/default.nix
+++ b/pkgs/development/compilers/llvm/git/lld/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
 
   meta = llvm_meta // {
     homepage = "https://lld.llvm.org/";
-    description = "The LLVM linker";
+    description = "The LLVM linker (unwrapped)";
     longDescription = ''
       LLD is a linker from the LLVM project that is a drop-in replacement for
       system linkers and runs much faster than them. It also provides features
diff --git a/pkgs/development/compilers/llvm/multi.nix b/pkgs/development/compilers/llvm/multi.nix
index 60db622a73ab5..ecea5d440378e 100644
--- a/pkgs/development/compilers/llvm/multi.nix
+++ b/pkgs/development/compilers/llvm/multi.nix
@@ -19,9 +19,9 @@ let
       lib = gcc_multi_sysroot;
     };
   } ''
-    mkdir -p $out/lib/gcc
+    mkdir -p $out/lib{,64}/gcc
 
-    ln -s ${combine gcc64}/lib/gcc/* $out/lib/gcc/
+    ln -s ${combine gcc64}/lib/gcc/* $out/lib64/gcc/
     ln -s ${combine gcc32}/lib/gcc/* $out/lib/gcc/
     # XXX: This shouldn't be needed, clang just doesn't look for "i686-unknown"
     ln -s $out/lib/gcc/i686-unknown-linux-gnu $out/lib/gcc/i686-pc-linux-gnu
diff --git a/pkgs/development/compilers/llvm/rocm/compiler-rt/68d5235cb58f988c71b403334cd9482d663841ab.patch b/pkgs/development/compilers/llvm/rocm/compiler-rt/68d5235cb58f988c71b403334cd9482d663841ab.patch
deleted file mode 100644
index 43803164a00f9..0000000000000
--- a/pkgs/development/compilers/llvm/rocm/compiler-rt/68d5235cb58f988c71b403334cd9482d663841ab.patch
+++ /dev/null
@@ -1,78 +0,0 @@
---- a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
-+++ b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
-@@ -370,15 +370,6 @@
- 
- #if SANITIZER_GLIBC
-   // _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE
--  _(CYGETDEFTHRESH, WRITE, sizeof(int));
--  _(CYGETDEFTIMEOUT, WRITE, sizeof(int));
--  _(CYGETMON, WRITE, struct_cyclades_monitor_sz);
--  _(CYGETTHRESH, WRITE, sizeof(int));
--  _(CYGETTIMEOUT, WRITE, sizeof(int));
--  _(CYSETDEFTHRESH, NONE, 0);
--  _(CYSETDEFTIMEOUT, NONE, 0);
--  _(CYSETTHRESH, NONE, 0);
--  _(CYSETTIMEOUT, NONE, 0);
-   _(EQL_EMANCIPATE, WRITE, struct_ifreq_sz);
-   _(EQL_ENSLAVE, WRITE, struct_ifreq_sz);
-   _(EQL_GETMASTRCFG, WRITE, struct_ifreq_sz);
---- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
-+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
-@@ -143,7 +143,6 @@
- # include <sys/procfs.h>
- #endif
- #include <sys/user.h>
--#include <linux/cyclades.h>
- #include <linux/if_eql.h>
- #include <linux/if_plip.h>
- #include <linux/lp.h>
-@@ -460,7 +459,6 @@
- 
- #if SANITIZER_GLIBC
-   unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct);
--  unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor);
- #if EV_VERSION > (0x010000)
-   unsigned struct_input_keymap_entry_sz = sizeof(struct input_keymap_entry);
- #else
-@@ -824,15 +822,6 @@
- #endif // SANITIZER_LINUX
- 
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
--  unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
--  unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT;
--  unsigned IOCTL_CYGETMON = CYGETMON;
--  unsigned IOCTL_CYGETTHRESH = CYGETTHRESH;
--  unsigned IOCTL_CYGETTIMEOUT = CYGETTIMEOUT;
--  unsigned IOCTL_CYSETDEFTHRESH = CYSETDEFTHRESH;
--  unsigned IOCTL_CYSETDEFTIMEOUT = CYSETDEFTIMEOUT;
--  unsigned IOCTL_CYSETTHRESH = CYSETTHRESH;
--  unsigned IOCTL_CYSETTIMEOUT = CYSETTIMEOUT;
-   unsigned IOCTL_EQL_EMANCIPATE = EQL_EMANCIPATE;
-   unsigned IOCTL_EQL_ENSLAVE = EQL_ENSLAVE;
-   unsigned IOCTL_EQL_GETMASTRCFG = EQL_GETMASTRCFG;
---- a/lib/sanitizer_common/sanitizer_platform_limits_posix.h
-+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.h
-@@ -983,7 +983,6 @@
- 
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
- extern unsigned struct_ax25_parms_struct_sz;
--extern unsigned struct_cyclades_monitor_sz;
- extern unsigned struct_input_keymap_entry_sz;
- extern unsigned struct_ipx_config_data_sz;
- extern unsigned struct_kbdiacrs_sz;
-@@ -1328,15 +1327,6 @@
- #endif  // SANITIZER_LINUX
- 
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
--extern unsigned IOCTL_CYGETDEFTHRESH;
--extern unsigned IOCTL_CYGETDEFTIMEOUT;
--extern unsigned IOCTL_CYGETMON;
--extern unsigned IOCTL_CYGETTHRESH;
--extern unsigned IOCTL_CYGETTIMEOUT;
--extern unsigned IOCTL_CYSETDEFTHRESH;
--extern unsigned IOCTL_CYSETDEFTIMEOUT;
--extern unsigned IOCTL_CYSETTHRESH;
--extern unsigned IOCTL_CYSETTIMEOUT;
- extern unsigned IOCTL_EQL_EMANCIPATE;
- extern unsigned IOCTL_EQL_ENSLAVE;
- extern unsigned IOCTL_EQL_GETMASTRCFG;
diff --git a/pkgs/development/compilers/llvm/rocm/compiler-rt/compiler-rt-codesign.patch b/pkgs/development/compilers/llvm/rocm/compiler-rt/compiler-rt-codesign.patch
deleted file mode 100644
index 3cc12b94b2005..0000000000000
--- a/pkgs/development/compilers/llvm/rocm/compiler-rt/compiler-rt-codesign.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 3dec5f3475a26aeb4678627795c4b67c6b7b4785 Mon Sep 17 00:00:00 2001
-From: Will Dietz <w@wdtz.org>
-Date: Tue, 19 Sep 2017 13:13:06 -0500
-Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that
- needs it
-
----
- cmake/Modules/AddCompilerRT.cmake |  8 ------
- test/asan/CMakeLists.txt          | 52 ---------------------------------------
- test/tsan/CMakeLists.txt          | 47 -----------------------------------
- 3 files changed, 107 deletions(-)
-
-diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake
-index bc5fb9ff7..b64eb4246 100644
---- a/cmake/Modules/AddCompilerRT.cmake
-+++ b/cmake/Modules/AddCompilerRT.cmake
-@@ -210,14 +210,6 @@ function(add_compiler_rt_runtime name type)
-         set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "")
-         set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib")
-       endif()
--      if(APPLE)
--        # Ad-hoc sign the dylibs
--        add_custom_command(TARGET ${libname}
--          POST_BUILD  
--          COMMAND codesign --sign - $<TARGET_FILE:${libname}>
--          WORKING_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR}
--        )
--      endif()
-     endif()
-     install(TARGETS ${libname}
-       ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR}
-2.14.1
-
diff --git a/pkgs/development/compilers/llvm/rocm/compiler-rt/default.nix b/pkgs/development/compilers/llvm/rocm/compiler-rt/default.nix
index 575082905fed4..dfc21e7fe013f 100644
--- a/pkgs/development/compilers/llvm/rocm/compiler-rt/default.nix
+++ b/pkgs/development/compilers/llvm/rocm/compiler-rt/default.nix
@@ -29,12 +29,9 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  patches = [
-    ./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
-    # https://github.com/llvm/llvm-project/commit/68d5235cb58f988c71b403334cd9482d663841ab.diff but the compiler-rt part of the path is stripped
-    ./68d5235cb58f988c71b403334cd9482d663841ab.patch
-    ];
-
+  prePatch = ''
+    cd compiler-rt
+  '';
 
   # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
   # to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra
diff --git a/pkgs/development/compilers/llvm/rocm/default.nix b/pkgs/development/compilers/llvm/rocm/default.nix
index b1297d7d0d1f6..18fd44612f100 100644
--- a/pkgs/development/compilers/llvm/rocm/default.nix
+++ b/pkgs/development/compilers/llvm/rocm/default.nix
@@ -1,12 +1,12 @@
 { stdenv, lib, buildPackages, fetchFromGitHub, callPackage, wrapCCWith, overrideCC }:
 
 let
-  version = "4.5.2";
+  version = "5.0.2";
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "llvm-project";
     rev = "rocm-${version}";
-    hash = "sha256-XWh81+2yyXQEPO+5SgxHh66fzFG1bVbvnjPfvXDC+fU=";
+    hash = "sha256-wPzwbeQUFE6RAytrz5lBa6UUPoVL0UeMyY3qa4M6W6M=";
   };
 in rec {
   clang = wrapCCWith rec {
@@ -47,7 +47,7 @@ in rec {
 
   compiler-rt = callPackage ./compiler-rt {
     inherit version llvm;
-    src = "${src}/compiler-rt";
+    inherit src;
     stdenv = overrideCC stdenv clangNoCompilerRt;
   };
 
diff --git a/pkgs/development/compilers/llvm/rocm/llvm/default.nix b/pkgs/development/compilers/llvm/rocm/llvm/default.nix
index 003fb4998c36a..722ca1a762a8d 100644
--- a/pkgs/development/compilers/llvm/rocm/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/rocm/llvm/default.nix
@@ -59,7 +59,9 @@ in stdenv.mkDerivation rec {
     "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
   ];
 
-  postPatch = lib.optional enableSharedLibraries ''
+  postPatch = ''
+    patchShebangs lib/OffloadArch/make_generated_offload_arch_h.sh
+  '' + lib.optionalString enableSharedLibraries ''
     substitute '${./outputs.patch}' ./outputs.patch --subst-var lib
     patch -p1 < ./outputs.patch
   '';
diff --git a/pkgs/development/compilers/obliv-c/default.nix b/pkgs/development/compilers/obliv-c/default.nix
index b7ec54ace7aaf..af895131dec9a 100644
--- a/pkgs/development/compilers/obliv-c/default.nix
+++ b/pkgs/development/compilers/obliv-c/default.nix
@@ -1,17 +1,19 @@
 { lib, stdenv, libgcrypt, fetchFromGitHub, ocamlPackages, perl }:
 stdenv.mkDerivation rec {
   pname = "obliv-c";
-  version = "0.0pre20180624";
+  version = "0.0pre20210621";
   buildInputs = [ perl ]
   ++ (with ocamlPackages; [ ocaml findlib ocamlbuild ]);
   propagatedBuildInputs = [ libgcrypt ];
   src = fetchFromGitHub {
     owner = "samee";
     repo = "obliv-c";
-    rev = "3d6804ca0fd85868207a0ccbd2509ec064723ac2";
-    sha256 = "1ib21ngn7zr58xxq4sjigrpaxb0wx35x3k9l4qvwflzrmvnman20";
+    rev = "e02e5c590523ef4dae06e167a7fa00037bb3fdaf";
+    sha256 = "sha256:02vyr4689f4dmwqqs0q1mrack9h3g8jz3pj8zqiz987dk0r5mz7a";
   };
 
+  hardeningDisable = [ "fortify" ];
+
   patches = [ ./ignore-complex-float128.patch ];
 
   preBuild = ''
diff --git a/pkgs/development/compilers/ocaml/4.10.nix b/pkgs/development/compilers/ocaml/4.10.nix
index 78051040b5718..48d01a5a8c8d2 100644
--- a/pkgs/development/compilers/ocaml/4.10.nix
+++ b/pkgs/development/compilers/ocaml/4.10.nix
@@ -3,4 +3,7 @@ import ./generic.nix {
   minor_version = "10";
   patch_version = "2";
   sha256 = "sha256-locUYQeCgtXbAiB32JveJchfteN2YStE+MN9ToTwAOM=";
+  patches = [
+    ./glibc-2.34-for-ocaml-4.10-and-11.patch
+  ];
 }
diff --git a/pkgs/development/compilers/ocaml/4.11.nix b/pkgs/development/compilers/ocaml/4.11.nix
index 3e5aefc11f1ce..6a2e4f61f80e2 100644
--- a/pkgs/development/compilers/ocaml/4.11.nix
+++ b/pkgs/development/compilers/ocaml/4.11.nix
@@ -3,4 +3,7 @@ import ./generic.nix {
   minor_version = "11";
   patch_version = "2";
   sha256 = "1m3wrgkkv3f77wvcymjm0i2srxzmx62y6jln3i0a2px07ng08l9z";
+  patches = [
+    ./glibc-2.34-for-ocaml-4.10-and-11.patch
+  ];
 }
diff --git a/pkgs/development/compilers/ocaml/4.12.nix b/pkgs/development/compilers/ocaml/4.12.nix
index 4be2bcf5f9d03..2066d0d5ad314 100644
--- a/pkgs/development/compilers/ocaml/4.12.nix
+++ b/pkgs/development/compilers/ocaml/4.12.nix
@@ -3,4 +3,9 @@ import ./generic.nix {
   minor_version = "12";
   patch_version = "1";
   sha256 = "1jbjjnmqq6ymsy81x188i256bz4z5jrz1pws8g1qf59c32ganjkf";
+  patches = [
+    { url = "https://src.fedoraproject.org/rpms/ocaml/raw/129153b85109944bf0b2922949f77ef8f32b39a1/f/0004-Dynamically-allocate-the-alternate-signal-stack-1026.patch";
+      sha256 = "sha256-FdQ1HkMKHU9QvgLPUBvMdPiEa7w7IL3+1F3SLv63Gog=";
+    }
+  ];
 }
diff --git a/pkgs/development/compilers/ocaml/4.14.nix b/pkgs/development/compilers/ocaml/4.14.nix
index 558a1491ca7f0..216620d67d606 100644
--- a/pkgs/development/compilers/ocaml/4.14.nix
+++ b/pkgs/development/compilers/ocaml/4.14.nix
@@ -1,9 +1,6 @@
 import ./generic.nix {
   major_version = "4";
   minor_version = "14";
-  patch_version = "0-rc2";
-  src = fetchTarball {
-    url = "https://caml.inria.fr/pub/distrib/ocaml-4.14/ocaml-4.14.0~rc2.tar.xz";
-    sha256 = "sha256:0ch8nyfk2mzwhmlxb434cyamp7n14zxhwsq1h8033g629kw50kb0";
-  };
+  patch_version = "0";
+  sha256 = "sha256:0axcc7c23pf4qinz4vxgkba6pwziwbp9i2ydwzar7x9zlp6diarn";
 }
diff --git a/pkgs/development/compilers/ocaml/Makefile.nixpkgs b/pkgs/development/compilers/ocaml/Makefile.nixpkgs
new file mode 100644
index 0000000000000..2d6457852fc9a
--- /dev/null
+++ b/pkgs/development/compilers/ocaml/Makefile.nixpkgs
@@ -0,0 +1,16 @@
+# ocaml build system does not allow for parallel building of some
+# top-level targets like 'world', 'bootstrap', 'world.opt' as
+# then spawn '$(MAKE) all' subprocesses that conflict among each
+# other. But we would still like to run each target in parallel
+# individually. This file defines such entry points.
+
+# Re-export all existing phases to make 'make install' work as is.
+include Makefile
+
+nixpkgs_world:
+	$(MAKE) world
+
+nixpkgs_world_bootstrap_world_opt:
+	$(MAKE) world
+	$(MAKE) bootstrap
+	$(MAKE) world.opt
diff --git a/pkgs/development/compilers/ocaml/generic.nix b/pkgs/development/compilers/ocaml/generic.nix
index ec52e56c1faa2..0573b43f5e231 100644
--- a/pkgs/development/compilers/ocaml/generic.nix
+++ b/pkgs/development/compilers/ocaml/generic.nix
@@ -1,4 +1,4 @@
-{ minor_version, major_version, patch_version
+{ minor_version, major_version, patch_version, patches ? []
 , ...}@args:
 let
   versionNoPatch = "${toString major_version}.${toString minor_version}";
@@ -6,7 +6,7 @@ let
   safeX11 = stdenv: !(stdenv.isAarch32 || stdenv.isMips || stdenv.hostPlatform.isStatic);
 in
 
-{ lib, stdenv, fetchurl, ncurses, buildEnv, libunwind
+{ lib, stdenv, fetchurl, ncurses, buildEnv, libunwind, fetchpatch
 , libX11, xorgproto, useX11 ? safeX11 stdenv && !lib.versionAtLeast version "4.09"
 , aflSupport ? false
 , flambdaSupport ? false
@@ -28,21 +28,22 @@ in
 let
    useNativeCompilers = !stdenv.isMips;
    inherit (lib) optional optionals optionalString;
-   name = "ocaml${optionalString aflSupport "+afl"}${optionalString spaceTimeSupport "+spacetime"}${optionalString flambdaSupport "+flambda"}-${version}";
+   pname = "ocaml${optionalString aflSupport "+afl"}${optionalString spaceTimeSupport "+spacetime"}${optionalString flambdaSupport "+flambda"}";
 in
 
 let
   x11env = buildEnv { name = "x11env"; paths = [libX11 xorgproto]; };
   x11lib = x11env + "/lib";
   x11inc = x11env + "/include";
+
+  fetchpatch' = x: if builtins.isAttrs x then fetchpatch x else x;
 in
 
 stdenv.mkDerivation (args // {
 
-  inherit name;
-  inherit version;
+  inherit pname version src;
 
-  inherit src;
+  patches = map fetchpatch' patches;
 
   strictDeps = true;
 
@@ -74,7 +75,18 @@ stdenv.mkDerivation (args // {
   hardeningDisable = lib.optional (lib.versionAtLeast version "4.09" && stdenv.hostPlatform.isMusl) "pie"
     ++ lib.optionals (args ? hardeningDisable) args.hardeningDisable;
 
-  buildFlags = [ "world" ] ++ optionals useNativeCompilers [ "bootstrap" "world.opt" ];
+  # Older versions have some race:
+  #  cp: cannot stat 'boot/ocamlrun': No such file or directory
+  #  make[2]: *** [Makefile:199: backup] Error 1
+  enableParallelBuilding = lib.versionAtLeast version "4.08";
+
+  # Workaround lack of parallelism support among top-level targets:
+  # we place nixpkgs-specific targets to a separate file and set
+  # sequential order among them as a single rule.
+  makefile = ./Makefile.nixpkgs;
+  buildFlags = if useNativeCompilers
+    then ["nixpkgs_world_bootstrap_world_opt"]
+    else ["nixpkgs_world"];
   buildInputs = optional (!lib.versionAtLeast version "4.07") ncurses
     ++ optionals useX11 [ libX11 xorgproto ];
   propagatedBuildInputs = optional spaceTimeSupport libunwind;
diff --git a/pkgs/development/compilers/ocaml/glibc-2.34-for-ocaml-4.10-and-11.patch b/pkgs/development/compilers/ocaml/glibc-2.34-for-ocaml-4.10-and-11.patch
new file mode 100644
index 0000000000000..4ff9e6fddba57
--- /dev/null
+++ b/pkgs/development/compilers/ocaml/glibc-2.34-for-ocaml-4.10-and-11.patch
@@ -0,0 +1,37 @@
+From dfb5e954a04f59b0456cc4c0ddf3acaf22e0ff07 Mon Sep 17 00:00:00 2001
+From: Richard W.M. Jones <rjones@redhat.com>
+Date: Feb 28 2021 20:45:47 +0000
+Subject: Workaround for glibc non-constant SIGSTKSZ
+
+
+https://github.com/ocaml/ocaml/issues/10250
+
+Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
+
+---
+
+diff --git a/runtime/signals_nat.c b/runtime/signals_nat.c
+index 8b64ab4..7f0a975 100644
+--- a/runtime/signals_nat.c
++++ b/runtime/signals_nat.c
+@@ -181,7 +181,19 @@ DECLARE_SIGNAL_HANDLER(trap_handler)
+ #error "CONTEXT_SP is required if HAS_STACK_OVERFLOW_DETECTION is defined"
+ #endif
+ 
++#ifndef __GLIBC__
+ static char sig_alt_stack[SIGSTKSZ];
++#else
++/* glibc 2.34 has non-constant SIGSTKSZ */
++static char *sig_alt_stack;
++
++static void allocate_sig_alt_stack(void) __attribute__((constructor));
++static void
++allocate_sig_alt_stack(void)
++{
++  sig_alt_stack = malloc(SIGSTKSZ);
++}
++#endif
+ 
+ /* Code compiled with ocamlopt never accesses more than
+    EXTRA_STACK bytes below the stack pointer. */
+
diff --git a/pkgs/development/compilers/ocaml/metaocaml-3.09.nix b/pkgs/development/compilers/ocaml/metaocaml-3.09.nix
deleted file mode 100644
index e13f3006be579..0000000000000
--- a/pkgs/development/compilers/ocaml/metaocaml-3.09.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib, stdenv, fetchurl, xlibsWrapper, ncurses }:
-
-stdenv.mkDerivation ({
-
-  pname = "metaocaml";
-  version = "3.09-alpha-30";
-
-  src = fetchurl {
-    url = "http://www.metaocaml.org/dist/old/MetaOCaml_309_alpha_030.tar.gz";
-    sha256 = "0migbn0zwfb7yb24dy7qfqi19sv3drqcv4369xi7xzpds2cs35fd";
-  };
-
-  prefixKey = "-prefix ";
-  configureFlags = ["-no-tk" "-x11lib" xlibsWrapper];
-  buildFlags = [ "world" "bootstrap" "world.opt" ];
-  buildInputs = [xlibsWrapper ncurses];
-  installTargets = "install installopt";
-  patchPhase = ''
-    CAT=$(type -tp cat)
-    sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang
-  '';
-  postBuild = ''
-    mkdir -p $out/include
-    ln -sv $out/lib/ocaml/caml $out/include/caml
-  '';
-
-  meta = {
-    homepage = "http://www.metaocaml.org/";
-    license = with lib.licenses; [ qpl lgpl2 ];
-    description = "A compiled, type-safe, multi-stage programming language";
-    broken = true;
-  };
-
-})
diff --git a/pkgs/development/compilers/openjdk/11.nix b/pkgs/development/compilers/openjdk/11.nix
index 6f4b78286d63a..8c45bece9adc1 100644
--- a/pkgs/development/compilers/openjdk/11.nix
+++ b/pkgs/development/compilers/openjdk/11.nix
@@ -40,6 +40,7 @@ let
       ./currency-date-range-jdk10.patch
       ./increase-javadoc-heap.patch
       ./fix-library-path-jdk11.patch
+      ./fix-glibc-2.34.patch
     ] ++ lib.optionals (!headless && enableGnome2) [
       ./swing-use-gtk-jdk10.patch
     ];
diff --git a/pkgs/development/compilers/openjdk/16.nix b/pkgs/development/compilers/openjdk/16.nix
index e6fd12a632b38..0a4a8e1de4131 100644
--- a/pkgs/development/compilers/openjdk/16.nix
+++ b/pkgs/development/compilers/openjdk/16.nix
@@ -48,6 +48,7 @@ let
         url = "https://src.fedoraproject.org/rpms/java-openjdk/raw/06c001c7d87f2e9fe4fedeef2d993bcd5d7afa2a/f/rh1673833-remove_removal_of_wformat_during_test_compilation.patch";
         sha256 = "082lmc30x64x583vqq00c8y0wqih3y4r0mp1c4bqq36l22qv6b6r";
       })
+      ./fix-glibc-2.34.patch
     ] ++ lib.optionals (!headless && enableGnome2) [
       ./swing-use-gtk-jdk13.patch
     ];
diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix
index 8d68c2a6010ed..dae405ff3b2f4 100644
--- a/pkgs/development/compilers/openjdk/8.nix
+++ b/pkgs/development/compilers/openjdk/8.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, pkg-config, lndir, bash, cpio, file, which, unzip, zip
+{ stdenv, lib, fetchFromGitHub, pkg-config, lndir, bash, cpio, file, which, unzip, zip
 , cups, freetype, alsa-lib, cacert, perl, liberation_ttf, fontconfig, zlib
 , libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama, libXcursor, libXrandr
 , libjpeg, giflib
@@ -19,68 +19,19 @@ let
     aarch64-linux = "aarch64";
   }.${stdenv.system} or (throw "Unsupported platform");
 
-  update = "272";
-  build = if stdenv.isAarch64 then "b10" else "b10";
-  baseurl = if stdenv.isAarch64 then "https://hg.openjdk.java.net/aarch64-port/jdk8u-shenandoah"
-            else "https://hg.openjdk.java.net/jdk8u/jdk8u";
-  repover = lib.optionalString stdenv.isAarch64 "aarch64-shenandoah-"
-            + "jdk8u${update}-${build}";
-
-  jdk8 = fetchurl {
-             name = "jdk8-${repover}.tar.gz";
-             url = "${baseurl}/archive/${repover}.tar.gz";
-             sha256 = if stdenv.isAarch64 then "db98897d6fddce85996a9b0daf4352abce4578be0b51eada41702ee1469dd415"
-                      else "8f0e8324d3500432e8ed642b4cc7dff90a617dbb2a18a94c07c1020d32f93b7a";
-          };
-  langtools = fetchurl {
-             name = "langtools-${repover}.tar.gz";
-             url = "${baseurl}/langtools/archive/${repover}.tar.gz";
-             sha256 = if stdenv.isAarch64 then "6544c1cc455844bbbb3d2914ffc716b1cee7f19e6aa223764d41a7cddc41322c"
-                      else "632417b0b067c929eda6958341352e29c5810056a5fec138641eb3503f9635b7";
-          };
-  hotspot = fetchurl {
-             name = "hotspot-${repover}.tar.gz";
-             url = "${baseurl}/hotspot/archive/${repover}.tar.gz";
-             sha256 = if stdenv.isAarch64 then "37abb89e66641607dc6f372946bfc6bd413f23fec0b9c3baf75f41ce517e21d8"
-                      else "2142f3b769800a955613b51ffe192551bab1db95b0c219900cf34febc6f20245";
-          };
-  corba = fetchurl {
-             name = "corba-${repover}.tar.gz";
-             url = "${baseurl}/corba/archive/${repover}.tar.gz";
-             sha256 = if stdenv.isAarch64 then "5da82f7b4aceff32e02d2f559033e3b62b9509d79f1a6891af871502e1d125b1"
-                      else "320098d64c843c1ff2ae62579817f9fb4a81772bc0313a543ce68976ad7a6d98";
-          };
-  jdk = fetchurl {
-             name = "jdk-${repover}.tar.gz";
-             url = "${baseurl}/jdk/archive/${repover}.tar.gz";
-             sha256 = if stdenv.isAarch64 then "ee613296d823605dcd1a0fe2f89b4c7393bdb8ae5f2659f48f5cbc0012bb1a47"
-                      else "957c24fc58ac723c8cd808ab60c77d7853710148944c8b9a59f470c4c809e1a0";
-          };
-  jaxws = fetchurl {
-             name = "jaxws-${repover}.tar.gz";
-             url = "${baseurl}/jaxws/archive/${repover}.tar.gz";
-             sha256 = if stdenv.isAarch64 then "7c426b85f0d378125fa46e6d1b25ddc27ad29d93514d38c5935c84fc540b26ce"
-                      else "4efb0ee143dfe86c8ee06db2429fb81a0c8c65af9ea8fc18daa05148c8a1162f";
-          };
-  jaxp = fetchurl {
-             name = "jaxp-${repover}.tar.gz";
-             url = "${baseurl}/jaxp/archive/${repover}.tar.gz";
-             sha256 = if stdenv.isAarch64 then "928e363877afa7e0ad0c350bb18be6ab056b23708c0624a0bd7f01c4106c2a14"
-                      else "25a651c670d5b036042f7244617a3eb11fec80c07745c1c8181a1cdebeda3d8e";
-          };
-  nashorn = fetchurl {
-             name = "nashorn-${repover}.tar.gz";
-             url = "${baseurl}/nashorn/archive/${repover}.tar.gz";
-             sha256 = if stdenv.isAarch64 then "f060e08c5924457d4f5047c02ad6a987bdbdcd1cea53d2208322073ba4f398c3"
-                      else "a28b41d86f0c87ceacd2b686dd31c9bf391d851b1b5187a49ef5e565fc2cbc84";
-          };
-  openjdk8 = stdenv.mkDerivation {
+  update = "322";
+  build = "ga";
+
+  openjdk8 = stdenv.mkDerivation rec {
     pname = "openjdk" + lib.optionalString headless "-headless";
     version = "8u${update}-${build}";
 
-    srcs = [ jdk8 langtools hotspot corba jdk jaxws jaxp nashorn ];
-    sourceRoot = ".";
-
+    src = fetchFromGitHub {
+      owner = "openjdk";
+      repo = "jdk8u";
+      rev = "jdk${version}";
+      sha256 = "sha256-e39Yv+NDQG7z6fGmpKEnkKd5MoHZ50SXlq/Q7lzWcDA=";
+    };
     outputs = [ "out" "jre" ];
 
     nativeBuildInputs = [ pkg-config lndir unzip ];
@@ -92,16 +43,6 @@ let
       gtk2 gnome_vfs GConf glib
     ];
 
-    # move the seven other source dirs under the main jdk8u directory,
-    # with version suffixes removed, as the remainder of the build will expect
-    prePatch = ''
-      mainDir=$(find . -maxdepth 1 -name jdk8u\*);
-      find . -maxdepth 1 -name \*jdk\* -not -name jdk8u\* | awk -F- '{print $1}' | while read p; do
-        mv $p-* $mainDir/$p
-      done
-      cd $mainDir
-    '';
-
     patches = [
       ./fix-java-home-jdk8.patch
       ./read-truststore-from-env-jdk8.patch
diff --git a/pkgs/development/compilers/openjdk/fix-glibc-2.34.patch b/pkgs/development/compilers/openjdk/fix-glibc-2.34.patch
new file mode 100644
index 0000000000000..7bf8b2b167447
--- /dev/null
+++ b/pkgs/development/compilers/openjdk/fix-glibc-2.34.patch
@@ -0,0 +1,24 @@
+Taken from https://build.opensuse.org/package/view_file/Java:Factory/java-15-openjdk/openjdk-glibc234.patch
+
+--- openjdk/test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c	2021-04-09 11:36:58.000000000 +0200
++++ openjdk/test/hotspot/jtreg/runtime/StackGuardPages/exeinvoke.c	2021-08-26 15:42:52.326232581 +0200
+@@ -67,8 +67,17 @@
+   longjmp(context, 1);
+ }
+ 
++static char* altstack = NULL;
++
+ void set_signal_handler() {
+-  static char altstack[SIGSTKSZ];
++  if (altstack == NULL) {
++    // Dynamically allocated in case SIGSTKSZ is not constant
++    altstack = malloc(SIGSTKSZ);
++    if (altstack == NULL) {
++      fprintf(stderr, "Test ERROR. Unable to malloc altstack space\n");
++      exit(7);
++    }
++  }
+ 
+   stack_t ss = {
+     .ss_size = SIGSTKSZ,
+
diff --git a/pkgs/development/compilers/polyml/5.6.nix b/pkgs/development/compilers/polyml/5.6.nix
index 7858e3f6dc119..4354ce7e2d671 100644
--- a/pkgs/development/compilers/polyml/5.6.nix
+++ b/pkgs/development/compilers/polyml/5.6.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchurl, autoreconfHook}:
+{lib, stdenv, fetchurl, autoreconfHook, fetchpatch }:
 
 let
   version = "5.6";
@@ -12,6 +12,14 @@ stdenv.mkDerivation {
     substituteInPlace configure.ac --replace stdc++ c++
   '';
 
+  patches = [
+    # glibc 2.34 compat
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/polyml/raw/4d8868ca5a1ce3268f212599a321f8011c950496/f/polyml-pthread-stack-min.patch";
+      sha256 = "1h5ihg2sxld9ymrl3f2mpnbn2242ka1fsa0h4gl9h90kndvg6kby";
+    })
+  ];
+
   buildInputs = lib.optional stdenv.isDarwin autoreconfHook;
 
   src = fetchurl {
diff --git a/pkgs/development/compilers/polyml/5.7.nix b/pkgs/development/compilers/polyml/5.7.nix
index 5ac6990383cce..efd3d1bfd40aa 100644
--- a/pkgs/development/compilers/polyml/5.7.nix
+++ b/pkgs/development/compilers/polyml/5.7.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, gmp, libffi }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, gmp, libffi, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "polyml";
@@ -8,7 +8,15 @@ stdenv.mkDerivation rec {
     substituteInPlace configure.ac --replace stdc++ c++
   '';
 
-  patches = [ ./5.7-new-libffi-FFI_SYSV.patch ];
+  patches = [
+    ./5.7-new-libffi-FFI_SYSV.patch
+
+    # glibc 2.34 compat
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/polyml/raw/4d8868ca5a1ce3268f212599a321f8011c950496/f/polyml-pthread-stack-min.patch";
+      sha256 = "1h5ihg2sxld9ymrl3f2mpnbn2242ka1fsa0h4gl9h90kndvg6kby";
+    })
+  ];
 
   buildInputs = [ libffi gmp ];
 
diff --git a/pkgs/development/compilers/polyml/default.nix b/pkgs/development/compilers/polyml/default.nix
index 8a283bb6cf998..2f22f8cd616b3 100644
--- a/pkgs/development/compilers/polyml/default.nix
+++ b/pkgs/development/compilers/polyml/default.nix
@@ -1,4 +1,10 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, gmp, libffi }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, gmp
+, libffi
+}:
 
 stdenv.mkDerivation rec {
   pname = "polyml";
diff --git a/pkgs/development/compilers/rust/1_58.nix b/pkgs/development/compilers/rust/1_59.nix
index c854bfdd37a4d..9812585165546 100644
--- a/pkgs/development/compilers/rust/1_58.nix
+++ b/pkgs/development/compilers/rust/1_59.nix
@@ -20,8 +20,8 @@
 } @ args:
 
 import ./default.nix {
-  rustcVersion = "1.58.1";
-  rustcSha256 = "1iq7kj16qfpkx8gvw50d8rf7glbm6s0pj2y1qkrz7mi56vfsyfd8";
+  rustcVersion = "1.59.0";
+  rustcSha256 = "sha256-p8juruhb/O+EyWsCsxcdHmVA0VF5/4Pd3Z6vuhhfhfk=";
 
   llvmSharedForBuild = pkgsBuildBuild.llvmPackages_13.libllvm.override { enableSharedLibraries = true; };
   llvmSharedForHost = pkgsBuildHost.llvmPackages_13.libllvm.override { enableSharedLibraries = true; };
@@ -37,24 +37,25 @@ import ./default.nix {
 
   # Note: the version MUST be one version prior to the version we're
   # building
-  bootstrapVersion = "1.57.0";
+  bootstrapVersion = "1.58.1";
 
   # fetch hashes by running `print-hashes.sh ${bootstrapVersion}`
   bootstrapHashes = {
-    i686-unknown-linux-gnu = "7e4ac8ca2874897099a3ceb89039ceee170f474a98ee247589fd6bca8dda7cfa";
-    x86_64-unknown-linux-gnu = "ea0253784b2e5c22659ff148d492a68d2e11da734491714ebc61cc93896efcda";
-    x86_64-unknown-linux-musl = "56876ebca0e46236208c8bd3c3425dba553abe49639e1040ee8b95bc66a45d33";
-    arm-unknown-linux-gnueabihf = "b4448f7a96da4feee99a2c4b16b5738b99ab7e86e22d284ea6f7dca5921bca9b";
-    armv7-unknown-linux-gnueabihf = "577682b1405e8901f971839407daaad06d8ae68ad370305b75d569ba293c4fb4";
-    aarch64-unknown-linux-gnu = "d66847f7cf7b548ecb328c400ac4f691ee2aea6ff5cd9286ad8733239569556c";
-    aarch64-unknown-linux-musl = "91c8e5171e5715261f7f635142a10a9415a4e5ba55374daf76f0b713c8b08132";
-    x86_64-apple-darwin = "15ceffc4743434c19d08f73fb4edd6642b7fd8162ed7101d3e6ca2c691fcb699";
-    aarch64-apple-darwin = "7511075e28b715e2d9c7ee74221779f8444681a4bb60ac3a0270a5fdf08bdd5a";
-    powerpc64le-unknown-linux-gnu = "3ddc1abed6b7535c4150bf54291901fa856806c948bc21b711e24a3c8d810be7";
-    riscv64gc-unknown-linux-gnu = "f809df1c6ac0adc9bd37eb871dfb0d9809f3ed7f61ba611f9305e9eb8f8c9226";
+    i686-unknown-linux-gnu = "c3d282cd96cc9e5292e62db1ebb9fa6d5b738f4684d5ece9883f7472e2f76ad4";
+    x86_64-unknown-linux-gnu = "4fac6df9ea49447682c333e57945bebf4f9f45ec7b08849e507a64b2ccd5f8fb";
+    x86_64-unknown-linux-musl = "7036e34eadc8ce22d16b0625919d9f2244ca49a5441d6599f4822116c181d272";
+    arm-unknown-linux-gnueabihf = "739389d46c5862b0e67d01dece99aa3db2229e055a3d7f7624679c55b6c33e06";
+    armv7-unknown-linux-gnueabihf = "6cede2c7795e8126b0f17b1032d52500e594bac64c7d190bdc0ac1c832ef30bd";
+    aarch64-unknown-linux-gnu = "ce557516593e4526709b0f33c2e1d7c932b3ddf76af94c2417d8d667921ce90c";
+    aarch64-unknown-linux-musl = "b1533fdeeda483a3633617fd18a79d8fad7821331614b8dc13efd8b22acc30f5";
+    x86_64-apple-darwin = "d0044680fc132a721481b130a0a4282a444867f423efdb890fe13e447966412f";
+    aarch64-apple-darwin = "00b44985bc87e53c53d92622fb10226f09e9f25c79db48a77c0a769a36f83b1e";
+    powerpc64le-unknown-linux-gnu = "b15baef702cbd6f0ea2bef7bf98ca7ce5644f2beb219028e8a12e7053da4c849";
+    riscv64gc-unknown-linux-gnu = "d8ea2b11a4b24d1169fa3190127488b951b8bdef28293a4129ddd46c0ba9469b";
+    mips64el-unknown-linux-gnuabi64 = "4f03bc972ae784d4f66cfa77215b369723531e67f647de9f49ce9fc21e5691af";
   };
 
-  selectRustPackage = pkgs: pkgs.rust_1_58;
+  selectRustPackage = pkgs: pkgs.rust_1_59;
 
   rustcPatches = [
   ];
diff --git a/pkgs/development/compilers/rust/binary.nix b/pkgs/development/compilers/rust/binary.nix
index ce4250f675e9a..1145f4da8f663 100644
--- a/pkgs/development/compilers/rust/binary.nix
+++ b/pkgs/development/compilers/rust/binary.nix
@@ -19,7 +19,7 @@ in
 
 rec {
   rustc = stdenv.mkDerivation {
-    name = "rustc-${versionType}-${version}";
+    pname = "rustc-${versionType}";
 
     inherit version;
     inherit src;
@@ -71,7 +71,7 @@ rec {
   };
 
   cargo = stdenv.mkDerivation {
-    name = "cargo-${versionType}-${version}";
+    pname = "cargo-${versionType}";
 
     inherit version;
     inherit src;
diff --git a/pkgs/development/compilers/rust/cargo.nix b/pkgs/development/compilers/rust/cargo.nix
index ee909e973a353..b50f36f0d9b64 100644
--- a/pkgs/development/compilers/rust/cargo.nix
+++ b/pkgs/development/compilers/rust/cargo.nix
@@ -5,7 +5,7 @@
 }:
 
 rustPlatform.buildRustPackage {
-  name = "cargo-${rustc.version}";
+  pname = "cargo";
   inherit (rustc) version src;
 
   # the rust source tarball already has all the dependencies vendored, no need to fetch them again
diff --git a/pkgs/development/compilers/solc/default.nix b/pkgs/development/compilers/solc/default.nix
index eea60786f4af7..06aa048a260df 100644
--- a/pkgs/development/compilers/solc/default.nix
+++ b/pkgs/development/compilers/solc/default.nix
@@ -34,14 +34,21 @@ let
     sha256 = "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh";
   };
 
+  fmtlibVersion = "8.0.1";
+  fmtlibUrl = "https://github.com/fmtlib/fmt/archive/${fmtlibVersion}.tar.gz";
+  fmtlib = fetchzip {
+    url = fmtlibUrl;
+    sha256 = "1mnvxqsan034d2jiqnw2yvkljl7lwvhakmj5bscwp1fpkn655bbw";
+  };
+
   solc = gccStdenv.mkDerivation rec {
     pname = "solc";
-    version = "0.8.2";
+    version = "0.8.13";
 
     # upstream suggests avoid using archive generated by github
     src = fetchzip {
       url = "https://github.com/ethereum/solidity/releases/download/v${version}/solidity_${version}.tar.gz";
-      sha256 = "11w7sa1y2dirzh84k04fkwbfc6xpjp5jr65w1pmb2pnkjvvf46xq";
+      hash = "sha256-cFC9M65kSYgYq9rhBXZKEdfvIMbMaDiDwdPmU8v9s7k=";
     };
 
     postPatch = ''
@@ -49,6 +56,8 @@ let
         --replace "${jsoncppUrl}" ${jsoncpp}
       substituteInPlace cmake/range-v3.cmake \
         --replace "${range3Url}" ${range3}
+      substituteInPlace cmake/fmtlib.cmake \
+        --replace "${fmtlibUrl}" ${fmtlib}
     '';
 
     cmakeFlags = [
diff --git a/pkgs/development/compilers/urweb/default.nix b/pkgs/development/compilers/urweb/default.nix
index e2d9d1f226e73..67ebaa04699e3 100644
--- a/pkgs/development/compilers/urweb/default.nix
+++ b/pkgs/development/compilers/urweb/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
     export CC="${gcc}/bin/gcc";
     export CCARGS="-I$out/include \
-                   -L${openssl.out}/lib \
+                   -L${lib.getLib openssl}/lib \
                    -L${libmysqlclient}/lib \
                    -L${postgresql.lib}/lib \
                    -L${sqlite.out}/lib";
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index 72512a1202f2b..8013f283c708d 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -20,6 +20,8 @@ let
 
         "0.54" = ./disable-graphviz-0.46.1.patch;
 
+        "0.56" = ./disable-graphviz-0.46.1.patch;
+
       }.${lib.versions.majorMinor version} or (throw "no graphviz patch for this version of vala");
 
     disableGraphviz = lib.versionAtLeast version "0.38" && !withGraphviz;
@@ -68,7 +70,10 @@ let
 
     passthru = {
       updateScript = gnome.updateScript {
-        attrPath = "${pname}_${lib.versions.major version}_${lib.versions.minor version}";
+        attrPath =
+          let
+            roundUpToEven = num: num + lib.mod num 2;
+          in "${pname}_${lib.versions.major version}_${builtins.toString (roundUpToEven (lib.toInt (lib.versions.minor version)))}";
         packageName = pname;
         freeze = true;
       };
@@ -85,13 +90,18 @@ let
 
 in rec {
   vala_0_48 = generic {
-    version = "0.48.23";
-    sha256 = "sha256-3jzIWNmV4HR0IZ4lo+Hw7ZmAcNLiBtOjE9Q3ml93oGo=";
+    version = "0.48.24";
+    sha256 = "NknvhFc7aGX8NHBkDuYDcgCZ65FbOfqtGbdJjeGn3yQ=";
   };
 
   vala_0_54 = generic {
-    version = "0.54.7";
-    sha256 = "Ygecof8C5dF65yqppa3GGuav3P67DZ8GBjo2776soMc=";
+    version = "0.54.8";
+    sha256 = "7fs+eUhqS/SM666pKR5X/HfakyK2lh6VSd9tlz0EvIA=";
+  };
+
+  vala_0_56 = generic {
+    version = "0.56.0";
+    sha256 = "2SvRPFYwkF7rapg9y3AiBNqXMUYMKm5OOfhnmW83EEA=";
   };
 
   vala = vala_0_54;
diff --git a/pkgs/development/compilers/x11basic/default.nix b/pkgs/development/compilers/x11basic/default.nix
index e48bbc90d61ff..030c30b96a5a3 100644
--- a/pkgs/development/compilers/x11basic/default.nix
+++ b/pkgs/development/compilers/x11basic/default.nix
@@ -14,8 +14,9 @@ stdenv.mkDerivation rec {
     sha256 = "1hpxzdqnjl1fiwgs2vrjg4kxm29c7pqwk3g1m4p5pm4x33a3d1q2";
   };
 
+  nativeBuildInputs = [ autoconf automake ];
   buildInputs = [
-    autoconf automake readline libX11 SDL2 bluez
+    readline libX11 SDL2 bluez
   ];
 
   preConfigure = "cd src;autoconf";
diff --git a/pkgs/development/coq-modules/VST/default.nix b/pkgs/development/coq-modules/VST/default.nix
index 80aaf506139bb..a5dee94d045dc 100644
--- a/pkgs/development/coq-modules/VST/default.nix
+++ b/pkgs/development/coq-modules/VST/default.nix
@@ -37,6 +37,7 @@ mkCoqDerivation {
   preConfigure = ''
     patchShebangs util
     substituteInPlace Makefile \
+      --replace 'COQVERSION= ' 'COQVERSION= 8.15.1 or-else '\
       --replace 'FLOYD_FILES=' 'FLOYD_FILES= ${toString extra_floyd_files}'
   '';
 
diff --git a/pkgs/development/coq-modules/aac-tactics/default.nix b/pkgs/development/coq-modules/aac-tactics/default.nix
index c67b47f18776e..15b2e493b68e1 100644
--- a/pkgs/development/coq-modules/aac-tactics/default.nix
+++ b/pkgs/development/coq-modules/aac-tactics/default.nix
@@ -6,7 +6,10 @@ mkCoqDerivation {
 
   releaseRev = v: "v${v}";
 
+  release."8.15.1".sha256 = "sha256:0k2sl3ns897a5ll11bazgpv4ppgi1vmx4n89v2dnxabm5dglyglp";
+  release."8.14.1".sha256 = "sha256:1w99jgm7mxwdxnalxhralmhmpwwbd52pbbifq0mx13ixkv6iqm1a";
   release."8.14.0".sha256 = "04x47ngb95m1h4jw2gl0v79s5im7qimcw7pafc34gkkf51pyhakp";
+  release."8.13.2".sha256 = "sha256-MAnMc4KzC551JInrRcfKED4nz04FO0GyyyuDVRmnYTa=";
   release."8.13.0".sha256 = "sha256-MAnMc4KzC551JInrRcfKED4nz04FO0GyyyuDVRmnYTY=";
   release."8.12.0".sha256 = "sha256-dPNA19kZo/2t3rbyX/R5yfGcaEfMhbm9bo71Uo4ZwoM=";
   release."8.11.0".sha256 = "sha256-CKKMiJLltIb38u+ZKwfQh/NlxYawkafp+okY34cGCYU=";
@@ -18,8 +21,9 @@ mkCoqDerivation {
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = "8.14"; out = "8.14.0"; }
-    { case = "8.13"; out = "8.13.0"; }
+    { case = "8.15"; out = "8.15.1"; }
+    { case = "8.14"; out = "8.14.1"; }
+    { case = "8.13"; out = "8.13.2"; }
     { case = "8.12"; out = "8.12.0"; }
     { case = "8.11"; out = "8.11.0"; }
     { case = "8.10"; out = "8.10.0"; }
diff --git a/pkgs/development/coq-modules/compcert/default.nix b/pkgs/development/coq-modules/compcert/default.nix
index 197f1a96fc4a2..092bb58d174fa 100644
--- a/pkgs/development/coq-modules/compcert/default.nix
+++ b/pkgs/development/coq-modules/compcert/default.nix
@@ -119,6 +119,11 @@ compcert.overrideAttrs (o:
             url = "https://github.com/AbsInt/CompCert/commit/a882f78c069f7337dd9f4abff117d4df98ef38a6.patch";
             sha256 = "sha256:16i87s608fj9ni7cvd5wrd7gicqniad7w78wi26pxdy0pacl7bjg";
           })
+          # Support for Coq 8.15.1
+          (fetchpatch {
+            url = "https://github.com/AbsInt/CompCert/commit/10a976994d7fd30d143354c289ae735d210ccc09.patch";
+            sha256 = "sha256:0bg58gpkgxlmxzp6sg0dvybrfk0pxnm7qd6vxlrbsbm2w6wk03jv";
+          })
         ];
       }
     ] [];
diff --git a/pkgs/development/coq-modules/coqprime/default.nix b/pkgs/development/coq-modules/coqprime/default.nix
index 127d630752fe2..46ede02a57e69 100644
--- a/pkgs/development/coq-modules/coqprime/default.nix
+++ b/pkgs/development/coq-modules/coqprime/default.nix
@@ -6,12 +6,13 @@ with lib; mkCoqDerivation {
   owner = "thery";
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = range "8.12" "8.14"; out = "8.14.1"; }
+    { case = range "8.12" "8.15"; out = "8.15"; }
     { case = range "8.10" "8.11"; out = "8.10"; }
     { case = range "8.8"  "8.9";  out = "8.8"; }
     { case = "8.7";               out = "8.7.2"; }
   ] null;
 
+  release."8.15".sha256  = "sha256:1zr2q52r08na8265019pj9spcz982ivixk6cnzk6l1srn2g328gv";
   release."8.14.1".sha256= "sha256:0dqf87xkzcpg7gglbxjyx68ad84w1w73icxgy3s7d3w563glc2p7";
   release."8.12".sha256  = "1slka4w0pya15js4drx9frj7lxyp3k2lzib8v23givzpnxs8ijdj";
   release."8.10".sha256  = "0r9gnh5a5ykiiz5h1i8xnzgiydpwc4z9qhndxyya85xq0f910qaz";
diff --git a/pkgs/development/coq-modules/relation-algebra/default.nix b/pkgs/development/coq-modules/relation-algebra/default.nix
index 01cb7f63b71a3..204be2931a50f 100644
--- a/pkgs/development/coq-modules/relation-algebra/default.nix
+++ b/pkgs/development/coq-modules/relation-algebra/default.nix
@@ -5,8 +5,13 @@ mkCoqDerivation {
   pname = "relation-algebra";
   owner = "damien-pous";
 
-  releaseRev = v: "v${v}";
+  releaseRev = v:
+    if versions.isGe "1.7.6" v
+    then "v.${v}"
+    else "v${v}";
 
+  release."1.7.7".sha256 = "sha256:1dff3id6nypl2alhk9rcifj3dab0j78dym05blc525lawsmc26l2";
+  release."1.7.6".sha256 = "sha256:02gsj06zcy9zgd0h1ibqspwfiwm36pkkgg9cz37k4bxzcapxcr6w";
   release."1.7.5".sha256 = "sha256-XdO8agoJmNXPv8Ho+KTlLCB4oRlQsb0w06aM9M16ZBU=";
   release."1.7.4".sha256 = "sha256-o+v2CIAa2+9tJ/V8DneDTf4k31KMHycgMBLaQ+A4ufM=";
   release."1.7.3".sha256 = "sha256-4feSNfi7h4Yhwn5L+9KP9K1S7HCPvsvaVWwoQSTFvos=";
@@ -15,6 +20,8 @@ mkCoqDerivation {
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
+    { case = isEq "8.15"; out = "1.7.7"; }
+    { case = isEq "8.14"; out = "1.7.6"; }
     { case = isEq "8.13"; out = "1.7.5"; }
     { case = isEq "8.12"; out = "1.7.4"; }
     { case = isEq "8.11"; out = "1.7.3"; }
diff --git a/pkgs/development/embedded/platformio/core.nix b/pkgs/development/embedded/platformio/core.nix
index f19458fa84fbc..c40f2f45f3128 100644
--- a/pkgs/development/embedded/platformio/core.nix
+++ b/pkgs/development/embedded/platformio/core.nix
@@ -153,7 +153,8 @@ with python.pkgs; buildPythonApplication rec {
       --subst-var-by SPDX_LICENSE_LIST_DATA '${spdx-license-list-data.json}'
 
     substituteInPlace setup.py \
-      --replace "zeroconf==0.37.*" "zeroconf"
+      --replace "wsproto==1.0.*" "wsproto" \
+      --replace "zeroconf==0.38.*" "zeroconf"
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/embedded/stm32/betaflight/default.nix b/pkgs/development/embedded/stm32/betaflight/default.nix
deleted file mode 100644
index 1ecf9be5d8d01..0000000000000
--- a/pkgs/development/embedded/stm32/betaflight/default.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{ lib, stdenv, fetchFromGitHub
-, gcc-arm-embedded, binutils-arm-embedded, python2
-, skipTargets ? [
-  # These targets do not build, for the reasons listed, along with the last version checked.
-  # Probably all of the issues with these targets need to be addressed upstream.
-  "AG3X"       # 3.4.0-rc4: has not specified a valid STM group, must be one of F1, F3, F405, F411 or F7x5. Have you prepared a valid target.mk?
-  "ALIENWHOOP" # 3.4.0-rc4: has not specified a valid STM group, must be one of F1, F3, F405, F411 or F7x5. Have you prepared a valid target.mk?
-  "FURYF3"     # 3.4.0-rc4: flash region overflow
-  "OMNINXT"    # 3.4.0-rc4: has not specified a valid STM group, must be one of F1, F3, F405, F411 or F7x5. Have you prepared a valid target.mk?
-]}:
-
-stdenv.mkDerivation rec {
-
-  pname = "betaflight";
-  version = "3.4.0-rc4";
-
-  src = fetchFromGitHub {
-    owner = "betaflight";
-    repo = "betaflight";
-    rev = "8e9e7574481b1abba9354b24f41eb31054943785"; # Always use a commit id here!
-    sha256 = "1wyp23p876xbfi9z6gm4xn1nwss3myvrjjjq9pd3s0vf5gkclkg5";
-  };
-
-  nativeBuildInputs = [
-    gcc-arm-embedded binutils-arm-embedded
-    python2
-  ];
-
-  postPatch = ''
-    sed -ri "s/REVISION.*=.*git log.*/REVISION = ${builtins.substring 0 10 src.rev}/" Makefile # Simulate abbrev'd rev.
-    sed -ri "s/binary hex/hex/" Makefile # No need for anything besides .hex
-
-    substituteInPlace Makefile \
-      --replace "--specs=nano.specs" ""
-  '';
-
-  enableParallelBuilding = true;
-
-  preBuild = ''
-    buildFlagsArray=(
-      "NOBUILD_TARGETS=${toString skipTargets}"
-      "GCC_REQUIRED_VERSION=$(arm-none-eabi-gcc -dumpversion)"
-      all
-    )
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out
-    cp obj/*.hex $out
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    description = "Flight controller software (firmware) used to fly multi-rotor craft and fixed wing craft";
-    homepage = "https://github.com/betaflight/betaflight";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ elitak ];
-    broken = true;
-  };
-
-}
diff --git a/pkgs/development/embedded/stm32/inav/default.nix b/pkgs/development/embedded/stm32/inav/default.nix
deleted file mode 100644
index c1f762e47d86d..0000000000000
--- a/pkgs/development/embedded/stm32/inav/default.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ lib, stdenv, fetchFromGitHub
-, gcc-arm-embedded, binutils-arm-embedded, ruby
-}:
-
-stdenv.mkDerivation rec {
-
-  pname = "inav";
-  version = "2.0.0-rc2";
-
-  src = fetchFromGitHub {
-    owner = "iNavFlight";
-    repo = "inav";
-    rev = "a8415e89c2956d133d8175827c079bcf3bc3766c"; # Always use a commit id here!
-    sha256 = "15zai8qf43b06fmws1sbkmdgip51zp7gkfj7pp9b6gi8giarzq3y";
-  };
-
-  nativeBuildInputs = [
-    gcc-arm-embedded binutils-arm-embedded
-    ruby
-  ];
-
-  postPatch = ''
-    sed -ri "s/REVISION.*=.*shell git.*/REVISION = ${builtins.substring 0 10 src.rev}/" Makefile # Simulate abbrev'd rev.
-    sed -ri "s/-j *[0-9]+//" Makefile # Eliminate parallel build args in submakes
-    sed -ri "s/binary hex/hex/" Makefile # No need for anything besides .hex
-
-    substituteInPlace Makefile \
-      --replace "--specs=nano.specs" ""
-  '';
-
-  enableParallelBuilding = true;
-
-  preBuild = ''
-    buildFlagsArray=(
-      all
-    )
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out
-    cp obj/*.hex $out
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    description = "Navigation-enabled flight control software";
-    homepage = "https://inavflight.github.io";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ elitak ];
-    broken = true;
-  };
-
-}
diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix
index 76d0dc961c5a4..e2428edbb268f 100644
--- a/pkgs/development/go-modules/generic/default.nix
+++ b/pkgs/development/go-modules/generic/default.nix
@@ -153,13 +153,13 @@ let
 
       export GOCACHE=$TMPDIR/go-cache
       export GOPATH="$TMPDIR/go"
+      export GOPROXY=off
       export GOSUMDB=off
       cd "$modRoot"
-    '' + lib.optionalString (go-modules != "") ''
+    '' + lib.optionalString (vendorSha256 != null) ''
       ${if proxyVendor then ''
         export GOPROXY=file://${go-modules}
       '' else ''
-        export GOPROXY=off
         rm -rf vendor
         cp -r --reflink=auto ${go-modules} vendor
       ''}
@@ -171,13 +171,20 @@ let
     buildPhase = args.buildPhase or ''
       runHook preBuild
 
+      exclude='\(/_\|examples\|Godeps\|testdata'
+      if [[ -n "$excludedPackages" ]]; then
+        IFS=' ' read -r -a excludedArr <<<$excludedPackages
+        printf -v excludedAlternates '%s\\|' "''${excludedArr[@]}"
+        excludedAlternates=''${excludedAlternates%\\|} # drop final \| added by printf
+        exclude+='\|'"$excludedAlternates"
+      fi
+      exclude+='\)'
+
       buildGoDir() {
         local d; local cmd;
         cmd="$1"
         d="$2"
         . $TMPDIR/buildFlagsArray
-        echo "$d" | grep -q "\(/_\|examples\|Godeps\|testdata\)" && return 0
-        [ -n "$excludedPackages" ] && echo "$d" | grep -q "$excludedPackages" && return 0
         local OUT
         if ! OUT="$(go $cmd $buildFlags "''${buildFlagsArray[@]}" ''${tags:+-tags=${lib.concatStringsSep "," tags}} ''${ldflags:+-ldflags="$ldflags"} -v -p $NIX_BUILD_CORES $d 2>&1)"; then
           if ! echo "$OUT" | grep -qE '(no( buildable| non-test)?|build constraints exclude all) Go (source )?files'; then
@@ -214,6 +221,7 @@ let
           export NIX_BUILD_CORES=1
       fi
       for pkg in $(getGoDirs ""); do
+        grep -q "$exclude" <<<$pkg && continue
         echo "Building subPackage $pkg"
         buildGoDir install "$pkg"
       done
diff --git a/pkgs/development/go-packages/generic/default.nix b/pkgs/development/go-packages/generic/default.nix
index 7c4d173b937b3..3d633324eefed 100644
--- a/pkgs/development/go-packages/generic/default.nix
+++ b/pkgs/development/go-packages/generic/default.nix
@@ -150,13 +150,20 @@ let
 
       runHook renameImports
 
+      exclude='\(/_\|examples\|Godeps\|testdata'
+      if [[ -n "$excludedPackages" ]]; then
+        IFS=' ' read -r -a excludedArr <<<$excludedPackages
+        printf -v excludedAlternates '%s\\|' "''${excludedArr[@]}"
+        excludedAlternates=''${excludedAlternates%\\|} # drop final \| added by printf
+        exclude+='\|'"$excludedAlternates"
+      fi
+      exclude+='\)'
+
       buildGoDir() {
         local d; local cmd;
         cmd="$1"
         d="$2"
         . $TMPDIR/buildFlagsArray
-        echo "$d" | grep -q "\(/_\|examples\|Godeps\)" && return 0
-        [ -n "$excludedPackages" ] && echo "$d" | grep -q "$excludedPackages" && return 0
         local OUT
         if ! OUT="$(go $cmd $buildFlags "''${buildFlagsArray[@]}" ''${tags:+-tags=${lib.concatStringsSep "," tags}} ''${ldflags:+-ldflags="$ldflags"} -v -p $NIX_BUILD_CORES $d 2>&1)"; then
           if ! echo "$OUT" | grep -qE '(no( buildable| non-test)?|build constraints exclude all) Go (source )?files'; then
@@ -195,6 +202,8 @@ let
           export NIX_BUILD_CORES=1
       fi
       for pkg in $(getGoDirs ""); do
+        grep -q "$exclude" <<<$pkg && continue
+        echo "Building subPackage $pkg"
         buildGoDir install "$pkg"
       done
     '' + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
diff --git a/pkgs/development/guile-modules/guile-ssh/default.nix b/pkgs/development/guile-modules/guile-ssh/default.nix
index 79a1a7d9b8d21..2ed949ee45ce2 100644
--- a/pkgs/development/guile-modules/guile-ssh/default.nix
+++ b/pkgs/development/guile-modules/guile-ssh/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "guile-ssh";
-  version = "0.15.0";
+  version = "0.15.1";
 
   src = fetchFromGitHub {
     owner = "artyom-poptsov";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-dcG3Q1K1/CxrMeEUWSZ3Qu57Aesalydg4UjkIqg1NJ0=";
+    sha256 = "sha256-+BhyaBieqMwTgsSLci3HJdCrNQmfPN/jK2Od5DQs9n8=";
   };
 
   configureFlags = [ "--with-guilesitedir=\${out}/share/guile/site" ];
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index b95f53758fd06..0302ca2e54cec 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -11,6 +11,11 @@
 # distinction.
 { pkgs, haskellLib }:
 
+let
+  inherit (pkgs) fetchpatch lib;
+  inherit (lib) throwIfNot versionOlder;
+in
+
 with haskellLib;
 
 self: super: {
@@ -18,6 +23,12 @@ self: super: {
   # There are numerical tests on random data, that may fail occasionally
   lapack = dontCheck super.lapack;
 
+  # fix tests failure for base≥4.15 (https://github.com/kim/leveldb-haskell/pull/41)
+  leveldb-haskell = appendPatch (fetchpatch {
+    url = "https://github.com/kim/leveldb-haskell/commit/f5249081f589233890ddb1945ec548ca9fb717cf.patch";
+    sha256 = "14gllipl28lqry73c5dnclsskzk1bsrrgazibl4lkl8z98j2csjb";
+  }) super.leveldb-haskell;
+
   # Arion's test suite needs a Nixpkgs, which is cumbersome to do from Nixpkgs
   # itself. For instance, pkgs.path has dirty sources and puts a huge .git in the
   # store. Testing is done upstream.
@@ -30,7 +41,7 @@ self: super: {
   bin-package-db = null;
 
   # waiting for release: https://github.com/jwiegley/c2hsc/issues/41
-  c2hsc = appendPatch (pkgs.fetchpatch {
+  c2hsc = appendPatch (fetchpatch {
     url = "https://github.com/jwiegley/c2hsc/commit/490ecab202e0de7fc995eedf744ad3cb408b53cc.patch";
     sha256 = "1c7knpvxr7p8c159jkyk6w29653z5yzgjjqj11130bbb8mk9qhq7";
   }) super.c2hsc;
@@ -49,26 +60,31 @@ self: super: {
   ghc-datasize = disableLibraryProfiling super.ghc-datasize;
   ghc-vis = disableLibraryProfiling super.ghc-vis;
 
-  # `pinch`s test suite uses a function called `openSocket` that's available
-  # in `network` versions 3.1.2.0 and bigger.
-  # There's an open PR updating the lower bound for `network`:
-  # > https://github.com/abhinav/pinch/pull/46
-  # With that said version tracked for `network` right now is 3.1.1.1 so we're
-  # replacing the network pinch uses with `network_3_1_2_7` for now.
-  pinch = super.pinch.overrideScope (self : super: {
-    network = self.network_3_1_2_7;
-  });
-
-  # We can remove this once fakedata version gets to 1.0.1 as the test suite
-  # works fine there.
-  fakedata = dontCheck super.fakedata;
-
   # The latest release on hackage has an upper bound on containers which
   # breaks the build, though it works with the version of containers present
   # and the upper bound doesn't exist in code anymore:
   # > https://github.com/roelvandijk/numerals
   numerals = doJailbreak (dontCheck super.numerals);
 
+  # Waiting on a release with the following for bumping base and
+  # attoparsec upper bounds:
+  # > https://github.com/snapframework/io-streams-haproxy/pull/21
+  # > https://github.com/snapframework/io-streams-haproxy/pull/24
+  io-streams-haproxy = doJailbreak super.io-streams-haproxy;
+
+  # xmlhtml's test suite depends on hspec with an invalid boundry range for
+  # the version we currently track, even though the upper bound is relaxed on
+  # github it doesn't have a release yet; though there's an MR preparing the
+  # next release:
+  # > https://github.com/snapframework/xmlhtml/pull/40
+  # Once that's out we can re-enable version checks.
+  xmlhtml = doJailbreak super.xmlhtml;
+
+  # map-syntax has a restrictive upper bound on base, can be removed once
+  # > https://github.com/mightybyte/map-syntax/pull/14
+  # is released.
+  map-syntax = doJailbreak super.map-syntax;
+
   # This test keeps being aborted because it runs too quietly for too long
   Lazy-Pbkdf2 = if pkgs.stdenv.isi686 then dontCheck super.Lazy-Pbkdf2 else super.Lazy-Pbkdf2;
 
@@ -83,7 +99,7 @@ self: super: {
       name = "git-annex-${super.git-annex.version}-src";
       url = "git://git-annex.branchable.com/";
       rev = "refs/tags/" + super.git-annex.version;
-      sha256 = "11idvicisp4wnw15lk7f9fs0kqpssngs1j8f98050f3jrqsccj0j";
+      sha256 = "066gs2lkkiz9z9n6rjg33wmgi04qmn6xpnx86j0x3d56r1110id4";
       # delete android and Android directories which cause issues on
       # darwin (case insensitive directory). Since we don't need them
       # during the build process, we can delete it to prevent a hash
@@ -119,6 +135,9 @@ self: super: {
   tree-diff = doJailbreak super.tree-diff;
   zinza = doJailbreak super.zinza;
 
+  # Too strict upper bound on base, no upstream issue tracker nor repository
+  mmsyn5 = doJailbreak super.mmsyn5;
+
   # Tests require a Kafka broker running locally
   haskakafka = dontCheck super.haskakafka;
 
@@ -137,6 +156,18 @@ self: super: {
   hoodle-core = dontHaddock super.hoodle-core;
   hsc3-db = dontHaddock super.hsc3-db;
 
+  # Pick patch from master for GHC 9.0 support
+  flat = assert versionOlder super.flat.version "0.5"; appendPatches [
+    (fetchpatch {
+      name = "flat-ghc-9.0.patch";
+      url = "https://github.com/Quid2/flat/commit/d32c2c0c0c3c38c41177684ade9febe92d279b06.patch";
+      sha256 = "0ay0c53jpjmnnh7ylfpzpxqkhs1vq9jdwm9f84d40r88ki8hls8g";
+    })
+  ] super.flat;
+
+  # Too strict bound on hspec: https://github.com/ivan-m/graphviz/issues/55
+  graphviz = doJailbreak super.graphviz;
+
   # https://github.com/techtangents/ablist/issues/1
   ABList = dontCheck super.ABList;
 
@@ -193,16 +224,11 @@ self: super: {
   # base bound
   digit = doJailbreak super.digit;
 
-  # hnix.patch needed until the next release is bumped
-  hnix = generateOptparseApplicativeCompletion "hnix"
-    (overrideCabal (drv: {
-      # 2020-06-05: HACK: does not pass own build suite - `dontCheck`
-      doCheck = false;
-    }) (super.hnix.override {
-      # needs newer version of relude and semialign than stackage has
-      relude = self.relude_1_0_0_1;
-      semialign = self.semialign_1_2_0_1;
-    }));
+  # 2020-06-05: HACK: does not pass own build suite - `dontCheck`
+  hnix = generateOptparseApplicativeCompletion "hnix" (dontCheck super.hnix);
+  # Too strict bounds on algebraic-graphs
+  # https://github.com/haskell-nix/hnix-store/issues/180
+  hnix-store-core = doJailbreak super.hnix-store-core;
 
   # Fails for non-obvious reasons while attempting to use doctest.
   focuslist = dontCheck super.focuslist;
@@ -222,7 +248,6 @@ self: super: {
   angel = dontCheck super.angel;
   apache-md5 = dontCheck super.apache-md5;              # http://hydra.cryp.to/build/498709/nixlog/1/raw
   app-settings = dontCheck super.app-settings;          # http://hydra.cryp.to/build/497327/log/raw
-  aws = doJailbreak (dontCheck super.aws);              # needs aws credentials, jailbreak for base16-bytestring
   aws-kinesis = dontCheck super.aws-kinesis;            # needs aws credentials for testing
   binary-protocol = dontCheck super.binary-protocol;    # http://hydra.cryp.to/build/499749/log/raw
   binary-search = dontCheck super.binary-search;
@@ -291,6 +316,9 @@ self: super: {
   HTF = overrideCabal (orig: {
     # The scripts in scripts/ are needed to build the test suite.
     preBuild = "patchShebangs --build scripts";
+    # test suite doesn't compile with aeson >= 2.0
+    # https://github.com/skogsbaer/HTF/issues/114
+    doCheck = false;
   }) super.HTF;
   htsn = dontCheck super.htsn;
   htsn-import = dontCheck super.htsn-import;
@@ -304,10 +332,18 @@ self: super: {
   lensref = dontCheck super.lensref;
   lvmrun = disableHardening ["format"] (dontCheck super.lvmrun);
   matplotlib = dontCheck super.matplotlib;
+
   # https://github.com/matterhorn-chat/matterhorn/issues/679 they do not want to be on stackage
   matterhorn = doJailbreak (super.matterhorn.overrideScope (self: super: {
     brick = self.brick_0_64_2;
+    # Doesn't support aeson 2.0
+    # https://github.com/matterhorn-chat/matterhorn/issues/759
+    aeson = self.aeson_1_5_6_0;
   }));
+  mattermost-api = super.mattermost-api.override {
+    aeson = self.aeson_1_5_6_0;
+  };
+
   memcache = dontCheck super.memcache;
   metrics = dontCheck super.metrics;
   milena = dontCheck super.milena;
@@ -348,7 +384,8 @@ self: super: {
   separated = dontCheck super.separated;
   shadowsocks = dontCheck super.shadowsocks;
   shake-language-c = dontCheck super.shake-language-c;
-  snap-core = dontCheck super.snap-core;
+  snap-core = doJailbreak (dontCheck super.snap-core); # attoparsec bound is too strict. This has been fixed on master
+  snap-server = doJailbreak super.snap-server; # attoparsec bound is too strict
   sourcemap = dontCheck super.sourcemap;
   static-resources = dontCheck super.static-resources;
   strive = dontCheck super.strive;                      # fails its own hlint test with tons of warnings
@@ -384,6 +421,10 @@ self: super: {
   # https://github.com/vincenthz/hs-crypto-pubkey/issues/20
   crypto-pubkey = dontCheck super.crypto-pubkey;
 
+  # Test suite works with aeson 2.0 only starting with 0.14.1
+  vinyl = assert versionOlder super.vinyl.version "0.14.1";
+    dontCheck super.vinyl;
+
   # https://github.com/Philonous/xml-picklers/issues/5
   xml-picklers = dontCheck super.xml-picklers;
 
@@ -471,6 +512,26 @@ self: super: {
 
   # Depends on itself for testing
   tasty-discover = overrideCabal (drv: {
+    # Compatibility with tasty-hspec >= 1.1.7 requires a patch and a dependency on hspec
+    patches = drv.patches or [] ++ [
+      # Intermediate patch so fix applies
+      (fetchpatch {
+        url = "https://github.com/haskell-works/tasty-discover/commit/67b022f5945abdfb71ca31fca7910abc7effe043.patch";
+        sha256 = "1x539qa2871fiahw9zjxyyqz86v4ib7k7fv9hdvvxcrrfw3zwl66";
+      })
+      # Actual fix
+      (fetchpatch {
+        name = "tasty-hspec-1.1.7-compat.patch";
+        url = "https://github.com/haskell-works/tasty-discover/commit/98d3c464f33129e38fa9c0fcdfb1847dfb0490b9.patch";
+        sha256 = "01a8ni3lyh1wql7aghl41nd2c9m6gcn1i77bh3pygh6r403x771p";
+      })
+    ];
+    testHaskellDepends = drv.testHaskellDepends or [] ++ [
+      self.hspec
+    ];
+    # https://github.com/haskell-works/tasty-discover/issues/17
+    jailbreak = true; # allow tasty-hspec >= 1.2
+
     preBuild = ''
       export PATH="$PWD/dist/build/tasty-discover:$PATH"
     '' + (drv.preBuild or "");
@@ -565,6 +626,19 @@ self: super: {
     '';
   }) super.ghc-mod;
 
+  # 2022-03-20: descriptive is unmaintained since 2018 and archived on github.com
+  # It does not support aeson 2.0
+  descriptive = super.descriptive.override { aeson = self.aeson_1_5_6_0; };
+
+  # 2022-03-19: Testsuite is failing: https://github.com/puffnfresh/haskell-jwt/issues/2
+  jwt = dontCheck super.jwt;
+
+  # 2022-03-16: ghc 9 support has not been merged: https://github.com/hasura/monad-validate/pull/5
+  monad-validate = appendPatch (fetchpatch {
+    url = "https://github.com/hasura/monad-validate/commit/7ba916e23c219a8cd397e2a1801c74682b52fcf0.patch";
+    sha256 = "sha256-udJ+/2VvfWA5Bm36nftH0sbPNuMkWj8rCh9cNN2f9Zw=";
+  }) (dontCheck super.monad-validate);
+
   # Build the latest git version instead of the official release. This isn't
   # ideal, but Chris doesn't seem to make official releases any more.
   structured-haskell-mode = overrideCabal (drv: {
@@ -613,9 +687,15 @@ self: super: {
   # https://github.com/pxqr/base32-bytestring/issues/4
   base32-bytestring = dontCheck super.base32-bytestring;
 
+  # 2022-03-24: Strict aeson bound: https://github.com/berberman/nvfetcher/pull/63
+  nvfetcher = throwIfNot (super.nvfetcher.version == "0.4.0.0") "nvfetcher: remove jailbreak after update" doJailbreak super.nvfetcher;
+
+  # 2022-03-24: Strict aeson bound:
+  arch-web = throwIfNot (super.arch-web.version == "0.1.0") "arch-web: remove jailbreak after update"  doJailbreak super.arch-web;
+
   # Djinn's last release was 2014, incompatible with Semigroup-Monoid Proposal
   # https://github.com/augustss/djinn/pull/8
-  djinn = appendPatch (pkgs.fetchpatch {
+  djinn = appendPatch (fetchpatch {
     url = "https://github.com/augustss/djinn/commit/6cb9433a137fb6b5194afe41d616bd8b62b95630.patch";
     sha256 = "0s021y5nzrh74gfp8xpxpxm11ivzfs3jwg6mkrlyry3iy584xqil";
   }) super.djinn;
@@ -645,7 +725,7 @@ self: super: {
     } super.d-bus;
   # Add now required extension on recent compilers.
   # https://github.com/Philonous/d-bus/pull/23
-  in appendPatch (pkgs.fetchpatch {
+  in appendPatch (fetchpatch {
     url = "https://github.com/Philonous/d-bus/commit/e5f37900a3a301c41d98bdaa134754894c705681.patch";
     sha256 = "6rQ7H9t483sJe1x95yLPAZ0BKTaRjgqQvvrQv7HkJRE=";
   }) newer;
@@ -700,15 +780,29 @@ self: super: {
   # The tests spuriously fail
   libmpd = dontCheck super.libmpd;
 
-  # Too strict bounds on template-haskell (doesn't allow 2.16)
-  # For 2.17 support: https://github.com/JonasDuregard/sized-functors/pull/10
-  size-based = doJailbreak super.size-based;
+  # For template-haskell 2.16 and 2.17 support: https://github.com/JonasDuregard/sized-functors/pull/10
+  size-based = overrideCabal
+    (drv: {
+      # make all line endings unix, otherwise patching fails
+      prePatch = ''
+        find . -type f -print0 | xargs -0 ${pkgs.buildPackages.dos2unix}/bin/dos2unix
+      '' + (drv.prePatch or "");
+      patches = [
+        (fetchpatch {
+          url = "https://github.com/JonasDuregard/sized-functors/pull/10/commits/fe6bf78a1b97ff7429630d0e8974c9bc40945dcf.patch";
+          sha256 = "sha256-mMsXOqLqSbGl9Q0txiZiciPtGT7f12lnhlpFsnCwamk=";
+        })
+      ];
+    })
+    super.size-based;
 
   # https://github.com/diagrams/diagrams-braille/issues/1
   diagrams-braille = doJailbreak super.diagrams-braille;
 
   # https://github.com/timbod7/haskell-chart/pull/231#issuecomment-953745932
-  Chart-diagrams = doJailbreak super.Chart-diagrams;
+  Chart-diagrams = doJailbreak (super.Chart-diagrams.override {
+    SVGFonts = super.SVGFonts_1_7_0_1;
+  });
 
   # https://github.com/xu-hao/namespace/issues/1
   namespace = doJailbreak super.namespace;
@@ -749,7 +843,7 @@ self: super: {
     buildTools = drv.buildTools or [] ++ [ pkgs.buildPackages.makeWrapper ];
     postInstall = drv.postInstall or "" + ''
       for b in $out/bin/cryptol $out/bin/cryptol-html; do
-        wrapProgram $b --prefix 'PATH' ':' "${pkgs.lib.getBin pkgs.z3}/bin"
+        wrapProgram $b --prefix 'PATH' ':' "${lib.getBin pkgs.z3}/bin"
       done
     '';
   }) super.cryptol;
@@ -809,7 +903,7 @@ self: super: {
   cryptohash-sha256 = overrideCabal (drv: {
     jailbreak = true;
     broken = false;
-    hydraPlatforms = pkgs.lib.platforms.all;
+    hydraPlatforms = lib.platforms.all;
   }) super.cryptohash-sha256;
 
   # The test suite has all kinds of out-dated dependencies, so it feels easier
@@ -850,26 +944,6 @@ self: super: {
   servant-docs = doJailbreak super.servant-docs;
   snap-templates = doJailbreak super.snap-templates; # https://github.com/snapframework/snap-templates/issues/22
 
-  # hledger-lib requires the latest version of pretty-simple
-  hledger-lib = appendPatch
-    # This patch has been merged but not released yet:
-    # https://github.com/simonmichael/hledger/pull/1512. It is
-    # important for ledger-autosync test suite:
-    # https://github.com/egh/ledger-autosync/issues/123
-    (pkgs.fetchpatch {
-      name   = "hledger-properly-escape-quotes-csv.patch";
-      url    = "https://github.com/simonmichael/hledger/commit/c9a72e1615e2ddc2824f2e248456e1042eb31e1d.patch";
-      sha256 = "10knvrd5bl9nrmi27i0pm82sfr64jy04xgbjp228qywyijpr3pqv";
-      includes = [ "Hledger/Read/CsvReader.hs" ];
-      stripLen = 1;
-    })
-    super.hledger-lib;
-
-  # hledger-lib 1.24 depends on doctest >= 0.18
-  hledger-lib_1_24_1 = super.hledger-lib_1_24_1.override {
-    doctest = self.doctest_0_18_2;
-  };
-
   # Copy hledger man pages from data directory into the proper place. This code
   # should be moved into the cabal2nix generator.
   hledger = overrideCabal (drv: {
@@ -917,9 +991,9 @@ self: super: {
   # https://github.com/haskell-hvr/resolv/pull/6
   resolv_0_1_1_2 = dontCheck super.resolv_0_1_1_2;
 
-  # spdx 0.2.2.0 needs older tasty
-  # was fixed in spdx master (4288df6e4b7840eb94d825dcd446b42fef25ef56)
-  spdx = dontCheck super.spdx;
+  # Too strict bounds on base and Cabal, fixed on master
+  # Occasional test failures: https://github.com/phadej/spdx/issues/27
+  spdx = assert super.spdx.version == "1.0.0.2"; doJailbreak (dontCheck super.spdx);
 
   # The test suite does not know how to find the 'alex' binary.
   alex = overrideCabal (drv: {
@@ -950,6 +1024,7 @@ self: super: {
   # dontCheck: https://github.com/haskell-servant/servant-auth/issues/113
   # doJailbreak: waiting on revision 1 to hit hackage
   servant-auth-client = doJailbreak (dontCheck super.servant-auth-client);
+  servant-auth-server = doJailbreak super.servant-auth-server;
 
   # Generate cli completions for dhall.
   dhall = generateOptparseApplicativeCompletion "dhall" super.dhall;
@@ -969,12 +1044,35 @@ self: super: {
 
   # Generate shell completion.
   cabal2nix = generateOptparseApplicativeCompletion "cabal2nix" super.cabal2nix;
+
+  # 2022-03-20: niv is unmaintained we pin stuff to keep it running
   niv = generateOptparseApplicativeCompletion "niv" (super.niv.overrideScope (self: super: {
-   # Needs override because of: https://github.com/nmattia/niv/issues/312
    optparse-applicative = self.optparse-applicative_0_15_1_0;
+   aeson = self.aeson_1_5_6_0;
   }));
+
   ormolu = generateOptparseApplicativeCompletion "ormolu" super.ormolu;
-  stack = generateOptparseApplicativeCompletion "stack" super.stack;
+
+  stack =
+    generateOptparseApplicativeCompletion "stack"
+      (doJailbreak # for Cabal constraint added on hackage
+        (appendPatch
+          (fetchpatch {
+            # https://github.com/commercialhaskell/stack/pull/5559
+            # When removing, also remove doJailbreak.
+            name = "stack-pull-5559.patch";
+            url = "https://github.com/hercules-ci/stack/compare/v2.7.5...brandon-leapyear/chinn/cabal-0.patch";
+            sha256 = "sha256-OXmdGgQ2KSKtQKOK6eePLgvUOTlzac544HQYKJpcjnU=";
+          })
+          (super.stack.overrideScope (self: super: {
+            # stack 2.7.5 requires aeson <= 1.6.
+            aeson = self.aeson_1_5_6_0;
+          }))
+      ));
+
+  # Too strict version bound on hashable-time.
+  # Tests require newer package version.
+  aeson_1_5_6_0 = dontCheck (doJailbreak super.aeson_1_5_6_0);
 
   # musl fixes
   # dontCheck: use of non-standard strptime "%s" which musl doesn't support; only used in test
@@ -992,7 +1090,7 @@ self: super: {
   brittany = doJailbreak (dontCheck super.brittany);  # Outdated upperbound on ghc-exactprint: https://github.com/lspitzner/brittany/issues/342
 
   # Fix with Cabal 2.2, https://github.com/guillaume-nargeot/hpc-coveralls/pull/73
-  hpc-coveralls = appendPatch (pkgs.fetchpatch {
+  hpc-coveralls = appendPatch (fetchpatch {
     url = "https://github.com/guillaume-nargeot/hpc-coveralls/pull/73/commits/344217f513b7adfb9037f73026f5d928be98d07f.patch";
     sha256 = "056rk58v9h114mjx62f41x971xn9p3nhsazcf9zrcyxh1ymrdm8j";
   }) super.hpc-coveralls;
@@ -1015,7 +1113,7 @@ self: super: {
   purescript-cst = doJailbreak super.purescript-cst;
 
   purescript =
-    pkgs.lib.pipe
+    lib.pipe
       (super.purescript.override {
         # The latest version of language-javascript is 0.7.1.0,
         # but it seems to have a bug with async support:
@@ -1028,7 +1126,7 @@ self: super: {
         #
         # This patch can likely be removed when purescript-0.14.6 is released.
         (appendPatch
-          (pkgs.fetchpatch {
+          (fetchpatch {
             url = "https://patch-diff.githubusercontent.com/raw/purescript/purescript/pull/4199.patch";
             sha256 = "sha256-OeG30EfCHs7gttLME909WfKxkEZr7Ch3leYiw4lElGg=";
             includes = [
@@ -1089,7 +1187,7 @@ self: super: {
 
   # Fix for base >= 4.11
   scat = overrideCabal (drv: {
-    patches = [(pkgs.fetchpatch {
+    patches = [(fetchpatch {
       url    = "https://github.com/redelmann/scat/pull/6.diff";
       sha256 = "07nj2p0kg05livhgp1hkkdph0j0a6lb216f8x348qjasy0lzbfhl";
     })];
@@ -1141,13 +1239,13 @@ self: super: {
   # Remove for hail > 0.2.0.0
   hail = overrideCabal (drv: {
     patches = [
-      (pkgs.fetchpatch {
+      (fetchpatch {
         # Relax dependency constraints,
         # upstream PR: https://github.com/james-preston/hail/pull/13
         url = "https://patch-diff.githubusercontent.com/raw/james-preston/hail/pull/13.patch";
         sha256 = "039p5mqgicbhld2z44cbvsmam3pz0py3ybaifwrjsn1y69ldsmkx";
       })
-      (pkgs.fetchpatch {
+      (fetchpatch {
         # Relax dependency constraints,
         # upstream PR: https://github.com/james-preston/hail/pull/16
         url = "https://patch-diff.githubusercontent.com/raw/james-preston/hail/pull/16.patch";
@@ -1198,10 +1296,23 @@ self: super: {
 
   # The test suite depends on an impure cabal-install installation in
   # $HOME, which we don't have in our build sandbox.
-  cabal-install-parsers = dontCheck super.cabal-install-parsers;
+  cabal-install-parsers = dontCheck (super.cabal-install-parsers.override {
+    Cabal = self.Cabal_3_6_3_0;
+  });
 
-  # 2021-08-18: Erroneously  claims that it needs a newer HStringTemplate (>= 0.8.8) than stackage.
-  gitit = doJailbreak super.gitit;
+  # 2022-03-12: Pick patches from master for compat with Stackage Nightly
+  gitit = appendPatches [
+    (fetchpatch {
+      name = "gitit-allow-pandoc-2.17.patch";
+      url = "https://github.com/jgm/gitit/commit/9eddd1d3bde46bccb23c6d21e15b289f2a9ebe66.patch";
+      sha256 = "09ahvwyaqzqaa9gnpbffncs9574d20mfy30zz2ww67cmm8f2a8iv";
+    })
+    (fetchpatch {
+      name = "gitit-fix-build-with-hoauth2-2.3.0.patch";
+      url = "https://github.com/jgm/gitit/commit/fd534c0155eef1790500c834e612ab22cf9b67b6.patch";
+      sha256 = "0hmlqkavn8hr0b4y4hxs1yyg0r79ylkzhzwy1dzbb3a2q86ydd2f";
+    })
+  ] super.gitit;
 
   # Test suite requires database
   persistent-mysql = dontCheck super.persistent-mysql;
@@ -1209,7 +1320,7 @@ self: super: {
 
   # Fix EdisonAPI and EdisonCore for GHC 8.8:
   # https://github.com/robdockins/edison/pull/16
-  EdisonAPI = appendPatch (pkgs.fetchpatch {
+  EdisonAPI = appendPatch (fetchpatch {
     url = "https://github.com/robdockins/edison/pull/16/commits/8da6c0f7d8666766e2f0693425c347c0adb492dc.patch";
     postFetch = ''
       ${pkgs.buildPackages.patchutils}/bin/filterdiff --include='a/edison-api/*' --strip=1 "$out" > "$tmpfile"
@@ -1218,7 +1329,7 @@ self: super: {
     sha256 = "0yi5pz039lcm4pl9xnl6krqxyqq5rgb5b6m09w0sfy06x0n4x213";
   }) super.EdisonAPI;
 
-  EdisonCore = appendPatch (pkgs.fetchpatch {
+  EdisonCore = appendPatch (fetchpatch {
     url = "https://github.com/robdockins/edison/pull/16/commits/8da6c0f7d8666766e2f0693425c347c0adb492dc.patch";
     postFetch = ''
       ${pkgs.buildPackages.patchutils}/bin/filterdiff --include='a/edison-core/*' --strip=1 "$out" > "$tmpfile"
@@ -1227,15 +1338,6 @@ self: super: {
     sha256 = "097wqn8hxsr50b9mhndg5pjim5jma2ym4ylpibakmmb5m98n17zp";
   }) super.EdisonCore;
 
-  # Pick patch from 1.6.0 which allows compilation with doctest 0.18
-  polysemy = appendPatches [
-    (pkgs.fetchpatch {
-      name = "allow-doctest-0.18.patch";
-      url = "https://github.com/polysemy-research/polysemy/commit/dbcf851eb69395ce3143ecf2dd616dcad953a339.patch";
-      sha256 = "1qf5pghc8p1glwaadkr95x12d74vhb98mg8dqwilyxbc6gq763w2";
-    })
-  ] super.polysemy;
-
   # 2021-12-26: Too strict bounds on doctest
   polysemy-plugin = doJailbreak super.polysemy-plugin;
 
@@ -1243,11 +1345,6 @@ self: super: {
   hasql-notifications = dontCheck super.hasql-notifications;
   hasql-pool = dontCheck super.hasql-pool;
 
-  # We jailbreak webify, as optparse-applicative evolved past the version bound
-  # and the corresponding (and outdated) PR was not merged for a year.
-  # https://github.com/ananthakumaran/webify/pull/27
-  webify = doJailbreak super.webify;
-
   # hasn‘t bumped upper bounds
   # upstream: https://github.com/obsidiansystems/which/pull/6
   which = doJailbreak super.which;
@@ -1268,11 +1365,36 @@ self: super: {
   x509-validation = dontCheck super.x509-validation;
   tls = dontCheck super.tls;
 
-  # Allow building with recent versions of hlint.
-  patch = doJailbreak super.patch;
+  patch = appendPatches [
+    # 2022-02-27: https://github.com/reflex-frp/patch/pull/40 for bump bounds
+    (fetchpatch {
+      url = "https://github.com/reflex-frp/patch/commit/15ea4956e04264b9be2fe4644119a709b196708f.patch";
+      sha256 = "sha256-la97DCjeVu82AaQv2my+UhmB/jBmMyxxpRAwhEB1RGc=";
+    })
+    # 2022-03-13: https://github.com/reflex-frp/patch/pull/41 for ghc 9.0 compat
+    (fetchpatch {
+      url = "https://github.com/reflex-frp/patch/commit/fee3addcfc982c7b70489a8a64f208ab2360bdb7.patch";
+      sha256 = "sha256-/CTiHSs+Z4dyL5EJx949XD0zzSAy5s4hzchmNkb0YOk=";
+    })
+  ] super.patch;
+
+  # 2022-03-16: lens bound can be loosened https://github.com/ghcjs/jsaddle-dom/issues/19
+  jsaddle-dom = overrideCabal (old: {
+    postPatch = old.postPatch or "" + ''
+      sed -i 's/lens.*4.20/lens/' jsaddle-dom.cabal
+    '';
+  }) super.jsaddle-dom;
 
   # Tests disabled and broken override needed because of missing lib chrome-test-utils: https://github.com/reflex-frp/reflex-dom/issues/392
-  reflex-dom-core = doDistribute (unmarkBroken (dontCheck (doJailbreak super.reflex-dom-core)));
+  # 2022-03-16: Pullrequest for ghc 9 compat https://github.com/reflex-frp/reflex-dom/pull/433
+  reflex-dom-core = doDistribute (unmarkBroken (dontCheck
+    (appendPatch
+      (fetchpatch {
+        url = "https://github.com/reflex-frp/reflex-dom/compare/a0459deafd296656b3e99db01ea7f65b89b0948c...56fa8a484ccfc7d3365d07fea3caa430155dbcac.patch";
+        sha256 = "sha256-azMF3uX7S1rKKRAVjY+xP2XbQKHvEY/9nU7cH81KKPA=";
+        relative = "reflex-dom-core";
+      })
+      super.reflex-dom-core)));
 
   # Tests disabled because they assume to run in the whole jsaddle repo and not the hackage tarbal of jsaddle-warp.
   jsaddle-warp = dontCheck super.jsaddle-warp;
@@ -1301,21 +1423,18 @@ self: super: {
     libraryToolDepends = (drv.libraryToolDepends or []) ++ [self.buildHaskellPackages.c2hs];
   }) super.libsodium;
 
-  # https://github.com/kowainik/policeman/issues/57
-  policeman = doJailbreak super.policeman;
-
   # Too strict version bounds on haskell-gi
   gi-cairo-render = doJailbreak super.gi-cairo-render;
   gi-cairo-connector = doJailbreak super.gi-cairo-connector;
 
   svgcairo = appendPatches [
     # Remove when https://github.com/gtk2hs/svgcairo/pull/12 goes in.
-    (pkgs.fetchpatch {
+    (fetchpatch {
       url = "https://github.com/gtk2hs/svgcairo/commit/348c60b99c284557a522baaf47db69322a0a8b67.patch";
       sha256 = "0akhq6klmykvqd5wsbdfnnl309f80ds19zgq06sh1mmggi54dnf3";
     })
     # Remove when https://github.com/gtk2hs/svgcairo/pull/13 goes in.
-    (pkgs.fetchpatch {
+    (fetchpatch {
       url = "https://github.com/dalpd/svgcairo/commit/d1e0d7ae04c1edca83d5b782e464524cdda6ae85.patch";
       sha256 = "1pq9ld9z67zsxj8vqjf82qwckcp69lvvnrjb7wsyb5jc6jaj3q0a";
     })
@@ -1326,7 +1445,7 @@ self: super: {
   massiv = dontCheck super.massiv;
 
   # Upstream PR: https://github.com/jkff/splot/pull/9
-  splot = appendPatch (pkgs.fetchpatch {
+  splot = appendPatch (fetchpatch {
     url = "https://github.com/jkff/splot/commit/a6710b05470d25cb5373481cf1cfc1febd686407.patch";
     sha256 = "1c5ck2ibag2gcyag6rjivmlwdlp5k0dmr8nhk7wlkzq2vh7zgw63";
   }) super.splot;
@@ -1347,7 +1466,21 @@ self: super: {
   stm-containers = dontCheck super.stm-containers;
 
   # Fails with "supports custom headers"
-  Spock-core = dontCheck super.Spock-core;
+  # Patch for GHC 9.0 support
+  Spock-core = dontCheck (appendPatches [
+    (fetchpatch {
+      name = "Spock-core-GHC-9.0.patch";
+      url = "https://github.com/agrafix/Spock/commit/25c75961c4aaaa2e81c9e2afd3d758f2b643f9df.patch";
+      sha256 = "sha256-JlliIpVYh2CYjJF2I119ab4/1oh6uvxMbRoxlUkKiGw=";
+      relative = "Spock-core";
+    })
+  ] super.Spock-core);
+
+  # Test suite fails to compile https://github.com/agrafix/Spock/issues/177
+  Spock = dontCheck super.Spock;
+
+  # https://github.com/strake/filtrable.hs/issues/6
+  filtrable = doJailbreak super.filtrable;
 
   # hasura packages need some extra care
   graphql-engine = overrideCabal (drv: {
@@ -1362,7 +1495,6 @@ self: super: {
     hspec = dontCheck self.hspec_2_9_4;
     hspec-core = dontCheck self.hspec-core_2_9_4;
     hspec-discover = dontCheck super.hspec-discover_2_9_4;
-    tasty-hspec = self.tasty-hspec_1_2;
   }));
   hasura-ekg-core = doJailbreak (super.hasura-ekg-core.overrideScope (self: super: {
     hspec = dontCheck self.hspec_2_9_4;
@@ -1389,7 +1521,7 @@ self: super: {
   hcoord = overrideCabal (drv: {
     # Remove when https://github.com/danfran/hcoord/pull/8 is merged.
     patches = [
-      (pkgs.fetchpatch {
+      (fetchpatch {
         url = "https://github.com/danfran/hcoord/pull/8/commits/762738b9e4284139f5c21f553667a9975bad688e.patch";
         sha256 = "03r4jg9a6xh7w3jz3g4bs7ff35wa4rrmjgcggq51y0jc1sjqvhyz";
       })
@@ -1419,25 +1551,64 @@ self: super: {
   # - Deps are required during the build for testing and also during execution,
   #   so add them to build input and also wrap the resulting binary so they're in
   #   PATH.
+  # - Patch can be removed on next package set bump
   update-nix-fetchgit = let deps = [ pkgs.git pkgs.nix pkgs.nix-prefetch-git ];
   in generateOptparseApplicativeCompletion "update-nix-fetchgit" (overrideCabal
     (drv: {
       buildTools = drv.buildTools or [ ] ++ [ pkgs.buildPackages.makeWrapper ];
       postInstall = drv.postInstall or "" + ''
         wrapProgram "$out/bin/update-nix-fetchgit" --prefix 'PATH' ':' "${
-          pkgs.lib.makeBinPath deps
+          lib.makeBinPath deps
         }"
       '';
-    }) (addTestToolDepends deps super.update-nix-fetchgit));
+    }) (addTestToolDepends deps (
+        appendPatch (fetchpatch {
+            url = "https://github.com/expipiplus1/update-nix-fetchgit/commit/2a4229b04aaeec025f1400a39f4e6390af760b54.patch";
+            sha256 = "sha256-G3abFWykpvtsh8l3GZhkNUpBo7zRb9Ve4d6mjizysIo=";
+            includes = [ "src/Update/Nix/FetchGit/Prefetch.hs" ];
+        })
+        super.update-nix-fetchgit)));
+
 
   # Our quickcheck-instances is too old for the newer binary-instances, but
   # quickcheck-instances is only used in the tests of binary-instances.
   binary-instances = dontCheck super.binary-instances;
 
+  # Raise version bounds: https://github.com/idontgetoutmuch/binary-low-level/pull/16
+  binary-strict = appendPatches [
+    (fetchpatch {
+      url = "https://github.com/idontgetoutmuch/binary-low-level/pull/16/commits/c16d06a1f274559be0dea0b1f7497753e1b1a8ae.patch";
+      sha256 = "sha256-deSbudy+2je1SWapirWZ1IVWtJ0sJVR5O/fnaAaib2g=";
+    })
+  ] super.binary-strict;
+
   # 2020-11-19: Checks nearly fixed, but still disabled because of flaky tests:
   # https://github.com/haskell/haskell-language-server/issues/610
   # https://github.com/haskell/haskell-language-server/issues/611
-  haskell-language-server = dontCheck super.haskell-language-server;
+  haskell-language-server = lib.pipe super.haskell-language-server [
+    dontCheck
+    (appendConfigureFlags ["-ftactics"])
+    (overrideCabal (old: {
+      libraryHaskellDepends = old.libraryHaskellDepends ++ [
+        super.hls-tactics-plugin
+      ];
+    }))
+  ];
+
+  lsp = assert super.lsp.version == "1.4.0.0"; dontCheck super.lsp;
+
+  hls-test-utils = assert super.hls-test-utils.version == "1.2.0.0"; appendPatches [
+    (fetchpatch {
+      url = "https://github.com/haskell/haskell-language-server/commit/074593987e9086e308b89ecde336de2c64861dc0.patch";
+      sha256 = "sha256-uTlIbGQKulP3963UPL2V9cqMoIvPscK+s2W/HtBmMWc=";
+      relative = "hls-test-utils";
+    })
+    (fetchpatch {
+      url = "https://github.com/haskell/haskell-language-server/commit/78305f21783807b04baebca4860c255bfe84d4ab.patch";
+      sha256 = "sha256-oe8Q8kBJBkel+pR5imFj43NVpm4afcyLgAUCWhrIoPk=";
+      relative = "hls-test-utils";
+    })
+   ] super.hls-test-utils;
 
   # 2021-05-08: Tests fail: https://github.com/haskell/haskell-language-server/issues/1809
   hls-eval-plugin = dontCheck super.hls-eval-plugin;
@@ -1465,9 +1636,6 @@ self: super: {
 
   data-tree-print = doJailbreak super.data-tree-print;
 
-  # 2020-11-15: aeson 1.5.4.1 needs to new quickcheck-instances for testing
-  aeson = dontCheck super.aeson;
-
   # 2020-11-15: nettle tests are pre MonadFail change
   # https://github.com/stbuehler/haskell-nettle/issues/10
   nettle = dontCheck super.nettle;
@@ -1487,16 +1655,27 @@ self: super: {
   # https://github.com/obsidiansystems/dependent-sum/issues/55
   dependent-sum = doJailbreak super.dependent-sum;
 
-  # 2020-11-18: https://github.com/srid/rib/issues/169
-  # aeson bound out of sync
-  rib-core = doJailbreak super.rib-core;
+  # 2022-03-16 upstream is not updating bounds: https://github.com/srid/rib/issues/169
+  rib-core = doJailbreak (super.rib-core.override { relude = doJailbreak super.relude_0_7_0_0; });
+  neuron = assert super.neuron.version == "1.0.0.0"; overrideCabal {
+    # neuron is soon to be deprecated
+    # Fixing another ghc 9.0 bug here
+    postPatch = ''
+      sed -i 's/asks routeConfigRouteLink/asks (\\x -> routeConfigRouteLink x)/' src/lib/Neuron/Web/Route.hs
+    '';
+  }
+  (doJailbreak (super.neuron.override {
+    clay = dontCheck self.clay_0_13_3;
+    relude = doJailbreak self.relude_0_7_0_0;
+  }));
 
-  # 2020-11-18: https://github.com/srid/neuron/issues/474
-  # base upper bound is incompatible with ghc 8.10
-  neuron = doJailbreak super.neuron;
+  reflex-dom-pandoc = super.reflex-dom-pandoc.override { clay = dontCheck self.clay_0_13_3; };
 
-  # 2020-04-16: https://github.com/reflex-frp/reflex/issues/449
-  reflex = dontCheck (doJailbreak super.reflex);
+  # 2022-03-16: Pull request for ghc 9 compat: https://github.com/reflex-frp/reflex/pull/467
+  reflex = appendPatch (fetchpatch {
+    url = "https://github.com/reflex-frp/reflex/compare/823afd9424234cbe0134051f09a6710e54509cec...469b4ab4a755cad76b8d4d6c9ad482d02686b4ae.patch";
+    sha256 = "sha256-EwW7QBXHGlcJkKiLDmsXCZPwQz24+mg2Vuiu0Vb/T6w=";
+  }) (dontCheck super.reflex);
 
   # 2020-11-19: jailbreaking because of pretty-simple bound out of date
   # https://github.com/kowainik/stan/issues/408
@@ -1506,9 +1685,10 @@ self: super: {
   # Due to tests restricting base in 0.8.0.0 release
   http-media = doJailbreak super.http-media;
 
-  hinit = generateOptparseApplicativeCompletion "hi" (super.hinit.override { haskeline = self.haskeline_0_8_2; });
+  # 2022-03-19: strict upper bounds https://github.com/poscat0x04/hinit/issues/2
+  hinit = doJailbreak (generateOptparseApplicativeCompletion "hi" (super.hinit.override { haskeline = self.haskeline_0_8_2; }));
 
-  # 2020-11-19: Jailbreaking until: https://github.com/snapframework/snap/pull/219
+  # 2022-03-19: Keeping jailbreak because of tons of strict bounds: https://github.com/snapframework/snap/issues/220
   snap = doJailbreak super.snap;
 
   # 2020-11-23: Jailbreaking until: https://github.com/michaelt/text-pipes/pull/29
@@ -1524,9 +1704,16 @@ self: super: {
   # Upstream issue: https://github.com/haskell-servant/servant-swagger/issues/129
   servant-swagger = dontCheck super.servant-swagger;
 
+  # waiting for aeson bump
+  servant-swagger-ui-core = doJailbreak super.servant-swagger-ui-core;
+
   hercules-ci-agent = generateOptparseApplicativeCompletion "hercules-ci-agent" super.hercules-ci-agent;
 
-  hercules-ci-cli = pkgs.lib.pipe super.hercules-ci-cli [
+  # Test suite doesn't compile with aeson 2.0
+  # https://github.com/hercules-ci/hercules-ci-agent/pull/387
+  hercules-ci-api-agent = dontCheck super.hercules-ci-api-agent;
+
+  hercules-ci-cli = lib.pipe super.hercules-ci-cli [
     unmarkBroken
     (overrideCabal (drv: { hydraPlatforms = super.hercules-ci-cli.meta.platforms; }))
     # See hercules-ci-optparse-applicative in non-hackage-packages.nix.
@@ -1534,6 +1721,43 @@ self: super: {
     (generateOptparseApplicativeCompletion "hci")
   ];
 
+  pipes-aeson = appendPatches [
+    # Dependency of the aeson-2 patch
+    (fetchpatch {
+      name = "pipes-aeson-add-loop.patch";
+      url = "https://github.com/k0001/pipes-aeson/commit/d22133b4a678edbb52bcaec5079dc88ccc0de1d3.patch";
+      sha256 = "sha256-5o5ys1P1+QB4rjLCYok5AcPRWCtRiecP/TqCFm8ulVY=";
+      includes = ["src/Pipes/Aeson.hs" "src/Pipes/Aeson/Internal.hs" "src/Pipes/Aeson/Unchecked.hs"];
+    })
+    # https://github.com/k0001/pipes-aeson/pull/20
+    (fetchpatch {
+      name = "pipes-aeson-aeson-2.patch";
+      url = "https://github.com/hercules-ci/pipes-aeson/commit/ac735c9cd459c6ef51ba82325d1c55eb67cb7b2c.patch";
+      sha256 = "sha256-viWZ6D5t79x50RXiOjP6UeQ809opgNFYZOP+h+1KJh0=";
+      includes = ["src/Pipes/Aeson.hs" "src/Pipes/Aeson/Internal.hs" "src/Pipes/Aeson/Unchecked.hs"];
+    })
+  ] super.pipes-aeson;
+
+  moto-postgresql = appendPatches [
+    # https://gitlab.com/k0001/moto/-/merge_requests/3
+    (fetchpatch {
+      name = "moto-postgresql-monadfail.patch";
+      url = "https://gitlab.com/k0001/moto/-/commit/09cc1c11d703c25f6e81325be6482dc7ec6cbf58.patch";
+      relative = "moto-postgresql";
+      sha256 = "sha256-f2JVX9VveShCeV+T41RQgacpUoh1izfyHlE6VlErkZM=";
+    })
+  ] (unmarkBroken super.moto-postgresql);
+
+  moto = appendPatches [
+    # https://gitlab.com/k0001/moto/-/merge_requests/3
+    (fetchpatch {
+      name = "moto-ghc-9.0.patch";
+      url = "https://gitlab.com/k0001/moto/-/commit/5b6f015a1271765005f03762f1f1aaed3a3198ed.patch";
+      relative = "moto";
+      sha256 = "sha256-RMa9tk+2ip3Ks73UFv9Ea9GEnElRtzIjdpld1Fx+dno=";
+    })
+  ] super.moto;
+
   # Readline uses Distribution.Simple from Cabal 2, in a way that is not
   # compatible with Cabal 3. No upstream repository found so far
   readline = appendPatch ./patches/readline-fix-for-cabal-3.patch super.readline;
@@ -1549,6 +1773,21 @@ self: super: {
   # https://github.com/yesodweb/yesod/issues/1714
   yesod-core = dontCheck super.yesod-core;
 
+  # DerivingVia is not allowed in safe Haskell
+  # https://github.com/strake/util.hs/issues/1
+  util = appendConfigureFlags [
+    "--ghc-option=-fno-safe-haskell"
+    "--haddock-option=--optghc=-fno-safe-haskell"
+  ] super.util;
+  category = appendConfigureFlags [
+    "--ghc-option=-fno-safe-haskell"
+    "--haddock-option=--optghc=-fno-safe-haskell"
+  ] super.category;
+  alg = appendConfigureFlags [
+    "--ghc-option=-fno-safe-haskell"
+    "--haddock-option=--optghc=-fno-safe-haskell"
+  ] super.alg;
+
   # Break out of overspecified constraint on QuickCheck.
   algebraic-graphs = dontCheck super.algebraic-graphs;
   attoparsec = doJailbreak super.attoparsec;      # https://github.com/haskell/attoparsec/pull/168
@@ -1584,37 +1823,10 @@ self: super: {
   # Allow building with older versions of http-client.
   http-client-restricted = doJailbreak super.http-client-restricted;
 
-  # 2020-02-11: https://github.com/ekmett/lens/issues/969
-  # A change in vector 0.2.12 broke the lens doctests.
-  # This is fixed on lens master. Remove this override on assert fail.
-  lens = assert super.lens.version == "4.19.2"; doJailbreak (dontCheck super.lens);
-
   # Test suite fails, upstream not reachable for simple fix (not responsive on github)
   vivid-osc = dontCheck super.vivid-osc;
   vivid-supercollider = dontCheck super.vivid-supercollider;
 
-  # Dependency to regex-tdfa-text can be removed for later regex-tdfa versions.
-  # Fix protolude compilation error by applying patch from pull-request.
-  # Override can be removed for the next release > 0.8.0.
-  yarn2nix = overrideCabal (attrs: {
-    jailbreak = true;
-    # remove dependency on regex-tdfa-text
-    # which has been merged into regex-tdfa
-    postPatch = ''
-      sed -i '/regex-tdfa-text/d' yarn2nix.cabal
-    '';
-    patches = (attrs.patches or []) ++ [
-      # fix a compilation error related to protolude 0.3
-      (pkgs.fetchpatch {
-        url = "https://github.com/Profpatsch/yarn2nix/commit/ca78cf06226819b2e78cb6cdbc157d27afb41532.patch";
-        sha256 = "1vkczwzhxilnp87apyb18nycn834y5nbw4yr1kpwlwhrhalvzw61";
-        includes = [ "*/ResolveLockfile.hs" ];
-      })
-    ];
-  }) (super.yarn2nix.override {
-    regex-tdfa-text = null;
-  });
-
   # cabal-install switched to build type simple in 3.2.0.0
   # as a result, the cabal(1) man page is no longer installed
   # automatically. Instead we need to use the `cabal man`
@@ -1632,10 +1844,10 @@ self: super: {
 
   # while waiting for a new release: https://github.com/brendanhay/amazonka/pull/572
   amazonka = appendPatches [
-    (pkgs.fetchpatch {
-      stripLen = 1;
+    (fetchpatch {
+      relative = "amazonka";
       url = "https://github.com/brendanhay/amazonka/commit/43ddd87b1ebd6af755b166e16336259ec025b337.patch";
-      sha256 = "1x9l5xgvrh908di6whpavyp08cys11v3yn6rc21zw87xiyigdbi3";
+      sha256 = "sha256-9Ed3qrLGRaNCdvqWMyg8ydAnqDkFqWKLLoObv/5jG54=";
     })
   ] (doJailbreak super.amazonka);
 
@@ -1660,7 +1872,7 @@ self: super: {
   # * Disable test suite which doesn't compile
   #   https://github.com/creswick/chatter/issues/38
   chatter = appendPatch
-    (pkgs.fetchpatch {
+    (fetchpatch {
       url = "https://github.com/creswick/chatter/commit/e8c15a848130d7d27b8eb5e73e8a0db1366b2e62.patch";
       sha256 = "1dzak8d12h54vss5fxnrclygz0fz9ygbqvxd5aifz5n3vrwwpj3g";
     })
@@ -1701,11 +1913,11 @@ self: super: {
   # Too strict verion bounds on cryptonite and github.
   # PRs are merged, will be fixed next release or Hackage revision.
   nix-thunk = appendPatches [
-    (pkgs.fetchpatch {
+    (fetchpatch {
       url = "https://github.com/obsidiansystems/nix-thunk/commit/49d27a85dd39cd9413c99958c67e596756a502b5.patch";
       sha256 = "1p1n0123yrbdqyfk4kx3gq6bdv65l1bxgbsg51ckcwclg54xp2p5";
     })
-    (pkgs.fetchpatch {
+    (fetchpatch {
       url = "https://github.com/obsidiansystems/nix-thunk/commit/512867c651977265d5d8f456b538f7a364ec8a8b.patch";
       sha256 = "121yg26y4g28k8xv7y1j6c3pxm17vsjn3vi62kkc8g928c47yd02";
     })
@@ -1732,7 +1944,7 @@ self: super: {
   # Apply patch from master relaxing the version bounds on tasty.
   # Can be removed at next release (current is 0.10.1.0).
   ginger = appendPatch
-    (pkgs.fetchpatch {
+    (fetchpatch {
       url = "https://github.com/tdammers/ginger/commit/bd8cb39c1853d4fb4f663c4c201884575906acea.patch";
       sha256 = "1rdy53k0384g52bnc59j1f0i13hr4lbnbksfsabr4av6zmw9wmzf";
     }) super.ginger;
@@ -1764,24 +1976,28 @@ self: super: {
   # May be possible to remove at the next release (1.11.0)
   taskell = doJailbreak super.taskell;
 
-  # ghc-bignum is not buildable if none of the three backends
-  # is explicitly enabled. We enable Native for now as it doesn't
-  # depend on anything else as oppossed to GMP and FFI.
-  # Apply patch which fixes a compilation failure we encountered.
-  # Can be removed if the following issue is resolved / the patch
-  # is merged and released:
-  # * https://gitlab.haskell.org/ghc/ghc/-/issues/19638
-  # * https://gitlab.haskell.org/ghc/ghc/-/merge_requests/5454
-  ghc-bignum = overrideCabal (old: {
-    configureFlags = (old.configureFlags or []) ++ [ "-f" "Native" ];
-    patches = (old.patches or []) ++ [
-      (pkgs.fetchpatch {
+  # Polyfill for GHCs from the integer-simple days that don't bundle ghc-bignum
+  ghc-bignum = super.ghc-bignum or self.mkDerivation {
+    pname = "ghc-bignum";
+    version = "1.0";
+    sha256 = "0xl848q8z6qx2bi6xil0d35lra7wshwvysyfblki659d7272b1im";
+    description = "GHC BigNum library";
+    license = lib.licenses.bsd3;
+    # ghc-bignum is not buildable if none of the three backends
+    # is explicitly enabled. We enable Native for now as it doesn't
+    # depend on anything else as oppossed to GMP and FFI.
+    # Apply patch which fixes a compilation failure we encountered.
+    # Will need to be kept until we can drop ghc-bignum entirely,
+    # i. e. if GHC 8.10.* and 8.8.* have been removed.
+    configureFlags = [ "-f" "Native" ];
+    patches = [
+      (fetchpatch {
         url = "https://gitlab.haskell.org/ghc/ghc/-/commit/08d1588bf38d83140a86817a7a615db486357d4f.patch";
-        sha256 = "1qx4r031y72px291vz38bng9sb23r8zb35s03v5hhawlmgzfzcb5";
-        stripLen = 2;
+        sha256 = "sha256-Y9WW0KDQ/qY2L9ObPvh1i/6lxXIlprbxzdSBDfiaMtE=";
+        relative = "libraries/ghc-bignum";
       })
     ];
-  }) super.ghc-bignum;
+  };
 
   # 2021-04-09: outdated base and alex-tools
   # PR pending https://github.com/glguy/language-lua/pull/6
@@ -1795,13 +2011,6 @@ self: super: {
   # https://github.com/hasufell/lzma-static/issues/1
   lzma-static = doJailbreak super.lzma-static;
 
-  # Fix haddock errors: https://github.com/koalaman/shellcheck/issues/2216
-  ShellCheck = appendPatch (pkgs.fetchpatch {
-    url = "https://github.com/koalaman/shellcheck/commit/9e60b3ea841bcaf48780bfcfc2e44aa6563a62de.patch";
-    sha256 = "1vmg8mmmnph34x7y0mhkcd5nzky8f1rh10pird750xbkp9zlk099";
-    excludes = ["test/buildtest"];
-  }) super.ShellCheck;
-
   # Too strict version bounds on base:
   # https://github.com/obsidiansystems/database-id/issues/1
   database-id-class = doJailbreak super.database-id-class;
@@ -1817,21 +2026,38 @@ self: super: {
 
   # Fixes too strict version bounds on regex libraries
   # Presumably to be removed at the next release
-  yi-language = appendPatch (pkgs.fetchpatch {
+  # Test suite doesn't support hspec 2.8
+  # https://github.com/yi-editor/yi/issues/1124
+  yi-language = appendPatch (fetchpatch {
     url = "https://github.com/yi-editor/yi/commit/0d3bcb5ba4c237d57ce33a3dc39b63c56d890765.patch";
-    sha256 = "0r4mzngs0x1akqpajzx7ssa9rax977fvj5ra8d3grfbpx6z0nm01";
-    includes = [ "yi-language.cabal" ];
-    stripLen = 2;
-    extraPrefix = "";
-  }) super.yi-language;
+    relative = "yi-language";
+    sha256 = "sha256-AVQLvul3ufxGQyoXud05qauclNanf6kunip0oJ/9lWQ=";
+  }) (dontCheck super.yi-language);
 
-  # https://github.com/ghcjs/jsaddle/issues/123
+  # 2022-03-16: Upstream is not bumping bounds https://github.com/ghcjs/jsaddle/issues/123
   jsaddle = overrideCabal (drv: {
     # lift conditional version constraint on ref-tf
     postPatch = ''
       sed -i 's/ref-tf.*,/ref-tf,/' jsaddle.cabal
+      sed -i 's/attoparsec.*,/attoparsec,/' jsaddle.cabal
+      sed -i 's/(!name)/(! name)/' src/Language/Javascript/JSaddle/Object.hs
     '' + (drv.postPatch or "");
-  }) super.jsaddle;
+  }) (doJailbreak super.jsaddle);
+
+  # 2022-03-22: PR for haskell-gi-base compat https://github.com/ghcjs/jsaddle/pull/129
+  jsaddle-webkit2gtk =
+    appendPatch (
+      fetchpatch {
+        name = "haskell-gi-base-0.26-compat-patch";
+        url = "https://github.com/ghcjs/jsaddle/commit/c9a9ad39addea469f7e3f5bc6b1c778fefaab5d8.patch";
+        sha256 = "sha256-4njoOxtJH2jVqiPmW8f9hGUqpzI3yJ1XP4u85QgmvjU=";
+        relative = "jsaddle-webkit2gtk";
+      }
+    )
+    super.jsaddle-webkit2gtk;
+
+  # 2022-03-22: Jailbreak for base bound: https://github.com/reflex-frp/reflex-dom/pull/433
+  reflex-dom = assert super.reflex-dom.version == "0.6.1.1"; doJailbreak super.reflex-dom;
 
   # Tests need to lookup target triple x86_64-unknown-linux
   # https://github.com/llvm-hs/llvm-hs/issues/334
@@ -1839,10 +2065,22 @@ self: super: {
     doCheck = pkgs.stdenv.targetPlatform.system == "x86_64-linux";
   } super.llvm-hs;
 
+  # Fix build with bytestring >= 0.11 (GHC 9.2)
+  # https://github.com/llvm-hs/llvm-hs/pull/389
+  llvm-hs-pure = appendPatches [
+    (fetchpatch {
+      name = "llvm-hs-pure-bytestring-0.11.patch";
+      url = "https://github.com/llvm-hs/llvm-hs/commit/fe8fd556e8d2cc028f61d4d7b4b6bf18c456d090.patch";
+      sha256 = "sha256-1d4wQg6JEJL3GwmXQpvbW7VOY5DwjUPmIsLEEur0Kps=";
+      relative = "llvm-hs-pure";
+      excludes = [ "**/Triple.hs" ]; # doesn't exist in 9.0.0
+    })
+  ] super.llvm-hs-pure;
+
   # * Fix build failure by picking patch from 8.5, we need
   #   this version of sbv for petrinizer
   # * Pin version of crackNum that still exposes its library
-  sbv_7_13 = appendPatch (pkgs.fetchpatch {
+  sbv_7_13 = appendPatch (fetchpatch {
       url = "https://github.com/LeventErkok/sbv/commit/57014b9c7c67dd9b63619a996e2c66e32c33c958.patch";
       sha256 = "10npa8nh2413n6p6qld795qfkbld08icm02bspmk93y0kabpgmgm";
     })
@@ -1863,13 +2101,10 @@ self: super: {
   gi-gtk-declarative = doJailbreak super.gi-gtk-declarative;
   gi-gtk-declarative-app-simple = doJailbreak super.gi-gtk-declarative-app-simple;
 
-  # 2021-05-09: Restrictive bound on hspec-golden. Dep removed in newer versions.
-  tomland = assert super.tomland.version == "1.3.2.0"; doJailbreak super.tomland;
-
-  # 2022-01-16 haskell-ci needs Cabal 3.6,
+  # 2022-01-16 haskell-ci needs Cabal 3.6, ShellCheck 0.7.2
   haskell-ci = super.haskell-ci.overrideScope (self: super: {
-    attoparsec = self.attoparsec_0_14_4;
-    Cabal = self.Cabal_3_6_2_0;
+    Cabal = self.Cabal_3_6_3_0;
+    ShellCheck = self.ShellCheck_0_7_2;
   });
 
   # Build haskell-ci from git repository
@@ -1883,36 +2118,37 @@ self: super: {
     };
   } self.haskell-ci;
 
-  Frames-streamly = super.Frames-streamly.override {
-    relude = super.relude_1_0_0_1;
-  };
-
-  # 2021-05-09: compilation requires patches from master,
-  # remove at next release (current is 0.1.0.4).
-  large-hashable = overrideCabal (drv: {
-    # fix line endings which are an issue all of a sudden for an unknown reason
-    prePatch = ''
-      find . -type f -print0 | xargs -0 ${pkgs.buildPackages.dos2unix}/bin/dos2unix
-    '' + (drv.prePatch or "");
-    # allow newer template haskell
-    jailbreak = true;
-    patches = [
-      # Fix compilation of TH code for GHC >= 8.8
-      (pkgs.fetchpatch {
-        url = "https://github.com/factisresearch/large-hashable/commit/ee7afe4bd181cf15a324c7f4823f7a348e4a0e6b.patch";
-        sha256 = "1ha77v0bc6prxacxhpdfgcsgw8348gvhl9y81smigifgjbinphxv";
-        excludes = [
-          ".travis.yml"
-          "stack**"
-        ];
-      })
-      # Fix cpp invocation
-      (pkgs.fetchpatch {
-        url = "https://github.com/factisresearch/large-hashable/commit/7b7c2ed6ac6e096478e8ee00160fa9d220df853a.patch";
-        sha256 = "1sf9h3k8jbbgfshzrclaawlwx7k2frb09z2a64f93jhvk6ci6vgx";
+  large-hashable = lib.pipe super.large-hashable [
+    # 2022-03-21: use version from git which includes support for GHC 9.0.1
+    (assert super.large-hashable.version == "0.1.0.4"; overrideSrc {
+      version = "unstable-2021-11-01";
+      src = pkgs.fetchFromGitHub {
+        owner = "factisresearch";
+        repo = "large-hashable";
+        rev = "b4e6b3d23c2b1af965ffcc055f5405ff673e66cf";
+        sha256 = "1bgf37qfzdyjhpgnj9aipwzpa06nc7b1g4f64xsmknyds7ffhixz";
+      };
+    })
+    # Provide newly added dependencies
+    (overrideCabal (drv: {
+      libraryHaskellDepends = drv.libraryHaskellDepends or [] ++ [
+        self.cryptonite
+        self.memory
+      ];
+      testHaskellDepends = drv.testHaskellDepends or [] ++ [
+        self.inspection-testing
+      ];
+    }))
+    # 2022-03-21: patch for aeson 2.0
+    # https://github.com/factisresearch/large-hashable/pull/22
+    (appendPatches [
+      (fetchpatch {
+        name = "large-hashable-aeson-2.0.patch";
+        url = "https://github.com/factisresearch/large-hashable/commit/7094ef0ba55b4848cb57bae73d119acfb496a4c9.patch";
+        sha256 = "0ckiii0s697h817z65jwlmjzqw2ckpm815wqcnxjigf6v9kxps8j";
       })
-    ];
-  }) super.large-hashable;
+    ])
+  ];
 
   # BSON defaults to requiring network instead of network-bsd which is
   # required nowadays: https://github.com/mongodb-haskell/bson/issues/26
@@ -1924,21 +2160,6 @@ self: super: {
   # https://github.com/kcsongor/generic-lens/issues/133
   generic-optics = dontCheck super.generic-optics;
 
-  # 2021-05-19: Allow random 1.2.0
-  # Remove at (presumably next release) which is > 1.3.1.0
-  hashable = overrideCabal (drv: {
-    patches = [
-      (pkgs.fetchpatch {
-        url = "https://github.com/haskell-unordered-containers/hashable/commit/78fa8fdb4f8bec5d221f34110d6afa0d0a00b5f9.patch";
-        sha256 = "0bzgp9qf53zk4rzk73x5cf2kfqncvlmihcallpplaibpslzalyi4";
-      })
-    ] ++ (drv.patches or []);
-    # fix line endings preventing patch from applying
-    prePatch = ''
-      ${pkgs.buildPackages.dos2unix}/bin/dos2unix hashable.cabal
-    '' + (drv.prePatch or "");
-  }) super.hashable;
-
   # Too strict bound on random
   # https://github.com/haskell-hvr/missingh/issues/56
   MissingH = doJailbreak super.MissingH;
@@ -1969,7 +2190,17 @@ self: super: {
   # https://github.com/ConferOpenSource/composite/issues/50
   # Remove overrides when assert fails.
   composite-base = assert super.composite-base.version == "0.7.5.0";
-    doJailbreak super.composite-base;
+    overrideCabal (drv: {
+      patches = drv.patches or [] ++ [
+        (fetchpatch {
+          name = "composite-base-template-haskell-2.17.patch";
+          url = "https://github.com/ConferOpenSource/composite/commit/4ca7562d46a0cdfae3afacf194134db768450a02.patch";
+          sha256 = "sha256-FG2t1BYfV09VENJDlh1PD88sXAGqaujhpss5DWFcbeE=";
+          relative = "composite-base";
+        })
+      ];
+      jailbreak = true;
+    }) super.composite-base;
   composite-aeson = assert super.composite-aeson.version == "0.7.5.0";
     doJailbreak super.composite-aeson;
 
@@ -1977,74 +2208,54 @@ self: super: {
   # https://github.com/Porges/email-validate-hs/issues/58
   email-validate = doJailbreak super.email-validate;
 
-  # 2021-10-02: Make optics 0.4 packages work together
-  optics-th_0_4 = super.optics-th_0_4.override {
-    optics-core = self.optics-core_0_4;
-  };
-  optics-extra_0_4 = super.optics-extra_0_4.override {
-    optics-core = self.optics-core_0_4;
-  };
-  optics_0_4 = super.optics_0_4.override {
-    optics-core = self.optics-core_0_4;
-    optics-extra = self.optics-extra_0_4;
-    optics-th = self.optics-th_0_4;
-  };
-
   # https://github.com/plow-technologies/hspec-golden-aeson/issues/17
-  hspec-golden-aeson_0_9_0_0 = dontCheck super.hspec-golden-aeson_0_9_0_0;
+  hspec-golden-aeson = dontCheck super.hspec-golden-aeson;
 
-  # 2021-10-02: Doesn't compile with optics < 0.4
-  # 2021-11-05: streamly-0.8.0 is required for libyaml-streamly and
-  #             yaml-streamly, as these aren't leaf packages it's not really
-  #             appropriate to override them themselves (although ghcup is
-  #             currently the only consumer)
   # 2021-11-05: jailBreak the too tight upper bound on haskus-utils-variant
   ghcup = doJailbreak (super.ghcup.overrideScope (self: super: {
-    hspec-golden-aeson = self.hspec-golden-aeson_0_9_0_0;
-    optics = self.optics_0_4;
-    streamly = doJailbreak self.streamly_0_8_1_1;
-    Cabal = self.Cabal_3_6_2_0;
-    libyaml-streamly = markUnbroken super.libyaml-streamly;
+    Cabal = self.Cabal_3_6_3_0;
   }));
 
-  # Break out of "Cabal < 3.2" constraint.
-  stylish-haskell = doJailbreak super.stylish-haskell;
+  # 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_2_20220307;
+    ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_3;
+  });
+
+  ghc-lib-parser-ex_9_2_0_3 = super.ghc-lib-parser-ex_9_2_0_3.override {
+    ghc-lib-parser = super.ghc-lib-parser_9_2_2_20220307;
+  };
 
   # To strict bound on hspec
   # https://github.com/dagit/zenc/issues/5
   zenc = doJailbreak super.zenc;
 
-  # Indeterministic tests
-  # Fixed on upstream: https://github.com/softwarefactory-project/matrix-client-haskell/commit/4ca4963cfd06379d9bdce49742af854aed6a0d37
-  matrix-client = dontCheck super.matrix-client;
-
   # Release 1.0.0.0 added version bounds (was unrestricted before),
   # but with too strict lower bounds for our lts-18.
-  graphql = assert pkgs.lib.versionOlder self.parser-combinators.version "1.3.0";
-    assert pkgs.lib.versionOlder self.hspec.version "2.8.2";
-    doJailbreak super.graphql;
+  # Disable aeson for now, future release should support it
+  graphql =
+    assert super.graphql.version == "1.0.3.0";
+    appendConfigureFlags [
+      "-f-json"
+    ] (lib.warnIf (lib.versionAtLeast self.hspec.version "2.9.0") "@NixOS/haskell: Remove jailbreak for graphql" doJailbreak super.graphql);
 
   # https://github.com/ajscholl/basic-cpuid/pull/1
-  basic-cpuid = appendPatch (pkgs.fetchpatch {
+  basic-cpuid = appendPatch (fetchpatch {
     url = "https://github.com/ajscholl/basic-cpuid/commit/2f2bd7a7b53103fb0cf26883f094db9d7659887c.patch";
     sha256 = "0l15ccfdys100jf50s9rr4p0d0ikn53bkh7a9qlk9i0y0z5jc6x1";
   }) super.basic-cpuid;
 
   # Needs Cabal >= 3.4
   chs-cabal = super.chs-cabal.override {
-    Cabal = self.Cabal_3_6_2_0;
+    Cabal = self.Cabal_3_6_3_0;
   };
 
   # 2021-08-18: streamly-posix was released with hspec 2.8.2, but it works with older versions too.
   streamly-posix = doJailbreak super.streamly-posix;
 
-  # 2021-09-13: hls 1.6 needs a newer lsp than stackage-lts. (lsp >= 1.2.0.1)
-  # (hls is nearly the only consumer, but consists of 18 packages, so we bump lsp globally.)
-  lsp = doDistribute self.lsp_1_4_0_0;
-  lsp-types = doDistribute self.lsp-types_1_4_0_1;
   # Not running the "example" test because it requires a binary from lsps test
   # suite which is not part of the output of lsp.
-  lsp-test = doDistribute (overrideCabal (old: { testTarget = "tests func-test"; }) self.lsp-test_0_14_0_2);
+  lsp-test = overrideCabal (old: { testTarget = "tests func-test"; }) super.lsp-test;
 
   # 2021-09-14: Tests are flaky.
   hls-splice-plugin = dontCheck super.hls-splice-plugin;
@@ -2052,22 +2263,15 @@ self: super: {
   # 2021-09-18: https://github.com/haskell/haskell-language-server/issues/2205
   hls-stylish-haskell-plugin = doJailbreak super.hls-stylish-haskell-plugin;
 
-  # 2021-09-29: unnecessary lower bound on generic-lens
-  hw-ip = assert pkgs.lib.versionOlder self.generic-lens.version "2.2.0.0";
-    doJailbreak super.hw-ip;
-  hw-eliasfano = assert pkgs.lib.versionOlder self.generic-lens.version "2.2.0.0";
-    doJailbreak super.hw-eliasfano;
-  hw-xml = assert pkgs.lib.versionOlder self.generic-lens.version "2.2.0.0";
-    doJailbreak super.hw-xml;
-
-  # Needs network >= 3.1.2
-  quic = super.quic.overrideScope (self: super: {
-    network = self.network_3_1_2_7;
-  });
-
-  http3 = super.http3.overrideScope (self: super: {
-    network = self.network_3_1_2_7;
-  });
+  # Too strict bounds on hspec
+  # https://github.com/haskell-works/hw-hspec-hedgehog/issues/62
+  # https://github.com/haskell-works/hw-prim/issues/132
+  # https://github.com/haskell-works/hw-ip/issues/107
+  # https://github.com/haskell-works/bits-extra/issues/57
+  hw-hspec-hedgehog = doJailbreak super.hw-hspec-hedgehog;
+  hw-prim = doJailbreak super.hw-prim;
+  hw-ip = doJailbreak super.hw-ip;
+  bits-extra = doJailbreak super.bits-extra;
 
   # Fixes https://github.com/NixOS/nixpkgs/issues/140613
   # https://github.com/recursion-schemes/recursion-schemes/issues/128
@@ -2078,50 +2282,17 @@ self: super: {
   # file revision on hackage was gifted CRLF line endings
   gogol-core = appendPatch ./patches/gogol-core-144.patch super.gogol-core;
 
-  # Jailbreak isn't sufficient, but this is ok as it's a leaf package.
-  hadolint = overrideCabal (drv: {
-    # Test suite depends on ordering of unordered-containers returned values
-    # which was upgraded in LTS 18.19
-    # https://github.com/hadolint/hadolint/issues/753
-    testFlags = [
-      "--skip" "/Hadolint.Formatter.Sarif/Formatter: Sarif/print empty results/"
-    ] ++ drv.testFlags or [];
-  }) (super.hadolint.overrideScope (self: super: {
-    language-docker = self.language-docker_10_4_0;
-    hspec = dontCheck self.hspec_2_9_4;
-    hspec-core = dontCheck self.hspec-core_2_9_4;
-    hspec-discover = dontCheck self.hspec-discover_2_9_4;
-    colourista = doJailbreak super.colourista;
-  }));
-
-  # These should be updated in lockstep
-  hledger_1_24_1 = super.hledger_1_24_1.override {
-    hledger-lib = self.hledger-lib_1_24_1;
-  };
-
-  # Needs brick > 0.64
-  nix-tree = super.nix-tree.override {
-    brick = self.brick_0_67;
-  };
+  # Too strict bound on deepseq
+  # https://github.com/hadolint/hadolint/issues/800
+  hadolint = doJailbreak super.hadolint;
 
-  # build newer version for `pkgs.shellcheck`
-  ShellCheck_0_8_0 = doDistribute super.ShellCheck_0_8_0;
+  nix-tree = super.nix-tree;
 
   # test suite requires stack to run, https://github.com/dino-/photoname/issues/24
   photoname = dontCheck super.photoname;
 
   # Upgrade of unordered-containers in Stackage causes ordering-sensitive test to fail
-  # https://github.com/chrisdone/lucid/issues/123
   # https://github.com/commercialhaskell/stackage/issues/6366
-  lucid = assert super.lucid.version == "2.9.12.1"; overrideCabal (drv: {
-    testFlags = [
-      "--skip" "/attributes-with/mixed/"
-    ] ++ drv.testFlags or [];
-  }) super.lucid;
-  # Basically the entire doctest suite of swagger2 fails for the same reason
-  swagger2 = assert super.swagger2.version == "2.6"; overrideCabal (drv: {
-    testTarget = "spec";
-  }) super.swagger2;
   # https://github.com/kapralVV/Unique/issues/9
   Unique = assert super.Unique.version == "0.4.7.9"; overrideCabal (drv: {
     testFlags = [
@@ -2144,17 +2315,23 @@ self: super: {
   }) super.katip;
   # 2020-11-19: Jailbreaking until: https://github.com/snapframework/heist/pull/124
   # 2021-12-22: https://github.com/snapframework/heist/issues/131
-  heist = assert super.heist.version == "1.1.0.1"; overrideCabal (drv: {
-    testFlags = [
-      "-t" "!*/compiled/ns*"
-    ] ++ drv.testFlags or [];
-  }) (doJailbreak super.heist);
-  # https://github.com/hercules-ci/hercules-ci-agent/issues/352
-  hercules-ci-api-agent = assert super.hercules-ci-api-agent.version == "0.4.1.0"; overrideCabal (drv: {
-    testFlags = [
-      "--skip" "/hercules-ci-api/Hercules.API.Agent.Evaluate.EvaluateEvent.DerivationInfo/DerivationInfo/ToJSON/encodes v2 correctly/"
-    ] ++ drv.testFlags or [];
-  }) (doJailbreak super.hercules-ci-api-agent);
+
+
+  heist = assert super.heist.version == "1.1.0.1";
+    # aeson 2.0 compat https://github.com/snapframework/heist/pull/132
+    # not merged in master yet
+    appendPatch (fetchpatch {
+      url = "https://github.com/snapframework/heist/compare/de802b0ed5055bd45cfed733524b4086c7e71660...d76adf749d14d7401963d36a22597584c52fc55f.patch";
+      sha256 = "sha256-GEIPGYYJO6S4t710AQe1uk3EvBu4UpablrlMDZLBSTk=";
+      includes = [ "src/*" "heist.cabal"];
+    })
+    (overrideCabal (drv: {
+      revision = null;
+      editedCabalFile = null;
+      doCheck = false;
+    })
+    (doJailbreak super.heist));
+
   # https://github.com/emc2/HUnit-Plus/issues/26
   HUnit-Plus = dontCheck super.HUnit-Plus;
   # https://github.com/ewestern/haskell-postgis/issues/7
@@ -2213,14 +2390,32 @@ self: super: {
     ] ++ drv.testFlags or [];
   }) super.minio-hs;
 
-  # golden files expect an old version of hpack, so tests fail intermittently
-  # TODO: maybe disable golden test suite altogether? this will happen again as
-  #       hpack emits its version into the generated files…
-  hpack-dhall = assert super.hpack-dhall.version == "0.5.3"; dontCheck super.hpack-dhall;
-
   # Invalid CPP in test suite: https://github.com/cdornan/memory-cd/issues/1
   memory-cd = dontCheck super.memory-cd;
 
+  protolude = appendPatches [
+    # Intermediate Patch, so the next one applies
+    (fetchpatch {
+      name = "integer-gmp-only-symbols.patch";
+      url = "https://github.com/protolude/protolude/commit/84d228a3b5a2adfe5c8aec23176a0301012e54eb.patch";
+      sha256 = "0mk0gxcg8vp73wlz764y24gqmxdrhanp12dfam9xsb6cm34jkjdc";
+    })
+    # Compat with GHC 9.0 (not merged yet)
+    (fetchpatch {
+      name = "protolude-ghc-9.0.patch";
+      url = "https://github.com/protolude/protolude/pull/131/commits/1ca4b4564b4d868022d5bab5330e2c7d9cae11a0.patch";
+      sha256 = "0jrm6715kc8v7v4isi79b3w1i51rs332bkak25ik6zv3i5lgcg68";
+      includes = [
+        "protolude.cabal"
+        "src/**"
+      ];
+    })
+  ] super.protolude;
+
+  # https://github.com/haskell/fgl/pull/99
+  fgl = doJailbreak super.fgl;
+  fgl-arbitrary = doJailbreak super.fgl-arbitrary;
+
   # raaz-0.3 onwards uses backpack and it does not play nicely with
   # parallel builds using -j
   #
@@ -2243,17 +2438,158 @@ self: super: {
   sdp4unordered = disableLibraryProfiling super.sdp4unordered;
   sdp4vector = disableLibraryProfiling super.sdp4vector;
 
+  # Unnecessarily strict bound on template-haskell
+  # https://github.com/tree-sitter/haskell-tree-sitter/issues/298
+  tree-sitter = doJailbreak super.tree-sitter;
+
   # Test suite fails to compile
   # https://github.com/kuribas/mfsolve/issues/8
   mfsolve = dontCheck super.mfsolve;
 
-  hie-bios = appendPatches [
-    # Accounts for a breaking change in GHC 9.0.2 via CPP
-    (pkgs.fetchpatch {
-      name = "hie-bios-ghc-9.0.2-compat.patch";
-      url = "https://github.com/haskell/hie-bios/commit/da0cb23384cc6e9b393792f8f25a3c174a4edafa.patch";
-      sha256 = "1qj67s93h6pxvdapw1sxy6izwp5y8vjaw67gw3lsnj8gs14fqq4h";
+  # compatibility with random-fu 0.3 https://github.com/mokus0/misfortune/pull/5
+  misfortune = appendPatch ./patches/misfortune-ghc9.patch (overrideCabal (drv: {
+    revision = null;
+    editedCabalFile = null;
+  }) super.misfortune);
+
+  # GHC 9 support https://github.com/lambdabot/dice/pull/2
+  dice = appendPatch (fetchpatch {
+    name = "dice-ghc9.patch";
+    url = "https://github.com/lambdabot/dice/commit/80d6fd443cb17b21d91b725f994ece6e8274e0a0.patch";
+    excludes = [ ".gitignore" ];
+    sha256 = "sha256-MtS1n7v5D6MRWWzzTyKl3Lqd/NhD1bV+g80wnhZ3P/Y=";
+  }) (overrideCabal (drv: {
+    revision = null;
+    editedCabalFile = null;
+  }) super.dice);
+
+  # GHC 9 support https://github.com/lambdabot/lambdabot/pull/204
+  lambdabot-core = appendPatch ./patches/lambdabot-core-ghc9.patch (overrideCabal (drv: {
+    revision = null;
+    editedCabalFile = null;
+  }) super.lambdabot-core);
+  lambdabot-novelty-plugins = appendPatch ./patches/lambdabot-novelty-plugins-ghc9.patch super.lambdabot-novelty-plugins;
+
+  # Ships a custom cabal-doctest Setup.hs in the release tarball, but the actual
+  # test suite is commented out, so the required dependency is missing naturally.
+  # We need to use a default Setup.hs instead. Current master doesn't exhibit
+  # this anymore, so this override should be fine to remove once the assert fires.
+  linear-base = assert super.linear-base.version == "0.1.0"; overrideCabal (drv: {
+    preCompileBuildDriver = drv.preCompileBuildDriver or "" + ''
+      rm Setup.hs
+    '';
+  }) super.linear-base;
+
+  # Fixes compilation with GHC 9.0 and above
+  # https://hub.darcs.net/shelarcy/regex-compat-tdfa/issue/3
+  regex-compat-tdfa = appendPatches [
+    ./patches/regex-compat-tdfa-ghc-9.0.patch
+  ] super.regex-compat-tdfa;
+
+  # https://github.com/kowainik/validation-selective/issues/64
+  validation-selective = doJailbreak super.validation-selective;
+  # https://github.com/system-f/validation/issues/57
+  validation = doJailbreak super.validation;
+
+  # aws upstream seems to lack the necessary maintenance at the moment, luckily
+  # Joey Hess seems to have already looked into building git-annex with aeson 2.0
+  # https://github.com/aristidb/aws/issues/275
+  aws = overrideCabal (drv: {
+    patches = drv.patches or [] ++ [
+      (fetchpatch {
+        name = "aws-aeson-2.0-compat.patch";
+        url = "https://github.com/aristidb/aws/pull/277/commits/7af7586c5d244d07f77d49e5fdc739e6e8e54816.patch";
+        sha256 = "1bsiyk1k671rwlyflka2whq972h72cwscrxkr9n2wzhxp70ap3g3";
+        excludes = [ "aws.cabal" ];
+      })
+    ];
+    # needs aws credentials, jailbreak for base16-bytestring
+    doCheck = false;
+    jailbreak = true;
+  }) super.aws;
+
+  # 2022-03-16: strict upper bounds https://github.com/monadfix/shower/issues/18
+  shower = doJailbreak (dontCheck super.shower);
+
+  # The shipped Setup.hs file is broken.
+  csv = overrideCabal (drv: { preCompileBuildDriver = "rm Setup.hs"; }) super.csv;
+
+  # 2022-02-25: Upstream fixes are not released. Remove this override on update.
+  cabal-fmt = assert super.cabal-fmt.version == "0.1.5.1"; lib.pipe super.cabal-fmt [
+    doJailbreak
+    (appendPatch (fetchpatch {
+      url = "https://github.com/phadej/cabal-fmt/commit/842630f70adb5397245109f77dba07662836e964.patch";
+      sha256 = "sha256-s0W/TI3wHA73MFyKKcNBJFHgFAmBDLGbLaIvWbe/Bsg=";
+    }))
+  ];
+
+  # 2022-02-25: Not compatible with relude 1.0
+  ema = assert super.ema.version == "0.6.0.0";
+    super.ema.overrideScope (self: super: { relude = doJailbreak self.relude_0_7_0_0; });
+
+  # attoparsec bump is on v2 branch, but not released yet
+  irc-core = assert super.irc-core.version == "2.10"; doJailbreak super.irc-core;
+  glirc = assert super.irc-core.version == "2.10"; doJailbreak super.glirc;
+  hookup = assert super.irc-core.version == "2.10"; doJailbreak super.hookup;
+
+  # 2022-02-25: Unmaintained and to strict upper bounds
+  paths = doJailbreak super.paths;
+
+  # Too strict bounds on hspec, fixed on main branch, but unreleased
+  colourista = assert super.colourista.version == "0.1.0.1";
+    doJailbreak super.colourista;
+
+  # 2022-02-26: https://github.com/emilypi/base64/issues/39
+  base64 = dontCheck super.base64;
+
+  # 2022-03-16: Upstream stopped updating bounds https://github.com/haskell-hvr/base-noprelude/pull/15
+  base-noprelude = doJailbreak super.base-noprelude;
+
+  # 2022-03-16: Bounds need to be loosened https://github.com/obsidiansystems/dependent-sum-aeson-orphans/issues/10
+  dependent-sum-aeson-orphans = doJailbreak super.dependent-sum-aeson-orphans;
+
+  # 2022-03-16: package qualified import issue: https://github.com/ghcjs/ghcjs-dom/issues/101
+  ghcjs-dom = assert super.ghcjs-dom.version == "0.9.5.0"; overrideCabal (old: {
+    postPatch = ''
+      sed -i 's/import "jsaddle-dom" GHCJS.DOM.Document/import "ghcjs-dom-jsaddle" GHCJS.DOM.Document/' src/GHCJS/DOM/Document.hs
+    '' + (old.postPatch or "");
     })
-  ] super.hie-bios;
+    super.ghcjs-dom;
+
+  # Too strict bounds on chell: https://github.com/fpco/haskell-filesystem/issues/24
+  system-fileio = doJailbreak super.system-fileio;
+
+  # Bounds too strict on base and ghc-prim: https://github.com/tibbe/ekg-core/pull/43 (merged); waiting on hackage release
+  ekg-core  = assert super.ekg-core.version == "0.1.1.7"; doJailbreak super.ekg-core;
+
+  elm2nix = appendPatches [
+      # unreleased, prereq for aeson-2 patch
+      (fetchpatch {
+        name = "elm2nix-pull-44.patch";
+        url = "https://patch-diff.githubusercontent.com/raw/cachix/elm2nix/pull/44.patch";
+        sha256 = "sha256-d6Ra3mIVKCA/5pEavsPi2TdN0qcRwU3gc634oWdYZq8=";
+      })
+      # https://github.com/cachix/elm2nix/issues/46#issuecomment-1056236009
+      (fetchpatch {
+        name = "elm2nix-aeson-2.patch";
+        url = "https://github.com/cachix/elm2nix/commit/1a35f07ad5d63085ffd7e5634355412e1112c4e9.patch";
+        sha256 = "sha256-HAwMvOyp2IdPyjwt+aKYogMqg5NZYlu897UqJy59eFc=";
+      })
+     ] super.elm2nix;
+
+  # https://github.com/Synthetica9/nix-linter/issues/65
+  nix-linter = super.nix-linter.overrideScope (self: super: {
+    aeson = self.aeson_1_5_6_0;
+  });
+
+  # Test suite doesn't support hspec 2.8
+  # https://github.com/zellige/hs-geojson/issues/29
+  geojson = dontCheck super.geojson;
+
+  # Doesn't support aeson >= 2.0
+  # https://github.com/channable/vaultenv/issues/118
+  vaultenv = super.vaultenv.overrideScope (self: super: {
+    aeson = self.aeson_1_5_6_0;
+  });
 
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/configuration-darwin.nix b/pkgs/development/haskell-modules/configuration-darwin.nix
index bfc6f1f35a2fa..84be174e97e8a 100644
--- a/pkgs/development/haskell-modules/configuration-darwin.nix
+++ b/pkgs/development/haskell-modules/configuration-darwin.nix
@@ -30,6 +30,8 @@ self: super: ({
 
   double-conversion = addExtraLibrary pkgs.libcxx super.double-conversion;
 
+  streamly = addBuildDepend darwin.apple_sdk.frameworks.Cocoa super.streamly;
+
   apecs-physics = addPkgconfigDepends [
     darwin.apple_sdk.frameworks.ApplicationServices
   ] super.apecs-physics;
@@ -287,4 +289,7 @@ self: super: ({
 
   # https://github.com/fpco/inline-c/issues/127
   inline-c-cpp = dontCheck super.inline-c-cpp;
+
+  # https://github.com/haskell-crypto/cryptonite/issues/360
+  cryptonite = appendPatch ./patches/cryptonite-remove-argon2.patch super.cryptonite;
 })
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
index ac0364e0c760d..0979466904479 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
@@ -43,15 +43,18 @@ self: super: {
 
   # cabal-install needs more recent versions of Cabal and base16-bytestring.
   cabal-install = super.cabal-install.overrideScope (self: super: {
-    Cabal = self.Cabal_3_6_2_0;
+    Cabal = self.Cabal_3_6_3_0;
   });
 
-  # cabal-install-parsers is written for Cabal 3.6
-  cabal-install-parsers = super.cabal-install-parsers.override { Cabal = super.Cabal_3_6_2_0; };
+  # Pick right versions for GHC-specific packages
+  ghc-api-compat = doDistribute self.ghc-api-compat_8_10_7;
+
+  # ghc versions which don‘t match the ghc-lib-parser-ex version need the
+  # additional dependency to compile successfully.
+  ghc-lib-parser-ex = addBuildDepend self.ghc-lib-parser super.ghc-lib-parser-ex;
 
   # Jailbreak to fix the build.
   base-noprelude = doJailbreak super.base-noprelude;
-  system-fileio = doJailbreak super.system-fileio;
   unliftio-core = doJailbreak super.unliftio-core;
 
   # Jailbreaking because monoidal-containers hasn‘t bumped it's base dependency for 8.10.
@@ -65,9 +68,6 @@ self: super: {
   shellmet = doJailbreak super.shellmet;
   shower = doJailbreak super.shower;
 
-  # The shipped Setup.hs file is broken.
-  csv = overrideCabal (drv: { preCompileBuildDriver = "rm Setup.hs"; }) super.csv;
-
   # Apply patch from https://github.com/finnsson/template-helper/issues/12#issuecomment-611795375 to fix the build.
   language-haskell-extract = appendPatch (pkgs.fetchpatch {
     name = "language-haskell-extract-0.2.4.patch";
@@ -84,4 +84,41 @@ self: super: {
 
   mime-string = disableOptimization super.mime-string;
 
+  # Older compilers need the latest ghc-lib to build this package.
+  hls-hlint-plugin = addBuildDepend self.ghc-lib super.hls-hlint-plugin;
+
+  haskell-language-server = appendConfigureFlags [
+      "-f-fourmolu"
+      "-f-stylishhaskell"
+      "-f-brittany"
+      "-f-hlint"
+    ]
+  (super.haskell-language-server.override {
+    # Not buildable on 8.10
+    hls-fourmolu-plugin = null;
+    # https://github.com/haskell/haskell-language-server/issues/2728
+    hls-hlint-plugin = null;
+  });
+
+  # ormolu 0.3 requires Cabal == 3.4
+  ormolu = super.ormolu_0_2_0_0;
+
+  # weeder 2.3.0 no longer supports GHC 8.10
+  weeder = doDistribute (doJailbreak self.weeder_2_2_0);
+
+  # OneTuple needs hashable instead of ghc-prim for GHC < 9
+  OneTuple = super.OneTuple.override {
+    ghc-prim = self.hashable;
+  };
+
+  # Doesn't build with 9.0, see https://github.com/yi-editor/yi/issues/1125
+  yi-core = doDistribute (markUnbroken super.yi-core);
+
+  # Temporarily disabled blaze-textual for GHC >= 9.0 causing hackage2nix ignoring it
+  # https://github.com/paul-rouse/mysql-simple/blob/872604f87044ff6d1a240d9819a16c2bdf4ed8f5/Database/MySQL/Internal/Blaze.hs#L4-L10
+  mysql-simple = addBuildDepends [
+    self.blaze-textual
+  ] super.mysql-simple;
+
+  taffybar = markUnbroken (doDistribute super.taffybar);
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
index ce7bf88d1da8c..d712ab9d1a2b1 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
@@ -81,9 +81,6 @@ self: super: {
   # cabal2spec needs a recent version of Cabal
   cabal2spec = super.cabal2spec.overrideScope (self: super: { Cabal = self.Cabal_3_2_1_0; });
 
-  # Builds only with ghc-8.8.x and beyond.
-  policeman = markBroken super.policeman;
-
   # https://github.com/pikajude/stylish-cabal/issues/12
   stylish-cabal = doDistribute (markUnbroken (super.stylish-cabal.override { haddock-library = self.haddock-library_1_7_0; }));
   haddock-library_1_7_0 = dontCheck super.haddock-library_1_7_0;
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
index 94e9a32ce05af..c0e9b7aab5ae3 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
@@ -50,7 +50,7 @@ self: super: {
   # cabal-install needs more recent versions of Cabal and random, but an older
   # version of base16-bytestring.
   cabal-install = super.cabal-install.overrideScope (self: super: {
-    Cabal = self.Cabal_3_6_2_0;
+    Cabal = self.Cabal_3_6_3_0;
   });
 
   # Ignore overly restrictive upper version bounds.
@@ -96,9 +96,6 @@ self: super: {
   # of issues with Cabal 3.x.
   darcs = dontDistribute super.darcs;
 
-  # The package needs the latest Cabal version.
-  cabal-install-parsers = super.cabal-install-parsers.overrideScope (self: super: { Cabal = self.Cabal_3_6_2_0; });
-
   # cabal-fmt requires Cabal3
   cabal-fmt = super.cabal-fmt.override { Cabal = self.Cabal_3_2_1_0; };
 
@@ -121,8 +118,7 @@ self: super: {
   # additional dependency to compile successfully.
   ghc-lib-parser-ex = addBuildDepend self.ghc-lib-parser super.ghc-lib-parser-ex;
 
-  # Older compilers need the latest ghc-lib to build this package.
-  hls-hlint-plugin = addBuildDepend self.ghc-lib super.hls-hlint-plugin;
+  ormolu = super.ormolu_0_2_0_0;
 
   # vector 0.12.2 indroduced doctest checks that don‘t work on older compilers
   vector = dontCheck super.vector;
@@ -130,4 +126,28 @@ self: super: {
   ghc-api-compat = doDistribute super.ghc-api-compat_8_6;
 
   mime-string = disableOptimization super.mime-string;
+
+  haskell-language-server = appendConfigureFlags [
+      "-f-fourmolu"
+      "-f-stylishhaskell"
+      "-f-brittany"
+      "-f-hlint"
+    ]
+  (super.haskell-language-server.override {
+    # Not buildable on 8.8
+    hls-fourmolu-plugin = null;
+    # https://github.com/haskell/haskell-language-server/issues/2728
+    hls-hlint-plugin = null;
+  });
+
+  # OneTuple needs hashable instead of ghc-prim for GHC < 9
+  OneTuple = super.OneTuple.override {
+    ghc-prim = self.hashable;
+  };
+
+  # Temporarily disabled blaze-textual for GHC >= 9.0 causing hackage2nix ignoring it
+  # https://github.com/paul-rouse/mysql-simple/blob/872604f87044ff6d1a240d9819a16c2bdf4ed8f5/Database/MySQL/Internal/Blaze.hs#L4-L10
+  mysql-simple = addBuildDepends [
+    self.blaze-textual
+  ] super.mysql-simple;
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
index 30a12b35e5b7a..f36c77d636a7b 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
@@ -44,10 +44,15 @@ self: super: {
 
   # cabal-install needs more recent versions of Cabal and base16-bytestring.
   cabal-install = (doJailbreak super.cabal-install).overrideScope (self: super: {
-    Cabal = self.Cabal_3_6_2_0;
+    Cabal = self.Cabal_3_6_3_0;
   });
 
   # Jailbreaks & Version Updates
+
+  # This `doJailbreak` can be removed once the following PR is released to Hackage:
+  # https://github.com/thsutton/aeson-diff/pull/58
+  aeson-diff = doJailbreak super.aeson-diff;
+
   async = doJailbreak super.async;
   data-fix = doJailbreak super.data-fix;
   dec = doJailbreak super.dec;
@@ -60,7 +65,6 @@ self: super: {
   lukko = doJailbreak super.lukko;
   parallel = doJailbreak super.parallel;
   primitive = doJailbreak (dontCheck super.primitive);
-  primitive-extras = doDistribute (self.primitive-extras_0_10_1_4);
   regex-posix = doJailbreak super.regex-posix;
   resolv = doJailbreak super.resolv;
   singleton-bool = doJailbreak super.singleton-bool;
@@ -71,23 +75,11 @@ self: super: {
   vector-binary-instances = doJailbreak super.vector-binary-instances;
   vector-th-unbox = doJailbreak super.vector-th-unbox;
   zlib = doJailbreak super.zlib;
-  weeder = self.weeder_2_3_0;
-  generic-lens-core = self.generic-lens-core_2_2_1_0;
-  generic-lens = self.generic-lens_2_2_1_0;
-  th-desugar = self.th-desugar_1_13;
   # 2021-11-08: Fixed in autoapply-0.4.2
-  autoapply = doJailbreak self.autoapply_0_4_1_1;
-
-  # Doesn't allow Dhall 1.39.*; forbids lens 5.1
-  weeder_2_3_0 = doJailbreak (super.weeder_2_3_0.override {
-    dhall = self.dhall_1_40_2;
-  });
-
-  # Upstream also disables test for GHC 9: https://github.com/kcsongor/generic-lens/pull/130
-  generic-lens_2_2_1_0 = dontCheck super.generic-lens_2_2_1_0;
+  autoapply = doJailbreak super.autoapply;
 
+  doctest = dontCheck super.doctest;
   # Apply patches from head.hackage.
-  doctest = dontCheck (doJailbreak super.doctest_0_18_2);
   language-haskell-extract = appendPatch (pkgs.fetchpatch {
     url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/language-haskell-extract-0.2.4.patch";
     sha256 = "0rgzrq0513nlc1vw7nw4km4bcwn4ivxcgi33jly4a7n3c1r32v1f";
@@ -99,41 +91,24 @@ self: super: {
   # The test suite seems pretty broken.
   base64-bytestring = dontCheck super.base64-bytestring;
 
-  # 5 introduced support for GHC 9.0.x, but hasn't landed in stackage yet
-  lens = super.lens_5_1;
-
-  # 0.16.0 introduced support for GHC 9.0.x, stackage has 0.15.0
-  memory = super.memory_0_16_0;
-
   # GHC 9.0.x doesn't like `import Spec (main)` in Main.hs
   # https://github.com/snoyberg/mono-traversable/issues/192
   mono-traversable = dontCheck super.mono-traversable;
 
+  # Test suite sometimes segfaults with GHC 9.0.1 and 9.0.2
+  # https://github.com/ekmett/reflection/issues/51
+  # https://gitlab.haskell.org/ghc/ghc/-/issues/21141
+  reflection = dontCheck super.reflection;
+
   # Disable tests pending resolution of
   # https://github.com/Soostone/retry/issues/71
   retry = dontCheck super.retry;
 
-  # Hlint needs >= 3.3.4 for ghc 9 support.
-  hlint = doDistribute super.hlint_3_3_6;
-
-  # 2021-09-18: ghc-api-compat and ghc-lib-* need >= 9.0.x versions for hls and hlint
-  ghc-api-compat = doDistribute super.ghc-api-compat_9_0_1;
-  ghc-lib-parser = self.ghc-lib-parser_9_0_2_20211226;
-  ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_0_0_6;
-  ghc-lib = self.ghc-lib_9_0_2_20211226;
-
-  # 2021-09-18: Need semialign >= 1.2 for correct bounds
-  semialign = super.semialign_1_2_0_1;
-
   # 2021-09-18: cabal2nix does not detect the need for ghc-api-compat.
   hiedb = overrideCabal (old: {
     libraryHaskellDepends = old.libraryHaskellDepends ++ [self.ghc-api-compat];
   }) super.hiedb;
 
-  # 2021-09-18: Need path >= 0.9.0 for ghc 9 compat
-  path = self.path_0_9_0;
-  # 2021-09-18: Need ormolu >= 0.3.0.0 for ghc 9 compat
-  ormolu = doDistribute self.ormolu_0_3_1_0;
   # 2021-09-18: https://github.com/haskell/haskell-language-server/issues/2206
   # Restrictive upper bound on ormolu
   hls-ormolu-plugin = doJailbreak super.hls-ormolu-plugin;
@@ -143,18 +118,4 @@ self: super: {
   multistate = doJailbreak super.multistate;
   # https://github.com/lspitzner/butcher/issues/7
   butcher = doJailbreak super.butcher;
-  # Fixes a bug triggered on GHC 9.0.1
-  text-short = self.text-short_0_1_5;
-
-  fourmolu = doJailbreak self.fourmolu_0_4_0_0;
-
-  # 2022-02-05: The following plugins don‘t work yet on ghc9.
-  # Compare: https://haskell-language-server.readthedocs.io/en/latest/supported-versions.html
-  haskell-language-server = appendConfigureFlags [
-    "-f-brittany"
-    "-f-stylishhaskell"
-  ] (super.haskell-language-server.override {
-    hls-stylish-haskell-plugin = null; # No upstream support
-    hls-brittany-plugin = null; # Dependencies don't build with 9.0.1
-  });
 }
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 49bfd64324a98..eb1245191cb82 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
@@ -42,64 +42,42 @@ self: super: {
   unix = null;
   xhtml = null;
 
-  # Workaround for https://gitlab.haskell.org/ghc/ghc/-/issues/20594
-  tf-random = overrideCabal {
-    doHaddock = !pkgs.stdenv.isAarch64;
-  } super.tf-random;
-
-  aeson = appendPatch (pkgs.fetchpatch {
-    url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/aeson-1.5.6.0.patch";
-    sha256 = "07rk7f0lhgilxvbg2grpl1p5x25wjf9m7a0wqmi2jr0q61p9a0nl";
-    # The revision information is newer than that included in the patch
-    excludes = ["*.cabal"];
-  }) (doJailbreak super.aeson);
-
-  basement = overrideCabal (drv: {
-    # This is inside a conditional block so `doJailbreak` doesn't work
-    postPatch = "sed -i -e 's,<4.16,<4.17,' basement.cabal";
-  }) (appendPatch (pkgs.fetchpatch {
-    url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/basement-0.0.12.patch";
-    sha256 = "0c8n2krz827cv87p3vb1vpl3v0k255aysjx9lq44gz3z1dhxd64z";
-  }) super.basement);
-
   # Tests fail because of typechecking changes
   conduit = dontCheck super.conduit;
 
-  cryptonite = appendPatch (pkgs.fetchpatch {
+  # 0.30 introduced support for GHC 9.2.x, so when this assert fails, the whole block can be removed
+  cryptonite = assert super.cryptonite.version == "0.29"; appendPatch (pkgs.fetchpatch {
     url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/cryptonite-0.29.patch";
     sha256 = "1g48lrmqgd88hqvfq3klz7lsrpwrir2v1931myrhh6dy0d9pqj09";
   }) super.cryptonite;
 
   # cabal-install needs more recent versions of Cabal
   cabal-install = (doJailbreak super.cabal-install).overrideScope (self: super: {
-    Cabal = self.Cabal_3_6_2_0;
+    Cabal = self.Cabal_3_6_3_0;
   });
 
-  doctest = dontCheck (doJailbreak super.doctest_0_18_2);
+  doctest = dontCheck (doJailbreak super.doctest);
 
   # Tests fail in GHC 9.2
   extra = dontCheck super.extra;
 
   # Jailbreaks & Version Updates
+
+  # This `doJailbreak` can be removed once we have doctest v0.20
+  aeson-diff = assert super.doctest.version == "0.18.2"; doJailbreak super.aeson-diff;
+
   assoc = doJailbreak super.assoc;
   async = doJailbreak super.async;
-  attoparsec = super.attoparsec_0_14_4;
   base64-bytestring = doJailbreak super.base64-bytestring;
   base-compat = self.base-compat_0_12_1;
   base-compat-batteries = self.base-compat-batteries_0_12_1;
   binary-instances = doJailbreak super.binary-instances;
-  binary-orphans = super.binary-orphans_1_0_2;
   ChasingBottoms = doJailbreak super.ChasingBottoms;
   constraints = doJailbreak super.constraints;
   cpphs = overrideCabal (drv: { postPatch = "sed -i -e 's,time >=1.5 && <1.11,time >=1.5 \\&\\& <1.12,' cpphs.cabal";}) super.cpphs;
-  cryptohash-md5 = doJailbreak super.cryptohash-md5;
-  cryptohash-sha1 = doJailbreak super.cryptohash-sha1;
   data-fix = doJailbreak super.data-fix;
   dec = doJailbreak super.dec;
   ed25519 = doJailbreak super.ed25519;
-  genvalidity = self.genvalidity_1_0_0_1;
-  genvalidity-property = self.genvalidity-property_1_0_0_0;
-  genvalidity-hspec = self.genvalidity-hspec_1_0_0_0;
   ghc-byteorder = doJailbreak super.ghc-byteorder;
   ghc-exactprint = overrideCabal (drv: {
     # HACK: ghc-exactprint 1.4.1 is not buildable for GHC < 9.2,
@@ -115,49 +93,59 @@ self: super: {
       self.data-default
     ] ++ drv.libraryHaskellDepends or [];
   }) super.ghc-exactprint;
-  ghc-lib = self.ghc-lib_9_2_1_20220109;
-  ghc-lib-parser = self.ghc-lib-parser_9_2_1_20220109;
-  ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_1;
+  ghc-lib = self.ghc-lib_9_2_2_20220307;
+  ghc-lib-parser = self.ghc-lib-parser_9_2_2_20220307;
+  ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_3;
   hackage-security = doJailbreak super.hackage-security;
   hashable = super.hashable_1_4_0_2;
-  hashable-time = doJailbreak super.hashable-time_0_3;
-  hedgehog = doJailbreak super.hedgehog;
+  hashable-time = doJailbreak super.hashable-time;
+  # 1.1.1 introduced support for GHC 9.2.x, so when this assert fails, the jailbreak can be removed
+  hedgehog = assert super.hedgehog.version == "1.0.5"; doJailbreak super.hedgehog;
   HTTP = overrideCabal (drv: { postPatch = "sed -i -e 's,! Socket,!Socket,' Network/TCP.hs"; }) (doJailbreak super.HTTP);
   integer-logarithms = overrideCabal (drv: { postPatch = "sed -i -e 's, <1.1, <1.3,' integer-logarithms.cabal"; }) (doJailbreak super.integer-logarithms);
   indexed-traversable = doJailbreak super.indexed-traversable;
   indexed-traversable-instances = doJailbreak super.indexed-traversable-instances;
   lifted-async = doJailbreak super.lifted-async;
   lukko = doJailbreak super.lukko;
-  network = super.network_3_1_2_7;
+  lzma-conduit = doJailbreak super.lzma-conduit;
   ormolu = self.ormolu_0_4_0_0;
-  OneTuple = super.OneTuple_0_3_1;
   parallel = doJailbreak super.parallel;
-  path = doJailbreak super.path_0_9_2;
+  path = doJailbreak super.path;
   polyparse = overrideCabal (drv: { postPatch = "sed -i -e 's, <0.11, <0.12,' polyparse.cabal"; }) (doJailbreak super.polyparse);
   primitive = doJailbreak super.primitive;
-  quickcheck-instances = super.quickcheck-instances_0_3_27;
+  # https://github.com/protolude/protolude/pull/136
+  protolude = appendPatches [
+    (pkgs.fetchpatch {
+      url = "https://github.com/protolude/protolude/commit/47820a36c25ea6f0c6e44382f7d4f3507358b8e7.diff";
+      sha256 = "sha256-PtHx5SyTgqFzI03YVeQD+RqglO6ASMQWSxdpy4ROMDY=";
+    })
+  ] (doJailbreak super.protolude);
   regex-posix = doJailbreak super.regex-posix;
   resolv = doJailbreak super.resolv;
   retrie = doDistribute (dontCheck self.retrie_1_2_0_1);
-  semialign = super.semialign_1_2_0_1;
   singleton-bool = doJailbreak super.singleton-bool;
-  scientific = doJailbreak super.scientific;
+  servant = doJailbreak super.servant;
+  servant-auth = doJailbreak super.servant-auth;
+  servant-server = appendPatches [
+    # awaiting release
+    (pkgs.fetchpatch {
+      url = "https://github.com/haskell-servant/servant/commit/61d0d14b5cb01db3d589101b3f17b0178f52e386.diff";
+      relative = "servant-server";
+      sha256 = "sha256-3lM8xLO8avVRo8oncJR8QLDSWEzOaoCmzgVtyaEBEw8=";
+    })
+  ] (doJailbreak super.servant-server);
+  servant-swagger = doJailbreak super.servant-swagger;
+  servant-auth-swagger = doJailbreak super.servant-auth-swagger;
   shelly = doJailbreak super.shelly;
-  split = doJailbreak super.split;
   splitmix = doJailbreak super.splitmix;
-  tar = doJailbreak super.tar;
-  tasty-hedgehog = doJailbreak super.tasty-hedgehog;
   tasty-hspec = doJailbreak super.tasty-hspec;
   th-desugar = self.th-desugar_1_13;
-  these = doJailbreak super.these;
-  time-compat = doJailbreak super.time-compat_1_9_6_1;
+  time-compat = doJailbreak super.time-compat;
+  tomland = doJailbreak super.tomland;
   type-equality = doJailbreak super.type-equality;
   unordered-containers = doJailbreak super.unordered-containers;
-  vector = doJailbreak (dontCheck super.vector);
+  vector = dontCheck super.vector;
   vector-binary-instances = doJailbreak super.vector-binary-instances;
-  # Upper bound on `hashable` is too restrictive
-  witherable = doJailbreak super.witherable;
-  zlib = doJailbreak super.zlib;
 
   hpack = overrideCabal (drv: {
     # Cabal 3.6 seems to preserve comments when reading, which makes this test fail
@@ -167,7 +155,7 @@ self: super: {
     ] ++ drv.testFlags or [];
   }) (doJailbreak super.hpack);
 
-  validity = pkgs.lib.pipe super.validity_0_12_0_0 [
+  validity = pkgs.lib.pipe super.validity [
     # head.hackage patch
     (appendPatch (pkgs.fetchpatch {
       url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/9110e6972b5daf085e19cad41f97920d3ddac499/patches/validity-0.12.0.0.patch";
@@ -192,32 +180,14 @@ self: super: {
   # Tests depend on `parseTime` which is no longer available
   hourglass = dontCheck super.hourglass;
 
-  # 1.2.1 introduced support for GHC 9.2.1, stackage has 1.2.0
-  # The test suite indirectly depends on random, which leads to infinite recursion
-  random = dontCheck super.random_1_2_1;
-
-  # 0.16.0 introduced support for GHC 9.0.x, stackage has 0.15.0
-  memory = appendPatch (pkgs.fetchpatch {
+  # 0.17.0 introduced support for GHC 9.2.x, so when this assert fails, the whole block can be removed
+  memory = assert super.memory.version == "0.16.0"; appendPatch (pkgs.fetchpatch {
     url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/memory-0.16.0.patch";
     sha256 = "1kjganx729a6xfgfnrb3z7q6mvnidl042zrsd9n5n5a3i76nl5nl";
   }) (overrideCabal {
     editedCabalFile = null;
     revision = null;
-  } super.memory_0_16_0);
-
-  # GHC 9.0.x doesn't like `import Spec (main)` in Main.hs
-  # https://github.com/snoyberg/mono-traversable/issues/192
-  mono-traversable = dontCheck super.mono-traversable;
-
-  # Disable tests pending resolution of
-  # https://github.com/Soostone/retry/issues/71
-  retry = dontCheck super.retry;
-
-  # Upper bound on `hashable` is too restrictive
-  semigroupoids = overrideCabal (drv: { postPatch = "sed -i -e 's,hashable >= 1.2.7.0  && < 1.4,hashable >= 1.2.7.0  \\&\\& < 1.5,' semigroupoids.cabal";}) super.semigroupoids;
-
-  # Tests have a circular dependency on quickcheck-instances
-  text-short = dontCheck super.text-short_0_1_5;
+  } super.memory);
 
   # Use hlint from git for GHC 9.2.1 support
   hlint = doDistribute (
@@ -229,10 +199,7 @@ self: super: {
         rev = "77a9702e10b772a7695c08682cd4f450fd0e9e46";
         sha256 = "0hpp3iw7m7w2abr8vb86gdz3x6c8lj119zxln933k90ia7bmk8jc";
       };
-    } (super.hlint_3_3_6.overrideScope (self: super: {
-      ghc-lib-parser = self.ghc-lib-parser_9_2_1_20220109;
-      ghc-lib-parser-ex = self.ghc-lib-parser-ex_9_2_0_1;
-    }))
+    } super.hlint
   );
 
   # https://github.com/sjakobi/bsb-http-chunked/issues/38
@@ -244,14 +211,14 @@ self: super: {
   some = doJailbreak super.some;
   fourmolu = super.fourmolu_0_5_0_1;
   implicit-hie-cradle = doJailbreak super.implicit-hie-cradle;
-  lucid = doJailbreak super.lucid;
-  hashtables = doJailbreak super.hashtables;
-  primitive-extras = super.primitive-extras_0_10_1_4;
+  # 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-02-05: The following plugins don‘t work yet on ghc9.2.
   # Compare: https://haskell-language-server.readthedocs.io/en/latest/supported-versions.html
-  haskell-language-server = appendConfigureFlags [
+  haskell-language-server = overrideCabal (old: {libraryHaskellDepends = builtins.filter (x: x != super.hls-tactics-plugin) old.libraryHaskellDepends;})
+    (appendConfigureFlags [
     "-f-alternateNumberFormat"
     "-f-class"
     "-f-eval"
@@ -260,8 +227,6 @@ self: super: {
     "-f-retrie"
     "-f-splice"
     "-f-tactics"
-    "-f-brittany"
-    "-f-stylish-haskell"
   ] (super.haskell-language-server.override {
     hls-alternate-number-format-plugin = null;
     hls-class-plugin = null;
@@ -270,8 +235,5 @@ self: super: {
     hls-hlint-plugin = null;
     hls-retrie-plugin = null;
     hls-splice-plugin = null;
-    hls-tactics-plugin = null;
-    hls-brittany-plugin = null;
-    hls-stylish-haskell-plugin = null;
-  });
+  }));
 }
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
index 09ce57fe1d340..ba23a9a5b28ff 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
@@ -1,5 +1,6 @@
 broken-packages:
   # These packages don't compile.
+  - 2captcha
   - 3d-graphics-examples
   - 3dmodels
   - AAI
@@ -9,16 +10,12 @@ broken-packages:
   - abides
   - abnf
   - AbortT-transformers
-  - abstract-par-accelerate
   - abt
   - AC-BuildPlatform
-  - acc
-  - accelerate-fftw
-  - accelerate-llvm-native
-  - accelerate-random
-  - accelerate-utility
+  - accelerate
   - accentuateus
   - access-time
+  - accuerr
   - AC-EasyRaster-GTK
   - AC-HalfInteger
   - achille
@@ -54,7 +51,6 @@ broken-packages:
   - activehs-base
   - activitypub
   - activitystreams-aeson
-  - acts
   - AC-VanillaArray
   - AC-Vector
   - Adaptive
@@ -62,33 +58,45 @@ broken-packages:
   - adaptive-containers
   - adaptive-tuple
   - adb
-  - addy
-  - adjunction
   - adobe-swatch-exchange
   - ADPfusion
   - adp-multi
   - adtrees
-  - aern2-mp
+  - advent-of-code-ocr
   - AERN-Basics
   - aeson-applicative
   - aeson-bson
+  - AesonBson
   - aeson-decode
+  - aeson-default
+  - aeson-deriving
   - aeson-diff-generic
   - aeson-filthy
+  - aeson-flat
+  - aeson-flatten
   - aeson-flowtyped
+  - aeson-helper
+  - aeson-injector
+  - aeson-iproute
+  - aeson-json-ast
+  - aeson-lens
   - aeson-match-qq
   - aeson-modern-tojson
   - aeson-options
+  - aeson-parsec-picky
+  - aeson-picker
   - aeson-prefix
+  - aeson-quick
   - aeson-schema
   - aeson-schemas
   - aeson-smart
   - aeson-streams
   - aeson-t
-  - aeson-tiled
+  - aeson-toolkit
   - aeson-typescript
   - aeson-utils
-  - aeson-value-parser
+  - aeson-via
+  - aeson-with
   - affection
   - affine-invariant-ensemble-mcmc
   - Agata
@@ -111,7 +119,7 @@ broken-packages:
   - alfred
   - alga
   - algebra-dag
-  - algebraic
+  - algebraic-classes
   - algebraic-prelude
   - AlgorithmW
   - algo-s
@@ -125,14 +133,11 @@ broken-packages:
   - alternative-extra
   - alternative-io
   - altfloat
-  - alto
   - alure
   - amazon-emailer
-  - amazonka-contrib-rds-utils
-  - amazonka-mediaconvert
-  - amazonka-s3-streaming
+  - amazonka-core
+  - amazonka-iam-policy
   - amazon-products
-  - amby
   - AMI
   - amqp-conduit
   - analyze
@@ -145,24 +150,24 @@ broken-packages:
   - Animas
   - animascii
   - animate
+  - anki-tools
   - annotated-fix
   - anonymous-sums
   - ansigraph
+  - ansi-pretty
   - antfarm
   - antigate
   - antimirov
-  - antiope-optparse-applicative
   - antiquoter
   - antisplice
   - antlr-haskell
   - anydbm
-  - aop-prelude
+  - Aoide
   - aosd
   - aos-signature
   - apart
-  - apecs-stm
   - api-builder
-  - api-rpc-factom
+  - api-tools
   - apns-http2
   - appc
   - app-lens
@@ -177,10 +182,12 @@ broken-packages:
   - ApproxFun-hs
   - arbb-vm
   - arb-fft
+  - arbor-lru-cache
   - arbor-monad-counter
   - arbor-monad-logger
   - arbor-monad-metric
   - arbor-postgres
+  - arch-hs
   - archiver
   - archlinux
   - archnews
@@ -189,11 +196,12 @@ broken-packages:
   - argparser
   - arguedit
   - arion
-  - arith-encode
   - armada
+  - armor
   - arpa
   - arpack
   - arrayfire
+  - array-list
   - array-primops
   - ArrayRef
   - arrowapply-utils
@@ -201,18 +209,16 @@ broken-packages:
   - arrow-list
   - arrowp
   - arrowp-qq
-  - arrow-utils
   - ArrowVHDL
   - artery
   - artifact
   - asap
   - ascii85-conduit
   - ascii-flatten
+  - ascii-numbers
   - ascii-string
   - ascii-vector-avc
-  - asif
   - asil
-  - asn
   - asn1-codec
   - asn1-data
   - assert
@@ -223,20 +229,17 @@ broken-packages:
   - assumpta
   - ast-monad
   - astrds
-  - astro
   - async-combinators
   - async-dejafu
   - asynchronous-exceptions
   - async-manager
   - async-timer
-  - aterm-utils
+  - aterm
   - atndapi
-  - atomic-modify
   - atomic-primops-vector
   - atom-msp430
   - atomo
   - atp-haskell
-  - ats-pkg
   - ats-setup
   - ats-storable
   - attempt
@@ -247,6 +250,7 @@ broken-packages:
   - attoparsec-csv
   - attoparsec-text
   - attoparsec-trans
+  - attoparsec-varword
   - attosplit
   - Attrac
   - augeas
@@ -257,33 +261,35 @@ broken-packages:
   - authenticate-ldap
   - authinfo-hs
   - auto
+  - autodocodec
   - autom
-  - automata
   - autonix-deps
   - autopack
   - avatar-generator
-  - aviation-cessna172-diagrams
+  - aviation-units
   - avl-static
+  - avro-piper
   - avr-shake
+  - avwx
   - awesome-prelude
   - awesomium-raw
   - aws-cloudfront-signer
-  - aws-easy
   - aws-ec2
-  - aws-ec2-knownhosts
   - aws-general
+  - aws-lambda-haskell-runtime
+  - aws-lambda-runtime
   - aws-larpi
   - aws-performance-tests
   - aws-route53
   - aws-sdk-text-converter
-  - aws-simple
-  - aws-xray-client-persistent
+  - aws-xray-client
   - axel
   - azubi
   - azure-acs
   - azure-email
   - azurify
   - b9
+  - backprop
   - backstop
   - backtracking-exceptions
   - backward-state
@@ -292,12 +298,10 @@ broken-packages:
   - bake
   - Bang
   - ban-instance
-  - bank-holiday-usa
   - banwords
   - barchart
   - barcodes-code128
   - barecheck
-  - barley
   - barrie
   - barrier
   - barrier-monad
@@ -315,23 +319,22 @@ broken-packages:
   - basic-sop
   - baskell
   - battlenet
-  - battleship-combinatorics
+  - battleplace
   - bazel-coverage-report-renderer
   - BCMtools
   - bdd
+  - bdelta
   - bdo
   - beam
   - beamable
   - beam-mysql
   - beam-newtype-field
-  - beam-sqlite
   - bech32
   - bed-and-breakfast
-  - beeminder-api
   - Befunge93
   - BenchmarkHistory
-  - bench-show
   - bencodex
+  - bencoding-lens
   - berkeleydb
   - BerkeleyDBXML
   - bert
@@ -355,15 +358,14 @@ broken-packages:
   - binary-derive
   - binary-ext
   - binary-indexed-tree
-  - binary-io
   - binary-protocol
+  - binary-tree
   - binary-typed
   - BinderAnn
-  - binding-gtk
+  - binding-core
   - bindings-apr
   - bindings-bfd
   - bindings-cctools
-  - bindings-common
   - bindings-dc1394
   - bindings-eskit
   - bindings-EsounD
@@ -374,7 +376,6 @@ broken-packages:
   - bindings-hamlib
   - bindings-hdf5
   - bindings-K8055
-  - bindings-levmar
   - bindings-libftdi
   - bindings-libg15
   - bindings-libpci
@@ -388,19 +389,22 @@ broken-packages:
   - bindings-sipc
   - bindings-wlc
   - bind-marshal
-  - bindynamic
   - binembed
+  - bins
   - binsm
   - bio
+  - BiobaseBlast
   - BiobaseNewick
+  - BiobaseTurner
   - biocore
   - biohazard
   - bio-sequence
-  - birds-of-paradise
   - biscuit-haskell
   - bisect-binary
   - bishbosh
   - bitcoin-hs
+  - bitcoin-keys
+  - bitcoin-rpc
   - bitcoin-script
   - bits-atomic
   - bits-conduit
@@ -409,36 +413,36 @@ broken-packages:
   - bitspeak
   - bit-stream
   - BitStringRandomMonad
+  - BitSyntax
   - bitx-bitcoin
   - bizzlelude-js
   - bkr
   - blakesum
   - blas
-  - blatex
   - blaze-html-contrib
   - blaze-html-hexpat
   - blaze-html-truncate
   - blaze-json
+  - blaze-shields
   - blazeT
   - blaze-textual-native
-  - ble
+  - blindpass
   - bliplib
+  - blizzard-html
   - blockchain
+  - blockfrost-api
   - blockhash
   - Blogdown
   - bloodhound
   - bloomfilter-redis
-  - blosum
   - blubber-server
   - bludigon
   - Blueprint
   - bluetileutils
   - blunk-hask-tests
   - bogocopy
-  - boilerplate
   - bolt
   - boltzmann-brain
-  - bond
   - bookkeeper
   - boolean-normal-forms
   - boolexpr
@@ -448,9 +452,9 @@ broken-packages:
   - bot
   - botpp
   - bottom
-  - bounded-array
-  - bound-extras
-  - box
+  - boundingboxes
+  - bowntz
+  - bpath
   - braid
   - brain-bleep
   - Bravo
@@ -458,25 +462,25 @@ broken-packages:
   - brick-dropdownmenu
   - bricks-internal
   - brillig
-  - broadcast-chan-tests
   - broccoli
   - brok
   - broker-haskell
   - bronyradiogermany-common
-  - brotli
+  - brotli-conduit
   - browscap
   - bsd-sysctl
   - bson-generic
   - bson-generics
+  - bson-mapping
   - bsparse
   - btree-concurrent
+  - btrfs
   - buffer
   - buffer-builder-aeson
   - BufferedSocket
   - buffet
   - buffon
   - buffon-machines
-  - bugsnag-haskell
   - bugzilla
   - build
   - buildable
@@ -489,15 +493,15 @@ broken-packages:
   - buster
   - Buster
   - butter
-  - buttplug-hs-core
-  - bv-sized
+  - bv-little
   - byline
-  - bytable
   - bytearray-parsing
+  - bytestring-aeson-orphans
   - bytestring-arbitrary
-  - bytestring-builder-varword
   - bytestring-class
   - bytestring-csv
+  - bytestring-delta
+  - bytestring-handle
   - bytestringparser
   - bytestringparser-temporary
   - bytestring-plain
@@ -507,13 +511,14 @@ broken-packages:
   - bytestring-substring
   - bytestring-time
   - bytestring-typenats
-  - c0parser
   - c10k
   - c2ats
+  - cab
   - cabal2doap
   - cabal2ebuild
   - cabal2ghci
   - cabal-audit
+  - cabal-auto-expose
   - cabal-bundle-clib
   - cabal-constraints
   - cabal-db
@@ -526,6 +531,7 @@ broken-packages:
   - cabal-ghci
   - cabalgraph
   - cabal-graphdeps
+  - cabal-helper
   - Cabal-ide-backend
   - cabal-info
   - cabal-install-bundle
@@ -543,19 +549,17 @@ broken-packages:
   - cabal-sort
   - cabal-src
   - cabal-test-quickcheck
+  - cabal-toolkit
   - cabal-upload
   - cabalvchk
   - cabin
-  - cabocha
   - cached
   - cache-polysemy
   - caching
   - cacophony
-  - caerbannog
   - cafeteria-prelude
   - caffegraph
   - cairo-core
-  - cake3
   - cal3d
   - calamity
   - caledon
@@ -563,6 +567,7 @@ broken-packages:
   - call-alloy
   - cal-layout
   - call-haskell-from-anything
+  - camfort
   - canon
   - canonical-filepath
   - canonical-json
@@ -570,24 +575,23 @@ broken-packages:
   - canteven-log
   - canteven-parsedate
   - cantor
-  - Capabilities
-  - capataz
-  - capnp
+  - cantor-pairing
   - capped-list
   - capri
+  - caps
   - captcha-core
   - caramia
   - carbonara
-  - cardano-coin-selection
   - carettah
   - CarneadesDSL
   - carte
   - Cartesian
-  - casa-abbreviations-and-acronyms
   - casadi-bindings-internal
   - Cascade
   - cascading
   - caseof
+  - cases
+  - cas-hashable
   - casr-logbook
   - casr-logbook-types
   - Cassava
@@ -601,11 +605,11 @@ broken-packages:
   - category-traced
   - catnplus
   - cautious-file
-  - cautious-gen
   - cayene-lpp
   - cayley-client
   - cblrepo
   - CCA
+  - ccast
   - CC-delcont-cxe
   - CC-delcont-exc
   - CC-delcont-ref
@@ -617,12 +621,12 @@ broken-packages:
   - cef
   - cef3-raw
   - cellrenderer-cairo
-  - cerberus
   - cereal-derive
   - cereal-ieee754
   - cereal-plus
   - cf
   - cfenv
+  - cfn-flip
   - cg
   - cgen
   - cgi-utils
@@ -633,24 +637,26 @@ broken-packages:
   - charter
   - chart-histogram
   - Chart-simple
+  - chart-svg
+  - chaselev-deque
   - chatty-text
   - chatwork
   - checked
   - Checked
   - checkmate
-  - chell-quickcheck
   - chiasma
   - Chitra
   - choose
   - chorale
   - chp
   - chp-spec
+  - chr-data
   - ChristmasTree
-  - chronograph
   - chr-parse
   - chunky
   - church
   - church-maybe
+  - church-pair
   - churros
   - cielo
   - cil
@@ -667,7 +673,6 @@ broken-packages:
   - clanki
   - clarifai
   - CLASE
-  - clash-prelude
   - Clash-Royale-Hack-Cheats
   - ClassLaws
   - classy-influxdb-simple
@@ -681,7 +686,7 @@ broken-packages:
   - clexer
   - CLI
   - cli-builder
-  - clickhouse-haskell
+  - cli-extras
   - clif
   - clifm
   - clingo
@@ -692,12 +697,10 @@ broken-packages:
   - clock-extras
   - clogparse
   - clone-all
-  - closed-intervals
   - closure
   - cloudfront-signer
   - clr-inline
   - cluss
-  - clustering
   - cmark-highlight
   - cmark-patterns
   - cmark-sections
@@ -709,10 +712,8 @@ broken-packages:
   - cmonad
   - c-mosquitto
   - cmph
-  - CMQ
   - cmt
   - coalpit
-  - cobot-io
   - cobot-tools
   - code-builder
   - codec-beam
@@ -725,30 +726,28 @@ broken-packages:
   - codo-notation
   - coin
   - coinbase-pro
-  - coincident-root-loci
-  - colchis
   - collada-output
   - collapse-util
   - collections
   - collections-api
-  - co-log-polysemy
+  - co-log-concurrent
+  - co-log-json
+  - co-log-polysemy-formatting
   - co-log-sys
   - colonnade
   - colorless
+  - colors
   - coltrane
   - com
   - comark-syntax
+  - combinat-compat
   - combinat-diagrams
   - combinatorial-problems
   - combinator-interactive
   - combobuffer
-  - comfort-array-shape
-  - comfort-fftw
   - Command
   - commander
   - Commando
-  - commodities
-  - commonmark-cli
   - commsec
   - Compactable
   - compact-list
@@ -758,30 +757,32 @@ broken-packages:
   - compact-socket
   - compact-string
   - compact-string-fix
+  - compaREST
   - comparse
-  - compdata-dags
-  - compdata-param
+  - compdata
+  - compendium-client
   - competition
   - compilation
   - complex-generic
+  - composable-associations-aeson
   - compose-trans
-  - composite-dhall
+  - composite-aeson
   - composite-opaleye
   - composition-tree
   - comprehensions-ghc
   - compressed
   - compression
-  - compstrat
-  - comptrans
   - computational-geometry
   - computations
-  - ConClusion
   - concrete-relaxng-parser
   - concrete-typerep
+  - concur-core
   - concurrent-buffer
   - Concurrent-Cache
   - Concurrential
+  - concurrent-st
   - concurrent-state
+  - concurrent-utilities
   - condorcet
   - conductive-base
   - conduit-audio-lame
@@ -790,10 +791,10 @@ broken-packages:
   - conduit-iconv
   - conduit-network-stream
   - conduit-resumablesink
-  - conduit-throttle
   - conduit-tokenize-attoparsec
   - conduit-vfs
   - conf
+  - conferer-hspec
   - conferer-provider-json
   - conferer-snap
   - conferer-source-json
@@ -802,12 +803,14 @@ broken-packages:
   - config-parser
   - Configurable
   - configuration
+  - configurator-pg
   - config-value-getopt
   - confsolve
   - congruence-relation
   - conjure
   - conkin
   - conlogger
+  - connections
   - connection-string
   - Conscript
   - consistent
@@ -820,54 +823,52 @@ broken-packages:
   - ConstraintKinds
   - constraints-emerge
   - constr-eq
+  - construct
   - constructive-algebra
   - consul-haskell
   - Consumer
   - containers-benchmark
-  - containers-unicode-symbols
   - containers-verified
   - ContArrow
-  - content-store
   - ContextAlgebra
-  - context-free-grammar
   - context-stack
   - contiguous-checked
   - contiguous-fft
   - continue
   - Contract
+  - contra-tracers
+  - control-dsl
   - control-iso
   - control-monad-failure
   - control-monad-failure-mtl
   - Control-Monad-ST2
-  - contstuff-monads-tf
-  - contstuff-transformers
-  - convert-annotation
+  - contstuff
   - copilot-core
-  - copilot-sbv
   - copr
+  - coquina
   - COrdering
   - core
   - corebot-bliki
   - CoreDump
   - CoreErlang
   - core-haskell
-  - corenlp-parser
-  - core-telemetry
   - Coroutine
   - coroutine-object
   - CouchDB
   - couchdb-conduit
   - couch-hs
   - counter
+  - country
   - courier
   - court
   - coverage
   - cparsing
   - cpio-conduit
   - cplusplus-th
+  - cpuid
   - cpuperf
   - cpython
-  - cql-io
+  - cql
   - cqrs-core
   - cr
   - crack
@@ -875,11 +876,11 @@ broken-packages:
   - craftwerk
   - crawlchain
   - crc16
+  - crdt
   - crdt-event-fold
-  - creatur
-  - credentials
   - credential-store
   - critbit
+  - criterion-cmp
   - criterion-compare
   - criterion-plus
   - criterion-to-html
@@ -890,17 +891,18 @@ broken-packages:
   - cruncher-types
   - crunghc
   - crypto-cipher-benchmarks
-  - crypto-classical
   - cryptocompare
-  - cryptoconditions
   - cryptoids-types
   - crypto-keys-ssh
   - crypto-multihash
+  - crypto-numbers
   - crypto-pubkey-openssh
   - crypto-random-effect
   - crypto-simple
   - cryptsy-api
+  - csa
   - cse-ghc-plugin
+  - csg
   - CSPM-FiringRules
   - CSPM-Frontend
   - cspretty
@@ -908,20 +910,23 @@ broken-packages:
   - css-easings
   - css-selectors
   - css-syntax
+  - C-structs
   - csv-nptools
   - ctemplate
   - ctkl
-  - cubical
   - cuboid
-  - cuckoo
+  - cuckoo-filter
+  - curl-aeson
   - curl-runnings
   - currency-convert
+  - curry-base
+  - currycarbon
   - CurryDB
-  - curryer-rpc
   - curry-frontend
   - curryrs
   - curves
   - custom-prelude
+  - cut-the-crap
   - CV
   - d3js
   - dag
@@ -939,16 +944,20 @@ broken-packages:
   - darkplaces-text
   - data-accessor-monadLib
   - data-accessor-monads-tf
+  - data-accessor-template
   - data-aviary
   - data-base
   - database-id-groundhog
+  - database-migrate
   - database-study
   - data-check
   - data-combinator-gen
+  - data-compat
   - data-concurrent-queue
   - data-construction
+  - data-constructors
   - data-dispersal
-  - data-diverse-lens
+  - data-diverse
   - datadog
   - data-easy
   - data-embed
@@ -956,22 +965,24 @@ broken-packages:
   - data-filepath
   - data-fin
   - data-fin-simple
-  - datafix
   - data-flagset
+  - data-index
+  - DataIndex
   - data-ivar
   - data-kiln
   - data-lens
   - datalog
   - data-map-multikey
+  - data-named
   - data-nat
   - data-object
   - datapacker
   - data-pdf-fieldreader
-  - data-pprint
   - data-quotientref
   - data-reify-cse
   - data-repr
   - data-rev
+  - datarobot
   - data-rope
   - Data-Rope
   - data-r-tree
@@ -987,30 +998,32 @@ broken-packages:
   - data-validation
   - data-variant
   - DataVersion
+  - dates
   - datetime
   - datetime-sb
   - dawdle
   - dawg
   - dbcleaner
   - dbf
-  - DBFunctor
   - DBlimited
   - dbm
   - dbmigrations-mysql
   - dbmigrations-postgresql
   - dbmigrations-sqlite
+  - d-bus
   - DBus
   - dbus-core
   - dbus-qq
   - dclabel
   - dclabel-eci11
   - dcpu16
-  - ddate
   - ddc-base
   - ddc-code
+  - ddc-core
   - dead-code-detection
   - Deadpan-DDP
   - dead-simple-json
+  - debian
   - debug-me
   - debug-tracy
   - decepticons
@@ -1020,6 +1033,7 @@ broken-packages:
   - deepcontrol
   - DeepDarkFantasy
   - deepseq-bounded
+  - deepseq-instances
   - deepseq-magic
   - deepseq-th
   - deep-transformations
@@ -1029,23 +1043,24 @@ broken-packages:
   - delude
   - demarcate
   - denominate
+  - dense
   - dense-int-set
   - dependent-hashmap
   - dependent-monoidal-map
-  - depends
-  - dep-t
+  - dep-t-dynamic
   - deptrack-core
   - derangement
   - derivation-trees
   - derive
   - derive-enumerable
   - derive-gadt
+  - deriveJsonNoPrefix
   - derive-monoid
   - derive-trie
   - derp-lib
   - describe
-  - descript-lang
   - deterministic-game-engine
+  - detrospector
   - deunicode
   - devil
   - Dflow
@@ -1057,17 +1072,15 @@ broken-packages:
   - dhall-fly
   - dhall-text
   - dhall-to-cabal
-  - dhall-toml
-  - dhcp-lease-parser
   - dhrun
   - dia-base
   - diagrams-boolean
   - diagrams-builder
-  - diagrams-graphviz
-  - diagrams-gtk
   - diagrams-pdf
   - diagrams-qrcode
+  - diagrams-rubiks-cube
   - diagrams-tikz
+  - dialogflow-fulfillment
   - dib
   - dice2tex
   - dicom
@@ -1076,7 +1089,6 @@ broken-packages:
   - diet
   - diff
   - diffcabal
-  - differential
   - DifferentialEvolution
   - diff-gestalt
   - diffmap
@@ -1092,16 +1104,15 @@ broken-packages:
   - dijkstra-simple
   - DimensionalHash
   - dimensional-tf
+  - dino
   - diophantine
   - direct-binary-files
   - directed-cubical
   - direct-fastcgi
   - direct-http
-  - directory-contents
   - direct-plugins
-  - direct-rocksdb
   - direm
-  - discord-haskell
+  - dirtree
   - discordian-calendar
   - discord-types
   - discrete
@@ -1112,42 +1123,44 @@ broken-packages:
   - disjoint-set-stateful
   - Dist
   - distance
-  - distributed-fork-aws-lambda
-  - distributed-process
+  - distributed-closure
   - distribution
   - dist-upload
   - djembe
+  - djinn-ghc
   - djinn-th
   - dmcc
   - dmenu
-  - dnscache
-  - dns-patterns
   - dnsrbl
   - dnssd
   - dobutok
+  - dobutokO
+  - dobutokO-frequency
   - doccheck
   - docidx
   - docker
   - docker-build-cacher
   - dockercook
   - dockerfile-creator
-  - docopt
   - docrecords
   - doctest-discover-configurator
   - doctest-parallel
   - doctest-prop
-  - docusign-base
   - docusign-example
   - docvim
+  - DOH
   - doi
-  - dominion
+  - domain-optics
   - domplate
+  - dom-selector
+  - do-notation
+  - do-notation-dsl
   - dormouse-uri
   - do-spaces
   - dotfs
   - dot-linker
   - doublify-toolkit
-  - dovetail
+  - downhill
   - downloader
   - dozenal
   - dozens
@@ -1162,8 +1175,10 @@ broken-packages:
   - DrIFT
   - DrIFT-cabalized
   - drifter-postgresql
+  - drinkery
   - drmaa
   - drone
+  - dropbox
   - DSA
   - dsc
   - ds-kanren
@@ -1173,28 +1188,25 @@ broken-packages:
   - dstring
   - DTC
   - dtd-text
-  - dtw
+  - dual-game
   - dualizer
+  - duckling
   - duet
   - dump-core
   - dunai-core
   - Dung
-  - duplo
   - dura
-  - Dust-crypto
   - dvault
   - dvdread
   - dvi-processing
   - dwarf
   - dwarfadt
   - dyckword
-  - dyepack
   - dynamic-graphs
   - dynamic-mvector
   - dynamic-object
-  - dynamic-pp
+  - dynamic-pipeline
   - DynamicTimeWarp
-  - dynamodb-simple
   - dynloader
   - DysFRP
   - dywapitchtrack
@@ -1203,8 +1215,10 @@ broken-packages:
   - each
   - eager-sockets
   - earclipper
+  - earcut
   - early
   - easy-api
+  - easy-args
   - easy-bitcoin
   - easyjson
   - easyplot
@@ -1218,6 +1232,7 @@ broken-packages:
   - ede
   - edenmodules
   - edis
+  - EdisonCore
   - edit
   - edit-lenses
   - editline
@@ -1225,6 +1240,7 @@ broken-packages:
   - effective-aspects
   - effect-monad
   - effect-stack
+  - effet
   - effin
   - egison-pattern-src
   - ehaskell
@@ -1232,20 +1248,21 @@ broken-packages:
   - eibd-client-simple
   - eigen
   - Eight-Ball-Pool-Hack-Cheats
-  - eio
   - EitherT
   - either-unwrap
   - ejdb2-binding
   - ekg-bosun
-  - ekg-carbon
   - ekg-elastic
   - ekg-elasticsearch
+  - ekg-json
   - ekg-log
   - ekg-push
   - ekg-rrd
-  - ekg-wai
+  - ekg-statsd
   - elevator
   - elision
+  - elm-export-persistent
+  - elminator
   - elm-street
   - elm-websocket
   - elocrypt
@@ -1262,22 +1279,24 @@ broken-packages:
   - encoding
   - encoding-io
   - encryptable
-  - engine-io-snap
-  - engine-io-wai
-  - engine-io-yesod
+  - engine-io
   - entwine
   - EnumContainers
   - enumerator
-  - enumfun
   - EnumMap
   - enummapmap
+  - enummaps
+  - enummapset-th
+  - enum-subset-generate
+  - enum-text
   - enum-utf8
-  - env-extra
+  - envelope
   - env-parser
   - envstatus
   - epanet-haskell
   - epass
   - epic
+  - epi-sim
   - epoll
   - eprocess
   - epubname
@@ -1285,6 +1304,7 @@ broken-packages:
   - EqualitySolver
   - equational-reasoning-induction
   - equeue
+  - erd
   - erlang
   - erlang-ffi
   - eros
@@ -1298,44 +1318,42 @@ broken-packages:
   - ert
   - escape-artist
   - escoger
-  - espial
   - esqueleto-pgcrypto
   - ess
-  - estimators
+  - essence-of-live-coding-gloss-example
+  - essence-of-live-coding-pulse-example
   - EstProgress
   - Etage
+  - etc
   - etcd
-  - eternal
   - ethereum-rlp
-  - euphoria
   - eurofxref
   - evdev
-  - eve-cli
+  - eve
+  - eved
   - event
   - event-driven
-  - eventful-dynamodb
   - eventful-sql-common
-  - eventloop
+  - eventsource-api
   - eventstore
+  - evoke
   - ewe
   - exact-cover
   - exact-real-positional
   - except-exceptions
   - exceptional
   - exceptionfree-readfile
-  - exchangerates
   - execs
   - executor
   - exh
+  - exhaustive
   - exherbo-cabal
   - exif
   - exigo-schema
-  - exinst-deepseq
-  - exinst-hashable
+  - exinst
   - exists
   - exitcode
   - exp-cache
-  - exp-extended
   - explain
   - explicit-constraint-lens
   - explicit-determinant
@@ -1347,41 +1365,40 @@ broken-packages:
   - expresso
   - extcore
   - extended-categories
-  - extensible
+  - extended-containers
   - extensible-effects-concurrent
   - extensible-skeleton
-  - external-sort
+  - extensions
   - Extra
   - extractelf
-  - extralife
   - ez3
   - ez-couch
   - Facebook-Password-Hacker-Online-Latest-Version
   - faceted
-  - factory
+  - factor
   - facts
   - fadno-braids
+  - fadno-xml
   - failable-list
   - failure-detector
+  - fake
   - fake-type
   - faktory
   - f-algebra-gen
+  - falling-turnip
   - fastbayes
   - fast-combinatorics
   - fastedit
-  - fastly
   - fast-nats
   - fastpbkdf2
   - FastPush
   - FastxPipe
   - fathead-util
-  - fay-builder
-  - fay-hsx
-  - fay-simplejson
+  - fb
   - fbmessenger-api
-  - fb-persistent
   - fca
   - fcache
+  - fcf-containers
   - fcg
   - fckeditor
   - fclabels-monadlib
@@ -1392,7 +1409,7 @@ broken-packages:
   - feed-cli
   - feed-collect
   - feed-crawl
-  - fenfire
+  - fei-cocoapi
   - fernet
   - FerryCore
   - Feval
@@ -1401,6 +1418,7 @@ broken-packages:
   - fficxx
   - ffunctor
   - fgl-extras-decompositions
+  - fib
   - fibon
   - fieldwise
   - fig
@@ -1414,19 +1432,22 @@ broken-packages:
   - fileneglect
   - Files
   - FileSystem
-  - filesystem-abstractions
   - filesystem-conduit
   - filesystem-trees
+  - file-templates
   - fillit
+  - Fin
   - final-pretty-printer
   - Finance-Quote-Yahoo
   - find-conduit
   - find-source-files
   - fingertree-psqueue
   - fingertree-tf
-  - finitary-derive
+  - finitary
+  - finite
+  - FiniteCategories
+  - finite-fields
   - firefly-example
-  - firestore
   - first-and-last
   - first-class-instances
   - fit
@@ -1434,14 +1455,9 @@ broken-packages:
   - fits-parse
   - fixed-point
   - fixedprec
-  - fixed-precision
   - fixed-storable-array
   - fixed-timestep
-  - fixed-vector-binary
-  - fixed-vector-cborg
-  - fixed-vector-cereal
   - fixed-width
-  - fixer
   - fixfile
   - fixie
   - fix-symbols-gitit
@@ -1452,12 +1468,12 @@ broken-packages:
   - flamethrower
   - flamingra
   - flat-maybe
-  - flatparse
+  - flat-tex
   - flay
   - flexible-time
   - flickr
-  - flight-kml
   - flink-statefulfun
+  - float128
   - float-binstring
   - floating-bits
   - flowdock
@@ -1467,14 +1483,15 @@ broken-packages:
   - flp
   - fltkhs
   - fluffy-parser
+  - fluid-idl
   - fluidsynth
   - flux-monoid
   - fmark
   - FModExRaw
   - fn-extra
+  - foldable-ix
   - foldl-incremental
   - foldl-statistics
-  - foldl-transduce
   - folds-common
   - follow
   - font-opengl-basic4x6
@@ -1488,16 +1505,11 @@ broken-packages:
   - for-free
   - forger
   - ForkableT
-  - formatn
   - formattable
   - formura
-  - ForSyDe
-  - forsyde-deep
   - Fortnite-Hack-Cheats-Free-V-Bucks-Generator
-  - fortran-src
-  - fortytwo
+  - fortran-src-extras
   - foscam-filename
-  - fpco-api
   - FPretty
   - fptest
   - fquery
@@ -1505,13 +1517,10 @@ broken-packages:
   - fractals
   - fraction
   - frag
-  - Frames-beam
-  - Frames-map-reduce
   - franchise
   - fraxl
   - freddy
   - free-concurrent
-  - free-game
   - f-ree-hack-cheats-free-v-bucks-generator
   - free-http
   - free-operational
@@ -1525,7 +1534,6 @@ broken-packages:
   - freesound
   - free-theorems
   - FreeTypeGL
-  - freetype-simple
   - free-v-bucks-generator-no-survey
   - free-v-bucks-generator-ps4-no-survey
   - freq
@@ -1550,15 +1558,15 @@ broken-packages:
   - ftphs
   - full-sessions
   - funbot-client
-  - funcons-values
+  - functional-arrow
   - function-instances-algebra
   - functor
+  - functor-combinators
   - functor-friends
   - functor-infix
   - functorm
   - functor-products
   - functor-utils
-  - funflow
   - Fungi
   - funpat
   - funspection
@@ -1566,10 +1574,10 @@ broken-packages:
   - fused-effects-mwc-random
   - fused-effects-resumable
   - fusion
-  - futhark-manifest
+  - futhask
   - futun
   - future
-  - fuzzy-time-gen
+  - fuzzyfind
   - fuzzy-timings
   - fwgl
   - g4ip
@@ -1580,7 +1588,7 @@ broken-packages:
   - gamma
   - Ganymede
   - garepinoh
-  - gargoyle-postgresql-nix
+  - gargoyle
   - gas
   - gather
   - gc-monitoring-wai
@@ -1588,6 +1596,7 @@ broken-packages:
   - gdiff-th
   - gegl
   - gelatin
+  - gemcap
   - gemstone
   - gencheck
   - gender
@@ -1605,7 +1614,7 @@ broken-packages:
   - generic-lens-labels
   - generic-lucid-scaffold
   - generic-maybe
-  - generic-override-aeson
+  - generic-override
   - generic-pretty
   - genericserialize
   - generic-server
@@ -1613,17 +1622,16 @@ broken-packages:
   - generic-storable
   - generic-tree
   - generic-trie
-  - generic-xml
   - generic-xmlpickler
   - genetics
+  - genifunctors
   - gen-imports
   - geniplate
   - gen-passwd
   - genprog
   - gentlemark
-  - genvalidity-persistent
+  - geocode-google
   - GeocoderOpenCage
-  - geodetics
   - geodetic-types
   - GeoIp
   - geojson-types
@@ -1633,17 +1641,19 @@ broken-packages:
   - geos
   - Get
   - getflag
+  - gf
   - GGg
   - ggtsTC
-  - ghc-bignum-orphans
   - ghc-clippy-plugin
   - ghc-core-smallstep
   - ghc-datasize
   - ghc-debug-convention
+  - ghc-dump-core
   - ghc-dump-tree
   - ghc-dup
   - ghc-events-analyze
   - ghc-events-parallel
+  - ghcflags
   - ghc-generic-instances
   - ghc-hotswap
   - ghci-diagrams
@@ -1651,43 +1661,42 @@ broken-packages:
   - ghci-history-parser
   - ghci-lib
   - ghci-ng
+  - ghcjs-base-stub
   - ghcjs-dom-jsffi
-  - ghcjs-fetch
   - ghcjs-promise
   - ghcjs-xhr
   - ghc-justdoit
   - ghclive
   - ghc-man-completion
+  - ghc-mtl
   - ghc-parmake
   - ghc-pkg-autofix
   - ghc-pkg-lib
   - ghc-plugs-out
-  - ghcprofview
+  - ghc-prof
   - ghc-proofs
-  - ghc-session
   - ghc-simple
   - ghc-srcspan-plugin
   - ghc-syb
   - ghc-syb-utils
   - ghc-tags
   - ghc-tags-core
-  - ghc-tcplugin-api
   - ghc-time-alloc-prof
+  - ghcup
   - ghc-usage
   - gh-labeler
   - giak
   - gi-cogl
   - Gifcurry
+  - gi-gio-hs-list-model
   - gi-graphene
   - gi-gsttag
   - gi-gtk-layer-shell
-  - gi-gtkosxapplication
   - gi-gtksheet
   - gi-handy
-  - gi-json
+  - ginger
   - gingersnap
   - ginsu
-  - gipeda
   - giphy-api
   - gi-rsvg
   - gist
@@ -1695,12 +1704,11 @@ broken-packages:
   - git
   - git-all
   - git-checklist
-  - git-config
   - git-cuk
   - git-date
-  - gitdo
   - github-backup
   - github-data
+  - github-post-receive
   - github-tools
   - github-utils
   - github-webhook-handler
@@ -1708,20 +1716,21 @@ broken-packages:
   - gitignore
   - git-jump
   - gitlab-api
+  - gitlab-haskell
   - gitlib-cmdline
+  - gitlib-libgit2
   - gitlib-utils
   - git-repair
-  - git-sanity
   - gitson
   - gitter
   - git-vogue
-  - gi-vips
-  - glade
   - glapp
+  - glaze
   - Gleam
   - GLFW
   - GLFW-b-demo
   - gli
+  - glicko
   - glider-nlp
   - GLMatrix
   - global-variables
@@ -1733,35 +1742,26 @@ broken-packages:
   - glpk-headers
   - gltf-codec
   - glue
+  - gluturtle
   - g-npm
+  - gnuidn
   - goa
   - goal-core
+  - goatee
   - gochan
   - godot-haskell
-  - godot-megaparsec
   - gofer-prelude
-  - gogol-admin-emailmigration
-  - gogol-affiliates
-  - gogol-autoscaler
-  - gogol-bigtableadmin
-  - gogol-cloudmonitoring
-  - gogol-freebasesearch
-  - gogol-latencytest
-  - gogol-maps-coordinate
-  - gogol-maps-engine
-  - gogol-photoslibrary
-  - gogol-resourceviews
-  - gogol-servicemanagement
-  - gogol-taskqueue
-  - gogol-useraccounts
+  - gogol-core
   - gooey
   - google-cloud
   - GoogleCodeJam
   - google-html5-slide
   - google-oauth2
   - google-oauth2-easy
+  - google-oauth2-jwt
   - googlepolyline
   - google-search
+  - google-server-api
   - google-translate
   - gopherbot
   - gopro-plus
@@ -1769,13 +1769,13 @@ broken-packages:
   - GotoT-transformers
   - gpah
   - GPipe
-  - GPipe-Core
+  - GPipe-GLFW4
   - gpx-conduit
-  - grab
   - graceful
   - grafana
   - Grafos
   - grakn
+  - grammatical-parsers
   - grapefruit-frp
   - Graph500
   - Graphalyze
@@ -1786,12 +1786,12 @@ broken-packages:
   - graph-matchings
   - graphmod-plugin
   - graphql-api
-  - graphql-utils
+  - graphql-parser
+  - graphql-spice
   - graphql-w-persistent
   - graph-rewriting
   - graph-serialize
   - graphted
-  - graph-trace-dot
   - graphula-core
   - graph-utils
   - graql
@@ -1805,17 +1805,15 @@ broken-packages:
   - grenade
   - greplicate
   - gridfs
+  - grids
   - grm
-  - groot
-  - gross
   - GroteTrap
-  - groundhog-converters
-  - groundhog-inspector
   - groundhog-mysql
-  - grouped-list
+  - groundhog-th
   - group-theory
   - group-with
   - growler
+  - grow-vector
   - grpc-api-etcd
   - gsl-random
   - gstreamer
@@ -1824,12 +1822,13 @@ broken-packages:
   - gtk2hs-cast-th
   - gtk2hs-hello
   - gtk2hs-rpn
-  - gtk3-mac-integration
+  - gtk3-helpers
   - gtkglext
-  - gtk-mac-integration
+  - gtk-helpers
   - gtksourceview2
   - gtksourceview3
   - gtk-toy
+  - guess-combinator
   - gulcii
   - gw
   - gyah-bin
@@ -1842,11 +1841,11 @@ broken-packages:
   - hackage2hwn
   - hackage-api
   - hackage-diff
-  - hackage-mirror
   - hackage-processing
   - hackage-proxy
   - hackager
   - hackage-repo-tool
+  - hackage-server
   - hackage-whatsnew
   - hackernews
   - hack-frontend-happstack
@@ -1854,7 +1853,6 @@ broken-packages:
   - hack-handler-happstack
   - hack-handler-kibro
   - HackMail
-  - hackport
   - hactor
   - hactors
   - haddock-api
@@ -1864,10 +1862,10 @@ broken-packages:
   - hadoop-formats
   - hadoop-rpc
   - hafar
-  - Haggressive
   - hahp
   - haiji
-  - hailgun-send
+  - hail
+  - hailgun
   - hairy
   - hakaru
   - hakismet
@@ -1882,17 +1880,15 @@ broken-packages:
   - hakyll-contrib-links
   - hakyll-dhall
   - hakyll-dir-list
-  - hakyll-process
   - hakyll-R
   - hakyll-series
   - hakyll-shortcode
-  - hakyll-shortcut-links
+  - hakyll-typescript
   - HaLeX
   - halfs
   - halipeto
   - halive
   - halma
-  - halves
   - hampp
   - hamsql
   - hamtmap
@@ -1912,8 +1908,6 @@ broken-packages:
   - happlets
   - happraise
   - happstack
-  - happstack-fay-ajax
-  - happstack-foundation
   - happstack-hamlet
   - happstack-heist
   - happstack-hstringtemplate
@@ -1924,7 +1918,6 @@ broken-packages:
   - HAppS-Util
   - happybara
   - happybara-webkit-server
-  - happy-hour
   - HappyTree
   - hapstone
   - HaPy
@@ -1932,27 +1925,26 @@ broken-packages:
   - harchive
   - HARM
   - haroonga
+  - harp
   - harpy
   - harvest-api
   - has
-  - hasbolt-extras
   - HasCacBDD
+  - hascar
   - hascard
   - hascas
-  - Haschoo
   - hash
   - hashable-extras
   - hashable-generics
   - hashable-orphans
   - hashabler
   - hashed-storage
-  - hashes
   - hashring
   - hashtables-plus
   - hasim
   - hask
-  - haskades
   - haskanoid
+  - haskarrow
   - haskbot-core
   - haskeline-class
   - haskelisp
@@ -1960,6 +1952,7 @@ broken-packages:
   - haskell2020
   - haskell98
   - haskell98libraries
+  - haskell-abci
   - HaskellAnalysisProgram
   - haskell-awk
   - haskell-bitmex-rest
@@ -1972,20 +1965,23 @@ broken-packages:
   - haskelldb
   - haskelldb-wx
   - haskell-disque
+  - HaskellForMaths
   - haskell-formatter
   - haskell-generate
   - haskell-go-checkers
   - haskell-holes-th
   - haskell-igraph
+  - haskell-import-graph
   - haskell-in-space
+  - haskellish
   - haskell-kubernetes
   - HaskellLM
-  - haskell-lsp-client
+  - haskell-lsp
   - haskell-ml
   - haskell-mpfr
-  - haskell-mpi
   - haskell-names
   - haskell-neo4j-client
+  - HaskellNet
   - HaskellNN
   - Haskelloids
   - haskell-openflow
@@ -1994,6 +1990,7 @@ broken-packages:
   - haskell-player
   - haskell-plot
   - haskell-postal
+  - haskell-postgis
   - haskell-read-editor
   - haskell-rules
   - haskellscrabble
@@ -2012,16 +2009,18 @@ broken-packages:
   - haskell-type-exts
   - haskell-typescript
   - haskell-tyrant
+  - haskell-xmpp
   - haskelzinc
   - haskeme
   - haskey
   - haskheap
   - haskhol-core
-  - hasklepias
   - haskmon
-  - haskoin
+  - haskoin-core
   - haskoin-util
   - haskore
+  - haskore-vintage
+  - HaskRel
   - hasktorch-codegen
   - hasktorch-ffi-th
   - hasktorch-signatures-partial
@@ -2029,27 +2028,29 @@ broken-packages:
   - haskus-binary
   - haskyapi
   - hasmin
-  - hasqlator-mysql
+  - haspara
   - hasql-backend
   - hasql-class
   - hasql-cursor-transaction
-  - hasql-dynamic-statements
+  - hasql-explain-tests
   - hasql-generic
+  - hasql-implicits
   - hasql-simple
-  - hasql-transaction-io
+  - hasql-streams-example
+  - hasql-url
   - hastache
   - haste
   - haste-prim
-  - has-transformers
+  - hasura-ekg-json
   - hat
   - hatex-guide
   - hats
   - hatt
+  - haveibeenpwned
   - haven
   - haverer
   - hax
-  - haxl-amazonka
-  - haxl-facebook
+  - haxl
   - haxparse
   - haxr-th
   - hayland
@@ -2070,16 +2071,15 @@ broken-packages:
   - hcltest
   - hcoap
   - hcom
-  - hcount
   - hcron
   - hCsound
-  - hcube
   - hdaemonize-buildfix
   - hdbc-aeson
   - HDBC-mysql
   - hdbc-postgresql-hstore
   - HDBC-postgresql-hstore
   - hdevtools
+  - hdf
   - hDFA
   - hdigest
   - hdis86
@@ -2088,38 +2088,37 @@ broken-packages:
   - hdo
   - hdph-closure
   - hdr-histogram
-  - HDRUtils
-  - headed-megaparsec
   - headergen
   - heap-console
   - heapsort
   - heart-core
   - hebrew-time
   - heckle
+  - heddit
   - hedgehog-checkers
   - hedgehog-generic
   - hedgehog-golden
-  - hedgehog-optics
   - hedgehog-servant
   - hedis-config
   - hedis-namespace
   - hedis-simple
   - hedis-tags
   - hedra
+  - heidi
   - hein
   - heist-async
+  - helic
   - helisp
-  - helix
   - hell
+  - helm
   - help-esb
   - hemkay
   - HERA
   - herbalizer
   - HerbiePlugin
   - heredocs
-  - her-lexer
+  - her-lexer-parsec
   - Hermes
-  - hermes-json
   - herms
   - hetero-dict
   - heterogeneous-list-literals
@@ -2130,12 +2129,15 @@ broken-packages:
   - hexif
   - hexmino
   - hexml-lens
+  - hexpat-lens
   - hexpat-pickle-generic
+  - hexpat-streamparser
   - hexpr
   - hexpress
   - hexquote
   - hexstring
   - hext
+  - hextra
   - heyefi
   - hF2
   - hfann
@@ -2143,7 +2145,6 @@ broken-packages:
   - hfmt
   - hfoil
   - hfov
-  - hfractal
   - HFrequencyQueue
   - hfusion
   - HGamer3D
@@ -2157,11 +2158,13 @@ broken-packages:
   - hgeometry-ipe
   - hgettext
   - hgis
+  - hgmp
   - hgom
   - hgopher
   - h-gpgme
   - HGraphStorage
   - hgrep
+  - hgrev
   - hgrib
   - hharp
   - HHDL
@@ -2172,25 +2175,24 @@ broken-packages:
   - hichi
   - hidden-char
   - hid-examples
-  - hie-core
   - hieraclus
-  - hierarchical-env
   - hierarchical-exceptions
   - hierarchy
   - hiernotify
   - higgledy
   - higherorder
   - highjson
+  - highlight
   - highlight-versions
   - highWaterMark
   - himg
   - hindley-milner
+  - hindley-milner-type-check
   - hinquire
   - hinstaller
   - hinter
   - hinterface
   - hipchat-hs
-  - hipe
   - Hipmunk
   - hipsql-api
   - hircules
@@ -2210,14 +2212,15 @@ broken-packages:
   - hkd-lens
   - hkt
   - hlbfgsb
+  - hleap
+  - hledger-api
   - hledger-chart
-  - hledger-flow
+  - hledger-diff
   - hledger-irr
   - hledger-vty
   - hlibBladeRF
   - hlibev
   - hlibfam
-  - HList
   - hlivy
   - hlogger
   - HLogger
@@ -2243,12 +2246,14 @@ broken-packages:
   - hMollom
   - hmp3
   - Hmpf
+  - hmpfr
   - hmumps
   - hnetcdf
   - hnn
   - hnop
   - hoauth
   - hobbes
+  - hobbits
   - hocilib
   - hocker
   - hocon
@@ -2258,6 +2263,7 @@ broken-packages:
   - hofix-mtl
   - hog
   - hogg
+  - hoggl
   - hois
   - hol
   - hold-em
@@ -2266,6 +2272,7 @@ broken-packages:
   - homeomorphic
   - homoiconic
   - homplexity
+  - honeycomb
   - honi
   - hoobuddy
   - hood2
@@ -2279,23 +2286,22 @@ broken-packages:
   - hopencl
   - HOpenCV
   - hopfield
+  - hoppy-runtime
   - hops
   - hoq
-  - ho-rewriting
   - horizon
   - horname
   - hosc-json
   - hosts-server
   - hothasktags
-  - hotswap
   - hourglass-fuzzy-parsing
   - houseman
   - hp2any-core
   - hpack-convert
-  - hpapi
   - hpasteit
   - HPath
   - hpc-coveralls
+  - hpc-lcov
   - hpg
   - HPi
   - hpio
@@ -2308,29 +2314,39 @@ broken-packages:
   - hpygments
   - hpylos
   - hpyrg
+  - hq
+  - HQu
   - hquantlib-time
+  - hquery
   - hR
   - hreq-core
   - h-reversi
   - hricket
   - Hricket
+  - hruby
   - hs2bf
   - hs2ps
-  - hsakamai
   - hsaml2
-  - hs-aws-lambda
   - hsay
   - hsbc
   - hsbencher
-  - hsc3
+  - hs-brotli
+  - hsc3-cairo
+  - hsc3-db
+  - hsc3-dot
+  - hsc3-lang
+  - hsc3-process
+  - hsc3-rec
   - hsc3-rw
   - hsc3-sf
+  - hsc3-unsafe
   - hscaffold
   - hscamwire
   - hs-carbon-examples
   - hscd
   - hs-cdb
   - hscdio
+  - hschema
   - hscim
   - hsclock
   - hScraper
@@ -2340,6 +2356,8 @@ broken-packages:
   - hsdip
   - hsdns-cache
   - hs-dotnet
+  - hs-duktape
+  - hsebaysdk
   - hsenv
   - HSet
   - hs-excelx
@@ -2348,17 +2366,18 @@ broken-packages:
   - hsfilt
   - hs-fltk
   - hsforce
+  - hs-functors
   - hs-gizapp
   - hsgnutls
   - hsgnutls-yj
   - hsgsom
   - HsHaruPDF
-  - HsHTSLib
   - HsHyperEstraier
   - hsI2C
   - hSimpleDB
   - hsimport
-  - hsinspect-lsp
+  - hsini
+  - hsinspect
   - hs-java
   - hs-json-rpc
   - HsJudy
@@ -2369,33 +2388,34 @@ broken-packages:
   - hslogger-reader
   - hslogger-template
   - hs-logo
-  - hslua-examples
-  - hslua-module-version
   - hsluv-haskell
   - hsmagick
+  - HSmarty
   - hsmodetweaks
   - Hsmtlib
   - hsmtpclient
   - hsnock
   - hs-nombre-generator
   - hsns
-  - hsnsq
   - hsntp
-  - hs-opentelemetry-instrumentation-persistent
+  - hs-openmoji-data
+  - hs-opentelemetry-api
   - hsoptions
   - hsoz
   - hsparql
   - hs-pattrans
-  - hsp-cgi
   - hspear
   - hspec2
   - hspec-expectations-match
   - hspec-experimental
   - hspec-jenkins
+  - hspec-junit-formatter
   - hspec-monad-control
+  - hspec-slow
   - hspec-snap
   - hspec-structured-formatter
-  - hspec-webdriver
+  - hspec-tables
+  - hspec-wai-json
   - HsPerl5
   - hs-pgms
   - hspkcs11
@@ -2410,7 +2430,6 @@ broken-packages:
   - hs-rs-notify
   - hs-scrape
   - hsseccomp
-  - hssh
   - hs-snowtify
   - hsSqlite3
   - hssqlppp
@@ -2421,6 +2440,7 @@ broken-packages:
   - hs-term-emulator
   - hstest
   - hstidy
+  - HsTools
   - hs-twitter
   - hs-twitterarchiver
   - hstyle
@@ -2428,6 +2448,7 @@ broken-packages:
   - hs-vcard
   - hs-watchman
   - hsx
+  - hsx2hs
   - hsXenCtrl
   - hsyscall
   - hsyslog-tcp
@@ -2441,11 +2462,12 @@ broken-packages:
   - htiled
   - htlset
   - html-charset
-  - html-kure
+  - html-parse
   - html-rules
   - html-tokenizer
+  - htoml
+  - htoml-megaparsec
   - htsn
-  - htsn-import
   - htssets
   - http2-client
   - http2-grpc-proto-lens
@@ -2463,11 +2485,11 @@ broken-packages:
   - http-kinder
   - http-listen
   - http-monad
-  - http-pony
   - http-pony-serve-wai
   - http-proxy
   - http-querystring
   - http-response-decoder
+  - http-rfc7807
   - http-server
   - http-shed
   - http-wget
@@ -2479,12 +2501,14 @@ broken-packages:
   - huff
   - huffman
   - HulkImport
+  - hum
   - human-parse
   - human-text
   - humble-prelude
   - hums
   - hunch
   - HUnit-Diff
+  - HUnit-Plus
   - hunit-rematch
   - hunspell-hs
   - hup
@@ -2493,23 +2517,24 @@ broken-packages:
   - hutton
   - huttons-razor
   - hVOIDP
+  - hw-aeson
   - hwall-auth-iitk
   - hw-ci-assist
-  - hw-dump
+  - hw-conduit
   - hweblib
+  - hw-fingertree-strict
   - hwhile
-  - hw-json-simd
   - hw-mquery
   - hworker
-  - hw-simd
+  - hw-playground-linear
   - hwsl2
+  - hw-streams
   - hx
   - HXQ
   - hxt-cache
   - hxt-pickle-utils
   - hyakko
   - hydra-hs
-  - hydra-print
   - hydrogen
   - hydrogen-multimap
   - hylide
@@ -2518,16 +2543,19 @@ broken-packages:
   - hyperfunctions
   - hyperion
   - hyperloglogplus
+  - hyperscript
   - hypher
+  - hyraxAbif
   - hzulip
   - i18n
   - I1M
+  - i3blocks-hs-contrib
   - i3ipc
   - iap-verifier
   - iban
   - ib-api
   - ical
-  - icepeak
+  - icfpc2020-galaxy
   - IcoGrid
   - iconv-typed
   - ideas
@@ -2540,6 +2568,7 @@ broken-packages:
   - ieee-utils
   - iexcloud
   - ifcxt
+  - if-instance
   - IFS
   - ig
   - ige
@@ -2547,14 +2576,14 @@ broken-packages:
   - igraph
   - ihaskell-parsec
   - ihaskell-widgets
+  - ihp-hsx
   - illuminate
   - imagemagick
   - imagepaste
-  - imapget
-  - imgur
   - imj-prelude
   - immortal-worker
   - imperative-edsl
+  - imperative-edsl-vhdl
   - ImperativeHaskell
   - impl
   - implicit-logging
@@ -2562,13 +2591,13 @@ broken-packages:
   - imports
   - impossible
   - imprint
-  - inchworm
   - indentation-core
   - index-core
+  - indexed-containers
+  - indexed-do-notation
   - indextype
   - indices
   - infer-upstream
-  - infinity
   - inf-interval
   - infix
   - inflist
@@ -2579,6 +2608,7 @@ broken-packages:
   - inject-function
   - inline-asm
   - inline-r
+  - in-other-words-plugin
   - inserts
   - instana-haskell-trace-sdk
   - instance-map
@@ -2586,27 +2616,30 @@ broken-packages:
   - instinct
   - intcode
   - integer-pure
-  - integreat
   - intel-aes
   - intensional-datatys
+  - interact
   - interleavableGen
   - interleavableIO
   - interlude-l
   - internetmarke
   - intero
+  - interp
   - interpol
   - interpolatedstring-qq2
+  - interpolator
   - interruptible
   - interval
   - interval-algebra
   - IntFormats
   - int-multimap
   - intricacy
+  - intrinsic-superclasses
   - introduction
   - intro-prelude
-  - invert
-  - invertible
+  - invertible-hlist
   - invertible-syntax
+  - involutive-semigroups
   - io-capture
   - io-choice
   - ioctl
@@ -2615,8 +2648,10 @@ broken-packages:
   - iostring
   - iothread
   - iotransaction
+  - ip
   - ip2location
   - ip2proxy
+  - ipa
   - ipfs
   - ipopt-hs
   - ip-quoter
@@ -2625,7 +2660,7 @@ broken-packages:
   - Irc
   - irc-dcc
   - irc-fun-types
-  - iri
+  - ireal
   - iridium
   - iron-mq
   - irt
@@ -2643,6 +2678,7 @@ broken-packages:
   - ivory
   - ixdopp
   - ixmonad
+  - ixset-typed
   - ixshader
   - j
   - jack-bindings
@@ -2664,53 +2700,67 @@ broken-packages:
   - jdi
   - jenga
   - jenkinsPlugins2nix
-  - jespresso
   - jet-stream
+  - Jikka
   - jinquantities
   - jml-web-service
   - jni
-  - jobqueue
   - join-api
   - joinlist
+  - joint
   - jonathanscard
   - jordan
   - jort
+  - jose-jwt
+  - joy-rewrite
   - jpeg
-  - jsaddle-hello
+  - jsaddle-clib
+  - jsaddle-warp
   - jsaddle-wkwebview
   - js-good-parts
   - json2
   - json-alt
+  - json-api
+  - json-api-lib
   - json-assertions
   - json-ast-quickcheck
   - JSONb
   - json-builder
+  - json-directory
   - json-encoder
   - jsonextfilter
   - json-extra
   - json-fu
   - json-litobj
   - jsonnet
-  - json-pointer-hasql
+  - json-pointer
   - json-pointy
   - json-python
   - json-qq
   - jsonresume
-  - json-rpc-client
+  - json-rpc
+  - json-rpc-generic
+  - json-rpc-server
+  - jsonrpc-tinyclient
   - json-schema
   - jsonschema-gen
   - jsonsql
+  - json-stream
   - json-syntax
   - json-tools
   - json-tracer
   - jsontsv
   - jsonxlsx
+  - jsop
   - judge
   - judy
+  - juicy-gcode
   - JuicyPixels-blp
   - JuicyPixels-canvas
+  - JuicyPixels-util
   - JunkDB
   - jupyter
+  - justified-containers
   - JustParse
   - jvm-binary
   - jvm-parser
@@ -2722,51 +2772,56 @@ broken-packages:
   - Kalman
   - kangaroo
   - karabiner-config
-  - karps
+  - katip-datadog
   - katip-kafka
-  - katip-raven
+  - katip-logzio
   - katip-scalyr-scribe
   - katip-syslog
   - katt
   - katydid
   - kawaii
+  - Kawaii-Parser
   - kawhi
-  - kazura-queue
   - kdesrc-build-extra
+  - kdt
   - kd-tree
   - keccak
   - keera-hails-reactivevalues
+  - keid-core
   - keiretsu
   - kempe
   - kerry
+  - kesha
   - Ketchup
-  - keter
+  - kewar
+  - keycloak-hs
   - keyed
-  - keyring
   - khph
   - kickass-torrents-dump-parser
   - kickchan
+  - kleene-list
   - kmonad
   - kmp-dfa
+  - knots
   - koellner-phonetic
-  - koji-install
   - koneko
   - Konf
   - kontra-config
-  - kparams
+  - koofr-client
+  - korea-holidays
   - kraken
-  - krapsh
+  - krank
   - Kriens
   - krpc
   - KSP
   - ktx
-  - ktx-codec
-  - kubernetes-client
+  - kubernetes-client-core
+  - kubernetes-webhook-haskell
   - kuifje
   - kure
-  - kure-your-boilerplate
   - KyotoCabinet
   - labeled-graph
+  - lackey
   - lagrangian
   - lambda2js
   - lambdaBase
@@ -2775,16 +2830,16 @@ broken-packages:
   - lambda-bridge
   - lambda-canvas
   - lambdacms-core
+  - lambda-cube
   - lambdacube-core
   - lambdacube-engine
   - lambdacube-ir
   - LambdaDesigner
   - Lambdajudge
   - LambdaNet
+  - lambda-sampler
   - lambdatex
   - lambda-toolbox
-  - lambdatwit
-  - Lambdaya
   - lame
   - lame-tester
   - language-asn
@@ -2794,8 +2849,10 @@ broken-packages:
   - language-csharp
   - language-dart
   - language-dockerfile
+  - language-ecmascript
   - language-elm
   - language-gcl
+  - language-gemini
   - language-go
   - language-guess
   - language-hcl
@@ -2807,22 +2864,19 @@ broken-packages:
   - language-ocaml
   - language-openscad
   - language-pig
-  - language-puppet
   - language-rust
   - language-sh
   - language-sqlite
   - language-sygus
   - language-tl
   - language-typescript
-  - language-vhdl
   - language-webidl
-  - lapack-hmatrix
   - LargeCardinalHierarchy
   - Lastik
-  - latest-npm-version
   - latex-formulae-image
   - latex-svg-image
   - LATS
+  - launchdarkly-server-sdk
   - launchpad-control
   - lawless-concurrent-machines
   - layers
@@ -2835,6 +2889,7 @@ broken-packages:
   - lazyset
   - LazyVault
   - l-bfgs-b
+  - LC3
   - lcs
   - lda
   - ldif
@@ -2843,10 +2898,12 @@ broken-packages:
   - leapseconds
   - learn
   - Learning
+  - learning-hmm
   - learn-physics-examples
-  - leb128
   - leetify
   - lendingclub
+  - lens-datetime
+  - lenses
   - lens-filesystem
   - lens-labels
   - lens-prelude
@@ -2856,11 +2913,14 @@ broken-packages:
   - lens-text-encoding
   - lens-th-rewrite
   - lens-time
-  - lens-toml-parser
   - lens-tutorial
   - lens-typelevel
+  - lens-xml
+  - less-arbitrary
   - Level0
   - level-monad
+  - levenshtein
+  - levmar
   - lfst
   - lhc
   - lhs2TeX-hl
@@ -2874,42 +2934,41 @@ broken-packages:
   - libjenkins
   - libjwt-typed
   - libltdl
-  - libnix
   - liboath-hs
   - liboleg
   - libpafe
   - libpq
   - librandomorg
-  - libssh2
   - libsystemd-daemon
+  - libsystemd-journal
   - libtagc
   - libxls
   - libxlsxwriter-hs
   - libxslt
-  - libyaml-streamly
+  - libzfs
+  - licensor
   - lie
   - life-sync
+  - lifetimes
   - lifted-protolude
   - lifter
-  - lifx-lan
   - ligature
+  - light
   - lilypond
   - Limit
   - limp-cbc
   - linda
   - linden
-  - linear-accelerate
   - linear-algebra-cblas
-  - linear-base
-  - linear-code
-  - linear-generics
   - linear-maps
   - linear-opengl
   - linearscan
-  - linear-smc
+  - linear-socket
   - linear-vect
+  - line-bot-sdk
   - line-drawing
   - lines-of-action
+  - lingo
   - linkedhashmap
   - linked-list-with-iterator
   - linklater
@@ -2920,10 +2979,8 @@ broken-packages:
   - linux-kmod
   - linux-perf
   - linx-gateway
-  - lio-simple
   - lipsum-gen
   - liquid
-  - liquidhaskell
   - liquidhaskell-cabal
   - Liquorice
   - list-fusion-probe
@@ -2931,32 +2988,33 @@ 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
   - llvm-ffi
   - llvm-general-pure
+  - llvm-hs
   - llvm-ht
   - llvm-pretty
+  - lmdb-high-level
   - lmonad
-  - load-balancing
   - load-font
   - local-address
   - located
   - located-monad-logger
   - loch
   - log2json
-  - log4hs
   - log-base
   - logentries
   - logger
@@ -2970,10 +3028,11 @@ broken-packages:
   - lojbanParser
   - lojbanXiragan
   - lol
-  - lol-calculus
   - longboi
+  - longshot
   - lookup-tables
   - loopbreaker
+  - loop-dsl
   - looper
   - loops
   - loop-while
@@ -2983,24 +3042,25 @@ broken-packages:
   - loris
   - loshadka
   - lowgl
-  - lp-diagrams-svg
+  - lp-diagrams
   - LRU
+  - lrucaching
   - lscabal
   - L-seed
   - lsfrom
-  - ltext
   - ltiv1p1
   - ltk
   - LTS
   - lua-bc
   - luautils
+  - lucid-htmx
+  - lucid-hyperscript
   - luis-client
   - luka
   - luminance
   - lushtags
   - luthor
   - lvmlib
-  - lxc
   - lxd-client
   - lye
   - lz4-frame-conduit
@@ -3012,36 +3072,37 @@ broken-packages:
   - mac
   - macaroon-shop
   - machinecell
+  - machines-attoparsec
+  - machines-binary
   - machines-bytestring
-  - machines-directory
   - machines-encoding
+  - machines-io
   - machines-zlib
   - macho
   - maclight
   - macos-corelibs
   - macrm
   - madlang
+  - mad-props
   - mage
   - MagicHaskeller
   - magic-tyfams
-  - magma
   - mailchimp
-  - MailchimpSimple
   - mailchimp-subscribe
   - makedo
   - makefile
   - make-hard-links
   - make-monofoldable-foldable
-  - make-package
   - mallard
-  - mandrill
   - mandulia
   - mangopay
   - Map
   - mapalgebra
+  - map-classes
   - map-exts
   - Mapping
   - mappy
+  - MapWith
   - markdown-kate
   - marked-pretty
   - markov-realization
@@ -3049,6 +3110,7 @@ broken-packages:
   - marvin-interpolate
   - MASMGen
   - massiv-persist
+  - massiv-scheduler
   - massiv-serialise
   - master-plan
   - mathflow
@@ -3057,8 +3119,10 @@ broken-packages:
   - math-metric
   - math-programming
   - matrix-as-xyz
+  - matrix-lens
   - matrix-market
   - matrix-sized
+  - matroid
   - maude
   - maxent-learner-hw
   - maybench
@@ -3084,23 +3148,27 @@ broken-packages:
   - Mecha
   - mechs
   - Mechs
+  - medea
   - mediabus
   - mediawiki
   - medium-sdk-haskell
+  - meep
   - megalisp
-  - mega-sdist
+  - melf
   - mellon-core
   - melody
+  - membrain
   - memcached
   - memcached-binary
   - memcache-haskell
-  - memis
+  - meminfo
   - memoization-utils
   - memo-ptr
-  - memorable-bits
   - memorypool
+  - memo-sqlite
   - menoh
   - menshen
+  - mergeful
   - merkle-tree
   - messagepack-rpc
   - messente
@@ -3109,6 +3177,7 @@ broken-packages:
   - metaheuristics
   - meta-misc
   - meta-par
+  - method
   - metric
   - metricsd-client
   - mezzo
@@ -3117,19 +3186,16 @@ broken-packages:
   - MHask
   - mi
   - miconix-test
-  - microbase
-  - microformats2-parser
+  - microaeson
   - microgroove
   - microlens-each
-  - micrologger
   - micro-recursion-schemes
   - microsoft-translator
   - mida
-  - midi-music-box
+  - midi-simple
   - midisurface
   - midi-utils
-  - migrant-hdbc
-  - migrant-postgresql-simple
+  - migrant-core
   - mikmod
   - mikrokosmos
   - miku
@@ -3139,16 +3205,16 @@ broken-packages:
   - miniforth
   - minilens
   - minilight
+  - minio-hs
   - minions
   - miniplex
-  - minirotate
   - ministg
   - minizinc-process
   - minst-idx
   - mios
   - MIP
-  - mirror-tweet
-  - miso-action-logger
+  - mismi-s3-core
+  - miso
   - miso-examples
   - mit-3qvpPyAi6mH
   - mix-arrows
@@ -3157,10 +3223,14 @@ broken-packages:
   - mltool
   - ml-w
   - mm2
-  - mmark
+  - mmark-ext
+  - mmsyn2
+  - mmsyn3
   - mmtf
   - mmtl
   - Mobile-Legends-Hack-Cheats
+  - mockazo
+  - mock-httpd
   - mock-time
   - modelicaparser
   - modular-prelude
@@ -3178,12 +3248,14 @@ broken-packages:
   - monad-bayes
   - monad-branch
   - MonadCatchIO-transformers
+  - monad-choice
   - MonadCompose
+  - monad-control-identity
   - monad-fork
   - monad-http
   - monadiccp
-  - monadic-recursion-schemes
   - monad-interleave
+  - monad-introspect
   - Monadius
   - monad-levels
   - monad-lgbt
@@ -3211,6 +3283,7 @@ broken-packages:
   - monad-timing
   - monad-tx
   - monad-unify
+  - monad-unlift
   - monad-wrap
   - Monatron
   - mondo
@@ -3224,33 +3297,33 @@ broken-packages:
   - monoidplus
   - monoids
   - monopati
-  - months
   - monus
-  - monus-weighted-search
   - monzo
+  - moo-nad
   - morfette
   - morfeusz
-  - morpheus-graphql-cli
-  - morpheus-graphql-code-gen
+  - morloc
+  - morpheus-graphql-core
   - morphisms-functors
   - morphisms-objects
   - morte
-  - mortred
-  - moto-postgresql
-  - motor-reflection
+  - mosaico-lib
+  - motor
   - mount
   - movie-monad
+  - mpeff
   - mpppc
   - mpris
-  - mptcp-pm
   - mpvguihs
   - mqtt
   - mqtt-hs
+  - mr-env
   - mrifk
   - mrm
   - ms
   - msgpack
   - msgpack-binary
+  - msgpack-persist
   - msh
   - msi-kb-backlit
   - MTGBuilder
@@ -3260,18 +3333,16 @@ broken-packages:
   - mtl-tf
   - mtlx
   - mtp
+  - mtsl
   - MuCheck
   - mud
   - mudbath
   - muesli
-  - mu-graphql
   - mulang
   - multext-east-msd
   - multiaddr
   - multiarg
-  - multi-except
   - multihash
-  - multi-instance
   - multilinear
   - multipass
   - multipath
@@ -3281,15 +3352,13 @@ broken-packages:
   - multivariant
   - Munkres-simple
   - muon
-  - murmur
-  - murmur3
-  - mushu
+  - mu-schema
   - musicScroll
   - music-util
   - musicxml
   - mustache2hs
   - mustache-haskell
-  - mvar-lock
+  - mutable-lens
   - mvc
   - mxnet
   - mxnet-nnvm
@@ -3302,12 +3371,14 @@ broken-packages:
   - mysql-simple-quasi
   - mystem
   - my-test-docs
+  - mywatch
   - myxine-client
   - mzv
   - n2o-protocols
   - nagios-plugin-ekg
+  - namecoin-update
   - named-lock
-  - named-servant-server
+  - named-servant
   - named-sop
   - namelist
   - nanoAgda
@@ -3326,7 +3397,6 @@ broken-packages:
   - naqsha
   - narc
   - nationstates
-  - nat-optics
   - nats-client
   - nat-sized-numbers
   - natural
@@ -3339,7 +3409,9 @@ broken-packages:
   - needle
   - neet
   - nehe-tuts
+  - neil
   - neither
+  - neither-data
   - neko-lib
   - Neks
   - neptune-backend
@@ -3349,20 +3421,24 @@ broken-packages:
   - nestedmap
   - nested-sequence
   - netclock
+  - netcore
   - netease-fm
-  - net-mqtt-rpc
+  - net-mqtt
   - netrium
   - NetSNMP
   - netspec
   - net-spider
+  - nettle-openflow
   - netwire-input-javascript
   - netwire-vinylglfw-examples
   - network-address
   - network-api-support
+  - network-arbitrary
   - network-attoparsec
   - network-bitcoin
   - network-builder
   - network-bytestring
+  - network-carbon
   - network-dbus
   - network-dns
   - networked-game
@@ -3378,13 +3454,11 @@ broken-packages:
   - network-socket-options
   - network-transport-amqp
   - network-transport-inmemory
-  - network-transport-tests
-  - network-uri-json
   - network-voicetext
   - network-wai-router
-  - neural
   - neural-network-blashs
   - neural-network-hmatrix
+  - newbase60
   - newhope
   - newports
   - newsletter
@@ -3398,20 +3472,21 @@ broken-packages:
   - niagra
   - nibblestring
   - nice-html
-  - nicovideo-translator
   - nitro
   - nix-delegate
   - nix-deploy
   - nix-eval
   - nix-freeze-tree
   - nixfromnpm
+  - nix-graph
+  - nix-linter
   - nixpkgs-update
   - nix-tools
-  - nkjp
   - nlp-scores
   - nm
   - NMap
   - nme
+  - nn
   - nntp
   - noether
   - nofib-analyse
@@ -3419,6 +3494,7 @@ broken-packages:
   - noise
   - nom
   - NonEmpty
+  - non-empty-containers
   - nonempty-lift
   - non-empty-zipper
   - noodle
@@ -3426,12 +3502,11 @@ broken-packages:
   - notcpp
   - not-gloss-examples
   - NoTrace
-  - now-haskell
+  - notzero
   - np-extras
   - np-linear
   - nptools
-  - nri-kafka
-  - nri-postgresql
+  - nri-prelude
   - ntp-control
   - ntrip-client
   - n-tuple
@@ -3442,24 +3517,23 @@ broken-packages:
   - NumberSieves
   - NumberTheory
   - numerals-base
+  - numeric-ode
   - numeric-qq
   - numeric-ranges
-  - numhask
-  - numhask-array
   - numhask-free
+  - numhask-histogram
   - numhask-prelude
-  - numhask-space
   - Nutri
+  - nvim-hs-contrib
   - NXTDSL
+  - nyan-interpolation-core
   - nylas
   - nyx-game
-  - oanda-rest-api
   - oasis-xrd
   - oauth2-jwt-bearer
   - oauthenticated
   - Object
   - ObjectIO
-  - objective
   - oblivious-transfer
   - ocaml-export
   - Octree
@@ -3484,27 +3558,24 @@ broken-packages:
   - onama
   - ONC-RPC
   - on-demand-ssh-tunnel
-  - one-line-aeson-text
-  - one-liner-instances
   - oneormore
   - onpartitions
   - onu-course
   - op
   - opaleye-classy
   - opaleye-sqlite
+  - opaleye-trans
   - open-adt
   - OpenAFP
-  - openai-hs
   - openai-servant
-  - openapi3-code-generator
   - openapi-petstore
   - openapi-typed
-  - opencc
   - opench-meteo
   - OpenCL
   - OpenCLRaw
   - OpenCLWrappers
   - opencog-atomspace
+  - opencv
   - opencv-raw
   - opendatatable
   - openexchangerates
@@ -3521,14 +3592,14 @@ broken-packages:
   - opentelemetry-http-client
   - opentheory-char
   - opentok
-  - opentracing-jaeger
-  - opentracing-zipkin-v1
   - opentype
+  - open-typerep
   - OpenVGRaw
+  - openweathermap
+  - open-witness
   - Operads
   - operate-do
   - operational-extra
-  - oplang
   - opn
   - optima
   - optimization
@@ -3536,6 +3607,7 @@ broken-packages:
   - options-time
   - optparse-applicative-simple
   - optparse-helper
+  - orbits
   - orc
   - orchestrate
   - OrchestrateDB
@@ -3549,8 +3621,11 @@ broken-packages:
   - org-mode
   - orgmode
   - origami
+  - orion-hs
   - orizentic
   - OrPatterns
+  - ory-hydra-client
+  - ory-kratos
   - osc
   - oscpacking
   - oset
@@ -3567,8 +3642,8 @@ broken-packages:
   - owoify-hs
   - pack
   - package-description-remote
-  - package-o-tron
   - package-vt
+  - packdeps
   - packed
   - packed-dawg
   - packed-multikey-map
@@ -3577,33 +3652,36 @@ broken-packages:
   - packman
   - packunused
   - pacman-memcache
+  - padic
   - pads-haskell
   - pagarme
   - pagerduty
+  - pagerduty-hs
   - pagure-hook-receiver
-  - Paillier
-  - palette
   - PandocAgda
   - pandoc-citeproc
+  - pandoc-emphasize-code
   - pandoc-filter-graphviz
   - pandoc-filter-indent
   - pandoc-include
   - pandoc-lens
-  - pandoc-lua-marshal
+  - pandoc-link-context
   - pandoc-markdown-ghci-filter
   - pandoc-placetable
+  - pandoc-plantuml-diagrams
   - pandoc-pyplot
   - pandoc-unlit
   - pandoc-utils
-  - pandora-io
+  - pandora
   - pang-a-lambda
   - pangraph
-  - pan-os-syslog
   - panpipe
   - pansite
   - pantry-tmp
   - papa-base-export
   - papa-include
+  - papa-lens-export
+  - papa-lens-implement
   - papa-prelude
   - papa-prelude-core
   - papa-prelude-lens
@@ -3615,12 +3693,15 @@ broken-packages:
   - pappy
   - paragon
   - parallel-tasks
+  - parameterized-data
   - paranoia
   - parco
   - parcom-lib
   - par-dual
   - pareto
+  - paripari
   - parochial
+  - PArrows
   - Parry
   - parse
   - parseargs
@@ -3638,11 +3719,9 @@ broken-packages:
   - parsers-megaparsec
   - parser-unbiased-choice-monad-embedding
   - parsimony
-  - parsley
   - parsley-core
-  - parsnip
-  - partage
   - partial-records
+  - partial-semigroup-hedgehog
   - partly
   - passage
   - passman
@@ -3657,6 +3736,7 @@ broken-packages:
   - Pathfinder
   - pathfindingcore
   - PathTree
+  - patrol
   - patronscraper
   - paypal-adaptive-hoops
   - paypal-api
@@ -3684,33 +3764,30 @@ broken-packages:
   - peggy
   - pencil
   - penntreebank-megaparsec
+  - penrose
   - percent-encoder
   - perceptron
   - peregrin
-  - perf
   - PerfectHash
+  - perfect-vector-shuffle
   - perhaps
   - periodic
   - periodic-common
+  - periodic-polynomials
   - permutation
-  - permutations
   - permute
   - persist2er
   - Persistence
   - persistent-cereal
   - persistent-database-url
-  - persistent-discover
-  - persistent-documentation
   - persistent-equivalence
+  - persistent-generic
   - persistent-mongoDB
-  - persistent-mysql-haskell
   - persistent-odbc
-  - persistent-postgresql-streaming
   - persistent-protobuf
   - persistent-ratelimit
-  - persistent-redis
-  - persistent-relational-record
   - persistent-template-classy
+  - persistent-typed-db
   - persistent-zookeeper
   - persona
   - pesca
@@ -3730,15 +3807,12 @@ broken-packages:
   - phone-metadata
   - phone-numbers
   - phone-push
-  - phonetic-languages-plus
-  - phonetic-languages-properties
-  - phonetic-languages-simplified-properties-lists
-  - phonetic-languages-simplified-properties-lists-double
-  - phonetic-languages-ukrainian-array
+  - phonetic-languages-constaints
+  - phonetic-languages-rhythmicity
+  - phonetic-languages-vector
   - phraskell
   - Phsu
   - phybin
-  - pia-forward
   - pi-calculus
   - picedit
   - pickle
@@ -3750,28 +3824,39 @@ broken-packages:
   - pi-forall
   - pig
   - pi-hoole
+  - pinboard
+  - pinch-gen
   - pinchot
+  - pine
   - Pipe
   - pipes-async
   - pipes-bgzf
+  - pipes-break
+  - pipes-brotli
+  - pipes-bzip
+  - pipes-category
+  - pipes-cborg
   - pipes-cereal
   - pipes-core
   - pipes-errors
   - pipes-interleave
   - pipes-io
-  - pipes-protolude
+  - pipes-network
   - pipes-rt
   - pipes-s3
   - pipes-shell
   - pipes-sqlite-simple
-  - pipes-transduce
+  - pipes-text
   - pipes-vector
   - pipes-zeromq4
+  - pipes-zlib
   - Piso
   - pit
   - pivotal-tracker
+  - pixela
   - pixelated-avatar-generator
   - pixel-printer
+  - pixiv
   - pkcs10
   - pkcs7
   - pkggraph
@@ -3785,15 +3870,17 @@ broken-packages:
   - plat
   - platinum-parsing
   - PlayingCards
+  - playlists
   - plex
   - plist
   - plist-buddy
   - plivo
+  - ploterific
   - plot-gtk
   - plot-gtk3
   - plot-gtk-ui
   - plot-lab
-  - plugins-auto
+  - plugins
   - plugins-multistage
   - plumbers
   - plur
@@ -3806,22 +3893,29 @@ broken-packages:
   - pointful
   - pointless-haskell
   - pokemon-go-protobuf-types
-  - poker-base
+  - poker
   - poker-eval
   - pokitdok
   - polar-configfile
   - polar-shader
+  - policeman
+  - polling-cache
   - Pollutocracy
   - poly-cont
   - poly-control
   - polydata-core
   - polynom
   - polynomial
+  - polynomial-algebra
   - polysemy-check
-  - polysemy-http
-  - polysemy-process
+  - polysemy-keyed-state
+  - polysemy-kvstore-jsonfile
+  - polysemy-mocks
+  - polysemy-readline
+  - polysemy-req
   - polysemy-zoo
   - polytypeable
+  - polyvariadic
   - pomaps
   - pomohoro
   - ponder
@@ -3845,14 +3939,14 @@ broken-packages:
   - postgres-embedded
   - PostgreSQL
   - postgresql-lo-stream
-  - postgresql-migration
   - postgresql-named
+  - postgresql-query
   - postgresql-resilient
   - postgresql-simple-bind
   - postgresql-simple-named
   - postgresql-simple-sop
-  - postgresql-simple-url
-  - postgresql-syntax
+  - postgresql-transactional
+  - postgresql-tx-simple
   - postgresql-typed-lifted
   - postgres-tmp
   - postgrest-ws
@@ -3865,8 +3959,6 @@ broken-packages:
   - powerdns
   - powermate
   - powerpc
-  - powerqueue-distributed
-  - powerqueue-levelmem
   - pprecord
   - PPrinter
   - pqc
@@ -3876,9 +3968,9 @@ broken-packages:
   - precis
   - precursor
   - predicate-class
+  - predicate-transformers
   - predicate-typed
   - prednote
-  - prefork
   - pregame
   - preliminaries
   - Prelude
@@ -3893,8 +3985,10 @@ broken-packages:
   - pretty-ghci
   - pretty-ncols
   - prettyprinter-vty
+  - prim
+  - primal
   - prim-array
-  - primecount
+  - prime
   - primes-type
   - prim-instances
   - PrimitiveArray-Pretty
@@ -3908,14 +4002,16 @@ broken-packages:
   - primitive-simd
   - primitive-stablename
   - prim-ref
+  - prim-spoon
   - pringletons
   - printcess
   - print-debugger
+  - print-info
   - prints
   - PriorityChansConverger
   - priority-queue
-  - pro-abstract
   - probable
+  - Probnet
   - process-conduit
   - processing
   - process-leksah
@@ -3926,14 +4022,14 @@ broken-packages:
   - prof2pretty
   - prof-flamegraph
   - profunctor-monad
-  - progress
   - progression
   - progressive
   - progress-meter
   - progress-reporting
   - proj4-hs-bindings
   - projectile
-  - prolog-graph
+  - prolens
+  - prolog
   - promise
   - pronounce
   - proof-combinators
@@ -3942,13 +4038,10 @@ broken-packages:
   - property-list
   - prosidy
   - prosper
-  - proteaaudio
-  - proteaaudio-sdl
   - protocol
   - protocol-buffers-fork
-  - proto-lens-arbitrary
   - proto-lens-combinators
-  - proto-lens-optparse
+  - proto-lens-jsonpb
   - protolude-lifted
   - proton-haskell
   - prototype
@@ -3956,10 +4049,10 @@ broken-packages:
   - provenience
   - proxy-kindness
   - proxy-mapping
-  - prune-juice
-  - psc-ide
   - pseudo-trie
+  - PSQueue
   - PTQ
+  - publicsuffix
   - publicsuffixlistcreate
   - publish
   - pubnub
@@ -3969,13 +4062,16 @@ broken-packages:
   - pugs-HsSyck
   - PUH-Project
   - Pup-Events-Server
+  - purebred-email
   - pure-io
   - pure-priority-queue
-  - purescript-tsd-gen
+  - purescript-ast
+  - purescript-cst
   - pure-zlib
+  - pushbullet
+  - pushbullet-types
   - pusher-haskell
   - pusher-ws
-  - pushme
   - push-notifications
   - putlenses
   - puzzle-draw
@@ -3992,11 +4088,11 @@ broken-packages:
   - QLearn
   - qlinear
   - qnap-decrypt
-  - qr-imager
   - qsem
   - qt
   - QuadEdge
   - QuadTree
+  - quandl-api
   - quantfin
   - quantification
   - quantum-arrow
@@ -4006,23 +4102,21 @@ broken-packages:
   - querystring-pickle
   - questioner
   - QuickAnnotate
-  - quickbooks
+  - quickcheck-arbitrary-template
   - quickcheck-property-comb
   - quickcheck-property-monad
   - quickcheck-rematch
   - quickcheck-report
-  - QuickCheckVariant
-  - quickcheck-webdriver
   - quickjs-hs
   - QuickPlot
   - quickpull
   - quick-schema
   - quickset
+  - quickson
   - Quickson
   - quickspec
   - quickwebapp
   - quipper-core
-  - quipper-utils
   - quiver
   - quokka
   - quoridor-hs
@@ -4032,10 +4126,12 @@ broken-packages:
   - radium
   - radium-formula-parser
   - radix
+  - radixtree
   - rados-haskell
   - raft
   - rakhana
   - rakuten
+  - ralist
   - raml
   - randfile
   - rando
@@ -4043,26 +4139,31 @@ broken-packages:
   - random-derive
   - RandomDotOrg
   - random-eff
+  - Randometer
+  - random-extras
   - random-stream
   - rand-vars
   - Range
   - rangemin
-  - range-set-list
+  - rank1dynamic
+  - rank-product
   - rapid
   - rapid-term
-  - rascal
   - Rasenschach
   - rational-list
   - rattle
   - rattletrap
-  - raven-haskell-scotty
+  - raven-haskell
   - raz
   - rbst
   - rclient
+  - rdf
   - react-flux
   - react-haskell
   - reaction-logic
   - reactive-bacon
+  - reactive-banana-automation
+  - reactive-banana-bunch
   - reactive-banana-gi-gtk
   - reactive-banana-sdl2
   - reactive-banana-threepenny
@@ -4072,21 +4173,24 @@ broken-packages:
   - read-bounded
   - read-ctags
   - read-io
-  - readline-in-other-words
   - readline-statevar
   - readme-lhs
   - readshp
   - really-simple-xml-parser
   - reanimate-svg
   - reasonable-lens
+  - reason-export
   - record
   - record-encode
   - records
+  - records-sop
+  - record-wrangler
+  - recursion-schemes-ext
+  - recursion-schemes-ix
   - recursors
   - red-black-record
   - redis-hs
   - redis-simple
-  - redland
   - Redmine
   - reedsolomon
   - reenact
@@ -4100,11 +4204,12 @@ broken-packages:
   - reflex-basic-host
   - reflex-dom-ace
   - reflex-dom-contrib
-  - reflex-dom-helper
+  - reflex-dom-fragment-shader-canvas
   - reflex-dom-helpers
   - reflex-dom-retractable
   - reflex-dom-svg
-  - reflex-dynamic-containers
+  - reflex-dom-th
+  - reflex-external-ref
   - reflex-fsnotify
   - reflex-gadt-api
   - reflex-gi-gtk
@@ -4113,14 +4218,16 @@ broken-packages:
   - reflex-libtelnet
   - reflex-orphans
   - reflex-sdl2
+  - reflex-test-host
   - reflex-transformers
   - reflex-vty
   - ref-mtl
   - reformat
-  - refractor
   - refresht
+  - refty
   - reg-alloc
   - regex-dfa
+  - regexdot
   - regex-generator
   - regex-parsec
   - regex-posix-unittest
@@ -4139,7 +4246,6 @@ broken-packages:
   - register-machine-typelevel
   - registry
   - regress
-  - regression-simple
   - regular
   - rehoo
   - rei
@@ -4147,21 +4253,17 @@ broken-packages:
   - reify
   - relacion
   - relapse
-  - relational-postgresql8
-  - relational-query-postgresql-pure
   - relevant-time
-  - reload
   - remark
   - remarks
   - remote
   - remote-debugger
   - remote-monad
   - reorderable
-  - reorder-expression
-  - repa-algorithms
   - repa-bytestring
   - repa-devil
   - repa-eval
+  - repa-examples
   - repa-linear-algebra
   - repa-scalar
   - repa-series
@@ -4169,20 +4271,20 @@ broken-packages:
   - RepLib
   - replica
   - ReplicateEffects
-  - repo-based-blog
+  - repl-toolkit
   - representable-functors
   - reproject
-  - reqcatcher
   - req-conduit
+  - request
   - request-monad
+  - requirements
   - req-url-extra
-  - reserve
   - reservoir
-  - resin
   - resolve
   - resolve-trivial-conflicts
   - resource-effect
   - resource-embed
+  - respond
   - restartable
   - rest-rewrite
   - restyle
@@ -4195,38 +4297,37 @@ broken-packages:
   - reversi
   - ReviewBoard
   - rewrite-inspector
-  - rfc
   - rfc-prelude
   - rhbzquery
   - riak
   - riak-protobuf-lens
   - ribbit
-  - ribosome
   - RichConditional
   - ridley
   - riemann
   - riff
+  - rigel-viz
   - ring-buffer
   - ring-buffers
   - riscv-isa
+  - rison
   - Ritt-Wu
   - rivers
   - rivet-migration
   - rivet-simple-deploy
-  - RJson
+  - Rlang-QQ
   - rlglue
   - RLP
   - rl-satton
+  - RNAdraw
   - robin
   - robots-txt
   - roc-cluster
-  - rocksdb-haskell
   - roku-api
-  - rollbar
   - rollbar-client
   - rollbar-hs
   - roller
-  - ron-rdt
+  - ron
   - rope
   - rosebud
   - rose-trees
@@ -4236,13 +4337,13 @@ broken-packages:
   - rounding
   - roundtrip-aeson
   - rowrecord
+  - row-types-aeson
   - R-pandoc
   - rpc-framework
   - rpm
   - rpmbuild-order
   - rrule
   - rspp
-  - rss
   - rss2irc
   - rstream
   - RtMidi
@@ -4253,11 +4354,11 @@ broken-packages:
   - ruby-qq
   - ruff
   - ruin
-  - rungekutta
   - runhs
   - runmany
   - rws
   - RxHaskell
+  - rz-pipe
   - SableCC2Hs
   - safe-buffer-monad
   - safe-coerce
@@ -4269,10 +4370,11 @@ broken-packages:
   - safe-lazy-io
   - safe-length
   - safepath
-  - safe-plugins
   - safe-printf
   - saferoute
+  - safe-tensor
   - sajson
+  - sakuraio-platform
   - salak-toml
   - Salsa
   - salvia-protocol
@@ -4282,29 +4384,27 @@ broken-packages:
   - sat
   - satchmo
   - Saturnin
+  - satyros
   - savage
   - sax
   - sbvPlugin
   - sc2-proto
+  - scale
   - scaleimage
   - scalendar
-  - scanner-attoparsec
   - scc
-  - scenegraph
   - scgi
-  - schedevr
+  - schedule
   - schedule-planner
   - schedyield
   - schemas
   - scholdoc-types
-  - SciBaseTypes
   - scidb-hquery
   - sci-ratio
   - scons2dot
   - scottish
   - scotty-binding-play
   - scotty-blaze
-  - scotty-fay
   - scotty-form
   - scotty-format
   - scotty-params-parser
@@ -4321,33 +4421,33 @@ broken-packages:
   - scrz
   - scythe
   - scyther-proof
+  - sde-solver
   - sdl2-cairo-image
   - sdl2-compositor
   - sdl2-fps
   - sdr
   - seacat
   - seakale
+  - search
   - sec
   - secdh
   - seclib
   - second-transfer
   - secp256k1
-  - secp256k1-haskell
   - secp256k1-legacy
   - secret-santa
-  - SecureHash-SHA3
   - secure-sockets
   - secureUDP
+  - SegmentTree
+  - selda-json
   - selectors
   - selenium
   - selinux
-  - semantic-source
   - Semantique
   - semdoc
   - semialign-extras
   - semibounded-lattices
   - Semigroup
-  - semigroupoids-do
   - semigroupoids-syntax
   - semigroups-actions
   - sendgrid-haskell
@@ -4355,6 +4455,7 @@ broken-packages:
   - sensei
   - sensu-run
   - sentry
+  - separated
   - SeqAlign
   - sequent-core
   - serialize-instances
@@ -4362,50 +4463,45 @@ broken-packages:
   - serokell-util
   - servant-aeson-specs
   - servant-auth-cookie
-  - servant-auth-docs
   - servant-auth-hmac
-  - servant-auth-token-api
   - servant-avro
   - servant-benchmark
+  - servant-cassava
   - servant-client-js
   - servant-db
   - servant-dhall
   - servant-docs-simple
-  - servant-ekg
   - servant-elm
-  - servant-fiat-content
+  - servant-errors
+  - servant-gdp
   - servant-generate
   - servant-generic
   - servant-github
-  - servant-haxl-client
+  - servant-github-webhook
   - servant-hmac-auth
-  - servant-http-streams
-  - servant-jquery
-  - servant-js
-  - servant-JuicyPixels
+  - servant-htmx
+  - servant-iCalendar
+  - servant-jsonrpc
   - servant-kotlin
   - servant-mock
   - servant-namedargs
   - servant-nix
-  - servant-pagination
   - servant-pandoc
   - servant-pool
   - servant-proto-lens
   - servant-purescript
-  - servant-pushbullet-client
   - servant-py
   - servant-quickcheck
-  - servant-reason
   - servant-reflex
   - servant-router
   - servant-scotty
   - servant-seo
   - servant-smsc-ru
+  - servant-stache
   - servant-static-th
   - servant-streaming
-  - servant-to-elm
-  - servant-tracing
-  - servant-util-beam-pg
+  - servant-streamly
+  - servant-wasm
   - servant-yaml
   - servant-zeppelin
   - server-generic
@@ -4424,8 +4520,6 @@ broken-packages:
   - setters
   - set-with
   - sexp
-  - sexpresso
-  - sexpr-parser
   - sext
   - SFML
   - sfmt
@@ -4437,8 +4531,6 @@ broken-packages:
   - shade
   - shadower
   - shady-gen
-  - shake-bindist
-  - shakebook
   - shake-cabal
   - shake-cabal-build
   - shake-dhall
@@ -4449,6 +4541,7 @@ broken-packages:
   - shake-persist
   - shakespeare-babel
   - shakespeare-sass
+  - shapes
   - shared-buffer
   - shared-fields
   - sha-streams
@@ -4466,17 +4559,13 @@ broken-packages:
   - shorten-strings
   - short-vec
   - show-prettyprint
-  - Shpadoinkle-backend-pardiff
-  - Shpadoinkle-backend-snabbdom
-  - Shpadoinkle-backend-static
-  - Shpadoinkle-html
+  - Shpadoinkle-console
   - Shpadoinkle-isreal
-  - Shpadoinkle-streaming
-  - Shpadoinkle-template
-  - Shpadoinkle-widgets
   - shwifty
   - sifflet
   - sifflet-lib
+  - signable
+  - signable-haskell-protoc
   - signed-multiset
   - simd
   - simple-actors
@@ -4488,14 +4577,14 @@ broken-packages:
   - simpleconfig
   - simple-css
   - simple-download
+  - simple-effects
   - simple-eval
   - simple-form
   - simple-genetic-algorithm
   - SimpleH
   - simple-index
   - simpleirc
-  - simple-logging
-  - simple-log-syslog
+  - simple-log
   - simple-money
   - simple-neural-networks
   - simplenote
@@ -4509,20 +4598,20 @@ broken-packages:
   - simplest-sqlite
   - simple-tabular
   - simple-tar
+  - simple-templates
   - simple-ui
   - simple-units
-  - simple-vec3
   - simplexmq
   - simple-zipper
+  - simplistic-generics
   - singleton-dict
-  - singletons-th
   - singleton-typelits
+  - single-tuple
   - singnal
-  - singular-factory
   - sink
-  - Sit
   - sitepipe
   - sixfiguregroup
+  - sized
   - sized-grid
   - sized-types
   - sized-vector
@@ -4532,35 +4621,41 @@ broken-packages:
   - skeletal-set
   - skell
   - skemmtun
-  - skews
   - skulk
+  - skylighting-extensions
   - skylighting-lucid
   - skype4hs
   - slack
+  - slack-api
   - slack-notify-haskell
   - slack-verify
+  - slack-web
   - slave-thread
   - sliceofpy
+  - slick
   - Slides
   - slim
   - sloane
   - sloth
   - slot-lambda
   - slug
-  - slugify
   - smallarray
   - small-bytearray-builder
+  - smallcaps
   - smallcheck-kind-generics
-  - smallcheck-laws
-  - smallcheck-lens
+  - smallcheck-series
   - smallpt-hs
   - smap
   - smartcheck
   - smartconstructor
   - smartGroup
+  - smash-aeson
+  - smash-lens
+  - smash-optics
   - sme
   - smerdyakov
   - smiles
+  - smoothie
   - smsaero
   - smt2-parser
   - smt-lib
@@ -4577,44 +4672,43 @@ broken-packages:
   - snap-blaze-clay
   - snap-configuration-utilities
   - snap-error-collector
+  - snap-language
   - snaplet-acid-state
   - snaplet-amqp
   - snaplet-css-min
-  - snaplet-customauth
   - snaplet-environments
-  - snaplet-fay
   - snaplet-hslogger
   - snaplet-influxdb
+  - snaplet-mandrill
   - snaplet-mongodb-minimalistic
   - snaplet-persistent
   - snaplet-postgresql-simple
+  - snaplet-purescript
+  - snaplet-redis
   - snaplet-sass
   - snaplet-scoped-session
   - snaplet-ses-html
   - snaplet-sqlite-simple
-  - snaplet-typed-sessions
   - snap-predicates
   - snappy-conduit
   - snap-routes
   - snap-stream
   - snap-testing
   - snap-web-routes
-  - sneakyterm
   - SNet
   - snipcheck
   - snorkels
+  - snowchecked
   - snowtify
   - socket-activation
   - socketed
   - socketio
   - sockets-and-pipes
   - socket-sctp
-  - socketson
   - socket-unix
   - sodium
   - soegtk
   - softfloat-hs
-  - solga
   - sonic-visualiser
   - Sonnex
   - SoOSiM
@@ -4622,22 +4716,21 @@ broken-packages:
   - sorting
   - sorty
   - souffle-haskell
-  - sound-collage
+  - source-constraints
   - sousit
   - soyuz
-  - SpaceInvaders
   - spacepart
-  - SpacePrivateers
   - spake2
   - spanout
   - spars
   - sparse
   - sparsecheck
   - sparse-lin-alg
+  - sparse-tensor
   - spartacon
   - special-functors
   - special-keys
-  - speculate
+  - spectacle
   - speculation
   - sphinx
   - sphinxesc
@@ -4645,15 +4738,16 @@ broken-packages:
   - spir-v
   - splay
   - splaytree
-  - splint
   - split-morphism
   - splitter
-  - Spock
   - Spock-api-ghcjs
+  - Spock-auth
   - spoonutil
   - spoty
   - Sprig
   - spritz
+  - sproxy
+  - sproxy-web
   - spsa
   - spy
   - sqlcipher
@@ -4661,14 +4755,11 @@ broken-packages:
   - sqlite-simple-errors
   - sql-simple
   - sqlvalue-list
-  - sqsd-local
-  - squeal-postgresql
   - srcinst
   - sscan
   - ssh
   - ssh-tunnel
   - SSTG
-  - st2
   - stable-heap
   - stable-maps
   - stable-marriage
@@ -4676,19 +4767,17 @@ broken-packages:
   - stack2cabal
   - stack2nix
   - stackage-cli
-  - stackage-curator
   - stackage-metadata
   - stackage-to-hackage
   - stackage-types
   - stack-bump
-  - stackcollapse-ghc
   - stack-fix
+  - stack-hpc-coveralls
   - stack-lib
   - stack-prism
   - stack-run
   - stack-type
   - stack-wrapper
-  - staged-gg
   - standalone-derive-topdown
   - standalone-haddock
   - starling
@@ -4698,6 +4787,7 @@ broken-packages:
   - state-bag
   - state-plus
   - state-record
+  - static
   - static-canvas
   - static-tensor
   - statistics-dirichlet
@@ -4706,12 +4796,14 @@ broken-packages:
   - stats
   - statsd
   - statvfs
+  - staversion
   - stb-image-redux
   - stc-lang
   - stdata
   - stdf
   - stdio
   - steambrowser
+  - steeloverseer
   - stego-uuid
   - stemmer
   - stemmer-german
@@ -4725,6 +4817,7 @@ broken-packages:
   - stm-stats
   - stochastic
   - Stomp
+  - stooq-api
   - storable
   - storable-static-array
   - stp
@@ -4733,21 +4826,26 @@ broken-packages:
   - Strafunski-StrategyLib
   - StrappedTemplates
   - StrategyLib
-  - stratum-tool
+  - stratosphere
   - stratux-types
   - stream
   - streamdeck
   - streamed
   - stream-fusion
   - streaming-benchmarks
+  - streaming-brotli
+  - streaming-cassava
+  - streaming-concurrency
   - streaming-conduit
   - streaming-events
   - streaming-lzma
   - streaming-osm
   - streaming-pcap
   - streaming-png
-  - streaming-utils
-  - streaming-with
+  - streaming-postgresql-simple
+  - streaming-sort
+  - streamly-binary
+  - streamly-cassava
   - streamly-examples
   - streamly-lz4
   - streamly-process
@@ -4758,33 +4856,32 @@ broken-packages:
   - strict-ghc-plugin
   - strictly
   - strict-tuple-lens
+  - string-conv-tests
+  - string-fromto
   - string-isos
   - stringlike
   - string-quote
   - stringtable-atom
   - stripe
   - stripeapi
-  - stripe-hs
-  - stripe-http-streams
-  - stripe-signature
-  - stripe-tests
-  - stripe-wreq
-  - strong-path
-  - strongswan-sql
+  - stripe-core
+  - stripe-servant
   - structural-traversal
   - structures
   - stt
   - stunclient
   - stylish-cabal
   - stylized
+  - subG
   - subleq-toolchain
-  - submark
+  - sublists
   - subsample
   - sub-state
   - subwordgraph
   - suffix-array
   - suffixarray
   - SuffixStructures
+  - sugar
   - sugarhaskell
   - suitable
   - summoner
@@ -4795,42 +4892,36 @@ broken-packages:
   - supermonad
   - supernova
   - supero
-  - super-user-spark
+  - superrecord
   - supervisor
+  - supervisors
   - supplemented
   - surjective
+  - sv2v
   - sv-core
-  - SVD2HS
   - svfactor
   - svg-builder-fork
   - svgutils
   - svm-light-utils
   - svm-simple
   - svndump
+  - swagger
   - swagger-petstore
   - swagger-test
   - swearjure
   - swf
   - swift-lda
   - swiss-ephemeris
-  - swisstable
+  - SWMMoutGetMB
   - sws
   - syb-extras
-  - SybWidget
-  - syb-with-class-instances-text
-  - sydtest-aeson
-  - sydtest-hedgehog
-  - sydtest-hedis
-  - sydtest-hspec
-  - sydtest-mongo
-  - sydtest-persistent-postgresql
-  - sydtest-rabbitmq
-  - sydtest-yesod
+  - syb-with-class
   - syfco
   - sym
   - symantic
   - symantic-cli
-  - symantic-http-test
+  - symantic-http-client
+  - symantic-http-pipes
   - symantic-parser
   - symantic-xml
   - symbolic-link
@@ -4842,7 +4933,6 @@ broken-packages:
   - syntax-trees-fork-bairyn
   - synthesizer
   - Sysmon
-  - sys-process
   - system-canonicalpath
   - system-command
   - system-extra
@@ -4851,6 +4941,7 @@ broken-packages:
   - system-linux-proc
   - system-locale
   - system-random-effect
+  - system-test
   - t3-server
   - table
   - tableaux
@@ -4861,9 +4952,11 @@ broken-packages:
   - Tablify
   - tabloid
   - tabs
+  - taffybar
   - tag-bits
   - tagged-exception-core
   - tagged-timers
+  - taggy-lens
   - taglib-api
   - tagsoup-ht
   - tagsoup-megaparsec
@@ -4872,9 +4965,11 @@ broken-packages:
   - tai
   - tai64
   - tailwind
+  - tak
   - takahashi
   - Takusen
   - takusen-oracle
+  - talash
   - tamarin-prover-utils
   - Tape
   - tapioca
@@ -4893,22 +4988,25 @@ broken-packages:
   - tcp
   - tcp-streams-openssl
   - tdigest-Chart
+  - tdoc
   - tds
   - teams
+  - technique
   - teeth
-  - telega
+  - tehepero
   - telegram
   - telegram-api
-  - telegram-bot-simple
+  - telegram-types
+  - telegraph
   - teleport
   - teleshell
   - tellbot
-  - tempi
   - template-default
   - template-haskell-util
   - template-hsml
   - templateify
   - templatepg
+  - template-toolkit
   - template-yj
   - tempodb
   - temporal-csound
@@ -4917,12 +5015,12 @@ broken-packages:
   - tensorflow
   - tensorflow-opgen
   - tensor-safe
+  - termbox-banana
   - termbox-bindings
   - termination-combinators
   - termplot
   - term-rewriting
   - terntup
-  - terraform-http-backend-pass
   - tersmu
   - tesla
   - testCom
@@ -4939,19 +5037,15 @@ broken-packages:
   - test-pkg
   - testPkg
   - testrunner
-  - test-sandbox
   - test-shouldbe
   - tex2txt
   - texbuilder
-  - texrunner
   - text1
-  - text-all
   - text-and-plots
   - text-ascii
   - text-containers
-  - text-display
+  - text-format
   - text-format-heavy
-  - text-generic-pretty
   - text-icu-normalized
   - text-lens
   - text-lips
@@ -4960,8 +5054,8 @@ broken-packages:
   - textocat-api
   - text-offset
   - text-position
+  - text-region
   - text-register-machine
-  - text-replace
   - text-time
   - text-trie
   - textual
@@ -4973,7 +5067,9 @@ broken-packages:
   - tga
   - thank-you-stars
   - th-build
+  - th-data-compat
   - th-dict-discovery
+  - THEff
   - themoviedb
   - thentos-cookie-session
   - Theora
@@ -4982,28 +5078,31 @@ broken-packages:
   - th-format
   - thih
   - Thingie
+  - th-inline-io-action
   - th-instance-reification
   - th-kinds
   - th-kinds-fork
-  - th-lego
   - thock
   - thorn
   - th-pprint
   - threadmanager
+  - threadscope
+  - thread-supervisor
   - threepenny-editors
   - threepenny-gui-contextmenu
   - threepenny-gui-flexbox
   - thrift
   - Thrift
   - throttled-io-loop
+  - throttle-io-stream
   - throwable-exceptions
   - th-sccs
   - th-tc
   - th-to-exp
   - th-traced
   - thumbnail-plus
+  - thyme
   - tianbar
-  - ticket-management
   - TicTacToe
   - tictactoe3d
   - tidal-midi
@@ -5024,19 +5123,17 @@ broken-packages:
   - time-quote
   - time-recurrence
   - time-series
-  - timeseries
   - time-series-lib
   - timeutils
   - time-w3c
   - timezone-detect
-  - timezone-olson-th
-  - tini
   - tintin
   - TinyLaunchbury
   - tiny-scheduler
   - tinytemplate
   - TinyURL
   - tinyXml
+  - tiphys
   - titan-debug-yampa
   - titan-record-yampa
   - Titim
@@ -5044,10 +5141,9 @@ broken-packages:
   - tkyprof
   - tmp-proc-example
   - todo
-  - todos
   - tofromxml
   - to-haskell
-  - toilet
+  - token-bucket
   - tokenify
   - tokenizer-streaming
   - token-limiter
@@ -5057,9 +5153,9 @@ broken-packages:
   - tokyotyrant-haskell
   - tomato-rubato-openal
   - toml
-  - tonatona-persistent-postgresql
-  - tonatona-persistent-sqlite
-  - tonatona-servant
+  - toml-parser
+  - tonalude
+  - tonaparser
   - toodles
   - Top
   - torch
@@ -5075,7 +5171,6 @@ broken-packages:
   - traced
   - trace-function-call
   - tracetree
-  - tracing-control
   - tracked-files
   - tracker
   - trackit
@@ -5088,11 +5183,10 @@ broken-packages:
   - transformers-lift
   - transformers-runnable
   - TransformersStepByStep
+  - trans-fx-core
   - transient
-  - transient-universe
   - translatable-intset
   - translate
-  - translate-cli
   - traversal-template
   - travis
   - travis-meta-yaml
@@ -5108,12 +5202,11 @@ broken-packages:
   - tremulous-query
   - TrendGraph
   - trhsx
+  - trial-tomland
   - trigger
   - trim
-  - tripLL
   - trivia
   - tropical
-  - tropical-geometry
   - true-name
   - trust-chain
   - tsession
@@ -5127,40 +5220,45 @@ broken-packages:
   - tubes
   - tuntap
   - tuple-gen
+  - tuple-hlist
   - tupleinstances
   - tuple-lenses
+  - tuple-morph
+  - turingMachine
   - turing-machines
   - turing-music
   - turtle-options
+  - twain
   - tweak
-  - twee
   - twentefp-websockets
   - twfy-api-client
-  - twhs
   - twilio
+  - twiml
   - twine
-  - twirp
   - twisty
   - twitter
   - twitter-feed
+  - twitter-types
   - tx
   - txtblk
   - TYB
   - tyfam-witnesses
   - typalyze
+  - typeable-mock
   - typeable-th
   - type-combinators
+  - typed-digits
   - typed-encoding
   - typedflow
   - typedquery
   - typed-time
   - typed-wire
   - type-eq
-  - type-fun
   - typehash
   - type-indexed-queues
   - type-int
   - type-interpreter
+  - typelet
   - type-level-bst
   - type-level-natural-number-induction
   - type-level-natural-number-operations
@@ -5170,51 +5268,63 @@ broken-packages:
   - type-of-html-static
   - typeparams
   - type-prelude
-  - typesafe-precure
   - types-compat
   - type-settheory
   - type-spine
   - type-tree
   - type-unary
   - typograffiti
+  - typson-core
   - tyro
   - uAgda
   - uberlast
   - ucam-webauth-types
   - ucd
   - uconv
+  - udbus
   - udp-conduit
   - udp-streaming
+  - ueberzug
   - uhexdump
   - uhttpc
   - ui-command
+  - ukrainian-phonetics-basic-array
   - ulid
   - unamb-custom
+  - unbeliever
   - unbounded-delays-units
   - unboxed-containers
   - unboxed-references
   - unbreak
+  - uncertain
+  - unescaping-print
   - unfix-binders
   - unfoldable
   - unicode-prelude
   - unicode-symbols
   - unicode-tricks
-  - uniform-fileio
   - union-map
   - uniprot-kb
   - uniqueid
   - uniquely-represented-sets
-  - uniqueness-periods-vector-properties
+  - uniqueness-periods-general
+  - uniqueness-periods-vector
+  - uniqueness-periods-vector-common
+  - uniqueness-periods-vector-stats
   - units-attoparsec
   - unittyped
   - unitym-yesod
   - uni-util
   - universal-binary
+  - universe-instances-base
+  - universe-instances-trans
+  - universe-some
   - unix-handle
   - unix-process-conduit
   - unix-recursive
   - unlifted-list
   - unliftio-messagebox
+  - unlift-stm
   - unm-hip
   - unordered-containers-rematch
   - unordered-graphs
@@ -5225,7 +5335,6 @@ broken-packages:
   - unpack-funcs
   - unroll-ghc-plugin
   - unsafely
-  - unsatisfiable
   - unsequential
   - unused
   - uom-plugin
@@ -5239,6 +5348,7 @@ broken-packages:
   - uri-template
   - uri-templater
   - URLb
+  - url-bytes
   - urlcheck
   - urldecode
   - url-decoders
@@ -5247,28 +5357,32 @@ broken-packages:
   - urn
   - urn-random
   - urxml
-  - users-mysql-haskell
+  - useragents
   - users-persistent
   - utc
   - utf
+  - utf8-conversions
   - utf8-prelude
   - utf8-validator
   - UTFTConverter
   - util-logict
   - util-plus
   - util-primitive
-  - util-universe
   - uuagc-bootstrap
+  - uuagc-diagrams
   - uu-cco
   - uuid-aeson
+  - uuid-bytes
   - uuid-orphans
   - uvector
   - uxadt
   - vabal-lib
   - vacuum
+  - vado
   - validated-types
   - Validation
   - validations
+  - validity-aeson
   - valid-names
   - value-supply
   - vampire
@@ -5278,8 +5392,8 @@ broken-packages:
   - variadic
   - variation
   - vaultaire-common
-  - vault-tool-server
-  - vault-trans
+  - vaultenv
+  - vault-tool
   - vcache
   - vcatt
   - vcf
@@ -5291,8 +5405,11 @@ broken-packages:
   - vector-bytestring
   - vector-clock
   - vector-conduit
+  - vector-doublezip
+  - vector-endian
   - vector-fftw
   - vector-functorlazy
+  - vector-hashtables
   - vector-heterogenous
   - vector-random
   - vector-read-instances
@@ -5308,14 +5425,13 @@ broken-packages:
   - verify
   - verilog
   - verismith
-  - versioning
-  - vformat
+  - versioning-servant
+  - vformat-aeson
   - vhd
   - vhdl
   - vicinity
-  - viewprof
+  - ViennaRNA-extras
   - views
-  - Villefort
   - vimus
   - vintage-basic
   - vinyl-json
@@ -5325,7 +5441,6 @@ broken-packages:
   - vinyl-vectors
   - virthualenv
   - visibility
-  - visualize-cbn
   - visual-prof
   - vitrea
   - vk-aws-route53
@@ -5336,6 +5451,7 @@ broken-packages:
   - VRML
   - vte
   - vtegtk3
+  - vt-utils
   - vty-examples
   - vty-menu
   - vty-ui
@@ -5348,11 +5464,12 @@ broken-packages:
   - wai-handler-scgi
   - wai-handler-webkit
   - wai-hmac-auth
+  - wai-lambda
   - wai-lens
   - wai-lite
   - wai-logger-buffered
   - wai-logger-prefork
-  - wai-make-assets
+  - wai-middleware-auth
   - wai-middleware-catch
   - wai-middleware-crowd
   - wai-middleware-delegate
@@ -5362,12 +5479,13 @@ broken-packages:
   - wai-middleware-preprocessor
   - wai-middleware-static-caching
   - wai-middleware-travisci
+  - wai-middleware-validation
+  - wai-predicates
+  - wai-rate-limit-postgres
   - wai-rate-limit-redis
   - wai-request-spec
   - wai-responsible
   - wai-router
-  - wai-routes
-  - wai-routing
   - wai-secure-cookies
   - wai-session-alt
   - wai-session-mysql
@@ -5378,21 +5496,19 @@ broken-packages:
   - wai-throttler
   - waitra
   - wallpaper
-  - warc
   - warp-dynamic
   - warp-grpc
-  - warp-quic
   - warp-static
   - warp-systemd
   - wasm
-  - watchdog
   - watcher
   - watchit
   - wavefront
   - wavefront-obj
   - weak-bag
+  - Weather
   - weather-api
-  - web3-polkadot
+  - web3-ipfs
   - webapi
   - webapp
   - webauthn
@@ -5402,18 +5518,21 @@ broken-packages:
   - webcrank
   - webcrank-dispatch
   - web-css
-  - webdriver-angular
+  - webdriver
   - webdriver-snoy
   - web-encodings
   - WeberLogic
+  - webex-teams-pipes
   - webfinger-client
-  - webkitgtk3
+  - web-inv-route
   - webkit-javascriptcore
   - webmention
   - web-output
   - web-push
+  - web-rep
   - Webrexp
   - web-routes-quasi
+  - web-routes-th
   - web-routes-transformers
   - webshow
   - websockets-rpc
@@ -5424,19 +5543,20 @@ broken-packages:
   - weighted-regexp
   - welshy
   - werewolf
-  - wgpu-hs
+  - wgpu-raw-hs
   - Wheb
   - while-lang-parser
   - whim
   - whiskers
   - whois
+  - wholepixels
   - why3
   - WikimediaParser
+  - willow
   - windns
   - windowslive
   - winerror
-  - Wired
-  - wireguard-hs
+  - winery
   - wires
   - wiring
   - witty
@@ -5448,14 +5568,14 @@ broken-packages:
   - woe
   - woffex
   - wol
+  - word24
   - word2vec-model
   - wordify
   - Wordlint
-  - wordlist
+  - wordn
   - WordNet
   - WordNet-ghc74
   - wordpass
-  - wordpress-auth
   - wordsearch
   - workdays
   - Workflow
@@ -5471,9 +5591,11 @@ broken-packages:
   - wsdl
   - wsedit
   - wsjtx-udp
+  - wstunnel
   - wtk
   - wumpus-core
   - wxdirect
+  - X
   - X11-extras
   - X11-rm
   - X11-xdamage
@@ -5500,22 +5622,24 @@ broken-packages:
   - xml-conduit-decode
   - xml-conduit-parse
   - xml-conduit-selectors
-  - xml-conduit-stylist
   - xml-html-conduit-lens
   - XmlHtmlWriter
+  - xml-lens
   - xml-parsec
   - xml-prettify
-  - xml-query
+  - xml-query-xml-types
+  - xml-to-json
   - xml-tydom-core
   - xml-verify
   - XMMS
   - xmonad-bluetilebranch
   - xmonad-contrib-gpl
-  - xmonad-dbus
+  - xmonad-entryhelper
   - xmonad-eval
+  - xmonad-screenshot
   - xmonad-vanessa
+  - xmonad-wallpaper
   - xmonad-windownames
-  - xor
   - Xorshift128Plus
   - xorshift-plus
   - xournal-types
@@ -5523,7 +5647,7 @@ broken-packages:
   - xsact
   - xsd
   - xslt
-  - xxhash
+  - xturtle
   - y0l0bot
   - yabi-muno
   - yackage
@@ -5532,14 +5656,18 @@ broken-packages:
   - yahoo-prices
   - yahoo-web-search
   - yajl
+  - yak
   - yall
   - yam-app
   - yam-config
+  - yaml-combinators
   - yaml-config
   - yamlkeysdiff
+  - yaml-light-lens
   - yaml-pretty-extras
   - YamlReference
   - yaml-rpc
+  - yaml-union
   - yampa2048
   - yampa-glfw
   - yampa-gloss
@@ -5547,12 +5675,12 @@ broken-packages:
   - yampa-sdl2
   - YampaSynth
   - yampa-test
-  - yam-servant
   - yandex-translate
   - yaop
-  - yap
   - yapb
   - yarr
+  - yasi
+  - yate
   - yaya-test
   - yaya-unsafe-test
   - yeller
@@ -5560,7 +5688,6 @@ broken-packages:
   - yeshql-postgresql-simple
   - yesod-angular
   - yesod-angular-ui
-  - yesod-articles
   - yesod-auth-account
   - yesod-auth-account-fork
   - yesod-auth-bcrypt
@@ -5571,25 +5698,27 @@ broken-packages:
   - yesod-auth-ldap-mediocre
   - yesod-auth-ldap-native
   - yesod-auth-nopassword
+  - yesod-auth-oauth
   - yesod-auth-pam
   - yesod-auth-smbclient
   - yesod-auth-zendesk
   - yesod-bootstrap
-  - yesod-comments
   - yesod-content-pdf
   - yesod-crud
-  - yesod-crud-persist
+  - yesod-csp
   - yesod-datatables
   - yesod-dsl
   - yesod-fast-devel
   - yesod-filter
+  - yesod-form-json
   - 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
@@ -5597,25 +5726,22 @@ broken-packages:
   - yesod-raml
   - yesod-recaptcha
   - yesod-routes
-  - yesod-routes-flow
   - yesod-rst
   - yesod-s3
   - yesod-sass
   - yesod-static-angular
   - yesod-static-remote
   - yesod-test-json
+  - yesod-text-markdown
   - yesod-tls
+  - yesod-transloadit
   - yesod-vend
-  - yesod-worker
   - YFrob
   - yggdrasil
   - yhccore
   - yhseq
   - yices
-  - yi-contrib
-  - yi-monokai
-  - yi-solarized
-  - yi-spolsky
+  - yi-core
   - yoda
   - Yogurt
   - yst
@@ -5624,18 +5750,14 @@ broken-packages:
   - yu-tool
   - yxdb-utils
   - z3-encoding
-  - z85
   - zabt
   - zampolit
   - Z-Data
   - ZEBEDDE
   - zendesk-api
-  - zenhack-prelude
   - zeno
-  - zephyr
-  - zeromq4-clone-pattern
+  - zeolite-lang
   - zeromq4-conduit
-  - zeromq4-patterns
   - zeromq-haskell
   - zettelkast
   - ZFS
@@ -5656,6 +5778,7 @@ broken-packages:
   - zsh-battery
   - zsyntax
   - ztar
+  - zuul
   - Zwaluw
-  - zxcvbn-dvorak
   - zxcvbn-hs
+  - zydiskell
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
index 2ecfb76784d59..dfa46c41b9354 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
@@ -1,38 +1,39 @@
 # pkgs/development/haskell-modules/configuration-hackage2nix.yaml
 
-compiler: ghc-8.10.7
+compiler: ghc-9.0.2
 
 core-packages:
   - array-0.5.4.0
-  - base-4.14.1.0
+  - base-4.15.1.0
   - binary-0.8.8.0
-  - bytestring-0.10.12.0
-  - Cabal-3.2.1.0
-  - containers-0.6.2.1
-  - deepseq-1.4.4.0
-  - directory-1.3.6.0
+  - bytestring-0.10.12.1
+  - Cabal-3.4.1.0
+  - containers-0.6.4.1
+  - deepseq-1.4.5.0
+  - directory-1.3.6.2
   - exceptions-0.10.4
   - filepath-1.4.2.1
-  - ghc-8.10.4
-  - ghc-boot-8.10.4
-  - ghc-boot-th-8.10.4
+  - ghc-9.0.2
+  - ghc-bignum-1.1
+  - ghc-boot-9.0.2
+  - ghc-boot-th-9.0.2
   - ghc-compact-0.1.0.0
-  - ghc-heap-8.10.4
-  - ghc-prim-0.6.1
-  - ghci-8.10.4
-  - haskeline-0.8.0.1
+  - ghc-heap-9.0.2
+  - ghc-prim-0.7.0
+  - ghci-9.0.2
+  - haskeline-0.8.2
   - hpc-0.6.1.0
-  - integer-gmp-1.0.3.0
-  - libiserv-8.10.4
+  - integer-gmp-1.1
+  - libiserv-9.0.2
   - mtl-2.2.2
   - parsec-3.1.14.0
   - pretty-1.1.3.6
-  - process-1.6.9.0
-  - rts-1.0
+  - process-1.6.13.2
+  - rts-1.0.2
   - stm-2.5.0.0
-  - template-haskell-2.16.0.0
-  - terminfo-0.4.1.4
-  - text-1.2.4.1
+  - template-haskell-2.17.0.0
+  - terminfo-0.4.1.5
+  - text-1.2.5.0
   - time-1.9.3
   - transformers-0.5.6.2
   - unix-2.7.2.2
@@ -70,74 +71,24 @@ default-package-overrides:
   # gi-gdkx11-4.x requires gtk-4.x, which is still under development and
   # not yet available in Nixpkgs
   - gi-gdkx11 < 4
-  # streamly-* packages which are not in stackage and to be constrained
-  # as long as we have streamly < 0.8.0
-  - streamly-archive < 0.1.0
-  - streamly-bytestring < 0.1.3
-  - streamly-lmdb < 0.3.0
-  - streamly-process
-  # dhall-nix is not part of stackage, remove if dhall >= 1.40
-  - dhall-nix < 1.1.22
   # reflex-dom-pandoc is only used by neuron which needs a version < 1.0.0.0
   - reflex-dom-pandoc < 1.0.0.0
-  # 2021-09-07: pin to our current GHC version
-  - ghc-api-compat == 8.10.7
-  # 2021-10-13: weeder 2.3.0 require GHC == 9.0.*; remove pin when GHC version changes
-  - weeder < 2.3.0
-  # 2021-10-10: taskwarrior 0.4 requires aeson > 2.0.1.0
-  - taskwarrior < 0.4.0.0
-  # 2021-10-19: autoapply 0.4.1.1 requires th-desugar 1.12
-  - autoapply < 0.4.1.1
-  # 2021-10-22: 1.8 breaks shake-bench
-  - SVGFonts < 1.8
-  # 2021-11-09: 0.20.6 can't be built with aeson < 2.0 which is a pain to override at the moment
-  - futhark < 0.20.6
+  # 2022-02-18: pin to our current GHC version
+  - ghc-api-compat == 9.0.*
   # 2021-11-09: ghc-bignum is bundled starting with 9.0.1; only 1.0 builds with GHCs prior to 9.2.1
   - ghc-bignum == 1.0
-  # 2021-11-18: lucid-{alpine, htmx} are not in stackage, so we need to downgrade them
-  - lucid-alpine == 0.1.0.2
-  - lucid-htmx == 0.1.0.2
-  # 2021-11-21: restrict haskell-gi-related packages to match stackage version (0.25)
-  - gi-girepository < 1.0.25
-  - gi-ggit < 1.0.11
-  - gi-gst < 1.0.25
-  - gi-gstaudio < 1.0.24
-  - gi-gstbase < 1.0.25
-  - gi-gstvideo < 1.0.25
-  - gi-gtksource < 3.0.25
-  - gi-ibus < 1.5.4
-  - gi-javascriptcore < 4.0.24
-  - gi-ostree < 1.0.15
-  - gi-notify < 0.7.24
-  - gi-pangocairo < 1.0.26
-  - gi-poppler < 0.18.26
-  - gi-secret < 0.0.14
-  - gi-soup < 2.4.25
-  - gi-vte < 2.91.29
-  - gi-webkit2 < 4.0.28
-  - gi-webkit2webextension < 4.0.27
-  - gi-wnck < 3.0.11
-  # gi-cogl, gi-coglpango, gi-clutter, gi-json, gi-rsvg are only available for haskell-gi >= 0.26
-  # 1.2.1.0 needs opaleye >= 0.8 which stackage doesn't provide
-  - rel8 < 1.2.1.0
-  # 0.14.0.0 drops support for every GHC < 9.0.1
-  - brittany < 0.14
   # 1.2.0.0: “Dropped support for GHC <9.2 (might readd it later)”
   - retrie < 1.2.0.0
-  # Compat with polysemy in Stackage LTS 18
-  - polysemy-resume < 0.1.0.2
-  - polysemy-conc < 0.5
-  - polysemy-mocks < 0.2
-  # Pinning patch because it is mainly used by the reflex-frp ecosystem which is not yet compatible with it.
-  # https://github.com/reflex-frp/reflex-dom/issues/431
-  - patch < 0.0.5.0
   # On the recommendation of hnix author:
   # https://github.com/NixOS/nixpkgs/pull/154461#issuecomment-1015511883
   - hnix < 0.15
   # needs http-client >= 0.7.11 which isn't part of Stackage LTS 18
   - http-client-restricted < 0.0.5
+  # Needs dhall 1.41.*, Stackage Nightly has 1.40
+  - dhall-nix < 1.1.24
 
 extra-packages:
+  - aeson < 2                           # required by pantry-0.5.2
   - base16-bytestring < 1               # required for cabal-install etc.
   - Cabal == 2.2.*                      # required for jailbreak-cabal etc.
   - Cabal == 2.4.*                      # required for cabal-install etc.
@@ -158,19 +109,26 @@ extra-packages:
   - mmorph == 1.1.3                     # Newest working version of mmorph on ghc 8.6.5. needed for hls
   - network == 2.6.3.1                  # required by pkgs/games/hedgewars/default.nix, 2020-11-15
   - optparse-applicative < 0.16         # needed for niv-0.2.19
+  - pantry == 0.5.2.1                   # needed for stack-2.7.3
   - resolv == 0.1.1.2                   # required to build cabal-install-3.0.0.0 with pre ghc-8.8.x
   - sbv == 7.13                         # required for pkgs.petrinizer
   - crackNum < 3.0                      # 2021-05-21: 3.0 removed the lib which sbv 7.13 uses
   - ghc-api-compat == 8.6               # 2021-09-07: preserve for GHC 8.8.4
-  - ghc-lib == 9.0.*                    # 2021-11-05: Need one GHC 9.0.2 compatible version
-  - ghc-lib-parser == 9.0.*             # 2021-11-05: Need one GHC 9.0.2 compatible version
-  - ghc-lib-parser-ex == 9.0.*          # 2021-11-05: Need one GHC 9.0.2 compatible version
+  - ghc-api-compat == 8.10.7            # 2022-02-17: preserve for GHC 8.10.7
+  - ghc-lib == 8.10.7.*                 # 2022-02-17: preserve for GHC 8.10.7
+  - ghc-lib-parser == 8.10.7.*          # 2022-02-17: preserve for GHC 8.10.7
+  - ghc-lib-parser-ex == 8.10.*         # 2022-02-17: preserve for GHC 8.10.7
   - doctest == 0.18.*                   # 2021-11-19: closest to stackage version for GHC 9.*
   - brick == 0.64.*                     # 2021-12-03: matterhorn depends on brick < 0.65
   - path == 0.9.0                       # 2021-12-03: path version building with stackage genvalidity and GHC 9.0.2
-  - ormolu == 0.3.*                     # 2021-12-03: for HLS with GHC 9.0.2
-  - fourmolu == 0.4.*                   # 2022-02-05: for HLS with GHC 9.0.2
+  - ormolu == 0.2.*                     # 2022-02-21: For ghc 8.8 and 8.10
   - ghc-exactprint == 1.4.*             # 2022-02-07: preserve for now, 1.5.0 has a breaking change without type changes
+  - ShellCheck == 0.7.2                 # 2022-02-20: haskell-ci 0.14 needs this
+  - weeder == 2.2.*                     # 2022-02-21: preserve for GHC 8.10.7
+  - attoparsec == 0.13.*                # 2022-02-23: Needed to compile elm for now
+  - relude == 0.7.0.0                   # 2022-02-25: Needed for ema 0.6
+  - SVGFonts < 1.8                      # 2022-03-19: Needed for Chart-diagrams 1.9.3
+  - clay < 0.14                         # 2022-03-20: Needed for neuron 1.0.0.0
 
 package-maintainers:
   abbradar:
@@ -191,6 +149,7 @@ package-maintainers:
     - pretty-simple
     - purenix
     - spago
+    - stack
     - termonad
   dalpd:
     - ghc-vis
@@ -290,7 +249,6 @@ package-maintainers:
     - cabal-fmt
     - ema
     - generic-optics
-    - ghcup
     - ghcid
     - ghcide
     - haskell-language-server
@@ -361,6 +319,7 @@ package-maintainers:
     - shakespeare
   roberth:
     - arion-compose
+    - cabal-pkg-config-version-hook
     - hercules-ci-agent
     - hercules-ci-api
     - hercules-ci-api-agent
@@ -436,6 +395,7 @@ unsupported-platforms:
   bindings-sane:                                [ x86_64-darwin, aarch64-darwin ]
   btrfs:                                        [ x86_64-darwin, aarch64-darwin ] # depends on linux
   bustle:                                       [ x86_64-darwin, aarch64-darwin ] # uses glibc-specific ptsname_r
+  camfort:                                      [ aarch64-linux ]
   charsetdetect:                                [ aarch64-linux ] # not supported by vendored lib / not configured properly https://github.com/batterseapower/libcharsetdetect/issues/3
   cut-the-crap:                                 [ x86_64-darwin, aarch64-darwin ]
   d3d11binding:                                 [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
@@ -444,6 +404,7 @@ unsupported-platforms:
   dx9d3d:                                       [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
   dx9d3dx:                                      [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-darwin, aarch64-linux, armv7l-linux ]
   Euterpea:                                     [ x86_64-darwin, aarch64-darwin ]
+  essence-of-live-coding-PortMidi:              [ x86_64-darwin, aarch64-darwin ]
   follow-file:                                  [ x86_64-darwin, aarch64-darwin ]
   freenect:                                     [ x86_64-darwin, aarch64-darwin ]
   FTGL:                                         [ x86_64-darwin, aarch64-darwin ]
@@ -453,20 +414,24 @@ unsupported-platforms:
   gi-dbusmenugtk3:                              [ x86_64-darwin, aarch64-darwin ]
   gi-dbusmenu:                                  [ x86_64-darwin, aarch64-darwin ]
   gi-ggit:                                      [ x86_64-darwin, aarch64-darwin ]
+  gi-gtkosxapplication:                         [ x86_64-linux, aarch64-linux ]
   gi-ibus:                                      [ x86_64-darwin, aarch64-darwin ]
   gi-javascriptcore:                            [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
   gi-ostree:                                    [ x86_64-darwin, aarch64-darwin ]
   gi-vte:                                       [ x86_64-darwin, aarch64-darwin ]
-  gi-webkit2:                                   [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
   gi-webkit2webextension:                       [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
+  gi-webkit2:                                   [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
   gi-wnck:                                      [ x86_64-darwin, aarch64-darwin ]
   gnome-keyring:                                [ x86_64-darwin, aarch64-darwin ]
+  grid-proto:                                   [ x86_64-darwin, aarch64-darwin ]
+  gtk3-mac-integration:                         [ x86_64-linux, aarch64-linux ]
   gtk-mac-integration:                          [ i686-linux, x86_64-linux, aarch64-linux, armv7l-linux ]
   gtk-sni-tray:                                 [ x86_64-darwin, aarch64-darwin ]
   haskell-snake:                                [ x86_64-darwin, aarch64-darwin ]
-  hbro:                                         [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
   hbro-contrib:                                 [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
+  hbro:                                         [ x86_64-darwin, aarch64-darwin ] # webkitgtk marked broken on darwin
   hcwiid:                                       [ x86_64-darwin, aarch64-darwin ]
+  HDRUtils:                                     [ x86_64-darwin, aarch64-darwin ]
   HFuse:                                        [ x86_64-darwin, aarch64-darwin ]
   hidapi:                                       [ x86_64-darwin, aarch64-darwin ]
   hinotify-bytestring:                          [ x86_64-darwin, aarch64-darwin ]
@@ -478,6 +443,11 @@ unsupported-platforms:
   iwlib:                                        [ x86_64-darwin, aarch64-darwin ]
   Jazzkell:                                     [ x86_64-darwin, aarch64-darwin ] # depends on Euterpea
   jsaddle-webkit2gtk:                           [ x86_64-darwin, aarch64-darwin ]
+  keid-core:                                    [ aarch64-linux ]
+  keid-geometry:                                [ aarch64-linux ]
+  keid-render-basic:                            [ aarch64-linux ]
+  keid-sound-openal:                            [ aarch64-linux ]
+  keid-ui-dearimgui:                            [ aarch64-linux ]
   kqueue:                                       [ x86_64-linux, aarch64-linux, i686-linux, armv7l-linux ] # BSD / Darwin only API
   Kulitta:                                      [ x86_64-darwin, aarch64-darwin ] # depends on Euterpea
   LambdaHack:                                   [ x86_64-darwin, aarch64-darwin ]
@@ -494,6 +464,8 @@ unsupported-platforms:
   linux-namespaces:                             [ x86_64-darwin, aarch64-darwin ]
   lio-fs:                                       [ x86_64-darwin, aarch64-darwin ]
   logging-facade-journald:                      [ x86_64-darwin, aarch64-darwin ]
+  longshot:                                     [ aarch64-linux ]
+  lxc:                                          [ x86_64-darwin, aarch64-darwin ]
   midi-alsa:                                    [ x86_64-darwin, aarch64-darwin ]
   mpi-hs:                                       [ aarch64-linux, x86_64-darwin, aarch64-darwin ]
   mpi-hs-binary:                                [ aarch64-linux, x86_64-darwin, aarch64-darwin ]
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
index 77be3013a48bb..51741597999a0 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
@@ -1,155 +1,69 @@
-# Stackage LTS 18.25
+# Stackage LTS 19.1
 # This file is auto-generated by
 # maintainers/scripts/haskell/update-stackage.sh
 default-package-overrides:
   - abstract-deque ==0.3
+  - abstract-deque-tests ==0.3
   - abstract-par ==0.3.3
   - AC-Angle ==1.0
-  - accuerr ==0.2.0.2
+  - acc ==0.2.0.1
   - ace ==0.6
+  - acid-state ==0.16.1
   - action-permutations ==0.0.0.1
-  - ad ==4.4.1
+  - active ==0.2.0.15
+  - ad ==4.5
+  - ad-delcont ==0.3.0.0
   - adjunctions ==4.4
   - adler32 ==0.1.2.0
+  - advent-of-code-api ==0.2.8.1
   - aern2-mp ==0.2.8.0
   - aern2-real ==0.2.8.0
-  - aeson ==1.5.6.0
+  - aeson ==2.0.3.0
   - aeson-attoparsec ==0.0.0
-  - aeson-better-errors ==0.9.1.0
+  - aeson-better-errors ==0.9.1.1
   - aeson-casing ==0.2.0.0
-  - aeson-combinators ==0.0.5.0
-  - aeson-commit ==1.3
+  - aeson-commit ==1.4
   - aeson-compat ==0.3.10
-  - aeson-default ==0.9.1.0
-  - aeson-diff ==1.1.0.9
+  - aeson-extra ==0.5.1
   - aeson-generic-compat ==0.0.1.3
-  - aeson-lens ==0.5.0.0
   - aeson-optics ==1.1.1
-  - aeson-picker ==0.1.0.5
   - aeson-pretty ==0.8.9
   - aeson-qq ==0.8.4
-  - aeson-schemas ==1.3.5
+  - aeson-schemas ==1.3.5.1
   - aeson-typescript ==0.3.0.1
-  - aeson-with ==0.1.2.0
   - aeson-yak ==0.1.1.3
   - aeson-yaml ==1.1.0.1
   - Agda ==2.6.2.1
   - agda2lagda ==0.2021.6.1
   - al ==0.1.4.2
-  - alarmclock ==0.7.0.5
+  - alarmclock ==0.7.0.6
   - alerts ==0.1.2.0
   - alex ==3.2.7.1
   - alex-meta ==0.3.0.13
-  - alg ==0.2.13.1
-  - algebraic-graphs ==0.5
-  - Allure ==0.10.3.0
+  - algebra ==4.3.1
+  - algebraic-graphs ==0.6
+  - align-audio ==0.0
+  - Allure ==0.11.0.0
   - almost-fix ==0.0.2
   - alsa-core ==0.5.0.1
   - alsa-mixer ==0.3.0
   - alsa-pcm ==0.6.1.1
   - alsa-seq ==0.6.0.8
   - alternative-vector ==0.0.0
+  - alternators ==1.0.0.0
   - ALUT ==2.4.0.3
-  - amazonka-apigateway ==1.6.1
-  - amazonka-application-autoscaling ==1.6.1
-  - amazonka-appstream ==1.6.1
-  - amazonka-athena ==1.6.1
-  - amazonka-autoscaling ==1.6.1
-  - amazonka-budgets ==1.6.1
-  - amazonka-certificatemanager ==1.6.1
-  - amazonka-cloudformation ==1.6.1
-  - amazonka-cloudfront ==1.6.1
-  - amazonka-cloudhsm ==1.6.1
-  - amazonka-cloudsearch ==1.6.1
-  - amazonka-cloudsearch-domains ==1.6.1
-  - amazonka-cloudtrail ==1.6.1
-  - amazonka-cloudwatch ==1.6.1
-  - amazonka-cloudwatch-events ==1.6.1
-  - amazonka-cloudwatch-logs ==1.6.1
-  - amazonka-codebuild ==1.6.1
-  - amazonka-codecommit ==1.6.1
-  - amazonka-codedeploy ==1.6.1
-  - amazonka-codepipeline ==1.6.1
-  - amazonka-cognito-identity ==1.6.1
-  - amazonka-cognito-idp ==1.6.1
-  - amazonka-cognito-sync ==1.6.1
-  - amazonka-config ==1.6.1
-  - amazonka-core ==1.6.1
-  - amazonka-datapipeline ==1.6.1
-  - amazonka-devicefarm ==1.6.1
-  - amazonka-directconnect ==1.6.1
-  - amazonka-discovery ==1.6.1
-  - amazonka-dms ==1.6.1
-  - amazonka-ds ==1.6.1
-  - amazonka-dynamodb ==1.6.1
-  - amazonka-dynamodb-streams ==1.6.1
-  - amazonka-ecr ==1.6.1
-  - amazonka-ecs ==1.6.1
-  - amazonka-efs ==1.6.1
-  - amazonka-elasticache ==1.6.1
-  - amazonka-elasticbeanstalk ==1.6.1
-  - amazonka-elasticsearch ==1.6.1
-  - amazonka-elastictranscoder ==1.6.1
-  - amazonka-elb ==1.6.1
-  - amazonka-elbv2 ==1.6.1
-  - amazonka-emr ==1.6.1
-  - amazonka-gamelift ==1.6.1
-  - amazonka-glacier ==1.6.1
-  - amazonka-glue ==1.6.1
-  - amazonka-health ==1.6.1
-  - amazonka-iam ==1.6.1
-  - amazonka-importexport ==1.6.1
-  - amazonka-inspector ==1.6.1
-  - amazonka-iot ==1.6.1
-  - amazonka-iot-dataplane ==1.6.1
-  - amazonka-kinesis ==1.6.1
-  - amazonka-kinesis-analytics ==1.6.1
-  - amazonka-kinesis-firehose ==1.6.1
-  - amazonka-kms ==1.6.1
-  - amazonka-lambda ==1.6.1
-  - amazonka-lightsail ==1.6.1
-  - amazonka-marketplace-analytics ==1.6.1
-  - amazonka-marketplace-metering ==1.6.1
-  - amazonka-ml ==1.6.1
-  - amazonka-opsworks ==1.6.1
-  - amazonka-opsworks-cm ==1.6.1
-  - amazonka-pinpoint ==1.6.1
-  - amazonka-polly ==1.6.1
-  - amazonka-rds ==1.6.1
-  - amazonka-redshift ==1.6.1
-  - amazonka-rekognition ==1.6.1
-  - amazonka-route53 ==1.6.1
-  - amazonka-route53-domains ==1.6.1
-  - amazonka-s3 ==1.6.1
-  - amazonka-sdb ==1.6.1
-  - amazonka-servicecatalog ==1.6.1
-  - amazonka-ses ==1.6.1
-  - amazonka-shield ==1.6.1
-  - amazonka-sms ==1.6.1
-  - amazonka-snowball ==1.6.1
-  - amazonka-sns ==1.6.1
-  - amazonka-sqs ==1.6.1
-  - amazonka-ssm ==1.6.1
-  - amazonka-stepfunctions ==1.6.1
-  - amazonka-storagegateway ==1.6.1
-  - amazonka-sts ==1.6.1
-  - amazonka-support ==1.6.1
-  - amazonka-swf ==1.6.1
-  - amazonka-test ==1.6.1
-  - amazonka-waf ==1.6.1
-  - amazonka-workspaces ==1.6.1
-  - amazonka-xray ==1.6.1
   - amqp ==0.22.1
   - amqp-utils ==0.6.3.2
   - annotated-wl-pprint ==0.7.0
   - ansi-terminal ==0.11.1
+  - ansi-terminal-game ==1.8.0.0
   - ansi-wl-pprint ==0.6.9
   - ANum ==0.2.0.2
   - apecs ==0.9.4
   - apecs-gloss ==0.2.4
   - apecs-physics ==0.4.5
   - api-field-json-th ==0.1.0.2
-  - api-maker ==0.1.0.0
+  - api-maker ==0.1.0.6
   - ap-normalize ==0.1.0.1
   - appar ==0.1.8
   - appendmap ==0.1.5
@@ -163,15 +77,16 @@ default-package-overrides:
   - array-memoize ==0.6.0
   - arrow-extras ==0.1.0.1
   - arrows ==0.4.4.2
-  - ascii ==1.0.1.6
+  - ascii ==1.1.2.0
   - ascii-case ==1.0.0.10
   - ascii-char ==1.0.0.14
   - asciidiagram ==1.3.3.3
-  - ascii-group ==1.0.0.10
-  - ascii-predicates ==1.0.0.8
+  - ascii-group ==1.0.0.12
+  - ascii-numbers ==1.0.0.0
+  - ascii-predicates ==1.0.0.10
   - ascii-progress ==0.3.3.0
-  - ascii-superset ==1.0.1.10
-  - ascii-th ==1.0.0.8
+  - ascii-superset ==1.0.1.12
+  - ascii-th ==1.0.0.10
   - asn1-encoding ==0.9.6
   - asn1-parse ==0.9.5
   - asn1-types ==0.3.4
@@ -184,29 +99,28 @@ default-package-overrides:
   - async-refresh ==0.3.0.0
   - async-refresh-tokens ==0.4.0.0
   - atom-basic ==0.2.5
+  - atom-conduit ==0.9.0.1
   - atomic-primops ==0.8.4
   - atomic-write ==0.2.0.7
-  - attoparsec ==0.13.2.5
+  - attoparsec ==0.14.4
   - attoparsec-base64 ==0.0.0
   - attoparsec-binary ==0.2
+  - attoparsec-data ==1.0.5.2
   - attoparsec-expr ==0.1.1.2
-  - attoparsec-iso8601 ==1.0.2.0
+  - attoparsec-iso8601 ==1.0.2.1
   - attoparsec-path ==0.0.0.1
+  - attoparsec-time ==1.0.3
   - audacity ==0.0.2.1
   - aur ==7.0.7
-  - aura ==3.2.5
   - authenticate ==1.3.5.1
-  - authenticate-oauth ==1.6.0.1
-  - autoexporter ==1.1.20
+  - authenticate-oauth ==1.7
+  - autoexporter ==2.0.0.1
   - auto-update ==0.1.6
-  - avro ==0.5.2.0
   - aws-cloudfront-signed-cookies ==0.2.0.10
-  - aws-xray-client ==0.1.0.1
-  - aws-xray-client-wai ==0.1.0.1
-  - backprop ==0.2.6.4
   - backtracking ==0.1.0
-  - bank-holidays-england ==0.2.0.6
+  - bank-holidays-england ==0.2.0.7
   - barbies ==2.0.3.1
+  - barrier ==0.1.1
   - base16 ==0.3.1.0
   - base16-bytestring ==1.0.2.0
   - base16-lens ==0.1.3.2
@@ -216,39 +130,46 @@ default-package-overrides:
   - base58-bytestring ==0.1.0
   - base58string ==0.10.0
   - base64 ==0.4.2.3
-  - base64-bytestring ==1.1.0.0
+  - base64-bytestring ==1.2.1.0
   - base64-bytestring-type ==1.0.1
   - base64-lens ==0.3.1
   - base64-string ==0.2
   - base-compat ==0.11.2
   - base-compat-batteries ==0.11.2
-  - basement ==0.0.12
+  - basement ==0.0.14
   - base-orphans ==0.8.6
-  - base-prelude ==1.4
+  - base-prelude ==1.6.1
   - base-unicode-symbols ==0.2.4.2
   - basic-prelude ==0.7.0
+  - battleship-combinatorics ==0.0.1
   - bazel-runfiles ==0.12
   - bbdb ==0.8
-  - bcp47 ==0.2.0.5
-  - bcp47-orphans ==0.1.0.4
   - bcrypt ==0.0.11
+  - beam-core ==0.9.2.1
+  - beam-migrate ==0.5.1.2
+  - beam-postgres ==0.5.2.1
+  - beam-sqlite ==0.5.1.2
   - bech32 ==1.1.2
-  - bech32-th ==1.0.2
+  - bech32-th ==1.1.1
   - bench ==1.0.12
-  - benchpress ==0.2.2.18
+  - benchpress ==0.2.2.19
+  - bencode ==0.6.1.1
+  - bencoding ==0.4.5.4
   - between ==0.11.0.0
   - bibtex ==0.1.0.6
   - bifunctors ==5.5.11
   - bimap ==0.4.0
   - bimaps ==0.1.0.2
   - bimap-server ==0.1.0.1
-  - bin ==0.1.1
+  - bin ==0.1.2
+  - binance-exports ==0.1.1.0
   - binary-conduit ==1.3.1
-  - binary-ext ==2.0.4
+  - binaryen ==0.0.6.0
+  - binary-generic-combinators ==0.4.4.0
   - binary-ieee754 ==0.1.0.0
   - binary-instances ==1.0.2
   - binary-list ==1.1.1.2
-  - binary-orphans ==1.0.1
+  - binary-orphans ==1.0.2
   - binary-parser ==0.5.7.1
   - binary-parsers ==0.2.4.0
   - binary-search ==2.0.0
@@ -258,11 +179,15 @@ default-package-overrides:
   - bindings-GLFW ==3.3.2.0
   - bindings-libzip ==1.0.1
   - bindings-uname ==0.1
-  - bins ==0.1.2.0
+  - BiobaseENA ==0.0.0.2
+  - BiobaseEnsembl ==0.2.0.1
+  - BiobaseFasta ==0.4.0.1
+  - BiobaseTypes ==0.2.1.0
+  - BiobaseXNA ==0.11.1.1
   - bitarray ==0.0.1.1
-  - bits ==0.5.3
+  - bits ==0.6
   - bitset-word8 ==0.1.1.2
-  - bits-extra ==0.0.2.0
+  - bits-extra ==0.0.2.3
   - bitvec ==1.1.2.0
   - bitwise-enum ==1.0.1.0
   - blake2 ==0.3.0
@@ -270,21 +195,27 @@ default-package-overrides:
   - blas-carray ==0.1.0.1
   - blas-comfort-array ==0.0.0.3
   - blas-ffi ==0.1
+  - blas-hs ==0.1.1.0
   - blaze-bootstrap ==0.1.0.1
   - blaze-builder ==0.4.2.2
+  - blaze-colonnade ==1.2.2.1
   - blaze-html ==0.9.1.2
   - blaze-markup ==0.8.2.8
   - blaze-svg ==0.3.6.1
   - blaze-textual ==0.2.2.1
+  - bm ==0.1.0.2
   - bmp ==1.2.6.3
-  - BNFC ==2.9.3
+  - bnb-staking-csvs ==0.2.1.0
+  - BNFC ==2.9.4
   - BNFC-meta ==0.6.1
   - board-games ==0.3
   - bodhi ==0.1.0
   - boltzmann-samplers ==0.1.1.0
+  - bookkeeping ==0.4.0.1
   - Boolean ==0.2.4
   - boolean-like ==0.1.1.0
   - boolsimplifier ==0.1.8
+  - boomerang ==1.4.8
   - boots ==0.2.0.1
   - bordacount ==0.1.0.0
   - boring ==0.2
@@ -292,28 +223,26 @@ default-package-overrides:
   - bound ==2.0.4
   - BoundedChan ==1.0.3.0
   - bounded-queue ==1.0.0
-  - boundingboxes ==0.2.3
-  - bower-json ==1.0.0.1
   - boxes ==0.1.5
-  - brick ==0.62
+  - brick ==0.68
+  - brittany ==0.14.0.2
   - broadcast-chan ==0.2.1.2
   - bsb-http-chunked ==0.0.0.4
   - bson ==0.4.0.1
-  - btrfs ==0.2.0.0
+  - bson-lens ==0.1.1
   - buffer-builder ==0.2.4.7
   - buffer-pipe ==0.0
-  - bugsnag-haskell ==0.0.4.3
+  - bugsnag-haskell ==0.0.4.4
   - bugsnag-hs ==0.2.0.8
-  - bugzilla-redhat ==0.3.3
-  - burrito ==1.2.0.4
+  - bugzilla-redhat ==1.0.0
+  - burrito ==2.0.1.0
   - butcher ==1.3.3.2
   - buttplug-hs-core ==0.1.0.1
   - bv ==0.5
-  - bv-little ==1.1.1
   - byteable ==0.1.1
   - byte-count-reader ==0.10.1.8
   - bytedump ==1.0
-  - byte-order ==0.1.2.0
+  - byte-order ==0.1.3.0
   - byteorder ==1.0.4
   - bytes ==0.17.1
   - byteset ==0.1.1.0
@@ -324,28 +253,31 @@ default-package-overrides:
   - bytestring-strict-builder ==0.4.5.5
   - bytestring-to-vector ==0.3.0.1
   - bytestring-tree-builder ==0.2.7.9
+  - bytestring-trie ==0.2.7
   - bz2 ==1.0.1.0
   - bzlib ==0.5.1.0
   - bzlib-conduit ==0.3.0.2
-  - c14n ==0.1.0.1
+  - c14n ==0.1.0.2
   - c2hs ==0.28.8
   - cabal2spec ==2.6.2
-  - cabal-appimage ==0.3.0.3
+  - cabal-appimage ==0.3.0.4
   - cabal-clean ==0.1.20210924
-  - cabal-debian ==5.1
   - cabal-doctest ==1.0.9
   - cabal-file ==0.1.1
-  - cabal-flatpak ==0.1.0.2
-  - cabal-plan ==0.7.2.0
-  - cabal-rpm ==2.0.10
+  - cabal-file-th ==0.2.7
+  - cabal-flatpak ==0.1.0.3
+  - cabal-plan ==0.7.2.1
+  - cabal-rpm ==2.0.11
   - Cabal-syntax ==3.6.0.0
   - cache ==0.1.3.0
   - cached-json-file ==0.1.1
   - cacophony ==0.10.1
   - calendar-recycling ==0.0.0.1
-  - call-stack ==0.3.0
+  - call-alloy ==0.3
+  - call-stack ==0.4.0
   - can-i-haz ==0.3.1.0
-  - capability ==0.4.0.0
+  - capability ==0.5.0.1
+  - capataz ==0.2.1.0
   - ca-province-codes ==1.0.0.0
   - cardano-coin-selection ==1.0.1
   - carray ==0.1.6.8
@@ -359,12 +291,12 @@ default-package-overrides:
   - cassava-conduit ==0.6.0
   - cassava-megaparsec ==2.0.4
   - cast ==0.1.0.2
-  - category ==0.2.5.0
+  - caster ==0.0.3.0
   - cayley-client ==0.4.17
   - cborg ==0.2.6.0
   - cborg-json ==0.2.3.0
   - cdar-mBound ==0.1.0.4
-  - c-enum ==0.1.1.0
+  - c-enum ==0.1.1.2
   - cereal ==0.5.8.2
   - cereal-conduit ==0.8.0
   - cereal-text ==0.1.0.2
@@ -377,33 +309,35 @@ default-package-overrides:
   - charset ==0.3.9
   - charsetdetect-ae ==1.1.0.4
   - Chart ==1.9.3
-  - chaselev-deque ==0.5.0.5
   - ChasingBottoms ==1.3.1.11
   - cheapskate ==0.1.1.2
   - cheapskate-highlight ==0.1.0.0
   - cheapskate-lucid ==0.1.0.0
-  - checkers ==0.5.6
+  - check-email ==1.0.2
+  - checkers ==0.6.0
   - checksum ==0.0
   - chimera ==0.3.2.0
   - chiphunk ==0.1.4.0
   - choice ==0.2.2
   - chronologique ==0.3.1.3
-  - chronos ==1.1.1
-  - chronos-bench ==0.2.0.2
   - chunked-data ==0.3.1
   - cipher-aes ==0.2.11
+  - cipher-aes128 ==0.7.0.6
   - cipher-camellia ==0.0.2
   - cipher-des ==0.0.6
   - cipher-rc4 ==0.1.4
   - circle-packing ==0.1.0.6
-  - circular ==0.4.0.1
-  - citeproc ==0.4.0.1
-  - clash-ghc ==1.4.7
-  - clash-lib ==1.4.7
-  - clash-prelude ==1.4.7
+  - circular ==0.4.0.2
+  - citeproc ==0.6.0.1
+  - clash-ghc ==1.6.2
+  - clash-lib ==1.6.2
+  - clash-prelude ==1.6.2
   - classy-prelude ==1.5.0.2
   - classy-prelude-conduit ==1.5.0
-  - clay ==0.13.3
+  - classy-prelude-yesod ==1.5.0
+  - clay ==0.14.0
+  - cleff ==0.3.2.0
+  - cleff-plugin ==0.1.0.0
   - clientsession ==0.9.1.2
   - climb ==0.3.3
   - Clipboard ==2.3.2.0
@@ -412,33 +346,39 @@ default-package-overrides:
   - clumpiness ==0.17.0.2
   - ClustalParser ==1.3.0
   - cmark ==0.6
-  - cmark-gfm ==0.2.2
+  - cmark-gfm ==0.2.3
   - cmark-lucid ==0.1.0.0
   - cmdargs ==0.10.21
   - codec-beam ==0.2.0
+  - code-conjure ==0.5.2
   - code-page ==0.2.1
+  - coercible-utils ==0.1.0
+  - cointracking-imports ==0.1.0.1
   - collect-errors ==0.1.5.0
-  - co-log-concurrent ==0.5.1.0
-  - co-log-core ==0.2.1.1
+  - colonnade ==1.2.0.2
   - Color ==0.3.3
   - colorful-monoids ==0.2.1.3
   - colorize-haskell ==1.0.1
   - colour ==2.3.6
+  - columnar ==1.0.0.0
   - combinatorial ==0.1.0.1
-  - comfort-array ==0.4.1
-  - comfort-graph ==0.0.3.1
+  - comfort-array ==0.5.1
+  - comfort-array-shape ==0.0
+  - comfort-fftw ==0.0
+  - comfort-graph ==0.0.3.2
   - commonmark ==0.2.1.1
   - commonmark-extensions ==0.2.3
   - commonmark-pandoc ==0.2.1.2
   - commutative ==0.0.2
   - comonad ==5.0.8
   - comonad-extras ==4.0.1
+  - compact ==0.2.0.0
   - compactmap ==0.1.4.2.1
-  - compdata ==0.12.1
   - compensated ==0.8.3
   - compiler-warnings ==0.1.0
+  - componentm ==0.0.0.2
+  - componentm-devel ==0.0.0.2
   - composable-associations ==0.1.0.0
-  - composable-associations-aeson ==0.1.0.1
   - composition ==1.0.2.2
   - composition-extra ==2.0.0
   - concise ==0.1.0.1
@@ -450,28 +390,29 @@ default-package-overrides:
   - cond ==0.4.1.1
   - conduino ==0.2.2.0
   - conduit ==1.3.4.2
-  - conduit-algorithms ==0.0.11.0
+  - conduit-aeson ==0.1.0.1
   - conduit-combinators ==1.3.0
   - conduit-concurrent-map ==0.1.1
+  - conduit-connection ==0.1.0.5
   - conduit-extra ==1.3.5
   - conduit-parse ==0.2.1.0
   - conduit-zstd ==0.0.2.0
   - conferer ==1.1.0.0
   - conferer-aeson ==1.1.0.2
-  - conferer-hspec ==1.1.0.0
   - conferer-warp ==1.1.0.0
+  - ConfigFile ==1.1.4
   - config-ini ==0.2.4.0
+  - configuration-tools ==0.6.1
   - configurator ==0.3.0.0
   - configurator-export ==0.1.0.1
-  - configurator-pg ==0.2.5
   - connection ==0.3.1
   - connection-pool ==0.2.2
   - console-style ==0.0.2.1
-  - constraint ==0.1.4.0
   - constraints ==0.13.3
   - constraints-extras ==0.3.2.1
   - constraint-tuples ==0.1.2
-  - construct ==0.3.0.2
+  - construct ==0.3.1
+  - containers-unicode-symbols ==0.3.1.3
   - contravariant ==1.5.5
   - contravariant-extras ==0.3.5.3
   - control-bool ==0.2.1
@@ -481,23 +422,27 @@ default-package-overrides:
   - convertible ==1.1.1.0
   - cookie ==0.4.5
   - copr-api ==0.1.0
-  - core-data ==0.2.1.11
-  - core-program ==0.2.12.0
+  - core-data ==0.3.1.1
+  - core-program ==0.4.4.0
+  - core-telemetry ==0.1.9.1
   - core-text ==0.3.5.0
   - countable ==1.0
-  - country ==0.2.1
+  - covariance ==0.1.0.6
   - cpphs ==1.20.9.1
   - cprng-aes ==0.6.1
   - cpu ==0.1.2
   - cpuinfo ==0.1.0.2
-  - crackNum ==3.1
+  - crackNum ==3.2
   - crc32c ==0.0.0
   - credential-store ==0.1.2
   - criterion ==1.5.13.0
   - criterion-measurement ==0.1.3.0
   - cron ==0.7.0
   - crypto-api ==0.13.3
+  - crypto-api-tests ==0.3
+  - crypto-cipher-tests ==0.0.11
   - crypto-cipher-types ==0.0.9
+  - cryptocompare ==0.1.2
   - crypto-enigma ==0.1.1.6
   - cryptohash ==0.11.9
   - cryptohash-cryptoapi ==0.1.4
@@ -508,49 +453,58 @@ default-package-overrides:
   - cryptonite ==0.29
   - cryptonite-conduit ==0.2.2
   - cryptonite-openssl ==0.7
-  - crypto-numbers ==0.2.7
-  - crypto-pubkey ==0.2.8
   - crypto-pubkey-types ==0.4.3
   - crypto-random ==0.0.9
   - crypto-random-api ==0.2.0
+  - cryptostore ==0.2.1.0
+  - crypt-sha512 ==0
   - csp ==1.4.0
-  - css-syntax ==0.1.0.0
   - css-text ==0.1.3.0
-  - c-struct ==0.1.1.1
+  - c-struct ==0.1.1.2
   - csv ==0.1.2
+  - csv-conduit ==0.7.3.0
   - ctrie ==0.2
   - cubicbezier ==0.6.0.6
   - cubicspline ==0.1.2
-  - cuckoo-filter ==0.2.0.2
+  - cublas ==0.6.0.0
+  - cuda ==0.11.0.0
   - cue-sheet ==2.0.1
+  - cufft ==0.10.0.0
   - curl ==1.3.8
+  - curl-runnings ==0.17.0
   - currencies ==0.2.0.0
   - currency ==0.2.0.0
   - cursor ==0.3.2.0
   - cursor-brick ==0.1.0.1
   - cursor-fuzzy-time ==0.0.0.0
-  - cursor-gen ==0.3.0.0
+  - cursor-gen ==0.4.0.0
+  - cusolver ==0.3.0.0
+  - cusparse ==0.3.0.0
   - cutter ==0.0
   - cyclotomic ==1.1.1
   - czipwith ==1.0.1.4
-  - d10 ==0.2.1.6
+  - d10 ==1.0.1.0
   - data-accessor ==0.2.3
   - data-accessor-mtl ==0.2.0.4
-  - data-accessor-template ==0.2.1.16
   - data-accessor-transformers ==0.2.1.7
-  - data-ascii ==1.0.0.6
   - data-binary-ieee754 ==0.4.4
   - data-bword ==0.1.0.1
   - data-checked ==0.3
-  - data-clist ==0.1.2.3
-  - data-compat ==0.1.0.3
+  - data-clist ==0.2
   - data-default ==0.7.1.1
   - data-default-class ==0.1.2.0
+  - data-default-extra ==0.1.0
+  - data-default-instances-base ==0.1.0.1
+  - data-default-instances-bytestring ==0.0.1
+  - data-default-instances-case-insensitive ==0.0.1
   - data-default-instances-containers ==0.0.1
   - data-default-instances-dlist ==0.0.1
+  - data-default-instances-new-base ==0.0.2
   - data-default-instances-old-locale ==0.0.1
+  - data-default-instances-text ==0.0.1
+  - data-default-instances-unordered-containers ==0.0.1
+  - data-default-instances-vector ==0.0.1
   - data-diverse ==4.7.0.0
-  - datadog ==0.2.5.0
   - data-dword ==0.3.2.1
   - data-endian ==0.1.1
   - data-fix ==0.3.2
@@ -568,11 +522,17 @@ default-package-overrides:
   - data-ref ==0.0.2
   - data-reify ==0.6.3
   - data-serializer ==0.3.5
+  - datasets ==0.4.0
+  - data-sketches ==0.3.1.0
+  - data-sketches-core ==0.1.0.0
   - data-textual ==0.3.0.3
+  - data-tree-print ==0.1.0.2
   - dataurl ==0.1.0.0
   - DAV ==1.3.4
+  - dawg-ord ==0.5.1.2
+  - dbcleaner ==0.1.3
   - DBFunctor ==0.1.2.1
-  - dbus ==1.2.17
+  - dbus ==1.2.22
   - dbus-hslogger ==0.1.0.1
   - debian ==4.0.2
   - debian-build ==0.10.2.1
@@ -581,7 +541,6 @@ default-package-overrides:
   - Decimal ==0.5.2
   - declarative ==0.5.4
   - deepseq-generics ==0.2.0.0
-  - deepseq-instances ==0.1.0.1
   - deferred-folds ==0.9.18.1
   - dejafu ==2.4.0.3
   - dense-linear-algebra ==0.1.0.0
@@ -593,66 +552,87 @@ default-package-overrides:
   - deriveJsonNoPrefix ==0.1.0.1
   - derive-topdown ==0.0.3.0
   - deriving-aeson ==0.2.8
-  - deriving-compat ==0.5.10
-  - derulo ==1.0.10
-  - dhall ==1.39.0
-  - dhall-bash ==1.0.37
-  - dhall-json ==1.7.7
-  - dhall-lsp-server ==1.0.17
-  - dhall-yaml ==1.2.7
+  - deriving-compat ==0.6
+  - derulo ==2.0.0.1
+  - detour-via-sci ==1.0.0
+  - df1 ==0.4
+  - dhall ==1.40.2
+  - dhall-bash ==1.0.39
+  - dhall-json ==1.7.9
+  - dhall-yaml ==1.2.10
+  - di ==1.3
+  - diagrams ==1.4.0.1
+  - diagrams-contrib ==1.4.4
+  - diagrams-core ==1.5.0
+  - diagrams-lib ==1.4.5.1
+  - diagrams-rasterific ==1.4.2.2
   - diagrams-solve ==0.1.3
-  - dialogflow-fulfillment ==0.1.1.4
+  - diagrams-svg ==1.4.3.1
   - di-core ==1.0.4
   - dictionary-sharing ==0.1.0.0
+  - di-df1 ==1.2.1
   - Diff ==0.4.1
   - digest ==0.0.1.3
   - digits ==0.3.1
+  - di-handle ==1.0.1
   - dimensional ==1.4
   - di-monad ==1.3.1
   - directory-tree ==0.12.1
   - direct-sqlite ==2.3.26
-  - dirichlet ==0.1.0.5
+  - dirichlet ==0.1.0.6
   - discount ==0.1.1
+  - discover-instances ==0.1.0.0
+  - discrimination ==0.4.1
   - disk-free-space ==0.1.0.1
-  - distributed-closure ==0.4.2.0
+  - distributed-static ==0.3.9
   - distribution-opensuse ==1.1.3
   - distributive ==0.6.2.1
+  - djinn-lib ==0.0.1.3
   - dlist ==1.0
   - dlist-instances ==0.1.1.1
   - dlist-nonempty ==0.1.1
   - dns ==4.0.1
   - dockerfile ==0.2.0
   - doclayout ==0.3.1.1
-  - doctemplates ==0.9
-  - doctest ==0.17
+  - docopt ==0.7.0.7
+  - doctemplates ==0.10.0.1
+  - doctest ==0.18.2
   - doctest-discover ==0.2.0.0
   - doctest-driver-gen ==0.3.0.5
   - doctest-exitcode-stdio ==0.0
   - doctest-extract ==0.1
   - doctest-lib ==0.1
+  - doctest-parallel ==0.2.2
   - doldol ==0.4.1.2
   - do-list ==1.0.1
+  - domain ==0.1.1.3
+  - domain-core ==0.1.0.2
+  - domain-optics ==0.1.0.3
   - do-notation ==0.1.0.2
   - dot ==0.3
-  - dotenv ==0.8.0.7
+  - dotenv ==0.9.0.2
   - dotgen ==0.4.3
   - dotnet-timespan ==0.0.1.0
-  - double-conversion ==2.0.2.0
+  - double-conversion ==2.0.4.1
   - download ==0.3.2.7
   - download-curl ==0.1.4
-  - drinkery ==0.4
+  - DPutils ==0.1.1.0
+  - drifter ==0.3.0
+  - drifter-postgresql ==0.2.1
+  - drifter-sqlite ==0.1.0.0
   - dsp ==0.2.5.1
   - dual ==0.1.1.1
+  - dual-tree ==0.2.3.0
   - dublincore-xml-conduit ==0.1.0.2
-  - dunai ==0.7.0
+  - dunai ==0.8.1
   - duration ==0.2.0.0
   - dvorak ==0.1.0.0
   - dynamic-state ==0.3.1
   - dyre ==0.9.1
   - eap ==0.9.0.2
-  - earcut ==0.1.0.4
   - Earley ==0.13.0.1
   - easy-file ==0.2.2
+  - easy-logger ==0.1.0.7
   - Ebnf2ps ==1.0.15
   - echo ==0.1.4
   - ecstasy ==0.2.1.0
@@ -660,114 +640,115 @@ default-package-overrides:
   - edit-distance ==0.2.2.1
   - edit-distance-vector ==1.0.0.4
   - editor-open ==0.6.0.0
-  - egison ==4.1.3
-  - egison-pattern-src ==0.2.1.2
-  - egison-pattern-src-th-mode ==0.2.1.2
   - either ==5.0.1.1
   - either-both ==0.1.1.1
   - either-unwrap ==1.1
-  - ekg ==0.4.0.15
-  - ekg-core ==0.1.1.7
-  - ekg-json ==0.1.0.6
-  - ekg-statsd ==0.2.5.0
   - elerea ==2.9.0
-  - elf ==0.30
-  - eliminators ==0.7
-  - elm2nix ==0.2.1
-  - elm-bridge ==0.6.1
+  - elf ==0.31
+  - eliminators ==0.8
+  - elm-bridge ==0.8.0
   - elm-core-sources ==1.0.0
   - elm-export ==0.6.0.1
-  - elynx ==0.5.1.1
-  - elynx-markov ==0.5.1.1
-  - elynx-nexus ==0.5.1.1
-  - elynx-seq ==0.5.1.1
-  - elynx-tools ==0.5.1.1
-  - elynx-tree ==0.5.1.1
-  - email-validate ==2.3.2.15
+  - elynx ==0.6.1.1
+  - elynx-markov ==0.6.1.1
+  - elynx-nexus ==0.6.1.1
+  - elynx-seq ==0.6.1.1
+  - elynx-tools ==0.6.1.1
+  - elynx-tree ==0.6.1.1
+  - email-validate ==2.3.2.16
   - emd ==0.2.0.0
   - emojis ==0.1.2
   - enclosed-exceptions ==1.0.3
   - ENIG ==0.0.1.0
   - entropy ==0.4.1.7
   - enummapset ==0.6.0.3
-  - enumset ==0.0.5
-  - enum-subset-generate ==0.1.0.0
+  - enumset ==0.1
+  - enum-text ==0.5.3.0
   - envelope ==0.2.2.0
   - envparse ==0.4.1
   - envy ==2.1.0.0
-  - epub-metadata ==4.5
-  - eq ==4.2.1
+  - eq ==4.3
   - equal-files ==0.0.5.3
   - equational-reasoning ==0.7.0.1
-  - equivalence ==0.3.5
+  - equivalence ==0.4
   - erf ==2.0.0.0
-  - error-or ==0.1.2.0
-  - error-or-utils ==0.1.1
+  - errata ==0.4.0.0
+  - error ==0.3.0.0
+  - errorcall-eq-instance ==0.3.0
+  - error-or ==0.2.0.0
+  - error-or-utils ==0.2.0
   - errors ==2.3.0
   - errors-ext ==0.4.2
   - ersatz ==0.4.10
-  - esqueleto ==3.5.3.0
-  - essence-of-live-coding ==0.2.5
-  - essence-of-live-coding-gloss ==0.2.5
-  - essence-of-live-coding-pulse ==0.2.5
-  - essence-of-live-coding-quickcheck ==0.2.5
-  - etc ==0.4.1.0
-  - eve ==0.1.9.0
+  - esqueleto ==3.5.3.1
+  - essence-of-live-coding ==0.2.6
+  - essence-of-live-coding-gloss ==0.2.6
+  - essence-of-live-coding-pulse ==0.2.6
+  - essence-of-live-coding-quickcheck ==0.2.6
+  - essence-of-live-coding-warp ==0.2.6
   - eventful-core ==0.2.0
+  - eventful-memory ==0.2.0
   - eventful-test-helpers ==0.2.0
   - event-list ==0.1.2
-  - eventstore ==1.4.1
+  - eventstore ==1.4.2
   - every ==0.0.1
+  - evm-opcodes ==0.1.1
   - exact-combinatorics ==0.2.0.11
   - exact-pi ==0.5.0.1
-  - exception-hierarchy ==0.1.0.4
+  - exception-hierarchy ==0.1.0.6
   - exception-mtl ==0.4.0.1
-  - exceptions ==0.10.4
   - exception-transformers ==0.4.0.11
   - exception-via ==0.1.0.0
+  - executable-hash ==0.2.0.4
   - executable-path ==0.0.3.1
   - exit-codes ==1.0.0
   - exomizer ==1.0.0
   - experimenter ==0.1.0.12
   - expiring-cache-map ==0.0.6.1
+  - explainable-predicates ==0.1.2.1
   - explicit-exception ==0.1.10
   - exp-pairs ==0.2.1.0
-  - express ==0.1.16
+  - express ==1.0.8
   - extended-reals ==0.2.4.0
   - extensible-effects ==5.0.0.1
   - extensible-exceptions ==0.1.1.4
-  - extra ==1.7.9
+  - extra ==1.7.10
   - extractable-singleton ==0.0.1
   - extrapolate ==0.4.6
   - fail ==4.9.0.0
   - failable ==1.2.4.0
-  - fakedata ==0.8.0
+  - fakedata ==1.0.2
   - fakedata-parser ==0.1.0.0
+  - fakedata-quickcheck ==0.2.0
   - fakefs ==0.3.0.2
   - fakepull ==0.3.0.2
-  - faktory ==1.0.3.1
-  - fast-digits ==0.3.1.0
-  - fast-logger ==3.0.5
+  - faktory ==1.1.2.1
+  - fast-builder ==0.1.3.0
+  - fast-logger ==3.1.1
   - fast-math ==1.0.2
-  - fb ==2.1.1
+  - fastmemo ==0.1.0.1
   - fclabels ==2.0.5.1
   - feature-flags ==0.1.0.1
-  - fedora-dists ==1.1.2
-  - fedora-haskell-tools ==0.9
-  - feed ==1.3.2.0
+  - fedora-dists ==2.0.0
+  - fedora-haskell-tools ==1.0
+  - feed ==1.3.2.1
   - FenwickTree ==0.1.2.1
   - fft ==0.1.8.7
+  - fftw-ffi ==0.1
   - fgl ==5.7.0.3
+  - fields-json ==0.4.0.0
   - file-embed ==0.0.15.0
   - file-embed-lzma ==0
   - filelock ==0.1.1.5
   - filemanip ==0.3.6.3
+  - file-modules ==0.1.2.4
   - filepath-bytestring ==1.4.2.1.9
   - file-path-th ==0.1.0.0
   - filepattern ==0.1.2
   - fileplow ==0.1.0.0
-  - filtrable ==0.1.4.0
-  - fin ==0.2
+  - filter-logger ==0.6.0.0
+  - filtrable ==0.1.6.0
+  - fin ==0.2.1
   - FindBin ==0.0.5
   - fingertree ==0.1.5.0
   - finite-typelits ==0.1.4.2
@@ -776,7 +757,7 @@ default-package-overrides:
   - fitspec ==0.4.10
   - fixed ==0.3
   - fixed-length ==0.2.3
-  - fixed-vector ==1.2.0.0
+  - fixed-vector ==1.2.1.0
   - fixed-vector-hetero ==0.6.1.1
   - fix-whitespace ==0.0.7
   - flac ==0.2.0
@@ -784,31 +765,34 @@ default-package-overrides:
   - flags-applicative ==0.1.0.3
   - flat ==0.4.4
   - flat-mcmc ==1.5.2
+  - flay ==0.4
   - flexible-defaults ==0.0.3
   - FloatingHex ==0.5
   - floatshow ==0.2.4
-  - flow ==1.0.23
+  - flow ==2.0.0.0
   - flush-queue ==1.0.0
   - fmlist ==0.9.4
   - fmt ==0.6.3.0
   - fn ==0.3.0.2
   - focus ==1.0.3
   - focuslist ==0.1.1.0
-  - foldable1 ==0.1.0.0
   - fold-debounce ==0.2.0.9
   - fold-debounce-conduit ==0.2.0.6
   - foldl ==1.4.12
   - folds ==0.7.7
   - follow-file ==0.0.3
   - FontyFruity ==0.5.3.5
+  - force-layout ==0.4.0.6
   - foreign-store ==0.2
   - ForestStructures ==0.0.1.0
   - forkable-monad ==0.2.0.3
-  - forma ==1.1.3
+  - forma ==1.2.0
   - format-numbers ==0.1.0.1
   - formatting ==7.1.3
-  - foundation ==0.0.26.1
-  - fourmolu ==0.3.0.0
+  - fortran-src ==0.9.0
+  - foundation ==0.0.28
+  - fourmolu ==0.4.0.0
+  - Frames ==0.7.3
   - free ==5.1.7
   - free-categories ==0.2.0.2
   - freenect ==1.2.1
@@ -816,348 +800,381 @@ default-package-overrides:
   - freetype2 ==0.2.0
   - free-vl ==0.1.4
   - friendly-time ==0.4.1
+  - frisby ==0.2.4
   - from-sum ==0.2.3.0
   - frontmatter ==0.1.0.2
   - fsnotify ==0.3.0.1
   - fsnotify-conduit ==0.1.1.1
   - ftp-client ==0.5.1.4
-  - ftp-client-conduit ==0.5.0.5
   - funcmp ==1.9
   - function-builder ==0.3.0.1
-  - functor-classes-compat ==1.0.1
-  - functor-combinators ==0.3.6.0
+  - functor-classes-compat ==2.0.0.2
+  - functor-combinators ==0.4.1.0
+  - fused-effects ==1.1.1.2
   - fusion-plugin ==0.2.3
   - fusion-plugin-types ==0.1.0
   - fuzzcheck ==0.1.1
   - fuzzy ==0.1.0.1
   - fuzzy-dates ==0.1.1.2
   - fuzzyset ==0.2.2
-  - fuzzy-time ==0.1.0.0
+  - fuzzy-time ==0.2.0.0
   - gauge ==0.2.5
   - gd ==3000.7.3
   - gdp ==0.0.3.0
   - general-games ==1.1.1
   - generic-aeson ==0.2.0.13
-  - generic-arbitrary ==0.1.0
+  - generic-arbitrary ==0.2.0
   - 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-functor ==0.2.0.0
-  - generic-lens ==2.1.0.0
-  - generic-lens-core ==2.1.0.0
+  - generic-lens ==2.2.1.0
+  - generic-lens-core ==2.2.1.0
   - generic-monoid ==0.1.0.1
-  - generic-optics ==2.1.0.0
+  - generic-optics ==2.2.1.0
   - GenericPretty ==1.2.2
-  - generic-random ==1.4.0.0
+  - generic-random ==1.5.0.1
   - generics-eot ==0.4.0.1
   - generics-sop ==0.5.1.2
   - generics-sop-lens ==0.2.0.1
   - geniplate-mirror ==0.7.8
-  - genvalidity ==0.11.0.2
-  - genvalidity-aeson ==0.3.0.0
-  - genvalidity-bytestring ==0.6.0.0
-  - genvalidity-containers ==0.9.0.0
-  - genvalidity-criterion ==0.2.0.0
-  - genvalidity-hspec ==0.7.0.4
-  - genvalidity-hspec-aeson ==0.3.1.1
-  - genvalidity-hspec-binary ==0.2.0.4
-  - genvalidity-hspec-cereal ==0.2.0.4
-  - genvalidity-hspec-hashable ==0.2.0.5
-  - genvalidity-hspec-optics ==0.1.1.2
-  - genvalidity-hspec-persistent ==0.0.0.1
-  - genvalidity-mergeful ==0.2.0.0
-  - genvalidity-mergeless ==0.2.0.0
-  - genvalidity-path ==0.3.0.4
-  - genvalidity-persistent ==0.0.0.0
-  - genvalidity-property ==0.5.0.1
-  - genvalidity-scientific ==0.2.1.1
-  - genvalidity-sydtest ==0.0.0.0
-  - genvalidity-sydtest-aeson ==0.0.0.0
-  - genvalidity-sydtest-hashable ==0.0.0.0
-  - genvalidity-sydtest-lens ==0.0.0.0
-  - genvalidity-sydtest-persistent ==0.0.0.1
-  - genvalidity-text ==0.7.0.2
-  - genvalidity-time ==0.3.0.0
-  - genvalidity-typed-uuid ==0.0.0.2
-  - genvalidity-unordered-containers ==0.3.0.1
-  - genvalidity-uuid ==0.1.0.4
-  - genvalidity-vector ==0.3.0.1
-  - geojson ==4.0.4
+  - genvalidity ==1.0.0.1
+  - genvalidity-bytestring ==1.0.0.0
+  - genvalidity-containers ==1.0.0.0
+  - genvalidity-criterion ==1.0.0.0
+  - genvalidity-hspec ==1.0.0.0
+  - genvalidity-hspec-aeson ==1.0.0.0
+  - genvalidity-hspec-binary ==1.0.0.0
+  - genvalidity-hspec-cereal ==1.0.0.0
+  - genvalidity-hspec-hashable ==1.0.0.0
+  - genvalidity-hspec-optics ==1.0.0.0
+  - genvalidity-hspec-persistent ==1.0.0.0
+  - genvalidity-mergeless ==0.3.0.0
+  - genvalidity-path ==1.0.0.0
+  - genvalidity-persistent ==1.0.0.0
+  - genvalidity-property ==1.0.0.0
+  - genvalidity-scientific ==1.0.0.0
+  - genvalidity-text ==1.0.0.1
+  - genvalidity-time ==1.0.0.0
+  - genvalidity-unordered-containers ==1.0.0.0
+  - genvalidity-uuid ==1.0.0.0
+  - genvalidity-vector ==1.0.0.0
+  - geodetics ==0.1.2
+  - geojson ==4.1.0
   - getopt-generics ==0.13.0.4
+  - ghc-bignum-orphans ==0.1.1
   - ghc-byteorder ==4.11.0.0.10
   - ghc-check ==0.5.0.6
+  - ghc-compact ==0.1.0.0
   - ghc-core ==0.5.6
-  - ghc-events ==0.17.0.1
+  - ghc-events ==0.17.0.2
   - ghc-exactprint ==0.6.4
   - ghcid ==0.8.7
   - ghci-hexcalc ==0.1.1.0
   - ghcjs-codemirror ==0.0.0.2
-  - ghc-lib ==8.10.7.20210828
-  - ghc-lib-parser ==8.10.7.20210828
-  - ghc-lib-parser-ex ==8.10.0.23
+  - ghcjs-perch ==0.3.3.3
+  - ghc-lib ==9.0.2.20211226
+  - ghc-lib-parser ==9.0.2.20211226
+  - ghc-lib-parser-ex ==9.0.0.6
   - ghc-parser ==0.2.3.0
   - ghc-paths ==0.1.0.12
   - ghc-prof ==1.4.1.9
   - ghc-source-gen ==0.4.3.0
-  - ghc-syntax-highlighter ==0.0.6.0
+  - ghc-syntax-highlighter ==0.0.7.0
   - ghc-tcplugins-extra ==0.4.2
-  - ghc-trace-events ==0.1.2.4
+  - ghc-trace-events ==0.1.2.5
   - ghc-typelits-extra ==0.4.3
   - ghc-typelits-knownnat ==0.7.6
   - ghc-typelits-natnormalise ==0.7.6
   - ghc-typelits-presburger ==0.6.2.0
   - ghost-buster ==0.1.1.0
-  - gi-atk ==2.0.23
-  - gi-cairo ==1.0.25
-  - gi-dbusmenu ==0.4.9
-  - gi-dbusmenugtk3 ==0.4.10
-  - gi-gdk ==3.0.24
-  - gi-gdkpixbuf ==2.0.26
-  - gi-gdkx11 ==3.0.11
-  - gi-gio ==2.0.28
-  - gi-glib ==2.0.25
-  - gi-gmodule ==2.0.1
-  - gi-gobject ==2.0.26
-  - gi-graphene ==1.0.3
-  - gi-gtk ==3.0.37
+  - gi-atk ==2.0.24
+  - gi-cairo ==1.0.26
+  - gi-cairo-connector ==0.1.1
+  - gi-cairo-render ==0.1.1
+  - gi-dbusmenu ==0.4.10
+  - gi-dbusmenugtk3 ==0.4.11
+  - gi-gdk ==3.0.25
+  - gi-gdkpixbuf ==2.0.28
+  - gi-gdkx11 ==3.0.12
+  - gi-gio ==2.0.29
+  - gi-glib ==2.0.26
+  - gi-gmodule ==2.0.2
+  - gi-gobject ==2.0.27
+  - gi-graphene ==1.0.4
+  - gi-gtk ==3.0.38
   - gi-gtk-hs ==0.3.12
-  - gi-harfbuzz ==0.0.4
-  - ginger ==0.10.1.0
-  - gingersnap ==0.3.1.0
-  - gi-pango ==1.0.24
+  - gi-gtksource ==3.0.25
+  - gi-harfbuzz ==0.0.5
+  - gi-javascriptcore ==4.0.24
+  - ginger ==0.10.4.0
+  - gi-pango ==1.0.25
   - githash ==0.1.6.2
-  - github-release ==1.3.10
-  - github-rest ==1.0.3
+  - github ==0.27
+  - github-release ==2.0.0.0
+  - github-rest ==1.1.2
   - github-types ==0.2.1
   - github-webhooks ==0.15.0
-  - gitlab-haskell ==0.2.5
   - gitrev ==1.3.1
-  - gi-xlib ==2.0.10
+  - gi-vte ==2.91.29
+  - gi-xlib ==2.0.11
   - gl ==0.9
   - glabrous ==2.0.5
+  - glasso ==0.1.0
   - GLFW-b ==3.3.0.0
   - Glob ==0.10.2
+  - glob-posix ==0.2.0.1
   - gloss ==1.13.2.1
+  - gloss-algorithms ==1.13.0.3
+  - gloss-raster ==1.13.1.2
   - gloss-rendering ==1.13.1.1
   - GLURaw ==2.0.0.5
   - GLUT ==2.7.0.16
-  - gluturtle ==0.0.58.1
-  - gnuplot ==0.5.6.1
+  - gmail-simple ==0.1.0.4
+  - gnuplot ==0.5.7
   - goldplate ==0.2.0
   - google-isbn ==1.0.3
-  - gopher-proxy ==0.1.1.2
+  - gopher-proxy ==0.1.1.3
   - gothic ==0.1.8
+  - gotyno-hs ==1.1.0
   - gpolyline ==0.1.0.1
   - graph-core ==0.3.0.0
   - graphite ==0.10.0.1
-  - graphql-client ==1.1.1
   - graphs ==0.7.1
   - graphula ==2.0.1.0
   - graphviz ==2999.20.1.0
   - graph-wrapper ==0.2.6.0
   - gravatar ==0.8.0
-  - greskell ==1.2.0.2
-  - greskell-core ==0.1.3.7
-  - greskell-websocket ==0.1.2.6
+  - greskell ==2.0.0.0
+  - greskell-core ==1.0.0.0
+  - greskell-websocket ==1.0.0.0
   - groom ==0.1.2.1
+  - groundhog ==0.12.0
+  - groundhog-postgresql ==0.12
+  - groundhog-sqlite ==0.12.0
   - group-by-date ==0.1.0.4
+  - grouped-list ==0.2.3.0
   - groups ==0.5.3
+  - gtk2hs-buildtools ==0.13.8.3
+  - gtk-sni-tray ==0.1.8.0
   - gtk-strut ==0.1.3.0
   - guarded-allocation ==0.0.1
-  - H ==0.9.0.1
   - hackage-db ==2.1.2
-  - hackage-security ==0.6.2.0
+  - hackage-security ==0.6.2.1
   - haddock-library ==1.10.0
   - hadoop-streaming ==0.2.0.3
+  - hakyll ==4.15.1.1
   - hakyll-convert ==0.3.0.4
-  - hal ==0.4.8
+  - hal ==0.4.10
   - half ==0.3.1
   - hall-symbols ==0.1.0.6
+  - hamilton ==0.1.0.3
   - hamtsolo ==1.0.4
   - HandsomeSoup ==0.4.2
-  - hapistrano ==0.4.3.0
-  - happstack-server ==7.7.1.2
+  - handwriting ==0.1.0.3
+  - happstack-server ==7.7.2
+  - happstack-server-tls ==7.2.1.1
   - happy ==1.20.0
   - happy-meta ==0.2.0.11
   - HasBigDecimal ==0.1.1
-  - hasbolt ==0.1.6.1
-  - hashable ==1.3.0.0
-  - hashable-time ==0.2.1
+  - hasbolt ==0.1.6.2
+  - hashable ==1.3.5.0
+  - hashable-time ==0.3
   - hashids ==1.0.2.7
   - hashing ==0.1.0.1
   - hashmap ==1.3.3
   - hashtables ==1.2.4.2
   - haskeline ==0.8.2
   - haskell-awk ==1.2.0.1
-  - haskell-gi ==0.25.0
-  - haskell-gi-base ==0.25.0
+  - haskell-gi ==0.26.0
+  - haskell-gi-base ==0.26.0
   - haskell-gi-overloading ==1.0
-  - haskell-import-graph ==1.0.4
   - haskell-lexer ==1.1
-  - haskell-lsp ==0.24.0.0
   - haskell-lsp-types ==0.24.0.0
-  - haskell-names ==0.9.9
-  - HaskellNet ==0.6
   - haskell-src ==1.0.4
   - haskell-src-exts ==1.23.1
   - haskell-src-exts-util ==0.2.5
   - haskell-src-meta ==0.8.9
   - haskey-btree ==0.3.0.1
+  - haskintex ==0.8.0.0
+  - haskoin-core ==0.21.1
   - hasktags ==0.72.0
-  - hasql ==1.4.5.3
+  - hasql ==1.5.0.2
+  - hasql-migration ==0.3.0
   - hasql-notifications ==0.2.0.0
   - hasql-optparse-applicative ==0.3.0.8
   - hasql-pool ==0.5.2.2
   - hasql-queue ==1.2.0.2
+  - hasql-th ==0.4.0.11
   - hasql-transaction ==1.0.1.1
+  - has-transformers ==0.1.0.4
   - hasty-hamiltonian ==1.3.4
   - HaTeX ==3.22.3.1
   - HaXml ==1.25.8
   - haxr ==3000.11.4.1
   - HCodecs ==0.5.2
   - hdaemonize ==0.5.6
-  - HDBC ==2.4.0.3
+  - HDBC ==2.4.0.4
   - HDBC-session ==0.1.2.0
-  - headroom ==0.4.3.0
+  - headed-megaparsec ==0.2.1
   - heap ==1.0.4
   - heaps ==0.4
+  - heatshrink ==0.1.0.0
   - hebrew-time ==0.1.2
   - hedgehog ==1.0.5
+  - hedgehog-classes ==0.2.5.3
   - hedgehog-corpus ==0.2.0
   - hedgehog-fakedata ==0.0.1.5
   - hedgehog-fn ==1.0
   - hedgehog-quickcheck ==0.1.1
-  - hedis ==0.14.4
+  - hedis ==0.15.1
   - hedn ==0.3.0.4
   - here ==1.2.13
   - heredoc ==0.2.0.0
-  - heterocephalus ==1.0.5.4
+  - heterocephalus ==1.0.5.6
+  - hex ==0.2.0
   - hexml ==0.3.4
-  - hexml-lens ==0.2.1
   - hexpat ==0.20.13
+  - hex-text ==0.1.0.6
   - hformat ==0.3.3.1
   - hfsevents ==0.1.6
-  - hgeometry ==0.12.0.4
-  - hgeometry-combinatorial ==0.12.0.3
-  - hgrev ==0.2.6
+  - hgeometry ==0.14
+  - hgeometry-combinatorial ==0.14
+  - hid ==0.2.2
   - hidapi ==0.1.7
-  - hie-bios ==0.7.6
+  - hie-bios ==0.9.1
   - hi-file-parser ==0.1.2.0
   - higher-leveldb ==0.6.0.0
   - highlighting-kate ==0.6.4
+  - hindent ==5.3.2
   - hinfo ==0.0.3.0
   - hinotify ==0.4.1
   - hint ==0.9.0.5
+  - histogram-fill ==0.9.1.0
   - hjsmin ==0.2.0.4
   - hkd-default ==1.1.0.0
   - hkgr ==0.3
-  - hledger ==1.21
-  - hledger-iadd ==1.3.14
-  - hledger-interest ==1.6.1
-  - hledger-lib ==1.21
+  - hledger ==1.25
+  - hledger-iadd ==1.3.17
+  - hledger-interest ==1.6.3
+  - hledger-lib ==1.25
   - hledger-stockquotes ==0.1.2.0
-  - hledger-ui ==1.21
-  - hledger-web ==1.21
+  - hledger-ui ==1.25
+  - hledger-web ==1.25
   - hlibcpuid ==0.2.0
   - hlibgit2 ==0.18.0.16
   - hlibsass ==0.1.10.1
-  - hlint ==3.2.8
+  - hlint ==3.3.6
   - hmatrix ==0.20.2
-  - hmatrix-backprop ==0.1.3.0
   - hmatrix-gsl ==0.19.0.1
   - hmatrix-gsl-stats ==0.4.1.8
   - hmatrix-morpheus ==0.1.1.2
+  - hmatrix-repa ==0.1.2.2
   - hmatrix-vector-sized ==0.1.3.0
-  - hmm-lapack ==0.4
-  - hmpfr ==0.4.4
+  - hmm-lapack ==0.5
+  - HMock ==0.5.1.0
   - hnock ==0.4.0
-  - hoauth2 ==1.16.2
+  - hoauth2 ==2.3.0
+  - hocilib ==0.2.0
   - hoogle ==5.0.18.3
-  - hOpenPGP ==2.9.7
-  - hopenpgp-tools ==0.23.6
   - hopenssl ==2.2.4
   - hopfli ==0.2.2.1
-  - hosc ==0.18.1
+  - horizontal-rule ==0.5.0.0
+  - hosc ==0.19.1
   - hostname ==1.0
   - hostname-validate ==1.0.0
   - hourglass ==0.2.12
   - hourglass-orphans ==0.1.0.0
   - hp2pretty ==0.10
   - hpack ==0.34.6
-  - hpack-dhall ==0.5.3
+  - hpack-dhall ==0.5.4
   - hpc-codecov ==0.3.0.0
-  - hpc-lcov ==1.0.1
+  - HPDF ==1.6.0
+  - hpp ==0.6.4
+  - hpqtypes ==1.9.3.0
   - hprotoc ==2.4.17
-  - hruby ==0.3.8.1
+  - hreader ==1.1.0
+  - hreader-lens ==0.1.3.0
+  - hruby ==0.5.0.0
   - hsass ==0.8.0
   - hs-bibutils ==6.10.0.0
   - hsc2hs ==0.68.8
   - hscolour ==1.24.4
   - hsdns ==1.8
-  - hsebaysdk ==0.4.1.0
   - hsemail ==2.2.1
-  - hs-functors ==0.1.7.1
+  - hset ==2.2.0
+  - hsexif ==0.6.1.8
   - hs-GeoIP ==0.3
+  - hsignal ==0.2.7.5
   - hsini ==0.5.1.2
-  - hsinstall ==2.6
+  - hsinstall ==2.7
   - HSlippyMap ==3.0.1
   - hslogger ==1.3.1.0
-  - hslua ==1.3.0.2
-  - hslua-aeson ==1.0.3.1
-  - hslua-module-doclayout ==0.2.0.1
-  - hslua-module-path ==0.1.0.1
-  - hslua-module-system ==0.2.2.1
-  - hslua-module-text ==0.3.0.1
+  - hslua ==2.1.0
+  - hslua-aeson ==2.1.0
+  - hslua-classes ==2.1.0
+  - hslua-core ==2.1.0
+  - hslua-marshalling ==2.1.0
+  - hslua-module-doclayout ==1.0.3
+  - hslua-module-path ==1.0.2
+  - hslua-module-system ==1.0.2
+  - hslua-module-text ==1.0.2
+  - hslua-module-version ==1.0.2
+  - hslua-objectorientation ==2.1.0
+  - hslua-packaging ==2.1.0
+  - hsndfile ==0.8.0
+  - hsndfile-vector ==0.5.2
   - HsOpenSSL ==0.11.7.2
   - HsOpenSSL-x509-system ==0.1.0.4
   - hsp ==0.10.0
-  - hspec ==2.7.10
+  - hspec ==2.8.5
   - hspec-attoparsec ==0.1.0.2
   - hspec-checkers ==0.1.0.2
   - hspec-contrib ==0.5.1
-  - hspec-core ==2.7.10
-  - hspec-discover ==2.7.10
+  - hspec-core ==2.8.5
+  - hspec-discover ==2.8.5
   - hspec-expectations ==0.8.2
-  - hspec-expectations-json ==1.0.0.4
+  - hspec-expectations-json ==1.0.0.5
   - hspec-expectations-lifted ==0.10.0
   - hspec-expectations-pretty-diff ==0.7.2.6
-  - hspec-golden ==0.1.0.3
-  - hspec-golden-aeson ==0.7.0.0
+  - hspec-golden ==0.2.0.0
+  - hspec-golden-aeson ==0.9.0.0
   - hspec-hedgehog ==0.0.1.2
-  - hspec-junit-formatter ==1.0.0.5
+  - hspec-junit-formatter ==1.0.3.0
   - hspec-leancheck ==0.0.6
   - hspec-megaparsec ==2.2.0
   - hspec-meta ==2.7.8
   - hspec-need-env ==0.1.0.8
   - hspec-parsec ==0
   - hspec-smallcheck ==0.5.2
-  - hspec-tables ==0.0.1
   - hspec-tmp-proc ==0.5.0.1
-  - hspec-wai ==0.11.0
-  - hspec-wai-json ==0.11.0
+  - hspec-wai ==0.11.1
   - hs-php-session ==0.0.9.3
   - hsshellscript ==3.5.0
   - hs-tags ==0.1.5.3
+  - hstatistics ==0.3.1
   - HStringTemplate ==0.8.8
   - HSvm ==0.1.1.3.25
   - HsYAML ==0.2.1.0
   - HsYAML-aeson ==0.2.0.1
   - hsyslog ==5.0.2
+  - hsyslog-udp ==0.2.5
   - htaglib ==1.2.0
-  - HTF ==0.14.0.6
+  - HTF ==0.15.0.0
   - html ==1.0.1.2
   - html-conduit ==1.3.2.2
+  - html-email-validate ==0.2.0.0
   - html-entities ==1.1.4.5
   - html-entity-map ==0.1.0.0
-  - htoml ==1.0.0.3
-  - http2 ==3.0.2
+  - http2 ==3.0.3
   - HTTP ==4000.3.16
-  - http-api-data ==0.4.2
-  - http-client ==0.6.4.1
-  - http-client-openssl ==0.3.2.0
+  - http-api-data ==0.4.3
+  - http-api-data-qq ==0.1.0.0
+  - http-client ==0.7.11
+  - http-client-openssl ==0.3.3
   - http-client-overrides ==0.1.1.0
-  - http-client-tls ==0.3.5.3
+  - http-client-tls ==0.3.6.1
   - http-common ==0.8.3.4
   - http-conduit ==2.3.8
   - http-date ==0.0.11
@@ -1166,7 +1183,7 @@ default-package-overrides:
   - httpd-shed ==0.4.1.1
   - http-link-header ==1.2.1
   - http-media ==0.8.0.0
-  - http-query ==0.1.1
+  - http-query ==0.1.3
   - http-reverse-proxy ==0.6.0
   - http-streams ==0.8.9.6
   - http-types ==0.12.3
@@ -1175,30 +1192,37 @@ default-package-overrides:
   - HUnit-approx ==1.1.1.1
   - hunit-dejafu ==2.0.0.5
   - hvect ==0.4.0.1
-  - hvega ==0.11.0.1
-  - hw-balancedparens ==0.4.1.1
-  - hw-bits ==0.7.2.1
-  - hw-conduit ==0.2.1.0
+  - hvega ==0.12.0.2
+  - hw-balancedparens ==0.4.1.2
+  - hw-bits ==0.7.2.2
+  - hw-conduit ==0.2.1.1
   - hw-conduit-merges ==0.2.1.0
   - hw-diagnostics ==0.0.1.0
+  - hw-dsv ==0.4.1.1
   - hweblib ==0.6.3
+  - hw-eliasfano ==0.1.2.1
   - hw-excess ==0.2.3.0
-  - hw-fingertree ==0.1.2.0
-  - hw-fingertree-strict ==0.1.2.0
-  - hw-hedgehog ==0.1.1.0
-  - hw-hspec-hedgehog ==0.1.1.0
+  - hw-fingertree ==0.1.2.1
+  - hw-fingertree-strict ==0.1.2.1
+  - hw-hedgehog ==0.1.1.1
   - hw-int ==0.0.2.0
-  - hw-json-simd ==0.1.1.0
+  - hw-ip ==2.4.2.1
+  - hw-json-simd ==0.1.1.1
+  - hw-json-simple-cursor ==0.1.1.1
+  - hw-json-standard-cursor ==0.2.3.2
   - hw-kafka-client ==4.0.3
-  - hw-packed-vector ==0.2.1.0
+  - hw-mquery ==0.2.1.1
+  - hworker ==0.1.0.1
+  - hw-packed-vector ==0.2.1.1
   - hw-parser ==0.1.1.0
-  - hw-prim ==0.6.3.0
-  - hw-rankselect ==0.13.4.0
+  - hw-prim ==0.6.3.1
+  - hw-rankselect ==0.13.4.1
   - hw-rankselect-base ==0.3.4.1
-  - hw-simd ==0.1.2.0
+  - hw-simd ==0.1.2.1
   - hw-streams ==0.0.1.0
-  - hw-string-parse ==0.0.0.4
+  - hw-string-parse ==0.0.0.5
   - hw-succinct ==0.1.0.1
+  - hw-xml ==0.5.1.1
   - hxt ==9.3.1.22
   - hxt-charproperties ==9.5.0.0
   - hxt-css ==0.1.0.3
@@ -1218,32 +1242,32 @@ default-package-overrides:
   - if ==0.1.0.0
   - iff ==0.0.6
   - ihaskell ==0.10.2.2
+  - ihaskell-hvega ==0.5.0.2
   - ihs ==0.1.0.3
   - ilist ==0.4.0.1
   - imagesize-conduit ==1.1
   - Imlib ==0.1.2
   - immortal ==0.3
   - immortal-queue ==0.1.0.1
-  - inbox ==0.1.0
+  - inbox ==0.2.0
   - include-file ==0.1.0.4
-  - incremental-parser ==0.5.0.2
+  - incremental-parser ==0.5.0.3
   - indents ==0.5.0.1
   - indexed ==0.1.3
   - indexed-containers ==0.1.0.2
   - indexed-list-literals ==0.2.1.3
   - indexed-profunctors ==0.1.1
   - indexed-traversable ==0.1.2
-  - indexed-traversable-instances ==0.1
+  - indexed-traversable-instances ==0.1.1
   - infer-license ==0.2.0
   - inflections ==0.4.0.6
   - influxdb ==1.9.2.2
   - ini ==0.4.1
   - inj ==1.0
   - inline-c ==0.9.1.5
-  - inline-c-cpp ==0.4.0.3
-  - inline-r ==0.10.5
+  - inline-c-cpp ==0.5.0.0
   - inliterate ==0.1.0
-  - input-parsers ==0.2.3.1
+  - input-parsers ==0.2.3.2
   - insert-ordered-containers ==0.2.5.1
   - inspection-testing ==0.4.6.0
   - instance-control ==0.1.2.0
@@ -1255,12 +1279,12 @@ default-package-overrides:
   - interpolate ==0.2.1
   - interpolatedstring-perl6 ==1.0.2
   - interpolation ==0.1.1.2
-  - interpolator ==1.1.0.2
   - IntervalMap ==0.6.1.2
   - intervals ==0.9.2
   - intro ==0.9.0.0
   - intset-imperative ==0.1.0.0
   - invariant ==0.5.5
+  - invert ==1.0.0.2
   - invertible ==0.2.0.7
   - invertible-grammar ==0.1.3.2
   - io-machine ==0.2.0.0
@@ -1269,12 +1293,10 @@ default-package-overrides:
   - io-region ==0.1.1
   - io-storage ==0.3
   - io-streams ==1.5.2.1
-  - io-streams-haproxy ==1.0.1.0
   - ip6addr ==1.0.3
-  - ipa ==0.3.1.1
   - iproute ==1.7.12
   - IPv6Addr ==2.0.4
-  - ipynb ==0.1.0.2
+  - ipynb ==0.2
   - ipython-kernel ==0.10.2.2
   - irc ==0.6.1.0
   - irc-client ==1.1.2.2
@@ -1285,78 +1307,72 @@ default-package-overrides:
   - iso3166-country-codes ==0.20140203.8
   - iso639 ==0.1.0.3
   - iso8601-time ==0.1.5
+  - isocline ==1.0.9
   - iterable ==3.0
-  - ixset-typed ==0.5
-  - ixset-typed-binary-instance ==0.1.0.2
-  - ixset-typed-conversions ==0.1.2.0
-  - ixset-typed-hashable-instance ==0.1.0.2
   - ix-shapable ==0.1.0
   - jack ==0.7.2
   - jalaali ==1.0.0.0
   - java-adt ==0.2018.11.4
   - jira-wiki-markup ==1.4.0
-  - jose ==0.8.4
-  - jose-jwt ==0.9.3
+  - jose ==0.9
   - js-chart ==2.9.4.1
   - js-dgtable ==0.5.2
   - js-flot ==0.8.3
   - js-jquery ==3.3.1
   - json ==0.10
-  - json-feed ==1.0.15
-  - jsonifier ==0.1.1
-  - jsonpath ==0.2.0.0
-  - json-rpc ==1.0.3
-  - json-rpc-generic ==0.2.1.6
-  - JuicyPixels ==3.3.6
+  - json-feed ==2.0.0.1
+  - jsonifier ==0.2.0.1
+  - jsonpath ==0.2.1.0
+  - json-stream ==0.4.3.0
+  - JuicyPixels ==3.3.7
   - JuicyPixels-blurhash ==0.1.0.3
   - JuicyPixels-extra ==0.5.2
   - JuicyPixels-scale-dct ==0.1.2
   - junit-xml ==0.1.0.2
   - justified-containers ==0.3.0.0
-  - jwt ==0.10.1
+  - jwt ==0.11.0
   - kan-extensions ==5.2.3
-  - kanji ==3.4.1
+  - kanji ==3.5.0
   - katip ==0.8.7.0
   - katip-logstash ==0.1.0.2
-  - kawhi ==0.3.0
+  - katip-wai ==0.1.1.0
   - kazura-queue ==0.1.0.4
-  - kdt ==0.2.4
   - keep-alive ==0.2.0.0
   - keycode ==0.2.2
   - keys ==3.12.3
   - ki ==0.2.0.1
   - kind-apply ==0.3.2.1
   - kind-generics ==0.4.1.4
-  - kind-generics-th ==0.2.2.2
+  - kind-generics-th ==0.2.2.3
+  - kleene ==0.1
   - kmeans ==0.1.3
   - koji ==0.0.2
-  - koofr-client ==1.0.0.3
   - krank ==0.2.3
-  - kubernetes-webhook-haskell ==0.2.0.3
   - l10n ==0.1.0.1
   - labels ==0.3.3
-  - lackey ==1.0.16
-  - lambdabot-core ==5.3.0.2
-  - LambdaHack ==0.10.3.0
+  - lackey ==2.0.0.1
+  - LambdaHack ==0.11.0.0
   - lame ==0.2.0
-  - language-avro ==0.1.4.0
   - language-bash ==0.9.2
-  - language-c ==0.9.0.1
+  - language-c ==0.9.0.2
   - language-c-quote ==0.13
-  - language-docker ==10.0.2
+  - language-docker ==10.4.3
+  - language-dot ==0.1.1
+  - language-glsl ==0.3.0
   - language-java ==0.2.9
   - language-javascript ==0.7.1.0
   - language-protobuf ==1.0.1
   - language-python ==0.5.8
   - language-thrift ==0.12.0.1
-  - lapack ==0.3.2
+  - lapack ==0.5
   - lapack-carray ==0.0.3
   - lapack-comfort-array ==0.0.1
   - lapack-ffi ==0.0.3
   - lapack-ffi-tools ==0.1.3
+  - lapack-hmatrix ==0.0.0.1
   - largeword ==1.2.5
   - latex ==0.1.0.4
-  - lattices ==2.0.2
+  - lattices ==2.0.3
   - lawful ==0.1.0.0
   - lazy-csv ==0.5.1
   - lazyio ==0.1.0.4
@@ -1366,26 +1382,26 @@ default-package-overrides:
   - leancheck-instances ==0.0.4
   - leapseconds-announced ==2017.1.0.1
   - learn-physics ==0.6.5
-  - lens ==4.19.2
+  - lens ==5.0.1
   - lens-action ==0.2.6
   - lens-aeson ==1.1.3
   - lens-csv ==0.1.1.0
-  - lens-datetime ==0.3
-  - lens-family ==2.0.0
-  - lens-family-core ==2.0.0
+  - lens-family ==2.1.1
+  - lens-family-core ==2.1.0
   - lens-family-th ==0.5.2.1
   - lens-misc ==0.0.2.0
   - lens-process ==0.4.0.0
   - lens-properties ==4.11.1
   - lens-regex ==0.1.3
   - lens-regex-pcre ==1.1.0.0
-  - lenz ==0.4.2.0
+  - lentil ==1.5.4.0
+  - LetsBeRational ==1.0.0.0
   - leveldb-haskell ==0.6.5
+  - lexer-applicative ==2.1.0.2
   - libBF ==0.6.3
   - libffi ==0.1
   - libgit ==0.3.1
   - libgraph ==1.14
-  - libjwt-typed ==0.2
   - libmpd ==0.10.0.0
   - liboath-hs ==0.0.1.2
   - libyaml ==0.1.2
@@ -1395,24 +1411,25 @@ default-package-overrides:
   - lift-generics ==0.2.1
   - lift-type ==0.1.0.1
   - line ==4.0.1
-  - linear ==1.21.6
-  - linear-circuit ==0.1.0.2
+  - linear ==1.21.8
+  - linear-base ==0.1.0
+  - linear-circuit ==0.1.0.4
+  - linebreak ==1.1.0.1
   - linenoise ==0.3.2
   - linux-capabilities ==0.1.0.0
   - linux-file-extents ==0.2.0.0
   - linux-namespaces ==0.1.3.0
-  - liquid-fixpoint ==0.8.10.2
   - List ==0.6.2
   - ListLike ==4.7.6
   - list-predicate ==0.1.0.1
   - listsafe ==0.1.0.1
-  - list-singleton ==1.0.0.5
+  - list-singleton ==2.0.0.0
   - list-t ==1.0.5.1
   - list-transformer ==1.0.7
   - ListTree ==0.2.3
-  - literatex ==0.1.0.2
+  - ListZipper ==1.2.0.2
+  - literatex ==0.2.0.2
   - little-rio ==0.2.2
-  - llvm-hs ==9.0.1
   - llvm-hs-pure ==9.0.0
   - lmdb ==0.2.5
   - load-env ==0.2.1.0
@@ -1428,36 +1445,39 @@ default-package-overrides:
   - logict ==0.7.1.0
   - logstash ==0.1.0.3
   - loop ==0.3.0
+  - lpeg ==1.0.3
   - lrucache ==1.2.0.1
   - lrucaching ==0.3.3
-  - lsp ==1.2.0.0
-  - lsp-test ==0.14.0.0
-  - lsp-types ==1.2.0.0
-  - lucid ==2.9.12.1
+  - lsp ==1.4.0.0
+  - lsp-test ==0.14.0.2
+  - lsp-types ==1.4.0.1
+  - lua ==2.1.0
+  - lua-arbitrary ==1.0.1
+  - lucid ==2.11.0
   - lucid-cdn ==0.2.2.0
   - lucid-extras ==0.2.2
   - lukko ==0.1.1.3
+  - lxd-client-config ==0.1.0.1
+  - lz4 ==0.2.3.1
   - lz4-frame-conduit ==0.1.0.1
   - lzma ==0.0.0.3
   - lzma-clib ==5.2.2
   - lzma-conduit ==1.2.2
   - machines ==0.7.2
-  - machines-binary ==7.0.0.0
   - magic ==1.1
-  - magico ==0.0.2.1
+  - magico ==0.0.2.3
   - mainland-pretty ==0.7.1
   - main-tester ==0.2.0.1
-  - makefile ==1.1.0.0
   - managed ==1.0.9
-  - MapWith ==0.2.0.0
+  - mandrill ==0.5.6.0
   - markdown ==0.1.17.5
   - markdown-unlit ==0.5.1
   - markov-chain ==0.0.3.4
-  - massiv ==0.6.1.0
-  - massiv-io ==0.4.1.0
-  - massiv-persist ==0.1.0.0
-  - massiv-serialise ==0.1.0.0
-  - massiv-test ==0.1.6.1
+  - massiv ==1.0.1.1
+  - massiv-io ==1.0.0.1
+  - massiv-persist ==1.0.0.2
+  - massiv-serialise ==1.0.0.2
+  - massiv-test ==1.0.0.0
   - mathexpr ==0.3.0.0
   - math-extras ==0.1.1.0
   - math-functions ==0.3.4.2
@@ -1470,26 +1490,25 @@ default-package-overrides:
   - maximal-cliques ==0.1.1
   - mbox ==0.3.4
   - mbox-utility ==0.0.3.1
-  - mcmc ==0.5.0.0
+  - mbtiles ==0.6.0.0
+  - mcmc ==0.6.2.2
   - mcmc-types ==1.0.3
-  - medea ==1.2.0
   - median-stream ==0.7.0.0
   - med-module ==0.1.2.2
-  - megaparsec ==9.0.1
-  - megaparsec-tests ==9.0.1
-  - membrain ==0.0.0.2
-  - memory ==0.15.0
+  - megaparsec ==9.2.0
+  - megaparsec-tests ==9.2.0
+  - mega-sdist ==0.4.2.1
+  - memory ==0.16.0
   - MemoTrie ==0.6.10
   - mercury-api ==0.1.0.2
-  - mergeful ==0.2.0.0
   - mergeless ==0.3.0.0
   - mersenne-random ==1.0.0.1
   - mersenne-random-pure64 ==0.2.2.0
-  - messagepack ==0.5.4
+  - messagepack ==0.5.5
   - metrics ==0.4.1.1
   - mfsolve ==0.3.2.1
   - microlens ==0.4.12.0
-  - microlens-aeson ==2.3.1
+  - microlens-aeson ==2.4.1
   - microlens-contra ==0.1.0.2
   - microlens-ghc ==0.4.13.1
   - microlens-mtl ==0.2.0.1
@@ -1500,24 +1519,25 @@ default-package-overrides:
   - microstache ==1.0.2
   - midair ==0.2.0.1
   - midi ==0.2.2.2
+  - midi-alsa ==0.2.1
   - mighty-metropolis ==2.0.0
   - mime-mail ==0.5.1
   - mime-mail-ses ==0.4.3
   - mime-types ==0.1.0.9
-  - mini-egison ==1.0.0
   - minimal-configuration ==0.1.4
   - minimorph ==0.3.0.0
-  - minio-hs ==1.5.3
   - miniutter ==0.5.1.1
   - min-max-pqueue ==0.1.0.2
   - mintty ==0.1.3
   - missing-foreign ==0.1.1
+  - MissingH ==1.5.0.1
   - mixed-types-num ==0.5.9.1
-  - mltool ==0.2.0.1
   - mmap ==0.5.9
-  - mmark ==0.0.7.2
+  - mmark ==0.0.7.5
+  - mmark-cli ==0.0.5.1
+  - mmark-ext ==0.2.1.4
   - mmorph ==1.1.5
-  - mnist-idx ==0.1.2.8
+  - mnist-idx ==0.1.3.0
   - mnist-idx-conduit ==0.4.0.0
   - mockery ==0.3.5
   - mock-time ==0.1.0
@@ -1528,18 +1548,18 @@ default-package-overrides:
   - monad-chronicle ==1.0.0.1
   - monad-control ==1.0.3.1
   - monad-control-aligned ==0.0.1.1
-  - monad-coroutine ==0.9.1.3
+  - monad-coroutine ==0.9.2
   - monad-extras ==0.6.0
   - monadic-arrays ==0.2.2
   - monad-journal ==0.8.1
   - monadlist ==0.0.2
   - monad-logger ==0.3.36
   - monad-logger-json ==0.1.0.0
-  - monad-logger-logstash ==0.1.0.0
+  - monad-logger-logstash ==0.2.0.2
   - monad-logger-prefix ==0.1.12
   - monad-loops ==0.4.3
   - monad-memo ==0.5.4
-  - monad-metrics ==0.2.2.0
+  - monadoid ==0.0.3
   - monad-par ==0.3.5
   - monad-parallel ==0.7.2.5
   - monad-par-extras ==0.3.3
@@ -1549,24 +1569,21 @@ default-package-overrides:
   - MonadPrompt ==1.0.0.5
   - MonadRandom ==0.5.3
   - monad-resumption ==0.1.4.0
-  - monad-skeleton ==0.1.5
+  - monad-skeleton ==0.2
   - monad-st ==0.2.4.1
   - monads-tf ==0.1.0.3
   - monad-time ==0.3.1.0
-  - monad-unlift ==0.2.0
-  - monad-unlift-ref ==0.2.1
   - mongoDB ==2.7.1.1
+  - monoidal-containers ==0.6.2.0
+  - monoid-extras ==0.6.1
   - monoid-subclasses ==1.1.3
   - monoid-transformer ==0.0.4
+  - monomer ==1.3.0.0
   - mono-traversable ==1.0.15.3
   - mono-traversable-instances ==0.1.1.0
-  - mono-traversable-keys ==0.1.0
+  - mono-traversable-keys ==0.2.0
   - more-containers ==0.2.2.2
-  - morpheus-graphql ==0.17.0
-  - morpheus-graphql-app ==0.17.0
-  - morpheus-graphql-client ==0.17.0
-  - morpheus-graphql-core ==0.17.0
-  - morpheus-graphql-subscriptions ==0.17.0
+  - morpheus-graphql-tests ==0.18.0
   - moss ==0.2.0.0
   - mountpoints ==1.0.2
   - mpi-hs ==0.7.2.0
@@ -1575,7 +1592,7 @@ default-package-overrides:
   - mtl-compat ==0.2.2
   - mtl-prelude ==2.0.3.1
   - multiarg ==0.30.0.10
-  - multi-containers ==0.1.1
+  - multi-containers ==0.2
   - multimap ==1.2.1
   - multipart ==0.2.1
   - multiset ==0.3.4.3
@@ -1583,20 +1600,24 @@ default-package-overrides:
   - murmur3 ==1.0.5
   - murmur-hash ==0.1.0.10
   - MusicBrainz ==0.4.1
-  - mustache ==2.3.2
   - mutable-containers ==0.3.4
   - mwc-probability ==2.3.1
   - mwc-random ==0.15.0.2
   - mwc-random-monad ==0.7.3.1
   - mx-state-codes ==1.0.0.0
   - mysql ==0.2.1
-  - mysql-simple ==0.4.7.1
+  - mysql-simple ==0.4.7.2
   - n2o ==0.11.1
+  - n2o-nitro ==0.11.2
   - nagios-check ==0.3.2
+  - named ==0.3.0.1
   - names-th ==0.3.0.1
   - nano-erl ==0.1.0.1
+  - NanoID ==3.2.0
   - nanospec ==0.2.2
+  - nanovg ==0.8.0.0
   - nats ==1.1.2
+  - natural-arithmetic ==0.1.2.0
   - natural-induction ==0.2.0.0
   - natural-sort ==0.1.2
   - natural-transformation ==0.4
@@ -1606,14 +1627,13 @@ default-package-overrides:
   - netlib-carray ==0.1
   - netlib-comfort-array ==0.0.0.2
   - netlib-ffi ==0.1.1
-  - net-mqtt ==0.7.1.1
-  - net-mqtt-lens ==0.1.1.0
   - netpbm ==1.0.4
+  - netrc ==0.2.0.0
   - nettle ==0.3.0
   - netwire ==5.0.3
   - netwire-input ==0.0.7
   - netwire-input-glfw ==0.0.11
-  - network ==3.1.1.1
+  - network ==3.1.2.7
   - network-bsd ==2.8.1.0
   - network-byte-order ==0.1.6
   - network-conduit-tls ==1.3.2
@@ -1626,13 +1646,18 @@ default-package-overrides:
   - network-simple-tls ==0.4
   - network-transport ==0.5.4
   - network-transport-composed ==0.2.1
+  - network-transport-tcp ==0.8.0
+  - network-transport-tests ==0.3.0
   - network-uri ==2.6.4.1
+  - network-wait ==0.1.1.0
   - newtype ==0.2.2.0
   - newtype-generics ==0.6.1
+  - nfc ==0.1.0
   - nicify-lib ==1.0.1
   - NineP ==0.0.2.1
   - nix-derivation ==1.1.2
   - nix-paths ==1.0.1
+  - NoHoed ==0.1.1
   - nonce ==1.0.7
   - nondeterminism ==1.4
   - non-empty ==0.3.3
@@ -1642,41 +1667,42 @@ default-package-overrides:
   - nonempty-vector ==0.2.1.0
   - nonempty-zipper ==1.0.0.3
   - non-negative ==0.1.2
+  - normalization-insensitive ==2.0.2
   - not-gloss ==0.7.7.0
   - no-value ==1.0.0.0
   - nowdoc ==0.1.1.0
   - nqe ==0.6.3
-  - nri-env-parser ==0.1.0.8
-  - nri-observability ==0.1.1.4
-  - nri-prelude ==0.6.0.6
   - nsis ==0.3.3
   - numbers ==3000.2.0.2
   - numeric-extras ==0.1
   - numeric-limits ==0.1.0.0
   - numeric-prelude ==0.4.3.3
-  - numhask ==0.7.1.0
+  - numeric-quest ==0.2.0.2
+  - numhask ==0.10.0.0
+  - numhask-array ==0.10.0
+  - numhask-space ==0.10.0.0
   - NumInstances ==1.4
   - numtype-dk ==0.5.0.3
   - nuxeo ==0.3.2
-  - nvim-hs ==2.1.0.4
-  - nvim-hs-contrib ==2.0.0.0
-  - nvim-hs-ghcid ==2.0.0.0
-  - oauthenticated ==0.2.1.0
+  - nvim-hs ==2.2.0.1
+  - nvvm ==0.10.0.0
   - ObjectName ==1.1.0.2
+  - ochintin-daicho ==0.3.4.2
   - o-clock ==1.2.1.1
-  - odbc ==0.2.6
-  - oeis2 ==1.0.6
+  - oeis ==0.3.10
+  - oeis2 ==1.0.7
   - ofx ==0.4.4.0
   - old-locale ==1.0.0.7
   - old-time ==1.1.0.3
   - once ==0.4
-  - one-liner ==1.0
-  - OneTuple ==0.2.2.1
+  - one-liner ==2.0
+  - one-liner-instances ==0.1.3.0
+  - OneTuple ==0.3.1
   - Only ==0.1
   - oo-prototypes ==0.1.0.0
-  - opaleye ==0.7.6.2
+  - opaleye ==0.9.2.0
   - OpenAL ==1.7.0.5
-  - openapi3 ==3.1.0
+  - openapi3 ==3.2.2
   - open-browser ==0.2.1.0
   - openexr-write ==0.1.0.2
   - OpenGL ==3.0.3.0
@@ -1690,113 +1716,126 @@ default-package-overrides:
   - opentelemetry-wai ==0.7.0
   - operational ==0.2.4.1
   - operational-class ==0.3.0.0
-  - optics ==0.3
-  - optics-core ==0.3.0.1
-  - optics-extra ==0.3
-  - optics-th ==0.3.0.2
+  - opml-conduit ==0.9.0.0
+  - optics ==0.4.1
+  - optics-core ==0.4.1
+  - optics-extra ==0.4.1
+  - optics-th ==0.4.1
   - optics-vl ==0.2.1
+  - optima ==0.4.0.3
   - optional-args ==1.0.2
   - options ==1.2.1.1
   - optparse-applicative ==0.16.1.0
+  - optparse-enum ==1.0.0.0
   - optparse-generic ==1.4.7
   - optparse-simple ==0.1.1.4
   - optparse-text ==0.1.1.0
+  - OrderedBits ==0.0.2.0
   - ordered-containers ==0.2.2
-  - ormolu ==0.1.4.1
+  - ormolu ==0.3.1.0
   - overhang ==1.0.0
-  - packcheck ==0.5.1
-  - packdeps ==0.6.0.0
+  - packcheck ==0.6.0
   - pager ==0.1.1.0
   - pagination ==0.2.2
-  - pagure ==0.1.0
-  - pagure-cli ==0.2
-  - pandoc ==2.14.0.3
+  - pagure ==0.1.1
+  - pagure-cli ==0.2.1
+  - palette ==0.3.0.2
+  - pandoc ==2.17.1.1
+  - pandoc-csv2table ==1.0.9
   - pandoc-dhall-decoder ==0.1.0.1
-  - pandoc-plot ==1.2.3
+  - pandoc-lua-marshal ==0.1.5.1
+  - pandoc-plot ==1.4.1
   - pandoc-throw ==0.1.0.0
   - pandoc-types ==1.22.1
-  - pantry ==0.5.2.3
+  - pantry ==0.5.4
   - parallel ==3.2.2.0
+  - parallel-io ==0.3.5
   - parameterized ==0.5.0.0
-  - paripari ==0.7.0.0
   - parseargs ==0.2.0.9
   - parsec-class ==1.0.0.0
   - parsec-numbers ==0.1.0
   - parsec-numeric ==0.1.0.0
   - ParsecTools ==0.0.2.0
-  - parser-combinators ==1.2.1
-  - parser-combinators-tests ==1.2.1
+  - parser-combinators ==1.3.0
+  - parser-combinators-tests ==1.3.0
   - parsers ==0.12.10
   - partial-handler ==1.0.3
-  - partial-isomorphisms ==0.2.2.1
+  - partial-isomorphisms ==0.2.3.0
+  - partial-order ==0.2.0.0
   - partial-semigroup ==0.5.1.14
-  - password ==3.0.0.0
+  - password ==3.0.1.0
   - password-instances ==3.0.0.0
   - password-types ==1.0.0.0
-  - path ==0.8.0
+  - path ==0.9.2
   - path-binary-instance ==0.1.0.1
+  - path-dhall-instance ==0.2.1.0
   - path-extensions ==0.1.1.0
   - path-extra ==0.2.0
-  - path-io ==1.6.3
+  - path-formatting ==0.1.0.0
+  - path-io ==1.7.0
   - path-like ==0.2.0.2
   - path-pieces ==0.2.1
-  - path-text-utf8 ==0.0.1.8
   - pathtype ==0.8.1.1
+  - path-utils ==0.1.1.0
   - pathwalk ==0.3.1.2
   - pattern-arrows ==0.0.2
-  - pava ==0.1.1.2
+  - pava ==0.1.1.3
   - pcg-random ==0.1.3.7
-  - pcre2 ==1.1.5
+  - pcre2 ==2.1.0.1
   - pcre-heavy ==1.0.0.2
   - pcre-light ==0.4.1.0
   - pcre-utils ==0.1.8.2
   - pdc ==0.1.1
   - pdfinfo ==1.5.4
+  - pdf-toolbox-content ==0.1.1
+  - pdf-toolbox-core ==0.1.1
+  - pdf-toolbox-document ==0.1.2
   - peano ==0.1.0.1
   - pem ==0.2.4
   - percent-format ==0.0.2
-  - peregrin ==0.3.1
+  - peregrin ==0.3.2
+  - perf ==0.9.0
   - perfect-hash-generator ==0.2.0.6
-  - perfect-vector-shuffle ==0.1.1.1
   - persist ==0.1.1.5
-  - persistable-record ==0.6.0.5
-  - persistable-types-HDBC-pg ==0.0.3.5
-  - persistent ==2.13.3.0
-  - persistent-mtl ==0.2.2.0
-  - persistent-mysql ==2.13.1.0
+  - persistent ==2.13.3.3
+  - persistent-discover ==0.1.0.5
+  - persistent-documentation ==0.1.0.4
+  - persistent-mongoDB ==2.13.0.1
+  - persistent-mtl ==0.4.0.0
+  - persistent-mysql ==2.13.1.3
   - persistent-pagination ==0.1.1.2
-  - persistent-postgresql ==2.13.4.0
+  - persistent-postgresql ==2.13.5.0
   - persistent-qq ==2.12.0.2
+  - persistent-redis ==2.13.0.1
+  - persistent-refs ==0.4
   - persistent-sqlite ==2.13.1.0
   - persistent-template ==2.12.0.0
-  - persistent-test ==2.13.1.0
-  - persistent-typed-db ==0.1.0.5
+  - persistent-test ==2.13.1.2
   - pg-harness-client ==0.6.0
   - pgp-wordlist ==0.1.0.3
   - pg-transact ==0.3.2.0
   - phantom-state ==0.2.1.2
+  - phatsort ==0.5.0.1
+  - picosat ==0.1.6
   - pid1 ==0.1.3.0
-  - pinboard ==0.10.2.0
+  - pinch ==0.4.1.2
   - pipes ==4.3.16
-  - pipes-aeson ==0.4.1.8
   - pipes-attoparsec ==0.5.1.5
-  - pipes-binary ==0.4.3
   - pipes-bytestring ==2.1.7
   - pipes-concurrency ==2.0.14
   - pipes-csv ==1.4.3
   - pipes-extras ==1.0.15
   - pipes-fastx ==0.3.0.0
+  - pipes-fluid ==0.6.0.1
   - pipes-group ==1.0.12
   - pipes-http ==1.0.6
-  - pipes-network ==0.6.5
-  - pipes-network-tls ==0.4
+  - pipes-mongodb ==0.1.0.0
   - pipes-ordered-zip ==1.2.1
   - pipes-parse ==3.0.9
   - pipes-random ==1.0.0.5
   - pipes-safe ==2.3.3
   - pipes-wai ==3.2.0
-  - pkcs10 ==0.2.0.0
-  - pkgtreediff ==0.4.1
+  - pkgtreediff ==0.5.0
   - place-cursor-at ==1.0.1
   - placeholders ==0.1
   - plaid ==0.1.0.4
@@ -1805,29 +1844,43 @@ default-package-overrides:
   - pointedlist ==0.6.1
   - pointless-fun ==1.1.0.8
   - poll ==0.0.0.2
-  - polling-cache ==0.1.1.0
   - poly ==0.5.0.0
   - poly-arity ==0.1.0
   - polynomials-bernstein ==1.1.2
   - polyparse ==1.13
-  - polysemy ==1.5.0.0
-  - polysemy-plugin ==0.3.0.0
+  - polysemy ==1.6.0.0
+  - polysemy-extra ==0.2.0.0
+  - polysemy-fs ==0.1.0.0
+  - polysemy-fskvstore ==0.1.1.0
+  - polysemy-kvstore ==0.1.2.0
+  - polysemy-methodology ==0.2.1.0
+  - polysemy-path ==0.2.1.0
+  - polysemy-plugin ==0.4.1.1
+  - polysemy-several ==0.1.0.0
+  - polysemy-socket ==0.0.2.0
+  - polysemy-uncontrolled ==0.1.1.0
+  - polysemy-video ==0.2.0.1
+  - polysemy-vinyl ==0.1.5.0
+  - polysemy-webserver ==0.2.1.1
   - pooled-io ==0.0.2.2
   - port-utils ==0.2.1.0
   - posix-paths ==0.3.0.0
   - possibly ==1.0.0.0
   - postgres-options ==0.2.0.0
-  - postgresql-binary ==0.12.4.1
+  - postgresql-binary ==0.12.4.2
   - postgresql-libpq ==0.9.4.3
   - postgresql-libpq-notify ==0.2.0.0
+  - postgresql-migration ==0.2.1.3
   - postgresql-orm ==0.5.1
+  - postgresql-query ==3.9.0
+  - postgresql-schema ==0.1.14
   - postgresql-simple ==0.6.4
-  - postgresql-typed ==0.6.2.0
-  - postgrest ==7.0.1
+  - postgresql-simple-url ==0.2.1.0
+  - postgresql-syntax ==0.4.0.2
+  - postgresql-typed ==0.6.2.1
   - post-mess-age ==0.2.1.0
   - pptable ==0.3.0.0
   - pqueue ==1.4.1.4
-  - prairie ==0.0.1.0
   - prefix-units ==0.2.0
   - prelude-compat ==0.0.0.2
   - prelude-safeenum ==0.1.1.3
@@ -1841,119 +1894,131 @@ default-package-overrides:
   - prettyprinter-compat-ansi-wl-pprint ==1.0.2
   - prettyprinter-compat-wl-pprint ==1.0.1
   - prettyprinter-convert-ansi-wl-pprint ==1.1.2
-  - pretty-relative-time ==0.2.0.0
+  - pretty-relative-time ==0.3.0.0
   - pretty-show ==1.10
   - pretty-simple ==4.0.0.0
   - pretty-sop ==0.2.0.3
   - pretty-terminal ==0.1.0.0
+  - pretty-types ==0.4.0.0
   - primes ==0.2.1.0
   - primitive ==0.7.3.0
   - primitive-addr ==0.1.0.2
-  - primitive-extras ==0.10.1
+  - PrimitiveArray ==0.10.1.1
+  - primitive-extras ==0.10.1.4
+  - primitive-offset ==0.2.0.0
   - primitive-unaligned ==0.1.1.1
   - primitive-unlifted ==0.1.3.1
   - prim-uniq ==0.2
   - print-console-colors ==0.1.0.0
   - probability ==0.2.7
   - process-extras ==0.7.4
-  - product-isomorphic ==0.0.3.3
   - product-profunctors ==0.11.0.3
   - profiterole ==0.1
   - profunctors ==5.6.2
   - projectroot ==0.2.0.1
   - project-template ==0.2.1.0
   - prometheus ==2.2.3
-  - prometheus-client ==1.0.1
+  - prometheus-client ==1.1.0
   - prometheus-metrics-ghc ==1.0.1.2
   - prometheus-wai-middleware ==1.0.1.0
   - promises ==0.3
   - prompt ==0.1.1.2
   - prospect ==0.1.0.0
-  - proto3-wire ==1.2.2
   - protobuf ==0.2.1.3
   - protobuf-simple ==0.1.1.1
   - protocol-buffers ==2.4.17
   - protocol-buffers-descriptor ==2.4.17
   - protocol-radius ==0.0.1.1
   - protocol-radius-test ==0.1.0.1
-  - protolude ==0.3.0
+  - proto-lens ==0.7.1.0
+  - proto-lens-arbitrary ==0.1.2.10
+  - proto-lens-optparse ==0.1.1.8
+  - proto-lens-protobuf-types ==0.7.1.0
+  - proto-lens-protoc ==0.7.1.0
+  - proto-lens-runtime ==0.7.0.1
+  - proto-lens-setup ==0.4.0.5
   - proxied ==0.3.1
+  - psql-helpers ==0.1.0.0
   - psqueues ==0.2.7.3
-  - ptr-poker ==0.1.2.4
-  - publicsuffix ==0.20200526
+  - pthread ==0.2.1
+  - ptr-poker ==0.1.2.5
   - pulse-simple ==0.1.14
   - pureMD5 ==2.1.4
   - purescript-bridge ==0.14.0.0
-  - pushbullet-types ==0.4.1.0
-  - pusher-http-haskell ==2.1.0.8
+  - pusher-http-haskell ==2.1.0.9
   - pvar ==1.0.0.0
-  - PyF ==0.9.0.3
+  - PyF ==0.10.2.0
   - qchas ==1.1.0.1
   - qm-interpolated-string ==0.3.0.0
-  - qrcode-core ==0.9.4
-  - qrcode-juicypixels ==0.8.2
+  - qrcode-core ==0.9.5
+  - qrcode-juicypixels ==0.8.3
   - quadratic-irrational ==0.1.1
   - QuasiText ==0.1.2.6
+  - queue-sheet ==0.7.0.2
+  - quickbench ==1.0.1
   - QuickCheck ==2.14.2
   - quickcheck-arbitrary-adt ==0.3.1.0
   - quickcheck-assertions ==0.3.0
   - quickcheck-classes ==0.6.5.0
   - quickcheck-classes-base ==0.6.2.0
   - quickcheck-higherorder ==0.1.0.1
-  - quickcheck-instances ==0.3.25.2
+  - quickcheck-instances ==0.3.27
   - quickcheck-io ==0.2.0
   - quickcheck-simple ==0.1.1.1
   - quickcheck-special ==0.1.0.6
   - quickcheck-text ==0.1.2.1
   - quickcheck-transformer ==0.3.1.1
   - quickcheck-unicode ==1.0.1.0
+  - quicklz ==1.5.0.11
   - quiet ==0.2
   - quote-quot ==0.2.0.0
   - radius ==0.7.1.0
   - rainbow ==0.34.2.2
   - rainbox ==0.26.0.0
-  - ral ==0.2
-  - rampart ==1.1.0.4
+  - ral ==0.2.1
+  - rampart ==2.0.0.0
   - ramus ==0.1.2
   - rando ==0.0.0.4
-  - random ==1.2.0
+  - random ==1.2.1
   - random-bytestring ==0.1.4
-  - random-fu ==0.2.7.7
+  - random-fu ==0.3.0.0
   - random-shuffle ==0.0.4
   - random-source ==0.3.0.11
   - random-tree ==0.6.0.5
   - range ==0.3.0.2
-  - ranged-list ==0.1.0.0
   - Ranged-sets ==0.4.0
   - range-set-list ==0.1.3.1
   - rank1dynamic ==0.4.1
   - rank2classes ==1.4.4
   - Rasterific ==0.7.5.4
   - rasterific-svg ==0.3.3.2
-  - ratel ==1.0.17
+  - ratel ==2.0.0.0
   - rate-limit ==1.4.2
-  - ratel-wai ==1.1.5
+  - ratel-wai ==2.0.0.0
   - rattle ==0.2
-  - rattletrap ==11.1.1
+  - rattletrap ==11.2.4
   - Rattus ==0.5.0.1
-  - rawfilepath ==0.2.4
+  - rawfilepath ==1.0.1
   - rawstring-qm ==0.2.3.0
   - raw-strings-qq ==1.1
   - rcu ==0.2.5
-  - rdf ==0.1.0.5
   - rdtsc ==1.3.0.1
   - re2 ==0.3
   - readable ==0.3.1
   - read-editor ==0.1.0.2
   - read-env-var ==1.0.0.0
-  - reanimate ==1.1.5.0
   - reanimate-svg ==0.13.0.1
-  - rebase ==1.13.2
+  - rebase ==1.15.0.3
   - record-dot-preprocessor ==0.2.14
   - record-hasfield ==1.0
   - records-sop ==0.1.1.0
   - record-wrangler ==0.1.1.0
+  - rec-smallarray ==0.1.0.0
   - recursion-schemes ==5.2.2.2
+  - redact ==0.4.0.0
+  - reddit-scrape ==0.0.1
+  - redis-io ==1.1.0
+  - redis-resp ==1.0.0
   - reducers ==3.12.4
   - refact ==0.3.0.2
   - ref-fd ==0.5
@@ -1970,110 +2035,110 @@ default-package-overrides:
   - regex-applicative-text ==0.1.0.1
   - regex-base ==0.94.0.2
   - regex-compat ==0.95.2.1
-  - regex-compat-tdfa ==0.95.1.4
   - regex-pcre ==0.95.0.0
   - 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.1
+  - regex-tdfa ==1.3.1.2
   - regex-with-pcre ==1.1.0.1
-  - registry ==0.2.1.0
   - reinterpret-cast ==0.1.0
-  - relapse ==1.0.0.0
-  - relational-query ==0.12.3.0
-  - relational-query-HDBC ==0.7.2.0
-  - relational-record ==0.2.2.0
-  - relational-schemas ==0.1.8.0
+  - rel8 ==1.3.1.0
   - reliable-io ==0.0.2
-  - relude ==0.7.0.0
+  - relude ==1.0.0.1
   - renderable ==0.2.0.1
+  - reorder-expression ==0.1.0.0
+  - repa ==3.4.1.5
+  - repa-io ==3.4.1.2
   - replace-attoparsec ==1.4.5.0
   - replace-megaparsec ==1.4.4.0
   - repline ==0.4.0.0
-  - req ==3.9.0
+  - req ==3.10.0
   - req-conduit ==1.0.1
-  - rerebase ==1.13.2
+  - require ==0.4.11
+  - rerebase ==1.15.0.3
+  - reroute ==0.6.0.0
   - rescue ==0.4.2.1
-  - resistor-cube ==0.0.1.2
+  - resistor-cube ==0.0.1.4
   - resolv ==0.1.2.0
   - resource-pool ==0.2.3.2
   - resourcet ==1.2.4.3
   - result ==0.2.6.0
-  - rethinkdb-client-driver ==0.0.25
-  - retry ==0.8.1.2
+  - retry ==0.9.2.0
   - rev-state ==0.1.2
   - rfc1751 ==0.1.3
   - rfc5051 ==0.2
+  - rg ==1.4.0.0
   - rhbzquery ==0.4.4
-  - rhine ==0.7.0
-  - rhine-gloss ==0.7.0
-  - rigel-viz ==0.2.0.0
+  - rhine ==0.7.1
+  - rhine-gloss ==0.7.1
+  - riak-protobuf ==0.25.0.0
   - rio ==0.1.21.0
   - rio-orphans ==0.1.2.0
   - rio-prettyprint ==0.1.1.0
+  - rng-utils ==0.3.1
   - roc-id ==0.1.0.0
   - rocksdb-haskell ==1.0.1
   - rocksdb-haskell-jprupp ==2.1.4
   - rocksdb-query ==0.4.2
   - roles ==0.2.1.0
+  - rollbar ==1.1.3
   - rope-utf16-splay ==0.3.2.0
   - rosezipper ==0.2
   - rot13 ==0.2.0.1
   - rpmbuild-order ==0.4.5
   - rpm-nvr ==0.1.1
-  - rp-tree ==0.6
+  - rp-tree ==0.7.1
   - RSA ==2.4.1
+  - rss-conduit ==0.6.0.1
   - runmemo ==1.0.0.1
-  - rvar ==0.2.0.6
+  - rvar ==0.3.0.0
+  - s3-signer ==0.5.0.0
   - safe ==0.3.19
   - safe-coloured-text ==0.1.0.0
   - safe-coloured-text-terminfo ==0.0.0.0
   - safecopy ==0.10.4.2
   - safe-decimal ==0.2.1.0
   - safe-exceptions ==0.1.7.2
+  - safe-exceptions-checked ==0.1.0
   - safe-foldable ==0.1.0.0
   - safeio ==0.0.5.0
-  - safe-json ==1.1.2.0
+  - safe-json ==1.1.3.1
   - safe-money ==0.9.1
   - SafeSemaphore ==0.10.1
-  - safe-tensor ==0.2.1.1
+  - salak ==0.3.6
+  - salak-yaml ==0.3.5.3
   - saltine ==0.1.1.1
-  - salve ==1.0.11
+  - salve ==2.0.0.0
   - sample-frame ==0.0.3
   - sample-frame-np ==0.0.4.1
   - sampling ==0.3.5
   - sandwich ==0.1.0.9
   - sandwich-quickcheck ==0.1.0.6
   - sandwich-slack ==0.1.0.6
-  - sandwich-webdriver ==0.1.0.6
   - say ==0.1.0.1
-  - sbp ==2.6.3
-  - sbv ==8.15
+  - sbp ==4.1.1
+  - sbv ==8.17
   - scalpel ==0.6.2
   - scalpel-core ==0.6.2
   - scanf ==0.1.0.0
   - scanner ==0.3.1
-  - scheduler ==1.5.0
+  - scheduler ==2.0.0.1
+  - SciBaseTypes ==0.1.1.0
   - scientific ==0.3.7.0
   - scotty ==0.12
   - scrypt ==0.5.0
   - sdl2 ==2.5.3.0
-  - sdl2-gfx ==0.2
-  - sdl2-image ==2.0.0
-  - sdl2-mixer ==1.1.0
   - sdl2-ttf ==2.1.2
   - search-algorithms ==0.3.2
-  - secp256k1-haskell ==0.5.0
+  - secp256k1-haskell ==0.6.0
   - securemem ==0.1.10
   - selda ==0.5.1.0
-  - selda-json ==0.1.1.0
-  - selda-postgresql ==0.1.8.1
   - selda-sqlite ==0.1.7.1
   - selections ==0.3.0.0
-  - selective ==0.4.2
-  - semialign ==1.1.0.1
-  - semialign-indexed ==1.1
-  - semialign-optics ==1.1
+  - selective ==0.5
+  - semialign ==1.2.0.1
+  - semialign-indexed ==1.2
+  - semialign-optics ==1.2
   - semigroupoid-extras ==5
   - semigroupoids ==5.3.7
   - semigroups ==0.19.2
@@ -2081,15 +2146,14 @@ default-package-overrides:
   - semiring-simple ==1.0.0.1
   - semver ==0.4.0.1
   - sendfile ==0.7.11.4
-  - sendgrid-v3 ==0.3.0.0
   - seqalign ==0.2.0.4
   - seqid ==0.6.2
   - seqid-streams ==0.7.2
-  - sequence-formats ==1.6.1
-  - sequenceTools ==1.5.0
+  - sequence-formats ==1.6.3
+  - sequenceTools ==1.5.2
   - serf ==0.1.1.0
   - serialise ==0.2.4.0
-  - servant ==0.18.3
+  - servant ==0.19
   - servant-auth ==0.4.1.0
   - servant-auth-client ==0.4.1.0
   - servant-auth-docs ==0.2.10.0
@@ -2097,50 +2161,60 @@ default-package-overrides:
   - servant-auth-swagger ==0.2.10.1
   - servant-auth-wordpress ==1.0.0.2
   - servant-blaze ==0.9.1
-  - servant-client ==0.18.3
-  - servant-client-core ==0.18.3
+  - servant-checked-exceptions ==2.2.0.1
+  - servant-checked-exceptions-core ==2.2.0.1
+  - servant-client ==0.19
+  - servant-client-core ==0.19
   - servant-conduit ==0.15.1
-  - servant-docs ==0.11.9
+  - servant-docs ==0.12
   - servant-elm ==0.7.2
-  - servant-errors ==0.1.6.0
   - servant-exceptions ==0.2.1
   - servant-exceptions-server ==0.2.1
   - servant-foreign ==0.15.4
-  - servant-http-streams ==0.18.3
+  - servant-JuicyPixels ==0.3.1.0
+  - servant-lucid ==0.9.0.5
   - servant-machines ==0.15.1
   - servant-multipart ==0.12.1
   - servant-multipart-api ==0.12.1
-  - servant-openapi3 ==2.0.1.3
+  - servant-multipart-client ==0.12.1
+  - servant-openapi3 ==2.0.1.4
   - servant-pipes ==0.15.3
   - servant-rawm ==1.0.0.0
-  - servant-server ==0.18.3
-  - servant-swagger ==1.1.10
+  - servant-ruby ==0.9.0.0
+  - servant-server ==0.19.1
+  - servant-static-th ==1.0.0.0
+  - servant-subscriber ==0.7.0.0
+  - servant-swagger ==1.1.11
   - servant-swagger-ui ==0.3.5.4.5.0
   - servant-swagger-ui-core ==0.3.5
-  - serverless-haskell ==0.12.6
+  - servant-swagger-ui-redoc ==0.3.4.1.22.3
+  - servant-websockets ==2.0.0
+  - servant-xml ==1.0.1.4
   - serversession ==1.0.2
   - serversession-frontend-wai ==1.0
+  - servius ==1.2.3.0
   - ses-html ==0.4.0.0
   - set-cover ==0.1.1
   - setenv ==0.1.1.3
   - setlocale ==1.0.0.10
+  - set-monad ==0.3.0.0
+  - sets ==0.0.6.2
   - sexp-grammar ==2.3.3.1
+  - sexpr-parser ==0.2.2.0
   - SHA ==1.6.4.4
   - shake ==0.19.6
   - shake-language-c ==0.12.0
   - shake-plus ==0.3.4.0
-  - shake-plus-extended ==0.4.1.0
-  - shakespeare ==2.0.25.1
+  - shakespeare ==2.0.26
   - shared-memory ==0.2.0.0
-  - ShellCheck ==0.7.2
+  - ShellCheck ==0.8.0
   - shell-conduit ==5.0.0
   - shell-escape ==0.2.0
   - shellmet ==0.0.4.0
   - shelltestrunner ==1.9
   - shell-utility ==0.1
-  - shelly ==1.9.0
-  - shikensu ==0.3.11
-  - shortcut-links ==0.5.1.1
+  - shelly ==1.10.0
+  - shikensu ==0.4.1
   - should-not-typecheck ==2.1.0
   - show-combinators ==0.2.0.0
   - siggy-chardust ==1.0.0
@@ -2148,62 +2222,62 @@ default-package-overrides:
   - silently ==1.2.5.2
   - simple-affine-space ==0.1.1
   - simple-cabal ==0.1.3
-  - simple-cmd ==0.2.3
+  - simple-cmd ==0.2.4
   - simple-cmd-args ==0.1.7
   - simple-log ==0.9.12
+  - simple-media-timestamp ==0.2.0.0
+  - simple-media-timestamp-attoparsec ==0.1.0.0
+  - simple-media-timestamp-formatting ==0.1.1.0
   - simple-reflect ==0.3.3
   - simple-sendfile ==0.2.30
-  - simple-templates ==1.0.0
   - simple-vec3 ==0.6.0.1
-  - simplistic-generics ==2.0.0
   - since ==0.0.0
-  - singleton-bool ==0.1.5
-  - singleton-nats ==0.4.5
-  - singletons ==2.7
+  - singleton-bool ==0.1.6
+  - singleton-nats ==0.4.6
+  - singletons ==3.0.1
+  - singletons-base ==3.0
   - singletons-presburger ==0.6.1.0
+  - singletons-th ==3.0
   - siphash ==1.0.3
-  - Sit ==0.2021.1.18
   - sitemap-gen ==0.1.0.0
   - sized ==1.0.0.0
   - skein ==1.0.9.4
   - skews ==0.1.0.3
   - skip-var ==0.1.1.0
-  - skylighting ==0.10.5.2
-  - skylighting-core ==0.10.5.2
-  - slack-api ==0.12
+  - skylighting ==0.12.3
+  - skylighting-core ==0.12.3
   - slack-progressbar ==0.1.0.1
-  - slick ==1.1.2.2
+  - slave-thread ==1.1.0.1
   - slist ==0.2.0.0
-  - slynx ==0.5.1.1
+  - slynx ==0.6.1.1
   - smallcheck ==1.2.1
   - smash ==0.1.2
-  - smash-aeson ==0.1.0.0
-  - smash-lens ==0.1.0.1
   - smash-microlens ==0.1.0.0
-  - smoothie ==0.4.2.11
   - smtp-mail ==0.3.0.0
   - snap-blaze ==0.2.1.5
-  - snap-core ==1.0.4.2
-  - snap-server ==1.1.2.0
+  - snap-core ==1.0.5.0
+  - snappy ==0.2.0.2
   - snowflake ==0.1.1.1
   - soap ==0.2.3.6
   - soap-openssl ==0.1.0.2
   - soap-tls ==0.1.1.4
   - socket ==0.8.3.0
   - socks ==0.6.1
-  - some ==1.0.2
+  - solana-staking-csvs ==0.1.2.0
+  - some ==1.0.3
+  - some-dict-of ==0.1.0.2
   - sop-core ==0.5.0.2
   - sort ==1.0.0.0
   - sorted-list ==0.2.1.0
+  - sound-collage ==0.2.1
   - sourcemap ==0.1.7
   - sox ==0.2.3.1
   - soxlib ==0.0.3.1
   - spacecookie ==1.0.0.1
   - sparse-linear-algebra ==0.3.1
-  - sparse-tensor ==0.2.1.5
   - spatial-math ==0.5.0.1
   - special-values ==0.1.0.0
-  - speculate ==0.4.10
+  - speculate ==0.4.14
   - speedy-slice ==0.3.2
   - Spintax ==0.3.6
   - splice ==0.6.1.1
@@ -2211,60 +2285,74 @@ default-package-overrides:
   - split ==0.2.3.4
   - splitmix ==0.1.0.4
   - splitmix-distributions ==0.9.0.0
+  - split-record ==0.1.1.4
+  - Spock-api ==0.14.0.0
   - spoon ==0.3.1
   - spreadsheet ==0.1.3.8
   - sqlcli ==0.2.2.0
   - sqlcli-odbc ==0.2.0.1
   - sqlite-simple ==0.4.18.0
   - sql-words ==0.1.6.4
-  - squeal-postgresql ==0.7.0.1
   - squeather ==0.8.0.0
-  - srcloc ==0.6
-  - stache ==2.3.0
-  - stack ==2.7.3
-  - stackcollapse-ghc ==0.0.1.3
+  - srcloc ==0.6.0.1
+  - srt ==0.1.1.0
+  - srt-attoparsec ==0.1.0.0
+  - srt-dhall ==0.1.0.0
+  - srt-formatting ==0.1.0.0
+  - stache ==2.3.1
+  - stack-all ==0.4.0.1
+  - stack-clean-old ==0.4.6
+  - stackcollapse-ghc ==0.0.1.4
   - stack-templatizer ==0.1.0.2
+  - state-codes ==0.1.3
   - stateref ==0.3
   - StateVar ==1.2.2
+  - stateWriter ==0.3.0
   - static-text ==0.2.0.7
-  - statistics ==0.15.2.0
+  - statistics ==0.16.0.2
   - status-notifier-item ==0.3.1.0
-  - stb-image-redux ==0.2.1.3
+  - stb-image-redux ==0.2.1.2
   - step-function ==0.2
+  - stitch ==0.6.0.0
   - stm-chans ==3.0.0.6
   - stm-conduit ==4.0.1
+  - stm-containers ==1.2
   - stm-delay ==0.1.1.1
   - stm-extras ==0.1.0.3
+  - stm-hamt ==1.2.0.7
   - stm-lifted ==2.5.0.0
   - STMonadTrans ==0.4.6
   - stm-split ==0.0.2.1
+  - stm-supply ==0.2.0.0
   - stopwatch ==0.1.0.6
   - storable-complex ==0.2.3.0
   - storable-endian ==0.2.6.1
-  - storable-record ==0.0.5
+  - storable-record ==0.0.6
   - storable-tuple ==0.0.3.3
   - storablevector ==0.2.13.1
   - store ==0.7.14
   - store-core ==0.4.4.4
   - store-streaming ==0.2.0.3
-  - stratosphere ==0.59.1
   - Stream ==0.4.7.2
   - streaming ==0.2.3.1
   - streaming-attoparsec ==1.0.0.1
   - streaming-bytestring ==0.2.1
+  - streaming-cassava ==0.2.0.0
   - streaming-commons ==0.2.2.4
-  - streamly ==0.7.3
+  - streamly ==0.8.1.1
+  - streamly-bytestring ==0.1.4
   - streams ==3.3
   - streamt ==0.5.0.0
   - strict ==0.4.0.1
   - strict-concurrency ==0.2.4.3
   - strict-list ==0.1.6
   - strict-tuple ==0.1.5
-  - strict-tuple-lens ==0.1.0.1
+  - strict-tuple-lens ==0.2
+  - strict-wrapper ==0.0.0.0
   - stringbuilder ==0.5.1
   - string-class ==0.1.7.0
   - string-combinators ==0.6.0.5
-  - string-conv ==0.1.2
+  - string-conv ==0.2.0
   - string-conversions ==0.4.0.1
   - string-interpolate ==0.3.1.1
   - string-qq ==0.0.4
@@ -2272,32 +2360,32 @@ default-package-overrides:
   - stringsearch ==0.3.6.6
   - string-transform ==1.1.1
   - stripe-concepts ==1.0.3.1
-  - stripe-core ==2.6.2
-  - stripe-haskell ==2.6.2
-  - stripe-http-client ==2.6.2
-  - strive ==5.0.16
+  - stripe-scotty ==1.1.0.2
+  - stripe-signature ==1.0.0.14
+  - stripe-wreq ==1.0.1.14
+  - strive ==6.0.0.2
+  - strong-path ==1.1.4.0
   - structs ==0.1.6
   - structured ==0.1.1
   - structured-cli ==2.7.0.1
-  - subcategories ==0.1.1.0
+  - subcategories ==0.2.0.0
   - sum-type-boilerplate ==0.1.1
   - sundown ==0.6
   - superbuffer ==0.3.1.1
+  - svg-builder ==0.1.1
+  - SVGFonts ==1.8.0.1
   - svg-tree ==0.6.2.4
-  - swagger ==0.3.0
-  - swagger2 ==2.6
-  - sweet-egison ==0.1.1.3
+  - swagger2 ==2.8.2
   - swish ==0.10.1.0
   - syb ==0.7.2.1
-  - sydtest ==0.2.0.0
   - sydtest-discover ==0.0.0.1
-  - sydtest-persistent-sqlite ==0.1.0.0
-  - sydtest-servant ==0.1.0.0
-  - sydtest-wai ==0.1.0.0
-  - sydtest-yesod ==0.1.0.0
   - symbol ==0.2.4
   - symengine ==0.1.2.0
   - symmetry-operations-symbols ==0.0.2.1
+  - synthesizer-alsa ==0.5.0.6
+  - synthesizer-core ==0.8.2.1
+  - synthesizer-dimensional ==0.8.1
+  - synthesizer-midi ==0.6.1.1
   - sysinfo ==0.1.1
   - system-argv0 ==0.1.1
   - systemd ==2.3.0
@@ -2312,6 +2400,7 @@ default-package-overrides:
   - tagged-transformer ==0.8.1
   - tagshare ==0.0
   - tagsoup ==0.14.8
+  - tagstream-conduit ==0.5.6
   - tao ==1.0.0
   - tao-example ==1.0.0
   - tar ==0.5.1.1
@@ -2319,32 +2408,38 @@ default-package-overrides:
   - tardis ==0.4.3.0
   - tasty ==1.4.2.1
   - tasty-ant-xml ==1.1.8
-  - tasty-bench ==0.2.5
+  - tasty-bench ==0.3.1
   - tasty-dejafu ==2.0.0.8
   - tasty-discover ==4.2.2
   - tasty-expected-failure ==0.12.3
+  - tasty-fail-fast ==0.0.3
   - tasty-focus ==1.0.1
   - tasty-golden ==2.3.5
   - tasty-hedgehog ==1.1.0.0
-  - tasty-hspec ==1.1.6
+  - tasty-hslua ==1.0.2
+  - tasty-hspec ==1.2
+  - tasty-html ==0.4.1.4
   - tasty-hunit ==0.10.0.3
   - tasty-hunit-compat ==0.2.0.1
   - tasty-inspection-testing ==0.1
   - tasty-kat ==0.0.3
   - tasty-leancheck ==0.0.2
-  - tasty-lua ==0.2.3.2
+  - tasty-lua ==1.0.2
   - tasty-program ==1.0.5
   - tasty-quickcheck ==0.10.2
   - tasty-rerun ==1.1.18
-  - tasty-silver ==3.2.3
+  - tasty-silver ==3.3.1
   - tasty-smallcheck ==0.8.2
+  - tasty-tap ==0.1.0
   - tasty-test-reporter ==0.1.1.4
   - tasty-th ==0.1.7
   - tasty-wai ==0.1.1.1
-  - Taxonomy ==2.2.0
   - TCache ==0.12.1
   - tce-conf ==1.3
+  - tcp-streams ==1.0.1.1
   - tdigest ==0.2.1.1
+  - teardown ==0.5.0.1
+  - telegram-bot-simple ==0.4.4
   - template-haskell-compat-v0208 ==0.1.7
   - temporary ==1.3
   - temporary-rc ==1.2.0.3
@@ -2353,7 +2448,8 @@ default-package-overrides:
   - tensors ==0.1.5
   - termbox ==0.3.0
   - terminal-progress-bar ==0.4.1
-  - terminal-size ==0.3.2.1
+  - terminal-size ==0.3.3
+  - termonad ==4.2.0.1
   - test-framework ==0.8.2.0
   - test-framework-hunit ==0.3.0.2
   - test-framework-leancheck ==0.0.4
@@ -2361,25 +2457,25 @@ default-package-overrides:
   - test-framework-smallcheck ==0.2
   - test-fun ==0.1.0.0
   - testing-type-modifiers ==0.1.0.1
-  - texmath ==0.12.3.3
+  - texmath ==0.12.4
   - text-ansi ==0.1.1
   - text-binary ==0.2.1.1
-  - text-builder ==0.6.6.3
+  - text-builder ==0.6.6.4
+  - text-builder-dev ==0.2
   - text-conversions ==0.3.1
-  - text-format ==0.3.2
   - text-icu ==0.7.1.0
   - text-latin1 ==0.3.1
   - text-ldap ==0.1.1.14
   - textlocal ==0.1.0.5
-  - text-manipulate ==0.3.0.0
+  - text-manipulate ==0.3.1.0
   - text-metrics ==0.3.2
   - text-postgresql ==0.0.3.1
   - text-printer ==0.5.0.2
   - text-regex-replace ==0.1.1.4
-  - text-region ==0.3.1.0
-  - text-short ==0.1.3
-  - text-show ==3.9.2
-  - text-show-instances ==3.8.4
+  - text-rope ==0.1
+  - text-short ==0.1.5
+  - text-show ==3.9.6
+  - text-show-instances ==3.8.6
   - text-zipper ==0.11
   - tfp ==1.0.2
   - tf-random ==0.5
@@ -2387,15 +2483,15 @@ default-package-overrides:
   - th-bang-compat ==0.0.1.0
   - th-compat ==0.1.3
   - th-constraint-compat ==0.0.1.0
-  - th-data-compat ==0.1.0.0
-  - th-desugar ==1.11
+  - th-desugar ==1.12
   - th-env ==0.1.0.3
   - these ==1.1.1.1
   - these-lens ==1.0.1.2
   - these-optics ==1.0.1.2
   - these-skinny ==0.7.5
-  - th-expand-syns ==0.4.8.0
+  - th-expand-syns ==0.4.9.0
   - th-extras ==0.0.0.6
+  - th-lego ==0.3.0.1
   - th-lift ==0.8.2
   - th-lift-instances ==0.1.19
   - th-nowq ==0.1.0.5
@@ -2405,19 +2501,15 @@ default-package-overrides:
   - thread-local-storage ==0.2
   - threads ==0.5.1.6
   - thread-supervisor ==0.2.0.0
-  - threepenny-gui ==0.9.1.0
   - th-reify-compat ==0.0.1.5
   - th-reify-many ==0.1.10
-  - throttle-io-stream ==0.2.0.1
   - through-text ==0.1.0.0
-  - throwable-exceptions ==0.1.0.9
   - th-strict-compat ==0.1.0.1
   - th-test-utils ==1.1.1
   - th-utilities ==0.2.4.3
-  - thyme ==0.3.5.5
   - tidal ==1.7.10
   - tile ==0.3.0.0
-  - time-compat ==1.9.5
+  - time-compat ==1.9.6.1
   - timeit ==2.0
   - timelens ==0.2.0.2
   - time-lens ==0.4.0.2
@@ -2426,9 +2518,12 @@ default-package-overrides:
   - time-manager ==0.0.0
   - time-parsers ==0.1.2.1
   - timerep ==2.0.1.0
+  - timers-tick ==0.5.0.1
   - timer-wheel ==0.3.0
+  - timespan ==0.4.0.0
   - time-units ==1.0.0
   - timezone-olson ==0.2.1
+  - timezone-olson-th ==0.1.0.11
   - timezone-series ==0.1.13
   - tinylog ==0.15.0
   - titlecase ==1.0.1
@@ -2436,44 +2531,51 @@ default-package-overrides:
   - tls ==1.5.7
   - tls-debug ==0.4.8
   - tls-session-manager ==0.0.4
-  - tlynx ==0.5.1.1
+  - tlynx ==0.6.1.1
   - tmapchan ==0.0.3
   - tmapmvar ==0.0.4
   - tmp-postgres ==1.34.1.0
   - tmp-proc ==0.5.0.1
-  - tomland ==1.3.2.0
-  - tonalude ==0.1.1.1
+  - tophat ==1.0.5.1
   - topograph ==1.0.0.1
   - torsor ==0.1
   - tostring ==0.2.1.1
+  - tracing ==0.0.7.2
+  - tracing-control ==0.0.7.3
   - transaction ==0.1.1.3
   - transformers-base ==0.4.6
   - transformers-bifunctors ==0.1
   - transformers-compat ==0.6.6
+  - transformers-either ==0.1.2
   - transformers-fix ==1.0
+  - transient ==0.7.0.0
   - traverse-with-class ==1.0.1.1
   - tree-diff ==0.2.1.1
   - tree-fun ==0.8.1.0
   - tree-view ==0.5.1
   - trifecta ==2.1.2
+  - trimdent ==0.1.0.0
   - triplesec ==0.2.2.1
   - trivial-constraint ==0.7.0.0
   - tsv2csv ==0.1.0.2
-  - ttc ==1.1.1.0
+  - ttc ==1.1.1.1
   - ttl-hashtables ==1.4.1.0
   - ttrie ==0.1.2.2
   - tuple ==0.3.0.2
+  - tuples ==0.1.0.0
   - tuples-homogenous-h98 ==0.1.1.0
   - tuple-sop ==0.3.1.0
   - tuple-th ==0.2.5
   - turtle ==1.5.24
-  - typecheck-plugin-nat-simple ==0.1.0.2
+  - twitter-conduit ==0.6.1
+  - twitter-types ==0.11.0
+  - twitter-types-lens ==0.11.0
   - TypeCompose ==0.9.14
   - typed-process ==0.2.8.0
-  - typed-uuid ==0.1.0.0
   - type-equality ==1
   - type-errors ==0.2.0.0
   - type-errors-pretty ==0.0.1.2
+  - type-fun ==0.1.3
   - type-hint ==0.1
   - type-level-integers ==0.0.1
   - type-level-kv-list ==1.1.0
@@ -2486,41 +2588,43 @@ default-package-overrides:
   - type-of-html ==1.6.2.0
   - type-of-html-static ==0.1.0.2
   - type-operators ==0.2.0.0
-  - typerep-map ==0.3.3.0
   - type-spec ==0.4.0.0
-  - tzdata ==0.2.20211021.0
-  - ua-parser ==0.7.6.0
+  - typography-geometry ==1.0.1.0
+  - tz ==0.1.3.6
+  - tzdata ==0.2.20220315.0
+  - ua-parser ==0.7.7.0
   - uglymemo ==0.1.0.1
   - unagi-chan ==0.4.1.4
   - unbounded-delays ==0.1.1.1
+  - unbound-generics ==0.4.1
   - unboxed-ref ==0.4.0.0
   - unboxing-vector ==0.2.0.0
   - uncaught-exception ==0.1.0
-  - uncertain ==0.3.1.0
   - unconstrained ==0.1.0.2
   - unexceptionalio ==0.5.1
   - unexceptionalio-trans ==0.5.1
   - unicode ==0.0.1.1
   - unicode-collation ==0.1.3.1
-  - unicode-show ==0.1.1.0
-  - unicode-transforms ==0.3.7.1
+  - unicode-data ==0.3.0
+  - unicode-show ==0.1.1.1
+  - unicode-transforms ==0.4.0.1
+  - unidecode ==0.1.0.4
   - unification-fd ==0.11.1
+  - union ==0.1.2
   - union-angle ==0.1.0.1
   - union-find ==0.2
   - unipatterns ==0.0.0.0
   - uniplate ==1.6.13
-  - uniprot-kb ==0.1.2.0
   - uniq-deep ==1.2.1
   - unique ==0.0.1
   - unique-logic ==0.4
   - unique-logic-tf ==0.5.1
   - unit-constraint ==0.0.0
-  - universe ==1.2.1
-  - universe-base ==1.1.2
+  - units-parser ==0.1.1.4
+  - universe ==1.2.2
+  - universe-base ==1.1.3
   - universe-dependent-sum ==1.3
-  - universe-instances-base ==1.1
-  - universe-instances-extended ==1.1.2
-  - universe-instances-trans ==1.1
+  - universe-instances-extended ==1.1.3
   - universe-reverse-instances ==1.1.1
   - universe-some ==1.2.1
   - universum ==1.7.2
@@ -2529,10 +2633,11 @@ default-package-overrides:
   - unix-time ==0.4.7
   - unliftio ==0.2.21.0
   - unliftio-core ==0.2.0.1
+  - unliftio-path ==0.0.2.0
   - unliftio-pool ==0.2.1.1
   - unliftio-streams ==0.1.1.1
   - unlit ==0.4.0.0
-  - unordered-containers ==0.2.16.0
+  - unordered-containers ==0.2.17.0
   - unsafe ==0.0
   - urbit-hob ==0.3.3
   - uri-bytestring ==0.3.3.1
@@ -2540,17 +2645,18 @@ default-package-overrides:
   - uri-encode ==1.5.0.7
   - url ==2.1.3
   - users ==0.5.0.0
-  - utf8-conversions ==0.1.0.4
+  - users-postgresql-simple ==0.5.0.2
+  - users-test ==0.5.0.1
   - utf8-light ==0.4.2
   - utf8-string ==1.0.2
-  - util ==0.1.17.1
   - utility-ht ==0.0.16
   - uuid ==1.3.15
   - uuid-types ==1.0.5
+  - valida ==1.1.0
+  - valida-base ==0.2.0
+  - validate-input ==0.5.0.0
   - validation ==1.1.2
-  - validation-selective ==0.1.0.1
-  - validity ==0.11.0.1
-  - validity-aeson ==0.2.0.4
+  - validity ==0.12.0.0
   - validity-bytestring ==0.4.1.1
   - validity-containers ==0.5.0.4
   - validity-path ==0.4.0.1
@@ -2558,14 +2664,18 @@ default-package-overrides:
   - validity-primitive ==0.0.0.1
   - validity-scientific ==0.2.0.3
   - validity-text ==0.3.1.2
-  - validity-time ==0.4.0.0
+  - validity-time ==0.5.0.0
   - validity-unordered-containers ==0.2.0.3
   - validity-uuid ==0.1.0.3
   - validity-vector ==0.2.0.3
-  - valor ==0.1.0.0
+  - valor ==1.0.0.0
+  - variable-media-field ==0.1.0.0
+  - variable-media-field-dhall ==0.1.0.0
+  - variable-media-field-optics ==0.1.0.0
+  - varying ==0.8.1.0
   - vault ==0.3.1.5
   - vcs-ignore ==0.0.2.0
-  - vec ==0.4
+  - vec ==0.4.1
   - vector ==0.12.3.1
   - vector-algorithms ==0.8.0.4
   - vector-binary-instances ==0.2.5.2
@@ -2576,81 +2686,100 @@ default-package-overrides:
   - vector-instances ==3.4
   - vector-mmap ==0.0.3
   - vector-rotcev ==0.1.0.1
-  - vector-sized ==1.4.4
+  - vector-sized ==1.5.0
   - vector-space ==0.16
   - vector-split ==1.0.0.2
   - vector-th-unbox ==0.2.2
+  - vectortiles ==1.5.1
   - verbosity ==0.4.0.0
-  - versions ==5.0.2
+  - versions ==5.0.3
   - vformat ==0.14.1.0
-  - vformat-aeson ==0.1.0.1
   - vformat-time ==0.1.0.0
   - ViennaRNAParser ==1.3.3
   - vinyl ==0.13.3
+  - vinyl-loeb ==0.0.1.0
+  - vivid ==0.5.2.0
+  - vivid-osc ==0.5.0.0
+  - vivid-supercollider ==0.4.1.2
   - void ==0.7.3
   - vty ==5.33
   - wai ==3.2.3
-  - wai-app-static ==3.1.7.2
+  - wai-app-static ==3.1.7.4
+  - wai-cli ==0.2.3
   - wai-conduit ==3.0.0.4
   - wai-cors ==0.2.7
-  - wai-enforce-https ==0.0.2.1
+  - wai-enforce-https ==1.0.0.0
   - wai-eventsource ==3.0.0
   - wai-extra ==3.1.8
   - wai-feature-flags ==0.1.0.3
   - wai-handler-launch ==3.0.3.1
-  - wai-logger ==2.3.7
-  - wai-middleware-auth ==0.2.5.1
+  - wai-logger ==2.4.0
   - wai-middleware-caching ==0.1.0.2
+  - wai-middleware-caching-lru ==0.1.0.0
+  - wai-middleware-caching-redis ==0.2.0.0
   - wai-middleware-clacks ==0.1.0.1
   - wai-middleware-delegate ==0.1.2.4
   - wai-middleware-prometheus ==1.0.0.1
-  - wai-middleware-static ==0.9.1
-  - wai-rate-limit ==0.1.0.0
-  - wai-rate-limit-redis ==0.1.0.0
-  - wai-saml2 ==0.2.1.2
+  - wai-middleware-static ==0.9.2
+  - wai-rate-limit ==0.2.0.0
+  - wai-rate-limit-redis ==0.2.0.1
+  - wai-saml2 ==0.2.1.3
   - wai-session ==0.3.3
-  - wai-session-redis ==0.1.0.4
+  - wai-session-postgresql ==0.2.1.3
+  - wai-session-redis ==0.1.0.5
   - wai-slack-middleware ==0.2.0
+  - wai-transformers ==0.1.0
   - wai-websockets ==3.0.1.2
   - wakame ==0.1.0.0
-  - warp ==3.3.19
+  - warp ==3.3.20
   - warp-tls ==3.3.2
   - warp-tls-uid ==0.2.0.6
   - wave ==0.2.0
   - wcwidth ==0.0.2
-  - webdriver ==0.9.0.1
   - webex-teams-api ==0.2.0.1
   - webex-teams-conduit ==0.2.0.1
-  - webex-teams-pipes ==0.2.0.1
-  - webgear-server ==0.2.1
+  - webgear-core ==1.0.1
+  - webgear-openapi ==1.0.1
+  - webgear-server ==1.0.1
+  - webpage ==0.0.5.1
+  - web-plugins ==0.4.1
+  - web-routes ==0.27.14.3
+  - web-routes-boomerang ==0.28.4.2
+  - web-routes-happstack ==0.23.12.1
+  - web-routes-hsp ==0.24.6.1
+  - web-routes-wai ==0.24.3.1
   - webrtc-vad ==0.1.0.3
   - websockets ==0.12.7.3
-  - websockets-snap ==0.10.3.1
+  - websockets-simple ==0.2.0
   - weigh ==0.0.16
   - wide-word ==0.1.1.2
   - wikicfp-scraper ==0.1.0.12
   - wild-bind ==0.1.2.8
   - wild-bind-x11 ==0.2.0.14
-  - Win32 ==2.6.2.1
+  - Win32 ==2.12.0.1
   - Win32-notify ==0.3.0.3
   - windns ==0.1.0.1
-  - witch ==0.3.4.2
+  - wire-streams ==0.1.1.0
+  - witch ==1.0.0.2
+  - withdependencies ==0.3.0
   - witherable ==0.4.2
   - within ==0.2.0.1
   - with-location ==0.1.0
   - with-utf8 ==1.0.2.3
+  - witness ==0.5
   - wizards ==1.0.3
+  - wl-pprint ==1.2.1
   - wl-pprint-annotated ==0.1.0.1
   - wl-pprint-console ==0.1.0.2
   - wl-pprint-text ==1.2.0.2
-  - word24 ==2.0.1
   - word8 ==0.1.3
   - wordpress-auth ==1.0.0.1
   - word-trie ==0.3.0
-  - word-wrap ==0.4.1
+  - word-wrap ==0.5
   - world-peace ==1.0.2.0
   - wrap ==0.0.0
   - wreq ==0.5.3.3
+  - wreq-stringless ==0.5.9.1
   - writer-cps-exceptions ==0.1.0.1
   - writer-cps-mtl ==0.1.1.6
   - writer-cps-transformers ==0.5.6.1
@@ -2665,45 +2794,58 @@ default-package-overrides:
   - x509-validation ==1.6.12
   - Xauth ==0.1
   - xdg-basedir ==0.2.2
+  - xdg-desktop-entry ==0.1.1.1
   - xdg-userdirs ==0.1.0.2
-  - xeno ==0.4.3
+  - xeno ==0.5
   - xlsx ==0.8.4
   - xlsx-tabular ==0.2.2.1
   - xml ==1.3.14
   - xml-basic ==0.1.3.1
+  - xmlbf ==0.6.1
+  - xmlbf-xeno ==0.2
+  - xmlbf-xmlhtml ==0.2
   - xml-conduit ==1.9.1.1
   - xml-conduit-writer ==0.1.1.2
   - xmlgen ==0.6.2.2
   - xml-hamlet ==0.5.0.2
   - xml-helpers ==1.0.0
+  - xmlhtml ==0.2.5.2
   - xml-html-qq ==0.1.0.1
   - xml-indexed-cursor ==0.1.1.0
-  - xml-lens ==0.3
+  - xml-parser ==0.1.1
   - xml-picklers ==0.3.6
-  - xml-to-json ==2.0.1
   - xml-to-json-fast ==2.0.0
   - xml-types ==0.3.8
-  - xmonad ==0.15
-  - xmonad-contrib ==0.16
-  - xmonad-extras ==0.15.3
-  - xss-sanitize ==0.3.6
+  - xmonad ==0.17.0
+  - xmonad-contrib ==0.17.0
+  - xmonad-extras ==0.17.0
+  - xss-sanitize ==0.3.7
   - xxhash-ffi ==0.2.0.0
-  - yaml ==0.11.7.0
+  - yaml ==0.11.8.0
   - yamlparse-applicative ==0.2.0.1
+  - yaml-unscrambler ==0.1.0.9
+  - yarn-lock ==0.6.5
+  - yeshql-core ==4.2.0.0
   - yesod ==1.6.2
+  - yesod-alerts ==0.1.3.0
   - yesod-auth ==1.6.11
+  - yesod-auth-basic ==0.1.0.3
   - yesod-auth-hashdb ==1.7.1.7
-  - yesod-auth-oauth2 ==0.6.3.4
-  - yesod-bin ==1.6.2
-  - yesod-core ==1.6.21.0
-  - yesod-fb ==0.6.1
+  - yesod-auth-oauth2 ==0.7.0.1
+  - yesod-bin ==1.6.2.1
+  - yesod-core ==1.6.22.0
+  - yesod-eventsource ==1.6.0.1
   - yesod-form ==1.7.0
+  - yesod-form-bootstrap4 ==3.0.1
+  - yesod-gitrepo ==0.3.0
   - yesod-gitrev ==0.2.2
   - yesod-markdown ==0.12.6.12
   - yesod-newsfeed ==1.7.0.0
   - yesod-page-cursor ==2.0.0.9
   - yesod-paginator ==1.1.1.0
   - yesod-persistent ==1.6.0.7
+  - yesod-recaptcha2 ==1.0.2
+  - yesod-routes-flow ==3.0.0.1
   - yesod-sitemap ==1.6.0
   - yesod-static ==1.6.1.0
   - yesod-test ==1.6.12
@@ -2722,7 +2864,7 @@ default-package-overrides:
   - zim-parser ==0.2.1.0
   - zio ==0.1.0.2
   - zip ==1.7.2
-  - zip-archive ==0.4.1
+  - zip-archive ==0.4.2.1
   - zipper-extra ==0.1.3.2
   - zippers ==0.3.2
   - zip-stream ==0.2.1.0
@@ -2731,5 +2873,4 @@ default-package-overrides:
   - zlib-lens ==0.1.2.1
   - zot ==0.0.3
   - zstd ==0.1.3.0
-  - ztail ==1.2.0.2
-  - zydiskell ==0.2.0.0
+  - ztail ==1.2.0.3
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
index fc5ece3e06986..674735fd16e79 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
@@ -21,9 +21,11 @@ dont-distribute-packages:
  - Advise-me
  - AlgoRhythm
  - AlignmentAlgorithms
+ - Allure
  - AndroidViewHierarchyImporter
  - Annotations
  - ApplePush
+ - AspectAG
  - AttoJson
  - AutoForms
  - AvlTree
@@ -32,21 +34,15 @@ dont-distribute-packages:
  - BerlekampAlgorithm
  - BioHMM
  - Biobase
- - BiobaseBlast
  - BiobaseDotP
- - BiobaseENA
  - BiobaseEnsembl
  - BiobaseFR3D
- - BiobaseFasta
  - BiobaseHTTP
  - BiobaseHTTPTools
  - BiobaseInfernal
  - BiobaseMAF
  - BiobaseTrainingData
- - BiobaseTurner
- - BiobaseTypes
  - BiobaseVienna
- - BiobaseXNA
  - BirdPP
  - Bitly
  - BlastHTTP
@@ -57,10 +53,12 @@ dont-distribute-packages:
  - CBOR
  - CC-delcont-alt
  - CMCompare
+ - CMQ
  - CPBrainfuck
  - CSPM-Interpreter
  - CSPM-ToProlog
  - CSPM-cspm
+ - Capabilities
  - CarneadesIntoDung
  - Chart-fltkhs
  - ClustalParser
@@ -85,6 +83,7 @@ dont-distribute-packages:
  - DocTest
  - DrHylo
  - Dust
+ - Dust-crypto
  - Dust-tools
  - Dust-tools-pcap
  - DysFRP-Cairo
@@ -109,10 +108,15 @@ dont-distribute-packages:
  - FiniteMap
  - FirstOrderTheory
  - Flippi
+ - ForSyDe
  - Forestry
  - FormalGrammars
  - Foster
+ - Frames
+ - Frames-beam
  - Frames-dsv
+ - Frames-map-reduce
+ - Frames-streamly
  - Frank
  - GLFW-OGL
  - GLFW-task
@@ -120,7 +124,6 @@ dont-distribute-packages:
  - GPipe-Collada
  - GPipe-Examples
  - GPipe-GLFW
- - GPipe-GLFW4
  - GPipe-TextureLoad
  - Gamgine
  - GeBoP
@@ -140,7 +143,6 @@ dont-distribute-packages:
  - GrowlNotify
  - Gtk2hsGenerics
  - GtkGLTV
- - GuiHaskell
  - GuiTV
  - H
  - HAppS-Data
@@ -172,7 +174,6 @@ dont-distribute-packages:
  - HLearn-distributions
  - HNM
  - HPhone
- - HPlot
  - HPong
  - HROOT
  - HROOT-core
@@ -194,10 +195,12 @@ dont-distribute-packages:
  - HaTeX-qq
  - HaVSA
  - Hach
+ - Haggressive
  - HarmTrace
  - HasGP
+ - Haschoo
  - Hashell
- - HaskRel
+ - HaskellNet-SSL
  - Hate
  - Hawk
  - Hayoo
@@ -233,9 +236,12 @@ dont-distribute-packages:
  - KiCS-debugger
  - KiCS-prophecy
  - LDAPv3
+ - LambdaHack
  - LambdaINet
  - LambdaPrettyQuote
  - LambdaShell
+ - Lambdaya
+ - Lattices
  - LinearSplit
  - LinkChecker
  - LogicGrowsOnTrees
@@ -249,6 +255,7 @@ dont-distribute-packages:
  - MFlow
  - MIP-glpk
  - MSQueue
+ - MailchimpSimple
  - MaybeT-transformers
  - MetaObject
  - Metrics
@@ -288,6 +295,7 @@ dont-distribute-packages:
  - OpenVG
  - PCLT-DB
  - PageIO
+ - Paillier
  - Paraiso
  - Parallel-Arrows-Eden
  - PermuteEffects
@@ -300,15 +308,14 @@ dont-distribute-packages:
  - Pup-Events-Demo
  - Quelea
  - RESTng
+ - RJson
  - RMP
  - RNAFold
  - RNAFoldProgs
  - RNAdesign
- - RNAdraw
  - RNAlien
  - RNAwolf
  - Ranka
- - Rlang-QQ
  - RollingDirectory
  - S3
  - SBench
@@ -319,6 +326,7 @@ dont-distribute-packages:
  - SGdemo
  - STLinkUSB
  - STM32-Zombie
+ - SVD2HS
  - SVG2Q
  - SciFlow
  - SciFlow-drmaa
@@ -329,10 +337,19 @@ dont-distribute-packages:
  - Shellac-haskeline
  - Shellac-readline
  - ShortestPathProblems
+ - Shpadoinkle
+ - Shpadoinkle-backend-pardiff
+ - Shpadoinkle-backend-snabbdom
+ - Shpadoinkle-backend-static
  - Shpadoinkle-developer-tools
  - Shpadoinkle-disembodied
  - Shpadoinkle-examples
+ - Shpadoinkle-html
+ - Shpadoinkle-lens
  - Shpadoinkle-router
+ - Shpadoinkle-streaming
+ - Shpadoinkle-template
+ - Shpadoinkle-widgets
  - SimpleGL
  - SimpleLog
  - SimpleServer
@@ -341,12 +358,11 @@ dont-distribute-packages:
  - SoccerFun
  - SoccerFunGL
  - SourceGraph
+ - SpacePrivateers
  - SpinCounter
- - Spock-auth
- - Spock-lucid
- - Spock-worker
  - StockholmAlignment
  - Strafunski-Sdf2Haskell
+ - SybWidget
  - SyntaxMacros
  - Taxonomy
  - TaxonomyTools
@@ -360,7 +376,7 @@ dont-distribute-packages:
  - UMM
  - URLT
  - UrlDisp
- - ViennaRNA-extras
+ - Villefort
  - WAVE
  - WEditorBrick
  - WEditorHyphen
@@ -372,6 +388,7 @@ dont-distribute-packages:
  - WebBits-Html
  - WebBits-multiplate
  - WebCont
+ - Wired
  - WordAlignment
  - WxGeneric
  - XML
@@ -386,21 +403,39 @@ dont-distribute-packages:
  - Z-YAML
  - a50
  - abcBridge
+ - abstract-par-accelerate
  - ac-machine-conduit
  - accelerate-arithmetic
+ - accelerate-fftw
  - accelerate-fourier
+ - accelerate-io
+ - accelerate-io-JuicyPixels
+ - accelerate-io-array
+ - accelerate-io-bmp
+ - accelerate-io-bytestring
+ - accelerate-io-cereal
+ - accelerate-io-repa
+ - accelerate-io-serialise
+ - accelerate-io-vector
+ - accelerate-llvm
+ - accelerate-llvm-native
+ - accelerate-random
  - accelerate-typelits
+ - accelerate-utility
  - access-token-provider
  - acme-php
  - acme-safe
  - acousticbrainz-client
  - activehs
  - actor
+ - acts
+ - addy
  - adhoc-network
  - adict
+ - adjunction
  - adp-multi-monadiccp
- - aern2-real
  - aeson-native
+ - aeson-result
  - afv
  - agda-server
  - agda-snippets-hakyll
@@ -410,14 +445,161 @@ dont-distribute-packages:
  - algebra-checkers
  - algebra-driven-design
  - algebra-sql
+ - algebraic
  - algolia
- - align-audio
+ - algorithmic-composition-additional
+ - algorithmic-composition-basic
+ - algorithmic-composition-complex
+ - algorithmic-composition-frequency-shift
+ - algorithmic-composition-overtones
  - alms
  - alpha
  - alsa-gui
  - alsa-pcm-tests
  - alsa-seq-tests
+ - alto
  - amazon-emailer-client-snap
+ - amazonka
+ - amazonka-alexa-business
+ - amazonka-apigateway
+ - amazonka-application-autoscaling
+ - amazonka-appstream
+ - amazonka-appsync
+ - amazonka-athena
+ - amazonka-autoscaling
+ - amazonka-autoscaling-plans
+ - amazonka-batch
+ - amazonka-budgets
+ - amazonka-certificatemanager
+ - amazonka-certificatemanager-pca
+ - amazonka-cloud9
+ - amazonka-clouddirectory
+ - amazonka-cloudformation
+ - amazonka-cloudfront
+ - amazonka-cloudhsm
+ - amazonka-cloudhsmv2
+ - amazonka-cloudsearch
+ - amazonka-cloudsearch-domains
+ - amazonka-cloudtrail
+ - amazonka-cloudwatch
+ - amazonka-cloudwatch-events
+ - amazonka-cloudwatch-logs
+ - amazonka-codebuild
+ - amazonka-codecommit
+ - amazonka-codedeploy
+ - amazonka-codepipeline
+ - amazonka-codestar
+ - amazonka-cognito-identity
+ - amazonka-cognito-idp
+ - amazonka-cognito-sync
+ - amazonka-comprehend
+ - amazonka-config
+ - amazonka-connect
+ - amazonka-contrib-rds-utils
+ - amazonka-cost-explorer
+ - amazonka-cur
+ - amazonka-datapipeline
+ - amazonka-devicefarm
+ - amazonka-directconnect
+ - amazonka-discovery
+ - amazonka-dms
+ - amazonka-ds
+ - amazonka-dynamodb
+ - amazonka-dynamodb-dax
+ - amazonka-dynamodb-streams
+ - amazonka-ec2
+ - amazonka-ecr
+ - amazonka-ecs
+ - amazonka-efs
+ - amazonka-elasticache
+ - amazonka-elasticbeanstalk
+ - amazonka-elasticsearch
+ - amazonka-elastictranscoder
+ - amazonka-elb
+ - amazonka-elbv2
+ - amazonka-emr
+ - amazonka-fms
+ - amazonka-gamelift
+ - amazonka-glacier
+ - amazonka-glue
+ - amazonka-greengrass
+ - amazonka-guardduty
+ - amazonka-health
+ - amazonka-iam
+ - amazonka-importexport
+ - amazonka-inspector
+ - amazonka-iot
+ - amazonka-iot-analytics
+ - amazonka-iot-dataplane
+ - amazonka-iot-jobs-dataplane
+ - amazonka-kinesis
+ - amazonka-kinesis-analytics
+ - amazonka-kinesis-firehose
+ - amazonka-kinesis-video
+ - amazonka-kinesis-video-archived-media
+ - amazonka-kinesis-video-media
+ - amazonka-kms
+ - amazonka-lambda
+ - amazonka-lex-models
+ - amazonka-lex-runtime
+ - amazonka-lightsail
+ - amazonka-marketplace-analytics
+ - amazonka-marketplace-entitlement
+ - amazonka-marketplace-metering
+ - amazonka-mechanicalturk
+ - amazonka-mediaconvert
+ - amazonka-medialive
+ - amazonka-mediapackage
+ - amazonka-mediastore
+ - amazonka-mediastore-dataplane
+ - amazonka-migrationhub
+ - amazonka-ml
+ - amazonka-mobile
+ - amazonka-mq
+ - amazonka-opsworks
+ - amazonka-opsworks-cm
+ - amazonka-organizations
+ - amazonka-pinpoint
+ - amazonka-polly
+ - amazonka-pricing
+ - amazonka-rds
+ - amazonka-redshift
+ - amazonka-rekognition
+ - amazonka-resourcegroups
+ - amazonka-resourcegroupstagging
+ - amazonka-route53
+ - amazonka-route53-autonaming
+ - amazonka-route53-domains
+ - amazonka-s3
+ - amazonka-s3-streaming
+ - amazonka-sagemaker
+ - amazonka-sagemaker-runtime
+ - amazonka-sdb
+ - amazonka-secretsmanager
+ - amazonka-serverlessrepo
+ - amazonka-servicecatalog
+ - amazonka-ses
+ - amazonka-shield
+ - amazonka-sms
+ - amazonka-snowball
+ - amazonka-sns
+ - amazonka-sqs
+ - amazonka-ssm
+ - amazonka-stepfunctions
+ - amazonka-storagegateway
+ - amazonka-sts
+ - amazonka-support
+ - amazonka-swf
+ - amazonka-test
+ - amazonka-transcribe
+ - amazonka-translate
+ - amazonka-waf
+ - amazonka-waf-regional
+ - amazonka-workdocs
+ - amazonka-workmail
+ - amazonka-workspaces
+ - amazonka-xray
+ - amby
  - ampersand
  - amqp-streamly
  - analyze-client
@@ -430,8 +612,22 @@ dont-distribute-packages:
  - anonymous-sums-tests
  - antagonist
  - anticiv
+ - antiope-athena
+ - antiope-contract
+ - antiope-core
+ - antiope-dynamodb
+ - antiope-es
+ - antiope-messages
+ - antiope-optparse-applicative
+ - antiope-s3
+ - antiope-shell
+ - antiope-sns
+ - antiope-sqs
+ - antiope-swf
  - antlrc
  - apelsin
+ - api-rpc-accumulate
+ - api-rpc-factom
  - api-rpc-pegnet
  - api-yoti
  - apiary
@@ -453,56 +649,80 @@ dont-distribute-packages:
  - apotiki
  - approx-rand-test
  - arbor-monad-metric-datadog
+ - archive-tar-bytestring
  - archlinux-web
  - arduino-copilot
  - arff
  - arghwxhaskell
  - argon
  - ariadne
+ - arith-encode
  - arithmetic-circuits
  - array-forth
  - arraylist
+ - ascii
+ - ascii-cows
  - ascii-table
  - asic
+ - asif
  - assert4hs-hspec
  - assert4hs-tasty
  - assimp
  - ast-monad-json
  - astview
+ - aterm-utils
  - atlassian-connect-core
+ - atlassian-connect-descriptor
  - atmos-dimensional-tf
  - atomic-primops-foreign
  - atp
+ - ats-format
+ - ats-pkg
  - attoparsec-enumerator
+ - attoparsec-ip
  - attoparsec-iteratee
  - attoparsec-text-enumerator
+ - attoparsec-uri
  - atuin
  - audiovisual
  - aura
- - aura_3_2_7
  - authoring
+ - autodocodec-openapi3
+ - autodocodec-schema
+ - autodocodec-swagger2
+ - autodocodec-yaml
+ - automata
  - autonix-deps-kf5
  - avers
  - avers-api
  - avers-api-docs
  - avers-server
+ - aviation-cessna172-diagrams
+ - aviation-cessna172-weight-balance
  - aviation-navigation
- - avro-piper
+ - aviation-weight-balance
  - awesomium
  - awesomium-glut
  - aws-configuration-tools
  - aws-dynamodb-conduit
  - aws-dynamodb-streams
+ - aws-easy
+ - aws-ec2-knownhosts
  - aws-elastic-transcoder
  - aws-kinesis
  - aws-kinesis-client
  - aws-kinesis-reshard
  - aws-lambda
+ - aws-lambda-haskell-runtime-wai
  - aws-mfa-credentials
  - aws-sdk
  - aws-sdk-xml-unordered
+ - aws-ses-easy
  - aws-sign4
+ - aws-simple
  - aws-sns
+ - aws-xray-client-persistent
+ - aws-xray-client-wai
  - axiom
  - azimuth-hs
  - azure-functions-worker
@@ -521,6 +741,7 @@ dont-distribute-packages:
  - bamboo-theme-mini-html5
  - bamse
  - bamstats
+ - barley
  - base32-bytestring
  - base64-bytes
  - baserock-schema
@@ -530,16 +751,19 @@ dont-distribute-packages:
  - batchd-libvirt
  - batching
  - battlenet-yesod
+ - battleplace-api
  - battleships
  - bayes-stack
  - bbi
+ - bcp47
+ - bcp47-orphans
  - bdcs
  - bdcs-api
  - beam-automigrate
  - beam-th
  - beautifHOL
  - bech32-th
- - bech32-th_1_1_1
+ - beeminder-api
  - bein
  - belka
  - berp
@@ -552,10 +776,12 @@ dont-distribute-packages:
  - binary-file
  - binary-protocol-zmq
  - binary-streams
+ - binding-gtk
  - binding-wx
  - bindings-apr-util
  - bindings-linux-videodev2
  - bindings-ppdev
+ - bindynamic
  - binembed-example
  - bioace
  - bioalign
@@ -576,8 +802,6 @@ dont-distribute-packages:
  - bitcoin-api-extra
  - bitcoin-block
  - bitcoin-compact-filters
- - bitcoin-keys
- - bitcoin-rpc
  - bitcoin-scripting
  - bitcoin-tx
  - bitcoin-types
@@ -589,18 +813,25 @@ dont-distribute-packages:
  - bla
  - blakesum-demo
  - blastxml
+ - blatex
  - blaze-builder-enumerator
  - blaze-colonnade
+ - ble
  - blink1
  - blip
+ - blockfrost-client
+ - blockfrost-client-core
+ - blockfrost-pretty
  - blogination
  - bloodhound-amazonka-auth
+ - blosum
  - bloxorz
  - blubber
- - bluetile
  - blunt
  - bno055-haskell
  - bogre-banana
+ - boilerplate
+ - bond
  - bond-haskell
  - bond-haskell-compiler
  - bookkeeper-permissions
@@ -609,20 +840,13 @@ dont-distribute-packages:
  - boots-cloud
  - boots-web
  - borel
- - bowntz
- - box-csv
- - box-socket
  - breakout
  - bricks
  - bricks-internal-test
  - bricks-parsec
  - bricks-rendering
  - bricks-syntax
- - broadcast-chan-conduit
- - broadcast-chan-pipes
  - bronyradiogermany-streaming
- - brotli-conduit
- - brotli-streams
  - btree
  - buchhaltung
  - buildbox-tools
@@ -634,20 +858,23 @@ dont-distribute-packages:
  - buster-gtk
  - buster-network
  - butterflies
- - bv-sized-lens
+ - bytable
  - bytehash
  - bytelog
+ - bytestring-builder-varword
  - bytestring-read
- - c0check
  - cabal-bounds
  - cabal-cache
  - cabal-cargs
+ - cabal-debian
  - cabal-query
  - cabal-test
  - cabal2arch
  - cabalmdvrpm
  - cabalrpmdeps
+ - cabocha
  - cake
+ - cake3
  - cakyrespa
  - cal3d-examples
  - cal3d-opengl
@@ -655,16 +882,18 @@ dont-distribute-packages:
  - calculator
  - caldims
  - call
- - camfort
  - campfire
  - canteven-http
  - cao
  - cap
+ - capnp
  - captcha-2captcha
  - captcha-capmonster
  - car-pool
  - carboncopy
  - cartel
+ - cas-hashable-s3
+ - cas-store
  - casadi-bindings
  - casadi-bindings-control
  - casadi-bindings-core
@@ -684,10 +913,12 @@ dont-distribute-packages:
  - casui
  - categorical-algebra
  - category-extras
+ - cautious-gen
  - cctools-workqueue
  - cef3-simple
  - ceilometer-common
  - celtchar
+ - cerberus
  - cereal-enumerator
  - cereal-io-streams
  - cereal-streams
@@ -695,11 +926,10 @@ dont-distribute-packages:
  - cfipu
  - cflp
  - cfopu
- - cgrep
  - chainweb-mining-client
  - chalkboard-viewer
  - charade
- - chart-svg
+ - chart-cli
  - chart-svg-various
  - chart-unit
  - cheapskate-terminal
@@ -714,6 +944,7 @@ dont-distribute-packages:
  - chr-core
  - chr-lang
  - chromatin
+ - chronograph
  - chu2
  - chuchu
  - chunks
@@ -726,11 +957,10 @@ dont-distribute-packages:
  - claferwiki
  - clash
  - clash-ghc
- - clash-ghc_1_6_1
  - clash-lib
  - clash-lib-hedgehog
- - clash-lib_1_6_1
  - clash-multisignal
+ - clash-prelude
  - clash-prelude-hedgehog
  - clash-prelude-quickcheck
  - clash-shake
@@ -754,7 +984,10 @@ dont-distribute-packages:
  - clckwrks-theme-geo-bootstrap
  - cless
  - cleveland
+ - cli-git
+ - cli-nix
  - click-clack
+ - clickhouse-haskell
  - clifford
  - clippings
  - clocked
@@ -762,6 +995,7 @@ dont-distribute-packages:
  - cloud-seeder
  - cloudyfs
  - clua
+ - clustering
  - clustertools
  - clutterhs
  - cmathml3
@@ -769,29 +1003,47 @@ dont-distribute-packages:
  - cmv
  - cnc-spec-compiler
  - co-feldspar
- - co-log-polysemy-formatting
- - code-conjure
+ - cobot-io
  - codec
  - codec-rpm
  - codemonitor
+ - coformat
  - cognimeta-utils
  - coinbase-exchange
+ - coincident-root-loci
  - colada
+ - colchis
  - collapse-duplication
  - collection-json
  - collections-base-instances
  - color-counter
  - colorless-http-client
  - colorless-scotty
+ - colour-accelerate
  - colour-space
  - columbia
+ - columnar
  - comark
  - comic
+ - commodities
  - commsec-keyexchange
  - comonad-random
- - compaREST
  - compact-mutable
+ - compactable
+ - compdata-automata
+ - compdata-dags
+ - compdata-param
+ - compdoc
+ - compdoc-dhall-decoder
  - complexity
+ - composite-aeson-cofree-list
+ - composite-aeson-path
+ - composite-aeson-refined
+ - composite-aeson-throw
+ - composite-aeson-writeonly
+ - composite-swagger
+ - compstrat
+ - comptrans
  - computational-algebra
  - concraft
  - concraft-hr
@@ -802,6 +1054,7 @@ dont-distribute-packages:
  - conductive-hsc3
  - conductive-song
  - conduit-aeson
+ - conduit-throttle
  - conduit-vfs-zip
  - confcrypt
  - conferer-provider-dhall
@@ -812,35 +1065,41 @@ dont-distribute-packages:
  - config-select
  - configifier
  - configurator-ng
+ - conic-graphs
  - constraint-manip
  - constructible
  - consumers
  - container
  - containers-accelerate
+ - content-store
  - continuum
  - continuum-client
  - control
  - control-monad-attempt
  - control-monad-exception-monadsfd
+ - contstuff-monads-tf
+ - contstuff-transformers
  - conversions
  - convert
+ - convert-annotation
  - convertible-ascii
  - 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
@@ -852,6 +1111,7 @@ dont-distribute-packages:
  - craftwerk-cairo
  - craftwerk-gtk
  - craze
+ - credentials
  - credentials-cli
  - crf-chain1
  - crf-chain1-constrained
@@ -860,19 +1120,22 @@ dont-distribute-packages:
  - criu-rpc
  - crockford
  - cron-compat
+ - crypto-classical
  - crypto-conduit
+ - crypto-pubkey
  - cryptocipher
+ - cryptoconditions
  - cryptoids
  - cryptoids-class
  - cryptol
  - crystalfontz
- - csg
  - cspmchecker
  - csv-enumerator
  - ctpl
  - cube
+ - cuckoo
+ - curryer-rpc
  - cursedcsv
- - cursor-fuzzy-time-gen
  - cv-combinators
  - cypher
  - dapi
@@ -887,6 +1150,7 @@ dont-distribute-packages:
  - data-accessor-monads-fd
  - data-basic
  - data-cycle
+ - data-diverse-lens
  - data-elf
  - data-layer
  - data-lens-fd
@@ -898,11 +1162,14 @@ dont-distribute-packages:
  - data-rtuple
  - data-structure-inferrer
  - datadog-tracing
+ - datafix
  - dataflow
+ - datasets
+ - date-conversions
  - dbjava
  - dbus-client
+ - ddate
  - ddc-build
- - ddc-core
  - ddc-core-babel
  - ddc-core-eval
  - ddc-core-flow
@@ -917,7 +1184,6 @@ dont-distribute-packages:
  - ddc-war
  - ddci-core
  - debug
- - debug-trace-var
  - decidable
  - decimal-arithmetic
  - dedukti
@@ -936,43 +1202,49 @@ dont-distribute-packages:
  - delimiter-separated
  - delta
  - delta-h
- - dep-t-advice
- - dep-t-dynamic
  - dependent-literals-plugin
  - dependent-state
+ - depends
  - dephd
  - deptrack-devops
  - deptrack-dot
  - dequeue
  - derive-IG
+ - descript-lang
  - detour-via-uom
  - devtools
  - dewdrop
  - dfinity-radix-tree
- - dhall-docs
+ - dhall-recursive-adt
+ - dhcp-lease-parser
  - dia-functions
  - diagrams-haddock
  - diagrams-html5
+ - diagrams-input
  - diagrams-pandoc
- - diagrams-pgf
  - diagrams-reflex
  - diagrams-wx
- - dialog
  - difference-monoid
+ - differential
  - digestive-functors-hsp
  - dingo-core
  - dingo-example
  - dingo-widgets
  - diplomacy
  - diplomacy-server
+ - direct-rocksdb
+ - directory-contents
  - dirfiles
- - dirtree
  - disco
  - discogs-haskell
  - discord-gateway
  - discord-hs
  - discord-register
  - discord-rest
+ - disposable
+ - distributed-fork
+ - distributed-fork-aws-lambda
+ - distributed-process
  - distributed-process-async
  - distributed-process-azure
  - distributed-process-client-server
@@ -991,17 +1263,27 @@ dont-distribute-packages:
  - distributed-process-task
  - distributed-process-tests
  - distributed-process-zookeeper
+ - distributed-static
  - distribution-plot
+ - diversity
  - dixi
  - dl-fedora
  - dmenu-pkill
  - dmenu-pmount
  - dmenu-search
+ - dnscache
+ - dobutokO-effects
+ - dobutokO-poetry
+ - dobutokO-poetry-general
+ - dobutokO-poetry-general-languages
+ - dobutokO2
+ - dobutokO3
+ - dobutokO4
  - doc-review
- - domain
- - domain-core
- - domain-optics
+ - dom-parser
  - dormouse-client
+ - doublezip
+ - dovetail
  - dovetail-aeson
  - dow
  - download-media-content
@@ -1017,12 +1299,16 @@ dont-distribute-packages:
  - dsh-sql
  - dsmc-tools
  - dtd
+ - dtw
  - dumb-cas
+ - duplo
  - dvda
  - dynamic-cabal
- - dynamic-pipeline
  - dynamic-plot
+ - dynamic-pp
+ - dynamodb-simple
  - dynobud
+ - ec2-unikernel
  - eccrypto-ed25519-bindings
  - ecdsa
  - edenskel
@@ -1037,24 +1323,29 @@ dont-distribute-packages:
  - egison-pattern-src-th-mode
  - egison-quote
  - egison-tutorial
+ - ekg
+ - ekg-carbon
+ - ekg-cloudwatch
+ - ekg-wai
  - elerea-examples
- - eliminators_0_9
  - elliptic-curve
  - elsa
  - emacs-keys
  - email
  - emailparse
- - embeddock
- - embeddock-example
  - embroidery
  - engine-io-growler
+ - engine-io-snap
+ - engine-io-wai
+ - engine-io-yesod
  - entangle
+ - enum-text-rio
  - enumerate
  - enumerate-function
  - enumeration
  - enumerator-fd
  - enumerator-tf
- - envy-extensible
+ - enumfun
  - ephemeral
  - erf-native
  - eros-client
@@ -1063,7 +1354,8 @@ dont-distribute-packages:
  - errors-ext
  - ersatz-toysat
  - esotericbot
- - esqueleto-streaming
+ - espial
+ - estimators
  - estreps
  - eternity
  - eternity-timestamped
@@ -1073,15 +1365,27 @@ dont-distribute-packages:
  - ethereum-analyzer-webui
  - ethereum-client-haskell
  - ethereum-merkle-patricia-db
+ - euphoria
  - evdev-streamly
+ - eve-cli
  - event-monad
+ - eventful-dynamodb
  - eventful-postgresql
  - eventful-sqlite
+ - eventloop
  - eventsource-geteventstore-store
+ - eventsource-store-specs
+ - eventsource-stub-store
  - every-bit-counts
  - exception-monads-fd
+ - exchangerates
  - exference
- - exon
+ - exinst-aeson
+ - exinst-bytes
+ - exinst-cereal
+ - exinst-deepseq
+ - exinst-hashable
+ - exinst-serialise
  - expand
  - expat-enumerator
  - expiring-containers
@@ -1091,18 +1395,38 @@ dont-distribute-packages:
  - explore
  - expressions-z3
  - extemp
+ - extended-containers-lens
  - extensible-data
+ - external-sort
  - extract-dependencies
- - extrapolate
  - factual-api
- - falling-turnip
+ - fadno
  - fallingblocks
  - family-tree
+ - fast-arithmetic
  - fast-bech32
+ - fasta
  - fastirc
+ - fastly
+ - fastparser
  - fault-tree
+ - fay
+ - fay-base
+ - fay-builder
+ - fay-dom
+ - fay-geoposition
+ - fay-hsx
+ - fay-jquery
+ - fay-ref
+ - fay-simplejson
+ - fay-text
+ - fay-uri
+ - fay-websockets
+ - fb-persistent
  - fbrnch
  - fcd
+ - fcf-composite
+ - fcf-graphs
  - feature-flipper-postgres
  - fedora-img-dl
  - feed-gipeda
@@ -1110,7 +1434,6 @@ dont-distribute-packages:
  - feed2lj
  - feed2twitter
  - fei-base
- - fei-cocoapi
  - fei-dataiter
  - fei-datasets
  - fei-examples
@@ -1118,21 +1441,27 @@ dont-distribute-packages:
  - fei-nn
  - feldspar-compiler
  - feldspar-language
+ - fenfire
  - festung
  - ffmpeg-tutorials
  - ficketed
  - fields
  - filepath-crypto
  - filepath-io-access
+ - filesystem-abstractions
  - filesystem-enumerator
  - find-clumpiness
  - findhttp
+ - finitary-derive
+ - finitary-optics
  - finite-table
+ - firestore
  - firstify
- - fishfood
  - fix-parser-simple
  - fixed-point-vector
  - fixed-point-vector-space
+ - fixed-precision
+ - fixer
  - fixhs
  - flac-picture
  - flashblast
@@ -1150,7 +1479,7 @@ dont-distribute-packages:
  - fltkhs-themes
  - fluent-logger
  - fluent-logger-conduit
- - foldl-transduce-attoparsec
+ - fmt-for-rio
  - follower
  - foo
  - formal
@@ -1159,15 +1488,17 @@ dont-distribute-packages:
  - forml
  - formlets
  - formlets-hsp
+ - forsyde-deep
  - forth-hll
- - fortran-src-extras
  - fortran-vars
  - foscam-directory
  - foscam-sort
+ - fpco-api
  - fplll
  - fpnla-examples
  - frame-markdown
  - freckle-app
+ - free-game
  - free-theorems-counterexamples
  - free-theorems-seq
  - free-theorems-seq-webui
@@ -1175,6 +1506,8 @@ dont-distribute-packages:
  - freekick2
  - freelude
  - freer-converse
+ - freetype-simple
+ - front
  - frpnow-gloss
  - frpnow-gtk
  - frpnow-gtk3
@@ -1189,14 +1522,13 @@ dont-distribute-packages:
  - funcons-simple
  - funcons-tools
  - function-combine
- - functional-arrow
  - functor-combo
+ - funflow
  - funflow-nix
  - funion
  - funnyprint
  - funsat
  - fused-effects-squeal
- - futhark_0_21_6
  - fwgl-glfw
  - fwgl-javascript
  - fxpak
@@ -1204,7 +1536,9 @@ dont-distribute-packages:
  - g2q
  - gact
  - galois-fft
+ - gargoyle-postgresql
  - gargoyle-postgresql-connect
+ - gargoyle-postgresql-nix
  - gbu
  - gdax
  - gdiff-ig
@@ -1216,6 +1550,9 @@ dont-distribute-packages:
  - gelatin-gl
  - gelatin-sdl2
  - gelatin-shaders
+ - gemini-textboard
+ - generic-override-aeson
+ - generic-xml
  - generics-mrsop-gdiff
  - genesis
  - genesis-test
@@ -1223,6 +1560,16 @@ dont-distribute-packages:
  - geni-util
  - geniconvert
  - geniserver
+ - genvalidity-aeson
+ - genvalidity-hspec-aeson
+ - genvalidity-mergeful
+ - genvalidity-mergeless
+ - genvalidity-sydtest
+ - genvalidity-sydtest-aeson
+ - genvalidity-sydtest-hashable
+ - genvalidity-sydtest-lens
+ - genvalidity-sydtest-persistent
+ - genvalidity-typed-uuid
  - geodetic
  - geolite-csv
  - getemx
@@ -1230,13 +1577,17 @@ dont-distribute-packages:
  - ghc-debug-client
  - ghc-debug-common
  - ghc-debug-stub
+ - ghc-dump-util
  - ghc-imported-from
  - ghc-instances
  - ghc-mod
+ - ghc-session
  - ghc-tags-plugin
  - ghci-pretty
- - ghcjs-dom-webkit
+ - ghcjs-dom-hello
+ - ghcjs-fetch
  - ghcjs-hplay
+ - ghcprofview
  - ght
  - gi-cairo-again
  - gi-clutter
@@ -1244,15 +1595,19 @@ dont-distribute-packages:
  - gi-gsk
  - gi-gstpbutils
  - gi-gtk_4_0_5
+ - gipeda
+ - git-config
  - git-fmt
  - git-gpush
+ - git-monitor
  - git-object
  - git-remote-ipfs
+ - git-sanity
+ - gitdo
  - github-webhook-handler-snap
  - gitlib-cross
  - gitlib-s3
  - givegif
- - gladexml-accessor
  - glazier
  - glazier-pipes
  - glazier-react
@@ -1263,7 +1618,6 @@ dont-distribute-packages:
  - glome-hs
  - gloss-accelerate
  - gloss-devil
- - gloss-examples
  - gloss-raster-accelerate
  - gloss-sodium
  - gmap
@@ -1271,16 +1625,196 @@ dont-distribute-packages:
  - gnome-desktop
  - gnomevfs
  - gnss-converters
- - gnuidn
  - goal-geometry
  - goal-graphical
  - goal-probability
  - goal-simulation
  - goat
+ - goatee-gtk
+ - gogol
+ - gogol-abusiveexperiencereport
+ - gogol-acceleratedmobilepageurl
+ - gogol-accessapproval
+ - gogol-accesscontextmanager
+ - gogol-adexchange-buyer
+ - gogol-adexchange-seller
+ - gogol-adexchangebuyer2
+ - gogol-adexperiencereport
+ - gogol-admin-datatransfer
+ - gogol-admin-directory
+ - gogol-admin-emailmigration
+ - gogol-admin-reports
+ - gogol-adsense
+ - gogol-adsense-host
+ - gogol-affiliates
+ - gogol-alertcenter
+ - gogol-analytics
+ - gogol-analyticsreporting
+ - gogol-android-enterprise
+ - gogol-android-publisher
+ - gogol-androiddeviceprovisioning
+ - gogol-androidmanagement
+ - gogol-appengine
+ - gogol-apps-activity
+ - gogol-apps-calendar
+ - gogol-apps-licensing
+ - gogol-apps-reseller
+ - gogol-apps-tasks
+ - gogol-appstate
+ - gogol-autoscaler
+ - gogol-bigquery
+ - gogol-bigquerydatatransfer
+ - gogol-bigtableadmin
+ - gogol-billing
+ - gogol-binaryauthorization
+ - gogol-blogger
+ - gogol-books
+ - gogol-chat
+ - gogol-civicinfo
+ - gogol-classroom
+ - gogol-cloudasset
+ - gogol-clouderrorreporting
+ - gogol-cloudfunctions
+ - gogol-cloudidentity
+ - gogol-cloudiot
+ - gogol-cloudkms
+ - gogol-cloudmonitoring
+ - gogol-cloudprivatecatalog
+ - gogol-cloudprivatecatalogproducer
+ - gogol-cloudprofiler
+ - gogol-cloudscheduler
+ - gogol-cloudsearch
+ - gogol-cloudshell
+ - gogol-cloudtasks
+ - gogol-cloudtrace
+ - gogol-commentanalyzer
+ - gogol-composer
+ - gogol-compute
+ - gogol-consumersurveys
+ - gogol-container
+ - gogol-containeranalysis
+ - gogol-containerbuilder
+ - gogol-customsearch
+ - gogol-dataflow
+ - gogol-datafusion
+ - gogol-dataproc
+ - gogol-datastore
+ - gogol-debugger
+ - gogol-deploymentmanager
+ - gogol-dfareporting
+ - gogol-dialogflow
+ - gogol-digitalassetlinks
+ - gogol-discovery
+ - gogol-dlp
+ - gogol-dns
+ - gogol-docs
+ - gogol-doubleclick-bids
+ - gogol-doubleclick-search
+ - gogol-drive
+ - gogol-driveactivity
+ - gogol-factchecktools
+ - gogol-file
+ - gogol-firebase-dynamiclinks
+ - gogol-firebase-rules
+ - gogol-firebasehosting
+ - gogol-firebaseremoteconfig
+ - gogol-firestore
+ - gogol-fitness
+ - gogol-fonts
+ - gogol-freebasesearch
+ - gogol-fusiontables
+ - gogol-games
+ - gogol-games-configuration
+ - gogol-games-management
+ - gogol-genomics
+ - gogol-gmail
+ - gogol-groups-migration
+ - gogol-groups-settings
+ - gogol-healthcare
+ - gogol-iam
+ - gogol-iamcredentials
+ - gogol-iap
+ - gogol-identity-toolkit
+ - gogol-indexing
+ - gogol-jobs
+ - gogol-kgsearch
+ - gogol-language
+ - gogol-latencytest
+ - gogol-libraryagent
+ - gogol-logging
+ - gogol-manufacturers
+ - gogol-maps-coordinate
+ - gogol-maps-engine
+ - gogol-mirror
+ - gogol-ml
+ - gogol-monitoring
+ - gogol-oauth2
+ - gogol-oslogin
+ - gogol-pagespeed
+ - gogol-partners
+ - gogol-people
+ - gogol-photoslibrary
+ - gogol-play-moviespartner
+ - gogol-playcustomapp
+ - gogol-plus
+ - gogol-plus-domains
+ - gogol-poly
+ - gogol-prediction
+ - gogol-proximitybeacon
+ - gogol-pubsub
+ - gogol-qpxexpress
+ - gogol-redis
+ - gogol-remotebuildexecution
+ - gogol-replicapool
+ - gogol-replicapool-updater
+ - gogol-resourcemanager
+ - gogol-resourceviews
+ - gogol-run
+ - gogol-runtimeconfig
+ - gogol-safebrowsing
+ - gogol-script
+ - gogol-searchconsole
+ - gogol-securitycenter
+ - gogol-servicebroker
+ - gogol-serviceconsumermanagement
+ - gogol-servicecontrol
+ - gogol-servicemanagement
+ - gogol-servicenetworking
+ - gogol-serviceusage
+ - gogol-serviceuser
+ - gogol-sheets
+ - gogol-shopping-content
+ - gogol-siteverification
+ - gogol-slides
+ - gogol-sourcerepo
+ - gogol-spanner
+ - gogol-spectrum
+ - gogol-speech
+ - gogol-sqladmin
+ - gogol-storage
+ - gogol-storage-transfer
+ - gogol-streetviewpublish
+ - gogol-surveys
+ - gogol-tagmanager
+ - gogol-taskqueue
+ - gogol-testing
+ - gogol-texttospeech
+ - gogol-toolresults
+ - gogol-tpu
+ - gogol-tracing
+ - gogol-translate
+ - gogol-urlshortener
+ - gogol-useraccounts
+ - gogol-vault
+ - gogol-videointelligence
+ - gogol-vision
+ - gogol-webmaster-tools
+ - gogol-websecurityscanner
+ - gogol-youtube
+ - gogol-youtube-analytics
+ - gogol-youtube-reporting
  - google-drive
  - google-mail-filters
- - google-maps-geocoding
- - google-static-maps
  - googleplus
  - gore-and-ash-actor
  - gore-and-ash-async
@@ -1293,7 +1827,6 @@ dont-distribute-packages:
  - gore-and-ash-sync
  - gps
  - gps2htmlReport
- - grab-form
  - graflog
  - grammar-combinators
  - grapefruit-examples
@@ -1308,16 +1841,19 @@ dont-distribute-packages:
  - graph-rewriting-strategies
  - graph-rewriting-trs
  - graph-rewriting-ww
- - graph-trace-viz
  - graph-visit
  - graphicsFormats
  - graphicstools
  - graphql-client
+ - graphql-utils
  - graphtype
  - greencard-lib
- - grid-proto
  - gridbounds
  - gridland
+ - groot
+ - gross
+ - groundhog-converters
+ - groundhog-inspector
  - grpc-etcd-client
  - grpc-haskell
  - grpc-haskell-core
@@ -1329,7 +1865,6 @@ dont-distribute-packages:
  - gstorable
  - gtfs
  - gtk-serialized-event
- - gtk2hs-cast-glade
  - gtk2hs-cast-gnomevfs
  - gtk2hs-cast-gtk
  - gtk2hs-cast-gtkglext
@@ -1337,9 +1872,9 @@ dont-distribute-packages:
  - gtkimageview
  - gtkrsync
  - guarded-rewriting
- - guess-combinator
  - hArduino
  - hOff-display
+ - hOpenPGP
  - hPDB
  - hPDB-examples
  - habit
@@ -1358,7 +1893,7 @@ dont-distribute-packages:
  - hack2-handler-happstack-server
  - hack2-handler-mongrel2-http
  - hack2-handler-snap-server
- - hackage-server
+ - hackage-mirror
  - hackage2twitter
  - hackmanager
  - haddock
@@ -1366,10 +1901,12 @@ dont-distribute-packages:
  - haddocset
  - hadoop-tools
  - haggis
+ - hailgun-send
+ - hailgun-simple
  - hails-bin
  - hakyll-elm
  - hakyll-ogmarkup
- - hakyll-typescript
+ - hakyll-shortcut-links
  - halberd
  - hall-symbols
  - halma-gui
@@ -1388,7 +1925,10 @@ dont-distribute-packages:
  - happstack-dlg
  - happstack-facebook
  - happstack-fay
+ - happstack-fay-ajax
+ - happstack-foundation
  - happstack-helpers
+ - happstack-hsp
  - happstack-ixset
  - happstack-jmacro
  - happstack-plugins
@@ -1397,7 +1937,6 @@ dont-distribute-packages:
  - happstack-yui
  - happybara-webkit
  - haquil
- - hardware-edsl
  - harg
  - hark
  - harmony
@@ -1407,17 +1946,19 @@ dont-distribute-packages:
  - hascat-lib
  - hascat-setup
  - hascat-system
+ - hashable-accelerate
+ - hashes
  - hashflare
  - hask-home
- - haskarrow
+ - haskades
  - haskdeep
  - haskeem
- - haskell-abci
  - haskell-aliyun
  - haskell-bitmex-client
  - haskell-docs
  - haskell-eigen-util
  - haskell-ftp
+ - haskell-lsp-client
  - haskell-pdf-presenter
  - haskell-platform-test
  - haskell-reflect
@@ -1459,8 +2000,9 @@ dont-distribute-packages:
  - haskelm
  - haskey-mtl
  - haskgame
+ - hasklepias
+ - haskoin
  - haskoin-bitcoind
- - haskoin-core
  - haskoin-crypto
  - haskoin-node
  - haskoin-protocol
@@ -1485,15 +2027,11 @@ dont-distribute-packages:
  - hasloGUI
  - hasparql-client
  - hasql-cursor-query
+ - hasql-dynamic-statements
  - hasql-postgres
  - hasql-postgres-options
- - hasql-streams-conduit
- - hasql-streams-core
- - hasql-streams-example
- - hasql-streams-pipes
- - hasql-streams-streaming
- - hasql-streams-streamly
- - hasql-th
+ - hasqlator-mysql
+ - hasqly-mysql
  - hastache-aeson
  - haste-app
  - haste-gapi
@@ -1502,29 +2040,31 @@ dont-distribute-packages:
  - haste-perch
  - hatexmpp3
  - hawitter
+ - haxl-amazonka
+ - haxl-facebook
  - haxy
  - hback
  - hbayes
  - hbb
  - hbcd
  - hbf
- - hbro
- - hbro-contrib
  - hcg-minus-cairo
  - hcheat
  - hcheckers
+ - hcount
+ - hcube
  - hdbi
  - hdbi-conduit
  - hdbi-postgresql
  - hdbi-sqlite
  - hdbi-tests
- - hdf
  - hdiff
  - hdirect
  - hdocs
  - hdph
  - heart-app
  - heatitup
+ - heatitup-complete
  - heavy-log-shortcuts
  - heavy-logger
  - heavy-logger-amazon
@@ -1534,17 +2074,16 @@ dont-distribute-packages:
  - hedgehog-gen-json
  - hedis-pile
  - heist-aeson
- - helic
  - helics
  - helics-wai
  - helium
+ - helix
  - hellage
  - hellnet
  - hemokit
  - hen
  - henet
  - hepevt
- - her-lexer-parsec
  - hermit
  - hermit-syb
  - herringbone
@@ -1553,16 +2092,21 @@ dont-distribute-packages:
  - hesh
  - hesql
  - heterolist
+ - hevm
  - hevolisa
  - hevolisa-dph
+ - hexpat-conduit
  - hexpat-iteratee
  - hfd
  - hfiar
+ - hfractal
  - hgalib
  - hgen
  - hgeometry-svg
  - hgithub
  - hiccup
+ - hie-core
+ - hierarchical-env
  - hierarchical-spectral-clustering
  - highjson-swagger
  - highjson-th
@@ -1574,6 +2118,7 @@ dont-distribute-packages:
  - hinvaders
  - hinze-streams
  - hipbot
+ - hipe
  - hipsql-client
  - hipsql-server
  - hirt
@@ -1587,23 +2132,24 @@ dont-distribute-packages:
  - hjsonschema
  - hjugement-cli
  - hlcm
- - hledger-api
  - hlrdb
  - hls
  - hly
  - hmark
+ - hmatrix-backprop
  - hmeap
  - hmeap-utils
  - hmep
- - hmm-lapack_0_5
  - hmt
  - hmt-diagrams
  - hnormalise
+ - ho-rewriting
  - hob
  - hogre
  - hogre-examples
  - holy-project
  - hommage
+ - homotuple
  - hood
  - hoodie
  - hoodle
@@ -1614,6 +2160,10 @@ dont-distribute-packages:
  - hoodle-publish
  - hoodle-render
  - hoovie
+ - hopenpgp-tools
+ - hoppy-docs
+ - hotswap
+ - hout
  - hp2any-graph
  - hp2any-manager
  - hpaco
@@ -1629,53 +2179,56 @@ dont-distribute-packages:
  - hpython
  - hquantlib
  - hranker
- - hreader
- - hreader-lens
  - hreq-client
  - hreq-conduit
- - hriemann
+ - hs
  - hs-blake2
- - hs-brotli
- - hs-duktape
  - hs-ffmpeg
  - hs-gen-iface
+ - hs-ix
+ - hs-opentelemetry-exporter-in-memory
+ - hs-opentelemetry-exporter-otlp
+ - 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
- - hs-swisstable-hashtables-class
  - hs2dot
  - hsautogui
  - hsbackup
  - hsbencher-codespeed
  - hsbencher-fusion
  - hsc3-auditor
- - hsc3-cairo
  - hsc3-data
- - hsc3-db
- - hsc3-dot
  - hsc3-forth
  - hsc3-graphs
- - hsc3-lang
  - hsc3-lisp
  - hsc3-plot
- - hsc3-process
- - hsc3-rec
  - hsc3-server
  - hsc3-sf-hsndfile
- - hsc3-unsafe
  - hsc3-utils
  - hscassandra
+ - hschema-aeson
+ - hschema-prettyprinter
+ - hschema-quickcheck
  - hscope
  - hsdev
- - hset
  - hsfacter
+ - hsinspect-lsp
  - hslogstash
+ - hsnsq
+ - hsp-cgi
  - hspec-expectations-pretty
- - hspec-expectations-pretty-diff
  - hspec-pg-transact
  - hspec-setup
  - hspec-shouldbe
- - hspec-test-sandbox
- - hspecVariant
+ - hspec-webdriver
  - hsprocess
  - hsql-mysql
  - hsql-odbc
@@ -1689,17 +2242,20 @@ dont-distribute-packages:
  - hstar
  - hstox
  - hstradeking
- - hstzaar
  - hsubconvert
  - hswip
  - hsx-jmacro
  - hsx-xhtml
+ - html-kure
+ - html-presentation-text
  - hts
+ - htsn-import
  - http-client-auth
  - http-enumerator
- - http-io-streams
+ - http-pony
  - http2-client-exe
  - http2-client-grpc
+ - http2-grpc-proto3-wire
  - https-everywhere-rules
  - https-everywhere-rules-raw
  - httpspec
@@ -1713,13 +2269,10 @@ dont-distribute-packages:
  - hurdle
  - huzzy
  - hw-all
- - hw-dsv
+ - hw-aws-sqs-conduit
  - hw-json
+ - hw-json-demo
  - hw-json-lens
- - hw-json-simple-cursor
- - hw-json-standard-cursor
- - hw-kafka-avro
- - hw-simd-cli
  - hw-uri
  - hworker-ses
  - hwormhole
@@ -1733,6 +2286,7 @@ dont-distribute-packages:
  - hxthelper
  - hxweb
  - hybrid
+ - hydra-print
  - hydrogen-cli
  - hydrogen-cli-args
  - hydrogen-data
@@ -1747,26 +2301,27 @@ dont-distribute-packages:
  - hyperpublic
  - iException
  - ice40-prim
+ - icepeak
  - ide-backend
  - ide-backend-server
  - ideas-math
  - ideas-math-types
  - ideas-statistics
- - if-instance
+ - identicon-style-squares
  - ige-mac-integration
  - ihaskell-inline-r
  - ihaskell-rlangqq
  - ihttp
  - imap
+ - imapget
  - imbib
+ - imgur
  - imgurder
  - imj-animation
  - imj-base
  - imj-game-hamazed
  - imj-measure-stdout
- - imm
  - imparse
- - imperative-edsl-vhdl
  - importify
  - imprevu-happstack
  - improve
@@ -1780,8 +2335,11 @@ dont-distribute-packages:
  - indexation
  - indieweb-algorithms
  - indigo
+ - infernal
  - infernu
+ - infinity
  - inline-java
+ - inspection-proxy
  - inspector-wrecker
  - instant-aeson
  - instant-bytes
@@ -1789,12 +2347,11 @@ dont-distribute-packages:
  - instant-hashable
  - instant-zipper
  - instapaper-sender
+ - integreat
  - interpolatedstring-qq
  - interpolatedstring-qq-mwotton
  - introduction-test
  - intset
- - invertible-hlist
- - invertible-hxt
  - ion
  - ipatch
  - ipc
@@ -1805,6 +2362,7 @@ dont-distribute-packages:
  - irc-fun-client
  - irc-fun-color
  - irc-fun-messages
+ - iri
  - ironforge
  - isevaluated
  - ismtp
@@ -1828,6 +2386,11 @@ dont-distribute-packages:
  - ivory-serialize
  - ivory-stdlib
  - ivy-web
+ - ixset
+ - ixset-typed-binary-instance
+ - ixset-typed-cassava
+ - ixset-typed-conversions
+ - ixset-typed-hashable-instance
  - iyql
  - j2hs
  - jacinda
@@ -1836,16 +2399,18 @@ dont-distribute-packages:
  - java-character
  - java-reflect
  - javaclass
+ - javascript-extras
  - javasf
+ - jespresso
  - jmacro
  - jmacro-rpc
  - jmacro-rpc-happstack
  - jmacro-rpc-snap
  - jmonkey
- - jobs-ui
+ - jobqueue
  - join
  - jordan-openapi
- - jot
+ - jsaddle-hello
  - jsc
  - jsmw
  - json-ast-json-encoder
@@ -1853,7 +2418,10 @@ dont-distribute-packages:
  - json-b
  - json-enumerator
  - json-incremental-decoder
+ - json-pointer-aeson
+ - json-pointer-hasql
  - json-query
+ - json-rpc-client
  - json-togo
  - json-tokens
  - json2-hdbc
@@ -1874,13 +2442,17 @@ dont-distribute-packages:
  - kansas-lava-papilio
  - kansas-lava-shake
  - karakuri
+ - karps
  - katip-elasticsearch
+ - katip-raven
  - katip-rollbar
+ - keenser
  - keera-hails-i18n
  - keera-hails-mvc-environment-gtk
  - keera-hails-mvc-model-lightmodel
  - keera-hails-mvc-model-protectedmodel
  - keera-hails-mvc-solutions-gtk
+ - keera-hails-mvc-view-gtk
  - keera-hails-reactive-cbmvar
  - keera-hails-reactive-fs
  - keera-hails-reactive-gtk
@@ -1891,30 +2463,34 @@ dont-distribute-packages:
  - keera-hails-reactive-yampa
  - keera-hails-reactivelenses
  - keera-posture
- - keid-core
  - keid-geometry
  - keid-render-basic
  - keid-resource-gltf
  - keid-sound-openal
  - keid-ui-dearimgui
  - kevin
+ - keyring
  - keysafe
+ - keystore
  - keyvaluehash
  - keyword-args
  - kicad-data
  - kif-parser
  - kit
- - kleene
  - kmeans-par
  - kmeans-vector
  - knead
  - knead-arithmetic
  - knit-haskell
- - knots
+ - koji-install
  - koji-tool
  - korfu
+ - krapsh
  - ks-test
+ - kubernetes-client
+ - kure-your-boilerplate
  - kurita
+ - kvitable
  - laborantin-hs
  - labsat
  - labyrinth
@@ -1926,7 +2502,6 @@ dont-distribute-packages:
  - lambdaFeed
  - lambdaLit
  - lambdabot-zulip
- - lambdacat
  - lambdacms-media
  - lambdacube
  - lambdacube-bullet
@@ -1935,20 +2510,23 @@ dont-distribute-packages:
  - lambdacube-examples
  - lambdacube-gl
  - lambdacube-samples
+ - lambdatwit
  - lambdaya-bus
  - lambdiff
  - lang
  - language-Modula2
  - language-boogie
+ - language-ecmascript-analysis
  - language-eiffel
  - language-kort
  - language-ninja
  - language-oberon
+ - language-puppet
  - language-python-colour
  - language-qux
  - language-spelling
- - lapack_0_5
  - lat
+ - latest-npm-version
  - latex-formulae-hakyll
  - latex-formulae-pandoc
  - latex-svg-hakyll
@@ -1968,8 +2546,12 @@ dont-distribute-packages:
  - legion-extra
  - leksah
  - leksah-server
+ - lens-accelerate
+ - lens-toml-parser
  - lens-utils
- - levmar
+ - lenz
+ - lenz-mtl
+ - lenz-template
  - levmar-chart
  - lex-applicative
  - lgtk
@@ -1984,35 +2566,39 @@ dont-distribute-packages:
  - libmolude
  - libraft
  - librato
- - libssh2-conduit
  - libxml-enumerator
- - lifetimes
  - lifted-base-tf
  - lightning-haskell
  - lightstep-haskell
  - lighttpd-conf
  - lighttpd-conf-qq
+ - linear-accelerate
+ - linear-code
  - linearmap-category
  - linearscan-hoopl
  - linkchk
  - linkcore
  - linux-ptrace
  - lio-eci11
+ - lio-simple
  - lion
  - liquid-base
  - liquid-bytestring
  - liquid-containers
- - liquid-fixpoint_8_10_7
+ - liquid-fixpoint
  - liquid-ghc-prim
  - liquid-parallel
  - liquid-platform
  - liquid-prelude
  - liquid-vector
+ - liquidhaskell
  - liquidhaskell-cabal-demo
  - list-t-attoparsec
  - list-t-html-parser
+ - list-tuple
  - list-witnesses
  - listenbrainz-client
+ - liszt
  - live-sequencer
  - llvm
  - llvm-analysis
@@ -2024,6 +2610,7 @@ dont-distribute-packages:
  - llvm-extra
  - llvm-general
  - llvm-general-quote
+ - llvm-hs-pretty
  - llvm-pretty-bc-parser
  - llvm-tf
  - llvm-tools
@@ -2031,6 +2618,7 @@ dont-distribute-packages:
  - lnd-client
  - lnurl
  - lnurl-authenticator
+ - load-balancing
  - local-search
  - localize
  - locked-poll
@@ -2038,24 +2626,30 @@ dont-distribute-packages:
  - log-elasticsearch
  - log-postgres
  - log-utils
+ - log4hs
  - logging-effect-extra
+ - logging-facade-journald
  - logic-classes
  - lojban
  - lojysamban
  - lol-apps
  - lol-benches
+ - lol-calculus
  - lol-cpp
  - lol-repa
  - lol-tests
  - lol-typing
  - loli
- - longshot
  - loop-effin
  - lorentz
  - lostcities
  - loup
+ - lp-diagrams-svg
+ - lrucaching-haxl
  - ls-usb
  - lsystem
+ - ltext
+ - lti13
  - luachunk
  - lucid-colonnade
  - lucienne
@@ -2068,6 +2662,9 @@ dont-distribute-packages:
  - mDNSResponder-client
  - macbeth-lib
  - machines-amazonka
+ - machines-directory
+ - machines-process
+ - mackerel-client
  - macosx-make-standalone
  - magic-wormhole
  - magicbane
@@ -2077,6 +2674,7 @@ dont-distribute-packages:
  - mailgun
  - majordomo
  - majority
+ - make-package
  - manatee
  - manatee-all
  - manatee-anything
@@ -2094,15 +2692,18 @@ dont-distribute-packages:
  - manatee-template
  - manatee-terminal
  - manatee-welcome
+ - mangrove
  - manifold-random
  - manifolds
  - marionetta
  - markdown-pap
  - markdown2svg
  - markov-processes
+ - markup
  - marmalade-upload
  - marquise
  - marvin
+ - marxup
  - masakazu-bot
  - matchers
  - math-programming-glpk
@@ -2114,12 +2715,13 @@ dont-distribute-packages:
  - maxent-learner-hw-gui
  - maxsharing
  - mcmc-samplers
- - mealy
  - mediabus-fdk-aac
  - mediabus-rtp
  - mellon-gpio
  - mellon-web
  - memcache-conduit
+ - memis
+ - memory-hexstring
  - mergeful-persistent
  - mergeless-persistent
  - merkle-patricia-db
@@ -2129,15 +2731,22 @@ dont-distribute-packages:
  - metar-http
  - metronome
  - micro-gateway
+ - microformats2-parser
  - microformats2-types
+ - micrologger
  - midimory
  - mighttpd
+ - migrant-hdbc
+ - migrant-postgresql-simple
+ - migrant-sqlite-simple
  - minecraft-data
- - minesweeper
  - mini-egison
  - minilight-lua
  - minimung
  - minioperational
+ - minirotate
+ - mirror-tweet
+ - miso-action-logger
  - miss
  - miss-porcelain
  - missing-py2
@@ -2145,7 +2754,14 @@ dont-distribute-packages:
  - mkbndl
  - mlist
  - mmark-cli
- - mmark-ext
+ - mmsyn4
+ - mmsyn6ukr
+ - mmsyn6ukr-array
+ - mmsyn7h
+ - mmsyn7l
+ - mmsyn7s
+ - mmsyn7ukr
+ - mmsyn7ukr-common
  - mmtl-base
  - moan
  - modify-fasta
@@ -2155,8 +2771,10 @@ dont-distribute-packages:
  - modulo
  - mole
  - monad-exception
+ - monad-metrics-extensible
  - monad-state
  - monad-stlike-stm
+ - monad-unlift-ref
  - monadiccp-gecode
  - monarch
  - monetdb-mapi
@@ -2164,16 +2782,20 @@ dont-distribute-packages:
  - monky
  - monte-carlo
  - moo
- - moo-nad
+ - moonshine
  - morley
  - morley-client
  - morley-upgradeable
- - morloc
- - morpheus-graphql-client_0_18_0
- - morpheus-graphql_0_18_0
+ - morpheus-graphql
+ - morpheus-graphql-app
+ - morpheus-graphql-cli
+ - morpheus-graphql-client
+ - morpheus-graphql-code-gen
+ - morpheus-graphql-subscriptions
  - morphisms-functors-inventory
- - mosaico-lib
+ - mortred
  - motor-diagrams
+ - motor-reflection
  - mp
  - mp3decoder
  - mpdmate
@@ -2181,14 +2803,27 @@ dont-distribute-packages:
  - mpretty
  - mprover
  - mps
+ - mptcp
+ - mptcp-pm
  - mptcpanalyzer
  - msgpack-aeson
  - msgpack-idl
  - msgpack-rpc
  - msgpack-rpc-conduit
  - mtgoxapi
+ - mu-avro
+ - mu-graphql
  - mu-grpc-client
+ - mu-grpc-common
  - mu-grpc-server
+ - mu-kafka
+ - mu-lens
+ - mu-optics
+ - mu-persistent
+ - mu-prometheus
+ - mu-protobuf
+ - mu-rpc
+ - mu-servant-server
  - mu-tracing
  - multi-cabal
  - multibase
@@ -2200,7 +2835,9 @@ dont-distribute-packages:
  - multirec-binary
  - multisetrewrite
  - murder
+ - murmur
  - murmurhash3
+ - mushu
  - music-graphics
  - music-parts
  - music-pitch
@@ -2214,40 +2851,44 @@ dont-distribute-packages:
  - mute-unmute
  - mvc-updates
  - mvclient
+ - mwc-random-accelerate
  - mxnet-dataiter
  - mxnet-examples
  - mxnet-nn
  - myTestlll
  - mysnapsession-example
+ - mysql-haskell
+ - mysql-haskell-nem
  - mysql-haskell-openssl
  - mysql-simple-typed
- - mywatch
  - n2o-web
  - nakadi-client
+ - named-servant-client
+ - named-servant-server
  - nats-queue
  - natural-number
+ - neko-obfs
  - nemesis-titan
  - nerf
  - nero-wai
  - nero-warp
  - nested-routes
+ - net-mqtt-lens
+ - net-mqtt-rpc
  - net-spider-cli
  - net-spider-pangraph
  - net-spider-rpl
  - net-spider-rpl-cli
- - netcore
  - netlines
  - netstring-enumerator
  - nettle-frp
  - nettle-netkit
- - nettle-openflow
  - network-anonymous-i2p
  - network-anonymous-tor
  - network-connection
  - network-enumerator
  - network-hans
  - network-interfacerequest
- - network-messagepack-rpc-websocket
  - network-minihttp
  - network-netpacket
  - network-pgi
@@ -2255,29 +2896,44 @@ dont-distribute-packages:
  - network-rpca
  - network-stream
  - network-topic-models
+ - network-uri-json
  - network-websocket
+ - neural
  - newsletter-mailgun
  - newsynth
  - ngrams-loader
  - ngx-export-tools-extra
+ - nicovideo-translator
  - nikepub
  - nirum
+ - nix-thunk
+ - nkjp
  - nlp-scores-scripts
  - nomyx-api
  - nomyx-core
  - nomyx-language
  - nomyx-library
  - nomyx-server
+ - nonlinear-optimization-backprop
  - notmuch-haskell
  - notmuch-web
- - numeric-ode
+ - now-haskell
+ - nri-env-parser
+ - nri-http
+ - nri-kafka
+ - nri-observability
+ - nri-postgresql
+ - nri-redis
+ - nri-test-encoding
  - numerical
  - numhask-hedgehog
- - numhask-histogram
  - numhask-range
  - numhask-test
+ - nvim-hs-ghcid
  - nyan
- - nymphaea
+ - nyan-interpolation
+ - nyan-interpolation-simple
+ - oanda-rest-api
  - oath
  - obd
  - obdd
@@ -2292,46 +2948,60 @@ dont-distribute-packages:
  - odd-jobs
  - off-simple
  - ohloh-hs
+ - oidc-client
  - ois-input-manager
  - olwrapper
- - one-liner_2_0
  - online
  - online-csv
  - opc-xml-da-client
  - open-adt-tutorial
- - open-union
+ - openai-hs
+ - openapi3-code-generator
+ - opencv-extra
  - openpgp-Crypto
  - openpgp-crypto-api
  - openssh-github-keys
  - optima-for-hasql
  - optimal-blocks
  - optimusprime
+ - optparse-enum
  - orchid
  - orchid-demo
  - order-maintenance
  - org-mode-lucid
+ - orgmode-parse
+ - orgstat
  - osm-download
  - otp-authenticator
+ - overload
+ - package-o-tron
  - padKONTROL
  - pairing
+ - pan-os-syslog
  - panda
+ - pandoc-highlighting-extensions
  - pandoc-japanese-filters
- - pandoc_2_17_1_1
+ - pandora-io
  - papa
  - papa-base
  - papa-base-implement
  - papa-export
  - papa-implement
+ - papa-lens
  - papa-semigroupoids
  - paprika
+ - parameterized
  - parco-attoparsec
  - parco-parsec
  - parconc-examples
  - parquet-hs
  - parse-help
  - parsestar
+ - parsley
  - parsley-garnish
+ - partage
  - partial-lens
+ - partial-semigroup-test
  - passman-cli
  - patch-image
  - patterns
@@ -2346,7 +3016,6 @@ dont-distribute-packages:
  - penny
  - penny-bin
  - penny-lib
- - penrose
  - peparser
  - perdure
  - perf-analysis
@@ -2355,45 +3024,72 @@ dont-distribute-packages:
  - periodic-client-exe
  - periodic-server
  - perm
+ - permutations
+ - persistable-record
+ - persistable-types-HDBC-pg
  - persistent-audit
  - persistent-hssqlppp
+ - persistent-iproute
  - persistent-map
+ - persistent-mysql-haskell
+ - persistent-relational-record
  - persona-idp
  - peyotls
  - peyotls-codec
  - pg-entity
  - 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-examples-common
  - 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-lists
+ - phonetic-languages-simplified-properties-lists-double
+ - phonetic-languages-ukrainian
  - phooey
+ - pia-forward
  - pianola
  - pier
  - ping
  - pinpon
  - pipe-enumerator
  - pipes-attoparsec-streaming
- - pipes-brotli
  - pipes-cacophony
  - pipes-cereal-plus
  - pipes-conduit
  - pipes-courier
  - pipes-extra
  - pipes-files
+ - pipes-fluid
  - pipes-illumina
  - pipes-key-value-csv
+ - pipes-misc
+ - pipes-network-tls
  - pipes-p2p
  - pipes-p2p-examples
+ - pipes-protolude
+ - pipes-transduce
  - pisigma
  - pitchtrack
  - pkgtreediff
- - pkgtreediff_0_5_0
  - planet-mitchell
+ - playlists-http
  - plocketed
- - ploterific
+ - plugins-auto
  - png-file
  - pngload
  - pocket-dns
@@ -2402,10 +3098,9 @@ dont-distribute-packages:
  - pointless-rewrite
  - poke
  - polh-lexicon
+ - poly-rec
  - polydata
  - polysemy-RandomFu
- - polysemy-log-co
- - polysemy-methodology-co-log
  - polysemy-optics
  - polyseq
  - polytypeable-utils
@@ -2418,13 +3113,13 @@ dont-distribute-packages:
  - ports
  - poseidon
  - poseidon-postgis
- - postgresql-query
+ - postgresql-pure
  - postgresql-simple-queue
  - postgresql-simple-typed
  - postgresql-tx-query
  - postgresql-tx-squeal
  - postgresql-tx-squeal-compat-simple
- - postgrest_8_0_0
+ - postgrest
  - postmark
  - potoki
  - potoki-cereal
@@ -2437,32 +3132,46 @@ dont-distribute-packages:
  - pred-set
  - pred-trie
  - prednote-test
+ - prefork
  - presto-hdbc
  - preview
+ - primal-memory
  - primula-board
  - primula-bot
+ - priority-sync
  - proc
  - process-iterio
  - process-progress
  - process-qq
+ - process-sequential
  - process-streaming
  - procrastinating-structure
  - producer
+ - product-isomorphic
  - prof2dot
+ - profiterole
+ - profiteur
  - progressbar
  - project-m36
+ - prolog-graph
+ - prolog-graph-lib
  - prologue
  - prolude
  - prometheus-effect
  - propane
- - proplang
  - prosidyc
  - proteome
  - proto-lens-descriptors
  - proto3-suite
+ - proto3-wire
  - protobuf-native
  - protocol-buffers-descriptor-fork
+ - proton
+ - psc-ide
  - psql
+ - ptera
+ - ptera-core
+ - ptera-th
  - puffytools
  - pugs-compat
  - pugs-hsregex
@@ -2470,31 +3179,40 @@ dont-distribute-packages:
  - puppetresources
  - pure-cdb
  - pure-priority-queue-tests
- - purescript-bridge
+ - purenix
+ - purescript
  - purescript-iso
+ - purescript-tsd-gen
+ - pursuit-client
  - push-notify
  - push-notify-apn
  - push-notify-ccs
  - push-notify-general
+ - pushme
  - puzzle-draw-cmdline
  - pvd
  - qd-vec
  - qhs
+ - qr-imager
  - qr-repa
+ - qtah-examples
+ - qtah-qt5
  - quantum-random
  - queryparser
  - queryparser-demo
  - queryparser-hive
  - queryparser-presto
  - queryparser-vertica
+ - queue-sheet
  - queuelike
- - quickbench
+ - quickbooks
  - quickcheck-combinators
  - quickcheck-poly
  - quickcheck-regex
  - quickcheck-relaxng
  - quickcheck-state-machine
  - quickcheck-state-machine-distributed
+ - quickcheck-webdriver
  - quicktest
  - quipper
  - quipper-algorithms
@@ -2505,6 +3223,7 @@ dont-distribute-packages:
  - quipper-libraries
  - quipper-rendering
  - quipper-tools
+ - quipper-utils
  - quiver-binary
  - quiver-bytestring
  - quiver-cell
@@ -2516,11 +3235,13 @@ dont-distribute-packages:
  - quiver-interleave
  - quiver-sort
  - qux
+ - r-glpk-phonetic-languages-ukrainian-durations
  - rail-compiler-editor
  - rails-session
  - rainbow-tests
  - raketka
  - rallod
+ - random-access-file
  - random-effin
  - random-hypergeometric
  - range-space
@@ -2536,7 +3257,9 @@ dont-distribute-packages:
  - rasa-ext-style
  - rasa-ext-views
  - rasa-ext-vim
+ - rascal
  - rating-chgk-info
+ - raven-haskell-scotty
  - raw-feldspar
  - rawr
  - razom-text-util
@@ -2545,11 +3268,15 @@ dont-distribute-packages:
  - rdioh
  - react-flux-servant
  - reactive
+ - reactive-balsa
  - reactive-banana-sdl
  - reactive-banana-wx
  - reactive-fieldtrip
  - reactive-glut
+ - reactive-jack
+ - reactive-midyim
  - reactor
+ - readline-in-other-words
  - readpyc
  - reanimate
  - record-aeson
@@ -2559,15 +3286,22 @@ dont-distribute-packages:
  - records-th
  - redHandlers
  - reddit
+ - rediscaching-haxl
  - reduce-equations
  - refh
  - reflex-animation
  - reflex-backend-socket
  - reflex-backend-wai
  - reflex-dom-colonnade
+ - reflex-dynamic-containers
  - reflex-ghci
  - reflex-gloss-scene
+ - reflex-localize
+ - reflex-localize-dom
+ - reflex-monad-auth
  - reflex-process
+ - reform-hsp
+ - refractor
  - refurb
  - reg-alloc-graph-color
  - regex-deriv
@@ -2575,34 +3309,44 @@ dont-distribute-packages:
  - regex-pcre-text
  - regex-pderiv
  - regex-xmlschema
+ - regexchar
  - regexp-tries
  - regional-pointers
  - regions-monadsfd
  - regions-monadstf
  - regions-mtl
  - registry-hedgehog
+ - registry-hedgehog-aeson
  - regular-extras
  - regular-web
  - regular-xmlpickler
  - reheat
+ - relational-postgresql8
+ - relational-query
+ - relational-query-HDBC
+ - relational-query-postgresql-pure
+ - relational-record
+ - relational-record-examples
+ - relational-schemas
  - relative-date
+ - reload
  - remote-json
  - remote-json-client
  - remote-json-server
  - remotion
  - repa-array
  - repa-convert
- - repa-examples
  - repa-flow
  - repa-plugin
  - repa-stream
  - repa-v4l2
  - replicant
+ - repo-based-blog
  - repr
  - representable-tries
+ - resin
  - resource-pool-catchio
  - resource-simple
- - respond
  - rest-client
  - rest-core
  - rest-example
@@ -2620,6 +3364,7 @@ dont-distribute-packages:
  - rewrite
  - rewriting
  - rezoom
+ - rfc
  - rfc-env
  - rfc-http-client
  - rfc-psql
@@ -2627,6 +3372,7 @@ dont-distribute-packages:
  - rfc-servant
  - rhythm-game-tutorial
  - rib
+ - ribosome
  - ribosome-root
  - ribosome-test
  - ridley-extras
@@ -2649,11 +3395,14 @@ dont-distribute-packages:
  - rollbar-cli
  - rollbar-wai
  - rollbar-yesod
+ - ron-rdt
  - ron-schema
  - ron-storage
+ - rosa
  - rose-trie
  - roshask
  - rosmsg-bin
+ - rounded
  - roundtrip-xml
  - route-generator
  - route-planning
@@ -2666,7 +3415,13 @@ dont-distribute-packages:
  - ruler
  - ruler-core
  - runtime-arbitrary
+ - rv
  - s-expression
+ - safe-coloured-text-gen
+ - safe-coloured-text-layout
+ - safe-coloured-text-layout-gen
+ - safe-coupling
+ - safe-plugins
  - safer-file-handles
  - safer-file-handles-bytestring
  - safer-file-handles-text
@@ -2682,6 +3437,7 @@ dont-distribute-packages:
  - samtools-conduit
  - samtools-enumerator
  - samtools-iteratee
+ - sandwich-webdriver
  - sarsi
  - sasl
  - sat-micro-hs
@@ -2697,8 +3453,10 @@ dont-distribute-packages:
  - scalable-server
  - scalp-webhooks
  - scalpel-search
+ - scan-metadata
  - scan-vector-machine
- - schema
+ - schedevr
+ - scheduling
  - schematic
  - scholdoc
  - scholdoc-citeproc
@@ -2707,19 +3465,23 @@ dont-distribute-packages:
  - scion-browser
  - scope
  - scope-cairo
+ - scotty-fay
  - scotty-hastache
+ - scotty-haxl
+ - scotty-utils
  - scp-streams
  - scrabble-bot
  - scrapbook
  - scroll
- - sde-solver
  - seakale-postgresql
  - seakale-tests
  - secrm
  - sednaDBXML
  - seitz-symbol
+ - selda-postgresql
  - selenium-server
  - self-extract
+ - semantic-source
  - semi-iso
  - semiring
  - semiring-num
@@ -2735,73 +3497,98 @@ dont-distribute-packages:
  - serv-wai
  - servant-auth-token
  - servant-auth-token-acid
+ - servant-auth-token-api
  - servant-auth-token-leveldb
  - servant-auth-token-persistent
  - servant-auth-token-rocksdb
- - servant-auth-wordpress
+ - servant-cli
  - servant-client-namedargs
  - servant-csharp
  - servant-db-postgresql
  - servant-ede
+ - 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-polysemy
  - servant-postgresql
+ - servant-pushbullet-client
+ - servant-rate-limit
+ - servant-reason
  - servant-server-namedargs
  - servant-snap
  - servant-streaming-client
  - servant-streaming-docs
  - servant-streaming-server
- - servant-subscriber
  - servant-swagger-tags
+ - servant-to-elm
+ - servant-typescript
+ - servant-util
+ - servant-util-beam-pg
  - servant-waargonaut
  - servant-zeppelin-client
  - servant-zeppelin-server
  - servant-zeppelin-swagger
+ - serverless-haskell
  - sessiontypes-distributed
  - sgf
  - sgrep
  - sha1
  - shady-graphics
  - shake-ats
+ - shake-bindist
  - shake-minify-css
+ - shake-plus-extended
+ - shakebook
  - shaker
  - shapefile
  - shapely-data
+ - shapes-demo
  - shelduck
  - shellmate-extras
  - shine-varying
  - short-vec-lens
- - showdown
  - shpider
  - shuffle
  - si-clock
  - sibe
  - sigma-ij
- - signable
  - signals
  - signature
  - signify-hs
  - silvi
  - simgi
+ - simple
  - simple-c-value
  - simple-firewire
+ - simple-log-syslog
+ - simple-logging
  - simple-nix
  - simple-pascal
+ - simple-postgresql-orm
+ - simple-session
  - simpleirc-lens
  - simseq
- - singleton-nats_0_4_6
- - singletons-base
+ - singular-factory
  - siphon
  - siren-json
  - sirkel
+ - sitemap
  - skeleton
  - skeletons
+ - sketch-frp-copilot
  - skylark-client
+ - slate
  - slidemews
  - slip32
+ - smallcheck-laws
+ - smallcheck-lens
  - smallstring
  - smartword
  - smcdel
@@ -2819,11 +3606,12 @@ dont-distribute-packages:
  - snaplet-actionlog
  - snaplet-auth-acid
  - snaplet-coffee
+ - snaplet-customauth
+ - snaplet-fay
  - snaplet-hasql
  - snaplet-haxl
  - snaplet-hdbc
  - snaplet-lss
- - snaplet-mandrill
  - snaplet-mongoDB
  - snaplet-mysql-simple
  - snaplet-oauth
@@ -2836,9 +3624,11 @@ dont-distribute-packages:
  - snaplet-sqlite-simple-jwt-auth
  - snaplet-stripe
  - snaplet-tasks
+ - snaplet-typed-sessions
  - snaplet-wordpress
  - snappy-iteratee
  - sndfile-enumerators
+ - sneakyterm
  - sneathlane-haste
  - snm
  - snmp
@@ -2846,7 +3636,9 @@ dont-distribute-packages:
  - snowflake-core
  - snowflake-server
  - sock2stream
+ - socket-io
  - sockets
+ - solga
  - solga-swagger
  - solr
  - souffle-dsl
@@ -2869,37 +3661,35 @@ dont-distribute-packages:
  - sphinx-cli
  - spice
  - spike
- - spline3
  - splines
  - sprinkles
- - sproxy
- - sproxy-web
- - sproxy2
  - sql-simple-mysql
  - sql-simple-pool
  - sql-simple-postgresql
  - sql-simple-sqlite
  - sqlite-simple-typed
+ - sqsd-local
+ - squeal-postgresql
  - squeal-postgresql-ltree
  - squeal-postgresql-uuid-ossp
- - squeeze
  - sr-extra
  - sscgi
  - sshd-lint
  - sssp
  - sstable
  - stable-tree
- - stack-hpc-coveralls
  - stack-network
  - stack-run-auto
  - stackage
  - stackage-build-plan
  - stackage-cabal
+ - stackage-curator
  - stackage-query
  - stackage-sandbox
  - stackage-setup
  - stackage-upload
  - stackage2nix
+ - stan
  - starrover2
  - stateful-mtl
  - static-closure
@@ -2907,33 +3697,38 @@ dont-distribute-packages:
  - statsdi
  - stmcontrol
  - storablevector-streamfusion
+ - stratum-tool
  - stratux
  - stratux-demo
  - stratux-http
  - stratux-websockets
- - streaming-base64
- - streaming-brotli
- - streaming-concurrency
  - streaming-fft
  - streaming-process
- - streaming-sort
+ - streaming-utils
  - strelka
  - strict-data
  - string-typelits
  - stripe-haskell
+ - stripe-hs
  - stripe-http-client
- - stripe-scotty
+ - stripe-http-streams
+ - stripe-tests
+ - strongswan-sql
  - structural-induction
  - structured-mongoDB
  - stunts
  - stutter
  - stylist
+ - subG-instances
  - subhask
  - substring-parser
+ - sugar-json
+ - sugar-scheme
  - summoner-tui
  - sump
  - sunroof-examples
  - sunroof-server
+ - super-user-spark
  - supercollider-ht
  - supercollider-midi
  - superconstraints
@@ -2945,10 +3740,28 @@ 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-yesod
  - sylvia
  - sym-plot
  - symantic-atom
+ - symantic-http-demo
+ - symantic-http-test
  - symantic-lib
  - symbiote
  - symmetry-operations-symbols
@@ -2961,6 +3774,7 @@ dont-distribute-packages:
  - syntax-printer
  - syntaxnet-haskell
  - synthesizer-llvm
+ - sys-process
  - systemstats
  - t3-client
  - ta
@@ -2968,11 +3782,12 @@ dont-distribute-packages:
  - tagged-list
  - tagged-th
  - tagsoup-navigate
- - tagstew
+ - tak-ai
  - tal
  - tamarin-prover
  - tamarin-prover-term
  - tamarin-prover-theory
+ - tar-bytestring
  - target
  - task
  - task-distribution
@@ -2982,6 +3797,7 @@ dont-distribute-packages:
  - tasty-jenkins-xml
  - tasty-laws
  - tasty-lens
+ - tasty-sugar
  - tateti-tateti
  - tbox
  - tccli
@@ -2990,21 +3806,21 @@ dont-distribute-packages:
  - tdlib-gen
  - tdlib-types
  - techlab
+ - telega
  - telegram-bot
  - telegram-raw-api
- - telegram-types
  - tensorflow-core-ops
  - tensorflow-logging
  - tensorflow-ops
  - terminal-text
  - terrahs
- - test-framework-sandbox
  - test-sandbox-compose
- - test-sandbox-hunit
- - test-sandbox-quickcheck
  - test-simple
  - testbench
+ - text-all
+ - text-generic-pretty
  - text-json-qq
+ - text-locale-encoding
  - text-plus
  - text-xml-generic
  - textmatetags
@@ -3026,16 +3842,31 @@ dont-distribute-packages:
  - time-io-access
  - time-warp
  - timeprint
+ - timeseries
  - timezone-unix
  - tinyMesh
  - tip-haskell-frontend
  - tip-lib
  - titan
+ - tlex
+ - tlex-core
+ - tlex-debug
+ - tlex-encoding
+ - tlex-th
  - tls-extra
  - tn
  - to-string-instances
  - toboggan
+ - todos
+ - token-limiter-concurrent
  - toktok
+ - tomlcheck
+ - tonatona
+ - tonatona-google-server-api
+ - tonatona-logger
+ - tonatona-persistent-postgresql
+ - tonatona-persistent-sqlite
+ - tonatona-servant
  - too-many-cells
  - top
  - topaz
@@ -3047,11 +3878,15 @@ dont-distribute-packages:
  - tpar
  - tpb
  - trajectory
+ - trans-fx-data
+ - trans-fx-io
  - transf
  - transfer-db
  - transformations
  - transformers-convert
+ - transient-universe
  - transient-universe-tls
+ - translate-cli
  - trasa
  - trasa-client
  - trasa-extra
@@ -3059,35 +3894,37 @@ dont-distribute-packages:
  - trasa-reflex
  - trasa-server
  - trasa-th
- - traverse-code
  - treemap-html-tools
  - treersec
  - trek-app
  - trek-db
  - triangulation
  - tries
- - trimdent
  - trimpolya
+ - tropical-geometry
  - truelevel
  - trurl
  - tsession-happstack
  - tsweb
+ - ttn-client
  - tuntap-simple
  - tup-functor
- - tuple-hlist
- - tuple-morph
  - tuple-ops
- - turingMachine
+ - tweet-hs
  - twentefp-eventloop-graphics
  - twentefp-eventloop-trees
  - twentefp-graphs
  - twentefp-rosetree
  - twentefp-trees
  - twentyseven
+ - twhs
  - twidge
  - twilight-stm
  - twill
+ - twirp
+ - twitter-conduit
  - twitter-enumerator
+ - twitter-types-lens
  - type-assertions
  - type-cache
  - type-cereal
@@ -3099,12 +3936,13 @@ dont-distribute-packages:
  - type-sets
  - type-structure
  - type-sub-th
+ - typed-admin
  - typed-encoding-encoding
- - typed-spreadsheet
  - typed-streams
- - typelet
+ - typed-uuid
  - typelevel
  - typelevel-rewrite-rules
+ - typesafe-precure
  - typescript-docs
  - typson-beam
  - typson-esqueleto
@@ -3112,10 +3950,11 @@ dont-distribute-packages:
  - u2f
  - uber
  - ucam-webauth
+ - udbus-model
  - uhc-light
  - uhc-util
+ - ukrainian-phonetics-basic
  - unagi-bloomfilter
- - unbeliever
  - unbound
  - unfoldable-restricted
  - uni-events
@@ -3126,11 +3965,15 @@ dont-distribute-packages:
  - uni-uDrawGraph
  - unicode-normalization
  - uniform-io
- - uniformBase
+ - uniqueness-periods
  - uniqueness-periods-vector-examples
+ - uniqueness-periods-vector-filters
+ - uniqueness-periods-vector-general
+ - uniqueness-periods-vector-properties
+ - universe
+ - universe-dependent-sum
  - universe-th
  - unix-fcntl
- - unix-simple
  - unpacked-these
  - unpacked-validation
  - unparse-attoparsec
@@ -3138,22 +3981,26 @@ dont-distribute-packages:
  - up
  - urbit-airlock
  - urbit-api
- - urbit-hob
  - ureader
  - urembed
  - uri-enumerator
  - uri-enumerator-file
+ - urlpath
  - usb
  - usb-enumerator
  - usb-hid
  - usb-id-database
  - usb-iteratee
  - usb-safe
+ - userid
+ - users-mysql-haskell
  - util-exception
  - util-primitive-control
+ - util-universe
  - uu-cco-examples
  - uu-cco-hut-parsing
  - uu-cco-uu-parsinglib
+ - uu-options
  - uuid-crypto
  - uvector-algorithms
  - v4l2
@@ -3164,23 +4011,23 @@ dont-distribute-packages:
  - vacuum-opengl
  - vacuum-ubigraph
  - variable-precision
+ - vault-tool-server
+ - vault-trans
  - vcache-trie
  - vcard
  - vcsgui
  - vect-floating-accelerate
- - vector-endian
  - vector-instances-collections
  - vector-text
  - venzone
  - verdict-json
- - versioning-servant
  - vessel
  - vflow-types
- - vformat-aeson
- - vformat-time
  - vfr-waypoints
+ - viewprof
  - vigilance
  - vimeta
+ - vinyl-generics
  - vinyl-operational
  - vision
  - visual-graphrewrite
@@ -3192,6 +4039,7 @@ dont-distribute-packages:
  - vty-ui-extras
  - waargonaut
  - wahsp
+ - wai-control
  - wai-devel
  - wai-dispatch
  - wai-handler-snap
@@ -3201,27 +4049,36 @@ dont-distribute-packages:
  - wai-middleware-cache
  - wai-middleware-cache-redis
  - wai-middleware-consul
+ - wai-middleware-content-type
  - wai-middleware-rollbar
  - wai-middleware-route
+ - wai-middleware-throttle
+ - wai-routes
+ - wai-routing
  - wai-session-tokyocabinet
  - wai-thrift
  - waldo
  - warped
  - wavesurfer
  - wavy
- - web-inv-route
  - web-mongrel2
  - web-page
- - web-rep
  - web-routes-regular
  - web-routing
  - web3
+ - web3-bignum
+ - web3-crypto
  - web3-ethereum
+ - web3-polkadot
+ - web3-provider
+ - web3-solidity
  - webcrank-wai
+ - webdriver-angular
  - webdriver-w3c
  - webserver
  - weighted
  - werewolf-slack
+ - wgpu-hs
  - what4
  - wheb-mongo
  - wheb-redis
@@ -3229,20 +4086,23 @@ dont-distribute-packages:
  - whitespace
  - wikipedia4epub
  - winio
+ - wireguard-hs
  - wl-pprint-ansiterm
  - wl-pprint-terminfo
  - wlc-hs
  - wobsurv
  - wolf
+ - word
  - workflow-extra
  - workflow-pure
  - workflow-types
  - wraxml
  - wrecker
  - wrecker-ui
+ - wreq-helper
  - wright
  - writer-cps-full
- - wss-client
+ - ws
  - wtk-gtk
  - wu-wei
  - wumpus-basic
@@ -3262,13 +4122,14 @@ dont-distribute-packages:
  - xhb-atom-cache
  - xhb-ewmh
  - xml-catalog
+ - xml-conduit-stylist
  - xml-enumerator
  - xml-enumerator-combinators
+ - xml-isogen
  - xml-monad
  - xml-pipe
  - xml-push
  - xml-query-xml-conduit
- - xml-query-xml-types
  - xml-tydom-conduit
  - xml2x
  - xmltv
@@ -3287,23 +4148,30 @@ dont-distribute-packages:
  - yam-job
  - yam-logger
  - yam-redis
+ - yam-servant
  - yam-transaction
  - yam-transaction-odbc
  - yam-transaction-postgresql
  - yam-web
  - yaml-rpc-scotty
  - yaml-rpc-snap
- - yaml-streamly
- - yaml-unscrambler
  - yarr-image-io
  - yavie
  - ycextra
  - yeamer
  - yeshql
+ - yesod-articles
+ - yesod-auth-fb
  - yesod-auth-ldap
+ - yesod-auth-lti13
  - yesod-colonnade
+ - yesod-comments
  - yesod-continuations
+ - yesod-crud-persist
  - yesod-examples
+ - yesod-fay
+ - yesod-fb
+ - yesod-ip
  - yesod-mangopay
  - yesod-paypal-rest
  - yesod-platform
@@ -3313,6 +4181,24 @@ dont-distribute-packages:
  - yesod-raml-mock
  - yesod-routes-typescript
  - yesod-session-redis
+ - yesod-worker
+ - yi
+ - yi-contrib
+ - yi-dynamic-configuration
+ - yi-frontend-pango
+ - yi-frontend-vty
+ - yi-fuzzy-open
+ - yi-ireader
+ - yi-keymap-cua
+ - yi-keymap-emacs
+ - yi-keymap-vim
+ - yi-misc-modes
+ - yi-mode-haskell
+ - yi-mode-javascript
+ - yi-monokai
+ - yi-snippet
+ - yi-solarized
+ - yi-spolsky
  - yjftp
  - yjftp-libs
  - yoko
@@ -3320,8 +4206,10 @@ dont-distribute-packages:
  - yql
  - yu-launch
  - yuuko
+ - z85
  - zasni-gerna
- - zerobin
+ - zephyr
+ - zephyr-copilot
  - zeromq3-conduit
  - zeromq3-haskell
  - zeroth
@@ -3341,3 +4229,4 @@ 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 b93dcb1834421..7100aeeb7fdea 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -213,18 +213,11 @@ self: super: builtins.intersectAttrs super {
   }) super.tz;
 
   # Nix-specific workaround
-  xmonad = appendPatch ./patches/xmonad-nix.patch (dontCheck super.xmonad);
-  xmonad_0_17_0 = doDistribute (appendPatch ./patches/xmonad_0_17_0-nix.patch (super.xmonad_0_17_0));
+  xmonad = appendPatch ./patches/xmonad_0_17_0-nix.patch (dontCheck super.xmonad);
 
-  # Need matching xmonad version
-  xmonad-contrib_0_17_0 = doDistribute (super.xmonad-contrib_0_17_0.override {
-    xmonad = self.xmonad_0_17_0;
-  });
-
-  xmonad-extras_0_17_0 = doDistribute (super.xmonad-extras_0_17_0.override {
-    xmonad = self.xmonad_0_17_0;
-    xmonad-contrib = self.xmonad-contrib_0_17_0;
-  });
+  # https://hydra.nixos.org/build/128665302/nixlog/3
+  # Disable tests because they require a running dbus session
+  xmonad-dbus = dontCheck super.xmonad-dbus;
 
   # wxc supports wxGTX >= 3.0, but our current default version points to 2.8.
   # http://hydra.cryp.to/build/1331287/log/raw
@@ -489,19 +482,21 @@ self: super: builtins.intersectAttrs super {
   # The tests expect additional solvers on the path, replace the
   # available ones also with hard coded paths, and remove the missing
   # ones from the test.
+  # TODO(@sternenseemann): package cvc5 and re-enable tests
   sbv = overrideCabal (drv: {
     postPatch = ''
       sed -i -e 's|"abc"|"${pkgs.abc-verifier}/bin/abc"|' Data/SBV/Provers/ABC.hs
+      sed -i -e 's|"bitwuzla"|"${pkgs.bitwuzla}/bin/bitwuzla"|' Data/SBV/Provers/Bitwuzla.hs
       sed -i -e 's|"boolector"|"${pkgs.boolector}/bin/boolector"|' Data/SBV/Provers/Boolector.hs
+      sed -i -e 's|"cvc4"|"${pkgs.cvc4}/bin/cvc4"|' Data/SBV/Provers/CVC4.hs
       sed -i -e 's|"yices-smt2"|"${pkgs.yices}/bin/yices-smt2"|' Data/SBV/Provers/Yices.hs
       sed -i -e 's|"z3"|"${pkgs.z3}/bin/z3"|' Data/SBV/Provers/Z3.hs
-    '' + (if pkgs.stdenv.isAarch64 then ''
-      sed -i -e 's|\[abc, boolector, cvc4, mathSAT, yices, z3, dReal\]|[abc, boolector, yices, z3]|' SBVTestSuite/SBVConnectionTest.hs
-    ''
-    else ''
-      sed -i -e 's|"cvc4"|"${pkgs.cvc4}/bin/cvc4"|' Data/SBV/Provers/CVC4.hs
-      sed -i -e 's|\[abc, boolector, cvc4, mathSAT, yices, z3, dReal\]|[abc, boolector, cvc4, yices, z3]|' SBVTestSuite/SBVConnectionTest.hs
-    '');
+
+      # Solvers we don't provide are removed from tests
+      sed -i -e 's|, cvc5||' SBVTestSuite/SBVConnectionTest.hs
+      sed -i -e 's|, mathSAT||' SBVTestSuite/SBVConnectionTest.hs
+      sed -i -e 's|, dReal||' SBVTestSuite/SBVConnectionTest.hs
+    '';
   }) super.sbv;
 
   # The test-suite requires a running PostgreSQL server.
@@ -568,6 +563,7 @@ self: super: builtins.intersectAttrs super {
   # Tests require internet
   http-download = dontCheck super.http-download;
   pantry = dontCheck super.pantry;
+  pantry_0_5_2_1 = dontCheck super.pantry_0_5_2_1;
 
   # gtk2hs-buildtools is listed in setupHaskellDepends, but we
   # need it during the build itself, too.
@@ -823,6 +819,11 @@ self: super: builtins.intersectAttrs super {
   # time
   random = dontCheck super.random;
 
+  # mockery's tests depend on hspec-discover which dependso on mockery for its tests
+  mockery = dontCheck super.mockery;
+  # same for logging-facade
+  logging-facade = dontCheck super.logging-facade;
+
   # Since this package is primarily used by nixpkgs maintainers and is probably
   # not used to link against by anyone, we can make it’s closure smaller and
   # add its runtime dependencies in `haskellPackages` (as opposed to cabal2nix).
@@ -865,11 +866,11 @@ self: super: builtins.intersectAttrs super {
 
   rel8 = addTestToolDepend pkgs.postgresql super.rel8;
 
-  cachix = generateOptparseApplicativeCompletion "cachix" (super.cachix.override { nix = pkgs.nixVersions.nix_2_4; });
+  cachix = generateOptparseApplicativeCompletion "cachix" (super.cachix.override { nix = pkgs.nixVersions.nix_2_7; });
 
-  hercules-ci-agent = appendConfigureFlag "-fnix-2_4" (super.hercules-ci-agent.override { nix = pkgs.nixVersions.nix_2_4; });
-  hercules-ci-cnix-expr = appendConfigureFlag "-fnix-2_4" (super.hercules-ci-cnix-expr.override { nix = pkgs.nixVersions.nix_2_4; });
-  hercules-ci-cnix-store = appendConfigureFlag "-fnix-2_4" (super.hercules-ci-cnix-store.override { nix = pkgs.nixVersions.nix_2_4; });
+  hercules-ci-agent = super.hercules-ci-agent.override { nix = pkgs.nixVersions.nix_2_7; };
+  hercules-ci-cnix-expr = super.hercules-ci-cnix-expr.override { nix = pkgs.nixVersions.nix_2_7; };
+  hercules-ci-cnix-store = super.hercules-ci-cnix-store.override { nix = pkgs.nixVersions.nix_2_7; };
 
   # Enable extra optimisations which increase build time, but also
   # later compiler performance, so we should do this for user's benefit.
@@ -977,8 +978,6 @@ self: super: builtins.intersectAttrs super {
 {
   inherit (super)
     hls-brittany-plugin
-    hls-call-hierarchy-plugin
-    hls-class-plugin
     hls-eval-plugin
     hls-floskell-plugin
     hls-fourmolu-plugin
@@ -986,14 +985,17 @@ self: super: builtins.intersectAttrs super {
     hls-ormolu-plugin
     hls-pragmas-plugin
     hls-rename-plugin
-    hls-selection-range-plugin
     hls-splice-plugin;
   # Tests have file permissions expections that don‘t work with the nix store.
   hls-stylish-haskell-plugin = dontCheck super.hls-stylish-haskell-plugin;
 
   # Flaky tests
   hls-hlint-plugin = dontCheck super.hls-hlint-plugin;
+  hls-class-plugin = dontCheck super.hls-class-plugin;
   hls-alternate-number-format-plugin = dontCheck super.hls-alternate-number-format-plugin;
   hls-qualify-imported-names-plugin = dontCheck super.hls-qualify-imported-names-plugin;
   hls-haddock-comments-plugin = dontCheck super.hls-haddock-comments-plugin;
+  hls-tactics-plugin = dontCheck super.hls-tactics-plugin;
+  hls-call-hierarchy-plugin = dontCheck super.hls-call-hierarchy-plugin;
+  hls-selection-range-plugin = dontCheck super.hls-selection-range-plugin;
 }
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
index d8137038f63c9..a9692b5a0f012 100644
--- a/pkgs/development/haskell-modules/generic-builder.nix
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -55,7 +55,7 @@ in
 , changelog ? null
 , mainProgram ? null
 , doCoverage ? false
-, doHaddock ? !(ghc.isHaLVM or false)
+, doHaddock ? !(ghc.isHaLVM or false) && (ghc.hasHaddock or true)
 , doHaddockInterfaces ? doHaddock && lib.versionAtLeast ghc.version "9.0.1"
 , passthru ? {}
 , pkg-configDepends ? [], libraryPkgconfigDepends ? [], executablePkgconfigDepends ? [], testPkgconfigDepends ? [], benchmarkPkgconfigDepends ? []
@@ -181,7 +181,8 @@ let
   ] ++ optionals (!isHaLVM) [
     "--hsc2hs-option=--cross-compile"
     (optionalString enableHsc2hsViaAsm "--hsc2hs-option=--via-asm")
-  ];
+  ] ++ optional (allPkgconfigDepends != [])
+    "--with-pkg-config=${pkg-config.targetPrefix}pkg-config";
 
   parallelBuildingFlags = "-j$NIX_BUILD_CORES" + optionalString stdenv.isLinux " +RTS -A64M -RTS";
 
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index a16396d316ef5..abfa19d7ced66 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -18,6 +18,8 @@ self: {
        ];
        description = "Haskell package for easy integration with the 2captcha API";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "3d-graphics-examples" = callPackage
@@ -270,6 +272,8 @@ self: {
        pname = "ACME";
        version = "0.0.0.1";
        sha256 = "103mil8lixg0v2wjizy0pqyy9ywbmrk56mc0n37wwvz0qkjaqnds";
+       revision = "1";
+       editedCabalFile = "0c02gd5adgcfryd8fygbhxw0ps455l3v1d8knn8rbga067j9jqm7";
        libraryHaskellDepends = [
          base list-extras mtl random random-shuffle void
        ];
@@ -778,6 +782,8 @@ self: {
        ];
        description = "Mapping between Aeson's JSON and Bson objects";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "Agata" = callPackage
@@ -957,36 +963,6 @@ self: {
      }:
      mkDerivation {
        pname = "Allure";
-       version = "0.10.3.0";
-       sha256 = "1p2g87rhqwm2hji32cp3swk9p0kl703nhaswv5z69wmzz2yzzqqa";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         async base enummapset file-embed filepath ghc-compact hsini
-         LambdaHack optparse-applicative primitive splitmix template-haskell
-         text th-lift-instances transformers
-       ];
-       executableHaskellDepends = [
-         async base filepath LambdaHack optparse-applicative
-       ];
-       testHaskellDepends = [
-         base LambdaHack optparse-applicative tasty tasty-hunit text
-       ];
-       description = "Near-future Sci-Fi roguelike and tactical squad combat game";
-       license = lib.licenses.agpl3Plus;
-       platforms = [
-         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
-       ];
-     }) {};
-
-  "Allure_0_11_0_0" = callPackage
-    ({ mkDerivation, async, base, enummapset, file-embed, filepath
-     , ghc-compact, hsini, LambdaHack, optparse-applicative, primitive
-     , splitmix, tasty, tasty-hunit, template-haskell, text
-     , th-lift-instances, transformers
-     }:
-     mkDerivation {
-       pname = "Allure";
        version = "0.11.0.0";
        sha256 = "1mmnn86azcpig1j61mwks2z227sw70lc7hsmi342hprabrccq9b1";
        isLibrary = true;
@@ -1081,6 +1057,8 @@ self: {
        ];
        description = "A simple music library with the capability of generating .ly and .mid files.";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ApplePush" = callPackage
@@ -1167,6 +1145,7 @@ self: {
        ];
        description = "Strongly typed Attribute Grammars implemented using type-level programming";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "AttoBencode" = callPackage
@@ -1316,8 +1295,8 @@ self: {
      }:
      mkDerivation {
        pname = "BNFC";
-       version = "2.9.3";
-       sha256 = "1b2cgnr7c8ndk9jmfr0x905d72wgk0cc9ngbrw9f1q6fbm3mbcgp";
+       version = "2.9.4";
+       sha256 = "1gy7ggrf2zikyfi8anlj2zavs5b99z7rzs1lmyflrjd82a31bmzp";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -1344,8 +1323,8 @@ self: {
        pname = "BNFC-meta";
        version = "0.6.1";
        sha256 = "0snackflcjxza4iqbd85fdsmylwr3bj71nsfrs2s2idc3nlxc7ia";
-       revision = "2";
-       editedCabalFile = "1xg96a83jhz5jiw16yrgm3x5k7fz7zmz6cvggnfmjvw7v7bl69ph";
+       revision = "3";
+       editedCabalFile = "0yimv82q98v6s78k1gcgpj072p38i8r1s5skfhjws5m2qb2ywiq6";
        libraryHaskellDepends = [
          alex-meta array base fail happy-meta haskell-src-meta syb
          template-haskell
@@ -1615,6 +1594,7 @@ self: {
        description = "BLAST-related tools";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "BiobaseDotP" = callPackage
@@ -1649,7 +1629,6 @@ self: {
        ];
        description = "European Nucleotide Archive data";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "BiobaseEnsembl" = callPackage
@@ -1714,7 +1693,6 @@ self: {
        ];
        description = "streaming FASTA parser";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "BiobaseHTTP" = callPackage
@@ -1872,6 +1850,7 @@ self: {
        description = "Import Turner RNA parameters";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "BiobaseTypes" = callPackage
@@ -1905,7 +1884,6 @@ self: {
        ];
        description = "Collection of types for bioinformatics";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "BiobaseVienna" = callPackage
@@ -1963,7 +1941,6 @@ self: {
        ];
        description = "Efficient RNA/DNA/Protein Primary/Secondary Structure";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "BirdPP" = callPackage
@@ -2012,6 +1989,8 @@ self: {
        ];
        description = "A module to aid in the (de)serialisation of binary data";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "Bitly" = callPackage
@@ -2283,6 +2262,8 @@ self: {
        ];
        description = "C-Structs implementation for Haskell";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "CBOR" = callPackage
@@ -2485,7 +2466,6 @@ self: {
        description = "cwmwl udp message queue";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "COrdering" = callPackage
@@ -2809,17 +2789,15 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "Cabal_3_6_2_0" = callPackage
+  "Cabal_3_6_3_0" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , deepseq, directory, filepath, mtl, parsec, pretty, process, text
      , time, transformers, unix
      }:
      mkDerivation {
        pname = "Cabal";
-       version = "3.6.2.0";
-       sha256 = "0hmw2wkypd42qyyfi6rhbsxmymbxg9rrw683yg39627vlw33v44y";
-       revision = "1";
-       editedCabalFile = "1s79dmxxzyczldakjcwg7jqxhhfw724fwbjh7s656cynxnalq85f";
+       version = "3.6.3.0";
+       sha256 = "0xxbciinap6938jldj16009s4rqjdd9dbbjvnjzgzs58sj4gx89g";
        setupHaskellDepends = [ mtl parsec ];
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
@@ -2898,7 +2876,6 @@ self: {
        description = "Separate and contain effects of IO monad";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "Cardinality" = callPackage
@@ -3518,8 +3495,8 @@ self: {
      }:
      mkDerivation {
        pname = "ConClusion";
-       version = "0.1.0";
-       sha256 = "1zi113zyf6fp133fplc3263683asxf0j038xsy51simwzw4rmxjc";
+       version = "0.2.0";
+       sha256 = "1nz7xax1llc0v775kx0g6hsrfbmgy1gj0pgalwpblqms1ccpy04s";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -3532,8 +3509,6 @@ self: {
        ];
        description = "Cluster algorithms, PCA, and chemical conformere analysis";
        license = lib.licenses.agpl3Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "Concurrent-Cache" = callPackage
@@ -4011,8 +3986,6 @@ self: {
        ];
        description = "DBFunctor - Functional Data Management => ETL/ELT Data Processing in Haskell";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "DBlimited" = callPackage
@@ -4091,6 +4064,8 @@ self: {
        ];
        description = "Complete API bindings for DigitalOcean API V2";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "DOM" = callPackage
@@ -4402,6 +4377,8 @@ self: {
        benchmarkHaskellDepends = [ base criterion ];
        description = "A package for adding index column to data files";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "DataTreeView" = callPackage
@@ -5024,7 +5001,6 @@ self: {
        description = "Cryptographic operations";
        license = "GPL";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) openssl;};
 
   "Dust-tools" = callPackage
@@ -5230,6 +5206,8 @@ self: {
        ];
        description = "A library of efficient, purely-functional data structures (Core Implementations)";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "EditTimeReport" = callPackage
@@ -6079,6 +6057,8 @@ self: {
        ];
        description = "Finite totally-ordered sets";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "Finance-Quote-Yahoo" = callPackage
@@ -6126,6 +6106,26 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "FiniteCategories" = callPackage
+    ({ mkDerivation, base, containers, directory, fgl, filepath
+     , graphviz, process, random, text
+     }:
+     mkDerivation {
+       pname = "FiniteCategories";
+       version = "0.1.0.0";
+       sha256 = "12f55g2lkyzbaq3sl8q2qbdk5dqf3dkiarch0crqd5kxklygm57n";
+       libraryHaskellDepends = [
+         base containers directory fgl filepath graphviz process random text
+       ];
+       testHaskellDepends = [
+         base containers directory fgl filepath graphviz process random text
+       ];
+       description = "Finite categories and usual categorical constructions on them";
+       license = lib.licenses.gpl3Plus;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "FiniteMap" = callPackage
     ({ mkDerivation, base, haskell98 }:
      mkDerivation {
@@ -6252,7 +6252,6 @@ self: {
        description = "ForSyDe's Haskell-embedded Domain Specific Language";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ForestStructures" = callPackage
@@ -6445,8 +6444,8 @@ self: {
      }:
      mkDerivation {
        pname = "Frames";
-       version = "0.7.2";
-       sha256 = "08q3zfhb6wf4b8020d63v6zpmb3834ba50hnb478vvjqd8rrp1mh";
+       version = "0.7.3";
+       sha256 = "0pn2i7qbjbmnzvj2ns3sh2m8i1yhc5w0y6lbzc4dsn2lqv5zpi0c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -6456,13 +6455,14 @@ self: {
          vector vector-th-unbox vinyl
        ];
        testHaskellDepends = [
-         attoparsec base directory foldl hspec htoml HUnit lens pipes pretty
-         regex-applicative template-haskell temporary text
+         attoparsec base bytestring directory foldl hspec htoml HUnit lens
+         pipes pretty regex-applicative template-haskell temporary text
          unordered-containers vinyl
        ];
        benchmarkHaskellDepends = [ base criterion pipes transformers ];
        description = "Data frames For working with tabular data files";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "Frames-beam" = callPackage
@@ -6487,7 +6487,6 @@ self: {
        description = "A library for accessing Postgres tables as in-memory data structures";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "Frames-dsv" = callPackage
@@ -6527,7 +6526,6 @@ self: {
        description = "Frames wrapper for map-reduce-folds and some extra folds helpers";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "Frames-streamly" = callPackage
@@ -6545,6 +6543,7 @@ self: {
        testHaskellDepends = [ base Frames streamly text vinyl ];
        description = "A streamly layer for Frames I/O";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "Frank" = callPackage
@@ -6659,6 +6658,8 @@ self: {
        pname = "GLFW";
        version = "0.5.2.5";
        sha256 = "029sw2sykr6plffkrmigv5mj2aklllmgi021is5ybsbqv0mxgh9p";
+       revision = "1";
+       editedCabalFile = "1zbgbg3hb1w05cyiwcz510ny8lxa308kw17j7xvqn1r72kv3x186";
        libraryHaskellDepends = [ base OpenGL ];
        librarySystemDepends = [ libGL libX11 libXext libXfixes ];
        description = "A Haskell binding for GLFW";
@@ -6903,8 +6904,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion lens ];
        description = "Typesafe functional GPU graphics programming";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "GPipe-Examples" = callPackage
@@ -6966,6 +6965,7 @@ self: {
        description = "GLFW OpenGL context creation for GPipe";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "GPipe-TextureLoad" = callPackage
@@ -7782,7 +7782,6 @@ self: {
        ];
        description = "A graphical REPL and development environment for Haskell";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "GuiTV" = callPackage
@@ -8023,8 +8022,8 @@ self: {
      }:
      mkDerivation {
        pname = "HDBC";
-       version = "2.4.0.3";
-       sha256 = "0vv2l99wpm2azm1wmbiqvra5aw708rsldd8y4fdf660q7lgvqqqy";
+       version = "2.4.0.4";
+       sha256 = "1jlh6swrk5vn106p456dmqg3yf145hsjgziwmcyfafx7w682sgy9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -8077,8 +8076,8 @@ self: {
      }:
      mkDerivation {
        pname = "HDBC-postgresql";
-       version = "2.5.0.0";
-       sha256 = "1awwrq7hivk1hp709iz624hm2wjbk18hspld91pixv5x34fcn7s9";
+       version = "2.5.0.1";
+       sha256 = "0qpryqgzx4carc4wpy0vv2706y6i542zx7mz4f1mg19rnc69qfi9";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal ];
@@ -8142,8 +8141,9 @@ self: {
        librarySystemDepends = [ pfstools ];
        description = "Utilities for reading, manipulating, and writing HDR images";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
+       platforms = [
+         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
+       ];
      }) {inherit (pkgs) pfstools;};
 
   "HERA" = callPackage
@@ -8787,8 +8787,8 @@ self: {
      }:
      mkDerivation {
        pname = "HList";
-       version = "0.5.1.0";
-       sha256 = "0dpyv9qfkr8w8q19kxyzk9nph8zdhdcnaw3w0b09cishcs47jrgw";
+       version = "0.5.2.0";
+       sha256 = "00gfghf3dxa4f3r5kvwd8n2yfgc4paa7vbk1h8mlxykb7kxwx2n1";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base base-orphans ghc-prim mtl profunctors semigroups tagged
@@ -8800,8 +8800,6 @@ self: {
        ];
        description = "Heterogeneous lists";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "HListPP" = callPackage
@@ -8984,8 +8982,8 @@ self: {
      }:
      mkDerivation {
        pname = "HPDF";
-       version = "1.5.3";
-       sha256 = "12h3gx9gikzz4fwf11zk1nwzbpwqzzyavjz8mr27scy3s94vw41r";
+       version = "1.6.0";
+       sha256 = "037cwhnjr6p2b168bixy9a1n811krcvmyhg2kbhlry02svkars7k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -9071,7 +9069,6 @@ self: {
        executablePkgconfigDepends = [ plplotd-gnome2 ];
        description = "A minimal monadic PLplot interface for Haskell";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {plplotd-gnome2 = null;};
 
   "HPong" = callPackage
@@ -9120,6 +9117,8 @@ self: {
        platforms = [
          "aarch64-darwin" "i686-linux" "x86_64-darwin" "x86_64-linux"
        ];
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) gsl;};
 
   "HROOT" = callPackage
@@ -9368,6 +9367,8 @@ self: {
        testHaskellDepends = [ aeson attoparsec base HTF text ];
        description = "Small template engine";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "HSoM" = callPackage
@@ -9415,6 +9416,8 @@ self: {
        pname = "HStringTemplate";
        version = "0.8.8";
        sha256 = "1n8ci0kzjcgnqh4dfpqwlh7mnlzyiqiqc6hc0zr65p0balbg8zbi";
+       revision = "2";
+       editedCabalFile = "1iq8ni7im7b0q3hpchyc9j7iw1r431xlikwsqlhiwnw61q2c5qi5";
        libraryHaskellDepends = [
          array base blaze-builder bytestring containers deepseq directory
          filepath mtl old-locale parsec pretty semigroups syb
@@ -9463,8 +9466,8 @@ self: {
      }:
      mkDerivation {
        pname = "HTF";
-       version = "0.14.0.6";
-       sha256 = "0lm4va3nnb9yli56vfkj7h816k0cnrdjnd3d9x44m706bh3avksq";
+       version = "0.15.0.0";
+       sha256 = "16sbz9rr1v8p3b0qi6b9rvzqgbd4rr05qp2wiiy0nc2gh1qca4nq";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal process ];
@@ -9510,6 +9513,28 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "HTTP_4000_4_0" = callPackage
+    ({ mkDerivation, array, base, bytestring, deepseq, httpd-shed
+     , HUnit, mtl, network, network-uri, parsec, pureMD5, split
+     , test-framework, test-framework-hunit, time, transformers
+     }:
+     mkDerivation {
+       pname = "HTTP";
+       version = "4000.4.0";
+       sha256 = "1m2z6hsla3kf810kcfkljf2j9w6lhjgvxbpqzv5f227wxs8n5s5h";
+       libraryHaskellDepends = [
+         array base bytestring mtl network network-uri parsec time
+         transformers
+       ];
+       testHaskellDepends = [
+         base bytestring deepseq httpd-shed HUnit mtl network network-uri
+         pureMD5 split test-framework test-framework-hunit
+       ];
+       description = "A library for client-side HTTP";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "HTTP-Simple" = callPackage
     ({ mkDerivation, base, HTTP, network }:
      mkDerivation {
@@ -9604,6 +9629,8 @@ self: {
        ];
        description = "A test framework building on HUnit";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "HUnit-approx" = callPackage
@@ -9888,7 +9915,6 @@ self: {
        description = "Aggression analysis for Tweets on Twitter";
        license = lib.licenses.gpl2Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "HandlerSocketClient" = callPackage
@@ -10068,7 +10094,6 @@ self: {
        description = "Minimalist R5RS Scheme interpreter";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "Hashell" = callPackage
@@ -10105,6 +10130,7 @@ self: {
        description = "HaskRel, Haskell as a DBMS with support for the relational algebra";
        license = lib.licenses.gpl2Only;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "HaskellAnalysisProgram" = callPackage
@@ -10141,6 +10167,8 @@ self: {
        libraryHaskellDepends = [ array base containers random ];
        description = "Combinatorics, group theory, commutative algebra, non-commutative algebra";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "HaskellLM" = callPackage
@@ -10183,6 +10211,8 @@ self: {
        ];
        description = "Client support for POP3, SMTP, and IMAP";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "HaskellNet-SSL" = callPackage
@@ -10200,6 +10230,7 @@ self: {
        ];
        description = "Helpers to connect to SSL/TLS mail servers with HaskellNet";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "HaskellTorrent" = callPackage
@@ -10791,8 +10822,6 @@ self: {
        ];
        description = "Bindings to htslib";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) zlib;};
 
   "HsHaruPDF" = callPackage
@@ -10932,6 +10961,8 @@ self: {
        libraryHaskellDepends = [ base ghc-prim ];
        description = "Haskell helper functions";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "HsWebots" = callPackage
@@ -11690,6 +11721,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A transpiler from Python to C++ for competitive programming";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "JsContracts" = callPackage
@@ -11760,8 +11793,8 @@ self: {
      }:
      mkDerivation {
        pname = "JuicyPixels";
-       version = "3.3.6";
-       sha256 = "1f8giivsqxma19ax78dr7j4gir12iyfqn2mlsd27zzl8dn7dy6w1";
+       version = "3.3.7";
+       sha256 = "1rrvapzcj0q8sigxq1zq2k4h88i1r2hyca4p7pkqa1b4pk6vhdny";
        libraryHaskellDepends = [
          base binary bytestring containers deepseq mtl primitive
          transformers vector zlib
@@ -11911,6 +11944,8 @@ self: {
        libraryHaskellDepends = [ base JuicyPixels vector ];
        description = "Convert JuicyPixel images into RGBA format, flip, trim and so on";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "JunkDB" = callPackage
@@ -12020,6 +12055,8 @@ self: {
        libraryHaskellDepends = [ base containers mtl ];
        description = "A simple parsing library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "KdTree" = callPackage
@@ -12236,6 +12273,8 @@ self: {
        ];
        description = "LC-3 virtual machine";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "LDAP" = callPackage
@@ -12390,48 +12429,6 @@ self: {
   "LambdaHack" = callPackage
     ({ mkDerivation, ansi-terminal, assert-failure, async, base
      , base-compat, binary, bytestring, containers, deepseq, directory
-     , doctest, doctest-driver-gen, enummapset, file-embed, filepath
-     , ghc-compact, ghc-prim, hashable, hsini, keys, miniutter
-     , open-browser, optparse-applicative, pretty-show, primitive
-     , QuickCheck, sdl2, sdl2-ttf, splitmix, stm, tasty, tasty-hunit
-     , tasty-quickcheck, template-haskell, text, th-lift-instances, time
-     , transformers, unordered-containers, vector
-     , vector-binary-instances, witch, zlib
-     }:
-     mkDerivation {
-       pname = "LambdaHack";
-       version = "0.10.3.0";
-       sha256 = "06hijymhdcrb9jrxmyilj7rvqa6kyr5q9js9ah715c3jvd6nc5gj";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         ansi-terminal assert-failure async base base-compat binary
-         bytestring containers deepseq directory enummapset file-embed
-         filepath ghc-compact ghc-prim hashable hsini keys miniutter
-         open-browser optparse-applicative pretty-show primitive QuickCheck
-         sdl2 sdl2-ttf splitmix stm template-haskell text th-lift-instances
-         time transformers unordered-containers vector
-         vector-binary-instances witch zlib
-       ];
-       executableHaskellDepends = [
-         async base filepath optparse-applicative
-       ];
-       testHaskellDepends = [
-         base containers doctest enummapset optparse-applicative QuickCheck
-         splitmix tasty tasty-hunit tasty-quickcheck text transformers
-         vector
-       ];
-       testToolDepends = [ doctest-driver-gen ];
-       description = "A game engine library for tactical squad ASCII roguelike dungeon crawlers";
-       license = lib.licenses.bsd3;
-       platforms = [
-         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
-       ];
-     }) {};
-
-  "LambdaHack_0_11_0_0" = callPackage
-    ({ mkDerivation, ansi-terminal, assert-failure, async, base
-     , base-compat, binary, bytestring, containers, deepseq, directory
      , enummapset, file-embed, filepath, ghc-compact, hashable, hsini
      , keys, miniutter, open-browser, optparse-applicative, pretty-show
      , primitive, QuickCheck, sdl2, sdl2-ttf, splitmix, stm, tasty
@@ -12578,7 +12575,6 @@ self: {
        description = "Library for RedPitaya";
        license = lib.licenses.lgpl3Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "LargeCardinalHierarchy" = callPackage
@@ -12627,6 +12623,7 @@ self: {
        ];
        description = "A library for lattices";
        license = "GPL";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "Lazy-Pbkdf2" = callPackage
@@ -13352,7 +13349,6 @@ self: {
        description = "Haskell library to interact with Mailchimp JSON API Version 3.0";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "Map" = callPackage
@@ -13384,6 +13380,8 @@ self: {
        benchmarkHaskellDepends = [ base ];
        description = "mapWith: like fmap, but with additional parameters (isFirst, isLast, etc)";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "Mapping" = callPackage
@@ -13620,22 +13618,24 @@ self: {
      }) {};
 
   "MiniAgda" = callPackage
-    ({ mkDerivation, alex, array, base, containers, happy
-     , haskell-src-exts, mtl, pretty
+    ({ mkDerivation, alex, array, base, containers, goldplate, happy
+     , haskell-src-exts, mtl, pretty, process, transformers
      }:
      mkDerivation {
        pname = "MiniAgda";
-       version = "0.2020.4.14";
-       sha256 = "0fj0fk2i47yrfqiapl3wkj8n74rjpndvwxg2dzx3185glb06cjxj";
+       version = "0.2022.3.11";
+       sha256 = "1h1zcq3hsx8nxayzp3sa1qd1mlaigshqknkp3xn66yiv08f6vgmc";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
        executableHaskellDepends = [
-         array base containers haskell-src-exts mtl pretty
+         array base containers haskell-src-exts mtl pretty transformers
        ];
        executableToolDepends = [ alex happy ];
+       testHaskellDepends = [ base process ];
+       testToolDepends = [ goldplate ];
        description = "A toy dependently typed programming language with type-based termination";
-       license = "unknown";
+       license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
        broken = true;
      }) {};
@@ -13647,8 +13647,8 @@ self: {
      }:
      mkDerivation {
        pname = "MissingH";
-       version = "1.5.0.0";
-       sha256 = "100x3315lk0zs58cv951jxcy6cgip18cq25r8f2bsgwbvv6gh2by";
+       version = "1.5.0.1";
+       sha256 = "0c92fdv32nq51kfdizi3lpxmnvscsgk6marfzaycd7k05aka8byb";
        libraryHaskellDepends = [
          array base containers directory filepath hslogger mtl network
          network-bsd old-locale old-time parsec process regex-compat time
@@ -15090,20 +15090,9 @@ self: {
      }) {};
 
   "OneTuple" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "OneTuple";
-       version = "0.2.2.1";
-       sha256 = "15ls6kkf953288q7rsc49bvw467ll4nq28hvsgbaazdn7hf75ixc";
-       revision = "1";
-       editedCabalFile = "03mygfz7lv6h0i30bq2grvmahbg9j7a36mc0wls2nr81dv9p19s7";
-       libraryHaskellDepends = [ base ];
-       description = "Singleton Tuple";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "OneTuple_0_3_1" = callPackage
-    ({ mkDerivation, base, base-orphans, hashable, template-haskell }:
+    ({ mkDerivation, base, base-orphans, ghc-prim, hashable
+     , template-haskell
+     }:
      mkDerivation {
        pname = "OneTuple";
        version = "0.3.1";
@@ -15111,12 +15100,11 @@ self: {
        revision = "2";
        editedCabalFile = "0gk0656igxl0km9kgh8v7b5vq74kla59ka9hvpzq57njr6bc0j58";
        libraryHaskellDepends = [
-         base base-orphans hashable template-haskell
+         base base-orphans ghc-prim template-haskell
        ];
        testHaskellDepends = [ base hashable template-haskell ];
        description = "Singleton Tuple";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "Only" = callPackage
@@ -15473,6 +15461,8 @@ self: {
        libraryHaskellDepends = [ base containers ghc-prim mtl ];
        description = "Arrow parser combinators similar to Parsec";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "PBKDF2" = callPackage
@@ -15559,6 +15549,8 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Priority Search Queue";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "PTQ" = callPackage
@@ -15645,7 +15637,6 @@ self: {
        description = "a simple Paillier cryptosystem";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "PandocAgda" = callPackage
@@ -16303,6 +16294,8 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Geometric Extrapolation of Integer Sequences with error prediction";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "PropLogic" = callPackage
@@ -16454,28 +16447,6 @@ self: {
      }) {};
 
   "PyF" = callPackage
-    ({ mkDerivation, base, bytestring, containers, deepseq, directory
-     , filepath, hashable, haskell-src-exts, haskell-src-meta, hspec
-     , HUnit, megaparsec, mtl, process, template-haskell, temporary
-     , text
-     }:
-     mkDerivation {
-       pname = "PyF";
-       version = "0.9.0.3";
-       sha256 = "1x1zryq3di5z3mc1wind6ma1b7cpsvf90y7k5dyvwkn1kisz3jf8";
-       libraryHaskellDepends = [
-         base containers haskell-src-exts haskell-src-meta megaparsec mtl
-         template-haskell text
-       ];
-       testHaskellDepends = [
-         base bytestring deepseq directory filepath hashable hspec HUnit
-         process template-haskell temporary text
-       ];
-       description = "Quasiquotations for a python like interpolated string formater";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "PyF_0_10_2_0" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, filepath, ghc, ghc-boot
      , hspec, HUnit, mtl, parsec, process, template-haskell, temporary
      , text, time
@@ -16493,7 +16464,6 @@ self: {
        ];
        description = "Quasiquotations for a python like interpolated string formatter";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "QIO" = callPackage
@@ -16653,8 +16623,6 @@ self: {
        benchmarkHaskellDepends = [ base hspec QuickCheck ];
        description = "Valid and Invalid generator";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "QuickPlot" = callPackage
@@ -16791,7 +16759,6 @@ self: {
        description = "A reflective JSON serializer/parser";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "RLP" = callPackage
@@ -16916,6 +16883,7 @@ self: {
        description = "Draw RNA secondary structures";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "RNAlien" = callPackage
@@ -17093,6 +17061,8 @@ self: {
        executableHaskellDepends = [ base random-fu ];
        description = "Randomness intuition trainer";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "Range" = callPackage
@@ -17400,6 +17370,7 @@ self: {
        description = "quasiquoter for inline-R code";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "RollingDirectory" = callPackage
@@ -17945,7 +17916,6 @@ self: {
        description = "translate a SVD of a Microcontroller to Haskell tables";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "SVG2Q" = callPackage
@@ -17966,7 +17936,7 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "SVGFonts" = callPackage
+  "SVGFonts_1_7_0_1" = callPackage
     ({ mkDerivation, attoparsec, base, blaze-markup, blaze-svg
      , bytestring, cereal, cereal-vector, containers, data-default-class
      , diagrams-core, diagrams-lib, directory, parsec, split, text
@@ -17986,9 +17956,10 @@ self: {
        ];
        description = "Fonts from the SVG-Font format";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "SVGFonts_1_8_0_1" = callPackage
+  "SVGFonts" = callPackage
     ({ mkDerivation, attoparsec, base, blaze-markup, blaze-svg
      , bytestring, cereal, cereal-vector, containers, data-default-class
      , diagrams-core, diagrams-lib, directory, parsec, split, text
@@ -18006,7 +17977,6 @@ self: {
        ];
        description = "Fonts from the SVG-Font format";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "SVGPath" = callPackage
@@ -18034,6 +18004,8 @@ self: {
        ];
        description = "A parser for SWMM 5 binary .OUT files";
        license = lib.licenses.lgpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "SableCC2Hs" = callPackage
@@ -18145,8 +18117,6 @@ self: {
        ];
        description = "Base types and classes for statistics, sciences and humanities";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "SciFlow" = callPackage
@@ -18241,8 +18211,6 @@ self: {
        libraryHaskellDepends = [ base bytestring ];
        description = "simple static linked SHA3 using private symbols and the ref impl";
        license = lib.licenses.bsd2;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "SegmentTree" = callPackage
@@ -18256,6 +18224,8 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Data structure for querying the set (or count) of intervals covering given point";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "SelectSequencesFromMSA" = callPackage
@@ -18361,7 +18331,7 @@ self: {
        broken = true;
      }) {};
 
-  "ShellCheck" = callPackage
+  "ShellCheck_0_7_2" = callPackage
     ({ mkDerivation, aeson, array, base, bytestring, containers
      , deepseq, Diff, directory, filepath, mtl, parsec, process
      , QuickCheck, regex-tdfa
@@ -18386,9 +18356,10 @@ self: {
        ];
        description = "Shell script analysis tool";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "ShellCheck_0_8_0" = callPackage
+  "ShellCheck" = callPackage
     ({ mkDerivation, aeson, array, base, bytestring, containers
      , deepseq, Diff, directory, filepath, mtl, parsec, process
      , QuickCheck, regex-tdfa
@@ -18413,7 +18384,6 @@ self: {
        ];
        description = "Shell script analysis tool";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "Shellac" = callPackage
@@ -18532,6 +18502,7 @@ self: {
        ];
        description = "A programming model for declarative, high performance user interface";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "Shpadoinkle-backend-pardiff" = callPackage
@@ -18551,7 +18522,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
@@ -18570,7 +18540,6 @@ self: {
        description = "Use the high-performance Snabbdom virtual dom library written in JavaScript";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "Shpadoinkle-backend-static" = callPackage
@@ -18583,7 +18552,6 @@ self: {
        description = "A backend for rendering Shpadoinkle as Text";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "Shpadoinkle-console" = callPackage
@@ -18595,6 +18563,8 @@ self: {
        libraryHaskellDepends = [ aeson base jsaddle lens text unliftio ];
        description = "Support for the native browser console";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "Shpadoinkle-debug" = callPackage
@@ -18701,7 +18671,6 @@ self: {
        description = "A typed, template generated Html DSL, and helpers";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "Shpadoinkle-isreal" = callPackage
@@ -18738,6 +18707,7 @@ self: {
        libraryHaskellDepends = [ base lens Shpadoinkle text ];
        description = "Lens combinators for Shpadoinkle applications";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "Shpadoinkle-router" = callPackage
@@ -18774,7 +18744,6 @@ self: {
        description = "Integration of the streaming library with Shpadoinkle continuations";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "Shpadoinkle-template" = callPackage
@@ -18797,7 +18766,6 @@ self: {
        description = "Read standard file formats into Shpadoinkle with Template Haskell";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "Shpadoinkle-widgets" = callPackage
@@ -18823,7 +18791,6 @@ self: {
        description = "A collection of common reusable types and components";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "Shrub" = callPackage
@@ -18961,25 +18928,24 @@ self: {
      }) {};
 
   "Sit" = callPackage
-    ({ mkDerivation, array, base, containers, data-lens-light, mtl }:
+    ({ mkDerivation, alex, array, base, containers, data-lens-light
+     , happy, mtl
+     }:
      mkDerivation {
        pname = "Sit";
-       version = "0.2021.1.18";
-       sha256 = "045xbxf0jyxr6510mcfhnfbj2p0kka5l45cydlxchhwg75z8snmi";
-       revision = "1";
-       editedCabalFile = "0vd1j410rp27g9cbzd3b1ymv02gfmi7pcnqzgpnppi9kc0nrr6kl";
+       version = "0.2022.3.18";
+       sha256 = "03q784w5wf8rvc173skh1cmdsvw5450cxc9jymqs23xv9wyp8b4z";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base containers data-lens-light mtl
        ];
+       libraryToolDepends = [ alex happy ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        description = "Prototypical type checker for Type Theory with Sized Natural Numbers";
        license = "unknown";
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "SizeCompare" = callPackage
@@ -19197,8 +19163,6 @@ self: {
        ];
        description = "Video game";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "SpacePrivateers" = callPackage
@@ -19221,7 +19185,6 @@ self: {
        description = "Simple space pirate roguelike";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "SpinCounter" = callPackage
@@ -19272,8 +19235,6 @@ self: {
        ];
        description = "Another Haskell web framework for rapid development";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "Spock-api" = callPackage
@@ -19325,6 +19286,7 @@ self: {
        description = "Provides authentification helpers for Spock";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "Spock-core" = callPackage
@@ -19380,7 +19342,6 @@ self: {
        libraryHaskellDepends = [ base lucid Spock transformers ];
        description = "Lucid support for Spock";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "Spock-worker" = callPackage
@@ -19398,7 +19359,6 @@ self: {
        testHaskellDepends = [ base containers HTF stm vector ];
        description = "Background workers for Spock";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "SpreadsheetML" = callPackage
@@ -19698,7 +19658,6 @@ self: {
        description = "Library which aids constructing generic (SYB3-based) widgets";
        license = "LGPL";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "SyntaxMacros" = callPackage
@@ -19805,6 +19764,34 @@ self: {
        libraryHaskellDepends = [ base template-haskell ];
        description = "TH implementation of effects";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "TLT" = callPackage
+    ({ mkDerivation, ansi-terminal, base, either, free, HUnit, mtl
+     , resourcet, STMonadTrans, symbol, transformers
+     }:
+     mkDerivation {
+       pname = "TLT";
+       version = "0.1.0.0";
+       sha256 = "125hfd8ig706zsizyn959qsjcadsgbiqq3dnygjxambvd2d135pr";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-terminal base either free HUnit mtl resourcet STMonadTrans
+         symbol transformers
+       ];
+       executableHaskellDepends = [
+         ansi-terminal base either free HUnit mtl resourcet STMonadTrans
+         symbol transformers
+       ];
+       testHaskellDepends = [
+         ansi-terminal base either free HUnit mtl resourcet STMonadTrans
+         symbol transformers
+       ];
+       description = "Testing in monads and transformers without explicit specs";
+       license = lib.licenses.lgpl3Only;
      }) {};
 
   "TORCS" = callPackage
@@ -20955,6 +20942,7 @@ self: {
        description = "ViennaRNA v2 extensions";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ViennaRNAParser" = callPackage
@@ -21002,7 +20990,6 @@ self: {
        description = "Villefort is a task manager and time tracker";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "Vulkan" = callPackage
@@ -21219,6 +21206,8 @@ self: {
        ];
        description = "Library for interacting with the Weather Underground JSON API";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "WebBits" = callPackage
@@ -21373,8 +21362,8 @@ self: {
     ({ mkDerivation }:
      mkDerivation {
        pname = "Win32";
-       version = "2.6.2.1";
-       sha256 = "03lwm777sqv24hwyjjail8lk95jgaw7mns1g1hx2qhk29593432q";
+       version = "2.12.0.1";
+       sha256 = "1nivdwjp9x9i64xg8gf3xj8khm9dfq6n5m8kvvlhz7i7ypl4mv72";
        description = "A binding to Windows Win32 API";
        license = lib.licenses.bsd3;
        platforms = lib.platforms.none;
@@ -21546,7 +21535,6 @@ self: {
        description = "Wire-aware hardware description";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "WordAlignment" = callPackage
@@ -21684,6 +21672,8 @@ self: {
        ];
        description = "A light-weight XML library";
        license = "BSD-3-Clause AND GPL-3.0-or-later";
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "X11" = callPackage
@@ -22213,8 +22203,8 @@ self: {
      }:
      mkDerivation {
        pname = "Z-IO";
-       version = "1.0.0.0";
-       sha256 = "0mam287629rlcq8l04ykm8y4lad9vry403a4svq226d51v2p7mni";
+       version = "1.0.1.0";
+       sha256 = "0w82pfbs7f8yiw7jv95m5gh8yd23v5gwdxjh7z8cwf173r5j6g0k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -22263,8 +22253,8 @@ self: {
      }:
      mkDerivation {
        pname = "Z-YAML";
-       version = "0.3.3.0";
-       sha256 = "012flgd88rwya7g5lkbla4841pzq2b1b9m4jkmggk38kpbrhf515";
+       version = "0.3.4.0";
+       sha256 = "1bv88kl5bn4x0mq0pciyihvml4jqsi76379wbqsgjpf285x2a92d";
        libraryHaskellDepends = [
          base primitive scientific transformers unordered-containers Z-Data
          Z-IO
@@ -22574,7 +22564,6 @@ self: {
        description = "Provides the class ParAccelerate, nothing more";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "abt" = callPackage
@@ -22638,8 +22627,6 @@ self: {
        benchmarkHaskellDepends = [ gauge rerebase ];
        description = "Sequence optimized for monoidal construction and folding";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "accelerate" = callPackage
@@ -22667,6 +22654,8 @@ self: {
        testHaskellDepends = [ base doctest ];
        description = "An embedded language for accelerated array processing";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "accelerate-arithmetic" = callPackage
@@ -22898,7 +22887,6 @@ self: {
        description = "Accelerate frontend to the FFTW library (Fourier transform)";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "accelerate-fourier" = callPackage
@@ -22955,6 +22943,7 @@ self: {
        libraryHaskellDepends = [ accelerate base ];
        description = "Convert between Accelerate arrays and raw pointers";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "accelerate-io-JuicyPixels" = callPackage
@@ -23056,6 +23045,7 @@ self: {
        ];
        description = "Binary serialisation of Accelerate arrays using serialise";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "accelerate-io-vector" = callPackage
@@ -23120,6 +23110,7 @@ self: {
        ];
        description = "Accelerate backend component generating LLVM IR";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "accelerate-llvm-native" = callPackage
@@ -23143,7 +23134,6 @@ self: {
        description = "Accelerate backend for multicore CPUs";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "accelerate-llvm-ptx" = callPackage
@@ -23178,7 +23168,6 @@ self: {
        description = "Generate Accelerate arrays filled with high quality pseudorandom numbers";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "accelerate-typelits" = callPackage
@@ -23214,7 +23203,6 @@ self: {
        description = "Utility functions for the Accelerate framework";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "accentuateus" = callPackage
@@ -23279,6 +23267,8 @@ self: {
        libraryHaskellDepends = [ base bifunctors lens semigroups ];
        description = "Data type like Either but with accumulating error type";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ace" = callPackage
@@ -23333,10 +23323,8 @@ self: {
      }:
      mkDerivation {
        pname = "acid-state";
-       version = "0.16.0.1";
-       sha256 = "0n8qp002w972lf7z9hhn5bbz2rslh8m6am07c88y755nj5xk6y88";
-       revision = "1";
-       editedCabalFile = "0jz3826gx6chsa2bipzdpqvl2risp3bm6g4nrr79wb403qrqwbf4";
+       version = "0.16.1";
+       sha256 = "1fvcx96y7cin7f39asa130q8j2z39l61ibff98vmkhqwxiys4z4h";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -24188,32 +24176,9 @@ self: {
        description = "Semigroup actions and torsors";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ad" = callPackage
-    ({ mkDerivation, array, base, Cabal, cabal-doctest, comonad
-     , containers, criterion, data-reify, directory, doctest, erf
-     , filepath, free, nats, reflection, semigroups, transformers
-     }:
-     mkDerivation {
-       pname = "ad";
-       version = "4.4.1";
-       sha256 = "1afpqk0my4n50xvq9f0rhcs8kzy3w1xxjql462xc0mvvhsgp6s6g";
-       revision = "3";
-       editedCabalFile = "0dixfii8fk4drly5iwzy1ihnx5phmns0i8cbdhl6ylp79yyrdv2h";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         array base comonad containers data-reify erf free nats reflection
-         semigroups transformers
-       ];
-       testHaskellDepends = [ base directory doctest filepath ];
-       benchmarkHaskellDepends = [ base criterion erf ];
-       description = "Automatic Differentiation";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "ad_4_5" = callPackage
     ({ mkDerivation, adjunctions, array, base, comonad, containers
      , criterion, data-reify, erf, free, nats, reflection, semigroups
      , transformers
@@ -24229,7 +24194,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion erf ];
        description = "Automatic Differentiation";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ad-delcont" = callPackage
@@ -24339,7 +24303,6 @@ 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
@@ -24396,7 +24359,6 @@ self: {
        description = "See README for more info";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "adjunctions" = callPackage
@@ -24563,6 +24525,8 @@ self: {
        ];
        description = "Parse Advent of Code ASCII art letters";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "aern2-mp" = callPackage
@@ -24584,8 +24548,6 @@ self: {
        ];
        description = "Multi-precision ball (interval) arithmetic";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "aern2-real" = callPackage
@@ -24606,10 +24568,9 @@ self: {
        ];
        description = "Real numbers as sequences of MPBalls";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "aeson" = callPackage
+  "aeson_1_5_6_0" = callPackage
     ({ mkDerivation, attoparsec, base, base-compat
      , base-compat-batteries, base-orphans, base16-bytestring
      , bytestring, containers, data-fix, deepseq, Diff, directory, dlist
@@ -24641,9 +24602,10 @@ self: {
        ];
        description = "Fast JSON parsing and encoding";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "aeson_2_0_3_0" = callPackage
+  "aeson" = callPackage
     ({ mkDerivation, attoparsec, base, base-compat
      , base-compat-batteries, base-orphans, base16-bytestring
      , bytestring, containers, data-fix, deepseq, Diff, directory, dlist
@@ -24676,7 +24638,6 @@ self: {
        ];
        description = "Fast JSON parsing and encoding";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "aeson-applicative" = callPackage
@@ -24711,10 +24672,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-better-errors";
-       version = "0.9.1.0";
-       sha256 = "09vkyrhwak3bmpfsqcd2az8hfqqkxyhg468hv5avgisy0nzh3w38";
-       revision = "1";
-       editedCabalFile = "1kwhnabcfwbm9r116y19pgwsds5vd0g62sp8r6n43q5crdnc7ly7";
+       version = "0.9.1.1";
+       sha256 = "05yibq9kqbjb8rh84n12sbax05amvd8jccpja0hyadz58pjy4jnk";
        libraryHaskellDepends = [
          aeson base bytestring dlist mtl scientific text transformers
          transformers-compat unordered-containers vector void
@@ -24775,8 +24734,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-combinators";
-       version = "0.0.5.0";
-       sha256 = "1z5fbvpffx2lv3d2wk9g74hmkx1n1yjkwd3vy57f3pp5npja7f3a";
+       version = "0.1.0.0";
+       sha256 = "08zzzl8qb18a1zhl3cjlqjwmmagf3052ialpqksiwx6bpb6x2i2m";
        libraryHaskellDepends = [
          aeson base bytestring containers fail scientific text time
          time-compat unordered-containers uuid-types vector void
@@ -24792,22 +24751,6 @@ self: {
      }) {};
 
   "aeson-commit" = callPackage
-    ({ mkDerivation, aeson, aeson-qq, base, mtl, tasty, tasty-hspec
-     , text
-     }:
-     mkDerivation {
-       pname = "aeson-commit";
-       version = "1.3";
-       sha256 = "1w185p6s91pxd0kmgxxv62v81q7f77q4bgs8iv02xv34wp1jm9jv";
-       libraryHaskellDepends = [ aeson base mtl text ];
-       testHaskellDepends = [
-         aeson aeson-qq base tasty tasty-hspec text
-       ];
-       description = "Parse Aeson data with commitment";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "aeson-commit_1_4" = callPackage
     ({ mkDerivation, aeson, aeson-qq, base, hspec, mtl, text }:
      mkDerivation {
        pname = "aeson-commit";
@@ -24817,7 +24760,6 @@ self: {
        testHaskellDepends = [ aeson aeson-qq base hspec text ];
        description = "Parse Aeson data with commitment";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "aeson-compat" = callPackage
@@ -24878,6 +24820,8 @@ self: {
        testHaskellDepends = [ aeson base containers ];
        description = "Apply default value to FromJSON instacnes' Maybe fields";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "aeson-deriving" = callPackage
@@ -24896,30 +24840,31 @@ self: {
        ];
        description = "data types for compositional, type-directed serialization";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "aeson-diff" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, directory, doctest
-     , edit-distance-vector, filepath, Glob, hashable, mtl
-     , optparse-applicative, QuickCheck, quickcheck-instances
-     , scientific, text, unordered-containers, vector
+    ({ mkDerivation, aeson, base, bytestring, Cabal, cabal-doctest
+     , directory, doctest, edit-distance-vector, filepath, Glob
+     , optparse-applicative, QuickCheck, scientific, text, vector
      }:
      mkDerivation {
        pname = "aeson-diff";
-       version = "1.1.0.9";
-       sha256 = "18bm4qyjjwgrr6dxc4y0vai0z6qgrh2lcqb4jrr4xqs4cxrlwr92";
+       version = "1.1.0.12";
+       sha256 = "0zr7qjcyklwgg6k9cf12z2cpkyyxb9jkhx7pkb2h31vprzba4b9z";
        isLibrary = true;
        isExecutable = true;
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
-         aeson base bytestring edit-distance-vector hashable mtl scientific
-         text unordered-containers vector
+         aeson base bytestring edit-distance-vector scientific text vector
        ];
        executableHaskellDepends = [
-         aeson base bytestring optparse-applicative text
+         aeson base bytestring optparse-applicative
        ];
        testHaskellDepends = [
          aeson base bytestring directory doctest filepath Glob QuickCheck
-         quickcheck-instances text unordered-containers vector
+         vector
        ];
        description = "Extract and apply patches to JSON documents";
        license = lib.licenses.bsd3;
@@ -25007,6 +24952,8 @@ self: {
        testHaskellDepends = [ base ];
        description = "Tools for creating flat JSON serializations";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "aeson-flatten" = callPackage
@@ -25021,20 +24968,23 @@ self: {
        testHaskellDepends = [ aeson base bytestring hspec ];
        description = "JSON flatten for Aeson";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "aeson-flowtyped" = callPackage
     ({ mkDerivation, aeson, base, containers, data-fix, deriving-compat
-     , free, mtl, recursion-schemes, reflection, scientific, tasty
-     , tasty-hunit, text, time, unordered-containers, vector, wl-pprint
+     , free, generics-sop, mtl, recursion-schemes, reflection
+     , scientific, tasty, tasty-hunit, text, time, unordered-containers
+     , vector, wl-pprint
      }:
      mkDerivation {
        pname = "aeson-flowtyped";
-       version = "0.12.2";
-       sha256 = "1b0y415n2a5gzsqxmw7732j5mrwang5cabc7r02zydya735wllbr";
+       version = "0.13.2.1";
+       sha256 = "03zs0mz6fxgvcvfnx3j55yj2hi4npfj10kirjysnx0icypqy6x7g";
        libraryHaskellDepends = [
-         aeson base containers data-fix deriving-compat free mtl
-         recursion-schemes reflection scientific text time
+         aeson base containers data-fix deriving-compat free generics-sop
+         mtl recursion-schemes reflection scientific text time
          unordered-containers vector wl-pprint
        ];
        testHaskellDepends = [
@@ -25094,23 +25044,23 @@ self: {
        ];
        description = "Aeson helper func";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "aeson-injector" = callPackage
-    ({ mkDerivation, aeson, base, bifunctors, containers, deepseq
-     , hashable, HUnit, lens, QuickCheck, quickcheck-text, scientific
-     , servant-docs, swagger2, tasty, tasty-hunit, tasty-quickcheck
-     , text, unordered-containers, vector
+    ({ mkDerivation, aeson, attoparsec, base, bifunctors, containers
+     , deepseq, hashable, HUnit, lens, QuickCheck, quickcheck-text
+     , scientific, servant-docs, swagger2, tasty, tasty-hunit
+     , tasty-quickcheck, text, unordered-containers, vector
      }:
      mkDerivation {
        pname = "aeson-injector";
-       version = "1.1.5.0";
-       sha256 = "0hg853hhbvmqa6yj0xg8naxdrbs2n3lzld0jrbmfmccjqcfzarx4";
-       revision = "1";
-       editedCabalFile = "0l1628z78sxi1wjh1x3hymaid2f7g4r4sbs28phg127fzwn4i7ma";
+       version = "1.2.0.0";
+       sha256 = "1q7hcclg0lycjgayyb9sgmh8rbjiw6cck7wl7xkxvf5ivy0jppz9";
        libraryHaskellDepends = [
-         aeson base bifunctors deepseq hashable lens servant-docs swagger2
-         text unordered-containers
+         aeson attoparsec base bifunctors deepseq hashable lens servant-docs
+         swagger2 text unordered-containers
        ];
        testHaskellDepends = [
          aeson base containers HUnit lens QuickCheck quickcheck-text
@@ -25118,6 +25068,8 @@ self: {
        ];
        description = "Injecting fields into aeson values";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "aeson-iproute" = callPackage
@@ -25136,6 +25088,8 @@ self: {
        testHaskellDepends = [ base doctest ];
        description = "Aeson instances for iproute types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "aeson-json-ast" = callPackage
@@ -25147,6 +25101,8 @@ self: {
        libraryHaskellDepends = [ aeson base json-ast ];
        description = "Integration layer for \"json-ast\" and \"aeson\"";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "aeson-lens" = callPackage
@@ -25163,6 +25119,8 @@ self: {
        testHaskellDepends = [ base doctest ];
        description = "Lens of Aeson";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "aeson-match-qq" = callPackage
@@ -25172,8 +25130,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-match-qq";
-       version = "1.4.0";
-       sha256 = "0gbgrw8ww1hk5zsr66cc0k96ha6azw61f54p5yhk0w36p47annv6";
+       version = "1.4.1";
+       sha256 = "0l9x20hqx6k6grdmni2smiznsiigzhzxmpks1qdg7850sb6lw5fg";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring either haskell-src-meta scientific
          template-haskell text unordered-containers vector
@@ -25269,18 +25227,22 @@ self: {
        ];
        description = "Alternative JSON parser based on Parsec and Aeson";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "aeson-picker" = callPackage
     ({ mkDerivation, aeson, base, hspec, lens, lens-aeson, text }:
      mkDerivation {
        pname = "aeson-picker";
-       version = "0.1.0.5";
-       sha256 = "05lw6fd8xk9s37iz8pvznqh4vj856ayc75ha9iw1w82zxzv87pwp";
+       version = "0.1.0.6";
+       sha256 = "18qn7d163li5v4hjikjfds5jiqcv4h54myipw0pr4sq1ra1wlys4";
        libraryHaskellDepends = [ aeson base lens lens-aeson text ];
        testHaskellDepends = [ base hspec text ];
        description = "Tiny library to get fields from JSON format";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "aeson-prefix" = callPackage
@@ -25364,6 +25326,8 @@ self: {
        benchmarkHaskellDepends = [ aeson base bytestring criterion text ];
        description = "Quick JSON extractions with Aeson";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "aeson-result" = callPackage
@@ -25375,6 +25339,7 @@ self: {
        libraryHaskellDepends = [ aeson aeson-helper base text ];
        description = "API Result for aeson";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "aeson-schema" = callPackage
@@ -25417,10 +25382,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-schemas";
-       version = "1.3.5";
-       sha256 = "1fdq109yjmvixri7hamj8z0iryxxdja8kkm6pk54mi0az0vx9743";
-       revision = "2";
-       editedCabalFile = "0n312ks2jl9l44ijz3my2caxbl4lkw3db97sa74w8nnch0wvmslh";
+       version = "1.3.5.1";
+       sha256 = "1cp6q92z0zkz9kdkaialcx2v9plvmkcghrg54jv841iqxjwcbj3r";
        libraryHaskellDepends = [
          aeson base first-class-families hashable megaparsec
          template-haskell text unordered-containers
@@ -25521,8 +25484,6 @@ self: {
        ];
        description = "Aeson instances for the Tiled map editor";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "aeson-toolkit" = callPackage
@@ -25535,6 +25496,8 @@ self: {
        testHaskellDepends = [ base hspec ];
        description = "A generalization of Aeson over Failure";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "aeson-typescript" = callPackage
@@ -25562,6 +25525,31 @@ self: {
        broken = true;
      }) {};
 
+  "aeson-typescript_0_4_0_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, directory
+     , filepath, hspec, mtl, process, string-interpolate
+     , template-haskell, temporary, text, th-abstraction, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "aeson-typescript";
+       version = "0.4.0.0";
+       sha256 = "0qy8hnrczyfxlyayrs9x1sp25wv9klc5n6c1pdds4lf09aq201ji";
+       libraryHaskellDepends = [
+         aeson base containers mtl string-interpolate template-haskell text
+         th-abstraction transformers unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers directory filepath hspec mtl
+         process string-interpolate template-haskell temporary text
+         th-abstraction transformers unordered-containers
+       ];
+       description = "Generate TypeScript definition files from your ADTs";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "aeson-utils" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, scientific
      , text
@@ -25596,8 +25584,6 @@ self: {
        ];
        description = "API for parsing \"aeson\" JSON tree into Haskell types";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "aeson-via" = callPackage
@@ -25606,8 +25592,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-via";
-       version = "0.1.2";
-       sha256 = "1dm90xx57c5d7x55zdq57pm78v1phii8gkb92y9nzvjjq5y6galy";
+       version = "0.2.0";
+       sha256 = "0v2k9ilm60hnjzsjw1x1b0qcyc6b6db64k6rkci9mbnfqv8bj2wj";
        libraryHaskellDepends = [
          aeson aeson-casing base newtype-generics text
        ];
@@ -25616,6 +25602,8 @@ self: {
        ];
        description = "Wrappers to derive-via Aeson ToJSON/FromJSON typeclasses";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "aeson-with" = callPackage
@@ -25634,6 +25622,8 @@ self: {
        ];
        description = "withXField combinators for aeson";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "aeson-yak" = callPackage
@@ -26359,8 +26349,8 @@ self: {
      }:
      mkDerivation {
        pname = "alarmclock";
-       version = "0.7.0.5";
-       sha256 = "0197phsc4rn5mn155hbmxplxi2ymra1x6lxq16xs6a8zrk4gfkj9";
+       version = "0.7.0.6";
+       sha256 = "02fkmdhhzdmjkz68l9gayk99b21kvm47ksaflqlqsw3yiy8zq2ss";
        libraryHaskellDepends = [
          async base clock stm time unbounded-delays
        ];
@@ -26443,6 +26433,8 @@ self: {
        pname = "alex-meta";
        version = "0.3.0.13";
        sha256 = "0lbralcid373p25m4qhrhrjak87p8wp4as3304sj6ba6xka89q3v";
+       revision = "1";
+       editedCabalFile = "0jxwpyx3mmydk07014k43256cwr2znvlfig76q7za8l1jpbbpxyx";
        libraryHaskellDepends = [
          array base containers haskell-src-meta QuickCheck template-haskell
        ];
@@ -26469,8 +26461,8 @@ self: {
      }:
      mkDerivation {
        pname = "alex-tools";
-       version = "0.5.0.1";
-       sha256 = "0rc56hvmlnym620pc8i7539wig50glms537kcwlmhd89c9cib8iy";
+       version = "0.5.0.2";
+       sha256 = "1bfnxyajma4083ml96wmjvqmhkl9518s810q8qz6ra90kbhbf6s0";
        libraryHaskellDepends = [
          base bytestring deepseq template-haskell text
        ];
@@ -26675,7 +26667,6 @@ self: {
        description = "General linear algebra structures";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "algebraic-classes" = callPackage
@@ -26689,6 +26680,8 @@ self: {
        libraryHaskellDepends = [ base syb template-haskell ];
        description = "Conversions between algebraic classes and F-algebras";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "algebraic-graphs" = callPackage
@@ -26697,25 +26690,6 @@ self: {
      }:
      mkDerivation {
        pname = "algebraic-graphs";
-       version = "0.5";
-       sha256 = "02y5g459zl6hgdyq0kkqv4gz9v2xp7y2al9m4g46wis5hb7zxfc9";
-       libraryHaskellDepends = [
-         array base containers deepseq mtl transformers
-       ];
-       testHaskellDepends = [
-         array base containers deepseq extra inspection-testing mtl
-         QuickCheck transformers
-       ];
-       description = "A library for algebraic graph construction and transformation";
-       license = lib.licenses.mit;
-     }) {};
-
-  "algebraic-graphs_0_6" = callPackage
-    ({ mkDerivation, array, base, containers, deepseq, extra
-     , inspection-testing, mtl, QuickCheck, transformers
-     }:
-     mkDerivation {
-       pname = "algebraic-graphs";
        version = "0.6";
        sha256 = "1d3gwyimrzcc7i2qj3iimab3wz6vicgwybhq7ac3da86b8pjlgim";
        revision = "1";
@@ -26729,7 +26703,6 @@ self: {
        ];
        description = "A library for algebraic graph construction and transformation";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "algebraic-graphs-io" = callPackage
@@ -26836,8 +26809,8 @@ self: {
      }:
      mkDerivation {
        pname = "algorithmic-composition-additional";
-       version = "0.1.0.0";
-       sha256 = "183zjamprssdn3qiiil2ahzhfj6ajg7zs5vdspjfwfq651r8c9gh";
+       version = "0.1.1.0";
+       sha256 = "0j6qbfghx4i00ka0r8n8pw7m037qqn71vky794n3a06mfnisy8pb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -26854,44 +26827,47 @@ self: {
        ];
        description = "Helps to create experimental music from a file (or its part) and a Ukrainian text";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "algorithmic-composition-basic" = callPackage
     ({ mkDerivation, base, bytestring, directory, foldable-ix
      , mmsyn2-array, mmsyn3, mmsyn7l, mmsyn7ukr-common, process
-     , process-sequential, ukrainian-phonetics-basic-array
+     , process-sequential, ukrainian-phonetics-basic-array-bytestring
      }:
      mkDerivation {
        pname = "algorithmic-composition-basic";
-       version = "0.4.1.0";
-       sha256 = "1k5rsz1c67zzdxh56w9rr1mgnv7jmwbfn4z2ysq1ny1vgyi4m7ry";
+       version = "0.5.0.0";
+       sha256 = "0wd6fdx9wg92h8224xgwj0s4iawxx3abxpfjv8jz14fj6vk6hrzi";
        libraryHaskellDepends = [
          base bytestring directory foldable-ix mmsyn2-array mmsyn3 mmsyn7l
          mmsyn7ukr-common process process-sequential
-         ukrainian-phonetics-basic-array
+         ukrainian-phonetics-basic-array-bytestring
        ];
        description = "Helps to create experimental music from a file (or its part) and a Ukrainian text";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "algorithmic-composition-complex" = callPackage
     ({ mkDerivation, algorithmic-composition-basic, base, bytestring
      , directory, foldable-ix, mmsyn2-array, mmsyn3, mmsyn7l
      , mmsyn7ukr-common, phonetic-languages-simplified-base, process
-     , ukrainian-phonetics-basic-array
+     , ukrainian-phonetics-basic-array-bytestring
      }:
      mkDerivation {
        pname = "algorithmic-composition-complex";
-       version = "0.1.0.0";
-       sha256 = "12spldkdcjidaa95w46z5rvy1nsxn9blzhic8klkgx8jwvynixbl";
+       version = "0.1.1.0";
+       sha256 = "0gajyjjghhjgkjah0x139ca2010161rnkaxn22zgn8yikcdnr036";
        libraryHaskellDepends = [
          algorithmic-composition-basic base bytestring directory foldable-ix
          mmsyn2-array mmsyn3 mmsyn7l mmsyn7ukr-common
          phonetic-languages-simplified-base process
-         ukrainian-phonetics-basic-array
+         ukrainian-phonetics-basic-array-bytestring
        ];
        description = "Helps to create more complex experimental music from a file (especially timbre)";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "algorithmic-composition-frequency-shift" = callPackage
@@ -26908,17 +26884,19 @@ self: {
        ];
        description = "Helps to create experimental music. Uses SoX inside.";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "algorithmic-composition-overtones" = callPackage
     ({ mkDerivation, algorithmic-composition-basic, base }:
      mkDerivation {
        pname = "algorithmic-composition-overtones";
-       version = "0.1.0.0";
-       sha256 = "0phdwds12jmv7dp88z6lk6h58jayn9cpjn1sgrglymgww87h88d9";
+       version = "0.1.1.0";
+       sha256 = "09q29fdn5n83k1lmmzn6ny5sz4rhbrzcj8hbkb6lkqgv3mvvzq6b";
        libraryHaskellDepends = [ algorithmic-composition-basic base ];
        description = "Some variants of the overtones functions to generate a timbre";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "align" = callPackage
@@ -26963,7 +26941,6 @@ self: {
        ];
        description = "Find relative time displacement of two recordings of the same music";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "align-text" = callPackage
@@ -26992,6 +26969,19 @@ self: {
        license = lib.licenses.publicDomain;
      }) {};
 
+  "alignment" = callPackage
+    ({ mkDerivation, assoc, base, bifunctors, lens, semigroupoids }:
+     mkDerivation {
+       pname = "alignment";
+       version = "0.1.0.2";
+       sha256 = "1gsnp2rfqcll1hrf1c0c9rkjvv3mbvfsqghlkyfs9jvb0w9sd2i7";
+       libraryHaskellDepends = [
+         assoc base bifunctors lens semigroupoids
+       ];
+       description = "Zip-alignment";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "alist" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -27447,7 +27437,6 @@ self: {
        description = "Implement a menu experience fit for web users";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "altsvc" = callPackage
@@ -27575,6 +27564,7 @@ self: {
        testHaskellDepends = [ base tasty tasty-hunit ];
        description = "Comprehensive Amazon Web Services SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-alexa-business" = callPackage
@@ -27592,6 +27582,7 @@ self: {
        ];
        description = "Amazon Alexa For Business SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-apigateway" = callPackage
@@ -27609,6 +27600,7 @@ self: {
        ];
        description = "Amazon API Gateway SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-application-autoscaling" = callPackage
@@ -27626,6 +27618,7 @@ self: {
        ];
        description = "Amazon Application Auto Scaling SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-appstream" = callPackage
@@ -27643,6 +27636,7 @@ self: {
        ];
        description = "Amazon AppStream SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-appsync" = callPackage
@@ -27660,6 +27654,7 @@ self: {
        ];
        description = "Amazon AppSync SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-athena" = callPackage
@@ -27677,6 +27672,7 @@ self: {
        ];
        description = "Amazon Athena SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-autoscaling" = callPackage
@@ -27694,6 +27690,7 @@ self: {
        ];
        description = "Amazon Auto Scaling SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-autoscaling-plans" = callPackage
@@ -27711,6 +27708,7 @@ self: {
        ];
        description = "Amazon Auto Scaling Plans SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-batch" = callPackage
@@ -27728,6 +27726,7 @@ self: {
        ];
        description = "Amazon Batch SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-budgets" = callPackage
@@ -27745,6 +27744,7 @@ self: {
        ];
        description = "Amazon Budgets SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-certificatemanager" = callPackage
@@ -27762,6 +27762,7 @@ self: {
        ];
        description = "Amazon Certificate Manager SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-certificatemanager-pca" = callPackage
@@ -27779,6 +27780,7 @@ self: {
        ];
        description = "Amazon Certificate Manager Private Certificate Authority SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-cloud9" = callPackage
@@ -27796,6 +27798,7 @@ self: {
        ];
        description = "Amazon Cloud9 SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-clouddirectory" = callPackage
@@ -27813,6 +27816,7 @@ self: {
        ];
        description = "Amazon CloudDirectory SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-cloudformation" = callPackage
@@ -27830,6 +27834,7 @@ self: {
        ];
        description = "Amazon CloudFormation SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-cloudfront" = callPackage
@@ -27847,6 +27852,7 @@ self: {
        ];
        description = "Amazon CloudFront SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-cloudhsm" = callPackage
@@ -27864,6 +27870,7 @@ self: {
        ];
        description = "Amazon CloudHSM SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-cloudhsmv2" = callPackage
@@ -27881,6 +27888,7 @@ self: {
        ];
        description = "Amazon CloudHSM V2 SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-cloudsearch" = callPackage
@@ -27898,6 +27906,7 @@ self: {
        ];
        description = "Amazon CloudSearch SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-cloudsearch-domains" = callPackage
@@ -27915,6 +27924,7 @@ self: {
        ];
        description = "Amazon CloudSearch Domain SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-cloudtrail" = callPackage
@@ -27932,6 +27942,7 @@ self: {
        ];
        description = "Amazon CloudTrail SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-cloudwatch" = callPackage
@@ -27949,6 +27960,7 @@ self: {
        ];
        description = "Amazon CloudWatch SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-cloudwatch-events" = callPackage
@@ -27966,6 +27978,7 @@ self: {
        ];
        description = "Amazon CloudWatch Events SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-cloudwatch-logs" = callPackage
@@ -27983,6 +27996,7 @@ self: {
        ];
        description = "Amazon CloudWatch Logs SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-codebuild" = callPackage
@@ -28000,6 +28014,7 @@ self: {
        ];
        description = "Amazon CodeBuild SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-codecommit" = callPackage
@@ -28017,6 +28032,7 @@ self: {
        ];
        description = "Amazon CodeCommit SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-codedeploy" = callPackage
@@ -28034,6 +28050,7 @@ self: {
        ];
        description = "Amazon CodeDeploy SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-codepipeline" = callPackage
@@ -28051,6 +28068,7 @@ self: {
        ];
        description = "Amazon CodePipeline SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-codestar" = callPackage
@@ -28068,6 +28086,7 @@ self: {
        ];
        description = "Amazon CodeStar SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-cognito-identity" = callPackage
@@ -28085,6 +28104,7 @@ self: {
        ];
        description = "Amazon Cognito Identity SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-cognito-idp" = callPackage
@@ -28102,6 +28122,7 @@ self: {
        ];
        description = "Amazon Cognito Identity Provider SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-cognito-sync" = callPackage
@@ -28119,6 +28140,7 @@ self: {
        ];
        description = "Amazon Cognito Sync SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-comprehend" = callPackage
@@ -28136,6 +28158,7 @@ self: {
        ];
        description = "Amazon Comprehend SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-config" = callPackage
@@ -28153,6 +28176,7 @@ self: {
        ];
        description = "Amazon Config SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-connect" = callPackage
@@ -28170,6 +28194,7 @@ self: {
        ];
        description = "Amazon Connect Service SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-contrib-rds-utils" = callPackage
@@ -28191,7 +28216,6 @@ self: {
        description = "A Haskell equivalent of \"aws rds generate-db-auth-token\"";
        license = lib.licenses.mpl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "amazonka-core" = callPackage
@@ -28224,6 +28248,8 @@ self: {
        ];
        description = "Core data types and functionality for Amazonka libraries";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "amazonka-cost-explorer" = callPackage
@@ -28241,6 +28267,7 @@ self: {
        ];
        description = "Amazon Cost Explorer Service SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-cur" = callPackage
@@ -28258,6 +28285,7 @@ self: {
        ];
        description = "Amazon Cost and Usage Report Service SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-datapipeline" = callPackage
@@ -28275,6 +28303,7 @@ self: {
        ];
        description = "Amazon Data Pipeline SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-devicefarm" = callPackage
@@ -28292,6 +28321,7 @@ self: {
        ];
        description = "Amazon Device Farm SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-directconnect" = callPackage
@@ -28309,6 +28339,7 @@ self: {
        ];
        description = "Amazon Direct Connect SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-discovery" = callPackage
@@ -28326,6 +28357,7 @@ self: {
        ];
        description = "Amazon Application Discovery Service SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-dms" = callPackage
@@ -28343,6 +28375,7 @@ self: {
        ];
        description = "Amazon Database Migration Service SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-ds" = callPackage
@@ -28360,6 +28393,7 @@ self: {
        ];
        description = "Amazon Directory Service SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-dynamodb" = callPackage
@@ -28377,6 +28411,7 @@ self: {
        ];
        description = "Amazon DynamoDB SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-dynamodb-dax" = callPackage
@@ -28394,6 +28429,7 @@ self: {
        ];
        description = "Amazon DynamoDB Accelerator (DAX) SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-dynamodb-streams" = callPackage
@@ -28411,6 +28447,7 @@ self: {
        ];
        description = "Amazon DynamoDB Streams SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-ec2" = callPackage
@@ -28428,6 +28465,7 @@ self: {
        ];
        description = "Amazon Elastic Compute Cloud SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-ecr" = callPackage
@@ -28445,6 +28483,7 @@ self: {
        ];
        description = "Amazon EC2 Container Registry SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-ecs" = callPackage
@@ -28462,6 +28501,7 @@ self: {
        ];
        description = "Amazon EC2 Container Service SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-efs" = callPackage
@@ -28479,6 +28519,7 @@ self: {
        ];
        description = "Amazon Elastic File System SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-elasticache" = callPackage
@@ -28496,6 +28537,7 @@ self: {
        ];
        description = "Amazon ElastiCache SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-elasticbeanstalk" = callPackage
@@ -28513,6 +28555,7 @@ self: {
        ];
        description = "Amazon Elastic Beanstalk SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-elasticsearch" = callPackage
@@ -28530,6 +28573,7 @@ self: {
        ];
        description = "Amazon Elasticsearch Service SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-elastictranscoder" = callPackage
@@ -28547,6 +28591,7 @@ self: {
        ];
        description = "Amazon Elastic Transcoder SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-elb" = callPackage
@@ -28564,6 +28609,7 @@ self: {
        ];
        description = "Amazon Elastic Load Balancing SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-elbv2" = callPackage
@@ -28581,6 +28627,7 @@ self: {
        ];
        description = "Amazon Elastic Load Balancing SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-emr" = callPackage
@@ -28598,6 +28645,7 @@ self: {
        ];
        description = "Amazon Elastic MapReduce SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-fms" = callPackage
@@ -28615,6 +28663,7 @@ self: {
        ];
        description = "Amazon Firewall Management Service SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-gamelift" = callPackage
@@ -28632,6 +28681,7 @@ self: {
        ];
        description = "Amazon GameLift SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-glacier" = callPackage
@@ -28649,6 +28699,7 @@ self: {
        ];
        description = "Amazon Glacier SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-glue" = callPackage
@@ -28666,6 +28717,7 @@ self: {
        ];
        description = "Amazon Glue SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-greengrass" = callPackage
@@ -28683,6 +28735,7 @@ self: {
        ];
        description = "Amazon Greengrass SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-guardduty" = callPackage
@@ -28700,6 +28753,7 @@ self: {
        ];
        description = "Amazon GuardDuty SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-health" = callPackage
@@ -28717,6 +28771,7 @@ self: {
        ];
        description = "Amazon Health APIs and Notifications SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-iam" = callPackage
@@ -28734,6 +28789,7 @@ self: {
        ];
        description = "Amazon Identity and Access Management SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-iam-policy" = callPackage
@@ -28755,6 +28811,8 @@ self: {
        ];
        description = "Amazon IAM Policy Document DSL and Combinators";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "amazonka-importexport" = callPackage
@@ -28772,6 +28830,7 @@ self: {
        ];
        description = "Amazon Import/Export SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-inspector" = callPackage
@@ -28789,6 +28848,7 @@ self: {
        ];
        description = "Amazon Inspector SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-iot" = callPackage
@@ -28806,6 +28866,7 @@ self: {
        ];
        description = "Amazon IoT SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-iot-analytics" = callPackage
@@ -28823,6 +28884,7 @@ self: {
        ];
        description = "Amazon IoT Analytics SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-iot-dataplane" = callPackage
@@ -28840,6 +28902,7 @@ self: {
        ];
        description = "Amazon IoT Data Plane SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-iot-jobs-dataplane" = callPackage
@@ -28857,6 +28920,7 @@ self: {
        ];
        description = "Amazon IoT Jobs Data Plane SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-kinesis" = callPackage
@@ -28874,6 +28938,7 @@ self: {
        ];
        description = "Amazon Kinesis SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-kinesis-analytics" = callPackage
@@ -28891,6 +28956,7 @@ self: {
        ];
        description = "Amazon Kinesis Analytics SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-kinesis-firehose" = callPackage
@@ -28908,6 +28974,7 @@ self: {
        ];
        description = "Amazon Kinesis Firehose SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-kinesis-video" = callPackage
@@ -28925,6 +28992,7 @@ self: {
        ];
        description = "Amazon Kinesis Video Streams SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-kinesis-video-archived-media" = callPackage
@@ -28942,6 +29010,7 @@ self: {
        ];
        description = "Amazon Kinesis Video Streams Archived Media SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-kinesis-video-media" = callPackage
@@ -28959,6 +29028,7 @@ self: {
        ];
        description = "Amazon Kinesis Video Streams Media SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-kms" = callPackage
@@ -28976,6 +29046,7 @@ self: {
        ];
        description = "Amazon Key Management Service SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-lambda" = callPackage
@@ -28993,6 +29064,7 @@ self: {
        ];
        description = "Amazon Lambda SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-lex-models" = callPackage
@@ -29010,6 +29082,7 @@ self: {
        ];
        description = "Amazon Lex Model Building Service SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-lex-runtime" = callPackage
@@ -29027,6 +29100,7 @@ self: {
        ];
        description = "Amazon Lex Runtime Service SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-lightsail" = callPackage
@@ -29044,6 +29118,7 @@ self: {
        ];
        description = "Amazon Lightsail SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-marketplace-analytics" = callPackage
@@ -29061,6 +29136,7 @@ self: {
        ];
        description = "Amazon Marketplace Commerce Analytics SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-marketplace-entitlement" = callPackage
@@ -29078,6 +29154,7 @@ self: {
        ];
        description = "Amazon Marketplace Entitlement Service SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-marketplace-metering" = callPackage
@@ -29095,6 +29172,7 @@ self: {
        ];
        description = "Amazon Marketplace Metering SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-mechanicalturk" = callPackage
@@ -29112,6 +29190,7 @@ self: {
        ];
        description = "Amazon Mechanical Turk SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-mediaconvert" = callPackage
@@ -29130,7 +29209,6 @@ self: {
        description = "Amazon Elemental MediaConvert SDK";
        license = lib.licenses.mpl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "amazonka-medialive" = callPackage
@@ -29148,6 +29226,7 @@ self: {
        ];
        description = "Amazon Elemental MediaLive SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-mediapackage" = callPackage
@@ -29165,6 +29244,7 @@ self: {
        ];
        description = "Amazon Elemental MediaPackage SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-mediastore" = callPackage
@@ -29182,6 +29262,7 @@ self: {
        ];
        description = "Amazon Elemental MediaStore SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-mediastore-dataplane" = callPackage
@@ -29199,6 +29280,7 @@ self: {
        ];
        description = "Amazon Elemental MediaStore Data Plane SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-migrationhub" = callPackage
@@ -29216,6 +29298,7 @@ self: {
        ];
        description = "Amazon Migration Hub SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-ml" = callPackage
@@ -29233,6 +29316,7 @@ self: {
        ];
        description = "Amazon Machine Learning SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-mobile" = callPackage
@@ -29250,6 +29334,7 @@ self: {
        ];
        description = "Amazon Mobile SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-mq" = callPackage
@@ -29267,6 +29352,7 @@ self: {
        ];
        description = "Amazon MQ SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-opsworks" = callPackage
@@ -29284,6 +29370,7 @@ self: {
        ];
        description = "Amazon OpsWorks SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-opsworks-cm" = callPackage
@@ -29301,6 +29388,7 @@ self: {
        ];
        description = "Amazon OpsWorks for Chef Automate SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-organizations" = callPackage
@@ -29318,6 +29406,7 @@ self: {
        ];
        description = "Amazon Organizations SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-pinpoint" = callPackage
@@ -29335,6 +29424,7 @@ self: {
        ];
        description = "Amazon Pinpoint SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-polly" = callPackage
@@ -29352,6 +29442,7 @@ self: {
        ];
        description = "Amazon Polly SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-pricing" = callPackage
@@ -29369,6 +29460,7 @@ self: {
        ];
        description = "Amazon Price List Service SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-rds" = callPackage
@@ -29386,6 +29478,7 @@ self: {
        ];
        description = "Amazon Relational Database Service SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-redshift" = callPackage
@@ -29403,6 +29496,7 @@ self: {
        ];
        description = "Amazon Redshift SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-rekognition" = callPackage
@@ -29420,6 +29514,7 @@ self: {
        ];
        description = "Amazon Rekognition SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-resourcegroups" = callPackage
@@ -29437,6 +29532,7 @@ self: {
        ];
        description = "Amazon Resource Groups SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-resourcegroupstagging" = callPackage
@@ -29454,6 +29550,7 @@ self: {
        ];
        description = "Amazon Resource Groups Tagging API SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-route53" = callPackage
@@ -29471,6 +29568,7 @@ self: {
        ];
        description = "Amazon Route 53 SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-route53-autonaming" = callPackage
@@ -29488,6 +29586,7 @@ self: {
        ];
        description = "Amazon Route 53 Auto Naming SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-route53-domains" = callPackage
@@ -29505,6 +29604,7 @@ self: {
        ];
        description = "Amazon Route 53 Domains SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-s3" = callPackage
@@ -29522,6 +29622,7 @@ self: {
        ];
        description = "Amazon Simple Storage Service SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-s3-streaming" = callPackage
@@ -29542,7 +29643,6 @@ self: {
        description = "Provides conduits to upload data to S3 using the Multipart API";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "amazonka-sagemaker" = callPackage
@@ -29560,6 +29660,7 @@ self: {
        ];
        description = "Amazon SageMaker Service SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-sagemaker-runtime" = callPackage
@@ -29577,6 +29678,7 @@ self: {
        ];
        description = "Amazon SageMaker Runtime SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-sdb" = callPackage
@@ -29594,6 +29696,7 @@ self: {
        ];
        description = "Amazon SimpleDB SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-secretsmanager" = callPackage
@@ -29611,6 +29714,7 @@ self: {
        ];
        description = "Amazon Secrets Manager SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-serverlessrepo" = callPackage
@@ -29628,6 +29732,7 @@ self: {
        ];
        description = "Amazon ServerlessApplicationRepository SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-servicecatalog" = callPackage
@@ -29645,6 +29750,7 @@ self: {
        ];
        description = "Amazon Service Catalog SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-ses" = callPackage
@@ -29662,6 +29768,7 @@ self: {
        ];
        description = "Amazon Simple Email Service SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-shield" = callPackage
@@ -29679,6 +29786,7 @@ self: {
        ];
        description = "Amazon Shield SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-sms" = callPackage
@@ -29696,6 +29804,7 @@ self: {
        ];
        description = "Amazon Server Migration Service SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-snowball" = callPackage
@@ -29713,6 +29822,7 @@ self: {
        ];
        description = "Amazon Import/Export Snowball SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-sns" = callPackage
@@ -29730,6 +29840,7 @@ self: {
        ];
        description = "Amazon Simple Notification Service SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-sqs" = callPackage
@@ -29747,6 +29858,7 @@ self: {
        ];
        description = "Amazon Simple Queue Service SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-ssm" = callPackage
@@ -29764,6 +29876,7 @@ self: {
        ];
        description = "Amazon Simple Systems Manager (SSM) SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-stepfunctions" = callPackage
@@ -29781,6 +29894,7 @@ self: {
        ];
        description = "Amazon Step Functions SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-storagegateway" = callPackage
@@ -29798,6 +29912,7 @@ self: {
        ];
        description = "Amazon Storage Gateway SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-sts" = callPackage
@@ -29815,6 +29930,7 @@ self: {
        ];
        description = "Amazon Security Token Service SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-support" = callPackage
@@ -29832,6 +29948,7 @@ self: {
        ];
        description = "Amazon Support SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-swf" = callPackage
@@ -29849,6 +29966,7 @@ self: {
        ];
        description = "Amazon Simple Workflow Service SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-test" = callPackage
@@ -29870,6 +29988,7 @@ self: {
        ];
        description = "Common functionality for Amazonka library test-suites";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-transcribe" = callPackage
@@ -29887,6 +30006,7 @@ self: {
        ];
        description = "Amazon Transcribe Service SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-translate" = callPackage
@@ -29904,6 +30024,7 @@ self: {
        ];
        description = "Amazon Translate SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-waf" = callPackage
@@ -29921,6 +30042,7 @@ self: {
        ];
        description = "Amazon WAF SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-waf-regional" = callPackage
@@ -29938,6 +30060,7 @@ self: {
        ];
        description = "Amazon WAF Regional SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-workdocs" = callPackage
@@ -29955,6 +30078,7 @@ self: {
        ];
        description = "Amazon WorkDocs SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-workmail" = callPackage
@@ -29972,6 +30096,7 @@ self: {
        ];
        description = "Amazon WorkMail SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-workspaces" = callPackage
@@ -29989,6 +30114,7 @@ self: {
        ];
        description = "Amazon WorkSpaces SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amazonka-xray" = callPackage
@@ -30006,6 +30132,7 @@ self: {
        ];
        description = "Amazon X-Ray SDK";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amby" = callPackage
@@ -30032,7 +30159,6 @@ self: {
        description = "Statistical data visualization";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ampersand" = callPackage
@@ -30600,6 +30726,8 @@ self: {
        executableHaskellDepends = [ base data-default ];
        description = "Tools for interacting with Anki database";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "annah" = callPackage
@@ -30638,6 +30766,25 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "annotated-exception" = callPackage
+    ({ mkDerivation, base, containers, hspec, hspec-discover
+     , safe-exceptions, text, unliftio-core
+     }:
+     mkDerivation {
+       pname = "annotated-exception";
+       version = "0.1.2.1";
+       sha256 = "06nzxm6vxli3jlj940vjxa4j8cg76v5l4za2w1w3j3z9lfzms0h9";
+       libraryHaskellDepends = [
+         base containers safe-exceptions text unliftio-core
+       ];
+       testHaskellDepends = [
+         base containers hspec safe-exceptions text unliftio-core
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Exceptions, with checkpoints and context";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "annotated-fix" = callPackage
     ({ mkDerivation, base, recursion-schemes }:
      mkDerivation {
@@ -30718,6 +30865,8 @@ self: {
        ];
        description = "AnsiPretty for ansi-wl-pprint";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ansi-terminal" = callPackage
@@ -30919,6 +31068,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Please see the README on Github at <https://github.com/arbor/antiope#readme>";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "antiope-contract" = callPackage
@@ -30932,6 +31082,7 @@ self: {
        ];
        description = "Please see the README on Github at <https://github.com/arbor/antiope#readme>";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "antiope-core" = callPackage
@@ -30958,6 +31109,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Please see the README on Github at <https://github.com/arbor/antiope#readme>";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "antiope-dynamodb" = callPackage
@@ -30980,6 +31132,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Please see the README on Github at <https://github.com/arbor/antiope#readme>";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "antiope-es" = callPackage
@@ -30999,6 +31152,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Please see the README on Github at <https://github.com/arbor/antiope#readme>";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "antiope-messages" = callPackage
@@ -31023,6 +31177,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Please see the README on Github at <https://github.com/arbor/antiope#readme>";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "antiope-optparse-applicative" = callPackage
@@ -31045,7 +31200,6 @@ self: {
        description = "Please see the README on Github at <https://github.com/arbor/antiope#readme>";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "antiope-s3" = callPackage
@@ -31074,6 +31228,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Please see the README on Github at <https://github.com/arbor/antiope#readme>";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "antiope-shell" = callPackage
@@ -31103,6 +31258,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Please see the README on Github at <https://github.com/arbor/antiope#readme>";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "antiope-sns" = callPackage
@@ -31126,6 +31282,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Please see the README on Github at <https://github.com/arbor/antiope#readme>";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "antiope-sqs" = callPackage
@@ -31152,6 +31309,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Please see the README on Github at <https://github.com/arbor/antiope#readme>";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "antiope-swf" = callPackage
@@ -31167,6 +31325,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Please see the README on Github at <https://github.com/arbor/antiope#readme>";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "antiprimes" = callPackage
@@ -31286,8 +31445,6 @@ self: {
        testHaskellDepends = [ base ghc-prim ];
        description = "prelude for Algebra of Programming";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "aos-signature" = callPackage
@@ -31481,8 +31638,6 @@ self: {
        ];
        description = "STM stores for apecs";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "apelsin" = callPackage
@@ -31547,29 +31702,6 @@ self: {
      }) {};
 
   "api-maker" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, http-client
-     , http-client-tls, http-types, lens, monad-control, mtl, req, text
-     , transformers, transformers-base
-     }:
-     mkDerivation {
-       pname = "api-maker";
-       version = "0.1.0.0";
-       sha256 = "02rkmyq1zrjklklfqpj1413j3fb0c61y28pwj06z24i71d5nmy6r";
-       libraryHaskellDepends = [
-         aeson base bytestring containers http-client http-client-tls
-         http-types lens monad-control mtl req text transformers
-         transformers-base
-       ];
-       testHaskellDepends = [
-         aeson base bytestring containers http-client http-client-tls
-         http-types lens monad-control mtl req text transformers
-         transformers-base
-       ];
-       description = "Package to make APIs";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "api-maker_0_1_0_6" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, easy-logger
      , http-api-data, http-client, http-client-tls, http-types, lens
      , monad-control, mtl, req, text, transformers, transformers-base
@@ -31590,7 +31722,6 @@ self: {
        ];
        description = "Package to make APIs";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "api-monobank" = callPackage
@@ -31632,6 +31763,32 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "api-rpc-accumulate" = callPackage
+    ({ mkDerivation, aeson, aeson-casing, base, bytestring, http-client
+     , http-client-tls, http-conduit, json-alt, network, remote-json
+     , remote-json-client, remote-monad, stm, text, time, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "api-rpc-accumulate";
+       version = "0.1.0.0";
+       sha256 = "0w3wqvyn524gcv07yzvcmhy9ghc663pwch5psk1fnyd9a51l2kg4";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-casing base bytestring http-client http-client-tls
+         http-conduit json-alt network remote-json remote-json-client
+         remote-monad text time transformers unordered-containers
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring http-client http-conduit stm text time
+       ];
+       testHaskellDepends = [ base bytestring ];
+       description = "JSON-RPC API client for Accumulate blockchain";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "api-rpc-factom" = callPackage
     ({ mkDerivation, aeson, aeson-casing, base, bytestring, http-client
      , http-client-tls, http-conduit, network, servant, servant-client
@@ -31656,7 +31813,6 @@ self: {
        description = "RPC API client for Factom";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "api-rpc-pegnet" = callPackage
@@ -31715,6 +31871,8 @@ 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
@@ -32305,6 +32463,40 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "apply-refact_0_10_0_0" = callPackage
+    ({ mkDerivation, base, containers, directory, extra, filemanip
+     , filepath, ghc, ghc-boot-th, ghc-exactprint, ghc-paths
+     , optparse-applicative, process, refact, silently, syb, tasty
+     , tasty-expected-failure, tasty-golden, transformers, uniplate
+     , unix-compat
+     }:
+     mkDerivation {
+       pname = "apply-refact";
+       version = "0.10.0.0";
+       sha256 = "129bf8n66kpwh5420rxprngg43bqr2agyd8q8d7l49k2rxsjl1fb";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers directory extra filemanip ghc ghc-boot-th
+         ghc-exactprint ghc-paths process refact syb transformers uniplate
+         unix-compat
+       ];
+       executableHaskellDepends = [
+         base containers directory extra filemanip filepath ghc ghc-boot-th
+         ghc-exactprint ghc-paths optparse-applicative process refact syb
+         transformers uniplate unix-compat
+       ];
+       testHaskellDepends = [
+         base containers directory extra filemanip filepath ghc ghc-boot-th
+         ghc-exactprint ghc-paths optparse-applicative process refact
+         silently syb tasty tasty-expected-failure tasty-golden transformers
+         uniplate unix-compat
+       ];
+       description = "Perform refactorings specified by the refact library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "apply-unordered" = callPackage
     ({ mkDerivation, base, fin, ghc, ghc-tcplugins-extra, hspec
      , should-not-typecheck, syb
@@ -32563,6 +32755,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "LRU cache based on STM";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "arbor-monad-counter" = callPackage
@@ -32754,8 +32948,8 @@ self: {
      }:
      mkDerivation {
        pname = "arch-hs";
-       version = "0.10.0.0";
-       sha256 = "1qpd1a5jv4g4chbc5rqbf067zgcxb222qx7gpj37i83sp2rys68m";
+       version = "0.10.1.0";
+       sha256 = "1lkhw3v7gmzgnv4y6p9l3m7qgpdahjiivx12w50kn35crkscscry";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -32776,6 +32970,8 @@ self: {
        ];
        description = "Distribute hackage packages to archlinux";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "arch-web" = callPackage
@@ -32887,6 +33083,7 @@ self: {
        libraryToolDepends = [ cpphs ];
        description = "Common interface using the tar-bytestring package";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "archiver" = callPackage
@@ -32972,15 +33169,15 @@ self: {
   "arduino-copilot" = callPackage
     ({ mkDerivation, base, containers, copilot, copilot-c99
      , copilot-language, directory, filepath, mtl, optparse-applicative
-     , process, temporary
+     , process, sketch-frp-copilot, temporary
      }:
      mkDerivation {
        pname = "arduino-copilot";
-       version = "1.5.7";
-       sha256 = "06qhad2v4qc5izza3j7wnfafzsidz232qqlq1iy3l8sbmdc8kw37";
+       version = "1.7.0";
+       sha256 = "073l9fmg1i83whdfbplpshz2695ls7bb4kf4c40446q0cpccpnrc";
        libraryHaskellDepends = [
          base containers copilot copilot-c99 copilot-language directory
-         filepath mtl optparse-applicative temporary
+         filepath mtl optparse-applicative sketch-frp-copilot temporary
        ];
        testHaskellDepends = [ base directory process temporary ];
        description = "Arduino programming in haskell using the Copilot stream DSL";
@@ -33053,8 +33250,8 @@ self: {
      }:
      mkDerivation {
        pname = "argo";
-       version = "0.2022.2.2";
-       sha256 = "133k1jqx737y8bj92w7afvs5hxh28gcv6yyf7mdwlnvq1xphy7pa";
+       version = "0.2022.2.27";
+       sha256 = "0jbxkkgia4jj49kyc7zg97w397cfdfk194bx8s6cikyaigw0yg0a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -33219,6 +33416,8 @@ self: {
        pname = "arion-compose";
        version = "0.1.3.0";
        sha256 = "1pw0vqx1y3zgq303gdgd3vkz95mqrv8hl0pfkw6kyc49hj7l864y";
+       revision = "1";
+       editedCabalFile = "03pp8dhxdcjkxw2mxgy667p266chbsqn13vc900cccy3qibqqk6m";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -33260,7 +33459,6 @@ self: {
        description = "A practical arithmetic encoding (aka Godel numbering) library";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "arithmatic" = callPackage
@@ -33413,6 +33611,8 @@ self: {
        ];
        description = "Prevent serialization backwards compatibility problems using golden tests";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "arpa" = callPackage
@@ -33537,6 +33737,8 @@ self: {
        ];
        description = "IsList instances of Array for OverloadedLists extension";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "array-memoize" = callPackage
@@ -33678,8 +33880,6 @@ self: {
        ];
        description = "functions for working with arrows";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "arrowapply-utils" = callPackage
@@ -33837,37 +34037,19 @@ self: {
      }) {};
 
   "ascii" = callPackage
-    ({ mkDerivation, ascii-case, ascii-char, ascii-group
-     , ascii-predicates, ascii-superset, ascii-th, base, bytestring
-     , data-ascii, text
-     }:
-     mkDerivation {
-       pname = "ascii";
-       version = "1.0.1.6";
-       sha256 = "1bxii5r24p7i68h37m6q7bjqy9fgp6s33ia9s62hwh70xkkcm8yw";
-       libraryHaskellDepends = [
-         ascii-case ascii-char ascii-group ascii-predicates ascii-superset
-         ascii-th base bytestring data-ascii text
-       ];
-       testHaskellDepends = [ base text ];
-       description = "The ASCII character set and encoding";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "ascii_1_1_1_2" = callPackage
-    ({ mkDerivation, ascii-case, ascii-char, ascii-group
+    ({ mkDerivation, ascii-case, ascii-char, ascii-group, ascii-numbers
      , ascii-predicates, ascii-superset, ascii-th, base, bytestring
-     , text
+     , hedgehog, text
      }:
      mkDerivation {
        pname = "ascii";
-       version = "1.1.1.2";
-       sha256 = "0wyr8s678dz2f45aiaish7xagdpnzn9rdx56zd4cs0aib0w71gl6";
+       version = "1.1.2.0";
+       sha256 = "17yh71i28m1m4hnlbd6sp234kwqpgsdpn4bmv2g283vq37mkn09n";
        libraryHaskellDepends = [
-         ascii-case ascii-char ascii-group ascii-predicates ascii-superset
-         ascii-th base bytestring text
+         ascii-case ascii-char ascii-group ascii-numbers ascii-predicates
+         ascii-superset ascii-th base bytestring text
        ];
-       testHaskellDepends = [ base text ];
+       testHaskellDepends = [ base hedgehog text ];
        description = "The ASCII character set and encoding";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
@@ -33921,6 +34103,7 @@ self: {
        libraryHaskellDepends = [ base random-extras random-fu text ];
        description = "A collection of ASCII cows. Moo.";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ascii-flatten" = callPackage
@@ -33940,13 +34123,13 @@ self: {
      }) {};
 
   "ascii-group" = callPackage
-    ({ mkDerivation, ascii-char, base, hashable }:
+    ({ mkDerivation, ascii-char, base, hashable, hedgehog }:
      mkDerivation {
        pname = "ascii-group";
-       version = "1.0.0.10";
-       sha256 = "0swkv40jlcix8qs62zszkbsvw0k833l6rmrx21jzxvfi41pycd5r";
+       version = "1.0.0.12";
+       sha256 = "0g7n2bqhy131b4d87gqny82pwjndgmddvb2c4k6k2ic5138z6zk3";
        libraryHaskellDepends = [ ascii-char base hashable ];
-       testHaskellDepends = [ ascii-char base ];
+       testHaskellDepends = [ ascii-char base hedgehog ];
        description = "ASCII character groups";
        license = lib.licenses.asl20;
      }) {};
@@ -33966,14 +34149,36 @@ self: {
        license = lib.licenses.gpl3Only;
      }) {};
 
+  "ascii-numbers" = callPackage
+    ({ mkDerivation, ascii-case, ascii-char, ascii-superset, base
+     , bytestring, d10, hashable, hedgehog, invert, text
+     }:
+     mkDerivation {
+       pname = "ascii-numbers";
+       version = "1.0.0.0";
+       sha256 = "1zmid1p3gqdmbriq6d87fyz69pksh1ha2x7w4m4pw7nch85440f5";
+       libraryHaskellDepends = [
+         ascii-case ascii-char ascii-superset base bytestring d10 hashable
+         text
+       ];
+       testHaskellDepends = [
+         ascii-case ascii-char ascii-superset base bytestring d10 hashable
+         hedgehog invert text
+       ];
+       description = "ASCII representations of numbers";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "ascii-predicates" = callPackage
-    ({ mkDerivation, ascii-char, base }:
+    ({ mkDerivation, ascii-char, base, hedgehog }:
      mkDerivation {
        pname = "ascii-predicates";
-       version = "1.0.0.8";
-       sha256 = "1pl1pw6z1yc2r21v70qrm1wfnbzyq8cl0z3xn0268w1qx4qlnpng";
+       version = "1.0.0.10";
+       sha256 = "1964w50mvfwq4x6ss6vhz7q7fg8b9bfhczv95ll9cxs61qn2rir0";
        libraryHaskellDepends = [ ascii-char base ];
-       testHaskellDepends = [ ascii-char base ];
+       testHaskellDepends = [ ascii-char base hedgehog ];
        description = "Various categorizations of ASCII characters";
        license = lib.licenses.asl20;
      }) {};
@@ -34023,15 +34228,17 @@ self: {
      }) {};
 
   "ascii-superset" = callPackage
-    ({ mkDerivation, ascii-char, base, bytestring, hashable, text }:
+    ({ mkDerivation, ascii-char, base, bytestring, hashable, hedgehog
+     , text
+     }:
      mkDerivation {
        pname = "ascii-superset";
-       version = "1.0.1.10";
-       sha256 = "1filq9yr5lmwmn6m5ax0hpnyxlk160qbw2ikvjk4rs6078xwjwl9";
+       version = "1.0.1.12";
+       sha256 = "04kp4v0m1z1sh78862qryhkq1a5jzv1hdkyyrsv2m7caqkh8rn2c";
        libraryHaskellDepends = [
          ascii-char base bytestring hashable text
        ];
-       testHaskellDepends = [ ascii-char base text ];
+       testHaskellDepends = [ ascii-char base hedgehog text ];
        description = "Representing ASCII with refined supersets";
        license = lib.licenses.asl20;
      }) {};
@@ -34055,17 +34262,17 @@ self: {
 
   "ascii-th" = callPackage
     ({ mkDerivation, ascii-char, ascii-superset, base, bytestring
-     , template-haskell, text
+     , hedgehog, template-haskell, text
      }:
      mkDerivation {
        pname = "ascii-th";
-       version = "1.0.0.8";
-       sha256 = "1685msxir8di3blnaykj036b640z8jsmlzvj1vwr86wf92g9gbdz";
+       version = "1.0.0.10";
+       sha256 = "16ir0rkkwzc60fdznjjx9mgfh5vi09h2a77b1gk63m01p10xlr6g";
        libraryHaskellDepends = [
          ascii-char ascii-superset base template-haskell
        ];
        testHaskellDepends = [
-         ascii-char ascii-superset base bytestring text
+         ascii-char ascii-superset base bytestring hedgehog text
        ];
        description = "Template Haskell support for ASCII";
        license = lib.licenses.asl20;
@@ -34203,7 +34410,6 @@ self: {
        description = "Library for creating and querying segmented feeds";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "asil" = callPackage
@@ -34238,8 +34444,6 @@ self: {
        ];
        description = "asn type and encoding/decoding";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "asn1-codec" = callPackage
@@ -34541,6 +34745,8 @@ self: {
        pname = "assoc-list";
        version = "0.1.0.1";
        sha256 = "1ggvws2ma9cn165h03dx0v0zd1aifhi5qx05lnymf9ca98pa7ls9";
+       revision = "1";
+       editedCabalFile = "1flpnhl0sw7cz4r3634ys2bcivza5i4fb3s5l1c5jlrbzzygf04k";
        libraryHaskellDepends = [ base contravariant ];
        testHaskellDepends = [ base contravariant hedgehog ];
        description = "Association lists (lists of tuples)";
@@ -34553,6 +34759,8 @@ self: {
        pname = "assoc-listlike";
        version = "0.1.0.1";
        sha256 = "1jzv0x8397274ks8azm89xcca8i1h6rgi8drbp4nj05mxzvz6brv";
+       revision = "1";
+       editedCabalFile = "19635cmwd5svv3n04vd7lxjmwywhy9q5a9slqp4f57mnlyzw0w4a";
        libraryHaskellDepends = [ base contravariant ListLike ];
        testHaskellDepends = [ base contravariant hedgehog ListLike ];
        description = "Association lists (list-like collections of tuples)";
@@ -34703,8 +34911,6 @@ self: {
        ];
        description = "Amateur astronomical computations";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "astview" = callPackage
@@ -34973,6 +35179,8 @@ self: {
        libraryHaskellDepends = [ array base containers ghc-prim ];
        description = "serialisation for Haskell values with sharing support";
        license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "aterm-utils" = callPackage
@@ -34988,7 +35196,6 @@ self: {
        description = "Utility functions for working with aterms as generated by Minitermite";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "atl" = callPackage
@@ -35065,6 +35272,7 @@ self: {
        ];
        description = "Code that helps you create a valid Atlassian Connect Descriptor";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "atmos" = callPackage
@@ -35224,8 +35432,6 @@ self: {
        libraryHaskellDepends = [ base stm ];
        description = "A typeclass for mutable references that have an atomic modify operation";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "atomic-primops" = callPackage
@@ -35384,6 +35590,7 @@ self: {
        ];
        description = "A source-code formatter for ATS";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ats-pkg" = callPackage
@@ -35419,7 +35626,6 @@ self: {
        description = "A build tool for ATS";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ats-setup" = callPackage
@@ -35572,7 +35778,7 @@ self: {
        broken = true;
      }) {};
 
-  "attoparsec" = callPackage
+  "attoparsec_0_13_2_5" = callPackage
     ({ mkDerivation, array, base, bytestring, case-insensitive
      , containers, criterion, deepseq, directory, filepath, ghc-prim
      , http-types, parsec, QuickCheck, quickcheck-unicode, scientific
@@ -35600,9 +35806,10 @@ self: {
        ];
        description = "Fast combinator parsing for bytestrings and text";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "attoparsec_0_14_4" = callPackage
+  "attoparsec" = callPackage
     ({ mkDerivation, array, base, bytestring, case-insensitive
      , containers, deepseq, directory, filepath, ghc-prim, http-types
      , parsec, QuickCheck, quickcheck-unicode, scientific, tasty
@@ -35631,7 +35838,6 @@ self: {
        doHaddock = false;
        description = "Fast combinator parsing for bytestrings and text";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "attoparsec-arff" = callPackage
@@ -35749,6 +35955,7 @@ self: {
        ];
        description = "Parse IP data types with attoparsec";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "attoparsec-iso8601" = callPackage
@@ -35757,23 +35964,6 @@ self: {
      }:
      mkDerivation {
        pname = "attoparsec-iso8601";
-       version = "1.0.2.0";
-       sha256 = "162gc101mwhmjbfhhv1wm3yvk2h4ra34wpw5x87735cfqxvjv582";
-       revision = "3";
-       editedCabalFile = "1kjwc15lwn9axsx4nkl0ar1afimvhz0wsfir2wrxq17jsj9k0cjj";
-       libraryHaskellDepends = [
-         attoparsec base base-compat-batteries text time time-compat
-       ];
-       description = "Parsing of ISO 8601 dates, originally from aeson";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "attoparsec-iso8601_1_0_2_1" = callPackage
-    ({ mkDerivation, attoparsec, base, base-compat-batteries, text
-     , time, time-compat
-     }:
-     mkDerivation {
-       pname = "attoparsec-iso8601";
        version = "1.0.2.1";
        sha256 = "1zmj6v63xjj20ja50ffbi222yg513cnnqyxl76ybb4x98z9jld0k";
        libraryHaskellDepends = [
@@ -35781,7 +35971,6 @@ self: {
        ];
        description = "Parsing of ISO 8601 dates, originally from aeson";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "attoparsec-iteratee" = callPackage
@@ -35901,6 +36090,7 @@ self: {
        ];
        description = "URI parser / printer using attoparsec";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "attoparsec-varword" = callPackage
@@ -35918,6 +36108,8 @@ self: {
        ];
        description = "Variable-length integer decoding for Attoparsec";
        license = lib.licenses.lgpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "attosplit" = callPackage
@@ -36081,43 +36273,6 @@ self: {
      }:
      mkDerivation {
        pname = "aura";
-       version = "3.2.5";
-       sha256 = "1zrsjcvmhh3y0pahnz2fr944j2xz8sv4dcd9xz08vci4x1lm87hr";
-       revision = "1";
-       editedCabalFile = "0rmihjl4ysw36fpj4g5zkdhzvq8c0n0vxv4zlcmn35q37k85qpb6";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson algebraic-graphs aur base bytestring containers filepath
-         hashable http-client http-types language-bash megaparsec
-         network-uri prettyprinter prettyprinter-ansi-terminal rio scheduler
-         stm text time transformers typed-process versions
-       ];
-       executableHaskellDepends = [
-         aeson aur base bytestring containers http-client http-client-tls
-         megaparsec optparse-applicative prettyprinter
-         prettyprinter-ansi-terminal rio scheduler text transformers
-         typed-process versions
-       ];
-       testHaskellDepends = [
-         base bytestring containers megaparsec rio tasty tasty-hunit text
-         versions
-       ];
-       description = "A secure package manager for Arch Linux and the AUR";
-       license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
-  "aura_3_2_7" = callPackage
-    ({ mkDerivation, aeson, algebraic-graphs, aur, base, bytestring
-     , containers, filepath, hashable, http-client, http-client-tls
-     , http-types, language-bash, megaparsec, network-uri
-     , optparse-applicative, prettyprinter, prettyprinter-ansi-terminal
-     , rio, scheduler, stm, tasty, tasty-hunit, text, time, transformers
-     , typed-process, versions
-     }:
-     mkDerivation {
-       pname = "aura";
        version = "3.2.7";
        sha256 = "07ya2vd94grh6fs7k5kq25yh95xfk5mdqcgqq84anjz0phprq5z3";
        revision = "1";
@@ -36195,26 +36350,6 @@ self: {
      }:
      mkDerivation {
        pname = "authenticate-oauth";
-       version = "1.6.0.1";
-       sha256 = "1hry1zbi7gbyfi94w9cyg6m7ii7xm68jnsph63zxdj2s4ns0ylp0";
-       revision = "2";
-       editedCabalFile = "08i6mmk2jqlrd1aksjx02arly7dfpkwc0dwxpr7hs4rbxajbckyr";
-       libraryHaskellDepends = [
-         base base64-bytestring blaze-builder bytestring crypto-pubkey-types
-         data-default http-client http-types random RSA SHA time
-         transformers transformers-compat
-       ];
-       description = "Library to authenticate with OAuth for Haskell web applications";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "authenticate-oauth_1_7" = callPackage
-    ({ mkDerivation, base, base64-bytestring, blaze-builder, bytestring
-     , crypto-pubkey-types, data-default, http-client, http-types
-     , random, RSA, SHA, time, transformers, transformers-compat
-     }:
-     mkDerivation {
-       pname = "authenticate-oauth";
        version = "1.7";
        sha256 = "0y4v46rn0cvm0sr1v8qq1zgzllrlrr3ji5gij1xprgf1zsazcvvl";
        libraryHaskellDepends = [
@@ -36224,7 +36359,6 @@ self: {
        ];
        description = "Library to authenticate with OAuth for Haskell web applications";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "authinfo-hs" = callPackage
@@ -36296,25 +36430,6 @@ self: {
      }:
      mkDerivation {
        pname = "autoapply";
-       version = "0.4.1";
-       sha256 = "1jgzfdi5p0pns6w7543yp2ljglnmym9qplyb4vafynzg3bjhzvz0";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         base logict mtl template-haskell th-desugar transformers
-         unification-fd
-       ];
-       testHaskellDepends = [ base doctest ];
-       description = "Template Haskell to automatically pass values to functions";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ expipiplus1 ];
-     }) {};
-
-  "autoapply_0_4_1_1" = callPackage
-    ({ mkDerivation, base, Cabal, cabal-doctest, doctest, logict, mtl
-     , template-haskell, th-desugar, transformers, unification-fd
-     }:
-     mkDerivation {
-       pname = "autoapply";
        version = "0.4.1.1";
        sha256 = "1gpc08j5sq51kz1ysjnm50h89zd6g9r9grbc49jrrbnqirnnl6fl";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -36325,7 +36440,6 @@ self: {
        testHaskellDepends = [ base doctest ];
        description = "Template Haskell to automatically pass values to functions";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ expipiplus1 ];
      }) {};
 
@@ -36345,6 +36459,8 @@ self: {
        testHaskellDepends = [ base doctest ];
        description = "Self-documenting encoder and decoder";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "autodocodec-openapi3" = callPackage
@@ -36361,6 +36477,7 @@ self: {
        ];
        description = "Autodocodec interpreters for openapi3";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "autodocodec-schema" = callPackage
@@ -36378,6 +36495,7 @@ self: {
        ];
        description = "Autodocodec interpreters for JSON Schema";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "autodocodec-swagger2" = callPackage
@@ -36394,6 +36512,7 @@ self: {
        ];
        description = "Autodocodec interpreters for swagger2";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "autodocodec-yaml" = callPackage
@@ -36412,26 +36531,13 @@ self: {
        ];
        description = "Autodocodec interpreters for yaml";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "autoexporter" = callPackage
     ({ mkDerivation, base, Cabal, directory, filepath }:
      mkDerivation {
        pname = "autoexporter";
-       version = "1.1.20";
-       sha256 = "1aciwnsxb76hl2yx1n8mbmd6rhl41f1axq3c2djdc6mkkiyh9qc1";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base Cabal directory filepath ];
-       executableHaskellDepends = [ base ];
-       description = "Automatically re-export modules";
-       license = lib.licenses.mit;
-     }) {};
-
-  "autoexporter_2_0_0_1" = callPackage
-    ({ mkDerivation, base, Cabal, directory, filepath }:
-     mkDerivation {
-       pname = "autoexporter";
        version = "2.0.0.1";
        sha256 = "1sdpfqd8ypi1d8bkxj695midhgi9ynahknwlc72gh718ah26xc18";
        isLibrary = true;
@@ -36440,7 +36546,6 @@ self: {
        executableHaskellDepends = [ base Cabal directory filepath ];
        description = "Automatically re-export modules";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "autom" = callPackage
@@ -36483,7 +36588,6 @@ self: {
        description = "automata";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "automitive-cse" = callPackage
@@ -36748,7 +36852,6 @@ self: {
        description = "Diagrams for the Cessna 172 aircraft in aviation";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "aviation-cessna172-weight-balance" = callPackage
@@ -36764,6 +36867,7 @@ self: {
        ];
        description = "Weight and Balance for the Cessna 172 aircraft in aviation";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "aviation-navigation" = callPackage
@@ -36794,6 +36898,8 @@ self: {
        libraryHaskellDepends = [ base lens ];
        description = "Units of measurements used in aviation";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "aviation-weight-balance" = callPackage
@@ -36805,6 +36911,7 @@ self: {
        libraryHaskellDepends = [ aviation-units base lens ];
        description = "Weight and Balance structures used in aviation";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "avl-static" = callPackage
@@ -36845,57 +36952,19 @@ self: {
      , generic-lens, HasBigDecimal, hashable, hedgehog, hspec
      , hspec-discover, hw-hspec-hedgehog, lens, lens-aeson, mtl
      , QuickCheck, random, raw-strings-qq, scientific, semigroups
-     , tagged, template-haskell, text, tf-random, time, transformers
-     , unordered-containers, uuid, vector, zlib
+     , tagged, template-haskell, text, tf-random, th-lift-instances
+     , time, transformers, unordered-containers, uuid, vector, zlib
      }:
      mkDerivation {
        pname = "avro";
-       version = "0.5.2.0";
-       sha256 = "1apvqny4dikx5b7yqxs8a4hsxipl5xvz2i3c5bna1faiagxav1i1";
-       revision = "1";
-       editedCabalFile = "0081mnhn26824rbdsz1n74i9m21yfkh6y4g3v7ksh933dxagyiij";
-       libraryHaskellDepends = [
-         aeson array base base16-bytestring bifunctors binary bytestring
-         containers data-binary-ieee754 deepseq fail HasBigDecimal hashable
-         mtl raw-strings-qq scientific semigroups tagged template-haskell
-         text tf-random time unordered-containers uuid vector zlib
-       ];
-       testHaskellDepends = [
-         aeson array base base16-bytestring bifunctors binary bytestring
-         containers directory doctest doctest-discover extra fail
-         generic-lens HasBigDecimal hashable hedgehog hspec
-         hw-hspec-hedgehog lens lens-aeson mtl QuickCheck raw-strings-qq
-         scientific semigroups tagged text tf-random time transformers
-         unordered-containers uuid vector zlib
-       ];
-       testToolDepends = [ doctest-discover hspec-discover ];
-       benchmarkHaskellDepends = [
-         aeson base binary bytestring containers deepseq gauge hashable mtl
-         random raw-strings-qq text transformers unordered-containers vector
-       ];
-       description = "Avro serialization support for Haskell";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "avro_0_6_0_1" = callPackage
-    ({ mkDerivation, aeson, array, base, base16-bytestring, bifunctors
-     , binary, bytestring, containers, data-binary-ieee754, deepseq
-     , directory, doctest, doctest-discover, extra, fail, gauge
-     , generic-lens, HasBigDecimal, hashable, hedgehog, hspec
-     , hspec-discover, hw-hspec-hedgehog, lens, lens-aeson, mtl
-     , QuickCheck, random, raw-strings-qq, scientific, semigroups
-     , tagged, template-haskell, text, tf-random, time, transformers
-     , unordered-containers, uuid, vector, zlib
-     }:
-     mkDerivation {
-       pname = "avro";
-       version = "0.6.0.1";
-       sha256 = "1kl7dp0vm2klvijszjhwj2x9m4bmw044s085fyq86cszqrsrrn6w";
+       version = "0.6.1.0";
+       sha256 = "0fvpva4516y9yxh2bh8kp9vzrcyh2hcffpn2f4g27l2pqsdjanyq";
        libraryHaskellDepends = [
          aeson array base base16-bytestring bifunctors binary bytestring
          containers data-binary-ieee754 deepseq fail HasBigDecimal hashable
          mtl raw-strings-qq scientific semigroups tagged template-haskell
-         text tf-random time unordered-containers uuid vector zlib
+         text tf-random th-lift-instances time unordered-containers uuid
+         vector zlib
        ];
        testHaskellDepends = [
          aeson array base base16-bytestring bifunctors binary bytestring
@@ -36912,7 +36981,6 @@ self: {
        ];
        description = "Avro serialization support for Haskell";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "avro-piper" = callPackage
@@ -36948,6 +37016,7 @@ self: {
        description = "Tool for decoding avro";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "avwx" = callPackage
@@ -36967,6 +37036,8 @@ self: {
        testHaskellDepends = [ attoparsec base lens pretty-show text ];
        description = "Parse aviation weather reports";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "awesome-prelude" = callPackage
@@ -37072,6 +37143,8 @@ self: {
        pname = "aws-arn";
        version = "0.1.0.1";
        sha256 = "0ml27685rjycrhc84sq41yniy15s2ak59cq5j1ybf9mxkwl52qcn";
+       revision = "1";
+       editedCabalFile = "1jm9g9fqyk2xr37kw52qghcpr9ak9nss1hnc3wy1lq2an42q1dpw";
        libraryHaskellDepends = [
          base deriving-compat hashable lens text
        ];
@@ -37093,8 +37166,31 @@ self: {
        pname = "aws-cloudfront-signed-cookies";
        version = "0.2.0.10";
        sha256 = "1mzsg6wfzgiippl8kw54m16i1m7zxwfqfwx3wbb3m372pg4h9sza";
-       revision = "3";
-       editedCabalFile = "0yswkjkx4xhmy11k3zcgcrmwr19dcaxw15vbl52nqsrhamw60fh3";
+       revision = "5";
+       editedCabalFile = "1d9zsm2y08mzgr25wk3bf1laz918vbjvrfh7kc56r1naiqqprj74";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty asn1-encoding asn1-types base base64-bytestring
+         bytestring cookie cryptonite lens lens-aeson optparse-applicative
+         pem text time vector
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base hedgehog neat-interpolation ];
+       description = "Generate signed cookies for AWS CloudFront";
+       license = lib.licenses.mit;
+     }) {};
+
+  "aws-cloudfront-signed-cookies_0_2_0_11" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, asn1-encoding, asn1-types
+     , base, base64-bytestring, bytestring, cookie, cryptonite, hedgehog
+     , lens, lens-aeson, neat-interpolation, optparse-applicative, pem
+     , text, time, vector
+     }:
+     mkDerivation {
+       pname = "aws-cloudfront-signed-cookies";
+       version = "0.2.0.11";
+       sha256 = "018a3q443h19pbcc178ns7zdmsdd3pz8ww3yfixrhr4jfghws3r9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -37106,6 +37202,7 @@ self: {
        testHaskellDepends = [ base hedgehog neat-interpolation ];
        description = "Generate signed cookies for AWS CloudFront";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "aws-cloudfront-signer" = callPackage
@@ -37209,7 +37306,6 @@ self: {
        description = "Helper function and types for working with amazonka";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "aws-ec2" = callPackage
@@ -37264,7 +37360,6 @@ self: {
        description = "Capture and manage AWS EC2 known_host pubkeys";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "aws-elastic-transcoder" = callPackage
@@ -37445,6 +37540,8 @@ self: {
        testHaskellDepends = [ base hspec ];
        description = "Haskell runtime for AWS Lambda";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "aws-lambda-haskell-runtime-wai" = callPackage
@@ -37468,6 +37565,7 @@ self: {
        ];
        description = "Run wai applications on AWS Lambda";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "aws-lambda-runtime" = callPackage
@@ -37492,6 +37590,8 @@ self: {
        executableHaskellDepends = [ aeson base lens lens-aeson text ];
        description = "Haskell on AWS Lambda Runtime API";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "aws-larpi" = callPackage
@@ -37669,6 +37769,7 @@ self: {
        benchmarkHaskellDepends = [ base criterion ];
        description = "Wrapper over Amazonka's SES";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "aws-sign4" = callPackage
@@ -37711,7 +37812,6 @@ self: {
        description = "Dead simple bindings to commonly used AWS Services";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "aws-sns" = callPackage
@@ -37783,6 +37883,8 @@ 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
@@ -37791,8 +37893,8 @@ self: {
      }:
      mkDerivation {
        pname = "aws-xray-client-persistent";
-       version = "0.1.0.2";
-       sha256 = "0c2x2bwrddzg1if4fiznmyl62priwr3m626vm0lqndmgjxv13snd";
+       version = "0.1.0.4";
+       sha256 = "1jkc3li196l0hp4x1kbx65idn7dl710c2yagbh573d3l09zzh0l8";
        libraryHaskellDepends = [
          aws-xray-client base conduit containers lens persistent random
          resourcet text time
@@ -37800,7 +37902,6 @@ self: {
        description = "A client for AWS X-Ray integration with Persistent";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "aws-xray-client-wai" = callPackage
@@ -37818,6 +37919,7 @@ self: {
        ];
        description = "A client for AWS X-Ray integration with WAI";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "axel" = callPackage
@@ -38119,12 +38221,12 @@ self: {
      , mtl, neat-interpolation, optparse-applicative, parallel, parsec
      , posix-pty, pretty, pretty-show, process, QuickCheck, random
      , shake, syb, tagged, template, temporary, text, time, transformers
-     , unix, unordered-containers, vector, yaml
+     , unix, unordered-containers, vector, with-utf8, yaml
      }:
      mkDerivation {
        pname = "b9";
-       version = "3.2.0";
-       sha256 = "00zsrvqj46a9f7fa8g64xrlmzbwy8gca2bsgvnkv0chzbgn26pjk";
+       version = "3.2.3";
+       sha256 = "1rczlvx3bqnm5a7ss7dgq6nhk7v578nbq9rcilrx7fwczs01k9sn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -38140,7 +38242,7 @@ self: {
          aeson base binary bytestring containers directory
          extensible-effects filepath hspec hspec-expectations lens
          neat-interpolation optparse-applicative process QuickCheck shake
-         text unordered-containers vector yaml
+         text unordered-containers vector with-utf8 yaml
        ];
        testHaskellDepends = [
          aeson base binary bytestring containers directory
@@ -38254,6 +38356,8 @@ self: {
        ];
        description = "Heterogeneous automatic differentation";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "backstop" = callPackage
@@ -38571,8 +38675,8 @@ self: {
        pname = "ban-instance";
        version = "0.1.0.1";
        sha256 = "0504qsjbqbrdf9avfrhs290baszc9dickx7wknbyxwrzpzzbpggk";
-       revision = "1";
-       editedCabalFile = "1ii8z13xlnn9avkpvbwbm3m8pwvd5rrkp34n1klcdy9r96bk9pw3";
+       revision = "2";
+       editedCabalFile = "1piiw6fkfbkdbiz4sky34anghhhzjsklgxgxn1x76fsh5nyj1dkn";
        libraryHaskellDepends = [ base template-haskell ];
        testHaskellDepends = [ base ];
        description = "For when a type should never be an instance of a class";
@@ -38591,16 +38695,14 @@ self: {
        testHaskellDepends = [ base hspec HUnit QuickCheck time ];
        description = "US bank holidays";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "bank-holidays-england" = callPackage
     ({ mkDerivation, base, containers, hspec, QuickCheck, time }:
      mkDerivation {
        pname = "bank-holidays-england";
-       version = "0.2.0.6";
-       sha256 = "1g8x61byxikanfdpnmfc354gp1kyd5c4jlym9w65sh7l1jpbm4ss";
+       version = "0.2.0.7";
+       sha256 = "0q24flhiqp50krld6blmnlj8wqf2jvhfdpwrg469n3391p7jgfsc";
        libraryHaskellDepends = [ base containers time ];
        testHaskellDepends = [ base containers hspec QuickCheck time ];
        description = "Calculation of bank holidays in England and Wales";
@@ -38755,7 +38857,6 @@ self: {
        description = "A web based environment for learning and tinkering with Haskell";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "barrie" = callPackage
@@ -38810,12 +38911,12 @@ self: {
        broken = true;
      }) {};
 
-  "base_4_16_0_0" = callPackage
+  "base_4_16_1_0" = callPackage
     ({ mkDerivation, ghc-bignum, ghc-prim, rts }:
      mkDerivation {
        pname = "base";
-       version = "4.16.0.0";
-       sha256 = "0m5h5kynyfll8hna1dgqw7s2w5spvxzp84pm3niinpf9fva6hhv9";
+       version = "4.16.1.0";
+       sha256 = "1n6w97xxdsspa34w417sakx1ysv4qgp5l00r6lkf09rwfmani7vl";
        libraryHaskellDepends = [ ghc-bignum ghc-prim rts ];
        description = "Basic libraries";
        license = lib.licenses.bsd3;
@@ -38864,7 +38965,7 @@ self: {
 
   "base-compat-batteries_0_12_1" = callPackage
     ({ mkDerivation, base, base-compat, ghc-prim, hspec, hspec-discover
-     , OneTuple, QuickCheck
+     , QuickCheck
      }:
      mkDerivation {
        pname = "base-compat-batteries";
@@ -38872,7 +38973,7 @@ self: {
        sha256 = "12w3bpsz3xykhibc8wkhiii9nav7yxhlv424cy1b9v9ihbfkr3zr";
        revision = "2";
        editedCabalFile = "0p522rvawkpyr12jwa0cikpqihvq2xd99nr95l0s3zdjf1srv0gf";
-       libraryHaskellDepends = [ base base-compat ghc-prim OneTuple ];
+       libraryHaskellDepends = [ base base-compat ghc-prim ];
        testHaskellDepends = [ base hspec QuickCheck ];
        testToolDepends = [ hspec-discover ];
        description = "base-compat with extra batteries";
@@ -38983,10 +39084,10 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "base-prelude";
-       version = "1.4";
-       sha256 = "0nn5v2y9kl7i3n21250m7cvn55lvkmzj22wx6q4kaag5ycwwczrs";
+       version = "1.6.1";
+       sha256 = "0rbx6k85svqrkw5ixp2xal8bg6xrz729g7rrhkgsr3ixv38k943j";
        libraryHaskellDepends = [ base ];
-       description = "The most complete prelude formed solely from the \"base\" package";
+       description = "Featureful preludes formed solely from the \"base\" package";
        license = lib.licenses.mit;
      }) {};
 
@@ -39025,6 +39126,31 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "base16_0_3_2_0" = callPackage
+    ({ mkDerivation, base, base16-bytestring, bytestring, criterion
+     , deepseq, primitive, QuickCheck, random-bytestring, tasty
+     , tasty-hunit, tasty-quickcheck, text, text-short
+     }:
+     mkDerivation {
+       pname = "base16";
+       version = "0.3.2.0";
+       sha256 = "149kpmx63b8bmlwjpldkxxb4ldf28qz4h4i3ars6dwlyhzxg6qav";
+       libraryHaskellDepends = [
+         base bytestring deepseq primitive text text-short
+       ];
+       testHaskellDepends = [
+         base base16-bytestring bytestring QuickCheck random-bytestring
+         tasty tasty-hunit tasty-quickcheck text text-short
+       ];
+       benchmarkHaskellDepends = [
+         base base16-bytestring bytestring criterion deepseq
+         random-bytestring text
+       ];
+       description = "Fast RFC 4648-compliant Base16 encoding";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "base16-bytestring_0_1_1_7" = callPackage
     ({ mkDerivation, base, bytestring, ghc-prim }:
      mkDerivation {
@@ -39098,6 +39224,30 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "base32_0_2_2_0" = callPackage
+    ({ mkDerivation, base, bytestring, criterion, deepseq, memory
+     , QuickCheck, random-bytestring, tasty, tasty-hunit
+     , tasty-quickcheck, text, text-short
+     }:
+     mkDerivation {
+       pname = "base32";
+       version = "0.2.2.0";
+       sha256 = "1g4yb3v1rgggl4ks4wznidssycs23zjl6fz1iiachf730hz79w31";
+       libraryHaskellDepends = [
+         base bytestring deepseq text text-short
+       ];
+       testHaskellDepends = [
+         base bytestring memory QuickCheck random-bytestring tasty
+         tasty-hunit tasty-quickcheck text text-short
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring criterion deepseq memory random-bytestring text
+       ];
+       description = "Fast RFC 4648-compliant Base32 encoding";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "base32-bytestring" = callPackage
     ({ mkDerivation, base, bits-extras, bytestring, cpu, criterion
      , hspec, QuickCheck
@@ -39263,6 +39413,31 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "base64_0_4_2_4" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, criterion
+     , deepseq, QuickCheck, random-bytestring, tasty, tasty-hunit
+     , tasty-quickcheck, text, text-short
+     }:
+     mkDerivation {
+       pname = "base64";
+       version = "0.4.2.4";
+       sha256 = "119mpqcv1rwkhwm69ga2b4f7hr825fa5wfm1w3i1szmhzh52s2k4";
+       libraryHaskellDepends = [
+         base bytestring deepseq text text-short
+       ];
+       testHaskellDepends = [
+         base base64-bytestring bytestring QuickCheck random-bytestring
+         tasty tasty-hunit tasty-quickcheck text text-short
+       ];
+       benchmarkHaskellDepends = [
+         base base64-bytestring bytestring criterion deepseq
+         random-bytestring text
+       ];
+       description = "A modern RFC 4648-compliant Base64 library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "base64-bytes" = callPackage
     ({ mkDerivation, base, base64, base64-bytestring, byte-order
      , bytebuild, byteslice, bytestring, gauge, natural-arithmetic
@@ -39289,27 +39464,6 @@ self: {
      }) {};
 
   "base64-bytestring" = callPackage
-    ({ mkDerivation, base, bytestring, containers, criterion, deepseq
-     , HUnit, QuickCheck, split, test-framework, test-framework-hunit
-     , test-framework-quickcheck2
-     }:
-     mkDerivation {
-       pname = "base64-bytestring";
-       version = "1.1.0.0";
-       sha256 = "1adcnkcx4nh3d59k94bkndj0wkgbvchz576qwlpaa7148a86q391";
-       libraryHaskellDepends = [ base bytestring ];
-       testHaskellDepends = [
-         base bytestring containers HUnit QuickCheck split test-framework
-         test-framework-hunit test-framework-quickcheck2
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring containers criterion deepseq
-       ];
-       description = "Fast base64 encoding and decoding for ByteStrings";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "base64-bytestring_1_2_1_0" = callPackage
     ({ mkDerivation, base, bytestring, criterion, deepseq, HUnit
      , QuickCheck, test-framework, test-framework-hunit
      , test-framework-quickcheck2
@@ -39326,7 +39480,6 @@ self: {
        benchmarkHaskellDepends = [ base bytestring criterion deepseq ];
        description = "Fast base64 encoding and decoding for ByteStrings";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "base64-bytestring-type" = callPackage
@@ -39380,6 +39533,8 @@ self: {
        pname = "base64-lens";
        version = "0.3.1";
        sha256 = "1iszvlc22h7crwqhcafy974l0l1rgxbcjf6lb5yxsvp6q66gzhrn";
+       revision = "1";
+       editedCabalFile = "04mm8fq2lr4lv2a64aiy1q9mzg9n5cd1s62jpcbq1jgq0q4wilkh";
        libraryHaskellDepends = [
          base base64 bytestring lens text text-short
        ];
@@ -39423,10 +39578,8 @@ self: {
     ({ mkDerivation, base, ghc-prim }:
      mkDerivation {
        pname = "basement";
-       version = "0.0.12";
-       sha256 = "12zsnxkgv86im2prslk6ddhy0zwpawwjc1h4ff63kpxp2xdl7i2k";
-       revision = "1";
-       editedCabalFile = "1gr3zqf9xl3wlr2ajc03h9iya3jpx2h4jyjv2vhqxdvm6myiiffb";
+       version = "0.0.14";
+       sha256 = "01kk3z0c48c2jhni8ba165zxzm4sljy18r97cad1yd897qjsy2mv";
        libraryHaskellDepends = [ base ghc-prim ];
        description = "Foundation scrap box of array & string";
        license = lib.licenses.bsd3;
@@ -39808,6 +39961,8 @@ self: {
        ];
        description = "Core definitions for BattlePlace.io service";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "battleplace-api" = callPackage
@@ -39821,6 +39976,7 @@ self: {
        ];
        description = "Public API definitions of BattlePlace.io service";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "battleship-combinatorics" = callPackage
@@ -39844,8 +40000,6 @@ self: {
        testHaskellDepends = [ base QuickCheck ];
        description = "Compute number of possible arrangements in the battleship game";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "battleships" = callPackage
@@ -39984,6 +40138,7 @@ self: {
        ];
        description = "Language tags as specified by BCP 47";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "bcp47-orphans" = callPackage
@@ -40003,6 +40158,7 @@ self: {
        ];
        description = "BCP47 orphan instances";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "bcrypt" = callPackage
@@ -40132,6 +40288,8 @@ self: {
        libraryHaskellDepends = [ base bytestring ];
        description = "Simple, fast binary diff/patch";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "bdo" = callPackage
@@ -40336,8 +40494,6 @@ self: {
        ];
        description = "Beam driver for SQLite";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "beam-th" = callPackage
@@ -40452,24 +40608,6 @@ self: {
      }:
      mkDerivation {
        pname = "bech32-th";
-       version = "1.0.2";
-       sha256 = "0ypn8y4b0iw7jb167biy0zjs4hp9k9nlf8y4nsczfv5n4p4cadnq";
-       revision = "1";
-       editedCabalFile = "1b614lymjd3idcbzrkha7labfskv1m0kbljrnhwcz7sbymfcbdbk";
-       libraryHaskellDepends = [ base bech32 template-haskell text ];
-       testHaskellDepends = [ base bech32 hspec template-haskell ];
-       testToolDepends = [ hspec-discover ];
-       description = "Template Haskell extensions to the Bech32 library";
-       license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
-  "bech32-th_1_1_1" = callPackage
-    ({ mkDerivation, base, bech32, hspec, hspec-discover
-     , template-haskell, text
-     }:
-     mkDerivation {
-       pname = "bech32-th";
        version = "1.1.1";
        sha256 = "0548an9v6y14qalb1agl5bskcmpb9865lxyap162xzgskd9s4iik";
        libraryHaskellDepends = [ base bech32 template-haskell text ];
@@ -40520,7 +40658,6 @@ self: {
        description = "Bindings to the beeminder.com JSON API";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "bein" = callPackage
@@ -40633,8 +40770,6 @@ self: {
        testHaskellDepends = [ base split text ];
        description = "Show, plot and compare benchmark results";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "benchmark-function" = callPackage
@@ -40652,8 +40787,8 @@ self: {
     ({ mkDerivation, base, bytestring, mtl, time }:
      mkDerivation {
        pname = "benchpress";
-       version = "0.2.2.18";
-       sha256 = "1ihg97zkvhq7sbp851q3qdpf2mmi2l88w742pq6cldhlhb8q7xa5";
+       version = "0.2.2.19";
+       sha256 = "00yv902qicsyrx2sbx7m2h1wsqfzikl8ffbkcvm1xqkn11p3gcjw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base mtl time ];
@@ -40729,6 +40864,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "bencoding-lens" = callPackage
+    ({ mkDerivation, base, bencoding, bytestring, cryptonite, hspec
+     , http-conduit, lens
+     }:
+     mkDerivation {
+       pname = "bencoding-lens";
+       version = "0.1.0.0";
+       sha256 = "0n4igbdc2x2415giwpy4w9n54c54y2afw8bbrqjmp8ykcfjmqfzm";
+       libraryHaskellDepends = [ base bencoding bytestring lens ];
+       testHaskellDepends = [
+         base bencoding cryptonite hspec http-conduit lens
+       ];
+       description = "Lenses for bencoded data";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "bento" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -41364,19 +41517,6 @@ self: {
      }) {};
 
   "bin" = callPackage
-    ({ mkDerivation, base, dec, deepseq, fin, hashable, QuickCheck }:
-     mkDerivation {
-       pname = "bin";
-       version = "0.1.1";
-       sha256 = "11awr2zdknjdgy365hh3alq0fjkhhixk6synf65af2brzkl8k5ys";
-       libraryHaskellDepends = [
-         base dec deepseq fin hashable QuickCheck
-       ];
-       description = "Bin: binary natural numbers";
-       license = lib.licenses.gpl2Plus;
-     }) {};
-
-  "bin_0_1_2" = callPackage
     ({ mkDerivation, base, boring, dec, deepseq, fin, hashable
      , QuickCheck, some
      }:
@@ -41389,7 +41529,33 @@ self: {
        ];
        description = "Bin: binary natural numbers";
        license = lib.licenses.gpl2Plus;
-       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "binance-exports" = callPackage
+    ({ mkDerivation, aeson, base, bytedump, bytestring, cassava
+     , cmdargs, cryptohash-sha256, directory, hedgehog, http-client
+     , http-types, mtl, raw-strings-qq, req, safe-exceptions, scientific
+     , tasty, tasty-hedgehog, tasty-hunit, text, time, xdg-basedir, yaml
+     }:
+     mkDerivation {
+       pname = "binance-exports";
+       version = "0.1.1.0";
+       sha256 = "18gaky4kyyx6v3jxay0ax8scbqnljrfxk6papbri9hm0ylh2vh8l";
+       revision = "1";
+       editedCabalFile = "0v5ss5mn2r3ir7lbwbiszw9l4khgmvw4dfavdfg29mhv39hr1y6v";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytedump bytestring cassava cmdargs cryptohash-sha256
+         directory http-client http-types mtl raw-strings-qq req
+         safe-exceptions scientific text time xdg-basedir yaml
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base hedgehog tasty tasty-hedgehog tasty-hunit
+       ];
+       description = "Generate CSV Exports of your Binance Trade History";
+       license = lib.licenses.bsd3;
      }) {};
 
   "binary_0_8_9_0" = callPackage
@@ -41638,8 +41804,6 @@ self: {
        ];
        description = "Read and write values of types that implement Binary";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "binary-list" = callPackage
@@ -41672,25 +41836,6 @@ self: {
      }) {};
 
   "binary-orphans" = callPackage
-    ({ mkDerivation, base, binary, QuickCheck, quickcheck-instances
-     , tagged, tasty, tasty-quickcheck, transformers
-     }:
-     mkDerivation {
-       pname = "binary-orphans";
-       version = "1.0.1";
-       sha256 = "0gbmn5rpvyxhw5bxjmxwld6918lslv03b2f6hshssaw1il5x86j3";
-       revision = "5";
-       editedCabalFile = "1h2d37szfrcwn9rphnijn4q9l947b0wwqjs1aqmm62xkhbad7jf6";
-       libraryHaskellDepends = [ base binary transformers ];
-       testHaskellDepends = [
-         base binary QuickCheck quickcheck-instances tagged tasty
-         tasty-quickcheck
-       ];
-       description = "Compatibility package for binary; provides instances";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "binary-orphans_1_0_2" = callPackage
     ({ mkDerivation, base, binary, OneTuple, QuickCheck
      , quickcheck-instances, tagged, tasty, tasty-quickcheck
      , transformers
@@ -41708,7 +41853,6 @@ self: {
        ];
        description = "Compatibility package for binary; provides instances";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "binary-parser" = callPackage
@@ -41934,6 +42078,8 @@ self: {
        ];
        benchmarkHaskellDepends = [ base criterion random ];
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "binary-typed" = callPackage
@@ -42025,6 +42171,8 @@ self: {
        testHaskellDepends = [ base HTF HUnit QuickCheck random ];
        description = "Data Binding";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "binding-gtk" = callPackage
@@ -42040,7 +42188,6 @@ self: {
        description = "Data Binding in Gtk2Hs";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "binding-wx" = callPackage
@@ -42232,8 +42379,6 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "This package is obsolete. Look for bindings-DSL instead.";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "bindings-dc1394" = callPackage
@@ -42427,8 +42572,6 @@ self: {
        librarySystemDepends = [ blas liblapack ];
        description = "Low level bindings to the C levmar (Levenberg-Marquardt) library";
        license = "unknown";
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) blas; inherit (pkgs) liblapack;};
 
   "bindings-libcddb" = callPackage
@@ -42863,7 +43006,6 @@ self: {
        description = "A variation of Data.Dynamic.Dynamic with a Binary instance";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "binembed" = callPackage
@@ -42932,6 +43074,8 @@ self: {
        ];
        description = "Aggregate continuous values into discrete bins";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "binsm" = callPackage
@@ -43279,8 +43423,6 @@ self: {
        testHaskellDepends = [ base ];
        description = "Birds of Paradise";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "bisc" = callPackage
@@ -43306,14 +43448,14 @@ self: {
   "biscuit-haskell" = callPackage
     ({ mkDerivation, aeson, async, attoparsec, base, base16-bytestring
      , base64, bytestring, cereal, containers, criterion, cryptonite
-     , memory, mtl, parser-combinators, protobuf, random, regex-tdfa
-     , tasty, tasty-hunit, template-haskell, text, th-lift-instances
-     , time, validation-selective
+     , lens, lens-aeson, memory, mtl, parser-combinators, protobuf
+     , random, regex-tdfa, tasty, tasty-hunit, template-haskell, text
+     , th-lift-instances, time, validation-selective
      }:
      mkDerivation {
        pname = "biscuit-haskell";
-       version = "0.2.0.1";
-       sha256 = "1qvryksscidp5g9aax44i2q50yddkymrmrsyxc1qvd6wc2mhvqkz";
+       version = "0.2.1.0";
+       sha256 = "12c5cl3gc0518b7vrzc0v56ch8rlsc5xvdmhj8lxr085xm16dqng";
        libraryHaskellDepends = [
          async attoparsec base base16-bytestring base64 bytestring cereal
          containers cryptonite memory mtl parser-combinators protobuf random
@@ -43322,9 +43464,9 @@ self: {
        ];
        testHaskellDepends = [
          aeson async attoparsec base base16-bytestring base64 bytestring
-         cereal containers cryptonite mtl parser-combinators protobuf random
-         tasty tasty-hunit template-haskell text th-lift-instances time
-         validation-selective
+         cereal containers cryptonite lens lens-aeson mtl parser-combinators
+         protobuf random tasty tasty-hunit template-haskell text
+         th-lift-instances time validation-selective
        ];
        benchmarkHaskellDepends = [ base criterion ];
        description = "Library support for the Biscuit security token";
@@ -43340,8 +43482,8 @@ self: {
      }:
      mkDerivation {
        pname = "biscuit-servant";
-       version = "0.2.0.1";
-       sha256 = "173qw2g8i8wib0qaw2z4g68yymc21gncfhbj9ahpzgf0l06byc7j";
+       version = "0.2.1.0";
+       sha256 = "1sw496bfvh5kfyb1f0sczjayb5b2vq14x2vdmww99knjjvn0ibxp";
        libraryHaskellDepends = [
          base biscuit-haskell bytestring mtl servant-server text wai
        ];
@@ -43659,6 +43801,7 @@ self: {
        description = "Bitcoin keys";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "bitcoin-payment-channel" = callPackage
@@ -43725,6 +43868,7 @@ self: {
        description = "Library to communicate with the Satoshi Bitcoin daemon";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "bitcoin-script" = callPackage
@@ -43920,23 +44064,11 @@ self: {
     ({ mkDerivation, base, bytes, mtl, transformers }:
      mkDerivation {
        pname = "bits";
-       version = "0.5.3";
-       sha256 = "0avcm2635nvgghr7nbci66s4l5q4k6ag81hla1xai58b159anyq0";
-       libraryHaskellDepends = [ base bytes mtl transformers ];
-       description = "Various bit twiddling and bitwise serialization primitives";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "bits_0_6" = callPackage
-    ({ mkDerivation, base, bytes, mtl, transformers }:
-     mkDerivation {
-       pname = "bits";
        version = "0.6";
        sha256 = "18s2aa99cwcshcws2zl2ll7xgqn9dpznpkv1nplamc9h4vmqqs93";
        libraryHaskellDepends = [ base bytes mtl transformers ];
        description = "Various bit twiddling and bitwise serialization primitives";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "bits-atomic" = callPackage
@@ -44012,10 +44144,8 @@ self: {
      }:
      mkDerivation {
        pname = "bits-extra";
-       version = "0.0.2.0";
-       sha256 = "1c54008kinzcx93kc8vcp7wq7la662m8nk82ax76i9b0gvbkk21f";
-       revision = "2";
-       editedCabalFile = "01qlnzbc3kgbyacqg9c7ldab2s91h9s4kalld0wz9q2k1d4063lv";
+       version = "0.0.2.3";
+       sha256 = "1lyrr5jg8yg9cb97pn1pd4qgc7qn3irv8k5ra5j48fyn1rb6z4r7";
        libraryHaskellDepends = [ base ghc-prim vector ];
        testHaskellDepends = [
          base doctest doctest-discover ghc-prim hedgehog hspec hw-hedgehog
@@ -44194,7 +44324,7 @@ self: {
      }) {};
 
   "bitvec" = callPackage
-    ({ mkDerivation, base, bytestring, containers, deepseq, integer-gmp
+    ({ mkDerivation, base, bytestring, containers, deepseq, ghc-bignum
      , primitive, quickcheck-classes, quickcheck-classes-base, random
      , tasty, tasty-bench, tasty-hunit, tasty-quickcheck, vector
      }:
@@ -44203,14 +44333,14 @@ self: {
        version = "1.1.2.0";
        sha256 = "0h7c5kpx43bm6qqnkpbzma9n201987cnq1231zg33p3xp7qc1hm2";
        libraryHaskellDepends = [
-         base bytestring deepseq integer-gmp primitive vector
+         base bytestring deepseq ghc-bignum primitive vector
        ];
        testHaskellDepends = [
-         base integer-gmp primitive quickcheck-classes
+         base ghc-bignum primitive quickcheck-classes
          quickcheck-classes-base tasty tasty-hunit tasty-quickcheck vector
        ];
        benchmarkHaskellDepends = [
-         base containers integer-gmp random tasty-bench vector
+         base containers ghc-bignum random tasty-bench vector
        ];
        description = "Space-efficient bit vectors";
        license = lib.licenses.bsd3;
@@ -44412,6 +44542,31 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "blagda" = callPackage
+    ({ mkDerivation, aeson, Agda, base, bytestring, containers
+     , directory, mtl, mustache, pandoc, pandoc-types, process, SHA
+     , shake, syb, tagsoup, text, time, unordered-containers, uri-encode
+     }:
+     mkDerivation {
+       pname = "blagda";
+       version = "0.1.0.1";
+       sha256 = "0i8yydkpr0rbmj0xdsa0kkwp45xaghy896hh1ilsvyy07s4plx5y";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson Agda base bytestring containers directory mtl mustache pandoc
+         pandoc-types process SHA shake syb tagsoup text time
+         unordered-containers uri-encode
+       ];
+       executableHaskellDepends = [
+         aeson Agda base bytestring containers directory mtl mustache pandoc
+         pandoc-types process SHA shake syb tagsoup text time
+         unordered-containers uri-encode
+       ];
+       description = "Shake frontend for Agda blogging";
+       license = lib.licenses.agpl3Only;
+     }) {};
+
   "blake2" = callPackage
     ({ mkDerivation, base, base16-bytestring, bytestring, criterion
      , hlint, QuickCheck, tasty, tasty-quickcheck
@@ -44484,8 +44639,8 @@ self: {
        pname = "blank-canvas";
        version = "0.7.3";
        sha256 = "1g10959ly5nv2xfhax4pamzxnxkqbniahplc5za8k5r4nq1vjrm2";
-       revision = "5";
-       editedCabalFile = "0ls60723f859g8rp4974jpi8a5zdcaaxkm47mcsnhzxkswn0hjmj";
+       revision = "7";
+       editedCabalFile = "1vy43yvz382fd3d78w3inzly19pshszgwv3bsy4rzmiic0ip3l99";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base base-compat-batteries base64-bytestring bytestring
@@ -44618,7 +44773,6 @@ self: {
        description = "Blog in LaTeX";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "blaze" = callPackage
@@ -44851,6 +45005,8 @@ self: {
        ];
        description = "create svg by Haskell";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "blaze-svg" = callPackage
@@ -44963,7 +45119,6 @@ self: {
        description = "Bluetooth Low Energy (BLE) peripherals";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "blindpass" = callPackage
@@ -44979,6 +45134,8 @@ self: {
        testHaskellDepends = [ base hspec ];
        description = "Password entry tool";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "blink1" = callPackage
@@ -45045,6 +45202,8 @@ self: {
        libraryHaskellDepends = [ base blaze-html clay text ];
        description = "An HTML and CSS renderer for Haskell";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "blockchain" = callPackage
@@ -45081,8 +45240,8 @@ self: {
      }:
      mkDerivation {
        pname = "blockfrost-api";
-       version = "0.3.0.0";
-       sha256 = "1773mklwigyqhgbxsp2zz4yzwsq0s2sapifzisrk56qix74z9md4";
+       version = "0.4.0.0";
+       sha256 = "01rdg8xl3qal2nl76h56badzfmjpqbn8zrcxqrqbbv611c8ccpqs";
        libraryHaskellDepends = [
          aeson base bytestring data-default-class deriving-aeson lens
          QuickCheck quickcheck-instances safe-money servant servant-docs
@@ -45095,6 +45254,8 @@ self: {
        testToolDepends = [ tasty-discover ];
        description = "API definitions for blockfrost.io";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "blockfrost-client" = callPackage
@@ -45105,8 +45266,8 @@ self: {
      }:
      mkDerivation {
        pname = "blockfrost-client";
-       version = "0.3.0.0";
-       sha256 = "0n49qbqlghgqw0nnx6bpkfiiyaqzzscl6hr0rh7xxw56955r55p0";
+       version = "0.4.0.0";
+       sha256 = "1xx53zrdi37lvj0mfzwfd3yhyzfm9wp8621yqm4cr091gzwh8a1m";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -45120,6 +45281,7 @@ self: {
        testToolDepends = [ tasty-discover ];
        description = "blockfrost.io basic client";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "blockfrost-client-core" = callPackage
@@ -45131,8 +45293,8 @@ self: {
      }:
      mkDerivation {
        pname = "blockfrost-client-core";
-       version = "0.2.0.0";
-       sha256 = "0hsgsvgvl0fmf8l8ma57cn5mxc02m30h9rvirgrwfp6mww4ar351";
+       version = "0.4.0.0";
+       sha256 = "1g276jinr4nbia63sx5bciwglb3yxzgqli8xsq1g73pd4qxwdw43";
        libraryHaskellDepends = [
          aeson base blockfrost-api bytestring case-insensitive containers
          data-default http-client http-client-tls http-types servant
@@ -45141,6 +45303,7 @@ self: {
        ];
        description = "blockfrost.io common client definitions / instances";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "blockfrost-pretty" = callPackage
@@ -45158,6 +45321,7 @@ self: {
        ];
        description = "blockfrost.io pretty-printing utilities";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "blockhash" = callPackage
@@ -45226,8 +45390,8 @@ self: {
      }:
      mkDerivation {
        pname = "bloodhound";
-       version = "0.18.0.0";
-       sha256 = "1dmmvpcmylnwwlw8p30azd9wfa4fk18fd13jnb1gx4wjs8jcwy7p";
+       version = "0.19.0.0";
+       sha256 = "00kb7dr6xknws3pyx2qdapyb6b8sgbgjyn39vn052428ipyb3a6z";
        libraryHaskellDepends = [
          aeson base blaze-builder bytestring containers exceptions hashable
          http-client http-types mtl network-uri scientific semigroups semver
@@ -45331,7 +45495,6 @@ self: {
        description = "BLOSUM generator";
        license = lib.licenses.gpl2Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "bloxorz" = callPackage
@@ -45479,7 +45642,6 @@ self: {
        executablePkgconfigDepends = [ gtk2 ];
        description = "full-featured tiling for the GNOME desktop environment";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) gtk2;};
 
   "bluetileutils" = callPackage
@@ -45536,6 +45698,29 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "bm" = callPackage
+    ({ mkDerivation, aeson, ansi-wl-pprint, base, directory, dlist
+     , filepath, network-uri, optparse-applicative, scientific, tasty
+     , tasty-hunit, text, transformers, typed-process, vector, yaml
+     }:
+     mkDerivation {
+       pname = "bm";
+       version = "0.1.0.2";
+       sha256 = "1rpwlbhn5fkndw19ryksm9x2fcg7z7xscigi4zfs9v4w16skn7zj";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base dlist network-uri scientific text transformers vector
+       ];
+       executableHaskellDepends = [
+         ansi-wl-pprint base directory filepath optparse-applicative
+         typed-process yaml
+       ];
+       testHaskellDepends = [ base tasty tasty-hunit vector ];
+       description = "open bookmarks and queries from the command line";
+       license = lib.licenses.mit;
+     }) {};
+
   "bmp" = callPackage
     ({ mkDerivation, base, binary, bytestring }:
      mkDerivation {
@@ -45556,10 +45741,8 @@ self: {
      }:
      mkDerivation {
        pname = "bnb-staking-csvs";
-       version = "0.2.0.0";
-       sha256 = "1m2bd6cwlgavq3nri3xwbqim2zikzv1dxqf5a5gxkqra1qgbvm4v";
-       revision = "1";
-       editedCabalFile = "066nk1wjxlwh1dqhgr4yalch45w09p032whbvs5rin18airixyk3";
+       version = "0.2.1.0";
+       sha256 = "1cvkfj1x0z7bv67ihzf3h8k4r4fpvdfjhiair32k08k52lz2q6h7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -45714,7 +45897,6 @@ self: {
        description = "Generate Haskell boilerplate";
        license = lib.licenses.gpl3Plus;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "bolt" = callPackage
@@ -45818,7 +46000,6 @@ self: {
        description = "Bond schema compiler and code generator";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "bond-haskell" = callPackage
@@ -45876,10 +46057,10 @@ self: {
     ({ mkDerivation, base, containers, time }:
      mkDerivation {
        pname = "bookhound";
-       version = "0.1.3.0";
-       sha256 = "1jdnh2sirazhhl1nqjzv3iz8vzv4wj6rn6x0zii78023iv94lwwz";
+       version = "0.1.7.0";
+       sha256 = "0811day6w7rgpvp22d1pyjz0bdz175kk9qfzl04wg2bmfg577k2d";
        libraryHaskellDepends = [ base containers time ];
-       description = "Simple Parser Combinators & Parsers for usual data formats";
+       description = "Simple Parser Combinators & Parsers";
        license = "LGPL";
      }) {};
 
@@ -46120,8 +46301,8 @@ self: {
      }:
      mkDerivation {
        pname = "boomerang";
-       version = "1.4.7";
-       sha256 = "0ngrzwvzils6pqdgbc7hj4l41r19j2n82z78fqh312lnc1nni94i";
+       version = "1.4.8";
+       sha256 = "141rs9q8i89118ldplm90zqzkjff3jwqhsdld4vp4ipc26f9gjdl";
        libraryHaskellDepends = [
          base mtl semigroups template-haskell text th-abstraction
        ];
@@ -46467,8 +46648,6 @@ self: {
        ];
        description = "ScopeH and ScopeT extras for bound";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "bound-gen" = callPackage
@@ -46500,13 +46679,11 @@ self: {
        pname = "bounded-array";
        version = "0.1.0.0";
        sha256 = "0zv5a82rm6hwikgls2hw9d18igvfgw655s5pw5h1xbwcv1d8d0ji";
-       revision = "2";
-       editedCabalFile = "1j04il1kw0r3sy1dv3b3lffkxvnka7ic25jx174wzd0myqbr9zpr";
+       revision = "3";
+       editedCabalFile = "1m0kmns9my73idfkp5n5qix7w0lzrqbq96p4hhxa3702z5cvqkpf";
        libraryHaskellDepends = [ array base ];
        description = "Arrays with a value for every index";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "bounded-queue" = callPackage
@@ -46541,6 +46718,8 @@ self: {
        libraryHaskellDepends = [ base lens ];
        description = "A generic boundingbox for an arbitrary vector";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "bower-json" = callPackage
@@ -46577,6 +46756,7 @@ self: {
        description = "audio-visual pseudo-physical simulation of colliding circles";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "box" = callPackage
@@ -46594,8 +46774,6 @@ self: {
        ];
        description = "boxes";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "box-csv" = callPackage
@@ -46607,7 +46785,6 @@ self: {
        libraryHaskellDepends = [ attoparsec base box text time ];
        description = "CSV parsing in a box";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "box-socket" = callPackage
@@ -46628,7 +46805,6 @@ self: {
        executableHaskellDepends = [ base optparse-generic ];
        description = "Box websockets";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "box-tuples" = callPackage
@@ -46680,6 +46856,8 @@ self: {
        testHaskellDepends = [ base ];
        description = "A minimal typed unix path library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "braid" = callPackage
@@ -46785,6 +46963,8 @@ self: {
        pname = "break";
        version = "1.0.2";
        sha256 = "0wpj29a8lpimb0mjif4f6jmx6q9pkpkn5xplmkbjzkqgxi0bp23n";
+       revision = "1";
+       editedCabalFile = "0lwc3mkkzqadm1scjzy7zipgd5r5h2cqpcnhbckb0qnwcpvvrqd5";
        libraryHaskellDepends = [ base mtl transformers ];
        description = "Break from a loop";
        license = lib.licenses.bsd3;
@@ -46843,32 +47023,6 @@ self: {
        broken = true;
      }) {};
 
-  "brick" = callPackage
-    ({ mkDerivation, base, bytestring, config-ini, containers
-     , contravariant, data-clist, deepseq, directory, dlist, exceptions
-     , filepath, microlens, microlens-mtl, microlens-th, QuickCheck, stm
-     , template-haskell, text, text-zipper, transformers, unix, vector
-     , vty, word-wrap
-     }:
-     mkDerivation {
-       pname = "brick";
-       version = "0.62";
-       sha256 = "1f74m9yxwqv3xs1jhhpww2higfz3w0v1niff257wshhrvrkigh36";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring config-ini containers contravariant data-clist
-         deepseq directory dlist exceptions filepath microlens microlens-mtl
-         microlens-th stm template-haskell text text-zipper transformers
-         unix vector vty word-wrap
-       ];
-       testHaskellDepends = [
-         base containers microlens QuickCheck vector
-       ];
-       description = "A declarative terminal user interface library";
-       license = lib.licenses.bsd3;
-     }) {};
-
   "brick_0_64_2" = callPackage
     ({ mkDerivation, base, bytestring, config-ini, containers
      , contravariant, data-clist, deepseq, directory, dlist, exceptions
@@ -46896,7 +47050,7 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "brick_0_67" = callPackage
+  "brick" = callPackage
     ({ mkDerivation, base, bytestring, config-ini, containers
      , contravariant, data-clist, deepseq, directory, dlist, exceptions
      , filepath, microlens, microlens-mtl, microlens-th, QuickCheck, stm
@@ -46905,8 +47059,8 @@ self: {
      }:
      mkDerivation {
        pname = "brick";
-       version = "0.67";
-       sha256 = "02f8qmc3y2pyqysc9qan2l05vk3ryvlc7mgs8hdh18fp96x88669";
+       version = "0.68";
+       sha256 = "0fa0vlj9k3ril8mjc0kyxrq87iy40v10yvkgz32r3fcy80j7spk9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -46920,7 +47074,6 @@ self: {
        ];
        description = "A declarative terminal user interface library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "brick-dropdownmenu" = callPackage
@@ -47127,38 +47280,6 @@ self: {
   "brittany" = callPackage
     ({ mkDerivation, aeson, base, butcher, bytestring, cmdargs
      , containers, czipwith, data-tree-print, deepseq, directory, extra
-     , filepath, ghc, ghc-boot-th, ghc-exactprint, ghc-paths, hspec
-     , monad-memo, mtl, multistate, parsec, pretty, random, safe
-     , semigroups, strict, syb, text, transformers, uniplate, unsafe
-     , yaml
-     }:
-     mkDerivation {
-       pname = "brittany";
-       version = "0.13.1.2";
-       sha256 = "1pa8qgsild3zl56sdmbsllka64k05jk2p16ij3bdla4rbfw96z5g";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base butcher bytestring cmdargs containers czipwith
-         data-tree-print deepseq directory extra filepath ghc ghc-boot-th
-         ghc-exactprint ghc-paths monad-memo mtl multistate pretty random
-         safe semigroups strict syb text transformers uniplate unsafe yaml
-       ];
-       executableHaskellDepends = [ base ];
-       testHaskellDepends = [
-         aeson base butcher bytestring cmdargs containers czipwith
-         data-tree-print deepseq directory extra filepath ghc ghc-boot-th
-         ghc-exactprint ghc-paths hspec monad-memo mtl multistate parsec
-         pretty safe semigroups strict syb text transformers uniplate unsafe
-         yaml
-       ];
-       description = "Haskell source code formatter";
-       license = lib.licenses.agpl3Only;
-     }) {};
-
-  "brittany_0_14_0_2" = callPackage
-    ({ mkDerivation, aeson, base, butcher, bytestring, cmdargs
-     , containers, czipwith, data-tree-print, deepseq, directory, extra
      , filepath, ghc, ghc-boot, ghc-boot-th, ghc-exactprint, hspec
      , monad-memo, mtl, multistate, pretty, random, safe, semigroups
      , strict, syb, text, transformers, uniplate, yaml
@@ -47189,7 +47310,6 @@ self: {
        ];
        description = "Haskell source code formatter";
        license = lib.licenses.agpl3Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "broadcast-chan" = callPackage
@@ -47222,7 +47342,6 @@ self: {
        ];
        description = "Conduit-based parallel streaming code for broadcast-chan";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "broadcast-chan-pipes" = callPackage
@@ -47239,7 +47358,6 @@ self: {
        ];
        description = "Pipes-based parallel streaming code for broadcast-chan";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "broadcast-chan-tests" = callPackage
@@ -47252,8 +47370,8 @@ self: {
        pname = "broadcast-chan-tests";
        version = "0.2.1.2";
        sha256 = "08qjvhdx2pwgj5kcl5fmg5qdlzbdchxjihmqch4sgv48kcga06nv";
-       revision = "1";
-       editedCabalFile = "1x2bmnkybh627yf22ackvqh3xfhdxv88ijsl8ryg8qhr6qm51jfj";
+       revision = "2";
+       editedCabalFile = "0cd1sfjkf158z5g0xk2r5mcawmzay04q8hyhcbara4lfx6gwx3h9";
        libraryHaskellDepends = [
          async base broadcast-chan clock containers optparse-applicative
          paramtree stm tagged tasty tasty-golden tasty-hunit tasty-travis
@@ -47264,8 +47382,6 @@ self: {
        ];
        description = "Helpers for generating tests for broadcast-chan";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "broccoli" = callPackage
@@ -47373,8 +47489,8 @@ self: {
        pname = "brotli";
        version = "0.0.0.0";
        sha256 = "1l9qiw5cl0k1rcnqnj9pb7vgj1b06wckkk5i73nqr15ixgcjmr9j";
-       revision = "2";
-       editedCabalFile = "0iny0gbb5b3a8n8rpriz7620fnhw70c0pgl615s4b1rhrnj87wrb";
+       revision = "4";
+       editedCabalFile = "0ih5mmpmhk5qnqc25dn6363xmq20z5k2x5458jp2yxbw1g367nwi";
        libraryHaskellDepends = [ base bytestring transformers ];
        libraryPkgconfigDepends = [ brotli ];
        testHaskellDepends = [
@@ -47382,8 +47498,6 @@ self: {
        ];
        description = "Brotli (RFC7932) compression and decompression";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) brotli;};
 
   "brotli-conduit" = callPackage
@@ -47405,6 +47519,7 @@ self: {
        description = "Conduit interface for Brotli (RFC7932) compression";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "brotli-streams" = callPackage
@@ -47416,8 +47531,8 @@ self: {
        pname = "brotli-streams";
        version = "0.0.0.0";
        sha256 = "14jc1nhm50razsl99d95amdf4njf75dnzx8vqkihgrgp7qisyz3z";
-       revision = "2";
-       editedCabalFile = "0xp1raxz3ddaq4hvpsw9yqwdfy51wwjiirh51nnxdgxqcwpy5w8s";
+       revision = "4";
+       editedCabalFile = "1mpp08l1vwvgl1gvki0wlndlf0kza2kwnx5qdcl7slanw7waa1fb";
        libraryHaskellDepends = [ base brotli bytestring io-streams ];
        testHaskellDepends = [
          base bytestring HUnit io-streams QuickCheck test-framework
@@ -47425,7 +47540,6 @@ self: {
        ];
        description = "IO-Streams interface for Brotli (RFC7932) compression";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "browscap" = callPackage
@@ -47551,6 +47665,8 @@ self: {
        ];
        description = "Mapping between BSON and algebraic data types";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "bspack" = callPackage
@@ -47645,6 +47761,8 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "buchhaltung" = callPackage
@@ -47851,6 +47969,28 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "bugsnag" = callPackage
+    ({ mkDerivation, base, bugsnag-hs, bytestring, containers, Glob
+     , hspec, http-client, http-client-tls, parsec, template-haskell
+     , text, th-lift-instances, ua-parser, unliftio
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "bugsnag";
+       version = "1.0.0.0";
+       sha256 = "0s0ppjhn1qylbcia2rpccq7xma26ch1qk9lq578df4i1djpl07zl";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bugsnag-hs bytestring containers Glob http-client
+         http-client-tls parsec template-haskell text th-lift-instances
+         ua-parser unordered-containers
+       ];
+       testHaskellDepends = [ base hspec text unliftio ];
+       description = "Bugsnag error reporter for Haskell";
+       license = lib.licenses.mit;
+     }) {};
+
   "bugsnag-haskell" = callPackage
     ({ mkDerivation, aeson, aeson-qq, base, bytestring
      , case-insensitive, containers, doctest, Glob, hspec, http-client
@@ -47860,8 +48000,8 @@ self: {
      }:
      mkDerivation {
        pname = "bugsnag-haskell";
-       version = "0.0.4.3";
-       sha256 = "098bmbv7wgpjqp8yys0bpsf6q5m4940g2g9n50mjam7lwnxwk1gg";
+       version = "0.0.4.4";
+       sha256 = "1pf9gi2rr1dv56b0x4sj1wyxvw2ak9n2nzkz21mmzi4l68f4dvs9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -47874,8 +48014,6 @@ self: {
        ];
        description = "Bugsnag error reporter for Haskell";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "bugsnag-hs" = callPackage
@@ -47895,6 +48033,43 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "bugsnag-wai" = callPackage
+    ({ mkDerivation, base, bugsnag, bytestring, case-insensitive, hspec
+     , http-types, iproute, network, text, unordered-containers, wai
+     , warp
+     }:
+     mkDerivation {
+       pname = "bugsnag-wai";
+       version = "1.0.0.0";
+       sha256 = "0qarc8w1vprklccrr4i8z5x6m4qry2f09fi43ac7jnh1axywv93a";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bugsnag bytestring case-insensitive http-types iproute network
+         text unordered-containers wai warp
+       ];
+       testHaskellDepends = [ base bugsnag hspec unordered-containers ];
+       description = "WAI integration for Bugsnag error reporting for Haskell";
+       license = lib.licenses.mit;
+     }) {};
+
+  "bugsnag-yesod" = callPackage
+    ({ mkDerivation, base, bugsnag, bugsnag-wai, unliftio, wai
+     , yesod-core
+     }:
+     mkDerivation {
+       pname = "bugsnag-yesod";
+       version = "1.0.0.0";
+       sha256 = "181qdsq7dnzsna05g78r613mgfl3shxx6n0zllnzf4m3c05vq5j6";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bugsnag bugsnag-wai unliftio wai yesod-core
+       ];
+       description = "Yesod integration for Bugsnag error reporting for Haskell";
+       license = lib.licenses.mit;
+     }) {};
+
   "bugzilla" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, bytestring, connection
      , containers, data-default, http-conduit, http-types, iso8601-time
@@ -47924,8 +48099,10 @@ self: {
      }:
      mkDerivation {
        pname = "bugzilla-redhat";
-       version = "0.3.3";
-       sha256 = "1nslky0rc868hyx11s0bvlz6r4mvagknhwmnlqvgcnlfbg6xni4d";
+       version = "1.0.0";
+       sha256 = "1g95j03y2sg1fwdf48a05nijqllkd0m7scn1wbfyzvb57q716hlx";
+       revision = "1";
+       editedCabalFile = "1rsn401pzj0vz3fqg0zsc79jmpanjp61caplnb5i0kl1c9glsxz4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -48196,23 +48373,6 @@ self: {
      }:
      mkDerivation {
        pname = "burrito";
-       version = "1.2.0.4";
-       sha256 = "1i08p5g6yivmkgbhxv48amfdw523agjwyd02pbk5lbzyssc2sp7d";
-       libraryHaskellDepends = [
-         base bytestring containers parsec template-haskell text
-         transformers
-       ];
-       testHaskellDepends = [ base containers hspec QuickCheck text ];
-       description = "Parse and render URI templates";
-       license = lib.licenses.isc;
-     }) {};
-
-  "burrito_2_0_1_0" = callPackage
-    ({ mkDerivation, base, bytestring, containers, hspec, parsec
-     , QuickCheck, template-haskell, text, transformers
-     }:
-     mkDerivation {
-       pname = "burrito";
        version = "2.0.1.0";
        sha256 = "1b8c4sdk60sj20rrrhra4hx0f1y1injih4xcg4q19fgaf04chr91";
        libraryHaskellDepends = [
@@ -48225,7 +48385,6 @@ self: {
        ];
        description = "Parse and render URI templates";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "burst-detection" = callPackage
@@ -48357,6 +48516,8 @@ self: {
        pname = "butcher";
        version = "1.3.3.2";
        sha256 = "06qgqjc8h7dd786wkcwrxpl6bsd66jzywwcnhm52q0cb9678w3qx";
+       revision = "1";
+       editedCabalFile = "1c9rhsnzdpnxhs3l7yq6fh8p9lq177fmdn23khcl72n5m6xx64wm";
        libraryHaskellDepends = [
          base bifunctors containers deque extra free microlens microlens-th
          mtl multistate pretty transformers unsafe void
@@ -48442,8 +48603,6 @@ self: {
        ];
        description = "Client library for buttplug.io";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "bv" = callPackage
@@ -48495,6 +48654,8 @@ self: {
        ];
        description = "Efficient little-endian bit vector library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "bv-sized" = callPackage
@@ -48516,8 +48677,6 @@ self: {
        ];
        description = "a bitvector datatype that is parameterized by the vector width";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "bv-sized-lens" = callPackage
@@ -48529,7 +48688,6 @@ self: {
        libraryHaskellDepends = [ base bv-sized lens parameterized-utils ];
        description = "Well-typed lenses for bv-sized bitvectors";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "byline" = callPackage
@@ -48567,7 +48725,6 @@ self: {
        description = "data from/to ByteString";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "byte-count-reader" = callPackage
@@ -48586,13 +48743,15 @@ self: {
      }) {};
 
   "byte-order" = callPackage
-    ({ mkDerivation, base, primitive, primitive-unaligned }:
+    ({ mkDerivation, base, primitive, primitive-unaligned, wide-word }:
      mkDerivation {
        pname = "byte-order";
-       version = "0.1.2.0";
-       sha256 = "1nnq4qmqmkv61xcyxrh14s6hg7rbnjkna6mwlrqh1rr59pikn45w";
-       libraryHaskellDepends = [ base primitive primitive-unaligned ];
-       testHaskellDepends = [ base primitive ];
+       version = "0.1.3.0";
+       sha256 = "0lr5ijhc165qhviabklnl0zpbk5400wb1fqd1xn7x0ga1vvclxhl";
+       libraryHaskellDepends = [
+         base primitive primitive-unaligned wide-word
+       ];
+       testHaskellDepends = [ base primitive wide-word ];
        description = "Portable big-endian and little-endian conversions";
        license = lib.licenses.bsd3;
      }) {};
@@ -48628,16 +48787,16 @@ self: {
      , primitive, primitive-offset, primitive-unlifted, QuickCheck
      , quickcheck-classes, quickcheck-instances, run-st, tasty
      , tasty-hunit, tasty-quickcheck, template-haskell, text, text-short
-     , vector, wide-word
+     , vector, wide-word, zigzag
      }:
      mkDerivation {
        pname = "bytebuild";
-       version = "0.3.9.0";
-       sha256 = "07ln4qva3qb81w8rsdfxg4i1m659lf97680abm78y1qb41c8ampz";
+       version = "0.3.10.0";
+       sha256 = "1g3ayqdvvszh0jp22xh04pj6g8sff8m1mk06i5f4a0yxxwpvj3bg";
        libraryHaskellDepends = [
          base byteslice bytestring haskell-src-meta integer-logarithms
          natural-arithmetic primitive primitive-offset primitive-unlifted
-         run-st template-haskell text-short wide-word
+         run-st template-haskell text-short wide-word zigzag
        ];
        testHaskellDepends = [
          base byteslice bytestring natural-arithmetic primitive
@@ -48784,19 +48943,19 @@ self: {
   "byteslice" = callPackage
     ({ mkDerivation, base, bytestring, gauge, primitive, primitive-addr
      , primitive-unlifted, quickcheck-classes, run-st, tasty
-     , tasty-hunit, tasty-quickcheck, tuples, vector
+     , tasty-hunit, tasty-quickcheck, transformers, tuples, vector
      }:
      mkDerivation {
        pname = "byteslice";
-       version = "0.2.6.0";
-       sha256 = "0kgrqf5v0crr44xm46fppkbqw5r738qspwyjdk9g4wavsm1bk20b";
+       version = "0.2.7.0";
+       sha256 = "1mzqlyh0mswk64irz0sr8fk0v9y9ksb1k1j3g51l9vhhnz0cavhj";
        libraryHaskellDepends = [
          base bytestring primitive primitive-addr primitive-unlifted run-st
          tuples vector
        ];
        testHaskellDepends = [
          base bytestring primitive quickcheck-classes tasty tasty-hunit
-         tasty-quickcheck
+         tasty-quickcheck transformers
        ];
        benchmarkHaskellDepends = [ base gauge primitive ];
        description = "Slicing managed and unmanaged memory";
@@ -48827,14 +48986,14 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "bytestring_0_11_2_0" = callPackage
+  "bytestring_0_11_3_0" = callPackage
     ({ mkDerivation, base, deepseq, ghc-prim, QuickCheck, random, tasty
      , tasty-bench, tasty-quickcheck, template-haskell, transformers
      }:
      mkDerivation {
        pname = "bytestring";
-       version = "0.11.2.0";
-       sha256 = "16w5j3vxyak3ycfc8w1zwmagznlavgrwiqa1m0fn7s38vzjb7yjf";
+       version = "0.11.3.0";
+       sha256 = "03wfvdd6y99adjrp4r8kzi3a020dar7xmgfzyjdrk40nmranvp5h";
        libraryHaskellDepends = [ base deepseq ghc-prim template-haskell ];
        testHaskellDepends = [
          base deepseq ghc-prim QuickCheck tasty tasty-quickcheck
@@ -48858,6 +49017,8 @@ self: {
        ];
        description = "Aeson instances for ByteString, using base 64 encoding";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "bytestring-arbitrary" = callPackage
@@ -48906,7 +49067,6 @@ self: {
        description = "Variable-length integer encoding";
        license = lib.licenses.lgpl3Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "bytestring-class" = callPackage
@@ -48970,6 +49130,8 @@ self: {
        libraryHaskellDepends = [ base bytestring ];
        description = "Simple, fast binary diff/patch";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "bytestring-encoding" = callPackage
@@ -49038,6 +49200,8 @@ self: {
        ];
        description = "ByteString-backed Handles";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "bytestring-lexing" = callPackage
@@ -49269,19 +49433,23 @@ self: {
      }) {};
 
   "bytestring-trie" = callPackage
-    ({ mkDerivation, base, binary, bytestring, QuickCheck, smallcheck
-     , tasty, tasty-hunit, tasty-quickcheck, tasty-smallcheck
+    ({ mkDerivation, base, binary, bytestring, criterion, deepseq
+     , QuickCheck, smallcheck, tasty, tasty-hunit, tasty-quickcheck
+     , tasty-smallcheck
      }:
      mkDerivation {
        pname = "bytestring-trie";
-       version = "0.2.6";
-       sha256 = "00wz54cmn2wa8vvhvhmdxj16nj0blhhyabp54ddahicnnizi2hzf";
-       libraryHaskellDepends = [ base binary bytestring ];
+       version = "0.2.7";
+       sha256 = "1fyrgnyxvdyj69w4m460a2iyqga9v2c46i3pmnif72r5rl6fc70d";
+       libraryHaskellDepends = [ base binary bytestring deepseq ];
        testHaskellDepends = [
-         base binary bytestring QuickCheck smallcheck tasty tasty-hunit
-         tasty-quickcheck tasty-smallcheck
+         base binary bytestring deepseq QuickCheck smallcheck tasty
+         tasty-hunit tasty-quickcheck tasty-smallcheck
+       ];
+       benchmarkHaskellDepends = [
+         base binary bytestring criterion deepseq QuickCheck
        ];
-       description = "An efficient finite map from (byte)strings to values";
+       description = "An efficient finite map from bytestrings to values";
        license = lib.licenses.bsd3;
      }) {};
 
@@ -49450,8 +49618,8 @@ self: {
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
        pname = "c-enum";
-       version = "0.1.1.0";
-       sha256 = "0ynq77s8xwl5xqkc3c99ygj3h7rkfmkf4040h1skiz8pd2l8v48i";
+       version = "0.1.1.2";
+       sha256 = "01i8dfzrcpkji4vnnflabfbxd4f6q8mmzh1whnizqp14pbzmkqv2";
        libraryHaskellDepends = [ base template-haskell ];
        testHaskellDepends = [ base template-haskell ];
        description = "To make a type corresponding to an enum of C language";
@@ -49520,8 +49688,8 @@ self: {
     ({ mkDerivation, array, base, primitive, template-haskell }:
      mkDerivation {
        pname = "c-struct";
-       version = "0.1.1.1";
-       sha256 = "0aan4j0zfam28phl8vgrgncbz275haq9ls0d2yisv2r2in6c99lx";
+       version = "0.1.1.2";
+       sha256 = "179sqqzik48xf9axhm3m9y6qv8028lh7l16cr79z85ddkvry7avd";
        libraryHaskellDepends = [ array base primitive template-haskell ];
        testHaskellDepends = [ array base primitive template-haskell ];
        description = "To make a wrapper for struct of C language";
@@ -49539,7 +49707,6 @@ self: {
        executableHaskellDepends = [ base c0parser ];
        description = "Simple C0 Syntax Check";
        license = "GPL";
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "c0parser" = callPackage
@@ -49551,8 +49718,6 @@ self: {
        libraryHaskellDepends = [ base parsec ];
        description = "Simple C0 Parser";
        license = "GPL";
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "c10k" = callPackage
@@ -49572,8 +49737,8 @@ self: {
     ({ mkDerivation, base, bytestring, libxml2 }:
      mkDerivation {
        pname = "c14n";
-       version = "0.1.0.1";
-       sha256 = "0j5g36sxz6bp2z0z10d47lqh7rmclx3296zafc5vzns8d884sm0n";
+       version = "0.1.0.2";
+       sha256 = "165mayyj2apzv87jqsmpyskl6hr7gpvpg7ypi2vqgi8wda1gawki";
        libraryHaskellDepends = [ base bytestring ];
        librarySystemDepends = [ libxml2 ];
        libraryPkgconfigDepends = [ libxml2 ];
@@ -49681,6 +49846,17 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "ca-patterns" = callPackage
+    ({ mkDerivation, base, parsec, text, vector }:
+     mkDerivation {
+       pname = "ca-patterns";
+       version = "0.1.0.0";
+       sha256 = "1n5l7dxsci9dbrrngrc9q7f85i966i2vzidzrm3prjf8fq3i87b0";
+       libraryHaskellDepends = [ base parsec text vector ];
+       description = "Manipulate patterns in cellular automata, create and parse RLE files";
+       license = lib.licenses.mit;
+     }) {};
+
   "ca-province-codes" = callPackage
     ({ mkDerivation, aeson, base, hspec, QuickCheck, text }:
      mkDerivation {
@@ -49716,6 +49892,8 @@ self: {
        ];
        description = "A maintenance command of Haskell cabal packages";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "cabal" = callPackage
@@ -49738,8 +49916,8 @@ self: {
     ({ mkDerivation, base, Cabal, filepath }:
      mkDerivation {
        pname = "cabal-appimage";
-       version = "0.3.0.3";
-       sha256 = "0mkbfy9nxdmr8sbvpr6zrh2vvycslmrbc1m32mfxk9kr44f4wjli";
+       version = "0.3.0.4";
+       sha256 = "1plgswf3mrkdn6fysghbmkcnjjk00afvlyb39m7h92vwxwxkv6yl";
        libraryHaskellDepends = [ base Cabal filepath ];
        description = "Cabal support for creating AppImage applications";
        license = lib.licenses.agpl3Only;
@@ -49773,6 +49951,8 @@ self: {
        libraryHaskellDepends = [ base Cabal directory extra filepath ];
        description = "Build time library that autodetects exposed modules";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "cabal-bounds" = callPackage
@@ -49832,34 +50012,37 @@ self: {
   "cabal-cache" = callPackage
     ({ mkDerivation, aeson, amazonka, amazonka-core, amazonka-s3
      , antiope-core, antiope-optparse-applicative, antiope-s3, base
-     , bytestring, conduit-extra, containers, cryptonite, deepseq
-     , directory, exceptions, filepath, generic-lens, hedgehog, hspec
-     , hspec-discover, http-client, http-types, hw-hedgehog
-     , hw-hspec-hedgehog, lens, mtl, optparse-applicative, process
-     , raw-strings-qq, relation, resourcet, selective, stm, stringsearch
-     , tar, temporary, text, time, topograph, unliftio, zlib
+     , bytestring, containers, cryptonite, deepseq, directory
+     , exceptions, filepath, generic-lens, hedgehog, hspec
+     , hspec-discover, http-client, http-client-tls, http-types
+     , hw-hspec-hedgehog, lens, mtl, network-uri, optparse-applicative
+     , process, raw-strings-qq, relation, resourcet, stm, stringsearch
+     , temporary, text, topograph, transformers, unliftio
      }:
      mkDerivation {
        pname = "cabal-cache";
-       version = "1.0.3.0";
-       sha256 = "0xx0a53z7wj75p8dqypr6ys63cpw8acl49358f42xi5lgblvqnca";
+       version = "1.0.4.0";
+       sha256 = "1qh2cy0mwslqfdw747jkvvfbdma0c3mmjd5kpv2s5slz0m7m8l9j";
        revision = "1";
-       editedCabalFile = "19dr9x78xfgb8jnbj1i23mhzqnvixgh1azyq5fvccm6h4pcbjfzz";
+       editedCabalFile = "049x7hz1173650bsqp8ff2yv7gn6v1akl3iz24xx5q8ql1p0silc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson amazonka amazonka-core amazonka-s3 antiope-core
-         antiope-optparse-applicative antiope-s3 base bytestring
-         conduit-extra containers cryptonite deepseq directory exceptions
-         filepath generic-lens http-client http-types lens mtl
-         optparse-applicative process relation resourcet selective stm
-         stringsearch tar temporary text time topograph unliftio zlib
+         aeson amazonka amazonka-core amazonka-s3 antiope-core antiope-s3
+         base bytestring containers cryptonite deepseq directory exceptions
+         filepath generic-lens http-client http-client-tls http-types lens
+         mtl network-uri optparse-applicative process relation resourcet stm
+         text topograph transformers
+       ];
+       executableHaskellDepends = [
+         aeson amazonka amazonka-core antiope-core
+         antiope-optparse-applicative base bytestring containers directory
+         exceptions generic-lens http-types lens mtl optparse-applicative
+         resourcet stm stringsearch temporary text unliftio
        ];
-       executableHaskellDepends = [ base optparse-applicative ];
        testHaskellDepends = [
-         aeson antiope-core antiope-s3 base bytestring containers filepath
-         generic-lens hedgehog hspec http-types hw-hedgehog
-         hw-hspec-hedgehog lens raw-strings-qq relation text
+         aeson antiope-core base bytestring filepath hedgehog hspec
+         http-types hw-hspec-hedgehog lens network-uri raw-strings-qq text
        ];
        testToolDepends = [ hspec-discover ];
        description = "CI Assistant for Haskell projects";
@@ -49968,6 +50151,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;
      }) {};
 
   "cabal-dependency-licenses" = callPackage
@@ -50108,30 +50292,6 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-flatpak";
-       version = "0.1.0.2";
-       sha256 = "1h7yklhqrsgxk841fryxz0sk03zb02p34g1nvwdz6c6mfpwc8y54";
-       revision = "2";
-       editedCabalFile = "0mf387hkxshcbss739c66j0hc1143r9lns3p3aw1l76as9lbdlwj";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         aeson aeson-pretty base bytestring cabal-plan containers
-         cryptohash-sha256 http-client http-client-tls http-types
-         optparse-applicative pathtype shell-utility tar text utility-ht
-         zlib
-       ];
-       description = "Generate a FlatPak manifest from a Cabal package description";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "cabal-flatpak_0_1_0_3" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, cabal-plan
-     , containers, cryptohash-sha256, http-client, http-client-tls
-     , http-types, optparse-applicative, pathtype, shell-utility, tar
-     , text, utility-ht, zlib
-     }:
-     mkDerivation {
-       pname = "cabal-flatpak";
        version = "0.1.0.3";
        sha256 = "1k0fzhyvlcq1l09fnf3f3wig4g9l61wsm1dmsjd3nwsgh52xb37v";
        revision = "1";
@@ -50146,7 +50306,6 @@ self: {
        ];
        description = "Generate a FlatPak manifest from a Cabal package description";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "cabal-fmt" = callPackage
@@ -50255,6 +50414,8 @@ self: {
        doCheck = false;
        description = "Give Haskell development tools access to Cabal project environment";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "cabal-info" = callPackage
@@ -50384,8 +50545,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-install-parsers";
-       version = "0.4.4";
-       sha256 = "0yr2yqnbzsx191sp0s1p4i4a4hjgnscm2f0pl9zfdszlyhbvdnyl";
+       version = "0.4.5";
+       sha256 = "0gdqr7ib22h6qfvkv179xm4s2lw6fj62y7hj5lg53zjkc7y8791j";
        libraryHaskellDepends = [
          aeson base base16-bytestring binary binary-instances bytestring
          Cabal containers cryptohash-sha256 deepseq directory filepath lukko
@@ -50508,34 +50669,19 @@ self: {
        broken = true;
      }) {};
 
-  "cabal-plan" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, async, base, base-compat
-     , base16-bytestring, bytestring, containers, directory, filepath
-     , mtl, optics-core, optparse-applicative, parsec, process
-     , semialign, singleton-bool, text, these, topograph, transformers
-     , vector
-     }:
+  "cabal-pkg-config-version-hook" = callPackage
+    ({ mkDerivation, base, Cabal, lens, process }:
      mkDerivation {
-       pname = "cabal-plan";
-       version = "0.7.2.0";
-       sha256 = "118g2ywzgjny57c2iysnj5f7rlriwic3f0k9c54f6bvkc0a3sfi3";
-       configureFlags = [ "-fexe" ];
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base base16-bytestring bytestring containers directory
-         filepath text
-       ];
-       executableHaskellDepends = [
-         ansi-terminal async base base-compat bytestring containers
-         directory mtl optics-core optparse-applicative parsec process
-         semialign singleton-bool text these topograph transformers vector
-       ];
-       description = "Library and utility for processing cabal's plan.json file";
-       license = lib.licenses.gpl2Plus;
+       pname = "cabal-pkg-config-version-hook";
+       version = "0.1.0.0";
+       sha256 = "0v4fajrcbwdj05srma9g3fw96z91j9b5c5cws59sh54a7jb5nlm6";
+       libraryHaskellDepends = [ base Cabal lens process ];
+       description = "Make Cabal aware of pkg-config package versions";
+       license = lib.licenses.bsd3;
+       maintainers = with lib.maintainers; [ roberth ];
      }) {};
 
-  "cabal-plan_0_7_2_1" = callPackage
+  "cabal-plan" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, async, base, base-compat
      , base16-bytestring, bytestring, containers, directory, filepath
      , mtl, optics-core, optparse-applicative, parsec, process
@@ -50562,7 +50708,6 @@ self: {
        ];
        description = "Library and utility for processing cabal's plan.json file";
        license = lib.licenses.gpl2Plus;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "cabal-progdeps" = callPackage
@@ -50605,8 +50750,29 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-rpm";
-       version = "2.0.10";
-       sha256 = "028kvvdm8dqjmk16ag8p1mb4d3nfyz1i6x8ijfcr45hrb93hdd77";
+       version = "2.0.11";
+       sha256 = "041sr5fym01cdfi606180iz5zqxnlw44vhr4bbwpxr45qn71kzxb";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring Cabal directory extra filepath http-client
+         http-client-tls http-conduit optparse-applicative process
+         simple-cabal simple-cmd simple-cmd-args time unix
+       ];
+       description = "RPM packaging tool for Haskell Cabal-based packages";
+       license = lib.licenses.gpl3Only;
+     }) {};
+
+  "cabal-rpm_2_0_11_1" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, directory, extra
+     , filepath, http-client, http-client-tls, http-conduit
+     , optparse-applicative, process, simple-cabal, simple-cmd
+     , simple-cmd-args, time, unix
+     }:
+     mkDerivation {
+       pname = "cabal-rpm";
+       version = "2.0.11.1";
+       sha256 = "07a2jnzldyva1smbxxdknimzydj2rhr7whhgh5q4nwkifkiliadv";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -50616,6 +50782,7 @@ self: {
        ];
        description = "RPM packaging tool for Haskell Cabal-based packages";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "cabal-scripts" = callPackage
@@ -50779,6 +50946,8 @@ self: {
        ];
        description = "Helper functions for writing custom Setup.hs scripts.";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "cabal-uninstall" = callPackage
@@ -50949,6 +51118,8 @@ self: {
        pname = "cabal2spec";
        version = "2.6.3";
        sha256 = "1mxqllc6mbxbyr5iz6qs0sxmvzrn5jf9wbs6zqnlygg23ml043kr";
+       revision = "1";
+       editedCabalFile = "0njnhrm2mm2nrn5y95fqw3s5r1md64f6d1k1zql9ppl102qgrbfp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base Cabal filepath time ];
@@ -51114,7 +51285,6 @@ self: {
        testHaskellDepends = [ base text-format ];
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {cabocha = null;};
 
   "cache" = callPackage
@@ -51372,8 +51542,6 @@ self: {
        ];
        description = "That rabbit's got a vicious streak a mile wide!";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "caf" = callPackage
@@ -51426,8 +51594,8 @@ self: {
      }:
      mkDerivation {
        pname = "cairo";
-       version = "0.13.8.1";
-       sha256 = "1hpkyhrlg1d24s34kq6d379z8l8fvznm98wpq37haqjma4nl25hk";
+       version = "0.13.8.2";
+       sha256 = "1sq2imy359vnbny610n7655a4z5a8fgdxanys4f5nw84246hc2yl";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal gtk2hs-buildtools ];
        libraryHaskellDepends = [
@@ -51538,7 +51706,6 @@ self: {
        description = "Third cake the Makefile EDSL";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "cakyrespa" = callPackage
@@ -51630,8 +51797,8 @@ self: {
      }:
      mkDerivation {
        pname = "calamity";
-       version = "0.2.0.0";
-       sha256 = "0c3nfi2vsj9h64l9j3pf42fgjgs7sh5ks7i1ymkfvmb2d3yyff6x";
+       version = "0.2.0.2";
+       sha256 = "05yqh6prffcwdv4zl1xcw8p9xidrn95wffxjkiy5j5vh2yf5a7c0";
        libraryHaskellDepends = [
          aeson async base bytestring calamity-commands colour
          concurrent-extra connection containers data-default-class
@@ -51800,23 +51967,21 @@ self: {
      }) {};
 
   "call-alloy" = callPackage
-    ({ mkDerivation, base, bytestring, containers, directory
+    ({ mkDerivation, base, bytestring, containers, directory, extra
      , file-embed, filepath, hashable, hspec, mtl, process, split
      , trifecta, unix
      }:
      mkDerivation {
        pname = "call-alloy";
-       version = "0.2.2.0";
-       sha256 = "09xy823lxmp4siqxbv8f6v192a9bs0vmq36293cbiv7g7w65bnvi";
-       revision = "2";
-       editedCabalFile = "0c90z46ks7sybx899ama5dsvbxvm62a2cclwqav1rak1vjygglk2";
+       version = "0.3";
+       sha256 = "0pf6zdx201pkdzj3iccwj9k3bi0qabpmsn0sfn27mcwdgksn2q7p";
        libraryHaskellDepends = [
-         base bytestring containers directory file-embed filepath hashable
-         mtl process split trifecta unix
+         base bytestring containers directory extra file-embed filepath
+         hashable mtl process split trifecta unix
        ];
        testHaskellDepends = [
-         base bytestring containers directory file-embed filepath hashable
-         hspec mtl process split trifecta unix
+         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;
@@ -51845,18 +52010,6 @@ self: {
      }) {};
 
   "call-stack" = callPackage
-    ({ mkDerivation, base, nanospec }:
-     mkDerivation {
-       pname = "call-stack";
-       version = "0.3.0";
-       sha256 = "0ski7ihdxah7x4x07qgkjljg8hzqs9d6aa5k4cmr40bzp3i8s3mq";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base nanospec ];
-       description = "Use GHC call-stacks in a backward compatible way";
-       license = lib.licenses.mit;
-     }) {};
-
-  "call-stack_0_4_0" = callPackage
     ({ mkDerivation, base, filepath, nanospec }:
      mkDerivation {
        pname = "call-stack";
@@ -51866,7 +52019,6 @@ self: {
        testHaskellDepends = [ base filepath nanospec ];
        description = "Use GHC call-stacks in a backward compatible way";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "camfort" = callPackage
@@ -51904,7 +52056,12 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "CamFort - Cambridge Fortran infrastructure";
        license = lib.licenses.asl20;
+       platforms = [
+         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
+         "x86_64-linux"
+       ];
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) flint;};
 
   "camh" = callPackage
@@ -52173,6 +52330,8 @@ 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
@@ -52214,40 +52373,14 @@ self: {
 
   "capability" = callPackage
     ({ mkDerivation, base, constraints, containers, dlist, exceptions
-     , generic-lens, hspec, lens, monad-control, monad-unlift, mtl
-     , mutable-containers, primitive, reflection, safe-exceptions
-     , silently, streaming, temporary, text, transformers, unliftio
-     , unliftio-core
-     }:
-     mkDerivation {
-       pname = "capability";
-       version = "0.4.0.0";
-       sha256 = "02dnvzfvn81k15qp41fqd3pk4izg8rfbj7d5f6ry0wfa8d8payq0";
-       revision = "1";
-       editedCabalFile = "0dqqry8qjx9gigz7x542zchrvjbmmhpafzn4fxf1dw0yd6hqavfq";
-       libraryHaskellDepends = [
-         base constraints dlist exceptions generic-lens lens monad-control
-         monad-unlift mtl mutable-containers primitive reflection
-         safe-exceptions streaming transformers unliftio unliftio-core
-       ];
-       testHaskellDepends = [
-         base containers dlist hspec lens mtl silently streaming temporary
-         text unliftio
-       ];
-       description = "Extensional capabilities and deriving combinators";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "capability_0_5_0_0" = callPackage
-    ({ mkDerivation, base, constraints, containers, dlist, exceptions
      , generic-lens, hspec, lens, monad-control, mtl, mutable-containers
      , primitive, reflection, safe-exceptions, silently, streaming
      , temporary, text, transformers, unliftio, unliftio-core
      }:
      mkDerivation {
        pname = "capability";
-       version = "0.5.0.0";
-       sha256 = "116phv80mqs5jd3pv0ar29xfjcg8jf2c77fp530dk0k3da8v5d38";
+       version = "0.5.0.1";
+       sha256 = "0sksd42ywaq5av7a1h9y66pclsk1fd9qx46q38kgs3av88zhzqci";
        libraryHaskellDepends = [
          base constraints dlist exceptions generic-lens lens monad-control
          mtl mutable-containers primitive reflection safe-exceptions
@@ -52259,7 +52392,6 @@ self: {
        ];
        description = "Extensional capabilities and deriving combinators";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "capataz" = callPackage
@@ -52281,8 +52413,6 @@ self: {
        ];
        description = "OTP-like supervision trees in Haskell";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "capnp" = callPackage
@@ -52329,7 +52459,6 @@ self: {
        description = "Cap'n Proto for Haskell";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "capped-list" = callPackage
@@ -52376,6 +52505,8 @@ self: {
        testHaskellDepends = [ base mtl tasty tasty-hunit ];
        description = "Monadic capabilities with late binding";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "captcha-2captcha" = callPackage
@@ -52549,8 +52680,6 @@ self: {
        ];
        description = "Algorithms for coin selection and fee balancing";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "cardano-transactions" = callPackage
@@ -52696,6 +52825,8 @@ self: {
        ];
        description = "A hashing class for content-addressed storage";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "cas-hashable-s3" = callPackage
@@ -52712,6 +52843,7 @@ self: {
        ];
        description = "ContentHashable instances for S3 objects";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "cas-store" = callPackage
@@ -52736,6 +52868,7 @@ self: {
        ];
        description = "A content-addressed storage";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "casa-abbreviations-and-acronyms" = callPackage
@@ -52759,8 +52892,6 @@ self: {
        ];
        description = "CASA Abbreviations and Acronyms";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "casa-client" = callPackage
@@ -53016,6 +53147,8 @@ self: {
        benchmarkHaskellDepends = [ gauge mwc-random rerebase ];
        description = "A converter for spinal, snake and camel cases";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "cash" = callPackage
@@ -53724,7 +53857,6 @@ self: {
        ];
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "cayene-lpp" = callPackage
@@ -53784,6 +53916,27 @@ self: {
        broken = true;
      }) {};
 
+  "cayley-client_0_4_18" = 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.18";
+       sha256 = "0zdv66p9klc6px8ch6239k2p4pi3px28k50918kq80wl94msigns";
+       libraryHaskellDepends = [
+         aeson attoparsec base binary bytestring exceptions http-client
+         http-conduit lens lens-aeson mtl text transformers
+         unordered-containers vector
+       ];
+       testHaskellDepends = [ aeson base hspec unordered-containers ];
+       description = "A Haskell client for the Cayley graph database";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "cayley-dickson" = callPackage
     ({ mkDerivation, base, random }:
      mkDerivation {
@@ -53844,7 +53997,7 @@ self: {
   "cborg" = callPackage
     ({ mkDerivation, aeson, array, base, base-orphans
      , base16-bytestring, base64-bytestring, bytestring, containers
-     , deepseq, ghc-prim, half, integer-gmp, primitive, QuickCheck
+     , deepseq, ghc-bignum, ghc-prim, half, primitive, QuickCheck
      , random, scientific, tasty, tasty-hunit, tasty-quickcheck, text
      , vector
      }:
@@ -53855,7 +54008,7 @@ self: {
        revision = "1";
        editedCabalFile = "0ry5p8cnmm772m3z074azh1ldxvq851dmffsp2b7vljjhzd9j4sc";
        libraryHaskellDepends = [
-         array base bytestring containers deepseq ghc-prim half integer-gmp
+         array base bytestring containers deepseq ghc-bignum ghc-prim half
          primitive text
        ];
        testHaskellDepends = [
@@ -53897,6 +54050,8 @@ self: {
        libraryHaskellDepends = [ base template-haskell ];
        description = "typesafe c-style casts; useful for FFI";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "cci" = callPackage
@@ -54147,7 +54302,6 @@ self: {
        description = "Protect and control API access with cerberus";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "cereal" = callPackage
@@ -54464,6 +54618,28 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "cfn-flip" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, conduit, doctest
+     , filepath, Glob, hspec, libyaml, resourcet, text, unliftio
+     , unliftio-core, yaml
+     }:
+     mkDerivation {
+       pname = "cfn-flip";
+       version = "0.1.0.1";
+       sha256 = "0vykc7lwjarbf0zqkjfms5sv82vsd64q102qrmvl3qs8mil0vkv2";
+       libraryHaskellDepends = [
+         aeson base bytestring conduit libyaml resourcet text unliftio
+         unliftio-core yaml
+       ];
+       testHaskellDepends = [
+         aeson base conduit doctest filepath Glob hspec libyaml yaml
+       ];
+       description = "Haskell implementation of aws/cfn-flip";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "cfopu" = callPackage
     ({ mkDerivation, base, bytestring, containers, data-default
      , dequeue, mtl
@@ -54592,7 +54768,6 @@ self: {
        ];
        description = "Command line tool";
        license = lib.licenses.gpl2Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "cgroup-rts-threads" = callPackage
@@ -54943,6 +55118,7 @@ self: {
        ];
        description = "Command-line utility to draw charts from input data easily";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "chart-histogram" = callPackage
@@ -54977,6 +55153,7 @@ self: {
        description = "Charting library targetting SVGs";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "chart-svg-various" = callPackage
@@ -55077,6 +55254,8 @@ self: {
        ];
        description = "Chase & Lev work-stealing lock-free double-ended queues (deques)";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "chassis" = callPackage
@@ -55344,8 +55523,8 @@ self: {
     ({ mkDerivation, array, base, QuickCheck, random, semigroupoids }:
      mkDerivation {
        pname = "checkers";
-       version = "0.5.6";
-       sha256 = "1b82dz295h37pi6bnkr4r18gkvavrwvsig15955i8hh1rcn2msaz";
+       version = "0.6.0";
+       sha256 = "1r4rsa4k0fy8xig3m530ryflry9viv9v47g4gh7h0ld27rbd6z60";
        libraryHaskellDepends = [
          array base QuickCheck random semigroupoids
        ];
@@ -55432,8 +55611,6 @@ self: {
        libraryHaskellDepends = [ base chell QuickCheck random ];
        description = "QuickCheck support for the Chell testing library";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "cherry-core-alpha" = callPackage
@@ -55476,8 +55653,8 @@ self: {
      }:
      mkDerivation {
        pname = "chessIO";
-       version = "0.9.2.0";
-       sha256 = "024hzkgq7csmhxapxsl26c8sxpnngpwvikz4sg277arkj6j6mxf2";
+       version = "0.9.3.0";
+       sha256 = "0hmj9dvsvwrp7ab4zrzmbvmzy0q6fr2ifzmdp4ajbxlmca0yh3py";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -55820,6 +55997,8 @@ self: {
        ];
        description = "Datatypes required for chr library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "chr-lang" = callPackage
@@ -55918,7 +56097,6 @@ self: {
        description = "measure timings of data evaluation";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "chronologique" = callPackage
@@ -55938,52 +56116,23 @@ self: {
      }) {};
 
   "chronos" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, criterion
-     , deepseq, doctest, hashable, HUnit, old-locale, primitive
-     , QuickCheck, semigroups, test-framework, test-framework-hunit
-     , test-framework-quickcheck2, text, thyme, time, torsor, vector
-     }:
-     mkDerivation {
-       pname = "chronos";
-       version = "1.1.1";
-       sha256 = "10nxhnj5y984c3mf2wkc2zl6afbph0b0vj7f722g0yp7cq4908yj";
-       revision = "1";
-       editedCabalFile = "0yspjcgnzl8kvfw6lgndkd2m4cp1s5gvga0kfm5fbrf0g8kwhns8";
-       libraryHaskellDepends = [
-         aeson attoparsec base bytestring hashable primitive semigroups text
-         torsor vector
-       ];
-       testHaskellDepends = [
-         attoparsec base bytestring doctest HUnit QuickCheck test-framework
-         test-framework-hunit test-framework-quickcheck2 text torsor
-       ];
-       benchmarkHaskellDepends = [
-         attoparsec base bytestring criterion deepseq old-locale QuickCheck
-         text thyme time vector
-       ];
-       description = "A performant time library";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "chronos_1_1_3" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytebuild, byteslice
-     , bytesmith, bytestring, criterion, deepseq, doctest, hashable
-     , HUnit, natural-arithmetic, old-locale, primitive, QuickCheck
-     , semigroups, test-framework, test-framework-hunit
-     , test-framework-quickcheck2, text, text-short, thyme, time, torsor
-     , vector
+     , bytesmith, bytestring, criterion, deepseq, hashable, HUnit
+     , natural-arithmetic, old-locale, primitive, QuickCheck, semigroups
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, text-short, thyme, time, torsor, vector
      }:
      mkDerivation {
        pname = "chronos";
-       version = "1.1.3";
-       sha256 = "1c5jzws6szqf9izifavapzvvib0b83rlyf5wcjfrshfipwfqrg26";
+       version = "1.1.4";
+       sha256 = "1v7h0qlckliid2zd3ff2l9l4xrdxacaw8my8bjj8grysj4vvyn5q";
        libraryHaskellDepends = [
          aeson attoparsec base bytebuild byteslice bytesmith bytestring
          deepseq hashable natural-arithmetic primitive semigroups text
          text-short torsor vector
        ];
        testHaskellDepends = [
-         aeson attoparsec base bytestring deepseq doctest HUnit QuickCheck
+         aeson attoparsec base bytestring deepseq HUnit QuickCheck
          test-framework test-framework-hunit test-framework-quickcheck2 text
          torsor
        ];
@@ -55993,7 +56142,6 @@ self: {
        ];
        description = "A high-performance time library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "chronos-bench" = callPackage
@@ -56175,6 +56323,8 @@ self: {
        ];
        description = "Church encoded pair";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "churros" = callPackage
@@ -56242,13 +56392,13 @@ self: {
      }:
      mkDerivation {
        pname = "cimple";
-       version = "0.0.14";
-       sha256 = "1n287ybpl4h8laklw4s0gqf7hn8w12yv3wxm1xjh7rx9fivnim2v";
+       version = "0.0.16";
+       sha256 = "02pxk1r076j0vkn0vhny9nxzf0dlql1hcn8sdw0nili8mb41pbj4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson ansi-wl-pprint array base bytestring containers data-fix
-         filepath groom monad-parallel mtl recursion-schemes split text
+         filepath monad-parallel mtl recursion-schemes split text
          transformers-compat
        ];
        libraryToolDepends = [ alex happy ];
@@ -56539,8 +56689,8 @@ self: {
      }:
      mkDerivation {
        pname = "circular";
-       version = "0.4.0.1";
-       sha256 = "03j06zf2fshcf59df088i47s4nx89arggv9h96izbpi0rz4m0fmk";
+       version = "0.4.0.2";
+       sha256 = "1wmm649rpjyy1w7k8zd4b8k52cb26i2jq4n6hszbspxp2bcvrnfs";
        libraryHaskellDepends = [ aeson base primitive vector ];
        testHaskellDepends = [
          aeson base hspec primitive QuickCheck quickcheck-instances vector
@@ -56638,32 +56788,6 @@ self: {
      }:
      mkDerivation {
        pname = "citeproc";
-       version = "0.4.0.1";
-       sha256 = "13hgbcbr7jbyfbxp8fsc43c2wq4fhlbxzqwh1plfkdi5n9bif1lv";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson attoparsec base bytestring case-insensitive containers
-         data-default file-embed filepath pandoc-types safe scientific text
-         transformers unicode-collation uniplate vector xml-conduit
-       ];
-       testHaskellDepends = [
-         aeson base bytestring containers Diff directory filepath mtl pretty
-         text timeit transformers
-       ];
-       description = "Generates citations and bibliography from CSL styles";
-       license = lib.licenses.bsd2;
-     }) {};
-
-  "citeproc_0_6_0_1" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring
-     , case-insensitive, containers, data-default, Diff, directory
-     , file-embed, filepath, mtl, pandoc-types, pretty, safe, scientific
-     , text, timeit, transformers, unicode-collation, uniplate, vector
-     , xml-conduit
-     }:
-     mkDerivation {
-       pname = "citeproc";
        version = "0.6.0.1";
        sha256 = "015ansq3a710s0hzs2157fx12bc4f1hy45l4dbi6j477sy800bqc";
        isLibrary = true;
@@ -56679,7 +56803,6 @@ self: {
        ];
        description = "Generates citations and bibliography from CSL styles";
        license = lib.licenses.bsd2;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "citeproc-hs" = callPackage
@@ -57020,58 +57143,27 @@ self: {
      }) {};
 
   "clash-ghc" = callPackage
-    ({ mkDerivation, array, base, bifunctors, bytestring, Cabal
-     , clash-lib, clash-prelude, concurrent-supply, containers, deepseq
-     , directory, exceptions, extra, filepath, ghc, ghc-boot, ghc-prim
-     , ghc-typelits-extra, ghc-typelits-knownnat
-     , ghc-typelits-natnormalise, ghci, hashable, haskeline, integer-gmp
-     , lens, mtl, primitive, process, reflection, split
-     , template-haskell, text, time, transformers, uniplate, unix
-     , unordered-containers, utf8-string, vector
-     }:
-     mkDerivation {
-       pname = "clash-ghc";
-       version = "1.4.7";
-       sha256 = "06r97diqy6px1pf06dbnvf6ns0kmqy5gc5mr6k9xam1d2pk37xwd";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         array base bifunctors bytestring Cabal clash-lib clash-prelude
-         concurrent-supply containers deepseq directory exceptions extra
-         filepath ghc ghc-boot ghc-prim ghc-typelits-extra
-         ghc-typelits-knownnat ghc-typelits-natnormalise ghci hashable
-         haskeline integer-gmp lens mtl primitive process reflection split
-         template-haskell text time transformers uniplate unix
-         unordered-containers utf8-string vector
-       ];
-       executableHaskellDepends = [ base ];
-       description = "Clash: a functional hardware description language - GHC frontend";
-       license = lib.licenses.bsd2;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
-  "clash-ghc_1_6_1" = callPackage
     ({ mkDerivation, array, base, bytestring, Cabal, clash-lib
      , clash-prelude, concurrent-supply, containers, data-binary-ieee754
-     , deepseq, directory, exceptions, extra, filepath, ghc, ghc-boot
-     , ghc-prim, ghc-typelits-extra, ghc-typelits-knownnat
-     , ghc-typelits-natnormalise, ghci, hashable, haskeline, integer-gmp
-     , lens, mtl, primitive, process, reflection, split
-     , template-haskell, text, time, transformers, uniplate, unix
-     , unordered-containers, utf8-string, vector
+     , deepseq, directory, exceptions, extra, filepath, ghc, ghc-bignum
+     , ghc-boot, ghc-prim, ghc-typelits-extra, ghc-typelits-knownnat
+     , ghc-typelits-natnormalise, ghci, hashable, haskeline, lens, mtl
+     , primitive, process, reflection, split, template-haskell, text
+     , time, transformers, uniplate, unix, unordered-containers
+     , utf8-string, vector
      }:
      mkDerivation {
        pname = "clash-ghc";
-       version = "1.6.1";
-       sha256 = "0kkwrp2ch01s75gyy3xa3lf305xi9czw0v4sgqcb4cds4qb47ih2";
+       version = "1.6.2";
+       sha256 = "0whyml49yag2yjm0qx3kw50w5r88x1ahdqgfh7ys03vhmppnf6h7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          array base bytestring Cabal clash-lib clash-prelude
          concurrent-supply containers data-binary-ieee754 deepseq directory
-         exceptions extra filepath ghc ghc-boot ghc-prim ghc-typelits-extra
-         ghc-typelits-knownnat ghc-typelits-natnormalise ghci hashable
-         haskeline integer-gmp lens mtl primitive process reflection split
+         exceptions extra filepath ghc ghc-bignum ghc-boot ghc-prim
+         ghc-typelits-extra ghc-typelits-knownnat ghc-typelits-natnormalise
+         ghci hashable haskeline lens mtl primitive process reflection split
          template-haskell text time transformers uniplate unix
          unordered-containers utf8-string vector
        ];
@@ -57082,56 +57174,13 @@ self: {
      }) {};
 
   "clash-lib" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, array
-     , attoparsec, base, base16-bytestring, binary, bytestring
-     , clash-prelude, concurrent-supply, containers, cryptohash-sha256
-     , data-binary-ieee754, data-default, deepseq, directory, dlist
-     , errors, exceptions, extra, filepath, ghc, ghc-boot-th
-     , ghc-typelits-knownnat, hashable, haskell-src-exts
-     , haskell-src-meta, hint, integer-gmp, interpolate, lens, mtl
-     , ordered-containers, parsers, pretty-show, prettyprinter
-     , primitive, process, quickcheck-text, reducers, tasty, tasty-hunit
-     , tasty-quickcheck, template-haskell, temporary, terminal-size
-     , text, text-show, time, transformers, trifecta
-     , unordered-containers, utf8-string, vector
-     , vector-binary-instances
-     }:
-     mkDerivation {
-       pname = "clash-lib";
-       version = "1.4.7";
-       sha256 = "03wj0i926x8lc09nwgwh48plqxc49i5zzwil88bgnxdcwv9ncv18";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson aeson-pretty ansi-terminal array attoparsec base
-         base16-bytestring binary bytestring clash-prelude concurrent-supply
-         containers cryptohash-sha256 data-binary-ieee754 data-default
-         deepseq directory dlist errors exceptions extra filepath ghc
-         ghc-boot-th hashable haskell-src-meta hint integer-gmp interpolate
-         lens mtl ordered-containers parsers pretty-show prettyprinter
-         primitive process reducers template-haskell temporary terminal-size
-         text text-show time transformers trifecta unordered-containers
-         utf8-string vector vector-binary-instances
-       ];
-       testHaskellDepends = [
-         aeson aeson-pretty base base16-bytestring bytestring clash-prelude
-         concurrent-supply containers data-default deepseq ghc
-         ghc-typelits-knownnat haskell-src-exts lens pretty-show
-         quickcheck-text tasty tasty-hunit tasty-quickcheck template-haskell
-         text transformers unordered-containers
-       ];
-       description = "Clash: a functional hardware description language - As a library";
-       license = lib.licenses.bsd2;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
-  "clash-lib_1_6_1" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, array, async
      , attoparsec, base, base16-bytestring, binary, bytestring
      , clash-prelude, concurrent-supply, containers, cryptohash-sha256
      , data-binary-ieee754, data-default, deepseq, directory, dlist
-     , exceptions, extra, filepath, ghc, ghc-boot-th
+     , exceptions, extra, filepath, ghc, ghc-bignum, ghc-boot-th
      , ghc-typelits-knownnat, Glob, hashable, haskell-src-exts
-     , haskell-src-meta, hint, integer-gmp, interpolate, lens, mtl
+     , haskell-src-meta, hint, interpolate, lens, mtl
      , ordered-containers, pretty-show, prettyprinter, primitive
      , quickcheck-text, stringsearch, tasty, tasty-hunit
      , tasty-quickcheck, template-haskell, temporary, terminal-size
@@ -57140,8 +57189,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-lib";
-       version = "1.6.1";
-       sha256 = "0qghvgl4x1lskmadn14kgbilfq9m2cb6n3ik513p27cvv5k8ahpj";
+       version = "1.6.2";
+       sha256 = "0i1h25zl1zagjk7163dh66a56fwi720889g0pr1mi5pk2j1hwx20";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -57149,8 +57198,8 @@ self: {
          aeson aeson-pretty ansi-terminal array async attoparsec base
          base16-bytestring binary bytestring clash-prelude concurrent-supply
          containers cryptohash-sha256 data-binary-ieee754 data-default
-         deepseq directory dlist exceptions extra filepath ghc ghc-boot-th
-         hashable haskell-src-meta hint integer-gmp interpolate lens mtl
+         deepseq directory dlist exceptions extra filepath ghc ghc-bignum
+         ghc-boot-th hashable haskell-src-meta hint interpolate lens mtl
          ordered-containers pretty-show prettyprinter primitive
          template-haskell temporary terminal-size text time transformers
          trifecta unordered-containers vector vector-binary-instances yaml
@@ -57179,8 +57228,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-lib-hedgehog";
-       version = "1.6.1";
-       sha256 = "0mm5wr80aylkp8xr71r40n90n5piipyfq7nrrj1ppqmb7lcs8gwj";
+       version = "1.6.2";
+       sha256 = "1wmdfm2i15gwccb7niqfsvfixdzmvv3z25p1qdbjik6368j0d376";
        libraryHaskellDepends = [
          base clash-lib containers data-binary-ieee754 fakedata
          ghc-typelits-knownnat ghc-typelits-natnormalise hedgehog
@@ -57208,54 +57257,12 @@ self: {
      }) {};
 
   "clash-prelude" = callPackage
-    ({ mkDerivation, array, arrows, base, bifunctors, binary
-     , bytestring, Cabal, cabal-doctest, constraints, containers
-     , criterion, data-binary-ieee754, data-default-class, deepseq
-     , doctest, extra, ghc-prim, ghc-typelits-extra
-     , ghc-typelits-knownnat, ghc-typelits-natnormalise, half, hashable
-     , hedgehog, hint, integer-gmp, interpolate, lens, QuickCheck
-     , quickcheck-classes-base, recursion-schemes, reflection
-     , singletons, tasty, tasty-hedgehog, tasty-hunit, tasty-quickcheck
-     , tasty-th, template-haskell, text, text-show, th-abstraction
-     , th-lift, th-orphans, time, transformers, type-errors, uniplate
-     , vector
-     }:
-     mkDerivation {
-       pname = "clash-prelude";
-       version = "1.4.7";
-       sha256 = "1ba7w8d9532gd6ahvmdbxsby2rx9wpxblkgmkrn6df1xdp3aqi9w";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         array arrows base bifunctors binary bytestring constraints
-         containers data-binary-ieee754 data-default-class deepseq extra
-         ghc-prim ghc-typelits-extra ghc-typelits-knownnat
-         ghc-typelits-natnormalise half hashable integer-gmp interpolate
-         lens QuickCheck recursion-schemes reflection singletons
-         template-haskell text text-show th-abstraction th-lift th-orphans
-         time transformers type-errors uniplate vector
-       ];
-       testHaskellDepends = [
-         base deepseq doctest ghc-typelits-extra ghc-typelits-knownnat
-         ghc-typelits-natnormalise hedgehog hint quickcheck-classes-base
-         tasty tasty-hedgehog tasty-hunit tasty-quickcheck tasty-th
-         template-haskell
-       ];
-       benchmarkHaskellDepends = [
-         base criterion deepseq template-haskell
-       ];
-       description = "Clash: a functional hardware description language - Prelude library";
-       license = lib.licenses.bsd2;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "clash-prelude_1_6_1" = callPackage
     ({ mkDerivation, array, arrows, base, binary, bytestring
      , constraints, containers, criterion, data-binary-ieee754
      , data-default-class, deepseq, directory, doctest-parallel, extra
-     , filepath, ghc-prim, ghc-typelits-extra, ghc-typelits-knownnat
-     , ghc-typelits-natnormalise, half, hashable, hedgehog, hint
-     , integer-gmp, interpolate, lens, QuickCheck
+     , filepath, ghc-bignum, ghc-prim, ghc-typelits-extra
+     , ghc-typelits-knownnat, ghc-typelits-natnormalise, half, hashable
+     , hedgehog, hint, interpolate, lens, QuickCheck
      , quickcheck-classes-base, recursion-schemes, reflection
      , singletons, tasty, tasty-hedgehog, tasty-hunit, tasty-quickcheck
      , tasty-th, template-haskell, text, th-abstraction, th-lift
@@ -57263,13 +57270,13 @@ self: {
      }:
      mkDerivation {
        pname = "clash-prelude";
-       version = "1.6.1";
-       sha256 = "18fhkk2icwk8jm7d6ni0l2l7jgh0isdkmlzj2dpvqrwla6qf40j2";
+       version = "1.6.2";
+       sha256 = "05yp80skljri0wgc884ka4b6mqziks820wfi1d8yl4sjm2850qji";
        libraryHaskellDepends = [
          array arrows base binary bytestring constraints containers
-         data-binary-ieee754 data-default-class deepseq extra ghc-prim
-         ghc-typelits-extra ghc-typelits-knownnat ghc-typelits-natnormalise
-         half hashable integer-gmp interpolate lens QuickCheck
+         data-binary-ieee754 data-default-class deepseq extra ghc-bignum
+         ghc-prim ghc-typelits-extra ghc-typelits-knownnat
+         ghc-typelits-natnormalise half hashable interpolate lens QuickCheck
          recursion-schemes reflection singletons template-haskell text
          th-abstraction th-lift th-orphans time transformers type-errors
          uniplate vector
@@ -57286,7 +57293,6 @@ self: {
        description = "Clash: a functional hardware description language - Prelude library";
        license = lib.licenses.bsd2;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "clash-prelude-hedgehog" = callPackage
@@ -57295,8 +57301,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-prelude-hedgehog";
-       version = "1.6.1";
-       sha256 = "12p3rnfxi0l249l7w6cbvp2l4hlzxzppi9nca7vn9awr20shi2r4";
+       version = "1.6.2";
+       sha256 = "1i1zgjs8v0834cdbzg893x5l16d9fni33l153w288amg9cdy08l0";
        libraryHaskellDepends = [
          base clash-prelude ghc-typelits-knownnat ghc-typelits-natnormalise
          hedgehog text
@@ -57593,7 +57599,7 @@ self: {
        broken = true;
      }) {};
 
-  "clay" = callPackage
+  "clay_0_13_3" = callPackage
     ({ mkDerivation, base, hspec, hspec-discover, mtl, text }:
      mkDerivation {
        pname = "clay";
@@ -57604,6 +57610,20 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "CSS preprocessor as embedded Haskell";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "clay" = callPackage
+    ({ mkDerivation, base, hspec, hspec-discover, mtl, text }:
+     mkDerivation {
+       pname = "clay";
+       version = "0.14.0";
+       sha256 = "10dwgvga0xsil20w6l0xr8g1lsxg7rwdfcv4bga818jp49xbmnac";
+       libraryHaskellDepends = [ base mtl text ];
+       testHaskellDepends = [ base hspec hspec-discover mtl text ];
+       testToolDepends = [ hspec-discover ];
+       description = "CSS preprocessor as embedded Haskell";
+       license = lib.licenses.bsd3;
      }) {};
 
   "clckwrks" = callPackage
@@ -57930,27 +57950,43 @@ self: {
   "cleff" = callPackage
     ({ mkDerivation, atomic-primops, base, containers, exceptions
      , extra, hspec, lifted-base, microlens, monad-control, primitive
-     , QuickCheck, rec-smallarray, template-haskell, th-abstraction
-     , transformers-base, unliftio
+     , template-haskell, th-abstraction, transformers-base, unliftio
      }:
      mkDerivation {
        pname = "cleff";
-       version = "0.2.1.0";
-       sha256 = "1a9gvmz9s71c1m9d1f5mxnhid8096fdhmgw4j9l358gg4i6lzvrw";
+       version = "0.3.2.0";
+       sha256 = "0ayvywkd88p5frr41405jz82zya31jslbzxzln2x01maibjyyf2h";
        libraryHaskellDepends = [
          atomic-primops base containers exceptions microlens monad-control
-         primitive rec-smallarray template-haskell th-abstraction
-         transformers-base unliftio
+         primitive template-haskell th-abstraction transformers-base
+         unliftio
        ];
        testHaskellDepends = [
          atomic-primops base containers exceptions extra hspec lifted-base
-         microlens monad-control primitive QuickCheck rec-smallarray
-         template-haskell th-abstraction transformers-base unliftio
+         microlens monad-control primitive template-haskell th-abstraction
+         transformers-base unliftio
        ];
        description = "Fast and concise extensible effects";
        license = lib.licenses.bsd3;
      }) {};
 
+  "cleff-plugin" = callPackage
+    ({ mkDerivation, base, cleff, containers, ghc, ghc-tcplugins-extra
+     }:
+     mkDerivation {
+       pname = "cleff-plugin";
+       version = "0.1.0.0";
+       sha256 = "092lwskcwhgylzx1a02fjjgd15v0ipvx4mxnmdii2r782v697g37";
+       libraryHaskellDepends = [
+         base cleff containers ghc ghc-tcplugins-extra
+       ];
+       testHaskellDepends = [
+         base cleff containers ghc ghc-tcplugins-extra
+       ];
+       description = "Automatic disambiguation for extensible effects";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "cless" = callPackage
     ({ mkDerivation, base, highlighting-kate, optparse-applicative
      , process, terminfo, wl-pprint-extras, wl-pprint-terminfo
@@ -58117,6 +58153,8 @@ 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
@@ -58133,6 +58171,7 @@ self: {
        ];
        description = "Bindings to the git command-line interface";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "cli-nix" = callPackage
@@ -58149,6 +58188,7 @@ self: {
        ];
        description = "Bindings to the nix command-line interface";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "cli-setup" = callPackage
@@ -58216,7 +58256,6 @@ self: {
        description = "A Haskell library as database client for Clickhouse";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "clientsession" = callPackage
@@ -58606,8 +58645,6 @@ self: {
        ];
        description = "Closed intervals of totally ordered types";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "closure" = callPackage
@@ -58913,7 +58950,6 @@ self: {
        description = "High performance clustering algorithms";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "clustertools" = callPackage
@@ -59010,8 +59046,8 @@ self: {
      }:
      mkDerivation {
        pname = "cmark-gfm";
-       version = "0.2.2";
-       sha256 = "1skzdg1icmhn0zrkhbnba4200ymah8sd5msk4qfgawrk77zilw7f";
+       version = "0.2.3";
+       sha256 = "0krf1991bny99raw3961wp6hqdi0xmzcz18yisfp172kvd4cx33q";
        libraryHaskellDepends = [ base bytestring text ];
        testHaskellDepends = [ base HUnit text ];
        benchmarkHaskellDepends = [
@@ -59447,33 +59483,20 @@ self: {
        libraryHaskellDepends = [ base co-log-core stm ];
        description = "Asynchronous backend for co-log library";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "co-log-core" = callPackage
     ({ mkDerivation, base, doctest, Glob }:
      mkDerivation {
        pname = "co-log-core";
-       version = "0.2.1.1";
-       sha256 = "04w8j39n1cfmzvvllbjj21w7g53lgppf5crk7n4i9hgspaxbwyik";
-       revision = "1";
-       editedCabalFile = "1mib449rp5g02f62nl4phfgjm4f8dj5v6qwxyx0cccglkiccn28j";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base doctest Glob ];
-       description = "Composable Contravariant Comonadic Logging Library";
-       license = lib.licenses.mpl20;
-     }) {};
-
-  "co-log-core_0_3_0_0" = callPackage
-    ({ mkDerivation, base, doctest, Glob }:
-     mkDerivation {
-       pname = "co-log-core";
-       version = "0.3.0.0";
-       sha256 = "0jwxagj6mwlq5d1cql73qwkrzdq0bsj6bh6g179wkd9bm6rb9r9q";
+       version = "0.3.1.0";
+       sha256 = "1v0pccm2wmvlb21g8l47qmnl7839lj2rkf17bvrqj36xa7p0nwi9";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base doctest Glob ];
        description = "Composable Contravariant Comonadic Logging Library";
        license = lib.licenses.mpl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "co-log-json" = callPackage
@@ -59489,6 +59512,8 @@ self: {
        ];
        description = "Structured messages support in co-log ecosystem";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "co-log-polysemy" = callPackage
@@ -59503,8 +59528,6 @@ self: {
        executableHaskellDepends = [ base co-log-core polysemy ];
        description = "Composable Contravariant Comonadic Logging Library";
        license = lib.licenses.mpl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "co-log-polysemy-formatting" = callPackage
@@ -59529,6 +59552,7 @@ self: {
        description = "A Polysemy logging effect for high quality (unstructured) logs";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "co-log-sys" = callPackage
@@ -59607,8 +59631,8 @@ self: {
      }:
      mkDerivation {
        pname = "cobot-io";
-       version = "0.1.4.2";
-       sha256 = "1gh51097r6z35vbvdfg8fasv00midmdxgya0b2acm3hbrjnrdvp4";
+       version = "0.1.4.3";
+       sha256 = "1xmdz71ay9jphxabap610qvcm4bcm3dbd06zx6zkhd8xjz1hqsjf";
        libraryHaskellDepends = [
          array attoparsec base binary bytestring cobot containers
          data-msgpack deepseq http-conduit hyraxAbif lens linear megaparsec
@@ -59623,7 +59647,6 @@ self: {
        description = "Biological data file formats and IO";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "cobot-tools" = callPackage
@@ -59670,15 +59693,14 @@ self: {
      }:
      mkDerivation {
        pname = "code-conjure";
-       version = "0.5.0";
-       sha256 = "0vby6br1hg4v2yvp835p1wf32jmp431zqxkgglnd4f1by09vbx7m";
+       version = "0.5.2";
+       sha256 = "0vv4hmqirvf24pizbb47qvzl80il2n79k9sqvvwrds4ls0dsyavh";
        libraryHaskellDepends = [
          base express leancheck speculate template-haskell
        ];
        testHaskellDepends = [ base express leancheck speculate ];
        description = "synthesize Haskell functions out of partial definitions";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "code-page" = callPackage
@@ -60052,6 +60074,7 @@ self: {
        ];
        description = "Generate clang-format config based on some existing code base";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "cofunctor" = callPackage
@@ -60219,7 +60242,6 @@ self: {
        description = "Equivariant CSM classes of coincident root loci";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "cointracking-imports" = callPackage
@@ -60231,6 +60253,8 @@ self: {
        pname = "cointracking-imports";
        version = "0.1.0.1";
        sha256 = "19in8n8sigcbph29cgrbg1ccbxzadav1siryfjfc1g112p6mrf91";
+       revision = "1";
+       editedCabalFile = "1pcqkp1fvnwv5f4r88nva0dafgzfk2vixa5wh2q42991aj38a539";
        libraryHaskellDepends = [
          base base-compat-batteries bytestring cassava filepath lens
          scientific text time xlsx
@@ -60283,7 +60307,6 @@ self: {
        description = "Rudimentary JSON-RPC 2.0 client over raw TCP.";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "cold-widow" = callPackage
@@ -60621,6 +60644,8 @@ self: {
        libraryHaskellDepends = [ base lens linear profunctors ];
        description = "A type for colors";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "colour" = callPackage
@@ -60649,6 +60674,7 @@ self: {
        libraryHaskellDepends = [ accelerate base ];
        description = "Working with colours in Accelerate";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "colour-space" = callPackage
@@ -60739,6 +60765,7 @@ self: {
        ];
        description = "A CSV toolkit based on cassava and enum-text";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "com" = callPackage
@@ -60872,6 +60899,8 @@ self: {
        ];
        description = "Generate and manipulate various combinatorial objects";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "combinat-diagrams" = callPackage
@@ -60982,29 +61011,6 @@ self: {
     ({ mkDerivation, base, ChasingBottoms, containers, deepseq
      , doctest-exitcode-stdio, doctest-lib, guarded-allocation
      , non-empty, prelude-compat, primitive, QuickCheck, semigroups
-     , storable-record, tagged, transformers, utility-ht
-     }:
-     mkDerivation {
-       pname = "comfort-array";
-       version = "0.4.1";
-       sha256 = "11nsq6yc3sz259nn9vks49rxq5zzrfwqn9fvi10w3vbnq3wjg9i5";
-       libraryHaskellDepends = [
-         base containers deepseq guarded-allocation non-empty prelude-compat
-         primitive QuickCheck semigroups storable-record tagged transformers
-         utility-ht
-       ];
-       testHaskellDepends = [
-         base ChasingBottoms containers doctest-exitcode-stdio doctest-lib
-         QuickCheck tagged
-       ];
-       description = "Arrays where the index type is a function of the shape type";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "comfort-array_0_5_1" = callPackage
-    ({ mkDerivation, base, ChasingBottoms, containers, deepseq
-     , doctest-exitcode-stdio, doctest-lib, guarded-allocation
-     , non-empty, prelude-compat, primitive, QuickCheck, semigroups
      , storable-record, storablevector, tagged, transformers, utility-ht
      }:
      mkDerivation {
@@ -61022,7 +61028,6 @@ self: {
        ];
        description = "Arrays where the index type is a function of the shape type";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "comfort-array-shape" = callPackage
@@ -61044,8 +61049,6 @@ self: {
        doHaddock = false;
        description = "Additional shape types for the comfort-array package";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "comfort-fftw" = callPackage
@@ -61066,23 +61069,22 @@ self: {
        ];
        description = "High-level interface to FFTW (Fast Fourier Transform) based on comfort-array";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "comfort-graph" = callPackage
-    ({ mkDerivation, base, containers, QuickCheck, semigroups
-     , transformers, utility-ht
+    ({ mkDerivation, base, containers, doctest-exitcode-stdio
+     , QuickCheck, semigroups, transformers, utility-ht
      }:
      mkDerivation {
        pname = "comfort-graph";
-       version = "0.0.3.1";
-       sha256 = "0qmmz3z9dgjb41rj6g81ppxaj4jswqnnb8bqn2s1dd6hf6cih9n9";
+       version = "0.0.3.2";
+       sha256 = "13g6dcqcnysh1l0hsm3j3q9il9r987brxc3557m69k0ag0wk5m4b";
        libraryHaskellDepends = [
          base containers QuickCheck semigroups transformers utility-ht
        ];
        testHaskellDepends = [
-         base containers QuickCheck transformers utility-ht
+         base containers doctest-exitcode-stdio QuickCheck transformers
+         utility-ht
        ];
        description = "Graph structure with type parameters for nodes and edges";
        license = lib.licenses.bsd3;
@@ -61216,7 +61218,6 @@ self: {
        description = "Library for working with commoditized amounts and price histories";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "commonmark" = callPackage
@@ -61259,8 +61260,6 @@ self: {
        ];
        description = "Command-line commonmark converter and highlighter";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "commonmark-extensions" = callPackage
@@ -61371,12 +61370,12 @@ self: {
      }) {};
 
   "commutative-semigroups" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, containers }:
      mkDerivation {
        pname = "commutative-semigroups";
-       version = "0.0.1.0";
-       sha256 = "0vpg3vl84pwv7rnrmh0g6dzg0x61w919c84bry6gpmdkil55zlll";
-       libraryHaskellDepends = [ base ];
+       version = "0.0.2.0";
+       sha256 = "05nkma7rjxj2l31pzj3sd1lgyswf2jn8a25qnp6k7hcq67x3rhqm";
+       libraryHaskellDepends = [ base containers ];
        description = "Commutative semigroups";
        license = lib.licenses.bsd3;
      }) {};
@@ -61463,8 +61462,8 @@ self: {
      }:
      mkDerivation {
        pname = "compaREST";
-       version = "0.1.0.0";
-       sha256 = "06y2qxl0vgka4vby5vv1njzgwbaq3615qic15iqnnm9dqwg7cczx";
+       version = "0.1.0.1";
+       sha256 = "0m03zq2vbymbajbd0pc6n906cbis2nridf54659qyjvfi64h8037";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -61486,6 +61485,7 @@ self: {
        description = "Compatibility checker for OpenAPI";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "compact" = callPackage
@@ -61671,6 +61671,7 @@ self: {
        ];
        description = "A typeclass for structures which can be catMaybed, filtered, and partitioned";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "compactmap" = callPackage
@@ -61739,6 +61740,8 @@ self: {
        ];
        description = "Compositional Data Types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "compdata-automata" = callPackage
@@ -61754,6 +61757,7 @@ self: {
        ];
        description = "Tree automata on Compositional Data Types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "compdata-dags" = callPackage
@@ -61776,7 +61780,6 @@ self: {
        description = "Compositional Data Types on DAGs";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "compdata-fixplate" = callPackage
@@ -61813,7 +61816,6 @@ self: {
        description = "Parametric Compositional Data Types";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "compdoc" = callPackage
@@ -61833,6 +61835,7 @@ self: {
        ];
        description = "Parse a Pandoc to a composite value";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "compdoc-dhall-decoder" = callPackage
@@ -61851,6 +61854,7 @@ self: {
        ];
        description = "Allows you to write FromDhall instances for Compdoc";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "compendium-client" = callPackage
@@ -61867,6 +61871,8 @@ self: {
        ];
        description = "Client for the Compendium schema server";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "compensated" = callPackage
@@ -62036,6 +62042,8 @@ self: {
        ];
        description = "Aeson ToJSON/FromJSON implementation for the types of composable-associations";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "compose-ltr" = callPackage
@@ -62088,6 +62096,8 @@ self: {
        ];
        description = "JSON for Vinyl records";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "composite-aeson-cofree-list" = callPackage
@@ -62103,6 +62113,7 @@ self: {
        ];
        description = "Print a Cofree [] as a JSON value";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "composite-aeson-path" = callPackage
@@ -62114,6 +62125,7 @@ self: {
        libraryHaskellDepends = [ base composite-aeson path ];
        description = "Formatting data for the path library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "composite-aeson-refined" = callPackage
@@ -62129,6 +62141,7 @@ self: {
        ];
        description = "composite-aeson support for Refined from the refined package";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "composite-aeson-throw" = callPackage
@@ -62144,6 +62157,7 @@ self: {
        ];
        description = "MonadThrow behaviour for composite-aeson";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "composite-aeson-writeonly" = callPackage
@@ -62158,6 +62172,7 @@ self: {
        ];
        description = "WriteOnly indicators for composite-aeson";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "composite-base" = callPackage
@@ -62227,8 +62242,6 @@ self: {
        ];
        description = "Dhall instances for composite records";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "composite-ekg" = callPackage
@@ -62256,6 +62269,22 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "composite-ix" = callPackage
+    ({ mkDerivation, base, composite-base, containers, lens
+     , nonempty-containers, vector, vinyl
+     }:
+     mkDerivation {
+       pname = "composite-ix";
+       version = "0.0.1.0";
+       sha256 = "0kyy3fm1z9w2mwrhwn3gz5hpvykzsnij0rrsqi2fh3gd1dsxgc6c";
+       libraryHaskellDepends = [
+         base composite-base containers lens nonempty-containers vector
+         vinyl
+       ];
+       description = "Indexing utilities for composite records";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "composite-lens-extra" = callPackage
     ({ mkDerivation, base, composite-base, lens, vinyl }:
      mkDerivation {
@@ -62310,6 +62339,7 @@ self: {
        ];
        description = "Swagger for Vinyl records";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "composite-tuple" = callPackage
@@ -62479,7 +62509,6 @@ self: {
        description = "Strategy combinators for compositional data types";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "comptrans" = callPackage
@@ -62498,7 +62527,6 @@ self: {
        description = "Automatically converting ASTs into compositional data types";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "computational-algebra" = callPackage
@@ -62826,6 +62854,8 @@ self: {
        ];
        description = "A client side web UI framework for Haskell. Core framework.";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "concurrency" = callPackage
@@ -62983,8 +63013,8 @@ self: {
      }:
      mkDerivation {
        pname = "concurrent-machines";
-       version = "0.3.1.4";
-       sha256 = "1ddwbmvxaigkdbfqf3cm8pyyh0knn1zbf46j7rh1c6vqwqx2g16l";
+       version = "0.3.1.5";
+       sha256 = "0pdvn2sw2k9kpj2g53hf2w21hrcs7l3hxjn5hdjhyqaswpmq5xzh";
        libraryHaskellDepends = [
          async base containers lifted-async machines monad-control
          semigroups time transformers transformers-base
@@ -63067,6 +63097,8 @@ self: {
        libraryHaskellDepends = [ base ghc-prim ];
        description = "Concurrent Haskell in ST";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "concurrent-state" = callPackage
@@ -63109,6 +63141,8 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "More utilities and broad-used datastructures for concurrency";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "concurrentoutput" = callPackage
@@ -63267,13 +63301,13 @@ self: {
 
   "conduit-aeson" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, conduit
-     , conduit-extra, containers, doctest-parallel, hspec
-     , hspec-discover, QuickCheck, scientific, text
+     , conduit-extra, containers, doctest-parallel, hspec, QuickCheck
+     , scientific, text
      }:
      mkDerivation {
        pname = "conduit-aeson";
-       version = "0.1.0.0";
-       sha256 = "17czqy2w3wq4sd2infclvipbq8xg01s6bz87y1fwgvd28c5hym6l";
+       version = "0.1.0.1";
+       sha256 = "1jam2d4kk1pky9d88afl467a7sf5q46079cpfx9g2mjx7nc6x6zn";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring conduit conduit-extra text
        ];
@@ -63281,7 +63315,6 @@ self: {
          aeson attoparsec base bytestring conduit containers
          doctest-parallel hspec QuickCheck scientific text
        ];
-       testToolDepends = [ hspec-discover ];
        description = "Short description";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -63290,32 +63323,32 @@ self: {
   "conduit-algorithms" = callPackage
     ({ mkDerivation, async, base, bytestring, bzlib-conduit, conduit
      , conduit-combinators, conduit-extra, conduit-zstd, containers
-     , criterion, deepseq, directory, exceptions, HUnit, lzma-conduit
-     , monad-control, mtl, pqueue, resourcet, stm, stm-conduit
-     , streaming-commons, test-framework, test-framework-hunit
-     , test-framework-th, transformers, unliftio-core, vector
+     , 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.11.0";
-       sha256 = "0c1jwz30kkvimx7lb61782yk0kyfamrf5bqc3g1h7g51lk8bbv9i";
+       version = "0.0.12.0";
+       sha256 = "0zq1a3f64p5rqhlhk87vvpn3m8198m9ndxshj4wdq5b3lkylh89b";
        libraryHaskellDepends = [
          async base bytestring bzlib-conduit conduit conduit-combinators
-         conduit-extra conduit-zstd containers deepseq exceptions
-         lzma-conduit monad-control mtl pqueue resourcet stm stm-conduit
+         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
-         HUnit lzma-conduit monad-control mtl pqueue resourcet stm
-         stm-conduit streaming-commons test-framework test-framework-hunit
-         test-framework-th transformers unliftio-core vector
+         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
-         lzma-conduit monad-control mtl pqueue resourcet stm stm-conduit
+         fingertree lzma-conduit monad-control mtl resourcet stm stm-conduit
          streaming-commons transformers unliftio-core vector
        ];
        description = "Conduit-based algorithms";
@@ -63617,7 +63650,6 @@ self: {
        description = "Throttle Conduit Producers";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "conduit-tokenize-attoparsec" = callPackage
@@ -63867,6 +63899,8 @@ self: {
        testHaskellDepends = [ base conferer hspec hspec-core text ];
        description = "conferer's FromConfig instances for hspec Config";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "conferer-provider-dhall" = callPackage
@@ -64194,8 +64228,8 @@ self: {
      }:
      mkDerivation {
        pname = "config-value";
-       version = "0.8.2";
-       sha256 = "1yfy453mykwav6b3i58bmpkyb8jxyh96b96lvx2iyd4dz1i75cdk";
+       version = "0.8.2.1";
+       sha256 = "1kqkh5w4q8k2r9gab2x4grsbgx7gi18fabg7laiwpl3dm2acmz7k";
        libraryHaskellDepends = [ array base containers pretty text ];
        libraryToolDepends = [ alex happy ];
        testHaskellDepends = [ base text ];
@@ -64375,6 +64409,8 @@ self: {
        ];
        description = "Reduced parser for configurator-ng config files";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "confsolve" = callPackage
@@ -64423,6 +64459,7 @@ self: {
        ];
        description = "Vinyl-style extensible graphs";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "conjugateGradient" = callPackage
@@ -64562,6 +64599,8 @@ self: {
        testHaskellDepends = [ base hedgehog time ];
        description = "Orders, Galois connections, and lattices";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "consistent" = callPackage
@@ -64934,8 +64973,8 @@ self: {
      }:
      mkDerivation {
        pname = "construct";
-       version = "0.3.0.2";
-       sha256 = "1qng4g9x9smzg3gydpqyxalb49n9673rfn606qh3mq1xhcvj127j";
+       version = "0.3.1";
+       sha256 = "0kv186wqw4fzwibsacsr5slb7fxrjhcxdf96bav9rgsq114py5y2";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
@@ -64950,6 +64989,8 @@ 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
@@ -65150,8 +65191,6 @@ self: {
        libraryHaskellDepends = [ base base-unicode-symbols containers ];
        description = "Unicode alternatives for common functions and operators";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "containers-verified" = callPackage
@@ -65190,7 +65229,6 @@ self: {
        description = "Store and retrieve data from an on-disk store";
        license = lib.licenses.lgpl21Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "context" = callPackage
@@ -65253,8 +65291,6 @@ self: {
        ];
        description = "Basic algorithms on context-free grammars";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "context-http-client" = callPackage
@@ -65328,10 +65364,8 @@ self: {
      }:
      mkDerivation {
        pname = "contiguous";
-       version = "0.6.1";
-       sha256 = "1cgmz0adrv1kv1z21cfs4s4lmzbyp4acq5v2ly96bckp8a35cbix";
-       revision = "1";
-       editedCabalFile = "0lmqkbz8cgnxyds1wbhb9mxmc3rwz5x9hcamx08znrjl6fpkxs4f";
+       version = "0.6.1.1";
+       sha256 = "0r1l2qpnmv8xbf5wk7ibcmn9ry9xab7r0v84a1srqlm1dxr9xmh3";
        libraryHaskellDepends = [
          base deepseq primitive primitive-unlifted run-st
        ];
@@ -65463,6 +65497,19 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "contra-tracers" = callPackage
+    ({ mkDerivation, aeson, base, contra-tracer }:
+     mkDerivation {
+       pname = "contra-tracers";
+       version = "1.0.0";
+       sha256 = "1875kkrs52nhx64rgj791szy2pnxns16nj4m20jisbnva1vsq93n";
+       libraryHaskellDepends = [ aeson base contra-tracer ];
+       description = "A logging library built on top of contra-tracer to make configuring and declaring multiple tracers easy (via generics)";
+       license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "contracheck-applicative" = callPackage
     ({ mkDerivation, base, containers, contravariant, generics-sop
      , microlens, mmorph
@@ -65559,6 +65606,8 @@ self: {
        ];
        description = "An alternative to monads in do-notation";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "control-event" = callPackage
@@ -65751,6 +65800,8 @@ self: {
        libraryHaskellDepends = [ base transformers ];
        description = "Fast, easy to use CPS-based monad transformers";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "contstuff-monads-tf" = callPackage
@@ -65763,7 +65814,6 @@ self: {
        description = "ContStuff instances for monads-tf transformers (deprecated)";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "contstuff-transformers" = callPackage
@@ -65776,7 +65826,6 @@ self: {
        description = "Deprecated interface between contstuff 0.7.0 and the transformers package";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "converge" = callPackage
@@ -65902,7 +65951,6 @@ self: {
        description = "Convert the annotation of a gene to another in a delimited file using a variety of different databases";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "convertible" = callPackage
@@ -66024,8 +66072,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot";
-       version = "3.7";
-       sha256 = "1s39w0vqk2pdd9b3kxvjzi6r300x4mxz6rbkpdjzccagnk08xzay";
+       version = "3.8";
+       sha256 = "0lqr2ns6jg7m36pynl6i442d8x4kdlwlxqf59a0gspn8zgidwaii";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -66044,8 +66092,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-c99";
-       version = "3.7";
-       sha256 = "0k30n2w6sw76fdm42vrn28jrz23w3sydkmmh3lmbd42kipp01h7b";
+       version = "3.8";
+       sha256 = "0bpak9kd23j8bmc8x7ksb84gggmxplax4wj00c39mrvh5cb5wlwx";
        libraryHaskellDepends = [
          base containers copilot-core directory filepath language-c99
          language-c99-simple language-c99-util mtl pretty
@@ -66078,8 +66126,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-core";
-       version = "3.7";
-       sha256 = "0mf6mim94ryixdbwwdr39bvc704fwi0pdj3zkdl4csnj3gv4mr40";
+       version = "3.8";
+       sha256 = "0vv3p9a0c3pa856yx8zmr4d5ag8mym9gbpz5bgi17a7cgfc682cz";
        libraryHaskellDepends = [ base dlist mtl pretty ];
        testHaskellDepends = [
          base HUnit pretty QuickCheck test-framework test-framework-hunit
@@ -66091,17 +66139,40 @@ self: {
        broken = true;
      }) {};
 
+  "copilot-frp-sketch" = callPackage
+    ({ mkDerivation, base, containers, copilot, copilot-c99
+     , copilot-language, directory, filepath, mtl, optparse-applicative
+     , temporary
+     }:
+     mkDerivation {
+       pname = "copilot-frp-sketch";
+       version = "1.0.0";
+       sha256 = "00lnswf9p77415pnl67kggah6zwh2mf1szb78n6df2r13cbv6n0v";
+       libraryHaskellDepends = [
+         base containers copilot copilot-c99 copilot-language directory
+         filepath mtl optparse-applicative temporary
+       ];
+       description = "FRP sketch programming with Copilot";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "copilot-language" = callPackage
     ({ mkDerivation, array, base, containers, copilot-core
-     , copilot-theorem, data-reify, mtl
+     , copilot-theorem, data-reify, HUnit, mtl, pretty, QuickCheck
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
      }:
      mkDerivation {
        pname = "copilot-language";
-       version = "3.7";
-       sha256 = "1p1l7ciyvwgghnshf7apjwarf9w2wsyqflib5xghq9y1dhmz0xg4";
+       version = "3.8";
+       sha256 = "1wnv7xkgalxd7p7bm2zrsbg2r2wip9an8m5m3fc63wxvk9wcabj6";
        libraryHaskellDepends = [
          array base containers copilot-core copilot-theorem data-reify mtl
        ];
+       testHaskellDepends = [
+         base copilot-core HUnit pretty QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2
+       ];
        description = "A Haskell-embedded DSL for monitoring hard real-time distributed systems";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -66113,8 +66184,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-libraries";
-       version = "3.7";
-       sha256 = "1lqi3ml5vw0qjki4rmb1kk6q6yapc24zwvmsccnlik5llnrhb7lv";
+       version = "3.8";
+       sha256 = "1sx8bl10j7qwqi91dbl9dahy9l2n17qfbyni73az2fx9rq3q1jkz";
        libraryHaskellDepends = [
          array base containers copilot-language data-reify mtl parsec
        ];
@@ -66137,7 +66208,6 @@ self: {
        description = "A compiler for CoPilot targeting SBV";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "copilot-theorem" = callPackage
@@ -66148,8 +66218,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-theorem";
-       version = "3.7";
-       sha256 = "1h587747s52gx03qspnhx5jbkrrxhg618mibbwfcxpk7w7bdayv1";
+       version = "3.8";
+       sha256 = "18287hs36lhf1g6l740vkynccy1d87lrr9rcjpgzfn03s9y3d58n";
        libraryHaskellDepends = [
          ansi-terminal base bimap bv-sized containers copilot-core
          data-default directory filepath libBF mtl panic parameterized-utils
@@ -66221,6 +66291,8 @@ self: {
        ];
        description = "Yet another shell monad";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "core" = callPackage
@@ -66262,23 +66334,6 @@ self: {
      }:
      mkDerivation {
        pname = "core-data";
-       version = "0.2.1.11";
-       sha256 = "0i4v84gfrjfimc9nh12mf0fabqysm575c8kiq8awk2f1xmbz2f7q";
-       libraryHaskellDepends = [
-         aeson base bytestring containers core-text hashable prettyprinter
-         scientific text unordered-containers vector
-       ];
-       description = "Convenience wrappers around common data structures and encodings";
-       license = lib.licenses.mit;
-     }) {};
-
-  "core-data_0_3_1_1" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, core-text
-     , hashable, prettyprinter, scientific, text, unordered-containers
-     , vector
-     }:
-     mkDerivation {
-       pname = "core-data";
        version = "0.3.1.1";
        sha256 = "0i11m2k1xb97f0plvp9g7l4zhp9d1njn9z7xfhcmghbvlkk82vx2";
        libraryHaskellDepends = [
@@ -66287,7 +66342,6 @@ self: {
        ];
        description = "Convenience wrappers around common data structures and encodings";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "core-haskell" = callPackage
@@ -66312,27 +66366,6 @@ self: {
      , core-text, directory, exceptions, filepath, fsnotify, hashable
      , hourglass, mtl, prettyprinter, safe-exceptions, stm
      , template-haskell, terminal-size, text, text-short, transformers
-     , unix
-     }:
-     mkDerivation {
-       pname = "core-program";
-       version = "0.2.12.0";
-       sha256 = "0gl1cv82h2ax8gf1jjqphkj2481plz64jqq497rvyy2cpqv72kvr";
-       libraryHaskellDepends = [
-         async base bytestring chronologique core-data core-text directory
-         exceptions filepath fsnotify hashable hourglass mtl prettyprinter
-         safe-exceptions stm template-haskell terminal-size text text-short
-         transformers unix
-       ];
-       description = "Opinionated Haskell Interoperability";
-       license = lib.licenses.mit;
-     }) {};
-
-  "core-program_0_4_4_0" = callPackage
-    ({ mkDerivation, async, base, bytestring, chronologique, core-data
-     , core-text, directory, exceptions, filepath, fsnotify, hashable
-     , hourglass, mtl, prettyprinter, safe-exceptions, stm
-     , template-haskell, terminal-size, text, text-short, transformers
      , typed-process, unix
      }:
      mkDerivation {
@@ -66347,7 +66380,6 @@ self: {
        ];
        description = "Opinionated Haskell Interoperability";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "core-telemetry" = callPackage
@@ -66367,8 +66399,6 @@ self: {
        ];
        description = "Advanced telemetry";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "core-text" = callPackage
@@ -66418,7 +66448,6 @@ self: {
        ];
        description = "Interoperability with Servant";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "core-webserver-warp" = callPackage
@@ -66436,7 +66465,6 @@ self: {
        ];
        description = "Interoperability with Wai/Warp";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "corebot-bliki" = callPackage
@@ -66502,8 +66530,6 @@ self: {
        librarySystemDepends = [ rocksdb ];
        description = "Launches CoreNLP and parses the JSON output";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) rocksdb;};
 
   "cornea" = callPackage
@@ -66727,23 +66753,32 @@ self: {
      }) {};
 
   "country" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, deepseq
-     , hashable, primitive, QuickCheck, quickcheck-classes, scientific
-     , tasty, tasty-quickcheck, text, unordered-containers
+    ({ mkDerivation, aeson, attoparsec, base, bytebuild, bytehash
+     , byteslice, bytestring, compact, contiguous, deepseq, entropy
+     , gauge, hashable, primitive, primitive-unlifted, QuickCheck
+     , quickcheck-classes, scientific, tasty, tasty-quickcheck, text
+     , text-short, unordered-containers
      }:
      mkDerivation {
        pname = "country";
-       version = "0.2.1";
-       sha256 = "0nc9vjwagmih0m8h423lbsamkbxxyzhk3cr9cm7a7wwbl2bddq3a";
+       version = "0.2.2";
+       sha256 = "149j83j8y7q078azsbq4clrmgcd95w3980fs2dfqg7hmmiff8gcm";
        libraryHaskellDepends = [
-         aeson attoparsec base bytestring deepseq hashable primitive
-         scientific text unordered-containers
+         aeson attoparsec base bytebuild bytehash byteslice bytestring
+         contiguous deepseq entropy hashable primitive primitive-unlifted
+         scientific text text-short unordered-containers
        ];
        testHaskellDepends = [
-         base QuickCheck quickcheck-classes tasty tasty-quickcheck
+         base byteslice primitive QuickCheck quickcheck-classes tasty
+         tasty-quickcheck text text-short
+       ];
+       benchmarkHaskellDepends = [
+         base bytehash byteslice bytestring compact gauge primitive text
        ];
        description = "Country data type and functions";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "country-codes" = callPackage
@@ -66815,12 +66850,28 @@ self: {
      }:
      mkDerivation {
        pname = "covariance";
-       version = "0.1.0.5";
-       sha256 = "0ahbr930imp1qf67zdalk67zykp1q6dm141wcrb6pkv6ldjavv2p";
+       version = "0.1.0.6";
+       sha256 = "0aqml07q4rxihv3mrflprx2gm1c56np2m4n8kbipcdiflndn1017";
+       libraryHaskellDepends = [ base glasso hmatrix statistics vector ];
+       testHaskellDepends = [ base hmatrix tasty tasty-hunit ];
+       description = "Well-conditioned estimation of large-dimensional covariance matrices";
+       license = lib.licenses.gpl3Plus;
+       maintainers = with lib.maintainers; [ dschrempf ];
+     }) {};
+
+  "covariance_0_2_0_0" = callPackage
+    ({ mkDerivation, base, glasso, hmatrix, statistics, tasty
+     , tasty-hunit, vector
+     }:
+     mkDerivation {
+       pname = "covariance";
+       version = "0.2.0.0";
+       sha256 = "1746jgqsnzlq23g5a5w91ms33czx4p0dsckhm76frpk8wq7g1dh9";
        libraryHaskellDepends = [ base glasso hmatrix statistics vector ];
        testHaskellDepends = [ base hmatrix tasty tasty-hunit ];
        description = "Well-conditioned estimation of large-dimensional covariance matrices";
        license = lib.licenses.gpl3Plus;
+       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ dschrempf ];
      }) {};
 
@@ -67039,8 +67090,8 @@ self: {
     ({ mkDerivation, base, containers, directory, parallel }:
      mkDerivation {
        pname = "cpsa";
-       version = "3.6.9";
-       sha256 = "1d6308vy4zgwpqjqlslxj50x2pbgkq698p9l05xvm3wr5ml6dyv9";
+       version = "3.6.10";
+       sha256 = "1fxysn5ag27dzkbw95hdzzgz4nmm38spl96d2xv14lfnrafv6q06";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -67076,6 +67127,8 @@ self: {
        libraryHaskellDepends = [ base data-accessor enumset ];
        description = "Binding for the cpuid machine instruction on x86 compatible processors";
        license = "GPL";
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "cpuinfo" = callPackage
@@ -67140,6 +67193,8 @@ self: {
        ];
        description = "Cassandra CQL binary protocol";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "cql-io" = callPackage
@@ -67168,7 +67223,6 @@ self: {
        description = "Cassandra CQL client";
        license = lib.licenses.mpl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "cql-io-tinylog" = callPackage
@@ -67399,23 +67453,6 @@ self: {
      }:
      mkDerivation {
        pname = "crackNum";
-       version = "3.1";
-       sha256 = "1qavlqz1ca2c0v029kijlnf51l2sdiwk6dkx8kyk6xqp97bhx8rk";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         base directory filepath libBF process sbv tasty tasty-golden
-       ];
-       description = "Crack various integer and floating-point data formats";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "crackNum_3_2" = callPackage
-    ({ mkDerivation, base, directory, filepath, libBF, process, sbv
-     , tasty, tasty-golden
-     }:
-     mkDerivation {
-       pname = "crackNum";
        version = "3.2";
        sha256 = "1q9isxg65s9bsafqlcwpl82xypra4cxf935wxi5npbxi6dw5w13i";
        isLibrary = false;
@@ -67425,7 +67462,6 @@ self: {
        ];
        description = "Crack various integer and floating-point data formats";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "craft" = callPackage
@@ -67632,6 +67668,8 @@ self: {
        ];
        description = "Conflict-free replicated data types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "crdt-event-fold" = callPackage
@@ -67680,8 +67718,6 @@ self: {
        ];
        description = "Framework for artificial life experiments";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "credential-store" = callPackage
@@ -67724,7 +67760,6 @@ self: {
        description = "Secure Credentials Storage and Distribution";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "credentials-cli" = callPackage
@@ -67912,6 +67947,8 @@ self: {
        ];
        description = "A simple tool for comparing in Criterion benchmark results";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "criterion-compare" = callPackage
@@ -68318,7 +68355,6 @@ self: {
        description = "An educational tool for studying classical cryptography schemes";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "crypto-conduit" = callPackage
@@ -68422,6 +68458,8 @@ self: {
        benchmarkHaskellDepends = [ base bytestring criterion mtl ];
        description = "Cryptographic numbers: functions and algorithms";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "crypto-pubkey" = callPackage
@@ -68448,6 +68486,7 @@ self: {
        ];
        description = "Public Key cryptography";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "crypto-pubkey-openssh" = callPackage
@@ -68531,16 +68570,16 @@ self: {
      }) {};
 
   "crypto-rng" = callPackage
-    ({ mkDerivation, base, bytestring, crypto-api, DRBG, exceptions
-     , monad-control, mtl, transformers-base
+    ({ mkDerivation, base, bytestring, entropy, exceptions
+     , monad-control, mtl, primitive, random, transformers-base
      }:
      mkDerivation {
        pname = "crypto-rng";
-       version = "0.1.2.0";
-       sha256 = "0vmfxg5anp3bx8k84rmy3fs0z9h7aw8nhlv52z9js9k469xg9c6j";
+       version = "0.3.0.1";
+       sha256 = "0454zc70kxsahpcgnkk24rvjhm3bdlrd33qyl84zvixpv3m4mrps";
        libraryHaskellDepends = [
-         base bytestring crypto-api DRBG exceptions monad-control mtl
-         transformers-base
+         base bytestring entropy exceptions monad-control mtl primitive
+         random transformers-base
        ];
        description = "Cryptographic random number generator";
        license = lib.licenses.bsd3;
@@ -68668,7 +68707,6 @@ self: {
        description = "Interledger Crypto-Conditions";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "cryptohash" = callPackage
@@ -68912,6 +68950,29 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "cryptonite_0_30" = callPackage
+    ({ mkDerivation, base, basement, bytestring, deepseq, gauge
+     , ghc-prim, integer-gmp, memory, random, tasty, tasty-hunit
+     , tasty-kat, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "cryptonite";
+       version = "0.30";
+       sha256 = "07bb97iszhnrfddh5ql6p3dqd0c13xycjw5n2kljw7d0ia59q2an";
+       libraryHaskellDepends = [
+         base basement bytestring deepseq ghc-prim integer-gmp memory
+       ];
+       testHaskellDepends = [
+         base bytestring memory tasty tasty-hunit tasty-kat tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring deepseq gauge memory random
+       ];
+       description = "Cryptography Primitives sink";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "cryptonite-cd" = callPackage
     ({ mkDerivation, base, basement-cd, bytestring, deepseq, gauge
      , ghc-prim, integer-gmp, memory-cd, random, tasty, tasty-hunit
@@ -69050,6 +69111,8 @@ self: {
        ];
        description = "Connection-set algebra (CSA) library";
        license = "GPL";
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "cse-ghc-plugin" = callPackage
@@ -69095,6 +69158,7 @@ self: {
        description = "Analytical CSG (Constructive Solid Geometry) library";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "csound-catalog" = callPackage
@@ -69548,8 +69612,6 @@ self: {
        executableToolDepends = [ alex happy ];
        description = "Implementation of Univalence in Cubical Sets";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "cubicbezier" = callPackage
@@ -69635,7 +69697,6 @@ self: {
        description = "Haskell Implementation of Cuckoo Filters";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "cuckoo-filter" = callPackage
@@ -69662,6 +69723,8 @@ self: {
        ];
        description = "Pure and impure Cuckoo Filter";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "cuda" = callPackage
@@ -69764,6 +69827,8 @@ self: {
        libraryHaskellDepends = [ aeson base curl text utf8-string ];
        description = "Communicate with HTTP service using JSON";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "curl-cookiejar" = callPackage
@@ -69786,21 +69851,20 @@ self: {
      , case-insensitive, clock, cmdargs, connection, dhall, dhall-json
      , directory, hashable, hspec, hspec-expectations, http-client-tls
      , http-conduit, http-types, megaparsec, pretty-simple
-     , raw-strings-qq, regex-posix, tar, text, time, transformers
+     , raw-strings-qq, regex-posix, tar, text, transformers
      , unordered-containers, vector, yaml, zlib
      }:
      mkDerivation {
        pname = "curl-runnings";
-       version = "0.16.4";
-       sha256 = "1900v9gs4mmap4xp0bypq0wz14mw2mmak9861z4rl954pz25v9pv";
+       version = "0.17.0";
+       sha256 = "1bpyx4n9s416dbz3k216vn64qm04x1kh60ypn4fswhcampwfq4n2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base base64-bytestring bytestring case-insensitive clock
-         connection dhall dhall-json directory hashable hspec
-         hspec-expectations http-client-tls http-conduit http-types
-         megaparsec pretty-simple regex-posix text time transformers
-         unordered-containers vector yaml
+         connection dhall dhall-json directory hashable http-client-tls
+         http-conduit http-types megaparsec pretty-simple regex-posix text
+         transformers unordered-containers vector yaml
        ];
        executableHaskellDepends = [
          aeson base bytestring cmdargs directory http-conduit tar text zlib
@@ -69833,8 +69897,8 @@ self: {
     ({ mkDerivation, base, parsec, text }:
      mkDerivation {
        pname = "curly-expander";
-       version = "0.3.0.0";
-       sha256 = "08yw57f08rcvhnqsljndnqgbkll3zgf22xnqpjxlf1b6a8yfbqxm";
+       version = "0.3.0.1";
+       sha256 = "09hhlsya3ibk1v0k487a5dj35p9d838vixfnkzlfai3rmgs5awdz";
        libraryHaskellDepends = [ base parsec text ];
        testHaskellDepends = [ base parsec text ];
        description = "Curly braces (brackets) expanding";
@@ -69939,6 +70003,8 @@ self: {
        testHaskellDepends = [ base Cabal filepath mtl ];
        description = "Functions for manipulating Curry programs";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "curry-frontend" = callPackage
@@ -69970,6 +70036,27 @@ self: {
        broken = true;
      }) {};
 
+  "currycarbon" = callPackage
+    ({ mkDerivation, base, doctest, filepath, math-functions
+     , optparse-applicative, parsec, vector
+     }:
+     mkDerivation {
+       pname = "currycarbon";
+       version = "0.1.1.0";
+       sha256 = "0x328zl65hpaw93w9w167rc1sdpk7j7z4spwdmyj9wll6g57cwpb";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base filepath math-functions parsec vector
+       ];
+       executableHaskellDepends = [ base filepath optparse-applicative ];
+       testHaskellDepends = [ base doctest ];
+       description = "A package for simple, fast radiocarbon calibration";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "curryer" = callPackage
     ({ mkDerivation, aeson, base, blaze-html, bytestring
      , case-insensitive, containers, cookie, http-types, mtl, regex-pcre
@@ -70016,7 +70103,6 @@ self: {
        description = "Fast, Haskell RPC";
        license = lib.licenses.publicDomain;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "curryrs" = callPackage
@@ -70119,7 +70205,6 @@ self: {
          base criterion cursor-fuzzy-time genvalidity-criterion QuickCheck
        ];
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "cursor-gen" = callPackage
@@ -70130,31 +70215,6 @@ self: {
      }:
      mkDerivation {
        pname = "cursor-gen";
-       version = "0.3.0.0";
-       sha256 = "0sy7ypz4x9xhirfj9i2dk8r854gzr238qgaijgi221k7681jdcqb";
-       libraryHaskellDepends = [
-         base containers cursor genvalidity genvalidity-containers
-         genvalidity-text QuickCheck text
-       ];
-       testHaskellDepends = [
-         base containers cursor genvalidity-hspec genvalidity-hspec-optics
-         hspec microlens pretty-show QuickCheck text
-       ];
-       benchmarkHaskellDepends = [
-         base criterion cursor genvalidity-criterion
-       ];
-       description = "Generators for Purely Functional Cursors";
-       license = lib.licenses.mit;
-     }) {};
-
-  "cursor-gen_0_4_0_0" = callPackage
-    ({ mkDerivation, base, containers, criterion, cursor, genvalidity
-     , genvalidity-containers, genvalidity-criterion, genvalidity-hspec
-     , genvalidity-hspec-optics, genvalidity-text, hspec, microlens
-     , pretty-show, QuickCheck, text
-     }:
-     mkDerivation {
-       pname = "cursor-gen";
        version = "0.4.0.0";
        sha256 = "1a591kx30d8zmwl1rp78scjgbakkslq45wx6f558wmpph33gnw5s";
        libraryHaskellDepends = [
@@ -70170,7 +70230,6 @@ self: {
        ];
        description = "Generators for Purely Functional Cursors";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "curve25519" = callPackage
@@ -70294,6 +70353,8 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) pocketsphinx; inherit (pkgs) sphinxbase;};
 
   "cutter" = callPackage
@@ -70424,33 +70485,23 @@ self: {
        ];
        description = "Permissively licensed D-Bus client library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "d10" = callPackage
-    ({ mkDerivation, base, doctest, template-haskell }:
-     mkDerivation {
-       pname = "d10";
-       version = "0.2.1.6";
-       sha256 = "0a720zfpxwx5aymy3kmigfcwdbqz4vbfxjn1irfjl34ngndi358y";
-       libraryHaskellDepends = [ base template-haskell ];
-       testHaskellDepends = [ base doctest ];
-       description = "Digits 0-9";
-       license = lib.licenses.mit;
-     }) {};
-
-  "d10_1_0_0_2" = callPackage
-    ({ mkDerivation, base, hedgehog, template-haskell }:
+    ({ mkDerivation, base, hashable, hedgehog, template-haskell }:
      mkDerivation {
        pname = "d10";
-       version = "1.0.0.2";
-       sha256 = "10jc4sa986r194py1gg90mixvb2h4d1m12zwi6y5hffmrc910qva";
-       revision = "1";
-       editedCabalFile = "1ffwq8kfg90a5gfdm41fid7n4aszzl4j2mpnr4pp95ri174awqbz";
-       libraryHaskellDepends = [ base template-haskell ];
-       testHaskellDepends = [ base hedgehog template-haskell ];
+       version = "1.0.1.0";
+       sha256 = "0494hnk99nski7xsas06kbskvi4m9k7h5hizn1w8034xc34n0ppg";
+       libraryHaskellDepends = [
+         base hashable hedgehog template-haskell
+       ];
+       testHaskellDepends = [ base hashable hedgehog template-haskell ];
+       doHaddock = false;
        description = "Digits 0-9";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "d3d11binding" = callPackage
@@ -70647,7 +70698,7 @@ self: {
      , filepath, FindBin, hashable, haskeline, html, http-conduit
      , http-types, HUnit, leancheck, memory, mmap, monad-control, mtl
      , network, network-uri, old-time, parsec, process, QuickCheck
-     , regex-applicative, regex-compat-tdfa, stm, system-fileio
+     , regex-applicative, regex-base, regex-tdfa, stm, system-fileio
      , system-filepath, tar, temporary, terminfo, test-framework
      , test-framework-hunit, test-framework-leancheck
      , test-framework-quickcheck2, text, time, transformers
@@ -70656,8 +70707,8 @@ self: {
      }:
      mkDerivation {
        pname = "darcs";
-       version = "2.16.4";
-       sha256 = "07dygwh6p4fsrlgxmq6r7yvxmf4n2y04izzd30jzqgs0pi9645p4";
+       version = "2.16.5";
+       sha256 = "0ar4markr71l9hzrbgcz4q37cf2rf3936i6qi8p827p36v96qg6n";
        configureFlags = [ "-fforce-char8-encoding" "-flibrary" ];
        isLibrary = true;
        isExecutable = true;
@@ -70667,9 +70718,9 @@ self: {
          conduit constraints containers cryptonite data-ordlist directory
          fgl filepath hashable haskeline html http-conduit http-types memory
          mmap mtl network network-uri old-time parsec process
-         regex-applicative regex-compat-tdfa stm tar temporary terminfo text
-         time transformers unix unix-compat utf8-string vector zip-archive
-         zlib
+         regex-applicative regex-base regex-tdfa stm tar temporary terminfo
+         text time transformers unix unix-compat utf8-string vector
+         zip-archive zlib
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
@@ -71124,6 +71175,8 @@ self: {
        ];
        description = "Utilities for accessing and manipulating fields of records";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "data-accessor-transformers" = callPackage
@@ -71300,11 +71353,10 @@ self: {
     ({ mkDerivation, base, deepseq, QuickCheck }:
      mkDerivation {
        pname = "data-clist";
-       version = "0.1.2.3";
-       sha256 = "1mwfhnmvi3vicyjzl33m6pcipi2v887zazyqxygq258ndd010s9m";
-       revision = "1";
-       editedCabalFile = "13hg7a3d4ky8b765dl03ryxg28lq8iaqj5ky3j51r0i1i4f2a9hy";
-       libraryHaskellDepends = [ base deepseq QuickCheck ];
+       version = "0.2";
+       sha256 = "04mj0d1yp0l27v2my51w9q5zpdrdhp29fdyvmwqgxxp8f6yiwfhw";
+       libraryHaskellDepends = [ base deepseq ];
+       testHaskellDepends = [ base QuickCheck ];
        description = "Simple functional ring type";
        license = lib.licenses.bsd3;
      }) {};
@@ -71331,6 +71383,8 @@ self: {
        libraryHaskellDepends = [ base constraints ];
        description = "Define Backwards Compatibility Schemes for Arbitrary Data";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "data-concurrent-queue" = callPackage
@@ -71372,6 +71426,8 @@ self: {
        benchmarkHaskellDepends = [ base criterion deepseq QuickCheck ];
        description = "Generically compare data by their constructors";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "data-cycle" = callPackage
@@ -71624,6 +71680,8 @@ self: {
        benchmarkHaskellDepends = [ base criterion ];
        description = "Extensible records and polymorphic variants";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "data-diverse-lens" = callPackage
@@ -71641,7 +71699,6 @@ self: {
        description = "Isos & Lens for Data.Diverse.Many and Prisms for Data.Diverse.Which";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "data-dword" = callPackage
@@ -71913,6 +71970,8 @@ self: {
        pname = "data-forest";
        version = "0.1.0.9";
        sha256 = "1l16hg1pfzrbi2ih6najcam18p2b5lvmmkl6fxvk7izynvcc79jc";
+       revision = "1";
+       editedCabalFile = "0m0fp8fx21257z5k1g575wjcmavd29qav4cgjcwg5nxkxwrfldg8";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        description = "A simple multi-way tree data structure";
@@ -72001,6 +72060,8 @@ self: {
        testHaskellDepends = [ base doctest ];
        description = "Extending the concept of indices for lists and other containers";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "data-interval" = callPackage
@@ -72269,6 +72330,8 @@ self: {
        libraryHaskellDepends = [ attoparsec base binary containers text ];
        description = "Data types for named entities";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "data-nat" = callPackage
@@ -72392,15 +72455,11 @@ self: {
     ({ mkDerivation, base, deepseq, mtl, parallel, pretty, time }:
      mkDerivation {
        pname = "data-pprint";
-       version = "0.2.4.1";
-       sha256 = "10qg7sa64l7sjm6f9xx00nqddmxccj4h1apv4wwqhh8y7vlal1hc";
-       revision = "1";
-       editedCabalFile = "0gk2x4z7m0816gq6p22y5y8r1iydi4154xbn474i9nsbk56kp2by";
+       version = "0.2.4.2";
+       sha256 = "0r0d0s0bipxsr3108wmgqx2bixab05q5qrjzgsppxy3b1aki34nn";
        libraryHaskellDepends = [ base deepseq mtl parallel pretty time ];
        description = "Prettyprint and compare Data values";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "data-quotientref" = callPackage
@@ -72823,8 +72882,8 @@ self: {
        pname = "data-tree-print";
        version = "0.1.0.2";
        sha256 = "00jh37anim8qsn553467gmfhajcz1c61zrgh1ypkqsll0gc29vy3";
-       revision = "2";
-       editedCabalFile = "00qpzhm3lndhpql8aj93aj6r3x9n0gw3nx6n0q60xxrd6agyjifq";
+       revision = "3";
+       editedCabalFile = "0j24bzw0gs9zz22jp2iabpqyvyc4cg4c0y12cxiiskpndvspah2y";
        libraryHaskellDepends = [ base pretty syb ];
        description = "Print Data instances as a nested tree";
        license = lib.licenses.bsd3;
@@ -72957,6 +73016,8 @@ self: {
        ];
        description = "Database versioning and migration (experimental)";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "database-study" = callPackage
@@ -72981,8 +73042,8 @@ self: {
      }:
      mkDerivation {
        pname = "datadog";
-       version = "0.2.5.0";
-       sha256 = "15vbx09f2l250wlmk1wcnfrdmma81dghmy5gbyc6z7s8aqf9vib6";
+       version = "0.3.0.0";
+       sha256 = "0azjwmijk9dvikyajhapmbl4ckdnrji684yqzhm0p3m34rvzj2p4";
        libraryHaskellDepends = [
          aeson auto-update base buffer-builder bytestring containers dlist
          http-client http-client-tls http-types lens lifted-base
@@ -73081,7 +73142,6 @@ self: {
        description = "Fixing data-flow problems";
        license = lib.licenses.isc;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "dataflow" = callPackage
@@ -73192,6 +73252,8 @@ self: {
        ];
        description = "Client for DataRobot API";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "datasets" = callPackage
@@ -73222,6 +73284,7 @@ self: {
        ];
        description = "Classical data sets for statistics and machine learning";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dataurl" = callPackage
@@ -73263,6 +73326,7 @@ self: {
        testHaskellDepends = [ base dates hspec QuickCheck time ];
        description = "Date conversions";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dates" = callPackage
@@ -73279,6 +73343,8 @@ self: {
        testHaskellDepends = [ base hspec ];
        description = "Small library for parsing different dates formats";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "datetime" = callPackage
@@ -73538,8 +73604,8 @@ self: {
      }:
      mkDerivation {
        pname = "dbus";
-       version = "1.2.17";
-       sha256 = "0iyfnkxcnm1vl379ry88fqxgn2y8q6ilsvpic6ciassnyv5pcbrv";
+       version = "1.2.22";
+       sha256 = "03bpvdgjq4l7s5mihdhazd0aamcjvg9wxlgpsnm10r7jdk7lbbia";
        libraryHaskellDepends = [
          base bytestring cereal conduit containers deepseq exceptions
          filepath lens network parsec random split template-haskell text
@@ -73556,7 +73622,7 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
-  "dbus_1_2_23" = callPackage
+  "dbus_1_2_24" = callPackage
     ({ mkDerivation, base, bytestring, cereal, conduit, containers
      , criterion, deepseq, directory, exceptions, extra, filepath, lens
      , network, parsec, process, QuickCheck, random, resourcet, split
@@ -73565,8 +73631,8 @@ self: {
      }:
      mkDerivation {
        pname = "dbus";
-       version = "1.2.23";
-       sha256 = "10dzqab23i4a2k7fjrbhy0gq6daf865d32mw75vqrgkmywqajp99";
+       version = "1.2.24";
+       sha256 = "0w7337hn9l6n35qr9h5lscd0csss72hz88n99vqg3z8dz6g0ha17";
        libraryHaskellDepends = [
          base bytestring cereal conduit containers deepseq exceptions
          filepath lens network parsec random split template-haskell text
@@ -73756,7 +73822,6 @@ self: {
        description = "Discordian Date Types for Haskell";
        license = lib.licenses.gpl2Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ddc-base" = callPackage
@@ -73825,6 +73890,7 @@ self: {
        description = "Disciplined Disciple Compiler core language and type checker";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ddc-core-babel" = callPackage
@@ -74128,8 +74194,8 @@ self: {
      }:
      mkDerivation {
        pname = "dear-imgui";
-       version = "1.4.0";
-       sha256 = "02s649lbfil4c5hqvqrqp93sag21g45hmfw2nxbnpazj1cn1bk7w";
+       version = "1.5.0";
+       sha256 = "04h44z24712rfp8pnxa90vx5jh5szan5pz33xj8x5mly1vbqzyd7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -74171,6 +74237,8 @@ self: {
        ];
        description = "Modules for working with the Debian package system";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "debian-binary" = callPackage
@@ -74266,8 +74334,8 @@ self: {
      }:
      mkDerivation {
        pname = "debug-me";
-       version = "1.20200820";
-       sha256 = "1pxcycgdd0gmiqabpbjkish31yb2n7bqgwd1fm1na6w6xmjlh58a";
+       version = "1.20220324";
+       sha256 = "0zpg45bfqnlcnxh8kg2yy336qq9zb01g0ypqf7s2la33kxgck8n5";
        isLibrary = false;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath ];
@@ -74324,7 +74392,6 @@ self: {
        libraryHaskellDepends = [ base template-haskell unicode-show ];
        description = "You do not have to write variable names twice in Debug.Trace";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "debug-tracy" = callPackage
@@ -74452,6 +74519,8 @@ self: {
        pname = "decision-diagrams";
        version = "0.2.0.0";
        sha256 = "0l03mwig95h300rn1cfhd5ahwrlap6zsw09lwmkx6wkw6rjf4a5s";
+       revision = "1";
+       editedCabalFile = "12wki53kzfry2fh8039zvs0ifkzcz48vkg9ks8ycb60sjqqqf1cl";
        libraryHaskellDepends = [
          base containers hashable hashtables intern mwc-random primitive
          random reflection unordered-containers vector
@@ -74554,15 +74623,15 @@ self: {
 
   "deep-transformations" = callPackage
     ({ mkDerivation, base, Cabal, cabal-doctest, doctest, generic-lens
-     , markdown-unlit, rank2classes, template-haskell
+     , markdown-unlit, rank2classes, template-haskell, transformers
      }:
      mkDerivation {
        pname = "deep-transformations";
-       version = "0.1";
-       sha256 = "007j67gx2nq77d5zcikywjjc5hs14x95hn94sbzrjh708azbb7gc";
+       version = "0.2";
+       sha256 = "1kk7h4vys9l0456kaapdg1y1d8lzfkzkb71mc996l2lmrdxvzz5v";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
-         base generic-lens rank2classes template-haskell
+         base generic-lens rank2classes template-haskell transformers
        ];
        testHaskellDepends = [ base doctest rank2classes ];
        testToolDepends = [ markdown-unlit ];
@@ -74710,6 +74779,8 @@ self: {
        libraryHaskellDepends = [ array base deepseq stm ];
        description = "Candidate NFData Instances for Types in base";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "deepseq-magic" = callPackage
@@ -75158,6 +75229,8 @@ self: {
        ];
        description = "Mutable and immutable dense multidimensional arrays";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "dense-int-set" = callPackage
@@ -75218,8 +75291,6 @@ self: {
        ];
        description = "Dependency injection for records-of-functions";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "dep-t-advice" = callPackage
@@ -75245,7 +75316,6 @@ self: {
        ];
        description = "Giving good advice to functions in records-of-functions";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dep-t-dynamic" = callPackage
@@ -75271,6 +75341,7 @@ self: {
        description = "A dynamic environment for dependency injection";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "dependency" = callPackage
@@ -75482,7 +75553,6 @@ self: {
        description = "A simple configuration management tool for Haskell";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "dephd" = callPackage
@@ -75800,6 +75870,8 @@ self: {
        ];
        description = "Derive ToJSON/FromJSON instances in a more prefix-friendly manner";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "deriving-aeson" = callPackage
@@ -75822,29 +75894,6 @@ self: {
      }:
      mkDerivation {
        pname = "deriving-compat";
-       version = "0.5.10";
-       sha256 = "1ah04xsb71wv6iax47xpdykfadxp3lcw2l6vkg15723l1xgy8ach";
-       libraryHaskellDepends = [
-         base containers ghc-boot-th ghc-prim template-haskell
-         th-abstraction transformers transformers-compat
-       ];
-       testHaskellDepends = [
-         base base-compat base-orphans hspec QuickCheck tagged
-         template-haskell transformers transformers-compat void
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Backports of GHC deriving extensions";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "deriving-compat_0_6" = callPackage
-    ({ mkDerivation, base, base-compat, base-orphans, containers
-     , ghc-boot-th, ghc-prim, hspec, hspec-discover, QuickCheck, tagged
-     , template-haskell, th-abstraction, transformers
-     , transformers-compat, void
-     }:
-     mkDerivation {
-       pname = "deriving-compat";
        version = "0.6";
        sha256 = "0yy4gm4wf9ivwfz2hwc7j3kavbya1p01s49fdgnzisgsk3h9xvnp";
        libraryHaskellDepends = [
@@ -75858,7 +75907,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Backports of GHC deriving extensions";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "deriving-show-simple" = callPackage
@@ -75916,21 +75964,6 @@ self: {
     ({ mkDerivation, base, HUnit }:
      mkDerivation {
        pname = "derulo";
-       version = "1.0.10";
-       sha256 = "0mdmrzypl0hjbnwn9ij1bjfk4j07r0c9gw7h3wdhl82a8zcxggpc";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base ];
-       executableHaskellDepends = [ base ];
-       testHaskellDepends = [ base HUnit ];
-       description = "Parse and render JSON simply";
-       license = lib.licenses.mit;
-     }) {};
-
-  "derulo_2_0_0_1" = callPackage
-    ({ mkDerivation, base, HUnit }:
-     mkDerivation {
-       pname = "derulo";
        version = "2.0.0.1";
        sha256 = "15lq7yv69i7azz2vxbx29k9csz62pp3a01qk8sng6yrq734qw8dx";
        isLibrary = true;
@@ -75940,7 +75973,6 @@ self: {
        testHaskellDepends = [ base HUnit ];
        description = "Parse and render JSON simply";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "describe" = callPackage
@@ -76010,7 +76042,6 @@ self: {
        description = "Library, interpreter, and CLI for Descript programming language";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "descriptive" = callPackage
@@ -76137,6 +76168,8 @@ self: {
        ];
        description = "Markov chain text generator";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "deunicode" = callPackage
@@ -76457,40 +76490,40 @@ self: {
 
   "dhall" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, atomic-write
-     , base, bytestring, case-insensitive, cborg, cborg-json, containers
-     , contravariant, cryptonite, data-fix, deepseq, Diff, directory
-     , doctest, dotgen, either, exceptions, filepath, foldl, gauge
-     , generic-random, half, hashable, haskeline, http-client
-     , http-client-tls, http-types, lens-family-core, megaparsec, memory
-     , mmorph, mockery, mtl, network-uri, optparse-applicative
-     , parser-combinators, parsers, pretty-simple, prettyprinter
-     , prettyprinter-ansi-terminal, profunctors, QuickCheck
-     , quickcheck-instances, repline, scientific, serialise
-     , special-values, spoon, tasty, tasty-expected-failure, tasty-hunit
-     , tasty-quickcheck, tasty-silver, template-haskell, text
-     , text-manipulate, th-lift-instances, transformers
-     , transformers-compat, turtle, unordered-containers, uri-encode
-     , vector
+     , base, base16-bytestring, bytestring, case-insensitive, cborg
+     , cborg-json, containers, contravariant, cryptohash-sha256
+     , data-fix, deepseq, Diff, directory, doctest, dotgen, either
+     , exceptions, filepath, foldl, gauge, generic-random, half
+     , hashable, haskeline, http-client, http-client-tls, http-types
+     , lens-family-core, megaparsec, mmorph, mockery, mtl, network-uri
+     , optparse-applicative, parser-combinators, parsers, pretty-simple
+     , prettyprinter, prettyprinter-ansi-terminal, profunctors
+     , QuickCheck, quickcheck-instances, repline, scientific, serialise
+     , special-values, spoon, system-filepath, tasty
+     , tasty-expected-failure, tasty-hunit, tasty-quickcheck
+     , tasty-silver, template-haskell, temporary, text, text-manipulate
+     , th-lift-instances, time, transformers, turtle
+     , unordered-containers, uri-encode, vector
      }:
      mkDerivation {
        pname = "dhall";
-       version = "1.39.0";
-       sha256 = "1by2d84fbckspczddl4npfsf89q6nprmbg0i5g8yr1psp0fpl4ab";
-       revision = "3";
-       editedCabalFile = "1yhslq8i3407yaw30vgyffmmmq61f4g3ik4ikjhhplcbl6hb57l6";
+       version = "1.40.2";
+       sha256 = "14wh497fipvz01zc9s31gv144spg1iqfwp6x5mlk1hjk0v9qs5by";
+       revision = "2";
+       editedCabalFile = "0mxq3knz1wpvs6jcdw6p0mnwpyy7aqriy2qdyxqzmhcbw2yn3hc1";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson aeson-pretty ansi-terminal atomic-write base bytestring
-         case-insensitive cborg cborg-json containers contravariant
-         cryptonite data-fix deepseq Diff directory dotgen either exceptions
-         filepath half hashable haskeline http-client http-client-tls
-         http-types lens-family-core megaparsec memory mmorph mtl
-         network-uri optparse-applicative parser-combinators parsers
-         pretty-simple prettyprinter prettyprinter-ansi-terminal profunctors
-         repline scientific serialise template-haskell text text-manipulate
-         th-lift-instances transformers transformers-compat
+         aeson aeson-pretty ansi-terminal atomic-write base
+         base16-bytestring bytestring case-insensitive cborg cborg-json
+         containers contravariant cryptohash-sha256 data-fix deepseq Diff
+         directory dotgen either exceptions filepath half hashable haskeline
+         http-client http-client-tls http-types lens-family-core megaparsec
+         mmorph mtl network-uri optparse-applicative parser-combinators
+         parsers pretty-simple prettyprinter prettyprinter-ansi-terminal
+         profunctors repline scientific serialise template-haskell text
+         text-manipulate th-lift-instances time transformers
          unordered-containers uri-encode vector
        ];
        executableHaskellDepends = [ base ];
@@ -76499,9 +76532,9 @@ self: {
          either filepath foldl generic-random http-client http-client-tls
          lens-family-core megaparsec mockery prettyprinter QuickCheck
          quickcheck-instances scientific serialise special-values spoon
-         tasty tasty-expected-failure tasty-hunit tasty-quickcheck
-         tasty-silver template-haskell text transformers turtle
-         unordered-containers vector
+         system-filepath tasty tasty-expected-failure tasty-hunit
+         tasty-quickcheck tasty-silver template-haskell temporary text time
+         transformers turtle unordered-containers vector
        ];
        benchmarkHaskellDepends = [
          base bytestring containers directory gauge text
@@ -76512,7 +76545,7 @@ self: {
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
-  "dhall_1_40_2" = callPackage
+  "dhall_1_41_1" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, atomic-write
      , base, base16-bytestring, bytestring, case-insensitive, cborg
      , cborg-json, containers, contravariant, cryptohash-sha256
@@ -76531,10 +76564,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall";
-       version = "1.40.2";
-       sha256 = "14wh497fipvz01zc9s31gv144spg1iqfwp6x5mlk1hjk0v9qs5by";
-       revision = "2";
-       editedCabalFile = "0mxq3knz1wpvs6jcdw6p0mnwpyy7aqriy2qdyxqzmhcbw2yn3hc1";
+       version = "1.41.1";
+       sha256 = "09flx2mfl8mzszn0hx80fai3ryiwgjkbxyklfkpmm5hw1smkdslv";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -76550,18 +76581,43 @@ self: {
          text-manipulate th-lift-instances time transformers
          unordered-containers uri-encode vector
        ];
-       executableHaskellDepends = [ base ];
+       executableHaskellDepends = [
+         aeson aeson-pretty ansi-terminal atomic-write base
+         base16-bytestring bytestring case-insensitive cborg cborg-json
+         containers contravariant data-fix deepseq Diff directory dotgen
+         either exceptions filepath half hashable haskeline lens-family-core
+         megaparsec mmorph mtl network-uri optparse-applicative
+         parser-combinators parsers pretty-simple prettyprinter
+         prettyprinter-ansi-terminal profunctors repline scientific
+         serialise template-haskell text text-manipulate th-lift-instances
+         time transformers unordered-containers uri-encode vector
+       ];
        testHaskellDepends = [
-         base bytestring cborg containers data-fix deepseq directory doctest
-         either filepath foldl generic-random http-client http-client-tls
-         lens-family-core megaparsec mockery prettyprinter QuickCheck
-         quickcheck-instances scientific serialise special-values spoon
-         system-filepath tasty tasty-expected-failure tasty-hunit
-         tasty-quickcheck tasty-silver template-haskell temporary text time
-         transformers turtle unordered-containers vector
+         aeson aeson-pretty ansi-terminal atomic-write base
+         base16-bytestring bytestring case-insensitive cborg cborg-json
+         containers contravariant data-fix deepseq Diff directory doctest
+         dotgen either exceptions filepath foldl generic-random half
+         hashable haskeline http-client http-client-tls lens-family-core
+         megaparsec mmorph mockery mtl network-uri optparse-applicative
+         parser-combinators parsers pretty-simple prettyprinter
+         prettyprinter-ansi-terminal profunctors QuickCheck
+         quickcheck-instances repline scientific serialise special-values
+         spoon system-filepath tasty tasty-expected-failure tasty-hunit
+         tasty-quickcheck tasty-silver template-haskell temporary text
+         text-manipulate th-lift-instances time transformers turtle
+         unordered-containers uri-encode vector
        ];
        benchmarkHaskellDepends = [
-         base bytestring containers directory gauge text
+         aeson aeson-pretty ansi-terminal atomic-write base
+         base16-bytestring bytestring case-insensitive cborg cborg-json
+         containers contravariant data-fix deepseq Diff directory dotgen
+         either exceptions filepath gauge half hashable haskeline
+         lens-family-core megaparsec mmorph mtl network-uri
+         optparse-applicative parser-combinators parsers pretty-simple
+         prettyprinter prettyprinter-ansi-terminal profunctors repline
+         scientific serialise template-haskell text text-manipulate
+         th-lift-instances time transformers unordered-containers uri-encode
+         vector
        ];
        doCheck = false;
        description = "A configuration language guaranteed to terminate";
@@ -76576,8 +76632,10 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-bash";
-       version = "1.0.37";
-       sha256 = "0gm6zamh8kgrc2d00cjf2ijb49ic3z6rlk0ngmig8hckmsy63w1d";
+       version = "1.0.39";
+       sha256 = "0by0w5dqsi0yrs9qnkpls7n5m0qwslxkcycb4s97vk8xl6nj5kk8";
+       revision = "1";
+       editedCabalFile = "1c01623qx7wxas9g8b4hliybvff0g994jbwrcx14hhb77xr6j14v";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -76592,16 +76650,14 @@ self: {
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
-  "dhall-bash_1_0_39" = callPackage
+  "dhall-bash_1_0_40" = callPackage
     ({ mkDerivation, base, bytestring, containers, dhall
      , neat-interpolation, optparse-generic, shell-escape, text
      }:
      mkDerivation {
        pname = "dhall-bash";
-       version = "1.0.39";
-       sha256 = "0by0w5dqsi0yrs9qnkpls7n5m0qwslxkcycb4s97vk8xl6nj5kk8";
-       revision = "1";
-       editedCabalFile = "1c01623qx7wxas9g8b4hliybvff0g994jbwrcx14hhb77xr6j14v";
+       version = "1.0.40";
+       sha256 = "0fkzrj4q97cfg96slc6y3sihr9ahcj7lsjpv4kfyrvlw7jxgxld9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -76645,10 +76701,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-csv";
-       version = "1.0.1";
-       sha256 = "00a08lcxf9r1ln87bzy4j83z08yl1m7xmzv1irg0xa03vskby3lx";
-       revision = "1";
-       editedCabalFile = "1bwsapkmfqcw0hgvpnw3mpsx5q36x1f5dq4dai5wypj0bly3x8k0";
+       version = "1.0.2";
+       sha256 = "08m9gjjldbzbgqr7vb33xjnzn7vmhf8gp9zh73vvzbchflwgh48p";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -76679,10 +76733,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-docs";
-       version = "1.0.8";
-       sha256 = "1rkwvk6vd8l52nxv186fw3qdmsjvi8098yccnnbysmf41rz80fi7";
-       revision = "2";
-       editedCabalFile = "12virkq759imppdzpx75fyka8kqfw01xfwb0lm9mir86gjb34n2q";
+       version = "1.0.9";
+       sha256 = "1va5bv7jz3msp39l782qbc1m3n5wnjdqx4jsj9vqdydqbfsk8gri";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -76700,7 +76752,6 @@ self: {
        ];
        description = "Generate HTML docs from a dhall package";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
@@ -76747,8 +76798,10 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-json";
-       version = "1.7.7";
-       sha256 = "163600cr04a5c9gjqg0846wwjp4wl61yhfg80zvsadkaq5zfzlll";
+       version = "1.7.9";
+       sha256 = "11rl46vn6lzcm9kznpfc43c3a2cbq2si2zba3k2x4j360kvg9fgn";
+       revision = "2";
+       editedCabalFile = "0f1jb37f5k214dzxbbhw2hij7j7srydkdp0hpkapgs5k73vjvqm4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -76768,7 +76821,7 @@ self: {
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
-  "dhall-json_1_7_9" = callPackage
+  "dhall-json_1_7_10" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, aeson-yaml, ansi-terminal
      , base, bytestring, containers, dhall, exceptions, filepath
      , lens-family-core, optparse-applicative, prettyprinter
@@ -76777,10 +76830,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-json";
-       version = "1.7.9";
-       sha256 = "11rl46vn6lzcm9kznpfc43c3a2cbq2si2zba3k2x4j360kvg9fgn";
-       revision = "2";
-       editedCabalFile = "0f1jb37f5k214dzxbbhw2hij7j7srydkdp0hpkapgs5k73vjvqm4";
+       version = "1.7.10";
+       sha256 = "11gpsgd3aafqh9v10gib7yivy3dp7dhd1a3dslf2ivc7na3d8p71";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -76823,27 +76874,29 @@ self: {
   "dhall-lsp-server" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
      , data-default, dhall, dhall-json, directory, doctest, filepath
-     , haskell-lsp, haskell-lsp-types, hslogger, hspec, lens, lsp-test
-     , megaparsec, mtl, network-uri, optparse-applicative, prettyprinter
-     , QuickCheck, rope-utf16-splay, tasty, tasty-hspec, text
-     , transformers, unordered-containers, uri-encode
+     , hslogger, hspec, lens, lsp, lsp-test, lsp-types, megaparsec, mtl
+     , network-uri, optparse-applicative, prettyprinter, QuickCheck
+     , rope-utf16-splay, tasty, tasty-hspec, text, transformers
+     , unordered-containers, uri-encode
      }:
      mkDerivation {
        pname = "dhall-lsp-server";
-       version = "1.0.17";
-       sha256 = "0h4wji3fsvkplj78bfqi3x9p7q9ikcsmj65nfrfn4p6p6i1knhw8";
+       version = "1.1.1";
+       sha256 = "0z4gc27fpz1pcjbajwpxgn0zhxlp9xp47lyg55p03ghfpqa2mcl6";
+       revision = "1";
+       editedCabalFile = "0705v99wy1903mhay7csp629gbzgqr902az04lp5hpxr9xvpmlnz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-pretty base bytestring containers data-default dhall
-         dhall-json directory filepath haskell-lsp hslogger lens megaparsec
-         mtl network-uri prettyprinter rope-utf16-splay text transformers
+         dhall-json directory filepath hslogger lens lsp megaparsec mtl
+         network-uri prettyprinter rope-utf16-splay text transformers
          unordered-containers uri-encode
        ];
        executableHaskellDepends = [ base optparse-applicative ];
        testHaskellDepends = [
-         base directory doctest filepath haskell-lsp-types hspec lsp-test
-         QuickCheck tasty tasty-hspec text
+         base directory doctest filepath hspec lsp-test lsp-types QuickCheck
+         tasty tasty-hspec text
        ];
        description = "Language Server Protocol (LSP) server for Dhall";
        license = lib.licenses.mit;
@@ -76856,10 +76909,10 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-nix";
-       version = "1.1.21";
-       sha256 = "0yqqjq8yqswcaiqrrgx37rlwvxgciwhvird34hsaq4fr3kbjgv4h";
+       version = "1.1.23";
+       sha256 = "17ajfkhxg4kjn6w7v3ymr6nsbqplvywkcwmfzybxqvmphh4zmfjb";
        revision = "1";
-       editedCabalFile = "0pnnlm299sw7jgz6a1bg18nvc2qfgylinc90b3da0cpvaardp6wz";
+       editedCabalFile = "1grr0r30nbhi1d52vhmhp0rx2pas0wbg7m5npsqczfgd1d9p43dz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -76874,16 +76927,14 @@ self: {
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
-  "dhall-nix_1_1_23" = callPackage
+  "dhall-nix_1_1_24" = callPackage
     ({ mkDerivation, base, containers, data-fix, dhall, hnix
      , lens-family-core, neat-interpolation, optparse-generic, text
      }:
      mkDerivation {
        pname = "dhall-nix";
-       version = "1.1.23";
-       sha256 = "17ajfkhxg4kjn6w7v3ymr6nsbqplvywkcwmfzybxqvmphh4zmfjb";
-       revision = "1";
-       editedCabalFile = "1grr0r30nbhi1d52vhmhp0rx2pas0wbg7m5npsqczfgd1d9p43dz";
+       version = "1.1.24";
+       sha256 = "1zaqzccrj3yn502k1b9drs882ycxw59m3jgsbafj6fny1v5ljcha";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -76907,10 +76958,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-nixpkgs";
-       version = "1.0.7";
-       sha256 = "1s7md4b2jzgmf557clln9fc5lmdrd9xjs55dd97dv8q6krm8nabg";
-       revision = "3";
-       editedCabalFile = "135j5m3dgiyvjlw67rbx1jjnnzb5v777g6a8kkplpiv92swwslfd";
+       version = "1.0.8";
+       sha256 = "1jr9njnly63d5bzd9np7hijmczkwamb4j2k14h647h6i3hhkxh8n";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -76931,10 +76980,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-openapi";
-       version = "1.0.3";
-       sha256 = "0k7yq7g77ws7wjfzd35ydsjwaq2kc1y0rhwjwb6yvkyvljmr0ykz";
-       revision = "2";
-       editedCabalFile = "0cqvwbpn3njl3xm4jxcsb2dvfi6y1nm6inxanqxda7pgbysqrn8j";
+       version = "1.0.4";
+       sha256 = "1hvjilm1hjq4963l7xnr1r35x023pgddv0l3bvfgryd58zv728ah";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -76959,8 +77006,8 @@ self: {
        pname = "dhall-recursive-adt";
        version = "0.1.0.1";
        sha256 = "09s3m86vflj5im2walab8d0wpvihsvxc5mzy55m10pfzr3gxsd11";
-       revision = "2";
-       editedCabalFile = "14a524zh3vi06cnf5glhd1kdl4wsmzsaqgvsvxg5096kzn6cijqx";
+       revision = "4";
+       editedCabalFile = "0ym561whhaiszvqpdfbbzng3891n36fkwgaspyfhl5gz7pdqr6v9";
        libraryHaskellDepends = [ base data-fix dhall recursion-schemes ];
        testHaskellDepends = [
          base dhall either hedgehog recursion-schemes tasty tasty-hedgehog
@@ -76968,6 +77015,7 @@ self: {
        ];
        description = "Convert recursive ADTs from and to Dhall";
        license = lib.licenses.cc0;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dhall-text" = callPackage
@@ -77022,20 +77070,18 @@ self: {
 
   "dhall-toml" = callPackage
     ({ mkDerivation, base, containers, dhall, directory, doctest
-     , filepath, prettyprinter, tasty, tasty-hunit, text, tomland
-     , unordered-containers
+     , filepath, optparse-applicative, prettyprinter, tasty, tasty-hunit
+     , text, tomland, unordered-containers
      }:
      mkDerivation {
        pname = "dhall-toml";
-       version = "1.0.1";
-       sha256 = "024cillwk8rq7jlv6vh85ifypy1ddfvszf3fzmgl1r0ca9iclmbb";
-       revision = "1";
-       editedCabalFile = "1gha7d2mv02l85z78grikillywh295ankc94vg3gbzlcc0bk0czz";
+       version = "1.0.2";
+       sha256 = "1ygrh13pbsym5b6gq1bwbqacd00y7y5bnzqihzz4r84jain669yh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base containers dhall prettyprinter text tomland
-         unordered-containers
+         base containers dhall optparse-applicative prettyprinter text
+         tomland unordered-containers
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
@@ -77044,8 +77090,6 @@ self: {
        ];
        description = "Convert between Dhall and TOML";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "dhall-yaml" = callPackage
@@ -77056,39 +77100,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-yaml";
-       version = "1.2.7";
-       sha256 = "17fpxjlhmjnra92l8iv4k40bxbx1plmhkijf6axxkjyhfh0ax303";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base bytestring dhall dhall-json HsYAML HsYAML-aeson
-         optparse-applicative text vector
-       ];
-       executableHaskellDepends = [
-         aeson ansi-terminal base bytestring dhall dhall-json exceptions
-         optparse-applicative prettyprinter prettyprinter-ansi-terminal text
-       ];
-       testHaskellDepends = [
-         base bytestring dhall dhall-json tasty tasty-expected-failure
-         tasty-hunit text
-       ];
-       description = "Convert between Dhall and YAML";
-       license = lib.licenses.gpl3Only;
-       maintainers = with lib.maintainers; [ Gabriel439 ];
-     }) {};
-
-  "dhall-yaml_1_2_9" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, base, bytestring, dhall
-     , dhall-json, exceptions, HsYAML, HsYAML-aeson
-     , optparse-applicative, prettyprinter, prettyprinter-ansi-terminal
-     , tasty, tasty-expected-failure, tasty-hunit, text, vector
-     }:
-     mkDerivation {
-       pname = "dhall-yaml";
-       version = "1.2.9";
-       sha256 = "0gn9jrqihimjs8i9ksgmlkh8c64km52rmsgz2y6k3ab0igkv8dw6";
-       revision = "2";
-       editedCabalFile = "18qshgn6vfry37sfmdwi1lijqdrhbrximbwcyi5zzz1b5nb7sa0v";
+       version = "1.2.10";
+       sha256 = "1a3g84799lbq7v9bzdq9bcwzyzci07rd1x42325ck4x51hrqs8nn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -77105,7 +77118,6 @@ self: {
        ];
        description = "Convert between Dhall and YAML";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
@@ -77126,7 +77138,6 @@ self: {
        description = "Parse a DHCP lease file";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "dhrun" = callPackage
@@ -77484,8 +77495,6 @@ self: {
        ];
        description = "Graph layout and drawing with GraphViz and diagrams";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "diagrams-gtk" = callPackage
@@ -77501,8 +77510,6 @@ self: {
        ];
        description = "Backend for rendering diagrams directly to GTK windows";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "diagrams-haddock" = callPackage
@@ -77574,6 +77581,30 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "diagrams-input" = callPackage
+    ({ mkDerivation, attoparsec, base, base64-bytestring, blaze-builder
+     , blaze-markup, bytestring, colour, conduit, conduit-extra
+     , containers, css-text, data-default, diagrams-core, diagrams-lib
+     , digits, either, JuicyPixels, linear, resourcet, semigroups, split
+     , system-filepath, text, transformers, unordered-containers, vector
+     , xml-conduit, xml-types
+     }:
+     mkDerivation {
+       pname = "diagrams-input";
+       version = "0.1";
+       sha256 = "1ap1qark5f746fgvnzr0fam9csxqqbpvlsyr7smxgwxzhqhsjdjy";
+       libraryHaskellDepends = [
+         attoparsec base base64-bytestring blaze-builder blaze-markup
+         bytestring colour conduit conduit-extra containers css-text
+         data-default diagrams-core diagrams-lib digits either JuicyPixels
+         linear resourcet semigroups split system-filepath text transformers
+         unordered-containers vector xml-conduit xml-types
+       ];
+       description = "Parse raster and SVG files for diagrams";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "diagrams-lib" = callPackage
     ({ mkDerivation, active, adjunctions, array, base, bytestring
      , cereal, colour, containers, criterion, data-default-class
@@ -77671,7 +77702,6 @@ self: {
        ];
        description = "PGF backend for diagrams drawing EDSL";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "diagrams-postscript" = callPackage
@@ -77763,6 +77793,8 @@ self: {
        ];
        description = "Library for drawing the Rubik's Cube";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "diagrams-solve" = callPackage
@@ -77873,6 +77905,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A Dialogflow Fulfillment library for Haskell";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "dialogue" = callPackage
@@ -77920,6 +77954,8 @@ self: {
        pname = "dice";
        version = "0.1.0.1";
        sha256 = "1jybckq3wf3vs0d92ji6a6mlgw64afhwdr6b0w2p1d97zp2fsdn3";
+       revision = "1";
+       editedCabalFile = "160n5nn39in0hz60hddwds1a2z8gwk3r1llzjaj2278phig3ap7k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base parsec random-fu transformers ];
@@ -78206,7 +78242,6 @@ self: {
        description = "Finds out whether an entity comes from different distributions (statuses)";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "diffmap" = callPackage
@@ -78732,6 +78767,8 @@ self: {
        ];
        description = "A convenient tagless EDSL";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "diohsc" = callPackage
@@ -78933,7 +78970,6 @@ self: {
        description = "Bindings to RocksDB";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "direct-sqlite" = callPackage
@@ -78976,8 +79012,8 @@ self: {
        pname = "directory";
        version = "1.3.7.0";
        sha256 = "041dnqqnc1dadasqyhivpa7rnhw3i08gq5bwj1kfz7lhlihbv1lz";
-       revision = "1";
-       editedCabalFile = "048d5ccrd697cvb3kb3aahqkzwcizh275d44j09rvrh08xqzjnad";
+       revision = "2";
+       editedCabalFile = "13krvs6zfswr3xndysq1bg7mz9n8mm1w7p4zcx8xjs0jqkm8hiyl";
        libraryHaskellDepends = [ base filepath time unix ];
        testHaskellDepends = [ base filepath time unix ];
        description = "Platform-agnostic library for filesystem operations";
@@ -79005,7 +79041,6 @@ self: {
        description = "Recursively build, navigate, and operate on a tree of directory contents";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "directory-layout" = callPackage
@@ -79095,8 +79130,8 @@ self: {
      }:
      mkDerivation {
        pname = "dirichlet";
-       version = "0.1.0.5";
-       sha256 = "1ibp7cvbi86m2m0kb1pzxmnb68awhbkayms7gffx3nqli6yb1fi9";
+       version = "0.1.0.6";
+       sha256 = "1awypb4ww1mgmvyd16hx1wxjws83slv65i3dc059b7w5nrmwqg49";
        libraryHaskellDepends = [
          base log-domain math-functions mwc-random primitive vector
        ];
@@ -79145,6 +79180,7 @@ self: {
        description = "A small library for working with directories";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "disassembler" = callPackage
@@ -79169,8 +79205,8 @@ self: {
      }:
      mkDerivation {
        pname = "disco";
-       version = "0.1.2.0";
-       sha256 = "0c8d7ly5v6x9pf9xhs1rlnd627d6lsna0x40qrz59xcc77n78xr3";
+       version = "0.1.5";
+       sha256 = "023pa9jgvxk1p56aydki91c8xmxx63m5w0v6bdyy1dqnwcgqlzzy";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -79251,26 +79287,23 @@ self: {
     ({ mkDerivation, aeson, async, base, base64-bytestring, bytestring
      , containers, data-default, emoji, http-client, iso8601-time
      , JuicyPixels, MonadRandom, mtl, req, safe-exceptions, scientific
-     , text, time, unliftio, unordered-containers, vector, websockets
-     , wuss
+     , text, time, unliftio, unordered-containers, websockets, wuss
      }:
      mkDerivation {
        pname = "discord-haskell";
-       version = "1.12.0";
-       sha256 = "02gxfpwrxg7i9n0wca4g0dfsndrdxasdsdbp79ixwp51pvd04cad";
+       version = "1.12.5";
+       sha256 = "1pciyjmgqnv4ra12fshmjb65phgs1l6jsn0ffvargv3gm92g079y";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson async base base64-bytestring bytestring containers
          data-default emoji http-client iso8601-time JuicyPixels MonadRandom
          mtl req safe-exceptions scientific text time unliftio
-         unordered-containers vector websockets wuss
+         unordered-containers websockets wuss
        ];
        executableHaskellDepends = [ base text unliftio ];
        description = "Write bots for Discord in Haskell";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "discord-haskell-voice" = callPackage
@@ -79281,8 +79314,10 @@ self: {
      }:
      mkDerivation {
        pname = "discord-haskell-voice";
-       version = "2.2.1";
-       sha256 = "07vwd9l9aa87wfs8gpqdi39h0j2jvc7mdn48yzkn68canv1wf95q";
+       version = "2.2.2";
+       sha256 = "0vbp8xdvb9ci49l1ifqghbv6smqx0ll902957yyxym6yj2xjfpmv";
+       revision = "2";
+       editedCabalFile = "11dylm637a0wgvdmk47rhznhfkvdssfl52mnaf3wmqvd3axfh1id";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -79472,7 +79507,7 @@ self: {
 
   "discrimination" = callPackage
     ({ mkDerivation, array, base, containers, contravariant, criterion
-     , deepseq, ghc-prim, hashable, integer-gmp, primitive, promises
+     , deepseq, ghc-bignum, ghc-prim, hashable, primitive, promises
      , QuickCheck, quickcheck-instances, splitmix, tasty
      , tasty-quickcheck, transformers, unordered-containers, vector
      , vector-algorithms
@@ -79484,8 +79519,8 @@ self: {
        revision = "1";
        editedCabalFile = "1iz2vfizkid17m1k9j1a1rdzr44ir2fgw0nnhg1drjlyirc09p9f";
        libraryHaskellDepends = [
-         array base containers contravariant deepseq ghc-prim hashable
-         integer-gmp primitive promises transformers
+         array base containers contravariant deepseq ghc-bignum ghc-prim
+         hashable primitive promises transformers
        ];
        testHaskellDepends = [
          base containers criterion deepseq hashable QuickCheck
@@ -79626,6 +79661,7 @@ self: {
        libraryHaskellDepends = [ base ghcjs-base-stub stm ];
        description = "Allows storing different resource-releasing actions together";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dist-upload" = callPackage
@@ -79688,6 +79724,8 @@ self: {
        testHaskellDepends = [ base binary hspec QuickCheck ];
        description = "Serializable closures for distributed programming";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "distributed-fork" = callPackage
@@ -79706,6 +79744,7 @@ self: {
        testHaskellDepends = [ base tasty tasty-hunit unix ];
        description = "Like 'forkIO', but uses remote machines instead of local threads";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "distributed-fork-aws-lambda" = callPackage
@@ -79733,7 +79772,6 @@ self: {
        description = "AWS Lambda backend for distributed-fork";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "distributed-process" = callPackage
@@ -79759,7 +79797,6 @@ self: {
        description = "Cloud Haskell: Erlang-style concurrency in Haskell";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "distributed-process-async" = callPackage
@@ -80265,6 +80302,7 @@ self: {
        ];
        description = "Compositional, type-safe, polymorphic static values and closures";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "distribution" = callPackage
@@ -80400,6 +80438,7 @@ self: {
        ];
        description = "Quantify the diversity of a population";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dixi" = callPackage
@@ -80485,6 +80524,8 @@ self: {
        ];
        description = "Generate Haskell code from a type. Bridge from Djinn to GHC API.";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "djinn-lib" = callPackage
@@ -80736,8 +80777,6 @@ self: {
        testHaskellDepends = [ attoparsec base bytestring HUnit text ];
        description = "DNS name parsing and pattern matching utilities";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "dnscache" = callPackage
@@ -80757,7 +80796,6 @@ self: {
        description = "Caching DNS resolver library and mass DNS resolver utility";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "dnsrbl" = callPackage
@@ -80811,6 +80849,8 @@ self: {
        testHaskellDepends = [ base indexed ];
        description = "Generalize do-notation to work on monads and indexed monads simultaneously";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "do-notation-dsl" = callPackage
@@ -80827,6 +80867,8 @@ self: {
        ];
        description = "An alternative to monads";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "do-spaces" = callPackage
@@ -80881,6 +80923,8 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "The library is intended to print updated messages on the terminal screen";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "dobutokO-effects" = callPackage
@@ -80892,6 +80936,7 @@ self: {
        libraryHaskellDepends = [ base dobutokO-frequency ];
        description = "A library to deal with SoX effects and possibilities";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dobutokO-frequency" = callPackage
@@ -80903,6 +80948,8 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Helps to create experimental music. Working with frequencies and types.";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "dobutokO-poetry" = callPackage
@@ -80925,6 +80972,7 @@ self: {
        ];
        description = "Helps to order the 7 or less Ukrainian words to obtain somewhat suitable for poetry or music text";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dobutokO-poetry-general" = callPackage
@@ -80936,6 +80984,7 @@ self: {
        libraryHaskellDepends = [ base mmsyn3 mmsyn6ukr mmsyn7s vector ];
        description = "Helps to order the 7 or less words (first of all the Ukrainian ones) to obtain somewhat suitable for poetry or music text";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dobutokO-poetry-general-languages" = callPackage
@@ -80952,6 +81001,7 @@ self: {
        ];
        description = "Helps to order the 7 or less words to obtain somewhat suitable for poetry or music text";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dobutokO2" = callPackage
@@ -80975,6 +81025,7 @@ self: {
        ];
        description = "Helps to create experimental music from a file (or its part) and a Ukrainian text";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dobutokO3" = callPackage
@@ -80991,6 +81042,7 @@ self: {
        ];
        description = "Helps to create more complex experimental music from a file (especially timbre)";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dobutokO4" = callPackage
@@ -81007,6 +81059,7 @@ self: {
        ];
        description = "Helps to create experimental music. Uses SoX inside.";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "doc-review" = callPackage
@@ -81241,8 +81294,6 @@ self: {
        ];
        description = "A command-line interface parser that will make you smile";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "docrecords" = callPackage
@@ -81284,32 +81335,6 @@ self: {
     ({ mkDerivation, aeson, base, bytestring, containers, criterion
      , doclayout, filepath, Glob, HsYAML, mtl, parsec, safe, scientific
      , tasty, tasty-golden, tasty-hunit, temporary, text
-     , text-conversions, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "doctemplates";
-       version = "0.9";
-       sha256 = "048h8ka849h1f0xxwkasjbrrwq03rfz2m7aqg5xc5286kp02w9ns";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson base containers doclayout filepath HsYAML mtl parsec safe
-         scientific text text-conversions unordered-containers vector
-       ];
-       testHaskellDepends = [
-         aeson base bytestring containers doclayout filepath Glob tasty
-         tasty-golden tasty-hunit temporary text
-       ];
-       benchmarkHaskellDepends = [
-         aeson base containers criterion doclayout filepath mtl text
-       ];
-       description = "Pandoc-style document templates";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "doctemplates_0_10_0_1" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, criterion
-     , doclayout, filepath, Glob, HsYAML, mtl, parsec, safe, scientific
-     , tasty, tasty-golden, tasty-hunit, temporary, text
      , text-conversions, vector
      }:
      mkDerivation {
@@ -81330,40 +81355,10 @@ self: {
        ];
        description = "Pandoc-style document templates";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "doctest" = callPackage
     ({ mkDerivation, base, base-compat, code-page, deepseq, directory
-     , filepath, ghc, ghc-paths, hspec, hspec-core, HUnit, mockery
-     , process, QuickCheck, setenv, silently, stringbuilder, syb
-     , transformers
-     }:
-     mkDerivation {
-       pname = "doctest";
-       version = "0.17";
-       sha256 = "0f0knggq6yjcznyri35fll619q5jr8vcsbiyvdiz4prkawhaa4pz";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base base-compat code-page deepseq directory filepath ghc ghc-paths
-         process syb transformers
-       ];
-       executableHaskellDepends = [
-         base base-compat code-page deepseq directory filepath ghc ghc-paths
-         process syb transformers
-       ];
-       testHaskellDepends = [
-         base base-compat code-page deepseq directory filepath ghc ghc-paths
-         hspec hspec-core HUnit mockery process QuickCheck setenv silently
-         stringbuilder syb transformers
-       ];
-       description = "Test interactive Haskell examples";
-       license = lib.licenses.mit;
-     }) {};
-
-  "doctest_0_18_2" = callPackage
-    ({ mkDerivation, base, base-compat, code-page, deepseq, directory
      , exceptions, filepath, ghc, ghc-paths, hspec, hspec-core, HUnit
      , mockery, process, QuickCheck, setenv, silently, stringbuilder
      , syb, transformers
@@ -81389,7 +81384,6 @@ self: {
        ];
        description = "Test interactive Haskell examples";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "doctest_0_20_0" = callPackage
@@ -81538,19 +81532,19 @@ self: {
 
   "doctest-parallel" = callPackage
     ({ mkDerivation, base, base-compat, Cabal, code-page, containers
-     , deepseq, directory, exceptions, filepath, ghc, ghc-paths, Glob
-     , hspec, hspec-core, hspec-discover, HUnit, mockery, pretty
+     , 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.1";
-       sha256 = "1ybk4dl4qmb83izpqizzlzgys1ylrxwv4rzv48kk1cnll5k1hz45";
+       version = "0.2.2";
+       sha256 = "0m5xvh8j3v7r1882kxd4r4sc5plw0jprd5mc5cbn5zxmzfj30ffy";
        libraryHaskellDepends = [
          base base-compat Cabal code-page containers deepseq directory
-         exceptions filepath ghc ghc-paths Glob pretty process random syb
-         template-haskell transformers unordered-containers
+         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
@@ -81594,8 +81588,6 @@ self: {
        ];
        description = "Low-level bindings to the DocuSign API";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "docusign-base-minimal" = callPackage
@@ -81787,6 +81779,7 @@ self: {
        ];
        description = "Simple monadic DOM parser";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dom-selector" = callPackage
@@ -81807,6 +81800,8 @@ self: {
        ];
        description = "DOM traversal by CSS selectors for xml-conduit package";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "domain" = callPackage
@@ -81832,7 +81827,25 @@ self: {
        ];
        description = "Codegen helping you define domain models";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "domain-aeson" = callPackage
+    ({ mkDerivation, aeson, base, domain, domain-core, rerebase
+     , template-haskell, template-haskell-compat-v0208, text, th-lego
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "domain-aeson";
+       version = "0.1";
+       sha256 = "08kc4j9bs2nmkd7ddnygw9rjm25z6js1y9fmhisc5kjhf26cbwm2";
+       libraryHaskellDepends = [
+         aeson base domain-core template-haskell
+         template-haskell-compat-v0208 text th-lego unordered-containers
+         vector
+       ];
+       testHaskellDepends = [ domain rerebase ];
+       description = "Integration of domain with aeson";
+       license = lib.licenses.mit;
      }) {};
 
   "domain-auth" = callPackage
@@ -81853,21 +81866,38 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "domain-cereal" = callPackage
+    ({ mkDerivation, base, cereal, cereal-text, domain, domain-core
+     , leb128-cereal, rerebase, template-haskell
+     , template-haskell-compat-v0208, text, th-lego
+     }:
+     mkDerivation {
+       pname = "domain-cereal";
+       version = "0.1";
+       sha256 = "0ap4rrkhp5ggwy5fjwhg0v4ii1ayxf6w7ary2k8jc82v46bpl5is";
+       libraryHaskellDepends = [
+         base cereal domain-core leb128-cereal template-haskell
+         template-haskell-compat-v0208 text th-lego
+       ];
+       testHaskellDepends = [ cereal cereal-text domain rerebase ];
+       description = "Integration of domain with cereal";
+       license = lib.licenses.mit;
+     }) {};
+
   "domain-core" = callPackage
     ({ mkDerivation, base, template-haskell
      , template-haskell-compat-v0208, text, th-lego, th-lift-instances
      }:
      mkDerivation {
        pname = "domain-core";
-       version = "0.1.0.1";
-       sha256 = "1zfn1nhhz810j5sq1l4i74iyxwf4gq9zr1gic76y1wv4gv1k096a";
+       version = "0.1.0.2";
+       sha256 = "1x21f9nsikcbvf977sm4ckfc2cqfvkkk315kdax66sbd8f2ipgm2";
        libraryHaskellDepends = [
          base template-haskell template-haskell-compat-v0208 text th-lego
          th-lift-instances
        ];
        description = "Low-level API of \"domain\"";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "domain-optics" = callPackage
@@ -81877,8 +81907,8 @@ self: {
      }:
      mkDerivation {
        pname = "domain-optics";
-       version = "0.1.0.2";
-       sha256 = "1j5165idl61gzxiknhpfqn4shji7cf2pcjlwazc2g5a86rvq0i0s";
+       version = "0.1.0.3";
+       sha256 = "0bfp6vidn10p0jjzmag0cdxncb5mq1qlp0v851hqps5cl9qshnbk";
        libraryHaskellDepends = [
          base domain-core optics-core template-haskell
          template-haskell-compat-v0208 text th-lego unordered-containers
@@ -81887,6 +81917,7 @@ self: {
        description = "Integration of domain with optics";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "dominion" = callPackage
@@ -81902,8 +81933,6 @@ self: {
        testHaskellDepends = [ base containers hspec lens mtl random ];
        description = "A simulator for the board game Dominion";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "domplate" = callPackage
@@ -82036,60 +82065,30 @@ self: {
 
   "dotenv" = callPackage
     ({ mkDerivation, base, base-compat, containers, directory
-     , exceptions, hspec, hspec-megaparsec, megaparsec
-     , optparse-applicative, process, text, transformers, yaml
-     }:
-     mkDerivation {
-       pname = "dotenv";
-       version = "0.8.0.7";
-       sha256 = "11x7aiflf45rdbbzk33pg8v2x5a4bnbhi6845bi3wpgq7y27210v";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         base base-compat containers directory exceptions megaparsec process
-         text transformers yaml
-       ];
-       executableHaskellDepends = [
-         base base-compat megaparsec optparse-applicative process text
-         transformers yaml
-       ];
-       testHaskellDepends = [
-         base base-compat containers directory exceptions hspec
-         hspec-megaparsec megaparsec process text transformers yaml
-       ];
-       description = "Loads environment variables from dotenv files";
-       license = lib.licenses.mit;
-     }) {};
-
-  "dotenv_0_9_0_0" = callPackage
-    ({ mkDerivation, base, base-compat, containers, directory
      , exceptions, hspec, hspec-discover, hspec-megaparsec, megaparsec
-     , optparse-applicative, process, text, transformers
+     , optparse-applicative, process, text
      }:
      mkDerivation {
        pname = "dotenv";
-       version = "0.9.0.0";
-       sha256 = "12w7n6yn8mk5l3b2a1ppzg3s4fvs24gx2plas8amhxrqdpx4gdk7";
+       version = "0.9.0.2";
+       sha256 = "0f0kzkkfvk7bmlxzq2z7b1rr374aa4qlh8pklbjaqg0drfhyyk6a";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base base-compat containers directory exceptions megaparsec process
-         text transformers
+         text
        ];
        executableHaskellDepends = [
          base base-compat megaparsec optparse-applicative process text
-         transformers
        ];
        testHaskellDepends = [
          base base-compat containers directory exceptions hspec
-         hspec-megaparsec megaparsec process text transformers
+         hspec-megaparsec megaparsec process text
        ];
        testToolDepends = [ hspec-discover ];
        description = "Loads environment variables from dotenv files";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dotfs" = callPackage
@@ -82155,25 +82154,6 @@ self: {
      }:
      mkDerivation {
        pname = "double-conversion";
-       version = "2.0.2.0";
-       sha256 = "0sx2kc1gw72mjvd8vph8bbjw5whfxfv92rsdhjg1c0al75rf3ka4";
-       revision = "1";
-       editedCabalFile = "01f1jwhdk639dmh8c8sw8gcxbkv24vhwic6yngls8xj2hhgpsdcf";
-       libraryHaskellDepends = [ base bytestring ghc-prim text ];
-       testHaskellDepends = [
-         base bytestring HUnit test-framework test-framework-hunit
-         test-framework-quickcheck2 text
-       ];
-       description = "Fast conversion between double precision floating point and text";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "double-conversion_2_0_4_1" = callPackage
-    ({ mkDerivation, base, bytestring, ghc-prim, HUnit, test-framework
-     , test-framework-hunit, test-framework-quickcheck2, text
-     }:
-     mkDerivation {
-       pname = "double-conversion";
        version = "2.0.4.1";
        sha256 = "1hrpqh8lbw0kkryqsya95mfnnnj0pj7zswxrn6kvfy4rf7z8v2d4";
        libraryHaskellDepends = [ base bytestring ghc-prim text ];
@@ -82183,7 +82163,6 @@ self: {
        ];
        description = "Fast conversion between single and double precision floating point and text";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "double-extra" = callPackage
@@ -82222,6 +82201,7 @@ self: {
        libraryHaskellDepends = [ base foldable-ix ];
        description = "Some special functions to work with lists (with zip)";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "doublify-toolkit" = callPackage
@@ -82271,7 +82251,6 @@ self: {
        description = "A PureScript interpreter with a Haskell FFI";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "dovetail-aeson" = callPackage
@@ -82353,6 +82332,8 @@ self: {
        testHaskellDepends = [ base tasty tasty-hunit vector-space ];
        description = "Reverse mode automatic differentiation";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "download" = callPackage
@@ -82835,6 +82816,8 @@ self: {
        libraryHaskellDepends = [ base exceptions mtl transformers ];
        description = "Boozy streaming library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "driving-classes-plugin" = callPackage
@@ -82910,6 +82893,8 @@ self: {
        ];
        description = "Dropbox API client";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "dropbox-sdk" = callPackage
@@ -83132,16 +83117,17 @@ self: {
      }:
      mkDerivation {
        pname = "dsv";
-       version = "1.0.0.2";
-       sha256 = "1499qdsxn6qvavgi0g6x75w0cl21dc1f7nn79ajr0lq56dpdx873";
+       version = "1.0.0.3";
+       sha256 = "17vhfq50m12b5vsj92vi0kq3433622jwkfjndkzxdcblra2mnmzx";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          attoparsec base bytestring cassava containers foldl pipes
          pipes-bytestring pipes-safe template-haskell text validation vector
        ];
        testHaskellDepends = [
-         base bytestring containers foldl hedgehog pipes safe-exceptions
-         text vector
+         attoparsec base bytestring cassava containers foldl hedgehog pipes
+         pipes-bytestring pipes-safe safe-exceptions template-haskell text
+         validation vector
        ];
        description = "DSV (delimiter-separated values)";
        license = lib.licenses.mit;
@@ -83244,7 +83230,6 @@ self: {
        description = "(Fast) Dynamic Time Warping";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "dual" = callPackage
@@ -83277,6 +83262,8 @@ self: {
        ];
        description = "Network multiplayer 2D shooting game";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "dual-tree" = callPackage
@@ -83372,6 +83359,8 @@ self: {
        ];
        description = "A Haskell library for parsing text into structured data";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "duet" = callPackage
@@ -83468,23 +83457,6 @@ self: {
      }:
      mkDerivation {
        pname = "dunai";
-       version = "0.7.0";
-       sha256 = "1gii02d557ak0h4sq5ra4n40y4sl88z74n6mwd0937xxlpiahwsh";
-       libraryHaskellDepends = [
-         base MonadRandom simple-affine-space transformers transformers-base
-       ];
-       testHaskellDepends = [ base tasty tasty-hunit transformers ];
-       description = "Generalised reactive framework supporting classic, arrowized and monadic FRP";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ turion ];
-     }) {};
-
-  "dunai_0_8_1" = callPackage
-    ({ mkDerivation, base, MonadRandom, simple-affine-space, tasty
-     , tasty-hunit, transformers, transformers-base
-     }:
-     mkDerivation {
-       pname = "dunai";
        version = "0.8.1";
        sha256 = "1zijhrk50cyyrb6jqlf8q0hh87lbfy5k9iy6w2az66nm89ckxrv9";
        libraryHaskellDepends = [
@@ -83493,7 +83465,6 @@ self: {
        testHaskellDepends = [ base tasty tasty-hunit transformers ];
        description = "Generalised reactive framework supporting classic, arrowized and monadic FRP";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ turion ];
      }) {};
 
@@ -83561,7 +83532,6 @@ self: {
        description = "Frontend development build tool";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "dura" = callPackage
@@ -83835,8 +83805,6 @@ self: {
        libraryHaskellDepends = [ base generics-sop ];
        description = "Programatically identify space leaks in your program";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "dynamic" = callPackage
@@ -84007,6 +83975,7 @@ self: {
        description = "Library Type Safe implementation of Dynamic Pipeline Paradigm (DPP)";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "dynamic-plot" = callPackage
@@ -84055,7 +84024,6 @@ self: {
        description = "A pretty-print library that employs a dynamic programming algorithm for optimal rendering";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "dynamic-state" = callPackage
@@ -84099,7 +84067,6 @@ self: {
        description = "Typesafe library for working with DynamoDB database";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "dynloader" = callPackage
@@ -84301,6 +84268,8 @@ self: {
        libraryHaskellDepends = [ base vector ];
        description = "Binding to C++ earcut library";
        license = lib.licenses.isc;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "early" = callPackage
@@ -84364,6 +84333,8 @@ self: {
        testHaskellDepends = [ base hspec ];
        description = "Parses command line arguments";
        license = lib.licenses.lgpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "easy-bitcoin" = callPackage
@@ -84581,6 +84552,7 @@ self: {
        ];
        description = "A handy tool for uploading unikernels to Amazon's EC2";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "eccrypto" = callPackage
@@ -84707,8 +84679,8 @@ self: {
        pname = "ed25519";
        version = "0.0.5.0";
        sha256 = "0v8msqvgzimhs7p5ri25hrb1ni2wvisl5rmdxy89fc59py79b9fq";
-       revision = "4";
-       editedCabalFile = "1jr8v3kw69fdchnynflq3gz1bwx4jm5jpl7c00bnflrhkdrfbndn";
+       revision = "5";
+       editedCabalFile = "1ckyssya3vw8nf4w324zhbyyf92zlzr2kcv20bvw58wz7mgppb14";
        libraryHaskellDepends = [ base bytestring ghc-prim ];
        testHaskellDepends = [
          base bytestring directory doctest filepath hlint QuickCheck
@@ -84757,10 +84729,8 @@ self: {
      }:
      mkDerivation {
        pname = "ede";
-       version = "0.3.2.0";
-       sha256 = "1y78l8b6wnl621nlfm3jwf9qskfnyd4ian1sxjsmk2jw22z1yp4d";
-       revision = "2";
-       editedCabalFile = "1nlyj74rhvvn8vgfwn4pzdlxjsi876fmd7pp46hndbyckwm2pika";
+       version = "0.3.3.0";
+       sha256 = "0hc7jq3dfrwl87rlf0yaxv44dni95a0lc5ccs6ldr6svfwx5h7qg";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -84771,7 +84741,7 @@ self: {
        ];
        executableHaskellDepends = [
          aeson attoparsec base bytestring optparse-applicative prettyprinter
-         prettyprinter-ansi-terminal text
+         prettyprinter-ansi-terminal text unordered-containers
        ];
        testHaskellDepends = [
          aeson base bifunctors bytestring directory filepath tasty
@@ -85119,11 +85089,10 @@ self: {
      }) {};
 
   "effectful" = callPackage
-    ({ mkDerivation, base, containers, exceptions, freer-simple
-     , fused-effects, ghc-prim, lifted-async, lifted-base, monad-control
-     , mtl, polysemy, primitive, resourcet, tasty, tasty-bench
-     , tasty-hunit, transformers, transformers-base, unliftio
-     , unliftio-core
+    ({ mkDerivation, base, containers, exceptions, fused-effects
+     , ghc-prim, lifted-async, lifted-base, monad-control, mtl
+     , primitive, resourcet, tasty, tasty-bench, tasty-hunit
+     , transformers, transformers-base, unliftio, unliftio-core
      }:
      mkDerivation {
        pname = "effectful";
@@ -85136,9 +85105,7 @@ self: {
        testHaskellDepends = [
          base exceptions lifted-async lifted-base tasty tasty-hunit unliftio
        ];
-       benchmarkHaskellDepends = [
-         base freer-simple fused-effects mtl polysemy tasty-bench
-       ];
+       benchmarkHaskellDepends = [ base fused-effects mtl tasty-bench ];
        description = "A simple, yet powerful extensible effects library";
        license = lib.licenses.bsd3;
      }) {};
@@ -85226,6 +85193,8 @@ self: {
        ];
        description = "An Effect System based on Type Classes";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "effin" = callPackage
@@ -85507,8 +85476,6 @@ self: {
        executableToolDepends = [ markdown-unlit ];
        description = "IO with Exceptions tracked on the type-level";
        license = lib.licenses.mpl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "either" = callPackage
@@ -85636,6 +85603,7 @@ self: {
        ];
        description = "Remote monitoring of processes";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ekg-bosun" = callPackage
@@ -85672,7 +85640,6 @@ self: {
        description = "An EKG backend to send statistics to Carbon (part of Graphite monitoring tools)";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ekg-cloudwatch" = callPackage
@@ -85690,6 +85657,7 @@ self: {
        ];
        description = "An ekg backend for Amazon Cloudwatch";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ekg-core" = callPackage
@@ -85777,6 +85745,8 @@ self: {
        ];
        description = "JSON encoding of ekg metrics";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ekg-log" = callPackage
@@ -85870,6 +85840,8 @@ self: {
        ];
        description = "Push metrics to statsd";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ekg-wai" = callPackage
@@ -85891,7 +85863,6 @@ self: {
        description = "Remote monitoring of processes";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "elbow" = callPackage
@@ -85985,44 +85956,27 @@ self: {
     ({ mkDerivation, base, binary, bytestring, containers, hspec }:
      mkDerivation {
        pname = "elf";
-       version = "0.30";
-       sha256 = "16gfpqsqfwlq4qprh0nswa4br1rz7rj7in7v803cqggkxz7s5c4p";
-       revision = "1";
-       editedCabalFile = "08krv9xws8gr8s5k6796y7yzng22gf4m1a4mv5g57j3yjldwkds2";
-       libraryHaskellDepends = [ base binary bytestring ];
-       testHaskellDepends = [ base bytestring containers hspec ];
-       description = "An Elf parser";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "elf_0_31" = callPackage
-    ({ mkDerivation, base, binary, bytestring, containers, hspec }:
-     mkDerivation {
-       pname = "elf";
        version = "0.31";
        sha256 = "180h5kz8wmrm6hy4myp83b2sjss7dq8wxvlqryi79qscsrz9n0ln";
        libraryHaskellDepends = [ base binary bytestring ];
        testHaskellDepends = [ base bytestring containers hspec ];
        description = "An Elf parser";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "eliminators" = callPackage
     ({ mkDerivation, base, extra, hspec, hspec-discover, singleton-nats
-     , singletons, template-haskell, th-abstraction, th-desugar
+     , singletons-base, template-haskell, th-abstraction, th-desugar
      }:
      mkDerivation {
        pname = "eliminators";
-       version = "0.7";
-       sha256 = "1h3h0f7s0gjbza7lij8y2pg5hl6zrf8cqslh5f0hpwnfxh3yls6v";
-       revision = "1";
-       editedCabalFile = "1bp8745kynqd8kll3dw36ws9s9j2bzgsr88ij14fx8hab4fm72cn";
+       version = "0.8";
+       sha256 = "00prqf3qnhsswigcx87nq9dfaq9vjvzgcgbpnxrpgw9k36p9mdh2";
        libraryHaskellDepends = [
-         base extra singleton-nats singletons template-haskell
+         base extra singleton-nats singletons-base template-haskell
          th-abstraction th-desugar
        ];
-       testHaskellDepends = [ base hspec singleton-nats singletons ];
+       testHaskellDepends = [ base hspec singleton-nats singletons-base ];
        testToolDepends = [ hspec-discover ];
        description = "Dependently typed elimination functions using singletons";
        license = lib.licenses.bsd3;
@@ -86095,22 +86049,6 @@ self: {
      }:
      mkDerivation {
        pname = "elm-bridge";
-       version = "0.6.1";
-       sha256 = "0q71zj7vzkwxkn022bn4bqnblwygdrkjypqy65xxadfbqjl9y8gx";
-       libraryHaskellDepends = [ aeson base template-haskell ];
-       testHaskellDepends = [
-         aeson base containers hspec QuickCheck text
-       ];
-       description = "Derive Elm types and Json code from Haskell types, using aeson's options";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "elm-bridge_0_8_0" = callPackage
-    ({ mkDerivation, aeson, base, containers, hspec, QuickCheck
-     , template-haskell, text
-     }:
-     mkDerivation {
-       pname = "elm-bridge";
        version = "0.8.0";
        sha256 = "05xnbwxzxm80xccrd5g4f83gsvs7gmyg9a7a0xxyk10qx93j4rs3";
        libraryHaskellDepends = [ aeson base template-haskell ];
@@ -86119,7 +86057,6 @@ self: {
        ];
        description = "Derive Elm types and Json code from Haskell types, using aeson's options";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "elm-build-lib" = callPackage
@@ -86226,7 +86163,9 @@ self: {
        ];
        description = "elm-export persistent entities";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ jb55 ];
+       broken = true;
      }) {};
 
   "elm-get" = callPackage
@@ -86412,8 +86351,8 @@ self: {
      }:
      mkDerivation {
        pname = "elm-street";
-       version = "0.1.0.4";
-       sha256 = "1dnpzc70qznbm3f678lxzkfbyihcqhlg185db09q64aj20hls5d6";
+       version = "0.2.0.0";
+       sha256 = "1q8gyig2dsqxg2r139z99pnyy57zjzh9rnawxdk3g2wb175vpa2p";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -86537,6 +86476,8 @@ self: {
        ];
        description = "Generate ELM types/encoders/decoders from Haskell types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "elo" = callPackage
@@ -86603,26 +86544,8 @@ self: {
      }:
      mkDerivation {
        pname = "elynx";
-       version = "0.5.1.1";
-       sha256 = "1jh46yy7i45bym0cgvj4nik0a7yv82grncfmn3dk4rr70r9wvdwa";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         aeson base bytestring elynx-tools optparse-applicative slynx tlynx
-       ];
-       description = "Validate and (optionally) redo ELynx analyses";
-       license = lib.licenses.gpl3Plus;
-       maintainers = with lib.maintainers; [ dschrempf ];
-     }) {};
-
-  "elynx_0_6_1_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, elynx-tools
-     , optparse-applicative, slynx, tlynx
-     }:
-     mkDerivation {
-       pname = "elynx";
-       version = "0.6.1.0";
-       sha256 = "0y6l3vcjjrsr3klzzcbckil36v12fyhy195fd43h8zabmlkrg897";
+       version = "0.6.1.1";
+       sha256 = "16kqf4v9ikrd6w19zg3lrpy69xsdhr0p1hni72wi2i8glrzmq4qw";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -86630,7 +86553,6 @@ self: {
        ];
        description = "Validate and (optionally) redo ELynx analyses";
        license = lib.licenses.gpl3Plus;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ dschrempf ];
      }) {};
 
@@ -86641,30 +86563,8 @@ self: {
      }:
      mkDerivation {
        pname = "elynx-markov";
-       version = "0.5.1.1";
-       sha256 = "0j2xg8iszkf3m1xlmrkm6mq3mqnfnc11pbar288r5alva7ssl1vb";
-       libraryHaskellDepends = [
-         async attoparsec base bytestring containers elynx-seq hmatrix
-         integration math-functions mwc-random primitive statistics vector
-       ];
-       testHaskellDepends = [
-         base containers elynx-tools hmatrix hspec mwc-random vector
-       ];
-       benchmarkHaskellDepends = [ base ];
-       description = "Simulate molecular sequences along trees";
-       license = lib.licenses.gpl3Plus;
-       maintainers = with lib.maintainers; [ dschrempf ];
-     }) {};
-
-  "elynx-markov_0_6_1_0" = callPackage
-    ({ mkDerivation, async, attoparsec, base, bytestring, containers
-     , elynx-seq, elynx-tools, hmatrix, hspec, integration
-     , math-functions, mwc-random, primitive, statistics, vector
-     }:
-     mkDerivation {
-       pname = "elynx-markov";
-       version = "0.6.1.0";
-       sha256 = "1bk0hxwym1kgq97xdyzf4925y53gsb5figl5gamarwh6f3rxl6sw";
+       version = "0.6.1.1";
+       sha256 = "1xwvnfyil8kp2qxcv8h4k623qn8kajp8mj4a6jbjjp8qk70rlbrf";
        libraryHaskellDepends = [
          async attoparsec base bytestring containers elynx-seq hmatrix
          integration math-functions mwc-random primitive statistics vector
@@ -86675,7 +86575,6 @@ self: {
        benchmarkHaskellDepends = [ base ];
        description = "Simulate molecular sequences along trees";
        license = lib.licenses.gpl3Plus;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ dschrempf ];
      }) {};
 
@@ -86683,26 +86582,12 @@ self: {
     ({ mkDerivation, attoparsec, base, bytestring, hspec }:
      mkDerivation {
        pname = "elynx-nexus";
-       version = "0.5.1.1";
-       sha256 = "1p5x2in4r63amb9ifrxdqb3b9bjrxy97gwij0p3hsh9h8p7wsijg";
-       libraryHaskellDepends = [ attoparsec base bytestring ];
-       testHaskellDepends = [ base hspec ];
-       description = "Import and export Nexus files";
-       license = lib.licenses.gpl3Plus;
-       maintainers = with lib.maintainers; [ dschrempf ];
-     }) {};
-
-  "elynx-nexus_0_6_1_0" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, hspec }:
-     mkDerivation {
-       pname = "elynx-nexus";
-       version = "0.6.1.0";
-       sha256 = "1dj8mn3ky0xzr94iar6bc82vsia3znq2fbr8ly0mlwph45x25czz";
+       version = "0.6.1.1";
+       sha256 = "0qx28djaj3k56wp0qqcdy7zn90alr24q05l9a93qp0wqahlwmgy3";
        libraryHaskellDepends = [ attoparsec base bytestring ];
        testHaskellDepends = [ base hspec ];
        description = "Import and export Nexus files";
        license = lib.licenses.gpl3Plus;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ dschrempf ];
      }) {};
 
@@ -86713,29 +86598,8 @@ self: {
      }:
      mkDerivation {
        pname = "elynx-seq";
-       version = "0.5.1.1";
-       sha256 = "0cjm8i44i8zqkh7x5rwf0g45fji6k6mq6h47hiphybax6a16zaxb";
-       libraryHaskellDepends = [
-         aeson attoparsec base bytestring containers matrices mwc-random
-         parallel primitive vector vector-th-unbox word8
-       ];
-       testHaskellDepends = [
-         base bytestring elynx-tools hspec matrices vector
-       ];
-       description = "Handle molecular sequences";
-       license = lib.licenses.gpl3Plus;
-       maintainers = with lib.maintainers; [ dschrempf ];
-     }) {};
-
-  "elynx-seq_0_6_1_0" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
-     , elynx-tools, hspec, matrices, mwc-random, parallel, primitive
-     , vector, vector-th-unbox, word8
-     }:
-     mkDerivation {
-       pname = "elynx-seq";
-       version = "0.6.1.0";
-       sha256 = "1bzcp6s1pxxwwg44yj0v1rh0k4saf52nr5m7mh6fpybcm3kpkww0";
+       version = "0.6.1.1";
+       sha256 = "1mcdg4nv9hdmw0lcr2vhy748d3ykcrlplc8hz14ywkxaxlrqb1sm";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring containers matrices mwc-random
          parallel primitive vector vector-th-unbox word8
@@ -86745,82 +86609,31 @@ self: {
        ];
        description = "Handle molecular sequences";
        license = lib.licenses.gpl3Plus;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ dschrempf ];
      }) {};
 
   "elynx-tools" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
-     , bytestring, cryptohash-sha256, deepseq, directory, hmatrix
-     , monad-control, monad-logger, mwc-random, optparse-applicative
-     , primitive, template-haskell, text, time, transformers
-     , transformers-base, vector, zlib
-     }:
-     mkDerivation {
-       pname = "elynx-tools";
-       version = "0.5.1.1";
-       sha256 = "16cw9afpnczwrqhgyzy3vc7c6b9zx88ja94h34k2gi3960rfxf53";
-       libraryHaskellDepends = [
-         aeson attoparsec base base16-bytestring bytestring
-         cryptohash-sha256 deepseq directory hmatrix monad-control
-         monad-logger mwc-random optparse-applicative primitive
-         template-haskell text time transformers transformers-base vector
-         zlib
-       ];
-       description = "Tools for ELynx";
-       license = lib.licenses.gpl3Plus;
-       maintainers = with lib.maintainers; [ dschrempf ];
-     }) {};
-
-  "elynx-tools_0_6_1_0" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
      , bytestring, cryptohash-sha256, directory, hmatrix, mwc-random
-     , optparse-applicative, template-haskell, text, time, transformers
+     , optparse-applicative, template-haskell, time, transformers
      , vector, zlib
      }:
      mkDerivation {
        pname = "elynx-tools";
-       version = "0.6.1.0";
-       sha256 = "17vw9b9158mfna83xqkj8hnl02m8ngn2k22wsh2kvnhgiw9qc38m";
+       version = "0.6.1.1";
+       sha256 = "089dgc8c2y4wxhi0xgvql5yfgfbpwnj8sg88hl7nvgnw5sh4jvs2";
        libraryHaskellDepends = [
          aeson attoparsec base base16-bytestring bytestring
          cryptohash-sha256 directory hmatrix mwc-random optparse-applicative
-         template-haskell text time transformers vector zlib
+         template-haskell time transformers vector zlib
        ];
        description = "Tools for ELynx";
        license = lib.licenses.gpl3Plus;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ dschrempf ];
      }) {};
 
   "elynx-tree" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, comonad
-     , containers, criterion, deepseq, double-conversion, elynx-nexus
-     , elynx-tools, hspec, math-functions, microlens, mwc-random
-     , parallel, primitive, QuickCheck, statistics
-     }:
-     mkDerivation {
-       pname = "elynx-tree";
-       version = "0.5.1.1";
-       sha256 = "0wjhj48jbyjvmydsa9wcppzlambm2r5pmd5wjfjn0k7s5sc3zf5k";
-       libraryHaskellDepends = [
-         aeson attoparsec base bytestring comonad containers deepseq
-         double-conversion elynx-nexus math-functions mwc-random parallel
-         primitive statistics
-       ];
-       testHaskellDepends = [
-         attoparsec base bytestring containers elynx-tools hspec QuickCheck
-       ];
-       benchmarkHaskellDepends = [
-         base criterion elynx-tools microlens mwc-random parallel
-       ];
-       description = "Handle phylogenetic trees";
-       license = lib.licenses.gpl3Plus;
-       maintainers = with lib.maintainers; [ dschrempf ];
-     }) {};
-
-  "elynx-tree_0_6_1_0" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, comonad
      , containers, criterion, data-default, data-default-class, deepseq
      , double-conversion, elynx-nexus, elynx-tools, hspec
      , math-functions, microlens, mwc-random, parallel, primitive
@@ -86828,8 +86641,8 @@ self: {
      }:
      mkDerivation {
        pname = "elynx-tree";
-       version = "0.6.1.0";
-       sha256 = "186f8qyp0k8jjc01wvpwlpxfkmr7043yyxajmh700jlxbz4p8j7i";
+       version = "0.6.1.1";
+       sha256 = "0jhr5czybmp98cxzipa01wjkxz9jbryqlj02lcmbxlal7sqifsy4";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring comonad containers
          data-default-class deepseq double-conversion elynx-nexus
@@ -86844,7 +86657,6 @@ self: {
        ];
        description = "Handle phylogenetic trees";
        license = lib.licenses.gpl3Plus;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ dschrempf ];
      }) {};
 
@@ -86975,8 +86787,8 @@ self: {
      }:
      mkDerivation {
        pname = "email-validate";
-       version = "2.3.2.15";
-       sha256 = "0n67wss6k8lhwfkybkhsa04bbdfdv541sacbxlylkx2hqpj5r5gh";
+       version = "2.3.2.16";
+       sha256 = "1cr3y23d1a8kkbfjwmqr6lvd330k3lh8p1c8pqjswy5sq5az3rdq";
        libraryHaskellDepends = [
          attoparsec base bytestring template-haskell
        ];
@@ -87080,7 +86892,6 @@ self: {
        ];
        description = "Embed the values in scope in the haddock documentation of the module";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "embeddock-example" = callPackage
@@ -87092,7 +86903,6 @@ self: {
        libraryHaskellDepends = [ base embeddock time ];
        description = "Example of using embeddock";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "embla" = callPackage
@@ -87394,6 +87204,8 @@ self: {
        ];
        description = "A Haskell implementation of Engine.IO";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "engine-io-growler" = callPackage
@@ -87430,7 +87242,6 @@ self: {
        ];
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "engine-io-wai" = callPackage
@@ -87450,7 +87261,6 @@ self: {
        description = "An @engine-io@ @ServerAPI@ that is compatible with @Wai@";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "engine-io-yesod" = callPackage
@@ -87468,7 +87278,6 @@ self: {
        ];
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "engineering-units" = callPackage
@@ -87558,22 +87367,31 @@ self: {
        ];
        description = "Generate an ADT being a subset of another ADT, and the corresponding mappings";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "enum-text" = callPackage
-    ({ mkDerivation, array, base, bytestring, fmt, hashable, possibly
-     , text, time, unordered-containers
+    ({ mkDerivation, array, attoparsec, base, bytestring, doctest
+     , doctest-discover, fmt, hashable, possibly, scientific, text, time
+     , unordered-containers
      }:
      mkDerivation {
        pname = "enum-text";
-       version = "0.5.2.1";
-       sha256 = "16wvizrbf6n2i0s4318065i39qhp94p6jy4vappd05mlmmwiccam";
+       version = "0.5.3.0";
+       sha256 = "0cxk46s20wwcq68rpy3skx6ap0mlmmsgfrq0n4s2rnv1gf6gsccx";
        libraryHaskellDepends = [
-         array base bytestring fmt hashable possibly text time
-         unordered-containers
+         array attoparsec base bytestring fmt hashable possibly scientific
+         text time unordered-containers
+       ];
+       testHaskellDepends = [
+         array attoparsec base bytestring doctest doctest-discover fmt
+         hashable possibly scientific text time unordered-containers
        ];
        description = "A text rendering and parsing toolkit for enumerated types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "enum-text-rio" = callPackage
@@ -87590,6 +87408,7 @@ self: {
        ];
        description = "Making fmt available with rio";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "enum-types" = callPackage
@@ -87742,7 +87561,6 @@ self: {
        description = "Finitely represented /total/ EnumMaps";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "enummapmap" = callPackage
@@ -87780,6 +87598,8 @@ self: {
        libraryHaskellDepends = [ base containers deepseq ];
        description = "Enum wrappers for IntMap and IntSet";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "enummapset" = callPackage
@@ -87813,6 +87633,8 @@ self: {
        ];
        description = "TH-generated EnumSet/EnumMap wrappers around IntSet/IntMap";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "enumset" = callPackage
@@ -87820,20 +87642,6 @@ self: {
      }:
      mkDerivation {
        pname = "enumset";
-       version = "0.0.5";
-       sha256 = "0d9lnl7mmcwydfhb4iazh6gcdbxvdh7b3gar3c9l1k5xmc4r8qii";
-       libraryHaskellDepends = [
-         base data-accessor semigroups storable-record
-       ];
-       description = "Sets of enumeration values represented by machine words";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "enumset_0_1" = callPackage
-    ({ mkDerivation, base, data-accessor, semigroups, storable-record
-     }:
-     mkDerivation {
-       pname = "enumset";
        version = "0.1";
        sha256 = "1flsyc8a9hj33pl35jkcls8sdc7yw8yc9xfflynm0h9ncq1frlcr";
        libraryHaskellDepends = [
@@ -87841,7 +87649,6 @@ self: {
        ];
        description = "Sets of enumeration values represented by machine words";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "env-extra" = callPackage
@@ -87860,8 +87667,6 @@ self: {
        ];
        description = "Safe helpers for accessing and modifying environment variables";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "env-locale" = callPackage
@@ -87907,6 +87712,8 @@ self: {
        testHaskellDepends = [ base doctest Glob ];
        description = "Defines generic 'Envelope' type to wrap reponses from a JSON API";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "envparse" = callPackage
@@ -87981,7 +87788,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Provides FromEnv in envy instance for Record of extensible";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "epanet-haskell" = callPackage
@@ -88049,6 +87855,8 @@ self: {
        ];
        description = "A library for simulating epidemics as birth-death processes";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "epic" = callPackage
@@ -88182,23 +87990,11 @@ self: {
     ({ mkDerivation, base, semigroupoids }:
      mkDerivation {
        pname = "eq";
-       version = "4.2.1";
-       sha256 = "1bcvjpbdis79dd09i07l7rjkh7j79qbpwb731rgr9k9215268wfa";
-       libraryHaskellDepends = [ base semigroupoids ];
-       description = "Leibnizian equality";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "eq_4_3" = callPackage
-    ({ mkDerivation, base, semigroupoids }:
-     mkDerivation {
-       pname = "eq";
        version = "4.3";
        sha256 = "0p3189kq045vxh0h7is81q0qahaghni810x68g31yml05md37giz";
        libraryHaskellDepends = [ base semigroupoids ];
        description = "Leibnizian equality";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "equal-files" = callPackage
@@ -88273,28 +88069,6 @@ self: {
      }) {};
 
   "equivalence" = callPackage
-    ({ mkDerivation, base, containers, fail, mtl, QuickCheck
-     , STMonadTrans, template-haskell, transformers, transformers-compat
-     }:
-     mkDerivation {
-       pname = "equivalence";
-       version = "0.3.5";
-       sha256 = "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp";
-       revision = "1";
-       editedCabalFile = "0rc68zqj518lmlp58kbgfb945gp0iszfjn6h3y777cjrbm1jp5k4";
-       libraryHaskellDepends = [
-         base containers fail mtl STMonadTrans transformers
-         transformers-compat
-       ];
-       testHaskellDepends = [
-         base containers fail 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" = callPackage
     ({ mkDerivation, base, containers, mtl, QuickCheck, STMonadTrans
      , template-haskell, transformers, transformers-compat
      }:
@@ -88311,7 +88085,6 @@ self: {
        ];
        description = "Maintaining an equivalence relation implemented as union-find using STT";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "erd" = callPackage
@@ -88335,6 +88108,8 @@ self: {
        ];
        description = "An entity-relationship diagram generator from a plain text description";
        license = lib.licenses.publicDomain;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "erf" = callPackage
@@ -88457,8 +88232,8 @@ self: {
      }:
      mkDerivation {
        pname = "errata";
-       version = "0.3.0.0";
-       sha256 = "1m83lp3h2lxqkx0d17kplmwp0ngh3yn79k7yza4jkny0c4xv0ijy";
+       version = "0.4.0.0";
+       sha256 = "1nrmakr76x53hdnykl1imcm57s07v85fbmb10pkzd4wwabk9kajp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base containers text ];
@@ -88484,8 +88259,8 @@ self: {
     ({ mkDerivation, base, doctest, text }:
      mkDerivation {
        pname = "error";
-       version = "0.2.1.2";
-       sha256 = "082g4ryz9inc7ghfiwhba501mjq0il9i7slg7mnarnscipwldyqf";
+       version = "0.3.0.0";
+       sha256 = "1vbmfjcx82b5ngzqda74j4xwqhzwhgl9ikh65ipzk2x26fzkww84";
        libraryHaskellDepends = [ base text ];
        testHaskellDepends = [ base doctest ];
        description = "The canonical error type";
@@ -88607,17 +88382,6 @@ self: {
      }) {};
 
   "error-or" = callPackage
-    ({ mkDerivation, base, containers, text }:
-     mkDerivation {
-       pname = "error-or";
-       version = "0.1.2.0";
-       sha256 = "0ry06vhz7mrl7i587vw3pv2ralh8aw7km6jfhagww0hmckwdjqmm";
-       libraryHaskellDepends = [ base containers text ];
-       description = "Composable, hierarchical errors";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "error-or_0_2_0_0" = callPackage
     ({ mkDerivation, base, containers, mtl, text }:
      mkDerivation {
        pname = "error-or";
@@ -88626,30 +88390,17 @@ self: {
        libraryHaskellDepends = [ base containers mtl text ];
        description = "Composable, hierarchical errors";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "error-or-utils" = callPackage
     ({ mkDerivation, base, containers, error-or, text }:
      mkDerivation {
        pname = "error-or-utils";
-       version = "0.1.1";
-       sha256 = "14n5h69wknns3b6ij8avdijwlpwykalkpvx2q57cg6zv0ywnvmwz";
-       libraryHaskellDepends = [ base containers error-or text ];
-       description = "Utilities using ErrorOr datatype";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "error-or-utils_0_2_0" = callPackage
-    ({ mkDerivation, base, containers, error-or, text }:
-     mkDerivation {
-       pname = "error-or-utils";
        version = "0.2.0";
        sha256 = "1z92js5khx49yd0zydjabdn0m2901zv5586r2vsbx7sd3rfvx2ff";
        libraryHaskellDepends = [ base containers error-or text ];
        description = "Utilities using ErrorOr datatype";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "error-util" = callPackage
@@ -88963,7 +88714,6 @@ self: {
        description = "Espial is an open-source, web-based bookmarking server";
        license = lib.licenses.agpl3Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "esqueleto" = callPackage
@@ -88976,8 +88726,10 @@ self: {
      }:
      mkDerivation {
        pname = "esqueleto";
-       version = "3.5.3.0";
-       sha256 = "0z3cf49sha6q965qw2m08jfmb91ki2rsdpnr7l39lka5b4ffxjlz";
+       version = "3.5.3.1";
+       sha256 = "16i0hnn91a77jdzmj8zwr328splaqbk0wzbj3kvrwnbylwjbdccm";
+       revision = "1";
+       editedCabalFile = "1b5q5nf5b32id5g3gbndsn3c31m3ch57a5w16akfww711dk45lyz";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-html bytestring conduit containers
          monad-logger persistent resourcet tagged text time transformers
@@ -88994,6 +88746,35 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "esqueleto_3_5_3_2" = 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, text, time, transformers, unliftio
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "esqueleto";
+       version = "3.5.3.2";
+       sha256 = "0sdp8zxa8jqql1dmhm0wf20hj5yd3853ha7f8wg24dvbjff8z1yj";
+       libraryHaskellDepends = [
+         aeson attoparsec base blaze-html bytestring conduit containers
+         monad-logger persistent resourcet tagged 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 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
@@ -89027,7 +88808,6 @@ self: {
        ];
        description = "Memory-constant streaming of Esqueleto results from PostgreSQL";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ess" = callPackage
@@ -89044,37 +88824,56 @@ self: {
      }) {};
 
   "essence-of-live-coding" = callPackage
-    ({ mkDerivation, base, containers, foreign-store, mtl, QuickCheck
-     , syb, test-framework, test-framework-quickcheck2, time
-     , transformers, vector-sized
+    ({ mkDerivation, base, containers, foreign-store, HUnit, mmorph
+     , mtl, QuickCheck, syb, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, time, transformers, vector-sized
      }:
      mkDerivation {
        pname = "essence-of-live-coding";
-       version = "0.2.5";
-       sha256 = "1ggb69h9fx8vdw6ijkisjyg6hbmi2wdvssil81xxapkj1yhgvvzr";
+       version = "0.2.6";
+       sha256 = "0bmcy6j0zw9v7z4sr0m300ckr1mdh3wxj975wbgbl8qlkwsfwv9l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base containers foreign-store syb time transformers vector-sized
+         base containers foreign-store mmorph syb time transformers
+         vector-sized
        ];
        executableHaskellDepends = [ base transformers ];
        testHaskellDepends = [
-         base containers mtl QuickCheck syb test-framework
-         test-framework-quickcheck2 transformers
+         base containers HUnit mtl QuickCheck syb test-framework
+         test-framework-hunit test-framework-quickcheck2 transformers
        ];
        description = "General purpose live coding framework";
        license = lib.licenses.bsd3;
        maintainers = with lib.maintainers; [ turion ];
      }) {};
 
+  "essence-of-live-coding-PortMidi" = callPackage
+    ({ mkDerivation, base, essence-of-live-coding, PortMidi
+     , transformers
+     }:
+     mkDerivation {
+       pname = "essence-of-live-coding-PortMidi";
+       version = "0.2.6";
+       sha256 = "0n5bivhffrxp8kwhf42r3yf485y3mnxl4r3pzwp2l89h7l380q8z";
+       libraryHaskellDepends = [
+         base essence-of-live-coding PortMidi transformers
+       ];
+       description = "General purpose live coding framework - PortMidi backend";
+       license = lib.licenses.bsd3;
+       platforms = [
+         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
+       ];
+     }) {};
+
   "essence-of-live-coding-gloss" = callPackage
     ({ mkDerivation, base, essence-of-live-coding, foreign-store, gloss
      , syb, transformers
      }:
      mkDerivation {
        pname = "essence-of-live-coding-gloss";
-       version = "0.2.5";
-       sha256 = "1xa1m1ih625614zd1xn2qbz5hmx45gkv2ssksmwck8jxjbslpspv";
+       version = "0.2.6";
+       sha256 = "02jdi5ijkhf9jc9r5jyqvlk6idmgbjbv3x4yw6ich2m95yhf8hrl";
        libraryHaskellDepends = [
          base essence-of-live-coding foreign-store gloss syb transformers
        ];
@@ -89099,6 +88898,8 @@ self: {
        ];
        description = "General purpose live coding framework - Gloss example";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "essence-of-live-coding-pulse" = callPackage
@@ -89107,8 +88908,8 @@ self: {
      }:
      mkDerivation {
        pname = "essence-of-live-coding-pulse";
-       version = "0.2.5";
-       sha256 = "0m2gjzsc6jw860kj5a1k6qrn0xs1zx4snsnq4d9gx1k3lrfqgh0q";
+       version = "0.2.6";
+       sha256 = "16fipxz90vlsy9hgksiw7m7r7wzrqrjdhb6fg11m6jlrk1f5bkka";
        libraryHaskellDepends = [
          base essence-of-live-coding foreign-store pulse-simple transformers
        ];
@@ -89133,6 +88934,8 @@ self: {
        ];
        description = "General purpose live coding framework - pulse backend example";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "essence-of-live-coding-quickcheck" = callPackage
@@ -89141,8 +88944,8 @@ self: {
      }:
      mkDerivation {
        pname = "essence-of-live-coding-quickcheck";
-       version = "0.2.5";
-       sha256 = "07qw6jyk1vbr85pj9shp9cgpav4g2bc11rnzav39n79jn1vp826m";
+       version = "0.2.6";
+       sha256 = "1hkzp0q0xk3wa892vnjimi7m9gq56m5wx1m2i72ssl6x2jgy52hl";
        libraryHaskellDepends = [
          base boltzmann-samplers essence-of-live-coding QuickCheck syb
          transformers
@@ -89152,18 +88955,31 @@ self: {
        maintainers = with lib.maintainers; [ turion ];
      }) {};
 
+  "essence-of-live-coding-vivid" = callPackage
+    ({ mkDerivation, base, essence-of-live-coding, vivid }:
+     mkDerivation {
+       pname = "essence-of-live-coding-vivid";
+       version = "0.2.6";
+       sha256 = "1vw4bjxnqd58h5lrw7wqd1w3026skcnz9vrnwmfxcsbyc09bnyvw";
+       libraryHaskellDepends = [ base essence-of-live-coding vivid ];
+       description = "General purpose live coding framework - vivid backend";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "essence-of-live-coding-warp" = callPackage
-    ({ mkDerivation, base, essence-of-live-coding, http-client
-     , http-types, wai, warp
+    ({ mkDerivation, base, bytestring, essence-of-live-coding
+     , http-client, http-types, wai, warp
      }:
      mkDerivation {
        pname = "essence-of-live-coding-warp";
-       version = "0.2.5";
-       sha256 = "1r6bc9yx5r0m8qf9amhwmbddylvm2m1yqp2afxwmg00i16fmsvyv";
+       version = "0.2.6";
+       sha256 = "0x18jxw0xwqvbwdalbrz4lp2lq9pyl4a5r9vnky5hc5wcwqm2f4m";
        libraryHaskellDepends = [
          base essence-of-live-coding http-types wai warp
        ];
-       testHaskellDepends = [ base essence-of-live-coding http-client ];
+       testHaskellDepends = [
+         base bytestring essence-of-live-coding http-client
+       ];
        description = "General purpose live coding framework";
        license = lib.licenses.bsd3;
      }) {};
@@ -89197,7 +89013,6 @@ self: {
        description = "Tool for managing probability estimation";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "estreps" = callPackage
@@ -89232,6 +89047,8 @@ self: {
        testHaskellDepends = [ aeson base rio tasty tasty-hunit ];
        description = "Declarative configuration spec for Haskell projects";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "etcd" = callPackage
@@ -89268,8 +89085,6 @@ self: {
        ];
        description = "everything breaking the Fairbairn threshold";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "eternity" = callPackage
@@ -89607,7 +89422,6 @@ self: {
        description = "Dynamic network FRP with events and continuous values";
        license = lib.licenses.publicDomain;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "eurofxref" = callPackage
@@ -89690,6 +89504,8 @@ self: {
        ];
        description = "An extensible event framework";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "eve-cli" = callPackage
@@ -89707,7 +89523,6 @@ self: {
        testHaskellDepends = [ base bytestring eve lens mtl text vty ];
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "eved" = callPackage
@@ -89725,6 +89540,8 @@ self: {
        ];
        description = "A value level web framework";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "eveff" = callPackage
@@ -89872,7 +89689,6 @@ self: {
        description = "Library for eventful DynamoDB event stores";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "eventful-memory" = callPackage
@@ -89985,8 +89801,8 @@ self: {
        pname = "eventlog2html";
        version = "0.9.2";
        sha256 = "0mr916gppp8pgyqdx89zhmcil7hkm7462h6vsq1y4n1qf5hx30jv";
-       revision = "2";
-       editedCabalFile = "1n6pjzjrzg6x6yasgzdm451xzil4b39kg3l3qln3cf9hmnhrnygp";
+       revision = "3";
+       editedCabalFile = "12vbcl7l08a8a8xnjibpsb7va270l5m0avmwdw7ms4qnly7c5z29";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -90017,7 +89833,6 @@ self: {
        description = "A different take on an IO system. Based on Amanda's IO loop, this eventloop takes a function that maps input events to output events. It can easily be extended by modules that represent IO devices or join multiple modules together.";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "eventsource-api" = callPackage
@@ -90037,6 +89852,8 @@ self: {
        ];
        description = "Provides an eventsourcing high level API";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "eventsource-geteventstore-store" = callPackage
@@ -90078,6 +89895,7 @@ self: {
        ];
        description = "Provides common test specification for Store implementation";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "eventsource-stub-store" = callPackage
@@ -90099,6 +89917,7 @@ self: {
        ];
        description = "An in-memory stub store implementation";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "eventsourced" = callPackage
@@ -90162,43 +89981,6 @@ self: {
   "eventstore" = callPackage
     ({ mkDerivation, aeson, array, async, base, bifunctors, bytestring
      , cereal, clock, connection, containers, dns, dotnet-timespan
-     , exceptions, fast-logger, file-embed, hashable, http-client
-     , interpolate, lifted-async, lifted-base, monad-control
-     , monad-logger, mono-traversable, mtl, protobuf, random, safe
-     , safe-exceptions, semigroups, stm, stm-chans, streaming, tasty
-     , tasty-hspec, tasty-hunit, text, time, transformers-base
-     , unordered-containers, uuid, vector
-     }:
-     mkDerivation {
-       pname = "eventstore";
-       version = "1.4.1";
-       sha256 = "1d8lai7ra0r8mlfwnyvf9bhx7n4y9qzvj1sc96x3fh8xf79qd8mj";
-       libraryHaskellDepends = [
-         aeson array base bifunctors bytestring cereal clock connection
-         containers dns dotnet-timespan exceptions fast-logger hashable
-         http-client interpolate lifted-async lifted-base monad-control
-         monad-logger mono-traversable mtl protobuf random safe
-         safe-exceptions semigroups stm stm-chans streaming text time
-         transformers-base unordered-containers uuid vector
-       ];
-       testHaskellDepends = [
-         aeson async base bytestring cereal connection containers
-         dotnet-timespan exceptions fast-logger file-embed hashable
-         lifted-async lifted-base monad-control mono-traversable protobuf
-         safe safe-exceptions semigroups stm stm-chans streaming tasty
-         tasty-hspec tasty-hunit text time transformers-base
-         unordered-containers uuid vector
-       ];
-       description = "EventStore TCP Client";
-       license = lib.licenses.bsd3;
-       platforms = [ "x86_64-darwin" "x86_64-linux" ];
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "eventstore_1_4_2" = callPackage
-    ({ mkDerivation, aeson, array, async, base, bifunctors, bytestring
-     , cereal, clock, connection, containers, dns, dotnet-timespan
      , exceptions, fast-logger, file-embed, hashable, hspec, http-client
      , interpolate, lifted-async, lifted-base, monad-control
      , monad-logger, mono-traversable, mtl, protobuf, random, safe
@@ -90295,6 +90077,8 @@ self: {
        ];
        description = "A GHC plugin to derive instances";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ewe" = callPackage
@@ -90445,8 +90229,8 @@ self: {
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
        pname = "exception-hierarchy";
-       version = "0.1.0.4";
-       sha256 = "0hph7mng5llcvazq9mqh9pndgbjjwivgmhpqlbf4r1xii7c0ymnx";
+       version = "0.1.0.6";
+       sha256 = "0dnkfznv21sqb8law2smvrlyz76b49dccd83m6fici972f2v1v4k";
        libraryHaskellDepends = [ base template-haskell ];
        description = "Exception type hierarchy with TemplateHaskell";
        license = lib.licenses.bsd3;
@@ -90617,7 +90401,6 @@ self: {
        description = "A Haskell client for https://exchangeratesapi.io/";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "execs" = callPackage
@@ -90755,6 +90538,8 @@ self: {
        ];
        description = "Compile time checks that a computation considers producing data through all possible constructors";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "exherbo-cabal" = callPackage
@@ -90862,6 +90647,8 @@ self: {
        ];
        description = "Dependent pairs and their instances";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "exinst-aeson" = callPackage
@@ -90880,6 +90667,7 @@ self: {
        ];
        description = "Dependent pairs and their instances";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "exinst-bytes" = callPackage
@@ -90900,6 +90688,7 @@ self: {
        ];
        description = "Dependent pairs and their instances";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "exinst-cereal" = callPackage
@@ -90919,6 +90708,7 @@ self: {
        ];
        description = "Dependent pairs and their instances";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "exinst-deepseq" = callPackage
@@ -90931,7 +90721,6 @@ self: {
        description = "Derive instances for the `deepseq` library for your existential types";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "exinst-hashable" = callPackage
@@ -90946,7 +90735,6 @@ self: {
        description = "Derive instances for the `hashable` library for your existential types";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "exinst-serialise" = callPackage
@@ -90965,6 +90753,7 @@ self: {
        ];
        description = "Dependent pairs and their instances";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "exist" = callPackage
@@ -91040,20 +90829,21 @@ self: {
      }) {};
 
   "exitcode" = callPackage
-    ({ mkDerivation, base, checkers, hedgehog, lens, mmorph, mtl
-     , QuickCheck, semigroupoids, semigroups, tasty, tasty-hedgehog
-     , tasty-hunit, tasty-quickcheck, transformers
+    ({ mkDerivation, base, bifunctors, checkers, filepath, hedgehog
+     , lens, mtl, process, QuickCheck, semigroupoids, semigroups, tasty
+     , tasty-hedgehog, tasty-hunit, tasty-quickcheck, transformers
      }:
      mkDerivation {
        pname = "exitcode";
-       version = "0.1.0.2";
-       sha256 = "1w3m5ib952kiyw85ysj049v01qzc8p8mlmn9mxsm1h0x0a5axf3y";
+       version = "0.1.0.6";
+       sha256 = "07knpcak3ca38r7g9x4ixi36rg6zllrn2azbqlkgmmdqwqmcaj7w";
        libraryHaskellDepends = [
-         base lens mmorph mtl semigroupoids semigroups transformers
+         base bifunctors filepath lens mtl process semigroupoids semigroups
+         transformers
        ];
        testHaskellDepends = [
-         base checkers hedgehog lens QuickCheck tasty tasty-hedgehog
-         tasty-hunit tasty-quickcheck transformers
+         base bifunctors checkers hedgehog lens mtl QuickCheck semigroupoids
+         tasty tasty-hedgehog tasty-hunit tasty-quickcheck transformers
        ];
        description = "Monad transformer for exit codes";
        license = lib.licenses.bsd3;
@@ -91076,23 +90866,23 @@ self: {
 
   "exon" = callPackage
     ({ mkDerivation, base, flatparse, haskell-src-exts
-     , haskell-src-meta, hedgehog, relude, tasty, tasty-hedgehog
+     , haskell-src-meta, hedgehog, incipit-base, tasty, tasty-hedgehog
      , template-haskell, text
      }:
      mkDerivation {
        pname = "exon";
-       version = "0.2.0.1";
-       sha256 = "0pdggj0yc863xf6ip8j97ix6nvj07q7x9sp4ancxcvry892kglwm";
+       version = "0.3.0.0";
+       sha256 = "0ysrn78h9z143jpgbw0z5ng6kv79h69v42h4cgywfv2vss9hd96h";
        libraryHaskellDepends = [
-         base flatparse haskell-src-exts haskell-src-meta relude
+         base flatparse haskell-src-exts haskell-src-meta incipit-base
          template-haskell text
        ];
        testHaskellDepends = [
-         base hedgehog tasty tasty-hedgehog template-haskell text
+         base hedgehog incipit-base tasty tasty-hedgehog template-haskell
+         text
        ];
        description = "Monoidal Quasiquote Interpolation";
        license = "BSD-2-Clause-Patent";
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "exotic-list-monads" = callPackage
@@ -91145,8 +90935,6 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "floating point with extended exponent range";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "exp-pairs" = callPackage
@@ -91477,19 +91265,6 @@ self: {
     ({ mkDerivation, base, leancheck, template-haskell }:
      mkDerivation {
        pname = "express";
-       version = "0.1.16";
-       sha256 = "04a1iv3dzyni7b0yvzqf1s8l0wg07hk9sg6d59hdbsl4f3kw8ki4";
-       libraryHaskellDepends = [ base template-haskell ];
-       testHaskellDepends = [ base leancheck ];
-       benchmarkHaskellDepends = [ base leancheck ];
-       description = "Dynamically-typed expressions involving function application and variables";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "express_1_0_8" = callPackage
-    ({ mkDerivation, base, leancheck, template-haskell }:
-     mkDerivation {
-       pname = "express";
        version = "1.0.8";
        sha256 = "1hkcrzbqn54sx907zh28sg659f46yip6dvgjaywdjpk8hbvqfzs2";
        libraryHaskellDepends = [ base template-haskell ];
@@ -91497,7 +91272,6 @@ self: {
        benchmarkHaskellDepends = [ base leancheck ];
        description = "Dynamically-typed expressions involving function application and variables";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "expression-parser" = callPackage
@@ -91658,6 +91432,8 @@ self: {
        testHaskellDepends = [ base hspec QuickCheck ];
        description = "Heap and Vector container types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "extended-containers-lens" = callPackage
@@ -91669,6 +91445,7 @@ self: {
        libraryHaskellDepends = [ base extended-containers lens ];
        description = "lens instances for extended-containers";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "extended-reals" = callPackage
@@ -91710,8 +91487,6 @@ self: {
        testHaskellDepends = [ base lens QuickCheck template-haskell ];
        description = "Extensible, efficient, optics-friendly data types and effects";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "extensible-data" = callPackage
@@ -91858,6 +91633,8 @@ self: {
        ];
        description = "Parse Haskell Language Extensions";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "external-sort" = callPackage
@@ -91872,7 +91649,6 @@ self: {
        description = "Sort large arrays on your hard drive. Kind of like the unix util sort.";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "extra" = callPackage
@@ -91881,24 +91657,6 @@ self: {
      }:
      mkDerivation {
        pname = "extra";
-       version = "1.7.9";
-       sha256 = "17fzmxwrv0w7inhq7kia36prc2nsx845r9v56sihqvr17fk2cvpn";
-       libraryHaskellDepends = [
-         base clock directory filepath process time unix
-       ];
-       testHaskellDepends = [
-         base directory filepath QuickCheck quickcheck-instances unix
-       ];
-       description = "Extra functions I use";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "extra_1_7_10" = callPackage
-    ({ mkDerivation, base, clock, directory, filepath, process
-     , QuickCheck, quickcheck-instances, time, unix
-     }:
-     mkDerivation {
-       pname = "extra";
        version = "1.7.10";
        sha256 = "0h219hi4b74x51jdxhyfff0lyxsbgyclm428lv3nr6y8hrwydpwz";
        libraryHaskellDepends = [
@@ -91909,7 +91667,6 @@ self: {
        ];
        description = "Extra functions I use";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "extract-dependencies" = callPackage
@@ -91977,8 +91734,6 @@ self: {
        ];
        description = "API Client for ExtraLife team and user data";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "extrapolate" = callPackage
@@ -91995,7 +91750,6 @@ self: {
        testHaskellDepends = [ base express leancheck speculate ];
        description = "generalize counter-examples of test properties";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ez-couch" = callPackage
@@ -92102,6 +91856,8 @@ self: {
        ];
        description = "Factoring integers and polynomials";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "factory" = callPackage
@@ -92127,8 +91883,6 @@ self: {
        ];
        description = "Rational arithmetic in an irrational world";
        license = lib.licenses.gpl3Plus;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "facts" = callPackage
@@ -92193,6 +91947,7 @@ self: {
        ];
        description = "Minimal library for music generation and notation";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fadno-braids" = callPackage
@@ -92225,6 +91980,8 @@ self: {
        ];
        description = "XML/XSD combinators/schemas/codegen";
        license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "fail" = callPackage
@@ -92334,6 +92091,8 @@ self: {
        testHaskellDepends = [ base hspec lens random text time ];
        description = "Randomly generated fake data";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "fake-type" = callPackage
@@ -92351,38 +92110,6 @@ self: {
      }) {inherit (pkgs.xorg) libXtst;};
 
   "fakedata" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, containers, deepseq
-     , directory, exceptions, fakedata-parser, filepath, gauge, hashable
-     , hspec, hspec-discover, random, string-random, template-haskell
-     , text, time, unordered-containers, vector, yaml
-     }:
-     mkDerivation {
-       pname = "fakedata";
-       version = "0.8.0";
-       sha256 = "0in9yz7qkdnrp3bz6zdfvz435d9k9zhdq6n18nsm5il949kf68p5";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         attoparsec base bytestring containers directory exceptions
-         fakedata-parser filepath hashable random string-random
-         template-haskell text time unordered-containers vector yaml
-       ];
-       testHaskellDepends = [
-         attoparsec base bytestring containers directory exceptions
-         fakedata-parser filepath hashable hspec hspec-discover random
-         string-random template-haskell text time unordered-containers
-         vector yaml
-       ];
-       testToolDepends = [ hspec-discover ];
-       benchmarkHaskellDepends = [
-         attoparsec base bytestring containers deepseq directory exceptions
-         fakedata-parser filepath gauge hashable random string-random
-         template-haskell text time unordered-containers vector yaml
-       ];
-       description = "Library for producing fake data";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "fakedata_1_0_2" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
      , deepseq, directory, exceptions, fakedata-parser, filepath, gauge
      , hashable, hspec, hspec-discover, QuickCheck, random, regex-tdfa
@@ -92415,7 +92142,6 @@ self: {
        ];
        description = "Library for producing fake data";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fakedata-parser" = callPackage
@@ -92486,34 +92212,6 @@ self: {
      }) {};
 
   "faktory" = callPackage
-    ({ mkDerivation, aeson, aeson-casing, async, base, bytestring
-     , connection, cryptonite, errors, hspec, markdown-unlit, megaparsec
-     , memory, mtl, network, random, safe-exceptions, scanner
-     , semigroups, text, time, unix, unordered-containers
-     }:
-     mkDerivation {
-       pname = "faktory";
-       version = "1.0.3.1";
-       sha256 = "0af9wsx3fl701an3bsp7daxa4hxv7pdj16y7cypj3cvdwav5wdsg";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson aeson-casing base bytestring connection cryptonite errors
-         megaparsec memory mtl network random safe-exceptions scanner
-         semigroups text time unix unordered-containers
-       ];
-       executableHaskellDepends = [ aeson base safe-exceptions ];
-       testHaskellDepends = [
-         aeson async base hspec markdown-unlit time
-       ];
-       testToolDepends = [ markdown-unlit ];
-       description = "Faktory Worker for Haskell";
-       license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "faktory_1_1_2_1" = callPackage
     ({ mkDerivation, aeson, aeson-casing, aeson-qq, async, base
      , bytestring, connection, cryptonite, errors, hspec, markdown-unlit
      , megaparsec, memory, mtl, network, random, safe-exceptions
@@ -92570,6 +92268,7 @@ self: {
        description = "Falling sand game/cellular automata simulation using regular parallel arrays";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "fallingblocks" = callPackage
@@ -92648,6 +92347,7 @@ self: {
        doHaddock = false;
        description = "Fast functions on integers";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fast-bech32" = callPackage
@@ -92736,8 +92436,8 @@ self: {
      }:
      mkDerivation {
        pname = "fast-downward";
-       version = "0.2.1.0";
-       sha256 = "1gz1grd2f10pvmmk3klxhnwqg6mrdmgg23r5mblb4dflzpshffk1";
+       version = "0.2.2.0";
+       sha256 = "0j2ss4cibzipjw7p0jmw04ch8zq7q87fhksfyh5ddqiaf4l6ysi6";
        libraryHaskellDepends = [
          base containers mtl process temporary text transformers
        ];
@@ -92752,26 +92452,6 @@ self: {
      }:
      mkDerivation {
        pname = "fast-logger";
-       version = "3.0.5";
-       sha256 = "1mbnah6n8lig494523czcd95dfn01f438qai9pf20wpa2gdbz4x6";
-       libraryHaskellDepends = [
-         array auto-update base bytestring directory easy-file filepath text
-         unix-compat unix-time
-       ];
-       testHaskellDepends = [ base bytestring directory hspec ];
-       testToolDepends = [ hspec-discover ];
-       description = "A fast logging system";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ sternenseemann ];
-     }) {};
-
-  "fast-logger_3_1_1" = callPackage
-    ({ mkDerivation, array, auto-update, base, bytestring, directory
-     , easy-file, filepath, hspec, hspec-discover, text, unix-compat
-     , unix-time
-     }:
-     mkDerivation {
-       pname = "fast-logger";
        version = "3.1.1";
        sha256 = "1rx866swvqq7lzngv4bx7qinnwmm3aa2la8caljvbfbi0xz6wps3";
        libraryHaskellDepends = [
@@ -92782,7 +92462,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A fast logging system";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ sternenseemann ];
      }) {};
 
@@ -92888,6 +92567,7 @@ self: {
        ];
        description = "A simple, mindless parser for fasta files";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fastbayes" = callPackage
@@ -92973,7 +92653,21 @@ self: {
        description = "A highly experimental Fastly API client";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
+     }) {};
+
+  "fastmemo" = callPackage
+    ({ mkDerivation, base, bytestring, QuickCheck, utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "fastmemo";
+       version = "0.1.0.1";
+       sha256 = "1zb8nav58svds0c88rkrwdw5cjj2a8qlgx5rypqjrdv6w85s13vi";
+       libraryHaskellDepends = [ base bytestring utf8-string vector ];
+       testHaskellDepends = [
+         base bytestring QuickCheck utf8-string vector
+       ];
+       description = "Memoize functions on Generic types";
+       license = lib.licenses.bsd3;
      }) {};
 
   "fastparser" = callPackage
@@ -92992,6 +92686,7 @@ self: {
        benchmarkHaskellDepends = [ base bytestring criterion ];
        description = "A fast, but bare bones, bytestring parser combinators library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fastpbkdf2" = callPackage
@@ -93089,6 +92784,7 @@ self: {
        executableHaskellDepends = [ base mtl optparse-applicative split ];
        description = "A compiler for Fay, a Haskell subset that compiles to JavaScript";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fay-base" = callPackage
@@ -93101,6 +92797,7 @@ self: {
        libraryHaskellDepends = [ base fay ];
        description = "The base package for Fay";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fay-builder" = callPackage
@@ -93119,7 +92816,6 @@ self: {
        description = "Compile Fay code on cabal install, and ad-hoc recompile during development";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "fay-dom" = callPackage
@@ -93134,6 +92830,7 @@ self: {
        libraryHaskellDepends = [ fay-base ];
        description = "DOM FFI wrapper library for Fay";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fay-geoposition" = callPackage
@@ -93146,6 +92843,7 @@ self: {
        libraryHaskellDepends = [ fay-base fay-text ];
        description = "W3C compliant implementation of GeoPosition API";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fay-hsx" = callPackage
@@ -93159,7 +92857,6 @@ self: {
        description = "Clientside HTML generation for fay";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "fay-jquery" = callPackage
@@ -93172,6 +92869,7 @@ self: {
        libraryHaskellDepends = [ fay-base fay-text ];
        description = "jQuery bindings for Fay";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fay-ref" = callPackage
@@ -93184,6 +92882,7 @@ self: {
        libraryHaskellDepends = [ fay-base ];
        description = "Like IORef but for Fay";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fay-simplejson" = callPackage
@@ -93197,7 +92896,6 @@ self: {
        description = "SimpleJSON library for Fay";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "fay-text" = callPackage
@@ -93212,6 +92910,7 @@ self: {
        libraryHaskellDepends = [ fay fay-base text ];
        description = "Fay Text type represented as JavaScript strings";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fay-uri" = callPackage
@@ -93224,6 +92923,7 @@ self: {
        libraryHaskellDepends = [ fay-base ];
        description = "Persistent FFI bindings for using jsUri in Fay";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fay-websockets" = callPackage
@@ -93236,6 +92936,7 @@ self: {
        libraryHaskellDepends = [ fay-base ];
        description = "Websockets FFI library for Fay";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fb" = callPackage
@@ -93262,6 +92963,8 @@ self: {
        ];
        description = "Bindings to Facebook's API";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "fb-persistent" = callPackage
@@ -93274,7 +92977,6 @@ self: {
        description = "Provides Persistent instances to Facebook types";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "fbmessenger-api" = callPackage
@@ -93308,26 +93010,27 @@ self: {
      }) {};
 
   "fbrnch" = callPackage
-    ({ mkDerivation, aeson, async, base, bugzilla-redhat, bytestring
-     , config-ini, directory, email-validate, extra, filepath
-     , http-conduit, http-directory, http-query, koji, lens, lens-aeson
-     , network-uri, optparse-applicative, pretty-terminal, process
-     , rpm-nvr, rpmbuild-order, simple-cmd, simple-cmd-args, text, time
-     , typed-process, unordered-containers, utf8-string, xdg-basedir
+    ({ mkDerivation, aeson, async, base, bodhi, bugzilla-redhat
+     , bytestring, config-ini, copr-api, directory, email-validate
+     , 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
      }:
      mkDerivation {
        pname = "fbrnch";
-       version = "0.9.1.1";
-       sha256 = "00qqgvbbv03qafbmvcgy8yf5l0jlyal6c2cmsfqnkl3c0qp0mq88";
+       version = "1.0.0";
+       sha256 = "1j5whbx72q7jvjkv952y8qmgqkm19dprn6p1glvgsck8nhmffkkd";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         aeson async base bugzilla-redhat bytestring config-ini directory
-         email-validate extra filepath http-conduit http-directory
-         http-query koji lens lens-aeson network-uri optparse-applicative
-         pretty-terminal process rpm-nvr rpmbuild-order simple-cmd
-         simple-cmd-args text time typed-process unordered-containers
-         utf8-string xdg-basedir
+         aeson async base bodhi bugzilla-redhat bytestring config-ini
+         copr-api directory email-validate 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
        ];
        description = "Build and create Fedora package repos and branches";
        license = lib.licenses.gpl2Only;
@@ -93409,6 +93112,7 @@ self: {
        ];
        description = "Type-level computation for composite using first-class-families";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fcf-containers" = callPackage
@@ -93424,6 +93128,8 @@ self: {
        testHaskellDepends = [ base doctest first-class-families Glob ];
        description = "Data structures and algorithms for first-class-families";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "fcf-graphs" = callPackage
@@ -93442,6 +93148,7 @@ self: {
        ];
        description = "Type-level version of algebraic-graphs";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fcf-vinyl" = callPackage
@@ -93660,17 +93367,6 @@ self: {
      }) {};
 
   "fedora-dists" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "fedora-dists";
-       version = "1.1.2";
-       sha256 = "0hynmwic940vmna0czavbp1wx856ad9am7i6r0d2hq8jynrsin5w";
-       libraryHaskellDepends = [ base ];
-       description = "Library for Fedora distribution versions";
-       license = lib.licenses.gpl3Only;
-     }) {};
-
-  "fedora-dists_2_0_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, cached-json-file, pdc
      , text, time
      }:
@@ -93683,29 +93379,9 @@ self: {
        ];
        description = "Library for Fedora distribution versions";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fedora-haskell-tools" = callPackage
-    ({ mkDerivation, base, csv, directory, fedora-dists, filepath, HTTP
-     , optparse-applicative, process, simple-cmd, simple-cmd-args, split
-     , time, unix
-     }:
-     mkDerivation {
-       pname = "fedora-haskell-tools";
-       version = "0.9";
-       sha256 = "1zqglc16jawgdx382wg7dx467v7ngnf1njvf1clcdyqwp54q6imn";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         base csv directory fedora-dists filepath HTTP optparse-applicative
-         process simple-cmd simple-cmd-args split time unix
-       ];
-       description = "Building and maintenance tools for Fedora Haskell";
-       license = lib.licenses.gpl3Only;
-     }) {};
-
-  "fedora-haskell-tools_1_0" = callPackage
     ({ mkDerivation, base, bytestring, csv, directory, extra
      , fedora-dists, filepath, http-conduit, http-types
      , optparse-applicative, process, simple-cmd, simple-cmd-args, split
@@ -93724,7 +93400,6 @@ self: {
        ];
        description = "Building and maintenance tools for Fedora Haskell";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fedora-img-dl" = callPackage
@@ -93795,10 +93470,8 @@ self: {
      }:
      mkDerivation {
        pname = "feed";
-       version = "1.3.2.0";
-       sha256 = "0kv3vx3njqlhwvkmf12m1gmwl8jj97kfa60da2362vwdavhcf4dk";
-       revision = "3";
-       editedCabalFile = "029bip9jrmygvsdrdxn5gyb899kny41a98xjvy65gapd8ir1fd43";
+       version = "1.3.2.1";
+       sha256 = "0marh7qmggq1z5339nid3gil7k786d3yk79b0rwfkxxaxmr41xd8";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base base-compat bytestring old-locale old-time safe text time
@@ -94021,6 +93694,7 @@ self: {
        description = "Cocodataset with cocoapi";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "fei-dataiter" = callPackage
@@ -94264,7 +93938,6 @@ self: {
        description = "Graph-based notetaking system";
        license = "GPL";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {raptor = null;};
 
   "fernet" = callPackage
@@ -94395,8 +94068,8 @@ self: {
      }:
      mkDerivation {
        pname = "ffmpeg-light";
-       version = "0.14.0";
-       sha256 = "022xikz4gml9w52agq6q9dwx8ldbs1pwxhp3xbi79ysskivj14x1";
+       version = "0.14.1";
+       sha256 = "1chyq910sxspbbrr6xja6y61x8844dxdww54dpfydnhcbzsxi6m2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -94554,6 +94227,8 @@ self: {
        libraryHaskellDepends = [ base-noprelude integer-gmp semirings ];
        description = "fibonacci algebra";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "fibon" = callPackage
@@ -94830,6 +94505,8 @@ self: {
        ];
        description = "Use templates for files and directories";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "filecache" = callPackage
@@ -94992,16 +94669,16 @@ self: {
 
   "filepather" = callPackage
     ({ mkDerivation, base, bytestring, contravariant, directory
-     , filepath, lens, mmorph, mtl, semigroupoids, semigroups
+     , filepath, lens, mmorph, mtl, semigroupoids, semigroups, time
      , transformers
      }:
      mkDerivation {
        pname = "filepather";
-       version = "0.4.0";
-       sha256 = "0b103xaxs09lr720md8rrn5gc581ihja6v1jv8gcp8yfnqrn4m1p";
+       version = "0.4.1";
+       sha256 = "0pvb828gsq4rip8vf66bxacd3jrb9z6pz3g2vd4zcnya5wgy47fh";
        libraryHaskellDepends = [
          base bytestring contravariant directory filepath lens mmorph mtl
-         semigroupoids semigroups transformers
+         semigroupoids semigroups time transformers
        ];
        description = "Functions on System.FilePath";
        license = lib.licenses.bsd3;
@@ -95071,7 +94748,6 @@ self: {
        description = "A shared set of abstractions and types for representing filessytem data";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "filesystem-conduit" = callPackage
@@ -95182,17 +94858,6 @@ self: {
      }) {};
 
   "filtrable" = callPackage
-    ({ mkDerivation, base, transformers }:
-     mkDerivation {
-       pname = "filtrable";
-       version = "0.1.4.0";
-       sha256 = "11jas9w611pslc3hanybsdwrh4292zvgigng8y4cv7gm0j908xng";
-       libraryHaskellDepends = [ base transformers ];
-       description = "Class of filtrable containers";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "filtrable_0_1_6_0" = callPackage
     ({ mkDerivation, base, containers, smallcheck, tasty
      , tasty-smallcheck, transformers
      }:
@@ -95204,26 +94869,9 @@ self: {
        testHaskellDepends = [ base smallcheck tasty tasty-smallcheck ];
        description = "Class of filtrable containers";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fin" = callPackage
-    ({ mkDerivation, base, dec, deepseq, hashable, inspection-testing
-     , QuickCheck, tagged, universe-base
-     }:
-     mkDerivation {
-       pname = "fin";
-       version = "0.2";
-       sha256 = "1xy3dgvl6s4cyb0l2hkyl06nbhc4dpc3sy2kjd8w7av9921k96i3";
-       libraryHaskellDepends = [
-         base dec deepseq hashable QuickCheck universe-base
-       ];
-       testHaskellDepends = [ base inspection-testing tagged ];
-       description = "Nat and Fin: peano naturals and finite numbers";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "fin_0_2_1" = callPackage
     ({ mkDerivation, base, boring, dec, deepseq, hashable
      , inspection-testing, QuickCheck, some, tagged, universe-base
      }:
@@ -95237,7 +94885,6 @@ self: {
        testHaskellDepends = [ base inspection-testing tagged ];
        description = "Nat and Fin: peano naturals and finite numbers";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fin-int" = callPackage
@@ -95445,14 +95092,15 @@ self: {
        ];
        description = "A better, more type-safe Enum";
        license = lib.licenses.gpl3Plus;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "finitary-derive" = callPackage
     ({ mkDerivation, base, binary, bitvec, coercible-utils, deepseq
-     , finitary, finite-typelits, ghc-typelits-extra
+     , finitary, finite-typelits, ghc-bignum, ghc-typelits-extra
      , ghc-typelits-knownnat, hashable, hedgehog, hedgehog-classes
-     , integer-gmp, primitive, vector, vector-binary-instances
-     , vector-instances
+     , primitive, vector, vector-binary-instances, vector-instances
      }:
      mkDerivation {
        pname = "finitary-derive";
@@ -95460,7 +95108,7 @@ self: {
        sha256 = "1l8xh7azssfgwvr78jaklj6dagmjpbx5ad4j6kzx104khj0skpqy";
        libraryHaskellDepends = [
          base binary bitvec coercible-utils deepseq finitary finite-typelits
-         ghc-typelits-extra ghc-typelits-knownnat hashable integer-gmp
+         ghc-bignum ghc-typelits-extra ghc-typelits-knownnat hashable
          primitive vector vector-binary-instances vector-instances
        ];
        testHaskellDepends = [
@@ -95470,7 +95118,6 @@ self: {
        description = "Flexible and easy deriving of type classes for finitary types";
        license = lib.licenses.gpl3Plus;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "finitary-optics" = callPackage
@@ -95491,6 +95138,7 @@ self: {
        ];
        description = "Prisms and Isos between finitary types";
        license = lib.licenses.gpl3Plus;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "finite" = callPackage
@@ -95507,6 +95155,8 @@ self: {
        testHaskellDepends = [ base Cabal hashable QuickCheck ];
        description = "Finite ranges via types";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "finite-field" = callPackage
@@ -95544,6 +95194,8 @@ self: {
        ];
        description = "Arithmetic in finite fields";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "finite-table" = callPackage
@@ -95690,7 +95342,6 @@ self: {
        description = "Wrapper for Google Firestore/Datastore API";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "first-and-last" = callPackage
@@ -95790,7 +95441,6 @@ self: {
        ];
        description = "Calculates file-size frequency-distribution";
        license = "GPL";
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fit" = callPackage
@@ -96026,7 +95676,6 @@ self: {
        description = "Fixed Precision Arithmetic";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "fixed-storable-array" = callPackage
@@ -96059,25 +95708,12 @@ self: {
     ({ mkDerivation, base, deepseq, doctest, filemanip, primitive }:
      mkDerivation {
        pname = "fixed-vector";
-       version = "1.2.0.0";
-       sha256 = "19846sgjlsv7qy9nm9l4p2wdms5kvx6y9wm5ffz1hw7h77qy8ryw";
-       libraryHaskellDepends = [ base deepseq primitive ];
-       testHaskellDepends = [ base doctest filemanip primitive ];
-       description = "Generic vectors with statically known size";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "fixed-vector_1_2_1_0" = callPackage
-    ({ mkDerivation, base, deepseq, doctest, filemanip, primitive }:
-     mkDerivation {
-       pname = "fixed-vector";
        version = "1.2.1.0";
        sha256 = "05x3qivymg02n17wik17fmz2bqbbhj4b0w5iz7vnjz3szhwjizdf";
        libraryHaskellDepends = [ base deepseq primitive ];
        testHaskellDepends = [ base doctest filemanip primitive ];
        description = "Generic vectors with statically known size";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fixed-vector-binary" = callPackage
@@ -96094,8 +95730,6 @@ self: {
        ];
        description = "Binary instances for fixed-vector";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "fixed-vector-cborg" = callPackage
@@ -96112,8 +95746,6 @@ self: {
        ];
        description = "Binary instances for fixed-vector";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "fixed-vector-cereal" = callPackage
@@ -96130,18 +95762,15 @@ self: {
        ];
        description = "Cereal instances for fixed-vector";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "fixed-vector-hetero" = callPackage
-    ({ mkDerivation, base, deepseq, doctest, fixed-vector, primitive }:
+    ({ mkDerivation, base, deepseq, fixed-vector, primitive }:
      mkDerivation {
        pname = "fixed-vector-hetero";
        version = "0.6.1.1";
        sha256 = "1amqpbvzyqfg5rsl4zm99qmiffbh0a5bf9jbwlm6snwm9024qsj3";
        libraryHaskellDepends = [ base deepseq fixed-vector primitive ];
-       testHaskellDepends = [ base doctest fixed-vector ];
        description = "Library for working with product types generically";
        license = lib.licenses.bsd3;
      }) {};
@@ -96215,7 +95844,6 @@ self: {
        description = "A Haskell client for http://fixer.io/";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "fixfile" = callPackage
@@ -96594,13 +96222,15 @@ self: {
     ({ mkDerivation, base, directory, parsec }:
      mkDerivation {
        pname = "flat-tex";
-       version = "0.7.0";
-       sha256 = "19djkalk3pw309y8ngia88qrppm3c6128db7lk7q6l0w18vrnb9d";
+       version = "0.8.0";
+       sha256 = "0p5shxpvv15ihbgdvgqwqjq1xz96s5cbflvwb8x7bh5qni8mm3ax";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base directory parsec ];
        description = "flatten a latex multi-file latex document and remove all comments";
        license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "flatbuffers" = callPackage
@@ -96658,8 +96288,6 @@ self: {
        ];
        description = "High-performance parsing from strict bytestrings";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "flay" = callPackage
@@ -96827,8 +96455,6 @@ self: {
        ];
        description = "Parsing of pilot tracklogs dumped as KML";
        license = lib.licenses.mpl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "flink-statefulfun" = callPackage
@@ -96945,6 +96571,8 @@ self: {
        libraryHaskellDepends = [ base integer-gmp ];
        description = "FFI bindings for C _Float128";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "floating-bits" = callPackage
@@ -97029,25 +96657,12 @@ self: {
     ({ mkDerivation, base, HUnit }:
      mkDerivation {
        pname = "flow";
-       version = "1.0.23";
-       sha256 = "064dzij0qj0psnis7fcr3zklkkm8bncl448c9k1na1g7h46660mv";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base HUnit ];
-       description = "Write more understandable Haskell";
-       license = lib.licenses.mit;
-     }) {};
-
-  "flow_2_0_0_0" = callPackage
-    ({ mkDerivation, base, HUnit }:
-     mkDerivation {
-       pname = "flow";
        version = "2.0.0.0";
        sha256 = "03zhamnwni9y0div9lwdmw5nl63m6ykjppxhyhl95zknc0dml1vj";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base HUnit ];
        description = "Write more understandable Haskell";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "flow-er" = callPackage
@@ -97457,6 +97072,8 @@ self: {
        ];
        description = "Code-generated, Auto-versioned, & Smart Web APIs";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "fluid-idl-http-client" = callPackage
@@ -97609,6 +97226,7 @@ self: {
        libraryHaskellDepends = [ base enum-text-rio ];
        description = "Adaptor for getting fmt to work with rio";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fmt-terminal-colors" = callPackage
@@ -97747,11 +97365,13 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "foldable-ix";
-       version = "0.2.0.0";
-       sha256 = "1xbdwnvbg4phkqrcb9izabff85dhdj004nnbgk53f50if9sv4463";
+       version = "0.2.1.0";
+       sha256 = "0sbqlii75sjmha2kmiwi36r2wdkpxdargyrrv2g60vpryvndiqck";
        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
@@ -97790,15 +97410,13 @@ self: {
      }) {};
 
   "foldl-exceptions" = callPackage
-    ({ mkDerivation, base, doctest, foldl, safe-exceptions }:
+    ({ mkDerivation, base, foldl, hedgehog, safe-exceptions }:
      mkDerivation {
        pname = "foldl-exceptions";
-       version = "1.0.0.0";
-       sha256 = "18aq907cdl80kpsb9ljymyd4l97sk7nl4qbwc90q7g8zdn3df3bn";
-       revision = "1";
-       editedCabalFile = "02dqzbrjkvhb66gabmmfsvw6yxz7905vphrbanbzlh5qyz9y0kc0";
+       version = "1.0.0.1";
+       sha256 = "05b7d7y7lg8b2d4kyzwnad4vkr6qyx1gpjw4wd20kk5smql4bxsq";
        libraryHaskellDepends = [ base foldl safe-exceptions ];
-       testHaskellDepends = [ base doctest ];
+       testHaskellDepends = [ base foldl hedgehog safe-exceptions ];
        description = "Exception handling with FoldM";
        license = lib.licenses.mit;
      }) {};
@@ -97876,8 +97494,6 @@ self: {
        ];
        description = "Transducers for foldl folds";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "foldl-transduce-attoparsec" = callPackage
@@ -97899,7 +97515,6 @@ self: {
        ];
        description = "Attoparsec and foldl-transduce integration";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "folds" = callPackage
@@ -98319,24 +97934,6 @@ self: {
      }) {};
 
   "forma" = callPackage
-    ({ mkDerivation, aeson, base, containers, hspec, mtl, text
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "forma";
-       version = "1.1.3";
-       sha256 = "0pd2qzibffbkw2c4mk687yg109pl0nfjq0kpwi2cl0l8d0qlyv0c";
-       revision = "1";
-       editedCabalFile = "0p8cxv068d2fhpym28p49wxsiz6qdm1gb8mgw86lgs8yykqzwsy8";
-       libraryHaskellDepends = [
-         aeson base containers mtl text unordered-containers
-       ];
-       testHaskellDepends = [ aeson base containers hspec mtl text ];
-       description = "Parse and validate forms in JSON format";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "forma_1_2_0" = callPackage
     ({ mkDerivation, aeson, base, containers, hspec, mtl, text }:
      mkDerivation {
        pname = "forma";
@@ -98348,7 +97945,6 @@ self: {
        testHaskellDepends = [ aeson base containers hspec mtl text ];
        description = "Parse and validate forms in JSON format";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "formal" = callPackage
@@ -98421,13 +98017,11 @@ self: {
     ({ mkDerivation, base, containers, QuickCheck, text }:
      mkDerivation {
        pname = "formatn";
-       version = "0.2.0";
-       sha256 = "1hgrii092rlxhmf23ckj51rj53qkwljh3rahnm0rz4rpnrm6xxjq";
+       version = "0.2.1";
+       sha256 = "1l6xzwxbddalz33ppyy9wcb0i0n9vz17s0c4j15ji96ql11k3hm7";
        libraryHaskellDepends = [ base containers QuickCheck text ];
        description = "Formatting of doubles";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "formattable" = callPackage
@@ -98583,7 +98177,6 @@ self: {
        description = "ForSyDe's Haskell-embedded Domain Specific Language";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "forsyde-shallow" = callPackage
@@ -98616,55 +98209,56 @@ self: {
 
   "fortran-src" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
-     , deepseq, directory, fgl, filepath, GenericPretty, happy, hspec
-     , hspec-discover, mtl, pretty, QuickCheck, temporary, text
+     , deepseq, directory, either, fgl, filepath, GenericPretty, happy
+     , hspec, hspec-discover, mtl, pretty, QuickCheck, temporary, text
      , uniplate
      }:
      mkDerivation {
        pname = "fortran-src";
-       version = "0.8.0";
-       sha256 = "1pmy9rr6xgqmcx84wk879cvnpyhchz12w8mjymxafn6fljcx96hs";
+       version = "0.9.0";
+       sha256 = "0x2dkzqvc1al4zshdjc2iypi5bl2vkrvrvidmw7099jjspp6iw1c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         array base binary bytestring containers deepseq directory fgl
-         filepath GenericPretty mtl pretty temporary text uniplate
+         array base binary bytestring containers deepseq directory either
+         fgl filepath GenericPretty mtl pretty temporary text uniplate
        ];
        libraryToolDepends = [ alex happy ];
        executableHaskellDepends = [
-         array base binary bytestring containers deepseq directory fgl
-         filepath GenericPretty mtl pretty temporary text uniplate
+         array base binary bytestring containers deepseq directory either
+         fgl filepath GenericPretty mtl pretty temporary text uniplate
        ];
        testHaskellDepends = [
-         array base binary bytestring containers deepseq directory fgl
-         filepath GenericPretty hspec mtl pretty QuickCheck temporary text
-         uniplate
+         array base binary bytestring containers deepseq directory either
+         fgl filepath GenericPretty hspec mtl pretty QuickCheck temporary
+         text uniplate
        ];
        testToolDepends = [ hspec-discover ];
        description = "Parsers and analyses for Fortran standards 66, 77, 90, 95 and 2003 (partial)";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "fortran-src-extras" = callPackage
     ({ mkDerivation, aeson, base, binary, bytestring, containers
-     , directory, filepath, fortran-src, GenericPretty, hspec
+     , directory, either, filepath, fortran-src, GenericPretty, hspec
      , hspec-discover, optparse-applicative, silently, text, uniplate
      }:
      mkDerivation {
        pname = "fortran-src-extras";
-       version = "0.2.0";
-       sha256 = "0wp1qq7fnzxlar0z7lh4g2fnalwp7xnqg43ws6c9b79xvahk58zi";
+       version = "0.3.0";
+       sha256 = "0wlaqkc4gvndvir5ghg5jbmj528am0iw5cgl7rk6zvkprpjd2n48";
        libraryHaskellDepends = [
-         aeson base binary bytestring containers directory filepath
+         aeson base binary bytestring containers directory either filepath
          fortran-src GenericPretty optparse-applicative text uniplate
        ];
-       testHaskellDepends = [ base fortran-src hspec silently uniplate ];
+       testHaskellDepends = [
+         base either fortran-src hspec silently uniplate
+       ];
        testToolDepends = [ hspec-discover ];
        description = "Common functions and utils for fortran-src";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "fortran-vars" = callPackage
@@ -98708,8 +98302,6 @@ self: {
        testHaskellDepends = [ base doctest hspec ];
        description = "Interactive terminal prompt";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "forward-chan" = callPackage
@@ -98795,10 +98387,8 @@ self: {
     ({ mkDerivation, base, basement, gauge, ghc-prim }:
      mkDerivation {
        pname = "foundation";
-       version = "0.0.26.1";
-       sha256 = "1hri3raqf6nhh6631gfm2yrkv4039gb0cqfa9cqmjp8bbqv28w5d";
-       revision = "1";
-       editedCabalFile = "0ylg660ldg20jdy61jwlvj7x606m2wjs67djijk2i9db36sgpx00";
+       version = "0.0.28";
+       sha256 = "06hsh40qwmy2nfkrd9m8lfhi6arziixdw9pn379m6a7cga2vjcnh";
        libraryHaskellDepends = [ base basement ghc-prim ];
        testHaskellDepends = [ base basement ];
        benchmarkHaskellDepends = [ base basement gauge ];
@@ -98829,36 +98419,6 @@ self: {
      }) {};
 
   "fourmolu" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, directory
-     , dlist, exceptions, filepath, ghc-lib-parser, gitrev, hspec
-     , hspec-discover, HsYAML, HsYAML-aeson, mtl, optparse-applicative
-     , path, path-io, syb, text
-     }:
-     mkDerivation {
-       pname = "fourmolu";
-       version = "0.3.0.0";
-       sha256 = "0v89dvcr8l0swj23kkakc39q6lyxjz90rqgwy7m6a5p6iv3h2wms";
-       revision = "2";
-       editedCabalFile = "16ky7wzmnwhzkk18r63ynq78vlrg065z6mp3hqgs92khpjr33g1l";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson base bytestring containers directory dlist exceptions
-         filepath ghc-lib-parser HsYAML HsYAML-aeson mtl syb text
-       ];
-       executableHaskellDepends = [
-         base directory ghc-lib-parser gitrev optparse-applicative text
-       ];
-       testHaskellDepends = [
-         base containers filepath hspec path path-io text
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "A formatter for Haskell source code";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "fourmolu_0_4_0_0" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, bytestring, Cabal
      , containers, Diff, directory, dlist, exceptions, filepath
      , ghc-lib-parser, gitrev, hspec, hspec-discover, HsYAML
@@ -98889,7 +98449,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A formatter for Haskell source code";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fourmolu_0_5_0_1" = callPackage
@@ -98927,14 +98486,14 @@ self: {
      }) {};
 
   "fp-ieee" = callPackage
-    ({ mkDerivation, base, doctest, hspec, hspec-core, integer-gmp
+    ({ mkDerivation, base, doctest, ghc-bignum, hspec, hspec-core
      , integer-logarithms, QuickCheck, random, tasty-bench
      }:
      mkDerivation {
        pname = "fp-ieee";
        version = "0.1.0.2";
        sha256 = "0zfrjqyi3pvfmsidq2vsfwqaah0ag6pkixlxicr43jmfyrhi4snl";
-       libraryHaskellDepends = [ base integer-gmp integer-logarithms ];
+       libraryHaskellDepends = [ base ghc-bignum integer-logarithms ];
        testHaskellDepends = [
          base doctest hspec hspec-core integer-logarithms QuickCheck random
        ];
@@ -98978,7 +98537,6 @@ self: {
        description = "Simple interface to the FP Complete IDE API";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "fpe" = callPackage
@@ -99280,8 +98838,8 @@ self: {
      }:
      mkDerivation {
        pname = "freckle-app";
-       version = "1.0.2.8";
-       sha256 = "072jq8bqxa7h067hplhwp8zfnx1ygfcg1yxjyj10lwxdmr3barsw";
+       version = "1.0.2.9";
+       sha256 = "000frzvydpmyn547za0zlf7w38avcgspvjpcakalsdv5vzj83kk5";
        libraryHaskellDepends = [
          aeson ansi-terminal base bytestring case-insensitive conduit
          containers data-default datadog doctest ekg-core errors exceptions
@@ -99457,7 +99015,6 @@ self: {
        description = "Create games for free";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "free-http" = callPackage
@@ -99942,7 +99499,6 @@ self: {
        description = "Single line text rendering for OpenGL ES";
        license = lib.licenses.publicDomain;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "freetype2" = callPackage
@@ -100018,6 +99574,38 @@ self: {
        broken = true;
      }) {};
 
+  "fresnel" = callPackage
+    ({ mkDerivation, ansi-terminal, base, containers, fused-effects
+     , hashable, profunctors, QuickCheck, template-haskell, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "fresnel";
+       version = "0.0.0.1";
+       sha256 = "0lhqm9khjkwfmkyzfz4a12d52wn7z3i0m1rvsxkc9rmhr0wx49wq";
+       libraryHaskellDepends = [
+         base containers hashable profunctors transformers
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         ansi-terminal base containers fused-effects QuickCheck
+         template-haskell
+       ];
+       description = "high-powered optics in a small package";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "fresnel-fused-effects" = callPackage
+    ({ mkDerivation, base, fresnel, fused-effects }:
+     mkDerivation {
+       pname = "fresnel-fused-effects";
+       version = "0.0.0.0";
+       sha256 = "1img08a29q1s5zydk9hkggsq874hvqj44f0vjmxdr36j5r72v4kz";
+       libraryHaskellDepends = [ base fresnel fused-effects ];
+       description = "fresnel/fused-effects integration";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "friday" = callPackage
     ({ mkDerivation, base, containers, convertible, deepseq, primitive
      , QuickCheck, ratio-int, test-framework, test-framework-quickcheck2
@@ -100178,6 +99766,7 @@ self: {
        ];
        description = "A reactive frontend web framework";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "frontmatter" = callPackage
@@ -100664,6 +100253,25 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "fudgets" = callPackage
+    ({ mkDerivation, array, base, containers, directory, libX11
+     , libXext, old-time, parallel, process, random, time, unix
+     }:
+     mkDerivation {
+       pname = "fudgets";
+       version = "0.18.3.1";
+       sha256 = "1jwqj0l51d4an2gimrfy9ziy7221ng3lv7s17gg0pn6xbjwg37h9";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base containers directory old-time process time unix
+       ];
+       librarySystemDepends = [ libX11 libXext ];
+       executableHaskellDepends = [ array base old-time parallel random ];
+       description = "The Fudgets Library";
+       license = "unknown";
+     }) {inherit (pkgs.xorg) libX11; inherit (pkgs.xorg) libXext;};
+
   "fugue" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -100915,8 +100523,6 @@ self: {
        ];
        description = "Library providing values and operations on values in a fixed universe";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "function-builder" = callPackage
@@ -100966,6 +100572,7 @@ self: {
        description = "Combinators that allow for a more functional/monadic style of Arrow programming";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "functional-kmp" = callPackage
@@ -101006,23 +100613,6 @@ self: {
      }) {};
 
   "functor-classes-compat" = callPackage
-    ({ mkDerivation, base, containers, hashable, unordered-containers
-     , vector
-     }:
-     mkDerivation {
-       pname = "functor-classes-compat";
-       version = "1.0.1";
-       sha256 = "0p6kwj1yimis0rg2gihwkgxkjj1psxy38hxa94gz5pd638314hi3";
-       revision = "1";
-       editedCabalFile = "0x8g977xgg9jj597kvn4h725kh3nvbwhxlh1iglp1vzn39v73n6f";
-       libraryHaskellDepends = [
-         base containers hashable unordered-containers vector
-       ];
-       description = "Data.Functor.Classes instances for core packages";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "functor-classes-compat_2_0_0_2" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
        pname = "functor-classes-compat";
@@ -101031,39 +100621,11 @@ self: {
        libraryHaskellDepends = [ base containers ];
        description = "Data.Functor.Classes instances for core packages";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "functor-combinators" = callPackage
     ({ mkDerivation, assoc, base, bifunctors, comonad, constraints
      , containers, contravariant, dependent-sum, deriving-compat, free
-     , hedgehog, invariant, kan-extensions, mmorph, mtl
-     , natural-transformation, nonempty-containers, pointed, profunctors
-     , semigroupoids, sop-core, tagged, tasty, tasty-hedgehog, these
-     , transformers, trivial-constraint, vinyl
-     }:
-     mkDerivation {
-       pname = "functor-combinators";
-       version = "0.3.6.0";
-       sha256 = "0idf896xadp5v5k4m0s087xvvs9008sxw61djqb9v0x08rs5zy8f";
-       libraryHaskellDepends = [
-         assoc base bifunctors comonad constraints containers contravariant
-         deriving-compat free invariant kan-extensions mmorph mtl
-         natural-transformation nonempty-containers pointed profunctors
-         semigroupoids sop-core tagged these transformers trivial-constraint
-         vinyl
-       ];
-       testHaskellDepends = [
-         base bifunctors dependent-sum free hedgehog nonempty-containers
-         semigroupoids tasty tasty-hedgehog transformers trivial-constraint
-       ];
-       description = "Tools for functor combinator-based program design";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "functor-combinators_0_4_1_0" = callPackage
-    ({ mkDerivation, assoc, base, bifunctors, comonad, constraints
-     , containers, contravariant, dependent-sum, deriving-compat, free
      , hashable, hedgehog, invariant, kan-extensions, mmorph, mtl
      , natural-transformation, nonempty-containers, pointed, profunctors
      , semigroupoids, sop-core, StateVar, tagged, tasty, tasty-hedgehog
@@ -101088,6 +100650,7 @@ self: {
        description = "Tools for functor combinator-based program design";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "functor-combo" = callPackage
@@ -101234,7 +100797,6 @@ self: {
        description = "Workflows with arrows";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "funflow-nix" = callPackage
@@ -101363,8 +100925,8 @@ self: {
      }:
      mkDerivation {
        pname = "fused-effects";
-       version = "1.1.1.1";
-       sha256 = "1hd7sslc28fgx3l59afjzfdx3qya6ilc46mla16idm0z8i0avhh5";
+       version = "1.1.1.2";
+       sha256 = "1icm2mk4xbijahn7srv5dhnrlgx7fx5m0si75ixj1g1s16s2v8sf";
        libraryHaskellDepends = [ base transformers ];
        testHaskellDepends = [
          base containers hedgehog hedgehog-fn inspection-testing
@@ -101550,6 +101112,23 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "fusion-plugin_0_2_4" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath
+     , fusion-plugin-types, ghc, syb, time, transformers
+     }:
+     mkDerivation {
+       pname = "fusion-plugin";
+       version = "0.2.4";
+       sha256 = "1q0xsrzl0zlnx6wga8aw8h40innl76zbnn1dpb02wli6nlq237kp";
+       libraryHaskellDepends = [
+         base containers directory filepath fusion-plugin-types ghc syb time
+         transformers
+       ];
+       description = "GHC plugin to make stream fusion more predictable";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "fusion-plugin-types" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -101566,58 +101145,18 @@ self: {
      , base16-bytestring, binary, blaze-html, bmp, bytestring
      , bytestring-to-vector, cmark-gfm, containers, cryptohash-md5
      , directory, directory-tree, dlist, file-embed, filepath, free
-     , futhark-data, futhark-server, githash, half, happy, haskeline
-     , language-c-quote, mainland-pretty, megaparsec, mtl
-     , neat-interpolation, parallel, parser-combinators, process
-     , process-extras, QuickCheck, random, regex-tdfa, srcloc, tasty
-     , tasty-hunit, tasty-quickcheck, template-haskell, temporary
-     , terminal-size, text, time, transformers, unordered-containers
-     , vector, vector-binary-instances, versions, zip-archive, zlib
-     }:
-     mkDerivation {
-       pname = "futhark";
-       version = "0.20.5";
-       sha256 = "0wdpi1lr6cglwig194i9l6jmb54lh5qhwfhx8nn7z2kmww0qpmbv";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson ansi-terminal array base base16-bytestring binary blaze-html
-         bmp bytestring bytestring-to-vector cmark-gfm containers
-         cryptohash-md5 directory directory-tree dlist file-embed filepath
-         free futhark-data futhark-server githash half haskeline
-         language-c-quote mainland-pretty megaparsec mtl neat-interpolation
-         parallel process process-extras random regex-tdfa srcloc
-         template-haskell temporary terminal-size text time transformers
-         unordered-containers vector vector-binary-instances versions
-         zip-archive zlib
-       ];
-       libraryToolDepends = [ alex happy ];
-       executableHaskellDepends = [ base text ];
-       testHaskellDepends = [
-         base containers megaparsec mtl parser-combinators QuickCheck tasty
-         tasty-hunit tasty-quickcheck text
-       ];
-       description = "An optimising compiler for a functional, array-oriented language";
-       license = lib.licenses.isc;
-     }) {};
-
-  "futhark_0_21_6" = callPackage
-    ({ mkDerivation, aeson, alex, ansi-terminal, array, base
-     , base16-bytestring, binary, blaze-html, bmp, bytestring
-     , bytestring-to-vector, cmark-gfm, containers, cryptohash-md5
-     , directory, directory-tree, dlist, file-embed, filepath, free
      , futhark-data, futhark-manifest, futhark-server, githash, half
      , happy, haskeline, language-c-quote, mainland-pretty, megaparsec
      , mtl, neat-interpolation, parallel, parser-combinators, process
      , process-extras, QuickCheck, random, regex-tdfa, srcloc, tasty
      , tasty-hunit, tasty-quickcheck, template-haskell, temporary
-     , terminal-size, text, time, transformers, vector
-     , vector-binary-instances, versions, zip-archive, zlib
+     , terminal-size, text, time, transformers, vector, versions
+     , zip-archive, zlib
      }:
      mkDerivation {
        pname = "futhark";
-       version = "0.21.6";
-       sha256 = "1981w3yzzfhlqs5p98mdb5b3yhhck1lvcxx12j3krsa4raclf8s6";
+       version = "0.21.8";
+       sha256 = "16qvrmqrfsnj11f59xkb3cgibd1wq80bcssjfzbicwmrlxi86im6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -101628,8 +101167,7 @@ self: {
          haskeline language-c-quote mainland-pretty megaparsec mtl
          neat-interpolation parallel process process-extras random
          regex-tdfa srcloc template-haskell temporary terminal-size text
-         time transformers vector vector-binary-instances versions
-         zip-archive zlib
+         time transformers vector versions zip-archive zlib
        ];
        libraryToolDepends = [ alex happy ];
        executableHaskellDepends = [ base text ];
@@ -101639,7 +101177,6 @@ self: {
        ];
        description = "An optimising compiler for a functional, array-oriented language";
        license = lib.licenses.isc;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "futhark-data" = callPackage
@@ -101679,8 +101216,6 @@ self: {
        ];
        description = "Definition and serialisation instances for Futhark manifests";
        license = lib.licenses.isc;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "futhark-server" = callPackage
@@ -101711,6 +101246,8 @@ self: {
        executableHaskellDepends = [ base directory raw-strings-qq split ];
        description = "Generate Haskell wrappers for Futhark libraries";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "futun" = callPackage
@@ -101830,27 +101367,12 @@ self: {
      }:
      mkDerivation {
        pname = "fuzzy-time";
-       version = "0.1.0.0";
-       sha256 = "1l9gpirnnr8lzdcnqz1sdi998v7gka9x6sld2pz4d8y906mdhclj";
-       libraryHaskellDepends = [
-         base containers deepseq megaparsec text time validity validity-time
-       ];
-       license = lib.licenses.mit;
-     }) {};
-
-  "fuzzy-time_0_2_0_0" = callPackage
-    ({ mkDerivation, base, containers, deepseq, megaparsec, text, time
-     , validity, validity-time
-     }:
-     mkDerivation {
-       pname = "fuzzy-time";
        version = "0.2.0.0";
        sha256 = "0gf6bj0jrd8jh30n1cdjc31ynjpsrikwacp3mysa76kqb4mxl3xz";
        libraryHaskellDepends = [
          base containers deepseq megaparsec text time validity validity-time
        ];
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fuzzy-time-gen" = callPackage
@@ -101875,8 +101397,6 @@ self: {
          base criterion fuzzy-time genvalidity-criterion
        ];
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "fuzzy-timings" = callPackage
@@ -101916,6 +101436,8 @@ self: {
        testHaskellDepends = [ base containers hspec QuickCheck ];
        description = "Fuzzy text matching";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "fuzzyset" = callPackage
@@ -102368,6 +101890,8 @@ self: {
        ];
        description = "Automatically spin up and spin down local daemons";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "gargoyle-postgresql" = callPackage
@@ -102389,6 +101913,7 @@ self: {
        ];
        description = "Manage PostgreSQL servers with gargoyle";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gargoyle-postgresql-connect" = callPackage
@@ -102430,7 +101955,6 @@ self: {
        description = "Manage PostgreSQL servers with gargoyle and nix";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "garlic-bread" = callPackage
@@ -102973,6 +102497,8 @@ self: {
        ];
        description = "a simple Gemini capsule (server)";
        license = lib.licenses.agpl3Plus;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "gemini-router" = callPackage
@@ -103026,6 +102552,7 @@ self: {
        ];
        description = "A barebones textboard for the Gemini protocol";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gemstone" = callPackage
@@ -103251,23 +102778,13 @@ self: {
     ({ mkDerivation, base, QuickCheck }:
      mkDerivation {
        pname = "generic-arbitrary";
-       version = "0.1.0";
-       sha256 = "1imw36k5kxfl7ik0mzjxa8xzqg6hs3k253kpi19a9l53wxa0mwv9";
-       libraryHaskellDepends = [ base QuickCheck ];
-       description = "Generic implementation for QuickCheck's Arbitrary";
-       license = lib.licenses.mit;
-     }) {};
-
-  "generic-arbitrary_0_2_0" = callPackage
-    ({ mkDerivation, base, QuickCheck }:
-     mkDerivation {
-       pname = "generic-arbitrary";
        version = "0.2.0";
        sha256 = "1wlrsj9l57vqdkaablb8ypq2g1i4mishjag00fyf2imr2cvzkamg";
+       revision = "1";
+       editedCabalFile = "1x7819chcy0ydby6d7024ny1a1si7pyx46rf1mzr3ngdy6wxdfbp";
        libraryHaskellDepends = [ base QuickCheck ];
        description = "Generic implementation for QuickCheck's Arbitrary";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "generic-binary" = callPackage
@@ -103456,24 +102973,6 @@ self: {
      }:
      mkDerivation {
        pname = "generic-lens";
-       version = "2.1.0.0";
-       sha256 = "1qxabrbzgd32i2fv40qw4f44akvfs1impjvcs5pqn409q9zz6kfd";
-       libraryHaskellDepends = [
-         base generic-lens-core profunctors text
-       ];
-       testHaskellDepends = [
-         base doctest HUnit inspection-testing lens profunctors
-       ];
-       description = "Generically derive traversals, lenses and prisms";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "generic-lens_2_2_1_0" = callPackage
-    ({ mkDerivation, base, doctest, generic-lens-core, HUnit
-     , inspection-testing, lens, profunctors, text
-     }:
-     mkDerivation {
-       pname = "generic-lens";
        version = "2.2.1.0";
        sha256 = "17an4669igzs6pwzqxnpkx9gmxwz64p32d1zcinhh5agd56y70pa";
        libraryHaskellDepends = [
@@ -103484,30 +102983,17 @@ self: {
        ];
        description = "Generically derive traversals, lenses and prisms";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "generic-lens-core" = callPackage
     ({ mkDerivation, base, indexed-profunctors, text }:
      mkDerivation {
        pname = "generic-lens-core";
-       version = "2.1.0.0";
-       sha256 = "0ja72rn7f7a24bmgqb6rds1ic78jffy2dzrb7sx8gy3ld5mlg135";
-       libraryHaskellDepends = [ base indexed-profunctors text ];
-       description = "Generically derive traversals, lenses and prisms";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "generic-lens-core_2_2_1_0" = callPackage
-    ({ mkDerivation, base, indexed-profunctors, text }:
-     mkDerivation {
-       pname = "generic-lens-core";
        version = "2.2.1.0";
        sha256 = "08i4c9yb6z84iknrnl9f3f343121j7ilp0a679v81nsjm9xz3rlf";
        libraryHaskellDepends = [ base indexed-profunctors text ];
        description = "Generically derive traversals, lenses and prisms";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "generic-lens-labels" = callPackage
@@ -103603,25 +103089,6 @@ self: {
      }:
      mkDerivation {
        pname = "generic-optics";
-       version = "2.1.0.0";
-       sha256 = "04szdpcaxiaw9n1cry020mcrcirypfq3qxwr7h8h34b2mffvnl25";
-       libraryHaskellDepends = [
-         base generic-lens-core optics-core text
-       ];
-       testHaskellDepends = [
-         base doctest HUnit inspection-testing optics-core
-       ];
-       description = "Generically derive traversals, lenses and prisms";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ maralorn ];
-     }) {};
-
-  "generic-optics_2_2_1_0" = callPackage
-    ({ mkDerivation, base, doctest, generic-lens-core, HUnit
-     , inspection-testing, optics-core, text
-     }:
-     mkDerivation {
-       pname = "generic-optics";
        version = "2.2.1.0";
        sha256 = "1bw7bbkrd1sfshzx7v1nbdnkxc82krw96x7vnl7myz9748m4472z";
        libraryHaskellDepends = [
@@ -103632,7 +103099,6 @@ self: {
        ];
        description = "Generically derive traversals, lenses and prisms";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
@@ -103654,26 +103120,27 @@ self: {
     ({ mkDerivation, base, hspec }:
      mkDerivation {
        pname = "generic-override";
-       version = "0.2.0.0";
-       sha256 = "0hrya5rqdrgl66hm818v6jf11hfrvra242n1sdjypkv13zxzsk6x";
+       version = "0.4.0.0";
+       sha256 = "0d5hjbr19p0br3gbdpn5djjxrc30lx0hx6vvxhnk0v2s7m8dq86v";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec ];
        description = "Provides functionality for overriding instances for generic derivation";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "generic-override-aeson" = callPackage
     ({ mkDerivation, aeson, base, generic-override, hspec, text }:
      mkDerivation {
        pname = "generic-override-aeson";
-       version = "0.0.0.2";
-       sha256 = "1hgrxhfssxm4l0c98ffgc20lbzy34bbhzr4vg06vqg51m4620b25";
+       version = "0.4.0.0";
+       sha256 = "1dxh5g21wjvnaii32zp487pyn1p8dlwk7f5zrf5r8rikm7yawl5k";
        libraryHaskellDepends = [ aeson base generic-override ];
        testHaskellDepends = [ aeson base generic-override hspec text ];
        description = "Provides orphan instances necessary for integrating generic-override and aeson";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "generic-pretty" = callPackage
@@ -103700,27 +103167,12 @@ self: {
     ({ mkDerivation, base, deepseq, QuickCheck }:
      mkDerivation {
        pname = "generic-random";
-       version = "1.4.0.0";
-       sha256 = "12rvb1dzrfjc46n9vdcw3yv773iih8vwhrac3hpzq70yp2z77jdw";
-       revision = "1";
-       editedCabalFile = "0k8hk2fpm53x5788nvqy8pd1vgpdwidbz5syryf8imhqqq0837w1";
-       libraryHaskellDepends = [ base QuickCheck ];
-       testHaskellDepends = [ base deepseq QuickCheck ];
-       description = "Generic random generators for QuickCheck";
-       license = lib.licenses.mit;
-     }) {};
-
-  "generic-random_1_5_0_1" = callPackage
-    ({ mkDerivation, base, deepseq, QuickCheck }:
-     mkDerivation {
-       pname = "generic-random";
        version = "1.5.0.1";
        sha256 = "02iczjf2xc4sxfi234nf6irfj5slvf3p5hpaxl8r5nc8hy052d6x";
        libraryHaskellDepends = [ base QuickCheck ];
        testHaskellDepends = [ base deepseq QuickCheck ];
        description = "Generic random generators for QuickCheck";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "generic-records" = callPackage
@@ -103802,7 +103254,6 @@ self: {
        description = "Marshalling Haskell values to/from XML";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "generic-xmlpickler" = callPackage
@@ -104058,6 +103509,8 @@ self: {
        testHaskellDepends = [ base containers mtl template-haskell ];
        description = "Generate generalized fmap, foldMap and traverse";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "geniplate" = callPackage
@@ -104139,52 +103592,15 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity";
-       version = "0.11.0.2";
-       sha256 = "16bd5dx0ngc8z7mij23i2l3a8v3c112x8ksd623alik18zx7pi8j";
-       libraryHaskellDepends = [ base QuickCheck random validity ];
-       testHaskellDepends = [ base hspec hspec-core QuickCheck ];
-       description = "Testing utilities for the validity library";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity_1_0_0_1" = callPackage
-    ({ mkDerivation, base, hspec, hspec-core, QuickCheck, random
-     , validity
-     }:
-     mkDerivation {
-       pname = "genvalidity";
        version = "1.0.0.1";
        sha256 = "1rkrw46mhb4cvvg69avmbvsmssg5aii9g2kb4xqa9488jf8wz3m0";
        libraryHaskellDepends = [ base QuickCheck random validity ];
        testHaskellDepends = [ base hspec hspec-core QuickCheck ];
        description = "Testing utilities for the validity library";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "genvalidity-aeson" = callPackage
-    ({ mkDerivation, aeson, base, genvalidity, genvalidity-hspec
-     , genvalidity-scientific, genvalidity-text
-     , genvalidity-unordered-containers, genvalidity-vector, hspec
-     , QuickCheck, validity, validity-aeson
-     }:
-     mkDerivation {
-       pname = "genvalidity-aeson";
-       version = "0.3.0.0";
-       sha256 = "0l8n7k9v32izir9x0qrsnk4zkv3qhpghjzzpig4mk861cgycd42h";
-       libraryHaskellDepends = [
-         aeson base genvalidity genvalidity-scientific genvalidity-text
-         genvalidity-unordered-containers genvalidity-vector QuickCheck
-         validity validity-aeson
-       ];
-       testHaskellDepends = [
-         aeson base genvalidity genvalidity-hspec hspec
-       ];
-       description = "GenValidity support for aeson";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-aeson_1_0_0_0" = callPackage
     ({ mkDerivation, aeson, base, criterion, deepseq, genvalidity
      , genvalidity-criterion, genvalidity-hspec, genvalidity-scientific
      , genvalidity-text, genvalidity-unordered-containers
@@ -104217,31 +103633,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-bytestring";
-       version = "0.6.0.0";
-       sha256 = "0d15cjp4pxi7hb9nilbf88mia8sv3wzwxgy3kn46bvhz4w726z5d";
-       libraryHaskellDepends = [
-         base bytestring genvalidity QuickCheck random validity
-         validity-bytestring
-       ];
-       testHaskellDepends = [
-         base bytestring deepseq genvalidity genvalidity-hspec hspec
-         QuickCheck validity
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring criterion genvalidity genvalidity-criterion
-         QuickCheck
-       ];
-       description = "GenValidity support for ByteString";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-bytestring_1_0_0_0" = callPackage
-    ({ mkDerivation, base, bytestring, criterion, deepseq, genvalidity
-     , genvalidity-criterion, genvalidity-hspec, hspec, QuickCheck
-     , random, validity, validity-bytestring
-     }:
-     mkDerivation {
-       pname = "genvalidity-bytestring";
        version = "1.0.0.0";
        sha256 = "0bsi0y05pivyx14cvl7w46fgp1y5b53w2bk07q3vgzk079vfrcrg";
        libraryHaskellDepends = [
@@ -104258,7 +103649,6 @@ self: {
        ];
        description = "GenValidity support for ByteString";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "genvalidity-containers" = callPackage
@@ -104268,30 +103658,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-containers";
-       version = "0.9.0.0";
-       sha256 = "0g9drk60pf78j7qqh01a1yjqz93rv5irwhgi27qjda6siii5r3bk";
-       libraryHaskellDepends = [
-         base containers genvalidity QuickCheck validity validity-containers
-       ];
-       testHaskellDepends = [
-         base containers genvalidity genvalidity-hspec genvalidity-property
-         hspec QuickCheck validity validity-containers
-       ];
-       benchmarkHaskellDepends = [
-         base containers criterion genvalidity genvalidity-criterion
-         QuickCheck
-       ];
-       description = "GenValidity support for containers";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-containers_1_0_0_0" = callPackage
-    ({ mkDerivation, base, containers, criterion, genvalidity
-     , genvalidity-criterion, genvalidity-hspec, genvalidity-property
-     , hspec, QuickCheck, validity, validity-containers
-     }:
-     mkDerivation {
-       pname = "genvalidity-containers";
        version = "1.0.0.0";
        sha256 = "146nnn1k82js6vkgx3ys5nl251jbryqg1lvb56fd3849az68px3k";
        libraryHaskellDepends = [
@@ -104307,7 +103673,6 @@ self: {
        ];
        description = "GenValidity support for containers";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "genvalidity-criterion" = callPackage
@@ -104315,23 +103680,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-criterion";
-       version = "0.2.0.0";
-       sha256 = "1r28kqqwaaavchdncdwa4q52z3li5515rfa9wz5lcnyrscim62xg";
-       libraryHaskellDepends = [
-         base criterion deepseq genvalidity QuickCheck
-       ];
-       benchmarkHaskellDepends = [
-         base criterion genvalidity QuickCheck
-       ];
-       description = "Criterion benchmarks for generators";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-criterion_1_0_0_0" = callPackage
-    ({ mkDerivation, base, criterion, deepseq, genvalidity, QuickCheck
-     }:
-     mkDerivation {
-       pname = "genvalidity-criterion";
        version = "1.0.0.0";
        sha256 = "050i515v8wggamlnywmx93nlb8gqhnlf5qafsrn0gl5w8d82blc9";
        libraryHaskellDepends = [
@@ -104342,7 +103690,6 @@ self: {
        ];
        description = "Criterion benchmarks for generators";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "genvalidity-hspec" = callPackage
@@ -104351,25 +103698,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-hspec";
-       version = "0.7.0.4";
-       sha256 = "0aajx07n2rznyqxb0c4pn9j2cvkzw5brz9ki4grhhigbcri3jzmv";
-       libraryHaskellDepends = [
-         base genvalidity genvalidity-property hspec hspec-core QuickCheck
-         transformers validity
-       ];
-       testHaskellDepends = [
-         base genvalidity hspec hspec-core QuickCheck
-       ];
-       description = "Standard spec's for GenValidity instances";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-hspec_1_0_0_0" = callPackage
-    ({ mkDerivation, base, genvalidity, genvalidity-property, hspec
-     , hspec-core, QuickCheck, transformers, validity
-     }:
-     mkDerivation {
-       pname = "genvalidity-hspec";
        version = "1.0.0.0";
        sha256 = "1p00iphswnsaabcnjmvf4ahydpqg66zya4qfjb52bbz6cb7k06s7";
        libraryHaskellDepends = [
@@ -104381,7 +103709,6 @@ self: {
        ];
        description = "Standard spec's for GenValidity instances";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "genvalidity-hspec-aeson" = callPackage
@@ -104391,28 +103718,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-hspec-aeson";
-       version = "0.3.1.1";
-       sha256 = "1vqbvkjhq35jm3sr7g5jmwnalzcf8yy76fvd33x6gwayv78rp0ab";
-       libraryHaskellDepends = [
-         aeson base bytestring deepseq genvalidity genvalidity-hspec hspec
-         QuickCheck
-       ];
-       testHaskellDepends = [
-         aeson base genvalidity genvalidity-aeson genvalidity-hspec
-         genvalidity-property genvalidity-text hspec QuickCheck text
-         validity
-       ];
-       description = "Standard spec's for aeson-related instances";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-hspec-aeson_1_0_0_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, deepseq, genvalidity
-     , genvalidity-aeson, genvalidity-hspec, genvalidity-property
-     , genvalidity-text, hspec, QuickCheck, text, validity
-     }:
-     mkDerivation {
-       pname = "genvalidity-hspec-aeson";
        version = "1.0.0.0";
        sha256 = "18ga4g62z0fwkxbr2390dbmhpxpzczgz923gq0vvhnvc34r1vjh6";
        libraryHaskellDepends = [
@@ -104436,25 +103741,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-hspec-binary";
-       version = "0.2.0.4";
-       sha256 = "144gcr9hm89aqwr0fglnazc5biksdd7sv7qh0ivh56x7v80wd3r9";
-       libraryHaskellDepends = [
-         base binary deepseq genvalidity genvalidity-hspec hspec QuickCheck
-       ];
-       testHaskellDepends = [
-         base binary genvalidity genvalidity-property hspec validity
-       ];
-       description = "Standard spec's for binary-related Instances";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-hspec-binary_1_0_0_0" = callPackage
-    ({ mkDerivation, base, binary, deepseq, genvalidity
-     , genvalidity-hspec, genvalidity-property, hspec, QuickCheck
-     , validity
-     }:
-     mkDerivation {
-       pname = "genvalidity-hspec-binary";
        version = "1.0.0.0";
        sha256 = "08avm7kdx6y90mmms5hdq4xryg5jdca6bqfhzy9wrkr79q2jv4vc";
        libraryHaskellDepends = [
@@ -104465,7 +103751,6 @@ self: {
        ];
        description = "Standard spec's for binary-related Instances";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "genvalidity-hspec-cereal" = callPackage
@@ -104475,26 +103760,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-hspec-cereal";
-       version = "0.2.0.4";
-       sha256 = "0dyfx56cjila3l1nv199p12pi90hi9x27a97h5kqrkaxx5ca3czb";
-       libraryHaskellDepends = [
-         base cereal deepseq genvalidity genvalidity-hspec hspec QuickCheck
-       ];
-       testHaskellDepends = [
-         base cereal genvalidity genvalidity-property hspec QuickCheck
-         validity
-       ];
-       description = "Standard spec's for cereal-related instances";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-hspec-cereal_1_0_0_0" = callPackage
-    ({ mkDerivation, base, cereal, deepseq, genvalidity
-     , genvalidity-hspec, genvalidity-property, hspec, QuickCheck
-     , validity
-     }:
-     mkDerivation {
-       pname = "genvalidity-hspec-cereal";
        version = "1.0.0.0";
        sha256 = "1cj5jcgjyjf8ib7h8ldkjfwgdq4wzk7xkmxlmyyi37iscjpv32ni";
        libraryHaskellDepends = [
@@ -104506,7 +103771,6 @@ self: {
        ];
        description = "Standard spec's for cereal-related instances";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "genvalidity-hspec-hashable" = callPackage
@@ -104516,27 +103780,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-hspec-hashable";
-       version = "0.2.0.5";
-       sha256 = "1ia1kvr4by2yfzdrk89da028aqpqx4sp3lllra147q7bpjys0kry";
-       libraryHaskellDepends = [
-         base genvalidity genvalidity-hspec genvalidity-property hashable
-         hspec QuickCheck validity
-       ];
-       testHaskellDepends = [
-         base genvalidity genvalidity-hspec genvalidity-property hashable
-         hspec hspec-core QuickCheck validity
-       ];
-       description = "Standard spec's for Hashable instances";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-hspec-hashable_1_0_0_0" = callPackage
-    ({ mkDerivation, base, genvalidity, genvalidity-hspec
-     , genvalidity-property, hashable, hspec, hspec-core, QuickCheck
-     , validity
-     }:
-     mkDerivation {
-       pname = "genvalidity-hspec-hashable";
        version = "1.0.0.0";
        sha256 = "14fg796iivlpp4gqsmma9zf0z9iqk524ydyqmza83qrjh8v2ff5v";
        libraryHaskellDepends = [
@@ -104549,7 +103792,6 @@ self: {
        ];
        description = "Standard spec's for Hashable instances";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "genvalidity-hspec-optics" = callPackage
@@ -104558,25 +103800,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-hspec-optics";
-       version = "0.1.1.2";
-       sha256 = "1mh9s6q3zii6dpkli4zbmz89wly6bjfalvgs7jh5fvg36wv0c0a8";
-       libraryHaskellDepends = [
-         base genvalidity genvalidity-hspec hspec microlens QuickCheck
-       ];
-       testHaskellDepends = [
-         base genvalidity genvalidity-hspec genvalidity-property hspec
-         microlens validity
-       ];
-       description = "Standard spec's for lens";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-hspec-optics_1_0_0_0" = callPackage
-    ({ mkDerivation, base, genvalidity, genvalidity-hspec
-     , genvalidity-property, hspec, microlens, QuickCheck, validity
-     }:
-     mkDerivation {
-       pname = "genvalidity-hspec-optics";
        version = "1.0.0.0";
        sha256 = "1bhhhihk4r8q78l35dm4gm8kf5mjzpynawbcq9vzpq3ny9h7bxmr";
        libraryHaskellDepends = [
@@ -104588,7 +103811,6 @@ self: {
        ];
        description = "Standard spec's for lens";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "genvalidity-hspec-persistent" = callPackage
@@ -104598,26 +103820,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-hspec-persistent";
-       version = "0.0.0.1";
-       sha256 = "11wzwnhij2xbgka9sjdsh7yf9xk6vlm9g6j6amb0863sxs1vpjm0";
-       libraryHaskellDepends = [
-         base genvalidity genvalidity-hspec hspec persistent QuickCheck text
-       ];
-       testHaskellDepends = [
-         base genvalidity genvalidity-hspec genvalidity-property
-         genvalidity-text hspec persistent QuickCheck text validity
-       ];
-       description = "Standard spec's for persistent-related instances";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-hspec-persistent_1_0_0_0" = callPackage
-    ({ mkDerivation, base, genvalidity, genvalidity-hspec
-     , genvalidity-property, genvalidity-text, hspec, persistent
-     , QuickCheck, text, validity
-     }:
-     mkDerivation {
-       pname = "genvalidity-hspec-persistent";
        version = "1.0.0.0";
        sha256 = "131k8yibypaqb4pbwrm0ql6h2ywqchlm2w0rzmax9ylzg71vkm0z";
        libraryHaskellDepends = [
@@ -104629,7 +103831,6 @@ self: {
        ];
        description = "Standard spec's for persistent-related instances";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "genvalidity-mergeful" = callPackage
@@ -104640,31 +103841,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-mergeful";
-       version = "0.2.0.0";
-       sha256 = "0mzlsa2rxj5dsrkbvpsilkb895cqw11iswfvjkfnwmimm8wg7c8q";
-       libraryHaskellDepends = [
-         base containers genvalidity genvalidity-containers genvalidity-time
-         mergeful QuickCheck
-       ];
-       testHaskellDepends = [
-         base containers genvalidity-hspec genvalidity-hspec-aeson
-         genvalidity-uuid hspec mergeful mtl pretty-show QuickCheck random
-         time uuid
-       ];
-       benchmarkHaskellDepends = [
-         base criterion genvalidity-criterion mergeful
-       ];
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-mergeful_0_3_0_0" = callPackage
-    ({ mkDerivation, base, containers, criterion, genvalidity
-     , genvalidity-containers, genvalidity-criterion, genvalidity-hspec
-     , genvalidity-hspec-aeson, genvalidity-time, genvalidity-uuid
-     , hspec, mergeful, mtl, pretty-show, QuickCheck, random, time, uuid
-     }:
-     mkDerivation {
-       pname = "genvalidity-mergeful";
        version = "0.3.0.0";
        sha256 = "0dd22kdlydhdns86awmmzbnr9bwrb84623zcyb5b9aaxmq75ifza";
        libraryHaskellDepends = [
@@ -104692,32 +103868,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-mergeless";
-       version = "0.2.0.0";
-       sha256 = "02p71gnih7xcrbfkaw76jjppz19xjv41idbgwqr93lrjs2qdyj7h";
-       libraryHaskellDepends = [
-         base containers genvalidity genvalidity-containers genvalidity-time
-         mergeless QuickCheck
-       ];
-       testHaskellDepends = [
-         base containers genvalidity-hspec genvalidity-hspec-aeson
-         genvalidity-uuid hspec mergeless mtl pretty-show QuickCheck random
-         time uuid
-       ];
-       benchmarkHaskellDepends = [
-         base criterion genvalidity-criterion mergeless
-       ];
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-mergeless_0_3_0_0" = callPackage
-    ({ mkDerivation, base, containers, criterion, genvalidity
-     , genvalidity-containers, genvalidity-criterion, genvalidity-hspec
-     , genvalidity-hspec-aeson, genvalidity-time, genvalidity-uuid
-     , hspec, mergeless, mtl, pretty-show, QuickCheck, random, time
-     , uuid
-     }:
-     mkDerivation {
-       pname = "genvalidity-mergeless";
        version = "0.3.0.0";
        sha256 = "1glz1w7mpbwpn800khqd2jzigs19k6y0bxx7cid2zvzwrnhz6prl";
        libraryHaskellDepends = [
@@ -104743,26 +103893,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-path";
-       version = "0.3.0.4";
-       sha256 = "0sv059xwz0qrw5718qszh3h7n923xxq3klvzmfrr7k4k5q48513l";
-       libraryHaskellDepends = [
-         base genvalidity path QuickCheck validity-path
-       ];
-       testHaskellDepends = [ base genvalidity-hspec hspec path ];
-       benchmarkHaskellDepends = [
-         base criterion genvalidity genvalidity-criterion path QuickCheck
-       ];
-       description = "GenValidity support for Path";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-path_1_0_0_0" = callPackage
-    ({ mkDerivation, base, criterion, genvalidity
-     , genvalidity-criterion, genvalidity-hspec, hspec, path, QuickCheck
-     , validity-path
-     }:
-     mkDerivation {
-       pname = "genvalidity-path";
        version = "1.0.0.0";
        sha256 = "172gss10xl274s95l3ywgra32ldnl2a4gicc1xgi5q7v5zmj5gaa";
        libraryHaskellDepends = [
@@ -104774,7 +103904,6 @@ self: {
        ];
        description = "GenValidity support for Path";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "genvalidity-persistent" = callPackage
@@ -104785,34 +103914,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-persistent";
-       version = "0.0.0.0";
-       sha256 = "01gnwvfa1hlyr35rafvdb9rz8axbnqw7nl182wf6j4pjy40iff17";
-       libraryHaskellDepends = [
-         base containers genvalidity genvalidity-containers persistent
-         QuickCheck validity-containers validity-persistent
-       ];
-       testHaskellDepends = [
-         base genvalidity genvalidity-hspec hspec persistent
-         persistent-template QuickCheck validity-containers
-       ];
-       benchmarkHaskellDepends = [
-         base criterion deepseq genvalidity genvalidity-criterion persistent
-         persistent-template
-       ];
-       description = "GenValidity support for Persistent";
-       license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "genvalidity-persistent_1_0_0_0" = callPackage
-    ({ mkDerivation, base, containers, criterion, deepseq, genvalidity
-     , genvalidity-containers, genvalidity-criterion, genvalidity-hspec
-     , hspec, persistent, persistent-template, QuickCheck
-     , validity-containers, validity-persistent
-     }:
-     mkDerivation {
-       pname = "genvalidity-persistent";
        version = "1.0.0.0";
        sha256 = "0a03vgsi5px45838q6a4b4yckf7djdy3xwd4g85b2ik3psv9vgl9";
        libraryHaskellDepends = [
@@ -104829,27 +103930,9 @@ self: {
        ];
        description = "GenValidity support for Persistent";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "genvalidity-property" = callPackage
-    ({ mkDerivation, base, directory, doctest, filepath, genvalidity
-     , hspec, pretty-show, QuickCheck, validity
-     }:
-     mkDerivation {
-       pname = "genvalidity-property";
-       version = "0.5.0.1";
-       sha256 = "0cvzc4z4771vpycwfgcj0yswyglzl6cl1h2wrfhs224nrcmk5a7z";
-       libraryHaskellDepends = [
-         base genvalidity hspec pretty-show QuickCheck validity
-       ];
-       testHaskellDepends = [ base directory doctest filepath ];
-       description = "Standard properties for functions on `Validity` types";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-property_1_0_0_0" = callPackage
     ({ mkDerivation, base, genvalidity, hspec, pretty-show, QuickCheck
      , validity
      }:
@@ -104863,7 +103946,6 @@ self: {
        testHaskellDepends = [ base genvalidity hspec QuickCheck ];
        description = "Standard properties for functions on `Validity` types";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "genvalidity-scientific" = callPackage
@@ -104872,24 +103954,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-scientific";
-       version = "0.2.1.1";
-       sha256 = "1slcalgm79y7m5albya4n8bwv4721crr19iwvqkdy806rwr67dx9";
-       libraryHaskellDepends = [
-         base genvalidity QuickCheck scientific validity validity-scientific
-       ];
-       testHaskellDepends = [
-         base genvalidity genvalidity-hspec hspec QuickCheck scientific
-       ];
-       description = "GenValidity support for Scientific";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-scientific_1_0_0_0" = callPackage
-    ({ mkDerivation, base, genvalidity, genvalidity-hspec, hspec
-     , QuickCheck, scientific, validity, validity-scientific
-     }:
-     mkDerivation {
-       pname = "genvalidity-scientific";
        version = "1.0.0.0";
        sha256 = "0xi1a1jsby1dqv50lmpp98x2y5j9vaf3sl38spv5bnafyp1i6pmq";
        libraryHaskellDepends = [
@@ -104900,7 +103964,6 @@ self: {
        ];
        description = "GenValidity support for Scientific";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "genvalidity-sydtest" = callPackage
@@ -104909,23 +103972,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-sydtest";
-       version = "0.0.0.0";
-       sha256 = "1jgrhdjxin1zwgf2b03fpcfivyq30idnh2qcw3604bsq5cn0wca0";
-       libraryHaskellDepends = [
-         base genvalidity pretty-show QuickCheck sydtest validity
-       ];
-       testHaskellDepends = [ base genvalidity QuickCheck sydtest ];
-       testToolDepends = [ sydtest-discover ];
-       description = "Standard properties for functions on `Validity` types for the sydtest framework";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-sydtest_1_0_0_0" = callPackage
-    ({ mkDerivation, base, genvalidity, pretty-show, QuickCheck
-     , sydtest, sydtest-discover, validity
-     }:
-     mkDerivation {
-       pname = "genvalidity-sydtest";
        version = "1.0.0.0";
        sha256 = "11v66s8srcfigb4jkvz7nm0ynczg8mdslw4vn98qyv2j85sp6l45";
        libraryHaskellDepends = [
@@ -104945,28 +103991,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-sydtest-aeson";
-       version = "0.0.0.0";
-       sha256 = "1lpiinb06hl8y91nxp4n4id2vyxs3yww5wb5jczpr9fk1fbb6qbz";
-       libraryHaskellDepends = [
-         aeson base bytestring deepseq genvalidity genvalidity-sydtest
-         QuickCheck sydtest
-       ];
-       testHaskellDepends = [
-         aeson base genvalidity genvalidity-aeson genvalidity-sydtest
-         genvalidity-text QuickCheck sydtest text validity
-       ];
-       testToolDepends = [ sydtest-discover ];
-       description = "Standard spec's for aeson-related instances in sydtest";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-sydtest-aeson_1_0_0_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, deepseq, genvalidity
-     , genvalidity-aeson, genvalidity-sydtest, genvalidity-text
-     , QuickCheck, sydtest, sydtest-discover, text, validity
-     }:
-     mkDerivation {
-       pname = "genvalidity-sydtest-aeson";
        version = "1.0.0.0";
        sha256 = "1n8n07h5v7gwpfrfd8f4jir3d2331licmv78ih0i0qxwr87grv02";
        libraryHaskellDepends = [
@@ -104989,27 +104013,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-sydtest-hashable";
-       version = "0.0.0.0";
-       sha256 = "0ii3s69alncyrjz410d1cvx5rgdff1cyc9ddin0xrsrz23sxi06m";
-       libraryHaskellDepends = [
-         base genvalidity genvalidity-sydtest hashable QuickCheck sydtest
-         validity
-       ];
-       testHaskellDepends = [
-         base genvalidity genvalidity-sydtest hashable QuickCheck sydtest
-         validity
-       ];
-       testToolDepends = [ sydtest-discover ];
-       description = "Standard spec's for Hashable instances for sydtest";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-sydtest-hashable_1_0_0_0" = callPackage
-    ({ mkDerivation, base, genvalidity, genvalidity-sydtest, hashable
-     , QuickCheck, sydtest, sydtest-discover, validity
-     }:
-     mkDerivation {
-       pname = "genvalidity-sydtest-hashable";
        version = "1.0.0.0";
        sha256 = "05482ynm19k9wj0hvvlfimvdng1wkl35409lp1r6vj02b7ml4i2z";
        libraryHaskellDepends = [
@@ -105032,25 +104035,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-sydtest-lens";
-       version = "0.0.0.0";
-       sha256 = "1f8wb0pa703r6hgdbhi343rfjcf2q78qfn6x3dmc94d3vd17wyvj";
-       libraryHaskellDepends = [
-         base genvalidity genvalidity-sydtest microlens QuickCheck sydtest
-       ];
-       testHaskellDepends = [
-         base genvalidity genvalidity-sydtest microlens sydtest validity
-       ];
-       testToolDepends = [ sydtest-discover ];
-       description = "Standard spec's for lens for sydtest";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-sydtest-lens_1_0_0_0" = callPackage
-    ({ mkDerivation, base, genvalidity, genvalidity-sydtest, microlens
-     , QuickCheck, sydtest, sydtest-discover, validity
-     }:
-     mkDerivation {
-       pname = "genvalidity-sydtest-lens";
        version = "1.0.0.0";
        sha256 = "0yvgbyhbf8mbqy6hil8g1zk1l0zgjnrw3y3cydnqvvbvka5h7jm9";
        libraryHaskellDepends = [
@@ -105072,28 +104056,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-sydtest-persistent";
-       version = "0.0.0.1";
-       sha256 = "07y7478lcmpb44bwj7pppv4pfb44wh9hynwawx1czkjf6jnggwcm";
-       libraryHaskellDepends = [
-         base genvalidity genvalidity-sydtest persistent QuickCheck sydtest
-         text
-       ];
-       testHaskellDepends = [
-         base genvalidity genvalidity-sydtest genvalidity-text persistent
-         QuickCheck sydtest text validity
-       ];
-       testToolDepends = [ sydtest-discover ];
-       description = "Standard spec's for persistent-related instances for sydtest";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-sydtest-persistent_1_0_0_0" = callPackage
-    ({ mkDerivation, base, genvalidity, genvalidity-sydtest
-     , genvalidity-text, persistent, QuickCheck, sydtest
-     , sydtest-discover, text, validity
-     }:
-     mkDerivation {
-       pname = "genvalidity-sydtest-persistent";
        version = "1.0.0.0";
        sha256 = "1njjwl9x7kirvzxpqpdw5gzfba1ixxx8z3ji3yn3fvhm8rkswfyp";
        libraryHaskellDepends = [
@@ -105117,31 +104079,8 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-text";
-       version = "0.7.0.2";
-       sha256 = "0p2g8qffg3ajzvjs5vxz558ch94aqqxjvqddwgy1apcxaa933j9c";
-       libraryHaskellDepends = [
-         array base genvalidity QuickCheck random text validity
-         validity-text
-       ];
-       testHaskellDepends = [
-         base genvalidity genvalidity-hspec hspec QuickCheck text
-       ];
-       benchmarkHaskellDepends = [
-         base criterion genvalidity genvalidity-criterion QuickCheck text
-       ];
-       description = "GenValidity support for Text";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-text_1_0_0_0" = callPackage
-    ({ mkDerivation, array, base, criterion, genvalidity
-     , genvalidity-criterion, genvalidity-hspec, hspec, QuickCheck
-     , random, text, validity, validity-text
-     }:
-     mkDerivation {
-       pname = "genvalidity-text";
-       version = "1.0.0.0";
-       sha256 = "1gr5wqp2rph212hz60kk94wp14p7pwrhay8vlg2b8g40ixai8qw6";
+       version = "1.0.0.1";
+       sha256 = "1qrvalpk5r5bwx9x0p7g5w4wa9lpdn55h0a8g64wnxjxwi9r9qcn";
        libraryHaskellDepends = [
          array base genvalidity QuickCheck random text validity
          validity-text
@@ -105154,7 +104093,6 @@ self: {
        ];
        description = "GenValidity support for Text";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "genvalidity-time" = callPackage
@@ -105164,26 +104102,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-time";
-       version = "0.3.0.0";
-       sha256 = "1za9sgwjm1vlp1q12dj0fmrvph6xcgnalvvjsxqvg9p7p6s9avnw";
-       libraryHaskellDepends = [
-         base genvalidity QuickCheck time validity-time
-       ];
-       testHaskellDepends = [ base genvalidity-hspec hspec time ];
-       benchmarkHaskellDepends = [
-         base criterion genvalidity-criterion time
-       ];
-       description = "GenValidity support for time";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-time_1_0_0_0" = callPackage
-    ({ mkDerivation, base, criterion, genvalidity
-     , genvalidity-criterion, genvalidity-hspec, hspec, QuickCheck, time
-     , validity-time
-     }:
-     mkDerivation {
-       pname = "genvalidity-time";
        version = "1.0.0.0";
        sha256 = "15xj7x915524h0hi9b6c7y6imwkv3g7b10cr7wx8yaysh5d1cx7r";
        libraryHaskellDepends = [
@@ -105195,7 +104113,6 @@ self: {
        ];
        description = "GenValidity support for time";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "genvalidity-typed-uuid" = callPackage
@@ -105205,30 +104122,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-typed-uuid";
-       version = "0.0.0.2";
-       sha256 = "16h2y11mn2p11pgqkabip0xgwfx1am8s9ja8qikz27jb87x1q410";
-       libraryHaskellDepends = [
-         base genvalidity genvalidity-uuid QuickCheck typed-uuid
-       ];
-       testHaskellDepends = [
-         base genvalidity genvalidity-hspec genvalidity-hspec-aeson
-         genvalidity-uuid hspec QuickCheck typed-uuid
-       ];
-       benchmarkHaskellDepends = [
-         base criterion genvalidity genvalidity-criterion genvalidity-uuid
-         QuickCheck typed-uuid
-       ];
-       description = "Generators for Phantom-Typed version of UUID";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-typed-uuid_0_1_0_1" = callPackage
-    ({ mkDerivation, base, criterion, genvalidity
-     , genvalidity-criterion, genvalidity-hspec, genvalidity-hspec-aeson
-     , genvalidity-uuid, hspec, QuickCheck, typed-uuid
-     }:
-     mkDerivation {
-       pname = "genvalidity-typed-uuid";
        version = "0.1.0.1";
        sha256 = "18lfvw9slpgpng80mcj7mh7pfpl4xdyn9cfydafb7yq5lyr1vkym";
        libraryHaskellDepends = [
@@ -105254,27 +104147,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-unordered-containers";
-       version = "0.3.0.1";
-       sha256 = "11f8j256944c96h1p5av9c2y4czmh7wkdmi70m3y2gd6cz24jgn2";
-       libraryHaskellDepends = [
-         base genvalidity hashable QuickCheck unordered-containers validity
-         validity-unordered-containers
-       ];
-       testHaskellDepends = [
-         base genvalidity genvalidity-hspec hspec unordered-containers
-         validity
-       ];
-       description = "GenValidity support for unordered-containers";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-unordered-containers_1_0_0_0" = callPackage
-    ({ mkDerivation, base, genvalidity, genvalidity-hspec, hashable
-     , hspec, QuickCheck, unordered-containers, validity
-     , validity-unordered-containers
-     }:
-     mkDerivation {
-       pname = "genvalidity-unordered-containers";
        version = "1.0.0.0";
        sha256 = "1sd67x2kw7l0kbsaa67x3an94sv1hvnkbb8r42v36cc5jjaw29dk";
        libraryHaskellDepends = [
@@ -105287,7 +104159,6 @@ self: {
        ];
        description = "GenValidity support for unordered-containers";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "genvalidity-uuid" = callPackage
@@ -105297,28 +104168,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-uuid";
-       version = "0.1.0.4";
-       sha256 = "02iln9qvcqmsjljflfrq8jckch8pvsarjb6lx0bkk7j3cw2cgn2r";
-       libraryHaskellDepends = [
-         base genvalidity QuickCheck uuid validity validity-uuid
-       ];
-       testHaskellDepends = [
-         base genvalidity genvalidity-hspec hspec QuickCheck uuid
-       ];
-       benchmarkHaskellDepends = [
-         base criterion genvalidity genvalidity-criterion QuickCheck uuid
-       ];
-       description = "GenValidity support for UUID";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-uuid_1_0_0_0" = callPackage
-    ({ mkDerivation, base, criterion, genvalidity
-     , genvalidity-criterion, genvalidity-hspec, hspec, QuickCheck, uuid
-     , validity, validity-uuid
-     }:
-     mkDerivation {
-       pname = "genvalidity-uuid";
        version = "1.0.0.0";
        sha256 = "1w53ziz3zbm4dv64gr60md5riis28bi3lrznzsrjyvd6nngxx460";
        libraryHaskellDepends = [
@@ -105332,7 +104181,6 @@ self: {
        ];
        description = "GenValidity support for UUID";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "genvalidity-vector" = callPackage
@@ -105341,24 +104189,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-vector";
-       version = "0.3.0.1";
-       sha256 = "0y3msx28w15zy35x7w4p88xp5s1jy6p4gm3msviciy2swnm79vr0";
-       libraryHaskellDepends = [
-         base genvalidity QuickCheck validity validity-vector vector
-       ];
-       testHaskellDepends = [
-         base genvalidity genvalidity-hspec hspec vector
-       ];
-       description = "GenValidity support for vector";
-       license = lib.licenses.mit;
-     }) {};
-
-  "genvalidity-vector_1_0_0_0" = callPackage
-    ({ mkDerivation, base, genvalidity, genvalidity-hspec, hspec
-     , QuickCheck, validity, validity-vector, vector
-     }:
-     mkDerivation {
-       pname = "genvalidity-vector";
        version = "1.0.0.0";
        sha256 = "1l2zjbfjg05xxxgn359zfj93yx26zcz9xlayw2jf9brwv8wx23gy";
        libraryHaskellDepends = [
@@ -105369,7 +104199,6 @@ self: {
        ];
        description = "GenValidity support for vector";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "geo-resolver" = callPackage
@@ -105436,6 +104265,8 @@ self: {
        ];
        description = "Geocoding using the Google Web API";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "geodetic" = callPackage
@@ -105485,8 +104316,6 @@ self: {
        ];
        description = "Terrestrial coordinate systems and geodetic calculations";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "geohash" = callPackage
@@ -105506,8 +104335,8 @@ self: {
      }:
      mkDerivation {
        pname = "geoip2";
-       version = "0.4.1.0";
-       sha256 = "06sbiyqy63ymqafdw14yz6aww412v3g6vsqq0v99vph3yzhn8xxp";
+       version = "0.4.1.1";
+       sha256 = "1fnjqsc9pcgs8l9pg28cdm95pvxlyrnykxllwflzyvgzd1idk42z";
        libraryHaskellDepends = [
          base bytestring cereal containers iproute lens mmap
          reinterpret-cast text
@@ -105517,21 +104346,21 @@ self: {
      }) {};
 
   "geojson" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, deepseq
-     , hlint, lens, scientific, semigroups, tasty, tasty-hspec
-     , tasty-quickcheck, text, transformers, validation, vector
+    ({ mkDerivation, aeson, base, bytestring, containers, deepseq, lens
+     , scientific, semigroups, tasty, tasty-hspec, tasty-quickcheck
+     , text, transformers, validation, vector
      }:
      mkDerivation {
        pname = "geojson";
-       version = "4.0.4";
-       sha256 = "1a488bbm3hh5hz5i99xj697951c0ni0ynp5x44d7srhf08z1zgjm";
+       version = "4.1.0";
+       sha256 = "1p8vl13g9axbqqj3qbl453p4qwwmz0xjhpa5vmlk1fjznr04mdx6";
        libraryHaskellDepends = [
          aeson base containers deepseq lens scientific semigroups text
          transformers validation vector
        ];
        testHaskellDepends = [
-         aeson base bytestring containers hlint tasty tasty-hspec
-         tasty-quickcheck text validation
+         aeson base bytestring containers tasty tasty-hspec tasty-quickcheck
+         text validation
        ];
        description = "A thin GeoJSON Layer above the aeson library";
        license = lib.licenses.bsd3;
@@ -105627,8 +104456,8 @@ self: {
      }:
      mkDerivation {
        pname = "gerrit";
-       version = "0.1.4.0";
-       sha256 = "0d5hqjygh3dcqknbiyj4pwis46sygl2a7gkb6aqfb46nxz11a5r7";
+       version = "0.1.5.0";
+       sha256 = "0cxl0shwjz81c4inqqan6akxnwxx8i0yalwxd7xbizn55268rmcg";
        libraryHaskellDepends = [
          aeson aeson-casing base bytestring containers http-client
          http-client-openssl text time
@@ -105734,6 +104563,8 @@ self: {
        preBuild = ''export LD_LIBRARY_PATH=`pwd`/dist/build''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH'';
        description = "Grammatical Framework";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ggtsTC" = callPackage
@@ -105790,26 +104621,25 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "ghc_9_2_1" = callPackage
+  "ghc_9_2_2" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , deepseq, directory, exceptions, filepath, ghc-boot, ghc-heap
-     , ghci, hpc, parsec, process, template-haskell, terminfo, time
-     , transformers, unbuildable, unix
+     , ghci, hpc, process, template-haskell, terminfo, time
+     , transformers, unix
      }:
      mkDerivation {
        pname = "ghc";
-       version = "9.2.1";
-       sha256 = "0zj1bvrhbkxhnbzia9lcwz9h8d7vrcfddiqfvycbz77sr30505kx";
+       version = "9.2.2";
+       sha256 = "125cx0zycc5gkj6awg5lgc6zhlr0iklw18g20dhpbgiyzplx2gqb";
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory
-         exceptions filepath ghc-boot ghc-heap ghci hpc parsec process
-         template-haskell terminfo time transformers unbuildable unix
+         exceptions filepath ghc-boot ghc-heap ghci hpc process
+         template-haskell terminfo time transformers unix
        ];
        description = "The GHC API";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {unbuildable = null;};
+     }) {};
 
   "ghc-api-compat_8_6" = callPackage
     ({ mkDerivation, ghc }:
@@ -105826,7 +104656,7 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "ghc-api-compat" = callPackage
+  "ghc-api-compat_8_10_7" = callPackage
     ({ mkDerivation, base, ghc }:
      mkDerivation {
        pname = "ghc-api-compat";
@@ -105836,9 +104666,10 @@ self: {
        doHaddock = false;
        description = "GHC-API compatibility helpers";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "ghc-api-compat_9_0_1" = callPackage
+  "ghc-api-compat" = callPackage
     ({ mkDerivation, base, containers, ghc }:
      mkDerivation {
        pname = "ghc-api-compat";
@@ -105847,17 +104678,6 @@ self: {
        libraryHaskellDepends = [ base containers ghc ];
        description = "GHC-API compatibility helpers";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
-  "ghc-bignum" = callPackage
-    ({ mkDerivation }:
-     mkDerivation {
-       pname = "ghc-bignum";
-       version = "1.0";
-       sha256 = "0xl848q8z6qx2bi6xil0d35lra7wshwvysyfblki659d7272b1im";
-       description = "GHC BigNum library";
-       license = lib.licenses.bsd3;
      }) {};
 
   "ghc-bignum_1_2" = callPackage
@@ -105880,33 +104700,31 @@ self: {
        libraryHaskellDepends = [ base ghc-bignum ];
        description = "Backwards-compatible orphan instances for ghc-bignum";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
-  "ghc-boot_9_2_1" = callPackage
+  "ghc-boot_9_2_2" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, deepseq
-     , directory, filepath, ghc-boot-th
+     , directory, filepath, ghc-boot-th, unix
      }:
      mkDerivation {
        pname = "ghc-boot";
-       version = "9.2.1";
-       sha256 = "1i1rr219jsfi23j6ynzx7r1r2si3q2pp89hld56c7wcvqcwa2b77";
+       version = "9.2.2";
+       sha256 = "0wdyaj8w08r20j4if5v3d5wh3b1f5lwdvw3wk0lx7scxz7xzs9fq";
        libraryHaskellDepends = [
          base binary bytestring containers deepseq directory filepath
-         ghc-boot-th
+         ghc-boot-th unix
        ];
        description = "Shared functionality between GHC and its boot libraries";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "ghc-boot-th_9_2_1" = callPackage
+  "ghc-boot-th_9_2_2" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "ghc-boot-th";
-       version = "9.2.1";
-       sha256 = "1qv0lzaxlwxb2hswgjcryk9d7zk0163yd1fa2sgv4jd6ycn9yxh5";
+       version = "9.2.2";
+       sha256 = "06rgdq07fkkzhfkq29nxmqiiy9ndbzb5dgij7flz113bdskq88i3";
        libraryHaskellDepends = [ base ];
        description = "Shared functionality between GHC and the @template-haskell@ library";
        license = lib.licenses.bsd3;
@@ -106038,13 +104856,24 @@ self: {
        broken = true;
      }) {};
 
+  "ghc-corroborate" = callPackage
+    ({ mkDerivation, base, ghc, ghc-tcplugins-extra }:
+     mkDerivation {
+       pname = "ghc-corroborate";
+       version = "0.1.0";
+       sha256 = "0p7vnn0hyyk5d1bm10hxckzh8dga9b39n4cmcbfdb6h5schgcjdy";
+       libraryHaskellDepends = [ base ghc ghc-tcplugins-extra ];
+       description = "An flatter API for GHC typechecker plugins";
+       license = lib.licenses.mpl20;
+     }) {};
+
   "ghc-datasize" = callPackage
-    ({ mkDerivation, base, deepseq, ghc-prim }:
+    ({ mkDerivation, base, deepseq, ghc-heap, ghc-prim }:
      mkDerivation {
        pname = "ghc-datasize";
-       version = "0.2.5";
-       sha256 = "1n8pz93lga1mizla91fwz16gd0831wjqskqbk0qr4m585zpzhh4d";
-       libraryHaskellDepends = [ base deepseq ghc-prim ];
+       version = "0.2.6";
+       sha256 = "0nprk7mzr6n63ihjdqrs2kd16hzl72n04zi3hpsjlszy8gzizqg5";
+       libraryHaskellDepends = [ base deepseq ghc-heap ghc-prim ];
        description = "Determine the size of data structures in GHC's memory";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -106084,6 +104913,8 @@ self: {
        pname = "ghc-debug-client";
        version = "0.2.0.0";
        sha256 = "1v0hmvf5larppyx52fhvpwjbzjhn6rl9f5naikqmljp37dv503na";
+       revision = "1";
+       editedCabalFile = "0m2dqp89zwl3hwyvbw71wzh2h939cch5rkx3h4aabcaqj71qi9gi";
        libraryHaskellDepends = [
          async base binary bitwise containers directory dom-lt eventlog2html
          filepath ghc-debug-common ghc-debug-convention ghc-prim hashable
@@ -106104,6 +104935,8 @@ self: {
        pname = "ghc-debug-common";
        version = "0.2.0.0";
        sha256 = "1fw9whgh2zayvaagn1f7x1qkwvznpjhpn4zkfnfav24pkmpf5ijy";
+       revision = "1";
+       editedCabalFile = "0p4n8ralbf8jsydjb1q42avrzya09hf0pq5zp1s1ggx3gm3q7ra8";
        libraryHaskellDepends = [
          array base binary bytestring containers cpu deepseq directory
          dom-lt filepath ghc-debug-convention ghc-heap hashable transformers
@@ -106167,6 +105000,8 @@ 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
@@ -106215,6 +105050,7 @@ self: {
        ];
        description = "Handy tools for working with ghc-dump dumps";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ghc-dup" = callPackage
@@ -106236,25 +105072,6 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-events";
-       version = "0.17.0.1";
-       sha256 = "1jbfl8wprbrc1pwiw2dv70add9pssqrfllhn1zgic1vks15q37sr";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         array base binary bytestring containers text vector
-       ];
-       executableHaskellDepends = [ base containers ];
-       testHaskellDepends = [ base ];
-       description = "Library and tool for parsing .eventlog files from GHC";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "ghc-events_0_17_0_2" = callPackage
-    ({ mkDerivation, array, base, binary, bytestring, containers, text
-     , vector
-     }:
-     mkDerivation {
-       pname = "ghc-events";
        version = "0.17.0.2";
        sha256 = "0dkzxpfiqpd1i1lhrssp1b242111228ap113iavarr9hb7y8rl72";
        isLibrary = true;
@@ -106266,7 +105083,6 @@ self: {
        testHaskellDepends = [ base ];
        description = "Library and tool for parsing .eventlog files from GHC";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ghc-events-analyze" = callPackage
@@ -106529,15 +105345,15 @@ self: {
        broken = true;
      }) {};
 
-  "ghc-lib" = callPackage
+  "ghc-lib_8_10_7_20220219" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, filepath, ghc-lib-parser, ghc-prim, happy
      , hpc, pretty, process, rts, time, transformers, unix
      }:
      mkDerivation {
        pname = "ghc-lib";
-       version = "8.10.7.20210828";
-       sha256 = "1p0svqh9dnpia9ddp6z9v1k5b68jc70181v69adr8rqzk0dl4i40";
+       version = "8.10.7.20220219";
+       sha256 = "0s6llxxw4gqa73xdwdiyzdr3rrpmz85zjif964w039clpl4g16rx";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
@@ -106547,9 +105363,10 @@ self: {
        libraryToolDepends = [ alex happy ];
        description = "The GHC API, decoupled from GHC versions";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "ghc-lib_9_0_2_20211226" = callPackage
+  "ghc-lib" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, exceptions, filepath, ghc-lib-parser
      , ghc-prim, happy, hpc, parsec, pretty, process, rts, time
@@ -106568,10 +105385,9 @@ self: {
        libraryToolDepends = [ alex happy ];
        description = "The GHC API, decoupled from GHC versions";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "ghc-lib_9_2_1_20220109" = callPackage
+  "ghc-lib_9_2_2_20220307" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, exceptions, filepath, ghc-lib-parser
      , ghc-prim, happy, hpc, parsec, pretty, process, rts, time
@@ -106579,8 +105395,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-lib";
-       version = "9.2.1.20220109";
-       sha256 = "0858r81w2al9h9q53z4paqkf3fvxraf3ghvb4ga4kilxiq5rp8z6";
+       version = "9.2.2.20220307";
+       sha256 = "0hcm4px40791rnfxaxmkwaydgsp43vnka02jj3bq57jylklvr0y4";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory
@@ -106593,15 +105409,15 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "ghc-lib-parser" = callPackage
+  "ghc-lib-parser_8_10_7_20220219" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, filepath, ghc-prim, happy, pretty, process
      , time, transformers, unix
      }:
      mkDerivation {
        pname = "ghc-lib-parser";
-       version = "8.10.7.20210828";
-       sha256 = "178v4f7q9ndqmlhg2vhlk6ifm3ilajlrz8iw84vggzs7rp0fnlx0";
+       version = "8.10.7.20220219";
+       sha256 = "0caiv5nj1xxgzbimppy6hbakdplh3aacdg8g4ba3ssr5ba25rxbh";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
@@ -106610,9 +105426,10 @@ self: {
        libraryToolDepends = [ alex happy ];
        description = "The GHC API, decoupled from GHC versions";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "ghc-lib-parser_9_0_2_20211226" = callPackage
+  "ghc-lib-parser" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, exceptions, filepath, ghc-prim, happy, parsec
      , pretty, process, time, transformers, unix
@@ -106630,18 +105447,17 @@ self: {
        libraryToolDepends = [ alex happy ];
        description = "The GHC API, decoupled from GHC versions";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "ghc-lib-parser_9_2_1_20220109" = callPackage
+  "ghc-lib-parser_9_2_2_20220307" = 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.1.20220109";
-       sha256 = "0scm320w19lm40y2i1858h24704s9hvci37pxmlraxa0virjhcx6";
+       version = "9.2.2.20220307";
+       sha256 = "123bkxir6qrhyxjzlv3vm1p8wiah24i1r4ary79lhp14phyv5x46";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory
@@ -106654,54 +105470,54 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "ghc-lib-parser-ex" = callPackage
+  "ghc-lib-parser-ex_8_10_0_24" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, extra
-     , filepath, ghc, ghc-boot, ghc-boot-th, tasty, tasty-hunit
-     , uniplate
+     , filepath, ghc-lib-parser, tasty, tasty-hunit, uniplate
      }:
      mkDerivation {
        pname = "ghc-lib-parser-ex";
-       version = "8.10.0.23";
-       sha256 = "0r5sl7hhn0cxp0b1dskx1lshplc0yka7hcvs2nh10nrj07fjd3vj";
+       version = "8.10.0.24";
+       sha256 = "0miy1rrpg93r7xgpsmgfgx9djsg8fds2w7c6js4mvbjh3bsjdcpl";
        libraryHaskellDepends = [
-         base bytestring containers ghc ghc-boot ghc-boot-th uniplate
+         base bytestring containers ghc-lib-parser uniplate
        ];
        testHaskellDepends = [
-         base directory extra filepath ghc ghc-boot ghc-boot-th tasty
-         tasty-hunit uniplate
+         base directory extra filepath ghc-lib-parser tasty tasty-hunit
+         uniplate
        ];
        description = "Algorithms on GHC parse trees";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "ghc-lib-parser-ex_9_0_0_6" = callPackage
+  "ghc-lib-parser-ex" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, extra
-     , filepath, ghc-lib-parser, tasty, tasty-hunit, uniplate
+     , filepath, ghc, ghc-boot, ghc-boot-th, tasty, tasty-hunit
+     , uniplate
      }:
      mkDerivation {
        pname = "ghc-lib-parser-ex";
        version = "9.0.0.6";
        sha256 = "1lqhddx4sw2d407q12ny1ims4khjxgajlk07wvrw0wcgmx91dmc7";
        libraryHaskellDepends = [
-         base bytestring containers ghc-lib-parser uniplate
+         base bytestring containers ghc ghc-boot ghc-boot-th uniplate
        ];
        testHaskellDepends = [
-         base directory extra filepath ghc-lib-parser tasty tasty-hunit
-         uniplate
+         base directory extra filepath ghc ghc-boot ghc-boot-th tasty
+         tasty-hunit uniplate
        ];
        description = "Algorithms on GHC parse trees";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "ghc-lib-parser-ex_9_2_0_1" = callPackage
+  "ghc-lib-parser-ex_9_2_0_3" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, extra
      , filepath, ghc-lib-parser, tasty, tasty-hunit, uniplate
      }:
      mkDerivation {
        pname = "ghc-lib-parser-ex";
-       version = "9.2.0.1";
-       sha256 = "0jpxqvvryf6s5rwghb23lhhslg9d5wg3cba0iz6kg9b2q5zb1skk";
+       version = "9.2.0.3";
+       sha256 = "178cgr279716gpnlsky99qasmk9jma2jdsk8xfnhk6ibm1p5gfbv";
        libraryHaskellDepends = [
          base bytestring containers ghc-lib-parser uniplate
        ];
@@ -106803,6 +105619,8 @@ self: {
        ];
        description = "An mtl compatible version of the Ghc-Api monads and monad-transformers";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ghc-options" = callPackage
@@ -106967,6 +105785,8 @@ 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
@@ -107058,7 +105878,6 @@ self: {
        description = "Simplified GHC API";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ghc-simple" = callPackage
@@ -107138,8 +105957,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-syntax-highlighter";
-       version = "0.0.6.0";
-       sha256 = "1dxm4w44y339flwl4ivsmvml3nvzzlxq585by9mm7j56ljlb4aja";
+       version = "0.0.7.0";
+       sha256 = "123kvcdlzx18n14122xbpp587byfd8w0z886grlxkzinb53bmzg6";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base ghc-lib-parser text ];
        testHaskellDepends = [ base hspec text ];
@@ -107167,21 +105986,19 @@ self: {
   "ghc-tags" = callPackage
     ({ mkDerivation, aeson, async, attoparsec, base, bytestring
      , containers, deepseq, directory, filepath, ghc-lib, ghc-paths
-     , optparse-applicative, process, stm, temporary, text, time
-     , unordered-containers, vector, yaml
+     , optparse-applicative, process, stm, temporary, text, time, vector
+     , yaml
      }:
      mkDerivation {
        pname = "ghc-tags";
-       version = "1.3";
-       sha256 = "1fshj5zdnhr879c9q48mb89f1fidc2skgmgi385sa5r8wxn1ili0";
-       revision = "1";
-       editedCabalFile = "000haj96zlg110hxi1hi9vpcyg8w4xkm24d1xbcccn71grvhig5i";
+       version = "1.4";
+       sha256 = "16sdryia97ap99snpzkaf59gxz0g4w100jf4h7lv0pvq460nfjm4";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          aeson async attoparsec base bytestring containers deepseq directory
          filepath ghc-lib ghc-paths optparse-applicative process stm
-         temporary text time unordered-containers vector yaml
+         temporary text time vector yaml
        ];
        description = "Utility for generating ctags and etags with GHC API";
        license = lib.licenses.mpl20;
@@ -107250,8 +106067,6 @@ self: {
        libraryHaskellDepends = [ base ghc transformers ];
        description = "An API for type-checker plugins";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ghc-tcplugins-extra" = callPackage
@@ -107301,8 +106116,8 @@ self: {
     ({ mkDerivation, base, bytestring, tasty-bench, text }:
      mkDerivation {
        pname = "ghc-trace-events";
-       version = "0.1.2.4";
-       sha256 = "1wwpq89bvgzfzrzvidyqk2953hcc9p9xz0vrb62vhgs6k885b90n";
+       version = "0.1.2.5";
+       sha256 = "1whhadv077c0kgz4c3jwrynjkamgkc4rinf0pd18m3d3bdk27w0k";
        libraryHaskellDepends = [ base bytestring text ];
        benchmarkHaskellDepends = [ base bytestring tasty-bench ];
        description = "Faster traceEvent and traceMarker, and binary object logging for eventlog";
@@ -107310,10 +106125,9 @@ self: {
      }) {};
 
   "ghc-typelits-extra" = callPackage
-    ({ mkDerivation, base, containers, ghc, ghc-prim
+    ({ mkDerivation, base, containers, ghc, ghc-bignum, ghc-prim
      , ghc-tcplugins-extra, ghc-typelits-knownnat
-     , ghc-typelits-natnormalise, integer-gmp, tasty, tasty-hunit
-     , transformers
+     , ghc-typelits-natnormalise, tasty, tasty-hunit, transformers
      }:
      mkDerivation {
        pname = "ghc-typelits-extra";
@@ -107322,9 +106136,8 @@ self: {
        revision = "1";
        editedCabalFile = "0m6z24zmi169zifz1jg4zri0izr5z37qx33c9mphy74vd6ds3zzz";
        libraryHaskellDepends = [
-         base containers ghc ghc-prim ghc-tcplugins-extra
-         ghc-typelits-knownnat ghc-typelits-natnormalise integer-gmp
-         transformers
+         base containers ghc ghc-bignum ghc-prim ghc-tcplugins-extra
+         ghc-typelits-knownnat ghc-typelits-natnormalise transformers
        ];
        testHaskellDepends = [
          base ghc-typelits-knownnat ghc-typelits-natnormalise tasty
@@ -107355,8 +106168,9 @@ self: {
      }) {};
 
   "ghc-typelits-natnormalise" = callPackage
-    ({ mkDerivation, base, containers, ghc, ghc-tcplugins-extra
-     , integer-gmp, tasty, tasty-hunit, template-haskell, transformers
+    ({ mkDerivation, base, containers, ghc, ghc-bignum
+     , ghc-tcplugins-extra, tasty, tasty-hunit, template-haskell
+     , transformers
      }:
      mkDerivation {
        pname = "ghc-typelits-natnormalise";
@@ -107365,7 +106179,7 @@ self: {
        revision = "1";
        editedCabalFile = "1b587pryjkbvgayqwm8cn7ljmcyd4jikrxxkgm6zq1v9qhi7xy22";
        libraryHaskellDepends = [
-         base containers ghc ghc-tcplugins-extra integer-gmp transformers
+         base containers ghc ghc-bignum ghc-tcplugins-extra transformers
        ];
        testHaskellDepends = [ base tasty tasty-hunit template-haskell ];
        description = "GHC typechecker plugin for types of kind GHC.TypeLits.Nat";
@@ -107442,6 +106256,8 @@ self: {
        libraryHaskellDepends = [ base directory ghc time ];
        description = "Dump the ghc flags during compilation";
        license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ghci_8_10_2" = callPackage
@@ -107661,8 +106477,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghcide";
-       version = "1.6.0.0";
-       sha256 = "0clmpgkywzrgsnmawi5l1n2hgymrkyijpqkqc38xsgxf8nsvmh8c";
+       version = "1.6.0.1";
+       sha256 = "14k1x54kk27yaaw8n0iq1kq1hl4j417bgbvdiy0a6zg6h7rdnwzw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -107745,6 +106561,8 @@ self: {
        ];
        description = "Allow GHCJS projects to compile under GHC and develop using intero";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ghcjs-codemirror" = callPackage
@@ -107796,6 +106614,7 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ghcjs-dom-jsaddle" = callPackage
@@ -107853,7 +106672,6 @@ self: {
        description = "GHCJS bindings for the JavaScript Fetch API";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ghcjs-hplay" = callPackage
@@ -107992,7 +106810,6 @@ self: {
        description = "GHC .prof files viewer";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ghcup" = callPackage
@@ -108003,17 +106820,17 @@ self: {
      , 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
-     , QuickCheck, quickcheck-arbitrary-adt, regex-posix, resourcet
-     , retry, safe, safe-exceptions, split, strict-base
-     , template-haskell, temporary, text, time, transformers, unix
-     , unix-bytestring, unliftio-core, unordered-containers
-     , uri-bytestring, utf8-string, vector, versions, word8
-     , yaml-streamly, zlib
+     , process, QuickCheck, quickcheck-arbitrary-adt, regex-posix
+     , resourcet, retry, safe, safe-exceptions, split, 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.4";
-       sha256 = "0vvnjmw72jxqdpw5j8jb64bw0v49fjnz48x3335wflg8bk9nnjb6";
+       version = "0.1.17.6";
+       sha256 = "12paw1jpa0lr6as5a8zapakcisrjvrm0npm7h4xakksnzkbgv05y";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -108022,17 +106839,18 @@ self: {
          directory disk-free-space 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 text
-         time transformers unix unix-bytestring unliftio-core
-         unordered-containers uri-bytestring vector versions word8
-         yaml-streamly zlib
+         safe-exceptions split 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
-         resourcet safe safe-exceptions template-haskell text uri-bytestring
-         utf8-string versions yaml-streamly
+         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
@@ -108042,7 +106860,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "ghc toolchain installer";
        license = lib.licenses.lgpl3Only;
-       maintainers = with lib.maintainers; [ maralorn ];
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ghczdecode" = callPackage
@@ -108125,25 +106944,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-atk";
-       version = "2.0.23";
-       sha256 = "05zwlcqx334is27h1v9x89a05srb6zp7mx0viccmij1cqhyfvsmf";
-       setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-glib gi-gobject haskell-gi
-         haskell-gi-base haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ atk ];
-       description = "Atk bindings";
-       license = lib.licenses.lgpl21Only;
-     }) {inherit (pkgs) atk;};
-
-  "gi-atk_2_0_24" = callPackage
-    ({ mkDerivation, atk, base, bytestring, Cabal, containers, gi-glib
-     , gi-gobject, haskell-gi, haskell-gi-base, haskell-gi-overloading
-     , text, transformers
-     }:
-     mkDerivation {
-       pname = "gi-atk";
        version = "2.0.24";
        sha256 = "1xhjzjcdbnfk7b6r035ch3plpgk9yk2qawq7iffc47y67dxhcd6b";
        setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ];
@@ -108154,7 +106954,6 @@ self: {
        libraryPkgconfigDepends = [ atk ];
        description = "Atk bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) atk;};
 
   "gi-cairo" = callPackage
@@ -108164,29 +106963,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-cairo";
-       version = "1.0.25";
-       sha256 = "0ybf8y8xbjfcaw67l22dfkx0528j5f1if3jm808ccssgdwyy3vc4";
-       setupHaskellDepends = [ base Cabal haskell-gi ];
-       libraryHaskellDepends = [
-         base bytestring containers haskell-gi haskell-gi-base
-         haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ cairo ];
-       preCompileBuildDriver = ''
-         PKG_CONFIG_PATH+=":${cairo}/lib/pkgconfig"
-         setupCompileFlags+=" $(pkg-config --libs cairo-gobject)"
-       '';
-       description = "Cairo bindings";
-       license = lib.licenses.lgpl21Only;
-     }) {inherit (pkgs) cairo;};
-
-  "gi-cairo_1_0_26" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, cairo, containers
-     , haskell-gi, haskell-gi-base, haskell-gi-overloading, text
-     , transformers
-     }:
-     mkDerivation {
-       pname = "gi-cairo";
        version = "1.0.26";
        sha256 = "1f3gfhqg03b64n4ipg3q96wkwsisrs79bbg7335nwg92frkv1j79";
        setupHaskellDepends = [ base Cabal haskell-gi ];
@@ -108201,7 +106977,6 @@ self: {
        '';
        description = "Cairo bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) cairo;};
 
   "gi-cairo-again" = callPackage
@@ -108329,28 +107104,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-dbusmenu";
-       version = "0.4.9";
-       sha256 = "1n2bxi7cwj32ncalqwid3igk0ssh4pc81z132255216apryszq13";
-       setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-glib gi-gobject haskell-gi
-         haskell-gi-base haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ libdbusmenu ];
-       description = "Dbusmenu bindings";
-       license = lib.licenses.lgpl21Only;
-       platforms = [
-         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
-       ];
-     }) {inherit (pkgs) libdbusmenu;};
-
-  "gi-dbusmenu_0_4_10" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib
-     , gi-gobject, haskell-gi, haskell-gi-base, haskell-gi-overloading
-     , libdbusmenu, text, transformers
-     }:
-     mkDerivation {
-       pname = "gi-dbusmenu";
        version = "0.4.10";
        sha256 = "05q3sijfsma2rinyw1rb7z4fphdqakbg18zlpf8jpv89c1329d3q";
        setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ];
@@ -108364,7 +107117,6 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) libdbusmenu;};
 
   "gi-dbusmenugtk3" = callPackage
@@ -108375,33 +107127,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-dbusmenugtk3";
-       version = "0.4.10";
-       sha256 = "1hq7v2lii8n6nn1dhdg42z2d3in8xahkhm6xk4hmfj7abzfghz7z";
-       setupHaskellDepends = [
-         base Cabal gi-atk gi-dbusmenu gi-gdk gi-gdkpixbuf gi-glib
-         gi-gobject gi-gtk haskell-gi
-       ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-atk gi-dbusmenu gi-gdk gi-gdkpixbuf
-         gi-glib gi-gobject gi-gtk haskell-gi haskell-gi-base
-         haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ gtk3 libdbusmenu-gtk3 ];
-       description = "DbusmenuGtk bindings";
-       license = lib.licenses.lgpl21Only;
-       platforms = [
-         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
-       ];
-     }) {inherit (pkgs) gtk3; inherit (pkgs) libdbusmenu-gtk3;};
-
-  "gi-dbusmenugtk3_0_4_11" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk
-     , gi-dbusmenu, gi-gdk, gi-gdkpixbuf, gi-glib, gi-gobject, gi-gtk
-     , gtk3, haskell-gi, haskell-gi-base, haskell-gi-overloading
-     , libdbusmenu-gtk3, text, transformers
-     }:
-     mkDerivation {
-       pname = "gi-dbusmenugtk3";
        version = "0.4.11";
        sha256 = "1ipq8irzqswpak6zip9ghpkvk29mwnym8d70md3an0idlq0gcnw6";
        setupHaskellDepends = [
@@ -108419,7 +107144,6 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) gtk3; inherit (pkgs) libdbusmenu-gtk3;};
 
   "gi-gdk" = callPackage
@@ -108430,8 +107154,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gdk";
-       version = "3.0.24";
-       sha256 = "17slysv7zj3nbzh302w8jkvcfkvwfk5s80n99lqhggd6lnhf5fjx";
+       version = "3.0.25";
+       sha256 = "1flgsm7sqsfp53pqbc8fv9pnsc84qnjmhircsqnx8jvkg5iyvxnx";
        setupHaskellDepends = [
          base Cabal gi-cairo gi-gdkpixbuf gi-gio gi-glib gi-gobject gi-pango
          haskell-gi
@@ -108478,27 +107202,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gdkpixbuf";
-       version = "2.0.26";
-       sha256 = "1g11pyrf1bzn0qrd9w52qhjq6qas4d3ycnprhwrglaffmaf0p9s8";
-       setupHaskellDepends = [
-         base Cabal gi-gio gi-glib gi-gmodule gi-gobject haskell-gi
-       ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-gio gi-glib gi-gmodule gi-gobject
-         haskell-gi haskell-gi-base haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ gdk-pixbuf ];
-       description = "GdkPixbuf bindings";
-       license = lib.licenses.lgpl21Only;
-     }) {inherit (pkgs) gdk-pixbuf;};
-
-  "gi-gdkpixbuf_2_0_28" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gdk-pixbuf
-     , gi-gio, gi-glib, gi-gmodule, gi-gobject, haskell-gi
-     , haskell-gi-base, haskell-gi-overloading, text, transformers
-     }:
-     mkDerivation {
-       pname = "gi-gdkpixbuf";
        version = "2.0.28";
        sha256 = "01fjx8nwy27mlhhh3p8qi1z8xcbzi7cs07x01hk8kxrmvd71a2pf";
        setupHaskellDepends = [
@@ -108511,7 +107214,6 @@ self: {
        libraryPkgconfigDepends = [ gdk-pixbuf ];
        description = "GdkPixbuf bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) gdk-pixbuf;};
 
   "gi-gdkx11" = callPackage
@@ -108521,8 +107223,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gdkx11";
-       version = "3.0.11";
-       sha256 = "07r47fpx6rvsahgnv8g741fl6h1s6y1xrlyacbpc3d8cv7x4aax2";
+       version = "3.0.12";
+       sha256 = "0lx5c13i4g4jy47zpkhd3nn714d7n2ljqib4p4ylgs9cyj145hd4";
        setupHaskellDepends = [
          base Cabal gi-cairo gi-gdk gi-gio gi-gobject gi-xlib haskell-gi
        ];
@@ -108566,30 +107268,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-ggit";
-       version = "1.0.10";
-       sha256 = "1rfmvml0wfw522c9gzzpjsg5ajbsbnzylc5rf2x3qqhb1x9y3bd2";
-       setupHaskellDepends = [
-         base Cabal gi-gio gi-glib gi-gobject haskell-gi
-       ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-gio gi-glib gi-gobject haskell-gi
-         haskell-gi-base haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ libgit2-glib ];
-       description = "libgit2-glib bindings";
-       license = lib.licenses.lgpl21Only;
-       platforms = [
-         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
-       ];
-     }) {inherit (pkgs) libgit2-glib;};
-
-  "gi-ggit_1_0_11" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-gio
-     , gi-glib, gi-gobject, haskell-gi, haskell-gi-base
-     , haskell-gi-overloading, libgit2-glib, text, transformers
-     }:
-     mkDerivation {
-       pname = "gi-ggit";
        version = "1.0.11";
        sha256 = "06hkq87q8a69ini8drwld4pd8z26mlysk9vkigpkigwlbsizjjm7";
        setupHaskellDepends = [
@@ -108605,7 +107283,6 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) libgit2-glib;};
 
   "gi-gio" = callPackage
@@ -108615,25 +107292,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gio";
-       version = "2.0.28";
-       sha256 = "0bb6ciikk9mf64azbcgnybcjidxwdpjzanarf5ganbb4bb3l5d2h";
-       setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-glib gi-gobject haskell-gi
-         haskell-gi-base haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ glib ];
-       description = "Gio bindings";
-       license = lib.licenses.lgpl21Only;
-     }) {inherit (pkgs) glib;};
-
-  "gi-gio_2_0_29" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib
-     , gi-gobject, glib, haskell-gi, haskell-gi-base
-     , haskell-gi-overloading, text, transformers
-     }:
-     mkDerivation {
-       pname = "gi-gio";
        version = "2.0.29";
        sha256 = "14kh1qdayi55flf2108ivq7sc1k9qd8dish19jbdij198hsjgria";
        setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ];
@@ -108644,7 +107302,6 @@ self: {
        libraryPkgconfigDepends = [ glib ];
        description = "Gio bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) glib;};
 
   "gi-gio-hs-list-model" = callPackage
@@ -108660,6 +107317,8 @@ self: {
        ];
        description = "Haskell implementation of GListModel interface from gi-gio";
        license = lib.licenses.lgpl21Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "gi-girepository" = callPackage
@@ -108669,25 +107328,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-girepository";
-       version = "1.0.24";
-       sha256 = "1sj68k3wih2345gkmv0jb1smka73pxnjy8jwmk2ifgl407f3hhfw";
-       setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-glib gi-gobject haskell-gi
-         haskell-gi-base haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ gobject-introspection ];
-       description = "GIRepository (gobject-introspection) bindings";
-       license = lib.licenses.lgpl21Only;
-     }) {inherit (pkgs) gobject-introspection;};
-
-  "gi-girepository_1_0_25" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib
-     , gi-gobject, gobject-introspection, haskell-gi, haskell-gi-base
-     , haskell-gi-overloading, text, transformers
-     }:
-     mkDerivation {
-       pname = "gi-girepository";
        version = "1.0.25";
        sha256 = "0xpydz66vmb8f46ql2h8rq486i4pf5nbjm98839iyhsv653plxp0";
        setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ];
@@ -108698,7 +107338,6 @@ self: {
        libraryPkgconfigDepends = [ gobject-introspection ];
        description = "GIRepository (gobject-introspection) bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) gobject-introspection;};
 
   "gi-glib" = callPackage
@@ -108708,25 +107347,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-glib";
-       version = "2.0.25";
-       sha256 = "0xki14pipyl45q6c0bwllkadbnqjm08ik24aw5gcmrvnjzag5gd7";
-       setupHaskellDepends = [ base Cabal haskell-gi ];
-       libraryHaskellDepends = [
-         base bytestring containers haskell-gi haskell-gi-base
-         haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ glib ];
-       description = "GLib bindings";
-       license = lib.licenses.lgpl21Only;
-     }) {inherit (pkgs) glib;};
-
-  "gi-glib_2_0_26" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, glib
-     , haskell-gi, haskell-gi-base, haskell-gi-overloading, text
-     , transformers
-     }:
-     mkDerivation {
-       pname = "gi-glib";
        version = "2.0.26";
        sha256 = "0i38ch8giqs92kkfzyw4wlz8y0r5kn2h94b6y33nj4ja3ggrg1qm";
        setupHaskellDepends = [ base Cabal haskell-gi ];
@@ -108737,7 +107357,6 @@ self: {
        libraryPkgconfigDepends = [ glib ];
        description = "GLib bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) glib;};
 
   "gi-gmodule" = callPackage
@@ -108747,25 +107366,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gmodule";
-       version = "2.0.1";
-       sha256 = "16x0gpbs92l250ly9k52z6y85i78ycfsg0zbksfpsym4w45zjpbp";
-       setupHaskellDepends = [ base Cabal gi-glib haskell-gi ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-glib haskell-gi haskell-gi-base
-         haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ gmodule ];
-       description = "GModule bindings";
-       license = lib.licenses.lgpl21Only;
-     }) {gmodule = null;};
-
-  "gi-gmodule_2_0_2" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib
-     , gmodule, haskell-gi, haskell-gi-base, haskell-gi-overloading
-     , text, transformers
-     }:
-     mkDerivation {
-       pname = "gi-gmodule";
        version = "2.0.2";
        sha256 = "1jbplvicc6jsjcz8gqkiq71b8cx57m010wbq2ilirv4rif90ggnx";
        setupHaskellDepends = [ base Cabal gi-glib haskell-gi ];
@@ -108776,7 +107376,6 @@ self: {
        libraryPkgconfigDepends = [ gmodule ];
        description = "GModule bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
      }) {gmodule = null;};
 
   "gi-gobject" = callPackage
@@ -108786,25 +107385,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gobject";
-       version = "2.0.26";
-       sha256 = "1kddnhdpnm21zma1zr9hpb2krrm5ksri85nzh2s9fc9c2c90xkpz";
-       setupHaskellDepends = [ base Cabal gi-glib haskell-gi ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-glib haskell-gi haskell-gi-base
-         haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ glib ];
-       description = "GObject bindings";
-       license = lib.licenses.lgpl21Only;
-     }) {inherit (pkgs) glib;};
-
-  "gi-gobject_2_0_27" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib, glib
-     , haskell-gi, haskell-gi-base, haskell-gi-overloading, text
-     , transformers
-     }:
-     mkDerivation {
-       pname = "gi-gobject";
        version = "2.0.27";
        sha256 = "1xfw8jg81pbhgb20kw2jvhbxcs8d0sl4zf3dsar9sy7gl4lgwh0g";
        setupHaskellDepends = [ base Cabal gi-glib haskell-gi ];
@@ -108815,7 +107395,6 @@ self: {
        libraryPkgconfigDepends = [ glib ];
        description = "GObject bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) glib;};
 
   "gi-graphene" = callPackage
@@ -108825,27 +107404,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-graphene";
-       version = "1.0.3";
-       sha256 = "06sh52338kqqbj6251xdz4yn0601nmxzl4z95w6a70dxs66js03c";
-       setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-glib gi-gobject haskell-gi
-         haskell-gi-base haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ graphene-gobject ];
-       description = "Graphene bindings";
-       license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {graphene-gobject = null;};
-
-  "gi-graphene_1_0_4" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib
-     , gi-gobject, graphene-gobject, haskell-gi, haskell-gi-base
-     , haskell-gi-overloading, text, transformers
-     }:
-     mkDerivation {
-       pname = "gi-graphene";
        version = "1.0.4";
        sha256 = "0c1dh5jzmqm5ysv296c37ma8miscpba1z1kq7b4l9sfmnhi4blsa";
        setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ];
@@ -108892,25 +107450,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gst";
-       version = "1.0.24";
-       sha256 = "01xbjxwipg1s93fkswag8gp8s696z1l1gaazl2w4wnpyykx4hh8s";
-       setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-glib gi-gobject haskell-gi
-         haskell-gi-base haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ gstreamer ];
-       description = "GStreamer bindings";
-       license = lib.licenses.lgpl21Only;
-     }) {inherit (pkgs.gst_all_1) gstreamer;};
-
-  "gi-gst_1_0_25" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib
-     , gi-gobject, gstreamer, haskell-gi, haskell-gi-base
-     , haskell-gi-overloading, text, transformers
-     }:
-     mkDerivation {
-       pname = "gi-gst";
        version = "1.0.25";
        sha256 = "1rx7arlghfvkh4ccl5dd40a108d4kmr2fmwrrgl22z7k2xgl0wqp";
        setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ];
@@ -108921,7 +107460,6 @@ self: {
        libraryPkgconfigDepends = [ gstreamer ];
        description = "GStreamer bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs.gst_all_1) gstreamer;};
 
   "gi-gstaudio" = callPackage
@@ -108931,27 +107469,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gstaudio";
-       version = "1.0.23";
-       sha256 = "1gzs1niw45qjxiadj4xwg4fr6d71rb5k18y4plm4jj6iyvd67s72";
-       setupHaskellDepends = [
-         base Cabal gi-glib gi-gobject gi-gst gi-gstbase haskell-gi
-       ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-glib gi-gobject gi-gst gi-gstbase
-         haskell-gi haskell-gi-base haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ gst-plugins-base ];
-       description = "GStreamerAudio bindings";
-       license = lib.licenses.lgpl21Only;
-     }) {inherit (pkgs.gst_all_1) gst-plugins-base;};
-
-  "gi-gstaudio_1_0_24" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib
-     , gi-gobject, gi-gst, gi-gstbase, gst-plugins-base, haskell-gi
-     , haskell-gi-base, haskell-gi-overloading, text, transformers
-     }:
-     mkDerivation {
-       pname = "gi-gstaudio";
        version = "1.0.24";
        sha256 = "09xfss2q4bywnidfqyq57zdma3qwhx7sl40qg7qdqhma36axxryk";
        setupHaskellDepends = [
@@ -108964,7 +107481,6 @@ self: {
        libraryPkgconfigDepends = [ gst-plugins-base ];
        description = "GStreamerAudio bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs.gst_all_1) gst-plugins-base;};
 
   "gi-gstbase" = callPackage
@@ -108974,27 +107490,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gstbase";
-       version = "1.0.24";
-       sha256 = "0b8k2xk3ha6b79kkw72kgdmj8vjyh40r26saavin54gznlgd5xh8";
-       setupHaskellDepends = [
-         base Cabal gi-glib gi-gobject gi-gst haskell-gi
-       ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-glib gi-gobject gi-gst haskell-gi
-         haskell-gi-base haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ gst-plugins-base ];
-       description = "GStreamerBase bindings";
-       license = lib.licenses.lgpl21Only;
-     }) {inherit (pkgs.gst_all_1) gst-plugins-base;};
-
-  "gi-gstbase_1_0_25" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib
-     , gi-gobject, gi-gst, gst-plugins-base, haskell-gi, haskell-gi-base
-     , haskell-gi-overloading, text, transformers
-     }:
-     mkDerivation {
-       pname = "gi-gstbase";
        version = "1.0.25";
        sha256 = "179qi645giqkfdrig07l54wn2dj5wicjfhyy7m9132imxh8czcg9";
        setupHaskellDepends = [
@@ -109007,7 +107502,6 @@ self: {
        libraryPkgconfigDepends = [ gst-plugins-base ];
        description = "GStreamerBase bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs.gst_all_1) gst-plugins-base;};
 
   "gi-gstpbutils" = callPackage
@@ -109065,27 +107559,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gstvideo";
-       version = "1.0.24";
-       sha256 = "0qjfjk5jnpy1f4grn8i68kwdd1yvnq1yc55rk6yxhlj7wks1d35h";
-       setupHaskellDepends = [
-         base Cabal gi-glib gi-gobject gi-gst gi-gstbase haskell-gi
-       ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-glib gi-gobject gi-gst gi-gstbase
-         haskell-gi haskell-gi-base haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ gst-plugins-base ];
-       description = "GStreamerVideo bindings";
-       license = lib.licenses.lgpl21Only;
-     }) {inherit (pkgs.gst_all_1) gst-plugins-base;};
-
-  "gi-gstvideo_1_0_25" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib
-     , gi-gobject, gi-gst, gi-gstbase, gst-plugins-base, haskell-gi
-     , haskell-gi-base, haskell-gi-overloading, text, transformers
-     }:
-     mkDerivation {
-       pname = "gi-gstvideo";
        version = "1.0.25";
        sha256 = "1zkzs7qkzfp8ixkagbqkmgylla7msdjg83sdf2qwmgcmzfk480c7";
        setupHaskellDepends = [
@@ -109098,7 +107571,6 @@ self: {
        libraryPkgconfigDepends = [ gst-plugins-base ];
        description = "GStreamerVideo bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs.gst_all_1) gst-plugins-base;};
 
   "gi-gtk" = callPackage
@@ -109109,8 +107581,8 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gtk";
-       version = "3.0.37";
-       sha256 = "1psg789lrpcnrwh1y80y7s09hcxl3hihi0gwsmd7j3v731dp7a0k";
+       version = "3.0.38";
+       sha256 = "0xnz5969v9nz6llg7856zdn3pcn1llvr1p0jl8vxk4n5wrwgqjms";
        setupHaskellDepends = [
          base Cabal gi-atk gi-cairo gi-gdk gi-gdkpixbuf gi-gio gi-glib
          gi-gobject gi-pango haskell-gi
@@ -109252,8 +107724,9 @@ self: {
        libraryPkgconfigDepends = [ gtk-mac-integration-gtk3 ];
        description = "GtkosxApplication bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
+       platforms = [
+         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
+       ];
      }) {inherit (pkgs) gtk-mac-integration-gtk3;};
 
   "gi-gtksheet" = callPackage
@@ -109290,30 +107763,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-gtksource";
-       version = "3.0.24";
-       sha256 = "0bnwqcn7y5a3z3lkl9l886m9albvc602nb7qsh2jkiilf0ng64dp";
-       setupHaskellDepends = [
-         base Cabal gi-atk gi-cairo gi-gdk gi-gdkpixbuf gi-gio gi-glib
-         gi-gobject gi-gtk gi-pango haskell-gi
-       ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-atk gi-cairo gi-gdk gi-gdkpixbuf
-         gi-gio gi-glib gi-gobject gi-gtk gi-pango haskell-gi
-         haskell-gi-base haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ gtksourceview3 ];
-       description = "GtkSource bindings";
-       license = lib.licenses.lgpl21Only;
-     }) {inherit (pkgs) gtksourceview3;};
-
-  "gi-gtksource_3_0_25" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk
-     , gi-cairo, gi-gdk, gi-gdkpixbuf, gi-gio, gi-glib, gi-gobject
-     , gi-gtk, gi-pango, gtksourceview3, haskell-gi, haskell-gi-base
-     , haskell-gi-overloading, text, transformers
-     }:
-     mkDerivation {
-       pname = "gi-gtksource";
        version = "3.0.25";
        sha256 = "0fxfl1gc75ffp7h1dmqwig681zw578rplhpb87bhhb811sw11ibd";
        setupHaskellDepends = [
@@ -109328,7 +107777,6 @@ self: {
        libraryPkgconfigDepends = [ gtksourceview3 ];
        description = "GtkSource bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) gtksourceview3;};
 
   "gi-handy" = callPackage
@@ -109364,25 +107812,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-harfbuzz";
-       version = "0.0.4";
-       sha256 = "0h3dgz914n55x7rhwayxscfkhhhj7qgw5a7fh0j2fn18c201klwm";
-       setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-glib gi-gobject haskell-gi
-         haskell-gi-base haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ harfbuzz harfbuzz-gobject ];
-       description = "HarfBuzz bindings";
-       license = lib.licenses.lgpl21Only;
-     }) {inherit (pkgs) harfbuzz; harfbuzz-gobject = null;};
-
-  "gi-harfbuzz_0_0_5" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib
-     , gi-gobject, harfbuzz, harfbuzz-gobject, haskell-gi
-     , haskell-gi-base, haskell-gi-overloading, text, transformers
-     }:
-     mkDerivation {
-       pname = "gi-harfbuzz";
        version = "0.0.5";
        sha256 = "1kngcm03596cqz4djll1snmif2wdpkih0awkavcl2m63xcd86m4z";
        setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ];
@@ -109393,7 +107822,6 @@ self: {
        libraryPkgconfigDepends = [ harfbuzz harfbuzz-gobject ];
        description = "HarfBuzz bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) harfbuzz; harfbuzz-gobject = null;};
 
   "gi-ibus" = callPackage
@@ -109403,30 +107831,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-ibus";
-       version = "1.5.3";
-       sha256 = "1gbpbxcdl9f5di2vpnkx3zsy54dkfhz81h3yxss91r65lp9fwrm8";
-       setupHaskellDepends = [
-         base Cabal gi-gio gi-glib gi-gobject haskell-gi
-       ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-gio gi-glib gi-gobject haskell-gi
-         haskell-gi-base haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ ibus ];
-       description = "IBus bindings";
-       license = lib.licenses.lgpl21Only;
-       platforms = [
-         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
-       ];
-     }) {inherit (pkgs) ibus;};
-
-  "gi-ibus_1_5_4" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-gio
-     , gi-glib, gi-gobject, haskell-gi, haskell-gi-base
-     , haskell-gi-overloading, ibus, text, transformers
-     }:
-     mkDerivation {
-       pname = "gi-ibus";
        version = "1.5.4";
        sha256 = "0lrczkck1w0pydzsrjlf25m6pxri1kjd9hw7rz1wis36ahqvhbvr";
        setupHaskellDepends = [
@@ -109442,7 +107846,6 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) ibus;};
 
   "gi-javascriptcore" = callPackage
@@ -109452,28 +107855,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-javascriptcore";
-       version = "4.0.23";
-       sha256 = "0r6jmhiq9jij72yz1z6sfjh3dk7g77q07kyvz3ayndqsbn3xrwi7";
-       setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-glib gi-gobject haskell-gi
-         haskell-gi-base haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ webkitgtk ];
-       description = "JavaScriptCore bindings";
-       license = lib.licenses.lgpl21Only;
-       platforms = [
-         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
-       ];
-     }) {inherit (pkgs) webkitgtk;};
-
-  "gi-javascriptcore_4_0_24" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib
-     , gi-gobject, haskell-gi, haskell-gi-base, haskell-gi-overloading
-     , text, transformers, webkitgtk
-     }:
-     mkDerivation {
-       pname = "gi-javascriptcore";
        version = "4.0.24";
        sha256 = "1jr7yp6hxcp2vqaa0s320hqhdfaflyby6rvgb2pfm9qs1dqzafsn";
        setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ];
@@ -109487,7 +107868,6 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) webkitgtk;};
 
   "gi-json" = callPackage
@@ -109509,8 +107889,6 @@ self: {
        libraryPkgconfigDepends = [ json-glib ];
        description = "JSON GObject bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) json-glib;};
 
   "gi-notify" = callPackage
@@ -109520,27 +107898,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-notify";
-       version = "0.7.23";
-       sha256 = "00p10lw9v9q8mh6630ijpz8smnpz5hiiw8kxk1fv8497akssxjsh";
-       setupHaskellDepends = [
-         base Cabal gi-gdkpixbuf gi-glib gi-gobject haskell-gi
-       ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-gdkpixbuf gi-glib gi-gobject
-         haskell-gi haskell-gi-base haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ libnotify ];
-       description = "Libnotify bindings";
-       license = lib.licenses.lgpl21Only;
-     }) {inherit (pkgs) libnotify;};
-
-  "gi-notify_0_7_24" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-gdkpixbuf
-     , gi-glib, gi-gobject, haskell-gi, haskell-gi-base
-     , haskell-gi-overloading, libnotify, text, transformers
-     }:
-     mkDerivation {
-       pname = "gi-notify";
        version = "0.7.24";
        sha256 = "1dgjj1nqy2b37si8y5g5m12nrbqkfx8z6hir0gsvymfkbzfcx7j1";
        setupHaskellDepends = [
@@ -109553,7 +107910,6 @@ self: {
        libraryPkgconfigDepends = [ libnotify ];
        description = "Libnotify bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) libnotify;};
 
   "gi-ostree" = callPackage
@@ -109563,30 +107919,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-ostree";
-       version = "1.0.14";
-       sha256 = "08jglqkq0h497iv83rc0br83qrf000gm202hp0j1pnhwvdgp7d0f";
-       setupHaskellDepends = [
-         base Cabal gi-gio gi-glib gi-gobject haskell-gi
-       ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-gio gi-glib gi-gobject haskell-gi
-         haskell-gi-base haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ ostree ];
-       description = "OSTree bindings";
-       license = lib.licenses.lgpl21Only;
-       platforms = [
-         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
-       ];
-     }) {inherit (pkgs) ostree;};
-
-  "gi-ostree_1_0_15" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-gio
-     , gi-glib, gi-gobject, haskell-gi, haskell-gi-base
-     , haskell-gi-overloading, ostree, text, transformers
-     }:
-     mkDerivation {
-       pname = "gi-ostree";
        version = "1.0.15";
        sha256 = "1lrblmsn91an1mqv4iml235bbwx1yz0llhyzf62jr65krs11jhwd";
        setupHaskellDepends = [
@@ -109602,7 +107934,6 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) ostree;};
 
   "gi-pango" = callPackage
@@ -109612,31 +107943,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-pango";
-       version = "1.0.24";
-       sha256 = "0qvz1r3xc4rz2fvaw1mimwn39xim55zn6zhbkavw2n5jm6xnydkh";
-       setupHaskellDepends = [
-         base Cabal gi-glib gi-gobject gi-harfbuzz haskell-gi
-       ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-glib gi-gobject gi-harfbuzz
-         haskell-gi haskell-gi-base haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ cairo pango ];
-       preCompileBuildDriver = ''
-         PKG_CONFIG_PATH+=":${cairo}/lib/pkgconfig"
-         setupCompileFlags+=" $(pkg-config --libs cairo-gobject)"
-       '';
-       description = "Pango bindings";
-       license = lib.licenses.lgpl21Only;
-     }) {inherit (pkgs) cairo; inherit (pkgs) pango;};
-
-  "gi-pango_1_0_25" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, cairo, containers
-     , gi-glib, gi-gobject, gi-harfbuzz, haskell-gi, haskell-gi-base
-     , haskell-gi-overloading, pango, text, transformers
-     }:
-     mkDerivation {
-       pname = "gi-pango";
        version = "1.0.25";
        sha256 = "1m1n9jcpr8j4k7212yv4asm62w0pp9wlikl164xfgv8yfa3gh7s0";
        setupHaskellDepends = [
@@ -109653,7 +107959,6 @@ self: {
        '';
        description = "Pango bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) cairo; inherit (pkgs) pango;};
 
   "gi-pangocairo" = callPackage
@@ -109664,32 +107969,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-pangocairo";
-       version = "1.0.25";
-       sha256 = "1w7sdwxfsymysazv9b045li97mjj2xspgrfyhm74x7sd7b4jl4aa";
-       setupHaskellDepends = [
-         base Cabal gi-cairo gi-glib gi-gobject gi-pango haskell-gi
-       ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-cairo gi-glib gi-gobject gi-pango
-         haskell-gi haskell-gi-base haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ cairo pango ];
-       preCompileBuildDriver = ''
-         PKG_CONFIG_PATH+=":${cairo}/lib/pkgconfig"
-         setupCompileFlags+=" $(pkg-config --libs cairo-gobject)"
-       '';
-       description = "PangoCairo bindings";
-       license = lib.licenses.lgpl21Only;
-     }) {inherit (pkgs) cairo; inherit (pkgs) pango;};
-
-  "gi-pangocairo_1_0_26" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, cairo, containers
-     , gi-cairo, gi-glib, gi-gobject, gi-pango, haskell-gi
-     , haskell-gi-base, haskell-gi-overloading, pango, text
-     , transformers
-     }:
-     mkDerivation {
-       pname = "gi-pangocairo";
        version = "1.0.26";
        sha256 = "0alm4v7dl44pv3ydw5fg4x6w6yzghjscnzd1qi6jbv1pqrv0f3xm";
        setupHaskellDepends = [
@@ -109706,7 +107985,6 @@ self: {
        '';
        description = "PangoCairo bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) cairo; inherit (pkgs) pango;};
 
   "gi-poppler" = callPackage
@@ -109716,27 +107994,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-poppler";
-       version = "0.18.25";
-       sha256 = "0hl7wljszc1jpjcpl0ax6qidjynr2dh063m1j9xn718f1yqgldix";
-       setupHaskellDepends = [
-         base Cabal gi-cairo gi-gio gi-glib gi-gobject haskell-gi
-       ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-cairo gi-gio gi-glib gi-gobject
-         haskell-gi haskell-gi-base haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ poppler_gi ];
-       description = "Poppler bindings";
-       license = lib.licenses.lgpl21Only;
-     }) {inherit (pkgs) poppler_gi;};
-
-  "gi-poppler_0_18_26" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-cairo
-     , gi-gio, gi-glib, gi-gobject, haskell-gi, haskell-gi-base
-     , haskell-gi-overloading, poppler_gi, text, transformers
-     }:
-     mkDerivation {
-       pname = "gi-poppler";
        version = "0.18.26";
        sha256 = "1wxm7fx1xjj2a332mh2sr1pz994aici888x69a197ccnn8p3g75k";
        setupHaskellDepends = [
@@ -109749,7 +108006,6 @@ self: {
        libraryPkgconfigDepends = [ poppler_gi ];
        description = "Poppler bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) poppler_gi;};
 
   "gi-rsvg" = callPackage
@@ -109785,27 +108041,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-secret";
-       version = "0.0.13";
-       sha256 = "0n37sdm4q6q807j4wgwwsl28knc71d8jiyx4prxbl2d69gg6i2ka";
-       setupHaskellDepends = [
-         base Cabal gi-gio gi-glib gi-gobject haskell-gi
-       ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-gio gi-glib gi-gobject haskell-gi
-         haskell-gi-base haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ libsecret ];
-       description = "Libsecret bindings";
-       license = lib.licenses.lgpl21Only;
-     }) {inherit (pkgs) libsecret;};
-
-  "gi-secret_0_0_14" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-gio
-     , gi-glib, gi-gobject, haskell-gi, haskell-gi-base
-     , haskell-gi-overloading, libsecret, text, transformers
-     }:
-     mkDerivation {
-       pname = "gi-secret";
        version = "0.0.14";
        sha256 = "1n03lk4x7inkq68z9krv3jgkpjsya8jjyim09qzb83cj77wb67m8";
        setupHaskellDepends = [
@@ -109818,7 +108053,6 @@ self: {
        libraryPkgconfigDepends = [ libsecret ];
        description = "Libsecret bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) libsecret;};
 
   "gi-soup" = callPackage
@@ -109828,27 +108062,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-soup";
-       version = "2.4.24";
-       sha256 = "148ksnsfadbx3as23c79nmmsrkzfcvncbvvqqmhygwkm9mxsv9sr";
-       setupHaskellDepends = [
-         base Cabal gi-gio gi-glib gi-gobject haskell-gi
-       ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-gio gi-glib gi-gobject haskell-gi
-         haskell-gi-base haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ libsoup ];
-       description = "Libsoup bindings";
-       license = lib.licenses.lgpl21Only;
-     }) {inherit (pkgs) libsoup;};
-
-  "gi-soup_2_4_25" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-gio
-     , gi-glib, gi-gobject, haskell-gi, haskell-gi-base
-     , haskell-gi-overloading, libsoup, text, transformers
-     }:
-     mkDerivation {
-       pname = "gi-soup";
        version = "2.4.25";
        sha256 = "1rpl5q9xwfbbhzg7220855mb15qpdpx668gs7lxj7w26arp8xzcs";
        setupHaskellDepends = [
@@ -109861,7 +108074,6 @@ self: {
        libraryPkgconfigDepends = [ libsoup ];
        description = "Libsoup bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) libsoup;};
 
   "gi-vips" = callPackage
@@ -109881,8 +108093,6 @@ self: {
        libraryPkgconfigDepends = [ vips ];
        description = "libvips GObject bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) vips;};
 
   "gi-vte" = callPackage
@@ -109893,33 +108103,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-vte";
-       version = "2.91.28";
-       sha256 = "06bgl5r1r4ri22c43an4h538p0b3icrb8nq1w7fw8cmxqj7y5m33";
-       setupHaskellDepends = [
-         base Cabal gi-atk gi-gdk gi-gio gi-glib gi-gobject gi-gtk gi-pango
-         haskell-gi
-       ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-atk gi-gdk gi-gio gi-glib gi-gobject
-         gi-gtk gi-pango haskell-gi haskell-gi-base haskell-gi-overloading
-         text transformers
-       ];
-       libraryPkgconfigDepends = [ vte_291 ];
-       description = "Vte bindings";
-       license = lib.licenses.lgpl21Only;
-       platforms = [
-         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
-       ];
-     }) {vte_291 = pkgs.vte;};
-
-  "gi-vte_2_91_29" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk
-     , gi-gdk, gi-gio, gi-glib, gi-gobject, gi-gtk, gi-pango, haskell-gi
-     , haskell-gi-base, haskell-gi-overloading, text, transformers
-     , vte_291
-     }:
-     mkDerivation {
-       pname = "gi-vte";
        version = "2.91.29";
        sha256 = "15c1vmkk4h723qjvmq30rcqfk5b5kihcjdqmncmgshi2qv80aa2q";
        setupHaskellDepends = [
@@ -109937,7 +108120,6 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
-       hydraPlatforms = lib.platforms.none;
      }) {vte_291 = pkgs.vte;};
 
   "gi-webkit" = callPackage
@@ -109971,33 +108153,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-webkit2";
-       version = "4.0.27";
-       sha256 = "05ka1i4afd9j5kyyd1z9xxv9vmbmq2wziir3pln9a692zga0f2h1";
-       setupHaskellDepends = [
-         base Cabal gi-atk gi-cairo gi-gdk gi-gio gi-glib gi-gobject gi-gtk
-         gi-javascriptcore gi-soup haskell-gi
-       ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-atk gi-cairo gi-gdk gi-gio gi-glib
-         gi-gobject gi-gtk gi-javascriptcore gi-soup haskell-gi
-         haskell-gi-base haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ webkitgtk ];
-       description = "WebKit2 bindings";
-       license = lib.licenses.lgpl21Only;
-       platforms = [
-         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
-       ];
-     }) {inherit (pkgs) webkitgtk;};
-
-  "gi-webkit2_4_0_28" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk
-     , gi-cairo, gi-gdk, gi-gio, gi-glib, gi-gobject, gi-gtk
-     , gi-javascriptcore, gi-soup, haskell-gi, haskell-gi-base
-     , haskell-gi-overloading, text, transformers, webkitgtk
-     }:
-     mkDerivation {
-       pname = "gi-webkit2";
        version = "4.0.28";
        sha256 = "0k6y33vg6641a4qis2ypnj8xms40a203y0as299rsj0l5rk9ykaw";
        setupHaskellDepends = [
@@ -110015,7 +108170,6 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) webkitgtk;};
 
   "gi-webkit2webextension" = callPackage
@@ -110026,33 +108180,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-webkit2webextension";
-       version = "4.0.26";
-       sha256 = "0fa2x9dzcaiv5f5kzf4ql27fr8zgq5fky3gzhj8py0m2pnahpa6v";
-       setupHaskellDepends = [
-         base Cabal gi-gio gi-gobject gi-gtk gi-javascriptcore gi-soup
-         haskell-gi
-       ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-gio gi-gobject gi-gtk
-         gi-javascriptcore gi-soup haskell-gi haskell-gi-base
-         haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ webkitgtk ];
-       description = "WebKit2-WebExtension bindings";
-       license = lib.licenses.lgpl21Only;
-       platforms = [
-         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
-       ];
-     }) {inherit (pkgs) webkitgtk;};
-
-  "gi-webkit2webextension_4_0_27" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-gio
-     , gi-gobject, gi-gtk, gi-javascriptcore, gi-soup, haskell-gi
-     , haskell-gi-base, haskell-gi-overloading, text, transformers
-     , webkitgtk
-     }:
-     mkDerivation {
-       pname = "gi-webkit2webextension";
        version = "4.0.27";
        sha256 = "1m00h1yrnq6b5h635rpwhcdhvls3rg6lcp5gq3n22rqr131fsrr9";
        setupHaskellDepends = [
@@ -110070,7 +108197,6 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) webkitgtk;};
 
   "gi-wnck" = callPackage
@@ -110081,32 +108207,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-wnck";
-       version = "3.0.10";
-       sha256 = "1q3fncvd7ic0ri2v883xlqlfxm5hiwj0sn750505q73lqllx5wqw";
-       setupHaskellDepends = [
-         base Cabal gi-atk gi-gdk gi-gdkpixbuf gi-gobject gi-gtk haskell-gi
-       ];
-       libraryHaskellDepends = [
-         base bytestring containers gi-atk gi-gdk gi-gdkpixbuf gi-gobject
-         gi-gtk haskell-gi haskell-gi-base haskell-gi-overloading text
-         transformers
-       ];
-       libraryPkgconfigDepends = [ libwnck ];
-       description = "Wnck bindings";
-       license = lib.licenses.lgpl21Only;
-       platforms = [
-         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
-       ];
-     }) {inherit (pkgs) libwnck;};
-
-  "gi-wnck_3_0_11" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk
-     , gi-gdk, gi-gdkpixbuf, gi-gobject, gi-gtk, haskell-gi
-     , haskell-gi-base, haskell-gi-overloading, libwnck, text
-     , transformers
-     }:
-     mkDerivation {
-       pname = "gi-wnck";
        version = "3.0.11";
        sha256 = "0jhsr7skjn7i3klnfm9z2fg2gfl5mqsp7hd8ajlkjv7z8xk25j1w";
        setupHaskellDepends = [
@@ -110123,7 +108223,6 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) libwnck;};
 
   "gi-xlib" = callPackage
@@ -110133,25 +108232,6 @@ self: {
      }:
      mkDerivation {
        pname = "gi-xlib";
-       version = "2.0.10";
-       sha256 = "1h6kpg0mm16b5rz7ixi5qj8y0is96cwkkpgwcl8m8ycjscsgfj88";
-       setupHaskellDepends = [ base Cabal haskell-gi ];
-       libraryHaskellDepends = [
-         base bytestring containers haskell-gi haskell-gi-base
-         haskell-gi-overloading text transformers
-       ];
-       libraryPkgconfigDepends = [ xlibsWrapper ];
-       description = "xlib bindings";
-       license = lib.licenses.lgpl21Only;
-     }) {inherit (pkgs) xlibsWrapper;};
-
-  "gi-xlib_2_0_11" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, haskell-gi
-     , haskell-gi-base, haskell-gi-overloading, text, transformers
-     , xlibsWrapper
-     }:
-     mkDerivation {
-       pname = "gi-xlib";
        version = "2.0.11";
        sha256 = "0l6xr26asmy3rvzi5lazkfpik1n41v9a7bg2pypssc26130amp1f";
        setupHaskellDepends = [ base Cabal haskell-gi ];
@@ -110162,7 +108242,6 @@ self: {
        libraryPkgconfigDepends = [ xlibsWrapper ];
        description = "xlib bindings";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) xlibsWrapper;};
 
   "giak" = callPackage
@@ -110211,38 +108290,6 @@ self: {
      }) {};
 
   "ginger" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, bytestring
-     , data-default, filepath, http-types, mtl, optparse-applicative
-     , parsec, process, regex-tdfa, safe, scientific, tasty, tasty-hunit
-     , tasty-quickcheck, text, time, transformers, unordered-containers
-     , utf8-string, vector, yaml
-     }:
-     mkDerivation {
-       pname = "ginger";
-       version = "0.10.1.0";
-       sha256 = "0579ajr1rng0bd0pml69f6yz4aykvk8zcni0p7ck628qx4jzxihx";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson aeson-pretty base bytestring data-default filepath http-types
-         mtl parsec regex-tdfa safe scientific text time transformers
-         unordered-containers utf8-string vector
-       ];
-       executableHaskellDepends = [
-         aeson base bytestring data-default optparse-applicative process
-         text transformers unordered-containers utf8-string yaml
-       ];
-       testHaskellDepends = [
-         aeson base bytestring data-default mtl tasty tasty-hunit
-         tasty-quickcheck text time transformers unordered-containers
-         utf8-string
-       ];
-       description = "An implementation of the Jinja2 template language in Haskell";
-       license = lib.licenses.mit;
-     }) {};
-
-  "ginger_0_10_4_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
      , data-default, filepath, http-types, mtl, optparse-applicative
      , parsec, process, regex-tdfa, safe, scientific, tasty, tasty-hunit
@@ -110273,6 +108320,7 @@ self: {
        description = "An implementation of the Jinja2 template language in Haskell";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "gingersnap" = callPackage
@@ -110329,8 +108377,8 @@ self: {
      }:
      mkDerivation {
        pname = "gio";
-       version = "0.13.8.1";
-       sha256 = "00dq87p6nqk4x2n98a6b35l7a4crkmhr36zjk0xsfdsr3lf7zmr6";
+       version = "0.13.8.2";
+       sha256 = "1fh0h786h36sm8bd2v72xqqp6paw4qm5inhf86gmd993hm4avxdk";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal gtk2hs-buildtools ];
        libraryHaskellDepends = [
@@ -110362,7 +108410,6 @@ self: {
        description = "Git Performance Dashboard";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "giphy-api" = callPackage
@@ -110458,31 +108505,31 @@ self: {
      }) {};
 
   "git-annex" = callPackage
-    ({ mkDerivation, aeson, async, attoparsec, aws, base, blaze-builder
-     , bloomfilter, bup, byteable, bytestring, Cabal, case-insensitive
-     , clientsession, concurrent-output, conduit, connection, containers
-     , crypto-api, cryptonite, curl, data-default, DAV, dbus, deepseq
-     , directory, disk-free-space, dlist, edit-distance, exceptions
-     , fdo-notify, feed, filepath, filepath-bytestring, free, git
-     , git-lfs, gnupg, hinotify, http-client, http-client-restricted
-     , http-client-tls, http-conduit, http-types, IfElse, lsof, magic
-     , memory, microlens, monad-control, monad-logger, mountpoints, mtl
-     , network, network-bsd, network-info, network-multicast
-     , network-uri, old-locale, openssh, optparse-applicative
-     , path-pieces, perl, persistent, persistent-sqlite
-     , persistent-template, process, QuickCheck, random, regex-tdfa
-     , resourcet, rsync, SafeSemaphore, sandi, securemem, shakespeare
-     , socks, split, stm, stm-chans, tagsoup, tasty, tasty-hunit
-     , tasty-quickcheck, tasty-rerun, template-haskell, text, time
-     , torrent, transformers, unix, unix-compat, unliftio-core
-     , unordered-containers, utf8-string, uuid, vector, wai, wai-extra
-     , warp, warp-tls, wget, which, yesod, yesod-core, yesod-form
-     , yesod-static
+    ({ mkDerivation, aeson, ansi-terminal, async, attoparsec, aws, base
+     , blaze-builder, bloomfilter, bup, byteable, bytestring, Cabal
+     , case-insensitive, clientsession, concurrent-output, conduit
+     , connection, containers, crypto-api, cryptonite, curl
+     , data-default, DAV, dbus, deepseq, directory, disk-free-space
+     , dlist, edit-distance, exceptions, fdo-notify, feed, filepath
+     , filepath-bytestring, free, git, git-lfs, gnupg, hinotify
+     , http-client, http-client-restricted, http-client-tls
+     , http-conduit, http-types, IfElse, lsof, magic, memory, microlens
+     , monad-control, monad-logger, mountpoints, mtl, network
+     , network-bsd, network-info, network-multicast, network-uri
+     , old-locale, openssh, optparse-applicative, path-pieces, perl
+     , persistent, persistent-sqlite, persistent-template, process
+     , QuickCheck, random, regex-tdfa, resourcet, rsync, SafeSemaphore
+     , sandi, securemem, shakespeare, socks, split, stm, stm-chans
+     , tagsoup, tasty, tasty-hunit, tasty-quickcheck, tasty-rerun
+     , template-haskell, text, time, torrent, transformers, unix
+     , unix-compat, unliftio-core, unordered-containers, utf8-string
+     , uuid, vector, wai, wai-extra, warp, warp-tls, wget, which, yesod
+     , yesod-core, yesod-form, yesod-static
      }:
      mkDerivation {
        pname = "git-annex";
-       version = "10.20220127";
-       sha256 = "06s80fa91cnn2r5n6d52lqqp3hpc4ksag82razs7sj19iwixan2w";
+       version = "10.20220322";
+       sha256 = "107v1c2lw53k25p6snbmxyia3ghd63kj3izvd81d8km9qncv96bv";
        configureFlags = [
          "-fassistant" "-f-benchmark" "-fdbus" "-f-debuglocks" "-fmagicmime"
          "-fnetworkbsd" "-fpairing" "-fproduction" "-fs3" "-ftorrentparser"
@@ -110496,13 +108543,14 @@ self: {
          unix-compat utf8-string
        ];
        executableHaskellDepends = [
-         aeson async attoparsec aws base blaze-builder bloomfilter byteable
-         bytestring case-insensitive clientsession concurrent-output conduit
-         connection containers crypto-api cryptonite data-default DAV dbus
-         deepseq directory disk-free-space dlist edit-distance exceptions
-         fdo-notify feed filepath filepath-bytestring free git-lfs hinotify
-         http-client http-client-restricted http-client-tls http-conduit
-         http-types IfElse magic memory microlens monad-control monad-logger
+         aeson ansi-terminal async attoparsec aws base blaze-builder
+         bloomfilter byteable bytestring case-insensitive clientsession
+         concurrent-output conduit connection containers crypto-api
+         cryptonite data-default DAV dbus deepseq directory disk-free-space
+         dlist edit-distance exceptions fdo-notify feed filepath
+         filepath-bytestring free git-lfs hinotify http-client
+         http-client-restricted http-client-tls http-conduit http-types
+         IfElse magic memory microlens monad-control monad-logger
          mountpoints mtl network network-bsd network-info network-multicast
          network-uri old-locale optparse-applicative path-pieces persistent
          persistent-sqlite persistent-template process QuickCheck random
@@ -110592,7 +108640,6 @@ self: {
        description = "A simple parser for Git configuration files";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "git-cuk" = callPackage
@@ -110789,6 +108836,7 @@ self: {
        ];
        description = "Passively snapshots working tree changes efficiently";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "git-object" = callPackage
@@ -110888,7 +108936,6 @@ self: {
        description = "A sanity checker for your git history";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "git-vogue" = callPackage
@@ -110976,7 +109023,6 @@ self: {
        description = "Create Github issues out of TODO comments in code";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "githash" = callPackage
@@ -111101,6 +109147,8 @@ self: {
        ];
        description = "GitHub webhooks library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "github-release" = callPackage
@@ -111110,26 +109158,6 @@ self: {
      }:
      mkDerivation {
        pname = "github-release";
-       version = "1.3.10";
-       sha256 = "0snhmqrz9fr51fyydi02zi8p0sa44f0hqv1krybil0ymcaqk6796";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base burrito bytestring http-client http-client-tls
-         http-types mime-types optparse-generic text unordered-containers
-       ];
-       executableHaskellDepends = [ base ];
-       description = "Upload files to GitHub releases";
-       license = lib.licenses.mit;
-     }) {};
-
-  "github-release_2_0_0_0" = callPackage
-    ({ mkDerivation, aeson, base, burrito, bytestring, http-client
-     , http-client-tls, http-types, mime-types, optparse-generic, text
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "github-release";
        version = "2.0.0.0";
        sha256 = "03bvbqpaa3xp9rnmg8a95qs9j7chng1xsk53f30520m1cfyyikgq";
        isLibrary = true;
@@ -111144,7 +109172,6 @@ self: {
        ];
        description = "Upload files to GitHub releases";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "github-rest" = callPackage
@@ -111155,29 +109182,6 @@ self: {
      }:
      mkDerivation {
        pname = "github-rest";
-       version = "1.0.3";
-       sha256 = "0alwix2lvrvv6ba7nrxg6qvvrdci1vbv94yvq29zmsab9lbv6jrb";
-       libraryHaskellDepends = [
-         aeson base bytestring http-client http-client-tls http-types jwt
-         mtl scientific text time transformers unliftio unliftio-core
-       ];
-       testHaskellDepends = [
-         aeson aeson-qq base bytestring http-client http-client-tls
-         http-types jwt mtl scientific tasty tasty-golden tasty-hunit
-         tasty-quickcheck text time transformers unliftio unliftio-core
-       ];
-       description = "Query the GitHub REST API programmatically";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "github-rest_1_1_2" = callPackage
-    ({ mkDerivation, aeson, aeson-qq, base, bytestring, http-client
-     , http-client-tls, http-types, jwt, mtl, scientific, tasty
-     , tasty-golden, tasty-hunit, tasty-quickcheck, text, time
-     , transformers, unliftio, unliftio-core
-     }:
-     mkDerivation {
-       pname = "github-rest";
        version = "1.1.2";
        sha256 = "139ysq1m1ndy6z1znfd1np25ynxankkfm6xmwabhdr7yiqzi2v1b";
        libraryHaskellDepends = [
@@ -111191,7 +109195,6 @@ self: {
        ];
        description = "Query the GitHub REST API programmatically";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "github-tools" = callPackage
@@ -111303,6 +109306,25 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "github-webhooks_0_16_0" = callPackage
+    ({ mkDerivation, aeson, base, base16-bytestring, bytestring
+     , cryptonite, deepseq, deepseq-generics, hspec, memory, text, time
+     , vector
+     }:
+     mkDerivation {
+       pname = "github-webhooks";
+       version = "0.16.0";
+       sha256 = "1h0l4p0wyy4d6k43gxjfjx2fv0a59xd900dr14ydxdjn75yhc7g0";
+       libraryHaskellDepends = [
+         aeson base base16-bytestring bytestring cryptonite deepseq
+         deepseq-generics memory text time vector
+       ];
+       testHaskellDepends = [ aeson base bytestring hspec text vector ];
+       description = "Aeson instances for GitHub Webhook payloads";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "githud" = callPackage
     ({ mkDerivation, base, bytestring, daemons, data-default, directory
      , filelock, mtl, network, parsec, process, tasty, tasty-hunit
@@ -111406,25 +109428,6 @@ self: {
      }) {};
 
   "gitlab-haskell" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, connection, http-conduit
-     , http-types, tasty, tasty-hunit, temporary, text, time
-     , transformers, unix, unliftio, unliftio-core
-     }:
-     mkDerivation {
-       pname = "gitlab-haskell";
-       version = "0.2.5";
-       sha256 = "13dlbl2hlvmplxjypg14llpbxf0a9x2f4lk0kkn46f63mn0fy83x";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson base bytestring connection http-conduit http-types temporary
-         text time transformers unix unliftio unliftio-core
-       ];
-       testHaskellDepends = [ aeson base bytestring tasty tasty-hunit ];
-       description = "A Haskell library for the GitLab web API";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "gitlab-haskell_0_3_2_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, connection, http-client
      , http-conduit, http-types, tasty, tasty-hunit, temporary, text
      , time, transformers, unix
@@ -111442,6 +109445,7 @@ self: {
        description = "A Haskell library for the GitLab web API";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "gitlib" = callPackage
@@ -111535,6 +109539,8 @@ self: {
        ];
        description = "Libgit2 backend for gitlib";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "gitlib-s3" = callPackage
@@ -111802,7 +109808,6 @@ self: {
        description = "Binding to the glade library";
        license = lib.licenses.lgpl21Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs.gnome2) libglade;};
 
   "gladexml-accessor" = callPackage
@@ -111814,7 +109819,6 @@ self: {
        libraryHaskellDepends = [ base glade HaXml template-haskell ];
        description = "Automagically declares getters for widget handles in specified interface file";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "glambda" = callPackage
@@ -111882,6 +109886,8 @@ self: {
        libraryHaskellDepends = [ base lens ];
        description = "Framework for rendering things with metadata/headers and values";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "glazier" = callPackage
@@ -112019,8 +110025,8 @@ self: {
      }:
      mkDerivation {
        pname = "glib";
-       version = "0.13.8.1";
-       sha256 = "170sbi1gg38sxl4yhd4z716fljlcbf21vgl58p0pcx2adnn2il6w";
+       version = "0.13.8.2";
+       sha256 = "09qamkxkpx2paazbh8x225wvwgzgpp0g0a3s708n96q76b4bvd46";
        setupHaskellDepends = [ base Cabal gtk2hs-buildtools ];
        libraryHaskellDepends = [
          base bytestring containers text utf8-string
@@ -112044,6 +110050,8 @@ self: {
        testHaskellDepends = [ base data-default hspec ];
        description = "Glicko-2 implementation in Haskell";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "glider-nlp" = callPackage
@@ -112243,6 +110251,22 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "gloss_1_13_2_2" = callPackage
+    ({ mkDerivation, base, bmp, bytestring, containers, ghc-prim
+     , gloss-rendering, GLUT, OpenGL
+     }:
+     mkDerivation {
+       pname = "gloss";
+       version = "1.13.2.2";
+       sha256 = "09yabwajjw6zsbs8p4hsmfz4a032i81d3vnia5f7rrzszbi9svdn";
+       libraryHaskellDepends = [
+         base bmp bytestring containers ghc-prim gloss-rendering GLUT OpenGL
+       ];
+       description = "Painless 2D vector graphics, animations and simulations";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "gloss-accelerate" = callPackage
     ({ mkDerivation, accelerate, base, gloss, gloss-rendering
      , linear-accelerate
@@ -112263,8 +110287,8 @@ self: {
     ({ mkDerivation, base, containers, ghc-prim, gloss }:
      mkDerivation {
        pname = "gloss-algorithms";
-       version = "1.13.0.2";
-       sha256 = "0wx546hm1afgq0al5bk1g2qfgg9r520whm6igz18lkc9fsksjfgd";
+       version = "1.13.0.3";
+       sha256 = "083rq6p5m0im380c6x0jc3hi59hk94z1nyj08hmvmb3vcszjxra5";
        libraryHaskellDepends = [ base containers ghc-prim gloss ];
        description = "Data structures and algorithms for working with 2D graphics";
        license = lib.licenses.mit;
@@ -112304,8 +110328,8 @@ self: {
      }:
      mkDerivation {
        pname = "gloss-examples";
-       version = "1.13.0.3";
-       sha256 = "0bvy9hww3i2mk3fim5spg2fd66mhxz5njil7xjrw6wbjs4ryrr92";
+       version = "1.13.0.4";
+       sha256 = "0jbll6dch864fba7x49iw7m5f4qhdff4wdpr8i38qwikbf7bmaf1";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -112314,7 +110338,6 @@ self: {
        ];
        description = "Examples using the gloss library";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gloss-export" = callPackage
@@ -112418,6 +110441,20 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "gloss-rendering_1_13_1_2" = callPackage
+    ({ mkDerivation, base, bmp, bytestring, containers, GLUT, OpenGL }:
+     mkDerivation {
+       pname = "gloss-rendering";
+       version = "1.13.1.2";
+       sha256 = "0zrdqh72gswyn27x43ifhy4q8m7hvmv24b5ki3hyra5yq74njlsm";
+       libraryHaskellDepends = [
+         base bmp bytestring containers GLUT OpenGL
+       ];
+       description = "Gloss picture data types and rendering functions";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "gloss-sodium" = callPackage
     ({ mkDerivation, base, gloss, sodium }:
      mkDerivation {
@@ -112501,8 +110538,8 @@ self: {
      }:
      mkDerivation {
        pname = "gltf-codec";
-       version = "0.1.0.3";
-       sha256 = "0kgkzskn2k9zgihrb1v9xy5yfjlggmpj15g1bdgx7faipksaa3fb";
+       version = "0.1.0.4";
+       sha256 = "1jzh6cdgpiq0lmcfnxkfnzywjv1ny058xsss0b1nrwxra6wcai6x";
        libraryHaskellDepends = [
          aeson base base64-bytestring binary bytestring scientific text
          unordered-containers vector
@@ -112648,6 +110685,8 @@ self: {
        ];
        description = "turtle like LOGO with glut";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "gmail-simple" = callPackage
@@ -112818,6 +110857,7 @@ self: {
        description = "Bindings for GNU IDN";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) libidn;};
 
   "gnuplot" = callPackage
@@ -112827,27 +110867,6 @@ self: {
      }:
      mkDerivation {
        pname = "gnuplot";
-       version = "0.5.6.1";
-       sha256 = "1rfq94lnsyjr8y9p5r56jpllv3p8rvh9xxzjji016b6r5adi8cnb";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         array base containers data-accessor data-accessor-transformers
-         deepseq filepath process semigroups temporary time transformers
-         utility-ht
-       ];
-       description = "2D and 3D plots using gnuplot";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "gnuplot_0_5_7" = callPackage
-    ({ mkDerivation, array, base, containers, data-accessor
-     , data-accessor-transformers, deepseq, filepath, process
-     , semigroups, temporary, time, transformers, utility-ht
-     }:
-     mkDerivation {
-       pname = "gnuplot";
        version = "0.5.7";
        sha256 = "1glahh3si5bpazsklnpwxx4h4ivgb4wyngc032797zq1496fhhm3";
        isLibrary = true;
@@ -112860,7 +110879,6 @@ self: {
        ];
        description = "2D and 3D plots using gnuplot";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gnutls" = callPackage
@@ -113039,6 +111057,8 @@ self: {
        testHaskellDepends = [ base containers HUnit mtl parsec ];
        description = "A monadic take on a 2,500-year-old board game - library";
        license = lib.licenses.agpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "goatee-gtk" = callPackage
@@ -113059,6 +111079,7 @@ self: {
        testHaskellDepends = [ base HUnit ];
        description = "A monadic take on a 2,500-year-old board game - GTK+ UI";
        license = lib.licenses.agpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gochan" = callPackage
@@ -113124,8 +111145,6 @@ self: {
        executableHaskellDepends = [ base criterion megaparsec text ];
        description = "Megaparsec parser for Godot `tscn` and `gdns` files";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "gofer-prelude" = callPackage
@@ -113200,6 +111219,7 @@ self: {
        ];
        description = "Comprehensive Google Services SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-abusiveexperiencereport" = callPackage
@@ -113211,6 +111231,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Abusive Experience Report SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-acceleratedmobilepageurl" = callPackage
@@ -113222,6 +111243,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Accelerated Mobile Pages (AMP) URL SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-accessapproval" = callPackage
@@ -113233,6 +111255,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Access Approval SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-accesscontextmanager" = callPackage
@@ -113244,6 +111267,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Access Context Manager SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-adexchange-buyer" = callPackage
@@ -113255,6 +111279,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Ad Exchange Buyer SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-adexchange-seller" = callPackage
@@ -113266,6 +111291,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Ad Exchange Seller SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-adexchangebuyer2" = callPackage
@@ -113277,6 +111303,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Ad Exchange Buyer API II SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-adexperiencereport" = callPackage
@@ -113288,6 +111315,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Ad Experience Report SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-admin-datatransfer" = callPackage
@@ -113299,6 +111327,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Admin Data Transfer SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-admin-directory" = callPackage
@@ -113310,6 +111339,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Admin Directory SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-admin-emailmigration" = callPackage
@@ -113322,7 +111352,6 @@ self: {
        description = "Google Email Migration API v2 SDK";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "gogol-admin-reports" = callPackage
@@ -113334,6 +111363,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Admin Reports SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-adsense" = callPackage
@@ -113345,6 +111375,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google AdSense Management SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-adsense-host" = callPackage
@@ -113356,6 +111387,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google AdSense Host SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-affiliates" = callPackage
@@ -113368,7 +111400,6 @@ self: {
        description = "Google Affiliate Network SDK";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "gogol-alertcenter" = callPackage
@@ -113380,6 +111411,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google G Suite Alert Center SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-analytics" = callPackage
@@ -113391,6 +111423,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Analytics SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-analyticsreporting" = callPackage
@@ -113402,6 +111435,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Analytics Reporting SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-android-enterprise" = callPackage
@@ -113413,6 +111447,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Play EMM SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-android-publisher" = callPackage
@@ -113424,6 +111459,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Play Developer SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-androiddeviceprovisioning" = callPackage
@@ -113435,6 +111471,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Android Device Provisioning Partner SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-androidmanagement" = callPackage
@@ -113446,6 +111483,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Android Management SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-appengine" = callPackage
@@ -113457,6 +111495,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google App Engine Admin SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-apps-activity" = callPackage
@@ -113468,6 +111507,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Drive Activity SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-apps-calendar" = callPackage
@@ -113479,6 +111519,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Calendar SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-apps-licensing" = callPackage
@@ -113490,6 +111531,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Enterprise License Manager SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-apps-reseller" = callPackage
@@ -113501,6 +111543,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Enterprise Apps Reseller SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-apps-tasks" = callPackage
@@ -113512,6 +111555,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Tasks SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-appstate" = callPackage
@@ -113523,6 +111567,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google App State SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-autoscaler" = callPackage
@@ -113535,7 +111580,6 @@ self: {
        description = "Google Compute Engine Autoscaler SDK";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "gogol-bigquery" = callPackage
@@ -113547,6 +111591,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google BigQuery SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-bigquerydatatransfer" = callPackage
@@ -113558,6 +111603,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google BigQuery Data Transfer SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-bigtableadmin" = callPackage
@@ -113570,7 +111616,6 @@ self: {
        description = "Google Cloud Bigtable Admin SDK";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "gogol-billing" = callPackage
@@ -113582,6 +111627,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Billing SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-binaryauthorization" = callPackage
@@ -113593,6 +111639,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Binary Authorization SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-blogger" = callPackage
@@ -113604,6 +111651,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Blogger SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-books" = callPackage
@@ -113615,6 +111663,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Books SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-chat" = callPackage
@@ -113626,6 +111675,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Hangouts Chat SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-civicinfo" = callPackage
@@ -113637,6 +111687,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Civic Information SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-classroom" = callPackage
@@ -113648,6 +111699,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Classroom SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-cloudasset" = callPackage
@@ -113659,6 +111711,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Asset SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-clouderrorreporting" = callPackage
@@ -113670,6 +111723,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Stackdriver Error Reporting SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-cloudfunctions" = callPackage
@@ -113681,6 +111735,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Functions SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-cloudidentity" = callPackage
@@ -113692,6 +111747,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Identity SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-cloudiot" = callPackage
@@ -113703,6 +111759,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud IoT SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-cloudkms" = callPackage
@@ -113714,6 +111771,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Key Management Service (KMS) SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-cloudmonitoring" = callPackage
@@ -113726,7 +111784,6 @@ self: {
        description = "Google Cloud Monitoring SDK";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "gogol-cloudprivatecatalog" = callPackage
@@ -113738,6 +111795,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Private Catalog SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-cloudprivatecatalogproducer" = callPackage
@@ -113749,6 +111807,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Private Catalog Producer SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-cloudprofiler" = callPackage
@@ -113760,6 +111819,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Stackdriver Profiler SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-cloudscheduler" = callPackage
@@ -113771,6 +111831,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Scheduler SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-cloudsearch" = callPackage
@@ -113782,6 +111843,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Search SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-cloudshell" = callPackage
@@ -113793,6 +111855,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Shell SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-cloudtasks" = callPackage
@@ -113804,6 +111867,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Tasks SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-cloudtrace" = callPackage
@@ -113815,6 +111879,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Stackdriver Trace SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-commentanalyzer" = callPackage
@@ -113826,6 +111891,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Perspective Comment Analyzer SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-composer" = callPackage
@@ -113837,6 +111903,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Composer SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-compute" = callPackage
@@ -113848,6 +111915,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Compute Engine SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-consumersurveys" = callPackage
@@ -113859,6 +111927,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Consumer Surveys SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-container" = callPackage
@@ -113870,6 +111939,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Kubernetes Engine SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-containeranalysis" = callPackage
@@ -113881,6 +111951,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Container Analysis SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-containerbuilder" = callPackage
@@ -113892,6 +111963,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Build SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-core" = callPackage
@@ -113916,6 +111988,8 @@ self: {
        testHaskellDepends = [ base tasty ];
        description = "Core data types and functionality for Gogol libraries";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "gogol-customsearch" = callPackage
@@ -113927,6 +112001,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google CustomSearch SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-dataflow" = callPackage
@@ -113938,6 +112013,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Dataflow SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-datafusion" = callPackage
@@ -113949,6 +112025,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Data Fusion SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-dataproc" = callPackage
@@ -113960,6 +112037,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Dataproc SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-datastore" = callPackage
@@ -113971,6 +112049,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Datastore SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-debugger" = callPackage
@@ -113982,6 +112061,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Stackdriver Debugger SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-deploymentmanager" = callPackage
@@ -113993,6 +112073,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Deployment Manager SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-dfareporting" = callPackage
@@ -114004,6 +112085,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google DCM/DFA Reporting And Trafficking SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-dialogflow" = callPackage
@@ -114015,6 +112097,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Dialogflow SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-digitalassetlinks" = callPackage
@@ -114026,6 +112109,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Digital Asset Links SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-discovery" = callPackage
@@ -114037,6 +112121,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google API Discovery Service SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-dlp" = callPackage
@@ -114048,6 +112133,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Data Loss Prevention (DLP) SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-dns" = callPackage
@@ -114059,6 +112145,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud DNS SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-docs" = callPackage
@@ -114070,6 +112157,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Docs SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-doubleclick-bids" = callPackage
@@ -114081,6 +112169,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google DoubleClick Bid Manager SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-doubleclick-search" = callPackage
@@ -114092,6 +112181,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google DoubleClick Search SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-drive" = callPackage
@@ -114103,6 +112193,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Drive SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-driveactivity" = callPackage
@@ -114114,6 +112205,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Drive Activity SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-factchecktools" = callPackage
@@ -114125,6 +112217,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Fact Check Tools SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-file" = callPackage
@@ -114136,6 +112229,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Filestore SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-firebase-dynamiclinks" = callPackage
@@ -114147,6 +112241,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Firebase Dynamic Links SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-firebase-rules" = callPackage
@@ -114158,6 +112253,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Firebase Rules SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-firebasehosting" = callPackage
@@ -114169,6 +112265,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Firebase Hosting SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-firebaseremoteconfig" = callPackage
@@ -114180,6 +112277,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Firebase Remote Config SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-firestore" = callPackage
@@ -114191,6 +112289,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Firestore SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-fitness" = callPackage
@@ -114202,6 +112301,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Fitness SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-fonts" = callPackage
@@ -114213,6 +112313,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Fonts Developer SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-freebasesearch" = callPackage
@@ -114225,7 +112326,6 @@ self: {
        description = "Google Freebase Search SDK";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "gogol-fusiontables" = callPackage
@@ -114237,6 +112337,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Fusion Tables SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-games" = callPackage
@@ -114248,6 +112349,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Play Game Services SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-games-configuration" = callPackage
@@ -114259,6 +112361,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Play Game Services Publishing SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-games-management" = callPackage
@@ -114270,6 +112373,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Play Game Services Management SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-genomics" = callPackage
@@ -114281,6 +112385,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Genomics SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-gmail" = callPackage
@@ -114292,6 +112397,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Gmail SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-groups-migration" = callPackage
@@ -114303,6 +112409,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Groups Migration SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-groups-settings" = callPackage
@@ -114314,6 +112421,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Groups Settings SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-healthcare" = callPackage
@@ -114325,6 +112433,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Healthcare SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-iam" = callPackage
@@ -114336,6 +112445,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Identity and Access Management (IAM) SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-iamcredentials" = callPackage
@@ -114347,6 +112457,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google IAM Service Account Credentials SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-iap" = callPackage
@@ -114358,6 +112469,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Identity-Aware Proxy SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-identity-toolkit" = callPackage
@@ -114369,6 +112481,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Identity Toolkit SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-indexing" = callPackage
@@ -114380,6 +112493,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Indexing SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-jobs" = callPackage
@@ -114391,6 +112505,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Talent Solution SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-kgsearch" = callPackage
@@ -114402,6 +112517,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Knowledge Graph Search SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-language" = callPackage
@@ -114413,6 +112529,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Natural Language SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-latencytest" = callPackage
@@ -114425,7 +112542,6 @@ self: {
        description = "Google Cloud Network Performance Monitoring SDK";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "gogol-libraryagent" = callPackage
@@ -114437,6 +112553,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Library Agent SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-logging" = callPackage
@@ -114448,6 +112565,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Stackdriver Logging SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-manufacturers" = callPackage
@@ -114459,6 +112577,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Manufacturer Center SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-maps-coordinate" = callPackage
@@ -114471,7 +112590,6 @@ self: {
        description = "Google Maps Coordinate SDK";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "gogol-maps-engine" = callPackage
@@ -114484,7 +112602,6 @@ self: {
        description = "Google Maps Engine SDK";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "gogol-mirror" = callPackage
@@ -114496,6 +112613,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Mirror SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-ml" = callPackage
@@ -114507,6 +112625,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Machine Learning Engine SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-monitoring" = callPackage
@@ -114518,6 +112637,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Stackdriver Monitoring SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-oauth2" = callPackage
@@ -114529,6 +112649,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google OAuth2 SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-oslogin" = callPackage
@@ -114540,6 +112661,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud OS Login SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-pagespeed" = callPackage
@@ -114551,6 +112673,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google PageSpeed Insights SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-partners" = callPackage
@@ -114562,6 +112685,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Partners SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-people" = callPackage
@@ -114573,6 +112697,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google People SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-photoslibrary" = callPackage
@@ -114585,7 +112710,6 @@ self: {
        description = "Google Photos Library SDK";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "gogol-play-moviespartner" = callPackage
@@ -114597,6 +112721,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Play Movies Partner SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-playcustomapp" = callPackage
@@ -114608,6 +112733,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Play Custom App Publishing SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-plus" = callPackage
@@ -114619,6 +112745,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google + SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-plus-domains" = callPackage
@@ -114630,6 +112757,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google + Domains SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-poly" = callPackage
@@ -114641,6 +112769,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Poly SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-prediction" = callPackage
@@ -114652,6 +112781,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Prediction SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-proximitybeacon" = callPackage
@@ -114663,6 +112793,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Proximity Beacon SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-pubsub" = callPackage
@@ -114674,6 +112805,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Pub/Sub SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-qpxexpress" = callPackage
@@ -114685,6 +112817,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google QPX Express SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-redis" = callPackage
@@ -114696,6 +112829,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Memorystore for Redis SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-remotebuildexecution" = callPackage
@@ -114707,6 +112841,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Remote Build Execution SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-replicapool" = callPackage
@@ -114718,6 +112853,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Replica Pool SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-replicapool-updater" = callPackage
@@ -114729,6 +112865,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Compute Engine Instance Group Updater SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-resourcemanager" = callPackage
@@ -114740,6 +112877,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Resource Manager SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-resourceviews" = callPackage
@@ -114752,7 +112890,6 @@ self: {
        description = "Google Compute Engine Instance Groups SDK";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "gogol-run" = callPackage
@@ -114764,6 +112901,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Run SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-runtimeconfig" = callPackage
@@ -114775,6 +112913,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Runtime Configuration SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-safebrowsing" = callPackage
@@ -114786,6 +112925,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Safe Browsing SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-script" = callPackage
@@ -114797,6 +112937,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Apps Script SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-searchconsole" = callPackage
@@ -114808,6 +112949,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Search Console URL Testing Tools SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-securitycenter" = callPackage
@@ -114819,6 +112961,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Security Command Center SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-servicebroker" = callPackage
@@ -114830,6 +112973,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Service Broker SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-serviceconsumermanagement" = callPackage
@@ -114841,6 +112985,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Service Consumer Management SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-servicecontrol" = callPackage
@@ -114852,6 +112997,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Service Control SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-servicemanagement" = callPackage
@@ -114864,7 +113010,6 @@ self: {
        description = "Google Service Management SDK";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "gogol-servicenetworking" = callPackage
@@ -114876,6 +113021,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Service Networking SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-serviceusage" = callPackage
@@ -114887,6 +113033,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Service Usage SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-serviceuser" = callPackage
@@ -114898,6 +113045,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Service User SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-sheets" = callPackage
@@ -114909,6 +113057,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Sheets SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-shopping-content" = callPackage
@@ -114920,6 +113069,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Content API for Shopping SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-siteverification" = callPackage
@@ -114931,6 +113081,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Site Verification SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-slides" = callPackage
@@ -114942,6 +113093,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Slides SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-sourcerepo" = callPackage
@@ -114953,6 +113105,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Source Repositories SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-spanner" = callPackage
@@ -114964,6 +113117,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Spanner SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-spectrum" = callPackage
@@ -114975,6 +113129,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Spectrum Database SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-speech" = callPackage
@@ -114986,6 +113141,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Speech-to-Text SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-sqladmin" = callPackage
@@ -114997,6 +113153,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud SQL Admin SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-storage" = callPackage
@@ -115008,6 +113165,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Storage JSON SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-storage-transfer" = callPackage
@@ -115019,6 +113177,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Storage Transfer SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-streetviewpublish" = callPackage
@@ -115030,6 +113189,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Street View Publish SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-surveys" = callPackage
@@ -115041,6 +113201,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Surveys SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-tagmanager" = callPackage
@@ -115052,6 +113213,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Tag Manager SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-taskqueue" = callPackage
@@ -115064,7 +113226,6 @@ self: {
        description = "Google TaskQueue SDK";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "gogol-testing" = callPackage
@@ -115076,6 +113237,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Testing SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-texttospeech" = callPackage
@@ -115087,6 +113249,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Text-to-Speech SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-toolresults" = callPackage
@@ -115098,6 +113261,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Tool Results SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-tpu" = callPackage
@@ -115109,6 +113273,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud TPU SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-tracing" = callPackage
@@ -115120,6 +113285,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Tracing SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-translate" = callPackage
@@ -115131,6 +113297,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Translation SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-urlshortener" = callPackage
@@ -115142,6 +113309,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google URL Shortener SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-useraccounts" = callPackage
@@ -115154,7 +113322,6 @@ self: {
        description = "Google Cloud User Accounts SDK";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "gogol-vault" = callPackage
@@ -115166,6 +113333,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google G Suite Vault SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-videointelligence" = callPackage
@@ -115177,6 +113345,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Video Intelligence SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-vision" = callPackage
@@ -115188,6 +113357,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Cloud Vision SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-webmaster-tools" = callPackage
@@ -115199,6 +113369,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Search Console SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-websecurityscanner" = callPackage
@@ -115210,6 +113381,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google Web Security Scanner SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-youtube" = callPackage
@@ -115221,6 +113393,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google YouTube Data SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-youtube-analytics" = callPackage
@@ -115232,6 +113405,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google YouTube Analytics SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gogol-youtube-reporting" = callPackage
@@ -115243,6 +113417,7 @@ self: {
        libraryHaskellDepends = [ base gogol-core ];
        description = "Google YouTube Reporting SDK";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "goldplate" = callPackage
@@ -115395,15 +113570,14 @@ self: {
      }:
      mkDerivation {
        pname = "google-maps-geocoding";
-       version = "0.7.0.0";
-       sha256 = "0p6b2xyfkw073anhwwk4sdpphj3j1h24k277yc131yvyjlw4kslx";
+       version = "0.7.0.1";
+       sha256 = "01330l7z0s30mk0vh4j0kcl5xmfyahr16is7ldxf4h3y9w8b3ajg";
        libraryHaskellDepends = [
          aeson base google-static-maps http-client servant servant-client
          text
        ];
        description = "Bindings to the Google Geocoding API (formerly Maps Geocoding API)";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "google-oauth2" = callPackage
@@ -115479,6 +113653,8 @@ self: {
        ];
        description = "Get a signed JWT for Google Service Accounts";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "google-search" = callPackage
@@ -115504,8 +113680,8 @@ self: {
      }:
      mkDerivation {
        pname = "google-server-api";
-       version = "0.3.3.1";
-       sha256 = "17lsjlfkr3crxyxhj7w77ga7h7c6va6z5qmyvmhwapmym1zmsqrs";
+       version = "0.4.0.1";
+       sha256 = "064y4rw4dpx3k9h7p8pwzydkrbh5ljnqgzlxdsgis665hh4kp0rr";
        libraryHaskellDepends = [
          aeson aeson-casing base base64-bytestring bytestring HsOpenSSL
          http-api-data http-client http-client-tls http-media mime-mail
@@ -115515,6 +113691,8 @@ self: {
        ];
        description = "Google APIs for server to server applications";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "google-static-maps" = callPackage
@@ -115525,8 +113703,8 @@ self: {
      }:
      mkDerivation {
        pname = "google-static-maps";
-       version = "0.7.0.0";
-       sha256 = "09ir6y13n3sk34g3nnbhv6rz6kibw1gph6fap8f9dlna1g1s1vrb";
+       version = "0.7.0.1";
+       sha256 = "0cs5hwll03liqml504kw7zzyk1ah5lbpxpqzwhfhkzz5a9swigqa";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytedump bytestring cryptonite
          double-conversion http-client JuicyPixels memory network-uri
@@ -115534,7 +113712,6 @@ self: {
        ];
        description = "Bindings to the Google Maps Static API (formerly Static Maps API)";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "google-translate" = callPackage
@@ -115600,27 +113777,6 @@ self: {
      }:
      mkDerivation {
        pname = "gopher-proxy";
-       version = "0.1.1.2";
-       sha256 = "1ji7gfvcagvnv716ii6hwlv3g1np9iif7dk94mg42k265j30h4gh";
-       isLibrary = false;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       executableHaskellDepends = [
-         attoparsec base bytestring directory errors http-types lucid
-         mime-types network optparse-applicative text wai warp
-       ];
-       description = "proxy gopher over http";
-       license = lib.licenses.gpl3Only;
-       maintainers = with lib.maintainers; [ sternenseemann ];
-     }) {};
-
-  "gopher-proxy_0_1_1_3" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, directory, errors
-     , http-types, lucid, mime-types, network, optparse-applicative
-     , text, wai, warp
-     }:
-     mkDerivation {
-       pname = "gopher-proxy";
        version = "0.1.1.3";
        sha256 = "0pqsir7hpz2hfdczhvvnqh7rbckxkzj7fsdq6r27nm9ixf5kmwfb";
        isLibrary = false;
@@ -115632,7 +113788,6 @@ self: {
        ];
        description = "proxy gopher over http";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ sternenseemann ];
      }) {};
 
@@ -115658,27 +113813,27 @@ self: {
   "gopro-plus" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, exceptions
      , filepath, generic-deriving, generic-random, HUnit, lens
-     , lens-aeson, mtl, QuickCheck, quickcheck-instances, random
-     , raw-strings-qq, retry, tasty, tasty-discover, tasty-hunit
+     , lens-aeson, monad-logger, mtl, QuickCheck, quickcheck-instances
+     , random, raw-strings-qq, retry, tasty, tasty-discover, tasty-hunit
      , tasty-quickcheck, text, time, transformers, unix, unliftio
      , unordered-containers, vector, wreq
      }:
      mkDerivation {
        pname = "gopro-plus";
-       version = "0.6.1.1";
-       sha256 = "1nip991jcv1pqa5zb83wdbf6pnimzp9d39az9zbvlvgkrrnkf522";
+       version = "0.6.5.0";
+       sha256 = "09hj57r77r9mx2dy830n9qv3ap2nsg8a94gmpzf69zddqvk1fhm8";
        libraryHaskellDepends = [
          aeson base bytestring containers exceptions filepath
-         generic-deriving generic-random lens lens-aeson mtl QuickCheck
-         quickcheck-instances random retry text time transformers unix
-         unliftio unordered-containers vector wreq
+         generic-deriving generic-random lens lens-aeson monad-logger mtl
+         QuickCheck quickcheck-instances random retry text time transformers
+         unix unliftio unordered-containers vector wreq
        ];
        testHaskellDepends = [
          aeson base bytestring containers exceptions filepath
-         generic-deriving generic-random HUnit lens lens-aeson mtl
-         QuickCheck quickcheck-instances random raw-strings-qq retry tasty
-         tasty-discover tasty-hunit tasty-quickcheck text time transformers
-         unix unliftio unordered-containers vector wreq
+         generic-deriving generic-random HUnit lens lens-aeson monad-logger
+         mtl QuickCheck quickcheck-instances random raw-strings-qq retry
+         tasty tasty-discover tasty-hunit tasty-quickcheck text time
+         transformers unix unliftio unordered-containers vector wreq
        ];
        testToolDepends = [ tasty-discover ];
        description = "GoPro Plus Client API";
@@ -116082,28 +114237,25 @@ self: {
     ({ mkDerivation, base, criterion, hedgehog }:
      mkDerivation {
        pname = "grab";
-       version = "0.0.0.6";
-       sha256 = "0fhindbl5ygfncbww0wqbq4bkjr9q6v0f12f0rzblz71wapshnni";
+       version = "0.0.0.7";
+       sha256 = "14r5asraz28apc7fhyf36ai1i6ndgf29c32ln5nk88s6z1fnlhvk";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hedgehog ];
        benchmarkHaskellDepends = [ base criterion ];
        description = "Applicative non-linear consumption";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "grab-form" = callPackage
     ({ mkDerivation, base, containers, grab, hedgehog, text }:
      mkDerivation {
        pname = "grab-form";
-       version = "0.0.0.6";
-       sha256 = "18gk6p6fxvsiihlr6amvlqf9s7i4v0wi7vzpfjkc580zzvxd9c8n";
+       version = "0.0.0.7";
+       sha256 = "0hqj0b6lv3qs5cs4rhsmk3prd25x8v6m04ilab8jck3c01lfksfm";
        libraryHaskellDepends = [ base containers grab text ];
-       testHaskellDepends = [ base containers hedgehog text ];
+       testHaskellDepends = [ base containers grab hedgehog text ];
        description = "Applicative parsers for form parameter lists";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "graceful" = callPackage
@@ -116239,6 +114391,8 @@ self: {
        ];
        description = "parsers that combine into grammars";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "grapefruit-examples" = callPackage
@@ -116616,8 +114770,6 @@ self: {
        ];
        description = "Converts a graph-trace log into a DOT file for use with Graphviz";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "graph-trace-viz" = callPackage
@@ -116635,7 +114787,6 @@ self: {
        ];
        description = "Converts a graph-trace log into an HTML document";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "graph-utils" = callPackage
@@ -116857,16 +115008,16 @@ self: {
      }:
      mkDerivation {
        pname = "graphql";
-       version = "1.0.2.0";
-       sha256 = "1wnamdj6d0m1qqngslwiv5s20f16v9000hn2jq7q4m3f2y2pf2kb";
+       version = "1.0.3.0";
+       sha256 = "10b8kqzbw1cb3ylb16v7ps1qxr11irz4546plq0y1ah7cbrgs3d3";
        libraryHaskellDepends = [
          aeson base conduit containers exceptions hspec-expectations
          megaparsec parser-combinators scientific template-haskell text
          transformers unordered-containers vector
        ];
        testHaskellDepends = [
-         base conduit exceptions hspec hspec-megaparsec megaparsec
-         QuickCheck text unordered-containers
+         base conduit containers exceptions hspec hspec-megaparsec
+         megaparsec QuickCheck text unordered-containers vector
        ];
        description = "Haskell GraphQL implementation";
        license = "MPL-2.0 AND BSD-3-Clause";
@@ -116936,6 +115087,28 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "graphql-spice" = callPackage
+    ({ mkDerivation, aeson, base, conduit, containers, exceptions
+     , graphql, hspec, hspec-expectations, megaparsec, scientific, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "graphql-spice";
+       version = "1.0.0.0";
+       sha256 = "06ni93n7wqi68k7vaqjls1hz36kiv3gcvlbnfz8wfhc5vgi8qznh";
+       libraryHaskellDepends = [
+         aeson base conduit containers exceptions graphql hspec-expectations
+         megaparsec scientific text unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base graphql hspec scientific text unordered-containers
+       ];
+       description = "GraphQL with batteries";
+       license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "graphql-utils" = callPackage
     ({ mkDerivation, aeson, aeson-helper, base, graphql, text
      , unordered-containers, vector
@@ -116950,7 +115123,6 @@ self: {
        description = "GraphQL Utils";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "graphql-w-persistent" = callPackage
@@ -117353,28 +115525,6 @@ self: {
 
   "greskell" = callPackage
     ({ mkDerivation, aeson, base, bytestring, doctest, doctest-discover
-     , exceptions, greskell-core, hashable, hint, hspec, hspec-discover
-     , semigroups, text, transformers, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "greskell";
-       version = "1.2.0.2";
-       sha256 = "0zqxln8gcjb3i88b9x156rv3v4d0zlrkca11w1bmbjly8zpgrl4x";
-       libraryHaskellDepends = [
-         aeson base exceptions greskell-core hashable semigroups text
-         transformers unordered-containers vector
-       ];
-       testHaskellDepends = [
-         aeson base bytestring doctest doctest-discover greskell-core hint
-         hspec text unordered-containers
-       ];
-       testToolDepends = [ doctest-discover hspec-discover ];
-       description = "Haskell binding for Gremlin graph query language";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "greskell_2_0_0_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, doctest, doctest-discover
      , exceptions, greskell-core, hashable, hspec, hspec-discover
      , semigroups, should-not-typecheck, text, transformers
      , unordered-containers, vector
@@ -117394,7 +115544,6 @@ self: {
        testToolDepends = [ doctest-discover hspec-discover ];
        description = "Haskell binding for Gremlin graph query language";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "greskell-core" = callPackage
@@ -117404,28 +115553,6 @@ self: {
      }:
      mkDerivation {
        pname = "greskell-core";
-       version = "0.1.3.7";
-       sha256 = "1lffgrc4q9iwfdgn7qfxyhk459x47fl2fg6rvgqr4jqz1xp7x9cy";
-       libraryHaskellDepends = [
-         aeson base containers hashable scientific semigroups text
-         unordered-containers uuid vector
-       ];
-       testHaskellDepends = [
-         aeson base bytestring doctest doctest-discover hspec QuickCheck
-         text unordered-containers vector
-       ];
-       testToolDepends = [ doctest-discover hspec-discover ];
-       description = "Haskell binding for Gremlin graph query language - core data types and tools";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "greskell-core_1_0_0_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, doctest
-     , doctest-discover, hashable, hspec, hspec-discover, QuickCheck
-     , scientific, semigroups, text, unordered-containers, uuid, vector
-     }:
-     mkDerivation {
-       pname = "greskell-core";
        version = "1.0.0.0";
        sha256 = "0b86rwghrbqzqk5vb9n6qsc4a12pbnwvvy20wdiv1g51dpyi440a";
        libraryHaskellDepends = [
@@ -117439,7 +115566,6 @@ self: {
        testToolDepends = [ doctest-discover hspec-discover ];
        description = "Haskell binding for Gremlin graph query language - core data types and tools";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "greskell-websocket" = callPackage
@@ -117449,29 +115575,6 @@ self: {
      }:
      mkDerivation {
        pname = "greskell-websocket";
-       version = "0.1.2.6";
-       sha256 = "1wjfvx25k603ymsalvgzrpnyw20mliky5mclrx6caxqyh0plqdak";
-       libraryHaskellDepends = [
-         aeson async base base64-bytestring bytestring greskell-core
-         hashtables safe-exceptions stm text unordered-containers uuid
-         vector websockets
-       ];
-       testHaskellDepends = [
-         aeson base bytestring greskell-core hspec unordered-containers uuid
-         vector
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Haskell client for Gremlin Server using WebSocket serializer";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "greskell-websocket_1_0_0_0" = callPackage
-    ({ mkDerivation, aeson, async, base, base64-bytestring, bytestring
-     , greskell-core, hashtables, hspec, hspec-discover, safe-exceptions
-     , stm, text, unordered-containers, uuid, vector, websockets
-     }:
-     mkDerivation {
-       pname = "greskell-websocket";
        version = "1.0.0.0";
        sha256 = "1nw8jz843080w6jq4j8bmqv9pz66va1yp36a0d1vkybhdhlxs5vy";
        libraryHaskellDepends = [
@@ -117486,7 +115589,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Haskell client for Gremlin Server using WebSocket serializer";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "grid" = callPackage
@@ -117506,26 +115608,25 @@ self: {
      }) {};
 
   "grid-proto" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, linear, sdl2
-     , sdl2-fps, sdl2-gfx, sdl2-mixer, sdl2-ttf, StateVar, text, vector
+    ({ mkDerivation, base, bytestring, containers, linear, sdl2
+     , sdl2-gfx, sdl2-mixer, sdl2-ttf, StateVar, text, vector
      }:
      mkDerivation {
        pname = "grid-proto";
-       version = "0.1.0.0";
-       sha256 = "0jwwgnzv27af5wcynfi2rm1xnp5lvqrnaqi1asw27ng4413y3jqk";
+       version = "0.2.0.1";
+       sha256 = "0hg7302jab5v9v26w9g400y98mrxphjijlwj9mb5aqlcmbp93cps";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base bytestring containers linear sdl2 sdl2-fps sdl2-gfx
-         sdl2-mixer sdl2-ttf StateVar text vector
-       ];
-       executableHaskellDepends = [
-         aeson base bytestring containers linear sdl2 sdl2-fps sdl2-gfx
-         sdl2-mixer sdl2-ttf StateVar text vector
+         base bytestring containers linear sdl2 sdl2-gfx sdl2-mixer sdl2-ttf
+         StateVar text vector
        ];
-       description = "Grid-based prototyping framework";
+       executableHaskellDepends = [ base ];
+       description = "Game engine for Prototyping on a Grid";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
+       platforms = [
+         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
+       ];
      }) {};
 
   "gridbounds" = callPackage
@@ -117611,6 +115712,8 @@ self: {
          vector
        ];
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "grm" = callPackage
@@ -117698,7 +115801,6 @@ self: {
        description = "Command line utility to manage AWS ECS resources";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "gross" = callPackage
@@ -117714,7 +115816,6 @@ self: {
        description = "A spoof on gloss for terminal animation";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "groundhog" = callPackage
@@ -117753,7 +115854,6 @@ self: {
        description = "Extended Converter Library for groundhog embedded types";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "groundhog-inspector" = callPackage
@@ -117778,7 +115878,6 @@ self: {
        description = "Type-safe datatype-database mapping library";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "groundhog-mysql" = callPackage
@@ -117851,6 +115950,8 @@ self: {
        ];
        description = "Type-safe datatype-database mapping library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "group-by-date" = callPackage
@@ -117925,15 +116026,13 @@ self: {
      }:
      mkDerivation {
        pname = "grouped-list";
-       version = "0.2.2.1";
-       sha256 = "1bs8rkdrg82v3k08icl6fsgdyfz8m0vkvsbxpm3iym01xcfmzzal";
+       version = "0.2.3.0";
+       sha256 = "1kv0c2j8g8mydkziyjm87j53g5jr6cbyrvik9z2w5izby5ws6bjs";
        libraryHaskellDepends = [ base binary containers deepseq pointed ];
        testHaskellDepends = [ base QuickCheck tasty tasty-quickcheck ];
        benchmarkHaskellDepends = [ base criterion ];
        description = "Grouped lists. Equal consecutive elements are grouped.";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "groupoid" = callPackage
@@ -117998,6 +116097,8 @@ self: {
        testToolDepends = [ tasty-discover ];
        description = "Mutable vector with efficient appends";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "growler" = callPackage
@@ -118366,8 +116467,8 @@ self: {
      }:
      mkDerivation {
        pname = "gtk";
-       version = "0.15.5";
-       sha256 = "096xawq85shmdhsqwpcmidjc4asqgqxsxv0f0xff78169jrdh6a2";
+       version = "0.15.7";
+       sha256 = "063gfqpz8l4g2d1dy2iabdh2z350z82krgav9rypwi1vws92z9pn";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal gtk2hs-buildtools ];
        libraryHaskellDepends = [
@@ -118391,6 +116492,8 @@ self: {
        ];
        description = "A collection of auxiliary operations and widgets related to Gtk+";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "gtk-jsinput" = callPackage
@@ -118435,8 +116538,6 @@ self: {
        description = "Bindings for the Gtk/OS X integration library";
        license = lib.licenses.lgpl21Only;
        platforms = [ "aarch64-darwin" "x86_64-darwin" ];
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) gtk-mac-integration-gtk2;};
 
   "gtk-serialized-event" = callPackage
@@ -118554,8 +116655,8 @@ self: {
      }:
      mkDerivation {
        pname = "gtk2hs-buildtools";
-       version = "0.13.8.2";
-       sha256 = "01zdjn50lj8aw0ild97m4g7k1jfscsxvabs2f6laxk6ql6jy5iag";
+       version = "0.13.8.3";
+       sha256 = "0fcm0v32hm9j908nyziia16ahb181y9hqppsy18clx2prvj480rv";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -118582,7 +116683,6 @@ self: {
        ];
        description = "A type class for cast functions of Gtk2hs: glade package";
        license = "unknown";
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "gtk2hs-cast-glib" = callPackage
@@ -118708,8 +116808,8 @@ self: {
      }:
      mkDerivation {
        pname = "gtk3";
-       version = "0.15.6";
-       sha256 = "008q6pbl0vq4c2cg94s5az67xdy5q3nzi8qgr7934q3cgdhzbb8w";
+       version = "0.15.7";
+       sha256 = "0f8gpmm52hzy8zszy2qdd3a30ssr6zdv4r09vqdkq8p5yrc419j4";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -118735,6 +116835,8 @@ self: {
        ];
        description = "A collection of auxiliary operations and widgets related to Gtk";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "gtk3-mac-integration" = callPackage
@@ -118751,8 +116853,9 @@ self: {
        libraryPkgconfigDepends = [ gtk-mac-integration-gtk3 ];
        description = "Bindings for the Gtk/OS X integration library";
        license = lib.licenses.lgpl21Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
+       platforms = [
+         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
+       ];
      }) {inherit (pkgs) gtk-mac-integration-gtk3;};
 
   "gtkglext" = callPackage
@@ -118891,6 +116994,7 @@ self: {
        description = "Generate simple combinators given their type";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "guid" = callPackage
@@ -119354,6 +117458,7 @@ self: {
        ];
        description = "native Haskell implementation of OpenPGP (RFC4880)";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hPDB" = callPackage
@@ -120167,7 +118272,6 @@ self: {
        description = "Simple mirroring utility for Hackage";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hackage-plot" = callPackage
@@ -120262,8 +118366,10 @@ self: {
      }:
      mkDerivation {
        pname = "hackage-security";
-       version = "0.6.2.0";
-       sha256 = "1jqpxcpsrixpvficqw5vdfrksg568967ncmisnd3j3jw3sxja5q8";
+       version = "0.6.2.1";
+       sha256 = "1a349ma9ijypjzgj7xgkkr6rd8k49crdgx330h9vgmp7vlbcs8mz";
+       revision = "1";
+       editedCabalFile = "0vhwszqngng5vxf2dpn1fdai59s8c7jh6p04jf983y9rzbic6d7b";
        libraryHaskellDepends = [
          base base16-bytestring base64-bytestring bytestring Cabal
          Cabal-syntax containers cryptohash-sha256 directory ed25519
@@ -120287,8 +118393,8 @@ self: {
        pname = "hackage-security-HTTP";
        version = "0.1.1.1";
        sha256 = "14hp7gssf80b9937j7m56w8sxrv3hrzjf2s9kgfk76v6llgx79k2";
-       revision = "1";
-       editedCabalFile = "18b22jjg5nbfvb83yc36gy25y9v5d1p4z2n89cazzn16hlf813xk";
+       revision = "2";
+       editedCabalFile = "0gbb5k37plm33bg0dv5rjc9jvc8yz8c40r4pg74jx5va8wpsvn13";
        libraryHaskellDepends = [
          base bytestring hackage-security HTTP mtl network network-uri zlib
        ];
@@ -120333,6 +118439,7 @@ self: {
        description = "The Hackage web server";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hackage-sparks" = callPackage
@@ -120496,8 +118603,8 @@ self: {
      }:
      mkDerivation {
        pname = "hackport";
-       version = "0.7";
-       sha256 = "0jp0120m11390bbrcarrqvavqj6fbjfm44wnhn8c6n6yfr29im24";
+       version = "0.7.1.1";
+       sha256 = "0pqv62wgz8fdn7g46y4z01r60qf5n6d1ssgasslxzdw3sb42i55z";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -120516,9 +118623,7 @@ self: {
        ];
        testToolDepends = [ hspec-discover ];
        description = "Hackage and Portage integration tool";
-       license = "GPL";
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
+       license = lib.licenses.gpl3Plus;
      }) {};
 
   "hactor" = callPackage
@@ -120703,8 +118808,8 @@ self: {
        pname = "haddock-library";
        version = "1.10.0";
        sha256 = "15ak06q8yp11xz1hwr0sg2jqi3r78p1n89ik05hicqvxl3awf1pq";
-       revision = "2";
-       editedCabalFile = "12kw6y105fyilp2aby2vwzwgmnr3h2yrahhm1v34anfv8psjq1r0";
+       revision = "3";
+       editedCabalFile = "1fnfcr3gvdjrya0czr3k2sqv4xmmvyv66yni2mckfppra93mcglg";
        libraryHaskellDepends = [
          base bytestring containers parsec text transformers
        ];
@@ -120767,8 +118872,8 @@ self: {
      }:
      mkDerivation {
        pname = "hadolint";
-       version = "2.8.0";
-       sha256 = "07dqm4jcglshwqyvp17773xd07bhk5mdybn4ax5ff4xrvg4pj9ah";
+       version = "2.9.3";
+       sha256 = "0kiy570s08qf9gqphbbv5kzhfkbc3m1jpzpszpb52rbmflmgwi7m";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -121029,6 +119134,8 @@ self: {
        ];
        description = "A service for pull-based continuous deployment based on hydra";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hailgun" = callPackage
@@ -121047,6 +119154,8 @@ self: {
        ];
        description = "Mailgun REST api interface for Haskell";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hailgun-send" = callPackage
@@ -121063,7 +119172,6 @@ self: {
        description = "A program to send emails throught the Mailgun api";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hailgun-simple" = callPackage
@@ -121079,6 +119187,7 @@ self: {
        ];
        description = "Easy-to-use wrapper for the hailgun package";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hails" = callPackage
@@ -121282,8 +119391,8 @@ self: {
        pname = "hakyll";
        version = "4.15.1.1";
        sha256 = "0b3bw275q1xbx8qs9a6gzzs3c9z3qdj7skqhpp09jkchi5kdvhvi";
-       revision = "1";
-       editedCabalFile = "020nb84lc4xl87zysy5v81f91aw494r5aa917z08vw2zsd3jdl9g";
+       revision = "2";
+       editedCabalFile = "0rsr61xndj6kxwscbp4zcq2y5x9cg7y0r4iblj3s767yw1ajnpn4";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -121495,8 +119604,8 @@ self: {
        pname = "hakyll-convert";
        version = "0.3.0.4";
        sha256 = "09fqr05mvs0qs53psq97kn1s4axinwn1vr5d6af4sqj3zc5k6k39";
-       revision = "1";
-       editedCabalFile = "0sg82zrawgklzkzpj8gpigwh1ixzi2igsxl8s881skq1z9k1fphj";
+       revision = "2";
+       editedCabalFile = "04j3f0p71y8hwx92daj31r609xj647r3v5yhxr9whzfn432wj7p1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -121587,8 +119696,8 @@ self: {
      }:
      mkDerivation {
        pname = "hakyll-filestore";
-       version = "0.1.9";
-       sha256 = "1lxm78w2n81wsbi6axyrqjv2ikdprf7vvx1r2ricqd6h7dwjsalr";
+       version = "0.1.10";
+       sha256 = "1wj2qb32ys2czmj0f2jp2fqd0khma4nrdgb2d76vrm8j77bsm7vm";
        libraryHaskellDepends = [
          base filestore hakyll time time-locale-compat
        ];
@@ -121638,8 +119747,6 @@ self: {
        libraryHaskellDepends = [ base bytestring hakyll typed-process ];
        description = "Hakyll compiler for arbitrary external processes";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hakyll-sass" = callPackage
@@ -121725,7 +119832,6 @@ self: {
        description = "Use shortcut-links in markdown file for Hakyll";
        license = lib.licenses.mpl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hakyll-typescript" = callPackage
@@ -121743,33 +119849,62 @@ self: {
        description = "Typescript and javascript hakyll compilers";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hal" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, bytestring
      , case-insensitive, conduit, conduit-extra, containers, envy
      , exceptions, hashable, hedgehog, hspec, hspec-hedgehog
-     , http-client, http-types, mtl, scientific, text, time
-     , transformers, unordered-containers, vector
+     , http-client, http-types, mtl, raw-strings-qq, scientific, text
+     , time, transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "hal";
-       version = "0.4.8";
-       sha256 = "1j3prf81ni5v003byl992dxvvkv8prgmsqmnpkwpd0365ilxyv2y";
-       revision = "2";
-       editedCabalFile = "13cxps4cxwralwvn1fvg5jwdf4j0lkza147h97dmsxl56lz1ar0q";
+       version = "0.4.10";
+       sha256 = "10byncg5m23qfzi2avlrh3yq5gdppgiy998a225wa5p95m31xh9b";
+       revision = "1";
+       editedCabalFile = "01mrqgh8n1kzpclcfqpc02jqdijj9pwks9bia5hs1s6vnasbpfg7";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytestring case-insensitive conduit
          conduit-extra containers envy exceptions hashable http-client
-         http-types mtl text time unordered-containers
+         http-types mtl scientific text time unordered-containers
        ];
        testHaskellDepends = [
          aeson base base64-bytestring bytestring case-insensitive containers
-         hedgehog hspec hspec-hedgehog http-client http-types scientific
-         text time transformers unordered-containers vector
+         hedgehog hspec hspec-hedgehog http-client http-types raw-strings-qq
+         scientific text time transformers unordered-containers vector
+       ];
+       description = "A runtime environment for Haskell applications running on AWS Lambda";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "hal_0_4_10_1" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring
+     , case-insensitive, conduit, conduit-extra, containers, envy
+     , exceptions, hashable, hedgehog, hspec, hspec-hedgehog
+     , http-client, http-types, mtl, raw-strings-qq, scientific, text
+     , time, transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "hal";
+       version = "0.4.10.1";
+       sha256 = "1mxlyx0zxvklrybasx8p6di72aw431mbbyj06pb91570j9c46fp0";
+       revision = "1";
+       editedCabalFile = "1y26hf8paym4yj34zvi2d2faji8mvw4g4zl17ii9jfwldfqd0r19";
+       libraryHaskellDepends = [
+         aeson base base64-bytestring bytestring case-insensitive conduit
+         conduit-extra containers envy exceptions hashable http-client
+         http-types mtl scientific text time unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base base64-bytestring bytestring case-insensitive containers
+         hedgehog hspec hspec-hedgehog http-client http-types raw-strings-qq
+         scientific text time transformers unordered-containers vector
        ];
        description = "A runtime environment for Haskell applications running on AWS Lambda";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "halberd" = callPackage
@@ -121997,8 +120132,6 @@ self: {
        testHaskellDepends = [ base hedgehog lens ];
        description = "Split or combine data structures to and from halves, quarters, eighths";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "halvm-web" = callPackage
@@ -122890,7 +121023,6 @@ self: {
        description = "Support for using Fay with Happstack";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "happstack-foundation" = callPackage
@@ -122912,7 +121044,6 @@ self: {
        description = "Glue code for using Happstack with acid-state, web-routes, reform, and HSP";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "happstack-hamlet" = callPackage
@@ -122984,6 +121115,7 @@ self: {
        ];
        description = "Support for using HSP templates in Happstack";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "happstack-hstringtemplate" = callPackage
@@ -123099,8 +121231,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-server";
-       version = "7.7.1.2";
-       sha256 = "0hd1qwgmk547vqpjvpbdgnq815j1rnniwffrcbr9igv6xzkxzdzc";
+       version = "7.7.2";
+       sha256 = "175aal1l4g558y89skck3s04db0bjblkxp77bijf1s9iyc07n669";
        libraryHaskellDepends = [
          base base64-bytestring blaze-html bytestring containers directory
          exceptions extensible-exceptions filepath hslogger html
@@ -123180,8 +121312,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-static-routing";
-       version = "0.6.0.0";
-       sha256 = "18r7nb6558yvspc486sxckb8708wsvgqgagaycg1qbdxbfhnshhg";
+       version = "0.7.0.0";
+       sha256 = "0k2rdn2bvqmmnf46xqmczaaq6l0vx5mm7c2q5mr9kjr1g9gq53gh";
        libraryHaskellDepends = [
          base containers happstack-server list-tries transformers
        ];
@@ -123290,13 +121422,11 @@ self: {
     ({ mkDerivation, base, Chart, Chart-diagrams }:
      mkDerivation {
        pname = "happy-hour";
-       version = "0.0.0.2";
-       sha256 = "1pj61x1ynspk3avfsy9735blzggz78r4b35gin1bza619gp9yzsb";
+       version = "0.0.0.3";
+       sha256 = "0icdx6lw9bbcchhwcr7q4yaprz9crhlq6gycb430100c2irlfnkw";
        libraryHaskellDepends = [ base Chart Chart-diagrams ];
        description = "Generate simple okay-looking bar plots without much effort";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "happy-meta" = callPackage
@@ -123307,8 +121437,8 @@ self: {
        pname = "happy-meta";
        version = "0.2.0.11";
        sha256 = "1vgv5fx1fya7wfh3zwdgy0hm0lyzp171gnpp6ymfd6kqmqkl3293";
-       revision = "1";
-       editedCabalFile = "1dspifamwsn6lcj2mxjyrbdsfjqfb4p6m0s1c9dkiv08cfkk02p6";
+       revision = "2";
+       editedCabalFile = "1lrgk0gia4fagyx5n82a4wiiywvmszx05hs6029l64qmf9pzmh9z";
        libraryHaskellDepends = [
          array base containers fail haskell-src-meta mtl template-haskell
        ];
@@ -123476,9 +121606,27 @@ self: {
        ];
        description = "Deep embedding of hardware descriptions with code generation";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "harfbuzz-pure" = callPackage
+    ({ mkDerivation, base, bytestring, freetype2, harfbuzz, parallel
+     , text, utf8-light
+     }:
+     mkDerivation {
+       pname = "harfbuzz-pure";
+       version = "0.1.0.0";
+       sha256 = "1djgq14d62zh2rhs10i5l6b78kmyvd3r6qghd36vhykza4lg2div";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring freetype2 text utf8-light
+       ];
+       libraryPkgconfigDepends = [ harfbuzz ];
+       executableHaskellDepends = [ base bytestring parallel ];
+       description = "Pure-functional Harfbuzz language bindings";
+       license = lib.licenses.mit;
+     }) {inherit (pkgs) harfbuzz;};
+
   "harg" = callPackage
     ({ mkDerivation, aeson, barbies, base, bytestring, directory
      , higgledy, optparse-applicative, split, text, yaml
@@ -123588,6 +121736,8 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "HaRP allows pattern-matching with regular expressions";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "harpy" = callPackage
@@ -123670,8 +121820,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "This library 'Has' transformers";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hasbolt" = callPackage
@@ -123682,8 +121830,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasbolt";
-       version = "0.1.6.1";
-       sha256 = "1skniw27z4p3103anh2jc546h0jkvsacsnwnf32zz7a4paw6z280";
+       version = "0.1.6.2";
+       sha256 = "1y7vjng3qjy5jaj3c90b5a08xrn49c4bb2wa9s612ny5qc98dl9g";
        libraryHaskellDepends = [
          base binary bytestring connection containers data-binary-ieee754
          data-default deepseq deepseq-generics mtl network text
@@ -123707,8 +121855,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasbolt-extras";
-       version = "0.0.1.8";
-       sha256 = "1qmj8dikn47qi47ic1zb7ahcsnmaamkrpbvica17fgyxcdbiilfl";
+       version = "0.0.1.9";
+       sha256 = "0v3vl1q25g2qac2f3l4bk9bnzqx39d11wvbqclxrif26hv24pkdy";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -123722,8 +121870,6 @@ self: {
        testHaskellDepends = [ base doctest ];
        description = "Extras for hasbolt library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hascal" = callPackage
@@ -123765,6 +121911,8 @@ self: {
        ];
        description = "Decompress SAPCAR archives";
        license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hascard" = callPackage
@@ -123958,35 +122106,30 @@ self: {
      }) {};
 
   "hashable" = callPackage
-    ({ mkDerivation, base, bytestring, criterion, deepseq, ghc-prim
-     , HUnit, integer-gmp, QuickCheck, random, siphash, test-framework
+    ({ mkDerivation, base, bytestring, containers, deepseq, ghc-bignum
+     , ghc-prim, HUnit, QuickCheck, random, test-framework
      , test-framework-hunit, test-framework-quickcheck2, text, unix
      }:
      mkDerivation {
        pname = "hashable";
-       version = "1.3.0.0";
-       sha256 = "1d4sn4xjf0swrfg8pl93ipavbj12ch3a9aykhkl6mjnczc9m8bl2";
-       revision = "2";
-       editedCabalFile = "16va8hx4ynw0n5s2warhs13ilj7hrs5fcdn140h1fiix480as36n";
-       isLibrary = true;
-       isExecutable = true;
+       version = "1.3.5.0";
+       sha256 = "11lqw6xbjzc1gpn4qlrqzq9kjgaw5pr7dgmx2rq1j6r7shndiams";
+       revision = "1";
+       editedCabalFile = "1mwilvbc5f4myxz4vj95kx6cqqn7nfjy99v8cmqdxy90napywars";
        libraryHaskellDepends = [
-         base bytestring deepseq ghc-prim integer-gmp text
+         base bytestring containers deepseq ghc-bignum ghc-prim text
        ];
        testHaskellDepends = [
          base bytestring ghc-prim HUnit QuickCheck random test-framework
          test-framework-hunit test-framework-quickcheck2 text unix
        ];
-       benchmarkHaskellDepends = [
-         base bytestring criterion ghc-prim integer-gmp siphash text
-       ];
        description = "A class for types that can be converted to a hash value";
        license = lib.licenses.bsd3;
      }) {};
 
   "hashable_1_4_0_2" = callPackage
     ({ mkDerivation, base, base-orphans, bytestring, containers
-     , deepseq, ghc-prim, HUnit, integer-gmp, QuickCheck, random
+     , deepseq, ghc-bignum, ghc-prim, HUnit, QuickCheck, random
      , test-framework, test-framework-hunit, test-framework-quickcheck2
      , text, unix
      }:
@@ -123995,8 +122138,8 @@ self: {
        version = "1.4.0.2";
        sha256 = "003nlhi8wzlsikfwi0q6ma3b38wizvazci6dbq3lr4bd6pfnwq43";
        libraryHaskellDepends = [
-         base base-orphans bytestring containers deepseq ghc-prim
-         integer-gmp text
+         base base-orphans bytestring containers deepseq ghc-bignum ghc-prim
+         text
        ];
        testHaskellDepends = [
          base bytestring ghc-prim HUnit QuickCheck random test-framework
@@ -124076,19 +122219,6 @@ self: {
      }) {};
 
   "hashable-time" = callPackage
-    ({ mkDerivation, base, hashable, time, time-compat }:
-     mkDerivation {
-       pname = "hashable-time";
-       version = "0.2.1";
-       sha256 = "1zw2gqagpbwq1hgx5rlvy6mhsnb15cxg3pmhawwv0ylfihmx2yxh";
-       revision = "1";
-       editedCabalFile = "151gxiprdlj3masa95vvrxal9nwa72n3p1y15xyj4hp7mvvl4s2l";
-       libraryHaskellDepends = [ base hashable time time-compat ];
-       description = "Hashable instances for Data.Time";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "hashable-time_0_3" = callPackage
     ({ mkDerivation, base, hashable, time-compat }:
      mkDerivation {
        pname = "hashable-time";
@@ -124098,7 +122228,6 @@ self: {
        testHaskellDepends = [ base hashable time-compat ];
        description = "Hashable instances for Data.Time";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hashabler" = callPackage
@@ -124158,7 +122287,6 @@ self: {
        description = "Hash functions";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) openssl;};
 
   "hashflare" = callPackage
@@ -124428,7 +122556,6 @@ self: {
        description = "Utility to generate bindings for BlackBerry Cascades";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "haskakafka" = callPackage
@@ -124492,6 +122619,7 @@ self: {
        description = "A dialect of haskell with order of execution based on dependency resolution";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "haskbot-core" = callPackage
@@ -124667,6 +122795,7 @@ self: {
        description = "Haskell Application BlockChain Interface (ABCI) Server Library";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "haskell-aliyun" = callPackage
@@ -124828,8 +122957,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-ci";
-       version = "0.14";
-       sha256 = "1vaxbby4sfrzzr0bzw6dv3kb9f6k3i4w16xfxvm3h2jazrw56122";
+       version = "0.14.3";
+       sha256 = "0hxds3rhikmsg35wdx23lmbkkay0cn4d2m7pfmrybcgw419hzhb0";
        isLibrary = false;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -125165,28 +123294,6 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-gi";
-       version = "0.25.0";
-       sha256 = "1bxybi1bj9jwfmyj57cb3471s0wczlp6m1qz893kbz17k96mpin8";
-       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;
-     }) {inherit (pkgs) glib; inherit (pkgs) gobject-introspection;};
-
-  "haskell-gi_0_26_0" = 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.0";
        sha256 = "0k8xpllviq67zm72dwnh5k05x8l42irzh7sdxi1jwjjm26sc3xm9";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -125199,34 +123306,18 @@ self: {
        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 {
        pname = "haskell-gi-base";
-       version = "0.25.0";
-       sha256 = "140f6amq69r39vj54i1p4c9q0ysxkvb3yjcrlbrrayf66bhw8mqy";
-       revision = "1";
-       editedCabalFile = "1pl2mzjdsnvvkfmr622jvw2vk9gxdql5flck4vb60nr9d970zg9r";
-       libraryHaskellDepends = [ base bytestring containers text ];
-       libraryPkgconfigDepends = [ glib ];
-       description = "Foundation for libraries generated by haskell-gi";
-       license = lib.licenses.lgpl21Only;
-     }) {inherit (pkgs) glib;};
-
-  "haskell-gi-base_0_26_0" = callPackage
-    ({ mkDerivation, base, bytestring, containers, glib, text }:
-     mkDerivation {
-       pname = "haskell-gi-base";
        version = "0.26.0";
        sha256 = "1skxqs8vp8q42g59j7sa1zr25fnqjahbngpgrc2bqs6r5yj00mb7";
        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
@@ -125327,6 +123418,8 @@ self: {
        executableHaskellDepends = [ base ];
        description = "create haskell import graph for graphviz";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "haskell-in-space" = callPackage
@@ -125371,18 +123464,18 @@ self: {
      , cryptohash-sha1, data-default, deepseq, directory, extra
      , filepath, ghc, ghc-boot-th, ghc-paths, ghcide, githash, gitrev
      , hashable, hie-bios, hiedb, hls-alternate-number-format-plugin
-     , hls-brittany-plugin, hls-call-hierarchy-plugin, hls-class-plugin
-     , hls-eval-plugin, hls-explicit-imports-plugin, hls-floskell-plugin
+     , hls-call-hierarchy-plugin, hls-class-plugin, hls-eval-plugin
+     , hls-explicit-imports-plugin, hls-floskell-plugin
      , hls-fourmolu-plugin, hls-graph, hls-haddock-comments-plugin
      , hls-hlint-plugin, hls-module-name-plugin, hls-ormolu-plugin
      , hls-plugin-api, hls-pragmas-plugin
      , hls-qualify-imported-names-plugin, hls-refine-imports-plugin
      , hls-retrie-plugin, hls-selection-range-plugin, hls-splice-plugin
-     , hls-stylish-haskell-plugin, hls-tactics-plugin, hls-test-utils
-     , hslogger, hspec-expectations, lens, lens-aeson, lsp, lsp-test
-     , lsp-types, mtl, optparse-applicative, optparse-simple, process
-     , regex-tdfa, safe-exceptions, sqlite-simple, stm, temporary, text
-     , transformers, unordered-containers
+     , hls-test-utils, hslogger, hspec-expectations, lens, lens-aeson
+     , lsp, lsp-test, lsp-types, mtl, optparse-applicative
+     , optparse-simple, process, regex-tdfa, safe-exceptions
+     , sqlite-simple, stm, temporary, text, transformers
+     , unordered-containers
      }:
      mkDerivation {
        pname = "haskell-language-server";
@@ -125401,18 +123494,16 @@ self: {
          aeson async base base16-bytestring binary bytestring containers
          cryptohash-sha1 data-default deepseq directory extra filepath ghc
          ghc-boot-th ghc-paths ghcide gitrev hashable hie-bios hiedb
-         hls-alternate-number-format-plugin hls-brittany-plugin
-         hls-call-hierarchy-plugin hls-class-plugin hls-eval-plugin
-         hls-explicit-imports-plugin hls-floskell-plugin hls-fourmolu-plugin
-         hls-graph hls-haddock-comments-plugin hls-hlint-plugin
-         hls-module-name-plugin hls-ormolu-plugin hls-plugin-api
-         hls-pragmas-plugin hls-qualify-imported-names-plugin
-         hls-refine-imports-plugin hls-retrie-plugin
-         hls-selection-range-plugin hls-splice-plugin
-         hls-stylish-haskell-plugin hls-tactics-plugin hslogger lens lsp mtl
-         optparse-applicative optparse-simple process regex-tdfa
-         safe-exceptions sqlite-simple stm temporary text transformers
-         unordered-containers
+         hls-alternate-number-format-plugin hls-call-hierarchy-plugin
+         hls-class-plugin hls-eval-plugin hls-explicit-imports-plugin
+         hls-floskell-plugin hls-fourmolu-plugin hls-graph
+         hls-haddock-comments-plugin hls-hlint-plugin hls-module-name-plugin
+         hls-ormolu-plugin hls-plugin-api hls-pragmas-plugin
+         hls-qualify-imported-names-plugin hls-refine-imports-plugin
+         hls-retrie-plugin hls-selection-range-plugin hls-splice-plugin
+         hslogger lens lsp mtl optparse-applicative optparse-simple process
+         regex-tdfa safe-exceptions sqlite-simple stm temporary text
+         transformers unordered-containers
        ];
        testHaskellDepends = [
          aeson base bytestring containers data-default directory extra
@@ -125466,6 +123557,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Haskell library for the Microsoft Language Server Protocol";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "haskell-lsp-client" = callPackage
@@ -125487,7 +123580,6 @@ self: {
        description = "A haskell package to build your own Language Server client";
        license = lib.licenses.gpl2Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "haskell-lsp-types" = callPackage
@@ -125583,8 +123675,6 @@ self: {
        libraryToolDepends = [ c2hs ];
        description = "Distributed parallel programming in Haskell using MPI";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {open-pal = null; open-rte = null; inherit (pkgs) openmpi;};
 
   "haskell-names" = callPackage
@@ -125832,6 +123922,8 @@ self: {
        ];
        description = "A haskell library for PostGIS geometry types";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "haskell-proxy-list" = callPackage
@@ -126684,6 +124776,8 @@ self: {
        executableToolDepends = [ hspec-discover ];
        description = "Haskell XMPP (eXtensible Message Passing Protocol, a.k.a. Jabber) library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "haskell2010" = callPackage
@@ -127123,6 +125217,8 @@ self: {
        ];
        description = "For parsing Haskell-ish languages";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "haskellscrabble" = callPackage
@@ -127413,7 +125509,6 @@ self: {
        description = "embedded DSL for defining epidemiologic cohorts";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "haskmon" = callPackage
@@ -127458,7 +125553,6 @@ self: {
        description = "Implementation of the Bitcoin protocol";
        license = lib.licenses.publicDomain;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "haskoin-bitcoind" = callPackage
@@ -127509,6 +125603,7 @@ self: {
        description = "Bitcoin & Bitcoin Cash library for Haskell";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "haskoin-crypto" = callPackage
@@ -127617,25 +125712,26 @@ self: {
   "haskoin-store" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, base16, base64, bytes
      , bytestring, cereal, conduit, containers, data-default, deepseq
-     , ekg-core, ekg-statsd, filepath, foldl, hashable, haskoin-core
-     , haskoin-node, haskoin-store-data, hedis, hspec, hspec-discover
-     , http-types, lens, monad-control, monad-logger, mtl, network, nqe
-     , optparse-applicative, QuickCheck, random, rocksdb-haskell-jprupp
-     , rocksdb-query, scotty, stm, string-conversions, text, time
-     , transformers, unliftio, unordered-containers, vault, wai
-     , wai-extra, wai-websockets, warp, websockets, wreq
+     , ekg-core, ekg-statsd, filepath, foldl, hashable, hashtables
+     , haskoin-core, haskoin-node, haskoin-store-data, hedis, hspec
+     , hspec-discover, http-types, lens, monad-control, monad-logger
+     , mtl, network, nqe, optparse-applicative, QuickCheck, random
+     , rocksdb-haskell-jprupp, rocksdb-query, scotty, stm
+     , string-conversions, text, time, transformers, unliftio
+     , unordered-containers, vault, wai, wai-extra, wai-websockets, warp
+     , websockets, wreq
      }:
      mkDerivation {
        pname = "haskoin-store";
-       version = "0.64.19";
-       sha256 = "1vbq7wq26lc1kknrfcrxlvfbadkxjrzbv6biqkvwylg3m7iwdd7d";
+       version = "0.65.0";
+       sha256 = "0fd160w771x2rzy68rxrc8ail4xlplgf9qc2g8xi8j2am9if4q7y";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-pretty base base16 bytes bytestring cereal conduit
          containers data-default deepseq ekg-core ekg-statsd foldl hashable
-         haskoin-core haskoin-node haskoin-store-data hedis http-types lens
-         monad-control monad-logger mtl network nqe random
+         hashtables haskoin-core haskoin-node haskoin-store-data hedis
+         http-types lens monad-control monad-logger mtl network nqe random
          rocksdb-haskell-jprupp rocksdb-query scotty stm string-conversions
          text time transformers unliftio unordered-containers vault wai
          wai-extra wai-websockets warp websockets wreq
@@ -127643,8 +125739,8 @@ self: {
        executableHaskellDepends = [
          aeson aeson-pretty base base16 bytes bytestring cereal conduit
          containers data-default deepseq ekg-core ekg-statsd filepath foldl
-         hashable haskoin-core haskoin-node haskoin-store-data hedis
-         http-types lens monad-control monad-logger mtl network nqe
+         hashable hashtables haskoin-core haskoin-node haskoin-store-data
+         hedis http-types lens monad-control monad-logger mtl network nqe
          optparse-applicative random rocksdb-haskell-jprupp rocksdb-query
          scotty stm string-conversions text time transformers unliftio
          unordered-containers vault wai wai-extra wai-websockets warp
@@ -127653,10 +125749,10 @@ self: {
        testHaskellDepends = [
          aeson aeson-pretty base base16 base64 bytes bytestring cereal
          conduit containers data-default deepseq ekg-core ekg-statsd foldl
-         hashable haskoin-core haskoin-node haskoin-store-data hedis hspec
-         http-types lens monad-control monad-logger mtl network nqe
-         QuickCheck random rocksdb-haskell-jprupp rocksdb-query scotty stm
-         string-conversions text time transformers unliftio
+         hashable hashtables haskoin-core haskoin-node haskoin-store-data
+         hedis hspec http-types lens monad-control monad-logger mtl network
+         nqe QuickCheck random rocksdb-haskell-jprupp rocksdb-query scotty
+         stm string-conversions text time transformers unliftio
          unordered-containers vault wai wai-extra wai-websockets warp
          websockets wreq
        ];
@@ -127675,8 +125771,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-store-data";
-       version = "0.64.19";
-       sha256 = "1ik200gd6lzd86kcfksjs49025ym47byih1k4aghck6hc55dh3jf";
+       version = "0.65.0";
+       sha256 = "0758jsabbdkg2n9vi0b91bh3dwflpqq6vqkhvlxi1rdpdil4sl1l";
        libraryHaskellDepends = [
          aeson base binary bytes bytestring cereal containers data-default
          deepseq hashable haskoin-core http-client http-types lens mtl
@@ -127911,6 +126007,8 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "The February 2000 version of Haskore";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "haskseg" = callPackage
@@ -128488,6 +126586,30 @@ self: {
        broken = true;
      }) {};
 
+  "haspara" = callPackage
+    ({ mkDerivation, aeson, base, containers, deriving-aeson, doctest
+     , exceptions, hashable, megaparsec, mtl, refined, safe-decimal
+     , scientific, template-haskell, text, time
+     }:
+     mkDerivation {
+       pname = "haspara";
+       version = "0.0.0.2";
+       sha256 = "05jllc97mx15lvj83bmixpkzg7l7hbf058f8kfjiky1w3y7mf6fz";
+       libraryHaskellDepends = [
+         aeson base containers deriving-aeson exceptions hashable megaparsec
+         mtl refined safe-decimal scientific template-haskell text time
+       ];
+       testHaskellDepends = [
+         aeson base containers deriving-aeson doctest exceptions hashable
+         megaparsec mtl refined safe-decimal scientific template-haskell
+         text time
+       ];
+       description = "A library providing definitions to work with monetary values";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hasparql-client" = callPackage
     ({ mkDerivation, base, HTTP, monads-fd, network, xml }:
      mkDerivation {
@@ -128522,32 +126644,6 @@ self: {
      }:
      mkDerivation {
        pname = "hasql";
-       version = "1.4.5.3";
-       sha256 = "0r69h8qbbylj56jl8yl7gyp7bx3mf95wmy1ilpxzidfrjrr9pc0a";
-       libraryHaskellDepends = [
-         attoparsec base bytestring bytestring-strict-builder contravariant
-         dlist hashable hashtables mtl postgresql-binary postgresql-libpq
-         profunctors text text-builder transformers vector
-       ];
-       testHaskellDepends = [
-         contravariant-extras QuickCheck quickcheck-instances rerebase tasty
-         tasty-hunit tasty-quickcheck
-       ];
-       benchmarkHaskellDepends = [ gauge rerebase ];
-       description = "An efficient PostgreSQL driver with a flexible mapping API";
-       license = lib.licenses.mit;
-     }) {};
-
-  "hasql_1_5_0_2" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring
-     , bytestring-strict-builder, contravariant, contravariant-extras
-     , dlist, gauge, hashable, hashtables, mtl, postgresql-binary
-     , postgresql-libpq, profunctors, QuickCheck, quickcheck-instances
-     , rerebase, tasty, tasty-hunit, tasty-quickcheck, text
-     , text-builder, transformers, vector
-     }:
-     mkDerivation {
-       pname = "hasql";
        version = "1.5.0.2";
        sha256 = "1f9faq0f2bilylc0rd64s0icrp086qb0q70w4z4vih2hs0sx6fs0";
        libraryHaskellDepends = [
@@ -128562,7 +126658,6 @@ self: {
        benchmarkHaskellDepends = [ gauge rerebase ];
        description = "An efficient PostgreSQL driver with a flexible mapping API";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hasql-backend" = callPackage
@@ -128656,8 +126751,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-dynamic-statements";
-       version = "0.3.1";
-       sha256 = "1fs5bfxk0yd2j4iygc8m0nx9hwfmvsxyhdanclass0dxr40pqyhc";
+       version = "0.3.1.1";
+       sha256 = "1bc7l6l6ss9grgphnb0sks08v0wx0aalja4rkjzp49p5m6g82rc6";
        libraryHaskellDepends = [
          base bytestring containers hasql hasql-implicits ptr
        ];
@@ -128668,6 +126763,23 @@ self: {
        description = "Toolkit for constructing Hasql statements dynamically";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "hasql-explain-tests" = callPackage
+    ({ mkDerivation, base, bytestring, hasql, hspec, profunctors
+     , QuickCheck, tasty, tasty-hunit, tmp-postgres
+     }:
+     mkDerivation {
+       pname = "hasql-explain-tests";
+       version = "0.1.0.0";
+       sha256 = "0pp9bf95yhzq0wk6g2s4m1pak25ppf3r3f28cqr0b36fbqr0ia3z";
+       libraryHaskellDepends = [
+         base bytestring hasql hspec profunctors QuickCheck tmp-postgres
+       ];
+       testHaskellDepends = [ base hasql tasty tasty-hunit ];
+       description = "Hasql queries testing interface";
+       license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
        broken = true;
      }) {};
 
@@ -128697,14 +126809,16 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-implicits";
-       version = "0.1.0.2";
-       sha256 = "0kg74bqm9mxf3b1gfbkj78zh859pmivvawi4aqk4h34xvmjx7217";
+       version = "0.1.0.3";
+       sha256 = "0xw7yy146adc805cr95ijm06ynmzinidngy16vgcfaqph0zx1ks2";
        libraryHaskellDepends = [
          aeson base bytestring containers hasql network-ip scientific text
          time uuid vector
        ];
        description = "Implicit definitions for Hasql, such as default codecs for standard types";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hasql-interpolate" = callPackage
@@ -128928,7 +127042,6 @@ self: {
        ];
        description = "Stream Hasql queries with Conduit";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hasql-streams-core" = callPackage
@@ -128940,7 +127053,6 @@ self: {
        libraryHaskellDepends = [ base hasql hasql-transaction-io ];
        description = "Stream Hasql queries";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hasql-streams-example" = callPackage
@@ -128966,6 +127078,7 @@ self: {
        description = "An example program that shows how to use Hasql streams with Rel8";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hasql-streams-pipes" = callPackage
@@ -128982,7 +127095,6 @@ self: {
        ];
        description = "Stream Hasql queries with Pipes";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hasql-streams-streaming" = callPackage
@@ -128999,7 +127111,6 @@ self: {
        ];
        description = "Stream Hasql queries with Streaming";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hasql-streams-streamly" = callPackage
@@ -129016,7 +127127,6 @@ self: {
        ];
        description = "Stream Hasql queries with Streamly";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hasql-th" = callPackage
@@ -129035,7 +127145,6 @@ self: {
        ];
        description = "Template Haskell utilities for Hasql";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hasql-transaction" = callPackage
@@ -129070,8 +127179,6 @@ self: {
        ];
        description = "Perform IO actions during transactions for Hasql";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hasql-url" = callPackage
@@ -129088,6 +127195,8 @@ 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
@@ -129108,7 +127217,6 @@ self: {
        description = "composable SQL generation";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hasqly-mysql" = callPackage
@@ -129124,6 +127232,7 @@ self: {
        ];
        description = "composable SQL generation";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hastache" = callPackage
@@ -129515,6 +127624,8 @@ self: {
        ];
        description = "Library for checking for weak/compromised passwords";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "haven" = callPackage
@@ -129637,6 +127748,8 @@ 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
@@ -129654,7 +127767,6 @@ self: {
        description = "Haxl data source for accessing AWS services through amazonka";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "haxl-facebook" = callPackage
@@ -129678,7 +127790,6 @@ 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
@@ -129717,8 +127828,8 @@ self: {
        pname = "haxr";
        version = "3000.11.4.1";
        sha256 = "12f3acc253x88pk20b60z1qzyhbngvg7zzb9j6azbii0hx8yxxhy";
-       revision = "1";
-       editedCabalFile = "0k6nymfmsvblsi3gh8xwiq744w7ifigd3i91w3gz220n9a32j1ia";
+       revision = "2";
+       editedCabalFile = "1r2sj4zrszh3m0g8cnzcsm8ri0q6kxgrfffqp30b19pma18sjlvn";
        libraryHaskellDepends = [
          array base base-compat base64-bytestring blaze-builder bytestring
          HaXml HsOpenSSL http-streams http-types io-streams mtl mtl-compat
@@ -130027,7 +128138,6 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hbro-contrib" = callPackage
@@ -130063,7 +128173,6 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hburg" = callPackage
@@ -130329,7 +128438,6 @@ self: {
        description = "Haskell name counts";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hcron" = callPackage
@@ -130369,7 +128477,6 @@ self: {
        description = "Virtual Rubik's cube of arbitrary size";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hcwiid" = callPackage
@@ -130615,6 +128722,7 @@ self: {
        description = "HDF: Uniform Rate Audio Signal Processing in Haskell";
        license = "GPL";
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hdf5-lite" = callPackage
@@ -130778,8 +128886,8 @@ self: {
 
   "hdocs" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, Cabal
-     , containers, filepath, ghc, ghc-paths, haddock-api
-     , haddock-library, mtl, network, process, text
+     , containers, filepath, ghc-paths, haddock-api, mtl, network
+     , process, text
      }:
      mkDerivation {
        pname = "hdocs";
@@ -130788,8 +128896,8 @@ self: {
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base bytestring Cabal containers filepath ghc ghc-paths
-         haddock-api haddock-library mtl network process text
+         aeson base bytestring Cabal containers filepath ghc-paths mtl
+         network process text
        ];
        executableHaskellDepends = [
          aeson aeson-pretty base bytestring containers filepath haddock-api
@@ -130872,15 +128980,13 @@ self: {
      }:
      mkDerivation {
        pname = "headed-megaparsec";
-       version = "0.2.0.2";
-       sha256 = "07ddg7v55pbgalajnln37276x25632mj8s6xnwfd79pbwj3rg0rg";
+       version = "0.2.1";
+       sha256 = "17k4zjvd4i47yz1izbrx98k2lxk5hh553wf94bjn1rdl06vlhc18";
        libraryHaskellDepends = [
          base case-insensitive megaparsec parser-combinators selective
        ];
        description = "More informative parser";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "headergen" = callPackage
@@ -131110,6 +129216,7 @@ self: {
        ];
        description = "Find and annotate ITDs with assembly or read pair joining";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "heatshrink" = callPackage
@@ -131293,6 +129400,8 @@ self: {
        ];
        description = "Reddit API bindings";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hedgehog" = callPackage
@@ -131333,6 +129442,8 @@ self: {
        pname = "hedgehog";
        version = "1.1.1";
        sha256 = "1qx7bjcdgczvz5xhrqz25lray9rk3wrhzqfc5vpjnvgkzvnj3mny";
+       revision = "1";
+       editedCabalFile = "0f1s6dbm966cigaf9zz82yxpxdrl4l0qfipa9qazxr90dx4zw70z";
        libraryHaskellDepends = [
          ansi-terminal async barbies base bytestring concurrent-output
          containers deepseq directory erf exceptions lifted-async mmorph
@@ -131516,11 +129627,11 @@ self: {
        pname = "hedgehog-optics";
        version = "1.0.0.1";
        sha256 = "0ybpq4c74w8y3wnfmy7macana4zlr4w1m2s0kk88yq67cvzfgb5w";
+       revision = "2";
+       editedCabalFile = "1w7drklx7z8qkkf9d9pysic5iqa3ija57yqx6pq8qkhzlal09kbx";
        libraryHaskellDepends = [ base hedgehog optics-core ];
        description = "Hedgehog properties for optics laws";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hedgehog-quickcheck" = callPackage
@@ -131566,33 +129677,6 @@ self: {
      , containers, deepseq, doctest, errors, exceptions, HTTP, HUnit
      , mtl, network, network-uri, resource-pool, scanner, stm
      , test-framework, test-framework-hunit, text, time, tls
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "hedis";
-       version = "0.14.4";
-       sha256 = "0h6s3x3pylyidjbzjqyrmc2cm5ls67m9iij35fn48rvq4l41w9h9";
-       revision = "1";
-       editedCabalFile = "0w7960730qh8y41xa1mx4lbk288axkqa03wamh9j6pmag9axcphq";
-       libraryHaskellDepends = [
-         async base bytestring bytestring-lexing containers deepseq errors
-         exceptions HTTP mtl network network-uri resource-pool scanner stm
-         text time tls unordered-containers vector
-       ];
-       testHaskellDepends = [
-         async base bytestring doctest HUnit mtl stm test-framework
-         test-framework-hunit text time
-       ];
-       benchmarkHaskellDepends = [ base mtl time ];
-       description = "Client library for the Redis datastore: supports full command set, pipelining";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "hedis_0_15_1" = callPackage
-    ({ mkDerivation, async, base, bytestring, bytestring-lexing
-     , containers, deepseq, doctest, errors, exceptions, HTTP, HUnit
-     , mtl, network, network-uri, resource-pool, scanner, stm
-     , test-framework, test-framework-hunit, text, time, tls
      , unliftio-core, unordered-containers, vector
      }:
      mkDerivation {
@@ -131611,7 +129695,6 @@ self: {
        benchmarkHaskellDepends = [ base mtl time ];
        description = "Client library for the Redis datastore: supports full command set, pipelining";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hedis-config" = callPackage
@@ -131737,6 +129820,8 @@ self: {
        pname = "hedn";
        version = "0.3.0.4";
        sha256 = "06js9mcif99k8bfyrsynlg1w5rjygydk5l0qhlrk6pa5v288a7wv";
+       revision = "1";
+       editedCabalFile = "13cmpyx7givc5ay43slf2ss4dqgnhb91nvyxp4201zznl5w570nh";
        libraryHaskellDepends = [
          base containers deepseq deriving-compat megaparsec
          parser-combinators prettyprinter scientific template-haskell text
@@ -131757,8 +129842,8 @@ self: {
        pname = "hedn-functor";
        version = "0.1.0.0";
        sha256 = "1s90az6akimfq6jwiyicns7v34ryp8riymj0ski1sl4ljjm4r4fi";
-       revision = "1";
-       editedCabalFile = "08laj7hmykpq83f525agra0qw9xwwpba26fskhm70zhmiz417fqr";
+       revision = "2";
+       editedCabalFile = "188w6bm6l235afsidhidcc166b2rv1xmmh1d0jxrdc69z2wdxiyy";
        libraryHaskellDepends = [
          base containers hedn recursion-schemes text vector
        ];
@@ -131805,6 +129890,8 @@ self: {
        benchmarkHaskellDepends = [ base criterion weigh ];
        description = "Tidy data in Haskell";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hein" = callPackage
@@ -131923,41 +130010,42 @@ self: {
      }) {};
 
   "helic" = callPackage
-    ({ mkDerivation, aeson, base, chronos, containers, data-default
-     , either, exon, gi-gdk, gi-glib, gi-gtk, hostname, http-client
-     , http-client-tls, optparse-applicative, path, path-io, polysemy
-     , polysemy-chronos, polysemy-conc, polysemy-http, polysemy-log
-     , polysemy-plugin, polysemy-process, polysemy-resume, polysemy-test
-     , polysemy-time, relude, servant, servant-client
-     , servant-client-core, servant-server, table-layout, tasty
-     , template-haskell, terminal-size, text, torsor, typed-process
-     , unix, wai-extra, warp, yaml
+    ({ mkDerivation, aeson, base, chronos, containers, exon, gi-gdk
+     , gi-glib, gi-gtk, hostname, http-client, http-client-tls, incipit
+     , optparse-applicative, path, path-io, polysemy, polysemy-chronos
+     , polysemy-conc, polysemy-http, polysemy-log, polysemy-plugin
+     , polysemy-process, polysemy-test, polysemy-time, servant
+     , servant-client, servant-client-core, servant-server, table-layout
+     , tasty, template-haskell, terminal-size, torsor, transformers
+     , typed-process, unix, wai-extra, warp, yaml
      }:
      mkDerivation {
        pname = "helic";
-       version = "0.3.2.0";
-       sha256 = "1q6dg44fqfpkgc3148lw9srhg0kjw41hd6cda8xb1bkijj0lajrh";
+       version = "0.5.0.0";
+       sha256 = "11g3w3v61k5z7wc1swnmifhcw6q3l1m1fcn3m8gmqa0ri4hixjzj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base chronos containers data-default either exon gi-gdk
-         gi-glib gi-gtk hostname http-client http-client-tls
-         optparse-applicative path path-io polysemy polysemy-chronos
-         polysemy-conc polysemy-http polysemy-log polysemy-plugin
-         polysemy-process polysemy-resume polysemy-time relude servant
+         aeson base chronos exon gi-gdk gi-glib gi-gtk hostname http-client
+         http-client-tls incipit optparse-applicative path path-io polysemy
+         polysemy-chronos polysemy-conc polysemy-http polysemy-log
+         polysemy-plugin polysemy-process polysemy-time servant
          servant-client servant-client-core servant-server table-layout
-         template-haskell terminal-size text typed-process unix wai-extra
-         warp yaml
+         template-haskell terminal-size transformers typed-process unix
+         wai-extra warp yaml
+       ];
+       executableHaskellDepends = [
+         base incipit polysemy polysemy-plugin
        ];
-       executableHaskellDepends = [ base polysemy polysemy-plugin ];
        testHaskellDepends = [
-         base chronos containers path polysemy polysemy-chronos
+         base chronos containers exon incipit path polysemy polysemy-chronos
          polysemy-conc polysemy-log polysemy-plugin polysemy-test
          polysemy-time tasty torsor
        ];
        description = "Clipboard Manager";
        license = "BSD-2-Clause-Patent";
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "helics" = callPackage
@@ -132080,7 +130168,6 @@ self: {
        description = "Web development micro framework for haskell with typesafe URLs";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hell" = callPackage
@@ -132187,6 +130274,8 @@ self: {
        testHaskellDepends = [ base hspec ];
        description = "A functionally reactive game engine";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "help-esb" = callPackage
@@ -132324,8 +130413,6 @@ self: {
        libraryHaskellDepends = [ base mtl split ];
        description = "A lexer for Haskell source code";
        license = lib.licenses.publicDomain;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "her-lexer-parsec" = callPackage
@@ -132338,6 +130425,7 @@ self: {
        description = "Parsec frontend to \"her-lexer\" for Haskell source code";
        license = lib.licenses.publicDomain;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "herbalizer" = callPackage
@@ -132361,34 +130449,38 @@ self: {
 
   "hercules-ci-agent" = callPackage
     ({ mkDerivation, aeson, async, attoparsec, base, base64-bytestring
-     , bdw-gc, binary, binary-conduit, boost, bytestring, cachix
-     , cachix-api, conduit, conduit-extra, containers, directory, dlist
-     , exceptions, filepath, hercules-ci-api-agent, hercules-ci-api-core
+     , binary, binary-conduit, boost, bytestring, Cabal
+     , cabal-pkg-config-version-hook, cachix, cachix-api, conduit
+     , conduit-extra, containers, directory, dlist, exceptions, filepath
+     , hercules-ci-api-agent, hercules-ci-api-core
      , hercules-ci-cnix-expr, hercules-ci-cnix-store, hostname, hspec
      , http-client, http-client-tls, http-conduit, inline-c
      , inline-c-cpp, katip, lens, lens-aeson, lifted-async, lifted-base
      , monad-control, mtl, network, network-uri, nix
      , optparse-applicative, process, process-extras, protolude
      , safe-exceptions, scientific, servant, servant-auth-client
-     , servant-client, servant-client-core, stm, temporary, text, time
-     , tomland, transformers, transformers-base, unbounded-delays, unix
-     , unliftio, unliftio-core, unordered-containers, uuid, vector
+     , servant-client, servant-client-core, stm, tagged, temporary, text
+     , time, tomland, transformers, transformers-base, unbounded-delays
+     , unix, unliftio, unliftio-core, unordered-containers, uuid, vector
      , websockets, wuss
      }:
      mkDerivation {
        pname = "hercules-ci-agent";
-       version = "0.8.5";
-       sha256 = "1m1hak1ckch84ld2x0pg7jz6gixxanbjdhslmlygpgxaq1757hax";
+       version = "0.9.2";
+       sha256 = "1518hkza6xgvy6ykvmv12pc0lhdf5apbjahpgw6bdrwnfyj0xicm";
        isLibrary = true;
        isExecutable = true;
+       enableSeparateDataOutput = true;
+       setupHaskellDepends = [ base Cabal cabal-pkg-config-version-hook ];
        libraryHaskellDepends = [
          aeson async base binary binary-conduit bytestring conduit
          containers directory dlist exceptions filepath
-         hercules-ci-api-agent hercules-ci-api-core hercules-ci-cnix-store
-         katip lens lens-aeson lifted-async lifted-base monad-control mtl
-         network-uri process process-extras protolude safe-exceptions stm
-         temporary text time transformers-base unbounded-delays unix
-         unliftio unliftio-core uuid websockets wuss
+         hercules-ci-api-agent hercules-ci-api-core hercules-ci-cnix-expr
+         hercules-ci-cnix-store katip lens lens-aeson lifted-async
+         lifted-base monad-control mtl network network-uri process
+         process-extras protolude safe-exceptions stm tagged temporary text
+         time transformers transformers-base unbounded-delays unix unliftio
+         unliftio-core uuid websockets wuss
        ];
        executableHaskellDepends = [
          aeson async attoparsec base base64-bytestring binary binary-conduit
@@ -132405,18 +130497,19 @@ self: {
          wuss
        ];
        executableSystemDepends = [ boost ];
-       executablePkgconfigDepends = [ bdw-gc nix ];
+       executablePkgconfigDepends = [ nix ];
        testHaskellDepends = [
          aeson async attoparsec base binary binary-conduit bytestring
          conduit containers exceptions filepath hercules-ci-api-agent
          hercules-ci-api-core hercules-ci-cnix-store hspec katip
-         lifted-async lifted-base monad-control process protolude
-         safe-exceptions temporary text transformers-base unliftio-core
+         lifted-async lifted-base monad-control mtl process protolude
+         safe-exceptions tagged temporary text transformers-base
+         unliftio-core
        ];
        description = "Runs Continuous Integration tasks on your machines";
        license = lib.licenses.asl20;
        maintainers = with lib.maintainers; [ roberth ];
-     }) {bdw-gc = null; inherit (pkgs) boost; inherit (pkgs) nix;};
+     }) {inherit (pkgs) boost; inherit (pkgs) nix;};
 
   "hercules-ci-api" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, cookie
@@ -132427,8 +130520,8 @@ self: {
      }:
      mkDerivation {
        pname = "hercules-ci-api";
-       version = "0.7.1.0";
-       sha256 = "1vlkfxkd7arb4qaqyvk4cc2w3b37xzhiqmz6smmpjdddpa39lh8c";
+       version = "0.7.2.0";
+       sha256 = "0z3j96il0rvzplxih4vq5dghp18plbk5k55ymwm7dxp51d0jg902";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -132455,17 +130548,17 @@ self: {
      , hercules-ci-api-core, hspec, http-api-data, http-media, lens
      , lens-aeson, memory, network-uri, profunctors, QuickCheck
      , quickcheck-classes, servant, servant-auth, string-conv, swagger2
-     , text, time, uuid, vector
+     , text, time, unordered-containers, uuid, vector
      }:
      mkDerivation {
        pname = "hercules-ci-api-agent";
-       version = "0.4.1.0";
-       sha256 = "0cv4cd74049b7j2hy1p3fdr94p0f4fnjzwj78hf1f4lw7migi2vi";
+       version = "0.4.4.0";
+       sha256 = "1p4bclcmjmiy28f2ynjx310v0a7iqx26af5dsnrcd9qcgrzh0q7f";
        libraryHaskellDepends = [
          aeson base base64-bytestring-type bytestring containers cookie
          deepseq exceptions hashable hercules-ci-api-core http-api-data
          http-media lens lens-aeson memory servant servant-auth string-conv
-         swagger2 text time uuid vector
+         swagger2 text time unordered-containers uuid vector
        ];
        testHaskellDepends = [
          aeson base bytestring containers cookie exceptions hashable hspec
@@ -132487,8 +130580,8 @@ self: {
      }:
      mkDerivation {
        pname = "hercules-ci-api-core";
-       version = "0.1.3.0";
-       sha256 = "1xs5als5fw0fj76rgmygndpw1vfs9bj4lyr8hfgkv4vfbdrmkj2y";
+       version = "0.1.4.0";
+       sha256 = "05bchaq46928d8mlp9r3h4l4lb21758dkpws8c494vbbgkss6mg1";
        libraryHaskellDepends = [
          aeson base bytestring containers cookie deepseq exceptions hashable
          http-api-data http-media katip lens lifted-base memory
@@ -132502,31 +130595,33 @@ self: {
      }) {};
 
   "hercules-ci-cli" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, atomic-write, attoparsec
-     , base, bytestring, conduit, containers, data-has, directory
-     , exceptions, filepath, hercules-ci-agent, hercules-ci-api
-     , hercules-ci-api-core, hercules-ci-cnix-expr
-     , hercules-ci-cnix-store, hercules-ci-optparse-applicative
-     , hostname, hspec, http-client, http-client-tls, http-types, katip
-     , lens, lens-aeson, lifted-base, monad-control, network-uri
-     , process, protolude, QuickCheck, retry, rio, safe-exceptions
-     , servant, servant-auth-client, servant-client, servant-client-core
-     , servant-conduit, temporary, text, transformers, transformers-base
-     , unix, unliftio, unliftio-core, unordered-containers, uuid
+    ({ mkDerivation, aeson, aeson-pretty, async, atomic-write
+     , attoparsec, base, bytestring, conduit, containers, data-has
+     , directory, exceptions, filepath, hercules-ci-agent
+     , hercules-ci-api, hercules-ci-api-agent, hercules-ci-api-core
+     , hercules-ci-cnix-expr, hercules-ci-cnix-store
+     , hercules-ci-optparse-applicative, hostname, hspec, http-client
+     , http-client-tls, http-types, katip, lens, lens-aeson, lifted-base
+     , monad-control, network-uri, process, protolude, QuickCheck, retry
+     , rio, safe-exceptions, servant, servant-auth-client
+     , servant-client, servant-client-core, servant-conduit, temporary
+     , text, transformers, transformers-base, unix, unliftio
+     , unliftio-core, unordered-containers, uuid
      }:
      mkDerivation {
        pname = "hercules-ci-cli";
-       version = "0.2.4";
-       sha256 = "0imx1srpi518616jif62l542qpw2wcfiq5a622rg5w76k2vz0hpl";
+       version = "0.3.0";
+       sha256 = "1r9js99zcdzzrql48fd930agmk2ifhwvw94v4fi61va8gi3yn6dr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson aeson-pretty atomic-write attoparsec base bytestring conduit
-         containers data-has directory exceptions filepath hercules-ci-agent
-         hercules-ci-api hercules-ci-api-core hercules-ci-cnix-expr
-         hercules-ci-cnix-store hercules-ci-optparse-applicative hostname
-         http-client http-client-tls http-types katip lens lens-aeson
-         lifted-base monad-control network-uri process protolude retry rio
+         aeson aeson-pretty async atomic-write attoparsec base bytestring
+         conduit containers data-has directory exceptions filepath
+         hercules-ci-agent hercules-ci-api hercules-ci-api-agent
+         hercules-ci-api-core hercules-ci-cnix-expr hercules-ci-cnix-store
+         hercules-ci-optparse-applicative hostname http-client
+         http-client-tls http-types katip lens lens-aeson lifted-base
+         monad-control network-uri process protolude retry rio
          safe-exceptions servant servant-auth-client servant-client
          servant-client-core servant-conduit temporary text transformers
          transformers-base unix unliftio unliftio-core unordered-containers
@@ -132545,36 +130640,48 @@ self: {
      }) {hercules-ci-optparse-applicative = null;};
 
   "hercules-ci-cnix-expr" = callPackage
-    ({ mkDerivation, aeson, base, bdw-gc, boost, bytestring, conduit
-     , containers, exceptions, hercules-ci-cnix-store, inline-c
-     , inline-c-cpp, nix, protolude, text, unliftio
+    ({ mkDerivation, aeson, base, boost, bytestring, Cabal
+     , cabal-pkg-config-version-hook, conduit, containers, directory
+     , exceptions, filepath, hercules-ci-cnix-store, hspec
+     , hspec-discover, inline-c, inline-c-cpp, nix, protolude
+     , QuickCheck, scientific, temporary, text, unliftio
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "hercules-ci-cnix-expr";
-       version = "0.2.0.0";
-       sha256 = "1z76ckxb629lbwa96axigan8xax6wd9w8p37isyisqwvk1a1gsc7";
+       version = "0.3.1.1";
+       sha256 = "1rjly7ic310kzclh0dh2gknrn31anam2ncgjrhm6sq3hrvay1v32";
+       enableSeparateDataOutput = true;
+       setupHaskellDepends = [ base Cabal cabal-pkg-config-version-hook ];
        libraryHaskellDepends = [
-         aeson base bytestring conduit containers exceptions
-         hercules-ci-cnix-store inline-c inline-c-cpp protolude text
-         unliftio
+         aeson base bytestring conduit containers directory exceptions
+         filepath hercules-ci-cnix-store inline-c inline-c-cpp protolude
+         scientific text unliftio unordered-containers vector
        ];
        librarySystemDepends = [ boost ];
-       libraryPkgconfigDepends = [ bdw-gc nix ];
+       libraryPkgconfigDepends = [ nix ];
+       testHaskellDepends = [
+         aeson base bytestring containers hercules-ci-cnix-store hspec
+         protolude QuickCheck scientific temporary unordered-containers
+         vector
+       ];
+       testToolDepends = [ hspec-discover ];
        description = "Bindings for the Nix evaluator";
        license = lib.licenses.asl20;
        maintainers = with lib.maintainers; [ roberth ];
-     }) {bdw-gc = null; inherit (pkgs) boost; inherit (pkgs) nix;};
+     }) {inherit (pkgs) boost; inherit (pkgs) nix;};
 
   "hercules-ci-cnix-store" = callPackage
-    ({ mkDerivation, base, boost, bytestring, conduit, containers
-     , exceptions, hspec, hspec-discover, inline-c, inline-c-cpp, nix
-     , protolude, template-haskell, temporary, text, unix, unliftio-core
-     , vector
+    ({ mkDerivation, base, boost, bytestring, Cabal
+     , cabal-pkg-config-version-hook, conduit, containers, exceptions
+     , hspec, hspec-discover, inline-c, inline-c-cpp, nix, protolude
+     , template-haskell, temporary, text, unix, unliftio-core, vector
      }:
      mkDerivation {
        pname = "hercules-ci-cnix-store";
-       version = "0.2.1.1";
-       sha256 = "0cxir973y3hkm34ci7hc5zsp94s31nnrlkgspwwdd2rakyf4525i";
+       version = "0.3.0.1";
+       sha256 = "0vfwqa167800hilxqs4bm650sfdyg4q4w47vywpw1r8rmh0iznkh";
+       setupHaskellDepends = [ base Cabal cabal-pkg-config-version-hook ];
        libraryHaskellDepends = [
          base bytestring conduit containers inline-c inline-c-cpp protolude
          template-haskell unix unliftio-core vector
@@ -132655,8 +130762,8 @@ self: {
      }:
      mkDerivation {
        pname = "hermes-json";
-       version = "0.1.0.1";
-       sha256 = "1c9z85dlzsnnr64xyp2ksqbfjzmm7k8gk3n208wyvbvl7mmrmrqf";
+       version = "0.2.0.0";
+       sha256 = "1jqpwsspq40pf7g1qhs192kx2xdz0y80z3njh4dp5bd3dsq0kj2k";
        libraryHaskellDepends = [
          attoparsec attoparsec-iso8601 base bytestring deepseq dlist mtl
          scientific text time time-compat transformers unliftio
@@ -132668,8 +130775,6 @@ self: {
        ];
        description = "Fast JSON decoding via simdjson C++ bindings";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hermit" = callPackage
@@ -132916,16 +131021,17 @@ self: {
 
   "heterocephalus" = callPackage
     ({ mkDerivation, base, blaze-html, blaze-markup, containers, dlist
-     , doctest, Glob, mtl, parsec, shakespeare, template-haskell, text
-     , transformers
+     , doctest, Glob, mtl, parsec, shakespeare, template-haskell
+     , template-haskell-compat-v0208, text, transformers
      }:
      mkDerivation {
        pname = "heterocephalus";
-       version = "1.0.5.4";
-       sha256 = "06fv3bhnj80cjli1v2drkpkmx76i81cpawlci7agcxxd8fd8zplc";
+       version = "1.0.5.6";
+       sha256 = "15bgmgnyrf721d0a3bpmvbz723a79hbh56wa6a2v087v3qrlx05g";
        libraryHaskellDepends = [
          base blaze-html blaze-markup containers dlist mtl parsec
-         shakespeare template-haskell text transformers
+         shakespeare template-haskell template-haskell-compat-v0208 text
+         transformers
        ];
        testHaskellDepends = [ base doctest Glob ];
        description = "A type-safe template engine for working with front end development tools";
@@ -133012,16 +131118,16 @@ self: {
      }:
      mkDerivation {
        pname = "hevm";
-       version = "0.48.0";
-       sha256 = "12clxkhkap4j0xkn5s2i6cphkhri8vccalg92znlm5drjpbmf457";
+       version = "0.49.0";
+       sha256 = "1plkfzx0r5k77ymlkrg694vgx58jil5wx2m43ggs9ixnph0q3ysx";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         abstract-par aeson ansi-wl-pprint async base base16-bytestring
-         binary brick bytestring cereal containers cryptonite data-dword
-         Decimal deepseq directory fgl filepath free haskeline here lens
-         lens-aeson megaparsec memory monad-par mtl multiset operational
+         abstract-par aeson ansi-wl-pprint base base16-bytestring binary
+         brick bytestring cereal containers cryptonite data-dword Decimal
+         deepseq directory fgl filepath free haskeline here lens lens-aeson
+         megaparsec memory monad-par mtl multiset operational
          optparse-generic process QuickCheck quickcheck-text regex-tdfa
          restless-git rosezipper s-cargot sbv scientific semver-range
          temporary text text-format time transformers tree-view
@@ -133043,6 +131149,7 @@ self: {
        testSystemDepends = [ secp256k1 ];
        description = "Ethereum virtual machine evaluator";
        license = lib.licenses.agpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) libff; inherit (pkgs) secp256k1;};
 
   "hevolisa" = callPackage
@@ -133096,10 +131203,10 @@ self: {
     ({ mkDerivation, base, base16-bytestring, bytestring, text }:
      mkDerivation {
        pname = "hex-text";
-       version = "0.1.0.4";
-       sha256 = "03nlm2axcb29jlx797krfac65fb2f3xbcw7lp3klrnznkagb8884";
+       version = "0.1.0.6";
+       sha256 = "1a5ccvbj7asbx92f4309qfwwih8ffnfi5kkahdn6dp444xa374r7";
        libraryHaskellDepends = [ base base16-bytestring bytestring text ];
-       testHaskellDepends = [ base bytestring text ];
+       testHaskellDepends = [ base base16-bytestring bytestring text ];
        description = "ByteString-Text hexidecimal conversions";
        license = lib.licenses.mit;
      }) {};
@@ -133226,6 +131333,7 @@ self: {
          transformers
        ];
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hexpat-iteratee" = callPackage
@@ -133259,6 +131367,8 @@ self: {
        ];
        description = "Lenses for Hexpat";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hexpat-pickle" = callPackage
@@ -133310,6 +131420,8 @@ self: {
        ];
        testHaskellDepends = [ base hexpat hspec ];
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hexpat-tagsoup" = callPackage
@@ -133421,6 +131533,8 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Generic and niche utility functions and more for Haskell";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hextream" = callPackage
@@ -133666,7 +131780,6 @@ self: {
        description = "OpenGL fractal renderer";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hfsevents" = callPackage
@@ -133825,44 +131938,8 @@ self: {
      }:
      mkDerivation {
        pname = "hgeometry";
-       version = "0.12.0.4";
-       sha256 = "1by6x3525hzfk2yr2rkwz4c0vq95x32f5c3bc0sr8kl6yrbabghw";
-       libraryHaskellDepends = [
-         aeson base bifunctors bytestring containers data-clist deepseq
-         dlist fingertree fixed-vector hashable hgeometry-combinatorial
-         hspec lens linear MonadRandom mtl nonempty-vector primitive
-         QuickCheck quickcheck-instances random reflection semigroupoids
-         semigroups template-haskell text vector vector-algorithms
-         vector-builder vector-circular vinyl witherable yaml
-       ];
-       testHaskellDepends = [
-         base doctest doctest-discover QuickCheck quickcheck-instances
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring containers deepseq deepseq-generics dlist
-         fixed-vector hashable hgeometry-combinatorial lens linear
-         MonadRandom mtl optparse-applicative QuickCheck semigroupoids
-         semigroups tasty-bench vector vector-circular vinyl
-       ];
-       description = "Geometric Algorithms, Data structures, and Data types";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "hgeometry_0_13" = callPackage
-    ({ mkDerivation, aeson, base, bifunctors, bytestring, containers
-     , data-clist, deepseq, deepseq-generics, dlist, doctest
-     , doctest-discover, fingertree, fixed-vector, hashable
-     , hgeometry-combinatorial, hspec, lens, linear, MonadRandom, mtl
-     , nonempty-vector, optparse-applicative, primitive, QuickCheck
-     , quickcheck-instances, random, reflection, semigroupoids
-     , semigroups, tasty-bench, template-haskell, text, vector
-     , vector-algorithms, vector-builder, vector-circular, vinyl
-     , witherable, yaml
-     }:
-     mkDerivation {
-       pname = "hgeometry";
-       version = "0.13";
-       sha256 = "0g9napakxq2x5m8ql7npc72fd212n9pwgv5ja9hzfcdfxqhbsxsy";
+       version = "0.14";
+       sha256 = "0bqn0qmi4r23wn2bmz4nnxp7cainsvi0zfxh71swn3a6labapkwk";
        libraryHaskellDepends = [
          aeson base bifunctors bytestring containers data-clist deepseq
          dlist fingertree fixed-vector hashable hgeometry-combinatorial
@@ -133882,7 +131959,6 @@ self: {
        ];
        description = "Geometric Algorithms, Data structures, and Data types";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hgeometry-combinatorial" = callPackage
@@ -133897,41 +131973,8 @@ self: {
      }:
      mkDerivation {
        pname = "hgeometry-combinatorial";
-       version = "0.12.0.3";
-       sha256 = "0sfng68pirghrnqflxnvysg8x3pnpbwrbc70xsj87gc257adfla9";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson array base bifunctors bytestring containers contravariant
-         data-clist deepseq dlist fingertree hashable lens linear
-         math-functions MonadRandom mtl nonempty-vector primitive QuickCheck
-         quickcheck-instances random reflection semigroupoids semigroups
-         template-haskell text unordered-containers vector vector-builder
-         vector-circular vinyl witherable yaml
-       ];
-       testHaskellDepends = [
-         approximate-equality base bytestring containers data-clist deepseq
-         directory doctest filepath hspec lens linear MonadRandom QuickCheck
-         quickcheck-instances random semigroups vector vinyl yaml
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Data structures, and Data types";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "hgeometry-combinatorial_0_13" = callPackage
-    ({ mkDerivation, aeson, approximate-equality, array, base
-     , bifunctors, bytestring, containers, contravariant, data-clist
-     , deepseq, directory, dlist, doctest, filepath, fingertree
-     , hashable, hspec, hspec-discover, lens, linear, math-functions
-     , MonadRandom, mtl, nonempty-vector, primitive, QuickCheck
-     , quickcheck-instances, random, reflection, semigroupoids
-     , semigroups, template-haskell, text, unordered-containers, vector
-     , vector-builder, vector-circular, vinyl, witherable, yaml
-     }:
-     mkDerivation {
-       pname = "hgeometry-combinatorial";
-       version = "0.13";
-       sha256 = "1avw51fjdxixsj00scfffb0drcish2sb76x6ny0zfg6hb0pvrl69";
+       version = "0.14";
+       sha256 = "18gzhdjnpx6wxm9im8anfcbrkzm1xs4vg3zshjprjfjpnb2i4z0x";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson array base bifunctors bytestring containers contravariant
@@ -133950,7 +131993,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Data structures, and Data types";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hgeometry-ipe" = callPackage
@@ -133960,7 +132002,8 @@ self: {
      , hgeometry-combinatorial, hspec, hspec-discover, lens, linear
      , MonadRandom, mtl, parsec, QuickCheck, quickcheck-instances
      , random, reflection, semigroupoids, semigroups, singletons
-     , template-haskell, text, typed-process, vector, vinyl, yaml
+     , singletons-th, template-haskell, text, typed-process, vector
+     , vinyl, yaml
      }:
      mkDerivation {
        pname = "hgeometry-ipe";
@@ -133972,14 +132015,14 @@ self: {
          deepseq directory dlist filepath fingertree fixed-vector hexpat
          hgeometry hgeometry-combinatorial lens linear MonadRandom mtl
          parsec QuickCheck quickcheck-instances random reflection
-         semigroupoids semigroups singletons template-haskell text
-         typed-process vector vinyl yaml
+         semigroupoids semigroups singletons singletons-th template-haskell
+         text typed-process vector vinyl yaml
        ];
        testHaskellDepends = [
          approximate-equality base bytestring colour containers data-clist
          directory filepath hgeometry hgeometry-combinatorial hspec lens
          linear MonadRandom QuickCheck quickcheck-instances random
-         semigroups singletons vector vinyl yaml
+         semigroups singletons singletons-th vector vinyl yaml
        ];
        testToolDepends = [ hspec-discover ];
        description = "Reading and Writing ipe7 files";
@@ -134111,15 +132154,17 @@ self: {
      }) {HTam = null;};
 
   "hgmp" = callPackage
-    ({ mkDerivation, base, ghc-prim, integer-gmp, QuickCheck }:
+    ({ mkDerivation, base, ghc-bignum, ghc-prim, QuickCheck }:
      mkDerivation {
        pname = "hgmp";
        version = "0.1.2";
        sha256 = "1sqnywh4h1nklcpci60n427m1kahkza1vy1j60jmq3lnlrbgzfzk";
-       libraryHaskellDepends = [ base ghc-prim integer-gmp ];
+       libraryHaskellDepends = [ base ghc-bignum ghc-prim ];
        testHaskellDepends = [ base QuickCheck ];
        description = "Haskell interface to GMP";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hgom" = callPackage
@@ -134211,6 +132256,8 @@ self: {
        ];
        description = "Compile Mercurial (hg) version info into Haskell code";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hgrib" = callPackage
@@ -134482,46 +132529,14 @@ self: {
     ({ mkDerivation, aeson, base, base16-bytestring, bytestring
      , conduit, conduit-extra, containers, cryptohash-sha1, deepseq
      , directory, exceptions, extra, file-embed, filepath, ghc, hslogger
-     , hspec-expectations, optparse-applicative, process, tasty
+     , optparse-applicative, process, tagged, tasty
      , tasty-expected-failure, tasty-hunit, temporary, text, time
      , transformers, unix-compat, unordered-containers, vector, yaml
      }:
      mkDerivation {
        pname = "hie-bios";
-       version = "0.7.6";
-       sha256 = "13x8m7hg5ahmh96xq703ygx7f2zk69gbrgmrbrrwzvbc9h0ci02r";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base base16-bytestring bytestring conduit conduit-extra
-         containers cryptohash-sha1 deepseq directory exceptions extra
-         file-embed filepath ghc hslogger process temporary text time
-         transformers unix-compat unordered-containers vector yaml
-       ];
-       executableHaskellDepends = [
-         base directory filepath ghc optparse-applicative
-       ];
-       testHaskellDepends = [
-         base directory extra filepath ghc hspec-expectations tasty
-         tasty-expected-failure tasty-hunit temporary text
-         unordered-containers yaml
-       ];
-       description = "Set up a GHC API session";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "hie-bios_0_8_1" = callPackage
-    ({ mkDerivation, aeson, base, base16-bytestring, bytestring
-     , conduit, conduit-extra, containers, cryptohash-sha1, deepseq
-     , directory, exceptions, extra, file-embed, filepath, ghc, hslogger
-     , optparse-applicative, process, tasty, tasty-expected-failure
-     , tasty-hunit, temporary, text, time, transformers, unix-compat
-     , unordered-containers, vector, yaml
-     }:
-     mkDerivation {
-       pname = "hie-bios";
-       version = "0.8.1";
-       sha256 = "1rd0aasab8z8ilwyzngvs99wbb861hlmc8bmmnnfgd742xldxs2q";
+       version = "0.9.1";
+       sha256 = "0pcbgrn0hl19rk72z7mcd44j72lsmnl88nlk95rlb47l0ymr3ij1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -134534,13 +132549,12 @@ self: {
          base directory filepath ghc optparse-applicative
        ];
        testHaskellDepends = [
-         aeson base directory extra filepath ghc tasty
+         aeson base directory extra filepath ghc tagged tasty
          tasty-expected-failure tasty-hunit temporary text
          unordered-containers yaml
        ];
        description = "Set up a GHC API session";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hie-compat" = callPackage
@@ -134594,7 +132608,6 @@ self: {
        description = "The core of an IDE";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hiedb" = callPackage
@@ -134688,7 +132701,6 @@ self: {
        description = "hierarchical environments for dependency injection";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hierarchical-exceptions" = callPackage
@@ -134962,6 +132974,8 @@ self: {
        benchmarkHaskellDepends = [ base criterion ];
        description = "Command line tool for highlighting parts of files matching a regex";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "highlight-versions" = callPackage
@@ -135193,6 +133207,8 @@ self: {
        ];
        description = "Type inference for Hindley-Milner based languages";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hinduce-associations-apriori" = callPackage
@@ -135452,6 +133468,28 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "hint_0_9_0_6" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory
+     , exceptions, filepath, ghc, ghc-boot, ghc-paths, HUnit, random
+     , stm, temporary, text, transformers, typed-process, unix
+     }:
+     mkDerivation {
+       pname = "hint";
+       version = "0.9.0.6";
+       sha256 = "1j7jzx8i1rc66xw4c6gf4kjv0a8ma96j25kfz6rzswik4vp5xmky";
+       libraryHaskellDepends = [
+         base containers directory exceptions filepath ghc ghc-boot
+         ghc-paths random temporary transformers unix
+       ];
+       testHaskellDepends = [
+         base bytestring containers directory exceptions filepath HUnit stm
+         text typed-process unix
+       ];
+       description = "A Haskell interpreter built on top of the GHC API";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hint-server" = callPackage
     ({ mkDerivation, base, eprocess, exceptions, hint, monad-loops, mtl
      }:
@@ -135629,7 +133667,6 @@ self: {
        description = "Support for reading and writing ipe7 files (http://ipe7.sourceforge.net)";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hips" = callPackage
@@ -136062,8 +134099,8 @@ self: {
        pname = "hjsmin";
        version = "0.2.0.4";
        sha256 = "1r2p5rjdjr25j3w4s57q5hxw2c3ymw12x7ms18yvglnq2ivr9fc1";
-       revision = "1";
-       editedCabalFile = "0ni726dy3a0mmqwlpqby4yhy7cdddjala1vwgaq75pgb0bmp7wr0";
+       revision = "2";
+       editedCabalFile = "184g49wsj2sfm8d75kgr7ylfw29gbyrqbqp4syyz30ch047jd0af";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -136319,6 +134356,26 @@ self: {
        license = lib.licenses.gpl3Only;
      }) {};
 
+  "hkgr_0_4" = callPackage
+    ({ mkDerivation, base, bytestring, directory, extra, filepath
+     , simple-cabal, simple-cmd-args, typed-process, xdg-basedir
+     }:
+     mkDerivation {
+       pname = "hkgr";
+       version = "0.4";
+       sha256 = "1h4dxnsj729cy8x687f77y0p8gh7sz9z7dl8vgqwmcd4p65vjwlk";
+       isLibrary = false;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       executableHaskellDepends = [
+         base bytestring directory extra filepath simple-cabal
+         simple-cmd-args typed-process xdg-basedir
+       ];
+       description = "Simple Hackage release workflow for package maintainers";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hkt" = callPackage
     ({ mkDerivation, base, hspec, inspection-testing, protolude, text
      }:
@@ -136417,53 +134474,11 @@ self: {
        ];
        description = "Web Socket interface to Leap Motion controller";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hledger" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, base, base-compat-batteries
-     , bytestring, cmdargs, containers, data-default, Decimal, Diff
-     , directory, extra, filepath, hashable, haskeline, hledger-lib
-     , lucid, math-functions, megaparsec, mtl, old-time, process
-     , regex-tdfa, safe, shakespeare, split, tabular, tasty, temporary
-     , terminfo, text, time, timeit, transformers, unordered-containers
-     , utf8-string, utility-ht, wizards
-     }:
-     mkDerivation {
-       pname = "hledger";
-       version = "1.21";
-       sha256 = "07fcfkmv4cy92njnf2qc7jh0naz96q962hxldcd7hk4k7ddv0mss";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson ansi-terminal base base-compat-batteries bytestring cmdargs
-         containers data-default Decimal Diff directory extra filepath
-         hashable haskeline hledger-lib lucid math-functions megaparsec mtl
-         old-time process regex-tdfa safe shakespeare split tabular tasty
-         temporary terminfo text time timeit transformers
-         unordered-containers utf8-string utility-ht wizards
-       ];
-       executableHaskellDepends = [
-         aeson ansi-terminal base base-compat-batteries bytestring cmdargs
-         containers data-default Decimal directory extra filepath haskeline
-         hledger-lib math-functions megaparsec mtl old-time process
-         regex-tdfa safe shakespeare split tabular tasty temporary terminfo
-         text time timeit transformers unordered-containers utf8-string
-         utility-ht wizards
-       ];
-       testHaskellDepends = [
-         aeson ansi-terminal base base-compat-batteries bytestring cmdargs
-         containers data-default Decimal directory extra filepath haskeline
-         hledger-lib math-functions megaparsec mtl old-time process
-         regex-tdfa safe shakespeare split tabular tasty temporary terminfo
-         text time timeit transformers unordered-containers utf8-string
-         utility-ht wizards
-       ];
-       description = "Command-line interface for the hledger accounting system";
-       license = lib.licenses.gpl3Only;
-       maintainers = with lib.maintainers; [ peti ];
-     }) {};
-
-  "hledger_1_24_1" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, bytestring, cmdargs
      , containers, data-default, Decimal, Diff, directory, extra
      , filepath, githash, hashable, haskeline, hledger-lib, lucid
@@ -136474,8 +134489,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger";
-       version = "1.24.1";
-       sha256 = "01y9i7xrw22nx8qq8iq6xy0f84jf8khfk0h0r2y21cg96s65fyjy";
+       version = "1.25";
+       sha256 = "0dmzmvkg8gk8rwbhvc4v4ch12i1pqvd91jx3z5c0plmx49f8q65k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -136502,7 +134517,6 @@ self: {
        ];
        description = "Command-line interface for the hledger accounting system";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ peti ];
      }) {};
 
@@ -136529,6 +134543,7 @@ self: {
        description = "Web API server for the hledger accounting tool";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hledger-chart" = callPackage
@@ -136562,6 +134577,8 @@ self: {
        executableHaskellDepends = [ base hledger-lib text time ];
        description = "Compares the transactions in two ledger files";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hledger-flow" = callPackage
@@ -136587,56 +134604,19 @@ self: {
        ];
        description = "An hledger workflow focusing on automated statement import and classification";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hledger-iadd" = callPackage
     ({ mkDerivation, base, brick, containers, directory, free
      , hledger-lib, hspec, hspec-discover, megaparsec, microlens
-     , microlens-th, optparse-applicative, QuickCheck, semigroups, text
-     , text-zipper, time, transformers, unordered-containers, vector
-     , vty, xdg-basedir
-     }:
-     mkDerivation {
-       pname = "hledger-iadd";
-       version = "1.3.14";
-       sha256 = "0kcw8yp9g6cj6amc4rh8iwzd4zh5v68ns8sf5rv4hfa4xj928iy5";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base brick containers directory free hledger-lib megaparsec
-         microlens microlens-th optparse-applicative semigroups text
-         text-zipper time transformers unordered-containers vector vty
-         xdg-basedir
-       ];
-       executableHaskellDepends = [
-         base brick directory free hledger-lib megaparsec microlens
-         optparse-applicative text text-zipper time transformers
-         unordered-containers vector vty xdg-basedir
-       ];
-       testHaskellDepends = [
-         base free hledger-lib hspec megaparsec QuickCheck text text-zipper
-         time transformers vector
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "A terminal UI as drop-in replacement for hledger add";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "hledger-iadd_1_3_16" = callPackage
-    ({ mkDerivation, base, brick, containers, directory, free
-     , hledger-lib, hspec, hspec-discover, megaparsec, microlens
      , microlens-th, optparse-applicative, QuickCheck, text, text-zipper
      , time, transformers, unordered-containers, vector, vty
      , xdg-basedir
      }:
      mkDerivation {
        pname = "hledger-iadd";
-       version = "1.3.16";
-       sha256 = "09b8519s8f3ckh1ghcj8zn0s4dnagbpaf0hyinvmy5vjnjvnyf1f";
-       revision = "2";
-       editedCabalFile = "00sl5wqwi2zd735lqpm9na4qkiq0g8nkzb2gwdrhyczvbbad5ffb";
+       version = "1.3.17";
+       sha256 = "1b3qz5vm8db6gsdakg8nf3qc6rp7mlh3zpkzvhi80pqm3jzdbjph";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -136656,7 +134636,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A terminal UI as drop-in replacement for hledger add";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hledger-interest" = callPackage
@@ -136664,27 +134643,10 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-interest";
-       version = "1.6.1";
-       sha256 = "0i97y7rs5kd2dqk3qwd2jg17vs9ib4yvkaqlljnb32x16gphpvhc";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         base Cabal Decimal hledger-lib mtl text time
-       ];
-       description = "computes interest for a given account";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ peti ];
-     }) {};
-
-  "hledger-interest_1_6_3" = callPackage
-    ({ mkDerivation, base, Cabal, Decimal, hledger-lib, mtl, text, time
-     }:
-     mkDerivation {
-       pname = "hledger-interest";
        version = "1.6.3";
        sha256 = "1r8iydl66k2j7xv1b465alf3h8mqwjfz13ffwsd50h0kscxjmxhg";
-       revision = "1";
-       editedCabalFile = "0blklcmhxnvrm7lqzkhjfb3czl1lbkk14z8m2jqj0q2l8hm94afb";
+       revision = "2";
+       editedCabalFile = "1hsd1r4j0737lkllxa3ivrbdcp3da2vr5fiakfhrw5fqsbi3p8rc";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -136692,7 +134654,6 @@ self: {
        ];
        description = "computes interest for a given account";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ peti ];
      }) {};
 
@@ -136718,54 +134679,18 @@ self: {
 
   "hledger-lib" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, array, base
-     , base-compat-batteries, blaze-markup, bytestring, call-stack
-     , cassava, cassava-megaparsec, cmdargs, containers, data-default
-     , Decimal, directory, doctest, extra, file-embed, filepath, Glob
-     , hashtables, megaparsec, mtl, old-time, parser-combinators
-     , pretty-simple, regex-tdfa, safe, tabular, tasty, tasty-hunit
-     , template-haskell, text, time, timeit, transformers, uglymemo
-     , unordered-containers, utf8-string
-     }:
-     mkDerivation {
-       pname = "hledger-lib";
-       version = "1.21";
-       sha256 = "00prslqk8vnbyz388cpc0nsamzy8xcjzday5q9n3m9lx4p2dhb5y";
-       libraryHaskellDepends = [
-         aeson aeson-pretty ansi-terminal array base base-compat-batteries
-         blaze-markup bytestring call-stack cassava cassava-megaparsec
-         cmdargs containers data-default Decimal directory extra file-embed
-         filepath Glob hashtables megaparsec mtl old-time parser-combinators
-         pretty-simple regex-tdfa safe tabular tasty tasty-hunit
-         template-haskell text time timeit transformers uglymemo
-         unordered-containers utf8-string
-       ];
-       testHaskellDepends = [
-         aeson aeson-pretty ansi-terminal array base base-compat-batteries
-         blaze-markup bytestring call-stack cassava cassava-megaparsec
-         cmdargs containers data-default Decimal directory doctest extra
-         file-embed filepath Glob hashtables megaparsec mtl old-time
-         parser-combinators pretty-simple regex-tdfa safe tabular tasty
-         tasty-hunit template-haskell text time timeit transformers uglymemo
-         unordered-containers utf8-string
-       ];
-       description = "A reusable library providing the core functionality of hledger";
-       license = lib.licenses.gpl3Only;
-     }) {};
-
-  "hledger-lib_1_24_1" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, array, base
      , blaze-markup, bytestring, call-stack, cassava, cassava-megaparsec
      , cmdargs, containers, data-default, Decimal, directory, doclayout
-     , doctest, extra, file-embed, filepath, Glob, hashtables
-     , megaparsec, microlens, microlens-th, mtl, parser-combinators
-     , pretty-simple, regex-tdfa, safe, tabular, tasty, tasty-hunit
-     , template-haskell, text, time, timeit, transformers, uglymemo
-     , unordered-containers, utf8-string
+     , extra, file-embed, filepath, Glob, hashtables, megaparsec
+     , microlens, microlens-th, mtl, parser-combinators, pretty-simple
+     , regex-tdfa, safe, tabular, tasty, tasty-hunit, template-haskell
+     , text, time, timeit, transformers, uglymemo, unordered-containers
+     , utf8-string
      }:
      mkDerivation {
        pname = "hledger-lib";
-       version = "1.24.1";
-       sha256 = "13lq518v6nmv89pbsw4qa1rvplwpnyz8sz5wd1y2wa1066rh0qli";
+       version = "1.25";
+       sha256 = "06b9nkpkwbr14jgbc04635qd7b3s068jvdfkfiza2zb4yzhdzh1n";
        libraryHaskellDepends = [
          aeson aeson-pretty ansi-terminal array base blaze-markup bytestring
          call-stack cassava cassava-megaparsec cmdargs containers
@@ -136778,15 +134703,14 @@ self: {
        testHaskellDepends = [
          aeson aeson-pretty ansi-terminal array base blaze-markup bytestring
          call-stack cassava cassava-megaparsec cmdargs containers
-         data-default Decimal directory doclayout doctest extra file-embed
-         filepath Glob hashtables megaparsec microlens microlens-th mtl
+         data-default Decimal directory doclayout extra file-embed filepath
+         Glob hashtables megaparsec microlens microlens-th mtl
          parser-combinators pretty-simple regex-tdfa safe tabular tasty
          tasty-hunit template-haskell text time timeit transformers uglymemo
          unordered-containers utf8-string
        ];
        description = "A reusable library providing the core functionality of hledger";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hledger-makeitso" = callPackage
@@ -136840,30 +134764,6 @@ self: {
      }) {};
 
   "hledger-ui" = callPackage
-    ({ mkDerivation, ansi-terminal, async, base, base-compat-batteries
-     , brick, cmdargs, containers, data-default, directory, extra
-     , filepath, fsnotify, hledger, hledger-lib, megaparsec, microlens
-     , microlens-platform, process, safe, split, text, text-zipper, time
-     , transformers, unix, vector, vty
-     }:
-     mkDerivation {
-       pname = "hledger-ui";
-       version = "1.21";
-       sha256 = "1h9d686z0y8cvq6780g6r8fdrs76y9649js0c350b6xnhzggbx0l";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         ansi-terminal async base base-compat-batteries brick cmdargs
-         containers data-default directory extra filepath fsnotify hledger
-         hledger-lib megaparsec microlens microlens-platform process safe
-         split text text-zipper time transformers unix vector vty
-       ];
-       description = "Curses-style terminal interface for the hledger accounting system";
-       license = lib.licenses.gpl3Only;
-       maintainers = with lib.maintainers; [ peti ];
-     }) {};
-
-  "hledger-ui_1_24_1" = callPackage
     ({ mkDerivation, ansi-terminal, async, base, brick, cmdargs
      , containers, data-default, directory, doclayout, extra, filepath
      , fsnotify, hledger, hledger-lib, megaparsec, microlens
@@ -136872,8 +134772,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-ui";
-       version = "1.24.1";
-       sha256 = "1afxvj8x8wq3rvbmzhrls4688gdkqsjm4kaa9zarkrrgf585q22q";
+       version = "1.25";
+       sha256 = "1sagm19anvs9b609s4rzlhjdjwd74ywbxf211j35ia5wslj8031x";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -136884,7 +134784,6 @@ self: {
        ];
        description = "Curses-style terminal interface for the hledger accounting system";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ peti ];
      }) {};
 
@@ -136908,44 +134807,6 @@ self: {
      }) {};
 
   "hledger-web" = callPackage
-    ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
-     , case-insensitive, clientsession, cmdargs, conduit, conduit-extra
-     , containers, data-default, Decimal, directory, extra, filepath
-     , hjsmin, hledger, hledger-lib, hspec, http-client, http-conduit
-     , http-types, megaparsec, mtl, network, shakespeare
-     , template-haskell, text, time, transformers, unix-compat
-     , unordered-containers, utf8-string, wai, wai-cors, wai-extra
-     , wai-handler-launch, warp, yaml, yesod, yesod-core, yesod-form
-     , yesod-static, yesod-test
-     }:
-     mkDerivation {
-       pname = "hledger-web";
-       version = "1.21";
-       sha256 = "0ivszqcypw0j2wn4r7fv7dqm1pvr0b1y6rqpxagzyk8cxn3ic9g2";
-       revision = "1";
-       editedCabalFile = "1hnw10ibhbafbsfj5lzlxwjg4cjnqr5bb51n6mqbi30qqabgq78x";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base blaze-html blaze-markup bytestring case-insensitive
-         clientsession cmdargs conduit conduit-extra containers data-default
-         Decimal directory extra filepath hjsmin hledger hledger-lib hspec
-         http-client http-conduit http-types megaparsec mtl network
-         shakespeare template-haskell text time transformers unix-compat
-         unordered-containers utf8-string wai wai-cors wai-extra
-         wai-handler-launch warp yaml yesod yesod-core yesod-form
-         yesod-static yesod-test
-       ];
-       executableHaskellDepends = [ base ];
-       testHaskellDepends = [
-         base hledger hledger-lib hspec text yesod yesod-test
-       ];
-       description = "Web-based user interface for the hledger accounting system";
-       license = lib.licenses.gpl3Only;
-       maintainers = with lib.maintainers; [ peti ];
-     }) {};
-
-  "hledger-web_1_24_1" = callPackage
     ({ mkDerivation, aeson, base, base64, blaze-html, blaze-markup
      , bytestring, case-insensitive, clientsession, cmdargs, conduit
      , conduit-extra, containers, data-default, Decimal, directory
@@ -136958,8 +134819,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-web";
-       version = "1.24.1";
-       sha256 = "1nms55xb1hmiz3l307r690qwa7avj4racir1pg74xxwymldsafs8";
+       version = "1.25";
+       sha256 = "0bgy2whld4b5f3ahs0zbmrgh56i0drw5hv43wnb57qixcirhlf8g";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -136978,7 +134839,6 @@ self: {
        ];
        description = "Web-based user interface for the hledger accounting system";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ peti ];
      }) {};
 
@@ -137079,32 +134939,6 @@ self: {
      }:
      mkDerivation {
        pname = "hlint";
-       version = "3.2.8";
-       sha256 = "14nvq71kn1lhqx02r69f949p33rhxi466fwmxj9g0wd5191jawrs";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson ansi-terminal base bytestring cmdargs containers cpphs
-         data-default directory extra file-embed filepath filepattern ghc
-         ghc-boot ghc-boot-th ghc-lib-parser-ex hscolour process refact text
-         transformers uniplate unordered-containers utf8-string vector yaml
-       ];
-       executableHaskellDepends = [ base ];
-       description = "Source code suggestions";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ maralorn ];
-     }) {};
-
-  "hlint_3_3_6" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, base, bytestring, cmdargs
-     , containers, cpphs, data-default, directory, extra, file-embed
-     , filepath, filepattern, ghc-lib-parser, ghc-lib-parser-ex
-     , hscolour, process, refact, text, transformers, uniplate
-     , unordered-containers, utf8-string, vector, yaml
-     }:
-     mkDerivation {
-       pname = "hlint";
        version = "3.3.6";
        sha256 = "0g4fnx0xlwny41dw01vxmfq9ibfwvpgf1cailj870k2wrbs2c9df";
        isLibrary = true;
@@ -137112,14 +134946,13 @@ self: {
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson ansi-terminal base bytestring cmdargs containers cpphs
-         data-default directory extra file-embed filepath filepattern
-         ghc-lib-parser ghc-lib-parser-ex hscolour process refact text
+         data-default directory extra file-embed filepath filepattern ghc
+         ghc-boot ghc-boot-th ghc-lib-parser-ex hscolour process refact text
          transformers uniplate unordered-containers utf8-string vector yaml
        ];
        executableHaskellDepends = [ base ];
        description = "Source code suggestions";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
@@ -137476,7 +135309,7 @@ self: {
   "hls-hlint-plugin" = callPackage
     ({ mkDerivation, aeson, apply-refact, base, binary, bytestring
      , containers, data-default, deepseq, Diff, directory, extra
-     , filepath, ghc, ghc-exactprint, ghc-lib, ghc-lib-parser-ex, ghcide
+     , filepath, ghc, ghc-exactprint, ghc-lib-parser-ex, ghcide
      , hashable, hlint, hls-plugin-api, hls-test-utils, hslogger, lens
      , lsp, lsp-types, regex-tdfa, stm, temporary, text, transformers
      , unordered-containers
@@ -137487,7 +135320,7 @@ self: {
        sha256 = "0vzgsh6x8bjgi3l6nc9kfgbczxnd7fws5bmglac5khr0z042babb";
        libraryHaskellDepends = [
          aeson apply-refact base binary bytestring containers data-default
-         deepseq Diff directory extra filepath ghc ghc-exactprint ghc-lib
+         deepseq Diff directory extra filepath ghc ghc-exactprint
          ghc-lib-parser-ex ghcide hashable hlint hls-plugin-api hslogger
          lens lsp regex-tdfa stm temporary text transformers
          unordered-containers
@@ -137873,6 +135706,7 @@ self: {
        ];
        description = "hmatrix operations lifted for backprop";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hmatrix-banded" = callPackage
@@ -138325,28 +136159,6 @@ self: {
      }) {};
 
   "hmm-lapack" = callPackage
-    ({ mkDerivation, base, comfort-array, containers, deepseq
-     , explicit-exception, fixed-length, lapack, lazy-csv, netlib-ffi
-     , non-empty, prelude-compat, QuickCheck, random, semigroups, tfp
-     , transformers, utility-ht
-     }:
-     mkDerivation {
-       pname = "hmm-lapack";
-       version = "0.4";
-       sha256 = "0f0xf1fjsqqfimxx7skdwddw8zbdmas3l31y6921mxzy1syys30w";
-       revision = "1";
-       editedCabalFile = "10dg0s6nrvb93ksyzgappmr28av4k204kmc8lb3vc2ribqhpb177";
-       libraryHaskellDepends = [
-         base comfort-array containers deepseq explicit-exception
-         fixed-length lapack lazy-csv netlib-ffi non-empty prelude-compat
-         QuickCheck random semigroups tfp transformers utility-ht
-       ];
-       testHaskellDepends = [ base QuickCheck ];
-       description = "Hidden Markov Models using LAPACK primitives";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "hmm-lapack_0_5" = callPackage
     ({ mkDerivation, base, comfort-array, comfort-array-shape
      , containers, deepseq, doctest-exitcode-stdio, doctest-lib
      , explicit-exception, fixed-length, lapack, lazy-csv, netlib-ffi
@@ -138371,7 +136183,6 @@ self: {
        doHaddock = false;
        description = "Hidden Markov Models using LAPACK primitives";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hmp3" = callPackage
@@ -138427,6 +136238,8 @@ self: {
        librarySystemDepends = [ mpfr ];
        description = "Haskell binding to the MPFR library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) mpfr;};
 
   "hmt" = callPackage
@@ -138785,7 +136598,6 @@ self: {
        description = "Generic rewrite rules with safe treatment of variables and binders";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hoauth" = callPackage
@@ -138808,39 +136620,35 @@ self: {
      }) {};
 
   "hoauth2" = callPackage
-    ({ mkDerivation, aeson, base, binary, bytestring, exceptions
-     , http-conduit, http-types, microlens, text, unordered-containers
-     , uri-bytestring, uri-bytestring-aeson
+    ({ mkDerivation, aeson, base, binary, bytestring, containers
+     , data-default, exceptions, http-conduit, http-types, microlens
+     , text, transformers, uri-bytestring, uri-bytestring-aeson
      }:
      mkDerivation {
        pname = "hoauth2";
-       version = "1.16.2";
-       sha256 = "0yw9fnpac1ryk0pn0ikf4g1p687mvschrnpj7szlcj6am78ldqzx";
-       isLibrary = true;
-       isExecutable = true;
+       version = "2.3.0";
+       sha256 = "10y4ik96h61msapqh0rjmb5vjv7kfky6z9iffsln046an59b759v";
        libraryHaskellDepends = [
-         aeson base binary bytestring exceptions http-conduit http-types
-         microlens text unordered-containers uri-bytestring
+         aeson base binary bytestring containers data-default exceptions
+         http-conduit http-types microlens text transformers uri-bytestring
          uri-bytestring-aeson
        ];
        description = "Haskell OAuth2 authentication client";
        license = lib.licenses.bsd3;
      }) {};
 
-  "hoauth2_2_0_0" = callPackage
-    ({ mkDerivation, aeson, base, binary, bytestring, exceptions
-     , hashable, http-conduit, http-types, microlens, text
-     , unordered-containers, uri-bytestring, uri-bytestring-aeson
+  "hoauth2_2_4_0" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, containers
+     , data-default, exceptions, http-conduit, http-types, microlens
+     , text, transformers, uri-bytestring, uri-bytestring-aeson
      }:
      mkDerivation {
        pname = "hoauth2";
-       version = "2.0.0";
-       sha256 = "1052ibfliwjg6p0r9y32i5j25dankp2zcy9hjm6sxag0wjgqz3wb";
-       isLibrary = true;
-       isExecutable = true;
+       version = "2.4.0";
+       sha256 = "0lz4ah5dxzzbkw01sarx5dg15vr2d7bms7nksbl66kblpdwyskbx";
        libraryHaskellDepends = [
-         aeson base binary bytestring exceptions hashable http-conduit
-         http-types microlens text unordered-containers uri-bytestring
+         aeson base binary bytestring containers data-default exceptions
+         http-conduit http-types microlens text transformers uri-bytestring
          uri-bytestring-aeson
        ];
        description = "Haskell OAuth2 authentication client";
@@ -138910,6 +136718,8 @@ self: {
        ];
        description = "A library for canonically representing terms with binding";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hocilib" = callPackage
@@ -139110,6 +136920,8 @@ self: {
        ];
        description = "Bindings to the Toggl.com REST API";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hogre" = callPackage
@@ -139373,6 +137185,7 @@ self: {
        libraryHaskellDepends = [ base OneTuple Only single-tuple ];
        description = "Homotuple, all whose elements are the same type";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "homplexity" = callPackage
@@ -139441,6 +137254,8 @@ self: {
          text unliftio unordered-containers uuid vector zlib
        ];
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "honi" = callPackage
@@ -139951,6 +137766,7 @@ self: {
        executableToolDepends = [ alex happy ];
        description = "hOpenPGP-based command-line tools";
        license = lib.licenses.agpl3Plus;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hopenssl" = callPackage
@@ -140050,6 +137866,7 @@ self: {
        ];
        description = "C++ FFI generator - Documentation";
        license = lib.licenses.agpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hoppy-generator" = callPackage
@@ -140081,6 +137898,8 @@ self: {
        ];
        description = "C++ FFI generator - Runtime support";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hoppy-std" = callPackage
@@ -140182,6 +138001,25 @@ self: {
        broken = true;
      }) {};
 
+  "horizontal-rule" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, HMock, optparse-applicative
+     , tasty, tasty-hunit, terminal-size, text, time
+     }:
+     mkDerivation {
+       pname = "horizontal-rule";
+       version = "0.5.0.0";
+       sha256 = "1anpf8qgiyvx1fvycr01sz9ak8zxdrarqw32m0kybxs3xhw15myy";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base terminal-size text ];
+       executableHaskellDepends = [
+         ansi-wl-pprint base optparse-applicative text time
+       ];
+       testHaskellDepends = [ base HMock tasty tasty-hunit ];
+       description = "horizontal rule for the terminal";
+       license = lib.licenses.mit;
+     }) {};
+
   "horname" = callPackage
     ({ mkDerivation, base, containers, megaparsec, optparse-applicative
      , text, these, uniplate, wl-pprint-text
@@ -140208,23 +138046,6 @@ self: {
      }:
      mkDerivation {
        pname = "hosc";
-       version = "0.18.1";
-       sha256 = "0ygyvwzsvqv4pihzdm6i3kzkr01nh3qpk9g9f9ap6243yx7003vj";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         base binary blaze-builder bytestring data-binary-ieee754 network
-         time transformers
-       ];
-       description = "Haskell Open Sound Control";
-       license = lib.licenses.gpl3Only;
-     }) {};
-
-  "hosc_0_19_1" = callPackage
-    ({ mkDerivation, base, binary, blaze-builder, bytestring
-     , data-binary-ieee754, network, time, transformers
-     }:
-     mkDerivation {
-       pname = "hosc";
        version = "0.19.1";
        sha256 = "08q218p1skqxwa7f55nsgmv9z8digf1c0f1wi6p562q6d4i044z7";
        enableSeparateDataOutput = true;
@@ -140234,7 +138055,6 @@ self: {
        ];
        description = "Haskell Open Sound Control";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hosc-json" = callPackage
@@ -140366,7 +138186,6 @@ self: {
        description = "Simple code hotswapping";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hourglass" = callPackage
@@ -140458,6 +138277,7 @@ self: {
        testHaskellDepends = [ base do-notation indexed ];
        description = "Non-interactive proof assistant monad for first-order logic";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hp2any-core" = callPackage
@@ -140592,6 +138412,45 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "hpack_0_34_7" = callPackage
+    ({ mkDerivation, aeson, base, bifunctors, bytestring, Cabal
+     , containers, cryptonite, deepseq, directory, filepath, Glob, hspec
+     , hspec-discover, http-client, http-client-tls, http-types, HUnit
+     , infer-license, interpolate, mockery, pretty, QuickCheck
+     , scientific, template-haskell, temporary, text, transformers
+     , unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "hpack";
+       version = "0.34.7";
+       sha256 = "0nzqpma4cxp3xw79i5pxgjynl5iq0dq0nrw8vczwpj373kyijd0h";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bifunctors bytestring Cabal containers cryptonite
+         deepseq directory filepath Glob http-client http-client-tls
+         http-types infer-license pretty scientific text transformers
+         unordered-containers vector yaml
+       ];
+       executableHaskellDepends = [
+         aeson base bifunctors bytestring Cabal containers cryptonite
+         deepseq directory filepath Glob http-client http-client-tls
+         http-types infer-license pretty scientific text transformers
+         unordered-containers vector yaml
+       ];
+       testHaskellDepends = [
+         aeson base bifunctors bytestring Cabal containers cryptonite
+         deepseq directory filepath Glob hspec http-client http-client-tls
+         http-types HUnit infer-license interpolate mockery pretty
+         QuickCheck scientific template-haskell temporary text transformers
+         unordered-containers vector yaml
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "A modern format for Haskell packages";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hpack-convert" = callPackage
     ({ mkDerivation, aeson, aeson-qq, base, base-compat, bytestring
      , Cabal, containers, deepseq, directory, filepath, Glob, hspec
@@ -140633,8 +138492,8 @@ self: {
      }:
      mkDerivation {
        pname = "hpack-dhall";
-       version = "0.5.3";
-       sha256 = "1prpk9lppz8h5bp6slhl7lm28jw6jf746py9vras0m0g6mrcc3l7";
+       version = "0.5.4";
+       sha256 = "0yhf9b1nadcz98bq84jzb80mc1w4a6sph5d6c4pnf2xj2akdxcxf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -140655,16 +138514,16 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "hpack-dhall_0_5_4" = callPackage
+  "hpack-dhall_0_5_5" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, Cabal
-     , dhall, dhall-json, Diff, directory, filepath, hlint, hpack
-     , megaparsec, microlens, optparse-applicative, prettyprinter, tasty
+     , dhall, dhall-json, Diff, directory, filepath, hpack, megaparsec
+     , microlens, optparse-applicative, prettyprinter, tasty
      , tasty-golden, text, transformers, utf8-string, yaml
      }:
      mkDerivation {
        pname = "hpack-dhall";
-       version = "0.5.4";
-       sha256 = "0yhf9b1nadcz98bq84jzb80mc1w4a6sph5d6c4pnf2xj2akdxcxf";
+       version = "0.5.5";
+       sha256 = "1256vqqncgir0ir7i0vnvr7v5jkyx5ggng8gyi4qsqs8lmqn11r3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -140678,8 +138537,8 @@ self: {
        ];
        testHaskellDepends = [
          aeson aeson-pretty base bytestring Cabal dhall dhall-json Diff
-         directory filepath hlint hpack megaparsec microlens prettyprinter
-         tasty tasty-golden text transformers utf8-string yaml
+         directory filepath hpack megaparsec microlens prettyprinter tasty
+         tasty-golden text transformers utf8-string yaml
        ];
        description = "hpack's dhalling";
        license = lib.licenses.bsd3;
@@ -140757,8 +138616,6 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) papi;};
 
   "hpaste" = callPackage
@@ -140977,6 +138834,8 @@ self: {
        testToolDepends = [ tasty-discover ];
        description = "Convert HPC output into LCOV format";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hpc-strobe" = callPackage
@@ -141179,8 +139038,39 @@ self: {
      }:
      mkDerivation {
        pname = "hpqtypes";
-       version = "1.9.2.1";
-       sha256 = "1d5k66ka43h45d1nmv3hd3wzcy00dmyh8mhjyi15l18yk6vwiw8v";
+       version = "1.9.3.0";
+       sha256 = "1xvimzwbmb72g7c4c5wi2lr4dn0pyyfzk8y4q4a9ihpw0yapby3n";
+       setupHaskellDepends = [ base Cabal directory filepath ];
+       libraryHaskellDepends = [
+         aeson async base bytestring containers exceptions lifted-base
+         monad-control mtl resource-pool semigroups text text-show time
+         transformers transformers-base uuid-types vector
+       ];
+       librarySystemDepends = [ postgresql ];
+       testHaskellDepends = [
+         aeson base bytestring exceptions HUnit lifted-base monad-control
+         mtl QuickCheck random scientific test-framework
+         test-framework-hunit text text-show time transformers-base
+         unordered-containers uuid-types vector
+       ];
+       description = "Haskell bindings to libpqtypes";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {inherit (pkgs) postgresql;};
+
+  "hpqtypes_1_9_3_1" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, Cabal, containers
+     , directory, exceptions, filepath, HUnit, lifted-base
+     , monad-control, mtl, postgresql, QuickCheck, random, resource-pool
+     , scientific, semigroups, test-framework, test-framework-hunit
+     , text, text-show, time, transformers, transformers-base
+     , unordered-containers, uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "hpqtypes";
+       version = "1.9.3.1";
+       sha256 = "02cinc29smiic2zc8z83h9bppsf60yp56a4cb9k4agkjqf5n2036";
        setupHaskellDepends = [ base Cabal directory filepath ];
        libraryHaskellDepends = [
          aeson async base bytestring containers exceptions lifted-base
@@ -141467,6 +139357,8 @@ self: {
        testHaskellDepends = [ base hspec hspec-expectations ];
        description = "Quantitative Library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) gsl;};
 
   "hquantlib" = callPackage
@@ -141527,6 +139419,8 @@ self: {
        ];
        description = "A query language for transforming HTML5";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hranker" = callPackage
@@ -141560,7 +139454,6 @@ self: {
        testHaskellDepends = [ base hset transformers-base ];
        description = "Generalization of MonadReader and ReaderT using hset";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hreader-lens" = callPackage
@@ -141576,7 +139469,6 @@ self: {
        ];
        description = "Optics for hreader package";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hreq-client" = callPackage
@@ -141705,7 +139597,6 @@ self: {
        ];
        description = "A Riemann Client for Haskell";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hruby" = callPackage
@@ -141715,28 +139606,6 @@ self: {
      }:
      mkDerivation {
        pname = "hruby";
-       version = "0.3.8.1";
-       sha256 = "00lp02wy7yxhh17dyq1acc6gfrwh145900ib42vz52lzsj5ivlcj";
-       setupHaskellDepends = [ base Cabal process ];
-       libraryHaskellDepends = [
-         aeson attoparsec base bytestring scientific stm text
-         unordered-containers vector
-       ];
-       librarySystemDepends = [ ruby ];
-       testHaskellDepends = [
-         aeson attoparsec base QuickCheck text vector
-       ];
-       description = "Embed a Ruby intepreter in your Haskell program !";
-       license = lib.licenses.bsd3;
-     }) {inherit (pkgs) ruby;};
-
-  "hruby_0_5_0_0" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, Cabal
-     , process, QuickCheck, ruby, scientific, stm, text
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "hruby";
        version = "0.5.0.0";
        sha256 = "10ldq23lgp3jcxpdm9b1dryjf4sprsjlc4qs1lnjb9cmfcafrqj4";
        setupHaskellDepends = [ base Cabal process ];
@@ -141751,6 +139620,7 @@ self: {
        description = "Embed a Ruby intepreter in your Haskell program !";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) ruby;};
 
   "hs" = callPackage
@@ -141774,6 +139644,7 @@ self: {
        ];
        description = "GHC-toolchain installer broker";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hs-GeoIP" = callPackage
@@ -141804,8 +139675,6 @@ self: {
        testHaskellDepends = [ base time ];
        description = "A modern and easy-to-use wrapper for Docker-based Lambda implementations. Now with API Gateway support!";
        license = lib.licenses.publicDomain;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hs-bibutils" = callPackage
@@ -141858,6 +139727,7 @@ self: {
        description = "Compression and decompression in the brotli format";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {brotlidec = null; brotlienc = null;};
 
   "hs-captcha" = callPackage
@@ -142005,6 +139875,7 @@ self: {
        description = "Haskell bindings for a very compact embedded ECMAScript (JavaScript) engine";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hs-excelx" = callPackage
@@ -142060,6 +139931,8 @@ self: {
        libraryHaskellDepends = [ base dual tagged transformers ];
        description = "Functors from products of Haskell and its dual to Haskell";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hs-gchart" = callPackage
@@ -142131,6 +140004,7 @@ self: {
        libraryHaskellDepends = [ base hs-functors ];
        description = "Indexed applicative functors and monads";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hs-java" = callPackage
@@ -142269,6 +140143,8 @@ self: {
        executableHaskellDepends = [ base containers emojis text ];
        description = "The OpenMoji emoji dataset";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hs-opentelemetry-api" = callPackage
@@ -142280,8 +140156,8 @@ self: {
      }:
      mkDerivation {
        pname = "hs-opentelemetry-api";
-       version = "0.0.3.1";
-       sha256 = "04mhiqk8xbm07dfqc33vwzxd0kwb9jxqbfzd3pc4qvfpkkygmy7v";
+       version = "0.0.3.2";
+       sha256 = "0rb3hmpwvncrjr9dh7wk7dqair51rmdzw9d138ld66cy6np5cjz0";
        libraryHaskellDepends = [
          async attoparsec base binary bytestring charset clock containers
          ghc-prim hashable http-types memory mtl template-haskell text
@@ -142296,6 +140172,8 @@ 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
@@ -142311,6 +140189,7 @@ self: {
          async base hs-opentelemetry-api unagi-chan
        ];
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hs-opentelemetry-exporter-otlp" = callPackage
@@ -142335,6 +140214,7 @@ self: {
        ];
        description = "OpenTelemetry exporter supporting the standard OTLP protocol";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hs-opentelemetry-instrumentation-conduit" = callPackage
@@ -142346,6 +140226,7 @@ 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
@@ -142369,6 +140250,7 @@ self: {
          http-client-tls http-conduit http-types text unliftio
        ];
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hs-opentelemetry-instrumentation-persistent" = callPackage
@@ -142389,7 +140271,6 @@ self: {
        ];
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hs-opentelemetry-instrumentation-postgresql-simple" = callPackage
@@ -142409,6 +140290,7 @@ self: {
          postgresql-libpq postgresql-simple text unliftio
        ];
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hs-opentelemetry-instrumentation-wai" = callPackage
@@ -142429,6 +140311,7 @@ self: {
        ];
        description = "WAI instrumentation middleware for OpenTelemetry";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hs-opentelemetry-instrumentation-yesod" = callPackage
@@ -142450,6 +140333,7 @@ self: {
        ];
        description = "Yesod middleware for providing OpenTelemetry instrumentation";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hs-opentelemetry-otlp" = callPackage
@@ -142479,6 +140363,7 @@ self: {
        ];
        description = "Trace propagation via HTTP headers following the w3c tracestate spec";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hs-opentelemetry-sdk" = callPackage
@@ -142506,6 +140391,7 @@ self: {
        ];
        description = "OpenTelemetry SDK for use in applications";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hs-pattrans" = callPackage
@@ -142626,6 +140512,7 @@ self: {
        libraryHaskellDepends = [ base hs-functors ];
        description = "Profunctors from Haskell to Haskell";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hs-re" = callPackage
@@ -142786,7 +140673,6 @@ self: {
        testHaskellDepends = [ base hashtables swisstable ];
        description = "Data.HashTable.Class instance definition for Data.HashTable.ST.Swiss";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hs-tags" = callPackage
@@ -143121,8 +141007,6 @@ self: {
        ];
        description = "Akamai API(Edgegrid and Netstorage)";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hsaml2" = callPackage
@@ -143368,8 +141252,6 @@ self: {
        ];
        description = "Haskell SuperCollider";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hsc3-auditor" = callPackage
@@ -143399,6 +141281,7 @@ self: {
        description = "haskell supercollider cairo drawing";
        license = "GPL";
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hsc3-data" = callPackage
@@ -143430,6 +141313,7 @@ self: {
        description = "Haskell SuperCollider Unit Generator Database";
        license = "GPL";
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hsc3-dot" = callPackage
@@ -143443,6 +141327,7 @@ self: {
        description = "haskell supercollider graph drawing";
        license = "GPL";
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hsc3-forth" = callPackage
@@ -143509,6 +141394,7 @@ self: {
        description = "Haskell SuperCollider Language";
        license = "GPL";
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hsc3-lisp" = callPackage
@@ -143567,6 +141453,7 @@ self: {
        description = "Create and control scsynth processes";
        license = "GPL";
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hsc3-rec" = callPackage
@@ -143580,6 +141467,7 @@ self: {
        description = "Haskell SuperCollider Record Variants";
        license = "GPL";
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hsc3-rw" = callPackage
@@ -143670,6 +141558,7 @@ self: {
        description = "Unsafe Haskell SuperCollider";
        license = "GPL";
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hsc3-utils" = callPackage
@@ -143826,6 +141715,8 @@ self: {
        ];
        description = "Describe schemas for your Haskell data types";
        license = lib.licenses.lgpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hschema-aeson" = callPackage
@@ -143855,6 +141746,7 @@ self: {
        ];
        description = "Describe schemas for your Haskell data types";
        license = lib.licenses.lgpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hschema-prettyprinter" = callPackage
@@ -143873,6 +141765,7 @@ self: {
        ];
        description = "Describe schemas for your Haskell data types";
        license = lib.licenses.lgpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hschema-quickcheck" = callPackage
@@ -143890,6 +141783,7 @@ self: {
        ];
        description = "Describe schemas for your Haskell data types";
        license = lib.licenses.lgpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hscim" = callPackage
@@ -144063,9 +141957,9 @@ self: {
 
   "hsdev" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, array, async, attoparsec
-     , base, bytestring, Cabal, containers, cpphs, data-default, deepseq
-     , direct-sqlite, directory, exceptions, filepath, fsnotify, ghc
-     , ghc-boot, ghc-lib-parser, ghc-paths, haddock-api, haddock-library
+     , base, bytestring, containers, cpphs, data-default, deepseq
+     , direct-sqlite, directory, exceptions, filepath, fsnotify
+     , ghc-boot, ghc-lib-parser, ghc-paths, haddock-library
      , haskell-names, haskell-src-exts, hdocs, hformat, hlint, hspec
      , http-client, lens, lens-aeson, lifted-base, mmorph, monad-control
      , monad-loops, mtl, network, network-uri, optparse-applicative
@@ -144081,15 +141975,15 @@ self: {
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson aeson-pretty array async attoparsec base bytestring Cabal
+         aeson aeson-pretty array async attoparsec base bytestring
          containers cpphs data-default deepseq direct-sqlite directory
-         exceptions filepath fsnotify ghc ghc-boot ghc-lib-parser ghc-paths
-         haddock-api haddock-library haskell-names haskell-src-exts hdocs
-         hformat hlint http-client lens lifted-base mmorph monad-control
-         monad-loops mtl network network-uri optparse-applicative process
-         regex-pcre-builtin scientific simple-log sqlite-simple stm syb
-         template-haskell text text-region time transformers
-         transformers-base uniplate unix unordered-containers vector
+         exceptions filepath fsnotify ghc-boot ghc-lib-parser ghc-paths
+         haddock-library haskell-names haskell-src-exts hdocs hformat hlint
+         http-client lens lifted-base mmorph monad-control monad-loops mtl
+         network network-uri optparse-applicative process regex-pcre-builtin
+         scientific simple-log sqlite-simple stm syb template-haskell text
+         text-region time transformers transformers-base uniplate unix
+         unordered-containers vector
        ];
        executableHaskellDepends = [
          aeson aeson-pretty base bytestring containers deepseq directory
@@ -144195,6 +142089,8 @@ self: {
        ];
        description = "Haskell eBay SDK";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hsemail" = callPackage
@@ -144285,7 +142181,6 @@ self: {
        testHaskellDepends = [ base HUnit tagged ];
        description = "Primitive list with elements of unique types";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hsexif" = callPackage
@@ -144527,6 +142422,8 @@ self: {
        ];
        description = "ini configuration files";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hsinspect" = callPackage
@@ -144549,6 +142446,8 @@ self: {
        ];
        description = "Inspect Haskell source files";
        license = lib.licenses.gpl3Plus;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hsinspect-lsp" = callPackage
@@ -144580,30 +142479,9 @@ self: {
        description = "LSP interface over the hsinspect binary";
        license = lib.licenses.gpl3Plus;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hsinstall" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, base, Cabal, directory, filepath
-     , heredoc, optparse-applicative, process, safe-exceptions
-     , transformers
-     }:
-     mkDerivation {
-       pname = "hsinstall";
-       version = "2.6";
-       sha256 = "0763jzyl8ysani30alc6ii3i68i5ls1cd288b6iza4lfz1knval5";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base directory filepath ];
-       executableHaskellDepends = [
-         ansi-wl-pprint base Cabal directory filepath heredoc
-         optparse-applicative process safe-exceptions transformers
-       ];
-       description = "Install Haskell software";
-       license = lib.licenses.isc;
-     }) {};
-
-  "hsinstall_2_7" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, Cabal, directory, exceptions
      , filepath, heredoc, newtype-generics, optparse-applicative
      , process, safe-exceptions, transformers
@@ -144622,7 +142500,6 @@ self: {
        ];
        description = "Install Haskell software";
        license = lib.licenses.isc;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hskeleton" = callPackage
@@ -144780,28 +142657,6 @@ self: {
      }) {};
 
   "hslua" = callPackage
-    ({ mkDerivation, base, bytestring, containers, exceptions, lua5_3
-     , mtl, QuickCheck, quickcheck-instances, tasty, tasty-hunit
-     , tasty-quickcheck, text
-     }:
-     mkDerivation {
-       pname = "hslua";
-       version = "1.3.0.2";
-       sha256 = "0p39xm0mmxzs5x6aim11qkb7npn0d9h7li2kwfhry0dijd1vm18i";
-       configureFlags = [ "-fsystem-lua" "-f-use-pkgconfig" ];
-       libraryHaskellDepends = [
-         base bytestring containers exceptions mtl text
-       ];
-       librarySystemDepends = [ lua5_3 ];
-       testHaskellDepends = [
-         base bytestring containers exceptions mtl QuickCheck
-         quickcheck-instances tasty tasty-hunit tasty-quickcheck text
-       ];
-       description = "Bindings to Lua, an embeddable scripting language";
-       license = lib.licenses.mit;
-     }) {inherit (pkgs) lua5_3;};
-
-  "hslua_2_1_0" = callPackage
     ({ mkDerivation, base, bytestring, containers, exceptions
      , hslua-classes, hslua-core, hslua-marshalling
      , hslua-objectorientation, hslua-packaging, mtl, tasty, tasty-hslua
@@ -144822,31 +142677,59 @@ self: {
        ];
        description = "Bindings to Lua, an embeddable scripting language";
        license = lib.licenses.mit;
+     }) {};
+
+  "hslua_2_2_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, exceptions
+     , hslua-aeson, hslua-classes, hslua-core, hslua-marshalling
+     , hslua-objectorientation, hslua-packaging, lua, lua-arbitrary, mtl
+     , QuickCheck, quickcheck-instances, tasty, tasty-hslua, tasty-hunit
+     , text
+     }:
+     mkDerivation {
+       pname = "hslua";
+       version = "2.2.0";
+       sha256 = "1krx9ay31q2rvnjncyirw77h7ljg20qqcix2zin81ws6wy4lwirq";
+       libraryHaskellDepends = [
+         base bytestring containers exceptions hslua-aeson hslua-classes
+         hslua-core hslua-marshalling hslua-objectorientation
+         hslua-packaging mtl text
+       ];
+       testHaskellDepends = [
+         base bytestring containers exceptions hslua-aeson hslua-classes
+         hslua-core hslua-marshalling hslua-objectorientation
+         hslua-packaging lua lua-arbitrary mtl QuickCheck
+         quickcheck-instances tasty tasty-hslua tasty-hunit text
+       ];
+       description = "Bindings to Lua, an embeddable scripting language";
+       license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hslua-aeson" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, hashable, hslua, hspec
-     , HUnit, ieee754, QuickCheck, quickcheck-instances, scientific
-     , text, unordered-containers, vector
+    ({ mkDerivation, aeson, base, bytestring, containers, hashable
+     , hslua-core, hslua-marshalling, mtl, QuickCheck
+     , quickcheck-instances, scientific, tasty, tasty-quickcheck, text
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "hslua-aeson";
-       version = "1.0.3.1";
-       sha256 = "0kvsk0lfhg29dy5qlays9xbd5h9as01mcdbdx2ingx94br6d3h5r";
+       version = "2.1.0";
+       sha256 = "0x966djzb9blrs586407qx6lz8bh23s048jv9nbgzy99qwxm20db";
        libraryHaskellDepends = [
-         aeson base hashable hslua scientific text unordered-containers
-         vector
+         aeson base bytestring containers hashable hslua-core
+         hslua-marshalling mtl scientific text unordered-containers vector
        ];
        testHaskellDepends = [
-         aeson base bytestring hashable hslua hspec HUnit ieee754 QuickCheck
-         quickcheck-instances scientific text unordered-containers vector
+         aeson base bytestring containers hashable hslua-core
+         hslua-marshalling mtl QuickCheck quickcheck-instances scientific
+         tasty tasty-quickcheck text unordered-containers vector
        ];
-       description = "Allow aeson data types to be used with lua";
+       description = "Allow aeson data types to be used with Lua";
        license = lib.licenses.mit;
      }) {};
 
-  "hslua-aeson_2_1_0" = callPackage
+  "hslua-aeson_2_2_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, hashable
      , hslua-core, hslua-marshalling, mtl, QuickCheck
      , quickcheck-instances, scientific, tasty, tasty-quickcheck, text
@@ -144854,8 +142737,8 @@ self: {
      }:
      mkDerivation {
        pname = "hslua-aeson";
-       version = "2.1.0";
-       sha256 = "0x966djzb9blrs586407qx6lz8bh23s048jv9nbgzy99qwxm20db";
+       version = "2.2.0";
+       sha256 = "0v2wn5y1hqj19qj8rd9py1z18jdnkl7gq26ibxzpcpv4wzdcw8ix";
        libraryHaskellDepends = [
          aeson base bytestring containers hashable hslua-core
          hslua-marshalling mtl scientific text unordered-containers vector
@@ -144893,6 +142776,30 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "hslua-classes_2_2_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, exceptions
+     , hslua-core, hslua-marshalling, lua-arbitrary, QuickCheck
+     , quickcheck-instances, tasty, tasty-hslua, tasty-hunit
+     , tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "hslua-classes";
+       version = "2.2.0";
+       sha256 = "1z7ym3whcq16k2cm9jf7sf0vwmp52iv1f0iicvv4jk6xks9d6ia1";
+       libraryHaskellDepends = [
+         base bytestring containers exceptions hslua-core hslua-marshalling
+         text
+       ];
+       testHaskellDepends = [
+         base bytestring containers exceptions hslua-core hslua-marshalling
+         lua-arbitrary QuickCheck quickcheck-instances tasty tasty-hslua
+         tasty-hunit tasty-quickcheck text
+       ];
+       description = "Type classes for HsLua";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hslua-core" = callPackage
     ({ mkDerivation, base, bytestring, exceptions, lua, lua-arbitrary
      , mtl, QuickCheck, quickcheck-instances, tasty, tasty-hunit
@@ -144913,6 +142820,27 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "hslua-core_2_2_0" = callPackage
+    ({ mkDerivation, base, bytestring, exceptions, lua, lua-arbitrary
+     , mtl, QuickCheck, quickcheck-instances, tasty, tasty-hunit
+     , tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "hslua-core";
+       version = "2.2.0";
+       sha256 = "1nwh0alhnwgg4rzl113nlh8bkkq89dk9d9vl0iihipj9s2mk84bh";
+       libraryHaskellDepends = [
+         base bytestring exceptions lua mtl text
+       ];
+       testHaskellDepends = [
+         base bytestring exceptions lua lua-arbitrary mtl QuickCheck
+         quickcheck-instances tasty tasty-hunit tasty-quickcheck text
+       ];
+       description = "Bindings to Lua, an embeddable scripting language";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hslua-examples" = callPackage
     ({ mkDerivation, base, bytestring, hslua, hslua-marshalling, lua
      , text
@@ -144928,8 +142856,6 @@ self: {
        ];
        description = "Examples of how to combine Haskell and Lua";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hslua-marshalling" = callPackage
@@ -144953,65 +142879,52 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "hslua-module-doclayout" = callPackage
-    ({ mkDerivation, base, doclayout, hslua, tasty, tasty-hunit
-     , tasty-lua, text
+  "hslua-marshalling_2_2_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, hslua-core
+     , lua-arbitrary, mtl, QuickCheck, quickcheck-instances, tasty
+     , tasty-hslua, tasty-hunit, tasty-quickcheck, text
      }:
      mkDerivation {
-       pname = "hslua-module-doclayout";
-       version = "0.2.0.1";
-       sha256 = "1fwzx85lv2547gs42lp7mx9w7b0vl4hpc0ql7ip5yqp17q58a08y";
-       libraryHaskellDepends = [ base doclayout hslua text ];
+       pname = "hslua-marshalling";
+       version = "2.2.0";
+       sha256 = "0mwj7zqzgzijlx40amwzs4jbldd0vbjqv3x791kdxip3yyvnlyqi";
+       libraryHaskellDepends = [
+         base bytestring containers hslua-core mtl text
+       ];
        testHaskellDepends = [
-         base doclayout hslua tasty tasty-hunit tasty-lua
+         base bytestring containers hslua-core lua-arbitrary mtl QuickCheck
+         quickcheck-instances tasty tasty-hslua tasty-hunit tasty-quickcheck
+         text
        ];
-       description = "Lua module wrapping Text.DocLayout.";
+       description = "Marshalling of values between Haskell and Lua";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "hslua-module-doclayout_1_0_2" = callPackage
+  "hslua-module-doclayout" = callPackage
     ({ mkDerivation, base, doclayout, hslua, tasty, tasty-hunit
      , tasty-lua, text
      }:
      mkDerivation {
        pname = "hslua-module-doclayout";
-       version = "1.0.2";
-       sha256 = "06r1vz2xpvmwd6pghq0g38h3xzagy9043zjqx0ilnxhdx5v5fwcd";
+       version = "1.0.3";
+       sha256 = "01khmrgrvy1dhh2p8gjkrvhkwpnjnznhc23hvxbh2v8lxb4ak3r6";
        libraryHaskellDepends = [ base doclayout hslua text ];
        testHaskellDepends = [
          base doclayout hslua tasty tasty-hunit tasty-lua
        ];
        description = "Lua module wrapping Text.DocLayout.";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hslua-module-path" = callPackage
-    ({ mkDerivation, base, filepath, hslua, tasty, tasty-hunit
-     , tasty-lua, text
-     }:
-     mkDerivation {
-       pname = "hslua-module-path";
-       version = "0.1.0.1";
-       sha256 = "1zxfljcn74rky26ijqmba6grpj0h9plgr47wxdaf7gcz1y8dhn68";
-       libraryHaskellDepends = [ base filepath hslua text ];
-       testHaskellDepends = [
-         base filepath hslua tasty tasty-hunit tasty-lua text
-       ];
-       description = "Lua module to work with file paths";
-       license = lib.licenses.mit;
-     }) {};
-
-  "hslua-module-path_1_0_1" = callPackage
     ({ mkDerivation, base, filepath, hslua-core, hslua-marshalling
      , hslua-packaging, tasty, tasty-hunit, tasty-lua, text
      }:
      mkDerivation {
        pname = "hslua-module-path";
-       version = "1.0.1";
-       sha256 = "1ffqfkyk4nqvk03mrdp5bz6miq0d06d1nwdklpchs55n6s95wl6x";
-       revision = "1";
-       editedCabalFile = "110bdz2pwnvcsnq1vlm17x91mdqfif839qgji2gjzddcj9q5pbqa";
+       version = "1.0.2";
+       sha256 = "0y2syngdhqdpbz9y5ya0cwp07s2q7g16djw508w5003va811yw60";
        libraryHaskellDepends = [
          base filepath hslua-core hslua-marshalling hslua-packaging text
        ];
@@ -145021,38 +142934,17 @@ self: {
        ];
        description = "Lua module to work with file paths";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hslua-module-system" = callPackage
-    ({ mkDerivation, base, containers, directory, exceptions, hslua
-     , tasty, tasty-hunit, tasty-lua, temporary, text
-     }:
-     mkDerivation {
-       pname = "hslua-module-system";
-       version = "0.2.2.1";
-       sha256 = "0hk2splyasbplnggknjhlb423axc5b32xq8aq8zal4vvwlqhzvf1";
-       libraryHaskellDepends = [
-         base containers directory exceptions hslua temporary
-       ];
-       testHaskellDepends = [
-         base hslua tasty tasty-hunit tasty-lua text
-       ];
-       description = "Lua module wrapper around Haskell's System module";
-       license = lib.licenses.mit;
-     }) {};
-
-  "hslua-module-system_1_0_1" = callPackage
     ({ mkDerivation, base, directory, exceptions, hslua-core
      , hslua-marshalling, hslua-packaging, tasty, tasty-hunit, tasty-lua
      , temporary, text
      }:
      mkDerivation {
        pname = "hslua-module-system";
-       version = "1.0.1";
-       sha256 = "0mbp7yh1m167fpsvscpa1mhpdi9h2xpwghr2bxl6swg8ab4s2lzw";
-       revision = "1";
-       editedCabalFile = "14ixzwii8y1mab6z9c20w4p3q4in3zknffmarr02gmgl1ksrl2cw";
+       version = "1.0.2";
+       sha256 = "0lacf9jzd53r75dk5nvkx0nwgiakpkingjnz58bhjfnvi81r6ddn";
        libraryHaskellDepends = [
          base directory exceptions hslua-core hslua-marshalling
          hslua-packaging temporary text
@@ -145062,37 +142954,16 @@ self: {
        ];
        description = "Lua module wrapper around Haskell's System module";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hslua-module-text" = callPackage
-    ({ mkDerivation, base, bytestring, hslua, tasty, tasty-hunit
-     , tasty-lua, text
-     }:
-     mkDerivation {
-       pname = "hslua-module-text";
-       version = "0.3.0.1";
-       sha256 = "1vmd15n905i2pcsx748hz3h9kv5nnv74y663rj57q8mp0b40cbfl";
-       revision = "1";
-       editedCabalFile = "04y4rjfgzsz3q3m2d7ph97ligxlld74v6vhhmncj0riyxdfvy6p9";
-       libraryHaskellDepends = [ base bytestring hslua text ];
-       testHaskellDepends = [
-         base hslua tasty tasty-hunit tasty-lua text
-       ];
-       description = "Lua module for text";
-       license = lib.licenses.mit;
-     }) {};
-
-  "hslua-module-text_1_0_1" = callPackage
     ({ mkDerivation, base, hslua-core, hslua-marshalling
      , hslua-packaging, tasty, tasty-hunit, tasty-lua, text
      }:
      mkDerivation {
        pname = "hslua-module-text";
-       version = "1.0.1";
-       sha256 = "0p6fw5vx77999yfbc2i77x5mnlxgi7bgwhx23017q5zbvs09c739";
-       revision = "1";
-       editedCabalFile = "18zvaqzdphqisisvpffpkwkms7mh556zxxbwp2n2h1bv2s8f0x5s";
+       version = "1.0.2";
+       sha256 = "0xq5ndgjhs37d73s8lvm0pndwjpj2pqb67pr0ckjap8yzhjna7fq";
        libraryHaskellDepends = [
          base hslua-core hslua-marshalling hslua-packaging text
        ];
@@ -145101,7 +142972,6 @@ self: {
        ];
        description = "Lua module for text";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hslua-module-version" = callPackage
@@ -145110,10 +142980,8 @@ self: {
      }:
      mkDerivation {
        pname = "hslua-module-version";
-       version = "1.0.1";
-       sha256 = "125kpfypq5hync80f1g1w618xrfqvi5bsqks9pg2rq1d57qxk5yc";
-       revision = "1";
-       editedCabalFile = "0gl9gn1pkpa3cg0sx971q45hj23kq9czcswli9yaz0mij5wqyh57";
+       version = "1.0.2";
+       sha256 = "0g6jdpa4za5xdxld5jsyrh0pg1yd0ygwasc0j3mwphcfpfsln6iz";
        libraryHaskellDepends = [
          base filepath hslua-core hslua-marshalling hslua-packaging text
        ];
@@ -145123,8 +142991,6 @@ self: {
        ];
        description = "Lua module to work with version specifiers";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hslua-objectorientation" = callPackage
@@ -145150,6 +143016,30 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "hslua-objectorientation_2_2_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, exceptions
+     , hslua-core, hslua-marshalling, lua-arbitrary, mtl, QuickCheck
+     , quickcheck-instances, tasty, tasty-hslua, tasty-hunit
+     , tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "hslua-objectorientation";
+       version = "2.2.0";
+       sha256 = "18rzb6a75jivyhmr62qjcl30jhdv2cr4ii1qchknz4d9h3vlgws4";
+       libraryHaskellDepends = [
+         base bytestring containers exceptions hslua-core hslua-marshalling
+         mtl text
+       ];
+       testHaskellDepends = [
+         base bytestring containers exceptions hslua-core hslua-marshalling
+         lua-arbitrary mtl QuickCheck quickcheck-instances tasty tasty-hslua
+         tasty-hunit tasty-quickcheck text
+       ];
+       description = "Object orientation tools for HsLua";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hslua-packaging" = callPackage
     ({ mkDerivation, base, bytestring, containers, hslua-core
      , hslua-marshalling, hslua-objectorientation, mtl, tasty
@@ -145171,6 +143061,28 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "hslua-packaging_2_2_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, hslua-core
+     , hslua-marshalling, hslua-objectorientation, mtl, tasty
+     , tasty-hslua, tasty-hunit, text
+     }:
+     mkDerivation {
+       pname = "hslua-packaging";
+       version = "2.2.0";
+       sha256 = "1gvvcwifrrdl475bivzdz8ld8lvrja2b1hpl13s0m9wqvc2hhxjl";
+       libraryHaskellDepends = [
+         base containers hslua-core hslua-marshalling
+         hslua-objectorientation mtl text
+       ];
+       testHaskellDepends = [
+         base bytestring hslua-core hslua-marshalling
+         hslua-objectorientation mtl tasty tasty-hslua tasty-hunit text
+       ];
+       description = "Utilities to build Lua modules";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hsluv-haskell" = callPackage
     ({ mkDerivation, aeson, base, bytestring, colour, containers }:
      mkDerivation {
@@ -145361,7 +143273,6 @@ self: {
        description = "Haskell NSQ client";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hsntp" = callPackage
@@ -145469,7 +143380,6 @@ self: {
        description = "Facilitates running Haskell Server Pages web pages as CGI programs";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hsparklines" = callPackage
@@ -145484,21 +143394,22 @@ self: {
      }) {};
 
   "hsparql" = callPackage
-    ({ mkDerivation, base, bytestring, containers, HTTP, http-types
-     , HUnit, MissingH, mtl, network, network-uri, rdf4h, test-framework
+    ({ mkDerivation, base, bytestring, connection, containers, HTTP
+     , http-client, http-conduit, http-types, HUnit, MissingH, mtl
+     , network, network-uri, rdf4h, string-qq, test-framework
      , test-framework-hunit, text, wai, warp, xml
      }:
      mkDerivation {
        pname = "hsparql";
-       version = "0.3.6";
-       sha256 = "0hx1mwdww6i88g497i26qdg0dhw2a41qclvpgwq7rl2m5wshm9qp";
+       version = "0.3.7";
+       sha256 = "0n216ly2mn6v5n0aqi759d4lp4fa7mi63fwkvdbzmlmc0ndhi9q7";
        libraryHaskellDepends = [
-         base bytestring HTTP MissingH mtl network network-uri rdf4h text
-         xml
+         base bytestring connection HTTP http-client http-conduit http-types
+         MissingH mtl network network-uri rdf4h text xml
        ];
        testHaskellDepends = [
-         base containers http-types HUnit network-uri rdf4h test-framework
-         test-framework-hunit text wai warp
+         base containers http-types HUnit network-uri rdf4h string-qq
+         test-framework test-framework-hunit text wai warp
        ];
        description = "A SPARQL query generator and DSL, and a client to query a SPARQL server";
        license = lib.licenses.bsd3;
@@ -145529,8 +143440,8 @@ self: {
      }:
      mkDerivation {
        pname = "hspec";
-       version = "2.7.10";
-       sha256 = "0z0lwrmrqkglr78n6k2c36n4h68142bh785ys0x4jaibjshvs6rw";
+       version = "2.8.5";
+       sha256 = "0s6nc0nvf3qr2qdam12m6b8qixwzms0m2r9xwjx71dkjwg7nnga1";
        libraryHaskellDepends = [
          base hspec-core hspec-discover hspec-expectations QuickCheck
        ];
@@ -145610,25 +143521,26 @@ self: {
      }) {};
 
   "hspec-core" = callPackage
-    ({ mkDerivation, ansi-terminal, array, base, call-stack, clock
-     , deepseq, directory, filepath, hspec-expectations, hspec-meta
-     , HUnit, process, QuickCheck, quickcheck-io, random, setenv
-     , silently, stm, temporary, tf-random, transformers
+    ({ mkDerivation, ansi-terminal, array, base, base-orphans
+     , call-stack, clock, deepseq, directory, filepath
+     , hspec-expectations, hspec-meta, HUnit, process, QuickCheck
+     , quickcheck-io, random, setenv, silently, stm, temporary
+     , tf-random, transformers
      }:
      mkDerivation {
        pname = "hspec-core";
-       version = "2.7.10";
-       sha256 = "12k9yp5gznrda449ir60d5wv3xl7nnyffkb5mhfc0svw9f8lxlv1";
+       version = "2.8.5";
+       sha256 = "0hy3qw7qvix5899hkq96mqda2ridif2g3mwdn8sxg2wlhbcvzfjm";
        libraryHaskellDepends = [
          ansi-terminal array base call-stack clock deepseq directory
          filepath hspec-expectations HUnit QuickCheck quickcheck-io random
          setenv stm tf-random transformers
        ];
        testHaskellDepends = [
-         ansi-terminal array base call-stack clock deepseq directory
-         filepath hspec-expectations hspec-meta HUnit process QuickCheck
-         quickcheck-io random setenv silently stm temporary tf-random
-         transformers
+         ansi-terminal array base base-orphans call-stack clock deepseq
+         directory filepath hspec-expectations hspec-meta HUnit process
+         QuickCheck quickcheck-io random setenv silently stm temporary
+         tf-random transformers
        ];
        testToolDepends = [ hspec-meta ];
        testTarget = "--test-option=--skip --test-option='Test.Hspec.Core.Runner.hspecResult runs specs in parallel'";
@@ -145671,8 +143583,8 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-dirstream";
-       version = "1.0.0.3";
-       sha256 = "1wzz718rw3nfzjgkigy5si7n6igjs5h8z8xsj1vhcivly4adzrrw";
+       version = "1.0.0.4";
+       sha256 = "10axc2rszyqzw8zwz7zjh05m5lifmghflls1w2sbyp7vlyz13iac";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base dirstream filepath hspec hspec-core pipes pipes-safe
@@ -145684,18 +143596,19 @@ self: {
      }) {};
 
   "hspec-discover" = callPackage
-    ({ mkDerivation, base, directory, filepath, hspec-meta, QuickCheck
+    ({ mkDerivation, base, directory, filepath, hspec-meta, mockery
+     , QuickCheck
      }:
      mkDerivation {
        pname = "hspec-discover";
-       version = "2.7.10";
-       sha256 = "13yzvd3b679skvs1insk4s0wc4zvmz6hs38kc8q0j6vzqq06smqa";
+       version = "2.8.5";
+       sha256 = "031nay0zmzvpiax3wa990qj74sqrh27vq1lljiamwbzr3b68vy04";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base directory filepath ];
        executableHaskellDepends = [ base directory filepath ];
        testHaskellDepends = [
-         base directory filepath hspec-meta QuickCheck
+         base directory filepath hspec-meta mockery QuickCheck
        ];
        testToolDepends = [ hspec-meta ];
        description = "Automatically discover and run Hspec tests";
@@ -145739,23 +143652,6 @@ self: {
 
   "hspec-expectations-json" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, aeson-qq, base, Diff, hspec
-     , HUnit, scientific, text, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "hspec-expectations-json";
-       version = "1.0.0.4";
-       sha256 = "1m244ypfr4cg2jll3ackn9khm8zwdp1yp7hf4b24bfzws0qmb1b7";
-       libraryHaskellDepends = [
-         aeson aeson-pretty base Diff HUnit scientific text
-         unordered-containers vector
-       ];
-       testHaskellDepends = [ aeson-qq base hspec ];
-       description = "Hspec expectations for JSON Values";
-       license = lib.licenses.mit;
-     }) {};
-
-  "hspec-expectations-json_1_0_0_5" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, aeson-qq, base, Diff, hspec
      , HUnit, scientific, text, vector
      }:
      mkDerivation {
@@ -145768,7 +143664,6 @@ self: {
        testHaskellDepends = [ aeson-qq base hspec ];
        description = "Hspec expectations for JSON Values";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hspec-expectations-lens" = callPackage
@@ -145846,7 +143741,6 @@ self: {
        testHaskellDepends = [ aeson base hspec HUnit text ];
        description = "Catchy combinators for HUnit";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hspec-experimental" = callPackage
@@ -145864,23 +143758,6 @@ self: {
      }) {};
 
   "hspec-golden" = callPackage
-    ({ mkDerivation, base, directory, hspec, hspec-core
-     , optparse-applicative, silently
-     }:
-     mkDerivation {
-       pname = "hspec-golden";
-       version = "0.1.0.3";
-       sha256 = "1d5ab34n0f1wk1q86qlb7x2b49abzzh08jh7j52nbrvnxld2j64l";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base directory hspec-core ];
-       executableHaskellDepends = [ base directory optparse-applicative ];
-       testHaskellDepends = [ base directory hspec hspec-core silently ];
-       description = "Golden tests for hspec";
-       license = lib.licenses.mit;
-     }) {};
-
-  "hspec-golden_0_2_0_0" = callPackage
     ({ mkDerivation, base, directory, filepath, hspec, hspec-core
      , optparse-applicative, silently
      }:
@@ -145895,32 +143772,10 @@ self: {
        testHaskellDepends = [ base directory hspec hspec-core silently ];
        description = "Golden tests for hspec";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hspec-golden-aeson" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, directory
-     , filepath, hspec, hspec-core, QuickCheck, quickcheck-arbitrary-adt
-     , random, silently, transformers
-     }:
-     mkDerivation {
-       pname = "hspec-golden-aeson";
-       version = "0.7.0.0";
-       sha256 = "18jc992dhln1v5sfg8yjfsm2i5c7c38ph3bxrjxgc9bl7fzcsk0i";
-       libraryHaskellDepends = [
-         aeson aeson-pretty base bytestring directory filepath hspec
-         QuickCheck quickcheck-arbitrary-adt random transformers
-       ];
-       testHaskellDepends = [
-         aeson base directory hspec hspec-core QuickCheck
-         quickcheck-arbitrary-adt silently transformers
-       ];
-       description = "Use tests to monitor changes in Aeson serialization";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "hspec-golden-aeson_0_9_0_0" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, directory
      , filepath, hspec, hspec-core, HUnit, QuickCheck
      , quickcheck-arbitrary-adt, random, silently, transformers
      }:
@@ -145938,7 +143793,6 @@ self: {
        ];
        description = "Use tests to monitor changes in Aeson serialization";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hspec-hashable" = callPackage
@@ -145989,20 +143843,27 @@ self: {
      }) {};
 
   "hspec-junit-formatter" = callPackage
-    ({ mkDerivation, base, conduit, directory, exceptions, hashable
-     , hspec, hspec-core, resourcet, temporary, text, xml-conduit
-     , xml-types
+    ({ mkDerivation, base, conduit, containers, directory, exceptions
+     , filepath, hspec, hspec-core, markdown-unlit, temporary, text
+     , time, xml-conduit, xml-types
      }:
      mkDerivation {
        pname = "hspec-junit-formatter";
-       version = "1.0.0.5";
-       sha256 = "0s5k3svkhzn0l2r39vvs50d8hfqljal04l2cx3c5ymnkjfi49mdv";
+       version = "1.0.3.0";
+       sha256 = "06003bw98bp9jl379463x1bk3ds30spsmg9h4lvr367k6diyi6ax";
        libraryHaskellDepends = [
-         base conduit directory exceptions hashable hspec hspec-core
-         resourcet temporary text xml-conduit xml-types
+         base conduit containers directory exceptions filepath hspec-core
+         text time xml-conduit xml-types
        ];
+       testHaskellDepends = [
+         base containers filepath hspec hspec-core markdown-unlit temporary
+         text xml-conduit
+       ];
+       testToolDepends = [ markdown-unlit ];
        description = "A JUnit XML runner/formatter for hspec";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hspec-junit-formatter_1_1_0_1" = callPackage
@@ -146026,6 +143887,7 @@ self: {
        description = "A JUnit XML runner/formatter for hspec";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hspec-laws" = callPackage
@@ -146276,6 +144138,8 @@ self: {
        testHaskellDepends = [ base hspec mtl stm ];
        description = "Find slow test cases";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hspec-smallcheck" = callPackage
@@ -146357,6 +144221,8 @@ self: {
        testHaskellDepends = [ base hspec hspec-core ];
        description = "Table-driven (by-example) HSpec tests";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hspec-test-framework" = callPackage
@@ -146400,7 +144266,6 @@ self: {
        testHaskellDepends = [ base hspec test-sandbox ];
        description = "Hspec convenience functions for use with test-sandbox";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hspec-tmp-proc" = callPackage
@@ -146421,29 +144286,6 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-wai";
-       version = "0.11.0";
-       sha256 = "0fk23vrs5apjy11z47mply2kay3n193gnyrbb9fkpwvmxyhxlp0x";
-       libraryHaskellDepends = [
-         base base-compat bytestring case-insensitive hspec-core
-         hspec-expectations http-types QuickCheck text transformers wai
-         wai-extra
-       ];
-       testHaskellDepends = [
-         base base-compat bytestring case-insensitive hspec hspec-core
-         hspec-expectations http-types QuickCheck text transformers wai
-         wai-extra
-       ];
-       description = "Experimental Hspec support for testing WAI applications";
-       license = lib.licenses.mit;
-     }) {};
-
-  "hspec-wai_0_11_1" = callPackage
-    ({ mkDerivation, base, base-compat, bytestring, case-insensitive
-     , hspec, hspec-core, hspec-expectations, http-types, QuickCheck
-     , text, transformers, wai, wai-extra
-     }:
-     mkDerivation {
-       pname = "hspec-wai";
        version = "0.11.1";
        sha256 = "03wiksic5y9a2g6a86nsxrnajdgdvpv17w02h5qla0zp9zs6pa1j";
        libraryHaskellDepends = [
@@ -146458,7 +144300,6 @@ self: {
        ];
        description = "Experimental Hspec support for testing WAI applications";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hspec-wai-json" = callPackage
@@ -146469,6 +144310,8 @@ self: {
        pname = "hspec-wai-json";
        version = "0.11.0";
        sha256 = "0cra0jfb8j9g5447lij0d8nnbqv06f5i4j51h14vjw0n7zb4i8y4";
+       revision = "1";
+       editedCabalFile = "186l9mp921vspzrmz52xii0iiiskj6psiizdja09l4b8ficfd4m9";
        libraryHaskellDepends = [
          aeson aeson-qq base bytestring case-insensitive hspec-wai
          template-haskell
@@ -146476,6 +144319,8 @@ self: {
        testHaskellDepends = [ base hspec hspec-wai ];
        description = "Testing JSON APIs with hspec-wai";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hspec-webdriver" = callPackage
@@ -146494,7 +144339,6 @@ self: {
        description = "Write end2end web application tests using webdriver and hspec";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hspec2" = callPackage
@@ -146522,7 +144366,6 @@ self: {
        testHaskellDepends = [ base hspec QuickCheck QuickCheckVariant ];
        description = "Spec for testing properties";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hspkcs11" = callPackage
@@ -146921,8 +144764,6 @@ self: {
        ];
        description = "SSH protocol implementation";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hsshellscript" = callPackage
@@ -147211,7 +145052,6 @@ self: {
        ];
        description = "A two player abstract strategy game";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hsubconvert" = callPackage
@@ -147362,6 +145202,8 @@ self: {
        ];
        description = "HSX (Haskell Source with XML) allows literal XML syntax in Haskell source code";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hsyscall" = callPackage
@@ -147738,8 +145580,8 @@ self: {
        pname = "html-entity-map";
        version = "0.1.0.0";
        sha256 = "0k1l1pbmrfmh44v9cc9ka01bx9xm1x4jabbl675fc5c57v1h0dlq";
-       revision = "3";
-       editedCabalFile = "0aj61kpf39rhn4d7nk3vwq933b826ywhwklw479y9nkczac5lpz8";
+       revision = "4";
+       editedCabalFile = "0xi765ynj5jq3qmchd6zzpfhgq6d1436dyd154866g8nwklp50ch";
        libraryHaskellDepends = [ base text unordered-containers ];
        benchmarkHaskellDepends = [
          base criterion text unordered-containers
@@ -147758,7 +145600,6 @@ self: {
        description = "HTML rewrite engine, using KURE";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "html-minimalist" = callPackage
@@ -147797,6 +145638,8 @@ self: {
        ];
        description = "A high-performance HTML tokenizer";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "html-presentation-text" = callPackage
@@ -147810,6 +145653,7 @@ self: {
        executableHaskellDepends = [ base cli-arguments lists-flines ];
        description = "Simple tool to create html presentation for text";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "html-rules" = callPackage
@@ -147970,6 +145814,8 @@ self: {
        ];
        description = "Parser for TOML files";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "htoml-megaparsec" = callPackage
@@ -147996,6 +145842,8 @@ self: {
        doHaddock = false;
        description = "Parser for TOML files";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "htrace" = callPackage
@@ -148088,7 +145936,6 @@ self: {
        description = "Import XML files from The Sports Network into an RDBMS";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "htssets" = callPackage
@@ -148118,31 +145965,6 @@ self: {
   "http-api-data" = callPackage
     ({ mkDerivation, attoparsec, attoparsec-iso8601, base, base-compat
      , bytestring, containers, cookie, hashable, hspec, hspec-discover
-     , http-types, HUnit, nats, QuickCheck, quickcheck-instances, tagged
-     , text, time-compat, transformers, unordered-containers, uuid-types
-     }:
-     mkDerivation {
-       pname = "http-api-data";
-       version = "0.4.2";
-       sha256 = "0xzfvxxh33ivlnrnzmm19cni3jgb5ph18n9hykkw3d6l3rhwzcnl";
-       libraryHaskellDepends = [
-         attoparsec attoparsec-iso8601 base base-compat bytestring
-         containers cookie hashable http-types tagged text time-compat
-         transformers unordered-containers uuid-types
-       ];
-       testHaskellDepends = [
-         base base-compat bytestring cookie hspec HUnit nats QuickCheck
-         quickcheck-instances text time-compat unordered-containers
-         uuid-types
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Converting to/from HTTP API data like URL pieces, headers and query parameters";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "http-api-data_0_4_3" = callPackage
-    ({ mkDerivation, attoparsec, attoparsec-iso8601, base, base-compat
-     , bytestring, containers, cookie, hashable, hspec, hspec-discover
      , http-types, HUnit, QuickCheck, quickcheck-instances, tagged, text
      , time-compat, transformers, unordered-containers, uuid-types
      }:
@@ -148165,7 +145987,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Converting to/from HTTP API data like URL pieces, headers and query parameters";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "http-api-data-qq" = callPackage
@@ -148202,33 +146023,6 @@ self: {
      }) {};
 
   "http-client" = callPackage
-    ({ mkDerivation, array, async, base, blaze-builder, bytestring
-     , case-insensitive, containers, cookie, deepseq, directory
-     , exceptions, filepath, ghc-prim, hspec, http-types, memory
-     , mime-types, monad-control, network, network-uri, random, stm
-     , streaming-commons, text, time, transformers, zlib
-     }:
-     mkDerivation {
-       pname = "http-client";
-       version = "0.6.4.1";
-       sha256 = "1y12xfh6xvsfvyapbssmgrpjz025rmyccprbnmzhs0y1cmlz6hjp";
-       libraryHaskellDepends = [
-         array base blaze-builder bytestring case-insensitive containers
-         cookie deepseq exceptions filepath ghc-prim http-types memory
-         mime-types network network-uri random stm streaming-commons text
-         time transformers
-       ];
-       testHaskellDepends = [
-         async base blaze-builder bytestring case-insensitive containers
-         deepseq directory hspec http-types monad-control network
-         network-uri streaming-commons text time transformers zlib
-       ];
-       doCheck = false;
-       description = "An HTTP client engine";
-       license = lib.licenses.mit;
-     }) {};
-
-  "http-client_0_7_11" = callPackage
     ({ mkDerivation, array, async, base, base64-bytestring
      , blaze-builder, bytestring, case-insensitive, containers, cookie
      , deepseq, directory, exceptions, filepath, ghc-prim, hspec
@@ -148240,6 +146034,8 @@ self: {
        pname = "http-client";
        version = "0.7.11";
        sha256 = "12j7vkpkm2djws6ny7vm2324c7916d0iaf1mbvf4mfjxzy2w7imv";
+       revision = "1";
+       editedCabalFile = "0rqrhx4cjqcqhcfad6sjc0wl2anzs6h4186xdj26hdrazs7sqn9z";
        libraryHaskellDepends = [
          array async base base64-bytestring blaze-builder bytestring
          case-insensitive containers cookie deepseq exceptions filepath
@@ -148255,7 +146051,6 @@ self: {
        doCheck = false;
        description = "An HTTP client engine";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "http-client-auth" = callPackage
@@ -148343,25 +146138,6 @@ self: {
      }:
      mkDerivation {
        pname = "http-client-openssl";
-       version = "0.3.2.0";
-       sha256 = "114aci8nvbzvhscla6172y7s47yp689rslhg8h7y3hmkh2zq7r65";
-       libraryHaskellDepends = [
-         base bytestring HsOpenSSL HsOpenSSL-x509-system http-client network
-       ];
-       testHaskellDepends = [
-         base HsOpenSSL hspec http-client http-types
-       ];
-       doCheck = false;
-       description = "http-client backend using the OpenSSL library";
-       license = lib.licenses.mit;
-     }) {};
-
-  "http-client-openssl_0_3_3" = callPackage
-    ({ mkDerivation, base, bytestring, HsOpenSSL, HsOpenSSL-x509-system
-     , hspec, http-client, http-types, network
-     }:
-     mkDerivation {
-       pname = "http-client-openssl";
        version = "0.3.3";
        sha256 = "03rr1wz1907v3gx5qsqdkd850hy47glb574s69265pv6yspaivdx";
        revision = "1";
@@ -148375,7 +146151,6 @@ self: {
        doCheck = false;
        description = "http-client backend using the OpenSSL library";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "http-client-overrides" = callPackage
@@ -148494,32 +146269,6 @@ self: {
      }:
      mkDerivation {
        pname = "http-client-tls";
-       version = "0.3.5.3";
-       sha256 = "0qj3pcpgbsfsc4m52dz35khhl4hf1i0nmcpa445z82d9567vy6j7";
-       revision = "1";
-       editedCabalFile = "0llb5k8mz1h6zyv1nd433wwgyjsw7n8x0b1fwib312iiws43sz69";
-       libraryHaskellDepends = [
-         base bytestring case-insensitive connection containers cryptonite
-         data-default-class exceptions http-client http-types memory network
-         network-uri text tls transformers
-       ];
-       testHaskellDepends = [
-         base connection hspec http-client http-types
-       ];
-       benchmarkHaskellDepends = [ base gauge http-client ];
-       doCheck = false;
-       description = "http-client backend using the connection package and tls library";
-       license = lib.licenses.mit;
-     }) {};
-
-  "http-client-tls_0_3_6_1" = callPackage
-    ({ mkDerivation, base, bytestring, case-insensitive, connection
-     , containers, cryptonite, data-default-class, exceptions, gauge
-     , hspec, http-client, http-types, memory, network, network-uri
-     , text, tls, transformers
-     }:
-     mkDerivation {
-       pname = "http-client-tls";
        version = "0.3.6.1";
        sha256 = "03f8p9gxdzl6slyw1r6vpv2dqhsyjvbaawbjv75kaq0vlj3gz7xi";
        libraryHaskellDepends = [
@@ -148534,7 +146283,6 @@ self: {
        doCheck = false;
        description = "http-client backend using the connection package and tls library";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "http-client-websockets" = callPackage
@@ -148794,8 +146542,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-io-streams";
-       version = "0.1.6.0";
-       sha256 = "03wndmw1pblnjqhni76s5lyyw3l8zbl1csydzl8bp0h1g5vmfpmp";
+       version = "0.1.6.1";
+       sha256 = "09ggsf9g8gf28d3d5z0rcdnl63d34al35z5d6v68k0n7r229ffb1";
        libraryHaskellDepends = [
          attoparsec base base64-bytestring binary blaze-builder
          brotli-streams bytestring case-insensitive containers
@@ -148804,7 +146552,6 @@ self: {
        ];
        description = "HTTP and WebSocket client based on io-streams";
        license = "BSD-3-Clause AND GPL-2.0-or-later";
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "http-kinder" = callPackage
@@ -148966,7 +146713,6 @@ self: {
        description = "A type unsafe http library";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "http-pony-serve-wai" = callPackage
@@ -149068,8 +146814,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-query";
-       version = "0.1.1";
-       sha256 = "0k97ck1x2j9is5bslxaaw1fghh4yrvy50fahdy7sg51h5ihzcarp";
+       version = "0.1.3";
+       sha256 = "1z0mj12yxbflh0f523liqdbi0i6xz8zraz3lzlpfyl5kfp96jrfk";
        libraryHaskellDepends = [
          aeson base bytestring http-conduit network-uri text
        ];
@@ -149158,6 +146904,8 @@ self: {
        ];
        description = "RFC7807 style response messages";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "http-server" = callPackage
@@ -149301,40 +147049,6 @@ self: {
      }:
      mkDerivation {
        pname = "http2";
-       version = "3.0.2";
-       sha256 = "13c2z35gdimncgpyg5dn5cpjvd83rbrigc8b40crg36678m0k0d1";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         array base bytestring case-insensitive containers http-types
-         network network-byte-order psqueues stm time-manager unix-time
-       ];
-       testHaskellDepends = [
-         aeson aeson-pretty async base base16-bytestring bytestring
-         cryptonite directory filepath Glob hspec http-types
-         network-byte-order network-run text typed-process
-         unordered-containers vector
-       ];
-       testToolDepends = [ hspec-discover ];
-       benchmarkHaskellDepends = [
-         array base bytestring case-insensitive containers gauge heaps
-         mwc-random network-byte-order psqueues stm
-       ];
-       description = "HTTP/2 library";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "http2_3_0_3" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, array, async, base
-     , base16-bytestring, bytestring, case-insensitive, containers
-     , cryptonite, directory, filepath, gauge, Glob, heaps, hspec
-     , hspec-discover, http-types, mwc-random, network
-     , network-byte-order, network-run, psqueues, stm, text
-     , time-manager, typed-process, unix-time, unordered-containers
-     , vector
-     }:
-     mkDerivation {
-       pname = "http2";
        version = "3.0.3";
        sha256 = "1kv99i3pnnx31xndlkaczrpd2j5mvzbqlfz1kaw6cwlwkdnl5bhv";
        isLibrary = true;
@@ -149356,7 +147070,6 @@ self: {
        ];
        description = "HTTP/2 library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "http2-client" = callPackage
@@ -149453,6 +147166,7 @@ self: {
        ];
        description = "Encoders based on `proto3-wire` for gRPC over HTTP2";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "http2-grpc-types" = callPackage
@@ -149823,6 +147537,8 @@ self: {
        ];
        description = "A TUI MPD client, inspired by ncmpcpp";
        license = lib.licenses.gpl2Plus;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "human-parse" = callPackage
@@ -150314,25 +148030,6 @@ self: {
      }:
      mkDerivation {
        pname = "hvega";
-       version = "0.11.0.1";
-       sha256 = "13w2637ylmmwv4kylf1rc2rvd85281a50p82x3888bc1cnzv536x";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ aeson base text unordered-containers ];
-       testHaskellDepends = [
-         aeson aeson-pretty base bytestring containers filepath tasty
-         tasty-golden text unordered-containers
-       ];
-       description = "Create Vega-Lite visualizations (version 4) in Haskell";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "hvega_0_12_0_2" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
-     , filepath, tasty, tasty-golden, text, unordered-containers
-     }:
-     mkDerivation {
-       pname = "hvega";
        version = "0.12.0.2";
        sha256 = "0m78j7w7sf09yvvs995pvk66ifli7q1bl7r739mgm9dgxaw7wqhm";
        isLibrary = true;
@@ -150344,7 +148041,6 @@ self: {
        ];
        description = "Create Vega-Lite visualizations (version 4) in Haskell";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hvega-theme" = callPackage
@@ -150364,10 +148060,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-aeson";
-       version = "0.1.1.0";
-       sha256 = "0d50yghgnxhynbm6w5kgkhgr8xgnghr8g1xn7zf0p9ax8dxkdy00";
-       revision = "2";
-       editedCabalFile = "062g7zwbp9csgcbpbbyg6ckb8zhkx1kqk5dsms36fmx95dq4zl5j";
+       version = "0.1.2.0";
+       sha256 = "0a4x97laraxyyrpkklj4qxwgh7lmxxnzdg7y0ki9041ck8ymsmdr";
        libraryHaskellDepends = [ aeson base text ];
        testHaskellDepends = [
          aeson base doctest doctest-discover hedgehog hspec
@@ -150375,6 +148069,8 @@ self: {
        testToolDepends = [ doctest-discover hspec-discover ];
        description = "Convenience functions for Aeson";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hw-all" = callPackage
@@ -150419,6 +148115,7 @@ self: {
        testHaskellDepends = [ base ];
        description = "AWS SQS conduit";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hw-balancedparens" = callPackage
@@ -150430,10 +148127,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-balancedparens";
-       version = "0.4.1.1";
-       sha256 = "16v36fj5aawnx6glarzljl3yb93zkn06ij5cg40zba5rp8jhpg7z";
-       revision = "4";
-       editedCabalFile = "0hw0qqkabv0i4zmr7436pl1xn9izxcm4p9flv2k697zyhqdaccik";
+       version = "0.4.1.2";
+       sha256 = "163jvw8nnhf3q3h6c16hjdkdzp6y3l2hyvk7hzynhylifg7kki95";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -150466,10 +148161,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-bits";
-       version = "0.7.2.1";
-       sha256 = "18l9r0yhddkzgbc2vvk0qr9brb5ih25zjfga3bddb5j8gpaaq65q";
-       revision = "2";
-       editedCabalFile = "1almm4nl56gf99wys1kzalqcz0dkaih0pgxsyqv4q1j1w3ggfmfq";
+       version = "0.7.2.2";
+       sha256 = "1swzr6lz2394p454mqvvgx2fyc1gdm4p9qvv54zyjd67mnhylkq8";
        libraryHaskellDepends = [
          base bitvec bytestring deepseq hw-int hw-prim hw-string-parse
          vector
@@ -150515,10 +148208,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-conduit";
-       version = "0.2.1.0";
-       sha256 = "1xnkkpqcgyii7f16jjh2k2qh4ydpsff5q2xnggyg4jf7m69yrih2";
-       revision = "1";
-       editedCabalFile = "1rmdwb4a7ax9yadj4xv63n582vsmk84h03qkr6npj9b9gw4qw6i3";
+       version = "0.2.1.1";
+       sha256 = "1iv001vm0xlz9msw5f6bcr2a4fd7rhyd1zmk3axnh80g4m8lknzj";
        libraryHaskellDepends = [
          array base bytestring conduit conduit-combinators time transformers
          unliftio-core word8
@@ -150532,6 +148223,8 @@ self: {
        ];
        description = "Conduits for tokenizing streams";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hw-conduit-merges" = callPackage
@@ -150557,8 +148250,8 @@ self: {
        pname = "hw-diagnostics";
        version = "0.0.1.0";
        sha256 = "111g54c5bhgjii6vbyb116bg3dxywa9l693r8xjjrxpamzvi0avj";
-       revision = "1";
-       editedCabalFile = "04qpkr54wkb99hdfzk6gxhi6ak5lc564jzab1cc7675s7lsj1nji";
+       revision = "2";
+       editedCabalFile = "0mfixppzi2x528z9vl8m22rifksg3r8czbg5z6n4x0p1pav20im9";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base doctest doctest-discover ];
        testToolDepends = [ doctest-discover ];
@@ -150576,10 +148269,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-dsv";
-       version = "0.4.1.0";
-       sha256 = "1wv0yg662c3bq4kpgfqfjks59v17i5h3v3mils1qpxn4c57jr3s8";
-       revision = "7";
-       editedCabalFile = "1x7f6k3ih3270xapfc9fnm4d51fhnha71fz0r3l2l6xx4mghcby2";
+       version = "0.4.1.1";
+       sha256 = "0xfpkyinwfhjilb428z7nnk84m12b34x29806j1azbv9yfqvhq7z";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -150605,7 +148296,6 @@ self: {
        ];
        description = "Unbelievably fast streaming DSV file parser";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hw-dump" = callPackage
@@ -150639,8 +148329,6 @@ self: {
        ];
        description = "File Dump";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hw-eliasfano" = callPackage
@@ -150653,10 +148341,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-eliasfano";
-       version = "0.1.2.0";
-       sha256 = "1wqpzznmz6bl88wzhrfcbgi49dw7w7i0p92hyc0m58nanqm1zgnj";
-       revision = "6";
-       editedCabalFile = "0svym7gnvsd9aa2wabrpfqv5661s2fg1jsqibyyblcrjy0cicdrl";
+       version = "0.1.2.1";
+       sha256 = "1k22yq8blyjmgh7nzmqvnc1g0bgjbbvqv9r4w02z5jn9kfj619h2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -150692,8 +148378,8 @@ self: {
        pname = "hw-excess";
        version = "0.2.3.0";
        sha256 = "0xiyf3xyg6f4kgkils9ycx6q0qcsbd6rw4m9lizw9295mnp05s3g";
-       revision = "2";
-       editedCabalFile = "03xn63rydgflzpyqshi7kd18llkzd8ma15ml846mw95ww97d4i9i";
+       revision = "3";
+       editedCabalFile = "0gzvcpihgv1xmnyl1ry4kdzvrm80449viv3l0rvzmj16gzx7lhg2";
        libraryHaskellDepends = [
          base hw-bits hw-prim hw-rankselect-base safe vector
        ];
@@ -150715,10 +148401,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-fingertree";
-       version = "0.1.2.0";
-       sha256 = "0b1aff5aa9ifapyf2qvqggxfm36x5w7l7c37bfy9qdll264pdh0i";
-       revision = "1";
-       editedCabalFile = "0hg9hnga0d15a5md67q7xl53kgp34hwvl4aw9s8xkjm4fs7a54z9";
+       version = "0.1.2.1";
+       sha256 = "0aljn5c2gblvrbn1f7iwvcm2fa2dsnl497wb0g8y7rz6jzk7g06f";
        libraryHaskellDepends = [ base deepseq hw-prim ];
        testHaskellDepends = [
          base deepseq doctest doctest-discover hedgehog hspec
@@ -150736,10 +148420,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-fingertree-strict";
-       version = "0.1.2.0";
-       sha256 = "1zhh694m8hbin7059ys8c6sqjvyfsazcsp0jxqg59w5ypqjznzca";
-       revision = "1";
-       editedCabalFile = "0vr8xqvwihg3j83bqfhcqlnlpdq7k2v6kkx1xly7fdjw2hcwgkhl";
+       version = "0.1.2.1";
+       sha256 = "1y9h4riikfdrxbmfchm95qv2pmwsshdl27ngimkd5iww3d67vg36";
        libraryHaskellDepends = [ base deepseq ];
        testHaskellDepends = [
          base doctest doctest-discover hedgehog hspec HUnit
@@ -150749,6 +148431,8 @@ 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
@@ -150756,10 +148440,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-hedgehog";
-       version = "0.1.1.0";
-       sha256 = "0a2pic2h983kdkai68wabclzwjbk5i9vz229jlwvs0hyw6b0mzz9";
-       revision = "1";
-       editedCabalFile = "1fwgxwbfz6yfj6xfl9471q7fpsckm2wvpb8wxwb32c3x5122ly5v";
+       version = "0.1.1.1";
+       sha256 = "0kksignrvx566vfz52q5lid9f2zh02dpvnw1gznnkhwnvbldmbi8";
        libraryHaskellDepends = [ base hedgehog vector ];
        testHaskellDepends = [ base doctest doctest-discover ];
        testToolDepends = [ doctest-discover ];
@@ -150773,10 +148455,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-hspec-hedgehog";
-       version = "0.1.1.0";
-       sha256 = "04r30hb4664yciwfl3kyx0xn6sqc6abwhavb4wxiaas8b4px9kyn";
-       revision = "3";
-       editedCabalFile = "0byjlgisygdak9pf9dfnpbj576mrjd7knx4kyfm12l6l5qhcw8n1";
+       version = "0.1.1.1";
+       sha256 = "1ilgqrx8jvgvmns99d74qz8c11ifyrccbvszfzwwhk28fhai0k7s";
        libraryHaskellDepends = [
          base call-stack hedgehog hspec HUnit transformers
        ];
@@ -150796,8 +148476,8 @@ self: {
        pname = "hw-int";
        version = "0.0.2.0";
        sha256 = "13ifa28b12hiibhmwas5hn3dmmiz2rihlc837hhii0z1ng03s360";
-       revision = "1";
-       editedCabalFile = "13vc1hvyil8qql2d6ryi2m4a6snhm2v8vghh8s9hr4qx6dzh4irv";
+       revision = "2";
+       editedCabalFile = "117a16jn369ip6059prrp3752p4fbkkr6vqjksji2bkmy5yxkn1q";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [
          base doctest doctest-discover hedgehog hspec hw-hedgehog
@@ -150816,10 +148496,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-ip";
-       version = "2.4.2.0";
-       sha256 = "1bvh4fkg1ffr3y8wink62rgkynlcgjhmra7a4w01h1dmw1vb2vfx";
-       revision = "5";
-       editedCabalFile = "18fr2r6bhcz1a78di6g2vb7k74xaxamw4azxrjyb1bkx234laj2m";
+       version = "2.4.2.1";
+       sha256 = "1cwj6402314lblh7cm77j1bkpnjqpsk7rn8z94awqp4pfp4x8dk0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -150851,10 +148529,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-json";
-       version = "1.3.2.2";
-       sha256 = "03h5zv94ndsz4vh0jql8rg8pl95rbf8xkyzvr3r55i3kpmb85sbg";
-       revision = "5";
-       editedCabalFile = "0pln3fcdbsd2gzvpa29gc2krsqk5ndkgpygcskwakj25cw3irh76";
+       version = "1.3.2.3";
+       sha256 = "1m5q46ywmdymk2xwqbpm0rswmkbdfzscg6gdym61yninz2sjmd7a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -150886,6 +148562,26 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "hw-json-demo" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, deepseq, dlist
+     , hw-balancedparens, hw-bits, hw-json, hw-json-simd, hw-mquery
+     , hw-prim, hw-rankselect, hw-rankselect-base, mmap, vector
+     }:
+     mkDerivation {
+       pname = "hw-json-demo";
+       version = "1.0.0.0";
+       sha256 = "0bz21z86b3ayc60cysbb2pjqy188arg7nnga954s1s054gk8c5v3";
+       libraryHaskellDepends = [
+         aeson base bytestring deepseq dlist hw-balancedparens hw-bits
+         hw-json hw-json-simd hw-mquery hw-prim hw-rankselect
+         hw-rankselect-base mmap vector
+       ];
+       doHaddock = false;
+       description = "Memory efficient JSON parser";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hw-json-lens" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, criterion
      , doctest, doctest-discover, hedgehog, hspec, hspec-discover
@@ -150922,10 +148618,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-json-simd";
-       version = "0.1.1.0";
-       sha256 = "0bpfyx2bd7pcr8y8bfahcdm30bznqixfawraq3xzy476vy9ppa9n";
-       revision = "4";
-       editedCabalFile = "0ragyq509nxy5ax58h84b6984lwnhklkk8nfafmxh5fxq66214cy";
+       version = "0.1.1.1";
+       sha256 = "0nn6fyvw0j2csn8anqpgjzdzdasiwa99g1v2qrcyym1wi86biqqb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring hw-prim lens vector ];
@@ -150940,8 +148634,6 @@ self: {
        testToolDepends = [ doctest-discover ];
        description = "SIMD-based JSON semi-indexer";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hw-json-simple-cursor" = callPackage
@@ -150953,10 +148645,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-json-simple-cursor";
-       version = "0.1.1.0";
-       sha256 = "1kwxnqsa2mkw5sa8rc9rixjm6f75lyjdaz7f67yyhwls5v4315bl";
-       revision = "7";
-       editedCabalFile = "169aqi2vjzg38cljfipxaw7kzav5z3n9b68f32mjsk1drh1c5hpd";
+       version = "0.1.1.1";
+       sha256 = "0b867rgsybfb568z6qa4x8jqz24wfjydg91w7bsl44vqq0k3hk4f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -150979,7 +148669,6 @@ self: {
        ];
        description = "Memory efficient JSON parser";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hw-json-standard-cursor" = callPackage
@@ -150992,10 +148681,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-json-standard-cursor";
-       version = "0.2.3.1";
-       sha256 = "1mpsspp6ba2zqv38a0rcv93mbwb1rb8snmxklf32g02djj8b4vir";
-       revision = "5";
-       editedCabalFile = "029hrckhsm0g1j2zijs3ff14qsk2cdw9m57l3jhjy0cw3ynwisds";
+       version = "0.2.3.2";
+       sha256 = "02fmhjnjf0idmzq0y1a1m78bwl72ycvr6cxlscxpc2370r2s3akh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -151019,34 +148706,28 @@ self: {
        ];
        description = "Memory efficient JSON parser";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hw-kafka-avro" = callPackage
     ({ mkDerivation, aeson, avro, base, binary, bytestring, cache
-     , containers, errors, hashable, hspec, http-client, http-types
-     , lens, mtl, pure-zlib, QuickCheck, semigroups, tagged, text
-     , transformers, unordered-containers, wreq
+     , containers, hashable, hedgehog, hspec, http-client, http-types
+     , hw-hspec-hedgehog, lens, mtl, safe-exceptions, semigroups, tagged
+     , text, transformers, unordered-containers, wreq
      }:
      mkDerivation {
        pname = "hw-kafka-avro";
-       version = "5.1.0";
-       sha256 = "11j1c881g08vgyaf26rfylydii0zk824i210pxb393616npyg9h5";
+       version = "6.0.0";
+       sha256 = "1dbii37kgh4gsa30a7wqsl5vdwir7v2y3kksk9ab4djfir154anv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson avro base binary bytestring cache containers errors hashable
-         http-client http-types lens mtl pure-zlib semigroups tagged text
-         transformers unordered-containers wreq
-       ];
-       testHaskellDepends = [
-         aeson avro base binary bytestring cache containers errors hashable
-         hspec http-client mtl pure-zlib QuickCheck semigroups text
-         transformers unordered-containers
+         aeson avro base binary bytestring cache containers hashable
+         http-client http-types lens mtl safe-exceptions semigroups tagged
+         text transformers unordered-containers wreq
        ];
+       testHaskellDepends = [ base hedgehog hspec hw-hspec-hedgehog ];
        description = "Avro support for Kafka infrastructure";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hw-kafka-client" = callPackage
@@ -151130,10 +148811,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-mquery";
-       version = "0.2.1.0";
-       sha256 = "1qhd8jcwffr57mjraw0g3xj9kb0jd75ybqaj1sbxw31lc2hr9w9j";
-       revision = "3";
-       editedCabalFile = "0mnra701p169xzibag8mvb2mrk5gdp42dwlhqr07b6dz2cly88sn";
+       version = "0.2.1.1";
+       sha256 = "1jdmgg0y04xl18vkdjwynb48wdl58kkzsw062v2cv65mkjhcvf0l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ ansi-wl-pprint base dlist lens ];
@@ -151157,10 +148836,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-packed-vector";
-       version = "0.2.1.0";
-       sha256 = "13hly2yzx6kx4j56iksgj4i3wmvg7rmxq57d0g87lmybzhha9q38";
-       revision = "6";
-       editedCabalFile = "1ryh9nmpg3925lrr5a4wfsdv3f4a6rshrqn5pzbkqchh4mx39cpf";
+       version = "0.2.1.1";
+       sha256 = "0aplyknpf81kqpisz9zibyncg2i95dnfv6kywlg3wf7ic1wcjqxh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -151191,8 +148868,8 @@ self: {
        pname = "hw-parser";
        version = "0.1.1.0";
        sha256 = "1zsbw725mw3fn4814qricqanbvx1kgbnqvgwijqgfv8jz7yf5gxa";
-       revision = "3";
-       editedCabalFile = "1rc0swmmnckp99qzmhl1acxykyhdyw1lvy73mn7c4dlv751gnlhk";
+       revision = "4";
+       editedCabalFile = "0wiizlmhv1pjc9fpga5fjfxzxcf55qgamg6gl1n4c9x5l5yj6yk6";
        libraryHaskellDepends = [
          attoparsec base bytestring hw-prim text
        ];
@@ -151217,6 +148894,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Primitive functions and data types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hw-prim" = callPackage
@@ -151227,10 +148906,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-prim";
-       version = "0.6.3.0";
-       sha256 = "0gqn7s0ki9x951n5whyh0pkcbbqz4kpcn80xxpsv1c0v34946xv7";
-       revision = "2";
-       editedCabalFile = "14x1bijg1d8jdh963rxrlwzlqa1p1vh0bc7hjdysk8dzbrc7fbmv";
+       version = "0.6.3.1";
+       sha256 = "1b3qk0w8jivbhpkxkp4b1spj1nvfjjf2k6a0ba9agjp9kjmwddni";
        libraryHaskellDepends = [
          base bytestring deepseq ghc-prim mmap transformers unliftio-core
          vector
@@ -151281,10 +148958,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-rankselect";
-       version = "0.13.4.0";
-       sha256 = "0chk3n4vb55px943w0l3q7pxhgbvqm64vn7lkhi7k0l2dpybycp7";
-       revision = "6";
-       editedCabalFile = "1j287ynfgiz56bn0hqqppa03zn2gcllnmiz2azzvfx7xkq3nkdh1";
+       version = "0.13.4.1";
+       sha256 = "03nf8jwr1qpbfa20y3zlb3z6cxy8ylpdbsy0fvxdjs8q35f7bmx5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -151320,8 +148995,8 @@ self: {
        pname = "hw-rankselect-base";
        version = "0.3.4.1";
        sha256 = "1s0lqwq0rjmjca6lshfnxqi0c7bzlyflhm45xw1xa9pvqci8439h";
-       revision = "2";
-       editedCabalFile = "174a3qhkdam5m5rqwb9qzapg2xkd8vb0lirkz2d0xb4xxc0vzcy7";
+       revision = "3";
+       editedCabalFile = "0xb03a8bla45rbdnfjaq9pbz2r0mz9b3vm2ljm6lmr1dpgy0yh5c";
        libraryHaskellDepends = [
          base bits-extra bitvec hw-bits hw-int hw-prim hw-string-parse
          vector
@@ -151347,10 +149022,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-simd";
-       version = "0.1.2.0";
-       sha256 = "1r202xzqprb1v8ajd9n6ixckjfdy17mn8jibx4j2xgknx595v24f";
-       revision = "3";
-       editedCabalFile = "1dl2zqyc3rcrlda6apy5afgvax5cah37n44hzlm81y9p1nbpd205";
+       version = "0.1.2.1";
+       sha256 = "051dbwi4kvv04dnglcx9666g097fy9rw8kmgbcw5y9cs06mbw9cr";
        libraryHaskellDepends = [
          base bits-extra bytestring deepseq hw-bits hw-prim hw-rankselect
          hw-rankselect-base transformers vector
@@ -151370,8 +149043,6 @@ self: {
        ];
        description = "SIMD library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hw-simd-cli" = callPackage
@@ -151402,7 +149073,6 @@ self: {
        testToolDepends = [ doctest-discover ];
        description = "SIMD library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hw-streams" = callPackage
@@ -151415,8 +149085,8 @@ self: {
        pname = "hw-streams";
        version = "0.0.1.0";
        sha256 = "0hzpx1j06h98y0zcmysklzn3s3mvpbb1nkwg4zkbdxvzzqs5hnm5";
-       revision = "2";
-       editedCabalFile = "1c9vll8i0pl4x3b3xpy3zxc581f7n7m6mvpgz7pfhcpikw426s9y";
+       revision = "3";
+       editedCabalFile = "0g2fhjv62jf807j2w5rikfbmsircpjf6q0l8xqpbyy8krch8mrx5";
        libraryHaskellDepends = [
          base bytestring ghc-prim hw-bits hw-prim mmap primitive
          transformers vector
@@ -151433,16 +149103,23 @@ self: {
        ];
        description = "Primitive functions and data types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hw-string-parse" = callPackage
-    ({ mkDerivation, base, bytestring, hspec, QuickCheck, vector }:
+    ({ mkDerivation, base, bytestring, doctest, doctest-discover, hspec
+     , hspec-discover, QuickCheck, vector
+     }:
      mkDerivation {
        pname = "hw-string-parse";
-       version = "0.0.0.4";
-       sha256 = "1dzjx6virpikbqnpzdjlliakm8kd6kxyn3y4jgr5bqhisgwfp8b4";
+       version = "0.0.0.5";
+       sha256 = "0sg5s84pqyl93wm052ifrqv90cyc28awh4i6vcd8zbq746wdqz4k";
        libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base bytestring hspec QuickCheck vector ];
+       testHaskellDepends = [
+         base bytestring doctest doctest-discover hspec QuickCheck vector
+       ];
+       testToolDepends = [ doctest-discover hspec-discover ];
        description = "String parser";
        license = lib.licenses.bsd3;
      }) {};
@@ -151546,10 +149223,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-xml";
-       version = "0.5.1.0";
-       sha256 = "0g81kknllbc6v5wx7kgzhh78409njfzr3h7lfdx7ip0nkhhnpmw4";
-       revision = "8";
-       editedCabalFile = "049vaf01iw694kpgaaqk2wpg2bpd8s9f2xq39sc3wh7kz7c848fv";
+       version = "0.5.1.1";
+       sha256 = "1gjs2rcm40j3962kw7n02pqim1p485prm1bd2v8hk1ka35c8nq1w";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -152243,7 +149918,6 @@ self: {
        description = "NCurses interface to view multiple ByteString streams in parallel";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hydrogen" = callPackage
@@ -152702,6 +150376,8 @@ self: {
        testHaskellDepends = [ base megaparsec text ];
        description = "A parser for the _hyperscript programming language";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hypertypes" = callPackage
@@ -152802,8 +150478,8 @@ self: {
        pname = "hyraxAbif";
        version = "0.2.3.27";
        sha256 = "1ww4lgf280sjj9bhj8s6pxadqwk91jkx6lngb2cqcf81gr38drhm";
-       revision = "1";
-       editedCabalFile = "0l8dl3mw4vw8xhq59hin72rc5qh2swbzv41z61bqj2i1088xw0dg";
+       revision = "2";
+       editedCabalFile = "168gf9ib669ji8lyd1a57xqkqmxyzi3m4r9pnmdxyfnqpnfqdv6r";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -152817,6 +150493,8 @@ self: {
        ];
        description = "Modules for parsing, generating and manipulating AB1 files";
        license = "(BSD-3-Clause OR Apache-2.0)";
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hz3" = callPackage
@@ -152965,6 +150643,8 @@ self: {
        ];
        description = "Base i3blocks written in haskell";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "i3ipc" = callPackage
@@ -153168,7 +150848,6 @@ self: {
        description = "A fast JSON document store with push notification support";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "icfpc2020-galaxy" = callPackage
@@ -153180,6 +150859,8 @@ self: {
        libraryHaskellDepends = [ base ghc-prim transformers ];
        description = "A strange message received at the Pegovka observatory";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "icon-fonts" = callPackage
@@ -153453,6 +151134,7 @@ self: {
        ];
        description = "Squares style for the identicon package";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "identifiers" = callPackage
@@ -153694,6 +151376,7 @@ self: {
        description = "Branch on whether a constraint is satisfied";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ifcxt" = callPackage
@@ -154130,6 +151813,25 @@ self: {
        broken = true;
      }) {};
 
+  "ihp-hsx" = callPackage
+    ({ mkDerivation, base, blaze-html, blaze-markup, bytestring
+     , containers, haskell-src-meta, megaparsec, string-conversions
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "ihp-hsx";
+       version = "0.18.0";
+       sha256 = "1a5sc7qz24qkkm0s5fc3pqdnq7gl29fw400sv7zq05bkrrnlfzpn";
+       libraryHaskellDepends = [
+         base blaze-html blaze-markup bytestring containers haskell-src-meta
+         megaparsec string-conversions template-haskell text
+       ];
+       description = "JSX-like but for Haskell";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "ihs" = callPackage
     ({ mkDerivation, base, process }:
      mkDerivation {
@@ -154337,7 +152039,6 @@ self: {
        description = "Downloads email from imap SSL servers";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "imbib" = callPackage
@@ -154376,7 +152077,6 @@ self: {
        description = "A function to post an image to imgur";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "imgurder" = callPackage
@@ -154524,7 +152224,6 @@ self: {
        ];
        description = "Execute arbitrary actions for each item from RSS/Atom feeds";
        license = lib.licenses.cc0;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "immortal_0_2_2_1" = callPackage
@@ -154656,6 +152355,7 @@ self: {
        description = "Deep embedding of VHDL programs with code generation";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "impl" = callPackage
@@ -154738,6 +152438,8 @@ self: {
        pname = "implicit-hie-cradle";
        version = "0.5.0.0";
        sha256 = "0cfciqc0lpvksyvs3azqncbc0c2ckqg9avzd69cnd59b0mc8jsiy";
+       revision = "1";
+       editedCabalFile = "0naa4dk7bgg8icx5xy38jpg7gxx9pirqz4gx0ggj5g2r787zcxj2";
        libraryHaskellDepends = [
          base base16-bytestring bytestring containers directory extra
          filepath hie-bios hslogger implicit-hie process temporary text time
@@ -154969,29 +152671,19 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Disambiguate obvious uses of effects when using in-other-words";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "inbox" = callPackage
     ({ mkDerivation, async, base, error-or, text, time }:
      mkDerivation {
        pname = "inbox";
-       version = "0.1.0";
-       sha256 = "12012di97775da8ijv0qjwaxls36kvly0j7nvqqj15ai3kf9yarq";
-       libraryHaskellDepends = [ async base error-or text time ];
-       description = "Inbox for asychronous messages";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "inbox_0_2_0" = callPackage
-    ({ mkDerivation, async, base, error-or, text, time }:
-     mkDerivation {
-       pname = "inbox";
        version = "0.2.0";
        sha256 = "1f4jrkgrziq10xx344avpxyxxizxrhk8mwr127a5m6gr7vyqimak";
        libraryHaskellDepends = [ async base error-or text time ];
        description = "Inbox for asychronous messages";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "inc-ref" = callPackage
@@ -155039,8 +152731,48 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Simple parser combinators for lexical analysis";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
+     }) {};
+
+  "incipit" = callPackage
+    ({ mkDerivation, base, incipit-core, polysemy-conc, polysemy-log
+     , polysemy-resume, polysemy-time
+     }:
+     mkDerivation {
+       pname = "incipit";
+       version = "0.2.1.0";
+       sha256 = "02zqz3szb4ir1fydjg1ywscyara60rr2hzmaf0d3ghfkm9fbhhs8";
+       libraryHaskellDepends = [
+         base incipit-core polysemy-conc polysemy-log polysemy-resume
+         polysemy-time
+       ];
+       description = "A Prelude for Polysemy";
+       license = "BSD-2-Clause-Patent";
+     }) {};
+
+  "incipit-base" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default, stm
+     , text
+     }:
+     mkDerivation {
+       pname = "incipit-base";
+       version = "0.2.0.0";
+       sha256 = "1a8ryvsr1vrdnjczzidw0inzz6dpwfavwwv1a5wv649rnfgj15yq";
+       libraryHaskellDepends = [
+         base bytestring containers data-default stm text
+       ];
+       description = "A Prelude for Polysemy – Base Reexports";
+       license = "BSD-2-Clause-Patent";
+     }) {};
+
+  "incipit-core" = callPackage
+    ({ mkDerivation, base, incipit-base, polysemy }:
+     mkDerivation {
+       pname = "incipit-core";
+       version = "0.2.0.0";
+       sha256 = "02qjcmiz6pyqqqmzq1im2ylcn5dy4bkk8inkb8kdnzf866l14vd7";
+       libraryHaskellDepends = [ base incipit-base polysemy ];
+       description = "A Prelude for Polysemy";
+       license = "BSD-2-Clause-Patent";
      }) {};
 
   "include-env" = callPackage
@@ -155144,8 +152876,8 @@ self: {
      }:
      mkDerivation {
        pname = "incremental-parser";
-       version = "0.5.0.2";
-       sha256 = "15437dkn8j17ba71c3h6ck2f6sbnmp3acg2grg97awb962azm9fj";
+       version = "0.5.0.3";
+       sha256 = "11qzq2knpv0h8m1qfd6byqq5kbzxiz91vcgaicm1mlj0m554wlrs";
        libraryHaskellDepends = [
          base input-parsers monoid-subclasses parsers rank2classes
          transformers
@@ -155352,6 +153084,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Simple, no-frills indexed lists";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "indexed-do-notation" = callPackage
@@ -155366,6 +153100,8 @@ self: {
        ];
        description = "Do notation for indexed monads";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "indexed-extras" = callPackage
@@ -155430,30 +153166,6 @@ self: {
 
   "indexed-traversable-instances" = callPackage
     ({ mkDerivation, base, containers, criterion, indexed-traversable
-     , QuickCheck, quickcheck-instances, tagged, tasty, tasty-quickcheck
-     , transformers, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "indexed-traversable-instances";
-       version = "0.1";
-       sha256 = "1p38mssyajhwgc7ljnr31q6g18dxbv8r88z1r188xd82g6049v7s";
-       libraryHaskellDepends = [
-         base indexed-traversable tagged unordered-containers vector
-       ];
-       testHaskellDepends = [
-         base containers indexed-traversable QuickCheck quickcheck-instances
-         tasty tasty-quickcheck transformers unordered-containers vector
-       ];
-       benchmarkHaskellDepends = [
-         base containers criterion indexed-traversable unordered-containers
-         vector
-       ];
-       description = "More instances of FunctorWithIndex, FoldableWithIndex, TraversableWithIndex";
-       license = lib.licenses.bsd2;
-     }) {};
-
-  "indexed-traversable-instances_0_1_1" = callPackage
-    ({ mkDerivation, base, containers, criterion, indexed-traversable
      , OneTuple, QuickCheck, quickcheck-instances, tagged, tasty
      , tasty-quickcheck, transformers, unordered-containers, vector
      }:
@@ -155476,7 +153188,6 @@ self: {
        ];
        description = "More instances of FunctorWithIndex, FoldableWithIndex, TraversableWithIndex";
        license = lib.licenses.bsd2;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "indextype" = callPackage
@@ -155652,6 +153363,7 @@ self: {
        ];
        description = "The Infernal Machine - An AWS Lambda Custom Runtime for Haskell";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "infernu" = callPackage
@@ -155700,7 +153412,6 @@ self: {
        ];
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "infix" = callPackage
@@ -155993,19 +153704,20 @@ self: {
      }) {};
 
   "inline-c-cpp" = callPackage
-    ({ mkDerivation, base, containers, hspec, inline-c, safe-exceptions
-     , template-haskell, vector
+    ({ mkDerivation, base, bytestring, containers, hspec, inline-c
+     , safe-exceptions, template-haskell, text, vector
      }:
      mkDerivation {
        pname = "inline-c-cpp";
-       version = "0.4.0.3";
-       sha256 = "0bqrhyic3cw1pqg7knsmkqx5swpr4kvf9bmz0mhmqbl6brmv5il0";
+       version = "0.5.0.0";
+       sha256 = "0m14nb9brpnh2cgq8gg6182mdcmn45hf734la68dnhq23sn63lpx";
        libraryHaskellDepends = [
-         base containers inline-c safe-exceptions template-haskell
+         base bytestring containers inline-c safe-exceptions
+         template-haskell text
        ];
        testHaskellDepends = [
-         base containers hspec inline-c safe-exceptions template-haskell
-         vector
+         base bytestring containers hspec inline-c safe-exceptions
+         template-haskell vector
        ];
        description = "Lets you embed C++ code into Haskell";
        license = lib.licenses.mit;
@@ -156115,8 +153827,8 @@ self: {
      }:
      mkDerivation {
        pname = "input-parsers";
-       version = "0.2.3.1";
-       sha256 = "0q928kmvhn3rahskjy60wywnzd5v5k2jlfc6fqkm4lzf0l8mnr05";
+       version = "0.2.3.2";
+       sha256 = "0y643507p9grj8gkq722p4b9gbrkg8xyh6pi19qvrbmmadpn1r89";
        libraryHaskellDepends = [
          attoparsec base binary bytestring monoid-subclasses parsec parsers
          text transformers
@@ -156192,6 +153904,7 @@ self: {
        ];
        description = "A simple proxy for debugging plaintext protocols communication";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "inspection-testing" = callPackage
@@ -156531,7 +154244,7 @@ self: {
      }) {};
 
   "integer-logarithms" = callPackage
-    ({ mkDerivation, array, base, ghc-prim, integer-gmp, QuickCheck
+    ({ mkDerivation, array, base, ghc-bignum, ghc-prim, QuickCheck
      , smallcheck, tasty, tasty-hunit, tasty-quickcheck
      , tasty-smallcheck
      }:
@@ -156541,7 +154254,7 @@ self: {
        sha256 = "0zzapclfabc76g8jzsbsqwdllx2zn0gp4raq076ib6v0mfgry2lv";
        revision = "2";
        editedCabalFile = "1nciavqjkv0yqh7xy20666srm92ip520bnhnhwkwaaabdzn12pmn";
-       libraryHaskellDepends = [ array base ghc-prim integer-gmp ];
+       libraryHaskellDepends = [ array base ghc-bignum ghc-prim ];
        testHaskellDepends = [
          base QuickCheck smallcheck tasty tasty-hunit tasty-quickcheck
          tasty-smallcheck
@@ -156563,14 +154276,14 @@ self: {
      }) {};
 
   "integer-roots" = callPackage
-    ({ mkDerivation, base, doctest, integer-gmp, smallcheck, tasty
+    ({ mkDerivation, base, doctest, ghc-bignum, smallcheck, tasty
      , tasty-hunit, tasty-quickcheck, tasty-smallcheck
      }:
      mkDerivation {
        pname = "integer-roots";
        version = "1.0.2.0";
        sha256 = "15sn3jgm8axm8f9z02aj3xdf318qwwc5qfc8b4r0n7hfr1jgrqs5";
-       libraryHaskellDepends = [ base integer-gmp ];
+       libraryHaskellDepends = [ base ghc-bignum ];
        testHaskellDepends = [
          base doctest smallcheck tasty tasty-hunit tasty-quickcheck
          tasty-smallcheck
@@ -156626,7 +154339,6 @@ self: {
        description = "Integrate different assays";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "intel-aes" = callPackage
@@ -156685,6 +154397,8 @@ self: {
        ];
        description = "instantly create REPL from any function";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "interactive-plot" = callPackage
@@ -156881,6 +154595,8 @@ self: {
        ];
        description = "Tracery-like randomized text interpolation";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "interpol" = callPackage
@@ -157032,6 +154748,8 @@ self: {
        ];
        description = "Runtime interpolation of environment variables in records using profunctors";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "interprocess" = callPackage
@@ -157189,6 +154907,8 @@ self: {
        ];
        description = "A quasiquoter for better instance deriving and default methods";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "intro" = callPackage
@@ -157357,18 +155077,22 @@ self: {
      }:
      mkDerivation {
        pname = "invert";
-       version = "1.0.0.1";
-       sha256 = "07p7vcc3mc4zq0j2qlm4yp0cfsashb32ndx5i9ib0x6lk6rb9djp";
+       version = "1.0.0.2";
+       sha256 = "13zl9i6g7ygkm3pgm7b72815cfp66mykxzp5vwy5kqakr8c3w1fp";
        libraryHaskellDepends = [
          base containers generic-deriving hashable unordered-containers
          vector
        ];
-       testHaskellDepends = [ base ];
-       benchmarkHaskellDepends = [ base criterion ];
+       testHaskellDepends = [
+         base containers generic-deriving hashable unordered-containers
+         vector
+       ];
+       benchmarkHaskellDepends = [
+         base containers criterion generic-deriving hashable
+         unordered-containers vector
+       ];
        description = "Automatically generate a function’s inverse";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "invertible" = callPackage
@@ -157389,8 +155113,6 @@ self: {
        testHaskellDepends = [ base QuickCheck transformers ];
        description = "bidirectional arrows, bijective functions, and invariant functors";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "invertible-grammar" = callPackage
@@ -157402,8 +155124,8 @@ self: {
        pname = "invertible-grammar";
        version = "0.1.3.2";
        sha256 = "14i0xf5j01j6ayvxix32qr2m0bz3818q26z3b4xyw41ikbhxmkp2";
-       revision = "1";
-       editedCabalFile = "0h3m4i3myp1vv9arw4v0yy88ddwgynyna2s86kvfa9sjljb6nbqh";
+       revision = "2";
+       editedCabalFile = "0qcdc7sl4s53f682lfpisw5rknb9qap1c7qp00sl4a8qx39w101w";
        libraryHaskellDepends = [
          base bifunctors containers mtl prettyprinter profunctors semigroups
          tagged template-haskell text transformers
@@ -157422,6 +155144,7 @@ self: {
        description = "invertible functions and instances for HList";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "invertible-hxt" = callPackage
@@ -157435,7 +155158,6 @@ self: {
        ];
        description = "invertible transformer instances for HXT Picklers";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "invertible-syntax" = callPackage
@@ -157460,6 +155182,8 @@ self: {
        libraryHaskellDepends = [ base bytestring containers text vector ];
        description = "Semigroups with involution";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "io-capture" = callPackage
@@ -157589,8 +155313,8 @@ self: {
        pname = "io-streams";
        version = "1.5.2.1";
        sha256 = "1y3sqmxrwiksz7pl4hf3vzvg8p8n00qnv98nj5xbpcadlh468rny";
-       revision = "1";
-       editedCabalFile = "0zgrhvafnk9ds29n6x93cifw4993mgvvx3p2d3922frkjvd6xa5v";
+       revision = "2";
+       editedCabalFile = "16sr5jkw6k4k7bbfwp1p756lfjwqvx0ls5yrlvc056pg6h2js5m9";
        configureFlags = [ "-fnointeractivetests" ];
        libraryHaskellDepends = [
          attoparsec base bytestring network primitive process text time
@@ -157784,6 +155508,8 @@ self: {
        ];
        description = "Library for IP and MAC addresses";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ip-quoter" = callPackage
@@ -157865,6 +155591,8 @@ self: {
        testHaskellDepends = [ base hspec text ];
        description = "Internal Phonetic Alphabet (IPA)";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ipatch" = callPackage
@@ -158091,27 +155819,6 @@ self: {
      }:
      mkDerivation {
        pname = "ipynb";
-       version = "0.1.0.2";
-       sha256 = "0qky4l5aaiq7ypwbxh0mr7s572290fi596f18dg68qpyzc49a9kx";
-       libraryHaskellDepends = [
-         aeson base base64-bytestring bytestring containers text
-         unordered-containers
-       ];
-       testHaskellDepends = [
-         aeson base bytestring directory filepath microlens microlens-aeson
-         tasty tasty-hunit text
-       ];
-       description = "Data structure for working with Jupyter notebooks (ipynb)";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "ipynb_0_2" = callPackage
-    ({ mkDerivation, aeson, base, base64-bytestring, bytestring
-     , containers, directory, filepath, microlens, microlens-aeson
-     , tasty, tasty-hunit, text, unordered-containers
-     }:
-     mkDerivation {
-       pname = "ipynb";
        version = "0.2";
        sha256 = "1iwia4sxg40m4d290gys72wabqmkqx24ywsaranwzk2wx5s3sx4s";
        revision = "1";
@@ -158126,7 +155833,6 @@ self: {
        ];
        description = "Data structure for working with Jupyter notebooks (ipynb)";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ipython-kernel" = callPackage
@@ -158408,6 +156114,8 @@ self: {
        libraryHaskellDepends = [ base QuickCheck ];
        description = "Real numbers and intervals with relatively efficient exact arithmetic";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "iri" = callPackage
@@ -158435,7 +156143,6 @@ self: {
        description = "RFC-based resource identifier library";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "iridium" = callPackage
@@ -159492,6 +157199,7 @@ self: {
        ];
        description = "Efficient relational queries on Haskell sets";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ixset-typed" = callPackage
@@ -159511,6 +157219,8 @@ self: {
        ];
        description = "Efficient relational queries on Haskell sets";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ixset-typed-binary-instance" = callPackage
@@ -159522,6 +157232,7 @@ self: {
        libraryHaskellDepends = [ base binary ixset-typed ];
        description = "Binary instance for ixset-typed";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ixset-typed-cassava" = callPackage
@@ -159537,6 +157248,7 @@ self: {
        ];
        description = "cassava encoding and decoding via ixset-typed";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ixset-typed-conversions" = callPackage
@@ -159553,6 +157265,7 @@ self: {
        ];
        description = "Conversions from ixset-typed to other containers";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ixset-typed-hashable-instance" = callPackage
@@ -159564,6 +157277,7 @@ self: {
        libraryHaskellDepends = [ base hashable ixset-typed ];
        description = "Hashable instance for ixset-typed";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ixshader" = callPackage
@@ -160105,6 +157819,7 @@ self: {
        executableHaskellDepends = [ base ghcjs-base-stub ];
        description = "Extra javascript functions when using GHCJS";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "javasf" = callPackage
@@ -160283,7 +157998,6 @@ self: {
        description = "Extract all JavaScript from an HTML page and consolidate it in one script";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "jet" = callPackage
@@ -160546,7 +158260,6 @@ self: {
        description = "A job queue library";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "jobs-ui" = callPackage
@@ -160567,7 +158280,6 @@ self: {
        ];
        description = "A library for creating a jobs management website running custom jobs";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "join" = callPackage
@@ -160624,6 +158336,8 @@ self: {
        ];
        description = "Trying to compose non-composable";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "jonathanscard" = callPackage
@@ -160724,36 +158438,6 @@ self: {
      }) {};
 
   "jose" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
-     , bytestring, concise, containers, cryptonite, hspec, lens, memory
-     , monad-time, mtl, network-uri, pem, QuickCheck
-     , quickcheck-instances, safe, tasty, tasty-hspec, tasty-quickcheck
-     , template-haskell, text, time, unordered-containers, vector, x509
-     }:
-     mkDerivation {
-       pname = "jose";
-       version = "0.8.4";
-       sha256 = "0xs4r4znbgfc407q3zndhffk6l9m57wml29pcwyqywd5i3xl5pyb";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson attoparsec base base64-bytestring bytestring concise
-         containers cryptonite lens memory monad-time mtl network-uri
-         QuickCheck quickcheck-instances safe template-haskell text time
-         unordered-containers vector x509
-       ];
-       testHaskellDepends = [
-         aeson attoparsec base base64-bytestring bytestring concise
-         containers cryptonite hspec lens memory monad-time mtl network-uri
-         pem QuickCheck quickcheck-instances safe tasty tasty-hspec
-         tasty-quickcheck template-haskell text time unordered-containers
-         vector x509
-       ];
-       description = "Javascript Object Signing and Encryption and JSON Web Token library";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "jose_0_9" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, bytestring
      , concise, containers, cryptonite, hspec, lens, memory, monad-time
      , mtl, network-uri, pem, QuickCheck, quickcheck-instances, tasty
@@ -160778,7 +158462,6 @@ self: {
        ];
        description = "JSON Object Signing and Encryption (JOSE) and JSON Web Token (JWT) library";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "jose-jwt" = callPackage
@@ -160789,8 +158472,8 @@ self: {
      }:
      mkDerivation {
        pname = "jose-jwt";
-       version = "0.9.3";
-       sha256 = "1sdcf55mynij8bcwj65j3izay65q2h8dl7lqlhkm3670h3v3f91h";
+       version = "0.9.4";
+       sha256 = "1drdlxbhbac3b6ph2l969vvicmg1yww9yhz3pd9maq7pdajbpjcc";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring cereal containers cryptonite
          memory mtl text time transformers transformers-compat
@@ -160803,6 +158486,8 @@ 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
@@ -160821,7 +158506,23 @@ self: {
        ];
        description = "Tiny markdown notebook";
        license = lib.licenses.isc;
+     }) {};
+
+  "joy-rewrite" = callPackage
+    ({ mkDerivation, base, containers, hspec, monad-loops, parsec, text
+     }:
+     mkDerivation {
+       pname = "joy-rewrite";
+       version = "0.1.0.0";
+       sha256 = "1bfzi4axs0bz0c0aqshixmy73s1whr28iql7i955crm2blwf3zjq";
+       libraryHaskellDepends = [
+         base containers hspec monad-loops parsec text
+       ];
+       testHaskellDepends = [ base hspec ];
+       description = "Transform Joy code using conditional rewrite rules";
+       license = lib.licenses.bsd2;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "jpeg" = callPackage
@@ -160837,6 +158538,24 @@ self: {
        broken = true;
      }) {};
 
+  "jpl-horizons-api" = callPackage
+    ({ mkDerivation, base, bytestring, megaparsec, optparse-applicative
+     , req, scientific, text, time
+     }:
+     mkDerivation {
+       pname = "jpl-horizons-api";
+       version = "0.4.0.0";
+       sha256 = "0l6w6zhyfgqfxg0y8q9a3bbx1g8gw3b9bkkqpg33rj8fplacw61m";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring megaparsec req scientific text time
+       ];
+       executableHaskellDepends = [ base optparse-applicative time ];
+       description = "Ephemerides for solar system objects from the JPL Horizons service";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "jps" = callPackage
     ({ mkDerivation, base, containers, fingertree, lens, vector }:
      mkDerivation {
@@ -160948,6 +158667,8 @@ self: {
        ];
        description = "Interface for JavaScript that works with GHCJS and GHC";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "jsaddle-dom" = callPackage
@@ -160984,7 +158705,6 @@ self: {
        description = "JSaddle Hello World, an example package";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "jsaddle-warp" = callPackage
@@ -161011,6 +158731,8 @@ self: {
        ];
        description = "Interface for JavaScript that works with GHCJS and GHC";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "jsaddle-webkit2gtk" = callPackage
@@ -161144,6 +158866,8 @@ self: {
        ];
        description = "Utilities for generating JSON-API payloads";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "json-api-lib" = callPackage
@@ -161168,6 +158892,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Utilities for generating JSON-API payloads";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "json-assertions" = callPackage
@@ -161337,8 +159063,8 @@ self: {
        pname = "json-directory";
        version = "0.1.0.1";
        sha256 = "145z46hh3ba3g7niwv9kf5djfv3xa1q5fmwadi629h7grfij0rr3";
-       revision = "1";
-       editedCabalFile = "193f2vndgfhhb26yq15nai22cmzdlcypby8bbyy93hyidr7rd981";
+       revision = "2";
+       editedCabalFile = "0rid8i7chq7ca81m6kyhd0dl3ig8k24fk7mq5ydnhgdfnd25v78g";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -161349,6 +159075,8 @@ self: {
        ];
        description = "Load JSON from files in a directory structure";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "json-encoder" = callPackage
@@ -161412,24 +159140,8 @@ self: {
      }:
      mkDerivation {
        pname = "json-feed";
-       version = "1.0.15";
-       sha256 = "1hnppgsp9s26yxjq5ha4znfgw2g1ibjrhp55qw3wh58ljlcz8qpp";
-       libraryHaskellDepends = [
-         aeson base bytestring mime-types network-uri tagsoup text time
-       ];
-       testHaskellDepends = [ base bytestring filepath hspec ];
-       description = "JSON Feed";
-       license = lib.licenses.mit;
-     }) {};
-
-  "json-feed_2_0_0_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, filepath, hspec
-     , mime-types, network-uri, tagsoup, text, time
-     }:
-     mkDerivation {
-       pname = "json-feed";
-       version = "2.0.0.0";
-       sha256 = "1d2xjyi5b6v5sq0g4aayirfjj4l7lskwv28w6601dxwz7yrsp234";
+       version = "2.0.0.1";
+       sha256 = "1znipg1g33s2z7pv20rnl6i3l1xf05wrz9d6srr7kgvv703w4qgk";
        libraryHaskellDepends = [
          aeson base bytestring mime-types network-uri tagsoup text time
        ];
@@ -161439,7 +159151,6 @@ self: {
        ];
        description = "JSON Feed";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "json-fu" = callPackage
@@ -161515,6 +159226,8 @@ self: {
        libraryHaskellDepends = [ attoparsec base base-prelude text ];
        description = "JSON Pointer parsing and interpretation utilities";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "json-pointer-aeson" = callPackage
@@ -161530,6 +159243,7 @@ self: {
        ];
        description = "Integration layer for \"json-pointer\" and \"aeson\"";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "json-pointer-hasql" = callPackage
@@ -161547,7 +159261,6 @@ self: {
        description = "JSON Pointer extensions for Hasql";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "json-pointy" = callPackage
@@ -161665,6 +159378,8 @@ self: {
        ];
        description = "Fully-featured JSON-RPC 2.0 library";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "json-rpc-client" = callPackage
@@ -161693,7 +159408,6 @@ self: {
        description = "JSON-RPC 2.0 on the client side.";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "json-rpc-generic" = callPackage
@@ -161714,6 +159428,8 @@ self: {
        ];
        description = "Generic encoder and decode for JSON-RPC";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "json-rpc-server" = callPackage
@@ -161738,6 +159454,8 @@ self: {
        ];
        description = "JSON-RPC 2.0 on the server side.";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "json-schema" = callPackage
@@ -161809,10 +159527,8 @@ self: {
      }:
      mkDerivation {
        pname = "json-stream";
-       version = "0.4.2.4";
-       sha256 = "1ryv2738ajagb0wdkac5lka1kzprrf85gqxabafmm3g5szllxjl1";
-       revision = "1";
-       editedCabalFile = "0i1250irn8zxhr3vlik3zaja81a8yj7rjyfk1654bwpih9rq81f6";
+       version = "0.4.3.0";
+       sha256 = "1bxddz84knxhnh92chg58g66xrnz9cq805p0fs7rpa8v2wgf06yy";
        libraryHaskellDepends = [
          aeson base bytestring scientific text unordered-containers vector
        ];
@@ -161822,27 +159538,32 @@ self: {
        ];
        description = "Incremental applicative JSON parser";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "json-syntax" = callPackage
     ({ mkDerivation, aeson, array-builder, array-chunks, base
-     , bytebuild, byteslice, bytesmith, bytestring, gauge
-     , neat-interpolation, primitive, run-st, scientific
-     , scientific-notation, tasty, tasty-hunit, text, text-short
-     , unordered-containers, vector
+     , bytebuild, byteslice, bytesmith, bytestring, contiguous, gauge
+     , integer-gmp, natural-arithmetic, neat-interpolation, primitive
+     , QuickCheck, run-st, scientific, scientific-notation, tasty
+     , tasty-golden, tasty-hunit, tasty-quickcheck, text, text-short
+     , unordered-containers, vector, zigzag
      }:
      mkDerivation {
        pname = "json-syntax";
-       version = "0.2.0.0";
-       sha256 = "0gmi2g0bx9aiv9ll97cgdb0fhzcjyd2kxrfc025kscmjv44c1v5w";
+       version = "0.2.1.0";
+       sha256 = "132gmadrmkmrsy7mcsy0829sx46zyml9jniabycxa8cy89v22w09";
        libraryHaskellDepends = [
          array-builder array-chunks base bytebuild byteslice bytesmith
-         bytestring primitive run-st scientific-notation text-short
+         bytestring contiguous integer-gmp natural-arithmetic primitive
+         run-st scientific-notation text-short zigzag
        ];
        testHaskellDepends = [
          aeson array-chunks base bytebuild byteslice bytestring
-         neat-interpolation primitive scientific scientific-notation tasty
-         tasty-hunit text text-short unordered-containers vector
+         neat-interpolation primitive QuickCheck scientific
+         scientific-notation tasty tasty-golden tasty-hunit tasty-quickcheck
+         text text-short unordered-containers vector
        ];
        benchmarkHaskellDepends = [
          aeson base bytebuild byteslice bytestring gauge neat-interpolation
@@ -162090,8 +159811,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsonifier";
-       version = "0.1.1";
-       sha256 = "09w92adnjskx7cxyki415nqxdzqfz78rcqisk1g862r92907ibwf";
+       version = "0.2.0.1";
+       sha256 = "1i2qd8lingj9f35j6zzxfq0xlx115mdaxi1rwj8d5jzvlqczd24s";
        libraryHaskellDepends = [
          base bytestring ptr-poker scientific text
        ];
@@ -162103,27 +159824,6 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "jsonifier_0_2" = callPackage
-    ({ mkDerivation, aeson, base, buffer-builder, bytestring, gauge
-     , hedgehog, numeric-limits, ptr-poker, rerebase, scientific, text
-     , text-builder
-     }:
-     mkDerivation {
-       pname = "jsonifier";
-       version = "0.2";
-       sha256 = "1bxcm4kzsscgc2kh17arq5556yyzhjl8pqc8m5i5jcqbs9ia0jh5";
-       libraryHaskellDepends = [
-         base bytestring ptr-poker scientific text
-       ];
-       testHaskellDepends = [ aeson hedgehog numeric-limits rerebase ];
-       benchmarkHaskellDepends = [
-         aeson buffer-builder gauge rerebase text-builder
-       ];
-       description = "Fast and simple JSON encoding toolkit";
-       license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
   "jsonnet" = callPackage
     ({ mkDerivation, aeson, ansi-wl-pprint, base, binary, bytestring
      , containers, data-fix, deriving-compat, directory, exceptions
@@ -162169,27 +159869,6 @@ self: {
      }:
      mkDerivation {
        pname = "jsonpath";
-       version = "0.2.0.0";
-       sha256 = "1gabkpag3ivxnxmd519411qmly3bcdcsan7kfqclgd49bi1i5jvv";
-       libraryHaskellDepends = [
-         aeson attoparsec base text unordered-containers vector
-       ];
-       testHaskellDepends = [
-         aeson aeson-casing attoparsec base bytestring file-embed hspec
-         hspec-attoparsec text unordered-containers vector
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Library to parse and execute JSONPath";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "jsonpath_0_2_1_0" = callPackage
-    ({ mkDerivation, aeson, aeson-casing, attoparsec, base, bytestring
-     , file-embed, hspec, hspec-attoparsec, hspec-discover, text
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "jsonpath";
        version = "0.2.1.0";
        sha256 = "1d9h6j0xzrpxc56wym9b0sdanpw1v2rcx1sdm49h6iriwwmckb10";
        libraryHaskellDepends = [
@@ -162202,7 +159881,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Library to parse and execute JSONPath";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "jsonresume" = callPackage
@@ -162257,6 +159935,8 @@ self: {
        ];
        description = "Tiny JSON-RPC client for Haskell Web3 library";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "jsons-to-schema" = callPackage
@@ -162402,6 +160082,8 @@ self: {
        testToolDepends = [ tasty-discover ];
        description = "Cherry picking in JSON objects";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "jspath" = callPackage
@@ -162520,6 +160202,8 @@ self: {
        ];
        description = "SVG to G-Code converter";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "jukebox" = callPackage
@@ -162625,6 +160309,8 @@ self: {
        ];
        description = "Keyed container types with type-checked proofs of key presence";
        license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "jvm" = callPackage
@@ -162761,32 +160447,6 @@ self: {
 
   "jwt" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, cryptonite
-     , doctest, http-types, HUnit, lens, lens-aeson, memory, network-uri
-     , QuickCheck, scientific, semigroups, tasty, tasty-hunit
-     , tasty-quickcheck, tasty-th, text, time, unordered-containers
-     , vector, x509, x509-store
-     }:
-     mkDerivation {
-       pname = "jwt";
-       version = "0.10.1";
-       sha256 = "02nymdz8yrvq4vw41ah5qmb4rn01xf300d7vz18j4nif55viag4z";
-       libraryHaskellDepends = [
-         aeson base bytestring containers cryptonite http-types memory
-         network-uri scientific semigroups text time unordered-containers
-         vector x509 x509-store
-       ];
-       testHaskellDepends = [
-         aeson base bytestring containers cryptonite doctest http-types
-         HUnit lens lens-aeson memory network-uri QuickCheck scientific
-         semigroups tasty tasty-hunit tasty-quickcheck tasty-th text time
-         unordered-containers vector x509 x509-store
-       ];
-       description = "JSON Web Token (JWT) decoding and encoding";
-       license = lib.licenses.mit;
-     }) {};
-
-  "jwt_0_11_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, cryptonite
      , cryptostore, doctest, http-types, HUnit, lens, lens-aeson, memory
      , network-uri, QuickCheck, scientific, semigroups, tasty
      , tasty-hunit, tasty-quickcheck, tasty-th, text, time
@@ -162811,7 +160471,6 @@ self: {
        ];
        description = "JSON Web Token (JWT) decoding and encoding";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "kademlia" = callPackage
@@ -163073,32 +160732,6 @@ self: {
      }) {};
 
   "kanji" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, containers, criterion
-     , deepseq, hashable, HUnit-approx, microlens, microlens-aeson
-     , optparse-applicative, tasty, tasty-hunit, text, transformers
-     }:
-     mkDerivation {
-       pname = "kanji";
-       version = "3.4.1";
-       sha256 = "1pgzmwn738yl2ac7al0fzr8cabp8gh1qzbhhi0ylxy4x6s90ll2r";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base containers deepseq hashable text
-       ];
-       executableHaskellDepends = [
-         aeson aeson-pretty base containers microlens microlens-aeson
-         optparse-applicative text transformers
-       ];
-       testHaskellDepends = [
-         aeson base containers HUnit-approx tasty tasty-hunit text
-       ];
-       benchmarkHaskellDepends = [ aeson base containers criterion text ];
-       description = "Perform 漢字検定 (Japan Kanji Aptitude Test) level analysis on Japanese Kanji";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "kanji_3_5_0" = callPackage
     ({ mkDerivation, aeson, base, containers, criterion, deepseq
      , hashable, HUnit-approx, tasty, tasty-hunit, text
      }:
@@ -163115,7 +160748,6 @@ self: {
        benchmarkHaskellDepends = [ aeson base containers criterion text ];
        description = "Perform 漢字検定 (Japan Kanji Aptitude Test) level analysis on Japanese Kanji";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "kansas-comet" = callPackage
@@ -163126,8 +160758,8 @@ self: {
        pname = "kansas-comet";
        version = "0.4.1";
        sha256 = "1j54rsqna8xrw1si8i74v0c9k4jjv8a2q001aa8sx4rxb7d1qbzy";
-       revision = "1";
-       editedCabalFile = "12mg3hb54x680mzyp39bdbhfpjfav531ap02gvsr4k46jvfg0i2p";
+       revision = "2";
+       editedCabalFile = "19gnng378z76zfi789ysdh1cl50ydsk7745mf6a34d08flk6a9if";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base containers data-default-class scotty stm text time
@@ -163279,7 +160911,6 @@ self: {
        description = "Haskell bindings for Spark Dataframes and Datasets";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "karver" = callPackage
@@ -163357,6 +160988,8 @@ self: {
        ];
        description = "Datadog scribe for the Katip logging framework";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "katip-elasticsearch" = callPackage
@@ -163446,6 +161079,8 @@ self: {
        ];
        description = "Logz.IO scribe for the Katip logging framework";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "katip-raven" = callPackage
@@ -163463,7 +161098,6 @@ self: {
        description = "Katip scribe for raven (https://sentry.io)";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "katip-rollbar" = callPackage
@@ -163692,8 +161326,6 @@ self: {
        ];
        description = "Fast concurrent queues much inspired by unagi-chan";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "kbq-gu" = callPackage
@@ -163799,6 +161431,8 @@ 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
@@ -163854,6 +161488,7 @@ self: {
        testHaskellDepends = [ base ];
        description = "Initial project template from stack";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "keep-alive" = callPackage
@@ -164013,6 +161648,7 @@ self: {
        ];
        description = "Haskell on Gtk rails - Gtk-based View for MVC applications";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "keera-hails-reactive-cbmvar" = callPackage
@@ -164225,8 +161861,8 @@ self: {
      }:
      mkDerivation {
        pname = "keid-core";
-       version = "0.1.5.1";
-       sha256 = "09b9zjfsk03xrp34b8z7a48ym1vyhqjwpfv7hdkn3nr3pkgljkf1";
+       version = "0.1.6.0";
+       sha256 = "1aa46qwniq9j14axqhijf1zx1v8kay55f1mawvnfcry85jf0iqhm";
        libraryHaskellDepends = [
          adjunctions base binary bytestring cryptohash-md5 derive-storable
          derive-storable-plugin distributive file-embed foldl geomancy
@@ -164237,7 +161873,12 @@ self: {
        ];
        description = "Core parts of Keid engine";
        license = lib.licenses.bsd3;
+       platforms = [
+         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
+         "x86_64-linux"
+       ];
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "keid-geometry" = callPackage
@@ -164253,6 +161894,10 @@ self: {
        ];
        description = "Geometry primitives for Keid engine";
        license = lib.licenses.bsd3;
+       platforms = [
+         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
+         "x86_64-linux"
+       ];
        hydraPlatforms = lib.platforms.none;
      }) {};
 
@@ -164264,8 +161909,8 @@ self: {
      }:
      mkDerivation {
        pname = "keid-render-basic";
-       version = "0.1.5.0";
-       sha256 = "0ral2p8i7kjxhil70q2fkirbl0nq3kfrvqzk3x2ykbmx91c90ds0";
+       version = "0.1.6.0";
+       sha256 = "1dqrx8kvm0hkm0xwgkpihs6bkzgl24rm4jw0kb7ld9j4c8j5gllm";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          adjunctions aeson base bytestring derive-storable
@@ -164275,6 +161920,10 @@ self: {
        ];
        description = "Basic rendering programs for Keid engine";
        license = lib.licenses.bsd3;
+       platforms = [
+         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
+         "x86_64-linux"
+       ];
        hydraPlatforms = lib.platforms.none;
      }) {};
 
@@ -164309,6 +161958,10 @@ self: {
        ];
        description = "OpenAL sound system for Keid engine";
        license = lib.licenses.bsd3;
+       platforms = [
+         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
+         "x86_64-linux"
+       ];
        hydraPlatforms = lib.platforms.none;
      }) {};
 
@@ -164327,6 +161980,10 @@ self: {
        ];
        description = "DearImGui elements for Keid engine";
        license = lib.licenses.bsd3;
+       platforms = [
+         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
+         "x86_64-linux"
+       ];
        hydraPlatforms = lib.platforms.none;
      }) {};
 
@@ -164361,8 +162018,8 @@ self: {
      }:
      mkDerivation {
        pname = "kempe";
-       version = "0.2.0.11";
-       sha256 = "1w8gkw64f68xalcags3lqaa07jcmh1y5z43c64xprqplgnh5fs98";
+       version = "0.2.0.12";
+       sha256 = "0ijxc5sc2caxfcdi737q4f6b14xwjpi1f3if3lmwc09mz3y98bs1";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -164432,6 +162089,8 @@ self: {
        ];
        description = "Haskell implementation of nix-hash";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "keter" = callPackage
@@ -164447,8 +162106,8 @@ self: {
      }:
      mkDerivation {
        pname = "keter";
-       version = "1.6";
-       sha256 = "1adqib4zk0a32hi3i0cxf3z0ljx12hymzxh5mag6sr0mx64qcsr1";
+       version = "1.8.1";
+       sha256 = "0lnjvbfiz5w37ylvqmlgxqnd5p0akq4nl59gagdbc2w06gj0an4d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -164467,8 +162126,6 @@ self: {
        ];
        description = "Web application deployment manager, focusing on Haskell web frameworks";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "kevin" = callPackage
@@ -164506,6 +162163,8 @@ self: {
        testHaskellDepends = [ array base containers HUnit split ];
        description = "CLI and library to generate QR codes";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "key" = callPackage
@@ -164566,6 +162225,8 @@ self: {
        ];
        executableHaskellDepends = [ base hslogger ];
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "keycode" = callPackage
@@ -164619,7 +162280,6 @@ self: {
        description = "Keyring access";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "keys" = callPackage
@@ -164701,6 +162361,7 @@ self: {
        ];
        description = "Managing stores of secret things";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "keyvaluehash" = callPackage
@@ -164896,8 +162557,10 @@ self: {
      }:
      mkDerivation {
        pname = "kind-generics-th";
-       version = "0.2.2.2";
-       sha256 = "1lgz7wvz5jvq65r7zmymcfx3hwskw2b45a3vfwj0pgnddpjmh9n4";
+       version = "0.2.2.3";
+       sha256 = "06zhjaaakml1p3crjx26nmydbnrscxvwgyqy3w4083caysxw1vsj";
+       revision = "1";
+       editedCabalFile = "1drkj6b618yzgacbm5b100znm63r7ivzlxhpzhymkc8dqcacr7mq";
        libraryHaskellDepends = [
          base ghc-prim kind-generics template-haskell th-abstraction
        ];
@@ -164957,7 +162620,6 @@ self: {
        ];
        description = "Kleene algebra";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "kleene-list" = callPackage
@@ -164975,6 +162637,8 @@ self: {
        ];
        description = "A list type based on the Kleene star and plus";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "kmeans" = callPackage
@@ -165171,8 +162835,8 @@ self: {
     ({ mkDerivation, base, bytestring, transformers }:
      mkDerivation {
        pname = "knob";
-       version = "0.1.1";
-       sha256 = "05qj7s04p5pbasivyxc06l0jbii250zjnvb3l1y2sfhglb7q8b4c";
+       version = "0.2";
+       sha256 = "1p48kgy5kw1g2grx71q55lh821l2fvm2izjh68qba3268pvx06vh";
        libraryHaskellDepends = [ base bytestring transformers ];
        description = "Memory-backed handles";
        license = lib.licenses.mit;
@@ -165195,6 +162859,7 @@ self: {
        description = "Khovanov homology computations";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "koellner-phonetic" = callPackage
@@ -165242,24 +162907,24 @@ self: {
        description = "CLI tool for installing rpms directly from Fedora Koji";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "koji-tool" = callPackage
-    ({ mkDerivation, base, directory, extra, filepath, format-numbers
-     , Glob, http-directory, koji, pretty-simple, rpm-nvr, simple-cmd
-     , simple-cmd-args, text, time, xdg-userdirs
+    ({ mkDerivation, base, directory, extra, filepath, formatting, Glob
+     , http-conduit, http-directory, koji, pretty-simple, rpm-nvr
+     , simple-cmd, simple-cmd-args, text, time, utf8-string
+     , xdg-userdirs
      }:
      mkDerivation {
        pname = "koji-tool";
-       version = "0.7";
-       sha256 = "1gyg76fajs7qc7mr86i0hiz5m4a0y2lqmqk67cb0glgbg53z47b7";
+       version = "0.8.2";
+       sha256 = "0hhpw8v09alicymbndl6lpflasmzchrf8zg1l4gqd8j9sj2rrzqg";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base directory extra filepath format-numbers Glob http-directory
-         koji pretty-simple rpm-nvr simple-cmd simple-cmd-args text time
-         xdg-userdirs
+         base directory extra filepath formatting Glob http-conduit
+         http-directory koji pretty-simple rpm-nvr simple-cmd
+         simple-cmd-args text time utf8-string xdg-userdirs
        ];
        testHaskellDepends = [ base simple-cmd ];
        description = "Koji CLI tool for querying tasks and installing builds";
@@ -165352,6 +163017,8 @@ self: {
        ];
        description = "Client to Koofr API";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "korea-holidays" = callPackage
@@ -165371,6 +163038,8 @@ self: {
        ];
        description = "Korea Holidays";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "korfu" = callPackage
@@ -165403,8 +163072,6 @@ self: {
        doHaddock = false;
        description = "Extracts values from /proc/cmdline";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "kqueue" = callPackage
@@ -165468,6 +163135,8 @@ self: {
        ];
        description = "Krank checks issue tracker link status in your source code";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "krapsh" = callPackage
@@ -165494,7 +163163,6 @@ self: {
        description = "Haskell bindings for Spark Dataframes and Datasets";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "krpc" = callPackage
@@ -165573,8 +163241,6 @@ self: {
        ];
        description = "Khronos texture format";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "kubernetes-client" = callPackage
@@ -165611,7 +163277,6 @@ self: {
        description = "Client library for Kubernetes";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "kubernetes-client-core" = callPackage
@@ -165639,6 +163304,8 @@ self: {
        ];
        description = "Auto-generated kubernetes-client-core API Client";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "kubernetes-webhook-haskell" = callPackage
@@ -165655,6 +163322,8 @@ self: {
        ];
        description = "Create Kubernetes Admission Webhooks in Haskell";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "kuifje" = callPackage
@@ -165693,7 +163362,6 @@ self: {
        description = "Generator for Boilerplate KURE Combinators";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "kurita" = callPackage
@@ -165747,6 +163415,7 @@ self: {
        ];
        description = "Key/Value Indexed Table container and formatting library";
        license = lib.licenses.isc;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "kyotocabinet" = callPackage
@@ -165929,25 +163598,14 @@ self: {
     ({ mkDerivation, base, hspec, servant, servant-foreign, text }:
      mkDerivation {
        pname = "lackey";
-       version = "1.0.16";
-       sha256 = "0m9mx71gg68mb7i7a1zhxvij196k4icq4wknznx33395k0dzki80";
-       libraryHaskellDepends = [ base servant servant-foreign text ];
-       testHaskellDepends = [ base hspec servant servant-foreign text ];
-       description = "Generate Ruby clients from Servant APIs";
-       license = lib.licenses.mit;
-     }) {};
-
-  "lackey_2_0_0_0" = callPackage
-    ({ mkDerivation, base, hspec, servant, servant-foreign, text }:
-     mkDerivation {
-       pname = "lackey";
-       version = "2.0.0.0";
-       sha256 = "06ad35nmppblqb7400563l5qk3zna6l3kasp5ng0iacgmqzmvcrv";
+       version = "2.0.0.1";
+       sha256 = "09jc3amsj20c2bqn8x4ibcd43rzjv7mz2c2qs4rdic2ggfkhifcj";
        libraryHaskellDepends = [ base servant-foreign text ];
        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
@@ -166092,6 +163750,8 @@ self: {
        testHaskellDepends = [ base hspec tasty tasty-hspec text ];
        description = "Haskell implementation of (some of) lambda cube calculi";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "lambda-devs" = callPackage
@@ -166161,6 +163821,8 @@ self: {
        ];
        description = "Boltzmann sampler utilities for lambda calculus";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "lambda-toolbox" = callPackage
@@ -166274,6 +163936,8 @@ self: {
        pname = "lambdabot-core";
        version = "5.3.0.2";
        sha256 = "1i375kiw98j5gd4pixh59lcqk0lakwmrgxzpkr0431a48kxffq7r";
+       revision = "1";
+       editedCabalFile = "1kydr2sis2r7vr313n6cy5rh2bpnci7zfmrbmxd6ih67f0x8aa3q";
        libraryHaskellDepends = [
          base binary bytestring containers dependent-map dependent-sum
          dependent-sum-template directory edit-distance exceptions filepath
@@ -166766,7 +164430,6 @@ self: {
        description = "Lambdabot running as a twitter bot. Similar to the @fsibot f# bot.";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "lambdaya-bus" = callPackage
@@ -167019,10 +164682,8 @@ self: {
      }:
      mkDerivation {
        pname = "language-c";
-       version = "0.9.0.1";
-       sha256 = "01yj353n85qcv9zvaf19f1260rip26h6gxqahplkx9fy7ybbnk6l";
-       revision = "1";
-       editedCabalFile = "0wvrvfphz5r2yqxgxfn0ki9vmqhxh49qx41xdidmibp5i826c2mn";
+       version = "0.9.0.2";
+       sha256 = "1iyrhr87vmgmnkzza35j1y3zck8529kwi01pnkl5b54x10z20spf";
        libraryHaskellDepends = [
          array base bytestring containers deepseq directory filepath mtl
          pretty process
@@ -167253,8 +164914,8 @@ self: {
      }:
      mkDerivation {
        pname = "language-docker";
-       version = "10.0.2";
-       sha256 = "0x8lwc28j2f4rdk1yfhb4jkkrlvvhj46m0d42yv2f94y6v8adkr8";
+       version = "10.4.3";
+       sha256 = "0s3grrz3n0fvxh7qn4gfaw1m194zd2s4zjqhzar8kr783yw3rr1k";
        libraryHaskellDepends = [
          base bytestring containers data-default-class megaparsec
          prettyprinter split text time
@@ -167268,29 +164929,6 @@ self: {
        license = lib.licenses.gpl3Only;
      }) {};
 
-  "language-docker_10_4_0" = callPackage
-    ({ mkDerivation, base, bytestring, containers, data-default-class
-     , hspec, hspec-megaparsec, HUnit, megaparsec, prettyprinter
-     , QuickCheck, split, text, time
-     }:
-     mkDerivation {
-       pname = "language-docker";
-       version = "10.4.0";
-       sha256 = "04qn8a0jaxcaircl8ib9p5m45xiay33i4i0gdpgk2qdidac9m2al";
-       libraryHaskellDepends = [
-         base bytestring containers data-default-class megaparsec
-         prettyprinter split text time
-       ];
-       testHaskellDepends = [
-         base bytestring containers data-default-class hspec
-         hspec-megaparsec HUnit megaparsec prettyprinter QuickCheck split
-         text time
-       ];
-       description = "Dockerfile parser, pretty-printer and embedded DSL";
-       license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
   "language-dockerfile" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, filepath, free
      , Glob, hspec, HUnit, mtl, parsec, pretty, process, QuickCheck
@@ -167359,6 +164997,8 @@ self: {
        ];
        description = "JavaScript parser and pretty-printer library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "language-ecmascript-analysis" = callPackage
@@ -167374,6 +165014,7 @@ self: {
        ];
        description = "JavaScript static analysis library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "language-eiffel" = callPackage
@@ -167451,6 +165092,8 @@ self: {
        libraryHaskellDepends = [ base text ];
        description = "Datatypes and parsing/printing functions to represent the Gemini markup language";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "language-glsl" = callPackage
@@ -167967,7 +165610,6 @@ self: {
        description = "Tools to parse and evaluate the Puppet DSL";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "language-python" = callPackage
@@ -168215,6 +165857,25 @@ self: {
        broken = true;
      }) {};
 
+  "language-toolkit" = callPackage
+    ({ mkDerivation, base, containers, deepseq, directory, filepath
+     , haskeline, parallel, process, transformers
+     }:
+     mkDerivation {
+       pname = "language-toolkit";
+       version = "1.0.1.0";
+       sha256 = "0wkx4sbzirfi07hsmafzliwri40amq3m1ry6lmwd2sjpbgrbd81g";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base containers deepseq parallel ];
+       executableHaskellDepends = [
+         base containers deepseq directory filepath haskeline parallel
+         process transformers
+       ];
+       description = "A set of tools for analyzing languages via logic and automata";
+       license = lib.licenses.mit;
+     }) {};
+
   "language-typescript" = callPackage
     ({ mkDerivation, base, containers, parsec, pretty }:
      mkDerivation {
@@ -168237,8 +165898,6 @@ self: {
        libraryHaskellDepends = [ base pretty ];
        description = "VHDL AST and pretty printer in Haskell";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "language-webidl" = callPackage
@@ -168270,37 +165929,6 @@ self: {
 
   "lapack" = callPackage
     ({ mkDerivation, base, blas-ffi, blaze-html, boxes, ChasingBottoms
-     , comfort-array, data-ref, deepseq, doctest-exitcode-stdio
-     , fixed-length, guarded-allocation, hyper, lapack-ffi, lazyio
-     , monoid-transformer, netlib-ffi, non-empty, QuickCheck
-     , quickcheck-transformer, random, semigroups, text, tfp
-     , transformers, unique-logic-tf, utility-ht
-     }:
-     mkDerivation {
-       pname = "lapack";
-       version = "0.3.2";
-       sha256 = "12h9k8hx3qpfa3ma24glngpk1x9m8h17qzv86sfq54br19ikz5y0";
-       revision = "2";
-       editedCabalFile = "13hjcwcpwsgmyj95ddys5ivd7xs7fzlbggx0cyffp79wvm0l81q8";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base blas-ffi blaze-html boxes comfort-array deepseq fixed-length
-         guarded-allocation hyper lapack-ffi lazyio netlib-ffi non-empty
-         semigroups text tfp transformers utility-ht
-       ];
-       testHaskellDepends = [
-         base ChasingBottoms comfort-array data-ref doctest-exitcode-stdio
-         monoid-transformer netlib-ffi non-empty QuickCheck
-         quickcheck-transformer random semigroups tfp transformers
-         unique-logic-tf utility-ht
-       ];
-       description = "Numerical Linear Algebra using LAPACK";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "lapack_0_5" = callPackage
-    ({ mkDerivation, base, blas-ffi, blaze-html, boxes, ChasingBottoms
      , comfort-array, comfort-array-shape, data-ref, deepseq
      , doctest-exitcode-stdio, fixed-length, guarded-allocation, hyper
      , lapack-ffi, lazyio, monoid-transformer, netlib-ffi, non-empty
@@ -168327,7 +165955,6 @@ self: {
        ];
        description = "Numerical Linear Algebra using LAPACK";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "lapack-carray" = callPackage
@@ -168410,8 +166037,26 @@ self: {
        ];
        description = "Conversion of objects between 'lapack' and 'hmatrix'";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
+     }) {};
+
+  "large-generics" = callPackage
+    ({ mkDerivation, aeson, base, generic-deriving, generics-sop
+     , microlens, mtl, QuickCheck, sop-core, tasty, tasty-hunit
+     , tasty-quickcheck, vector
+     }:
+     mkDerivation {
+       pname = "large-generics";
+       version = "0.1.0.0";
+       sha256 = "0i80pzxi7nrk5m0lxhqavw9glhrr5l69g958zyc998rskqyi0mjw";
+       libraryHaskellDepends = [
+         aeson base generics-sop sop-core vector
+       ];
+       testHaskellDepends = [
+         aeson base generic-deriving generics-sop microlens mtl QuickCheck
+         sop-core tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "Generic programming API for large-records and large-anon";
+       license = lib.licenses.bsd3;
      }) {};
 
   "large-hashable" = callPackage
@@ -168450,31 +166095,24 @@ self: {
      }) {};
 
   "large-records" = callPackage
-    ({ mkDerivation, aeson, base, containers, generic-deriving
-     , generics-sop, ghc-dump-core, haskell-src-exts, haskell-src-meta
-     , json-sop, microlens, mtl, newtype, QuickCheck
-     , record-dot-preprocessor, record-hasfield, sop-core, syb, tasty
-     , tasty-hunit, tasty-quickcheck, template-haskell, text
+    ({ mkDerivation, base, containers, generic-deriving, ghc
+     , large-generics, mtl, newtype, record-dot-preprocessor
+     , record-hasfield, syb, tasty, tasty-hunit, template-haskell
      , transformers, vector
      }:
      mkDerivation {
        pname = "large-records";
-       version = "0.1.0.0";
-       sha256 = "1l4j7vb3lckqn1cvyvcg6g3bnvi8x69nsjmkmmi7666025bxfw61";
-       revision = "1";
-       editedCabalFile = "1j89aypcp97vwb7qyg4n2ffilsp064z1w7kck1wh2rp69wk5r51n";
+       version = "0.2.0.0";
+       sha256 = "0vgdrs12xg2d917z24x7i61xv41m1bdkb7vj136l0vf03av65ffm";
        libraryHaskellDepends = [
-         aeson base containers generics-sop haskell-src-exts
-         haskell-src-meta microlens mtl record-hasfield sop-core syb
-         template-haskell text vector
+         base containers ghc large-generics mtl record-hasfield syb
+         template-haskell transformers vector
        ];
        testHaskellDepends = [
-         aeson base generic-deriving generics-sop ghc-dump-core json-sop
-         microlens mtl newtype QuickCheck record-dot-preprocessor
-         record-hasfield sop-core tasty tasty-hunit tasty-quickcheck
-         template-haskell transformers vector
+         base generic-deriving large-generics mtl newtype
+         record-dot-preprocessor record-hasfield tasty tasty-hunit
+         template-haskell transformers
        ];
-       testToolDepends = [ record-dot-preprocessor ];
        description = "Efficient compilation for large records, linear in the size of the record";
        license = lib.licenses.bsd3;
      }) {};
@@ -168545,7 +166183,6 @@ self: {
        description = "Find the latest version of a package on npm";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "latex" = callPackage
@@ -168713,34 +166350,8 @@ self: {
      }) {};
 
   "lattices" = callPackage
-    ({ mkDerivation, base, base-compat, containers, deepseq, hashable
-     , integer-logarithms, QuickCheck, quickcheck-instances
-     , semigroupoids, tagged, tasty, tasty-quickcheck, transformers
-     , universe-base, universe-reverse-instances, unordered-containers
-     }:
-     mkDerivation {
-       pname = "lattices";
-       version = "2.0.2";
-       sha256 = "108rhpax72j6xdl0yqdmg7n32l1j805861f3q9wd3jh8nc67avix";
-       revision = "4";
-       editedCabalFile = "1kqxhrbj0kd9l4fn7qryg9a2k7ad4f7mj4nsaz6lxa90lvi3ynj7";
-       libraryHaskellDepends = [
-         base base-compat containers deepseq hashable integer-logarithms
-         QuickCheck semigroupoids tagged transformers universe-base
-         universe-reverse-instances unordered-containers
-       ];
-       testHaskellDepends = [
-         base base-compat containers QuickCheck quickcheck-instances tasty
-         tasty-quickcheck transformers universe-base
-         universe-reverse-instances unordered-containers
-       ];
-       description = "Fine-grained library for constructing and manipulating lattices";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "lattices_2_0_3" = callPackage
-    ({ mkDerivation, base, base-compat, containers, deepseq, hashable
-     , integer-logarithms, OneTuple, QuickCheck, quickcheck-instances
+    ({ mkDerivation, base, base-compat, containers, deepseq, ghc-prim
+     , hashable, integer-logarithms, QuickCheck, quickcheck-instances
      , semigroupoids, tagged, tasty, tasty-quickcheck, transformers
      , universe-base, universe-reverse-instances, unordered-containers
      }:
@@ -168751,9 +166362,9 @@ self: {
        revision = "2";
        editedCabalFile = "0dnfpgvrq7qkza4k82siayy0rpwj0gcdd2nybzp0m25dq7lign3r";
        libraryHaskellDepends = [
-         base base-compat containers deepseq hashable integer-logarithms
-         OneTuple QuickCheck semigroupoids tagged transformers universe-base
-         universe-reverse-instances unordered-containers
+         base base-compat containers deepseq ghc-prim hashable
+         integer-logarithms QuickCheck semigroupoids tagged transformers
+         universe-base universe-reverse-instances unordered-containers
        ];
        testHaskellDepends = [
          base base-compat containers QuickCheck quickcheck-instances tasty
@@ -168762,7 +166373,6 @@ self: {
        ];
        description = "Fine-grained library for constructing and manipulating lattices";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "launchdarkly-server-sdk" = callPackage
@@ -168795,6 +166405,8 @@ self: {
        ];
        description = "Server-side SDK for integrating with LaunchDarkly";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "launchpad-control" = callPackage
@@ -168982,12 +166594,15 @@ self: {
      }) {};
 
   "lazify" = callPackage
-    ({ mkDerivation, base, containers, tagged, transformers }:
+    ({ mkDerivation, base, containers, ghc-prim, tagged, transformers
+     }:
      mkDerivation {
        pname = "lazify";
        version = "0.1.0.1";
        sha256 = "14ar766spifs3acdki8namldgy77fjjd2gxli16k08gnl65bpk1y";
-       libraryHaskellDepends = [ base containers tagged transformers ];
+       libraryHaskellDepends = [
+         base containers ghc-prim tagged transformers
+       ];
        testHaskellDepends = [ base ];
        description = "A simple utility for lazy record matching";
        license = lib.licenses.bsd3;
@@ -169015,6 +166630,8 @@ self: {
        pname = "lazy-async";
        version = "1.0.0.1";
        sha256 = "1nw24hfpw0wd099lxjsi1iqssbb7yw6isilkv4a68agv2q1ranvk";
+       revision = "1";
+       editedCabalFile = "1rp4ym19rz1z60awfdxyl80abmpmyjhw6s0rb40j1cmrahpvf6hz";
        libraryHaskellDepends = [
          base exceptions lifted-async monad-control rank2classes stm
          transformers transformers-base
@@ -169509,8 +167126,8 @@ self: {
     ({ mkDerivation, base, bytestring, text }:
      mkDerivation {
        pname = "leanpub-concepts";
-       version = "1.1.0.1";
-       sha256 = "0ip2kkkkbjf95h9dk9h4c21jz5ygpl1r1rsjdm47dmbvwih6v14c";
+       version = "1.1.0.2";
+       sha256 = "0xlnpn48zsm5pgjghj6cnfvfzaq6mkrph23b0l8zf66wvw8gbvc0";
        libraryHaskellDepends = [ base bytestring text ];
        description = "Types for the Leanpub API";
        license = lib.licenses.mit;
@@ -169523,10 +167140,8 @@ self: {
      }:
      mkDerivation {
        pname = "leanpub-wreq";
-       version = "1.1.0.2";
-       sha256 = "1d1lj4ppvir8s2pv0zcsnadhns30h2axzppf6pkgbcnyis75an1h";
-       revision = "1";
-       editedCabalFile = "0zmwi2sfxv29rj28lri4xky0rbz8xky7jnwmbsynqckzn767a2k9";
+       version = "1.1.0.4";
+       sha256 = "0p9wyj3dsm8mif9wfg9m9gwdnisg19gvjxmrkkrk0ymrjpvgq5ha";
        libraryHaskellDepends = [
          aeson base bytestring exceptions leanpub-concepts mwc-random text
          time transformers unordered-containers wreq
@@ -169627,6 +167242,8 @@ self: {
        ];
        description = "Yet another library for hidden Markov models";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "leb128" = callPackage
@@ -169648,8 +167265,6 @@ self: {
        benchmarkHaskellDepends = [ base bytestring criterion deepseq ];
        description = "LEB128 encoding logic for and in Haskell";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "leb128-binary" = callPackage
@@ -169899,37 +167514,36 @@ self: {
      }) {};
 
   "lens" = callPackage
-    ({ mkDerivation, array, base, base-compat, base-orphans, bifunctors
-     , bytestring, Cabal, cabal-doctest, call-stack, comonad, containers
-     , contravariant, criterion, deepseq, directory, distributive
-     , doctest, exceptions, filepath, free, generic-deriving, ghc-prim
-     , hashable, HUnit, kan-extensions, mtl, nats, parallel, profunctors
-     , QuickCheck, reflection, semigroupoids, semigroups, simple-reflect
-     , tagged, template-haskell, test-framework, test-framework-hunit
-     , test-framework-quickcheck2, text, th-abstraction, transformers
-     , transformers-compat, unordered-containers, vector
+    ({ mkDerivation, array, assoc, base, base-compat, base-orphans
+     , bifunctors, bytestring, call-stack, comonad, containers
+     , contravariant, criterion, deepseq, distributive, exceptions
+     , filepath, free, generic-deriving, ghc-prim, hashable, HUnit
+     , indexed-traversable, indexed-traversable-instances
+     , kan-extensions, mtl, parallel, profunctors, QuickCheck
+     , reflection, semigroupoids, simple-reflect, strict, tagged
+     , template-haskell, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, th-abstraction, these
+     , transformers, transformers-compat, unordered-containers, vector
      }:
      mkDerivation {
        pname = "lens";
-       version = "4.19.2";
-       sha256 = "0fy2vr5r11cc6ana8m2swqgs3zals4kims55vd6119bi76p5iy2j";
-       revision = "6";
-       editedCabalFile = "1k08my9rh1il3ibiyhljxkgndfgk143pn5a6nyzjnckw3la09myl";
-       setupHaskellDepends = [ base Cabal cabal-doctest filepath ];
+       version = "5.0.1";
+       sha256 = "0gzwx4b758phm51hz5i4bbkbvjw1ka7qj04zd9l9sh9n6s9ksm7c";
+       revision = "3";
+       editedCabalFile = "17qmk274b88k4ivhnkc6600djhh9d7pr4s1xhzi3ln2cspj5gvb3";
        libraryHaskellDepends = [
-         array base base-orphans bifunctors bytestring call-stack comonad
-         containers contravariant distributive exceptions filepath free
-         ghc-prim hashable kan-extensions mtl parallel profunctors
-         reflection semigroupoids tagged template-haskell text
-         th-abstraction transformers transformers-compat
+         array assoc base base-orphans bifunctors bytestring call-stack
+         comonad containers contravariant distributive exceptions filepath
+         free ghc-prim hashable indexed-traversable
+         indexed-traversable-instances kan-extensions mtl parallel
+         profunctors reflection semigroupoids strict tagged template-haskell
+         text th-abstraction these transformers transformers-compat
          unordered-containers vector
        ];
        testHaskellDepends = [
-         base bytestring containers deepseq directory doctest filepath
-         generic-deriving HUnit mtl nats parallel QuickCheck semigroups
-         simple-reflect test-framework test-framework-hunit
-         test-framework-quickcheck2 text transformers unordered-containers
-         vector
+         base containers deepseq HUnit mtl QuickCheck simple-reflect
+         test-framework test-framework-hunit test-framework-quickcheck2
+         transformers
        ];
        benchmarkHaskellDepends = [
          base base-compat bytestring comonad containers criterion deepseq
@@ -169989,6 +167603,7 @@ self: {
        libraryHaskellDepends = [ accelerate base lens ];
        description = "Instances to mix lens with Accelerate";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "lens-action" = callPackage
@@ -170025,6 +167640,23 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "lens-aeson_1_2" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, lens
+     , scientific, text, text-short, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "lens-aeson";
+       version = "1.2";
+       sha256 = "1hi0y3bn3xny7w2cjzxn9j5hmfg6l7kbsji5skbj32zfrqlhkkwi";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring lens scientific text text-short
+         unordered-containers vector
+       ];
+       description = "Law-abiding lenses for aeson";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "lens-core" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -170056,6 +167688,8 @@ self: {
        libraryHaskellDepends = [ base lens time ];
        description = "Lenses for Data.Time.* types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "lens-errors" = callPackage
@@ -170076,23 +167710,6 @@ self: {
      }:
      mkDerivation {
        pname = "lens-family";
-       version = "2.0.0";
-       sha256 = "1nq3dwkrjyqafbv4gvwwgz6ih8y4x9bks11jhljh43q3qnjz54v7";
-       revision = "1";
-       editedCabalFile = "1nf0zxhwqkg54mc3kimnqcvg9b732rn35r1rjs1fzf0vwssla3zw";
-       libraryHaskellDepends = [
-         base containers lens-family-core mtl transformers
-       ];
-       description = "Lens Families";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "lens-family_2_1_1" = callPackage
-    ({ mkDerivation, base, containers, lens-family-core, mtl
-     , transformers
-     }:
-     mkDerivation {
-       pname = "lens-family";
        version = "2.1.1";
        sha256 = "1ra31r3y672nyqf7147kxws1qvksgics8pgd6fasyf1v0l3c798j";
        libraryHaskellDepends = [
@@ -170100,30 +167717,17 @@ self: {
        ];
        description = "Lens Families";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "lens-family-core" = callPackage
     ({ mkDerivation, base, containers, transformers }:
      mkDerivation {
        pname = "lens-family-core";
-       version = "2.0.0";
-       sha256 = "0ni6s873hy2h3b316835ssmlyr05yinb3a8jq5b01p9ppp9zrd0r";
-       libraryHaskellDepends = [ base containers transformers ];
-       description = "Haskell 2022 Lens Families";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "lens-family-core_2_1_0" = callPackage
-    ({ mkDerivation, base, containers, transformers }:
-     mkDerivation {
-       pname = "lens-family-core";
        version = "2.1.0";
        sha256 = "1jjzm2f4ixjwysyk8gybzpb98rlf2mmzn0nfg8qvhkf5gl87jv3v";
        libraryHaskellDepends = [ base containers transformers ];
        description = "Haskell 2022 Lens Families";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "lens-family-th" = callPackage
@@ -170386,7 +167990,6 @@ self: {
        description = "Lenses for toml-parser";
        license = lib.licenses.isc;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "lens-tutorial" = callPackage
@@ -170446,6 +168049,8 @@ self: {
        testHaskellDepends = [ base lens xml ];
        description = "Lenses for the xml package";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "lenses" = callPackage
@@ -170459,6 +168064,8 @@ self: {
        libraryHaskellDepends = [ base mtl template-haskell ];
        description = "Simple Functional Lenses";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "lensref" = callPackage
@@ -170483,10 +168090,8 @@ self: {
      }:
      mkDerivation {
        pname = "lentil";
-       version = "1.5.3.2";
-       sha256 = "0knc3g5n6h0yzr0kpgmgk44kbwh200qafjdvwpca92n3s0wf76py";
-       revision = "2";
-       editedCabalFile = "0n5wklh6f33c9yzblxwbx3mx04fxdx7mmqp551z9xfy6nnwg8hrp";
+       version = "1.5.4.0";
+       sha256 = "0xfsf7g9r2w30qkp4829w77hsja562jvx4n9i880j9qngi2ms2h1";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -170519,6 +168124,7 @@ self: {
        ];
        description = "Van Laarhoven lenses";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "lenz-mtl" = callPackage
@@ -170536,6 +168142,7 @@ self: {
        ];
        description = "mtl operations with Van Laarhoven lenses";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "lenz-template" = callPackage
@@ -170553,6 +168160,7 @@ self: {
        ];
        description = "Van Laarhoven lens templates";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "less-arbitrary" = callPackage
@@ -170581,6 +168189,8 @@ self: {
        ];
        description = "Linear time testing with variant of Arbitrary class that always terminates";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "level-monad" = callPackage
@@ -170658,6 +168268,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Calculate the edit distance between two foldables";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "levmar" = callPackage
@@ -170670,6 +168282,7 @@ self: {
        description = "An implementation of the Levenberg-Marquardt algorithm";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "levmar-chart" = callPackage
@@ -171155,14 +168768,14 @@ self: {
        broken = true;
      }) {};
 
-  "libiserv_9_0_1" = callPackage
+  "libiserv_9_2_2" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, deepseq
      , ghci, unix
      }:
      mkDerivation {
        pname = "libiserv";
-       version = "9.0.1";
-       sha256 = "1f7q09xyxv0q9rjmr0a9f96am44rjsy0r5iy9b8lkrch67xfjd3v";
+       version = "9.2.2";
+       sha256 = "0c4hm42sqi134ig1rlhddljj601fd10y27m5az5bada0wjnia9jg";
        libraryHaskellDepends = [
          base binary bytestring containers deepseq ghci unix
        ];
@@ -171357,8 +168970,8 @@ self: {
     ({ mkDerivation, base, bytestring, data-default, modbus, vector }:
      mkDerivation {
        pname = "libmodbus";
-       version = "1.1.1";
-       sha256 = "192jgmih2fqv4kid8r9cy59914g94826rkcjr2a8339p0d3ddh8j";
+       version = "1.1.2";
+       sha256 = "1yd7wqnb78zqhlfg5byjkbyly33a9r7m1893d8c52wl244bmng3q";
        libraryHaskellDepends = [ base bytestring data-default vector ];
        librarySystemDepends = [ modbus ];
        description = "Haskell bindings to the C modbus library";
@@ -171440,8 +169053,6 @@ self: {
        ];
        description = "Bindings to the nix package manager";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "libnotify" = callPackage
@@ -171726,8 +169337,6 @@ self: {
        libraryToolDepends = [ c2hs ];
        description = "FFI bindings to libssh2 SSH2 client library (http://libssh2.org/)";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) libssh2;};
 
   "libssh2-conduit" = callPackage
@@ -171745,7 +169354,6 @@ self: {
        ];
        description = "Conduit wrappers for libssh2 FFI bindings (see libssh2 package)";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "libstackexchange" = callPackage
@@ -171807,6 +169415,8 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) systemd;};
 
   "libtagc" = callPackage
@@ -171989,8 +169599,6 @@ self: {
        ];
        description = "Low-level, streaming YAML interface via streamly";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "libzfs" = callPackage
@@ -172012,6 +169620,8 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {nvpair = null; inherit (pkgs) zfs;};
 
   "licensor" = callPackage
@@ -172031,6 +169641,8 @@ self: {
        executableHaskellDepends = [ base Cabal containers directory ];
        description = "A license compatibility helper";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "lie" = callPackage
@@ -172109,6 +169721,7 @@ self: {
        description = "Flexible manual resource management";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "lift-generics" = callPackage
@@ -172308,8 +169921,6 @@ self: {
        ];
        description = "LIFX LAN API";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ligature" = callPackage
@@ -172348,6 +169959,8 @@ self: {
        testHaskellDepends = [ base containers lens linear QuickCheck ];
        description = "a simple physics engine";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "lightning-haskell" = callPackage
@@ -172607,6 +170220,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Haskell SDK for LINE Messaging API";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "line-break" = callPackage
@@ -172674,35 +170289,6 @@ self: {
      }:
      mkDerivation {
        pname = "linear";
-       version = "1.21.6";
-       sha256 = "0ax6prmc7b53w0lz5ddc40wrjj9bm7wldpp57283gx9hdf8qrb35";
-       revision = "1";
-       editedCabalFile = "13pv3k0yayib0l6wq09bz54r44lxjhvvpc49sgnlc8p9959cs8q9";
-       libraryHaskellDepends = [
-         adjunctions base base-orphans binary bytes cereal containers
-         deepseq distributive ghc-prim hashable indexed-traversable lens
-         random reflection semigroupoids semigroups tagged template-haskell
-         transformers transformers-compat unordered-containers vector void
-       ];
-       testHaskellDepends = [
-         base binary bytestring deepseq HUnit reflection simple-reflect
-         test-framework test-framework-hunit vector
-       ];
-       description = "Linear Algebra";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "linear_1_21_8" = callPackage
-    ({ mkDerivation, adjunctions, base, base-orphans, binary, bytes
-     , bytestring, cereal, containers, deepseq, distributive, ghc-prim
-     , hashable, HUnit, indexed-traversable, lens, random, reflection
-     , semigroupoids, semigroups, simple-reflect, tagged
-     , template-haskell, test-framework, test-framework-hunit
-     , transformers, transformers-compat, unordered-containers, vector
-     , void
-     }:
-     mkDerivation {
-       pname = "linear";
        version = "1.21.8";
        sha256 = "0m2lr86l932rn2cnxaplaicfbg7makhrh8xbnj3m8jhhnyn3v88b";
        libraryHaskellDepends = [
@@ -172717,7 +170303,6 @@ self: {
        ];
        description = "Linear Algebra";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "linear-accelerate" = callPackage
@@ -172736,7 +170321,6 @@ self: {
        description = "Lifting linear vector spaces into Accelerate";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "linear-algebra-cblas" = callPackage
@@ -172785,8 +170369,6 @@ self: {
        ];
        description = "Standard library for linear types";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "linear-circuit" = callPackage
@@ -172796,27 +170378,6 @@ self: {
      }:
      mkDerivation {
        pname = "linear-circuit";
-       version = "0.1.0.2";
-       sha256 = "0cf2lq8p2yppns8qn732drky8ghhd4ri9zxv7nbvas10ha0p19lm";
-       libraryHaskellDepends = [
-         base comfort-array comfort-graph containers lapack netlib-ffi
-         transformers utility-ht
-       ];
-       testHaskellDepends = [
-         base comfort-graph containers non-empty QuickCheck transformers
-         utility-ht
-       ];
-       description = "Compute resistance of linear electrical circuits";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "linear-circuit_0_1_0_4" = callPackage
-    ({ mkDerivation, base, comfort-array, comfort-graph, containers
-     , lapack, netlib-ffi, non-empty, QuickCheck, transformers
-     , utility-ht
-     }:
-     mkDerivation {
-       pname = "linear-circuit";
        version = "0.1.0.4";
        sha256 = "0pyja29w1vrsi8vi65qdbc3c1vajiqgf5gff2zqh368k3hd4zpi4";
        libraryHaskellDepends = [
@@ -172829,7 +170390,6 @@ self: {
        ];
        description = "Compute resistance of linear electrical circuits";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "linear-code" = callPackage
@@ -172856,7 +170416,6 @@ self: {
        description = "A simple library for linear codes (coding theory, error correction)";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "linear-generics" = callPackage
@@ -172874,8 +170433,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Generic programming library for generalised deriving";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "linear-grammar" = callPackage
@@ -172933,8 +170490,6 @@ self: {
        testHaskellDepends = [ array base constraints ];
        description = "Build SMC morphisms using linear types";
        license = lib.licenses.lgpl3Plus;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "linear-socket" = callPackage
@@ -172947,6 +170502,8 @@ self: {
        testHaskellDepends = [ base hspec network tasty-hspec ];
        description = "Typed sockets";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "linear-tests" = callPackage
@@ -173105,8 +170662,8 @@ self: {
      }:
      mkDerivation {
        pname = "lingo";
-       version = "0.5.0.1";
-       sha256 = "0h57g6r2n9q8asx35prn8p5mn35qnp8cy2pdrrpmrvhq7islwd8s";
+       version = "0.5.0.3";
+       sha256 = "0814x20mx553rnn7djahv0la1a69rirv15flb0q6ls4m1wvb090c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -173119,6 +170676,8 @@ self: {
        testHaskellDepends = [ base hspec ];
        description = "File extension based programming language detection";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "linguistic-ordinals" = callPackage
@@ -173633,7 +171192,6 @@ self: {
        description = "LIO support for the Simple web framework";
        license = lib.licenses.lgpl3Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "lion" = callPackage
@@ -173694,18 +171252,14 @@ self: {
      }) {};
 
   "liquid-base" = callPackage
-    ({ mkDerivation, base, Cabal, integer-gmp, liquid-ghc-prim
-     , liquidhaskell
-     }:
+    ({ mkDerivation, base, Cabal, liquid-ghc-prim, liquidhaskell }:
      mkDerivation {
        pname = "liquid-base";
        version = "4.15.0.0";
        sha256 = "1f1lqdd65a3z0by0i3dr51hahcsq8s3vcc0xyxlvb5pp3vsz89vm";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal liquidhaskell ];
-       libraryHaskellDepends = [
-         base integer-gmp liquid-ghc-prim liquidhaskell
-       ];
+       libraryHaskellDepends = [ base liquid-ghc-prim liquidhaskell ];
        description = "Drop-in base replacement for LiquidHaskell";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -173744,39 +171298,6 @@ self: {
      }) {};
 
   "liquid-fixpoint" = callPackage
-    ({ mkDerivation, ansi-terminal, array, ascii-progress, async
-     , attoparsec, base, binary, boxes, cereal, cmdargs, containers
-     , deepseq, directory, fgl, filepath, git, hashable, intern, mtl
-     , nettools, parallel, parsec, pretty, process, stm, syb, tasty
-     , tasty-ant-xml, tasty-hunit, tasty-rerun, text, text-format
-     , transformers, unordered-containers, z3
-     }:
-     mkDerivation {
-       pname = "liquid-fixpoint";
-       version = "0.8.10.2";
-       sha256 = "1sdd88p5mz9xfqk9pbn138ixxdrq089iy5imskvhx66dwwrmrr8l";
-       configureFlags = [ "-fbuild-external" ];
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         ansi-terminal array ascii-progress async attoparsec base binary
-         boxes cereal cmdargs containers deepseq directory fgl filepath
-         hashable intern mtl parallel parsec pretty process syb text
-         text-format transformers unordered-containers
-       ];
-       executableHaskellDepends = [ base ];
-       testHaskellDepends = [
-         base containers directory filepath mtl process stm tasty
-         tasty-ant-xml tasty-hunit tasty-rerun transformers
-       ];
-       testSystemDepends = [ git nettools z3 ];
-       doCheck = false;
-       description = "Predicate Abstraction-based Horn-Clause/Implication Constraint Solver";
-       license = lib.licenses.bsd3;
-     }) {inherit (pkgs) git; inherit (pkgs) nettools; 
-         inherit (pkgs) z3;};
-
-  "liquid-fixpoint_8_10_7" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, array, ascii-progress, async
      , attoparsec, base, binary, boxes, bytestring, cereal, cmdargs
      , containers, deepseq, directory, fgl, filepath, git, hashable
@@ -173932,7 +171453,6 @@ self: {
        description = "Liquid Types for Haskell";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) z3;};
 
   "liquidhaskell-cabal" = callPackage
@@ -174116,23 +171636,11 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "list-singleton";
-       version = "1.0.0.5";
-       sha256 = "1vbhg04dral59b6f43xcykgi6war5mcflmczwcmqfhy7lgb86r3n";
-       libraryHaskellDepends = [ base ];
-       description = "Easily and clearly create lists with only one element in them";
-       license = lib.licenses.isc;
-     }) {};
-
-  "list-singleton_2_0_0_0" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "list-singleton";
        version = "2.0.0.0";
        sha256 = "1mv2567as9vsnrqp23dzb7rlvcmid484rk94nrrfl8za97i1s4c0";
        libraryHaskellDepends = [ base ];
        description = "Easily and clearly create lists with only one element in them";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "list-t" = callPackage
@@ -174302,6 +171810,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "List-like operations for tuples";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "list-witnesses" = callPackage
@@ -174404,11 +171913,13 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "lists-flines";
-       version = "0.1.1.0";
-       sha256 = "0srpivpf43xn0zj64phq90hkrchjih92sxx984c5zx9nrrcvyxwf";
+       version = "0.1.2.0";
+       sha256 = "0m33az0fkry1p0653g3kyxi0y7flmlpivi02a5iz7drslikz6xbd";
        libraryHaskellDepends = [ base ];
        description = "Additional data and structures to some 'String'-related lists";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "listsafe" = callPackage
@@ -174456,7 +171967,6 @@ self: {
        description = "Append only key-list database";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "lit" = callPackage
@@ -174500,32 +172010,10 @@ self: {
      }:
      mkDerivation {
        pname = "literatex";
-       version = "0.1.0.2";
-       sha256 = "1axj5a10vj9fkpc89yzb8i7aq23bmygnf3mwvbp63vcvwmfyx49h";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring conduit text ttc unliftio
-       ];
-       executableHaskellDepends = [
-         ansi-wl-pprint base optparse-applicative ttc
-       ];
-       testHaskellDepends = [
-         base bytestring filepath tasty tasty-hunit text ttc unliftio
-       ];
-       description = "transform literate source code to Markdown";
-       license = lib.licenses.mit;
-     }) {};
-
-  "literatex_0_2_0_2" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, base, bytestring, conduit
-     , filepath, optparse-applicative, tasty, tasty-hunit, text, ttc
-     , unliftio
-     }:
-     mkDerivation {
-       pname = "literatex";
        version = "0.2.0.2";
        sha256 = "1j82z5q6dzgi7b8si0fzxa3zv8rgqdhwm82sxh3wqsb6z1jfwk37";
+       revision = "1";
+       editedCabalFile = "091nqn5dsfr0hrsw92vs7n93p9h3j49q9v2n9ijcsb1cd6b473qf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -174539,7 +172027,6 @@ self: {
        ];
        description = "transform literate source code to Markdown";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "little-earley" = callPackage
@@ -174573,6 +172060,8 @@ self: {
        ];
        description = "Basic logging based on co-log";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "little-rio" = callPackage
@@ -174998,6 +172487,8 @@ self: {
        ];
        description = "General purpose LLVM bindings";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {llvm-config = null;};
 
   "llvm-hs-pretty" = callPackage
@@ -175018,6 +172509,7 @@ self: {
        ];
        description = "A pretty printer for LLVM IR";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "llvm-hs-pure" = callPackage
@@ -175203,6 +172695,8 @@ self: {
        ];
        description = "Higher level API for working with LMDB";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "lmdb-simple" = callPackage
@@ -175354,7 +172848,6 @@ self: {
        description = "Client-side load balancing utilities";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "load-env" = callPackage
@@ -175408,8 +172901,8 @@ self: {
        pname = "loc";
        version = "0.1.3.16";
        sha256 = "0bizqfczhc5higdzrrhinr5q3s971a3klfl3gpffnq9gyzd16nrq";
-       revision = "1";
-       editedCabalFile = "1j3xgxyfqby8nca2xs0x5lvvq1pyhadkzkgrwzlkckxvhghv231h";
+       revision = "2";
+       editedCabalFile = "18fwdgf8l6nrnijla1x5c50ab05snaza27qdkya07sis2fa8286c";
        libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [ base containers doctest hedgehog ];
        description = "Types representing line and column positions and ranges in text files";
@@ -175422,8 +172915,8 @@ self: {
        pname = "loc-test";
        version = "0.1.3.10";
        sha256 = "0mppiz4nv86mfdk43w83jx3wn8c6w7g9k3m3jhgmwlgqpcpdrryd";
-       revision = "1";
-       editedCabalFile = "0cv2w939gdz5n8mip3d6rp7zs2s28synll1k3pbgp9w42mcw52lw";
+       revision = "2";
+       editedCabalFile = "1l4pim5yazx1nprisggrckxs3b2ppww2rsqc2ykylf3pnqlc39vb";
        libraryHaskellDepends = [ base containers hedgehog loc ];
        description = "Test-related utilities related to the /loc/ package";
        license = lib.licenses.asl20;
@@ -175892,7 +173385,6 @@ self: {
        description = "A python logging style log library";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "logentries" = callPackage
@@ -176005,8 +173497,8 @@ self: {
      }:
      mkDerivation {
        pname = "logging-effect";
-       version = "1.3.12";
-       sha256 = "1bbh7aq3sbyya0w4p0qkkrryy7mpxw4s4cj2s6zvdsqq9fg2fpda";
+       version = "1.3.13";
+       sha256 = "109q5jh07n8h94jrfxc694b54c3dzn831a87l0i5ailz9cfvbmj4";
        libraryHaskellDepends = [
          async base exceptions free monad-control mtl prettyprinter
          semigroups stm stm-delay text time transformers transformers-base
@@ -176115,6 +173607,7 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "logging-facade-syslog" = callPackage
@@ -176441,7 +173934,6 @@ self: {
        description = "Calculus for LOL (λω language)";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "lol-cpp" = callPackage
@@ -176602,7 +174094,12 @@ self: {
        ];
        description = "Fast Brute-force search using parallelism";
        license = lib.licenses.mit;
+       platforms = [
+         "aarch64-darwin" "armv7l-linux" "i686-linux" "x86_64-darwin"
+         "x86_64-linux"
+       ];
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "lookup-tables" = callPackage
@@ -176647,6 +174144,8 @@ self: {
        testHaskellDepends = [ base hspec mtl transformers vector ];
        description = "monadic loop dsl";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "loop-effin" = callPackage
@@ -176960,6 +174459,8 @@ self: {
        ];
        description = "An EDSL for diagrams based based on linear constraints";
        license = lib.licenses.agpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "lp-diagrams-svg" = callPackage
@@ -176980,15 +174481,14 @@ self: {
        description = "SVG Backend for lp-diagrams";
        license = "GPL";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "lpeg" = callPackage
     ({ mkDerivation, base, lua, tasty, tasty-hunit }:
      mkDerivation {
        pname = "lpeg";
-       version = "1.0.2";
-       sha256 = "0b1khwgmvlnvan6vp46mlvhzdrhawl5s1v971bm660aq0q8jjv1k";
+       version = "1.0.3";
+       sha256 = "19vvsvdw8l2zjwdcypnzw12vc9ycix92mkd6g3f6kx1i364z9hg1";
        libraryHaskellDepends = [ base lua ];
        testHaskellDepends = [ base lua tasty tasty-hunit ];
        description = "LPeg – Parsing Expression Grammars For Lua";
@@ -177024,6 +174524,8 @@ self: {
        ];
        description = "LRU cache";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "lrucaching-haxl" = callPackage
@@ -177035,6 +174537,7 @@ self: {
        libraryHaskellDepends = [ base hashable haxl lrucaching psqueues ];
        description = "Combine lrucaching and haxl";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ls-usb" = callPackage
@@ -177097,36 +174600,6 @@ self: {
 
   "lsp" = callPackage
     ({ mkDerivation, aeson, async, attoparsec, base, bytestring
-     , containers, data-default, dependent-map, directory, filepath
-     , hashable, hslogger, hspec, hspec-discover, lens, lsp-types, mtl
-     , network-uri, QuickCheck, quickcheck-instances, random
-     , rope-utf16-splay, scientific, sorted-list, stm, text, time
-     , transformers, unliftio-core, unordered-containers, uuid
-     }:
-     mkDerivation {
-       pname = "lsp";
-       version = "1.2.0.0";
-       sha256 = "0ca8s84xlh9kmi1lx47d6z3c8c827q30spmbxi1nl37dn35ib4b6";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson async attoparsec base bytestring containers data-default
-         dependent-map directory filepath hashable hslogger lens lsp-types
-         mtl network-uri random scientific sorted-list stm text time
-         transformers unliftio-core unordered-containers uuid
-       ];
-       testHaskellDepends = [
-         aeson base bytestring containers data-default directory filepath
-         hashable hspec lens network-uri QuickCheck quickcheck-instances
-         rope-utf16-splay sorted-list stm text unordered-containers
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Haskell library for the Microsoft Language Server Protocol";
-       license = lib.licenses.mit;
-     }) {};
-
-  "lsp_1_4_0_0" = callPackage
-    ({ mkDerivation, aeson, async, attoparsec, base, bytestring
      , containers, data-default, exceptions, filepath, hashable
      , hslogger, hspec, hspec-discover, lens, lsp-types, mtl
      , network-uri, QuickCheck, quickcheck-instances, random
@@ -177153,7 +174626,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Haskell library for the Microsoft Language Server Protocol";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "lsp-test" = callPackage
@@ -177165,33 +174637,6 @@ self: {
      }:
      mkDerivation {
        pname = "lsp-test";
-       version = "0.14.0.0";
-       sha256 = "1pa6cial43d6dgkabk3ak4jyfznia5bliww7r9126qahj9dxgpcr";
-       libraryHaskellDepends = [
-         aeson aeson-pretty ansi-terminal async base bytestring conduit
-         conduit-parse containers data-default Diff directory filepath Glob
-         lens lsp-types mtl parser-combinators process some text time
-         transformers unix unordered-containers
-       ];
-       testHaskellDepends = [
-         aeson async base data-default directory filepath hspec lens lsp mtl
-         parser-combinators process text unliftio unordered-containers
-       ];
-       testToolDepends = [ lsp ];
-       benchmarkHaskellDepends = [ base extra lsp process ];
-       description = "Functional test framework for LSP servers";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "lsp-test_0_14_0_2" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, async, base
-     , bytestring, conduit, conduit-parse, containers, data-default
-     , Diff, directory, extra, filepath, Glob, hspec, lens, lsp
-     , lsp-types, mtl, parser-combinators, process, some, text, time
-     , transformers, unix, unliftio, unordered-containers
-     }:
-     mkDerivation {
-       pname = "lsp-test";
        version = "0.14.0.2";
        sha256 = "1capjilca74cqiwmrhbl1an6ih3227n3g417dfvql0lffa3j6qsf";
        libraryHaskellDepends = [
@@ -177208,34 +174653,10 @@ self: {
        benchmarkHaskellDepends = [ base extra lsp process ];
        description = "Functional test framework for LSP servers";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "lsp-types" = callPackage
     ({ mkDerivation, aeson, base, binary, bytestring, containers
-     , data-default, deepseq, dependent-sum, dependent-sum-template
-     , directory, filepath, hashable, hslogger, lens, network-uri
-     , rope-utf16-splay, scientific, some, template-haskell, temporary
-     , text, unordered-containers
-     }:
-     mkDerivation {
-       pname = "lsp-types";
-       version = "1.2.0.0";
-       sha256 = "1axl62yafkxh414dxr5i7pwqw0s3kkqphs7b259qk33vin3qayk3";
-       revision = "1";
-       editedCabalFile = "07fmcyqq20q1g8zc61jz7vz8fdpn5p1nrf3yda28qfdnfimb48mc";
-       libraryHaskellDepends = [
-         aeson base binary bytestring containers data-default deepseq
-         dependent-sum dependent-sum-template directory filepath hashable
-         hslogger lens network-uri rope-utf16-splay scientific some
-         template-haskell temporary text unordered-containers
-       ];
-       description = "Haskell library for the Microsoft Language Server Protocol, data types";
-       license = lib.licenses.mit;
-     }) {};
-
-  "lsp-types_1_4_0_1" = callPackage
-    ({ mkDerivation, aeson, base, binary, bytestring, containers
      , data-default, deepseq, Diff, directory, dlist, filepath, hashable
      , hslogger, lens, mod, mtl, network-uri, rope-utf16-splay
      , scientific, some, template-haskell, temporary, text
@@ -177253,7 +174674,6 @@ self: {
        ];
        description = "Haskell library for the Microsoft Language Server Protocol, data types";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "lss" = callPackage
@@ -177324,7 +174744,6 @@ self: {
        description = "Parameterized file evaluator";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "lti13" = callPackage
@@ -177345,6 +174764,7 @@ self: {
        ];
        description = "Core functionality for LTI 1.3.";
        license = lib.licenses.lgpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ltiv1p1" = callPackage
@@ -177415,14 +174835,27 @@ self: {
        license = lib.licenses.mit;
      }) {inherit (pkgs) lua5_3;};
 
+  "lua_2_2_0" = callPackage
+    ({ mkDerivation, base, lua5_3, tasty, tasty-hunit }:
+     mkDerivation {
+       pname = "lua";
+       version = "2.2.0";
+       sha256 = "1258i5a3b16lbkgfdzgibqx3q4csd5wvk2gzqp96kkjcndfva92d";
+       configureFlags = [ "-fsystem-lua" "-f-use-pkgconfig" ];
+       libraryHaskellDepends = [ base ];
+       librarySystemDepends = [ lua5_3 ];
+       testHaskellDepends = [ base tasty tasty-hunit ];
+       description = "Lua, an embeddable scripting language";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {inherit (pkgs) lua5_3;};
+
   "lua-arbitrary" = callPackage
     ({ mkDerivation, base, lua, QuickCheck }:
      mkDerivation {
        pname = "lua-arbitrary";
-       version = "1.0.0";
-       sha256 = "13kfpiyln1i3d1a47fpf00lrcj4m9dyg80zrqclx7wzy9p8ixh7l";
-       revision = "1";
-       editedCabalFile = "19cc5vn27izx5cnpq1xj915ax16czvxaarvigggwi73cgk11hbf1";
+       version = "1.0.1";
+       sha256 = "01g2pkvy7yhcrk8p1d9xzmqv279ldgy9z5aa6xj5msbxrpxvbpma";
        libraryHaskellDepends = [ base lua QuickCheck ];
        description = "Arbitrary instances for Lua types";
        license = lib.licenses.mit;
@@ -177522,29 +174955,6 @@ self: {
      }:
      mkDerivation {
        pname = "lucid";
-       version = "2.9.12.1";
-       sha256 = "0nky4pqxd6828kg3js90ks6r3hxs5x48ibfz37pw2dr7y1nygq21";
-       libraryHaskellDepends = [
-         base blaze-builder bytestring containers hashable mmorph mtl text
-         transformers unordered-containers
-       ];
-       testHaskellDepends = [
-         base bifunctors hspec HUnit mtl parsec text
-       ];
-       benchmarkHaskellDepends = [
-         base blaze-builder bytestring criterion deepseq text transformers
-       ];
-       description = "Clear to write, read and edit DSL for HTML";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "lucid_2_11_0" = callPackage
-    ({ mkDerivation, base, bifunctors, blaze-builder, bytestring
-     , containers, criterion, deepseq, hashable, hspec, HUnit, mmorph
-     , mtl, parsec, text, transformers, unordered-containers
-     }:
-     mkDerivation {
-       pname = "lucid";
        version = "2.11.0";
        sha256 = "1m1f13vxn3pwc7wvhx0czzxlx2ws8lzdgxlxd1707cx79jyib5sl";
        revision = "1";
@@ -177561,28 +174971,12 @@ self: {
        ];
        description = "Clear to write, read and edit DSL for HTML";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "lucid-alpine" = callPackage
     ({ mkDerivation, base, lucid, text }:
      mkDerivation {
        pname = "lucid-alpine";
-       version = "0.1.0.2";
-       sha256 = "1ifa7hmbxzb6mni0q80a2p4j1yh9x1b95acki5fjx33n36f6bg61";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base lucid text ];
-       executableHaskellDepends = [ base lucid text ];
-       testHaskellDepends = [ base lucid text ];
-       description = "Use Alpine.js in your lucid templates";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "lucid-alpine_0_1_0_7" = callPackage
-    ({ mkDerivation, base, lucid, text }:
-     mkDerivation {
-       pname = "lucid-alpine";
        version = "0.1.0.7";
        sha256 = "1p6cmjxbin7wj3b3cbg15gv43mcfqzm791swmhcwx0x41x41jygx";
        isLibrary = true;
@@ -177592,7 +174986,6 @@ self: {
        testHaskellDepends = [ base lucid text ];
        description = "Use Alpine.js in your lucid templates";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "lucid-cdn" = callPackage
@@ -177654,18 +175047,6 @@ self: {
     ({ mkDerivation, base, lucid, servant, text }:
      mkDerivation {
        pname = "lucid-htmx";
-       version = "0.1.0.2";
-       sha256 = "1dnkp8l6niy2h7262pr1n798jrfnzz8n0ji00cj8v3d50av4qx0s";
-       libraryHaskellDepends = [ base lucid servant text ];
-       testHaskellDepends = [ base lucid servant text ];
-       description = "Use htmx in your lucid templates";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "lucid-htmx_0_1_0_5" = callPackage
-    ({ mkDerivation, base, lucid, servant, text }:
-     mkDerivation {
-       pname = "lucid-htmx";
        version = "0.1.0.5";
        sha256 = "1zbk1fdril0cm4cs5scrvk1fvfkds8pgkwnb5c9vxawv5v3kgpl5";
        libraryHaskellDepends = [ base lucid servant text ];
@@ -177673,6 +175054,7 @@ self: {
        description = "Use htmx in your lucid templates";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "lucid-hyperscript" = callPackage
@@ -177688,6 +175070,8 @@ self: {
        testHaskellDepends = [ base lucid template-haskell text ];
        description = "Use _hyperscript with lucid";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "lucid-svg" = callPackage
@@ -177809,8 +175193,8 @@ self: {
      }:
      mkDerivation {
        pname = "lumberjack";
-       version = "1.0.0.1";
-       sha256 = "0m0xyy42d2ibmnyhixf5hs65a2b1fhbjzx5j3430wcvzb4h71fdc";
+       version = "1.0.1.0";
+       sha256 = "0xyza6k73cnqldzqaaqrrx33lwk75gd6qkp85b7byckdkvyy8akh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -177974,8 +175358,9 @@ self: {
        libraryHaskellDepends = [ base bindings-lxc mtl transformers ];
        description = "High level Haskell bindings to LXC (Linux containers)";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
+       platforms = [
+         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
+       ];
      }) {};
 
   "lxd-client" = callPackage
@@ -178521,6 +175906,8 @@ self: {
        ];
        description = "Parse machines streams with attoparsec parsers";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "machines-binary" = callPackage
@@ -178532,6 +175919,8 @@ self: {
        libraryHaskellDepends = [ base binary bytestring machines ];
        description = "Binary utilities for the machines library";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "machines-bytestring" = callPackage
@@ -178561,7 +175950,6 @@ self: {
        description = "Directory (system) utilities for the machines library";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "machines-encoding" = callPackage
@@ -178590,6 +175978,8 @@ self: {
        ];
        description = "IO utilities for the machines library";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "machines-process" = callPackage
@@ -178604,6 +175994,7 @@ self: {
        ];
        description = "Process (system) utilities for the machines library";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "machines-zlib" = callPackage
@@ -178657,6 +176048,7 @@ self: {
        ];
        description = "An API client library for Mackerel";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "maclight" = callPackage
@@ -178768,6 +176160,8 @@ self: {
        ];
        description = "Monadic DSL for building constraint solvers using basic propagators";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "madlang" = callPackage
@@ -178912,23 +176306,6 @@ self: {
      }:
      mkDerivation {
        pname = "magico";
-       version = "0.0.2.1";
-       sha256 = "1kcqa7xcz378q6v8aypg3ngcmiwj5c730n58rnfi3ywwl01l0x4x";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         base comfort-array lapack transformers utility-ht
-       ];
-       description = "Compute solutions for Magico puzzle";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "magico_0_0_2_3" = callPackage
-    ({ mkDerivation, base, comfort-array, lapack, transformers
-     , utility-ht
-     }:
-     mkDerivation {
-       pname = "magico";
        version = "0.0.2.3";
        sha256 = "0hj6rn52qcxjwkrbxglh1yga53jj9skvmhnan1j7nz94rpi3fm04";
        isLibrary = false;
@@ -178938,7 +176315,6 @@ self: {
        ];
        description = "Compute solutions for Magico puzzle";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "magma" = callPackage
@@ -178952,8 +176328,6 @@ self: {
        testHaskellDepends = [ base ghc-prim ];
        description = "magma is an algebraic structure";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "magmas" = callPackage
@@ -179245,7 +176619,6 @@ self: {
        description = "Make a cabalized package";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "makedo" = callPackage
@@ -179740,8 +177113,6 @@ self: {
        ];
        description = "Library for interfacing with the Mandrill JSON API";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "mandulia" = callPackage
@@ -179823,6 +177194,7 @@ self: {
        ];
        description = "A parser for web documents according to the HTML5 specification";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "manifold-random" = callPackage
@@ -179897,6 +177269,8 @@ self: {
        ];
        description = "A set of classes and instances for working with key/value mappings";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "map-exts" = callPackage
@@ -180265,6 +177639,7 @@ self: {
        ];
        description = "Abstraction for HTML-embedded content";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "markup-preview" = callPackage
@@ -180457,6 +177832,7 @@ self: {
        ];
        description = "Markup language preprocessor for Haskell";
        license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "masakazu-bot" = callPackage
@@ -180498,29 +177874,6 @@ self: {
 
   "massiv" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, doctest, exceptions
-     , mersenne-random-pure64, primitive, QuickCheck, random, scheduler
-     , splitmix, template-haskell, unliftio-core, vector
-     }:
-     mkDerivation {
-       pname = "massiv";
-       version = "0.6.1.0";
-       sha256 = "0j3br93kxxyb1q5mdf440f8l8d2lc0gi9vhc3h3ri94ls4ix099v";
-       revision = "2";
-       editedCabalFile = "1ymbmgcd312r0nqzh5gmm05inqw3iajzmhzbhc162xb1n30ks0kn";
-       libraryHaskellDepends = [
-         base bytestring deepseq exceptions primitive scheduler
-         unliftio-core vector
-       ];
-       testHaskellDepends = [
-         base doctest mersenne-random-pure64 QuickCheck random splitmix
-         template-haskell
-       ];
-       description = "Massiv (Массив) is an Array Library";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "massiv_1_0_1_1" = callPackage
-    ({ mkDerivation, base, bytestring, deepseq, doctest, exceptions
      , primitive, random, scheduler, unliftio-core, vector
      }:
      mkDerivation {
@@ -180534,34 +177887,9 @@ self: {
        testHaskellDepends = [ base doctest ];
        description = "Massiv (Массив) is an Array Library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "massiv-io" = callPackage
-    ({ mkDerivation, base, bytestring, Color, data-default-class
-     , deepseq, doctest, exceptions, filepath, hspec, JuicyPixels
-     , massiv, massiv-test, netpbm, QuickCheck, random, template-haskell
-     , unliftio, vector
-     }:
-     mkDerivation {
-       pname = "massiv-io";
-       version = "0.4.1.0";
-       sha256 = "1g20n4h1x03i7q36a6d65v2ylmrr6m8s2g91jnpx1lj7a91hc5c7";
-       revision = "1";
-       editedCabalFile = "1vq7ka61nzzzqa050sfmlbmlhayj92ak9w83121lnacvaqs5ndan";
-       libraryHaskellDepends = [
-         base bytestring Color data-default-class deepseq exceptions
-         filepath JuicyPixels massiv netpbm unliftio vector
-       ];
-       testHaskellDepends = [
-         base bytestring doctest hspec JuicyPixels massiv massiv-test
-         QuickCheck random template-haskell
-       ];
-       description = "Import/export of Image files into massiv Arrays";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "massiv-io_1_0_0_1" = callPackage
     ({ mkDerivation, base, bytestring, Color, criterion
      , data-default-class, deepseq, doctest, exceptions, filepath, hspec
      , hspec-discover, JuicyPixels, massiv, massiv-test, netpbm
@@ -180585,7 +177913,6 @@ self: {
        ];
        description = "Import/export of Image files into massiv Arrays";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "massiv-persist" = callPackage
@@ -180595,30 +177922,6 @@ self: {
      }:
      mkDerivation {
        pname = "massiv-persist";
-       version = "0.1.0.0";
-       sha256 = "0w3hm8mzk2vsd0myk7sl1cckl2yhr7b1y9qb9nzph5gw99hsc761";
-       revision = "1";
-       editedCabalFile = "197br71xz738xnivpcmicgyw06r2f5lbbbaqzvnsz9ycbnvwhmav";
-       libraryHaskellDepends = [
-         base bytestring deepseq massiv persist primitive
-       ];
-       testHaskellDepends = [
-         base doctest hspec massiv massiv-test persist QuickCheck
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Compatibility of 'massiv' with 'persist'";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "massiv-persist_1_0_0_2" = callPackage
-    ({ mkDerivation, base, bytestring, deepseq, doctest, hspec
-     , hspec-discover, massiv, massiv-test, persist, primitive
-     , QuickCheck
-     }:
-     mkDerivation {
-       pname = "massiv-persist";
        version = "1.0.0.2";
        sha256 = "1hqmwbrxv664y4rfm37ziym25l9218pd21lz4180c0k3hfpdfsxy";
        libraryHaskellDepends = [
@@ -180652,30 +177955,11 @@ self: {
        ];
        description = "Work stealing scheduler for Massiv (Массив) and other parallel applications";
        license = lib.licenses.bsd3;
-     }) {};
-
-  "massiv-serialise" = callPackage
-    ({ mkDerivation, base, deepseq, doctest, hspec, hspec-discover
-     , massiv, massiv-test, QuickCheck, serialise, vector
-     }:
-     mkDerivation {
-       pname = "massiv-serialise";
-       version = "0.1.0.0";
-       sha256 = "0780lggn343k64ph3c27zhkkx0gmk9zfvv5pxz6zl1817xfqzc83";
-       revision = "1";
-       editedCabalFile = "134405ffzdjc6nq23iwz5khs0r2r6z23y4y08by8qznj97j38am0";
-       libraryHaskellDepends = [ base deepseq massiv serialise vector ];
-       testHaskellDepends = [
-         base doctest hspec massiv massiv-test QuickCheck serialise
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Compatibility of 'massiv' with 'serialise'";
-       license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        broken = true;
      }) {};
 
-  "massiv-serialise_1_0_0_2" = callPackage
+  "massiv-serialise" = callPackage
     ({ mkDerivation, base, deepseq, doctest, hspec, hspec-discover
      , massiv, massiv-test, QuickCheck, serialise, vector
      }:
@@ -180697,30 +177981,6 @@ self: {
   "massiv-test" = callPackage
     ({ mkDerivation, base, bytestring, containers, data-default
      , data-default-class, deepseq, exceptions, genvalidity-hspec, hspec
-     , massiv, mwc-random, primitive, QuickCheck, scheduler, unliftio
-     , vector
-     }:
-     mkDerivation {
-       pname = "massiv-test";
-       version = "0.1.6.1";
-       sha256 = "0f2f401flik0sj1wqlzghhr0dxbz2lyvlb4ij38n3m2vgpkgkd57";
-       revision = "1";
-       editedCabalFile = "1fmja3adixmljm4f90s8ckg26wr89hmhdwl6sr0nmlpz9x2w25q0";
-       libraryHaskellDepends = [
-         base bytestring data-default-class deepseq exceptions hspec massiv
-         primitive QuickCheck scheduler unliftio vector
-       ];
-       testHaskellDepends = [
-         base bytestring containers data-default deepseq genvalidity-hspec
-         hspec massiv mwc-random primitive QuickCheck scheduler vector
-       ];
-       description = "Library that contains generators, properties and tests for Massiv Array Library";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "massiv-test_1_0_0_0" = callPackage
-    ({ mkDerivation, base, bytestring, containers, data-default
-     , data-default-class, deepseq, exceptions, genvalidity-hspec, hspec
      , hspec-discover, massiv, mwc-random, primitive, QuickCheck
      , scheduler, unliftio, vector
      }:
@@ -180739,7 +177999,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Library that contains generators, properties and tests for Massiv Array Library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "master-plan" = callPackage
@@ -181210,8 +178469,8 @@ self: {
      }:
      mkDerivation {
        pname = "matrix-client";
-       version = "0.1.4.0";
-       sha256 = "1adcg3c3lar5c0cxhbgy8whlcm28xhnvbhk5qgfnss6b35bhsajk";
+       version = "0.1.4.2";
+       sha256 = "17mp45w6fzjjm6ylpb609q84ibk0gkjizzda22235piccg9hc073";
        libraryHaskellDepends = [
          aeson aeson-casing base base64 bytestring containers exceptions
          hashable http-client http-client-tls http-types network-uri
@@ -181243,6 +178502,8 @@ self: {
        testToolDepends = [ tasty-discover ];
        description = "Optics for the \"matrix\" package";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "matrix-market" = callPackage
@@ -181340,6 +178601,8 @@ self: {
        testHaskellDepends = [ base containers hspec QuickCheck ];
        description = "matroid (combinatorial pre-geometries) library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "matsuri" = callPackage
@@ -181774,55 +179037,52 @@ self: {
      }) {};
 
   "mcmc" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, circular, containers
-     , criterion, data-default, deepseq, directory, dirichlet
-     , double-conversion, hspec, log-domain, microlens, monad-parallel
-     , mwc-random, pretty-show, primitive, statistics, time
-     , transformers, vector, zlib
+    ({ mkDerivation, aeson, async, base, bytestring, circular
+     , containers, covariance, criterion, data-default, deepseq
+     , directory, dirichlet, double-conversion, hmatrix, hspec
+     , log-domain, math-functions, microlens, mwc-random, pretty-show
+     , primitive, statistics, time, transformers, vector, zlib
      }:
      mkDerivation {
        pname = "mcmc";
-       version = "0.5.0.0";
-       sha256 = "0vfbbzk7rwgan0lf1qxr03mbxlxgq1jccbsvffw4hy1k2s65wysi";
+       version = "0.6.2.2";
+       sha256 = "1si81jv8dfwm9lfq3fvfc4mibkg7p61vkjhsgfsmban74v02ja73";
        libraryHaskellDepends = [
-         aeson base bytestring circular containers data-default deepseq
-         directory dirichlet double-conversion log-domain microlens
-         monad-parallel mwc-random pretty-show primitive statistics time
-         transformers vector zlib
-       ];
-       testHaskellDepends = [
-         base hspec log-domain mwc-random statistics
+         aeson async base bytestring circular containers covariance
+         data-default deepseq directory dirichlet double-conversion hmatrix
+         log-domain math-functions microlens mwc-random pretty-show
+         primitive statistics time transformers vector zlib
        ];
+       testHaskellDepends = [ base hspec mwc-random statistics ];
        benchmarkHaskellDepends = [
-         base criterion log-domain microlens mwc-random
+         base criterion math-functions microlens mwc-random
        ];
        description = "Sample from a posterior using Markov chain Monte Carlo";
        license = lib.licenses.gpl3Plus;
        maintainers = with lib.maintainers; [ dschrempf ];
      }) {};
 
-  "mcmc_0_6_1_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, circular, containers
-     , covariance, criterion, data-default, deepseq, directory
-     , dirichlet, double-conversion, hmatrix, hspec, log-domain
-     , math-functions, microlens, monad-parallel, mwc-random
-     , pretty-show, primitive, statistics, time, transformers, vector
-     , zlib
+  "mcmc_0_6_2_4" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, circular
+     , containers, covariance, criterion, data-default, deepseq
+     , directory, dirichlet, double-conversion, hmatrix, hspec
+     , log-domain, math-functions, microlens, mwc-random, pretty-show
+     , primitive, statistics, time, transformers, vector, zlib
      }:
      mkDerivation {
        pname = "mcmc";
-       version = "0.6.1.0";
-       sha256 = "0wln2fin522mg8ql4ypyxhm93rgq985bcqq61gsvzqrkwrp7n33a";
+       version = "0.6.2.4";
+       sha256 = "01ramkpjxknjaj4qp78im1a24sqv35nm72afr6wiqlwj11dcs2mq";
        libraryHaskellDepends = [
-         aeson base bytestring circular containers covariance data-default
-         deepseq directory dirichlet double-conversion hmatrix log-domain
-         math-functions microlens monad-parallel mwc-random pretty-show
+         aeson async base bytestring circular containers covariance
+         data-default deepseq directory dirichlet double-conversion hmatrix
+         log-domain math-functions microlens mwc-random pretty-show
          primitive statistics time transformers vector zlib
        ];
-       testHaskellDepends = [
-         base hspec log-domain mwc-random statistics
+       testHaskellDepends = [ base hspec mwc-random statistics ];
+       benchmarkHaskellDepends = [
+         base criterion math-functions microlens mwc-random
        ];
-       benchmarkHaskellDepends = [ base criterion microlens mwc-random ];
        description = "Sample from a posterior using Markov chain Monte Carlo";
        license = lib.licenses.gpl3Plus;
        hydraPlatforms = lib.platforms.none;
@@ -181999,7 +179259,6 @@ self: {
        ];
        description = "Mealy machines for processing time-series and ordered data";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "means" = callPackage
@@ -182108,6 +179367,8 @@ self: {
        ];
        description = "A schema language for JSON";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "mediabus" = callPackage
@@ -182303,6 +179564,8 @@ self: {
        ];
        description = "A silly container";
        license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "mega-sdist" = callPackage
@@ -182321,8 +179584,6 @@ self: {
        ];
        description = "Handles uploading to Hackage from mega repos";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "megalisp" = callPackage
@@ -182345,28 +179606,6 @@ self: {
      }:
      mkDerivation {
        pname = "megaparsec";
-       version = "9.0.1";
-       sha256 = "00953zvxfyjibw8c1ssmixxh0cwn59pz24zbh6s34rk3v14vqa3j";
-       revision = "1";
-       editedCabalFile = "00vjc5b1x6yd0jqsbcahvghlkwai65dl1ib6744a0lhsa9vsni12";
-       libraryHaskellDepends = [
-         base bytestring case-insensitive containers deepseq mtl
-         parser-combinators scientific text transformers
-       ];
-       benchmarkHaskellDepends = [
-         base containers criterion deepseq text weigh
-       ];
-       description = "Monadic parser combinators";
-       license = lib.licenses.bsd2;
-     }) {};
-
-  "megaparsec_9_2_0" = callPackage
-    ({ mkDerivation, base, bytestring, case-insensitive, containers
-     , criterion, deepseq, mtl, parser-combinators, scientific, text
-     , transformers, weigh
-     }:
-     mkDerivation {
-       pname = "megaparsec";
        version = "9.2.0";
        sha256 = "1whjn3n14h2q3ja1v7zllzmj28ai7lqwfbif22c08rl00wpwmwhd";
        revision = "1";
@@ -182380,7 +179619,6 @@ self: {
        ];
        description = "Monadic parser combinators";
        license = lib.licenses.bsd2;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "megaparsec-tests" = callPackage
@@ -182391,32 +179629,6 @@ self: {
      }:
      mkDerivation {
        pname = "megaparsec-tests";
-       version = "9.0.1";
-       sha256 = "0synm14x1k9r5q7xmv21z0y95b42g7lvwn78mcnc3cx62x6393ng";
-       revision = "1";
-       editedCabalFile = "1iz18gmhqvxwiw6r35nd6p2m3zjpzsy0bzhwgbfxpjbvvcgy8736";
-       libraryHaskellDepends = [
-         base bytestring containers hspec hspec-expectations
-         hspec-megaparsec megaparsec mtl QuickCheck text transformers
-       ];
-       testHaskellDepends = [
-         base bytestring case-insensitive containers hspec
-         hspec-expectations hspec-megaparsec megaparsec mtl
-         parser-combinators QuickCheck scientific text transformers
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Test utilities and the test suite of Megaparsec";
-       license = lib.licenses.bsd2;
-     }) {};
-
-  "megaparsec-tests_9_2_0" = callPackage
-    ({ mkDerivation, base, bytestring, case-insensitive, containers
-     , hspec, hspec-discover, hspec-expectations, hspec-megaparsec
-     , megaparsec, mtl, parser-combinators, QuickCheck, scientific, text
-     , transformers
-     }:
-     mkDerivation {
-       pname = "megaparsec-tests";
        version = "9.2.0";
        sha256 = "09vcdywyy3h79fwq7l6aig3b52ygwv55d61maxdw06d1jw04fxr3";
        libraryHaskellDepends = [
@@ -182431,7 +179643,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Test utilities and the test suite of Megaparsec";
        license = lib.licenses.bsd2;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "meldable-heap" = callPackage
@@ -182475,6 +179686,8 @@ self: {
        ];
        description = "An Elf parser";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "mellon-core" = callPackage
@@ -182605,6 +179818,8 @@ self: {
        ];
        description = "Type-safe memory units";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "memcache" = callPackage
@@ -182747,6 +179962,8 @@ self: {
        libraryHaskellDepends = [ attoparsec base bytestring containers ];
        description = "Library for reading `/proc/meminfo`";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "memis" = callPackage
@@ -182773,7 +179990,6 @@ self: {
        description = "Memis Efficient Manual Image Sorting";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "memo-ptr" = callPackage
@@ -182798,6 +180014,8 @@ self: {
        libraryHaskellDepends = [ base direct-sqlite text ];
        description = "memoize functions using SQLite3 database";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "memoization-utils" = callPackage
@@ -182856,8 +180074,6 @@ self: {
        benchmarkHaskellDepends = [ base bytestring criterion random ];
        description = "Generate human memorable strings from binary data";
        license = lib.licenses.bsd2;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "memory" = callPackage
@@ -182866,10 +180082,10 @@ self: {
      }:
      mkDerivation {
        pname = "memory";
-       version = "0.15.0";
-       sha256 = "0a9mxcddnqn4359hk59d6l2zbh0vp154yb5vs1a8jw4l38n8kzz3";
-       revision = "2";
-       editedCabalFile = "0fd40y5byy4cq4x6m66zxadxbw96gzswplgfyvdqnjlasq28xw68";
+       version = "0.16.0";
+       sha256 = "0zzxyr2b7gj92h3jzaq1lfqfyfkfj4l636ry35191i9bp3wa0v8l";
+       revision = "1";
+       editedCabalFile = "02ql04drvyk8sdadxs4yi1h4aic0pxgnrph3j5ndcm6r7hfnv8py";
        libraryHaskellDepends = [
          base basement bytestring deepseq ghc-prim
        ];
@@ -182878,16 +180094,14 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "memory_0_16_0" = callPackage
+  "memory_0_17_0" = callPackage
     ({ mkDerivation, base, basement, bytestring, deepseq, foundation
      , ghc-prim
      }:
      mkDerivation {
        pname = "memory";
-       version = "0.16.0";
-       sha256 = "0zzxyr2b7gj92h3jzaq1lfqfyfkfj4l636ry35191i9bp3wa0v8l";
-       revision = "1";
-       editedCabalFile = "02ql04drvyk8sdadxs4yi1h4aic0pxgnrph3j5ndcm6r7hfnv8py";
+       version = "0.17.0";
+       sha256 = "0yl3ivvn7i9wbx910b7bzj9c3g0jjjk91j05wj74qb5zx2yyf9rk";
        libraryHaskellDepends = [
          base basement bytestring deepseq ghc-prim
        ];
@@ -182930,6 +180144,7 @@ self: {
        ];
        description = "Hex-string type for Haskell Web3 library";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "memorypool" = callPackage
@@ -183082,6 +180297,8 @@ self: {
          validity-containers validity-time
        ];
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "mergeful-persistent" = callPackage
@@ -183245,21 +180462,17 @@ self: {
 
   "messagepack" = callPackage
     ({ mkDerivation, base, bytestring, cereal, containers, deepseq
-     , QuickCheck, test-framework, test-framework-quickcheck2
-     , test-framework-th
+     , QuickCheck
      }:
      mkDerivation {
        pname = "messagepack";
-       version = "0.5.4";
-       sha256 = "0z2xbfqg9x8ymbr0j81br610ja8f0wd2wvvrnjrk222vbp0915ck";
-       revision = "2";
-       editedCabalFile = "199x0hqa6h6wqysaip1wc7kivc26f3wkb8y4il70mzmz80skmm29";
+       version = "0.5.5";
+       sha256 = "1naa6lrvy56z6r41r800v4bqa3467j5d6rvgq9npaz6nm2nvrvmk";
        libraryHaskellDepends = [
          base bytestring cereal containers deepseq
        ];
        testHaskellDepends = [
-         base bytestring cereal containers QuickCheck test-framework
-         test-framework-quickcheck2 test-framework-th
+         base bytestring cereal containers QuickCheck
        ];
        description = "Serialize instance for Message Pack Object";
        license = lib.licenses.mit;
@@ -183466,6 +180679,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "rebindable methods for improving testability";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "metric" = callPackage
@@ -183794,6 +181009,8 @@ self: {
        ];
        description = "A tiny JSON library with light dependency footprint";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "microbase" = callPackage
@@ -183806,8 +181023,6 @@ self: {
        doHaddock = false;
        description = "A minimal base to work around GHC bugs";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "microbench" = callPackage
@@ -183873,7 +181088,6 @@ self: {
        description = "A Microformats 2 parser";
        license = lib.licenses.publicDomain;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "microformats2-types" = callPackage
@@ -183923,8 +181137,8 @@ self: {
      }:
      mkDerivation {
        pname = "microlens-aeson";
-       version = "2.3.1";
-       sha256 = "074mzpk7av6i0xf7xy42jpzgljlmyw805md1vz4sqy85m99f0ikr";
+       version = "2.4.1";
+       sha256 = "0h11h1vg467aq1w6gfb0jvzvhk6xsl1i1bl7qfw5kdsnvrd3nbg9";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring deepseq hashable microlens
          scientific text unordered-containers vector
@@ -183937,22 +181151,21 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "microlens-aeson_2_4_1" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, deepseq
-     , hashable, microlens, scientific, tasty, tasty-hunit, text
-     , unordered-containers, vector
+  "microlens-aeson_2_5_0" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, hashable
+     , microlens, scientific, tasty, tasty-hunit, text, vector
      }:
      mkDerivation {
        pname = "microlens-aeson";
-       version = "2.4.1";
-       sha256 = "0h11h1vg467aq1w6gfb0jvzvhk6xsl1i1bl7qfw5kdsnvrd3nbg9";
+       version = "2.5.0";
+       sha256 = "0h5q0b2b4y28llhq28mb28kpdv2iifz0qkbbhmrwrz2bs6arr3d2";
        libraryHaskellDepends = [
-         aeson attoparsec base bytestring deepseq hashable microlens
-         scientific text unordered-containers vector
+         aeson attoparsec base bytestring hashable microlens scientific text
+         vector
        ];
        testHaskellDepends = [
-         aeson base bytestring deepseq hashable microlens tasty tasty-hunit
-         text unordered-containers vector
+         aeson base bytestring hashable microlens tasty tasty-hunit text
+         vector
        ];
        description = "Law-abiding lenses for Aeson, using microlens";
        license = lib.licenses.mit;
@@ -184079,7 +181292,6 @@ self: {
        description = "A super simple logging module";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "microsoft-translator" = callPackage
@@ -184246,8 +181458,6 @@ self: {
        ];
        description = "Convert MIDI file to music box punch tape";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "midi-simple" = callPackage
@@ -184269,6 +181479,8 @@ self: {
        benchmarkHaskellDepends = [ base bytestring criterion ];
        description = "A simple and fast library for working with MIDI messages";
        license = lib.licenses.lgpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "midi-util" = callPackage
@@ -184430,6 +181642,8 @@ self: {
        ];
        description = "Semi-automatic database schema migrations";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "migrant-hdbc" = callPackage
@@ -184449,7 +181663,6 @@ self: {
        description = "Semi-automatic database schema migrations";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "migrant-postgresql-simple" = callPackage
@@ -184471,7 +181684,6 @@ self: {
        description = "Semi-automatic database schema migrations";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "migrant-sqlite-simple" = callPackage
@@ -184489,6 +181701,7 @@ self: {
        ];
        description = "Semi-automatic database schema migrations";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mikmod" = callPackage
@@ -184757,7 +181970,6 @@ self: {
        ];
        description = "Minesweeper game which is always solvable without guessing";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mini-egison" = callPackage
@@ -184963,6 +182175,8 @@ self: {
        ];
        description = "A MinIO Haskell Library for Amazon S3 compatible cloud storage";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "minions" = callPackage
@@ -185035,7 +182249,6 @@ self: {
        description = "Minimalistic file rotation utility";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "minisat" = callPackage
@@ -185216,7 +182429,6 @@ self: {
        description = "Tweet mirror";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "misfortune" = callPackage
@@ -185228,6 +182440,8 @@ self: {
        pname = "misfortune";
        version = "0.1.1.2";
        sha256 = "0j93zqgqskrj2zc0vwsmwldidr6nkcxq2v3mmzv7l7l1bwhl8jxf";
+       revision = "1";
+       editedCabalFile = "1i3ivm06g690ksxnkmkg56rxzns7acwilnl6iy610n9b1k7plnqc";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -185343,6 +182557,8 @@ self: {
        testHaskellDepends = [ base hedgehog mismi-p text ];
        description = "AWS Library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "miso" = callPackage
@@ -185363,6 +182579,8 @@ self: {
        ];
        description = "A tasty Haskell front-end framework";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "miso-action-logger" = callPackage
@@ -185375,7 +182593,6 @@ self: {
        description = "Miso state transition logger";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "miso-examples" = callPackage
@@ -185738,41 +182955,8 @@ self: {
      }:
      mkDerivation {
        pname = "mmark";
-       version = "0.0.7.2";
-       sha256 = "1wwszzba6fvg0r4q5z2dzashim0nkaxzx4rmjl216kdi08jkp7mm";
-       revision = "3";
-       editedCabalFile = "1ffa76pz544pa3s764lnc38rdmfccyn8z6zn1w76pqb01p0f9k9p";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson base case-insensitive containers deepseq dlist email-validate
-         foldl hashable html-entity-map lucid megaparsec microlens
-         microlens-th modern-uri mtl parser-combinators text text-metrics
-         unordered-containers yaml
-       ];
-       testHaskellDepends = [
-         aeson base foldl hspec hspec-megaparsec lucid megaparsec modern-uri
-         QuickCheck text
-       ];
-       benchmarkHaskellDepends = [ base criterion text weigh ];
-       description = "Strict markdown processor for writers";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "mmark_0_0_7_4" = callPackage
-    ({ mkDerivation, aeson, base, case-insensitive, containers
-     , criterion, deepseq, dlist, email-validate, foldl, hashable, hspec
-     , hspec-megaparsec, html-entity-map, lucid, megaparsec, microlens
-     , microlens-th, modern-uri, mtl, parser-combinators, QuickCheck
-     , text, text-metrics, unordered-containers, weigh, yaml
-     }:
-     mkDerivation {
-       pname = "mmark";
-       version = "0.0.7.4";
-       sha256 = "0flsg9jsnzab74hfidrfdmjvarj3n86db4ysv007j2hlr3iynnxx";
-       revision = "2";
-       editedCabalFile = "06sq65cmqr5yva4spf14bkdsvw465m73hjmvxcfh7vxn0nslp2bc";
+       version = "0.0.7.5";
+       sha256 = "0jh5pbd2f6bqi8rg4q73k7cgbkdc888hjqf99kzcm6k9xllg5770";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base case-insensitive containers deepseq dlist email-validate
@@ -185787,8 +182971,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion text weigh ];
        description = "Strict markdown processor for writers";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "mmark-cli" = callPackage
@@ -185832,6 +183014,7 @@ self: {
        description = "Commonly useful extensions for the MMark markdown processor";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "mmorph_1_1_3" = callPackage
@@ -185891,6 +183074,8 @@ self: {
        libraryHaskellDepends = [ base vector ];
        description = "The library that can be used for multiple (Ord a) => a -> b transformations";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "mmsyn2-array" = callPackage
@@ -185904,6 +183089,17 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "mmsyn2-array-ukrainian-data" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "mmsyn2-array-ukrainian-data";
+       version = "0.1.0.0";
+       sha256 = "1fvwa0aby40pahi5gx47x09qzl6myj6djp6shjv5f07m5ygq3h3q";
+       libraryHaskellDepends = [ base ];
+       description = "Data that is taken from the ukrainian-phonetics-basic-array for optimization";
+       license = lib.licenses.mit;
+     }) {};
+
   "mmsyn2-hashable" = callPackage
     ({ mkDerivation, base, ghc-prim, hashable, hashtables }:
      mkDerivation {
@@ -185924,6 +183120,8 @@ self: {
        libraryHaskellDepends = [ base directory ];
        description = "A small library to deal with executable endings";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "mmsyn4" = callPackage
@@ -185938,14 +183136,15 @@ self: {
        executableHaskellDepends = [ base directory mmsyn3 process ];
        description = "The \"glue\" between electronic tables and GraphViz";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mmsyn5" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "mmsyn5";
-       version = "0.5.0.0";
-       sha256 = "0xbdmlq71pjnsls67mydrfzajnnyyzp0dvzgrg2lms3pssvzs6f1";
+       version = "0.5.1.0";
+       sha256 = "0ay36zs4wxv69i11hr66b07x079p0k41h8zvaz2fl431d3h385rw";
        libraryHaskellDepends = [ base ];
        description = "Various additional operations on lists (some with intermediate Monads)";
        license = lib.licenses.mit;
@@ -185972,6 +183171,7 @@ self: {
        ];
        description = "A musical instrument synthesizer or a tool for Ukrainian language listening";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mmsyn6ukr-array" = callPackage
@@ -185995,6 +183195,7 @@ self: {
        ];
        description = "A musical instrument synthesizer or a tool for Ukrainian language listening";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mmsyn7h" = callPackage
@@ -186017,6 +183218,7 @@ self: {
        ];
        description = "Produces a sound recording specified by the Ukrainian text";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mmsyn7l" = callPackage
@@ -186037,6 +183239,7 @@ self: {
        ];
        description = "Modifies the amplitudes of the Ukrainian sounds representations created by mmsyn7ukr package";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mmsyn7s" = callPackage
@@ -186051,6 +183254,7 @@ self: {
        executableHaskellDepends = [ base mmsyn2 mmsyn5 mmsyn6ukr vector ];
        description = "Shows a sorted list of the Ukrainian sounds representations that can be used by mmsyn7 series of programs";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mmsyn7ukr" = callPackage
@@ -186072,6 +183276,7 @@ self: {
        ];
        description = "A simple basic interface to some SoX functionality or to produce a voice that can be used by mmsyn7h";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mmsyn7ukr-common" = callPackage
@@ -186083,6 +183288,7 @@ self: {
        libraryHaskellDepends = [ base directory mmsyn3 process ];
        description = "Some common for mmsyn7ukr and mmsyn7ukr-array functionality using SoX";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mmtf" = callPackage
@@ -186135,14 +183341,17 @@ self: {
      }) {};
 
   "mnist-idx" = callPackage
-    ({ mkDerivation, base, binary, bytestring, directory, hspec, vector
+    ({ mkDerivation, base, binary, bytestring, directory, hspec
+     , QuickCheck, vector
      }:
      mkDerivation {
        pname = "mnist-idx";
-       version = "0.1.2.8";
-       sha256 = "1zmjj71bv5yzdjm4hmlkiwcvv810mln090yp8znj2j21hiz1dzs2";
+       version = "0.1.3.0";
+       sha256 = "0i65f83bs6l5gjf3wj3ad3c76ni3d22sac5qyi5hi5i93w0px32j";
        libraryHaskellDepends = [ base binary bytestring vector ];
-       testHaskellDepends = [ base binary directory hspec vector ];
+       testHaskellDepends = [
+         base binary directory hspec QuickCheck vector
+       ];
        description = "Read and write IDX data that is used in e.g. the MNIST database.";
        license = lib.licenses.lgpl3Only;
      }) {};
@@ -186197,6 +183406,8 @@ self: {
        ];
        description = "A HTTP server for testing HTTP clients";
        license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "mock-time" = callPackage
@@ -186239,6 +183450,8 @@ self: {
        ];
        description = "Mock records of functions easily";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "mockery" = callPackage
@@ -186342,6 +183555,8 @@ self: {
        pname = "modern-uri";
        version = "0.3.4.3";
        sha256 = "0904ff8pzcbk1swp0s1v5js468qnf3ccyzfcvaa62nsaj4qb7shq";
+       revision = "1";
+       editedCabalFile = "05y666pg4wsv7qpszjpa8d2zqzcmp1gyfkzvgi4nw9n9kmcij8hv";
        libraryHaskellDepends = [
          base bytestring containers contravariant deepseq exceptions
          megaparsec mtl profunctors QuickCheck reflection tagged
@@ -186792,6 +184007,8 @@ self: {
        ];
        description = "Monad, monad transformer, and typeclass representing choices";
        license = lib.licenses.agpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "monad-chronicle" = callPackage
@@ -186922,6 +184139,8 @@ self: {
        ];
        description = "Stronger classes than monad-control";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "monad-coroutine" = callPackage
@@ -186930,8 +184149,8 @@ self: {
      }:
      mkDerivation {
        pname = "monad-coroutine";
-       version = "0.9.1.3";
-       sha256 = "0ns8863695hm4yabd4908znpn1bqc7ayfnzl9bkkqhs70rff2dmh";
+       version = "0.9.2";
+       sha256 = "0bikrq73r1xc6vrpwll3i8pkg4vflj3sa2ifv913mjkcmnwqijzs";
        libraryHaskellDepends = [
          base monad-parallel transformers transformers-compat
        ];
@@ -187091,6 +184310,8 @@ self: {
        ];
        description = "A reader monad that gives the environment access to the entire transformer stack";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "monad-io-adapter" = callPackage
@@ -187244,22 +184465,6 @@ self: {
      }:
      mkDerivation {
        pname = "monad-logger-logstash";
-       version = "0.1.0.0";
-       sha256 = "1k8k5dymnjz2k4iabvwdvy8wzs8gpgqhppsr01z9r32bsslcd5ch";
-       libraryHaskellDepends = [
-         aeson base logstash monad-logger retry stm stm-chans text
-         transformers unliftio
-       ];
-       description = "Logstash backend for monad-logger";
-       license = lib.licenses.mit;
-     }) {};
-
-  "monad-logger-logstash_0_2_0_2" = callPackage
-    ({ mkDerivation, aeson, base, logstash, monad-logger, retry, stm
-     , stm-chans, text, transformers, unliftio
-     }:
-     mkDerivation {
-       pname = "monad-logger-logstash";
        version = "0.2.0.2";
        sha256 = "1f0376s3xmrd0gqz0laxbqsh3h4g12bk0v885ik648bxwaliq2zf";
        libraryHaskellDepends = [
@@ -187268,7 +184473,6 @@ self: {
        ];
        description = "Logstash backend for monad-logger";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "monad-logger-prefix" = callPackage
@@ -187438,6 +184642,7 @@ self: {
        ];
        description = "An extensible and type-safe wrapper around EKG metrics";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "monad-mock" = callPackage
@@ -187539,6 +184744,21 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "monad-parallel_0_8" = callPackage
+    ({ mkDerivation, base, parallel, transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "monad-parallel";
+       version = "0.8";
+       sha256 = "1j905cwc440g7rvbhsdkqf50ag7p2bi6cy2rqsk918rn80fqqra4";
+       libraryHaskellDepends = [
+         base parallel transformers transformers-compat
+       ];
+       description = "Parallel execution of monadic computations";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "monad-parallel-progressbar" = callPackage
     ({ mkDerivation, base, monad-parallel, monadIO
      , terminal-progress-bar
@@ -187675,18 +184895,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "monad-skeleton" = callPackage
-    ({ mkDerivation, base }:
+  "monad-schedule" = callPackage
+    ({ mkDerivation, base, free, stm, time-domain, transformers }:
      mkDerivation {
-       pname = "monad-skeleton";
-       version = "0.1.5";
-       sha256 = "17jm69pwysx2kbx06n80iy396nbj5dys9iwdivargfzx7xql0s59";
-       libraryHaskellDepends = [ base ];
-       description = "Monads of program skeleta";
-       license = lib.licenses.bsd3;
+       pname = "monad-schedule";
+       version = "0.1.0.0";
+       sha256 = "1jc70f71yr886wd150vg97kvbyp489nma0c98xa6drhw720rbwwz";
+       libraryHaskellDepends = [ base free stm time-domain transformers ];
+       description = "A new, simple, composable concurrency abstraction";
+       license = lib.licenses.mit;
      }) {};
 
-  "monad-skeleton_0_2" = callPackage
+  "monad-skeleton" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "monad-skeleton";
@@ -187695,7 +184915,6 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Monads of program skeleta";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "monad-st" = callPackage
@@ -187922,6 +185141,8 @@ self: {
        ];
        description = "Typeclasses for representing monad transformer unlifting";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "monad-unlift-ref" = callPackage
@@ -187939,6 +185160,7 @@ self: {
        ];
        description = "Typeclasses for representing monad transformer unlifting";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "monad-validate" = callPackage
@@ -188000,10 +185222,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "monadLib";
-       version = "3.10";
-       sha256 = "18vvcq6s9aci314daqkniq9aj1wdqa7rd3v06vd506a98c7lwp31";
-       revision = "2";
-       editedCabalFile = "053qbz7k8r3rf948f6y74x16xjvcd4vnyfkrk55xv40qvl3ay89i";
+       version = "3.10.1";
+       sha256 = "0n5fmmsc0qww0nz3k2j4j68qdpq3px46abl9igvv06iz2xi8b778";
        libraryHaskellDepends = [ base ];
        description = "A collection of monad transformers";
        license = lib.licenses.bsd3;
@@ -188102,8 +185322,6 @@ self: {
        testHaskellDepends = [ base ];
        description = "Recursion Schemes for Monadic version";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "monadiccp" = callPackage
@@ -188517,24 +185735,6 @@ self: {
 
   "mono-traversable-keys" = callPackage
     ({ mkDerivation, base, bytestring, containers, hashable, keys
-     , mono-traversable, semigroups, text, transformers
-     , unordered-containers, vector, vector-instances
-     }:
-     mkDerivation {
-       pname = "mono-traversable-keys";
-       version = "0.1.0";
-       sha256 = "0xyl4n0ydfqrjydm2g62r1zl36bdvvp8nbxbqkbai1z24a9r51dw";
-       libraryHaskellDepends = [
-         base bytestring containers hashable keys mono-traversable
-         semigroups text transformers unordered-containers vector
-         vector-instances
-       ];
-       description = "Type-classes for interacting with monomorphic containers with a key";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "mono-traversable-keys_0_2_0" = callPackage
-    ({ mkDerivation, base, bytestring, containers, hashable, keys
      , mono-traversable, text, transformers, unordered-containers
      , vector, vector-instances
      }:
@@ -188548,7 +185748,6 @@ self: {
        ];
        description = "Type-classes for interacting with monomorphic containers with a key";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mono-traversable-wrapper" = callPackage
@@ -188642,10 +185841,9 @@ self: {
      }) {};
 
   "monoid-statistics" = callPackage
-    ({ mkDerivation, base, criterion, doctest, exceptions
-     , math-functions, mwc-random, QuickCheck, tasty
-     , tasty-expected-failure, tasty-hunit, tasty-quickcheck, vector
-     , vector-th-unbox
+    ({ mkDerivation, base, criterion, exceptions, math-functions
+     , mwc-random, QuickCheck, tasty, tasty-expected-failure
+     , tasty-hunit, tasty-quickcheck, vector, vector-th-unbox
      }:
      mkDerivation {
        pname = "monoid-statistics";
@@ -188655,7 +185853,7 @@ self: {
          base exceptions math-functions vector vector-th-unbox
        ];
        testHaskellDepends = [
-         base doctest math-functions QuickCheck tasty tasty-expected-failure
+         base math-functions QuickCheck tasty tasty-expected-failure
          tasty-hunit tasty-quickcheck
        ];
        benchmarkHaskellDepends = [
@@ -188913,8 +186111,6 @@ self: {
        ];
        description = "MonthName";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "monus" = callPackage
@@ -188952,8 +186148,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion random ];
        description = "Efficient search weighted by an ordered monoid with monus";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "monzo" = callPackage
@@ -189016,6 +186210,7 @@ self: {
        description = "Invocation helpers for the ReaderT-record-of-functions style";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "moonshine" = callPackage
@@ -189032,6 +186227,7 @@ self: {
        ];
        description = "A web service framework for Haskell, similar in purpose to dropwizard";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "more-containers" = callPackage
@@ -189261,6 +186457,7 @@ self: {
        description = "A multi-lingual, typed, workflow language";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "morph" = callPackage
@@ -189284,33 +186481,6 @@ self: {
 
   "morpheus-graphql" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers
-     , morpheus-graphql-app, morpheus-graphql-core
-     , morpheus-graphql-subscriptions, mtl, relude, tasty, tasty-hunit
-     , template-haskell, text, transformers, unordered-containers
-     , vector
-     }:
-     mkDerivation {
-       pname = "morpheus-graphql";
-       version = "0.17.0";
-       sha256 = "0k9nlik5qi1ff4m731da5wlaadx024irgn2v1hyz2bv9n1q28cqs";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson base bytestring containers morpheus-graphql-app
-         morpheus-graphql-core mtl relude template-haskell text transformers
-         unordered-containers vector
-       ];
-       testHaskellDepends = [
-         aeson base bytestring containers morpheus-graphql-app
-         morpheus-graphql-core morpheus-graphql-subscriptions mtl relude
-         tasty tasty-hunit template-haskell text transformers
-         unordered-containers vector
-       ];
-       description = "Morpheus GraphQL";
-       license = lib.licenses.mit;
-     }) {};
-
-  "morpheus-graphql_0_18_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers
      , morpheus-graphql-app, morpheus-graphql-code-gen
      , morpheus-graphql-core, morpheus-graphql-subscriptions
      , morpheus-graphql-tests, mtl, relude, tasty, tasty-hunit
@@ -189319,8 +186489,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql";
-       version = "0.18.0";
-       sha256 = "1358hjnxla83v7rkn49r07cs8n49czm5shfdpc3avl564w1bzmzi";
+       version = "0.19.0";
+       sha256 = "0yfqbpis3385hqm3xlyx0ks2jnrwvkx898g2m2rb3qskaqblfcj9";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers morpheus-graphql-app
@@ -189341,32 +186511,6 @@ self: {
 
   "morpheus-graphql-app" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
-     , hashable, megaparsec, morpheus-graphql-core, mtl, relude
-     , scientific, tasty, tasty-hunit, template-haskell, text
-     , th-lift-instances, transformers, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "morpheus-graphql-app";
-       version = "0.17.0";
-       sha256 = "0l3brvcv7ang83yiv1bdg4v8hvajq4cbq2dr28q1j39a4r85f9xz";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson base bytestring containers hashable megaparsec
-         morpheus-graphql-core mtl relude scientific template-haskell text
-         th-lift-instances transformers unordered-containers vector
-       ];
-       testHaskellDepends = [
-         aeson base bytestring containers directory hashable megaparsec
-         morpheus-graphql-core mtl relude scientific tasty tasty-hunit
-         template-haskell text th-lift-instances transformers
-         unordered-containers vector
-       ];
-       description = "Morpheus GraphQL Core";
-       license = lib.licenses.mit;
-     }) {};
-
-  "morpheus-graphql-app_0_18_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, directory
      , hashable, megaparsec, morpheus-graphql-core
      , morpheus-graphql-tests, mtl, relude, scientific, tasty
      , tasty-hunit, template-haskell, text, th-lift-instances
@@ -189374,8 +186518,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql-app";
-       version = "0.18.0";
-       sha256 = "1s9v87pgn7fdnyx1776y4nvf0kx0ry08r5522dyqgwzfgd4s059z";
+       version = "0.19.0";
+       sha256 = "0k7bl9gs8sdmfi5wdka5rjlp5vjn7py8n8a09rwws7kgqa3lvd0n";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers hashable megaparsec
@@ -189412,42 +186556,18 @@ self: {
        description = "Morpheus GraphQL CLI";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "morpheus-graphql-client" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory
-     , morpheus-graphql-core, mtl, relude, tasty, tasty-hunit
-     , template-haskell, text, transformers, unordered-containers
-     }:
-     mkDerivation {
-       pname = "morpheus-graphql-client";
-       version = "0.17.0";
-       sha256 = "1djgxy59s98na1s182p5a06qjhw8n862zka96wwp8ckyx2jpjkq3";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson base bytestring morpheus-graphql-core mtl relude
-         template-haskell text transformers unordered-containers
-       ];
-       testHaskellDepends = [
-         aeson base bytestring directory morpheus-graphql-core mtl relude
-         tasty tasty-hunit template-haskell text transformers
-         unordered-containers
-       ];
-       description = "Morpheus GraphQL Client";
-       license = lib.licenses.mit;
-     }) {};
-
-  "morpheus-graphql-client_0_18_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, directory
      , morpheus-graphql-code-gen, morpheus-graphql-core, mtl, relude
      , tasty, tasty-hunit, template-haskell, text, transformers
      , unordered-containers
      }:
      mkDerivation {
        pname = "morpheus-graphql-client";
-       version = "0.18.0";
-       sha256 = "0i8f932gq3p1ybh764pkr189iisbjqcjcq92awqyzxgpj39j0gg0";
+       version = "0.19.0";
+       sha256 = "00hgxi8c7alfpvhxwcb7gcxki14vaasmg1qycfnyj7s2715w6i4c";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring morpheus-graphql-code-gen
@@ -189471,8 +186591,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql-code-gen";
-       version = "0.18.0";
-       sha256 = "1965y2wd813y82mllzrnhiyjk2mp0vi7j6x7phwlmpabmsij5x0f";
+       version = "0.19.0";
+       sha256 = "0avy4imllxlfyfw3fvwb0nzwd03pwdr0s67k3a2gymhqqz3zf37i";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -189487,44 +186607,18 @@ self: {
        description = "Morpheus GraphQL CLI";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "morpheus-graphql-core" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
-     , hashable, megaparsec, mtl, relude, scientific, tasty, tasty-hunit
-     , template-haskell, text, th-lift-instances, transformers
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "morpheus-graphql-core";
-       version = "0.17.0";
-       sha256 = "0rj4g05365hp5c9b5y0v0v7s73jw3gkq3g0z3m6xrpxi3j2gp0p8";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson base bytestring containers hashable megaparsec mtl relude
-         scientific template-haskell text th-lift-instances transformers
-         unordered-containers vector
-       ];
-       testHaskellDepends = [
-         aeson base bytestring containers directory hashable megaparsec mtl
-         relude scientific tasty tasty-hunit template-haskell text
-         th-lift-instances transformers unordered-containers vector
-       ];
-       description = "Morpheus GraphQL Core";
-       license = lib.licenses.mit;
-     }) {};
-
-  "morpheus-graphql-core_0_18_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, directory
      , hashable, megaparsec, morpheus-graphql-tests, mtl, relude
      , scientific, tasty, tasty-hunit, template-haskell, text
      , th-lift-instances, transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "morpheus-graphql-core";
-       version = "0.18.0";
-       sha256 = "07j3i5dfc245l9gil3dk6c5sd7853m5923dxa993fj4gd564mwfd";
+       version = "0.19.0";
+       sha256 = "03sr4yy0n5wr53xk1x623d1zj03v6zpsv7csafp5m40kijx0bl2q";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers hashable megaparsec mtl relude
@@ -189540,6 +186634,7 @@ self: {
        description = "Morpheus GraphQL Core";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "morpheus-graphql-subscriptions" = callPackage
@@ -189550,8 +186645,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql-subscriptions";
-       version = "0.17.0";
-       sha256 = "14bpnzxxiid5582z5fi8nwb8rrhm7lgxscgkjxw34ng41wyv6686";
+       version = "0.19.0";
+       sha256 = "179cwrmyj42hzd70qymrg7y5ll6ld5miadhlr0w0mqbfqnbj0lbv";
        libraryHaskellDepends = [
          aeson base bytestring morpheus-graphql-app morpheus-graphql-core
          mtl relude text transformers unliftio-core unordered-containers
@@ -189564,47 +186659,40 @@ self: {
        ];
        description = "Morpheus GraphQL Subscriptions";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "morpheus-graphql-subscriptions_0_18_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, directory
-     , morpheus-graphql-app, morpheus-graphql-core, mtl, relude, tasty
-     , tasty-hunit, text, transformers, unliftio-core
-     , unordered-containers, uuid, websockets
+  "morpheus-graphql-tests" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, relude, tasty
+     , tasty-hunit, text, unordered-containers
      }:
      mkDerivation {
-       pname = "morpheus-graphql-subscriptions";
+       pname = "morpheus-graphql-tests";
        version = "0.18.0";
-       sha256 = "02xpnrvd8wydp1b7jvk2pqcrx6ldn8nvffz22g0l5xrrpcvhg9s4";
+       sha256 = "0l89mmsl09ph412l8f9xjlyx8yp5g69ffmajynxcqvj501n21s9z";
        libraryHaskellDepends = [
-         aeson base bytestring morpheus-graphql-app morpheus-graphql-core
-         mtl relude text transformers unliftio-core unordered-containers
-         uuid websockets
-       ];
-       testHaskellDepends = [
-         aeson base bytestring directory morpheus-graphql-app
-         morpheus-graphql-core mtl relude tasty tasty-hunit text
-         transformers unliftio-core unordered-containers uuid websockets
+         aeson base bytestring directory relude tasty tasty-hunit text
+         unordered-containers
        ];
-       description = "Morpheus GraphQL Subscriptions";
+       description = "Morpheus GraphQL Test";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "morpheus-graphql-tests" = callPackage
+  "morpheus-graphql-tests_0_19_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, relude, tasty
      , tasty-hunit, text, unordered-containers
      }:
      mkDerivation {
        pname = "morpheus-graphql-tests";
-       version = "0.18.0";
-       sha256 = "0l89mmsl09ph412l8f9xjlyx8yp5g69ffmajynxcqvj501n21s9z";
+       version = "0.19.0";
+       sha256 = "1ymwgsdj4gl88rarqjgb0bx05gdanqxwghz8ws2hh5cvn9m9g4sb";
        libraryHaskellDepends = [
          aeson base bytestring directory relude tasty tasty-hunit text
          unordered-containers
        ];
        description = "Morpheus GraphQL Test";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "morphisms" = callPackage
@@ -189721,7 +186809,6 @@ self: {
        description = "Library for setting up and running scrapers with webdriver";
        license = lib.licenses.bsd2;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "mosaico-lib" = callPackage
@@ -189741,6 +186828,7 @@ self: {
        description = "Generación interactiva de mosaicos";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "mosquitto-hs" = callPackage
@@ -189809,8 +186897,6 @@ self: {
        ];
        description = "PostgreSQL-based migrations registry for moto";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "motor" = callPackage
@@ -189832,6 +186918,8 @@ self: {
        testHaskellDepends = [ base indexed indexed-extras row-types ];
        description = "Type-safe effectful state machines in Haskell";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "motor-diagrams" = callPackage
@@ -189870,7 +186958,6 @@ self: {
        description = "Reflect on Motor FSM typeclasses to obtain runtime representations";
        license = lib.licenses.mpl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "mount" = callPackage
@@ -190000,6 +187087,8 @@ self: {
        libraryHaskellDepends = [ base ghc-prim primitive ];
        description = "Efficient effect handlers based on evidence-passing semantics";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "mpg123-bindings" = callPackage
@@ -190230,6 +187319,7 @@ self: {
        testHaskellDepends = [ base hspec ip text ];
        description = "Datastructures to describe TCP and MPTCP connections";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mptcp-pm" = callPackage
@@ -190267,7 +187357,6 @@ self: {
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "mptcpanalyzer" = callPackage
@@ -190394,6 +187483,8 @@ self: {
        testHaskellDepends = [ base hspec ];
        description = "A simple way to read environment variables in Haskell";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "mrifk" = callPackage
@@ -190512,27 +187603,45 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "msgpack-arbitrary" = callPackage
+    ({ mkDerivation, base, bytestring, hspec, hspec-discover
+     , msgpack-types, QuickCheck, quickcheck-instances, text, time
+     }:
+     mkDerivation {
+       pname = "msgpack-arbitrary";
+       version = "0.1.3";
+       sha256 = "05101pbns787r707m8vq35zli6y6hq96ydnxgpzh6qdpnsfdaw5a";
+       libraryHaskellDepends = [
+         base bytestring msgpack-types QuickCheck quickcheck-instances text
+         time
+       ];
+       testHaskellDepends = [ base hspec msgpack-types QuickCheck ];
+       testToolDepends = [ hspec-discover ];
+       description = "A Haskell implementation of MessagePack";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "msgpack-binary" = callPackage
-    ({ mkDerivation, base, binary, bytestring, containers, criterion
-     , data-binary-ieee754, deepseq, groom, hashable, hspec
-     , monad-validate, msgpack-types, QuickCheck, text
-     , unordered-containers, vector
+    ({ mkDerivation, base, binary, bytestring, criterion
+     , data-binary-ieee754, deepseq, groom, hspec, monad-validate
+     , msgpack-arbitrary, msgpack-testsuite, msgpack-types, QuickCheck
+     , quickcheck-instances, text, time, vector
      }:
      mkDerivation {
        pname = "msgpack-binary";
-       version = "0.0.15";
-       sha256 = "0i3m4n5gw4a5ryikmy2drzh95g7766pdfsb5bahin8cmi1bq5bj5";
+       version = "0.0.16";
+       sha256 = "1yf4kqqss3r1b8209g4qld6cqgmrnhzgb01vvawmf8x5ryfi81gv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base binary bytestring data-binary-ieee754 monad-validate
-         msgpack-types text
+         msgpack-types text vector
        ];
-       executableHaskellDepends = [ base bytestring groom ];
-       testHaskellDepends = [
-         base bytestring containers hashable hspec msgpack-types QuickCheck
-         text unordered-containers vector
+       executableHaskellDepends = [
+         base bytestring groom msgpack-arbitrary QuickCheck
+         quickcheck-instances time vector
        ];
+       testHaskellDepends = [ base hspec msgpack-testsuite ];
        benchmarkHaskellDepends = [
          base bytestring criterion deepseq QuickCheck
        ];
@@ -190588,6 +187697,8 @@ self: {
        ];
        description = "A Haskell implementation of MessagePack";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "msgpack-rpc" = callPackage
@@ -190634,16 +187745,17 @@ self: {
 
   "msgpack-testsuite" = callPackage
     ({ mkDerivation, base, bytestring, containers, hashable, hspec
-     , monad-validate, msgpack-types, QuickCheck, text
-     , unordered-containers, vector
+     , monad-validate, msgpack-arbitrary, msgpack-types, QuickCheck
+     , quickcheck-instances, text, unordered-containers, vector
      }:
      mkDerivation {
        pname = "msgpack-testsuite";
-       version = "0.0.15";
-       sha256 = "0dy7knji7nckdkp0kpnxxc7nmqyzbkq7j0aas59p3yg0n1nsd2bd";
+       version = "0.1.0";
+       sha256 = "0j9mq7dfxh0fs07v83ilwc8y15fh2ygg2p5cwhprvrqy7l621gj1";
        libraryHaskellDepends = [
          base bytestring containers hashable hspec monad-validate
-         msgpack-types QuickCheck text unordered-containers vector
+         msgpack-arbitrary msgpack-types QuickCheck quickcheck-instances
+         text unordered-containers vector
        ];
        testHaskellDepends = [ base hspec ];
        description = "A Haskell implementation of MessagePack";
@@ -190653,20 +187765,21 @@ self: {
   "msgpack-types" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq
      , generic-arbitrary, hashable, hspec, hspec-discover
-     , monad-validate, QuickCheck, text, transformers
-     , unordered-containers, vector
+     , monad-validate, QuickCheck, quickcheck-instances, text
+     , transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "msgpack-types";
-       version = "0.2.1";
-       sha256 = "1s6i7y2mr04z6bdhq307xqm78h1d8f7a17i3fbdknsiw5lvfsj49";
+       version = "0.3.2";
+       sha256 = "18j119m34yivl2fr599q92h3c7z6c0lk71410qfn5hfdlhs83132";
        libraryHaskellDepends = [
-         base bytestring containers deepseq hashable monad-validate
-         QuickCheck text transformers unordered-containers vector
+         base bytestring containers deepseq hashable monad-validate text
+         transformers unordered-containers vector
        ];
        testHaskellDepends = [
          base bytestring containers deepseq generic-arbitrary hashable hspec
-         monad-validate QuickCheck text unordered-containers vector
+         monad-validate QuickCheck quickcheck-instances text
+         unordered-containers vector
        ];
        testToolDepends = [ hspec-discover ];
        description = "A Haskell implementation of MessagePack";
@@ -190964,6 +188077,8 @@ self: {
        libraryHaskellDepends = [ base mtl ];
        description = "Reified monad transformer stacks";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "mu-avro" = callPackage
@@ -190989,6 +188104,7 @@ self: {
        ];
        description = "Avro serialization support for Mu microservices";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mu-graphql" = callPackage
@@ -191019,7 +188135,6 @@ self: {
        description = "GraphQL support for Mu";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "mu-grpc-client" = callPackage
@@ -191061,6 +188176,7 @@ self: {
        ];
        description = "gRPC for Mu, common modules for client and server";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mu-grpc-server" = callPackage
@@ -191104,6 +188220,7 @@ self: {
        ];
        description = "Utilities for interoperation between Mu and Kafka";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mu-lens" = callPackage
@@ -191119,6 +188236,7 @@ self: {
        ];
        description = "Lenses for @mu-schema@ terms";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mu-optics" = callPackage
@@ -191133,6 +188251,7 @@ self: {
        ];
        description = "Optics for @mu-schema@ terms";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mu-persistent" = callPackage
@@ -191149,6 +188268,7 @@ self: {
        ];
        description = "Utilities for interoperation between Mu and Persistent";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mu-prometheus" = callPackage
@@ -191165,6 +188285,7 @@ self: {
        ];
        description = "Metrics support for Mu using Prometheus";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mu-protobuf" = callPackage
@@ -191192,6 +188313,7 @@ self: {
        ];
        description = "Protocol Buffers serialization and gRPC schema import for Mu microservices";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mu-rpc" = callPackage
@@ -191208,6 +188330,7 @@ self: {
        ];
        description = "Protocol-independent declaration of services and servers";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mu-schema" = callPackage
@@ -191226,6 +188349,8 @@ self: {
        ];
        description = "Format-independent schemas for serialization";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "mu-servant-server" = callPackage
@@ -191249,6 +188374,7 @@ self: {
        ];
        description = "Servant servers for Mu definitions";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mu-tracing" = callPackage
@@ -191436,19 +188562,6 @@ self: {
     ({ mkDerivation, base, containers, hspec, hspec-discover }:
      mkDerivation {
        pname = "multi-containers";
-       version = "0.1.1";
-       sha256 = "0spqq8a9lzz7ajwdxsnnvs7q4n4y1g1yb0k16ykldvy3b21bckb6";
-       libraryHaskellDepends = [ base containers ];
-       testHaskellDepends = [ base containers hspec ];
-       testToolDepends = [ hspec-discover ];
-       description = "A few multimap variants";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "multi-containers_0_2" = callPackage
-    ({ mkDerivation, base, containers, hspec, hspec-discover }:
-     mkDerivation {
-       pname = "multi-containers";
        version = "0.2";
        sha256 = "0vvkdy74xr7jv0w33lrzfvzsjwsfmwlhlbyfql3pi6rb9r4x690v";
        libraryHaskellDepends = [ base containers ];
@@ -191456,7 +188569,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A few multimap variants";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "multi-except" = callPackage
@@ -191469,22 +188581,18 @@ self: {
        testHaskellDepends = [ base hspec semigroupoids ];
        description = "Multiple Exceptions";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "multi-instance" = callPackage
-    ({ mkDerivation, base, doctest }:
+    ({ mkDerivation, base, hedgehog }:
      mkDerivation {
        pname = "multi-instance";
-       version = "0.0.0.4";
-       sha256 = "0lcwxwdirjkacir6y01hzz8pfvk1fv1nq08w3pvvzmmmnydjcgjk";
+       version = "0.0.0.5";
+       sha256 = "0c90arbnaclxvwc0l4n3macrgbv41rxh0895qp2m65nb9racihh2";
        libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base doctest ];
+       testHaskellDepends = [ base hedgehog ];
        description = "Typeclasses augmented with a phantom type parameter";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "multi-trie" = callPackage
@@ -192156,7 +189264,6 @@ self: {
        description = "Simple CUI Twitter Client";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "murmur-hash" = callPackage
@@ -192186,8 +189293,6 @@ self: {
        ];
        description = "Pure Haskell implementation of the MurmurHash3 x86 algorithm";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "murmurhash3" = callPackage
@@ -192227,7 +189332,6 @@ self: {
        description = "Minimalist MPD client";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "music-articulation" = callPackage
@@ -192522,17 +189626,16 @@ self: {
 
   "musicw" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, data-default
-     , file-embed, ghcjs-base, ghcjs-dom, ghcjs-prim, json, monad-loops
-     , mtl, safe, text, time, transformers
+     , file-embed, ghcjs-base, ghcjs-dom, ghcjs-prim, monad-loops, mtl
+     , safe, text, time, transformers
      }:
      mkDerivation {
        pname = "musicw";
-       version = "0.3.8";
-       sha256 = "00hw1ayzcyh9dxrha3kmyi9r69d5bb942ggl020jm3r5jayzs28h";
+       version = "0.3.10";
+       sha256 = "1dz8010h2qj5m7zn1shjl6j7wvdjgxppafmbhplgazhhfpfj1jss";
        libraryHaskellDepends = [
          array base bytestring containers data-default file-embed ghcjs-base
-         ghcjs-dom ghcjs-prim json monad-loops mtl safe text time
-         transformers
+         ghcjs-dom ghcjs-prim monad-loops mtl safe text time transformers
        ];
        description = "Sound synthesis library, to be used with GHCJS and Web Audio API";
        license = lib.licenses.bsd3;
@@ -192583,38 +189686,8 @@ self: {
      }:
      mkDerivation {
        pname = "mustache";
-       version = "2.3.2";
-       sha256 = "0pnvnqrm7sd1iglh298yl91mv69p3ra25s5xrlk73kb56albdbaq";
-       revision = "1";
-       editedCabalFile = "11y1mdb9p5b86ld8giy5n5idylnmyafp170rhp45vmdjhyfjivjv";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base bytestring containers directory filepath mtl parsec
-         scientific template-haskell text th-lift unordered-containers
-         vector
-       ];
-       executableHaskellDepends = [
-         aeson base bytestring cmdargs filepath text yaml
-       ];
-       testHaskellDepends = [
-         aeson base base-unicode-symbols bytestring directory filepath hspec
-         lens process tar temporary text unordered-containers wreq yaml zlib
-       ];
-       description = "A mustache template parser library";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "mustache_2_4_0" = callPackage
-    ({ mkDerivation, aeson, base, base-unicode-symbols, bytestring
-     , cmdargs, containers, directory, filepath, hspec, lens, mtl
-     , parsec, process, scientific, tar, template-haskell, temporary
-     , text, th-lift, unordered-containers, vector, wreq, yaml, zlib
-     }:
-     mkDerivation {
-       pname = "mustache";
-       version = "2.4.0";
-       sha256 = "0g7bwfc1yx59lk2l12wbh67ydk4rnwam2kv6ypc85qxd0pjbcd4n";
+       version = "2.4.1";
+       sha256 = "1hp4g8mjh6aibhj7114dkpsnibxcf223lcaqm6hsysb8c2d1ajlr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -192631,7 +189704,6 @@ self: {
        ];
        description = "A mustache template parser library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mustache-haskell" = callPackage
@@ -192752,6 +189824,8 @@ self: {
        benchmarkHaskellDepends = [ base extra primitive ];
        description = "Interoperate mutable references with regular lens";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "mute-unmute" = callPackage
@@ -192777,13 +189851,11 @@ self: {
     ({ mkDerivation, base, safe-exceptions }:
      mkDerivation {
        pname = "mvar-lock";
-       version = "0.1.0.2";
-       sha256 = "09diqzb4vp7bcg6v16fgjb70mi68i8srnyxf6qga58va6avbc4wg";
+       version = "0.1.0.3";
+       sha256 = "04cznws3qq9km75ssigz3cfnjkh5lldgmyy29p8vrdf4s2g8i4z1";
        libraryHaskellDepends = [ base safe-exceptions ];
        description = "A trivial lock based on MVar";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "mvc" = callPackage
@@ -192906,6 +189978,7 @@ self: {
        libraryHaskellDepends = [ accelerate base mwc-random ];
        description = "Generate Accelerate arrays filled with high quality pseudorandom numbers";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mwc-random-monad" = callPackage
@@ -193266,6 +190339,7 @@ self: {
        ];
        description = "pure haskell MySQL driver";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mysql-haskell-nem" = callPackage
@@ -193281,6 +190355,7 @@ self: {
        ];
        description = "Adds a interface like mysql-simple to mysql-haskell";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mysql-haskell-openssl" = callPackage
@@ -193302,18 +190377,18 @@ self: {
 
   "mysql-simple" = callPackage
     ({ mkDerivation, attoparsec, base, base16-bytestring, blaze-builder
-     , blaze-textual, bytestring, containers, hspec, mysql, old-locale
-     , pcre-light, text, time
+     , bytestring, containers, hspec, mysql, old-locale, pcre-light
+     , text, time, vector
      }:
      mkDerivation {
        pname = "mysql-simple";
-       version = "0.4.7.1";
-       sha256 = "011pmniplphwzkv6chcnl2vljb2w4hc0iakdwlicykvrhx86nh3v";
+       version = "0.4.7.2";
+       sha256 = "0wi4zqgnf4kfw95sm1wrl4260f2v5wz2k9kvgngb640y6sb034mc";
        libraryHaskellDepends = [
-         attoparsec base base16-bytestring blaze-builder blaze-textual
-         bytestring containers mysql old-locale pcre-light text time
+         attoparsec base base16-bytestring blaze-builder bytestring
+         containers mysql old-locale pcre-light text time vector
        ];
-       testHaskellDepends = [ base blaze-builder hspec text ];
+       testHaskellDepends = [ base blaze-builder bytestring hspec text ];
        description = "A mid-level MySQL client library";
        license = lib.licenses.bsd3;
      }) {};
@@ -193394,6 +190469,7 @@ self: {
        description = "Web application to view and kill MySQL queries";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "myxine-client" = callPackage
@@ -193664,6 +190740,8 @@ self: {
        executableHaskellDepends = [ base text ];
        description = "Tool to keep namecoin names updated and well";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "named" = callPackage
@@ -193728,6 +190806,8 @@ self: {
        libraryHaskellDepends = [ base named servant ];
        description = "support records and named (from the named package) parameters in servant";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "named-servant-client" = callPackage
@@ -193743,6 +190823,7 @@ self: {
        ];
        description = "client support for named-servant";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "named-servant-server" = callPackage
@@ -193759,7 +190840,6 @@ self: {
        description = "server support for named-servant";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "named-sop" = callPackage
@@ -194144,8 +191224,6 @@ self: {
        testHaskellDepends = [ base optics-core text ];
        description = "Refinement types for natural numbers with an optics interface";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "nat-sized-numbers" = callPackage
@@ -194580,6 +191658,8 @@ self: {
        ];
        description = "General tools for Neil";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "neither" = callPackage
@@ -194595,6 +191675,19 @@ self: {
        broken = true;
      }) {};
 
+  "neither-data" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "neither-data";
+       version = "0.2.3.4";
+       sha256 = "08jk7hn5mp89vxfkh9cl7rj5b9sjjwil4lic5gpgsbwpvy8rd8a8";
+       libraryHaskellDepends = [ base ];
+       description = "The Neither datatype";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "neko-lib" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, directory
      , optparse-applicative, process, random, tagged, tasty, tasty-hunit
@@ -194636,6 +191729,7 @@ self: {
        ];
        description = "a TCP tunnel with packet length obfuscation";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "nemesis" = callPackage
@@ -194895,39 +191989,6 @@ self: {
 
   "net-mqtt" = callPackage
     ({ mkDerivation, async, attoparsec, attoparsec-binary, base, binary
-     , bytestring, conduit, conduit-extra, connection, containers
-     , deepseq, HUnit, network-conduit-tls, network-uri
-     , optparse-applicative, QuickCheck, stm, tasty, tasty-hunit
-     , tasty-quickcheck, text, websockets
-     }:
-     mkDerivation {
-       pname = "net-mqtt";
-       version = "0.7.1.1";
-       sha256 = "0iy39a2rncaasf5psjnsgkmigggx9apk9xvq354idw69b1bjhvnv";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         async attoparsec attoparsec-binary base binary bytestring conduit
-         conduit-extra connection containers deepseq network-conduit-tls
-         network-uri QuickCheck stm text websockets
-       ];
-       executableHaskellDepends = [
-         async attoparsec attoparsec-binary base binary bytestring conduit
-         conduit-extra connection containers deepseq network-conduit-tls
-         network-uri optparse-applicative QuickCheck stm text websockets
-       ];
-       testHaskellDepends = [
-         async attoparsec attoparsec-binary base binary bytestring conduit
-         conduit-extra connection containers deepseq HUnit
-         network-conduit-tls network-uri QuickCheck stm tasty tasty-hunit
-         tasty-quickcheck text websockets
-       ];
-       description = "An MQTT Protocol Implementation";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "net-mqtt_0_8_2_0" = callPackage
-    ({ mkDerivation, async, attoparsec, attoparsec-binary, base, binary
      , bytestring, checkers, conduit, conduit-extra, connection
      , containers, deepseq, HUnit, network-conduit-tls, network-uri
      , optparse-applicative, QuickCheck, stm, tasty, tasty-hunit
@@ -194958,6 +192019,7 @@ self: {
        description = "An MQTT Protocol Implementation";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "net-mqtt-lens" = callPackage
@@ -194974,6 +192036,7 @@ self: {
        ];
        description = "Optics for net-mqtt";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "net-mqtt-rpc" = callPackage
@@ -194996,7 +192059,6 @@ self: {
        description = "Make RPC calls via an MQTT broker";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "net-spider" = callPackage
@@ -195178,6 +192240,7 @@ self: {
        description = "The NetCore compiler and runtime system for OpenFlow networks";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "netease-fm" = callPackage
@@ -195340,8 +192403,8 @@ self: {
        pname = "netrc";
        version = "0.2.0.0";
        sha256 = "11iax3ick0im397jyyjkny7lax9bgrlgk90a25dp2jsglkphfpls";
-       revision = "7";
-       editedCabalFile = "0cmkwkqxzbhrzzwypvmamwcr5ndyk1qc5pjy1rnc50xx7wznw7hf";
+       revision = "8";
+       editedCabalFile = "1lkclsfxb7kn8nmghrrk7j1jzqi1z6amq91h43gfvmpnm7x6cvwl";
        libraryHaskellDepends = [ base bytestring deepseq parsec ];
        testHaskellDepends = [
          base bytestring tasty tasty-golden tasty-quickcheck
@@ -195476,6 +192539,7 @@ self: {
        description = "OpenFlow protocol messages, binary formats, and servers";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "netwire" = callPackage
@@ -195582,21 +192646,6 @@ self: {
 
   "network" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, directory, hspec
-     , hspec-discover, HUnit
-     }:
-     mkDerivation {
-       pname = "network";
-       version = "3.1.1.1";
-       sha256 = "16ic2hgvadyiy0zfnyd2zknf8rxqmwzpy5mw5x9apwpzfc0mkvyp";
-       libraryHaskellDepends = [ base bytestring deepseq ];
-       testHaskellDepends = [ base bytestring directory hspec HUnit ];
-       testToolDepends = [ hspec-discover ];
-       description = "Low-level networking interface";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "network_3_1_2_7" = callPackage
-    ({ mkDerivation, base, bytestring, deepseq, directory, hspec
      , hspec-discover, HUnit, QuickCheck, temporary
      }:
      mkDerivation {
@@ -195610,7 +192659,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Low-level networking interface";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "network-address" = callPackage
@@ -195724,6 +192772,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Arbitrary Instances for Network Types";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "network-attoparsec" = callPackage
@@ -195851,6 +192901,8 @@ self: {
        ];
        description = "A Haskell implementation of the Carbon protocol (part of the Graphite monitoring tools)";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "network-conduit" = callPackage
@@ -196108,7 +193160,6 @@ self: {
        ];
        description = "WebSocket backend for MessagePack RPC";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "network-metrics" = callPackage
@@ -196577,8 +193628,6 @@ self: {
        ];
        description = "Unit tests for Network.Transport implementations";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "network-transport-zeromq" = callPackage
@@ -196671,7 +193720,6 @@ self: {
        description = "FromJSON and ToJSON Instances for Network.URI";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "network-uri-lenses" = callPackage
@@ -196728,6 +193776,22 @@ self: {
        broken = true;
      }) {};
 
+  "network-wait" = callPackage
+    ({ mkDerivation, base, exceptions, network, network-simple, retry
+     , tasty, tasty-hunit
+     }:
+     mkDerivation {
+       pname = "network-wait";
+       version = "0.1.1.0";
+       sha256 = "03gkmk7nasj48ld0gdq8j4mvn1ja94ljsfdcc0nsgkd89jcd4ng4";
+       libraryHaskellDepends = [ base exceptions network retry ];
+       testHaskellDepends = [
+         base exceptions network network-simple retry tasty tasty-hunit
+       ];
+       description = "Lightweight library for waiting on networked services to become available";
+       license = lib.licenses.mit;
+     }) {};
+
   "network-websocket" = callPackage
     ({ mkDerivation, base, haskell98, network, webserver }:
      mkDerivation {
@@ -196792,7 +193856,6 @@ self: {
        description = "Neural Networks in native Haskell";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "neural-network-base" = callPackage
@@ -196914,6 +193977,8 @@ self: {
        testHaskellDepends = [ array base bytestring hspec QuickCheck ];
        description = "Encodes and decodes numbers using Tantek Çelik's New Base 60 number system";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "newhope" = callPackage
@@ -197413,7 +194478,6 @@ self: {
        description = "Nico Nico Douga (ニコニコ動画) Comment Translator";
        license = lib.licenses.agpl3Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "nikepub" = callPackage
@@ -197622,8 +194686,8 @@ self: {
      }:
      mkDerivation {
        pname = "nix-diff";
-       version = "1.0.17";
-       sha256 = "1jv7gqa081fjkf36l7868slpqr9qf0jd65s3wr24h5q1jlbcnfk2";
+       version = "1.0.18";
+       sha256 = "0pqz207zywcs38w8yaq5qgbsps7vx0zf2wykaxq9zs43d74ygh64";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -197690,8 +194754,8 @@ self: {
      }:
      mkDerivation {
        pname = "nix-graph";
-       version = "1.0.0.0";
-       sha256 = "1hxby1xpzld55whpb1kzzdl3gi250svpl1lw5xw9qg10a3md29zh";
+       version = "1.0.1.0";
+       sha256 = "0m736px76d2q11m77n9kfw43sh9hqlj1z00ny5xihavxn7jja0xn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -197703,6 +194767,8 @@ self: {
        ];
        description = "Reify the Nix build graph into a Haskell graph data structure";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "nix-narinfo" = callPackage
@@ -197763,6 +194829,7 @@ self: {
        ];
        description = "Lightweight dependency management with Nix";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "nix-tools" = callPackage
@@ -197851,10 +194918,8 @@ self: {
      }:
      mkDerivation {
        pname = "nixfmt";
-       version = "0.4.0";
-       sha256 = "1ispgl8rc2scr6v8bb6sks7px856jf61x74zj2iyddrn5qamkb3n";
-       revision = "1";
-       editedCabalFile = "1hsj0jh6siph3afd9c2wii09sffl48rzqv653n4clpd8qy0rn48d";
+       version = "0.5.0";
+       sha256 = "0rxi8zrd2xr72w673nvgnhb0g3r7rssc1ahlhz8rmdpc6c1a82wl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -197978,7 +195043,6 @@ self: {
        description = "Manipulating the National Corpus of Polish (NKJP)";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "nlopt-haskell" = callPackage
@@ -198081,6 +195145,8 @@ self: {
        testHaskellDepends = [ base tasty tasty-hspec tasty-quickcheck ];
        description = "A tiny neural network";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "nntp" = callPackage
@@ -198431,6 +195497,8 @@ self: {
        sha256 = "1frjpvx3nzymkwyxz0zc4p11pvxdihx3d3hi31w3d9qanwncbc96";
        libraryHaskellDepends = [ base containers semigroupoids ];
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "non-empty-sequence" = callPackage
@@ -198445,15 +195513,19 @@ self: {
      }) {};
 
   "non-empty-text" = callPackage
-    ({ mkDerivation, base, doctest, Glob, hspec, QuickCheck, text }:
+    ({ mkDerivation, base, deepseq, doctest, Glob, hspec, QuickCheck
+     , text
+     }:
      mkDerivation {
        pname = "non-empty-text";
-       version = "0.1.1";
-       sha256 = "1s2rzcaiilid2dv462hkr3mxg4gk1dqyyayvwhs5nl81y7a35krd";
-       libraryHaskellDepends = [ base text ];
-       testHaskellDepends = [ base doctest Glob hspec QuickCheck text ];
+       version = "0.2.0";
+       sha256 = "0ipbh2lmjya9zayvivy06j5rrkfdydbbr8wfnzb2h1vsnp737fhj";
+       libraryHaskellDepends = [ base deepseq text ];
+       testHaskellDepends = [
+         base deepseq doctest Glob hspec QuickCheck text
+       ];
        description = "Non empty Data.Text type";
-       license = "unknown";
+       license = lib.licenses.mit;
      }) {};
 
   "non-empty-zipper" = callPackage
@@ -198656,6 +195728,7 @@ self: {
        ];
        description = "Wrapper of nonlinear-optimization package for using with backprop package";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "noodle" = callPackage
@@ -198956,6 +196029,8 @@ self: {
        ];
        description = "A data type for representing numeric values, except zero";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "now-haskell" = callPackage
@@ -198993,7 +196068,6 @@ self: {
        description = "Zeit Now haskell-side integration and introspection tools";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "nowdoc" = callPackage
@@ -199094,6 +196168,7 @@ self: {
        ];
        description = "Read environment variables as settings to build 12-factor apps";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "nri-http" = callPackage
@@ -199117,6 +196192,7 @@ self: {
        ];
        description = "Make Elm style HTTP requests";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "nri-kafka" = callPackage
@@ -199141,7 +196217,6 @@ self: {
        description = "Functions for working with Kafka";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "nri-observability" = callPackage
@@ -199168,6 +196243,7 @@ self: {
        ];
        description = "Report log spans collected by nri-prelude";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "nri-postgresql" = callPackage
@@ -199193,7 +196269,6 @@ self: {
        description = "Make queries against Postgresql";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "nri-prelude" = callPackage
@@ -199223,6 +196298,8 @@ self: {
        ];
        description = "A Prelude inspired by the Elm programming language";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "nri-redis" = callPackage
@@ -199246,6 +196323,7 @@ self: {
        ];
        description = "An intuitive hedis wrapper library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "nri-test-encoding" = callPackage
@@ -199255,14 +196333,15 @@ self: {
      }:
      mkDerivation {
        pname = "nri-test-encoding";
-       version = "0.1.1.2";
-       sha256 = "1b2k4g1vm3mc72g4j979pk5y9jqn4y1aa394wfzwck7n1jhg8rzb";
+       version = "0.1.1.3";
+       sha256 = "03nvsncnhln3hyv32l2sq3l5v8pd59x48cch9861qg704jdkv4yi";
        libraryHaskellDepends = [
          aeson aeson-pretty base bytestring filepath nri-prelude nri-redis
          servant servant-auth-server servant-server text
        ];
        description = "A library to simplify writing golden tests for encoding types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "nsis" = callPackage
@@ -199674,6 +196753,7 @@ self: {
        description = "Ode solvers";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "numeric-prelude" = callPackage
@@ -199792,24 +196872,6 @@ self: {
      }) {};
 
   "numhask" = callPackage
-    ({ mkDerivation, base, bifunctors, doctest, mmorph, protolude
-     , QuickCheck, random, text, transformers
-     }:
-     mkDerivation {
-       pname = "numhask";
-       version = "0.7.1.0";
-       sha256 = "1qkrmbz72zmmpn5mpqvz0k46b5yvkhwbiwkx8z06291xyz3qn9cx";
-       libraryHaskellDepends = [
-         base bifunctors mmorph protolude random text transformers
-       ];
-       testHaskellDepends = [ base doctest QuickCheck ];
-       description = "A numeric class hierarchy";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "numhask_0_10_0_0" = callPackage
     ({ mkDerivation, base, QuickCheck }:
      mkDerivation {
        pname = "numhask";
@@ -199819,8 +196881,6 @@ self: {
        testHaskellDepends = [ base QuickCheck ];
        description = "A numeric class hierarchy";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "numhask-array" = callPackage
@@ -199835,8 +196895,6 @@ self: {
        ];
        description = "Multi-dimensional arrays";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "numhask-free" = callPackage
@@ -199889,6 +196947,7 @@ self: {
        description = "See readme.md";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "numhask-prelude" = callPackage
@@ -199940,8 +196999,6 @@ self: {
        ];
        description = "Numerical spaces";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "numhask-test" = callPackage
@@ -200087,45 +197144,6 @@ self: {
      , hspec-discover, HUnit, megaparsec, messagepack, mtl, network
      , optparse-applicative, path, path-io, prettyprinter
      , prettyprinter-ansi-terminal, QuickCheck, resourcet, stm
-     , streaming-commons, template-haskell, text, time
-     , time-locale-compat, transformers, transformers-base
-     , typed-process, unliftio, unliftio-core, utf8-string, vector, void
-     }:
-     mkDerivation {
-       pname = "nvim-hs";
-       version = "2.1.0.4";
-       sha256 = "0bg94adja6xvzlv1x849nrfpb0i5mjbp19f9cwhaa4iw1qs532rf";
-       revision = "2";
-       editedCabalFile = "0bd90ndkk4lll4rvr87b9vil2h8jlchkh1fag1nrhj90lnczgpnl";
-       libraryHaskellDepends = [
-         base bytestring cereal cereal-conduit conduit containers
-         data-default deepseq foreign-store hslogger megaparsec messagepack
-         mtl network optparse-applicative path path-io prettyprinter
-         prettyprinter-ansi-terminal resourcet stm streaming-commons
-         template-haskell text time time-locale-compat transformers
-         transformers-base typed-process unliftio unliftio-core utf8-string
-         vector void
-       ];
-       testHaskellDepends = [
-         base bytestring cereal cereal-conduit conduit containers
-         data-default foreign-store hslogger hspec hspec-discover HUnit
-         megaparsec messagepack mtl network optparse-applicative path
-         path-io prettyprinter prettyprinter-ansi-terminal QuickCheck
-         resourcet stm streaming-commons template-haskell text time
-         time-locale-compat transformers transformers-base typed-process
-         unliftio unliftio-core utf8-string vector
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Haskell plugin backend for neovim";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "nvim-hs_2_2_0_1" = callPackage
-    ({ mkDerivation, base, bytestring, cereal, cereal-conduit, conduit
-     , containers, data-default, deepseq, foreign-store, hslogger, hspec
-     , hspec-discover, HUnit, megaparsec, messagepack, mtl, network
-     , optparse-applicative, path, path-io, prettyprinter
-     , prettyprinter-ansi-terminal, QuickCheck, resourcet, stm
      , streaming-commons, template-haskell
      , template-haskell-compat-v0208, text, time, time-locale-compat
      , transformers, transformers-base, typed-process, unliftio
@@ -200157,7 +197175,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Haskell plugin backend for neovim";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "nvim-hs-contrib" = callPackage
@@ -200181,6 +197198,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Haskell plugin backend for neovim";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "nvim-hs-ghcid" = callPackage
@@ -200201,6 +197220,7 @@ self: {
        executableHaskellDepends = [ base nvim-hs ];
        description = "Neovim plugin that runs ghcid to update the quickfix list";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "nvvm" = callPackage
@@ -200237,6 +197257,65 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "nyan-interpolation" = callPackage
+    ({ mkDerivation, base, fmt, haskell-src-exts, haskell-src-meta
+     , HUnit, nyan-interpolation-core, tasty, tasty-discover
+     , tasty-hunit-compat, template-haskell, text
+     }:
+     mkDerivation {
+       pname = "nyan-interpolation";
+       version = "0.9";
+       sha256 = "0asxwpi2csj3rsb69r0brlmx97740jzn2bh161997q303v3vanwl";
+       libraryHaskellDepends = [
+         base fmt haskell-src-exts haskell-src-meta nyan-interpolation-core
+         template-haskell text
+       ];
+       testHaskellDepends = [
+         base fmt haskell-src-exts haskell-src-meta HUnit
+         nyan-interpolation-core tasty tasty-hunit-compat template-haskell
+         text
+       ];
+       testToolDepends = [ tasty-discover ];
+       description = "Flexible production-scale string interpolation library";
+       license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "nyan-interpolation-core" = callPackage
+    ({ mkDerivation, base, fmt, HUnit, megaparsec, mtl, tasty
+     , tasty-discover, tasty-hunit-compat, template-haskell, text
+     , vector
+     }:
+     mkDerivation {
+       pname = "nyan-interpolation-core";
+       version = "0.9.0.1";
+       sha256 = "0sxrzqja67xgp3lm15s6qmm040b76kkwyvwvmqbk012j0pac1fh2";
+       libraryHaskellDepends = [
+         base fmt megaparsec mtl template-haskell text vector
+       ];
+       testHaskellDepends = [
+         base fmt HUnit megaparsec mtl tasty tasty-hunit-compat
+         template-haskell text vector
+       ];
+       testToolDepends = [ tasty-discover ];
+       description = "Customize your nyan interpolator!";
+       license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "nyan-interpolation-simple" = callPackage
+    ({ mkDerivation, base, nyan-interpolation-core, text }:
+     mkDerivation {
+       pname = "nyan-interpolation-simple";
+       version = "0.9";
+       sha256 = "0i3x0caqsvwx21h847icfdj197gvpr7xvpglyg6z5jzcjy45b0qz";
+       libraryHaskellDepends = [ base nyan-interpolation-core text ];
+       description = "Simplified lightweight interpolation";
+       license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "nylas" = callPackage
     ({ mkDerivation, aeson, base, bytestring, lens, lens-aeson, pipes
      , pipes-aeson, pipes-bytestring, pipes-http, pipes-parse, text
@@ -200272,7 +197351,6 @@ self: {
        ];
        description = "An interactive GUI for manipulating L-systems";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "nyx-game" = callPackage
@@ -200348,7 +197426,6 @@ self: {
        description = "Client to the OANDA REST API";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "oasis-xrd" = callPackage
@@ -200447,8 +197524,8 @@ self: {
      }:
      mkDerivation {
        pname = "oauthenticated";
-       version = "0.2.1.0";
-       sha256 = "08njax7jchkmha1angh98v0p3haxn8zj12lajl5npcmzlihd0k6l";
+       version = "0.3.0.0";
+       sha256 = "0ca3wkhnk0wakzirh0486g5wkd1wq0381bjgj3ljs22hf4j5i41s";
        libraryHaskellDepends = [
          aeson base base64-bytestring blaze-builder bytestring
          case-insensitive cryptonite exceptions http-client http-types
@@ -200497,8 +197574,8 @@ self: {
      }:
      mkDerivation {
        pname = "obdd";
-       version = "0.8.2";
-       sha256 = "17cs06cxxmjknb1mc691n5k70yqplasqc97dpr6vx71aj1wzwzhw";
+       version = "0.8.4";
+       sha256 = "1qb6324nfrfjng54dzp3z2134vc74dcwp4xn61y5a9vc4jkizb0s";
        libraryHaskellDepends = [
          array base containers ersatz mtl process-extras random text
        ];
@@ -200582,8 +197659,6 @@ self: {
        ];
        description = "Composable objects";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "oblivious-transfer" = callPackage
@@ -200949,8 +198024,8 @@ self: {
      }:
      mkDerivation {
        pname = "oeis2";
-       version = "1.0.6";
-       sha256 = "1y1i2v59nhijh50akkjk9b7cnmrx33lgmk4p13fvwimkm5g9avs2";
+       version = "1.0.7";
+       sha256 = "1nywxada76zqzraadwbmz3v6dpwbd997393ksrprci5n6myrakng";
        libraryHaskellDepends = [
          aeson base containers http-conduit lens lens-aeson text vector
        ];
@@ -201073,6 +198148,7 @@ self: {
        ];
        description = "OpenID Connect 1.0 library for RP";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ois-input-manager" = callPackage
@@ -201421,37 +198497,16 @@ self: {
     ({ mkDerivation, aeson, base, text }:
      mkDerivation {
        pname = "one-line-aeson-text";
-       version = "0.1.0.3";
-       sha256 = "15p493sapvnn89sv43gxnpx4nyz8l8wdk1jr5w7nha50szbsabv3";
+       version = "0.1.0.4";
+       sha256 = "0hhdnpc4fs6xz709vlww990i5f98p73n8niq09y6hv1vzgsh5gr1";
        libraryHaskellDepends = [ aeson base text ];
        testHaskellDepends = [ aeson base text ];
        description = "Pretty-printing short Aeson values as text";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "one-liner" = callPackage
     ({ mkDerivation, base, bifunctors, contravariant, ghc-prim, HUnit
-     , profunctors, tagged, transformers
-     }:
-     mkDerivation {
-       pname = "one-liner";
-       version = "1.0";
-       sha256 = "1diigbl8l0m8q1sl0kxjjqbhl3vkpf0rrzxlbqaamp3ahpmgpx67";
-       revision = "1";
-       editedCabalFile = "1ijc5mj93zyfj7hh12aw3xh30kc1xsp7wf6rbbfal36yllnl2xhs";
-       libraryHaskellDepends = [
-         base bifunctors contravariant ghc-prim profunctors tagged
-         transformers
-       ];
-       testHaskellDepends = [ base contravariant HUnit ];
-       description = "Constraint-based generics";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "one-liner_2_0" = callPackage
-    ({ mkDerivation, base, bifunctors, contravariant, ghc-prim, HUnit
      , linear-base, profunctors, tagged, transformers
      }:
      mkDerivation {
@@ -201465,7 +198520,6 @@ self: {
        testHaskellDepends = [ base contravariant HUnit ];
        description = "Constraint-based generics";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "one-liner-instances" = callPackage
@@ -201477,8 +198531,6 @@ self: {
        libraryHaskellDepends = [ base one-liner random ];
        description = "Generics-based implementations for common typeclasses";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "one-time-password" = callPackage
@@ -201637,37 +198689,6 @@ self: {
      }:
      mkDerivation {
        pname = "opaleye";
-       version = "0.7.6.2";
-       sha256 = "0dln0r4qk5k4gmjg06275zgbzgivwxw471sd0y4l01j3x7ix3q46";
-       revision = "1";
-       editedCabalFile = "0dq8h20072nnir5bp17qyz27l2gnbwdr2dvyz84f8cgr2jvyhspb";
-       libraryHaskellDepends = [
-         aeson base base16-bytestring bytestring case-insensitive
-         contravariant postgresql-simple pretty product-profunctors
-         profunctors scientific semigroups text time-compat
-         time-locale-compat transformers uuid void
-       ];
-       testHaskellDepends = [
-         aeson base bytestring containers contravariant dotenv hspec
-         hspec-discover multiset postgresql-simple product-profunctors
-         profunctors QuickCheck semigroups text time time-compat
-         transformers uuid
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "An SQL-generating DSL targeting PostgreSQL";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "opaleye_0_9_2_0" = callPackage
-    ({ mkDerivation, aeson, base, base16-bytestring, bytestring
-     , case-insensitive, containers, contravariant, dotenv, hspec
-     , hspec-discover, multiset, postgresql-simple, pretty
-     , product-profunctors, profunctors, QuickCheck, scientific
-     , semigroups, text, time, time-compat, time-locale-compat
-     , transformers, uuid, void
-     }:
-     mkDerivation {
-       pname = "opaleye";
        version = "0.9.2.0";
        sha256 = "0zvms42pmsg6ish76mvk0ksz4apxvs4iyjfvgkm7zwadq3i9v8l3";
        libraryHaskellDepends = [
@@ -201685,7 +198706,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "An SQL-generating DSL targeting PostgreSQL";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "opaleye-classy" = callPackage
@@ -201753,6 +198773,8 @@ self: {
        ];
        description = "A monad transformer for Opaleye";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "opc-xml-da-client" = callPackage
@@ -201916,6 +198938,8 @@ self: {
        benchmarkHaskellDepends = [ base criterion ];
        description = "Open type representations and dynamic types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "open-union" = callPackage
@@ -201930,7 +198954,6 @@ self: {
        executableHaskellDepends = [ base type-fun ];
        description = "Extensible, type-safe unions";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "open-witness" = callPackage
@@ -201948,6 +198971,8 @@ self: {
        testHaskellDepends = [ base mtl tasty tasty-hunit witness ];
        description = "open witnesses";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "openai-hs" = callPackage
@@ -201972,7 +198997,6 @@ self: {
        description = "Unofficial OpenAI client";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "openai-servant" = callPackage
@@ -202067,45 +199091,8 @@ self: {
      }:
      mkDerivation {
        pname = "openapi3";
-       version = "3.1.0";
-       sha256 = "011754qyxxw5mn06hdmxalvsiff7a4x4k2yb2r6ylzr6zhyz818z";
-       revision = "3";
-       editedCabalFile = "1p4vlia591sf94448qn1fqf6ibzp0z92x4xya5y31d6skffr3ryj";
-       isLibrary = true;
-       isExecutable = true;
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         aeson aeson-pretty base base-compat-batteries bytestring containers
-         cookie generics-sop hashable http-media insert-ordered-containers
-         lens mtl network optics-core optics-th QuickCheck scientific
-         template-haskell text time transformers unordered-containers
-         uuid-types vector
-       ];
-       executableHaskellDepends = [ aeson base lens text ];
-       testHaskellDepends = [
-         aeson base base-compat-batteries bytestring containers doctest Glob
-         hashable hspec HUnit insert-ordered-containers lens mtl QuickCheck
-         quickcheck-instances template-haskell text time
-         unordered-containers utf8-string vector
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "OpenAPI 3.0 data model";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "openapi3_3_2_1" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, base-compat-batteries
-     , bytestring, Cabal, cabal-doctest, containers, cookie, doctest
-     , generics-sop, Glob, hashable, hspec, hspec-discover, http-media
-     , HUnit, insert-ordered-containers, lens, mtl, network, optics-core
-     , optics-th, QuickCheck, quickcheck-instances, scientific
-     , template-haskell, text, time, transformers, unordered-containers
-     , utf8-string, uuid-types, vector
-     }:
-     mkDerivation {
-       pname = "openapi3";
-       version = "3.2.1";
-       sha256 = "0xspxp5rma3mx5p0qy6mmq94540agl44vkc65sylp5k62x68588d";
+       version = "3.2.2";
+       sha256 = "0d31ilv2ivwswzbpfibqwnld8697vk63wyr6yl80brjx60g4jp9j";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -202126,7 +199113,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "OpenAPI 3.0 data model";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "openapi3-code-generator" = callPackage
@@ -202167,7 +199153,6 @@ self: {
        description = "OpenAPI3 Haskell Client Code Generator";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "opencc" = callPackage
@@ -202182,8 +199167,6 @@ self: {
        testHaskellDepends = [ base bytestring mtl text transformers ];
        description = "OpenCC bindings";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) opencc;};
 
   "opench-meteo" = callPackage
@@ -202242,6 +199225,8 @@ self: {
        hardeningDisable = [ "bindnow" ];
        description = "Haskell binding to OpenCV-3.x";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) opencv3;};
 
   "opencv-extra" = callPackage
@@ -202266,6 +199251,7 @@ self: {
        ];
        description = "Haskell binding to OpenCV-3.x extra modules";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "opencv-raw" = callPackage
@@ -202641,6 +199627,8 @@ self: {
        pname = "openssl-streams";
        version = "1.2.3.0";
        sha256 = "10pnnpzgb5xr811kc9qdk7h2cgn6hk2yiyhnzz8f8p0fjzc0pwjm";
+       revision = "1";
+       editedCabalFile = "0vfawnfcjrw29qg1n7k6z6bk4bmnk869gjlr9mxw4mzxgl80b2vp";
        libraryHaskellDepends = [
          base bytestring HsOpenSSL io-streams network
        ];
@@ -203042,8 +200030,6 @@ self: {
        ];
        description = "Jaeger backend for OpenTracing";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "opentracing-wai" = callPackage
@@ -203085,8 +200071,6 @@ self: {
        ];
        description = "Zipkin V1 backend for OpenTracing";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "opentracing-zipkin-v2" = callPackage
@@ -203145,6 +200129,8 @@ self: {
        ];
        description = "Access data at OpenWeatherMap";
        license = lib.licenses.publicDomain;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "operate-do" = callPackage
@@ -203220,23 +200206,22 @@ self: {
      }) {};
 
   "oplang" = callPackage
-    ({ mkDerivation, base, directory, filepath, optparse-applicative
-     , parsec, process, text, text-builder, unordered-containers
+    ({ mkDerivation, base, containers, directory, filepath, megaparsec
+     , mtl, optparse-applicative, process, text, text-builder
+     , transformers
      }:
      mkDerivation {
        pname = "oplang";
-       version = "0.1.0.0";
-       sha256 = "09n4nq9wl4n3vfkh9av9i0z6gipsffsb5igs0rlcydii10hjcn89";
+       version = "0.2.0.0";
+       sha256 = "1bacn4irdipn43gh2qq8ja6z79q21j2yrnvvvjdfdmhcvc07kkr1";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base directory filepath optparse-applicative parsec process text
-         text-builder unordered-containers
+         base containers directory filepath megaparsec mtl
+         optparse-applicative process text text-builder transformers
        ];
        description = "Compiler for OpLang, an esoteric programming language";
-       license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
+       license = lib.licenses.gpl3Only;
      }) {};
 
   "opml" = callPackage
@@ -203299,45 +200284,16 @@ self: {
      }) {};
 
   "optics" = callPackage
-    ({ mkDerivation, array, base, bytestring, containers, criterion
-     , indexed-profunctors, inspection-testing, lens, mtl, optics-core
-     , optics-extra, optics-th, QuickCheck, random, tasty, tasty-hunit
-     , tasty-quickcheck, template-haskell, transformers
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "optics";
-       version = "0.3";
-       sha256 = "0v0kgj9ihb655a6n9j5w55s2lrkfd31pf9z17ida4xcrimzv6q02";
-       libraryHaskellDepends = [
-         array base containers mtl optics-core optics-extra optics-th
-         transformers
-       ];
-       testHaskellDepends = [
-         base containers indexed-profunctors inspection-testing mtl
-         optics-core QuickCheck random tasty tasty-hunit tasty-quickcheck
-         template-haskell
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring containers criterion lens transformers
-         unordered-containers vector
-       ];
-       description = "Optics as an abstract interface";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ maralorn ];
-     }) {};
-
-  "optics_0_4" = callPackage
-    ({ mkDerivation, array, base, bytestring, containers, criterion
+    ({ mkDerivation, array, base, bytestring, containers
      , indexed-profunctors, inspection-testing, lens, mtl, optics-core
-     , optics-extra, optics-th, QuickCheck, random, tasty, tasty-hunit
-     , tasty-quickcheck, template-haskell, transformers
+     , optics-extra, optics-th, QuickCheck, random, tasty, tasty-bench
+     , tasty-hunit, tasty-quickcheck, template-haskell, transformers
      , unordered-containers, vector
      }:
      mkDerivation {
        pname = "optics";
-       version = "0.4";
-       sha256 = "18hdfmay7v2qsbq0ylzrfk3hrgax8bzs65bdmjrmck4is8vbs6h5";
+       version = "0.4.1";
+       sha256 = "068r2ldq5aysvs5gcd80xpvbmsw5vylc4x0rfsnm9k330q5vzlkx";
        libraryHaskellDepends = [
          array base containers mtl optics-core optics-extra optics-th
          transformers
@@ -203348,77 +200304,39 @@ self: {
          template-haskell
        ];
        benchmarkHaskellDepends = [
-         base bytestring containers criterion lens transformers
+         base bytestring containers lens tasty-bench transformers
          unordered-containers vector
        ];
        description = "Optics as an abstract interface";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
   "optics-core" = callPackage
     ({ mkDerivation, array, base, containers, indexed-profunctors
-     , transformers
-     }:
-     mkDerivation {
-       pname = "optics-core";
-       version = "0.3.0.1";
-       sha256 = "01z1rjrmj3jqh3fygqa1asr4azhdnqpix27sdw3ygi5dnbcmn49h";
-       libraryHaskellDepends = [
-         array base containers indexed-profunctors transformers
-       ];
-       description = "Optics as an abstract interface: core definitions";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "optics-core_0_4" = callPackage
-    ({ mkDerivation, array, base, containers, indexed-profunctors
      , indexed-traversable, transformers
      }:
      mkDerivation {
        pname = "optics-core";
-       version = "0.4";
-       sha256 = "1kyxdfzha4xjym96yahrwhpbzqracks2di2lx1x34sjcn165rxry";
+       version = "0.4.1";
+       sha256 = "16ll8829g8v5g6gqdcfj77k6g4sqpmpxbda9jhm4h68pycay4r6a";
        libraryHaskellDepends = [
          array base containers indexed-profunctors indexed-traversable
          transformers
        ];
        description = "Optics as an abstract interface: core definitions";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "optics-extra" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, hashable
-     , indexed-profunctors, mtl, optics-core, text, transformers
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "optics-extra";
-       version = "0.3";
-       sha256 = "15vnznmi4h9xrrp7dk6fqgz9cwlqlmdr2h4nx1n5q6hi2ic1bmm4";
-       revision = "3";
-       editedCabalFile = "1mfxbi2a0hbdzd5blps2s6ik0phia5w8nh9fs3wfa990m63nsscr";
-       libraryHaskellDepends = [
-         array base bytestring containers hashable indexed-profunctors mtl
-         optics-core text transformers unordered-containers vector
-       ];
-       description = "Extra utilities and instances for optics-core";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "optics-extra_0_4" = callPackage
-    ({ mkDerivation, array, base, bytestring, containers, hashable
      , indexed-profunctors, indexed-traversable-instances, mtl
      , optics-core, text, transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "optics-extra";
-       version = "0.4";
-       sha256 = "1ynhyw22rwvvh5yglybmb6skhpgqk4gh9w2w4dh8kb7myzcwfj1s";
-       revision = "2";
-       editedCabalFile = "16a139wxgmg4hq6wd8fygbd6qqavf4xgyqdq4c5q37ai43a38wir";
+       version = "0.4.1";
+       sha256 = "0xxsl4vkq77vnqi9s57d0kgsr4qj87zpad10ax0ywhvzzbvh98fg";
        libraryHaskellDepends = [
          array base bytestring containers hashable indexed-profunctors
          indexed-traversable-instances mtl optics-core text transformers
@@ -203426,7 +200344,6 @@ self: {
        ];
        description = "Extra utilities and instances for optics-core";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "optics-th" = callPackage
@@ -203435,29 +200352,8 @@ self: {
      }:
      mkDerivation {
        pname = "optics-th";
-       version = "0.3.0.2";
-       sha256 = "1mxi4bwgpl02g7clbs4m5p16i64s5lp13811yhg66i50rnqwpw40";
-       revision = "1";
-       editedCabalFile = "0kr473b0ibxi99fqcg86xl2pq8l2m1yra548v9p278rpqa8g51p7";
-       libraryHaskellDepends = [
-         base containers mtl optics-core template-haskell th-abstraction
-         transformers
-       ];
-       testHaskellDepends = [ base optics-core tagged ];
-       description = "Optics construction using TemplateHaskell";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "optics-th_0_4" = callPackage
-    ({ mkDerivation, base, containers, mtl, optics-core, tagged
-     , template-haskell, th-abstraction, transformers
-     }:
-     mkDerivation {
-       pname = "optics-th";
-       version = "0.4";
-       sha256 = "1qddzwhzlhhp1902irswjj18aa5ziavn4klhy7najxjwndilb55y";
-       revision = "1";
-       editedCabalFile = "061axc65h2lzqj7ya8h7xmd6rz944dsdj6i2i4ad6ij3157zcyc4";
+       version = "0.4.1";
+       sha256 = "05zxljfqmhr5if7l8gld5s864nql6kqjfizsf1z7r3ydknvmff6p";
        libraryHaskellDepends = [
          base containers mtl optics-core template-haskell th-abstraction
          transformers
@@ -203465,7 +200361,6 @@ self: {
        testHaskellDepends = [ base optics-core tagged ];
        description = "Optics construction using TemplateHaskell";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "optics-vl" = callPackage
@@ -203747,6 +200642,7 @@ self: {
        ];
        description = "An enum-text based toolkit for optparse-applicative";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "optparse-generic" = callPackage
@@ -203874,7 +200770,9 @@ self: {
        ];
        description = "Types and functions for Kepler orbits";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ expipiplus1 ];
+       broken = true;
      }) {};
 
   "orc" = callPackage
@@ -204230,6 +201128,7 @@ self: {
        ];
        description = "A collection of Attoparsec combinators for parsing org-mode flavored documents";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "orgstat" = callPackage
@@ -204264,6 +201163,7 @@ self: {
        ];
        description = "Statistics visualizer for org-mode";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "origami" = callPackage
@@ -204303,6 +201203,8 @@ self: {
          unordered-containers word8 wreq
        ];
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "orizentic" = callPackage
@@ -204328,7 +201230,7 @@ self: {
        broken = true;
      }) {};
 
-  "ormolu" = callPackage
+  "ormolu_0_2_0_0" = callPackage
     ({ mkDerivation, ansi-terminal, base, bytestring, containers, Diff
      , dlist, exceptions, filepath, ghc-lib-parser, gitrev, hspec
      , hspec-discover, mtl, optparse-applicative, path, path-io, syb
@@ -204336,13 +201238,10 @@ self: {
      }:
      mkDerivation {
        pname = "ormolu";
-       version = "0.1.4.1";
-       sha256 = "1aamgzimjn9h7kwby9ajfgbj5dx08nmxyalwvpg9rs4xd8pbpd9s";
-       revision = "1";
-       editedCabalFile = "1fi8fxyhw9jdwhsbmrikjqd461wrz7h4kdszrahlvdjfdsn4wh7d";
+       version = "0.2.0.0";
+       sha256 = "0zivz7vcl4m1rjay5md6cdqac9cnfwz9c844l20byiz5h49bwfhb";
        isLibrary = true;
        isExecutable = true;
-       enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          ansi-terminal base bytestring containers Diff dlist exceptions
          ghc-lib-parser mtl syb text
@@ -204356,9 +201255,10 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A formatter for Haskell source code";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "ormolu_0_3_1_0" = callPackage
+  "ormolu" = callPackage
     ({ mkDerivation, ansi-terminal, base, bytestring, Cabal, containers
      , Diff, directory, dlist, exceptions, filepath, ghc-lib-parser
      , gitrev, hspec, hspec-discover, mtl, optparse-applicative, path
@@ -204386,7 +201286,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A formatter for Haskell source code";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ormolu_0_4_0_0" = callPackage
@@ -204476,6 +201375,8 @@ self: {
        ];
        description = "Auto-generated ory-hydra-client API Client";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ory-kratos" = callPackage
@@ -204502,6 +201403,8 @@ self: {
        ];
        description = "API bindings for Ory Kratos";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "os-release" = callPackage
@@ -204783,15 +201686,16 @@ self: {
        ];
        description = "Finite overloading";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "overloaded" = callPackage
     ({ mkDerivation, assoc, base, bin, boring, bytestring, constraints
-     , containers, fin, generic-lens-lite, ghc, hmatrix, HUnit
+     , containers, fin, generic-lens-lite, ghc, HUnit
      , indexed-traversable, lens, optics-core, profunctors, QuickCheck
      , ral, record-hasfield, semigroupoids, singleton-bool, sop-core
-     , split, splitmix, syb, symbols, tasty, tasty-hunit
-     , tasty-quickcheck, template-haskell, text, th-compat, time, vec
+     , split, syb, symbols, tasty, tasty-hunit, tasty-quickcheck
+     , template-haskell, text, th-compat, time, vec
      }:
      mkDerivation {
        pname = "overloaded";
@@ -204804,10 +201708,9 @@ self: {
        ];
        testHaskellDepends = [
          assoc base bin boring bytestring constraints containers fin
-         generic-lens-lite hmatrix HUnit lens optics-core QuickCheck ral
-         record-hasfield singleton-bool sop-core splitmix symbols tasty
-         tasty-hunit tasty-quickcheck template-haskell text th-compat time
-         vec
+         generic-lens-lite HUnit lens optics-core QuickCheck ral
+         record-hasfield singleton-bool sop-core symbols tasty tasty-hunit
+         tasty-quickcheck template-haskell text th-compat time vec
        ];
        doHaddock = false;
        description = "Overloaded pragmas as a plugin";
@@ -204923,7 +201826,6 @@ self: {
        description = "Utilities for working with cabal packages and your package database";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "package-version" = callPackage
@@ -204969,19 +201871,6 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "packcheck";
-       version = "0.5.1";
-       sha256 = "05hwcmg67vicrig7syfxkpbsaqfjzlik4jq8ijz2gdkh7v3czrvr";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base ];
-       benchmarkHaskellDepends = [ base ];
-       description = "Universal build and CI testing for Haskell packages";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "packcheck_0_6_0" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "packcheck";
        version = "0.6.0";
        sha256 = "0n050lpbcykzhaxwjxyh65crp2iyn3bvdagybap9prqid0zj4k8z";
        libraryHaskellDepends = [ base ];
@@ -204989,7 +201878,6 @@ self: {
        benchmarkHaskellDepends = [ base ];
        description = "Universal build and CI testing for Haskell packages";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "packdeps" = callPackage
@@ -205014,6 +201902,8 @@ self: {
        ];
        description = "Check your cabal packages for lagging dependencies";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "packed" = callPackage
@@ -205282,6 +202172,8 @@ self: {
        ];
        description = "Fast, type-safe p-adic arithmetic";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "pads-haskell" = callPackage
@@ -205394,6 +202286,8 @@ self: {
        ];
        description = "An interface to the PagerDuty API";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "pagination" = callPackage
@@ -205412,26 +202306,27 @@ self: {
     ({ mkDerivation, aeson, base, http-query, text }:
      mkDerivation {
        pname = "pagure";
-       version = "0.1.0";
-       sha256 = "1g5b0y0cv3yzdpza2750aj5zxagwdy189sqb4bvr0rrjbfgxrjv8";
+       version = "0.1.1";
+       sha256 = "02212akphmldpnbih2zip750iavappzlqs5hf9mamzjaramx2bsy";
        libraryHaskellDepends = [ aeson base http-query text ];
        description = "Pagure REST client library";
        license = lib.licenses.gpl2Only;
      }) {};
 
   "pagure-cli" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, filepath, http-conduit
-     , lens, lens-aeson, optparse-applicative, simple-cmd-args, text
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, filepath
+     , optparse-applicative, pagure, simple-cmd-args, text
+     , unordered-containers, yaml
      }:
      mkDerivation {
        pname = "pagure-cli";
-       version = "0.2";
-       sha256 = "0hl1m23kwx5xd1nbaswnnqm0qrr8mcc7zvb28q47bdgfix2yhy7r";
+       version = "0.2.1";
+       sha256 = "1w0z6c3i91di9ixbpiwp610xyfp26g325571c0j5abscr1d2fbv7";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         aeson base bytestring filepath http-conduit lens lens-aeson
-         optparse-applicative simple-cmd-args text
+         aeson aeson-pretty base bytestring filepath optparse-applicative
+         pagure simple-cmd-args text unordered-containers yaml
        ];
        description = "Pagure client";
        license = lib.licenses.gpl2Only;
@@ -205508,8 +202403,6 @@ self: {
        ];
        description = "Utilities for choosing and creating color schemes";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "palindromes" = callPackage
@@ -205559,7 +202452,6 @@ self: {
        description = "Parse syslog traffic from PAN-OS";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "panda" = callPackage
@@ -205589,64 +202481,6 @@ self: {
      , 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-path, hslua-module-system, hslua-module-text, HsYAML
-     , HTTP, http-client, http-client-tls, http-types, ipynb
-     , jira-wiki-markup, JuicyPixels, mtl, network, network-uri
-     , pandoc-types, parsec, process, QuickCheck, 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
-     , unordered-containers, xml, xml-conduit, zip-archive, zlib
-     }:
-     mkDerivation {
-       pname = "pandoc";
-       version = "2.14.0.3";
-       sha256 = "1pgd6125mrvzj2faxbsfmackb7kchzcr6bjkrwqbyn9hzxdzbqw2";
-       configureFlags = [ "-fhttps" "-f-trypandoc" ];
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         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 directory doclayout doctemplates
-         emojis exceptions file-embed filepath Glob haddock-library hslua
-         hslua-module-path hslua-module-system hslua-module-text HsYAML HTTP
-         http-client http-client-tls http-types ipynb jira-wiki-markup
-         JuicyPixels mtl network network-uri pandoc-types parsec process
-         random safe scientific SHA skylighting skylighting-core split syb
-         tagsoup temporary texmath text text-conversions time
-         unicode-collation unicode-transforms unix unordered-containers xml
-         xml-conduit zip-archive zlib
-       ];
-       executableHaskellDepends = [ base ];
-       testHaskellDepends = [
-         base bytestring containers Diff directory doctemplates exceptions
-         filepath Glob hslua mtl pandoc-types process QuickCheck tasty
-         tasty-golden tasty-hunit tasty-lua tasty-quickcheck text time xml
-         zip-archive
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring containers deepseq mtl tasty-bench text time
-       ];
-       postInstall = ''
-         mkdir -p $out/share/man/man1
-         mv "man/"*.1 $out/share/man/man1/
-       '';
-       description = "Conversion between markup formats";
-       license = lib.licenses.gpl2Plus;
-       maintainers = with lib.maintainers; [ peti ];
-     }) {};
-
-  "pandoc_2_17_1_1" = 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-aeson
      , hslua-marshalling, hslua-module-path, hslua-module-system
      , hslua-module-text, hslua-module-version, http-client
@@ -205697,7 +202531,6 @@ self: {
        '';
        description = "Conversion between markup formats";
        license = lib.licenses.gpl2Plus;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ peti ];
      }) {};
 
@@ -205839,6 +202672,8 @@ self: {
        testToolDepends = [ tasty-discover ];
        description = "A Pandoc filter for emphasizing code in fenced blocks";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "pandoc-filter-graphviz" = callPackage
@@ -205908,6 +202743,7 @@ self: {
        ];
        description = "Syntax highlighting customization for Pandoc";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "pandoc-include" = callPackage
@@ -206000,6 +202836,8 @@ self: {
        ];
        description = "Extract \"contextual links\" from Pandoc";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "pandoc-lua-marshal" = callPackage
@@ -206009,8 +202847,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-lua-marshal";
-       version = "0.1.4";
-       sha256 = "09l601d50h4ymnfcspwf1sl6hks8skvd1wpb9j3y2znyciq2pdkq";
+       version = "0.1.5.1";
+       sha256 = "0hj55m6mqxap8vkn1r2w09myrnrxc7j8q7gwqvbpmik9s8g9s89f";
        libraryHaskellDepends = [
          base bytestring containers exceptions hslua hslua-marshalling lua
          pandoc-types safe text
@@ -206022,8 +202860,6 @@ self: {
        ];
        description = "Use pandoc types in Lua";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "pandoc-markdown-ghci-filter" = callPackage
@@ -206097,10 +202933,12 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Render and insert PlantUML diagrams with Pandoc";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "pandoc-plot" = callPackage
-    ({ mkDerivation, base, bytestring, containers, criterion
+    ({ mkDerivation, aeson, base, bytestring, containers, criterion
      , data-default, directory, filepath, gitrev, hashable, hspec
      , hspec-expectations, lifted-async, lifted-base, mtl
      , optparse-applicative, pandoc, pandoc-types, shakespeare, tagsoup
@@ -206109,14 +202947,14 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-plot";
-       version = "1.2.3";
-       sha256 = "0r7xymgkk2c3fmdfk4vljdwbl2k3jrk40aa7f7y277fp5nxnqgp8";
+       version = "1.4.1";
+       sha256 = "1g9757kj50s0fjn7l29ncbp5fb8yhnp5z0sd46gaaprbgqrqfsgh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring containers data-default directory filepath hashable
-         lifted-async lifted-base mtl pandoc pandoc-types shakespeare
-         tagsoup template-haskell text typed-process unix yaml
+         aeson base bytestring containers data-default directory filepath
+         hashable lifted-async lifted-base mtl pandoc pandoc-types
+         shakespeare tagsoup template-haskell text typed-process unix yaml
        ];
        executableHaskellDepends = [
          base containers directory filepath gitrev optparse-applicative
@@ -206133,7 +202971,7 @@ self: {
        license = lib.licenses.gpl2Plus;
      }) {};
 
-  "pandoc-plot_1_4_0" = callPackage
+  "pandoc-plot_1_5_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, criterion
      , data-default, directory, filepath, gitrev, hashable, hspec
      , hspec-expectations, lifted-async, lifted-base, mtl
@@ -206143,8 +202981,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-plot";
-       version = "1.4.0";
-       sha256 = "07mpkd367qia6s23ywm6gk32y7xmzca92iasr35n7jl36pr2f8by";
+       version = "1.5.0";
+       sha256 = "1naq6kfzxghxn6gzkp0697sdmfjdr2hk790d2rrwx72zv66g35vy";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -206321,23 +203159,24 @@ self: {
     ({ mkDerivation }:
      mkDerivation {
        pname = "pandora";
-       version = "0.5.1";
-       sha256 = "0xx3fjdkxrabwnqhz3bs3rai1q83zkkhq90z50pzam08nng34sw5";
+       version = "0.5.3";
+       sha256 = "097vpsml5hma4acyrz26hmfddyz1j9kcbqw5z7lkhak1jmpdv2ac";
        description = "A box of patterns and paradigms";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "pandora-io" = callPackage
     ({ mkDerivation, ghc-prim, pandora }:
      mkDerivation {
        pname = "pandora-io";
-       version = "0.4.9";
-       sha256 = "1ni4xwmdx741r53n5dbpzrmczs75qq9v9kg6jka87q6mpl1879r1";
+       version = "0.5.3";
+       sha256 = "0m0cskpylr26sz6gs133j2p6yr6r22hksk7p4aimszbg88vayany";
        libraryHaskellDepends = [ ghc-prim pandora ];
        description = "...";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "pang-a-lambda" = callPackage
@@ -206368,8 +203207,8 @@ self: {
      }:
      mkDerivation {
        pname = "pango";
-       version = "0.13.8.1";
-       sha256 = "0by8ada93srgapdg78n8hyk5xsqb7n54mjacvplwwsbrd1b7m9j0";
+       version = "0.13.8.2";
+       sha256 = "1mndcb904vlkqpbmj5np9lxqw2qw3pzawvrgbsbxa9xjayh0ylw5";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal filepath gtk2hs-buildtools ];
        libraryHaskellDepends = [
@@ -206486,7 +203325,7 @@ self: {
        broken = true;
      }) {};
 
-  "pantry" = callPackage
+  "pantry_0_5_2_1" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, bytestring, Cabal
      , casa-client, casa-types, conduit, conduit-extra, containers
      , cryptonite, cryptonite-conduit, digest, exceptions, filelock
@@ -206500,8 +203339,10 @@ self: {
      }:
      mkDerivation {
        pname = "pantry";
-       version = "0.5.2.3";
-       sha256 = "17r9fgs83dp0s9wq14q5hvf5vnl8d7cg9p9dnbixgsysq6g6d29g";
+       version = "0.5.2.1";
+       sha256 = "0g1v78mgxa6mn0vm6yii3nzfdwpn4hgrlcld1h3mbwaxn6c8116k";
+       revision = "1";
+       editedCabalFile = "15gyndsfckzc0iz5bhh4hbiszcyv1mp65445f4mmf6b6pfcq7qag";
        libraryHaskellDepends = [
          aeson ansi-terminal base bytestring Cabal casa-client casa-types
          conduit conduit-extra containers cryptonite cryptonite-conduit
@@ -206525,9 +203366,10 @@ self: {
        ];
        description = "Content addressable Haskell package management";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "pantry_0_5_4" = callPackage
+  "pantry" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, bytestring, Cabal
      , casa-client, casa-types, conduit, conduit-extra, containers
      , cryptonite, cryptonite-conduit, digest, exceptions, filelock
@@ -206566,7 +203408,6 @@ self: {
        ];
        description = "Content addressable Haskell package management";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "pantry-tmp" = callPackage
@@ -206799,6 +203640,7 @@ self: {
        ];
        description = "Prelude with only useful functions";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "papa-lens-export" = callPackage
@@ -206810,6 +203652,8 @@ self: {
        libraryHaskellDepends = [ base lens ];
        description = "export useful functions from `lens`";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "papa-lens-implement" = callPackage
@@ -206821,6 +203665,8 @@ self: {
        libraryHaskellDepends = [ base lens ];
        description = "useful `lens` functions reimplemented";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "papa-prelude" = callPackage
@@ -207198,6 +204044,7 @@ self: {
        testHaskellDepends = [ base data-diverse hspec transformers ];
        description = "Parameterized/indexed monoids and monads using only a single parameter type variable";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "parameterized-data" = callPackage
@@ -207209,6 +204056,8 @@ self: {
        libraryHaskellDepends = [ base template-haskell type-level ];
        description = "Parameterized data library implementing lightweight dependent types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "parameterized-utils" = callPackage
@@ -207220,8 +204069,8 @@ self: {
      }:
      mkDerivation {
        pname = "parameterized-utils";
-       version = "2.1.4.0";
-       sha256 = "16hdmlpyjg9gbal195wpglb11i9qbaw8khp3c1433kgdlqz56hj7";
+       version = "2.1.5.0";
+       sha256 = "1w0r09kqqdwlj13xq5swzci0crmarxz49bc01vyb92xzrsmjkhss";
        libraryHaskellDepends = [
          base base-orphans constraints containers deepseq ghc-prim hashable
          hashtables indexed-traversable lens mtl profunctors
@@ -207410,6 +204259,8 @@ self: {
        ];
        description = "Parser combinators with fast-path and slower fallback for error reporting";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "park-bench" = callPackage
@@ -207827,23 +204678,11 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "parser-combinators";
-       version = "1.2.1";
-       sha256 = "0k95nvgnl5820y094yfh7b868l0xd1diclm4kx9560p5rm02w5h3";
-       libraryHaskellDepends = [ base ];
-       description = "Lightweight package providing commonly useful parser combinators";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "parser-combinators_1_3_0" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "parser-combinators";
        version = "1.3.0";
        sha256 = "0is45q3q6ngfqvzpwwga9phbwk45v7g1q2x1rlm95a7q946yy44k";
        libraryHaskellDepends = [ base ];
        description = "Lightweight package providing commonly useful parser combinators";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "parser-combinators-tests" = callPackage
@@ -207853,30 +204692,6 @@ self: {
      }:
      mkDerivation {
        pname = "parser-combinators-tests";
-       version = "1.2.1";
-       sha256 = "0iy4iajpjka1diy660x3mvmh8kldwf3svwdmvlxh26dsqy2s8sx8";
-       revision = "2";
-       editedCabalFile = "07j1y8iqljaqyqhy37db2xvs7y9z91r3sndzmz4gga7w2jpkhq2b";
-       isLibrary = false;
-       isExecutable = false;
-       testHaskellDepends = [
-         base hspec hspec-expectations hspec-megaparsec megaparsec
-         megaparsec-tests parser-combinators QuickCheck
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Test suite of parser-combinators";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "parser-combinators-tests_1_3_0" = callPackage
-    ({ mkDerivation, base, hspec, hspec-discover, hspec-expectations
-     , hspec-megaparsec, megaparsec, megaparsec-tests
-     , parser-combinators, QuickCheck
-     }:
-     mkDerivation {
-       pname = "parser-combinators-tests";
        version = "1.3.0";
        sha256 = "0sw6ws7za93y3lbmxp6jp1k17zi3wdg7698ab133kcw82f6mzba2";
        isLibrary = false;
@@ -208090,7 +204905,6 @@ self: {
        description = "A fast parser combinator library backed by Typed Template Haskell";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "parsley-core" = callPackage
@@ -208155,8 +204969,6 @@ self: {
        ];
        description = "A fast, minimal parser";
        license = "(BSD-2-Clause OR Apache-2.0)";
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "partage" = callPackage
@@ -208176,7 +204988,6 @@ self: {
        description = "Parsing factorized";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "partial" = callPackage
@@ -208205,23 +205016,11 @@ self: {
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
        pname = "partial-isomorphisms";
-       version = "0.2.2.1";
-       sha256 = "0r51ykq6i11gzypv93bnw8pzn4zdyrabiiqfpbhpvs0rj6k1ymac";
-       libraryHaskellDepends = [ base template-haskell ];
-       description = "Partial isomorphisms";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "partial-isomorphisms_0_2_3_0" = callPackage
-    ({ mkDerivation, base, template-haskell }:
-     mkDerivation {
-       pname = "partial-isomorphisms";
        version = "0.2.3.0";
        sha256 = "08390b7vj02kbx0s5q3irxljr1p8w4rvm6kf33ivv04cal3r2q39";
        libraryHaskellDepends = [ base template-haskell ];
        description = "Partial isomorphisms";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "partial-lens" = callPackage
@@ -208282,15 +205081,30 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "partial-semigroup_0_6_0_0" = callPackage
+    ({ mkDerivation, base, hedgehog }:
+     mkDerivation {
+       pname = "partial-semigroup";
+       version = "0.6.0.0";
+       sha256 = "1fn8b8q99m6xdgiqi2smffk4s1h3sil2v5c1na8fl3gv04kc0v13";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base hedgehog ];
+       description = "A partial binary associative operator";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "partial-semigroup-hedgehog" = callPackage
     ({ mkDerivation, base, hedgehog, partial-semigroup }:
      mkDerivation {
        pname = "partial-semigroup-hedgehog";
-       version = "0.6.0.10";
-       sha256 = "1i40ndpk6dwq56fd83za46wn1fyzm46hnx06s29h4pz1ilfrk1xx";
+       version = "0.6.0.12";
+       sha256 = "0razhgznrrzp23zdpl1z8056n2dp2azl42cnha2g0b5h04nipg4q";
        libraryHaskellDepends = [ base hedgehog partial-semigroup ];
        description = "Property testing for partial semigroups using Hedgehog";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "partial-semigroup-test" = callPackage
@@ -208303,6 +205117,7 @@ self: {
        doHaddock = false;
        description = "Testing utilities for the partial-semigroup package";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "partial-uri" = callPackage
@@ -208445,10 +205260,10 @@ self: {
      }:
      mkDerivation {
        pname = "password";
-       version = "3.0.0.0";
-       sha256 = "0x6f4zkqqsa6vi5dvy5sj0f7pqkqq9zw3ph9f0d8vl631zcs2inb";
-       revision = "1";
-       editedCabalFile = "0083j7wnq6dv663i22n0lmrgq8df5pl96xlyad3jv9l27r4z4gdk";
+       version = "3.0.1.0";
+       sha256 = "1kdc1lwya9sq3vb5wvvs2bz0z38mqn9cpim4f6awym99c57g01rk";
+       revision = "2";
+       editedCabalFile = "1w4k1i0zz9rnzapmvnnh8q2q05s1r9v4gsqrcnwiy1q45ksx42dc";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base base64 bytestring cryptonite memory password-types
@@ -208503,8 +205318,8 @@ self: {
        pname = "password-types";
        version = "1.0.0.0";
        sha256 = "090aqq2xs6m5djvr9zfdj7rxafbmj8d05vij5rchj1f9c46dclb5";
-       revision = "1";
-       editedCabalFile = "1nw1fskhr42xmhdc1bp290333vzgmc3fkfvydfwjvlw0962lxzvy";
+       revision = "3";
+       editedCabalFile = "0i6djm9zsb95qdan0vr9shilhmzjxqsqrjy9v16hcaph49wnw7pr";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [ base bytestring memory text ];
        testHaskellDepends = [
@@ -208608,26 +205423,6 @@ self: {
   "patch" = callPackage
     ({ mkDerivation, base, constraints-extras, containers
      , dependent-map, dependent-sum, directory, filemanip, filepath
-     , hlint, lens, monoidal-containers, semialign, semigroupoids, these
-     , transformers, witherable
-     }:
-     mkDerivation {
-       pname = "patch";
-       version = "0.0.4.0";
-       sha256 = "02hdhgk7wwcnq7aahbaqx5zzlha6mq6lj0mw57phj3ykmca0zggc";
-       libraryHaskellDepends = [
-         base constraints-extras containers dependent-map dependent-sum lens
-         monoidal-containers semialign semigroupoids these transformers
-         witherable
-       ];
-       testHaskellDepends = [ base directory filemanip filepath hlint ];
-       description = "Data structures for describing changes to other data structures";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "patch_0_0_5_2" = callPackage
-    ({ mkDerivation, base, constraints-extras, containers
-     , dependent-map, dependent-sum, directory, filemanip, filepath
      , hedgehog, hlint, HUnit, lens, monoidal-containers, semialign
      , semigroupoids, these, transformers, witherable
      }:
@@ -208645,7 +205440,6 @@ self: {
        ];
        description = "Data structures for describing changes to other data structures";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "patch-combinators" = callPackage
@@ -208708,30 +205502,6 @@ self: {
        broken = true;
      }) {};
 
-  "path" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, deepseq, exceptions
-     , filepath, genvalidity, genvalidity-hspec, genvalidity-property
-     , hashable, hspec, mtl, QuickCheck, template-haskell, text
-     , validity
-     }:
-     mkDerivation {
-       pname = "path";
-       version = "0.8.0";
-       sha256 = "0vzsa41q5sxs1ni72yv1vfpnc6r5mjdwnmdb6jrs6cszb2xlkjr4";
-       revision = "1";
-       editedCabalFile = "02vhx94mqapyigvayb6cj7p7snn354pb542n3qyvsm0gih52wlja";
-       libraryHaskellDepends = [
-         aeson base deepseq exceptions filepath hashable template-haskell
-         text
-       ];
-       testHaskellDepends = [
-         aeson base bytestring filepath genvalidity genvalidity-hspec
-         genvalidity-property hspec mtl QuickCheck template-haskell validity
-       ];
-       description = "Support for well-typed paths";
-       license = lib.licenses.bsd3;
-     }) {};
-
   "path_0_9_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, deepseq, exceptions
      , filepath, genvalidity, genvalidity-hspec, genvalidity-property
@@ -208755,7 +205525,7 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "path_0_9_2" = callPackage
+  "path" = callPackage
     ({ mkDerivation, aeson, base, bytestring, deepseq, exceptions
      , filepath, genvalidity, genvalidity-hspec, genvalidity-property
      , hashable, hspec, mtl, QuickCheck, template-haskell, text
@@ -208775,7 +205545,6 @@ self: {
        ];
        description = "Support for well-typed paths";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "path-binary-instance" = callPackage
@@ -208845,28 +205614,6 @@ self: {
      }:
      mkDerivation {
        pname = "path-io";
-       version = "1.6.3";
-       sha256 = "1dnc48hf8x83p0jy05qi8j8gmfmsy50swnql9ssdv74lsryp615n";
-       revision = "3";
-       editedCabalFile = "0rsr9r2175lf7zcz2sns0mhxkvl21pm50sjidjq5v75nalrsw6rp";
-       libraryHaskellDepends = [
-         base containers directory dlist exceptions filepath path temporary
-         time transformers unix-compat
-       ];
-       testHaskellDepends = [
-         base directory exceptions filepath hspec path transformers
-         unix-compat
-       ];
-       description = "Interface to ‘directory’ package for users of ‘path’";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "path-io_1_7_0" = callPackage
-    ({ mkDerivation, base, containers, directory, dlist, exceptions
-     , filepath, hspec, path, temporary, time, transformers, unix-compat
-     }:
-     mkDerivation {
-       pname = "path-io";
        version = "1.7.0";
        sha256 = "1jr1inh3x0a42rdh4q0jipbw8jsprdza1j5xkzd7nxcq0a143g9l";
        libraryHaskellDepends = [
@@ -208879,7 +205626,6 @@ self: {
        ];
        description = "Interface to ‘directory’ package for users of ‘path’";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "path-like" = callPackage
@@ -208912,8 +205658,10 @@ self: {
     ({ mkDerivation, base, bytestring, path, safe-exceptions, text }:
      mkDerivation {
        pname = "path-text-utf8";
-       version = "0.0.1.8";
-       sha256 = "1xi60cw75qzhb03z2a66xfxgr17xz39bdk7wmjc7yprqy0v016jj";
+       version = "0.0.1.10";
+       sha256 = "1nbmsydpg8m09q5i907bnh57x5lcd3rw3rnxa31b93xzaynxwhsn";
+       revision = "1";
+       editedCabalFile = "1f1y2m1qqdxnqi1n4bvgbqilsjk3sqkvi4nk2pz5l9bl97k0l42z";
        libraryHaskellDepends = [
          base bytestring path safe-exceptions text
        ];
@@ -209050,6 +205798,8 @@ self: {
        ];
        description = "Sentry SDK";
        license = lib.licenses.isc;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "patronscraper" = callPackage
@@ -209135,8 +205885,8 @@ self: {
     ({ mkDerivation, base, criterion, hspec, mwc-random, vector }:
      mkDerivation {
        pname = "pava";
-       version = "0.1.1.2";
-       sha256 = "0qvyia9iy8f9s16v2khgzm74z9r7mks98xz1g1qhrdkw950mjlga";
+       version = "0.1.1.3";
+       sha256 = "07k8kgzz4rscpg716f72my1xcl1sr1g4laky3xjrk3vh1gzn1g88";
        libraryHaskellDepends = [ base vector ];
        testHaskellDepends = [ base hspec vector ];
        benchmarkHaskellDepends = [ base criterion mwc-random vector ];
@@ -209540,37 +206290,14 @@ self: {
      }) {};
 
   "pcre2" = callPackage
-    ({ mkDerivation, base, containers, criterion, hspec
-     , microlens-platform, mtl, pcre-light, regex-pcre-builtin
-     , template-haskell, text
-     }:
-     mkDerivation {
-       pname = "pcre2";
-       version = "1.1.5";
-       sha256 = "0kwlcv2rh8hyx93i3q3xv8ijxccl02n5nbkv4g74dr12d41ggc1h";
-       libraryHaskellDepends = [
-         base containers mtl template-haskell text
-       ];
-       testHaskellDepends = [
-         base containers hspec microlens-platform mtl template-haskell text
-       ];
-       benchmarkHaskellDepends = [
-         base containers criterion microlens-platform mtl pcre-light
-         regex-pcre-builtin template-haskell text
-       ];
-       description = "Regular expressions via the PCRE2 C library (included)";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "pcre2_2_1_0" = callPackage
     ({ mkDerivation, base, containers, criterion, hspec, microlens
      , microlens-platform, mtl, pcre-light, regex-pcre-builtin
      , template-haskell, text
      }:
      mkDerivation {
        pname = "pcre2";
-       version = "2.1.0";
-       sha256 = "0ina14prysmh6njfcpyhzhyz0r6qsixvli3fifh46biqryx2whaw";
+       version = "2.1.0.1";
+       sha256 = "06fj8p49whxixphncmzm0c85wzqrsmg59zbb423qnqqmcwjwy2qf";
        libraryHaskellDepends = [
          base containers microlens mtl template-haskell text
        ];
@@ -209584,7 +206311,6 @@ self: {
        ];
        description = "Regular expressions via the PCRE2 C library (included)";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "pdc" = callPackage
@@ -210227,6 +206953,7 @@ self: {
        description = "Create beautiful diagrams just by typing mathematical notation in plain text";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "peparser" = callPackage
@@ -210351,8 +207078,8 @@ self: {
      }:
      mkDerivation {
        pname = "peregrin";
-       version = "0.3.1";
-       sha256 = "1hiv9rzpjmjywwc4j6bqkqvqwv2gr6d512hv0l6m5c6idsyk2v12";
+       version = "0.3.2";
+       sha256 = "12p17fznvrn9hhcwr7hpsii4syq5vhyww8lp7nrsyn966q8dd8xa";
        libraryHaskellDepends = [ base bytestring postgresql-simple text ];
        testHaskellDepends = [
          base hspec pg-harness-client postgresql-simple resource-pool text
@@ -210377,8 +207104,6 @@ self: {
        ];
        description = "Low-level run time measurement";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "perf-analysis" = callPackage
@@ -210457,6 +207182,8 @@ self: {
        ];
        description = "Library for performing vector shuffles";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "perfecthash" = callPackage
@@ -210610,6 +207337,8 @@ self: {
        libraryHaskellDepends = [ base vector ];
        description = "A library for working with periodic polynomials (very basic functionality)";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "periodic-server" = callPackage
@@ -210697,7 +207426,6 @@ self: {
        description = "Permutations of finite sets";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "permute" = callPackage
@@ -210787,6 +207515,7 @@ self: {
        testHaskellDepends = [ base quickcheck-simple ];
        description = "Binding between SQL database values and haskell records";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "persistable-types-HDBC-pg" = callPackage
@@ -210807,6 +207536,7 @@ self: {
        ];
        description = "HDBC and Relational-Record instances of PostgreSQL extended types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "persistent" = callPackage
@@ -210820,8 +207550,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent";
-       version = "2.13.3.0";
-       sha256 = "059y0wyd74rb0aa32b54vj9n0g5pz9nfcbx2h3iil2qbgjvzvw9w";
+       version = "2.13.3.3";
+       sha256 = "07fhi9mb2ffdw41jy6ypwvv6nwb1kwb21prjc6pqmbdyxp303ij0";
        libraryHaskellDepends = [
          aeson attoparsec base base64-bytestring blaze-html bytestring
          conduit containers fast-logger http-api-data lift-type monad-logger
@@ -210935,8 +207665,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Persistent module discover utilities";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "persistent-documentation" = callPackage
@@ -210957,8 +207685,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Documentation DSL for persistent entities";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "persistent-equivalence" = callPackage
@@ -210983,6 +207709,8 @@ self: {
        libraryHaskellDepends = [ base persistent text ];
        description = "Derive Persistent classes generically";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "persistent-hssqlppp" = callPackage
@@ -211027,6 +207755,7 @@ self: {
        ];
        description = "Persistent instances for types in iproute";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "persistent-lens" = callPackage
@@ -211090,8 +207819,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-mongoDB";
-       version = "2.13.0.0";
-       sha256 = "0096fjyzgl788ciws0vb5bn5in8946bd12qrg8wz8dyq1xvilg8m";
+       version = "2.13.0.1";
+       sha256 = "1ck74kpzkz623c43qb8r1cjq8chi2p721vx95zrpciz8jm496235";
        libraryHaskellDepends = [
          aeson base bson bytestring cereal conduit http-api-data mongoDB
          network path-pieces persistent resource-pool resourcet text time
@@ -211109,31 +207838,6 @@ self: {
      }) {};
 
   "persistent-mtl" = callPackage
-    ({ mkDerivation, base, bytestring, conduit, containers
-     , monad-logger, mtl, persistent, persistent-postgresql
-     , persistent-sqlite, persistent-template, resource-pool, resourcet
-     , tasty, tasty-golden, tasty-hunit, text, transformers, unliftio
-     , unliftio-core, unliftio-pool
-     }:
-     mkDerivation {
-       pname = "persistent-mtl";
-       version = "0.2.2.0";
-       sha256 = "0z78xs1gi45i3a9q28yr7jpsdsbzfqjahch3m27gygkja9dgm438";
-       libraryHaskellDepends = [
-         base conduit containers mtl persistent resource-pool resourcet text
-         transformers unliftio unliftio-core unliftio-pool
-       ];
-       testHaskellDepends = [
-         base bytestring conduit containers monad-logger persistent
-         persistent-postgresql persistent-sqlite persistent-template
-         resource-pool resourcet tasty tasty-golden tasty-hunit text
-         unliftio
-       ];
-       description = "Monad transformer for the persistent API";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "persistent-mtl_0_4_0_0" = callPackage
     ({ mkDerivation, base, bytestring, conduit, containers, esqueleto
      , exceptions, explainable-predicates, monad-logger, mtl, persistent
      , persistent-postgresql, persistent-sqlite, persistent-template
@@ -211157,7 +207861,6 @@ self: {
        ];
        description = "Monad transformer for the persistent API";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "persistent-mysql" = callPackage
@@ -211169,8 +207872,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-mysql";
-       version = "2.13.1.0";
-       sha256 = "16balbklf4800pqivmvnamjhy3xvnr9939fz3qkicfs4ba68m62k";
+       version = "2.13.1.3";
+       sha256 = "0fm6agqwawwraw6l6kxm8lq40pm5pnjg093f574a7sdf648q21yc";
        libraryHaskellDepends = [
          aeson base blaze-builder bytestring conduit containers monad-logger
          mysql mysql-simple persistent resource-pool resourcet text
@@ -211217,7 +207920,6 @@ self: {
        description = "A pure haskell backend for the persistent library using MySQL database server";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "persistent-odbc" = callPackage
@@ -211287,8 +207989,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-postgresql";
-       version = "2.13.4.0";
-       sha256 = "1hvk7fvknq27nfpyv32b7062cs4c3h2s62ssr133abq78ymcfcll";
+       version = "2.13.5.0";
+       sha256 = "1q9hy49nfrb3azgz5rjz235d7scy27l5axkih7crskaa04hf4k8d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -211323,8 +208025,6 @@ self: {
        ];
        description = "Memory-constant streaming of Persistent entities from PostgreSQL";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "persistent-protobuf" = callPackage
@@ -211386,8 +208086,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-redis";
-       version = "2.13.0.0";
-       sha256 = "1d43rlcx0islf7gn14kpxi922zaz6k5x6s4k4xc947l2r1zx40qs";
+       version = "2.13.0.1";
+       sha256 = "1p03bwsldi3w4vsig1krnilhpbkkhzrm240jbx22q514922kgjr9";
        libraryHaskellDepends = [
          aeson base binary bytestring hedis http-api-data mtl path-pieces
          persistent scientific text time transformers utf8-string
@@ -211399,8 +208099,6 @@ self: {
        ];
        description = "Backend for persistent library using Redis";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "persistent-refs" = callPackage
@@ -211438,7 +208136,6 @@ self: {
        description = "relational-record on persisten backends";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "persistent-spatial" = callPackage
@@ -211538,8 +208235,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-test";
-       version = "2.13.1.0";
-       sha256 = "1ccv9rrnjngwf8av3zyq28myd1iyb6831nnqjpllwlyrpgnmafvr";
+       version = "2.13.1.2";
+       sha256 = "0cah2gyp5lm9hipm3wvcxnl14cmq51dajzcw3wcf9xd19sbm4k49";
        libraryHaskellDepends = [
          aeson base blaze-html bytestring conduit containers exceptions
          hspec hspec-expectations http-api-data HUnit monad-control
@@ -211574,6 +208271,8 @@ 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
@@ -212094,6 +208793,31 @@ self: {
        license = lib.licenses.gpl3Only;
      }) {pHash = null;};
 
+  "phatsort" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, directory, filepath, HMock
+     , MonadRandom, optparse-applicative, random-shuffle, tasty
+     , tasty-hunit, transformers, unix-compat
+     }:
+     mkDerivation {
+       pname = "phatsort";
+       version = "0.5.0.1";
+       sha256 = "14czx4s3ywfcxbw8lr60i3cdk62rcfr7m1v98mx3qm1gjinll5js";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base directory filepath MonadRandom random-shuffle transformers
+         unix-compat
+       ];
+       executableHaskellDepends = [
+         ansi-wl-pprint base optparse-applicative
+       ];
+       testHaskellDepends = [
+         base HMock MonadRandom tasty tasty-hunit transformers
+       ];
+       description = "FAT filesystem sort utility";
+       license = lib.licenses.mit;
+     }) {};
+
   "phizzle" = callPackage
     ({ mkDerivation, aeson, base, bytestring, network, network-uri
      , regex-pcre, text
@@ -212227,6 +208951,7 @@ self: {
        libraryHaskellDepends = [ base subG subG-instances vector ];
        description = "A generalization of the uniqueness-periods-vector-common package";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "phonetic-languages-constaints" = callPackage
@@ -212238,6 +208963,8 @@ self: {
        libraryHaskellDepends = [ base vector ];
        description = "Constraints to filter the needed permutations";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "phonetic-languages-constraints" = callPackage
@@ -212249,17 +208976,19 @@ self: {
        libraryHaskellDepends = [ base subG subG-instances vector ];
        description = "Constraints to filter the needed permutations";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "phonetic-languages-constraints-array" = callPackage
     ({ mkDerivation, base, subG }:
      mkDerivation {
        pname = "phonetic-languages-constraints-array";
-       version = "0.1.0.0";
-       sha256 = "0mxn7xvggiii4cmpqmxx5mkk660z9q8s3n09kaqbmwszf5l86ynd";
+       version = "0.1.1.0";
+       sha256 = "1c5n04zkfhws6ciilbkya4fyr3qc2yszmqrbb7pk3jcjnv2xp32b";
        libraryHaskellDepends = [ base subG ];
        description = "Constraints to filter the needed permutations";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "phonetic-languages-examples" = callPackage
@@ -212333,17 +209062,19 @@ self: {
        libraryHaskellDepends = [ base subG subG-instances vector ];
        description = "Commonly used versions of the phonetic-languages-common package";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "phonetic-languages-permutations-array" = callPackage
     ({ mkDerivation, base, subG }:
      mkDerivation {
        pname = "phonetic-languages-permutations-array";
-       version = "0.3.3.0";
-       sha256 = "0r742vhcyghq2r2wjxqi1njhkvpmq4i635ayd5zv5im5qf5xcry6";
+       version = "0.3.4.0";
+       sha256 = "06xlxh82m681ss0ycb9r6xmfcxgfq0pjsvd2s1nm43jk5a2yfxfn";
        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
@@ -212364,6 +209095,7 @@ self: {
        ];
        description = "A library for working with generalized phonetic languages usage";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "phonetic-languages-plus" = callPackage
@@ -212372,8 +209104,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-plus";
-       version = "0.5.1.0";
-       sha256 = "1cwj1i6illdaf51piidlbxdw61srql4p47kqz5sy9as251g7n1rm";
+       version = "0.5.3.0";
+       sha256 = "09wqch3ajsxqm4w10k95qg7ljv6s5rznxrniljcnl4pram4xfr8d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -212387,7 +209119,6 @@ self: {
        description = "Some common shared between different packages functions";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "phonetic-languages-properties" = callPackage
@@ -212406,18 +209137,19 @@ self: {
        description = "A generalization of the uniqueness-periods-vector-properties package";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "phonetic-languages-rhythmicity" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "phonetic-languages-rhythmicity";
-       version = "0.9.1.0";
-       sha256 = "1j2fr1hf6k9b7838sqyv5lq5cx75a44d2adk78ljyc0qx9hh9537";
+       version = "0.9.2.0";
+       sha256 = "0qnid53az0w4p4rb0pkxbn5z1s7r5h7cvyh4lh81c3q9bprc6cr0";
        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
@@ -212425,13 +209157,14 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-base";
-       version = "0.4.5.0";
-       sha256 = "0qbb04sk2iigy07skyk434p92r3bza8glwfpxdlwi5bxy69fsrdj";
+       version = "0.4.6.0";
+       sha256 = "0pnq92xg0zkbvq8a9jqw75v7zfqazg6r1ja35hjwdr8rl991nvjr";
        libraryHaskellDepends = [
          base phonetic-languages-permutations-array subG
        ];
        description = "A basics of the phonetic-languages functionality";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "phonetic-languages-simplified-common" = callPackage
@@ -212447,10 +209180,12 @@ self: {
        ];
        description = "A simplified version of the phonetic-languages-functionality";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "phonetic-languages-simplified-examples-array" = callPackage
-    ({ mkDerivation, base, cli-arguments, heaps, mmsyn2-array, parallel
+    ({ mkDerivation, base, cli-arguments, heaps, lists-flines
+     , mmsyn2-array, mmsyn2-array-ukrainian-data, parallel
      , phonetic-languages-constraints-array
      , phonetic-languages-filters-array
      , phonetic-languages-permutations-array, phonetic-languages-plus
@@ -212463,12 +209198,13 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-examples-array";
-       version = "0.16.3.0";
-       sha256 = "12hqxk3fga9k6xw8wns834n12wcpmxki2cbyq03jgz22n00css0f";
+       version = "0.17.1.0";
+       sha256 = "00lb3h4b0yd3ra0i6g64r8vfn2cyazrqai51arfprihyj31zm9kq";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base cli-arguments heaps mmsyn2-array parallel
+         base cli-arguments heaps lists-flines mmsyn2-array
+         mmsyn2-array-ukrainian-data parallel
          phonetic-languages-constraints-array
          phonetic-languages-filters-array
          phonetic-languages-permutations-array phonetic-languages-plus
@@ -212479,7 +209215,8 @@ self: {
          ukrainian-phonetics-basic-array uniqueness-periods-vector-stats
        ];
        executableHaskellDepends = [
-         base cli-arguments heaps mmsyn2-array parallel
+         base cli-arguments heaps lists-flines mmsyn2-array
+         mmsyn2-array-ukrainian-data parallel
          phonetic-languages-constraints-array
          phonetic-languages-filters-array
          phonetic-languages-permutations-array phonetic-languages-plus
@@ -212500,8 +209237,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-examples-common";
-       version = "0.4.2.0";
-       sha256 = "05ghrqxjlpgdxdcfzj5l0shwmria2c9xkkbps1j1vdsn2qlwihxy";
+       version = "0.4.4.0";
+       sha256 = "1y5nrr23blxm08s62q58aq0yiifxgds9lf2wf45zz11w1z16ff1n";
        libraryHaskellDepends = [
          base heaps phonetic-languages-constraints-array
          phonetic-languages-ukrainian-array
@@ -212554,6 +209291,7 @@ self: {
        ];
        description = "Some common code for phonetic languages generalized functionality";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "phonetic-languages-simplified-generalized-properties-array" = callPackage
@@ -212571,6 +209309,7 @@ self: {
        ];
        description = "Some 'properties' of the phonetic languages approach text";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "phonetic-languages-simplified-lists-examples" = callPackage
@@ -212615,14 +209354,15 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-properties-array";
-       version = "0.12.2.0";
-       sha256 = "099l3r6c8067a5bdnszlyyzg8n862awh8mqfzx1vdk3s91hz7fj6";
+       version = "0.13.1.0";
+       sha256 = "17p6hpljkvcsjyfc7dpk8pf2ws1rimmnwc93gaa2a473ifk4a1sd";
        libraryHaskellDepends = [
          base phonetic-languages-rhythmicity
          phonetic-languages-simplified-base ukrainian-phonetics-basic-array
        ];
        description = "Some properties of the data related to rhythmicity";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "phonetic-languages-simplified-properties-lists" = callPackage
@@ -212642,7 +209382,6 @@ self: {
        description = "A generalization of the uniqueness-periods-vector-properties package";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "phonetic-languages-simplified-properties-lists-double" = callPackage
@@ -212662,7 +209401,6 @@ self: {
        description = "A generalization of the uniqueness-periods-vector-properties package";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "phonetic-languages-ukrainian" = callPackage
@@ -212674,22 +209412,21 @@ self: {
        libraryHaskellDepends = [ base mmsyn2 mmsyn5 vector ];
        description = "Prepares Ukrainian text to be used as a phonetic language text";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "phonetic-languages-ukrainian-array" = callPackage
     ({ mkDerivation, base, mmsyn2-array, mmsyn5 }:
      mkDerivation {
        pname = "phonetic-languages-ukrainian-array";
-       version = "0.9.2.0";
-       sha256 = "0x0llv91r0837qiajnxhln6ddf8qyc7m13rc87x8rg7f5rqpzqip";
+       version = "0.9.3.0";
+       sha256 = "0pi3dm72zw26lyp876r28ql4gxfp8h1sbr201a62g5p6jlvaixi4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base mmsyn2-array mmsyn5 ];
        executableHaskellDepends = [ base mmsyn2-array mmsyn5 ];
        description = "Prepares Ukrainian text to be used as a phonetic language text";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "phonetic-languages-vector" = callPackage
@@ -212701,6 +209438,8 @@ self: {
        libraryHaskellDepends = [ base vector ];
        description = "A generalization of the functionality of the uniqueness-periods-vector package";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "phooey" = callPackage
@@ -212921,7 +209660,6 @@ self: {
        description = "Set up port forwarding with the Private Internet Access VPN service";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "pianola" = callPackage
@@ -213210,23 +209948,24 @@ self: {
        ];
        description = "Access to the Pinboard API";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "pinboard-notes-backup" = callPackage
     ({ mkDerivation, aeson, ansi-wl-pprint, base, bytestring
      , containers, http-client, http-types, mtl, optparse-applicative
-     , req, sqlite-simple, text, time, transformers
+     , req, sqlite-simple, text, time
      }:
      mkDerivation {
        pname = "pinboard-notes-backup";
-       version = "1.0.5.3";
-       sha256 = "03a05xl9jllqihbicnas5awhm6sz1ly3wp8vqdq06jvvr5n111j4";
+       version = "1.0.5.4";
+       sha256 = "1p6if0hzgab49l39czj18b18z5lqm6akajfp68x8mrbydv55ij54";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          aeson ansi-wl-pprint base bytestring containers http-client
          http-types mtl optparse-applicative req sqlite-simple text time
-         transformers
        ];
        description = "Back up the notes you've saved to Pinboard";
        license = lib.licenses.gpl3Only;
@@ -213274,6 +210013,8 @@ self: {
        ];
        description = "A code generator for the pinch Thrift library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "pinchot" = callPackage
@@ -213317,6 +210058,8 @@ self: {
        ];
        description = "Functional 2D Game Framework";
        license = lib.licenses.zlib;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ping" = callPackage
@@ -213649,6 +210392,8 @@ self: {
        testHaskellDepends = [ base bytestring mtl pipes QuickCheck ];
        description = "Pipes to group by any delimiter (such as lines with carriage returns)";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "pipes-brotli" = callPackage
@@ -213666,6 +210411,7 @@ self: {
        description = "Brotli (RFC7932) compressors and decompressors for the Pipes package";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "pipes-bytestring" = callPackage
@@ -213706,6 +210452,8 @@ self: {
        benchmarkHaskellDepends = [ base ];
        description = "Streaming compression/decompression via pipes";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) bzip2;};
 
   "pipes-cacophony" = callPackage
@@ -213737,6 +210485,8 @@ self: {
        testHaskellDepends = [ base hspec pipes transformers ];
        description = "Allows instances for Category, Arrow and ArrowChoice for Pipes";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "pipes-cborg" = callPackage
@@ -213758,6 +210508,8 @@ self: {
        ];
        description = "Encode and decode cborg streams using the pipes and cborg libraries";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "pipes-cellular" = callPackage
@@ -214036,6 +210788,7 @@ self: {
        ];
        description = "Reactively combines Producers so that a value is yielded as soon as possible";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "pipes-group" = callPackage
@@ -214218,6 +210971,7 @@ self: {
        ];
        description = "Miscellaneous utilities for pipes, required by glazier-tutorial";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "pipes-mongodb" = callPackage
@@ -214246,6 +211000,8 @@ self: {
        ];
        description = "Use network sockets together with the pipes library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "pipes-network-tls" = callPackage
@@ -214263,6 +211019,7 @@ self: {
        ];
        description = "TLS-secured network connections support for pipes";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "pipes-network-ws" = callPackage
@@ -214377,7 +211134,6 @@ self: {
        description = "Alternate Prelude for the pipes ecosystem";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "pipes-pulse-simple" = callPackage
@@ -214514,6 +211270,8 @@ self: {
        ];
        description = "properly streaming text";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "pipes-transduce" = callPackage
@@ -214538,7 +211296,6 @@ self: {
        description = "Interfacing pipes with foldl folds";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "pipes-vector" = callPackage
@@ -214628,6 +211385,8 @@ self: {
        ];
        description = "Zlib and GZip compression and decompression for Pipes streams";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "pisigma" = callPackage
@@ -214760,6 +211519,8 @@ self: {
        ];
        description = "Pixela client";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "pixelated-avatar-generator" = callPackage
@@ -214810,6 +211571,8 @@ self: {
        ];
        description = "Pixiv API binding based on servant-client";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "piyo" = callPackage
@@ -214904,27 +211667,6 @@ self: {
 
   "pkgtreediff" = callPackage
     ({ mkDerivation, async, base, directory, extra, filepath, Glob
-     , http-client, http-client-tls, http-directory, koji, simple-cmd
-     , simple-cmd-args, text
-     }:
-     mkDerivation {
-       pname = "pkgtreediff";
-       version = "0.4.1";
-       sha256 = "0yj0wpwpryavy09264xh82kxi52gc5ipyrgwpxh3m9gv1264gip0";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base text ];
-       executableHaskellDepends = [
-         async base directory extra filepath Glob http-client
-         http-client-tls http-directory koji simple-cmd simple-cmd-args text
-       ];
-       description = "Package tree diff tool";
-       license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
-  "pkgtreediff_0_5_0" = callPackage
-    ({ mkDerivation, async, base, directory, extra, filepath, Glob
      , http-client, http-client-tls, http-directory, koji, rpm-nvr
      , simple-cmd, simple-cmd-args, text
      }:
@@ -215257,6 +211999,8 @@ self: {
        ];
        description = "Library and executable for working with playlist files";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "playlists-http" = callPackage
@@ -215275,6 +212019,7 @@ self: {
        ];
        description = "Library to glue together playlists and http-client";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "plex" = callPackage
@@ -215506,6 +212251,7 @@ self: {
        description = "Basic plotting of tabular data for the command line";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "plotfont" = callPackage
@@ -215565,10 +212311,8 @@ self: {
      }:
      mkDerivation {
        pname = "plots";
-       version = "0.1.1.2";
-       sha256 = "01w56qhyw8w6g8xffrvkp7d6k8l4w9as8v900v29jaq7gz680fhs";
-       revision = "2";
-       editedCabalFile = "1h6jc8jlgqf7qcim6qd260m3z6bv5hpcg48xzbb81jmxsl374qf9";
+       version = "0.1.1.3";
+       sha256 = "1gkrwigv53vg1q96z56m86xf6z9g9w4jqaapf81rixqsww7hrbng";
        libraryHaskellDepends = [
          adjunctions base base-orphans colour containers data-default
          diagrams-core diagrams-lib directory distributive filepath
@@ -215610,14 +212354,16 @@ self: {
      }:
      mkDerivation {
        pname = "plugins";
-       version = "1.6.2";
-       sha256 = "1lgk25chpl6albf8pzq8q40di02rgv7g3bsf586a5pl2kdh2p2qq";
+       version = "1.6.2.1";
+       sha256 = "04cgq4x07zfb9lrqj9qrcgvacxz0rhim77zhx25s4scd6n4lc3j0";
        libraryHaskellDepends = [
          array base Cabal containers directory filepath ghc ghc-paths
          ghc-prim haskell-src process random split
        ];
        description = "Dynamic linking for Haskell and C objects";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "plugins-auto" = callPackage
@@ -215635,7 +212381,6 @@ self: {
        description = "Automatic recompilation and reloading of haskell modules";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "plugins-multistage" = callPackage
@@ -216106,6 +212851,8 @@ self: {
        benchmarkHaskellDepends = [ base gauge ];
        description = "Texas holdem hand evaluation and simulation";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "poker-base" = callPackage
@@ -216128,8 +212875,6 @@ self: {
        testToolDepends = [ tasty-discover ];
        description = "A library for core poker types";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "poker-eval" = callPackage
@@ -216246,6 +212991,8 @@ self: {
        ];
        description = "Haskell PVP version adviser";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "polimorf" = callPackage
@@ -216290,6 +213037,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Cache infrequently updated data for simpler distributed systems";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "poly" = callPackage
@@ -216362,6 +213111,7 @@ self: {
        libraryHaskellDepends = [ base requirements ];
        description = "Polykinded extensible records";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "polyToMonoid" = callPackage
@@ -216471,13 +213221,15 @@ self: {
     ({ mkDerivation, array, base, compact-word-vectors, containers }:
      mkDerivation {
        pname = "polynomial-algebra";
-       version = "0.1";
-       sha256 = "03133j7hknn0d6b6lvq0q05zy6m92lx5wh68chimgm45xh2p8y0a";
+       version = "0.1.0.1";
+       sha256 = "01vqffxfxwh00g64db0xi8wjd330c6dypcw1hzmx1smkggmvzcsb";
        libraryHaskellDepends = [
          array base compact-word-vectors containers
        ];
        description = "Multivariate polynomial rings";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "polynomials-bernstein" = callPackage
@@ -216497,8 +213249,8 @@ self: {
        pname = "polyparse";
        version = "1.13";
        sha256 = "0yvhg718dlksiw3v27m2d8m1sn4r4f5s0p56zq3lynhy1sc74k0w";
-       revision = "3";
-       editedCabalFile = "0hdd8vfdsipqmz1c8snnihff5419hc181ky8lspk8aq7pyv7ic45";
+       revision = "4";
+       editedCabalFile = "0i1vd36mpbls1crs5wdca77f6wjqimy6f9b9kk7kr3jz7zgqhnz7";
        libraryHaskellDepends = [ base bytestring text ];
        description = "A variety of alternative parser combinator libraries";
        license = "LGPL";
@@ -216509,29 +213261,27 @@ self: {
      , criterion, doctest, first-class-families, free, freer-simple
      , hspec, hspec-discover, inspection-testing, mtl, QuickCheck, stm
      , syb, template-haskell, th-abstraction, transformers, type-errors
-     , type-errors-pretty, unagi-chan
+     , unagi-chan
      }:
      mkDerivation {
        pname = "polysemy";
-       version = "1.5.0.0";
-       sha256 = "1d8qllllnwwjrjdaadgk4h07d7n2whw6hl8q3ikd474kfdagbiwz";
+       version = "1.6.0.0";
+       sha256 = "1s2hmfp1ii5q8qpxiqm825ykh4fpcq06wphfqbhp7p3sxkkr3c68";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          async base containers first-class-families mtl QuickCheck stm syb
-         template-haskell th-abstraction transformers type-errors
-         type-errors-pretty unagi-chan
+         template-haskell th-abstraction transformers type-errors unagi-chan
        ];
        testHaskellDepends = [
          async base containers doctest first-class-families hspec
          inspection-testing mtl QuickCheck stm syb template-haskell
-         th-abstraction transformers type-errors type-errors-pretty
-         unagi-chan
+         th-abstraction transformers type-errors unagi-chan
        ];
        testToolDepends = [ hspec-discover ];
        benchmarkHaskellDepends = [
          async base containers criterion first-class-families free
          freer-simple mtl QuickCheck stm syb template-haskell th-abstraction
-         transformers type-errors type-errors-pretty unagi-chan
+         transformers type-errors unagi-chan
        ];
        description = "Higher-order, low-boilerplate free monads";
        license = lib.licenses.bsd3;
@@ -216615,63 +213365,42 @@ self: {
      }) {};
 
   "polysemy-chronos" = callPackage
-    ({ mkDerivation, base, chronos, polysemy, polysemy-test
+    ({ mkDerivation, base, chronos, incipit-core, polysemy-test
      , polysemy-time, tasty
      }:
      mkDerivation {
        pname = "polysemy-chronos";
-       version = "0.2.0.2";
-       sha256 = "1siasag2fipfkff1njs5ill7g9m9wi7fc0jc9m714m9rip3w9sam";
-       libraryHaskellDepends = [ base chronos polysemy polysemy-time ];
-       testHaskellDepends = [
-         base chronos polysemy-test polysemy-time tasty
-       ];
-       description = "Polysemy-time Interpreters for Chronos";
-       license = "BSD-2-Clause-Patent";
-     }) {};
-
-  "polysemy-conc" = callPackage
-    ({ mkDerivation, async, base, containers, polysemy, polysemy-test
-     , polysemy-time, relude, stm, stm-chans, string-interpolate, tasty
-     , template-haskell, text, time, unagi-chan, unix
-     }:
-     mkDerivation {
-       pname = "polysemy-conc";
-       version = "0.4.0.1";
-       sha256 = "1wf24837p5bk6p6p2d3bqwyrj93ls7kndvzr9qa8w8g46fv1ryp4";
+       version = "0.4.0.0";
+       sha256 = "0wcd9g5ad846s2z7i10krphlks1n7ywlcs64aqv91yxlxfnlb9d8";
        libraryHaskellDepends = [
-         async base containers polysemy polysemy-time relude stm stm-chans
-         string-interpolate template-haskell text time unagi-chan unix
+         base chronos incipit-core polysemy-time
        ];
        testHaskellDepends = [
-         base polysemy polysemy-test polysemy-time stm tasty time unagi-chan
-         unix
+         base chronos incipit-core polysemy-test polysemy-time tasty
        ];
-       description = "Polysemy Effects for Concurrency";
+       description = "Polysemy-time Interpreters for Chronos";
        license = "BSD-2-Clause-Patent";
      }) {};
 
-  "polysemy-conc_0_5_1_1" = callPackage
-    ({ mkDerivation, async, base, containers, data-default, polysemy
-     , polysemy-plugin, polysemy-test, polysemy-time, relude, stm
-     , stm-chans, tasty, template-haskell, text, time, torsor
-     , unagi-chan, unix
+  "polysemy-conc" = callPackage
+    ({ mkDerivation, async, base, containers, incipit-core, polysemy
+     , polysemy-plugin, polysemy-resume, polysemy-test, polysemy-time
+     , stm, stm-chans, tasty, time, torsor, unagi-chan, unix
      }:
      mkDerivation {
        pname = "polysemy-conc";
-       version = "0.5.1.1";
-       sha256 = "0ix59hjrlhk04pwif6kszk7xpkkapxx7hr1vpm7nrggjgfk1015i";
+       version = "0.7.0.0";
+       sha256 = "0jr5wh0sxbymz4p9x2p86cm9djr8bybss747xx9c778va0vgcncg";
        libraryHaskellDepends = [
-         async base containers data-default polysemy polysemy-time relude
-         stm stm-chans template-haskell text time torsor unagi-chan unix
+         async base containers incipit-core polysemy polysemy-resume
+         polysemy-time stm stm-chans torsor unagi-chan unix
        ];
        testHaskellDepends = [
-         async base polysemy polysemy-plugin polysemy-test polysemy-time stm
-         tasty time unagi-chan unix
+         async base incipit-core polysemy polysemy-plugin polysemy-resume
+         polysemy-test polysemy-time stm tasty time unagi-chan unix
        ];
        description = "Polysemy Effects for Concurrency";
        license = "BSD-2-Clause-Patent";
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "polysemy-extra" = callPackage
@@ -216722,34 +213451,29 @@ self: {
      }) {};
 
   "polysemy-http" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, base, bytestring
-     , case-insensitive, composition, containers, data-default, either
-     , hedgehog, http-client, http-client-tls, http-types, lens, network
-     , polysemy, polysemy-log, polysemy-plugin, relude, servant
-     , servant-client, servant-server, string-interpolate, tasty
-     , tasty-hedgehog, template-haskell, text, time, warp
+    ({ mkDerivation, aeson, ansi-terminal, base, case-insensitive
+     , data-default, exon, hedgehog, http-client, http-client-tls
+     , http-types, incipit, lens, network, polysemy, polysemy-log
+     , polysemy-plugin, polysemy-time, servant, servant-client
+     , servant-server, tasty, tasty-hedgehog, template-haskell, time
+     , warp
      }:
      mkDerivation {
        pname = "polysemy-http";
-       version = "0.5.0.0";
-       sha256 = "19v8ddpwn87cnipyxp3p0ppp86gvzjb6krwwlci6899k91qj2vsp";
+       version = "0.7.0.0";
+       sha256 = "07p518xs4v1ca8p2bd394hbid6jqlkhpmz0cg9svagb48zg5bf96";
        libraryHaskellDepends = [
-         aeson ansi-terminal base bytestring case-insensitive composition
-         containers data-default either http-client http-client-tls
-         http-types lens polysemy polysemy-log polysemy-plugin relude
-         string-interpolate template-haskell text time
+         aeson ansi-terminal base case-insensitive data-default exon
+         http-client http-client-tls http-types incipit lens polysemy
+         polysemy-log polysemy-plugin polysemy-time template-haskell time
        ];
        testHaskellDepends = [
-         aeson ansi-terminal base bytestring case-insensitive composition
-         containers data-default either hedgehog http-client http-client-tls
-         http-types lens network polysemy polysemy-log polysemy-plugin
-         relude servant servant-client servant-server string-interpolate
-         tasty tasty-hedgehog template-haskell text time warp
+         aeson base exon hedgehog http-client incipit lens network polysemy
+         polysemy-plugin polysemy-time servant servant-client servant-server
+         tasty tasty-hedgehog warp
        ];
        description = "Polysemy Effects for HTTP clients";
        license = "BSD-2-Clause-Patent";
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "polysemy-keyed-state" = callPackage
@@ -216770,6 +213494,8 @@ self: {
        ];
        description = "Effect for a set of stateful values indexed by a type of keys";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "polysemy-kvstore" = callPackage
@@ -216799,63 +213525,67 @@ self: {
        ];
        description = "Run a KVStore as a single json file in polysemy";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "polysemy-log" = callPackage
-    ({ mkDerivation, ansi-terminal, async, base, polysemy
-     , polysemy-conc, polysemy-test, polysemy-time, relude, tasty
-     , template-haskell, text, time
+    ({ mkDerivation, ansi-terminal, async, base, incipit-core, polysemy
+     , polysemy-conc, polysemy-plugin, polysemy-test, polysemy-time, stm
+     , tasty, time
      }:
      mkDerivation {
        pname = "polysemy-log";
-       version = "0.4.3.0";
-       sha256 = "0n7szglzj8jkb6cpkbj0496wd5k4cy4lvih026r6bcb7m943ki71";
+       version = "0.6.0.1";
+       sha256 = "04fghlmqimcc4wm9qbmbjxcvzjrhdijg5h0f135yqlc598f0ny9i";
        libraryHaskellDepends = [
-         ansi-terminal async base polysemy polysemy-conc polysemy-time
-         relude template-haskell text time
+         ansi-terminal async base incipit-core polysemy polysemy-conc
+         polysemy-time stm time
        ];
        testHaskellDepends = [
-         base polysemy polysemy-conc polysemy-test polysemy-time tasty time
+         base incipit-core polysemy polysemy-conc polysemy-plugin
+         polysemy-test polysemy-time tasty time
        ];
        description = "Polysemy Effects for Logging";
        license = "BSD-2-Clause-Patent";
      }) {};
 
   "polysemy-log-co" = callPackage
-    ({ mkDerivation, base, co-log, co-log-core, co-log-polysemy
+    ({ mkDerivation, base, co-log, co-log-polysemy, incipit-core
      , polysemy, polysemy-conc, polysemy-log, polysemy-test
-     , polysemy-time, tasty
+     , polysemy-time, stm, tasty
      }:
      mkDerivation {
        pname = "polysemy-log-co";
-       version = "0.4.3.0";
-       sha256 = "1qhhhlbkvx4jxanfwgnnhn0yvhi2zp7sm3ssn3nc48vm1gzmb867";
+       version = "0.6.0.1";
+       sha256 = "0b3fi8ql4vj13ijg2f6xay50wp26ypdbifwrahg29sibx77qp5lr";
        libraryHaskellDepends = [
-         base co-log co-log-core co-log-polysemy polysemy polysemy-conc
-         polysemy-log polysemy-time
+         base co-log co-log-polysemy incipit-core polysemy polysemy-conc
+         polysemy-log polysemy-time stm
        ];
        testHaskellDepends = [
-         base co-log co-log-polysemy polysemy polysemy-log polysemy-test
-         polysemy-time tasty
+         base co-log co-log-polysemy incipit-core polysemy polysemy-log
+         polysemy-test polysemy-time stm tasty
        ];
        description = "Colog Adapters for Polysemy-Log";
        license = "BSD-2-Clause-Patent";
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "polysemy-log-di" = callPackage
-    ({ mkDerivation, base, di-polysemy, polysemy, polysemy-conc
-     , polysemy-log, polysemy-test, polysemy-time, tasty
+    ({ mkDerivation, base, di-polysemy, incipit-core, polysemy
+     , polysemy-conc, polysemy-log, polysemy-test, polysemy-time, stm
+     , tasty
      }:
      mkDerivation {
        pname = "polysemy-log-di";
-       version = "0.4.3.0";
-       sha256 = "0cy1iwybb4m6n2rivmzzp4ikj8n1qhw1k4f13xiwf98s7abasa5l";
+       version = "0.6.0.1";
+       sha256 = "016nicml88ahpkz3jj7r29f7v6bkch4pci2iwfx8iwx48g6hkq9w";
        libraryHaskellDepends = [
-         base di-polysemy polysemy polysemy-conc polysemy-log polysemy-time
+         base di-polysemy incipit-core polysemy polysemy-conc polysemy-log
+         polysemy-time stm
        ];
        testHaskellDepends = [
-         base polysemy polysemy-log polysemy-test tasty
+         base incipit-core polysemy polysemy-log polysemy-test stm tasty
        ];
        description = "Di Adapters for Polysemy-Log";
        license = "BSD-2-Clause-Patent";
@@ -216892,7 +213622,6 @@ self: {
        ];
        description = "Logging functions for polysemy-methodology";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "polysemy-methodology-composite" = callPackage
@@ -216919,21 +213648,6 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-mocks";
-       version = "0.1.0.1";
-       sha256 = "0jd8x47mdx9fyn65ra0y1m05myf2m2bhz3ykg1i3818ixwd93xvl";
-       libraryHaskellDepends = [ base polysemy template-haskell ];
-       testHaskellDepends = [ base hspec polysemy ];
-       testToolDepends = [ hspec-discover ];
-       description = "Mocking framework for polysemy effects";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "polysemy-mocks_0_2_0_0" = callPackage
-    ({ mkDerivation, base, hspec, hspec-discover, polysemy
-     , template-haskell
-     }:
-     mkDerivation {
-       pname = "polysemy-mocks";
        version = "0.2.0.0";
        sha256 = "1l17n7hxzb23y0vp9h8cxvfgdkwzbz8g0q37qppl4cqjkhcdq0ya";
        libraryHaskellDepends = [ base polysemy template-haskell ];
@@ -216942,6 +213656,7 @@ self: {
        description = "Mocking framework for polysemy effects";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "polysemy-optics" = callPackage
@@ -216977,10 +213692,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-plugin";
-       version = "0.3.0.0";
-       sha256 = "0pcy476nndcvszkl57d5sd2m64zvjzvvxz4ldg2bdg6mdi4apl23";
-       revision = "1";
-       editedCabalFile = "16db3syamiknwg3yqh50ak37cfnzkrrwg8qg7157nykx0mkiv8b5";
+       version = "0.4.1.1";
+       sha256 = "0sw0wzasclj4ibzc4g701p1xvs8vzliaflsgyyj9digajjg1m9n7";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base containers ghc ghc-tcplugins-extra polysemy syb transformers
@@ -217019,28 +213732,25 @@ self: {
      }) {};
 
   "polysemy-process" = callPackage
-    ({ mkDerivation, async, base, bytestring, containers, polysemy
+    ({ mkDerivation, base, incipit-core, path, path-io, polysemy
      , polysemy-conc, polysemy-plugin, polysemy-resume, polysemy-test
-     , polysemy-time, relude, stm, stm-chans, tasty, template-haskell
-     , text, time, typed-process
+     , polysemy-time, posix-pty, process, stm-chans, tasty
+     , typed-process, unix
      }:
      mkDerivation {
        pname = "polysemy-process";
-       version = "0.5.1.1";
-       sha256 = "1231d7nwmn4krs9rj5yivfnfqdhpc3dlj17a1lhih3dzxwzlizyi";
+       version = "0.7.0.0";
+       sha256 = "0g1rmii4jnffl2f4ziibw62nkgzl92wf4pvq0fvzwkm01rpm9frz";
        libraryHaskellDepends = [
-         async base bytestring containers polysemy polysemy-conc
-         polysemy-resume polysemy-time relude stm stm-chans template-haskell
-         text time typed-process
+         base incipit-core path path-io polysemy polysemy-conc
+         polysemy-resume posix-pty process stm-chans typed-process unix
        ];
        testHaskellDepends = [
-         base bytestring polysemy polysemy-conc polysemy-plugin
-         polysemy-resume polysemy-test tasty typed-process
+         base incipit-core polysemy polysemy-conc polysemy-plugin
+         polysemy-resume polysemy-test polysemy-time tasty typed-process
        ];
        description = "Polysemy Effects for System Processes";
        license = "BSD-2-Clause-Patent";
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "polysemy-readline" = callPackage
@@ -217064,6 +213774,8 @@ self: {
        ];
        description = "Readline effect for polysemy";
        license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "polysemy-req" = callPackage
@@ -217075,45 +213787,30 @@ self: {
        libraryHaskellDepends = [ base polysemy req ];
        description = "Polysemy effect for req";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "polysemy-resume" = callPackage
-    ({ mkDerivation, base, hedgehog, polysemy, polysemy-plugin
-     , polysemy-test, relude, tasty, tasty-hedgehog, text, transformers
+    ({ mkDerivation, base, hedgehog, incipit-core, polysemy
+     , polysemy-plugin, polysemy-test, stm, tasty, tasty-hedgehog, text
+     , transformers
      }:
      mkDerivation {
        pname = "polysemy-resume";
-       version = "0.1.0.1";
-       sha256 = "1pgirh7sz1lx45pkss1a4w7xgy7gcxmm7i2vz9hf0z7qdj9wfn8i";
+       version = "0.4.0.0";
+       sha256 = "1lxg2xf6lvw692w8sqr4jgxx02pmzq5rym3ch9rydca3mb3gkz73";
        libraryHaskellDepends = [
-         base polysemy polysemy-plugin relude transformers
+         base incipit-core polysemy transformers
        ];
        testHaskellDepends = [
-         base hedgehog polysemy polysemy-plugin polysemy-test relude tasty
-         tasty-hedgehog text transformers
+         base hedgehog incipit-core polysemy polysemy-plugin polysemy-test
+         stm tasty tasty-hedgehog text
        ];
        description = "Polysemy error tracking";
        license = "BSD-2-Clause-Patent";
      }) {};
 
-  "polysemy-resume_0_2_0_0" = callPackage
-    ({ mkDerivation, base, hedgehog, polysemy, polysemy-plugin
-     , polysemy-test, relude, tasty, tasty-hedgehog, text, transformers
-     }:
-     mkDerivation {
-       pname = "polysemy-resume";
-       version = "0.2.0.0";
-       sha256 = "08m9h9yfi0wasyaxjs27km41q648p8qna8imc4dhcp75q6bwc65g";
-       libraryHaskellDepends = [ base polysemy relude transformers ];
-       testHaskellDepends = [
-         base hedgehog polysemy polysemy-plugin polysemy-test tasty
-         tasty-hedgehog text
-       ];
-       description = "Polysemy error tracking";
-       license = "BSD-2-Clause-Patent";
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
   "polysemy-several" = callPackage
     ({ mkDerivation, base, polysemy }:
      mkDerivation {
@@ -217141,38 +213838,39 @@ self: {
      }) {};
 
   "polysemy-test" = callPackage
-    ({ mkDerivation, base, containers, either, hedgehog, path, path-io
-     , polysemy, relude, string-interpolate, tasty, tasty-hedgehog
-     , template-haskell, text, transformers
+    ({ mkDerivation, base, hedgehog, incipit-core, path, path-io
+     , polysemy, tasty, tasty-hedgehog, transformers
      }:
      mkDerivation {
        pname = "polysemy-test";
-       version = "0.3.1.8";
-       sha256 = "11f8yj77kws6aybaw1jdgjj1kn4n4ip0b97cg3bsjybnjwg4hppy";
+       version = "0.5.0.0";
+       sha256 = "0bmqphkv15p638wwz80rp6vfzvyj94q3i4clda1vn8fwgqd6pmwv";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         base containers either hedgehog path path-io polysemy relude
-         string-interpolate tasty tasty-hedgehog template-haskell text
-         transformers
+         base hedgehog incipit-core path path-io polysemy tasty
+         tasty-hedgehog transformers
        ];
-       testHaskellDepends = [ base hedgehog path polysemy tasty text ];
-       description = "Polysemy effects for testing";
+       testHaskellDepends = [
+         base hedgehog incipit-core path polysemy tasty
+       ];
+       description = "Polysemy Effects for Testing";
        license = "BSD-2-Clause-Patent";
      }) {};
 
   "polysemy-time" = callPackage
-    ({ mkDerivation, aeson, base, polysemy, polysemy-test, relude
-     , string-interpolate, tasty, template-haskell, text, time, torsor
+    ({ mkDerivation, aeson, base, incipit-core, polysemy-test, stm
+     , tasty, template-haskell, time, torsor
      }:
      mkDerivation {
        pname = "polysemy-time";
-       version = "0.2.0.2";
-       sha256 = "0d21g8lflzh30nrqvrfzw10g0nrh555j92780h47vyvk496b8bk1";
+       version = "0.4.0.0";
+       sha256 = "0smcc375x4jdhc63fk44fp3bhfdaiszf9w6nk1ww1jl29gm3lamb";
        libraryHaskellDepends = [
-         aeson base polysemy relude string-interpolate template-haskell text
-         time torsor
+         aeson base incipit-core stm template-haskell time torsor
+       ];
+       testHaskellDepends = [
+         base incipit-core polysemy-test tasty time
        ];
-       testHaskellDepends = [ base polysemy polysemy-test tasty time ];
        description = "Polysemy Effect for Time";
        license = "BSD-2-Clause-Patent";
      }) {};
@@ -217256,8 +213954,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-zoo";
-       version = "0.7.0.2";
-       sha256 = "1lmwgdd47pcq32fzdhiv0rn319vfsy0fgyjfq7i983dqkq2pssl4";
+       version = "0.8.0.0";
+       sha256 = "1ylsr092a42xsbx6aancbcnfp1m66azv3vn44hqar069c5y96ilc";
        libraryHaskellDepends = [
          async base compact constraints containers contravariant exceptions
          ghc-prim mtl polysemy random reflection streaming text transformers
@@ -217345,6 +214043,8 @@ self: {
        testHaskellDepends = [ base ];
        description = "Creation and application of polyvariadic functions";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "pomaps" = callPackage
@@ -218443,33 +215143,6 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-binary";
-       version = "0.12.4.1";
-       sha256 = "1pldd0fx60bl2xfdlyygjdk5p415lgh94km6l48nfib6sxqwlks4";
-       libraryHaskellDepends = [
-         aeson base binary-parser bytestring bytestring-strict-builder
-         containers network-ip scientific text time transformers
-         unordered-containers uuid vector
-       ];
-       testHaskellDepends = [
-         aeson conversion conversion-bytestring conversion-text json-ast
-         network-ip postgresql-libpq QuickCheck quickcheck-instances
-         rerebase tasty tasty-hunit tasty-quickcheck
-       ];
-       benchmarkHaskellDepends = [ criterion rerebase ];
-       description = "Encoders and decoders for the PostgreSQL's binary format";
-       license = lib.licenses.mit;
-     }) {};
-
-  "postgresql-binary_0_12_4_2" = callPackage
-    ({ mkDerivation, aeson, base, binary-parser, bytestring
-     , bytestring-strict-builder, containers, conversion
-     , conversion-bytestring, conversion-text, criterion, json-ast
-     , network-ip, postgresql-libpq, QuickCheck, quickcheck-instances
-     , rerebase, scientific, tasty, tasty-hunit, tasty-quickcheck, text
-     , time, transformers, unordered-containers, uuid, vector
-     }:
-     mkDerivation {
-       pname = "postgresql-binary";
        version = "0.12.4.2";
        sha256 = "1bklkkf0r5dimdxgmgcviircv87ahv0g4nmkl34kc13pwn6l7xjm";
        libraryHaskellDepends = [
@@ -218485,7 +215158,6 @@ self: {
        benchmarkHaskellDepends = [ criterion rerebase ];
        description = "Encoders and decoders for the PostgreSQL's binary format";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "postgresql-common" = callPackage
@@ -218647,8 +215319,8 @@ self: {
        pname = "postgresql-migration";
        version = "0.2.1.3";
        sha256 = "1qxkan5f328rv3nl31pvhz305k7b4ah98s0j1bc4hcaa5g5d3052";
-       revision = "2";
-       editedCabalFile = "00j04r4i837qxpnn087b6602iwzl3g04rwwrn9a0sqwh0yfn4y3k";
+       revision = "3";
+       editedCabalFile = "1c2qdar418pcss64jkdlwqp1lk5bckaqjk46p4ph4gs73jgbrgvc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -218662,8 +215334,6 @@ self: {
        testHaskellDepends = [ base bytestring hspec postgresql-simple ];
        description = "PostgreSQL Schema Migrations";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "postgresql-named" = callPackage
@@ -218770,6 +215440,7 @@ self: {
        ];
        description = "pure Haskell PostgreSQL driver";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "postgresql-query" = callPackage
@@ -218802,6 +215473,7 @@ self: {
        description = "Sql interpolating quasiquote plus some kind of primitive ORM using it";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "postgresql-replicant" = callPackage
@@ -219072,8 +215744,6 @@ self: {
        ];
        description = "Parse postgres:// url into ConnectInfo";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "postgresql-syntax" = callPackage
@@ -219084,8 +215754,8 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-syntax";
-       version = "0.4";
-       sha256 = "133p9w35q7ynb15i97k9ci4w14vp5117v3hmgm4ys3jj07apjyxd";
+       version = "0.4.0.2";
+       sha256 = "17lqsy3ph6a8psvbdxkfnkj888crz46qxqpc0sg27665cr8nrxpq";
        libraryHaskellDepends = [
          base bytestring case-insensitive hashable headed-megaparsec
          megaparsec parser-combinators text text-builder
@@ -219097,8 +215767,6 @@ self: {
        ];
        description = "PostgreSQL AST parsing and rendering";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "postgresql-transactional" = callPackage
@@ -219112,6 +215780,8 @@ self: {
        ];
        description = "a transactional monad on top of postgresql-simple";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "postgresql-tx" = callPackage
@@ -219169,6 +215839,8 @@ self: {
        ];
        description = "postgresql-tx interfacing for use with postgresql-simple";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "postgresql-tx-squeal" = callPackage
@@ -219211,8 +215883,8 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-typed";
-       version = "0.6.2.0";
-       sha256 = "0v38c5ai3plc1vlgz536a41yflz2d7nm9laks28lnqvxaqim27aw";
+       version = "0.6.2.1";
+       sha256 = "15zrsg2zz2jgzb1v0g13c98hfrmnkcjakqpdy2zhbfr6ibivlhkx";
        libraryHaskellDepends = [
          aeson array attoparsec base binary bytestring containers cryptonite
          data-default haskell-src-meta HDBC memory network old-locale
@@ -219253,54 +215925,6 @@ self: {
      , auto-update, base, base64-bytestring, bytestring
      , case-insensitive, cassava, configurator-pg, containers
      , contravariant, contravariant-extras, cookie, directory, either
-     , gitrev, hasql, hasql-pool, hasql-transaction, heredoc, hspec
-     , hspec-wai, hspec-wai-json, HTTP, http-types
-     , insert-ordered-containers, interpolatedstring-perl6, jose, lens
-     , lens-aeson, monad-control, network, network-uri
-     , optparse-applicative, parsec, process, protolude, Ranged-sets
-     , regex-tdfa, retry, scientific, swagger2, text, time
-     , transformers-base, unix, unordered-containers, vector, wai
-     , wai-cors, wai-extra, wai-middleware-static, warp
-     }:
-     mkDerivation {
-       pname = "postgrest";
-       version = "7.0.1";
-       sha256 = "1cn69dinfv3y8ymsa364b9b0ly3dg80and902gamymb9v89jpsgf";
-       revision = "6";
-       editedCabalFile = "0kkhkz1bmgc1p0yry24fhc4a3s9w28wg6gxai0cggvalbz8c4pc4";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson ansi-wl-pprint base base64-bytestring bytestring
-         case-insensitive cassava configurator-pg containers contravariant
-         contravariant-extras cookie either gitrev hasql hasql-pool
-         hasql-transaction heredoc HTTP http-types insert-ordered-containers
-         interpolatedstring-perl6 jose lens lens-aeson network-uri
-         optparse-applicative parsec protolude Ranged-sets regex-tdfa
-         scientific swagger2 text time unordered-containers vector wai
-         wai-cors wai-extra wai-middleware-static
-       ];
-       executableHaskellDepends = [
-         auto-update base base64-bytestring bytestring directory either
-         hasql hasql-pool hasql-transaction network protolude retry text
-         time unix wai warp
-       ];
-       testHaskellDepends = [
-         aeson aeson-qq async auto-update base base64-bytestring bytestring
-         case-insensitive cassava containers contravariant hasql hasql-pool
-         hasql-transaction heredoc hspec hspec-wai hspec-wai-json http-types
-         lens lens-aeson monad-control process protolude regex-tdfa text
-         time transformers-base wai wai-extra
-       ];
-       description = "REST API for any Postgres database";
-       license = lib.licenses.mit;
-     }) {};
-
-  "postgrest_8_0_0" = callPackage
-    ({ mkDerivation, aeson, aeson-qq, ansi-wl-pprint, async
-     , auto-update, base, base64-bytestring, bytestring
-     , case-insensitive, cassava, configurator-pg, containers
-     , contravariant, contravariant-extras, cookie, directory, either
      , fast-logger, gitrev, hasql, hasql-dynamic-statements
      , hasql-notifications, hasql-pool, hasql-transaction, heredoc
      , hspec, hspec-wai, hspec-wai-json, HTTP, http-types
@@ -219628,8 +216252,10 @@ self: {
      }:
      mkDerivation {
        pname = "powerdns";
-       version = "0.3.0";
-       sha256 = "1gm9rwxs6iyvwnyigxdihs3djq83z75w74rkbrmlwdrmz21pww13";
+       version = "0.4.0";
+       sha256 = "0gcf04naa9ai4f6v7ycakwmdz379dqrr3nl0ry1pnqck835p629a";
+       revision = "1";
+       editedCabalFile = "1pf6f09kdawn17nrjn221xr40g66wa282r65521y4mdmlm6yrfd0";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytestring case-insensitive containers
          deepseq hashable servant servant-client servant-client-core text
@@ -219703,8 +216329,6 @@ self: {
        testHaskellDepends = [ async base hspec powerqueue stm timespan ];
        description = "A distributed worker backend for powerqueu";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "powerqueue-levelmem" = callPackage
@@ -219731,8 +216355,6 @@ self: {
        benchmarkSystemDepends = [ leveldb snappy ];
        description = "A high performance in memory and LevelDB backend for powerqueue";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) leveldb; inherit (pkgs) snappy;};
 
   "powerqueue-sqs" = callPackage
@@ -220038,6 +216660,8 @@ 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
@@ -220198,7 +216822,6 @@ self: {
        description = "A library for building a prefork-style server quickly";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "pregame" = callPackage
@@ -220644,6 +217267,20 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "pretty-html" = callPackage
+    ({ mkDerivation, base, bytestring, filepath, text }:
+     mkDerivation {
+       pname = "pretty-html";
+       version = "0.1.0.0";
+       sha256 = "099gj9h1smgjnp8xyrp5c0hj99f35lf7jc6rgmbnh8s7ra3a1gz5";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ base text ];
+       testHaskellDepends = [ base bytestring filepath text ];
+       doHaddock = false;
+       description = "Produce nice human-readable HTML";
+       license = lib.licenses.mit;
+     }) {};
+
   "pretty-loc" = callPackage
     ({ mkDerivation, base, text }:
      mkDerivation {
@@ -220671,23 +217308,6 @@ self: {
      }) {};
 
   "pretty-relative-time" = callPackage
-    ({ mkDerivation, base, genvalidity-hspec, genvalidity-time, hspec
-     , QuickCheck, time, validity, validity-time
-     }:
-     mkDerivation {
-       pname = "pretty-relative-time";
-       version = "0.2.0.0";
-       sha256 = "17w7bs0xj2bbjqc9qzcq40xsq5virdaqw57r0wfgfs6akj2i9r5d";
-       libraryHaskellDepends = [ base time validity validity-time ];
-       testHaskellDepends = [
-         base genvalidity-hspec genvalidity-time hspec QuickCheck time
-         validity validity-time
-       ];
-       description = "Pretty relative time";
-       license = lib.licenses.mit;
-     }) {};
-
-  "pretty-relative-time_0_3_0_0" = callPackage
     ({ mkDerivation, base, genvalidity, genvalidity-hspec
      , genvalidity-time, hspec, QuickCheck, time, validity
      , validity-time
@@ -220703,7 +217323,6 @@ self: {
        ];
        description = "Pretty relative time";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "pretty-show" = callPackage
@@ -220767,6 +217386,34 @@ self: {
        maintainers = with lib.maintainers; [ cdepillabout ];
      }) {};
 
+  "pretty-simple_4_1_0_0" = callPackage
+    ({ mkDerivation, base, Cabal, cabal-doctest, containers, criterion
+     , doctest, Glob, mtl, optparse-applicative, prettyprinter
+     , prettyprinter-ansi-terminal, QuickCheck, template-haskell, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "pretty-simple";
+       version = "4.1.0.0";
+       sha256 = "0afmbvcma67hah9f7i9j4fazlkfdbr6ljas1cn10wp4mlxlf8236";
+       isLibrary = true;
+       isExecutable = true;
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base containers mtl prettyprinter prettyprinter-ansi-terminal text
+         transformers
+       ];
+       executableHaskellDepends = [ base optparse-applicative text ];
+       testHaskellDepends = [
+         base doctest Glob QuickCheck template-haskell
+       ];
+       benchmarkHaskellDepends = [ base criterion text ];
+       description = "pretty printer for data types with a 'Show' instance";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ cdepillabout ];
+     }) {};
+
   "pretty-sop" = callPackage
     ({ mkDerivation, base, generics-sop, markdown-unlit, pretty-show }:
      mkDerivation {
@@ -221006,6 +217653,8 @@ self: {
        libraryHaskellDepends = [ ghc-prim ];
        description = "An ergonomic but conservative interface to ghc-prim";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "prim-array" = callPackage
@@ -221063,6 +217712,8 @@ self: {
        benchmarkHaskellDepends = [ base criterion ghc-prim spoon ];
        description = "Catch errors thrown from pure computations using primops";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "prim-uniq" = callPackage
@@ -221095,6 +217746,8 @@ self: {
        ];
        description = "Primeval world of Haskell";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "primal-memory" = callPackage
@@ -221114,6 +217767,7 @@ self: {
        ];
        description = "Unified interface for memory managemenet";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "prime" = callPackage
@@ -221126,6 +217780,8 @@ self: {
        testHaskellDepends = [ base hspec ];
        description = "prime number tools";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "primecount" = callPackage
@@ -221142,8 +217798,6 @@ self: {
        benchmarkHaskellDepends = [ base tasty-bench ];
        description = "Bindings to the primecount library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) primecount;};
 
   "primes" = callPackage
@@ -221294,28 +217948,6 @@ self: {
      }:
      mkDerivation {
        pname = "primitive-extras";
-       version = "0.10.1";
-       sha256 = "0ddnn94qqkx021marpi2j03sil15422scq0df6dmlc6q0qyyivyc";
-       libraryHaskellDepends = [
-         base bytestring cereal deferred-folds focus foldl list-t primitive
-         primitive-unlifted profunctors vector
-       ];
-       testHaskellDepends = [
-         cereal deferred-folds focus primitive QuickCheck
-         quickcheck-instances rerebase tasty tasty-hunit tasty-quickcheck
-       ];
-       description = "Extras for the \"primitive\" library";
-       license = lib.licenses.mit;
-     }) {};
-
-  "primitive-extras_0_10_1_4" = callPackage
-    ({ mkDerivation, base, bytestring, cereal, deferred-folds, focus
-     , foldl, list-t, primitive, primitive-unlifted, profunctors
-     , QuickCheck, quickcheck-instances, rerebase, tasty, tasty-hunit
-     , tasty-quickcheck, vector
-     }:
-     mkDerivation {
-       pname = "primitive-extras";
        version = "0.10.1.4";
        sha256 = "00x8jwmkijc110idviz6i4q25dfxnjv4gcdkhsyrldrg8g1bn90f";
        libraryHaskellDepends = [
@@ -221328,7 +217960,6 @@ self: {
        ];
        description = "Extras for the \"primitive\" library";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "primitive-foreign" = callPackage
@@ -221576,6 +218207,8 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Can be used to coordinate the printing output";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "printcess" = callPackage
@@ -221680,6 +218313,7 @@ self: {
        executableHaskellDepends = [ base ];
        description = "Cooperative task prioritization";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "private-hackage-uploader" = callPackage
@@ -221735,24 +218369,22 @@ self: {
 
   "pro-abstract" = callPackage
     ({ mkDerivation, base, containers, deepseq, hashable, hedgehog
-     , neat-interpolation, optics-core, text
+     , hedgehog-optics, neat-interpolation, optics-core, text
      }:
      mkDerivation {
        pname = "pro-abstract";
-       version = "0.1.0.0";
-       sha256 = "0w8dmf8n35z414j4591gvix7q9dn7zn1pai4mg93p9fkd09453fm";
+       version = "0.3.0.0";
+       sha256 = "1k7kimr067f0hc7g9m9lb7zihdnhv6508zi02w7zvj8w479ny73s";
        libraryHaskellDepends = [
          base containers deepseq hashable optics-core text
        ];
        testHaskellDepends = [
-         base containers deepseq hashable hedgehog neat-interpolation
-         optics-core text
+         base containers deepseq hashable hedgehog hedgehog-optics
+         neat-interpolation optics-core text
        ];
        doHaddock = false;
        description = "Abstract syntax for writing documents";
        license = lib.licenses.mpl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "pro-source" = callPackage
@@ -221846,16 +218478,14 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "process_1_6_13_2" = callPackage
+  "process_1_6_14_0" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, directory, filepath
      , unix
      }:
      mkDerivation {
        pname = "process";
-       version = "1.6.13.2";
-       sha256 = "01p3lqj23czqpmih4mdz1lknsy1c4z6ly3iyrnx4pxxmw9vnp2lw";
-       revision = "1";
-       editedCabalFile = "1s5z0q9nx0g6qa9b8lpsp4pigli0msilrxqpb3c2jvkrk1b0llx6";
+       version = "1.6.14.0";
+       sha256 = "0gaakzpd3r9ncp2wfqlc3dpwfn379d1hm2ymv9p09yb72fffilw9";
        libraryHaskellDepends = [ base deepseq directory filepath unix ];
        testHaskellDepends = [ base bytestring directory ];
        description = "Process libraries";
@@ -221995,6 +218625,7 @@ self: {
        libraryHaskellDepends = [ base directory mmsyn3 process sublists ];
        description = "A test suite for the complex multi files multi level processment";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "process-streaming" = callPackage
@@ -222206,6 +218837,7 @@ self: {
        testHaskellDepends = [ base template-haskell ];
        description = "Weaken applicative functor on products";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "product-profunctors" = callPackage
@@ -222293,6 +218925,7 @@ self: {
        ];
        description = "Restructure GHC profile reports";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "profiteur" = callPackage
@@ -222313,6 +218946,7 @@ self: {
        ];
        description = "Treemap visualiser for GHC prof files";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "profunctor-arrows" = callPackage
@@ -222430,8 +219064,6 @@ self: {
        libraryHaskellDepends = [ base time ];
        description = "Simple progress tracking & projection library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "progress-meter" = callPackage
@@ -222685,6 +219317,8 @@ self: {
        ];
        description = "Profunctor-based lightweight implementation of optics";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "prolog" = callPackage
@@ -222701,6 +219335,8 @@ self: {
        ];
        description = "A Prolog interpreter written in Haskell";
        license = lib.licenses.publicDomain;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "prolog-graph" = callPackage
@@ -222719,7 +219355,6 @@ self: {
        description = "A command line tool to visualize query resolution in Prolog";
        license = lib.licenses.publicDomain;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "prolog-graph-lib" = callPackage
@@ -222731,6 +219366,7 @@ self: {
        libraryHaskellDepends = [ base fgl graphviz mtl prolog text ];
        description = "Generating images of resolution trees for Prolog queries";
        license = lib.licenses.publicDomain;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "prologue" = callPackage
@@ -222768,8 +219404,8 @@ self: {
      }:
      mkDerivation {
        pname = "prolude";
-       version = "0.0.0.23";
-       sha256 = "0r26l12xi89njln29b2zzf5kdfd1vkhpi64andbgm6xmcb7rphid";
+       version = "0.0.0.24";
+       sha256 = "0sn5pxv8zylmg5915k08bxfcnmjd5227xlhmh2x9l1aqlqv7adsh";
        libraryHaskellDepends = [
          aeson amazonka base bytestring cassava containers esqueleto
          generic-random lens mongoDB mtl network-uri persistent
@@ -222800,32 +219436,6 @@ self: {
 
   "prometheus-client" = callPackage
     ({ mkDerivation, atomic-primops, base, bytestring, clock
-     , containers, criterion, deepseq, doctest, exceptions, hspec, mtl
-     , QuickCheck, random, random-shuffle, stm, text, transformers
-     , transformers-compat, utf8-string
-     }:
-     mkDerivation {
-       pname = "prometheus-client";
-       version = "1.0.1";
-       sha256 = "1gyclzl16dkq7yw84x0ppgmyav7scl4jvwq9b5ihzxy45crcdhin";
-       libraryHaskellDepends = [
-         atomic-primops base bytestring clock containers deepseq exceptions
-         mtl stm text transformers transformers-compat utf8-string
-       ];
-       testHaskellDepends = [
-         atomic-primops base bytestring clock containers deepseq doctest
-         exceptions hspec mtl QuickCheck random-shuffle stm text
-         transformers transformers-compat utf8-string
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring criterion random text utf8-string
-       ];
-       description = "Haskell client library for http://prometheus.io.";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "prometheus-client_1_1_0" = callPackage
-    ({ mkDerivation, atomic-primops, base, bytestring, clock
      , containers, criterion, data-sketches, deepseq, doctest
      , exceptions, hspec, mtl, primitive, QuickCheck, random
      , random-shuffle, stm, text, transformers, transformers-compat
@@ -222851,7 +219461,6 @@ self: {
        ];
        description = "Haskell client library for http://prometheus.io.";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "prometheus-effect" = callPackage
@@ -222904,8 +219513,8 @@ self: {
      }:
      mkDerivation {
        pname = "prometheus-proc";
-       version = "0.1.3.1";
-       sha256 = "1g4pfnyamcn3p2qgnviz1f1lq808jpbi2fkibrxk0xb60flism3l";
+       version = "0.1.4.0";
+       sha256 = "0sicn1c51ks1c535nbgrqrgfqvzb8c5pmpnf2dx9a1xvjq2m54ny";
        libraryHaskellDepends = [
          base directory filepath prometheus-client regex-applicative text
          unix unix-memory
@@ -223107,7 +219716,6 @@ self: {
        libraryHaskellDepends = [ base glade glib gtk ];
        description = "A library for functional GUI development";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "props" = callPackage
@@ -223221,8 +219829,6 @@ self: {
        libraryToolDepends = [ c2hs ];
        description = "Simple audio library for Windows, Linux, OSX";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {libpulse = null; libpulse-simple = null; 
          inherit (pkgs) libpulseaudio;};
 
@@ -223240,8 +219846,6 @@ self: {
        libraryToolDepends = [ c2hs ];
        description = "Simple audio library for SDL";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) SDL2;};
 
   "proteome" = callPackage
@@ -223318,8 +219922,6 @@ self: {
        ];
        description = "Arbitrary instances for proto-lens";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "proto-lens-combinators" = callPackage
@@ -223376,6 +219978,8 @@ self: {
        ];
        description = "JSON protobuf encoding for proto-lens";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "proto-lens-optparse" = callPackage
@@ -223389,8 +219993,6 @@ self: {
        ];
        description = "Adapting proto-lens to optparse-applicative ReadMs";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "proto-lens-protobuf-types" = callPackage
@@ -223529,6 +220131,7 @@ self: {
        ];
        description = "A low-level implementation of the Protocol Buffers (version 3) wire format";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "protobuf" = callPackage
@@ -223765,6 +220368,7 @@ self: {
          transformers
        ];
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "proton-haskell" = callPackage
@@ -223920,8 +220524,6 @@ self: {
        ];
        description = "Prune unused Haskell dependencies";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "psc-ide" = callPackage
@@ -223952,7 +220554,6 @@ self: {
        description = "Language support for the PureScript programming language";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "pseudo-boolean" = callPackage
@@ -224128,6 +220729,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A parser generator";
        license = "(Apache-2.0 OR MPL-2.0)";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ptera-core" = callPackage
@@ -224151,6 +220753,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A parser generator";
        license = "(Apache-2.0 OR MPL-2.0)";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ptera-th" = callPackage
@@ -224176,6 +220779,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A parser generator";
        license = "(Apache-2.0 OR MPL-2.0)";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "pthread" = callPackage
@@ -224217,8 +220821,8 @@ self: {
      }:
      mkDerivation {
        pname = "ptr-poker";
-       version = "0.1.2.4";
-       sha256 = "1kqh7n92bipk5wzywb5zlrb0l4qh5lq2pqll4wsbklqg47i1y9ai";
+       version = "0.1.2.5";
+       sha256 = "11yiqk8l3897xs13cdd8nslg55n99qssbbgpfwgc6sd15vf2hc3g";
        libraryHaskellDepends = [ base bytestring scientific text ];
        testHaskellDepends = [ hedgehog numeric-limits rerebase ];
        benchmarkHaskellDepends = [ gauge rerebase ];
@@ -224268,6 +220872,8 @@ self: {
        benchmarkHaskellDepends = [ base criterion random ];
        description = "The publicsuffix list exposed as proper Haskell types";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "publicsuffixlist" = callPackage
@@ -224770,6 +221376,8 @@ self: {
        ];
        description = "types and parser for email messages (including MIME)";
        license = lib.licenses.agpl3Plus;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "purenix" = callPackage
@@ -224790,6 +221398,7 @@ self: {
        executableHaskellDepends = [ base ];
        description = "Nix backend for PureScript. Transpile PureScript code to Nix.";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ cdepillabout ];
      }) {};
 
@@ -224834,8 +221443,8 @@ self: {
      }:
      mkDerivation {
        pname = "purescript";
-       version = "0.14.5";
-       sha256 = "06f318hdah076vkviw1ryyg2p0gpbabsp8lbm5x03f2qv92n9j1n";
+       version = "0.14.7";
+       sha256 = "0a8ia3qk6x6c42kkp00bdsnrpsrypy6i0bpavm844b0ny8dalqlr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -224884,6 +221493,7 @@ self: {
        doCheck = false;
        description = "PureScript Programming Language Compiler";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "purescript-ast" = callPackage
@@ -224901,6 +221511,8 @@ self: {
        ];
        description = "PureScript Programming Language Abstract Syntax Tree";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "purescript-bridge" = callPackage
@@ -224921,7 +221533,6 @@ self: {
        ];
        description = "Generate PureScript data types from Haskell data types";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "purescript-bundle-fast" = callPackage
@@ -224948,8 +221559,8 @@ self: {
      }:
      mkDerivation {
        pname = "purescript-cst";
-       version = "0.4.0.0";
-       sha256 = "0r3f5lr9lrv9wpgkwj6nyl42lvxryj2lvr1w7ld4gki8ylq24n8g";
+       version = "0.5.0.0";
+       sha256 = "13gds3hbsz3bhajhs17r9gsdzfmhci6q5plzg0fx6mb89nb4ps7d";
        libraryHaskellDepends = [
          aeson array base base-compat bytestring containers deepseq dlist
          filepath microlens mtl protolude scientific semigroups serialise
@@ -224958,6 +221569,8 @@ self: {
        libraryToolDepends = [ happy ];
        description = "PureScript Programming Language Concrete Syntax Tree";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "purescript-iso" = callPackage
@@ -225011,7 +221624,6 @@ self: {
        description = "TypeScript Declaration File (.d.ts) generator for PureScript";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "pursuit-client" = callPackage
@@ -225028,6 +221640,7 @@ self: {
        executableHaskellDepends = [ base text ];
        description = "A cli client for pursuit";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "push-notifications" = callPackage
@@ -225154,6 +221767,8 @@ self: {
        testHaskellDepends = [ base hspec ];
        description = "Simple push support for pushbullet";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "pushbullet-types" = callPackage
@@ -225170,6 +221785,8 @@ self: {
        ];
        description = "Datatypes used by the Pushbullet APIs";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "pusher-haskell" = callPackage
@@ -225197,8 +221814,8 @@ self: {
      }:
      mkDerivation {
        pname = "pusher-http-haskell";
-       version = "2.1.0.8";
-       sha256 = "16m9yqjyhafbfiiq6nn7d525sw27v5i8ib930ik8xjhm0pq10fbg";
+       version = "2.1.0.9";
+       sha256 = "1ipx9xy5wf79pgkmy1669qh8v73ad6ncx7fhqqacmlmhvvphv9vs";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring cryptonite hashable
          http-client http-client-tls http-types memory text time
@@ -225256,7 +221873,6 @@ self: {
        description = "Tool to synchronize directories with rsync, zfs or git-annex";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "pushover" = callPackage
@@ -225811,7 +222427,6 @@ self: {
        description = "Library to generate images";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) qrencode;};
 
   "qr-repa" = callPackage
@@ -225852,8 +222467,8 @@ self: {
      }:
      mkDerivation {
        pname = "qrcode-core";
-       version = "0.9.4";
-       sha256 = "1drjx73qslga81bhby0h000icrvnhhlv36n6i37j8524x9ir2gn0";
+       version = "0.9.5";
+       sha256 = "0gwwvksvxhv8qwjjay4lb1v14n2dp8mkgppv6lv4f858xwfswcp6";
        libraryHaskellDepends = [
          base binary bytestring case-insensitive containers dlist primitive
          text vector
@@ -225868,8 +222483,8 @@ self: {
      }:
      mkDerivation {
        pname = "qrcode-juicypixels";
-       version = "0.8.2";
-       sha256 = "0kiyi084hmd2l50fd8miwgw0y94sd1lkf34jw7z3sb33bbp70f3g";
+       version = "0.8.3";
+       sha256 = "1fwjdz08r85j54x3khnby1h5mwxs1568yhd3v8dcilrwj6an9991";
        libraryHaskellDepends = [
          base base64-bytestring bytestring JuicyPixels qrcode-core text
          vector
@@ -225942,6 +222557,7 @@ self: {
        ];
        description = "Example programs for Qtah Qt bindings";
        license = lib.licenses.lgpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "qtah-generator" = callPackage
@@ -225983,6 +222599,7 @@ self: {
        testHaskellDepends = [ base hoppy-runtime HUnit ];
        description = "Qt bindings for Haskell";
        license = lib.licenses.lgpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs.qt5) qtbase;};
 
   "quack" = callPackage
@@ -226045,6 +222662,8 @@ self: {
        ];
        description = "Quandl.com API library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "quantfin" = callPackage
@@ -226353,6 +222972,32 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "queue-sheet" = callPackage
+    ({ mkDerivation, aeson, ansi-wl-pprint, base, bytestring, directory
+     , filepath, ginger, optparse-applicative, process, scientific
+     , tasty, tasty-hunit, text, transformers, ttc, vector, yaml
+     }:
+     mkDerivation {
+       pname = "queue-sheet";
+       version = "0.7.0.2";
+       sha256 = "14ih4j09r30p0a75na833jq5ar0wfjm1f7qn6hfyqr4hjyqyfwfk";
+       revision = "1";
+       editedCabalFile = "160z11x6j7qc0lvzyhxii3dfgswfv9chvhm39sxnl78456m19ifd";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring directory filepath ginger process scientific
+         text transformers ttc vector yaml
+       ];
+       executableHaskellDepends = [
+         ansi-wl-pprint base optparse-applicative
+       ];
+       testHaskellDepends = [ base bytestring tasty tasty-hunit ];
+       description = "queue sheet utility";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "queuelike" = callPackage
     ({ mkDerivation, array, base, containers, mtl, stateful-mtl }:
      mkDerivation {
@@ -226443,7 +223088,6 @@ self: {
        testHaskellDepends = [ base ];
        description = "quick & easy benchmarking of command-line programs";
        license = "GPL";
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "quickbooks" = callPackage
@@ -226463,7 +223107,6 @@ self: {
        description = "QuickBooks API binding";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "quickcheck-arbitrary-adt" = callPackage
@@ -226497,6 +223140,8 @@ self: {
        ];
        description = "Generate QuickCheck Gen for Sum Types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "quickcheck-assertions" = callPackage
@@ -226585,33 +223230,6 @@ self: {
   "quickcheck-instances" = callPackage
     ({ mkDerivation, array, base, bytestring, case-insensitive
      , containers, data-fix, hashable, integer-logarithms, old-time
-     , QuickCheck, scientific, splitmix, strict, tagged, text, these
-     , time, time-compat, transformers, transformers-compat
-     , unordered-containers, uuid-types, vector
-     }:
-     mkDerivation {
-       pname = "quickcheck-instances";
-       version = "0.3.25.2";
-       sha256 = "0ihqbarl2ddrfgq3mq09lswwn8213qpw13g49qxs5mjkcm6gbk3h";
-       revision = "2";
-       editedCabalFile = "1lsa3pbg4ljlk29fhm3mdklnx3hwffyga1nr5krbpcyc3ywq8fq8";
-       libraryHaskellDepends = [
-         array base bytestring case-insensitive containers data-fix hashable
-         integer-logarithms old-time QuickCheck scientific splitmix strict
-         tagged text these time time-compat transformers transformers-compat
-         unordered-containers uuid-types vector
-       ];
-       testHaskellDepends = [
-         base containers QuickCheck tagged uuid-types
-       ];
-       benchmarkHaskellDepends = [ base bytestring QuickCheck ];
-       description = "Common quickcheck instances";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "quickcheck-instances_0_3_27" = callPackage
-    ({ mkDerivation, array, base, bytestring, case-insensitive
-     , containers, data-fix, hashable, integer-logarithms, old-time
      , OneTuple, QuickCheck, scientific, splitmix, strict, tagged, text
      , text-short, these, time, time-compat, transformers
      , transformers-compat, unordered-containers, uuid-types, vector
@@ -226634,7 +223252,6 @@ self: {
        benchmarkHaskellDepends = [ base bytestring QuickCheck ];
        description = "Common quickcheck instances";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "quickcheck-io" = callPackage
@@ -226702,6 +223319,28 @@ self: {
        broken = true;
      }) {};
 
+  "quickcheck-quid" = callPackage
+    ({ mkDerivation, base, containers, deepseq, extra, fmt, hashable
+     , hspec, hspec-discover, pretty-simple, primes, QuickCheck
+     , quickcheck-classes, text
+     }:
+     mkDerivation {
+       pname = "quickcheck-quid";
+       version = "0.0.1";
+       sha256 = "02d9lak5pdss17x0nvxdj7r81vllgd599brkh87h2zmjp6fajprs";
+       libraryHaskellDepends = [
+         base containers deepseq extra hashable QuickCheck text
+       ];
+       testHaskellDepends = [
+         base containers fmt hspec pretty-simple primes QuickCheck
+         quickcheck-classes text
+       ];
+       testToolDepends = [ hspec-discover ];
+       doHaddock = false;
+       description = "Quasi-unique identifiers for QuickCheck";
+       license = lib.licenses.asl20;
+     }) {};
+
   "quickcheck-regex" = callPackage
     ({ mkDerivation, base, containers, QuickCheck, regex-genex
      , regex-tdfa
@@ -226924,7 +223563,6 @@ self: {
        description = "Utilities for using WebDriver with QuickCheck";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "quickcheck-with-counterexamples" = callPackage
@@ -227033,6 +223671,8 @@ self: {
        libraryHaskellDepends = [ aeson attoparsec base bytestring text ];
        description = "Quick JSON extractions with Aeson";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "quickspec" = callPackage
@@ -227326,7 +223966,6 @@ self: {
        description = "Utility libraries for Quipper";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "quiver" = callPackage
@@ -227597,8 +224236,8 @@ self: {
      }:
      mkDerivation {
        pname = "r-glpk-phonetic-languages-ukrainian-durations";
-       version = "0.4.1.0";
-       sha256 = "1zgxr7c2szzmwk9n9hdir2nfg4gzpzwk4jgzlb95m5wlpagsz3fl";
+       version = "0.4.2.0";
+       sha256 = "04m9493db98x5i2n1zpgdl6kc2lvx0fmr8w17hs89jwfr8h6k4ni";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -227611,6 +224250,7 @@ self: {
        ];
        description = "Can be used to calculate the durations of the approximations of the Ukrainian phonemes";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "r3x-haskell-sdk" = callPackage
@@ -227824,6 +224464,8 @@ self: {
          attoparsec base criterion deepseq QuasiText text vector
        ];
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "rados-haskell" = callPackage
@@ -228055,24 +224697,6 @@ self: {
      }) {};
 
   "ral" = callPackage
-    ({ mkDerivation, adjunctions, base, bin, criterion, deepseq
-     , distributive, fin, hashable, indexed-traversable, QuickCheck
-     , semigroupoids, vector
-     }:
-     mkDerivation {
-       pname = "ral";
-       version = "0.2";
-       sha256 = "0xwr2wr44zzl2bvkii2nq06djd6rrf891zxlb4daxzf3m93xvf3v";
-       libraryHaskellDepends = [
-         adjunctions base bin deepseq distributive fin hashable
-         indexed-traversable QuickCheck semigroupoids
-       ];
-       benchmarkHaskellDepends = [ base criterion vector ];
-       description = "Random access lists";
-       license = lib.licenses.gpl2Plus;
-     }) {};
-
-  "ral_0_2_1" = callPackage
     ({ mkDerivation, adjunctions, base, bin, boring, criterion, deepseq
      , distributive, fin, hashable, indexed-traversable, QuickCheck
      , semigroupoids, vector
@@ -228088,7 +224712,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion vector ];
        description = "Random access lists";
        license = lib.licenses.gpl2Plus;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ral-lens" = callPackage
@@ -228132,6 +224755,8 @@ self: {
        benchmarkHaskellDepends = [ base criterion deepseq ];
        description = "Random access list with a list compatible interface";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "rallod" = callPackage
@@ -228168,19 +224793,6 @@ self: {
     ({ mkDerivation, base, criterion, hspec }:
      mkDerivation {
        pname = "rampart";
-       version = "1.1.0.4";
-       sha256 = "1kchbdzc4blis2l9k8dzzzib0zqg443iwmsgdzpsqgq7la6ajcgc";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base hspec ];
-       benchmarkHaskellDepends = [ base criterion ];
-       description = "Determine how intervals relate to each other";
-       license = lib.licenses.isc;
-     }) {};
-
-  "rampart_2_0_0_0" = callPackage
-    ({ mkDerivation, base, criterion, hspec }:
-     mkDerivation {
-       pname = "rampart";
        version = "2.0.0.0";
        sha256 = "1hmn6dm5x2n9mn31lwa3dg77plahqmfj0h6s2h3v5y09d7s2fjhv";
        libraryHaskellDepends = [ base ];
@@ -228188,7 +224800,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion ];
        description = "Determine how intervals relate to each other";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ramus" = callPackage
@@ -228256,31 +224867,6 @@ self: {
 
   "random" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, doctest
-     , gauge, mtl, mwc-random, primitive, rdtsc, smallcheck, split
-     , splitmix, tasty, tasty-expected-failure, tasty-hunit
-     , tasty-smallcheck, time, unliftio, vector
-     }:
-     mkDerivation {
-       pname = "random";
-       version = "1.2.0";
-       sha256 = "1pmr7zbbqg58kihhhwj8figf5jdchhi7ik2apsyxbgsqq3vrqlg4";
-       revision = "6";
-       editedCabalFile = "1hzfz9b1cxrsya8i53yx145iypaakfsfjix7l8girhx7vbz0cm8r";
-       libraryHaskellDepends = [ base bytestring deepseq mtl splitmix ];
-       testHaskellDepends = [
-         base bytestring containers doctest mwc-random primitive smallcheck
-         tasty tasty-expected-failure tasty-hunit tasty-smallcheck unliftio
-         vector
-       ];
-       benchmarkHaskellDepends = [
-         base gauge mtl rdtsc split splitmix time
-       ];
-       description = "Pseudo-random number generation";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "random_1_2_1" = callPackage
-    ({ mkDerivation, base, bytestring, containers, deepseq, doctest
      , mtl, primitive, rdtsc, smallcheck, split, splitmix, stm, tasty
      , tasty-bench, tasty-hunit, tasty-inspection-testing
      , tasty-smallcheck, time, transformers
@@ -228299,7 +224885,6 @@ self: {
        ];
        description = "Pseudo-random number generation";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "random-access-file" = callPackage
@@ -228322,6 +224907,7 @@ self: {
        ];
        description = "Random file access methods, supporting application-level page cache";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "random-access-list" = callPackage
@@ -228417,20 +225003,22 @@ self: {
        ];
        description = "Additional functions for random values";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "random-fu" = callPackage
     ({ mkDerivation, base, erf, math-functions, monad-loops, mtl
-     , random, random-shuffle, random-source, rvar, syb
-     , template-haskell, transformers, vector
+     , random, random-shuffle, rvar, syb, template-haskell, transformers
+     , vector
      }:
      mkDerivation {
        pname = "random-fu";
-       version = "0.2.7.7";
-       sha256 = "1jk5qv7iddbqcyciih9vfylrwhbcabmy348waw5c7gchabxvqrl4";
+       version = "0.3.0.0";
+       sha256 = "1iz4b8742pshzsscy6pq39x4pndvyrydzrn968fzav9b1y6ib7d1";
        libraryHaskellDepends = [
-         base erf math-functions monad-loops mtl random random-shuffle
-         random-source rvar syb template-haskell transformers vector
+         base erf math-functions monad-loops mtl random random-shuffle rvar
+         syb template-haskell transformers vector
        ];
        description = "Random number generation";
        license = lib.licenses.publicDomain;
@@ -228497,6 +225085,8 @@ self: {
        pname = "random-source";
        version = "0.3.0.11";
        sha256 = "0lwqbd0h495srgi2p8fsmsfk5hv5m3f6cxm12j61xx94fdyn98sv";
+       revision = "1";
+       editedCabalFile = "1wh5acm2298bcp3r4zp7k77rrzynfgbs4s6jq6swml1p3p7yr7b9";
        libraryHaskellDepends = [
          base flexible-defaults mersenne-random-pure64 mtl mwc-random
          primitive random stateref syb template-haskell th-extras
@@ -228660,8 +225250,6 @@ self: {
        ];
        description = "Memory efficient sets with ranges of elements";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "range-space" = callPackage
@@ -228738,6 +225326,8 @@ self: {
        ];
        description = "Find the rank product of a data set";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "rank1dynamic" = callPackage
@@ -228754,6 +225344,8 @@ self: {
        ];
        description = "Like Data.Dynamic/Data.Typeable but with support for rank-1 polymorphic types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "rank2classes" = callPackage
@@ -229035,7 +225627,6 @@ self: {
        description = "A command-line client for Reddit";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "rasterific-svg" = callPackage
@@ -229079,24 +225670,6 @@ self: {
   "ratel" = callPackage
     ({ mkDerivation, aeson, base, bytestring, case-insensitive
      , containers, filepath, hspec, http-client, http-client-tls
-     , http-types, text, uuid
-     }:
-     mkDerivation {
-       pname = "ratel";
-       version = "1.0.17";
-       sha256 = "0yi70cxzaxwdz0l6s114bp0x6khvjbca2l95sv1grwrk6imlja4v";
-       libraryHaskellDepends = [
-         aeson base bytestring case-insensitive containers http-client
-         http-client-tls http-types text uuid
-       ];
-       testHaskellDepends = [ base filepath hspec ];
-       description = "Notify Honeybadger about exceptions";
-       license = lib.licenses.mit;
-     }) {};
-
-  "ratel_2_0_0_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, case-insensitive
-     , containers, filepath, hspec, http-client, http-client-tls
      , http-types, uuid
      }:
      mkDerivation {
@@ -229113,7 +225686,6 @@ self: {
        ];
        description = "Notify Honeybadger about exceptions";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ratel-wai" = callPackage
@@ -229122,21 +225694,6 @@ self: {
      }:
      mkDerivation {
        pname = "ratel-wai";
-       version = "1.1.5";
-       sha256 = "0afrsnj1sjcr99sw7cpv2l4pn2is9y6qck4lq1vc33h8kk4hr25y";
-       libraryHaskellDepends = [
-         base bytestring case-insensitive containers http-client ratel wai
-       ];
-       description = "Notify Honeybadger about exceptions via a WAI middleware";
-       license = lib.licenses.mit;
-     }) {};
-
-  "ratel-wai_2_0_0_0" = callPackage
-    ({ mkDerivation, base, bytestring, case-insensitive, containers
-     , http-client, ratel, wai
-     }:
-     mkDerivation {
-       pname = "ratel-wai";
        version = "2.0.0.0";
        sha256 = "1z95ydab4q8r3lmsin3ghzqcnfliw2km7sdldzm6crvgvpj90l73";
        libraryHaskellDepends = [
@@ -229144,7 +225701,6 @@ self: {
        ];
        description = "Notify Honeybadger about exceptions via a WAI middleware";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ratelimiter" = callPackage
@@ -229271,12 +225827,12 @@ self: {
 
   "rattletrap" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, array, base, bytestring
-     , containers, filepath, http-client, http-client-tls, HUnit, text
+     , containers, filepath, http-client, http-client-tls, text
      }:
      mkDerivation {
        pname = "rattletrap";
-       version = "11.1.1";
-       sha256 = "0cfxdi2h6aqa6zylg1hgn563fpi72zqfqzl9gsipm7jz1532j2a3";
+       version = "11.2.4";
+       sha256 = "0cqk2sfh4brm94zvy3d23khxl2x7zrjc0c62ww96549qpvp8za4y";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -229284,21 +225840,21 @@ self: {
          http-client http-client-tls text
        ];
        executableHaskellDepends = [ base ];
-       testHaskellDepends = [ base bytestring filepath HUnit ];
+       testHaskellDepends = [ base bytestring filepath ];
        description = "Parse and generate Rocket League replays";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
        broken = true;
      }) {};
 
-  "rattletrap_11_2_4" = callPackage
+  "rattletrap_11_2_6" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, array, base, bytestring
      , containers, filepath, http-client, http-client-tls, text
      }:
      mkDerivation {
        pname = "rattletrap";
-       version = "11.2.4";
-       sha256 = "0cqk2sfh4brm94zvy3d23khxl2x7zrjc0c62ww96549qpvp8za4y";
+       version = "11.2.6";
+       sha256 = "1y8g39vjnn3lywhg389ql0hqrzpgcj0j76wzhrzsh7ymj87vvirk";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -229331,6 +225887,8 @@ self: {
        ];
        description = "Haskell client for Sentry logging service";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "raven-haskell-scotty" = callPackage
@@ -229347,7 +225905,6 @@ self: {
        description = "Sentry http interface for Scotty web server";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "raw-feldspar" = callPackage
@@ -229390,25 +225947,12 @@ self: {
     ({ mkDerivation, base, bytestring, unix }:
      mkDerivation {
        pname = "rawfilepath";
-       version = "0.2.4";
-       sha256 = "1lsvpnv1dncxw6a8a9w1jnzxlv2ya69ly4p4qsl720pzyx4ipc6b";
-       libraryHaskellDepends = [ base bytestring unix ];
-       testHaskellDepends = [ base bytestring ];
-       description = "Use RawFilePath instead of FilePath";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "rawfilepath_1_0_0" = callPackage
-    ({ mkDerivation, base, bytestring, unix }:
-     mkDerivation {
-       pname = "rawfilepath";
-       version = "1.0.0";
-       sha256 = "0ya68wvafb8zq6d9hlfdr71pnks9a9hln67a2r93pxhz3iz2cv5w";
+       version = "1.0.1";
+       sha256 = "016bdivq8b3visv56jriw39ld5yg6c75x1qy69sm7am27i9728g3";
        libraryHaskellDepends = [ base bytestring unix ];
        testHaskellDepends = [ base bytestring ];
        description = "Use RawFilePath instead of FilePath";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "rawr" = callPackage
@@ -229618,6 +226162,8 @@ self: {
        ];
        description = "Representation and Incremental Processing of RDF Data";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "rdf4h" = callPackage
@@ -229847,25 +226393,28 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "reactive-banana" = callPackage
-    ({ mkDerivation, base, containers, hashable, HUnit, pqueue
-     , psqueues, semigroups, test-framework, test-framework-hunit, these
+    ({ mkDerivation, base, containers, hashable, pqueue, psqueues
+     , random, semigroups, tasty, tasty-bench, tasty-hunit, these
      , transformers, unordered-containers, vault
      }:
      mkDerivation {
        pname = "reactive-banana";
-       version = "1.2.2.0";
-       sha256 = "0zqvswqgisfj1hvwp9r53b91h4062d2afrw4ybcdr7d047ba9icp";
+       version = "1.3.0.0";
+       sha256 = "05jml1wxvj6453p98a2km8qvb0gs17y68givp1nf1l41r5da1fkk";
        libraryHaskellDepends = [
          base containers hashable pqueue semigroups these transformers
          unordered-containers vault
        ];
        testHaskellDepends = [
-         base containers hashable HUnit pqueue psqueues semigroups
-         test-framework test-framework-hunit these transformers
-         unordered-containers vault
+         base containers hashable pqueue psqueues semigroups tasty
+         tasty-hunit these transformers unordered-containers vault
+       ];
+       benchmarkHaskellDepends = [
+         base containers random tasty tasty-bench
        ];
        description = "Library for functional reactive programming (FRP)";
        license = lib.licenses.bsd3;
@@ -229885,6 +226434,8 @@ self: {
        testHaskellDepends = [ base doctest ];
        description = "home (etc) automation using reactive-banana";
        license = lib.licenses.agpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "reactive-banana-bunch" = callPackage
@@ -229900,6 +226451,8 @@ self: {
        ];
        description = "Extend reactive-banana to multiple events per time point";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "reactive-banana-gi-gtk" = callPackage
@@ -230058,6 +226611,7 @@ self: {
        ];
        description = "Process MIDI events via reactive-banana and JACK";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "reactive-midyim" = callPackage
@@ -230077,6 +226631,7 @@ self: {
        ];
        description = "Process MIDI events via reactive-banana";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "reactive-thread" = callPackage
@@ -230304,7 +226859,6 @@ self: {
        description = "Readline effect for in-other-words";
        license = lib.licenses.bsd2;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "readline-statevar" = callPackage
@@ -230502,6 +227056,8 @@ self: {
        ];
        description = "Generate Reason types from Haskell";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "reasonable-lens" = callPackage
@@ -230533,28 +227089,6 @@ self: {
   "rebase" = callPackage
     ({ mkDerivation, base, bifunctors, bytestring, comonad, containers
      , contravariant, deepseq, dlist, either, groups, hashable
-     , hashable-time, invariant, mtl, profunctors, scientific, selective
-     , semigroupoids, stm, text, time, transformers
-     , unordered-containers, uuid-types, vector, vector-instances, void
-     }:
-     mkDerivation {
-       pname = "rebase";
-       version = "1.13.2";
-       sha256 = "0lvz4cx9bgny4s5az75clza90nb573vqr8c2ls0bmrsb7sx4p3jh";
-       libraryHaskellDepends = [
-         base bifunctors bytestring comonad containers contravariant deepseq
-         dlist either groups hashable hashable-time invariant mtl
-         profunctors scientific selective semigroupoids stm text time
-         transformers unordered-containers uuid-types vector
-         vector-instances void
-       ];
-       description = "A more progressive alternative to the \"base\" package";
-       license = lib.licenses.mit;
-     }) {};
-
-  "rebase_1_15_0_3" = callPackage
-    ({ mkDerivation, base, bifunctors, bytestring, comonad, containers
-     , contravariant, deepseq, dlist, either, groups, hashable
      , invariant, mtl, profunctors, scientific, selective, semigroupoids
      , stm, text, time, time-compat, transformers, unordered-containers
      , uuid-types, vector, vector-instances, void
@@ -230571,7 +227105,6 @@ self: {
        ];
        description = "A more progressive alternative to the \"base\" package";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "rebindable" = callPackage
@@ -230591,6 +227124,8 @@ self: {
        pname = "rec-smallarray";
        version = "0.1.0.0";
        sha256 = "1a4vsag2h955i2pgcwiy9rzs1dpvd3j2lc1drhyg6svpm7h82amk";
+       revision = "2";
+       editedCabalFile = "0k71n9vqlr7kpjzyqb2pp4lpj8wjla8gfp9f34cmlb8gg7l2g5np";
        libraryHaskellDepends = [ base primitive ];
        testHaskellDepends = [ base hspec primitive ];
        description = "SmallArray-based extensible records for small-scale fast reads";
@@ -230793,6 +227328,8 @@ self: {
        testHaskellDepends = [ base ];
        description = "Alter your records with ease";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "records" = callPackage
@@ -230824,6 +227361,8 @@ self: {
        ];
        description = "Record subtyping and record utilities with generics-sop";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "records-th" = callPackage
@@ -230846,19 +227385,19 @@ self: {
   "recover-rtti" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, ghc-heap
      , ghc-prim, mtl, primitive, QuickCheck, sop-core, stm, tasty
-     , tasty-quickcheck, text, unordered-containers, vector
+     , tasty-hunit, tasty-quickcheck, text, unordered-containers, vector
      }:
      mkDerivation {
        pname = "recover-rtti";
-       version = "0.4.0.0";
-       sha256 = "15nyshkbl7yh9h19ia3hgyciq2mn11nvsp258pb3f8d8xjjyk820";
+       version = "0.4.1.0";
+       sha256 = "17z168zlf52705kip2xdgbb0z48xm9lyffhqhmr2k0s85wr1nwpj";
        libraryHaskellDepends = [
          aeson base bytestring containers ghc-heap mtl primitive sop-core
          stm text unordered-containers vector
        ];
        testHaskellDepends = [
          aeson base bytestring containers ghc-heap ghc-prim mtl primitive
-         QuickCheck sop-core stm tasty tasty-quickcheck text
+         QuickCheck sop-core stm tasty tasty-hunit tasty-quickcheck text
          unordered-containers vector
        ];
        description = "Recover run-time type information from the GHC heap";
@@ -230910,6 +227449,8 @@ self: {
        ];
        description = "Amateur addenda to recursion-schemes";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "recursion-schemes-ix" = callPackage
@@ -230926,6 +227467,8 @@ self: {
        ];
        description = "Recursion schemes over indexed Functors";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "recursive-line-count" = callPackage
@@ -231025,6 +227568,28 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "redact" = callPackage
+    ({ mkDerivation, ansi-terminal, ansi-wl-pprint, base, directory
+     , explainable-predicates, HMock, optparse-applicative, tasty
+     , tasty-hunit, text
+     }:
+     mkDerivation {
+       pname = "redact";
+       version = "0.4.0.0";
+       sha256 = "0q0sqsqajv8mvz76b9xy40z22j6cbacwn76rwhns5wwj5kwli829";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ ansi-terminal base text ];
+       executableHaskellDepends = [
+         ansi-terminal ansi-wl-pprint base directory optparse-applicative
+       ];
+       testHaskellDepends = [
+         ansi-terminal base explainable-predicates HMock tasty tasty-hunit
+       ];
+       description = "hide secret text on the terminal";
+       license = lib.licenses.mit;
+     }) {};
+
   "reddit" = callPackage
     ({ mkDerivation, aeson, api-builder, base, bytestring, Cabal
      , data-default-class, free, hspec, http-client, http-client-tls
@@ -231189,6 +227754,7 @@ self: {
        ];
        description = "Combine redis caching and haxl";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "redland" = callPackage
@@ -231201,8 +227767,6 @@ self: {
        libraryPkgconfigDepends = [ raptor2 redland ];
        description = "Redland RDF library bindings";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {raptor2 = null; inherit (pkgs) redland;};
 
   "redo" = callPackage
@@ -231820,6 +228384,8 @@ self: {
        description = "A reflex-dom widget to draw on a canvas with a fragment shader program";
        license = lib.licenses.mit;
        platforms = [ "armv7l-linux" "i686-linux" "x86_64-linux" ];
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "reflex-dom-helpers" = callPackage
@@ -231840,6 +228406,21 @@ self: {
        broken = true;
      }) {};
 
+  "reflex-dom-ionic" = callPackage
+    ({ mkDerivation, base, containers, ghcjs-dom, lens, ref-tf, reflex
+     , reflex-dom-core, text
+     }:
+     mkDerivation {
+       pname = "reflex-dom-ionic";
+       version = "0.1.0.1";
+       sha256 = "0ka81047gk3hnpj9rcvyq8wnw6kxiwr2hxf8fwy3lclbgpk1sard";
+       libraryHaskellDepends = [
+         base containers ghcjs-dom lens ref-tf reflex reflex-dom-core text
+       ];
+       description = "Compatible highlevel Wigdets for some Ionic Input Components";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "reflex-dom-pandoc" = callPackage
     ({ mkDerivation, aeson, base, binary, bytestring, clay, constraints
      , containers, data-default, lens, lens-aeson, modern-uri, mtl
@@ -231912,6 +228493,29 @@ self: {
        broken = true;
      }) {};
 
+  "reflex-dom-th" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, filepath
+     , hspec, megaparsec, reflex-dom-core, stm, tasty, tasty-golden
+     , tasty-hspec, template-haskell, text
+     }:
+     mkDerivation {
+       pname = "reflex-dom-th";
+       version = "0.3.0.0";
+       sha256 = "19s8jhqrzdd5i4fsjp9870fh3hjy55naasf63d0gp0j6kcnb7ghd";
+       libraryHaskellDepends = [
+         array base containers megaparsec reflex-dom-core template-haskell
+         text
+       ];
+       testHaskellDepends = [
+         base bytestring filepath hspec megaparsec stm tasty tasty-golden
+         tasty-hspec
+       ];
+       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
     ({ mkDerivation, base, binary, containers, deepseq, dependent-map
      , dependent-sum, hashable, hspec, hspec-contrib, HUnit, ilist
@@ -231933,7 +228537,6 @@ self: {
        description = "various dynamic containers for Reflex";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "reflex-external-ref" = callPackage
@@ -231945,6 +228548,8 @@ self: {
        libraryHaskellDepends = [ base deepseq reflex ];
        description = "External reference with reactivity support";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "reflex-fsnotify" = callPackage
@@ -232143,6 +228748,7 @@ self: {
        ];
        description = "Localization library for reflex";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "reflex-localize-dom" = callPackage
@@ -232161,6 +228767,7 @@ self: {
        description = "Helper widgets for reflex-localize";
        license = lib.licenses.mit;
        platforms = [ "armv7l-linux" "i686-linux" "x86_64-linux" ];
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "reflex-monad-auth" = callPackage
@@ -232176,6 +228783,7 @@ self: {
        ];
        description = "Utilities to split reflex app to authorized and not authorized contexts";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "reflex-orphans" = callPackage
@@ -232261,6 +228869,8 @@ self: {
        ];
        description = "reflex host methods for testing without external events";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "reflex-transformers" = callPackage
@@ -232368,6 +228978,7 @@ 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
@@ -232416,7 +229027,6 @@ self: {
        description = "See README for more info";
        license = lib.licenses.mpl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "refresht" = callPackage
@@ -232446,6 +229056,8 @@ self: {
        testHaskellDepends = [ base ];
        description = "Formatted JSON generator for API server inspired by normalizr";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "refurb" = callPackage
@@ -232913,10 +229525,8 @@ self: {
      }:
      mkDerivation {
        pname = "regex-tdfa";
-       version = "1.3.1.1";
-       sha256 = "1msrq31k4jmn2lmrdzn87jqarqhw265ca69rfg5jpa5adrzm3gmi";
-       revision = "3";
-       editedCabalFile = "11c7kqjf86jmm6pcxypbvlqb3iim5rcv9gxy1046iappasapampd";
+       version = "1.3.1.2";
+       sha256 = "0qka53m4xirlb2cjzr68rhybm31i4x2f78b8724a0askvb4phyn4";
        libraryHaskellDepends = [
          array base bytestring containers mtl parsec regex-base text
        ];
@@ -233131,6 +229741,7 @@ self: {
        testHaskellDepends = [ base QuickCheck regexdot toolshed ];
        description = "A POSIX, extended regex-engine";
        license = "GPL";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "regexdot" = callPackage
@@ -233146,6 +229757,8 @@ self: {
        ];
        description = "A polymorphic, POSIX, extended regex-engine";
        license = "GPL";
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "regexp-tries" = callPackage
@@ -233330,8 +229943,8 @@ self: {
      }:
      mkDerivation {
        pname = "registry-hedgehog";
-       version = "0.4.1.0";
-       sha256 = "1wak4bg7fkd1ywacg74snr1wvain62mg62i7wqk5zllypf3rxkxi";
+       version = "0.6.0.0";
+       sha256 = "12asg2cz72an1hgy7c853z7zz7zvw54z7wa4rvw0gzg0a2z3fh0m";
        libraryHaskellDepends = [
          base containers hedgehog mmorph multimap protolude registry tasty
          tasty-discover tasty-hedgehog tasty-th template-haskell text
@@ -233348,6 +229961,34 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "registry-hedgehog-aeson" = callPackage
+    ({ mkDerivation, aeson, base, containers, hedgehog, mmorph
+     , multimap, protolude, registry, registry-hedgehog, scientific
+     , tasty, tasty-discover, tasty-hedgehog, tasty-th, template-haskell
+     , text, transformers, universum, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "registry-hedgehog-aeson";
+       version = "0.1.0.0";
+       sha256 = "0xz8wjk87kmskw5aqrx2g56d7p5brrf84fr2zpnh2xh4niv283lr";
+       libraryHaskellDepends = [
+         aeson base containers hedgehog mmorph multimap protolude registry
+         scientific tasty tasty-discover tasty-hedgehog tasty-th
+         template-haskell text transformers universum unordered-containers
+         vector
+       ];
+       testHaskellDepends = [
+         aeson base containers hedgehog mmorph multimap protolude registry
+         registry-hedgehog scientific tasty tasty-discover tasty-hedgehog
+         tasty-th template-haskell text transformers universum
+         unordered-containers vector
+       ];
+       testToolDepends = [ tasty-discover ];
+       description = "Hedgehog generators for Aeson";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "regress" = callPackage
     ({ mkDerivation, ad, base, vector }:
      mkDerivation {
@@ -233370,8 +230011,6 @@ self: {
        libraryHaskellDepends = [ base vector ];
        description = "Simple linear and quadratic regression";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "regular" = callPackage
@@ -233537,35 +230176,8 @@ self: {
      }:
      mkDerivation {
        pname = "rel8";
-       version = "1.2.0.0";
-       sha256 = "0nslc1hsgvv9j5lyf4zi6b3jkakfkv49j9pjan141j1cb0cbpgwa";
-       libraryHaskellDepends = [
-         aeson base bifunctors bytestring case-insensitive comonad
-         contravariant hasql opaleye pretty product-profunctors profunctors
-         scientific semialign semigroupoids text these time uuid
-       ];
-       testHaskellDepends = [
-         base bytestring case-insensitive containers hasql hasql-transaction
-         hedgehog mmorph scientific tasty tasty-hedgehog text time
-         tmp-postgres transformers uuid
-       ];
-       description = "Hey! Hey! Can u rel8?";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ sternenseemann ];
-     }) {};
-
-  "rel8_1_3_0_0" = callPackage
-    ({ mkDerivation, aeson, base, bifunctors, bytestring
-     , case-insensitive, comonad, containers, contravariant, hasql
-     , hasql-transaction, hedgehog, mmorph, opaleye, pretty
-     , product-profunctors, profunctors, scientific, semialign
-     , semigroupoids, tasty, tasty-hedgehog, text, these, time
-     , tmp-postgres, transformers, uuid
-     }:
-     mkDerivation {
-       pname = "rel8";
-       version = "1.3.0.0";
-       sha256 = "00iw5fzfx81j7phzjqzmk2bfxvg9q21sn3gw42a3xbnqk1ivrhjy";
+       version = "1.3.1.0";
+       sha256 = "0r1pbci7zl01v485bgbn90m07qrqdzkcpj4mykkdxxla9zlj2m39";
        libraryHaskellDepends = [
          aeson base bifunctors bytestring case-insensitive comonad
          contravariant hasql opaleye pretty product-profunctors profunctors
@@ -233578,7 +230190,6 @@ self: {
        ];
        description = "Hey! Hey! Can u rel8?";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ sternenseemann ];
      }) {};
 
@@ -233651,7 +230262,6 @@ self: {
        description = "PostgreSQL v8.x driver for haskell-relational-record";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "relational-query" = callPackage
@@ -233677,6 +230287,7 @@ self: {
        ];
        description = "Typeful, Modular, Relational, algebraic query engine";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "relational-query-HDBC" = callPackage
@@ -233701,6 +230312,7 @@ self: {
        ];
        description = "HDBC instance of relational-query and typed query interface for HDBC";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "relational-query-postgresql-pure" = callPackage
@@ -233728,7 +230340,6 @@ self: {
        description = "The connector of relational-record and postgresql-pure";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "relational-record" = callPackage
@@ -233746,6 +230357,7 @@ self: {
        ];
        description = "Meta package of Relational Record";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "relational-record-examples" = callPackage
@@ -233769,6 +230381,7 @@ self: {
        ];
        description = "Examples of Haskell Relationa Record";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "relational-schemas" = callPackage
@@ -233785,6 +230398,7 @@ self: {
        ];
        description = "RDBMSs' schema templates for relational-query";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "relative-date" = callPackage
@@ -233892,7 +230506,6 @@ self: {
        description = "A web based Haskell IDE";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "reloto" = callPackage
@@ -233911,7 +230524,7 @@ self: {
        license = lib.licenses.agpl3Plus;
      }) {};
 
-  "relude" = callPackage
+  "relude_0_7_0_0" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, doctest
      , gauge, ghc-prim, Glob, hashable, hedgehog, mtl, stm, text
      , transformers, unordered-containers
@@ -233930,9 +230543,10 @@ self: {
        benchmarkHaskellDepends = [ base gauge unordered-containers ];
        description = "Safe, performant, user-friendly and lightweight Haskell Standard Library";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "relude_1_0_0_1" = callPackage
+  "relude" = callPackage
     ({ mkDerivation, base, bytestring, containers, criterion, deepseq
      , doctest, ghc-prim, Glob, hashable, hedgehog, mtl, stm, text
      , transformers, unordered-containers
@@ -233951,7 +230565,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion unordered-containers ];
        description = "Safe, performant, user-friendly and lightweight Haskell Standard Library";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "remark" = callPackage
@@ -234224,8 +230837,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Reorder expressions in a syntax tree according to operator fixities";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "reorderable" = callPackage
@@ -234264,13 +230875,11 @@ self: {
     ({ mkDerivation, base, repa, vector }:
      mkDerivation {
        pname = "repa-algorithms";
-       version = "3.4.1.4";
-       sha256 = "0k5xmr46vnai095bsa0nsi7imzwnsmll2y4hqbsajlizcr6ilwmq";
+       version = "3.4.1.5";
+       sha256 = "0j6vbmwkjx8k0s754pccsmrdw5bkydxwbrli8lhlvxjcrrmbc26l";
        libraryHaskellDepends = [ base repa vector ];
        description = "Algorithms using the Repa array library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "repa-array" = callPackage
@@ -234367,6 +230976,7 @@ self: {
        description = "Examples using the Repa array library";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "repa-fftw" = callPackage
@@ -234414,10 +231024,8 @@ self: {
      }:
      mkDerivation {
        pname = "repa-io";
-       version = "3.4.1.1";
-       sha256 = "1nm9kfin6fv016r02l74c9hf8pr1rz7s33i833cqpyw8m6bcmnxm";
-       revision = "5";
-       editedCabalFile = "1v9bza21a3h0pkaxs628jjfli157d44i757da250fxwwamk8sg88";
+       version = "3.4.1.2";
+       sha256 = "0y4b8mfzlbf38f8mqnzq4vyvq8vw2vri8w0sb7dpr4bk0sd7gsmj";
        libraryHaskellDepends = [
          base binary bmp bytestring old-time repa vector
        ];
@@ -234568,6 +231176,8 @@ self: {
        ];
        description = "Toolkit for quickly whipping up config files and command-line interfaces";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "replace-attoparsec" = callPackage
@@ -234695,7 +231305,6 @@ self: {
        description = "Blogging module using blaze html for markup";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "repr" = callPackage
@@ -234813,44 +231422,14 @@ self: {
      , hspec-core, hspec-discover, http-api-data, http-client
      , http-client-tls, http-types, modern-uri, monad-control, mtl
      , QuickCheck, retry, template-haskell, text, time, transformers
-     , transformers-base, unliftio-core, unordered-containers
-     }:
-     mkDerivation {
-       pname = "req";
-       version = "3.9.0";
-       sha256 = "1hapa7f6n6xzw43w6zka3x8hp546h992axm6m8rcxl042j9p95b3";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson authenticate-oauth base blaze-builder bytestring
-         case-insensitive connection exceptions http-api-data http-client
-         http-client-tls http-types modern-uri monad-control mtl retry
-         template-haskell text time transformers transformers-base
-         unliftio-core
-       ];
-       testHaskellDepends = [
-         aeson base blaze-builder bytestring case-insensitive hspec
-         hspec-core http-client http-types modern-uri monad-control mtl
-         QuickCheck retry template-haskell text time unordered-containers
-       ];
-       testToolDepends = [ hspec-discover ];
-       doCheck = false;
-       description = "Easy-to-use, type-safe, expandable, high-level HTTP client library";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ maralorn ];
-     }) {};
-
-  "req_3_10_0" = callPackage
-    ({ mkDerivation, aeson, authenticate-oauth, base, blaze-builder
-     , bytestring, case-insensitive, connection, exceptions, hspec
-     , hspec-core, hspec-discover, http-api-data, http-client
-     , http-client-tls, http-types, modern-uri, monad-control, mtl
-     , QuickCheck, retry, template-haskell, text, time, transformers
      , transformers-base, unliftio-core
      }:
      mkDerivation {
        pname = "req";
        version = "3.10.0";
        sha256 = "176zl3ihmp8iz4fwfi5dalmiz658dis0hxni6bqzqgnaxhd0230w";
+       revision = "2";
+       editedCabalFile = "147q0jkfrg066lnl20gzv5rk6d9jdwyvaip2y4am5hkrvcg3v9z8";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson authenticate-oauth base blaze-builder bytestring
@@ -234868,7 +231447,6 @@ self: {
        doCheck = false;
        description = "HTTP client library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
@@ -234950,8 +231528,6 @@ self: {
        ];
        description = "A local http server to catch the HTTP redirect";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "request" = callPackage
@@ -234967,6 +231543,8 @@ self: {
          http-types
        ];
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "request-monad" = callPackage
@@ -235022,6 +231600,8 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Abstraction to manage user defined Type Errors";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "rere" = callPackage
@@ -235054,23 +231634,11 @@ self: {
     ({ mkDerivation, rebase }:
      mkDerivation {
        pname = "rerebase";
-       version = "1.13.2";
-       sha256 = "04bzdyz17azwx6afdys3vh8iydrq6z58j77ib4pwvmz54v2jfcaa";
-       libraryHaskellDepends = [ rebase ];
-       description = "Reexports from \"base\" with a bunch of other standard libraries";
-       license = lib.licenses.mit;
-     }) {};
-
-  "rerebase_1_15_0_3" = callPackage
-    ({ mkDerivation, rebase }:
-     mkDerivation {
-       pname = "rerebase";
        version = "1.15.0.3";
        sha256 = "0jxlssdxgh5ldgkdpmhpk8vy5fxmq95171b3jl57r9m2f7zqrcd2";
        libraryHaskellDepends = [ rebase ];
        description = "Reexports from \"base\" with a bunch of other standard libraries";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "reroute" = callPackage
@@ -235150,8 +231718,6 @@ self: {
        ];
        description = "Reserve reloads web applications";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "reservoir" = callPackage
@@ -235177,26 +231743,12 @@ self: {
        description = "High performance variable binders";
        license = lib.licenses.bsd2;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "resistor-cube" = callPackage
     ({ mkDerivation, base, comfort-array, lapack }:
      mkDerivation {
        pname = "resistor-cube";
-       version = "0.0.1.2";
-       sha256 = "1jdpyxpbqhlbd66gy1qlrjqm31mhvg636yp8nrm9qbksllzdi6n6";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [ base comfort-array lapack ];
-       description = "Compute total resistance of a cube of resistors";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "resistor-cube_0_0_1_4" = callPackage
-    ({ mkDerivation, base, comfort-array, lapack }:
-     mkDerivation {
-       pname = "resistor-cube";
        version = "0.0.1.4";
        sha256 = "1rwqbvjrvii7c47dvdp4kcfgh62v5a846wklx9z6iz555dhyk2y9";
        isLibrary = false;
@@ -235204,7 +231756,6 @@ self: {
        executableHaskellDepends = [ base comfort-array lapack ];
        description = "Compute total resistance of a cube of resistors";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "resolv_0_1_1_2" = callPackage
@@ -235457,6 +232008,7 @@ self: {
        description = "process and route HTTP requests and generate responses on top of WAI";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "rest-client" = callPackage
@@ -235890,6 +232442,8 @@ self: {
        pname = "retrie";
        version = "1.1.0.0";
        sha256 = "148d1pl52mac4mz4pl9qmmynjjbzygg4x6vlsyblb268drcjn3f8";
+       revision = "1";
+       editedCabalFile = "1v2x7n71vvhpybmzqlxg5bqg7ac5zqx1q4ji342xgmy2dfjq29d3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -235919,6 +232473,8 @@ self: {
        pname = "retrie";
        version = "1.2.0.1";
        sha256 = "1n3g9wr45xz1q2mhlj1r2709rqakczrvd7x6vxh7iapz43f69c6x";
+       revision = "1";
+       editedCabalFile = "0dx1gxf2c88rzd1z83lmvgpbv8xny9yz8px4cjjpnmlrah1fmmqh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -235982,43 +232538,22 @@ self: {
 
   "retry" = callPackage
     ({ mkDerivation, base, exceptions, ghc-prim, hedgehog, HUnit, mtl
-     , random, stm, tasty, tasty-hedgehog, tasty-hunit, time
-     , transformers
-     }:
-     mkDerivation {
-       pname = "retry";
-       version = "0.8.1.2";
-       sha256 = "0nwyis42xpmxfw8nz8qn59r3v7q0dkfzkzkhllgn30cdjbbmwhf5";
-       libraryHaskellDepends = [
-         base exceptions ghc-prim random transformers
-       ];
-       testHaskellDepends = [
-         base exceptions ghc-prim hedgehog HUnit mtl random stm tasty
-         tasty-hedgehog tasty-hunit time transformers
-       ];
-       description = "Retry combinators for monadic actions that may fail";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "retry_0_9_1_0" = callPackage
-    ({ mkDerivation, base, exceptions, ghc-prim, hedgehog, HUnit, mtl
-     , random, stm, tasty, tasty-hedgehog, tasty-hunit, time
+     , mtl-compat, random, stm, tasty, tasty-hedgehog, tasty-hunit, time
      , transformers
      }:
      mkDerivation {
        pname = "retry";
-       version = "0.9.1.0";
-       sha256 = "1scrkd6bd061h8s4d7sjs21m2ydz2mxiw95gs72rliikh2k3cj7v";
+       version = "0.9.2.0";
+       sha256 = "1w0mlv62hrx2bi25szycg180k3mz8r9rhy53ycq0kadb8h1sw5hy";
        libraryHaskellDepends = [
-         base exceptions ghc-prim random transformers
+         base exceptions ghc-prim mtl mtl-compat random transformers
        ];
        testHaskellDepends = [
-         base exceptions ghc-prim hedgehog HUnit mtl random stm tasty
-         tasty-hedgehog tasty-hunit time transformers
+         base exceptions ghc-prim hedgehog HUnit mtl mtl-compat random stm
+         tasty tasty-hedgehog tasty-hunit time transformers
        ];
        description = "Retry combinators for monadic actions that may fail";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "retryer" = callPackage
@@ -236245,7 +232780,6 @@ self: {
        description = "Robert Fischer's Common library";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "rfc-env" = callPackage
@@ -236477,8 +233011,8 @@ self: {
      }:
      mkDerivation {
        pname = "rhine";
-       version = "0.7.0";
-       sha256 = "1qnwz48ji3vsb9f44xvidhq6z1p7q06g3k8v7cnbxc54zav076p2";
+       version = "0.7.1";
+       sha256 = "1pgmbb1l3qf4gm7hb5vic5r85qrq2spzb0r1jniw12sq0jb113dp";
        libraryHaskellDepends = [
          base containers deepseq dunai free MonadRandom random
          simple-affine-space time transformers vector-sized
@@ -236492,8 +233026,8 @@ self: {
     ({ mkDerivation, base, dunai, gloss, rhine, transformers }:
      mkDerivation {
        pname = "rhine-gloss";
-       version = "0.7.0";
-       sha256 = "1ldaw9ijd9kcn1x5cd5ch9yz95sb671np4aaa6mqa4sf8w4yjl0m";
+       version = "0.7.1";
+       sha256 = "0xy135nqjrzqxyvcma7mqp05plfw8xhl9qn827wswrqy8wcg85pm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base dunai gloss rhine transformers ];
@@ -236687,7 +233221,6 @@ self: {
        description = "api extensions for nvim-hs";
        license = "BSD-2-Clause-Patent";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ribosome-root" = callPackage
@@ -236771,23 +233304,25 @@ self: {
      }) {};
 
   "ridley" = callPackage
-    ({ mkDerivation, async, base, bytestring, containers, ekg-core
-     , ekg-prometheus-adapter, http-client, inline-c, katip, microlens
-     , microlens-th, mtl, process, prometheus, raw-strings-qq, shelly
-     , string-conv, tasty, tasty-hunit, tasty-quickcheck
-     , template-haskell, text, time, transformers, unix, vector
-     , wai-middleware-metrics
+    ({ mkDerivation, async, auto-update, base, bytestring, containers
+     , ekg-core, ekg-prometheus-adapter, http-client, inline-c, katip
+     , microlens, microlens-th, mtl, process, prometheus, raw-strings-qq
+     , safe-exceptions, shelly, string-conv, tasty, tasty-hunit
+     , tasty-quickcheck, template-haskell, text, time, transformers
+     , unix, vector, wai-middleware-metrics
      }:
      mkDerivation {
        pname = "ridley";
-       version = "0.3.2.1";
-       sha256 = "14k7cmbcwqxf4d7r6yz77wpj88q3v9vx90agx16wd8dk1zzmcbx5";
+       version = "0.3.3.0";
+       sha256 = "060nnwhrpk77d97plg2wz9yk8q8adl5b7wj159mdq249jsx7hw24";
+       isLibrary = true;
+       isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         async base containers ekg-core ekg-prometheus-adapter inline-c
-         katip microlens microlens-th mtl process prometheus raw-strings-qq
-         shelly string-conv template-haskell text time transformers unix
-         vector wai-middleware-metrics
+         async auto-update base containers ekg-core ekg-prometheus-adapter
+         inline-c katip microlens microlens-th mtl process prometheus
+         raw-strings-qq safe-exceptions shelly string-conv template-haskell
+         text time transformers unix vector wai-middleware-metrics
        ];
        testHaskellDepends = [
          base bytestring containers ekg-core ekg-prometheus-adapter
@@ -236806,8 +233341,8 @@ self: {
      }:
      mkDerivation {
        pname = "ridley-extras";
-       version = "0.1.1.0";
-       sha256 = "1syqjc1002cxdk8bsa3k2c232dkmhlw9r4bi5h68a0ddvi86x0ha";
+       version = "0.1.2.0";
+       sha256 = "086wsj7xsxk8wzj2f6hc7qhklf3mm3swanhddhjvwj0fnnw5fha4";
        libraryHaskellDepends = [
          base ekg-prometheus-adapter microlens mtl prometheus ridley shelly
          text transformers
@@ -236883,6 +233418,8 @@ self: {
        testHaskellDepends = [ base hspec QuickCheck ];
        description = "A mid-level wrapper for vega-lite";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ring-buffer" = callPackage
@@ -237175,6 +233712,8 @@ self: {
        ];
        description = "Parses and renders RISON strings";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "rivers" = callPackage
@@ -237635,8 +234174,6 @@ self: {
        ];
        description = "Haskell bindings to RocksDB";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) rocksdb;};
 
   "rocksdb-haskell-jprupp" = callPackage
@@ -237791,8 +234328,6 @@ self: {
        ];
        description = "error tracking through rollbar.com";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "rollbar-cli" = callPackage
@@ -237990,6 +234525,8 @@ self: {
        benchmarkHaskellDepends = [ base criterion deepseq integer-gmp ];
        description = "RON";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ron-rdt" = callPackage
@@ -238007,7 +234544,6 @@ self: {
        description = "Replicated Data Types (RON-RDT)";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ron-schema" = callPackage
@@ -238123,6 +234659,7 @@ self: {
        ];
        description = "Query the namecoin blockchain";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "rose" = callPackage
@@ -238383,6 +234920,7 @@ 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
@@ -238572,6 +235110,8 @@ 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
@@ -238630,38 +235170,6 @@ self: {
      }:
      mkDerivation {
        pname = "rp-tree";
-       version = "0.6";
-       sha256 = "0ww3ckf1bq24p4d52mip6mxxk0z65p3pq7d4a1xy8yalsjhyyl0h";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base boxes bytestring conduit containers deepseq heaps mtl
-         serialise splitmix splitmix-distributions text transformers vector
-         vector-algorithms
-       ];
-       executableHaskellDepends = [
-         base conduit containers splitmix splitmix-distributions
-         transformers vector
-       ];
-       testHaskellDepends = [
-         base conduit hspec QuickCheck splitmix-distributions
-       ];
-       benchmarkHaskellDepends = [
-         base benchpress conduit deepseq splitmix splitmix-distributions
-         transformers vector
-       ];
-       description = "Random projection trees";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "rp-tree_0_7_1" = callPackage
-    ({ mkDerivation, base, benchpress, boxes, bytestring, conduit
-     , containers, deepseq, heaps, hspec, mtl, QuickCheck, serialise
-     , splitmix, splitmix-distributions, text, transformers, vector
-     , vector-algorithms
-     }:
-     mkDerivation {
-       pname = "rp-tree";
        version = "0.7.1";
        sha256 = "01iy2awnwqgfqyigpggj6gfig930lx655bih1a2hd5ga2fbrymmp";
        isLibrary = true;
@@ -238684,7 +235192,6 @@ self: {
        ];
        description = "Random projection trees";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "rpc" = callPackage
@@ -238799,8 +235306,8 @@ self: {
      }) {};
 
   "rrb-vector" = callPackage
-    ({ mkDerivation, base, deepseq, ghc-heap-view, indexed-traversable
-     , primitive, tasty, tasty-bench, tasty-quickcheck
+    ({ mkDerivation, base, deepseq, indexed-traversable, primitive
+     , tasty, tasty-bench, tasty-quickcheck
      }:
      mkDerivation {
        pname = "rrb-vector";
@@ -238810,8 +235317,7 @@ self: {
          base deepseq indexed-traversable primitive
        ];
        testHaskellDepends = [
-         base deepseq ghc-heap-view indexed-traversable tasty
-         tasty-quickcheck
+         base deepseq indexed-traversable tasty tasty-quickcheck
        ];
        benchmarkHaskellDepends = [ base primitive tasty-bench ];
        description = "Efficient RRB-Vectors";
@@ -238920,13 +235426,11 @@ self: {
        pname = "rss";
        version = "3000.2.0.7";
        sha256 = "0z48xb610k1h29rg03q19y08fp78agxp2gr48innw5y3rz00s6ym";
-       revision = "3";
-       editedCabalFile = "02jbnl7y76ahjdj2bciyjwgcglfs7sy60733z5c8610rk34f99dy";
+       revision = "4";
+       editedCabalFile = "10gn0rqbg3ffsz9c87d0baq27vzvcq7gbqdijhp7s2wl5w70yff2";
        libraryHaskellDepends = [ base HaXml network network-uri time ];
        description = "A library for generating RSS 2.0 feeds.";
        license = lib.licenses.publicDomain;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "rss-conduit" = callPackage
@@ -239298,8 +235802,20 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "A collection of explicit Runge-Kutta methods of various orders";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
+     }) {};
+
+  "rungekutta2" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "rungekutta2";
+       version = "1.0.3";
+       sha256 = "1mg2im5xxgbybzy7cafg467378bn8a8jzvcwlc9zf1lkmlqbg63q";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base ];
+       executableHaskellDepends = [ base ];
+       description = "Explicit Runge-Kutta methods of various orders (fork of 'rungekutta')";
+       license = lib.licenses.bsd3;
      }) {};
 
   "runghc" = callPackage
@@ -239397,18 +235913,19 @@ self: {
        benchmarkHaskellDepends = [ base criterion ];
        description = "RISC-V";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "rvar" = callPackage
-    ({ mkDerivation, base, MonadPrompt, mtl, random-source
+    ({ mkDerivation, base, bytestring, MonadPrompt, mtl, random
      , transformers
      }:
      mkDerivation {
        pname = "rvar";
-       version = "0.2.0.6";
-       sha256 = "1lwcmv3x3v7sjxkil7754sh085y5r5h9zkca39czjhyyzxsqiq81";
+       version = "0.3.0.0";
+       sha256 = "1lj30nl4a8fkjk88p3vdxcwwvgnqm14m8xikrx4lahh9xy6vybjn";
        libraryHaskellDepends = [
-         base MonadPrompt mtl random-source transformers
+         base bytestring MonadPrompt mtl random transformers
        ];
        description = "Random Variables";
        license = lib.licenses.publicDomain;
@@ -239463,6 +235980,8 @@ self: {
        executableHaskellDepends = [ aeson base ];
        description = "Pipe interface for Rizin";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "s-cargot" = callPackage
@@ -239614,6 +236133,7 @@ self: {
        ];
        testToolDepends = [ sydtest-discover ];
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "safe-coloured-text-layout" = callPackage
@@ -239631,6 +236151,7 @@ self: {
        testToolDepends = [ sydtest-discover ];
        description = "Safely layout output coloured text";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "safe-coloured-text-layout-gen" = callPackage
@@ -239651,6 +236172,7 @@ self: {
        ];
        testToolDepends = [ sydtest-discover ];
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "safe-coloured-text-terminfo" = callPackage
@@ -239664,6 +236186,28 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "safe-coupling" = callPackage
+    ({ mkDerivation, HUnit, liquid-base, liquid-containers
+     , liquid-prelude, liquidhaskell, probability, sort, tasty
+     , tasty-discover, tasty-hunit
+     }:
+     mkDerivation {
+       pname = "safe-coupling";
+       version = "0.1.0.0";
+       sha256 = "1hcx4z7i6r7bldkrsyy407l171c0kwkdwxj7cwb9pkfbp6q3jbvz";
+       libraryHaskellDepends = [
+         liquid-base liquid-containers liquid-prelude liquidhaskell
+         probability
+       ];
+       testHaskellDepends = [
+         HUnit liquid-base probability sort tasty tasty-hunit
+       ];
+       testToolDepends = [ tasty-discover ];
+       description = "Relational proof system for probabilistic algorithms";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "safe-decimal" = callPackage
     ({ mkDerivation, base, deepseq, doctest, exceptions, hspec
      , hspec-discover, QuickCheck, scientific
@@ -239782,10 +236326,8 @@ self: {
      }:
      mkDerivation {
        pname = "safe-json";
-       version = "1.1.2.0";
-       sha256 = "1908s40l6chnxlxnqmn95p8hvr5jbjm8hm5dnjbq7czxpw22x7s2";
-       revision = "1";
-       editedCabalFile = "0276r8ic9yl805nx681ws0x5m1kdl162dc0rshqa24z33i4a09mx";
+       version = "1.1.3.1";
+       sha256 = "1rwjlyw0ps29ks2lzji0pi0mz86ma5x0zyhpc1xg740s5592rjf9";
        libraryHaskellDepends = [
          aeson base bytestring containers dlist hashable scientific tasty
          tasty-hunit tasty-quickcheck text time unordered-containers
@@ -239967,7 +236509,6 @@ self: {
        description = "A small wrapper over hs-plugins to allow loading safe plugins";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "safe-printf" = callPackage
@@ -240004,6 +236545,8 @@ self: {
        ];
        description = "Dependently typed tensor algebra";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "safe-wild-cards" = callPackage
@@ -240028,8 +236571,8 @@ self: {
        pname = "safecopy";
        version = "0.10.4.2";
        sha256 = "0r2mf0p82gf8vnldx477b5ykrj1x7hyg13nqfn6gzb50japs6h3i";
-       revision = "1";
-       editedCabalFile = "1lah4m6rjq08bj5sfwh6azw2srrz2n68zmmp7vimxrhakvf3fpm4";
+       revision = "4";
+       editedCabalFile = "0k7kivfkaqv9py5358pk76v6vf39s4hipmdxnwn6jq0kc7zr3ddc";
        libraryHaskellDepends = [
          array base bytestring cereal containers generic-data old-time
          template-haskell text time transformers vector
@@ -240285,6 +236828,8 @@ self: {
        ];
        description = "Haskell representation of messages exchanged on the sakura.io platform.";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "salak" = callPackage
@@ -240430,25 +236975,12 @@ self: {
     ({ mkDerivation, base, HUnit }:
      mkDerivation {
        pname = "salve";
-       version = "1.0.11";
-       sha256 = "00haa87rpwhy89zg31k0fwizg97i65kqx5gzikm4fjxr7j8ds1xb";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base HUnit ];
-       description = "Semantic version numbers and constraints";
-       license = lib.licenses.mit;
-     }) {};
-
-  "salve_2_0_0_0" = callPackage
-    ({ mkDerivation, base, HUnit }:
-     mkDerivation {
-       pname = "salve";
        version = "2.0.0.0";
        sha256 = "0ddja5py6wjxvlc9340v0z9qh7b59vfp81hz882nfq0c0d2bdna5";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base HUnit ];
        description = "Semantic version numbers and constraints";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "salvia" = callPackage
@@ -240866,6 +237398,7 @@ self: {
        ];
        description = "Sandwich integration with Selenium WebDriver";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "sarasvati" = callPackage
@@ -241074,6 +237607,8 @@ self: {
        ];
        description = "Step-by-step SAT solver for educational purposes";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "savage" = callPackage
@@ -241155,8 +237690,8 @@ self: {
      }:
      mkDerivation {
        pname = "sbp";
-       version = "2.6.3";
-       sha256 = "03d2wa73lg5l417c39di742x5x00bjjbqp7wkyr2vkpy04ilqvii";
+       version = "4.1.1";
+       sha256 = "18nhbxq2d07a0hnrb3acm1yi8hlyi84wnia2fc6p1lw9nmlrkzbv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -241166,14 +237701,14 @@ self: {
        ];
        executableHaskellDepends = [
          aeson aeson-pretty base basic-prelude binary-conduit bytestring
-         cmdargs conduit conduit-extra resourcet time yaml
+         cmdargs conduit conduit-extra lens resourcet time yaml
        ];
        testHaskellDepends = [ base basic-prelude tasty tasty-hunit ];
        description = "SwiftNav's SBP Library";
-       license = lib.licenses.lgpl3Only;
+       license = lib.licenses.mit;
      }) {};
 
-  "sbp_4_1_1" = callPackage
+  "sbp_4_1_5" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, array, base
      , base64-bytestring, basic-prelude, binary, binary-conduit
      , bytestring, cmdargs, conduit, conduit-extra, data-binary-ieee754
@@ -241182,8 +237717,8 @@ self: {
      }:
      mkDerivation {
        pname = "sbp";
-       version = "4.1.1";
-       sha256 = "18nhbxq2d07a0hnrb3acm1yi8hlyi84wnia2fc6p1lw9nmlrkzbv";
+       version = "4.1.5";
+       sha256 = "1f3i50i4mfxi8y5akg3kncgkwx2wflcgsv7rzxccd75bv3ynk45z";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -241258,39 +237793,6 @@ self: {
      }:
      mkDerivation {
        pname = "sbv";
-       version = "8.15";
-       sha256 = "11qzh2gfq9v8cxz6jjbipnfiwjs0hw34ghg5gdpr0h7bj77in30p";
-       revision = "1";
-       editedCabalFile = "16bbwp94hzwgj0im1rd106hbz3hx2wymq43r8pcqpcxd439wwmv3";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         array async base containers deepseq directory filepath libBF mtl
-         pretty process QuickCheck random syb template-haskell text time
-         transformers uniplate
-       ];
-       testHaskellDepends = [
-         base bytestring containers directory doctest filepath Glob hlint
-         mtl QuickCheck random tasty tasty-golden tasty-hunit
-         tasty-quickcheck
-       ];
-       testSystemDepends = [ z3 ];
-       benchmarkHaskellDepends = [
-         base bench-show containers deepseq directory filepath gauge mtl
-         process random silently syb text time
-       ];
-       description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving";
-       license = lib.licenses.bsd3;
-     }) {inherit (pkgs) z3;};
-
-  "sbv_8_17" = callPackage
-    ({ mkDerivation, array, async, base, bench-show, bytestring
-     , containers, deepseq, directory, doctest, filepath, gauge, Glob
-     , hlint, libBF, mtl, pretty, process, QuickCheck, random, silently
-     , syb, tasty, tasty-golden, tasty-hunit, tasty-quickcheck
-     , template-haskell, text, time, transformers, uniplate, z3
-     }:
-     mkDerivation {
-       pname = "sbv";
        version = "8.17";
        sha256 = "0l9dwydrjipgq3cbv0g6y820mi7lf5lcn3hidl6a60zzdrkfyxhd";
        revision = "1";
@@ -241313,7 +237815,6 @@ self: {
        ];
        description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) z3;};
 
   "sbvPlugin" = callPackage
@@ -241475,6 +237976,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "SCALE v2.0 codec for Haskell Web3 library.";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "scaleimage" = callPackage
@@ -241619,6 +238122,7 @@ self: {
        ];
        description = "Metadata types for Albedo Scanners";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "scan-vector-machine" = callPackage
@@ -241673,8 +238177,6 @@ self: {
        testHaskellDepends = [ attoparsec base bytestring hspec scanner ];
        description = "Inject attoparsec parser with backtracking into non-backtracking scanner";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "scat" = callPackage
@@ -241752,8 +238254,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Scene Graph";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "scgi" = callPackage
@@ -241789,7 +238289,6 @@ self: {
        description = "Marge schedules and show EVR";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "schedule" = callPackage
@@ -241811,6 +238310,8 @@ self: {
        ];
        description = "Pure deterministic scheduled computations";
        license = lib.licenses.gpl3Plus;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "schedule-planner" = callPackage
@@ -241835,26 +238336,6 @@ self: {
      }) {};
 
   "scheduler" = callPackage
-    ({ mkDerivation, atomic-primops, base, deepseq, doctest, exceptions
-     , genvalidity-hspec, hspec, mwc-random, primitive, pvar, QuickCheck
-     , template-haskell, unliftio, unliftio-core, vector
-     }:
-     mkDerivation {
-       pname = "scheduler";
-       version = "1.5.0";
-       sha256 = "19sgc3ydbjjlgd6jh9pqfxv3gq1mbgaicshf7kbj5yf5cnimq5vp";
-       libraryHaskellDepends = [
-         atomic-primops base deepseq exceptions primitive pvar unliftio-core
-       ];
-       testHaskellDepends = [
-         base deepseq doctest genvalidity-hspec hspec mwc-random QuickCheck
-         template-haskell unliftio vector
-       ];
-       description = "Work stealing scheduler";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "scheduler_2_0_0_1" = callPackage
     ({ mkDerivation, atomic-primops, base, deepseq, exceptions
      , genvalidity-hspec, hspec, hspec-discover, primitive, pvar
      , QuickCheck, unliftio, unliftio-core
@@ -241872,7 +238353,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Work stealing scheduler";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "scheduling" = callPackage
@@ -241896,6 +238376,7 @@ self: {
        ];
        description = "An interview scheduler using constraint satisfaction and Google Sheets";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "schedyield" = callPackage
@@ -241912,18 +238393,21 @@ self: {
      }) {};
 
   "schema" = callPackage
-    ({ mkDerivation, base, groom, hspec, msgpack-binary, QuickCheck }:
+    ({ mkDerivation, ansi-wl-pprint, base, bytestring, casing, data-fix
+     , groom, hspec, hspec-discover, QuickCheck, split
+     , transformers-compat
+     }:
      mkDerivation {
        pname = "schema";
-       version = "0.0.2";
-       sha256 = "0wzihrcjx6bha6yibsghcl0l3r3bwcsmnidbm072c16sppbglbqh";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [
-         base groom hspec msgpack-binary QuickCheck
+       version = "0.0.3";
+       sha256 = "0x2s70dkq3330g5gnjzxhyav43ql60ya4pqsxi541za42q3g1sry";
+       libraryHaskellDepends = [
+         ansi-wl-pprint base casing data-fix split transformers-compat
        ];
+       testHaskellDepends = [ base bytestring groom hspec QuickCheck ];
+       testToolDepends = [ hspec-discover ];
        description = "Encoding-independent schemas for Haskell data types";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "schemas" = callPackage
@@ -242187,8 +238671,8 @@ self: {
 
   "scientific" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, criterion
-     , deepseq, hashable, integer-gmp, integer-logarithms, primitive
-     , QuickCheck, smallcheck, tasty, tasty-hunit, tasty-quickcheck
+     , deepseq, hashable, integer-logarithms, primitive, QuickCheck
+     , smallcheck, tasty, tasty-hunit, tasty-quickcheck
      , tasty-smallcheck, template-haskell, text
      }:
      mkDerivation {
@@ -242198,7 +238682,7 @@ self: {
        revision = "2";
        editedCabalFile = "01vmr4pz1j0xjcln61m7gng6bzhgri56h05x7sl6xbxjps15likn";
        libraryHaskellDepends = [
-         base binary bytestring containers deepseq hashable integer-gmp
+         base binary bytestring containers deepseq hashable
          integer-logarithms primitive template-haskell text
        ];
        testHaskellDepends = [
@@ -242214,14 +238698,15 @@ self: {
     ({ mkDerivation, aeson, attoparsec, base, bytebuild, byteslice
      , bytesmith, bytestring, gauge, natural-arithmetic, primitive
      , QuickCheck, run-st, scientific, tasty, tasty-hunit
-     , tasty-quickcheck
+     , tasty-quickcheck, text-short
      }:
      mkDerivation {
        pname = "scientific-notation";
-       version = "0.1.3.0";
-       sha256 = "1sdqyf3538n2yz29p2b4jvafa9vlgmr3aqn2x4hifmjx0176xm03";
+       version = "0.1.4.0";
+       sha256 = "0s20n1ckk333g6avi4n3lskczya61apv2177y7bzx3vn2wk7cdy0";
        libraryHaskellDepends = [
-         base bytebuild bytesmith natural-arithmetic
+         base bytebuild byteslice bytesmith bytestring natural-arithmetic
+         primitive text-short
        ];
        testHaskellDepends = [
          base bytebuild byteslice bytesmith bytestring primitive QuickCheck
@@ -242480,7 +238965,6 @@ self: {
        description = "Fay integration for Scotty";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "scotty-form" = callPackage
@@ -242542,6 +239026,7 @@ self: {
        libraryHaskellDepends = [ base haxl scotty text ];
        description = "Combine scotty and haxl";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "scotty-params-parser" = callPackage
@@ -242666,6 +239151,7 @@ self: {
        ];
        description = "Scotty utils library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "scotty-view" = callPackage
@@ -243010,6 +239496,7 @@ self: {
        description = "Distributed SDE solver";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "sdf2p1-parser" = callPackage
@@ -243063,14 +239550,14 @@ self: {
        license = lib.licenses.bsd3;
      }) {inherit (pkgs) SDL2;};
 
-  "sdl2_2_5_3_1" = callPackage
+  "sdl2_2_5_3_2" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, exceptions, linear
      , SDL2, StateVar, text, transformers, vector, weigh
      }:
      mkDerivation {
        pname = "sdl2";
-       version = "2.5.3.1";
-       sha256 = "1lnscy9vc3h9fhh65iq60kma79q4pkb00r8lqx8i3ax2v53yl626";
+       version = "2.5.3.2";
+       sha256 = "06v3zdfashd8f2jhrl2gfgkp7ykjsc06yvw2l4n3sy1p9xxk9q2y";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -243154,29 +239641,6 @@ self: {
      }) {};
 
   "sdl2-gfx" = callPackage
-    ({ mkDerivation, base, bytestring, lifted-base, linear
-     , monad-control, SDL2, sdl2, SDL2_gfx, template-haskell, text
-     , transformers, vector
-     }:
-     mkDerivation {
-       pname = "sdl2-gfx";
-       version = "0.2";
-       sha256 = "03f541vrp1ifn26kzakamlc5f8pr9rfcf808cp6q5mvmlsvi07lc";
-       revision = "1";
-       editedCabalFile = "1gdasf1rq7gszfhin521cni8bxfzanvssznfi8m2fkgwz6ichhpv";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring lifted-base linear monad-control sdl2
-         template-haskell text transformers vector
-       ];
-       libraryPkgconfigDepends = [ SDL2 SDL2_gfx ];
-       executableHaskellDepends = [ base linear sdl2 vector ];
-       description = "Bindings to SDL2_gfx";
-       license = lib.licenses.mit;
-     }) {inherit (pkgs) SDL2; inherit (pkgs) SDL2_gfx;};
-
-  "sdl2-gfx_0_3_0_0" = callPackage
     ({ mkDerivation, base, lifted-base, monad-control, SDL2, sdl2
      , SDL2_gfx, template-haskell, vector
      }:
@@ -243196,32 +239660,10 @@ self: {
        executablePkgconfigDepends = [ SDL2 SDL2_gfx ];
        description = "Haskell bindings to SDL2_gfx";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) SDL2; inherit (pkgs) SDL2_gfx;};
 
   "sdl2-image" = callPackage
     ({ mkDerivation, base, bytestring, SDL2, sdl2, SDL2_image
-     , template-haskell, text, transformers
-     }:
-     mkDerivation {
-       pname = "sdl2-image";
-       version = "2.0.0";
-       sha256 = "1pr6dkg73cy9z0w54lrkj9c5bhxj56nl92lxikjy8kz6nyr455rr";
-       revision = "1";
-       editedCabalFile = "0471p3d1ws5n7r072xgk38n3vzs6ijjkmpv1r05vxn6qninlnq6m";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring sdl2 template-haskell text transformers
-       ];
-       libraryPkgconfigDepends = [ SDL2 SDL2_image ];
-       executableHaskellDepends = [ base sdl2 text ];
-       description = "Bindings to SDL2_image";
-       license = lib.licenses.mit;
-     }) {inherit (pkgs) SDL2; inherit (pkgs) SDL2_image;};
-
-  "sdl2-image_2_1_0_0" = callPackage
-    ({ mkDerivation, base, bytestring, SDL2, sdl2, SDL2_image
      , template-haskell, text
      }:
      mkDerivation {
@@ -243240,7 +239682,6 @@ self: {
        executablePkgconfigDepends = [ SDL2 SDL2_image ];
        description = "Haskell bindings to SDL2_image";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) SDL2; inherit (pkgs) SDL2_image;};
 
   "sdl2-mixer" = callPackage
@@ -243249,31 +239690,6 @@ self: {
      }:
      mkDerivation {
        pname = "sdl2-mixer";
-       version = "1.1.0";
-       sha256 = "1k8avyccq5l9z7bwxigim312yaancxl1sr3q6a96bcm7pnhiak0g";
-       revision = "1";
-       editedCabalFile = "06h708gbvl5z590p6fn10ck6yxjzyjjbmvk6mxcwgygbj76sw2f8";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring data-default-class lifted-base monad-control sdl2
-         template-haskell vector
-       ];
-       librarySystemDepends = [ SDL2_mixer ];
-       libraryPkgconfigDepends = [ SDL2_mixer ];
-       description = "Bindings to SDL2_mixer";
-       license = lib.licenses.bsd3;
-       platforms = [
-         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
-       ];
-     }) {inherit (pkgs) SDL2_mixer;};
-
-  "sdl2-mixer_1_2_0_0" = callPackage
-    ({ mkDerivation, base, bytestring, data-default-class, lifted-base
-     , monad-control, sdl2, SDL2_mixer, template-haskell, vector
-     }:
-     mkDerivation {
-       pname = "sdl2-mixer";
        version = "1.2.0.0";
        sha256 = "16fgnxq2nmifbz3lrr7dn1qj57l5f2kzv124lya1fjaxmwk1h52q";
        isLibrary = true;
@@ -243292,7 +239708,6 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) SDL2_mixer;};
 
   "sdl2-sprite" = callPackage
@@ -243625,6 +240040,8 @@ self: {
        testHaskellDepends = [ base directory doctest filepath ];
        description = "Infinite search in finite time with Hilbert's epsilon";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "search-algorithms" = callPackage
@@ -243753,33 +240170,6 @@ self: {
      }) {inherit (pkgs) secp256k1;};
 
   "secp256k1-haskell" = callPackage
-    ({ mkDerivation, base, base16-bytestring, bytestring, cereal
-     , deepseq, entropy, hashable, hspec, hspec-discover, HUnit
-     , monad-par, mtl, QuickCheck, secp256k1, string-conversions
-     , unliftio-core
-     }:
-     mkDerivation {
-       pname = "secp256k1-haskell";
-       version = "0.5.0";
-       sha256 = "18mp6ljqwrymvk5gl7v09xq0r7c2fhkvjfs8gdlzwgql35di5g7d";
-       libraryHaskellDepends = [
-         base base16-bytestring bytestring cereal deepseq entropy hashable
-         QuickCheck string-conversions unliftio-core
-       ];
-       libraryPkgconfigDepends = [ secp256k1 ];
-       testHaskellDepends = [
-         base base16-bytestring bytestring cereal deepseq entropy hashable
-         hspec HUnit monad-par mtl QuickCheck string-conversions
-         unliftio-core
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Bindings for secp256k1";
-       license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {inherit (pkgs) secp256k1;};
-
-  "secp256k1-haskell_0_6_0" = callPackage
     ({ mkDerivation, base, base16, bytestring, cereal, deepseq, entropy
      , hashable, hspec, hspec-discover, HUnit, monad-par, mtl
      , QuickCheck, secp256k1, string-conversions, unliftio-core
@@ -243800,8 +240190,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Bindings for secp256k1";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) secp256k1;};
 
   "secp256k1-legacy" = callPackage
@@ -244020,6 +240408,8 @@ self: {
        libraryHaskellDepends = [ aeson base bytestring selda text ];
        description = "JSON support for the Selda database library";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "selda-postgresql" = callPackage
@@ -244038,6 +240428,7 @@ self: {
        ];
        description = "PostgreSQL backend for the Selda database EDSL";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "selda-sqlite" = callPackage
@@ -244081,23 +240472,6 @@ self: {
      }) {};
 
   "selective" = callPackage
-    ({ mkDerivation, base, containers, mtl, QuickCheck, tasty
-     , tasty-expected-failure, tasty-quickcheck, transformers
-     }:
-     mkDerivation {
-       pname = "selective";
-       version = "0.4.2";
-       sha256 = "1mg5hnr3f4zjh3ajy16jkxj630rnfa9iqnnmpjqd9gkjdxpssd5l";
-       libraryHaskellDepends = [ base containers transformers ];
-       testHaskellDepends = [
-         base containers mtl QuickCheck tasty tasty-expected-failure
-         tasty-quickcheck transformers
-       ];
-       description = "Selective applicative functors";
-       license = lib.licenses.mit;
-     }) {};
-
-  "selective_0_5" = callPackage
     ({ mkDerivation, base, containers, QuickCheck, transformers }:
      mkDerivation {
        pname = "selective";
@@ -244107,7 +240481,6 @@ self: {
        testHaskellDepends = [ base containers QuickCheck transformers ];
        description = "Selective applicative functors";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "selectors" = callPackage
@@ -244224,8 +240597,8 @@ self: {
      }:
      mkDerivation {
        pname = "semantic-source";
-       version = "0.1.0.1";
-       sha256 = "1v4q9yc91lrx02wdhxp1njzm8g9qlwr40593lwcn6bxlad5sk6yd";
+       version = "0.1.0.2";
+       sha256 = "09p840kc620pxp0x5fqvjh2ixkk581yn6frb2yd522p6nkdvi5wr";
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq hashable lingo pathtype
          semilattices text
@@ -244236,7 +240609,6 @@ self: {
        description = "Types and functionality for working with source code";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "semaphore-plus" = callPackage
@@ -244289,22 +240661,6 @@ self: {
      }) {};
 
   "semialign" = callPackage
-    ({ mkDerivation, base, containers, hashable, semigroupoids, tagged
-     , these, transformers, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "semialign";
-       version = "1.1.0.1";
-       sha256 = "11qs4imy3cq4cx9mm6g30r6qk3rngqrmz7lkl5379gs1yvgvs44q";
-       libraryHaskellDepends = [
-         base containers hashable semigroupoids tagged these transformers
-         unordered-containers vector
-       ];
-       description = "Align and Zip type-classes from the common Semialign ancestor";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "semialign_1_2_0_1" = callPackage
     ({ mkDerivation, base, containers, hashable, indexed-traversable
      , indexed-traversable-instances, semigroupoids, tagged, these
      , transformers, unordered-containers, vector
@@ -244322,7 +240678,6 @@ self: {
        ];
        description = "Align and Zip type-classes from the common Semialign ancestor";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "semialign-extras" = callPackage
@@ -244346,24 +240701,6 @@ self: {
      }) {};
 
   "semialign-indexed" = callPackage
-    ({ mkDerivation, base, containers, hashable, lens, semialign, these
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "semialign-indexed";
-       version = "1.1";
-       sha256 = "1b6amfhwk968ah56w8vala3hbpzf9mfza2ajhdnvzcdiyqyxvwb0";
-       revision = "2";
-       editedCabalFile = "0vmvmnmb79cc11rbl136z74yyb16klswpx38ayxal8m52lyggqpv";
-       libraryHaskellDepends = [
-         base containers hashable lens semialign these unordered-containers
-         vector
-       ];
-       description = "SemialignWithIndex, i.e. izipWith and ialignWith";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "semialign-indexed_1_2" = callPackage
     ({ mkDerivation, base, lens, semialign }:
      mkDerivation {
        pname = "semialign-indexed";
@@ -244373,28 +240710,9 @@ self: {
        doHaddock = false;
        description = "SemialignWithIndex, i.e. izipWith and ialignWith";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "semialign-optics" = callPackage
-    ({ mkDerivation, base, containers, hashable, optics-extra
-     , semialign, these, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "semialign-optics";
-       version = "1.1";
-       sha256 = "1ffibnk1hsdnny5jm85j07f05k81pzzai4jljlj12nn687rbb59y";
-       revision = "2";
-       editedCabalFile = "011kjr5ya0s7l1dic7gvzvgvps02rn033125v8c9r9dp2mlgyjam";
-       libraryHaskellDepends = [
-         base containers hashable optics-extra semialign these
-         unordered-containers vector
-       ];
-       description = "SemialignWithIndex, i.e. izipWith and ialignWith";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "semialign-optics_1_2" = callPackage
     ({ mkDerivation, base, optics-core, semialign }:
      mkDerivation {
        pname = "semialign-optics";
@@ -244406,7 +240724,6 @@ self: {
        doHaddock = false;
        description = "SemialignWithIndex, i.e. izipWith and ialignWith";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "semibounded-lattices" = callPackage
@@ -244462,8 +240779,6 @@ self: {
        libraryHaskellDepends = [ base semigroupoids ];
        description = "Support for QualifiedDo with semigroupoids classes";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "semigroupoids-syntax" = callPackage
@@ -244889,6 +241204,8 @@ self: {
        ];
        description = "A data type with elements separated by values";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "seqaid" = callPackage
@@ -245027,10 +241344,31 @@ self: {
      }:
      mkDerivation {
        pname = "sequence-formats";
-       version = "1.6.1";
-       sha256 = "0r2p8aap9z82yhw6gagl1h7s8v05zf6w82qzhqr6p1msv183fm2a";
-       revision = "1";
-       editedCabalFile = "1alwdzr8m41ckyipxzaamyb7j7lbz41wmxsqzz57a9z8dfvfx01j";
+       version = "1.6.3";
+       sha256 = "0ilirvbi5jzqzrpqg2b8v2w0c3pwvgcshvvp821rvcqkfl9wfvj3";
+       libraryHaskellDepends = [
+         attoparsec base bytestring containers errors exceptions foldl
+         lens-family pipes pipes-attoparsec pipes-bytestring pipes-safe
+         transformers vector
+       ];
+       testHaskellDepends = [
+         base bytestring containers foldl hspec pipes pipes-safe tasty
+         tasty-hunit transformers vector
+       ];
+       description = "A package with basic parsing utilities for several Bioinformatic data formats";
+       license = lib.licenses.gpl3Only;
+     }) {};
+
+  "sequence-formats_1_6_6_1" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers, errors
+     , exceptions, foldl, hspec, lens-family, pipes, pipes-attoparsec
+     , pipes-bytestring, pipes-safe, tasty, tasty-hunit, transformers
+     , vector
+     }:
+     mkDerivation {
+       pname = "sequence-formats";
+       version = "1.6.6.1";
+       sha256 = "0qylf0nx0g7z3wr95bza5vpmmsd4q3mvp8xsc7g2pwvsdpgxz9c9";
        libraryHaskellDepends = [
          attoparsec base bytestring containers errors exceptions foldl
          lens-family pipes pipes-attoparsec pipes-bytestring pipes-safe
@@ -245042,18 +241380,19 @@ self: {
        ];
        description = "A package with basic parsing utilities for several Bioinformatic data formats";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "sequenceTools" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, bytestring, foldl, hspec
      , lens-family, optparse-applicative, pipes, pipes-group
-     , pipes-ordered-zip, pipes-safe, random, rio, sequence-formats
-     , split, vector
+     , pipes-ordered-zip, pipes-safe, random, sequence-formats, split
+     , transformers, vector
      }:
      mkDerivation {
        pname = "sequenceTools";
-       version = "1.5.0";
-       sha256 = "0w3pk38nr0c6z0a7zpnh0kcdm7wpx7jcr0lmml56hab40filsh6c";
+       version = "1.5.2";
+       sha256 = "1fbdsyszmkgwiv06145s76m22a60xmmgrhv9xfwc1691jjwwbdl3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -245063,7 +241402,7 @@ self: {
        executableHaskellDepends = [
          ansi-wl-pprint base bytestring foldl lens-family
          optparse-applicative pipes pipes-group pipes-ordered-zip pipes-safe
-         random rio sequence-formats split vector
+         random sequence-formats split transformers vector
        ];
        testHaskellDepends = [
          base bytestring hspec pipes sequence-formats vector
@@ -245182,6 +241521,8 @@ self: {
        pname = "serialise";
        version = "0.2.4.0";
        sha256 = "07i50rza58x8j7kw9w2mhbks41gjv6xgnlgfdb0hw2cwdmkrmjqd";
+       revision = "1";
+       editedCabalFile = "0rgc0sr4csmiq38sf6x1xz6cqmp30nn8837xsfwpvcfb7kh4bqy0";
        libraryHaskellDepends = [
          array base bytestring cborg containers ghc-prim half hashable
          primitive strict text these time unordered-containers vector
@@ -245344,32 +241685,6 @@ self: {
 
   "servant" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base-compat, bifunctors
-     , bytestring, case-insensitive, deepseq, hspec, hspec-discover
-     , http-api-data, http-media, http-types, mmorph, mtl, network-uri
-     , QuickCheck, quickcheck-instances, singleton-bool, sop-core
-     , string-conversions, tagged, text, transformers, vault
-     }:
-     mkDerivation {
-       pname = "servant";
-       version = "0.18.3";
-       sha256 = "033ykm8l7a9bjcwb3v9d0ljglq1sxpjm1iss7nqakpyxljcg2sxp";
-       libraryHaskellDepends = [
-         aeson attoparsec base base-compat bifunctors bytestring
-         case-insensitive deepseq http-api-data http-media http-types mmorph
-         mtl network-uri QuickCheck singleton-bool sop-core
-         string-conversions tagged text transformers vault
-       ];
-       testHaskellDepends = [
-         aeson base base-compat bytestring hspec http-media mtl QuickCheck
-         quickcheck-instances string-conversions text transformers
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "A family of combinators for defining webservices APIs";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "servant_0_19" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base-compat, bifunctors
      , bytestring, case-insensitive, constraints, deepseq, hspec
      , hspec-discover, http-api-data, http-media, http-types, mmorph
      , mtl, network-uri, QuickCheck, quickcheck-instances
@@ -245380,6 +241695,8 @@ self: {
        pname = "servant";
        version = "0.19";
        sha256 = "1rahn436vc3xajn563ni25jqkg87fvhqkpswan1xy6qsfr0ikdjb";
+       revision = "4";
+       editedCabalFile = "0g0y6xj9wa8fl62slqfpimx2c6xadqvyqhl661pbbk3f1p11j4cd";
        libraryHaskellDepends = [
          aeson attoparsec base base-compat bifunctors bytestring
          case-insensitive constraints deepseq http-api-data http-media
@@ -245393,7 +241710,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A family of combinators for defining webservices APIs";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "servant-JuicyPixels" = callPackage
@@ -245414,8 +241730,6 @@ self: {
        ];
        description = "Servant support for JuicyPixels";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "servant-aeson-specs" = callPackage
@@ -245453,6 +241767,8 @@ self: {
        pname = "servant-auth";
        version = "0.4.1.0";
        sha256 = "08ggnlknhzdpf49zjm1qpzm12gckss7yr8chmzm6h6ycigz77ndd";
+       revision = "3";
+       editedCabalFile = "1gqg8hkq9gym3sd8xy2zij8lwrbiaqccdjkr6dyxqnnb71qm54bw";
        libraryHaskellDepends = [
          aeson base containers jose lens servant text unordered-containers
        ];
@@ -245471,8 +241787,8 @@ self: {
        pname = "servant-auth-client";
        version = "0.4.1.0";
        sha256 = "16rmwdrx0qyqa821ipayczzl3gv8gvqgx8k9q8qaw19w87hwkh83";
-       revision = "3";
-       editedCabalFile = "102p6mcafxsp41kzqzp59dm5d58r7mdhdijxnhhw25913qzi2pl3";
+       revision = "5";
+       editedCabalFile = "19y15pn7h1gv22y4yww33ri27plfwblygh5alfznsjdnmfzij3v4";
        libraryHaskellDepends = [
          base bytestring containers servant servant-auth servant-client-core
        ];
@@ -245527,8 +241843,8 @@ self: {
        pname = "servant-auth-docs";
        version = "0.2.10.0";
        sha256 = "0j1ynnrb6plrhpb2vzs2p7a9jb41llp0j1jwgap7hjhkwhyc7wxd";
-       revision = "9";
-       editedCabalFile = "0bqs4l7iwzdx0ppyh7v4b4rmy8va3p3ijknp2dc2lwj5yclzfl32";
+       revision = "10";
+       editedCabalFile = "0c77b23wxqw168sk11s897pjnq4ma4cjvw99b0ny2ggf0v83hw6n";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base lens servant servant-auth servant-docs text
@@ -245540,8 +241856,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "servant-docs/servant-auth compatibility";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "servant-auth-hmac" = callPackage
@@ -245593,6 +241907,8 @@ self: {
        pname = "servant-auth-server";
        version = "0.4.7.0";
        sha256 = "1m145xxqg1xy7i1br9yfh3avwkb30zh808nr658ljl7j2imlknj2";
+       revision = "3";
+       editedCabalFile = "0niwlkkcv9q4zqh14lv5iq04qhw45xz2p2hhb56gva7cm6yhjgas";
        libraryHaskellDepends = [
          aeson base base64-bytestring blaze-builder bytestring
          case-insensitive cookie data-default-class entropy http-types jose
@@ -245617,8 +241933,8 @@ self: {
        pname = "servant-auth-swagger";
        version = "0.2.10.1";
        sha256 = "029nvb4wxwl98ah26bgcq1b7izrnvssxwn1682liimvsh4a8bady";
-       revision = "4";
-       editedCabalFile = "1rwywxhiz7fl5gp90nvdlc0gw0f0lg3pnigj6cpah1fsay4arscf";
+       revision = "6";
+       editedCabalFile = "0cnzwpag9cxkd1fljr7vlsmlv0idm4damgvkjrc4yqgpqqnm93zs";
        libraryHaskellDepends = [
          base lens servant servant-auth servant-swagger swagger2 text
        ];
@@ -245688,7 +242004,6 @@ self: {
        description = "Servant based API for token based authorisation";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "servant-auth-token-leveldb" = callPackage
@@ -245771,7 +242086,6 @@ self: {
        ];
        description = "Authenticate Routes Using Wordpress Cookies";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "servant-avro" = callPackage
@@ -245851,6 +242165,8 @@ self: {
        ];
        description = "Servant CSV content-type for cassava";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "servant-checked-exceptions" = callPackage
@@ -245878,9 +242194,9 @@ self: {
      }) {};
 
   "servant-checked-exceptions-core" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, contravariant, doctest
-     , Glob, http-media, http-types, mtl, profunctors, servant
-     , servant-docs, tagged, text, transformers, world-peace
+    ({ mkDerivation, aeson, base, bytestring, contravariant, http-media
+     , http-types, mtl, profunctors, servant, servant-docs, tagged, text
+     , transformers, world-peace
      }:
      mkDerivation {
        pname = "servant-checked-exceptions-core";
@@ -245893,7 +242209,6 @@ self: {
          profunctors servant servant-docs tagged text transformers
          world-peace
        ];
-       testHaskellDepends = [ base doctest Glob ];
        description = "Checked exceptions for Servant APIs";
        license = lib.licenses.bsd3;
      }) {};
@@ -245923,6 +242238,7 @@ self: {
        ];
        description = "Command line interface for Servant API clients";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "servant-client" = callPackage
@@ -245936,38 +242252,10 @@ self: {
      }:
      mkDerivation {
        pname = "servant-client";
-       version = "0.18.3";
-       sha256 = "0ddn7x9z2znkkyn6l2x6a85vq673q4vppr0q9n56ibvl3k3saxj0";
-       libraryHaskellDepends = [
-         base base-compat bytestring containers deepseq exceptions
-         http-client http-media http-types kan-extensions monad-control mtl
-         semigroupoids servant servant-client-core stm text time
-         transformers transformers-base transformers-compat
-       ];
-       testHaskellDepends = [
-         aeson base base-compat bytestring entropy hspec http-api-data
-         http-client http-types HUnit kan-extensions markdown-unlit mtl
-         network QuickCheck servant servant-client-core servant-server
-         sop-core stm tdigest text transformers transformers-compat wai warp
-       ];
-       testToolDepends = [ hspec-discover markdown-unlit ];
-       description = "Automatic derivation of querying functions for servant";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "servant-client_0_19" = callPackage
-    ({ mkDerivation, aeson, base, base-compat, bytestring, containers
-     , deepseq, entropy, exceptions, hspec, hspec-discover
-     , http-api-data, http-client, http-media, http-types, HUnit
-     , kan-extensions, markdown-unlit, monad-control, mtl, network
-     , QuickCheck, semigroupoids, servant, servant-client-core
-     , servant-server, sop-core, stm, tdigest, text, time, transformers
-     , transformers-base, transformers-compat, wai, warp
-     }:
-     mkDerivation {
-       pname = "servant-client";
        version = "0.19";
        sha256 = "1bdapsr6il0f019ss8wsxndpc8cd5czj40xczay5qhl7fqnxg5pa";
+       revision = "3";
+       editedCabalFile = "16a3lsm2w4jvnisy0n38jx8a1974qywg569fml6zhx9fvz741dd8";
        libraryHaskellDepends = [
          base base-compat bytestring containers deepseq exceptions
          http-client http-media http-types kan-extensions monad-control mtl
@@ -245983,32 +242271,10 @@ self: {
        testToolDepends = [ hspec-discover markdown-unlit ];
        description = "Automatic derivation of querying functions for servant";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "servant-client-core" = callPackage
     ({ mkDerivation, aeson, base, base-compat, base64-bytestring
-     , bytestring, containers, deepseq, exceptions, free, hspec
-     , hspec-discover, http-media, http-types, network-uri, QuickCheck
-     , safe, servant, sop-core, template-haskell, text, transformers
-     }:
-     mkDerivation {
-       pname = "servant-client-core";
-       version = "0.18.3";
-       sha256 = "1iln4axymmmk3ib0wxmpzjgq16lip8nz7xich3ysgzx6g2n15xsd";
-       libraryHaskellDepends = [
-         aeson base base-compat base64-bytestring bytestring containers
-         deepseq exceptions free http-media http-types network-uri safe
-         servant sop-core template-haskell text transformers
-       ];
-       testHaskellDepends = [ base base-compat deepseq hspec QuickCheck ];
-       testToolDepends = [ hspec-discover ];
-       description = "Core functionality and class for client function generation for servant APIs";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "servant-client-core_0_19" = callPackage
-    ({ mkDerivation, aeson, base, base-compat, base64-bytestring
      , bytestring, constraints, containers, deepseq, exceptions, free
      , hspec, hspec-discover, http-media, http-types, network-uri
      , QuickCheck, safe, servant, sop-core, template-haskell, text
@@ -246018,6 +242284,8 @@ self: {
        pname = "servant-client-core";
        version = "0.19";
        sha256 = "0cisc5cyl367cwrch1gr812aspd36a21hkwi6mwj708rpspwvrmc";
+       revision = "3";
+       editedCabalFile = "1sk2nf0w9wxd7sqn3kla65kk91rk03xz8ll297wg2b2xqybvy8ph";
        libraryHaskellDepends = [
          aeson base base-compat base64-bytestring bytestring constraints
          containers deepseq exceptions free http-media http-types
@@ -246028,7 +242296,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Core functionality and class for client function generation for servant APIs";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "servant-client-js" = callPackage
@@ -246186,36 +242453,10 @@ self: {
      }:
      mkDerivation {
        pname = "servant-docs";
-       version = "0.11.9";
-       sha256 = "0ynjyyxlzb2j5d92rryqqa97rp16582mbmvnv7syczha5ziq24nk";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson aeson-pretty base base-compat bytestring case-insensitive
-         hashable http-media http-types lens servant string-conversions text
-         universe-base unordered-containers
-       ];
-       executableHaskellDepends = [
-         aeson base lens servant string-conversions text
-       ];
-       testHaskellDepends = [
-         aeson base base-compat lens servant string-conversions tasty
-         tasty-golden tasty-hunit transformers
-       ];
-       description = "generate API docs for your servant webservice";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "servant-docs_0_12" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, base-compat, bytestring
-     , case-insensitive, hashable, http-media, http-types, lens, servant
-     , string-conversions, tasty, tasty-golden, tasty-hunit, text
-     , transformers, universe-base, unordered-containers
-     }:
-     mkDerivation {
-       pname = "servant-docs";
        version = "0.12";
        sha256 = "0531jldq35sl1qlna0s1n8bakbsplg15611305dk48z80vcpa933";
+       revision = "2";
+       editedCabalFile = "0spgsfl1bx11yq7wivjrj3p5axszqya0pnmpcg2x5r6vm40qkzbk";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -246232,7 +242473,6 @@ self: {
        ];
        description = "generate API docs for your servant webservice";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "servant-docs-simple" = callPackage
@@ -246304,7 +242544,6 @@ self: {
        description = "Helpers for using ekg with servant";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "servant-elm" = callPackage
@@ -246352,6 +242591,8 @@ self: {
        testToolDepends = [ markdown-unlit ];
        description = "Servant Errors wai-middlware";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "servant-event-stream" = callPackage
@@ -246439,8 +242680,6 @@ self: {
        ];
        description = "Fiat content types";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "servant-flatten" = callPackage
@@ -246462,8 +242701,8 @@ self: {
        pname = "servant-foreign";
        version = "0.15.4";
        sha256 = "0bznb73rbgfgkg7n4pxghkqsfca0yw9vak73c6w8sqvc2mjnc7mz";
-       revision = "1";
-       editedCabalFile = "0lwz3cjbz072xpg6ak0q4grs2c6i7fvvpcsbmc4ngqm695vd9ff8";
+       revision = "4";
+       editedCabalFile = "1c37ks36xba26br81bbdvb9qphzsrnngrd7nb6dv194z1p51n2xs";
        libraryHaskellDepends = [
          base base-compat http-types lens servant text
        ];
@@ -246482,6 +242721,8 @@ self: {
        libraryHaskellDepends = [ aeson base gdp servant-server text ];
        description = "Use Servant and GDP together to create expressive web API types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "servant-generate" = callPackage
@@ -246562,6 +242803,8 @@ self: {
        ];
        description = "Servant combinators to facilitate writing GitHub webhooks";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "servant-haxl-client" = callPackage
@@ -246590,25 +242833,28 @@ self: {
        description = "automatical derivation of querying functions for servant webservices";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "servant-hmac-auth" = callPackage
     ({ mkDerivation, base, base64-bytestring, binary, bytestring
-     , case-insensitive, containers, cryptonite, http-client, http-types
-     , memory, mtl, servant, servant-client, servant-client-core
-     , servant-server, transformers, wai
+     , case-insensitive, containers, cryptonite, filepath, hspec
+     , hspec-discover, hspec-golden, http-client, http-types, memory
+     , mtl, servant, servant-client, servant-client-core, servant-server
+     , text, transformers, wai
      }:
      mkDerivation {
        pname = "servant-hmac-auth";
-       version = "0.1.3";
-       sha256 = "057v665rkdblqga71sm4pk7gklwpnrgkwg540ky7mmhmdm2nicj4";
+       version = "0.1.4";
+       sha256 = "0nnmwqqdc7yzbd96bfmgcidz41knzrbh082dcwg2n3w0vvp0m98i";
        libraryHaskellDepends = [
          base base64-bytestring binary bytestring case-insensitive
          containers cryptonite http-client http-types memory mtl servant
          servant-client servant-client-core servant-server transformers wai
        ];
-       testHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base case-insensitive filepath hspec hspec-golden http-types text
+       ];
+       testToolDepends = [ hspec-discover ];
        description = "Servant authentication with HMAC";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
@@ -246628,44 +242874,11 @@ self: {
        testHaskellDepends = [ base servant-server text ];
        description = "A library for using htmx with servant";
        license = lib.licenses.bsd3;
-     }) {};
-
-  "servant-http-streams" = callPackage
-    ({ mkDerivation, aeson, base, base-compat, bytestring
-     , case-insensitive, containers, deepseq, entropy, exceptions, hspec
-     , hspec-discover, http-api-data, http-common, http-media
-     , http-streams, http-types, HUnit, io-streams, kan-extensions
-     , markdown-unlit, monad-control, mtl, network, QuickCheck
-     , semigroupoids, servant, servant-client-core, servant-server, stm
-     , tdigest, text, time, transformers, transformers-base
-     , transformers-compat, wai, warp
-     }:
-     mkDerivation {
-       pname = "servant-http-streams";
-       version = "0.18.3";
-       sha256 = "0cc4qmbzq4n1yp5yfg76w1skkksh13qlbza9i2pgsxa9sc39s5fa";
-       libraryHaskellDepends = [
-         base base-compat bytestring case-insensitive containers deepseq
-         exceptions http-common http-media http-streams http-types
-         io-streams kan-extensions monad-control mtl semigroupoids servant
-         servant-client-core text time transformers transformers-base
-         transformers-compat
-       ];
-       testHaskellDepends = [
-         aeson base base-compat bytestring deepseq entropy hspec
-         http-api-data http-streams http-types HUnit kan-extensions
-         markdown-unlit mtl network QuickCheck servant servant-client-core
-         servant-server stm tdigest text transformers transformers-compat
-         wai warp
-       ];
-       testToolDepends = [ hspec-discover markdown-unlit ];
-       description = "Automatic derivation of querying functions for servant";
-       license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        broken = true;
      }) {};
 
-  "servant-http-streams_0_18_4" = callPackage
+  "servant-http-streams" = callPackage
     ({ mkDerivation, aeson, base, base-compat, bytestring
      , case-insensitive, containers, deepseq, entropy, exceptions, hspec
      , hspec-discover, http-api-data, http-common, http-media
@@ -246679,6 +242892,8 @@ self: {
        pname = "servant-http-streams";
        version = "0.18.4";
        sha256 = "15f24rcgz839cb38q4gs1liqrdyqjbazcqzjdxmv4307x072pv3a";
+       revision = "4";
+       editedCabalFile = "1f4iki0sxxszdf7sm02gk823w08z5laimym6rrsrsff56aviz1ll";
        libraryHaskellDepends = [
          base base-compat bytestring case-insensitive containers deepseq
          exceptions http-common http-media http-streams http-types
@@ -246696,8 +242911,6 @@ self: {
        testToolDepends = [ hspec-discover markdown-unlit ];
        description = "Automatic derivation of querying functions for servant";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "servant-http2-client" = callPackage
@@ -246739,6 +242952,8 @@ self: {
        ];
        description = "Servant support for iCalendar";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "servant-jquery" = callPackage
@@ -246758,7 +242973,6 @@ self: {
        description = "Automatically derive (jquery) javascript functions to query servant webservices";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "servant-js" = callPackage
@@ -246785,7 +242999,6 @@ self: {
        description = "Automatically derive javascript functions to query servant webservices";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "servant-jsonrpc" = callPackage
@@ -246797,6 +243010,8 @@ self: {
        libraryHaskellDepends = [ aeson base servant ];
        description = "JSON-RPC messages and endpoints";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "servant-jsonrpc-client" = callPackage
@@ -246812,6 +243027,7 @@ self: {
        ];
        description = "Generate JSON-RPC servant clients";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "servant-jsonrpc-server" = callPackage
@@ -246827,6 +243043,7 @@ self: {
        ];
        description = "JSON-RPC servant servers";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "servant-kotlin" = callPackage
@@ -246967,8 +243184,8 @@ self: {
        pname = "servant-multipart";
        version = "0.12.1";
        sha256 = "1p55kb3zhq25ncp7wimhggssn68abfgsnlldk13rk1iajaj6y8y5";
-       revision = "1";
-       editedCabalFile = "1vjdly7n614gzzxyf2sdkgmhkfqxbdvaf0f2pyk9mr9fxlss1g2q";
+       revision = "3";
+       editedCabalFile = "1wkbwd6gypmv7aziaag3gzwgvvqx4bw8i4qp2vpmc7ip2ydm10ml";
        libraryHaskellDepends = [
          base bytestring directory lens resourcet servant servant-docs
          servant-foreign servant-multipart-api servant-server
@@ -246988,8 +243205,8 @@ self: {
        pname = "servant-multipart-api";
        version = "0.12.1";
        sha256 = "1gifa9g7ggs0plzffrd9a8j24dmqvgbkkdkfzyy7mpmwrjqw7mcj";
-       revision = "1";
-       editedCabalFile = "0nwk49xmzwxxlgcsqa62nwvyfqmxb0ab1ncnn96gpqyxkqbv2gxd";
+       revision = "3";
+       editedCabalFile = "1zhiszjg8n37g25sh2cnw509n0v4b89fd93j466f2gzwkxfaaw0m";
        libraryHaskellDepends = [
          base bytestring servant text transformers
        ];
@@ -247007,8 +243224,8 @@ self: {
        pname = "servant-multipart-client";
        version = "0.12.1";
        sha256 = "07haaf9nq96lfv2dhqf4319vl321f53v0mypbbg3swzb6rrfkw9h";
-       revision = "1";
-       editedCabalFile = "1mzh1a37hmq4zl0annnk3xabgli2jndkvx80amhsn97111fiz7lz";
+       revision = "3";
+       editedCabalFile = "1jq89aizhkdivmgj9gispipf2mdyq1fnlq102lr5jm1vgrmfmbpx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -247089,10 +243306,10 @@ self: {
      }:
      mkDerivation {
        pname = "servant-openapi3";
-       version = "2.0.1.3";
-       sha256 = "1nvxaskizv5qgznvxdg4crdh4dra5rj7abiky5bd927gnwvbir6s";
+       version = "2.0.1.4";
+       sha256 = "1dlz5fsz7j5yrf6kps4j1mxlj4ww2q4szx5k6apawi06i8ibshh7";
        revision = "2";
-       editedCabalFile = "08cfsqx530kyc90p83kf35pyyl90vx85kz1xvmd9lm54785d2znv";
+       editedCabalFile = "1g8byg51brdpabn5kv1zpkzic84hg50w1dxs1hbkpxj5a26gbd07";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson aeson-pretty base base-compat bytestring hspec http-media
@@ -247130,8 +243347,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-pagination";
-       version = "2.4.2";
-       sha256 = "050ixkfqrfjvgz293q91iw0v6a4xfan0n0gn7pq3yh2dndz4if3a";
+       version = "2.5.0";
+       sha256 = "1ia17r5mlm20cdiswh95q4mbm6kgsjba1vpzyh07yfz998dax6y3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -247140,8 +243357,6 @@ self: {
        testHaskellDepends = [ base hspec QuickCheck servant-server text ];
        description = "Type-safe pagination for Servant APIs";
        license = lib.licenses.lgpl3Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "servant-pandoc" = callPackage
@@ -247311,7 +243526,6 @@ self: {
        description = "Bindings to the Pushbullet API using servant-client";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "servant-py" = callPackage
@@ -247367,6 +243581,30 @@ self: {
        broken = true;
      }) {};
 
+  "servant-rate-limit" = callPackage
+    ({ mkDerivation, base, bytestring, hedis, http-client, http-types
+     , servant, servant-client, servant-server, tasty, tasty-hunit
+     , time-units, time-units-types, wai, wai-extra, wai-rate-limit
+     , wai-rate-limit-redis, warp
+     }:
+     mkDerivation {
+       pname = "servant-rate-limit";
+       version = "0.2.0.0";
+       sha256 = "19l4kawmb5c6s3hlcfgn14nmcwqncz158njmy1fmdrgar0sd1i92";
+       libraryHaskellDepends = [
+         base bytestring http-types servant servant-client servant-server
+         time-units time-units-types wai wai-rate-limit
+       ];
+       testHaskellDepends = [
+         base bytestring hedis http-client http-types servant servant-client
+         servant-server tasty tasty-hunit time-units time-units-types wai
+         wai-extra wai-rate-limit wai-rate-limit-redis warp
+       ];
+       description = "Rate limiting for Servant";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "servant-rawm" = callPackage
     ({ mkDerivation, base, servant }:
      mkDerivation {
@@ -247439,7 +243677,6 @@ self: {
        description = "Derive Reason types to interact with a Haskell backend";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "servant-reflex" = callPackage
@@ -247576,41 +243813,6 @@ self: {
 
   "servant-server" = callPackage
     ({ mkDerivation, aeson, base, base-compat, base64-bytestring
-     , bytestring, containers, directory, exceptions, filepath, hspec
-     , hspec-discover, hspec-wai, http-api-data, http-media, http-types
-     , monad-control, mtl, network, network-uri, QuickCheck, resourcet
-     , safe, servant, should-not-typecheck, sop-core, string-conversions
-     , tagged, temporary, text, transformers, transformers-base
-     , transformers-compat, wai, wai-app-static, wai-extra, warp, word8
-     }:
-     mkDerivation {
-       pname = "servant-server";
-       version = "0.18.3";
-       sha256 = "1gng0in85as45aprwy19xaqlgmwfx0pkly150d2v96knhbcwsshk";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base base-compat base64-bytestring bytestring containers exceptions
-         filepath http-api-data http-media http-types monad-control mtl
-         network network-uri resourcet servant sop-core string-conversions
-         tagged text transformers transformers-base wai wai-app-static word8
-       ];
-       executableHaskellDepends = [
-         aeson base base-compat servant text wai warp
-       ];
-       testHaskellDepends = [
-         aeson base base-compat base64-bytestring bytestring directory hspec
-         hspec-wai http-types mtl QuickCheck resourcet safe servant
-         should-not-typecheck sop-core string-conversions temporary text
-         transformers transformers-compat wai wai-extra
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "A family of combinators for defining webservices APIs and serving them";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "servant-server_0_19" = callPackage
-    ({ mkDerivation, aeson, base, base-compat, base64-bytestring
      , bytestring, constraints, containers, directory, exceptions
      , filepath, hspec, hspec-discover, hspec-wai, http-api-data
      , http-media, http-types, monad-control, mtl, network, network-uri
@@ -247621,8 +243823,10 @@ self: {
      }:
      mkDerivation {
        pname = "servant-server";
-       version = "0.19";
-       sha256 = "0d7z1r9g86cshqqacnw1ls4h5ijpwznbprk2kvnc8j8drjcmnrf1";
+       version = "0.19.1";
+       sha256 = "1g88vdwacwli79y5idqlrbhl2k9r463h560f2lk5abhqsmsm9bhd";
+       revision = "2";
+       editedCabalFile = "18as15x192ila9cqiff1yliidwlihx9kvjgji2sml11ahwhqyy75";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -247644,7 +243848,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A family of combinators for defining webservices APIs and serving them";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "servant-server-namedargs" = callPackage
@@ -247747,6 +243950,8 @@ self: {
        ];
        description = "Content-Types for rendering Mustache in servant";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "servant-static-th" = callPackage
@@ -247885,6 +244090,8 @@ self: {
        ];
        description = "Servant Stream support for streamly";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "servant-subscriber" = callPackage
@@ -247911,7 +244118,6 @@ self: {
        executableHaskellDepends = [ base purescript-bridge ];
        description = "When REST is not enough ...";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "servant-swagger" = callPackage
@@ -247924,10 +244130,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-swagger";
-       version = "1.1.10";
-       sha256 = "0y6zylhs4z0nfz75d4i2azcq0yh2bd4inanwblx4035dgkk1q78a";
-       revision = "1";
-       editedCabalFile = "1x18nl7sriqwphdyy8v819vbcx27my5mcx9h9hnds2ph82p3zywc";
+       version = "1.1.11";
+       sha256 = "1kvnjq3iqc8xbgmbaz881r48vj4cpzx7pkwdgwbhqlmhg808bfgl";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson aeson-pretty base base-compat bytestring hspec http-media
@@ -247969,6 +244173,8 @@ self: {
        pname = "servant-swagger-ui";
        version = "0.3.5.4.5.0";
        sha256 = "12w75z23bnygyr3ki9w3zfy9nhxyjawf9pyzhfg6rp2mq3nji9gg";
+       revision = "2";
+       editedCabalFile = "05g4gnvr8ljg5mszan5cr9zzi40p6d8sr7343mm2yc3ps45vy9g1";
        libraryHaskellDepends = [
          aeson base bytestring file-embed-lzma servant servant-server
          servant-swagger-ui-core text
@@ -247986,8 +244192,8 @@ self: {
        pname = "servant-swagger-ui-core";
        version = "0.3.5";
        sha256 = "0ckvrwrb3x39hfl2hixcj3fhibh0vqsh6y7n1lsm25yvzfrg02zd";
-       revision = "2";
-       editedCabalFile = "02g98dy08wj7ryrrbk8547s6ad4a59d6z4pczmf6pc59kdjvjx3n";
+       revision = "4";
+       editedCabalFile = "16183mrmxipa3l3ffpibsrr41mbi2iikw66y80hplmnl6jjhnyzd";
        libraryHaskellDepends = [
          aeson base blaze-markup bytestring http-media servant servant-blaze
          servant-server text transformers transformers-compat wai-app-static
@@ -248004,8 +244210,8 @@ self: {
        pname = "servant-swagger-ui-jensoleg";
        version = "0.3.4";
        sha256 = "04s4syfmnjwa52xqm29x2sfi1ka6p7fpjff0pxry099rh0d59hkm";
-       revision = "2";
-       editedCabalFile = "0a98f9xxy69741fj4cqx7qgh9cpbjk03bgga3h3yx2kjidps0cdm";
+       revision = "4";
+       editedCabalFile = "145yljjkb4pmpkcic77qy99v0s4ijvzgsrpcwpjcmnmi5y8f39zm";
        libraryHaskellDepends = [
          aeson base bytestring file-embed-lzma servant servant-server
          servant-swagger-ui-core text
@@ -248022,8 +244228,8 @@ self: {
        pname = "servant-swagger-ui-redoc";
        version = "0.3.4.1.22.3";
        sha256 = "0ln2sz7ffhddk4dqvczpxb5g8f6bic7sandn5zifpz2jg7lgzy0f";
-       revision = "2";
-       editedCabalFile = "0pd85v4fbz6la90qll5mb9v2f2v8c5x1iwy4s3kk6mxcvzxih968";
+       revision = "4";
+       editedCabalFile = "17spfmrwvj24hxd5sxysn6l3a449nw0ln2m6fslrr7wy4czp2kj5";
        libraryHaskellDepends = [
          aeson base bytestring file-embed-lzma servant servant-server
          servant-swagger-ui-core text
@@ -248056,7 +244262,6 @@ self: {
        description = "Automatically generate Elm clients for Servant APIs";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "servant-tracing" = callPackage
@@ -248081,8 +244286,34 @@ self: {
          transformers
        ];
        license = lib.licenses.mit;
+     }) {};
+
+  "servant-typescript" = callPackage
+    ({ mkDerivation, aeson, aeson-typescript, base, containers
+     , directory, filepath, lens, mtl, servant, servant-foreign
+     , string-interpolate, text
+     }:
+     mkDerivation {
+       pname = "servant-typescript";
+       version = "0.1.0.2";
+       sha256 = "03nf4gqiy7jpdaxmddv859im0czpjrdss72cgjhkd96vqf4g4kam";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-typescript base containers directory filepath lens mtl
+         servant servant-foreign string-interpolate text
+       ];
+       executableHaskellDepends = [
+         aeson aeson-typescript base containers directory filepath lens mtl
+         servant servant-foreign string-interpolate text
+       ];
+       testHaskellDepends = [
+         aeson aeson-typescript base containers directory filepath lens mtl
+         servant servant-foreign string-interpolate text
+       ];
+       description = "TypeScript client generation for Servant";
+       license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "servant-util" = callPackage
@@ -248129,6 +244360,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Servant servers utilities";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "servant-util-beam-pg" = callPackage
@@ -248160,7 +244392,6 @@ self: {
        description = "Implementation of servant-util primitives for beam-postgres";
        license = lib.licenses.mpl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "servant-validate" = callPackage
@@ -248220,6 +244451,8 @@ self: {
        ];
        description = "Servant support for delivering WebAssembly";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "servant-websockets" = callPackage
@@ -248408,6 +244641,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Deploying Haskell code onto AWS Lambda using Serverless";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "serversession" = callPackage
@@ -249001,8 +245235,8 @@ self: {
        pname = "sexp-grammar";
        version = "2.3.3.1";
        sha256 = "08sqpk5qgq3mqlxvz24sw43m52khynpf41cnd4yif4b4ri583mb9";
-       revision = "1";
-       editedCabalFile = "1g7bzfkphrih83vqx4l4vdwyn700lihz2vnwp5gnrrf2ka4zswx6";
+       revision = "2";
+       editedCabalFile = "0gcaq5pbdrd7h1isxjdkv0xpx3a9ysr4c4fp6hjl3ppj7hkkn34l";
        libraryHaskellDepends = [
          array base bytestring containers data-fix deepseq
          invertible-grammar prettyprinter recursion-schemes scientific
@@ -249057,8 +245291,8 @@ self: {
      }:
      mkDerivation {
        pname = "sexpr-parser";
-       version = "0.2.0.0";
-       sha256 = "0cgfmnv72n5li15k8dq4w2rvfx0ahbyb7h2g51a5i4x9w70dyllg";
+       version = "0.2.2.0";
+       sha256 = "0idcs6zpx0r3sn6nhh8kjswmsi0pwygjxzbscfd0y0gd6yjz1i86";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base data-default megaparsec ];
@@ -249066,8 +245300,6 @@ self: {
        testHaskellDepends = [ base data-default hspec megaparsec ];
        description = "Simple s-expression parser";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "sexpresso" = callPackage
@@ -249088,8 +245320,6 @@ self: {
        ];
        description = "A flexible library for parsing and printing S-expression";
        license = "unknown";
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "sext" = callPackage
@@ -249466,7 +245696,6 @@ self: {
        description = "Rules for binary distributions";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "shake-c" = callPackage
@@ -249589,8 +245818,8 @@ self: {
      }:
      mkDerivation {
        pname = "shake-futhark";
-       version = "0.2.0.0";
-       sha256 = "1lal2dwgiw9c9k8lpcqagx5hy9bs8mqciiy5ghndahpf1fwf510m";
+       version = "0.2.0.1";
+       sha256 = "0kwj2q0sfh80gcxamfh4k2cnr2mbbs41n43z5rwdawcmdb2c0xxy";
        libraryHaskellDepends = [
          base containers directory filepath futhark shake text
        ];
@@ -249742,6 +245971,7 @@ self: {
        ];
        description = "Experimental extensions to shake-plus";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "shakebook" = callPackage
@@ -249788,7 +246018,6 @@ self: {
        description = "Shake-based technical documentation generator; HTML & PDF";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "shaker" = callPackage
@@ -249842,8 +246071,8 @@ self: {
      }:
      mkDerivation {
        pname = "shakespeare";
-       version = "2.0.25.1";
-       sha256 = "183dvpwvlivrkgdijga3gbywqlgg3qlbsjlc2q6cv22x8mnxmjgl";
+       version = "2.0.26";
+       sha256 = "1pagjwgbp1z07gxy9k3rr0hl7fzjk2d4ihwqddrk9c5bnkq9maim";
        libraryHaskellDepends = [
          aeson base blaze-html blaze-markup bytestring containers directory
          exceptions ghc-prim parsec process scientific template-haskell text
@@ -250031,6 +246260,8 @@ self: {
        ];
        description = "physics engine and other tools for 2D shapes";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "shapes-demo" = callPackage
@@ -250050,6 +246281,7 @@ self: {
        ];
        description = "demos for the 'shapes' package";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "shapes-math" = callPackage
@@ -250161,6 +246393,22 @@ self: {
        broken = true;
      }) {};
 
+  "sheets" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring
+     , cassava, composite-base, composite-cassava, text, vector
+     }:
+     mkDerivation {
+       pname = "sheets";
+       version = "0.1.0.0";
+       sha256 = "0v7xii2sabpc61gy4jrym5cg6nzj6x3fl8iif6cfq7z5afk6ylyr";
+       libraryHaskellDepends = [
+         aeson base base64-bytestring bytestring cassava composite-base
+         composite-cassava text vector
+       ];
+       description = "Spreadsheet type for composite";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "shelduck" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, async, base, bytestring
      , directory, exceptions, hastache, hspec, http-client, lens
@@ -250232,8 +246480,8 @@ self: {
     ({ mkDerivation, base, containers, text, unix }:
      mkDerivation {
        pname = "shell-monad";
-       version = "0.6.9";
-       sha256 = "1mms4k2y7gxzilax0hqhgqppckx0mm5nj7fjzqhmn211rsc2s1qn";
+       version = "0.6.10";
+       sha256 = "11jl90ajzypgwchmsxw9l3ap3f1xb65zmvsrc3g9wf27bl8m8435";
        libraryHaskellDepends = [ base containers text unix ];
        description = "shell monad";
        license = lib.licenses.bsd3;
@@ -250387,35 +246635,6 @@ self: {
     ({ mkDerivation, async, base, bytestring, containers, directory
      , enclosed-exceptions, exceptions, filepath, hspec, hspec-contrib
      , HUnit, lifted-async, lifted-base, monad-control, mtl, process
-     , text, time, transformers, transformers-base, unix, unix-compat
-     }:
-     mkDerivation {
-       pname = "shelly";
-       version = "1.9.0";
-       sha256 = "1kma77gixhyciimh19p64h1ndbcrs9qhk8fgyv71iqh5q57zvday";
-       revision = "3";
-       editedCabalFile = "0jgd4jx16sm055riacqfvccnm3r5mz33ynxf41ckvkx42wxd98hp";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         async base bytestring containers directory enclosed-exceptions
-         exceptions filepath lifted-async lifted-base monad-control mtl
-         process text time transformers transformers-base unix unix-compat
-       ];
-       testHaskellDepends = [
-         async base bytestring containers directory enclosed-exceptions
-         exceptions filepath hspec hspec-contrib HUnit lifted-async
-         lifted-base monad-control mtl process text time transformers
-         transformers-base unix unix-compat
-       ];
-       description = "shell-like (systems) programming in Haskell";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "shelly_1_10_0" = callPackage
-    ({ mkDerivation, async, base, bytestring, containers, directory
-     , enclosed-exceptions, exceptions, filepath, hspec, hspec-contrib
-     , HUnit, lifted-async, lifted-base, monad-control, mtl, process
      , text, time, transformers, transformers-base, unix-compat
      }:
      mkDerivation {
@@ -250435,7 +246654,6 @@ self: {
        ];
        description = "shell-like (systems) programming in Haskell";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "shelly-extra" = callPackage
@@ -250540,26 +246758,6 @@ self: {
      }:
      mkDerivation {
        pname = "shikensu";
-       version = "0.3.11";
-       sha256 = "041hqvlfi28ynfcln80dwm1i5g4pjl7ydx0bys35lw92fl39zxb9";
-       libraryHaskellDepends = [
-         aeson base bytestring directory filepath flow Glob text
-         unordered-containers
-       ];
-       testHaskellDepends = [
-         aeson base bytestring directory filepath flow Glob tasty
-         tasty-hunit text unordered-containers
-       ];
-       description = "Run a sequence of functions on in-memory representations of files";
-       license = lib.licenses.mit;
-     }) {};
-
-  "shikensu_0_4_1" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, directory, filepath, flow
-     , Glob, tasty, tasty-hunit, text, unordered-containers
-     }:
-     mkDerivation {
-       pname = "shikensu";
        version = "0.4.1";
        sha256 = "0qf0rc0sxhj6x03g9mdxhnk8dk8n0jpi6061ky0cqhvivn4fd9hy";
        libraryHaskellDepends = [
@@ -250572,7 +246770,6 @@ self: {
        ];
        description = "Run a sequence of functions on in-memory representations of files";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "shimmer" = callPackage
@@ -250921,7 +247118,6 @@ self: {
        executableHaskellDepends = [ base glade gtk random ];
        description = "A simple gtk based Russian Roulette game";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "shower" = callPackage
@@ -251244,6 +247440,7 @@ self: {
        description = "Deterministic serialisation and signatures with proto-lens support";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "signable-haskell-protoc" = callPackage
@@ -251263,6 +247460,8 @@ self: {
        ];
        description = "Deterministic serialisation and signatures with proto-lens support";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "signal" = callPackage
@@ -251367,8 +247566,8 @@ self: {
     ({ mkDerivation, base, prettyprinter }:
      mkDerivation {
        pname = "silkscreen";
-       version = "0.0.0.3";
-       sha256 = "0gmp71cipwc0ymydckhvw9g8q3j4pm8cq2la2rbvm0rr9z7c2l40";
+       version = "0.0.0.4";
+       sha256 = "18zv92gm2lfcl2rqvch29qplvqfsvm64w208x0j092vxx3hf1hrb";
        libraryHaskellDepends = [ base prettyprinter ];
        description = "Prettyprinting transformers";
        license = lib.licenses.bsd3;
@@ -251455,6 +247654,7 @@ self: {
        ];
        description = "A minimalist web framework for the WAI server interface";
        license = lib.licenses.lgpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "simple-actors" = callPackage
@@ -251576,14 +247776,17 @@ self: {
      }) {};
 
   "simple-cmd" = callPackage
-    ({ mkDerivation, base, directory, extra, filepath, process, unix }:
+    ({ mkDerivation, base, directory, extra, filepath, hspec, process
+     , unix
+     }:
      mkDerivation {
        pname = "simple-cmd";
-       version = "0.2.3";
-       sha256 = "1r8rnv8zzp8jfvgrjls3zjdx235s9gh2kr3sv4w08dndq1rakxjv";
+       version = "0.2.4";
+       sha256 = "19kd863gm33sj01biqz94jk9cy8vb07xlqmw2m9vlh16h3phgqv1";
        libraryHaskellDepends = [
          base directory extra filepath process unix
        ];
+       testHaskellDepends = [ base hspec ];
        description = "Simple String-based process commands";
        license = lib.licenses.bsd3;
      }) {};
@@ -251704,6 +247907,8 @@ self: {
        benchmarkHaskellDepends = [ base criterion mtl transformers ];
        description = "A simple effect system that integrates with MTL";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "simple-enumeration" = callPackage
@@ -251846,6 +248051,8 @@ self: {
        testHaskellDepends = [ base hspec microlens-platform text ];
        description = "Simple log for Haskell";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "simple-log-syslog" = callPackage
@@ -251858,7 +248065,6 @@ self: {
        description = "Syslog backend for simple-log";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "simple-logger" = callPackage
@@ -251893,7 +248099,6 @@ self: {
        description = "Logging effect to plug into the simple-effects framework";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "simple-ltl" = callPackage
@@ -252016,8 +248221,8 @@ self: {
      }:
      mkDerivation {
        pname = "simple-parser";
-       version = "0.9.1";
-       sha256 = "1xqx7rxb49mdrzk5waha1n5jzff52l22hvjs4yal7ll62i40k6ym";
+       version = "0.12.0";
+       sha256 = "1g8ik221kfzjb3bndxghk42ki7hhs4xbwxq8arc66hsnynjxi7rs";
        libraryHaskellDepends = [
          base bytestring containers errata exceptions mmorph mtl
          nonempty-containers scientific text text-builder
@@ -252084,6 +248289,7 @@ self: {
        ];
        description = "Connector package for integrating postgresql-orm with the Simple web framework";
        license = lib.licenses.lgpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "simple-reflect" = callPackage
@@ -252160,6 +248366,7 @@ self: {
        ];
        description = "Cookie-based session management for the Simple web framework";
        license = lib.licenses.lgpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "simple-sessions" = callPackage
@@ -252280,6 +248487,8 @@ self: {
        ];
        description = "A basic template language for the Simple web framework";
        license = lib.licenses.lgpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "simple-text-format" = callPackage
@@ -252346,8 +248555,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
@@ -252639,6 +248846,8 @@ self: {
        ];
        description = "Generic programming without too many type classes";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "simpoole" = callPackage
@@ -252734,6 +248943,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "a class for single tuple implementations";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "singlethongs" = callPackage
@@ -252749,19 +248960,6 @@ self: {
      }) {};
 
   "singleton-bool" = callPackage
-    ({ mkDerivation, base, dec }:
-     mkDerivation {
-       pname = "singleton-bool";
-       version = "0.1.5";
-       sha256 = "17w9vv6arn7vvc7kykqcx81q2364ji43khrryl27r1cjx9yxapa0";
-       revision = "3";
-       editedCabalFile = "11rhzpy4xiry39bbxzwrqff75f0f4g7z0vkr3v9l8rv3w40jlf7x";
-       libraryHaskellDepends = [ base dec ];
-       description = "Type level booleans";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "singleton-bool_0_1_6" = callPackage
     ({ mkDerivation, base, boring, dec, deepseq, some }:
      mkDerivation {
        pname = "singleton-bool";
@@ -252772,7 +248970,6 @@ self: {
        libraryHaskellDepends = [ base boring dec deepseq some ];
        description = "Type level booleans";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "singleton-dict" = callPackage
@@ -252789,17 +248986,6 @@ self: {
      }) {};
 
   "singleton-nats" = callPackage
-    ({ mkDerivation, base, singletons }:
-     mkDerivation {
-       pname = "singleton-nats";
-       version = "0.4.5";
-       sha256 = "0qmkqfj8rch9qcczs05lm5l3sx29slmqw156g4hhr3d735xg4nk1";
-       libraryHaskellDepends = [ base singletons ];
-       description = "Unary natural numbers relying on the singletons infrastructure";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "singleton-nats_0_4_6" = callPackage
     ({ mkDerivation, base, singletons, singletons-base }:
      mkDerivation {
        pname = "singleton-nats";
@@ -252810,7 +248996,6 @@ self: {
        libraryHaskellDepends = [ base singletons singletons-base ];
        description = "Unary natural numbers relying on the singletons infrastructure";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "singleton-typelits" = callPackage
@@ -252827,44 +249012,42 @@ self: {
      }) {};
 
   "singletons" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, deepseq
-     , directory, filepath, ghc-boot-th, mtl, pretty, process, syb
-     , tasty, tasty-golden, template-haskell, text, th-desugar
-     , transformers, turtle
-     }:
+    ({ mkDerivation, base }:
      mkDerivation {
        pname = "singletons";
-       version = "2.7";
-       sha256 = "0az22as3rbzkfzv6a4m779qgibwah5r77l0zdgml9x7ajpkdcaz1";
+       version = "3.0.1";
+       sha256 = "0lqg9wxh02z2sikpy88asm8g4sfrvyb66b7p76irsij31h0cxbnk";
        revision = "1";
-       editedCabalFile = "18vd0jnr3skf2fmj13g06gjjzgmw5rnsjqwivsmqs3pkfv9qi3sm";
+       editedCabalFile = "0n3jr9jqz50ygaw80a9cx3g09w7w8bdlq9ssyap0a4990yxl8fbx";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base ];
+       description = "Basic singleton types and definitions";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "singletons-base" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, deepseq, directory
+     , filepath, pretty, process, singletons, singletons-th, tasty
+     , tasty-golden, template-haskell, text, th-desugar, turtle
+     }:
+     mkDerivation {
+       pname = "singletons-base";
+       version = "3.0";
+       sha256 = "0syrh4f9rs4g643c90md1vqrpr6p8h8g8sh4x3j2dld12yvrw4wn";
        setupHaskellDepends = [ base Cabal directory filepath ];
        libraryHaskellDepends = [
-         base containers ghc-boot-th mtl pretty syb template-haskell text
-         th-desugar transformers
+         base pretty singletons singletons-th template-haskell text
+         th-desugar
        ];
        testHaskellDepends = [
          base bytestring deepseq filepath process tasty tasty-golden text
          turtle
        ];
-       description = "A framework for generating singleton types";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "singletons_3_0_1" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "singletons";
-       version = "3.0.1";
-       sha256 = "0lqg9wxh02z2sikpy88asm8g4sfrvyb66b7p76irsij31h0cxbnk";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base ];
-       description = "Basic singleton types and definitions";
+       description = "A promoted and singled version of the base library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "singletons-base" = callPackage
+  "singletons-base_3_1" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, deepseq, directory
      , filepath, pretty, process, singletons, singletons-th, tasty
      , tasty-golden, template-haskell, text, th-desugar, turtle
@@ -252873,6 +249056,8 @@ self: {
        pname = "singletons-base";
        version = "3.1";
        sha256 = "1bsfbdbfwiq2nis3r95x06r0q9iypyz4hkvmgvk56bwj6421k7kd";
+       revision = "1";
+       editedCabalFile = "12p0xzmrkn2bjz6wf9i291bh47s9c0ziz6cvvja65vnzwd8l60ry";
        setupHaskellDepends = [ base Cabal directory filepath ];
        libraryHaskellDepends = [
          base pretty singletons singletons-th template-haskell text
@@ -252889,7 +249074,7 @@ self: {
 
   "singletons-presburger" = callPackage
     ({ mkDerivation, base, ghc-typelits-presburger, mtl, reflection
-     , singletons
+     , singletons, singletons-base
      }:
      mkDerivation {
        pname = "singletons-presburger";
@@ -252899,6 +249084,7 @@ self: {
        isExecutable = true;
        libraryHaskellDepends = [
          base ghc-typelits-presburger mtl reflection singletons
+         singletons-base
        ];
        description = "Presburger Arithmetic Solver for GHC Type-level natural numbers with Singletons package";
        license = lib.licenses.bsd3;
@@ -252910,8 +249096,26 @@ self: {
      }:
      mkDerivation {
        pname = "singletons-th";
+       version = "3.0";
+       sha256 = "1c0w7sg0lbpizrzns4g55wxsk5jm8wlqw0w9rz4jzqwy15byb572";
+       libraryHaskellDepends = [
+         base containers ghc-boot-th mtl singletons syb template-haskell
+         th-desugar th-orphans transformers
+       ];
+       description = "A framework for generating singleton types";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "singletons-th_3_1" = callPackage
+    ({ mkDerivation, base, containers, ghc-boot-th, mtl, singletons
+     , syb, template-haskell, th-desugar, th-orphans, transformers
+     }:
+     mkDerivation {
+       pname = "singletons-th";
        version = "3.1";
        sha256 = "1mhx7sadw7zxaf7qhryrhi4fiyf9v3jcaplkh1syaa7b4725dm7a";
+       revision = "1";
+       editedCabalFile = "1mir0m8zpnq5ckkk073nxy32mghfkbdzncvxpjdpmv2yfxl9iwgi";
        libraryHaskellDepends = [
          base containers ghc-boot-th mtl singletons syb template-haskell
          th-desugar th-orphans transformers
@@ -252919,7 +249123,6 @@ self: {
        description = "A framework for generating singleton types";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "singnal" = callPackage
@@ -252954,7 +249157,6 @@ self: {
        description = "Multivariate polynomial factorization via bindings to Singular-factory";
        license = "GPL";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {singular-factory = null;};
 
   "sink" = callPackage
@@ -253085,6 +249287,7 @@ self: {
        libraryHaskellDepends = [ base lens taggy taggy-lens text ];
        description = "Sitemap parser";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "sitemap-gen" = callPackage
@@ -253215,6 +249418,8 @@ self: {
        ];
        description = "Sized sequence data-types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "sized-grid" = callPackage
@@ -253438,6 +249643,23 @@ self: {
        broken = true;
      }) {};
 
+  "sketch-frp-copilot" = callPackage
+    ({ mkDerivation, base, containers, copilot, copilot-c99
+     , copilot-language, mtl, optparse-applicative
+     }:
+     mkDerivation {
+       pname = "sketch-frp-copilot";
+       version = "1.0.1";
+       sha256 = "0hm4bvlj7g9j6k2mc0s426s17nj4w1jpi0v052i2c7b0g7ahdxj8";
+       libraryHaskellDepends = [
+         base containers copilot copilot-c99 copilot-language mtl
+         optparse-applicative
+       ];
+       description = "FRP sketch programming with Copilot";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "skews" = callPackage
     ({ mkDerivation, async, base, bytestring, deque, envy, hspec
      , network, websockets
@@ -253452,8 +249674,6 @@ self: {
        ];
        description = "A very quick-and-dirty WebSocket server";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "skip-list" = callPackage
@@ -253525,29 +249745,8 @@ self: {
      }:
      mkDerivation {
        pname = "skylighting";
-       version = "0.10.5.2";
-       sha256 = "152ywiy7h04xjy0fdl571jwahl6c9350isqbm4p0na4cjd9cczzh";
-       configureFlags = [ "-fexecutable" ];
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base binary containers skylighting-core
-       ];
-       executableHaskellDepends = [
-         base blaze-html bytestring containers pretty-show text
-       ];
-       description = "syntax highlighting library";
-       license = lib.licenses.gpl2Only;
-     }) {};
-
-  "skylighting_0_12_2" = callPackage
-    ({ mkDerivation, base, binary, blaze-html, bytestring, containers
-     , pretty-show, skylighting-core, text
-     }:
-     mkDerivation {
-       pname = "skylighting";
-       version = "0.12.2";
-       sha256 = "11qzlbzw66ryp1n3fkkhh4g0g29zajs3kf7rv3byjvy9bny5qfi6";
+       version = "0.12.3";
+       sha256 = "04asis41pwr395246rnhg7xaxi0mwal14sv3x7rzhbs4cb9ycsqi";
        configureFlags = [ "-fexecutable" ];
        isLibrary = true;
        isExecutable = true;
@@ -253559,7 +249758,6 @@ self: {
        ];
        description = "syntax highlighting library";
        license = lib.licenses.gpl2Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "skylighting-core" = callPackage
@@ -253572,39 +249770,8 @@ self: {
      }:
      mkDerivation {
        pname = "skylighting-core";
-       version = "0.10.5.2";
-       sha256 = "0bskci0gng6nf324wna9ss4xbr1mwjkgk3mlfkr96r1m3wza5g3d";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson ansi-terminal attoparsec base base64-bytestring binary
-         blaze-html 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 directory filepath text
-       ];
-       description = "syntax highlighting library";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "skylighting-core_0_12_2" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, attoparsec, base
-     , base64-bytestring, binary, blaze-html, 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.12.2";
-       sha256 = "0zgwzk69ww8w88gaga9fnk2inf6rsqhy5hmj0i29xhd6pb78v92v";
+       version = "0.12.3";
+       sha256 = "0pv84asvpvanxxalqsxij6hymd0nv5zcpdysj35880api5k28l0w";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -253622,7 +249789,6 @@ self: {
        ];
        description = "syntax highlighting library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "skylighting-extensions" = callPackage
@@ -253638,6 +249804,8 @@ self: {
        ];
        description = "Customized Skylighting syntax highlighters";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "skylighting-lucid" = callPackage
@@ -253745,6 +249913,8 @@ self: {
        testHaskellDepends = [ base ];
        description = "Bindings to the Slack RTM API";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "slack-notify-haskell" = callPackage
@@ -253837,6 +250007,8 @@ self: {
        ];
        description = "Bindings for the Slack web API";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "slate" = callPackage
@@ -253864,6 +250036,7 @@ self: {
        ];
        description = "A note taking CLI tool";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "slave-thread" = callPackage
@@ -253960,6 +250133,8 @@ self: {
        ];
        description = "A quick & easy static site builder built with shake and pandoc";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "slidemews" = callPackage
@@ -254170,34 +250345,9 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Convert text into slugs";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "slynx" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, containers
-     , elynx-markov, elynx-seq, elynx-tools, elynx-tree, hmatrix
-     , monad-logger, mwc-random, optparse-applicative, statistics, text
-     , transformers, vector
-     }:
-     mkDerivation {
-       pname = "slynx";
-       version = "0.5.1.1";
-       sha256 = "1qj68fl98j0l83iny0wcdjmc80qnjc0dzkc5n1q3zl10wl10c8mc";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         attoparsec base bytestring containers elynx-markov elynx-seq
-         elynx-tools elynx-tree hmatrix monad-logger mwc-random
-         optparse-applicative statistics text transformers vector
-       ];
-       executableHaskellDepends = [ base ];
-       description = "Handle molecular sequences";
-       license = lib.licenses.gpl3Plus;
-       maintainers = with lib.maintainers; [ dschrempf ];
-     }) {};
-
-  "slynx_0_6_1_0" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
      , elynx-markov, elynx-seq, elynx-tools, elynx-tree, hmatrix
      , mwc-random, optparse-applicative, statistics, text, transformers
@@ -254205,8 +250355,8 @@ self: {
      }:
      mkDerivation {
        pname = "slynx";
-       version = "0.6.1.0";
-       sha256 = "15wjlxmhwrk3fj6hzmc9rpgc7qnkld028z79h9a5k6vs90hgcwlx";
+       version = "0.6.1.1";
+       sha256 = "14yn94hl6nlbwa1hk1mgkgckcmb6bvfk2pa3847h98g19bz7qfw4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -254217,7 +250367,6 @@ self: {
        executableHaskellDepends = [ base ];
        description = "Handle molecular sequences";
        license = lib.licenses.gpl3Plus;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ dschrempf ];
      }) {};
 
@@ -254268,6 +250417,8 @@ self: {
        ];
        description = "Flatten camel case text in LaTeX files";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "smallcheck" = callPackage
@@ -254312,7 +250463,6 @@ self: {
        description = "SmallCheck properties for common laws";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "smallcheck-lens" = callPackage
@@ -254329,7 +250479,6 @@ self: {
        description = "SmallCheck properties for lens";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "smallcheck-series" = callPackage
@@ -254349,6 +250498,8 @@ self: {
        ];
        description = "Extra SmallCheck series and utilities";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "smallpt-hs" = callPackage
@@ -254550,6 +250701,8 @@ 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
@@ -254562,6 +250715,8 @@ self: {
        testHaskellDepends = [ base ];
        description = "Optics for the `smash` library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "smash-microlens" = callPackage
@@ -254587,6 +250742,8 @@ 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
@@ -254603,27 +250760,39 @@ self: {
      }) {};
 
   "smcdel" = callPackage
-    ({ mkDerivation, ansi-terminal, array, base, containers, criterion
-     , cudd, directory, file-embed, filepath, graphviz, HasCacBDD, hspec
-     , js-jquery, process, QuickCheck, scotty, tagged, template-haskell
-     , temporary, text, time
+    ({ mkDerivation, alex, ansi-terminal, array, base, bytestring
+     , cassava, containers, criterion, cudd, deepseq, directory
+     , file-embed, filepath, graphviz, happy, HasCacBDD, hspec
+     , js-jquery, process, QuickCheck, sandwich, sandwich-webdriver
+     , scientific, scotty, split, tagged, template-haskell, temporary
+     , text, time, vector, warp, webdriver
      }:
      mkDerivation {
        pname = "smcdel";
-       version = "1.1.0";
-       sha256 = "0dz1hbhf3y57cn4hh5s2fscnpw7zjnrl2hl644xl81vbpl1zbzyn";
+       version = "1.2.0";
+       sha256 = "0ssijqlfnd1nx6w8j1sl4bhwhw78dsbipxlbdknwx340np7rmx11";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         array base containers cudd graphviz HasCacBDD process QuickCheck
-         tagged temporary text time
+         array base containers cudd directory graphviz HasCacBDD process
+         QuickCheck tagged temporary text time
        ];
+       libraryToolDepends = [ alex happy ];
        executableHaskellDepends = [
-         ansi-terminal base directory file-embed filepath HasCacBDD
-         js-jquery process scotty template-haskell text
+         ansi-terminal base deepseq directory file-embed filepath HasCacBDD
+         js-jquery process scotty template-haskell text warp
        ];
-       testHaskellDepends = [ base containers hspec QuickCheck ];
-       benchmarkHaskellDepends = [ base criterion time ];
+       executableToolDepends = [ alex happy ];
+       testHaskellDepends = [
+         base containers HasCacBDD hspec process QuickCheck sandwich
+         sandwich-webdriver text webdriver
+       ];
+       testToolDepends = [ alex happy ];
+       benchmarkHaskellDepends = [
+         base bytestring cassava criterion directory scientific split time
+         vector
+       ];
+       benchmarkToolDepends = [ alex happy ];
        description = "Symbolic Model Checking for Dynamic Epistemic Logic";
        license = lib.licenses.gpl2Only;
        hydraPlatforms = lib.platforms.none;
@@ -254744,6 +250913,8 @@ self: {
        libraryHaskellDepends = [ aeson base linear text vector ];
        description = "Smooth curves via several interpolation modes";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "smsaero" = callPackage
@@ -255189,10 +251360,8 @@ self: {
      }:
      mkDerivation {
        pname = "snap-core";
-       version = "1.0.4.2";
-       sha256 = "0zxdhx4wk70bkn71574lyz3zhq79yy98rv05r4564rd100xw3fqs";
-       revision = "1";
-       editedCabalFile = "065v61clskzikywv0gy9n4fjaszi2fnjklal83kqbzhzzgkf83ng";
+       version = "1.0.5.0";
+       sha256 = "0hf671g7h4nikfvi05q3mmcxhfcsh874dkansssn0mc68k9fsak4";
        libraryHaskellDepends = [
          attoparsec base bytestring bytestring-builder case-insensitive
          containers directory filepath hashable HUnit io-streams lifted-base
@@ -255305,6 +251474,8 @@ self: {
        ];
        description = "Language handling for Snap";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "snap-loader-dynamic" = callPackage
@@ -255657,7 +251828,6 @@ self: {
        description = "Alternate authentication snaplet";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "snaplet-environments" = callPackage
@@ -255696,7 +251866,6 @@ self: {
        description = "Fay integration for Snap with request- and pre-compilation";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "snaplet-ghcjs" = callPackage
@@ -255863,6 +252032,7 @@ self: {
        description = "Snap framework snaplet for the Mandrill API library";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "snaplet-mongoDB" = callPackage
@@ -256029,6 +252199,8 @@ self: {
        ];
        description = "Automatic (re)compilation of purescript projects";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "snaplet-recaptcha" = callPackage
@@ -256066,6 +252238,8 @@ self: {
        ];
        description = "Redis support for Snap Framework";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "snaplet-redson" = callPackage
@@ -256300,7 +252474,6 @@ 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
@@ -256431,7 +252604,6 @@ self: {
        description = "Tiny, declarative wrapper around ncurses";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "sneathlane-haste" = callPackage
@@ -256590,6 +252762,8 @@ self: {
        ];
        description = "A checksummed variation on Twitter's Snowflake UID generation algorithm";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "snowflake" = callPackage
@@ -256693,6 +252867,8 @@ self: {
        pname = "soap";
        version = "0.2.3.6";
        sha256 = "0xmiabnx814rwdwrcipv0kja6ljgwqr4x58sa8s07nrs3ph8xz6d";
+       revision = "2";
+       editedCabalFile = "04n55zcwkdc0xf9gkj4lywfx8j1xjmb9hbfl4z8fjlpwxklkwfhn";
        libraryHaskellDepends = [
          base bytestring conduit configurator data-default exceptions
          http-client http-types iconv mtl resourcet text
@@ -256714,8 +252890,8 @@ self: {
        pname = "soap-openssl";
        version = "0.1.0.2";
        sha256 = "03w389yhybzvc06gpxigibqga9mr7m41rkg1ki3n686j9xzm8210";
-       revision = "2";
-       editedCabalFile = "0zhl8x57y35ymhpznrsn2yrgc3bigjn5mabwl4nvprpznb2x44vn";
+       revision = "3";
+       editedCabalFile = "1nz8h4p94pn2kv65jbdybn9nf5djm9kycbpigk5gbh0ar52zgl4k";
        libraryHaskellDepends = [
          base configurator data-default HsOpenSSL http-client
          http-client-openssl soap text
@@ -256733,8 +252909,8 @@ self: {
        pname = "soap-tls";
        version = "0.1.1.4";
        sha256 = "051shlb128lsacd2cjm4kpyqkmzdcwcj7ppl7l4n1k5j9g6k72yf";
-       revision = "1";
-       editedCabalFile = "11djy824gaw3cbsvphq263hxjrn1b3v5p1kdivsvlyn7q9bgvms9";
+       revision = "2";
+       editedCabalFile = "06a65jphfn1nxcnm4r6gf12afxhd7cs6ax8kq22w4pai98jk3jwn";
        libraryHaskellDepends = [
          base configurator connection data-default http-client
          http-client-tls soap text tls x509 x509-store x509-validation
@@ -256828,6 +253004,7 @@ self: {
          transformers unordered-containers vector
        ];
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "socket-sctp" = callPackage
@@ -256993,8 +253170,6 @@ self: {
        ];
        description = "A small websocket backend provider";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "socks" = callPackage
@@ -257058,10 +253233,8 @@ self: {
      }:
      mkDerivation {
        pname = "solana-staking-csvs";
-       version = "0.1.1.0";
-       sha256 = "0ya63vgh0nf4p7hz6fj38m44wr77jj76bf2qxdgra3lpiziqsjd5";
-       revision = "2";
-       editedCabalFile = "1f55xdlmfj5g5r7dr71aw878g3ii9zaxj24znc370j2gd182nr13";
+       version = "0.1.2.0";
+       sha256 = "03y8p5yf0gqv0lrmijqz0p302cf1qxhc6wyxzmfbgxvy22gfs3a1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -257111,7 +253284,6 @@ self: {
        description = "Simple typesafe web routing";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "solga-swagger" = callPackage
@@ -257193,18 +253365,6 @@ self: {
     ({ mkDerivation, base, deepseq }:
      mkDerivation {
        pname = "some";
-       version = "1.0.2";
-       sha256 = "12mv5gzcvl4n5rz685r2nmmiykvnkvrvx7k4cvwscdjjgnqa9y6c";
-       libraryHaskellDepends = [ base deepseq ];
-       testHaskellDepends = [ base ];
-       description = "Existential type: Some";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "some_1_0_3" = callPackage
-    ({ mkDerivation, base, deepseq }:
-     mkDerivation {
-       pname = "some";
        version = "1.0.3";
        sha256 = "0w3syapwz9v916zf1i4f8vxymdfg7syc2cpxgnqr018pbswzxrk2";
        revision = "2";
@@ -257213,7 +253373,6 @@ self: {
        testHaskellDepends = [ base ];
        description = "Existential type: Some";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "some-dict-of" = callPackage
@@ -257399,28 +253558,28 @@ self: {
   "souffle-haskell" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, criterion
      , deepseq, directory, filepath, hedgehog, hspec, hspec-hedgehog
-     , mtl, neat-interpolation, process, template-haskell, temporary
-     , text, text-short, type-errors-pretty, vector
+     , mtl, neat-interpolation, process, profunctors, template-haskell
+     , temporary, text, text-short, type-errors-pretty, vector
      }:
      mkDerivation {
        pname = "souffle-haskell";
-       version = "3.1.0";
-       sha256 = "1sjdfrhvncsz5lg3bv29x4j2dk0dn7c5mcaj61al8ksh9r51y05l";
+       version = "3.3.0";
+       sha256 = "1v6c9c0ff63rhh49fq3cbvgciiwd9xamdxf58hz7jwhcgxcip3jj";
        libraryHaskellDepends = [
          array base bytestring containers deepseq directory filepath mtl
-         process template-haskell temporary text text-short
+         process profunctors template-haskell temporary text text-short
          type-errors-pretty vector
        ];
        testHaskellDepends = [
          array base bytestring containers deepseq directory filepath
          hedgehog hspec hspec-hedgehog mtl neat-interpolation process
-         template-haskell temporary text text-short type-errors-pretty
-         vector
+         profunctors template-haskell temporary text text-short
+         type-errors-pretty vector
        ];
        benchmarkHaskellDepends = [
          array base bytestring containers criterion deepseq directory
-         filepath mtl process template-haskell temporary text text-short
-         type-errors-pretty vector
+         filepath mtl process profunctors template-haskell temporary text
+         text-short type-errors-pretty vector
        ];
        description = "Souffle Datalog bindings for Haskell";
        license = lib.licenses.mit;
@@ -257449,8 +253608,6 @@ self: {
        ];
        description = "Approximate a song from other pieces of sound";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "sounddelay" = callPackage
@@ -257522,6 +253679,8 @@ self: {
        ];
        description = "Source constraints GHC plugin";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "sourcemap" = callPackage
@@ -257641,6 +253800,17 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "spacechar" = callPackage
+    ({ mkDerivation, base, lens, parsers }:
+     mkDerivation {
+       pname = "spacechar";
+       version = "0.0.0.5";
+       sha256 = "0wri929s3icffs63z0m7fxb22rd87w7fi8dwlbzdm6q5w29pxxnk";
+       libraryHaskellDepends = [ base lens parsers ];
+       description = "Space Character";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "spacecookie" = callPackage
     ({ mkDerivation, aeson, async, attoparsec, base, bytestring
      , containers, directory, download-curl, fast-logger
@@ -257722,12 +253892,12 @@ self: {
      , monad-loops, mtl, neat-interpolation, ordered-containers, process
      , random, scientific, sdl2, sdl2-mixer, stm, strip-ansi-escape
      , template-haskell, terminal, text, time, unordered-containers
-     , vector, WAVE
+     , vector, WAVE, with-utf8
      }:
      mkDerivation {
        pname = "spade";
-       version = "0.1.0.5";
-       sha256 = "1q0sp33r2w2gm73fr38gc2yrjllsn8lg1mqvqv3xh4sm3axaqw22";
+       version = "0.1.0.6";
+       sha256 = "12ffyb1hx2zgb7cmfbvr88xjxs423734w048nw3c3sa4qyfc0hyk";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -257735,14 +253905,14 @@ self: {
          exceptions file-embed hedgehog hex-text hspec hspec-hedgehog
          monad-loops mtl ordered-containers process random scientific sdl2
          sdl2-mixer stm template-haskell terminal text time
-         unordered-containers vector WAVE
+         unordered-containers vector WAVE with-utf8
        ];
        executableHaskellDepends = [
          aeson ansi-terminal base bytestring constraints containers Decimal
          exceptions file-embed hedgehog hex-text hspec hspec-hedgehog
          monad-loops mtl ordered-containers process random scientific sdl2
          sdl2-mixer stm template-haskell terminal text time
-         unordered-containers vector WAVE
+         unordered-containers vector WAVE with-utf8
        ];
        testHaskellDepends = [
          aeson ansi-terminal base bytestring constraints containers Decimal
@@ -257750,7 +253920,7 @@ self: {
          hspec-hedgehog monad-loops mtl neat-interpolation
          ordered-containers process random scientific sdl2 sdl2-mixer stm
          strip-ansi-escape template-haskell terminal text time
-         unordered-containers vector WAVE
+         unordered-containers vector WAVE with-utf8
        ];
        testToolDepends = [ hspec-discover ];
        description = "A simple programming and debugging environment";
@@ -257982,6 +254152,8 @@ self: {
        ];
        description = "typesafe tensor algebra library";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "sparsebit" = callPackage
@@ -258271,6 +254443,8 @@ self: {
        ];
        description = "Embedded specification language & model checker in Haskell";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "spectral-clustering" = callPackage
@@ -258295,23 +254469,6 @@ self: {
     ({ mkDerivation, base, cmdargs, containers, express, leancheck }:
      mkDerivation {
        pname = "speculate";
-       version = "0.4.10";
-       sha256 = "05yypi40k5ijml8zbv195pfl5xa1l5cz4sx5mz721jr6dvag6jn8";
-       libraryHaskellDepends = [
-         base cmdargs containers express leancheck
-       ];
-       testHaskellDepends = [ base express leancheck ];
-       benchmarkHaskellDepends = [ base express leancheck ];
-       description = "discovery of properties about Haskell functions";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "speculate_0_4_14" = callPackage
-    ({ mkDerivation, base, cmdargs, containers, express, leancheck }:
-     mkDerivation {
-       pname = "speculate";
        version = "0.4.14";
        sha256 = "1v635vvj4c3krbgv0y681l0dd3kq6knb9vfqy1jhnci14dy2nnr2";
        libraryHaskellDepends = [
@@ -258321,8 +254478,6 @@ self: {
        benchmarkHaskellDepends = [ base express leancheck ];
        description = "discovery of properties about Haskell functions";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "speculation" = callPackage
@@ -258656,7 +254811,6 @@ self: {
        ];
        description = "A parallel implementation of the Sorokina/Zeilfelder spline scheme";
        license = lib.licenses.agpl3Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "splines" = callPackage
@@ -258690,8 +254844,6 @@ self: {
        libraryHaskellDepends = [ base containers ghc hlint stm ];
        description = "HLint as a GHC source plugin";
        license = lib.licenses.isc;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "split" = callPackage
@@ -259019,6 +255171,7 @@ self: {
        description = "HTTP proxy for authenticating users via OAuth2";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "sproxy-web" = callPackage
@@ -259045,6 +255198,7 @@ self: {
        description = "Web interface to sproxy database";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "sproxy2" = callPackage
@@ -259070,7 +255224,6 @@ self: {
        ];
        description = "Secure HTTP proxy for authenticating users via OAuth2";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "spsa" = callPackage
@@ -259359,7 +255512,6 @@ self: {
        description = "Initial project template from stack";
        license = lib.licenses.mpl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "squares" = callPackage
@@ -259385,48 +255537,6 @@ self: {
      , network-ip, postgresql-binary, postgresql-libpq, profunctors
      , QuickCheck, quickcheck-instances, records-sop, resource-pool
      , scientific, text, time, transformers, transformers-base, unliftio
-     , unliftio-pool, uuid-types, vector, with-utf8
-     }:
-     mkDerivation {
-       pname = "squeal-postgresql";
-       version = "0.7.0.1";
-       sha256 = "0r8rihfn2bmr32h06lcdmp6wiyj1c4m03x4y2sfq8bgwmn5xb50r";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base binary binary-parser bytestring
-         bytestring-strict-builder deepseq exceptions free-categories
-         generics-sop mmorph monad-control mtl network-ip postgresql-binary
-         postgresql-libpq profunctors records-sop resource-pool scientific
-         text time transformers transformers-base unliftio unliftio-pool
-         uuid-types vector
-       ];
-       executableHaskellDepends = [
-         base bytestring generics-sop mtl text transformers vector
-       ];
-       testHaskellDepends = [
-         async base bytestring doctest generics-sop hedgehog hspec mtl
-         scientific text time vector with-utf8
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring deepseq gauge generic-random generics-sop
-         monad-loops mtl QuickCheck quickcheck-instances scientific text
-         with-utf8
-       ];
-       description = "Squeal PostgreSQL Library";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "squeal-postgresql_0_8_1_1" = callPackage
-    ({ mkDerivation, aeson, async, base, binary, binary-parser
-     , bytestring, bytestring-strict-builder, deepseq, doctest
-     , exceptions, free-categories, gauge, generic-random, generics-sop
-     , hedgehog, hspec, mmorph, monad-control, monad-loops, mtl
-     , network-ip, postgresql-binary, postgresql-libpq, profunctors
-     , QuickCheck, quickcheck-instances, records-sop, resource-pool
-     , scientific, text, time, transformers, transformers-base, unliftio
      , uuid-types, vector, with-utf8
      }:
      mkDerivation {
@@ -259457,7 +255567,6 @@ self: {
        description = "Squeal PostgreSQL Library";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "squeal-postgresql-ltree" = callPackage
@@ -259527,7 +255636,6 @@ self: {
        ];
        description = "A file-packing application";
        license = "GPL";
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "sr-extra" = callPackage
@@ -259582,8 +255690,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "srcloc";
-       version = "0.6";
-       sha256 = "1vcp9vgfi5rscy09l4qaq0pp426b6qcdpzs6kpbzg0k5x81kcsbb";
+       version = "0.6.0.1";
+       sha256 = "1ldn2dwxhyjll6nvsxylgvxfl7m6j4kk1qzv5xhklg1avfhz4khm";
        libraryHaskellDepends = [ base ];
        description = "Data types for managing source code locations";
        license = lib.licenses.bsd3;
@@ -259898,8 +256006,6 @@ self: {
        libraryHaskellDepends = [ base gdp primitive ];
        description = "shared heap regions between local mutable state threads";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "stable-heap" = callPackage
@@ -259991,50 +256097,14 @@ self: {
     ({ mkDerivation, aeson, base, bytestring, containers, criterion
      , deepseq, directory, file-embed, filepath, gitrev, hspec
      , hspec-discover, hspec-megaparsec, megaparsec, mtl
-     , optparse-applicative, template-haskell, text
-     , unordered-containers, vector, yaml
-     }:
-     mkDerivation {
-       pname = "stache";
-       version = "2.3.0";
-       sha256 = "1gfmr9gcq9zm7ljp2nqmc41lpig11d19xsqzazr2mvm5ddsi69cr";
-       revision = "1";
-       editedCabalFile = "0akyrm2zf2aq73fqi07fnkns3waxqciyzawv0nmr8yhkdaqj6plj";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson base bytestring containers deepseq directory filepath
-         megaparsec mtl template-haskell text unordered-containers vector
-       ];
-       executableHaskellDepends = [
-         aeson base filepath gitrev optparse-applicative text
-         unordered-containers yaml
-       ];
-       testHaskellDepends = [
-         aeson base bytestring containers file-embed hspec hspec-megaparsec
-         megaparsec template-haskell text yaml
-       ];
-       testToolDepends = [ hspec-discover ];
-       benchmarkHaskellDepends = [
-         aeson base criterion deepseq megaparsec text
-       ];
-       description = "Mustache templates for Haskell";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "stache_2_3_1" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, criterion
-     , deepseq, directory, file-embed, filepath, gitrev, hspec
-     , hspec-discover, hspec-megaparsec, megaparsec, mtl
      , optparse-applicative, template-haskell, text, vector, yaml
      }:
      mkDerivation {
        pname = "stache";
        version = "2.3.1";
        sha256 = "1a26pwg6y90588yf9sp18w4b2ahr64fxdhy1c3zv0c9pw7bv6k6q";
-       revision = "2";
-       editedCabalFile = "1bmnpm7galndl2a87vhbbrhxn1wn09x2l6bqwasfmczyjisn78a8";
+       revision = "3";
+       editedCabalFile = "1di10cbxg1xkj1fwimdfqhspk084xg2a1wvff3i2q336xa6jbqfl";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -260055,7 +256125,6 @@ self: {
        ];
        description = "Mustache templates for Haskell";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "stack" = callPackage
@@ -260065,13 +256134,13 @@ self: {
      , containers, cryptonite, cryptonite-conduit, deepseq, directory
      , echo, exceptions, extra, file-embed, filelock, filepath, fsnotify
      , generic-deriving, hackage-security, hashable, hi-file-parser
-     , hpack, hpc, hspec, http-client, http-client-tls, http-conduit
-     , http-download, http-types, memory, microlens, mintty
-     , mono-traversable, mtl, mustache, neat-interpolation, network-uri
-     , open-browser, optparse-applicative, pantry, path, path-io
-     , persistent, persistent-sqlite, persistent-template, pretty
-     , primitive, process, project-template, QuickCheck, raw-strings-qq
-     , regex-applicative-text, retry, rio, rio-prettyprint, semigroups
+     , hpack, hpc, hspec, hspec-discover, http-client, http-client-tls
+     , http-conduit, http-download, http-types, memory, microlens
+     , mintty, mono-traversable, mtl, mustache, neat-interpolation
+     , network-uri, open-browser, optparse-applicative, pantry, path
+     , path-io, persistent, persistent-sqlite, persistent-template
+     , pretty, primitive, process, project-template, QuickCheck
+     , raw-strings-qq, retry, rio, rio-prettyprint, semigroups
      , smallcheck, split, stm, streaming-commons, tar, template-haskell
      , temporary, text, text-metrics, th-reify-many, time, tls
      , transformers, typed-process, unicode-transforms, unix
@@ -260080,10 +256149,10 @@ self: {
      }:
      mkDerivation {
        pname = "stack";
-       version = "2.7.3";
-       sha256 = "0i2v5i6bg90n6i4clcaww8m8702d3y5z8r03xdizdisjhf0zijj7";
-       revision = "2";
-       editedCabalFile = "0i1fgairidy8g8zcf9wim4cg2y2xsvknkyz7dnb1mzy02ls6kqjb";
+       version = "2.7.5";
+       sha256 = "103yyfl02chbmkb6csri403921z7jhfdrrv99lch951flv149pcx";
+       revision = "1";
+       editedCabalFile = "1mig6gkpfynjias4w8grg8s1zly2m51mnj29ljl1fs2qn93dq1iz";
        configureFlags = [
          "-fdisable-git-info" "-fhide-dependency-versions"
          "-fsupported-build"
@@ -260102,11 +256171,11 @@ self: {
          mtl mustache neat-interpolation network-uri open-browser
          optparse-applicative pantry path path-io persistent
          persistent-sqlite persistent-template pretty primitive process
-         project-template regex-applicative-text retry rio rio-prettyprint
-         semigroups split stm streaming-commons tar template-haskell
-         temporary text text-metrics th-reify-many time tls transformers
-         typed-process unicode-transforms unix unix-compat unliftio
-         unordered-containers vector yaml zip-archive zlib
+         project-template retry rio rio-prettyprint semigroups split stm
+         streaming-commons tar template-haskell temporary text text-metrics
+         th-reify-many time tls transformers typed-process
+         unicode-transforms unix unix-compat unliftio unordered-containers
+         vector yaml zip-archive zlib
        ];
        executableHaskellDepends = [
          aeson annotated-wl-pprint ansi-terminal array async attoparsec base
@@ -260119,11 +256188,11 @@ self: {
          mtl mustache neat-interpolation network-uri open-browser
          optparse-applicative pantry path path-io persistent
          persistent-sqlite persistent-template pretty primitive process
-         project-template regex-applicative-text retry rio rio-prettyprint
-         semigroups split stm streaming-commons tar template-haskell
-         temporary text text-metrics th-reify-many time tls transformers
-         typed-process unicode-transforms unix unix-compat unliftio
-         unordered-containers vector yaml zip-archive zlib
+         project-template retry rio rio-prettyprint semigroups split stm
+         streaming-commons tar template-haskell temporary text text-metrics
+         th-reify-many time tls transformers typed-process
+         unicode-transforms unix unix-compat unliftio unordered-containers
+         vector yaml zip-archive zlib
        ];
        testHaskellDepends = [
          aeson annotated-wl-pprint ansi-terminal array async attoparsec base
@@ -260136,13 +256205,13 @@ self: {
          mono-traversable mtl mustache neat-interpolation network-uri
          open-browser optparse-applicative pantry path path-io persistent
          persistent-sqlite persistent-template pretty primitive process
-         project-template QuickCheck raw-strings-qq regex-applicative-text
-         retry rio rio-prettyprint semigroups smallcheck split stm
-         streaming-commons tar template-haskell temporary text text-metrics
-         th-reify-many time tls transformers typed-process
-         unicode-transforms unix unix-compat unliftio unordered-containers
-         vector yaml zip-archive zlib
+         project-template QuickCheck raw-strings-qq retry rio
+         rio-prettyprint semigroups smallcheck split stm streaming-commons
+         tar template-haskell temporary text text-metrics th-reify-many time
+         tls transformers typed-process unicode-transforms unix unix-compat
+         unliftio unordered-containers vector yaml zip-archive zlib
        ];
+       testToolDepends = [ hspec-discover ];
        doCheck = false;
        preCheck = "export HOME=$TMPDIR";
        postInstall = ''
@@ -260152,6 +256221,7 @@ self: {
        '';
        description = "The Haskell Tool Stack";
        license = lib.licenses.bsd3;
+       maintainers = with lib.maintainers; [ cdepillabout ];
      }) {};
 
   "stack-all" = callPackage
@@ -260161,8 +256231,8 @@ self: {
      }:
      mkDerivation {
        pname = "stack-all";
-       version = "0.4";
-       sha256 = "0m9wiy233lw6bp6gz4h2x8bdi0lwsjl36bzx6544cdp91vllkzj1";
+       version = "0.4.0.1";
+       sha256 = "0aw5bx737cg0isdnnrhlwba0ddjki57p4ygav4piv5d3ffzhrfzm";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -260256,6 +256326,7 @@ self: {
        description = "Initial project template from stack";
        license = lib.licenses.isc;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "stack-lib" = callPackage
@@ -260475,10 +256546,8 @@ self: {
      }:
      mkDerivation {
        pname = "stack2cabal";
-       version = "1.0.12";
-       sha256 = "0424qz4fy8218a0zr8pw5kbaldrb3wddvsb87sjqbb4q5qcm7rj7";
-       revision = "1";
-       editedCabalFile = "12i5fnjf393jnfqq1qchfd0bpa0isj4j0bzs14wp80s7sh8f10kz";
+       version = "1.0.13";
+       sha256 = "00jibr5mvvaj9ggzvp3f0qcrwz51bg3a2m1447c45cwhailzaqkk";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -260656,7 +256725,6 @@ self: {
        description = "Tools for curating Stackage bundles";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "stackage-install" = callPackage
@@ -260895,31 +256963,6 @@ self: {
      }) {};
 
   "stackcollapse-ghc" = callPackage
-    ({ mkDerivation, base, bytestring, containers, extra, foldl, hspec
-     , hspec-golden, recursion-schemes, rosezipper, safe, text
-     , transformers, utf8-string
-     }:
-     mkDerivation {
-       pname = "stackcollapse-ghc";
-       version = "0.0.1.3";
-       sha256 = "05271x47b2aik2msfm9f6jsazb174p667acwyd84vs73nygpbmdk";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         base bytestring containers extra foldl recursion-schemes rosezipper
-         safe text transformers
-       ];
-       testHaskellDepends = [
-         base bytestring containers extra foldl hspec hspec-golden
-         recursion-schemes rosezipper safe text transformers utf8-string
-       ];
-       description = "Program to fold GHC prof files into flamegraph input";
-       license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "stackcollapse-ghc_0_0_1_4" = callPackage
     ({ mkDerivation, base, bytestring, containers, extra, filepath
      , foldl, hspec, hspec-golden, recursion-schemes, rosezipper, safe
      , text, transformers, utf8-string
@@ -260942,8 +256985,6 @@ self: {
        ];
        description = "Program to fold GHC prof files into flamegraph input";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "stacked-dag" = callPackage
@@ -260990,8 +257031,6 @@ self: {
        ];
        description = "GHC.Generics style staged generics";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "stagen" = callPackage
@@ -261046,6 +257085,7 @@ self: {
        doHaddock = false;
        description = "Haskell STatic ANalyser";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "standalone-derive-topdown" = callPackage
@@ -261302,16 +257342,12 @@ self: {
      }) {};
 
   "statestack" = callPackage
-    ({ mkDerivation, base, mtl, transformers, transformers-compat }:
+    ({ mkDerivation, base, mtl, transformers }:
      mkDerivation {
        pname = "statestack";
-       version = "0.3";
-       sha256 = "1b8yd314h8a97ggjv82cy4mr0f4scb5pjvslxq7hwxxq7cw7mgns";
-       revision = "2";
-       editedCabalFile = "00qpdrgxibfcdablasi5bdvdflxfgdk3hyg6461nsymwagr42ya3";
-       libraryHaskellDepends = [
-         base mtl transformers transformers-compat
-       ];
+       version = "0.3.1";
+       sha256 = "0h8kwzf117zb2ffc5phbvlxpgza8h59bjg93ndp7r1ks0jvs5lpr";
+       libraryHaskellDepends = [ base mtl transformers ];
        description = "Simple State-like monad transformer with saveable and restorable state";
        license = lib.licenses.bsd3;
      }) {};
@@ -261363,6 +257399,8 @@ self: {
        ];
        description = "Type-safe and interoperable static values and closures";
        license = lib.licenses.gpl3Plus;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "static-canvas" = callPackage
@@ -261487,32 +257525,6 @@ self: {
      }) {};
 
   "statistics" = callPackage
-    ({ mkDerivation, aeson, async, base, base-orphans, binary
-     , data-default-class, deepseq, dense-linear-algebra, erf, ieee754
-     , math-functions, monad-par, mwc-random, primitive, QuickCheck
-     , tasty, tasty-expected-failure, tasty-hunit, tasty-quickcheck
-     , vector, vector-algorithms, vector-binary-instances
-     , vector-th-unbox
-     }:
-     mkDerivation {
-       pname = "statistics";
-       version = "0.15.2.0";
-       sha256 = "0j9awbg47fzb58k5z2wgkp6a0042j7hqrl1g6lyflrbsfswdp5n4";
-       libraryHaskellDepends = [
-         aeson async base base-orphans binary data-default-class deepseq
-         dense-linear-algebra math-functions monad-par mwc-random primitive
-         vector vector-algorithms vector-binary-instances vector-th-unbox
-       ];
-       testHaskellDepends = [
-         aeson base binary dense-linear-algebra erf ieee754 math-functions
-         mwc-random primitive QuickCheck tasty tasty-expected-failure
-         tasty-hunit tasty-quickcheck vector vector-algorithms
-       ];
-       description = "A library of statistical types, data, and functions";
-       license = lib.licenses.bsd2;
-     }) {};
-
-  "statistics_0_16_0_1" = callPackage
     ({ mkDerivation, aeson, async, base, binary, data-default-class
      , deepseq, dense-linear-algebra, erf, ieee754, math-functions
      , monad-par, mwc-random, primitive, QuickCheck, random, tasty
@@ -261521,8 +257533,8 @@ self: {
      }:
      mkDerivation {
        pname = "statistics";
-       version = "0.16.0.1";
-       sha256 = "16ynj3bj8j70w4iq4xsrz7h140cp0jff0fv1iybsjl3lr83hdvk0";
+       version = "0.16.0.2";
+       sha256 = "0xywmlwzknfiwph3w00zzwya1mgf4qfsyp2pnvdmp806s5da6plg";
        libraryHaskellDepends = [
          aeson async base binary data-default-class deepseq
          dense-linear-algebra math-functions monad-par mwc-random primitive
@@ -261536,7 +257548,6 @@ self: {
        ];
        description = "A library of statistical types, data, and functions";
        license = lib.licenses.bsd2;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "statistics-dirichlet" = callPackage
@@ -261779,6 +257790,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "What version is the package X in stackage lts-Y.ZZ?";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "stb-image" = callPackage
@@ -261792,7 +257805,7 @@ self: {
        license = lib.licenses.publicDomain;
      }) {};
 
-  "stb-image-redux_0_2_1_2" = callPackage
+  "stb-image-redux" = callPackage
     ({ mkDerivation, base, hspec, vector }:
      mkDerivation {
        pname = "stb-image-redux";
@@ -261806,20 +257819,6 @@ self: {
        broken = true;
      }) {};
 
-  "stb-image-redux" = callPackage
-    ({ mkDerivation, base, hspec, vector }:
-     mkDerivation {
-       pname = "stb-image-redux";
-       version = "0.2.1.3";
-       sha256 = "01xm1vlyfmnnvr5vy9ry7cjwv9ffip0s4zlxcyvfnsgja08l5ni4";
-       libraryHaskellDepends = [ base vector ];
-       testHaskellDepends = [ base hspec vector ];
-       description = "Image loading and writing microlibrary";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
   "stb-truetype" = callPackage
     ({ mkDerivation, array, base, bytestring, containers }:
      mkDerivation {
@@ -261984,6 +257983,8 @@ self: {
        ];
        description = "A file watcher and development tool";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "stego-uuid" = callPackage
@@ -262585,6 +258586,24 @@ self: {
        license = "LGPL";
      }) {};
 
+  "stooq-api" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, lens, text, time
+     , utf8-string, vector, wreq
+     }:
+     mkDerivation {
+       pname = "stooq-api";
+       version = "0.1.0.0";
+       sha256 = "0r4sc0w9ghlvlysj5aycawlhrb9iylczg8nb0kdkw4790nrd5if0";
+       libraryHaskellDepends = [
+         aeson base bytestring lens text time utf8-string vector wreq
+       ];
+       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
     ({ mkDerivation, base, clock, hspec, transformers }:
      mkDerivation {
@@ -262644,21 +258663,6 @@ self: {
      }) {};
 
   "storable-record" = callPackage
-    ({ mkDerivation, base, semigroups, transformers, utility-ht }:
-     mkDerivation {
-       pname = "storable-record";
-       version = "0.0.5";
-       sha256 = "17nf0bx3g169cpslf8prr5h5lvxl389m23rbsyb3kdai45fibpwf";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base semigroups transformers utility-ht
-       ];
-       description = "Elegant definition of Storable instances for records";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "storable-record_0_0_6" = callPackage
     ({ mkDerivation, base, QuickCheck, semigroups, transformers
      , utility-ht
      }:
@@ -262673,7 +258677,6 @@ self: {
        ];
        description = "Elegant definition of Storable instances for records";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "storable-static-array" = callPackage
@@ -262894,6 +258897,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "EDSL for AWS CloudFormation";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "stratum-tool" = callPackage
@@ -262915,7 +258920,6 @@ self: {
        description = "Client for Stratum protocol";
        license = lib.licenses.agpl3Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "stratux" = callPackage
@@ -263145,7 +259149,6 @@ self: {
        ];
        description = "Streaming conversion from/to base64";
        license = lib.licenses.publicDomain;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "streaming-benchmarks" = callPackage
@@ -263224,6 +259227,7 @@ self: {
        description = "Streaming interface for Brotli (RFC7932) compression";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "streaming-bytestring" = callPackage
@@ -263266,6 +259270,8 @@ self: {
        ];
        description = "Cassava support for the streaming ecosystem";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "streaming-commons" = callPackage
@@ -263313,6 +259319,7 @@ self: {
        description = "Concurrency support for the streaming ecosystem";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "streaming-conduit" = callPackage
@@ -263521,6 +259528,8 @@ self: {
        ];
        description = "Stream postgresql-query results using the streaming library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "streaming-process" = callPackage
@@ -263568,6 +259577,7 @@ self: {
        description = "Sorting streams";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "streaming-utils" = callPackage
@@ -263589,7 +259599,6 @@ 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
@@ -263621,39 +259630,32 @@ self: {
        ];
        description = "with/bracket-style idioms for use with streaming";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "streamly" = callPackage
     ({ mkDerivation, atomic-primops, base, containers, deepseq
-     , directory, exceptions, fusion-plugin-types, ghc, ghc-prim, heaps
-     , hspec, lockfree-queue, monad-control, mtl, network, primitive
-     , QuickCheck, random, transformers, transformers-base
+     , directory, exceptions, filepath, fusion-plugin-types, ghc-prim
+     , heaps, lockfree-queue, monad-control, mtl, network, primitive
+     , transformers, transformers-base, unicode-data
      }:
      mkDerivation {
        pname = "streamly";
-       version = "0.7.3";
-       sha256 = "11bjyyqc745igw7122284fjph0922l56jddnhfy5h7w84nj35ck3";
+       version = "0.8.1.1";
+       sha256 = "13m415pcyyzipm5nsf9l8lcan3dn2ck666rq014y46zd66l5ahb9";
        revision = "1";
-       editedCabalFile = "1fbhk59p5hjkxf4dnghs8wb70pyv0kx6br5sf4csf4vk1rkqyljw";
-       isLibrary = true;
-       isExecutable = true;
+       editedCabalFile = "0y9pq53jd2wf7xb5i51pa6vm728sza405dx37j8rqnqxxbm5sq7y";
        libraryHaskellDepends = [
          atomic-primops base containers deepseq directory exceptions
-         fusion-plugin-types ghc-prim heaps lockfree-queue monad-control mtl
-         network primitive transformers transformers-base
-       ];
-       testHaskellDepends = [
-         base containers exceptions ghc hspec mtl QuickCheck random
-         transformers
+         filepath fusion-plugin-types ghc-prim heaps lockfree-queue
+         monad-control mtl network primitive transformers transformers-base
+         unicode-data
        ];
-       description = "Beautiful Streaming, Concurrent and Reactive Composition";
+       description = "Dataflow programming and declarative concurrency";
        license = lib.licenses.bsd3;
        maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
-  "streamly_0_8_1_1" = callPackage
+  "streamly_0_8_2" = callPackage
     ({ mkDerivation, atomic-primops, base, containers, deepseq
      , directory, exceptions, filepath, fusion-plugin-types, ghc-prim
      , heaps, lockfree-queue, monad-control, mtl, network, primitive
@@ -263661,10 +259663,8 @@ self: {
      }:
      mkDerivation {
        pname = "streamly";
-       version = "0.8.1.1";
-       sha256 = "13m415pcyyzipm5nsf9l8lcan3dn2ck666rq014y46zd66l5ahb9";
-       revision = "1";
-       editedCabalFile = "0y9pq53jd2wf7xb5i51pa6vm728sza405dx37j8rqnqxxbm5sq7y";
+       version = "0.8.2";
+       sha256 = "0mqixkxvwcvb0fcgsrd1xvi9hag5dwj1cwg4brsmzj138fkjrn47";
        libraryHaskellDepends = [
          atomic-primops base containers deepseq directory exceptions
          filepath fusion-plugin-types ghc-prim heaps lockfree-queue
@@ -263684,27 +259684,6 @@ self: {
      }:
      mkDerivation {
        pname = "streamly-archive";
-       version = "0.0.2";
-       sha256 = "00cd5ssa5hi4pvc5li24z68f1k50h02frn4668gcrv8lr5kh6s50";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ base bytestring streamly ];
-       librarySystemDepends = [ archive ];
-       testHaskellDepends = [
-         base bytestring cryptonite directory filepath QuickCheck streamly
-         tar tasty tasty-hunit tasty-quickcheck temporary zlib
-       ];
-       testSystemDepends = [ archive ];
-       description = "Stream data from archives using the streamly library";
-       license = lib.licenses.bsd3;
-     }) {archive = null;};
-
-  "streamly-archive_0_1_0" = callPackage
-    ({ mkDerivation, archive, base, bytestring, cryptonite, directory
-     , filepath, QuickCheck, streamly, tar, tasty, tasty-hunit
-     , tasty-quickcheck, temporary, zlib
-     }:
-     mkDerivation {
-       pname = "streamly-archive";
        version = "0.1.0";
        sha256 = "0094qi2n7fg7hsdaag307gmcvgrl39m4w0lz29csrk1fq4yy578x";
        enableSeparateDataOutput = true;
@@ -263717,7 +259696,6 @@ self: {
        testSystemDepends = [ archive ];
        description = "Stream data from archives using the streamly library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {archive = null;};
 
   "streamly-binary" = callPackage
@@ -263734,6 +259712,8 @@ self: {
        ];
        description = "Integration of streamly and binary";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "streamly-bytestring" = callPackage
@@ -263743,30 +259723,10 @@ self: {
      }:
      mkDerivation {
        pname = "streamly-bytestring";
-       version = "0.1.2";
-       sha256 = "1j9lpggz23idlkj8rvb8bqg29xfzb7cmzf3lhyc43i5w73jslkv3";
-       libraryHaskellDepends = [ base bytestring streamly ];
-       testHaskellDepends = [
-         base bytestring directory filepath hspec hspec-discover
-         quickcheck-instances random streamly temporary
-       ];
-       testToolDepends = [ hspec-discover ];
-       benchmarkHaskellDepends = [
-         base bytestring deepseq gauge random streamly
-       ];
-       description = "Library for streamly and bytestring interoperation";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "streamly-bytestring_0_1_4" = callPackage
-    ({ mkDerivation, base, bytestring, deepseq, directory, filepath
-     , gauge, hspec, hspec-discover, quickcheck-instances, random
-     , streamly, temporary
-     }:
-     mkDerivation {
-       pname = "streamly-bytestring";
        version = "0.1.4";
        sha256 = "1qwgrxm2x46951si18sbmqhq4fik26l07kmspv23m9q3drn0mklc";
+       revision = "3";
+       editedCabalFile = "0jbiq6g025qyhvl05f0shvnak4jnpxngzjz1n73c8hnjb47kzc21";
        libraryHaskellDepends = [ base bytestring streamly ];
        testHaskellDepends = [
          base bytestring directory filepath hspec hspec-discover
@@ -263778,7 +259738,6 @@ self: {
        ];
        description = "Library for streamly and bytestring interoperation";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "streamly-cassava" = callPackage
@@ -263805,6 +259764,8 @@ self: {
        ];
        description = "CSV streaming support via cassava for the streamly ecosystem";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "streamly-examples" = callPackage
@@ -263814,8 +259775,8 @@ self: {
      }:
      mkDerivation {
        pname = "streamly-examples";
-       version = "0.1.1";
-       sha256 = "174283sarx0ccjzzxill9l06hi7g9jz76sxwlb4fyc03db5q027i";
+       version = "0.1.2";
+       sha256 = "1asxc7pdrbj8ymdwdhxkvscaqdimm45gm57yxlbvdxibqk45nbjc";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -263851,25 +259812,6 @@ self: {
      }:
      mkDerivation {
        pname = "streamly-lmdb";
-       version = "0.2.1";
-       sha256 = "08rj29i3vb4ahgrd2zhyi2sl1lk95s7vk020xx9mwzi8sbn0ay05";
-       libraryHaskellDepends = [ async base bytestring streamly ];
-       librarySystemDepends = [ lmdb ];
-       testHaskellDepends = [
-         async base bytestring directory QuickCheck streamly tasty
-         tasty-quickcheck temporary
-       ];
-       testSystemDepends = [ lmdb ];
-       description = "Stream data to or from LMDB databases using the streamly library";
-       license = lib.licenses.bsd3;
-     }) {inherit (pkgs) lmdb;};
-
-  "streamly-lmdb_0_4_0" = callPackage
-    ({ mkDerivation, async, base, bytestring, directory, lmdb
-     , QuickCheck, streamly, tasty, tasty-quickcheck, temporary
-     }:
-     mkDerivation {
-       pname = "streamly-lmdb";
        version = "0.4.0";
        sha256 = "10749fl4dgm89z1d6sas1ngwxkkfl385465yxnrhxcc63wz53p5d";
        libraryHaskellDepends = [ async base bytestring streamly ];
@@ -263881,7 +259823,6 @@ self: {
        testSystemDepends = [ lmdb ];
        description = "Stream data to or from LMDB databases using the streamly library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) lmdb;};
 
   "streamly-lz4" = callPackage
@@ -263890,8 +259831,8 @@ self: {
      }:
      mkDerivation {
        pname = "streamly-lz4";
-       version = "0.1.1";
-       sha256 = "1ac7lby73pylzyg84nr155sfkcjj2p9kaj0v99va3kx4r6j4jr81";
+       version = "0.1.2";
+       sha256 = "1i7j042645367z57fzpmmzz3993106ppidim24fk6kvglm5i0xwg";
        libraryHaskellDepends = [
          base exceptions fusion-plugin-types streamly
        ];
@@ -263930,8 +259871,8 @@ self: {
      }:
      mkDerivation {
        pname = "streamly-process";
-       version = "0.2.0";
-       sha256 = "0ryf0hbqdpzlips3hyrhb310ha3h8fbna4rd8lqzj67dya66rd3r";
+       version = "0.2.0.1";
+       sha256 = "1drzhkqdxxyxaymbx55p0nwy4yjf959i8gn1ap9m9jbjkf0w2l6l";
        libraryHaskellDepends = [ base exceptions process streamly unix ];
        testHaskellDepends = [
          base directory exceptions hspec process QuickCheck streamly
@@ -264280,21 +260221,6 @@ self: {
     ({ mkDerivation, base, lens, strict-tuple }:
      mkDerivation {
        pname = "strict-tuple-lens";
-       version = "0.1.0.1";
-       sha256 = "1vvhbzbyfvkx76scygg8gwfp01cw6ks38hk0gb70xdl2lyzi80wg";
-       revision = "1";
-       editedCabalFile = "0875r7kva6ym17fdklh18vm4s04sd9pj0w55km8jv2kmbkmfja8k";
-       libraryHaskellDepends = [ base lens strict-tuple ];
-       description = "Optics for the `strict-tuple` library";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "strict-tuple-lens_0_2" = callPackage
-    ({ mkDerivation, base, lens, strict-tuple }:
-     mkDerivation {
-       pname = "strict-tuple-lens";
        version = "0.2";
        sha256 = "02pagvg6rz0bdkxvikv7ac7766b329j84jbd42cjqr193wjphqd4";
        libraryHaskellDepends = [ base lens strict-tuple ];
@@ -264408,16 +260334,41 @@ self: {
      }) {};
 
   "string-conv" = callPackage
-    ({ mkDerivation, base, bytestring, text }:
+    ({ mkDerivation, base, bytestring, quickcheck-instances, tasty
+     , tasty-quickcheck, text
+     }:
      mkDerivation {
        pname = "string-conv";
-       version = "0.1.2";
-       sha256 = "0fb04bm384rpiq7kd7v783z1sriqialvjyn0f6dg2si9dwza0ngj";
+       version = "0.2.0";
+       sha256 = "15lh7b3jhhv4bwgsswmq447nz4l97gi0hh8ws9njpidi1q0s7kir";
        libraryHaskellDepends = [ base bytestring text ];
+       testHaskellDepends = [
+         base bytestring quickcheck-instances tasty tasty-quickcheck text
+       ];
        description = "Standardized conversion between string types";
        license = lib.licenses.bsd3;
      }) {};
 
+  "string-conv-tests" = callPackage
+    ({ mkDerivation, base, bytestring, quickcheck-instances
+     , string-conv, tasty, tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "string-conv-tests";
+       version = "0.1.1";
+       sha256 = "13p6x1par3yh4inrhy1785mni3d4cgq143lcm662z71ilb9aacag";
+       isLibrary = false;
+       isExecutable = false;
+       testHaskellDepends = [
+         base bytestring quickcheck-instances string-conv tasty
+         tasty-quickcheck text
+       ];
+       description = "Tests for the string-conv library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "string-conversions" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, hspec, QuickCheck
      , quickcheck-instances, text, utf8-string
@@ -264460,6 +260411,8 @@ self: {
        libraryHaskellDepends = [ base bytestring memory text ];
        description = "Conversions between common string types, as well as Base16/Base32/Base64";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "string-interpolate" = callPackage
@@ -264496,8 +260449,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "string-interpreter";
-       version = "0.5.4.1";
-       sha256 = "1dgmqircw5gz62crxzx3d7gk2xyvmcwqdy15rpjgy2q7q5brcv7h";
+       version = "0.5.5.0";
+       sha256 = "094fh3byv0bgcaccq15nqra31cw12csmyqj38hib2a2p6jnc3mq1";
        libraryHaskellDepends = [ base ];
        description = "Is used in the phonetic languages approach (e. g. in the recursive mode).";
        license = lib.licenses.mit;
@@ -264795,6 +260748,8 @@ self: {
        ];
        description = "Stripe API for Haskell - Pure Core";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "stripe-haskell" = callPackage
@@ -264833,7 +260788,6 @@ self: {
        description = "Unofficial Stripe client";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "stripe-http-client" = callPackage
@@ -264875,7 +260829,6 @@ self: {
        description = "Stripe API for Haskell - http-streams backend";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "stripe-scotty" = callPackage
@@ -264884,15 +260837,14 @@ self: {
      }:
      mkDerivation {
        pname = "stripe-scotty";
-       version = "1.1.0.1";
-       sha256 = "1izc4mhfvwf83mnacmqghhz9fx9h12mdk4hc963ddk6k4lda3w80";
+       version = "1.1.0.2";
+       sha256 = "123l1khqd0ilcihrij1givz4lg2jns2r2iyf90yjh7zdva1xf507";
        libraryHaskellDepends = [
          aeson base bytestring http-types scotty stripe-concepts
          stripe-signature text
        ];
        description = "Listen for Stripe webhook events with Scotty";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "stripe-servant" = callPackage
@@ -264909,6 +260861,8 @@ self: {
        ];
        description = "Unofficial Stripe servant types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "stripe-signature" = callPackage
@@ -264928,8 +260882,6 @@ self: {
        ];
        description = "Verification of Stripe webhook signatures";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "stripe-tests" = callPackage
@@ -264948,7 +260900,6 @@ self: {
        description = "Tests for Stripe API bindings for Haskell";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "stripe-wreq" = callPackage
@@ -264957,15 +260908,13 @@ self: {
      }:
      mkDerivation {
        pname = "stripe-wreq";
-       version = "1.0.1.12";
-       sha256 = "0ixxzzd2yap0xgz47x335sp02jkmkilv0ra4b8v0x55pg2f377w2";
+       version = "1.0.1.14";
+       sha256 = "01z0hqqnnc2g8q0bzj4brjmd9wmpjda4rlk770brvk9ip9mjdlys";
        libraryHaskellDepends = [
          aeson base bytestring lens stripe-concepts text wreq
        ];
        description = "Use the Stripe API via Wreq";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "stripeapi" = callPackage
@@ -265008,32 +260957,14 @@ self: {
      }:
      mkDerivation {
        pname = "strive";
-       version = "5.0.16";
-       sha256 = "1y3msxm71g71mj940gdd1sqkndrk857ywp9j685csaxhiprmrzz1";
-       libraryHaskellDepends = [
-         aeson base bytestring data-default gpolyline http-client
-         http-client-tls http-types template-haskell text time transformers
-       ];
-       description = "A client for the Strava V3 API";
-       license = lib.licenses.mit;
-     }) {};
-
-  "strive_6_0_0_1" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, data-default, gpolyline
-     , http-client, http-client-tls, http-types, template-haskell, text
-     , time, transformers
-     }:
-     mkDerivation {
-       pname = "strive";
-       version = "6.0.0.1";
-       sha256 = "1vhszra49nfqx3lfyc378krxx8gf3cs2s6vb602fzlbjbm54i9mh";
+       version = "6.0.0.2";
+       sha256 = "02bw8qsfixjdlyzp1gpgrrj0qacw40rsw75858l0894lyq7x35hk";
        libraryHaskellDepends = [
          aeson base bytestring data-default gpolyline http-client
          http-client-tls http-types template-haskell text time transformers
        ];
        description = "A client for the Strava V3 API";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "strong-path" = callPackage
@@ -265043,8 +260974,8 @@ self: {
      }:
      mkDerivation {
        pname = "strong-path";
-       version = "1.1.3.0";
-       sha256 = "0jy8qmyixsi3d71qkrj4v3r9nrppb2hs4p5pbpj7yq964ryyg9am";
+       version = "1.1.4.0";
+       sha256 = "1gd24hfz01k78k67d28v9ypvrnbh5a41rk6dk26rmc5h5sxnrgf8";
        libraryHaskellDepends = [
          base exceptions filepath hashable path template-haskell
        ];
@@ -265055,8 +260986,6 @@ self: {
        testToolDepends = [ tasty-discover ];
        description = "Strongly typed paths in Haskell";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "strongswan-sql" = callPackage
@@ -265089,7 +261018,6 @@ self: {
        description = "Interface library for strongSwan SQL backend";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "strptime" = callPackage
@@ -265390,29 +261318,31 @@ self: {
 
   "stylish-haskell" = callPackage
     ({ mkDerivation, aeson, base, bytestring, Cabal, containers
-     , directory, file-embed, filepath, ghc-lib-parser, HsYAML
-     , HsYAML-aeson, HUnit, mtl, optparse-applicative, random, strict
-     , syb, test-framework, test-framework-hunit, text
+     , directory, file-embed, filepath, ghc-lib-parser
+     , ghc-lib-parser-ex, HsYAML, HsYAML-aeson, HUnit, mtl
+     , optparse-applicative, random, strict, syb, test-framework
+     , test-framework-hunit, text
      }:
      mkDerivation {
        pname = "stylish-haskell";
-       version = "0.13.0.0";
-       sha256 = "0x9w3zh1lzp6l5xj3mynnlr0fzb5mbv0wwpfxp8fr6bk0jcrzjwf";
+       version = "0.14.0.1";
+       sha256 = "109d7xf0k86c6hgdc0lgn9fvlqg4gag9nrj52z9ajw7s4qi3y3f1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base bytestring Cabal containers directory file-embed
-         filepath ghc-lib-parser HsYAML HsYAML-aeson mtl syb text
+         filepath ghc-lib-parser ghc-lib-parser-ex HsYAML HsYAML-aeson mtl
+         syb text
        ];
        executableHaskellDepends = [
          aeson base bytestring Cabal containers directory file-embed
-         filepath ghc-lib-parser HsYAML HsYAML-aeson mtl
-         optparse-applicative strict syb
+         filepath ghc-lib-parser ghc-lib-parser-ex HsYAML HsYAML-aeson mtl
+         optparse-applicative strict syb text
        ];
        testHaskellDepends = [
          aeson base bytestring Cabal containers directory file-embed
-         filepath ghc-lib-parser HsYAML HsYAML-aeson HUnit mtl random syb
-         test-framework test-framework-hunit text
+         filepath ghc-lib-parser ghc-lib-parser-ex HsYAML HsYAML-aeson HUnit
+         mtl random syb test-framework test-framework-hunit text
        ];
        description = "Haskell code prettifier";
        license = lib.licenses.bsd3;
@@ -265515,11 +261445,13 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "subG";
-       version = "0.5.2.0";
-       sha256 = "0s2fzzrw3fqr02lqifm1qfily5gnvrlsswpnj7hvnv0bsgql9b23";
+       version = "0.5.3.0";
+       sha256 = "0bq49g3ippsjiqm1qvd3y9a4fyngzw8f3my8n1amgyzxb6fk5q7w";
        libraryHaskellDepends = [ base ];
        description = "Some extension to the Foldable and Monoid classes";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "subG-instances" = callPackage
@@ -265531,6 +261463,7 @@ self: {
        libraryHaskellDepends = [ base subG vector ];
        description = "Additional instances for the InsertLeft class from subG package";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "subcategories" = callPackage
@@ -265543,35 +261476,6 @@ self: {
      }:
      mkDerivation {
        pname = "subcategories";
-       version = "0.1.1.0";
-       sha256 = "09ri226jxcig4f3jxcjh63skvv48myis58ffj7zrmr12sfzkb279";
-       libraryHaskellDepends = [
-         base containers data-default foldl hashable mono-traversable
-         pointed primitive reflection semialign template-haskell text these
-         unordered-containers vector vector-algorithms vector-builder
-       ];
-       testHaskellDepends = [
-         base bytestring containers data-default foldl hashable
-         inspection-testing mono-traversable pointed primitive QuickCheck
-         reflection semialign tasty tasty-expected-failure tasty-hunit
-         tasty-quickcheck template-haskell text these unordered-containers
-         vector vector-algorithms vector-builder
-       ];
-       testToolDepends = [ tasty-discover ];
-       description = "Subcategories induced by class constraints";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "subcategories_0_2_0_0" = callPackage
-    ({ mkDerivation, base, bytestring, containers, data-default, foldl
-     , hashable, inspection-testing, mono-traversable, pointed
-     , primitive, QuickCheck, reflection, semialign, tasty
-     , tasty-discover, tasty-expected-failure, tasty-hunit
-     , tasty-quickcheck, template-haskell, text, these
-     , unordered-containers, vector, vector-algorithms, vector-builder
-     }:
-     mkDerivation {
-       pname = "subcategories";
        version = "0.2.0.0";
        sha256 = "0qxiccv9xpl6ms8j9lfvl8jps9gr979ya441fghy1jvfza0fxd1x";
        libraryHaskellDepends = [
@@ -265589,7 +261493,6 @@ self: {
        testToolDepends = [ tasty-discover ];
        description = "Subcategories induced by class constraints";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "subhask" = callPackage
@@ -265651,19 +261554,21 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Allows to split lists into sublists with some patterns by quantity";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "submark" = callPackage
     ({ mkDerivation, base, cmark, hlint, hspec, optparse-applicative
-     , template-haskell, text
+     , regex-tdfa, template-haskell, text
      }:
      mkDerivation {
        pname = "submark";
-       version = "0.1.0";
-       sha256 = "0ywan4j2b6zyrsgk2s25mhc3cwx5nxg93hq4gkfcmaxlhp6rmbrq";
+       version = "0.3.1";
+       sha256 = "087wifqilh6c0fcrx282p20pnx6z0557542zbf8qv1b94qxzd7lc";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base cmark text ];
+       libraryHaskellDepends = [ base cmark regex-tdfa text ];
        executableHaskellDepends = [
          base cmark optparse-applicative text
        ];
@@ -265672,8 +261577,6 @@ self: {
        ];
        description = "Extract a part from CommonMark/Markdown docs";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "subnet" = callPackage
@@ -265851,6 +261754,64 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "sugar" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, megaparsec
+     , ordered-containers, safe, tasty, tasty-hspec, text
+     , text-conversions, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "sugar";
+       version = "0.0.0.1";
+       sha256 = "1m0famhab5m3xaavcg704iq857kmy53vg6apzf19amqp9vknmlds";
+       libraryHaskellDepends = [
+         base bytestring cereal containers megaparsec ordered-containers
+         safe text text-conversions unordered-containers vector
+       ];
+       testHaskellDepends = [ base tasty tasty-hspec ];
+       description = "Legible data";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "sugar-json" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cereal, containers
+     , megaparsec, ordered-containers, safe, scientific, sugar, tasty
+     , tasty-hspec, text, text-conversions, text-show
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "sugar-json";
+       version = "0.0.0";
+       sha256 = "0yflqan8wk9fyl8pbxq86ngpf5rl6b23vmcfcr1bzajrihlrlqyh";
+       libraryHaskellDepends = [
+         aeson base bytestring cereal containers megaparsec
+         ordered-containers safe scientific sugar text text-conversions
+         text-show unordered-containers vector
+       ];
+       testHaskellDepends = [ base sugar tasty tasty-hspec ];
+       description = "Sugar with JSON";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "sugar-scheme" = callPackage
+    ({ mkDerivation, base, containers, husk-scheme, parsec, sugar
+     , tasty, tasty-hspec, text
+     }:
+     mkDerivation {
+       pname = "sugar-scheme";
+       version = "0.0.0";
+       sha256 = "0c284m21halhcypfmcg17vybm308nnh7aajvr4xnkzbd3zv7c7wf";
+       libraryHaskellDepends = [
+         base containers husk-scheme parsec sugar text
+       ];
+       testHaskellDepends = [ base sugar tasty tasty-hspec ];
+       description = "Sugar with Scheme";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "sugarhaskell" = callPackage
     ({ mkDerivation, base, process }:
      mkDerivation {
@@ -266092,7 +262053,6 @@ self: {
        description = "Configure your dotfile deployment with a DSL";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "superbubbles" = callPackage
@@ -266304,6 +262264,8 @@ self: {
        ];
        description = "Supercharged anonymous records";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "supervisor" = callPackage
@@ -266335,6 +262297,8 @@ self: {
        testHaskellDepends = [ base hspec ];
        description = "Monitor groups of threads with non-hierarchical lifetimes";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "supplemented" = callPackage
@@ -266496,6 +262460,8 @@ self: {
        executableToolDepends = [ alex happy ];
        description = "SystemVerilog to Verilog conversion";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "svfactor" = callPackage
@@ -266731,6 +262697,8 @@ self: {
        testHaskellDepends = [ aeson base bytestring tasty tasty-hunit ];
        description = "Implementation of swagger data model";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "swagger-petstore" = callPackage
@@ -266799,40 +262767,6 @@ self: {
      , generics-sop, Glob, hashable, hspec, hspec-discover, http-media
      , HUnit, insert-ordered-containers, lens, mtl, network, optics-core
      , optics-th, QuickCheck, quickcheck-instances, scientific
-     , template-haskell, text, time, transformers, transformers-compat
-     , unordered-containers, utf8-string, uuid-types, vector
-     }:
-     mkDerivation {
-       pname = "swagger2";
-       version = "2.6";
-       sha256 = "0vkhikxf1gpspc9qjgnvz3glb01bd54bnc5kraac7dyn8cxzwak8";
-       revision = "2";
-       editedCabalFile = "1gdq1kiccn6qv05fnkb2dzsnsds2v3gri29gd8l1x9vx74mpbh0j";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         aeson aeson-pretty base base-compat-batteries bytestring containers
-         cookie generics-sop hashable http-media insert-ordered-containers
-         lens mtl network optics-core optics-th QuickCheck scientific
-         template-haskell text time transformers transformers-compat
-         unordered-containers uuid-types vector
-       ];
-       testHaskellDepends = [
-         aeson base base-compat-batteries bytestring containers doctest Glob
-         hashable hspec HUnit insert-ordered-containers lens mtl QuickCheck
-         quickcheck-instances template-haskell text time
-         unordered-containers utf8-string vector
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Swagger 2.0 data model";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "swagger2_2_8_2" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, base-compat-batteries
-     , bytestring, Cabal, cabal-doctest, containers, cookie, doctest
-     , generics-sop, Glob, hashable, hspec, hspec-discover, http-media
-     , HUnit, insert-ordered-containers, lens, mtl, network, optics-core
-     , optics-th, QuickCheck, quickcheck-instances, scientific
      , template-haskell, text, time, transformers, unordered-containers
      , utf8-string, uuid-types, vector
      }:
@@ -266857,7 +262791,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Swagger 2.0 data model";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "swapper" = callPackage
@@ -267017,8 +262950,6 @@ self: {
        ];
        description = "SwissTable hash map";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "switch" = callPackage
@@ -267117,6 +263048,8 @@ 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
@@ -267129,36 +263062,9 @@ self: {
        description = "Scrap Your Boilerplate With Class Text instance";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "sydtest" = callPackage
-    ({ mkDerivation, async, base, bytestring, containers, Diff, dlist
-     , envparse, filepath, MonadRandom, mtl, optparse-applicative, path
-     , path-io, pretty-show, QuickCheck, quickcheck-io, random-shuffle
-     , safe, safe-coloured-text, safe-coloured-text-terminfo, split, stm
-     , sydtest-discover, text, yaml, yamlparse-applicative
-     }:
-     mkDerivation {
-       pname = "sydtest";
-       version = "0.2.0.0";
-       sha256 = "1k0jpnvfizvgscwpgd827w7x4nczlv7krwj10y35byj79wb5xy2m";
-       libraryHaskellDepends = [
-         async base bytestring containers Diff dlist envparse filepath
-         MonadRandom mtl optparse-applicative path path-io pretty-show
-         QuickCheck quickcheck-io random-shuffle safe safe-coloured-text
-         safe-coloured-text-terminfo split text yaml yamlparse-applicative
-       ];
-       testHaskellDepends = [
-         base bytestring path path-io QuickCheck safe-coloured-text
-         safe-coloured-text-terminfo stm text
-       ];
-       testToolDepends = [ sydtest-discover ];
-       description = "A modern testing framework for Haskell with good defaults and advanced testing features";
-       license = "unknown";
-     }) {};
-
-  "sydtest_0_8_0_0" = callPackage
     ({ mkDerivation, async, autodocodec, autodocodec-yaml, base
      , bytestring, containers, Diff, dlist, envparse, filepath
      , MonadRandom, mtl, optparse-applicative, path, path-io
@@ -267168,8 +263074,8 @@ self: {
      }:
      mkDerivation {
        pname = "sydtest";
-       version = "0.8.0.0";
-       sha256 = "1b2i4w58k0mrb5lk4hjbwfmm065gmmll6jm3k6jydjjkkpf1zfap";
+       version = "0.8.0.1";
+       sha256 = "0h524wiwmvx4gp73lsnl5bk93866z6ac1s37xbym7jlfbzn6q8x1";
        libraryHaskellDepends = [
          async autodocodec autodocodec-yaml base bytestring containers Diff
          dlist envparse filepath MonadRandom mtl optparse-applicative path
@@ -267202,7 +263108,6 @@ self: {
        description = "An aeson companion library for sydtest";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "sydtest-amqp" = callPackage
@@ -267259,7 +263164,6 @@ self: {
        description = "A Hedgehog companion library for sydtest";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "sydtest-hedis" = callPackage
@@ -267280,7 +263184,6 @@ self: {
        description = "An hedis companion library for sydtest";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "sydtest-hspec" = callPackage
@@ -267297,7 +263200,6 @@ self: {
        description = "An Hspec companion library for sydtest";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "sydtest-mongo" = callPackage
@@ -267318,7 +263220,6 @@ self: {
        description = "An mongoDB companion library for sydtest";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "sydtest-persistent" = callPackage
@@ -267339,6 +263240,7 @@ self: {
        testToolDepends = [ sydtest-discover ];
        description = "A persistent companion library for sydtest";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "sydtest-persistent-postgresql" = callPackage
@@ -267361,32 +263263,11 @@ self: {
        description = "An persistent-postgresql companion library for sydtest";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "sydtest-persistent-sqlite" = callPackage
     ({ mkDerivation, base, monad-logger, mtl, persistent
      , persistent-sqlite, persistent-template, sydtest, sydtest-discover
-     }:
-     mkDerivation {
-       pname = "sydtest-persistent-sqlite";
-       version = "0.1.0.0";
-       sha256 = "1al80sym9r2h769szky5kpkllbs7gm4lc8gn9nlavj0in663x0ly";
-       libraryHaskellDepends = [
-         base monad-logger mtl persistent persistent-sqlite
-         persistent-template sydtest
-       ];
-       testHaskellDepends = [
-         base persistent persistent-sqlite persistent-template sydtest
-       ];
-       testToolDepends = [ sydtest-discover ];
-       description = "A persistent-sqlite companion library for sydtest";
-       license = "unknown";
-     }) {};
-
-  "sydtest-persistent-sqlite_0_2_0_0" = callPackage
-    ({ mkDerivation, base, monad-logger, mtl, persistent
-     , persistent-sqlite, persistent-template, sydtest, sydtest-discover
      , sydtest-persistent
      }:
      mkDerivation {
@@ -267419,6 +263300,7 @@ self: {
        testToolDepends = [ sydtest-discover ];
        description = "A typed-process companion library for sydtest";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "sydtest-rabbitmq" = callPackage
@@ -267439,7 +263321,6 @@ self: {
        description = "An rabbitmq companion library for sydtest";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "sydtest-servant" = callPackage
@@ -267448,26 +263329,6 @@ self: {
      }:
      mkDerivation {
        pname = "sydtest-servant";
-       version = "0.1.0.0";
-       sha256 = "0mn7fys01qakapnrcrlpji1kwc3cgywblid4wpipmh2kdpy61ndk";
-       libraryHaskellDepends = [
-         base http-client servant servant-client servant-server sydtest
-         sydtest-wai
-       ];
-       testHaskellDepends = [
-         base servant servant-client servant-server stm sydtest
-       ];
-       testToolDepends = [ sydtest-discover ];
-       description = "A servant companion library for sydtest";
-       license = "unknown";
-     }) {};
-
-  "sydtest-servant_0_2_0_0" = callPackage
-    ({ mkDerivation, base, http-client, servant, servant-client
-     , servant-server, stm, sydtest, sydtest-discover, sydtest-wai
-     }:
-     mkDerivation {
-       pname = "sydtest-servant";
        version = "0.2.0.0";
        sha256 = "063bjik3yx7wbawdw1x4yw8ba8k83bq2xysczkl3mxqhj4c0ngx9";
        libraryHaskellDepends = [
@@ -267496,6 +263357,7 @@ self: {
        testToolDepends = [ sydtest-discover ];
        description = "A typed-process companion library for sydtest";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "sydtest-wai" = callPackage
@@ -267505,27 +263367,6 @@ self: {
      }:
      mkDerivation {
        pname = "sydtest-wai";
-       version = "0.1.0.0";
-       sha256 = "0fk1b7205h8ib35bp4pma37vk7cy7dwg0kkcv63k60sq1laj48rl";
-       libraryHaskellDepends = [
-         base bytestring case-insensitive http-client http-types mtl network
-         pretty-show sydtest text time wai warp
-       ];
-       testHaskellDepends = [
-         base http-client http-types stm sydtest wai
-       ];
-       testToolDepends = [ sydtest-discover ];
-       description = "A wai companion library for sydtest";
-       license = "unknown";
-     }) {};
-
-  "sydtest-wai_0_2_0_0" = callPackage
-    ({ mkDerivation, base, bytestring, case-insensitive, http-client
-     , http-types, mtl, network, pretty-show, stm, sydtest
-     , sydtest-discover, text, time, wai, warp
-     }:
-     mkDerivation {
-       pname = "sydtest-wai";
        version = "0.2.0.0";
        sha256 = "1zyhgwi8vhjg7mahp98fjgvkhqvh6zwfw3pmhwk57raavzsg2ksb";
        libraryHaskellDepends = [
@@ -267542,35 +263383,6 @@ self: {
      }) {};
 
   "sydtest-yesod" = callPackage
-    ({ mkDerivation, base, blaze-builder, bytestring, case-insensitive
-     , conduit, containers, cookie, exceptions, http-client, http-types
-     , monad-logger, mtl, network, persistent, persistent-sqlite
-     , persistent-template, pretty-show, QuickCheck, resourcet, sydtest
-     , sydtest-discover, sydtest-persistent-sqlite, sydtest-wai, text
-     , time, wai, xml-conduit, yesod, yesod-core, yesod-form, yesod-test
-     }:
-     mkDerivation {
-       pname = "sydtest-yesod";
-       version = "0.1.0.0";
-       sha256 = "0kdylnhfvg9x314bydic811i21r1r5zs9cm1zpw6d7frsl99g24k";
-       libraryHaskellDepends = [
-         base blaze-builder bytestring case-insensitive containers cookie
-         exceptions http-client http-types mtl network pretty-show sydtest
-         sydtest-wai text time wai xml-conduit yesod-core yesod-test
-       ];
-       testHaskellDepends = [
-         base bytestring conduit cookie http-client http-types monad-logger
-         mtl persistent persistent-sqlite persistent-template QuickCheck
-         resourcet sydtest sydtest-persistent-sqlite text yesod yesod-form
-       ];
-       testToolDepends = [ sydtest-discover ];
-       description = "A yesod companion library for sydtest";
-       license = "unknown";
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "sydtest-yesod_0_3_0_0" = callPackage
     ({ mkDerivation, base, binary, blaze-builder, bytestring
      , case-insensitive, conduit, containers, cookie, exceptions
      , http-client, http-client-tls, http-types, monad-logger, mtl
@@ -267599,7 +263411,6 @@ self: {
        description = "A yesod companion library for sydtest";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "syfco" = callPackage
@@ -267814,6 +263625,8 @@ self: {
        ];
        description = "symantic-http applied to the derivation of HTTP clients";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "symantic-http-demo" = callPackage
@@ -267840,6 +263653,7 @@ self: {
        ];
        description = "Demo for symantic-http and its companion libraries";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "symantic-http-pipes" = callPackage
@@ -267861,6 +263675,8 @@ self: {
        ];
        description = "Streaming support through pipes for symantic-http";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "symantic-http-server" = callPackage
@@ -267907,7 +263723,6 @@ self: {
        description = "Test symantic-http and its companion libraries";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "symantic-lib" = callPackage
@@ -268678,7 +264493,6 @@ self: {
        description = "A replacement for System.Exit and System.Process.";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "sysinfo" = callPackage
@@ -268958,6 +264772,8 @@ self: {
        testHaskellDepends = [ base HUnit ];
        description = "Runs system tests of applications";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "system-time-monotonic" = callPackage
@@ -269399,7 +265215,9 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
+       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ rvl ];
+       broken = true;
      }) {inherit (pkgs) gtk3;};
 
   "tag-bits" = callPackage
@@ -269630,6 +265448,8 @@ self: {
        ];
        description = "Lenses for the taggy html/xml parser";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "taglib" = callPackage
@@ -269810,7 +265630,6 @@ self: {
        ];
        description = "Black magic tagsoup";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tagstream-conduit" = callPackage
@@ -269958,6 +265777,8 @@ self: {
        ];
        description = "A library encoding the rules of Tak, and a playtak.com client.";
        license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "tak-ai" = callPackage
@@ -269975,6 +265796,7 @@ self: {
        ];
        description = "AI(s) for playing Tak on playtak.com";
        license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "takahashi" = callPackage
@@ -270043,6 +265865,8 @@ self: {
        executableHaskellDepends = [ base intro ];
        description = "Line oriented fast enough text search";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "tamarin-prover" = callPackage
@@ -270256,6 +266080,7 @@ self: {
        ];
        description = "Reading, writing and manipulating \".tar\" archive files.";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tar-conduit" = callPackage
@@ -270463,29 +266288,6 @@ self: {
   "taskwarrior" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, hspec
      , hspec-discover, process, QuickCheck, quickcheck-instances, random
-     , text, time, unordered-containers, uuid
-     }:
-     mkDerivation {
-       pname = "taskwarrior";
-       version = "0.3.1.0";
-       sha256 = "04cnrzl9rj9zhdbk9g6hjsvd69v3g6w8d2jkh51a2pqjrw4bljf0";
-       libraryHaskellDepends = [
-         aeson base bytestring containers process random text time
-         unordered-containers uuid
-       ];
-       testHaskellDepends = [
-         aeson base hspec QuickCheck quickcheck-instances text time
-         unordered-containers uuid
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Types and aeson instances for taskwarrior tasks";
-       license = lib.licenses.agpl3Plus;
-       maintainers = with lib.maintainers; [ maralorn ];
-     }) {};
-
-  "taskwarrior_0_6_0_2" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, hspec
-     , hspec-discover, process, QuickCheck, quickcheck-instances, random
      , text, time, uuid
      }:
      mkDerivation {
@@ -270502,7 +266304,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Types and aeson instances for taskwarrior tasks";
        license = lib.licenses.agpl3Plus;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
@@ -270594,25 +266395,11 @@ self: {
     ({ mkDerivation, base, containers, deepseq, tasty }:
      mkDerivation {
        pname = "tasty-bench";
-       version = "0.2.5";
-       sha256 = "146i1vkp9008hik7qyi8m9qq3ij5kji84qscsf598rzjmjga7igd";
-       revision = "1";
-       editedCabalFile = "0rcsdiwri52wng5dj30k3c5qrn8qfr14qs53cs1y99mbqfpzs02g";
-       libraryHaskellDepends = [ base containers deepseq tasty ];
-       description = "Featherlight benchmark framework";
-       license = lib.licenses.mit;
-     }) {};
-
-  "tasty-bench_0_3_1" = callPackage
-    ({ mkDerivation, base, containers, deepseq, tasty }:
-     mkDerivation {
-       pname = "tasty-bench";
        version = "0.3.1";
        sha256 = "1gbqknfh7xc4hb2g58rjh66ibpwp4i38pizkzknx4n366d2292hy";
        libraryHaskellDepends = [ base containers deepseq tasty ];
        description = "Featherlight benchmark framework";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tasty-checklist" = callPackage
@@ -270803,6 +266590,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "tasty-hedgehog_1_2_0_0" = callPackage
+    ({ mkDerivation, base, hedgehog, tagged, tasty
+     , tasty-expected-failure
+     }:
+     mkDerivation {
+       pname = "tasty-hedgehog";
+       version = "1.2.0.0";
+       sha256 = "0bqaxchadvrgphv46g9fczg8b1gg832n7np3czqribxma6rhsrfd";
+       libraryHaskellDepends = [ base hedgehog tagged tasty ];
+       testHaskellDepends = [
+         base hedgehog tasty tasty-expected-failure
+       ];
+       description = "Integration for tasty and hedgehog";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "tasty-hedgehog-coverage" = callPackage
     ({ mkDerivation, base, containers, hedgehog, mtl, tagged, tasty
      , tasty-expected-failure, tasty-hedgehog, text, transformers
@@ -270832,8 +266636,8 @@ self: {
      }:
      mkDerivation {
        pname = "tasty-hslua";
-       version = "1.0.1";
-       sha256 = "1zmxvhmmj6f0jw19v25pkhschrvzhwfr20jqg1sxdg15aaa3gjf7";
+       version = "1.0.2";
+       sha256 = "0ibdxwaclghcgcyf9zx4b1dnp4b708ydwli4clmb0a0mp1lwdp98";
        libraryHaskellDepends = [
          base bytestring hslua-core tasty tasty-hunit
        ];
@@ -270847,24 +266651,6 @@ self: {
      }:
      mkDerivation {
        pname = "tasty-hspec";
-       version = "1.1.6";
-       sha256 = "02s82ijs2ringqxsqbm7m3vcy5brmwxa617azxv0v2phi3rdkjvl";
-       revision = "1";
-       editedCabalFile = "0za15rg0szacxq9yfxxjzddr77ai7ng5827a20pj9dr5anjlnajj";
-       libraryHaskellDepends = [
-         base hspec hspec-core QuickCheck tasty tasty-quickcheck
-         tasty-smallcheck
-       ];
-       description = "Hspec support for the Tasty test framework";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "tasty-hspec_1_2" = callPackage
-    ({ mkDerivation, base, hspec, hspec-core, QuickCheck, tasty
-     , tasty-quickcheck, tasty-smallcheck
-     }:
-     mkDerivation {
-       pname = "tasty-hspec";
        version = "1.2";
        sha256 = "0hnq6q4mk2avirb8cgibaxj5m2c4rf5xsqry04zx4nc15la5xniw";
        revision = "2";
@@ -270875,7 +266661,6 @@ self: {
        ];
        description = "Hspec support for the Tasty test framework";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tasty-html" = callPackage
@@ -271077,33 +266862,13 @@ self: {
 
   "tasty-lua" = callPackage
     ({ mkDerivation, base, bytestring, directory, file-embed, filepath
-     , hslua, tasty, tasty-hunit, text
-     }:
-     mkDerivation {
-       pname = "tasty-lua";
-       version = "0.2.3.2";
-       sha256 = "0wa73ihkjcxi50lgpdzwwdx7s903lqi79hw7hxlvhbcvdly1cq53";
-       revision = "1";
-       editedCabalFile = "1m5mdn3riwwmvri430iq9m3yl09xsacvkp8w7vyqdmd70w3f9pcw";
-       libraryHaskellDepends = [
-         base bytestring file-embed hslua tasty text
-       ];
-       testHaskellDepends = [
-         base directory filepath hslua tasty tasty-hunit
-       ];
-       description = "Write tests in Lua, integrate into tasty";
-       license = lib.licenses.mit;
-     }) {};
-
-  "tasty-lua_1_0_1" = callPackage
-    ({ mkDerivation, base, bytestring, directory, file-embed, filepath
      , hslua-core, hslua-marshalling, lua-arbitrary, QuickCheck, tasty
      , tasty-hunit, text
      }:
      mkDerivation {
        pname = "tasty-lua";
-       version = "1.0.1";
-       sha256 = "0izkj9miws0w8320mfaxhj2bnwri3x338qvdz73wbzmbjwibmg23";
+       version = "1.0.2";
+       sha256 = "1vnyvgcjsvqhwwyqkbgqksr9ppj5whiihpwcqkg33sl7jj3ysdwv";
        libraryHaskellDepends = [
          base bytestring file-embed hslua-core hslua-marshalling
          lua-arbitrary QuickCheck tasty text
@@ -271114,7 +266879,6 @@ self: {
        ];
        description = "Write tests in Lua, integrate into tasty";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tasty-mgolden" = callPackage
@@ -271229,29 +266993,6 @@ self: {
      }:
      mkDerivation {
        pname = "tasty-silver";
-       version = "3.2.3";
-       sha256 = "0nvh2k8iqqkanmp7lpwd3asimyarzisly8wavbdahcxryn0j4xb7";
-       libraryHaskellDepends = [
-         ansi-terminal async base bytestring containers deepseq directory
-         filepath mtl optparse-applicative process process-extras regex-tdfa
-         stm tagged tasty temporary text
-       ];
-       testHaskellDepends = [
-         base directory filepath process silently tasty tasty-hunit
-         temporary transformers
-       ];
-       description = "A fancy test runner, including support for golden tests";
-       license = lib.licenses.mit;
-     }) {};
-
-  "tasty-silver_3_3_1" = callPackage
-    ({ mkDerivation, ansi-terminal, async, base, bytestring, containers
-     , deepseq, directory, filepath, mtl, optparse-applicative, process
-     , process-extras, regex-tdfa, silently, stm, tagged, tasty
-     , tasty-hunit, temporary, text, transformers
-     }:
-     mkDerivation {
-       pname = "tasty-silver";
        version = "3.3.1";
        sha256 = "1pd83mzx0iv3f396m09rxmgcpcfaya0a9818dl3h4vgw0hnqkmav";
        libraryHaskellDepends = [
@@ -271265,7 +267006,6 @@ self: {
        ];
        description = "A fancy test runner, including support for golden tests";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tasty-smallcheck" = callPackage
@@ -271323,6 +267063,7 @@ self: {
        doHaddock = false;
        description = "Tests defined by Search Using Golden Answer References";
        license = lib.licenses.isc;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tasty-tap" = callPackage
@@ -271800,6 +267541,8 @@ self: {
        ];
        description = "TDoc is a typed document builder with support for (X)HTML";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "tds" = callPackage
@@ -271912,6 +267655,8 @@ self: {
        doHaddock = false;
        description = "Procedures and Sequences";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "teeth" = callPackage
@@ -271940,6 +267685,8 @@ self: {
        ];
        description = "Prettier error";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "telega" = callPackage
@@ -271957,7 +267704,6 @@ self: {
        description = "Telegram Bot API binding";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "telegram" = callPackage
@@ -272035,21 +267781,20 @@ self: {
      , http-client, http-client-tls, http-types, monad-control, mtl
      , optparse-applicative, pretty-show, prettyprinter, profunctors
      , QuickCheck, random, servant, servant-blaze, servant-client
-     , servant-multipart, servant-multipart-api
-     , servant-multipart-client, servant-server, split, stm
-     , template-haskell, text, time, transformers, unix
+     , servant-multipart-api, servant-multipart-client, servant-server
+     , signal, split, stm, template-haskell, text, time, transformers
      , unordered-containers, uuid, warp
      }:
      mkDerivation {
        pname = "telegram-bot-simple";
-       version = "0.4";
-       sha256 = "1c73vyhl8xlac0vjgyjh8rfszm9zri4absmxpdr79djs9rrfwk2s";
+       version = "0.4.4";
+       sha256 = "1qlw4qn773rq3dz97ifrd3vp38xas46hmgxp05r1pmbphw1ncyr8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-pretty base bytestring cron filepath hashable
          http-api-data http-client http-client-tls monad-control mtl
-         pretty-show profunctors servant servant-client servant-multipart
+         pretty-show profunctors servant servant-client
          servant-multipart-api servant-multipart-client split stm
          template-haskell text time transformers unordered-containers
        ];
@@ -272058,14 +267803,12 @@ self: {
          filepath hashable http-api-data http-client http-client-tls
          http-types monad-control mtl optparse-applicative pretty-show
          prettyprinter profunctors QuickCheck random servant servant-blaze
-         servant-client servant-multipart servant-multipart-api
-         servant-multipart-client servant-server split stm template-haskell
-         text time transformers unix unordered-containers uuid warp
+         servant-client servant-multipart-api servant-multipart-client
+         servant-server signal split stm template-haskell text time
+         transformers unordered-containers uuid warp
        ];
        description = "Easy to use library for building Telegram bots";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "telegram-raw-api" = callPackage
@@ -272113,6 +267856,7 @@ self: {
        description = "Types used in Telegram bot API";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "telegraph" = callPackage
@@ -272135,6 +267879,8 @@ self: {
        ];
        description = "Binding to the telegraph API";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "teleport" = callPackage
@@ -272245,8 +267991,6 @@ self: {
        libraryHaskellDepends = [ base time ];
        description = "For representing musical tempi";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "template" = callPackage
@@ -272297,13 +268041,15 @@ self: {
      }) {};
 
   "template-haskell-optics" = callPackage
-    ({ mkDerivation, base, containers, optics-core, template-haskell }:
+    ({ mkDerivation, base, containers, optics-core, template-haskell
+     , th-abstraction
+     }:
      mkDerivation {
        pname = "template-haskell-optics";
-       version = "0.1";
-       sha256 = "019njh3w321dsyx892snxl16arypf04mw415s8f1771wcd3l4q8n";
+       version = "0.2";
+       sha256 = "13jjycd2yirslab7j6gd1hfl9bn5srid4b2apdz36janxx8np4mm";
        libraryHaskellDepends = [
-         base containers optics-core template-haskell
+         base containers optics-core template-haskell th-abstraction
        ];
        description = "Optics for template-haskell types";
        license = lib.licenses.bsd3;
@@ -272363,6 +268109,8 @@ self: {
        ];
        description = "Template Toolkit implementation for Haskell";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "template-yj" = callPackage
@@ -273012,6 +268760,8 @@ self: {
        libraryHaskellDepends = [ base reactive-banana termbox ];
        description = "reactive-banana + termbox";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "termbox-bindings" = callPackage
@@ -273104,8 +268854,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "terminal-size";
-       version = "0.3.2.1";
-       sha256 = "0n4nvj3dbj9gxfnprgish45asn9z4dipv9j98s8i7g2n8yb3xhmm";
+       version = "0.3.3";
+       sha256 = "1hv0r8gr1ms258rrz602gd5kziykkxw5zlnnzz5f42r0ly7lq5wc";
        libraryHaskellDepends = [ base ];
        description = "Get terminal window height and width";
        license = lib.licenses.bsd3;
@@ -273182,10 +268932,8 @@ self: {
      }:
      mkDerivation {
        pname = "termonad";
-       version = "4.2.0.0";
-       sha256 = "1g9zc1ddm47b8ry78crax8ry43sj1wv3272qv5r0y5jvz9y58r6r";
-       revision = "1";
-       editedCabalFile = "1czkiwspicvv87sgq1ni71xhxdb9x2g9yxp7mrgmyf50wfrir6r5";
+       version = "4.2.0.1";
+       sha256 = "0qsjgx3742z21qg1cbw2mp8gaqvb2rnp4ds90s82vf9s1ps2dkqm";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -273270,8 +269018,6 @@ self: {
        executableHaskellDepends = [ base ];
        description = "HTTP backend to store terraform state using pass and git";
        license = "AGPL";
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "terrahs" = callPackage
@@ -273511,7 +269257,6 @@ self: {
        ];
        description = "test-sandbox support for the test-framework package";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "test-framework-skip" = callPackage
@@ -273725,8 +269470,6 @@ self: {
        ];
        description = "Sandbox for system tests";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "test-sandbox-compose" = callPackage
@@ -273770,7 +269513,6 @@ self: {
        libraryHaskellDepends = [ base HUnit lifted-base test-sandbox ];
        description = "HUnit convenience functions for use with test-sandbox";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "test-sandbox-quickcheck" = callPackage
@@ -273786,7 +269528,6 @@ self: {
        ];
        description = "QuickCheck convenience functions for use with test-sandbox";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "test-shouldbe" = callPackage
@@ -274078,28 +269819,6 @@ self: {
      }:
      mkDerivation {
        pname = "texmath";
-       version = "0.12.3.3";
-       sha256 = "0zccnb61z0l2h6yzvnqh78bhqrqjd8237rrw4llsyzz149m7j3n8";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base containers mtl pandoc-types parsec split syb text xml
-       ];
-       testHaskellDepends = [
-         base bytestring directory filepath process temporary text
-         utf8-string xml
-       ];
-       description = "Conversion between formats used to represent mathematics";
-       license = lib.licenses.gpl2Only;
-     }) {};
-
-  "texmath_0_12_4" = callPackage
-    ({ mkDerivation, base, bytestring, containers, directory, filepath
-     , mtl, pandoc-types, parsec, process, split, syb, temporary, text
-     , utf8-string, xml
-     }:
-     mkDerivation {
-       pname = "texmath";
        version = "0.12.4";
        sha256 = "1k7hh75jzgysh7b7jkvy4w07dbkvm5fcc5hkkixz6xzrp2fvnws3";
        isLibrary = true;
@@ -274113,7 +269832,6 @@ self: {
        ];
        description = "Conversion between math formats";
        license = lib.licenses.gpl2Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "texrunner" = callPackage
@@ -274136,8 +269854,6 @@ self: {
        ];
        description = "Functions for running Tex from Haskell";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "text_2_0" = callPackage
@@ -274181,7 +269897,6 @@ self: {
        description = "Everything Data.Text related in one package";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "text-and-plots" = callPackage
@@ -274246,16 +269961,16 @@ self: {
      }) {};
 
   "text-builder" = callPackage
-    ({ mkDerivation, base, bytestring, criterion, deferred-folds
-     , QuickCheck, quickcheck-instances, rerebase, tasty, tasty-hunit
-     , tasty-quickcheck, text, transformers
+    ({ mkDerivation, base-prelude, bytestring, criterion, QuickCheck
+     , quickcheck-instances, rerebase, tasty, tasty-hunit
+     , tasty-quickcheck, text, text-builder-dev
      }:
      mkDerivation {
        pname = "text-builder";
-       version = "0.6.6.3";
-       sha256 = "0j2f9zbkk2lbvfb0f3c1i6376zbrr4p782ivbhgi8nv65rsp2ijy";
+       version = "0.6.6.4";
+       sha256 = "1vzz5dkynh15vlmpwrrvswbva06vlbaxs73f4scb0r1q9wvcs3cj";
        libraryHaskellDepends = [
-         base bytestring deferred-folds text transformers
+         base-prelude bytestring text text-builder-dev
        ];
        testHaskellDepends = [
          QuickCheck quickcheck-instances rerebase tasty tasty-hunit
@@ -274266,6 +269981,75 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "text-builder_0_6_6_5" = callPackage
+    ({ mkDerivation, base-prelude, bytestring, criterion, QuickCheck
+     , quickcheck-instances, rerebase, tasty, tasty-hunit
+     , tasty-quickcheck, text, text-builder-dev
+     }:
+     mkDerivation {
+       pname = "text-builder";
+       version = "0.6.6.5";
+       sha256 = "145m3v5fpisz04dwd3pwnak8mvsnc60rw92br4q946kymfifb7kj";
+       libraryHaskellDepends = [
+         base-prelude bytestring text text-builder-dev
+       ];
+       testHaskellDepends = [
+         QuickCheck quickcheck-instances rerebase tasty tasty-hunit
+         tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ criterion rerebase ];
+       description = "An efficient strict text builder";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "text-builder-dev" = callPackage
+    ({ mkDerivation, base, bytestring, criterion, deferred-folds
+     , QuickCheck, quickcheck-instances, rerebase, split, tasty
+     , tasty-hunit, tasty-quickcheck, text, text-conversions, tostring
+     , transformers
+     }:
+     mkDerivation {
+       pname = "text-builder-dev";
+       version = "0.2";
+       sha256 = "0q1spsc4v28kmfan1gjk44ajlgmbpr2sldrnjfdxvk9ldwbndc1h";
+       libraryHaskellDepends = [
+         base bytestring deferred-folds split text text-conversions tostring
+         transformers
+       ];
+       testHaskellDepends = [
+         QuickCheck quickcheck-instances rerebase tasty tasty-hunit
+         tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ criterion rerebase ];
+       description = "Edge of developments for \"text-builder\"";
+       license = lib.licenses.mit;
+     }) {};
+
+  "text-builder-dev_0_2_0_1" = callPackage
+    ({ mkDerivation, base, bytestring, criterion, deferred-folds
+     , QuickCheck, quickcheck-instances, rerebase, split, tasty
+     , tasty-hunit, tasty-quickcheck, text, text-conversions, tostring
+     , transformers
+     }:
+     mkDerivation {
+       pname = "text-builder-dev";
+       version = "0.2.0.1";
+       sha256 = "196qnqr5pxx6s4dd37pbzfmbml379s1m91pkimkklf8r2jcvf1zn";
+       libraryHaskellDepends = [
+         base bytestring deferred-folds split text text-conversions tostring
+         transformers
+       ];
+       testHaskellDepends = [
+         QuickCheck quickcheck-instances rerebase tasty tasty-hunit
+         tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ criterion rerebase ];
+       description = "Edge of developments for \"text-builder\"";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "text-containers" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, ghc-prim
      , hashable, QuickCheck, quickcheck-instances, tasty
@@ -274324,23 +270108,19 @@ self: {
      }) {};
 
   "text-display" = callPackage
-    ({ mkDerivation, base, bytestring, hspec, should-not-typecheck
-     , text
+    ({ mkDerivation, base, bytestring, hspec, quickcheck-text
+     , should-not-typecheck, text
      }:
      mkDerivation {
        pname = "text-display";
-       version = "0.0.1.0";
-       sha256 = "0ljh2pxwk6nl37z6az83wh50lvh5mr0gwxjc1vwnwva62yg3f0nx";
-       revision = "1";
-       editedCabalFile = "1094rlcqs2dl6j0gapaspvl80dv4k34r1lpqqz6xnxwb33s4padq";
+       version = "0.0.2.0";
+       sha256 = "093sgyn7jpwk6vkvyxb5f3qbf8zrq6xd0pyqs3a6qd9ci4r1k6dl";
        libraryHaskellDepends = [ base bytestring text ];
        testHaskellDepends = [
-         base bytestring hspec should-not-typecheck text
+         base bytestring hspec quickcheck-text should-not-typecheck text
        ];
        description = "A typeclass for user-facing output";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "text-format" = callPackage
@@ -274359,6 +270139,8 @@ self: {
        ];
        description = "Text formatting";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "text-format-heavy" = callPackage
@@ -274415,7 +270197,6 @@ self: {
        description = "A generic, derivable, haskell pretty printer";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "text-icu" = callPackage
@@ -274427,6 +270208,8 @@ self: {
        pname = "text-icu";
        version = "0.7.1.0";
        sha256 = "0s9gcd9lcrhk92ydhizyk0vbpf542ipc4hj60fa02b2g2x9q93ij";
+       revision = "2";
+       editedCabalFile = "0s0n9l682ffigfqbzb1adw63pj9iyvalv45kp9kxqwbj5yibblbc";
        libraryHaskellDepends = [ base bytestring deepseq text ];
        librarySystemDepends = [ icu ];
        testHaskellDepends = [
@@ -274448,6 +270231,8 @@ self: {
        pname = "text-icu";
        version = "0.8.0.1";
        sha256 = "1bxhaxyvhag26airz870lc6rjlf14xigdx3cml13kp7bshwgl7wi";
+       revision = "2";
+       editedCabalFile = "0j9l87xg5xp33n31ln16qj6gzw4xzvs0cd3bfvjiw7x8wy8irli2";
        libraryHaskellDepends = [ base bytestring deepseq text time ];
        librarySystemDepends = [ icu ];
        libraryPkgconfigDepends = [ icu-i18n ];
@@ -274608,16 +270393,15 @@ self: {
        libraryHaskellDepends = [ base bytestring bytestring-handle text ];
        description = "Encode and decode Text to/from ByteString using TextEncoding";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "text-manipulate" = callPackage
     ({ mkDerivation, base, criterion, tasty, tasty-hunit, text }:
      mkDerivation {
        pname = "text-manipulate";
-       version = "0.3.0.0";
-       sha256 = "0pmzp38m3r0k6ps97b1wqplxlgvvlaid09x53jl3gxng0fwq910a";
-       revision = "1";
-       editedCabalFile = "1px2b8knr4z44hp9wb9dwac1pycaic7ji4fhpma3sr6jgjjszyw4";
+       version = "0.3.1.0";
+       sha256 = "1g06ldl6cdnyr31xlks5qm1sj44ccrdvq4bf8dk032mzfkpyyrws";
        libraryHaskellDepends = [ base text ];
        testHaskellDepends = [ base tasty tasty-hunit text ];
        benchmarkHaskellDepends = [ base criterion text ];
@@ -274796,6 +270580,8 @@ self: {
        testHaskellDepends = [ base base-unicode-symbols hspec lens text ];
        description = "Marking text regions";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "text-register-machine" = callPackage
@@ -274828,8 +270614,8 @@ self: {
      }:
      mkDerivation {
        pname = "text-replace";
-       version = "0.1.0.1";
-       sha256 = "1xpyh21sy1w0k3dqacysphlfi56c6n8vinfzxb5c7qjizd7v64qs";
+       version = "0.1.0.2";
+       sha256 = "13c0iz17x0snfhv6nmwns79j601aqnc8pvxrbn3gz7sprxwf330j";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base containers text ];
@@ -274839,8 +270625,6 @@ self: {
        testHaskellDepends = [ base hedgehog neat-interpolation text ];
        description = "Simple text replacements from a list of search/replace pairs";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "text-rope" = callPackage
@@ -274861,28 +270645,6 @@ self: {
 
   "text-short" = callPackage
     ({ mkDerivation, base, binary, bytestring, deepseq, ghc-prim
-     , hashable, quickcheck-instances, tasty, tasty-hunit
-     , tasty-quickcheck, text
-     }:
-     mkDerivation {
-       pname = "text-short";
-       version = "0.1.3";
-       sha256 = "0xyrxlb602z8bc9sr2y1fag0x56a20yj5qrkvy7iwc6hnznrynxz";
-       revision = "3";
-       editedCabalFile = "1wjy98ihhipzr34b310sgjjq3cc12aydhckbrgr21kxkzwglm4nv";
-       libraryHaskellDepends = [
-         base binary bytestring deepseq ghc-prim hashable text
-       ];
-       testHaskellDepends = [
-         base binary quickcheck-instances tasty tasty-hunit tasty-quickcheck
-         text
-       ];
-       description = "Memory-efficient representation of Unicode text strings";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "text-short_0_1_5" = callPackage
-    ({ mkDerivation, base, binary, bytestring, deepseq, ghc-prim
      , hashable, tasty, tasty-hunit, tasty-quickcheck, template-haskell
      , text
      }:
@@ -274900,46 +270662,15 @@ self: {
        ];
        description = "Memory-efficient representation of Unicode text strings";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "text-show" = callPackage
     ({ mkDerivation, array, base, base-compat-batteries, base-orphans
      , bifunctors, bytestring, bytestring-builder, containers, criterion
      , deepseq, deriving-compat, generic-deriving, ghc-boot-th, ghc-prim
-     , hspec, hspec-discover, integer-gmp, QuickCheck
-     , quickcheck-instances, template-haskell, text, th-abstraction
-     , th-lift, transformers, transformers-compat
-     }:
-     mkDerivation {
-       pname = "text-show";
-       version = "3.9.2";
-       sha256 = "0srm3qj7z0c1zxpzp7n0frjdh0hxb76mz43d1ry30nrg0k4lj8lh";
-       libraryHaskellDepends = [
-         array base base-compat-batteries bifunctors bytestring
-         bytestring-builder containers generic-deriving ghc-boot-th ghc-prim
-         integer-gmp template-haskell text th-abstraction th-lift
-         transformers transformers-compat
-       ];
-       testHaskellDepends = [
-         array base base-compat-batteries base-orphans bytestring
-         bytestring-builder deriving-compat generic-deriving ghc-prim hspec
-         QuickCheck quickcheck-instances template-haskell text transformers
-         transformers-compat
-       ];
-       testToolDepends = [ hspec-discover ];
-       benchmarkHaskellDepends = [ base criterion deepseq ghc-prim text ];
-       description = "Efficient conversion of values into Text";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "text-show_3_9_6" = callPackage
-    ({ mkDerivation, array, base, base-compat-batteries, base-orphans
-     , bifunctors, bytestring, bytestring-builder, containers, criterion
-     , deepseq, deriving-compat, generic-deriving, ghc-boot-th, ghc-prim
-     , hspec, hspec-discover, integer-gmp, QuickCheck
-     , quickcheck-instances, template-haskell, text, th-abstraction
-     , th-lift, transformers, transformers-compat
+     , hspec, hspec-discover, QuickCheck, quickcheck-instances
+     , template-haskell, text, th-abstraction, th-lift, transformers
+     , transformers-compat
      }:
      mkDerivation {
        pname = "text-show";
@@ -274948,8 +270679,8 @@ self: {
        libraryHaskellDepends = [
          array base base-compat-batteries bifunctors bytestring
          bytestring-builder containers generic-deriving ghc-boot-th ghc-prim
-         integer-gmp template-haskell text th-abstraction th-lift
-         transformers transformers-compat
+         template-haskell text th-abstraction th-lift transformers
+         transformers-compat
        ];
        testHaskellDepends = [
          array base base-compat-batteries base-orphans bytestring
@@ -274961,48 +270692,12 @@ self: {
        benchmarkHaskellDepends = [ base criterion deepseq ghc-prim text ];
        description = "Efficient conversion of values into Text";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "text-show-instances" = 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, semigroups
-     , tagged, template-haskell, terminfo, text, text-short, text-show
-     , th-orphans, time, transformers, transformers-compat, unix
-     , unordered-containers, vector, xhtml
-     }:
-     mkDerivation {
-       pname = "text-show-instances";
-       version = "3.8.4";
-       sha256 = "1vsrf4vjq4z759srnzvyk3hn90ck4k91vy8cn625m8hy1zddqj2q";
-       revision = "2";
-       editedCabalFile = "1k5q21j0276jafyy4icgncz45r5gab2mj8964xayhh548rzj5cm6";
-       libraryHaskellDepends = [
-         base base-compat-batteries bifunctors binary containers directory
-         ghc-boot-th haskeline hpc old-locale old-time pretty random
-         semigroups tagged template-haskell terminfo text text-short
-         text-show time transformers transformers-compat unix
-         unordered-containers vector xhtml
-       ];
-       testHaskellDepends = [
-         base base-compat-batteries bifunctors binary containers directory
-         generic-deriving ghc-boot-th ghc-prim haskeline hpc hspec
-         old-locale old-time pretty QuickCheck quickcheck-instances random
-         tagged template-haskell terminfo text-short text-show th-orphans
-         time transformers transformers-compat unix unordered-containers
-         vector xhtml
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Additional instances for text-show";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "text-show-instances_3_8_6" = 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
@@ -275032,7 +270727,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Additional instances for text-show";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "text-stream-decode" = callPackage
@@ -275513,25 +271207,27 @@ 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
-    ({ mkDerivation, base, containers, fail, ghc-prim, hspec, HUnit
-     , mtl, ordered-containers, semigroups, syb, template-haskell
-     , th-abstraction, th-lift, th-orphans, transformers-compat
+    ({ mkDerivation, base, containers, ghc-prim, hspec, HUnit, mtl
+     , ordered-containers, syb, template-haskell, th-abstraction
+     , th-lift, th-orphans, transformers-compat
      }:
      mkDerivation {
        pname = "th-desugar";
-       version = "1.11";
-       sha256 = "0ap8dk1a1wl62ggqkg9rb7vna131drrjcd2hn5dw7mwnbc1rxqhl";
+       version = "1.12";
+       sha256 = "1bp47jpif299kbm27zhjaw1nhl12daa09vsc8f0jracq0jhxi3iv";
        libraryHaskellDepends = [
-         base containers fail ghc-prim mtl ordered-containers semigroups syb
+         base containers ghc-prim mtl ordered-containers syb
          template-haskell th-abstraction th-lift th-orphans
          transformers-compat
        ];
        testHaskellDepends = [
-         base containers hspec HUnit mtl syb template-haskell th-lift
-         th-orphans
+         base containers hspec HUnit mtl syb template-haskell th-abstraction
+         th-lift th-orphans
        ];
        description = "Functions to desugar Template Haskell";
        license = lib.licenses.bsd3;
@@ -275593,24 +271289,6 @@ self: {
      }:
      mkDerivation {
        pname = "th-expand-syns";
-       version = "0.4.8.0";
-       sha256 = "1mw0yxfbmicv0irfrcz4s6pn39za7yjd7zz09ialwym1b46624si";
-       revision = "1";
-       editedCabalFile = "0l30cmwm20lgjpvr3a5yxj6429s1hqahjsij8z2ap88754phd41l";
-       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_9_0" = callPackage
-    ({ mkDerivation, base, containers, syb, template-haskell
-     , th-abstraction
-     }:
-     mkDerivation {
-       pname = "th-expand-syns";
        version = "0.4.9.0";
        sha256 = "1yc6n4pgapl3vfjcilxn6hjdf6cr54c1w32i7wwbn806sljflhwy";
        libraryHaskellDepends = [
@@ -275619,7 +271297,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
@@ -275677,6 +271354,8 @@ self: {
        libraryHaskellDepends = [ base template-haskell ];
        description = "Simple inline IO action into compiled code using TH";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "th-instance-reification" = callPackage
@@ -275766,8 +271445,8 @@ self: {
      }:
      mkDerivation {
        pname = "th-lego";
-       version = "0.3";
-       sha256 = "0shwmh8anzrgifk0z2ypdkp7f0sz9p4azfjj1rcnz0px1wmhz9xn";
+       version = "0.3.0.1";
+       sha256 = "092q1mg38lkam0bcw4i1m14563j8z9l9hcqjp0sfsclkylamh23c";
        libraryHaskellDepends = [
          base template-haskell template-haskell-compat-v0208 text
        ];
@@ -275777,8 +271456,6 @@ self: {
        ];
        description = "Template Haskell construction utilities";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "th-lift" = callPackage
@@ -276391,6 +272068,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A simplified implementation of Erlang/OTP like supervisor over thread";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "thread-utils-context" = callPackage
@@ -276554,6 +272233,8 @@ self: {
        ];
        description = "A graphical tool for profiling parallel Haskell programs";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "threefish" = callPackage
@@ -276711,6 +272392,8 @@ self: {
        ];
        description = "Throttler between arbitrary IO producer and consumer functions";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "throttled" = callPackage
@@ -276852,6 +272535,8 @@ self: {
        ];
        description = "A faster time library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "tianbar" = callPackage
@@ -276960,8 +272645,6 @@ self: {
        testHaskellDepends = [ base QuickCheck text ];
        description = "A basic implementation of a personal ticket management system";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "tickle" = callPackage
@@ -277269,25 +272952,6 @@ self: {
      }) {};
 
   "time-compat" = callPackage
-    ({ mkDerivation, base, base-compat, base-orphans, deepseq, HUnit
-     , QuickCheck, tagged, tasty, tasty-hunit, tasty-quickcheck, time
-     }:
-     mkDerivation {
-       pname = "time-compat";
-       version = "1.9.5";
-       sha256 = "19p3056i6kh8lgcdsnwsh8pj80xyi23kmw9n7hmdacczs5kv49ii";
-       revision = "1";
-       editedCabalFile = "1f6r8cyfgzpfg9nrsqbf99pi44fyds9wcmgwxb4s0zmlb5dbv1m5";
-       libraryHaskellDepends = [ base base-orphans deepseq time ];
-       testHaskellDepends = [
-         base base-compat deepseq HUnit QuickCheck tagged tasty tasty-hunit
-         tasty-quickcheck time
-       ];
-       description = "Compatibility package for time";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "time-compat_1_9_6_1" = callPackage
     ({ mkDerivation, base, base-compat, base-orphans, deepseq, hashable
      , HUnit, QuickCheck, tagged, tasty, tasty-hunit, tasty-quickcheck
      , time
@@ -277307,7 +272971,17 @@ self: {
        ];
        description = "Compatibility package for time";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "time-domain" = callPackage
+    ({ mkDerivation, base, time }:
+     mkDerivation {
+       pname = "time-domain";
+       version = "0.1.0.0";
+       sha256 = "1gmz0l9nf185cl43qfdcsb15hgfkk6wprrfc5q93l82kgdc30bj4";
+       libraryHaskellDepends = [ base time ];
+       description = "A library for time domains and durations";
+       license = lib.licenses.mit;
      }) {};
 
   "time-extras" = callPackage
@@ -277594,6 +273268,17 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "time-units-types" = callPackage
+    ({ mkDerivation, base, time-units }:
+     mkDerivation {
+       pname = "time-units-types";
+       version = "0.2.0.1";
+       sha256 = "1sbyjhl7gw5fn3javsb12ip7ggyi0hwzz6qdpiv1bqh1qcdxkhjb";
+       libraryHaskellDepends = [ base time-units ];
+       description = "Type-level representations of time durations";
+       license = lib.licenses.mit;
+     }) {};
+
   "time-w3c" = callPackage
     ({ mkDerivation, base, convertible, parsec, time }:
      mkDerivation {
@@ -277968,7 +273653,6 @@ self: {
        description = "Library for Time Series processing";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "timespan" = callPackage
@@ -278093,8 +273777,6 @@ self: {
        ];
        description = "Load TimeZoneSeries from an Olson file at compile time";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "timezone-series" = callPackage
@@ -278152,8 +273834,6 @@ self: {
        testHaskellDepends = [ base QuickCheck ];
        description = "Tiny INI file and configuration library with a minimal dependency footprint";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "tintin" = callPackage
@@ -278344,6 +274024,8 @@ self: {
        testHaskellDepends = [ aeson base hspec vector ];
        description = "Navigating and editing JSON data";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "titan" = callPackage
@@ -278524,6 +274206,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A lexer generator";
        license = "(Apache-2.0 OR MPL-2.0)";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tlex-core" = callPackage
@@ -278547,6 +274230,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A lexer generator";
        license = "(Apache-2.0 OR MPL-2.0)";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tlex-debug" = callPackage
@@ -278569,6 +274253,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Debug utilities for Tlex";
        license = "(Apache-2.0 OR MPL-2.0)";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tlex-encoding" = callPackage
@@ -278591,6 +274276,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Encoding plugin for Tlex";
        license = "(Apache-2.0 OR MPL-2.0)";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tlex-th" = callPackage
@@ -278614,6 +274300,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "TemplateHaskell plugin for Tlex";
        license = "(Apache-2.0 OR MPL-2.0)";
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tls" = callPackage
@@ -278698,50 +274385,26 @@ self: {
      }) {};
 
   "tlynx" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, comonad
-     , containers, elynx-tools, elynx-tree, gnuplot, lifted-async
-     , monad-logger, mwc-random, optparse-applicative, parallel
-     , statistics, text, transformers, vector
-     }:
-     mkDerivation {
-       pname = "tlynx";
-       version = "0.5.1.1";
-       sha256 = "1hp2j5yiki2li7h3097vkyis0an8aai1ng8dc0zv4d4dp4kmfvyx";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson attoparsec base bytestring comonad containers elynx-tools
-         elynx-tree gnuplot lifted-async monad-logger mwc-random
-         optparse-applicative parallel statistics text transformers vector
-       ];
-       executableHaskellDepends = [ base ];
-       description = "Handle phylogenetic trees";
-       license = lib.licenses.gpl3Plus;
-       maintainers = with lib.maintainers; [ dschrempf ];
-     }) {};
-
-  "tlynx_0_6_1_0" = callPackage
     ({ mkDerivation, aeson, async, attoparsec, base, bytestring
      , comonad, containers, data-default-class, elynx-tools, elynx-tree
-     , gnuplot, mwc-random, optparse-applicative, parallel, primitive
-     , statistics, text, transformers, vector
+     , mwc-random, optparse-applicative, parallel, primitive, statistics
+     , text, transformers, vector
      }:
      mkDerivation {
        pname = "tlynx";
-       version = "0.6.1.0";
-       sha256 = "0dwwpq0jj89g68scxrqy4zr6r3f93w8024icbblwx4ygv51xkxai";
+       version = "0.6.1.1";
+       sha256 = "1q59gfk9i4ghm5gyw104isn0f3ws73n12a9hv6xhs6c3rfl8spr9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson async attoparsec base bytestring comonad containers
-         data-default-class elynx-tools elynx-tree gnuplot mwc-random
+         data-default-class elynx-tools elynx-tree mwc-random
          optparse-applicative parallel primitive statistics text
          transformers vector
        ];
        executableHaskellDepends = [ base ];
        description = "Handle phylogenetic trees";
        license = lib.licenses.gpl3Plus;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ dschrempf ];
      }) {};
 
@@ -279101,7 +274764,6 @@ self: {
        description = "Easy-to-use TODOs manager";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "tofromxml" = callPackage
@@ -279139,8 +274801,6 @@ self: {
        ];
        description = "Manage the toilet queue at the IMO";
        license = "GPL";
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "token-bucket" = callPackage
@@ -279155,6 +274815,8 @@ self: {
        testHaskellDepends = [ base time ];
        description = "Rate limiter using lazy bucket algorithm";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "token-limiter" = callPackage
@@ -279195,6 +274857,7 @@ self: {
        testToolDepends = [ sydtest-discover ];
        description = "A thread-safe concurrent token-bucket rate limiter that guarantees fairness";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "token-search" = callPackage
@@ -279405,41 +275068,12 @@ self: {
        libraryToolDepends = [ alex happy ];
        description = "Parser for the TOML configuration language";
        license = lib.licenses.isc;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "tomland" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, directory
-     , hashable, hedgehog, hspec, hspec-golden, hspec-hedgehog
-     , hspec-megaparsec, markdown-unlit, megaparsec, mtl
-     , parser-combinators, text, time, transformers
-     , unordered-containers, validation-selective
-     }:
-     mkDerivation {
-       pname = "tomland";
-       version = "1.3.2.0";
-       sha256 = "0yj39mh4z3v3jqri38s3ylrglv657g3m7gqr2rz8ydlvx2draknc";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring containers deepseq hashable megaparsec mtl
-         parser-combinators text time transformers unordered-containers
-         validation-selective
-       ];
-       executableHaskellDepends = [
-         base bytestring containers hashable text time unordered-containers
-       ];
-       executableToolDepends = [ markdown-unlit ];
-       testHaskellDepends = [
-         base bytestring containers directory hashable hedgehog hspec
-         hspec-golden hspec-hedgehog hspec-megaparsec megaparsec text time
-         unordered-containers
-       ];
-       description = "Bidirectional TOML serialization";
-       license = lib.licenses.mpl20;
-     }) {};
-
-  "tomland_1_3_3_1" = callPackage
-    ({ mkDerivation, base, bytestring, containers, deepseq, directory
      , hashable, hedgehog, hspec, hspec-hedgehog, hspec-megaparsec
      , megaparsec, mtl, parser-combinators, text, time, transformers
      , unordered-containers, validation-selective
@@ -279462,7 +275096,6 @@ self: {
        ];
        description = "Bidirectional TOML serialization";
        license = lib.licenses.mpl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tomlcheck" = callPackage
@@ -279480,6 +275113,7 @@ self: {
        ];
        description = "Command-line tool to check syntax of TOML files";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tonalude" = callPackage
@@ -279492,6 +275126,8 @@ self: {
        testHaskellDepends = [ base bytestring doctest Glob rio unliftio ];
        description = "A standard library for Tonatona framework";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "tonaparser" = callPackage
@@ -279506,6 +275142,8 @@ self: {
        testHaskellDepends = [ base doctest envy Glob rio say tonatona ];
        description = "Scalable way to pass runtime configurations for tonatona";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "tonatona" = callPackage
@@ -279518,6 +275156,7 @@ self: {
        testHaskellDepends = [ base doctest Glob rio tonaparser ];
        description = "meta application framework";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tonatona-google-server-api" = callPackage
@@ -279527,8 +275166,8 @@ self: {
      }:
      mkDerivation {
        pname = "tonatona-google-server-api";
-       version = "0.1.3.0";
-       sha256 = "1kw2i4il75kzgxim53phdb07gd1axadh262k3g4639kakij7giif";
+       version = "0.2.0.0";
+       sha256 = "01ilskcr8k219vijd3zkzy6lpzavqv36j3vxbx1hrms0hylnydah";
        libraryHaskellDepends = [
          base google-server-api monad-logger persistent persistent-sqlite
          resource-pool servant-client tonalude tonaparser tonatona
@@ -279540,6 +275179,7 @@ self: {
        ];
        description = "tonatona plugin for google-server-api";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tonatona-logger" = callPackage
@@ -279552,6 +275192,7 @@ self: {
        testHaskellDepends = [ base doctest Glob rio tonaparser tonatona ];
        description = "tonatona plugin for logging";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tonatona-persistent-postgresql" = callPackage
@@ -279573,7 +275214,6 @@ self: {
        description = "tonatona plugin for accessing PostgreSQL database";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "tonatona-persistent-sqlite" = callPackage
@@ -279595,7 +275235,6 @@ self: {
        description = "tonatona plugin for accessing Sqlite database";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "tonatona-servant" = callPackage
@@ -279620,7 +275259,6 @@ self: {
        description = "tonatona plugin for servant";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "too-many-cells" = callPackage
@@ -280150,8 +275788,8 @@ self: {
      }:
      mkDerivation {
        pname = "tpdb";
-       version = "2.2.2";
-       sha256 = "0061140xvd06nki4r6xh59cqw9v8kl12dqgd8qx7d2kkjw2qvpn8";
+       version = "2.3.0";
+       sha256 = "0gn07n03brkfab7c6sq3227k8b3i4v0k83lhxqxsgwz80i0mkx5i";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -280304,8 +275942,8 @@ self: {
      }:
      mkDerivation {
        pname = "tracing-control";
-       version = "0.0.7.2";
-       sha256 = "06ac0k90d51lll4l16wg715d50j6cv47jbxy76ifal1qizpr520c";
+       version = "0.0.7.3";
+       sha256 = "1cxn64v6qa3n7d3d7nq4r9xrq42fl7z3xkqa9k8alaqfzkpx7v17";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring case-insensitive containers
          http-client lifted-base monad-control mtl network random stm
@@ -280317,8 +275955,6 @@ self: {
        ];
        description = "Distributed tracing";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "tracked-files" = callPackage
@@ -280498,6 +276134,8 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Monadic effect framework";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "trans-fx-data" = callPackage
@@ -280509,6 +276147,7 @@ self: {
        libraryHaskellDepends = [ base trans-fx-core ];
        description = "Monadic effect framework";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "trans-fx-io" = callPackage
@@ -280521,6 +276160,7 @@ self: {
        testHaskellDepends = [ base time trans-fx-core ];
        description = "Monadic effect framework";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "transaction" = callPackage
@@ -280623,12 +276263,12 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "transformers_0_6_0_3" = callPackage
+  "transformers_0_6_0_4" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "transformers";
-       version = "0.6.0.3";
-       sha256 = "070v6kwxinls0w48mfyjqz6rfz03sphyig2ar13lplqjr01kaa67";
+       version = "0.6.0.4";
+       sha256 = "1jw9c89yri37hsai6jgckfdana1gqjr15xnanxzm3vahvgcb5f1s";
        libraryHaskellDepends = [ base ];
        description = "Concrete functor and monad transformers";
        license = lib.licenses.bsd3;
@@ -280910,7 +276550,6 @@ self: {
        description = "fully composable remote execution for the creation of distributed systems";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "transient-universe-tls" = callPackage
@@ -280975,7 +276614,6 @@ self: {
        description = "Translation cli tool";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "trasa" = callPackage
@@ -281137,7 +276775,6 @@ self: {
        ];
        description = "General data structure lifting for Template Haskell";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "traverse-with-class" = callPackage
@@ -281770,6 +277407,8 @@ self: {
        libraryHaskellDepends = [ base text tomland trial ];
        description = "Trial helper functions for tomland";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "triangulation" = callPackage
@@ -281915,7 +277554,6 @@ self: {
        ];
        description = "A utility for neat multiline string trimming";
        license = lib.licenses.agpl3Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "trimpolya" = callPackage
@@ -281945,8 +277583,6 @@ self: {
        ];
        description = "A very simple triple store";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "triplesec" = callPackage
@@ -282028,7 +277664,6 @@ self: {
        description = "A Tropical Geometry package for Haskell";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "true-name" = callPackage
@@ -282380,14 +278015,31 @@ self: {
      }:
      mkDerivation {
        pname = "ttc";
-       version = "1.1.1.0";
-       sha256 = "04r2kv0wr7g4ahy3iqbbnihy0mh75pghqzsl9iiz60dpgdnfgafw";
+       version = "1.1.1.1";
+       sha256 = "1zk4iavn51s89m35w7fwi7z9c5gkz98f8phv5bp4f9ajirmhn6r1";
+       libraryHaskellDepends = [ base bytestring template-haskell text ];
+       testHaskellDepends = [
+         base bytestring tasty tasty-hunit template-haskell text
+       ];
+       description = "Textual Type Classes";
+       license = lib.licenses.mit;
+     }) {};
+
+  "ttc_1_2_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, tasty, tasty-hunit
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "ttc";
+       version = "1.2.0.0";
+       sha256 = "0x5xq00ls290s3ivzzlg4dq0rgzx1x6nzkch49ylwvb5xicmzgm5";
        libraryHaskellDepends = [ base bytestring template-haskell text ];
        testHaskellDepends = [
          base bytestring tasty tasty-hunit template-haskell text
        ];
        description = "Textual Type Classes";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ttl-hashtables" = callPackage
@@ -282449,6 +278101,7 @@ self: {
        executableHaskellDepends = [ base text time ttn ];
        description = "TheThingsNetwork client";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ sorki ];
      }) {};
 
@@ -282611,6 +278264,7 @@ self: {
        description = "Functions to convert between tuples and HLists";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "tuple-lenses" = callPackage
@@ -282638,6 +278292,7 @@ self: {
        description = "Morph between tuples, or convert them from and to HLists";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "tuple-ops" = callPackage
@@ -282770,6 +278425,7 @@ self: {
        description = "An implementation of Turing Machine and Automaton";
        license = lib.licenses.gpl3Only;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "turkish-deasciifier" = callPackage
@@ -282881,6 +278537,8 @@ self: {
        ];
        description = "Tiny web application framework for WAI";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "tweak" = callPackage
@@ -282911,8 +278569,6 @@ self: {
        ];
        description = "An equational theorem prover";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "twee-lib" = callPackage
@@ -282956,6 +278612,7 @@ self: {
        benchmarkHaskellDepends = [ base bytestring criterion megaparsec ];
        description = "Command-line tool for twitter";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "twentefp" = callPackage
@@ -283155,7 +278812,6 @@ self: {
        description = "CLI twitter client";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "twidge" = callPackage
@@ -283253,6 +278909,8 @@ self: {
        testHaskellDepends = [ base doctest ];
        description = "TwiML library for Haskell";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "twine" = callPackage
@@ -283292,7 +278950,6 @@ self: {
        description = "Haskell twirp foundations";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "twisty" = callPackage
@@ -283379,6 +279036,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Twitter API package with conduit interface and Streaming API support";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "twitter-enumerator" = callPackage
@@ -283442,6 +279100,8 @@ self: {
        ];
        description = "Twitter JSON parser and types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "twitter-types-lens" = callPackage
@@ -283457,6 +279117,7 @@ self: {
        ];
        description = "Twitter JSON types (lens powered)";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tx" = callPackage
@@ -283801,8 +279462,6 @@ self: {
        testHaskellDepends = [ base ];
        description = "Collection of widely reimplemented type families";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "type-functions" = callPackage
@@ -284324,6 +279983,8 @@ self: {
        ];
        description = "Mock functions and expressions anywhere";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "typeable-th" = callPackage
@@ -284344,8 +280005,8 @@ self: {
     ({ mkDerivation, base, containers, ghc }:
      mkDerivation {
        pname = "typecheck-plugin-nat-simple";
-       version = "0.1.0.2";
-       sha256 = "1hdp2n8n75lr1rjn99nwrqgzh3xay18lkjm8sjv36bwavvbw9p90";
+       version = "0.1.0.4";
+       sha256 = "0ybkkfk9ha3f1f5cq45r0rmnws0ai6imwic0srf78d6ys3q5n5n5";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base containers ghc ];
        testHaskellDepends = [ base containers ghc ];
@@ -284378,6 +280039,7 @@ self: {
        ];
        description = "Admin console framework";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "typed-digits" = callPackage
@@ -284395,6 +280057,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Digits, indexed by their base at the type level";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "typed-duration" = callPackage
@@ -284490,7 +280154,6 @@ self: {
        executableHaskellDepends = [ base diagrams-lib text ];
        description = "Typed and composable spreadsheets";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
@@ -284531,23 +280194,6 @@ self: {
      }) {};
 
   "typed-uuid" = callPackage
-    ({ mkDerivation, aeson, base, binary, bytestring, deepseq, hashable
-     , http-api-data, random, text, uuid, validity, validity-uuid
-     , yamlparse-applicative
-     }:
-     mkDerivation {
-       pname = "typed-uuid";
-       version = "0.1.0.0";
-       sha256 = "1smwrjn63wsvy7lickdapgfqbvndypvy1qlnfrn5iymi2mg1kyxi";
-       libraryHaskellDepends = [
-         aeson base binary bytestring deepseq hashable http-api-data random
-         text uuid validity validity-uuid yamlparse-applicative
-       ];
-       description = "Phantom-Typed version of UUID";
-       license = lib.licenses.mit;
-     }) {};
-
-  "typed-uuid_0_2_0_0" = callPackage
     ({ mkDerivation, aeson, autodocodec, base, binary, bytestring
      , deepseq, hashable, http-api-data, random, text, uuid, validity
      , validity-uuid
@@ -284659,8 +280305,8 @@ self: {
      }:
      mkDerivation {
        pname = "typelet";
-       version = "0.1.0.0";
-       sha256 = "0kmidkbdq40bhfz4kqcb81kn2h67vcrl5lrpv3hg3ca79wxnxk2s";
+       version = "0.1.1.0";
+       sha256 = "1mgmlly0whdgbpjqa3smjgxhrlwqq971kka36i61ldkppb6ic2kj";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base cabal-doctest ];
@@ -284669,6 +280315,7 @@ self: {
        description = "Plugin to faciliate type-level let";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "typelevel" = callPackage
@@ -284797,32 +280444,8 @@ self: {
      }:
      mkDerivation {
        pname = "typerep-map";
-       version = "0.3.3.0";
-       sha256 = "0j7f7k0knpdsh41p0bzg7yv32nz684s3vrxc8pig5ckmmadc4mh4";
-       libraryHaskellDepends = [
-         base containers deepseq ghc-prim primitive vector
-       ];
-       testHaskellDepends = [
-         base ghc-typelits-knownnat hedgehog hspec hspec-hedgehog
-       ];
-       benchmarkHaskellDepends = [
-         base criterion deepseq dependent-map dependent-sum
-         ghc-typelits-knownnat
-       ];
-       doHaddock = false;
-       description = "Efficient implementation of a dependent map with types as keys";
-       license = lib.licenses.mpl20;
-     }) {};
-
-  "typerep-map_0_4_0_0" = callPackage
-    ({ mkDerivation, base, containers, criterion, deepseq
-     , dependent-map, dependent-sum, ghc-prim, ghc-typelits-knownnat
-     , hedgehog, hspec, hspec-hedgehog, primitive, vector
-     }:
-     mkDerivation {
-       pname = "typerep-map";
-       version = "0.4.0.0";
-       sha256 = "0fgn7blxfnwwh92wzd5jma7rniqp9f7abb4wvr61mvhw44m6mvgr";
+       version = "0.5.0.0";
+       sha256 = "0ash190liysilgdwd5aiv55k3jrapksdhrcf0sf5lqv5dmpq07ja";
        libraryHaskellDepends = [
          base containers deepseq ghc-prim primitive vector
        ];
@@ -284836,7 +280459,6 @@ self: {
        doHaddock = false;
        description = "Efficient implementation of a dependent map with types as keys";
        license = lib.licenses.mpl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "types-compat" = callPackage
@@ -284884,7 +280506,6 @@ self: {
        description = "Type-safe transformations and purifications of PreCures (Japanese Battle Heroine)";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "typescript-docs" = callPackage
@@ -284997,6 +280618,8 @@ self: {
        ];
        description = "Type-safe PostgreSQL JSON Querying";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "typson-esqueleto" = callPackage
@@ -285102,8 +280725,8 @@ self: {
      }:
      mkDerivation {
        pname = "tzdata";
-       version = "0.2.20211021.0";
-       sha256 = "0x1pqdlbhh8qhbbfpc01jlcamk2ihwxbs9m8kgm8abd9fk0bwa0a";
+       version = "0.2.20220315.0";
+       sha256 = "1x5lkbd0n0h0nyxr3a3ib1lxp1d862g805wkn2p92ry4pmj1yacb";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring containers deepseq vector
@@ -285156,25 +280779,27 @@ self: {
      }) {};
 
   "ua-parser" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, criterion, data-default
-     , deepseq, file-embed, filepath, HUnit, pcre-light, tasty
-     , tasty-hunit, tasty-quickcheck, text, yaml
+    ({ mkDerivation, aeson, base, bytestring, cereal, cereal-text
+     , criterion, data-default, deepseq, file-embed, filepath, HUnit
+     , pcre-light, tasty, tasty-hunit, tasty-quickcheck, text, yaml
      }:
      mkDerivation {
        pname = "ua-parser";
-       version = "0.7.6.0";
-       sha256 = "0sakvmmf6p2ca0dbkwqdj5cv93gp78srw0zc4f1skcgndkmxwk6l";
+       version = "0.7.7.0";
+       sha256 = "1dkwhd2rl4fsjsvx68wclq4ipzxaxxlw1jailb379q0d77j8934s";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson base bytestring data-default file-embed pcre-light text yaml
+         aeson base bytestring cereal cereal-text data-default deepseq
+         file-embed pcre-light text yaml
        ];
        testHaskellDepends = [
-         aeson base bytestring data-default file-embed filepath HUnit
-         pcre-light tasty tasty-hunit tasty-quickcheck text yaml
+         aeson base bytestring cereal cereal-text data-default deepseq
+         file-embed filepath HUnit pcre-light tasty tasty-hunit
+         tasty-quickcheck text yaml
        ];
        benchmarkHaskellDepends = [
-         aeson base bytestring criterion data-default deepseq file-embed
-         filepath pcre-light text yaml
+         aeson base bytestring cereal cereal-text criterion data-default
+         deepseq file-embed filepath pcre-light text yaml
        ];
        description = "A library for parsing User-Agent strings, official Haskell port of ua-parser";
        license = lib.licenses.bsd3;
@@ -285304,10 +280929,8 @@ self: {
      }:
      mkDerivation {
        pname = "ucl";
-       version = "0.2.0.0";
-       sha256 = "1ccf9zavmsk0msq4gz6alv5z32qwnap8a4zvajmqps69bh66b9wv";
-       revision = "1";
-       editedCabalFile = "1gyhy1311wqj5s10pgkpc0vsmvcqja23p4nqn3nv0mbc9fajal2n";
+       version = "0.2.0.1";
+       sha256 = "14ds8p8akbk3dgl12395m11234n63sca89gfsb4a73j7p1y21kab";
        libraryHaskellDepends = [ base bytestring containers text time ];
        libraryPkgconfigDepends = [ libucl ];
        testHaskellDepends = [ base containers ];
@@ -285348,6 +280971,8 @@ self: {
        ];
        description = "Small DBus implementation";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "udbus-model" = callPackage
@@ -285361,6 +280986,7 @@ self: {
        libraryHaskellDepends = [ base bytestring udbus xml ];
        description = "Model API for udbus introspection and definitions";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "udcode" = callPackage
@@ -285423,6 +281049,20 @@ self: {
        broken = true;
      }) {};
 
+  "ueberzug" = callPackage
+    ({ mkDerivation, base, process }:
+     mkDerivation {
+       pname = "ueberzug";
+       version = "0.2.0.0";
+       sha256 = "01n669wjcjh01x168vjhalq6l52m9jgma86jlym4456sl9cja6s2";
+       libraryHaskellDepends = [ base process ];
+       testHaskellDepends = [ base ];
+       description = "Haskell bindings for ueberzug to display images in the terminal";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "uglymemo" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -285562,15 +281202,48 @@ self: {
        libraryHaskellDepends = [ base bytestring mmsyn2 mmsyn5 vector ];
        description = "A library to work with the basic Ukrainian phonetics and syllable segmentation";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ukrainian-phonetics-basic-array" = callPackage
-    ({ mkDerivation, base, bytestring, mmsyn2-array, mmsyn5 }:
+    ({ mkDerivation, base, mmsyn2-array, mmsyn5
+     , ukrainian-phonetics-common
+     }:
      mkDerivation {
        pname = "ukrainian-phonetics-basic-array";
-       version = "0.4.2.0";
-       sha256 = "1qw75wp493bnzwcbmhaifm4m7dj71f5q16xcscmgsysf1lj2y3m3";
-       libraryHaskellDepends = [ base bytestring mmsyn2-array mmsyn5 ];
+       version = "0.5.3.0";
+       sha256 = "181cm83hl2ga3gg0fa8kflrn2fnxmmdxx7flijr3c7pj8xd04l18";
+       libraryHaskellDepends = [
+         base mmsyn2-array mmsyn5 ukrainian-phonetics-common
+       ];
+       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
+    ({ mkDerivation, base, bytestring, mmsyn2-array, mmsyn5
+     , ukrainian-phonetics-common
+     }:
+     mkDerivation {
+       pname = "ukrainian-phonetics-basic-array-bytestring";
+       version = "0.1.0.0";
+       sha256 = "1xg3hfxmjvnj3x7ippjwypggi9c052fcalnvrljr6s8fyrmya7sx";
+       libraryHaskellDepends = [
+         base bytestring mmsyn2-array mmsyn5 ukrainian-phonetics-common
+       ];
+       description = "A library to work with the basic Ukrainian phonetics and syllable segmentation";
+       license = lib.licenses.mit;
+     }) {};
+
+  "ukrainian-phonetics-common" = callPackage
+    ({ mkDerivation, base, mmsyn2-array }:
+     mkDerivation {
+       pname = "ukrainian-phonetics-common";
+       version = "0.1.1.0";
+       sha256 = "09sj6d29fcifxc30wxm5fqgvpifk7i7xf1dbxq7grawxf3w3l7hz";
+       libraryHaskellDepends = [ base mmsyn2-array ];
        description = "A library to work with the basic Ukrainian phonetics and syllable segmentation";
        license = lib.licenses.mit;
      }) {};
@@ -285716,6 +281389,7 @@ self: {
        description = "Opinionated Haskell Interoperability";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "unbound" = callPackage
@@ -285925,6 +281599,8 @@ self: {
        ];
        description = "Manipulating numbers with inherent experimental/measurement uncertainty";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "unconstrained" = callPackage
@@ -285950,6 +281626,8 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Tiny package providing unescaping versions of show and print";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "unexceptionalio" = callPackage
@@ -286279,12 +281957,12 @@ self: {
      }) {};
 
   "unicode-show" = callPackage
-    ({ mkDerivation, base, hspec, QuickCheck }:
+    ({ mkDerivation, base, hspec, QuickCheck, safe, transformers }:
      mkDerivation {
        pname = "unicode-show";
-       version = "0.1.1.0";
-       sha256 = "1g945vkj75vrm4c3v79c61hlhx3s6q5v0lm92bjzf29r45clnzsi";
-       libraryHaskellDepends = [ base ];
+       version = "0.1.1.1";
+       sha256 = "1sizp1wmnx1vgckwyf5nawqf9s7ibrwacgznnc1m4j5q1hydbbzl";
+       libraryHaskellDepends = [ base safe transformers ];
        testHaskellDepends = [ base hspec QuickCheck ];
        description = "print and show in unicode";
        license = lib.licenses.bsd3;
@@ -286304,54 +281982,27 @@ self: {
      }) {};
 
   "unicode-transforms" = callPackage
-    ({ mkDerivation, base, bytestring, deepseq, filepath, gauge
-     , getopt-generics, ghc-prim, hspec, path, path-io, QuickCheck
-     , split, text
-     }:
-     mkDerivation {
-       pname = "unicode-transforms";
-       version = "0.3.7.1";
-       sha256 = "1010sahi4mjzqmxqlj3w73rlymbl2370x5vizjqbx7mb86kxzx4f";
-       revision = "2";
-       editedCabalFile = "0kbcn5881sxh0i8pqckjam4kwr1n7m3gl5ppcq4li32dzfiz9b57";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base bytestring ghc-prim text ];
-       testHaskellDepends = [
-         base deepseq getopt-generics hspec QuickCheck split text
-       ];
-       benchmarkHaskellDepends = [
-         base deepseq filepath gauge path path-io text
-       ];
-       description = "Unicode normalization";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "unicode-transforms_0_4_0" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, filepath, ghc-prim
      , hspec, path, path-io, QuickCheck, split, tasty-bench, text
      , unicode-data
      }:
      mkDerivation {
        pname = "unicode-transforms";
-       version = "0.4.0";
-       sha256 = "0m234yhjizl28xm8y08bdhrbni666r7q2z71a8s64lynqk4lzq5k";
-       revision = "1";
-       editedCabalFile = "18k7z25byg9x05rydbcgjfvhz9qdv6yxjvxac58kxw8pfj8xlcap";
+       version = "0.4.0.1";
+       sha256 = "1z29jvli2rqkynfxni1gibl81458j7h8lrb8fg6lpnj8svhy2y1j";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base bytestring ghc-prim text unicode-data
        ];
        testHaskellDepends = [
-         base deepseq hspec QuickCheck split text unicode-data
+         base bytestring deepseq hspec QuickCheck split text unicode-data
        ];
        benchmarkHaskellDepends = [
          base deepseq filepath path path-io tasty-bench text
        ];
        description = "Unicode normalization";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "unicode-tricks" = callPackage
@@ -286457,8 +282108,6 @@ self: {
        ];
        description = "Uniform file handling operations";
        license = lib.licenses.gpl2Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "uniform-io" = callPackage
@@ -286543,7 +282192,6 @@ self: {
        ];
        description = "A uniform base to build apps on";
        license = lib.licenses.gpl2Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "union" = callPackage
@@ -286783,6 +282431,7 @@ self: {
        libraryHaskellDepends = [ base mmsyn6ukr vector ];
        description = "Can be used to produce the 'uniquenessPeriods' function and related functionality";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "uniqueness-periods-general" = callPackage
@@ -286794,6 +282443,8 @@ self: {
        libraryHaskellDepends = [ base vector ];
        description = "Can be used to produce the similar to 'String.Ukrainian.UniquenessPeriods' functions.";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "uniqueness-periods-vector" = callPackage
@@ -286805,6 +282456,8 @@ self: {
        libraryHaskellDepends = [ base vector ];
        description = "Generalization of the uniqueness-periods and uniqueness-periods-general packages functionality";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "uniqueness-periods-vector-common" = callPackage
@@ -286816,6 +282469,8 @@ self: {
        libraryHaskellDepends = [ base vector ];
        description = "Generalization of the dobutokO-poetry-general package functionality";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "uniqueness-periods-vector-examples" = callPackage
@@ -286859,6 +282514,7 @@ self: {
        libraryHaskellDepends = [ base mmsyn2 vector ];
        description = "A library allows to change the structure of the 'RealFrac' function output";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "uniqueness-periods-vector-general" = callPackage
@@ -286874,6 +282530,7 @@ self: {
        ];
        description = "Some kind of the optimization approach to data inner structure";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "uniqueness-periods-vector-properties" = callPackage
@@ -286894,18 +282551,19 @@ self: {
        description = "Metrices for the maximum element for the uniqueness-periods-vector packages family";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "uniqueness-periods-vector-stats" = callPackage
     ({ mkDerivation, base, ghc-prim }:
      mkDerivation {
        pname = "uniqueness-periods-vector-stats";
-       version = "0.2.1.0";
-       sha256 = "1vw12a6q1h2in2llyy49n54s20sh8i4ry9vr2rwy8q0xfvfq9v25";
+       version = "0.2.2.0";
+       sha256 = "0j6n6maqjm1jvwl8s08v2ykv23yzkk6cnqkbv2af3p8fnd6m83sy";
        libraryHaskellDepends = [ base ghc-prim ];
        description = "A very basic descriptive statistics";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "unit" = callPackage
@@ -286933,16 +282591,17 @@ self: {
 
   "units" = callPackage
     ({ mkDerivation, base, containers, deepseq, lens, linear, mtl
-     , multimap, singletons, syb, template-haskell, th-desugar
-     , units-parser, vector-space
+     , multimap, singletons, singletons-base, singletons-th, syb
+     , template-haskell, th-desugar, units-parser, vector-space
      }:
      mkDerivation {
        pname = "units";
        version = "2.4.1.5";
        sha256 = "09ssrid1an2nv6j9skb787i3hqiz5hgz020q13552w55m0smw4c9";
        libraryHaskellDepends = [
-         base containers deepseq lens linear mtl multimap singletons syb
-         template-haskell th-desugar units-parser vector-space
+         base containers deepseq lens linear mtl multimap singletons
+         singletons-base singletons-th syb template-haskell th-desugar
+         units-parser vector-space
        ];
        description = "A domain-specific type system for dimensional analysis";
        license = lib.licenses.bsd3;
@@ -287107,22 +282766,6 @@ self: {
      }:
      mkDerivation {
        pname = "universe";
-       version = "1.2.1";
-       sha256 = "1v9lgxkfly2570i8x66sjz8nk58a71y3jwlqdc3wi2jmh773y6hi";
-       libraryHaskellDepends = [
-         universe-base universe-instances-extended
-         universe-reverse-instances universe-some
-       ];
-       description = "A class for finite and recursively enumerable types";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "universe_1_2_2" = callPackage
-    ({ mkDerivation, universe-base, universe-instances-extended
-     , universe-reverse-instances, universe-some
-     }:
-     mkDerivation {
-       pname = "universe";
        version = "1.2.2";
        sha256 = "06rxcbqdcf6fd0za3nvdhsqmki6ihxs6j66jqky3wqkis7bmy3ia";
        libraryHaskellDepends = [
@@ -287135,20 +282778,7 @@ self: {
      }) {};
 
   "universe-base" = callPackage
-    ({ mkDerivation, base, containers, QuickCheck, tagged, transformers
-     }:
-     mkDerivation {
-       pname = "universe-base";
-       version = "1.1.2";
-       sha256 = "1jja1yqfqdnpc0982haccpqz9zb3p50ydyv89hcg9pjr3cr1is4r";
-       libraryHaskellDepends = [ base containers tagged transformers ];
-       testHaskellDepends = [ base containers QuickCheck ];
-       description = "A class for finite and recursively enumerable types";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "universe-base_1_1_3" = callPackage
-    ({ mkDerivation, base, containers, OneTuple, QuickCheck, tagged
+    ({ mkDerivation, base, containers, ghc-prim, QuickCheck, tagged
      , transformers
      }:
      mkDerivation {
@@ -287158,12 +282788,11 @@ self: {
        revision = "2";
        editedCabalFile = "1fr7w3qc46aph0xxya8jw1a4gqzvq03f6vpx75pam9ynfndz8gw0";
        libraryHaskellDepends = [
-         base containers OneTuple tagged transformers
+         base containers ghc-prim tagged transformers
        ];
        testHaskellDepends = [ base containers QuickCheck ];
        description = "A class for finite and recursively enumerable types";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "universe-dependent-sum" = callPackage
@@ -287177,6 +282806,7 @@ self: {
        libraryHaskellDepends = [ base universe-some ];
        description = "Universe instances for types from dependent-sum";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "universe-instances-base" = callPackage
@@ -287190,6 +282820,8 @@ self: {
        libraryHaskellDepends = [ base universe-base ];
        description = "Universe instances for types from the base package";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "universe-instances-extended" = callPackage
@@ -287198,23 +282830,6 @@ self: {
      }:
      mkDerivation {
        pname = "universe-instances-extended";
-       version = "1.1.2";
-       sha256 = "1yg3cacr56kk0r8vnqxa9cm1awb727qkysnhc7rn4h9pfb10a7sn";
-       revision = "1";
-       editedCabalFile = "017adjf6wbw56a81l69vd0gzhlvi6n1wplh85smq7l9m98wsh4wy";
-       libraryHaskellDepends = [
-         adjunctions base comonad containers universe-base
-       ];
-       description = "Universe instances for types from selected extra packages";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "universe-instances-extended_1_1_3" = callPackage
-    ({ mkDerivation, adjunctions, base, comonad, containers
-     , universe-base
-     }:
-     mkDerivation {
-       pname = "universe-instances-extended";
        version = "1.1.3";
        sha256 = "02fxra5g76dk2jpbvmj0mj5bylj4400fcp3np3s5d31qgsjh2sn6";
        libraryHaskellDepends = [
@@ -287222,7 +282837,6 @@ self: {
        ];
        description = "Universe instances for types from selected extra packages";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "universe-instances-trans" = callPackage
@@ -287236,6 +282850,8 @@ self: {
        libraryHaskellDepends = [ base universe-base ];
        description = "Universe instances for types from the transformers and mtl packages";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "universe-reverse-instances" = callPackage
@@ -287268,6 +282884,8 @@ self: {
        testHaskellDepends = [ base some template-haskell universe-base ];
        description = "Universe instances for Some from some";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "universe-th" = callPackage
@@ -287320,6 +282938,32 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "universum_1_7_3" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, doctest
+     , gauge, ghc-prim, Glob, hashable, hedgehog, microlens
+     , microlens-mtl, mtl, safe-exceptions, stm, tasty, tasty-hedgehog
+     , text, transformers, unordered-containers, utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "universum";
+       version = "1.7.3";
+       sha256 = "1dhdj72anj3r50idzn45l63zdwkckmbvll65rkwbsn4jj7pd033d";
+       libraryHaskellDepends = [
+         base bytestring containers deepseq ghc-prim hashable microlens
+         microlens-mtl mtl safe-exceptions stm text transformers
+         unordered-containers utf8-string vector
+       ];
+       testHaskellDepends = [
+         base bytestring doctest Glob hedgehog tasty tasty-hedgehog text
+       ];
+       benchmarkHaskellDepends = [
+         base containers gauge text unordered-containers
+       ];
+       description = "Custom prelude used in Serokell";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "unix_2_7_2_2" = callPackage
     ({ mkDerivation, base, bytestring, time }:
      mkDerivation {
@@ -287351,6 +282995,8 @@ self: {
        pname = "unix-compat";
        version = "0.5.4";
        sha256 = "1cd4lh2c16h7y5hzrcn5l9vir8aq2wcizwksppnagklsdsfmf942";
+       revision = "1";
+       editedCabalFile = "0v2cp1p7vswbwclai1c74vbwdapczlaqgshcb6l1j49jph1w1vnm";
        libraryHaskellDepends = [ base unix ];
        description = "Portable POSIX-compatibility layer";
        license = lib.licenses.bsd3;
@@ -287474,7 +283120,6 @@ self: {
        testHaskellDepends = [ base bytestring zenhack-prelude ];
        description = "Straightforward bindings to the posix API";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "unix-time" = callPackage
@@ -287501,10 +283146,8 @@ self: {
      }:
      mkDerivation {
        pname = "unjson";
-       version = "0.15.3";
-       sha256 = "1p2bk9j5ww0zbkaw1wvl2122h763zn4ddjzg5rka948q3d6zivvi";
-       revision = "1";
-       editedCabalFile = "1jgin4v0j5siyrchrlkp8y5abs30mk8j9d5ah3r0b84683whnnrx";
+       version = "0.15.4";
+       sha256 = "0qj9ihigchzmwx2hnwjhdyj6sq1vdcfsmprgy73fl0f1x2glvr9d";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring containers free hashable invariant
          pretty primitive scientific semigroups text time
@@ -287558,6 +283201,8 @@ self: {
        ];
        description = "(un)lifted classes and functions for the STM monad";
        license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "unlifted-list" = callPackage
@@ -287731,21 +283376,21 @@ self: {
 
   "unordered-containers" = callPackage
     ({ mkDerivation, base, bytestring, ChasingBottoms, containers
-     , deepseq, gauge, hashable, hashmap, HUnit, mtl, QuickCheck, random
-     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , deepseq, hashable, hashmap, HUnit, mtl, QuickCheck, random, tasty
+     , tasty-bench, tasty-hunit, tasty-quickcheck, template-haskell
      }:
      mkDerivation {
        pname = "unordered-containers";
-       version = "0.2.16.0";
-       sha256 = "1vs97x7qzb0n9qwdpi1ffym2yr2rgnlc8nxjrpl4k8b2yay6ikxw";
-       libraryHaskellDepends = [ base deepseq hashable ];
+       version = "0.2.17.0";
+       sha256 = "05ss6ys9gp7dx93glhrm19fxdl916m7yaqxi6p06ibka1dp3m7n4";
+       libraryHaskellDepends = [ base deepseq hashable template-haskell ];
        testHaskellDepends = [
          base ChasingBottoms containers hashable HUnit QuickCheck random
-         test-framework test-framework-hunit test-framework-quickcheck2
+         tasty tasty-hunit tasty-quickcheck
        ];
        benchmarkHaskellDepends = [
-         base bytestring containers deepseq gauge hashable hashmap mtl
-         random
+         base bytestring containers deepseq hashable hashmap mtl random
+         tasty-bench
        ];
        description = "Efficient hashing-based container types";
        license = lib.licenses.bsd3;
@@ -288022,8 +283667,6 @@ self: {
        libraryHaskellDepends = [ base ghc ];
        description = "Unsatisfiable type class";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "unscramble" = callPackage
@@ -288322,7 +283965,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion deepseq ];
        description = "Hoon-style atom manipulation and printing functions";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ureader" = callPackage
@@ -288607,6 +284249,8 @@ self: {
        ];
        description = "Memory efficient url type and parser";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "url-decoders" = callPackage
@@ -288717,6 +284361,8 @@ self: {
        pname = "urlencoded";
        version = "0.5.0.0";
        sha256 = "0d1vj7w297cf9sk9x942za00f7ihqzcgbgjdbn7r9g0hz7qyl6nn";
+       revision = "1";
+       editedCabalFile = "0yskpdn6k4xj5qvgvqjblm6abg247ximk2kv7lswpkngbavlvyiq";
        libraryHaskellDepends = [ base mtl network network-uri split ];
        testHaskellDepends = [ base network network-uri QuickCheck ];
        description = "Generate or process x-www-urlencoded data";
@@ -288740,6 +284386,7 @@ self: {
        ];
        description = "Painfully simple URL deployment";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "urn" = callPackage
@@ -288917,6 +284564,8 @@ self: {
        executableHaskellDepends = [ base random-fu text ];
        description = "A collection of user agents";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "userid" = callPackage
@@ -288932,6 +284581,7 @@ self: {
        ];
        description = "The UserId type and useful instances for web development";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "users" = callPackage
@@ -288967,7 +284617,6 @@ self: {
        description = "A mysql-haskell backend for the users library";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "users-persistent" = callPackage
@@ -289073,6 +284722,8 @@ self: {
        ];
        description = "A string conversion library that assumes utf8";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "utf8-env" = callPackage
@@ -289255,7 +284906,6 @@ self: {
        description = "Utilities for universal types";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "utility-ht" = callPackage
@@ -289354,6 +285004,7 @@ self: {
        ];
        description = "Parse command line options using uu-interleave and uu-parsinglib";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "uu-parsinglib" = callPackage
@@ -289448,6 +285099,8 @@ self: {
        libraryHaskellDepends = [ base diagrams-lib SVGFonts ];
        description = "Utility for drawing attribute grammar pictures with the diagrams package";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "uuagd" = callPackage
@@ -289521,6 +285174,8 @@ self: {
        ];
        description = "UUID parsing using byteverse packages";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "uuid-crypto" = callPackage
@@ -289851,6 +285506,8 @@ self: {
        ];
        description = "Runs commands on remote machines using ssh";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "valid" = callPackage
@@ -290058,25 +285715,12 @@ self: {
     ({ mkDerivation, base, hspec }:
      mkDerivation {
        pname = "validity";
-       version = "0.11.0.1";
-       sha256 = "086nj5ymp4mxxfw9qjgjhd4j3z7gl2y9d89p0b7bkap5ampgdw2x";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base hspec ];
-       description = "Validity typeclass";
-       license = lib.licenses.mit;
-     }) {};
-
-  "validity_0_12_0_0" = callPackage
-    ({ mkDerivation, base, hspec }:
-     mkDerivation {
-       pname = "validity";
        version = "0.12.0.0";
        sha256 = "03md04q3ymilgc1pssczij392bphmg9ld6aa0fwfwjyjlqjj67fk";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec ];
        description = "Validity typeclass";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "validity-aeson" = callPackage
@@ -290094,6 +285738,8 @@ self: {
        testHaskellDepends = [ aeson base hspec validity ];
        description = "Validity instances for aeson";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "validity-bytestring" = callPackage
@@ -290182,23 +285828,11 @@ self: {
     ({ mkDerivation, base, time, validity }:
      mkDerivation {
        pname = "validity-time";
-       version = "0.4.0.0";
-       sha256 = "02lwa2w84m4mm2lpg5dhg5p0ndba5r152bjm4iy76y2qsfkva0ap";
-       libraryHaskellDepends = [ base time validity ];
-       description = "Validity instances for time";
-       license = lib.licenses.mit;
-     }) {};
-
-  "validity-time_0_5_0_0" = callPackage
-    ({ mkDerivation, base, time, validity }:
-     mkDerivation {
-       pname = "validity-time";
        version = "0.5.0.0";
        sha256 = "1ik3syh9hd7jcfydp7fj8rghxl6zjs6lcm1f0xadm0czw6gb82k1";
        libraryHaskellDepends = [ base time validity ];
        description = "Validity instances for time";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "validity-unordered-containers" = callPackage
@@ -290237,18 +285871,6 @@ self: {
      }) {};
 
   "valor" = callPackage
-    ({ mkDerivation, base, hspec, text, transformers }:
-     mkDerivation {
-       pname = "valor";
-       version = "0.1.0.0";
-       sha256 = "1rmsss4zffyzf6vf1p2zj07a6a32pyrbdb259gflr5gg817m3kh4";
-       libraryHaskellDepends = [ base transformers ];
-       testHaskellDepends = [ base hspec text transformers ];
-       description = "Simple general structured validation library";
-       license = lib.licenses.mit;
-     }) {};
-
-  "valor_1_0_0_0" = callPackage
     ({ mkDerivation, base, doctest, hspec, hspec-discover, QuickCheck
      }:
      mkDerivation {
@@ -290261,7 +285883,6 @@ self: {
        doHaddock = false;
        description = "Simple and powerful data validation";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "value-supply" = callPackage
@@ -290516,6 +286137,8 @@ self: {
        ];
        description = "Client library for HashiCorp's Vault tool (via HTTP API)";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "vault-tool-server" = callPackage
@@ -290536,7 +286159,6 @@ self: {
        description = "Utility library for spawning a HashiCorp Vault process";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "vault-trans" = callPackage
@@ -290554,7 +286176,6 @@ self: {
        description = "A monad transformer for vault-tool";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "vaultaire-common" = callPackage
@@ -290772,28 +286393,6 @@ self: {
      }) {};
 
   "vec" = callPackage
-    ({ mkDerivation, adjunctions, base, base-compat, criterion, deepseq
-     , distributive, fin, hashable, indexed-traversable
-     , inspection-testing, QuickCheck, semigroupoids, tagged
-     , transformers, vector
-     }:
-     mkDerivation {
-       pname = "vec";
-       version = "0.4";
-       sha256 = "0z7icj5g59ml8cmcawa6ncayrzdi63s9ssllvnw2dfcd3ys5cjj0";
-       libraryHaskellDepends = [
-         adjunctions base deepseq distributive fin hashable
-         indexed-traversable QuickCheck semigroupoids transformers
-       ];
-       testHaskellDepends = [
-         base base-compat fin inspection-testing tagged
-       ];
-       benchmarkHaskellDepends = [ base criterion fin vector ];
-       description = "Vec: length-indexed (sized) list";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "vec_0_4_1" = callPackage
     ({ mkDerivation, adjunctions, base, base-compat, boring, criterion
      , deepseq, distributive, fin, hashable, indexed-traversable
      , inspection-testing, QuickCheck, semigroupoids, tagged
@@ -290813,7 +286412,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion fin vector ];
        description = "Vec: length-indexed (sized) list";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "vec-lens" = callPackage
@@ -290894,8 +286492,8 @@ self: {
      }) {};
 
   "vector" = callPackage
-    ({ mkDerivation, base, base-orphans, deepseq, ghc-prim, HUnit
-     , primitive, QuickCheck, random, tasty, tasty-hunit
+    ({ mkDerivation, base, base-orphans, deepseq, doctest, ghc-prim
+     , HUnit, primitive, QuickCheck, random, tasty, tasty-hunit
      , tasty-quickcheck, template-haskell, transformers
      }:
      mkDerivation {
@@ -290906,7 +286504,7 @@ self: {
        editedCabalFile = "02284cr5f5ghbz18shn8g6jvsgfs0dwgf81kxvf59r2wks8i00h4";
        libraryHaskellDepends = [ base deepseq ghc-prim primitive ];
        testHaskellDepends = [
-         base base-orphans HUnit primitive QuickCheck random tasty
+         base base-orphans doctest HUnit primitive QuickCheck random tasty
          tasty-hunit tasty-quickcheck template-haskell transformers
        ];
        description = "Efficient Arrays";
@@ -291092,6 +286690,8 @@ self: {
        libraryHaskellDepends = [ base vector ];
        description = "Some special functions to work with Vector (with zip)";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "vector-endian" = callPackage
@@ -291107,6 +286707,7 @@ self: {
        description = "Storable vectors with cpu-independent representation";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "vector-extras" = callPackage
@@ -291192,6 +286793,8 @@ self: {
        ];
        description = "Efficient vector-based mutable hashtables implementation";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "vector-heterogenous" = callPackage
@@ -291308,24 +286911,6 @@ self: {
      }:
      mkDerivation {
        pname = "vector-sized";
-       version = "1.4.4";
-       sha256 = "0rlzwxcxzrxg7nwqijigj80fr4fyi5c2a8785898kir5hcyd6v1d";
-       libraryHaskellDepends = [
-         adjunctions base binary comonad deepseq distributive
-         finite-typelits hashable indexed-list-literals primitive vector
-       ];
-       description = "Size tagged vectors";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ expipiplus1 ];
-     }) {};
-
-  "vector-sized_1_5_0" = callPackage
-    ({ mkDerivation, adjunctions, base, binary, comonad, deepseq
-     , distributive, finite-typelits, hashable, indexed-list-literals
-     , primitive, vector
-     }:
-     mkDerivation {
-       pname = "vector-sized";
        version = "1.5.0";
        sha256 = "13h4qck1697iswd9f8w17fpjc6yhl2pgrvay7pb22j2h3mgaxpjl";
        libraryHaskellDepends = [
@@ -291334,7 +286919,6 @@ self: {
        ];
        description = "Size tagged vectors";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ expipiplus1 ];
      }) {};
 
@@ -291749,8 +287333,6 @@ self: {
        testHaskellDepends = [ aeson base bytestring hspec ];
        description = "Type-safe data versioning";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "versioning-servant" = callPackage
@@ -291772,6 +287354,7 @@ self: {
        description = "Servant combinators for the versioning library";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "versions" = callPackage
@@ -291781,8 +287364,8 @@ self: {
      }:
      mkDerivation {
        pname = "versions";
-       version = "5.0.2";
-       sha256 = "1955mng820n4bmk5vb8h7whlcwnnvxmwbdp7bxabyfy536bkdb77";
+       version = "5.0.3";
+       sha256 = "1ca3m9rvx89mniipbkxz3nm49mz7s4nhqc11hpsa6hjw9ff5kcjv";
        libraryHaskellDepends = [
          base deepseq hashable megaparsec parser-combinators text
        ];
@@ -291859,8 +287442,6 @@ self: {
        ];
        description = "A Python str.format() like formatter";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "vformat-aeson" = callPackage
@@ -291884,6 +287465,7 @@ self: {
        description = "Extend vformat to Aeson datatypes";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "vformat-time" = callPackage
@@ -291898,7 +287480,6 @@ self: {
        testHaskellDepends = [ base time vformat ];
        description = "Extend vformat to time datatypes";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "vfr-waypoints" = callPackage
@@ -291935,8 +287516,8 @@ self: {
        pname = "vgrep";
        version = "0.2.3.0";
        sha256 = "1zzzmvhqcvgvni96b1zzqjwpmlncsjd08sqllrbp4d4a7j43b9g5";
-       revision = "1";
-       editedCabalFile = "1avwygy2xrh9z1dj5k4gb0r1pwrrljd9l1hgpc8y4h4w97hxwbi3";
+       revision = "2";
+       editedCabalFile = "19a7iwq037gxiwpp2axh5k9hbdggsan4f5149c3i0b895jcv8fj2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -292030,7 +287611,6 @@ self: {
        description = "Text-based interactive GHC .prof viewer";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "views" = callPackage
@@ -292189,7 +287769,7 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "vinyl_0_14_1" = callPackage
+  "vinyl_0_14_3" = callPackage
     ({ mkDerivation, aeson, array, base, criterion, deepseq, ghc-prim
      , hspec, lens, lens-aeson, linear, microlens, mtl, mwc-random
      , primitive, should-not-typecheck, tagged, text
@@ -292197,8 +287777,8 @@ self: {
      }:
      mkDerivation {
        pname = "vinyl";
-       version = "0.14.1";
-       sha256 = "06qyy3g1msnwl8491rp0pabr7g7xk4jjidsixigd8if4kxl7dcdk";
+       version = "0.14.3";
+       sha256 = "1lp67kaksng2g9sx4my8c6sllvjrlkhm2ln8bh397d1xknzrqy76";
        libraryHaskellDepends = [ array base deepseq ghc-prim ];
        testHaskellDepends = [
          aeson base hspec lens lens-aeson microlens mtl should-not-typecheck
@@ -292227,6 +287807,7 @@ self: {
        ];
        description = "Convert plain records to vinyl (and vice versa), generically";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "vinyl-gl" = callPackage
@@ -292484,8 +288065,6 @@ self: {
        ];
        description = "Visualize CBN reduction";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "vitrea" = callPackage
@@ -292832,6 +288411,8 @@ self: {
        ];
        description = "Vector and Text utilities";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "vte" = callPackage
@@ -292909,6 +288490,42 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "vty_5_35_1" = callPackage
+    ({ mkDerivation, ansi-terminal, base, binary, blaze-builder
+     , bytestring, Cabal, containers, deepseq, directory, filepath
+     , hashable, HUnit, microlens, microlens-mtl, microlens-th, mtl
+     , parallel, parsec, QuickCheck, quickcheck-assertions, random
+     , smallcheck, stm, string-qq, terminfo, test-framework
+     , test-framework-hunit, test-framework-smallcheck, text
+     , transformers, unix, utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "vty";
+       version = "5.35.1";
+       sha256 = "062dpz8fxrnggzpl041zpbph0xj56jki98ajm2s78dldg5vy0c9k";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-terminal base binary blaze-builder bytestring containers
+         deepseq directory filepath hashable microlens microlens-mtl
+         microlens-th mtl parallel parsec stm terminfo text transformers
+         unix utf8-string vector
+       ];
+       executableHaskellDepends = [
+         base containers directory filepath microlens microlens-mtl mtl
+       ];
+       testHaskellDepends = [
+         base blaze-builder bytestring Cabal containers deepseq HUnit
+         microlens microlens-mtl mtl QuickCheck quickcheck-assertions random
+         smallcheck stm string-qq terminfo test-framework
+         test-framework-hunit test-framework-smallcheck text unix
+         utf8-string vector
+       ];
+       description = "A simple terminal UI library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "vty-examples" = callPackage
     ({ mkDerivation, array, base, bytestring, Cabal, containers
      , data-default, deepseq, lens, mtl, parallel, parsec, QuickCheck
@@ -293221,10 +288838,8 @@ self: {
      }:
      mkDerivation {
        pname = "wai-app-static";
-       version = "3.1.7.2";
-       sha256 = "138gd5482psq0wbm8s1az672lksi7vbavq6ayiyjkliivf6xpry8";
-       revision = "1";
-       editedCabalFile = "1q7zwjasysgbp9rdp75535igd7s6mhi2bnl4pzsn6vbyfw3qnsxd";
+       version = "3.1.7.4";
+       sha256 = "1h8zy3dprqjxvlqxrids65yg5qf1h4f63ddspwxrbp0r9d28hwb4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -293292,6 +288907,7 @@ self: {
        ];
        description = "Run wai Applications in IO based monads";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "wai-cors" = callPackage
@@ -293381,27 +288997,6 @@ self: {
      }:
      mkDerivation {
        pname = "wai-enforce-https";
-       version = "0.0.2.1";
-       sha256 = "1mbhk50j1a47ydg5kd6bj3nbzqfq1abm1d1vcxc3smw4fgf39g5x";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         base bytestring case-insensitive http-types network text wai
-       ];
-       testHaskellDepends = [
-         base bytestring case-insensitive hspec http-types wai wai-extra
-       ];
-       description = "Enforce HTTPS in Wai server app safely";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "wai-enforce-https_1_0_0_0" = callPackage
-    ({ mkDerivation, base, bytestring, case-insensitive, hspec
-     , http-types, network, text, wai, wai-extra
-     }:
-     mkDerivation {
-       pname = "wai-enforce-https";
        version = "1.0.0.0";
        sha256 = "08hygyl930bwjxfvzds7wwl9yv94q7612bfg68qzmq2dfivypkfq";
        isLibrary = true;
@@ -293415,7 +289010,6 @@ self: {
        ];
        description = "Enforce HTTPS in Wai server app safely";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "wai-env" = callPackage
@@ -293736,6 +289330,8 @@ self: {
        ];
        description = "Haskell Webapps on AWS Lambda";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "wai-lens" = callPackage
@@ -293795,23 +289391,6 @@ self: {
      }:
      mkDerivation {
        pname = "wai-logger";
-       version = "2.3.7";
-       sha256 = "0kp2bg8s2vz9lxa7hmd7xv3jlsz1dmfsgkb405x9sz92x6jb521f";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         base byteorder bytestring fast-logger http-types network wai
-       ];
-       testHaskellDepends = [ base doctest ];
-       description = "A logging system for WAI";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "wai-logger_2_4_0" = callPackage
-    ({ mkDerivation, base, byteorder, bytestring, Cabal, cabal-doctest
-     , doctest, fast-logger, http-types, network, wai
-     }:
-     mkDerivation {
-       pname = "wai-logger";
        version = "2.4.0";
        sha256 = "02i9jsy5gdglqwwk5gcvax8y498lz9flrfp4v9nrv8rmrmd66zh5";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -293821,7 +289400,6 @@ self: {
        testHaskellDepends = [ base doctest ];
        description = "A logging system for WAI";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "wai-logger-buffered" = callPackage
@@ -293894,8 +289472,6 @@ self: {
        ];
        description = "Compiling and serving assets";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "wai-middleware-auth" = callPackage
@@ -293910,8 +289486,8 @@ self: {
      }:
      mkDerivation {
        pname = "wai-middleware-auth";
-       version = "0.2.5.1";
-       sha256 = "0ch9vh14bhnf7g789rbqqgnn3q2nc892xs73kf7k6l8n9p2md0yd";
+       version = "0.2.6.0";
+       sha256 = "0ji0jywippk9vqdcbv79fy79xl20p91h8wdadmxa684m5mj95b6x";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -293933,6 +289509,8 @@ self: {
        ];
        description = "Authentication middleware that secures WAI application";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "wai-middleware-brotli" = callPackage
@@ -294139,6 +289717,7 @@ self: {
        ];
        description = "Route to different middlewares based on the incoming Accept header";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "wai-middleware-crowd" = callPackage
@@ -294431,22 +290010,20 @@ self: {
      }) {};
 
   "wai-middleware-static" = callPackage
-    ({ mkDerivation, base, bytestring, containers, cryptonite
-     , directory, expiring-cache-map, filepath, hspec, hspec-discover
-     , hspec-expectations-lifted, hspec-wai, http-types, memory
+    ({ mkDerivation, base, base16-bytestring, bytestring, containers
+     , cryptohash-sha1, directory, expiring-cache-map, filepath, hspec
+     , hspec-discover, hspec-expectations-lifted, hspec-wai, http-types
      , mime-types, mockery, old-locale, scotty, semigroups, text, time
      , wai, wai-extra
      }:
      mkDerivation {
        pname = "wai-middleware-static";
-       version = "0.9.1";
-       sha256 = "0zf91kq5mdbdzi7rccyjrk5y4lpnwl8pb83wpcifr0gqp6a6avcy";
-       revision = "1";
-       editedCabalFile = "1r8vglmczbkz7x7dw943ah5zdf2zsnrkc1jn941axmnk9p6c959c";
+       version = "0.9.2";
+       sha256 = "1ynm0xcr3pj5bbph78p1kpyxvd0n3a0gfdbm6yb7i004ixaqf33c";
        libraryHaskellDepends = [
-         base bytestring containers cryptonite directory expiring-cache-map
-         filepath http-types memory mime-types old-locale semigroups text
-         time wai
+         base base16-bytestring bytestring containers cryptohash-sha1
+         directory expiring-cache-map filepath http-types mime-types
+         old-locale semigroups text time wai
        ];
        testHaskellDepends = [
          base hspec hspec-expectations-lifted hspec-wai http-types mockery
@@ -294516,6 +290093,7 @@ self: {
        ];
        description = "WAI Middleware for Request Throttling";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "wai-middleware-travisci" = callPackage
@@ -294557,6 +290135,8 @@ self: {
        ];
        description = "WAI Middleware to validate the request and response bodies";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "wai-middleware-verbs" = callPackage
@@ -294598,27 +290178,63 @@ self: {
        ];
        description = "WAI request predicates";
        license = "unknown";
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "wai-rate-limit" = callPackage
     ({ mkDerivation, base, http-types, wai }:
      mkDerivation {
        pname = "wai-rate-limit";
-       version = "0.1.0.0";
-       sha256 = "1z7npcf0smzyfjvkmpa6dw08sg3ywx4cc4kafgxk95dh8yqnmidw";
+       version = "0.2.0.0";
+       sha256 = "1jxg6sdbzx20dlxwbjw4b5x9qc1hsx2hzqxgzks3wlj6jc8ar4rx";
        libraryHaskellDepends = [ base http-types wai ];
        description = "Rate limiting as WAI middleware";
        license = lib.licenses.mit;
      }) {};
 
+  "wai-rate-limit_0_3_0_0" = callPackage
+    ({ mkDerivation, base, http-types, time-units, wai }:
+     mkDerivation {
+       pname = "wai-rate-limit";
+       version = "0.3.0.0";
+       sha256 = "04w146xpw5zlzwrcjq8facmi39izfngmg121bkahyxwsbbnz3adx";
+       libraryHaskellDepends = [ base http-types time-units wai ];
+       description = "Rate limiting as WAI middleware";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "wai-rate-limit-postgres" = callPackage
+    ({ mkDerivation, base, http-client, http-types, postgresql-simple
+     , postgresql-simple-url, relude, resource-pool, tasty, tasty-hunit
+     , text, wai, wai-rate-limit, warp
+     }:
+     mkDerivation {
+       pname = "wai-rate-limit-postgres";
+       version = "0.5.0.0";
+       sha256 = "1qf6s5qx16vjhcxyl24xdh3q10f1rg0aq7hnwm4zmy9b2jfsj77n";
+       libraryHaskellDepends = [
+         base postgresql-simple relude resource-pool text wai-rate-limit
+       ];
+       testHaskellDepends = [
+         base http-client http-types postgresql-simple postgresql-simple-url
+         relude resource-pool tasty tasty-hunit text wai wai-rate-limit warp
+       ];
+       description = "See README for more info";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "wai-rate-limit-redis" = callPackage
     ({ mkDerivation, base, bytestring, hedis, http-types, tasty
      , tasty-hedgehog, tasty-hunit, wai, wai-extra, wai-rate-limit, warp
      }:
      mkDerivation {
        pname = "wai-rate-limit-redis";
-       version = "0.1.0.0";
-       sha256 = "1lwlx6krxq1pf5a2r2n4pc5crk4ia8r50xzdhrg3fjf9ydpcbv2n";
+       version = "0.2.0.1";
+       sha256 = "1gizywhdrpngs5l6qh5ggnnfkcgplwsigcjj3z8l7vwif74j6qsd";
        libraryHaskellDepends = [ base bytestring hedis wai-rate-limit ];
        testHaskellDepends = [
          base bytestring hedis http-types tasty tasty-hedgehog tasty-hunit
@@ -294721,7 +290337,6 @@ self: {
        description = "Typesafe URLs for Wai applications";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "wai-routing" = callPackage
@@ -294749,7 +290364,6 @@ self: {
        description = "Declarative routing for WAI";
        license = lib.licenses.mpl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "wai-saml2" = callPackage
@@ -294759,8 +290373,8 @@ self: {
      }:
      mkDerivation {
        pname = "wai-saml2";
-       version = "0.2.1.2";
-       sha256 = "1hd408fs4w0lpqg0shnrwpx98fh6idzk8la3gn8xghhml189xgwl";
+       version = "0.2.1.3";
+       sha256 = "1q1il1lwzinpyhkqrg62hwh7kbb2dyhrlynpzhc9kps00kfxg8zw";
        libraryHaskellDepends = [
          base base64-bytestring bytestring c14n cryptonite
          data-default-class http-types mtl text time vault wai wai-extra
@@ -294897,8 +290511,8 @@ self: {
      }:
      mkDerivation {
        pname = "wai-session-redis";
-       version = "0.1.0.4";
-       sha256 = "15qmv4ivp9zcz90p5k0lbcfv7pq5rszalvc9gh191ngmnl2z0w5g";
+       version = "0.1.0.5";
+       sha256 = "0lfyj0id6gm6cfx7dmfiw0mx26m7ah5c4mb5xhnzmh65s538l2zs";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -295233,8 +290847,6 @@ self: {
        ];
        description = "A parser for the Web Archive (WARC) format";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "warp" = callPackage
@@ -295247,8 +290859,8 @@ self: {
      }:
      mkDerivation {
        pname = "warp";
-       version = "3.3.19";
-       sha256 = "1wq63wrxk4p6ziig9qgqimmd1mx167868qiczd1avh8896p1f6rb";
+       version = "3.3.20";
+       sha256 = "0jkgnb2pzl72q1y5yp6j8ijmaqhnj01b58dm4xs09f692yg4lxlj";
        libraryHaskellDepends = [
          array auto-update base bsb-http-chunked bytestring case-insensitive
          containers ghc-prim hashable http-date http-types http2 iproute
@@ -295318,8 +290930,6 @@ self: {
        ];
        description = "Warp based on QUIC";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "warp-static" = callPackage
@@ -295444,8 +291054,6 @@ self: {
        libraryHaskellDepends = [ base mtl time ];
        description = "Simple control structure to re-try an action with exponential backoff";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "watcher" = callPackage
@@ -295739,6 +291347,7 @@ self: {
        description = "Composable, reversible, efficient web routing using invertible invariants and bijections";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "web-mongrel2" = callPackage
@@ -295806,8 +291415,8 @@ self: {
      }:
      mkDerivation {
        pname = "web-plugins";
-       version = "0.4.0";
-       sha256 = "1r3bvwlr7p5vfvibw2ghj7nxw4hgapqqpsrhr55ni8ivlrprs9fh";
+       version = "0.4.1";
+       sha256 = "1sdd1yvcxaahn7wdqzbc90xinnfm2mspvk1391znb9khp8cd5b9h";
        libraryHaskellDepends = [
          base binary bytestring containers http-types mtl stm text
        ];
@@ -295861,6 +291470,7 @@ self: {
        description = "representations of a web page";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "web-routes" = callPackage
@@ -295983,6 +291593,8 @@ 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
@@ -296066,6 +291678,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Fixed size big integers for Haskell Web3 library";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "web3-crypto" = callPackage
@@ -296089,6 +291702,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Cryptograhical primitives for Haskell Web3 library";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "web3-ethereum" = callPackage
@@ -296137,6 +291751,8 @@ self: {
        ];
        description = "IPFS support for Haskell Web3 library";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "web3-polkadot" = callPackage
@@ -296168,7 +291784,6 @@ self: {
        description = "Polkadot support for Haskell Web3 library";
        license = lib.licenses.asl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "web3-provider" = callPackage
@@ -296185,6 +291800,7 @@ self: {
        ];
        description = "Node connection provider for Haskell Web3 library";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "web3-solidity" = callPackage
@@ -296211,6 +291827,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Solidity language for Haskell Web3 library";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "webapi" = callPackage
@@ -296276,8 +291893,8 @@ self: {
      }:
      mkDerivation {
        pname = "webauthn";
-       version = "0.3.0.0";
-       sha256 = "0nn6nx6f0wlbfipfhs4irkqhk4bknhcy83n3wxpml9lkgvf8m1kj";
+       version = "0.4.0.0";
+       sha256 = "1lr5bc69407vb7l55dfzskf01p70zm924r6i53xbf6x8qk0b2nav";
        libraryHaskellDepends = [
          aeson asn1-encoding asn1-parse asn1-types base base16-bytestring
          base64-bytestring binary bytestring cborg containers cryptonite
@@ -296428,6 +292045,8 @@ self: {
        ];
        description = "a Haskell client for the Selenium WebDriver protocol";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "webdriver-angular" = callPackage
@@ -296450,7 +292069,6 @@ self: {
        description = "Webdriver actions to assist with testing a webpage which uses Angular.Js";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "webdriver-snoy" = callPackage
@@ -296596,6 +292214,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Pipes wrapper of Webex Teams List API";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "webfinger-client" = callPackage
@@ -296654,32 +292274,6 @@ self: {
      }) {};
 
   "webgear-server" = callPackage
-    ({ mkDerivation, aeson, base, base64-bytestring, bytestring
-     , bytestring-conversion, case-insensitive, http-api-data
-     , http-types, mtl, network, QuickCheck, quickcheck-instances, tasty
-     , tasty-hunit, tasty-quickcheck, template-haskell, text
-     , unordered-containers, wai
-     }:
-     mkDerivation {
-       pname = "webgear-server";
-       version = "0.2.1";
-       sha256 = "0qf3w2vk7m4ci8lyxk37iz19zbz08afihrn4sw2cqza9yaw51bjh";
-       libraryHaskellDepends = [
-         aeson base base64-bytestring bytestring bytestring-conversion
-         case-insensitive http-api-data http-types mtl network
-         template-haskell text unordered-containers wai
-       ];
-       testHaskellDepends = [
-         aeson base base64-bytestring bytestring bytestring-conversion
-         case-insensitive http-api-data http-types mtl network QuickCheck
-         quickcheck-instances tasty tasty-hunit tasty-quickcheck
-         template-haskell text unordered-containers wai
-       ];
-       description = "Composable, type-safe library to build HTTP API servers";
-       license = lib.licenses.mpl20;
-     }) {};
-
-  "webgear-server_1_0_1" = callPackage
     ({ mkDerivation, aeson, arrows, base, base64-bytestring, bytestring
      , bytestring-conversion, http-api-data, http-media, http-types
      , jose, monad-time, mtl, QuickCheck, quickcheck-instances, tasty
@@ -296702,7 +292296,6 @@ self: {
        ];
        description = "Composable, type-safe library to build HTTP API servers";
        license = lib.licenses.mpl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "webidl" = callPackage
@@ -296817,7 +292410,6 @@ self: {
        description = "Binding to the Webkit library";
        license = lib.licenses.lgpl21Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) webkitgtk;};
 
   "webkitgtk3-javascriptcore" = callPackage
@@ -296963,6 +292555,8 @@ self: {
        pname = "websockets";
        version = "0.12.7.3";
        sha256 = "0g3z0n4irf3gvbdf9p97jq05ybdg0gwjy5bj4nfc7ivsvyhaic6k";
+       revision = "1";
+       editedCabalFile = "1yx97y6jl74vy200y43vjxfyzx338kh10dx8vxkjhr0mfh36wldq";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -297120,7 +292714,7 @@ self: {
        broken = true;
      }) {};
 
-  "weeder" = callPackage
+  "weeder_2_2_0" = callPackage
     ({ mkDerivation, algebraic-graphs, base, bytestring, containers
      , dhall, directory, filepath, generic-lens, ghc, lens, mtl
      , optparse-applicative, regex-tdfa, text, transformers
@@ -297142,10 +292736,11 @@ self: {
        ];
        description = "Detect dead code";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
-  "weeder_2_3_0" = callPackage
+  "weeder" = callPackage
     ({ mkDerivation, algebraic-graphs, base, bytestring, containers
      , dhall, directory, filepath, generic-lens, ghc, lens, mtl
      , optparse-applicative, regex-tdfa, text, transformers
@@ -297167,7 +292762,6 @@ self: {
        ];
        description = "Detect dead code";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
@@ -297365,7 +292959,6 @@ self: {
        description = "WGPU";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "wgpu-raw-hs" = callPackage
@@ -297378,6 +292971,8 @@ self: {
        libraryPkgconfigDepends = [ SDL2 ];
        description = "WGPU Raw";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) SDL2;};
 
   "what4" = callPackage
@@ -297558,6 +293153,8 @@ self: {
          random-fu random-shuffle random-source relude temporary time
        ];
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "why3" = callPackage
@@ -297773,6 +293370,8 @@ self: {
        ];
        description = "An implementation of the web Document Object Model, and its rendering";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "wilton-ffi" = callPackage
@@ -297883,6 +293482,8 @@ self: {
        ];
        description = "A compact, well-typed seralisation format for Haskell values";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "winio" = callPackage
@@ -297944,7 +293545,6 @@ self: {
        description = "API for Linux Kernel Wireguard device management";
        license = "LGPL";
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "wires" = callPackage
@@ -298004,27 +293604,8 @@ self: {
      }:
      mkDerivation {
        pname = "witch";
-       version = "0.3.4.2";
-       sha256 = "1qrvr8ink179xq69gwawvph942hkv798kvy303si5l1vmni6skh3";
-       libraryHaskellDepends = [
-         base bytestring containers template-haskell text time
-       ];
-       testHaskellDepends = [
-         base bytestring containers HUnit text time
-       ];
-       description = "Convert values from one type into another";
-       license = lib.licenses.isc;
-       maintainers = with lib.maintainers; [ maralorn ];
-     }) {};
-
-  "witch_1_0_0_1" = callPackage
-    ({ mkDerivation, base, bytestring, containers, HUnit
-     , template-haskell, text, time
-     }:
-     mkDerivation {
-       pname = "witch";
-       version = "1.0.0.1";
-       sha256 = "010agcfcmyjmcz6wl7wrwd6w7y60d4163vlvrp1b2h8w86z87jlm";
+       version = "1.0.0.2";
+       sha256 = "1abm9azjj8044m3cgzs8nnl99zdwg561hbscip9ypra3z3vmh1ix";
        libraryHaskellDepends = [
          base bytestring containers template-haskell text time
        ];
@@ -298033,7 +293614,6 @@ self: {
        ];
        description = "Convert values from one type into another";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
@@ -298517,6 +294097,18 @@ self: {
        testHaskellDepends = [ base smallcheck tasty tasty-smallcheck ];
        description = "Words of arbitrary size";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "word-compat" = callPackage
+    ({ mkDerivation, base, ghc-prim }:
+     mkDerivation {
+       pname = "word-compat";
+       version = "0.0.2";
+       sha256 = "164zpk3cqw9i9mblz0cdshgk1382pcnbakr7pxamz4r0gyhs3r9n";
+       libraryHaskellDepends = [ base ghc-prim ];
+       description = "Compatibility shim for the Int/Word internal change in GHC 9.2";
+       license = lib.licenses.bsd3;
      }) {};
 
   "word-trie" = callPackage
@@ -298548,21 +294140,6 @@ self: {
     ({ mkDerivation, base, criterion, hspec, text }:
      mkDerivation {
        pname = "word-wrap";
-       version = "0.4.1";
-       sha256 = "15rcqhg9vb7qisk9ryjnyhhfgigxksnkrczycaw2rin08wczjwpb";
-       revision = "1";
-       editedCabalFile = "1k4w4g053vhmpp08542hrqaw81p3p35i567xgdarqmpghfrk68pp";
-       libraryHaskellDepends = [ base text ];
-       testHaskellDepends = [ base hspec ];
-       benchmarkHaskellDepends = [ base criterion text ];
-       description = "A library for word-wrapping";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "word-wrap_0_5" = callPackage
-    ({ mkDerivation, base, criterion, hspec, text }:
-     mkDerivation {
-       pname = "word-wrap";
        version = "0.5";
        sha256 = "0i57233g4p9p8c0jf9mp3pvknwgv1lsrxm4mxjay38rw0372jpzq";
        libraryHaskellDepends = [ base text ];
@@ -298570,7 +294147,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion text ];
        description = "A library for word-wrapping";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "word16" = callPackage
@@ -298606,6 +294182,8 @@ self: {
        benchmarkHaskellDepends = [ base criterion deepseq ];
        description = "24-bit word and int types for GHC";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "word2vec-model" = callPackage
@@ -298736,8 +294314,8 @@ self: {
      }:
      mkDerivation {
        pname = "wordlist";
-       version = "0.1.0.5";
-       sha256 = "11h52dykc23ks3wn3apnp81jm091igqy8dkgs7apk8yh141vdfak";
+       version = "0.1.0.6";
+       sha256 = "007hqx9ns5f3bd6q820b5jx50zms1nzfi1xyn7qv7n5kmavfkjh7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base optparse-applicative text ];
@@ -298746,8 +294324,6 @@ self: {
        ];
        description = "Command-line tool to get random words";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "wordn" = callPackage
@@ -298768,6 +294344,8 @@ self: {
        doHaddock = false;
        description = "arbitrary bit size Words";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "wordpass" = callPackage
@@ -298810,8 +294388,6 @@ self: {
        ];
        description = "Validate Wordpress Cookies & Nonces; Build Wordpress Hashes & Salts";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "words" = callPackage
@@ -299010,14 +294586,15 @@ self: {
 
   "worldturtle" = callPackage
     ({ mkDerivation, base, containers, gloss, lens, matrix
-     , transformers
+     , monad-coroutine, monad-parallel, transformers
      }:
      mkDerivation {
        pname = "worldturtle";
-       version = "0.2.2.1";
-       sha256 = "1mi1lhrfj2wim7xfqqz7zf73aaxlaj0g8d8q8z7jc7vv5qf28brb";
+       version = "0.3.1.0";
+       sha256 = "16aqhxhjxlhmy6izkgb3n0cn0bdi3xj9yv9z4jpa4zcmw0mkjwcb";
        libraryHaskellDepends = [
-         base containers gloss lens matrix transformers
+         base containers gloss lens matrix monad-coroutine monad-parallel
+         transformers
        ];
        description = "LOGO-like Turtle graphics with a monadic interface";
        license = lib.licenses.bsd3;
@@ -299232,6 +294809,7 @@ self: {
        ];
        description = "HTTP/HTTPS response process";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "wreq-patchable" = callPackage
@@ -299513,6 +295091,7 @@ self: {
        ];
        description = "A simple CLI utility for interacting with a websocket";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ws-chans" = callPackage
@@ -299634,7 +295213,6 @@ self: {
        testHaskellDepends = [ base bytestring envy hspec skews text ];
        description = "A-little-higher-level WebSocket client";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "wstunnel" = callPackage
@@ -299665,6 +295243,8 @@ self: {
        ];
        description = "Tunneling program over websocket protocol";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "wtk" = callPackage
@@ -300366,8 +295946,8 @@ self: {
      }:
      mkDerivation {
        pname = "xdot";
-       version = "0.3.0.3";
-       sha256 = "06pgs74b3llyhhp2rr9a3rvgycnvg395q5ib9vwdiv9pqgq31kia";
+       version = "0.3.0.4";
+       sha256 = "1qmg22dyx6q77cfr1l2cx8s0h19c1rc9aksc8lq4wzmm9pg1rapg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -300387,8 +295967,8 @@ self: {
      }:
      mkDerivation {
        pname = "xeno";
-       version = "0.4.3";
-       sha256 = "0g7vwp41dz2zvw5s9w7cask543p556wlc4rk3vpx5cawr6v4d2ha";
+       version = "0.5";
+       sha256 = "1i7snivbl0xby5p1wgai1g44qphj91n8chhkfg6vajcf05fr964l";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base bytestring deepseq mtl mutable-containers vector
@@ -300781,6 +296361,40 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "xlsx_1_0_0_1" = callPackage
+    ({ mkDerivation, attoparsec, base, base64-bytestring, binary-search
+     , bytestring, conduit, containers, criterion, data-default, deepseq
+     , Diff, directory, dlist, errors, exceptions, extra, filepath
+     , groom, hexpat, lens, monad-control, mtl, network-uri, old-locale
+     , raw-strings-qq, safe, smallcheck, tasty, tasty-hunit
+     , tasty-smallcheck, text, time, transformers, transformers-base
+     , vector, xeno, xml-conduit, xml-types, zip, zip-archive
+     , zip-stream, zlib
+     }:
+     mkDerivation {
+       pname = "xlsx";
+       version = "1.0.0.1";
+       sha256 = "1fs2xks7wcbr0idgd50kxlb35l5xy1icvkiyxm8q8772bq2zvadl";
+       libraryHaskellDepends = [
+         attoparsec base base64-bytestring binary-search bytestring conduit
+         containers data-default deepseq dlist errors exceptions extra
+         filepath hexpat lens monad-control mtl network-uri old-locale safe
+         text time transformers transformers-base vector xeno xml-conduit
+         xml-types zip zip-archive zip-stream zlib
+       ];
+       testHaskellDepends = [
+         base bytestring conduit containers deepseq Diff directory filepath
+         groom lens mtl raw-strings-qq smallcheck tasty tasty-hunit
+         tasty-smallcheck text time vector xml-conduit
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring conduit criterion deepseq lens
+       ];
+       description = "Simple and incomplete Excel file parser/writer";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "xlsx-tabular" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, data-default
      , lens, text, xlsx
@@ -300971,7 +296585,6 @@ self: {
        description = "Bridge between xml-conduit/html-conduit and stylist";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "xml-conduit-writer" = callPackage
@@ -301156,6 +296769,7 @@ self: {
        ];
        description = "Generate XML-isomorphic types";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "xml-lens" = callPackage
@@ -301173,6 +296787,8 @@ self: {
        ];
        description = "Lenses, traversals, and prisms for xml-conduit";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "xml-monad" = callPackage
@@ -301337,8 +296953,6 @@ self: {
        libraryHaskellDepends = [ base free text ];
        description = "A parser-agnostic declarative API for querying XML-documents";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "xml-query-xml-conduit" = callPackage
@@ -301380,6 +296994,7 @@ self: {
        description = "An interpreter of \"xml-query\" queries for the \"xml-types\" documents";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "xml-syntax" = callPackage
@@ -301421,6 +297036,8 @@ self: {
        executableHaskellDepends = [ base ];
        description = "Library and command line tool for converting XML files to json";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "xml-to-json-fast" = callPackage
@@ -301489,12 +297106,12 @@ self: {
      }:
      mkDerivation {
        pname = "xml-verify";
-       version = "0.1.0.1";
-       sha256 = "01a8qivl4bv656zqygy6rysznic5nw2m5r3q14zgvc855879imw7";
+       version = "0.1.0.3";
+       sha256 = "0hyd0awaz3id7j0wmcyhas3p6hvcn8nz9c8jmbclfh28nv46agiv";
        libraryHaskellDepends = [
          base bytestring cryptostore hxt mtl pem x509
        ];
-       librarySystemDepends = [ xmlsec1 ];
+       libraryPkgconfigDepends = [ xmlsec1 ];
        description = "Verifying XML signatures";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -301725,18 +297342,18 @@ self: {
      }) {};
 
   "xmobar" = callPackage
-    ({ mkDerivation, alsa-core, alsa-mixer, async, base, bytestring
-     , containers, dbus, directory, extensible-exceptions, filepath
-     , gauge, hinotify, hspec, http-client-tls, http-conduit, http-types
-     , iwlib, libmpd, libXpm, libXrandr, libXrender, mtl, old-locale
-     , parsec, parsec-numbers, process, regex-compat, stm, temporary
-     , time, timezone-olson, timezone-series, transformers, unix
-     , utf8-string, wirelesstools, X11, X11-xft
+    ({ mkDerivation, aeson, alsa-core, alsa-mixer, async, base
+     , bytestring, containers, dbus, directory, extensible-exceptions
+     , filepath, gauge, hinotify, hspec, http-client-tls, http-conduit
+     , http-types, iwlib, libmpd, libXpm, libXrandr, libXrender, mtl
+     , old-locale, parsec, parsec-numbers, process, regex-compat, stm
+     , temporary, time, timezone-olson, timezone-series, transformers
+     , unix, utf8-string, wirelesstools, X11, X11-xft
      }:
      mkDerivation {
        pname = "xmobar";
-       version = "0.41";
-       sha256 = "0z9dm6drsqpd9axras11f5k3mlj8rwdj4hh8f8g9hv0c3jmyd9d7";
+       version = "0.42";
+       sha256 = "16vnj9a5jnc2ddn158xwz7mh6zdicjvwg3j93bpk5ny3g5ns1x2k";
        configureFlags = [
          "-fwith_alsa" "-fwith_conduit" "-fwith_datezone" "-fwith_dbus"
          "-fwith_inotify" "-fwith_iwlib" "-fwith_mpd" "-fwith_mpris"
@@ -301746,7 +297363,7 @@ self: {
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         alsa-core alsa-mixer async base bytestring containers dbus
+         aeson alsa-core alsa-mixer async base bytestring containers dbus
          directory extensible-exceptions filepath hinotify http-client-tls
          http-conduit http-types iwlib libmpd mtl old-locale parsec
          parsec-numbers process regex-compat stm time timezone-olson
@@ -301773,36 +297390,6 @@ self: {
          inherit (pkgs.xorg) libXrender; inherit (pkgs) wirelesstools;};
 
   "xmonad" = callPackage
-    ({ mkDerivation, base, containers, data-default, directory
-     , extensible-exceptions, filepath, mtl, process, QuickCheck
-     , setlocale, unix, utf8-string, X11
-     }:
-     mkDerivation {
-       pname = "xmonad";
-       version = "0.15";
-       sha256 = "0a7rh21k9y6g8fwkggxdxjns2grvvsd5hi2ls4klmqz5xvk4hyaa";
-       revision = "1";
-       editedCabalFile = "0yqh96qqphllr0zyz5j93cij5w2qvf39xxnrb52pz0qz3pywz9wd";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base containers data-default directory extensible-exceptions
-         filepath mtl process setlocale unix utf8-string X11
-       ];
-       executableHaskellDepends = [ base mtl unix X11 ];
-       testHaskellDepends = [
-         base containers extensible-exceptions QuickCheck X11
-       ];
-       postInstall = ''
-         install -D man/xmonad.1 ''${!outputDoc}/share/man/man1/xmonad.1
-         install -D man/xmonad.hs ''${!outputDoc}/share/doc/$name/sample-xmonad.hs
-       '';
-       description = "A tiling window manager";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ peti ];
-     }) {};
-
-  "xmonad_0_17_0" = callPackage
     ({ mkDerivation, base, containers, data-default-class, directory
      , filepath, mtl, process, QuickCheck, quickcheck-classes, setlocale
      , time, transformers, unix, X11
@@ -301827,7 +297414,6 @@ self: {
        '';
        description = "A tiling window manager";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ peti ];
      }) {};
 
@@ -301853,28 +297439,6 @@ self: {
      }) {};
 
   "xmonad-contrib" = callPackage
-    ({ mkDerivation, base, bytestring, containers, directory
-     , extensible-exceptions, filepath, mtl, old-locale, old-time
-     , process, random, semigroups, unix, utf8-string, X11, X11-xft
-     , xmonad
-     }:
-     mkDerivation {
-       pname = "xmonad-contrib";
-       version = "0.16";
-       sha256 = "1pddgkvnbww28wykncc7j0yb0lv15bk7xnnhdcbrwkxzw66w6wmd";
-       revision = "1";
-       editedCabalFile = "0vimkby2gq6sgzxzbvz67caba609xqlv2ii2gi8a1cjrnn6ib011";
-       libraryHaskellDepends = [
-         base bytestring containers directory extensible-exceptions filepath
-         mtl old-locale old-time process random semigroups unix utf8-string
-         X11 X11-xft xmonad
-       ];
-       description = "Third party extensions for xmonad";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ peti ];
-     }) {};
-
-  "xmonad-contrib_0_17_0" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, filepath
      , hspec, mtl, process, QuickCheck, random, time, unix, utf8-string
      , X11, X11-xft, xmonad
@@ -301893,7 +297457,6 @@ self: {
        ];
        description = "Community-maintained extensions extensions for xmonad";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ peti ];
      }) {};
 
@@ -301941,8 +297504,6 @@ self: {
        executableHaskellDepends = [ base dbus ];
        testHaskellDepends = [ base dbus ];
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "xmonad-entryhelper" = callPackage
@@ -301959,6 +297520,8 @@ self: {
        ];
        description = "XMonad config entry point wrapper";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "xmonad-eval" = callPackage
@@ -301985,28 +297548,6 @@ self: {
      }:
      mkDerivation {
        pname = "xmonad-extras";
-       version = "0.15.3";
-       sha256 = "0nh8v057fjdr3lnx7mdbifw153z6nirx36zfsjz8lc6p45ik0qs9";
-       configureFlags = [
-         "-f-with_hlist" "-fwith_parsec" "-fwith_split"
-       ];
-       libraryHaskellDepends = [
-         alsa-mixer base bytestring containers hint libmpd mtl network
-         regex-posix X11 xmonad xmonad-contrib
-       ];
-       description = "Third party extensions for xmonad with wacky dependencies";
-       license = lib.licenses.bsd3;
-       platforms = [
-         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
-       ];
-     }) {};
-
-  "xmonad-extras_0_17_0" = callPackage
-    ({ mkDerivation, alsa-mixer, base, bytestring, containers, hint
-     , libmpd, mtl, network, regex-posix, X11, xmonad, xmonad-contrib
-     }:
-     mkDerivation {
-       pname = "xmonad-extras";
        version = "0.17.0";
        sha256 = "0kkwng84hp19vc9nw97y77n3hsg9scn0c9fa1ivf4r9s5x3p6flx";
        revision = "1";
@@ -302023,7 +297564,6 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "xmonad-screenshot" = callPackage
@@ -302035,6 +297575,8 @@ self: {
        libraryHaskellDepends = [ base gtk xmonad ];
        description = "Workspaces screenshooting utility for XMonad";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "xmonad-spotify" = callPackage
@@ -302115,6 +297657,8 @@ self: {
        libraryHaskellDepends = [ base magic mtl random unix xmonad ];
        description = "xmonad wallpaper extension";
        license = lib.licenses.lgpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "xmonad-windownames" = callPackage
@@ -302157,8 +297701,8 @@ self: {
      }:
      mkDerivation {
        pname = "xor";
-       version = "0.0.1.0";
-       sha256 = "0v2xcyqzd973v8m4i6f02qifa2zq4whrnw3pw332q3rr1kd2pxxw";
+       version = "0.0.1.1";
+       sha256 = "05jwfrg4cm27ldj3dbl0y144njhiha9yiypirbhsg6lc1b36s3kh";
        libraryHaskellDepends = [ base bytestring ghc-byteorder ];
        testHaskellDepends = [
          base bytestring ghc-byteorder QuickCheck tasty tasty-hunit
@@ -302169,8 +297713,6 @@ self: {
        ];
        description = "Efficient XOR masking";
        license = lib.licenses.gpl2Plus;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "xorshift" = callPackage
@@ -302443,28 +297985,10 @@ self: {
      }:
      mkDerivation {
        pname = "xss-sanitize";
-       version = "0.3.6";
-       sha256 = "1d72s3a6520iwwc1wbn9v2znqgbw6a5wwzb23iq8ny9ccnjyx1dk";
-       libraryHaskellDepends = [
-         attoparsec base containers css-text network-uri tagsoup text
-         utf8-string
-       ];
-       testHaskellDepends = [
-         attoparsec base containers css-text hspec HUnit network-uri tagsoup
-         text utf8-string
-       ];
-       description = "sanitize untrusted HTML to prevent XSS attacks";
-       license = lib.licenses.bsd2;
-     }) {};
-
-  "xss-sanitize_0_3_7" = callPackage
-    ({ mkDerivation, attoparsec, base, containers, css-text, hspec
-     , HUnit, network-uri, tagsoup, text, utf8-string
-     }:
-     mkDerivation {
-       pname = "xss-sanitize";
        version = "0.3.7";
        sha256 = "1wnzx5nv8p4ppphcvjp6x8wna0kpw9jn85gn1qbhjqhrl5nqy1vw";
+       revision = "1";
+       editedCabalFile = "15kd3yxs219g4rxnq7qlr2zhjv930b33aynq0nbzhw94bff6qb66";
        libraryHaskellDepends = [
          attoparsec base containers css-text network-uri tagsoup text
          utf8-string
@@ -302475,7 +297999,6 @@ self: {
        ];
        description = "sanitize untrusted HTML to prevent XSS attacks";
        license = lib.licenses.bsd2;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "xtc" = callPackage
@@ -302516,6 +298039,8 @@ self: {
        ];
        description = "turtle like LOGO";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "xxhash" = callPackage
@@ -302533,8 +298058,6 @@ self: {
        ];
        description = "A Haskell implementation of the xxHash algorithm";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "xxhash-ffi" = callPackage
@@ -302752,6 +298275,8 @@ self: {
        testHaskellDepends = [ base bytestring hspec ];
        description = "A strongly typed IRC library";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "yall" = callPackage
@@ -302921,7 +298446,6 @@ self: {
        ];
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "yam-transaction" = callPackage
@@ -303024,8 +298548,8 @@ self: {
      }:
      mkDerivation {
        pname = "yaml";
-       version = "0.11.7.0";
-       sha256 = "0s08kw0hqxixxripwjmz7b4yh9130dws3jaj460x8ds8q4b6khbx";
+       version = "0.11.8.0";
+       sha256 = "1s0arllihjjqp65jbc8c1w5106i2infppsirvbsifpmpkf14w6pn";
        configureFlags = [ "-fsystem-libyaml" ];
        isLibrary = true;
        isExecutable = true;
@@ -303062,6 +298586,8 @@ self: {
        ];
        description = "YAML parsing combinators for improved validation and error reporting";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "yaml-config" = callPackage
@@ -303104,14 +298630,16 @@ self: {
      }:
      mkDerivation {
        pname = "yaml-light-lens";
-       version = "0.3.4";
-       sha256 = "1ac05hm2kh1xv0987yb5vjfrmanvzkq6yx8whi7jxdwdb0fa7l3p";
+       version = "0.3.5";
+       sha256 = "0m96nk3cfmrbhj82613gl9854ww8n178na640ljlygd2qra0gv4c";
        libraryHaskellDepends = [
          base bytestring bytestring-lexing containers lens yaml-light
        ];
        testHaskellDepends = [ base doctest ];
        description = "Lens interface to yaml-light";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "yaml-pretty-extras" = callPackage
@@ -303215,7 +298743,6 @@ self: {
        ];
        description = "Support for parsing and rendering YAML documents";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yaml-union" = callPackage
@@ -303243,25 +298770,27 @@ self: {
        ];
        description = "Read multiple yaml-files and override fields recursively";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "yaml-unscrambler" = callPackage
     ({ mkDerivation, acc, attoparsec, attoparsec-data, attoparsec-time
-     , base, base64, bytestring, conduit, containers, foldl, hashable
-     , libyaml, mtl, neat-interpolation, QuickCheck
+     , base, base64-bytestring, bytestring, conduit, containers, foldl
+     , hashable, libyaml, mtl, neat-interpolation, QuickCheck
      , quickcheck-instances, rerebase, scientific, selective, tasty
-     , tasty-hunit, tasty-quickcheck, text, text-builder, time
+     , tasty-hunit, tasty-quickcheck, text, text-builder-dev, time
      , transformers, unordered-containers, uuid, vector, yaml
      }:
      mkDerivation {
        pname = "yaml-unscrambler";
-       version = "0.1.0.5";
-       sha256 = "07h0mlj929ngp4nm89yd7a6g68ixh0271i7d3jq6wg6j06pck4cz";
+       version = "0.1.0.9";
+       sha256 = "18xl26w4w7ql0936n5h7fqmcpyg284gn507wx67vs3yqqva1n07a";
        libraryHaskellDepends = [
-         acc attoparsec attoparsec-data attoparsec-time base base64
-         bytestring conduit containers foldl hashable libyaml mtl scientific
-         selective text text-builder time transformers unordered-containers
-         uuid vector yaml
+         acc attoparsec attoparsec-data attoparsec-time base
+         base64-bytestring bytestring conduit containers foldl hashable
+         libyaml mtl scientific selective text text-builder-dev time
+         transformers unordered-containers uuid vector yaml
        ];
        testHaskellDepends = [
          foldl neat-interpolation QuickCheck quickcheck-instances rerebase
@@ -303269,7 +298798,6 @@ self: {
        ];
        description = "Flexible declarative YAML parsing toolkit";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yaml2owl" = callPackage
@@ -303334,8 +298862,8 @@ self: {
        pname = "yampa-canvas";
        version = "0.2.3";
        sha256 = "0a1pq1psmc4490isr19z4prnqq1w3374vkfmzpw9s20s2p6k5y7r";
-       revision = "6";
-       editedCabalFile = "01daplf24d506lvgaxc69rhkd3idcyad9igqpb630k03gswvvpcl";
+       revision = "7";
+       editedCabalFile = "1p7rw89lmdsihgm0fzq6l75d8k642jsaixqwmi5jqla2vz8a4r9m";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base blank-canvas stm time Yampa ];
@@ -303496,25 +299024,28 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "yet another prelude - a simplistic refactoring with algebraic classes";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "yapb" = callPackage
-    ({ mkDerivation, base, bytestring, directory, hashable, hspec
-     , network, process, regex-tdfa
+    ({ mkDerivation, base, bytestring, deepseq, directory, hashable
+     , hspec, mtl, network, process, regex-tdfa, transformers
      }:
      mkDerivation {
        pname = "yapb";
-       version = "0.1.3.2";
-       sha256 = "15apb25gri0d2w8pg05by98mvjnxjvgk73km0byl4im10m04r11w";
+       version = "0.2.1";
+       sha256 = "00xc5q5yp9f76sd227mp11mb62k1yxhczgq30c6sh66cqxrjidwc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring directory hashable hspec network process regex-tdfa
+         base bytestring deepseq directory hashable hspec mtl network
+         process regex-tdfa transformers
+       ];
+       executableHaskellDepends = [
+         base deepseq hspec mtl regex-tdfa transformers
+       ];
+       testHaskellDepends = [
+         base deepseq hspec mtl process transformers
        ];
-       executableHaskellDepends = [ base hspec regex-tdfa ];
-       testHaskellDepends = [ base hspec process ];
        description = "Yet Another Parser Builder (YAPB)";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -303542,37 +299073,37 @@ self: {
      }) {};
 
   "yarn2nix" = callPackage
-    ({ mkDerivation, aeson, async-pool, base, bytestring, containers
-     , data-fix, directory, filepath, hnix, mtl, neat-interpolation
-     , optparse-applicative, prettyprinter, process, protolude
-     , regex-tdfa, regex-tdfa-text, stm, tasty, tasty-hunit
+    ({ mkDerivation, aeson, aeson-better-errors, async-pool, base
+     , bytestring, containers, data-fix, directory, filepath, hnix, mtl
+     , neat-interpolation, optparse-applicative, prettyprinter, process
+     , protolude, regex-tdfa, scientific, stm, tasty, tasty-hunit
      , tasty-quickcheck, tasty-th, text, transformers, unix
      , unordered-containers, yarn-lock
      }:
      mkDerivation {
        pname = "yarn2nix";
-       version = "0.8.0";
-       sha256 = "05xwpjyi37qlwfj954zpn6f4iwyvy6hsgc8h5vpckbnnp8ak1ndw";
+       version = "0.10.1";
+       sha256 = "17f96563v9hp56ycd276fxri7z6nljd7yaiyzpgaa3px6rf48a0m";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson async-pool base bytestring containers data-fix directory
-         filepath hnix mtl prettyprinter process protolude regex-tdfa
-         regex-tdfa-text stm text transformers unordered-containers
-         yarn-lock
+         aeson aeson-better-errors async-pool base bytestring containers
+         data-fix directory filepath hnix mtl optparse-applicative
+         prettyprinter process protolude regex-tdfa scientific stm text
+         transformers unordered-containers yarn-lock
        ];
        executableHaskellDepends = [
-         aeson async-pool base bytestring containers data-fix directory
-         filepath hnix mtl optparse-applicative prettyprinter process
-         protolude regex-tdfa regex-tdfa-text stm text transformers unix
-         unordered-containers yarn-lock
+         aeson aeson-better-errors async-pool base bytestring containers
+         data-fix directory filepath hnix mtl optparse-applicative
+         prettyprinter process protolude regex-tdfa scientific stm text
+         transformers unix unordered-containers yarn-lock
        ];
        testHaskellDepends = [
-         aeson async-pool base bytestring containers data-fix directory
-         filepath hnix mtl neat-interpolation prettyprinter process
-         protolude regex-tdfa regex-tdfa-text stm tasty tasty-hunit
-         tasty-quickcheck tasty-th text transformers unordered-containers
-         yarn-lock
+         aeson aeson-better-errors async-pool base bytestring containers
+         data-fix directory filepath hnix mtl neat-interpolation
+         optparse-applicative prettyprinter process protolude regex-tdfa
+         scientific stm tasty tasty-hunit tasty-quickcheck tasty-th text
+         transformers unordered-containers yarn-lock
        ];
        description = "Convert yarn.lock files to nix expressions";
        license = lib.licenses.mit;
@@ -303611,22 +299142,24 @@ self: {
      }) {inherit (pkgs) libdevil;};
 
   "yasi" = callPackage
-    ({ mkDerivation, base, bytestring, hedgehog, tasty, tasty-discover
-     , tasty-hedgehog, tasty-hunit, template-haskell, text
+    ({ mkDerivation, base, ghc-hs-meta, hedgehog, tasty, tasty-discover
+     , tasty-hedgehog, tasty-hunit, template-haskell, text, text-display
      }:
      mkDerivation {
        pname = "yasi";
-       version = "0.1.2.1";
-       sha256 = "0647z79wva7apkp0swj7gax780vqmhr5czxrvg88gl3bi03wcapl";
-       revision = "4";
-       editedCabalFile = "0vljbnfrcscb468mcqx62r0xcdnz73glam67v73jqq6g4vhyaimr";
-       libraryHaskellDepends = [ base bytestring template-haskell text ];
+       version = "0.2.0.1";
+       sha256 = "0j5g5h40qvz2rinka7mrb8nc7dzhnprdfpjmzc4pdlx1w8fzw8xy";
+       libraryHaskellDepends = [
+         base ghc-hs-meta template-haskell text text-display
+       ];
        testHaskellDepends = [
-         base hedgehog tasty tasty-hedgehog tasty-hunit text
+         base hedgehog tasty tasty-hedgehog tasty-hunit text text-display
        ];
        testToolDepends = [ tasty-discover ];
        description = "Yet another string interpolator";
        license = lib.licenses.cc0;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "yate" = callPackage
@@ -303646,6 +299179,8 @@ self: {
        ];
        description = "Yet Another Template Engine";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "yavie" = callPackage
@@ -303675,8 +299210,8 @@ self: {
      }:
      mkDerivation {
        pname = "yaya";
-       version = "0.3.2.0";
-       sha256 = "186hph8qgvzx9qicy6f28qj4xdgjka3lbaibpj7zmkfaayl0l3bm";
+       version = "0.4.2.1";
+       sha256 = "182h9lhk493az2ic2v5q64yy1adnxa6mm4hp72pcb73ma87z6amd";
        libraryHaskellDepends = [
          base bifunctors comonad constraints containers distributive either
          errors free kan-extensions lens profunctors template-haskell
@@ -304038,7 +299573,6 @@ self: {
        description = "Automatically generate article previews for a yesod site";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "yesod-auth" = callPackage
@@ -304210,6 +299744,7 @@ self: {
        ];
        description = "Authentication backend for Yesod using Facebook";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yesod-auth-hashdb" = callPackage
@@ -304349,6 +299884,7 @@ self: {
        ];
        description = "A yesod-auth plugin for LTI 1.3";
        license = lib.licenses.lgpl3Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yesod-auth-nopassword" = callPackage
@@ -304383,53 +299919,30 @@ self: {
        ];
        description = "OAuth Authentication for Yesod";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "yesod-auth-oauth2" = callPackage
     ({ mkDerivation, aeson, base, bytestring, cryptonite, errors
      , hoauth2, hspec, http-client, http-conduit, http-types, memory
-     , microlens, mtl, safe-exceptions, text, unliftio, uri-bytestring
-     , yesod-auth, yesod-core
-     }:
-     mkDerivation {
-       pname = "yesod-auth-oauth2";
-       version = "0.6.3.4";
-       sha256 = "1hy90iz3f52kg7vs5k27mqpzhfncvag9sb9vs8gl7v89caa1pdjz";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base bytestring cryptonite errors hoauth2 http-client
-         http-conduit http-types memory microlens mtl safe-exceptions text
-         unliftio uri-bytestring yesod-auth yesod-core
-       ];
-       testHaskellDepends = [ base hspec uri-bytestring ];
-       description = "OAuth 2.0 authentication plugins";
-       license = lib.licenses.mit;
-     }) {};
-
-  "yesod-auth-oauth2_0_7_0_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, cryptonite, errors
-     , hoauth2, hspec, http-client, http-conduit, http-types, memory
-     , microlens, mtl, safe-exceptions, text, unliftio, uri-bytestring
-     , yesod-auth, yesod-core
+     , microlens, mtl, safe-exceptions, text, transformers, unliftio
+     , uri-bytestring, yesod-auth, yesod-core
      }:
      mkDerivation {
        pname = "yesod-auth-oauth2";
-       version = "0.7.0.0";
-       sha256 = "183ck29b43nvvih2vcpavzvj0ajdwpcjsa6lq6f5labqqk929cww";
-       revision = "1";
-       editedCabalFile = "1vpcb40a3f5dblfdvqw0v55gzh97kp7d2b9pri153v5ri60pgvw5";
+       version = "0.7.0.1";
+       sha256 = "0kajlm8hyq52gda8hff302jlij4a8j56082zr5224lggrnkrcbwm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base bytestring cryptonite errors hoauth2 http-client
          http-conduit http-types memory microlens mtl safe-exceptions text
-         unliftio uri-bytestring yesod-auth yesod-core
+         transformers unliftio uri-bytestring yesod-auth yesod-core
        ];
        testHaskellDepends = [ base hspec uri-bytestring ];
        description = "OAuth 2.0 authentication plugins";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yesod-auth-oidc" = callPackage
@@ -304566,8 +300079,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-bin";
-       version = "1.6.2";
-       sha256 = "12dwix5q3xk83d0d4715h680dbalbz4556wk3r89gps3rp9pib7f";
+       version = "1.6.2.1";
+       sha256 = "1p0ycwnvi5pg1vsl7yvak8cglxlrs3bimcr3r4ni8y0xj0jdadq5";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -304638,7 +300151,6 @@ self: {
        description = "A generic comments interface for a Yesod application";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "yesod-content-pdf" = callPackage
@@ -304696,8 +300208,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-core";
-       version = "1.6.21.0";
-       sha256 = "0wmh7ip318p89lyy6k5mvxkkpq43knp41wlq9iaf3icz0ahqdmb7";
+       version = "1.6.22.0";
+       sha256 = "0vc60va1lj7a409ljpipk90k89pycsf7zfpvdn0bvsqgsy75qgq6";
        libraryHaskellDepends = [
          aeson auto-update base blaze-html blaze-markup bytestring
          case-insensitive cereal clientsession conduit conduit-extra
@@ -304756,7 +300268,6 @@ self: {
        description = "Flexible CRUD subsite usable with Yesod and Persistent";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "yesod-csp" = callPackage
@@ -304778,6 +300289,8 @@ self: {
        ];
        description = "Add CSP headers to Yesod apps";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "yesod-datatables" = callPackage
@@ -304939,6 +300452,7 @@ self: {
        ];
        description = "Utilities for using the Fay Haskell-to-JS compiler with Yesod";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yesod-fb" = callPackage
@@ -304955,6 +300469,7 @@ self: {
        ];
        description = "Useful glue functions between the fb library and Yesod";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yesod-filter" = callPackage
@@ -305054,6 +300569,8 @@ self: {
        ];
        description = "Extension for Yesod web framework to handle JSON requests as applicative forms";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "yesod-form-multi" = callPackage
@@ -305161,7 +300678,6 @@ self: {
        description = "Code for using the ip package with yesod";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "yesod-job-queue" = callPackage
@@ -305213,6 +300729,8 @@ self: {
        ];
        description = "Logging bridge between Yesod and Katip";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "yesod-links" = callPackage
@@ -305279,6 +300797,8 @@ 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
@@ -305337,6 +300857,31 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "yesod-page-cursor_2_0_0_10" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, hspec
+     , hspec-expectations-lifted, http-link-header, http-types, lens
+     , lens-aeson, monad-logger, mtl, network-uri, persistent
+     , persistent-sqlite, persistent-template, scientific, text, time
+     , unliftio, unliftio-core, wai-extra, yesod, yesod-core, yesod-test
+     }:
+     mkDerivation {
+       pname = "yesod-page-cursor";
+       version = "2.0.0.10";
+       sha256 = "0ygj3k86lxq59pf5z671kyzgkfvc8csgsg9wb6ds9wy0vym1jd13";
+       libraryHaskellDepends = [
+         aeson base bytestring containers http-link-header network-uri text
+         unliftio yesod-core
+       ];
+       testHaskellDepends = [
+         aeson base bytestring hspec hspec-expectations-lifted
+         http-link-header http-types lens lens-aeson monad-logger mtl
+         persistent persistent-sqlite persistent-template scientific text
+         time unliftio unliftio-core wai-extra yesod yesod-core yesod-test
+       ];
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "yesod-paginate" = callPackage
     ({ mkDerivation, base, template-haskell, yesod }:
      mkDerivation {
@@ -305720,8 +301265,6 @@ self: {
        ];
        description = "Generate Flow routes for Yesod";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "yesod-routes-typescript" = callPackage
@@ -305992,6 +301535,8 @@ self: {
        ];
        description = "Yesod support for Text.Markdown.";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "yesod-tls" = callPackage
@@ -306033,6 +301578,8 @@ self: {
        ];
        description = "Transloadit support for Yesod";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "yesod-vend" = callPackage
@@ -306104,7 +301651,6 @@ self: {
        description = "Initial project template from stack";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "yet-another-logger" = callPackage
@@ -306208,6 +301754,7 @@ self: {
        ];
        description = "Yi editor";
        license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yi-contrib" = callPackage
@@ -306227,7 +301774,6 @@ self: {
        description = "Add-ons to Yi, the Haskell-Scriptable Editor";
        license = lib.licenses.gpl2Only;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "yi-core" = callPackage
@@ -306260,6 +301806,8 @@ self: {
        benchmarkHaskellDepends = [ base criterion deepseq yi-rope ];
        description = "Yi editor core library";
        license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "yi-dynamic-configuration" = callPackage
@@ -306276,6 +301824,7 @@ self: {
        ];
        description = "Dynamic configuration support for Yi";
        license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yi-emacs-colours" = callPackage
@@ -306306,6 +301855,7 @@ self: {
        ];
        description = "Pango frontend for Yi editor";
        license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yi-frontend-vty" = callPackage
@@ -306323,6 +301873,7 @@ self: {
        ];
        description = "Vty frontend for Yi editor";
        license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yi-fuzzy-open" = callPackage
@@ -306341,6 +301892,7 @@ self: {
        ];
        description = "Fuzzy open plugin for yi";
        license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yi-gtk" = callPackage
@@ -306368,6 +301920,7 @@ self: {
        ];
        description = "Yi editor incremental reader";
        license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yi-keymap-cua" = callPackage
@@ -306383,6 +301936,7 @@ self: {
        ];
        description = "Cua keymap for Yi editor";
        license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yi-keymap-emacs" = callPackage
@@ -306402,6 +301956,7 @@ self: {
        ];
        description = "Emacs keymap for Yi editor";
        license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yi-keymap-vim" = callPackage
@@ -306430,6 +301985,7 @@ self: {
        ];
        description = "Vim keymap for Yi editor";
        license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yi-language" = callPackage
@@ -306474,6 +302030,7 @@ self: {
        libraryToolDepends = [ alex ];
        description = "Yi editor miscellaneous modes";
        license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yi-mode-haskell" = callPackage
@@ -306491,6 +302048,7 @@ self: {
        libraryToolDepends = [ alex ];
        description = "Yi editor haskell mode";
        license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yi-mode-javascript" = callPackage
@@ -306511,6 +302069,7 @@ self: {
        libraryToolDepends = [ alex ];
        description = "Yi editor javascript mode";
        license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yi-monokai" = callPackage
@@ -306523,7 +302082,6 @@ self: {
        description = "Monokai colour theme for the Yi text editor";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "yi-rope" = callPackage
@@ -306563,6 +302121,7 @@ self: {
        ];
        description = "Snippet support for yi";
        license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yi-solarized" = callPackage
@@ -306575,7 +302134,6 @@ self: {
        description = "Solarized colour theme for the Yi text editor";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "yi-spolsky" = callPackage
@@ -306588,7 +302146,6 @@ self: {
        description = "Spolsky colour theme for the Yi text editor";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "yi-vty" = callPackage
@@ -307119,7 +302676,6 @@ self: {
        description = "Implementation of the z85 binary codec";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "zabt" = callPackage
@@ -307300,8 +302856,6 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "@zenhack's personal custom prelude";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "zeno" = callPackage
@@ -307349,6 +302903,8 @@ self: {
        doHaddock = false;
        description = "Zeolite is a statically-typed, general-purpose programming language";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "zephyr" = callPackage
@@ -307382,7 +302938,25 @@ self: {
        description = "Zephyr, tree-shaking for the PureScript language";
        license = lib.licenses.mpl20;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
+     }) {};
+
+  "zephyr-copilot" = callPackage
+    ({ mkDerivation, base, containers, copilot, copilot-c99
+     , copilot-language, directory, filepath, mtl, optparse-applicative
+     , process, sketch-frp-copilot, temporary
+     }:
+     mkDerivation {
+       pname = "zephyr-copilot";
+       version = "1.0.1";
+       sha256 = "0d489krxzj30gl8j8idwfi10k82w0p4kr30f0h78qvl9ikzinhvk";
+       libraryHaskellDepends = [
+         base containers copilot copilot-c99 copilot-language directory
+         filepath mtl optparse-applicative sketch-frp-copilot temporary
+       ];
+       testHaskellDepends = [ base directory process temporary ];
+       description = "Embedded programming in haskell using the Copilot stream DSL and Zephyr";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "zero" = callPackage
@@ -307415,7 +302989,6 @@ self: {
        ];
        description = "Post to 0bin services";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "zeromq-haskell" = callPackage
@@ -307502,8 +303075,6 @@ self: {
        ];
        description = "Haskell implementation of the ZeroMQ clone pattern";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "zeromq4-conduit" = callPackage
@@ -307568,8 +303139,6 @@ self: {
        ];
        description = "Haskell implementation of several ZeroMQ patterns";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "zeromq4-simple" = callPackage
@@ -307878,14 +303447,12 @@ self: {
   "zip-archive" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , digest, directory, filepath, HUnit, mtl, pretty, process
-     , temporary, text, time, unix, unzip, which, zlib
+     , temporary, text, time, unix, which, zlib
      }:
      mkDerivation {
        pname = "zip-archive";
-       version = "0.4.1";
-       sha256 = "1cdix5mnxrbs7b2kivhdydhfzgxidd9dqlw71mdw5p21cabwkmf5";
-       revision = "1";
-       editedCabalFile = "1mv6jns7zf0fi7lrhzk007g12v6x7yf5ycbj67rbh83xfkf4nxsi";
+       version = "0.4.2.1";
+       sha256 = "1q9x2i8k6paf9r9jpqzw8rhrwxk1fagppfyv5psxr5amqks61lqp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -307896,10 +303463,10 @@ self: {
          base bytestring directory filepath HUnit process temporary time
          unix
        ];
-       testToolDepends = [ unzip which ];
+       testToolDepends = [ which ];
        description = "Library for creating and modifying zip archives";
        license = lib.licenses.bsd3;
-     }) {inherit (pkgs) unzip; inherit (pkgs) which;};
+     }) {inherit (pkgs) which;};
 
   "zip-conduit" = callPackage
     ({ mkDerivation, base, bytestring, cereal, conduit, conduit-extra
@@ -308384,8 +303951,8 @@ self: {
      }:
      mkDerivation {
        pname = "zoovisitor";
-       version = "0.1.8.0";
-       sha256 = "190d6zrhfwjmwxagfr0phdvjdb2z73dmvypjavdv00dxzh68l384";
+       version = "0.2.1.0";
+       sha256 = "1vh20sjq305f7nkphprqby19cbd7w395yixq92w3mplsz9cx6h0n";
        libraryHaskellDepends = [ base Z-Data Z-IO ];
        librarySystemDepends = [ zookeeper_mt ];
        testHaskellDepends = [ async base hspec uuid Z-Data ];
@@ -308421,8 +303988,8 @@ self: {
      }:
      mkDerivation {
        pname = "zre";
-       version = "0.1.4.0";
-       sha256 = "1877q8qshp88sghnys6a52c6sjc9qxxg062j473fjyv0vc4cpy4d";
+       version = "0.1.5.0";
+       sha256 = "12nain4jp6p24z1vxdvayfd26sdksk2vzp1lf438vq1ynvsllfkn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -308518,10 +304085,8 @@ self: {
      }:
      mkDerivation {
        pname = "ztail";
-       version = "1.2.0.2";
-       sha256 = "05vpq3kiv1xrby2k1qn41s42cxxxblcgxpnw1sgyznx63pal2hx1";
-       revision = "2";
-       editedCabalFile = "16w0hgjvj45azdgkzvykiznds5sa38mq9xf5022r7qfhpvps65y0";
+       version = "1.2.0.3";
+       sha256 = "0chxsaivxfxphcwzkwyzc7px6lrf5vkr4d7rbd909j4n96293hha";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -308615,6 +304180,8 @@ self: {
        testHaskellDepends = [ aeson base bytestring tasty tasty-hunit ];
        description = "A zuul client library";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "zxcvbn-c" = callPackage
@@ -308645,7 +304212,6 @@ self: {
        description = "Password strength estimation based on zxcvbn";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "zxcvbn-hs" = callPackage
@@ -308702,6 +304268,8 @@ self: {
        ];
        description = "Haskell language binding for the Zydis library, a x86/x86-64 disassembler";
        license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
 }
diff --git a/pkgs/development/haskell-modules/patches/cryptonite-remove-argon2.patch b/pkgs/development/haskell-modules/patches/cryptonite-remove-argon2.patch
new file mode 100644
index 0000000000000..1d571b61e532e
--- /dev/null
+++ b/pkgs/development/haskell-modules/patches/cryptonite-remove-argon2.patch
@@ -0,0 +1,69 @@
+diff --git a/Crypto/KDF/Argon2.hs b/Crypto/KDF/Argon2.hs
+index 044ba00..31dc6f1 100644
+--- a/Crypto/KDF/Argon2.hs
++++ b/Crypto/KDF/Argon2.hs
+@@ -12,6 +12,7 @@
+ -- File started from Argon2.hs, from Oliver Charles
+ -- at https://github.com/ocharles/argon2
+ --
++{-# LANGUAGE DataKinds #-}
+ module Crypto.KDF.Argon2
+     (
+       Options(..)
+@@ -32,6 +33,7 @@ import           Control.Monad (when)
+ import           Data.Word
+ import           Foreign.C
+ import           Foreign.Ptr
++import           Data.Proxy
+ 
+ -- | Which variant of Argon2 to use. You should choose the variant that is most
+ -- applicable to your intention to hash inputs.
+@@ -100,33 +102,12 @@ defaultOptions =
+             }
+ 
+ hash :: (ByteArrayAccess password, ByteArrayAccess salt, ByteArray out)
+-     => Options
++     => [Proxy "cryptonite:Crypto.KDF.Argon2.hash is known to be broken on this architecture. See https://github.com/haskell-crypto/cryptonite/issues/360"]
+      -> password
+      -> salt
+      -> Int
+      -> CryptoFailable out
+-hash options password salt outLen
+-    | saltLen < saltMinLength  = CryptoFailed CryptoError_SaltTooSmall
+-    | outLen < outputMinLength = CryptoFailed CryptoError_OutputLengthTooSmall
+-    | outLen > outputMaxLength = CryptoFailed CryptoError_OutputLengthTooBig
+-    | otherwise                = CryptoPassed $ B.allocAndFreeze outLen $ \out -> do
+-        res <- B.withByteArray password $ \pPass ->
+-               B.withByteArray salt     $ \pSalt ->
+-                    argon2_hash (iterations options)
+-                                (memory options)
+-                                (parallelism options)
+-                                pPass
+-                                (csizeOfInt passwordLen)
+-                                pSalt
+-                                (csizeOfInt saltLen)
+-                                out
+-                                (csizeOfInt outLen)
+-                                (cOfVariant $ variant options)
+-                                (cOfVersion $ version options)
+-        when (res /= 0) $ error "argon2: hash: internal error"
+-  where
+-    saltLen = B.length salt
+-    passwordLen = B.length password
++hash options password salt outLen = error "cryptonite:Crypto.KDF.Argon2.hash is known to be broken on this architecture. See https://github.com/haskell-crypto/cryptonite/issues/360"
+ 
+ data Pass
+ data Salt
+diff --git a/tests/KAT_Argon2.hs b/tests/KAT_Argon2.hs
+index a347fc5..fdba079 100644
+--- a/tests/KAT_Argon2.hs
++++ b/tests/KAT_Argon2.hs
+@@ -32,7 +32,7 @@ kdfTests = zipWith toKDFTest is vectors
+   where
+     toKDFTest i v =
+         testCase (show i)
+-            (CryptoPassed (kdfResult v) @=? Argon2.hash (kdfOptions v) (kdfPass v) (kdfSalt v) (B.length $ kdfResult v))
++            (pure ())
+ 
+     is :: [Int]
+     is = [1..]
diff --git a/pkgs/development/haskell-modules/patches/lambdabot-core-ghc9.patch b/pkgs/development/haskell-modules/patches/lambdabot-core-ghc9.patch
new file mode 100644
index 0000000000000..87a112b821738
--- /dev/null
+++ b/pkgs/development/haskell-modules/patches/lambdabot-core-ghc9.patch
@@ -0,0 +1,95 @@
+diff --git a/lambdabot-core.cabal b/lambdabot-core.cabal
+index 861a28b..87175a3 100644
+--- a/lambdabot-core.cabal
++++ b/lambdabot-core.cabal
+@@ -19,7 +19,7 @@ homepage:               https://wiki.haskell.org/Lambdabot
+ 
+ build-type:             Simple
+ cabal-version:          >= 1.10
+-tested-with:            GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.4, GHC == 8.10.4
++tested-with:            GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.4, GHC == 8.10.4, GHC == 9.0.2
+ 
+ extra-source-files:     AUTHORS.md
+                         COMMENTARY.md
+@@ -89,9 +89,8 @@ library
+                         network-bsd             >= 2.7 && < 2.9,
+                         parsec                  >= 3,
+                         prim-uniq               >= 0.2 && < 0.4,
+-                        random                  >= 1,
+-                        random-fu               >= 0.2.6.2,
+-                        random-source           >= 0.3,
++                        random                  >= 1.2,
++                        random-fu               >= 0.3.0.0,
+                         regex-tdfa              >= 1.1 && < 1.4,
+                         SafeSemaphore           >= 0.9,
+                         split                   >= 0.2,
+diff --git a/src/Lambdabot/Bot.hs b/src/Lambdabot/Bot.hs
+index 1b0de2e..833fb4c 100644
+--- a/src/Lambdabot/Bot.hs
++++ b/src/Lambdabot/Bot.hs
+@@ -1,6 +1,5 @@
+ {-# LANGUAGE GADTs #-}
+ {-# LANGUAGE ScopedTypeVariables #-}
+-{-# LANGUAGE TemplateHaskell #-}
+ -- | The guts of lambdabot.
+ --
+ -- The LB/Lambdabot monad
+@@ -37,7 +36,6 @@ import Control.Monad.Error
+ import Control.Monad.Reader
+ import Control.Monad.State
+ import qualified Data.Map as M
+-import Data.Random.Source
+ import qualified Data.Set as S
+ 
+ ------------------------------------------------------------------------
+@@ -136,17 +134,3 @@ ircPrivmsg who msg = do
+ ircPrivmsg' :: Nick -> String -> LB ()
+ ircPrivmsg' who ""  = ircPrivmsg' who " "
+ ircPrivmsg' who msg = send $ privmsg who msg
+-
+-------------------------------------------------------------------------
+-
+-monadRandom [d|
+-
+-    instance MonadRandom LB where
+-        getRandomWord8          = liftIO getRandomWord8
+-        getRandomWord16         = liftIO getRandomWord16
+-        getRandomWord32         = liftIO getRandomWord32
+-        getRandomWord64         = liftIO getRandomWord64
+-        getRandomDouble         = liftIO getRandomDouble
+-        getRandomNByteInteger n = liftIO (getRandomNByteInteger n)
+-
+- |]
+diff --git a/src/Lambdabot/Util.hs b/src/Lambdabot/Util.hs
+index effdf71..259699b 100644
+--- a/src/Lambdabot/Util.hs
++++ b/src/Lambdabot/Util.hs
+@@ -23,14 +23,15 @@ module Lambdabot.Util (
+         randomSuccessMsg
+     ) where
+ 
++import Control.Concurrent.Lifted
+ import Control.Monad.Trans
++import Control.Monad.Trans.Control
+ import Data.Char
+ import Data.List
+ import Data.Random
+-import Control.Concurrent.Lifted
+-import Control.Monad.Trans.Control
+ import Lambdabot.Config
+ import Lambdabot.Config.Core
++import System.Random.Stateful (newIOGenM, newStdGen)
+ 
+ ------------------------------------------------------------------------
+ 
+@@ -63,7 +64,9 @@ listToStr conj (item:items) =
+ 
+ -- | Pick a random element of the list.
+ random :: MonadIO m => [a] -> m a
+-random = io . sample . randomElement
++random l = do
++  g <- newIOGenM =<< newStdGen
++  sampleFrom g (randomElement l)
+ 
+ ------------------------------------------------------------------------
+ 
diff --git a/pkgs/development/haskell-modules/patches/lambdabot-novelty-plugins-ghc9.patch b/pkgs/development/haskell-modules/patches/lambdabot-novelty-plugins-ghc9.patch
new file mode 100644
index 0000000000000..009951f90e07a
--- /dev/null
+++ b/pkgs/development/haskell-modules/patches/lambdabot-novelty-plugins-ghc9.patch
@@ -0,0 +1,58 @@
+diff --git a/lambdabot-novelty-plugins.cabal b/lambdabot-novelty-plugins.cabal
+index 69c8447..50a35f6 100644
+--- a/lambdabot-novelty-plugins.cabal
++++ b/lambdabot-novelty-plugins.cabal
+@@ -36,7 +36,7 @@ homepage:               https://wiki.haskell.org/Lambdabot
+ 
+ build-type:             Simple
+ cabal-version:          >= 1.10
+-tested-with:            GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.4, GHC == 8.10.4
++tested-with:            GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.4, GHC == 8.10.4, GHC == 9.0.2
+ 
+ source-repository head
+   type:                 git
+@@ -71,7 +71,8 @@ library
+                         lambdabot-core          >= 5.3 && < 5.4,
+                         misfortune              >= 0.1,
+                         process                 >= 1.1,
+-                        random-fu               >= 0.2.6.2,
++                        random                  >= 1.2,
++                        random-fu               >= 0.3.0.0,
+                         regex-tdfa              >= 1.1,
+ 
+                         -- runtime dependencies
+diff --git a/src/Lambdabot/Plugin/Novelty/Numberwang.hs b/src/Lambdabot/Plugin/Novelty/Numberwang.hs
+index ae41eb4..8321a14 100644
+--- a/src/Lambdabot/Plugin/Novelty/Numberwang.hs
++++ b/src/Lambdabot/Plugin/Novelty/Numberwang.hs
+@@ -7,7 +7,9 @@ import Control.Monad
+ import Data.Random
+ import Data.Random.Distribution.Poisson
+ import Lambdabot.Plugin
++import Lambdabot.Util
+ import Numeric
++import System.Random.Stateful (newIOGenM, newStdGen)
+ 
+ 
+ data NumberwangState = State
+@@ -23,7 +25,9 @@ conDist = poisson (32  :: Double)
+ 
+ numberwangPlugin :: Module NumberwangState
+ numberwangPlugin = newModule
+-    { moduleDefState = sample (State <$> cmdDist <*> conDist)
++    { moduleDefState = do
++        g <- newIOGenM =<< newStdGen
++        sampleFrom g (State <$> cmdDist <*> conDist)
+     , moduleCmds = return
+         [ (command "numberwang")
+             { help = say "@numberwang <number>: Determines if it is Numberwang."
+@@ -61,7 +65,8 @@ checkNumberwang :: (MonadLBState m, LBState m ~ NumberwangState) =>
+ checkNumberwang cmd l = withState cmd $ \ n setN nDist -> do
+     if n <= l
+         then do
+-            setN =<< lb (sample nDist)
++            g <- newIOGenM =<< newStdGen
++            setN =<< sampleFrom g nDist
+             return True
+         else do
+             setN (n - l)
diff --git a/pkgs/development/haskell-modules/patches/misfortune-ghc9.patch b/pkgs/development/haskell-modules/patches/misfortune-ghc9.patch
new file mode 100644
index 0000000000000..39f983b15d78e
--- /dev/null
+++ b/pkgs/development/haskell-modules/patches/misfortune-ghc9.patch
@@ -0,0 +1,70 @@
+diff --git a/misfortune.cabal b/misfortune.cabal
+index f5d0dd3..faa5794 100644
+--- a/misfortune.cabal
++++ b/misfortune.cabal
+@@ -113,7 +113,8 @@ Library
+                         directory,
+                         filepath,
+                         knob,
+-                        random-fu >= 0.2.2,
++                        random,
++                        random-fu >= 0.3,
+                         semigroups,
+                         text,
+                         utf8-string,
+diff --git a/src/Data/Fortune.hs b/src/Data/Fortune.hs
+index 16d221e..ffbc970 100644
+--- a/src/Data/Fortune.hs
++++ b/src/Data/Fortune.hs
+@@ -64,6 +64,7 @@ import Paths_misfortune
+ import System.Directory
+ import System.Environment
+ import System.FilePath
++import System.Random.Stateful (newIOGenM, newStdGen)
+ 
+ -- |The number of fortune strings in the index
+ numFortunes :: S.FortuneStats -> Int
+@@ -233,9 +234,10 @@ randomFortune paths = withFortuneFiles '%' False paths $ \fs -> do
+ -- random fortune from that file (unformly).
+ randomFortuneFromRandomFile :: RVar FortuneFile -> IO String
+ randomFortuneFromRandomFile file = do
+-    f <- sample file
++    gen <- newStdGen >>= newIOGenM
++    f <- sampleFrom gen file
+     n <- getNumFortunes f
+-    i <- sample (uniform 0 (n-1))
++    i <- sampleFrom gen (uniform 0 (n-1))
+     T.unpack <$> getFortune f i
+ 
+ -- |Given a list of 'FortuneFile's, compute a distrubution over them weighted by the number
+diff --git a/src/Fortune.hs b/src/Fortune.hs
+index 5a27578..d6ffb74 100644
+--- a/src/Fortune.hs
++++ b/src/Fortune.hs
+@@ -21,6 +21,7 @@ import System.Environment
+ import System.Exit
+ import System.FilePath
+ import System.IO
++import System.Random.Stateful (newIOGenM, newStdGen)
+ import Text.Printf
+ import Text.Regex.Base
+ import Text.Regex.PCRE
+@@ -200,6 +201,7 @@ main = do
+     fortunes <- filterM (filterFile args) (fortuneFiles args)
+     
+     dist <- getDist args fortunes
++    gen <- newStdGen >>= newIOGenM
+     
+     when (numEvents dist == 0) $ do
+         hPutStrLn stderr "No fortunes matched the filter criteria"
+@@ -225,8 +227,8 @@ main = do
+             , let pctStr = printf "(%.2f%%)" (100 * weight / totalWeight dist) :: String
+             ]
+         else do
+-            (file, fortuneDist) <- sample dist
+-            fortune <- sample fortuneDist
++            (file, fortuneDist) <- sampleFrom gen dist
++            fortune <- sampleFrom gen fortuneDist
+             putStrLn . T.unpack =<< getFortune file fortune
+ 
+ getDist :: Args -> [FortuneFile] -> IO (Categorical Float (FortuneFile, Categorical Float Int))
diff --git a/pkgs/development/haskell-modules/patches/regex-compat-tdfa-ghc-9.0.patch b/pkgs/development/haskell-modules/patches/regex-compat-tdfa-ghc-9.0.patch
new file mode 100644
index 0000000000000..db2ca02b9d493
--- /dev/null
+++ b/pkgs/development/haskell-modules/patches/regex-compat-tdfa-ghc-9.0.patch
@@ -0,0 +1,19 @@
+diff -rN -u old-regex-compat-tdfa/Text/Regex.hs new-regex-compat-tdfa/Text/Regex.hs
+--- old-regex-compat-tdfa/Text/Regex.hs	2022-02-20 13:42:36.828752458 +0100
++++ new-regex-compat-tdfa/Text/Regex.hs	2022-02-20 13:42:36.828752458 +0100
+@@ -139,7 +139,7 @@
+ splitRegex :: Regex -> String -> [String]
+ splitRegex _ [] = []
+ splitRegex delim strIn = 
+-  let matches = map (!0) (matchAll delim strIn)
++  let matches = map (! 0) (matchAll delim strIn)
+       go _i str [] = str : []
+       go i str ((off,len):rest) =
+         let i' = off+len
+@@ -194,4 +194,4 @@
+                     then [firstline,""]
+                     else firstline : loop remainder
+ 
+--}
+\ No newline at end of file
++-}
diff --git a/pkgs/development/haskell-modules/patches/xmonad-nix.patch b/pkgs/development/haskell-modules/patches/xmonad-nix.patch
deleted file mode 100644
index cce011347f476..0000000000000
--- a/pkgs/development/haskell-modules/patches/xmonad-nix.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-diff --git a/src/XMonad/Core.hs b/src/XMonad/Core.hs
-index 7810522..3262934 100644
---- a/src/XMonad/Core.hs
-+++ b/src/XMonad/Core.hs
-@@ -53,6 +53,7 @@ import System.Posix.Types (ProcessID)
- import System.Process
- import System.Directory
- import System.Exit
-+import System.Environment (lookupEnv)
- import Graphics.X11.Xlib
- import Graphics.X11.Xlib.Extras (getWindowAttributes, WindowAttributes, Event)
- import Data.Typeable
-@@ -601,6 +602,7 @@ recompile force = io $ do
-         lib  = cfgdir </> "lib"
-         buildscript = cfgdir </> "build"
- 
-+    ghc <- fromMaybe "ghc" <$> liftIO (lookupEnv "NIX_GHC")
-     libTs <- mapM getModTime . Prelude.filter isSource =<< allFiles lib
-     srcT <- getModTime src
-     binT <- getModTime bin
-@@ -643,7 +645,7 @@ recompile force = io $ do
-         status <- bracket (openFile err WriteMode) hClose $ \errHandle ->
-             waitForProcess =<< if useBuildscript
-                                then compileScript bin cfgdir buildscript errHandle
--                               else compileGHC bin cfgdir errHandle
-+                               else compileGHC ghc bin cfgdir errHandle
- 
-         -- re-enable SIGCHLD:
-         installSignalHandlers
-@@ -653,6 +655,7 @@ recompile force = io $ do
-             then trace "XMonad recompilation process exited with success!"
-             else do
-                 ghcErr <- readFile err
-+                xmessage <- fromMaybe "xmessage" <$> liftIO (lookupEnv "XMONAD_XMESSAGE")
-                 let msg = unlines $
-                         ["Error detected while loading xmonad configuration file: " ++ src]
-                         ++ lines (if null ghcErr then show status else ghcErr)
-@@ -660,7 +663,7 @@ recompile force = io $ do
-                 -- nb, the ordering of printing, then forking, is crucial due to
-                 -- lazy evaluation
-                 hPutStrLn stderr msg
--                forkProcess $ executeFile "xmessage" True ["-default", "okay", replaceUnicode msg] Nothing
-+                forkProcess $ executeFile xmessage True ["-default", "okay", replaceUnicode msg] Nothing
-                 return ()
-         return (status == ExitSuccess)
-       else return True
-@@ -678,16 +681,16 @@ recompile force = io $ do
-            '\8216' -> '`'  -- ‘
-            '\8217' -> '`'  -- ’
-            _ -> c
--       compileGHC bin dir errHandle =
--         runProcess "ghc" ["--make"
--                          , "xmonad.hs"
--                          , "-i"
--                          , "-ilib"
--                          , "-fforce-recomp"
--                          , "-main-is", "main"
--                          , "-v0"
--                          , "-o", bin
--                          ] (Just dir) Nothing Nothing Nothing (Just errHandle)
-+       compileGHC ghc bin dir errHandle =
-+         runProcess ghc ["--make"
-+                        , "xmonad.hs"
-+                        , "-i"
-+                        , "-ilib"
-+                        , "-fforce-recomp"
-+                        , "-main-is", "main"
-+                        , "-v0"
-+                        , "-o", bin
-+                        ] (Just dir) Nothing Nothing Nothing (Just errHandle)
-        compileScript bin dir script errHandle =
-          runProcess script [bin] (Just dir) Nothing Nothing Nothing (Just errHandle)
- 
diff --git a/pkgs/development/idris-modules/default.nix b/pkgs/development/idris-modules/default.nix
index ea8697482dabb..59069d878996e 100644
--- a/pkgs/development/idris-modules/default.nix
+++ b/pkgs/development/idris-modules/default.nix
@@ -205,7 +205,7 @@
 
     yampa = callPackage ./yampa.nix {};
 
-  } // builtins_ // pkgs.lib.optionalAttrs (config.allowAliases or true) {
+  } // builtins_ // pkgs.lib.optionalAttrs config.allowAliases {
     # removed packages
     protobuf = throw "idrisPackages.protobuf has been removed: abandoned by upstream"; # Added 2022-02-06
   };
diff --git a/pkgs/development/interpreters/acl2/default.nix b/pkgs/development/interpreters/acl2/default.nix
index 51b1cfa11414a..422d999cad754 100644
--- a/pkgs/development/interpreters/acl2/default.nix
+++ b/pkgs/development/interpreters/acl2/default.nix
@@ -36,8 +36,8 @@ in stdenv.mkDerivation rec {
   patches = [(substituteAll {
     src = ./0001-Fix-some-paths-for-Nix-build.patch;
     libipasir = "${libipasir}/lib/${libipasir.libname}";
-    libssl = "${openssl.out}/lib/libssl${stdenv.hostPlatform.extensions.sharedLibrary}";
-    libcrypto = "${openssl.out}/lib/libcrypto${stdenv.hostPlatform.extensions.sharedLibrary}";
+    libssl = "${lib.getLib openssl}/lib/libssl${stdenv.hostPlatform.extensions.sharedLibrary}";
+    libcrypto = "${lib.getLib openssl}/lib/libcrypto${stdenv.hostPlatform.extensions.sharedLibrary}";
   })];
 
   buildInputs = [
@@ -47,7 +47,7 @@ in stdenv.mkDerivation rec {
     # To build community books, we need Perl and a couple of utilities:
     which perl hostname makeWrapper
     # Some of the books require one or more of these external tools:
-    openssl.out glucose minisat abc-verifier libipasir
+    glucose minisat abc-verifier libipasir
     z3 (python2.withPackages (ps: [ ps.z3 ]))
   ];
 
diff --git a/pkgs/development/interpreters/clojure/babashka.nix b/pkgs/development/interpreters/clojure/babashka.nix
index c3dcd0a0f71ff..de46d33bdf600 100644
--- a/pkgs/development/interpreters/clojure/babashka.nix
+++ b/pkgs/development/interpreters/clojure/babashka.nix
@@ -2,11 +2,11 @@
 
 buildGraalvmNativeImage rec {
   pname = "babashka";
-  version = "0.7.8";
+  version = "0.8.0";
 
   src = fetchurl {
     url = "https://github.com/babashka/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
-    sha256 = "sha256-VbDivl92YYWzIbkbOgDijzf9bZ5ZyodcapPPG4EiGXc=";
+    sha256 = "sha256-xe+WL2V56ETnWv6ey+3xrvC21MfhT5AMtmOkVPbX5N0=";
   };
 
   executable = "bb";
diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix
index 890440971a848..cd63e506a55f4 100644
--- a/pkgs/development/interpreters/clojure/default.nix
+++ b/pkgs/development/interpreters/clojure/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "clojure";
-  version = "1.10.3.1093";
+  version = "1.11.0.1100";
 
   src = fetchurl {
     # https://clojure.org/releases/tools
     url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz";
-    sha256 = "sha256-H6cMwsgWAjsg1YRtm0X/FA3Gjy1yEidsgkFE32Xgdso=";
+    sha256 = "sha256-9KEsO32118fvKE1Gls+9nAeRdlhTKfmJylsiSYCoKKU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/interpreters/janet/default.nix b/pkgs/development/interpreters/janet/default.nix
index a6ee3dc61fad4..098a7fe7d3a10 100644
--- a/pkgs/development/interpreters/janet/default.nix
+++ b/pkgs/development/interpreters/janet/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "janet";
-  version = "1.20.0";
+  version = "1.21.2";
 
   src = fetchFromGitHub {
     owner = "janet-lang";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mCeOaTbOQej4Uza9fg+xop77z31SQ3sO09dZK8SVAyU=";
+    sha256 = "sha256-6E726+DLs1hCUbr2/rqIdSn8u94LLFdKBBHkbB4rgm0=";
   };
 
   # This release fails the test suite on darwin, remove when debugged.
diff --git a/pkgs/development/interpreters/jimtcl/default.nix b/pkgs/development/interpreters/jimtcl/default.nix
index 78b9e40b64709..158d99e3b2144 100644
--- a/pkgs/development/interpreters/jimtcl/default.nix
+++ b/pkgs/development/interpreters/jimtcl/default.nix
@@ -1,20 +1,30 @@
-{ lib, stdenv, fetchFromGitHub, sqlite, readline, asciidoc, SDL, SDL_gfx }:
+{ lib
+, stdenv
+, fetchFromGitHub
 
-let
-  makeSDLFlags = map (p: "-I${lib.getDev p}/include/SDL");
+, asciidoc
+, pkg-config
+, inetutils
 
-in stdenv.mkDerivation rec {
+, sqlite
+, readline
+, SDL
+, SDL_gfx
+}:
+
+stdenv.mkDerivation rec {
   pname = "jimtcl";
-  version = "0.79";
+  version = "0.81";
 
   src = fetchFromGitHub {
     owner = "msteveb";
     repo = "jimtcl";
     rev = version;
-    sha256 = "1k88hz0v3bi19xdvlp0i9nsx38imzwpjh632w7326zwbv2wldf0h";
+    sha256 = "sha256-OpM9y7fQ+18qxl3/5wUCrNA9qiCdA0vTHqLYSw2lvJs=";
   };
 
   nativeBuildInputs = [
+    pkg-config
     asciidoc
   ];
 
@@ -35,8 +45,6 @@ in stdenv.mkDerivation rec {
     "--ipv6"
   ];
 
-  NIX_CFLAGS_COMPILE = toString (makeSDLFlags [ SDL SDL_gfx ]);
-
   enableParallelBuilding = true;
 
   doCheck = true;
@@ -45,6 +53,9 @@ in stdenv.mkDerivation rec {
     rm tests/exec2.test
   '';
 
+  # test posix-1.6 needs the "hostname" command
+  checkInputs = [ inetutils ];
+
   postInstall = ''
     ln -sr $out/lib/libjim.so.${version} $out/lib/libjim.so
   '';
@@ -54,6 +65,6 @@ in stdenv.mkDerivation rec {
     homepage = "http://jim.tcl.tk/";
     license = lib.licenses.bsd2;
     platforms = lib.platforms.all;
-    maintainers = with lib.maintainers; [ dbohdan vrthra ];
+    maintainers = with lib.maintainers; [ dbohdan fgaz vrthra ];
   };
 }
diff --git a/pkgs/development/interpreters/love/0.10.nix b/pkgs/development/interpreters/love/0.10.nix
index 2719008bbd9eb..5e97e4f003e2f 100644
--- a/pkgs/development/interpreters/love/0.10.nix
+++ b/pkgs/development/interpreters/love/0.10.nix
@@ -15,10 +15,10 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-C/Ifd0KjmaM5Y2fxBiDNz1GQoT4GeH/vyUCiira57U4=";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config autoconf automake ];
   buildInputs = [
     SDL2 libGLU libGL openal luajit libdevil freetype physfs libmodplug mpg123
-    libvorbis libogg libtheora autoconf which libtool automake
+    libvorbis libogg libtheora which libtool
   ];
 
   preConfigure = "$shell ./platform/unix/automagic";
diff --git a/pkgs/development/interpreters/love/11.nix b/pkgs/development/interpreters/love/11.nix
index 83095ac0924ec..bb8f88379fad8 100644
--- a/pkgs/development/interpreters/love/11.nix
+++ b/pkgs/development/interpreters/love/11.nix
@@ -15,10 +15,10 @@ stdenv.mkDerivation rec {
     sha256 = "0kpdp6v8m8j0r7ppyy067shr0lfgrlh0dwb7ccws76d389vizwhb";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config autoconf automake ];
   buildInputs = [
     SDL2 libGLU libGL openal luajit libdevil freetype physfs libmodplug mpg123
-    libvorbis libogg libtheora autoconf which libtool automake
+    libvorbis libogg libtheora which libtool
   ];
 
   preConfigure = "$shell ./platform/unix/automagic";
diff --git a/pkgs/development/interpreters/maude/default.nix b/pkgs/development/interpreters/maude/default.nix
index 860f9ac3a5eb1..30055dc7a3dd6 100644
--- a/pkgs/development/interpreters/maude/default.nix
+++ b/pkgs/development/interpreters/maude/default.nix
@@ -30,6 +30,10 @@ stdenv.mkDerivation {
   hardeningDisable = [ "stackprotector" ] ++
     lib.optionals stdenv.isi686 [ "pic" "fortify" ];
 
+  # Fix for glibc-2.34, see
+  # https://gitweb.gentoo.org/repo/gentoo.git/commit/dev-lang/maude/maude-3.1-r1.ebuild?id=f021cc6cfa1e35eb9c59955830f1fd89bfcb26b4
+  configureFlags = [ "--without-libsigsegv" ];
+
   preConfigure = ''
     configureFlagsArray=(
       --datadir="$out/share/maude"
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix
index 54769a03b7b6f..f29e61d1105ba 100644
--- a/pkgs/development/interpreters/perl/default.nix
+++ b/pkgs/development/interpreters/perl/default.nix
@@ -19,11 +19,10 @@ let
 
   common = { perl, buildPerl, version, sha256 }: stdenv.mkDerivation (rec {
     inherit version;
-
-    name = "perl-${version}";
+    pname = "perl";
 
     src = fetchurl {
-      url = "mirror://cpan/src/5.0/${name}.tar.gz";
+      url = "mirror://cpan/src/5.0/perl-${version}.tar.gz";
       inherit sha256;
     };
 
diff --git a/pkgs/development/interpreters/picoc/default.nix b/pkgs/development/interpreters/picoc/default.nix
index 2c674754935c1..47e18cbdcd8f4 100644
--- a/pkgs/development/interpreters/picoc/default.nix
+++ b/pkgs/development/interpreters/picoc/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ readline ];
 
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
+
   postPatch = ''
     substituteInPlace Makefile --replace '`svnversion -n`' "${version}"
   '';
@@ -46,6 +48,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/zsaleeba/picoc";
     downloadPage = "https://code.google.com/p/picoc/downloads/list";
     license = licenses.bsd3;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/interpreters/pure/default.nix b/pkgs/development/interpreters/pure/default.nix
deleted file mode 100644
index d1c03bba5a315..0000000000000
--- a/pkgs/development/interpreters/pure/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ lib, stdenv, fetchurl, makeWrapper,
-  libllvm, gmp, mpfr, readline, bison, flex }:
-
-stdenv.mkDerivation rec {
-  baseName="pure";
-  version="0.68";
-  name="${baseName}-${version}";
-
-  src = fetchurl {
-    url="https://github.com/agraef/pure-lang/releases/download/${name}/${name}.tar.gz";
-    sha256="0px6x5ivcdbbp2pz5n1r1cwg1syadklhjw8piqhl63n91i4r7iyb";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ bison flex ];
-  propagatedBuildInputs = [ libllvm gmp mpfr readline ];
-  NIX_LDFLAGS = "-lLLVMJIT";
-
-  postPatch = ''
-    for f in expr.cc matcher.cc printer.cc symtable.cc parserdefs.hh; do
-      sed -i '1i\#include <stddef.h>' $f
-    done
-  '';
-
-  configureFlags = [ "--enable-release" ];
-  doCheck = true;
-  checkPhase = ''
-    LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}${libllvm}/lib make check
-  '';
-  postInstall = ''
-    wrapProgram $out/bin/pure --prefix LD_LIBRARY_PATH : ${libllvm}/lib
-  '';
-
-  meta = {
-    description = "A modern-style functional programming language based on term rewriting";
-    maintainers = with lib.maintainers;
-    [
-      raskin
-      asppsa
-    ];
-    platforms = with lib.platforms;
-      linux;
-    license = lib.licenses.gpl3Plus;
-    broken = true;
-  };
-}
diff --git a/pkgs/development/interpreters/python-cosmopolitan/default.nix b/pkgs/development/interpreters/python-cosmopolitan/default.nix
new file mode 100644
index 0000000000000..14459a24aac26
--- /dev/null
+++ b/pkgs/development/interpreters/python-cosmopolitan/default.nix
@@ -0,0 +1,39 @@
+{ lib, stdenv, cosmopolitan, unzip, bintools-unwrapped }:
+
+stdenv.mkDerivation rec {
+  pname = "python-cosmopolitan";
+  version = "3.6.14";
+
+  src = cosmopolitan.dist;
+
+  patches = [
+    ./ioctl.patch        # required /dev/tty
+  ];
+
+  nativeBuildInputs = [ bintools-unwrapped unzip ];
+
+  # slashes are significant because upstream uses o/$(MODE)/foo.o
+  buildFlags = "o//third_party/python";
+  checkTarget = "o//third_party/python/test";
+  enableParallelBuilding = true;
+
+  doCheck = true;
+  dontConfigure = true;
+  dontFixup = true;
+
+  installPhase = ''
+    runHook preInstall
+    install o/third_party/python/*.com -Dt $out/bin
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://justine.lol/cosmopolitan/";
+    description = "Actually Portable Python using Cosmopolitan";
+    platforms = platforms.x86_64;
+    badPlatforms = platforms.darwin;
+    license = licenses.isc;
+    maintainers = teams.cosmopolitan.members;
+    mainProgram = "python.com";
+  };
+}
diff --git a/pkgs/development/interpreters/python-cosmopolitan/ioctl.patch b/pkgs/development/interpreters/python-cosmopolitan/ioctl.patch
new file mode 100644
index 0000000000000..e6e7eb4fc7b0b
--- /dev/null
+++ b/pkgs/development/interpreters/python-cosmopolitan/ioctl.patch
@@ -0,0 +1,12 @@
+diff --git a/third_party/python/python.mk b/third_party/python/python.mk
+index f18c15060..b17455bca 100644
+--- a/third_party/python/python.mk
++++ b/third_party/python/python.mk
+@@ -1818,7 +1818,6 @@ THIRD_PARTY_PYTHON_PYTEST_PYMAINS =						\
+ 	third_party/python/Lib/test/test_int_literal.py				\
+ 	third_party/python/Lib/test/test_bisect.py				\
+ 	third_party/python/Lib/test/test_pyexpat.py				\
+-	third_party/python/Lib/test/test_ioctl.py				\
+ 	third_party/python/Lib/test/test_getopt.py				\
+ 	third_party/python/Lib/test/test_sort.py				\
+ 	third_party/python/Lib/test/test_slice.py				\
diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix
index 579e3a05c58a6..6c566544f3295 100644
--- a/pkgs/development/interpreters/python/default.nix
+++ b/pkgs/development/interpreters/python/default.nix
@@ -75,7 +75,7 @@ with pkgs;
           optionalExtensions = cond: as: if cond then as else [];
           python2Extension = import ../../../top-level/python2-packages.nix;
           extensions = lib.composeManyExtensions ((optionalExtensions (!self.isPy3k) [python2Extension]) ++ [ overrides ]);
-          aliases = self: super: lib.optionalAttrs (config.allowAliases or true) (import ../../../top-level/python-aliases.nix lib self super);
+          aliases = self: super: lib.optionalAttrs config.allowAliases (import ../../../top-level/python-aliases.nix lib self super);
         in lib.makeScopeWithSplicing
           pkgs.splicePackages
           pkgs.newScope
@@ -124,19 +124,19 @@ with pkgs;
       sourceVersion = {
         major = "3";
         minor = "9";
-        patch = "10";
+        patch = "11";
         suffix = "";
       };
-      sha256 = "sha256-Co+/tSh+vDoT6brz1U4I+gZ3j/7M9jEa74Ibs6ZYbMg=";
+      sha256 = "sha256-ZnZ6NTCdck83DfnlA8FytO5ET0nWK5i8TspyUSPibEk=";
     };
     python310 = {
       sourceVersion = {
         major = "3";
         minor = "10";
-        patch = "2";
+        patch = "3";
         suffix = "";
       };
-      sha256 = "sha256-F946x9qfJRmqnWQ3jGA6c6DprVjf+ogS5FFgwIbeZMc=";
+      sha256 = "sha256-WWxy3pmNw5IFvE9w7w2/ft7HQKMG0JtJqb0Kd4BnMNw=";
     };
   };
 
diff --git a/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py b/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
index 5f55ed5ecaf1a..3843497d94e53 100755
--- a/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
+++ b/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
@@ -356,17 +356,19 @@ def _update_package(path, target):
         text = _replace_value('hash', sri_hash, text)
 
     if fetcher == 'fetchFromGitHub':
-        # in the case of fetchFromGitHub, it's common to see `rev = version;`
-        # in which no string value is meant to be substituted.
-        # Verify that the attribute is set to a variable
-        regex = '(rev\s+=\s+([_a-zA-Z][_a-zA-Z0-9\.]*);)'
+        # in the case of fetchFromGitHub, it's common to see `rev = version;` or `rev = "v${version}";`
+        # in which no string value is meant to be substituted. However, we can just overwrite the previous value.
+        regex = '(rev\s+=\s+[^;]*;)'
         regex = re.compile(regex)
-        value = regex.findall(text)
-        n = len(value)
+        matches = regex.findall(text)
+        n = len(matches)
 
         if n == 0:
-            # value is set to a string, e.g. `rev = "v${version}";`
-            text = _replace_value('rev', f"{prefix}${{version}}", text)
+            raise ValueError("Unable to find rev value for {}.".format(pname))
+        else:
+            # forcefully rewrite rev, incase tagging conventions changed for a release
+            match = matches[0]
+            text = text.replace(match, f'rev = "refs/tags/{prefix}${{version}}";')
             # incase there's no prefix, just rewrite without interpolation
             text = text.replace('"${version}";', 'version;')
 
diff --git a/pkgs/development/interpreters/ruby/rubygems/default.nix b/pkgs/development/interpreters/ruby/rubygems/default.nix
index 4150f7683d5dd..6a8e171ee6e16 100644
--- a/pkgs/development/interpreters/ruby/rubygems/default.nix
+++ b/pkgs/development/interpreters/ruby/rubygems/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "rubygems";
+  pname = "rubygems";
   version = "3.2.26";
 
   src = fetchurl {
diff --git a/pkgs/development/interpreters/scsh/default.nix b/pkgs/development/interpreters/scsh/default.nix
index ce44624497dad..45b59124b7821 100644
--- a/pkgs/development/interpreters/scsh/default.nix
+++ b/pkgs/development/interpreters/scsh/default.nix
@@ -1,14 +1,15 @@
-{ lib, stdenv, fetchgit, autoreconfHook, scheme48 }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, scheme48 }:
 
 stdenv.mkDerivation {
   pname = "scsh";
   version = "0.7pre";
 
-  src = fetchgit {
-    url = "git://github.com/scheme/scsh.git";
-    rev = "f99b8c5293628cfeaeb792019072e3a96841104f";
+  src = fetchFromGitHub {
+    owner = "scheme";
+    repo = "scsh";
+    rev = "4acf6e4ed7b65b46186ef0c9c2a1e10bef8dc052";
+    sha256 = "sha256-92NtMK5nVd6+WtHj/Rk6iQEkGsNEZySTVZkkbqKrLYY=";
     fetchSubmodules = true;
-    sha256 = "0ci2h9hhv8pl12sdyl2qwal3dhmd7zgm1pjnmd4kg8r1hnm6vidx";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/interpreters/starlark/default.nix b/pkgs/development/interpreters/starlark/default.nix
new file mode 100644
index 0000000000000..aa77ceba33b40
--- /dev/null
+++ b/pkgs/development/interpreters/starlark/default.nix
@@ -0,0 +1,23 @@
+{ lib, fetchFromGitHub, buildGoModule }:
+buildGoModule rec {
+  pname = "starlark";
+  version = "unstable-2022-03-02";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "starlark-go";
+    rev = "5411bad688d12781515a91cc032645331b4fc302";
+    sha256 = "sha256-JNsGyGlIVMS5w0W4jHVsrPqqNms3Xfpa4n/XcEWqt6I=";
+  };
+
+  vendorSha256 = "sha256-lgL5o3MQfZekZ++BNESwV0LeoTxwEZfziQAe99zm4RY=";
+
+  ldflags = [ "-s" "-w" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/google/starlark-go";
+    description = "An interpreter for Starlark, implemented in Go";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ aaronjheng ];
+  };
+}
diff --git a/pkgs/development/interpreters/wasmtime/default.nix b/pkgs/development/interpreters/wasmtime/default.nix
index 816b854b99eb2..7f00faa76476b 100644
--- a/pkgs/development/interpreters/wasmtime/default.nix
+++ b/pkgs/development/interpreters/wasmtime/default.nix
@@ -1,31 +1,41 @@
-{ rustPlatform, fetchFromGitHub, lib, python3, cmake, llvmPackages, clang, stdenv, darwin }:
+{ rustPlatform, fetchFromGitHub, lib, v8 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "wasmtime";
-  version = "0.21.0";
+  version = "0.35.2";
 
   src = fetchFromGitHub {
     owner = "bytecodealliance";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0q7wsnq5zdskxwzsxwm98jfnv2frnwca1dkhwndcn9yyz2gyw57m";
+    sha256 = "sha256-4oZglk7MInLIsvbeCfs4InAcmSmzZp16XL5+8eoYXJk=";
     fetchSubmodules = true;
   };
 
-  cargoSha256 = "1wlig9gls7s1k1swxwhl82vfga30bady8286livxc4y2zp0vb18w";
+  cargoSha256 = "sha256-IqFOw9bGdM3IEoMeqDlxKfLnZvR80PSnwP9kr1tI/h0=";
 
-  nativeBuildInputs = [ python3 cmake clang ];
-  buildInputs = [ llvmPackages.libclang ] ++
-   lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
-  LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
+  # This environment variable is required so that when wasmtime tries
+  # to run tests by using the rusty_v8 crate, it does not try to
+  # download a static v8 build from the Internet, what would break
+  # build hermetism.
+  RUSTY_V8_ARCHIVE = "${v8}/lib/libv8.a";
 
   doCheck = true;
+  checkFlags = [
+    "--skip=cli_tests::run_cwasm"
+    "--skip=commands::compile::test::test_successful_compile"
+    "--skip=commands::compile::test::test_aarch64_flags_compile"
+    "--skip=commands::compile::test::test_unsupported_flags_compile"
+    "--skip=commands::compile::test::test_x64_flags_compile"
+    "--skip=commands::compile::test::test_x64_presets_compile"
+    "--skip=traps::parse_dwarf_info"
+  ];
 
   meta = with lib; {
     description = "Standalone JIT-style runtime for WebAssembly, using Cranelift";
     homepage = "https://github.com/bytecodealliance/wasmtime";
     license = licenses.asl20;
     maintainers = [ maintainers.matthewbauer ];
-    platforms = platforms.unix;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/java-modules/maven-fod.nix b/pkgs/development/java-modules/maven-fod.nix
new file mode 100644
index 0000000000000..5b65c83c659c0
--- /dev/null
+++ b/pkgs/development/java-modules/maven-fod.nix
@@ -0,0 +1,56 @@
+{ lib
+, stdenv
+, maven
+}:
+
+{ src
+, patches ? []
+, pname
+, version
+, mvnSha256 ? "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
+, mvnHash ? "sha256-${mvnSha256}"
+, mvnFetchExtraArgs ? {}
+, mvnParameters ? ""
+, ...
+} @args:
+
+# originally extracted from dbeaver
+# created to allow using maven packages in the same style as rust
+
+stdenv.mkDerivation (rec {
+  fetchedMavenDeps = stdenv.mkDerivation ({
+    name = "${pname}-${version}-maven-deps";
+    inherit src;
+
+    buildInputs = [
+      maven
+    ];
+
+    buildPhase = ''
+      mvn package -Dmaven.repo.local=$out/.m2 ${mvnParameters}
+    '';
+
+    # keep only *.{pom,jar,sha1,nbm} and delete all ephemeral files with lastModified timestamps inside
+    installPhase = ''
+      find $out -type f \
+        -name \*.lastUpdated -or \
+        -name resolver-status.properties -or \
+        -name _remote.repositories \
+        -delete
+    '';
+
+    # don't do any fixup
+    dontFixup = true;
+    outputHashMode = "recursive";
+    outputHash = mvnHash;
+  } // mvnFetchExtraArgs);
+
+  buildPhase = ''
+    runHook preBuild
+
+    mvnDeps=$(cp -dpR ${fetchedMavenDeps}/.m2 ./ && chmod +w -R .m2 && pwd)
+    mvn package --offline "-Dmaven.repo.local=$mvnDeps/.m2" ${mvnParameters}
+
+    runHook postBuild
+  '';
+} // args)
diff --git a/pkgs/development/libraries/CGAL/4.nix b/pkgs/development/libraries/CGAL/4.nix
index 7380a85248fe2..9c0305ec077db 100644
--- a/pkgs/development/libraries/CGAL/4.nix
+++ b/pkgs/development/libraries/CGAL/4.nix
@@ -18,18 +18,14 @@ stdenv.mkDerivation rec {
     (fetchpatch {
       name = "gcc-12-prereq.patch";
       url = "https://github.com/CGAL/cgal/commit/4581f1b7a8e97d1a136830e64b77cdae3546c4bf.patch";
-      sha256 = "1gzrvbrwxylv80v0m3j2s1znlysmr69lp3ggagnh38lp6423i6pq";
-      # Upstream slightly reordered directory structure since.
-      stripLen = 1;
-      # Fill patch does not apply: touches too many parts of the source.
-      includes = [ "include/CGAL/CORE/BigFloatRep.h" ];
+      relative = "CGAL_Core"; # Upstream slightly reordered directory structure since.
+      sha256 = "sha256-4+7mzGSBwAv5RHBQPAecPPKNN/LQBgvYq5mq+fHAteo=";
     })
     (fetchpatch {
       name = "gcc-12.patch";
       url = "https://github.com/CGAL/cgal/commit/6680a6e6f994b2c5b9f068eb3014d12ee1134d53.patch";
-      sha256 = "1c0h1lh8zng60yx78qc8wx714b517mil8mac87v6xr21q0b11wk7";
-      # Upstream slightly reordered directory structure since.
-      stripLen = 1;
+      relative = "CGAL_Core"; # Upstream slightly reordered directory structure since.
+      sha256 = "sha256-8kxJDT47jXI9kQNFI/ARWl9JBNS4AfU57/D0tYlgW0M=";
     })
   ];
 
diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix
index d1086de3718de..d8d81492f9147 100644
--- a/pkgs/development/libraries/SDL2/default.nix
+++ b/pkgs/development/libraries/SDL2/default.nix
@@ -65,6 +65,14 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
   outputBin = "dev"; # sdl-config
 
+  patches = [
+    # `sdl2-config --cflags` from Nixpkgs returns include path to just SDL2.
+    # On a normal distro this is enough for includes from all SDL2* packages to work,
+    # but on NixOS they're spread across different paths.
+    # This patch + the setup-hook will ensure that `sdl2-config --cflags` works correctly.
+    ./find-headers.patch
+  ];
+
   depsBuildBuild = [ pkg-config ];
 
   nativeBuildInputs = [ pkg-config ] ++ optionals waylandSupport [ wayland ];
diff --git a/pkgs/development/libraries/SDL2/find-headers.patch b/pkgs/development/libraries/SDL2/find-headers.patch
new file mode 100644
index 0000000000000..4792679deb117
--- /dev/null
+++ b/pkgs/development/libraries/SDL2/find-headers.patch
@@ -0,0 +1,34 @@
+diff --git a/sdl2-config.cmake.in b/sdl2-config.cmake.in
+index c570511fa..ca694f595 100644
+--- a/sdl2-config.cmake.in
++++ b/sdl2-config.cmake.in
+@@ -7,7 +7,8 @@ set(includedir "@includedir@")
+ set(SDL2_PREFIX "${prefix}")
+ set(SDL2_EXEC_PREFIX "${exec_prefix}")
+ set(SDL2_LIBDIR "${libdir}")
+-set(SDL2_INCLUDE_DIRS "${includedir}/SDL2")
++set(SDL2_INCLUDE_DIRS "${includedir}/SDL2" $ENV{SDL2_PATH})
++separate_arguments(SDL2_INCLUDE_DIRS)
+ set(SDL2_LIBRARIES "-L${SDL2_LIBDIR} @SDL_RLD_FLAGS@ @SDL_LIBS@")
+ string(STRIP "${SDL2_LIBRARIES}" SDL2_LIBRARIES)
+ 
+diff --git a/sdl2-config.in b/sdl2-config.in
+index 5a2aed292..7c55f0a28 100644
+--- a/sdl2-config.in
++++ b/sdl2-config.in
+@@ -42,7 +42,11 @@ while test $# -gt 0; do
+       echo @SDL_VERSION@
+       ;;
+     --cflags)
+-      echo -I@includedir@/SDL2 @SDL_CFLAGS@
++      SDL_CFLAGS=""
++      for i in @includedir@/SDL2 $SDL2_PATH; do
++        SDL_CFLAGS="$SDL_CFLAGS -I$i"
++      done
++      echo $SDL_CFLAGS @SDL_CFLAGS@
+       ;;
+ @ENABLE_SHARED_TRUE@    --libs)
+ @ENABLE_SHARED_TRUE@      echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@
+-- 
+2.33.1
+
diff --git a/pkgs/development/libraries/SDL2_sound/default.nix b/pkgs/development/libraries/SDL2_sound/default.nix
new file mode 100644
index 0000000000000..3a2d05c31a102
--- /dev/null
+++ b/pkgs/development/libraries/SDL2_sound/default.nix
@@ -0,0 +1,48 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, SDL2
+, flac
+, libmikmod
+, libvorbis
+, timidity
+, AudioToolbox
+, CoreAudio
+}:
+
+stdenv.mkDerivation rec {
+  pname = "SDL2_sound";
+  version = "2.0.1";
+
+  src = fetchFromGitHub {
+    owner = "icculus";
+    repo = "SDL_sound";
+    rev = "v${version}";
+    sha256 = "sha256-N2znqy58tMHgYa07vEsSedWLRhoJzDoINcsUu0UYLnA=";
+  };
+
+  patches = [
+    (fetchpatch {
+      # https://github.com/icculus/SDL_sound/pull/32 - fix build on darwin
+      # can be dropped on the next update
+      url = "https://github.com/icculus/SDL_sound/commit/c15d75b7720113b28639baad284f45f943846294.patch";
+      sha256 = "sha256-4GL8unsZ7eNkzjLXq9QdaxFQMzX2tdP0cBR1jTaRLc0=";
+    })
+  ];
+
+  nativeBuildInputs = [ cmake ];
+
+  cmakeFlags = [ "-DSDLSOUND_DECODER_MIDI=1" ];
+
+  buildInputs = [ SDL2 flac libmikmod libvorbis timidity ]
+    ++ lib.optionals stdenv.isDarwin [ AudioToolbox CoreAudio ];
+
+  meta = with lib; {
+    description = "SDL2 sound library";
+    platforms = platforms.unix;
+    license = licenses.zlib;
+    homepage = "https://www.icculus.org/SDL_sound/";
+  };
+}
diff --git a/pkgs/development/libraries/allegro/5.nix b/pkgs/development/libraries/allegro/5.nix
index 380cc1f7198eb..859d46459cb8a 100644
--- a/pkgs/development/libraries/allegro/5.nix
+++ b/pkgs/development/libraries/allegro/5.nix
@@ -18,9 +18,10 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-JdnzEW+qAhAljR+WfmgE3P9xeR2HvjS64tFgCC0tNA0=";
   };
 
+  nativeBuildInputs = [ cmake ];
   buildInputs = [
     texinfo libXext xorgproto libX11 libXpm libXt libXcursor
-    alsa-lib cmake zlib libpng libvorbis libXxf86dga libXxf86misc
+    alsa-lib zlib libpng libvorbis libXxf86dga libXxf86misc
     libXxf86vm openal libGLU libGL
     libjpeg flac
     libXi libXfixes
diff --git a/pkgs/development/libraries/allegro/default.nix b/pkgs/development/libraries/allegro/default.nix
index 6abf632806a49..d9c862443653a 100644
--- a/pkgs/development/libraries/allegro/default.nix
+++ b/pkgs/development/libraries/allegro/default.nix
@@ -17,9 +17,10 @@ stdenv.mkDerivation rec {
     ./encoding.patch
   ];
 
+  nativeBuildInputs = [ cmake ];
   buildInputs = [
     texinfo6_5 libXext xorgproto libX11 libXpm libXt libXcursor
-    alsa-lib cmake zlib libpng libvorbis libXxf86dga libXxf86misc
+    alsa-lib zlib libpng libvorbis libXxf86dga libXxf86misc
     libXxf86vm openal libGLU libGL
   ];
 
diff --git a/pkgs/development/libraries/apr-util/default.nix b/pkgs/development/libraries/apr-util/default.nix
index 57bf47f3abf17..b9756e0e1a1ad 100644
--- a/pkgs/development/libraries/apr-util/default.nix
+++ b/pkgs/development/libraries/apr-util/default.nix
@@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
       substituteInPlace $f \
         --replace "${expat.dev}/lib" "${expat.out}/lib" \
         --replace "${db.dev}/lib" "${db.out}/lib" \
-        --replace "${openssl.dev}/lib" "${openssl.out}/lib"
+        --replace "${openssl.dev}/lib" "${lib.getLib openssl}/lib"
     done
 
     # Give apr1 access to sed for runtime invocations.
diff --git a/pkgs/development/libraries/aqbanking/gwenhywfar.nix b/pkgs/development/libraries/aqbanking/gwenhywfar.nix
index 527db0e2c1e62..2eb67a022b824 100644
--- a/pkgs/development/libraries/aqbanking/gwenhywfar.nix
+++ b/pkgs/development/libraries/aqbanking/gwenhywfar.nix
@@ -23,7 +23,7 @@ in stdenv.mkDerivation rec {
 
   configureFlags = [
     "--with-openssl-includes=${openssl.dev}/include"
-    "--with-openssl-libs=${openssl.out}/lib"
+    "--with-openssl-libs=${lib.getLib openssl}/lib"
   ];
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/aspell/default.nix b/pkgs/development/libraries/aspell/default.nix
index 777bad1e5a53d..b839092228b30 100644
--- a/pkgs/development/libraries/aspell/default.nix
+++ b/pkgs/development/libraries/aspell/default.nix
@@ -1,4 +1,8 @@
-{ lib, stdenv, fetchurl, fetchpatch, fetchzip, perl
+{ lib, stdenv, fetchurl, fetchpatch, fetchzip, perl, ncurses
+
+  # for tests
+, aspell, glibc, runCommand
+
 , searchNixProfiles ? true
 }:
 
@@ -37,7 +41,7 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ perl ];
-  buildInputs = [ perl ];
+  buildInputs = [ ncurses perl ];
 
   doCheck = true;
 
@@ -55,6 +59,19 @@ stdenv.mkDerivation rec {
     cp ${devaMapsSource}/u-deva.{cmap,cset} $out/lib/aspell/
   '';
 
+  passthru.tests = {
+    uses-curses = runCommand "${pname}-curses" {
+      buildInputs = [ glibc ];
+    } ''
+      if ! ldd ${aspell}/bin/aspell | grep -q ${ncurses}
+      then
+        echo "Test failure: It does not look like aspell picked up the curses dependency."
+        exit 1
+      fi
+      touch $out
+    '';
+  };
+
   meta = {
     description = "Spell checker for many languages";
     homepage = "http://aspell.net/";
diff --git a/pkgs/development/libraries/at-spi2-core/default.nix b/pkgs/development/libraries/at-spi2-core/default.nix
index 66b0c13646b52..675c930d9edda 100644
--- a/pkgs/development/libraries/at-spi2-core/default.nix
+++ b/pkgs/development/libraries/at-spi2-core/default.nix
@@ -1,48 +1,66 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
-
 , meson
 , ninja
 , pkg-config
 , gobject-introspection
 , gsettings-desktop-schemas
 , makeWrapper
-
 , dbus
 , glib
 , dconf
 , libX11
-, libXtst # at-spi2-core can be build without X support, but due it is a client-side library, GUI-less usage is a very rare case
+, libXtst
 , libXi
 , libXext
-
-, gnome # To pass updateScript
+, gnome
 }:
 
 stdenv.mkDerivation rec {
   pname = "at-spi2-core";
-  version = "2.42.0";
+  version = "2.44.0";
+
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "11p3lvmbm0hfck3p5xwxxycln8x0cf7l68jjz6an2g7sjh7a2pab";
+    sha256 = "fu488oWwiQYP1rblGz6yys91LMo6CCx/TCxauEHlE1M=";
   };
 
-  outputs = [ "out" "dev" ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gobject-introspection
+    makeWrapper
+  ];
+
+  buildInputs = [
+    libX11
+    # at-spi2-core can be build without X support, but due it is a client-side library, GUI-less usage is a very rare case
+    libXtst
+    libXi
+    # libXext is a transitive dependency of libXi
+    libXext
+  ];
 
-  nativeBuildInputs = [ meson ninja pkg-config gobject-introspection makeWrapper ];
-  # libXext is a transitive dependency of libXi
-  buildInputs = [ libX11 libXtst libXi libXext ];
   # In atspi-2.pc dbus-1 glib-2.0
-  propagatedBuildInputs = [ dbus glib ];
+  propagatedBuildInputs = [
+    dbus
+    glib
+  ];
 
-  doCheck = false; # fails with "AT-SPI: Couldn't connect to accessibility bus. Is at-spi-bus-launcher running?"
+  # fails with "AT-SPI: Couldn't connect to accessibility bus. Is at-spi-bus-launcher running?"
+  doCheck = false;
 
-  # Provide dbus-daemon fallback when it is not already running when
-  # at-spi2-bus-launcher is executed. This allows us to avoid
-  # including the entire dbus closure in libraries linked with
-  # the at-spi2-core libraries.
-  mesonFlags = [ "-Ddbus_daemon=/run/current-system/sw/bin/dbus-daemon" ];
+  mesonFlags = [
+    # Provide dbus-daemon fallback when it is not already running when
+    # at-spi2-bus-launcher is executed. This allows us to avoid
+    # including the entire dbus closure in libraries linked with
+    # the at-spi2-core libraries.
+    "-Ddbus_daemon=/run/current-system/sw/bin/dbus-daemon"
+  ];
 
   passthru = {
     updateScript = gnome.updateScript {
diff --git a/pkgs/development/libraries/avahi/default.nix b/pkgs/development/libraries/avahi/default.nix
index a52d1be566e68..1732b5df04e2a 100644
--- a/pkgs/development/libraries/avahi/default.nix
+++ b/pkgs/development/libraries/avahi/default.nix
@@ -18,7 +18,7 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "avahi${lib.optionalString withLibdnssdCompat "-compat"}-${version}";
+  pname = "avahi${lib.optionalString withLibdnssdCompat "-compat"}";
   version = "0.8";
 
   src = fetchurl {
@@ -33,6 +33,10 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./no-mkdir-localstatedir.patch
+    (fetchpatch {
+      url = "https://github.com/lathiat/avahi/commit/9d31939e55280a733d930b15ac9e4dda4497680c.patch";
+      sha256 = "sha256-BXWmrLWUvDxKPoIPRFBpMS3T4gijRw0J+rndp6iDybU=";
+    })
   ];
 
   buildInputs = [ libdaemon dbus glib expat libiconv libevent ]
diff --git a/pkgs/development/libraries/avro-c/default.nix b/pkgs/development/libraries/avro-c/default.nix
index 76d5839402cf1..e38a748317fb1 100644
--- a/pkgs/development/libraries/avro-c/default.nix
+++ b/pkgs/development/libraries/avro-c/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, cmake, fetchurl, pkg-config, jansson, zlib }:
+{ lib, stdenv, cmake, fetchurl, pkg-config, jansson, lzma, snappy, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "avro-c";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config cmake ];
 
-  buildInputs = [ jansson zlib ];
+  buildInputs = [ jansson lzma snappy zlib ];
 
   meta = with lib; {
     description = "A C library which implements parts of the Avro Specification";
diff --git a/pkgs/development/libraries/bctoolbox/default.nix b/pkgs/development/libraries/bctoolbox/default.nix
index aaa7c9e048bc5..d189752664628 100644
--- a/pkgs/development/libraries/bctoolbox/default.nix
+++ b/pkgs/development/libraries/bctoolbox/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "bctoolbox";
-  version = "5.1.10";
+  version = "5.1.17";
 
   nativeBuildInputs = [ cmake bcunit ];
   buildInputs = [ mbedtls ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "sha256-BOJ/NUJnoTeDuURH8Lx6S4RlNZPfsQX4blJkpUdraBg=";
+    sha256 = "sha256-p1rpFFMCYG/c35lqQT673j/Uicxe+PLhaktQfM6uF8Y=";
   };
 
   # Do not build static libraries
diff --git a/pkgs/development/libraries/boost/1.69.nix b/pkgs/development/libraries/boost/1.69.nix
index d934e3267fcb2..c8846daa64f33 100644
--- a/pkgs/development/libraries/boost/1.69.nix
+++ b/pkgs/development/libraries/boost/1.69.nix
@@ -8,4 +8,6 @@ callPackage ./generic.nix (args // rec {
     # SHA256 from http://www.boost.org/users/history/version_1_69_0.html
     sha256 = "8f32d4617390d1c2d16f26a27ab60d97807b35440d45891fa340fc2648b04406";
   };
+
+  patches = [ ./pthread-stack-min-fix.patch ];
 })
diff --git a/pkgs/development/libraries/boost/1.70.nix b/pkgs/development/libraries/boost/1.70.nix
index bc70797acda8d..4d50f41e49ce5 100644
--- a/pkgs/development/libraries/boost/1.70.nix
+++ b/pkgs/development/libraries/boost/1.70.nix
@@ -8,4 +8,6 @@ callPackage ./generic.nix (args // rec {
     # SHA256 from http://www.boost.org/users/history/version_1_70_0.html
     sha256 = "430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778";
   };
+
+  patches = [ ./pthread-stack-min-fix.patch ];
 })
diff --git a/pkgs/development/libraries/boost/1.72.nix b/pkgs/development/libraries/boost/1.72.nix
index bb2fccdfaf786..666a3cacb656a 100644
--- a/pkgs/development/libraries/boost/1.72.nix
+++ b/pkgs/development/libraries/boost/1.72.nix
@@ -11,5 +11,7 @@ callPackage ./generic.nix (args // rec {
     # SHA256 from http://www.boost.org/users/history/version_1_72_0.html
     sha256 = "59c9b274bc451cf91a9ba1dd2c7fdcaf5d60b1b3aa83f2c9fa143417cc660722";
   };
+
+  patches = [ ./pthread-stack-min-fix.patch ];
 })
 
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index 8084065ce0644..c0fce3ae57602 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -137,10 +137,8 @@ stdenv.mkDerivation {
   ++ optional (versionAtLeast version "1.73") ./cmake-paths-173.patch
   ++ optional (version == "1.77.0") (fetchpatch {
     url = "https://github.com/boostorg/math/commit/7d482f6ebc356e6ec455ccb5f51a23971bf6ce5b.patch";
+    relative = "include";
     sha256 = "sha256-KlmIbixcds6GyKYt1fx5BxDIrU7msrgDdYo9Va/KJR4=";
-    stripLen = 2;
-    extraPrefix = "";
-    includes = [ "boost/math/special_functions/detail/bernoulli_details.hpp" ];
   });
 
   meta = {
diff --git a/pkgs/development/libraries/boost/pthread-stack-min-fix.patch b/pkgs/development/libraries/boost/pthread-stack-min-fix.patch
new file mode 100644
index 0000000000000..b6c85f8405298
--- /dev/null
+++ b/pkgs/development/libraries/boost/pthread-stack-min-fix.patch
@@ -0,0 +1,15 @@
+Taken from https://github.com/conan-io/conan-center-index/pull/361/files
+
+diff --git a/include/boost/thread/pthread/thread_data.hpp b/include/boost/thread/pthread/thread_data.hpp
+index aefbeb4..bc9b136 100644
+--- a/boost/thread/pthread/thread_data.hpp
++++ b/boost/thread/pthread/thread_data.hpp
+@@ -57,7 +57,7 @@ namespace boost
+ #else
+           std::size_t page_size = ::sysconf( _SC_PAGESIZE);
+ #endif
+-#if PTHREAD_STACK_MIN > 0
++#ifdef PTHREAD_STACK_MIN
+           if (size<PTHREAD_STACK_MIN) size=PTHREAD_STACK_MIN;
+ #endif
+           size = ((size+page_size-1)/page_size)*page_size;
diff --git a/pkgs/development/libraries/botan/default.nix b/pkgs/development/libraries/botan/default.nix
deleted file mode 100644
index d6ee9ff152f43..0000000000000
--- a/pkgs/development/libraries/botan/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ callPackage, ... } @ args:
-
-callPackage ./generic.nix (args // {
-  baseVersion = "1.10";
-  revision = "17";
-  sha256 = "04rnha712dd3sdb2q7k2yw45sf405jyigk7yrjfr6bwd9fvgyiv8";
-  sourceExtension = "tgz";
-  extraConfigureFlags = "--with-gnump";
-  postPatch = ''
-    sed -e 's@lang_flags "@&--std=c++11 @' -i src/build-data/cc/{gcc,clang}.txt
-  '';
-  knownVulnerabilities = [
-    "CVE-2021-40529"
-    # https://botan.randombit.net/security.html#id1
-    "2020-03-24: Side channel during CBC padding"
-  ];
-})
diff --git a/pkgs/development/libraries/bullet/default.nix b/pkgs/development/libraries/bullet/default.nix
index 167dda7c4c4a5..6a33d2ce20436 100644
--- a/pkgs/development/libraries/bullet/default.nix
+++ b/pkgs/development/libraries/bullet/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bullet";
-  version = "3.21";
+  version = "3.22a";
 
   src = fetchFromGitHub {
     owner = "bulletphysics";
     repo = "bullet3";
     rev = version;
-    sha256 = "sha256-krzqZ2TPycyWjJzYJ69rb6Qgymlio5HGw2nPCjDZPGk=";
+    sha256 = "sha256-Ng+kg720y69aE0FgTnD60F05zwUX/LzLlImnrODzOuo=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/catch/default.nix b/pkgs/development/libraries/catch/default.nix
index c89fbd477c960..c4d64a0f47878 100644
--- a/pkgs/development/libraries/catch/default.nix
+++ b/pkgs/development/libraries/catch/default.nix
@@ -20,6 +20,12 @@ stdenv.mkDerivation rec {
       url = "https://github.com/catchorg/Catch2/commit/bb6d08323f23a39eb65dd86671e68f4f5d3f2d6c.patch";
       sha256 = "1vhbzx84nrhhf9zlbl6h5zmg3r5w5v833ihlswsysb9wp2i4isc5";
     })
+
+    # Fix glibc-2.34 build
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/catch1/raw/23276476148a657e7a45ade547f858cbf965a33a/f/catch1-sigstksz.patch";
+      sha256 = "sha256-XSsI3iDEZCUSbozlYWC0y/LZ7qr/5zwACpn1jHKD0yU=";
+    })
   ];
 
   doCheck = true;
diff --git a/pkgs/development/libraries/cglm/default.nix b/pkgs/development/libraries/cglm/default.nix
index dfc9f81edb621..50a9bf62c54bf 100644
--- a/pkgs/development/libraries/cglm/default.nix
+++ b/pkgs/development/libraries/cglm/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cglm";
-  version = "0.8.4";
+  version = "0.8.5";
 
   src = fetchFromGitHub {
     owner = "recp";
     repo = "cglm";
     rev = "v${version}";
-    sha256 = "sha256-AJK1M6iyYdL61pZQhbUWzf+YOUE5FEvUyKqxbQqc7H0=";
+    sha256 = "sha256-PJHDZXc0DD/d+K/4uouv5F8gAf1sE5e3jLkGILPMpnI=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/cosmopolitan/default.nix b/pkgs/development/libraries/cosmopolitan/default.nix
index 629e5465a0444..f58e654cbfe39 100644
--- a/pkgs/development/libraries/cosmopolitan/default.nix
+++ b/pkgs/development/libraries/cosmopolitan/default.nix
@@ -1,80 +1,45 @@
-{ lib, gcc9Stdenv, fetchFromGitHub, runCommand, cosmopolitan }:
+{ lib, stdenv, fetchFromGitHub, unzip, bintools-unwrapped }:
 
-gcc9Stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "cosmopolitan";
-  version = "0.3";
+  version = "unstable-2022-03-22";
 
   src = fetchFromGitHub {
     owner = "jart";
     repo = "cosmopolitan";
-    rev = version;
-    sha256 = "sha256-OVdOObO82W6JN63OWKHaERS7y0uvgxt+WLp6Y0LsmJk=";
+    rev = "5022f9e9207ff2b79ddd6de6d792d3280e12fb3a";
+    sha256 = "sha256-UjL4wR5HhuXiQXg6Orcx2fKiVGRPMJk15P779BP1fRA=";
   };
 
-  postPatch = ''
-    patchShebangs build/
-    rm -r third_party/gcc
-  '';
+  nativeBuildInputs = [ bintools-unwrapped unzip ];
 
-  dontConfigure = true;
-  dontFixup = true;
+  outputs = [ "out" "dist" ];
+
+  # slashes are significant because upstream uses o/$(MODE)/foo.o
+  buildFlags = "o/cosmopolitan.h o//cosmopolitan.a o//libc/crt/crt.o o//ape/ape.o o//ape/ape.lds";
+  checkTarget = "o//test";
   enableParallelBuilding = true;
 
-  preBuild = ''
-    makeFlagsArray=(
-      SHELL=/bin/sh
-      AS=${gcc9Stdenv.cc.targetPrefix}as
-      CC=${gcc9Stdenv.cc.targetPrefix}gcc
-      GCC=${gcc9Stdenv.cc.targetPrefix}gcc
-      CXX=${gcc9Stdenv.cc.targetPrefix}g++
-      LD=${gcc9Stdenv.cc.targetPrefix}ld
-      OBJCOPY=${gcc9Stdenv.cc.targetPrefix}objcopy
-      "MKDIR=mkdir -p"
-      )
-  '';
+  doCheck = true;
+  dontConfigure = true;
+  dontFixup = true;
 
   installPhase = ''
     runHook preInstall
-    mkdir -p $out/{bin,lib/include}
-    install o/cosmopolitan.h $out/lib/include
+    mkdir -p $out/{include,lib}
+    install o/cosmopolitan.h $out/include
     install o/cosmopolitan.a o/libc/crt/crt.o o/ape/ape.{o,lds} $out/lib
-    cat > $out/bin/cosmoc <<EOF
-    #!${gcc9Stdenv.shell}
-    exec ${gcc9Stdenv.cc}/bin/${gcc9Stdenv.cc.targetPrefix}gcc \
-      -O -static -nostdlib -nostdinc -fno-pie -no-pie -mno-red-zone \
-      "\$@" \
-      -Wl,--oformat=binary -Wl,--gc-sections -Wl,-z,max-page-size=0x1000 \
-      -fuse-ld=bfd -Wl,-T,$out/lib/ape.lds \
-      -include $out/lib/{include/cosmopolitan.h,crt.o,ape.o,cosmopolitan.a}
-    EOF
-    chmod +x $out/bin/cosmoc
+
+    cp -RT . "$dist"
     runHook postInstall
   '';
 
-  passthru.tests = lib.optional (gcc9Stdenv.buildPlatform == gcc9Stdenv.hostPlatform) {
-    hello = runCommand "hello-world" { } ''
-      printf 'main() { printf("hello world\\n"); }\n' >hello.c
-      ${gcc9Stdenv.cc}/bin/gcc -g -O -static -nostdlib -nostdinc -fno-pie -no-pie -mno-red-zone -o hello.com.dbg hello.c \
-        -fuse-ld=bfd -Wl,-T,${cosmopolitan}/lib/ape.lds \
-        -include ${cosmopolitan}/lib/{include/cosmopolitan.h,crt.o,ape.o,cosmopolitan.a}
-      ${gcc9Stdenv.cc.bintools.bintools_bin}/bin/objcopy -S -O binary hello.com.dbg hello.com
-      ./hello.com
-      printf "test successful" > $out
-    '';
-    cosmoc = runCommand "cosmoc-hello" { } ''
-      printf 'main() { printf("hello world\\n"); }\n' >hello.c
-      ${cosmopolitan}/bin/cosmoc hello.c
-      ./a.out
-      printf "test successful" > $out
-    '';
-  };
-
   meta = with lib; {
     homepage = "https://justine.lol/cosmopolitan/";
     description = "Your build-once run-anywhere c library";
     platforms = platforms.x86_64;
     badPlatforms = platforms.darwin;
     license = licenses.isc;
-    maintainers = with maintainers; [ lourkeur tomberek ];
+    maintainers = teams.cosmopolitan.members;
   };
 }
diff --git a/pkgs/development/libraries/cpp-hocon/default.nix b/pkgs/development/libraries/cpp-hocon/default.nix
index dfe7f77767038..bba2e03f8d59b 100644
--- a/pkgs/development/libraries/cpp-hocon/default.nix
+++ b/pkgs/development/libraries/cpp-hocon/default.nix
@@ -11,6 +11,10 @@ stdenv.mkDerivation rec {
     owner = "puppetlabs";
   };
 
+  postPatch = ''
+    sed -i -e '/add_subdirectory(tests)/d' lib/CMakeLists.txt
+  '';
+
   NIX_CFLAGS_COMPILE = "-Wno-error";
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/cwiid/default.nix b/pkgs/development/libraries/cwiid/default.nix
index 31a5420e375c8..e640b6cbbbabf 100644
--- a/pkgs/development/libraries/cwiid/default.nix
+++ b/pkgs/development/libraries/cwiid/default.nix
@@ -1,8 +1,8 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, bison, flex, bluez, pkg-config, gtk2 }:
 
 stdenv.mkDerivation rec {
-  name = "cwiid-${version}-git";
-  version = "2010-02-21";
+  pname = "cwiid";
+  version = "unstable-2010-02-21";
 
   src = fetchFromGitHub {
     owner  = "abstrakraft";
diff --git a/pkgs/development/libraries/cxxopts/default.nix b/pkgs/development/libraries/cxxopts/default.nix
index 9d3ea6f32de3d..5d12b3c19ee3c 100644
--- a/pkgs/development/libraries/cxxopts/default.nix
+++ b/pkgs/development/libraries/cxxopts/default.nix
@@ -8,12 +8,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "cxxopts";
+  pname = "cxxopts";
   version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "jarro2783";
-    repo = name;
+    repo = "cxxopts";
     rev = "v${version}";
     sha256 = "08x7j168l1xwj0r3rv89cgghmfhsx98lpq35r3vkh504m1pd55a6";
   };
diff --git a/pkgs/development/libraries/cyrus-sasl/cyrus-sasl-ac-try-run-fix.patch b/pkgs/development/libraries/cyrus-sasl/cyrus-sasl-ac-try-run-fix.patch
index 8662e812e9956..f0376792e0028 100644
--- a/pkgs/development/libraries/cyrus-sasl/cyrus-sasl-ac-try-run-fix.patch
+++ b/pkgs/development/libraries/cyrus-sasl/cyrus-sasl-ac-try-run-fix.patch
@@ -1,12 +1,13 @@
---- a/m4/sasl2.m4	2018-11-18 22:33:29.902625600 +0300
-+++ b/m4/sasl2.m4	2018-11-18 22:33:59.828746176 +0300
-@@ -339,7 +339,8 @@
- ],	
- 	[ AC_DEFINE(HAVE_GSS_SPNEGO,,[Define if your GSSAPI implementation supports SPNEGO])
- 	AC_MSG_RESULT(yes) ],
--	AC_MSG_RESULT(no))
-+	AC_MSG_RESULT(no),
-+    AC_MSG_RESULT(no))
-   LIBS="$cmu_save_LIBS"
+diff --git a/m4/sasl2.m4 b/m4/sasl2.m4
+index 098c853a..91d98def 100644
+--- a/m4/sasl2.m4
++++ b/m4/sasl2.m4
+@@ -350,7 +350,7 @@ int main(void)
  
- else
+     return (!have_spnego);  // 0 = success, 1 = failure
+ }
+-],[ac_cv_gssapi_supports_spnego=yes],[ac_cv_gssapi_supports_spnego=no])
++],[ac_cv_gssapi_supports_spnego=yes],[ac_cv_gssapi_supports_spnego=no],[ac_cv_gssapi_supports_spnego=no])
+     LIBS="$cmu_save_LIBS"
+   ])
+   AS_IF([test "$ac_cv_gssapi_supports_spnego" = yes],[
diff --git a/pkgs/development/libraries/cyrus-sasl/default.nix b/pkgs/development/libraries/cyrus-sasl/default.nix
index 6e97c61a6a5e9..be20a9b1678df 100644
--- a/pkgs/development/libraries/cyrus-sasl/default.nix
+++ b/pkgs/development/libraries/cyrus-sasl/default.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl, openssl, openldap, libkrb5, db, gettext
 , pam, fixDarwinDylibNames, autoreconfHook, enableLdap ? false
-, buildPackages, pruneLibtoolFiles, fetchpatch }:
+, buildPackages, pruneLibtoolFiles, nixosTests }:
 
 with lib;
 stdenv.mkDerivation rec {
   pname = "cyrus-sasl";
-  version = "2.1.27";
+  version = "2.1.28";
 
   src = fetchurl {
     urls =
@@ -13,9 +13,14 @@ stdenv.mkDerivation rec {
         "http://www.cyrusimap.org/releases/${pname}-${version}.tar.gz"
         "http://www.cyrusimap.org/releases/old/${pname}-${version}.tar.gz"
       ];
-    sha256 = "1m85zcpgfdhm43cavpdkhb1s2zq1b31472hq1w1gs3xh94anp1i6";
+    sha256 = "sha256-fM/Gq9Ae1nwaCSSzU+Um8bdmsh9C1FYu5jWo6/xbs4w=";
   };
 
+  patches = [
+    # Fix cross-compilation
+    ./cyrus-sasl-ac-try-run-fix.patch
+  ];
+
   outputs = [ "bin" "dev" "out" "man" "devdoc" ];
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -26,16 +31,6 @@ stdenv.mkDerivation rec {
     ++ lib.optional enableLdap openldap
     ++ lib.optional stdenv.isLinux pam;
 
-  patches = [
-    ./missing-size_t.patch # https://bugzilla.redhat.com/show_bug.cgi?id=906519
-    ./cyrus-sasl-ac-try-run-fix.patch
-    (fetchpatch {
-      name = "CVE-2019-19906.patch";
-      url = "https://sources.debian.org/data/main/c/cyrus-sasl2/2.1.27+dfsg-1+deb10u1/debian/patches/0021-CVE-2019-19906.patch";
-      sha256 = "1n4c5wg7l9j8rlbvx8i605j5d39xmj5wm618k8acxl4fmglcmfls";
-    })
-  ];
-
   configureFlags = [
     "--with-openssl=${openssl.dev}"
     "--with-plugindir=${placeholder "out"}/lib/sasl2"
@@ -46,6 +41,10 @@ stdenv.mkDerivation rec {
 
   installFlags = lib.optional stdenv.isDarwin [ "framedir=$(out)/Library/Frameworks/SASL2.framework" ];
 
+  passthru.tests = {
+    inherit (nixosTests) parsedmarc postfix;
+  };
+
   meta = {
     homepage = "https://www.cyrusimap.org/sasl";
     description = "Library for adding authentication support to connection-based protocols";
diff --git a/pkgs/development/libraries/cyrus-sasl/missing-size_t.patch b/pkgs/development/libraries/cyrus-sasl/missing-size_t.patch
deleted file mode 100644
index da96818ca267f..0000000000000
--- a/pkgs/development/libraries/cyrus-sasl/missing-size_t.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Gentoo bug #458790
---- a/include/sasl.h	2012-10-12 17:05:48.000000000 +0300
-+++ b/include/sasl.h	2013-02-23 16:56:44.648786268 +0200
-@@ -121,6 +121,9 @@
- #ifndef SASL_H
- #define SASL_H 1
- 
-+/* stddef.h to get size_t defined */
-+#include <stddef.h>
-+
- /* Keep in sync with win32/common.mak */
- #define SASL_VERSION_MAJOR 2
- #define SASL_VERSION_MINOR 1
diff --git a/pkgs/development/libraries/dav1d/default.nix b/pkgs/development/libraries/dav1d/default.nix
index b39e092360960..180480985ac78 100644
--- a/pkgs/development/libraries/dav1d/default.nix
+++ b/pkgs/development/libraries/dav1d/default.nix
@@ -10,14 +10,14 @@ assert useVulkan -> withExamples;
 
 stdenv.mkDerivation rec {
   pname = "dav1d";
-  version = "0.9.2";
+  version = "1.0.0";
 
   src = fetchFromGitLab {
     domain = "code.videolan.org";
     owner = "videolan";
     repo = pname;
     rev = version;
-    sha256 = "0bkps488h9s15ylvkm4fmfywgrpbw570glawpnv6khpq9n223dzl";
+    sha256 = "sha256-RVr7NFVxY+6MBD8NV7eMW8TEWuCgcfqpula1o1VZe0o=";
   };
 
   nativeBuildInputs = [ meson ninja nasm pkg-config ];
@@ -31,6 +31,8 @@ stdenv.mkDerivation rec {
     "-Denable_examples=${lib.boolToString withExamples}"
   ];
 
+  doCheck = true;
+
   meta = with lib; {
     description = "A cross-platform AV1 decoder focused on speed and correctness";
     longDescription = ''
diff --git a/pkgs/development/libraries/dotconf/default.nix b/pkgs/development/libraries/dotconf/default.nix
index 39d71eee432b6..fed050f64b6ef 100644
--- a/pkgs/development/libraries/dotconf/default.nix
+++ b/pkgs/development/libraries/dotconf/default.nix
@@ -1,7 +1,7 @@
 { fetchFromGitHub, lib, stdenv, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "dotconf-" + version;
+  pname = "dotconf";
   version = "1.3";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/libraries/draco/default.nix b/pkgs/development/libraries/draco/default.nix
index ecbd125212632..d35e9a229a56e 100644
--- a/pkgs/development/libraries/draco/default.nix
+++ b/pkgs/development/libraries/draco/default.nix
@@ -1,35 +1,52 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, nix-update-script
 , cmake
 , python3
+, gtest
 , withAnimation ? true
 , withTranscoder ? true
+, eigen
+, ghc_filesystem
+, tinygltf
 }:
 
 let
   cmakeBool = b: if b then "ON" else "OFF";
 in
 stdenv.mkDerivation rec {
-  version = "1.5.0";
+  version = "1.5.2";
   pname = "draco";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "draco";
     rev = version;
-    hash = "sha256-BoJg2lZBPVVm6Nc0XK8QSISpe+B8tpgRg9PFncN4+fY=";
+    sha256 = "sha256-o6KQJFrnxx2kz6g3vXk1w435OmaJhAJjzsKM/gmVJ2M=";
     fetchSubmodules = true;
   };
 
+  buildInputs = [ gtest ]
+    ++ lib.optionals withTranscoder [ eigen ghc_filesystem tinygltf ];
+
   nativeBuildInputs = [ cmake python3 ];
 
   cmakeFlags = [
     "-DDRACO_ANIMATION_ENCODING=${cmakeBool withAnimation}"
-    "-DDRACO_TRANSCODER_SUPPORTED=${cmakeBool withTranscoder}"
+    "-DDRACO_GOOGLETEST_PATH=${gtest}"
     "-DBUILD_SHARED_LIBS=${cmakeBool true}"
+    "-DDRACO_TRANSCODER_SUPPORTED=${cmakeBool withTranscoder}"
+  ] ++ lib.optionals withTranscoder [
+    "-DDRACO_EIGEN_PATH=${eigen}/include/eigen3"
+    "-DDRACO_FILESYSTEM_PATH=${ghc_filesystem}"
+    "-DDRACO_TINYGLTF_PATH=${tinygltf}"
   ];
 
+  passthru.updateScript = nix-update-script {
+    attrPath = pname;
+  };
+
   meta = with lib; {
     description = "Library for compressing and decompressing 3D geometric meshes and point clouds";
     homepage = "https://google.github.io/draco/";
diff --git a/pkgs/development/libraries/dssi/default.nix b/pkgs/development/libraries/dssi/default.nix
index ca7ea10afffa9..4f7891910a7d3 100644
--- a/pkgs/development/libraries/dssi/default.nix
+++ b/pkgs/development/libraries/dssi/default.nix
@@ -11,9 +11,10 @@ stdenv.mkDerivation rec {
     sha256 = "0kl1hzhb7cykzkrqcqgq1dk4xcgrcxv0jja251aq4z4l783jpj7j";
   };
 
+  nativeBuildInputs = [ autoconf automake ];
   buildInputs =
     [ ladspaH libjack2 liblo alsa-lib qt4 libX11 libsndfile libSM
-      libsamplerate libtool autoconf automake xorgproto libICE pkg-config
+      libsamplerate libtool xorgproto libICE pkg-config
     ];
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/expat/default.nix b/pkgs/development/libraries/expat/default.nix
index ac54ced75b1b9..a05f3b71fb46e 100644
--- a/pkgs/development/libraries/expat/default.nix
+++ b/pkgs/development/libraries/expat/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "expat";
-  version = "2.4.6";
+  version = "2.4.7";
 
   src = fetchurl {
     url = "https://github.com/libexpat/libexpat/releases/download/R_${lib.replaceStrings ["."] ["_"] version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-3lV5S3qbwhSFL9wHW+quzYVO/hNhWX5iaO6HlGlRKJs=";
+    sha256 = "0zbss0dssn17mjmvk17qfi5cmvm0lcyzs62cwvqr219hhl864xcq";
   };
 
   outputs = [ "out" "dev" ]; # TODO: fix referrers
@@ -45,6 +45,7 @@ stdenv.mkDerivation rec {
 
   passthru.tests = {
     inherit python3;
+    inherit (python3.pkgs) xmltodict;
     inherit (haskellPackages) hexpat;
     inherit (perlPackages) XMLSAXExpat XMLParser;
     inherit (luaPackages) luaexpat;
diff --git a/pkgs/development/libraries/fastjson/default.nix b/pkgs/development/libraries/fastjson/default.nix
index 9c7f4893cbe4a..e4a169ef8ba93 100644
--- a/pkgs/development/libraries/fastjson/default.nix
+++ b/pkgs/development/libraries/fastjson/default.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-2LyBdJR0dV1CElcGfrlmNwX52lVtx9X/Z4h/1XFjOIs=";
   };
 
-  buildInputs = [ autoconf automake libtool ];
+  nativeBuildInputs = [ autoconf automake ];
+  buildInputs = [ libtool ];
 
   preConfigure = ''
     sh autogen.sh
diff --git a/pkgs/development/libraries/ffmpeg-sixel/default.nix b/pkgs/development/libraries/ffmpeg-sixel/default.nix
deleted file mode 100644
index daa03d0293a03..0000000000000
--- a/pkgs/development/libraries/ffmpeg-sixel/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, libsixel, yasm
-}:
-
-stdenv.mkDerivation {
-
-  pname = "ffmpeg-sixel";
-  version = "nightly-2.3.x";
-
-  src = fetchFromGitHub {
-    owner = "saitoha";
-    repo = "FFmpeg-SIXEL";
-    rev = "8566fdb8b7516b54aed58f329dc216e06fc10052";
-    sha256 = "00s2lggfdj2ibpngpyqqg7360p7yb69ys1ppg59yvv0m0mxk5x3k";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [
-    libsixel
-    yasm
-  ];
-
-  configurePhase = ''
-    ./configure --enable-libsixel --prefix=$out
-  '';
-
-  postInstall = ''
-    mv $out/bin/ffmpeg $out/bin/ffmpeg-sixel
-  '';
-
-  meta = with lib; {
-    description = "A complete, cross-platform solution to record, convert and stream audio and video, extended to support console graphics";
-    homepage = "http://www.ffmpeg.org/";
-    license = licenses.lgpl3;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ vrthra ];
-  };
-}
diff --git a/pkgs/development/libraries/ffmpeg/3.4.nix b/pkgs/development/libraries/ffmpeg/3.4.nix
deleted file mode 100644
index 25c0a12f731a0..0000000000000
--- a/pkgs/development/libraries/ffmpeg/3.4.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ callPackage
-# Darwin frameworks
-, Cocoa, CoreMedia
-, ...
-}@args:
-
-callPackage ./generic.nix (rec {
-  version = branch;
-  branch = "3.4.8";
-  sha256 = "1d0r4yja2dkkyhdwx1migq46gsrcbajiv66263a5sq5bfr9dqkch";
-  darwinFrameworks = [ Cocoa CoreMedia ];
-  knownVulnerabilities = [
-    "CVE-2021-30123"
-  ];
-} // args)
diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix
index e3b0534d2af92..4eb614d6e653c 100644
--- a/pkgs/development/libraries/ffmpeg/generic.nix
+++ b/pkgs/development/libraries/ffmpeg/generic.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, buildPackages, fetchurl, pkg-config, addOpenGLRunpath, perl, texinfo, yasm
 , alsa-lib, bzip2, fontconfig, freetype, gnutls, libiconv, lame, libass, libogg
-, libssh, libtheora, libva, libdrm, libvorbis, libvpx, xz, libpulseaudio, soxr
+, libssh, libtheora, libva, libdrm, libvorbis, libvpx, xz, soxr
 , x264, x265, xvidcore, zimg, zlib, libopus, speex, nv-codec-headers, dav1d
 , srt ? null
 , openglSupport ? false, libGLU ? null, libGL ? null
@@ -19,7 +19,10 @@
 , Cocoa, darwinFrameworks ? [ Cocoa ]
 # Inherit generics
 , branch, sha256, version, patches ? [], knownVulnerabilities ? []
-, doCheck ? true, ...
+, doCheck ? true
+, pulseaudioSupport ? stdenv.isLinux
+, libpulseaudio
+, ...
 }:
 
 /* Maintainer notes:
@@ -149,7 +152,7 @@ stdenv.mkDerivation rec {
       (ifMinVer "2.2" (enableFeature openglSupport "opengl"))
       (ifMinVer "4.2" (enableFeature libmfxSupport "libmfx"))
       (ifMinVer "4.2" (enableFeature libaomSupport "libaom"))
-      (disDarwinOrArmFix (ifMinVer "0.9" "--enable-libpulse") "0.9" "--disable-libpulse")
+      (disDarwinOrArmFix (ifMinVer "0.9" (lib.optionalString pulseaudioSupport "--enable-libpulse")) "0.9" "--disable-libpulse")
       (ifMinVer "2.5" (if sdlSupport && reqMin "3.2" then "--enable-sdl2" else if sdlSupport then "--enable-sdl" else null)) # autodetected before 2.5, SDL1 support removed in 3.2 for SDL2
       (ifMinVer "1.2" "--enable-libsoxr")
       "--enable-libx264"
@@ -182,7 +185,7 @@ stdenv.mkDerivation rec {
     ++ optional libmfxSupport intel-media-sdk
     ++ optional libaomSupport libaom
     ++ optional vpxSupport libvpx
-    ++ optionals (!isDarwin && !isAarch32) [ libpulseaudio ] # Need to be fixed on Darwin and ARM
+    ++ optionals (!isDarwin && !isAarch32 && pulseaudioSupport) [ libpulseaudio ] # Need to be fixed on Darwin and ARM
     ++ optional ((isLinux || isFreeBSD) && !isAarch32) libva
     ++ optional ((isLinux || isFreeBSD) && !isAarch32) libdrm
     ++ optional isLinux alsa-lib
diff --git a/pkgs/development/libraries/flatpak/default.nix b/pkgs/development/libraries/flatpak/default.nix
index 88188f8d0ca42..c992a6b0dfa2e 100644
--- a/pkgs/development/libraries/flatpak/default.nix
+++ b/pkgs/development/libraries/flatpak/default.nix
@@ -53,14 +53,14 @@
 
 stdenv.mkDerivation rec {
   pname = "flatpak";
-  version = "1.12.6";
+  version = "1.12.7";
 
   # TODO: split out lib once we figure out what to do with triggerdir
   outputs = [ "out" "dev" "man" "doc" "devdoc" "installedTests" ];
 
   src = fetchurl {
     url = "https://github.com/flatpak/flatpak/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "7wLLUFuRzOUXMJm1SFdo7vGJnrzznt+CfEJUFjqBFic="; # Taken from https://github.com/flatpak/flatpak/releases/
+    sha256 = "sha256-bbUqUxzieCgqx+v7mfZqC7PsyvROhkhEwslcHuW6kxY="; # Taken from https://github.com/flatpak/flatpak/releases/
   };
 
   patches = [
diff --git a/pkgs/development/libraries/fltk/common.nix b/pkgs/development/libraries/fltk/common.nix
index 06e1c05c7d072..54c8b4094f162 100644
--- a/pkgs/development/libraries/fltk/common.nix
+++ b/pkgs/development/libraries/fltk/common.nix
@@ -36,7 +36,6 @@
 , withDocs ? true
 , doxygen
 , graphviz
-, texlive
 
 , withExamples ? true
 , withShared ? true
@@ -44,11 +43,6 @@
 
 let
   onOff = value: if value then "ON" else "OFF";
-  tex = texlive.combine {
-    inherit (texlive)
-      scheme-medium varwidth multirow hanging adjustbox collectbox stackengine
-      sectsty tocloft newunicodechar etoc;
-  };
 in
 stdenv.mkDerivation rec {
   pname = "fltk";
@@ -81,7 +75,6 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals withDocs [
     doxygen
     graphviz
-    tex
   ];
 
   buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
@@ -149,9 +142,9 @@ stdenv.mkDerivation rec {
 
     # Docs
     "-DOPTION_BUILD_HTML_DOCUMENTATION=${onOff withDocs}"
-    "-DOPTION_BUILD_PDF_DOCUMENTATION=${onOff withDocs}"
+    "-DOPTION_BUILD_PDF_DOCUMENTATION=OFF"
     "-DOPTION_INSTALL_HTML_DOCUMENTATION=${onOff withDocs}"
-    "-DOPTION_INSTALL_PDF_DOCUMENTATION=${onOff withDocs}"
+    "-DOPTION_INSTALL_PDF_DOCUMENTATION=OFF"
     "-DOPTION_INCLUDE_DRIVER_DOCUMENTATION=${onOff withDocs}"
   ];
 
diff --git a/pkgs/development/libraries/folks/default.nix b/pkgs/development/libraries/folks/default.nix
index 965016e1c740e..f6161535df5dd 100644
--- a/pkgs/development/libraries/folks/default.nix
+++ b/pkgs/development/libraries/folks/default.nix
@@ -35,13 +35,13 @@
 
 stdenv.mkDerivation rec {
   pname = "folks";
-  version = "0.15.4";
+  version = "0.15.5";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "5xCZr8noj61OdXrhNLw/1j4SuQGtYrDtVTavt5Ekr18=";
+    sha256 = "D/+KiWMwzYKu5FmDJPflQciE0DN1NiEnI7S+s4x1kIY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gcc/libgcc/default.nix b/pkgs/development/libraries/gcc/libgcc/default.nix
index b9b7db729ebaa..094bb7e7a1d3d 100644
--- a/pkgs/development/libraries/gcc/libgcc/default.nix
+++ b/pkgs/development/libraries/gcc/libgcc/default.nix
@@ -4,7 +4,7 @@
 }:
 
 stdenvNoLibs.mkDerivation rec {
-  name = "libgcc-${version}";
+  pname = "libgcc";
   inherit (gcc.cc) src version;
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gcr/default.nix b/pkgs/development/libraries/gcr/default.nix
index 9c97faaa45cbc..6c1c3de08a2ee 100644
--- a/pkgs/development/libraries/gcr/default.nix
+++ b/pkgs/development/libraries/gcr/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchurl
+, fetchpatch
 , pkg-config
 , meson
 , ninja
@@ -15,7 +16,7 @@
 , openssh
 , systemd
 , gobject-introspection
-, makeWrapper
+, wrapGAppsHook
 , libxslt
 , vala
 , gnome
@@ -34,6 +35,16 @@ stdenv.mkDerivation rec {
     sha256 = "CQn8SeqK1IMtJ1ZP8v0dxmZpbioHxzlBxIgp5gVy2gE=";
   };
 
+  patches = [
+    # Pull upstream fix for meson-0.60:
+    #  https://gitlab.gnome.org/GNOME/gcr/-/merge_requests/81
+    (fetchpatch {
+      name = "meson-0.60.patch";
+      url = "https://gitlab.gnome.org/GNOME/gcr/-/commit/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch";
+      sha256 = "15gwxkcm5q5p87p5lrqwgykpzx5gmk179xd3481yak93yhbvy165";
+    })
+  ];
+
   nativeBuildInputs = [
     pkg-config
     meson
@@ -42,7 +53,7 @@ stdenv.mkDerivation rec {
     gettext
     gobject-introspection
     libxslt
-    makeWrapper
+    wrapGAppsHook
     vala
     shared-mime-info
   ];
@@ -85,11 +96,6 @@ stdenv.mkDerivation rec {
     patchShebangs meson_post_install.py
   '';
 
-  preFixup = ''
-    wrapProgram "$out/bin/gcr-viewer" \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
-  '';
-
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix
index bfa1c75b483f0..bec478c66bd93 100644
--- a/pkgs/development/libraries/gdal/default.nix
+++ b/pkgs/development/libraries/gdal/default.nix
@@ -86,6 +86,46 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  doInstallCheck = true;
+  # preCheck rather than preInstallCheck because this is what pytestCheckHook
+  # calls (coming from the python world)
+  preCheck = ''
+    pushd ../autotest
+    # something has made files here read-only by this point
+    chmod -R u+w .
+
+    export HOME=$(mktemp -d)
+    export PYTHONPATH="$out/${pythonPackages.python.sitePackages}:$PYTHONPATH"
+  '';
+  installCheckInputs = with pythonPackages; [
+    pytestCheckHook
+    pytest-env
+    lxml
+  ];
+  disabledTestPaths = [
+    # tests that attempt to make network requests
+    "gcore/vsis3.py"
+    "gdrivers/gdalhttp.py"
+    "gdrivers/wms.py"
+  ];
+  disabledTests = [
+    # tests that attempt to make network requests
+    "test_jp2openjpeg_45"
+    # tests that require the full proj dataset which we don't package yet
+    # https://github.com/OSGeo/gdal/issues/5523
+    "test_transformer_dem_overrride_srs"
+    "test_osr_ct_options_area_of_interest"
+  ] ++ lib.optionals (!stdenv.isx86_64) [
+    # likely precision-related expecting x87 behaviour
+    "test_jp2openjpeg_22"
+  ] ++ lib.optionals stdenv.isDarwin [
+    # flaky on macos
+    "test_rda_download_queue"
+  ];
+  postCheck = ''
+    popd # ../autotest
+  '';
+
   meta = {
     description = "Translator library for raster geospatial data formats";
     homepage = "https://www.gdal.org/";
diff --git a/pkgs/development/libraries/gdata-sharp/default.nix b/pkgs/development/libraries/gdata-sharp/default.nix
deleted file mode 100644
index 21cb79ba81584..0000000000000
--- a/pkgs/development/libraries/gdata-sharp/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ lib, stdenv, fetchsvn, pkg-config, mono, dotnetPackages }:
-
-let
-  newtonsoft-json = dotnetPackages.NewtonsoftJson;
-in stdenv.mkDerivation {
-  pname = "gdata-sharp";
-  version = "2.2.0.0";
-
-  src = fetchsvn {
-    url = "http://google-gdata.googlecode.com/svn/trunk/";
-    rev = "1217";
-    sha256 = "0b0rvgg3xsbbg2fdrpz0ywsy9rcahlyfskndaagd3yzm83gi6bhk";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ mono newtonsoft-json ];
-
-  sourceRoot = "svn-r1217/clients/cs";
-
-  dontStrip = true;
-
-  postPatch = ''
-    sed -i -e 's#^\(DEFINES=.*\)\(.\)#\1 /r:third_party/Newtonsoft.Json.dll\2#' Makefile
-    #             carriage return ^
-  '';
-
-  makeFlags = [ "PREFIX=$(out)" ];
-
-  meta = with lib; {
-    homepage = "https://code.google.com/archive/p/google-gdata/";
-
-    description = "The Google Data APIs";
-    longDescription = ''
-      The Google Data APIs provide a simple protocol for reading and writing
-      data on the web.
-    '';
-
-    license = licenses.asl20;
-    platforms = platforms.linux;
-    broken = true;
-  };
-}
diff --git a/pkgs/development/libraries/gdcm/default.nix b/pkgs/development/libraries/gdcm/default.nix
index 708d3c67db35e..cfc4fc6d1b5fa 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.10";
+  version = "3.0.12";
 
   src = fetchFromGitHub {
     owner = "malaterre";
     repo = "GDCM";
     rev = "v${version}";
-    sha256 = "sha256-KFN13kGE0E8gQBgtErvkW7Fa+3YYqQh0RA2bPS90WUI=";
+    sha256 = "sha256-ChHsbnX+128ZOugL6Nc8EqfaDMaNMNDmKTN55pyyem8=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix
index 3182a4b39988c..1e9c881ae8ce8 100644
--- a/pkgs/development/libraries/gdk-pixbuf/default.nix
+++ b/pkgs/development/libraries/gdk-pixbuf/default.nix
@@ -28,7 +28,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gdk-pixbuf";
-  version = "2.42.6";
+  version = "2.42.8";
 
   outputs = [ "out" "dev" "man" ]
     ++ lib.optional withGtkDoc "devdoc"
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0zz7pmw2z46g7mr1yjxbsdldd5pd03xbjc58inj8rxfqgrdvg9n4";
+    sha256 = "hKzqOsskEbKRNLMgFaWxqqYoRLGcSx74uJccawdZ9MY=";
   };
 
   patches = [
@@ -111,10 +111,6 @@ stdenv.mkDerivation rec {
     '' + lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
       # We need to install 'loaders.cache' in lib/gdk-pixbuf-2.0/2.10.0/
       $dev/bin/gdk-pixbuf-query-loaders --update-cache
-    '' + lib.optionalString withGtkDoc ''
-      # So that devhelp can find this.
-      mkdir -p "$devdoc/share/devhelp"
-      mv "$out/share/doc" "$devdoc/share/devhelp/books"
     '';
 
   # The fixDarwinDylibNames hook doesn't patch binaries.
@@ -124,6 +120,11 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  postFixup = lib.optionalString withGtkDoc ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
+  '';
+
   # The tests take an excessive amount of time (> 1.5 hours) and memory (> 6 GB).
   inherit doCheck;
 
diff --git a/pkgs/development/libraries/ggz_base_libs/default.nix b/pkgs/development/libraries/ggz_base_libs/default.nix
index 025423ecd8a44..687b74fdb3ad9 100644
--- a/pkgs/development/libraries/ggz_base_libs/default.nix
+++ b/pkgs/development/libraries/ggz_base_libs/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, intltool, openssl, expat, libgcrypt }:
 
 stdenv.mkDerivation rec {
+  pname = "ggz-base-libs";
   version = "0.99.5";
-  baseName = "ggz-base-libs";
-  name = "${baseName}-snapshot-${version}";
 
   src = fetchurl {
-    url = "http://mirrors.ibiblio.org/pub/mirrors/ggzgamingzone/ggz/snapshots/${name}.tar.gz";
+    url = "http://mirrors.ibiblio.org/pub/mirrors/ggzgamingzone/ggz/snapshots/ggz-base-libs-snapshot-${version}.tar.gz";
     sha256 = "1cw1vg0fbj36zyggnzidx9cbjwfc1yr4zqmsipxnvns7xa2awbdk";
   };
 
@@ -15,7 +14,7 @@ stdenv.mkDerivation rec {
   patchPhase = ''
     substituteInPlace configure \
       --replace "/usr/local/ssl/include" "${openssl.dev}/include" \
-      --replace "/usr/local/ssl/lib" "${openssl.out}/lib"
+      --replace "/usr/local/ssl/lib" "${lib.getLib openssl}/lib"
   '';
 
   configureFlags = [
diff --git a/pkgs/development/libraries/givaro/3.7.nix b/pkgs/development/libraries/givaro/3.7.nix
index a9b6325c3d71e..7ca154f18e069 100644
--- a/pkgs/development/libraries/givaro/3.7.nix
+++ b/pkgs/development/libraries/givaro/3.7.nix
@@ -6,8 +6,8 @@ stdenv.mkDerivation rec {
     url = "https://forge.imag.fr/frs/download.php/370/givaro-${version}.tar.gz";
     sha256 = "0lf5cnbyr27fw7klc3zabkb1979dn67jmrjz6pa3jzw2ng74x9b3";
   };
-  nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [autoconf automake libtool gmpxx];
+  nativeBuildInputs = [ autoreconfHook autoconf automake ];
+  buildInputs = [libtool gmpxx];
   meta = {
     description = "A C++ library for arithmetic and algebraic computations";
     license = lib.licenses.cecill-b;
diff --git a/pkgs/development/libraries/givaro/3.nix b/pkgs/development/libraries/givaro/3.nix
index 1bfe7682ffa71..f52f23d15c12b 100644
--- a/pkgs/development/libraries/givaro/3.nix
+++ b/pkgs/development/libraries/givaro/3.nix
@@ -6,8 +6,8 @@ stdenv.mkDerivation rec {
     url = "https://forge.imag.fr/frs/download.php/592/givaro-${version}.tar.gz";
     sha256 = "1822ksv8653a84hvcz0vxl3nk8dqz7d41ys8rplq0zjjmvb2i5yq";
   };
-  nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [autoconf automake libtool gmpxx];
+  nativeBuildInputs = [ autoreconfHook autoconf automake ];
+  buildInputs = [libtool gmpxx];
   meta = {
     description = "A C++ library for arithmetic and algebraic computations";
     license = lib.licenses.cecill-b;
diff --git a/pkgs/development/libraries/givaro/default.nix b/pkgs/development/libraries/givaro/default.nix
index 83f7854a73b0b..5f9f49f239d90 100644
--- a/pkgs/development/libraries/givaro/default.nix
+++ b/pkgs/development/libraries/givaro/default.nix
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [autoconf automake libtool];
+  nativeBuildInputs = [ autoreconfHook autoconf automake ];
+  buildInputs = [libtool];
   propagatedBuildInputs = [ gmpxx ];
 
   configureFlags = [
diff --git a/pkgs/development/libraries/gjs/default.nix b/pkgs/development/libraries/gjs/default.nix
index 07c97ea6e0d67..42ba3bd46df8c 100644
--- a/pkgs/development/libraries/gjs/default.nix
+++ b/pkgs/development/libraries/gjs/default.nix
@@ -8,7 +8,7 @@
 , gtk3
 , atk
 , gobject-introspection
-, spidermonkey_78
+, spidermonkey_91
 , pango
 , cairo
 , readline
@@ -30,13 +30,13 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "gjs";
-  version = "1.70.1";
+  version = "1.72.0";
 
   outputs = [ "out" "dev" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gjs/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-u9wO7HzyX7xTR2n2ofssehjhe4ce/bDKWOmr8IsoAD8=";
+    sha256 = "sha256-PvDK9xbjkg3WH3dI9tVuR2zA/Bg1GtBUjn3xoKub3K0=";
   };
 
   patches = [
@@ -60,7 +60,7 @@ in stdenv.mkDerivation rec {
     gobject-introspection
     cairo
     readline
-    spidermonkey_78
+    spidermonkey_91
     dbus # for dbus-run-session
   ];
 
diff --git a/pkgs/development/libraries/glib-networking/default.nix b/pkgs/development/libraries/glib-networking/default.nix
index 1a693e0e04527..fce73f74660e1 100644
--- a/pkgs/development/libraries/glib-networking/default.nix
+++ b/pkgs/development/libraries/glib-networking/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "glib-networking";
-  version = "2.70.1";
+  version = "2.72.0";
 
   outputs = [ "out" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "Kha/wtJxzNMmbj+0YryKQQPALoG7szmqktb7BgWS17w=";
+    sha256 = "EAquuzaShQQd5S2kIra3FnidXk11SaOnG6WHuTLggjs=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/glib-testing/default.nix b/pkgs/development/libraries/glib-testing/default.nix
index bdbced24a10e7..d77a5418a13e1 100644
--- a/pkgs/development/libraries/glib-testing/default.nix
+++ b/pkgs/development/libraries/glib-testing/default.nix
@@ -12,7 +12,7 @@
 
 stdenv.mkDerivation rec {
   pname = "glib-testing";
-  version = "0.1.0";
+  version = "0.1.1";
 
   outputs = [ "out" "dev" "devdoc" "installedTests" ];
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     owner = "pwithnall";
     repo = "libglib-testing";
     rev = version;
-    sha256 = "0xmycsrlqyji6sc2i4wvp2gxf3897z65a57ygihfnpjpyl7zlwkr";
+    sha256 = "U3epLDdLES7MA71z7Q1WXMjzySTFERWBU0u8poObbEo=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index c98058768b2eb..386130cc62245 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -45,16 +45,23 @@ in
 
 stdenv.mkDerivation rec {
   pname = "glib";
-  version = "2.70.3";
+  version = "2.72.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "Iz+khBweGeOW23YH1Y9rdbozE8UL8Pzgey41MtXrfUY=";
+    sha256 = "177w1MTnpi4I77jl8lKgE1cAe5WIqH/ytGOjhXAR950=";
   };
 
   patches = optionals stdenv.isDarwin [
     ./darwin-compilation.patch
-    ./link-with-coreservices.patch
+
+    # Fix Inkscape compilation with clang++
+    # https://gitlab.gnome.org/GNOME/glib/-/issues/2625
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/glib/-/commit/97d39b745ff1f621424f68a41ce0a7c5bb554c87.patch";
+      sha256 = "wftuyf3ExFfrISngCQpEUpIGfHCCLXeYv/PEb/TE6a8=";
+      revert = true;
+    })
   ] ++ optionals stdenv.hostPlatform.isMusl [
     ./quark_init_on_demand.patch
     ./gobject_init_on_demand.patch
@@ -116,7 +123,10 @@ stdenv.mkDerivation rec {
   strictDeps = true;
 
   nativeBuildInputs = [
-    meson ninja pkg-config perl python3 gettext gtk-doc docbook_xsl docbook_xml_dtd_45 libxml2
+    (buildPackages.meson.override {
+      withDarwinFrameworksGtkDocPatch = stdenv.isDarwin;
+    })
+    ninja pkg-config perl python3 gettext gtk-doc docbook_xsl docbook_xml_dtd_45 libxml2
   ];
 
   propagatedBuildInputs = [ zlib libffi gettext libiconv ];
@@ -142,8 +152,8 @@ stdenv.mkDerivation rec {
     chmod +x docs/reference/gio/concat-files-helper.py
     patchShebangs docs/reference/gio/concat-files-helper.py
     patchShebangs glib/gen-unicode-tables.pl
-    patchShebangs tests/gen-casefold-txt.py
-    patchShebangs tests/gen-casemap-txt.py
+    patchShebangs glib/tests/gen-casefold-txt.py
+    patchShebangs glib/tests/gen-casemap-txt.py
   '' + lib.optionalString stdenv.hostPlatform.isWindows ''
     substituteInPlace gio/win32/meson.build \
       --replace "libintl, " ""
diff --git a/pkgs/development/libraries/glib/link-with-coreservices.patch b/pkgs/development/libraries/glib/link-with-coreservices.patch
deleted file mode 100644
index dcc0a8998cc3b..0000000000000
--- a/pkgs/development/libraries/glib/link-with-coreservices.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/meson.build.orig	2020-11-25 13:47:38.499149252 +0900
-+++ b/meson.build	2020-11-25 13:48:47.098444800 +0900
-@@ -742,7 +742,7 @@
- 
-   if glib_have_carbon
-     glib_conf.set('HAVE_CARBON', true)
--    osx_ldflags += '-Wl,-framework,Carbon'
-+    osx_ldflags += ['-Wl,-framework,Carbon', '-Wl,-framework,CoreServices']
-     glib_have_os_x_9_or_later = objcc.compiles('''#include <AvailabilityMacros.h>
-                                                   #if MAC_OS_X_VERSION_MIN_REQUIRED < 1090
-                                                   #error Compiling for minimum OS X version before 10.9
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
new file mode 100644
index 0000000000000..45bad2867e906
--- /dev/null
+++ b/pkgs/development/libraries/glibc/0001-Revert-Remove-all-usage-of-BASH-or-BASH-in-installed.patch
@@ -0,0 +1,131 @@
+From f81744bae4442345ff6f40d80fdb8adaba8b330f Mon Sep 17 00:00:00 2001
+From: Maximilian Bosch <maximilian@mbosch.me>
+Date: Fri, 27 Aug 2021 17:19:27 +0200
+Subject: [PATCH] Revert "Remove all usage of @BASH@ or ${BASH} in installed
+ files, and hardcode /bin/bash instead"
+
+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.
+---
+ debug/Makefile     | 5 +++--
+ debug/xtrace.sh    | 2 +-
+ elf/Makefile       | 4 +++-
+ elf/ldd.bash.in    | 2 +-
+ elf/sotruss.sh     | 2 +-
+ malloc/Makefile    | 5 +++--
+ malloc/memusage.sh | 2 +-
+ timezone/Makefile  | 3 ++-
+ 8 files changed, 15 insertions(+), 10 deletions(-)
+
+diff --git a/debug/Makefile b/debug/Makefile
+index 6893111cbf..3f66666c6c 100644
+--- a/debug/Makefile
++++ b/debug/Makefile
+@@ -216,7 +216,8 @@ $(objpfx)pcprofiledump: $(objpfx)pcprofiledump.o
+ 
+ $(objpfx)xtrace: xtrace.sh
+ 	rm -f $@.new
+-	sed -e 's|@VERSION@|$(version)|' -e 's|@SLIBDIR@|$(sLIBdir)|' \
+-	    -e 's|@BINDIR@|$(bindir)|' -e 's|@PKGVERSION@|$(PKGVERSION)|' \
++	sed -e 's|@BASH@|$(BASH)|' -e 's|@VERSION@|$(version)|' \
++	    -e 's|@SLIBDIR@|$(sLIBdir)|' -e 's|@BINDIR@|$(bindir)|' \
++	    -e 's|@PKGVERSION@|$(PKGVERSION)|' \
+ 	    -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
+--- a/debug/xtrace.sh
++++ b/debug/xtrace.sh
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#! @BASH@
+ # Copyright (C) 1999-2021 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
+--- a/elf/Makefile
++++ b/elf/Makefile
+@@ -144,7 +144,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
+-	sed -e 's%@VERSION@%$(version)%g' \
++	sed -e 's%@BASH@%$(BASH)%g' \
++	    -e 's%@VERSION@%$(version)%g' \
+ 	    -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' \
+ 	      -e 's%@VERSION@%$(version)%g' \
+ 	      -e 's|@PKGVERSION@|$(PKGVERSION)|g' \
+ 	      -e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|g' \
++	      -e 's%@BASH@%$(BASH)%g' \
+ 	      -e 's%@TEXTDOMAINDIR@%$(localedir)%g'
+ 
+ ifeq ($(ldd-rewrite-script),no)
+diff --git a/elf/ldd.bash.in b/elf/ldd.bash.in
+index ba736464ac..57442bc3f2 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.
+ # This file is part of the GNU C Library.
+ 
+diff --git a/elf/sotruss.sh b/elf/sotruss.sh
+index 003cf4d825..fd4da80244 100755
+--- a/elf/sotruss.sh
++++ b/elf/sotruss.sh
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#! @BASH@
+ # Copyright (C) 2011-2021 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
+--- a/malloc/Makefile
++++ b/malloc/Makefile
+@@ -271,8 +271,9 @@ $(objpfx)mtrace: mtrace.pl
+ 
+ $(objpfx)memusage: memusage.sh
+ 	rm -f $@.new
+-	sed -e 's|@VERSION@|$(version)|' -e 's|@SLIBDIR@|$(sLIBdir)|' \
+-	    -e 's|@BINDIR@|$(bindir)|' -e 's|@PKGVERSION@|$(PKGVERSION)|' \
++	sed -e 's|@BASH@|$(BASH)|' -e 's|@VERSION@|$(version)|' \
++	    -e 's|@SLIBDIR@|$(sLIBdir)|' -e 's|@BINDIR@|$(bindir)|' \
++	    -e 's|@PKGVERSION@|$(PKGVERSION)|' \
+ 	    -e 's|@REPORT_BUGS_TO@|$(REPORT_BUGS_TO)|' $^ > $@.new \
+ 	&& rm -f $@ && mv $@.new $@ && chmod +x $@
+ 
+diff --git a/malloc/memusage.sh b/malloc/memusage.sh
+index 0645f09911..c1cd4e23b7 100755
+--- a/malloc/memusage.sh
++++ b/malloc/memusage.sh
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#! @BASH@
+ # Copyright (C) 1999-2021 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
+--- a/timezone/Makefile
++++ b/timezone/Makefile
+@@ -123,7 +123,8 @@ $(testdata)/XT%: testdata/XT%
+ 	cp $< $@
+ 
+ $(objpfx)tzselect: tzselect.ksh $(common-objpfx)config.make
+-	sed -e 's|TZDIR=[^}]*|TZDIR=$(zonedir)|' \
++	sed -e 's|/bin/bash|$(BASH)|' \
++	    -e 's|TZDIR=[^}]*|TZDIR=$(zonedir)|' \
+ 	    -e '/TZVERSION=/s|see_Makefile|"$(version)"|' \
+ 	    -e '/PKGVERSION=/s|=.*|="$(PKGVERSION)"|' \
+ 	    -e '/REPORT_BUGS_TO=/s|=.*|="$(REPORT_BUGS_TO)"|' \
+-- 
+2.31.1
+
diff --git a/pkgs/development/libraries/glibc/2.33-master.patch.gz b/pkgs/development/libraries/glibc/2.33-master.patch.gz
deleted file mode 100644
index 777e94e2b2ea5..0000000000000
--- a/pkgs/development/libraries/glibc/2.33-master.patch.gz
+++ /dev/null
Binary files differdiff --git a/pkgs/development/libraries/glibc/2.34-master.patch.gz b/pkgs/development/libraries/glibc/2.34-master.patch.gz
new file mode 100644
index 0000000000000..8fb02ca6d7217
--- /dev/null
+++ b/pkgs/development/libraries/glibc/2.34-master.patch.gz
Binary files differdiff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix
index ffec9972d2875..47aa304e7d398 100644
--- a/pkgs/development/libraries/glibc/common.nix
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -43,9 +43,9 @@
 } @ args:
 
 let
-  version = "2.33";
-  patchSuffix = "-117";
-  sha256 = "sha256-LiVWAA4QXb1X8Layoy/yzxc73k8Nhd/8z9i35RoGd/8=";
+  version = "2.34";
+  patchSuffix = "-115";
+  sha256 = "sha256-RNJqH+ILiFOkj0cOrQHkJ56GmsFJsZXdpORKGV2YGrI=";
 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.33/master && git describe
-          glibc-2.33-117-g55446dd8a2
-          $ git show --minimal --reverse glibc-2.33.. | gzip -9n --rsyncable - > 2.33-master.patch.gz
+          $ git fetch --all -p && git checkout origin/release/2.34/master && git describe
+          glibc-2.34-115-gd5d1c95aaf
+          $ git show --minimal --reverse glibc-2.34.. | gzip -9n --rsyncable - > 2.34-master.patch.gz
 
          To compare the archive contents zdiff can be used.
-          $ zdiff -u 2.33-master.patch.gz ../nixpkgs/pkgs/development/libraries/glibc/2.33-master.patch.gz
+          $ zdiff -u 2.34-master.patch.gz ../nixpkgs/pkgs/development/libraries/glibc/2.34-master.patch.gz
        */
-      ./2.33-master.patch.gz
+      ./2.34-master.patch.gz
 
       /* Allow NixOS and Nix to handle the locale-archive. */
       ./nix-locale-archive.patch
@@ -125,6 +125,8 @@ stdenv.mkDerivation ({
 
       /* https://github.com/NixOS/nixpkgs/pull/137601 */
       ./nix-nss-open-files.patch
+
+      ./0001-Revert-Remove-all-usage-of-BASH-or-BASH-in-installed.patch
     ]
     ++ lib.optional stdenv.hostPlatform.isMusl ./fix-rpc-types-musl-conflicts.patch
     ++ lib.optional stdenv.buildPlatform.isDarwin ./darwin-cross-build.patch;
@@ -138,6 +140,10 @@ stdenv.mkDerivation ({
       # nscd needs libgcc, and we don't want it dynamically linked
       # because we don't want it to depend on bootstrap-tools libs.
       echo "LDFLAGS-nscd += -static-libgcc" >> nscd/Makefile
+
+      # Ensure that `__nss_files_fopen` can still be wrapped by `libredirect`.
+      sed -i -e '/libc_hidden_def (__nss_files_fopen)/d' nss/nss_files_fopen.c
+      sed -i -e '/libc_hidden_proto (__nss_files_fopen)/d' include/nss_files.h
     ''
     # FIXME: find a solution for infinite recursion in cross builds.
     # For now it's hopefully acceptable that IDN from libc doesn't reliably work.
diff --git a/pkgs/development/libraries/glibc/default.nix b/pkgs/development/libraries/glibc/default.nix
index caaacfe4f4368..65a622f046736 100644
--- a/pkgs/development/libraries/glibc/default.nix
+++ b/pkgs/development/libraries/glibc/default.nix
@@ -119,6 +119,17 @@ callPackage ./common.nix { inherit stdenv; } {
 
       # Get rid of more unnecessary stuff.
       rm -rf $out/var $bin/bin/sln
+
+      # Backwards-compatibility to fix e.g.
+      # "configure: error: Pthreads are required to build libgomp" during `gcc`-build
+      # because it's not actually needed anymore to link against `pthreads` since
+      # it's now part of `libc.so.6` itself, but the gcc build breaks if
+      # this doesn't work.
+      ln -sf $out/lib/libpthread.so.0 $out/lib/libpthread.so
+      ln -sf $out/lib/librt.so.1 $out/lib/librt.so
+      ln -sf $out/lib/libdl.so.2 $out/lib/libdl.so
+      ln -sf $out/lib/libutil.so.1 $out/lib/libutil.so
+      touch $out/lib/libpthread.a
     ''
       # For some reason these aren't stripped otherwise and retain reference
       # to bootstrap-tools; on cross-arm this stripping would break objects.
diff --git a/pkgs/development/libraries/glibc/nix-locale-archive.patch b/pkgs/development/libraries/glibc/nix-locale-archive.patch
index 39312951fcf91..2fedf2a7a7dbd 100644
--- a/pkgs/development/libraries/glibc/nix-locale-archive.patch
+++ b/pkgs/development/libraries/glibc/nix-locale-archive.patch
@@ -1,7 +1,8 @@
-diff -Naur glibc-2.27-orig/locale/loadarchive.c glibc-2.27/locale/loadarchive.c
---- glibc-2.27-orig/locale/loadarchive.c	2018-02-01 11:17:18.000000000 -0500
-+++ glibc-2.27/locale/loadarchive.c	2018-02-17 22:32:25.680169462 -0500
-@@ -123,6 +123,23 @@
+diff --git a/locale/loadarchive.c b/locale/loadarchive.c
+index 512769eaec..171dbb4ad9 100644
+--- a/locale/loadarchive.c
++++ b/locale/loadarchive.c
+@@ -123,6 +123,23 @@ calculate_head_size (const struct locarhead *h)
    return MAX (namehash_end, MAX (string_end, locrectab_end));
  }
  
@@ -25,7 +26,7 @@ diff -Naur glibc-2.27-orig/locale/loadarchive.c glibc-2.27/locale/loadarchive.c
  
  /* Find the locale *NAMEP in the locale archive, and return the
     internalized data structure for its CATEGORY data.  If this locale has
-@@ -202,7 +219,7 @@
+@@ -202,7 +219,7 @@ _nl_load_locale_from_archive (int category, const char **namep)
        archmapped = &headmap;
  
        /* The archive has never been opened.  */
@@ -34,23 +35,25 @@ diff -Naur glibc-2.27-orig/locale/loadarchive.c glibc-2.27/locale/loadarchive.c
        if (fd < 0)
  	/* Cannot open the archive, for whatever reason.  */
  	return NULL;
-@@ -397,8 +414,7 @@
+@@ -397,8 +414,7 @@ _nl_load_locale_from_archive (int category, const char **namep)
  	  if (fd == -1)
  	    {
- 	      struct stat64 st;
+ 	      struct __stat64_t64 st;
 -	      fd = __open_nocancel (archfname,
 -				    O_RDONLY|O_LARGEFILE|O_CLOEXEC);
-+	      fd = open_locale_archive ();
++	      fd = open_locale_archive();
  	      if (fd == -1)
  		/* Cannot open the archive, for whatever reason.  */
  		return NULL;
-diff -Naur glibc-2.27-orig/locale/programs/locale.c glibc-2.27/locale/programs/locale.c
---- glibc-2.27-orig/locale/programs/locale.c	2018-02-01 11:17:18.000000000 -0500
-+++ glibc-2.27/locale/programs/locale.c	2018-02-17 22:36:39.726293213 -0500
-@@ -633,6 +633,24 @@
+diff --git a/locale/programs/locale.c b/locale/programs/locale.c
+index ca0a95be99..e484783402 100644
+--- a/locale/programs/locale.c
++++ b/locale/programs/locale.c
+@@ -633,6 +633,24 @@ nameentcmp (const void *a, const void *b)
+ }
  
  
- static int
++static int
 +open_locale_archive (void)
 +{
 +  int fd = -1;
@@ -68,11 +71,10 @@ diff -Naur glibc-2.27-orig/locale/programs/locale.c glibc-2.27/locale/programs/l
 +}
 +
 +
-+static int
+ static int
  write_archive_locales (void **all_datap, char *linebuf)
  {
-   struct stat64 st;
-@@ -644,7 +662,7 @@
+@@ -645,7 +663,7 @@ write_archive_locales (void **all_datap, char *linebuf)
    int fd, ret = 0;
    uint32_t cnt;
  
@@ -81,10 +83,11 @@ diff -Naur glibc-2.27-orig/locale/programs/locale.c glibc-2.27/locale/programs/l
    if (fd < 0)
      return 0;
  
-diff -Naur glibc-2.27-orig/locale/programs/locarchive.c glibc-2.27/locale/programs/locarchive.c
---- glibc-2.27-orig/locale/programs/locarchive.c	2018-02-01 11:17:18.000000000 -0500
-+++ glibc-2.27/locale/programs/locarchive.c	2018-02-17 22:40:51.245293975 -0500
-@@ -117,6 +117,22 @@
+diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c
+index f38e835c52..779a3199fc 100644
+--- a/locale/programs/locarchive.c
++++ b/locale/programs/locarchive.c
+@@ -117,6 +117,22 @@ prepare_address_space (int fd, size_t total, size_t *reserved, int *xflags,
  }
  
  
@@ -107,7 +110,7 @@ diff -Naur glibc-2.27-orig/locale/programs/locarchive.c glibc-2.27/locale/progra
  static void
  create_archive (const char *archivefname, struct locarhandle *ah)
  {
-@@ -578,7 +594,7 @@
+@@ -578,7 +594,7 @@ open_archive (struct locarhandle *ah, bool readonly)
    while (1)
      {
        /* Open the archive.  We must have exclusive write access.  */
diff --git a/pkgs/development/libraries/globalplatform/default.nix b/pkgs/development/libraries/globalplatform/default.nix
deleted file mode 100644
index a8dfa430f5992..0000000000000
--- a/pkgs/development/libraries/globalplatform/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, zlib, openssl_1_0_2, pcsclite }:
-
-stdenv.mkDerivation rec {
-  pname = "globalplatform";
-  version  = "6.0.0";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/globalplatform/${pname}-${version}.tar.gz";
-    sha256 = "191s9005xbc7i90bzjk4rlw15licd6m0rls9fxli8jyymz2021zy";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ zlib openssl_1_0_2 pcsclite ];
-
-  meta = with lib; {
-    homepage = "https://sourceforge.net/p/globalplatform/wiki/Home/";
-    description = "Library for interacting with smart card devices";
-    license = licenses.gpl3;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/globalplatform/gppcscconnectionplugin.nix b/pkgs/development/libraries/globalplatform/gppcscconnectionplugin.nix
deleted file mode 100644
index a3ea4305bea71..0000000000000
--- a/pkgs/development/libraries/globalplatform/gppcscconnectionplugin.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, globalplatform, openssl_1_0_2, pcsclite }:
-
-stdenv.mkDerivation rec {
-  pname = "gppcscconnectionplugin";
-  version  = "1.1.0";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/globalplatform/${pname}-${version}.tar.gz";
-    sha256 = "0d3vcrh9z55rbal0dchmj661pqqrav9c400bx1c46grcl1q022ad";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ globalplatform openssl_1_0_2 pcsclite ];
-
-  meta = with lib; {
-    homepage = "https://sourceforge.net/p/globalplatform/wiki/Home/";
-    description = "GlobalPlatform pcsc connection plugin";
-    license = [ licenses.lgpl3 licenses.gpl3 ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/development/libraries/gmp/6.x.nix b/pkgs/development/libraries/gmp/6.x.nix
index 9093073cecff4..af4f15a151f0f 100644
--- a/pkgs/development/libraries/gmp/6.x.nix
+++ b/pkgs/development/libraries/gmp/6.x.nix
@@ -12,7 +12,7 @@
 let inherit (lib) optional; in
 
 let self = stdenv.mkDerivation rec {
-  pname = "gmp";
+  pname = "gmp${lib.optionalString cxx "-with-cxx"}";
   version = "6.2.1";
 
   src = fetchurl { # we need to use bz2, others aren't in bootstrapping stdenv
diff --git a/pkgs/development/libraries/gnet/default.nix b/pkgs/development/libraries/gnet/default.nix
index debf3eb592644..5992868c7343a 100644
--- a/pkgs/development/libraries/gnet/default.nix
+++ b/pkgs/development/libraries/gnet/default.nix
@@ -10,8 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "1cy78kglzi235md964ikvm0rg801bx0yk9ya8zavndjnaarzqq87";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ autoconf automake glib libtool ];
+  nativeBuildInputs = [ pkg-config autoconf automake ];
+  buildInputs = [ glib libtool ];
 
   preConfigure = "./autogen.sh";
 
diff --git a/pkgs/desktops/gnome/core/gnome-desktop/bubblewrap-paths.patch b/pkgs/development/libraries/gnome-desktop/bubblewrap-paths.patch
index c31e093f4b7e1..c31e093f4b7e1 100644
--- a/pkgs/desktops/gnome/core/gnome-desktop/bubblewrap-paths.patch
+++ b/pkgs/development/libraries/gnome-desktop/bubblewrap-paths.patch
diff --git a/pkgs/desktops/gnome/core/gnome-desktop/default.nix b/pkgs/development/libraries/gnome-desktop/default.nix
index 302d201f234f3..5d682e23b277c 100644
--- a/pkgs/desktops/gnome/core/gnome-desktop/default.nix
+++ b/pkgs/development/libraries/gnome-desktop/default.nix
@@ -7,6 +7,7 @@
 , ninja
 , gnome
 , gtk3
+, gtk4
 , glib
 , gettext
 , libxml2
@@ -26,13 +27,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-desktop";
-  version = "41.3";
+  version = "42.0";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-desktop/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-jNHKq5MRgowEUkaMalBnqbxEY4NbI6FL5E6P2bAwAcY=";
+    sha256 = "sha256-88qik6Xob2zK0Y+BcnPbHGcGHmgNedg5qop1KOW7JtY=";
   };
 
   patches = [
@@ -63,6 +64,7 @@ stdenv.mkDerivation rec {
     isocodes
     wayland
     gtk3
+    gtk4
     glib
     libseccomp
     systemd
@@ -84,7 +86,6 @@ stdenv.mkDerivation rec {
   passthru = {
     updateScript = gnome.updateScript {
       packageName = "gnome-desktop";
-      attrPath = "gnome.gnome-desktop";
     };
   };
 
diff --git a/pkgs/development/libraries/gnome-online-accounts/default.nix b/pkgs/development/libraries/gnome-online-accounts/default.nix
index 9337a8e93d6de..1fed0b470691f 100644
--- a/pkgs/development/libraries/gnome-online-accounts/default.nix
+++ b/pkgs/development/libraries/gnome-online-accounts/default.nix
@@ -30,7 +30,7 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-online-accounts";
-  version = "3.40.1";
+  version = "3.44.0";
 
   # https://gitlab.gnome.org/GNOME/gnome-online-accounts/issues/87
   src = fetchFromGitLab {
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     owner = "GNOME";
     repo = "gnome-online-accounts";
     rev = version;
-    sha256 = "sha256-q4bLGOOGoGH/Et3hu7/372tjNMouX9ePTanIo0c4Jbw=";
+    sha256 = "sha256-8dp3cizyQVHegDxX9G6iGLW5g44audn431hCPMS/KlA=";
   };
 
   outputs = [ "out" "man" "dev" "devdoc" ];
diff --git a/pkgs/development/libraries/gnutls-kdh/3.5.nix b/pkgs/development/libraries/gnutls-kdh/3.5.nix
deleted file mode 100644
index 015163b32931a..0000000000000
--- a/pkgs/development/libraries/gnutls-kdh/3.5.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ callPackage, fetchFromGitHub, autoreconfHook, ... } @ args:
-
-callPackage ./generic.nix (args // {
-  version = "1.0";
-
-  src = fetchFromGitHub {
-    owner = "arpa2";
-    repo = "gnutls-kdh";
-    rev = "ff3bb36f70a746f28554641d466e124098dfcb25";
-    sha256 = "1rr3p4r145lnprxn8hqyyzh3qkj3idsbqp08g07ndrhqnxq0k0sw";
-  };
-})
diff --git a/pkgs/development/libraries/gnutls-kdh/generic.nix b/pkgs/development/libraries/gnutls-kdh/generic.nix
deleted file mode 100644
index 7b3b4561efb1a..0000000000000
--- a/pkgs/development/libraries/gnutls-kdh/generic.nix
+++ /dev/null
@@ -1,95 +0,0 @@
-{ config, lib, stdenv, zlib, lzo, libtasn1, nettle, pkg-config, lzip
-, perl, gmp, autogen, libidn, p11-kit, unbound, libiconv
-, guileBindings ? config.gnutls.guile or false, guile
-, tpmSupport ? true, trousers, nettools, gperftools, gperf, gettext, automake
-, bison, texinfo
-
-# Version dependent args
-, version, src, patches ? [], postPatch ? "", nativeBuildInputs ? []
-, ...}:
-
-assert guileBindings -> guile != null;
-let
-  # XXX: Gnulib's `test-select' fails on FreeBSD:
-  # https://hydra.nixos.org/build/2962084/nixlog/1/raw .
-  doCheck = !stdenv.isFreeBSD && !stdenv.isDarwin && lib.versionAtLeast version "3.4";
-in
-stdenv.mkDerivation {
-  pname = "gnutls-kdh";
-  inherit version;
-
-  inherit src patches;
-
-  outputs = [ "bin" "dev" "out" ];
-
-  patchPhase = ''
-      # rm -fR ./po
-      # substituteInPlace configure "po/Makefile.in" " "
-      substituteInPlace doc/manpages/Makefile.in  --replace "gnutls_cipher_list.3" " "
-      substituteInPlace doc/manpages/Makefile.in  --replace "gnutls_cipher_self_test.3" " "
-      substituteInPlace doc/manpages/Makefile.in  --replace "gnutls_digest_self_test.3" " "
-      substituteInPlace doc/manpages/Makefile.in  --replace "gnutls_mac_self_test.3" " "
-      substituteInPlace doc/manpages/Makefile.in  --replace "gnutls_pk_self_test.3" " "
-      printf "all: ;\n\ninstall: ;" > "po/Makefile.in"
-      printf "all: ;\n\ninstall: ;" > "po/Makefile.in.in"
-      '';
-
-  postPatch = lib.optionalString (lib.versionAtLeast version "3.4") ''
-    sed '2iecho "name constraints tests skipped due to datefudge problems"\nexit 0' \
-      -i tests/cert-tests/name-constraints
-  '' + postPatch;
-
-  preConfigure = "patchShebangs .";
-  configureFlags =
-    lib.optional stdenv.isLinux "--with-default-trust-store-file=/etc/ssl/certs/ca-certificates.crt"
-  ++ [
-    "--disable-dependency-tracking"
-    "--enable-fast-install"
-  ] ++ lib.optional guileBindings
-    [ "--enable-guile" "--with-guile-site-dir=\${out}/share/guile/site" ];
-
-  # Build of the Guile bindings is not parallel-safe.  See
-  # <https://github.com/arpa2/gnutls-kdh/commit/330995a920037b6030ec0282b51dde3f8b493cad>
-  # for the actual fix.  Also an apparent race in the generation of
-  # systemkey-args.h.
-  enableParallelBuilding = false;
-
-  buildInputs = [ lzo lzip nettle libtasn1 libidn p11-kit zlib gmp
-  autogen gperftools gperf gettext automake bison texinfo ]
-    ++ lib.optional doCheck nettools
-    ++ lib.optional (stdenv.isFreeBSD || stdenv.isDarwin) libiconv
-    ++ lib.optional (tpmSupport && stdenv.isLinux) trousers
-    ++ [ unbound ]
-    ++ lib.optional guileBindings guile;
-
-  nativeBuildInputs = [ perl pkg-config ] ++ nativeBuildInputs;
-
-  #inherit doCheck;
-  doCheck = false;
-
-  # Fixup broken libtool and pkg-config files
-  preFixup = lib.optionalString (!stdenv.isDarwin) ''
-    sed ${lib.optionalString tpmSupport "-e 's,-ltspi,-L${trousers}/lib -ltspi,'"} \
-        -e 's,-lz,-L${zlib.out}/lib -lz,' \
-        -e 's,-L${gmp.dev}/lib,-L${gmp.out}/lib,' \
-        -e 's,-lgmp,-L${gmp.out}/lib -lgmp,' \
-        -i $out/lib/*.la "$dev/lib/pkgconfig/gnutls.pc"
-  '';
-
-  meta = with lib; {
-    description = "GnuTLS with additional TLS-KDH ciphers: Kerberos + Diffie-Hellman";
-
-    longDescription = ''
-       The ARPA2 project aims to add security. This is an enhanced
-       version of GnuTLS,  a project that aims to develop a library which
-       provides a secure layer, over a reliable transport
-       layer. It adds TLS-KDH ciphers: Kerberos + Diffie-Hellman.
-    '';
-
-    homepage = "https://github.com/arpa2/gnutls-kdh";
-    license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ leenaars ];
-    platforms = platforms.all;
-    broken = true;
-  };
-}
diff --git a/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch b/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch
index c02330adf6d1a..b6dc66fc66b1c 100644
--- a/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch
+++ b/pkgs/development/libraries/gobject-introspection/absolute_shlib_path.patch
@@ -1,3 +1,5 @@
+diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
+index 64575557..1eb0a2b4 100644
 --- a/giscanner/scannermain.py
 +++ b/giscanner/scannermain.py
 @@ -95,6 +95,39 @@ def get_windows_option_group(parser):
@@ -41,16 +43,18 @@
      parser = optparse.OptionParser('%prog [options] sources',
                                     version='%prog ' + giscanner.__version__)
 @@ -214,6 +247,10 @@ match the namespace prefix.""")
-     parser.add_option("", "--filelist",
-                       action="store", dest="filelist", default=[],
-                       help="file containing headers and sources to be scanned")
+     parser.add_option("", "--c-include",
+                       action="append", dest="c_includes", default=[],
+                       help="headers which should be included in C programs")
 +    parser.add_option("", "--fallback-library-path",
 +                      action="store", dest="fallback_libpath",
 +                      default=_get_default_fallback_libpath(),
 +                      help="Path to prepend to unknown shared libraries")
- 
-     group = get_preprocessor_option_group(parser)
-     parser.add_option_group(group)
+     parser.add_option("", "--filelist",
+                       action="store", dest="filelist", default=[],
+                       help="file containing headers and sources to be scanned")
+diff --git a/giscanner/shlibs.py b/giscanner/shlibs.py
+index 9f8ab5df..af325022 100644
 --- a/giscanner/shlibs.py
 +++ b/giscanner/shlibs.py
 @@ -57,6 +57,12 @@ def _ldd_library_pattern(library_name):
@@ -115,9 +119,11 @@
                  if m:
                      del patterns[library]
                      shlibs.append(m.group())
+diff --git a/giscanner/utils.py b/giscanner/utils.py
+index 31c7ea48..630002a8 100644
 --- a/giscanner/utils.py
 +++ b/giscanner/utils.py
-@@ -113,16 +113,11 @@ def extract_libtool_shlib(la_file):
+@@ -114,16 +114,11 @@ def extract_libtool_shlib(la_file):
      if dlname is None:
          return None
  
@@ -139,6 +145,8 @@
  
  
  # Returns arguments for invoking libtool, if applicable, otherwise None
+diff --git a/tests/scanner/test_shlibs.py b/tests/scanner/test_shlibs.py
+index a8337c60..72789d76 100644
 --- a/tests/scanner/test_shlibs.py
 +++ b/tests/scanner/test_shlibs.py
 @@ -7,6 +7,30 @@ from giscanner.shlibs import resolve_from_ldd_output, sanitize_shlib_path
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index 667d50ca4d8b8..b457331983aac 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
 , glib
 , flex
@@ -26,7 +27,7 @@
 
 stdenv.mkDerivation rec {
   pname = "gobject-introspection";
-  version = "1.70.0";
+  version = "1.72.0";
 
   # outputs TODO: share/gobject-introspection-1.0/tests is needed during build
   # by pygobject3 (and maybe others), but it's only searched in $out
@@ -35,7 +36,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0jpwraip7pwl9bf9s59am3r7074p34fasvfb5ym1fb8hwc34jawh";
+    sha256 = "Av6OWQhh2I+DBg3TnNpcyqYLLaHSHQ+VSZMBsYa+qrw=";
   };
 
   patches = [
@@ -46,15 +47,6 @@ stdenv.mkDerivation rec {
       src = ./absolute_shlib_path.patch;
       inherit nixStoreDir;
     })
-    # Fix build with meson 0.61.0
-    (fetchurl {
-      url = "https://gitlab.gnome.org/GNOME/gobject-introspection/-/commit/827494d6415b696a98fa195cbd883b50cc893bfc.patch";
-      sha256 = "sha256-imVWzU760FRsX+eXREQDQ6mDcmzZ5ASLT9rBf4oyBGQ=";
-    })
-    (fetchurl {
-      url = "https://gitlab.gnome.org/GNOME/gobject-introspection/-/commit/effb1e09dee263cdac4ec593e8caf316e6f01fe2.patch";
-      sha256 = "sha256-o7a0qDT5IYcYcz8toeZu+nPj3SwS52sNgmxgzsmlp4Q=";
-    })
   ] ++ lib.optionals x11Support [
     # Hardcode the cairo shared library path in the Cairo gir shipped with this package.
     # https://github.com/NixOS/nixpkgs/issues/34080
diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix
index 28c47640ca6a9..37c2a1a44133c 100644
--- a/pkgs/development/libraries/grpc/default.nix
+++ b/pkgs/development/libraries/grpc/default.nix
@@ -20,7 +20,7 @@
 
 stdenv.mkDerivation rec {
   pname = "grpc";
-  version = "1.43.0"; # N.B: if you change this, please update:
+  version = "1.44.0"; # N.B: if you change this, please update:
     # pythonPackages.grpcio-tools
     # pythonPackages.grpcio-status
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     owner = "grpc";
     repo = "grpc";
     rev = "v${version}";
-    sha256 = "sha256-NPyCQsrmD/gBs4UHPGbBACmGRTNQDj6WfnfLNdWulK4=";
+    sha256 = "sha256-pG8RtAJJCLnxm+3hW1YsikyeNr9pjIRANeYhDJfTPbo=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/libraries/gsettings-desktop-schemas/default.nix b/pkgs/development/libraries/gsettings-desktop-schemas/default.nix
index 483ee0b084963..085544a36120e 100644
--- a/pkgs/development/libraries/gsettings-desktop-schemas/default.nix
+++ b/pkgs/development/libraries/gsettings-desktop-schemas/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gsettings-desktop-schemas";
-  version = "41.0";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "dyiZcuWW0ERYPwwFYwbY8dvYrc+RKRClDaCmY+ZTMu0=";
+    sha256 = "ZoYzWp7WI/euInb++lCkENTnHUIxiAgkcUBwyzFzI9I=";
   };
 
   strictDeps = true;
diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix
index bb1451594475c..c736c5cc76171 100644
--- a/pkgs/development/libraries/gtk/3.x.nix
+++ b/pkgs/development/libraries/gtk/3.x.nix
@@ -2,7 +2,6 @@
 , stdenv
 , substituteAll
 , fetchurl
-, fetchpatch
 , pkg-config
 , gettext
 , docbook-xsl-nons
@@ -60,7 +59,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gtk+3";
-  version = "3.24.31";
+  version = "3.24.33";
 
   outputs = [ "out" "dev" ] ++ lib.optional withGtkDoc "devdoc";
   outputBin = "dev";
@@ -72,7 +71,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk+/${lib.versions.majorMinor version}/gtk+-${version}.tar.xz";
-    sha256 = "sha256-Qjw+f9tMRZ7oieNf1Ncf0mI1YlQcEEGxHAflrR/xC/k=";
+    sha256 = "sha256-WIsGUi4l0VeemJtvnYob2/L+E83gGgTpBP80aiJeeAE=";
   };
 
   patches = [
@@ -84,12 +83,6 @@ stdenv.mkDerivation rec {
     # e.g. https://gitlab.gnome.org/GNOME/gtk/blob/3.24.4/gtk/gtk-launch.c#L31-33
     # https://gitlab.gnome.org/GNOME/gtk/merge_requests/536
     ./patches/3.0-darwin-x11.patch
-
-    # 3.24.31 does not declare QuartzCore dependency properly and fails to link
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/gtk/-/commit/0ac61443694b477c41fc246cb387ef86aba441de.patch";
-      sha256 = "sha256-KaMeIdV/gfM4xzN9lIkY99E7bzAfTM6VETk5DEunB2w=";
-    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gtk/4.x.nix b/pkgs/development/libraries/gtk/4.x.nix
index 6da3fc769ea67..eaf6d5bf1b262 100644
--- a/pkgs/development/libraries/gtk/4.x.nix
+++ b/pkgs/development/libraries/gtk/4.x.nix
@@ -62,7 +62,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gtk4";
-  version = "4.6.1";
+  version = "4.6.2";
 
   outputs = [ "out" "dev" ] ++ lib.optionals x11Support [ "devdoc" ];
   outputBin = "dev";
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk/${lib.versions.majorMinor version}/gtk-${version}.tar.xz";
-    sha256 = "2FUI0hy7zWPVaKeGKvXs1juXjX1XmcvkBMkdI4nQ7F8=";
+    sha256 = "/yY69gmlDrdgVmU1ktkpRZrvSBmkRMQ29tUsb2PB+uw=";
   };
 
   nativeBuildInputs = [
@@ -202,13 +202,9 @@ stdenv.mkDerivation rec {
     for f in $dev/bin/gtk4-encode-symbolic-svg; do
       wrapProgram $f --prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
     done
-
-  '' + lib.optionalString x11Support ''
-    # So that DevHelp can find this.
-    # TODO: Remove this with DevHelp 41.
-    mkdir -p "$devdoc/share/devhelp/books"
-    mv "$out/share/doc/"* "$devdoc/share/devhelp/books"
-    rmdir -p --ignore-fail-on-non-empty "$out/share/doc"
+  '' + lib.optionalString broadwaySupport ''
+    # Broadway daemon
+    moveToOutput bin/gtk4-broadwayd "$out"
   '';
 
   # Wrap demos
@@ -219,6 +215,9 @@ stdenv.mkDerivation rec {
       wrapProgram $dev/bin/$program \
         --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:$out/share/gsettings-schemas/${pname}-${version}"
     done
+  '' + lib.optionalString x11Support ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
   '';
 
   passthru = {
diff --git a/pkgs/development/libraries/gtkmathview/default.nix b/pkgs/development/libraries/gtkmathview/default.nix
deleted file mode 100644
index b5399553f9602..0000000000000
--- a/pkgs/development/libraries/gtkmathview/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{lib, stdenv, fetchurl, pkg-config, gtk2, t1lib, glib, libxml2, popt, gmetadom ? null }:
-
-let
-  pname = "gtkmathview";
-  version = "0.8.0";
-in
-
-stdenv.mkDerivation {
-  name = "${pname}-${version}";
-
-  src = fetchurl {
-    url = "http://helm.cs.unibo.it/mml-widget/sources/${pname}-${version}.tar.gz";
-    sha256 = "0hwcamf5fi35frg7q6kgisc9v0prqbhsplb2gl55cg3av9sh3hqx";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ t1lib glib gmetadom libxml2 popt];
-  propagatedBuildInputs = [gtk2 t1lib];
-
-  patches = [ ./gcc-4.3-build-fixes.patch ./gcc-4.4-build-fixes.patch ];
-
-  meta = {
-    homepage = "http://helm.cs.unibo.it/mml-widget/";
-    description = "C++ rendering engine for MathML documents";
-    license = lib.licenses.lgpl3Plus;
-    maintainers = [ lib.maintainers.roconnor ];
-    broken = true;
-  };
-}
diff --git a/pkgs/development/libraries/gtkmathview/gcc-4.3-build-fixes.patch b/pkgs/development/libraries/gtkmathview/gcc-4.3-build-fixes.patch
deleted file mode 100644
index 14ad594b38b8f..0000000000000
--- a/pkgs/development/libraries/gtkmathview/gcc-4.3-build-fixes.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From: Stefano Zacchiroli <zack@upsilon.cc>
-Date: Fri, 11 Dec 2009 12:58:56 +0100
-Subject: [PATCH] gcc 4.3 build fixes
-
----
- mathmlps/main.cc                    |    1 +
- mathmlsvg/SMS.cc                    |    1 +
- mathmlsvg/main.cc                   |    1 +
- src/backend/ps/T1_FontDataBase.cc   |    2 +-
- src/engine/mathml/mathVariantAux.cc |    1 +
- 5 files changed, 5 insertions(+), 1 deletions(-)
-
-diff --git a/mathmlps/main.cc b/mathmlps/main.cc
-index cc6cd1c..48339af 100644
---- a/mathmlps/main.cc
-+++ b/mathmlps/main.cc
-@@ -19,6 +19,7 @@
- #include <config.h>
- 
- #include <cassert>
-+#include <cstring>
- #include <fstream>
- 
- #include <popt.h>
-diff --git a/mathmlsvg/SMS.cc b/mathmlsvg/SMS.cc
-index a76266e..be7add8 100644
---- a/mathmlsvg/SMS.cc
-+++ b/mathmlsvg/SMS.cc
-@@ -18,6 +18,7 @@
- 
- #include <config.h>
- 
-+#include <cstring>
- #include <sstream>
- #include "defs.h"
- #include "AbstractLogger.hh"
-diff --git a/mathmlsvg/main.cc b/mathmlsvg/main.cc
-index 259d67e..c49e8ac 100644
---- a/mathmlsvg/main.cc
-+++ b/mathmlsvg/main.cc
-@@ -19,6 +19,7 @@
- #include <config.h>
- 
- #include <cassert>
-+#include <cstring>
- #include <fstream>
- 
- #include <popt.h>
-diff --git a/src/backend/ps/T1_FontDataBase.cc b/src/backend/ps/T1_FontDataBase.cc
-index b6490eb..3dd436c 100644
---- a/src/backend/ps/T1_FontDataBase.cc
-+++ b/src/backend/ps/T1_FontDataBase.cc
-@@ -19,7 +19,7 @@
- #include <t1lib.h>
- #include <config.h>
- #include <map>
--#include <string>
-+#include <cstring>
- #include <stdlib.h>
- #include <iostream>
- #include <list>
-diff --git a/src/engine/mathml/mathVariantAux.cc b/src/engine/mathml/mathVariantAux.cc
-index 736acc1..dcf1826 100644
---- a/src/engine/mathml/mathVariantAux.cc
-+++ b/src/engine/mathml/mathVariantAux.cc
-@@ -19,6 +19,7 @@
- #include <config.h>
- 
- #include <cassert>
-+#include <cstring>
- 
- #include "mathVariantAux.hh"
- 
--- 
diff --git a/pkgs/development/libraries/gtkmathview/gcc-4.4-build-fixes.patch b/pkgs/development/libraries/gtkmathview/gcc-4.4-build-fixes.patch
deleted file mode 100644
index 0ebd31ef2a785..0000000000000
--- a/pkgs/development/libraries/gtkmathview/gcc-4.4-build-fixes.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From: Stefano Zacchiroli <zack@upsilon.cc>
-Date: Fri, 11 Dec 2009 13:26:26 +0100
-Subject: [PATCH] gcc 4.4 build fixes
-
----
- src/common/AbstractLogger.cc |    1 +
- 1 files changed, 1 insertions(+), 0 deletions(-)
-
-diff --git a/src/common/AbstractLogger.cc b/src/common/AbstractLogger.cc
-index 6f638fb..c5b7e3d 100644
---- a/src/common/AbstractLogger.cc
-+++ b/src/common/AbstractLogger.cc
-@@ -19,6 +19,7 @@
- #include <config.h>
- 
- #include <stdarg.h>
-+#include <stdio.h>
- 
- #include "AbstractLogger.hh"
- 
--- 
diff --git a/pkgs/development/libraries/gtkmm/2.x.nix b/pkgs/development/libraries/gtkmm/2.x.nix
index cf26e22da5bc3..284ee83c2d4f4 100644
--- a/pkgs/development/libraries/gtkmm/2.x.nix
+++ b/pkgs/development/libraries/gtkmm/2.x.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config, gtk2, glibmm, cairomm, pangomm, atkmm }:
 
 stdenv.mkDerivation rec {
-  name = "gtkmm-${minVer}.5";
-  minVer = "2.24";
+  pname = "gtkmm";
+  version = "2.24.5";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gtkmm/${minVer}/${name}.tar.xz";
+    url = "mirror://gnome/sources/gtkmm/${lib.versions.majorMinor version}/gtkmm-${version}.tar.xz";
     sha256 = "0680a53b7bf90b4e4bf444d1d89e6df41c777e0bacc96e9c09fc4dd2f5fe6b72";
   };
 
diff --git a/pkgs/development/libraries/gtkmm/4.x.nix b/pkgs/development/libraries/gtkmm/4.x.nix
index 1960a04e95f43..c91e7b54ff2e7 100644
--- a/pkgs/development/libraries/gtkmm/4.x.nix
+++ b/pkgs/development/libraries/gtkmm/4.x.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gtkmm";
-  version = "4.6.0";
+  version = "4.6.1";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "E1OgkJPLVx71rAXZPSALrxMq1gS19JQHd2VuFQWBTB8=";
+    sha256 = "DV7+yp7GT91TC7gibGMQrJlUmz3ZYE1uNnY5eRrz0eA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gtksourceview/4.x.nix b/pkgs/development/libraries/gtksourceview/4.x.nix
index 0095b6ca9e08c..74acd6f743d61 100644
--- a/pkgs/development/libraries/gtksourceview/4.x.nix
+++ b/pkgs/development/libraries/gtksourceview/4.x.nix
@@ -23,13 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gtksourceview";
-  version = "4.8.2";
+  version = "4.8.3";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1k1pava84ywgq62xl5bz8y3zm7z2kz6kkgp423c0y02jrgjyfbc4";
+    sha256 = "wwAZUGMgyiR02DTM7R4iF+pTPgDrKj9Ot4eQB5QOxoI=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/gtksourceview/5.x.nix b/pkgs/development/libraries/gtksourceview/5.x.nix
index e6ad0f1ae36b9..81c0abd61b6d3 100644
--- a/pkgs/development/libraries/gtksourceview/5.x.nix
+++ b/pkgs/development/libraries/gtksourceview/5.x.nix
@@ -10,6 +10,7 @@
 , pango
 , fribidi
 , vala
+, gi-docgen
 , libxml2
 , perl
 , gettext
@@ -22,13 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gtksourceview";
-  version = "5.2.0";
+  version = "5.4.0";
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "ybNPoCZU9WziL6CIJ9idtLqBYxsubX0x6mXRPHKUMOk=";
+    sha256 = "ADvCF+ZwqOyKo67OmUtw5wt9a4B0k4rdohcYVV2E5jc=";
   };
 
   patches = [
@@ -46,6 +47,7 @@ stdenv.mkDerivation rec {
     perl
     gobject-introspection
     vala
+    gi-docgen
   ];
 
   buildInputs = [
@@ -68,6 +70,10 @@ stdenv.mkDerivation rec {
     dbus
   ];
 
+  mesonFlags = [
+    "-Dgtk_doc=true"
+  ];
+
   doCheck = stdenv.isLinux;
 
   checkPhase = ''
@@ -81,6 +87,11 @@ stdenv.mkDerivation rec {
     runHook postCheck
   '';
 
+  postFixup = ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
+  '';
+
   passthru = {
     updateScript = gnome.updateScript {
       packageName = "gtksourceview";
diff --git a/pkgs/development/libraries/gumbo/default.nix b/pkgs/development/libraries/gumbo/default.nix
index 91053828b586f..0948b5d01fac0 100644
--- a/pkgs/development/libraries/gumbo/default.nix
+++ b/pkgs/development/libraries/gumbo/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "0xslckwdh2i0g2qjsb6rnm8mjmbagvziz0hjlf7d1lbljfms1iw1";
   };
 
-  buildInputs = [ autoconf automake libtool ];
+  nativeBuildInputs = [ autoconf automake ];
+  buildInputs = [ libtool ];
 
   preConfigure = "./autogen.sh";
 
diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix
index c79f849d22f17..e02a0be4d28d5 100644
--- a/pkgs/development/libraries/gvfs/default.nix
+++ b/pkgs/development/libraries/gvfs/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
 , meson
 , ninja
@@ -17,6 +18,7 @@
 , fuse3
 , libcdio
 , libxml2
+, libsoup_3
 , libxslt
 , docbook_xsl
 , docbook_xml_dtd_42
@@ -41,11 +43,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gvfs";
-  version = "1.48.1";
+  version = "1.50.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1hlxl6368h6nyqp1888szxs9hnpcw98k3h23dgqi29xd38klzsmj";
+    sha256 = "y8L1ZNLp8Ax2BnP0LWgDvOPggat/+0RW3v//upM5tN0=";
   };
 
   postPatch = ''
@@ -89,9 +91,8 @@ stdenv.mkDerivation rec {
     libnfs
     openssh
     gsettings-desktop-schemas
-    # TODO: a ligther version of libsoup to have FTP/HTTP support?
+    libsoup_3
   ] ++ lib.optionals gnomeSupport [
-    gnome.libsoup
     gcr
     glib-networking # TLS support
     gnome-online-accounts
@@ -106,7 +107,6 @@ stdenv.mkDerivation rec {
     "-Dgcr=false"
     "-Dgoa=false"
     "-Dkeyring=false"
-    "-Dhttp=false"
     "-Dgoogle=false"
   ] ++ lib.optionals (avahi == null) [
     "-Ddnssd=false"
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index e47b18252e9e6..b7ba05bb79b5a 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -21,6 +21,12 @@
 , gtk-doc
 , docbook-xsl-nons
 , docbook_xml_dtd_43
+# for passthru.tests
+, gimp
+, gtk3
+, gtk4
+, mapnik
+, qt5
 }:
 
 let
@@ -99,6 +105,11 @@ stdenv.mkDerivation {
     ''}
   '';
 
+  passthru.tests = {
+    inherit gimp gtk3 gtk4 mapnik;
+    inherit (qt5) qtbase;
+  };
+
   meta = with lib; {
     description = "An OpenType text shaping engine";
     homepage = "https://harfbuzz.github.io/";
diff --git a/pkgs/development/libraries/hivex/default.nix b/pkgs/development/libraries/hivex/default.nix
index 204af0a92b577..85fa8fc4c6eb0 100644
--- a/pkgs/development/libraries/hivex/default.nix
+++ b/pkgs/development/libraries/hivex/default.nix
@@ -12,9 +12,9 @@ stdenv.mkDerivation rec {
 
   patches = [ ./hivex-syms.patch ];
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ autoreconfHook makeWrapper pkg-config ];
   buildInputs = [
-    autoreconfHook makeWrapper libxml2
+    libxml2
   ]
   ++ (with perlPackages; [ perl IOStringy ])
   ++ lib.optionals stdenv.isDarwin [ libiconv ];
diff --git a/pkgs/development/libraries/hspell/dicts.nix b/pkgs/development/libraries/hspell/dicts.nix
index 83942c2c1dde2..06f80bf5cf223 100644
--- a/pkgs/development/libraries/hspell/dicts.nix
+++ b/pkgs/development/libraries/hspell/dicts.nix
@@ -2,7 +2,7 @@
 
 let
   dict = variant: a: stdenv.mkDerivation ({
-    inherit (hspell) src patchPhase nativeBuildInputs;
+    inherit (hspell) version src patchPhase nativeBuildInputs;
     buildFlags = [ variant ];
 
     meta = hspell.meta // {
@@ -15,7 +15,7 @@ in
   recurseForDerivations = true;
 
   aspell = dict "aspell" {
-    name = "aspell-dict-he-${hspell.version}";
+    pname = "aspell-dict-he";
 
     installPhase = ''
       mkdir -p $out/lib/aspell
@@ -23,7 +23,7 @@ in
   };
 
   myspell = dict "myspell" {
-    name = "myspell-dict-he-${hspell.version}";
+    pname = "myspell-dict-he";
 
     installPhase = ''
       mkdir -p $out/lib/myspell
@@ -31,7 +31,7 @@ in
   };
 
   hunspell = dict "hunspell" {
-    name = "hunspell-dict-he-${hspell.version}";
+    pname = "hunspell-dict-he";
 
     installPhase = ''
       mkdir -p $out/lib
diff --git a/pkgs/development/libraries/http-parser/default.nix b/pkgs/development/libraries/http-parser/default.nix
index 36ca0b0ca0b76..aff5b1ea3c183 100644
--- a/pkgs/development/libraries/http-parser/default.nix
+++ b/pkgs/development/libraries/http-parser/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "http-parser";
@@ -12,7 +12,14 @@ stdenv.mkDerivation rec {
   };
 
   NIX_CFLAGS_COMPILE = "-Wno-error";
-  patches = [ ./build-shared.patch ];
+  patches = [
+    ./build-shared.patch
+    # https://github.com/nodejs/http-parser/pull/510
+    (fetchpatch {
+      url = "https://github.com/nodejs/http-parser/commit/4f15b7d510dc7c6361a26a7c6d2f7c3a17f8d878.patch";
+      sha256 = "sha256-rZZMJeow3V1fTnjadRaRa+xTq3pdhZn/eJ4xjxEDoU4=";
+    })
+  ];
   makeFlags = [ "DESTDIR=" "PREFIX=$(out)" ];
   buildFlags = [ "library" ];
   doCheck = true;
diff --git a/pkgs/development/libraries/igraph/default.nix b/pkgs/development/libraries/igraph/default.nix
index 441646c439558..8402aae98198a 100644
--- a/pkgs/development/libraries/igraph/default.nix
+++ b/pkgs/development/libraries/igraph/default.nix
@@ -12,7 +12,9 @@
 , lapack
 , libxml2
 , libxslt
+, llvmPackages
 , pkg-config
+, plfit
 , python3
 , sourceHighlight
 , suitesparse
@@ -30,10 +32,6 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-SL9PcT18vFvykCv4VRXxXtlcDAcybmwEImnnKXMciFQ=";
   };
 
-  # Normally, igraph wants us to call bootstrap.sh, which will call
-  # tools/getversion.sh. Instead, we're going to put the version directly
-  # where igraph wants, and then let autoreconfHook do the rest of the
-  # bootstrap. ~ C.
   postPatch = ''
     echo "${version}" > IGRAPH_VERSION
   '' + lib.optionalString stdenv.isAarch64 ''
@@ -65,7 +63,10 @@ stdenv.mkDerivation rec {
     gmp
     lapack
     libxml2
+    plfit
     suitesparse
+  ] ++ lib.optionals stdenv.cc.isClang [
+    llvmPackages.openmp
   ];
 
   cmakeFlags = [
@@ -75,8 +76,10 @@ stdenv.mkDerivation rec {
     "-DIGRAPH_USE_INTERNAL_GLPK=OFF"
     "-DIGRAPH_USE_INTERNAL_CXSPARSE=OFF"
     "-DIGRAPH_USE_INTERNAL_GMP=OFF"
+    "-DIGRAPH_USE_INTERNAL_PLFIT=OFF"
     "-DIGRAPH_GLPK_SUPPORT=ON"
     "-DIGRAPH_GRAPHML_SUPPORT=ON"
+    "-DIGRAPH_OPENMP_SUPPORT=ON"
     "-DIGRAPH_ENABLE_LTO=AUTO"
     "-DIGRAPH_ENABLE_TLS=ON"
     "-DBUILD_SHARED_LIBS=ON"
diff --git a/pkgs/development/libraries/ijs/default.nix b/pkgs/development/libraries/ijs/default.nix
index b300731ce440b..ad13daef788d1 100644
--- a/pkgs/development/libraries/ijs/default.nix
+++ b/pkgs/development/libraries/ijs/default.nix
@@ -1,9 +1,8 @@
 { lib, stdenv, autoreconfHook, ghostscript }:
 
 stdenv.mkDerivation {
-  name = "ijs-${ghostscript.version}";
-
-  inherit (ghostscript) src;
+  pname = "ijs";
+  inherit (ghostscript) version src;
 
   postPatch = "cd ijs";
 
diff --git a/pkgs/development/libraries/ilixi/default.nix b/pkgs/development/libraries/ilixi/default.nix
deleted file mode 100644
index 385baaaf10df4..0000000000000
--- a/pkgs/development/libraries/ilixi/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, directfb, libsigcxx, libxml2, fontconfig }:
-
-# TODO: optional deps: baresip, FusionDale, FusionSound, SaWMan, doxygen,
-# Reflex, Wnn, NLS
-
-stdenv.mkDerivation rec {
-  pname = "ilixi";
-  version = "1.0.0";
-
-  src = fetchFromGitHub {
-    owner = "ilixi";
-    repo = "ilixi";
-    rev = version;
-    sha256 = "05h862r9mhis26v8yf967n86qf8y1gdgfzhbqfsr6pjw1k3v3wdr";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ directfb libsigcxx libxml2 fontconfig ];
-
-  configureFlags = [
-    "--enable-log-debug"
-    "--enable-debug"
-    "--enable-trace"
-    "--with-examples"
-  ];
-
-  meta = with lib; {
-    description = "Lightweight C++ GUI toolkit for embedded Linux systems";
-    homepage = "https://github.com/ilixi/ilixi";
-    license = licenses.lgpl3;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.bjornfor ];
-    broken = true; # broken by the directfb 1.6.3 -> 1.7.6 update
-  };
-}
diff --git a/pkgs/development/libraries/intel-gmmlib/default.nix b/pkgs/development/libraries/intel-gmmlib/default.nix
index 79ff2c4ee5f1b..5875c8070e76f 100644
--- a/pkgs/development/libraries/intel-gmmlib/default.nix
+++ b/pkgs/development/libraries/intel-gmmlib/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-gmmlib";
-  version = "22.1.0";
+  version = "22.1.2";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "gmmlib";
     rev = "intel-gmmlib-${version}";
-    sha256 = "sha256-4LFBokMEhhobKIMzZYlt3Nn88lX60l+IZZ0gi+o7Tds=";
+    sha256 = "sha256-5exS0B2iRbmFkKtoHzL4NnZ7L3DaukthUYkoj2tpZuE=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/intel-media-sdk/default.nix b/pkgs/development/libraries/intel-media-sdk/default.nix
index 71a4437397a55..034d5b74b5633 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.2.0";
+  version = "22.2.1";
 
   src = fetchFromGitHub {
     owner = "Intel-Media-SDK";
     repo = "MediaSDK";
     rev = "intel-mediasdk-${version}";
-    sha256 = "sha256-Hcm48KTuBQbnVHd/T5XqQKbVS/XgJ4TYNbSCc8O53XQ=";
+    sha256 = "sha256-S8RShdpXz1WQoyuLxUDT94ftnep2WCy8oYKzeYBgftw=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/isl/generic.nix b/pkgs/development/libraries/isl/generic.nix
index eb6fe5f9cd69a..0a8c89d88ad30 100644
--- a/pkgs/development/libraries/isl/generic.nix
+++ b/pkgs/development/libraries/isl/generic.nix
@@ -9,7 +9,8 @@
 }:
 
 stdenv.mkDerivation {
-  name = "isl-${version}";
+  pname = "isl";
+  inherit version;
 
   src = fetchurl {
     inherit urls sha256;
diff --git a/pkgs/development/libraries/java/jffi/default.nix b/pkgs/development/libraries/java/jffi/default.nix
new file mode 100644
index 0000000000000..c15a6ddb819c8
--- /dev/null
+++ b/pkgs/development/libraries/java/jffi/default.nix
@@ -0,0 +1,47 @@
+{ lib, stdenv, fetchFromGitHub, jdk, jre, ant, libffi, texinfo, pkg-config }:
+
+stdenv.mkDerivation rec {
+  pname = "jffi";
+  version = "1.3.9";
+
+  src = fetchFromGitHub {
+    owner = "jnr";
+    repo = "jffi";
+    rev = "jffi-${version}";
+    sha256 = "sha256-VjZYhMbad+AesANG06umRzqMWj+Ebzu59TYK7Tm/bFo=";
+  };
+
+  nativeBuildInputs = [ jdk ant texinfo pkg-config ];
+  buildInputs = [ libffi ] ;
+
+  buildPhase = ''
+    # The pkg-config script in the build.xml doesn't work propery
+    # set the lib path manually to work around this.
+    export LIBFFI_LIBS="${libffi}/lib/libffi.so"
+
+    ant -Duse.system.libffi=1 jar
+    ant -Duse.system.libffi=1 archive-platform-jar
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/java
+    cp -r dist/* $out/share/java
+  '';
+
+  doCheck = true;
+  checkPhase = ''
+    # The pkg-config script in the build.xml doesn't work propery
+    # set the lib path manually to work around this.
+    export LIBFFI_LIBS="${libffi}/lib/libffi.so"
+
+    ant -Duse.system.libffi=1 test
+  '';
+
+  meta = with lib; {
+    description = "Java Foreign Function Interface ";
+    homepage = "https://github.com/jnr/jffi";
+    platforms = platforms.unix;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ bachp ];
+  };
+}
diff --git a/pkgs/development/libraries/jcal/default.nix b/pkgs/development/libraries/jcal/default.nix
index 4ce62ec67bc4a..354a5518c43dc 100644
--- a/pkgs/development/libraries/jcal/default.nix
+++ b/pkgs/development/libraries/jcal/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "jcal";
+  pname = "jcal";
   version = "0.4.1";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/libraries/jsonrpc-glib/default.nix b/pkgs/development/libraries/jsonrpc-glib/default.nix
index 7618110e86c4d..fb828e5b57146 100644
--- a/pkgs/development/libraries/jsonrpc-glib/default.nix
+++ b/pkgs/development/libraries/jsonrpc-glib/default.nix
@@ -1,18 +1,42 @@
-{ lib, stdenv, fetchurl, meson, ninja, glib, json-glib, pkg-config, gobject-introspection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_43, gnome }:
+{ stdenv
+, lib
+, fetchurl
+, meson
+, ninja
+, glib
+, json-glib
+, pkg-config
+, gobject-introspection
+, vala
+, gi-docgen
+, gnome
+}:
+
 stdenv.mkDerivation rec {
   pname = "jsonrpc-glib";
-  version = "3.40.0";
+  version = "3.42.0";
 
   outputs = [ "out" "dev" "devdoc" ];
 
-  nativeBuildInputs = [ meson ninja pkg-config gobject-introspection vala gtk-doc docbook_xsl docbook_xml_dtd_43 ];
-  buildInputs = [ glib json-glib ];
-
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "wuPRYlfHJmzTkBiE4iN1V1v2Go4fZ1lsiODYeucNDvQ=";
+    sha256 = "IhmJpXyoKhJGfcQngizXZRsMrQOBQMkxAnvxB0IIJ2s=";
   };
 
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gobject-introspection
+    vala
+    gi-docgen
+  ];
+
+  buildInputs = [
+    glib
+    json-glib
+  ];
+
   mesonFlags = [
     "-Denable_gtk_doc=true"
   ];
@@ -21,6 +45,11 @@ stdenv.mkDerivation rec {
   # https://gitlab.gnome.org/GNOME/jsonrpc-glib/issues/2
   doCheck = false;
 
+  postFixup = ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
+  '';
+
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
diff --git a/pkgs/development/libraries/kde-frameworks/attica.nix b/pkgs/development/libraries/kde-frameworks/attica.nix
index 8c71afd5dcf79..dbe4dd14b8f5b 100644
--- a/pkgs/development/libraries/kde-frameworks/attica.nix
+++ b/pkgs/development/libraries/kde-frameworks/attica.nix
@@ -1,7 +1,7 @@
 { mkDerivation, extra-cmake-modules, qtbase }:
 
 mkDerivation {
-  name = "attica";
+  pname = "attica";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ qtbase ];
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/kde-frameworks/baloo.nix b/pkgs/development/libraries/kde-frameworks/baloo.nix
index 0c8f181a188a3..d608785027e84 100644
--- a/pkgs/development/libraries/kde-frameworks/baloo.nix
+++ b/pkgs/development/libraries/kde-frameworks/baloo.nix
@@ -6,7 +6,7 @@
 }:
 
 mkDerivation {
-  name = "baloo";
+  pname = "baloo";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     kauth kconfig kcrash kdbusaddons ki18n kio kidletime lmdb qtdeclarative
diff --git a/pkgs/development/libraries/kde-frameworks/bluez-qt.nix b/pkgs/development/libraries/kde-frameworks/bluez-qt.nix
index c5764b4915edf..c07553f8493f7 100644
--- a/pkgs/development/libraries/kde-frameworks/bluez-qt.nix
+++ b/pkgs/development/libraries/kde-frameworks/bluez-qt.nix
@@ -4,7 +4,7 @@
 }:
 
 mkDerivation {
-  name = "bluez-qt";
+  pname = "bluez-qt";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ qtdeclarative ];
   propagatedBuildInputs = [ qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/breeze-icons.nix b/pkgs/development/libraries/kde-frameworks/breeze-icons.nix
index 6e79a45ea921a..7fd482ea0da0a 100644
--- a/pkgs/development/libraries/kde-frameworks/breeze-icons.nix
+++ b/pkgs/development/libraries/kde-frameworks/breeze-icons.nix
@@ -1,7 +1,7 @@
 { mkDerivation, extra-cmake-modules, gtk3, qtsvg, hicolor-icon-theme }:
 
 mkDerivation {
-  name = "breeze-icons";
+  pname = "breeze-icons";
   nativeBuildInputs = [ extra-cmake-modules gtk3 ];
   buildInputs = [ qtsvg ];
   propagatedBuildInputs = [
diff --git a/pkgs/development/libraries/kde-frameworks/default.nix b/pkgs/development/libraries/kde-frameworks/default.nix
index a5b0bfdae8def..2f7d0943dd484 100644
--- a/pkgs/development/libraries/kde-frameworks/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/default.nix
@@ -70,8 +70,8 @@ let
         mkDerivation = args:
           let
 
-            inherit (args) name;
-            inherit (srcs.${name}) src version;
+            inherit (args) pname;
+            inherit (srcs.${pname}) src version;
 
             outputs = args.outputs or [ "bin" "dev" "out" ];
             hasSeparateDev = lib.elem "dev" outputs;
@@ -90,8 +90,7 @@ let
               };
 
           in mkDerivation (args // {
-            name = "${name}-${version}";
-            inherit meta outputs setupHook src version;
+            inherit pname meta outputs setupHook src version;
           });
 
       };
diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix
index b74fb29e5f2a3..b274999010a26 100644
--- a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix
@@ -1,7 +1,7 @@
 { mkDerivation, lib, cmake, pkg-config }:
 
 mkDerivation {
-  name = "extra-cmake-modules";
+  pname = "extra-cmake-modules";
 
   patches = [
     ./nix-lib-path.patch
diff --git a/pkgs/development/libraries/kde-frameworks/fetch.sh b/pkgs/development/libraries/kde-frameworks/fetch.sh
index cb4e4cc262981..1e2e36d6784c3 100644
--- a/pkgs/development/libraries/kde-frameworks/fetch.sh
+++ b/pkgs/development/libraries/kde-frameworks/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/frameworks/5.91/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/frameworks/5.92/ -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/kde-frameworks/frameworkintegration.nix b/pkgs/development/libraries/kde-frameworks/frameworkintegration.nix
index c49eab2763c5e..6cb700c77744c 100644
--- a/pkgs/development/libraries/kde-frameworks/frameworkintegration.nix
+++ b/pkgs/development/libraries/kde-frameworks/frameworkintegration.nix
@@ -6,7 +6,7 @@
 }:
 
 mkDerivation {
-  name = "frameworkintegration";
+  pname = "frameworkintegration";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     kbookmarks kcompletion kconfig ki18n kio knewstuff knotifications kpackage
diff --git a/pkgs/development/libraries/kde-frameworks/kactivities-stats.nix b/pkgs/development/libraries/kde-frameworks/kactivities-stats.nix
index 88fde8c5fd6d3..63a5b03572417 100644
--- a/pkgs/development/libraries/kde-frameworks/kactivities-stats.nix
+++ b/pkgs/development/libraries/kde-frameworks/kactivities-stats.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "kactivities-stats";
+  pname = "kactivities-stats";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ boost kactivities kconfig ];
   propagatedBuildInputs = [ qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/kactivities.nix b/pkgs/development/libraries/kde-frameworks/kactivities.nix
index b53de41455adb..f2f5d09cc8e67 100644
--- a/pkgs/development/libraries/kde-frameworks/kactivities.nix
+++ b/pkgs/development/libraries/kde-frameworks/kactivities.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "kactivities";
+  pname = "kactivities";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     boost kconfig kcoreaddons kio kwindowsystem qtdeclarative
diff --git a/pkgs/development/libraries/kde-frameworks/kapidox.nix b/pkgs/development/libraries/kde-frameworks/kapidox.nix
index 381dacaf49614..8d3e89935f8b7 100644
--- a/pkgs/development/libraries/kde-frameworks/kapidox.nix
+++ b/pkgs/development/libraries/kde-frameworks/kapidox.nix
@@ -1,7 +1,7 @@
 { mkDerivation, lib, extra-cmake-modules, python3 }:
 
 mkDerivation {
-  name = "kapidox";
+  pname = "kapidox";
   nativeBuildInputs = [ extra-cmake-modules python3 python3.pkgs.setuptools ];
   postFixup = ''
     moveToOutput bin $bin
diff --git a/pkgs/development/libraries/kde-frameworks/karchive.nix b/pkgs/development/libraries/kde-frameworks/karchive.nix
index bd010f3f11cf2..822b28f3deea1 100644
--- a/pkgs/development/libraries/kde-frameworks/karchive.nix
+++ b/pkgs/development/libraries/kde-frameworks/karchive.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "karchive";
+  pname = "karchive";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ bzip2 xz zlib zstd ];
   propagatedBuildInputs = [ qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/kauth/default.nix b/pkgs/development/libraries/kde-frameworks/kauth/default.nix
index 630b51bf46ba6..f5ab518ce6213 100644
--- a/pkgs/development/libraries/kde-frameworks/kauth/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kauth/default.nix
@@ -1,12 +1,13 @@
 {
-  mkDerivation, propagate,
-  extra-cmake-modules, kcoreaddons, polkit-qt, qttools
+  lib, mkDerivation, propagate,
+  extra-cmake-modules, kcoreaddons, qttools,
+  enablePolkit ? true, polkit-qt
 }:
 
 mkDerivation {
-  name = "kauth";
+  pname = "kauth";
   nativeBuildInputs = [ extra-cmake-modules ];
-  buildInputs = [ polkit-qt qttools ];
+  buildInputs = lib.optional enablePolkit polkit-qt ++ [ qttools ];
   propagatedBuildInputs = [ kcoreaddons ];
   patches = [
     ./cmake-install-paths.patch
diff --git a/pkgs/development/libraries/kde-frameworks/kbookmarks.nix b/pkgs/development/libraries/kde-frameworks/kbookmarks.nix
index 4d68c3694bd37..1c45a4acb097f 100644
--- a/pkgs/development/libraries/kde-frameworks/kbookmarks.nix
+++ b/pkgs/development/libraries/kde-frameworks/kbookmarks.nix
@@ -6,7 +6,7 @@
 }:
 
 mkDerivation {
-  name = "kbookmarks";
+  pname = "kbookmarks";
   nativeBuildInputs = [ extra-cmake-modules qttools ];
   buildInputs = [
     kcodecs kconfig kconfigwidgets kcoreaddons kiconthemes kxmlgui
diff --git a/pkgs/development/libraries/kde-frameworks/kcalendarcore.nix b/pkgs/development/libraries/kde-frameworks/kcalendarcore.nix
index f4f2b05ad7367..3f02765af8ea0 100644
--- a/pkgs/development/libraries/kde-frameworks/kcalendarcore.nix
+++ b/pkgs/development/libraries/kde-frameworks/kcalendarcore.nix
@@ -6,7 +6,7 @@
 }:
 
 mkDerivation {
-  name = "kcalendarcore";
+  pname = "kcalendarcore";
   nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ libical ];
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/kde-frameworks/kcmutils/default.nix b/pkgs/development/libraries/kde-frameworks/kcmutils/default.nix
index 22e2929ae0cb3..f965256ce3d4b 100644
--- a/pkgs/development/libraries/kde-frameworks/kcmutils/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kcmutils/default.nix
@@ -6,7 +6,7 @@
 }:
 
 mkDerivation {
-  name = "kcmutils";
+  pname = "kcmutils";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     kcoreaddons kdeclarative ki18n kiconthemes kitemviews kpackage kxmlgui
diff --git a/pkgs/development/libraries/kde-frameworks/kcodecs.nix b/pkgs/development/libraries/kde-frameworks/kcodecs.nix
index a62135150a0fe..69a9e812494e6 100644
--- a/pkgs/development/libraries/kde-frameworks/kcodecs.nix
+++ b/pkgs/development/libraries/kde-frameworks/kcodecs.nix
@@ -1,7 +1,7 @@
 { mkDerivation, extra-cmake-modules, qtbase, qttools, gperf }:
 
 mkDerivation {
-  name = "kcodecs";
+  pname = "kcodecs";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ qttools gperf ];
   propagatedBuildInputs = [ qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/kcompletion.nix b/pkgs/development/libraries/kde-frameworks/kcompletion.nix
index ffa612ffaa190..28b4715f98f94 100644
--- a/pkgs/development/libraries/kde-frameworks/kcompletion.nix
+++ b/pkgs/development/libraries/kde-frameworks/kcompletion.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "kcompletion";
+  pname = "kcompletion";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ kconfig kwidgetsaddons qttools ];
   propagatedBuildInputs = [ qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/kconfig.nix b/pkgs/development/libraries/kde-frameworks/kconfig.nix
index ba16e97ef3a6e..76d9a85e649cb 100644
--- a/pkgs/development/libraries/kde-frameworks/kconfig.nix
+++ b/pkgs/development/libraries/kde-frameworks/kconfig.nix
@@ -1,7 +1,7 @@
 { mkDerivation, extra-cmake-modules, qtbase, qttools }:
 
 mkDerivation {
-  name = "kconfig";
+  pname = "kconfig";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ qttools ];
   propagatedBuildInputs = [ qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix b/pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix
index fc10f3070b641..e9b283ebc318c 100644
--- a/pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix
@@ -4,7 +4,7 @@
 }:
 
 mkDerivation {
-  name = "kconfigwidgets";
+  pname = "kconfigwidgets";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [ kguiaddons ki18n qtbase qttools ];
   propagatedBuildInputs = [ kauth kcodecs kconfig kwidgetsaddons ];
diff --git a/pkgs/development/libraries/kde-frameworks/kcontacts.nix b/pkgs/development/libraries/kde-frameworks/kcontacts.nix
index 56887b775f4ac..0d26d064dd2b7 100644
--- a/pkgs/development/libraries/kde-frameworks/kcontacts.nix
+++ b/pkgs/development/libraries/kde-frameworks/kcontacts.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "kcontacts";
+  pname = "kcontacts";
   meta = {
     license = [ lib.licenses.lgpl21 ];
   };
diff --git a/pkgs/development/libraries/kde-frameworks/kcoreaddons.nix b/pkgs/development/libraries/kde-frameworks/kcoreaddons.nix
index a2102c7d73231..f790d802c0ca4 100644
--- a/pkgs/development/libraries/kde-frameworks/kcoreaddons.nix
+++ b/pkgs/development/libraries/kde-frameworks/kcoreaddons.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "kcoreaddons";
+  pname = "kcoreaddons";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ qttools shared-mime-info ];
   propagatedBuildInputs = [ qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/kcrash.nix b/pkgs/development/libraries/kde-frameworks/kcrash.nix
index 27dc6d65edff5..4658ab5c6daee 100644
--- a/pkgs/development/libraries/kde-frameworks/kcrash.nix
+++ b/pkgs/development/libraries/kde-frameworks/kcrash.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "kcrash";
+  pname = "kcrash";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ kcoreaddons kwindowsystem qtx11extras ];
   propagatedBuildInputs = [ qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/kdav.nix b/pkgs/development/libraries/kde-frameworks/kdav.nix
index a03cca3fdf265..92d57158e3209 100644
--- a/pkgs/development/libraries/kde-frameworks/kdav.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdav.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "kdav";
+  pname = "kdav";
   meta = {
     license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
   };
diff --git a/pkgs/development/libraries/kde-frameworks/kdbusaddons.nix b/pkgs/development/libraries/kde-frameworks/kdbusaddons.nix
index 5c435b4454145..b123129cf8d17 100644
--- a/pkgs/development/libraries/kde-frameworks/kdbusaddons.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdbusaddons.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "kdbusaddons";
+  pname = "kdbusaddons";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ qttools qtx11extras ];
   propagatedBuildInputs = [ qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/kdeclarative.nix b/pkgs/development/libraries/kde-frameworks/kdeclarative.nix
index 1389df5eb1528..08f7cb5d3785b 100644
--- a/pkgs/development/libraries/kde-frameworks/kdeclarative.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdeclarative.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "kdeclarative";
+  pname = "kdeclarative";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     libepoxy kglobalaccel kguiaddons ki18n kiconthemes kio kwidgetsaddons
diff --git a/pkgs/development/libraries/kde-frameworks/kded.nix b/pkgs/development/libraries/kde-frameworks/kded.nix
index 250a999f4d6cf..180d508acc58c 100644
--- a/pkgs/development/libraries/kde-frameworks/kded.nix
+++ b/pkgs/development/libraries/kde-frameworks/kded.nix
@@ -6,7 +6,7 @@
 }:
 
 mkDerivation {
-  name = "kded";
+  pname = "kded";
   nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ];
   buildInputs = [
     gsettings-desktop-schemas kconfig kcoreaddons kcrash kdbusaddons
diff --git a/pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix b/pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix
index 392aa9ea90257..1e7b30738752e 100644
--- a/pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix
@@ -9,7 +9,7 @@
 }:
 
 mkDerivation {
-  name = "kdelibs4support";
+  pname = "kdelibs4support";
   patches = [
     ./nix-kde-include-dir.patch
   ];
diff --git a/pkgs/development/libraries/kde-frameworks/kdesignerplugin.nix b/pkgs/development/libraries/kde-frameworks/kdesignerplugin.nix
index f1305274070f0..6244b82397a25 100644
--- a/pkgs/development/libraries/kde-frameworks/kdesignerplugin.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdesignerplugin.nix
@@ -6,7 +6,7 @@
 }:
 
 mkDerivation {
-  name = "kdesignerplugin";
+  pname = "kdesignerplugin";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     kcompletion kconfig kconfigwidgets kcoreaddons kiconthemes kio kitemviews
diff --git a/pkgs/development/libraries/kde-frameworks/kdesu/default.nix b/pkgs/development/libraries/kde-frameworks/kdesu/default.nix
index 9a5f5a6942a84..fe506401da4e6 100644
--- a/pkgs/development/libraries/kde-frameworks/kdesu/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdesu/default.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "kdesu";
+  pname = "kdesu";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ kcoreaddons ki18n kpty kservice qtbase ];
   propagatedBuildInputs = [ kpty ];
diff --git a/pkgs/development/libraries/kde-frameworks/kdewebkit.nix b/pkgs/development/libraries/kde-frameworks/kdewebkit.nix
index 9f682b4497529..b6d548cabfcd1 100644
--- a/pkgs/development/libraries/kde-frameworks/kdewebkit.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdewebkit.nix
@@ -3,7 +3,7 @@
 }:
 
 mkDerivation {
-  name = "kdewebkit";
+  pname = "kdewebkit";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ kconfig kcoreaddons kio kparts ];
   propagatedBuildInputs = [ qtwebkit ];
diff --git a/pkgs/development/libraries/kde-frameworks/kdnssd.nix b/pkgs/development/libraries/kde-frameworks/kdnssd.nix
index 8bb59bb36dba6..545057e7ef1f6 100644
--- a/pkgs/development/libraries/kde-frameworks/kdnssd.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdnssd.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "kdnssd";
+  pname = "kdnssd";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ avahi qttools ];
   propagatedBuildInputs = [ qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/kdoctools/default.nix b/pkgs/development/libraries/kde-frameworks/kdoctools/default.nix
index a87bef40b1e23..83f3a04ee36ad 100644
--- a/pkgs/development/libraries/kde-frameworks/kdoctools/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdoctools/default.nix
@@ -6,7 +6,7 @@
 }:
 
 mkDerivation {
-  name = "kdoctools";
+  pname = "kdoctools";
   nativeBuildInputs = [
     extra-cmake-modules
     # The build system insists on having native Perl.
diff --git a/pkgs/development/libraries/kde-frameworks/kemoticons.nix b/pkgs/development/libraries/kde-frameworks/kemoticons.nix
index 66a0889b13d27..67613d274a75c 100644
--- a/pkgs/development/libraries/kde-frameworks/kemoticons.nix
+++ b/pkgs/development/libraries/kde-frameworks/kemoticons.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "kemoticons";
+  pname = "kemoticons";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ karchive kcoreaddons ];
   propagatedBuildInputs = [ kservice qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/kfilemetadata/default.nix b/pkgs/development/libraries/kde-frameworks/kfilemetadata/default.nix
index 7c16dcf465073..782b033221430 100644
--- a/pkgs/development/libraries/kde-frameworks/kfilemetadata/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kfilemetadata/default.nix
@@ -15,7 +15,7 @@
 }:
 
 mkDerivation {
-  name = "kfilemetadata";
+  pname = "kfilemetadata";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     attr
diff --git a/pkgs/development/libraries/kde-frameworks/kglobalaccel.nix b/pkgs/development/libraries/kde-frameworks/kglobalaccel.nix
index 7001c98ee00f0..ab181b8d902d6 100644
--- a/pkgs/development/libraries/kde-frameworks/kglobalaccel.nix
+++ b/pkgs/development/libraries/kde-frameworks/kglobalaccel.nix
@@ -6,7 +6,7 @@
 }:
 
 mkDerivation {
-  name = "kglobalaccel";
+  pname = "kglobalaccel";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     kconfig kcoreaddons kcrash kdbusaddons kservice kwindowsystem qttools
diff --git a/pkgs/development/libraries/kde-frameworks/kguiaddons.nix b/pkgs/development/libraries/kde-frameworks/kguiaddons.nix
index bcd18ab614b66..d3575717592d7 100644
--- a/pkgs/development/libraries/kde-frameworks/kguiaddons.nix
+++ b/pkgs/development/libraries/kde-frameworks/kguiaddons.nix
@@ -4,7 +4,7 @@
 }:
 
 mkDerivation {
-  name = "kguiaddons";
+  pname = "kguiaddons";
 
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ qtx11extras wayland ];
diff --git a/pkgs/development/libraries/kde-frameworks/kholidays.nix b/pkgs/development/libraries/kde-frameworks/kholidays.nix
index 2ede69e74953d..9484dece57ed9 100644
--- a/pkgs/development/libraries/kde-frameworks/kholidays.nix
+++ b/pkgs/development/libraries/kde-frameworks/kholidays.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "kholidays";
+  pname = "kholidays";
   meta = {
     license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
     maintainers = with lib.maintainers; [ bkchr ];
diff --git a/pkgs/development/libraries/kde-frameworks/khtml.nix b/pkgs/development/libraries/kde-frameworks/khtml.nix
index 3ef3a043c4e12..9677ffb78a5ef 100644
--- a/pkgs/development/libraries/kde-frameworks/khtml.nix
+++ b/pkgs/development/libraries/kde-frameworks/khtml.nix
@@ -7,7 +7,7 @@
 }:
 
 mkDerivation {
-  name = "khtml";
+  pname = "khtml";
   nativeBuildInputs = [ extra-cmake-modules perl ];
   buildInputs = [
     giflib karchive kcodecs kglobalaccel ki18n kiconthemes kio knotifications
diff --git a/pkgs/development/libraries/kde-frameworks/ki18n.nix b/pkgs/development/libraries/kde-frameworks/ki18n.nix
index 46f502d06bb4d..be8016155b87b 100644
--- a/pkgs/development/libraries/kde-frameworks/ki18n.nix
+++ b/pkgs/development/libraries/kde-frameworks/ki18n.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "ki18n";
+  pname = "ki18n";
   nativeBuildInputs = [ extra-cmake-modules ];
   propagatedNativeBuildInputs = [ gettext python3 ];
   buildInputs = [ qtdeclarative qtscript ];
diff --git a/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix b/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix
index 122f3108da446..f807193718d5a 100644
--- a/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix
@@ -6,7 +6,7 @@
 }:
 
 mkDerivation {
-  name = "kiconthemes";
+  pname = "kiconthemes";
   patches = [
     ./default-theme-breeze.patch
   ];
diff --git a/pkgs/development/libraries/kde-frameworks/kidletime.nix b/pkgs/development/libraries/kde-frameworks/kidletime.nix
index 2678cf0804eb6..6379a5e2e31b8 100644
--- a/pkgs/development/libraries/kde-frameworks/kidletime.nix
+++ b/pkgs/development/libraries/kde-frameworks/kidletime.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "kidletime";
+  pname = "kidletime";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ qtx11extras ];
   propagatedBuildInputs = [ qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/kimageformats.nix b/pkgs/development/libraries/kde-frameworks/kimageformats.nix
index 97b413e805c6e..86026bf50f457 100644
--- a/pkgs/development/libraries/kde-frameworks/kimageformats.nix
+++ b/pkgs/development/libraries/kde-frameworks/kimageformats.nix
@@ -7,7 +7,7 @@
 let inherit (lib) getDev; in
 
 mkDerivation {
-  name = "kimageformats";
+  pname = "kimageformats";
 
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ karchive openexr libavif qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/kinit/default.nix b/pkgs/development/libraries/kde-frameworks/kinit/default.nix
index dcd84f1f35a1d..9acd56f324cbc 100644
--- a/pkgs/development/libraries/kde-frameworks/kinit/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kinit/default.nix
@@ -7,7 +7,7 @@
 let inherit (lib) getLib; in
 
 mkDerivation {
-  name = "kinit";
+  pname = "kinit";
   outputs = [ "out" "dev" ];
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
diff --git a/pkgs/development/libraries/kde-frameworks/kio/default.nix b/pkgs/development/libraries/kde-frameworks/kio/default.nix
index 5c05e0159b5be..7b2815945c8c3 100644
--- a/pkgs/development/libraries/kde-frameworks/kio/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kio/default.nix
@@ -9,7 +9,7 @@
 }:
 
 mkDerivation {
-  name = "kio";
+  pname = "kio";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     karchive kconfigwidgets kdbusaddons ki18n kiconthemes knotifications
diff --git a/pkgs/development/libraries/kde-frameworks/kirigami2.nix b/pkgs/development/libraries/kde-frameworks/kirigami2.nix
index bb5a5a3fc80f3..281a490bf90aa 100644
--- a/pkgs/development/libraries/kde-frameworks/kirigami2.nix
+++ b/pkgs/development/libraries/kde-frameworks/kirigami2.nix
@@ -1,7 +1,7 @@
 { mkDerivation, extra-cmake-modules, qtbase, qtquickcontrols2, qttranslations, qtgraphicaleffects }:
 
 mkDerivation {
-  name = "kirigami2";
+  pname = "kirigami2";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ qtbase qtquickcontrols2 qttranslations qtgraphicaleffects ];
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/kde-frameworks/kitemmodels.nix b/pkgs/development/libraries/kde-frameworks/kitemmodels.nix
index 0f398b0f57d19..8abed8aaa0903 100644
--- a/pkgs/development/libraries/kde-frameworks/kitemmodels.nix
+++ b/pkgs/development/libraries/kde-frameworks/kitemmodels.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "kitemmodels";
+  pname = "kitemmodels";
   nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ qtbase ];
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/kde-frameworks/kitemviews.nix b/pkgs/development/libraries/kde-frameworks/kitemviews.nix
index 0e772978e1919..ef350835f05df 100644
--- a/pkgs/development/libraries/kde-frameworks/kitemviews.nix
+++ b/pkgs/development/libraries/kde-frameworks/kitemviews.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "kitemviews";
+  pname = "kitemviews";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ qttools ];
   propagatedBuildInputs = [ qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/kjobwidgets.nix b/pkgs/development/libraries/kde-frameworks/kjobwidgets.nix
index 2e116b7bb7935..a4a6d5bb10258 100644
--- a/pkgs/development/libraries/kde-frameworks/kjobwidgets.nix
+++ b/pkgs/development/libraries/kde-frameworks/kjobwidgets.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "kjobwidgets";
+  pname = "kjobwidgets";
   nativeBuildInputs = [ extra-cmake-modules qttools ];
   buildInputs = [ kcoreaddons kwidgetsaddons qtx11extras ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kjs.nix b/pkgs/development/libraries/kde-frameworks/kjs.nix
index 33aeb284e167b..a0f9853237470 100644
--- a/pkgs/development/libraries/kde-frameworks/kjs.nix
+++ b/pkgs/development/libraries/kde-frameworks/kjs.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "kjs";
+  pname = "kjs";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [ pcre qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kjsembed.nix b/pkgs/development/libraries/kde-frameworks/kjsembed.nix
index f552f963513d9..576727e81d2f8 100644
--- a/pkgs/development/libraries/kde-frameworks/kjsembed.nix
+++ b/pkgs/development/libraries/kde-frameworks/kjsembed.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "kjsembed";
+  pname = "kjsembed";
   nativeBuildInputs = [ extra-cmake-modules kdoctools qttools ];
   buildInputs = [ ki18n qtsvg ];
   propagatedBuildInputs = [ kjs ];
diff --git a/pkgs/development/libraries/kde-frameworks/kmediaplayer.nix b/pkgs/development/libraries/kde-frameworks/kmediaplayer.nix
index 5de26e0c8dcb2..f92c22956511c 100644
--- a/pkgs/development/libraries/kde-frameworks/kmediaplayer.nix
+++ b/pkgs/development/libraries/kde-frameworks/kmediaplayer.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "kmediaplayer";
+  pname = "kmediaplayer";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ kparts kxmlgui ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/knewstuff/default.nix b/pkgs/development/libraries/kde-frameworks/knewstuff/default.nix
index 6d170c0bb129f..6e554b5faaadf 100644
--- a/pkgs/development/libraries/kde-frameworks/knewstuff/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/knewstuff/default.nix
@@ -7,7 +7,7 @@
 }:
 
 mkDerivation {
-  name = "knewstuff";
+  pname = "knewstuff";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     karchive kcompletion kconfig kcoreaddons ki18n kiconthemes kio kitemviews
diff --git a/pkgs/development/libraries/kde-frameworks/knotifications.nix b/pkgs/development/libraries/kde-frameworks/knotifications.nix
index d1a809d9f5169..363ca46d10aeb 100644
--- a/pkgs/development/libraries/kde-frameworks/knotifications.nix
+++ b/pkgs/development/libraries/kde-frameworks/knotifications.nix
@@ -7,7 +7,7 @@
 }:
 
 mkDerivation {
-  name = "knotifications";
+  pname = "knotifications";
   nativeBuildInputs = [ extra-cmake-modules qttools ];
   buildInputs = [
     kcodecs kconfig kcoreaddons kwindowsystem libdbusmenu phonon qtx11extras
diff --git a/pkgs/development/libraries/kde-frameworks/knotifyconfig.nix b/pkgs/development/libraries/kde-frameworks/knotifyconfig.nix
index 1971e3e8039b3..b2415d731ff04 100644
--- a/pkgs/development/libraries/kde-frameworks/knotifyconfig.nix
+++ b/pkgs/development/libraries/kde-frameworks/knotifyconfig.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "knotifyconfig";
+  pname = "knotifyconfig";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ kcompletion kconfig ki18n kio phonon ];
   propagatedBuildInputs = [ qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/kpackage/default.nix b/pkgs/development/libraries/kde-frameworks/kpackage/default.nix
index d4edc09b2f00f..c1d9bf387fc5f 100644
--- a/pkgs/development/libraries/kde-frameworks/kpackage/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kpackage/default.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "kpackage";
+  pname = "kpackage";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [ karchive kconfig kcoreaddons ki18n qtbase ];
   patches = [
diff --git a/pkgs/development/libraries/kde-frameworks/kparts.nix b/pkgs/development/libraries/kde-frameworks/kparts.nix
index e1d2a156160df..682c2da63132b 100644
--- a/pkgs/development/libraries/kde-frameworks/kparts.nix
+++ b/pkgs/development/libraries/kde-frameworks/kparts.nix
@@ -6,7 +6,7 @@
 }:
 
 mkDerivation {
-  name = "kparts";
+  pname = "kparts";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     kconfig kcoreaddons ki18n kiconthemes kjobwidgets knotifications kservice
diff --git a/pkgs/development/libraries/kde-frameworks/kpeople.nix b/pkgs/development/libraries/kde-frameworks/kpeople.nix
index 52c16ea2b9c27..433cc6b6e1138 100644
--- a/pkgs/development/libraries/kde-frameworks/kpeople.nix
+++ b/pkgs/development/libraries/kde-frameworks/kpeople.nix
@@ -6,7 +6,7 @@
 }:
 
 mkDerivation {
-  name = "kpeople";
+  pname = "kpeople";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     kcoreaddons ki18n kitemviews kservice kwidgetsaddons qtdeclarative
diff --git a/pkgs/development/libraries/kde-frameworks/kplotting.nix b/pkgs/development/libraries/kde-frameworks/kplotting.nix
index 68df24d0087b6..eb26b252566b6 100644
--- a/pkgs/development/libraries/kde-frameworks/kplotting.nix
+++ b/pkgs/development/libraries/kde-frameworks/kplotting.nix
@@ -3,7 +3,7 @@
 }:
 
 mkDerivation {
-  name = "kplotting";
+  pname = "kplotting";
   nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ qtbase qttools ];
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/kde-frameworks/kpty.nix b/pkgs/development/libraries/kde-frameworks/kpty.nix
index 2456f4e22fab3..239407d6abdfe 100644
--- a/pkgs/development/libraries/kde-frameworks/kpty.nix
+++ b/pkgs/development/libraries/kde-frameworks/kpty.nix
@@ -1,7 +1,7 @@
 { mkDerivation, extra-cmake-modules, kcoreaddons, ki18n, qtbase, }:
 
 mkDerivation {
-  name = "kpty";
+  pname = "kpty";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ kcoreaddons ki18n qtbase ];
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/kde-frameworks/kquickcharts.nix b/pkgs/development/libraries/kde-frameworks/kquickcharts.nix
index 0ae30be653d49..20c1b2368a7b5 100644
--- a/pkgs/development/libraries/kde-frameworks/kquickcharts.nix
+++ b/pkgs/development/libraries/kde-frameworks/kquickcharts.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "kquickcharts";
+  pname = "kquickcharts";
   nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ qtquickcontrols2 ];
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/kde-frameworks/kross.nix b/pkgs/development/libraries/kde-frameworks/kross.nix
index 189e100aa70c1..7cc083e5a261d 100644
--- a/pkgs/development/libraries/kde-frameworks/kross.nix
+++ b/pkgs/development/libraries/kde-frameworks/kross.nix
@@ -4,7 +4,7 @@
 }:
 
 mkDerivation {
-  name = "kross";
+  pname = "kross";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [ kcompletion kcoreaddons kxmlgui ];
   propagatedBuildInputs = [
diff --git a/pkgs/development/libraries/kde-frameworks/krunner.nix b/pkgs/development/libraries/kde-frameworks/krunner.nix
index 7db7c61db466f..a56e56a2fe092 100644
--- a/pkgs/development/libraries/kde-frameworks/krunner.nix
+++ b/pkgs/development/libraries/kde-frameworks/krunner.nix
@@ -7,7 +7,7 @@
 
 let
   self = mkDerivation {
-    name = "krunner";
+    pname = "krunner";
     nativeBuildInputs = [ extra-cmake-modules ];
     buildInputs = [
       kconfig kcoreaddons ki18n kio kservice qtdeclarative solid
diff --git a/pkgs/development/libraries/kde-frameworks/kservice/default.nix b/pkgs/development/libraries/kde-frameworks/kservice/default.nix
index c1488f728dd66..008c52cf07850 100644
--- a/pkgs/development/libraries/kde-frameworks/kservice/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kservice/default.nix
@@ -6,7 +6,7 @@
 }:
 
 mkDerivation {
-  name = "kservice";
+  pname = "kservice";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedNativeBuildInputs = [ bison flex ];
   buildInputs = [
diff --git a/pkgs/development/libraries/kde-frameworks/ktexteditor.nix b/pkgs/development/libraries/kde-frameworks/ktexteditor.nix
index 6a74dca7b4bd0..5788c07cb05ce 100644
--- a/pkgs/development/libraries/kde-frameworks/ktexteditor.nix
+++ b/pkgs/development/libraries/kde-frameworks/ktexteditor.nix
@@ -7,7 +7,7 @@
 }:
 
 mkDerivation {
-  name = "ktexteditor";
+  pname = "ktexteditor";
   nativeBuildInputs = [ extra-cmake-modules perl ];
   buildInputs = [
     karchive kconfig kguiaddons ki18n kiconthemes kio libgit2 qtscript
diff --git a/pkgs/development/libraries/kde-frameworks/ktextwidgets.nix b/pkgs/development/libraries/kde-frameworks/ktextwidgets.nix
index 653d0ac8899bd..6ce7aa88c3a6e 100644
--- a/pkgs/development/libraries/kde-frameworks/ktextwidgets.nix
+++ b/pkgs/development/libraries/kde-frameworks/ktextwidgets.nix
@@ -6,7 +6,7 @@
 }:
 
 mkDerivation {
-  name = "ktextwidgets";
+  pname = "ktextwidgets";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     kcompletion kconfig kconfigwidgets kiconthemes kservice kwindowsystem
diff --git a/pkgs/development/libraries/kde-frameworks/kunitconversion.nix b/pkgs/development/libraries/kde-frameworks/kunitconversion.nix
index de0d9aab922ee..aa4c87a1e5f92 100644
--- a/pkgs/development/libraries/kde-frameworks/kunitconversion.nix
+++ b/pkgs/development/libraries/kde-frameworks/kunitconversion.nix
@@ -1,7 +1,7 @@
 { mkDerivation, extra-cmake-modules, ki18n, qtbase, }:
 
 mkDerivation {
-  name = "kunitconversion";
+  pname = "kunitconversion";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ ki18n qtbase ];
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/kde-frameworks/kwallet.nix b/pkgs/development/libraries/kde-frameworks/kwallet.nix
index f93f0437dbd1d..e2a54a03f6e6b 100644
--- a/pkgs/development/libraries/kde-frameworks/kwallet.nix
+++ b/pkgs/development/libraries/kde-frameworks/kwallet.nix
@@ -7,7 +7,7 @@
 }:
 
 mkDerivation {
-  name = "kwallet";
+  pname = "kwallet";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     kconfig kconfigwidgets kcoreaddons kdbusaddons ki18n kiconthemes
diff --git a/pkgs/development/libraries/kde-frameworks/kwayland.nix b/pkgs/development/libraries/kde-frameworks/kwayland.nix
index 749735c4ad581..6a070d227808d 100644
--- a/pkgs/development/libraries/kde-frameworks/kwayland.nix
+++ b/pkgs/development/libraries/kde-frameworks/kwayland.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "kwayland";
+  pname = "kwayland";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ plasma-wayland-protocols wayland wayland-protocols ];
   propagatedBuildInputs = [ qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/kwidgetsaddons.nix b/pkgs/development/libraries/kde-frameworks/kwidgetsaddons.nix
index ee347df18ab86..0fead3bfd6ba3 100644
--- a/pkgs/development/libraries/kde-frameworks/kwidgetsaddons.nix
+++ b/pkgs/development/libraries/kde-frameworks/kwidgetsaddons.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "kwidgetsaddons";
+  pname = "kwidgetsaddons";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ qttools ];
   propagatedBuildInputs = [ qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/kwindowsystem/default.nix b/pkgs/development/libraries/kde-frameworks/kwindowsystem/default.nix
index 7643572a7ec02..ec102dbb342a5 100644
--- a/pkgs/development/libraries/kde-frameworks/kwindowsystem/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kwindowsystem/default.nix
@@ -6,7 +6,7 @@
 }:
 
 mkDerivation {
-  name = "kwindowsystem";
+  pname = "kwindowsystem";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ libpthreadstubs libXdmcp qttools qtx11extras ];
   propagatedBuildInputs = [ qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/kxmlgui.nix b/pkgs/development/libraries/kde-frameworks/kxmlgui.nix
index 0b29158e4b06a..c666edbc196d8 100644
--- a/pkgs/development/libraries/kde-frameworks/kxmlgui.nix
+++ b/pkgs/development/libraries/kde-frameworks/kxmlgui.nix
@@ -6,7 +6,7 @@
 }:
 
 mkDerivation {
-  name = "kxmlgui";
+  pname = "kxmlgui";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     attica kglobalaccel ki18n kiconthemes kitemviews ktextwidgets kwindowsystem
diff --git a/pkgs/development/libraries/kde-frameworks/kxmlrpcclient.nix b/pkgs/development/libraries/kde-frameworks/kxmlrpcclient.nix
index aa334d69ef1d3..3b2d869d17772 100644
--- a/pkgs/development/libraries/kde-frameworks/kxmlrpcclient.nix
+++ b/pkgs/development/libraries/kde-frameworks/kxmlrpcclient.nix
@@ -1,7 +1,7 @@
 { mkDerivation, extra-cmake-modules, ki18n, kio }:
 
 mkDerivation {
-  name = "kxmlrpcclient";
+  pname = "kxmlrpcclient";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ ki18n ];
   propagatedBuildInputs = [ kio ];
diff --git a/pkgs/development/libraries/kde-frameworks/modemmanager-qt.nix b/pkgs/development/libraries/kde-frameworks/modemmanager-qt.nix
index 5ecb5317cfcc4..507e24e8f61e5 100644
--- a/pkgs/development/libraries/kde-frameworks/modemmanager-qt.nix
+++ b/pkgs/development/libraries/kde-frameworks/modemmanager-qt.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "modemmanager-qt";
+  pname = "modemmanager-qt";
   nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ modemmanager qtbase ];
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/kde-frameworks/networkmanager-qt.nix b/pkgs/development/libraries/kde-frameworks/networkmanager-qt.nix
index 2ff4b2c2b4081..b79c79b084daf 100644
--- a/pkgs/development/libraries/kde-frameworks/networkmanager-qt.nix
+++ b/pkgs/development/libraries/kde-frameworks/networkmanager-qt.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "networkmanager-qt";
+  pname = "networkmanager-qt";
   nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ networkmanager qtbase ];
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/kde-frameworks/oxygen-icons5.nix b/pkgs/development/libraries/kde-frameworks/oxygen-icons5.nix
index 32b219ab7e1cb..7121944d5d39f 100644
--- a/pkgs/development/libraries/kde-frameworks/oxygen-icons5.nix
+++ b/pkgs/development/libraries/kde-frameworks/oxygen-icons5.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "oxygen-icons5";
+  pname = "oxygen-icons5";
   meta.license = lib.licenses.lgpl3Plus;
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/plasma-framework.nix b/pkgs/development/libraries/kde-frameworks/plasma-framework.nix
index 12540b07007c1..cf118beaabce7 100644
--- a/pkgs/development/libraries/kde-frameworks/plasma-framework.nix
+++ b/pkgs/development/libraries/kde-frameworks/plasma-framework.nix
@@ -8,7 +8,7 @@
 }:
 
 mkDerivation {
-  name = "plasma-framework";
+  pname = "plasma-framework";
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     kactivities karchive kconfig kconfigwidgets kcoreaddons kdbusaddons
diff --git a/pkgs/development/libraries/kde-frameworks/prison.nix b/pkgs/development/libraries/kde-frameworks/prison.nix
index 670fd02d6161b..c2063e22bba76 100644
--- a/pkgs/development/libraries/kde-frameworks/prison.nix
+++ b/pkgs/development/libraries/kde-frameworks/prison.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "prison";
+  pname = "prison";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ libdmtx qrencode ];
   propagatedBuildInputs = [ qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/purpose.nix b/pkgs/development/libraries/kde-frameworks/purpose.nix
index 0f376ce9ec3af..ee4e9584641c1 100644
--- a/pkgs/development/libraries/kde-frameworks/purpose.nix
+++ b/pkgs/development/libraries/kde-frameworks/purpose.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "purpose";
+  pname = "purpose";
   nativeBuildInputs = [ extra-cmake-modules intltool ];
   buildInputs = [
     qtbase accounts-qt qtdeclarative kaccounts-integration kconfig kcoreaddons
diff --git a/pkgs/development/libraries/kde-frameworks/qqc2-desktop-style.nix b/pkgs/development/libraries/kde-frameworks/qqc2-desktop-style.nix
index e400967407c69..6d8635c4f2837 100644
--- a/pkgs/development/libraries/kde-frameworks/qqc2-desktop-style.nix
+++ b/pkgs/development/libraries/kde-frameworks/qqc2-desktop-style.nix
@@ -8,7 +8,7 @@
 }:
 
 mkDerivation {
-  name = "qqc2-desktop-style";
+  pname = "qqc2-desktop-style";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ qtx11extras qtquickcontrols2 kconfig kiconthemes kirigami2 ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/solid.nix b/pkgs/development/libraries/kde-frameworks/solid.nix
index aa1b1ebe34581..69ef8c8adca3f 100644
--- a/pkgs/development/libraries/kde-frameworks/solid.nix
+++ b/pkgs/development/libraries/kde-frameworks/solid.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "solid";
+  pname = "solid";
   nativeBuildInputs = [ bison extra-cmake-modules flex media-player-info ];
   buildInputs = [ qtdeclarative qttools ];
   propagatedBuildInputs = [ qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/sonnet.nix b/pkgs/development/libraries/kde-frameworks/sonnet.nix
index 2eff7bad24029..78aa189559fc4 100644
--- a/pkgs/development/libraries/kde-frameworks/sonnet.nix
+++ b/pkgs/development/libraries/kde-frameworks/sonnet.nix
@@ -4,7 +4,7 @@
 }:
 
 mkDerivation {
-  name = "sonnet";
+  pname = "sonnet";
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ aspell qttools ];
   propagatedBuildInputs = [ qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix
index 2b3983a892c8a..1cddd857dda88 100644
--- a/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -4,667 +4,667 @@
 
 {
   attica = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/attica-5.91.0.tar.xz";
-      sha256 = "0svvy7qflidwxns12y2lra54gg6lhglcddzmrw7ccvbdyqcy2pn0";
-      name = "attica-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/attica-5.92.0.tar.xz";
+      sha256 = "0cy9dd8kazfkhas87bxjj5smmzay3gvkjwsmy6gvkfxc6rvpqr5z";
+      name = "attica-5.92.0.tar.xz";
     };
   };
   baloo = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/baloo-5.91.0.tar.xz";
-      sha256 = "1cqjbaiwqba707xaz9zsrdz9cms2mdrhv6jpwsq8q7f4g4rxcx3m";
-      name = "baloo-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/baloo-5.92.0.tar.xz";
+      sha256 = "0xd4a0p22gjm523ymlyd5nfgp8z3ayb0nq6a04h5py507mc70d98";
+      name = "baloo-5.92.0.tar.xz";
     };
   };
   bluez-qt = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/bluez-qt-5.91.0.tar.xz";
-      sha256 = "0p37jrmppwahh4vaq3wkw6xn0ms8dxcxpfd4glzjlnw426zrwnjr";
-      name = "bluez-qt-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/bluez-qt-5.92.0.tar.xz";
+      sha256 = "1dlasb39kqrcql6hq0sl74ax3n5bdcy3pkhvc9vwpf9dxn1j93gm";
+      name = "bluez-qt-5.92.0.tar.xz";
     };
   };
   breeze-icons = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/breeze-icons-5.91.0.tar.xz";
-      sha256 = "0aj24gn48c17n9jzrj0az04ph4hpx7zf2rj4vgwl19iip69vfzf1";
-      name = "breeze-icons-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/breeze-icons-5.92.0.tar.xz";
+      sha256 = "0rj30r52ca6njx00gmmni4k70yn8873ihxfbc66lklwzk1irdq29";
+      name = "breeze-icons-5.92.0.tar.xz";
     };
   };
   extra-cmake-modules = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/extra-cmake-modules-5.91.0.tar.xz";
-      sha256 = "0k65rvxh926ya6qahzk2ns7g1fya1429648mlx7iipxa61g8h5wp";
-      name = "extra-cmake-modules-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/extra-cmake-modules-5.92.0.tar.xz";
+      sha256 = "1vq3sd4qfr4hjcgqyfpykcz5wyagbfvrd4p24pdki1zjqn5j76pq";
+      name = "extra-cmake-modules-5.92.0.tar.xz";
     };
   };
   frameworkintegration = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/frameworkintegration-5.91.0.tar.xz";
-      sha256 = "1176ql8f96ap4gzjaj8vm4cr6f2rsx9z93gpc4hx4jcqjhxqrg3z";
-      name = "frameworkintegration-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/frameworkintegration-5.92.0.tar.xz";
+      sha256 = "0pgcwfxxzvfvqyjfgqzsllzfy9il4y8xr8dzdyjmd5vccpvgd3mx";
+      name = "frameworkintegration-5.92.0.tar.xz";
     };
   };
   kactivities = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kactivities-5.91.0.tar.xz";
-      sha256 = "03y4hx7jgrhac12ys8pm22h0f49kms8b71gck4xv577p3ywi3j60";
-      name = "kactivities-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kactivities-5.92.0.tar.xz";
+      sha256 = "1kfvg23gdl4k6azs6700j8i8ncl8c7rrc70w1i2xhphz27ybc1pw";
+      name = "kactivities-5.92.0.tar.xz";
     };
   };
   kactivities-stats = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kactivities-stats-5.91.0.tar.xz";
-      sha256 = "0864qfljh20723djfzdv8h6nipw01825lhiknyqz17aj2x2ymzcq";
-      name = "kactivities-stats-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kactivities-stats-5.92.0.tar.xz";
+      sha256 = "0lgp7zxgjmjm02x4mydlv6ivmlxqjkklav5vfwgjgf6v1qp161i2";
+      name = "kactivities-stats-5.92.0.tar.xz";
     };
   };
   kapidox = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kapidox-5.91.0.tar.xz";
-      sha256 = "1xxpl8rn49d2cr7ld94j3wsg21019l2kq14p5bvilisnj3salka3";
-      name = "kapidox-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kapidox-5.92.0.tar.xz";
+      sha256 = "0vd5k4wmmawbhyy3cxj0gjidf4haghwbsbly9yr3zg3qb3g02ljg";
+      name = "kapidox-5.92.0.tar.xz";
     };
   };
   karchive = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/karchive-5.91.0.tar.xz";
-      sha256 = "1kjc47zzdd9jhcmynq6zw6y6zaj2c1i8pxvszx3d9x5asaz2qq53";
-      name = "karchive-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/karchive-5.92.0.tar.xz";
+      sha256 = "1blzm6vf8kpflam4671r1y4svrsb79bglln7aia7baqh7a6a4xjh";
+      name = "karchive-5.92.0.tar.xz";
     };
   };
   kauth = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kauth-5.91.0.tar.xz";
-      sha256 = "001svdyvs8qc6h8zkb9x072npkz6xabz6j0djjb380gl9h9wnrgq";
-      name = "kauth-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kauth-5.92.0.tar.xz";
+      sha256 = "0a27z9xr5ccxfcxmx93vs4hgxc388nsd9ac906mdh475ivv4p0j4";
+      name = "kauth-5.92.0.tar.xz";
     };
   };
   kbookmarks = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kbookmarks-5.91.0.tar.xz";
-      sha256 = "0iqfngsvpbgxk6h8l68idcp97df28sa2zwj707zs0mf2bl9k68m4";
-      name = "kbookmarks-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kbookmarks-5.92.0.tar.xz";
+      sha256 = "0hym3558xnp3h7q8kf1ljcy65r3g37mcmqb1ll3nxd912rv4wl4r";
+      name = "kbookmarks-5.92.0.tar.xz";
     };
   };
   kcalendarcore = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kcalendarcore-5.91.0.tar.xz";
-      sha256 = "0gkn0mzk3za86pjrpi8gd9d71bfv0ihzkgn8yy1ik3dw1rf9gxip";
-      name = "kcalendarcore-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kcalendarcore-5.92.0.tar.xz";
+      sha256 = "0fhbas8i7i08z4x32yq49admiz8vk4h9vwgkh7qy14lbzf6ydwkg";
+      name = "kcalendarcore-5.92.0.tar.xz";
     };
   };
   kcmutils = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kcmutils-5.91.0.tar.xz";
-      sha256 = "009r9r7fz1588g2cnqw585d2fz170x8j8bip1zqr7i4jl21ms68s";
-      name = "kcmutils-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kcmutils-5.92.0.tar.xz";
+      sha256 = "0fldpkhq4ysma4m6qylr7kqvxw0rb11x5abz5921bhl5zicfcjfx";
+      name = "kcmutils-5.92.0.tar.xz";
     };
   };
   kcodecs = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kcodecs-5.91.0.tar.xz";
-      sha256 = "0qkwvbp4vp3w57f3fyjknxd66qac77hl77mf042c7jxjl5vq7h1y";
-      name = "kcodecs-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kcodecs-5.92.0.tar.xz";
+      sha256 = "0xfjc0diljx081as3b500awybay9l3sfl59792h5z3clafjbgrfn";
+      name = "kcodecs-5.92.0.tar.xz";
     };
   };
   kcompletion = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kcompletion-5.91.0.tar.xz";
-      sha256 = "1l6z85a4rh3vrf4x5g3pqvp0q36gwmw0fbp9ny1iaqyy21dlh8i4";
-      name = "kcompletion-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kcompletion-5.92.0.tar.xz";
+      sha256 = "1svwvj9jxkgcddfdila10ggdmsabs22vnhf9k7isp2zfdif55w88";
+      name = "kcompletion-5.92.0.tar.xz";
     };
   };
   kconfig = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kconfig-5.91.0.tar.xz";
-      sha256 = "0axdnqipa8xgx864zylxllnzchlp50q59bbfw3c98svvvkm3yg56";
-      name = "kconfig-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kconfig-5.92.0.tar.xz";
+      sha256 = "08q57f3wxj22d485s0ph53p44yrkjb376817470a0s43p10vc0bq";
+      name = "kconfig-5.92.0.tar.xz";
     };
   };
   kconfigwidgets = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kconfigwidgets-5.91.0.tar.xz";
-      sha256 = "01mvv01hv64wadjh8xk3hhp1vbs04cvbrjpfl1g9cv2sa6hr7102";
-      name = "kconfigwidgets-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kconfigwidgets-5.92.0.tar.xz";
+      sha256 = "0ji799xd45lpnd70a9bizicfz2bsmlxq6r0fqgn0ghwsbp9ywna2";
+      name = "kconfigwidgets-5.92.0.tar.xz";
     };
   };
   kcontacts = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kcontacts-5.91.0.tar.xz";
-      sha256 = "1c839c9rvys3jwmi3fzw06r1nhgvrb4z8sdh8gda0w03vqh7h1hv";
-      name = "kcontacts-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kcontacts-5.92.0.tar.xz";
+      sha256 = "1kik4pvy8snvj6rsc9pfbcpc8rrcn0k4pjj1h9m221zma1p00xhj";
+      name = "kcontacts-5.92.0.tar.xz";
     };
   };
   kcoreaddons = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kcoreaddons-5.91.0.tar.xz";
-      sha256 = "16vimllvcs6rnb1ccbv9zg8hxbzacisgrlffyvwm608f4q1xmqyz";
-      name = "kcoreaddons-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kcoreaddons-5.92.0.tar.xz";
+      sha256 = "0rv63byrxwf9zdpx347rxybpk2j9yyjqm323j60vb8ja6a7p2pyz";
+      name = "kcoreaddons-5.92.0.tar.xz";
     };
   };
   kcrash = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kcrash-5.91.0.tar.xz";
-      sha256 = "0gdknmp5a36ipvzms4jhxywyxpjh0vy26861c54jfsk13yircjal";
-      name = "kcrash-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kcrash-5.92.0.tar.xz";
+      sha256 = "1ir64mlv49vh3vz81r22q3sx0fichiwjr8qw5jf5vx96a1dn1icv";
+      name = "kcrash-5.92.0.tar.xz";
     };
   };
   kdav = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kdav-5.91.0.tar.xz";
-      sha256 = "026w3bk2lmc7lqzra8w9jq8i2l1hvqsxz36r1jzj9p01skhdm32v";
-      name = "kdav-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kdav-5.92.0.tar.xz";
+      sha256 = "1i5i6bkjairz1slk3fhrxd3s8wkcdaqg55jg2bv86kqh7d3nrcgk";
+      name = "kdav-5.92.0.tar.xz";
     };
   };
   kdbusaddons = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kdbusaddons-5.91.0.tar.xz";
-      sha256 = "18qhpj0s4abypkb8ix2d84wv1kqv6qxyblninn2f9hjkl2dnlwis";
-      name = "kdbusaddons-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kdbusaddons-5.92.0.tar.xz";
+      sha256 = "0m5fd396xi3dhc45zwxjrrxr2bhlrc8g8m7n17jq1ylzqhyg60vw";
+      name = "kdbusaddons-5.92.0.tar.xz";
     };
   };
   kdeclarative = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kdeclarative-5.91.0.tar.xz";
-      sha256 = "183df5c0xyjqsip0izqvvk4wy2bjb973900s1wqsldhhvc7gpf7z";
-      name = "kdeclarative-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kdeclarative-5.92.0.tar.xz";
+      sha256 = "1cymh8clcajk9cl6r443cpqk6vmp4x12ngc6wgp08z53zrvlv5py";
+      name = "kdeclarative-5.92.0.tar.xz";
     };
   };
   kded = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kded-5.91.0.tar.xz";
-      sha256 = "1zi0sixlzaxvw4lfil2r36i3xrav3vfwxp2r1lp4n65dpl7nv7p5";
-      name = "kded-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kded-5.92.0.tar.xz";
+      sha256 = "0v0fak84nw4lb4qc1irb9sn5nh5k7qrhnfav5smn3cvchldm6dc3";
+      name = "kded-5.92.0.tar.xz";
     };
   };
   kdelibs4support = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/portingAids/kdelibs4support-5.91.0.tar.xz";
-      sha256 = "1373fi9vi7ki8frr0lsw6yp335i95v8yq2j41s7ip003dpy4hr2g";
-      name = "kdelibs4support-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/portingAids/kdelibs4support-5.92.0.tar.xz";
+      sha256 = "1q7d0i09klkhsiwq7i91ypxakdr5b841zdb60q7yjzcdmn25wbi9";
+      name = "kdelibs4support-5.92.0.tar.xz";
     };
   };
   kdesignerplugin = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/portingAids/kdesignerplugin-5.91.0.tar.xz";
-      sha256 = "07lvvryc3k418hd0j7ddlqhid26c51isa8mvk7g6gd0v2x3gp76q";
-      name = "kdesignerplugin-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/portingAids/kdesignerplugin-5.92.0.tar.xz";
+      sha256 = "0kial8k6qr39871v103952d0qcs0hm25y6k0vdg4y8ns8nrmjs06";
+      name = "kdesignerplugin-5.92.0.tar.xz";
     };
   };
   kdesu = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kdesu-5.91.0.tar.xz";
-      sha256 = "1wj099w810dabqn43pqis4sism3zwq3d1qa9mvcdyjafqbl7xnjm";
-      name = "kdesu-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kdesu-5.92.0.tar.xz";
+      sha256 = "1yjyz4v0gn7ys7zy4ymn47zggxxmgd37big005c6g85dm63xr1s6";
+      name = "kdesu-5.92.0.tar.xz";
     };
   };
   kdewebkit = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/portingAids/kdewebkit-5.91.0.tar.xz";
-      sha256 = "1mln0w1dzrbpm373vfpcyss4xxnrfgwh9nhzr8wmzs8965bn3wqq";
-      name = "kdewebkit-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/portingAids/kdewebkit-5.92.0.tar.xz";
+      sha256 = "1dni134qbs5yff7zgk4n3sfjwblzarblg16rj35l59l6mly7f2jd";
+      name = "kdewebkit-5.92.0.tar.xz";
     };
   };
   kdnssd = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kdnssd-5.91.0.tar.xz";
-      sha256 = "1smzwh7lvz8g7vydxnd2kkh0ymg7yp6akc7k2vg8q65pa6pxqn3g";
-      name = "kdnssd-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kdnssd-5.92.0.tar.xz";
+      sha256 = "1m24v36pphy591z1xp90i0yxv70c62iinvy4gspdi15bz94sydjz";
+      name = "kdnssd-5.92.0.tar.xz";
     };
   };
   kdoctools = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kdoctools-5.91.0.tar.xz";
-      sha256 = "02lr4l4n5gnv7ffzml8lbrdwgfpq6m7ayhz3bdqqijdfvw6h283n";
-      name = "kdoctools-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kdoctools-5.92.0.tar.xz";
+      sha256 = "0w08fa8rl0dhp59lv6xcvypahl6pxda6cr0vv0f0xv0xp6wax8w6";
+      name = "kdoctools-5.92.0.tar.xz";
     };
   };
   kemoticons = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kemoticons-5.91.0.tar.xz";
-      sha256 = "1jznkiq87rkndv10xs6974b5k0v82ly32agy5acxc2xy9wq7la0h";
-      name = "kemoticons-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kemoticons-5.92.0.tar.xz";
+      sha256 = "01wzy3mwfz4sqpq8i1hfbbymajp55axryiaqkfr9r2n1844y7kzx";
+      name = "kemoticons-5.92.0.tar.xz";
     };
   };
   kfilemetadata = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kfilemetadata-5.91.0.tar.xz";
-      sha256 = "1z030irzcvmjq329nwfk3h8cd51dwy9mppnwbgcd0lw6y3bka0rq";
-      name = "kfilemetadata-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kfilemetadata-5.92.0.tar.xz";
+      sha256 = "1khmx9kd1jhd6j7rmfww3vmyjz2pg36mpsdn0bc77kwl21ax696n";
+      name = "kfilemetadata-5.92.0.tar.xz";
     };
   };
   kglobalaccel = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kglobalaccel-5.91.0.tar.xz";
-      sha256 = "09wscg6f19sh314ywpxp47pdr1xf1wzpjchg9rcjg207zrfhqqf0";
-      name = "kglobalaccel-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kglobalaccel-5.92.0.tar.xz";
+      sha256 = "0lhlb274pvv7rpkcsccqbv81bh8iklanp29g0k28wrv3kckiwyxy";
+      name = "kglobalaccel-5.92.0.tar.xz";
     };
   };
   kguiaddons = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kguiaddons-5.91.0.tar.xz";
-      sha256 = "0gn8lvpm4i11s5vavlpm162bizjkmh5cb4dhj3p34dlp4vcc4mky";
-      name = "kguiaddons-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kguiaddons-5.92.0.tar.xz";
+      sha256 = "0pyzgyrglvz2m11b82rycs9fbmzpfgzabnjkvsq00agjcnjparqg";
+      name = "kguiaddons-5.92.0.tar.xz";
     };
   };
   kholidays = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kholidays-5.91.0.tar.xz";
-      sha256 = "165vfmi5y8l00ng494469w5s1gjnf9zkggqrzmq65dfkdis3amdm";
-      name = "kholidays-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kholidays-5.92.0.tar.xz";
+      sha256 = "042bdg46hkpg66vdp9gk13wck5yhks8s6i9qz9xzh2mikz285lqf";
+      name = "kholidays-5.92.0.tar.xz";
     };
   };
   khtml = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/portingAids/khtml-5.91.0.tar.xz";
-      sha256 = "1ldkk1f954mmgz30vqa895z1nw2jaknnb53lsd5vqxzxi3cmc054";
-      name = "khtml-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/portingAids/khtml-5.92.0.tar.xz";
+      sha256 = "06hpjcm5yrfj1056vvv9dklccd0a1y09zm8ch4a5d8l2lfgdg8ci";
+      name = "khtml-5.92.0.tar.xz";
     };
   };
   ki18n = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/ki18n-5.91.0.tar.xz";
-      sha256 = "11gdd2gvzsz3r8zvqbxxwbpwjvjwnzzhzyrd4spbpdy0w7j8n6ly";
-      name = "ki18n-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/ki18n-5.92.0.tar.xz";
+      sha256 = "0xsp77iaxf72i0ri3pb6x5rrdz3cv8rxcaqcrynisvsmx7l35005";
+      name = "ki18n-5.92.0.tar.xz";
     };
   };
   kiconthemes = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kiconthemes-5.91.0.tar.xz";
-      sha256 = "1khh4ngivwdj9rxxcpx08ka8anskc9i1z9n2zijp4m5ix8mmj3c2";
-      name = "kiconthemes-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kiconthemes-5.92.0.tar.xz";
+      sha256 = "08yb6f980p620dfklfiyp83lcsqw4dds9qwzd6xpn2mzz07p2a11";
+      name = "kiconthemes-5.92.0.tar.xz";
     };
   };
   kidletime = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kidletime-5.91.0.tar.xz";
-      sha256 = "12qmiwc8p3izj1y5h0rndj2s496ckm1p85dv4g51zbpg7m8a48qv";
-      name = "kidletime-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kidletime-5.92.0.tar.xz";
+      sha256 = "1mw0jarqv2ypxwgf4qaxqlw0sijw0is36sasrfz8grbykwi18bz1";
+      name = "kidletime-5.92.0.tar.xz";
     };
   };
   kimageformats = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kimageformats-5.91.0.tar.xz";
-      sha256 = "0df8in33xwajqay487w0hjfsplz8y51w9sjb75na7yqsn75p38xb";
-      name = "kimageformats-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kimageformats-5.92.0.tar.xz";
+      sha256 = "0sd3xhqh3zgy4jq8fc1llqjrxizylbsz58njz2dxqjas2a4rj16f";
+      name = "kimageformats-5.92.0.tar.xz";
     };
   };
   kinit = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kinit-5.91.0.tar.xz";
-      sha256 = "1y62k24mwzbg4gchvjb8wn6ygq57wc72clb3jgyipw034czdihvi";
-      name = "kinit-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kinit-5.92.0.tar.xz";
+      sha256 = "1kpkqnq9krxlzhripwjhw3n55p5sxqsvj6nb2pqb9m0ppw97jlfb";
+      name = "kinit-5.92.0.tar.xz";
     };
   };
   kio = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kio-5.91.0.tar.xz";
-      sha256 = "14v28qilb5ayv9shw86hb88k60nr4bbd2pa4vwsqij9xkwlympgj";
-      name = "kio-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kio-5.92.0.tar.xz";
+      sha256 = "1cscsjb2v0zygzazfhcflc3gb5ny1a79g3i6glyzw6ppj2c3yhyl";
+      name = "kio-5.92.0.tar.xz";
     };
   };
   kirigami2 = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kirigami2-5.91.0.tar.xz";
-      sha256 = "0ifljwa6hli2rndfadpzs30dpwc99nnvcm3yi9j5dim2bdf6glwc";
-      name = "kirigami2-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kirigami2-5.92.0.tar.xz";
+      sha256 = "0p1x40p38pr9rvzwil57asgsaa95qpjqi9npwv4pgibhxacgznha";
+      name = "kirigami2-5.92.0.tar.xz";
     };
   };
   kitemmodels = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kitemmodels-5.91.0.tar.xz";
-      sha256 = "189kgrw2vjr9067mqr4f2sv06xmnjaapry0bf8s41v6r9v7py708";
-      name = "kitemmodels-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kitemmodels-5.92.0.tar.xz";
+      sha256 = "16z8m11cyrapf6m56gmpjmvcgan7s50si8rl1cbbid02src7yp76";
+      name = "kitemmodels-5.92.0.tar.xz";
     };
   };
   kitemviews = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kitemviews-5.91.0.tar.xz";
-      sha256 = "16cm4zmv1ngrsmy6k0ybv5wxd0g8cc8zwq6ab7jvs7a04sykv238";
-      name = "kitemviews-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kitemviews-5.92.0.tar.xz";
+      sha256 = "1ml6i1km22xsprldkzmngfh9xs5vdhlfvc6f7aq5hx9q5114v2q5";
+      name = "kitemviews-5.92.0.tar.xz";
     };
   };
   kjobwidgets = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kjobwidgets-5.91.0.tar.xz";
-      sha256 = "14pkyd6j78kignr62xfkvpyi2fwvzcvcsdnn23h8jxkhwm2ri42v";
-      name = "kjobwidgets-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kjobwidgets-5.92.0.tar.xz";
+      sha256 = "09l5zgr5mn29v410ng5rccdg2bki9r6cb8y2lrijzgfxfxpvj96z";
+      name = "kjobwidgets-5.92.0.tar.xz";
     };
   };
   kjs = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/portingAids/kjs-5.91.0.tar.xz";
-      sha256 = "0jbwlnmf8whzgjkrbnsvdsnn3kv0h44ghf63m2qcgg2l9wb0j8rj";
-      name = "kjs-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/portingAids/kjs-5.92.0.tar.xz";
+      sha256 = "067ilsm78x03kf5fs2xmlasvy2712k0xrsa404g2zj81fm92s1q4";
+      name = "kjs-5.92.0.tar.xz";
     };
   };
   kjsembed = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/portingAids/kjsembed-5.91.0.tar.xz";
-      sha256 = "124y7518jhjg3y2x7bcyl6b3c0bfxfbgd2sz6dwk45y4byx7rl60";
-      name = "kjsembed-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/portingAids/kjsembed-5.92.0.tar.xz";
+      sha256 = "0db0r8v0bhp3razwyvmvk9r4psl14vgn23c4cm2q1b5pl0w6bhnp";
+      name = "kjsembed-5.92.0.tar.xz";
     };
   };
   kmediaplayer = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/portingAids/kmediaplayer-5.91.0.tar.xz";
-      sha256 = "0rn9azrj8k1m67y9ni0f3nwl9ldf1ksiqv6dgnzrx6xh0rxfm2h1";
-      name = "kmediaplayer-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/portingAids/kmediaplayer-5.92.0.tar.xz";
+      sha256 = "19lpib2wj91w8shsf9056nwi46qja8nh96hj164ydqlkslpfnf7y";
+      name = "kmediaplayer-5.92.0.tar.xz";
     };
   };
   knewstuff = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/knewstuff-5.91.0.tar.xz";
-      sha256 = "0akaxi9klmpwn4pyr6ys5sxcapdspldq1f64im7vd6byzqrgpnax";
-      name = "knewstuff-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/knewstuff-5.92.0.tar.xz";
+      sha256 = "0gvclv1a6xyrqa24svb56kp9zf2wi98as3q30lnwf0bpbpjsw52b";
+      name = "knewstuff-5.92.0.tar.xz";
     };
   };
   knotifications = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/knotifications-5.91.0.tar.xz";
-      sha256 = "1207rimq8si1zxnn827631a1hskrd3m3ilgaj3wj859qrbkqmxzm";
-      name = "knotifications-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/knotifications-5.92.0.tar.xz";
+      sha256 = "1dwlx8w810l0cvy72mj52saf4x7i9p3xpqpjx4chy54n7mg0jklc";
+      name = "knotifications-5.92.0.tar.xz";
     };
   };
   knotifyconfig = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/knotifyconfig-5.91.0.tar.xz";
-      sha256 = "07m5mphd8mrak5sdqlldbcd51946v49xpcwi9fhn7w0kx29hknyf";
-      name = "knotifyconfig-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/knotifyconfig-5.92.0.tar.xz";
+      sha256 = "0fii74r0ap3n08lp9kj7pki0msqjsia2jnmavyps51kq37im5x7p";
+      name = "knotifyconfig-5.92.0.tar.xz";
     };
   };
   kpackage = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kpackage-5.91.0.tar.xz";
-      sha256 = "12w8lfwifa107wlrld3zz774hczn9mkib6wqxw24yxxmzfw9lc2i";
-      name = "kpackage-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kpackage-5.92.0.tar.xz";
+      sha256 = "1av6v0629a8yi0wpl7xgyd0gsn5gi228abdlvbk4dzrx9vxpa7rn";
+      name = "kpackage-5.92.0.tar.xz";
     };
   };
   kparts = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kparts-5.91.0.tar.xz";
-      sha256 = "10ni6b114acjnmrahvvqw75iqkc10ii97y3z7lirj2727a3qmzzj";
-      name = "kparts-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kparts-5.92.0.tar.xz";
+      sha256 = "061kzss4b0bw67j3mc8h36mbaji077k3alk2ghcir7qix6r1hkh9";
+      name = "kparts-5.92.0.tar.xz";
     };
   };
   kpeople = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kpeople-5.91.0.tar.xz";
-      sha256 = "09l2q8cg9p8g7zkd1mjx6x08bqkr4ykxjibskc184asff7v47gvp";
-      name = "kpeople-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kpeople-5.92.0.tar.xz";
+      sha256 = "0wf555pqiannxb115mlbl43ds1365im95vadsbzv1gdz668p44xk";
+      name = "kpeople-5.92.0.tar.xz";
     };
   };
   kplotting = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kplotting-5.91.0.tar.xz";
-      sha256 = "0rgmmliw9cfi0j2miszqz2kphqm04r5nfs8dqq6pnvclk1k9kss6";
-      name = "kplotting-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kplotting-5.92.0.tar.xz";
+      sha256 = "1l8y0xlwjyv1l4g0mag4bgf906jc654ygky1bribzay4wki66pf9";
+      name = "kplotting-5.92.0.tar.xz";
     };
   };
   kpty = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kpty-5.91.0.tar.xz";
-      sha256 = "1yy1k96kikvvnlyd00krc08ifiqbrz0x5vwv3pgdbpnwgl8p580d";
-      name = "kpty-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kpty-5.92.0.tar.xz";
+      sha256 = "0lp0bqlg1i0a5vl6gvvkngbsha8ab38z6b3sjvpmk83vixgsq7fb";
+      name = "kpty-5.92.0.tar.xz";
     };
   };
   kquickcharts = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kquickcharts-5.91.0.tar.xz";
-      sha256 = "1ghiymm257b8xgmkibb7s7bwb28x3zhnrgrrsya47q5njb87h0ck";
-      name = "kquickcharts-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kquickcharts-5.92.0.tar.xz";
+      sha256 = "0y467vqx2r6dcyqwn6p7hbg4q7n0xdh4lcqwyin4cdxi14lhwhqs";
+      name = "kquickcharts-5.92.0.tar.xz";
     };
   };
   kross = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/portingAids/kross-5.91.0.tar.xz";
-      sha256 = "06f8220jmvjsfbzjkr2ybwicwjffbi3yw9sr3bcyrilchrrpgqal";
-      name = "kross-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/portingAids/kross-5.92.0.tar.xz";
+      sha256 = "1gqy1h5mqsfgbpqkdrhs7xf77kw4yy19mryda1fwjcqzxd02i7hj";
+      name = "kross-5.92.0.tar.xz";
     };
   };
   krunner = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/krunner-5.91.0.tar.xz";
-      sha256 = "17iaw55rkzyfpgkbw2an6pa4wid79b0dnb3310vfaq0xkm0gjxq6";
-      name = "krunner-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/krunner-5.92.0.tar.xz";
+      sha256 = "1vcgqjyx9i8k9q4j6q9p4f7sp76aap8gqn2v269lb7imcrfhrj1z";
+      name = "krunner-5.92.0.tar.xz";
     };
   };
   kservice = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kservice-5.91.0.tar.xz";
-      sha256 = "0m4j7djiyapi1hm23lz9nd238rrlldxlggzkqq056z486v2137bp";
-      name = "kservice-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kservice-5.92.0.tar.xz";
+      sha256 = "1y1fr1galhhi6yf9w9qcvkp1zb63ifvr4wb43jwpvpms9djxkqjj";
+      name = "kservice-5.92.0.tar.xz";
     };
   };
   ktexteditor = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/ktexteditor-5.91.0.tar.xz";
-      sha256 = "1bkz6v1y5vyxav398a6224ldqa9pqhbad3vmhxrjb2hxcbha2cpm";
-      name = "ktexteditor-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/ktexteditor-5.92.0.tar.xz";
+      sha256 = "137v8g7j8kkv9yh30ysmm5n6imyyd3jmd0f6w5ni00kxl0y1rl5w";
+      name = "ktexteditor-5.92.0.tar.xz";
     };
   };
   ktextwidgets = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/ktextwidgets-5.91.0.tar.xz";
-      sha256 = "0xmzrak5mwg1l4v38g14i7j1yr3j6sj13q2iqa433hs5agl6l6n4";
-      name = "ktextwidgets-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/ktextwidgets-5.92.0.tar.xz";
+      sha256 = "030bz67n6m3fkbldnr48mzicm9cgnr9gdpwipaghl5x5k3s7p1py";
+      name = "ktextwidgets-5.92.0.tar.xz";
     };
   };
   kunitconversion = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kunitconversion-5.91.0.tar.xz";
-      sha256 = "0n2v0f08s71z2imhn41jkm2knjvk7bkwmcz70gs8h97ykrj6niap";
-      name = "kunitconversion-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kunitconversion-5.92.0.tar.xz";
+      sha256 = "17ph75rg3y652ii0yxm9s8xrbpjs9pdfsrsajm220mi9ng2b9qj7";
+      name = "kunitconversion-5.92.0.tar.xz";
     };
   };
   kwallet = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kwallet-5.91.0.tar.xz";
-      sha256 = "1z1qb6a2b5rqj7js88ms8n67fbs885pw6djbf1l86na2zhf0adip";
-      name = "kwallet-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kwallet-5.92.0.tar.xz";
+      sha256 = "1ra0cxw70vb6pks8sqw5k895rnrfzwxhg6vh4yc5dgzdn1nagb3i";
+      name = "kwallet-5.92.0.tar.xz";
     };
   };
   kwayland = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kwayland-5.91.0.tar.xz";
-      sha256 = "1a03ckacp39lpsqyykkm6lxajxm71s6ifpzgj8q0a37v75jzmz9y";
-      name = "kwayland-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kwayland-5.92.0.tar.xz";
+      sha256 = "15fizsbdl6psmi24fvpfk9dvh61q07irzavpkl961qp4zg79gq4m";
+      name = "kwayland-5.92.0.tar.xz";
     };
   };
   kwidgetsaddons = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kwidgetsaddons-5.91.0.tar.xz";
-      sha256 = "03pj98sgybkcz487vr774x05w46imnipq2794nkv426nnhyxrd73";
-      name = "kwidgetsaddons-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kwidgetsaddons-5.92.0.tar.xz";
+      sha256 = "0b0z24j162j39zfycl5al69xcqgdsr96p7ii3prm1mbyda6mbqyh";
+      name = "kwidgetsaddons-5.92.0.tar.xz";
     };
   };
   kwindowsystem = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kwindowsystem-5.91.0.tar.xz";
-      sha256 = "1yy02fvfabrsvdpmrkdnjdsdd3d2crxavsl47si6ry8fdxb90y95";
-      name = "kwindowsystem-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kwindowsystem-5.92.0.tar.xz";
+      sha256 = "103xvhzlggi05k16s9kssy7g5a74k9yildj1a4igqwi39wmvvnyw";
+      name = "kwindowsystem-5.92.0.tar.xz";
     };
   };
   kxmlgui = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/kxmlgui-5.91.0.tar.xz";
-      sha256 = "1qww2isx99lx0mn1dv0vzrvmr2xdp8zgikyvgw1wf8hfay3v2s1g";
-      name = "kxmlgui-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/kxmlgui-5.92.0.tar.xz";
+      sha256 = "0hxpjyjr77q2gyi3hg13119aza3634rvmllbj66pi7y37h6lr2z0";
+      name = "kxmlgui-5.92.0.tar.xz";
     };
   };
   kxmlrpcclient = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/portingAids/kxmlrpcclient-5.91.0.tar.xz";
-      sha256 = "1bnymf5wq4apjsgshvbhcggdw7jc0yxv4jag3k19ff9820lskhph";
-      name = "kxmlrpcclient-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/portingAids/kxmlrpcclient-5.92.0.tar.xz";
+      sha256 = "1axy34g5ahd1c3qg7ab7h786jibpaj4dvj45x50x5czq06idqchf";
+      name = "kxmlrpcclient-5.92.0.tar.xz";
     };
   };
   modemmanager-qt = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/modemmanager-qt-5.91.0.tar.xz";
-      sha256 = "15l46lkh8nkal1nai494dabaysy581jzi8nwrv4kjvc6qwc3yrx2";
-      name = "modemmanager-qt-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/modemmanager-qt-5.92.0.tar.xz";
+      sha256 = "162qzq1aqv2l3bi0r01xrfan20r1zhaaqih4dqbaj7vqibsb9l3y";
+      name = "modemmanager-qt-5.92.0.tar.xz";
     };
   };
   networkmanager-qt = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/networkmanager-qt-5.91.0.tar.xz";
-      sha256 = "0f27qin2ks3q7rin53sk9vjjnadjnax99d9k245sjr6fjpczy81f";
-      name = "networkmanager-qt-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/networkmanager-qt-5.92.0.tar.xz";
+      sha256 = "0r7s3fw9fk3pkrzrl1bxsmkf1qbgv3p0jrsskp28f3561vncipai";
+      name = "networkmanager-qt-5.92.0.tar.xz";
     };
   };
   oxygen-icons5 = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/oxygen-icons5-5.91.0.tar.xz";
-      sha256 = "0j3j2lyxr2iz68vasvpjqkix4bnnj6wc4sr97i6x6z06zq0kawai";
-      name = "oxygen-icons5-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/oxygen-icons5-5.92.0.tar.xz";
+      sha256 = "1wcy8bv4d6jns7vaisbvjc8nxriw9vkiz7j4za5ry7wnvlzv126a";
+      name = "oxygen-icons5-5.92.0.tar.xz";
     };
   };
   plasma-framework = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/plasma-framework-5.91.0.tar.xz";
-      sha256 = "0ydhhpnwf7lfl3kdjsw92mgsza5gy292f7v6kyby4ygjnir1hizl";
-      name = "plasma-framework-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/plasma-framework-5.92.0.tar.xz";
+      sha256 = "1xq66lyagjsgfashhqgqgqhda0rqfqf0l5yf1gc4ziv48mibrhn6";
+      name = "plasma-framework-5.92.0.tar.xz";
     };
   };
   prison = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/prison-5.91.0.tar.xz";
-      sha256 = "0k1zp3jzh8gjsji6wh5g8k41zdl8s1vd58ipm0lxy670a71wcqcg";
-      name = "prison-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/prison-5.92.0.tar.xz";
+      sha256 = "07p47q8sva82hglfzp145a1sajlal8b3qshhkicc9rkbsngywvvy";
+      name = "prison-5.92.0.tar.xz";
     };
   };
   purpose = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/purpose-5.91.0.tar.xz";
-      sha256 = "1z6wpz7d9byx4n5zx6chmyy9k1jkmghdgahsvkqsc33z6hnh2b4m";
-      name = "purpose-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/purpose-5.92.0.tar.xz";
+      sha256 = "02j09zf18dwjk17mn841m7cm0qsn7gcz5lff8dad3yah0lc3wqcl";
+      name = "purpose-5.92.0.tar.xz";
     };
   };
   qqc2-desktop-style = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/qqc2-desktop-style-5.91.0.tar.xz";
-      sha256 = "0rd9rvffhif8yckwr7axjcv5iqn5b0jdviij7f9y8vjpkzyjvm8i";
-      name = "qqc2-desktop-style-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/qqc2-desktop-style-5.92.0.tar.xz";
+      sha256 = "1b5xr71lan7ixvd1nfxy9wj21h4wwidsaxa192sha1d8p49hhlwp";
+      name = "qqc2-desktop-style-5.92.0.tar.xz";
     };
   };
   solid = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/solid-5.91.0.tar.xz";
-      sha256 = "1a4k0amyg8mvfr2ld7v8zyphhxv33yybh55vqcshwv4a0jm1wmjg";
-      name = "solid-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/solid-5.92.0.tar.xz";
+      sha256 = "172sid8l1znzxxz0hi5m19yy4vg7l1nbghvzjvh18ssbmxcwh9l9";
+      name = "solid-5.92.0.tar.xz";
     };
   };
   sonnet = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/sonnet-5.91.0.tar.xz";
-      sha256 = "067xj5mllpzl0gnxxljhfi9y4xdgrpqbckm7pykczzqrklrrx8dx";
-      name = "sonnet-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/sonnet-5.92.0.tar.xz";
+      sha256 = "08jps1hy0qvk62wnzn50qi8iaay7xav3hbcj55sk70mm7pd1vz1i";
+      name = "sonnet-5.92.0.tar.xz";
     };
   };
   syndication = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/syndication-5.91.0.tar.xz";
-      sha256 = "1f2kb6mh1xc1k1bn536lq9gq0j2lb65qw4vpp4ixynlfij4zq1gy";
-      name = "syndication-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/syndication-5.92.0.tar.xz";
+      sha256 = "0ijxpnsygwzzybic5lp8gfq57y84vrp3bq7vdbjh3h0345vvk6hw";
+      name = "syndication-5.92.0.tar.xz";
     };
   };
   syntax-highlighting = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/syntax-highlighting-5.91.0.tar.xz";
-      sha256 = "0fprqi2z8issh3jkql6labszkwd3cpvd6qadsg9fi46vfjr4a2ip";
-      name = "syntax-highlighting-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/syntax-highlighting-5.92.0.tar.xz";
+      sha256 = "03p5qzf13nbf54gzad3q1q6i33iggz3ik0ydr9szhj92kfppwd4r";
+      name = "syntax-highlighting-5.92.0.tar.xz";
     };
   };
   threadweaver = {
-    version = "5.91.0";
+    version = "5.92.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.91/threadweaver-5.91.0.tar.xz";
-      sha256 = "1900kqglkwzkjc24mvl0j7jf7xcx6cr6b1g78s5b5m18rw050j12";
-      name = "threadweaver-5.91.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.92/threadweaver-5.92.0.tar.xz";
+      sha256 = "008in2wbl6zr404m9hbqdvy3d4r06mmb3jrr13myldwljqywzc28";
+      name = "threadweaver-5.92.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/kde-frameworks/syndication.nix b/pkgs/development/libraries/kde-frameworks/syndication.nix
index fd5a9b9db8464..1d32f9b702197 100644
--- a/pkgs/development/libraries/kde-frameworks/syndication.nix
+++ b/pkgs/development/libraries/kde-frameworks/syndication.nix
@@ -4,7 +4,7 @@
 }:
 
 mkDerivation {
-  name = "syndication";
+  pname = "syndication";
   meta.maintainers = [ lib.maintainers.bkchr ];
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ kcodecs ];
diff --git a/pkgs/development/libraries/kde-frameworks/syntax-highlighting.nix b/pkgs/development/libraries/kde-frameworks/syntax-highlighting.nix
index a295b23f32101..fee392140f7e3 100644
--- a/pkgs/development/libraries/kde-frameworks/syntax-highlighting.nix
+++ b/pkgs/development/libraries/kde-frameworks/syntax-highlighting.nix
@@ -3,7 +3,7 @@
 }:
 
 mkDerivation {
-  name = "syntax-highlighting";
+  pname = "syntax-highlighting";
   nativeBuildInputs = [ extra-cmake-modules perl ];
   buildInputs = [ qttools ];
   propagatedBuildInputs = [ qtbase ];
diff --git a/pkgs/development/libraries/kde-frameworks/threadweaver.nix b/pkgs/development/libraries/kde-frameworks/threadweaver.nix
index bfa529c9267ae..fb43b9f28b061 100644
--- a/pkgs/development/libraries/kde-frameworks/threadweaver.nix
+++ b/pkgs/development/libraries/kde-frameworks/threadweaver.nix
@@ -5,7 +5,7 @@
 }:
 
 mkDerivation {
-  name = "threadweaver";
+  pname = "threadweaver";
   nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ qtbase ];
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix
index c632c2fdac9e2..e1251b0e942c8 100644
--- a/pkgs/development/libraries/kerberos/krb5.nix
+++ b/pkgs/development/libraries/kerberos/krb5.nix
@@ -18,7 +18,7 @@ let
 in
 with lib;
 stdenv.mkDerivation rec {
-  name = "${type}krb5-${version}";
+  pname = "${type}krb5";
   version = "1.19.2";
 
   src = fetchurl {
diff --git a/pkgs/development/libraries/keybinder/default.nix b/pkgs/development/libraries/keybinder/default.nix
index 95eb0ce4de0a1..ee1b4fb8ce8a8 100644
--- a/pkgs/development/libraries/keybinder/default.nix
+++ b/pkgs/development/libraries/keybinder/default.nix
@@ -15,9 +15,9 @@ in stdenv.mkDerivation rec {
     sha256 = "sha256-q/+hqhvXIknT+/5oENcWSr1OuF00kaZlXFUP1fdCMlk=";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config autoconf automake ];
   buildInputs = [
-    autoconf automake libtool gnome.gnome-common gtk-doc gtk2
+    libtool gnome.gnome-common gtk-doc gtk2
     python pygtk lua gobject-introspection
   ];
 
diff --git a/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix b/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix
index 732efda1df466..8ff7b9332476b 100644
--- a/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix
+++ b/pkgs/development/libraries/khronos-ocl-icd-loader/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, opencl-headers, cmake, withTracing ? false }:
 
 stdenv.mkDerivation rec {
-  name = "khronos-ocl-icd-loader-${version}";
+  pname = "khronos-ocl-icd-loader";
   version = "2022.01.04";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/libraries/languagemachines/frog.nix b/pkgs/development/libraries/languagemachines/frog.nix
index 130fc60a12c90..50167f28a9db2 100644
--- a/pkgs/development/libraries/languagemachines/frog.nix
+++ b/pkgs/development/libraries/languagemachines/frog.nix
@@ -9,12 +9,12 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "frog-${release.version}";
+  pname = "frog";
   version = release.version;
   src = fetchurl { inherit (release) url sha256;
                    name = "frog-v${release.version}.tar.gz"; };
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ automake autoconf bzip2 libtar libtool autoconf-archive
+  nativeBuildInputs = [ pkg-config automake autoconf ];
+  buildInputs = [ bzip2 libtar libtool autoconf-archive
                   libxml2 icu
                   languageMachines.ticcutils
                   languageMachines.timbl
diff --git a/pkgs/development/libraries/languagemachines/frogdata.nix b/pkgs/development/libraries/languagemachines/frogdata.nix
index 61134a8ebfb3b..5b1b07e792772 100644
--- a/pkgs/development/libraries/languagemachines/frogdata.nix
+++ b/pkgs/development/libraries/languagemachines/frogdata.nix
@@ -7,12 +7,12 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "frogdata-${release.version}";
+  pname = "frogdata";
   version = release.version;
   src = fetchurl { inherit (release) url sha256;
                    name = "frogdata-${release.version}.tar.gz"; };
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ automake autoconf libtool autoconf-archive
+  nativeBuildInputs = [ pkg-config automake autoconf ];
+  buildInputs = [ libtool autoconf-archive
                 ];
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/languagemachines/libfolia.nix b/pkgs/development/libraries/languagemachines/libfolia.nix
index 3137d86468339..6cc5bcade2050 100644
--- a/pkgs/development/libraries/languagemachines/libfolia.nix
+++ b/pkgs/development/libraries/languagemachines/libfolia.nix
@@ -8,12 +8,12 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "libfolia-${release.version}";
+  pname = "libfolia";
   version = release.version;
   src = fetchurl { inherit (release) url sha256;
                    name = "libfolia-${release.version}.tar.gz"; };
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ automake autoconf bzip2 libtool autoconf-archive libtar libxml2 icu languageMachines.ticcutils ];
+  nativeBuildInputs = [ pkg-config automake autoconf ];
+  buildInputs = [ bzip2 libtool autoconf-archive libtar libxml2 icu languageMachines.ticcutils ];
   preConfigure = "sh bootstrap.sh";
 
   # compat with icu61+ https://github.com/unicode-org/icu/blob/release-64-2/icu4c/readme.html#L554
diff --git a/pkgs/development/libraries/languagemachines/mbt.nix b/pkgs/development/libraries/languagemachines/mbt.nix
index 49fc3c850ae8a..9556c1d567011 100644
--- a/pkgs/development/libraries/languagemachines/mbt.nix
+++ b/pkgs/development/libraries/languagemachines/mbt.nix
@@ -9,12 +9,12 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "mbt-${release.version}";
+  pname = "mbt";
   version = release.version;
   src = fetchurl { inherit (release) url sha256;
                    name = "mbt-${release.version}.tar.gz"; };
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ automake autoconf bzip2 libtar libtool autoconf-archive
+  nativeBuildInputs = [ pkg-config automake autoconf ];
+  buildInputs = [ bzip2 libtar libtool autoconf-archive
                   libxml2
                   languageMachines.ticcutils
                   languageMachines.timbl
diff --git a/pkgs/development/libraries/languagemachines/ticcutils.nix b/pkgs/development/libraries/languagemachines/ticcutils.nix
index 53bbd131bfaf4..0b5fef292fcff 100644
--- a/pkgs/development/libraries/languagemachines/ticcutils.nix
+++ b/pkgs/development/libraries/languagemachines/ticcutils.nix
@@ -7,12 +7,12 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "ticcutils-${release.version}";
+  pname = "ticcutils";
   version = release.version;
   src = fetchurl { inherit (release) url sha256;
                    name = "ticcutils-${release.version}.tar.gz"; };
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ automake autoconf libtool autoconf-archive libxml2
+  nativeBuildInputs = [ pkg-config automake autoconf ];
+  buildInputs = [ libtool autoconf-archive libxml2
                   # optional:
                   zlib bzip2 libtar
                   # broken but optional: boost
diff --git a/pkgs/development/libraries/languagemachines/timbl.nix b/pkgs/development/libraries/languagemachines/timbl.nix
index 9ca0b080a21d0..1585798170b33 100644
--- a/pkgs/development/libraries/languagemachines/timbl.nix
+++ b/pkgs/development/libraries/languagemachines/timbl.nix
@@ -9,12 +9,12 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "timbl-${release.version}";
+  pname = "timbl";
   version = release.version;
   src = fetchurl { inherit (release) url sha256;
                    name = "timbl-${release.version}.tar.gz"; };
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ automake autoconf bzip2 libtar libtool autoconf-archive
+  nativeBuildInputs = [ pkg-config automake autoconf ];
+  buildInputs = [ bzip2 libtar libtool autoconf-archive
                   libxml2
                   languageMachines.ticcutils
                 ];
diff --git a/pkgs/development/libraries/languagemachines/timblserver.nix b/pkgs/development/libraries/languagemachines/timblserver.nix
index 42bc5edb43f7d..ea40d017d4711 100644
--- a/pkgs/development/libraries/languagemachines/timblserver.nix
+++ b/pkgs/development/libraries/languagemachines/timblserver.nix
@@ -9,12 +9,12 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "timblserver-${release.version}";
+  pname = "timblserver";
   version = release.version;
   src = fetchurl { inherit (release) url sha256;
                    name = "timblserver-${release.version}.tar.gz"; };
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ automake autoconf bzip2 libtar libtool autoconf-archive
+  nativeBuildInputs = [ pkg-config automake autoconf ];
+  buildInputs = [ bzip2 libtar libtool autoconf-archive
                   libxml2
                   languageMachines.ticcutils
                   languageMachines.timbl
diff --git a/pkgs/development/libraries/languagemachines/ucto.nix b/pkgs/development/libraries/languagemachines/ucto.nix
index 429858256068d..f707d9fb8b6eb 100644
--- a/pkgs/development/libraries/languagemachines/ucto.nix
+++ b/pkgs/development/libraries/languagemachines/ucto.nix
@@ -9,12 +9,12 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "ucto-${release.version}";
+  pname = "ucto";
   version = release.version;
   src = fetchurl { inherit (release) url sha256;
                    name = "ucto-${release.version}.tar.gz"; };
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ automake autoconf bzip2 libtool autoconf-archive
+  nativeBuildInputs = [ pkg-config automake autoconf ];
+  buildInputs = [ bzip2 libtool autoconf-archive
                   icu libtar libxml2
                   languageMachines.ticcutils
                   languageMachines.libfolia
diff --git a/pkgs/development/libraries/languagemachines/uctodata.nix b/pkgs/development/libraries/languagemachines/uctodata.nix
index 7f8d4889c62e8..a274b6193eddc 100644
--- a/pkgs/development/libraries/languagemachines/uctodata.nix
+++ b/pkgs/development/libraries/languagemachines/uctodata.nix
@@ -7,12 +7,12 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "uctodata-${release.version}";
+  pname = "uctodata";
   version = release.version;
   src = fetchurl { inherit (release) url sha256;
                    name = "uctodata-${release.version}.tar.gz"; };
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ automake autoconf libtool autoconf-archive ];
+  nativeBuildInputs = [ pkg-config automake autoconf ];
+  buildInputs = [ libtool autoconf-archive ];
   preConfigure = "sh bootstrap.sh";
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/lasso/default.nix b/pkgs/development/libraries/lasso/default.nix
index e5503169fd5f5..30c1477755345 100644
--- a/pkgs/development/libraries/lasso/default.nix
+++ b/pkgs/development/libraries/lasso/default.nix
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
 
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ autoconf automake glib gobject-introspection gtk-doc libtool libxml2 libxslt openssl python27Packages.six xmlsec zlib ];
+  nativeBuildInputs = [ autoreconfHook pkg-config autoconf automake ];
+  buildInputs = [ glib gobject-introspection gtk-doc libtool libxml2 libxslt openssl python27Packages.six xmlsec zlib ];
 
   configurePhase = ''
     ./configure --with-pkg-config=$PKG_CONFIG_PATH \
diff --git a/pkgs/development/libraries/leatherman/default.nix b/pkgs/development/libraries/leatherman/default.nix
index 874c567ed42e8..05cf84144feb7 100644
--- a/pkgs/development/libraries/leatherman/default.nix
+++ b/pkgs/development/libraries/leatherman/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
     owner = "puppetlabs";
   };
 
+  cmakeFlags = [ "-DLEATHERMAN_ENABLE_TESTING=OFF" ];
+
   NIX_CFLAGS_COMPILE = "-Wno-error";
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/libHX/default.nix b/pkgs/development/libraries/libHX/default.nix
index 8761ac1e5ef82..e9f117577e497 100644
--- a/pkgs/development/libraries/libHX/default.nix
+++ b/pkgs/development/libraries/libHX/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
 
   patches = [];
 
-  buildInputs = [ autoconf automake libtool ];
+  nativeBuildInputs = [ autoconf automake ];
+  buildInputs = [ libtool ];
 
   preConfigure = ''
     sh autogen.sh
diff --git a/pkgs/development/libraries/libadwaita/default.nix b/pkgs/development/libraries/libadwaita/default.nix
index 856ec30bccb29..447ad06e9b87d 100644
--- a/pkgs/development/libraries/libadwaita/default.nix
+++ b/pkgs/development/libraries/libadwaita/default.nix
@@ -21,7 +21,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libadwaita";
-  version = "1.0.2";
+  version = "1.1.0";
 
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "devdoc"; # demo app
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     owner = "GNOME";
     repo = "libadwaita";
     rev = version;
-    hash = "sha256-D7Qq8yAWkr/G5I4k8G1+viJkEJSrCBAg31Q+g3U9FcQ=";
+    hash = "sha256-+bgCD2jy3M0gEAtbB+nOptQGEXXkvk1idoggJz4UMy0=";
   };
 
   nativeBuildInputs = [
@@ -91,6 +91,12 @@ stdenv.mkDerivation rec {
     mv $out/share/{doc,gtk-doc}
   '';
 
+  passthru = {
+    updateScript = gnome.updateScript {
+      packageName = pname;
+    };
+  };
+
   meta = with lib; {
     description = "Library to help with developing UI for mobile devices using GTK/GNOME";
     homepage = "https://gitlab.gnome.org/GNOME/libadwaita";
diff --git a/pkgs/development/libraries/libappindicator/default.nix b/pkgs/development/libraries/libappindicator/default.nix
index 469235e2e6af5..8ca2acc11c715 100644
--- a/pkgs/development/libraries/libappindicator/default.nix
+++ b/pkgs/development/libraries/libappindicator/default.nix
@@ -13,8 +13,8 @@ with lib;
 
 
 stdenv.mkDerivation rec {
-  name = let postfix = if gtkVersion == "2" && monoSupport then "sharp" else "gtk${gtkVersion}";
-          in "libappindicator-${postfix}-${version}";
+  pname = let postfix = if gtkVersion == "2" && monoSupport then "sharp" else "gtk${gtkVersion}";
+          in "libappindicator-${postfix}";
   version = "12.10.1+20.10.20200706.1";
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libarchive/default.nix b/pkgs/development/libraries/libarchive/default.nix
index 1cc6fe6f521e9..a448748ff227e 100644
--- a/pkgs/development/libraries/libarchive/default.nix
+++ b/pkgs/development/libraries/libarchive/default.nix
@@ -6,6 +6,9 @@
   # builds fine on windows, but libarchive has trouble linking windows
   # things it depends on for some reason.
   xarSupport ? stdenv.hostPlatform.isUnix,
+
+  # for passthru.tests
+  cmake, nix, samba
 }:
 
 assert xarSupport -> libxml2 != null;
@@ -43,12 +46,16 @@ stdenv.mkDerivation rec {
 
   preFixup = ''
     sed -i $lib/lib/libarchive.la \
-      -e 's|-lcrypto|-L${openssl.out}/lib -lcrypto|' \
+      -e 's|-lcrypto|-L${lib.getLib openssl}/lib -lcrypto|' \
       -e 's|-llzo2|-L${lzo}/lib -llzo2|'
   '';
 
   enableParallelBuilding = true;
 
+  passthru.tests = {
+    inherit cmake nix samba;
+  };
+
   meta = {
     description = "Multi-format archive and compression library";
     longDescription = ''
diff --git a/pkgs/development/libraries/libass/default.nix b/pkgs/development/libraries/libass/default.nix
index 19f6589ec9505..704dcd2c73d07 100644
--- a/pkgs/development/libraries/libass/default.nix
+++ b/pkgs/development/libraries/libass/default.nix
@@ -40,6 +40,5 @@ stdenv.mkDerivation rec {
     license     = licenses.isc;
     platforms   = platforms.unix;
     maintainers = with maintainers; [ codyopel ];
-    repositories.git = "git://github.com/libass/libass.git";
   };
 }
diff --git a/pkgs/development/libraries/libbluray/default.nix b/pkgs/development/libraries/libbluray/default.nix
index 8fd680683dd8e..47015f3b981df 100644
--- a/pkgs/development/libraries/libbluray/default.nix
+++ b/pkgs/development/libraries/libbluray/default.nix
@@ -19,11 +19,11 @@ assert withFonts -> freetype != null;
 
 stdenv.mkDerivation rec {
   pname = "libbluray";
-  version  = "1.3.0";
+  version  = "1.3.1";
 
   src = fetchurl {
     url = "http://get.videolan.org/libbluray/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-4tuvmehOCpcl9Jhby4XUHlLCJhzGUdiISxt5C17wFvk=";
+    sha256 = "sha256-wksPQcW3N7u2XFRP5jSVY3p3HBClGd/IAudp8RK0O3U=";
   };
 
   patches = optional withJava ./BDJ-JARFILE-path.patch;
diff --git a/pkgs/development/libraries/libcangjie/default.nix b/pkgs/development/libraries/libcangjie/default.nix
index 73277d30de3cb..5b68a6526f1d1 100644
--- a/pkgs/development/libraries/libcangjie/default.nix
+++ b/pkgs/development/libraries/libcangjie/default.nix
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-j5IQ0hBefoF8p966YrfZgYCw7ht5twJhYi4l0NneukQ=";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ automake autoconf libtool m4 sqlite ];
+  nativeBuildInputs = [ pkg-config autoconf automake ];
+  buildInputs = [ libtool m4 sqlite ];
 
   configureScript = "./autogen.sh";
 
diff --git a/pkgs/development/libraries/libcbor/default.nix b/pkgs/development/libraries/libcbor/default.nix
index 349b715d8520c..9473c4823fc4d 100644
--- a/pkgs/development/libraries/libcbor/default.nix
+++ b/pkgs/development/libraries/libcbor/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libcbor";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "PJK";
     repo = pname;
     rev = "v${version}";
-    sha256 = "01dv4vxcmbvpphqy16vqiwh25wx11x630js5wfnx7cryarsh9ld7";
+    sha256 = "sha256-Wp/48yQA17mf/dTgeMcMDvPpKOPkfLhQkCnzgGLpLtk=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/libcec/default.nix b/pkgs/development/libraries/libcec/default.nix
index e03416a221c19..039d3af37605f 100644
--- a/pkgs/development/libraries/libcec/default.nix
+++ b/pkgs/development/libraries/libcec/default.nix
@@ -25,7 +25,6 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Allows you (with the right hardware) to control your device with your TV remote control using existing HDMI cabling";
     homepage = "http://libcec.pulse-eight.com";
-    repositories.git = "https://github.com/Pulse-Eight/libcec.git";
     license = lib.licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.titanous ];
diff --git a/pkgs/development/libraries/libcec/platform.nix b/pkgs/development/libraries/libcec/platform.nix
index cba1d0ba4c594..d9594c90b624a 100644
--- a/pkgs/development/libraries/libcec/platform.nix
+++ b/pkgs/development/libraries/libcec/platform.nix
@@ -16,7 +16,6 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Platform library for libcec and Kodi addons";
     homepage = "https://github.com/Pulse-Eight/platform";
-    repositories.git = "https://github.com/Pulse-Eight/platform.git";
     license = lib.licenses.gpl2Plus;
     platforms = platforms.all;
     maintainers = [ maintainers.titanous ];
diff --git a/pkgs/development/libraries/libcollectdclient/default.nix b/pkgs/development/libraries/libcollectdclient/default.nix
index 0bf654ee963cb..919ddcd3f0668 100644
--- a/pkgs/development/libraries/libcollectdclient/default.nix
+++ b/pkgs/development/libraries/libcollectdclient/default.nix
@@ -2,7 +2,8 @@
 with lib;
 
 collectd.overrideAttrs (oldAttrs: {
-  name = "libcollectdclient-${collectd.version}";
+  pname = "libcollectdclient";
+  inherit (collectd) version;
   buildInputs = [ ];
 
   configureFlags = (oldAttrs.configureFlags or []) ++ [
diff --git a/pkgs/development/libraries/libcrafter/default.nix b/pkgs/development/libraries/libcrafter/default.nix
index 22543972c1e6c..029bec5630bf4 100644
--- a/pkgs/development/libraries/libcrafter/default.nix
+++ b/pkgs/development/libraries/libcrafter/default.nix
@@ -17,7 +17,8 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--with-libpcap=yes" ];
 
-  buildInputs = [ autoconf automake libtool ];
+  nativeBuildInputs = [ autoconf automake ];
+  buildInputs = [ libtool ];
 
   propagatedBuildInputs = [ libpcap ];
 
diff --git a/pkgs/development/libraries/libdazzle/default.nix b/pkgs/development/libraries/libdazzle/default.nix
index 426ffadf4c6eb..7f4c53071d0ca 100644
--- a/pkgs/development/libraries/libdazzle/default.nix
+++ b/pkgs/development/libraries/libdazzle/default.nix
@@ -1,20 +1,53 @@
-{ lib, stdenv, fetchurl, ninja, meson, pkg-config, vala, gobject-introspection, libxml2
-, gtk-doc, docbook_xsl, docbook_xml_dtd_43, dbus, xvfb-run, glib, gtk3, gnome }:
+{ lib
+, stdenv
+, fetchurl
+, ninja
+, meson
+, pkg-config
+, vala
+, gobject-introspection
+, libxml2
+, gtk-doc
+, docbook_xsl
+, docbook_xml_dtd_43
+, dbus
+, xvfb-run
+, glib
+, gtk3
+, gnome
+}:
 
 stdenv.mkDerivation rec {
   pname = "libdazzle";
-  version = "3.42.0";
+  version = "3.44.0";
 
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev";
 
   src = fetchurl {
     url = "mirror://gnome/sources/libdazzle/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "09b9l56yiwad7xqr7g7ragmm4gmqxjnvc2pcx6741klw7lxpmrpa";
+    sha256 = "PNPkXrbiaAywXVLh6A3Y+dWdR2UhLw4o945sF4PRjq4=";
   };
 
-  nativeBuildInputs = [ ninja meson pkg-config vala gobject-introspection libxml2 gtk-doc docbook_xsl docbook_xml_dtd_43 dbus xvfb-run glib ];
-  buildInputs = [ glib gtk3 ];
+  nativeBuildInputs = [
+    ninja
+    meson
+    pkg-config
+    vala
+    gobject-introspection
+    libxml2
+    gtk-doc
+    docbook_xsl
+    docbook_xml_dtd_43
+    dbus
+    xvfb-run
+    glib
+  ];
+
+  buildInputs = [
+    glib
+    gtk3
+  ];
 
   mesonFlags = [
     "-Denable_gtk_doc=true"
diff --git a/pkgs/development/libraries/libdnet/default.nix b/pkgs/development/libraries/libdnet/default.nix
index 6455bf03b5aea..717d565ef8353 100644
--- a/pkgs/development/libraries/libdnet/default.nix
+++ b/pkgs/development/libraries/libdnet/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "09mhbr8x66ykhf5581a5zjpplpjxibqzgkkpx689kybwg0wk1cw3";
   };
 
-  buildInputs = [ automake autoconf libtool ];
+  nativeBuildInputs = [ automake autoconf ];
+  buildInputs = [ libtool ];
 
   # .so endings are missing (quick and dirty fix)
   postInstall = ''
diff --git a/pkgs/development/libraries/libfido2/default.nix b/pkgs/development/libraries/libfido2/default.nix
index 13bbd246c64ad..e5d6d1c7c679b 100644
--- a/pkgs/development/libraries/libfido2/default.nix
+++ b/pkgs/development/libraries/libfido2/default.nix
@@ -12,12 +12,12 @@
 
 stdenv.mkDerivation rec {
   pname = "libfido2";
-  version = "1.9.0";
+  version = "1.10.0";
 
   # releases on https://developers.yubico.com/libfido2/Releases/ are signed
   src = fetchurl {
     url = "https://developers.yubico.com/${pname}/Releases/${pname}-${version}.tar.gz";
-    sha256 = "sha256-ujnjrzc20t/IrT0ctuO+fszAlYhhCjsHyGXQ7T5YwtI=";
+    sha256 = "sha256-Um79PVavcGwF0J89IfGO47CxWsDB9cXaGsvCfCcwuZs=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/libfive/default.nix b/pkgs/development/libraries/libfive/default.nix
index 8634f05ebbc7c..00031e66bf506 100644
--- a/pkgs/development/libraries/libfive/default.nix
+++ b/pkgs/development/libraries/libfive/default.nix
@@ -47,5 +47,6 @@ mkDerivation {
     maintainers = with maintainers; [ hodapp kovirobi ];
     license = with licenses; [ mpl20 gpl2Plus ];
     platforms = with platforms; linux ++ darwin;
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/libgcrypt/1.5.nix b/pkgs/development/libraries/libgcrypt/1.5.nix
index b30aa89b14853..918ed20efaaf6 100644
--- a/pkgs/development/libraries/libgcrypt/1.5.nix
+++ b/pkgs/development/libraries/libgcrypt/1.5.nix
@@ -38,7 +38,6 @@ stdenv.mkDerivation rec {
     description = "General-pupose cryptographic library";
     license = licenses.lgpl2Plus;
     platforms = platforms.all;
-    repositories.git = "git://git.gnupg.org/libgcrypt.git";
     knownVulnerabilities = [
       "CVE-2014-3591"
       "CVE-2015-0837"
diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix
index 9195019b05593..eb4e8e9486296 100644
--- a/pkgs/development/libraries/libgcrypt/default.nix
+++ b/pkgs/development/libraries/libgcrypt/default.nix
@@ -78,6 +78,5 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl2Plus;
     platforms = platforms.all;
     maintainers = with maintainers; [ vrthra ];
-    repositories.git = "git://git.gnupg.org/libgcrypt.git";
   };
 }
diff --git a/pkgs/development/libraries/libgda/default.nix b/pkgs/development/libraries/libgda/default.nix
index a9993b7255a98..e29482a34d4e8 100644
--- a/pkgs/development/libraries/libgda/default.nix
+++ b/pkgs/development/libraries/libgda/default.nix
@@ -17,14 +17,11 @@
 , autoconf-archive
 , yelp-tools
 , mysqlSupport ? false
-, libmysqlclient ? null
+, libmysqlclient
 , postgresSupport ? false
-, postgresql ? null
+, postgresql
 }:
 
-assert mysqlSupport -> libmysqlclient != null;
-assert postgresSupport -> postgresql != null;
-
 stdenv.mkDerivation rec {
   pname = "libgda";
   version = "5.2.10";
@@ -46,7 +43,6 @@ stdenv.mkDerivation rec {
     pkg-config
     intltool
     itstool
-    libxml2
     gobject-introspection
     vala
     autoreconfHook
@@ -65,6 +61,10 @@ stdenv.mkDerivation rec {
     postgresql
   ];
 
+  propagatedBuildInputs = [
+    libxml2
+  ];
+
   configureFlags = [
     "--with-mysql=${if mysqlSupport then "yes" else "no"}"
     "--with-postgres=${if postgresSupport then "yes" else "no"}"
diff --git a/pkgs/development/libraries/libgnome-games-support/2.0.nix b/pkgs/development/libraries/libgnome-games-support/2.0.nix
new file mode 100644
index 0000000000000..a5f1c2576b9f4
--- /dev/null
+++ b/pkgs/development/libraries/libgnome-games-support/2.0.nix
@@ -0,0 +1,59 @@
+{ stdenv
+, lib
+, fetchurl
+, pkg-config
+, glib
+, gtk4
+, libgee
+, gettext
+, vala
+, gnome
+, libintl
+, meson
+, ninja
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libgnome-games-support";
+  version = "2.0.0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "U4Ifb+Mu3cue7zMk9kaqrIPMbT3gk339XyZkcNRT0qQ=";
+  };
+
+  nativeBuildInputs = [
+    gettext
+    meson
+    ninja
+    pkg-config
+    vala
+  ];
+
+  buildInputs = [
+    libintl
+  ];
+
+  propagatedBuildInputs = [
+    # Required by libgnome-games-support-2.pc
+    glib
+    gtk4
+    libgee
+  ];
+
+  passthru = {
+    updateScript = gnome.updateScript {
+      packageName = pname;
+      attrPath = "${pname}_2_0";
+      versionPolicy = "odd-unstable";
+    };
+  };
+
+  meta = with lib; {
+    description = "Small library intended for internal use by GNOME Games, but it may be used by others";
+    homepage = "https://wiki.gnome.org/Apps/Games";
+    license = licenses.lgpl3Plus;
+    maintainers = teams.gnome.members;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/libgnome-games-support/default.nix b/pkgs/development/libraries/libgnome-games-support/default.nix
index 80c76ea980f9c..e63d7f8fe656f 100644
--- a/pkgs/development/libraries/libgnome-games-support/default.nix
+++ b/pkgs/development/libraries/libgnome-games-support/default.nix
@@ -44,6 +44,7 @@ stdenv.mkDerivation rec {
     updateScript = gnome.updateScript {
       packageName = pname;
       versionPolicy = "odd-unstable";
+      freeze = true;
     };
   };
 
diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix
index ec2b614ee9caf..181829156c99c 100644
--- a/pkgs/development/libraries/libgpg-error/default.nix
+++ b/pkgs/development/libraries/libgpg-error/default.nix
@@ -40,6 +40,8 @@ in stdenv.mkDerivation (rec {
   '' + lib.optionalString (stdenv.hostPlatform.isAarch32 && stdenv.hostPlatform.isMusl) ''
     ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.arm-unknown-linux-musleabihf.h
     ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-musleabihf.h
+  '' + lib.optionalString (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isMusl) ''
+    ln -s lock-obj-pub.aarch64-unknown-linux-gnu.h src/syscfg/lock-obj-pub.linux-musl.h
   '';
 
   outputs = [ "out" "dev" "info" ];
diff --git a/pkgs/development/libraries/libgphoto2/default.nix b/pkgs/development/libraries/libgphoto2/default.nix
index 6da4c9a53a5b2..5305b4922530e 100644
--- a/pkgs/development/libraries/libgphoto2/default.nix
+++ b/pkgs/development/libraries/libgphoto2/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libgphoto2";
-  version = "2.5.28";
+  version = "2.5.29";
 
   src = fetchFromGitHub {
     owner = "gphoto";
     repo = "libgphoto2";
     rev = "libgphoto2-${builtins.replaceStrings [ "." ] [ "_" ] version}-release";
-    sha256 = "sha256-e3zMinUUBKzZlQQzkS0oPWAzIVlmQoLj73Spj0XiTIE=";
+    sha256 = "sha256-Js5gbD57lhtqBX6joGMiLKUwkPDaSclnTrwBR87AliQ=";
   };
 
   depsBuildBuild = [ pkg-config ];
diff --git a/pkgs/development/libraries/libgpod/default.nix b/pkgs/development/libraries/libgpod/default.nix
index e56e512931a0a..590aaf27c5f02 100644
--- a/pkgs/development/libraries/libgpod/default.nix
+++ b/pkgs/development/libraries/libgpod/default.nix
@@ -1,10 +1,23 @@
-{ stdenv, lib, fetchurl, perlPackages, intltool, autoreconfHook,
-  pkg-config, glib, libxml2, sqlite, zlib, sg3_utils, gdk-pixbuf, taglib,
-  libimobiledevice,
-  monoSupport ? false, mono, gtk-sharp-2_0
+{ stdenv
+, lib
+, fetchurl
+, perlPackages
+, intltool
+, autoreconfHook
+, pkg-config
+, glib
+, libxml2
+, sqlite
+, zlib
+, sg3_utils
+, gdk-pixbuf
+, taglib
+, libimobiledevice
+, monoSupport ? false
+, mono
+, gtk-sharp-2_0
 }:
 
-
 stdenv.mkDerivation rec {
   pname = "libgpod";
   version = "0.8.3";
@@ -27,20 +40,30 @@ stdenv.mkDerivation rec {
     "--with-udev-dir=${placeholder "out"}/lib/udev"
   ] ++ lib.optionals monoSupport [ "--with-mono" ];
 
-  dontStrip = true;
-
-  propagatedBuildInputs = [ glib libxml2 sqlite zlib sg3_utils
-    gdk-pixbuf taglib libimobiledevice ];
+  dontStrip = monoSupport;
 
   nativeBuildInputs = [ autoreconfHook intltool pkg-config ]
     ++ (with perlPackages; [ perl XMLParser ])
-    ++ lib.optionals monoSupport [ mono gtk-sharp-2_0 ];
+    ++ lib.optional monoSupport mono;
+
+  buildInputs = [
+    libxml2
+    sg3_utils
+    sqlite
+    taglib
+  ] ++ lib.optional monoSupport gtk-sharp-2_0;
+
+  propagatedBuildInputs = [
+    gdk-pixbuf
+    glib
+    libimobiledevice
+  ];
 
-  meta = {
-    homepage = "https://gtkpod.sourceforge.net/";
+  meta = with lib; {
+    homepage = "https://sourceforge.net/projects/gtkpod/";
     description = "Library used by gtkpod to access the contents of an ipod";
-    license = "LGPL";
-    platforms = lib.platforms.gnu ++ lib.platforms.linux;
+    license = licenses.lgpl21Plus;
+    platforms = platforms.linux;
     maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/libgsf/default.nix b/pkgs/development/libraries/libgsf/default.nix
index 1850da7e64686..8bc2dc76160fb 100644
--- a/pkgs/development/libraries/libgsf/default.nix
+++ b/pkgs/development/libraries/libgsf/default.nix
@@ -1,26 +1,59 @@
-{ fetchurl, lib, stdenv, pkg-config, intltool, gettext, glib, libxml2, zlib, bzip2
-, perl, gdk-pixbuf, libiconv, libintl, gnome }:
+{ fetchurl
+, lib
+, stdenv
+, pkg-config
+, intltool
+, gettext
+, glib
+, libxml2
+, zlib
+, bzip2
+, perl
+, gdk-pixbuf
+, libiconv
+, libintl
+, gnome
+}:
 
 stdenv.mkDerivation rec {
   pname = "libgsf";
-  version = "1.14.48";
+  version = "1.14.49";
+
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "/4bX8dRt0Ovvt72DCnSkHbZDYrmHv4hT//arTBEyuDc=";
+    sha256 = "6evjZojwEMnm5AyJA/NzKUjeuKygMleNB9B1G9gs+Fc=";
   };
 
-  nativeBuildInputs = [ pkg-config intltool libintl ];
+  nativeBuildInputs = [
+    pkg-config
+    intltool
+    libintl
+  ];
 
-  buildInputs = [ gettext bzip2 zlib ];
-  checkInputs = [ perl ];
+  buildInputs = [
+    gettext
+    bzip2
+    zlib
+  ];
 
-  propagatedBuildInputs = [ libxml2 glib gdk-pixbuf libiconv ];
+  checkInputs = [
+    perl
+  ];
 
-  outputs = [ "out" "dev" ];
+  propagatedBuildInputs = [
+    libxml2
+    glib
+    gdk-pixbuf
+    libiconv
+  ];
 
   doCheck = true;
-  preCheck = "patchShebangs ./tests/";
+
+  preCheck = ''
+    patchShebangs ./tests/
+  '';
 
   passthru = {
     updateScript = gnome.updateScript {
@@ -31,10 +64,10 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "GNOME's Structured File Library";
-    homepage    = "https://www.gnome.org/projects/libgsf";
-    license     = licenses.lgpl2Plus;
+    homepage = "https://www.gnome.org/projects/libgsf";
+    license = licenses.lgpl2Plus;
     maintainers = with maintainers; [ lovek323 ];
-    platforms   = lib.platforms.unix;
+    platforms = lib.platforms.unix;
 
     longDescription = ''
       Libgsf aims to provide an efficient extensible I/O abstraction for
diff --git a/pkgs/development/libraries/libgweather/default.nix b/pkgs/development/libraries/libgweather/default.nix
index fbab67e086520..e4a527ba48578 100644
--- a/pkgs/development/libraries/libgweather/default.nix
+++ b/pkgs/development/libraries/libgweather/default.nix
@@ -6,12 +6,9 @@
 , pkg-config
 , libxml2
 , glib
-, gtk3
 , gettext
 , libsoup
-, gtk-doc
-, docbook-xsl-nons
-, docbook_xml_dtd_43
+, gi-docgen
 , gobject-introspection
 , python3
 , tzdata
@@ -22,24 +19,29 @@
 
 stdenv.mkDerivation rec {
   pname = "libgweather";
-  version = "40.0";
+  version = "4.0.0";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "1rkf4yv43qcahyx7bismdv6z2vh5azdnm1fqfmnzrada9cm8ykna";
+    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "RA1EgBtvcrSMZ25eN/kQnP7hOU/XTMknJeGxuk+ug0w=";
   };
 
+  patches = [
+    # Headers depend on glib but it is only listed in Requires.private,
+    # which does not influence Cflags on non-static builds in nixpkgs’s
+    # pkg-config. Let’s add it to Requires to ensure Cflags are set correctly.
+    ./fix-pkgconfig.patch
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
     pkg-config
     gettext
     vala
-    gtk-doc
-    docbook-xsl-nons
-    docbook_xml_dtd_43
+    gi-docgen
     gobject-introspection
     python3
     python3.pkgs.pygobject3
@@ -47,7 +49,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     glib
-    gtk3
     libsoup
     libxml2
     geocode-glib
@@ -60,9 +61,13 @@ stdenv.mkDerivation rec {
   ];
 
   postPatch = ''
-    chmod +x meson/meson_post_install.py
-    patchShebangs meson/meson_post_install.py
-    patchShebangs data/gen_locations_variant.py
+    patchShebangs build-aux/meson/meson_post_install.py
+    patchShebangs build-aux/meson/gen_locations_variant.py
+  '';
+
+  postFixup = ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
   '';
 
   passthru = {
diff --git a/pkgs/development/libraries/libgweather/fix-pkgconfig.patch b/pkgs/development/libraries/libgweather/fix-pkgconfig.patch
new file mode 100644
index 0000000000000..b118a3bc9dd84
--- /dev/null
+++ b/pkgs/development/libraries/libgweather/fix-pkgconfig.patch
@@ -0,0 +1,14 @@
+diff --git a/libgweather/meson.build b/libgweather/meson.build
+index b5d0b4d4..10010d70 100644
+--- a/libgweather/meson.build
++++ b/libgweather/meson.build
+@@ -269,6 +269,9 @@ pkgconfig.generate(
+   description: 'Gather weather information from online services',
+   version: meson.project_version(),
+   subdirs: libgweather_full_version,
++  requires: [
++    'glib-2.0',
++  ],
+   variables: [
+     'soupapiversion=' + libsoup_api_version,
+   ]
diff --git a/pkgs/development/libraries/libhandy/0.x.nix b/pkgs/development/libraries/libhandy/0.x.nix
index 7597aee697a8b..2c2b09b44923f 100644
--- a/pkgs/development/libraries/libhandy/0.x.nix
+++ b/pkgs/development/libraries/libhandy/0.x.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitLab, meson, ninja, pkg-config, gobject-introspection, vala
 , gtk-doc, docbook_xsl, docbook_xml_dtd_43
-, gtk3, gnome
+, gtk3, gnome-desktop
 , dbus, xvfb-run, libxml2
 , hicolor-icon-theme
 }:
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     meson ninja pkg-config gobject-introspection vala libxml2
     gtk-doc docbook_xsl docbook_xml_dtd_43
   ];
-  buildInputs = [ gnome.gnome-desktop gtk3 libxml2 ];
+  buildInputs = [ gnome-desktop gtk3 libxml2 ];
   checkInputs = [ dbus xvfb-run hicolor-icon-theme ];
 
   mesonFlags = [
diff --git a/pkgs/development/libraries/libhandy/default.nix b/pkgs/development/libraries/libhandy/default.nix
index 63c494999a93c..c1d81f8043c80 100644
--- a/pkgs/development/libraries/libhandy/default.nix
+++ b/pkgs/development/libraries/libhandy/default.nix
@@ -6,16 +6,13 @@
 , pkg-config
 , gobject-introspection
 , vala
-, gtk-doc
-, docbook-xsl-nons
-, docbook_xml_dtd_43
+, gi-docgen
 , glib
 , gsettings-desktop-schemas
 , gtk3
 , enableGlade ? false
 , glade
 , xvfb-run
-, libxml2
 , gdk-pixbuf
 , librsvg
 , hicolor-icon-theme
@@ -28,7 +25,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libhandy";
-  version = "1.5.0";
+  version = "1.6.1";
 
   outputs = [
     "out"
@@ -41,15 +38,12 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-RmueAmwfnrO2WWb1MNl3A6ghLar5EXSMFF6cuEPb1v4=";
+    sha256 = "sha256-bqsDhEBNVr0bH6BZ2aCBF3d49q4ID/whIPKGVsp0YqQ=";
   };
 
   nativeBuildInputs = [
-    docbook_xml_dtd_43
-    docbook-xsl-nons
     gobject-introspection
-    gtk-doc
-    libxml2
+    gi-docgen
     meson
     ninja
     pkg-config
@@ -59,7 +53,6 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gdk-pixbuf
     gtk3
-    libxml2
   ] ++ lib.optionals enableGlade [
     glade
   ];
@@ -106,6 +99,11 @@ stdenv.mkDerivation rec {
     runHook postCheck
   '';
 
+  postFixup = ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
+  '';
+
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
diff --git a/pkgs/development/libraries/libical/default.nix b/pkgs/development/libraries/libical/default.nix
index f4a1959a512c7..77c595c9184a8 100644
--- a/pkgs/development/libraries/libical/default.nix
+++ b/pkgs/development/libraries/libical/default.nix
@@ -20,7 +20,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libical";
-  version = "3.0.11";
+  version = "3.0.14";
 
   outputs = [ "out" "dev" ]; # "devdoc" ];
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     owner = "libical";
     repo = "libical";
     rev = "v${version}";
-    sha256 = "sha256-9kMYqWITZ2LlBDebJUZFWyVclAjfIZtc3Dm7lii9ZMc=";
+    sha256 = "sha256-gZ6IBjG5pNKJ+hWcTzXMP7yxL4he4LTklZGoC9vXra8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libidn/default.nix b/pkgs/development/libraries/libidn/default.nix
index e47bb070a36ea..a84b617e4c0e9 100644
--- a/pkgs/development/libraries/libidn/default.nix
+++ b/pkgs/development/libraries/libidn/default.nix
@@ -35,7 +35,6 @@ stdenv.mkDerivation rec {
       included.
     '';
 
-    repositories.git = "git://git.savannah.gnu.org/libidn.git";
     license = lib.licenses.lgpl2Plus;
     platforms = lib.platforms.all;
     maintainers = with lib.maintainers; [ lsix ];
diff --git a/pkgs/development/libraries/libidn2/default.nix b/pkgs/development/libraries/libidn2/default.nix
index 2b5434e723aa7..d8294f56adc35 100644
--- a/pkgs/development/libraries/libidn2/default.nix
+++ b/pkgs/development/libraries/libidn2/default.nix
@@ -39,7 +39,6 @@ stdenv.mkDerivation rec {
       detailed information.
     '';
 
-    repositories.git = "https://gitlab.com/jas/libidn2";
     license = with lib.licenses; [ lgpl3Plus gpl2Plus gpl3Plus ];
     platforms = lib.platforms.all;
     maintainers = with lib.maintainers; [ fpletz ];
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
index 89bdc15ff62c1..5c06cd282da55 100644
--- a/pkgs/development/libraries/libinput/default.nix
+++ b/pkgs/development/libraries/libinput/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
-, fetchurl
+, fetchFromGitLab
+, gitUpdater
 , pkg-config
 , meson
 , ninja
@@ -44,13 +45,16 @@ in
 
 stdenv.mkDerivation rec {
   pname = "libinput";
-  version = "1.19.3";
+  version = "1.20.0";
 
   outputs = [ "bin" "out" "dev" ];
 
-  src = fetchurl {
-    url = "https://www.freedesktop.org/software/libinput/libinput-${version}.tar.xz";
-    sha256 = "sha256-PK54zN4Z19Dzh+WLxzTU0Xq19kJvVKnotyjJCxe6oGg=";
+  src = fetchFromGitLab {
+    domain = "gitlab.freedesktop.org";
+    owner = "libinput";
+    repo = "libinput";
+    rev = version;
+    sha256 = "Ey6ItBIrf1POACp2+6R0B4KxJq5V1HoO+y4j6hZSGAE=";
   };
 
   patches = [
@@ -113,8 +117,14 @@ stdenv.mkDerivation rec {
     sed -i "/install_subdir('libinput', install_dir : dir_etc)/d" meson.build
   '';
 
-  passthru.tests = {
-    libinput-module = nixosTests.libinput;
+  passthru = {
+    tests = {
+      libinput-module = nixosTests.libinput;
+    };
+    updateScript = gitUpdater {
+      inherit pname version;
+      patchlevel-unstable = true;
+    };
   };
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix
index 92aaf6201b936..75ec20545cae3 100644
--- a/pkgs/development/libraries/libjpeg-turbo/default.nix
+++ b/pkgs/development/libraries/libjpeg-turbo/default.nix
@@ -16,13 +16,13 @@ assert !(enableJpeg7 && enableJpeg8);  # pick only one or none, not both
 stdenv.mkDerivation rec {
 
   pname = "libjpeg-turbo";
-  version = "2.1.2";
+  version = "2.1.3";
 
   src = fetchFromGitHub {
     owner = "libjpeg-turbo";
     repo = "libjpeg-turbo";
     rev = version;
-    sha256 = "sha256-mlHueKAU/uNUdV9s4jWKAE+XVJdpEFhw2hxGvqRwAGc=";
+    sha256 = "sha256-GbOYoCNAsOESXrEsBb6OHVB4TKhPUEU04PBp8qXVMug=";
   };
 
   # This is needed by freeimage
diff --git a/pkgs/development/libraries/liblastfm/default.nix b/pkgs/development/libraries/liblastfm/default.nix
index 6b28175a9b62b..0f0fec46a2771 100644
--- a/pkgs/development/libraries/liblastfm/default.nix
+++ b/pkgs/development/libraries/liblastfm/default.nix
@@ -27,7 +27,6 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/lastfm/liblastfm";
-    repositories.git = "git://github.com/lastfm/liblastfm.git";
     description = "Official LastFM library";
     platforms = platforms.unix;
     maintainers = [ ];
diff --git a/pkgs/development/libraries/libmx/default.nix b/pkgs/development/libraries/libmx/default.nix
index 683c21095e6bd..be4cdd62f6e1b 100644
--- a/pkgs/development/libraries/libmx/default.nix
+++ b/pkgs/development/libraries/libmx/default.nix
@@ -33,9 +33,9 @@ stdenv.mkDerivation rec {
 
   configureScript = "sh autogen.sh";
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config automake autoconf ];
   buildInputs = [
-    automake autoconf libtool
+    libtool
     intltool
     gobject-introspection glib
     gtk2 gtk-doc clutter clutter-gtk
diff --git a/pkgs/development/libraries/libnet/default.nix b/pkgs/development/libraries/libnet/default.nix
index cb3375708df15..af3c7f82aefa0 100644
--- a/pkgs/development/libraries/libnet/default.nix
+++ b/pkgs/development/libraries/libnet/default.nix
@@ -1,15 +1,23 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool }:
 
 stdenv.mkDerivation rec {
   pname = "libnet";
-  version = "1.2-rc3";
+  version = "1.2";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/libnet-dev/${pname}-${version}.tar.gz";
-    sha256 = "0qsapqa7dzq9f6lb19kzilif0pj82b64fjv5bq086hflb9w81hvj";
+  src = fetchFromGitHub {
+    owner = "sam-github";
+    repo = "libnet";
+    rev = "v${version}";
+    sha256 = "sha256-Y/wd9c4whUbfpvWvKzJV6vJN3AlA14XBejchRG6wBc4=";
   };
 
-  patches = [ ./fix-includes.patch ];
+  nativeBuildInputs = [
+    autoconf
+    automake
+    libtool
+  ];
+
+  preConfigure = "./autogen.sh";
 
   meta = with lib; {
     homepage = "https://github.com/sam-github/libnet";
diff --git a/pkgs/development/libraries/libnet/fix-includes.patch b/pkgs/development/libraries/libnet/fix-includes.patch
deleted file mode 100644
index 5eb86bc37b79d..0000000000000
--- a/pkgs/development/libraries/libnet/fix-includes.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- libnet-1.1.6.orig/src/libnet_link_linux.c
-+++ libnet-1.1.6/src/libnet_link_linux.c
-@@ -30,26 +30,15 @@
- #include <sys/time.h>
- 
- #include <net/if.h>
--#if (__GLIBC__)
- #include <netinet/if_ether.h>
- #include <net/if_arp.h>
--#else
--#include <linux/if_arp.h>
--#include <linux/if_ether.h>
--#endif
- 
- #if (HAVE_PACKET_SOCKET)
- #ifndef SOL_PACKET
- #define SOL_PACKET 263
- #endif  /* SOL_PACKET */
--#if __GLIBC__ >= 2 && __GLIBC_MINOR >= 1
- #include <netpacket/packet.h>
- #include <net/ethernet.h>     /* the L2 protocols */
--#else
--#include <asm/types.h>
--#include <linux/if_packet.h>
--#include <linux/if_ether.h>   /* The L2 protocols */
--#endif
- #endif  /* HAVE_PACKET_SOCKET */
- 
- #include "../include/libnet.h"
diff --git a/pkgs/development/libraries/libnetfilter_conntrack/default.nix b/pkgs/development/libraries/libnetfilter_conntrack/default.nix
index a2097bb17e25b..e960c8d1bf481 100644
--- a/pkgs/development/libraries/libnetfilter_conntrack/default.nix
+++ b/pkgs/development/libraries/libnetfilter_conntrack/default.nix
@@ -1,14 +1,22 @@
-{ lib, stdenv, fetchurl, pkg-config, libnfnetlink, libmnl }:
+{ lib, stdenv, fetchurl, fetchpatch, pkg-config, libnfnetlink, libmnl }:
 
 stdenv.mkDerivation rec {
   pname = "libnetfilter_conntrack";
-  version = "1.0.8";
+  version = "1.0.9";
 
   src = fetchurl {
     url = "https://netfilter.org/projects/libnetfilter_conntrack/files/${pname}-${version}.tar.bz2";
-    sha256 = "1ky1mqgnplw2h9jf0kn0a69d94jkydhbiipng9l2hdcj13h3pl8c";
+    sha256 = "sha256-Z72d9J/jTouCFE9t+5OzIPOEqOpZcn6S/40YtfS1eag=";
   };
 
+  patches = [
+    # Fix Musl build.
+    (fetchpatch {
+      url = "https://git.netfilter.org/libnetfilter_conntrack/patch/?id=21ee35dde73aec5eba35290587d479218c6dd824";
+      sha256 = "00rp82jrx5ygcw8la3c7bv7sigw9qzbn956dk71qjx981a2g2kqk";
+    })
+  ];
+
   buildInputs = [ libmnl ];
   propagatedBuildInputs = [ libnfnetlink ];
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/libraries/liboauth/default.nix b/pkgs/development/libraries/liboauth/default.nix
index 7ca9ec5acb6d9..3f2f02987fbb6 100644
--- a/pkgs/development/libraries/liboauth/default.nix
+++ b/pkgs/development/libraries/liboauth/default.nix
@@ -27,7 +27,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     description = "C library implementing the OAuth secure authentication protocol";
     homepage = "http://liboauth.sourceforge.net/";
-    repositories.git = "https://github.com/x42/liboauth.git";
     license = licenses.mit;
   };
 
diff --git a/pkgs/development/libraries/libosmscout/default.nix b/pkgs/development/libraries/libosmscout/default.nix
index 2f83963d205f1..b11ec3eb94c1d 100644
--- a/pkgs/development/libraries/libosmscout/default.nix
+++ b/pkgs/development/libraries/libosmscout/default.nix
@@ -11,6 +11,8 @@ mkDerivation rec {
     sha256 = "1pa459h52kw88mvsdvkz83f4p35vvgsfy2qfjwcj61gj4y9d2rq4";
   };
 
+  cmakeFlags = [ "-DOSMSCOUT_BUILD_TESTS=OFF" ];
+
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [ marisa qtlocation ];
 
diff --git a/pkgs/development/libraries/libotr/default.nix b/pkgs/development/libraries/libotr/default.nix
index 53699ab7eacd3..bd8a521544c29 100644
--- a/pkgs/development/libraries/libotr/default.nix
+++ b/pkgs/development/libraries/libotr/default.nix
@@ -16,7 +16,6 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "http://www.cypherpunks.ca/otr/";
-    repositories.git = "git://git.code.sf.net/p/otr/libotr";
     license = licenses.lgpl21;
     description = "Library for Off-The-Record Messaging";
     platforms = platforms.unix;
diff --git a/pkgs/development/libraries/libowfat/default.nix b/pkgs/development/libraries/libowfat/default.nix
index 9db1354677d65..665121b58b5ce 100644
--- a/pkgs/development/libraries/libowfat/default.nix
+++ b/pkgs/development/libraries/libowfat/default.nix
@@ -17,5 +17,8 @@ stdenv.mkDerivation rec {
     homepage = "https://www.fefe.de/libowfat/";
     license = licenses.gpl2;
     platforms = platforms.linux;
+    # Doesn't build with glibc 2.34: https://hydra.nixos.org/build/156248131
+    # Should be fixed with the next release: https://bugs.gentoo.org/806505
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/libpeas/default.nix b/pkgs/development/libraries/libpeas/default.nix
index 55c884d215fdc..712592431abe0 100644
--- a/pkgs/development/libraries/libpeas/default.nix
+++ b/pkgs/development/libraries/libpeas/default.nix
@@ -1,25 +1,61 @@
-{ lib, stdenv, fetchurl, meson, ninja, pkg-config, gettext, gnome
-, glib, gtk3, gobject-introspection, python3, ncurses
+{ stdenv
+, lib
+, fetchurl
+, meson
+, ninja
+, pkg-config
+, gettext
+, gi-docgen
+, gnome
+, glib
+, gtk3
+, gobject-introspection
+, python3
+, ncurses
 }:
 
 stdenv.mkDerivation rec {
   pname = "libpeas";
-  version = "1.30.0";
+  version = "1.32.0";
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "18xrk1c1ixlhkmykcfiafrl2am470ws687xqvjlq40zwkcp5dx8b";
+    sha256 = "1iVSD6AuiXcCmyRq5Dm8IYloll8egtYSIItxPx3MPQ4=";
   };
 
-  nativeBuildInputs = [ pkg-config meson ninja gettext gobject-introspection ];
-  buildInputs =  [ glib gtk3 ncurses python3 python3.pkgs.pygobject3 ];
+  nativeBuildInputs = [
+    pkg-config
+    meson
+    ninja
+    gettext
+    gi-docgen
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    glib
+    gtk3
+    ncurses
+    python3
+    python3.pkgs.pygobject3
+  ];
+
   propagatedBuildInputs = [
     # Required by libpeas-1.0.pc
     gobject-introspection
   ];
 
+  mesonFlags = [
+    "-Dgtk_doc=true"
+  ];
+
+  postFixup = ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
+  '';
+
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
diff --git a/pkgs/development/libraries/libportal/default.nix b/pkgs/development/libraries/libportal/default.nix
index b261c0395e6dd..cb0da5c560d25 100644
--- a/pkgs/development/libraries/libportal/default.nix
+++ b/pkgs/development/libraries/libportal/default.nix
@@ -18,7 +18,7 @@ assert variant == null || variant == "gtk3" || variant == "gtk4" || variant == "
 
 stdenv.mkDerivation rec {
   pname = "libportal" + lib.optionalString (variant != null) "-${variant}";
-  version = "0.5";
+  version = "0.6";
 
   outputs = [ "out" "dev" "devdoc" ];
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     owner = "flatpak";
     repo = "libportal";
     rev = version;
-    sha256 = "oPPO2f6NNeok0SGh4jELkkOP6VUxXZiwPM/n6CUHm0Q=";
+    sha256 = "sha256-wDDE43UC6FBgPYLS+WWExeheURCH/3fCKu5oJg7GM+A=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libpwquality/default.nix b/pkgs/development/libraries/libpwquality/default.nix
index 5d83b137b8e6c..abc65130fc3a0 100644
--- a/pkgs/development/libraries/libpwquality/default.nix
+++ b/pkgs/development/libraries/libpwquality/default.nix
@@ -1,36 +1,57 @@
-{ stdenv, lib, fetchFromGitHub, autoreconfHook, perl, cracklib, python3, fetchpatch }:
+{ stdenv
+, lib
+, fetchFromGitHub
+, autoreconfHook
+, perl
+, cracklib
+, enablePAM ? stdenv.hostPlatform.isLinux
+, pam
+, enablePython ? false
+, python
+}:
+
+# python binding generates a shared library which are unavailable with musl build
+assert enablePython -> !stdenv.hostPlatform.isStatic;
 
 stdenv.mkDerivation rec {
   pname = "libpwquality";
-  version = "1.4.2";
+  version = "1.4.4";
+
+  outputs = [ "out" "dev" "lib" "man" ] ++ lib.optionals enablePython [ "py" ];
 
   src = fetchFromGitHub {
     owner = "libpwquality";
     repo = "libpwquality";
     rev = "${pname}-${version}";
-    sha256 = "0n4pjhm7wfivk0wizggaxq4y4mcxic876wcarjabkp5z9k14y36h";
+    sha256 = "sha256-7gAzrx5VP1fEBwAt6E5zGM8GyuPRR+JxYifYfirY+U8=";
   };
 
-  nativeBuildInputs = [ autoreconfHook perl python3 ];
-  buildInputs = [ cracklib ];
-
-  patches = lib.optional stdenv.hostPlatform.isStatic [
-    (fetchpatch {
-      name = "static-build.patch";
-      url = "https://github.com/libpwquality/libpwquality/pull/40.patch";
-      sha256 = "1ypccq437wxwgddd98cvd330jfm7jscdlzlyxgy05g6yzrr68xyk";
-    })
+  patches = [
+    # ensure python site-packages goes in $py output
+    ./python-binding-prefix.patch
   ];
 
-  configureFlags = lib.optional stdenv.hostPlatform.isStatic [
-    # Python binding generates a shared library which are unavailable with musl build
-    "--disable-python-bindings"
-  ];
+  nativeBuildInputs = [ autoreconfHook perl ] ++ lib.optionals enablePython [ python ];
+  buildInputs = [ cracklib ] ++ lib.optionals enablePAM [ pam ];
+
+  configureFlags = lib.optionals (!enablePython) [ "--disable-python-bindings" ];
 
   meta = with lib; {
-    description = "Password quality checking and random password generation library";
     homepage = "https://github.com/libpwquality/libpwquality";
-    license = licenses.bsd3;
+    description = "Password quality checking and random password generation library";
+    longDescription = ''
+      The libpwquality library purpose is to provide common functions for
+      password quality checking and also scoring them based on their apparent
+      randomness. The library also provides a function for generating random
+      passwords with good pronounceability. The library supports reading and
+      parsing of a configuration file.
+
+      In the package there are also very simple utilities that use the library
+      function and PAM module that can be used instead of pam_cracklib. The
+      module supports all the options of pam_cracklib.
+    '';
+    license = with licenses; [ bsd3 /* or */ gpl2Plus ];
+    maintainers = with maintainers; [ jk ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libpwquality/python-binding-prefix.patch b/pkgs/development/libraries/libpwquality/python-binding-prefix.patch
new file mode 100644
index 0000000000000..a8f77142e1db3
--- /dev/null
+++ b/pkgs/development/libraries/libpwquality/python-binding-prefix.patch
@@ -0,0 +1,13 @@
+diff --git a/python/Makefile.am b/python/Makefile.am
+index 1d00c0c..0987690 100644
+--- a/python/Makefile.am
++++ b/python/Makefile.am
+@@ -14,7 +14,7 @@ all-local:
+ 	CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV)
+ 
+ install-exec-local:
+-	CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV) install --prefix=${DESTDIR}${prefix}
++	CFLAGS="${CFLAGS} -fno-strict-aliasing" @PYTHONBINARY@ setup.py build --build-base py$(PYTHONREV) install --prefix=${DESTDIR}${py}
+ 
+ clean-local:
+ 	rm -rf py$(PYTHONREV)
diff --git a/pkgs/development/libraries/libqb/default.nix b/pkgs/development/libraries/libqb/default.nix
index 2fc1c7b7360d4..5cbc9b8f09b7b 100644
--- a/pkgs/development/libraries/libqb/default.nix
+++ b/pkgs/development/libraries/libqb/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libqb";
-  version = "2.0.5";
+  version = "2.0.6";
 
   src = fetchFromGitHub {
     owner = "ClusterLabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-G49JBEUkO4ySAamvI7xN6ct1SvN4afcOmdrzpDL90FE=";
+    sha256 = "sha256-vt9FmIRojX3INOn3CXAjkswVFD8Th4sRIz3RR4GJHFQ=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/development/libraries/libressl/fix-build-with-glibc.patch b/pkgs/development/libraries/libressl/fix-build-with-glibc.patch
new file mode 100644
index 0000000000000..db482bcb35da3
--- /dev/null
+++ b/pkgs/development/libraries/libressl/fix-build-with-glibc.patch
@@ -0,0 +1,92 @@
+diff --git a/tests/explicit_bzero.c b/tests/explicit_bzero.c
+index 34c60baa8a..9c0e917829 100644
+--- a/tests/explicit_bzero.c
++++ b/tests/explicit_bzero.c
+@@ -1,4 +1,4 @@
+-/*	$OpenBSD: explicit_bzero.c,v 1.6 2014/07/11 01:10:35 matthew Exp $	*/
++/*	$OpenBSD: explicit_bzero.c,v 1.7 2021/03/27 11:17:58 bcook Exp $	*/
+ /*
+  * Copyright (c) 2014 Google Inc.
+  *
+@@ -18,6 +18,7 @@
+ #include <assert.h>
+ #include <errno.h>
+ #include <signal.h>
++#include <stdlib.h>
+ #include <string.h>
+ #include <unistd.h>
+ 
+@@ -36,19 +37,33 @@ enum {
+ 	SECRETBYTES = SECRETCOUNT * sizeof(secret)
+ };
+ 
+-static char altstack[SIGSTKSZ + SECRETBYTES];
++/*
++ * As of glibc 2.34, when _GNU_SOURCE is defined, SIGSTKSZ is no longer
++ * constant on Linux. SIGSTKSZ is redefined to sysconf (_SC_SIGSTKSZ).
++ */
++static char *altstack;
++#define ALTSTACK_SIZE (SIGSTKSZ + SECRETBYTES)
+ 
+ static void
+ setup_stack(void)
+ {
++	altstack = calloc(1, ALTSTACK_SIZE);
++	ASSERT_NE(NULL, altstack);
++
+ 	const stack_t sigstk = {
+ 		.ss_sp = altstack,
+-		.ss_size = sizeof(altstack),
++		.ss_size = ALTSTACK_SIZE
+ 	};
+ 
+ 	ASSERT_EQ(0, sigaltstack(&sigstk, NULL));
+ }
+ 
++static void
++cleanup_stack(void)
++{
++	free(altstack);
++}
++
+ static void
+ assert_on_stack(void)
+ {
+@@ -129,7 +144,7 @@ test_without_bzero()
+ 	char buf[SECRETBYTES];
+ 	assert_on_stack();
+ 	populate_secret(buf, sizeof(buf));
+-	char *res = memmem(altstack, sizeof(altstack), buf, sizeof(buf));
++	char *res = memmem(altstack, ALTSTACK_SIZE, buf, sizeof(buf));
+ 	ASSERT_NE(NULL, res);
+ 	return (res);
+ }
+@@ -140,7 +155,7 @@ test_with_bzero()
+ 	char buf[SECRETBYTES];
+ 	assert_on_stack();
+ 	populate_secret(buf, sizeof(buf));
+-	char *res = memmem(altstack, sizeof(altstack), buf, sizeof(buf));
++	char *res = memmem(altstack, ALTSTACK_SIZE, buf, sizeof(buf));
+ 	ASSERT_NE(NULL, res);
+ 	explicit_bzero(buf, sizeof(buf));
+ 	return (res);
+@@ -183,15 +198,17 @@ main()
+ 	 * on the stack.  This sanity checks that call_on_stack() and
+ 	 * populate_secret() work as intended.
+ 	 */
+-	memset(altstack, 0, sizeof(altstack));
++	memset(altstack, 0, ALTSTACK_SIZE);
+ 	call_on_stack(do_test_without_bzero);
+ 
+ 	/*
+ 	 * Now test with a call to explicit_bzero() and check that we
+ 	 * *don't* find any instances of the secret data.
+ 	 */
+-	memset(altstack, 0, sizeof(altstack));
++	memset(altstack, 0, ALTSTACK_SIZE);
+ 	call_on_stack(do_test_with_bzero);
+ 
++	cleanup_stack();
++
+ 	return (0);
+ }
diff --git a/pkgs/development/libraries/librest/1.0.nix b/pkgs/development/libraries/librest/1.0.nix
new file mode 100644
index 0000000000000..d51f9e31b178f
--- /dev/null
+++ b/pkgs/development/libraries/librest/1.0.nix
@@ -0,0 +1,74 @@
+{ lib
+, stdenv
+, fetchurl
+, meson
+, ninja
+, pkg-config
+, gi-docgen
+, glib
+, json-glib
+, libsoup
+, gobject-introspection
+, gnome
+}:
+
+stdenv.mkDerivation rec {
+  pname = "rest";
+  version = "0.9.0";
+
+  outputs = [ "out" "dev" "devdoc" ];
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "hbK8k0ESgTlTm1PuU/BTMxC8ljkv1kWGOgQEELgevmY=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gi-docgen
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    glib
+    json-glib
+    libsoup
+  ];
+
+  mesonFlags = [
+    "-Dexamples=false"
+
+    # Remove when https://gitlab.gnome.org/GNOME/librest/merge_requests/2 is merged.
+    "-Dca_certificates=true"
+    "-Dca_certificates_path=/etc/ssl/certs/ca-certificates.crt"
+  ];
+
+  postPatch = ''
+    # https://gitlab.gnome.org/GNOME/librest/-/merge_requests/19
+    substituteInPlace meson.build \
+      --replace "con." "conf."
+  '';
+
+  postFixup = ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
+  '';
+
+  passthru = {
+    updateScript = gnome.updateScript {
+      packageName = pname;
+      attrPath = "librest_1_0";
+      versionPolicy = "odd-unstable";
+    };
+  };
+
+  meta = with lib; {
+    description = "Helper library for RESTful services";
+    homepage = "https://wiki.gnome.org/Projects/Librest";
+    license = licenses.lgpl21Only;
+    platforms = platforms.unix;
+    maintainers = teams.gnome.members;
+  };
+}
diff --git a/pkgs/development/libraries/librest/default.nix b/pkgs/development/libraries/librest/default.nix
index ce2df9cc9a8a7..abe53ff3692fa 100644
--- a/pkgs/development/libraries/librest/default.nix
+++ b/pkgs/development/libraries/librest/default.nix
@@ -48,6 +48,7 @@ stdenv.mkDerivation rec {
       packageName = pname;
       attrPath = "librest";
       versionPolicy = "odd-unstable";
+      freeze = true;
     };
   };
 
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix
index 81cad37351a59..b093544138417 100644
--- a/pkgs/development/libraries/librsvg/default.nix
+++ b/pkgs/development/libraries/librsvg/default.nix
@@ -16,6 +16,8 @@
 , rustc
 , rust
 , cargo
+, gi-docgen
+, python3
 , gnome
 , vala
 , withIntrospection ? stdenv.hostPlatform == stdenv.buildPlatform
@@ -25,13 +27,15 @@
 
 stdenv.mkDerivation rec {
   pname = "librsvg";
-  version = "2.52.6";
+  version = "2.54.0";
 
-  outputs = [ "out" "dev" "installedTests" ];
+  outputs = [ "out" "dev" "installedTests" ] ++ lib.optionals withIntrospection [
+    "devdoc"
+  ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "o/k5oeajpgQIJEYy0DI/jDsg60t7AAU24uW9k7jv+q0=";
+    sha256 = "uvjrwUfxRrQmG7PQzQ+slEv427Sx8jR9IzQfl03MMIU=";
   };
 
   cargoVendorDir = "vendor";
@@ -45,10 +49,12 @@ stdenv.mkDerivation rec {
     pkg-config
     rustc
     cargo
+    python3.pkgs.docutils
     vala
     rustPlatform.cargoSetupHook
   ] ++ lib.optionals withIntrospection [
     gobject-introspection
+    gi-docgen
   ];
 
   buildInputs = [
@@ -119,6 +125,11 @@ stdenv.mkDerivation rec {
     mv $GDK_PIXBUF/loaders.cache.tmp $GDK_PIXBUF/loaders.cache
   '';
 
+  postFixup = ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
+  '';
+
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
diff --git a/pkgs/development/libraries/libsecret/default.nix b/pkgs/development/libraries/libsecret/default.nix
index 18f00a0933c35..e023a524ae289 100644
--- a/pkgs/development/libraries/libsecret/default.nix
+++ b/pkgs/development/libraries/libsecret/default.nix
@@ -1,47 +1,104 @@
-{ lib, stdenv, fetchurl, fetchpatch, glib, pkg-config, gettext, libxslt, python3
-, docbook_xsl, docbook_xml_dtd_42 , libgcrypt, gobject-introspection, vala
-, gtk-doc, gnome, gjs, libintl, dbus, xvfb-run }:
+{ stdenv
+, lib
+, fetchurl
+, glib
+, meson
+, ninja
+, pkg-config
+, gettext
+, libxslt
+, python3
+, docbook-xsl-nons
+, docbook_xml_dtd_42
+, libgcrypt
+, gobject-introspection
+, vala
+, gi-docgen
+, gnome
+, gjs
+, libintl
+, dbus
+, xvfb-run
+}:
 
 stdenv.mkDerivation rec {
   pname = "libsecret";
-  version = "0.20.4";
+  version = "0.20.5";
+
+  outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0a4xnfmraxchd9cq5ai66j12jv2vrgjmaaxz25kl031jvda4qnij";
+    sha256 = "P7PONA/NfbVNh8iT5pv8Kx9uTUsnkGX/5m2snw/RK00=";
   };
 
-  postPatch = ''
-    patchShebangs .
-  '';
-
-  outputs = [ "out" "dev" "devdoc" ];
-
-  propagatedBuildInputs = [ glib ];
   nativeBuildInputs = [
-    pkg-config gettext libxslt docbook_xsl docbook_xml_dtd_42 libintl
-    gobject-introspection vala gtk-doc glib
+    meson
+    ninja
+    pkg-config
+    gettext
+    libxslt # for xsltproc for building man pages
+    docbook-xsl-nons
+    docbook_xml_dtd_42
+    libintl
+    gobject-introspection
+    vala
+    gi-docgen
+    glib
   ];
-  buildInputs = [ libgcrypt ];
-  # optional: build docs with gtk-doc? (probably needs a flag as well)
 
-  configureFlags = [
-    "--with-libgcrypt-prefix=${libgcrypt.dev}"
+  buildInputs = [
+    libgcrypt
   ];
 
-  enableParallelBuilding = true;
+  propagatedBuildInputs = [
+    glib
+  ];
 
-  installCheckInputs = [
-    python3 python3.pkgs.dbus-python python3.pkgs.pygobject3 xvfb-run dbus gjs
+  checkInputs = [
+    python3
+    python3.pkgs.dbus-python
+    python3.pkgs.pygobject3
+    xvfb-run
+    dbus
+    gjs
   ];
 
-  # needs to run after install because typelibs point to absolute paths
-  doInstallCheck = false; # Failed to load shared library '/force/shared/libmock_service.so.0' referenced by the typelib
-  installCheckPhase = ''
-    export NO_AT_BRIDGE=1
-    xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
+  doCheck = true;
+
+
+  postPatch = ''
+    patchShebangs .
+  '';
+
+  preCheck = ''
+    # Our gobject-introspection patches make the shared library paths absolute
+    # in the GIR files. When running 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 overwitten during installation.
+    mkdir -p $out/lib $out/lib
+    ln -s "$PWD/libsecret/libmock-service.so" "$out/lib/libmock-service.so"
+    ln -s "$PWD/libsecret/libsecret-1.so.0" "$out/lib/libsecret-1.so.0"
+  '';
+
+  checkPhase = ''
+    runHook preCheck
+
+    dbus-run-session \
       --config-file=${dbus.daemon}/share/dbus-1/session.conf \
-      make check
+      meson test --print-errorlogs
+
+    runHook postCheck
+  '';
+
+  postCheck = ''
+    # This is test-only so it won’t be overwritten during installation.
+    rm "$out/lib/libmock-service.so"
+  '';
+
+  postFixup = ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
   '';
 
   passthru = {
diff --git a/pkgs/development/libraries/libsolv/default.nix b/pkgs/development/libraries/libsolv/default.nix
index 1062cc8e65056..2d50851e5832d 100644
--- a/pkgs/development/libraries/libsolv/default.nix
+++ b/pkgs/development/libraries/libsolv/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub, cmake, ninja, zlib, expat, rpm, db }:
 
 stdenv.mkDerivation rec {
-  version  = "0.7.20";
+  version  = "0.7.21";
   pname = "libsolv";
 
   src = fetchFromGitHub {
     owner  = "openSUSE";
     repo   = "libsolv";
     rev    = version;
-    sha256 = "sha256-NVyLa/fPGnO5jAz9rePFXg/z6RZeFCrkJBCG3gGh+YM=";
+    sha256 = "sha256-ka1HXVo0CFr0eqGTkatYq1jXE+9UgM0YTZNW1WtMLF0=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/libsoup/3.x.nix b/pkgs/development/libraries/libsoup/3.x.nix
index 454a1cdf40a23..4791e49ae3fa8 100644
--- a/pkgs/development/libraries/libsoup/3.x.nix
+++ b/pkgs/development/libraries/libsoup/3.x.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libsoup";
-  version = "3.0.4";
+  version = "3.0.5";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-W9OLXgkfcH/X+j7Xw3qsyj+OFsZXh/HMF9w40dzeVns=";
+    sha256 = "sha256-9dFD22gws4Je3CocREnWOSc7C/oBeklwhxli2byiIUU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libspf2/default.nix b/pkgs/development/libraries/libspf2/default.nix
index c48c71e144852..203f2768e37b1 100644
--- a/pkgs/development/libraries/libspf2/default.nix
+++ b/pkgs/development/libraries/libspf2/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, fetchpatch }:
 
 with lib;
 
@@ -13,6 +13,14 @@ stdenv.mkDerivation rec {
     sha256 = "03iiaafdcwh220pqignk407h6klrakwz0zkb8iwk6nkwipkwvhsx";
   };
 
+  patches = [
+    # glibc-2.34 compat
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/gentoo/gentoo/dbb8a5c9f749cc11e61cfe558f164b165cbc30cb/mail-filter/libspf2/files/libspf2-1.2.11-undefined-dn_.patch";
+      sha256 = "sha256-6JVVkVGCcFJsNeBdVTPcLhW4KoHLY4ai/KXDMliXgPA=";
+    })
+  ];
+
   postPatch = ''
     # disable static bins compilation
     sed -i \
diff --git a/pkgs/development/libraries/libstroke/default.nix b/pkgs/development/libraries/libstroke/default.nix
index 697616f01f30f..d40b5b6b04921 100644
--- a/pkgs/development/libraries/libstroke/default.nix
+++ b/pkgs/development/libraries/libstroke/default.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0bbpqzsqh9zrc6cg62f6vp1p4dzvv37blsd0gdlzdskgwvyzba8d";
   };
 
-  buildInputs = [ automake autoconf xlibsWrapper ];
+  nativeBuildInputs = [ automake autoconf ];
+  buildInputs = [ xlibsWrapper ];
 
   # libstroke ships with an ancient config.sub that doesn't know about x86_64, so regenerate it.
   # Also, modern automake doesn't like things and returns error code 63.  But it generates the file.
diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix
index 1371345ddd7cf..190765273409a 100644
--- a/pkgs/development/libraries/libtiff/default.nix
+++ b/pkgs/development/libraries/libtiff/default.nix
@@ -9,6 +9,16 @@
 , libjpeg
 , xz
 , zlib
+
+# for passthru.tests
+, libgeotiff
+, python3Packages
+, imagemagick
+, graphicsmagick
+, gdal
+, openimageio
+, freeimage
+, imlib
 }:
 
 #FIXME: fix aarch64-darwin build and get rid of ./aarch64-darwin.nix
@@ -69,6 +79,11 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  passthru.tests = {
+    inherit libgeotiff imagemagick graphicsmagick gdal openimageio freeimage imlib;
+    inherit (python3Packages) pillow imread;
+  };
+
   meta = with lib; {
     description = "Library and utilities for working with the TIFF image file format";
     homepage = "https://libtiff.gitlab.io/libtiff";
diff --git a/pkgs/development/libraries/libusb-compat/0.1.nix b/pkgs/development/libraries/libusb-compat/0.1.nix
index b23123f56eaa3..f977d72e72420 100644
--- a/pkgs/development/libraries/libusb-compat/0.1.nix
+++ b/pkgs/development/libraries/libusb-compat/0.1.nix
@@ -35,7 +35,6 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://libusb.info/";
-    repositories.git = "https://github.com/libusb/libusb-compat-0.1";
     description = "cross-platform user-mode USB device library";
     longDescription = ''
       libusb is a cross-platform user-mode library that provides access to USB devices.
diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix
index 69410cf2b9864..24b147d142d74 100644
--- a/pkgs/development/libraries/libusb1/default.nix
+++ b/pkgs/development/libraries/libusb1/default.nix
@@ -7,33 +7,27 @@
 , udev
 , libobjc
 , IOKit
+, Security
 , withStatic ? false
 }:
 
 stdenv.mkDerivation rec {
   pname = "libusb";
-  version = "1.0.24";
+  version = "1.0.25";
 
   src = fetchFromGitHub {
     owner = "libusb";
     repo = "libusb";
     rev = "v${version}";
-    sha256 = "18ri8ky422hw64zry7bpbarb1m0hiljyf64a0a9y093y7aad38i7";
+    sha256 = "141wygijjcgka0h31504cdlvih4l2j02j67pcbb2l527p7dbc5pn";
   };
 
   outputs = [ "out" "dev" ];
 
-  patches = [ (fetchpatch {
-    # https://bugs.archlinux.org/task/69121
-    url = "https://github.com/libusb/libusb/commit/f6d2cb561402c3b6d3627c0eb89e009b503d9067.patch";
-    sha256 = "1dbahikcbwkjhyvks7wbp7fy2bf7nca48vg5z0zqvqzjb9y595cq";
-    excludes = [ "libusb/version_nano.h" ];
-  }) ];
-
   nativeBuildInputs = [ pkg-config autoreconfHook ];
   propagatedBuildInputs =
     lib.optional enableUdev udev ++
-    lib.optionals stdenv.isDarwin [ libobjc IOKit ];
+    lib.optionals stdenv.isDarwin [ libobjc IOKit Security ];
 
   dontDisableStatic = withStatic;
 
@@ -45,7 +39,6 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://libusb.info/";
-    repositories.git = "https://github.com/libusb/libusb";
     description = "cross-platform user-mode USB device library";
     longDescription = ''
       libusb is a cross-platform user-mode library that provides access to USB devices.
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
index 1d9354d48e1a7..12f7f982c1df0 100644
--- a/pkgs/development/libraries/libuv/default.nix
+++ b/pkgs/development/libraries/libuv/default.nix
@@ -1,14 +1,14 @@
 { stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, pkg-config, ApplicationServices, CoreServices }:
 
 stdenv.mkDerivation rec {
-  version = "1.43.0";
+  version = "1.44.1";
   pname = "libuv";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-AsXJb2AGNx+SARPmY8uRFRLfX5vqTPNjwL8njSw/e7o=";
+    sha256 = "sha256-12uveSEavRxQW4xVrB4Rkkj+eHZ71Qy8dRG+95ldz50=";
   };
 
   postPatch = let
@@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
       "threadpool_multiple_event_loops" # times out on slow machines
       "get_passwd" # passed on NixOS but failed on other Linuxes
       "tcp_writealot" "udp_multicast_join" "udp_multicast_join6" # times out sometimes
+      "fs_fstat" # https://github.com/libuv/libuv/issues/2235#issuecomment-1012086927
     ] ++ lib.optionals stdenv.isDarwin [
         # Sometimes: timeout (no output), failed uv_listen. Someone
         # should report these failures to libuv team. There tests should
diff --git a/pkgs/development/libraries/libva/1.0.0.nix b/pkgs/development/libraries/libva/1.0.0.nix
deleted file mode 100644
index ade56ac16ee9e..0000000000000
--- a/pkgs/development/libraries/libva/1.0.0.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, lib, fetchurl, libX11, pkg-config, libXext, libdrm, libXfixes, wayland, libffi
-, libGL, mesa
-, minimal ? false, libva1-minimal
-}:
-
-stdenv.mkDerivation rec {
-  pname = "libva";
-  version = "1.7.3";
-
-  src = fetchurl {
-    url = "https://www.freedesktop.org/software/vaapi/releases/libva/${pname}-${version}.tar.bz2";
-    sha256 = "1ndrf136rlw03xag7j1xpmf9015d1h0dpnv6v587jnh6k2a17g12";
-  };
-
-  outputs = [ "bin" "dev" "out" ];
-
-  nativeBuildInputs = [ pkg-config ];
-
-  buildInputs = [ libdrm ]
-    ++ lib.optionals (!minimal) [ libva1-minimal libX11 libXext libXfixes wayland libffi libGL ];
-  # TODO: share libs between minimal and !minimal - perhaps just symlink them
-
-  configureFlags =
-    # Add FHS paths for non-NixOS applications.
-    [ "--with-drivers-path=${mesa.drivers.driverLink}/lib/dri:/usr/lib/dri:/usr/lib32/dri" ] ++
-    lib.optionals (!minimal) [ "--enable-glx" ];
-
-  installFlags = [ "dummy_drv_video_ladir=$(out)/lib/dri" ];
-
-  meta = with lib; {
-    homepage = "http://www.freedesktop.org/wiki/Software/vaapi";
-    license = licenses.mit;
-    description = "VAAPI library: Video Acceleration API";
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ ];
-  };
-}
diff --git a/pkgs/development/libraries/libva/1.nix b/pkgs/development/libraries/libva/1.nix
new file mode 100644
index 0000000000000..5197420783a12
--- /dev/null
+++ b/pkgs/development/libraries/libva/1.nix
@@ -0,0 +1,50 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, autoreconfHook
+, libX11
+, pkg-config
+, libXext
+, libdrm
+, libXfixes
+, wayland
+, libffi
+, libGL
+, mesa
+, minimal ? false
+, libva1-minimal
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libva" + lib.optionalString minimal "-minimal";
+  version = "1.8.3";
+
+  src = fetchFromGitHub {
+    owner = "intel";
+    repo = "libva";
+    rev = version;
+    sha256 = "sha256-ur59cqdZqXIY2dDUSie9XsxyRomVBxIW2IVKAgWYC38=";
+  };
+
+  outputs = [ "dev" "out" ];
+
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+
+  buildInputs = [ libdrm ]
+    ++ lib.optionals (!minimal) [ libva1-minimal libX11 libXext libXfixes wayland libffi libGL ];
+  # TODO: share libs between minimal and !minimal - perhaps just symlink them
+
+  # Add FHS paths for non-NixOS applications.
+  configureFlags = [ "--with-drivers-path=${mesa.drivers.driverLink}/lib/dri:/usr/lib/dri:/usr/lib32/dri" ]
+    ++ lib.optionals (!minimal) [ "--enable-glx" ];
+
+  installFlags = [ "dummy_drv_video_ladir=$(out)/lib/dri" ];
+
+  meta = with lib; {
+    homepage = "https://www.freedesktop.org/wiki/Software/vaapi/";
+    license = licenses.mit;
+    description = "VAAPI library: Video Acceleration API";
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/libraries/libva/default.nix b/pkgs/development/libraries/libva/default.nix
index 10f90a16c927a..037318353ce06 100644
--- a/pkgs/development/libraries/libva/default.nix
+++ b/pkgs/development/libraries/libva/default.nix
@@ -6,14 +6,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  pname = "libva" + lib.optionalString minimal "minimal";
-  version = "2.13.0";
+  pname = "libva" + lib.optionalString minimal "-minimal";
+  version = "2.14.0";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "libva";
     rev    = version;
-    sha256 = "0vsvli3xc0gqqp06p7wkm973lhr7c5qgnyz5jfjmf8kv75rajazp";
+    sha256 = "0q395lg6gp05mwf04zbrwgj6q9073lahh3wrcfa2i8ll60cfq9fg";
   };
 
   outputs = [ "dev" "out" ];
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
     homepage = "https://01.org/linuxmedia/vaapi";
     changelog = "https://raw.githubusercontent.com/intel/libva/${version}/NEWS";
     license = licenses.mit;
-    maintainers = with maintainers; [ primeos ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libva/utils.nix b/pkgs/development/libraries/libva/utils.nix
index 05ba3519ff4c2..357d20527957e 100644
--- a/pkgs/development/libraries/libva/utils.nix
+++ b/pkgs/development/libraries/libva/utils.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libva-utils";
-  version = "2.13.0";
+  version = "2.14.0";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "libva-utils";
     rev    = version;
-    sha256 = "0ahbwikdb0chf76whm62zz0a7zqil3gzsxmq38ccbqlmnnyjkbbb";
+    sha256 = "sha256-WuNJCFBbXbLSftL+L15ruq9PxM1XhIfYpP/IccB+aBs=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config ];
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/intel/libva-utils";
     changelog = "https://raw.githubusercontent.com/intel/libva-utils/${version}/NEWS";
     license = licenses.mit;
-    maintainers = with maintainers; [ primeos ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index 9e39c2fd2a659..cda7c091908d3 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -331,7 +331,6 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "https://libvirt.org/";
-    repositories.git = "git://libvirt.org/libvirt.git";
     description = ''
       A toolkit to interact with the virtualization capabilities of recent
       versions of Linux (and other OSes)
diff --git a/pkgs/development/libraries/libwacom/default.nix b/pkgs/development/libraries/libwacom/default.nix
index 1517cf9707829..7ccc0d2a19993 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.0.0";
+  version = "2.1.0";
 
   outputs = [ "out" "dev" ];
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     owner = "linuxwacom";
     repo = "libwacom";
     rev = "libwacom-${version}";
-    sha256 = "sha256-k8pEgEu+oWNa0rI47osVPKaZGxgwX/ENaz9jPrQXy0E=";
+    sha256 = "sha256-yqOhlbOgDIAsxgQWoLKj7WpwJXvxeuW8yCvuKTtE7h0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/lief/default.nix b/pkgs/development/libraries/lief/default.nix
index 7064080619075..3fcf03945bb31 100644
--- a/pkgs/development/libraries/lief/default.nix
+++ b/pkgs/development/libraries/lief/default.nix
@@ -10,13 +10,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "lief";
-  version = "0.11.5";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "lief-project";
     repo = "LIEF";
     rev = version;
-    sha256 = "sha256-crYFBeX+YaIvVAv3uvGEeNCg+ZbUryr0NacDG56TUGE=";
+    sha256 = "sha256-ONU/geAkqVf8SDIi9dUvHxbJkmykHMCe2UVgUyRk0gg=";
   };
 
   outputs = [ "out" "py" ];
diff --git a/pkgs/development/libraries/live555/default.nix b/pkgs/development/libraries/live555/default.nix
index 1c1b57f39cb18..217ea7408d228 100644
--- a/pkgs/development/libraries/live555/default.nix
+++ b/pkgs/development/libraries/live555/default.nix
@@ -27,8 +27,8 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     substituteInPlace config.macosx-catalina \
-      --replace '/usr/lib/libssl.46.dylib' "${openssl.out}/lib/libssl.dylib" \
-      --replace '/usr/lib/libcrypto.44.dylib' "${openssl.out}/lib/libcrypto.dylib"
+      --replace '/usr/lib/libssl.46.dylib' "${lib.getLib openssl}/lib/libssl.dylib" \
+      --replace '/usr/lib/libcrypto.44.dylib' "${lib.getLib openssl}/lib/libcrypto.dylib"
     sed -i -e 's|/bin/rm|rm|g' genMakefiles
     sed -i \
       -e 's/$(INCLUDES) -I. -O2 -DSOCKLEN_T/$(INCLUDES) -I. -O2 -I. -fPIC -DRTSPCLIENT_SYNCHRONOUS_INTERFACE=1 -DSOCKLEN_T/g' \
diff --git a/pkgs/development/libraries/malcontent/default.nix b/pkgs/development/libraries/malcontent/default.nix
index 5f46ec313b15b..791fae96f0fcf 100644
--- a/pkgs/development/libraries/malcontent/default.nix
+++ b/pkgs/development/libraries/malcontent/default.nix
@@ -19,7 +19,7 @@
 
 stdenv.mkDerivation rec {
   pname = "malcontent";
-  version = "0.10.3";
+  version = "0.10.4";
 
   outputs = [ "bin" "out" "lib" "pam" "dev" "man" "installedTests" ];
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     owner = "pwithnall";
     repo = pname;
     rev = version;
-    sha256 = "sha256-SA4QyzV/aNUmyr9BYTsemx5x7S6WpxdTBK6zmVMkwh4=";
+    sha256 = "sha256-s2wQLb3tCfO3p8yYG8Nc6pu+y2TLfrmo7Ug1LgDLEdw=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/matio/default.nix b/pkgs/development/libraries/matio/default.nix
index e3b3f288cb5d7..7a227e57560d1 100644
--- a/pkgs/development/libraries/matio/default.nix
+++ b/pkgs/development/libraries/matio/default.nix
@@ -1,10 +1,10 @@
 { lib, stdenv, fetchurl }:
 stdenv.mkDerivation rec {
   pname = "matio";
-  version = "1.5.21";
+  version = "1.5.22";
   src = fetchurl {
     url = "mirror://sourceforge/matio/${pname}-${version}.tar.gz";
-    sha256 = "sha256-IYCRd+VYOefJTa2nRO5Vwd6n11fdqriWBXdtUBIvsGU=";
+    sha256 = "sha256-gMPR4iLhFXaLV7feZAo30O58t6O9A52z6pQecfxSBMM=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 23163763ed9b7..a48f4b42e453b 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -15,6 +15,7 @@
 , enableOSMesa ? stdenv.isLinux
 , enableOpenCL ? stdenv.isLinux && stdenv.isx86_64
 , libclc
+, jdupes
 }:
 
 /** Packaging design:
@@ -33,7 +34,7 @@ with lib;
 let
   # Release calendar: https://www.mesa3d.org/release-calendar.html
   # Release frequency: https://www.mesa3d.org/releasing.html#schedule
-  version = "21.3.7";
+  version = "21.3.8";
   branch  = versions.major version;
 
 self = stdenv.mkDerivation {
@@ -47,7 +48,7 @@ self = stdenv.mkDerivation {
       "ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz"
       "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
     ];
-    sha256 = "0ggw3s514z6szasbiy4dv5mdi689121yy2xly2g21gv1mavrvyml";
+    sha256 = "19wx5plk6z0hhi0zdzxjx8ynl3lhlc5mbd8vhwqyk92kvhxjf3g7";
   };
 
   # TODO:
@@ -228,6 +229,9 @@ self = stdenv.mkDerivation {
       fi
     done
 
+    # NAR doesn't support hard links, so convert them to symlinks to save space.
+    ${jdupes}/bin/jdupes --hard-links --link-soft --recurse "$drivers"
+
     # add RPATH so the drivers can find the moved libgallium and libdricore9
     # moved here to avoid problems with stripping patchelfed files
     for lib in $drivers/lib/*.so* $drivers/lib/*/*.so*; do
diff --git a/pkgs/development/libraries/mustache-hpp/default.nix b/pkgs/development/libraries/mustache-hpp/default.nix
index 373f232a9866d..ce6dd1d21a9b3 100644
--- a/pkgs/development/libraries/mustache-hpp/default.nix
+++ b/pkgs/development/libraries/mustache-hpp/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake }:
+{ lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
   pname = "mustache";
@@ -11,11 +11,11 @@ stdenv.mkDerivation rec {
     sha256 = "0r9rbk6v1wpld2ismfsk2lkhbyv3dkf0p03hkjivbj05qkfhvlbb";
   };
 
-  nativeBuildInputs = [ cmake ];
+  dontBuild = true;
 
   installPhase = ''
     mkdir -p $out/include
-    cp ../mustache.hpp $out/include
+    cp mustache.hpp $out/include
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/neardal/default.nix b/pkgs/development/libraries/neardal/default.nix
index bbcefa0a44336..1d726ed7b192f 100644
--- a/pkgs/development/libraries/neardal/default.nix
+++ b/pkgs/development/libraries/neardal/default.nix
@@ -11,8 +11,8 @@ stdenv.mkDerivation {
     sha256 = "12qwg7qiw2wfpaxfg2fjkmj5lls0g33xp6w433g8bnkvwlq4s29g";
   };
 
-  nativeBuildInputs = [ pkg-config makeWrapper ];
-  buildInputs = [ autoconf automake libtool glib readline ];
+  nativeBuildInputs = [ pkg-config makeWrapper autoconf automake ];
+  buildInputs = [ glib readline ];
 
   preConfigure = ''
     substituteInPlace "ncl/Makefile.am" --replace "noinst_PROGRAMS" "bin_PROGRAMS"
diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix
index bd639ec3041a2..01df15c0a831e 100644
--- a/pkgs/development/libraries/nghttp2/default.nix
+++ b/pkgs/development/libraries/nghttp2/default.nix
@@ -1,90 +1,110 @@
-{ lib, stdenv, fetchurl, pkg-config
+{ lib
+, stdenv
+, fetchurl
+, installShellFiles
+, pkg-config
 
-# Optional Dependencies
-, openssl ? null, zlib ? null
-, enableLibEv ? !stdenv.hostPlatform.isWindows, libev ? null
-, enableCAres ? !stdenv.hostPlatform.isWindows, c-ares ? null
-, enableHpack ? false, jansson ? null
+# Optional dependencies
+, enableApp ? with stdenv.hostPlatform; !isWindows && !isStatic
+, c-ares ? null, libev ? null, openssl ? null, zlib ? null
 , enableAsioLib ? false, boost ? null
 , enableGetAssets ? false, libxml2 ? null
+, enableHpack ? false, jansson ? null
 , enableJemalloc ? false, jemalloc ? null
-, enableApp ? with stdenv.hostPlatform; !isWindows && !isStatic
 , enablePython ? false, python ? null, cython ? null, ncurses ? null, setuptools ? null
 
+# Unit tests ; we have to set TZDIR, which is a GNUism.
+, enableTests ? stdenv.hostPlatform.isGnu, cunit ? null, tzdata ? null
+
 # downstream dependencies, for testing
 , curl
 , libsoup
 }:
 
-# Note: this package is used for bootstrapping fetchurl, and thus
-# cannot use fetchpatch! All mutable patches (generated by GitHub or
-# cgit) that are needed here should be included directly in Nixpkgs as
-# files.
+# Note: this package is used for bootstrapping fetchurl, and thus cannot use fetchpatch!
+# All mutable patches (generated by GitHub or cgit) that are needed here
+# should be included directly in Nixpkgs as files.
 
-assert enableHpack -> jansson != null;
+assert enableApp -> c-ares != null && libev != null && openssl != null && zlib != null;
 assert enableAsioLib -> boost != null;
-assert enableGetAssets -> libxml2 != null;
-assert enableJemalloc -> jemalloc != null;
+assert enableGetAssets -> enableApp == true && libxml2 != null;
+assert enableHpack -> enableApp == true && jansson != null;
+assert enableJemalloc -> enableApp == true && jemalloc != null;
 assert enablePython -> python != null && cython != null && ncurses != null && setuptools != null;
-
-let inherit (lib) optional optionals optionalString; in
+assert enableTests -> cunit != null && tzdata != null;
 
 stdenv.mkDerivation rec {
   pname = "nghttp2";
-  version = "1.43.0";
+  version = "1.47.0";
 
   src = fetchurl {
     url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${pname}-${version}.tar.bz2";
-    sha256 = "0qhgyphzdv72dgdfxin2xbk9623za3jwbcvhhaxixiwp6djj8vsm";
+    sha256 = "11d6w8iqrhnxmjd9ss9fzf66f7a32d48h2ihyk1580lg8d3rkj07";
   };
 
   outputs = [ "bin" "out" "dev" "lib" ]
-    ++ optional enablePython "python";
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ openssl ]
-    ++ optional enableLibEv libev
-    ++ [ zlib ]
-    ++ optional enableCAres c-ares
-    ++ optional enableHpack jansson
-    ++ optional enableAsioLib boost
-    ++ optional enableGetAssets libxml2
-    ++ optional enableJemalloc jemalloc
-    ++ optionals enablePython [ python ncurses setuptools ];
+    ++ lib.optionals (enablePython) [ "python" ];
+
+  nativeBuildInputs = [ pkg-config ]
+    ++ lib.optionals (enableApp) [ installShellFiles ]
+    ++ lib.optionals (enablePython) [ cython ];
+
+  buildInputs = lib.optionals enableApp [ c-ares libev openssl zlib ]
+    ++ lib.optionals (enableAsioLib) [ boost ]
+    ++ lib.optionals (enableGetAssets) [ libxml2 ]
+    ++ lib.optionals (enableHpack) [ jansson ]
+    ++ lib.optionals (enableJemalloc) [ jemalloc ]
+    ++ lib.optionals (enablePython) [ python ncurses setuptools ];
 
   enableParallelBuilding = true;
 
   configureFlags = [
-    "--with-spdylay=no"
     "--disable-examples"
     (lib.enableFeature enableApp "app")
-  ] ++ optional enableAsioLib "--enable-asio-lib --with-boost-libdir=${boost}/lib"
-    ++ (if enablePython then [
-    "--with-cython=${cython}/bin/cython"
-  ] else [
-    "--disable-python-bindings"
-  ]);
-
-  preInstall = optionalString enablePython ''
+  ] ++ lib.optionals (enableAsioLib) [ "--enable-asio-lib" "--with-boost-libdir=${boost}/lib" ]
+    ++ lib.optionals (enablePython) [ "--with-cython=${cython}/bin/cython" ];
+
+  # Unit tests require CUnit and setting TZDIR environment variable
+  doCheck = enableTests;
+  checkInputs = lib.optionals (enableTests) [ cunit tzdata ];
+  preCheck = lib.optionalString (enableTests) ''
+    export TZDIR=${tzdata}/share/zoneinfo
+  '';
+
+  preInstall = lib.optionalString (enablePython) ''
     mkdir -p $out/${python.sitePackages}
     # convince installer it's ok to install here
     export PYTHONPATH="$PYTHONPATH:$out/${python.sitePackages}"
   '';
-  postInstall = optionalString enablePython ''
+  postInstall = lib.optionalString (enablePython) ''
     mkdir -p $python/${python.sitePackages}
     mv $out/${python.sitePackages}/* $python/${python.sitePackages}
+    rm -r $out/lib
+  '' + lib.optionalString (enableApp) ''
+    installShellCompletion --bash doc/bash_completion/{h2load,nghttp,nghttpd,nghttpx}
   '';
 
-  #doCheck = true;  # requires CUnit ; currently failing at test_util_localtime_date in util_test.cc
-
   passthru.tests = {
     inherit curl libsoup;
   };
 
   meta = with lib; {
+    description = "HTTP/2 C library and tools";
+    longDescription = ''
+      nghttp2 is an implementation of the HyperText Transfer Protocol version 2 in C.
+      The framing layer of HTTP/2 is implemented as a reusable C library. On top of that,
+      we have implemented an HTTP/2 client, server and proxy. We have also developed
+      load test and benchmarking tools for HTTP/2.
+      An HPACK encoder and decoder are available as a public API.
+      We have Python bindings of this library, but we do not have full code coverage yet.
+      An experimental high level C++ library is also available.
+    '';
+
     homepage = "https://nghttp2.org/";
-    description = "A C implementation of HTTP/2";
+    changelog = "https://github.com/nghttp2/nghttp2/releases/tag/v${version}";
+    # News articles with changes summary can be found here: https://nghttp2.org/blog/archives/
     license = licenses.mit;
+    maintainers = with maintainers; [ c0bw3b ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/nlopt/default.nix b/pkgs/development/libraries/nlopt/default.nix
index 279c8a0fd0543..2fae17a232364 100644
--- a/pkgs/development/libraries/nlopt/default.nix
+++ b/pkgs/development/libraries/nlopt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, octave ? null }:
+{ lib, stdenv, fetchFromGitHub, cmake, octave ? null, libiconv }:
 
 stdenv.mkDerivation rec {
   pname = "nlopt";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-TgieCX7yUdTAEblzXY/gCN0r6F9TVDh4RdNDjQdXZ1o=";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake ] ++ lib.optionals stdenv.isDarwin [ libiconv ];
   buildInputs = [ octave ];
 
   configureFlags = [
diff --git a/pkgs/development/libraries/notcurses/default.nix b/pkgs/development/libraries/notcurses/default.nix
index d23401c0fb49a..ad10cfadf6eb6 100644
--- a/pkgs/development/libraries/notcurses/default.nix
+++ b/pkgs/development/libraries/notcurses/default.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
       replacement for NCURSES on existing systems.
     '';
     license = licenses.asl20;
-    maintainers = with maintainers; [ jb55 AndersonTorres ];
+    maintainers = with maintainers; [ AndersonTorres ];
     inherit (ncurses.meta) platforms;
   };
 }
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index d17f4c4a78356..454c09e1b02ed 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -27,7 +27,8 @@ let
   #       It will rebuild itself using the version of this package (NSS) and if
   #       an update is required do the required changes to the expression.
   #       Example: nix-shell ./maintainers/scripts/update.nix --argstr package cacert
-  version = "3.75";
+  version = "3.76";
+  underscoreVersion = lib.replaceStrings [ "." ] [ "_" ] version;
 
 in
 stdenv.mkDerivation rec {
@@ -35,8 +36,8 @@ stdenv.mkDerivation rec {
   inherit version;
 
   src = fetchurl {
-    url = "mirror://mozilla/security/nss/releases/NSS_${lib.replaceStrings [ "." ] [ "_" ] version}_RTM/src/${pname}-${version}.tar.gz";
-    sha256 = "10l5qn68gly2l4ifv0v6by1qc8nsmhra08nm9m7n913jh83iamzx";
+    url = "mirror://mozilla/security/nss/releases/NSS_${underscoreVersion}_RTM/src/${pname}-${version}.tar.gz";
+    sha256 = "0c0nmajcvnm8gqz2v6wrlq04yzy3y7hcs806wjnx4r6kml8073hv";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -190,6 +191,7 @@ stdenv.mkDerivation rec {
   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";
+    changelog = "https://github.com/nss-dev/nss/blob/master/doc/rst/releases/nss_${underscoreVersion}.rst";
     maintainers = with maintainers; [ ];
     license = licenses.mpl20;
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix
index f9e2b3c0b3fc7..4ecfc569ae16a 100644
--- a/pkgs/development/libraries/openldap/default.nix
+++ b/pkgs/development/libraries/openldap/default.nix
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
     rm -r libraries/*/.libs
     rm -r contrib/slapd-modules/passwd/*/.libs
     for f in $out/lib/libldap.la $out/lib/libldap_r.la; do
-      substituteInPlace "$f" --replace '-lssl' '-L${openssl.out}/lib -lssl'
+      substituteInPlace "$f" --replace '-lssl' '-L${lib.getLib openssl}/lib -lssl'
   '' + lib.optionalString withCyrusSasl ''
       substituteInPlace "$f" --replace '-lsasl2' '-L${cyrus_sasl.out}/lib -lsasl2'
   '' + ''
diff --git a/pkgs/development/libraries/openssl/1.0.2/darwin64-arm64.patch b/pkgs/development/libraries/openssl/1.0.2/darwin64-arm64.patch
deleted file mode 100644
index 5ecfb41755697..0000000000000
--- a/pkgs/development/libraries/openssl/1.0.2/darwin64-arm64.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/Configure b/Configure
-index 494e0b3..0b448aa 100755
---- a/Configure
-+++ b/Configure
-@@ -652,6 +652,8 @@ my %table=(
- "darwin64-x86_64-cc","cc:-arch x86_64 -O3 -DL_ENDIAN -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:".eval{my $asm=$x86_64_asm;$asm=~s/rc4\-[^:]+//;$asm}.":macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch x86_64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
- "debug-darwin64-x86_64-cc","cc:-arch x86_64 -ggdb -g2 -O0 -DL_ENDIAN -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:".eval{my $asm=$x86_64_asm;$asm=~s/rc4\-[^:]+//;$asm}.":macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch x86_64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
- "debug-darwin-ppc-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DB_ENDIAN -g -Wall -O::-D_REENTRANT:MACOSX::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc32_asm}:osx32:dlfcn:darwin-shared:-fPIC:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
-+"darwin64-arm64-cc","cc:-arch arm64 -O3 -DL_ENDIAN -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-arch arm64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
-+"debug-darwin64-arm64-cc","cc:-arch arm64 -ggdb -g2 -O0 -DL_ENDIAN -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-arch arm64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
- # iPhoneOS/iOS
- "iphoneos-cross","llvm-gcc:-O3 -isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fomit-frame-pointer -fno-common::-D_REENTRANT:iOS:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
diff --git a/pkgs/development/libraries/openssl/1.0.2/nix-ssl-cert-file.patch b/pkgs/development/libraries/openssl/1.0.2/nix-ssl-cert-file.patch
deleted file mode 100644
index 5765409fdd579..0000000000000
--- a/pkgs/development/libraries/openssl/1.0.2/nix-ssl-cert-file.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/crypto/x509/by_file.c b/crypto/x509/by_file.c
-index e6d0e6e1a6..b89456fd87 100644
---- a/crypto/x509/by_file.c
-+++ b/crypto/x509/by_file.c
-@@ -97,7 +97,10 @@ static int by_file_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp,
-     switch (cmd) {
-     case X509_L_FILE_LOAD:
-         if (argl == X509_FILETYPE_DEFAULT) {
--            file = ossl_safe_getenv(X509_get_default_cert_file_env());
-+            file = ossl_safe_getenv("NIX_SSL_CERT_FILE");
-+
-+            if (!file)
-+                file = ossl_safe_getenv(X509_get_default_cert_file_env());
- 
-             if (file)
-                 ok = (X509_load_cert_crl_file(ctx, file,
diff --git a/pkgs/development/libraries/openssl/1.0.2/use-etc-ssl-certs-darwin.patch b/pkgs/development/libraries/openssl/1.0.2/use-etc-ssl-certs-darwin.patch
deleted file mode 100644
index 3d9ee7e6a822f..0000000000000
--- a/pkgs/development/libraries/openssl/1.0.2/use-etc-ssl-certs-darwin.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ru -x '*~' openssl-1.0.1r-orig/crypto/cryptlib.h openssl-1.0.1r/crypto/cryptlib.h
---- openssl-1.0.1r-orig/crypto/cryptlib.h	2016-01-28 14:38:30.000000000 +0100
-+++ openssl-1.0.1r/crypto/cryptlib.h	2016-02-03 12:54:29.193165176 +0100
-@@ -81,8 +81,8 @@
- 
- # ifndef OPENSSL_SYS_VMS
- #  define X509_CERT_AREA          OPENSSLDIR
- #  define X509_CERT_DIR           OPENSSLDIR "/certs"
--#  define X509_CERT_FILE          OPENSSLDIR "/cert.pem"
-+#  define X509_CERT_FILE          "/nix/var/nix/profiles/default/etc/ssl/certs/ca-bundle.crt"
- #  define X509_PRIVATE_DIR        OPENSSLDIR "/private"
- # else
- #  define X509_CERT_AREA          "SSLROOT:[000000]"
diff --git a/pkgs/development/libraries/openssl/1.0.2/use-etc-ssl-certs.patch b/pkgs/development/libraries/openssl/1.0.2/use-etc-ssl-certs.patch
deleted file mode 100644
index 813c6bdf44ab8..0000000000000
--- a/pkgs/development/libraries/openssl/1.0.2/use-etc-ssl-certs.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ru -x '*~' openssl-1.0.1r-orig/crypto/cryptlib.h openssl-1.0.1r/crypto/cryptlib.h
---- openssl-1.0.1r-orig/crypto/cryptlib.h	2016-01-28 14:38:30.000000000 +0100
-+++ openssl-1.0.1r/crypto/cryptlib.h	2016-02-03 12:54:29.193165176 +0100
-@@ -81,8 +81,8 @@
- 
- # ifndef OPENSSL_SYS_VMS
- #  define X509_CERT_AREA          OPENSSLDIR
- #  define X509_CERT_DIR           OPENSSLDIR "/certs"
--#  define X509_CERT_FILE          OPENSSLDIR "/cert.pem"
-+#  define X509_CERT_FILE          "/etc/ssl/certs/ca-certificates.crt"
- #  define X509_PRIVATE_DIR        OPENSSLDIR "/private"
- # else
- #  define X509_CERT_AREA          "SSLROOT:[000000]"
diff --git a/pkgs/development/libraries/openssl/chacha.nix b/pkgs/development/libraries/openssl/chacha.nix
deleted file mode 100644
index bae3e53f441f3..0000000000000
--- a/pkgs/development/libraries/openssl/chacha.nix
+++ /dev/null
@@ -1,82 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, perl, zlib
-, withCryptodev ? false, cryptodev
-}:
-
-with lib;
-stdenv.mkDerivation {
-  pname = "openssl-chacha";
-  version = "2016-08-22";
-
-  src = fetchFromGitHub {
-    owner = "PeterMosmans";
-    repo = "openssl";
-    rev = "293717318e903b95f4d7e83a98a087282f37efc3";
-    sha256 = "134j3anjnj2q99xsd8d47bwvjp73qkdsimdd9riyjxa3hd8ysr00";
-  };
-
-  outputs = [ "bin" "dev" "out" "man" ];
-  setOutputFlags = false;
-
-  nativeBuildInputs = [ perl zlib ];
-  buildInputs = lib.optional withCryptodev cryptodev;
-
-  configureScript = "./config";
-
-  configureFlags = [
-    "zlib"
-    "shared"
-    "experimental-jpake"
-    "enable-md2"
-    "enable-rc5"
-    "enable-rfc3779"
-    "enable-gost"
-    "--libdir=lib"
-    "--openssldir=etc/ssl"
-  ] ++ lib.optionals withCryptodev [
-    "-DHAVE_CRYPTODEV"
-    "-DUSE_CRYPTODEV_DIGESTS"
-  ];
-
-  makeFlags = [
-    "MANDIR=$(man)/share/man"
-  ];
-
-  # Parallel building is broken in OpenSSL.
-  enableParallelBuilding = false;
-
-  postInstall = ''
-    # If we're building dynamic libraries, then don't install static
-    # libraries.
-    if [ -n "$(echo $out/lib/*.so $out/lib/*.dylib $out/lib/*.dll)" ]; then
-        rm "$out/lib/"*.a
-    fi
-
-    mkdir -p $bin
-    mv $out/bin $bin/
-
-    mkdir $dev
-    mv $out/include $dev/
-
-    # remove dependency on Perl at runtime
-    rm -r $out/etc/ssl/misc
-
-    rmdir $out/etc/ssl/{certs,private}
-  '';
-
-  postFixup = ''
-    # Check to make sure we don't depend on perl
-    if grep -r '${perl}' $out; then
-      echo "Found an erroneous dependency on perl ^^^" >&2
-      exit 1
-    fi
-  '';
-
-  meta = {
-    homepage = "https://www.openssl.org/";
-    description = "A cryptographic library that implements the SSL and TLS protocols";
-    platforms = [ "x86_64-linux" ];
-    maintainers = [ lib.maintainers.cstrahan ];
-    license = licenses.openssl;
-    priority = 10; # resolves collision with ‘man-pages’
-  };
-}
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 33ddbf7018c50..648357b00cfba 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -170,20 +170,6 @@ let
 
 in {
 
-  openssl_1_0_2 = common {
-    version = "1.0.2u";
-    sha256 = "ecd0c6ffb493dd06707d38b14bb4d8c2288bb7033735606569d8f90f89669d16";
-    patches = [
-      ./1.0.2/nix-ssl-cert-file.patch
-
-      (if stdenv.hostPlatform.isDarwin
-       then ./1.0.2/use-etc-ssl-certs-darwin.patch
-       else ./1.0.2/use-etc-ssl-certs.patch)
-    ] ++ lib.optionals (stdenv.hostPlatform.system == "aarch64-darwin") [
-      ./1.0.2/darwin64-arm64.patch
-    ];
-    extraMeta.knownVulnerabilities = [ "Support for OpenSSL 1.0.2 ended with 2019." ];
-  };
 
   openssl_1_1 = common rec {
     version = "1.1.1n";
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index 3033b7df4e3d4..ee79d53705945 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -24,14 +24,14 @@
 
 stdenv.mkDerivation rec {
   pname = "pango";
-  version = "1.50.4";
+  version = "1.50.6";
 
   outputs = [ "bin" "out" "dev" ]
     ++ lib.optionals withDocs [ "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "9K1j6H3CsUUwBUKk+wBNB6n5GzQVL64N2+UOzdhRwWI=";
+    sha256 = "qZi882iBw6wgSV1AvOswT06qkXW9KWfIVlZDTL2v6Go=";
   };
 
   strictDeps = !withIntrospection;
@@ -84,12 +84,9 @@ stdenv.mkDerivation rec {
 
   doCheck = false; # test-font: FAIL
 
-  postInstall = lib.optionalString withDocs ''
-    # So that devhelp can find this.
-    # https://gitlab.gnome.org/GNOME/pango/merge_requests/293/diffs#note_1058448
-    mkdir -p "$devdoc/share/devhelp"
-    mv "$out/share/doc/pango/reference" "$devdoc/share/devhelp/books"
-    rmdir -p --ignore-fail-on-non-empty "$out/share/doc/pango"
+  postFixup = lib.optionalString withDocs ''
+    # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
+    moveToOutput "share/doc" "$devdoc"
   '';
 
   passthru = {
diff --git a/pkgs/development/libraries/pcg-c/default.nix b/pkgs/development/libraries/pcg-c/default.nix
index 9722210b9d10f..95acc77922eee 100644
--- a/pkgs/development/libraries/pcg-c/default.nix
+++ b/pkgs/development/libraries/pcg-c/default.nix
@@ -33,7 +33,6 @@ stdenv.mkDerivation rec {
     '';
     platforms = platforms.unix;
     maintainers = [ maintainers.linus ];
-    repositories.git = "git://github.com/imneme/pcg-c.git";
     broken = stdenv.isi686; # https://github.com/imneme/pcg-c/issues/11
   };
 }
diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix
index d37e0a050866c..da594346c297c 100644
--- a/pkgs/development/libraries/pipewire/default.nix
+++ b/pkgs/development/libraries/pipewire/default.nix
@@ -68,7 +68,7 @@ let
 
   self = stdenv.mkDerivation rec {
     pname = "pipewire";
-    version = "0.3.48";
+    version = "0.3.49";
 
     outputs = [
       "out"
@@ -86,7 +86,7 @@ let
       owner = "pipewire";
       repo = "pipewire";
       rev = version;
-      sha256 = "sha256-+gk/MJ9YimHBwN2I42DRP+I2OqBFFtZ81Fd/l89HcSk=";
+      sha256 = "sha256-8heX/9BsPguIOzHOuqEQdt6MS3eS4HxR4A+FUZKNpdo=";
     };
 
     patches = [
@@ -102,6 +102,12 @@ let
       ./0090-pipewire-config-template-paths.patch
       # Place SPA data files in lib output to avoid dependency cycles
       ./0095-spa-data-dir.patch
+      # Fixes missing function declarations in pipewire headers
+      # Should be removed after the next release
+      (fetchpatch {
+        url = "https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/a2e98e28c1e6fb58b273ef582398d8bee4d2b769.patch";
+        sha256 = "sha256-tqiiAW2fTEp23HT59XR2D/G08pVENJtpxUI7UVufj/A=";
+      })
     ];
 
     nativeBuildInputs = [
diff --git a/pkgs/development/libraries/poco/default.nix b/pkgs/development/libraries/poco/default.nix
index 15a1f8d62bf73..0e42ff730c8a6 100644
--- a/pkgs/development/libraries/poco/default.nix
+++ b/pkgs/development/libraries/poco/default.nix
@@ -31,8 +31,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkg-config ];
 
-  buildInputs = [ openssl unixODBC libmysqlclient ];
-  propagatedBuildInputs = [ zlib pcre expat sqlite ];
+  buildInputs = [ unixODBC libmysqlclient ];
+  propagatedBuildInputs = [ zlib pcre expat sqlite openssl ];
 
   outputs = [ "out" "dev" ];
 
diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix
index 72907f7aedc89..9c49f89c2ca99 100644
--- a/pkgs/development/libraries/polkit/default.nix
+++ b/pkgs/development/libraries/polkit/default.nix
@@ -71,6 +71,12 @@ stdenv.mkDerivation rec {
       url = "https://src.fedoraproject.org/rpms/polkit/raw/0a203bd46a1e2ec8cc4b3626840e2ea9d0d13a9a/f/CVE-2021-4115.patch";
       sha256 = "sha256-BivHVVpYB4Ies1YbBDyKwUmNlqq2D1MpMipH9/dZM54=";
     })
+    # Fix build with meson 0.61
+    # https://gitlab.freedesktop.org/polkit/polkit/-/merge_requests/99
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/polkit/polkit/-/commit/a96c5119f726225f8d79b222c85d71a9f0e32419.patch";
+      sha256 = "sha256-/hm/m22dKA50sDmw4L1VAlgvCm8CuIyNjHxF/2YgMKo=";
+    })
   ] ++ lib.optionals stdenv.hostPlatform.isMusl [
     # Make netgroup support optional (musl does not have it)
     # Upstream MR: https://gitlab.freedesktop.org/polkit/polkit/merge_requests/10
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index 6fa07bcaf8060..5547e492a65be 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -18,6 +18,7 @@
 , ninja
 , openjpeg
 , pkg-config
+, python3
 , scribusUnstable
 , texlive
 , zlib
@@ -34,19 +35,20 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "poppler-${suffix}";
-  version = "22.01.0"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too!
+  version = "22.03.0"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too!
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://poppler.freedesktop.org/poppler-${version}.tar.xz";
-    sha256 = "sha256-fTSTBWtbhkE+XGk8LK4CxcBs2OYY0UwsMeLIS2eyMT4=";
+    sha256 = "sha256-cox4upTXWlX2tjVdT72qb0mTTZYWvljl5nmpz9CYDh4=";
   };
 
   nativeBuildInputs = [
     cmake
     ninja
     pkg-config
+    python3
   ];
 
   buildInputs = [
diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix
index d89547261880d..a3664ae9e0555 100644
--- a/pkgs/development/libraries/qt-5/5.12/default.nix
+++ b/pkgs/development/libraries/qt-5/5.12/default.nix
@@ -84,7 +84,21 @@ let
     qtlocation = [ ./qtlocation-gcc-9.patch ];
     qtscript = [ ./qtscript.patch ];
     qtserialport = [ ./qtserialport.patch ];
+    qtwayland = [
+      # NixOS-specific, ensure that app_id is correctly determined for
+      # wrapped executables from `wrapQtAppsHook` (see comment in patch for further
+      # context).  Beware: shared among different Qt5 versions.
+      ../modules/qtwayland-app_id.patch
+    ];
     qtwebengine = [
+      # glibc 2.34 compat
+      (fetchpatch {
+        url = "https://src.fedoraproject.org/rpms/qt5-qtwebengine/raw/d122c011631137b79455850c363676c655cf9e09/f/qtwebengine-everywhere-src-5.15.5-SIGSTKSZ.patch";
+        sha256 = "sha256-CJxN6sTvWdPVEwSkr0zpPrjyhUIi6tYSWb8ZyO0sY2o=";
+        excludes = [
+          "src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc"
+        ];
+      })
       ./qtwebengine-no-build-skip.patch
       # https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/707
       # https://bugreports.qt.io/browse/QTBUG-77037
diff --git a/pkgs/development/libraries/qt-5/5.14/default.nix b/pkgs/development/libraries/qt-5/5.14/default.nix
index 65ce74dac021d..15c85961adcfd 100644
--- a/pkgs/development/libraries/qt-5/5.14/default.nix
+++ b/pkgs/development/libraries/qt-5/5.14/default.nix
@@ -96,6 +96,12 @@ let
         stripLen = 1;
         extraPrefix = "src/3rdparty/";
       })
+
+      # glibc 2.34 compat
+      (fetchpatch {
+        url = "https://src.fedoraproject.org/rpms/qt5-qtwebengine/raw/4cef673b2dd01ce85ce7a841cf352104bbe79668/f/qtwebengine-everywhere-5.15.2-SIGSTKSZ.patch";
+        sha256 = "sha256-2D0/FL4PBL4p6ccd6JoDAGqNtLs2aeE1OdM+PJItock=";
+      })
     ] ++ lib.optional stdenv.isDarwin ./qtwebengine-darwin-no-platform-check.patch;
     qtwebkit = [
       (fetchpatch {
@@ -120,7 +126,13 @@ let
       ./qtwebkit-darwin-no-qos-classes.patch
     ];
     qttools = [ ./qttools.patch ];
-    qtwayland = [ ./qtwayland-libdrm-build.patch ];
+    qtwayland = [
+      ./qtwayland-libdrm-build.patch
+      # NixOS-specific, ensure that app_id is correctly determined for
+      # wrapped executables from `wrapQtAppsHook` (see comment in patch for further
+      # context).  Beware: shared among different Qt5 versions.
+      ../modules/qtwayland-app_id.patch
+    ];
   };
 
   addPackages = self: with self;
diff --git a/pkgs/development/libraries/qt-5/5.15/default.nix b/pkgs/development/libraries/qt-5/5.15/default.nix
index 5943a80a701e7..946c196f4a2d6 100644
--- a/pkgs/development/libraries/qt-5/5.15/default.nix
+++ b/pkgs/development/libraries/qt-5/5.15/default.nix
@@ -60,6 +60,12 @@ let
       ./qtwebengine-darwin-no-platform-check.patch
       ./qtwebengine-mac-dont-set-dsymutil-path.patch
     ];
+    qtwayland = [
+      # NixOS-specific, ensure that app_id is correctly determined for
+      # wrapped executables from `wrapQtAppsHook` (see comment in patch for further
+      # context).  Beware: shared among different Qt5 versions.
+      ../modules/qtwayland-app_id.patch
+    ];
     qtwebkit = [
       (fetchpatch {
         name = "qtwebkit-bison-3.7-build.patch";
diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix
index 5e2bb41c40f1d..0222a708bb87d 100644
--- a/pkgs/development/libraries/qt-5/modules/qtbase.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix
@@ -261,7 +261,7 @@ stdenv.mkDerivation {
     "-I" "${harfbuzz.dev}/include"
     "-system-pcre"
     "-openssl-linked"
-    "-L" "${openssl.out}/lib"
+    "-L" "${lib.getLib openssl}/lib"
     "-I" "${openssl.dev}/include"
     "-system-sqlite"
     ''-${if libmysqlclient != null then "plugin" else "no"}-sql-mysql''
diff --git a/pkgs/development/libraries/qt-5/modules/qtwayland-app_id.patch b/pkgs/development/libraries/qt-5/modules/qtwayland-app_id.patch
new file mode 100644
index 0000000000000..24d081aa602be
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/modules/qtwayland-app_id.patch
@@ -0,0 +1,36 @@
+Ensure that the correct `app_id` for Wayland is set. The upstream implementation
+uses `QFileInfo::baseName()`[1] which strips everything away after the first dot.
+This means that `.foo-wrapped` has an empty `app_id` because `baseName` returns
+an empty string in this case.
+
+The patch basically checks whether the program has the form `.foo-wrapped` (i.e. got
+wrapped by `makeWrapper`) and if that's the case, `foo` will be the correct `app_id`.
+
+[1] https://doc.qt.io/qt-5/qfileinfo.html#baseName
+
+diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
+index ba881cb..b3fd031 100644
+--- a/src/client/qwaylandwindow.cpp
++++ b/src/client/qwaylandwindow.cpp
+@@ -167,7 +167,20 @@ void QWaylandWindow::initWindow()
+                                                                                  Qt::SkipEmptyParts);
+ 
+                 if (domainName.isEmpty()) {
+-                    mShellSurface->setAppId(fi.baseName());
++                    auto baseName = fi.baseName();
++                    if (baseName.isEmpty()) {
++                        auto fileName = fi.fileName();
++                        if (fileName.endsWith("-wrapped") && fileName.startsWith(".")) {
++                            do {
++                                auto len = fileName.length();
++                                fileName = fileName.right(len - 1);
++                                fileName = fileName.left(len - 9);
++                            } while (fileName.endsWith("-wrapped") && fileName.startsWith("."));
++                            mShellSurface->setAppId(fileName);
++                        }
++                    } else {
++                        mShellSurface->setAppId(baseName);
++                    }
+                 } else {
+                     QString appId;
+                     for (int i = 0; i < domainName.count(); ++i)
diff --git a/pkgs/development/libraries/qwt/6.nix b/pkgs/development/libraries/qwt/6_1.nix
index a9fa29ba4d4f4..4e3a179e75207 100644
--- a/pkgs/development/libraries/qwt/6.nix
+++ b/pkgs/development/libraries/qwt/6_1.nix
@@ -24,9 +24,8 @@ stdenv.mkDerivation rec {
     description = "Qt widgets for technical applications";
     homepage = "http://qwt.sourceforge.net/";
     # LGPL 2.1 plus a few exceptions (more liberal)
-    license = lib.licenses.qwt;
+    license = licenses.qwt;
     platforms = platforms.unix;
     maintainers = [ maintainers.bjornfor ];
-    branch = "6";
   };
 }
diff --git a/pkgs/development/libraries/qwt/default.nix b/pkgs/development/libraries/qwt/default.nix
index a5dcfedb8491b..46cfc426efa47 100644
--- a/pkgs/development/libraries/qwt/default.nix
+++ b/pkgs/development/libraries/qwt/default.nix
@@ -1,25 +1,24 @@
-{ lib, stdenv, fetchurl, qt4, qmake4Hook }:
+{ lib, stdenv, fetchurl, qtbase, qtsvg, qttools, qmake }:
 
 stdenv.mkDerivation rec {
   pname = "qwt";
-  version = "5.2.3";
+  version = "6.2.0";
 
   src = fetchurl {
-    url = "mirror://sourceforge/qwt/${pname}-${version}.tar.bz2";
-    sha256 = "1dqa096mm6n3bidfq2b67nmdsvsw4ndzzd1qhl6hn8skcwqazzip";
+    url = "mirror://sourceforge/qwt/qwt-${version}.tar.bz2";
+    sha256 = "sha256-kZT2UTlV0P1zAPZxWBdQZEYBl6urGpL6EnpnpLC3FTA=";
   };
 
-  propagatedBuildInputs = [ qt4 ];
-  nativeBuildInputs = [ qmake4Hook ];
+  propagatedBuildInputs = [ qtbase qtsvg qttools ];
+  nativeBuildInputs = [ qmake ];
 
   postPatch = ''
-    sed -e "s@\$\$\[QT_INSTALL_PLUGINS\]@$out/lib/qt4/plugins@" -i designer/designer.pro
-    sed -e "s|INSTALLBASE.*=.*|INSTALLBASE = $out|g" -i qwtconfig.pri
+    sed -e "s|QWT_INSTALL_PREFIX.*=.*|QWT_INSTALL_PREFIX = $out|g" -i qwtconfig.pri
   '';
 
-  preConfigure = ''
-    qmakeFlags="$qmakeFlags INSTALLBASE=$out -after doc.path=$out/share/doc/${pname}-${version}"
-  '';
+  qmakeFlags = [ "-after doc.path=$out/share/doc/qwt-${version}" ];
+
+  dontWrapQtApps = true;
 
   meta = with lib; {
     description = "Qt widgets for technical applications";
diff --git a/pkgs/development/libraries/qxt/default.nix b/pkgs/development/libraries/qxt/default.nix
deleted file mode 100644
index 9d035ce9d89a0..0000000000000
--- a/pkgs/development/libraries/qxt/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib, stdenv, which, coreutils, fetchzip, qt4 }:
-
-stdenv.mkDerivation rec {
-  pname = "qxt";
-  version = "0.6.2";
-
-  src = fetchzip {
-    url = "https://bitbucket.org/libqxt/libqxt/get/v${version}.tar.gz";
-    sha256 = "0zmqfn0h8cpky7wgaaxlfh0l89r9r0isi87587kaicyap7a6kxwz";
-  };
-
-  buildInputs = [ qt4 which ];
-
-  patchPhase = ''
-    patchShebangs configure
-    substituteInPlace configure --replace "/bin/pwd" "${coreutils}/bin/pwd"
-  '';
-
-  prefixKey = "-prefix ";
-
-  meta = {
-    homepage = "http://libqxt.org";
-    description = "An extension library for Qt";
-    longDescription = ''
-      An extension library for Qt providing a suite of cross-platform utility
-      classes to add functionality not readily available in the Qt toolkit by Qt
-      Development Frameworks, Nokia.
-    '';
-    license = lib.licenses.gpl2;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ forkk ];
-    broken = true;
-  };
-}
diff --git a/pkgs/development/libraries/rapidcheck/default.nix b/pkgs/development/libraries/rapidcheck/default.nix
index 4df98c3026e59..a8a87dfd11720 100644
--- a/pkgs/development/libraries/rapidcheck/default.nix
+++ b/pkgs/development/libraries/rapidcheck/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A C++ framework for property based testing inspired by QuickCheck";
     inherit (src.meta) homepage;
-    maintainers = with maintainers; [ jb55 ];
+    maintainers = with maintainers; [ ];
     license = licenses.bsd2;
     platforms = platforms.all;
   };
diff --git a/pkgs/development/libraries/recastnavigation/default.nix b/pkgs/development/libraries/recastnavigation/default.nix
index d39d1a7132191..6fd2056d2ea2b 100644
--- a/pkgs/development/libraries/recastnavigation/default.nix
+++ b/pkgs/development/libraries/recastnavigation/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, cmake, libGL, SDL2, libGLU }:
+{ stdenv, lib, fetchFromGitHub, cmake, libGL, SDL2, libGLU, catch }:
 
 stdenv.mkDerivation rec {
   pname = "recastai";
@@ -13,6 +13,12 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-QP3lMMFR6fiKQTksAkRL6X9yaoVz2xt4QSIP9g6piww=";
   };
 
+  postPatch = ''
+    cp ${catch}/include/catch/catch.hpp Tests/catch.hpp
+  '';
+
+  doCheck = true;
+
   nativeBuildInputs = [ cmake ];
 
   buildInputs = [ libGL SDL2 libGLU ];
diff --git a/pkgs/development/libraries/robin-map/default.nix b/pkgs/development/libraries/robin-map/default.nix
index a0a068dc14223..4ab48c4844263 100644
--- a/pkgs/development/libraries/robin-map/default.nix
+++ b/pkgs/development/libraries/robin-map/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "robin-map";
-  version = "0.6.3";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "Tessil";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1li70vwsksva9c4yly90hjafgqfixi1g6d52qq9p6r60vqc4pkjj";
+    sha256 = "sha256-h59khOUg7vzw64EAMT/uzTKHzx2M9q+pc2BhfGQiY3Q=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/rocm-comgr/default.nix b/pkgs/development/libraries/rocm-comgr/default.nix
index 73075c9669a55..141c1b01d6f6d 100644
--- a/pkgs/development/libraries/rocm-comgr/default.nix
+++ b/pkgs/development/libraries/rocm-comgr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocm-comgr";
-  version = "4.5.2";
+  version = "5.0.2";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "ROCm-CompilerSupport";
     rev = "rocm-${version}";
-    hash = "sha256-enGzu1EOo87/S5oH1eEqPy0AtsBhCcroG3DYemeNgR0=";
+    hash = "sha256-EIBH7TXelo6mr+/vJ+iT+VLUVoQqWmNsgeN3Nwwr+tM=";
   };
 
   sourceRoot = "source/lib/comgr";
diff --git a/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix b/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix
index 933b972a4e792..754f408ca2667 100644
--- a/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix
+++ b/pkgs/development/libraries/science/astronomy/stellarsolver/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "stellarsolver";
-  version = "2.0";
+  version = "2.2";
 
   src = fetchFromGitHub {
     owner = "rlancaste";
     repo = pname;
     rev = version;
-    sha256 = "sha256-pqTSsey1CgOHiEm/C+7sTl9uGe3RVpL7Rdm04KgY+Z8=";
+    sha256 = "sha256-Ay7bszR4D5KKFiVLXfweJcc8jgUSZljnZVblEx7xh8o=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/science/math/cudnn/default.nix b/pkgs/development/libraries/science/math/cudnn/default.nix
index d05cc3f90ec08..a3f785c5b38f6 100644
--- a/pkgs/development/libraries/science/math/cudnn/default.nix
+++ b/pkgs/development/libraries/science/math/cudnn/default.nix
@@ -81,31 +81,27 @@ rec {
   cudnn_8_1_cudatoolkit_11_2 = cudnn_8_1_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_2; };
 
   cudnn_8_1_cudatoolkit_10 = cudnn_8_1_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_10; };
-  cudnn_8_1_cudatoolkit_11 = cudnn_8_1_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11; };
 
   # cuDNN 8.3 is necessary for the latest jaxlib, esp. jaxlib-bin. See
   # https://github.com/google/jax/discussions/9455 for more info.
-  cudnn_8_3_cudatoolkit_10_2 =
-    generic
-      rec {
-        version = "8.3.2";
-        cudatoolkit = cudatoolkit_10_2;
-        # See https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-832/support-matrix/index.html#cudnn-cuda-hardware-versions.
-        minCudaVersion = "10.2.00000";
-        maxCudaVersion = "11.5.99999";
-        mkSrc = cudatoolkit:
-          let v = if lib.versions.majorMinor cudatoolkit.version == "10.2" then "10.2" else "11.5"; in
-          fetchurl {
-            # Starting at version 8.3.1 there's a new directory layout including
-            # a subdirectory `local_installers`.
-            url = "https://developer.download.nvidia.com/compute/redist/cudnn/v${version}/local_installers/${v}/cudnn-linux-x86_64-8.3.2.44_cuda${v}-archive.tar.xz";
-            hash = {
-              "10.2" = "sha256-1vVu+cqM+PketzIQumw9ykm6REbBZhv6/lXB7EC2aaw=";
-              "11.5" = "sha256-VQCVPAjF5dHd3P2iNPnvvdzb5DpTsm3AqCxyP6FwxFc=";
-            }."${v}";
-          };
-      }
-  ;
+  cudnn_8_3_cudatoolkit_10_2 = generic rec {
+    version = "8.3.2";
+    cudatoolkit = cudatoolkit_10_2;
+    # See https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-832/support-matrix/index.html#cudnn-cuda-hardware-versions.
+    minCudaVersion = "10.2.00000";
+    maxCudaVersion = "11.5.99999";
+    mkSrc = cudatoolkit:
+      let v = if lib.versions.majorMinor cudatoolkit.version == "10.2" then "10.2" else "11.5"; in
+      fetchurl {
+        # Starting at version 8.3.1 there's a new directory layout including
+        # a subdirectory `local_installers`.
+        url = "https://developer.download.nvidia.com/compute/redist/cudnn/v${version}/local_installers/${v}/cudnn-linux-x86_64-8.3.2.44_cuda${v}-archive.tar.xz";
+        hash = {
+          "10.2" = "sha256-1vVu+cqM+PketzIQumw9ykm6REbBZhv6/lXB7EC2aaw=";
+          "11.5" = "sha256-VQCVPAjF5dHd3P2iNPnvvdzb5DpTsm3AqCxyP6FwxFc=";
+        }."${v}";
+      };
+  };
   cudnn_8_3_cudatoolkit_11_0 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_0; };
   cudnn_8_3_cudatoolkit_11_1 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_1; };
   cudnn_8_3_cudatoolkit_11_2 = cudnn_8_3_cudatoolkit_10_2.override { cudatoolkit = cudatoolkit_11_2; };
diff --git a/pkgs/development/libraries/science/math/cutensor/default.nix b/pkgs/development/libraries/science/math/cutensor/default.nix
index 25633ca63e6b1..d0d24bd1adbe8 100644
--- a/pkgs/development/libraries/science/math/cutensor/default.nix
+++ b/pkgs/development/libraries/science/math/cutensor/default.nix
@@ -1,6 +1,14 @@
 { callPackage
-, cudatoolkit_10_1, cudatoolkit_10_2
-, cudatoolkit_11_0, cudatoolkit_11_1, cudatoolkit_11_2, cudatoolkit_11_3, cudatoolkit_11_4
+, cudatoolkit_10_1
+, cudatoolkit_10_2
+, cudatoolkit_11
+, cudatoolkit_11_0
+, cudatoolkit_11_1
+, cudatoolkit_11_2
+, cudatoolkit_11_3
+, cudatoolkit_11_4
+, cudatoolkit_11_5
+, cudatoolkit_11_6
 }:
 
 rec {
@@ -8,18 +16,18 @@ rec {
     version = "1.2.2.5";
     libPath = "lib/10.1";
     cudatoolkit = cudatoolkit_10_1;
-    # 1.2.2 is compatible with CUDA 11.0, 11.1, and 11.2:
-    # ephemeral doc at https://developer.nvidia.com/cutensor/downloads
-    sha256 = "1dl9bd71frhac9cb8lvnh71zfsnqxbxbfhndvva2zf6nh0my4klm";
+    # 1.2.2 is compatible with CUDA 10.1, 10.2, and 11.x.
+    # See https://docs.nvidia.com/cuda/cutensor/release_notes.html#cutensor-v1-2-2.
+    hash = "sha256-lU7iK4DWuC/U3s1Ct/rq2Gr3w4F2U7RYYgpmF05bibY=";
   };
 
   cutensor_cudatoolkit_10_2 = cutensor_cudatoolkit_10_1.override {
     version = "1.3.1.3";
     libPath = "lib/10.2";
     cudatoolkit = cudatoolkit_10_2;
-    # 1.3.1 is compatible with CUDA 11.0, 11.1, and 11.2:
-    # ephemeral doc at https://developer.nvidia.com/cutensor/downloads
-    sha256 = "sha256-mNlVnabB2IC3HnYY0mb06RLqQzDxN9ePGVeBy3hkBC8=";
+    # 1.3.1 is compatible with CUDA 10.2 and 11.x.
+    # See https://docs.nvidia.com/cuda/cutensor/release_notes.html#cutensor-v1-3-1.
+    hash = "sha256-mNlVnabB2IC3HnYY0mb06RLqQzDxN9ePGVeBy3hkBC8=";
   };
 
   cutensor_cudatoolkit_10 = cutensor_cudatoolkit_10_2;
@@ -29,21 +37,12 @@ rec {
     cudatoolkit = cudatoolkit_11_0;
   };
 
-  cutensor_cudatoolkit_11_1 = cutensor_cudatoolkit_11_0.override {
-    cudatoolkit = cudatoolkit_11_1;
-  };
-
-  cutensor_cudatoolkit_11_2 = cutensor_cudatoolkit_11_0.override {
-    cudatoolkit = cudatoolkit_11_2;
-  };
-
-  cutensor_cudatoolkit_11_3 = cutensor_cudatoolkit_11_0.override {
-    cudatoolkit = cudatoolkit_11_3;
-  };
-
-  cutensor_cudatoolkit_11_4 = cutensor_cudatoolkit_11_0.override {
-    cudatoolkit = cudatoolkit_11_4;
-  };
+  cutensor_cudatoolkit_11_1 = cutensor_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_1; };
+  cutensor_cudatoolkit_11_2 = cutensor_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_2; };
+  cutensor_cudatoolkit_11_3 = cutensor_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_3; };
+  cutensor_cudatoolkit_11_4 = cutensor_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_4; };
+  cutensor_cudatoolkit_11_5 = cutensor_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_5; };
+  cutensor_cudatoolkit_11_6 = cutensor_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_6; };
 
-  cutensor_cudatoolkit_11 = cutensor_cudatoolkit_11_4;
+  cutensor_cudatoolkit_11 = cutensor_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11; };
 }
diff --git a/pkgs/development/libraries/science/math/cutensor/generic.nix b/pkgs/development/libraries/science/math/cutensor/generic.nix
index 0b2bd31b2c303..e7c5e0b298c07 100644
--- a/pkgs/development/libraries/science/math/cutensor/generic.nix
+++ b/pkgs/development/libraries/science/math/cutensor/generic.nix
@@ -7,7 +7,7 @@
 , addOpenGLRunpath
 
 , version
-, sha256
+, hash
 }:
 
 let
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://developer.download.nvidia.com/compute/cutensor/${mostOfVersion}/local_installers/libcutensor-${stdenv.hostPlatform.parsed.kernel.name}-${stdenv.hostPlatform.parsed.cpu.name}-${version}.tar.gz";
-    inherit sha256;
+    inherit hash;
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/science/math/nccl/default.nix b/pkgs/development/libraries/science/math/nccl/default.nix
index 5036ad890799e..c08b5aa5851dc 100644
--- a/pkgs/development/libraries/science/math/nccl/default.nix
+++ b/pkgs/development/libraries/science/math/nccl/default.nix
@@ -38,6 +38,10 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru = {
+    inherit cudatoolkit;
+  };
+
   meta = with lib; {
     description = "Multi-GPU and multi-node collective communication primitives for NVIDIA GPUs";
     homepage = "https://developer.nvidia.com/nccl";
diff --git a/pkgs/development/libraries/science/math/suitesparse/default.nix b/pkgs/development/libraries/science/math/suitesparse/default.nix
index 5a6de9f64e836..dcf8a1da25861 100644
--- a/pkgs/development/libraries/science/math/suitesparse/default.nix
+++ b/pkgs/development/libraries/science/math/suitesparse/default.nix
@@ -12,7 +12,7 @@
 
 stdenv.mkDerivation rec {
   pname = "suitesparse";
-  version = "5.10.1";
+  version = "5.11.0";
 
   outputs = [ "out" "dev" "doc" ];
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     owner = "DrTimothyAldenDavis";
     repo = "SuiteSparse";
     rev = "v${version}";
-    sha256 = "sha256-ifuoXgVQp2vHR/reC/Hjbt3vqaKpql3Nfxdb/Cgv/aU=";
+    sha256 = "sha256-AM16ngJ/CoSV6BOb80Pi9EqWoRILryOO4Rk+S5DffLU=";
   };
 
   nativeBuildInputs = [
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
     "CUBLAS_LIB=${cudatoolkit}/lib/libcublas.so"
   ] ++ lib.optionals stdenv.isDarwin [
     # Unless these are set, the build will attempt to use `Accelerate` on darwin, see:
-    # https://github.com/DrTimothyAldenDavis/SuiteSparse/blob/v5.10.1/SuiteSparse_config/SuiteSparse_config.mk#L368
+    # https://github.com/DrTimothyAldenDavis/SuiteSparse/blob/v5.11.0/SuiteSparse_config/SuiteSparse_config.mk#L368
     "BLAS=-lblas"
     "LAPACK=-llapack"
   ]
diff --git a/pkgs/development/libraries/sdbus-cpp/default.nix b/pkgs/development/libraries/sdbus-cpp/default.nix
new file mode 100644
index 0000000000000..d665a6d94a5a3
--- /dev/null
+++ b/pkgs/development/libraries/sdbus-cpp/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, systemd
+, expat
+}:
+
+stdenv.mkDerivation rec {
+  pname = "sdbus-cpp";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "kistler-group";
+    repo = "sdbus-cpp";
+    rev = "v${version}";
+    sha256 = "sha256-AjaZ6YmMlnN0jAcUBkft01XHkrze0nSr3dUMechsLrQ=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    systemd
+    expat
+  ];
+
+  cmakeFlags = [
+    "-DBUILD_CODE_GEN=ON"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/Kistler-Group/sdbus-cpp";
+    changelog = "https://github.com/Kistler-Group/sdbus-cpp/blob/v${version}/ChangeLog";
+    description = "High-level C++ D-Bus library designed to provide easy-to-use yet powerful API";
+    longDescription = ''
+      sdbus-c++ is a high-level C++ D-Bus library for Linux designed to provide expressive, easy-to-use API in modern C++.
+      It adds another layer of abstraction on top of sd-bus, a nice, fresh C D-Bus implementation by systemd.
+      It's been written primarily as a replacement of dbus-c++, which currently suffers from a number of (unresolved) bugs,
+      concurrency issues and inherent design complexities and limitations.
+    '';
+    mainProgram = "sdbus-c++-xml2cpp";
+    license = licenses.lgpl2Only;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.ivar ];
+  };
+}
diff --git a/pkgs/development/libraries/seasocks/default.nix b/pkgs/development/libraries/seasocks/default.nix
index fd53db0dcf919..044948a012e34 100644
--- a/pkgs/development/libraries/seasocks/default.nix
+++ b/pkgs/development/libraries/seasocks/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, python3, zlib }:
+{ lib, stdenv, fetchFromGitHub, cmake, python3, zlib, catch2 }:
 
 stdenv.mkDerivation rec {
   pname = "seasocks";
@@ -11,9 +11,15 @@ stdenv.mkDerivation rec {
     sha256 = "1f9a3mx3yjmr5qry4rc1c7mrx3348iifxm7d8sj8yd41kqnzmfv4";
   };
 
+  postPatch = ''
+    cp ${catch2}/include/catch2/catch.hpp src/test/c/catch/catch2/catch.hpp
+  '';
+
   nativeBuildInputs = [ cmake ];
   buildInputs = [ zlib python3 ];
 
+  doCheck = true;
+
   meta = with lib; {
     homepage = "https://github.com/mattgodbolt/seasocks";
     description = "Tiny embeddable C++ HTTP and WebSocket server";
diff --git a/pkgs/development/libraries/soci/default.nix b/pkgs/development/libraries/soci/default.nix
index b17fbe16655be..142081da0153a 100644
--- a/pkgs/development/libraries/soci/default.nix
+++ b/pkgs/development/libraries/soci/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   ];
 
   # Do not build static libraries
-  cmakeFlags = [ "-DSOCI_STATIC=OFF" "-DCMAKE_CXX_STANDARD=11" ];
+  cmakeFlags = [ "-DSOCI_STATIC=OFF" "-DCMAKE_CXX_STANDARD=11" "-DSOCI_TESTS=off" ];
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [
diff --git a/pkgs/development/libraries/spdlog/default.nix b/pkgs/development/libraries/spdlog/default.nix
index d4e0888ffd2ff..6ef4f4af43aee 100644
--- a/pkgs/development/libraries/spdlog/default.nix
+++ b/pkgs/development/libraries/spdlog/default.nix
@@ -1,7 +1,7 @@
-{ lib, stdenv, fetchFromGitHub, cmake, fmt_8 }:
+{ lib, stdenv, fetchFromGitHub, cmake, fmt_8, fetchpatch }:
 
 let
-  generic = { version, sha256 }:
+  generic = { version, sha256, patches ? [] }:
     stdenv.mkDerivation {
       pname = "spdlog";
       inherit version;
@@ -13,6 +13,8 @@ let
         inherit sha256;
       };
 
+      inherit patches;
+
       nativeBuildInputs = [ cmake ];
       # spdlog <1.3 uses a bundled version of fmt
       propagatedBuildInputs = lib.optional (lib.versionAtLeast version "1.3") fmt_8;
@@ -51,6 +53,13 @@ in
   spdlog_1 = generic {
     version = "1.9.2";
     sha256 = "sha256-GSUdHtvV/97RyDKy8i+ticnSlQCubGGWHg4Oo+YAr8Y=";
+    patches = [
+      # glibc 2.34 compat
+      (fetchpatch {
+        url = "https://github.com/gabime/spdlog/commit/d54b8e89c058f3cab2b32b3e9a2b49fd171d5895.patch";
+        sha256 = "sha256-pb7cREF90GXb5Mbs8xFLQ+eLo6Xum13/xYa8JUgJlbI=";
+      })
+    ];
   };
 
   spdlog_0 = generic {
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index 5fdf6c11d77bf..6cb2eb4b2d104 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -1,6 +1,7 @@
 { lib, stdenv, fetchurl, zlib, interactive ? false, readline, ncurses
 , python3Packages
 , enableDeserialize ? false
+, sqldiff, sqlite-analyzer
 }:
 
 with lib;
@@ -11,13 +12,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "sqlite${optionalString interactive "-interactive"}";
-  version = "3.37.2";
+  version = "3.38.1";
 
   # 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-QImo2bRnU3s/JG8he4TNduALHRqXH+WsoeMOIw5Gstg=";
+    sha256 = "sha256-jjqM65eU2Wg5lZDS3fnVwESpfdg9OLlhM2SiReyKL8Q=";
   };
 
   outputs = [ "bin" "dev" "out" ];
@@ -85,6 +86,7 @@ stdenv.mkDerivation rec {
 
   passthru.tests = {
     inherit (python3Packages) sqlalchemy;
+    inherit sqldiff sqlite-analyzer;
   };
 
   meta = {
diff --git a/pkgs/development/libraries/sqlite/tools.nix b/pkgs/development/libraries/sqlite/tools.nix
index d8d3735fe3d85..6b07c762881ee 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 }: stdenv.mkDerivation rec {
     inherit pname;
-    version = "3.37.2";
+    version = "3.38.1";
 
     # nixpkgs-update: no auto update
     src = assert version == sqlite.version; fetchurl {
       url = "https://sqlite.org/2022/sqlite-src-${archiveVersion version}.zip";
-      sha256 = "sha256-SGdwtNX4i1uw26VA3W7hdjBn11Od/uGKfGb+m7A9Ftk=";
+      sha256 = "sha256-F3rv2oF/qfUoJeF0hYf3wnqbXmtTpIHNQ0YfJ0bZMdg=";
     };
 
     nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/libraries/symengine/default.nix b/pkgs/development/libraries/symengine/default.nix
index cbe5e13a7007e..5cb2e21178630 100644
--- a/pkgs/development/libraries/symengine/default.nix
+++ b/pkgs/development/libraries/symengine/default.nix
@@ -5,6 +5,7 @@
 , flint
 , mpfr
 , libmpc
+, catch
 }:
 
 stdenv.mkDerivation rec {
@@ -18,6 +19,10 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-5KpxBusJCuwrfFWHbrRKlH6Ic7YivYqz2m+BCbNfZp0=";
   };
 
+  postPatch = ''
+    cp ${catch}/include/catch/catch.hpp symengine/utilities/catch/catch.hpp
+  '';
+
   nativeBuildInputs = [ cmake ];
 
   buildInputs = [ gmp flint mpfr libmpc ];
diff --git a/pkgs/development/libraries/tachyon/default.nix b/pkgs/development/libraries/tachyon/default.nix
index e2f611ed9d119..970b8a846222c 100644
--- a/pkgs/development/libraries/tachyon/default.nix
+++ b/pkgs/development/libraries/tachyon/default.nix
@@ -13,10 +13,10 @@ assert stdenv.isDarwin -> Carbon != null;
 
 stdenv.mkDerivation rec {
   pname = "tachyon";
-  version = "0.99.3";
+  version = "0.99.4";
   src = fetchurl {
     url = "http://jedi.ks.uiuc.edu/~johns/tachyon/files/${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-rsxxm1NK2IPRl/5O2Ng2sC1VH84Zj1uJ6mN+HZHyN+E=";
+    sha256 = "sha256-vJvDHhLDp5rpH9KhXUtQaqfjyai0e3NMKOEkbhYuaA0=";
   };
   buildInputs = lib.optionals stdenv.isDarwin [
     Carbon
diff --git a/pkgs/development/libraries/taglib/default.nix b/pkgs/development/libraries/taglib/default.nix
index 5f136a5e6b646..666d013adebc9 100644
--- a/pkgs/development/libraries/taglib/default.nix
+++ b/pkgs/development/libraries/taglib/default.nix
@@ -24,7 +24,6 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://taglib.org/";
-    repositories.git = "git://github.com/taglib/taglib.git";
     description = "A library for reading and editing audio file metadata";
     longDescription = ''
       TagLib is a library for reading and editing the meta-data of several
diff --git a/pkgs/development/libraries/template-glib/default.nix b/pkgs/development/libraries/template-glib/default.nix
index c0ee2c1d3506d..375a7c3237a58 100644
--- a/pkgs/development/libraries/template-glib/default.nix
+++ b/pkgs/development/libraries/template-glib/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, meson, ninja, pkg-config, glib, gobject-introspection, flex, bison, vala, gettext, gnome, gtk-doc, docbook_xsl, docbook_xml_dtd_43 }:
 let
-  version = "3.34.0";
+  version = "3.34.1";
   pname = "template-glib";
 in
 stdenv.mkDerivation {
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1z9xkin5fyfh071ma9y045jcw83hgx33dfbjraw6cxk0qdmfysr1";
+    sha256 = "nsm3HgTU9csU91XveQYxzQtFwGA+Ecg2/Hz9niaM0Ho=";
   };
 
   buildInputs = [ meson ninja pkg-config gettext flex bison vala glib gtk-doc docbook_xsl docbook_xml_dtd_43 ];
diff --git a/pkgs/development/libraries/tinygltf/default.nix b/pkgs/development/libraries/tinygltf/default.nix
new file mode 100644
index 0000000000000..af9938e3b8a6b
--- /dev/null
+++ b/pkgs/development/libraries/tinygltf/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, nix-update-script
+, cmake
+}:
+
+stdenv.mkDerivation rec {
+  version = "2.5.0";
+  pname = "tinygltf";
+
+  src = fetchFromGitHub {
+    owner = "syoyo";
+    repo = "tinygltf";
+    rev = "v${version}";
+    sha256 = "sha256-Pw4iNJs0bKALVPFBYUJe5/WjHxdffungCKfJFJEpDas=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  passthru.updateScript = nix-update-script {
+    attrPath = pname;
+  };
+
+  meta = with lib; {
+    description = "Header only C++11 tiny glTF 2.0 library";
+    homepage = "https://github.com/syoyo/tinygltf";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jansol ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/tracker-miners/default.nix b/pkgs/development/libraries/tracker-miners/default.nix
index 4df448d08f464..7c3e495d54a34 100644
--- a/pkgs/development/libraries/tracker-miners/default.nix
+++ b/pkgs/development/libraries/tracker-miners/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
-, substituteAll
 , asciidoc
 , docbook-xsl-nons
 , docbook_xml_dtd_45
@@ -47,11 +47,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tracker-miners";
-  version = "3.2.2";
+  version = "3.3.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "/YTHHmIbwrgcrLX5CJMkNiRtG4pPw6Y1PiuNuuvAI2w=";
+    sha256 = "izh967d0BhwGrfsmeg4ODz0heZNxvwHQVklaubjdlBc=";
   };
 
   nativeBuildInputs = [
@@ -113,13 +113,6 @@ stdenv.mkDerivation rec {
     "-Dminer_rss=false"
   ];
 
-  patches = [
-    (substituteAll {
-      src = ./fix-paths.patch;
-      inherit asciidoc;
-    })
-  ];
-
   postInstall = ''
     glib-compile-schemas "$out/share/glib-2.0/schemas"
   '';
diff --git a/pkgs/development/libraries/tracker-miners/fix-paths.patch b/pkgs/development/libraries/tracker-miners/fix-paths.patch
deleted file mode 100644
index 8661648eacdf8..0000000000000
--- a/pkgs/development/libraries/tracker-miners/fix-paths.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/docs/manpages/meson.build b/docs/manpages/meson.build
-index 0b8a64863..a09db59f0 100644
---- a/docs/manpages/meson.build
-+++ b/docs/manpages/meson.build
-@@ -43,7 +43,7 @@ foreach m : daemon_manpages + cli_manpages
-     command: [xsltproc,
-               '--output', '@OUTPUT@',
-               '--stringparam', 'man.authors.section.enabled', '0',
--              '/etc/asciidoc/docbook-xsl/manpage.xsl', '@INPUT@'],
-+              '@asciidoc@/etc/asciidoc/docbook-xsl/manpage.xsl', '@INPUT@'],
-     input: xml,
-     output: manpage,
-     install: true,
diff --git a/pkgs/development/libraries/tracker/default.nix b/pkgs/development/libraries/tracker/default.nix
index 68a29919f0aad..5cb3dc73daa8d 100644
--- a/pkgs/development/libraries/tracker/default.nix
+++ b/pkgs/development/libraries/tracker/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , fetchurl
-, fetchpatch
 , gettext
 , meson
 , ninja
@@ -26,34 +25,19 @@
 , json-glib
 , systemd
 , dbus
-, substituteAll
 }:
 
 stdenv.mkDerivation rec {
   pname = "tracker";
-  version = "3.2.1";
+  version = "3.3.0";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "GEfgiznm5h2EhzWqH5f32WwDggFlP6DXy56Bs365wDo=";
+    sha256 = "Bwb5b+f5XfQqzsgSwd57RZOg1kgyHKg1BqnXHiJBe9o=";
   };
 
-  patches = [
-    (substituteAll {
-      src = ./fix-paths.patch;
-      inherit asciidoc;
-    })
-
-    # Filter out hidden (wrapped) subcommands
-    # https://gitlab.gnome.org/GNOME/tracker/-/merge_requests/481
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/tracker/-/commit/8c28c24e447f13da8cf804cd7a00f9b909c5d3f9.patch";
-      sha256 = "EYo1nOtEr4semaPC5wk6A7bliRXu8qsBHaltd0DEI6Y=";
-    })
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
@@ -119,7 +103,9 @@ stdenv.mkDerivation rec {
 
     dbus-run-session \
       --config-file=${dbus.daemon}/share/dbus-1/session.conf \
-      meson test --print-errorlogs
+      meson test \
+        --timeout-multiplier 2 \
+        --print-errorlogs
 
     runHook postCheck
   '';
diff --git a/pkgs/development/libraries/tracker/fix-paths.patch b/pkgs/development/libraries/tracker/fix-paths.patch
deleted file mode 100644
index 5e4d8657f7bce..0000000000000
--- a/pkgs/development/libraries/tracker/fix-paths.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/docs/manpages/meson.build b/docs/manpages/meson.build
-index f90c757cf..40d9c939d 100644
---- a/docs/manpages/meson.build
-+++ b/docs/manpages/meson.build
-@@ -32,7 +32,7 @@ foreach m : manpages
-     command: [xsltproc,
-               '--output', '@OUTPUT@',
-               '--stringparam', 'man.authors.section.enabled', '0',
--              '/etc/asciidoc/docbook-xsl/manpage.xsl', '@INPUT@'],
-+              '@asciidoc@/etc/asciidoc/docbook-xsl/manpage.xsl', '@INPUT@'],
-     input: xml,
-     output: manpage,
-     install: true,
diff --git a/pkgs/development/libraries/unixODBCDrivers/default.nix b/pkgs/development/libraries/unixODBCDrivers/default.nix
index 958e417ca17ce..9b4173a6da139 100644
--- a/pkgs/development/libraries/unixODBCDrivers/default.nix
+++ b/pkgs/development/libraries/unixODBCDrivers/default.nix
@@ -157,7 +157,7 @@
     '';
 
     postFixup = ''
-      patchelf --set-rpath ${lib.makeLibraryPath [ unixODBC openssl.out libkrb5 libuuid stdenv.cc.cc ]} \
+      patchelf --set-rpath ${lib.makeLibraryPath [ unixODBC openssl libkrb5 libuuid stdenv.cc.cc ]} \
         $out/lib/libmsodbcsql-${versionMajor}.${versionMinor}.so.${versionAdditional}
     '';
 
diff --git a/pkgs/development/libraries/vte/default.nix b/pkgs/development/libraries/vte/default.nix
index aae30390ee418..16a800110942c 100644
--- a/pkgs/development/libraries/vte/default.nix
+++ b/pkgs/development/libraries/vte/default.nix
@@ -27,13 +27,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vte";
-  version = "0.64.2";
+  version = "0.68.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-KzyCC2WmZ8HYhZuiBHi+Ym0VGcwxWdrCX3AzMMbQfhg=";
+    sha256 = "sha256-E+fUeJyiFqM3gAMNJGybE92/0ECUxjFu6n/5IoTdF0k=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/wxwidgets/wxGTK28.nix b/pkgs/development/libraries/wxwidgets/wxGTK28.nix
index 19a57d68e15bb..b577e52482038 100644
--- a/pkgs/development/libraries/wxwidgets/wxGTK28.nix
+++ b/pkgs/development/libraries/wxwidgets/wxGTK28.nix
@@ -17,8 +17,6 @@
 , withMesa ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
 }:
 
-assert withMesa -> libGLU != null && libGL != null;
-
 stdenv.mkDerivation rec {
   pname = "wxGTK";
   version = "2.8.12.1";
diff --git a/pkgs/development/libraries/wxwidgets/wxGTK29.nix b/pkgs/development/libraries/wxwidgets/wxGTK29.nix
index d5bef77202f15..097cce6109cb5 100644
--- a/pkgs/development/libraries/wxwidgets/wxGTK29.nix
+++ b/pkgs/development/libraries/wxwidgets/wxGTK29.nix
@@ -22,7 +22,6 @@
 , setfile
 }:
 
-assert withMesa -> libGLU != null && libGL != null;
 stdenv.mkDerivation rec {
   pname = "wxGTK";
   version = "2.9.5";
diff --git a/pkgs/development/libraries/wxwidgets/wxGTK30.nix b/pkgs/development/libraries/wxwidgets/wxGTK30.nix
index 115453303870f..6157786a5d041 100644
--- a/pkgs/development/libraries/wxwidgets/wxGTK30.nix
+++ b/pkgs/development/libraries/wxwidgets/wxGTK30.nix
@@ -28,7 +28,6 @@
 assert withGtk2 -> (!withWebKit);
 
 let
-  inherit (gst_all_1) gstreamer gst-plugins-base;
   gtk = if withGtk2 then gtk2 else gtk3;
 in
 stdenv.mkDerivation rec {
@@ -47,8 +46,8 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gstreamer
-    gst-plugins-base
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
     gtk
     libSM
     libXinerama
diff --git a/pkgs/development/libraries/wxwidgets/wxGTK31.nix b/pkgs/development/libraries/wxwidgets/wxGTK31.nix
index 9deb23ffcf0dd..5bce6250c74fa 100644
--- a/pkgs/development/libraries/wxwidgets/wxGTK31.nix
+++ b/pkgs/development/libraries/wxwidgets/wxGTK31.nix
@@ -32,13 +32,9 @@
 , WebKit
 }:
 
-assert withWebKit -> stdenv.isDarwin;
-
 assert withGtk2 -> (!withWebKit);
 
 let
-  inherit (gnome2) GConf;
-  inherit (gst_all_1) gst-plugins-base gstreamer;
   gtk = if withGtk2 then gtk2 else gtk3;
 in
 stdenv.mkDerivation rec {
@@ -61,8 +57,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [
-    gst-plugins-base
-    gstreamer
+    gst_all_1.gst-plugins-base
+    gst_all_1.gstreamer
   ]
   ++ lib.optionals (!stdenv.isDarwin) [
     gtk
@@ -73,7 +69,7 @@ stdenv.mkDerivation rec {
     xorgproto
   ]
   ++ lib.optionals withGtk2 [
-    GConf
+    gnome2.GConf
   ]
   ++ lib.optional withMesa libGLU
   ++ lib.optional (withWebKit && !stdenv.isDarwin) webkitgtk
@@ -149,7 +145,7 @@ stdenv.mkDerivation rec {
       database support, HTML viewing and printing, and much more.
     '';
     license = licenses.wxWindows;
-    maintainers = with maintainers; [ AndersonTorres tfmoraes ];
+    maintainers = with maintainers; [ tfmoraes ];
     platforms = platforms.unix;
   };
 
diff --git a/pkgs/development/libraries/wxwidgets/wxmac30.nix b/pkgs/development/libraries/wxwidgets/wxmac30.nix
index e1f732929cecb..73bf013452a51 100644
--- a/pkgs/development/libraries/wxwidgets/wxmac30.nix
+++ b/pkgs/development/libraries/wxwidgets/wxmac30.nix
@@ -7,13 +7,15 @@
 , libpng
 , libtiff
 , zlib
-, darwin
+, AGL
+, Cocoa
+, Kernel
+, WebKit
+, derez
+, rez
+, setfile
 }:
 
-let
-  inherit (darwin.apple_sdk.frameworks) AGL Cocoa Kernel WebKit;
-  inherit (darwin.stubs) derez rez setfile;
-in
 stdenv.mkDerivation rec {
   pname = "wxmac";
   version = "3.0.5.1";
diff --git a/pkgs/development/libraries/xalanc/default.nix b/pkgs/development/libraries/xalanc/default.nix
index b750b26996d5e..2b5f2379fde7f 100644
--- a/pkgs/development/libraries/xalanc/default.nix
+++ b/pkgs/development/libraries/xalanc/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "sha256:0q1204qk97i9h14vxxq7phcfpyiin0i1zzk74ixvg4wqy87b62s8";
   };
 
-  buildInputs = [ xercesc getopt cmake ];
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ xercesc getopt ];
 
   meta = {
     homepage = "https://xalan.apache.org/";
diff --git a/pkgs/development/libraries/xcb-util-cursor/HEAD.nix b/pkgs/development/libraries/xcb-util-cursor/HEAD.nix
index f296f59d408bc..92796b4116c48 100644
--- a/pkgs/development/libraries/xcb-util-cursor/HEAD.nix
+++ b/pkgs/development/libraries/xcb-util-cursor/HEAD.nix
@@ -21,9 +21,8 @@ stdenv.mkDerivation {
 
   outputs = [ "out" "dev" ];
 
+  nativeBuildInputs = [ autoconf automake ];
   buildInputs = [
-    autoconf
-    automake
     gnum4
     gperf
     libtool
diff --git a/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix b/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix
index ad68f13fe0f18..6764df634bbce 100644
--- a/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix
+++ b/pkgs/development/libraries/xdg-desktop-portal-gnome/default.nix
@@ -10,6 +10,7 @@
 , gsettings-desktop-schemas
 , gtk4
 , libadwaita
+, gnome-desktop
 , xdg-desktop-portal
 , wayland
 , gnome
@@ -17,11 +18,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal-gnome";
-  version = "41.1";
+  version = "42.0.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "u6FEGZ5+1LlJCyScGvZFqGnWKZMmXerDjyGb8EL//fI=";
+    sha256 = "3+i1JFDzKDj5+eiY6Vqo36JwXOEtQ4MFVXwSi5zg4uY=";
   };
 
   nativeBuildInputs = [
@@ -37,6 +38,7 @@ stdenv.mkDerivation rec {
     gsettings-desktop-schemas # settings exposed by settings portal
     gtk4
     libadwaita
+    gnome-desktop
     xdg-desktop-portal
     wayland # required by GTK 4
   ];
diff --git a/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix b/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix
index c54cdeca6c35f..13a16f111ea88 100644
--- a/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix
+++ b/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix
@@ -7,6 +7,7 @@
 , xdg-desktop-portal
 , gtk3
 , gnome
+, gnome-desktop
 , glib
 , wrapGAppsHook
 , gsettings-desktop-schemas
@@ -36,7 +37,7 @@ stdenv.mkDerivation rec {
     glib
     gsettings-desktop-schemas # settings exposed by settings portal
     gtk3
-    gnome.gnome-desktop
+    gnome-desktop
     gnome.gnome-settings-daemon # schemas needed for settings api (mostly useless now that fonts were moved to g-d-s)
   ];
 
diff --git a/pkgs/development/libraries/zeroc-ice/3.6.nix b/pkgs/development/libraries/zeroc-ice/3.6.nix
deleted file mode 100644
index e8082e50447ae..0000000000000
--- a/pkgs/development/libraries/zeroc-ice/3.6.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{ stdenv, lib, fetchFromGitHub
-, mcpp, bzip2, expat, openssl, db5
-, darwin, libiconv, Security
-, zeroc-ice # to share meta
-, cpp11 ? false
-}:
-
-stdenv.mkDerivation rec {
-  pname = "zeroc-ice";
-  version = "3.6.5";
-
-  src = fetchFromGitHub {
-    owner = "zeroc-ice";
-    repo = "ice";
-    rev = "v${version}";
-    sha256 = "073h7v1f2sw77cr1a6xxa5l9j547pz24sxa9qdjc4zki0ivcnq15";
-  };
-
-  buildInputs = [ mcpp bzip2 expat openssl db5 ]
-    ++ lib.optionals stdenv.isDarwin [ darwin.cctools libiconv Security ];
-
-  postUnpack = ''
-    sourceRoot=$sourceRoot/cpp
-  '';
-
-  prePatch = lib.optionalString stdenv.isDarwin ''
-    substituteInPlace config/Make.rules.Darwin \
-        --replace xcrun ""
-  '';
-
-  patches = [
-    # Fixes compilation warning about uninitialied variables (in test code)
-    ./uninitialized-variable-warning.patch
-  ];
-
-  preBuild = ''
-    makeFlagsArray+=(
-      "prefix=$out"
-      "OPTIMIZE=yes"
-      "USR_DIR_INSTALL=yes"
-      "CONFIGS=${if cpp11 then "cpp11-shared" else "shared"}"
-      "SKIP=slice2py" # provided by a separate package
-    )
-  '';
-
-  # cannot find -lIceXML (linking bin/transformdb)
-  enableParallelBuilding = false;
-
-  outputs = [ "out" "bin" "dev" ];
-
-  postInstall = ''
-    mkdir -p $bin $dev/share
-    mv $out/bin $bin
-    mv $out/share/Ice-* $dev/share/ice
-    rm -rf $out/share/slice
-  '';
-
-  inherit (zeroc-ice) meta;
-}
diff --git a/pkgs/development/libraries/zeroc-ice/default.nix b/pkgs/development/libraries/zeroc-ice/default.nix
index fcd836348556f..9a1861f60440a 100644
--- a/pkgs/development/libraries/zeroc-ice/default.nix
+++ b/pkgs/development/libraries/zeroc-ice/default.nix
@@ -3,6 +3,7 @@
 , darwin, libiconv, Security
 , python3 # for tests only
 , cpp11 ? false
+, fetchpatch
 }:
 
 let
@@ -32,6 +33,18 @@ in stdenv.mkDerivation rec {
     sha256 = "0zc8gmlzl2f38m1fj6pv2vm8ka7fkszd6hx2lb8gfv65vn3m4sk4";
   };
 
+  patches = [
+    # Fixes for openssl 3.0 / glibc-2.34.
+    (fetchpatch {
+      url = "https://github.com/zeroc-ice/ice/commit/7204b31a082a10cd481c1f31dbb6184ec699160d.patch";
+      sha256 = "sha256-RN8kQrvWRu1oXB7UV7DkYbZ8A0VyJYGArx6ikovwefo=";
+    })
+    (fetchpatch {
+      url = "https://github.com/zeroc-ice/ice/commit/358e7fea00383d55d1c19d38a3bbb64aca803aeb.patch";
+      sha256 = "sha256-ntrTO6qHB7dw398BRdAyJQUfVYW3iEfzUaBYoWWOEDs=";
+    })
+  ];
+
   buildInputs = [ zeroc_mcpp bzip2 expat libedit lmdb openssl ]
     ++ lib.optionals stdenv.isDarwin [ darwin.cctools libiconv Security ];
 
diff --git a/pkgs/development/libraries/zeroc-ice/uninitialized-variable-warning.patch b/pkgs/development/libraries/zeroc-ice/uninitialized-variable-warning.patch
deleted file mode 100644
index 878dee26bb83b..0000000000000
--- a/pkgs/development/libraries/zeroc-ice/uninitialized-variable-warning.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/test/Glacier2/dynamicFiltering/TestControllerI.h b/test/Glacier2/dynamicFiltering/TestControllerI.h
-index 7e21639..1279200 100644
---- a/test/Glacier2/dynamicFiltering/TestControllerI.h
-+++ b/test/Glacier2/dynamicFiltering/TestControllerI.h
-@@ -21,13 +21,12 @@ struct SessionTuple
- {
-     Glacier2::SessionPrx session;
-     Glacier2::SessionControlPrx sessionControl;
--    bool configured;
-+    bool configured = false;
-
-     SessionTuple() {}
-     SessionTuple(Glacier2::SessionPrx s, Glacier2::SessionControlPrx control):
-         session(s),
--        sessionControl(control),
--        configured(false)
-+        sessionControl(control)
-     {}
-
-     SessionTuple&
diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix
index 48603000c9034..91cd037e0e33d 100644
--- a/pkgs/development/libraries/zlib/default.nix
+++ b/pkgs/development/libraries/zlib/default.nix
@@ -23,18 +23,16 @@ assert splitStaticOutput -> static;
 
 stdenv.mkDerivation (rec {
   pname = "zlib";
-  version = "1.2.11";
+  version = "1.2.12";
 
   src = fetchurl {
     urls =
       [ "https://www.zlib.net/fossils/zlib-${version}.tar.gz"  # stable archive path
         "mirror://sourceforge/libpng/zlib/${version}/zlib-${version}.tar.gz"
       ];
-    sha256 = "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1";
+    sha256 = "91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9";
   };
 
-  patches = lib.optional stdenv.hostPlatform.isCygwin ./disable-cygwin-widechar.patch;
-
   postPatch = lib.optionalString stdenv.hostPlatform.isDarwin ''
     substituteInPlace configure \
       --replace '/usr/bin/libtool' '${stdenv.cc.targetPrefix}ar' \
diff --git a/pkgs/development/libraries/zlib/disable-cygwin-widechar.patch b/pkgs/development/libraries/zlib/disable-cygwin-widechar.patch
deleted file mode 100644
index 3de4978c30661..0000000000000
--- a/pkgs/development/libraries/zlib/disable-cygwin-widechar.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/gzguts.h b/gzguts.h
-index 990a4d2..6378d46 100644
---- a/gzguts.h
-+++ b/gzguts.h
-@@ -39,7 +39,7 @@
- #  include <io.h>
- #endif
- 
--#if defined(_WIN32) || defined(__CYGWIN__)
-+#if defined(_WIN32)
- #  define WIDECHAR
- #endif
- 
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
index b68a2b2c2fb70..6b0e72032126b 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-overrides.nix
@@ -64,7 +64,7 @@ in
     propagatedBuildInputs = [pkgs.openssl];
     overrides = y: (x.overrides y) // {
       prePatch = ''
-        sed 's|libssl.so|${pkgs.openssl.out}/lib/libssl.so|' -i src/reload.lisp
+        sed 's|libssl.so|${pkgs.lib.getLib pkgs.openssl}/lib/libssl.so|' -i src/reload.lisp
       '';
     };
   };
diff --git a/pkgs/development/lisp-modules/shell.nix b/pkgs/development/lisp-modules/shell.nix
index dcec6db8edd32..0d1fadf2552c7 100644
--- a/pkgs/development/lisp-modules/shell.nix
+++ b/pkgs/development/lisp-modules/shell.nix
@@ -5,7 +5,7 @@ self = rec {
   name = "ql-to-nix";
   env = buildEnv { name = name; paths = buildInputs; };
   buildInputs = [
-    gcc stdenv
+    gcc
     openssl fuse libuv libmysqlclient libfixposix libev sqlite
     freetds
     lispPackages.quicklisp-to-nix lispPackages.quicklisp-to-nix-system-info
diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix
index 71d85a776bb29..4269d7eb0d7e6 100644
--- a/pkgs/development/lua-modules/generated-packages.nix
+++ b/pkgs/development/lua-modules/generated-packages.nix
@@ -2028,22 +2028,32 @@ buildLuarocksPackage {
   };
 }) {};
 
-luv = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
-, fetchurl, lua
+luv = callPackage ({ buildLuarocksPackage, luaOlder, luaAtLeast
+, cmake, fetchurl, lua
 }:
 buildLuarocksPackage {
   pname = "luv";
   version = "1.43.0-0";
   knownRockspec = (fetchurl {
-    url    = "https://raw.githubusercontent.com/rocks-moonscript-org/moonrocks-mirror/master/luv-1.43.0-0.rockspec";
+    url    = "https://luarocks.org/luv-1.43.0-0.rockspec";
     sha256 = "0z5a7yp20xbb3f9w73skm9fj89gxxqv72nrxjq3kycsc6c2v3m8f";
   }).outPath;
-  src = fetchurl {
-    url    = "https://github.com/luvit/luv/releases/download/1.43.0-0/luv-1.43.0-0.tar.gz";
-    sha256 = "1qlx1r79sfn8r20yx19bhdr0v58ykpwgwzy5vma9p2ngrlynyyjn";
-  };
+
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/luvit/luv.git",
+  "rev": "1.43.0-0",
+  "date": "2022-03-12T16:05:50+08:00",
+  "path": "/nix/store/d7f3sdw5l0cm8xkjdm4m6jkmx794w48j-luv",
+  "sha256": "sha256-CcUX69XzgWlJEwHUhhtqs9sDA5TNIusKek5yV2Nt3Wc=",
+  "fetchLFS": false,
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
 
   disabled = with lua; (luaOlder "5.1");
+  nativeBuildInputs = [ cmake ];
   propagatedBuildInputs = [ lua ];
 
   meta = {
diff --git a/pkgs/development/lua-modules/lib.nix b/pkgs/development/lua-modules/lib.nix
index bd952e7b8ce78..5079a4b25405c 100644
--- a/pkgs/development/lua-modules/lib.nix
+++ b/pkgs/development/lua-modules/lib.nix
@@ -82,6 +82,8 @@ rec {
   */
   generateLuarocksConfig = {
     externalDeps
+
+    # a list of lua derivations
     , requiredLuaRocks
     , extraVariables ? {}
     , rocksSubdir
@@ -113,9 +115,10 @@ rec {
     -- To prevent collisions when creating environments, we install the rock
     -- files into per-package subdirectories
     rocks_subdir = '${rocksSubdir}'
-    -- Then we need to tell luarocks where to find the rock files per
-    -- dependency
+    -- first tree is the default target where new rocks are installed,
+    -- any other trees in the list are treated as additional sources of installed rocks for matching dependencies.
     rocks_trees = {
+      {name = "current", root = '${placeholder "out"}', rocks_dir = "current" },
       ${lib.concatStringsSep "\n, " rocksTrees}
     }
   '' + lib.optionalString lua.pkgs.isLuaJIT ''
diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix
index 9190f1fff8643..656695d691094 100644
--- a/pkgs/development/lua-modules/overrides.nix
+++ b/pkgs/development/lua-modules/overrides.nix
@@ -280,34 +280,44 @@ with prev;
     '';
   });
 
-  luv = prev.lib.overrideLuarocks prev.luv (drv: {
-    # Use system libuv instead of building local and statically linking
-    # This is a hacky way to specify -DWITH_SHARED_LIBUV=ON which
-    # is not possible with luarocks and the current luv rockspec
-    # While at it, remove bundled libuv source entirely to be sure.
-    # We may wish to drop bundled lua submodules too...
-    preBuild = ''
-     sed -i 's,\(option(WITH_SHARED_LIBUV.*\)OFF,\1ON,' CMakeLists.txt
-     rm -rf deps/libuv
-    '';
 
-    buildInputs = [ pkgs.libuv ];
+  # as advised in https://github.com/luarocks/luarocks/issues/1402#issuecomment-1080616570
+  # we shouldn't use luarocks machinery to build complex cmake components
+  libluv = pkgs.stdenv.mkDerivation {
+
+    inherit (prev.luv) pname version meta src;
+
+      cmakeFlags = [
+        "-DBUILD_SHARED_LIBS=ON"
+        "-DBUILD_MODULE=OFF"
+        "-DWITH_SHARED_LIBUV=ON"
+      ];
+
+      buildInputs = [ pkgs.libuv ];
+
+      nativeBuildInputs = [ pkgs.pkg-config pkgs.fixDarwinDylibNames pkgs.cmake ];
+  };
 
-    passthru = {
-      libluv = final.luv.overrideAttrs (oa: {
-        preBuild = final.luv.preBuild + ''
-          sed -i 's,\(option(BUILD_MODULE.*\)ON,\1OFF,' CMakeLists.txt
-          sed -i 's,\(option(BUILD_SHARED_LIBS.*\)OFF,\1ON,' CMakeLists.txt
-          sed -i 's,${"\${.*INSTALL_INC_DIR}"},${placeholder "out"}/include/luv,' CMakeLists.txt
-        '';
+  luv = prev.lib.overrideLuarocks prev.luv (drv: {
+
+    buildInputs = [ pkgs.pkg-config pkgs.libuv ];
 
-        nativeBuildInputs = [ pkgs.fixDarwinDylibNames ];
+    doInstallCheck = true;
 
-        # Fixup linking libluv.dylib, for some reason it's not linked against lua correctly.
-        NIX_LDFLAGS = pkgs.lib.optionalString pkgs.stdenv.isDarwin
-          (if isLuaJIT then "-lluajit-${lua.luaversion}" else "-llua");
-      });
+    # Use system libuv instead of building local and statically linking
+    extraVariables = {
+      "WITH_SHARED_LIBUV" = "ON";
     };
+
+    # we unset the LUA_PATH since the hook erases the interpreter defaults (To fix)
+    installCheckPhase = ''
+      unset LUA_PATH
+      rm tests/test-{dns,thread}.lua
+      lua tests/run.lua
+    '';
+
+    passthru.libluv = final.libluv;
+
   });
 
   lyaml = prev.lib.overrideLuarocks prev.lyaml (oa: {
diff --git a/pkgs/development/misc/breakpad/default.nix b/pkgs/development/misc/breakpad/default.nix
index 7fb2b329667d4..045e2e8f9a6e4 100644
--- a/pkgs/development/misc/breakpad/default.nix
+++ b/pkgs/development/misc/breakpad/default.nix
@@ -20,6 +20,11 @@ in stdenv.mkDerivation {
     ln -s ${lss} $sourceRoot/src/third_party/lss
   '';
 
+  postPatch = ''
+    substituteInPlace src/client/linux/handler/exception_handler.cc \
+      --replace "max(16384" "max(static_cast<long>(16384)"
+  '';
+
   meta = with lib; {
     description = "An open-source multi-platform crash reporting system";
     homepage = "https://chromium.googlesource.com/breakpad";
diff --git a/pkgs/development/misc/yelp-tools/default.nix b/pkgs/development/misc/yelp-tools/default.nix
index d6864b80f9ed0..a58891bc333bb 100644
--- a/pkgs/development/misc/yelp-tools/default.nix
+++ b/pkgs/development/misc/yelp-tools/default.nix
@@ -13,13 +13,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "yelp-tools";
-  version = "41.0";
+  version = "42.0";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/yelp-tools/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "N/GswCvL5ooxuG4HwSmoOb0yduZW3Inrf8CpJ0bv8nI=";
+    sha256 = "LNQwY/+nJi3xXdjTeao+o5mdQmYfB1Y/SALaoRSfffQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/mobile/genymotion/default.nix b/pkgs/development/mobile/genymotion/default.nix
index 282324d205089..2b94ed14aa9c1 100644
--- a/pkgs/development/mobile/genymotion/default.nix
+++ b/pkgs/development/mobile/genymotion/default.nix
@@ -61,7 +61,8 @@ stdenv.mkDerivation rec {
     patchExecutable() {
       patchInterpreter "$1"
       wrapProgram "$out/libexec/genymotion/$1" \
-        --set "LD_LIBRARY_PATH" "${libPath}"
+        --set "LD_LIBRARY_PATH" "${libPath}" \
+        --unset "QML2_IMPORT_PATH"
     }
 
     patchTool() {
diff --git a/pkgs/development/node-packages/default.nix b/pkgs/development/node-packages/default.nix
index 7582c50132ffb..9ecb7c5f3ef45 100644
--- a/pkgs/development/node-packages/default.nix
+++ b/pkgs/development/node-packages/default.nix
@@ -352,6 +352,9 @@ let
       meta.mainProgram = "postcss";
     };
 
+    # To update prisma, please first update prisma-engines to the latest
+    # version. Then change the correct hash to this package. The PR should hold
+    # two commits: one for the engines and the other one for the node package.
     prisma = super.prisma.override rec {
       nativeBuildInputs = [ pkgs.makeWrapper ];
 
@@ -359,7 +362,7 @@ let
 
       src = fetchurl {
         url = "https://registry.npmjs.org/prisma/-/prisma-${version}.tgz";
-        sha512 = "sha512-8SdsLPhKR3mOfoo2o73h9mNn3v5kA/RqGA26Sv6qDS78Eh2uepPqt5e8/nwj5EOblYm5HEGuitaXQrOCLb6uTw==";
+        sha512 = "sha512-ltCMZAx1i0i9xuPM692Srj8McC665h6E5RqJom999sjtVSccHSD8Z+HSdBN2183h9PJKvC5dapkn78dd0NWMBg==";
       };
       postInstall = with pkgs; ''
         wrapProgram "$out/bin/prisma" \
@@ -452,6 +455,10 @@ let
       '';
     });
 
+    typescript = super.typescript.overrideAttrs (oldAttrs: {
+      meta = oldAttrs.meta // { mainProgram = "tsc"; };
+    });
+
     typescript-language-server = super.typescript-language-server.override {
       nativeBuildInputs = [ pkgs.makeWrapper ];
       postInstall = ''
diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix
index 762bda586e08c..0ab3eda77407d 100644
--- a/pkgs/development/node-packages/node-packages.nix
+++ b/pkgs/development/node-packages/node-packages.nix
@@ -13,6 +13,15 @@ let
         sha512 = "HqiDzaLDFCXkcCO/SwoyhRwqYtINFHF7t9BDRq4x90TOKNAJpiqUt9X5lQ08bwxYzc067HUywDjGySpebHcUpw==";
       };
     };
+    "@achrinza/node-ipc-9.2.2" = {
+      name = "_at_achrinza_slash_node-ipc";
+      packageName = "@achrinza/node-ipc";
+      version = "9.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@achrinza/node-ipc/-/node-ipc-9.2.2.tgz";
+        sha512 = "b90U39dx0cU6emsOvy5hxU4ApNXnE3+Tuo8XQZfiKTGelDwpMwBVgBP7QX6dGTcJgu/miyJuNJ/2naFBliNWEw==";
+      };
+    };
     "@akryum/winattr-3.0.0" = {
       name = "_at_akryum_slash_winattr";
       packageName = "@akryum/winattr";
@@ -22,13 +31,13 @@ let
         sha512 = "t4WmWoGV9gyzypwG3y3JlcK2t8fKLtvzBA7xEoFTj9SMPvOuLsf13uh4ikK0RRaaa9RPPWLgFUdOyIRaQvCpwQ==";
       };
     };
-    "@alexbosworth/caporal-1.4.0" = {
+    "@alexbosworth/caporal-1.4.1" = {
       name = "_at_alexbosworth_slash_caporal";
       packageName = "@alexbosworth/caporal";
-      version = "1.4.0";
+      version = "1.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@alexbosworth/caporal/-/caporal-1.4.0.tgz";
-        sha512 = "n/Oq0C+5XkoruoG0DTs5KwSA5rPF7hd4cwoc9atKHE2MP2yDoMCc1mPSaU8VhrsscymXo0cLCySOXn5v96FWxw==";
+        url = "https://registry.npmjs.org/@alexbosworth/caporal/-/caporal-1.4.1.tgz";
+        sha512 = "oNEyHFcHc66gzmUXDUqzoqEpjcQnsp4REzXMkQNGxMF7MZDxiec3m9IVvzFmXtl0jU48bX/+ay5aZ8G3EVQV3g==";
       };
     };
     "@alexbosworth/cli-table3-0.6.1" = {
@@ -67,13 +76,13 @@ let
         sha512 = "9ls0Zn0qXTmUdt1p9LA1P9Kor9wF1pXtfUTjipCpoYYQ4fEUsuCgQbiymk4oJccpsZ9dAG3vZ1Zt51WabjJTUw==";
       };
     };
-    "@alexbosworth/prettyjson-1.2.1" = {
+    "@alexbosworth/prettyjson-1.2.2" = {
       name = "_at_alexbosworth_slash_prettyjson";
       packageName = "@alexbosworth/prettyjson";
-      version = "1.2.1";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@alexbosworth/prettyjson/-/prettyjson-1.2.1.tgz";
-        sha512 = "b7AoM21tb21f+ZAZfKswhQ5u+ZjjYt6Mywlp1nbXrKEmER/iIco10S4Ply9dSAon4alpHTcP1ixT/kZb7422/Q==";
+        url = "https://registry.npmjs.org/@alexbosworth/prettyjson/-/prettyjson-1.2.2.tgz";
+        sha512 = "JsqGgC96z8HFceI94ZLAXLxPXw9oMmQh9XpK5tbRSoU6A4JGz1I7ssplLOTfc50Y73bWVoEJs1ja7BcEToMFmQ==";
       };
     };
     "@alexbosworth/saxophone-0.6.2" = {
@@ -112,15 +121,6 @@ let
         sha512 = "WuWp/1R0FtCHPBcJLF13lTLHETtDGFUX0ULfGPRaYB5OVCSQcovVp5UbZTTy/Ss3ub3EOEmJlU8kMJfBrWuq+A==";
       };
     };
-    "@angular-devkit/core-13.2.6" = {
-      name = "_at_angular-devkit_slash_core";
-      packageName = "@angular-devkit/core";
-      version = "13.2.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-13.2.6.tgz";
-        sha512 = "8h2mWdBTN/dYwZuzKMg2IODlOWMdbJcpQG4XVrkk9ejCPP+3aX5Aa3glCe/voN6eBNiRfs8YDM0jxmpN2aWVtg==";
-      };
-    };
     "@angular-devkit/core-13.3.0" = {
       name = "_at_angular-devkit_slash_core";
       packageName = "@angular-devkit/core";
@@ -139,15 +139,6 @@ let
         sha512 = "kAye6VYiF9JQAoeO+BYhy8eT2QOmhB+WLziRjXoFCBxh5+yXTygTVfs9fD5jmIpHmeu4hd2ErSh69yT5xWcD9g==";
       };
     };
-    "@angular-devkit/schematics-13.2.6" = {
-      name = "_at_angular-devkit_slash_schematics";
-      packageName = "@angular-devkit/schematics";
-      version = "13.2.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.2.6.tgz";
-        sha512 = "mPgSqdnZRuPSMeUA+T+mwVCrq2yhXpcYm1/Rjbhy09CyHs4wSrFv21WHCrE6shlvXpcmwr0n+I0DIeagAPmjUA==";
-      };
-    };
     "@angular-devkit/schematics-13.3.0" = {
       name = "_at_angular-devkit_slash_schematics";
       packageName = "@angular-devkit/schematics";
@@ -157,13 +148,13 @@ let
         sha512 = "hq7tqnB3uVT/iDgqWWZ4kvnijeAcgd4cfLzZiCPaYn1nuhZf0tWsho6exhJ/odMZHvVp7w8OibqWiUKxNY9zHA==";
       };
     };
-    "@angular-devkit/schematics-cli-13.2.6" = {
+    "@angular-devkit/schematics-cli-13.3.0" = {
       name = "_at_angular-devkit_slash_schematics-cli";
       packageName = "@angular-devkit/schematics-cli";
-      version = "13.2.6";
+      version = "13.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-13.2.6.tgz";
-        sha512 = "VdMLn4DoTswjk+1RL+pod8EwLkzh8pMT2OBJ9dhsITru1sr0/2nhsqRwZzZylAXjrFwdfPj1E/vfcAfSkmMGvw==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-13.3.0.tgz";
+        sha512 = "DXT+k4228Ke1zCoU9QxPhXm1xzeYBs5aqgMWhyjXdkfDokJcjQM79CSVLHdKX/OLgR51qhnQ5qVFEHHhVV40EQ==";
       };
     };
     "@antora/asciidoc-loader-3.0.1" = {
@@ -373,13 +364,13 @@ let
         sha512 = "TmB2K5UfpDpSbCNBBntXzKHcAk2EA3/P68jmWvmJvglVUdkO9V6kTAuXVe12+h6C4GK0ndwuCrHHtEVcL5t6pQ==";
       };
     };
-    "@astrojs/svelte-language-integration-0.1.1" = {
+    "@astrojs/svelte-language-integration-0.1.2" = {
       name = "_at_astrojs_slash_svelte-language-integration";
       packageName = "@astrojs/svelte-language-integration";
-      version = "0.1.1";
+      version = "0.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@astrojs/svelte-language-integration/-/svelte-language-integration-0.1.1.tgz";
-        sha512 = "npUDO0bitzUC9oTDqVuup0yZObOF45GQ0IkaMf5wxe6XW30SIeyl1j8mdyjOv90vlJeothCKqnQ91qMudpq3Vg==";
+        url = "https://registry.npmjs.org/@astrojs/svelte-language-integration/-/svelte-language-integration-0.1.2.tgz";
+        sha512 = "O6LYL9igYSzxCxDHYWUqEquuuUlMG0UL1SliZ7rF/vx9GwU71TCpsRe4iHZ0bcemM5ju9ihoTzGCmLXzYrNw0g==";
       };
     };
     "@aws-crypto/crc32-2.0.0" = {
@@ -454,697 +445,706 @@ let
         sha512 = "JJmFFwvbm08lULw4Nm5QOLg8+lAQeC8aCXK5xrtxntYzYXCGfHwUJ4Is3770Q7HmICsXthGQ+ZsDL7C2uH3yBQ==";
       };
     };
-    "@aws-sdk/abort-controller-3.54.1" = {
+    "@aws-sdk/abort-controller-3.55.0" = {
       name = "_at_aws-sdk_slash_abort-controller";
       packageName = "@aws-sdk/abort-controller";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.54.1.tgz";
-        sha512 = "yYrZ4iFZzxxx6w14WbSCL157lkoFuSfLroCswb9fV9oVfEoHRL3a4MV/7SkbK3e3LtHiJ33tLFO15kmMYIEnLA==";
+        url = "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.55.0.tgz";
+        sha512 = "rCcTxJDEFnmvo/PgbhCRv24/Uv03lEGfRslKZq7SjaMcOubflS/ZXYaMEgsjYHgAT0zlpSsyCIkJXmhFaM7H7w==";
       };
     };
-    "@aws-sdk/chunked-blob-reader-3.52.0" = {
+    "@aws-sdk/chunked-blob-reader-3.55.0" = {
       name = "_at_aws-sdk_slash_chunked-blob-reader";
       packageName = "@aws-sdk/chunked-blob-reader";
-      version = "3.52.0";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.52.0.tgz";
-        sha512 = "BAZhriHHfvnGOd0P9xcnGu8DGyxOa0lgmEw+Tc6nZpXJzx0P+1Sd76q5gE5d/IZ0r5VTB6rfwwKUoG6iShNCwQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.55.0.tgz";
+        sha512 = "o/xjMCq81opAjSBjt7YdHJwIJcGVG5XIV9+C2KXcY5QwVimkOKPybWTv0mXPvSwSilSx+EhpLNhkcJuXdzhw4w==";
       };
     };
-    "@aws-sdk/chunked-blob-reader-native-3.52.0" = {
+    "@aws-sdk/chunked-blob-reader-native-3.55.0" = {
       name = "_at_aws-sdk_slash_chunked-blob-reader-native";
       packageName = "@aws-sdk/chunked-blob-reader-native";
-      version = "3.52.0";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.52.0.tgz";
-        sha512 = "/hVzC0Q12/mWRMBBQD3v82xsLSxZ4RwG6N44XP7MuJoHy4ui4T7D9RSuvBpzzr/4fqF0w9M7XYv6aM4BD2pFIQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.55.0.tgz";
+        sha512 = "juorCwSR9O1XhpSIBSAiIH7cP1c67J4wnoiXmmbun/qzmBPipGYm0PHX5H+J89s8gD2F3e49/TWFXbZmxRw57w==";
       };
     };
-    "@aws-sdk/client-s3-3.54.1" = {
+    "@aws-sdk/client-s3-3.56.0" = {
       name = "_at_aws-sdk_slash_client-s3";
       packageName = "@aws-sdk/client-s3";
-      version = "3.54.1";
+      version = "3.56.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.54.1.tgz";
-        sha512 = "JGqq1hEKkCO2q71iVI3IZnGwR9iqFvvXjH+m8wb1YGEuq5kz3gmKHD32gYwQwvs1A0dHGiSKdT3jPVCuScahXQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.56.0.tgz";
+        sha512 = "g/OiJtD8d0roi3XK5ThIwEvkAkSDoKzxkE0gqKKJNABBnyozNnDNAVt4XnMxuXX1PPjg1KVKH2iJWFGj5I0jPQ==";
       };
     };
-    "@aws-sdk/client-sso-3.54.1" = {
+    "@aws-sdk/client-sso-3.56.0" = {
       name = "_at_aws-sdk_slash_client-sso";
       packageName = "@aws-sdk/client-sso";
-      version = "3.54.1";
+      version = "3.56.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.54.1.tgz";
-        sha512 = "Ir6XG8EzbfUVqr97rkEMW7eFGByiKQGv1Oc7Nxl3BqSXYD35rP2IJ/HI5TXx+CgOY+Ov+bI3g5BZZvSCXd3OBg==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.56.0.tgz";
+        sha512 = "5gkbkNK1iaQ7C053HG5yvWNE/AB8w39kxk/VGxACrX6bVZR1tnN36vhInjom83mWlDIu0Tl5WqD8tmkjqCYMFQ==";
       };
     };
-    "@aws-sdk/client-sts-3.54.1" = {
+    "@aws-sdk/client-sts-3.56.0" = {
       name = "_at_aws-sdk_slash_client-sts";
       packageName = "@aws-sdk/client-sts";
-      version = "3.54.1";
+      version = "3.56.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.54.1.tgz";
-        sha512 = "1wgOvyyQcrNeeNWX2aerLOFb2+wkHeo9kjyErUJv7NLRzQGlFXmljfNme2ydvyUMA8NCwjEjePSfmktjnGP9BA==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.56.0.tgz";
+        sha512 = "6LFwAU/K02Q8eNk8O/ZnaPCsnDibKYReiRV222hD64vy8rMvtGO1l+RTf5cFVa1XxHNy9ZERIJBn60EO2Zw7FA==";
       };
     };
-    "@aws-sdk/config-resolver-3.54.1" = {
+    "@aws-sdk/config-resolver-3.56.0" = {
       name = "_at_aws-sdk_slash_config-resolver";
       packageName = "@aws-sdk/config-resolver";
-      version = "3.54.1";
+      version = "3.56.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.54.1.tgz";
-        sha512 = "MPaahgP+WGdZDfvsrjiOcpdyIIt4XaT2d62x0DYhkeWR7q6/g5d73ynS9377AwVp+6LyjzisqX1lSjfUkG2ryQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.56.0.tgz";
+        sha512 = "Gzx/fkUqixQkNpqoVTyR0+BUpJTfv+9qBNbhBw79V+HnPeY+tyqkVB4vZNJYbYSR6A/rMwYThxPOfvsNDFPk6A==";
       };
     };
-    "@aws-sdk/credential-provider-env-3.54.1" = {
+    "@aws-sdk/credential-provider-env-3.55.0" = {
       name = "_at_aws-sdk_slash_credential-provider-env";
       packageName = "@aws-sdk/credential-provider-env";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.54.1.tgz";
-        sha512 = "+4ik84tPG6st6DxwymiJ/kO8OJPNjv0fROH4+OupvYiVyBLrvqoivbtwsee9mcQJ3KLkcASdht7bw271sP9wng==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.55.0.tgz";
+        sha512 = "4AIIXEdvinLlWNFtrUbUgoB7dkuV04RTcTruVWI4Ub4WSsuSCa72ZU1vqyvcEAOgGGLBmcSaGTWByjiD2sGcGA==";
       };
     };
-    "@aws-sdk/credential-provider-imds-3.54.1" = {
+    "@aws-sdk/credential-provider-imds-3.56.0" = {
       name = "_at_aws-sdk_slash_credential-provider-imds";
       packageName = "@aws-sdk/credential-provider-imds";
-      version = "3.54.1";
+      version = "3.56.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.54.1.tgz";
-        sha512 = "IIJ9Or9HAxdOzhXMEB1OBUc1EXLiNPd1BD30u5mEpyaO4jJf0AKNNg7Lkhnl5yDX0oY8pbaakDFVomqGt2c9aQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.56.0.tgz";
+        sha512 = "EibXjFcGtDEm8g9DhGtJpcVLxRhnN1tnrTxwlwTdc510k7F4Aly7PNLT/72tr4IQ8hl9eCCYgsNBpPDlY4pMmQ==";
       };
     };
-    "@aws-sdk/credential-provider-ini-3.54.1" = {
+    "@aws-sdk/credential-provider-ini-3.56.0" = {
       name = "_at_aws-sdk_slash_credential-provider-ini";
       packageName = "@aws-sdk/credential-provider-ini";
-      version = "3.54.1";
+      version = "3.56.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.54.1.tgz";
-        sha512 = "sdLJbNbBJPz4icb4OsbIMtKm2jZqeASBUYBYZfsiNP8E50EZkBOkQuKNzQikzbUZmJN+/U/3YqfrK6NzyzCd3g==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.56.0.tgz";
+        sha512 = "XpZf8LPIIbBI0zvsRPW9ZNyom5ymctr+lMIv62w9bUglojdVtBVC2ErGBmQXSWWITk/hzFZ122txU5fyRjyAFg==";
       };
     };
-    "@aws-sdk/credential-provider-node-3.54.1" = {
+    "@aws-sdk/credential-provider-node-3.56.0" = {
       name = "_at_aws-sdk_slash_credential-provider-node";
       packageName = "@aws-sdk/credential-provider-node";
-      version = "3.54.1";
+      version = "3.56.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.54.1.tgz";
-        sha512 = "J6/IjyniCYYJ+Y0cXvuZUB4yIKVOZvwziFwAA/mphtJEyiSjM7cOp3tATCrcBZuZn0OSRAeQlJ6xAy9MbKSHSQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.56.0.tgz";
+        sha512 = "TSnjA1grdyTP8xNNgNxLmOvZMUT3zT9JLydBOqpQptLjLBbP90F32CCxKZWFOA/DXtZA0QK9Fjo+8t0Q3xZtiw==";
       };
     };
-    "@aws-sdk/credential-provider-process-3.54.1" = {
+    "@aws-sdk/credential-provider-process-3.56.0" = {
       name = "_at_aws-sdk_slash_credential-provider-process";
       packageName = "@aws-sdk/credential-provider-process";
-      version = "3.54.1";
+      version = "3.56.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.54.1.tgz";
-        sha512 = "LeRHa3mCyMsWuRpNeDGLg3KvqqM0hAw1qPszyG5F43x9EhmVCpHPepnf6TrMAbTxpbdhsy4y0+kNLTFxV3LMsw==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.56.0.tgz";
+        sha512 = "B+Y35sefW1iTKqAPdlgzRy4lYx7nhXQNn+gyyt1ohfJLEvP3twv/n2xdNrF9xewCyF9glBm3YkxSleFZsGoBCw==";
       };
     };
-    "@aws-sdk/credential-provider-sso-3.54.1" = {
+    "@aws-sdk/credential-provider-sso-3.56.0" = {
       name = "_at_aws-sdk_slash_credential-provider-sso";
       packageName = "@aws-sdk/credential-provider-sso";
-      version = "3.54.1";
+      version = "3.56.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.54.1.tgz";
-        sha512 = "T6fImSfKabjhAk/kgqAhYoDFmV6kRI6PDFEQg9JJ50I61wLqgWIKWQJb0nphNpgGnEVSCp+I9alrahTNXDRQsw==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.56.0.tgz";
+        sha512 = "oCUWNl742VgrlES5LVgmtyl6ruin8xXCG8Igv6SO0gxYswkv/ed/3yhQfOOaUmO4hY7p+q0ClwXZ3EQ3UH66wg==";
       };
     };
-    "@aws-sdk/credential-provider-web-identity-3.54.1" = {
+    "@aws-sdk/credential-provider-web-identity-3.55.0" = {
       name = "_at_aws-sdk_slash_credential-provider-web-identity";
       packageName = "@aws-sdk/credential-provider-web-identity";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.54.1.tgz";
-        sha512 = "wCOK6sK+zS89OetMz8qThqRtgu43dJgpkY7bYjVWlpfnsFGN7aqrNN/N93yhtY/YZmtD/sZVXXgTO2qDkkwl2g==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.55.0.tgz";
+        sha512 = "aKnXfZNGohTuF9rCGYLg4JEIOvWIZ/sb66XMq7bOUrx13KRPDwL/eUQL8quS5jGRLpjXVNvrS17AFf65GbdUBg==";
       };
     };
-    "@aws-sdk/eventstream-marshaller-3.54.1" = {
+    "@aws-sdk/eventstream-marshaller-3.55.0" = {
       name = "_at_aws-sdk_slash_eventstream-marshaller";
       packageName = "@aws-sdk/eventstream-marshaller";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.54.1.tgz";
-        sha512 = "Ar+Cna5pZYseTHd6IAevhtorxD0SFOnNyXAs/CNzu1qFEoL6Zqik6tupJ0gOreIon/EGle5q0nfM46pujCi6wg==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.55.0.tgz";
+        sha512 = "ubPmAce0pxVsxrKsQQ/1q0xTY9S14m2/7REnkE0pzAGrl8xjH5OUpGml4yWqyboZPk1chnTaw+hoC5fj8Avexw==";
       };
     };
-    "@aws-sdk/eventstream-serde-browser-3.54.1" = {
+    "@aws-sdk/eventstream-serde-browser-3.55.0" = {
       name = "_at_aws-sdk_slash_eventstream-serde-browser";
       packageName = "@aws-sdk/eventstream-serde-browser";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.54.1.tgz";
-        sha512 = "+XTucMoHRW/spVt6ZxzagLYwBz+nfKrkK/IDzLr7X2bnOOl9CsoYm8acskBbVqzdtcNfCHTkGg5nOAUCjTJt6A==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.55.0.tgz";
+        sha512 = "V0/54j6sTBIRjhJJWjG1j44PsmZHfYzD0n2vxfhwmEvrK3BSXYU3Z3D9kYcajSvcvO8KRFU9/ZqRFJEN60Cl1g==";
       };
     };
-    "@aws-sdk/eventstream-serde-config-resolver-3.54.1" = {
+    "@aws-sdk/eventstream-serde-config-resolver-3.55.0" = {
       name = "_at_aws-sdk_slash_eventstream-serde-config-resolver";
       packageName = "@aws-sdk/eventstream-serde-config-resolver";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.54.1.tgz";
-        sha512 = "0ZDpz5LiWbrGZpp8HaXa4j9uzBLiVE9h0wpqnrYuNlnsolsDdVtbDtOlh4BSlz5uRVig2WogT0fIGYhKsK4wXg==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.55.0.tgz";
+        sha512 = "NTJHLq1sbXyXAaJucKvcdN3Svr/fM2TjHEC3l8P/torFjIsX1+Ykpi8tZt8KsX8RjoUTTfKylh41AjJq0K9X4Q==";
       };
     };
-    "@aws-sdk/eventstream-serde-node-3.54.1" = {
+    "@aws-sdk/eventstream-serde-node-3.55.0" = {
       name = "_at_aws-sdk_slash_eventstream-serde-node";
       packageName = "@aws-sdk/eventstream-serde-node";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.54.1.tgz";
-        sha512 = "2vJ/cj6ruMpeb7QF3/mdfdL4CfUyhy+guAt9hjwj1se6bE+T+8lQmIQZ+hkGGba3bBnzMwAxkQpsaAxGzdiLJA==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.55.0.tgz";
+        sha512 = "0/kzJfupYrNLbJqn+MsTGGV0/dhPbqTN6g/4GqnoVDOiZPQeJjWEzmrWcXUDDbXq79+Zw0fIlniVkAMxhK2hvw==";
       };
     };
-    "@aws-sdk/eventstream-serde-universal-3.54.1" = {
+    "@aws-sdk/eventstream-serde-universal-3.55.0" = {
       name = "_at_aws-sdk_slash_eventstream-serde-universal";
       packageName = "@aws-sdk/eventstream-serde-universal";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.54.1.tgz";
-        sha512 = "L6M136V+kAH5eoZzh42qslW9lFtld6NGr7tdidt21Vif/usXJt7IZP1tAc8ypL8lrsXeGLs92KkZ7n6rhLw2yA==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.55.0.tgz";
+        sha512 = "fUqmpCO1jtdg5t1KQbKfs17KGsMUj9+d2hiIx7XxnL5SroXpBU6LIuiFgrjPluGWi0SsdOrL6SAkrDyR6aa/Xw==";
       };
     };
-    "@aws-sdk/fetch-http-handler-3.54.1" = {
+    "@aws-sdk/fetch-http-handler-3.55.0" = {
       name = "_at_aws-sdk_slash_fetch-http-handler";
       packageName = "@aws-sdk/fetch-http-handler";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.54.1.tgz";
-        sha512 = "i2sTy8NjFXMtdlaslGS0vKbz1+9J8Nnt1A7A1gWsJmi6cXofv86glKTtxXxr1BsZu82QAZbSO4lm/XAd5gcWuQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.55.0.tgz";
+        sha512 = "/Sta3MLlszpRZ1pg+ClxfNqGvraX93F587eHrfQMaGXgQ2BqJLiAVRorBRGcmmmrHxfLOqspNqufF7ibrqziRQ==";
       };
     };
-    "@aws-sdk/hash-blob-browser-3.54.1" = {
+    "@aws-sdk/hash-blob-browser-3.55.0" = {
       name = "_at_aws-sdk_slash_hash-blob-browser";
       packageName = "@aws-sdk/hash-blob-browser";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.54.1.tgz";
-        sha512 = "wKnnye2CXS4x5dYus5cj5QNXf9dZpDDH36Ja1EyLwuM2jhh8EbcA0yHqQNEqkRr21RvVx7jtk7LvSk3/LDkshA==";
+        url = "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.55.0.tgz";
+        sha512 = "/tVsZDPXgxIovFRrKclcq304KEHcHUbBcpqar2QRYZAvaK+vxZM9h7ZmAKemmlkzV7mdh0KZqzPnfr6+KN4IGg==";
       };
     };
-    "@aws-sdk/hash-node-3.54.1" = {
+    "@aws-sdk/hash-node-3.55.0" = {
       name = "_at_aws-sdk_slash_hash-node";
       packageName = "@aws-sdk/hash-node";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.54.1.tgz";
-        sha512 = "Vpu94h4vla92xLqmAZXHjSF/dw9Myf3Gd4LJMPK7Gb5XZVZgpIijqOF/vlx0YKRunuEopLlT9OFkDVBZtqtTIw==";
+        url = "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.55.0.tgz";
+        sha512 = "2UdYwY/++AlzWEAFaK9wOed2QSxbzV527vmqKjReLHpPKPrSIlooUxlTH3LU6Y6WVDAzDRtLK43KUVXTLgGK1A==";
       };
     };
-    "@aws-sdk/hash-stream-node-3.54.1" = {
+    "@aws-sdk/hash-stream-node-3.55.0" = {
       name = "_at_aws-sdk_slash_hash-stream-node";
       packageName = "@aws-sdk/hash-stream-node";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.54.1.tgz";
-        sha512 = "BO0tgtDrBlGpK0qBGSBbC95efW1RqIRKaKs0/kZeet6Z7Y7UR/22/j0hUuYebNd0JgNlsc+hygP2OZ1vZ+Fnnw==";
+        url = "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.55.0.tgz";
+        sha512 = "0FuQmHZK3XAd+dL+UC36PiPhZ80lOvkbFusFpZLwXTelXB3AUsiVl2IebA4EpE352XU+1ACEAAWwQpj8zsdcOw==";
       };
     };
-    "@aws-sdk/invalid-dependency-3.54.1" = {
+    "@aws-sdk/invalid-dependency-3.55.0" = {
       name = "_at_aws-sdk_slash_invalid-dependency";
       packageName = "@aws-sdk/invalid-dependency";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.54.1.tgz";
-        sha512 = "nn+zqJ+nlO5yCxtvykLhj03e2+5wbb4fAgG47PHGCB8zjqvYDlv8jW1sryjR69dsMdylnanUmDvyvJUlQKj3eQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.55.0.tgz";
+        sha512 = "delH0lV+78fdD/8MXIt9kTLS6IwHvdhqq9dw/ow5VjTUw+xBwUlfPfZplaai+3hKTKWh6a2WZCeDasNItBv9aA==";
       };
     };
-    "@aws-sdk/is-array-buffer-3.52.0" = {
+    "@aws-sdk/is-array-buffer-3.55.0" = {
       name = "_at_aws-sdk_slash_is-array-buffer";
       packageName = "@aws-sdk/is-array-buffer";
-      version = "3.52.0";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.52.0.tgz";
-        sha512 = "5Pe9QKrOeSZb9Z8gtlx9CDMfxH8EiNdClBfXBbc6CiUM7y6l7UintYHkm133zM5XTqtMRYY1jaD8svVAoRPApA==";
+        url = "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.55.0.tgz";
+        sha512 = "NbiPHVYuPxdqdFd6FxzzN3H1BQn/iWA3ri3Ry7AyLeP/tGs1yzEWMwf8BN8TSMALI0GXT6Sh0GDWy3Ok5xB6DA==";
       };
     };
-    "@aws-sdk/md5-js-3.54.1" = {
+    "@aws-sdk/md5-js-3.55.0" = {
       name = "_at_aws-sdk_slash_md5-js";
       packageName = "@aws-sdk/md5-js";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.54.1.tgz";
-        sha512 = "uH3Wm8w/oEt5ggw5Vaxi6jThgAOVuh1TPXALNm/xdvx+bOjWeDQHa1taSs+aiaoTmEsIFsQO/gFlUpiaxY3nkw==";
+        url = "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.55.0.tgz";
+        sha512 = "+jh2p2B0KsyODQR01bAh7Ywladi9oVL4MSfskwl6AQApKaj8/2xLqW9I89zbRSMfPEgi2eIksQgCWET7tUc29Q==";
       };
     };
-    "@aws-sdk/middleware-bucket-endpoint-3.54.1" = {
+    "@aws-sdk/middleware-bucket-endpoint-3.56.0" = {
       name = "_at_aws-sdk_slash_middleware-bucket-endpoint";
       packageName = "@aws-sdk/middleware-bucket-endpoint";
-      version = "3.54.1";
+      version = "3.56.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.54.1.tgz";
-        sha512 = "LhkYX87A3uJQydv8KtC2M5ItM5zpHVbYyUdnKWh0trk30UH9GzDPWUDcMmHrDV1M5Yq68ufIHleBrzcD/jna3Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.56.0.tgz";
+        sha512 = "czf0u1+QeYg43hXYpR/udf3YwIq1CX5kd4bL5U6DryH9E39sHeIoEGt5NC+82OTnbezqrHBalzZX7h7Y2pI8Sg==";
       };
     };
-    "@aws-sdk/middleware-content-length-3.54.1" = {
+    "@aws-sdk/middleware-content-length-3.55.0" = {
       name = "_at_aws-sdk_slash_middleware-content-length";
       packageName = "@aws-sdk/middleware-content-length";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.54.1.tgz";
-        sha512 = "mnp9GmIDQCtw1XtfnFyBvGLUPD0CGZx1terCoUIWVN+sd8ACpCuDM6wv9TNTU+rxcKkWiOFmNl4becSm46YXOw==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.55.0.tgz";
+        sha512 = "IkFBwa1G5ERfKFh4Kdtcn/aNAGi3Hcp9IO1PVt69LZWaevxjXAi5NS2k65E9mZPEumzuLtcEeC+3qhPs4FUkqQ==";
       };
     };
-    "@aws-sdk/middleware-expect-continue-3.54.1" = {
+    "@aws-sdk/middleware-expect-continue-3.55.0" = {
       name = "_at_aws-sdk_slash_middleware-expect-continue";
       packageName = "@aws-sdk/middleware-expect-continue";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.54.1.tgz";
-        sha512 = "KNiodrFIHhZdSL5qC4Hg/1KfOPvqHoyZfodVkkcrIizfp16DhZFkwYcp1x/2QEGsaFVmYz9D6Pq9yIjuGw6NBA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.55.0.tgz";
+        sha512 = "RT6w9AJvZyMn8Cdw6RHaLK8c/Lkqdi4v19XAJCPaAaD2rQ6GhZ+AawgfkF5zawzN1TgzLmzWB4e1ts4+chr74Q==";
       };
     };
-    "@aws-sdk/middleware-flexible-checksums-3.54.1" = {
+    "@aws-sdk/middleware-flexible-checksums-3.55.0" = {
       name = "_at_aws-sdk_slash_middleware-flexible-checksums";
       packageName = "@aws-sdk/middleware-flexible-checksums";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.54.1.tgz";
-        sha512 = "+zJzx9EkMXpt3fQMucxgiG7WWmRH/8liJx6I+XcJoVC7IaNGgRck7KQWoq01+KMJ8+GLXNerFk8RUt8q4SVpig==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.55.0.tgz";
+        sha512 = "Uhx0HAUkpRfRny5bGNPYNlaznMKSa5d88RWhrAEiYMgrhUsOcAahyj74lHrphGQ0nUwJr67uq55GPRRWn9Q4Ig==";
       };
     };
-    "@aws-sdk/middleware-header-default-3.54.1" = {
+    "@aws-sdk/middleware-header-default-3.55.0" = {
       name = "_at_aws-sdk_slash_middleware-header-default";
       packageName = "@aws-sdk/middleware-header-default";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-header-default/-/middleware-header-default-3.54.1.tgz";
-        sha512 = "K6MsVrWrFjPh5nI7OYIj3sTh3VGeJ1TEXEihG18731lEgYRkyYA5pB43U2ieUE1kQlr1rHrDSWy/3mbPvDcVTA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-header-default/-/middleware-header-default-3.55.0.tgz";
+        sha512 = "IrIsVoiol36Ap3VLtrofx95PkiBd4aNw6k4FRi9TsRxmOhfcAe3MvG521wyVEg+n3DqkYPb1N4SVTUENewo8bQ==";
       };
     };
-    "@aws-sdk/middleware-host-header-3.54.1" = {
+    "@aws-sdk/middleware-host-header-3.55.0" = {
       name = "_at_aws-sdk_slash_middleware-host-header";
       packageName = "@aws-sdk/middleware-host-header";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.54.1.tgz";
-        sha512 = "x3RpdcCGu4bvvq5DrluBDCYyOCczcbVCjZm/GBwXy7qddu//1EBtZpJCcJ96ptp1ibjNW48jJPLftel7SK4qAg==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.55.0.tgz";
+        sha512 = "69mTWJfuPP4aC+h2/cb9B2CUNA9tiRPUBp67dmMrA2dHyy53kNYo8TGgfLKProoBidBz/AVXIfnh+izJj0F20w==";
       };
     };
-    "@aws-sdk/middleware-location-constraint-3.54.1" = {
+    "@aws-sdk/middleware-location-constraint-3.55.0" = {
       name = "_at_aws-sdk_slash_middleware-location-constraint";
       packageName = "@aws-sdk/middleware-location-constraint";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.54.1.tgz";
-        sha512 = "xiMhP4BbQtVo+7AFlxk/IGnrXFHi7bCb9H3Yn/08kLVDUeU7FHLwJxhKJK/OkJazavQv64/AEiTZ7fPw4l5xfA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.55.0.tgz";
+        sha512 = "OvCKwBFbl8Gbfk0HGX00pkdORJN8BPuH/O5l3+mOBWuwILPuckRP5WGnL+1HT/gu4hHS6h1lpxUrPxUOoeKIAg==";
       };
     };
-    "@aws-sdk/middleware-logger-3.54.1" = {
+    "@aws-sdk/middleware-logger-3.55.0" = {
       name = "_at_aws-sdk_slash_middleware-logger";
       packageName = "@aws-sdk/middleware-logger";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.54.1.tgz";
-        sha512 = "Cc7CDFVTAFXjZDNYGduZMWU0F/M5uEeB/GJJGNia3QEMpGjznX7sQH/wbPyVGwcV2/ONSS6NIxhUMnFrb/yl3w==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.55.0.tgz";
+        sha512 = "PtRbVrxEzDmeV9prBIP4/9or7R5Dj66mjbFSvNRGZ0n+UBfBFfVRfNrhQPNzQpfV9A3KVl9YyWCVXDSW+/rk9Q==";
       };
     };
-    "@aws-sdk/middleware-retry-3.54.1" = {
+    "@aws-sdk/middleware-retry-3.56.0" = {
       name = "_at_aws-sdk_slash_middleware-retry";
       packageName = "@aws-sdk/middleware-retry";
-      version = "3.54.1";
+      version = "3.56.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.54.1.tgz";
-        sha512 = "NwF4YU+8qnfD2mimVvlrqPeDUGYRSeoG8eONzC4SajsTRe9oWprRpWgpO47b0P5xrzJRYu18Li6jNz6qR4q4mw==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.56.0.tgz";
+        sha512 = "AkunQvVex5JimQ+xLDcPcdsseVdvxE5rUSPh/NKLGO0bOyMxPnJSRlOxrOoibK0i1BPHkTpwdx+BDFrWiRLqug==";
       };
     };
-    "@aws-sdk/middleware-sdk-s3-3.54.1" = {
+    "@aws-sdk/middleware-sdk-s3-3.56.0" = {
       name = "_at_aws-sdk_slash_middleware-sdk-s3";
       packageName = "@aws-sdk/middleware-sdk-s3";
-      version = "3.54.1";
+      version = "3.56.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.54.1.tgz";
-        sha512 = "tyFHT/tDKmNR5NnGPnvDwkOllhOMAiWEuq9ZbKphfKhSn27E7d7jUhOnSAKrMyBjCtR/8nIp8W6RoPfHU7UM5w==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.56.0.tgz";
+        sha512 = "ERHjQsA4ZTMDiKlSWF6dGt/UT15OQCCR8qRR+d/n3hVs6Nzyrt/ajEIBuea7E5lDuGwgyua5wkj1UjiHFQ4YeA==";
       };
     };
-    "@aws-sdk/middleware-sdk-sts-3.54.1" = {
+    "@aws-sdk/middleware-sdk-sts-3.56.0" = {
       name = "_at_aws-sdk_slash_middleware-sdk-sts";
       packageName = "@aws-sdk/middleware-sdk-sts";
-      version = "3.54.1";
+      version = "3.56.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.54.1.tgz";
-        sha512 = "r4weIvX7YZ62Ag9h+txQDfeK6MlFwZq7YeTYeGN57FF3sPlvMzFvI1BQ+H3A7KlQoXalAL2BzI9GPTkmTEcklg==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.56.0.tgz";
+        sha512 = "LutcntT3DvS0nnHdGPHES+J+NUtKJFAVgz1gSqPq4MLIAB5oUm9QAWhmki5s2dfBbeRR7Kh1tWpzE00XowyBog==";
       };
     };
-    "@aws-sdk/middleware-serde-3.54.1" = {
+    "@aws-sdk/middleware-serde-3.55.0" = {
       name = "_at_aws-sdk_slash_middleware-serde";
       packageName = "@aws-sdk/middleware-serde";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.54.1.tgz";
-        sha512 = "mOAa54Jwo5pG+Xs5z3VjIi4PMQVRvhsfONTlZV/GRYbJniKVE2/zLZzHLXpeChrdZjHX+kOY/1LSVpypbziu/Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.55.0.tgz";
+        sha512 = "NkEbTDrSZcC2NhuvfjXHKJEl0xgI2B5tMAwi/rMOq/TEnARwVUL9qAy+5lgeiPCqebiNllWatARrFgAaYf0VeA==";
       };
     };
-    "@aws-sdk/middleware-signing-3.54.1" = {
+    "@aws-sdk/middleware-signing-3.56.0" = {
       name = "_at_aws-sdk_slash_middleware-signing";
       packageName = "@aws-sdk/middleware-signing";
-      version = "3.54.1";
+      version = "3.56.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.54.1.tgz";
-        sha512 = "orM7cXa14mLmsJXzJrls6iJz5nmICMvx5FP1e0q28TnIgyoqUILcndGzYm3q0l2fwk7BJdw87q6sSy56LWJPkQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.56.0.tgz";
+        sha512 = "m0Rmlb3eojvZs0DQdfTZ+xJwJ0SuTXdeXn75jnpDAlnzRNKy7aRGYSsHChK8nkXgYKkpO2JmYywiTUriwwVULA==";
       };
     };
-    "@aws-sdk/middleware-ssec-3.54.1" = {
+    "@aws-sdk/middleware-ssec-3.55.0" = {
       name = "_at_aws-sdk_slash_middleware-ssec";
       packageName = "@aws-sdk/middleware-ssec";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.54.1.tgz";
-        sha512 = "wl7gJS14wO0FJU29Y6PSeB94A2Tmo5Wx1mURs54+XrWIdkVbaVs9XCu7dsF37wWNqm/luQUhKOyTec4WkILCeQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.55.0.tgz";
+        sha512 = "HTdA23hksOphQe0TmYORsa/kMNnKRGbdh0VJcsDGHQScJXzJ+C//THwfcoklff0XZfC+vGh93PECBWqixMELZw==";
       };
     };
-    "@aws-sdk/middleware-stack-3.54.1" = {
+    "@aws-sdk/middleware-stack-3.55.0" = {
       name = "_at_aws-sdk_slash_middleware-stack";
       packageName = "@aws-sdk/middleware-stack";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.54.1.tgz";
-        sha512 = "fh9/jzqR181M+53m0lFHf8HvCKrq6Odu+rzFenumnUjAFaFb7368/XjipqFMxfvW0XjbdGJ4UyPds2wcnqh+8Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.55.0.tgz";
+        sha512 = "ouD+wFz8W2R0ZQ8HrbhgN8tg1jyINEg9lPEEXY79w1Q5sf94LJ90XKAMVk02rw3dJalUWjLHf0OQe1/qxZfHyA==";
       };
     };
-    "@aws-sdk/middleware-user-agent-3.54.1" = {
+    "@aws-sdk/middleware-user-agent-3.55.0" = {
       name = "_at_aws-sdk_slash_middleware-user-agent";
       packageName = "@aws-sdk/middleware-user-agent";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.54.1.tgz";
-        sha512 = "EXHLYVzUmw6cRc3M+cz3HzDIH9R/5P6kWuaf0762CiG/kDtLr9ya4k3RbBSLAzR4wxuI58U7/DkA6mG5Dne5oA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.55.0.tgz";
+        sha512 = "UOBimkQrj6onXb3Fyuao85IjipnDSowNHfOOl3ADVX9boA/A4db5QAXBSxThV0WHLArC0iiUsnwu95ElSSMVIg==";
       };
     };
-    "@aws-sdk/node-config-provider-3.54.1" = {
+    "@aws-sdk/node-config-provider-3.56.0" = {
       name = "_at_aws-sdk_slash_node-config-provider";
       packageName = "@aws-sdk/node-config-provider";
-      version = "3.54.1";
+      version = "3.56.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.54.1.tgz";
-        sha512 = "Av9Ucybx4NpfLKAVpfBpH0OYWiJ7Da1RYPWyZ9YTKNGTxSUUuS448ZZ0OcP8QDaiHQV40dXGTJz0LV+WfChH8g==";
+        url = "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.56.0.tgz";
+        sha512 = "2uCisndaymG/tXsfVj+ZqybmNTRJwhTm3sPBB8+utSDcUe7PWR0viNEqR2lPO5Uds1zOQm4MPv1v+j4jZufFyw==";
       };
     };
-    "@aws-sdk/node-http-handler-3.54.1" = {
+    "@aws-sdk/node-http-handler-3.55.0" = {
       name = "_at_aws-sdk_slash_node-http-handler";
       packageName = "@aws-sdk/node-http-handler";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.54.1.tgz";
-        sha512 = "zY9dIIZXms4WcmpcKJxxBPqPydvUTJA3JAoqpf9Huau/oJ4VHYmQCJ6gohmHq2y2f+H0GOf74/QyngncTrKPwg==";
+        url = "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.55.0.tgz";
+        sha512 = "yF4YQr72YgVgWO9IDOhDcncqlKUJmMCtserAYhKNvmkVuaMGHE11p+IByWgcIsMJTvtFaFBhTA3W7zhJB1C1xA==";
       };
     };
-    "@aws-sdk/property-provider-3.54.1" = {
+    "@aws-sdk/property-provider-3.55.0" = {
       name = "_at_aws-sdk_slash_property-provider";
       packageName = "@aws-sdk/property-provider";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.54.1.tgz";
-        sha512 = "9D7jvMwn4hBemhDjsIduxPvPHdmgdnDjLflc3vNaljcurDUHzJVeJb4pRc3h6Fyaha6hzJFihR63IGdjWfrEhQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.55.0.tgz";
+        sha512 = "o7cKFJSHq5WOhwPsspYrzNto35oKKZvESZuWDtLxaZKSI6l7zpA366BI4kDG6Tc9i2+teV553MbxyZ9eya5A8g==";
       };
     };
-    "@aws-sdk/protocol-http-3.54.1" = {
+    "@aws-sdk/protocol-http-3.55.0" = {
       name = "_at_aws-sdk_slash_protocol-http";
       packageName = "@aws-sdk/protocol-http";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.54.1.tgz";
-        sha512 = "2fA8sbFechayTemXogFU3vlllNWYpAI4vE9d3JsIhND2BQHXjv6qrkx9rXWtnALzQbX25D4Rq6Kctu/7hG1jLw==";
+        url = "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.55.0.tgz";
+        sha512 = "vNjjsP5bFuKQMhmuBQZDddH441xanPbm8n42qgfigv0RzgWQhvUFrnmZWLBdyY8geY0RwsQ6x9yfQ0gvs48tpw==";
       };
     };
-    "@aws-sdk/querystring-builder-3.54.1" = {
+    "@aws-sdk/querystring-builder-3.55.0" = {
       name = "_at_aws-sdk_slash_querystring-builder";
       packageName = "@aws-sdk/querystring-builder";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.54.1.tgz";
-        sha512 = "8E4qFyKc4JaZZ+Vg7vV7OZx7DoKqNUakVX9/eZn6W3Hu7rrMcYY3M8mHZggP8z+fosRhib7xOcyh483LMZNfvA==";
+        url = "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.55.0.tgz";
+        sha512 = "/ZAXNipt9nRR8k+eowwukE/YjXnQ49p5w/MkaQxsBk3IuIf7MAcgVg8glHr0igH84GfUQ7ZVP8v+G2S3tKUG+Q==";
       };
     };
-    "@aws-sdk/querystring-parser-3.54.1" = {
+    "@aws-sdk/querystring-parser-3.55.0" = {
       name = "_at_aws-sdk_slash_querystring-parser";
       packageName = "@aws-sdk/querystring-parser";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.54.1.tgz";
-        sha512 = "oqnaGov6PdgS/1lNgkif6EucySMOUAKoNCsABBPItMWAoNmWiDxKIKBlk6xX5s17teP52L/iXAASD/pqeaDmUw==";
+        url = "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.55.0.tgz";
+        sha512 = "e+2FLgo+eDx7oh7ap5HngN9XSVMxredAVztLHxCcSN0lFHHHzMa8b2SpXbaowUxQHh7ziymSqvOrPYFQ71Filg==";
       };
     };
-    "@aws-sdk/s3-request-presigner-3.54.1" = {
+    "@aws-sdk/s3-request-presigner-3.56.0" = {
       name = "_at_aws-sdk_slash_s3-request-presigner";
       packageName = "@aws-sdk/s3-request-presigner";
-      version = "3.54.1";
+      version = "3.56.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.54.1.tgz";
-        sha512 = "JtfcOrFxnBBOghLocER7xgoBblqFOxe5KVlihLNkFLWw5NpHdtQKtqjwClEaytUy8MhZYYW4IICYLEl5ucowog==";
+        url = "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.56.0.tgz";
+        sha512 = "Ct/eGVojY1Mtmd4oC3n+OXnL7QmEDCQ8pXIGvhZIFwd/ZyiZsMdEz9ZO2+b8izdMGu9V9gg8EftV+hDfbMxMOQ==";
       };
     };
-    "@aws-sdk/service-error-classification-3.54.1" = {
+    "@aws-sdk/service-error-classification-3.55.0" = {
       name = "_at_aws-sdk_slash_service-error-classification";
       packageName = "@aws-sdk/service-error-classification";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.54.1.tgz";
-        sha512 = "cOofY2SFZEoPbuoH4I9ZiTMf8bgUz3OOZjLtU/Qv0Efhf7NhNEwsJkG2jgSYac3UkK7tWyz1Jo1Exog+sY7hOQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.55.0.tgz";
+        sha512 = "HdjnDyarsa1Avq1MJurkLyEe9c3eRa76dPmK4TmRGgwJ+tInEzGHL0rBW7V8xBK+PDF+fJQ71hvm8jPYmzvBwQ==";
       };
     };
-    "@aws-sdk/shared-ini-file-loader-3.54.1" = {
+    "@aws-sdk/shared-ini-file-loader-3.56.0" = {
       name = "_at_aws-sdk_slash_shared-ini-file-loader";
       packageName = "@aws-sdk/shared-ini-file-loader";
-      version = "3.54.1";
+      version = "3.56.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.54.1.tgz";
-        sha512 = "Vdb75cv9p7dlBAHFD5LdNW9UhAmTdGTsc4RoJNM2vB08WruPJQkQJgE00/f2o1L7B53mvrH+EHbfJXu5l12jWQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.56.0.tgz";
+        sha512 = "dCy3mXqYKK76iep9rn2inFrPOlGURvoO+B0Ygem0jgkDuxIF8t5wa10WHWB2ee8qZRlfwPYtcVdpEm2398St3g==";
       };
     };
-    "@aws-sdk/signature-v4-3.54.1" = {
+    "@aws-sdk/signature-v4-3.56.0" = {
       name = "_at_aws-sdk_slash_signature-v4";
       packageName = "@aws-sdk/signature-v4";
-      version = "3.54.1";
+      version = "3.56.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.54.1.tgz";
-        sha512 = "byBH4ovK3BqVxmsWWlZOug2nfWE2t1Hw1r9B4Cn0kIftpHfy3axVBLTQ8czu5b8mbVyq8PnOKPTZ1X6Tzm/LnQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.56.0.tgz";
+        sha512 = "aCvYQDMSAPe2K1lk0A+B+4xPBF50zf5ufO2k6FmBba020kqe8ODZjLq6vJJJfwrywc1B+2xWKvdpvCB7qbAOUw==";
       };
     };
-    "@aws-sdk/smithy-client-3.54.1" = {
+    "@aws-sdk/smithy-client-3.55.0" = {
       name = "_at_aws-sdk_slash_smithy-client";
       packageName = "@aws-sdk/smithy-client";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.54.1.tgz";
-        sha512 = "OabAnQQLjhdEMafq4KdptxnmvYXz0fNRZQRU/R4M9PmO5KOO9yep+y8R259hME2uV6FtMTBms1qctN9qaryhug==";
+        url = "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.55.0.tgz";
+        sha512 = "YgBpqg6R3Qg8CH9biOP1N1lYTvh8VLGD6AoDGgy/R1dQSqRQuxgKANLl3DOVcZnIZLsw4TdB0m7U+ZPtirPR1Q==";
       };
     };
-    "@aws-sdk/types-3.54.1" = {
+    "@aws-sdk/types-3.55.0" = {
       name = "_at_aws-sdk_slash_types";
       packageName = "@aws-sdk/types";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/types/-/types-3.54.1.tgz";
-        sha512 = "7JgapyqowaBqhX80ZDxumeLhnyS3Up5ZXn2MljiBwJ2B5mAGomcfFDMDvViJfbKO6pKakopp0iXtPTulH6sIgw==";
+        url = "https://registry.npmjs.org/@aws-sdk/types/-/types-3.55.0.tgz";
+        sha512 = "wrDZjuy1CVAYxDCbm3bWQIKMGfNs7XXmG0eG4858Ixgqmq2avsIn5TORy8ynBxcXn9aekV/+tGEQ7BBSYzIVNQ==";
       };
     };
-    "@aws-sdk/url-parser-3.54.1" = {
+    "@aws-sdk/url-parser-3.55.0" = {
       name = "_at_aws-sdk_slash_url-parser";
       packageName = "@aws-sdk/url-parser";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.54.1.tgz";
-        sha512 = "F0d5UokYgbv80CjZtILZ8y4hWPKwh1sk96hOTi07TBFcx6E5dS5Vi1Wm4GsRi4C8D8FeQ5dhw/XBdqCM3+tloQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.55.0.tgz";
+        sha512 = "qrTwN5xIgTLreqLnZ+x3cAudjNKfxi6srW1H/px2mk4lb2U9B4fpGjZ6VU+XV8U2kR+YlT8J6Jo5iwuVGfC91A==";
       };
     };
-    "@aws-sdk/util-arn-parser-3.52.0" = {
+    "@aws-sdk/util-arn-parser-3.55.0" = {
       name = "_at_aws-sdk_slash_util-arn-parser";
       packageName = "@aws-sdk/util-arn-parser";
-      version = "3.52.0";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.52.0.tgz";
-        sha512 = "mMsoYJ70+BGkVpdfQbu942v4fAGzx+pIL8+QnQhzUmcU0HbNkI0vYliMWfzz7ka9CHgbijUI/ANKA319zgKtvA==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.55.0.tgz";
+        sha512 = "76KJxp4MRWufHYWys7DFl64znr5yeJ3AIQNAPCKKw1sP0hzO7p6Kx0PaJnw9x+CPSzOrT4NbuApL6/srYhKDGg==";
       };
     };
-    "@aws-sdk/util-base64-browser-3.52.0" = {
+    "@aws-sdk/util-base64-browser-3.55.0" = {
       name = "_at_aws-sdk_slash_util-base64-browser";
       packageName = "@aws-sdk/util-base64-browser";
-      version = "3.52.0";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.52.0.tgz";
-        sha512 = "xjv/cQ4goWXAiGEC/AIL/GtlHg4p4RkQKs6/zxn9jOxo1OnbppLMJ0LjCtv4/JVYIVGHrx0VJ8Exyod7Ln+NeA==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.55.0.tgz";
+        sha512 = "3hrZ2R/ZyD3IM25KhETOGLC5tB/ft8zoyVmNg1l4+takoUm46ompnglFXCVkWBu9Hpxc+M4XtiY7MHE6es4Wtg==";
       };
     };
-    "@aws-sdk/util-base64-node-3.52.0" = {
+    "@aws-sdk/util-base64-node-3.55.0" = {
       name = "_at_aws-sdk_slash_util-base64-node";
       packageName = "@aws-sdk/util-base64-node";
-      version = "3.52.0";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.52.0.tgz";
-        sha512 = "V96YIXBuIiVu7Zk72Y9dly7Io9cYOT30Hjf77KAkBeizlFgT5gWklWYGcytPY8FxLuEy4dPLeHRmgwQnlDwgPA==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.55.0.tgz";
+        sha512 = "UQ/ZuNoAc8CFMpSiRYmevaTsuRKzLwulZTnM8LNlIt9Wx1tpNvqp80cfvVj7yySKROtEi20wq29h31dZf1eYNQ==";
       };
     };
-    "@aws-sdk/util-body-length-browser-3.54.0" = {
+    "@aws-sdk/util-body-length-browser-3.55.0" = {
       name = "_at_aws-sdk_slash_util-body-length-browser";
       packageName = "@aws-sdk/util-body-length-browser";
-      version = "3.54.0";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.54.0.tgz";
-        sha512 = "hnY9cXbKWJ2Fjb4bK35sFdD4vK+sFe59JtxxI336yYzANulc462LU/J1RgONXYBW60d9iwJ7U+S+9oTJrEH6WQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.55.0.tgz";
+        sha512 = "Ei2OCzXQw5N6ZkTMZbamUzc1z+z1R1Ja5tMEagz5BxuX4vWdBObT+uGlSzL8yvTbjoPjnxWA2aXyEqaUP3JS8Q==";
       };
     };
-    "@aws-sdk/util-body-length-node-3.54.0" = {
+    "@aws-sdk/util-body-length-node-3.55.0" = {
       name = "_at_aws-sdk_slash_util-body-length-node";
       packageName = "@aws-sdk/util-body-length-node";
-      version = "3.54.0";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.54.0.tgz";
-        sha512 = "BBQB3kqHqHQp2GAINJGuse9JBM7hfU0tMp9rfw0nym4C/VRooiJVrIb28tKseLtd7nihXvsZXPvEc2jQBe1Thg==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.55.0.tgz";
+        sha512 = "lU1d4I+9wJwydduXs0SxSfd+mHKjxeyd39VwOv6i2KSwWkPbji9UQqpflKLKw+r45jL7+xU/zfeTUg5Tt/3Gew==";
       };
     };
-    "@aws-sdk/util-buffer-from-3.52.0" = {
+    "@aws-sdk/util-buffer-from-3.55.0" = {
       name = "_at_aws-sdk_slash_util-buffer-from";
       packageName = "@aws-sdk/util-buffer-from";
-      version = "3.52.0";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.52.0.tgz";
-        sha512 = "hsG0lMlHjJUFoXIy59QLn6x4QU/vp/e0t3EjdD0t8aymB9iuJ43UeLjYTZdrOgtbWb8MXEF747vwg+P6n+4Lxw==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.55.0.tgz";
+        sha512 = "uVzKG1UgvnV7XX2FPTylBujYMKBPBaq/qFBxfl0LVNfrty7YjpfieQxAe6yRLD+T0Kir/WDQwGvYC+tOYG3IGA==";
       };
     };
-    "@aws-sdk/util-config-provider-3.52.0" = {
+    "@aws-sdk/util-config-provider-3.55.0" = {
       name = "_at_aws-sdk_slash_util-config-provider";
       packageName = "@aws-sdk/util-config-provider";
-      version = "3.52.0";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.52.0.tgz";
-        sha512 = "1wonBNkOOLJpMZnz2Kn69ToFgSoTTyGzJInir8WC5sME3zpkb5j41kTuEVbImNJhVv9MKjmGYrMeZbBVniLRPw==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.55.0.tgz";
+        sha512 = "30dzofQQfx6tp1jVZkZ0DGRsT0wwC15nEysKRiAcjncM64A0Cm6sra77d0os3vbKiKoPCI/lMsFr4o3533+qvQ==";
       };
     };
-    "@aws-sdk/util-create-request-3.54.1" = {
+    "@aws-sdk/util-create-request-3.55.0" = {
       name = "_at_aws-sdk_slash_util-create-request";
       packageName = "@aws-sdk/util-create-request";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-create-request/-/util-create-request-3.54.1.tgz";
-        sha512 = "JrQSr7EifPSaKcAt3h1CpO3VELTwu6baN4jkP/R56v9FoI+jZNEUqaj/Zw3iZ4WjKnHIg6pf9aUC02NxbFxSFw==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-create-request/-/util-create-request-3.55.0.tgz";
+        sha512 = "ihCVXBWQopYk9R1H/+IsBKuRx1OqBx4OmTMzL7dRC+wnOV1h0nOUhps19QidppT/uIZUnuV8EZs3KnOWdZzH3w==";
       };
     };
-    "@aws-sdk/util-defaults-mode-browser-3.54.1" = {
+    "@aws-sdk/util-defaults-mode-browser-3.55.0" = {
       name = "_at_aws-sdk_slash_util-defaults-mode-browser";
       packageName = "@aws-sdk/util-defaults-mode-browser";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.54.1.tgz";
-        sha512 = "914CZu8bGQsl3GV5QEzSOsvIadaMtoRZgFRa5XBPcA1yxdUZh7ZIf0cBBwGSKF2tI8Wupcq1WekJsTbVB+9hfg==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.55.0.tgz";
+        sha512 = "OS3gAwR84bHz7ObhjsSJM+grfeaBq3leGrj7xiX4BH3C8J+c10GMo3fqx1pV8Fq5F+9lMmhHpfOocD63SN5Q8A==";
       };
     };
-    "@aws-sdk/util-defaults-mode-node-3.54.1" = {
+    "@aws-sdk/util-defaults-mode-node-3.56.0" = {
       name = "_at_aws-sdk_slash_util-defaults-mode-node";
       packageName = "@aws-sdk/util-defaults-mode-node";
-      version = "3.54.1";
+      version = "3.56.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.54.1.tgz";
-        sha512 = "PhG9kevfNOBMqiRBWeFt0B2eeou5xmEr/f5JOVg7rNE8INXwJgRilpjG5f3uDYD25tAVUipLzOeGBx4ay0Y/Gw==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.56.0.tgz";
+        sha512 = "NKHW5kxH5EIcAa4b0Vua6t75z5D3lanwbAeiHzYrA1MeDIFlfXHs/kiHT2KTpr6stZZEEVPOEwb628AnkHAZTg==";
       };
     };
-    "@aws-sdk/util-format-url-3.54.1" = {
+    "@aws-sdk/util-format-url-3.55.0" = {
       name = "_at_aws-sdk_slash_util-format-url";
       packageName = "@aws-sdk/util-format-url";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.54.1.tgz";
-        sha512 = "aCGVT5oQF6wNOHfv/BGmMzDpPQl/mhLWyd4+BWu9NP0jcoPaC43kKEVlygyBLT26qsc3wfBlee48stbXbuVRtQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.55.0.tgz";
+        sha512 = "xSVunSEiTPzemeEtyR8lIc027LsMKtwmC3j9QDV6oGMEZjarfrVB7SsxgVklTQvm4lPICEpmajMxR9Z0vSxYQg==";
       };
     };
-    "@aws-sdk/util-hex-encoding-3.52.0" = {
+    "@aws-sdk/util-hex-encoding-3.55.0" = {
       name = "_at_aws-sdk_slash_util-hex-encoding";
       packageName = "@aws-sdk/util-hex-encoding";
-      version = "3.52.0";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.52.0.tgz";
-        sha512 = "YYMZg8odn/hBURgL/w82ay2mvPqXHMdujlSndT1ddUSTRoZX67N3hfYYf36nOalDOjNcanIvFHe4Fe8nw+8JiA==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.55.0.tgz";
+        sha512 = "zbDWNzIyqN2Po7SIo1ZDL4rQMP3R0TzGcCrm01bpQAb+2fWqUPigolvNZXXtMO6eS7EW3ZJJzkfoWHdH8zDz1A==";
       };
     };
-    "@aws-sdk/util-locate-window-3.52.0" = {
+    "@aws-sdk/util-locate-window-3.55.0" = {
       name = "_at_aws-sdk_slash_util-locate-window";
       packageName = "@aws-sdk/util-locate-window";
-      version = "3.52.0";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.52.0.tgz";
-        sha512 = "l10U2cLko6070A9DYLJG4NMtwYH8JBG2J/E+RH8uY3lad2o6fGEIkJU0jQbWbUeHYLG3IWuCxT47V4gxYrFj7g==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.55.0.tgz";
+        sha512 = "0sPmK2JaJE2BbTcnvybzob/VrFKCXKfN4CUKcvn0yGg/me7Bz+vtzQRB3Xp+YSx+7OtWxzv63wsvHoAnXvgxgg==";
       };
     };
-    "@aws-sdk/util-stream-browser-3.54.1" = {
+    "@aws-sdk/util-middleware-3.55.0" = {
+      name = "_at_aws-sdk_slash_util-middleware";
+      packageName = "@aws-sdk/util-middleware";
+      version = "3.55.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.55.0.tgz";
+        sha512 = "82fW2XV+rUalv8lkd4VlhpPp6xnXO5n9sckMp1N+TrQ+p8eqxqT0+o8n1/6s9Qsnkw64Y3m6+EfCdc8/uFOY2g==";
+      };
+    };
+    "@aws-sdk/util-stream-browser-3.55.0" = {
       name = "_at_aws-sdk_slash_util-stream-browser";
       packageName = "@aws-sdk/util-stream-browser";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.54.1.tgz";
-        sha512 = "3IJdA/N88LBWpJhTtDxZv/Sk4AxE2Fk9Z4wBUsHVnslbcz1mhJ9WhqXKvjY0kWJK65AH3lTGTdK7ueU39L6AyA==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.55.0.tgz";
+        sha512 = "3f/zQsAqexJpKssCL0adTjG8WO+NPQ63E3TingyKpnCnHQPEnqPdya5I5OLGzZ0WR0iUWRtpuW0MtuDabyLDWw==";
       };
     };
-    "@aws-sdk/util-stream-node-3.54.1" = {
+    "@aws-sdk/util-stream-node-3.55.0" = {
       name = "_at_aws-sdk_slash_util-stream-node";
       packageName = "@aws-sdk/util-stream-node";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.54.1.tgz";
-        sha512 = "zAjPi3HrkG1NKalMLvuCi0vBZ4+GA21MxnduL7QcZL3HmQzF3DJiVQsuE3Q/ACqLTU2VNI7+ac/v8xR26dhlKw==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.55.0.tgz";
+        sha512 = "brCK3iENvXEL7BK5eDAdkZ2VuBSvXj7DH9EQezxl4Ntrj1lvb+McOk9WoU/o7yzE7A/bzEJEoNQAPi+VPNbb/w==";
       };
     };
-    "@aws-sdk/util-uri-escape-3.52.0" = {
+    "@aws-sdk/util-uri-escape-3.55.0" = {
       name = "_at_aws-sdk_slash_util-uri-escape";
       packageName = "@aws-sdk/util-uri-escape";
-      version = "3.52.0";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.52.0.tgz";
-        sha512 = "W9zw5tE8syjg17jiCYtyF99F0FgDIekQdLg+tQGobw9EtCxlUdg48UYhifPfnjvVyADRX2ntclHF9NmhusOQaQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.55.0.tgz";
+        sha512 = "mmdDLUpFCN2nkfwlLdOM54lTD528GiGSPN1qb8XtGLgZsJUmg3uJSFIN2lPeSbEwJB3NFjVas/rnQC48i7mV8w==";
       };
     };
-    "@aws-sdk/util-user-agent-browser-3.54.1" = {
+    "@aws-sdk/util-user-agent-browser-3.55.0" = {
       name = "_at_aws-sdk_slash_util-user-agent-browser";
       packageName = "@aws-sdk/util-user-agent-browser";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.54.1.tgz";
-        sha512 = "T2ZKGurRIZ4te91JBu95L/hhSm9HwPoFT4c0fhHAiwxgdB3AugDsRePOmGHrZxFEQm9j78Nh3Wh52v8QrAR1QQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.55.0.tgz";
+        sha512 = "E+8PluqbdOKfdJc9E4k0vy4PPb9wvAMa2Zdm5ycoaY0IXRI9RjQJnRw5JKAAJWLuOy7Lb83LgoowGW3o+4AuKw==";
       };
     };
-    "@aws-sdk/util-user-agent-node-3.54.1" = {
+    "@aws-sdk/util-user-agent-node-3.56.0" = {
       name = "_at_aws-sdk_slash_util-user-agent-node";
       packageName = "@aws-sdk/util-user-agent-node";
-      version = "3.54.1";
+      version = "3.56.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.54.1.tgz";
-        sha512 = "C9FYcV8Sqm1tGddphvi2A50oWyD7eeC/4E6VhPM53/XFYLKVCLOmZkSE2VCHFkmt4GCuyIruADDy4GY/eQ2eLw==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.56.0.tgz";
+        sha512 = "jpWDpEG2M06jqGtk/Jz9Iu94lBI8tdP7r2ctq2ptki9wYNmmWKdIXlS/W0g2UFx3qa9G9W67QI1efSTh2B0nfA==";
       };
     };
-    "@aws-sdk/util-utf8-browser-3.52.0" = {
+    "@aws-sdk/util-utf8-browser-3.55.0" = {
       name = "_at_aws-sdk_slash_util-utf8-browser";
       packageName = "@aws-sdk/util-utf8-browser";
-      version = "3.52.0";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.52.0.tgz";
-        sha512 = "LuOMa9ajWu5fQuYkmvTlQZfHaITkSle+tM/vhbU4JquRN44VUKACjRGT7UEhoU3lCL1BD0JFGMQGHI+5Mmuwfg==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.55.0.tgz";
+        sha512 = "ljzqJcyjfJpEVSIAxwtIS8xMRUly84BdjlBXyp6cu4G8TUufgjNS31LWdhyGhgmW5vYBNr+LTz0Kwf6J+ou7Ug==";
       };
     };
-    "@aws-sdk/util-utf8-node-3.52.0" = {
+    "@aws-sdk/util-utf8-node-3.55.0" = {
       name = "_at_aws-sdk_slash_util-utf8-node";
       packageName = "@aws-sdk/util-utf8-node";
-      version = "3.52.0";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.52.0.tgz";
-        sha512 = "fujr7zeobZ2y5nnOnQZrCPPc+lCAhtNF/LEVslsQfd+AQ0bYWiosrKNetodQVWlfh10E2+i6/5g+1SBJ5kjsLw==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.55.0.tgz";
+        sha512 = "FsFm7GFaC7j0tlPEm/ri8bU2QCwFW5WKjxUg8lm1oWaxplCpKGUsmcfPJ4sw58GIoyoGu4QXBK60oCWosZYYdQ==";
       };
     };
-    "@aws-sdk/util-waiter-3.54.1" = {
+    "@aws-sdk/util-waiter-3.55.0" = {
       name = "_at_aws-sdk_slash_util-waiter";
       packageName = "@aws-sdk/util-waiter";
-      version = "3.54.1";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.54.1.tgz";
-        sha512 = "VEZmljR/mtCQiD0ZYm5d4Ngtb8iFyTU4ekJ6FYqYkkJ9b9CKpEAcffwBAERuDzHax/TVSOJci5PyGYDdVYd5IA==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.55.0.tgz";
+        sha512 = "Do34MKPFSC/+zVN6vY+FZ+0WN61hzga4nPoAC590AOjs8rW6/H6sDN6Gz1KAZbPnuQUZfvsIJjMxN7lblXHJkQ==";
       };
     };
-    "@aws-sdk/xml-builder-3.52.0" = {
+    "@aws-sdk/xml-builder-3.55.0" = {
       name = "_at_aws-sdk_slash_xml-builder";
       packageName = "@aws-sdk/xml-builder";
-      version = "3.52.0";
+      version = "3.55.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.52.0.tgz";
-        sha512 = "GMdcxdwDZuIMlGnewdB48bpj8eqA3nubs3biy6vRFX8zhv8OqD+m5fMinoEwD8/MGqWE3WD7VZlbbdwYtNVWzQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.55.0.tgz";
+        sha512 = "BH+i5S2FLprmfSeIuGy3UbNtEoJPVjh8arl5+LV3i2KY/+TmrS4yT8JtztDlDxHF0cMtNLZNO0KEPtsACS6SOg==";
       };
     };
     "@azu/format-text-1.0.1" = {
@@ -2344,13 +2344,13 @@ let
         sha512 = "TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==";
       };
     };
-    "@blueprintjs/colors-4.0.0-rc.1" = {
+    "@blueprintjs/colors-4.0.1" = {
       name = "_at_blueprintjs_slash_colors";
       packageName = "@blueprintjs/colors";
-      version = "4.0.0-rc.1";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@blueprintjs/colors/-/colors-4.0.0-rc.1.tgz";
-        sha512 = "UVxX6erTxyBXGUGAR9Yu23VbZ6GFGCw7JJ+YJA6qbSSarL8EsnsrLIeipxukZrm+rlxQn0yEQM4LnoRC2hlxow==";
+        url = "https://registry.npmjs.org/@blueprintjs/colors/-/colors-4.0.1.tgz";
+        sha512 = "w2kMtUzQjHdrmjXpUnCfTq7/pc41S4UnXzOp6+AZtzCR4cVG1r2yBWR4XxaAAecDb94/yIBXooqtMD0B8T1Y2w==";
       };
     };
     "@blueprintjs/core-3.54.0" = {
@@ -2452,13 +2452,13 @@ let
         sha512 = "06sfpBTn3+PqiU/XP3RQ6FO6M+GxzmHo6yIJk9r5x1QmIlitDE9tdogXqmAVVHB4nGRL/v7SXefcrOHrOkl1YQ==";
       };
     };
-    "@chemzqm/neovim-5.7.6" = {
+    "@chemzqm/neovim-5.7.7" = {
       name = "_at_chemzqm_slash_neovim";
       packageName = "@chemzqm/neovim";
-      version = "5.7.6";
+      version = "5.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@chemzqm/neovim/-/neovim-5.7.6.tgz";
-        sha512 = "MunssFhr5azuM866S408yP7IV6Ntwdte9qPwvFMS3Hg81yKyNLpppuqPNsuBBeKxgmEFqjJQHf1TQ3L3iUHV8g==";
+        url = "https://registry.npmjs.org/@chemzqm/neovim/-/neovim-5.7.7.tgz";
+        sha512 = "d9Bu5WA3fTEZw40EfEAkpevoE0HiPEwUAIYw4hfsGwwmcagMJzpx47h3EkH/r0I3qfXeDWEZ353fx9bc1qvYcA==";
       };
     };
     "@chinachu/aribts-1.3.5-mirakurun.17" = {
@@ -2650,31 +2650,31 @@ let
         sha512 = "do5jDoX9oCR/dGHE4POVQ3PYDCmQ2Fow4CA72UL4WoE8zUImA/0lChczjfl+ucNjE4sXFWUnzoO6j4WzrUvLnw==";
       };
     };
-    "@cspell/cspell-bundled-dicts-5.19.2" = {
+    "@cspell/cspell-bundled-dicts-5.19.3" = {
       name = "_at_cspell_slash_cspell-bundled-dicts";
       packageName = "@cspell/cspell-bundled-dicts";
-      version = "5.19.2";
+      version = "5.19.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-5.19.2.tgz";
-        sha512 = "R+12xDw5iLCJH3O0n8t1D7acZrO/bjuULU3rs3CEt+i84/85b27shywc3E/vOiOt9613bpFNOL52J27Tu52YPQ==";
+        url = "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-5.19.3.tgz";
+        sha512 = "YAz68AgXTFFtrBUhNJlOQ7KOjUE6ncYt578/esa2GStMJHgJoUtPnOZsE41hh+cVWXqO5yRRI+Qkwub99zLMgQ==";
       };
     };
-    "@cspell/cspell-pipe-5.19.2" = {
+    "@cspell/cspell-pipe-5.19.3" = {
       name = "_at_cspell_slash_cspell-pipe";
       packageName = "@cspell/cspell-pipe";
-      version = "5.19.2";
+      version = "5.19.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-5.19.2.tgz";
-        sha512 = "mFFSn4ZgNgIOM0iBT0+xKBhRTQd/ecrWVvPfJpHxXIFwTt0neD19hqK54RDedLf8Hjds5cBHvS1EjMNARju/bQ==";
+        url = "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-5.19.3.tgz";
+        sha512 = "3RKntgGRxYYzoxoH3VBPvnNMYkHKPq0U+U7qogcWxDkgAUgKXlBP0oc2mw96grJQ4HIzOL1vBnaVAWAqteY9Kw==";
       };
     };
-    "@cspell/cspell-types-5.19.2" = {
+    "@cspell/cspell-types-5.19.3" = {
       name = "_at_cspell_slash_cspell-types";
       packageName = "@cspell/cspell-types";
-      version = "5.19.2";
+      version = "5.19.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-5.19.2.tgz";
-        sha512 = "IkMQpa7IzoFm9NXzRz8Gp38f3aoMZf6xjT7J3FvWtIntPvkIFaY53R1/I9U/gujH/zflf2VmZGxoDuFg1VcD0g==";
+        url = "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-5.19.3.tgz";
+        sha512 = "tub7PW/I6qB6o+ZtlahAZjm5O5cnzj88HRiC8nAbJFpa7q0mrdpFMYhd7ksWtyFLlNbuDkCsfzXGamAhIQnnIw==";
       };
     };
     "@cspell/dict-ada-2.0.0" = {
@@ -2704,13 +2704,13 @@ let
         sha512 = "pBx3T/5w7fPF8XD5cx3NwtRFvNpQYmYqzM043NKP2hDmlx4uFwbH599Lvt5mwCMZKfIoRXaNUQvq7se2gstQjw==";
       };
     };
-    "@cspell/dict-companies-2.0.2" = {
+    "@cspell/dict-companies-2.0.3" = {
       name = "_at_cspell_slash_dict-companies";
       packageName = "@cspell/dict-companies";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-companies/-/dict-companies-2.0.2.tgz";
-        sha512 = "LPKwBMAWRz+p1R8q+TV6E1sGOOTvxJOaJeXNN++CZQ7i6JMn5Rf+BSxagwkeK6z3o9vIC5ZE4AcQ5BMkvyjqGw==";
+        url = "https://registry.npmjs.org/@cspell/dict-companies/-/dict-companies-2.0.3.tgz";
+        sha512 = "O622rMAaHm85AmqNyMki5je8HB/1XlTKbGOXh2UUhooI5qdgdfrjTQ6VBuHwHrfEfuODBHYTNYXVB2m23XqHCg==";
       };
     };
     "@cspell/dict-cpp-2.0.0" = {
@@ -2767,13 +2767,13 @@ let
         sha512 = "GkJdJv6cmzrKcmq2/oxTXjKF5uv71r4eTqnFmgPbNBW1t+G4VYpzOf0QrVQrhx2RC4DdW5XfcTf+iS0FxHOTmw==";
       };
     };
-    "@cspell/dict-dotnet-2.0.0" = {
+    "@cspell/dict-dotnet-2.0.1" = {
       name = "_at_cspell_slash_dict-dotnet";
       packageName = "@cspell/dict-dotnet";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-dotnet/-/dict-dotnet-2.0.0.tgz";
-        sha512 = "WOHfjwMuLbo76khDsDa1lJvP/dXcwXVwonWwfUFRt82BL/GtyMalh1HEtCWwKDuK/9f8PCEt/EZMkHT3D5ZV3w==";
+        url = "https://registry.npmjs.org/@cspell/dict-dotnet/-/dict-dotnet-2.0.1.tgz";
+        sha512 = "b1n4crJRW0WZVf9Gp/52j/tDtjYiZ3N81fIyfqPlBrjsh/5AivfA697DYwQ2mr8ngNX7RsqRtYNQjealA1rEnQ==";
       };
     };
     "@cspell/dict-elixir-2.0.1" = {
@@ -2794,13 +2794,13 @@ let
         sha512 = "tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==";
       };
     };
-    "@cspell/dict-en_us-2.1.7" = {
+    "@cspell/dict-en_us-2.2.0" = {
       name = "_at_cspell_slash_dict-en_us";
       packageName = "@cspell/dict-en_us";
-      version = "2.1.7";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-2.1.7.tgz";
-        sha512 = "7IeAHZjXiWSIKFx/3CIlY6misvg2KyJ2KO3tSVSKuAlC3UXHGVOcbcY0kQ95IJeKbB6Ot6aW/Aaw73Nzhuurrg==";
+        url = "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-2.2.0.tgz";
+        sha512 = "IJWu8MI2NdLyPzekrMi9K+v71b0qjDE+z/BccoMA/APnphqgSNM8BDUAzhio6mPKi1AvPRCNUjk79oiUfp+1Gw==";
       };
     };
     "@cspell/dict-filetypes-2.0.1" = {
@@ -2992,13 +2992,13 @@ let
         sha512 = "MUwA2YKpqaQOSR4V1/CVGRNk8Ii5kf6I8Ch+4/BhRZRQXuwWbi21rDRYWPqdQWps7VNzAbbMA+PQDWsD5YY38g==";
       };
     };
-    "@cspell/dict-software-terms-2.1.3" = {
+    "@cspell/dict-software-terms-2.1.4" = {
       name = "_at_cspell_slash_dict-software-terms";
       packageName = "@cspell/dict-software-terms";
-      version = "2.1.3";
+      version = "2.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-2.1.3.tgz";
-        sha512 = "JmMfRa9Xl0MCD/z5gYUnY05BNxSMnx25Ky6kO/Cs0gBYZZdYzHZNqrbfnqBMsB9PpOzn2uqrYUmAEusoI1WyMQ==";
+        url = "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-2.1.4.tgz";
+        sha512 = "MB2eT9qhbnIEJajGv+ndzzi6S8NCJ9cMyeGJYMoRAiJobTKP6xPrT37VjPzhckRtrHJGG//UgtQ4NsiK5aBITw==";
       };
     };
     "@cspell/dict-swift-1.0.2" = {
@@ -3109,13 +3109,13 @@ let
         sha512 = "hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==";
       };
     };
-    "@deltachat/message_parser_wasm-0.1.0" = {
+    "@deltachat/message_parser_wasm-0.3.0" = {
       name = "_at_deltachat_slash_message_parser_wasm";
       packageName = "@deltachat/message_parser_wasm";
-      version = "0.1.0";
+      version = "0.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@deltachat/message_parser_wasm/-/message_parser_wasm-0.1.0.tgz";
-        sha512 = "Tp3kWY9rp73omU8afIm3Vijydg+WFrrbsbmlKNXPg4Ao3PDSHuY76zKzDuX22QxdW0KlXi/RaHQ1++zJm8+DBg==";
+        url = "https://registry.npmjs.org/@deltachat/message_parser_wasm/-/message_parser_wasm-0.3.0.tgz";
+        sha512 = "qMa6iZ5o8NoN3AE7orF71sL/FC9aqj0weP7X7dU1IwGsaWKSy1Ix1Pup5sw55HHlcfR1v61VXxnfHEmpQioydA==";
       };
     };
     "@devicefarmer/adbkit-2.11.3" = {
@@ -3361,22 +3361,22 @@ let
         sha512 = "8HqW8EVqjnCmWXVpqAOZf+EGESdkR27odcMMMGefgKXtar00SoYNSryGv//TELI4T3QFsECo78p+0lmalk/CFA==";
       };
     };
-    "@emotion/is-prop-valid-0.8.8" = {
+    "@emotion/is-prop-valid-1.1.2" = {
       name = "_at_emotion_slash_is-prop-valid";
       packageName = "@emotion/is-prop-valid";
-      version = "0.8.8";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz";
-        sha512 = "u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==";
+        url = "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.1.2.tgz";
+        sha512 = "3QnhqeL+WW88YjYbQL5gUIkthuMw7a0NGbZ7wfFVk2kg/CK5w8w5FFa0RzWjyY1+sujN0NWbtSHH6OJmWHtJpQ==";
       };
     };
-    "@emotion/memoize-0.7.4" = {
+    "@emotion/memoize-0.7.5" = {
       name = "_at_emotion_slash_memoize";
       packageName = "@emotion/memoize";
-      version = "0.7.4";
+      version = "0.7.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz";
-        sha512 = "Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==";
+        url = "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.5.tgz";
+        sha512 = "igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==";
       };
     };
     "@emotion/stylis-0.8.5" = {
@@ -3694,13 +3694,13 @@ let
         sha512 = "+WoaAaoYx/wfkrz1Ag40JqHvDUFfQcg+dQ3jaEOoau16y7EZGIe7oN8WYIXNMgWuMxH7r1QlanFbQZ+ziKjHmw==";
       };
     };
-    "@fluentui/react-8.62.0" = {
+    "@fluentui/react-8.62.3" = {
       name = "_at_fluentui_slash_react";
       packageName = "@fluentui/react";
-      version = "8.62.0";
+      version = "8.62.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react/-/react-8.62.0.tgz";
-        sha512 = "FqEicCEHvCfHO3KqDIMT8UcSv3/GTqfGcCNEdeOCnmYAq3h6JJfvWITLtJexNqrxQzuwT9sLaxjBza4jEGQ2KQ==";
+        url = "https://registry.npmjs.org/@fluentui/react/-/react-8.62.3.tgz";
+        sha512 = "ENfTetlsI74k4vgJ3574mWSoRv7kcwUMow+7GBFBw3EZcwnkUXPG6FubzuLBbn36X8MjeRSi8pnaR6T73GaBOw==";
       };
     };
     "@fluentui/react-focus-8.5.6" = {
@@ -3775,31 +3775,31 @@ let
         sha512 = "k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==";
       };
     };
-    "@gitbeaker/core-35.5.0" = {
+    "@gitbeaker/core-35.6.0" = {
       name = "_at_gitbeaker_slash_core";
       packageName = "@gitbeaker/core";
-      version = "35.5.0";
+      version = "35.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@gitbeaker/core/-/core-35.5.0.tgz";
-        sha512 = "ExAIDoUWmaY/QBNoUNkxEvvg79kF9ccFkEoFnHdKYvrqX2517OJCSoWoslGt9/XaSEcE9sTm7lYZrCmqExXsWg==";
+        url = "https://registry.npmjs.org/@gitbeaker/core/-/core-35.6.0.tgz";
+        sha512 = "ZhaDUs/4BxHODfjRkVmwkWxZVaFIpYduxaj28+J+4FH9X93WZp0IsyT4szcFM7FwAbRW2+ZvGeEfw4NQwgB/RA==";
       };
     };
-    "@gitbeaker/node-35.5.0" = {
+    "@gitbeaker/node-35.6.0" = {
       name = "_at_gitbeaker_slash_node";
       packageName = "@gitbeaker/node";
-      version = "35.5.0";
+      version = "35.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@gitbeaker/node/-/node-35.5.0.tgz";
-        sha512 = "gjGSqnNLNz4aP28dX8Cy97n7MtGUaSewoc+oJAkPDgpA0y4gWhgxpzEEwXrhhPsQA4Cxig0CLpPHMTi1Q1fVvg==";
+        url = "https://registry.npmjs.org/@gitbeaker/node/-/node-35.6.0.tgz";
+        sha512 = "cJBxZdh8elrdLA8V4yEdISGinycESNaIO8JEIyAhemsovqv29XCJ40A9TBA4RlKNjkKVyVSN23BvcZimgqZSzA==";
       };
     };
-    "@gitbeaker/requester-utils-35.5.0" = {
+    "@gitbeaker/requester-utils-35.6.0" = {
       name = "_at_gitbeaker_slash_requester-utils";
       packageName = "@gitbeaker/requester-utils";
-      version = "35.5.0";
+      version = "35.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@gitbeaker/requester-utils/-/requester-utils-35.5.0.tgz";
-        sha512 = "5weE7X7kfIuUHGWl0XfSt68kFMVXUg3SrUZW7MOS2Y0w2tj/H+6eomzJ7mYcJmI7ttNGIDGYhqxftPh8zLpi0w==";
+        url = "https://registry.npmjs.org/@gitbeaker/requester-utils/-/requester-utils-35.6.0.tgz";
+        sha512 = "5IVzv1gO626qaC7CEV7LUG68IHgEjWovIHXQsbI9MraxhrI9eSV5/l/81Povv7tJlni7u8OnARPU7bmxlXlx7g==";
       };
     };
     "@google-cloud/paginator-3.0.7" = {
@@ -3883,13 +3883,13 @@ let
         sha512 = "IuR2SB2MnC2ztA/XeTMTfWcA0Wy7ZH5u+nDkDNLAdX+AaSyDnsQS35sCmHqG0VOGTl7rzoyBWLCKGwSJplgtwg==";
       };
     };
-    "@graphql-tools/batch-execute-8.3.3" = {
+    "@graphql-tools/batch-execute-8.4.1" = {
       name = "_at_graphql-tools_slash_batch-execute";
       packageName = "@graphql-tools/batch-execute";
-      version = "8.3.3";
+      version = "8.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-8.3.3.tgz";
-        sha512 = "22q/uCMUf+z3EWoM3ZM6DopDBGkni2TsfUb/mJIysunh5u8btAuXeju++De7RFwwUw+awdJXfunFQJG+OoH5Dg==";
+        url = "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-8.4.1.tgz";
+        sha512 = "63+lNWrwXmofjZVa7ML+n9CBviClF3K+RP3Xx3hxGQ8BrhvB1pWS1yzaUZqrkiiKdTu1v3mJGVfmooHwzlyPwQ==";
       };
     };
     "@graphql-tools/delegate-7.1.5" = {
@@ -3901,13 +3901,13 @@ let
         sha512 = "bQu+hDd37e+FZ0CQGEEczmRSfQRnnXeUxI/0miDV+NV/zCbEdIJj5tYFNrKT03W6wgdqx8U06d8L23LxvGri/g==";
       };
     };
-    "@graphql-tools/delegate-8.5.4" = {
+    "@graphql-tools/delegate-8.7.0" = {
       name = "_at_graphql-tools_slash_delegate";
       packageName = "@graphql-tools/delegate";
-      version = "8.5.4";
+      version = "8.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-8.5.4.tgz";
-        sha512 = "+3BCgSPCp/HoeOBjhz6X7RY7HMCNBanz/wkxo0/e4rk8TqJ3sjZCH470SHvsxCsBIlMwx4FYwkmxePgX/V+0Cg==";
+        url = "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-8.7.0.tgz";
+        sha512 = "tsmNFV8nVvPY2nApCj69ck32/Jdj44rYbUZx+cpyUWOzfbUT1iu0d1mUwn5UeHuGnB+Bzgn3fuTypg97mDEyEw==";
       };
     };
     "@graphql-tools/graphql-file-loader-6.2.7" = {
@@ -3919,22 +3919,22 @@ let
         sha512 = "5k2SNz0W87tDcymhEMZMkd6/vs6QawDyjQXWtqkuLTBF3vxjxPD1I4dwHoxgWPIjjANhXybvulD7E+St/7s9TQ==";
       };
     };
-    "@graphql-tools/graphql-file-loader-7.3.5" = {
+    "@graphql-tools/graphql-file-loader-7.3.7" = {
       name = "_at_graphql-tools_slash_graphql-file-loader";
       packageName = "@graphql-tools/graphql-file-loader";
-      version = "7.3.5";
+      version = "7.3.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-7.3.5.tgz";
-        sha512 = "TBWDA7EV/cmFFUlN2eT9JqYIkiOGEtwwOgzzPcjM9HlPrbKjQkPIJ9Jaxp7aKWbSGhJ+PnbZ7vFLFLGKsCYOjg==";
+        url = "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-7.3.7.tgz";
+        sha512 = "fwXLycYvabPhusGtYuFrOPbjeIvLWr6viGkQc9KmiBm2Z2kZrlNRNUlYkXXRzMoiqRkzqFJYhOgWDE7LsOnbjw==";
       };
     };
-    "@graphql-tools/import-6.6.7" = {
+    "@graphql-tools/import-6.6.9" = {
       name = "_at_graphql-tools_slash_import";
       packageName = "@graphql-tools/import";
-      version = "6.6.7";
+      version = "6.6.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/import/-/import-6.6.7.tgz";
-        sha512 = "zzpnVtmdel3mKz6i46GUib4wn0K5dosq4OTBl4avKV6ElvgZTkvsvfSv2aRhbRGIT4VnZPXLfzSnmYd8e+SRLQ==";
+        url = "https://registry.npmjs.org/@graphql-tools/import/-/import-6.6.9.tgz";
+        sha512 = "sKaLqvPmNLQlY4te+nnBhRrf5WBISoiyVkbriCLz0kHw805iHdJaU2KxUoHsRTR7WlYq0g9gzB0oVaRh99Q5aA==";
       };
     };
     "@graphql-tools/json-file-loader-6.2.6" = {
@@ -3946,13 +3946,13 @@ let
         sha512 = "CnfwBSY5926zyb6fkDBHnlTblHnHI4hoBALFYXnrg0Ev4yWU8B04DZl/pBRUc459VNgO2x8/mxGIZj2hPJG1EA==";
       };
     };
-    "@graphql-tools/json-file-loader-7.3.5" = {
+    "@graphql-tools/json-file-loader-7.3.7" = {
       name = "_at_graphql-tools_slash_json-file-loader";
       packageName = "@graphql-tools/json-file-loader";
-      version = "7.3.5";
+      version = "7.3.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-7.3.5.tgz";
-        sha512 = "okgpMnxxwqzhMkj3l4+pZYaDVjJeDtxahMjfm5XqUEFoP6b0uEyUkd45/BoRUhmctc9OYomLWFULytyhrkvZOw==";
+        url = "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-7.3.7.tgz";
+        sha512 = "dm0LcfiWYin7cUR4RWC33C9bNppujvSU7hwTH+sHmSguNnat9Kn8dBntVSgrY3qCbKuGfz/PshQHIODXrRwAKg==";
       };
     };
     "@graphql-tools/load-6.2.4" = {
@@ -3964,13 +3964,13 @@ let
         sha512 = "FlQC50VELwRxoWUbJMMMs5gG0Dl8BaQYMrXUHTsxwqR7UmksUYnysC21rdousvs6jVZ7pf4unZfZFtBjz+8Edg==";
       };
     };
-    "@graphql-tools/load-7.5.3" = {
+    "@graphql-tools/load-7.5.5" = {
       name = "_at_graphql-tools_slash_load";
       packageName = "@graphql-tools/load";
-      version = "7.5.3";
+      version = "7.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/load/-/load-7.5.3.tgz";
-        sha512 = "GYwLyGfX1nKUxg6rnTIdryv9d+ugFRTm2q11+IqNsajwNhxJExkx+e/h81AQR5382sAmPEIT+E1J1VS3xNfjyg==";
+        url = "https://registry.npmjs.org/@graphql-tools/load/-/load-7.5.5.tgz";
+        sha512 = "qPasit140nwTbMQbFCfZcgaS7q/0+xMQGdkMGU11rtHt6/jMgJIKDUU8/fJGKltNY3EeHlEdVtZmggZD7Rr6bA==";
       };
     };
     "@graphql-tools/merge-6.2.17" = {
@@ -3982,13 +3982,13 @@ let
         sha512 = "G5YrOew39fZf16VIrc49q3c8dBqQDD0ax5LYPiNja00xsXDi0T9zsEWVt06ApjtSdSF6HDddlu5S12QjeN8Tow==";
       };
     };
-    "@graphql-tools/merge-8.2.4" = {
+    "@graphql-tools/merge-8.2.6" = {
       name = "_at_graphql-tools_slash_merge";
       packageName = "@graphql-tools/merge";
-      version = "8.2.4";
+      version = "8.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.4.tgz";
-        sha512 = "hiNRTsS948F+BB4Q7CZXLaGFOIHQzmimVq3EEI/+PQZsPb7kYDzg0Ow0GyV4conDdEiooLqHf7I1dWzTYwvs0A==";
+        url = "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.6.tgz";
+        sha512 = "dkwTm4czMISi/Io47IVvq2Fl9q4TIGKpJ0VZjuXYdEFkECyH6A5uwxZfPVandZG+gQs8ocFFoa6RisiUJLZrJw==";
       };
     };
     "@graphql-tools/schema-7.1.5" = {
@@ -4000,13 +4000,13 @@ let
         sha512 = "uyn3HSNSckf4mvQSq0Q07CPaVZMNFCYEVxroApOaw802m9DcZPgf9XVPy/gda5GWj9AhbijfRYVTZQgHnJ4CXA==";
       };
     };
-    "@graphql-tools/schema-8.3.3" = {
+    "@graphql-tools/schema-8.3.5" = {
       name = "_at_graphql-tools_slash_schema";
       packageName = "@graphql-tools/schema";
-      version = "8.3.3";
+      version = "8.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.3.3.tgz";
-        sha512 = "OrRLU9/7UmkDemeyNUy62uH+FofgV3bpVVZJprc9bhe3gZsY7kQNIdY7H1unINlepjLvGOgk7u7iLo2+EhjyWw==";
+        url = "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.3.5.tgz";
+        sha512 = "3mJ/K7TdL+fnEUtCUqF4qkh1fcNMzaxgwKgO9fSYSTS7zyT16hbi5XSulSTshygHgaD2u+MO588iR4ZJcbZcIg==";
       };
     };
     "@graphql-tools/url-loader-6.10.1" = {
@@ -4018,13 +4018,13 @@ let
         sha512 = "DSDrbhQIv7fheQ60pfDpGD256ixUQIR6Hhf9Z5bRjVkXOCvO5XrkwoWLiU7iHL81GB1r0Ba31bf+sl+D4nyyfw==";
       };
     };
-    "@graphql-tools/url-loader-7.9.4" = {
+    "@graphql-tools/url-loader-7.9.7" = {
       name = "_at_graphql-tools_slash_url-loader";
       packageName = "@graphql-tools/url-loader";
-      version = "7.9.4";
+      version = "7.9.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-7.9.4.tgz";
-        sha512 = "M38H/z1KfG+oBHwVXCce3DyhFEspEn9olNkoW1VLgG1sEBbhWJ9Con44dwcZzkatlKH36mz8hxMDPvFWmAb8sg==";
+        url = "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-7.9.7.tgz";
+        sha512 = "cJoZcv6oJrhArRPmSnw8wcqnz7F8p+HzwvjoJyHbs0ne2jTXazD+LOHaXMAa1L7lKK2YmH2Txy8pOI76JnvUiQ==";
       };
     };
     "@graphql-tools/utils-6.2.4" = {
@@ -4054,13 +4054,13 @@ let
         sha512 = "gzkavMOgbhnwkHJYg32Adv6f+LxjbQmmbdD5Hty0+CWxvaiuJq+nU6tzb/7VSU4cwhbNLx/lGu2jbCPEW1McZQ==";
       };
     };
-    "@graphql-tools/utils-8.6.3" = {
+    "@graphql-tools/utils-8.6.5" = {
       name = "_at_graphql-tools_slash_utils";
       packageName = "@graphql-tools/utils";
-      version = "8.6.3";
+      version = "8.6.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.6.3.tgz";
-        sha512 = "CNyP7Uu7dlVMQ32IpHWOxz4yic9BYXXVkDhG0UdTKSszvzHdgMilemE9MpUrGzzBPsTe3aYTtNGyPUkyh9yTXA==";
+        url = "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.6.5.tgz";
+        sha512 = "mjOtaWiS2WIqRz/cq5gaeM3sVrllcu2xbtHROw1su1v3xWa3D3dKgn8Lrl7+tvWs5WUVySsBss/VZ3WdoPkCrA==";
       };
     };
     "@graphql-tools/wrap-7.0.8" = {
@@ -4072,13 +4072,13 @@ let
         sha512 = "1NDUymworsOlb53Qfh7fonDi2STvqCtbeE68ntKY9K/Ju/be2ZNxrFSbrBHwnxWcN9PjISNnLcAyJ1L5tCUyhg==";
       };
     };
-    "@graphql-tools/wrap-8.4.6" = {
+    "@graphql-tools/wrap-8.4.9" = {
       name = "_at_graphql-tools_slash_wrap";
       packageName = "@graphql-tools/wrap";
-      version = "8.4.6";
+      version = "8.4.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-8.4.6.tgz";
-        sha512 = "tU+8QCoe8lLXduzEIDVVPX8iY3hT+Jz+SapIcxqLqv/MAdaxtGx2HpLl+vMn8Ba1IPcqAXtomLmDMSXI0mG0jw==";
+        url = "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-8.4.9.tgz";
+        sha512 = "YFb34itVWyE3sMifvPRqvYjXYpjJle2hkq9nIELQOumc1yqxT7jf/+YnNZalS1DoOdWn4GbDmqO/uljf6AuuDA==";
       };
     };
     "@grpc/grpc-js-1.4.4" = {
@@ -4090,6 +4090,15 @@ let
         sha512 = "a6222b7Dl6fIlMgzVl7e+NiRoLiZFbpcwvBH2Oli56Bn7W4/3Ld+86hK4ffPn5rx2DlDidmIcvIJiOQXyhv9gA==";
       };
     };
+    "@grpc/grpc-js-1.5.10" = {
+      name = "_at_grpc_slash_grpc-js";
+      packageName = "@grpc/grpc-js";
+      version = "1.5.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.5.10.tgz";
+        sha512 = "++oAubX/7rJzlqH0ShyzDENNNDHYrlttdc3NM40KlaVQDcgGqQknuPoavmyTC+oNUDyxPCX5dHceKhfcgN3tiw==";
+      };
+    };
     "@grpc/grpc-js-1.5.4" = {
       name = "_at_grpc_slash_grpc-js";
       packageName = "@grpc/grpc-js";
@@ -4108,15 +4117,6 @@ let
         sha512 = "RAlSbZ9LXo0wNoHKeUlwP9dtGgVBDUbnBKFpfAv5iSqMG4qWz9um2yLH215+Wow1I48etIa1QMS+WAGmsE/7HQ==";
       };
     };
-    "@grpc/grpc-js-1.5.9" = {
-      name = "_at_grpc_slash_grpc-js";
-      packageName = "@grpc/grpc-js";
-      version = "1.5.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.5.9.tgz";
-        sha512 = "un+cXqErq5P4p3+WgYVNVh7FB51MSnaoRef7QWDcMXKR6FX2R6Z/bltcJMxNNdTUMC85lkOQcpnAAetFziPSng==";
-      };
-    };
     "@grpc/proto-loader-0.6.6" = {
       name = "_at_grpc_slash_proto-loader";
       packageName = "@grpc/proto-loader";
@@ -5575,13 +5575,13 @@ let
         sha512 = "ES5rj6J39FUkHe/b3C9SJs8bqIungYhuU7rBINTBaHOv/Ce4RCb3Gw08CZVl32W33UEkgRkzyWaIedV4at+QHg==";
       };
     };
-    "@mdn/browser-compat-data-4.1.6" = {
+    "@mdn/browser-compat-data-4.1.12" = {
       name = "_at_mdn_slash_browser-compat-data";
       packageName = "@mdn/browser-compat-data";
-      version = "4.1.6";
+      version = "4.1.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-4.1.6.tgz";
-        sha512 = "JbtcHGODAlkOT6eDV2rCyOguW3+o34ExMD9DOki6kxzeyN3IBtZ9PI0FlbKeD77Bm5U0UG5Heo4qnNbSajXUnw==";
+        url = "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-4.1.12.tgz";
+        sha512 = "y3Ntio6hb5+m6asxcA3nnIN6URjAFMji2EZZVYGd2Ag5On4mmvPhMnXdiIScCMXgHjFX+5qXuKaojLLhJHZPAg==";
       };
     };
     "@medable/mdctl-api-1.0.63" = {
@@ -5809,6 +5809,15 @@ let
         sha512 = "b+MGNyP9/LXkapreJzNUzcvuzZslj/RGgdVVJ16P2wSlYatfLycPObImqVJSmNAdyeShvNeM/pl3sVZsObFueg==";
       };
     };
+    "@node-ipc/js-queue-2.0.3" = {
+      name = "_at_node-ipc_slash_js-queue";
+      packageName = "@node-ipc/js-queue";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@node-ipc/js-queue/-/js-queue-2.0.3.tgz";
+        sha512 = "fL1wpr8hhD5gT2dA1qifeVaoDFlQR5es8tFuKqjHX+kdOtdNHnxkVZbtIrR2rxnMFvehkjaZRNV2H/gPXlb0hw==";
+      };
+    };
     "@node-red/editor-api-2.2.2" = {
       name = "_at_node-red_slash_editor-api";
       packageName = "@node-red/editor-api";
@@ -6052,6 +6061,15 @@ let
         sha512 = "8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==";
       };
     };
+    "@npmcli/fs-2.1.0" = {
+      name = "_at_npmcli_slash_fs";
+      packageName = "@npmcli/fs";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.0.tgz";
+        sha512 = "DmfBvNXGaetMxj9LTp8NAN9vEidXURrf5ZTslQzEAi/6GbW+4yjaLFQc6Tue5cpZ9Frlk4OBo/Snf1Bh/S7qTQ==";
+      };
+    };
     "@npmcli/git-2.1.0" = {
       name = "_at_npmcli_slash_git";
       packageName = "@npmcli/git";
@@ -6466,6 +6484,24 @@ let
         sha512 = "PffXX2AL8Sh0VHQ52jJC4u3T0H6wDK6N/4bg7xh4ngMYOIi13aR1kzVvX1sVDBgfGwDOkMbl4c54Xm3tlPx/+A==";
       };
     };
+    "@openpgp/hkp-client-0.0.2" = {
+      name = "_at_openpgp_slash_hkp-client";
+      packageName = "@openpgp/hkp-client";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@openpgp/hkp-client/-/hkp-client-0.0.2.tgz";
+        sha512 = "hA71RhqfLfNltZsy/USTQehE2QAVB3eK4xx8p76XtFJy5Zg6gK2XbZvOC/x/yG8i2Ipbyul1DMTMxH9v8rfPKw==";
+      };
+    };
+    "@openpgp/wkd-client-0.0.3" = {
+      name = "_at_openpgp_slash_wkd-client";
+      packageName = "@openpgp/wkd-client";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@openpgp/wkd-client/-/wkd-client-0.0.3.tgz";
+        sha512 = "qe+uWtCJetuG78KhfiQyEA+ZciC/qeECXRj+LCm4m0s98qR2wPwYHRI1u8aFbtkN6G4ZMyKN+opY++fJS5l3vg==";
+      };
+    };
     "@opentelemetry/api-1.1.0" = {
       name = "_at_opentelemetry_slash_api";
       packageName = "@opentelemetry/api";
@@ -6475,409 +6511,490 @@ let
         sha512 = "hf+3bwuBwtXsugA2ULBc95qxrOqP2pOekLz34BJhcAKawt94vfeNyUKpYc0lZQ/3sCP6LqRa7UAdHA7i5UODzQ==";
       };
     };
-    "@opentelemetry/semantic-conventions-1.1.0" = {
+    "@opentelemetry/semantic-conventions-1.1.1" = {
       name = "_at_opentelemetry_slash_semantic-conventions";
       packageName = "@opentelemetry/semantic-conventions";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.1.0.tgz";
-        sha512 = "GzmijkVr3T00+VSeKBVK0uoVMSkmxUD6x6GQ3ZTBLDVYc9RCsr40KGdnPWZ5RdKl+/1mfrpthRSrzpfVUikKbA==";
+        url = "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.1.1.tgz";
+        sha512 = "GdTwDHSaZ6iP5LUdvS/SLUjn3067xn1HcBsLZCh8YOsf22d/YWTBcnFl3buieBP4KiajwHLho4I8HSMDKACBSg==";
       };
     };
-    "@ot-builder/bin-composite-types-1.4.0" = {
+    "@ot-builder/bin-composite-types-1.5.0" = {
       name = "_at_ot-builder_slash_bin-composite-types";
       packageName = "@ot-builder/bin-composite-types";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/bin-composite-types/-/bin-composite-types-1.4.0.tgz";
-        sha512 = "OzEsssOyEKy1setspPKun8E6tlDpFguLQwCAN1iK9HsrJwgK1lqcwA+PDUxwEIcKj6zaSDI9fb53v6WnsSSf5w==";
+        url = "https://registry.npmjs.org/@ot-builder/bin-composite-types/-/bin-composite-types-1.5.0.tgz";
+        sha512 = "0X12BGmy7l91ONXGLfmG3BQerqjdipYgrGhREXL80qcKQfcZL4o+7NHjq/FDlFYpMGLxDq9CkprGEDmgSIL9CA==";
       };
     };
-    "@ot-builder/bin-util-1.4.0" = {
+    "@ot-builder/bin-util-1.5.0" = {
       name = "_at_ot-builder_slash_bin-util";
       packageName = "@ot-builder/bin-util";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/bin-util/-/bin-util-1.4.0.tgz";
-        sha512 = "5OMGopgGimoKoHjag2YtPeAyGp3JzMaclzoh4Npelj1hNLebWfdmcKdE3zcixk5eMK2KTr1aKZMCvbbIPhUHFw==";
+        url = "https://registry.npmjs.org/@ot-builder/bin-util/-/bin-util-1.5.0.tgz";
+        sha512 = "zLBqM5SjP/EmVaZtwqOjK832yzYQTlWqtldOmgAizckiNpayC6P5c49KJpVTLhVh54euhsk9oJUjsi0L9i8A0g==";
       };
     };
-    "@ot-builder/cli-help-shower-1.4.0" = {
+    "@ot-builder/cli-help-shower-1.5.0" = {
       name = "_at_ot-builder_slash_cli-help-shower";
       packageName = "@ot-builder/cli-help-shower";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/cli-help-shower/-/cli-help-shower-1.4.0.tgz";
-        sha512 = "1tPeg1TGW1EvJhseA0J12tfQhz1R+YocU0/9HpdUiw2Ny9f8KnY/Z4jM+6KrNXPBlqJf3U7h5D/Mqaa+8I6ROw==";
+        url = "https://registry.npmjs.org/@ot-builder/cli-help-shower/-/cli-help-shower-1.5.0.tgz";
+        sha512 = "2jMS5aTr+92mt0HsUoLLV+1GBMsk2GC1tx5YFcdDBH7rfExvYR5NKgpO1d7muVdUi8WBh4fn611rb5sjhBtF5Q==";
       };
     };
-    "@ot-builder/cli-proc-1.4.0" = {
+    "@ot-builder/cli-proc-1.5.0" = {
       name = "_at_ot-builder_slash_cli-proc";
       packageName = "@ot-builder/cli-proc";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/cli-proc/-/cli-proc-1.4.0.tgz";
-        sha512 = "IiUQNzhV4qWix6cG2gUjyJ0DEiphgOp4sFCNssMy5so1J1635qTYmkodTWgynVKQ31qCiamtS5+WMtNIwjlodg==";
+        url = "https://registry.npmjs.org/@ot-builder/cli-proc/-/cli-proc-1.5.0.tgz";
+        sha512 = "zU0afR6WqkUcogoX1pLJBsYSlViPJCkQ1zrHjnOLcHRJ5zIPwNXbFUTAhWePMvNF8EAjtILGeX8ZxoE3PtXMTQ==";
       };
     };
-    "@ot-builder/cli-shared-1.4.0" = {
+    "@ot-builder/cli-shared-1.5.0" = {
       name = "_at_ot-builder_slash_cli-shared";
       packageName = "@ot-builder/cli-shared";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/cli-shared/-/cli-shared-1.4.0.tgz";
-        sha512 = "PhYzNdTC5rTpwkT0PFmiWHVkJZBHZN82HPAtsEHyL3nPKK3ygxReNo1FYVQ5DfO9PJE1NxYKv9AqrMAjL1IhNQ==";
+        url = "https://registry.npmjs.org/@ot-builder/cli-shared/-/cli-shared-1.5.0.tgz";
+        sha512 = "hOYs07mNlg9Z+Rl2wKsDRzb0gYVsnAv6K8O52Q141QBvu5Uyjb6p19zM8pYvOF7VXZTGEhki9WNoM3qVgp5pSA==";
       };
     };
-    "@ot-builder/common-impl-1.4.0" = {
+    "@ot-builder/common-impl-1.5.0" = {
       name = "_at_ot-builder_slash_common-impl";
       packageName = "@ot-builder/common-impl";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/common-impl/-/common-impl-1.4.0.tgz";
-        sha512 = "tK6UV2dEkWi4cj7v0miMVhGuHOhcAOoqNkzWoyNgbqevzvftvX+FR2TxDrRgDJ00928yaSpxs5Luk+nLZetDwA==";
+        url = "https://registry.npmjs.org/@ot-builder/common-impl/-/common-impl-1.5.0.tgz";
+        sha512 = "6linn1dhjDVIiu2cvY0UACSAJClKvLmwrLigg3dzlEjJRvr6jnE/zZ8D401CuL7EMLJPNjciSlf1lQCj5/MU8Q==";
       };
     };
-    "@ot-builder/errors-1.4.0" = {
+    "@ot-builder/errors-1.5.0" = {
       name = "_at_ot-builder_slash_errors";
       packageName = "@ot-builder/errors";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/errors/-/errors-1.4.0.tgz";
-        sha512 = "DriKgSnAXxXFynOZHABycRdd42xLc7O45TGusTIo5r9HE8oF24IadBch1MWxQVuJtfakIcjy3lgIYmAjTkxzfw==";
+        url = "https://registry.npmjs.org/@ot-builder/errors/-/errors-1.5.0.tgz";
+        sha512 = "vARlbSzv3euBX0/Y4orHhbYZOsj7hYjsPU+VXt2LD+do6On1EJ8z6vvXXZxB4B52Rr2jnxzycqk0fNh95IKTeg==";
       };
     };
-    "@ot-builder/io-bin-cff-1.4.0" = {
+    "@ot-builder/io-bin-cff-1.5.0" = {
       name = "_at_ot-builder_slash_io-bin-cff";
       packageName = "@ot-builder/io-bin-cff";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-cff/-/io-bin-cff-1.4.0.tgz";
-        sha512 = "4qbs6oCwxdUFJYfnHgoyGRbRmH0if8XfIIbcpqfxaXOdNCI2tE+t49svUNmwwzx/tr3TvGH5Q98fvJghbkBtpg==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-cff/-/io-bin-cff-1.5.0.tgz";
+        sha512 = "3KWiwRB/8JUkfxE3WqR/xOWQdBDbIS6evdQPBQ/CAJV1qyTtL3Q9KfCHaMPHJcDLbKPP/4lnhKEyi6QsnJU/Tw==";
       };
     };
-    "@ot-builder/io-bin-encoding-1.4.0" = {
+    "@ot-builder/io-bin-encoding-1.5.0" = {
       name = "_at_ot-builder_slash_io-bin-encoding";
       packageName = "@ot-builder/io-bin-encoding";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-encoding/-/io-bin-encoding-1.4.0.tgz";
-        sha512 = "7RWM4N5/TjIflBJ5i/Gvbis2A9yAnVPdS/MGJTbgfLQkRKaZPajpf3JlIiV7OSnixm89i3wmspHVeadueqDpMQ==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-encoding/-/io-bin-encoding-1.5.0.tgz";
+        sha512 = "h55cS6agqz++YRMPAi6Zvgd6oWllF9+SjF72whPGekOjRZLNemuTpmWBbXbD3gc1pU8SqSUUSeIcUdny3sqtdg==";
       };
     };
-    "@ot-builder/io-bin-ext-private-1.4.0" = {
+    "@ot-builder/io-bin-ext-private-1.5.0" = {
       name = "_at_ot-builder_slash_io-bin-ext-private";
       packageName = "@ot-builder/io-bin-ext-private";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-ext-private/-/io-bin-ext-private-1.4.0.tgz";
-        sha512 = "amQJaRUMhgun9MzhJQkfkwH+P3RidMePeeBcMCexgMweouCcKMuAvju6rZsysybad3V/BdCwEap3wjiqkPQuWQ==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-ext-private/-/io-bin-ext-private-1.5.0.tgz";
+        sha512 = "11K88CL96HiSP0DZYvNd/oULlDbKfD+RYChnl8OJlYDKqxQcFfecIcgKAJmEpmkr11MurRB0AdP2Hg6HBCUFuA==";
       };
     };
-    "@ot-builder/io-bin-font-1.4.0" = {
+    "@ot-builder/io-bin-font-1.5.0" = {
       name = "_at_ot-builder_slash_io-bin-font";
       packageName = "@ot-builder/io-bin-font";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-font/-/io-bin-font-1.4.0.tgz";
-        sha512 = "sJ+rMKLH63H6spdsaSdTgYmFBDDoMy22YCINtOEQRmQgbV9nuiElsJr8LSA6LlXN5joQU3y12D2oA2m044y0Uw==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-font/-/io-bin-font-1.5.0.tgz";
+        sha512 = "UuepwTTj9lbFh92vvyyK346OBVKlG7mXUcafrRijGGCyc1Toe+HONaCU1dcNy9IvwlNjEa6svrQfMFx8fwxMKA==";
       };
     };
-    "@ot-builder/io-bin-glyph-store-1.4.0" = {
+    "@ot-builder/io-bin-glyph-store-1.5.0" = {
       name = "_at_ot-builder_slash_io-bin-glyph-store";
       packageName = "@ot-builder/io-bin-glyph-store";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-glyph-store/-/io-bin-glyph-store-1.4.0.tgz";
-        sha512 = "NiQOkjDBQ8SLdX9vVu/9/7/IOowDGEBT/dkM3rzAOGJEj/DxRcWc5uR1z3nE2m/DaGWkTfigV4yk+HO+DQnoog==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-glyph-store/-/io-bin-glyph-store-1.5.0.tgz";
+        sha512 = "Xtg0k34yj4nfFlyh/lpBM6O66QYiAW9+/qmn5Rtp9N8hDCGD+2HZ7fTZZdcqgXYZblZvlknzBFKSOLoupcvZNg==";
       };
     };
-    "@ot-builder/io-bin-layout-1.4.0" = {
+    "@ot-builder/io-bin-layout-1.5.0" = {
       name = "_at_ot-builder_slash_io-bin-layout";
       packageName = "@ot-builder/io-bin-layout";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-layout/-/io-bin-layout-1.4.0.tgz";
-        sha512 = "rMpXHBYc7rft8HohcZw7OEs1FLphxbQ3UCgltB5PGvBZH7R2nfaYwdzXfXdStHJM0oiI3nx+C7VEl26hAqM6DA==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-layout/-/io-bin-layout-1.5.0.tgz";
+        sha512 = "bS+e8VkFUX6LyWqD7zGa5FvJbCtIw6Crs2g4DVivn6slhru9JIc5DcNOHp86zwNkwlzg+v+5/3KUoNZoWgxWpw==";
       };
     };
-    "@ot-builder/io-bin-metadata-1.4.0" = {
+    "@ot-builder/io-bin-metadata-1.5.0" = {
       name = "_at_ot-builder_slash_io-bin-metadata";
       packageName = "@ot-builder/io-bin-metadata";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-metadata/-/io-bin-metadata-1.4.0.tgz";
-        sha512 = "2ygSsCMTvjN5+sd//d+lnqmSwTA04yDYCSnYMQy8k37nJk2xo7VsKnKynUBJPmZ2Km70eT+XaYZyxqqQQw4Mew==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-metadata/-/io-bin-metadata-1.5.0.tgz";
+        sha512 = "0Q0K1UkSqO0wW03UbUuOw79abzNeK6cHjzCE0UX2hZPtH26gEG32xCPYUNCaSxOFPWXSRXPg/kmYIT6/ZmkWLA==";
       };
     };
-    "@ot-builder/io-bin-metric-1.4.0" = {
+    "@ot-builder/io-bin-metric-1.5.0" = {
       name = "_at_ot-builder_slash_io-bin-metric";
       packageName = "@ot-builder/io-bin-metric";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-metric/-/io-bin-metric-1.4.0.tgz";
-        sha512 = "ysgatN4dr16nYBFv4mAPbcs6DhbuW/roZtJyVFfil0JtmSa1AJfDbkAxLIA0Uuxay1j7d6ynhK4ojRd4C+rcOA==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-metric/-/io-bin-metric-1.5.0.tgz";
+        sha512 = "Ezw3MBw4rO6fMrikm1Mc0nOnf3E4FPkHMhUAXN62AFcz6VOKMY34OL+NSoLkJL+HfGTju4KcF3guiNytXrtLeA==";
       };
     };
-    "@ot-builder/io-bin-name-1.4.0" = {
+    "@ot-builder/io-bin-name-1.5.0" = {
       name = "_at_ot-builder_slash_io-bin-name";
       packageName = "@ot-builder/io-bin-name";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-name/-/io-bin-name-1.4.0.tgz";
-        sha512 = "gNLWNlUeIBDybRjT9lwVavbWrswGQ4ixy/SFuAC2D9qIbJeGxrMF9Bb7yid7+g9Z5CV4cPeoxc9s4GRW0viBOw==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-name/-/io-bin-name-1.5.0.tgz";
+        sha512 = "zPhTA5HEwQ0jAovA+ZwPjt3ZNnOaLSQagoLHo6zuETOb+uJSksTExg+G4h6PFHC9U9q55OZ0HidlWOmnmi1xbA==";
       };
     };
-    "@ot-builder/io-bin-sfnt-1.4.0" = {
+    "@ot-builder/io-bin-sfnt-1.5.0" = {
       name = "_at_ot-builder_slash_io-bin-sfnt";
       packageName = "@ot-builder/io-bin-sfnt";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-sfnt/-/io-bin-sfnt-1.4.0.tgz";
-        sha512 = "JsjkrKdMxo93LsNKCaB+ind7tr3kwQz3K/yvLktfteSPKwNkyB1Tl+knwsa3btk/M8v8t3mBazssQz5R2S6+lg==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-sfnt/-/io-bin-sfnt-1.5.0.tgz";
+        sha512 = "/8sANRI3aBKKdOcbnULiS5w5c34d6lb8IufJtYpCuowUuvkDUXF3vlGw7t7CL7mudzdcELpW4ROa1/vNRR+c6Q==";
       };
     };
-    "@ot-builder/io-bin-ttf-1.4.0" = {
+    "@ot-builder/io-bin-ttf-1.5.0" = {
       name = "_at_ot-builder_slash_io-bin-ttf";
       packageName = "@ot-builder/io-bin-ttf";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-ttf/-/io-bin-ttf-1.4.0.tgz";
-        sha512 = "L57uAa6PkuZ5basqRHgV2YIam6oDM3UaelnTrskeiIdWBHuqutK3a8wFvG71fd3zcqITrrKghHIV6GrfgLWYPA==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-ttf/-/io-bin-ttf-1.5.0.tgz";
+        sha512 = "tiyuas19970WkKNFRC4ja9rMD0mgt9arbYbNeQvDjFB9MPsV0+BNgk6fpGr2o8tmYpw73/TZcJfEgIiEICJKtg==";
       };
     };
-    "@ot-builder/io-bin-vtt-private-1.4.0" = {
+    "@ot-builder/io-bin-vtt-private-1.5.0" = {
       name = "_at_ot-builder_slash_io-bin-vtt-private";
       packageName = "@ot-builder/io-bin-vtt-private";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-vtt-private/-/io-bin-vtt-private-1.4.0.tgz";
-        sha512 = "lx37kO2n6pP3na+zwnSiqJ1XecI1sfF7nklclg8uoCROE87WbEmDbBzsgkqXBxHYZ3pVj1ZDydih6NaLXJ9w8w==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-vtt-private/-/io-bin-vtt-private-1.5.0.tgz";
+        sha512 = "yz7WLqLI8XZ0KgYowu5ct9rbOS97TQRwudndDDXJZynSFZyUK5wYV9hfqXwKPDQI2QViAWhYBUJDR94zeSe7MA==";
       };
     };
-    "@ot-builder/ot-1.4.0" = {
+    "@ot-builder/ot-1.5.0" = {
       name = "_at_ot-builder_slash_ot";
       packageName = "@ot-builder/ot";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot/-/ot-1.4.0.tgz";
-        sha512 = "LCJOmacVoVJfeEPb+it3XtYkoz8Q/RBUBgmnHRmovaI0lGLSqK0hOfauaIRap9USS00hT17s7QDPeST+lvlAQA==";
+        url = "https://registry.npmjs.org/@ot-builder/ot/-/ot-1.5.0.tgz";
+        sha512 = "8nmX1B5D7974LaqH2ieIcZ4TDaAILGvANipOL5e75MMt6jF1O72UUHzO4vJ/llIsZYasqm9+rlv6dkp9CkveZA==";
       };
     };
-    "@ot-builder/ot-encoding-1.4.0" = {
+    "@ot-builder/ot-encoding-1.5.0" = {
       name = "_at_ot-builder_slash_ot-encoding";
       packageName = "@ot-builder/ot-encoding";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-encoding/-/ot-encoding-1.4.0.tgz";
-        sha512 = "qs8+zx1Ebj2sQyYJjv1BgTKYECNqvA7HZYdVjs2reHm27YwI5uoamQAJ0rQ6+H2xp1pxCI9qRNMAucKkF5Hx3Q==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-encoding/-/ot-encoding-1.5.0.tgz";
+        sha512 = "cWVGpb/A3jKPqobIdMUdScq1tUd+ew282P/yLFejIeJvaE4U3zZas6wS9pg4se6uiRsdf8bY5xSjAvnfbJAM1w==";
       };
     };
-    "@ot-builder/ot-ext-private-1.4.0" = {
+    "@ot-builder/ot-ext-private-1.5.0" = {
       name = "_at_ot-builder_slash_ot-ext-private";
       packageName = "@ot-builder/ot-ext-private";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-ext-private/-/ot-ext-private-1.4.0.tgz";
-        sha512 = "L4HihtweRtlBfBOdjBGjUxhqTG/fEGbNgMcsbvrIJIpwglpziAoYosdXxtY5pMYi0TM8ZcWhDtIB2KXTYsy0+g==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-ext-private/-/ot-ext-private-1.5.0.tgz";
+        sha512 = "gxbsodaN07XLNtTNLIWhhgHCsXjOs9D7M7c4i40UTv4S80FGzpyJpz2VOW1BJ8SUQjGFP/eeDdSyHWtmrBH21g==";
       };
     };
-    "@ot-builder/ot-glyphs-1.4.0" = {
+    "@ot-builder/ot-glyphs-1.5.0" = {
       name = "_at_ot-builder_slash_ot-glyphs";
       packageName = "@ot-builder/ot-glyphs";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-glyphs/-/ot-glyphs-1.4.0.tgz";
-        sha512 = "4ryJxvvX6v3A1g+aQXgpRlbuVQBSCjukxYMfhnWeLadVPM5Q6VKP0Q1VfZcbJFve/A82ltlGRwhresHy/hXiOw==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-glyphs/-/ot-glyphs-1.5.0.tgz";
+        sha512 = "SxqNTishqTKf36tt6XRQkXXLD3fw+7azbf/kSu4A0Pq6MdmRMy5CGs6HDA9KhqaPpmq1UpMk876QPA9vCXoLPw==";
       };
     };
-    "@ot-builder/ot-layout-1.4.0" = {
+    "@ot-builder/ot-layout-1.5.0" = {
       name = "_at_ot-builder_slash_ot-layout";
       packageName = "@ot-builder/ot-layout";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-layout/-/ot-layout-1.4.0.tgz";
-        sha512 = "DxLQ8jC/dn29pbCy5vKjHhmsLZ4uOJZjiFkSSoi7N4Di+DILiZfIcRJigbJsnqBF3XRUNpgUQs5HvJl65dMjcA==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-layout/-/ot-layout-1.5.0.tgz";
+        sha512 = "fdmOl/HZi2Jdl0Fh8bx7CCG9s+jXimH+UCez3LPhTXgNNvOaFVqhABPtP+tAepqWi9J0MjBCeWMnFUmGiSa5gw==";
       };
     };
-    "@ot-builder/ot-metadata-1.4.0" = {
+    "@ot-builder/ot-metadata-1.5.0" = {
       name = "_at_ot-builder_slash_ot-metadata";
       packageName = "@ot-builder/ot-metadata";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-metadata/-/ot-metadata-1.4.0.tgz";
-        sha512 = "g64WKXevoJmlN8QyKL+Ew6DwEPNpdoC2Pn/GCBLoyW8KfEzUg/wUCykZu333X+vKSxqiqssLH/aoUOg6uf8BFA==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-metadata/-/ot-metadata-1.5.0.tgz";
+        sha512 = "OARTkm/LDERbwo6I0BMdAmA0D6vMP2A0IaQlOWn1PxjNoHOZQY6U+1er1H//xJQZ4aA5BZtRgOoQebjQpYELbg==";
       };
     };
-    "@ot-builder/ot-name-1.4.0" = {
+    "@ot-builder/ot-name-1.5.0" = {
       name = "_at_ot-builder_slash_ot-name";
       packageName = "@ot-builder/ot-name";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-name/-/ot-name-1.4.0.tgz";
-        sha512 = "CGTy3J9P2M03DFcEmR6y4nb3aK6sEaPgXcCR6rXa6gTIxfkVzhpijZzcKUcmzUwh6LYOX3w4RG6Vd9UVOmm+4g==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-name/-/ot-name-1.5.0.tgz";
+        sha512 = "b/NSfonC0QqMVNBloOPHeeQIqVAaHaID0oVD/C9jEGKPtp3zpSgS2oycmtZ8JmSqwS2qfJTU9lfzusT6E/LWsw==";
       };
     };
-    "@ot-builder/ot-sfnt-1.4.0" = {
+    "@ot-builder/ot-sfnt-1.5.0" = {
       name = "_at_ot-builder_slash_ot-sfnt";
       packageName = "@ot-builder/ot-sfnt";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-sfnt/-/ot-sfnt-1.4.0.tgz";
-        sha512 = "smgt8TMtB+eMpA4mTzB2NwORcv1/+HhFmys2gr8cYorEvqIgRP15kiC7tVC2in2mKYxIq4+e3Z+MciCCdxTXfQ==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-sfnt/-/ot-sfnt-1.5.0.tgz";
+        sha512 = "imCGAlN78Yc2HQDVUzNPixj0ERT+PEodi9bp+wINLVYF9G6CgRMTIuSgG0KBK9H8T20sBrorOFfcZFQJuucy4A==";
       };
     };
-    "@ot-builder/ot-standard-glyph-namer-1.4.0" = {
+    "@ot-builder/ot-standard-glyph-namer-1.5.0" = {
       name = "_at_ot-builder_slash_ot-standard-glyph-namer";
       packageName = "@ot-builder/ot-standard-glyph-namer";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-standard-glyph-namer/-/ot-standard-glyph-namer-1.4.0.tgz";
-        sha512 = "dFGkdynJ4sMyPSQkWYJpuNFqAGMXDV4tu0mPevSwrJFudefBmuLIVlOc+rJq19CG+tYq787JJe0CTXIvoq+sNw==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-standard-glyph-namer/-/ot-standard-glyph-namer-1.5.0.tgz";
+        sha512 = "aZkJBn2kog2eyAcXygzvYte5uH7GCVgO2jM9QeB4bpWoxXYjIF3dy58hsbZ6zKMXMncphOFcnTgxgvct45bglA==";
       };
     };
-    "@ot-builder/ot-vtt-private-1.4.0" = {
+    "@ot-builder/ot-vtt-private-1.5.0" = {
       name = "_at_ot-builder_slash_ot-vtt-private";
       packageName = "@ot-builder/ot-vtt-private";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-vtt-private/-/ot-vtt-private-1.4.0.tgz";
-        sha512 = "nVg1Y/y3OzqpVz48oM9Ic6YzUJ8UrrT/5iVZMcQ99m5Zon9hcpp/RrYldOF58XuPO0MtgjLME2g4uFUJWSss7Q==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-vtt-private/-/ot-vtt-private-1.5.0.tgz";
+        sha512 = "iMQP2zI56mZJqG98VVAswCe2f2NgApW0BtAKfC/e3VKDJPWbsJHcIHnkcRReaC4FzAmzxqarY1IyeNC94xSNVg==";
       };
     };
-    "@ot-builder/prelude-1.4.0" = {
+    "@ot-builder/prelude-1.5.0" = {
       name = "_at_ot-builder_slash_prelude";
       packageName = "@ot-builder/prelude";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/prelude/-/prelude-1.4.0.tgz";
-        sha512 = "Q5kqu1DYOeRAcHS15gX1IpoyhR1rffrfKDUcex6nd+GizBPJBdbOtIWpuz7uaOR1zYBCOWuLsyW+h3vKqK0wEw==";
+        url = "https://registry.npmjs.org/@ot-builder/prelude/-/prelude-1.5.0.tgz";
+        sha512 = "b3tJ4GTZvK+sFNHlihFaOTxeMOWmSqIDKGOJuV9l6Svn/1moTcO3VWjRuriHmsrA0ZuaSQxTKMf3Na5BYiTnXw==";
       };
     };
-    "@ot-builder/primitive-1.4.0" = {
+    "@ot-builder/primitive-1.5.0" = {
       name = "_at_ot-builder_slash_primitive";
       packageName = "@ot-builder/primitive";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/primitive/-/primitive-1.4.0.tgz";
-        sha512 = "Op+KrrhVUkFa7FXqTLbtdTYJbIZA4dHFRB7pE7YqEqfjtYv1tcMKGjQIneXi9kO3yG1T6SDdY9V5UTpIs/rfUQ==";
+        url = "https://registry.npmjs.org/@ot-builder/primitive/-/primitive-1.5.0.tgz";
+        sha512 = "jJN98wURFXGa8KTfjrIlB54AF2QJw+w9eQuJ812mt8Nmw2Mle+IaYCRAiD8IKWjRWMZcd6bztkOoDbCavqcrUQ==";
       };
     };
-    "@ot-builder/rectify-1.4.0" = {
+    "@ot-builder/rectify-1.5.0" = {
       name = "_at_ot-builder_slash_rectify";
       packageName = "@ot-builder/rectify";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/rectify/-/rectify-1.4.0.tgz";
-        sha512 = "UMhDyFi00B/6Ols0/WJ8aYdNnHadnSTtc3tN97tjnEs0ZS6Tym6SaL044+ehINJA16kazqHqFJMbwLjA/KrFow==";
+        url = "https://registry.npmjs.org/@ot-builder/rectify/-/rectify-1.5.0.tgz";
+        sha512 = "Ivx2VxlMB/Btq4+YLaH4KhPb+eoU4Nsg4UMd5u0BXQ+JjC3HvUbyXDWRMJn3ACDLvvkXSqjEprf7G3BFp58p7g==";
       };
     };
-    "@ot-builder/stat-glyphs-1.4.0" = {
+    "@ot-builder/stat-glyphs-1.5.0" = {
       name = "_at_ot-builder_slash_stat-glyphs";
       packageName = "@ot-builder/stat-glyphs";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/stat-glyphs/-/stat-glyphs-1.4.0.tgz";
-        sha512 = "YgMHUivVuXLd+b2TXLHEQDiCjBnmDwDGTfFiGGbaM/XrCdYMzdHNjbpHWhNx4GODcAplkIQm3j3kwFdM4L1wwA==";
+        url = "https://registry.npmjs.org/@ot-builder/stat-glyphs/-/stat-glyphs-1.5.0.tgz";
+        sha512 = "OMCvsvxsX0dkjWcde3J3sxF1xRbzVm4uyz+G9sgjRXznBLVKtvstTpspFqpTfhUFEcjRU+7AJhWNn4nvXQR/jw==";
       };
     };
-    "@ot-builder/trace-1.4.0" = {
+    "@ot-builder/trace-1.5.0" = {
       name = "_at_ot-builder_slash_trace";
       packageName = "@ot-builder/trace";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/trace/-/trace-1.4.0.tgz";
-        sha512 = "fNt9Nf03I7VuLbeziVA5c1pMx9gr8K92Z7UOUnx387eIjeeOLFY98oVSO+XGXFOd+z5lapR9LWhhhaVlIw+YzA==";
+        url = "https://registry.npmjs.org/@ot-builder/trace/-/trace-1.5.0.tgz";
+        sha512 = "qegG5Oc9gYHWMSnV9qLqYQnQAq79SRHo/apQtnnpD4o7d1SsxDPqR+xspzl3dprPRYSqq8zUKVZ5mxnLNcLPWQ==";
       };
     };
-    "@ot-builder/var-store-1.4.0" = {
+    "@ot-builder/var-store-1.5.0" = {
       name = "_at_ot-builder_slash_var-store";
       packageName = "@ot-builder/var-store";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/var-store/-/var-store-1.4.0.tgz";
-        sha512 = "IGCQqOeLezgGiohkQdsNJGIkyfV7iZVns83K3i+0tBgSaFOZyNLCjy02eHP6u6Z3a5z0NXjT0yalKNaRLLkGnA==";
+        url = "https://registry.npmjs.org/@ot-builder/var-store/-/var-store-1.5.0.tgz";
+        sha512 = "NufILxFqLWcXjhJqG0IgVCDr0ey/e4Q+mX8k0o+SV1/yHdVxug5CrBQnmF7/yIB1Au9FgdZp2eal2Un1gjxQ4A==";
       };
     };
-    "@ot-builder/variance-1.4.0" = {
+    "@ot-builder/variance-1.5.0" = {
       name = "_at_ot-builder_slash_variance";
       packageName = "@ot-builder/variance";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/variance/-/variance-1.4.0.tgz";
-        sha512 = "TwlAMp8proF7/y3cWP8Vzxq4cbUUB0TzcS9s2vc4L/IGNdFtuIU7RiSO2A4cHoaBMdJSzCDm5CZ1DQopz/607A==";
+        url = "https://registry.npmjs.org/@ot-builder/variance/-/variance-1.5.0.tgz";
+        sha512 = "iA8tovocbymAAhA1zRO29vltUlZGfLjYaukyLu3mH8XBgNuxTwb0aUbQ9muDKyWS+E5Q23+KN/PaA8ZwUtlHlA==";
       };
     };
-    "@parcel/bundler-default-2.3.2" = {
+    "@parcel/bundler-default-2.4.0" = {
       name = "_at_parcel_slash_bundler-default";
       packageName = "@parcel/bundler-default";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.3.2.tgz";
-        sha512 = "JUrto4mjSD0ic9dEqRp0loL5o3HVYHja1ZIYSq+rBl2UWRV6/9cGTb07lXOCqqm0BWE+hQ4krUxB76qWaF0Lqw==";
+        url = "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.4.0.tgz";
+        sha512 = "RaXlxo0M51739Ko3bsOJpDBZlJ+cqkDoBTozNeSc65jS2TMBIBWLMapm8095qmty39OrgYNhzjgPiIlKDS/LWA==";
       };
     };
-    "@parcel/cache-2.3.2" = {
+    "@parcel/cache-2.4.0" = {
       name = "_at_parcel_slash_cache";
       packageName = "@parcel/cache";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/cache/-/cache-2.3.2.tgz";
-        sha512 = "Xxq+ekgcFEme6Fn1v7rEOBkyMOUOUu7eNqQw0l6HQS+INZ2Q7YzzfdW7pI8rEOAAICVg5BWKpmBQZpgJlT+HxQ==";
+        url = "https://registry.npmjs.org/@parcel/cache/-/cache-2.4.0.tgz";
+        sha512 = "oOudoAafrCAHQY0zkU7gVHG1pAGBUz9rht7Tx4WupTmAH0O0F5UnZs6XbjoBJaPHg+CYUXK7v9wQcrNA72E3GA==";
       };
     };
-    "@parcel/codeframe-2.3.2" = {
+    "@parcel/codeframe-2.4.0" = {
       name = "_at_parcel_slash_codeframe";
       packageName = "@parcel/codeframe";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.3.2.tgz";
-        sha512 = "ireQALcxxrTdIEpzTOoMo/GpfbFm1qlyezeGl3Hce3PMvHLg3a5S6u/Vcy7SAjdld5GfhHEqVY+blME6Z4CyXQ==";
+        url = "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.4.0.tgz";
+        sha512 = "PJ3W9Z0sjoS2CANyo50c+LEr9IRZrtu0WsVPSYZ5ZYRuSXrSa/6PcAlnkyDk2+hi7Od8ncT2bmDexl0Oar3Jyg==";
       };
     };
-    "@parcel/compressor-raw-2.3.2" = {
+    "@parcel/compressor-raw-2.4.0" = {
       name = "_at_parcel_slash_compressor-raw";
       packageName = "@parcel/compressor-raw";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.3.2.tgz";
-        sha512 = "8dIoFwinYK6bOTpnZOAwwIv0v73y0ezsctPmfMnIqVQPn7wJwfhw/gbKVcmK5AkgQMkyid98hlLZoaZtGF1Mdg==";
+        url = "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.4.0.tgz";
+        sha512 = "ZErX14fTc0gKIgtnuqW7Clfln4dpXWfUaJQQIf5C3x/LkpUeEhdXeKntkvSxOddDk2JpIKDwqzAxEMZUnDo4Nw==";
       };
     };
-    "@parcel/config-default-2.3.2" = {
+    "@parcel/config-default-2.4.0" = {
       name = "_at_parcel_slash_config-default";
       packageName = "@parcel/config-default";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.3.2.tgz";
-        sha512 = "E7/iA7fGCYvXU3u6zF9nxjeDVsgjCN6MVvDjymjaxYMoDWTIsPV245SBEXqzgtmzbMAV+VAl4rVWLMB4pzMt9g==";
+        url = "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.4.0.tgz";
+        sha512 = "pFOPBXPO6HGqNWTLkcK5i8haMOrRgUouUhcWPGWDpN9IPUYFK2E/O1E/uyMjIA1mSL3FnazI+jJwZ45NhKPpIA==";
       };
     };
-    "@parcel/core-2.3.2" = {
+    "@parcel/core-2.4.0" = {
       name = "_at_parcel_slash_core";
       packageName = "@parcel/core";
-      version = "2.3.2";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@parcel/core/-/core-2.4.0.tgz";
+        sha512 = "EWZ2UWtIuwDc3fgsKyyTLpNNPoG8Yk2L117ICWF/+cqY8z/wJHm2KwLbeplDeq524shav0GJ9O4CemP3JPx0Nw==";
+      };
+    };
+    "@parcel/css-1.7.3" = {
+      name = "_at_parcel_slash_css";
+      packageName = "@parcel/css";
+      version = "1.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@parcel/css/-/css-1.7.3.tgz";
+        sha512 = "rgdRX4Uk31EvzH/mUScL0wdXtkci3U5N1W2pgam+9S10vQy4uONhWBepZ1tUCjONHLacGXr1jp3LbG/HI7LiTw==";
+      };
+    };
+    "@parcel/css-darwin-arm64-1.7.3" = {
+      name = "_at_parcel_slash_css-darwin-arm64";
+      packageName = "@parcel/css-darwin-arm64";
+      version = "1.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@parcel/css-darwin-arm64/-/css-darwin-arm64-1.7.3.tgz";
+        sha512 = "m3HDY+Rh8HJxmLELKAvCpF59vLS7FWtgBODHxl8G9Jl2CnGtXpXvdpyeMxNsTE+2QuPC+a5QT7IeZAKb2Gjmxg==";
+      };
+    };
+    "@parcel/css-darwin-x64-1.7.3" = {
+      name = "_at_parcel_slash_css-darwin-x64";
+      packageName = "@parcel/css-darwin-x64";
+      version = "1.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@parcel/css-darwin-x64/-/css-darwin-x64-1.7.3.tgz";
+        sha512 = "LuhweXKxVwrz/hjAOm9XNRMSL+p23px20nhSCASkyUP7Higaxza948W3TSQdoL3YyR+wQxQH8Yj+R/T8Tz3E3g==";
+      };
+    };
+    "@parcel/css-linux-arm-gnueabihf-1.7.3" = {
+      name = "_at_parcel_slash_css-linux-arm-gnueabihf";
+      packageName = "@parcel/css-linux-arm-gnueabihf";
+      version = "1.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@parcel/css-linux-arm-gnueabihf/-/css-linux-arm-gnueabihf-1.7.3.tgz";
+        sha512 = "/pd9Em18zMvt7eDZAMpNBEwF7c4VPVhAtBOZ59ClFrsXCTDNYP7mSy0cwNgtLelCRZCGAQmZNBDNQPH7vO3rew==";
+      };
+    };
+    "@parcel/css-linux-arm64-gnu-1.7.3" = {
+      name = "_at_parcel_slash_css-linux-arm64-gnu";
+      packageName = "@parcel/css-linux-arm64-gnu";
+      version = "1.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@parcel/css-linux-arm64-gnu/-/css-linux-arm64-gnu-1.7.3.tgz";
+        sha512 = "5aKiEhQK40riO4iVKzRqISzgYK+7Z7i3e6JTSz+/BHuQyHEUaBe/RuJ8Z0BDQtFz0HmWQlrQCd+7hd0Xgd8vYQ==";
+      };
+    };
+    "@parcel/css-linux-arm64-musl-1.7.3" = {
+      name = "_at_parcel_slash_css-linux-arm64-musl";
+      packageName = "@parcel/css-linux-arm64-musl";
+      version = "1.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@parcel/css-linux-arm64-musl/-/css-linux-arm64-musl-1.7.3.tgz";
+        sha512 = "Wf7/aIueDED2JqBMfZvzbBAFSaPmd3TR28bD2pmP7CI/jZnm9vHVKMdOLgt9NKSSSjdGrp+VM410CsrUM7xcOw==";
+      };
+    };
+    "@parcel/css-linux-x64-gnu-1.7.3" = {
+      name = "_at_parcel_slash_css-linux-x64-gnu";
+      packageName = "@parcel/css-linux-x64-gnu";
+      version = "1.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@parcel/css-linux-x64-gnu/-/css-linux-x64-gnu-1.7.3.tgz";
+        sha512 = "0ZADbuFklUrHC1p2uPY4BPcN07jUTMqJzr/SSdnGN2XiXgiVZGcDCMHUj0DvC9Vwy11DDM6Rnw4QBbKHG+QGjQ==";
+      };
+    };
+    "@parcel/css-linux-x64-musl-1.7.3" = {
+      name = "_at_parcel_slash_css-linux-x64-musl";
+      packageName = "@parcel/css-linux-x64-musl";
+      version = "1.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@parcel/css-linux-x64-musl/-/css-linux-x64-musl-1.7.3.tgz";
+        sha512 = "mFWWM8lX2OIID81YQuDDt9zTqof0B7UcEcs0huE7Zbs60uLEEQupdf8iH0yh5EOhxPt3sRcQnGXf2QTrXdjIMA==";
+      };
+    };
+    "@parcel/css-win32-x64-msvc-1.7.3" = {
+      name = "_at_parcel_slash_css-win32-x64-msvc";
+      packageName = "@parcel/css-win32-x64-msvc";
+      version = "1.7.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/core/-/core-2.3.2.tgz";
-        sha512 = "gdJzpsgeUhv9H8T0UKVmyuptiXdduEfKIUx0ci+/PGhq8cCoiFnlnuhW6H7oLr79OUc+YJStabDJuG4U2A6ysw==";
+        url = "https://registry.npmjs.org/@parcel/css-win32-x64-msvc/-/css-win32-x64-msvc-1.7.3.tgz";
+        sha512 = "KUFEMQcoP7DG3QbsN21OxhjHkfQ1BARn7D9puX75bV5N1F1kv557aaLkQZiMsgiYOL4tmJvsdQXutG7x++3j4Q==";
       };
     };
-    "@parcel/diagnostic-2.3.2" = {
+    "@parcel/diagnostic-2.4.0" = {
       name = "_at_parcel_slash_diagnostic";
       packageName = "@parcel/diagnostic";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.3.2.tgz";
-        sha512 = "/xW93Az4AOiifuYW/c4CDbUcu3lx5FcUDAj9AGiR9NSTsF/ROC/RqnxvQ3AGtqa14R7vido4MXEpY3JEp6FsqA==";
+        url = "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.4.0.tgz";
+        sha512 = "TjWO/b2zMFhub5ouwGjazMm7iAUvdmXBfWmjrg4TBhUbhoQwBnyWfvMDtAYo7PcvXfxVPgPZv86Nv6Ym5H6cHQ==";
       };
     };
-    "@parcel/events-2.3.2" = {
+    "@parcel/events-2.4.0" = {
       name = "_at_parcel_slash_events";
       packageName = "@parcel/events";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/events/-/events-2.3.2.tgz";
-        sha512 = "WiYIwXMo4Vd+pi58vRoHkul8TPE5VEfMY+3FYwVCKPl/LYqSD+vz6wMx9uG18mEbB1d/ofefv5ZFQNtPGKO4tQ==";
+        url = "https://registry.npmjs.org/@parcel/events/-/events-2.4.0.tgz";
+        sha512 = "DEaEtFbhOhNAEmiXJ3MyF8Scq+sNDKiTyLax4lAC5/dpE5GvwfNnoD17C2+0gDuuDpdQkdHfXfvr50aYFt7jcw==";
       };
     };
     "@parcel/fs-1.11.0" = {
@@ -6889,40 +7006,40 @@ let
         sha512 = "86RyEqULbbVoeo8OLcv+LQ1Vq2PKBAvWTU9fCgALxuCTbbs5Ppcvll4Vr+Ko1AnmMzja/k++SzNAwJfeQXVlpA==";
       };
     };
-    "@parcel/fs-2.3.2" = {
+    "@parcel/fs-2.4.0" = {
       name = "_at_parcel_slash_fs";
       packageName = "@parcel/fs";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/fs/-/fs-2.3.2.tgz";
-        sha512 = "XV+OsnRpN01QKU37lBN0TFKvv7uPKfQGbqFqYOrMbXH++Ae8rBU0Ykz+Yu4tv2h7shMlde+AMKgRnRTAJZpWEQ==";
+        url = "https://registry.npmjs.org/@parcel/fs/-/fs-2.4.0.tgz";
+        sha512 = "CnUlWGUJ52SJVQi8QnaAPPQZOADmHMV9D9aX9GLcDm5XLT3Em7vmesG4bNLdMLwzYuzAtenhcWmuRCACuYztHw==";
       };
     };
-    "@parcel/fs-search-2.3.2" = {
+    "@parcel/fs-search-2.4.0" = {
       name = "_at_parcel_slash_fs-search";
       packageName = "@parcel/fs-search";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.3.2.tgz";
-        sha512 = "u3DTEFnPtKuZvEtgGzfVjQUytegSSn3POi7WfwMwPIaeDPfYcyyhfl+c96z7VL9Gk/pqQ99/cGyAwFdFsnxxXA==";
+        url = "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.4.0.tgz";
+        sha512 = "W/Vu6wbZk4wuB6AVdMkyymwh/S8Peed/PgJgSsApYD6lSTD315I6OuEdxZh3lWY+dqQdog/NJ7dvi/hdpH/Iqw==";
       };
     };
-    "@parcel/graph-2.3.2" = {
+    "@parcel/graph-2.4.0" = {
       name = "_at_parcel_slash_graph";
       packageName = "@parcel/graph";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/graph/-/graph-2.3.2.tgz";
-        sha512 = "ltTBM3IEqumgmy4ABBFETT8NtAwSsjD9mY3WCyJ5P8rUshfVCg093rvBPbpuJYMaH/TV1AHVaWfZqaZ4JQDIQQ==";
+        url = "https://registry.npmjs.org/@parcel/graph/-/graph-2.4.0.tgz";
+        sha512 = "5TZIAfDITkJCzgH4j4OQhnIvjV9IFwWqNBJanRl5QQTmKvdcODS3WbnK1SOJ+ZltcLVXMB+HNXmL0bX0tVolcw==";
       };
     };
-    "@parcel/hash-2.3.2" = {
+    "@parcel/hash-2.4.0" = {
       name = "_at_parcel_slash_hash";
       packageName = "@parcel/hash";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/hash/-/hash-2.3.2.tgz";
-        sha512 = "SMtYTsHihws/wqdVnOr0QAGyGYsW9rJSJkkoRujUxo8l2ctnBN1ztv89eOUrdtgHsmcnj/oz1yw6sN38X+BUng==";
+        url = "https://registry.npmjs.org/@parcel/hash/-/hash-2.4.0.tgz";
+        sha512 = "nB+wYNUhe6+G8M7vQhdeFXtpYJYwJgBHOPZ7Hd9O2jdlamWjDbw0t/u1dJbYvGJ8ZDtLDwiItawQVpuVdskQ9g==";
       };
     };
     "@parcel/logger-1.11.1" = {
@@ -6934,211 +7051,211 @@ let
         sha512 = "9NF3M6UVeP2udOBDILuoEHd8VrF4vQqoWHEafymO1pfSoOMfxrSJZw1MfyAAIUN/IFp9qjcpDCUbDZB+ioVevA==";
       };
     };
-    "@parcel/logger-2.3.2" = {
+    "@parcel/logger-2.4.0" = {
       name = "_at_parcel_slash_logger";
       packageName = "@parcel/logger";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/logger/-/logger-2.3.2.tgz";
-        sha512 = "jIWd8TXDQf+EnNWSa7Q10lSQ6C1LSH8OZkTlaINrfVIw7s+3tVxO3I4pjp7/ARw7RX2gdNPlw6fH4Gn/HvvYbw==";
+        url = "https://registry.npmjs.org/@parcel/logger/-/logger-2.4.0.tgz";
+        sha512 = "DqfU0Zcs/0a7VBk+MsjJ80C66w4kM9EbkO3G12NIyEjNeG50ayW2CE9rUuJ91JaM9j0NFM1P82eyLpQPFFaVPw==";
       };
     };
-    "@parcel/markdown-ansi-2.3.2" = {
+    "@parcel/markdown-ansi-2.4.0" = {
       name = "_at_parcel_slash_markdown-ansi";
       packageName = "@parcel/markdown-ansi";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.3.2.tgz";
-        sha512 = "l01ggmag5QScCk9mYA0xHh5TWSffR84uPFP2KvaAMQQ9NLNufcFiU0mn/Mtr3pCb5L5dSzmJ+Oo9s7P1Kh/Fmg==";
+        url = "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.4.0.tgz";
+        sha512 = "gPUP1xikxHiu2kFyPy35pfuVkFgAmcywO8YDQj7iYcB+k7l4QPpIYFYGXn2QADV4faf66ncMeTD4uYV8c0GqjQ==";
       };
     };
-    "@parcel/namer-default-2.3.2" = {
+    "@parcel/namer-default-2.4.0" = {
       name = "_at_parcel_slash_namer-default";
       packageName = "@parcel/namer-default";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.3.2.tgz";
-        sha512 = "3QUMC0+5+3KMKfoAxYAbpZtuRqTgyZKsGDWzOpuqwemqp6P8ahAvNPwSCi6QSkGcTmvtYwBu9/NHPSONxIFOfg==";
+        url = "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.4.0.tgz";
+        sha512 = "DfL+Gx0Tyoa0vsgRpNybXjuKbWNw8MTVpy7Dk7r0btfVsn1jy3SSwlxH4USf76gb00/pK6XBsMp9zn7Z8ePREQ==";
       };
     };
-    "@parcel/node-resolver-core-2.3.2" = {
+    "@parcel/node-resolver-core-2.4.0" = {
       name = "_at_parcel_slash_node-resolver-core";
       packageName = "@parcel/node-resolver-core";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-2.3.2.tgz";
-        sha512 = "wmrnMNzJN4GuHw2Ftho+BWgSWR6UCkW3XoMdphqcxpw/ieAdS2a+xYSosYkZgQZ6lGutSvLyJ1CkVvP6RLIdQQ==";
+        url = "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-2.4.0.tgz";
+        sha512 = "qiN97XcfW2fYNoYuVEhNKuVPEJKj5ONQl0fqr/NEMmYvWz3bVKjgiXNJwW558elZvCI08gEbdxgyThpuFFQeKQ==";
       };
     };
-    "@parcel/optimizer-cssnano-2.3.2" = {
-      name = "_at_parcel_slash_optimizer-cssnano";
-      packageName = "@parcel/optimizer-cssnano";
-      version = "2.3.2";
+    "@parcel/optimizer-css-2.4.0" = {
+      name = "_at_parcel_slash_optimizer-css";
+      packageName = "@parcel/optimizer-css";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/optimizer-cssnano/-/optimizer-cssnano-2.3.2.tgz";
-        sha512 = "wTBOxMiBI38NAB9XIlQZRCjS59+EWjWR9M04D3TWyxl+dL5gYMc1cl4GNynUnmcPdz+3s1UbOdo5/8V90wjiiw==";
+        url = "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.4.0.tgz";
+        sha512 = "LQmjjOGsHEHKTJqfHR2eJyhWhLXvHP0uOAU+qopBttYYlB2J/vMK9RYAye5cyAb8bQmV8wAdi2mq9rnt7FMSPw==";
       };
     };
-    "@parcel/optimizer-htmlnano-2.3.2" = {
+    "@parcel/optimizer-htmlnano-2.4.0" = {
       name = "_at_parcel_slash_optimizer-htmlnano";
       packageName = "@parcel/optimizer-htmlnano";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.3.2.tgz";
-        sha512 = "U8C0TDSxsx8HmHaLW0Zc7ha1fXQynzhvBjCRMGYnOiLiw0MOfLQxzQ2WKVSeCotmdlF63ayCwxWsd6BuqStiKQ==";
+        url = "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.4.0.tgz";
+        sha512 = "02EbeElLgNOAYhGU7fFBahpoKrX5G/yzahpaoKB/ypScM4roSsAMBkGcluboR5L10YRsvfvJEpxvfGyDA3tPmw==";
       };
     };
-    "@parcel/optimizer-image-2.3.2" = {
+    "@parcel/optimizer-image-2.4.0" = {
       name = "_at_parcel_slash_optimizer-image";
       packageName = "@parcel/optimizer-image";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.3.2.tgz";
-        sha512 = "HOk3r5qdvY/PmI7Q3i2qEgFH3kP2QWG4Wq3wmC4suaF1+c2gpiQc+HKHWp4QvfbH3jhT00c5NxQyqPhbXeNI9Q==";
+        url = "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.4.0.tgz";
+        sha512 = "Q4onaBMPkDyYxPzrb8ytBUftaQZFepj9dSUgq+ETuHDzkgia0tomDPfCqrw6ld0qvYyANzXTP5+LC4g0i5yh+A==";
       };
     };
-    "@parcel/optimizer-svgo-2.3.2" = {
+    "@parcel/optimizer-svgo-2.4.0" = {
       name = "_at_parcel_slash_optimizer-svgo";
       packageName = "@parcel/optimizer-svgo";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.3.2.tgz";
-        sha512 = "l7WvZ5+e7D1mVmLUxMVaSb29cviXzuvSY2OpQs0ukdPACDqag+C65hWMzwTiOSSRGPMIu96kQKpeVru2YjibhA==";
+        url = "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.4.0.tgz";
+        sha512 = "mwvGuCqVuNCAuMlp2maFE/Uz9ud1T1AuX0f6cCRczjFYiwZuIr/0iDdfFzSziOkVo1MRAGAZNa0dRR/UzCZtVg==";
       };
     };
-    "@parcel/optimizer-terser-2.3.2" = {
+    "@parcel/optimizer-terser-2.4.0" = {
       name = "_at_parcel_slash_optimizer-terser";
       packageName = "@parcel/optimizer-terser";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/optimizer-terser/-/optimizer-terser-2.3.2.tgz";
-        sha512 = "dOapHhfy0xiNZa2IoEyHGkhhla07xsja79NPem14e5jCqY6Oi40jKNV4ab5uu5u1elWUjJuw69tiYbkDZWbKQw==";
+        url = "https://registry.npmjs.org/@parcel/optimizer-terser/-/optimizer-terser-2.4.0.tgz";
+        sha512 = "PdCgRgXNSY6R1HTV9VG2MHp1CgUbP5pslCyxvlbUmQAS6bvEpMOpn3qSd+U28o7mGE/qXIhvpDyi808sb+MEcg==";
       };
     };
-    "@parcel/package-manager-2.3.2" = {
+    "@parcel/package-manager-2.4.0" = {
       name = "_at_parcel_slash_package-manager";
       packageName = "@parcel/package-manager";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.3.2.tgz";
-        sha512 = "pAQfywKVORY8Ee+NHAyKzzQrKbnz8otWRejps7urwhDaTVLfAd5C/1ZV64ATZ9ALYP9jyoQ8bTaxVd4opcSuwg==";
+        url = "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.4.0.tgz";
+        sha512 = "21AEfAQnZbHRVViTn7QsPGe/CiGaFaDUH5f0m8qVC7fDjjhC8LM8blkqU72goaO9FbaLMadtEf2txhzly7h/bg==";
       };
     };
-    "@parcel/packager-css-2.3.2" = {
+    "@parcel/packager-css-2.4.0" = {
       name = "_at_parcel_slash_packager-css";
       packageName = "@parcel/packager-css";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.3.2.tgz";
-        sha512 = "ByuF9xDnQnpVL1Hdu9aY6SpxOuZowd3TH7joh1qdRPLeMHTEvUywHBXoiAyNdrhnLGum8uPEdY8Ra5Xuo1U7kg==";
+        url = "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.4.0.tgz";
+        sha512 = "LmPDWzkXi60Oy3WrPF0jPKQxeTwW5hmNBgrcXJMHSu+VcXdaQZNzNxVzhnZkJUbDd2z9vAUrUGzdLh8TquC8iQ==";
       };
     };
-    "@parcel/packager-html-2.3.2" = {
+    "@parcel/packager-html-2.4.0" = {
       name = "_at_parcel_slash_packager-html";
       packageName = "@parcel/packager-html";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.3.2.tgz";
-        sha512 = "YqAptdU+uqfgwSii76mRGcA/3TpuC6yHr8xG+11brqj/tEFLsurmX0naombzd7FgmrTE9w+kb0HUIMl2vRBn0A==";
+        url = "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.4.0.tgz";
+        sha512 = "OPMIQ1uHYQFpRPrsmm5BqONbAyzjlhVsPRAzHlcBrglG4BTUeOR2ow4MUKblHmVVqc3QHnfZG4nHHtFkeuNQ3A==";
       };
     };
-    "@parcel/packager-js-2.3.2" = {
+    "@parcel/packager-js-2.4.0" = {
       name = "_at_parcel_slash_packager-js";
       packageName = "@parcel/packager-js";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.3.2.tgz";
-        sha512 = "3OP0Ro9M1J+PIKZK4Ec2N5hjIPiqk++B2kMFeiUqvaNZjJgKrPPEICBhjS52rma4IE/NgmIMB3aI5pWqE/KwNA==";
+        url = "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.4.0.tgz";
+        sha512 = "cfslIH43CJFgBS9PmdFaSnbInMCoejsFCnxtJa2GeUpjCXSfelPRp0OPx7m8n+fap4czftPhoxBALeDUElOZGQ==";
       };
     };
-    "@parcel/packager-raw-2.3.2" = {
+    "@parcel/packager-raw-2.4.0" = {
       name = "_at_parcel_slash_packager-raw";
       packageName = "@parcel/packager-raw";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.3.2.tgz";
-        sha512 = "RnoZ7WgNAFWkEPrEefvyDqus7xfv9XGprHyTbfLittPaVAZpl+4eAv43nXyMfzk77Cgds6KcNpkosj3acEpNIQ==";
+        url = "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.4.0.tgz";
+        sha512 = "SFfw7chMFITj3J26ZVDJxbO6xwtPFcFBm1js8cwWMgzwuwS6CEc43k5+Abj+2/EqHU9kNJU9eWV5vT6lQwf3HA==";
       };
     };
-    "@parcel/packager-svg-2.3.2" = {
+    "@parcel/packager-svg-2.4.0" = {
       name = "_at_parcel_slash_packager-svg";
       packageName = "@parcel/packager-svg";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.3.2.tgz";
-        sha512 = "iIC0VeczOXynS7M5jCi3naMBRyAznBVJ3iMg92/GaI9duxPlUMGAlHzLAKNtoXkc00HMXDH7rrmMb04VX6FYSg==";
+        url = "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.4.0.tgz";
+        sha512 = "DwkgrdLEQop+tu9Ocr1ZaadmpsbSgVruJPr80xq1LaB0Jiwrl9HjHStMNH1laNFueK1yydxhnj9C2JQfW28qag==";
       };
     };
-    "@parcel/plugin-2.3.2" = {
+    "@parcel/plugin-2.4.0" = {
       name = "_at_parcel_slash_plugin";
       packageName = "@parcel/plugin";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.3.2.tgz";
-        sha512 = "SaLZAJX4KH+mrAmqmcy9KJN+V7L+6YNTlgyqYmfKlNiHu7aIjLL+3prX8QRcgGtjAYziCxvPj0cl1CCJssaiGg==";
+        url = "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.4.0.tgz";
+        sha512 = "ehFUAL2+h27Lv+cYbbXA74UGy8C+eglUjcpvASOOjVRFuD6poMAMliKkKAXBhQaFx/Rvhz27A2PIPv9lL2i4UQ==";
       };
     };
-    "@parcel/reporter-cli-2.3.2" = {
+    "@parcel/reporter-cli-2.4.0" = {
       name = "_at_parcel_slash_reporter-cli";
       packageName = "@parcel/reporter-cli";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.3.2.tgz";
-        sha512 = "VYetmTXqW83npsvVvqlQZTbF3yVL3k/FCCl3kSWvOr9LZA0lmyqJWPjMHq37yIIOszQN/p5guLtgCjsP0UQw1Q==";
+        url = "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.4.0.tgz";
+        sha512 = "Q9bIFMaGvQgypCDxdMEKOwrJzIHAXScKkuFsqTHnUL6mmH3Mo2CoEGAq/wpMXuPhXRn1dPJcHgTNDwZ2fSzz0A==";
       };
     };
-    "@parcel/reporter-dev-server-2.3.2" = {
+    "@parcel/reporter-dev-server-2.4.0" = {
       name = "_at_parcel_slash_reporter-dev-server";
       packageName = "@parcel/reporter-dev-server";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.3.2.tgz";
-        sha512 = "E7LtnjAX4iiWMw2qKUyFBi3+bDz0UGjqgHoPQylUYYLi6opXjJz/oC+cCcCy4e3RZlkrl187XonvagS59YjDxA==";
+        url = "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.4.0.tgz";
+        sha512 = "24h++wevs7XYuX4dKa4PUfLSstvn3g7udajFv6CeQoME+dR25RL/wH/2LUbhV5ilgXXab76rWIndSqp78xHxPA==";
       };
     };
-    "@parcel/resolver-default-2.3.2" = {
+    "@parcel/resolver-default-2.4.0" = {
       name = "_at_parcel_slash_resolver-default";
       packageName = "@parcel/resolver-default";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.3.2.tgz";
-        sha512 = "y3r+xOwWsATrNGUWuZ6soA7q24f8E5tY1AZ9lHCufnkK2cdKZJ5O1cyd7ohkAiKZx2/pMd+FgmVZ/J3oxetXkA==";
+        url = "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.4.0.tgz";
+        sha512 = "K7pIIFmGm1hjg/7Mzkg99i8tfCClKfBUTuc2R5j8cdr2n0mCAi4/f2mFf5svLrb5XZrnDgoQ05tHKklLEfUDUw==";
       };
     };
-    "@parcel/runtime-browser-hmr-2.3.2" = {
+    "@parcel/runtime-browser-hmr-2.4.0" = {
       name = "_at_parcel_slash_runtime-browser-hmr";
       packageName = "@parcel/runtime-browser-hmr";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.3.2.tgz";
-        sha512 = "nRD6uOyF1+HGylP9GASbYmvUDOsDaNwvaxuGTSh8+5M0mmCgib+hVBiPEKbwdmKjGbUPt9wRFPyMa/JpeQZsIQ==";
+        url = "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.4.0.tgz";
+        sha512 = "swPFtvxGoCA9LEjU/pHPNjxG1l0fte8447zXwRN/AaYrtjNu9Ww117OSKCyvCnE143E79jZOFStodTQGFuH+9A==";
       };
     };
-    "@parcel/runtime-js-2.3.2" = {
+    "@parcel/runtime-js-2.4.0" = {
       name = "_at_parcel_slash_runtime-js";
       packageName = "@parcel/runtime-js";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.3.2.tgz";
-        sha512 = "SJepcHvYO/7CEe/Q85sngk+smcJ6TypuPh4D2R8kN+cAJPi5WvbQEe7+x5BEgbN+5Jumi/Uo3FfOOE5mYh+F6g==";
+        url = "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.4.0.tgz";
+        sha512 = "67OOvmkDdtmgzZVP/EyAzoXhJ/Ug3LUVUt7idg9arun5rdJptqEb3Um3wmH0zjcNa9jMbJt7Kl5x1wA8dJgPYg==";
       };
     };
-    "@parcel/runtime-react-refresh-2.3.2" = {
+    "@parcel/runtime-react-refresh-2.4.0" = {
       name = "_at_parcel_slash_runtime-react-refresh";
       packageName = "@parcel/runtime-react-refresh";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.3.2.tgz";
-        sha512 = "P+GRPO2XVDSBQ4HmRSj2xfbHSQvL9+ahTE/AB74IJExLTITv5l4SHAV3VsiKohuHYUAYHW3A/Oe7tEFCAb6Cug==";
+        url = "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.4.0.tgz";
+        sha512 = "flnr+bf06lMZPbXZZLLaFNrPHvYpfuXTVovEghyUW46qLVpaHj33dpsU/LqZplIuHgBp2ibgrKhr/hY9ell68w==";
       };
     };
-    "@parcel/runtime-service-worker-2.3.2" = {
+    "@parcel/runtime-service-worker-2.4.0" = {
       name = "_at_parcel_slash_runtime-service-worker";
       packageName = "@parcel/runtime-service-worker";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.3.2.tgz";
-        sha512 = "iREHj/eapphC4uS/zGUkiTJvG57q+CVbTrfE42kB8ECtf/RYNo5YC9htdvPZjRSXDPrEPc5NCoKp4X09ENNikw==";
+        url = "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.4.0.tgz";
+        sha512 = "RgM5QUqW22WzstW03CtV+Oih8VGVuwsf94Cc4hLouU2EAD0NUJgATWbFocZVTZIBTKELAWh2gjpSQDdnL4Ur+A==";
       };
     };
     "@parcel/source-map-2.0.2" = {
@@ -7150,112 +7267,112 @@ let
         sha512 = "NnUrPYLpYB6qyx2v6bcRPn/gVigmGG6M6xL8wIg/i0dP1GLkuY1nf+Hqdf63FzPTqqT7K3k6eE5yHPQVMO5jcA==";
       };
     };
-    "@parcel/transformer-babel-2.3.2" = {
+    "@parcel/transformer-babel-2.4.0" = {
       name = "_at_parcel_slash_transformer-babel";
       packageName = "@parcel/transformer-babel";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.3.2.tgz";
-        sha512 = "QpWfH2V6jJ+kcUBIMM/uBBG8dGFvNaOGS+8jD6b+eTP+1owzm83RoWgqhRV2D/hhv2qMXEQzIljoc/wg2y+X4g==";
+        url = "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.4.0.tgz";
+        sha512 = "iWDa7KzJTMP3HNmrYxiYq/S6redk2qminx/9MwmKIN9jzm8mgts2Lj9lOg/t66YaDGky6JAvw4DhB2qW4ni6yQ==";
       };
     };
-    "@parcel/transformer-css-2.3.2" = {
+    "@parcel/transformer-css-2.4.0" = {
       name = "_at_parcel_slash_transformer-css";
       packageName = "@parcel/transformer-css";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.3.2.tgz";
-        sha512 = "8lzvDny+78DIAqhcXam2Bf9FyaUoqzHdUQdNFn+PuXTHroG/QGPvln1kvqngJjn4/cpJS9vYmAPVXe+nai3P8g==";
+        url = "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.4.0.tgz";
+        sha512 = "D2u48LuiQsQvbknABE0wVKFp9r6yCgWrHKEP1J6EJ31c49nXGXDHrpHJJwqq9BvAs/124eBI5mSsehTJyFEMwg==";
       };
     };
-    "@parcel/transformer-html-2.3.2" = {
+    "@parcel/transformer-html-2.4.0" = {
       name = "_at_parcel_slash_transformer-html";
       packageName = "@parcel/transformer-html";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.3.2.tgz";
-        sha512 = "idT1I/8WM65IFYBqzRwpwT7sf0xGur4EDQDHhuPX1w+pIVZnh0lkLMAnEqs6ar1SPRMys4chzkuDNnqh0d76hg==";
+        url = "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.4.0.tgz";
+        sha512 = "2/8X/o5QaCNVPr4wkxLCUub7v/YVvVN2L5yCEcTatNeFhNg/2iz7P2ekfqOaoDCHWZEOBT1VTwPbdBt+TMM71Q==";
       };
     };
-    "@parcel/transformer-image-2.3.2" = {
+    "@parcel/transformer-image-2.4.0" = {
       name = "_at_parcel_slash_transformer-image";
       packageName = "@parcel/transformer-image";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.3.2.tgz";
-        sha512 = "0K7cJHXysli6hZsUz/zVGO7WCoaaIeVdzAxKpLA1Yl3LKw/ODiMyXKt08LiV/ljQ2xT5qb9EsXUWDRvcZ0b96A==";
+        url = "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.4.0.tgz";
+        sha512 = "JZkQvGGoGiD0AVKLIbAYYUWxepMmUaWZ4XXx71MmS/kA7cUDwTZ0CXq63YnSY1m+DX+ClTuTN8mBlwe2dkcGbA==";
       };
     };
-    "@parcel/transformer-js-2.3.2" = {
+    "@parcel/transformer-js-2.4.0" = {
       name = "_at_parcel_slash_transformer-js";
       packageName = "@parcel/transformer-js";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.3.2.tgz";
-        sha512 = "U1fbIoAoqR5P49S+DMhH8BUd9IHRPwrTTv6ARYGsYnhuNsjTFhNYE0kkfRYboe/e0z7vEbeJICZXjnZ7eQDw5A==";
+        url = "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.4.0.tgz";
+        sha512 = "eeLHFwv3jT3GmIxpLC7B8EXExGK0MFaK91HXljOMh6l8a+GlQYw27MSFQVtoXr0Olx9Uq2uvjXP1+zSsq3LQUQ==";
       };
     };
-    "@parcel/transformer-json-2.3.2" = {
+    "@parcel/transformer-json-2.4.0" = {
       name = "_at_parcel_slash_transformer-json";
       packageName = "@parcel/transformer-json";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.3.2.tgz";
-        sha512 = "Pv2iPaxKINtFwOk5fDbHjQlSm2Vza/NLimQY896FLxiXPNAJxWGvMwdutgOPEBKksxRx9LZPyIOHiRVZ0KcA3w==";
+        url = "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.4.0.tgz";
+        sha512 = "3nR+d39mbURoXIypDfVCaxpwL65qMV+h8SLD78up2uhaRGklHQfN7GuemR7L+mcVAgNrmwVvZHhyNjdgYwWqqg==";
       };
     };
-    "@parcel/transformer-postcss-2.3.2" = {
+    "@parcel/transformer-postcss-2.4.0" = {
       name = "_at_parcel_slash_transformer-postcss";
       packageName = "@parcel/transformer-postcss";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.3.2.tgz";
-        sha512 = "Rpdxc1rt2aJFCh/y/ccaBc9J1crDjNY5o44xYoOemBoUNDMREsmg5sR5iO81qKKO5GxfoosGb2zh59aeTmywcg==";
+        url = "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.4.0.tgz";
+        sha512 = "ijIa2x+dbKnJhr7zO5WlXkvuj832fDoGksMBk2DX3u2WMrbh2rqVWPpGFsDhESx7EAy38nUoV/5KUdrNqUmCEA==";
       };
     };
-    "@parcel/transformer-posthtml-2.3.2" = {
+    "@parcel/transformer-posthtml-2.4.0" = {
       name = "_at_parcel_slash_transformer-posthtml";
       packageName = "@parcel/transformer-posthtml";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.3.2.tgz";
-        sha512 = "tMdVExfdM+1G8A9KSHDsjg+S9xEGbhH5mApF2NslPnNZ4ciLKRNuHU2sSV/v8i0a6kacKvDTrwQXYBQJGOodBw==";
+        url = "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.4.0.tgz";
+        sha512 = "xoL3AzgtVeRRAo6bh0AHAYm9bt1jZ+HiH86/7oARj/uJs6Wd8kXK/DZf6fH+F87hj4e7bnjmDDc0GPVK0lPz1w==";
       };
     };
-    "@parcel/transformer-raw-2.3.2" = {
+    "@parcel/transformer-raw-2.4.0" = {
       name = "_at_parcel_slash_transformer-raw";
       packageName = "@parcel/transformer-raw";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.3.2.tgz";
-        sha512 = "lY7eOCaALZ90+GH+4PZRmAPGQRXoZ66NakSdhEtH6JSSAYOmZKDvNLGTMRo/vK1oELzWMuAHGdqvbcPDtNLLVw==";
+        url = "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.4.0.tgz";
+        sha512 = "fciFbNrzj0kLlDgr6OsI0PUv414rVygDWAsgbCCq4BexDkuemMs9f9FjMctx9B2VZlctE8dTT4RGkuQumTIpUg==";
       };
     };
-    "@parcel/transformer-react-refresh-wrap-2.3.2" = {
+    "@parcel/transformer-react-refresh-wrap-2.4.0" = {
       name = "_at_parcel_slash_transformer-react-refresh-wrap";
       packageName = "@parcel/transformer-react-refresh-wrap";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.3.2.tgz";
-        sha512 = "FZaderyCExn0SBZ6D+zHPWc8JSn9YDcbfibv0wkCl+D7sYfeWZ22i7MRp5NwCe/TZ21WuxDWySCggEp/Waz2xg==";
+        url = "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.4.0.tgz";
+        sha512 = "9+f6sGOWkf0jyUQ1CuFWk+04Mq3KTOCU9kRiwCHX1YdUCv5uki6r9XUSpqiYodrV+L6w9CCwLvGMLCDHxtCxMg==";
       };
     };
-    "@parcel/transformer-svg-2.3.2" = {
+    "@parcel/transformer-svg-2.4.0" = {
       name = "_at_parcel_slash_transformer-svg";
       packageName = "@parcel/transformer-svg";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.3.2.tgz";
-        sha512 = "k9My6bePsaGgUh+tidDjFbbVgKPTzwCAQfoloZRMt7y396KgUbvCfqDruk04k6k+cJn7Jl1o/5lUpTEruBze7g==";
+        url = "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.4.0.tgz";
+        sha512 = "D+yzVtSxtQML3d26fd/g4E/xYW68+OMbMUVLXORtoYMU42fnXQkJP6jGOdqy8Td+WORNY7EwVtQnESLwhBmolw==";
       };
     };
-    "@parcel/types-2.3.2" = {
+    "@parcel/types-2.4.0" = {
       name = "_at_parcel_slash_types";
       packageName = "@parcel/types";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/types/-/types-2.3.2.tgz";
-        sha512 = "C77Ct1xNM7LWjPTfe/dQ/9rq1efdsX5VJu2o8/TVi6qoFh64Wp/c5/vCHwKInOTBZUTchVO6z4PGJNIZoUVJuA==";
+        url = "https://registry.npmjs.org/@parcel/types/-/types-2.4.0.tgz";
+        sha512 = "nysGIbBEnp+7R+tKTysdcTFOZDTCodsiXFeAhYQa5bhiOnG1l9gzhxQnE2OsdsgvMm40IOsgKprqvM/DbdLfnQ==";
       };
     };
     "@parcel/utils-1.11.0" = {
@@ -7267,13 +7384,13 @@ let
         sha512 = "cA3p4jTlaMeOtAKR/6AadanOPvKeg8VwgnHhOyfi0yClD0TZS/hi9xu12w4EzA/8NtHu0g6o4RDfcNjqN8l1AQ==";
       };
     };
-    "@parcel/utils-2.3.2" = {
+    "@parcel/utils-2.4.0" = {
       name = "_at_parcel_slash_utils";
       packageName = "@parcel/utils";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/utils/-/utils-2.3.2.tgz";
-        sha512 = "xzZ+0vWhrXlLzGoz7WlANaO5IPtyWGeCZruGtepUL3yheRWb1UU4zFN9xz7Z+j++Dmf1Fgkc3qdk/t4O8u9HLQ==";
+        url = "https://registry.npmjs.org/@parcel/utils/-/utils-2.4.0.tgz";
+        sha512 = "sdNo+mZqDZT8LJYB6WWRKa4wFVZcK6Zb5Jh6Du76QvXXwHbPIQNZgJBb6gd/Rbk4GLOp2tW7MnBfq6zP9E9E2g==";
       };
     };
     "@parcel/watcher-1.12.1" = {
@@ -7303,13 +7420,40 @@ let
         sha512 = "USSjRAAQYsZFlv43FUPdD+jEGML5/8oLF0rUzPQTtK4q9kvaXr49F5ZplyLz5lox78cLZ0TxN2bIDQ1xhOkulQ==";
       };
     };
-    "@parcel/workers-2.3.2" = {
+    "@parcel/workers-2.4.0" = {
       name = "_at_parcel_slash_workers";
       packageName = "@parcel/workers";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/workers/-/workers-2.3.2.tgz";
-        sha512 = "JbOm+Ceuyymd1SuKGgodC2EXAiPuFRpaNUSJpz3NAsS3lVIt2TDAPMOWBivS7sML/KltspUfl/Q9YwO0TPUFNw==";
+        url = "https://registry.npmjs.org/@parcel/workers/-/workers-2.4.0.tgz";
+        sha512 = "eSFyvEoXXPgFzQfKIlpkUjpHfIbezUCRFTPKyJAKCxvU5DSXOpb1kz5vDESWQ4qTZXKnrKvxS1PPWN6bam9z0g==";
+      };
+    };
+    "@peculiar/asn1-schema-2.1.0" = {
+      name = "_at_peculiar_slash_asn1-schema";
+      packageName = "@peculiar/asn1-schema";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.1.0.tgz";
+        sha512 = "D6g4C5YRKC/iPujMAOXuZ7YGdaoMx8GsvWzfVSyx2LYeL38ECOKNywlYAuwbqQvON64lgsYdAujWQPX8hhoBLw==";
+      };
+    };
+    "@peculiar/json-schema-1.1.12" = {
+      name = "_at_peculiar_slash_json-schema";
+      packageName = "@peculiar/json-schema";
+      version = "1.1.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@peculiar/json-schema/-/json-schema-1.1.12.tgz";
+        sha512 = "coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==";
+      };
+    };
+    "@peculiar/webcrypto-1.3.3" = {
+      name = "_at_peculiar_slash_webcrypto";
+      packageName = "@peculiar/webcrypto";
+      version = "1.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.3.3.tgz";
+        sha512 = "+jkp16Hp18HkphJlMtqsQKjyDWJBh0AhDuoB+vVakuIRbkBdaFb7v26Ldm25altjiYhCyQnR5NChHxwSTvbXJw==";
       };
     };
     "@pm2/agent-2.0.1" = {
@@ -7357,13 +7501,13 @@ let
         sha512 = "DiIjtous4XPuR2deTctD3/RVZy/vRzVYBgYYvHV313MmTfkbVP60qLH5txrT3/bYNvnb0poNDelLS6U0kqlvHA==";
       };
     };
-    "@prisma/engines-3.11.0-48.b371888aaf8f51357c7457d836b86d12da91658b" = {
+    "@prisma/engines-3.11.1-1.1a2506facaf1a4727b7c26850735e88ec779dee9" = {
       name = "_at_prisma_slash_engines";
       packageName = "@prisma/engines";
-      version = "3.11.0-48.b371888aaf8f51357c7457d836b86d12da91658b";
+      version = "3.11.1-1.1a2506facaf1a4727b7c26850735e88ec779dee9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@prisma/engines/-/engines-3.11.0-48.b371888aaf8f51357c7457d836b86d12da91658b.tgz";
-        sha512 = "m9iZd5F5vP6A2IvKWfHpOO/qK8OOO9nbsV/pdyEkF/1WNe0E8SIWFBKb+HcMLkG9OFbDDBy8QItXmp/mIULuwQ==";
+        url = "https://registry.npmjs.org/@prisma/engines/-/engines-3.11.1-1.1a2506facaf1a4727b7c26850735e88ec779dee9.tgz";
+        sha512 = "MILbsGnvmnhCbFGa2/iSnsyGyazU3afzD7ldjCIeLIGKkNBMSZgA2IvpYsAXl+6qFHKGrS3B2otKfV31dwMSQw==";
       };
     };
     "@prisma/prisma-fmt-wasm-3.11.0-48.b371888aaf8f51357c7457d836b86d12da91658b" = {
@@ -7483,13 +7627,13 @@ let
         sha512 = "1ekKViRit0jo1IzDLSRSziU/OpX9ckoj8uWvSWzHLASyTqhKZL9Pdq628guq7yT3qFcJeeaeaA5T97a4w7fpqA==";
       };
     };
-    "@putdotio/api-client-8.31.0" = {
+    "@putdotio/api-client-8.31.2" = {
       name = "_at_putdotio_slash_api-client";
       packageName = "@putdotio/api-client";
-      version = "8.31.0";
+      version = "8.31.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@putdotio/api-client/-/api-client-8.31.0.tgz";
-        sha512 = "PJIRaKW+UZTJwjcVlq3/9XSWa4E28KxW08Rsrc7OGVPwD1hYSLxAjCfGfh/Z8VNpUymtSEZKiilAifqSXjKNEg==";
+        url = "https://registry.npmjs.org/@putdotio/api-client/-/api-client-8.31.2.tgz";
+        sha512 = "/pXMWQI2nHn0l9GHcETUZNZ3dYXhYwu91NW6efd/MDxDNtzI1HOt5psGgRx5mcyvLsifp9gzg6MqaeFQm/FtWA==";
       };
     };
     "@reach/router-1.3.4" = {
@@ -7546,13 +7690,13 @@ let
         sha512 = "y9qNj0//tZtWB2jfXNK3BX18BSBp9zNR7KE7lMysVHwbZtY392OJCjm6Rb/h4UHH2r1AqjNEHFD6bRn+DqU9Mw==";
       };
     };
-    "@redocly/openapi-core-1.0.0-beta.88" = {
+    "@redocly/openapi-core-1.0.0-beta.90" = {
       name = "_at_redocly_slash_openapi-core";
       packageName = "@redocly/openapi-core";
-      version = "1.0.0-beta.88";
+      version = "1.0.0-beta.90";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.0.0-beta.88.tgz";
-        sha512 = "E9vkLvumIkzII0ydDFGr6uYbZgI9rHMxBveefzM51OUvobvifryXb6VcnQ1T0P8VoHRiYwpgiWlmZeDsNAdZdg==";
+        url = "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.0.0-beta.90.tgz";
+        sha512 = "MvkME+AWCBexyJyNp/sVFRUBjxCSk5CQ+CAozkwm0t/HusXp9G+kH26+e9giD6Fms129smr1qp3pCAUbwJZzZA==";
       };
     };
     "@redocly/react-dropdown-aria-2.0.12" = {
@@ -7636,13 +7780,13 @@ let
         sha512 = "J3jpy002TyBjd4N/p6s+s90eX42H2eRhK3SbsZuvTDv977/E8p2U3zikdiehyJja66do7FlxLomZLPlvl2/xaA==";
       };
     };
-    "@serverless/dashboard-plugin-6.1.6" = {
+    "@serverless/dashboard-plugin-6.2.0" = {
       name = "_at_serverless_slash_dashboard-plugin";
       packageName = "@serverless/dashboard-plugin";
-      version = "6.1.6";
+      version = "6.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/dashboard-plugin/-/dashboard-plugin-6.1.6.tgz";
-        sha512 = "TqdwrmWiYapIVMIc/eMdo24sY45VxjiHvA5WO04pH9SI8+iLqwKw4Z2qa5MwmdXG0tm+XpsLM2BSKrFvz9Bikw==";
+        url = "https://registry.npmjs.org/@serverless/dashboard-plugin/-/dashboard-plugin-6.2.0.tgz";
+        sha512 = "3vapxoW1hI8OBxLRJq+J9vt3tdckZObhYWfwRPDlqPs6FOEoHuJieAzz07e7YdWt7fO/LkQx6rlgCXlGamLnjw==";
       };
     };
     "@serverless/event-mocks-1.1.1" = {
@@ -7672,13 +7816,13 @@ let
         sha512 = "6oKLqAkK6CG2zjAs2rfuHEOLoK11K/oep5bwGTEb5JmFP/92JQtvyb+FxP4DknL4jYpiYj1Dd5sCt5auHhOASg==";
       };
     };
-    "@sideway/address-4.1.3" = {
+    "@sideway/address-4.1.4" = {
       name = "_at_sideway_slash_address";
       packageName = "@sideway/address";
-      version = "4.1.3";
+      version = "4.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sideway/address/-/address-4.1.3.tgz";
-        sha512 = "8ncEUtmnTsMmL7z1YPB47kPUq7LpKWJNFPsRzHiIajGC5uXlWGn+AmkYPcHNl8S4tcEGx+cnORnNYaw2wvL+LQ==";
+        url = "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz";
+        sha512 = "7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==";
       };
     };
     "@sideway/formula-3.0.0" = {
@@ -7969,13 +8113,13 @@ let
         sha512 = "2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==";
       };
     };
-    "@swc/helpers-0.2.14" = {
+    "@swc/helpers-0.3.8" = {
       name = "_at_swc_slash_helpers";
       packageName = "@swc/helpers";
-      version = "0.2.14";
+      version = "0.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/helpers/-/helpers-0.2.14.tgz";
-        sha512 = "wpCQMhf5p5GhNg2MmGKXzUNwxe7zRiCsmqYsamez2beP7mKPCSiu+BjZcdN95yYSzO857kr0VfQewmGpS77nqA==";
+        url = "https://registry.npmjs.org/@swc/helpers/-/helpers-0.3.8.tgz";
+        sha512 = "aWItSZvJj4+GI6FWkjZR13xPNPctq2RRakzo+O6vN7bC2yjwdg5EFpgaSAUn95b7BGSgcflvzVDPoKmJv24IOg==";
       };
     };
     "@szmarczak/http-timer-1.1.2" = {
@@ -8284,6 +8428,15 @@ let
         sha512 = "veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==";
       };
     };
+    "@types/asn1js-2.0.2" = {
+      name = "_at_types_slash_asn1js";
+      packageName = "@types/asn1js";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/asn1js/-/asn1js-2.0.2.tgz";
+        sha512 = "t4YHCgtD+ERvH0FyxvNlYwJ2ezhqw7t+Ygh4urQ7dJER8i185JPv6oIM3ey5YQmGN6Zp9EMbpohkjZi9t3UxwA==";
+      };
+    };
     "@types/atob-2.1.2" = {
       name = "_at_types_slash_atob";
       packageName = "@types/atob";
@@ -8914,13 +9067,13 @@ let
         sha512 = "k4ih8ayQ65e26vhCxeMTKtZ808DzC0RFQ4unBvPEy9bcFhS4aPm3oXgWWZNmZ4u+H2WzHQDCNrRC5iNX+afiZw==";
       };
     };
-    "@types/json-schema-7.0.10" = {
+    "@types/json-schema-7.0.11" = {
       name = "_at_types_slash_json-schema";
       packageName = "@types/json-schema";
-      version = "7.0.10";
+      version = "7.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.10.tgz";
-        sha512 = "BLO9bBq59vW3fxCpD4o0N4U+DXsvwvIcl+jofw0frQo/GrBFC+/jRZj1E7kgp6dvTyNmA4y6JCV5Id/r3mNP5A==";
+        url = "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz";
+        sha512 = "wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==";
       };
     };
     "@types/json-schema-7.0.9" = {
@@ -9274,6 +9427,15 @@ let
         sha512 = "DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==";
       };
     };
+    "@types/node-17.0.23" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "17.0.23";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz";
+        sha512 = "UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==";
+      };
+    };
     "@types/node-6.14.13" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
@@ -9967,13 +10129,13 @@ let
         sha512 = "aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==";
       };
     };
-    "@typescript-eslint/eslint-plugin-5.15.0" = {
+    "@typescript-eslint/eslint-plugin-5.16.0" = {
       name = "_at_typescript-eslint_slash_eslint-plugin";
       packageName = "@typescript-eslint/eslint-plugin";
-      version = "5.15.0";
+      version = "5.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.15.0.tgz";
-        sha512 = "u6Db5JfF0Esn3tiAKELvoU5TpXVSkOpZ78cEGn/wXtT2RVqs2vkt4ge6N8cRCyw7YVKhmmLDbwI2pg92mlv7cA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.16.0.tgz";
+        sha512 = "SJoba1edXvQRMmNI505Uo4XmGbxCK9ARQpkvOd00anxzri9RNQk0DDCxD+LIl+jYhkzOJiOMMKYEHnHEODjdCw==";
       };
     };
     "@typescript-eslint/experimental-utils-4.33.0" = {
@@ -9994,13 +10156,13 @@ let
         sha512 = "ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==";
       };
     };
-    "@typescript-eslint/parser-5.15.0" = {
+    "@typescript-eslint/parser-5.16.0" = {
       name = "_at_typescript-eslint_slash_parser";
       packageName = "@typescript-eslint/parser";
-      version = "5.15.0";
+      version = "5.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.15.0.tgz";
-        sha512 = "NGAYP/+RDM2sVfmKiKOCgJYPstAO40vPAgACoWPO/+yoYKSgAXIFaBKsV8P0Cc7fwKgvj27SjRNX4L7f4/jCKQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.16.0.tgz";
+        sha512 = "fkDq86F0zl8FicnJtdXakFs4lnuebH6ZADDw6CYQv0UZeIjHvmEw87m9/29nk2Dv5Lmdp0zQ3zDQhiMWQf/GbA==";
       };
     };
     "@typescript-eslint/scope-manager-4.33.0" = {
@@ -10012,22 +10174,22 @@ let
         sha512 = "5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==";
       };
     };
-    "@typescript-eslint/scope-manager-5.15.0" = {
+    "@typescript-eslint/scope-manager-5.16.0" = {
       name = "_at_typescript-eslint_slash_scope-manager";
       packageName = "@typescript-eslint/scope-manager";
-      version = "5.15.0";
+      version = "5.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.15.0.tgz";
-        sha512 = "EFiZcSKrHh4kWk0pZaa+YNJosvKE50EnmN4IfgjkA3bTHElPtYcd2U37QQkNTqwMCS7LXeDeZzEqnsOH8chjSg==";
+        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.16.0.tgz";
+        sha512 = "P+Yab2Hovg8NekLIR/mOElCDPyGgFZKhGoZA901Yax6WR6HVeGLbsqJkZ+Cvk5nts/dAlFKm8PfL43UZnWdpIQ==";
       };
     };
-    "@typescript-eslint/type-utils-5.15.0" = {
+    "@typescript-eslint/type-utils-5.16.0" = {
       name = "_at_typescript-eslint_slash_type-utils";
       packageName = "@typescript-eslint/type-utils";
-      version = "5.15.0";
+      version = "5.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.15.0.tgz";
-        sha512 = "KGeDoEQ7gHieLydujGEFLyLofipe9PIzfvA/41urz4hv+xVxPEbmMQonKSynZ0Ks2xDhJQ4VYjB3DnRiywvKDA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.16.0.tgz";
+        sha512 = "SKygICv54CCRl1Vq5ewwQUJV/8padIWvPgCxlWPGO/OgQLCijY9G7lDu6H+mqfQtbzDNlVjzVWQmeqbLMBLEwQ==";
       };
     };
     "@typescript-eslint/types-4.33.0" = {
@@ -10039,13 +10201,13 @@ let
         sha512 = "zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==";
       };
     };
-    "@typescript-eslint/types-5.15.0" = {
+    "@typescript-eslint/types-5.16.0" = {
       name = "_at_typescript-eslint_slash_types";
       packageName = "@typescript-eslint/types";
-      version = "5.15.0";
+      version = "5.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.15.0.tgz";
-        sha512 = "yEiTN4MDy23vvsIksrShjNwQl2vl6kJeG9YkVJXjXZnkJElzVK8nfPsWKYxcsGWG8GhurYXP4/KGj3aZAxbeOA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.16.0.tgz";
+        sha512 = "oUorOwLj/3/3p/HFwrp6m/J2VfbLC8gjW5X3awpQJ/bSG+YRGFS4dpsvtQ8T2VNveV+LflQHjlLvB6v0R87z4g==";
       };
     };
     "@typescript-eslint/typescript-estree-4.33.0" = {
@@ -10057,22 +10219,22 @@ let
         sha512 = "rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==";
       };
     };
-    "@typescript-eslint/typescript-estree-5.15.0" = {
+    "@typescript-eslint/typescript-estree-5.16.0" = {
       name = "_at_typescript-eslint_slash_typescript-estree";
       packageName = "@typescript-eslint/typescript-estree";
-      version = "5.15.0";
+      version = "5.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.15.0.tgz";
-        sha512 = "Hb0e3dGc35b75xLzixM3cSbG1sSbrTBQDfIScqdyvrfJZVEi4XWAT+UL/HMxEdrJNB8Yk28SKxPLtAhfCbBInA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.16.0.tgz";
+        sha512 = "SE4VfbLWUZl9MR+ngLSARptUv2E8brY0luCdgmUevU6arZRY/KxYoLI/3V/yxaURR8tLRN7bmZtJdgmzLHI6pQ==";
       };
     };
-    "@typescript-eslint/utils-5.15.0" = {
+    "@typescript-eslint/utils-5.16.0" = {
       name = "_at_typescript-eslint_slash_utils";
       packageName = "@typescript-eslint/utils";
-      version = "5.15.0";
+      version = "5.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.15.0.tgz";
-        sha512 = "081rWu2IPKOgTOhHUk/QfxuFog8m4wxW43sXNOMSCdh578tGJ1PAaWPsj42LOa7pguh173tNlMigsbrHvh/mtA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.16.0.tgz";
+        sha512 = "iYej2ER6AwmejLWMWzJIHy3nPJeGDuCqf8Jnb+jAQVoPpmWzwQOfa9hWVB8GIQE5gsCv/rfN4T+AYb/V06WseQ==";
       };
     };
     "@typescript-eslint/visitor-keys-4.33.0" = {
@@ -10084,13 +10246,13 @@ let
         sha512 = "uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==";
       };
     };
-    "@typescript-eslint/visitor-keys-5.15.0" = {
+    "@typescript-eslint/visitor-keys-5.16.0" = {
       name = "_at_typescript-eslint_slash_visitor-keys";
       packageName = "@typescript-eslint/visitor-keys";
-      version = "5.15.0";
+      version = "5.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.15.0.tgz";
-        sha512 = "+vX5FKtgvyHbmIJdxMJ2jKm9z2BIlXJiuewI8dsDYMp5LzPUcuTT78Ya5iwvQg3VqSVdmxyM8Anj1Jeq7733ZQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.16.0.tgz";
+        sha512 = "jqxO8msp5vZDhikTwq9ubyMHqZ67UIvawohr4qF3KhlpL7gzSjOd+8471H3nh5LyABkaI85laEKKU8SnGUK5/g==";
       };
     };
     "@ungap/promise-all-settled-1.1.2" = {
@@ -10120,49 +10282,58 @@ let
         sha1 = "c585c0bdb94210198945c6597e4fe23d6e63e084";
       };
     };
-    "@vercel/build-utils-2.14.0" = {
+    "@vercel/build-utils-2.15.0" = {
       name = "_at_vercel_slash_build-utils";
       packageName = "@vercel/build-utils";
-      version = "2.14.0";
+      version = "2.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/build-utils/-/build-utils-2.14.0.tgz";
-        sha512 = "Jdl0FkEJbAdB5oqpolIK4m/FO9GtFK86gKpFJt5jdnd5tMLWdPf2vr8uZkxvfs8wW5KdYXt660OSoWHpfdYu5w==";
+        url = "https://registry.npmjs.org/@vercel/build-utils/-/build-utils-2.15.0.tgz";
+        sha512 = "0SwM19Mn//v5RuLG5gjuZVOnn1iYqJDMA+N0qm8cK7bTBEWMiTKqF+VmdXkvg6Y6X6rKviAJnOBUUUP6va6Xaw==";
       };
     };
-    "@vercel/go-1.3.0" = {
+    "@vercel/go-1.3.1" = {
       name = "_at_vercel_slash_go";
       packageName = "@vercel/go";
-      version = "1.3.0";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/go/-/go-1.3.0.tgz";
-        sha512 = "eMt4xPq658dFEpmkpXLoj+PX6k15ovwvXX0FlCAcMiQW8JkQcHVXnROnWpngsyMOfTFocYciMAsebtavYwQ6gw==";
+        url = "https://registry.npmjs.org/@vercel/go/-/go-1.3.1.tgz";
+        sha512 = "mNo0DWfc49trswz53Gf0Km7KKdOW1zvlBEP6ZWhEhnEjRcNMHZaLg3dq3jWfttLaQ7ihJ+VOyDImd0NX23C42A==";
       };
     };
-    "@vercel/node-1.13.0" = {
+    "@vercel/node-1.14.0" = {
       name = "_at_vercel_slash_node";
       packageName = "@vercel/node";
-      version = "1.13.0";
+      version = "1.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/node/-/node-1.13.0.tgz";
-        sha512 = "AqdUuJC0+r3q1lcL+Knjb+dHsSDSCRfwFPJ7odRkHO7sfoAkhJI4RussIDFTF7Yvt0e+GmWuYGFAgwSiv4FWEg==";
+        url = "https://registry.npmjs.org/@vercel/node/-/node-1.14.0.tgz";
+        sha512 = "UAb1qQMeTkSXz95yljJpz0MyTzcj++B/1XR0vKFZOs2CEfSkBO1DjzX6BkaKriaihBdbGM/X9UoMJfWfUBBn8Q==";
       };
     };
-    "@vercel/python-2.2.0" = {
+    "@vercel/node-bridge-2.2.0" = {
+      name = "_at_vercel_slash_node-bridge";
+      packageName = "@vercel/node-bridge";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vercel/node-bridge/-/node-bridge-2.2.0.tgz";
+        sha512 = "ydYlZyIQfsuriF6qTt/F4vaAt+nb4ZKhLEl2o5AQFa5ED7LoPS5w01Xbujy+25pqS1ODu8/bsqOCUSX8y/+tSQ==";
+      };
+    };
+    "@vercel/python-2.2.1" = {
       name = "_at_vercel_slash_python";
       packageName = "@vercel/python";
-      version = "2.2.0";
+      version = "2.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/python/-/python-2.2.0.tgz";
-        sha512 = "6DQxYZtB5IOkpeVSmjjKkTOLQcUmslVWwI+7GRNabairY0qqdoW7gfWctMQDNrJ3hy8vVdc9jOMBeRKWTyrDYQ==";
+        url = "https://registry.npmjs.org/@vercel/python/-/python-2.2.1.tgz";
+        sha512 = "UxftYfkXX+e+5aQK8D3j+N0zb8ob4KFjdbLCnWLCMlxg0lJwD432zArgYgc0BSMrZrHqdiWMvPxIgKkad2takA==";
       };
     };
-    "@vercel/ruby-1.3.0" = {
+    "@vercel/ruby-1.3.1" = {
       name = "_at_vercel_slash_ruby";
       packageName = "@vercel/ruby";
-      version = "1.3.0";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/ruby/-/ruby-1.3.0.tgz";
-        sha512 = "98PTOukChScYXekWbDxPQEUCoX66W4188yx4Q4qiLTJgYRHsvQ5oWtNL5N0sz80mmYCk6aJglwnPE1d7tvgAmQ==";
+        url = "https://registry.npmjs.org/@vercel/ruby/-/ruby-1.3.1.tgz";
+        sha512 = "stdlKpBUgQT/AxLz+xFpIy2m8xYr7nOA+hjq+MprktWu4RsyIeltSYX49Ju7DNPXdHxyAWxW6tnVENNvh1SOxA==";
       };
     };
     "@vscode/emmet-helper-2.8.4" = {
@@ -10183,13 +10354,13 @@ let
         sha512 = "ps/yJ/9ToUZtR1dHfWi1mDXtep1VoyyrmGKC3UnIbScToRQvbUjyy1VMqnMEW3EpMmC3g7+pyThIPtPyCLHyow==";
       };
     };
-    "@vue/cli-overlay-4.5.16" = {
+    "@vue/cli-overlay-4.5.17" = {
       name = "_at_vue_slash_cli-overlay";
       packageName = "@vue/cli-overlay";
-      version = "4.5.16";
+      version = "4.5.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.16.tgz";
-        sha512 = "RJB9I/3OMhycm0Hn0ArC2/2UGHJTldujPWZ0FDureX3YbK5CaE0Zfjg+qgp1i2HzIoIGPf25u6LLUsxPngKQ4w==";
+        url = "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.5.17.tgz";
+        sha512 = "QKKp66VbMg+X8Qh0wgXSwgxLfxY7EIkZkV6bZ6nFqBx8xtaJQVDbTL+4zcUPPA6nygbIcQ6gvTinNEqIqX6FUQ==";
       };
     };
     "@vue/cli-plugin-eslint-4.5.12" = {
@@ -10201,13 +10372,13 @@ let
         sha512 = "nbjGJkWxo/xdD32DwvnEAUwkWYsObpqNk9NuU7T62ehdzHPzz58o3j03YZ7a7T7Le8bYyOWMYsdNfz63F+XiZQ==";
       };
     };
-    "@vue/cli-plugin-router-4.5.16" = {
+    "@vue/cli-plugin-router-4.5.17" = {
       name = "_at_vue_slash_cli-plugin-router";
       packageName = "@vue/cli-plugin-router";
-      version = "4.5.16";
+      version = "4.5.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.5.16.tgz";
-        sha512 = "aaroSwzSXo/2TNG7MFa6hyQMfXGqehvpdnZazTEn2N3Q1jxI/1jjeDEjXjA9mkgiBG7fY09ykRw1ORwEx9kScQ==";
+        url = "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.5.17.tgz";
+        sha512 = "9r9CSwqv2+39XHQPDZJ0uaTtTP7oe0Gx17m7kBhHG3FA7R7AOSk2aVzhHZmDRhzlOxjx9kQSvrOSMfUG0kV4dQ==";
       };
     };
     "@vue/cli-plugin-typescript-4.5.13" = {
@@ -10237,49 +10408,49 @@ let
         sha512 = "CKAZN4iokMMsaUyJRU22oUAz3oS/X9sVBSKAF2/shFBV5xh3jqAlKl8OXZYz4cXGFLA6djNuYrniuLAo7Ku97A==";
       };
     };
-    "@vue/cli-shared-utils-4.5.16" = {
+    "@vue/cli-shared-utils-4.5.17" = {
       name = "_at_vue_slash_cli-shared-utils";
       packageName = "@vue/cli-shared-utils";
-      version = "4.5.16";
+      version = "4.5.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.16.tgz";
-        sha512 = "9VrTpMmK2fE5JQlaXP79Xdhxv+opAsqtnj7QoFqahcz01lzLaBzzuag7W5oduhwqenrHRG3vaRUs563fwbOtZA==";
+        url = "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.17.tgz";
+        sha512 = "VoFNdxvTW4vZu3ne+j1Mf7mU99J2SAoRVn9XPrsouTUUJablglM8DASk7Ixhsh6ymyL/W9EADQFR6Pgj8Ujjuw==";
       };
     };
-    "@vue/cli-shared-utils-5.0.3" = {
+    "@vue/cli-shared-utils-5.0.4" = {
       name = "_at_vue_slash_cli-shared-utils";
       packageName = "@vue/cli-shared-utils";
-      version = "5.0.3";
+      version = "5.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-5.0.3.tgz";
-        sha512 = "xAHxFDYVohHWXOLdmGvka3ffQcRgKdACempFQkGJX74Q7OBf0zPf5WH+vQXhlR17eA3LmWdY+Nv8OfsIGim6Fg==";
+        url = "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-5.0.4.tgz";
+        sha512 = "nfAsj8Nopu5sVHMBIaut/YL7NaJFVmTBSTJD7LM17jc5uytrM9JwiRtzCiv3JWRBG78Xdb/s2Xb/1YR4fkdmkQ==";
       };
     };
-    "@vue/cli-ui-5.0.3" = {
+    "@vue/cli-ui-5.0.4" = {
       name = "_at_vue_slash_cli-ui";
       packageName = "@vue/cli-ui";
-      version = "5.0.3";
+      version = "5.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-ui/-/cli-ui-5.0.3.tgz";
-        sha512 = "XFJPPKa8MWQL1dGWHHbzBvJgj28Rybt3KuCWU5YZWRAqxMVRiTKjvpohYWsDnaKawe/fGDDVcPKf6HmOoAEnnQ==";
+        url = "https://registry.npmjs.org/@vue/cli-ui/-/cli-ui-5.0.4.tgz";
+        sha512 = "6RkvN5XphYHfBUhKS7wG2ChrEhdLx05v6ppq53wy0/3N126j/5UM+fl48vbnMzCeRgpTn75IRI89ysPqiDyX3A==";
       };
     };
-    "@vue/cli-ui-addon-webpack-5.0.3" = {
+    "@vue/cli-ui-addon-webpack-5.0.4" = {
       name = "_at_vue_slash_cli-ui-addon-webpack";
       packageName = "@vue/cli-ui-addon-webpack";
-      version = "5.0.3";
+      version = "5.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-ui-addon-webpack/-/cli-ui-addon-webpack-5.0.3.tgz";
-        sha512 = "ie922PUHlDYakUtDvzScV+F1UuQR+BYUcYP/nr2Gn9hQkbaUPsxK/TF+2Xhh+HaC1vcDf59UrBMXG/yx4XKzQg==";
+        url = "https://registry.npmjs.org/@vue/cli-ui-addon-webpack/-/cli-ui-addon-webpack-5.0.4.tgz";
+        sha512 = "QVF5rG9qOVizdq4iZ4NhqwLEigOH+Ulhx9IZpaoLh0VlLqbqrwuHs4QOKNFsuvdGM4LHXCp8XH6EKFScPbJ9Mg==";
       };
     };
-    "@vue/cli-ui-addon-widgets-5.0.3" = {
+    "@vue/cli-ui-addon-widgets-5.0.4" = {
       name = "_at_vue_slash_cli-ui-addon-widgets";
       packageName = "@vue/cli-ui-addon-widgets";
-      version = "5.0.3";
+      version = "5.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-ui-addon-widgets/-/cli-ui-addon-widgets-5.0.3.tgz";
-        sha512 = "H6mdmAM8hip/fHL/YnT3xDzzjaHUsQ5zDf8Sti0QgjNn3QBVq5sCIllKK3MQhQk5LPu6y+Js+q4/omgzdKpDEw==";
+        url = "https://registry.npmjs.org/@vue/cli-ui-addon-widgets/-/cli-ui-addon-widgets-5.0.4.tgz";
+        sha512 = "KmJUazIEZWhy0UaFHV5Uy8AXpTqJgCPizEHhtxs3f8mIkUnwWjcQFG7FGfsAW7RgsN8hwcSZ5ZFjmXhllVwrkw==";
       };
     };
     "@vue/compiler-core-3.2.31" = {
@@ -10912,247 +11083,247 @@ let
         sha512 = "4wOae+5N2RZ+CZXd9ZKwkaDi55IxrSTOjHpxTvQQ4fomtOJmqVxbmICA9jE1jvnqNhpfgz8cnfFagG86wV/xLQ==";
       };
     };
-    "@xmpp/base64-0.12.1" = {
+    "@xmpp/base64-0.13.1" = {
       name = "_at_xmpp_slash_base64";
       packageName = "@xmpp/base64";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/base64/-/base64-0.12.1.tgz";
-        sha512 = "CpPQdhEAveROH5q7GkCMryCMsqIDu4RJOaYi5GJ7oxyrWpgv6bi5225hAD50kAOC4q+NWyksWiLnUwf2+C3kDA==";
+        url = "https://registry.npmjs.org/@xmpp/base64/-/base64-0.13.1.tgz";
+        sha512 = "ifzj81zZc8uhL9Nl8us2NUDfLt3qsbHr8lwdKmrDMk/9unY8aIGjzHdNBJoFFyJe8GSo1NFq3mS7X+X0TwkQYw==";
       };
     };
-    "@xmpp/client-0.12.1" = {
+    "@xmpp/client-0.13.1" = {
       name = "_at_xmpp_slash_client";
       packageName = "@xmpp/client";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/client/-/client-0.12.1.tgz";
-        sha512 = "M9VsUd3wnZHrskHCGAPUbabH+6zIVAqlE5gmV1gTgzM+TwXY3Sz6q3k9Yfz0ERWF9qbOT6+hY3G7spNs9NNVyw==";
+        url = "https://registry.npmjs.org/@xmpp/client/-/client-0.13.1.tgz";
+        sha512 = "DA+pOkWliTKN5C0Bod4rqlZ4hj/CiqQDHRhQgpx7Y/69qsUwK8M/9C02qylpyZSL2TFGzOM6ZMhr/jlMCsL9jQ==";
       };
     };
-    "@xmpp/client-core-0.12.1" = {
+    "@xmpp/client-core-0.13.1" = {
       name = "_at_xmpp_slash_client-core";
       packageName = "@xmpp/client-core";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/client-core/-/client-core-0.12.1.tgz";
-        sha512 = "Gml+Z4qlWgHfFVB2ALfhOkKr9YD5X7NT8JgwXq0xk+P8TbUleGgmrkAaX2fzQbnntuG6puFk3+9C2a7Q71pwXQ==";
+        url = "https://registry.npmjs.org/@xmpp/client-core/-/client-core-0.13.1.tgz";
+        sha512 = "ANVcqzgDCmmUj/R9pf5rJGH41mL16Bo+DRJ+2trKoRHe9p5s0p6IssjhJtTOSVx6oh2ilPXMB8qoMPjTGzY6cw==";
       };
     };
-    "@xmpp/connection-0.12.1" = {
+    "@xmpp/connection-0.13.1" = {
       name = "_at_xmpp_slash_connection";
       packageName = "@xmpp/connection";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/connection/-/connection-0.12.1.tgz";
-        sha512 = "AdOt/fMjuCT+ru6v6tYKdvP42AH2P+pqyL4M71VI9kprifDV03L/Ud8jzCqSVpJUEXDFEAukDG1KNwUkBEIaXw==";
+        url = "https://registry.npmjs.org/@xmpp/connection/-/connection-0.13.1.tgz";
+        sha512 = "A8ojaVRrvGtvRTXcWiOJMnBPAytLFvsz18g/jO9PbnhzuqqeJ6LxmCtyaKqchMdX0lhuZpo0JUgCSPnZ68tXrQ==";
       };
     };
-    "@xmpp/connection-tcp-0.12.1" = {
+    "@xmpp/connection-tcp-0.13.1" = {
       name = "_at_xmpp_slash_connection-tcp";
       packageName = "@xmpp/connection-tcp";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/connection-tcp/-/connection-tcp-0.12.1.tgz";
-        sha512 = "axoxsyyDifNEaKK3gVoVMsCtKm1VsXOdzbGwtvMHwRxiArlbSxLpHLFWv6hjH63BJvNSet1txzHt/0+rrVLWVg==";
+        url = "https://registry.npmjs.org/@xmpp/connection-tcp/-/connection-tcp-0.13.1.tgz";
+        sha512 = "yTVrj5o5rPVbZT5ql5ljzzIZHnLkCuyTNEQpiU9IYvfjWjy4+E2DreUnpRf3IAbpARkMoPq5uQJchH0RE3WBjg==";
       };
     };
-    "@xmpp/debug-0.12.1" = {
+    "@xmpp/debug-0.13.0" = {
       name = "_at_xmpp_slash_debug";
       packageName = "@xmpp/debug";
-      version = "0.12.1";
+      version = "0.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/debug/-/debug-0.12.1.tgz";
-        sha512 = "nQ9w+lkholzAvDKBvPTbKLDAyq5LhTjQ5Qf7vWPqgP56JHvDDAFdQ/YPRJVOFFB5L08/c3+/6AjEz0TD8iSXYA==";
+        url = "https://registry.npmjs.org/@xmpp/debug/-/debug-0.13.0.tgz";
+        sha512 = "4RCN0UsGLmfzzOdDAfzpm8luKprcdo9oRf0cnKqU/TKmbw5PN5F+TqX4we7uc4xHKzpu0rNyEhusKkVOfe3xzw==";
       };
     };
-    "@xmpp/error-0.12.1" = {
+    "@xmpp/error-0.13.1" = {
       name = "_at_xmpp_slash_error";
       packageName = "@xmpp/error";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/error/-/error-0.12.1.tgz";
-        sha512 = "n5UyU25Pl6x1GMAX5tuJPmY9I+cM03iQF06ENOPxPHHLf3TBnoCtpJRP/oONHXK84vpxU9uJBuMAMHWIaWprrQ==";
+        url = "https://registry.npmjs.org/@xmpp/error/-/error-0.13.1.tgz";
+        sha512 = "tKecj36xIGLhLctdYhUOxWs+ZdiJpl0Tfp/GhfrUCKLHj/wq14d62SP9kxa0sDNKOY1uqRq2N9gWZBQHuP+r2Q==";
       };
     };
-    "@xmpp/events-0.12.1" = {
+    "@xmpp/events-0.13.1" = {
       name = "_at_xmpp_slash_events";
       packageName = "@xmpp/events";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/events/-/events-0.12.1.tgz";
-        sha512 = "8kSwhY4ZxuXVG9QCAdQZijJvde0+/VBHZJw0Ase1ZcrBjlL46UfRwVNpru7SBZMIZB8CLav4AaArzlTFDRJljg==";
+        url = "https://registry.npmjs.org/@xmpp/events/-/events-0.13.1.tgz";
+        sha512 = "c538zWUoD7KfMzMWGHyJkXvRYE5exzVjK6NAsMtfNtbVqw9SXJJaGLvDvYSXOQmKQaZz5guUuIUGiHJbr7yjsA==";
       };
     };
-    "@xmpp/id-0.12.1" = {
+    "@xmpp/id-0.13.1" = {
       name = "_at_xmpp_slash_id";
       packageName = "@xmpp/id";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/id/-/id-0.12.1.tgz";
-        sha512 = "tIPSDyYn1Ah2JPmaD9gSHqHYG3nWKzxISGJf0EMeAQ1Hd4pldNv4pKv+mO2ZVrHQie0oc3KC409QASmYfVP7xA==";
+        url = "https://registry.npmjs.org/@xmpp/id/-/id-0.13.1.tgz";
+        sha512 = "ivc7kxfk5sU6PspdQvglsibcWRCr40nbaPEvGYbXO8ymFN6qps91DPlEt0Cc0XJExq7PXo0Yt7DACfe8f7K03g==";
       };
     };
-    "@xmpp/iq-0.12.1" = {
+    "@xmpp/iq-0.13.1" = {
       name = "_at_xmpp_slash_iq";
       packageName = "@xmpp/iq";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/iq/-/iq-0.12.1.tgz";
-        sha512 = "XlYnbCUWS6CgWrLUb9aWl0IJ7FfHbTxSlBybQb9zsOJEHb9J3FBV6SZwNUgmtnTwYtgIt6RTSvZtpGDX7Q5Xcw==";
+        url = "https://registry.npmjs.org/@xmpp/iq/-/iq-0.13.1.tgz";
+        sha512 = "YyJj6up2aFTobTUmjdX86vs0+/WIB8i88QQjDDlzSKdMDDXgrB8B8JAMlEBfAsruAv/ZIwUnE4/yqCeMAehTuA==";
       };
     };
-    "@xmpp/jid-0.12.1" = {
+    "@xmpp/jid-0.13.1" = {
       name = "_at_xmpp_slash_jid";
       packageName = "@xmpp/jid";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/jid/-/jid-0.12.1.tgz";
-        sha512 = "PdXJy17Os5ADr03I+JXIWYLExEZjTW7AH23CwvbS8kLQh/CNrfhbFynW9krUZ4Lf4YAFn88oOsFsQRNgsAj/Vw==";
+        url = "https://registry.npmjs.org/@xmpp/jid/-/jid-0.13.1.tgz";
+        sha512 = "E5ulk4gfPQwPY71TWXapiWzoxxAJz3LP0bDIUXIfgvlf1/2QKP3EcYQ7o+qmI0cLEZwWmwluRGouylqhyuwcAw==";
       };
     };
-    "@xmpp/middleware-0.12.1" = {
+    "@xmpp/middleware-0.13.1" = {
       name = "_at_xmpp_slash_middleware";
       packageName = "@xmpp/middleware";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/middleware/-/middleware-0.12.1.tgz";
-        sha512 = "XZTXKuV3xre9tQe2X2bX20jChagp4hrL83LRgpRHsp3V4SzKsiBWDXb+0rNmyhKrWAeJOxUNPZ7HlV/1ZD5fvA==";
+        url = "https://registry.npmjs.org/@xmpp/middleware/-/middleware-0.13.1.tgz";
+        sha512 = "t7kws9KMgaQURCDMcPjJOm/sEcC2Gs2YtpE35NaTR87NSwr8yZ37ZJL5Kki3Z4qhL6nhMXJPAprc6uqBn5q3Og==";
       };
     };
-    "@xmpp/reconnect-0.12.1" = {
+    "@xmpp/reconnect-0.13.1" = {
       name = "_at_xmpp_slash_reconnect";
       packageName = "@xmpp/reconnect";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/reconnect/-/reconnect-0.12.1.tgz";
-        sha512 = "uORfO/iY2VC4ZK3/dJSd4meU0j96+qeybj62K7sexxJtcw/qM8GAFfpWDsIu/6MhQZ0dOweQ2iZn3gSk66WjMg==";
+        url = "https://registry.npmjs.org/@xmpp/reconnect/-/reconnect-0.13.1.tgz";
+        sha512 = "m/j/mTU7b3cOXP78uGzBbihmJMuXCYcTcwsTHlexj6tj6CE/vpuLNgxvf6pPkO7B9lH0HfezqU7ExHpS+4Nfaw==";
       };
     };
-    "@xmpp/resolve-0.12.1" = {
+    "@xmpp/resolve-0.13.1" = {
       name = "_at_xmpp_slash_resolve";
       packageName = "@xmpp/resolve";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/resolve/-/resolve-0.12.1.tgz";
-        sha512 = "1enBxGpt/0frifKjwkHxsVHOCKC3B1BdcFbrQCc+FQEcVLIsFgAKLAFOp18p0Y1pxqT+O/4IZ4CUUqNFpfyXKg==";
+        url = "https://registry.npmjs.org/@xmpp/resolve/-/resolve-0.13.1.tgz";
+        sha512 = "Lgsl6C/uJCxmYr0jWWOCJMqYvKi5WzN6loZwP7f6ov2nLMOMEZ7TSb66z393/7Pd0hy6DqZeggESMAFOkQH+vw==";
       };
     };
-    "@xmpp/resource-binding-0.12.1" = {
+    "@xmpp/resource-binding-0.13.1" = {
       name = "_at_xmpp_slash_resource-binding";
       packageName = "@xmpp/resource-binding";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/resource-binding/-/resource-binding-0.12.1.tgz";
-        sha512 = "AV3NGIyNBnArvwShNYdsTVHcLPDDXDzDoRk07ZxztN/D5sYQAzhbHK/5BIIkIEOeR91h4qXpSv69QLEYmWj0Ug==";
+        url = "https://registry.npmjs.org/@xmpp/resource-binding/-/resource-binding-0.13.1.tgz";
+        sha512 = "S6PGlfufDTTDlh21ynyJrGR0sMeEYIRq+BKUl4QhsR19BvP0RUW0t8Ypx1QwDY3++ihqRjvCllCmtmFMY1iJsQ==";
       };
     };
-    "@xmpp/sasl-0.12.1" = {
+    "@xmpp/sasl-0.13.1" = {
       name = "_at_xmpp_slash_sasl";
       packageName = "@xmpp/sasl";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/sasl/-/sasl-0.12.1.tgz";
-        sha512 = "KuxuiEX2bhZCB9aYYJjVpVT1MmQHv8BPZGEyRA6YjVqhWCQUSP+OtKV9zy6hLBDBVfd45ybYVC+sMM0i9Y2R9Q==";
+        url = "https://registry.npmjs.org/@xmpp/sasl/-/sasl-0.13.1.tgz";
+        sha512 = "ynhKsL43EtezqJ9s476leHzliMudCAFS4xNG5x4ZFHoc7Iz5J6p6jFI89LGgnk9DeIdk9A/CFrPWTdyjhvyiTQ==";
       };
     };
-    "@xmpp/sasl-anonymous-0.12.1" = {
+    "@xmpp/sasl-anonymous-0.13.1" = {
       name = "_at_xmpp_slash_sasl-anonymous";
       packageName = "@xmpp/sasl-anonymous";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/sasl-anonymous/-/sasl-anonymous-0.12.1.tgz";
-        sha512 = "9A5y9FdwhT8cmTEVkJGl6UV+iYmgPqgbitnFI6DdkS4HzTLQVjV7SjXayrLoOjVniKHnxHOBEbjcQG/H5iHW4w==";
+        url = "https://registry.npmjs.org/@xmpp/sasl-anonymous/-/sasl-anonymous-0.13.1.tgz";
+        sha512 = "l0Bqmva7xw10p8MelD2bHO10LwCPz6CEd/t5xO+Kw98hjI9lX6k5cxW7frvdnxRwPxJbGTciTQKHokYWR4luaA==";
       };
     };
-    "@xmpp/sasl-plain-0.12.1" = {
+    "@xmpp/sasl-plain-0.13.1" = {
       name = "_at_xmpp_slash_sasl-plain";
       packageName = "@xmpp/sasl-plain";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/sasl-plain/-/sasl-plain-0.12.1.tgz";
-        sha512 = "Ym6qCPA86vssLVvt/noiA/YgT6T/IxA5281xinOsZP9wtP/csqbjcBDRD7pk3HAmHhEGwUH61eydbIKHHw7o5w==";
+        url = "https://registry.npmjs.org/@xmpp/sasl-plain/-/sasl-plain-0.13.1.tgz";
+        sha512 = "Xx4ay67Mg6aQFeelTZuY5QatP3cCJsArAuD0AozHKzjUWzyLqqydsDS+yFN23pxkOZPGgyYVebc4gKti4jZ+GA==";
       };
     };
-    "@xmpp/sasl-scram-sha-1-0.12.1" = {
+    "@xmpp/sasl-scram-sha-1-0.13.1" = {
       name = "_at_xmpp_slash_sasl-scram-sha-1";
       packageName = "@xmpp/sasl-scram-sha-1";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/sasl-scram-sha-1/-/sasl-scram-sha-1-0.12.1.tgz";
-        sha512 = "h9OenKiaJDYZCxv2FyMBpoTdmYu2oxy/FIM8FXMgnPJrCru7kBepksIb8lOfcyTyFxbQJk/Vrf8zyBUdAm6Jyg==";
+        url = "https://registry.npmjs.org/@xmpp/sasl-scram-sha-1/-/sasl-scram-sha-1-0.13.1.tgz";
+        sha512 = "qWyR5+v10pykTxQnKfNVUnCnZisA/UmC4Po5EQSgA5dNRuzraqwk/bH5PVi9+M0OcbtdNs9wCO2Hv06YA9AjwA==";
       };
     };
-    "@xmpp/session-establishment-0.12.1" = {
+    "@xmpp/session-establishment-0.13.1" = {
       name = "_at_xmpp_slash_session-establishment";
       packageName = "@xmpp/session-establishment";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/session-establishment/-/session-establishment-0.12.1.tgz";
-        sha512 = "6+uffTA/Wy5JmoZIs3uk0oPKuLrb4MEzwo6J6QZYPHC5pwKH9dYaQ+Xjw03qaac8i73HREhK5p2cA5zpxPZoRw==";
+        url = "https://registry.npmjs.org/@xmpp/session-establishment/-/session-establishment-0.13.1.tgz";
+        sha512 = "uba6BZeeSJtbHtU+pCumSiX/zuc9hUdN5dVRNjvRjr/ZcXLMuC5MroRyrld+fm/rQYQLJjF4BcIaxvysXTCAGA==";
       };
     };
-    "@xmpp/starttls-0.12.1" = {
+    "@xmpp/starttls-0.13.1" = {
       name = "_at_xmpp_slash_starttls";
       packageName = "@xmpp/starttls";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/starttls/-/starttls-0.12.1.tgz";
-        sha512 = "AZPXppxar9n1J1IOG39xkZf/eoPQXhq3y5/tVOEyeG+WRcJGddeYJleXUm4Jwol+PTc0l0F6tlThPlhrIt/8vA==";
+        url = "https://registry.npmjs.org/@xmpp/starttls/-/starttls-0.13.1.tgz";
+        sha512 = "rQumwpbD5+yclcXgPNDF7Jg1mzDFejHKZehD6JRti+Emsxayst/qFDq3uMO3x6P+nKexL4mMoKUtWHlJM7BUGw==";
       };
     };
-    "@xmpp/stream-features-0.12.1" = {
+    "@xmpp/stream-features-0.13.1" = {
       name = "_at_xmpp_slash_stream-features";
       packageName = "@xmpp/stream-features";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/stream-features/-/stream-features-0.12.1.tgz";
-        sha512 = "OautwK8DMSZSeAU9YFt6wdmHutbi7I/Gy5bzR12UYgtjFcgZ2FUNhj4kYOFcwOhCG8hKyGgMvv0V7/0iDr40QA==";
+        url = "https://registry.npmjs.org/@xmpp/stream-features/-/stream-features-0.13.1.tgz";
+        sha512 = "yZg+CXBRVXsIQzu4SI5UYlDZHmg3wY6YXy4MbeLiI4O8OQ/oCz6OHJlHKUnFl+cGmjDXvhN4Ga6pRhbEIIqM/g==";
       };
     };
-    "@xmpp/stream-management-0.12.1" = {
+    "@xmpp/stream-management-0.13.1" = {
       name = "_at_xmpp_slash_stream-management";
       packageName = "@xmpp/stream-management";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/stream-management/-/stream-management-0.12.1.tgz";
-        sha512 = "3fsSGFAKZ+SpdvQQ+cgPUdZcekI66rpMeUMDJMiWG5hGTicp2PfoDVjAvlPlgsTmIudm2UdNVW62MMZxnRnjbQ==";
+        url = "https://registry.npmjs.org/@xmpp/stream-management/-/stream-management-0.13.1.tgz";
+        sha512 = "06dhJAlGn+MU5ESrvIUg5xOS7azVE0swq86cx4SCv7t5dWL1WBj4xg2qigLn1hMnFkDw0bO/SOikXTxqGii/hA==";
       };
     };
-    "@xmpp/tcp-0.12.1" = {
+    "@xmpp/tcp-0.13.1" = {
       name = "_at_xmpp_slash_tcp";
       packageName = "@xmpp/tcp";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/tcp/-/tcp-0.12.1.tgz";
-        sha512 = "sILbQli4EpqfsTmeVj/INlhA0ZYUYdRkp9wtKbDaIv53QAUaD62L37TYXFCUEnyIxOpxdecNAMbgpnarv15bcg==";
+        url = "https://registry.npmjs.org/@xmpp/tcp/-/tcp-0.13.1.tgz";
+        sha512 = "N/AQBT+6Updb/E8A1SYdMbIJGaRFG8+7+bkm9MLw44UsihA6Yg0fmvC02O+BjNg3tXGkcMYLhu/8NYpjK4NlQg==";
       };
     };
-    "@xmpp/tls-0.12.1" = {
+    "@xmpp/tls-0.13.1" = {
       name = "_at_xmpp_slash_tls";
       packageName = "@xmpp/tls";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/tls/-/tls-0.12.1.tgz";
-        sha512 = "KMMEzRQCdSTN7uCL2CmRcxvlfKcRSGwHrqKuGflvYAzvuQEJaRS2vAzvXmP2derEnJzG1Jb4Fle888MRjifWbg==";
+        url = "https://registry.npmjs.org/@xmpp/tls/-/tls-0.13.1.tgz";
+        sha512 = "ecOmnrZmRbMMPDdvDNirw7sYQHt//YV7UJgfS4c9M+R5ljP2eUJiAiotEEykjKJ6CJPMMxdTnrLLP3ullsgfog==";
       };
     };
-    "@xmpp/websocket-0.12.1" = {
+    "@xmpp/websocket-0.13.1" = {
       name = "_at_xmpp_slash_websocket";
       packageName = "@xmpp/websocket";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/websocket/-/websocket-0.12.1.tgz";
-        sha512 = "r1R2uzqSc5uFEImWZCI43oduha0jZqTS8iCmryB4aSDsaevQgeZgOOSpv8y4Jui5v5C1asnQzFb7H164SUcGkw==";
+        url = "https://registry.npmjs.org/@xmpp/websocket/-/websocket-0.13.1.tgz";
+        sha512 = "UyMYyy/0Cm2UtVoAlhfV31u6LzGrBUU0h7I0qGCq1yYPQpscehNl8lXE4vmB8OfpeDvSZmvGk2vJAvGxzunoDQ==";
       };
     };
-    "@xmpp/xml-0.12.1" = {
+    "@xmpp/xml-0.13.1" = {
       name = "_at_xmpp_slash_xml";
       packageName = "@xmpp/xml";
-      version = "0.12.1";
+      version = "0.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmpp/xml/-/xml-0.12.1.tgz";
-        sha512 = "3SIr/jmyHDMkCzOtcH03YG9qTAJeE7auPg/V7e9tJrhiW329hNMhg8+VAO72Tp1AOi5bMhma09ACRS2Y9bMOKA==";
+        url = "https://registry.npmjs.org/@xmpp/xml/-/xml-0.13.1.tgz";
+        sha512 = "GMfYB3PKY9QzsMnl3dPohgPBGd1JQTBanKOaZexJCSYJN2cdYLU2HGhjMtDlGSno6h9U+t0oO7r0igsJwyigwg==";
       };
     };
     "@xstate/fsm-1.6.5" = {
@@ -11614,13 +11785,13 @@ let
         sha1 = "6a7990437ca736d5e1288db92bd3266d5f5cb2aa";
       };
     };
-    "addons-linter-4.9.0" = {
+    "addons-linter-4.14.0" = {
       name = "addons-linter";
       packageName = "addons-linter";
-      version = "4.9.0";
+      version = "4.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/addons-linter/-/addons-linter-4.9.0.tgz";
-        sha512 = "dknaL2zU9faJHpObJSFhh7RKM7S2uUImQL0I/tIny862wp8u6O7EhFu1ktdFRLO3NirHOTdn0366EcRrbAt1yg==";
+        url = "https://registry.npmjs.org/addons-linter/-/addons-linter-4.14.0.tgz";
+        sha512 = "TH3/PMS4Dd0Jf3kXW7DLXseHZcD7ZbnfnQAztkrP4YC0HQKQVZJ+lGOuDOGUtVQDMwC/eEdvHvZoRnHDer5qkg==";
       };
     };
     "addons-moz-compare-1.2.0" = {
@@ -11839,6 +12010,15 @@ let
         sha512 = "bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==";
       };
     };
+    "ajv-8.11.0" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "8.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz";
+        sha512 = "wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==";
+      };
+    };
     "ajv-8.9.0" = {
       name = "ajv";
       packageName = "ajv";
@@ -12190,13 +12370,13 @@ let
         sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
       };
     };
-    "ansi-regex-3.0.0" = {
+    "ansi-regex-3.0.1" = {
       name = "ansi-regex";
       packageName = "ansi-regex";
-      version = "3.0.0";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz";
-        sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz";
+        sha512 = "+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==";
       };
     };
     "ansi-regex-4.1.1" = {
@@ -13468,6 +13648,15 @@ let
         sha512 = "+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==";
       };
     };
+    "asn1js-2.3.2" = {
+      name = "asn1js";
+      packageName = "asn1js";
+      version = "2.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asn1js/-/asn1js-2.3.2.tgz";
+        sha512 = "IYzujqcOk7fHaePpTyvD3KPAA0AjT3qZlaQAw76zmPPAV/XTjhO+tbHjbFbIQZIhw+fk9wCSfb0Z6K+JHe8Q2g==";
+      };
+    };
     "assert-1.5.0" = {
       name = "assert";
       packageName = "assert";
@@ -14044,22 +14233,22 @@ let
         sha1 = "00f35b2d27ac91b1f0d3ef2084c98cf1d1f0adc3";
       };
     };
-    "aws-sdk-2.1085.0" = {
+    "aws-sdk-2.1097.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.1085.0";
+      version = "2.1097.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1085.0.tgz";
-        sha512 = "zL20v5QXoSsb2S6RKAhDmfnZYUIRldR93ihJ6mCYrw6Zl+Dir2SVmALy++U/zduDbKB4NaU72mscumx2RWc7Hg==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1097.0.tgz";
+        sha512 = "fChMDiSfWcW0EUWmiqlyc+VAIXKH0w7BBruL3cVWSwO+5oA5A9juGF4NCBV2/KAHzaKaG0hXKPE49Wh6Lq74ag==";
       };
     };
-    "aws-sdk-2.1096.0" = {
+    "aws-sdk-2.1101.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.1096.0";
+      version = "2.1101.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1096.0.tgz";
-        sha512 = "q+hotU57U8bGpz1pf5CkO4z630ay0xGJ9HedahKPZ0Xk3/X0GH+QFYPBWJ5IMTtO30bjfPH0zTaL2vJmMXLBrQ==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1101.0.tgz";
+        sha512 = "7lyVb7GXGl8yyu954Qxf6vU6MrcgFlmKyTLBVXJyo3Phn1OB+qOExA55WtSC6gQiQ7e5TeWOn1RUHLg30ywTBA==";
       };
     };
     "aws-sign2-0.6.0" = {
@@ -14125,6 +14314,15 @@ let
         sha512 = "Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==";
       };
     };
+    "axios-0.25.0" = {
+      name = "axios";
+      packageName = "axios";
+      version = "0.25.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz";
+        sha512 = "cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==";
+      };
+    };
     "axios-0.26.0" = {
       name = "axios";
       packageName = "axios";
@@ -14278,13 +14476,13 @@ let
         sha512 = "7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==";
       };
     };
-    "babel-loader-8.2.3" = {
+    "babel-loader-8.2.4" = {
       name = "babel-loader";
       packageName = "babel-loader";
-      version = "8.2.3";
+      version = "8.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz";
-        sha512 = "n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==";
+        url = "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.4.tgz";
+        sha512 = "8dytA3gcvPPPv4Grjhnt8b5IIiTcq/zeXOPk4iTYI0SVXcsmuGg7JtBRDp8S9X+gJfhQ8ektjXZlDu1Bb33U8A==";
       };
     };
     "babel-plugin-dynamic-import-node-2.3.3" = {
@@ -15124,15 +15322,6 @@ let
         sha512 = "0ilVjnE2diLdbec/3KN14SP0KE85wh8v/FceNRMbAB2ioc3yTj9tgqdoK9tFEH++TZ10JreTS29qTwg7+SpTiQ==";
       };
     };
-    "bent-7.3.12" = {
-      name = "bent";
-      packageName = "bent";
-      version = "7.3.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bent/-/bent-7.3.12.tgz";
-        sha512 = "T3yrKnVGB63zRuoco/7Ybl7BwwGZR0lceoVG5XmQyMIH9s19SV5m+a8qam4if0zQuAmOQTyPTPmsQBdAorGK3w==";
-      };
-    };
     "bep53-range-1.1.1" = {
       name = "bep53-range";
       packageName = "bep53-range";
@@ -15610,13 +15799,13 @@ let
         sha512 = "Xzk1FJFHmsc9H8IKFtDUkfAZIT1HW8r6UqajfZBBxWmpA1v7FsPO8xPFtnFzCqcXlPN3yi8dDmlqZCemyB7P8w==";
       };
     };
-    "bittorrent-protocol-3.5.1" = {
+    "bittorrent-protocol-3.5.2" = {
       name = "bittorrent-protocol";
       packageName = "bittorrent-protocol";
-      version = "3.5.1";
+      version = "3.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bittorrent-protocol/-/bittorrent-protocol-3.5.1.tgz";
-        sha512 = "euVSavQL0jBqRcbsNs5zUP9Ygm+OW5vCDDaatC6vrONtXp+eVe4sO1wA58Gig3IYOdRSBKl53auniWEAJ9quxg==";
+        url = "https://registry.npmjs.org/bittorrent-protocol/-/bittorrent-protocol-3.5.2.tgz";
+        sha512 = "IoUKeNg5aIoUfL7iYLM3L6CsuV14iEByyqdT3f2uFK4zlJiQr+kb86ERlrobYBBIj6qW6GJ9eyAU8GhL3IhFrA==";
       };
     };
     "bittorrent-tracker-7.7.0" = {
@@ -15628,13 +15817,13 @@ let
         sha1 = "ffd2eabc141d36ed5c1817df7e992f91fd7fc65c";
       };
     };
-    "bittorrent-tracker-9.18.4" = {
+    "bittorrent-tracker-9.18.5" = {
       name = "bittorrent-tracker";
       packageName = "bittorrent-tracker";
-      version = "9.18.4";
+      version = "9.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bittorrent-tracker/-/bittorrent-tracker-9.18.4.tgz";
-        sha512 = "QpGYWMUab4CykgyJX/XcLdfQRp/Dg4qtGZqQTQlDtIXYHj9wnsO6dCH1jHWdGTyFfeofnuEjahUpaxquPZlyBQ==";
+        url = "https://registry.npmjs.org/bittorrent-tracker/-/bittorrent-tracker-9.18.5.tgz";
+        sha512 = "yh/lGHLNuTNZJJlUAmikYOX+njHIr8BFqCxJiXSQ3FaEmhj2xhe1OXF9DcrHpmMYmAQEKWC6+P/uNWGRKdkH9g==";
       };
     };
     "bitwise-xor-0.0.0" = {
@@ -16681,13 +16870,13 @@ let
         sha512 = "66UkjoB9f7lhT+WKgYq8MQa6nkr96mlX64JYMlIsXe/X4VeqNwvsx7UOE3ZqD6lkwg8GvBhapRTWj0qWO3Pw8w==";
       };
     };
-    "bson-4.6.1" = {
+    "bson-4.6.2" = {
       name = "bson";
       packageName = "bson";
-      version = "4.6.1";
+      version = "4.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bson/-/bson-4.6.1.tgz";
-        sha512 = "I1LQ7Hz5zgwR4QquilLNZwbhPw0Apx7i7X9kGMBTsqPdml/03Q9NBtD9nt/19ahjlphktQImrnderxqpzeVDjw==";
+        url = "https://registry.npmjs.org/bson/-/bson-4.6.2.tgz";
+        sha512 = "VeJKHShcu1b/ugl0QiujlVuBepab714X9nNyBdA1kfekuDGecxgpTA2Z6nYbagrWFeiIyzSWIOzju3lhj+RNyQ==";
       };
     };
     "btc-rpc-client-git://github.com/btc21/btc-rpc-client" = {
@@ -17087,13 +17276,13 @@ let
         sha1 = "cb94faeb61c8696451db36534e1422f94f0aee88";
       };
     };
-    "builtins-4.0.0" = {
+    "builtins-4.1.0" = {
       name = "builtins";
       packageName = "builtins";
-      version = "4.0.0";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/builtins/-/builtins-4.0.0.tgz";
-        sha512 = "qC0E2Dxgou1IHhvJSLwGDSTvokbRovU5zZFuDY6oY8Y2lF3nGt5Ad8YZK7GMtqzY84Wu7pXTPeHQeHcXSXsRhw==";
+        url = "https://registry.npmjs.org/builtins/-/builtins-4.1.0.tgz";
+        sha512 = "1bPRZQtmKaO6h7qV1YHXNtr6nCK28k0Zo95KM4dXfILcZZwoHJBN1m3lfLv9LPkcOZlrSr+J1bzMaZFO98Yq0w==";
       };
     };
     "bulk-write-stream-1.1.4" = {
@@ -17303,15 +17492,6 @@ let
         sha512 = "/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==";
       };
     };
-    "bytesish-0.4.4" = {
-      name = "bytesish";
-      packageName = "bytesish";
-      version = "0.4.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bytesish/-/bytesish-0.4.4.tgz";
-        sha512 = "i4uu6M4zuMUiyfZN4RU2+i9+peJh//pXhd9x1oSe1LBkZ3LEbCoygu8W0bXTukU1Jme2txKuotpCZRaC3FLxcQ==";
-      };
-    };
     "cacache-12.0.4" = {
       name = "cacache";
       packageName = "cacache";
@@ -17330,13 +17510,13 @@ let
         sha512 = "VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==";
       };
     };
-    "cacache-16.0.2" = {
+    "cacache-16.0.3" = {
       name = "cacache";
       packageName = "cacache";
-      version = "16.0.2";
+      version = "16.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cacache/-/cacache-16.0.2.tgz";
-        sha512 = "Q17j7s8X81i/QYVrKVQ/qwWGT+pYLfpTcZ+X+p/Qw9FULy9JEfb2FECYTTt6mPV6A/vk92nRZ80ncpKxiGTrIA==";
+        url = "https://registry.npmjs.org/cacache/-/cacache-16.0.3.tgz";
+        sha512 = "eC7wYodNCVb97kuHGk5P+xZsvUJHkhSEOyNwkenqQPAsOtrTjvWOE5vSPNBpz9d8X3acIf6w2Ub5s4rvOCTs4g==";
       };
     };
     "cache-base-1.0.1" = {
@@ -17735,13 +17915,13 @@ let
         sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
       };
     };
-    "caniuse-lite-1.0.30001319" = {
+    "caniuse-lite-1.0.30001320" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001319";
+      version = "1.0.30001320";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001319.tgz";
-        sha512 = "xjlIAFHucBRSMUo1kb5D4LYgcN1M45qdKP++lhqowDpwJwGkpIRTt5qQqnhxjj1vHcI7nrJxWhCC1ATrCEBTcw==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001320.tgz";
+        sha512 = "MWPzG54AGdo3nWx7zHZTefseM5Y1ccM7hlQKHRqJkPozUaw3hNbBTMmLn16GG2FUzjR13Cr3NPfhIieX5PzXDA==";
       };
     };
     "canvas-2.9.1" = {
@@ -17897,22 +18077,22 @@ let
         sha512 = "eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==";
       };
     };
-    "cdk8s-1.5.46" = {
+    "cdk8s-1.5.52" = {
       name = "cdk8s";
       packageName = "cdk8s";
-      version = "1.5.46";
+      version = "1.5.52";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdk8s/-/cdk8s-1.5.46.tgz";
-        sha512 = "810Uk8KVyegiNtqaEjbLOwj69JzY8k1GOsnfLFaq26fLfX360zYvweKP1mzz61O2xTduUL6ai0tpOH7sX9eWMA==";
+        url = "https://registry.npmjs.org/cdk8s/-/cdk8s-1.5.52.tgz";
+        sha512 = "xqVD2lUGC3JJC1Zl2YWDop5xcJRl0OT91PAkT7qrWO5Xho4cz3B3NA3Cua4Q7bcLQViL7CeRdH4d9zL9mJmuMw==";
       };
     };
-    "cdk8s-plus-22-1.0.0-beta.151" = {
+    "cdk8s-plus-22-1.0.0-beta.158" = {
       name = "cdk8s-plus-22";
       packageName = "cdk8s-plus-22";
-      version = "1.0.0-beta.151";
+      version = "1.0.0-beta.158";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdk8s-plus-22/-/cdk8s-plus-22-1.0.0-beta.151.tgz";
-        sha512 = "Yl6Be6AOurpfbt7cnNbAxw/8Fib1SObxfG9UOkvACT1A+NE+uAIDSIwkfa+mWrbDrtGXPtJrWRjWkUuHNYE2ZA==";
+        url = "https://registry.npmjs.org/cdk8s-plus-22/-/cdk8s-plus-22-1.0.0-beta.158.tgz";
+        sha512 = "//RAiob+IkkJxMtt2GhLUIchljTjdwkfPSqC+R3scZLtDM1yPlyN1u5qKp/3C6anm2nKtw96zAENpqzfXdZasw==";
       };
     };
     "cdktf-0.9.4" = {
@@ -20291,15 +20471,6 @@ let
         sha512 = "bzlVWS2THbMetHqXKB8ypsXN4DQ/1qopGwNJi1eYbpwesJcd86FBjFciCQX/YwAhp9bM7NVnPFqZ5LpV7gP0Dg==";
       };
     };
-    "conf-10.0.1" = {
-      name = "conf";
-      packageName = "conf";
-      version = "10.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/conf/-/conf-10.0.1.tgz";
-        sha512 = "QClEoNcruwBL84QgMEPHibL3ERxWIrRKhbjJKG1VsFBadm5QpS0jsu4QjY/maxUvhyAKXeyrs+ws+lC6PajnEg==";
-      };
-    };
     "conf-10.1.1" = {
       name = "conf";
       packageName = "conf";
@@ -20552,22 +20723,22 @@ let
         sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
       };
     };
-    "constructs-10.0.91" = {
+    "constructs-10.0.97" = {
       name = "constructs";
       packageName = "constructs";
-      version = "10.0.91";
+      version = "10.0.97";
       src = fetchurl {
-        url = "https://registry.npmjs.org/constructs/-/constructs-10.0.91.tgz";
-        sha512 = "4sDyF/vMNZywVcOpo+ZrJt4F7X0iLVE+D6KxHn+/UnsmUr4ICa4KzXHVvCtoReyM8G1Q4aOFK+AWQICn+QSK0w==";
+        url = "https://registry.npmjs.org/constructs/-/constructs-10.0.97.tgz";
+        sha512 = "2193Y3iDLY9sYCd89eb4TfjeDN+oD5ocl5d1LRnbGwlmvMe2fWqd9i84ET6K8K/PXBPSTyRQghnpw+Smn8b9vA==";
       };
     };
-    "constructs-3.3.246" = {
+    "constructs-3.3.250" = {
       name = "constructs";
       packageName = "constructs";
-      version = "3.3.246";
+      version = "3.3.250";
       src = fetchurl {
-        url = "https://registry.npmjs.org/constructs/-/constructs-3.3.246.tgz";
-        sha512 = "Oxn8VTY7j0tZujcZhQM1WWYuwDsPlImnnFfGUEq8SPxIyPMywxlYUwNLtEYhuyXUHBR/BTxWyCPE8s6/0kkrRA==";
+        url = "https://registry.npmjs.org/constructs/-/constructs-3.3.250.tgz";
+        sha512 = "D1817bciQBs1xFEx1+Yh0ynd4GmrrjNPo93Z3Q8H+bxHBfRN00xSCfgDHttv+dk+6UEA43eYaI4SNYbmfSj2gQ==";
       };
     };
     "consume-http-header-1.0.0" = {
@@ -20904,13 +21075,13 @@ let
         sha1 = "7e3e48bbe6d997b1417ddca2868204b4d3d85715";
       };
     };
-    "convict-6.2.1" = {
+    "convict-6.2.2" = {
       name = "convict";
       packageName = "convict";
-      version = "6.2.1";
+      version = "6.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/convict/-/convict-6.2.1.tgz";
-        sha512 = "Mn4AJiYkR3TAZH1Xm/RU7gFS/0kM5TBSAQDry8y40Aez0ASY+3boUhv+3QE5XbOXiXM2JjdhkKve3IsBvWCibQ==";
+        url = "https://registry.npmjs.org/convict/-/convict-6.2.2.tgz";
+        sha512 = "3MsROJiEFN3BAzeFit1t87t7EUFzd44MNd13MLSikV2dsnDl7znwKgtYPPONtnDzxiDW0nBAsxVhSRNrjUrTTg==";
       };
     };
     "cookie-0.0.4" = {
@@ -21435,13 +21606,13 @@ let
         sha1 = "06be7abef947a3f14a30fd610671d401bca8b7b6";
       };
     };
-    "create-gatsby-2.10.1" = {
+    "create-gatsby-2.10.2" = {
       name = "create-gatsby";
       packageName = "create-gatsby";
-      version = "2.10.1";
+      version = "2.10.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/create-gatsby/-/create-gatsby-2.10.1.tgz";
-        sha512 = "zkAtC6TLr6nNmZd2yKqnXuEMX2vX9ciu4VBtMY+4J/nQ/cV77xCAmoU9MCAjVDoLp2h8pNckYE1lneFxmhIgkQ==";
+        url = "https://registry.npmjs.org/create-gatsby/-/create-gatsby-2.10.2.tgz";
+        sha512 = "OmuFey3Eoaek20m8Br/iIqEr76AUrl/ThCn7TBYJ6RvWVKezKV5UksQlFpdQgPK8kO9LogjkmiyA0k94VC3nXg==";
       };
     };
     "create-graphback-1.0.1" = {
@@ -21705,49 +21876,49 @@ let
         sha512 = "v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==";
       };
     };
-    "cspell-gitignore-5.19.2" = {
+    "cspell-gitignore-5.19.3" = {
       name = "cspell-gitignore";
       packageName = "cspell-gitignore";
-      version = "5.19.2";
+      version = "5.19.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-5.19.2.tgz";
-        sha512 = "j0iMQoLmq4J/19hM0j0rNUQoHsw1b9Yg1AZMus8WJgABPUPGgk4fRKJChUQu0+ys3wwWT/4vhKt7hU89ScphJQ==";
+        url = "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-5.19.3.tgz";
+        sha512 = "Q67uHcf0qNgOoanRLhatapjWpLiftT+MuLIyAaSLe5eNVzQurQIc+UnXhtaslkVyOTqQt4NJFqLgtf5ZSGz1bg==";
       };
     };
-    "cspell-glob-5.19.2" = {
+    "cspell-glob-5.19.3" = {
       name = "cspell-glob";
       packageName = "cspell-glob";
-      version = "5.19.2";
+      version = "5.19.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-glob/-/cspell-glob-5.19.2.tgz";
-        sha512 = "23pgM0KzWsnNv6zwC/xnxdE86MfLU7NWbBqDmn1KixhJjezOhg/LiSjnJuRVUuLR+4qApzjrBRpk+Rj1jzYi6A==";
+        url = "https://registry.npmjs.org/cspell-glob/-/cspell-glob-5.19.3.tgz";
+        sha512 = "qp2Oe/euzTu3e0zZrQxHuTrqRo418tYfh4CnCa+DKU6lWKKcF4zCEhOGJHPsYak8SFIXZ4ZE360wHFxB/JDutQ==";
       };
     };
-    "cspell-io-5.19.2" = {
+    "cspell-io-5.19.3" = {
       name = "cspell-io";
       packageName = "cspell-io";
-      version = "5.19.2";
+      version = "5.19.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-io/-/cspell-io-5.19.2.tgz";
-        sha512 = "TLlXMmDdZQold3ZsbHEpwKjUIRtYksp7Qr9Z0Rt9JpII6riliUPdB0SMFgtrqAvV1+bhJEPPmSxts8SdtLkdnA==";
+        url = "https://registry.npmjs.org/cspell-io/-/cspell-io-5.19.3.tgz";
+        sha512 = "dE9eBvHgIJ11DelWtyehMU3W3bCpcB+0nS6uOZJ2d8fDu13m5BebpLrXZ2dKfY4cjksJUhRPatt14uwQSeUp2A==";
       };
     };
-    "cspell-lib-5.19.2" = {
+    "cspell-lib-5.19.3" = {
       name = "cspell-lib";
       packageName = "cspell-lib";
-      version = "5.19.2";
+      version = "5.19.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-lib/-/cspell-lib-5.19.2.tgz";
-        sha512 = "x8NhOiXKRj6PHQty9RmaujE8dywzX0ZJr6AlPE/0N8IHmOg0Y8gAs7aN45l3PjFz+vaWfCghPbCIyxE/fdXNaw==";
+        url = "https://registry.npmjs.org/cspell-lib/-/cspell-lib-5.19.3.tgz";
+        sha512 = "peMJggwJpxCXKZZ0DuHyDtZmf66POKaHf5Im8LGEyMKFARUIq6O2WvaUGggYjyRe3Ng/f5G+EYTcIHbF9pZYcg==";
       };
     };
-    "cspell-trie-lib-5.19.2" = {
+    "cspell-trie-lib-5.19.3" = {
       name = "cspell-trie-lib";
       packageName = "cspell-trie-lib";
-      version = "5.19.2";
+      version = "5.19.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-5.19.2.tgz";
-        sha512 = "JCPBuA6XtIRuMZtIzRAV/nk/NmTQwxcQA4GEAkdxYZ9aUPTpMDItxQkrKrlEvAuqt8hKZkOpE6ZpChdLW7aKsg==";
+        url = "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-5.19.3.tgz";
+        sha512 = "Io8EB7E1pmttHzZvgvPEF0b87qlq8G5uA4B+sbqCxrUf5l4JDcK/UYLih0+rekLTbv4Q68zqgCTASvqxgqnoAg==";
       };
     };
     "csrf-3.1.0" = {
@@ -21813,15 +21984,6 @@ let
         sha512 = "BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==";
       };
     };
-    "css-declaration-sorter-6.1.4" = {
-      name = "css-declaration-sorter";
-      packageName = "css-declaration-sorter";
-      version = "6.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz";
-        sha512 = "lpfkqS0fctcmZotJGhnxkIyJWvBXgpyi2wsFd4J8VB7wzyrT6Ch/3Q+FMNJpjK4gu1+GN5khOnpU2ZVKrLbhCw==";
-      };
-    };
     "css-functions-list-3.0.1" = {
       name = "css-functions-list";
       packageName = "css-functions-list";
@@ -22029,15 +22191,6 @@ let
         sha512 = "6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==";
       };
     };
-    "cssnano-5.1.4" = {
-      name = "cssnano";
-      packageName = "cssnano";
-      version = "5.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cssnano/-/cssnano-5.1.4.tgz";
-        sha512 = "hbfhVZreEPyzl+NbvRsjNo54JOX80b+j6nqG2biLVLaZHJEiqGyMh4xDGHtwhUKd5p59mj2GlDqlUBwJUuIu5A==";
-      };
-    };
     "cssnano-preset-default-4.0.8" = {
       name = "cssnano-preset-default";
       packageName = "cssnano-preset-default";
@@ -22047,15 +22200,6 @@ let
         sha512 = "LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==";
       };
     };
-    "cssnano-preset-default-5.2.4" = {
-      name = "cssnano-preset-default";
-      packageName = "cssnano-preset-default";
-      version = "5.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.4.tgz";
-        sha512 = "w1Gg8xsebln6/axZ6qDFQHuglrGfbIHOIx0g4y9+etRlRab8CGpSpe6UMsrgJe4zhCaJ0LwLmc+PhdLRTwnhIA==";
-      };
-    };
     "cssnano-util-get-arguments-4.0.0" = {
       name = "cssnano-util-get-arguments";
       packageName = "cssnano-util-get-arguments";
@@ -22092,15 +22236,6 @@ let
         sha512 = "WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==";
       };
     };
-    "cssnano-utils-3.1.0" = {
-      name = "cssnano-utils";
-      packageName = "cssnano-utils";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz";
-        sha512 = "JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==";
-      };
-    };
     "csso-2.0.0" = {
       name = "csso";
       packageName = "csso";
@@ -23325,13 +23460,13 @@ let
         sha512 = "eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==";
       };
     };
-    "date-format-4.0.5" = {
+    "date-format-4.0.6" = {
       name = "date-format";
       packageName = "date-format";
-      version = "4.0.5";
+      version = "4.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/date-format/-/date-format-4.0.5.tgz";
-        sha512 = "zBhRiN/M0gDxUoM2xRtzTjJzSg0XEi1ofYpF84PfXeS3hN2PsGxmc7jw3DNQtFlimRbMmob5FC3G0cJq6jQQpw==";
+        url = "https://registry.npmjs.org/date-format/-/date-format-4.0.6.tgz";
+        sha512 = "B9vvg5rHuQ8cbUXE/RMWMyX2YA5TecT3jKF5fLtGNlzPlU7zblSPmAm2OImDbWL+LDOQ6pUm+4LOFz+ywS41Zw==";
       };
     };
     "date-now-0.1.4" = {
@@ -24243,13 +24378,13 @@ let
         sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
       };
     };
-    "deltachat-node-1.70.0" = {
+    "deltachat-node-1.76.0" = {
       name = "deltachat-node";
       packageName = "deltachat-node";
-      version = "1.70.0";
+      version = "1.76.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deltachat-node/-/deltachat-node-1.70.0.tgz";
-        sha512 = "PjI8X+MPPdVLF2Tq+WG0r9twwxFAWAi1yz+23+Qt07qTNcyeYHJx499Ssc3II5Q5MW00ylTdnFd+APD7FpFqLQ==";
+        url = "https://registry.npmjs.org/deltachat-node/-/deltachat-node-1.76.0.tgz";
+        sha512 = "KMUDHQW2h0nklkt9s9srv0ADWISMlrjWETFFmb+1XZCNQsHXoeyYhic1oUQpSK5LAT+YAKWw/XcCZrmI7tHu3A==";
       };
     };
     "denodeify-1.2.1" = {
@@ -24972,13 +25107,13 @@ let
         sha1 = "ea80b106a87538774e8a3a4a5afe293de489e0a9";
       };
     };
-    "doipjs-0.14.0" = {
+    "doipjs-0.15.5" = {
       name = "doipjs";
       packageName = "doipjs";
-      version = "0.14.0";
+      version = "0.15.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/doipjs/-/doipjs-0.14.0.tgz";
-        sha512 = "FX0rRv4h+/IaCCS2YSrEdx7nbM1iHimJfXhGDi5OU+0ALw5868RLDUQoWNpTfS+PtKX4vOgqmMAGuGlPLJiqkA==";
+        url = "https://registry.npmjs.org/doipjs/-/doipjs-0.15.5.tgz";
+        sha512 = "PIZIx+2+LqDtJWUXOMAd0PabT6uojkk5x4k1crUX68nMqDuNKne8v4K2Viytu8F9eBgN1cIUL9gLV8p4oqXI4A==";
       };
     };
     "dom-converter-0.2.0" = {
@@ -25737,22 +25872,22 @@ let
         sha512 = "9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==";
       };
     };
-    "electron-13.6.9" = {
+    "electron-14.2.8" = {
       name = "electron";
       packageName = "electron";
-      version = "13.6.9";
+      version = "14.2.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron/-/electron-13.6.9.tgz";
-        sha512 = "Es/sBy85NIuqsO9MW41PUCpwIkeinlTQ7g0ainfnmRAM2rmog3GBxVCaoV5dzEjwTF7TKG1Yr/E7Z3qHmlfWAg==";
+        url = "https://registry.npmjs.org/electron/-/electron-14.2.8.tgz";
+        sha512 = "K22hI0NVkC7sU5sMDXwW1lxAjhNsFXL2wuJF7Ij9CyWqW/j6AtIMfDkUoM5mXaTg0FGUlmlNr9Rh7cp8bBn6Sg==";
       };
     };
-    "electron-notarize-1.1.1" = {
+    "electron-notarize-1.2.1" = {
       name = "electron-notarize";
       packageName = "electron-notarize";
-      version = "1.1.1";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-notarize/-/electron-notarize-1.1.1.tgz";
-        sha512 = "kufsnqh86CTX89AYNG3NCPoboqnku/+32RxeJ2+7A4Rbm4bbOx0Nc7XTy3/gAlBfpj9xPAxHfhZLOHgfi6cJVw==";
+        url = "https://registry.npmjs.org/electron-notarize/-/electron-notarize-1.2.1.tgz";
+        sha512 = "u/ECWhIrhkSQpZM4cJzVZ5TsmkaqrRo5LDC/KMbGF0sPkm53Ng59+M0zp8QVaql0obfJy9vlVT+4iOkAi2UDlA==";
       };
     };
     "electron-osx-sign-0.5.0" = {
@@ -25782,13 +25917,13 @@ let
         sha512 = "WvaW1EgRinDQ61khHFZfx30rkPQG5ItaOT0wrI7iJv9A3SbghriQGfZQfHZs25fWLBe6/vkv05LOqg6aDw6Wzw==";
       };
     };
-    "electron-to-chromium-1.4.88" = {
+    "electron-to-chromium-1.4.96" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.4.88";
+      version = "1.4.96";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.88.tgz";
-        sha512 = "oA7mzccefkvTNi9u7DXmT0LqvhnOiN2BhSrKerta7HeUC1cLoIwtbf2wL+Ah2ozh5KQd3/1njrGrwDBXx6d14Q==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.96.tgz";
+        sha512 = "DPNjvNGPabv6FcyjzLAN4C0psN/GgD9rSGvMTuv81SeXG/EX3mCz0wiw9N1tUEnfQXYCJi3H8M0oFPRziZh7rw==";
       };
     };
     "electrum-client-git://github.com/janoside/electrum-client" = {
@@ -26477,15 +26612,6 @@ let
         sha512 = "XHJk60ufE+TG/ydwp4lilOog549iiQF2OAPhkk9DdiYWMrltz5yhDz/xnKuenNwP7gy3dsibssO5QpVhkrSzzg==";
       };
     };
-    "error-stack-parser-2.0.6" = {
-      name = "error-stack-parser";
-      packageName = "error-stack-parser";
-      version = "2.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz";
-        sha512 = "d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==";
-      };
-    };
     "error-stack-parser-2.0.7" = {
       name = "error-stack-parser";
       packageName = "error-stack-parser";
@@ -26891,13 +27017,13 @@ let
         sha512 = "/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA==";
       };
     };
-    "eslint-8.8.0" = {
+    "eslint-8.12.0" = {
       name = "eslint";
       packageName = "eslint";
-      version = "8.8.0";
+      version = "8.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-8.8.0.tgz";
-        sha512 = "H3KXAzQGBH1plhYS3okDix2ZthuYJlQQEGE5k0IKuEqUSiyu4AmxxlJ2MtTYeJ3xB4jDhcYCwGOg2TXYdnDXlQ==";
+        url = "https://registry.npmjs.org/eslint/-/eslint-8.12.0.tgz";
+        sha512 = "it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q==";
       };
     };
     "eslint-config-prettier-6.15.0" = {
@@ -27062,15 +27188,6 @@ let
         sha512 = "0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==";
       };
     };
-    "eslint-visitor-keys-3.2.0" = {
-      name = "eslint-visitor-keys";
-      packageName = "eslint-visitor-keys";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz";
-        sha512 = "IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==";
-      };
-    };
     "eslint-visitor-keys-3.3.0" = {
       name = "eslint-visitor-keys";
       packageName = "eslint-visitor-keys";
@@ -27143,15 +27260,6 @@ let
         sha512 = "v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==";
       };
     };
-    "espree-9.3.0" = {
-      name = "espree";
-      packageName = "espree";
-      version = "9.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/espree/-/espree-9.3.0.tgz";
-        sha512 = "d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==";
-      };
-    };
     "espree-9.3.1" = {
       name = "espree";
       packageName = "espree";
@@ -27512,15 +27620,6 @@ let
         sha512 = "i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==";
       };
     };
-    "event-to-promise-0.8.0" = {
-      name = "event-to-promise";
-      packageName = "event-to-promise";
-      version = "0.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/event-to-promise/-/event-to-promise-0.8.0.tgz";
-        sha1 = "4b84f11772b6f25f7752fc74d971531ac6f5b626";
-      };
-    };
     "eventemitter2-0.4.14" = {
       name = "eventemitter2";
       packageName = "eventemitter2";
@@ -28529,13 +28628,13 @@ let
         sha512 = "4j5uBaTnsYAV5ebkidvxiLUYOwjQ+JSFljeqfTxCrH9bDmlCQaOJFS84oDJ2rAXZq2yskmk3ORfoP9DCwqFNig==";
       };
     };
-    "fast-json-patch-3.1.0" = {
+    "fast-json-patch-3.1.1" = {
       name = "fast-json-patch";
       packageName = "fast-json-patch";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.1.0.tgz";
-        sha512 = "IhpytlsVTRndz0hU5t0/MGzS/etxLlfrpG5V5M9mVbuj9TrJLWaMfsox9REM5rkuGX0T+5qjpe8XA1o0gZ42nA==";
+        url = "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.1.1.tgz";
+        sha512 = "vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ==";
       };
     };
     "fast-json-stable-stringify-2.1.0" = {
@@ -29294,6 +29393,15 @@ let
         sha512 = "aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==";
       };
     };
+    "finalhandler-1.2.0" = {
+      name = "finalhandler";
+      packageName = "finalhandler";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz";
+        sha512 = "5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==";
+      };
+    };
     "find-cache-dir-0.1.1" = {
       name = "find-cache-dir";
       packageName = "find-cache-dir";
@@ -29987,13 +30095,13 @@ let
         sha512 = "ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==";
       };
     };
-    "form-data-encoder-1.7.1" = {
+    "form-data-encoder-1.7.2" = {
       name = "form-data-encoder";
       packageName = "form-data-encoder";
-      version = "1.7.1";
+      version = "1.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.1.tgz";
-        sha512 = "EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg==";
+        url = "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.2.tgz";
+        sha512 = "qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==";
       };
     };
     "form-urlencoded-4.5.1" = {
@@ -30617,22 +30725,22 @@ let
         sha1 = "cbed2d20a40c1f5679a35908e2b9415733e78db9";
       };
     };
-    "gatsby-core-utils-3.10.0" = {
+    "gatsby-core-utils-3.10.1" = {
       name = "gatsby-core-utils";
       packageName = "gatsby-core-utils";
-      version = "3.10.0";
+      version = "3.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-3.10.0.tgz";
-        sha512 = "yaRI/uUsbIggPRfh0y6CH+fy2AqbFFLxCYndw5nrVByEY40+KaKs0wOF4yIgPRBZZUHOyfBJ+1AGo2JLHdY5lA==";
+        url = "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-3.10.1.tgz";
+        sha512 = "WqNMm0u1CAZm6Q+UQ4dDHwIAt3l32NeIaPuSXmDX7QcMGR3FUUk8cl2Ym6gx1hfILm1aCexqfaSCLUXtaWKkbQ==";
       };
     };
-    "gatsby-telemetry-3.10.0" = {
+    "gatsby-telemetry-3.10.1" = {
       name = "gatsby-telemetry";
       packageName = "gatsby-telemetry";
-      version = "3.10.0";
+      version = "3.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-3.10.0.tgz";
-        sha512 = "Oe2OShJbylKr5C4FTl2P/JUX/xRkpYb6IMfEoAd5inG7HNQ1fikON4NdwvJjOp++My4kWo+LLCu92TZBkyTtZw==";
+        url = "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-3.10.1.tgz";
+        sha512 = "935quI1YsQfzYREuvPLNKBb7IUE2vX9p7WoS7Dc9TbV2xDZPTAzeOfX+HE56ZltkxMi8Zivp7mqe5+n//WL7EQ==";
       };
     };
     "gauge-1.2.7" = {
@@ -31833,13 +31941,13 @@ let
         sha512 = "otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==";
       };
     };
-    "google-auth-library-7.14.0" = {
+    "google-auth-library-7.14.1" = {
       name = "google-auth-library";
       packageName = "google-auth-library";
-      version = "7.14.0";
+      version = "7.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.14.0.tgz";
-        sha512 = "or8r7qUqGVI3W8lVSdPh0ZpeFyQHeE73g5c0p+bLNTTUFXJ+GSeDQmZRZ2p4H8cF/RJYa4PNvi/A1ar1uVNLFA==";
+        url = "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.14.1.tgz";
+        sha512 = "5Rk7iLNDFhFeBYc3s8l1CqzbEBcdhwR193RlD4vSNFajIcINKI8W8P0JLmBpwymHqqWbX34pJDQu39cSy/6RsA==";
       };
     };
     "google-closure-compiler-js-20170910.0.1" = {
@@ -32184,13 +32292,13 @@ let
         sha512 = "Myqay6pmdcmX3KqoH+bMbeKZ1cTODpHS2CxF1ZzNnfTE+YUpGTcp01bOw6LpzamRb0T/WTYtGFbZeXGo9Hab2Q==";
       };
     };
-    "graphql-executor-0.0.19" = {
+    "graphql-executor-0.0.22" = {
       name = "graphql-executor";
       packageName = "graphql-executor";
-      version = "0.0.19";
+      version = "0.0.22";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-executor/-/graphql-executor-0.0.19.tgz";
-        sha512 = "AFOcsk/yMtl9jcO/f/0Our7unWxJ5m3FS5HjWfsXRHCyjjaubXpSHiOZO/hSYv6brayIrupDoVAzCuJpBc3elg==";
+        url = "https://registry.npmjs.org/graphql-executor/-/graphql-executor-0.0.22.tgz";
+        sha512 = "WbKSnSHFn6REKKH4T6UAwDM3mLUnYMQlQLNG0Fw+Lkb3ilCnL3m5lkJ7411LAI9sF7BvPbthovVZhsEUh9Xfag==";
       };
     };
     "graphql-extensions-0.15.0" = {
@@ -32310,13 +32418,13 @@ let
         sha512 = "sHkK9+lUm20/BGawNEWNtVAeJzhZeBg21VmvmLoT5NdGVeZWv5PdIhkcayQIAgjSyyQ17WMKmbDijIPG2On+Ag==";
       };
     };
-    "graphql-ws-5.6.3" = {
+    "graphql-ws-5.6.4" = {
       name = "graphql-ws";
       packageName = "graphql-ws";
-      version = "5.6.3";
+      version = "5.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.6.3.tgz";
-        sha512 = "ZolWOi6bzI35ovGROCZROB9nDbwZiJdIsaPdzW/jkICCGNb3qL/33IONY/yQiBa+Je2uA11HfY4Uxse4+/ePYA==";
+        url = "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.6.4.tgz";
+        sha512 = "5r8tAzznI1zeh7k12+3z07KkgXPckQbnC9h4kJ2TBDWG2wb26TJTbVHQOiAncDBgPbtXtc1A2BlttiRuPH2t/w==";
       };
     };
     "gray-matter-4.0.3" = {
@@ -33588,13 +33696,13 @@ let
         sha512 = "8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==";
       };
     };
-    "html-entities-2.3.2" = {
+    "html-entities-2.3.3" = {
       name = "html-entities";
       packageName = "html-entities";
-      version = "2.3.2";
+      version = "2.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz";
-        sha512 = "c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==";
+        url = "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz";
+        sha512 = "DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==";
       };
     };
     "html-loader-1.1.0" = {
@@ -35172,15 +35280,6 @@ let
         sha512 = "ON8pEJPPCdyjxj+cxsYRe6XfCJepTxANdNnTebsTuQgXpRyZRRT9t4dJwjRubgmvn20CLSEnozRUayXyM9VTXA==";
       };
     };
-    "inquirer-8.1.1" = {
-      name = "inquirer";
-      packageName = "inquirer";
-      version = "8.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inquirer/-/inquirer-8.1.1.tgz";
-        sha512 = "hUDjc3vBkh/uk1gPfMAD/7Z188Q8cvTGl0nxwaCdwSbzFh6ZKkZh+s2ozVxbE5G9ZNRyeY0+lgbAIOUFsFf98w==";
-      };
-    };
     "inquirer-8.2.0" = {
       name = "inquirer";
       packageName = "inquirer";
@@ -35199,13 +35298,13 @@ let
         sha512 = "pxhBaw9cyTFMjwKtkjePWDhvwzvrNGAw7En4hottzlPvz80GZaMZthdDU35aA6/f5FRZf3uhE057q8w1DE3V2g==";
       };
     };
-    "inquirer-autocomplete-prompt-1.0.1" = {
-      name = "inquirer-autocomplete-prompt";
-      packageName = "inquirer-autocomplete-prompt";
-      version = "1.0.1";
+    "inquirer-8.2.2" = {
+      name = "inquirer";
+      packageName = "inquirer";
+      version = "8.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/inquirer-autocomplete-prompt/-/inquirer-autocomplete-prompt-1.0.1.tgz";
-        sha512 = "Y4V6ifAu9LNrNjcEtYq8YUKhrgmmufUn5fsDQqeWgHY8rEO6ZAQkNUiZtBm2kw2uUQlC9HdgrRCHDhTPPguH5A==";
+        url = "https://registry.npmjs.org/inquirer/-/inquirer-8.2.2.tgz";
+        sha512 = "pG7I/si6K/0X7p1qU+rfWnpTE1UIkTONN1wxtzh0d+dHXtT/JG6qBgLxoyHVsQa8cFABxAPh0pD6uUUHiAoaow==";
       };
     };
     "inquirer-autocomplete-prompt-1.4.0" = {
@@ -35217,6 +35316,15 @@ let
         sha512 = "qHgHyJmbULt4hI+kCmwX92MnSxDs/Yhdt4wPA30qnoa01OF6uTXV8yvH4hKXgdaTNmkZ9D01MHjqKYEuJN+ONw==";
       };
     };
+    "inquirer-autocomplete-prompt-2.0.0" = {
+      name = "inquirer-autocomplete-prompt";
+      packageName = "inquirer-autocomplete-prompt";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inquirer-autocomplete-prompt/-/inquirer-autocomplete-prompt-2.0.0.tgz";
+        sha512 = "c2LljLP3ewVJe4AUZzKdA6oWjqhpy5pfsisHAjh7mP3WUQ/O02x5OLMMqcLOYuRHx6i2hlVSIhUv0xYGyFxFYA==";
+      };
+    };
     "inquirer-autocomplete-prompt-ipt-2.0.0" = {
       name = "inquirer-autocomplete-prompt-ipt";
       packageName = "inquirer-autocomplete-prompt-ipt";
@@ -37143,13 +37251,13 @@ let
         sha512 = "knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==";
       };
     };
-    "is-unicode-supported-1.1.0" = {
+    "is-unicode-supported-1.2.0" = {
       name = "is-unicode-supported";
       packageName = "is-unicode-supported";
-      version = "1.1.0";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.1.0.tgz";
-        sha512 = "lDcxivp8TJpLG75/DpatAqNzOpDPSpED8XNtrpBHTdQ2InQ1PbW78jhwSxyxhhu+xbVSast2X38bwj8atwoUQA==";
+        url = "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.2.0.tgz";
+        sha512 = "wH+U77omcRzevfIG8dDhTS0V9zZyweakfD01FULl97+0EHiJTTZtJqxPSkIIo/SDPv/i07k/C9jAPY+jwLLeUQ==";
       };
     };
     "is-url-1.2.4" = {
@@ -37377,13 +37485,13 @@ let
         sha512 = "8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==";
       };
     };
-    "isbinaryfile-4.0.8" = {
+    "isbinaryfile-4.0.10" = {
       name = "isbinaryfile";
       packageName = "isbinaryfile";
-      version = "4.0.8";
+      version = "4.0.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.8.tgz";
-        sha512 = "53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==";
+        url = "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz";
+        sha512 = "iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==";
       };
     };
     "isemail-3.2.0" = {
@@ -37972,15 +38080,6 @@ let
         sha512 = "efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==";
       };
     };
-    "js-queue-2.0.2" = {
-      name = "js-queue";
-      packageName = "js-queue";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/js-queue/-/js-queue-2.0.2.tgz";
-        sha512 = "pbKLsbCfi7kriM3s1J4DDCo7jQkI58zPLHi0heXPzPlj0hjUsm+FesPUbE0DSbIVIK503A36aUBoCN7eMFedkA==";
-      };
-    };
     "js-sdsl-2.1.4" = {
       name = "js-sdsl";
       packageName = "js-sdsl";
@@ -38269,13 +38368,13 @@ let
         sha512 = "ZUzuO2JgnxE01tgIdZorsUZj5jiHP8uxeLDU/vsnmnAU2ZbMHFDT1cWacoAKESDnCyFF8VRCuPXHx8e5/SOXig==";
       };
     };
-    "jsii-srcmak-0.1.506" = {
+    "jsii-srcmak-0.1.512" = {
       name = "jsii-srcmak";
       packageName = "jsii-srcmak";
-      version = "0.1.506";
+      version = "0.1.512";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.506.tgz";
-        sha512 = "wqKKO0+wb5Pl61unlJrYQIZDpPt0eoc16AVNCluA0bAbabvtyNAwzrDCUw31ImI0gevlX7i87lkErazIIEZGQQ==";
+        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.512.tgz";
+        sha512 = "AA/WSd6ysD6xPrwLvsXOnbgwgN+TlX9ApXBNTsZohQxlKEnyyQAPt945rW9cu/cdNbpc/U/Dnig3CLqDn+PogQ==";
       };
     };
     "json-bigint-1.0.0" = {
@@ -38575,13 +38674,13 @@ let
         sha512 = "0/4Lv6IenJV0qj2oBdgPIAmFiKKnh8qh7bmLFJ+/ZZHLjSeiL3fKKGX3UryvKPbxFbhV+JcYo9KUC19GJ/Z/4A==";
       };
     };
-    "json2jsii-0.2.166" = {
+    "json2jsii-0.2.172" = {
       name = "json2jsii";
       packageName = "json2jsii";
-      version = "0.2.166";
+      version = "0.2.172";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.2.166.tgz";
-        sha512 = "p3svpnJMKMmJAhMPCzp4MJN4BDewuToi4v3grlBqYth5ZMo15mMqNJr2x/vOdeZbZM96uT7KguxGxbw/IJR0pA==";
+        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.2.172.tgz";
+        sha512 = "SXqltdQ3byo8XEsClMR5xnV6US5MWu0rBJdAC3NcvFCb0jgzu0V8ljfNJWEJJUKInuQWAsJ788ep5oKbLf3W7g==";
       };
     };
     "json3-3.2.6" = {
@@ -38620,13 +38719,13 @@ let
         sha512 = "aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==";
       };
     };
-    "json5-2.2.0" = {
+    "json5-2.2.1" = {
       name = "json5";
       packageName = "json5";
-      version = "2.2.0";
+      version = "2.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz";
-        sha512 = "f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==";
+        url = "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz";
+        sha512 = "1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==";
       };
     };
     "json5-relaxed-0.5.4" = {
@@ -40042,22 +40141,22 @@ let
         sha512 = "+AD7A2zbVeGRCFI2aO//oUmapCwy7GHqPXFJh3qpToSRNU+tXKJ2YFUgjt04LPPAf2dlEH95s6EhIHM1J7bmOw==";
       };
     };
-    "libsodium-0.7.9" = {
+    "libsodium-0.7.10" = {
       name = "libsodium";
       packageName = "libsodium";
-      version = "0.7.9";
+      version = "0.7.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/libsodium/-/libsodium-0.7.9.tgz";
-        sha512 = "gfeADtR4D/CM0oRUviKBViMGXZDgnFdMKMzHsvBdqLBHd9ySi6EtYnmuhHVDDYgYpAO8eU8hEY+F8vIUAPh08A==";
+        url = "https://registry.npmjs.org/libsodium/-/libsodium-0.7.10.tgz";
+        sha512 = "eY+z7hDrDKxkAK+QKZVNv92A5KYkxfvIshtBJkmg5TSiCnYqZP3i9OO9whE79Pwgm4jGaoHgkM4ao/b9Cyu4zQ==";
       };
     };
-    "libsodium-wrappers-0.7.9" = {
+    "libsodium-wrappers-0.7.10" = {
       name = "libsodium-wrappers";
       packageName = "libsodium-wrappers";
-      version = "0.7.9";
+      version = "0.7.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.9.tgz";
-        sha512 = "9HaAeBGk1nKTRFRHkt7nzxqCvnkWTjn1pdjKgcUnZxj0FyOP4CnhgFhMdrFfgNsukijBGyBLpP2m2uKT1vuWhQ==";
+        url = "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.10.tgz";
+        sha512 = "pO3F1Q9NPLB/MWIhehim42b/Fwb30JNScCNh8TcQ/kIc+qGLQch8ag8wb0keK3EP5kbGakk1H8Wwo7v+36rNQg==";
       };
     };
     "lie-3.0.4" = {
@@ -40141,13 +40240,13 @@ let
         sha512 = "ryJlD9qhbUSq4ZS6Q0WXnTgmj3IMqN1iBfUJoGAMzSbSGZAS8E8eejci88naBbbDA0N34hALpSsa5Ok7JayAdQ==";
       };
     };
-    "lilconfig-2.0.4" = {
+    "lilconfig-2.0.5" = {
       name = "lilconfig";
       packageName = "lilconfig";
-      version = "2.0.4";
+      version = "2.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz";
-        sha512 = "bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==";
+        url = "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz";
+        sha512 = "xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==";
       };
     };
     "limit-spawn-0.0.3" = {
@@ -40321,6 +40420,15 @@ let
         sha512 = "a7Jipme3XIBIryJluWP5LQrEAvhobDPyScBe+q+MYwxBiMT2Ck7msy4tAdF8TAa33FMdJqX4guP81Yhiu6BkmQ==";
       };
     };
+    "lmdb-2.2.4" = {
+      name = "lmdb";
+      packageName = "lmdb";
+      version = "2.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lmdb/-/lmdb-2.2.4.tgz";
+        sha512 = "gto+BB2uEob8qRiTlOq+R3uX0YNHsX9mjxj9Sbdue/LIKqu6IlZjrsjKeGyOMquc/474GEqFyX2pdytpydp0rQ==";
+      };
+    };
     "lmdb-2.2.6" = {
       name = "lmdb";
       packageName = "lmdb";
@@ -41941,13 +42049,13 @@ let
         sha512 = "Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==";
       };
     };
-    "log4js-6.4.3" = {
+    "log4js-6.4.4" = {
       name = "log4js";
       packageName = "log4js";
-      version = "6.4.3";
+      version = "6.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/log4js/-/log4js-6.4.3.tgz";
-        sha512 = "H/oQKcCVIhQ8zCtUh5aftdp9eRpGyVB1M5sKzAJ0i10q5jS+YXk133vtLgzT1RIoWMbIn7QD1LUto8a1hqh6gA==";
+        url = "https://registry.npmjs.org/log4js/-/log4js-6.4.4.tgz";
+        sha512 = "ncaWPsuw9Vl1CKA406hVnJLGQKy1OHx6buk8J4rE2lVW+NW5Y82G5/DIloO7NkqLOUtNPEANaWC1kZYVjXssPw==";
       };
     };
     "logform-2.4.0" = {
@@ -42355,13 +42463,13 @@ let
         sha1 = "f35ca91c493f7b73da0e07495304f17b31f87ee5";
       };
     };
-    "ltx-2.10.0" = {
+    "ltx-3.0.0" = {
       name = "ltx";
       packageName = "ltx";
-      version = "2.10.0";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ltx/-/ltx-2.10.0.tgz";
-        sha512 = "RB4zR6Mrp/0wTNS9WxMvpgfht/7u/8QAC9DpPD19opL/4OASPa28uoliFqeDkLUU8pQ4aeAfATBZmz1aSAHkMw==";
+        url = "https://registry.npmjs.org/ltx/-/ltx-3.0.0.tgz";
+        sha512 = "bu3/4/ApUmMqVNuIkHaRhqVtEi6didYcBDIF56xhPRCzVpdztCipZ62CUuaxMlMBUzaVL93+4LZRqe02fuAG6A==";
       };
     };
     "luaparse-git://github.com/oxyc/luaparse#ac42a00ebf4020b8c9d3219e4b0f84bf7ce6e802" = {
@@ -42572,13 +42680,13 @@ let
         sha512 = "s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==";
       };
     };
-    "make-fetch-happen-10.0.6" = {
+    "make-fetch-happen-10.1.0" = {
       name = "make-fetch-happen";
       packageName = "make-fetch-happen";
-      version = "10.0.6";
+      version = "10.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.0.6.tgz";
-        sha512 = "4Gfh6lV3TLXmj7qz79hBFuvVqjYSMW6v2+sxtdX4LFQU0rK3V/txRjE0DoZb7X0IF3t9f8NO3CxPSWlvdckhVA==";
+        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.0.tgz";
+        sha512 = "HeP4QlkadP/Op+hE+Une1070kcyN85FshQObku3/rmzRh4zDcKXA19d2L3AQR6UoaX3uZmhSOpTLH15b1vOFvQ==";
       };
     };
     "make-fetch-happen-8.0.14" = {
@@ -44102,13 +44210,13 @@ let
         sha512 = "i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==";
       };
     };
-    "micromark-extension-gfm-footnote-1.0.3" = {
+    "micromark-extension-gfm-footnote-1.0.4" = {
       name = "micromark-extension-gfm-footnote";
       packageName = "micromark-extension-gfm-footnote";
-      version = "1.0.3";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.0.3.tgz";
-        sha512 = "bn62pC5y39rIo2g1RqZk1NhF7T7cJLuJlbevunQz41U0iPVCdVOFASe5/L1kke+DFKSgfCRhv24+o42cZ1+ADw==";
+        url = "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.0.4.tgz";
+        sha512 = "E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg==";
       };
     };
     "micromark-extension-gfm-strikethrough-0.6.5" = {
@@ -44444,6 +44552,15 @@ let
         sha512 = "pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==";
       };
     };
+    "micromatch-4.0.5" = {
+      name = "micromatch";
+      packageName = "micromatch";
+      version = "4.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz";
+        sha512 = "DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==";
+      };
+    };
     "micromist-1.1.0" = {
       name = "micromist";
       packageName = "micromist";
@@ -44885,6 +45002,15 @@ let
         sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==";
       };
     };
+    "minimist-1.2.6" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "1.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz";
+        sha512 = "Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==";
+      };
+    };
     "minimist-options-3.0.2" = {
       name = "minimist-options";
       packageName = "minimist-options";
@@ -44957,13 +45083,13 @@ let
         sha512 = "CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==";
       };
     };
-    "minipass-fetch-2.0.3" = {
+    "minipass-fetch-2.1.0" = {
       name = "minipass-fetch";
       packageName = "minipass-fetch";
-      version = "2.0.3";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.0.3.tgz";
-        sha512 = "VA+eiiUtaIvpQJXISwE3OiMvQwAWrgKb97F0aXlCS1Ahikr8fEQq8m3Hf7Kv9KT3nokuHigJKsDMB6atU04olQ==";
+        url = "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.0.tgz";
+        sha512 = "H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg==";
       };
     };
     "minipass-flush-1.0.5" = {
@@ -45128,13 +45254,13 @@ let
         sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
       };
     };
-    "mkdirp-0.5.5" = {
+    "mkdirp-0.5.6" = {
       name = "mkdirp";
       packageName = "mkdirp";
-      version = "0.5.5";
+      version = "0.5.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz";
-        sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==";
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz";
+        sha512 = "FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==";
       };
     };
     "mkdirp-1.0.4" = {
@@ -47109,15 +47235,6 @@ let
         sha1 = "87a9065cdb355d3182d8f94ce11188b825c68a3b";
       };
     };
-    "node-ipc-9.2.1" = {
-      name = "node-ipc";
-      packageName = "node-ipc";
-      version = "9.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-ipc/-/node-ipc-9.2.1.tgz";
-        sha512 = "mJzaM6O3xHf9VT8BULvJSbdVbmHUKRNOH7zDDkCrA1/T+CVjq2WVIDfLt0azZRXpgArJtl3rtmEozrbXPZ9GaQ==";
-      };
-    };
     "node-libs-browser-2.2.1" = {
       name = "node-libs-browser";
       packageName = "node-libs-browser";
@@ -47127,15 +47244,6 @@ let
         sha512 = "h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==";
       };
     };
-    "node-localstorage-1.3.1" = {
-      name = "node-localstorage";
-      packageName = "node-localstorage";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-localstorage/-/node-localstorage-1.3.1.tgz";
-        sha512 = "NMWCSWWc6JbHT5PyWlNT2i8r7PgGYXVntmKawY83k/M0UJScZ5jirb61TLnqKwd815DfBQu+lR3sRw08SPzIaQ==";
-      };
-    };
     "node-notifier-10.0.1" = {
       name = "node-notifier";
       packageName = "node-notifier";
@@ -47919,13 +48027,13 @@ let
         sha512 = "Df5QT3RaJnXYuOwtXBXS9BWs+tHH2olvkCLh6jcR/b/u3DvPMlp3J0TvvYwplPKxHMOwfg287PYih9QqaVFoKA==";
       };
     };
-    "npm-registry-fetch-13.0.1" = {
+    "npm-registry-fetch-13.1.0" = {
       name = "npm-registry-fetch";
       packageName = "npm-registry-fetch";
-      version = "13.0.1";
+      version = "13.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-13.0.1.tgz";
-        sha512 = "Ak+LXVtSrCLOdscFW/apUw67OPNph8waHsPKM9UOJosL7i59EF5XoSWQMEsXEOeifM9Bb4/2+WrQC4t/pd8DGg==";
+        url = "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-13.1.0.tgz";
+        sha512 = "TIYL5X8CcwDhbFMXFDShNcpG6OMCYK6VzvSr6MUWP20tCU2DJ4ao2qQg3DT+3Pet8mO6/cgbZpon4LMh3duYLg==";
       };
     };
     "npm-registry-fetch-9.0.0" = {
@@ -49099,13 +49207,13 @@ let
         sha512 = "EFTQ61/OUVhCeq78Y3rBpdKSuvgb0lwkU8nN4QTdcv0afc5MT7e4IVuZwgkMsgE993dmhbIhkxHFP3iTVJXWmw==";
       };
     };
-    "openpgp-4.10.10" = {
+    "openpgp-5.2.1" = {
       name = "openpgp";
       packageName = "openpgp";
-      version = "4.10.10";
+      version = "5.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openpgp/-/openpgp-4.10.10.tgz";
-        sha512 = "Ub48OogGPjNsr0G/wnJ/SyAQzt/tfcXZTWVZdjKFpXCQV1Ca+upFdSPPkBlGG3lb9EQGOKZJ2tzYNH6ZyKMkDQ==";
+        url = "https://registry.npmjs.org/openpgp/-/openpgp-5.2.1.tgz";
+        sha512 = "zvu63kxe70q3D6WlKC/TB2pzI59I8V/l4G+z/VYgNVOyARsoH9q4i/WqwoHPjWG5HnRjhII3WSvp3gXH2DMPVg==";
       };
     };
     "opentracing-0.14.7" = {
@@ -49468,22 +49576,22 @@ let
         sha512 = "0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==";
       };
     };
-    "ot-builder-1.4.0" = {
+    "ot-builder-1.5.0" = {
       name = "ot-builder";
       packageName = "ot-builder";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ot-builder/-/ot-builder-1.4.0.tgz";
-        sha512 = "aNXKQr0+ztCBcb0VF7RtNJ2rcUq7jaJWr7PHs47gWVME5O+e+H/pBPh54LFBi9nm17LZGBo/gH+ETiDuMcZj8Q==";
+        url = "https://registry.npmjs.org/ot-builder/-/ot-builder-1.5.0.tgz";
+        sha512 = "taCpdbAu+OFogPf5AMdGMt2PnAGER7p4B4EWmIoMh00ZyDcyOVwgbV5V7z64wxo24tAaWXGwLqWOcI2K0SdWhQ==";
       };
     };
-    "otb-ttc-bundle-1.4.0" = {
+    "otb-ttc-bundle-1.5.0" = {
       name = "otb-ttc-bundle";
       packageName = "otb-ttc-bundle";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/otb-ttc-bundle/-/otb-ttc-bundle-1.4.0.tgz";
-        sha512 = "gZ/8LxA+YTovx/ZcU/iz9vpzpV1PSClDaWLd5ELn2amCLASMy0Icp2CNPateIwl1Z2O2pW9TTCC0Uu/0OsnKgA==";
+        url = "https://registry.npmjs.org/otb-ttc-bundle/-/otb-ttc-bundle-1.5.0.tgz";
+        sha512 = "wiavReuHttWgXplMV/T86jiT+dYPOZCq1UtsJR11m8ddI2BnDxhNZcg65OlkGU0Iq4tQmyjVG2PdX2sGH319XQ==";
       };
     };
     "ow-0.21.0" = {
@@ -50557,13 +50665,13 @@ let
         sha512 = "yy7UTSmliOT/7Yl+P4hwwW2W7PbCTAMcD0lasaVG+k4/2laj42YWzLm468bLFGDoFPIb29g3BuwBcA3gLopKww==";
       };
     };
-    "parse-torrent-9.1.4" = {
+    "parse-torrent-9.1.5" = {
       name = "parse-torrent";
       packageName = "parse-torrent";
-      version = "9.1.4";
+      version = "9.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/parse-torrent/-/parse-torrent-9.1.4.tgz";
-        sha512 = "NSlG8ewolqfcEWevUUsrpvxzVWYGaKWwPHMcXTAV2qYYo6pPugVOacQXt8uDlEYh23Ituz+A9pAZK5YaXTV8Pg==";
+        url = "https://registry.npmjs.org/parse-torrent/-/parse-torrent-9.1.5.tgz";
+        sha512 = "K8FXRwTOaZMI0/xuv0dpng1MVHZRtMJ0jRWBJ3qZWVNTrC1MzWUxm9QwaXDz/2qPhV2XC4UIHI92IGHwseAwaA==";
       };
     };
     "parse-torrent-file-2.1.4" = {
@@ -51466,6 +51574,15 @@ let
         sha512 = "38tAwlJ7HevMENHD5FZE+yxSlAH5Wg3FoOjbB3MX2j3/kgpOEkmDHhTVKkecR57qxD5doHo2yi9nac94gqqbiQ==";
       };
     };
+    "pino-7.9.1" = {
+      name = "pino";
+      packageName = "pino";
+      version = "7.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pino/-/pino-7.9.1.tgz";
+        sha512 = "28+D7c5orCoScdcWtiPXrCA9tdVosBWrYQgVtPdYTyiuTt6u/+rbEtpJR+dtVG8k1flhv0H2f0XSkgGm+TdjqQ==";
+      };
+    };
     "pino-abstract-transport-0.5.0" = {
       name = "pino-abstract-transport";
       packageName = "pino-abstract-transport";
@@ -51538,6 +51655,15 @@ let
         sha512 = "IWo0HwnxUEH9OtQ3qEZsKUbpdStRSomS18Gx4UV5JT1fj/E/opYGZMgpcdzC1+3ouBJECV1evzt0778S2RJ+/Q==";
       };
     };
+    "pkg-5.5.2" = {
+      name = "pkg";
+      packageName = "pkg";
+      version = "5.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pkg/-/pkg-5.5.2.tgz";
+        sha512 = "pD0UB2ud01C6pVv2wpGsTYJrXI/bnvGRYvMLd44wFzA1p+A2jrlTGFPAYa7YEYzmitXhx23PqalaG1eUEnSwcA==";
+      };
+    };
     "pkg-conf-1.1.3" = {
       name = "pkg-conf";
       packageName = "pkg-conf";
@@ -51682,13 +51808,13 @@ let
         sha1 = "084b5093ddc92506e259f874b8d9b1afb8c79593";
       };
     };
-    "plist-3.0.4" = {
+    "plist-3.0.5" = {
       name = "plist";
       packageName = "plist";
-      version = "3.0.4";
+      version = "3.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/plist/-/plist-3.0.4.tgz";
-        sha512 = "ksrr8y9+nXOxQB2osVNqrgvX/XQPOXaU4BQMKjYq8PvaY1U18mo+fKgBSwzK+luSyinOuPae956lSVcBwxlAMg==";
+        url = "https://registry.npmjs.org/plist/-/plist-3.0.5.tgz";
+        sha512 = "83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA==";
       };
     };
     "plist-with-patches-0.5.1" = {
@@ -51998,15 +52124,6 @@ let
         sha512 = "lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==";
       };
     };
-    "postcss-8.4.6" = {
-      name = "postcss";
-      packageName = "postcss";
-      version = "8.4.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz";
-        sha512 = "OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==";
-      };
-    };
     "postcss-calc-7.0.5" = {
       name = "postcss-calc";
       packageName = "postcss-calc";
@@ -52016,15 +52133,6 @@ let
         sha512 = "1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==";
       };
     };
-    "postcss-calc-8.2.4" = {
-      name = "postcss-calc";
-      packageName = "postcss-calc";
-      version = "8.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz";
-        sha512 = "SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==";
-      };
-    };
     "postcss-colormin-4.0.3" = {
       name = "postcss-colormin";
       packageName = "postcss-colormin";
@@ -52034,15 +52142,6 @@ let
         sha512 = "WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==";
       };
     };
-    "postcss-colormin-5.3.0" = {
-      name = "postcss-colormin";
-      packageName = "postcss-colormin";
-      version = "5.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz";
-        sha512 = "WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==";
-      };
-    };
     "postcss-convert-values-4.0.1" = {
       name = "postcss-convert-values";
       packageName = "postcss-convert-values";
@@ -52052,15 +52151,6 @@ let
         sha512 = "Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==";
       };
     };
-    "postcss-convert-values-5.1.0" = {
-      name = "postcss-convert-values";
-      packageName = "postcss-convert-values";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.0.tgz";
-        sha512 = "GkyPbZEYJiWtQB0KZ0X6qusqFHUepguBCNFi9t5JJc7I2OTXG7C0twbTLvCfaKOLl3rSXmpAwV7W5txd91V84g==";
-      };
-    };
     "postcss-discard-comments-4.0.2" = {
       name = "postcss-discard-comments";
       packageName = "postcss-discard-comments";
@@ -52070,15 +52160,6 @@ let
         sha512 = "RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==";
       };
     };
-    "postcss-discard-comments-5.1.1" = {
-      name = "postcss-discard-comments";
-      packageName = "postcss-discard-comments";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.1.tgz";
-        sha512 = "5JscyFmvkUxz/5/+TB3QTTT9Gi9jHkcn8dcmmuN68JQcv3aQg4y88yEHHhwFB52l/NkaJ43O0dbksGMAo49nfQ==";
-      };
-    };
     "postcss-discard-duplicates-4.0.2" = {
       name = "postcss-discard-duplicates";
       packageName = "postcss-discard-duplicates";
@@ -52088,15 +52169,6 @@ let
         sha512 = "ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==";
       };
     };
-    "postcss-discard-duplicates-5.1.0" = {
-      name = "postcss-discard-duplicates";
-      packageName = "postcss-discard-duplicates";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz";
-        sha512 = "zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==";
-      };
-    };
     "postcss-discard-empty-4.0.1" = {
       name = "postcss-discard-empty";
       packageName = "postcss-discard-empty";
@@ -52106,15 +52178,6 @@ let
         sha512 = "B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==";
       };
     };
-    "postcss-discard-empty-5.1.1" = {
-      name = "postcss-discard-empty";
-      packageName = "postcss-discard-empty";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz";
-        sha512 = "zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==";
-      };
-    };
     "postcss-discard-overridden-4.0.1" = {
       name = "postcss-discard-overridden";
       packageName = "postcss-discard-overridden";
@@ -52124,15 +52187,6 @@ let
         sha512 = "IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==";
       };
     };
-    "postcss-discard-overridden-5.1.0" = {
-      name = "postcss-discard-overridden";
-      packageName = "postcss-discard-overridden";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz";
-        sha512 = "21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==";
-      };
-    };
     "postcss-flexbugs-fixes-4.2.1" = {
       name = "postcss-flexbugs-fixes";
       packageName = "postcss-flexbugs-fixes";
@@ -52214,15 +52268,6 @@ let
         sha512 = "alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==";
       };
     };
-    "postcss-merge-longhand-5.1.2" = {
-      name = "postcss-merge-longhand";
-      packageName = "postcss-merge-longhand";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.2.tgz";
-        sha512 = "18/bp9DZnY1ai9RlahOfLBbmIUKfKFPASxRCiZ1vlpZqWPCn8qWPFlEozqmWL+kBtcEQmG8W9YqGCstDImvp/Q==";
-      };
-    };
     "postcss-merge-rules-4.0.3" = {
       name = "postcss-merge-rules";
       packageName = "postcss-merge-rules";
@@ -52232,15 +52277,6 @@ let
         sha512 = "U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==";
       };
     };
-    "postcss-merge-rules-5.1.0" = {
-      name = "postcss-merge-rules";
-      packageName = "postcss-merge-rules";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.0.tgz";
-        sha512 = "NecukEJovQ0mG7h7xV8wbYAkXGTO3MPKnXvuiXzOKcxoOodfTTKYjeo8TMhAswlSkjcPIBlnKbSFcTuVSDaPyQ==";
-      };
-    };
     "postcss-minify-font-values-4.0.2" = {
       name = "postcss-minify-font-values";
       packageName = "postcss-minify-font-values";
@@ -52250,15 +52286,6 @@ let
         sha512 = "j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==";
       };
     };
-    "postcss-minify-font-values-5.1.0" = {
-      name = "postcss-minify-font-values";
-      packageName = "postcss-minify-font-values";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz";
-        sha512 = "el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==";
-      };
-    };
     "postcss-minify-gradients-4.0.2" = {
       name = "postcss-minify-gradients";
       packageName = "postcss-minify-gradients";
@@ -52268,15 +52295,6 @@ let
         sha512 = "qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==";
       };
     };
-    "postcss-minify-gradients-5.1.0" = {
-      name = "postcss-minify-gradients";
-      packageName = "postcss-minify-gradients";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.0.tgz";
-        sha512 = "J/TMLklkONn3LuL8wCwfwU8zKC1hpS6VcxFkNUNjmVt53uKqrrykR3ov11mdUYyqVMEx67slMce0tE14cE4DTg==";
-      };
-    };
     "postcss-minify-params-4.0.2" = {
       name = "postcss-minify-params";
       packageName = "postcss-minify-params";
@@ -52286,15 +52304,6 @@ let
         sha512 = "G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==";
       };
     };
-    "postcss-minify-params-5.1.1" = {
-      name = "postcss-minify-params";
-      packageName = "postcss-minify-params";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.1.tgz";
-        sha512 = "WCpr+J9Uz8XzMpAfg3UL8z5rde6MifBbh5L8bn8S2F5hq/YDJJzASYCnCHvAB4Fqb94ys8v95ULQkW2EhCFvNg==";
-      };
-    };
     "postcss-minify-selectors-4.0.2" = {
       name = "postcss-minify-selectors";
       packageName = "postcss-minify-selectors";
@@ -52304,15 +52313,6 @@ let
         sha512 = "D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==";
       };
     };
-    "postcss-minify-selectors-5.2.0" = {
-      name = "postcss-minify-selectors";
-      packageName = "postcss-minify-selectors";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.0.tgz";
-        sha512 = "vYxvHkW+iULstA+ctVNx0VoRAR4THQQRkG77o0oa4/mBS0OzGvvzLIvHDv/nNEM0crzN2WIyFU5X7wZhaUK3RA==";
-      };
-    };
     "postcss-modules-extract-imports-1.1.0" = {
       name = "postcss-modules-extract-imports";
       packageName = "postcss-modules-extract-imports";
@@ -52421,15 +52421,6 @@ let
         sha512 = "gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==";
       };
     };
-    "postcss-normalize-charset-5.1.0" = {
-      name = "postcss-normalize-charset";
-      packageName = "postcss-normalize-charset";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz";
-        sha512 = "mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==";
-      };
-    };
     "postcss-normalize-display-values-4.0.2" = {
       name = "postcss-normalize-display-values";
       packageName = "postcss-normalize-display-values";
@@ -52439,15 +52430,6 @@ let
         sha512 = "3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==";
       };
     };
-    "postcss-normalize-display-values-5.1.0" = {
-      name = "postcss-normalize-display-values";
-      packageName = "postcss-normalize-display-values";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz";
-        sha512 = "WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==";
-      };
-    };
     "postcss-normalize-positions-4.0.2" = {
       name = "postcss-normalize-positions";
       packageName = "postcss-normalize-positions";
@@ -52457,15 +52439,6 @@ let
         sha512 = "Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==";
       };
     };
-    "postcss-normalize-positions-5.1.0" = {
-      name = "postcss-normalize-positions";
-      packageName = "postcss-normalize-positions";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz";
-        sha512 = "8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ==";
-      };
-    };
     "postcss-normalize-repeat-style-4.0.2" = {
       name = "postcss-normalize-repeat-style";
       packageName = "postcss-normalize-repeat-style";
@@ -52475,15 +52448,6 @@ let
         sha512 = "qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==";
       };
     };
-    "postcss-normalize-repeat-style-5.1.0" = {
-      name = "postcss-normalize-repeat-style";
-      packageName = "postcss-normalize-repeat-style";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz";
-        sha512 = "IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw==";
-      };
-    };
     "postcss-normalize-string-4.0.2" = {
       name = "postcss-normalize-string";
       packageName = "postcss-normalize-string";
@@ -52493,15 +52457,6 @@ let
         sha512 = "RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==";
       };
     };
-    "postcss-normalize-string-5.1.0" = {
-      name = "postcss-normalize-string";
-      packageName = "postcss-normalize-string";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz";
-        sha512 = "oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==";
-      };
-    };
     "postcss-normalize-timing-functions-4.0.2" = {
       name = "postcss-normalize-timing-functions";
       packageName = "postcss-normalize-timing-functions";
@@ -52511,15 +52466,6 @@ let
         sha512 = "acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==";
       };
     };
-    "postcss-normalize-timing-functions-5.1.0" = {
-      name = "postcss-normalize-timing-functions";
-      packageName = "postcss-normalize-timing-functions";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz";
-        sha512 = "DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==";
-      };
-    };
     "postcss-normalize-unicode-4.0.1" = {
       name = "postcss-normalize-unicode";
       packageName = "postcss-normalize-unicode";
@@ -52529,15 +52475,6 @@ let
         sha512 = "od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==";
       };
     };
-    "postcss-normalize-unicode-5.1.0" = {
-      name = "postcss-normalize-unicode";
-      packageName = "postcss-normalize-unicode";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz";
-        sha512 = "J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==";
-      };
-    };
     "postcss-normalize-url-4.0.1" = {
       name = "postcss-normalize-url";
       packageName = "postcss-normalize-url";
@@ -52547,15 +52484,6 @@ let
         sha512 = "p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==";
       };
     };
-    "postcss-normalize-url-5.1.0" = {
-      name = "postcss-normalize-url";
-      packageName = "postcss-normalize-url";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz";
-        sha512 = "5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==";
-      };
-    };
     "postcss-normalize-whitespace-4.0.2" = {
       name = "postcss-normalize-whitespace";
       packageName = "postcss-normalize-whitespace";
@@ -52565,15 +52493,6 @@ let
         sha512 = "tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==";
       };
     };
-    "postcss-normalize-whitespace-5.1.1" = {
-      name = "postcss-normalize-whitespace";
-      packageName = "postcss-normalize-whitespace";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz";
-        sha512 = "83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==";
-      };
-    };
     "postcss-ordered-values-4.1.2" = {
       name = "postcss-ordered-values";
       packageName = "postcss-ordered-values";
@@ -52583,15 +52502,6 @@ let
         sha512 = "2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==";
       };
     };
-    "postcss-ordered-values-5.1.0" = {
-      name = "postcss-ordered-values";
-      packageName = "postcss-ordered-values";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.0.tgz";
-        sha512 = "wU4Z4D4uOIH+BUKkYid36gGDJNQtkVJT7Twv8qH6UyfttbbJWyw4/xIPuVEkkCtQLAJ0EdsNSh8dlvqkXb49TA==";
-      };
-    };
     "postcss-reduce-initial-4.0.3" = {
       name = "postcss-reduce-initial";
       packageName = "postcss-reduce-initial";
@@ -52601,15 +52511,6 @@ let
         sha512 = "gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==";
       };
     };
-    "postcss-reduce-initial-5.1.0" = {
-      name = "postcss-reduce-initial";
-      packageName = "postcss-reduce-initial";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz";
-        sha512 = "5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==";
-      };
-    };
     "postcss-reduce-transforms-4.0.2" = {
       name = "postcss-reduce-transforms";
       packageName = "postcss-reduce-transforms";
@@ -52619,15 +52520,6 @@ let
         sha512 = "EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==";
       };
     };
-    "postcss-reduce-transforms-5.1.0" = {
-      name = "postcss-reduce-transforms";
-      packageName = "postcss-reduce-transforms";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz";
-        sha512 = "2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==";
-      };
-    };
     "postcss-reporter-7.0.5" = {
       name = "postcss-reporter";
       packageName = "postcss-reporter";
@@ -52718,15 +52610,6 @@ let
         sha512 = "NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==";
       };
     };
-    "postcss-svgo-5.1.0" = {
-      name = "postcss-svgo";
-      packageName = "postcss-svgo";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz";
-        sha512 = "D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==";
-      };
-    };
     "postcss-syntax-0.36.2" = {
       name = "postcss-syntax";
       packageName = "postcss-syntax";
@@ -52745,15 +52628,6 @@ let
         sha512 = "+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==";
       };
     };
-    "postcss-unique-selectors-5.1.1" = {
-      name = "postcss-unique-selectors";
-      packageName = "postcss-unique-selectors";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz";
-        sha512 = "5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==";
-      };
-    };
     "postcss-value-parser-3.3.1" = {
       name = "postcss-value-parser";
       packageName = "postcss-value-parser";
@@ -53258,13 +53132,13 @@ let
         sha512 = "vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==";
       };
     };
-    "prettier-2.6.0" = {
+    "prettier-2.6.1" = {
       name = "prettier";
       packageName = "prettier";
-      version = "2.6.0";
+      version = "2.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prettier/-/prettier-2.6.0.tgz";
-        sha512 = "m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A==";
+        url = "https://registry.npmjs.org/prettier/-/prettier-2.6.1.tgz";
+        sha512 = "8UVbTBYGwN37Bs9LERmxCPjdvPxlEowx2urIL6urHzdb3SDq4B/Z6xLFCblrSnE4iKWcS6ziJ3aOYrc1kz/E2A==";
       };
     };
     "prettier-bytes-1.0.4" = {
@@ -53753,6 +53627,15 @@ let
         sha512 = "y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==";
       };
     };
+    "promise-toolbox-0.20.0" = {
+      name = "promise-toolbox";
+      packageName = "promise-toolbox";
+      version = "0.20.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise-toolbox/-/promise-toolbox-0.20.0.tgz";
+        sha512 = "VXF6waqUheD19yOU7zxsXhw/HCKlXqXwUc4jM8mchtBqZFNA+GHA7dbJsQDLHP4IUpQuTLpCQRd0lCr5z4CqXQ==";
+      };
+    };
     "promise.prototype.finally-3.1.3" = {
       name = "promise.prototype.finally";
       packageName = "promise.prototype.finally";
@@ -55067,13 +54950,31 @@ let
         sha1 = "15931d3cd967ade52206f523aa7331aef7d43af7";
       };
     };
-    "pyright-1.1.231" = {
+    "pvtsutils-1.2.2" = {
+      name = "pvtsutils";
+      packageName = "pvtsutils";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.2.2.tgz";
+        sha512 = "OALo5ZEdqiI127i64+CXwkCOyFHUA+tCQgaUO/MvRDFXWPr53f2sx28ECNztUEzuyu5xvuuD1EB/szg9mwJoGA==";
+      };
+    };
+    "pvutils-1.1.3" = {
+      name = "pvutils";
+      packageName = "pvutils";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pvutils/-/pvutils-1.1.3.tgz";
+        sha512 = "pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==";
+      };
+    };
+    "pyright-1.1.233" = {
       name = "pyright";
       packageName = "pyright";
-      version = "1.1.231";
+      version = "1.1.233";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.231.tgz";
-        sha512 = "IPq1p/pg8PWXwBWj2knmV9pYNGoRgfCyFFNv1Osy4zX9F/9+hY2E6dSdKskgm85FkCjizPJ48xg9h/ENo3e0HQ==";
+        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.233.tgz";
+        sha512 = "qjyKJd6mfXLwaBls4Ww0CmML+K2gA4NnTelxGktLC3JQv7ioWU7lmiQ1KSr1BnmwuuTfsaJSDN3f+hUf9YPfWg==";
       };
     };
     "q-0.9.7" = {
@@ -55940,13 +55841,13 @@ let
         sha512 = "dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==";
       };
     };
-    "react-devtools-core-4.24.1" = {
+    "react-devtools-core-4.24.2" = {
       name = "react-devtools-core";
       packageName = "react-devtools-core";
-      version = "4.24.1";
+      version = "4.24.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.24.1.tgz";
-        sha512 = "skar+cqSg5Oz89n4lQ/aBQS8RGj93FMufg2TrMJqE+RSUTO9nLEYawRMXXCs8PnDVRSfG5pPVU5Nt1OegNflyA==";
+        url = "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.24.2.tgz";
+        sha512 = "UC3rvQCG/dnC95NPNWBFrUEtdAEiFZ9xZe1tTHFOELVR5qfNLroZ3w9tC51NQvvK5E10G2ko3lQ5Vrh3p0bHrA==";
       };
     };
     "react-dom-17.0.2" = {
@@ -56075,13 +55976,13 @@ let
         sha512 = "2FoTQzRNTncBVtnzxFOk2mCpcfxQpenBMbk5kSVBg5UcPqV9fRbgY2zhb7GTWWOlpFmAxhClBDlIq8Rsubz1yQ==";
       };
     };
-    "react-string-replace-0.4.4" = {
+    "react-string-replace-1.0.0" = {
       name = "react-string-replace";
       packageName = "react-string-replace";
-      version = "0.4.4";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/react-string-replace/-/react-string-replace-0.4.4.tgz";
-        sha512 = "FAMkhxmDpCsGTwTZg7p/2v+/GTmxAp73so3fbSvlAcBBX36ujiGRNEaM/1u+jiYQrArhns+7eE92g2pi5E5FUA==";
+        url = "https://registry.npmjs.org/react-string-replace/-/react-string-replace-1.0.0.tgz";
+        sha512 = "+iLsyE4AeSmnfctgswXOf1PmKRgns6wJ4LVb+8ADMU6mDK3jvBE11QzfMQf7CYtPUUiBCDjZ9ZppzXOIYrzCRg==";
       };
     };
     "react-tabs-3.2.3" = {
@@ -56138,6 +56039,15 @@ let
         sha512 = "wg3LWkUpG21lhv+cZvNy+p0+vtclZw+9nP2vO6T9PKT50EN1cUq37Dq6FzcM38h/c2domE0gsUhb6jHXtGogAA==";
       };
     };
+    "react-zoom-pan-pinch-2.1.3" = {
+      name = "react-zoom-pan-pinch";
+      packageName = "react-zoom-pan-pinch";
+      version = "2.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/react-zoom-pan-pinch/-/react-zoom-pan-pinch-2.1.3.tgz";
+        sha512 = "a5AChOWhjo0RmxsNZXGQIlNh3e3nLU6m4V6M+6dlbPNk5d+MtMxgKWyA5zpR06Lp3OZkZVF9nR8JeWSvKwck9g==";
+      };
+    };
     "read-1.0.5" = {
       name = "read";
       packageName = "read";
@@ -59657,13 +59567,13 @@ let
         sha512 = "lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==";
       };
     };
-    "selfsigned-2.0.0" = {
+    "selfsigned-2.0.1" = {
       name = "selfsigned";
       packageName = "selfsigned";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.0.tgz";
-        sha512 = "cUdFiCbKoa1mZ6osuJs2uDHrs0k0oprsKveFiiaBKCNq3SYyb5gs2HxhQyDNLCmL51ZZThqi4YNDpCK6GOP1iQ==";
+        url = "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz";
+        sha512 = "LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==";
       };
     };
     "semaphore-async-await-1.5.1" = {
@@ -59927,6 +59837,15 @@ let
         sha512 = "UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==";
       };
     };
+    "send-0.18.0" = {
+      name = "send";
+      packageName = "send";
+      version = "0.18.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/send/-/send-0.18.0.tgz";
+        sha512 = "qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==";
+      };
+    };
     "sentence-splitter-2.3.2" = {
       name = "sentence-splitter";
       packageName = "sentence-splitter";
@@ -60089,6 +60008,15 @@ let
         sha512 = "+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==";
       };
     };
+    "serve-static-1.15.0" = {
+      name = "serve-static";
+      packageName = "serve-static";
+      version = "1.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz";
+        sha512 = "XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==";
+      };
+    };
     "server-destroy-1.0.1" = {
       name = "server-destroy";
       packageName = "server-destroy";
@@ -60242,13 +60170,13 @@ let
         sha512 = "kehYuigMoRkIngCv7rhgruLJNNHDnitGTBdkcYbCbooL8Cidj/bS78MDxByIjcc69M915WxcQTgZetZ1JbeQTQ==";
       };
     };
-    "sha512-wasm-2.3.3" = {
+    "sha512-wasm-2.3.4" = {
       name = "sha512-wasm";
       packageName = "sha512-wasm";
-      version = "2.3.3";
+      version = "2.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sha512-wasm/-/sha512-wasm-2.3.3.tgz";
-        sha512 = "x8McxarTu+Wv5hu5TQE4qgSSGQ3JOX/OmkhLGVty+ajcEN6zLPqTS6Ljt/N6Gl2jI+3y0wjj+RxDxy8Ca9Krfw==";
+        url = "https://registry.npmjs.org/sha512-wasm/-/sha512-wasm-2.3.4.tgz";
+        sha512 = "akWoxJPGCB3aZCrZ+fm6VIFhJ/p8idBv7AWGFng/CZIrQo51oQNsvDbTSRXWAzIiZJvpy16oIDiCCPqTe21sKg==";
       };
     };
     "shallow-clone-3.0.1" = {
@@ -60791,13 +60719,13 @@ let
         sha1 = "c2f83f273a3e1a16edb0995661da0ed5ef033364";
       };
     };
-    "siphash24-1.3.0" = {
+    "siphash24-1.3.1" = {
       name = "siphash24";
       packageName = "siphash24";
-      version = "1.3.0";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/siphash24/-/siphash24-1.3.0.tgz";
-        sha512 = "2HvNPUYcmoFks2IX2wI5D80NspdlgSJlCmPencbBMWhrZnNW3sgiC7owaB2Jj/9IiV9bdN2A00LaM8IcojB8rw==";
+        url = "https://registry.npmjs.org/siphash24/-/siphash24-1.3.1.tgz";
+        sha512 = "moemC3ZKiTzH29nbFo3Iw8fbemWWod4vNs/WgKbQ54oEs6mE6XVlguxvinYjB+UmaE0PThgyED9fUkWvirT8hA==";
       };
     };
     "siphash24-universal-1.0.0" = {
@@ -62663,13 +62591,13 @@ let
         sha512 = "zZ/Q1M+9ZWlrchgh4QauD/MEUFa6eC6H6FYq6T8Of/y82JqsQBLwN6YlzbO09evE7Rx6x0oliXDCnQSjwGwQRA==";
       };
     };
-    "sscaff-1.2.232" = {
+    "sscaff-1.2.239" = {
       name = "sscaff";
       packageName = "sscaff";
-      version = "1.2.232";
+      version = "1.2.239";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sscaff/-/sscaff-1.2.232.tgz";
-        sha512 = "rAte4AtwsoJqA0q5lnGiqkMj8EJqzL67R63ivkNEsGptN5PkVvY2EtY1g1oeD31LaoJcIHHVG6wPxxkeYl/O4A==";
+        url = "https://registry.npmjs.org/sscaff/-/sscaff-1.2.239.tgz";
+        sha512 = "labp/0JhozHLJWGAdobeGgabqIosT6oTjRYPVSGQUy+P1L4qTBWLAOBCRURm+4JHLh7fOHXt7gnFLrEg42SDrA==";
       };
     };
     "ssh-config-1.1.6" = {
@@ -63329,13 +63257,13 @@ let
         sha512 = "OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==";
       };
     };
-    "streamroller-3.0.5" = {
+    "streamroller-3.0.6" = {
       name = "streamroller";
       packageName = "streamroller";
-      version = "3.0.5";
+      version = "3.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/streamroller/-/streamroller-3.0.5.tgz";
-        sha512 = "5uzTEUIi4OB5zy/H30kbUN/zpDNJsFUA+Z47ZL8EfrP93lcZvRLEqdbhdunEPa7CouuAzXXsHpCJ9dg90Umw7g==";
+        url = "https://registry.npmjs.org/streamroller/-/streamroller-3.0.6.tgz";
+        sha512 = "Qz32plKq/MZywYyhEatxyYc8vs994Gz0Hu2MSYXXLD233UyPeIeRBZARIIGwFer4Mdb8r3Y2UqKkgyDghM6QCg==";
       };
     };
     "streamsearch-0.1.2" = {
@@ -64076,13 +64004,13 @@ let
         sha1 = "7958c793e47e32e07d2b5cafe5c0bf8e12e77902";
       };
     };
-    "styled-components-5.3.3" = {
+    "styled-components-5.3.5" = {
       name = "styled-components";
       packageName = "styled-components";
-      version = "5.3.3";
+      version = "5.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/styled-components/-/styled-components-5.3.3.tgz";
-        sha512 = "++4iHwBM7ZN+x6DtPPWkCI4vdtwumQ+inA/DdAsqYd4SVgUKJie5vXyzotA00ttcFdQkCng7zc6grwlfIfw+lw==";
+        url = "https://registry.npmjs.org/styled-components/-/styled-components-5.3.5.tgz";
+        sha512 = "ndETJ9RKaaL6q41B69WudeqLzOpY1A/ET/glXkNZ2T7dPjPqpPCXXQjDFYZWwNnE5co0wX+gTCqx9mfxTmSIPg==";
       };
     };
     "stylehacks-4.0.3" = {
@@ -64094,15 +64022,6 @@ let
         sha512 = "7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==";
       };
     };
-    "stylehacks-5.1.0" = {
-      name = "stylehacks";
-      packageName = "stylehacks";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz";
-        sha512 = "SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==";
-      };
-    };
     "stylelint-13.13.1" = {
       name = "stylelint";
       packageName = "stylelint";
@@ -64643,13 +64562,13 @@ let
         sha512 = "8z18eX8G/jbTXYzyNIaobrnD7PSN7yU/YkSasMmajrXtw0FGS64XjrKn5v37d36qmU3o1xLeuYnktshRr7uIFw==";
       };
     };
-    "swagger-ui-dist-4.6.2" = {
+    "swagger-ui-dist-4.9.1" = {
       name = "swagger-ui-dist";
       packageName = "swagger-ui-dist";
-      version = "4.6.2";
+      version = "4.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-4.6.2.tgz";
-        sha512 = "BSt+ukOGkGZ2uHV4jyyCAzt60ysyQpGZAAhtIh7AMHT4MH1xXGkoXm2tfr1oRqO1N4IEY6qqNAlmcfMo/dAYuw==";
+        url = "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-4.9.1.tgz";
+        sha512 = "hYo/kt/wXYd/4WOUm2NLyDa3tR3lCfHbjVa1wSvvSL8AKbYoJsBkc4Va7VJ1uv/JO89xM1736pp1tzJkrVsBxA==";
       };
     };
     "swagger2openapi-7.0.8" = {
@@ -66336,13 +66255,13 @@ let
         sha1 = "2d17d82cf669ada7f9dfe75db4b31f7034b71e29";
       };
     };
-    "torrent-discovery-9.4.9" = {
+    "torrent-discovery-9.4.10" = {
       name = "torrent-discovery";
       packageName = "torrent-discovery";
-      version = "9.4.9";
+      version = "9.4.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/torrent-discovery/-/torrent-discovery-9.4.9.tgz";
-        sha512 = "xU5zLDdX6QMm4zJ+wceunk9nhs3Q/2Lewj/yCLx15lnfugf3Ir4bo/axM3IEwDl+lkH7zWYe/iy2+r/2yyILgQ==";
+        url = "https://registry.npmjs.org/torrent-discovery/-/torrent-discovery-9.4.10.tgz";
+        sha512 = "Sx2BdYYRCWXkxenGlbt3ZRSH6rcrt8ii6O6Aub9vqeS+RzzyNn2w68QVGClpctExoLle3T2eXO9gdlPANckMkA==";
       };
     };
     "torrent-piece-1.1.2" = {
@@ -67533,6 +67452,15 @@ let
         sha512 = "HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==";
       };
     };
+    "typescript-4.6.3" = {
+      name = "typescript";
+      packageName = "typescript";
+      version = "4.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz";
+        sha512 = "yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==";
+      };
+    };
     "typescript-eslint-parser-16.0.1" = {
       name = "typescript-eslint-parser";
       packageName = "typescript-eslint-parser";
@@ -68964,15 +68892,6 @@ let
         sha512 = "Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==";
       };
     };
-    "update-notifier-5.0.0" = {
-      name = "update-notifier";
-      packageName = "update-notifier";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/update-notifier/-/update-notifier-5.0.0.tgz";
-        sha512 = "8tqsiVrMv7aZsKNSjqA6DdBLKJpZG1hRpkj1RbOJu1PgyP69OX+EInAnP1EK/ShX5YdPFgwWdk19oquZ0HTM8g==";
-      };
-    };
     "update-notifier-5.1.0" = {
       name = "update-notifier";
       packageName = "update-notifier";
@@ -69874,13 +69793,13 @@ let
         sha512 = "Hq72JaTpcTFdWiNA4Y22Amej2GH3BFmBaKPPlDZ4/oC8HNn2ISHLkFrJU4Ds8R3jcUi7oo5Y9jcMHKjES+N9wQ==";
       };
     };
-    "vega-5.22.0" = {
+    "vega-5.22.1" = {
       name = "vega";
       packageName = "vega";
-      version = "5.22.0";
+      version = "5.22.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vega/-/vega-5.22.0.tgz";
-        sha512 = "ZIehKTrMY93sWaWIn/2N2LwsCN8XymQthxQA5fQwTmefVl7OOvcYmsGFJ9nttXUF4n0z5WRXkSsPZcJHHBlOKw==";
+        url = "https://registry.npmjs.org/vega/-/vega-5.22.1.tgz";
+        sha512 = "KJBI7OWSzpfCPbmWl3GQCqBqbf2TIdpWS0mzO6MmWbvdMhWHf74P9IVnx1B1mhg0ZTqWFualx9ZYhWzMMwudaQ==";
       };
     };
     "vega-canvas-1.2.6" = {
@@ -70045,13 +69964,13 @@ let
         sha512 = "QYltO/otrZHLrCGGf06Y99XtPtqWXITr6rw7rO9oL+l3d9o5RFl9sjHrVxiM7v+vGoZVWbBd5IPbFhPsXZ6+TA==";
       };
     };
-    "vega-scenegraph-4.10.0" = {
+    "vega-scenegraph-4.10.1" = {
       name = "vega-scenegraph";
       packageName = "vega-scenegraph";
-      version = "4.10.0";
+      version = "4.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vega-scenegraph/-/vega-scenegraph-4.10.0.tgz";
-        sha512 = "znUQAulNJnuXSza8+Qg1objNpXcHxP9KZwwp0XW4H/AHbzVhHEigZagb8xKDpQI1/8OSk2WZf9Bkr7CrsFC0hg==";
+        url = "https://registry.npmjs.org/vega-scenegraph/-/vega-scenegraph-4.10.1.tgz";
+        sha512 = "takIpkmNxYHhJYALOYzhTin3EDzbys6U4g+l1yJZVlXG9YTdiCMuEVAdtaQOCqF9/7qytD6pCrMxJY2HaoN0qQ==";
       };
     };
     "vega-selections-5.4.0" = {
@@ -70378,13 +70297,13 @@ let
         sha512 = "GN2bH2gs4eLnw/4jPSgfBjo+XCuvnX9elHICJZjVD4+NM0nsUrMTvdjGY5Sc/XG69XVTgLwj7hknQVc6M9FukA==";
       };
     };
-    "vfile-reporter-7.0.3" = {
+    "vfile-reporter-7.0.4" = {
       name = "vfile-reporter";
       packageName = "vfile-reporter";
-      version = "7.0.3";
+      version = "7.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-7.0.3.tgz";
-        sha512 = "q+ruTWxFHbow359TDqoNJn5THdwRDeV+XUOtzdT/OESgaGw05CjL68ImlbzRzqS5xL62Y1IaIWb8x+RbaNjayA==";
+        url = "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-7.0.4.tgz";
+        sha512 = "4cWalUnLrEnbeUQ+hARG5YZtaHieVK3Jp4iG5HslttkVl+MHunSGNAIrODOTLbtjWsNZJRMCkL66AhvZAYuJ9A==";
       };
     };
     "vfile-reporter-pretty-5.0.0" = {
@@ -70639,13 +70558,13 @@ let
         sha512 = "FA0foqMzMmEoO0WJP+MjoD4dRERhKS+Ag+yBrtmWQDmw2OuZ1R/5FkvI/XdTkCpHmTD9VMczugpHRejQyTXCNQ==";
       };
     };
-    "vscode-css-languageservice-5.2.0" = {
+    "vscode-css-languageservice-5.3.0" = {
       name = "vscode-css-languageservice";
       packageName = "vscode-css-languageservice";
-      version = "5.2.0";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-5.2.0.tgz";
-        sha512 = "FR5yDEfzbXJtYmZYrA7JWFcRSLHsJw3nv55XAmx7qdwRpFj9yy0ulKfN/NUUdiZW2jZU2fD/+Y4VJYPdafHDag==";
+        url = "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-5.3.0.tgz";
+        sha512 = "ujWW855AoJlE4ETU17Gff7unlZZTHDA0w26itk9EQFMfJqi9lE6S67zOsMvcPmJf55MrnGQbojDYZRiDVaFjdA==";
       };
     };
     "vscode-debugadapter-testsupport-1.51.0" = {
@@ -71692,6 +71611,15 @@ let
         sha512 = "WkwV9qJLZZm1ygrryt4+6hAKbk4jLSVCpE92RYk/MOtLSpxq/2S1U0JFyKgsASXhYU5hqHQRiXvFBoNQhfCHyg==";
       };
     };
+    "webcrypto-core-1.7.2" = {
+      name = "webcrypto-core";
+      packageName = "webcrypto-core";
+      version = "1.7.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.7.2.tgz";
+        sha512 = "GUblRwka3JiP/dduk9/Hdkbm7/+ZqVPISJj9Fq1rZ/JBSInmaeVbeH0KuIy4/gtoC7aWpu6DEnYk0VhkZXmFSA==";
+      };
+    };
     "webidl-conversions-2.0.1" = {
       name = "webidl-conversions";
       packageName = "webidl-conversions";
@@ -71989,13 +71917,13 @@ let
         sha512 = "7iZ+u28Ljw5hCnMiq0BCOeSYf0vCFQe/ORY0HgscTiKjQed8WqugpBUggJ2NTnB9fahn1kEnPRX2jf8Px5PhJw==";
       };
     };
-    "webtorrent-1.8.6" = {
+    "webtorrent-1.8.10" = {
       name = "webtorrent";
       packageName = "webtorrent";
-      version = "1.8.6";
+      version = "1.8.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-1.8.6.tgz";
-        sha512 = "yx/y2O+IeTtkvkkjqTh5tyBjk+C/u8IqE6evOKllLs1kerVzMcbbHQMU7vgU05tThb1vRjbq3FAuU20g+HoEUg==";
+        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-1.8.10.tgz";
+        sha512 = "0ywp9VXPMpqemsamWWUjU74vdNpOKUILK+lAfZnOgolybAcYZRJ5gCz0u01BI2NFKHZFWoyDacl3fkbxVb57pw==";
       };
     };
     "webworkify-webpack-2.1.5" = {
@@ -73538,6 +73466,15 @@ let
         sha512 = "FHV8s5ODFFQXX/enJEU2EkanNl1UDBUz8oa4k5Qo/sR+Iq7VmhCDkRMb0/mjJCNeAWQ31W8WV6PYStDE4d9EIw==";
       };
     };
+    "yaml-2.0.0-11" = {
+      name = "yaml";
+      packageName = "yaml";
+      version = "2.0.0-11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yaml/-/yaml-2.0.0-11.tgz";
+        sha512 = "5kGSQrzDyjCk0BLuFfjkoUE9vYcoyrwZIZ+GnpOSM9vhkvPjItYiWJ1jpRSo0aU4QmsoNrFwDT4O7XS2UGcBQg==";
+      };
+    };
     "yaml-ast-parser-0.0.43" = {
       name = "yaml-ast-parser";
       packageName = "yaml-ast-parser";
@@ -74351,13 +74288,14 @@ in
       sources."npm-pick-manifest-6.1.1"
       (sources."npm-registry-fetch-12.0.2" // {
         dependencies = [
+          sources."@npmcli/fs-2.1.0"
           sources."@tootallnate/once-2.0.0"
-          sources."cacache-16.0.2"
+          sources."cacache-16.0.3"
           sources."http-proxy-agent-5.0.0"
           sources."lru-cache-7.7.1"
-          (sources."make-fetch-happen-10.0.6" // {
+          (sources."make-fetch-happen-10.1.0" // {
             dependencies = [
-              sources."minipass-fetch-2.0.3"
+              sources."minipass-fetch-2.1.0"
             ];
           })
         ];
@@ -74431,10 +74369,10 @@ in
   "@antfu/ni" = nodeEnv.buildNodePackage {
     name = "_at_antfu_slash_ni";
     packageName = "@antfu/ni";
-    version = "0.13.2";
+    version = "0.14.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@antfu/ni/-/ni-0.13.2.tgz";
-      sha512 = "iKhPlNUE6fs0g7iRdTJzWFB8XoQb4AbCT46V0mrMsdF1RzyvwnOuzxSjISHQdYzpfirihVG9XpAUy/X540qavg==";
+      url = "https://registry.npmjs.org/@antfu/ni/-/ni-0.14.0.tgz";
+      sha512 = "AfHEQ+6Kjb+PMdOBR2h6CrDKYgncIZKW5NwkR1BLkCWm4DHBCTfnQJeO3ixtWr0KE9BCnwGoM8xEx6y45p0n4g==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -74475,7 +74413,7 @@ in
       sources."color-name-1.1.3"
       sources."colorette-2.0.16"
       sources."commander-8.3.0"
-      sources."convict-6.2.1"
+      sources."convict-6.2.2"
       sources."dateformat-4.6.3"
       sources."duplexify-4.1.2"
       sources."end-of-stream-1.4.4"
@@ -74486,11 +74424,10 @@ in
       sources."inherits-2.0.4"
       sources."joycon-3.1.1"
       sources."js-yaml-4.1.0"
-      sources."json5-2.2.0"
+      sources."json5-2.2.1"
       sources."leven-2.1.0"
       sources."lodash.clonedeep-4.5.0"
       sources."map-obj-4.3.0"
-      sources."minimist-1.2.5"
       sources."mri-1.1.4"
       sources."on-exit-leak-free-0.2.0"
       sources."once-1.4.0"
@@ -74592,7 +74529,7 @@ in
       sources."colorette-2.0.16"
       sources."concat-map-0.0.1"
       sources."convert-source-map-1.8.0"
-      sources."convict-6.2.1"
+      sources."convict-6.2.2"
       sources."core-util-is-1.0.3"
       sources."crc-32-1.2.1"
       sources."dateformat-4.6.3"
@@ -74654,7 +74591,7 @@ in
       sources."joycon-3.1.1"
       sources."js-yaml-4.1.0"
       sources."json-stable-stringify-without-jsonify-1.0.1"
-      sources."json5-2.2.0"
+      sources."json5-2.2.1"
       (sources."lazystream-1.0.1" // {
         dependencies = [
           sources."readable-stream-2.3.7"
@@ -74668,7 +74605,7 @@ in
       sources."mime-types-2.1.35"
       sources."mimic-response-2.1.0"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."minimisted-2.0.1"
       sources."mri-1.1.4"
       sources."multi-progress-4.0.0"
@@ -74783,13 +74720,13 @@ in
   "@astrojs/language-server" = nodeEnv.buildNodePackage {
     name = "_at_astrojs_slash_language-server";
     packageName = "@astrojs/language-server";
-    version = "0.12.1";
+    version = "0.13.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@astrojs/language-server/-/language-server-0.12.1.tgz";
-      sha512 = "LgU0pORDTYzAbxXS85ZyLs1MR5txF2Uj9wZZv4PyoHU5K2QIPhyghYn9Rh6NmlDMI7Q2aWotB8c/UbuNy9e8pA==";
+      url = "https://registry.npmjs.org/@astrojs/language-server/-/language-server-0.13.2.tgz";
+      sha512 = "4YM4hM02ILvvsSQljAlwLY7OWymlhbikY7O/gsZqELVGMXixemA6dI3GTr2K6duU4ktPBJ3JexuU/OFyb5jvtQ==";
     };
     dependencies = [
-      sources."@astrojs/svelte-language-integration-0.1.1"
+      sources."@astrojs/svelte-language-integration-0.1.2"
       sources."@emmetio/abbreviation-2.2.3"
       sources."@emmetio/css-abbreviation-2.1.4"
       sources."@emmetio/scanner-1.0.0"
@@ -74809,8 +74746,8 @@ in
       sources."svelte-3.46.4"
       sources."svelte2tsx-0.5.6"
       sources."tslib-2.3.1"
-      sources."typescript-4.6.2"
-      sources."vscode-css-languageservice-5.2.0"
+      sources."typescript-4.6.3"
+      sources."vscode-css-languageservice-5.3.0"
       sources."vscode-html-languageservice-4.2.4"
       sources."vscode-jsonrpc-6.0.0"
       sources."vscode-languageserver-7.0.0"
@@ -74988,8 +74925,8 @@ in
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."mimic-fn-2.1.0"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."ms-2.1.2"
       sources."multer-1.4.4"
       sources."mute-stream-0.0.8"
@@ -75146,7 +75083,7 @@ in
       sources."@tsconfig/node14-1.0.1"
       sources."@tsconfig/node16-1.0.2"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
       sources."JSONStream-1.3.5"
@@ -75291,7 +75228,7 @@ in
       sources."trim-newlines-3.0.1"
       sources."ts-node-10.7.0"
       sources."type-fest-0.18.1"
-      sources."typescript-4.6.2"
+      sources."typescript-4.6.3"
       sources."universalify-2.0.0"
       sources."uri-js-4.4.1"
       sources."util-deprecate-1.0.2"
@@ -75375,7 +75312,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.4"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/responselike-1.0.0"
       sources."abort-controller-3.0.0"
@@ -75449,7 +75386,7 @@ in
       sources."get-intrinsic-1.1.1"
       sources."get-stream-5.2.0"
       sources."glob-parent-5.1.2"
-      sources."google-auth-library-7.14.0"
+      sources."google-auth-library-7.14.1"
       sources."google-p12-pem-3.1.3"
       sources."googleapis-76.0.0"
       sources."googleapis-common-5.1.0"
@@ -75467,7 +75404,7 @@ in
       sources."ieee754-1.2.1"
       sources."indent-string-4.0.0"
       sources."inherits-2.0.4"
-      sources."inquirer-8.2.1"
+      sources."inquirer-8.2.2"
       (sources."inquirer-autocomplete-prompt-ipt-2.0.0" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
@@ -75492,7 +75429,7 @@ in
       sources."is-port-reachable-3.1.0"
       sources."is-reachable-5.1.1"
       sources."is-stream-2.0.1"
-      sources."is-unicode-supported-1.1.0"
+      sources."is-unicode-supported-1.2.0"
       sources."is-wsl-2.2.0"
       sources."js-tokens-4.0.0"
       sources."json-bigint-1.0.0"
@@ -75617,7 +75554,7 @@ in
       })
       sources."tslib-2.3.1"
       sources."type-fest-0.21.3"
-      sources."typescript-4.6.2"
+      sources."typescript-4.6.3"
       sources."universalify-2.0.0"
       sources."url-parse-1.5.10"
       sources."url-template-2.0.8"
@@ -75660,7 +75597,7 @@ in
       sources."@hyperswarm/hypersign-2.1.1"
       sources."@hyperswarm/network-2.1.0"
       sources."@leichtgewicht/ip-codec-2.0.3"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."abstract-extension-3.1.1"
       sources."abstract-leveldown-6.2.3"
       sources."acorn-8.7.0"
@@ -75850,7 +75787,7 @@ in
       sources."memory-pager-1.5.0"
       sources."merkle-tree-stream-4.0.0"
       sources."mime-1.6.0"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."mkdirp-1.0.4"
       sources."mkdirp-classic-0.5.3"
       sources."moment-2.29.1"
@@ -75915,13 +75852,13 @@ in
       sources."sha256-universal-1.2.1"
       sources."sha256-wasm-2.2.2"
       sources."sha512-universal-1.2.1"
-      sources."sha512-wasm-2.3.3"
+      sources."sha512-wasm-2.3.4"
       sources."shuffled-priority-queue-2.1.0"
       sources."signed-varint-2.0.1"
       sources."simple-handshake-3.0.0"
       sources."simple-hypercore-protocol-2.1.2"
       sources."simple-message-channels-1.2.1"
-      sources."siphash24-1.3.0"
+      sources."siphash24-1.3.1"
       sources."siphash24-universal-1.0.0"
       sources."sodium-javascript-0.8.0"
       sources."sodium-native-3.3.0"
@@ -76054,7 +75991,7 @@ in
       sources."@types/markdown-it-12.2.3"
       sources."@types/mdurl-1.0.2"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/tough-cookie-2.3.8"
       sources."abbrev-1.1.1"
       sources."abort-controller-3.0.0"
@@ -76159,7 +76096,7 @@ in
       sources."cli-width-2.2.1"
       (sources."cliui-4.1.0" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
+          sources."ansi-regex-3.0.1"
           sources."is-fullwidth-code-point-2.0.0"
           sources."string-width-2.1.1"
           sources."strip-ansi-4.0.0"
@@ -76367,7 +76304,7 @@ in
       sources."inline-process-browser-1.0.0"
       (sources."inquirer-6.5.2" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
+          sources."ansi-regex-3.0.1"
           sources."is-fullwidth-code-point-2.0.0"
           (sources."string-width-2.1.1" // {
             dependencies = [
@@ -76466,14 +76403,14 @@ in
         ];
       })
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."mime-2.6.0"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."minipass-2.9.0"
       sources."minizlib-1.3.3"
       (sources."mixin-deep-1.3.2" // {
@@ -76481,7 +76418,7 @@ in
           sources."is-extendable-1.0.1"
         ];
       })
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.7"
       sources."nan-2.14.0"
@@ -76911,7 +76848,7 @@ in
       sources."yallist-3.1.1"
       (sources."yargs-12.0.5" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
+          sources."ansi-regex-3.0.1"
           sources."is-fullwidth-code-point-2.0.0"
           sources."string-width-2.1.1"
           sources."strip-ansi-4.0.0"
@@ -76956,7 +76893,7 @@ in
       sources."@octokit/request-error-2.1.0"
       sources."@octokit/rest-18.12.0"
       sources."@octokit/types-6.34.0"
-      sources."@sideway/address-4.1.3"
+      sources."@sideway/address-4.1.4"
       sources."@sideway/formula-3.0.0"
       sources."@sideway/pinpoint-2.0.0"
       sources."@types/js-yaml-3.12.7"
@@ -77042,15 +76979,15 @@ in
   "@nestjs/cli" = nodeEnv.buildNodePackage {
     name = "_at_nestjs_slash_cli";
     packageName = "@nestjs/cli";
-    version = "8.2.3";
+    version = "8.2.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@nestjs/cli/-/cli-8.2.3.tgz";
-      sha512 = "p//DACefn40VClXroxzS+2pkSdaXYvKKcr4bFOUBMTdJqT9he+U9ifcJUkg/h1bFU/Y8SS2cUsTyl0ZBHHHRcw==";
+      url = "https://registry.npmjs.org/@nestjs/cli/-/cli-8.2.4.tgz";
+      sha512 = "9zNV9oMtaz1vwLO3WXviD0wzRpyiaLWJZ7KCIZLk62U22RDNRsbtLLDS52Wkig5L8UU7Z1xRfrEv+s3f9keysQ==";
     };
     dependencies = [
-      sources."@angular-devkit/core-13.2.6"
-      sources."@angular-devkit/schematics-13.2.6"
-      (sources."@angular-devkit/schematics-cli-13.2.6" // {
+      sources."@angular-devkit/core-13.3.0"
+      sources."@angular-devkit/schematics-13.3.0"
+      (sources."@angular-devkit/schematics-cli-13.3.0" // {
         dependencies = [
           sources."chalk-4.1.2"
           sources."inquirer-8.2.0"
@@ -77079,9 +77016,9 @@ in
       sources."@types/eslint-8.4.1"
       sources."@types/eslint-scope-3.7.3"
       sources."@types/estree-0.0.51"
-      sources."@types/json-schema-7.0.10"
+      sources."@types/json-schema-7.0.11"
       sources."@types/json5-0.0.29"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/parse-json-4.0.0"
       sources."@webassemblyjs/ast-1.11.1"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
@@ -77120,7 +77057,7 @@ in
       sources."buffer-5.7.1"
       sources."buffer-from-1.1.2"
       sources."callsites-3.1.0"
-      sources."caniuse-lite-1.0.30001319"
+      sources."caniuse-lite-1.0.30001320"
       sources."chalk-3.0.0"
       sources."chardet-0.7.0"
       sources."chokidar-3.5.3"
@@ -77139,7 +77076,7 @@ in
       sources."cross-spawn-7.0.3"
       sources."deepmerge-4.2.2"
       sources."defaults-1.0.3"
-      sources."electron-to-chromium-1.4.88"
+      sources."electron-to-chromium-1.4.96"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."enhanced-resolve-5.9.2"
@@ -77379,11 +77316,10 @@ in
       sources."inherits-2.0.4"
       sources."is-interactive-1.0.0"
       sources."is-unicode-supported-0.1.0"
-      sources."json5-2.2.0"
+      sources."json5-2.2.1"
       sources."kleur-4.1.4"
       sources."log-symbols-4.1.0"
       sources."mimic-fn-2.1.0"
-      sources."minimist-1.2.5"
       sources."onetime-5.1.2"
       sources."ora-5.4.1"
       sources."readable-stream-3.6.0"
@@ -77508,10 +77444,10 @@ in
   "@uppy/companion" = nodeEnv.buildNodePackage {
     name = "_at_uppy_slash_companion";
     packageName = "@uppy/companion";
-    version = "3.4.0";
+    version = "3.5.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@uppy/companion/-/companion-3.4.0.tgz";
-      sha512 = "3dJkLneUo/mIgeBVpUpIHeTcSI0d5od/45wpiVDJVavFJ8zR3zZd4DtMZIzWq7awHbmYQKD91MppKPZre0bK4A==";
+      url = "https://registry.npmjs.org/@uppy/companion/-/companion-3.5.0.tgz";
+      sha512 = "hFsp3x/B2H++bjuDiaC0s0ktENe35OQKAoj78WUn1W50my6lpDMywd5WWmlFurK7Dda7I0OwVyaZ0c9L2hqCCg==";
     };
     dependencies = [
       sources."@purest/config-1.0.1"
@@ -77531,7 +77467,7 @@ in
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.1096.0" // {
+      (sources."aws-sdk-2.1101.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -77802,12 +77738,13 @@ in
   "@vue/cli" = nodeEnv.buildNodePackage {
     name = "_at_vue_slash_cli";
     packageName = "@vue/cli";
-    version = "5.0.3";
+    version = "5.0.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@vue/cli/-/cli-5.0.3.tgz";
-      sha512 = "E9AE4OEi1Xld4rRMCdm8+1OtrBwZseFP3ugqVEhQ97MwKomliM2UuPQ8zHsJrcHIbKwPz7/2yDlPUwqkN9g0sw==";
+      url = "https://registry.npmjs.org/@vue/cli/-/cli-5.0.4.tgz";
+      sha512 = "v9fHBQ3MCTAo92+uA/J8C/PYxGrZJCSM/myPEGzX4zrlbT4bBLfuP0pFRJZO9wQGE3NHp95coIdOghXdMm/atw==";
     };
     dependencies = [
+      sources."@achrinza/node-ipc-9.2.2"
       sources."@akryum/winattr-3.0.0"
       sources."@ampproject/remapping-2.1.2"
       (sources."@apollo/protobufjs-1.2.2" // {
@@ -77966,6 +77903,7 @@ in
       sources."@jridgewell/resolve-uri-3.0.5"
       sources."@jridgewell/sourcemap-codec-1.4.11"
       sources."@jridgewell/trace-mapping-0.3.4"
+      sources."@node-ipc/js-queue-2.0.3"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -77979,7 +77917,7 @@ in
       sources."@protobufjs/path-1.1.2"
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
-      sources."@sideway/address-4.1.3"
+      sources."@sideway/address-4.1.4"
       sources."@sideway/formula-3.0.0"
       sources."@sideway/pinpoint-2.0.0"
       sources."@sindresorhus/is-0.7.0"
@@ -78007,21 +77945,21 @@ in
       sources."@types/koa-compose-3.2.5"
       sources."@types/long-4.0.1"
       sources."@types/mime-1.3.2"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       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/through-0.0.30"
       sources."@types/ws-7.4.7"
-      sources."@vue/cli-shared-utils-5.0.3"
-      (sources."@vue/cli-ui-5.0.3" // {
+      sources."@vue/cli-shared-utils-5.0.4"
+      (sources."@vue/cli-ui-5.0.4" // {
         dependencies = [
           sources."clone-2.1.2"
         ];
       })
-      sources."@vue/cli-ui-addon-webpack-5.0.3"
-      sources."@vue/cli-ui-addon-widgets-5.0.3"
+      sources."@vue/cli-ui-addon-webpack-5.0.4"
+      sources."@vue/cli-ui-addon-widgets-5.0.4"
       sources."@vue/compiler-core-3.2.31"
       sources."@vue/compiler-dom-3.2.31"
       sources."@vue/shared-3.2.31"
@@ -78130,7 +78068,7 @@ in
       })
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
-      sources."caniuse-lite-1.0.30001319"
+      sources."caniuse-lite-1.0.30001320"
       sources."caw-2.0.1"
       sources."chalk-4.1.2"
       sources."chardet-0.7.0"
@@ -78251,7 +78189,7 @@ in
       sources."easy-stack-1.0.1"
       sources."ee-first-1.1.1"
       sources."ejs-3.1.6"
-      sources."electron-to-chromium-1.4.88"
+      sources."electron-to-chromium-1.4.96"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
@@ -78436,7 +78374,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
-      sources."inquirer-8.2.1"
+      sources."inquirer-8.2.2"
       sources."internal-slot-1.0.3"
       sources."into-stream-3.1.0"
       sources."ipaddr.js-1.9.1"
@@ -78475,7 +78413,7 @@ in
       sources."is-windows-1.0.2"
       sources."is-wsl-2.2.0"
       sources."isarray-1.0.0"
-      sources."isbinaryfile-4.0.8"
+      sources."isbinaryfile-4.0.10"
       sources."isexe-2.0.0"
       sources."isobject-3.0.1"
       sources."isurl-1.0.0"
@@ -78488,7 +78426,6 @@ in
       sources."javascript-stringify-2.1.0"
       sources."joi-17.6.0"
       sources."js-message-1.0.7"
-      sources."js-queue-2.0.2"
       sources."js-tokens-4.0.0"
       sources."js-yaml-4.1.0"
       (sources."jscodeshift-0.11.0" // {
@@ -78512,7 +78449,7 @@ in
       sources."jsesc-2.5.2"
       sources."json-buffer-3.0.0"
       sources."json-parse-even-better-errors-2.3.1"
-      sources."json5-2.2.0"
+      sources."json5-2.2.1"
       sources."jsonfile-6.1.0"
       sources."keyv-3.0.0"
       sources."kind-of-6.0.3"
@@ -78539,20 +78476,20 @@ in
       sources."merge-stream-2.0.0"
       sources."merge2-1.4.1"
       sources."methods-1.1.2"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."mime-1.6.0"
       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.5"
+      sources."minimist-1.2.6"
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
           sources."is-extendable-1.0.1"
         ];
       })
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       sources."ms-2.0.0"
       sources."mute-stream-0.0.8"
       sources."nanoid-2.1.11"
@@ -78562,7 +78499,6 @@ in
       sources."nice-try-1.0.5"
       sources."node-dir-0.1.17"
       sources."node-fetch-2.6.7"
-      sources."node-ipc-9.2.1"
       (sources."node-notifier-10.0.1" // {
         dependencies = [
           sources."which-2.0.2"
@@ -79179,7 +79115,7 @@ in
       sources."@types/minimist-1.2.2"
       sources."@types/ms-0.7.31"
       sources."@types/nlcst-1.0.0"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse5-6.0.3"
       sources."@types/supports-color-8.1.1"
@@ -79208,7 +79144,7 @@ in
       sources."brace-expansion-1.1.11"
       sources."bubble-stream-error-1.0.0"
       sources."buffer-from-1.1.2"
-      sources."builtins-4.0.0"
+      sources."builtins-4.1.0"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
           sources."get-stream-5.2.0"
@@ -79397,7 +79333,7 @@ in
       sources."micromark-extension-frontmatter-1.0.0"
       sources."micromark-extension-gfm-2.0.1"
       sources."micromark-extension-gfm-autolink-literal-1.0.3"
-      sources."micromark-extension-gfm-footnote-1.0.3"
+      sources."micromark-extension-gfm-footnote-1.0.4"
       sources."micromark-extension-gfm-strikethrough-1.0.4"
       sources."micromark-extension-gfm-table-1.0.5"
       sources."micromark-extension-gfm-tagfilter-1.0.1"
@@ -79435,7 +79371,7 @@ in
       sources."mimic-response-1.0.1"
       sources."min-indent-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."minimist-options-4.1.0"
       sources."mri-1.2.0"
       sources."ms-2.1.2"
@@ -79602,7 +79538,7 @@ in
       sources."vfile-find-up-6.0.0"
       sources."vfile-location-4.0.1"
       sources."vfile-message-3.1.2"
-      (sources."vfile-reporter-7.0.3" // {
+      (sources."vfile-reporter-7.0.4" // {
         dependencies = [
           sources."ansi-regex-6.0.1"
           sources."emoji-regex-9.2.2"
@@ -79687,7 +79623,7 @@ in
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."browserslist-4.20.2"
-      sources."caniuse-lite-1.0.30001319"
+      sources."caniuse-lite-1.0.30001320"
       sources."chalk-2.4.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
@@ -79697,7 +79633,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.88"
+      sources."electron-to-chromium-1.4.96"
       sources."ensure-posix-path-1.1.1"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
@@ -79740,13 +79676,12 @@ in
       })
       sources."js-tokens-4.0.0"
       sources."jsesc-2.5.2"
-      sources."json5-2.2.0"
+      sources."json5-2.2.1"
       sources."jsonfile-4.0.0"
       sources."jsonlint-1.6.3"
       sources."lodash-4.17.21"
       sources."matcher-collection-1.1.2"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
       sources."moment-2.29.1"
       sources."ms-2.1.2"
       sources."node-releases-2.0.2"
@@ -79989,7 +79924,7 @@ in
     dependencies = [
       sources."@types/glob-7.2.0"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."chromium-pickle-js-0.2.0"
@@ -80035,8 +79970,8 @@ in
       sources."inherits-2.0.4"
       sources."isstream-0.1.2"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."once-1.4.0"
       (sources."optimist-0.6.1" // {
         dependencies = [
@@ -80074,8 +80009,8 @@ in
     };
     dependencies = [
       sources."browserslist-4.20.2"
-      sources."caniuse-lite-1.0.30001319"
-      sources."electron-to-chromium-1.4.88"
+      sources."caniuse-lite-1.0.30001320"
+      sources."electron-to-chromium-1.4.96"
       sources."escalade-3.1.1"
       sources."fraction.js-4.2.0"
       sources."node-releases-2.0.2"
@@ -80103,14 +80038,14 @@ in
     };
     dependencies = [
       sources."@tootallnate/once-1.1.2"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/yauzl-2.9.2"
       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.1096.0" // {
+      (sources."aws-sdk-2.1101.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -80195,7 +80130,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
-      sources."inquirer-8.2.1"
+      sources."inquirer-8.2.2"
       sources."ip-1.1.5"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-interactive-1.0.0"
@@ -80210,7 +80145,7 @@ in
       sources."lru-cache-5.1.1"
       sources."mimic-fn-2.1.0"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."mkdirp-1.0.4"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
@@ -80267,7 +80202,7 @@ in
       sources."supports-color-7.2.0"
       (sources."tar-fs-2.0.0" // {
         dependencies = [
-          sources."mkdirp-0.5.5"
+          sources."mkdirp-0.5.6"
         ];
       })
       sources."tar-stream-2.2.0"
@@ -80335,7 +80270,7 @@ in
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/eslint-7.29.0"
       sources."@types/estree-0.0.51"
-      sources."@types/json-schema-7.0.10"
+      sources."@types/json-schema-7.0.11"
       sources."@types/mdast-3.0.10"
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
@@ -80489,7 +80424,7 @@ in
       sources."meow-9.0.0"
       sources."merge2-1.4.1"
       sources."micromark-2.11.4"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."min-indent-1.0.1"
@@ -80728,13 +80663,13 @@ in
   balanceofsatoshis = nodeEnv.buildNodePackage {
     name = "balanceofsatoshis";
     packageName = "balanceofsatoshis";
-    version = "11.61.0";
+    version = "11.61.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/balanceofsatoshis/-/balanceofsatoshis-11.61.0.tgz";
-      sha512 = "SpGHPFbFN1+fxIUouOuMaPpgJoMOqdHTcAdNGbz4daEan3/bHDgJHGmf0sRpAgJLuNdjG7dLZK/e716p7+AS4A==";
+      url = "https://registry.npmjs.org/balanceofsatoshis/-/balanceofsatoshis-11.61.3.tgz";
+      sha512 = "+ORg7HujAcHBRnOycZsbkVaNESplxHqYUxbtfZ1jSqNRoIf/mjQhpzTa4L5huBk7C+nFnx/rbfJn+xFIeL7ebA==";
     };
     dependencies = [
-      (sources."@alexbosworth/caporal-1.4.0" // {
+      (sources."@alexbosworth/caporal-1.4.1" // {
         dependencies = [
           sources."colorette-1.4.0"
         ];
@@ -80743,7 +80678,7 @@ in
       sources."@alexbosworth/fiat-1.0.1"
       sources."@alexbosworth/html2unicode-1.1.5"
       sources."@alexbosworth/node-fetch-2.6.2"
-      (sources."@alexbosworth/prettyjson-1.2.1" // {
+      (sources."@alexbosworth/prettyjson-1.2.2" // {
         dependencies = [
           sources."colors-1.1.2"
         ];
@@ -80780,7 +80715,7 @@ in
       sources."@types/express-serve-static-core-4.17.28"
       sources."@types/long-4.0.1"
       sources."@types/mime-1.3.2"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
       sources."@types/request-2.48.7"
@@ -80795,7 +80730,7 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."ajv-8.10.0"
+      sources."ajv-8.11.0"
       sources."ansi-0.3.1"
       sources."ansi-align-3.0.1"
       sources."ansi-escapes-1.4.0"
@@ -80989,7 +80924,7 @@ in
       sources."imurmurhash-0.1.4"
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
-      (sources."inquirer-8.2.1" // {
+      (sources."inquirer-8.2.2" // {
         dependencies = [
           sources."ansi-escapes-4.3.2"
           sources."ansi-styles-4.3.0"
@@ -81125,6 +81060,7 @@ in
       })
       (sources."ln-service-53.9.3" // {
         dependencies = [
+          sources."@types/node-17.0.21"
           sources."@types/request-2.48.8"
           sources."@types/ws-8.5.2"
           sources."bolt09-0.2.2"
@@ -81185,8 +81121,8 @@ in
       sources."mimic-response-1.0.1"
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."moment-2.29.1"
       (sources."morgan-1.10.0" // {
         dependencies = [
@@ -81632,7 +81568,7 @@ in
       sources."isarray-1.0.0"
       sources."markdown-escapes-1.0.4"
       sources."mimic-response-2.1.0"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."mkdirp-classic-0.5.3"
       sources."ms-2.1.2"
       sources."nan-2.15.0"
@@ -81806,8 +81742,8 @@ in
       sources."meow-3.7.0"
       sources."mime-db-1.52.0"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."ms-2.0.0"
       sources."natives-1.1.6"
       sources."normalize-package-data-2.5.0"
@@ -82011,7 +81947,7 @@ in
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."mkdirp-classic-0.5.3"
       sources."module-deps-6.2.3"
       sources."object-assign-4.1.1"
@@ -82120,7 +82056,7 @@ in
       sources."@types/component-emitter-1.2.11"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."accepts-1.3.8"
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-2.2.1"
@@ -82222,7 +82158,7 @@ in
       })
       sources."lodash-4.17.21"
       sources."lodash.isfinite-3.3.2"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."mime-1.4.1"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
@@ -82600,9 +82536,9 @@ in
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."minimist-options-4.1.0"
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       sources."moment-2.29.1"
       sources."moment-duration-format-2.3.2"
       (sources."morgan-1.10.0" // {
@@ -82809,7 +82745,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.1"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."addr-to-ip-port-1.5.4"
       sources."airplay-js-0.2.16"
       sources."ajv-6.12.6"
@@ -82922,7 +82858,7 @@ in
       sources."form-data-2.3.3"
       (sources."fs-chunk-store-1.7.0" // {
         dependencies = [
-          sources."mkdirp-0.5.5"
+          sources."mkdirp-0.5.6"
           sources."thunky-1.1.0"
         ];
       })
@@ -82995,7 +82931,7 @@ in
       sources."mime-types-2.1.35"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."mkdirp-0.3.5"
       sources."mkdirp-classic-0.5.3"
       sources."ms-2.1.2"
@@ -83052,7 +82988,7 @@ in
           sources."supports-color-0.2.0"
         ];
       })
-      sources."plist-3.0.4"
+      sources."plist-3.0.5"
       sources."process-nextick-args-2.0.1"
       sources."promiscuous-0.6.0"
       sources."protobufjs-6.11.2"
@@ -83236,7 +83172,7 @@ in
       sources."agent-base-4.3.0"
       sources."ansi-align-2.0.0"
       sources."ansi-escapes-3.2.0"
-      sources."ansi-regex-3.0.0"
+      sources."ansi-regex-3.0.1"
       sources."ansi-styles-3.2.1"
       sources."any-observable-0.3.0"
       (sources."app-path-2.2.0" // {
@@ -83546,14 +83482,14 @@ in
       sources."mimic-fn-1.2.0"
       sources."min-document-2.19.0"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."minimist-options-3.0.2"
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
           sources."is-extendable-1.0.1"
         ];
       })
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       sources."ms-2.0.0"
       sources."mute-stream-0.0.7"
       sources."nanoid-2.1.11"
@@ -83607,7 +83543,7 @@ in
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
       sources."pixelmatch-4.0.2"
-      (sources."plist-3.0.4" // {
+      (sources."plist-3.0.5" // {
         dependencies = [
           sources."xmlbuilder-9.0.7"
         ];
@@ -83816,10 +83752,10 @@ in
   cdk8s-cli = nodeEnv.buildNodePackage {
     name = "cdk8s-cli";
     packageName = "cdk8s-cli";
-    version = "1.0.128";
+    version = "1.0.134";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cdk8s-cli/-/cdk8s-cli-1.0.128.tgz";
-      sha512 = "hhXceq69uEFSh8V3nDqTzBNGeqiyB9AgqJdzNtuNk9oGG5tLaVGmFxgu8lFxBga+DKOFewwOk0FzJwJRJabAXg==";
+      url = "https://registry.npmjs.org/cdk8s-cli/-/cdk8s-cli-1.0.134.tgz";
+      sha512 = "piVuRH84D5xsGeC7uOOGQNBR7JrhrDT+6g5GEM4EOZf1XjxeuH15YfRsI6+ukexwq85kseEoCWltcOvGZefYQQ==";
     };
     dependencies = [
       sources."@jsii/check-node-1.55.1"
@@ -83829,7 +83765,7 @@ in
       sources."@nodelib/fs.walk-1.2.8"
       sources."@types/node-12.20.47"
       sources."@xmldom/xmldom-0.8.1"
-      sources."ajv-8.10.0"
+      sources."ajv-8.11.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."at-least-node-1.0.0"
@@ -83838,8 +83774,8 @@ in
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
       sources."case-1.6.3"
-      sources."cdk8s-1.5.46"
-      sources."cdk8s-plus-22-1.0.0-beta.151"
+      sources."cdk8s-1.5.52"
+      sources."cdk8s-plus-22-1.0.0-beta.158"
       sources."chalk-4.1.2"
       sources."cliui-7.0.4"
       sources."clone-2.1.2"
@@ -83852,8 +83788,8 @@ in
       sources."color-name-1.1.4"
       sources."colors-1.4.0"
       sources."commonmark-0.30.0"
-      sources."constructs-3.3.246"
-      sources."date-format-4.0.5"
+      sources."constructs-3.3.250"
+      sources."date-format-4.0.6"
       sources."debug-4.3.4"
       sources."decamelize-5.0.1"
       sources."deep-equal-2.0.5"
@@ -83939,24 +83875,24 @@ in
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-srcmak-0.1.506" // {
+      (sources."jsii-srcmak-0.1.512" // {
         dependencies = [
           sources."fs-extra-9.1.0"
         ];
       })
       sources."json-schema-0.4.0"
       sources."json-schema-traverse-1.0.0"
-      sources."json2jsii-0.2.166"
+      sources."json2jsii-0.2.172"
       sources."jsonfile-6.1.0"
       sources."jsonschema-1.4.0"
       sources."locate-path-5.0.0"
-      sources."log4js-6.4.3"
+      sources."log4js-6.4.4"
       sources."lower-case-2.0.2"
       sources."lru-cache-6.0.0"
       sources."mdurl-1.0.1"
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
-      sources."minimist-1.2.5"
+      sources."micromatch-4.0.5"
+      sources."minimist-1.2.6"
       sources."ms-2.1.2"
       sources."ncp-2.0.0"
       sources."no-case-3.0.4"
@@ -83990,8 +83926,8 @@ in
       sources."snake-case-3.0.4"
       sources."sort-json-2.0.1"
       sources."spdx-license-list-6.4.0"
-      sources."sscaff-1.2.232"
-      (sources."streamroller-3.0.5" // {
+      sources."sscaff-1.2.239"
+      (sources."streamroller-3.0.6" // {
         dependencies = [
           sources."fs-extra-10.0.1"
         ];
@@ -84017,7 +83953,7 @@ in
       sources."xmlbuilder-15.1.1"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
-      sources."yaml-2.0.0-10"
+      sources."yaml-2.0.0-11"
       (sources."yargs-15.4.1" // {
         dependencies = [
           sources."camelcase-5.3.1"
@@ -84072,7 +84008,7 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/node-fetch-2.6.1"
       sources."@xmldom/xmldom-0.8.1"
       sources."ansi-regex-5.0.1"
@@ -84100,8 +84036,8 @@ in
       sources."combined-stream-1.0.8"
       sources."commonmark-0.30.0"
       sources."concat-map-0.0.1"
-      sources."constructs-10.0.91"
-      sources."date-format-4.0.5"
+      sources."constructs-10.0.97"
+      sources."date-format-4.0.6"
       sources."debug-4.3.4"
       sources."decamelize-1.2.0"
       sources."deep-equal-2.0.5"
@@ -84237,7 +84173,7 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-srcmak-0.1.506" // {
+      (sources."jsii-srcmak-0.1.512" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."jsonfile-6.1.0"
@@ -84248,15 +84184,15 @@ in
       sources."jsonfile-4.0.0"
       sources."jsonschema-1.4.0"
       sources."locate-path-5.0.0"
-      sources."log4js-6.4.3"
+      sources."log4js-6.4.4"
       sources."lru-cache-6.0.0"
       sources."mdurl-1.0.1"
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."ms-2.1.2"
       sources."ncp-2.0.0"
       sources."node-fetch-2.6.7"
@@ -84273,7 +84209,7 @@ in
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."picomatch-2.3.1"
-      sources."prettier-2.6.0"
+      sources."prettier-2.6.1"
       sources."punycode-2.1.1"
       sources."queue-microtask-1.2.3"
       sources."regexp.prototype.flags-1.4.1"
@@ -84294,7 +84230,7 @@ in
       sources."sort-json-2.0.1"
       sources."source-map-0.5.7"
       sources."spdx-license-list-6.4.0"
-      (sources."streamroller-3.0.5" // {
+      (sources."streamroller-3.0.6" // {
         dependencies = [
           sources."fs-extra-10.0.1"
           sources."jsonfile-6.1.0"
@@ -84582,10 +84518,10 @@ in
   coc-clangd = nodeEnv.buildNodePackage {
     name = "coc-clangd";
     packageName = "coc-clangd";
-    version = "0.20.1";
+    version = "0.21.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-clangd/-/coc-clangd-0.20.1.tgz";
-      sha512 = "0c5ZTX97cOJPSbYaIvUo2fGn0sSB3ZIYdhfhnXAX51c86aUgYqVE0Us3VVfFAnLmVvoufu8uW4fmtZXTAWahBw==";
+      url = "https://registry.npmjs.org/coc-clangd/-/coc-clangd-0.21.1.tgz";
+      sha512 = "222VMJBKE4ReyznvWjgJv4lZFtCrkEnKfJk4cL20SH+74x95JP2N0ujNtUiggBhaWcxvOiQxRt467NuVI48Fxg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -84600,10 +84536,10 @@ in
   coc-cmake = nodeEnv.buildNodePackage {
     name = "coc-cmake";
     packageName = "coc-cmake";
-    version = "0.2.0";
+    version = "0.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-cmake/-/coc-cmake-0.2.0.tgz";
-      sha512 = "hRCKiKikjEIUNrfBeb0IdbL3vvlU4inXtSOntfJF2Uhwv2V/KorK0KxdGeg6CTl6b0hhA53nieJaxQZSNVLfUA==";
+      url = "https://registry.npmjs.org/coc-cmake/-/coc-cmake-0.2.1.tgz";
+      sha512 = "ejY7j6/kj4hrAC5DnrItsO8PohxLNvEJr13hSHL8ZLL8c0SVPYnH+NyDaRHw4IVFeZvP70PZs5I5BBinCISHMg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -84635,10 +84571,10 @@ in
   coc-diagnostic = nodeEnv.buildNodePackage {
     name = "coc-diagnostic";
     packageName = "coc-diagnostic";
-    version = "0.23.1";
+    version = "0.23.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-diagnostic/-/coc-diagnostic-0.23.1.tgz";
-      sha512 = "LttYS+gGH42SI5XFuIf9TdAGRRKABQvQDbMeUDrUqdpscX90WvHYdeR8M1q94RwoZH33g/4oxWu0RLPKxgDJKw==";
+      url = "https://registry.npmjs.org/coc-diagnostic/-/coc-diagnostic-0.23.2.tgz";
+      sha512 = "E25+KhDPSUloQifiFPgoWZDIGpDH+MPF6Yi5WCjnNaztExFph5GYLjwsYdO0vV0IYxNgkpzr0YZNPOZt+2AB1g==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -84694,10 +84630,10 @@ in
   coc-explorer = nodeEnv.buildNodePackage {
     name = "coc-explorer";
     packageName = "coc-explorer";
-    version = "0.22.8";
+    version = "0.22.9";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-explorer/-/coc-explorer-0.22.8.tgz";
-      sha512 = "VT4py06xmxex1hd+qx3IrjodV5xz67KTV7x6cEOzwm3CcJPC8OGLJOMenRYXcrihSU0Bm7VKaYUWauTXIlTpXQ==";
+      url = "https://registry.npmjs.org/coc-explorer/-/coc-explorer-0.22.9.tgz";
+      sha512 = "HzIKBNcTpmvqc38grrktkdCTxCZvee2UwZ7qD67Y5xxN2aipDCW9IOeqTATiX56zWCcYeq/iNZjBvvMe3OlNjQ==";
     };
     dependencies = [
       sources."@sindresorhus/df-3.1.1"
@@ -84794,20 +84730,16 @@ in
   coc-go = nodeEnv.buildNodePackage {
     name = "coc-go";
     packageName = "coc-go";
-    version = "1.1.0";
+    version = "1.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-go/-/coc-go-1.1.0.tgz";
-      sha512 = "TWVSA2l2vTFSb+F1FJAPSLOntDALjqpvyNL9vWIwKeRKRCWdUI9klQcYTMlCRCPKbthzuD4xUq6bW3wvuoZUBg==";
+      url = "https://registry.npmjs.org/coc-go/-/coc-go-1.2.1.tgz";
+      sha512 = "wC3hU4P7w9QtGUNng4lb3PFjfZvOwaSCz9V/M7xcnscuyyoA1j0nNB1/GsBNmW7xnhRS4kEfRPeeHwvj/3YYmA==";
     };
     dependencies = [
       sources."isexe-2.0.0"
-      sources."node-fetch-2.6.7"
-      sources."tr46-0.0.3"
       sources."tslib-2.3.1"
       sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-uri-3.0.3"
-      sources."webidl-conversions-3.0.1"
-      sources."whatwg-url-5.0.0"
       sources."which-2.0.2"
     ];
     buildInputs = globalBuildInputs;
@@ -84845,7 +84777,7 @@ in
       sha512 = "HtFYiBx2ZIFairTsfDwLsMUTGwlH498VzAipWZeCOIGf7ZXetEbv0t+wr7IAy2KMIwhlmzoMsi5aHSlUupxGHA==";
     };
     dependencies = [
-      sources."typescript-4.6.2"
+      sources."typescript-4.6.3"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -84972,7 +84904,7 @@ in
       sha512 = "zFExh1wGAZl4LXSp76NAjWORO9Tyhfw8WtALnhDv741p4tjWjVSEl6GmXTQN0U0tXz8UZ8ln2rL2OaxOdgMCTA==";
     };
     dependencies = [
-      sources."@chemzqm/neovim-5.7.6"
+      sources."@chemzqm/neovim-5.7.7"
       sources."@tootallnate/once-1.1.2"
       sources."agent-base-6.0.2"
       sources."arch-2.2.0"
@@ -85001,7 +84933,7 @@ in
           sources."which-1.3.1"
         ];
       })
-      sources."date-format-4.0.5"
+      sources."date-format-4.0.6"
       sources."debounce-1.2.1"
       sources."debug-4.3.4"
       sources."deep-extend-0.6.0"
@@ -85022,7 +84954,7 @@ in
       sources."fs.realpath-1.0.0"
       (sources."fstream-1.0.12" // {
         dependencies = [
-          sources."mkdirp-0.5.5"
+          sources."mkdirp-0.5.6"
           sources."rimraf-2.7.1"
         ];
       })
@@ -85070,11 +85002,11 @@ in
         ];
       })
       sources."lodash-4.17.21"
-      sources."log4js-6.4.3"
+      sources."log4js-6.4.4"
       sources."lru-cache-6.0.0"
       sources."metals-languageclient-0.4.2"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."minipass-3.1.6"
       sources."minizlib-2.1.2"
       sources."mkdirp-1.0.4"
@@ -85083,7 +85015,7 @@ in
       (sources."mv-2.1.1" // {
         dependencies = [
           sources."glob-6.0.4"
-          sources."mkdirp-0.5.5"
+          sources."mkdirp-0.5.6"
           sources."rimraf-2.4.5"
         ];
       })
@@ -85120,7 +85052,7 @@ in
       sources."shell-quote-1.7.3"
       sources."side-channel-1.0.4"
       sources."signal-exit-3.0.7"
-      sources."streamroller-3.0.5"
+      sources."streamroller-3.0.6"
       sources."string.prototype.trimend-1.0.4"
       sources."string.prototype.trimstart-1.0.4"
       (sources."string_decoder-1.1.1" // {
@@ -85191,7 +85123,7 @@ in
       sha512 = "LkwQTBlD/chH0BTl7zFMw+M1CKbVIy8W49nVLuB+wmgS3dqnKZo58PRTYkcX2X25/FIWOh/oMSjWoZ8cTck8zQ==";
     };
     dependencies = [
-      sources."prettier-2.6.0"
+      sources."prettier-2.6.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -85206,13 +85138,13 @@ in
   coc-pyright = nodeEnv.buildNodePackage {
     name = "coc-pyright";
     packageName = "coc-pyright";
-    version = "1.1.231";
+    version = "1.1.232";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-pyright/-/coc-pyright-1.1.231.tgz";
-      sha512 = "iCzwTwFFYd7FoSIM2aKNWDOmX+zdSCt0ss9pBX7fu0Me0JCkJllr/AbUP53fRgBSqJsjoifkdGisuYt2fwd5KA==";
+      url = "https://registry.npmjs.org/coc-pyright/-/coc-pyright-1.1.232.tgz";
+      sha512 = "1ytGBG4gmz/M/6guRKUvTSltXDpoWlcbqq7RsMi3fFEBhYvSQVpy3MkKgxjkJNVbp+YKuJpcuNAhCIjq0+BHAg==";
     };
     dependencies = [
-      sources."pyright-1.1.231"
+      sources."pyright-1.1.233"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -85286,10 +85218,10 @@ in
   coc-rust-analyzer = nodeEnv.buildNodePackage {
     name = "coc-rust-analyzer";
     packageName = "coc-rust-analyzer";
-    version = "0.61.0";
+    version = "0.61.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-rust-analyzer/-/coc-rust-analyzer-0.61.0.tgz";
-      sha512 = "PEsF2dRrFUapp477XcmgCSewU+lS+h238AwxmDrIzkAFKUImiOJYsGArFLGWUA4g63PLCvq4mAx26TPvNoLirA==";
+      url = "https://registry.npmjs.org/coc-rust-analyzer/-/coc-rust-analyzer-0.61.1.tgz";
+      sha512 = "xQtIB93k8SIlK6tOS1XEpdFAypU8mLVWhqsPkfV8Hf7AP3m4prErooMS8Du/9AMRqwL2nQxsBjAwpWYI/gJCgA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -85322,10 +85254,10 @@ in
   coc-snippets = nodeEnv.buildNodePackage {
     name = "coc-snippets";
     packageName = "coc-snippets";
-    version = "3.0.4";
+    version = "3.0.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-snippets/-/coc-snippets-3.0.4.tgz";
-      sha512 = "r0eiwarOCw+RWbbhXuwd+bYAxC30Rgqe21n7EA9NMtJMy7gCcEFt4AuW2OuNDL+4VgYlyVc4rAcpq1xqXjfffA==";
+      url = "https://registry.npmjs.org/coc-snippets/-/coc-snippets-3.0.5.tgz";
+      sha512 = "fyJwbwX6FJVNb8NMmkyN2JDj5pr/imvfOCePPvkHiQCybnU82YM05+CKpBIAUBfxzwkBLQq64V4D7LD+lrUVLQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -85401,7 +85333,7 @@ in
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
       sources."@types/unist-2.0.6"
-      sources."ajv-8.10.0"
+      sources."ajv-8.11.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-3.2.1"
       sources."array-union-2.1.0"
@@ -85424,7 +85356,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001319"
+      sources."caniuse-lite-1.0.30001320"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -85461,7 +85393,7 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.7.0"
-      sources."electron-to-chromium-1.4.88"
+      sources."electron-to-chromium-1.4.96"
       sources."emoji-regex-8.0.0"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
@@ -85529,7 +85461,7 @@ in
       sources."jsesc-2.5.2"
       sources."json-parse-even-better-errors-2.3.1"
       sources."json-schema-traverse-1.0.0"
-      sources."json5-2.2.0"
+      sources."json5-2.2.1"
       sources."kind-of-6.0.3"
       sources."known-css-properties-0.21.0"
       sources."lines-and-columns-1.2.4"
@@ -85547,10 +85479,10 @@ in
       sources."meow-9.0.0"
       sources."merge2-1.4.1"
       sources."micromark-2.11.4"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."min-indent-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       (sources."minimist-options-4.1.0" // {
         dependencies = [
           sources."is-plain-obj-1.1.0"
@@ -85770,8 +85702,8 @@ in
       sources."js-tokens-4.0.0"
       sources."js-yaml-3.14.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."path-parse-1.0.7"
@@ -85832,13 +85764,13 @@ in
   coc-tsserver = nodeEnv.buildNodePackage {
     name = "coc-tsserver";
     packageName = "coc-tsserver";
-    version = "1.9.14";
+    version = "1.9.15";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-tsserver/-/coc-tsserver-1.9.14.tgz";
-      sha512 = "MiyV1Tq5Jpj6P0t3PVb3IFyrfOm93E29Oz90nCfSdMBW+yY0U4H4uE5V9AKO3zhVFhzHRwalYfaFxf/6VCmkgA==";
+      url = "https://registry.npmjs.org/coc-tsserver/-/coc-tsserver-1.9.15.tgz";
+      sha512 = "7mvLHnOqiXl0sk6mq78SmdIYL0nouIzejpTDgRlRjUrAXTCqXfpFVqfJg+2xASpcGTR5nH1lYMk/LXRrnFltIw==";
     };
     dependencies = [
-      sources."typescript-4.6.2"
+      sources."typescript-4.6.3"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -85993,8 +85925,8 @@ in
       sources."lodash.truncate-4.4.2"
       sources."lru-cache-6.0.0"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."ms-2.1.2"
       sources."natural-compare-1.4.0"
       sources."object-assign-4.1.1"
@@ -86005,7 +85937,7 @@ in
       sources."path-key-3.1.1"
       sources."path-parse-1.0.7"
       sources."prelude-ls-1.2.1"
-      sources."prettier-2.6.0"
+      sources."prettier-2.6.1"
       sources."progress-2.0.3"
       sources."pug-error-2.0.0"
       sources."pug-lexer-5.0.1"
@@ -86033,7 +85965,7 @@ in
       sources."supports-preserve-symlinks-flag-1.0.0"
       (sources."table-6.8.0" // {
         dependencies = [
-          sources."ajv-8.10.0"
+          sources."ajv-8.11.0"
           sources."json-schema-traverse-1.0.0"
         ];
       })
@@ -86049,7 +85981,7 @@ in
       sources."tsutils-2.29.0"
       sources."type-check-0.4.0"
       sources."type-fest-0.20.2"
-      sources."typescript-4.6.2"
+      sources."typescript-4.6.3"
       sources."uri-js-4.4.1"
       sources."v8-compile-cache-2.3.0"
       sources."vls-0.7.6"
@@ -86095,10 +86027,10 @@ in
   coc-vimtex = nodeEnv.buildNodePackage {
     name = "coc-vimtex";
     packageName = "coc-vimtex";
-    version = "1.1.4";
+    version = "1.1.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-vimtex/-/coc-vimtex-1.1.4.tgz";
-      sha512 = "w3bJrPoNkx5uiydRRPQ5Xqx01voizi0CxTh7/V7MJsuTP+2KNHRselm3cZcit79OyzO9rF1R0PGlDwLgPf54gg==";
+      url = "https://registry.npmjs.org/coc-vimtex/-/coc-vimtex-1.1.5.tgz";
+      sha512 = "3SY6vFcmBO8u6/6zrBzqgwCbus8k7877UCNVEua8lgC+T4tKgB4w9VthikMEcoUDPK17/QbLITSB+yPDNebbHw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -86250,7 +86182,7 @@ in
       sources."isexe-2.0.0"
       sources."isurl-1.0.0"
       sources."js2xmlparser-4.0.2"
-      sources."json5-2.2.0"
+      sources."json5-2.2.1"
       sources."jsonfile-4.0.0"
       sources."lowercase-keys-1.0.1"
       (sources."make-dir-1.3.0" // {
@@ -86259,8 +86191,8 @@ in
         ];
       })
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."nice-try-1.0.5"
       (sources."npm-conf-1.1.3" // {
         dependencies = [
@@ -86277,7 +86209,7 @@ in
       sources."pify-2.3.0"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
-      sources."plist-3.0.4"
+      sources."plist-3.0.5"
       sources."prepend-http-1.0.4"
       sources."process-nextick-args-2.0.1"
       sources."proto-list-1.2.4"
@@ -86365,7 +86297,7 @@ in
       sha512 = "jARqwj0uyTfbcsTr3IDoaGI6ZXUV8e8qVjw+LaRBujvjgsiWypJweze5IZy0/sjNEKlptwB7GDjmuphtBzngFA==";
     };
     dependencies = [
-      sources."ansi-regex-3.0.0"
+      sources."ansi-regex-3.0.1"
       sources."ansi-styles-3.2.1"
       sources."axios-0.21.4"
       sources."chalk-2.4.2"
@@ -86644,7 +86576,7 @@ in
         ];
       })
       sources."min-indent-1.0.1"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."minimist-options-4.1.0"
       sources."modify-values-1.0.1"
       sources."neo-async-2.6.2"
@@ -86757,7 +86689,7 @@ in
       sources."ajv-6.12.6"
       (sources."ajv-formats-2.1.1" // {
         dependencies = [
-          sources."ajv-8.10.0"
+          sources."ajv-8.11.0"
           sources."json-schema-traverse-1.0.0"
         ];
       })
@@ -86846,7 +86778,7 @@ in
       sources."concat-map-0.0.1"
       (sources."conf-10.1.1" // {
         dependencies = [
-          sources."ajv-8.10.0"
+          sources."ajv-8.11.0"
           sources."dot-prop-6.0.1"
           sources."json-schema-traverse-1.0.0"
         ];
@@ -87004,7 +86936,7 @@ in
       sources."init-package-json-2.0.5"
       (sources."inquirer-6.5.2" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
+          sources."ansi-regex-3.0.1"
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
           sources."color-convert-1.9.3"
@@ -87090,14 +87022,14 @@ in
       sources."merge-stream-2.0.0"
       sources."merge2-1.4.1"
       sources."methods-1.1.2"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."mime-1.6.0"
       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.5"
+      sources."minimist-1.2.6"
       sources."minipass-3.1.6"
       sources."minipass-collect-1.0.2"
       sources."minipass-fetch-1.4.1"
@@ -87159,7 +87091,7 @@ in
       sources."picomatch-2.3.1"
       sources."pify-4.0.1"
       sources."pkg-up-3.1.0"
-      sources."plist-3.0.4"
+      sources."plist-3.0.5"
       sources."prepend-http-2.0.0"
       sources."process-nextick-args-2.0.1"
       sources."promise-inflight-1.0.1"
@@ -87408,7 +87340,7 @@ in
       sources."map-obj-4.3.0"
       sources."meow-10.1.2"
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."min-indent-1.0.1"
       (sources."minimist-options-4.1.0" // {
         dependencies = [
@@ -87484,7 +87416,7 @@ in
       sources."@cycle/run-3.4.0"
       sources."@cycle/time-0.10.1"
       sources."@types/cookiejar-2.1.2"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/superagent-3.8.2"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-2.1.1"
@@ -87547,7 +87479,7 @@ in
       sources."inherits-2.0.4"
       (sources."inquirer-3.3.0" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
+          sources."ansi-regex-3.0.1"
           sources."strip-ansi-4.0.0"
         ];
       })
@@ -87568,7 +87500,7 @@ in
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."mimic-fn-1.2.0"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."ms-2.1.3"
       sources."mute-stream-0.0.7"
       sources."next-tick-1.1.0"
@@ -87600,7 +87532,7 @@ in
       sources."sorted-immutable-list-1.1.0"
       (sources."string-width-2.1.1" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
+          sources."ansi-regex-3.0.1"
           sources."strip-ansi-4.0.0"
         ];
       })
@@ -87673,8 +87605,8 @@ in
       sources."kleur-3.0.3"
       sources."lru-cache-6.0.0"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."ms-2.0.0"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
@@ -87748,10 +87680,10 @@ in
   cspell = nodeEnv.buildNodePackage {
     name = "cspell";
     packageName = "cspell";
-    version = "5.19.2";
+    version = "5.19.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cspell/-/cspell-5.19.2.tgz";
-      sha512 = "HqjwOZ5iJ4WBfl6TfQkGXax0uYVL3SI9XAsstFs7yQW+6/DwjgvR7GFTkGH+rZgN5hdGZPk81NYbfNLm0uyKCQ==";
+      url = "https://registry.npmjs.org/cspell/-/cspell-5.19.3.tgz";
+      sha512 = "JJBH8iqtHYmxqLQZ+7GAMTVvc6SAoHVgn1tdYknOI2/uxAbZVH29eaxINY7JfjwPuxPPVAvttRetBAIRiu6ZYw==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -87766,23 +87698,23 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@cspell/cspell-bundled-dicts-5.19.2"
-      sources."@cspell/cspell-pipe-5.19.2"
-      sources."@cspell/cspell-types-5.19.2"
+      sources."@cspell/cspell-bundled-dicts-5.19.3"
+      sources."@cspell/cspell-pipe-5.19.3"
+      sources."@cspell/cspell-types-5.19.3"
       sources."@cspell/dict-ada-2.0.0"
       sources."@cspell/dict-aws-2.0.0"
       sources."@cspell/dict-bash-2.0.1"
-      sources."@cspell/dict-companies-2.0.2"
+      sources."@cspell/dict-companies-2.0.3"
       sources."@cspell/dict-cpp-2.0.0"
       sources."@cspell/dict-cryptocurrencies-2.0.0"
       sources."@cspell/dict-csharp-2.0.1"
       sources."@cspell/dict-css-2.0.0"
       sources."@cspell/dict-dart-1.1.0"
       sources."@cspell/dict-django-2.0.0"
-      sources."@cspell/dict-dotnet-2.0.0"
+      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.1.7"
+      sources."@cspell/dict-en_us-2.2.0"
       sources."@cspell/dict-filetypes-2.0.1"
       sources."@cspell/dict-fonts-2.0.0"
       sources."@cspell/dict-fullstack-2.0.4"
@@ -87804,7 +87736,7 @@ in
       sources."@cspell/dict-ruby-2.0.1"
       sources."@cspell/dict-rust-2.0.0"
       sources."@cspell/dict-scala-2.0.0"
-      sources."@cspell/dict-software-terms-2.1.3"
+      sources."@cspell/dict-software-terms-2.1.4"
       sources."@cspell/dict-swift-1.0.2"
       sources."@cspell/dict-typescript-2.0.0"
       sources."@cspell/dict-vue-2.0.2"
@@ -87827,11 +87759,11 @@ in
       sources."core-util-is-1.0.3"
       sources."cosmiconfig-7.0.1"
       sources."crypto-random-string-2.0.0"
-      sources."cspell-gitignore-5.19.2"
-      sources."cspell-glob-5.19.2"
-      sources."cspell-io-5.19.2"
-      sources."cspell-lib-5.19.2"
-      sources."cspell-trie-lib-5.19.2"
+      sources."cspell-gitignore-5.19.3"
+      sources."cspell-glob-5.19.3"
+      sources."cspell-io-5.19.3"
+      sources."cspell-lib-5.19.3"
+      sources."cspell-trie-lib-5.19.3"
       sources."dot-prop-5.3.0"
       sources."error-ex-1.3.2"
       sources."escape-string-regexp-1.0.5"
@@ -87877,7 +87809,7 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."minimatch-3.1.2"
       sources."once-1.4.0"
       sources."p-limit-3.1.0"
@@ -87968,7 +87900,7 @@ in
       sources."ajv-6.12.6"
       sources."ansi-align-2.0.0"
       sources."ansi-diff-1.1.1"
-      sources."ansi-regex-3.0.0"
+      sources."ansi-regex-3.0.1"
       sources."ansi-split-1.0.1"
       sources."ansi-styles-3.2.1"
       sources."anymatch-2.0.0"
@@ -88274,7 +88206,7 @@ in
       sources."mimic-response-2.1.0"
       sources."min-document-2.19.0"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."mirror-folder-3.1.0"
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
@@ -88391,7 +88323,7 @@ in
       sources."signed-varint-2.0.1"
       sources."simple-concat-1.0.1"
       sources."simple-get-3.1.1"
-      (sources."siphash24-1.3.0" // {
+      (sources."siphash24-1.3.1" // {
         dependencies = [
           sources."nanoassert-2.0.0"
         ];
@@ -88587,7 +88519,7 @@ in
   "deltachat-desktop-../../applications/networking/instant-messengers/deltachat-desktop" = nodeEnv.buildNodePackage {
     name = "deltachat-desktop";
     packageName = "deltachat-desktop";
-    version = "1.26.0";
+    version = "1.28.0";
     src = ../../applications/networking/instant-messengers/deltachat-desktop;
     dependencies = [
       sources."@ampproject/remapping-2.1.2"
@@ -88701,10 +88633,10 @@ in
       sources."@babel/template-7.16.7"
       sources."@babel/traverse-7.17.3"
       sources."@babel/types-7.17.0"
-      sources."@blueprintjs/colors-4.0.0-rc.1"
+      sources."@blueprintjs/colors-4.0.1"
       sources."@blueprintjs/core-3.54.0"
       sources."@blueprintjs/icons-3.33.0"
-      sources."@deltachat/message_parser_wasm-0.1.0"
+      sources."@deltachat/message_parser_wasm-0.3.0"
       sources."@electron/get-1.14.1"
       sources."@hypnosphi/create-react-context-0.3.1"
       sources."@jridgewell/resolve-uri-3.0.5"
@@ -88790,7 +88722,7 @@ in
         ];
       })
       sources."call-bind-1.0.2"
-      sources."caniuse-lite-1.0.30001319"
+      sources."caniuse-lite-1.0.30001320"
       sources."chalk-2.4.2"
       sources."chokidar-2.1.8"
       (sources."class-utils-0.3.6" // {
@@ -88850,21 +88782,21 @@ in
       sources."define-properties-1.1.3"
       sources."define-property-2.0.2"
       sources."delayed-stream-1.0.0"
-      sources."deltachat-node-1.70.0"
+      sources."deltachat-node-1.76.0"
       sources."detect-node-2.1.0"
       sources."dom-helpers-3.4.0"
       sources."dom4-2.1.6"
       sources."duplexer3-0.1.4"
       sources."earcut-2.2.3"
-      sources."electron-13.6.9"
-      sources."electron-to-chromium-1.4.88"
+      sources."electron-14.2.8"
+      sources."electron-to-chromium-1.4.96"
       sources."emoji-js-clean-4.0.0"
       sources."emoji-mart-3.0.1"
       sources."emoji-regex-9.2.2"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
       sources."env-paths-2.2.1"
-      sources."error-stack-parser-2.0.6"
+      sources."error-stack-parser-2.0.7"
       sources."es6-error-4.1.1"
       sources."esbuild-0.12.29"
       sources."escalade-3.1.1"
@@ -88993,7 +88925,7 @@ in
       sources."jsesc-2.5.2"
       sources."json-buffer-3.0.0"
       sources."json-stringify-safe-5.0.1"
-      sources."json5-2.2.0"
+      sources."json5-2.2.1"
       sources."jsonfile-4.0.0"
       sources."jsqr-1.4.0"
       sources."just-debounce-1.1.0"
@@ -89002,7 +88934,6 @@ in
       sources."kind-of-6.0.3"
       sources."lodash-4.17.21"
       sources."lodash.debounce-4.0.8"
-      sources."lodash.pick-4.4.0"
       sources."loose-envify-1.4.0"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-6.0.0"
@@ -89023,13 +88954,13 @@ in
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."mimic-response-1.0.1"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
           sources."is-extendable-1.0.1"
         ];
       })
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       sources."moment-2.29.1"
       sources."ms-2.1.2"
       sources."murmurhash-js-1.0.0"
@@ -89096,11 +89027,12 @@ in
       sources."react-popper-1.3.11"
       sources."react-qr-reader-2.2.1"
       sources."react-qr-svg-2.4.0"
-      sources."react-string-replace-0.4.4"
+      sources."react-string-replace-1.0.0"
       sources."react-transition-group-2.9.0"
       sources."react-virtualized-auto-sizer-1.0.6"
       sources."react-window-1.8.6"
       sources."react-window-infinite-loader-1.0.7"
+      sources."react-zoom-pan-pinch-2.1.3"
       sources."readable-stream-3.6.0"
       (sources."readdirp-2.2.1" // {
         dependencies = [
@@ -89249,7 +89181,7 @@ in
       sources."type-fest-0.3.1"
       sources."typed-styles-0.0.7"
       sources."typedarray-0.0.6"
-      sources."typescript-4.6.2"
+      sources."typescript-4.6.3"
       sources."unicode-canonical-property-names-ecmascript-2.0.0"
       sources."unicode-match-property-ecmascript-2.0.0"
       sources."unicode-match-property-value-ecmascript-2.0.0"
@@ -89300,7 +89232,7 @@ in
       sha512 = "SfKVTg5qqe5aXSrSAXABM1yJl3OjekhSg6ryJyLjK1015waNj9fmMq8SrHI6qWuICtiprfYbh/f55giBJcC9Ag==";
     };
     dependencies = [
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -89357,7 +89289,7 @@ in
       sources."locate-path-5.0.0"
       sources."lodash-4.17.21"
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."minimatch-3.1.2"
       sources."once-1.4.0"
       sources."p-limit-2.3.0"
@@ -89433,10 +89365,10 @@ in
   elasticdump = nodeEnv.buildNodePackage {
     name = "elasticdump";
     packageName = "elasticdump";
-    version = "6.82.0";
+    version = "6.82.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-6.82.0.tgz";
-      sha512 = "CGEJ1j/anNW4+wiqZAGChSOYGwx8OpqMZa5+AF/r6vQ8ANKlNtQxbuslqYnYD74BayE+aUtLX2YtEUlQ/wmZHQ==";
+      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-6.82.1.tgz";
+      sha512 = "21LnOw92tD3UXOP0/yaWYBig5p28N5q8TTgL64mkIkNWUIKA2gOa+UO+Enejs1Mubo36jNX830w2ea1uJfHcLg==";
     };
     dependencies = [
       sources."@fast-csv/format-4.3.5"
@@ -89448,7 +89380,7 @@ in
       sources."assert-plus-1.0.0"
       sources."async-2.6.3"
       sources."asynckit-0.4.0"
-      sources."aws-sdk-2.1085.0"
+      sources."aws-sdk-2.1097.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
       sources."base64-js-1.5.1"
@@ -89510,7 +89442,7 @@ in
       sources."method-missing-1.2.4"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."oauth-sign-0.9.0"
       sources."p-finally-1.0.0"
       sources."p-queue-6.6.2"
@@ -89643,7 +89575,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.4"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/responselike-1.0.0"
       sources."@types/yauzl-2.9.2"
       sources."abbrev-1.1.1"
@@ -89744,7 +89676,7 @@ in
       sources."detect-node-2.1.0"
       sources."duplexer3-0.1.4"
       sources."ecc-jsbn-0.1.2"
-      (sources."electron-notarize-1.1.1" // {
+      (sources."electron-notarize-1.2.1" // {
         dependencies = [
           sources."fs-extra-9.1.0"
         ];
@@ -89873,7 +89805,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
-      sources."inquirer-8.2.1"
+      sources."inquirer-8.2.2"
       sources."ip-1.1.5"
       sources."is-arrayish-0.2.1"
       sources."is-core-module-2.8.1"
@@ -89919,13 +89851,13 @@ in
       })
       sources."mem-4.3.0"
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
+      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.5"
+      sources."minimist-1.2.6"
       sources."minipass-3.1.6"
       sources."minipass-collect-1.0.2"
       sources."minipass-fetch-1.4.1"
@@ -90006,7 +89938,7 @@ in
           sources."path-exists-4.0.0"
         ];
       })
-      sources."plist-3.0.4"
+      sources."plist-3.0.5"
       sources."prepend-http-2.0.0"
       sources."pretty-bytes-4.0.2"
       sources."pretty-ms-7.0.1"
@@ -90250,7 +90182,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001319"
+      sources."caniuse-lite-1.0.30001320"
       sources."chalk-2.4.2"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
@@ -90279,7 +90211,7 @@ in
         ];
       })
       sources."dot-prop-5.3.0"
-      sources."electron-to-chromium-1.4.88"
+      sources."electron-to-chromium-1.4.96"
       sources."emoji-regex-8.0.0"
       sources."emojilib-2.4.0"
       sources."end-of-stream-1.4.4"
@@ -90342,7 +90274,7 @@ in
       sources."json-parse-even-better-errors-2.3.1"
       sources."json-schema-traverse-0.4.1"
       sources."json-schema-typed-7.0.3"
-      sources."json5-2.2.0"
+      sources."json5-2.2.1"
       sources."kind-of-6.0.3"
       sources."lines-and-columns-1.2.4"
       sources."locate-path-3.0.0"
@@ -90365,7 +90297,6 @@ in
       sources."mimic-fn-3.1.0"
       sources."min-indent-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
       sources."minimist-options-4.1.0"
       sources."ms-2.1.2"
       sources."nice-try-1.0.5"
@@ -90405,7 +90336,7 @@ in
       sources."punycode-2.1.1"
       sources."quick-lru-4.0.1"
       sources."react-16.14.0"
-      sources."react-devtools-core-4.24.1"
+      sources."react-devtools-core-4.24.2"
       sources."react-is-16.13.1"
       sources."react-reconciler-0.26.2"
       (sources."read-pkg-5.2.0" // {
@@ -90548,7 +90479,7 @@ in
       sources."@fluentui/foundation-legacy-8.2.5"
       sources."@fluentui/keyboard-key-0.4.0"
       sources."@fluentui/merge-styles-8.5.0"
-      sources."@fluentui/react-8.62.0"
+      sources."@fluentui/react-8.62.3"
       sources."@fluentui/react-focus-8.5.6"
       sources."@fluentui/react-hooks-8.5.3"
       sources."@fluentui/react-window-provider-2.2.0"
@@ -90611,7 +90542,7 @@ in
       sources."@types/express-serve-static-core-4.17.28"
       sources."@types/file-type-10.9.1"
       sources."@types/js-yaml-4.0.4"
-      sources."@types/json-schema-7.0.10"
+      sources."@types/json-schema-7.0.11"
       sources."@types/lodash-4.14.176"
       sources."@types/mime-1.3.2"
       sources."@types/minimist-1.2.2"
@@ -90658,7 +90589,7 @@ in
       sources."acorn-jsx-5.3.2"
       sources."acorn-walk-8.2.0"
       sources."aggregate-error-3.1.0"
-      sources."ajv-8.10.0"
+      sources."ajv-8.11.0"
       sources."ajv-formats-2.1.1"
       sources."ansi-colors-4.1.1"
       sources."ansi-cyan-0.1.1"
@@ -90770,7 +90701,7 @@ in
       sources."body-parser-1.19.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."bson-4.6.1"
+      sources."bson-4.6.2"
       sources."buffer-5.7.1"
       sources."buffer-equal-1.0.0"
       sources."buffer-from-1.1.2"
@@ -91129,7 +91060,8 @@ in
       sources."fsevents-1.2.13"
       (sources."fstream-1.0.12" // {
         dependencies = [
-          sources."mkdirp-0.5.5"
+          sources."minimist-1.2.6"
+          sources."mkdirp-0.5.6"
         ];
       })
       sources."function-bind-1.1.1"
@@ -91200,7 +91132,8 @@ in
           sources."js-yaml-3.14.1"
           sources."json-schema-traverse-0.4.1"
           sources."levn-0.3.0"
-          sources."mkdirp-0.5.5"
+          sources."minimist-1.2.6"
+          sources."mkdirp-0.5.6"
           sources."ms-2.1.2"
           sources."optionator-0.8.3"
           sources."path-key-2.0.1"
@@ -91402,7 +91335,7 @@ in
       sources."merge-descriptors-1.0.1"
       sources."merge2-1.4.1"
       sources."methods-1.1.2"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."mime-1.6.0"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
@@ -91469,7 +91402,7 @@ in
             ];
           })
           sources."openapi-types-7.2.3"
-          sources."swagger-ui-dist-4.6.2"
+          sources."swagger-ui-dist-4.9.1"
         ];
       })
       (sources."mixin-deep-1.3.2" // {
@@ -91488,7 +91421,8 @@ in
       sources."ms-2.0.0"
       (sources."multer-1.4.3" // {
         dependencies = [
-          sources."mkdirp-0.5.5"
+          sources."minimist-1.2.6"
+          sources."mkdirp-0.5.6"
         ];
       })
       sources."mute-stdout-1.0.1"
@@ -91516,7 +91450,8 @@ in
       sources."node-addon-api-3.2.1"
       (sources."node-gyp-3.8.0" // {
         dependencies = [
-          sources."mkdirp-0.5.5"
+          sources."minimist-1.2.6"
+          sources."mkdirp-0.5.6"
           sources."nopt-3.0.6"
           sources."semver-5.3.0"
           sources."tar-2.2.2"
@@ -91525,7 +91460,8 @@ in
       sources."node-gyp-build-4.3.0"
       (sources."node-pre-gyp-0.11.0" // {
         dependencies = [
-          sources."mkdirp-0.5.5"
+          sources."minimist-1.2.6"
+          sources."mkdirp-0.5.6"
           sources."semver-5.7.1"
         ];
       })
@@ -91900,7 +91836,8 @@ in
       sources."tapable-2.2.1"
       (sources."tar-4.4.19" // {
         dependencies = [
-          sources."mkdirp-0.5.5"
+          sources."minimist-1.2.6"
+          sources."mkdirp-0.5.6"
           sources."safe-buffer-5.2.1"
           sources."yallist-3.1.1"
         ];
@@ -92035,7 +91972,8 @@ in
       sources."wrappy-1.0.2"
       (sources."write-1.0.3" // {
         dependencies = [
-          sources."mkdirp-0.5.5"
+          sources."minimist-1.2.6"
+          sources."mkdirp-0.5.6"
         ];
       })
       sources."ws-6.2.2"
@@ -92081,6 +92019,7 @@ in
     version = "2.6.20";
     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.16.10"
@@ -92102,6 +92041,7 @@ in
       sources."@intervolga/optimize-cssnano-plugin-1.0.6"
       sources."@mdi/font-6.5.95"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
+      sources."@node-ipc/js-queue-2.0.3"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -92126,13 +92066,13 @@ in
       sources."@types/glob-7.2.0"
       sources."@types/hls.js-0.13.3"
       sources."@types/http-proxy-1.17.8"
-      sources."@types/json-schema-7.0.10"
+      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/minimatch-3.0.5"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
       sources."@types/q-1.5.5"
@@ -92167,7 +92107,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.16"
+      sources."@vue/cli-overlay-4.5.17"
       (sources."@vue/cli-plugin-eslint-4.5.12" // {
         dependencies = [
           sources."@nodelib/fs.stat-1.1.3"
@@ -92203,7 +92143,7 @@ in
           sources."to-regex-range-2.1.1"
         ];
       })
-      sources."@vue/cli-plugin-router-4.5.16"
+      sources."@vue/cli-plugin-router-4.5.17"
       (sources."@vue/cli-plugin-typescript-4.5.13" // {
         dependencies = [
           sources."@nodelib/fs.stat-1.1.3"
@@ -92254,7 +92194,7 @@ in
           sources."universalify-0.1.2"
         ];
       })
-      (sources."@vue/cli-shared-utils-4.5.16" // {
+      (sources."@vue/cli-shared-utils-4.5.17" // {
         dependencies = [
           sources."lru-cache-5.1.1"
           sources."semver-6.3.0"
@@ -92447,7 +92387,7 @@ in
       sources."camel-case-3.0.0"
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001319"
+      sources."caniuse-lite-1.0.30001320"
       sources."case-sensitive-paths-webpack-plugin-2.4.0"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
@@ -92688,7 +92628,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.88"
+      sources."electron-to-chromium-1.4.96"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -93085,7 +93025,6 @@ in
       sources."isstream-0.1.2"
       sources."javascript-stringify-2.1.0"
       sources."js-message-1.0.7"
-      sources."js-queue-2.0.2"
       sources."js-tokens-4.0.0"
       sources."js-yaml-3.14.1"
       sources."jsbn-0.1.1"
@@ -93150,7 +93089,7 @@ in
       sources."merge2-1.4.1"
       sources."methods-1.1.2"
       sources."microevent.ts-0.1.1"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       (sources."miller-rabin-4.0.1" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -93168,7 +93107,7 @@ in
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."minipass-3.1.6"
       sources."mississippi-3.0.0"
       (sources."mixin-deep-1.3.2" // {
@@ -93176,7 +93115,7 @@ in
           sources."is-extendable-1.0.1"
         ];
       })
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       sources."move-concurrently-1.0.1"
       sources."mpegts.js-1.6.10"
       sources."ms-2.1.2"
@@ -93192,7 +93131,6 @@ in
       sources."nice-try-1.0.5"
       sources."no-case-2.3.2"
       sources."node-forge-0.10.0"
-      sources."node-ipc-9.2.1"
       (sources."node-libs-browser-2.2.1" // {
         dependencies = [
           sources."punycode-1.4.1"
@@ -93211,7 +93149,7 @@ in
       sources."nth-check-1.0.2"
       (sources."null-loader-4.0.1" // {
         dependencies = [
-          sources."json5-2.2.0"
+          sources."json5-2.2.1"
           sources."loader-utils-2.0.2"
           sources."schema-utils-3.1.1"
         ];
@@ -93525,7 +93463,7 @@ in
       sources."sass-1.32.12"
       (sources."sass-loader-10.2.0" // {
         dependencies = [
-          sources."json5-2.2.0"
+          sources."json5-2.2.1"
           sources."loader-utils-2.0.2"
           sources."schema-utils-3.1.1"
         ];
@@ -93709,7 +93647,7 @@ in
       sources."svgo-1.3.2"
       (sources."table-6.8.0" // {
         dependencies = [
-          sources."ajv-8.10.0"
+          sources."ajv-8.11.0"
           sources."json-schema-traverse-1.0.0"
         ];
       })
@@ -93851,7 +93789,7 @@ in
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."has-flag-4.0.0"
-          sources."json5-2.2.0"
+          sources."json5-2.2.1"
           sources."loader-utils-2.0.2"
           sources."supports-color-7.2.0"
         ];
@@ -93870,7 +93808,7 @@ in
       (sources."vuetify-loader-1.7.3" // {
         dependencies = [
           sources."file-loader-6.2.0"
-          sources."json5-2.2.0"
+          sources."json5-2.2.1"
           sources."loader-utils-2.0.2"
           sources."schema-utils-3.1.1"
         ];
@@ -94053,10 +93991,10 @@ in
   eslint = nodeEnv.buildNodePackage {
     name = "eslint";
     packageName = "eslint";
-    version = "8.11.0";
+    version = "8.12.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/eslint/-/eslint-8.11.0.tgz";
-      sha512 = "/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA==";
+      url = "https://registry.npmjs.org/eslint/-/eslint-8.12.0.tgz";
+      sha512 = "it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q==";
     };
     dependencies = [
       sources."@eslint/eslintrc-1.2.1"
@@ -94294,7 +94232,7 @@ in
       sources."supports-color-8.1.1"
       (sources."table-6.8.0" // {
         dependencies = [
-          sources."ajv-8.10.0"
+          sources."ajv-8.11.0"
           sources."json-schema-traverse-1.0.0"
         ];
       })
@@ -94347,7 +94285,7 @@ in
       sources."@babel/code-frame-7.10.4"
       (sources."@babel/core-7.9.0" // {
         dependencies = [
-          sources."json5-2.2.0"
+          sources."json5-2.2.1"
           sources."semver-5.7.1"
         ];
       })
@@ -94468,7 +94406,7 @@ in
       })
       sources."@react-native/normalize-color-2.0.0"
       sources."@segment/loosely-validate-event-2.0.0"
-      sources."@sideway/address-4.1.3"
+      sources."@sideway/address-4.1.4"
       sources."@sideway/formula-3.0.0"
       sources."@sideway/pinpoint-2.0.0"
       sources."@sindresorhus/is-4.6.0"
@@ -94480,10 +94418,10 @@ 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/json-schema-7.0.10"
+      sources."@types/json-schema-7.0.11"
       sources."@types/keyv-3.1.4"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/q-1.5.5"
       sources."@types/responselike-1.0.0"
       sources."@types/retry-0.12.1"
@@ -94617,10 +94555,13 @@ in
         dependencies = [
           sources."bytes-3.1.0"
           sources."debug-2.6.9"
+          sources."depd-1.1.2"
           sources."http-errors-1.7.2"
           sources."inherits-2.0.3"
           sources."ms-2.0.0"
+          sources."on-finished-2.3.0"
           sources."setprototypeof-1.1.1"
+          sources."statuses-1.5.0"
           sources."toidentifier-1.0.0"
         ];
       })
@@ -94685,7 +94626,7 @@ in
       })
       sources."camelcase-6.3.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001319"
+      sources."caniuse-lite-1.0.30001320"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -94898,10 +94839,10 @@ in
         ];
       })
       sources."delayed-stream-1.0.0"
-      sources."depd-1.1.2"
+      sources."depd-2.0.0"
       sources."deprecated-decorator-0.1.6"
       sources."des.js-1.0.1"
-      sources."destroy-1.0.4"
+      sources."destroy-1.2.0"
       sources."detect-node-2.1.0"
       (sources."detect-port-alt-1.1.6" // {
         dependencies = [
@@ -94943,7 +94884,7 @@ in
       sources."duplexer3-0.1.4"
       sources."duplexify-3.7.1"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.88"
+      sources."electron-to-chromium-1.4.96"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -95024,12 +94965,15 @@ in
         dependencies = [
           sources."body-parser-1.18.3"
           sources."debug-2.6.9"
+          sources."depd-1.1.2"
+          sources."destroy-1.0.4"
           sources."finalhandler-1.1.1"
           sources."http-errors-1.6.3"
           sources."iconv-lite-0.4.23"
           sources."inherits-2.0.3"
           sources."mime-1.4.1"
           sources."ms-2.0.0"
+          sources."on-finished-2.3.0"
           sources."qs-6.5.2"
           sources."raw-body-2.3.3"
           sources."send-0.16.2"
@@ -95071,6 +95015,8 @@ in
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
+          sources."on-finished-2.3.0"
+          sources."statuses-1.5.0"
         ];
       })
       sources."find-cache-dir-2.1.0"
@@ -95200,7 +95146,7 @@ in
       sources."htmlparser2-4.1.0"
       sources."http-cache-semantics-4.1.0"
       sources."http-deceiver-1.2.7"
-      sources."http-errors-1.8.1"
+      sources."http-errors-2.0.0"
       (sources."http-proxy-1.18.1" // {
         dependencies = [
           sources."eventemitter3-4.0.7"
@@ -95362,7 +95308,7 @@ in
       sources."loader-runner-2.4.0"
       (sources."loader-utils-2.0.2" // {
         dependencies = [
-          sources."json5-2.2.0"
+          sources."json5-2.2.1"
         ];
       })
       sources."locate-path-6.0.0"
@@ -95404,7 +95350,7 @@ in
       sources."merge2-1.4.1"
       sources."methods-1.1.2"
       sources."microevent.ts-0.1.1"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       (sources."miller-rabin-4.0.1" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -95427,7 +95373,7 @@ in
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       (sources."minipass-2.3.5" // {
         dependencies = [
           sources."yallist-3.1.1"
@@ -95459,7 +95405,7 @@ in
           sources."is-extendable-1.0.1"
         ];
       })
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       (sources."move-concurrently-1.0.1" // {
         dependencies = [
           sources."rimraf-2.7.1"
@@ -95532,7 +95478,7 @@ in
       sources."object.pick-1.3.0"
       sources."object.values-1.1.5"
       sources."obuf-1.1.2"
-      sources."on-finished-2.3.0"
+      sources."on-finished-2.4.1"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
@@ -95652,7 +95598,7 @@ in
           sources."path-exists-3.0.0"
         ];
       })
-      sources."plist-3.0.4"
+      sources."plist-3.0.5"
       sources."pngjs-3.4.0"
       sources."pnp-webpack-plugin-1.7.0"
       (sources."portfinder-1.0.28" // {
@@ -95823,9 +95769,11 @@ in
       (sources."raw-body-2.4.0" // {
         dependencies = [
           sources."bytes-3.1.0"
+          sources."depd-1.1.2"
           sources."http-errors-1.7.2"
           sources."inherits-2.0.3"
           sources."setprototypeof-1.1.1"
+          sources."statuses-1.5.0"
           sources."toidentifier-1.0.0"
         ];
       })
@@ -95843,7 +95791,7 @@ in
           sources."find-up-4.1.0"
           sources."globby-11.0.1"
           sources."is-wsl-2.2.0"
-          sources."json5-2.2.0"
+          sources."json5-2.2.1"
           sources."loader-utils-2.0.0"
           sources."locate-path-5.0.0"
           sources."node-releases-1.1.77"
@@ -95937,7 +95885,7 @@ in
       sources."select-hose-2.0.0"
       sources."selfsigned-1.10.14"
       sources."semver-7.3.2"
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
           (sources."debug-2.6.9" // {
             dependencies = [
@@ -95953,13 +95901,15 @@ in
       (sources."serve-index-1.9.1" // {
         dependencies = [
           sources."debug-2.6.9"
+          sources."depd-1.1.2"
           sources."http-errors-1.6.3"
           sources."inherits-2.0.3"
           sources."ms-2.0.0"
           sources."setprototypeof-1.1.0"
+          sources."statuses-1.5.0"
         ];
       })
-      sources."serve-static-1.14.2"
+      sources."serve-static-1.15.0"
       sources."set-blocking-2.0.0"
       (sources."set-value-2.0.1" // {
         dependencies = [
@@ -96065,7 +96015,7 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      sources."statuses-1.5.0"
+      sources."statuses-2.0.1"
       sources."stream-browserify-2.0.2"
       sources."stream-buffers-2.2.0"
       sources."stream-each-1.2.3"
@@ -96330,6 +96280,8 @@ in
           sources."content-disposition-0.5.4"
           sources."cookie-0.4.2"
           sources."del-4.1.1"
+          sources."depd-1.1.2"
+          sources."destroy-1.0.4"
           (sources."express-4.17.3" // {
             dependencies = [
               sources."debug-2.6.9"
@@ -96341,6 +96293,7 @@ in
           sources."fsevents-1.2.13"
           sources."glob-parent-3.1.0"
           sources."globby-6.1.0"
+          sources."http-errors-1.8.1"
           sources."is-absolute-url-3.0.3"
           sources."is-binary-path-1.0.1"
           sources."is-glob-3.1.0"
@@ -96348,8 +96301,10 @@ in
           sources."json-schema-traverse-0.4.1"
           sources."kind-of-3.2.2"
           sources."micromatch-3.1.10"
+          sources."mime-1.6.0"
           sources."ms-2.0.0"
           sources."normalize-path-2.1.1"
+          sources."on-finished-2.3.0"
           sources."p-map-2.1.0"
           sources."p-retry-3.0.1"
           sources."pify-2.3.0"
@@ -96360,6 +96315,18 @@ in
           sources."safe-buffer-5.2.1"
           sources."schema-utils-1.0.0"
           sources."semver-6.3.0"
+          (sources."send-0.17.2" // {
+            dependencies = [
+              (sources."debug-2.6.9" // {
+                dependencies = [
+                  sources."ms-2.0.0"
+                ];
+              })
+              sources."ms-2.1.3"
+            ];
+          })
+          sources."serve-static-1.14.2"
+          sources."statuses-1.5.0"
           sources."strip-ansi-3.0.1"
           sources."supports-color-6.1.0"
           sources."to-regex-range-2.1.1"
@@ -96506,7 +96473,7 @@ in
       sources."@jridgewell/sourcemap-codec-1.4.11"
       sources."@jridgewell/trace-mapping-0.3.4"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/yauzl-2.9.2"
       sources."@types/yoga-layout-1.9.2"
@@ -96533,7 +96500,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001319"
+      sources."caniuse-lite-1.0.30001320"
       sources."chalk-2.4.2"
       sources."chownr-1.1.4"
       sources."ci-info-2.0.0"
@@ -96558,7 +96525,7 @@ in
       })
       sources."delay-5.0.0"
       sources."devtools-protocol-0.0.969999"
-      sources."electron-to-chromium-1.4.88"
+      sources."electron-to-chromium-1.4.96"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
@@ -96604,7 +96571,7 @@ in
       sources."js-tokens-4.0.0"
       sources."jsesc-2.5.2"
       sources."json-parse-even-better-errors-2.3.1"
-      sources."json5-2.2.0"
+      sources."json5-2.2.1"
       sources."kind-of-6.0.3"
       sources."lines-and-columns-1.2.4"
       sources."locate-path-5.0.0"
@@ -96621,7 +96588,6 @@ in
       sources."mimic-fn-2.1.0"
       sources."min-indent-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
       sources."minimist-options-4.1.0"
       sources."mkdirp-classic-0.5.3"
       sources."ms-2.1.2"
@@ -96657,7 +96623,7 @@ in
       })
       sources."quick-lru-4.0.1"
       sources."react-17.0.2"
-      sources."react-devtools-core-4.24.1"
+      sources."react-devtools-core-4.24.2"
       sources."react-reconciler-0.26.2"
       (sources."read-pkg-5.2.0" // {
         dependencies = [
@@ -96796,7 +96762,7 @@ in
       })
       (sources."@oclif/plugin-help-1.2.11" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
+          sources."ansi-regex-3.0.1"
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
           sources."color-convert-1.9.3"
@@ -96941,7 +96907,7 @@ in
       sources."has-to-string-tag-x-1.4.1"
       (sources."heroku-cli-util-8.0.12" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
+          sources."ansi-regex-3.0.1"
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
           sources."color-convert-1.9.3"
@@ -96961,7 +96927,7 @@ in
       sources."indent-string-4.0.0"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
-      (sources."inquirer-8.2.1" // {
+      (sources."inquirer-8.2.2" // {
         dependencies = [
           sources."ansi-escapes-4.3.2"
           sources."type-fest-0.21.3"
@@ -97002,7 +96968,7 @@ in
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-6.0.0"
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."mimic-fn-2.1.0"
@@ -97040,7 +97006,7 @@ in
       sources."pify-3.0.0"
       sources."prelude-ls-1.1.2"
       sources."prepend-http-2.0.0"
-      sources."prettier-2.6.0"
+      sources."prettier-2.6.1"
       sources."process-nextick-args-2.0.1"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
@@ -97135,10 +97101,10 @@ in
   firebase-tools = nodeEnv.buildNodePackage {
     name = "firebase-tools";
     packageName = "firebase-tools";
-    version = "10.4.0";
+    version = "10.5.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/firebase-tools/-/firebase-tools-10.4.0.tgz";
-      sha512 = "a8YROv1QoRlzqkvhOyodcAMDTJdwNdfaT+yFJihovDcLsdTRjGKYWIwIUcC2+mK9YxuXwjya5fJg8/HNQ0jTmA==";
+      url = "https://registry.npmjs.org/firebase-tools/-/firebase-tools-10.5.0.tgz";
+      sha512 = "sl4ycYfKsliII500HuqgEOWeB3OXi0twDDC/xPv1Eiw8FFYoTJwHm2w4YWUhTtDq4tSrHNCmdBza9LP+wvelnA==";
     };
     dependencies = [
       (sources."@apidevtools/json-schema-ref-parser-9.0.9" // {
@@ -97154,7 +97120,7 @@ in
       sources."@google-cloud/projectify-2.1.1"
       sources."@google-cloud/promisify-2.0.4"
       sources."@google-cloud/pubsub-2.19.0"
-      sources."@grpc/grpc-js-1.5.9"
+      sources."@grpc/grpc-js-1.5.10"
       sources."@grpc/proto-loader-0.6.9"
       sources."@jsdevtools/ono-7.1.3"
       (sources."@npmcli/fs-1.1.1" // {
@@ -97168,7 +97134,7 @@ in
         ];
       })
       sources."@opentelemetry/api-1.1.0"
-      sources."@opentelemetry/semantic-conventions-1.1.0"
+      sources."@opentelemetry/semantic-conventions-1.1.1"
       sources."@protobufjs/aspromise-1.1.2"
       sources."@protobufjs/base64-1.1.2"
       sources."@protobufjs/codegen-2.0.4"
@@ -97183,9 +97149,9 @@ in
       sources."@szmarczak/http-timer-1.1.2"
       sources."@tootallnate/once-1.1.2"
       sources."@types/duplexify-3.6.1"
-      sources."@types/json-schema-7.0.10"
+      sources."@types/json-schema-7.0.11"
       sources."@types/long-4.0.1"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."abbrev-1.1.1"
       sources."abort-controller-3.0.0"
       sources."accepts-1.3.8"
@@ -97197,7 +97163,7 @@ in
       sources."ajv-6.12.6"
       (sources."ajv-formats-2.1.1" // {
         dependencies = [
-          sources."ajv-8.10.0"
+          sources."ajv-8.11.0"
           sources."json-schema-traverse-1.0.0"
         ];
       })
@@ -97415,7 +97381,7 @@ in
       sources."events-listener-1.1.0"
       (sources."exegesis-4.1.0" // {
         dependencies = [
-          sources."ajv-8.10.0"
+          sources."ajv-8.11.0"
           sources."json-schema-traverse-1.0.0"
           sources."semver-7.3.5"
         ];
@@ -97506,7 +97472,7 @@ in
       sources."glob-slash-1.0.0"
       sources."glob-slasher-1.0.1"
       sources."global-dirs-2.1.0"
-      sources."google-auth-library-7.14.0"
+      sources."google-auth-library-7.14.1"
       sources."google-gax-2.29.6"
       sources."google-p12-pem-3.1.3"
       sources."got-9.6.0"
@@ -97538,7 +97504,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.7"
-      sources."inquirer-8.2.1"
+      sources."inquirer-8.2.2"
       sources."install-artifact-from-github-1.3.0"
       sources."ip-1.1.5"
       sources."ip-regex-4.3.0"
@@ -97665,7 +97631,7 @@ in
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."minipass-3.1.6"
       sources."minipass-collect-1.0.2"
       sources."minipass-fetch-1.4.1"
@@ -97673,7 +97639,7 @@ in
       sources."minipass-pipeline-1.2.4"
       sources."minipass-sized-1.0.3"
       sources."minizlib-2.1.2"
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       (sources."morgan-1.10.0" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -98121,7 +98087,7 @@ in
       sources."ieee754-1.2.1"
       sources."indent-string-5.0.0"
       sources."inherits-2.0.4"
-      (sources."inquirer-8.2.1" // {
+      (sources."inquirer-8.2.2" // {
         dependencies = [
           sources."ansi-regex-5.0.1"
           sources."emoji-regex-8.0.0"
@@ -98263,7 +98229,7 @@ in
       sources."@types/atob-2.1.2"
       sources."@types/bn.js-5.1.0"
       sources."@types/inquirer-6.5.0"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/pbkdf2-3.1.0"
       sources."@types/secp256k1-4.0.3"
       sources."@types/through-0.0.30"
@@ -98380,8 +98346,8 @@ in
       sources."mimic-fn-2.1.0"
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."mute-stream-0.0.8"
       sources."nedb-1.8.0"
       sources."node-addon-api-2.0.2"
@@ -98727,9 +98693,9 @@ in
       sources."minimatch-3.1.2"
       sources."minimist-0.0.10"
       sources."mixin-deep-1.3.2"
-      (sources."mkdirp-0.5.5" // {
+      (sources."mkdirp-0.5.6" // {
         dependencies = [
-          sources."minimist-1.2.5"
+          sources."minimist-1.2.6"
         ];
       })
       sources."ms-2.0.0"
@@ -98781,7 +98747,7 @@ in
       (sources."prettyjson-1.2.5" // {
         dependencies = [
           sources."colors-1.4.0"
-          sources."minimist-1.2.5"
+          sources."minimist-1.2.6"
         ];
       })
       sources."process-nextick-args-2.0.1"
@@ -98999,10 +98965,10 @@ in
   gatsby-cli = nodeEnv.buildNodePackage {
     name = "gatsby-cli";
     packageName = "gatsby-cli";
-    version = "4.10.1";
+    version = "4.10.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-4.10.1.tgz";
-      sha512 = "bv1xJEAcv4vT3DKdOqT1W8qe4L0Yvw5sZoSXDSKX9K9YSGu/CnBJXPa31rNrv357mc4CyAf/Vdfnzvr0tNN+iQ==";
+      url = "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-4.10.2.tgz";
+      sha512 = "lA1zFuWZwE+VtKYgntls0EC5PG4QoqqeJFWP+83Lmh+9hoLLkmL1plALBQeI3JY/9KXgRiC4OoR94CQkI329TA==";
     };
     dependencies = [
       sources."@ampproject/remapping-2.1.2"
@@ -99058,7 +99024,7 @@ in
       sources."@jridgewell/resolve-uri-3.0.5"
       sources."@jridgewell/sourcemap-codec-1.4.11"
       sources."@jridgewell/trace-mapping-0.3.4"
-      sources."@sideway/address-4.1.3"
+      sources."@sideway/address-4.1.4"
       sources."@sideway/formula-3.0.0"
       sources."@sideway/pinpoint-2.0.0"
       sources."@sindresorhus/is-4.6.0"
@@ -99070,7 +99036,7 @@ in
       sources."@types/common-tags-1.8.1"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/node-fetch-2.6.1"
       sources."@types/responselike-1.0.0"
       sources."@types/yoga-layout-1.9.2"
@@ -99099,7 +99065,7 @@ in
       })
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
-      sources."caniuse-lite-1.0.30001319"
+      sources."caniuse-lite-1.0.30001320"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -99136,7 +99102,7 @@ in
       sources."configstore-5.0.1"
       sources."convert-hrtime-3.0.0"
       sources."convert-source-map-1.8.0"
-      sources."create-gatsby-2.10.1"
+      sources."create-gatsby-2.10.2"
       (sources."cross-spawn-6.0.5" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -99163,7 +99129,7 @@ in
       sources."domutils-2.8.0"
       sources."dot-prop-5.3.0"
       sources."duplexer3-0.1.4"
-      sources."electron-to-chromium-1.4.88"
+      sources."electron-to-chromium-1.4.96"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."entities-2.2.0"
@@ -99198,8 +99164,8 @@ in
       sources."fs-extra-10.0.1"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."gatsby-core-utils-3.10.0"
-      (sources."gatsby-telemetry-3.10.0" // {
+      sources."gatsby-core-utils-3.10.1"
+      (sources."gatsby-telemetry-3.10.1" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."boxen-4.2.0"
@@ -99261,7 +99227,7 @@ in
       sources."js-tokens-4.0.0"
       sources."jsesc-2.5.2"
       sources."json-buffer-3.0.1"
-      sources."json5-2.2.0"
+      sources."json5-2.2.1"
       sources."jsonfile-6.1.0"
       sources."keyv-4.1.1"
       sources."kleur-3.0.3"
@@ -99284,7 +99250,7 @@ in
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."ms-2.1.2"
       sources."msgpackr-1.5.5"
       sources."msgpackr-extract-1.0.16"
@@ -99476,10 +99442,10 @@ in
   generator-code = nodeEnv.buildNodePackage {
     name = "generator-code";
     packageName = "generator-code";
-    version = "1.6.8";
+    version = "1.6.9";
     src = fetchurl {
-      url = "https://registry.npmjs.org/generator-code/-/generator-code-1.6.8.tgz";
-      sha512 = "0VMjRsX2HVhDboVUJIZ2N6ig7f/KG69V1AlTGIMUcxQzeLtjAFtxSdFQ2Z+hjmsu4Wjl6RjPj6NczIu3eSZ6mQ==";
+      url = "https://registry.npmjs.org/generator-code/-/generator-code-1.6.9.tgz";
+      sha512 = "e+mFv1JS6MyY1Rlez4pUhnRPxxylyDztSbTAJJ57hg4jkuASOZw8LP9b7PQCjrtCsXSSjqFSoqXSkomg3duWIQ==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -99558,7 +99524,7 @@ in
       sources."merge-stream-2.0.0"
       sources."mimic-fn-2.1.0"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."ms-2.1.2"
       sources."node-fetch-2.6.7"
       (sources."normalize-package-data-2.5.0" // {
@@ -99603,7 +99569,7 @@ in
       sources."spdx-license-ids-3.0.11"
       (sources."string-width-2.1.1" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
+          sources."ansi-regex-3.0.1"
           sources."strip-ansi-4.0.0"
         ];
       })
@@ -99672,7 +99638,7 @@ in
       sources."graphql-14.7.0"
       sources."has-flag-3.0.0"
       sources."iterall-1.3.0"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."node-fetch-2.6.7"
       sources."supports-color-5.5.0"
       sources."tr46-0.0.3"
@@ -99759,15 +99725,15 @@ in
       sources."jsonpointer-5.0.0"
       sources."kvgraph-0.1.0"
       sources."kvset-1.0.0"
-      sources."libsodium-0.7.9"
-      sources."libsodium-wrappers-0.7.9"
+      sources."libsodium-0.7.10"
+      sources."libsodium-wrappers-0.7.10"
       sources."lodash.get-4.4.2"
       sources."looper-4.0.0"
       sources."lrucache-1.0.3"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."moment-2.29.1"
       sources."moo-0.5.1"
       sources."ms-2.1.2"
@@ -99928,21 +99894,21 @@ in
   "@gitbeaker/cli" = nodeEnv.buildNodePackage {
     name = "_at_gitbeaker_slash_cli";
     packageName = "@gitbeaker/cli";
-    version = "35.5.0";
+    version = "35.6.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@gitbeaker/cli/-/cli-35.5.0.tgz";
-      sha512 = "4IOOGBM1sCUNUhdfnMduWai6CeYb3kDUiobWr1Y0758LlOjxtVDlPQimErawUcKqEPbXHwXRBXeWL5lNJuNPOg==";
+      url = "https://registry.npmjs.org/@gitbeaker/cli/-/cli-35.6.0.tgz";
+      sha512 = "MWt3cRIRbKGZj+ebwPp3W/hdIcyfKYfzt6bz/YSOcR4Z5swpMmZmGWoWiM9AERdZJYRxrImb9Id/lyyu8gtIiw==";
     };
     dependencies = [
-      sources."@gitbeaker/core-35.5.0"
-      sources."@gitbeaker/node-35.5.0"
-      sources."@gitbeaker/requester-utils-35.5.0"
+      sources."@gitbeaker/core-35.6.0"
+      sources."@gitbeaker/node-35.6.0"
+      sources."@gitbeaker/requester-utils-35.6.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/keyv-3.1.4"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/responselike-1.0.0"
       sources."ansi-regex-6.0.1"
       sources."ansi-styles-4.3.0"
@@ -99986,7 +99952,7 @@ in
       sources."ieee754-1.2.1"
       sources."inherits-2.0.4"
       sources."is-interactive-2.0.0"
-      sources."is-unicode-supported-1.1.0"
+      sources."is-unicode-supported-1.2.0"
       sources."json-buffer-3.0.1"
       sources."keyv-4.1.1"
       sources."li-1.3.0"
@@ -100046,10 +100012,10 @@ in
   gitmoji-cli = nodeEnv.buildNodePackage {
     name = "gitmoji-cli";
     packageName = "gitmoji-cli";
-    version = "4.10.0";
+    version = "4.11.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/gitmoji-cli/-/gitmoji-cli-4.10.0.tgz";
-      sha512 = "GXc2/L7X/m5xV1jhbLgEtg+0o4VNKSoV8onJsCNnPPuQEQf6yz0vhST3MmgtwgUeIouE0FuvsForvSp4+9PW/g==";
+      url = "https://registry.npmjs.org/gitmoji-cli/-/gitmoji-cli-4.11.0.tgz";
+      sha512 = "tRX7PJ+qYGsfQcfaXT5rGgXE0KOXz7sR6rS8oScFPguXTSUtBl3cW74jNh92nGVHhbCCVBFq9vqVBgt5aRo9RQ==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -100072,25 +100038,21 @@ in
       sources."acorn-8.7.0"
       sources."acorn-walk-8.2.0"
       sources."agent-base-6.0.2"
-      sources."ajv-8.10.0"
+      sources."ajv-8.11.0"
       sources."ajv-formats-2.1.1"
       sources."ansi-align-3.0.1"
       sources."ansi-escapes-4.3.2"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."arrify-1.0.1"
-      (sources."ast-types-0.13.4" // {
-        dependencies = [
-          sources."tslib-2.3.1"
-        ];
-      })
+      sources."ast-types-0.13.4"
       sources."atomically-1.7.0"
       sources."base64-js-1.5.1"
       sources."bl-4.1.0"
-      (sources."boxen-4.2.0" // {
+      (sources."boxen-5.1.2" // {
         dependencies = [
-          sources."chalk-3.0.0"
-          sources."type-fest-0.8.1"
+          sources."camelcase-6.3.0"
+          sources."type-fest-0.20.2"
         ];
       })
       sources."buffer-5.7.1"
@@ -100114,7 +100076,7 @@ in
       sources."clone-response-1.0.2"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."conf-10.0.1"
+      sources."conf-10.1.1"
       (sources."configstore-5.0.1" // {
         dependencies = [
           sources."dot-prop-5.3.0"
@@ -100169,7 +100131,7 @@ in
       sources."fuse.js-6.4.1"
       sources."get-stream-6.0.1"
       sources."get-uri-3.0.2"
-      sources."global-dirs-2.1.0"
+      sources."global-dirs-3.0.0"
       (sources."got-9.6.0" // {
         dependencies = [
           sources."get-stream-4.1.0"
@@ -100192,30 +100154,19 @@ in
       sources."imurmurhash-0.1.4"
       sources."indent-string-4.0.0"
       sources."inherits-2.0.4"
-      sources."ini-1.3.7"
-      (sources."inquirer-8.1.1" // {
+      sources."ini-2.0.0"
+      (sources."inquirer-8.2.1" // {
         dependencies = [
           sources."chalk-4.1.2"
         ];
       })
-      (sources."inquirer-autocomplete-prompt-1.0.1" // {
-        dependencies = [
-          sources."ansi-escapes-3.2.0"
-          sources."ansi-styles-3.2.1"
-          sources."chalk-2.4.2"
-          sources."color-convert-1.9.3"
-          sources."color-name-1.1.3"
-          sources."figures-2.0.0"
-          sources."has-flag-3.0.0"
-          sources."supports-color-5.5.0"
-        ];
-      })
+      sources."inquirer-autocomplete-prompt-2.0.0"
       sources."ip-1.1.5"
       sources."is-arrayish-0.2.1"
       sources."is-ci-2.0.0"
       sources."is-core-module-2.8.1"
       sources."is-fullwidth-code-point-3.0.0"
-      sources."is-installed-globally-0.3.2"
+      sources."is-installed-globally-0.4.0"
       sources."is-interactive-1.0.0"
       sources."is-npm-5.0.0"
       sources."is-obj-2.0.0"
@@ -100262,7 +100213,7 @@ in
       sources."mimic-fn-3.1.0"
       sources."mimic-response-1.0.1"
       sources."min-indent-1.0.1"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."minimist-options-4.1.0"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
@@ -100295,6 +100246,7 @@ in
       sources."path-exists-4.0.0"
       sources."path-key-3.1.1"
       sources."path-parse-1.0.7"
+      sources."picocolors-1.0.0"
       sources."pkg-up-3.1.0"
       sources."prelude-ls-1.1.2"
       sources."prepend-http-2.0.0"
@@ -100310,7 +100262,11 @@ in
       sources."pupa-2.1.1"
       sources."quick-lru-4.0.1"
       sources."raw-body-2.5.1"
-      sources."rc-1.2.8"
+      (sources."rc-1.2.8" // {
+        dependencies = [
+          sources."ini-1.3.8"
+        ];
+      })
       (sources."read-pkg-5.2.0" // {
         dependencies = [
           sources."hosted-git-info-2.8.9"
@@ -100336,7 +100292,7 @@ in
       sources."responselike-1.0.2"
       sources."restore-cursor-3.1.0"
       sources."run-async-2.4.1"
-      sources."rxjs-6.6.7"
+      sources."rxjs-7.5.5"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.5"
@@ -100366,20 +100322,19 @@ in
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
-      sources."term-size-2.2.1"
       sources."through-2.3.8"
       sources."tmp-0.0.33"
       sources."to-readable-stream-1.0.0"
       sources."toidentifier-1.0.1"
       sources."trim-newlines-3.0.1"
-      sources."tslib-1.14.1"
+      sources."tslib-2.3.1"
       sources."type-check-0.3.2"
       sources."type-fest-0.21.3"
       sources."typedarray-to-buffer-3.1.5"
       sources."unique-string-2.0.0"
       sources."universalify-0.1.2"
       sources."unpipe-1.0.0"
-      sources."update-notifier-5.0.0"
+      sources."update-notifier-5.1.0"
       sources."uri-js-4.4.1"
       sources."url-parse-lax-3.0.0"
       sources."util-deprecate-1.0.2"
@@ -100389,6 +100344,7 @@ in
       sources."which-2.0.2"
       sources."widest-line-3.1.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."xdg-basedir-4.0.0"
@@ -100520,8 +100476,8 @@ in
         ];
       })
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."ms-2.1.3"
       sources."node-fetch-2.6.7"
       sources."object-assign-4.1.1"
@@ -100648,9 +100604,9 @@ in
           sources."tslib-2.1.0"
         ];
       })
-      (sources."@graphql-tools/import-6.6.7" // {
+      (sources."@graphql-tools/import-6.6.9" // {
         dependencies = [
-          sources."@graphql-tools/utils-8.6.3"
+          sources."@graphql-tools/utils-8.6.5"
           sources."tslib-2.3.1"
         ];
       })
@@ -100675,10 +100631,10 @@ in
           sources."tslib-2.3.1"
         ];
       })
-      (sources."@graphql-tools/schema-8.3.3" // {
+      (sources."@graphql-tools/schema-8.3.5" // {
         dependencies = [
-          sources."@graphql-tools/merge-8.2.4"
-          sources."@graphql-tools/utils-8.6.3"
+          sources."@graphql-tools/merge-8.2.6"
+          sources."@graphql-tools/utils-8.6.5"
           sources."tslib-2.3.1"
         ];
       })
@@ -100709,7 +100665,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-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/parse-json-4.0.0"
       sources."@types/websocket-1.0.2"
       sources."abort-controller-3.0.0"
@@ -100976,13 +100932,13 @@ in
       })
       sources."merge2-1.4.1"
       sources."meros-1.1.4"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."minipass-3.1.6"
       sources."minizlib-2.1.2"
       sources."mkdirp-1.0.4"
@@ -101199,15 +101155,15 @@ in
       })
       sources."@cronvel/get-pixels-3.4.0"
       sources."@endemolshinegroup/cosmiconfig-typescript-loader-3.0.2"
-      sources."@graphql-tools/batch-execute-8.3.3"
-      sources."@graphql-tools/delegate-8.5.4"
-      sources."@graphql-tools/graphql-file-loader-7.3.5"
-      sources."@graphql-tools/import-6.6.7"
-      sources."@graphql-tools/json-file-loader-7.3.5"
-      sources."@graphql-tools/load-7.5.3"
-      sources."@graphql-tools/merge-8.2.4"
-      sources."@graphql-tools/schema-8.3.3"
-      (sources."@graphql-tools/url-loader-7.9.4" // {
+      sources."@graphql-tools/batch-execute-8.4.1"
+      sources."@graphql-tools/delegate-8.7.0"
+      sources."@graphql-tools/graphql-file-loader-7.3.7"
+      sources."@graphql-tools/import-6.6.9"
+      sources."@graphql-tools/json-file-loader-7.3.7"
+      sources."@graphql-tools/load-7.5.5"
+      sources."@graphql-tools/merge-8.2.6"
+      sources."@graphql-tools/schema-8.3.5"
+      (sources."@graphql-tools/url-loader-7.9.7" // {
         dependencies = [
           (sources."subscriptions-transport-ws-0.11.0" // {
             dependencies = [
@@ -101217,8 +101173,8 @@ in
           sources."ws-8.5.0"
         ];
       })
-      sources."@graphql-tools/utils-8.6.3"
-      sources."@graphql-tools/wrap-8.4.6"
+      sources."@graphql-tools/utils-8.6.5"
+      sources."@graphql-tools/wrap-8.4.9"
       sources."@iarna/toml-2.2.5"
       sources."@n1ru4l/graphql-live-query-0.9.0"
       sources."@nodelib/fs.scandir-2.1.5"
@@ -101235,7 +101191,7 @@ in
       })
       (sources."@oclif/plugin-help-3.2.1" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
+          sources."ansi-regex-3.0.1"
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
           sources."color-convert-1.9.3"
@@ -101254,7 +101210,7 @@ in
       })
       sources."@oclif/screen-1.0.4"
       sources."@types/json-schema-7.0.9"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/parse-json-4.0.0"
       sources."@types/websocket-1.0.5"
       sources."@types/ws-8.5.3"
@@ -101357,7 +101313,7 @@ in
           sources."ms-2.0.0"
         ];
       })
-      sources."form-data-encoder-1.7.1"
+      sources."form-data-encoder-1.7.2"
       (sources."formdata-node-4.3.2" // {
         dependencies = [
           sources."web-streams-polyfill-4.0.0-beta.1"
@@ -101371,7 +101327,7 @@ in
       sources."graceful-fs-4.2.9"
       sources."graphql-15.4.0"
       sources."graphql-config-4.1.0"
-      sources."graphql-executor-0.0.19"
+      sources."graphql-executor-0.0.22"
       (sources."graphql-language-service-interface-2.10.2" // {
         dependencies = [
           sources."graphql-language-service-utils-2.7.1"
@@ -101381,7 +101337,7 @@ in
       sources."graphql-language-service-types-1.8.7"
       sources."graphql-language-service-utils-2.5.1"
       sources."graphql-sse-1.1.0"
-      sources."graphql-ws-5.6.3"
+      sources."graphql-ws-5.6.4"
       sources."has-flag-4.0.0"
       sources."http-errors-1.6.3"
       sources."hyperlinker-1.0.0"
@@ -101427,7 +101383,7 @@ in
       sources."merge2-1.4.1"
       sources."meros-1.2.0"
       sources."methods-1.1.2"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."mime-1.4.1"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
@@ -101597,7 +101553,7 @@ in
       sources."liftup-3.0.1"
       sources."make-iterator-1.0.1"
       sources."map-cache-0.2.2"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."nopt-4.0.3"
       sources."object.defaults-1.1.0"
       sources."object.map-1.0.1"
@@ -101651,10 +101607,10 @@ in
   meshcommander = nodeEnv.buildNodePackage {
     name = "meshcommander";
     packageName = "meshcommander";
-    version = "0.9.3-b";
+    version = "0.9.5-a";
     src = fetchurl {
-      url = "https://registry.npmjs.org/meshcommander/-/meshcommander-0.9.3-b.tgz";
-      sha512 = "RNWHDlBCihL4v/BbqmcyqB3mui8qcza28Vp29FZL7j9d0y4u1UJyjtoHEwjOHw76gX6IMYKcLPksUo5cLDJcEw==";
+      url = "https://registry.npmjs.org/meshcommander/-/meshcommander-0.9.5-a.tgz";
+      sha512 = "RneCQXwu1Nuqu69+EPHIpDkrOcMcWaacM4T8Jibk0MkcquxF2iILX5bB6joCuNHHVr1I+9fPlYQoCjN1K22deg==";
     };
     dependencies = [
       sources."accepts-1.3.8"
@@ -101687,7 +101643,7 @@ in
       sources."mime-1.6.0"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."ms-2.0.0"
       sources."negotiator-0.6.3"
       sources."on-finished-2.3.0"
@@ -102838,8 +102794,8 @@ in
       sources."iconv-lite-0.6.3"
       sources."lodash-4.17.21"
       sources."mime-1.6.0"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."ms-2.1.3"
       sources."object-inspect-1.12.0"
       sources."opener-1.5.2"
@@ -103048,7 +103004,7 @@ in
       sources."assert-plus-1.0.0"
       sources."async-2.6.3"
       sources."asynckit-0.4.0"
-      sources."aws-sdk-2.1096.0"
+      sources."aws-sdk-2.1101.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
       sources."base64-js-1.5.1"
@@ -103153,8 +103109,8 @@ in
       sources."marked-2.1.3"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."moment-2.29.1"
       sources."moment-timezone-0.5.34"
       sources."ms-2.1.2"
@@ -103400,8 +103356,8 @@ in
       sources."mime-1.6.0"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."ms-2.0.0"
       sources."nested-error-stacks-1.0.2"
       sources."nth-check-1.0.2"
@@ -103514,9 +103470,9 @@ in
       sources."isstream-0.1.2"
       sources."minimatch-3.1.2"
       sources."minimist-0.0.10"
-      (sources."mkdirp-0.5.5" // {
+      (sources."mkdirp-0.5.6" // {
         dependencies = [
-          sources."minimist-1.2.5"
+          sources."minimist-1.2.6"
         ];
       })
       sources."moment-2.29.1"
@@ -103583,10 +103539,10 @@ in
   insect = nodeEnv.buildNodePackage {
     name = "insect";
     packageName = "insect";
-    version = "5.6.0";
+    version = "5.7.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/insect/-/insect-5.6.0.tgz";
-      sha512 = "56gjTrj9SMfPkbGANfqtGYeY3G5KmCkpgEYlKkmiDNG+SpQtLT9/53gt/9CbYd5iT9GgP+IvGXwDWplgCz3NnA==";
+      url = "https://registry.npmjs.org/insect/-/insect-5.7.0.tgz";
+      sha512 = "rm3APOoPrf7J66Bo7bHOn0c/k/STonQ+KSdyLid9NQvSM+LTpeL9X8RnOZ3NRlz01/MgXqQ0CGAGh60kSB9Xlw==";
     };
     dependencies = [
       sources."@jcubic/lily-0.3.0"
@@ -103627,7 +103583,6 @@ in
       sources."nice-try-1.0.5"
       sources."npm-run-path-2.0.2"
       sources."once-1.4.0"
-      sources."os-homedir-1.0.2"
       sources."p-finally-1.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-2.0.1"
@@ -103643,7 +103598,7 @@ in
       sources."wcwidth-1.0.1"
       sources."which-1.3.1"
       sources."wrappy-1.0.2"
-      sources."xdg-basedir-2.0.0"
+      sources."xdg-basedir-4.0.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -103787,11 +103742,11 @@ in
         ];
       })
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."mkdirp-1.0.4"
       sources."moo-0.5.1"
       sources."nearley-2.20.1"
@@ -103828,12 +103783,12 @@ in
       sources."tough-cookie-2.5.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."typescript-4.6.2"
+      sources."typescript-4.6.3"
       sources."universalify-2.0.0"
       sources."uri-js-4.4.1"
       sources."uuid-3.4.0"
       sources."verror-1.10.0"
-      (sources."vscode-css-languageservice-5.2.0" // {
+      (sources."vscode-css-languageservice-5.3.0" // {
         dependencies = [
           sources."vscode-languageserver-types-3.16.0"
         ];
@@ -104047,10 +104002,10 @@ in
       sources."mime-types-2.1.35"
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."minipass-2.9.0"
       sources."minizlib-1.3.3"
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
       sources."netmask-1.0.6"
@@ -104193,42 +104148,42 @@ in
     dependencies = [
       sources."@iarna/toml-2.2.5"
       sources."@msgpack/msgpack-2.7.2"
-      sources."@ot-builder/bin-composite-types-1.4.0"
-      sources."@ot-builder/bin-util-1.4.0"
-      sources."@ot-builder/cli-help-shower-1.4.0"
-      sources."@ot-builder/cli-proc-1.4.0"
-      sources."@ot-builder/cli-shared-1.4.0"
-      sources."@ot-builder/common-impl-1.4.0"
-      sources."@ot-builder/errors-1.4.0"
-      sources."@ot-builder/io-bin-cff-1.4.0"
-      sources."@ot-builder/io-bin-encoding-1.4.0"
-      sources."@ot-builder/io-bin-ext-private-1.4.0"
-      sources."@ot-builder/io-bin-font-1.4.0"
-      sources."@ot-builder/io-bin-glyph-store-1.4.0"
-      sources."@ot-builder/io-bin-layout-1.4.0"
-      sources."@ot-builder/io-bin-metadata-1.4.0"
-      sources."@ot-builder/io-bin-metric-1.4.0"
-      sources."@ot-builder/io-bin-name-1.4.0"
-      sources."@ot-builder/io-bin-sfnt-1.4.0"
-      sources."@ot-builder/io-bin-ttf-1.4.0"
-      sources."@ot-builder/io-bin-vtt-private-1.4.0"
-      sources."@ot-builder/ot-1.4.0"
-      sources."@ot-builder/ot-encoding-1.4.0"
-      sources."@ot-builder/ot-ext-private-1.4.0"
-      sources."@ot-builder/ot-glyphs-1.4.0"
-      sources."@ot-builder/ot-layout-1.4.0"
-      sources."@ot-builder/ot-metadata-1.4.0"
-      sources."@ot-builder/ot-name-1.4.0"
-      sources."@ot-builder/ot-sfnt-1.4.0"
-      sources."@ot-builder/ot-standard-glyph-namer-1.4.0"
-      sources."@ot-builder/ot-vtt-private-1.4.0"
-      sources."@ot-builder/prelude-1.4.0"
-      sources."@ot-builder/primitive-1.4.0"
-      sources."@ot-builder/rectify-1.4.0"
-      sources."@ot-builder/stat-glyphs-1.4.0"
-      sources."@ot-builder/trace-1.4.0"
-      sources."@ot-builder/var-store-1.4.0"
-      sources."@ot-builder/variance-1.4.0"
+      sources."@ot-builder/bin-composite-types-1.5.0"
+      sources."@ot-builder/bin-util-1.5.0"
+      sources."@ot-builder/cli-help-shower-1.5.0"
+      sources."@ot-builder/cli-proc-1.5.0"
+      sources."@ot-builder/cli-shared-1.5.0"
+      sources."@ot-builder/common-impl-1.5.0"
+      sources."@ot-builder/errors-1.5.0"
+      sources."@ot-builder/io-bin-cff-1.5.0"
+      sources."@ot-builder/io-bin-encoding-1.5.0"
+      sources."@ot-builder/io-bin-ext-private-1.5.0"
+      sources."@ot-builder/io-bin-font-1.5.0"
+      sources."@ot-builder/io-bin-glyph-store-1.5.0"
+      sources."@ot-builder/io-bin-layout-1.5.0"
+      sources."@ot-builder/io-bin-metadata-1.5.0"
+      sources."@ot-builder/io-bin-metric-1.5.0"
+      sources."@ot-builder/io-bin-name-1.5.0"
+      sources."@ot-builder/io-bin-sfnt-1.5.0"
+      sources."@ot-builder/io-bin-ttf-1.5.0"
+      sources."@ot-builder/io-bin-vtt-private-1.5.0"
+      sources."@ot-builder/ot-1.5.0"
+      sources."@ot-builder/ot-encoding-1.5.0"
+      sources."@ot-builder/ot-ext-private-1.5.0"
+      sources."@ot-builder/ot-glyphs-1.5.0"
+      sources."@ot-builder/ot-layout-1.5.0"
+      sources."@ot-builder/ot-metadata-1.5.0"
+      sources."@ot-builder/ot-name-1.5.0"
+      sources."@ot-builder/ot-sfnt-1.5.0"
+      sources."@ot-builder/ot-standard-glyph-namer-1.5.0"
+      sources."@ot-builder/ot-vtt-private-1.5.0"
+      sources."@ot-builder/prelude-1.5.0"
+      sources."@ot-builder/primitive-1.5.0"
+      sources."@ot-builder/rectify-1.5.0"
+      sources."@ot-builder/stat-glyphs-1.5.0"
+      sources."@ot-builder/trace-1.5.0"
+      sources."@ot-builder/var-store-1.5.0"
+      sources."@ot-builder/variance-1.5.0"
       sources."@unicode/unicode-14.0.0-1.2.1"
       sources."@xmldom/xmldom-0.7.5"
       sources."aglfn-1.0.2"
@@ -104290,8 +104245,8 @@ in
       sources."mimic-fn-2.1.0"
       sources."onetime-5.1.2"
       sources."optionator-0.8.3"
-      sources."ot-builder-1.4.0"
-      sources."otb-ttc-bundle-1.4.0"
+      sources."ot-builder-1.5.0"
+      sources."otb-ttc-bundle-1.5.0"
       sources."passerror-1.1.1"
       sources."patel-0.37.1"
       sources."patrisika-0.24.0"
@@ -104421,7 +104376,7 @@ in
       sources."long-2.4.0"
       sources."loupe-2.3.4"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."mz-2.7.0"
       sources."node-int64-0.4.0"
       sources."object-assign-4.1.1"
@@ -104515,87 +104470,88 @@ in
           sources."tslib-1.14.1"
         ];
       })
-      sources."@aws-sdk/abort-controller-3.54.1"
-      sources."@aws-sdk/chunked-blob-reader-3.52.0"
-      sources."@aws-sdk/chunked-blob-reader-native-3.52.0"
-      sources."@aws-sdk/client-s3-3.54.1"
-      sources."@aws-sdk/client-sso-3.54.1"
-      sources."@aws-sdk/client-sts-3.54.1"
-      sources."@aws-sdk/config-resolver-3.54.1"
-      sources."@aws-sdk/credential-provider-env-3.54.1"
-      sources."@aws-sdk/credential-provider-imds-3.54.1"
-      sources."@aws-sdk/credential-provider-ini-3.54.1"
-      sources."@aws-sdk/credential-provider-node-3.54.1"
-      sources."@aws-sdk/credential-provider-process-3.54.1"
-      sources."@aws-sdk/credential-provider-sso-3.54.1"
-      sources."@aws-sdk/credential-provider-web-identity-3.54.1"
-      sources."@aws-sdk/eventstream-marshaller-3.54.1"
-      sources."@aws-sdk/eventstream-serde-browser-3.54.1"
-      sources."@aws-sdk/eventstream-serde-config-resolver-3.54.1"
-      sources."@aws-sdk/eventstream-serde-node-3.54.1"
-      sources."@aws-sdk/eventstream-serde-universal-3.54.1"
-      sources."@aws-sdk/fetch-http-handler-3.54.1"
-      sources."@aws-sdk/hash-blob-browser-3.54.1"
-      sources."@aws-sdk/hash-node-3.54.1"
-      sources."@aws-sdk/hash-stream-node-3.54.1"
-      sources."@aws-sdk/invalid-dependency-3.54.1"
-      sources."@aws-sdk/is-array-buffer-3.52.0"
-      sources."@aws-sdk/md5-js-3.54.1"
-      sources."@aws-sdk/middleware-bucket-endpoint-3.54.1"
-      sources."@aws-sdk/middleware-content-length-3.54.1"
-      sources."@aws-sdk/middleware-expect-continue-3.54.1"
-      sources."@aws-sdk/middleware-flexible-checksums-3.54.1"
-      sources."@aws-sdk/middleware-header-default-3.54.1"
-      sources."@aws-sdk/middleware-host-header-3.54.1"
-      sources."@aws-sdk/middleware-location-constraint-3.54.1"
-      sources."@aws-sdk/middleware-logger-3.54.1"
-      (sources."@aws-sdk/middleware-retry-3.54.1" // {
+      sources."@aws-sdk/abort-controller-3.55.0"
+      sources."@aws-sdk/chunked-blob-reader-3.55.0"
+      sources."@aws-sdk/chunked-blob-reader-native-3.55.0"
+      sources."@aws-sdk/client-s3-3.56.0"
+      sources."@aws-sdk/client-sso-3.56.0"
+      sources."@aws-sdk/client-sts-3.56.0"
+      sources."@aws-sdk/config-resolver-3.56.0"
+      sources."@aws-sdk/credential-provider-env-3.55.0"
+      sources."@aws-sdk/credential-provider-imds-3.56.0"
+      sources."@aws-sdk/credential-provider-ini-3.56.0"
+      sources."@aws-sdk/credential-provider-node-3.56.0"
+      sources."@aws-sdk/credential-provider-process-3.56.0"
+      sources."@aws-sdk/credential-provider-sso-3.56.0"
+      sources."@aws-sdk/credential-provider-web-identity-3.55.0"
+      sources."@aws-sdk/eventstream-marshaller-3.55.0"
+      sources."@aws-sdk/eventstream-serde-browser-3.55.0"
+      sources."@aws-sdk/eventstream-serde-config-resolver-3.55.0"
+      sources."@aws-sdk/eventstream-serde-node-3.55.0"
+      sources."@aws-sdk/eventstream-serde-universal-3.55.0"
+      sources."@aws-sdk/fetch-http-handler-3.55.0"
+      sources."@aws-sdk/hash-blob-browser-3.55.0"
+      sources."@aws-sdk/hash-node-3.55.0"
+      sources."@aws-sdk/hash-stream-node-3.55.0"
+      sources."@aws-sdk/invalid-dependency-3.55.0"
+      sources."@aws-sdk/is-array-buffer-3.55.0"
+      sources."@aws-sdk/md5-js-3.55.0"
+      sources."@aws-sdk/middleware-bucket-endpoint-3.56.0"
+      sources."@aws-sdk/middleware-content-length-3.55.0"
+      sources."@aws-sdk/middleware-expect-continue-3.55.0"
+      sources."@aws-sdk/middleware-flexible-checksums-3.55.0"
+      sources."@aws-sdk/middleware-header-default-3.55.0"
+      sources."@aws-sdk/middleware-host-header-3.55.0"
+      sources."@aws-sdk/middleware-location-constraint-3.55.0"
+      sources."@aws-sdk/middleware-logger-3.55.0"
+      (sources."@aws-sdk/middleware-retry-3.56.0" // {
         dependencies = [
           sources."uuid-8.3.2"
         ];
       })
-      sources."@aws-sdk/middleware-sdk-s3-3.54.1"
-      sources."@aws-sdk/middleware-sdk-sts-3.54.1"
-      sources."@aws-sdk/middleware-serde-3.54.1"
-      sources."@aws-sdk/middleware-signing-3.54.1"
-      sources."@aws-sdk/middleware-ssec-3.54.1"
-      sources."@aws-sdk/middleware-stack-3.54.1"
-      sources."@aws-sdk/middleware-user-agent-3.54.1"
-      sources."@aws-sdk/node-config-provider-3.54.1"
-      sources."@aws-sdk/node-http-handler-3.54.1"
-      sources."@aws-sdk/property-provider-3.54.1"
-      sources."@aws-sdk/protocol-http-3.54.1"
-      sources."@aws-sdk/querystring-builder-3.54.1"
-      sources."@aws-sdk/querystring-parser-3.54.1"
-      sources."@aws-sdk/s3-request-presigner-3.54.1"
-      sources."@aws-sdk/service-error-classification-3.54.1"
-      sources."@aws-sdk/shared-ini-file-loader-3.54.1"
-      sources."@aws-sdk/signature-v4-3.54.1"
-      sources."@aws-sdk/smithy-client-3.54.1"
-      sources."@aws-sdk/types-3.54.1"
-      sources."@aws-sdk/url-parser-3.54.1"
-      sources."@aws-sdk/util-arn-parser-3.52.0"
-      sources."@aws-sdk/util-base64-browser-3.52.0"
-      sources."@aws-sdk/util-base64-node-3.52.0"
-      sources."@aws-sdk/util-body-length-browser-3.54.0"
-      sources."@aws-sdk/util-body-length-node-3.54.0"
-      sources."@aws-sdk/util-buffer-from-3.52.0"
-      sources."@aws-sdk/util-config-provider-3.52.0"
-      sources."@aws-sdk/util-create-request-3.54.1"
-      sources."@aws-sdk/util-defaults-mode-browser-3.54.1"
-      sources."@aws-sdk/util-defaults-mode-node-3.54.1"
-      sources."@aws-sdk/util-format-url-3.54.1"
-      sources."@aws-sdk/util-hex-encoding-3.52.0"
-      sources."@aws-sdk/util-locate-window-3.52.0"
-      sources."@aws-sdk/util-stream-browser-3.54.1"
-      sources."@aws-sdk/util-stream-node-3.54.1"
-      sources."@aws-sdk/util-uri-escape-3.52.0"
-      sources."@aws-sdk/util-user-agent-browser-3.54.1"
-      sources."@aws-sdk/util-user-agent-node-3.54.1"
-      sources."@aws-sdk/util-utf8-browser-3.52.0"
-      sources."@aws-sdk/util-utf8-node-3.52.0"
-      sources."@aws-sdk/util-waiter-3.54.1"
-      sources."@aws-sdk/xml-builder-3.52.0"
+      sources."@aws-sdk/middleware-sdk-s3-3.56.0"
+      sources."@aws-sdk/middleware-sdk-sts-3.56.0"
+      sources."@aws-sdk/middleware-serde-3.55.0"
+      sources."@aws-sdk/middleware-signing-3.56.0"
+      sources."@aws-sdk/middleware-ssec-3.55.0"
+      sources."@aws-sdk/middleware-stack-3.55.0"
+      sources."@aws-sdk/middleware-user-agent-3.55.0"
+      sources."@aws-sdk/node-config-provider-3.56.0"
+      sources."@aws-sdk/node-http-handler-3.55.0"
+      sources."@aws-sdk/property-provider-3.55.0"
+      sources."@aws-sdk/protocol-http-3.55.0"
+      sources."@aws-sdk/querystring-builder-3.55.0"
+      sources."@aws-sdk/querystring-parser-3.55.0"
+      sources."@aws-sdk/s3-request-presigner-3.56.0"
+      sources."@aws-sdk/service-error-classification-3.55.0"
+      sources."@aws-sdk/shared-ini-file-loader-3.56.0"
+      sources."@aws-sdk/signature-v4-3.56.0"
+      sources."@aws-sdk/smithy-client-3.55.0"
+      sources."@aws-sdk/types-3.55.0"
+      sources."@aws-sdk/url-parser-3.55.0"
+      sources."@aws-sdk/util-arn-parser-3.55.0"
+      sources."@aws-sdk/util-base64-browser-3.55.0"
+      sources."@aws-sdk/util-base64-node-3.55.0"
+      sources."@aws-sdk/util-body-length-browser-3.55.0"
+      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.55.0"
+      sources."@aws-sdk/util-create-request-3.55.0"
+      sources."@aws-sdk/util-defaults-mode-browser-3.55.0"
+      sources."@aws-sdk/util-defaults-mode-node-3.56.0"
+      sources."@aws-sdk/util-format-url-3.55.0"
+      sources."@aws-sdk/util-hex-encoding-3.55.0"
+      sources."@aws-sdk/util-locate-window-3.55.0"
+      sources."@aws-sdk/util-middleware-3.55.0"
+      sources."@aws-sdk/util-stream-browser-3.55.0"
+      sources."@aws-sdk/util-stream-node-3.55.0"
+      sources."@aws-sdk/util-uri-escape-3.55.0"
+      sources."@aws-sdk/util-user-agent-browser-3.55.0"
+      sources."@aws-sdk/util-user-agent-node-3.56.0"
+      sources."@aws-sdk/util-utf8-browser-3.55.0"
+      sources."@aws-sdk/util-utf8-node-3.55.0"
+      sources."@aws-sdk/util-waiter-3.55.0"
+      sources."@aws-sdk/xml-builder-3.55.0"
       sources."@braintree/sanitize-url-3.1.0"
       sources."@cronvel/get-pixels-3.4.0"
       sources."@joplin/fork-htmlparser2-4.1.39"
@@ -104655,7 +104611,7 @@ in
       sources."async-mutex-0.1.4"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.1096.0" // {
+      (sources."aws-sdk-2.1101.0" // {
         dependencies = [
           sources."sax-1.2.1"
           sources."uuid-3.3.2"
@@ -105035,14 +104991,14 @@ in
       sources."mimer-2.0.2"
       sources."mimic-response-3.1.0"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       (sources."minipass-2.9.0" // {
         dependencies = [
           sources."yallist-3.1.1"
         ];
       })
       sources."minizlib-1.3.3"
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       sources."mkdirp-classic-0.5.3"
       sources."moment-2.29.1"
       sources."moment-mini-2.24.0"
@@ -105242,7 +105198,7 @@ in
       })
       (sources."strip-ansi-4.0.0" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
+          sources."ansi-regex-3.0.1"
         ];
       })
       sources."strip-json-comments-2.0.1"
@@ -105766,7 +105722,7 @@ in
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."mimic-response-1.0.1"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       (sources."morgan-1.10.0" // {
         dependencies = [
           sources."depd-2.0.0"
@@ -106153,13 +106109,13 @@ in
       sources."mime-1.6.0"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
           sources."is-extendable-1.0.1"
         ];
       })
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       (sources."morgan-1.10.0" // {
         dependencies = [
           sources."depd-2.0.0"
@@ -106493,7 +106449,7 @@ in
         ];
       })
       sources."@oclif/screen-1.0.4"
-      (sources."@putdotio/api-client-8.31.0" // {
+      (sources."@putdotio/api-client-8.31.2" // {
         dependencies = [
           sources."axios-0.21.4"
         ];
@@ -106613,7 +106569,7 @@ in
         ];
       })
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."mimic-fn-2.1.0"
@@ -106728,7 +106684,7 @@ in
       sources."@types/component-emitter-1.2.11"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."accepts-1.3.8"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
@@ -106751,7 +106707,7 @@ in
       sources."cookie-0.4.2"
       sources."cors-2.8.5"
       sources."custom-event-1.0.1"
-      sources."date-format-4.0.5"
+      sources."date-format-4.0.6"
       sources."debug-2.6.9"
       sources."depd-1.1.2"
       sources."di-0.0.1"
@@ -106792,10 +106748,10 @@ in
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.3"
       sources."is-number-7.0.0"
-      sources."isbinaryfile-4.0.8"
+      sources."isbinaryfile-4.0.10"
       sources."jsonfile-6.1.0"
       sources."lodash-4.17.21"
-      (sources."log4js-6.4.3" // {
+      (sources."log4js-6.4.4" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
@@ -106806,8 +106762,8 @@ in
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."ms-2.0.0"
       sources."negotiator-0.6.3"
       sources."normalize-path-3.0.0"
@@ -106843,7 +106799,7 @@ in
       })
       sources."source-map-0.6.1"
       sources."statuses-1.5.0"
-      (sources."streamroller-3.0.5" // {
+      (sources."streamroller-3.0.6" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
@@ -106881,10 +106837,10 @@ in
   keyoxide = nodeEnv.buildNodePackage {
     name = "keyoxide";
     packageName = "keyoxide";
-    version = "0.4.3";
+    version = "0.4.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/keyoxide/-/keyoxide-0.4.3.tgz";
-      sha512 = "ffn0F9o3Yy6E9UFAS/vzOpsYxbVwk/pbSWrS3YPIZs+PtUv6zmwrkZ+71xSSb6tHBkJw5k93vOdkbo4cViFdFA==";
+      url = "https://registry.npmjs.org/keyoxide/-/keyoxide-0.4.4.tgz";
+      sha512 = "RUV9keqP/XK49OiVC4l5N5NxjYDPoDJFkr5OLa7rlFd/6JYah7YkqMfzm7Q9iw2ig9GKiQI9KgtR2IixzwEJnw==";
     };
     dependencies = [
       sources."@ampproject/remapping-2.1.2"
@@ -106927,34 +106883,43 @@ in
       sources."@jridgewell/resolve-uri-3.0.5"
       sources."@jridgewell/sourcemap-codec-1.4.11"
       sources."@jridgewell/trace-mapping-0.3.4"
+      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.0"
+      sources."@peculiar/json-schema-1.1.12"
+      sources."@peculiar/webcrypto-1.3.3"
       sources."@tootallnate/once-1.1.2"
-      sources."@xmpp/base64-0.12.1"
-      sources."@xmpp/client-0.12.1"
-      sources."@xmpp/client-core-0.12.1"
-      sources."@xmpp/connection-0.12.1"
-      sources."@xmpp/connection-tcp-0.12.1"
-      sources."@xmpp/debug-0.12.1"
-      sources."@xmpp/error-0.12.1"
-      sources."@xmpp/events-0.12.1"
-      sources."@xmpp/id-0.12.1"
-      sources."@xmpp/iq-0.12.1"
-      sources."@xmpp/jid-0.12.1"
-      sources."@xmpp/middleware-0.12.1"
-      sources."@xmpp/reconnect-0.12.1"
-      sources."@xmpp/resolve-0.12.1"
-      sources."@xmpp/resource-binding-0.12.1"
-      sources."@xmpp/sasl-0.12.1"
-      sources."@xmpp/sasl-anonymous-0.12.1"
-      sources."@xmpp/sasl-plain-0.12.1"
-      sources."@xmpp/sasl-scram-sha-1-0.12.1"
-      sources."@xmpp/session-establishment-0.12.1"
-      sources."@xmpp/starttls-0.12.1"
-      sources."@xmpp/stream-features-0.12.1"
-      sources."@xmpp/stream-management-0.12.1"
-      sources."@xmpp/tcp-0.12.1"
-      sources."@xmpp/tls-0.12.1"
-      sources."@xmpp/websocket-0.12.1"
-      sources."@xmpp/xml-0.12.1"
+      sources."@types/asn1js-2.0.2"
+      sources."@xmpp/base64-0.13.1"
+      sources."@xmpp/client-0.13.1"
+      sources."@xmpp/client-core-0.13.1"
+      sources."@xmpp/connection-0.13.1"
+      sources."@xmpp/connection-tcp-0.13.1"
+      sources."@xmpp/debug-0.13.0"
+      sources."@xmpp/error-0.13.1"
+      sources."@xmpp/events-0.13.1"
+      sources."@xmpp/id-0.13.1"
+      sources."@xmpp/iq-0.13.1"
+      sources."@xmpp/jid-0.13.1"
+      sources."@xmpp/middleware-0.13.1"
+      sources."@xmpp/reconnect-0.13.1"
+      sources."@xmpp/resolve-0.13.1"
+      sources."@xmpp/resource-binding-0.13.1"
+      sources."@xmpp/sasl-0.13.1"
+      sources."@xmpp/sasl-anonymous-0.13.1"
+      sources."@xmpp/sasl-plain-0.13.1"
+      sources."@xmpp/sasl-scram-sha-1-0.13.1"
+      sources."@xmpp/session-establishment-0.13.1"
+      sources."@xmpp/starttls-0.13.1"
+      sources."@xmpp/stream-features-0.13.1"
+      sources."@xmpp/stream-management-0.13.1"
+      sources."@xmpp/tcp-0.13.1"
+      sources."@xmpp/tls-0.13.1"
+      sources."@xmpp/websocket-0.13.1"
+      sources."@xmpp/xml-0.13.1"
       sources."abab-2.0.5"
       sources."accepts-1.3.8"
       sources."acorn-8.7.0"
@@ -106966,17 +106931,29 @@ in
       sources."acorn-walk-7.2.0"
       sources."agent-base-6.0.2"
       sources."ansi-colors-4.1.1"
-      sources."ansi-regex-5.0.1"
+      sources."ansi-regex-2.1.1"
       sources."ansi-styles-3.2.1"
+      sources."aproba-1.2.0"
+      (sources."are-we-there-yet-1.1.7" // {
+        dependencies = [
+          sources."readable-stream-2.3.7"
+          sources."string_decoder-1.1.1"
+        ];
+      })
       sources."array-flatten-1.1.1"
+      sources."array-union-2.1.0"
       sources."asn1.js-5.4.1"
+      sources."asn1js-2.3.2"
       sources."asynckit-0.4.0"
+      sources."at-least-node-1.0.0"
+      sources."axios-0.25.0"
       sources."babel-plugin-jsx-pragmatic-1.0.2"
       sources."babel-plugin-syntax-jsx-6.18.0"
       sources."balanced-match-1.0.2"
       sources."base-64-1.0.0"
-      sources."bent-7.3.12"
+      sources."base64-js-1.5.1"
       sources."bitwise-xor-0.0.0"
+      sources."bl-4.1.0"
       sources."bn.js-4.12.0"
       (sources."body-parser-1.19.2" // {
         dependencies = [
@@ -106985,26 +106962,34 @@ in
         ];
       })
       sources."brace-expansion-1.1.11"
+      sources."braces-3.0.2"
       sources."browser-or-node-1.3.0"
       sources."browser-process-hrtime-1.0.0"
       sources."browserslist-4.20.2"
+      sources."buffer-5.7.1"
       sources."buffer-from-1.1.2"
       sources."bytes-3.1.2"
-      sources."bytesish-0.4.4"
       sources."call-bind-1.0.2"
-      sources."caniuse-lite-1.0.30001319"
-      sources."caseless-0.12.0"
+      sources."caniuse-lite-1.0.30001320"
       sources."chalk-2.4.2"
       sources."chardet-1.4.0"
+      sources."chownr-1.1.4"
       sources."cipher-base-1.0.4"
-      sources."cliui-7.0.4"
+      (sources."cliui-7.0.4" // {
+        dependencies = [
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."string-width-4.2.3"
+        ];
+      })
       sources."clone-deep-4.0.1"
+      sources."code-point-at-1.1.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."combined-stream-1.0.8"
       sources."commander-4.1.1"
       sources."commondir-1.0.1"
       sources."concat-map-0.0.1"
+      sources."console-control-strings-1.1.0"
       (sources."content-disposition-0.5.4" // {
         dependencies = [
           sources."safe-buffer-5.2.1"
@@ -107015,6 +107000,7 @@ in
       sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
       sources."core-js-3.21.1"
+      sources."core-util-is-1.0.3"
       sources."cors-2.8.5"
       sources."create-hash-1.2.0"
       sources."create-hmac-1.1.7"
@@ -107034,12 +107020,17 @@ in
       sources."debug-4.3.4"
       sources."decimal.js-10.3.1"
       sources."decode-uri-component-0.2.0"
+      sources."decompress-response-4.2.1"
+      sources."deep-extend-0.6.0"
       sources."deep-is-0.1.4"
       sources."define-properties-1.1.3"
       sources."delayed-stream-1.0.0"
+      sources."delegates-1.0.0"
       sources."depd-1.1.2"
       sources."destroy-1.0.4"
-      sources."doipjs-0.14.0"
+      sources."detect-libc-1.0.3"
+      sources."dir-glob-3.0.1"
+      sources."doipjs-0.15.5"
       (sources."domexception-2.0.1" // {
         dependencies = [
           sources."webidl-conversions-5.0.0"
@@ -107047,9 +107038,10 @@ in
       })
       sources."dotenv-8.6.0"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.88"
+      sources."electron-to-chromium-1.4.96"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
+      sources."end-of-stream-1.4.4"
       sources."enquirer-2.3.6"
       sources."es-abstract-1.19.1"
       sources."es-to-primitive-1.2.1"
@@ -107066,6 +107058,7 @@ in
       sources."esutils-2.0.3"
       sources."etag-1.8.1"
       sources."events-3.3.0"
+      sources."expand-template-2.0.3"
       (sources."express-4.17.3" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -107074,7 +107067,10 @@ in
         ];
       })
       sources."express-validator-6.14.0"
+      sources."fast-glob-3.2.11"
       sources."fast-levenshtein-2.0.6"
+      sources."fastq-1.13.0"
+      sources."fill-range-7.0.1"
       sources."filter-obj-1.1.0"
       (sources."finalhandler-1.1.2" // {
         dependencies = [
@@ -107084,24 +107080,50 @@ in
       })
       sources."find-cache-dir-2.1.0"
       sources."find-up-3.0.0"
+      sources."follow-redirects-1.14.9"
       sources."form-data-3.0.1"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
+      (sources."from2-2.3.0" // {
+        dependencies = [
+          sources."readable-stream-2.3.7"
+          sources."string_decoder-1.1.1"
+        ];
+      })
+      sources."fs-constants-1.0.0"
+      (sources."fs-extra-9.1.0" // {
+        dependencies = [
+          sources."universalify-2.0.0"
+        ];
+      })
       sources."fs-readdir-recursive-1.1.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
+      (sources."gauge-2.7.4" // {
+        dependencies = [
+          sources."strip-ansi-3.0.1"
+        ];
+      })
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
       sources."get-symbol-description-1.0.0"
+      sources."github-from-package-0.0.0"
       sources."glob-7.2.0"
+      sources."glob-parent-5.1.2"
       sources."globals-11.12.0"
+      (sources."globby-11.1.0" // {
+        dependencies = [
+          sources."slash-3.0.0"
+        ];
+      })
       sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
       sources."has-bigints-1.0.1"
       sources."has-flag-3.0.0"
       sources."has-symbols-1.0.3"
       sources."has-tostringtag-1.0.0"
+      sources."has-unicode-2.0.1"
       (sources."hash-base-3.1.0" // {
         dependencies = [
           sources."safe-buffer-5.2.1"
@@ -107113,10 +107135,13 @@ in
       sources."http-proxy-agent-4.0.1"
       sources."https-proxy-agent-5.0.0"
       sources."iconv-lite-0.4.24"
-      sources."imurmurhash-0.1.4"
+      sources."ieee754-1.2.1"
+      sources."ignore-5.2.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
+      sources."ini-1.3.8"
       sources."internal-slot-1.0.3"
+      sources."into-stream-6.0.0"
       sources."ipaddr.js-1.9.1"
       sources."irc-colors-1.5.0"
       (sources."irc-upd-0.11.0" // {
@@ -107127,19 +107152,23 @@ in
       sources."is-bigint-1.0.4"
       sources."is-boolean-object-1.1.2"
       sources."is-callable-1.2.4"
+      sources."is-core-module-2.8.1"
       sources."is-date-object-1.0.5"
-      sources."is-fullwidth-code-point-3.0.0"
+      sources."is-extglob-2.1.1"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."is-glob-4.0.3"
       sources."is-negative-zero-2.0.2"
+      sources."is-number-7.0.0"
       sources."is-number-object-1.0.6"
       sources."is-plain-obj-2.1.0"
       sources."is-plain-object-2.0.4"
       sources."is-potential-custom-element-name-1.0.1"
       sources."is-regex-1.1.4"
       sources."is-shared-array-buffer-1.0.1"
-      sources."is-stream-2.0.1"
       sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
       sources."is-weakref-1.0.2"
+      sources."isarray-1.0.0"
       sources."isobject-3.0.1"
       sources."js-tokens-4.0.0"
       (sources."jsdom-16.7.0" // {
@@ -107151,31 +107180,45 @@ in
         ];
       })
       sources."jsesc-2.5.2"
-      sources."json5-2.2.0"
+      sources."json5-2.2.1"
+      (sources."jsonfile-6.1.0" // {
+        dependencies = [
+          sources."universalify-2.0.0"
+        ];
+      })
       sources."kind-of-6.0.3"
       sources."koa-compose-4.2.0"
       sources."levn-0.3.0"
       sources."locate-path-3.0.0"
       sources."lodash-4.17.21"
-      sources."ltx-2.10.0"
+      sources."lru-cache-6.0.0"
+      sources."ltx-3.0.0"
       sources."make-dir-2.1.0"
       sources."md5.js-1.3.5"
       sources."media-typer-0.3.0"
       sources."merge-descriptors-1.0.1"
       sources."merge-options-3.0.4"
+      sources."merge2-1.4.1"
       sources."methods-1.1.2"
+      sources."micromatch-4.0.5"
       sources."mime-1.6.0"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
+      sources."mimic-response-2.1.0"
       sources."minimalistic-assert-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-classic-0.5.3"
       sources."ms-2.1.2"
+      sources."multistream-4.1.0"
+      sources."napi-build-utils-1.0.2"
       sources."negotiator-0.6.3"
+      sources."node-abi-2.30.1"
       sources."node-environment-flags-1.0.6"
       sources."node-fetch-2.6.7"
-      sources."node-localstorage-1.3.1"
       sources."node-releases-2.0.2"
+      sources."npmlog-4.1.2"
+      sources."number-is-nan-1.0.1"
       sources."nwsapi-2.2.0"
       sources."object-assign-4.1.1"
       sources."object-inspect-1.12.0"
@@ -107184,8 +107227,9 @@ in
       sources."object.getownpropertydescriptors-2.1.3"
       sources."on-finished-2.3.0"
       sources."once-1.4.0"
-      sources."openpgp-4.10.10"
+      sources."openpgp-5.2.1"
       sources."optionator-0.8.3"
+      sources."p-is-promise-3.0.0"
       sources."p-limit-2.3.0"
       sources."p-locate-3.0.0"
       sources."p-try-2.2.0"
@@ -107194,24 +107238,61 @@ in
       sources."parseurl-1.3.3"
       sources."path-exists-3.0.0"
       sources."path-is-absolute-1.0.1"
+      sources."path-parse-1.0.7"
       sources."path-to-regexp-0.1.7"
+      sources."path-type-4.0.0"
       sources."picocolors-1.0.0"
+      sources."picomatch-2.3.1"
       sources."pify-4.0.1"
       sources."pirates-4.0.5"
+      (sources."pkg-5.5.2" // {
+        dependencies = [
+          sources."@babel/parser-7.16.2"
+          sources."@babel/types-7.16.0"
+          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."supports-color-7.2.0"
+        ];
+      })
       sources."pkg-dir-3.0.0"
+      (sources."pkg-fetch-3.2.6" // {
+        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."semver-7.3.5"
+          sources."supports-color-7.2.0"
+        ];
+      })
+      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."proxy-addr-2.0.7"
       sources."psl-1.8.0"
+      sources."pump-3.0.0"
       sources."punycode-2.1.1"
+      sources."pvtsutils-1.2.2"
+      sources."pvutils-1.1.3"
       sources."qs-6.9.7"
       sources."query-string-6.14.1"
+      sources."queue-microtask-1.2.3"
       sources."randombytes-2.1.0"
       sources."range-parser-1.2.1"
       sources."raw-body-2.4.3"
+      sources."rc-1.2.8"
       sources."readable-stream-3.6.0"
       sources."regenerator-runtime-0.13.9"
       sources."require-directory-2.1.1"
+      sources."resolve-1.22.0"
+      sources."reusify-1.0.4"
       sources."ripemd160-2.0.2"
+      sources."run-parallel-1.2.0"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."sasl-anonymous-0.1.0"
@@ -107231,12 +107312,15 @@ in
         ];
       })
       sources."serve-static-1.14.2"
+      sources."set-blocking-2.0.0"
       sources."setprototypeof-1.2.0"
       sources."sha.js-2.4.11"
       sources."shallow-clone-3.0.1"
       sources."side-channel-1.0.4"
+      sources."signal-exit-3.0.7"
+      sources."simple-concat-1.0.1"
+      sources."simple-get-3.1.1"
       sources."slash-2.0.0"
-      sources."slide-1.1.6"
       sources."source-map-0.5.7"
       (sources."source-map-support-0.5.21" // {
         dependencies = [
@@ -107245,8 +107329,18 @@ in
       })
       sources."split-on-first-1.1.0"
       sources."statuses-1.5.0"
+      (sources."stream-meter-1.0.4" // {
+        dependencies = [
+          sources."readable-stream-2.3.7"
+          sources."string_decoder-1.1.1"
+        ];
+      })
       sources."strict-uri-encode-2.0.0"
-      sources."string-width-4.2.3"
+      (sources."string-width-1.0.2" // {
+        dependencies = [
+          sources."strip-ansi-3.0.1"
+        ];
+      })
       sources."string.prototype.trimend-1.0.4"
       sources."string.prototype.trimstart-1.0.4"
       (sources."string_decoder-1.3.0" // {
@@ -107254,13 +107348,24 @@ in
           sources."safe-buffer-5.2.1"
         ];
       })
-      sources."strip-ansi-6.0.1"
+      (sources."strip-ansi-6.0.1" // {
+        dependencies = [
+          sources."ansi-regex-5.0.1"
+        ];
+      })
+      sources."strip-json-comments-2.0.1"
       sources."supports-color-5.5.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."symbol-tree-3.2.4"
+      sources."tar-fs-2.1.1"
+      sources."tar-stream-2.2.0"
       sources."to-fast-properties-2.0.0"
+      sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.1"
       sources."tough-cookie-4.0.0"
       sources."tr46-0.0.3"
+      sources."tslib-2.3.1"
+      sources."tunnel-agent-0.6.0"
       sources."type-check-0.3.2"
       sources."type-is-1.6.18"
       sources."unbox-primitive-1.0.1"
@@ -107274,26 +107379,35 @@ in
       sources."vary-1.1.2"
       sources."w3c-hr-time-1.0.2"
       sources."w3c-xmlserializer-2.0.0"
+      sources."webcrypto-core-1.7.2"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-encoding-1.0.5"
       sources."whatwg-mimetype-2.3.0"
       sources."whatwg-url-5.0.0"
       sources."which-boxed-primitive-1.0.2"
+      sources."wide-align-1.1.5"
       sources."word-wrap-1.2.3"
       (sources."wrap-ansi-7.0.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."string-width-4.2.3"
         ];
       })
       sources."wrappy-1.0.2"
-      sources."write-file-atomic-1.3.4"
       sources."ws-8.5.0"
       sources."xml-name-validator-3.0.0"
       sources."xmlchars-2.2.0"
       sources."y18n-5.0.8"
-      sources."yargs-16.2.0"
+      sources."yallist-4.0.0"
+      (sources."yargs-16.2.0" // {
+        dependencies = [
+          sources."is-fullwidth-code-point-3.0.0"
+          sources."string-width-4.2.3"
+        ];
+      })
       sources."yargs-parser-20.2.9"
     ];
     buildInputs = globalBuildInputs;
@@ -107545,7 +107659,7 @@ in
       sources."optionator-0.8.3"
       (sources."ora-3.0.0" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
+          sources."ansi-regex-3.0.1"
           sources."strip-ansi-4.0.0"
         ];
       })
@@ -107638,7 +107752,7 @@ in
       sources."y18n-3.2.2"
       (sources."yargs-12.0.4" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
+          sources."ansi-regex-3.0.1"
           sources."cliui-4.1.0"
           sources."invert-kv-2.0.0"
           sources."is-fullwidth-code-point-2.0.0"
@@ -107774,7 +107888,7 @@ in
       sources."mime-types-2.1.35"
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."mkdirp-1.0.4"
       sources."moment-2.29.1"
       sources."mute-stream-0.0.8"
@@ -107793,7 +107907,7 @@ in
       sources."optionator-0.8.3"
       (sources."ora-3.0.0" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
+          sources."ansi-regex-3.0.1"
           sources."strip-ansi-4.0.0"
         ];
       })
@@ -107848,7 +107962,7 @@ in
       (sources."utile-0.3.0" // {
         dependencies = [
           sources."async-0.9.2"
-          sources."mkdirp-0.5.5"
+          sources."mkdirp-0.5.6"
         ];
       })
       sources."uuid-3.4.0"
@@ -108378,13 +108492,13 @@ in
       })
       sources."merge-stream-2.0.0"
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."mimic-fn-2.1.0"
       sources."min-indent-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       (sources."minimist-options-4.1.0" // {
         dependencies = [
           sources."arrify-1.0.1"
@@ -108430,7 +108544,7 @@ in
           sources."fs-minipass-1.2.7"
           sources."minipass-2.9.0"
           sources."minizlib-1.3.3"
-          sources."mkdirp-0.5.5"
+          sources."mkdirp-0.5.6"
           sources."node-gyp-5.1.1"
           sources."nopt-4.0.3"
           sources."resolve-from-4.0.0"
@@ -108791,7 +108905,7 @@ in
       sources."decode-uri-component-0.2.0"
       sources."define-property-2.0.2"
       sources."depd-2.0.0"
-      sources."destroy-1.0.4"
+      sources."destroy-1.2.0"
       sources."duplexer-0.1.2"
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
@@ -108853,9 +108967,9 @@ in
         ];
       })
       sources."http-auth-3.1.3"
-      (sources."http-errors-1.8.1" // {
+      (sources."http-errors-2.0.0" // {
         dependencies = [
-          sources."depd-1.1.2"
+          sources."statuses-2.0.1"
         ];
       })
       sources."http-parser-js-0.5.6"
@@ -108931,10 +109045,11 @@ in
       sources."ret-0.1.15"
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
-          sources."depd-1.1.2"
           sources."ms-2.1.3"
+          sources."on-finished-2.4.1"
+          sources."statuses-2.0.1"
         ];
       })
       (sources."serve-index-1.9.1" // {
@@ -109289,7 +109404,7 @@ in
       sources."mime-1.6.0"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
           sources."is-extendable-1.0.1"
@@ -109715,8 +109830,8 @@ in
       sources."@types/istanbul-lib-coverage-2.0.4"
       sources."@types/istanbul-lib-report-3.0.0"
       sources."@types/istanbul-reports-1.1.2"
-      sources."@types/json-schema-7.0.10"
-      sources."@types/node-17.0.21"
+      sources."@types/json-schema-7.0.11"
+      sources."@types/node-17.0.23"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/resolve-0.0.8"
       sources."@types/yargs-15.0.14"
@@ -109790,7 +109905,7 @@ in
       sources."babel-helper-remove-or-void-0.4.3"
       sources."babel-helper-to-multiple-sequence-expressions-0.5.0"
       sources."babel-jest-25.5.1"
-      sources."babel-loader-8.2.3"
+      sources."babel-loader-8.2.4"
       sources."babel-plugin-dynamic-import-node-2.3.3"
       sources."babel-plugin-istanbul-6.1.1"
       sources."babel-plugin-jest-hoist-25.5.0"
@@ -109882,14 +109997,14 @@ in
       sources."builtin-status-codes-3.0.0"
       (sources."cacache-12.0.4" // {
         dependencies = [
-          sources."mkdirp-0.5.5"
+          sources."mkdirp-0.5.6"
         ];
       })
       sources."cache-base-1.0.1"
       sources."cached-path-relative-1.1.0"
       sources."call-bind-1.0.2"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001319"
+      sources."caniuse-lite-1.0.30001320"
       sources."capture-exit-2.0.0"
       sources."caseless-0.12.0"
       (sources."chalk-3.0.0" // {
@@ -109955,7 +110070,7 @@ in
       sources."convert-source-map-1.8.0"
       (sources."copy-concurrently-1.0.5" // {
         dependencies = [
-          sources."mkdirp-0.5.5"
+          sources."mkdirp-0.5.6"
         ];
       })
       sources."copy-descriptor-0.1.1"
@@ -110012,7 +110127,7 @@ in
       sources."duplexer2-0.1.4"
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
-      sources."electron-to-chromium-1.4.88"
+      sources."electron-to-chromium-1.4.96"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -110234,7 +110349,7 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-0.0.1"
       sources."json-stringify-safe-5.0.1"
-      sources."json5-2.2.0"
+      sources."json5-2.2.1"
       sources."jsonify-0.0.0"
       sources."jsonparse-1.3.1"
       sources."jsprim-1.4.2"
@@ -110243,11 +110358,7 @@ in
       sources."labeled-stream-splicer-2.0.2"
       sources."lines-and-columns-1.2.4"
       sources."loader-runner-2.4.0"
-      (sources."loader-utils-1.4.0" // {
-        dependencies = [
-          sources."json5-1.0.1"
-        ];
-      })
+      sources."loader-utils-2.0.2"
       sources."locate-path-5.0.0"
       sources."lodash-4.17.21"
       sources."lodash.debounce-4.0.8"
@@ -110261,7 +110372,7 @@ in
       sources."md5.js-1.3.5"
       sources."memory-fs-0.4.1"
       sources."merge-stream-2.0.0"
-      (sources."micromatch-4.0.4" // {
+      (sources."micromatch-4.0.5" // {
         dependencies = [
           sources."braces-3.0.2"
           sources."fill-range-7.0.1"
@@ -110279,7 +110390,7 @@ in
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."mississippi-3.0.0"
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
@@ -110291,7 +110402,7 @@ in
       sources."module-deps-6.2.3"
       (sources."move-concurrently-1.0.1" // {
         dependencies = [
-          sources."mkdirp-0.5.5"
+          sources."mkdirp-0.5.6"
         ];
       })
       sources."ms-2.1.2"
@@ -110679,8 +110790,10 @@ in
       (sources."webpack-4.46.0" // {
         dependencies = [
           sources."acorn-6.4.2"
+          sources."json5-1.0.1"
+          sources."loader-utils-1.4.0"
           sources."micromatch-3.1.10"
-          sources."mkdirp-0.5.5"
+          sources."mkdirp-0.5.6"
           sources."schema-utils-1.0.0"
         ];
       })
@@ -110691,6 +110804,8 @@ in
               sources."supports-color-5.5.0"
             ];
           })
+          sources."json5-1.0.1"
+          sources."loader-utils-1.4.0"
           sources."supports-color-6.1.0"
         ];
       })
@@ -110750,7 +110865,7 @@ in
       sources."@types/commander-2.12.2"
       sources."@types/diff-3.5.5"
       sources."@types/get-stdin-5.0.1"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."commander-2.20.3"
       sources."diff-3.5.0"
       sources."get-stdin-5.0.1"
@@ -110870,8 +110985,8 @@ in
       sources."lstream-0.0.4"
       sources."mime-1.2.11"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."moment-2.29.1"
       (sources."mooremachine-2.3.0" // {
         dependencies = [
@@ -111020,7 +111135,7 @@ in
       sources."markdownlint-rule-helpers-0.16.0"
       sources."mdurl-1.0.1"
       sources."minimatch-3.0.8"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."run-con-1.2.10"
@@ -111194,8 +111309,8 @@ in
       sources."log4js-3.0.6"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."ms-2.1.3"
       sources."msgpack-lite-0.1.26"
       sources."negotiator-0.6.3"
@@ -111443,8 +111558,8 @@ in
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."ms-2.0.0"
       sources."multipipe-0.1.2"
       sources."mute-stream-0.0.5"
@@ -111503,7 +111618,7 @@ in
       sources."supports-preserve-symlinks-flag-1.0.0"
       (sources."table-3.8.3" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
+          sources."ansi-regex-3.0.1"
           sources."is-fullwidth-code-point-2.0.0"
           sources."string-width-2.1.1"
           sources."strip-ansi-4.0.0"
@@ -111617,7 +111732,7 @@ in
     };
     dependencies = [
       sources."@braintree/sanitize-url-3.1.0"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/yauzl-2.9.2"
       sources."agent-base-6.0.2"
       sources."ansi-styles-4.3.0"
@@ -112096,7 +112211,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-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/stack-utils-2.0.1"
       sources."@types/yargs-16.0.4"
       sources."@types/yargs-parser-21.0.0"
@@ -112250,10 +112365,10 @@ in
         ];
       })
       sources."md5.js-1.3.5"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."mixpanel-0.13.0"
       sources."mkdirp-classic-0.5.3"
       sources."ms-2.1.2"
@@ -112486,7 +112601,7 @@ in
     };
     dependencies = [
       sources."@gar/promisify-1.1.3"
-      sources."@npmcli/fs-1.1.1"
+      sources."@npmcli/fs-2.1.0"
       sources."@npmcli/move-file-1.1.2"
       sources."@tootallnate/once-2.0.0"
       sources."abbrev-1.1.1"
@@ -112498,7 +112613,7 @@ in
       sources."are-we-there-yet-3.0.0"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."cacache-16.0.2"
+      sources."cacache-16.0.3"
       sources."chownr-2.0.0"
       sources."clean-stack-2.2.0"
       sources."color-support-1.1.3"
@@ -112532,11 +112647,11 @@ in
       sources."is-lambda-1.0.1"
       sources."isexe-2.0.0"
       sources."lru-cache-7.7.1"
-      sources."make-fetch-happen-10.0.6"
+      sources."make-fetch-happen-10.1.0"
       sources."minimatch-3.1.2"
       sources."minipass-3.1.6"
       sources."minipass-collect-1.0.2"
-      sources."minipass-fetch-2.0.3"
+      sources."minipass-fetch-2.1.0"
       sources."minipass-flush-1.0.5"
       sources."minipass-pipeline-1.2.4"
       sources."minipass-sized-1.0.3"
@@ -112750,8 +112865,8 @@ in
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."ms-2.0.0"
       sources."nan-2.15.0"
       sources."negotiator-0.6.3"
@@ -112952,10 +113067,10 @@ in
       sources."is-fullwidth-code-point-1.0.0"
       sources."isarray-1.0.0"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."minipass-2.9.0"
       sources."minizlib-1.3.3"
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       sources."ms-2.1.3"
       sources."needle-2.9.1"
       sources."nopt-4.0.3"
@@ -113038,7 +113153,7 @@ in
       sources."@types/cacheable-request-6.0.2"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.8"
@@ -113242,7 +113357,7 @@ in
       sources."mime-types-2.1.35"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       (sources."minipass-3.1.6" // {
         dependencies = [
           sources."yallist-4.0.0"
@@ -113253,7 +113368,7 @@ in
           sources."yallist-4.0.0"
         ];
       })
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       sources."moment-2.29.1"
       sources."moment-timezone-0.5.34"
       (sources."mqtt-4.3.5" // {
@@ -113481,7 +113596,7 @@ in
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."minipass-3.1.6"
       sources."minizlib-2.1.2"
       sources."mkdirp-0.3.5"
@@ -113505,7 +113620,7 @@ in
       })
       (sources."npmconf-2.1.3" // {
         dependencies = [
-          sources."mkdirp-0.5.5"
+          sources."mkdirp-0.5.6"
           sources."once-1.3.3"
           sources."semver-4.3.6"
         ];
@@ -113564,7 +113679,7 @@ in
       })
       (sources."temp-0.9.4" // {
         dependencies = [
-          sources."mkdirp-0.5.5"
+          sources."mkdirp-0.5.6"
           sources."rimraf-2.6.3"
         ];
       })
@@ -113688,7 +113803,7 @@ in
       })
       sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."ms-2.1.3"
       sources."nopt-1.0.10"
       sources."normalize-path-3.0.0"
@@ -113791,7 +113906,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.4"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
       sources."@types/responselike-1.0.0"
@@ -113933,7 +114048,7 @@ in
       (sources."inquirer-autosubmit-prompt-0.2.0" // {
         dependencies = [
           sources."ansi-escapes-3.2.0"
-          sources."ansi-regex-3.0.0"
+          sources."ansi-regex-3.0.1"
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
           sources."cli-cursor-2.1.0"
@@ -114063,12 +114178,12 @@ in
       })
       sources."merge-stream-2.0.0"
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-2.1.0"
       sources."min-indent-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."minimist-options-4.1.0"
       sources."mute-stream-0.0.8"
       (sources."new-github-release-url-1.0.0" // {
@@ -114258,7 +114373,7 @@ in
       sources."widest-line-3.1.0"
       (sources."wrap-ansi-3.0.1" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
+          sources."ansi-regex-3.0.1"
           sources."is-fullwidth-code-point-2.0.0"
           sources."string-width-2.1.1"
           sources."strip-ansi-4.0.0"
@@ -114313,7 +114428,7 @@ 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/fs-2.1.0"
       (sources."@npmcli/git-3.0.0" // {
         dependencies = [
           sources."lru-cache-7.7.1"
@@ -114344,7 +114459,7 @@ in
       sources."braces-3.0.2"
       sources."buffer-from-1.1.2"
       sources."builtins-1.0.3"
-      (sources."cacache-16.0.2" // {
+      (sources."cacache-16.0.3" // {
         dependencies = [
           sources."lru-cache-7.7.1"
         ];
@@ -114460,7 +114575,7 @@ in
       sources."json-buffer-3.0.0"
       sources."json-parse-even-better-errors-2.3.1"
       sources."json-parse-helpfulerror-1.0.3"
-      sources."json5-2.2.0"
+      sources."json5-2.2.1"
       sources."jsonlines-0.1.1"
       sources."jsonparse-1.3.1"
       sources."keyv-3.1.0"
@@ -114484,19 +114599,19 @@ in
           sources."semver-6.3.0"
         ];
       })
-      (sources."make-fetch-happen-10.0.6" // {
+      (sources."make-fetch-happen-10.1.0" // {
         dependencies = [
           sources."lru-cache-7.7.1"
         ];
       })
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."mimic-response-1.0.1"
       sources."minimatch-5.0.1"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."minipass-3.1.6"
       sources."minipass-collect-1.0.2"
-      sources."minipass-fetch-2.0.3"
+      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"
@@ -114525,7 +114640,7 @@ in
       })
       sources."npm-packlist-4.0.0"
       sources."npm-pick-manifest-7.0.0"
-      sources."npm-registry-fetch-13.0.1"
+      sources."npm-registry-fetch-13.1.0"
       sources."npmlog-6.0.1"
       sources."once-1.4.0"
       sources."p-cancelable-1.1.0"
@@ -114710,7 +114825,7 @@ in
       (sources."fstream-0.1.31" // {
         dependencies = [
           sources."graceful-fs-3.0.12"
-          sources."mkdirp-0.5.5"
+          sources."mkdirp-0.5.6"
         ];
       })
       sources."gauge-4.0.3"
@@ -114736,7 +114851,7 @@ in
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."mkdirp-0.3.5"
       sources."natives-1.1.6"
       sources."ncp-0.4.2"
@@ -114943,7 +115058,7 @@ in
       sources."@babel/compat-data-7.17.7"
       (sources."@babel/core-7.17.8" // {
         dependencies = [
-          sources."json5-2.2.0"
+          sources."json5-2.2.1"
           sources."semver-6.3.0"
         ];
       })
@@ -115086,7 +115201,7 @@ in
       sources."acorn-walk-6.2.0"
       sources."ajv-6.12.6"
       sources."alphanum-sort-1.0.2"
-      sources."ansi-regex-3.0.0"
+      sources."ansi-regex-3.0.1"
       sources."ansi-styles-3.2.1"
       sources."ansi-to-html-0.6.15"
       (sources."anymatch-2.0.0" // {
@@ -115188,7 +115303,7 @@ in
       sources."caller-path-2.0.0"
       sources."callsites-2.0.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001319"
+      sources."caniuse-lite-1.0.30001320"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."chokidar-2.1.8"
@@ -115297,9 +115412,9 @@ in
         ];
       })
       sources."delayed-stream-1.0.0"
-      sources."depd-1.1.2"
+      sources."depd-2.0.0"
       sources."des.js-1.0.1"
-      sources."destroy-1.0.4"
+      sources."destroy-1.2.0"
       (sources."diffie-hellman-5.0.3" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -115325,7 +115440,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.88"
+      sources."electron-to-chromium-1.4.96"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -115446,7 +115561,7 @@ in
           sources."domutils-2.8.0"
         ];
       })
-      sources."http-errors-1.8.1"
+      sources."http-errors-2.0.0"
       sources."http-signature-1.2.0"
       sources."https-browserify-1.0.0"
       sources."iconv-lite-0.4.24"
@@ -115568,13 +115683,13 @@ in
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
           sources."is-extendable-1.0.1"
         ];
       })
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       sources."ms-2.1.2"
       sources."nan-2.15.0"
       (sources."nanomatch-1.2.13" // {
@@ -115608,7 +115723,7 @@ in
       sources."object.getownpropertydescriptors-2.1.3"
       sources."object.pick-1.3.0"
       sources."object.values-1.1.5"
-      sources."on-finished-2.3.0"
+      sources."on-finished-2.4.1"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
       sources."opn-5.5.0"
@@ -115778,7 +115893,7 @@ in
       sources."sax-1.2.4"
       sources."saxes-3.1.11"
       sources."semver-5.7.1"
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
           (sources."debug-2.6.9" // {
             dependencies = [
@@ -115789,7 +115904,7 @@ in
         ];
       })
       sources."serialize-to-js-3.1.1"
-      sources."serve-static-1.14.2"
+      sources."serve-static-1.15.0"
       sources."set-value-2.0.1"
       sources."setimmediate-1.0.5"
       sources."setprototypeof-1.2.0"
@@ -115843,7 +115958,7 @@ in
       })
       sources."static-extend-0.1.2"
       sources."static-module-2.2.5"
-      sources."statuses-1.5.0"
+      sources."statuses-2.0.1"
       sources."stealthy-require-1.1.1"
       sources."stream-browserify-2.0.2"
       sources."stream-http-2.8.3"
@@ -115966,10 +116081,10 @@ in
   parcel = nodeEnv.buildNodePackage {
     name = "parcel";
     packageName = "parcel";
-    version = "2.3.2";
+    version = "2.4.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/parcel/-/parcel-2.3.2.tgz";
-      sha512 = "4jhgoBcQaiGKmnmBvNyKyOvZrxCgzgUzdEoVup/fRCOP99hNmvYIN5IErIIJxsU9ObcG/RGCFF8wa4kVRsWfIg==";
+      url = "https://registry.npmjs.org/parcel/-/parcel-2.4.0.tgz";
+      sha512 = "dPWpu4RnxG9HqiLvaF8COEWEnT/KrigrC6PyPaQ0zEgpBfp7/jzXZFBVaZk2N+lpvrbNEYMjN9bv5UQGJJszIw==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -115979,70 +116094,79 @@ in
           sources."chalk-2.4.2"
         ];
       })
-      sources."@parcel/bundler-default-2.3.2"
-      sources."@parcel/cache-2.3.2"
-      sources."@parcel/codeframe-2.3.2"
-      sources."@parcel/compressor-raw-2.3.2"
-      sources."@parcel/config-default-2.3.2"
-      sources."@parcel/core-2.3.2"
-      sources."@parcel/diagnostic-2.3.2"
-      sources."@parcel/events-2.3.2"
-      sources."@parcel/fs-2.3.2"
-      sources."@parcel/fs-search-2.3.2"
-      sources."@parcel/graph-2.3.2"
-      sources."@parcel/hash-2.3.2"
-      sources."@parcel/logger-2.3.2"
-      sources."@parcel/markdown-ansi-2.3.2"
-      sources."@parcel/namer-default-2.3.2"
-      sources."@parcel/node-resolver-core-2.3.2"
-      sources."@parcel/optimizer-cssnano-2.3.2"
-      sources."@parcel/optimizer-htmlnano-2.3.2"
-      sources."@parcel/optimizer-image-2.3.2"
-      sources."@parcel/optimizer-svgo-2.3.2"
-      sources."@parcel/optimizer-terser-2.3.2"
-      sources."@parcel/package-manager-2.3.2"
-      sources."@parcel/packager-css-2.3.2"
-      sources."@parcel/packager-html-2.3.2"
-      sources."@parcel/packager-js-2.3.2"
-      sources."@parcel/packager-raw-2.3.2"
-      sources."@parcel/packager-svg-2.3.2"
-      sources."@parcel/plugin-2.3.2"
-      sources."@parcel/reporter-cli-2.3.2"
-      sources."@parcel/reporter-dev-server-2.3.2"
-      sources."@parcel/resolver-default-2.3.2"
-      sources."@parcel/runtime-browser-hmr-2.3.2"
-      sources."@parcel/runtime-js-2.3.2"
-      sources."@parcel/runtime-react-refresh-2.3.2"
-      sources."@parcel/runtime-service-worker-2.3.2"
+      sources."@parcel/bundler-default-2.4.0"
+      sources."@parcel/cache-2.4.0"
+      sources."@parcel/codeframe-2.4.0"
+      sources."@parcel/compressor-raw-2.4.0"
+      sources."@parcel/config-default-2.4.0"
+      sources."@parcel/core-2.4.0"
+      sources."@parcel/css-1.7.3"
+      sources."@parcel/css-darwin-arm64-1.7.3"
+      sources."@parcel/css-darwin-x64-1.7.3"
+      sources."@parcel/css-linux-arm-gnueabihf-1.7.3"
+      sources."@parcel/css-linux-arm64-gnu-1.7.3"
+      sources."@parcel/css-linux-arm64-musl-1.7.3"
+      sources."@parcel/css-linux-x64-gnu-1.7.3"
+      sources."@parcel/css-linux-x64-musl-1.7.3"
+      sources."@parcel/css-win32-x64-msvc-1.7.3"
+      sources."@parcel/diagnostic-2.4.0"
+      sources."@parcel/events-2.4.0"
+      sources."@parcel/fs-2.4.0"
+      sources."@parcel/fs-search-2.4.0"
+      sources."@parcel/graph-2.4.0"
+      sources."@parcel/hash-2.4.0"
+      sources."@parcel/logger-2.4.0"
+      sources."@parcel/markdown-ansi-2.4.0"
+      sources."@parcel/namer-default-2.4.0"
+      sources."@parcel/node-resolver-core-2.4.0"
+      sources."@parcel/optimizer-css-2.4.0"
+      sources."@parcel/optimizer-htmlnano-2.4.0"
+      sources."@parcel/optimizer-image-2.4.0"
+      sources."@parcel/optimizer-svgo-2.4.0"
+      sources."@parcel/optimizer-terser-2.4.0"
+      sources."@parcel/package-manager-2.4.0"
+      sources."@parcel/packager-css-2.4.0"
+      sources."@parcel/packager-html-2.4.0"
+      sources."@parcel/packager-js-2.4.0"
+      sources."@parcel/packager-raw-2.4.0"
+      sources."@parcel/packager-svg-2.4.0"
+      sources."@parcel/plugin-2.4.0"
+      sources."@parcel/reporter-cli-2.4.0"
+      sources."@parcel/reporter-dev-server-2.4.0"
+      sources."@parcel/resolver-default-2.4.0"
+      sources."@parcel/runtime-browser-hmr-2.4.0"
+      sources."@parcel/runtime-js-2.4.0"
+      sources."@parcel/runtime-react-refresh-2.4.0"
+      sources."@parcel/runtime-service-worker-2.4.0"
       sources."@parcel/source-map-2.0.2"
-      sources."@parcel/transformer-babel-2.3.2"
-      sources."@parcel/transformer-css-2.3.2"
-      (sources."@parcel/transformer-html-2.3.2" // {
+      sources."@parcel/transformer-babel-2.4.0"
+      sources."@parcel/transformer-css-2.4.0"
+      (sources."@parcel/transformer-html-2.4.0" // {
         dependencies = [
           sources."posthtml-parser-0.10.2"
         ];
       })
-      sources."@parcel/transformer-image-2.3.2"
-      sources."@parcel/transformer-js-2.3.2"
-      sources."@parcel/transformer-json-2.3.2"
-      sources."@parcel/transformer-postcss-2.3.2"
-      (sources."@parcel/transformer-posthtml-2.3.2" // {
+      sources."@parcel/transformer-image-2.4.0"
+      sources."@parcel/transformer-js-2.4.0"
+      sources."@parcel/transformer-json-2.4.0"
+      sources."@parcel/transformer-postcss-2.4.0"
+      (sources."@parcel/transformer-posthtml-2.4.0" // {
         dependencies = [
           sources."posthtml-parser-0.10.2"
         ];
       })
-      sources."@parcel/transformer-raw-2.3.2"
-      sources."@parcel/transformer-react-refresh-wrap-2.3.2"
-      (sources."@parcel/transformer-svg-2.3.2" // {
+      sources."@parcel/transformer-raw-2.4.0"
+      sources."@parcel/transformer-react-refresh-wrap-2.4.0"
+      (sources."@parcel/transformer-svg-2.4.0" // {
         dependencies = [
           sources."posthtml-parser-0.10.2"
         ];
       })
-      sources."@parcel/types-2.3.2"
-      sources."@parcel/utils-2.3.2"
+      sources."@parcel/types-2.4.0"
+      sources."@parcel/utils-2.4.0"
       sources."@parcel/watcher-2.0.5"
-      sources."@parcel/workers-2.3.2"
-      sources."@swc/helpers-0.2.14"
+      sources."@parcel/workers-2.4.0"
+      sources."@swc/helpers-0.3.8"
       sources."@trysound/sax-0.2.0"
       sources."@types/parse-json-4.0.0"
       sources."abortcontroller-polyfill-1.7.3"
@@ -116053,8 +116177,7 @@ in
       sources."browserslist-4.20.2"
       sources."buffer-from-1.1.2"
       sources."callsites-3.1.0"
-      sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001319"
+      sources."caniuse-lite-1.0.30001320"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -116068,27 +116191,25 @@ in
       sources."clone-2.1.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colord-2.9.2"
       sources."commander-7.2.0"
       sources."cosmiconfig-7.0.1"
-      sources."css-declaration-sorter-6.1.4"
       sources."css-select-4.2.1"
       sources."css-tree-1.1.3"
       sources."css-what-5.1.0"
-      sources."cssesc-3.0.0"
-      sources."cssnano-5.1.4"
-      sources."cssnano-preset-default-5.2.4"
-      sources."cssnano-utils-3.1.0"
       sources."csso-4.2.0"
       sources."detect-libc-1.0.3"
-      sources."dom-serializer-1.3.2"
+      (sources."dom-serializer-1.3.2" // {
+        dependencies = [
+          sources."entities-2.2.0"
+        ];
+      })
       sources."domelementtype-2.2.0"
       sources."domhandler-4.3.1"
       sources."domutils-2.8.0"
       sources."dotenv-7.0.0"
       sources."dotenv-expand-5.1.0"
-      sources."electron-to-chromium-1.4.88"
-      sources."entities-2.2.0"
+      sources."electron-to-chromium-1.4.96"
+      sources."entities-3.0.1"
       sources."error-ex-1.3.2"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
@@ -116096,33 +116217,23 @@ in
       sources."globals-13.13.0"
       sources."has-flag-3.0.0"
       sources."htmlnano-2.0.0"
-      (sources."htmlparser2-7.2.0" // {
-        dependencies = [
-          sources."entities-3.0.1"
-        ];
-      })
+      sources."htmlparser2-7.2.0"
       sources."import-fresh-3.3.0"
       sources."is-arrayish-0.2.1"
       sources."is-json-2.0.1"
       sources."js-tokens-4.0.0"
       sources."json-parse-even-better-errors-2.3.1"
       sources."json-source-map-0.6.1"
-      sources."json5-2.2.0"
-      sources."lilconfig-2.0.4"
+      sources."json5-2.2.1"
       sources."lines-and-columns-1.2.4"
-      sources."lmdb-2.2.6"
-      sources."lodash.memoize-4.1.2"
-      sources."lodash.uniq-4.5.0"
+      sources."lmdb-2.2.4"
       sources."mdn-data-2.0.14"
-      sources."minimist-1.2.5"
       sources."msgpackr-1.5.5"
       sources."msgpackr-extract-1.0.16"
       sources."nan-2.15.0"
-      sources."nanoid-3.3.1"
       sources."node-addon-api-3.2.1"
       sources."node-gyp-build-4.3.0"
       sources."node-releases-2.0.2"
-      sources."normalize-url-6.1.0"
       sources."nth-check-2.0.1"
       sources."nullthrows-1.1.1"
       sources."ordered-binary-1.2.4"
@@ -116130,35 +116241,6 @@ in
       sources."parse-json-5.2.0"
       sources."path-type-4.0.0"
       sources."picocolors-1.0.0"
-      sources."postcss-8.4.12"
-      sources."postcss-calc-8.2.4"
-      sources."postcss-colormin-5.3.0"
-      sources."postcss-convert-values-5.1.0"
-      sources."postcss-discard-comments-5.1.1"
-      sources."postcss-discard-duplicates-5.1.0"
-      sources."postcss-discard-empty-5.1.1"
-      sources."postcss-discard-overridden-5.1.0"
-      sources."postcss-merge-longhand-5.1.2"
-      sources."postcss-merge-rules-5.1.0"
-      sources."postcss-minify-font-values-5.1.0"
-      sources."postcss-minify-gradients-5.1.0"
-      sources."postcss-minify-params-5.1.1"
-      sources."postcss-minify-selectors-5.2.0"
-      sources."postcss-normalize-charset-5.1.0"
-      sources."postcss-normalize-display-values-5.1.0"
-      sources."postcss-normalize-positions-5.1.0"
-      sources."postcss-normalize-repeat-style-5.1.0"
-      sources."postcss-normalize-string-5.1.0"
-      sources."postcss-normalize-timing-functions-5.1.0"
-      sources."postcss-normalize-unicode-5.1.0"
-      sources."postcss-normalize-url-5.1.0"
-      sources."postcss-normalize-whitespace-5.1.1"
-      sources."postcss-ordered-values-5.1.0"
-      sources."postcss-reduce-initial-5.1.0"
-      sources."postcss-reduce-transforms-5.1.0"
-      sources."postcss-selector-parser-6.0.9"
-      sources."postcss-svgo-5.1.0"
-      sources."postcss-unique-selectors-5.1.1"
       sources."postcss-value-parser-4.2.0"
       sources."posthtml-0.16.6"
       sources."posthtml-parser-0.11.0"
@@ -116169,12 +116251,11 @@ in
       sources."safe-buffer-5.2.1"
       sources."semver-5.7.1"
       sources."source-map-0.6.1"
-      sources."source-map-js-1.0.2"
       sources."source-map-support-0.5.21"
       sources."stable-0.1.8"
-      sources."stylehacks-5.1.0"
       sources."supports-color-5.5.0"
       sources."svgo-2.8.0"
+      sources."term-size-2.2.1"
       (sources."terser-5.12.1" // {
         dependencies = [
           sources."commander-2.20.3"
@@ -116183,7 +116264,6 @@ in
       })
       sources."timsort-0.3.0"
       sources."type-fest-0.20.2"
-      sources."util-deprecate-1.0.2"
       sources."utility-types-3.10.0"
       sources."v8-compile-cache-2.3.0"
       sources."weak-lru-cache-1.2.2"
@@ -116290,6 +116370,7 @@ in
       (sources."express-4.17.3" // {
         dependencies = [
           sources."content-type-1.0.4"
+          sources."finalhandler-1.1.2"
           sources."safe-buffer-5.2.1"
         ];
       })
@@ -116299,7 +116380,12 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
       sources."file-uri-to-path-1.0.0"
-      sources."finalhandler-1.1.2"
+      (sources."finalhandler-1.2.0" // {
+        dependencies = [
+          sources."on-finished-2.4.1"
+          sources."statuses-2.0.1"
+        ];
+      })
       sources."find-up-3.0.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
@@ -116358,8 +116444,8 @@ in
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."moment-2.29.1"
       sources."ms-2.0.0"
       sources."msgpack5-3.6.1"
@@ -116527,9 +116613,9 @@ in
       sources."isexe-2.0.0"
       sources."jsonfile-4.0.0"
       sources."klaw-sync-6.0.0"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."nice-try-1.0.5"
       sources."once-1.4.0"
       sources."open-7.4.2"
@@ -116652,7 +116738,7 @@ in
       sources."flatten-0.0.1"
       (sources."fs-chunk-store-1.7.0" // {
         dependencies = [
-          sources."mkdirp-0.5.5"
+          sources."mkdirp-0.5.6"
         ];
       })
       sources."fs.realpath-1.0.0"
@@ -116678,7 +116764,7 @@ in
       sources."ini-1.3.8"
       (sources."inquirer-5.2.0" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
+          sources."ansi-regex-3.0.1"
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
           sources."is-fullwidth-code-point-2.0.0"
@@ -116720,7 +116806,7 @@ in
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."mkdirp-0.3.5"
       sources."mkdirp-classic-0.5.3"
       sources."ms-2.0.0"
@@ -116997,6 +117083,7 @@ in
       (sources."express-4.17.3" // {
         dependencies = [
           sources."safe-buffer-5.2.1"
+          sources."serve-static-1.14.2"
         ];
       })
       sources."extend-3.0.2"
@@ -117079,8 +117166,8 @@ in
       sources."mime-types-2.1.35"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."mkdirp-classic-0.5.3"
       (sources."morgan-1.10.0" // {
         dependencies = [
@@ -117155,7 +117242,17 @@ in
           sources."ms-2.1.3"
         ];
       })
-      sources."serve-static-1.14.2"
+      (sources."serve-static-1.15.0" // {
+        dependencies = [
+          sources."depd-2.0.0"
+          sources."destroy-1.2.0"
+          sources."http-errors-2.0.0"
+          sources."ms-2.1.3"
+          sources."on-finished-2.4.1"
+          sources."send-0.18.0"
+          sources."statuses-2.0.1"
+        ];
+      })
       sources."setprototypeof-1.2.0"
       sources."simple-concat-1.0.1"
       sources."simple-get-2.8.2"
@@ -117347,9 +117444,9 @@ in
       sources."levn-0.3.0"
       sources."lru-cache-6.0.0"
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."mimic-response-2.1.0"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."mkdirp-classic-0.5.3"
       sources."ms-2.1.2"
       (sources."multistream-4.1.0" // {
@@ -117532,7 +117629,7 @@ in
       sources."estraverse-4.3.0"
       sources."esutils-2.0.3"
       sources."eventemitter2-5.0.1"
-      sources."fast-json-patch-3.1.0"
+      sources."fast-json-patch-3.1.1"
       sources."fast-levenshtein-2.0.6"
       sources."fclone-1.0.11"
       sources."file-uri-to-path-2.0.0"
@@ -117786,9 +117883,9 @@ in
       sources."is-glob-4.0.3"
       sources."is-number-7.0.0"
       sources."jsonfile-6.1.0"
-      sources."lilconfig-2.0.4"
+      sources."lilconfig-2.0.5"
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."normalize-path-3.0.0"
       sources."path-type-4.0.0"
       sources."picocolors-1.0.0"
@@ -117865,7 +117962,7 @@ in
       sources."isarray-1.0.0"
       sources."lru-cache-6.0.0"
       sources."mimic-response-3.1.0"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."mkdirp-classic-0.5.3"
       sources."napi-build-utils-1.0.2"
       sources."node-abi-3.8.0"
@@ -117912,10 +118009,10 @@ in
   prettier = nodeEnv.buildNodePackage {
     name = "prettier";
     packageName = "prettier";
-    version = "2.6.0";
+    version = "2.6.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/prettier/-/prettier-2.6.0.tgz";
-      sha512 = "m2FgJibYrBGGgQXNzfd0PuDGShJgRavjUoRCw1mZERIWVSXF0iLzLm+aOqTAbLnC3n6JzUhAA8uZnFVghHJ86A==";
+      url = "https://registry.npmjs.org/prettier/-/prettier-2.6.1.tgz";
+      sha512 = "8UVbTBYGwN37Bs9LERmxCPjdvPxlEowx2urIL6urHzdb3SDq4B/Z6xLFCblrSnE4iKWcS6ziJ3aOYrc1kz/E2A==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -117942,10 +118039,10 @@ in
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."is-core-module-2.8.1"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."nanolru-1.0.0"
       sources."path-parse-1.0.7"
-      sources."prettier-2.6.0"
+      sources."prettier-2.6.1"
       sources."resolve-1.22.0"
       sources."supports-color-8.1.1"
       sources."supports-preserve-symlinks-flag-1.0.0"
@@ -117987,13 +118084,13 @@ in
   prisma = nodeEnv.buildNodePackage {
     name = "prisma";
     packageName = "prisma";
-    version = "3.11.0";
+    version = "3.11.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/prisma/-/prisma-3.11.0.tgz";
-      sha512 = "8SdsLPhKR3mOfoo2o73h9mNn3v5kA/RqGA26Sv6qDS78Eh2uepPqt5e8/nwj5EOblYm5HEGuitaXQrOCLb6uTw==";
+      url = "https://registry.npmjs.org/prisma/-/prisma-3.11.1.tgz";
+      sha512 = "aYn8bQwt1xwR2oSsVNHT4PXU7EhsThIwmpNB/MNUaaMx5OPLTro6VdNJe/sJssXFLxhamfWeMjwmpXjljo6xkg==";
     };
     dependencies = [
-      sources."@prisma/engines-3.11.0-48.b371888aaf8f51357c7457d836b86d12da91658b"
+      sources."@prisma/engines-3.11.1-1.1a2506facaf1a4727b7c26850735e88ec779dee9"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -118242,8 +118339,8 @@ in
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.0.8"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."mkdirp-classic-0.5.3"
       (sources."module-deps-6.2.3" // {
         dependencies = [
@@ -118363,10 +118460,10 @@ in
   purescript-language-server = nodeEnv.buildNodePackage {
     name = "purescript-language-server";
     packageName = "purescript-language-server";
-    version = "0.16.5";
+    version = "0.16.6";
     src = fetchurl {
-      url = "https://registry.npmjs.org/purescript-language-server/-/purescript-language-server-0.16.5.tgz";
-      sha512 = "M9Ktn2/hVjWMN9vK+q8i8i4r0gnnhT0u+GpKPsrdjPjJFcTqKaH49TQNwf07eD8Sd+xlcuU3PSu5CRgXwH3gag==";
+      url = "https://registry.npmjs.org/purescript-language-server/-/purescript-language-server-0.16.6.tgz";
+      sha512 = "oFxJ0Q59ZmEAwfwgf0nHn5twogTYNqrLDi8mNDnxQcu6Q9XhhagNgLNvPyZNvhO8ELL5UvURG7xZk+GKCKkxOg==";
     };
     dependencies = [
       sources."isexe-2.0.0"
@@ -118483,7 +118580,7 @@ in
       sources."lodash.flatmap-4.5.0"
       sources."lowercase-keys-1.0.1"
       sources."mimic-response-1.0.1"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."moment-2.29.1"
       sources."ms-2.1.2"
       sources."node-abort-controller-3.0.1"
@@ -118534,10 +118631,10 @@ in
   pyright = nodeEnv.buildNodePackage {
     name = "pyright";
     packageName = "pyright";
-    version = "1.1.231";
+    version = "1.1.233";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.231.tgz";
-      sha512 = "IPq1p/pg8PWXwBWj2knmV9pYNGoRgfCyFFNv1Osy4zX9F/9+hY2E6dSdKskgm85FkCjizPJ48xg9h/ENo3e0HQ==";
+      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.233.tgz";
+      sha512 = "qjyKJd6mfXLwaBls4Ww0CmML+K2gA4NnTelxGktLC3JQv7ioWU7lmiQ1KSr1BnmwuuTfsaJSDN3f+hUf9YPfWg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -118561,7 +118658,7 @@ in
       sources."@mark.probst/typescript-json-schema-0.32.0"
       sources."@mark.probst/unicode-properties-1.1.0"
       sources."acorn-7.4.1"
-      sources."ansi-regex-3.0.0"
+      sources."ansi-regex-3.0.1"
       sources."ansi-styles-3.2.1"
       sources."array-back-2.0.0"
       sources."balanced-match-1.0.2"
@@ -118647,7 +118744,7 @@ in
       })
       sources."mimic-fn-2.1.0"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."moment-2.29.1"
       sources."nice-try-1.0.5"
       sources."node-fetch-2.6.7"
@@ -118840,8 +118937,8 @@ in
       sources."isarray-2.0.5"
       sources."isstream-0.1.2"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."mute-stream-0.0.8"
       sources."ncp-0.4.2"
       sources."object-inspect-1.12.0"
@@ -119033,9 +119130,9 @@ in
       sources."@reach/router-1.3.4"
       sources."@sindresorhus/is-0.7.0"
       sources."@types/glob-7.2.0"
-      sources."@types/json-schema-7.0.10"
+      sources."@types/json-schema-7.0.11"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/parse-json-4.0.0"
       sources."@types/q-1.5.5"
       sources."@webassemblyjs/ast-1.9.0"
@@ -119071,7 +119168,7 @@ in
       sources."ansi-colors-3.2.4"
       sources."ansi-escapes-3.2.0"
       sources."ansi-html-community-0.0.8"
-      sources."ansi-regex-3.0.0"
+      sources."ansi-regex-3.0.1"
       sources."ansi-styles-3.2.1"
       sources."anymatch-3.1.2"
       sources."aproba-1.2.0"
@@ -119114,7 +119211,7 @@ in
       })
       sources."axios-0.21.4"
       sources."babel-core-7.0.0-bridge.0"
-      (sources."babel-loader-8.2.3" // {
+      (sources."babel-loader-8.2.4" // {
         dependencies = [
           sources."find-cache-dir-3.3.2"
           sources."find-up-4.1.0"
@@ -119227,7 +119324,7 @@ in
       sources."camel-case-3.0.0"
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001319"
+      sources."caniuse-lite-1.0.30001320"
       sources."case-sensitive-paths-webpack-plugin-2.4.0"
       sources."caw-2.0.1"
       sources."chalk-2.4.2"
@@ -119333,6 +119430,8 @@ in
       sources."css-declaration-sorter-4.0.1"
       (sources."css-loader-2.1.1" // {
         dependencies = [
+          sources."json5-1.0.1"
+          sources."loader-utils-1.4.0"
           sources."postcss-value-parser-3.3.1"
           sources."schema-utils-1.0.0"
         ];
@@ -119455,7 +119554,7 @@ in
       sources."duplexify-3.7.1"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.4.88"
+      sources."electron-to-chromium-1.4.96"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -119551,7 +119650,6 @@ in
       })
       (sources."extract-css-chunks-webpack-plugin-4.9.0" // {
         dependencies = [
-          sources."loader-utils-2.0.2"
           sources."normalize-url-1.9.1"
           sources."prepend-http-1.0.4"
           sources."query-string-4.3.4"
@@ -119571,6 +119669,8 @@ in
       sources."figures-2.0.0"
       (sources."file-loader-3.0.1" // {
         dependencies = [
+          sources."json5-1.0.1"
+          sources."loader-utils-1.4.0"
           sources."schema-utils-1.0.0"
         ];
       })
@@ -119794,7 +119894,7 @@ in
       sources."json-parse-better-errors-1.0.2"
       sources."json-parse-even-better-errors-2.3.1"
       sources."json-schema-traverse-0.4.1"
-      sources."json5-2.2.0"
+      sources."json5-2.2.1"
       sources."jsonfile-4.0.0"
       sources."keyv-3.0.0"
       sources."killable-1.0.1"
@@ -119802,11 +119902,7 @@ in
       sources."last-call-webpack-plugin-3.0.0"
       sources."lines-and-columns-1.2.4"
       sources."loader-runner-2.4.0"
-      (sources."loader-utils-1.4.0" // {
-        dependencies = [
-          sources."json5-1.0.1"
-        ];
-      })
+      sources."loader-utils-2.0.2"
       sources."locate-path-3.0.0"
       sources."lodash-4.17.21"
       sources."lodash.debounce-4.0.8"
@@ -119860,7 +119956,7 @@ in
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       (sources."mississippi-3.0.0" // {
         dependencies = [
           sources."pump-3.0.0"
@@ -119871,7 +119967,7 @@ in
           sources."is-extendable-1.0.1"
         ];
       })
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       sources."mkdirp-classic-0.5.3"
       sources."move-concurrently-1.0.1"
       sources."ms-2.1.2"
@@ -120021,6 +120117,8 @@ in
       })
       (sources."postcss-loader-3.0.0" // {
         dependencies = [
+          sources."json5-1.0.1"
+          sources."loader-utils-1.4.0"
           sources."schema-utils-1.0.0"
         ];
       })
@@ -120157,7 +120255,12 @@ in
           sources."bytes-3.1.2"
         ];
       })
-      sources."raw-loader-3.1.0"
+      (sources."raw-loader-3.1.0" // {
+        dependencies = [
+          sources."json5-1.0.1"
+          sources."loader-utils-1.4.0"
+        ];
+      })
       sources."rc-1.2.8"
       sources."react-fast-compare-3.2.0"
       sources."react-helmet-6.1.0"
@@ -120412,6 +120515,8 @@ in
       sources."strip-outer-1.0.1"
       (sources."style-loader-0.23.1" // {
         dependencies = [
+          sources."json5-1.0.1"
+          sources."loader-utils-1.4.0"
           sources."schema-utils-1.0.0"
         ];
       })
@@ -120515,7 +120620,12 @@ in
           sources."punycode-1.3.2"
         ];
       })
-      sources."url-loader-2.3.0"
+      (sources."url-loader-2.3.0" // {
+        dependencies = [
+          sources."json5-1.0.1"
+          sources."loader-utils-1.4.0"
+        ];
+      })
       sources."url-parse-1.5.10"
       sources."url-parse-lax-3.0.0"
       sources."url-to-options-1.0.1"
@@ -120557,6 +120667,8 @@ in
       sources."wbuf-1.7.3"
       (sources."webpack-4.46.0" // {
         dependencies = [
+          sources."json5-1.0.1"
+          sources."loader-utils-1.4.0"
           sources."schema-utils-1.0.0"
         ];
       })
@@ -120687,8 +120799,8 @@ in
         ];
       })
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."private-0.1.8"
@@ -120711,10 +120823,10 @@ in
   readability-cli = nodeEnv.buildNodePackage {
     name = "readability-cli";
     packageName = "readability-cli";
-    version = "2.3.5";
+    version = "2.4.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/readability-cli/-/readability-cli-2.3.5.tgz";
-      sha512 = "xSnTf4ik+hAY57CKk7lWvtumDbvfDKEHrzveXbIeoaLhEDE2+7qfjgrCK0DcCLFRfOKS6rsrYEZewfOYU+YfpQ==";
+      url = "https://registry.npmjs.org/readability-cli/-/readability-cli-2.4.0.tgz";
+      sha512 = "9yIWmelcUihFl8wdEGTxvl7zWV7VxvNBmLiyDmqryF2xeaj1+7MmqeZ2KCpkklqZncCtIlwqBKRQtWLJbcztjQ==";
     };
     dependencies = [
       sources."@mozilla/readability-0.4.2"
@@ -120840,15 +120952,15 @@ in
       sources."@babel/template-7.16.7"
       sources."@babel/traverse-7.17.3"
       sources."@babel/types-7.17.0"
-      sources."@emotion/is-prop-valid-0.8.8"
-      sources."@emotion/memoize-0.7.4"
+      sources."@emotion/is-prop-valid-1.1.2"
+      sources."@emotion/memoize-0.7.5"
       sources."@emotion/stylis-0.8.5"
       sources."@emotion/unitless-0.7.5"
       sources."@exodus/schemasafe-1.0.0-rc.6"
       sources."@redocly/ajv-8.6.4"
-      sources."@redocly/openapi-core-1.0.0-beta.88"
+      sources."@redocly/openapi-core-1.0.0-beta.90"
       sources."@redocly/react-dropdown-aria-2.0.12"
-      sources."@types/json-schema-7.0.10"
+      sources."@types/json-schema-7.0.11"
       sources."@types/node-14.18.12"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-3.2.1"
@@ -120993,7 +121105,7 @@ in
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."mkdirp-1.0.4"
       sources."mobx-6.5.0"
       sources."mobx-react-7.3.0"
@@ -121080,7 +121192,7 @@ in
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.1"
       sources."style-loader-3.3.1"
-      sources."styled-components-5.3.3"
+      sources."styled-components-5.3.5"
       sources."supports-color-5.5.0"
       sources."swagger2openapi-7.0.8"
       sources."timers-browserify-2.0.12"
@@ -121279,10 +121391,10 @@ in
   "reveal.js" = nodeEnv.buildNodePackage {
     name = "reveal.js";
     packageName = "reveal.js";
-    version = "4.3.0";
+    version = "4.3.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/reveal.js/-/reveal.js-4.3.0.tgz";
-      sha512 = "KzZxJjj1gmxVNyplY6g9MiGwtDvZJiYkMvG1Qmaita7vWT/8eoTEK+RuIPLvxDeyxOtTz56u2wrOETVO79qL4A==";
+      url = "https://registry.npmjs.org/reveal.js/-/reveal.js-4.3.1.tgz";
+      sha512 = "1kyEnWeUkaCdBdX//XXq9dtBK95ppvIlSwlHelrP8/wrX6LcsYp4HT9WTFoFEOUBfVqkm8C2aHQ367o+UKfcxw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -121457,8 +121569,8 @@ in
       sources."mime-types-2.1.35"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."ms-2.1.2"
       sources."mustache-4.2.0"
       sources."negotiator-0.6.3"
@@ -121652,17 +121764,17 @@ in
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
       sources."@tootallnate/once-1.1.2"
-      sources."@types/json-schema-7.0.10"
+      sources."@types/json-schema-7.0.11"
       sources."@types/node-14.17.34"
       sources."@types/vscode-1.63.2"
-      sources."@typescript-eslint/eslint-plugin-5.15.0"
-      sources."@typescript-eslint/parser-5.15.0"
-      sources."@typescript-eslint/scope-manager-5.15.0"
-      sources."@typescript-eslint/type-utils-5.15.0"
-      sources."@typescript-eslint/types-5.15.0"
-      sources."@typescript-eslint/typescript-estree-5.15.0"
-      sources."@typescript-eslint/utils-5.15.0"
-      sources."@typescript-eslint/visitor-keys-5.15.0"
+      sources."@typescript-eslint/eslint-plugin-5.16.0"
+      sources."@typescript-eslint/parser-5.16.0"
+      sources."@typescript-eslint/scope-manager-5.16.0"
+      sources."@typescript-eslint/type-utils-5.16.0"
+      sources."@typescript-eslint/types-5.16.0"
+      sources."@typescript-eslint/typescript-estree-5.16.0"
+      sources."@typescript-eslint/utils-5.16.0"
+      sources."@typescript-eslint/visitor-keys-5.16.0"
       sources."@vscode/test-electron-2.1.3"
       sources."acorn-8.7.0"
       sources."acorn-jsx-5.3.2"
@@ -121784,7 +121896,7 @@ in
       sources."entities-2.2.0"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-4.0.0"
-      (sources."eslint-8.11.0" // {
+      (sources."eslint-8.12.0" // {
         dependencies = [
           sources."eslint-scope-7.1.1"
           sources."estraverse-5.3.0"
@@ -121887,12 +121999,12 @@ in
       })
       sources."mdurl-1.0.1"
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."mime-1.6.0"
       sources."mimic-response-3.1.0"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."mkdirp-classic-0.5.3"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
@@ -121983,7 +122095,7 @@ in
       sources."type-check-0.4.0"
       sources."type-fest-0.20.2"
       sources."typed-rest-client-1.8.6"
-      sources."typescript-4.6.2"
+      sources."typescript-4.6.3"
       sources."typescript-formatter-7.2.2"
       sources."uc.micro-1.0.6"
       sources."underscore-1.13.2"
@@ -122285,7 +122397,7 @@ in
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."minimatch-3.0.4"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."ms-2.0.0"
       sources."negotiator-0.6.3"
       sources."nice-try-1.0.5"
@@ -122340,10 +122452,10 @@ in
   serverless = nodeEnv.buildNodePackage {
     name = "serverless";
     packageName = "serverless";
-    version = "3.7.9";
+    version = "3.10.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/serverless/-/serverless-3.7.9.tgz";
-      sha512 = "nTdA0oyIwkS/oozLN3C1VLq9iOa+tPSjLQGUBKxErbZ3bunrMiq+YK9s2Debd9CSE8MgbssdY6nv0Jy9H23OIA==";
+      url = "https://registry.npmjs.org/serverless/-/serverless-3.10.0.tgz";
+      sha512 = "2bRpqJFrejlN0hIrTnFQKV/MejUF8lZSRfULBqdUG4emwrUiTzZSerYdUVifHvhvIEcno6GeTbMs1xwQrCb2fw==";
     };
     dependencies = [
       sources."2-thenable-1.0.0"
@@ -122352,7 +122464,7 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@serverless/dashboard-plugin-6.1.6"
+      sources."@serverless/dashboard-plugin-6.2.0"
       sources."@serverless/event-mocks-1.1.1"
       (sources."@serverless/platform-client-4.3.2" // {
         dependencies = [
@@ -122371,11 +122483,11 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.4"
       sources."@types/lodash-4.14.180"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/responselike-1.0.0"
       sources."adm-zip-0.5.9"
       sources."agent-base-6.0.2"
-      sources."ajv-8.10.0"
+      sources."ajv-8.11.0"
       sources."ajv-formats-2.1.1"
       sources."ansi-escapes-4.3.2"
       sources."ansi-regex-5.0.1"
@@ -122397,7 +122509,7 @@ in
       sources."async-3.2.3"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
-      (sources."aws-sdk-2.1096.0" // {
+      (sources."aws-sdk-2.1101.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."ieee754-1.1.13"
@@ -122604,7 +122716,7 @@ in
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."inquirer-8.2.1"
+      sources."inquirer-8.2.2"
       sources."is-binary-path-2.1.0"
       sources."is-docker-2.2.1"
       sources."is-extglob-2.1.1"
@@ -122662,7 +122774,7 @@ in
       sources."memoizee-0.4.15"
       sources."merge2-1.4.1"
       sources."methods-1.1.2"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."mime-1.6.0"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
@@ -122958,8 +123070,8 @@ in
       sources."mime-1.6.0"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."moment-2.7.0"
       sources."ms-2.0.0"
       sources."mute-stream-0.0.8"
@@ -123363,8 +123475,8 @@ in
       sources."lru-cache-2.2.0"
       sources."mime-1.6.0"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."mv-2.1.1"
       sources."nan-2.15.0"
       sources."ncp-2.0.0"
@@ -123463,10 +123575,10 @@ in
   snyk = nodeEnv.buildNodePackage {
     name = "snyk";
     packageName = "snyk";
-    version = "1.878.0";
+    version = "1.884.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/snyk/-/snyk-1.878.0.tgz";
-      sha512 = "5esdH2PRGAc1DQE48GtvsUbAFnebFUXsKpDhR56KWx8G8JdC2lbaTheV0/MUoen5/+xNW6t35xHhUERFAK/MOw==";
+      url = "https://registry.npmjs.org/snyk/-/snyk-1.884.0.tgz";
+      sha512 = "lQtXRoi0mgTsrjzTcKNbpec+q4ai8rhls1FOcr2ZBTe7V7mKTGXZ9yk6DY2VXRKyboL8zvV3rIrzm+l85n5yIg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -123490,7 +123602,7 @@ in
       sources."@types/component-emitter-1.2.11"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."accepts-1.3.8"
       sources."base64id-2.0.0"
       sources."component-emitter-1.3.0"
@@ -123590,7 +123702,7 @@ in
       sources."is-fullwidth-code-point-4.0.0"
       sources."is-interactive-2.0.0"
       sources."is-plain-obj-1.1.0"
-      sources."is-unicode-supported-1.1.0"
+      sources."is-unicode-supported-1.2.0"
       sources."js-tokens-4.0.0"
       sources."json-parse-even-better-errors-2.3.1"
       sources."kind-of-6.0.3"
@@ -124079,8 +124191,8 @@ in
       })
       sources."levelup-4.4.0"
       sources."libnested-1.5.2"
-      sources."libsodium-0.7.9"
-      sources."libsodium-wrappers-0.7.9"
+      sources."libsodium-0.7.10"
+      sources."libsodium-wrappers-0.7.10"
       sources."lodash.debounce-4.0.8"
       sources."lodash.get-4.4.2"
       sources."log-symbols-1.0.2"
@@ -124098,13 +124210,13 @@ in
       sources."mdmanifest-1.0.8"
       sources."micromatch-2.3.11"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
           sources."is-extendable-1.0.1"
         ];
       })
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       sources."mkdirp-classic-0.5.3"
       sources."monotonic-timestamp-0.0.9"
       sources."moo-0.5.1"
@@ -124474,7 +124586,7 @@ in
           sources."rimraf-3.0.2"
           (sources."ssb-keys-8.2.0" // {
             dependencies = [
-              sources."mkdirp-0.5.5"
+              sources."mkdirp-0.5.6"
             ];
           })
         ];
@@ -124726,7 +124838,7 @@ in
       sources."async-1.5.2"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
-      (sources."aws-sdk-2.1096.0" // {
+      (sources."aws-sdk-2.1101.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -124902,6 +125014,7 @@ in
           sources."proxy-addr-2.0.7"
           sources."qs-6.9.7"
           sources."safe-buffer-5.2.1"
+          sources."serve-static-1.14.2"
         ];
       })
       (sources."express-validator-2.21.0" // {
@@ -125093,9 +125206,9 @@ in
       sources."mimic-fn-2.1.0"
       sources."minicap-prebuilt-2.3.0"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."minitouch-prebuilt-1.2.0"
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       sources."moment-2.29.1"
       sources."ms-2.1.3"
       sources."multer-1.4.4"
@@ -125254,7 +125367,16 @@ in
           sources."safe-buffer-5.1.1"
         ];
       })
-      sources."serve-static-1.14.2"
+      (sources."serve-static-1.15.0" // {
+        dependencies = [
+          sources."depd-2.0.0"
+          sources."destroy-1.2.0"
+          sources."http-errors-2.0.0"
+          sources."on-finished-2.4.1"
+          sources."send-0.18.0"
+          sources."statuses-2.0.1"
+        ];
+      })
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.2.0"
       sources."shebang-command-1.2.0"
@@ -125311,7 +125433,7 @@ in
       sources."streamsearch-0.1.2"
       (sources."string-width-2.1.1" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
+          sources."ansi-regex-3.0.1"
           sources."is-fullwidth-code-point-2.0.0"
           sources."strip-ansi-4.0.0"
         ];
@@ -125367,7 +125489,7 @@ in
       sources."tough-cookie-2.3.4"
       (sources."transliteration-1.6.6" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
+          sources."ansi-regex-3.0.1"
           sources."cliui-4.1.0"
           sources."strip-ansi-4.0.0"
           sources."yargs-12.0.5"
@@ -125504,10 +125626,10 @@ in
   stylelint = nodeEnv.buildNodePackage {
     name = "stylelint";
     packageName = "stylelint";
-    version = "14.6.0";
+    version = "14.6.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/stylelint/-/stylelint-14.6.0.tgz";
-      sha512 = "Xk2sqXYPi9nXgq70nBiZkbQm/QOOKd83NBTaBE1fXEWAEeRlgHnKC/E7kJFlT6K0SaNDOK5yIvR7GFPGsNLuOg==";
+      url = "https://registry.npmjs.org/stylelint/-/stylelint-14.6.1.tgz";
+      sha512 = "FfNdvZUZdzh9KDQxDnO7Opp+prKh8OQVuSW8S13cBtxrooCbm6J6royhUeb++53WPMt04VB+ZbOz/QmzAijs6Q==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -125519,7 +125641,7 @@ in
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
-      sources."ajv-8.10.0"
+      sources."ajv-8.11.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-3.2.1"
       sources."array-union-2.1.0"
@@ -125614,7 +125736,7 @@ in
       sources."mathml-tag-names-2.1.3"
       sources."meow-9.0.0"
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."min-indent-1.0.1"
       sources."minimatch-3.1.2"
       sources."minimist-options-4.1.0"
@@ -125729,7 +125851,7 @@ in
     dependencies = [
       sources."ajv-6.12.6"
       sources."ansi-escapes-3.2.0"
-      sources."ansi-regex-3.0.0"
+      sources."ansi-regex-3.0.1"
       sources."ansi-styles-3.2.1"
       sources."asn1-0.2.6"
       sources."assert-plus-1.0.0"
@@ -125797,9 +125919,9 @@ in
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.1.2"
       sources."minimist-1.2.3"
-      (sources."mkdirp-0.5.5" // {
+      (sources."mkdirp-0.5.6" // {
         dependencies = [
-          sources."minimist-1.2.5"
+          sources."minimist-1.2.6"
         ];
       })
       sources."moniker-0.1.2"
@@ -125867,7 +125989,7 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/pug-2.0.6"
       sources."@types/sass-1.43.1"
       sources."anymatch-3.1.2"
@@ -125898,11 +126020,11 @@ in
       sources."is-number-7.0.0"
       sources."magic-string-0.25.9"
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."min-indent-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."mri-1.2.0"
       sources."normalize-path-3.0.0"
       sources."once-1.4.0"
@@ -125924,7 +126046,7 @@ in
       sources."strip-indent-3.0.0"
       sources."svelte-preprocess-4.10.4"
       sources."to-regex-range-5.0.1"
-      sources."typescript-4.6.2"
+      sources."typescript-4.6.3"
       sources."wrappy-1.0.2"
     ];
     buildInputs = globalBuildInputs;
@@ -125952,7 +126074,7 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/pug-2.0.6"
       sources."@types/sass-1.43.1"
       sources."anymatch-3.1.2"
@@ -125987,11 +126109,11 @@ in
       sources."lower-case-2.0.2"
       sources."magic-string-0.25.9"
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."min-indent-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."no-case-3.0.4"
       sources."normalize-path-3.0.0"
       sources."once-1.4.0"
@@ -126015,7 +126137,7 @@ in
       sources."svelte2tsx-0.5.6"
       sources."to-regex-range-5.0.1"
       sources."tslib-2.3.1"
-      sources."typescript-4.6.2"
+      sources."typescript-4.6.3"
       sources."vscode-css-languageservice-5.1.13"
       (sources."vscode-emmet-helper-2.6.4" // {
         dependencies = [
@@ -126219,8 +126341,8 @@ in
       sources."deep-extend-0.6.0"
       sources."define-property-2.0.2"
       sources."delayed-stream-1.0.0"
-      sources."depd-1.1.2"
-      sources."destroy-1.0.4"
+      sources."depd-2.0.0"
+      sources."destroy-1.2.0"
       (sources."dicer-0.2.5" // {
         dependencies = [
           sources."isarray-0.0.1"
@@ -126305,7 +126427,7 @@ in
       sources."growl-1.9.2"
       (sources."handlebars-4.7.7" // {
         dependencies = [
-          sources."minimist-1.2.5"
+          sources."minimist-1.2.6"
           sources."source-map-0.6.1"
         ];
       })
@@ -126319,7 +126441,11 @@ in
           sources."kind-of-4.0.0"
         ];
       })
-      sources."http-errors-1.8.1"
+      (sources."http-errors-2.0.0" // {
+        dependencies = [
+          sources."statuses-2.0.1"
+        ];
+      })
       sources."iconv-lite-0.4.8"
       sources."ignore-by-default-1.0.1"
       sources."import-lazy-2.1.0"
@@ -126442,8 +126568,8 @@ in
       sources."ms-2.0.0"
       (sources."multer-1.4.4" // {
         dependencies = [
-          sources."minimist-1.2.5"
-          sources."mkdirp-0.5.5"
+          sources."minimist-1.2.6"
+          sources."mkdirp-0.5.6"
         ];
       })
       sources."mute-stream-0.0.5"
@@ -126519,7 +126645,7 @@ in
       })
       (sources."rc-1.2.8" // {
         dependencies = [
-          sources."minimist-1.2.5"
+          sources."minimist-1.2.6"
         ];
       })
       sources."readable-stream-2.3.7"
@@ -126543,12 +126669,14 @@ in
       sources."sanitize-filename-1.6.3"
       sources."semver-5.7.1"
       sources."semver-diff-2.1.0"
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
           sources."ms-2.1.3"
+          sources."on-finished-2.4.1"
+          sources."statuses-2.0.1"
         ];
       })
-      sources."serve-static-1.14.2"
+      sources."serve-static-1.15.0"
       (sources."set-value-2.0.1" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -126619,7 +126747,7 @@ in
       sources."string-3.3.3"
       (sources."string-width-2.1.1" // {
         dependencies = [
-          sources."ansi-regex-3.0.0"
+          sources."ansi-regex-3.0.1"
           sources."is-fullwidth-code-point-2.0.0"
           sources."strip-ansi-4.0.0"
         ];
@@ -126801,11 +126929,11 @@ in
       sources."is-number-7.0.0"
       sources."js-tokens-4.0.0"
       sources."json-parse-even-better-errors-2.3.1"
-      sources."lilconfig-2.0.4"
+      sources."lilconfig-2.0.5"
       sources."lines-and-columns-1.2.4"
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
-      sources."minimist-1.2.5"
+      sources."micromatch-4.0.5"
+      sources."minimist-1.2.6"
       sources."nanoid-3.3.1"
       sources."normalize-path-3.0.0"
       sources."object-hash-2.2.0"
@@ -126912,7 +127040,7 @@ in
       sources."mime-2.6.0"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."module-alias-2.2.2"
       sources."moment-2.29.1"
       sources."ms-2.1.2"
@@ -127102,7 +127230,7 @@ in
       sources."@textlint/utils-12.1.1"
       sources."@types/mdast-3.0.10"
       sources."@types/unist-2.0.6"
-      sources."ajv-8.10.0"
+      sources."ajv-8.11.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."argparse-1.0.10"
@@ -127170,7 +127298,7 @@ in
       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.0"
+      sources."json5-2.2.1"
       sources."levn-0.4.1"
       sources."load-json-file-1.1.0"
       sources."locate-path-2.0.0"
@@ -127203,8 +127331,8 @@ in
       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.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."ms-2.1.2"
       sources."normalize-package-data-2.5.0"
       sources."object-is-1.1.5"
@@ -127547,7 +127675,7 @@ in
       sources."mimic-response-1.0.1"
       sources."min-indent-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."minimist-options-4.1.0"
       sources."ms-2.1.2"
       sources."nlcst-is-literal-1.2.2"
@@ -128140,7 +128268,7 @@ in
       sources."@types/cors-2.8.12"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -128373,14 +128501,14 @@ in
       sources."mimic-response-1.0.1"
       sources."minimalistic-assert-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       (sources."minipass-2.9.0" // {
         dependencies = [
           sources."yallist-3.1.1"
         ];
       })
       sources."minizlib-1.3.3"
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       sources."ms-2.0.0"
       sources."mute-stream-0.0.8"
       (sources."needle-2.9.1" // {
@@ -128613,7 +128741,7 @@ in
       sources."@types/cors-2.8.12"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -128846,14 +128974,14 @@ in
       sources."mimic-response-1.0.1"
       sources."minimalistic-assert-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       (sources."minipass-2.9.0" // {
         dependencies = [
           sources."yallist-3.1.1"
         ];
       })
       sources."minizlib-1.3.3"
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       sources."ms-2.0.0"
       sources."mute-stream-0.0.8"
       (sources."needle-2.9.1" // {
@@ -129326,10 +129454,10 @@ in
       sources."mimic-response-1.0.1"
       sources."minimalistic-assert-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."minipass-2.9.0"
       sources."minizlib-1.3.3"
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       sources."ms-2.0.0"
       sources."mute-stream-0.0.8"
       sources."nan-2.15.0"
@@ -129755,7 +129883,7 @@ in
       sources."@types/cacheable-request-6.0.2"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -129989,10 +130117,10 @@ in
       sources."mimic-response-1.0.1"
       sources."minimalistic-assert-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."minipass-2.9.0"
       sources."minizlib-1.3.3"
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       sources."ms-2.0.0"
       sources."mute-stream-0.0.8"
       (sources."needle-2.9.1" // {
@@ -130220,7 +130348,7 @@ in
       sources."@types/cacheable-request-6.0.2"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -130454,10 +130582,10 @@ in
       sources."mimic-response-1.0.1"
       sources."minimalistic-assert-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."minipass-2.9.0"
       sources."minizlib-1.3.3"
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       sources."ms-2.0.0"
       sources."mute-stream-0.0.8"
       (sources."needle-2.9.1" // {
@@ -131069,10 +131197,10 @@ in
   three = nodeEnv.buildNodePackage {
     name = "three";
     packageName = "three";
-    version = "0.138.3";
+    version = "0.139.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/three/-/three-0.138.3.tgz";
-      sha512 = "4t1cKC8gimNyJChJbaklg8W/qj3PpsLJUIFm5LIuAy/hVxxNm1ru2FGTSfbTSsuHmC/7ipsyuGKqrSAKLNtkzg==";
+      url = "https://registry.npmjs.org/three/-/three-0.139.0.tgz";
+      sha512 = "hZ4LkCjgoEM82WLaOVptDKGpB3SkEyuJP2OHe36AFO8hS2I6CrEiNanXj7wwR3wIPT7V5wi5Y5pFnncS5SVHgQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -131087,10 +131215,10 @@ in
   tiddlywiki = nodeEnv.buildNodePackage {
     name = "tiddlywiki";
     packageName = "tiddlywiki";
-    version = "5.2.1";
+    version = "5.2.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/tiddlywiki/-/tiddlywiki-5.2.1.tgz";
-      sha512 = "cfZX8G4/ymQzBmPcI8UWJ317eDrLf4INto99m7M8Nkbx5BMA3+Uapht7OPNaXZRR4RqvVJ7N1Ie1xYMWtvjnpw==";
+      url = "https://registry.npmjs.org/tiddlywiki/-/tiddlywiki-5.2.2.tgz";
+      sha512 = "xAY30p06CI6oFvebL/BnPtM9rbYRG14AVbpEfTvCHjpGutYsn6XBOogbhqnAxncmifFK3CaBGfiaqPNGi6rxGQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -131185,8 +131313,8 @@ in
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."node-appc-1.1.4"
       sources."node-fetch-2.6.7"
       sources."oauth-sign-0.9.0"
@@ -131516,10 +131644,10 @@ in
   typescript = nodeEnv.buildNodePackage {
     name = "typescript";
     packageName = "typescript";
-    version = "4.6.2";
+    version = "4.6.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/typescript/-/typescript-4.6.2.tgz";
-      sha512 = "HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==";
+      url = "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz";
+      sha512 = "yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -131579,7 +131707,7 @@ in
       sources."locate-path-3.0.0"
       sources."lru-cache-6.0.0"
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."minimatch-3.1.2"
       sources."once-1.4.0"
       sources."p-debounce-2.1.0"
@@ -131830,7 +131958,7 @@ in
       sources."mime-types-2.1.35"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."mkdirp-1.0.4"
       sources."moment-2.29.1"
       sources."ms-2.0.0"
@@ -131928,7 +132056,7 @@ in
       sources."strip-json-comments-2.0.1"
       (sources."temp-0.9.4" // {
         dependencies = [
-          sources."mkdirp-0.5.5"
+          sources."mkdirp-0.5.6"
           sources."rimraf-2.6.3"
         ];
       })
@@ -131943,7 +132071,7 @@ in
         ];
       })
       sources."type-is-1.6.18"
-      sources."typescript-4.6.2"
+      sources."typescript-4.6.3"
       sources."uid-safe-2.1.5"
       sources."unpipe-1.0.0"
       sources."util-deprecate-1.0.2"
@@ -131996,7 +132124,7 @@ in
       sources."@types/is-empty-1.2.1"
       sources."@types/js-yaml-4.0.5"
       sources."@types/ms-0.7.31"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/supports-color-8.1.1"
       sources."@types/unist-2.0.6"
       sources."ansi-regex-6.0.1"
@@ -132005,7 +132133,7 @@ in
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."buffer-from-1.1.2"
-      sources."builtins-4.0.0"
+      sources."builtins-4.1.0"
       sources."chalk-2.4.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
@@ -132065,7 +132193,7 @@ in
       sources."util-deprecate-1.0.2"
       sources."vfile-5.3.2"
       sources."vfile-message-3.1.2"
-      (sources."vfile-reporter-7.0.3" // {
+      (sources."vfile-reporter-7.0.4" // {
         dependencies = [
           sources."supports-color-9.2.1"
         ];
@@ -132093,10 +132221,10 @@ in
   vega-cli = nodeEnv.buildNodePackage {
     name = "vega-cli";
     packageName = "vega-cli";
-    version = "5.22.0";
+    version = "5.22.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/vega-cli/-/vega-cli-5.22.0.tgz";
-      sha512 = "yscI3LCx9i1goXumLFulIEbEyEAAhGTucby9m6tM94qXUO3O21W+ZNROGydEx8REK4nmLxJlV9tpMMTkxMzJ4A==";
+      url = "https://registry.npmjs.org/vega-cli/-/vega-cli-5.22.1.tgz";
+      sha512 = "gX4TrHLo1nsBiLC/bZkWnZANp1ib4b4+3drekhCkJv0ne+Ti9Xuf5b2G8yqYv4pmT/sB5/ClvxFKmm1Ol0tFIQ==";
     };
     dependencies = [
       sources."@mapbox/node-pre-gyp-1.0.8"
@@ -132197,7 +132325,7 @@ in
       })
       sources."tr46-0.0.3"
       sources."util-deprecate-1.0.2"
-      sources."vega-5.22.0"
+      sources."vega-5.22.1"
       sources."vega-canvas-1.2.6"
       sources."vega-crossfilter-4.1.0"
       sources."vega-dataflow-5.7.4"
@@ -132216,7 +132344,7 @@ in
       sources."vega-regression-1.1.0"
       sources."vega-runtime-6.1.3"
       sources."vega-scale-7.2.0"
-      sources."vega-scenegraph-4.10.0"
+      sources."vega-scenegraph-4.10.1"
       sources."vega-selections-5.4.0"
       sources."vega-statistics-1.8.0"
       sources."vega-time-2.1.0"
@@ -132297,20 +132425,21 @@ in
   vercel = nodeEnv.buildNodePackage {
     name = "vercel";
     packageName = "vercel";
-    version = "24.0.0";
+    version = "24.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/vercel/-/vercel-24.0.0.tgz";
-      sha512 = "RMIfXipcbyONxWCUgzh6yaDEFlzMFLV+3ug+mGeQg45F9JmUfwXHiiLUDEWDnt9598CEN0V0P0DcKUCOQNNX6w==";
+      url = "https://registry.npmjs.org/vercel/-/vercel-24.0.1.tgz";
+      sha512 = "LmWW65KyWJV/GTxlcVwcifGp1yywUSNP3fcMNZQLdd6fVC3CHJUyHz5t4GD8O1VM56NqvnnYgqNbGYBQXLN5gQ==";
     };
     dependencies = [
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/node-17.0.21"
-      sources."@vercel/build-utils-2.14.0"
-      sources."@vercel/go-1.3.0"
-      sources."@vercel/node-1.13.0"
-      sources."@vercel/python-2.2.0"
-      sources."@vercel/ruby-1.3.0"
+      sources."@types/node-17.0.23"
+      sources."@vercel/build-utils-2.15.0"
+      sources."@vercel/go-1.3.1"
+      sources."@vercel/node-1.14.0"
+      sources."@vercel/node-bridge-2.2.0"
+      sources."@vercel/python-2.2.1"
+      sources."@vercel/ruby-1.3.1"
       sources."ansi-align-3.0.1"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
@@ -132366,7 +132495,7 @@ in
       sources."make-dir-3.1.0"
       sources."make-error-1.3.6"
       sources."mimic-response-1.0.1"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."normalize-url-4.5.1"
       sources."once-1.4.0"
       sources."p-cancelable-1.1.0"
@@ -132555,8 +132684,8 @@ in
       sources."lodash.truncate-4.4.2"
       sources."lru-cache-6.0.0"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."ms-2.1.2"
       sources."natural-compare-1.4.0"
       sources."object-assign-4.1.1"
@@ -132567,7 +132696,7 @@ in
       sources."path-key-3.1.1"
       sources."path-parse-1.0.7"
       sources."prelude-ls-1.2.1"
-      sources."prettier-2.6.0"
+      sources."prettier-2.6.1"
       sources."progress-2.0.3"
       sources."pug-error-2.0.0"
       sources."pug-lexer-5.0.1"
@@ -132595,7 +132724,7 @@ in
       sources."supports-preserve-symlinks-flag-1.0.0"
       (sources."table-6.8.0" // {
         dependencies = [
-          sources."ajv-8.10.0"
+          sources."ajv-8.11.0"
           sources."json-schema-traverse-1.0.0"
         ];
       })
@@ -132611,7 +132740,7 @@ in
       sources."tsutils-2.29.0"
       sources."type-check-0.4.0"
       sources."type-fest-0.20.2"
-      sources."typescript-4.6.2"
+      sources."typescript-4.6.3"
       sources."uri-js-4.4.1"
       sources."v8-compile-cache-2.3.0"
       (sources."vue-eslint-parser-7.11.0" // {
@@ -132806,8 +132935,8 @@ in
       sources."jsonc-parser-3.0.0"
       sources."regenerator-runtime-0.13.9"
       sources."request-light-0.5.7"
-      sources."typescript-4.6.2"
-      sources."vscode-css-languageservice-5.2.0"
+      sources."typescript-4.6.3"
+      sources."vscode-css-languageservice-5.3.0"
       sources."vscode-html-languageservice-4.2.4"
       sources."vscode-json-languageservice-4.2.1"
       sources."vscode-jsonrpc-8.0.0-next.7"
@@ -132843,7 +132972,7 @@ in
       sources."@types/eslint-8.4.1"
       sources."@types/eslint-scope-3.7.3"
       sources."@types/estree-0.0.51"
-      sources."@types/json-schema-7.0.10"
+      sources."@types/json-schema-7.0.11"
       sources."@types/mocha-7.0.2"
       sources."@types/node-8.10.66"
       sources."@types/vscode-1.65.0"
@@ -132874,7 +133003,7 @@ in
       sources."ajv-6.12.6"
       sources."ajv-keywords-3.5.2"
       sources."ansi-colors-4.1.1"
-      sources."ansi-regex-3.0.0"
+      sources."ansi-regex-3.0.1"
       sources."ansi-styles-4.3.0"
       sources."anymatch-3.1.2"
       sources."argparse-2.0.1"
@@ -132891,7 +133020,7 @@ in
       sources."buffer-from-1.1.2"
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
-      sources."caniuse-lite-1.0.30001319"
+      sources."caniuse-lite-1.0.30001320"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."supports-color-7.2.0"
@@ -132931,7 +133060,7 @@ in
       sources."domelementtype-2.2.0"
       sources."domhandler-4.3.1"
       sources."domutils-2.8.0"
-      sources."electron-to-chromium-1.4.88"
+      sources."electron-to-chromium-1.4.96"
       sources."emoji-regex-8.0.0"
       sources."emojis-list-3.0.0"
       sources."enhanced-resolve-5.9.2"
@@ -132994,7 +133123,7 @@ in
       sources."js-yaml-4.0.0"
       sources."json-parse-better-errors-1.0.2"
       sources."json-schema-traverse-0.4.1"
-      sources."json5-2.2.0"
+      sources."json5-2.2.1"
       sources."kind-of-6.0.3"
       sources."leven-3.1.0"
       sources."linkify-it-2.2.0"
@@ -133021,13 +133150,12 @@ in
       })
       sources."memory-streams-0.1.3"
       sources."merge-stream-2.0.0"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."mime-1.6.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.5"
       sources."mocha-8.4.0"
       sources."ms-2.1.3"
       sources."mute-stream-0.0.8"
@@ -133121,7 +133249,7 @@ in
       sources."tslib-2.3.1"
       sources."tunnel-0.0.6"
       sources."typed-rest-client-1.8.6"
-      sources."typescript-4.6.2"
+      sources."typescript-4.6.3"
       sources."uc.micro-1.0.6"
       sources."underscore-1.13.2"
       sources."uri-js-4.4.1"
@@ -133197,7 +133325,7 @@ in
     dependencies = [
       sources."ajv-6.12.6"
       sources."ansi-escapes-3.2.0"
-      sources."ansi-regex-3.0.0"
+      sources."ansi-regex-3.0.1"
       sources."ansi-styles-3.2.1"
       sources."argparse-1.0.10"
       sources."array-differ-1.0.0"
@@ -133352,13 +133480,13 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."mimic-fn-1.2.0"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."multimatch-2.1.0"
       sources."mute-stream-0.0.7"
       sources."neo-async-2.6.2"
@@ -133507,7 +133635,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-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/unist-2.0.6"
       sources."@types/vfile-3.0.2"
       sources."@types/vfile-message-2.0.0"
@@ -133525,7 +133653,7 @@ in
         ];
       })
       sources."ansi-escapes-3.2.0"
-      sources."ansi-regex-3.0.0"
+      sources."ansi-regex-3.0.1"
       sources."ansi-styles-3.2.1"
       sources."anymatch-3.1.2"
       sources."argparse-1.0.10"
@@ -133903,7 +134031,7 @@ in
       sources."json-parse-better-errors-1.0.2"
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
-      sources."json5-2.2.0"
+      sources."json5-2.2.1"
       sources."jsonc-parser-1.0.3"
       sources."keyv-3.1.0"
       sources."kind-of-6.0.3"
@@ -133952,14 +134080,14 @@ in
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."minimist-options-3.0.2"
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
           sources."is-extendable-1.0.1"
         ];
       })
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       sources."mout-0.5.0"
       sources."ms-2.1.3"
       sources."mute-stream-0.0.7"
@@ -134525,7 +134653,7 @@ in
           sources."whatwg-url-8.7.0"
         ];
       })
-      sources."json5-2.2.0"
+      sources."json5-2.2.1"
       sources."jsonfile-6.1.0"
       sources."levn-0.3.0"
       sources."lodash-4.17.21"
@@ -134540,7 +134668,6 @@ in
       sources."mime-types-2.1.35"
       sources."mimic-response-2.1.0"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
       sources."minipass-3.1.6"
       sources."minizlib-2.1.2"
       sources."mkdirp-1.0.4"
@@ -134626,10 +134753,10 @@ in
   web-ext = nodeEnv.buildNodePackage {
     name = "web-ext";
     packageName = "web-ext";
-    version = "6.7.0";
+    version = "6.8.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/web-ext/-/web-ext-6.7.0.tgz";
-      sha512 = "QN+ufUPMNhLbrEqwFDOuoHy4m2OOPAp8NDMKJaWIByZRh8VPH+JoJ6/NAaIEcs9TPKnkA2018TNIJAfYN9EerA==";
+      url = "https://registry.npmjs.org/web-ext/-/web-ext-6.8.0.tgz";
+      sha512 = "qZ3a4YVs0Vdqet44QRZEcNUQznkrfhsAkSOnZp57O4T4A9Bo3pamePSBeRqdPdJv9GF8ntKG84o3eV0MrEvLbw==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -134652,8 +134779,6 @@ in
       (sources."@eslint/eslintrc-1.2.1" // {
         dependencies = [
           sources."debug-4.3.4"
-          sources."eslint-visitor-keys-3.3.0"
-          sources."espree-9.3.1"
           sources."ms-2.1.2"
         ];
       })
@@ -134664,18 +134789,18 @@ in
         ];
       })
       sources."@humanwhocodes/object-schema-1.2.1"
-      sources."@mdn/browser-compat-data-4.1.6"
+      sources."@mdn/browser-compat-data-4.1.12"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/yauzl-2.9.2"
       sources."acorn-8.7.0"
       sources."acorn-jsx-5.3.2"
-      (sources."addons-linter-4.9.0" // {
+      (sources."addons-linter-4.14.0" // {
         dependencies = [
           sources."source-map-support-0.5.21"
-          sources."yargs-17.3.1"
+          sources."yargs-17.4.0"
         ];
       })
       sources."addons-moz-compare-1.2.0"
@@ -134782,7 +134907,7 @@ in
       sources."escalade-3.1.1"
       sources."escape-goat-2.1.1"
       sources."escape-string-regexp-4.0.0"
-      (sources."eslint-8.8.0" // {
+      (sources."eslint-8.11.0" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
@@ -134795,14 +134920,13 @@ in
           sources."eslint-visitor-keys-2.1.0"
         ];
       })
-      sources."eslint-visitor-keys-3.2.0"
-      sources."espree-9.3.0"
+      sources."eslint-visitor-keys-3.3.0"
+      sources."espree-9.3.1"
       sources."esprima-4.0.1"
       sources."esquery-1.4.0"
       sources."esrecurse-4.3.0"
       sources."estraverse-5.3.0"
       sources."esutils-2.0.3"
-      sources."event-to-promise-0.8.0"
       sources."execa-4.1.0"
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
@@ -134959,6 +135083,7 @@ in
           sources."semver-6.3.0"
         ];
       })
+      sources."make-error-1.3.6"
       sources."map-age-cleaner-0.1.3"
       sources."marky-1.2.4"
       sources."mem-5.1.1"
@@ -134968,7 +135093,7 @@ in
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."mkdirp-1.0.4"
       sources."moment-2.29.1"
       sources."ms-2.0.0"
@@ -134976,7 +135101,7 @@ in
       (sources."mv-2.1.1" // {
         dependencies = [
           sources."glob-6.0.4"
-          sources."mkdirp-0.5.5"
+          sources."mkdirp-0.5.6"
           sources."rimraf-2.4.5"
         ];
       })
@@ -135019,14 +135144,15 @@ in
       sources."pend-1.2.0"
       sources."performance-now-2.1.0"
       sources."picocolors-1.0.0"
-      sources."pino-7.6.5"
+      sources."pino-7.9.1"
       sources."pino-abstract-transport-0.5.0"
       sources."pino-std-serializers-4.0.0"
-      sources."postcss-8.4.6"
+      sources."postcss-8.4.12"
       sources."prelude-ls-1.2.1"
       sources."prepend-http-2.0.0"
       sources."process-nextick-args-2.0.1"
       sources."process-warning-1.0.0"
+      sources."promise-toolbox-0.20.0"
       sources."psl-1.8.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
@@ -135192,8 +135318,8 @@ in
       sources."@types/eslint-8.4.1"
       sources."@types/eslint-scope-3.7.3"
       sources."@types/estree-0.0.51"
-      sources."@types/json-schema-7.0.10"
-      sources."@types/node-17.0.21"
+      sources."@types/json-schema-7.0.11"
+      sources."@types/node-17.0.23"
       sources."@webassemblyjs/ast-1.11.1"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
       sources."@webassemblyjs/helper-api-error-1.11.1"
@@ -135217,10 +135343,10 @@ in
       sources."ajv-keywords-3.5.2"
       sources."browserslist-4.20.2"
       sources."buffer-from-1.1.2"
-      sources."caniuse-lite-1.0.30001319"
+      sources."caniuse-lite-1.0.30001320"
       sources."chrome-trace-event-1.0.3"
       sources."commander-2.20.3"
-      sources."electron-to-chromium-1.4.88"
+      sources."electron-to-chromium-1.4.96"
       sources."enhanced-resolve-5.9.2"
       sources."es-module-lexer-0.9.3"
       sources."escalade-3.1.1"
@@ -135364,9 +135490,9 @@ in
       sources."@types/express-4.17.13"
       sources."@types/express-serve-static-core-4.17.28"
       sources."@types/http-proxy-1.17.8"
-      sources."@types/json-schema-7.0.10"
+      sources."@types/json-schema-7.0.11"
       sources."@types/mime-1.3.2"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
       sources."@types/retry-0.12.1"
@@ -135376,7 +135502,7 @@ in
       sources."@types/ws-8.5.3"
       sources."accepts-1.3.8"
       sources."aggregate-error-3.1.0"
-      sources."ajv-8.10.0"
+      sources."ajv-8.11.0"
       sources."ajv-formats-2.1.1"
       sources."ajv-keywords-5.1.0"
       sources."ansi-html-community-0.0.8"
@@ -135469,7 +135595,7 @@ in
           sources."safe-buffer-5.1.2"
         ];
       })
-      sources."html-entities-2.3.2"
+      sources."html-entities-2.3.3"
       sources."http-deceiver-1.2.7"
       sources."http-errors-1.8.1"
       sources."http-parser-js-0.5.6"
@@ -135506,15 +135632,15 @@ in
       sources."merge-stream-2.0.0"
       sources."merge2-1.4.1"
       sources."methods-1.1.2"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."mime-1.6.0"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."mimic-fn-2.1.0"
       sources."minimalistic-assert-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
+      sources."minimist-1.2.6"
+      sources."mkdirp-0.5.6"
       sources."ms-2.0.0"
       sources."multicast-dns-6.2.3"
       sources."multicast-dns-service-types-1.1.0"
@@ -135572,7 +135698,7 @@ in
       sources."safer-buffer-2.1.2"
       sources."schema-utils-4.0.0"
       sources."select-hose-2.0.0"
-      sources."selfsigned-2.0.0"
+      sources."selfsigned-2.0.1"
       (sources."send-0.17.2" // {
         dependencies = [
           sources."ms-2.1.3"
@@ -135652,8 +135778,8 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@types/json-schema-7.0.10"
-      sources."ajv-8.10.0"
+      sources."@types/json-schema-7.0.11"
+      sources."ajv-8.11.0"
       sources."ajv-formats-2.1.1"
       sources."ajv-keywords-5.1.0"
       sources."array-union-3.0.1"
@@ -135675,7 +135801,7 @@ in
       sources."is-number-7.0.0"
       sources."json-schema-traverse-1.0.0"
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."normalize-path-3.0.0"
       sources."path-type-4.0.0"
       sources."picomatch-2.3.1"
@@ -135723,7 +135849,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.1"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@webtorrent/http-node-1.3.0"
       sources."addr-to-ip-port-1.5.4"
       sources."airplay-js-0.3.0"
@@ -135749,13 +135875,13 @@ in
         ];
       })
       sources."bittorrent-peerid-1.3.4"
-      (sources."bittorrent-protocol-3.5.1" // {
+      (sources."bittorrent-protocol-3.5.2" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
         ];
       })
-      (sources."bittorrent-tracker-9.18.4" // {
+      (sources."bittorrent-tracker-9.18.5" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."decompress-response-6.0.0"
@@ -135894,7 +136020,7 @@ in
       sources."mime-3.0.0"
       sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."mkdirp-classic-0.5.3"
       sources."moment-2.29.1"
       sources."mp4-box-encoding-1.4.1"
@@ -135917,7 +136043,7 @@ in
       sources."once-1.4.0"
       sources."open-8.4.0"
       sources."package-json-versionify-1.0.4"
-      (sources."parse-torrent-9.1.4" // {
+      (sources."parse-torrent-9.1.5" // {
         dependencies = [
           sources."decompress-response-6.0.0"
           sources."mimic-response-3.1.0"
@@ -135996,7 +136122,7 @@ in
       sources."thunky-0.1.0"
       sources."timeout-refresh-1.0.3"
       sources."to-arraybuffer-1.0.1"
-      (sources."torrent-discovery-9.4.9" // {
+      (sources."torrent-discovery-9.4.10" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
@@ -136023,7 +136149,7 @@ in
       sources."utp-native-2.5.3"
       sources."videostream-3.2.2"
       sources."vlc-command-1.2.0"
-      (sources."webtorrent-1.8.6" // {
+      (sources."webtorrent-1.8.10" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."decompress-response-6.0.0"
@@ -136101,10 +136227,10 @@ in
   yaml-language-server = nodeEnv.buildNodePackage {
     name = "yaml-language-server";
     packageName = "yaml-language-server";
-    version = "1.5.1";
+    version = "1.6.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-1.5.1.tgz";
-      sha512 = "rTrsKFF2G6vY9oInUoMWHuRjdQi/AAeWkt2H4N9TYKMiQPzEWnz91MufNkNwlXCA26JCDFStwqNjaYPUdI6SDw==";
+      url = "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-1.6.0.tgz";
+      sha512 = "4L8vgCuqRZgfjVnAPW8nKKj5dq4QBSc8LoceCaqtufVxHK+G6MVjI5aT9wHLO1/W07RXSyr0vYqSap7B1GFZ6w==";
     };
     dependencies = [
       sources."jsonc-parser-3.0.0"
@@ -136286,7 +136412,7 @@ in
       sources."ansi-0.3.1"
       sources."ansi-align-2.0.0"
       sources."ansi-escapes-3.2.0"
-      sources."ansi-regex-3.0.0"
+      sources."ansi-regex-3.0.1"
       sources."ansi-styles-3.2.1"
       sources."aproba-2.0.0"
       sources."are-we-there-yet-1.1.7"
@@ -136555,7 +136681,7 @@ in
       sources."is-utf8-0.2.1"
       sources."is-wsl-1.1.0"
       sources."isarray-1.0.0"
-      sources."isbinaryfile-4.0.8"
+      sources."isbinaryfile-4.0.10"
       sources."isexe-2.0.0"
       sources."isstream-0.1.2"
       sources."isurl-1.0.0"
@@ -136641,13 +136767,13 @@ in
       })
       sources."merge-stream-2.0.0"
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
+      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.5"
+      sources."minimist-1.2.6"
       sources."minipass-3.1.6"
       sources."minipass-collect-1.0.2"
       sources."minipass-fetch-1.4.1"
@@ -136656,7 +136782,7 @@ in
       sources."minipass-pipeline-1.2.4"
       sources."minipass-sized-1.0.3"
       sources."minizlib-2.1.2"
-      sources."mkdirp-0.5.5"
+      sources."mkdirp-0.5.6"
       (sources."mkdirp-infer-owner-2.0.0" // {
         dependencies = [
           sources."mkdirp-1.0.4"
@@ -136718,19 +136844,25 @@ in
       })
       (sources."npm-registry-fetch-12.0.2" // {
         dependencies = [
+          sources."@npmcli/fs-2.1.0"
           sources."@tootallnate/once-2.0.0"
-          sources."cacache-16.0.2"
+          sources."cacache-16.0.3"
           sources."debug-4.3.4"
           sources."http-cache-semantics-4.1.0"
           sources."http-proxy-agent-5.0.0"
           sources."lru-cache-7.7.1"
-          (sources."make-fetch-happen-10.0.6" // {
+          (sources."make-fetch-happen-10.1.0" // {
             dependencies = [
-              sources."minipass-fetch-2.0.3"
+              sources."minipass-fetch-2.1.0"
             ];
           })
           sources."mkdirp-1.0.4"
           sources."ms-2.1.2"
+          (sources."semver-7.3.5" // {
+            dependencies = [
+              sources."lru-cache-6.0.0"
+            ];
+          })
         ];
       })
       sources."npm-run-path-2.0.2"
@@ -137122,7 +137254,7 @@ in
           sources."gauge-3.0.2"
           sources."get-stream-6.0.1"
           sources."has-flag-4.0.0"
-          sources."inquirer-8.2.1"
+          sources."inquirer-8.2.2"
           sources."is-fullwidth-code-point-3.0.0"
           sources."is-stream-2.0.1"
           sources."locate-path-6.0.0"
@@ -137177,10 +137309,10 @@ in
   zx = nodeEnv.buildNodePackage {
     name = "zx";
     packageName = "zx";
-    version = "6.0.6";
+    version = "6.0.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/zx/-/zx-6.0.6.tgz";
-      sha512 = "PDkf1B2cloeBmDNdYJIPLLNlBZVelXZtlXKZg0oMkoX4iLoufFfm//1rW+Uip+LBO4i3jIcmQx9wZZhOSqC+ng==";
+      url = "https://registry.npmjs.org/zx/-/zx-6.0.7.tgz";
+      sha512 = "aJTTKN4m9m8wM02yQ4jMOXMp53Ni+r+VDAs0D+bo9l9x9nCMhOocNWeTjoaancHkb7LpNb4oLILp58HzTy0GpQ==";
     };
     dependencies = [
       sources."@nodelib/fs.scandir-2.1.5"
@@ -137188,7 +137320,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.21"
+      sources."@types/node-17.0.23"
       sources."@types/which-2.0.1"
       sources."braces-3.0.2"
       sources."chalk-5.0.1"
@@ -137214,8 +137346,8 @@ in
       sources."jsonfile-6.1.0"
       sources."map-stream-0.1.0"
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
-      sources."minimist-1.2.5"
+      sources."micromatch-4.0.5"
+      sources."minimist-1.2.6"
       sources."node-domexception-1.0.0"
       sources."node-fetch-3.2.3"
       sources."path-type-4.0.0"
diff --git a/pkgs/development/ocaml-modules/asn1-combinators/default.nix b/pkgs/development/ocaml-modules/asn1-combinators/default.nix
index 289f6a6cba4b5..3c8be666b66a1 100644
--- a/pkgs/development/ocaml-modules/asn1-combinators/default.nix
+++ b/pkgs/development/ocaml-modules/asn1-combinators/default.nix
@@ -6,13 +6,13 @@ buildDunePackage rec {
   minimumOCamlVersion = "4.05";
 
   pname = "asn1-combinators";
-  version = "0.2.5";
+  version = "0.2.6";
 
   useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/mirleft/ocaml-asn1-combinators/releases/download/v${version}/asn1-combinators-v${version}.tbz";
-    sha256 = "1pbcdwm12hnfpd1jv2b7cjfkj5r7h61xp2gr8dysb8waa455kwln";
+    sha256 = "sha256-ASreDYhp72IQY3UsHPjqAm9rxwL+0Q35r1ZojikbGpE=";
   };
 
   propagatedBuildInputs = [ cstruct zarith bigarray-compat stdlib-shims ptime ];
diff --git a/pkgs/development/ocaml-modules/batteries/default.nix b/pkgs/development/ocaml-modules/batteries/default.nix
index 184f10a52be41..865518ec29c79 100644
--- a/pkgs/development/ocaml-modules/batteries/default.nix
+++ b/pkgs/development/ocaml-modules/batteries/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild, qtest, num, ounit
+{ stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild, qtest, qcheck, num, ounit
 , doCheck ? lib.versionAtLeast ocaml.version "4.08" && !stdenv.isAarch64
 }:
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ ocaml findlib ocamlbuild ];
-  checkInputs = [ qtest ounit ];
+  checkInputs = [ qtest ounit qcheck ];
   propagatedBuildInputs = [ num ];
 
   strictDeps = !doCheck;
diff --git a/pkgs/development/ocaml-modules/bigarray-compat/default.nix b/pkgs/development/ocaml-modules/bigarray-compat/default.nix
index fd690cfdd5b3f..be343c444171a 100644
--- a/pkgs/development/ocaml-modules/bigarray-compat/default.nix
+++ b/pkgs/development/ocaml-modules/bigarray-compat/default.nix
@@ -2,7 +2,7 @@
 
 buildDunePackage rec {
   pname = "bigarray-compat";
-  version = "1.0.0";
+  version = "1.1.0";
 
   useDune2 = true;
 
@@ -12,7 +12,7 @@ buildDunePackage rec {
     owner = "mirage";
     repo = pname;
     rev = "v${version}";
-    sha256 = "06j1dwlpisxshdd0nab4n4x266gg1s1n8na16lpgw3fvcznwnimz";
+    sha256 = "sha256-2JVopggK2JuXWEPu8qn12F1jQIJ9OV89XY1rHtUqLkI=";
   };
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/biniou/1.0.nix b/pkgs/development/ocaml-modules/biniou/1.0.nix
index 5a2e2ea9a7fa1..ec81e5b8db912 100644
--- a/pkgs/development/ocaml-modules/biniou/1.0.nix
+++ b/pkgs/development/ocaml-modules/biniou/1.0.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   makeFlags = [ "PREFIX=$(out)" ];
 
   preBuild = ''
-    mkdir $out/bin
+    mkdir -p $out/bin
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/ocaml-modules/bisect_ppx/default.nix b/pkgs/development/ocaml-modules/bisect_ppx/default.nix
index ddeda86e9bf73..48b9684902ce0 100644
--- a/pkgs/development/ocaml-modules/bisect_ppx/default.nix
+++ b/pkgs/development/ocaml-modules/bisect_ppx/default.nix
@@ -2,13 +2,13 @@
 
 buildDunePackage rec {
   pname = "bisect_ppx";
-  version = "2.6.1";
+  version = "2.8.1";
 
   src = fetchFromGitHub {
     owner = "aantron";
     repo = "bisect_ppx";
     rev = version;
-    sha256 = "sha256-YeLDlH3mUbVEY4OmzlrvSwVUav3uMtSsTFlOsQKnz84=";
+    sha256 = "sha256-pOeeSxzUF1jXQjA71atSZALdgQ2NB9qpKo5iaDnPwhQ=";
   };
 
   minimumOCamlVersion = "4.08";
diff --git a/pkgs/development/ocaml-modules/bolt/default.nix b/pkgs/development/ocaml-modules/bolt/default.nix
deleted file mode 100644
index 46e3b6f16cce1..0000000000000
--- a/pkgs/development/ocaml-modules/bolt/default.nix
+++ /dev/null
@@ -1,69 +0,0 @@
-{ lib, stdenv, fetchurl, fetchpatch, ocaml, findlib, ocamlbuild, which, camlp4 }:
-
-let inherit (lib) getVersion versionAtLeast; in
-
-assert versionAtLeast (getVersion ocaml) "4.00.0";
-assert versionAtLeast (getVersion findlib) "1.3.3";
-
-if versionAtLeast ocaml.version "4.06"
-then throw "bolt is not available for OCaml ${ocaml.version}"
-else
-
-stdenv.mkDerivation rec {
-  pname = "bolt";
-  version = "1.4";
-
-  src = fetchurl {
-    url = "https://forge.ocamlcore.org/frs/download.php/1043/bolt-${version}.tar.gz";
-    sha256 = "1c807wrpxra9sbb34lajhimwra28ldxv04m570567lh2b04n38zy";
-  };
-
-  nativeBuildInputs = [ ocaml findlib ocamlbuild which camlp4 ];
-
-  strictDeps = true;
-
-  patches = [
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/ocaml/opam-repository/master/packages/bolt/bolt.1.4/files/opam.patch";
-      sha256 = "08cl39r98w312sw23cskd5wian6zg20isn9ki41hnbcgkazhi7pb";
-    })
-  ];
-
-  postPatch = ''
-    patch myocamlbuild.ml <<EOF
-70,74c70
-<         let camlp4of =
-<           try
-<             let path_bin = Filename.concat (Sys.getenv "PATH_OCAML_PREFIX") "bin" in
-<             Filename.concat path_bin "camlp4of"
-<           with _ -> "camlp4of" in
----
->         let camlp4of = "camlp4of" in
-EOF
-  '';
-
-  # The custom `configure` script does not expect the --prefix
-  # option. Installation is handled by ocamlfind.
-  dontAddPrefix = true;
-  dontAddStaticConfigureFlags = true;
-  configurePlatforms = [ ];
-
-  createFindlibDestdir = true;
-
-  buildFlags = [ "all" ];
-
-  doCheck = true;
-  checkTarget = "tests";
-
-  meta = with lib; {
-    homepage = "http://bolt.x9c.fr";
-    description = "A logging tool for the OCaml language";
-    longDescription = ''
-      Bolt is a logging tool for the OCaml language. It is inspired by and
-      modeled after the famous log4j logging framework for Java.
-    '';
-    license = licenses.lgpl3;
-    platforms = ocaml.meta.platforms or [ ];
-    maintainers = [ maintainers.jirkamarsik ];
-  };
-}
diff --git a/pkgs/development/ocaml-modules/bos/default.nix b/pkgs/development/ocaml-modules/bos/default.nix
index 07d4d4864d82a..9f7ce539e18aa 100644
--- a/pkgs/development/ocaml-modules/bos/default.nix
+++ b/pkgs/development/ocaml-modules/bos/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ocaml${ocaml.version}-bos";
-  version = "0.2.0";
+  version = "0.2.1";
 
   src = fetchurl {
     url = "https://erratique.ch/software/bos/releases/bos-${version}.tbz";
-    sha256 = "1s10iqx8rgnxr5n93lf4blwirjf8nlm272yg5sipr7lsr35v49wc";
+    sha256 = "sha256-2NYueGsQ1pfgRXIFqO7eqifrzJDxhV8Y3xkMrC49jzc=";
   };
 
   nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ];
diff --git a/pkgs/development/ocaml-modules/caqti/default.nix b/pkgs/development/ocaml-modules/caqti/default.nix
index d9606cda1fa37..e8367402cad2e 100644
--- a/pkgs/development/ocaml-modules/caqti/default.nix
+++ b/pkgs/development/ocaml-modules/caqti/default.nix
@@ -2,7 +2,7 @@
 
 buildDunePackage rec {
   pname = "caqti";
-  version = "1.5.1";
+  version = "1.7.0";
   useDune2 = true;
 
   minimumOCamlVersion = "4.04";
@@ -11,7 +11,7 @@ buildDunePackage rec {
     owner = "paurkedal";
     repo = "ocaml-${pname}";
     rev = "v${version}";
-    sha256 = "1vl61kdyj89whc3mh4k9bis6rbj9x2scf6hnv9afyalp4j65sqx1";
+    sha256 = "sha256-NGK38so6ZVCRbtV3ww1u31EFAjkHgDdsFfFUwc8ldm4=";
   };
 
   nativeBuildInputs = [ cppo ];
diff --git a/pkgs/development/ocaml-modules/comparelib/default.nix b/pkgs/development/ocaml-modules/comparelib/default.nix
deleted file mode 100644
index 1da631d683cc8..0000000000000
--- a/pkgs/development/ocaml-modules/comparelib/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, buildOcaml, fetchFromGitHub, type_conv, camlp4 }:
-
-buildOcaml rec {
-  pname = "comparelib";
-  version = "113.00.00";
-
-  minimumSupportedOcamlVersion = "4.00";
-
-  src = fetchFromGitHub {
-    owner = "janestreet";
-    repo = "comparelib";
-    rev = version;
-    sha256 = "sha256-gtJvXAUxiIt/L9bCzS+8wHcCQ+QpBubwcjDcyN0K2MA=";
-  };
-
-  buildInputs = [ camlp4 ];
-  propagatedBuildInputs = [ type_conv ];
-
-  meta = with lib; {
-    homepage = "https://github.com/janestreet/comparelib";
-    description = "Syntax extension for deriving \"compare\" functions automatically";
-    license = licenses.asl20;
-    maintainers = [ maintainers.ericbmerritt ];
-  };
-}
diff --git a/pkgs/development/ocaml-modules/conduit/default.nix b/pkgs/development/ocaml-modules/conduit/default.nix
index 1dc28b2b5f790..6261ba2801b08 100644
--- a/pkgs/development/ocaml-modules/conduit/default.nix
+++ b/pkgs/development/ocaml-modules/conduit/default.nix
@@ -15,8 +15,7 @@ buildDunePackage rec {
     sha256 = "2a37ffaa352a1e145ef3d80ac28661213c69a741b238623e59f29e3d5a12c537";
   };
 
-  buildInputs = [ ppx_sexp_conv ];
-  propagatedBuildInputs = [ astring ipaddr ipaddr-sexp sexplib uri logs ];
+  propagatedBuildInputs = [ astring ipaddr ipaddr-sexp sexplib uri logs ppx_sexp_conv ];
 
   meta = {
     description = "A network connection establishment library";
diff --git a/pkgs/development/ocaml-modules/csv/1.5.nix b/pkgs/development/ocaml-modules/csv/1.5.nix
index cd298fb39a9f2..ef4ae4484d833 100644
--- a/pkgs/development/ocaml-modules/csv/1.5.nix
+++ b/pkgs/development/ocaml-modules/csv/1.5.nix
@@ -22,13 +22,17 @@ stdenv.mkDerivation rec {
   doCheck = true;
   checkPhase = "ocaml setup.ml -test";
 
-  installPhase = "ocaml setup.ml -install";
+  installPhase = ''
+    runHook preInstall
+    ocaml setup.ml -install
+    runHook postInstall
+  '';
 
   meta = with lib; {
     description = "A pure OCaml library to read and write CSV files";
     homepage = "https://github.com/Chris00/ocaml-csv";
     license = licenses.lgpl21;
     maintainers = [ maintainers.vbgl ];
-    platforms = ocaml.meta.platforms or [ ];
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/directories/default.nix b/pkgs/development/ocaml-modules/directories/default.nix
index eae11953113be..509d5b2a1e4a8 100644
--- a/pkgs/development/ocaml-modules/directories/default.nix
+++ b/pkgs/development/ocaml-modules/directories/default.nix
@@ -2,7 +2,7 @@
 
 buildDunePackage rec {
   pname = "directories";
-  version = "0.2";
+  version = "0.5";
   useDune2 = true;
 
   minimumOCamlVersion = "4.07";
@@ -11,7 +11,7 @@ buildDunePackage rec {
     owner = "ocamlpro";
     repo = pname;
     rev = version;
-    sha256 = "0s7ginh0g0fhw8xf9v58cx99a8q9jqsf4i0p134m5qzf84qpjwff";
+    sha256 = "sha256-31CGhmmfOORJ1ewgp+IU+p1+f2kfX/W+lxK7EGU62vc=";
   };
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/dune-action-plugin/default.nix b/pkgs/development/ocaml-modules/dune-action-plugin/default.nix
index 65c55da6e3b34..c39239525d189 100644
--- a/pkgs/development/ocaml-modules/dune-action-plugin/default.nix
+++ b/pkgs/development/ocaml-modules/dune-action-plugin/default.nix
@@ -1,17 +1,17 @@
-{ lib, buildDunePackage, dune_2, dune-glob, dune-private-libs }:
+{ lib, buildDunePackage, dune_3, dune-glob, dune-private-libs }:
 
 buildDunePackage rec {
   pname = "dune-action-plugin";
-  inherit (dune_2) src version patches;
+  inherit (dune_3) src version;
 
-  useDune2 = true;
+  duneVersion = "3";
 
   dontAddPrefix = true;
 
   propagatedBuildInputs = [ dune-glob dune-private-libs ];
 
   meta = with lib; {
-    inherit (dune_2.meta) homepage;
+    inherit (dune_3.meta) homepage;
     description = "API for writing dynamic Dune actions";
     maintainers = [ maintainers.marsam ];
     license = licenses.mit;
diff --git a/pkgs/development/ocaml-modules/dune-glob/default.nix b/pkgs/development/ocaml-modules/dune-glob/default.nix
index c7c6f9be4ee0d..04b5e7623793c 100644
--- a/pkgs/development/ocaml-modules/dune-glob/default.nix
+++ b/pkgs/development/ocaml-modules/dune-glob/default.nix
@@ -1,17 +1,17 @@
-{ lib, buildDunePackage, dune_2, dune-private-libs }:
+{ lib, buildDunePackage, dune_3, dune-private-libs }:
 
 buildDunePackage rec {
   pname = "dune-glob";
-  inherit (dune_2) src version patches;
+  inherit (dune_3) src version;
 
-  useDune2 = true;
+  duneVersion = "3";
 
   dontAddPrefix = true;
 
   propagatedBuildInputs = [ dune-private-libs ];
 
   meta = with lib; {
-    inherit (dune_2.meta) homepage;
+    inherit (dune_3.meta) homepage;
     description = "Glob string matching language supported by dune";
     maintainers = [ maintainers.marsam ];
     license = licenses.mit;
diff --git a/pkgs/development/ocaml-modules/dune-private-libs/default.nix b/pkgs/development/ocaml-modules/dune-private-libs/default.nix
index 8a635efa3a599..9b45064d1984e 100644
--- a/pkgs/development/ocaml-modules/dune-private-libs/default.nix
+++ b/pkgs/development/ocaml-modules/dune-private-libs/default.nix
@@ -1,16 +1,18 @@
-{ lib, buildDunePackage, dune_2 }:
+{ lib, buildDunePackage, dune_3, stdune }:
 
 buildDunePackage rec {
   pname = "dune-private-libs";
 
-  useDune2 = true;
+  duneVersion = "3";
 
-  inherit (dune_2) src version patches;
+  inherit (dune_3) src version;
 
-  minimumOCamlVersion = "4.08";
+  minimalOCamlVersion = "4.08";
 
   dontAddPrefix = true;
 
+  propagatedBuildInputs = [ stdune ];
+
   meta = with lib; {
     description = "Private libraries of Dune";
     maintainers = [ maintainers.marsam ];
diff --git a/pkgs/development/ocaml-modules/dune-site/default.nix b/pkgs/development/ocaml-modules/dune-site/default.nix
index 9462393d26975..8f51e182970f9 100644
--- a/pkgs/development/ocaml-modules/dune-site/default.nix
+++ b/pkgs/development/ocaml-modules/dune-site/default.nix
@@ -1,10 +1,10 @@
-{ lib, buildDunePackage, dune_2, dune-private-libs }:
+{ lib, buildDunePackage, dune_3, dune-private-libs }:
 
 buildDunePackage rec {
   pname = "dune-site";
-  inherit (dune_2) src version patches;
+  inherit (dune_3) src version;
 
-  useDune2 = true;
+  duneVersion = "3";
 
   dontAddPrefix = true;
 
@@ -12,7 +12,7 @@ buildDunePackage rec {
 
   meta = with lib; {
     description = "A library for embedding location information inside executable and libraries";
-    inherit (dune_2.meta) homepage;
+    inherit (dune_3.meta) homepage;
     maintainers = with lib.maintainers; [ ];
     license = licenses.mit;
   };
diff --git a/pkgs/development/ocaml-modules/duration/default.nix b/pkgs/development/ocaml-modules/duration/default.nix
index a547a919c31d3..ccddecf28988f 100644
--- a/pkgs/development/ocaml-modules/duration/default.nix
+++ b/pkgs/development/ocaml-modules/duration/default.nix
@@ -2,13 +2,13 @@
 
 buildDunePackage rec {
   pname = "duration";
-  version = "0.1.3";
+  version = "0.2.0";
 
   useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/hannesm/duration/releases/download/${version}/duration-${version}.tbz";
-    sha256 = "0m9r0ayhpl98g9vdxrbjdcllns274jilic5v8xj1x7dphw21p95h";
+    sha256 = "sha256-rRT7daWm9z//fvFyEXiSXuVVzw8jsj46sykYS8DBzmk=";
   };
 
   doCheck = lib.versionAtLeast ocaml.version "4.05";
diff --git a/pkgs/development/ocaml-modules/dyn/default.nix b/pkgs/development/ocaml-modules/dyn/default.nix
new file mode 100644
index 0000000000000..81b9e0d745fb6
--- /dev/null
+++ b/pkgs/development/ocaml-modules/dyn/default.nix
@@ -0,0 +1,16 @@
+{ lib, buildDunePackage, dune_3, ordering }:
+
+buildDunePackage {
+  pname = "dyn";
+  inherit (dune_3) version src;
+  duneVersion = "3";
+
+  dontAddPrefix = true;
+
+  propagatedBuildInputs = [ ordering ];
+
+  meta = dune_3.meta // {
+    description = "Dynamic type";
+  };
+}
+
diff --git a/pkgs/development/ocaml-modules/elina/default.nix b/pkgs/development/ocaml-modules/elina/default.nix
index df7f140e5458a..ec4199cc06eb9 100644
--- a/pkgs/development/ocaml-modules/elina/default.nix
+++ b/pkgs/development/ocaml-modules/elina/default.nix
@@ -8,9 +8,9 @@ stdenv.mkDerivation rec {
     sha256 = "1nymykskq1yx87y4xl6hl9i4q6kv0qaq25rniqgl1bfn883p1ysc";
   };
 
-  nativeBuildInputs = [ perl ocaml findlib ];
+  nativeBuildInputs = [ perl ocaml findlib camlidl ];
 
-  propagatedBuildInputs = [ apron camlidl gmp mpfr ];
+  propagatedBuildInputs = [ apron gmp mpfr ];
 
   strictDeps = true;
 
diff --git a/pkgs/development/ocaml-modules/eliom/default.nix b/pkgs/development/ocaml-modules/eliom/default.nix
index e3af173edc916..f3c587428a409 100644
--- a/pkgs/development/ocaml-modules/eliom/default.nix
+++ b/pkgs/development/ocaml-modules/eliom/default.nix
@@ -16,17 +16,18 @@
 , js_of_ocaml-tyxml
 , lwt_ppx
 , ocamlnet
+, ocsipersist
 }:
 
 stdenv.mkDerivation rec {
   pname = "eliom";
-  version = "8.9.0";
+  version = "9.4.0";
 
   src = fetchFromGitHub {
     owner = "ocsigen";
     repo = "eliom";
     rev = version;
-    sha256 = "sha256-VNxzpVpXEGlixyjadbW0GjL83jcKV5TWd46UReNYO6w=";
+    sha256 = "sha256:1yn8mqxv9yz51x81j8wv1jn7l7crm8azp1m2g4zn5nz2s4nmfv6q";
   };
 
   nativeBuildInputs = [
@@ -49,12 +50,17 @@ stdenv.mkDerivation rec {
     lwt_ppx
     lwt_react
     ocsigen_server
+    ocsipersist
     ppx_deriving
   ];
 
   strictDeps = true;
 
-  installPhase = "opaline -prefix $out -libdir $OCAMLFIND_DESTDIR";
+  installPhase = ''
+    runHook preInstall
+    opaline -prefix $out -libdir $OCAMLFIND_DESTDIR
+    runHook postInstall
+  '';
 
   setupHook = [ ./setup-hook.sh ];
 
diff --git a/pkgs/development/ocaml-modules/enumerate/default.nix b/pkgs/development/ocaml-modules/enumerate/default.nix
deleted file mode 100644
index 9bedc4215108e..0000000000000
--- a/pkgs/development/ocaml-modules/enumerate/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, type_conv, camlp4 }:
-
-assert lib.versionAtLeast (lib.getVersion ocaml) "4.00";
-
-if lib.versionAtLeast ocaml.version "4.06"
-then throw "enumerate-111.08.00 is not available for OCaml ${ocaml.version}"
-else
-
-stdenv.mkDerivation rec {
-  pname = "ocaml-enumerate";
-  version = "111.08.00";
-
-  src = fetchurl {
-    url = "https://ocaml.janestreet.com/ocaml-core/${lib.versions.majorMinor version}.00/individual/enumerate-${version}.tar.gz";
-    sha256 = "0b6mx5p01lcpimvak4wx6aj2119707wsfzd83rwgb91bhpgzh156";
-  };
-
-  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
-  propagatedBuildInputs = [ type_conv camlp4 ];
-
-  strictDeps = true;
-
-  createFindlibDestdir = true;
-
-  meta = {
-    homepage = "https://ocaml.janestreet.com/";
-    description = "Quotation expanders for enumerating finite types";
-    license = lib.licenses.asl20;
-    platforms = ocaml.meta.platforms or [ ];
-  };
-}
diff --git a/pkgs/development/ocaml-modules/eqaf/default.nix b/pkgs/development/ocaml-modules/eqaf/default.nix
index a3f64cb7bd951..ba2274e9c3262 100644
--- a/pkgs/development/ocaml-modules/eqaf/default.nix
+++ b/pkgs/development/ocaml-modules/eqaf/default.nix
@@ -3,12 +3,12 @@
 buildDunePackage rec {
   minimumOCamlVersion = "4.03";
   pname = "eqaf";
-  version = "0.7";
+  version = "0.8";
   useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/mirage/eqaf/releases/download/v${version}/eqaf-v${version}.tbz";
-    sha256 = "1q09pwhs121vpficl2af1yzs4y7dd9bc1lcxbqyfc4x4m6p6drhh";
+    sha256 = "sha256-EUWhYBB0N9eUPgLkht9r0jPTk37BpZfX+jntuUcc+HU=";
   };
 
   propagatedBuildInputs = [ cstruct bigarray-compat ];
diff --git a/pkgs/development/ocaml-modules/facile/default.nix b/pkgs/development/ocaml-modules/facile/default.nix
index df228603e9f4e..3eab7d3417fcf 100644
--- a/pkgs/development/ocaml-modules/facile/default.nix
+++ b/pkgs/development/ocaml-modules/facile/default.nix
@@ -1,11 +1,9 @@
-{ lib, fetchurl, buildDunePackage }:
+{ lib, fetchurl, buildDunePackage, ocaml }:
 
 buildDunePackage rec {
   pname = "facile";
   version = "1.1.4";
 
-  useDune2 = false;
-
   src = fetchurl {
     url = "https://github.com/Emmanuel-PLF/facile/releases/download/${version}/facile-${version}.tbz";
     sha256 = "0jqrwmn6fr2vj2rrbllwxq4cmxykv7zh0y4vnngx29f5084a04jp";
@@ -13,6 +11,9 @@ buildDunePackage rec {
 
   doCheck = true;
 
+  useDune2 = lib.versionAtLeast ocaml.version "4.12";
+  postPatch = lib.optionalString useDune2 "dune upgrade";
+
   meta = {
     homepage = "http://opti.recherche.enac.fr/facile/";
     license = lib.licenses.lgpl21Plus;
diff --git a/pkgs/development/ocaml-modules/fiat-p256/default.nix b/pkgs/development/ocaml-modules/fiat-p256/default.nix
deleted file mode 100644
index c979fe682d3e0..0000000000000
--- a/pkgs/development/ocaml-modules/fiat-p256/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib, buildDunePackage, fetchurl, alcotest, asn1-combinators, benchmark
-, bigarray-compat, cstruct, eqaf, hex, ppx_deriving_yojson, rresult
-, stdlib-shims, yojson, dune-configurator }:
-
-buildDunePackage rec {
-  pname = "fiat-p256";
-  version = "0.2.1";
-  useDune2 = true;
-
-  src = fetchurl {
-    url = "https://github.com/mirage/fiat/releases/download/v${version}/${pname}-v${version}.tbz";
-    sha256 = "0086h9qkvnqfm8acrxqbki54z619nj73x7f0d01v5vg2naznx7w9";
-  };
-
-  # Make tests compatible with alcotest 1.4.0
-  postPatch = ''
-    substituteInPlace test/wycheproof/test.ml --replace \
-      'Printf.ksprintf Alcotest.fail' 'Printf.ksprintf (fun s -> Alcotest.fail s)'
-  '';
-
-  buildInputs = [ dune-configurator ];
-  propagatedBuildInputs = [ bigarray-compat cstruct eqaf hex ];
-  checkInputs = [ alcotest asn1-combinators benchmark
-                  ppx_deriving_yojson rresult stdlib-shims yojson ];
-  doCheck = true;
-
-  meta = with lib; {
-    description = "Primitives for Elliptic Curve Cryptography taken from Fiat";
-    homepage = "https://github.com/mirage/fiat";
-    license = licenses.mit;
-    maintainers = with maintainers; [ sternenseemann ];
-  };
-}
diff --git a/pkgs/development/ocaml-modules/gmetadom/default.nix b/pkgs/development/ocaml-modules/gmetadom/default.nix
index 50be2adcb3842..fe4f85a0024f4 100644
--- a/pkgs/development/ocaml-modules/gmetadom/default.nix
+++ b/pkgs/development/ocaml-modules/gmetadom/default.nix
@@ -22,8 +22,8 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ pkg-config ocaml findlib ];
-  buildInputs = [ gdome2 libxslt];
-  propagatedBuildInputs = [gdome2];
+  buildInputs = [ libxslt ];
+  propagatedBuildInputs = [ gdome2 ];
 
   strictDeps = true;
 
diff --git a/pkgs/development/ocaml-modules/hack_parallel/default.nix b/pkgs/development/ocaml-modules/hack_parallel/default.nix
index f9bc67772125e..122ee2149f3ab 100644
--- a/pkgs/development/ocaml-modules/hack_parallel/default.nix
+++ b/pkgs/development/ocaml-modules/hack_parallel/default.nix
@@ -15,7 +15,7 @@ buildDunePackage rec {
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [ core core_kernel sqlite ];
+  propagatedBuildInputs = [ core core_kernel sqlite ];
 
   meta = {
     description =
diff --git a/pkgs/development/ocaml-modules/ipaddr/cstruct.nix b/pkgs/development/ocaml-modules/ipaddr/cstruct.nix
index d1386230452c8..c2621584f34f7 100644
--- a/pkgs/development/ocaml-modules/ipaddr/cstruct.nix
+++ b/pkgs/development/ocaml-modules/ipaddr/cstruct.nix
@@ -5,7 +5,7 @@
 buildDunePackage rec {
   pname = "ipaddr-cstruct";
 
-  inherit (ipaddr) version src useDune2 minimumOCamlVersion;
+  inherit (ipaddr) version src;
 
   propagatedBuildInputs = [ ipaddr cstruct ];
 
diff --git a/pkgs/development/ocaml-modules/ipaddr/default.nix b/pkgs/development/ocaml-modules/ipaddr/default.nix
index 3090066c2f4e2..c4eefb637fb58 100644
--- a/pkgs/development/ocaml-modules/ipaddr/default.nix
+++ b/pkgs/development/ocaml-modules/ipaddr/default.nix
@@ -6,7 +6,7 @@
 buildDunePackage rec {
   pname = "ipaddr";
 
-  inherit (macaddr) version src useDune2 minimumOCamlVersion;
+  inherit (macaddr) version src;
 
   propagatedBuildInputs = [ macaddr domain-name stdlib-shims ];
 
diff --git a/pkgs/development/ocaml-modules/ipaddr/sexp.nix b/pkgs/development/ocaml-modules/ipaddr/sexp.nix
index 1ede3c064ada2..373b5a87e495d 100644
--- a/pkgs/development/ocaml-modules/ipaddr/sexp.nix
+++ b/pkgs/development/ocaml-modules/ipaddr/sexp.nix
@@ -5,7 +5,7 @@
 buildDunePackage rec {
   pname = "ipaddr-sexp";
 
-  inherit (ipaddr) version src useDune2 minimumOCamlVersion;
+  inherit (ipaddr) version src;
 
   propagatedBuildInputs = [ ipaddr ];
 
diff --git a/pkgs/development/ocaml-modules/iter/default.nix b/pkgs/development/ocaml-modules/iter/default.nix
index 4fa7e42c5d51f..0154029b55042 100644
--- a/pkgs/development/ocaml-modules/iter/default.nix
+++ b/pkgs/development/ocaml-modules/iter/default.nix
@@ -4,7 +4,7 @@
 
 buildDunePackage rec {
   pname = "iter";
-  version = "1.3";
+  version = "1.4";
 
   useDune2 = true;
 
@@ -12,7 +12,7 @@ buildDunePackage rec {
     owner = "c-cube";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256:0xgkplpbi41sw0yv1wfd12cfbybls6cal8qxddmd9x8khgk5s3vx";
+    sha256 = "sha256-Kk92GM7IVXOSVBkeN6wj67Q3UGCyuOOVi2umpn1AZTo=";
   };
 
   buildInputs = [ dune-configurator ];
diff --git a/pkgs/development/ocaml-modules/janestreet/0.14.nix b/pkgs/development/ocaml-modules/janestreet/0.14.nix
index 2f9aeea1d6284..800b1c1e531a8 100644
--- a/pkgs/development/ocaml-modules/janestreet/0.14.nix
+++ b/pkgs/development/ocaml-modules/janestreet/0.14.nix
@@ -241,6 +241,13 @@ with self;
     doCheck = false; # we don't have quickcheck_deprecated
   };
 
+  core_unix = janePackage {
+    pname = "core_unix";
+    hash = "0irfmpx6iksxk2r8mdizjn75h71qh4p2f1s9x2ggckzqj9y904ck";
+    meta.description = "Unix-specific portions of Core";
+    propagatedBuildInputs = [ core ];
+  };
+
   csvfields = janePackage {
     pname = "csvfields";
     hash = "09jmz6y6nwd96dcx6g8ydicxssi72v1ks276phbc9n19wwg9hkaz";
diff --git a/pkgs/development/ocaml-modules/jingoo/default.nix b/pkgs/development/ocaml-modules/jingoo/default.nix
index cc2c65009ff32..36aa09455cec4 100644
--- a/pkgs/development/ocaml-modules/jingoo/default.nix
+++ b/pkgs/development/ocaml-modules/jingoo/default.nix
@@ -3,7 +3,7 @@
 
 buildDunePackage rec {
   pname = "jingoo";
-  version = "1.4.2";
+  version = "1.4.4";
 
   useDune2 = true;
 
@@ -13,7 +13,7 @@ buildDunePackage rec {
     owner = "tategakibunko";
     repo = "jingoo";
     rev = "v${version}";
-    sha256 = "0q947aik4i4z5wjllhwlkxh60qczwgra21yyrrzwhi9y5bnf8346";
+    sha256 = "sha256-qIw69OE7wYyZYKnIc9QrmF8MzY5Fg5pBFyIpexmaYxA=";
   };
 
   buildInputs = [ menhir ];
diff --git a/pkgs/development/ocaml-modules/lwt-watcher/default.nix b/pkgs/development/ocaml-modules/lwt-watcher/default.nix
index 23caa894736a3..db94ce3d62d1d 100644
--- a/pkgs/development/ocaml-modules/lwt-watcher/default.nix
+++ b/pkgs/development/ocaml-modules/lwt-watcher/default.nix
@@ -6,12 +6,12 @@
 
 buildDunePackage rec {
   pname = "lwt-watcher";
-  version = "0.1";
+  version = "0.2";
   src = fetchFromGitLab {
     owner = "nomadic-labs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0kaf7py02i0dn9rvrbzxh4ljfg059wc8xvm093m9wy7lsa68rax9";
+    sha256 = "sha256-35Z73bSzEEgTabNH2cD9lRdDczsyIMZR2ktyKx4aN9k=";
   };
 
   useDune2 = true;
diff --git a/pkgs/development/ocaml-modules/macaddr/cstruct.nix b/pkgs/development/ocaml-modules/macaddr/cstruct.nix
index 143230408920a..db543c0574e11 100644
--- a/pkgs/development/ocaml-modules/macaddr/cstruct.nix
+++ b/pkgs/development/ocaml-modules/macaddr/cstruct.nix
@@ -5,9 +5,7 @@
 buildDunePackage {
   pname = "macaddr-cstruct";
 
-  inherit (macaddr) version src minimumOCamlVersion;
-
-  useDune2 = true;
+  inherit (macaddr) version src;
 
   propagatedBuildInputs = [ macaddr cstruct ];
 
diff --git a/pkgs/development/ocaml-modules/macaddr/default.nix b/pkgs/development/ocaml-modules/macaddr/default.nix
index f81529ed3a2b5..7eb74ff064d02 100644
--- a/pkgs/development/ocaml-modules/macaddr/default.nix
+++ b/pkgs/development/ocaml-modules/macaddr/default.nix
@@ -4,15 +4,13 @@
 
 buildDunePackage rec {
   pname = "macaddr";
-  version = "5.2.0";
+  version = "5.3.0";
 
-  useDune2 = true;
-
-  minimumOCamlVersion = "4.04";
+  minimalOCamlVersion = "4.04";
 
   src = fetchurl {
-    url = "https://github.com/mirage/ocaml-ipaddr/releases/download/v${version}/ipaddr-v${version}.tbz";
-    sha256 = "f98d237cc1f783a0ba7dff0c6c69b5f519fec056950e3e3e7c15e5511ee5b7ec";
+    url = "https://github.com/mirage/ocaml-ipaddr/releases/download/v${version}/ipaddr-${version}.tbz";
+    sha256 = "0mdp38mkvk2f5h2q7nb9fc70a8hyssblnl7kam0d8r5lckgrx5rn";
   };
 
   checkInputs = [ ppx_sexp_conv ounit ];
diff --git a/pkgs/development/ocaml-modules/macaddr/sexp.nix b/pkgs/development/ocaml-modules/macaddr/sexp.nix
index 35cc7c6b4401b..1f03c1326a537 100644
--- a/pkgs/development/ocaml-modules/macaddr/sexp.nix
+++ b/pkgs/development/ocaml-modules/macaddr/sexp.nix
@@ -5,9 +5,7 @@
 buildDunePackage {
   pname = "macaddr-sexp";
 
-  inherit (macaddr) version src minimumOCamlVersion;
-
-  useDune2 = true;
+  inherit (macaddr) version src;
 
   propagatedBuildInputs = [ ppx_sexp_conv ];
 
diff --git a/pkgs/development/ocaml-modules/magic-mime/default.nix b/pkgs/development/ocaml-modules/magic-mime/default.nix
index 15628bcf26c1a..a48260ed38d6e 100644
--- a/pkgs/development/ocaml-modules/magic-mime/default.nix
+++ b/pkgs/development/ocaml-modules/magic-mime/default.nix
@@ -2,11 +2,11 @@
 
 buildDunePackage rec {
   pname = "magic-mime";
-  version = "1.1.3";
+  version = "1.2.0";
 
   src = fetchurl {
     url = "https://github.com/mirage/ocaml-magic-mime/releases/download/v${version}/magic-mime-v${version}.tbz";
-    sha256 = "1xqjs8bba567yzrzgnr88j5ck97d36zw68zr9v29liya37k6rcvz";
+    sha256 = "sha256-8SG2dQD43Zfi/J/V0BxzJeTIS8XAI3RCd5+9b6IGlPU=";
   };
 
   minimalOCamlVersion = "4.03";
diff --git a/pkgs/development/ocaml-modules/magick/default.nix b/pkgs/development/ocaml-modules/magick/default.nix
deleted file mode 100644
index 87c43fb686935..0000000000000
--- a/pkgs/development/ocaml-modules/magick/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, lib, fetchurl, which, pkg-config, ocaml, findlib, imagemagick }:
-
-if lib.versionAtLeast ocaml.version "4.06"
-then throw "magick is not available for OCaml ${ocaml.version}"
-else
-
-stdenv.mkDerivation rec {
-  pname = "ocaml-magick";
-  version = "0.34";
-
-  src = fetchurl {
-    url = "http://www.linux-nantes.org/~fmonnier/OCaml/ImageMagick/ImageMagick/OCaml-ImageMagick-${version}.tgz";
-    sha256 = "0gn9l2qdr8gby2x8c2mb59x1kipb2plr45rbq6ymcxyi0wmzfh3q";
-  };
-
-  nativeBuildInputs = [ which pkg-config ocaml findlib ];
-  buildInputs = [ imagemagick ];
-
-  strictDeps = true;
-
-  createFindlibDestdir = true;
-
-  preConfigure = "substituteInPlace Makefile --replace gcc $CC";
-
-  installTargets = [ "find_install" ];
-
-  meta = {
-    homepage = "http://www.linux-nantes.org/~fmonnier/OCaml/ImageMagick/";
-    description = "ImageMagick Binding for OCaml";
-    license = lib.licenses.mit;
-    platforms = imagemagick.meta.platforms;
-    maintainers = with lib.maintainers; [ vbgl ];
-  };
-}
diff --git a/pkgs/development/ocaml-modules/markup/default.nix b/pkgs/development/ocaml-modules/markup/default.nix
index 8d35ae641a6a1..65e1459d9e3af 100644
--- a/pkgs/development/ocaml-modules/markup/default.nix
+++ b/pkgs/development/ocaml-modules/markup/default.nix
@@ -2,7 +2,7 @@
 
 buildDunePackage rec {
   pname = "markup";
-  version = "1.0.0";
+  version = "1.0.2";
 
   useDune2 = true;
 
@@ -10,7 +10,7 @@ buildDunePackage rec {
     owner = "aantron";
     repo = "markup.ml";
     rev = version;
-    sha256 = "sha256-yapjqAcn0XSC6Guoj69sXNpLZ2urXANkWhcafpPLEyY=";
+    sha256 = "sha256-FcN9EBap93gFeOwSrRxs2sQrjZGs8/YnaEX7zHLmeM8=";
   };
 
   propagatedBuildInputs = [ uchar uutf ];
diff --git a/pkgs/development/ocaml-modules/mccs/default.nix b/pkgs/development/ocaml-modules/mccs/default.nix
index beadceff02b0c..50abdf631db89 100644
--- a/pkgs/development/ocaml-modules/mccs/default.nix
+++ b/pkgs/development/ocaml-modules/mccs/default.nix
@@ -13,7 +13,7 @@ buildDunePackage rec {
 
   useDune2 = true;
 
-  buildInputs = [
+  propagatedBuildInputs = [
     cudf
   ];
 
diff --git a/pkgs/development/ocaml-modules/mimic/default.nix b/pkgs/development/ocaml-modules/mimic/default.nix
index ea1636427038d..348a1b39cdd40 100644
--- a/pkgs/development/ocaml-modules/mimic/default.nix
+++ b/pkgs/development/ocaml-modules/mimic/default.nix
@@ -1,26 +1,23 @@
 { lib, buildDunePackage, fetchurl
-, fmt, mirage-flow, result, rresult, cstruct, logs, ke, lwt
-, alcotest, alcotest-lwt, bigstringaf, bigarray-compat
+, fmt, mirage-flow, cstruct, logs, ke, lwt
+, alcotest, alcotest-lwt, bigstringaf
 }:
 
 buildDunePackage rec {
   pname = "mimic";
-  version = "0.0.3";
+  version = "0.0.4";
 
-  minimumOCamlVersion = "4.08";
-  useDune2 = true;
+  minimalOCamlVersion = "4.08";
 
   src = fetchurl {
     url = "https://github.com/dinosaure/mimic/releases/download/${version}/mimic-${version}.tbz";
-    sha256 = "e4743cd2e4f8242eb1ce9d8086fd2affba0eb6a62131309ffa279108bd3dbbcb";
+    sha256 = "sha256-1Wb2xufgGKp3FJ+FYjK45i9B5+HohdPX+w9Sw0ph5JY=";
   };
 
   propagatedBuildInputs = [
     fmt
     lwt
     mirage-flow
-    result
-    rresult
     logs
   ];
 
@@ -29,7 +26,6 @@ buildDunePackage rec {
     alcotest
     alcotest-lwt
     bigstringaf
-    bigarray-compat
     cstruct
     ke
   ];
diff --git a/pkgs/development/ocaml-modules/mirage-flow/default.nix b/pkgs/development/ocaml-modules/mirage-flow/default.nix
index d6ba6603596ae..bc987eff9884a 100644
--- a/pkgs/development/ocaml-modules/mirage-flow/default.nix
+++ b/pkgs/development/ocaml-modules/mirage-flow/default.nix
@@ -2,14 +2,14 @@
 
 buildDunePackage rec {
   pname = "mirage-flow";
-  version = "2.0.1";
+  version = "3.0.0";
 
   useDune2 = true;
   minimumOCamlVersion = "4.05";
 
   src = fetchurl {
     url = "https://github.com/mirage/mirage-flow/releases/download/v${version}/mirage-flow-v${version}.tbz";
-    sha256 = "13v05x34six0z6bc2is8qhvbxk4knxh80ardi5x4rl738vlq3mn9";
+    sha256 = "sha256-1wvabIXsJ0e+2IvE2V8mnSgQUDuSkT8IB75SkWlhOPw=";
   };
 
   propagatedBuildInputs = [ cstruct fmt ocaml_lwt ];
diff --git a/pkgs/development/ocaml-modules/mirage-fs/default.nix b/pkgs/development/ocaml-modules/mirage-fs/default.nix
index d8cfddff313c4..23c79c4a77d6c 100644
--- a/pkgs/development/ocaml-modules/mirage-fs/default.nix
+++ b/pkgs/development/ocaml-modules/mirage-fs/default.nix
@@ -4,13 +4,13 @@
 
 buildDunePackage rec {
   pname = "mirage-fs";
-  version = "3.0.1";
+  version = "4.0.0";
 
   useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/mirage/mirage-fs/releases/download/v${version}/mirage-fs-v${version}.tbz";
-    sha256 = "0px18bgk528vr7iw78r0j3z4sdcz684sfcj47ibbly2adbvd64yk";
+    sha256 = "sha256-PYZ2HCPuxOv4FU7EHymsa1oIZU7q8TSzzRvlngYdZ3s=";
   };
 
   propagatedBuildInputs = [ cstruct fmt lwt mirage-device mirage-kv ];
diff --git a/pkgs/development/ocaml-modules/mirage-logs/default.nix b/pkgs/development/ocaml-modules/mirage-logs/default.nix
index 2a7670ce37221..7aabd51b819a7 100644
--- a/pkgs/development/ocaml-modules/mirage-logs/default.nix
+++ b/pkgs/development/ocaml-modules/mirage-logs/default.nix
@@ -1,6 +1,6 @@
 { lib, fetchurl, buildDunePackage
 , logs, lwt, mirage-clock, mirage-profile, ptime
-, alcotest
+, alcotest, stdlib-shims
 }:
 
 buildDunePackage rec {
@@ -14,7 +14,7 @@ buildDunePackage rec {
     sha256 = "0h0amzjxy067jljscib7fvw5q8k0adqa8m86affha9hq5jsh07a1";
   };
 
-  propagatedBuildInputs = [ logs lwt mirage-clock mirage-profile ptime ];
+  propagatedBuildInputs = [ logs lwt mirage-clock mirage-profile ptime stdlib-shims ];
 
   doCheck = true;
   checkInputs = [ alcotest ];
diff --git a/pkgs/development/ocaml-modules/mirage-profile/default.nix b/pkgs/development/ocaml-modules/mirage-profile/default.nix
index c6ca730bf3c57..ef856e0212730 100644
--- a/pkgs/development/ocaml-modules/mirage-profile/default.nix
+++ b/pkgs/development/ocaml-modules/mirage-profile/default.nix
@@ -1,5 +1,5 @@
 { lib, fetchurl, buildDunePackage
-, ppx_cstruct
+, ppx_cstruct, stdlib-shims
 , cstruct, lwt
 }:
 
@@ -15,7 +15,7 @@ buildDunePackage rec {
   };
 
   buildInputs = [ ppx_cstruct ];
-  propagatedBuildInputs = [ cstruct lwt ];
+  propagatedBuildInputs = [ cstruct lwt stdlib-shims ];
 
   meta = with lib; {
     description = "Collect runtime profiling information in CTF format";
diff --git a/pkgs/development/ocaml-modules/mirage-time/default.nix b/pkgs/development/ocaml-modules/mirage-time/default.nix
index 2e91bda61d6bd..1780ba05ac470 100644
--- a/pkgs/development/ocaml-modules/mirage-time/default.nix
+++ b/pkgs/development/ocaml-modules/mirage-time/default.nix
@@ -4,13 +4,13 @@ buildDunePackage rec {
   minimumOCamlVersion = "4.06";
 
   pname = "mirage-time";
-  version = "2.0.1";
+  version = "3.0.0";
 
   useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/mirage/mirage-time/releases/download/v${version}/mirage-time-v${version}.tbz";
-    sha256 = "1w6mm4g7fc19cs0ncs0s9fsnb1k1s04qqzs9bsqvq8ngsb90cbh0";
+    sha256 = "sha256-DUCUm1jix+i3YszIzgZjRQRiM8jJXQ49F6JC/yicvXw=";
   };
 
   propagatedBuildInputs = [ ocaml_lwt ];
diff --git a/pkgs/development/ocaml-modules/mlgmpidl/default.nix b/pkgs/development/ocaml-modules/mlgmpidl/default.nix
index d12329b811e65..33f9f2d8e6b05 100644
--- a/pkgs/development/ocaml-modules/mlgmpidl/default.nix
+++ b/pkgs/development/ocaml-modules/mlgmpidl/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "17xqiclaqs4hmnb92p9z6z9a1xfr31vcn8nlnj8ykk57by31vfza";
   };
 
-  nativeBuildInputs = [ perl ocaml findlib mpfr camlidl ];
+  nativeBuildInputs = [ perl ocaml findlib camlidl ];
   buildInputs = [ gmp mpfr ];
 
   strictDeps = true;
@@ -22,8 +22,7 @@ stdenv.mkDerivation rec {
   ];
 
   postConfigure = ''
-    sed -i Makefile \
-      -e 's|/bin/rm|rm|'
+    substituteInPlace Makefile --replace "/bin/rm" "rm"
     mkdir -p $out/lib/ocaml/${ocaml.version}/site-lib/stublibs
   '';
 
diff --git a/pkgs/development/ocaml-modules/nonstd/default.nix b/pkgs/development/ocaml-modules/nonstd/default.nix
index 82b1feed540bf..696cdff52196a 100644
--- a/pkgs/development/ocaml-modules/nonstd/default.nix
+++ b/pkgs/development/ocaml-modules/nonstd/default.nix
@@ -1,11 +1,9 @@
-{ lib, fetchzip, buildDunePackage }:
+{ lib, fetchzip, buildDunePackage, ocaml }:
 
 buildDunePackage rec {
   pname = "nonstd";
   version = "0.0.3";
 
-  useDune2 = false;
-
   minimalOCamlVersion = "4.02";
 
   src = fetchzip {
@@ -13,6 +11,8 @@ buildDunePackage rec {
     sha256 = "0ccjwcriwm8fv29ij1cnbc9win054kb6pfga3ygzdbjpjb778j46";
   };
 
+  useDune2 = lib.versionAtLeast ocaml.version "4.12";
+  postPatch = lib.optionalString useDune2 "dune upgrade";
   doCheck = true;
 
   meta = with lib; {
diff --git a/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix b/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix
index b4410981afbdc..f2336cf88bbb4 100644
--- a/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix
@@ -1,5 +1,8 @@
 { lib, stdenv, fetchFromGitLab, libvirt, autoreconfHook, pkg-config, ocaml, findlib, perl }:
 
+lib.throwIfNot (lib.versionAtLeast ocaml.version "4.02")
+  "libvirt is not available for OCaml ${ocaml.version}"
+
 stdenv.mkDerivation rec {
   pname = "ocaml-libvirt";
   version = "0.6.1.5";
diff --git a/pkgs/development/ocaml-modules/ocplib-endian/default.nix b/pkgs/development/ocaml-modules/ocplib-endian/default.nix
index c0bccbd65a65d..1e657fce8dd11 100644
--- a/pkgs/development/ocaml-modules/ocplib-endian/default.nix
+++ b/pkgs/development/ocaml-modules/ocplib-endian/default.nix
@@ -1,17 +1,17 @@
 { lib, buildDunePackage, fetchFromGitHub, cppo }:
 
 buildDunePackage rec {
-  version = "1.1";
+  version = "1.2";
   pname = "ocplib-endian";
 
   src = fetchFromGitHub {
     owner = "OCamlPro";
     repo = "ocplib-endian";
     rev = version;
-    sha256 = "sha256-zKsSkhlZBXSqPtw+/WN3pwo9plM9rDZfMbGVfosqb10=";
+    sha256 = "sha256-THTlhOfXAPaqTt1qBkht+D67bw6M175QLvXoUMgjks4=";
   };
 
-  useDune2 = true;
+  minimalOCamlVersion = "4.03";
 
   nativeBuildInputs = [ cppo ];
 
diff --git a/pkgs/development/ocaml-modules/ocsigen-server/default.nix b/pkgs/development/ocaml-modules/ocsigen-server/default.nix
index 67ec458a122d5..daa64b7e30193 100644
--- a/pkgs/development/ocaml-modules/ocsigen-server/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-server/default.nix
@@ -2,7 +2,7 @@
 , bigstringaf, lwt, cstruct, mirage-crypto, zarith, mirage-crypto-ec, ptime, mirage-crypto-rng, mtime, ca-certs
 , cohttp, cohttp-lwt-unix, hmap
 , lwt_log, ocaml_pcre, cryptokit, xml-light, ipaddr
-, pgocaml, camlzip, ocaml_sqlite3
+, camlzip
 , makeWrapper
 }:
 
@@ -17,7 +17,7 @@ let caml_ld_library_path =
 ; in
 
 buildDunePackage rec {
-  version = "4.0.1";
+  version = "5.0.1";
   pname = "ocsigenserver";
 
   useDune2 = true;
@@ -27,11 +27,11 @@ buildDunePackage rec {
     owner = "ocsigen";
     repo = "ocsigenserver";
     rev = version;
-    sha256 = "0pid4irkmdmx1d6n2rvcvx5mnljl3hazzdqc3bql72by35izfac6";
+    sha256 = "sha256:1vzza33hd41740dqrx4854rqpyd8wv7kwpsvvmlpck841i9lh8h5";
   };
 
   nativeBuildInputs = [ makeWrapper which ];
-  buildInputs = [ lwt_react pgocaml camlzip ocaml_sqlite3 ];
+  buildInputs = [ lwt_react camlzip ];
 
   propagatedBuildInputs = [ cohttp cohttp-lwt-unix cryptokit hmap ipaddr lwt_log lwt_ssl
     ocaml_pcre xml-light
diff --git a/pkgs/development/ocaml-modules/ocsigen-start/default.nix b/pkgs/development/ocaml-modules/ocsigen-start/default.nix
index 118138dc8fd00..4f439733740e2 100644
--- a/pkgs/development/ocaml-modules/ocsigen-start/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-start/default.nix
@@ -6,7 +6,7 @@
 
 stdenv.mkDerivation rec {
   pname = "ocaml${ocaml.version}-ocsigen-start";
-  version = "4.3.0";
+  version = "4.5.0";
 
   nativeBuildInputs = [ ocaml findlib eliom ];
   propagatedBuildInputs = [ pgocaml_ppx safepass ocsigen-toolkit yojson resource-pooling cohttp-lwt-unix ocamlnet ];
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     owner = "ocsigen";
     repo = "ocsigen-start";
     rev = version;
-    sha256 = "0lkl59dwzyqq2lyr46fyjr27ms0fp9h59xfsn37faaavdd7v0h98";
+    sha256 = "sha256:1n94r8rbkzxbgcz5w135n6f2cwpc91bdvf7yslcdq4cn713rncmq";
   };
 
   preInstall = ''
diff --git a/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix b/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix
index 1b2dd72a2ec38..12a92c5be399c 100644
--- a/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix
@@ -5,7 +5,7 @@
 stdenv.mkDerivation rec {
  pname = "ocsigen-toolkit";
  name = "ocaml${ocaml.version}-${pname}-${version}";
- version = "3.0.1";
+ version = "3.1.1";
 
  propagatedBuildInputs = [ calendar js_of_ocaml-ppx_deriving_json eliom ];
  nativeBuildInputs = [ ocaml findlib opaline eliom ];
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     owner = "ocsigen";
     repo = pname;
     rev = version;
-    sha256 = "1yx50ja2wcs5vfy4rk9szgwccpnihkjn14i4ywchx4yr4ppr00fm";
+    sha256 = "sha256:1fm0vvccmjib9yj5m2760vhzb4z3392swlprp51az53g3vk4q218";
   };
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/ocsipersist/default.nix b/pkgs/development/ocaml-modules/ocsipersist/default.nix
new file mode 100644
index 0000000000000..8006477dad96e
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocsipersist/default.nix
@@ -0,0 +1,20 @@
+{ buildDunePackage, ocsipersist-lib
+, ocsipersist-pgsql
+, ocsipersist-sqlite
+}:
+
+buildDunePackage {
+  pname = "ocsipersist";
+  inherit (ocsipersist-lib) src version useDune2;
+
+  buildInputs = [
+    ocsipersist-pgsql
+    ocsipersist-sqlite
+  ];
+
+  propagatedBuildInputs = [ ocsipersist-lib ];
+
+  meta = ocsipersist-lib.meta // {
+    description = "Persistent key/value storage (for Ocsigen) using multiple backends";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ocsipersist/lib.nix b/pkgs/development/ocaml-modules/ocsipersist/lib.nix
new file mode 100644
index 0000000000000..a2abc5d9b399e
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocsipersist/lib.nix
@@ -0,0 +1,27 @@
+{ lib, buildDunePackage, fetchFromGitHub
+, lwt_ppx, lwt
+}:
+
+buildDunePackage rec {
+  pname = "ocsipersist-lib";
+  version = "1.1.0";
+
+  useDune2 = true;
+
+  src = fetchFromGitHub {
+    owner = "ocsigen";
+    repo = "ocsipersist";
+    rev = version;
+    sha256 = "sha256:1d6kdcfjvrz0dl764mnyxc477aa57rvmzkg154qc915w2y1nbz9a";
+  };
+
+  buildInputs = [ lwt_ppx ];
+  propagatedBuildInputs = [ lwt ];
+
+  meta = {
+    description = "Persistent key/value storage (for Ocsigen) - support library";
+    license = lib.licenses.lgpl21Only;
+    maintainers = [ lib.maintainers.vbgl ];
+    inherit (src.meta) homepage;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ocsipersist/pgsql.nix b/pkgs/development/ocaml-modules/ocsipersist/pgsql.nix
new file mode 100644
index 0000000000000..e93c8b4790359
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocsipersist/pgsql.nix
@@ -0,0 +1,24 @@
+{ buildDunePackage, ocsipersist-lib
+, lwt_log
+, ocsigen_server
+, pgocaml
+, xml-light
+}:
+
+buildDunePackage {
+  pname = "ocsipersist-pgsql";
+  inherit (ocsipersist-lib) version src useDune2;
+
+  propagatedBuildInputs = [
+    lwt_log
+    ocsigen_server
+    ocsipersist-lib
+    pgocaml
+    xml-light
+  ];
+
+  meta = ocsipersist-lib.meta // {
+    description = "Persistent key/value storage (for Ocsigen) using PostgreSQL";
+  };
+}
+
diff --git a/pkgs/development/ocaml-modules/ocsipersist/sqlite.nix b/pkgs/development/ocaml-modules/ocsipersist/sqlite.nix
new file mode 100644
index 0000000000000..2cfa30bc908e6
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocsipersist/sqlite.nix
@@ -0,0 +1,23 @@
+{ buildDunePackage, ocsipersist-lib
+, lwt_log
+, ocaml_sqlite3
+, ocsigen_server
+, xml-light
+}:
+
+buildDunePackage {
+  pname = "ocsipersist-sqlite";
+  inherit (ocsipersist-lib) version src useDune2;
+
+  propagatedBuildInputs = [
+    lwt_log
+    ocaml_sqlite3
+    ocsigen_server
+    ocsipersist-lib
+    xml-light
+  ];
+
+  meta = ocsipersist-lib.meta // {
+    description = "Persistent key/value storage (for Ocsigen) using SQLite";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/odn/default.nix b/pkgs/development/ocaml-modules/odn/default.nix
deleted file mode 100644
index 66fc5d1f1872b..0000000000000
--- a/pkgs/development/ocaml-modules/odn/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, type_conv, ounit, camlp4 }:
-
-if lib.versionAtLeast ocaml.version "4.06"
-then throw "ocaml-data-notation is not available for OCaml ${ocaml.version}"
-else
-
-stdenv.mkDerivation rec {
-  pname = "ocaml-data-notation";
-  version = "0.0.11";
-
-  src = fetchurl {
-    url = "https://forge.ocamlcore.org/frs/download.php/1310/ocaml-data-notation-${version}.tar.gz";
-    sha256 = "09a8zdyifpc2nl4hdvg9206142y31cq95ajgij011s1qcg3z93lj";
-  };
-
-  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
-  buildInputs = [ type_conv ounit camlp4 ];
-
-  strictDeps = true;
-
-  createFindlibDestdir = true;
-
-  configurePhase = "ocaml setup.ml -configure";
-  buildPhase = "ocaml setup.ml -build";
-  installPhase = "ocaml setup.ml -install";
-
-  meta = with lib; {
-    description = "Store data using OCaml notation";
-    homepage = "https://forge.ocamlcore.org/projects/odn/";
-    license = licenses.lgpl21;
-    platforms = ocaml.meta.platforms or [ ];
-    maintainers = with maintainers; [
-      vbgl
-      maggesi
-    ];
-  };
-}
diff --git a/pkgs/development/ocaml-modules/odoc-parser/default.nix b/pkgs/development/ocaml-modules/odoc-parser/default.nix
index 7a2b5abd974b4..9e4e4bc8d1de2 100644
--- a/pkgs/development/ocaml-modules/odoc-parser/default.nix
+++ b/pkgs/development/ocaml-modules/odoc-parser/default.nix
@@ -23,7 +23,7 @@ buildDunePackage rec {
 
   useDune2 = true;
 
-  buildInputs = [ astring result ];
+  propagatedBuildInputs = [ astring result ];
 
   meta = {
     description = "Parser for Ocaml documentation comments";
diff --git a/pkgs/development/ocaml-modules/opium_kernel/default.nix b/pkgs/development/ocaml-modules/opium_kernel/default.nix
index c7bfe1e7306a9..6b51443df232c 100644
--- a/pkgs/development/ocaml-modules/opium_kernel/default.nix
+++ b/pkgs/development/ocaml-modules/opium_kernel/default.nix
@@ -9,6 +9,7 @@
 , ezjsonm
 , hmap
 , sexplib
+, fieldslib
 }:
 
 buildDunePackage rec {
@@ -31,7 +32,7 @@ buildDunePackage rec {
   ];
 
   propagatedBuildInputs = [
-    hmap cohttp-lwt ezjsonm sexplib
+    hmap cohttp-lwt ezjsonm sexplib fieldslib
   ];
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/ordering/default.nix b/pkgs/development/ocaml-modules/ordering/default.nix
new file mode 100644
index 0000000000000..c3bffc013f95e
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ordering/default.nix
@@ -0,0 +1,13 @@
+{ lib, buildDunePackage, dune_3 }:
+
+buildDunePackage {
+  pname = "ordering";
+  inherit (dune_3) version src;
+  duneVersion = "3";
+
+  dontAddPrefix = true;
+
+  meta = dune_3.meta // {
+    description = "Element ordering";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/owl-base/default.nix b/pkgs/development/ocaml-modules/owl-base/default.nix
index b767b1db24c89..189359cd1c863 100644
--- a/pkgs/development/ocaml-modules/owl-base/default.nix
+++ b/pkgs/development/ocaml-modules/owl-base/default.nix
@@ -2,13 +2,13 @@
 
 buildDunePackage rec {
   pname = "owl-base";
-  version = "1.0.1";
+  version = "1.0.2";
 
   useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/owlbarn/owl/releases/download/${version}/owl-${version}.tbz";
-    sha256 = "72ca9f6edd302fdfa16c7559cedac7ac2c885466a367e17ea1ea8807b2dd13ef";
+    sha256 = "sha256-ONIQzmwcLwljH9WZUUMOTzZLWuA2xx7RsyzlWbKikmM=";
   };
 
   minimumOCamlVersion = "4.10";
diff --git a/pkgs/development/ocaml-modules/pcap-format/default.nix b/pkgs/development/ocaml-modules/pcap-format/default.nix
index f8bb6f4f6b2db..ae093cc7817e5 100644
--- a/pkgs/development/ocaml-modules/pcap-format/default.nix
+++ b/pkgs/development/ocaml-modules/pcap-format/default.nix
@@ -1,6 +1,6 @@
 { lib, buildDunePackage, fetchurl
 , ppx_cstruct, ppx_tools
-, cstruct, ounit, mmap
+, cstruct, ounit, mmap, stdlib-shims
 }:
 
 buildDunePackage rec {
@@ -24,6 +24,7 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [
     cstruct
+    stdlib-shims
   ];
 
   doCheck = true;
diff --git a/pkgs/development/ocaml-modules/pipebang/default.nix b/pkgs/development/ocaml-modules/pipebang/default.nix
index 251aeb8de8ec5..e2bd4d3ec5c8f 100644
--- a/pkgs/development/ocaml-modules/pipebang/default.nix
+++ b/pkgs/development/ocaml-modules/pipebang/default.nix
@@ -15,7 +15,7 @@ buildOcaml rec {
 
   strictDeps = true;
 
-  buildInputs = [ camlp4 ];
+  propagatedBuildInputs = [ camlp4 ];
 
   meta = with lib; {
     homepage = "https://github.com/janestreet/pipebang";
diff --git a/pkgs/development/ocaml-modules/piqi-ocaml/default.nix b/pkgs/development/ocaml-modules/piqi-ocaml/default.nix
index 4f2e4693357f7..8c0276bc9a7a6 100644
--- a/pkgs/development/ocaml-modules/piqi-ocaml/default.nix
+++ b/pkgs/development/ocaml-modules/piqi-ocaml/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, ocaml, findlib, piqi, stdlib-shims }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, ocaml, findlib, piqi, stdlib-shims, num }:
 
 stdenv.mkDerivation rec {
   version = "0.7.7";
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ ocaml findlib ];
   buildInputs = [ piqi stdlib-shims ];
 
+  checkInputs  = [ num ];
+
   strictDeps = true;
 
   createFindlibDestdir = true;
diff --git a/pkgs/development/ocaml-modules/ppx_cstubs/default.nix b/pkgs/development/ocaml-modules/ppx_cstubs/default.nix
index f4794eea76ed7..f2c844ea0482f 100644
--- a/pkgs/development/ocaml-modules/ppx_cstubs/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_cstubs/default.nix
@@ -27,17 +27,19 @@ buildDunePackage rec {
     sha256 = "15cjb9ygnvp2kv85rrb7ncz7yalifyl7wd2hp2cl8r1qrpgi1d0w";
   };
 
-  nativeBuildInputs = [ cppo ];
+  nativeBuildInputs = [ cppo findlib ];
 
   buildInputs = [
     bigarray-compat
     containers
-    ctypes
     integers
     num
     ppxlib
     re
-    findlib
+  ];
+
+  propagatedBuildInputs = [
+    ctypes
   ];
 
   strictDeps = true;
diff --git a/pkgs/development/ocaml-modules/ppx_deriving_protobuf/default.nix b/pkgs/development/ocaml-modules/ppx_deriving_protobuf/default.nix
index 6f23af44b9496..43cc2992c2a0c 100644
--- a/pkgs/development/ocaml-modules/ppx_deriving_protobuf/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_deriving_protobuf/default.nix
@@ -1,5 +1,5 @@
 { lib, fetchurl, buildDunePackage, cppo, ppx_deriving
-, ppxlib
+, ppxlib, dune-configurator
 }:
 
 buildDunePackage rec {
@@ -13,7 +13,9 @@ buildDunePackage rec {
     sha256 = "1dc1vxnkd0cnrgac5v3zbaj2lq1d2w8118mp1cmsdxylp06yz1sj";
   };
 
-  buildInputs = [ cppo ppxlib ppx_deriving ];
+  nativeBuildInputs = [ cppo ];
+  buildInputs = [ ppxlib dune-configurator ];
+  propagatedBuildInputs = [ ppx_deriving ];
 
   meta = with lib; {
     homepage = "https://github.com/ocaml-ppx/ppx_deriving_protobuf";
diff --git a/pkgs/development/ocaml-modules/printbox/default.nix b/pkgs/development/ocaml-modules/printbox/default.nix
index 179e559d72feb..28a53210f69ff 100644
--- a/pkgs/development/ocaml-modules/printbox/default.nix
+++ b/pkgs/development/ocaml-modules/printbox/default.nix
@@ -2,7 +2,7 @@
 
 buildDunePackage rec {
   pname = "printbox";
-  version = "0.6";
+  version = "0.6.1";
 
   useDune2 = true;
 
@@ -12,7 +12,7 @@ buildDunePackage rec {
     owner = "c-cube";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256:0vqp8j1vp8h8par699nnh31hnikzh6pqn07lqyxw65axqy3sc9dp";
+    sha256 = "sha256-7u2ThRhM3vW4ItcFsK4ycgcaW0JcQOFoZZRq2kqbl+k=";
   };
 
   checkInputs = [ mdx.bin ];
diff --git a/pkgs/development/ocaml-modules/psmt2-frontend/default.nix b/pkgs/development/ocaml-modules/psmt2-frontend/default.nix
index 25c9ec4b870ce..41e13f21a4121 100644
--- a/pkgs/development/ocaml-modules/psmt2-frontend/default.nix
+++ b/pkgs/development/ocaml-modules/psmt2-frontend/default.nix
@@ -1,14 +1,14 @@
 { lib, fetchFromGitHub, buildDunePackage, menhir }:
 
 buildDunePackage rec {
-  version = "0.3.1";
+  version = "0.4.0";
   pname = "psmt2-frontend";
 
   src = fetchFromGitHub {
     owner = "ACoquereau";
     repo = pname;
     rev = version;
-    sha256 = "038jrfsq09nhnzpjiishg4adk09w3aw1bpczgbj66lqqilkd6gci";
+    sha256 = "sha256-cYY9x7QZjH7pdJyHMqfMXgHZ3/zJLp/6ntY6OSIo6Vs=";
   };
 
   useDune2 = true;
diff --git a/pkgs/development/ocaml-modules/routes/default.nix b/pkgs/development/ocaml-modules/routes/default.nix
index a83d0db5d84d0..36476e587ffa7 100644
--- a/pkgs/development/ocaml-modules/routes/default.nix
+++ b/pkgs/development/ocaml-modules/routes/default.nix
@@ -2,14 +2,14 @@
 
 buildDunePackage rec {
   pname = "routes";
-  version = "0.9.1";
+  version = "1.0.0";
 
   useDune2 = true;
   minimalOCamlVersion = "4.05";
 
   src = fetchurl {
     url = "https://github.com/anuragsoni/routes/releases/download/${version}/routes-${version}.tbz";
-    sha256 = "0h2c1p5w6237c1lmsl5c8q2dj5dq20gf2cmb12nbmlfn12sfmcrl";
+    sha256 = "sha256-WSlASDTA1UX+NhW38/XuLkOkdwjIxz0OUkX6Nd2iROg=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/ocaml-modules/sawja/default.nix b/pkgs/development/ocaml-modules/sawja/default.nix
index 3b0878155a53d..ec1b59c04077d 100644
--- a/pkgs/development/ocaml-modules/sawja/default.nix
+++ b/pkgs/development/ocaml-modules/sawja/default.nix
@@ -2,8 +2,7 @@
 
 let
   pname = "sawja";
-  version = "1.5.10";
-  webpage = "http://sawja.inria.fr/";
+  version = "1.5.11";
 in
 
 if !lib.versionAtLeast ocaml.version "4.07"
@@ -20,7 +19,7 @@ stdenv.mkDerivation {
     owner = "javalib-team";
     repo = pname;
     rev = version;
-    sha256 = "sha256:0k51rscs9mdgpg3qn4cahql5ncdvlb207m015hr8v6r1vfgn0ddq";
+    sha256 = "sha256-1aKkRZDuLJLmDhUC1FXnn4QrgXaTyAbnXfTOAdnKgs8=";
   };
 
   nativeBuildInputs = [ which ocaml findlib ];
@@ -42,7 +41,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "A library written in OCaml, relying on Javalib to provide a high level representation of Java bytecode programs";
-    homepage = webpage;
+    homepage = "http://sawja.inria.fr/";
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.vbgl ];
     platforms = ocaml.meta.platforms or [];
diff --git a/pkgs/development/ocaml-modules/shared-memory-ring/default.nix b/pkgs/development/ocaml-modules/shared-memory-ring/default.nix
index 3a96d4adee4c5..17dd6183c0da5 100644
--- a/pkgs/development/ocaml-modules/shared-memory-ring/default.nix
+++ b/pkgs/development/ocaml-modules/shared-memory-ring/default.nix
@@ -5,6 +5,7 @@
 , mirage-profile
 , cstruct
 , ounit
+, stdlib-shims
 }:
 
 buildDunePackage rec {
@@ -25,6 +26,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [
     mirage-profile
     cstruct
+    stdlib-shims
   ];
 
   doCheck = true;
diff --git a/pkgs/development/ocaml-modules/stdune/default.nix b/pkgs/development/ocaml-modules/stdune/default.nix
new file mode 100644
index 0000000000000..fd1e4f987b407
--- /dev/null
+++ b/pkgs/development/ocaml-modules/stdune/default.nix
@@ -0,0 +1,16 @@
+{ lib, buildDunePackage, dune_3, dyn, ordering }:
+
+buildDunePackage {
+  pname = "stdune";
+  inherit (dune_3) version src;
+  duneVersion = "3";
+
+  dontAddPrefix = true;
+
+  propagatedBuildInputs = [ dyn ordering ];
+
+  meta = dune_3.meta // {
+    description = "Dune's unstable standard library";
+  };
+}
+
diff --git a/pkgs/development/ocaml-modules/tcpip/default.nix b/pkgs/development/ocaml-modules/tcpip/default.nix
index ad12cb42d5e93..bcabb6a3626f7 100644
--- a/pkgs/development/ocaml-modules/tcpip/default.nix
+++ b/pkgs/development/ocaml-modules/tcpip/default.nix
@@ -13,13 +13,13 @@
 
 buildDunePackage rec {
   pname = "tcpip";
-  version = "7.0.1";
+  version = "7.1.0";
 
   useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/mirage/mirage-${pname}/releases/download/v${version}/${pname}-${version}.tbz";
-    sha256 = "0gqj2s9sk3a7f4yavx423a569fvxsrgm0wg58biiv16v37xjaymp";
+    sha256 = "sha256-4nd2OVZa4w22I4bgglnS8lrNfjTk40PL5n6Oh6n+osw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/ocaml-modules/type_conv/108.08.00.nix b/pkgs/development/ocaml-modules/type_conv/108.08.00.nix
deleted file mode 100644
index fb3977223f7ee..0000000000000
--- a/pkgs/development/ocaml-modules/type_conv/108.08.00.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib, stdenv, fetchurl, ocaml, findlib, camlp4 }:
-
-if !lib.versionAtLeast ocaml.version "3.12"
-  || lib.versionAtLeast ocaml.version "4.03"
-then throw "type_conv-108.08.00 is not available for OCaml ${ocaml.version}" else
-
-stdenv.mkDerivation rec {
-  pname = "ocaml-type_conv";
-  version = "108.08.00";
-
-  src = fetchurl {
-    url = "https://ocaml.janestreet.com/ocaml-core/${version}/individual/type_conv-${version}.tar.gz";
-    sha256 = "08ysikwwp69zvc147lzzg79nwlrzrk738rj0ggcfadi8h5il42sl";
-  };
-
-  nativeBuildInputs = [ ocaml findlib ];
-  buildInputs = [ camlp4 ];
-
-  strictDeps = true;
-
-  createFindlibDestdir = true;
-
-  meta = with lib; {
-    homepage = "https://ocaml.janestreet.com/";
-    description = "Support library for OCaml preprocessor type conversions";
-    license = licenses.asl20;
-    branch = "108";
-    platforms = ocaml.meta.platforms or [ ];
-    maintainers = with maintainers; [ maggesi ];
-  };
-}
diff --git a/pkgs/development/ocaml-modules/type_conv/109.60.01.nix b/pkgs/development/ocaml-modules/type_conv/109.60.01.nix
deleted file mode 100644
index 1f6500c6ed176..0000000000000
--- a/pkgs/development/ocaml-modules/type_conv/109.60.01.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, lib, fetchFromGitHub, ocaml, findlib, camlp4 }:
-
-if !lib.versionAtLeast ocaml.version "4.00"
-  || lib.versionAtLeast ocaml.version "4.03"
-then throw "type_conv-109.60.01 is not available for OCaml ${ocaml.version}" else
-
-stdenv.mkDerivation rec {
-  pname = "ocaml-type_conv";
-  version = "109.60.01";
-
-  src = fetchFromGitHub {
-    owner = "janestreet";
-    repo = "type_conv";
-    rev = version;
-    sha256 = "sha256-8Oz/fPL3+RghyxQp5u6seSEdf0BgfP6XNcsMYty0rNs=";
-  };
-
-  nativeBuildInputs = [ ocaml findlib ];
-  buildInputs = [ camlp4 ];
-
-  strictDeps = true;
-
-  createFindlibDestdir = true;
-
-  meta = {
-    homepage = "http://forge.ocamlcore.org/projects/type-conv/";
-    description = "Support library for OCaml preprocessor type conversions";
-    license = lib.licenses.lgpl21;
-    platforms = ocaml.meta.platforms or [ ];
-    maintainers = with lib.maintainers; [ maggesi ];
-  };
-}
diff --git a/pkgs/development/ocaml-modules/type_conv/112.01.01.nix b/pkgs/development/ocaml-modules/type_conv/112.01.01.nix
deleted file mode 100644
index 468b872ec3d05..0000000000000
--- a/pkgs/development/ocaml-modules/type_conv/112.01.01.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, fetchFromGitHub, buildOcaml, camlp4}:
-
-buildOcaml rec {
-  minimumSupportedOcamlVersion = "4.02";
-
-  pname = "type_conv";
-  version = "113.00.02";
-
-  src = fetchFromGitHub {
-    owner = "janestreet";
-    repo = "type_conv";
-    rev = version;
-    sha256 = "sha256-HzH0hnceCQ2kDRATjl+tfKk3XSBDsGnPzVUGYpDQUmU=";
-  };
-
-  strictDeps = true;
-
-  buildInputs = [ camlp4 ];
-
-  meta = {
-    homepage = "https://github.com/janestreet/type_conv/";
-    description = "Support library for preprocessor type conversions";
-    license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ maggesi ericbmerritt ];
-  };
-}
diff --git a/pkgs/development/ocaml-modules/ulex/default.nix b/pkgs/development/ocaml-modules/ulex/default.nix
index 9a5848db3f7b4..d08f2c4c0ae3a 100644
--- a/pkgs/development/ocaml-modules/ulex/default.nix
+++ b/pkgs/development/ocaml-modules/ulex/default.nix
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
   createFindlibDestdir = true;
 
   nativeBuildInputs = [ ocaml findlib ocamlbuild camlp4 ];
+  propagatedBuildInputs = [ camlp4 ];
 
   strictDeps = true;
 
diff --git a/pkgs/development/ocaml-modules/unionFind/default.nix b/pkgs/development/ocaml-modules/unionFind/default.nix
new file mode 100644
index 0000000000000..aa1d5e82362bc
--- /dev/null
+++ b/pkgs/development/ocaml-modules/unionFind/default.nix
@@ -0,0 +1,24 @@
+{ lib, fetchFromGitLab, buildDunePackage }:
+
+buildDunePackage rec {
+  pname = "unionFind";
+  version = "20220122";
+
+  useDune2 = true;
+  minimalOCamlVersion = "4.05";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.inria.fr";
+    owner = "fpottier";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256:0hdh56rbg8vfjd61q09cbmh8l5wmry5ykivg7gsm0v5ckkb3531r";
+  };
+
+  meta = {
+    description = "Implementations of the union-find data structure";
+    license = lib.licenses.lgpl2Only;
+    inherit (src.meta) homepage;
+    maintainers = [ lib.maintainers.vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/uutf/default.nix b/pkgs/development/ocaml-modules/uutf/default.nix
index 6701c86505135..c76eac45b35dc 100644
--- a/pkgs/development/ocaml-modules/uutf/default.nix
+++ b/pkgs/development/ocaml-modules/uutf/default.nix
@@ -1,16 +1,18 @@
 { lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, cmdliner , topkg, uchar }:
 let
   pname = "uutf";
-  webpage = "https://erratique.ch/software/${pname}";
 in
 
+lib.throwIfNot (lib.versionAtLeast ocaml.version "4.03")
+  "${pname} is not available with OCaml ${ocaml.version}"
+
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-${pname}-${version}";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchurl {
-    url = "${webpage}/releases/${pname}-${version}.tbz";
-    sha256 = "1nx1rly3qj23jzn9yk3x6fwqimcxjd84kv5859vvhdg56psq26p6";
+    url = "https://erratique.ch/software/${pname}/releases/${pname}-${version}.tbz";
+    sha256 = "sha256-h3KlYT0ecCmM4U3zMkGjaF8h5O9r20zwP+mF+x7KBWg=";
   };
 
   nativeBuildInputs = [ ocaml ocamlbuild findlib topkg ];
@@ -23,8 +25,8 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Non-blocking streaming Unicode codec for OCaml";
-    homepage = webpage;
-    platforms = ocaml.meta.platforms or [];
+    homepage = "https://erratique.ch/software/uutf";
+    inherit (ocaml.meta) platforms;
     license = licenses.bsd3;
     maintainers = [ maintainers.vbgl ];
   };
diff --git a/pkgs/development/ocaml-modules/wasm/default.nix b/pkgs/development/ocaml-modules/wasm/default.nix
index 6b00089129065..ffe8479b67e95 100644
--- a/pkgs/development/ocaml-modules/wasm/default.nix
+++ b/pkgs/development/ocaml-modules/wasm/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild }:
 
-if !lib.versionAtLeast ocaml.version "4.02"
+if !lib.versionAtLeast ocaml.version "4.03"
 || lib.versionOlder "4.13" ocaml.version
 then throw "wasm is not available for OCaml ${ocaml.version}"
 else
diff --git a/pkgs/development/php-packages/composer/default.nix b/pkgs/development/php-packages/composer/default.nix
index 96cc0b9706b70..f0d4b84d02cb6 100644
--- a/pkgs/development/php-packages/composer/default.nix
+++ b/pkgs/development/php-packages/composer/default.nix
@@ -1,14 +1,14 @@
 { mkDerivation, fetchurl, makeWrapper, unzip, lib, php }:
 let
   pname = "composer";
-  version = "2.2.9";
+  version = "2.3.3";
 in
 mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://getcomposer.org/download/${version}/composer.phar";
-    sha256 = "sha256-SPn9ya2TkE/ullULRa4DpR9pcYUC7oVdqJS0rXHS3+A=";
+    sha256 = "sha256-1pMewrOLQb0K1i+dFXkI5miLrAkbvwvWphnBBnuSJAI=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/php-packages/memcached/default.nix b/pkgs/development/php-packages/memcached/default.nix
index 2a9d6685b7ca6..5e56882c9d24e 100644
--- a/pkgs/development/php-packages/memcached/default.nix
+++ b/pkgs/development/php-packages/memcached/default.nix
@@ -2,13 +2,13 @@
 
 buildPecl rec {
   pname = "memcached";
-  version = "3.1.5";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "php-memcached-dev";
     repo = "php-memcached";
     rev = "v${version}";
-    sha256 = "sha256-AA3JakWxjk7HQl+8FEEGqLVNYHrjITZg3G25OaqAqwY=";
+    sha256 = "sha256-g9IzGSZUxLlOE32o9ZJOa3erb5Qs1ntR8nzS3kRd/EU=";
   };
 
   internalDeps = [
diff --git a/pkgs/development/php-packages/mongodb/default.nix b/pkgs/development/php-packages/mongodb/default.nix
index 6f28d1af10e33..bb6087631eb16 100644
--- a/pkgs/development/php-packages/mongodb/default.nix
+++ b/pkgs/development/php-packages/mongodb/default.nix
@@ -14,8 +14,8 @@
 buildPecl {
   pname = "mongodb";
 
-  version = "1.12.1";
-  sha256 = "sha256-kl1+YAXG6Eu0CiUBnBKw7kvaYlxkSXadzn1bAmmD9DM=";
+  version = "1.13.0";
+  sha256 = "sha256-IoZbYdJkyQyeqoXZTy9fV+VkFAyth8jCYB+jP4Dv4Ls=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [
diff --git a/pkgs/development/php-packages/phpstan/default.nix b/pkgs/development/php-packages/phpstan/default.nix
index af889e10fa7f1..bafbe23acd2b5 100644
--- a/pkgs/development/php-packages/phpstan/default.nix
+++ b/pkgs/development/php-packages/phpstan/default.nix
@@ -1,14 +1,14 @@
 { mkDerivation, fetchurl, makeWrapper, lib, php }:
 let
   pname = "phpstan";
-  version = "1.4.10";
+  version = "1.5.3";
 in
 mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
-    sha256 = "sha256-KFGxvk95Zx1bONyDkZsJP7VRzrInSfN2R5Nk3waYz1w=";
+    sha256 = "sha256-tIVzXxOyHVz2AE0PjQdkQ+uevdSqsjBRIZQWVDwzuKg=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/pure-modules/audio/default.nix b/pkgs/development/pure-modules/audio/default.nix
deleted file mode 100644
index 5a19ef0a72d55..0000000000000
--- a/pkgs/development/pure-modules/audio/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure, portaudio, fftw, libsndfile, libsamplerate }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-audio";
-  version = "0.6";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-audio-${version}.tar.gz";
-    sha256 = "c1f2a5da73983efb5a54f86d57ba93713ebed20ff0c72de9b3467f10f2904ee0";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure portaudio fftw libsndfile libsamplerate ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "A digital audio interface for the Pure programming language";
-    homepage = "http://puredocs.bitbucket.org/pure-audio.html";
-    license = lib.licenses.bsd3;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/avahi/default.nix b/pkgs/development/pure-modules/avahi/default.nix
deleted file mode 100644
index d2f35ffca7665..0000000000000
--- a/pkgs/development/pure-modules/avahi/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure, avahi }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-avahi";
-  version = "0.3";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-avahi-${version}.tar.gz";
-    sha256 = "5fac8a6e3a54e45648ceb207ee0061b22eac8c4e668b8d53f13eb338b09c9160";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure avahi ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "A digital audio interface for the Pure programming language";
-    homepage = "http://puredocs.bitbucket.org/pure-avahi.html";
-    license = lib.licenses.lgpl3Plus;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/csv/default.nix b/pkgs/development/pure-modules/csv/default.nix
deleted file mode 100644
index 767ac0432ee04..0000000000000
--- a/pkgs/development/pure-modules/csv/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-csv";
-  version = "1.6";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-csv-${version}.tar.gz";
-    sha256 = "fe7c4edebe8208c54d5792a9eefaeb28c4a58b9094d161a6dda8126f0823ab3c";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "Comma Separated Value Interface for the Pure Programming Language";
-    homepage = "http://puredocs.bitbucket.org/pure-csv.html";
-    license = lib.licenses.free;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/doc/default.nix b/pkgs/development/pure-modules/doc/default.nix
deleted file mode 100644
index 2940c58b21b67..0000000000000
--- a/pkgs/development/pure-modules/doc/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-doc";
-  version = "0.7";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-doc-${version}.tar.gz";
-    sha256 = "cfa880573941f37868269bcc443a09fecd2a141a78556383d2213f6c9f45ddd9";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ pure ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-
-  meta = {
-    description = "A simple utility for literate programming and documenting source code written in the Pure programming language";
-    homepage = "http://puredocs.bitbucket.org/pure-doc.html";
-    license = lib.licenses.gpl3Plus;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/fastcgi/default.nix b/pkgs/development/pure-modules/fastcgi/default.nix
deleted file mode 100644
index 63b91f9a4f2ca..0000000000000
--- a/pkgs/development/pure-modules/fastcgi/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure, fcgi }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-fastcgi";
-  version = "0.6";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-fastcgi-${version}.tar.gz";
-    sha256 = "aa5789cc1e17521c01f349ee82ce2a00500e025b3f8494f89a7ebe165b5aabc7";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure fcgi ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "Lets you write FastCGI scripts with Pure, to be run by web servers like Apache";
-    homepage = "http://puredocs.bitbucket.org/pure-fastcgi.html";
-    license = lib.licenses.bsd3;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/faust/default.nix b/pkgs/development/pure-modules/faust/default.nix
deleted file mode 100644
index eef81e59cbf61..0000000000000
--- a/pkgs/development/pure-modules/faust/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure, faust, libtool }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-faust";
-  version = "0.11";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-faust-${version}.tar.gz";
-    sha256 = "51278a3b0807c4770163dc2ce423507dcf0ffec9cd1c1fbc08426d07294f6ae0";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure faust libtool ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "Lets you load and run Faust-generated signal processing modules in Pure";
-    homepage = "http://puredocs.bitbucket.org/pure-faust.html";
-    license = lib.licenses.lgpl3Plus;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/ffi/default.nix b/pkgs/development/pure-modules/ffi/default.nix
deleted file mode 100644
index fd119b309ba0d..0000000000000
--- a/pkgs/development/pure-modules/ffi/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure, libffi }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-ffi";
-  version = "0.14";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-ffi-${version}.tar.gz";
-    sha256 = "0331f48efaae40af21b23cf286fd7eac0ea0a249d08fd97bf23246929c0ea71a";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure libffi ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "Provides an interface to libffi which enables you to call C functions from Pure and vice versa";
-    homepage = "http://puredocs.bitbucket.org/pure-ffi.html";
-    license = lib.licenses.lgpl3Plus;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/gen/default.nix b/pkgs/development/pure-modules/gen/default.nix
deleted file mode 100644
index 9698f0659a2b4..0000000000000
--- a/pkgs/development/pure-modules/gen/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, stdenv, fetchurl,
-  pkg-config, pure, haskellPackages }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-gen";
-  version = "0.20";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-gen-${version}.tar.gz";
-    sha256 = "cfadd99a378b296325937d2492347611cc1e1d9f24594f91f3c2293eca01a4a8";
-  };
-
-  hsEnv = haskellPackages.ghcWithPackages (hsPkgs : [hsPkgs.language-c]);
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ hsEnv pure ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-
-  meta = {
-    description = "Pure interface generator";
-    homepage = "http://puredocs.bitbucket.org/pure-gen.html";
-    license = lib.licenses.free;
-    platforms = lib.platforms.linux;
-    hydraPlatforms = [];
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/generic-setup-hook.sh b/pkgs/development/pure-modules/generic-setup-hook.sh
deleted file mode 100644
index efaa2211ae66c..0000000000000
--- a/pkgs/development/pure-modules/generic-setup-hook.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-addToSearchPath PURE_INCLUDE $1/lib/pure
-addToSearchPath PURE_LIBRARY $1/lib/pure
diff --git a/pkgs/development/pure-modules/gl/default.nix b/pkgs/development/pure-modules/gl/default.nix
deleted file mode 100644
index 479835d95794b..0000000000000
--- a/pkgs/development/pure-modules/gl/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure, freeglut, libGLU, libGL, xlibsWrapper }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-gl";
-  version = "0.9";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-gl-${version}.tar.gz";
-    sha256 = "edd594222f89ae372067eda6679a37488986b9739b5b79b4a25ac48255d31bba";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure freeglut libGLU libGL xlibsWrapper ];
-  makeFlags = [
-    "libdir=${placeholder "out"}/lib"
-    "prefix=${placeholder "out"}/"
-  ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "Fairly complete Pure bindings for the OpenGL graphics library, which allow you to do 2D and 3D graphics programming with Pure";
-    homepage = "http://puredocs.bitbucket.org/pure-gl.html";
-    license = lib.licenses.bsd3;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/glpk/default.nix b/pkgs/development/pure-modules/glpk/default.nix
deleted file mode 100644
index 112d1ef235941..0000000000000
--- a/pkgs/development/pure-modules/glpk/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ lib, stdenv, fetchurl,
-  pkg-config, pure, glpk, gmp, libtool, libmysqlclient, libiodbc }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-glpk";
-  version = "0.5";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-glpk-${version}.tar.gz";
-    sha256 = "5d6dc11706985dda02d96d481ea5f164c9e95ee446432fc4fc3d0db61a076346";
-  };
-
-  glpkWithExtras = lib.overrideDerivation glpk (attrs: {
-    propagatedBuildInputs = [ gmp libtool libmysqlclient libiodbc ];
-
-    CPPFLAGS = "-I${gmp.dev}/include";
-
-    preConfigure = ''
-      substituteInPlace configure \
-        --replace /usr/include/mysql ${libmysqlclient}/include/mysql
-    '';
-    configureFlags = [ "--enable-dl"
-                       "--enable-odbc"
-                       "--enable-mysql"
-                       "--with-gmp=yes" ];
-  });
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure glpkWithExtras ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "GLPK interface for the Pure Programming Language";
-    homepage = "http://puredocs.bitbucket.org/pure-glpk.html";
-    license = lib.licenses.gpl3Plus;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/gplot/default.nix b/pkgs/development/pure-modules/gplot/default.nix
deleted file mode 100644
index 54fca97a9cd27..0000000000000
--- a/pkgs/development/pure-modules/gplot/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure, gnuplot }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-gplot";
-  version = "0.1";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-gplot-${version}.tar.gz";
-    sha256 = "841ded98e4d1cdfaf78f95481e5995d0440bfda2d5df533d6741a6e7058a882c";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure gnuplot ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "A pure binding to gnuplot";
-    homepage = "http://puredocs.bitbucket.org/pure-gplot.html";
-    license = lib.licenses.lgpl3Plus;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/gsl/default.nix b/pkgs/development/pure-modules/gsl/default.nix
deleted file mode 100644
index 7ba60a9ea6c49..0000000000000
--- a/pkgs/development/pure-modules/gsl/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, pure, pkg-config, gsl }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-gsl";
-  version = "0.12";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-gsl-${version}.tar.gz";
-    sha256 = "06bdd873d5417d90ca35093056a060b77365123ed24c3ac583cd3922d4c78a75";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure gsl ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "GNU Scientific Library interface for Pure";
-    homepage = "http://puredocs.bitbucket.org/pure-gsl.html";
-    license = lib.licenses.gpl3Plus;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/gtk/default.nix b/pkgs/development/pure-modules/gtk/default.nix
deleted file mode 100644
index adbd824abb692..0000000000000
--- a/pkgs/development/pure-modules/gtk/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure, pure-ffi, gtk2 }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-gtk";
-  version = "0.13";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-gtk-${version}.tar.gz";
-    sha256 = "e659ff1bc5809ce35b810f8ac3fb7e8cadaaef13996537d8632e2f86ed76d203";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure pure-ffi gtk2 ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "A collection of bindings to use the GTK GUI toolkit version 2.x with Pure";
-    homepage = "http://puredocs.bitbucket.org/pure-gtk.html";
-    license = lib.licenses.lgpl3Plus;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/liblo/default.nix b/pkgs/development/pure-modules/liblo/default.nix
deleted file mode 100644
index d19c7b511cf13..0000000000000
--- a/pkgs/development/pure-modules/liblo/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure, liblo }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-liblo";
-  version = "0.9";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-liblo-${version}.tar.gz";
-    sha256 = "c2ba4d6f94489acf8a8fac73982ae03d5ad4113146eb1f7d6558a956c57cb8ee";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure liblo ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "A quick and dirty Pure wrapper for the liblo library, which implements Berkeley’s Open Sound Control (OSC) protocol";
-    homepage = "http://puredocs.bitbucket.org/pure-liblo.html";
-    license = lib.licenses.lgpl3Plus;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/lilv/default.nix b/pkgs/development/pure-modules/lilv/default.nix
deleted file mode 100644
index bcadeba5acff3..0000000000000
--- a/pkgs/development/pure-modules/lilv/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure, lilv, lv2, serd, sord, sratom }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-lilv";
-  version = "0.4";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-lilv-${version}.tar.gz";
-    sha256 = "af20982fe43e8dce62d50bf7a78e461ab36c308325b123cddbababf0d3beaf9f";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure lilv lv2 serd sord sratom ];
-  makeFlags = [ "CFLAGS=-I${lilv}/include/lilv-0" "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "A Pure module for David Robillard’s Lilv, a library for LV2 plugin host writers";
-    homepage = "http://puredocs.bitbucket.org/pure-lilv.html";
-    license = lib.licenses.bsd3;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/lv2/default.nix b/pkgs/development/pure-modules/lv2/default.nix
deleted file mode 100644
index 742db4eac4131..0000000000000
--- a/pkgs/development/pure-modules/lv2/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure, lv2 }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-lv2";
-  version = "0.2";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-lv2-${version}.tar.gz";
-    sha256 = "721cacd831781d8309e7ecabb0ee7c01da17e75c5642a5627cf158bfb36093e1";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure lv2 ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "A generic LV2 plugin wrapper for Pure which can be linked with batch-compiled Pure scripts to obtain LV2 plugin modules";
-    homepage = "http://puredocs.bitbucket.org/pure-lv2.html";
-    license = lib.licenses.bsd3;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/midi/default.nix b/pkgs/development/pure-modules/midi/default.nix
deleted file mode 100644
index f1a463414af1f..0000000000000
--- a/pkgs/development/pure-modules/midi/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure, portmidi }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-midi";
-  version = "0.6";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-midi-${version}.tar.gz";
-    sha256 = "817ae9fa5f443a8c478a6770f36091e3cf99f3515c74e00d09ca958dead1e7eb";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure portmidi ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "A MIDI interface for the Pure programming language";
-    homepage = "http://puredocs.bitbucket.org/pure-midi.html";
-    license = lib.licenses.bsd3;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/mpfr/default.nix b/pkgs/development/pure-modules/mpfr/default.nix
deleted file mode 100644
index 3a2ef117b5b74..0000000000000
--- a/pkgs/development/pure-modules/mpfr/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-mpfr";
-  version = "0.5";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-mpfr-${version}.tar.gz";
-    sha256 = "39d2255c2c0c2d60ce727be178b5e5a06f7c92eb365976c49c4a34b1edc576e7";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "This module makes the MPFR multiprecision floats available in Pure";
-    homepage = "http://puredocs.bitbucket.org/pure-mpfr.html";
-    license = lib.licenses.lgpl3Plus;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/octave/default.nix b/pkgs/development/pure-modules/octave/default.nix
deleted file mode 100644
index ffb622567e5a6..0000000000000
--- a/pkgs/development/pure-modules/octave/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure, octave }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-octave";
-  version = "0.9";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-octave-${version}.tar.gz";
-    sha256 = "0l1mvmi3rpabzjcrk6p04rdn922mvdm9x67zby3dha5iiccc47q0";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure octave ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "An Octave module for the Pure programming language";
-    homepage = "http://puredocs.bitbucket.org/pure-octave.html";
-    license = lib.licenses.gpl3Plus;
-    # This is set to none for now because it does not work with the
-    # current stable version of Octave.
-    platforms = lib.platforms.none;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/odbc/default.nix b/pkgs/development/pure-modules/odbc/default.nix
deleted file mode 100644
index e826eae2eb551..0000000000000
--- a/pkgs/development/pure-modules/odbc/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure, libiodbc }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-odbc";
-  version = "0.10";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-odbc-${version}.tar.gz";
-    sha256 = "1907e9ebca11cc68762cf7046084b31e9e2bf056df85c40ccbcbe9f02221ff8d";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure libiodbc ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "A simple ODBC interface for the Pure programming language";
-    homepage = "http://puredocs.bitbucket.org/pure-odbc.html";
-    license = lib.licenses.lgpl3Plus;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/pandoc/default.nix b/pkgs/development/pure-modules/pandoc/default.nix
deleted file mode 100644
index bf9bd988ddbcd..0000000000000
--- a/pkgs/development/pure-modules/pandoc/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure, pandoc, gawk, getopt }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-pandoc";
-  version = "0.1";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-pandoc-${version}.tar.gz";
-    sha256 = "0f23a17549048ca3a8f4936ea9e931feb05997390b486850936b746996350cda";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ pure ];
-  propagatedBuildInputs = [ pandoc gawk getopt ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  preInstall = ''
-    mkdir -p $out/bin
-    mkdir -p $out/share/man/man1
-  '';
-
-  meta = {
-    description = "Converts Sphinx-formatted Pure documentation files to Markdown and other formats using Pandoc";
-    homepage = "http://puredocs.bitbucket.org/pure-pandoc.html";
-    license = lib.licenses.gpl3Plus;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/rational/default.nix b/pkgs/development/pure-modules/rational/default.nix
deleted file mode 100644
index 2dfed34225070..0000000000000
--- a/pkgs/development/pure-modules/rational/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-rational";
-  version = "0.1";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-rational-${version}.tar.gz";
-    sha256 = "62cb4079a0dadd232a859e577e97e50e9718ccfcc5983c4d9c4c32cac7a9bafa";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "A collection of utility functions for rational numbers, and a module for doing interval arithmetic in Pure";
-    homepage = "http://puredocs.bitbucket.org/pure-rational.html";
-    license = lib.licenses.gpl3Plus;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/readline/default.nix b/pkgs/development/pure-modules/readline/default.nix
deleted file mode 100644
index 283d75323befe..0000000000000
--- a/pkgs/development/pure-modules/readline/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure, readline }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-readline";
-  version = "0.3";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-readline-${version}.tar.gz";
-    sha256 = "db8e6663b1c085466c09662fe86d952b6f4ffdafeecffe805c681ab91c910886";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure readline ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "A trivial wrapper around GNU readline, which gives Pure scripts access to the most important facilities of the readline interface";
-    homepage = "http://puredocs.bitbucket.org/pure-readline.html";
-    license = lib.licenses.free;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/sockets/default.nix b/pkgs/development/pure-modules/sockets/default.nix
deleted file mode 100644
index f50d3f3efbf73..0000000000000
--- a/pkgs/development/pure-modules/sockets/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-sockets";
-  version = "0.7";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-sockets-${version}.tar.gz";
-    sha256 = "4f2769618ae5818cf6005bb08bcf02fe359a2e31998d12dc0c72f0494e9c0420";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "A Pure interface to the Berkeley socket functions";
-    homepage = "http://puredocs.bitbucket.org/pure-sockets.html";
-    license = lib.licenses.gpl3Plus;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/sql3/default.nix b/pkgs/development/pure-modules/sql3/default.nix
deleted file mode 100644
index 8db3fa58085da..0000000000000
--- a/pkgs/development/pure-modules/sql3/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure, sqlite }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-sql3";
-  version = "0.5";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-sql3-${version}.tar.gz";
-    sha256 = "b9f79dd443c8ffc5cede51e2af617f24726f5c0409aab4948c9847e6adb53c37";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure sqlite ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "A SQLite module for the Pure programming language";
-    homepage = "http://puredocs.bitbucket.org/pure-sql3.html";
-    license = lib.licenses.bsd3;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/stldict/default.nix b/pkgs/development/pure-modules/stldict/default.nix
deleted file mode 100644
index 145617bc83ecb..0000000000000
--- a/pkgs/development/pure-modules/stldict/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-stldict";
-  version = "0.8";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-stldict-${version}.tar.gz";
-    sha256 = "5b894ae6dc574c7022258e2732bea649c82c959ec4d0be13fb5a3e8ba8488f28";
-  };
-
-  postPatch = ''
-    for f in hashdict.cc orddict.cc; do
-      sed -i '1i\#include <stddef.h>' $f
-    done
-  '';
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "A Pure interface to the C++ dictionary containers map and unordered_map";
-    homepage = "http://puredocs.bitbucket.org/pure-stldict.html";
-    license = lib.licenses.lgpl3Plus;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/stllib/default.nix b/pkgs/development/pure-modules/stllib/default.nix
deleted file mode 100644
index dabdb73fd7ced..0000000000000
--- a/pkgs/development/pure-modules/stllib/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-stllib";
-  version = "0.6";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-stllib-${version}.tar.gz";
-    sha256 = "1d550764fc2f8ba6ddbd1fbd3da2d6965b69e2c992747265d9ebe4f16aa5e455";
-  };
-
-  postPatch = ''
-    for f in pure-stlmap/{stlmap.cpp,stlmmap.cpp,stlhmap.cpp}; do
-      sed -i '1i\#include <cstddef>' $f
-    done
-  '';
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "An “umbrella” package that contains a pair of Pure addons, pure-stlvec and pure-stlmap";
-    homepage = "http://puredocs.bitbucket.org/pure-stllib.html";
-    license = lib.licenses.bsd3;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/tk/default.nix b/pkgs/development/pure-modules/tk/default.nix
deleted file mode 100644
index 35da57f47cda4..0000000000000
--- a/pkgs/development/pure-modules/tk/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure, tcl, tk, xlibsWrapper }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-tk";
-  version = "0.5";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-tk-${version}.tar.gz";
-    sha256 = "3b6e97e2d723d5a05bf25f4ac62068ac17a1fd81db03e1986366097bf071a516";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure tcl tk xlibsWrapper ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "A basic interface between Pure and Tcl/Tk";
-    homepage = "http://puredocs.bitbucket.org/pure-tk.html";
-    license = lib.licenses.bsd3;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/pure-modules/xml/default.nix b/pkgs/development/pure-modules/xml/default.nix
deleted file mode 100644
index 92f4b62966e09..0000000000000
--- a/pkgs/development/pure-modules/xml/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, pure, libxml2, libxslt }:
-
-stdenv.mkDerivation rec {
-  pname = "pure-xml";
-  version = "0.7";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-xml-${version}.tar.gz";
-    sha256 = "e862dec060917a285bc3befc90f4eb70b6cc33136fb524ad3aa173714a35b0f7";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  propagatedBuildInputs = [ pure libxml2 libxslt ];
-  makeFlags = [ "libdir=$(out)/lib" "prefix=$(out)/" ];
-  setupHook = ../generic-setup-hook.sh;
-
-  meta = {
-    description = "A simplified interface to the Gnome libxml2 and libxslt libraries for Pure";
-    homepage = "http://puredocs.bitbucket.org/pure-xml.html";
-    license = lib.licenses.lgpl3Plus;
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ asppsa ];
-  };
-}
diff --git a/pkgs/development/python-modules/Cython/default.nix b/pkgs/development/python-modules/Cython/default.nix
index e22037cbbb9f2..5ceabe766b867 100644
--- a/pkgs/development/python-modules/Cython/default.nix
+++ b/pkgs/development/python-modules/Cython/default.nix
@@ -25,11 +25,11 @@ let
 
 in buildPythonPackage rec {
   pname = "Cython";
-  version = "0.29.24";
+  version = "0.29.28";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-zfBNB8NgCGDowuuq1Oj1KsP+shJFPBdkpJrAjIJ+hEM=";
+    sha256 = "sha256-1vrCNCgCww5RQmgo/ghP9N6xszhzZ8+Yl2uy5ktvjkU=";
   };
 
   nativeBuildInputs = [
@@ -44,13 +44,6 @@ in buildPythonPackage rec {
   LC_ALL = "en_US.UTF-8";
 
   patches = [
-    # https://github.com/cython/cython/issues/2752, needed by sage (https://trac.sagemath.org/ticket/26855) and up to be included in 0.30
-    (fetchpatch {
-      name = "non-int-conversion-to-pyhash.patch";
-      url = "https://github.com/cython/cython/commit/28251032f86c266065e4976080230481b1a1bb29.patch";
-      sha256 = "19rg7xs8gr90k3ya5c634bs8gww1sxyhdavv07cyd2k71afr83gy";
-    })
-
     # backport Cython 3.0 trashcan support (https://github.com/cython/cython/pull/2842) to 0.X series.
     # it does not affect Python code unless the code explicitly uses the feature.
     # trashcan support is needed to avoid stack overflows during object deallocation in sage (https://trac.sagemath.org/ticket/27267)
diff --git a/pkgs/development/python-modules/Fabric/default.nix b/pkgs/development/python-modules/Fabric/default.nix
index de53512d0b47a..f39b2e1418710 100644
--- a/pkgs/development/python-modules/Fabric/default.nix
+++ b/pkgs/development/python-modules/Fabric/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "fabric";
-  version = "2.6.0";
+  version = "2.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "47f184b070272796fd2f9f0436799e18f2ccba4ee8ee587796fca192acd46cd2";
+    sha256 = "sha256-C/eXpoxLOJcg3E3WGBSXpYxB7XYuKD2ePBsBSLMqmv8=";
   };
 
   # only relevant to python < 3.4
diff --git a/pkgs/development/python-modules/XlsxWriter/default.nix b/pkgs/development/python-modules/XlsxWriter/default.nix
index 15bd1ee35fec2..5096f37e3025d 100644
--- a/pkgs/development/python-modules/XlsxWriter/default.nix
+++ b/pkgs/development/python-modules/XlsxWriter/default.nix
@@ -1,24 +1,36 @@
-{lib, buildPythonPackage, fetchFromGitHub}:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
+  pname = "xlsxwriter";
+  version = "3.0.2";
+  format = "setuptools";
 
-  pname = "XlsxWriter";
-  version = "1.2.9";
+  disabled = pythonOlder "3.7";
 
-  # PyPI release tarball doesn't contain tests so let's use GitHub. See:
-  # https://github.com/jmcnamara/XlsxWriter/issues/327
-  src = fetchFromGitHub{
+  src = fetchFromGitHub {
     owner = "jmcnamara";
-    repo = pname;
+    repo = "XlsxWriter";
     rev = "RELEASE_${version}";
-    sha256 = "08pdca5ssi50bx2xz52gkmjix2ybv5i4bjw7yd6yfiph0y0qsbsb";
+    hash = "sha256-I87/8OhMoI9/BRXdmTZ1Ul+d+/x+Kg/9CuqMgTsP8Eo=";
   };
 
-  meta = {
-    description = "A Python module for creating Excel XLSX files";
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "xlsxwriter"
+  ];
+
+  meta = with lib; {
+    description = "Module for creating Excel XLSX files";
     homepage = "https://xlsxwriter.readthedocs.io/";
-    maintainers = with lib.maintainers; [ jluttine ];
-    license = lib.licenses.bsd2;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ jluttine ];
   };
-
 }
diff --git a/pkgs/development/python-modules/adafruit-platformdetect/default.nix b/pkgs/development/python-modules/adafruit-platformdetect/default.nix
index 2671c25e59f7d..921c844e27d8d 100644
--- a/pkgs/development/python-modules/adafruit-platformdetect/default.nix
+++ b/pkgs/development/python-modules/adafruit-platformdetect/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "adafruit-platformdetect";
-  version = "3.22.0";
+  version = "3.22.1";
   format = "setuptools";
 
   src = fetchPypi {
     pname = "Adafruit-PlatformDetect";
     inherit version;
-    sha256 = "sha256-XnB6aSTKRV72WjcXx9jPZ+FGmCNh6dvwiau7WDlyE5M=";
+    sha256 = "sha256-fOBs0aPekIvpwbrYxzh1wz7EKGko0Je1f/N5H0DIguw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/adblock/default.nix b/pkgs/development/python-modules/adblock/default.nix
index 941beb5447313..3655c7456e586 100644
--- a/pkgs/development/python-modules/adblock/default.nix
+++ b/pkgs/development/python-modules/adblock/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "adblock";
-  version = "0.5.1";
+  version = "0.5.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -25,14 +25,14 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "ArniDagur";
     repo = "python-adblock";
-    rev = version;
-    sha256 = "sha256-f6PmEHVahQv8t+WOkE8DO2emivHG2t14hUSIf/l8omY=";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-6FH+AVK7+Yg1a6oKbFV80TuGGE4Y7I3mMVzwVHdHYO4=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-x0mcykHWhheD2ycELcfR1ZQ/6WfFQzY+L/LmMipP4Rc=";
+    hash = "sha256-JI/C+Woi/dJWUGUum8daecjFWiQgxY6BFYZ5MpTcRvU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/add-trailing-comma/default.nix b/pkgs/development/python-modules/add-trailing-comma/default.nix
new file mode 100644
index 0000000000000..c38a4f0614358
--- /dev/null
+++ b/pkgs/development/python-modules/add-trailing-comma/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, tokenize-rt
+}:
+
+buildPythonPackage rec {
+  pname = "add-trailing-comma";
+  version = "2.2.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "asottile";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "RBOL4mM9VciHHNmCTlRBIoXqeln19MKYxgv9p6GCNvU=";
+  };
+
+  propagatedBuildInputs = [
+    tokenize-rt
+  ];
+
+  pythonImportsCheck = [
+    "add_trailing_comma"
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "A tool (and pre-commit hook) to automatically add trailing commas to calls and literals";
+    homepage = "https://github.com/asottile/add-trailing-comma";
+    license = licenses.mit;
+    maintainers = with maintainers; [ gador ];
+  };
+}
diff --git a/pkgs/development/python-modules/affine/default.nix b/pkgs/development/python-modules/affine/default.nix
index 89062cde4d977..4b7696223a737 100644
--- a/pkgs/development/python-modules/affine/default.nix
+++ b/pkgs/development/python-modules/affine/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "affine";
-  version = "2.3.0";
+  version = "2.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00jil4q3b17qml6azim7s7zar6qb1vhsf0g888y637m23bpms11f";
+    sha256 = "sha256-1nbeZhV61q+Z/9lOD1Tonfw1sPtyUurS7QrS3KQxvdA=";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/afsapi/default.nix b/pkgs/development/python-modules/afsapi/default.nix
index 4bc3532f5b572..864d0caba3959 100644
--- a/pkgs/development/python-modules/afsapi/default.nix
+++ b/pkgs/development/python-modules/afsapi/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "afsapi";
-  version = "0.2.2";
+  version = "0.2.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "wlcrs";
     repo = "python-afsapi";
     rev = version;
-    hash = "sha256-C4rxlkylWGsDsnMPuecrC2ELj1PvP6EelZ/kzTn4Brk=";
+    hash = "sha256-6nmj15jCGBRkT7Ip/VGHX5IrAbhu1LUlvXuvFhvXknY=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/aioairzone/default.nix b/pkgs/development/python-modules/aioairzone/default.nix
index 860362971b23e..b7f415d0cf1f9 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.1.2";
+  version = "0.3.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "Noltari";
     repo = pname;
     rev = version;
-    hash = "sha256-8OpC/w83us85NWpRXXLsWsLNiPG3v+8BHAToADdLaP4=";
+    hash = "sha256-NDw2vqnOOeFpgvU9//1WIA0hI9zY7TkiquU6DJ70b5E=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aioftp/default.nix b/pkgs/development/python-modules/aioftp/default.nix
index fab3a32a6a0ec..83c5e986f099e 100644
--- a/pkgs/development/python-modules/aioftp/default.nix
+++ b/pkgs/development/python-modules/aioftp/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "aioftp";
-  version = "0.20.0";
+  version = "0.20.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-N8qiKsWPaFT/t5p1eSHS0BydoXv4AL6y8gP4z4P9fsE=";
+    sha256 = "sha256-6p3n5tNNQrbwHqGRXYNL4+cf31Blx2e9elxX6/wxj/4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aiogithubapi/default.nix b/pkgs/development/python-modules/aiogithubapi/default.nix
index 82c1145f9e3f4..03dacdef89baa 100644
--- a/pkgs/development/python-modules/aiogithubapi/default.nix
+++ b/pkgs/development/python-modules/aiogithubapi/default.nix
@@ -5,6 +5,7 @@
 , backoff
 , buildPythonPackage
 , fetchFromGitHub
+, poetry-core
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
@@ -12,8 +13,8 @@
 
 buildPythonPackage rec {
   pname = "aiogithubapi";
-  version = "22.2.4";
-  format = "setuptools";
+  version = "22.3.1";
+  format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
@@ -21,9 +22,13 @@ buildPythonPackage rec {
     owner = "ludeeus";
     repo = pname;
     rev = version;
-    sha256 = "sha256-2RYpeyX88+eEilK/wLDJ6Ock1JBgIUPWbm/ZBJSQ2pg=";
+    hash = "sha256-5gKANZtDhIoyfyLdS15JDWTxHBFkaHDUlbVVhRs7MSE=";
   };
 
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     async-timeout
@@ -39,7 +44,7 @@ buildPythonPackage rec {
   postPatch = ''
     # Upstream is releasing with the help of a CI to PyPI, GitHub releases
     # are not in their focus
-    substituteInPlace setup.py \
+    substituteInPlace pyproject.toml \
       --replace 'version="main",' 'version="${version}",'
   '';
 
diff --git a/pkgs/development/python-modules/aioguardian/default.nix b/pkgs/development/python-modules/aioguardian/default.nix
index 439035229a766..baf84ad89f42b 100644
--- a/pkgs/development/python-modules/aioguardian/default.nix
+++ b/pkgs/development/python-modules/aioguardian/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "aioguardian";
-  version = "2021.11.0";
+  version = "2022.03.1";
 
   src = fetchFromGitHub {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "sha256-jQIRACm0d0a5mQqlwxSTgLZfJFvGLWuJTb/MacppmS4=";
+    sha256 = "sha256-UiRTyUAoTcohRkTBF5Jvd/uY2zAbHV5z4HC8Oc0QNTs=";
   };
 
   format = "pyproject";
diff --git a/pkgs/development/python-modules/aiohttp/default.nix b/pkgs/development/python-modules/aiohttp/default.nix
index f6d9b5d97ec72..660e205fb482b 100644
--- a/pkgs/development/python-modules/aiohttp/default.nix
+++ b/pkgs/development/python-modules/aiohttp/default.nix
@@ -75,6 +75,10 @@ buildPythonPackage rec {
     "test_client_session_timeout_zero"
     "test_mark_formdata_as_processed"
     "test_requote_redirect_url_default"
+    # Disable tests that trigger deprecation warnings in pytest
+    "test_async_with_session"
+    "test_session_close_awaitable"
+    "test_close_run_until_complete_not_deprecated"
   ] ++ lib.optionals stdenv.is32bit [
     "test_cookiejar"
   ] ++ lib.optionals stdenv.isDarwin [
diff --git a/pkgs/development/python-modules/aiohue/default.nix b/pkgs/development/python-modules/aiohue/default.nix
index 5862a7e65a6e9..40620cb13f4e6 100644
--- a/pkgs/development/python-modules/aiohue/default.nix
+++ b/pkgs/development/python-modules/aiohue/default.nix
@@ -1,35 +1,46 @@
 { lib
-, buildPythonPackage
-, fetchPypi
 , aiohttp
 , asyncio-throttle
+, awesomeversion
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "aiohue";
-  version = "4.3.0";
+  version = "4.4.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
 
-  src = fetchPypi {
-    inherit pname version;
-    hash = "sha256-PslmDeG/o9WAOc0FhidUNaISrlXa3rba3UEuvPVN/+A=";
+  src = fetchFromGitHub {
+    owner = "home-assistant-libs";
+    repo = pname;
+    rev = version;
+    hash = "sha256-zXjfPd40yYyAuuW4CmaGRvJuORyQJa+6CFQaO6RQPZo=";
   };
 
   propagatedBuildInputs = [
+    awesomeversion
     aiohttp
     asyncio-throttle
   ];
 
+  checkInputs = [
+    pytestCheckHook
+  ];
+
   pythonImportsCheck = [
     "aiohue"
     "aiohue.discovery"
   ];
 
-  # Project has no tests
-  doCheck = false;
+  disabledTestPaths = [
+    # File are prefixed with test_
+    "examples/"
+  ];
 
   meta = with lib; {
     description = "Python package to talk to Philips Hue";
diff --git a/pkgs/development/python-modules/aionotify/default.nix b/pkgs/development/python-modules/aionotify/default.nix
index e653f4cca74eb..13ae51d25227f 100644
--- a/pkgs/development/python-modules/aionotify/default.nix
+++ b/pkgs/development/python-modules/aionotify/default.nix
@@ -18,6 +18,11 @@ buildPythonPackage rec {
 
   disabled = pythonOlder "3.5";
 
+  preCheck = ''
+    substituteInPlace tests/test_usage.py \
+      --replace "asyncio.wait_for(task, timeout, loop=self.loop)" "asyncio.wait_for(task, timeout)"
+  '';
+
   checkInputs = [
     asynctest
   ];
diff --git a/pkgs/development/python-modules/aiosmb/default.nix b/pkgs/development/python-modules/aiosmb/default.nix
index 06ae856296f01..20f38aef3634c 100644
--- a/pkgs/development/python-modules/aiosmb/default.nix
+++ b/pkgs/development/python-modules/aiosmb/default.nix
@@ -2,7 +2,7 @@
 , asysocks
 , buildPythonPackage
 , colorama
-, fetchFromGitHub
+, fetchPypi
 , minikerberos
 , prompt-toolkit
 , pycryptodomex
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "aiosmb";
-  version = "0.2.50";
+  version = "0.3.8";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
-  src = fetchFromGitHub {
-    owner = "skelsec";
-    repo = pname;
-    rev = version;
-    sha256 = "016pylxqmzm1hn1mvx6jhxvgckdqpf993sd1bki07pblmm4ikl6q";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-CvqQEJPwrZHQuEId7GbIC9LpyyN6jaQFmEQTpddHU5g=";
   };
 
   propagatedBuildInputs = [
@@ -40,7 +40,9 @@ buildPythonPackage rec {
   # Project doesn't have tests
   doCheck = false;
 
-  pythonImportsCheck = [ "aiosmb" ];
+  pythonImportsCheck = [
+    "aiosmb"
+  ];
 
   meta = with lib; {
     description = "Python SMB library";
diff --git a/pkgs/development/python-modules/aiowebostv/default.nix b/pkgs/development/python-modules/aiowebostv/default.nix
index db9fbba25b715..17d6d85c3ce28 100644
--- a/pkgs/development/python-modules/aiowebostv/default.nix
+++ b/pkgs/development/python-modules/aiowebostv/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "aiowebostv";
-  version = "0.1.3";
+  version = "0.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-UKDcIo0jhI84WDcSK3fciRqzKjHwbZXkqHjdo7Xt4iE=";
+    hash = "sha256-A7GiAQIuEXmCfo2pDJESCdAEaLumi1ACXnBMdGKwSvE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/alembic/default.nix b/pkgs/development/python-modules/alembic/default.nix
index 18698a0d68f26..a82cd5e258ae4 100644
--- a/pkgs/development/python-modules/alembic/default.nix
+++ b/pkgs/development/python-modules/alembic/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "alembic";
-  version = "1.7.5";
+  version = "1.7.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-fDKGlKLmjwPulx5jw72IWEZHA3OltTLPLJ8WAcQTsVM=";
+    sha256 = "sha256-bAwF6XaKiW2AQ4fiCymYgP4BvFZIQkaw3/6AddbT2Ec=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/amazon-ion/default.nix b/pkgs/development/python-modules/amazon-ion/default.nix
new file mode 100644
index 0000000000000..eb83fcce471b5
--- /dev/null
+++ b/pkgs/development/python-modules/amazon-ion/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, jsonconversion
+, six
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "amazon-ion";
+  version = "0.9.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    pname = "amazon.ion";
+    inherit version;
+    hash = "sha256-Moq1e7LmI0L7DHg6UNYvseEDbqdL23aCwL38wDm3yCA=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "'pytest-runner'," ""
+  '';
+
+  propagatedBuildInputs = [
+    jsonconversion
+    six
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "amazon.ion"
+  ];
+
+  meta = with lib; {
+    description = "Python implementation of Amazon Ion";
+    homepage = "https://github.com/amzn/ion-python";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ terlar ];
+  };
+}
diff --git a/pkgs/development/python-modules/androidtv/default.nix b/pkgs/development/python-modules/androidtv/default.nix
index 80f726bdc1818..2ea8dc5bad5bb 100644
--- a/pkgs/development/python-modules/androidtv/default.nix
+++ b/pkgs/development/python-modules/androidtv/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "androidtv";
-  version = "0.0.65";
+  version = "0.0.66";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "JeffLIrion";
     repo = "python-androidtv";
     rev = "v${version}";
-    hash = "sha256-bhXmPplRT9gzeD/GdD2HxN+Z4vvaiaxBwkqSml9SJUs=";
+    hash = "sha256-gSbckVjM49nVfzpk9sfynJDx15+zQ/KgaI7oxEkXQpo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ansi/default.nix b/pkgs/development/python-modules/ansi/default.nix
index d198fde80bb82..5847e3ad0f9e8 100644
--- a/pkgs/development/python-modules/ansi/default.nix
+++ b/pkgs/development/python-modules/ansi/default.nix
@@ -1,17 +1,29 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "ansi";
-  version = "0.2.0";
+  version = "0.3.6";
+  format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "98e9b27c4bb187867a69480cbc63b843331622fec7e7d090873d806e1b5d8a80";
+  src = fetchFromGitHub {
+    owner = "tehmaze";
+    repo = pname;
+    rev = "${pname}-${version}";
+    hash = "sha256-2gu2Dba3LOjMhbCCZrBqzlOor5KqDYThhe8OP8J3O2M=";
   };
 
-  checkPhase = ''
-    python -c "import ansi.color"
-  '';
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "ansi.colour"
+    "ansi.color"
+  ];
 
   meta = with lib; {
     description = "ANSI cursor movement and graphics";
diff --git a/pkgs/development/python-modules/ansi2html/default.nix b/pkgs/development/python-modules/ansi2html/default.nix
index 50188fe0e4a3a..1f45968974cb7 100644
--- a/pkgs/development/python-modules/ansi2html/default.nix
+++ b/pkgs/development/python-modules/ansi2html/default.nix
@@ -2,13 +2,14 @@
 
 buildPythonPackage rec {
   pname = "ansi2html";
-  version = "1.6.0";
+  version = "1.7.0";
+  format = "pyproject";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0f124ea7efcf3f24f1f9398e527e688c9ae6eab26b0b84e1299ef7f94d92c596";
+    sha256 = "sha256-aTFr6MaKyRxVgtOXwokOacmTzHzaUgYqx+Rfy2YNjtw=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/ansible-compat/default.nix b/pkgs/development/python-modules/ansible-compat/default.nix
new file mode 100644
index 0000000000000..97766cdd3aa0f
--- /dev/null
+++ b/pkgs/development/python-modules/ansible-compat/default.nix
@@ -0,0 +1,66 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, ansible
+, flaky
+, pytest-mock
+, pytestCheckHook
+, pyyaml
+, setuptools-scm
+, subprocess-tee
+}:
+
+buildPythonPackage rec {
+  pname = "ansible-compat";
+  version = "2.0.2";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-xlGZXcMj7xRbq4V/7mVA/ryIH7cbf+r+gWPUnicxY6U=";
+  };
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    pyyaml
+    subprocess-tee
+  ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+    export PATH=$PATH:$out/bin
+  '';
+
+  checkInputs = [
+    ansible
+    flaky
+    pytest-mock
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # require network
+    "test_prepare_environment_with_collections"
+    "test_prerun_reqs_v1"
+    "test_prerun_reqs_v2"
+    "test_require_collection_wrong_version"
+    "test_require_collection"
+    "test_install_collection"
+    "test_install_collection_dest"
+    "test_upgrade_collection"
+    "test_require_collection_no_cache_dir"
+    "test_runtime"
+  ];
+
+  pythonImportsCheck = [ "ansible_compat" ];
+
+  meta = with lib; {
+    description = "A python package containing functions that help interacting with various versions of Ansible";
+    homepage = "https://github.com/ansible/ansible-compat";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/ansible-doctor/default.nix b/pkgs/development/python-modules/ansible-doctor/default.nix
new file mode 100644
index 0000000000000..4792712f41e94
--- /dev/null
+++ b/pkgs/development/python-modules/ansible-doctor/default.nix
@@ -0,0 +1,69 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, lib
+
+# pythonPackages
+, anyconfig
+, appdirs
+, colorama
+, environs
+, jinja2
+, jsonschema
+, nested-lookup
+, pathspec
+, poetry-core
+, python-json-logger
+, ruamel-yaml
+}:
+
+buildPythonPackage rec {
+  pname = "ansible-doctor";
+  version = "1.2.1";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "thegeeklab";
+    repo = "ansible-doctor";
+    rev = "v${version}";
+    sha256 = "sha256-2Jaf7asU4c7kw9v9dUYDL4/M2Y/2qhMM3m0jqYiobUI=";
+  };
+
+  postInstall = ''
+    rm $out/lib/python*/site-packages/LICENSE
+  '';
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'environs = "9.5.0"' 'environs = "*"' \
+      --replace 'jsonschema = "4.4.0"' 'jsonschema = "*"' \
+      --replace '"ruamel.yaml" = "0.17.21"' '"ruamel.yaml" = "*"'
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    jinja2
+    colorama
+    python-json-logger
+    pathspec
+    environs
+    jsonschema
+    appdirs
+    ruamel-yaml
+    anyconfig
+    nested-lookup
+  ];
+
+  # no tests
+  doCheck = false;
+  pythonImportsCheck = [ "ansibledoctor" ];
+
+  meta = with lib; {
+    description = "Annotation based documentation for your Ansible roles";
+    homepage = "https://github.com/thegeeklab/ansible-doctor";
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [ tboerger ];
+  };
+}
diff --git a/pkgs/development/python-modules/ansible-later/default.nix b/pkgs/development/python-modules/ansible-later/default.nix
new file mode 100644
index 0000000000000..43f24bfbf0a46
--- /dev/null
+++ b/pkgs/development/python-modules/ansible-later/default.nix
@@ -0,0 +1,83 @@
+{ lib
+, anyconfig
+, appdirs
+, buildPythonPackage
+, colorama
+, fetchFromGitHub
+, flake8
+, jsonschema
+, nested-lookup
+, pathspec
+, poetry-core
+, pytest-mock
+, python-json-logger
+, pytestCheckHook
+, pythonOlder
+, pyyaml
+, toolz
+, unidiff
+, yamllint
+}:
+
+buildPythonPackage rec {
+  pname = "ansible-later";
+  version = "2.0.9";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "thegeeklab";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-g7/RClQB+6HsDbe/VjjKka97LcwRTKO0OD0RlCG9lWY=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    anyconfig
+    appdirs
+    colorama
+    flake8
+    jsonschema
+    nested-lookup
+    pathspec
+    python-json-logger
+    pyyaml
+    toolz
+    unidiff
+    yamllint
+  ];
+
+  checkInputs = [
+    pytest-mock
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'version = "0.0.0"' 'version = "${version}"' \
+      --replace " --cov=ansiblelater --cov-report=xml:coverage.xml --cov-report=term --cov-append --no-cov-on-fail" "" \
+      --replace 'PyYAML = "6.0"' 'PyYAML = "*"' \
+      --replace 'unidiff = "0.7.3"' 'unidiff = "*"' \
+      --replace 'jsonschema = "4.4.0"' 'jsonschema = "*"'
+  '';
+
+  postInstall = ''
+    rm $out/lib/python*/site-packages/LICENSE
+  '';
+
+  pythonImportsCheck = [
+    "ansiblelater"
+  ];
+
+  meta = with lib; {
+    description = "Best practice scanner for Ansible roles and playbooks";
+    homepage = "https://github.com/thegeeklab/ansible-later";
+    license = licenses.mit;
+    maintainers = with maintainers; [ tboerger ];
+  };
+}
diff --git a/pkgs/development/python-modules/ansible-lint/default.nix b/pkgs/development/python-modules/ansible-lint/default.nix
index 0523b775dab32..503247580fb44 100644
--- a/pkgs/development/python-modules/ansible-lint/default.nix
+++ b/pkgs/development/python-modules/ansible-lint/default.nix
@@ -1,49 +1,58 @@
 { lib
 , buildPythonPackage
-, isPy27
 , fetchPypi
 , setuptools-scm
-, ansible-base
+, ansible-compat
+, ansible-core
 , enrich
 , flaky
 , pyyaml
 , rich
 , ruamel-yaml
-, tenacity
 , wcmatch
 , yamllint
+, pythonOlder
 , pytest-xdist
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "ansible-lint";
-  version = "5.3.2";
-  disabled = isPy27;
+  version = "6.0.2";
   format = "pyproject";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-m6iG20xE5ZNgvI1mjwvq5hk8Ch/LuedhJwAMo6ztfCg=";
+    sha256 = "sha256-tTm8ItE+beDMLiV1jh0osrwBVhpBSuN87aNwi1oqee0=";
   };
 
+  postPatch = ''
+    # it is fine if lint tools are missing
+    substituteInPlace conftest.py \
+      --replace "sys.exit(1)" ""
+  '';
+
   nativeBuildInputs = [
     setuptools-scm
   ];
 
   propagatedBuildInputs = [
-    ansible-base
+    ansible-compat
+    ansible-core
     enrich
-    flaky
     pyyaml
     rich
     ruamel-yaml
-    tenacity
     wcmatch
     yamllint
   ];
 
+  # tests can't be easily run without installing things from ansible-galaxy
+  doCheck = false;
+
   checkInputs = [
+    flaky
     pytest-xdist
     pytestCheckHook
   ];
@@ -55,7 +64,7 @@ buildPythonPackage rec {
   preCheck = ''
     # ansible wants to write to $HOME and crashes if it can't
     export HOME=$(mktemp -d)
-    export PATH=$PATH:${lib.makeBinPath [ ansible-base ]}
+    export PATH=$PATH:${lib.makeBinPath [ ansible-core ]}
 
     # create a working ansible-lint executable
     export PATH=$PATH:$PWD/src/ansiblelint
@@ -82,7 +91,7 @@ buildPythonPackage rec {
     "test_discover_lintables_umlaut"
   ];
 
-  makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ ansible-base ]}" ];
+  makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ ansible-core ]}" ];
 
   meta = with lib; {
     homepage = "https://github.com/ansible-community/ansible-lint";
diff --git a/pkgs/development/python-modules/ansible-runner/default.nix b/pkgs/development/python-modules/ansible-runner/default.nix
index 7cfe51e29c877..0083362c753b5 100644
--- a/pkgs/development/python-modules/ansible-runner/default.nix
+++ b/pkgs/development/python-modules/ansible-runner/default.nix
@@ -18,12 +18,12 @@
 
 buildPythonPackage rec {
   pname = "ansible-runner";
-  version = "2.1.2";
+  version = "2.1.3";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GK/CqmMm67VmvzlhMV6ow+40m0DYUpXCFkP+9NgR/e4=";
+    hash = "sha256-2m5dD+gGDL5LnY7QbDYiGdu4GYu0C49WU29GZY2bnBo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/anybadge/default.nix b/pkgs/development/python-modules/anybadge/default.nix
index bc776e42f07b4..49be7afaac7a2 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.8.0";
+  version = "1.9.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "jongracecox";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xKHIoV/8qsNMcU5fd92Jjh7d7jTeYN5xakMEjR6qPX8=";
+    sha256 = "sha256-9C1oPZcXjrGwvkx20E+xPGje+ATD9HwOCWWn/pg+98Q=";
   };
 
   # setup.py reads its version from the TRAVIS_TAG environment variable
diff --git a/pkgs/development/python-modules/anyconfig/default.nix b/pkgs/development/python-modules/anyconfig/default.nix
new file mode 100644
index 0000000000000..3e0e347bbfa3d
--- /dev/null
+++ b/pkgs/development/python-modules/anyconfig/default.nix
@@ -0,0 +1,48 @@
+{ buildPythonPackage
+, fetchPypi
+, lib
+, pytestCheckHook
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "anyconfig";
+  version = "0.12.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-MJHXZ1dAaG+t6FdVU38qfGzO+oZZxbtWF04C3tdLltU=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov=src -vv" ""
+  '';
+
+  propagatedBuildInputs = [
+    setuptools
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # OSError: /build/anyconfig-0.12.0/tests/res/cli/no_template/10/e/10.* should exists but not
+    "test_runs_for_datasets"
+  ];
+
+  disabledTestPaths = [
+    # NameError: name 'TT' is not defined
+    "tests/schema/test_jsonschema.py"
+  ];
+
+  pythonImportsCheck = [ "anyconfig" ];
+
+  meta = with lib; {
+    description = "Python library provides common APIs to load and dump configuration files in various formats";
+    homepage = "https://github.com/ssato/python-anyconfig";
+    license = licenses.mit;
+    maintainers = with maintainers; [ tboerger ];
+  };
+}
diff --git a/pkgs/development/python-modules/anyio/default.nix b/pkgs/development/python-modules/anyio/default.nix
index 382e64ea0f4fb..a9ae447d45ff5 100644
--- a/pkgs/development/python-modules/anyio/default.nix
+++ b/pkgs/development/python-modules/anyio/default.nix
@@ -2,6 +2,7 @@
 , lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , pythonOlder
 , setuptools-scm
 , idna
@@ -19,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "anyio";
-  version = "3.3.4";
+  version = "3.5.0";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
@@ -27,9 +28,17 @@ buildPythonPackage rec {
     owner = "agronholm";
     repo = pname;
     rev = version;
-    sha256 = "sha256-aMnXZ+4dlybId2QhjE/3STY+Sj/vzI6K7wmqqx+P8yE=";
+    sha256 = "sha256-AZ9M/NBCBlMIUpRJgKbJRL/oReZDUh2Jhwtoxoo0tMs=";
   };
 
+  patches = [
+    (fetchpatch {
+      # Pytest 7.0 compatibility
+      url = "https://github.com/agronholm/anyio/commit/fed7cc4f95e196f68251bcb9253da3b143ea8e7e.patch";
+      sha256 = "sha256-VmZmiQEmWJ4aPz0Wx+GTMZo7jXRDScnRYf2Hu2hiRVw=";
+    })
+  ];
+
   preBuild = ''
     export SETUPTOOLS_SCM_PRETEND_VERSION=${version}
   '';
diff --git a/pkgs/development/python-modules/apache-airflow/default.nix b/pkgs/development/python-modules/apache-airflow/default.nix
index 4ac03a8820fb8..948fae7893b85 100644
--- a/pkgs/development/python-modules/apache-airflow/default.nix
+++ b/pkgs/development/python-modules/apache-airflow/default.nix
@@ -65,13 +65,13 @@
 , mkYarnPackage
 }:
 let
-  version = "2.2.3";
+  version = "2.2.4";
 
   airflow-src = fetchFromGitHub rec {
     owner = "apache";
     repo = "airflow";
     rev = version;
-    sha256 = "02y3az7yj4g4qaamq5s1bcvy3knd6xmvnhbfqs3kbm51irkba1zq";
+    sha256 = "sha256-JCcEgCq1sB8lBaeJy7QQbWU00sGAh5vUmJAptF8M9qo=";
   };
 
   # airflow bundles a web interface, which is built using webpack by an undocumented shell script in airflow's source tree.
diff --git a/pkgs/development/python-modules/apache-beam/default.nix b/pkgs/development/python-modules/apache-beam/default.nix
index 2eeebaaea7f8c..b8d1a94eeff0c 100644
--- a/pkgs/development/python-modules/apache-beam/default.nix
+++ b/pkgs/development/python-modules/apache-beam/default.nix
@@ -43,14 +43,14 @@
 
 buildPythonPackage rec {
   pname = "apache-beam";
-  version = "2.35.0";
+  version = "2.36.0";
   disabled = pythonAtLeast "3.10";
 
   src = fetchFromGitHub {
     owner = "apache";
     repo = "beam";
     rev = "v${version}";
-    sha256 = "0qxkas33d8i6yj133plnadbfm74ak7arn7ldpziyiwdav3hj68sy";
+    sha256 = "sha256-f+ICbKSwNjkhrTCCZwxbmqZlQ1+dQSTRag1IflWsqYg=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/approvaltests/default.nix b/pkgs/development/python-modules/approvaltests/default.nix
index b74533e0d44b9..ece87d1894e09 100644
--- a/pkgs/development/python-modules/approvaltests/default.nix
+++ b/pkgs/development/python-modules/approvaltests/default.nix
@@ -7,7 +7,7 @@
 }:
 
 buildPythonPackage rec {
-  version = "3.6.0";
+  version = "4.0.0";
   pname = "approvaltests";
 
   # no tests included in PyPI tarball
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "approvals";
     repo = "ApprovalTests.Python";
     rev = "v${version}";
-    sha256 = "sha256-pgGuIoYV6JRM9h7hR8IeNduqsGm+UrKq+P/T1LM30NE=";
+    sha256 = "sha256-4dg5xTswqLFRBaZagKrkilCvsAnky9donb03MT/PiWM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/apsw/default.nix b/pkgs/development/python-modules/apsw/default.nix
index 46ae3fc34e565..5adee7244dd39 100644
--- a/pkgs/development/python-modules/apsw/default.nix
+++ b/pkgs/development/python-modules/apsw/default.nix
@@ -29,6 +29,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  # Works around the following error by dropping the call to that function
+  #     def print_version_info(write=write):
+  # >       write("                Python " + sys.executable + " " + str(sys.version_info) + "\n")
+  # E       TypeError: 'module' object is not callable
+  preCheck = ''
+    sed -i '/print_version_info(write)/d' tests.py
+  '';
+
   pytestFlagsArray = [
     "tests.py"
   ];
diff --git a/pkgs/development/python-modules/apycula/default.nix b/pkgs/development/python-modules/apycula/default.nix
index e84e3eb301b5d..d8bb92e0d3bcf 100644
--- a/pkgs/development/python-modules/apycula/default.nix
+++ b/pkgs/development/python-modules/apycula/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "apycula";
-  version = "0.2";
+  version = "0.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit version;
     pname = "Apycula";
-    hash = "sha256-xvr/NDAjCjhpImzNlCOcI4x5dIAefJ1TnUgoBhgdhPA=";
+    hash = "sha256-Ncecrn5fQW0iAgrE3P7GZTx8E1TiFqiDMhZQSPrDvdk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/arrow/default.nix b/pkgs/development/python-modules/arrow/default.nix
index fc66509a194a1..c09610c3be1f7 100644
--- a/pkgs/development/python-modules/arrow/default.nix
+++ b/pkgs/development/python-modules/arrow/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "arrow";
-  version = "1.2.1";
+  version = "1.2.2";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c2dde3c382d9f7e6922ce636bf0b318a7a853df40ecb383b29192e6c5cc82840";
+    sha256 = "sha256-Bcrx/T2aEaETWytvCYh0IRU7lFWOXvTQkLVntHFzrCs=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/arviz/default.nix b/pkgs/development/python-modules/arviz/default.nix
index 22d545f04f503..82fa11897b049 100644
--- a/pkgs/development/python-modules/arviz/default.nix
+++ b/pkgs/development/python-modules/arviz/default.nix
@@ -25,13 +25,13 @@
 
 buildPythonPackage rec {
   pname = "arviz";
-  version = "0.11.4";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "arviz-devs";
     repo = "arviz";
     rev = "v${version}";
-    sha256 = "0vindadyxhxhrhbalys6kzrda2d4qpqbqbsbwfprp8pxkldgk548";
+    sha256 = "sha256-ClARxgfji/CavEy8g5oeYK7pwSZS1yUIZnBiyTbZ/zU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/asdf/default.nix b/pkgs/development/python-modules/asdf/default.nix
index 1a9ba2dd0963c..122020c271f9f 100644
--- a/pkgs/development/python-modules/asdf/default.nix
+++ b/pkgs/development/python-modules/asdf/default.nix
@@ -17,13 +17,13 @@
 
 buildPythonPackage rec {
   pname = "asdf";
-  version = "2.8.3";
+  version = "2.10.1";
   disabled = pythonOlder "3.6";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "de0f70ffb2e0d539461940d6f7529c3548541fa098d8edc37af256af61c09b44";
+    sha256 = "sha256-9+Vp8ps3I5Oe/sgWTrLtcnS91ICwsoPXWDPw9Z0QhAk=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/aspy-refactor-imports/default.nix b/pkgs/development/python-modules/aspy-refactor-imports/default.nix
new file mode 100644
index 0000000000000..9ec0cf55d42db
--- /dev/null
+++ b/pkgs/development/python-modules/aspy-refactor-imports/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aspy-refactor-imports";
+  version = "3.0.1";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "asottile";
+    repo = "aspy.refactor_imports";
+    rev = "v${version}";
+    sha256 = "MlCM3zNTQZJ1RWrTQG0AN28RUepWINKCeLENykbu2nw=";
+  };
+
+  pythonImportsCheck = [
+    "aspy.refactor_imports"
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Utilities for refactoring imports in python-like syntax.";
+    homepage = "https://github.com/asottile/reorder_python_imports";
+    license = licenses.mit;
+    maintainers = with maintainers; [ gador ];
+  };
+}
diff --git a/pkgs/development/python-modules/astropy/default.nix b/pkgs/development/python-modules/astropy/default.nix
index 78f02e2870ce8..6a61dd1009c69 100644
--- a/pkgs/development/python-modules/astropy/default.nix
+++ b/pkgs/development/python-modules/astropy/default.nix
@@ -19,7 +19,7 @@
 
 let
   pname = "astropy";
-  version = "5.0";
+  version = "5.0.1";
 in
 buildPythonPackage {
   inherit pname version;
@@ -29,7 +29,7 @@ buildPythonPackage {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "70203e151e13292586a817b4069ce1aad4643567aff38b1d191c173bc54f3927";
+    sha256 = "sha256-Y4LN5qIFqgsWoNXmHAwBMevU8BdNbHPilk9L7hMqkCc=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/async-lru/default.nix b/pkgs/development/python-modules/async-lru/default.nix
index 9dc412ccde86d..69e6519b32c3d 100644
--- a/pkgs/development/python-modules/async-lru/default.nix
+++ b/pkgs/development/python-modules/async-lru/default.nix
@@ -28,6 +28,10 @@ buildPythonPackage rec {
     pytest-asyncio
   ];
 
+  pytestFlagsArray = [
+    "--asyncio-mode=strict"
+  ];
+
   disabledTests = [
     # https://github.com/aio-libs/async-lru/issues/341
     "test_alru_cache_deco"
diff --git a/pkgs/development/python-modules/asyncmy/default.nix b/pkgs/development/python-modules/asyncmy/default.nix
index 4d4eaaacaad79..8356b62b62e64 100644
--- a/pkgs/development/python-modules/asyncmy/default.nix
+++ b/pkgs/development/python-modules/asyncmy/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "asyncmy";
-  version = "0.2.3";
+  version = "0.2.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "long2ice";
     repo = pname;
     rev = "v${version}";
-    sha256 = "ys9RYaosc4noJsWYsVo9+6W7JaG4r6lsz6UH4o08q4A=";
+    sha256 = "sha256-yLAse8p+2RYHJmDwD5vrHlf29URB+kdupjD1DwTcRAc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/asyncsleepiq/default.nix b/pkgs/development/python-modules/asyncsleepiq/default.nix
index 93b4aca2aa71a..d088563aae292 100644
--- a/pkgs/development/python-modules/asyncsleepiq/default.nix
+++ b/pkgs/development/python-modules/asyncsleepiq/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "asyncsleepiq";
-  version = "1.2.0";
+  version = "1.2.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-bE9eOjOLERnioOunIBN7Hc/Nvs1zDXMSMzqZsVRg6Jo=";
+    sha256 = "sha256-X+bJyzQxWJaS1/KNOE/3zQKSbwUpm9XN35HYf6s+BPs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/asyncssh/default.nix b/pkgs/development/python-modules/asyncssh/default.nix
index 2db70c162d265..3d00805537fe4 100644
--- a/pkgs/development/python-modules/asyncssh/default.nix
+++ b/pkgs/development/python-modules/asyncssh/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "asyncssh";
-  version = "2.9.0";
+  version = "2.10.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-PMM32AZhlGVFW/GH6KkeP1dUI3GBhOI4+a6MQcTzOvE=";
+    sha256 = "sha256-WF5JmDzHlXFB4D7p9IvRU2pepXFdCqHOnM4Ecobmaws=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/asyncstdlib/default.nix b/pkgs/development/python-modules/asyncstdlib/default.nix
index ee261946a1ec3..47cd54405f86d 100644
--- a/pkgs/development/python-modules/asyncstdlib/default.nix
+++ b/pkgs/development/python-modules/asyncstdlib/default.nix
@@ -8,15 +8,16 @@
 
 buildPythonPackage rec {
   pname = "asyncstdlib";
-  version = "3.10.3";
-  disabled = pythonOlder "3.7";
+  version = "3.10.4";
   format = "flit";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "maxfischer2781";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Q547XKsn4/U7XbDhZADF4qPpFxAGPmv9bAXSQZnNUIo=";
+    hash = "sha256-zPWXI5iHMCkSVjyNRcXplTadobYCeMv3Unjt+QVF8D8=";
   };
 
   propagatedBuildInputs = [
@@ -27,7 +28,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "asyncstdlib" ];
+  pythonImportsCheck = [
+    "asyncstdlib"
+  ];
 
   meta = with lib; {
     description = "Python library that extends the Python asyncio standard library";
diff --git a/pkgs/development/python-modules/atomman/default.nix b/pkgs/development/python-modules/atomman/default.nix
index 7f5b08fd4fe3f..7e1738ad33ad4 100644
--- a/pkgs/development/python-modules/atomman/default.nix
+++ b/pkgs/development/python-modules/atomman/default.nix
@@ -1,4 +1,5 @@
 { lib
+, ase
 , buildPythonPackage
 , cython
 , datamodeldict
@@ -7,17 +8,19 @@
 , numericalunits
 , numpy
 , pandas
+, phonopy
 , potentials
+, pymatgen
 , pytest
 , pythonOlder
+, requests
 , scipy
 , toolz
 , xmltodict
-, python
 }:
 
 buildPythonPackage rec {
-  version = "1.4.3";
+  version = "1.4.4";
   pname = "atomman";
   format = "setuptools";
 
@@ -27,7 +30,7 @@ buildPythonPackage rec {
     owner = "usnistgov";
     repo = "atomman";
     rev = "v${version}";
-    sha256 = "sha256-is47O59Pjrh9tPC1Y2+DVVcHbxmcjUOFOVGnNHuURoM=";
+    hash = "sha256-iLAB0KMtrTCyGpx+81QfHDPVDhq8OA6CDL/ipVRpyo0=";
   };
 
   propagatedBuildInputs = [
@@ -38,19 +41,24 @@ buildPythonPackage rec {
     numpy
     pandas
     potentials
+    requests
     scipy
     toolz
     xmltodict
   ];
 
   checkInputs = [
+    ase
+    phonopy
+    pymatgen
     pytest
   ];
 
   checkPhase = ''
     # pytestCheckHook doesn't work
-    py.test tests -k "not test_rootdir and not test_version \
-      and not test_atomic_mass and not imageflags"
+    pytest tests -k "not test_rootdir and not test_version \
+      and not test_atomic_mass and not imageflags" \
+      --ignore tests/plot/test_interpolate.py
   '';
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/auth0-python/default.nix b/pkgs/development/python-modules/auth0-python/default.nix
index 94a0044d3ac47..c6886dc8bed7b 100644
--- a/pkgs/development/python-modules/auth0-python/default.nix
+++ b/pkgs/development/python-modules/auth0-python/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "auth0-python";
-  version = "3.20.0";
+  version = "3.22.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-WIH2lMPehrqkXCh+JbEI5nf99nt61OwLhP/pF6BbsnQ=";
+    sha256 = "sha256-05yJbF6eXz+vJx+plY5gqzRRYL2SjDnF7gSfX6WIS4E=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/authcaptureproxy/default.nix b/pkgs/development/python-modules/authcaptureproxy/default.nix
index 73422a0624c8c..11e1f444cb0bb 100644
--- a/pkgs/development/python-modules/authcaptureproxy/default.nix
+++ b/pkgs/development/python-modules/authcaptureproxy/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "authcaptureproxy";
-  version = "1.1.1";
+  version = "1.1.3";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "alandtse";
     repo = "auth_capture_proxy";
     rev = "v${version}";
-    sha256 = "08zpaclg5f9g1pix0jaq42i2ph12xc8djjrmhxz0yygw5rsilgl4";
+    sha256 = "sha256-RD/8v3IQb50iGkU6zj5QfHXakjHdcCBWWAkXhCIF6qo=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/autobahn/default.nix b/pkgs/development/python-modules/autobahn/default.nix
index a088a0120103a..285630db32e9a 100644
--- a/pkgs/development/python-modules/autobahn/default.nix
+++ b/pkgs/development/python-modules/autobahn/default.nix
@@ -23,14 +23,14 @@
 
 buildPythonPackage rec {
   pname = "autobahn";
-  version = "21.11.1";
+  version = "22.2.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-vW9GMVQZygpb5BCfc3QQIIrV8ZcY9nympKZ0zGbKmxg=";
+    sha256 = "sha256-YOH0xgKqzQUv/j1GrkC2t1+ChrPEaSLCE7UjFi5YwX4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aws-adfs/default.nix b/pkgs/development/python-modules/aws-adfs/default.nix
index 461ce9d90d9d6..673b6631cf2ad 100644
--- a/pkgs/development/python-modules/aws-adfs/default.nix
+++ b/pkgs/development/python-modules/aws-adfs/default.nix
@@ -17,12 +17,12 @@
 
 buildPythonPackage rec {
   pname = "aws-adfs";
-  version = "1.24.5";
+  version = "2.0.1";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6a78bd31477ea9988166215ae86abcbfe1413bee20373ecdf0dd170b7290db55";
+    sha256 = "sha256-+WMv52JIbh51pqLhDnUCzrcbPD5eutzwFcPOhO+nR7s=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/awscrt/default.nix b/pkgs/development/python-modules/awscrt/default.nix
index 77c67e5a2aed4..6197914f435be 100644
--- a/pkgs/development/python-modules/awscrt/default.nix
+++ b/pkgs/development/python-modules/awscrt/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "awscrt";
-  version = "0.13.6";
+  version = "0.13.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-aZ1Mquc4IfrdWjOaHMipjNb6gLGGbdKS8ah5b33eqGo=";
+    hash = "sha256-FCmdYuXh8+nWfeGbJ9IhfwASFsZoxOp7jL+5/TrtG5Q=";
   };
 
   buildInputs = lib.optionals stdenv.isDarwin [
diff --git a/pkgs/development/python-modules/azure-common/default.nix b/pkgs/development/python-modules/azure-common/default.nix
index 2312df1cafaf0..a540ebf0beadd 100644
--- a/pkgs/development/python-modules/azure-common/default.nix
+++ b/pkgs/development/python-modules/azure-common/default.nix
@@ -9,14 +9,14 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.1.27";
+  version = "1.1.28";
   pname = "azure-common";
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "9f3f5d991023acbd93050cf53c4e863c6973ded7e236c69e99c8ff5c7bad41ef";
+    sha256 = "sha256-SsDNMhTja2obakQmhnIqXYzESWA6qDPz8PQL2oNnBKM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-core/default.nix b/pkgs/development/python-modules/azure-core/default.nix
index b7d330e6eff90..fbff37fad374f 100644
--- a/pkgs/development/python-modules/azure-core/default.nix
+++ b/pkgs/development/python-modules/azure-core/default.nix
@@ -15,14 +15,14 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.21.1";
+  version = "1.22.1";
   pname = "azure-core";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "88d2db5cf9a135a7287dc45fdde6b96f9ca62c9567512a3bb3e20e322ce7deb2";
+    sha256 = "sha256-S25AUmijO4cxB3lklc7D8vGx/+k1Ykzg+93/NtONOk0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-identity/default.nix b/pkgs/development/python-modules/azure-identity/default.nix
index ea0696e294a07..44660e56f4268 100644
--- a/pkgs/development/python-modules/azure-identity/default.nix
+++ b/pkgs/development/python-modules/azure-identity/default.nix
@@ -24,6 +24,11 @@ buildPythonPackage rec {
     sha256 = "sha256-Ag/w5HFXhS5KrIo62waEGCcUfyepTL50qQRCXY5i2Tw=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "msal-extensions~=0.3.0" "msal-extensions"
+  '';
+
   propagatedBuildInputs = [
     azure-common
     azure-core
diff --git a/pkgs/development/python-modules/azure-keyvault-administration/default.nix b/pkgs/development/python-modules/azure-keyvault-administration/default.nix
index 788eaf70457db..838572d064ee0 100644
--- a/pkgs/development/python-modules/azure-keyvault-administration/default.nix
+++ b/pkgs/development/python-modules/azure-keyvault-administration/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "azure-keyvault-administration";
-  version = "4.0.0";
+  version = "4.1.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "b05a0372f35921cedb7a231426077745eee9a65881088de6d4d8b73d9709a6cb";
+    sha256 = "sha256-V8tppRExyvSt41nN+j2QoxGSund6RKvE4g5p6AWZ3qI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-keyvault-certificates/default.nix b/pkgs/development/python-modules/azure-keyvault-certificates/default.nix
index f1a6c5359d6bb..4dba9f408b8d9 100644
--- a/pkgs/development/python-modules/azure-keyvault-certificates/default.nix
+++ b/pkgs/development/python-modules/azure-keyvault-certificates/default.nix
@@ -5,16 +5,20 @@
 , azure-core
 , msrest
 , msrestazure
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "azure-keyvault-certificates";
-  version = "4.3.0";
+  version = "4.4.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "4e0a9bae9fd4c222617fbce6b31f97e2e0622774479de3c387239cbfbb828d87";
+    hash = "sha256-DAFU84AbI4Tdf6TtYDZvSwrpERxf/MqHjQU2igBLh88=";
   };
 
   propagatedBuildInputs = [
@@ -24,11 +28,16 @@ buildPythonPackage rec {
     msrestazure
   ];
 
-  pythonNamespaces = [ "azure.keyvault" ];
+  pythonNamespaces = [
+    "azure.keyvault"
+  ];
 
   # has no tests
   doCheck = false;
-  pythonImportsCheck = [ "azure.keyvault.certificates" ];
+
+  pythonImportsCheck = [
+    "azure.keyvault.certificates"
+  ];
 
   meta = with lib; {
     description = "Microsoft Azure Key Vault Certificates Client Library for Python";
diff --git a/pkgs/development/python-modules/azure-keyvault-keys/default.nix b/pkgs/development/python-modules/azure-keyvault-keys/default.nix
index 59fcef4d4bf1b..8ce81bc3d6169 100644
--- a/pkgs/development/python-modules/azure-keyvault-keys/default.nix
+++ b/pkgs/development/python-modules/azure-keyvault-keys/default.nix
@@ -1,4 +1,7 @@
-{ lib, buildPythonPackage, isPy27, fetchPypi
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
 , aiohttp
 , azure-common
 , azure-core
@@ -9,13 +12,15 @@
 
 buildPythonPackage rec {
   pname = "azure-keyvault-keys";
-  version = "4.4.0";
-  disabled = isPy27;
+  version = "4.5.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "7792ad0d5e63ad9eafa68bdce5de91b3ffcc7ca7a6afdc576785e6a2793caed0";
+    hash = "sha256-x1AhiARXZXcky3A+DJXoCrvkqsonlkgdrdr6es/VY3s=";
   };
 
   propagatedBuildInputs = [
@@ -25,11 +30,17 @@ buildPythonPackage rec {
     cryptography
   ];
 
-  pythonNamespaces = [ "azure.keyvault" ];
+  checkInputs = [
+    aiohttp
+    pytestCheckHook
+  ];
+
+  pythonNamespaces = [
+    "azure.keyvault"
+  ];
 
   # requires relative paths to utilities in the mono-repo
   doCheck = false;
-  checkInputs = [ aiohttp pytestCheckHook ];
 
   pythonImportsCheck = [
     "azure"
diff --git a/pkgs/development/python-modules/azure-keyvault-secrets/default.nix b/pkgs/development/python-modules/azure-keyvault-secrets/default.nix
index 78f7f20e469e9..1323fdb94db40 100644
--- a/pkgs/development/python-modules/azure-keyvault-secrets/default.nix
+++ b/pkgs/development/python-modules/azure-keyvault-secrets/default.nix
@@ -1,4 +1,7 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
 , azure-common
 , azure-core
 , msrest
@@ -6,13 +9,15 @@
 
 buildPythonPackage rec {
   pname = "azure-keyvault-secrets";
-  version = "4.3.0";
-  disabled = isPy27;
+  version = "4.4.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "26279ba3a6c727deba1fb61f549496867baddffbf062bd579d6fd2bc04e95276";
+    hash = "sha256-wLcy253oVdnDl2YGfPQ+L2bNuyi4WfA8eH4zkkzKgtc=";
   };
 
   propagatedBuildInputs = [
@@ -21,7 +26,9 @@ buildPythonPackage rec {
     msrest
   ];
 
-  pythonNamespaces = [ "azure.keyvault" ];
+  pythonNamespaces = [
+    "azure.keyvault"
+  ];
 
   # requires checkout from mono-repo
   doCheck = false;
diff --git a/pkgs/development/python-modules/azure-keyvault/default.nix b/pkgs/development/python-modules/azure-keyvault/default.nix
index 8a4799c688b4b..4fedfd4cbf551 100644
--- a/pkgs/development/python-modules/azure-keyvault/default.nix
+++ b/pkgs/development/python-modules/azure-keyvault/default.nix
@@ -1,4 +1,7 @@
-{ lib, buildPythonPackage, isPy27, fetchPypi
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
 , azure-keyvault-certificates
 , azure-keyvault-keys
 , azure-keyvault-secrets
@@ -6,13 +9,15 @@
 
 buildPythonPackage rec {
   pname = "azure-keyvault";
-  version = "4.1.0";
-  disabled = isPy27;
+  version = "4.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "69002a546921a8290eb54d9a3805cfc515c321bc1d4c0bfcfb463620245eca40";
+    hash = "sha256-cxrdEIo+KatP1QGjxHclbChsNNCZazg/tqOUVGKTN2E=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix b/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix
index d71539efc2320..78605fd429c2c 100644
--- a/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-applicationinsights";
-  version = "2.1.0";
+  version = "3.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "68deed8ee884dd0b9631804e8b9c65fcd94e8e01c7218beae96a9fe557d7a0d7";
+    sha256 = "sha256-K46J0WqQt4vwr1CE4yjxKUT/Atds5BLs0k8EjOA4yzA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-cognitiveservices/default.nix b/pkgs/development/python-modules/azure-mgmt-cognitiveservices/default.nix
index 08b810f752d1a..ea12d27e56bc5 100644
--- a/pkgs/development/python-modules/azure-mgmt-cognitiveservices/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-cognitiveservices/default.nix
@@ -3,28 +3,30 @@
 , fetchPypi
 , azure-common
 , azure-mgmt-core
-, azure-mgmt-nspkg
 , msrestazure
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-cognitiveservices";
-  version = "13.0.0";
+  version = "13.1.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "dc6116e8394d45312c7ad5a9098ce0dd2370bd92d43afd33d8b3bfab724fa498";
+    hash = "sha256-FXS834v5uDGiEGcQMIv9iaHxhfcW9uY3VmX7l91Tfj4=";
   };
 
   propagatedBuildInputs = [
     msrestazure
     azure-common
     azure-mgmt-core
-    azure-mgmt-nspkg
   ];
 
-  # has no tests
+  # Module has no tests
   doCheck = false;
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix b/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix
index 57fe4655aeecf..00e24a2d9f181 100644
--- a/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix
@@ -6,17 +6,20 @@
 , azure-common
 , azure-mgmt-core
 , azure-mgmt-nspkg
-, isPy3k
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-containerservice";
-  version = "17.0.0";
+  version = "18.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "sha256-oUbWdZryabCCg/gTujchT7p1nS7IDoU5W9MQ4ekJYH8=";
+    sha256 = "sha256-b4AwcnSp6JOtG8VaBbUN7d/NIhHN2TPnyjzCUVhMOzg=";
   };
 
   propagatedBuildInputs = [
@@ -24,14 +27,14 @@ buildPythonPackage rec {
     msrestazure
     azure-common
     azure-mgmt-core
-  ] ++ lib.optionals (!isPy3k) [
-    azure-mgmt-nspkg
   ];
 
   # has no tests
   doCheck = false;
 
-  pythonImportsCheck = [ "azure.mgmt.containerservice" ];
+  pythonImportsCheck = [
+    "azure.mgmt.containerservice"
+  ];
 
   meta = with lib; {
     description = "This is the Microsoft Azure Container Service Management Client Library";
diff --git a/pkgs/development/python-modules/azure-mgmt-kusto/azure-mgmt-apimanagement/default.nix b/pkgs/development/python-modules/azure-mgmt-kusto/azure-mgmt-apimanagement/default.nix
index 4c7233203bb92..4c61b55b666c9 100644
--- a/pkgs/development/python-modules/azure-mgmt-kusto/azure-mgmt-apimanagement/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-kusto/azure-mgmt-apimanagement/default.nix
@@ -5,13 +5,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "2.1.0";
+  version = "3.0.0";
   pname = "azure-mgmt-apimanagement";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "58296bd45e876df33f93f3a41c866c36476f5f3bd46818e8891308794f041c94";
+    sha256 = "sha256-kmL1TtOH6wg9ja5m0yqN81ZHMZuQK9SYzcN29QoS0VQ=";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix b/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix
index 947bb4a28ba97..9629c6e7bba06 100644
--- a/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix
@@ -4,7 +4,6 @@
 , msrest
 , msrestazure
 , azure-common
-, azure-mgmt-nspkg
 , azure-mgmt-core
 }:
 
@@ -22,7 +21,6 @@ buildPythonPackage rec {
     msrest
     msrestazure
     azure-common
-    azure-mgmt-nspkg
     azure-mgmt-core
   ];
 
diff --git a/pkgs/development/python-modules/azure-mgmt-media/default.nix b/pkgs/development/python-modules/azure-mgmt-media/default.nix
index e0dd1af1ad0fb..eb1bed0b547d0 100644
--- a/pkgs/development/python-modules/azure-mgmt-media/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-media/default.nix
@@ -5,18 +5,20 @@
 , msrestazure
 , azure-common
 , azure-mgmt-core
-, azure-mgmt-nspkg
-, isPy3k
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-media";
-  version = "8.0.0";
+  version = "9.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "c08e687c0afa061a3e05acaf29ce81e737480d592b07e0de5f77e9a7f9f00c00";
+    hash = "sha256-TI7l8sSQ2QUgPqiE3Cu/F67Wna+KHbQS3fuIjOb95ZM=";
   };
 
   propagatedBuildInputs = [
@@ -24,14 +26,14 @@ buildPythonPackage rec {
     msrestazure
     azure-common
     azure-mgmt-core
-  ] ++ lib.optionals (!isPy3k) [
-    azure-mgmt-nspkg
   ];
 
   # has no tests
   doCheck = false;
 
-  pythonImportsCheck = [ "azure.mgmt.media" ];
+  pythonImportsCheck = [
+    "azure.mgmt.media"
+  ];
 
   meta = with lib; {
     description = "This is the Microsoft Azure Media Services Client Library";
diff --git a/pkgs/development/python-modules/azure-mgmt-resource/default.nix b/pkgs/development/python-modules/azure-mgmt-resource/default.nix
index 37a30147aa5fd..761472b631fff 100644
--- a/pkgs/development/python-modules/azure-mgmt-resource/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-resource/default.nix
@@ -8,14 +8,14 @@
 
 
 buildPythonPackage rec {
-  version = "20.1.0";
+  version = "21.0.0";
   pname = "azure-mgmt-resource";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "4fbb2158320e0bdd367882642f266a6dfb3b4b8610792b3afbbca39089f212d7";
+    sha256 = "sha256-y9J/UhxwtA/YO/Y88XsStbwD5ecNwrbnpxtevYuQDQM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-signalr/default.nix b/pkgs/development/python-modules/azure-mgmt-signalr/default.nix
index 7abb6250ac61a..baa318bba4614 100644
--- a/pkgs/development/python-modules/azure-mgmt-signalr/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-signalr/default.nix
@@ -5,17 +5,20 @@
 , msrestazure
 , azure-common
 , azure-mgmt-core
-, azure-mgmt-nspkg
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-signalr";
-  version = "1.0.0";
+  version = "1.1.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "43fe90b5c5eb5aa00afcaf2895f1d4417f89ddb7f76bd61204e1253a6767ef7c";
+    hash = "sha256-lUNIDyP5W+8aIX7manfMqaO2IJJm/+2O+Buv+Bh4EZE=";
   };
 
   propagatedBuildInputs = [
@@ -23,7 +26,6 @@ buildPythonPackage rec {
     msrestazure
     azure-common
     azure-mgmt-core
-    azure-mgmt-nspkg
   ];
 
   # has no tests
diff --git a/pkgs/development/python-modules/azure-mgmt-trafficmanager/default.nix b/pkgs/development/python-modules/azure-mgmt-trafficmanager/default.nix
index dd7ed3b19b213..68d14c49ef6a8 100644
--- a/pkgs/development/python-modules/azure-mgmt-trafficmanager/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-trafficmanager/default.nix
@@ -4,24 +4,26 @@
 , msrest
 , msrestazure
 , azure-common
+, azure-mgmt-core
 , azure-mgmt-nspkg
 , isPy3k
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-trafficmanager";
-  version = "0.51.0";
+  version = "1.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "fc8ae77022cfe52fda4379a2f31e0b857574d536e41291a7b569b5c0f4104186";
+    sha256 = "sha256-R0F2HoA0bE7dTLPycTaOqYBj+ATQFeJFwv4EjtK1lqg=";
   };
 
   propagatedBuildInputs = [
     msrest
     msrestazure
     azure-common
+    azure-mgmt-core
   ] ++ lib.optionals (!isPy3k) [
     azure-mgmt-nspkg
   ];
diff --git a/pkgs/development/python-modules/azure-servicebus/default.nix b/pkgs/development/python-modules/azure-servicebus/default.nix
index b4e37c33fef9f..a0864529177fc 100644
--- a/pkgs/development/python-modules/azure-servicebus/default.nix
+++ b/pkgs/development/python-modules/azure-servicebus/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "azure-servicebus";
-  version = "7.5.0";
+  version = "7.6.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "e97a069c6a73fce3042a5ef0d438cc564152cfbcc2e7db6f7a19fbd51bb3555b";
+    sha256 = "sha256-uZGxQ1Vl6wpBCMW1+80/CBuqelLV02yXf1sNlNtCpHU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-storage-blob/default.nix b/pkgs/development/python-modules/azure-storage-blob/default.nix
index 669ab37e4db95..a64ba934887ce 100644
--- a/pkgs/development/python-modules/azure-storage-blob/default.nix
+++ b/pkgs/development/python-modules/azure-storage-blob/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-storage-blob";
-  version = "12.10.0";
+  version = "12.11.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "sha256-PH3CyT5/8qcxrNZqNqHwpiZgcrQVTeukiU2riRKF6jo=";
+    sha256 = "sha256-SVNbMZC7adDZ/3o4MkaxTaTSsb3/YMrl+Rc5IMZ8p+4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/backports-zoneinfo/default.nix b/pkgs/development/python-modules/backports-zoneinfo/default.nix
index 0b4703e265161..d2b6d06c4cdbb 100644
--- a/pkgs/development/python-modules/backports-zoneinfo/default.nix
+++ b/pkgs/development/python-modules/backports-zoneinfo/default.nix
@@ -1,4 +1,5 @@
 { lib, buildPythonPackage, fetchFromGitHub
+, pythonAtLeast
 , pythonOlder
 , python
 , substituteAll
@@ -12,6 +13,8 @@ buildPythonPackage rec {
   pname = "backports-zoneinfo";
   version = "0.2.1";
 
+  disabled = pythonAtLeast "3.9";
+
   src = fetchFromGitHub {
     owner = "pganssle";
     repo = "zoneinfo";
diff --git a/pkgs/development/python-modules/backports_functools_lru_cache/default.nix b/pkgs/development/python-modules/backports_functools_lru_cache/default.nix
index 21920c32b4d22..680d23782f566 100644
--- a/pkgs/development/python-modules/backports_functools_lru_cache/default.nix
+++ b/pkgs/development/python-modules/backports_functools_lru_cache/default.nix
@@ -3,10 +3,7 @@
 , fetchPypi
 , setuptools-scm
 , isPy3k
-, pytest
-, pytest-black
-, pytest-flake8
-, pytest-cov
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -20,12 +17,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ setuptools-scm ];
 
-  checkInputs = [ pytest pytest-flake8 pytest-black pytest-cov ];
-  # ironically, they fail a linting test, and pytest.ini forces that test suite
-  checkPhase = ''
-    rm backports/functools_lru_cache.py
-    pytest -k 'not format'
-  '';
+  checkInputs = [ pytestCheckHook ];
 
   # Test fail on Python 2
   doCheck = isPy3k;
diff --git a/pkgs/development/python-modules/basemap/default.nix b/pkgs/development/python-modules/basemap/default.nix
index 30ca58fed319e..6d8dd8a3943b0 100644
--- a/pkgs/development/python-modules/basemap/default.nix
+++ b/pkgs/development/python-modules/basemap/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "basemap";
-  version = "1.3.0";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
     owner = "matplotlib";
     repo = "basemap";
     rev = "v${version}";
-    sha256 = "0nwpd6zx2q2fc556ppz71ra6ad9z0d5bz8hcld64i91dcy0f0zs3";
+    sha256 = "sha256-onNdOQL4i6GTcuCRel5yanJ2EQ5iYClp+imuBObXF2I=";
   };
 
   propagatedBuildInputs = [ numpy matplotlib pillow pyproj pyshp six ];
diff --git a/pkgs/development/python-modules/bc-python-hcl2/default.nix b/pkgs/development/python-modules/bc-python-hcl2/default.nix
index 78529e288ca26..7b34a3d382a8a 100644
--- a/pkgs/development/python-modules/bc-python-hcl2/default.nix
+++ b/pkgs/development/python-modules/bc-python-hcl2/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "bc-python-hcl2";
-  version = "0.3.33";
+  version = "0.3.37";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-tdsw9gf64VGH9tRWgYZZq3FNa5B5JNhN3k6wUHrU5zY=";
+    hash = "sha256-+Wr/JF9es2LQhQ5rc0iyGZa0Di5CsFo9k36WI7jrOqs=";
   };
 
   # Nose is required during build process, so can not use `checkInputs`.
diff --git a/pkgs/development/python-modules/behave/default.nix b/pkgs/development/python-modules/behave/default.nix
index 1198f034d00ab..2384a51e50233 100644
--- a/pkgs/development/python-modules/behave/default.nix
+++ b/pkgs/development/python-modules/behave/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonApplication rec {
   pname = "behave";
-  version = "1.2.7.dev1";
+  version = "1.2.7.dev2";
 
   src = fetchFromGitHub {
     owner = "behave";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ssgixmqlg8sxsyalr83a1970njc2wg3zl8idsmxnsljwacv7qwv";
+    hash = "sha256-B8PUN1Q4UAsDWrHjPZDlpaPjCKjI/pAogCSI+BQnaWs=";
   };
 
   checkInputs = [ pytestCheckHook mock pathpy pyhamcrest pytest-html ];
diff --git a/pkgs/development/python-modules/bidict/default.nix b/pkgs/development/python-modules/bidict/default.nix
index 4b5ebc912b24b..f59e6418fe91b 100644
--- a/pkgs/development/python-modules/bidict/default.nix
+++ b/pkgs/development/python-modules/bidict/default.nix
@@ -13,13 +13,13 @@
 
 buildPythonPackage rec {
   pname = "bidict";
-  version = "0.21.4";
+  version = "0.22.0";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-QshP++b43omK9gc7S+nqfM7c1400dKqETFTknVoHn28=";
+    sha256 = "sha256-XIJrPhXpfMbmFd4pV1aEfCgqebecVDDTv8kJsayfW9g=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/bids-validator/default.nix b/pkgs/development/python-modules/bids-validator/default.nix
index 4a0bd988c1efd..05dd93ffa032f 100644
--- a/pkgs/development/python-modules/bids-validator/default.nix
+++ b/pkgs/development/python-modules/bids-validator/default.nix
@@ -4,12 +4,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.9.2";
+  version = "1.9.3";
   pname = "bids-validator";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-JxPOHeK8glWwAhYwlCVJtfWeMtU6KHgvNg5b2DgGxGc=";
+    sha256 = "sha256-ATJi4eCWV0i3Z8AsgV/DtiCn8Qzi2cMDtId5jXCoDL0=";
   };
 
   # needs packages which are not available in nixpkgs
diff --git a/pkgs/development/python-modules/bip_utils/default.nix b/pkgs/development/python-modules/bip_utils/default.nix
index a4430b655ce17..932d887754ec4 100644
--- a/pkgs/development/python-modules/bip_utils/default.nix
+++ b/pkgs/development/python-modules/bip_utils/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "bip_utils";
-  version = "2.1.0";
+  version = "2.2.1";
 
   disabled = pythonOlder "3.6";
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "ebellocchia";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1n677z6rvcny1vyfzwnvcmzbqp9m4kfpdjfvkf1q6310zr2ybp7m";
+    sha256 = "sha256-p2JOZAJxQ/nPZ7vjnB24hA3kz3Io4D3HTP/8mqS/XCc=";
   };
 
   propagatedBuildInputs = [ ecdsa pysha3 ];
diff --git a/pkgs/development/python-modules/bitbox02/default.nix b/pkgs/development/python-modules/bitbox02/default.nix
index d57d4a6585bd4..358a4d163f3e2 100644
--- a/pkgs/development/python-modules/bitbox02/default.nix
+++ b/pkgs/development/python-modules/bitbox02/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "bitbox02";
-  version = "5.3.0";
+  version = "6.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fe0e8aeb9b32fd7d76bb3e9838895973a74dfd532a8fb8ac174a1a60214aee26";
+    sha256 = "sha256-wTateh3dJycFNozLaQbAzXF0avr2ofBdjlqqcOBLr/0=";
   };
 
   propagatedBuildInputs = [ base58 ecdsa hidapi noiseprotocol protobuf semver typing-extensions ];
diff --git a/pkgs/development/python-modules/bitcoin-price-api/default.nix b/pkgs/development/python-modules/bitcoin-price-api/default.nix
deleted file mode 100644
index c9d317a81c3c3..0000000000000
--- a/pkgs/development/python-modules/bitcoin-price-api/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi
-, python-dateutil, requests }:
-
-buildPythonPackage rec {
-  pname = "bitcoin-price-api";
-  version = "0.0.4";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "bc68076f9632aaa9a8009d916d67a709c1e045dd904cfc7a3e8be33960d32029";
-  };
-
-  propagatedBuildInputs = [ python-dateutil requests ];
-
-  # No tests in archive
-  doCheck = false;
-
-  meta = {
-    homepage = "https://github.com/dursk/bitcoin-price-api";
-    description = "Price APIs for bitcoin exchanges";
-    license = with lib.licenses; [ mit ];
-    maintainers = with lib.maintainers; [ bhipple ];
-  };
-}
diff --git a/pkgs/development/python-modules/bitcoinlib/default.nix b/pkgs/development/python-modules/bitcoinlib/default.nix
index 71b032a34e49a..f3eb86c7bbb11 100644
--- a/pkgs/development/python-modules/bitcoinlib/default.nix
+++ b/pkgs/development/python-modules/bitcoinlib/default.nix
@@ -17,7 +17,7 @@ in buildPythonPackage rec {
   postPatch = ''
     substituteInPlace bitcoin/core/key.py --replace \
       "ctypes.util.find_library('ssl') or 'libeay32'" \
-      "'${openssl.out}/lib/libssl.${ext}'"
+      "'${lib.getLib openssl}/lib/libssl.${ext}'"
   '';
 
   meta = {
diff --git a/pkgs/development/python-modules/bjoern/default.nix b/pkgs/development/python-modules/bjoern/default.nix
index ef599d89be2bc..e8b11a6311a4e 100644
--- a/pkgs/development/python-modules/bjoern/default.nix
+++ b/pkgs/development/python-modules/bjoern/default.nix
@@ -1,12 +1,17 @@
-{ lib, buildPythonPackage, fetchPypi, libev, python }:
+{ lib, buildPythonPackage, fetchFromGitHub, libev, python }:
 
 buildPythonPackage rec {
   pname = "bjoern";
-  version = "3.1.0";
+  version = "3.2.1";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "01f3b601cf0ab0a9c7cb9c8f944ab7c738baaa6043ca82db20e9bd7a9be5767b";
+  # tests are not published to pypi anymore
+  src = fetchFromGitHub {
+    owner = "jonashaag";
+    repo = pname;
+    rev = version;
+    hash = "sha256-d7u/lEh2Zr5NYWYu4Zr7kgyeOIQuHQLYrZeiZMHbpio=";
+    fetchSubmodules = true; # fetch http-parser and statsd-c-client submodules
   };
 
   buildInputs = [ libev ];
diff --git a/pkgs/development/python-modules/blessed/default.nix b/pkgs/development/python-modules/blessed/default.nix
index c2b03d35a21c3..592c36692d0fd 100644
--- a/pkgs/development/python-modules/blessed/default.nix
+++ b/pkgs/development/python-modules/blessed/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "blessed";
-  version = "1.19.0";
+  version = "1.19.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4db0f94e5761aea330b528e84a250027ffe996b5a94bf03e502600c9a5ad7a61";
+    sha256 = "sha256-mg0JlpW/Yh1GgN1sc/atVH9qNEL72+gMSx2qHtvEkvw=";
   };
 
   checkInputs = [ pytest mock glibcLocales ];
diff --git a/pkgs/development/python-modules/blis/default.nix b/pkgs/development/python-modules/blis/default.nix
index e8e9962f9b4fd..be41b2acb87c1 100644
--- a/pkgs/development/python-modules/blis/default.nix
+++ b/pkgs/development/python-modules/blis/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "blis";
-  version = "0.7.6";
+  version = "0.7.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-/pexD2ihx7VMDlS+rahOGPTvto3UDJBvuHSPURR0PsY=";
+    sha256 = "sha256-XUqB+UONt6GayOZK1BMx9lplnqjzuxiJqcIIjP2f4QQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/boto3/default.nix b/pkgs/development/python-modules/boto3/default.nix
index c6fdc8c9981c5..d1a104f6ae9b2 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.20.35"; # N.B: if you change this, change botocore and awscli to a matching version
+  version = "1.21.12"; # N.B: if you change this, change botocore and awscli to a matching version
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "42dd9fcb9e033ab19c9dfaeaba745ef9d2db6efe4e9f1e1f547b3e3e0b1f4a82";
+    sha256 = "sha256-yS7CCmcHIbWhvAE7MFqE2yt/nHFmU7MFbOfi+9KhgO8=";
   };
 
   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 6d5c11665c2cb..0c69de1c0e084 100644
--- a/pkgs/development/python-modules/botocore/default.nix
+++ b/pkgs/development/python-modules/botocore/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "botocore";
-  version = "1.23.35"; # N.B: if you change this, change boto3 and awscli to a matching version
+  version = "1.24.12"; # N.B: if you change this, change boto3 and awscli to a matching version
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5be6ba6c5ea71c256da8a5023bf9c278847c4b90fdb40f2c4c3bdb21ca11ff28";
+    sha256 = "sha256-AXSZmgSwouQkVxBgk6zps2+pR3KkQtm89gdQJj0dBz4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/bottleneck/default.nix b/pkgs/development/python-modules/bottleneck/default.nix
index f7e7dc7c390c1..7b8334ee36c1a 100644
--- a/pkgs/development/python-modules/bottleneck/default.nix
+++ b/pkgs/development/python-modules/bottleneck/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "Bottleneck";
-  version = "1.3.2";
+  version = "1.3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "20179f0b66359792ea283b69aa16366419132f3b6cf3adadc0c48e2e8118e573";
+    sha256 = "sha256-F2Sn9K1YxVhyPFQoR+s2erC7ttiApOXV7vMKDs5c7Oo=";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/pkgs/development/python-modules/boxx/default.nix b/pkgs/development/python-modules/boxx/default.nix
index a3f0db80fafe8..dd521523179f7 100644
--- a/pkgs/development/python-modules/boxx/default.nix
+++ b/pkgs/development/python-modules/boxx/default.nix
@@ -18,11 +18,11 @@
 
 buildPythonPackage rec {
   pname = "boxx";
-  version = "0.9.9";
+  version = "0.9.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Mc6R6ruUVhFs2D0CTJsAiM9aGOusS973hRS5r2kQsy4=";
+    sha256 = "sha256-Iw6jRhKAroqfWmbXhD7YTn4s8FrE/Iyd31EOP0tMdkQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/bsblan/default.nix b/pkgs/development/python-modules/bsblan/default.nix
index 6db9523477522..ed13a3a3a7ba7 100644
--- a/pkgs/development/python-modules/bsblan/default.nix
+++ b/pkgs/development/python-modules/bsblan/default.nix
@@ -5,6 +5,8 @@
 , aresponses
 , coverage
 , mypy
+, poetry-core
+, pydantic
 , pytest-asyncio
 , pytest-cov
 , pytest-mock
@@ -17,22 +19,27 @@
 
 buildPythonPackage rec {
   pname = "bsblan";
-  version = "0.5.0";
-  format = "setuptools";
+  version = "0.5.5";
+  format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "liudger";
     repo = "python-bsblan";
-    rev = "v.${version}";
-    sha256 = "1j41y2njnalcsp1vjqwl508yp3ki82lv8108ijz52hprhrq4fffb";
+    rev = "v${version}";
+    sha256 = "sha256-kq4cML7D9XC/QRPjGfaWcs0H78OOc2IXGua7qJpWYOQ=";
   };
 
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     attrs
     cattrs
+    pydantic
     yarl
   ];
 
diff --git a/pkgs/development/python-modules/buildbot/default.nix b/pkgs/development/python-modules/buildbot/default.nix
index 2836ee24c34a4..5190c1fa74f42 100644
--- a/pkgs/development/python-modules/buildbot/default.nix
+++ b/pkgs/development/python-modules/buildbot/default.nix
@@ -92,6 +92,9 @@ let
     preCheck = ''
       export LC_ALL="en_US.UTF-8"
       export PATH="$out/bin:$PATH"
+
+      # remove testfile which is missing configuration file from sdist
+      rm buildbot/test/integration/test_graphql.py
     '';
 
     disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/can/default.nix b/pkgs/development/python-modules/can/default.nix
index a68d73e1242c5..18077ce78cc8e 100644
--- a/pkgs/development/python-modules/can/default.nix
+++ b/pkgs/development/python-modules/can/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "python-can";
-  version = "unstable-2022-01-11";
+  version = "4.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -23,8 +23,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "hardbyte";
     repo = pname;
-    rev = "2e24af08326ecd69fba9f02fed7b9c26f233c92b";
-    hash = "sha256-ZP5qtbjDtBZ2uT9DOSvSnfHyTlirr0oCEXhiLO1ydz0=";
+    rev = version;
+    hash = "sha256-/z7zBfVbO7x4UtzWOXolH2YrtYWgsvRLObWwz8sqOEc=";
   };
 
   propagatedBuildInputs = [
@@ -56,6 +56,9 @@ buildPythonPackage rec {
     # Tests require access socket
     "BasicTestUdpMulticastBusIPv4"
     "BasicTestUdpMulticastBusIPv6"
+    # pytest.approx is not supported in a boolean context (since pytest7)
+    "test_pack_unpack"
+    "test_receive"
   ];
 
   preCheck = ''
diff --git a/pkgs/development/python-modules/capstone/default.nix b/pkgs/development/python-modules/capstone/default.nix
index c99c392841eb2..f1a37fb70a0f1 100644
--- a/pkgs/development/python-modules/capstone/default.nix
+++ b/pkgs/development/python-modules/capstone/default.nix
@@ -18,6 +18,10 @@ buildPythonPackage rec {
     substituteInPlace setup.py --replace manylinux1 manylinux2014
   '';
 
+  # aarch64 only available from MacOS SDK 11 onwards, so fix the version tag.
+  # otherwise, bdist_wheel may detect "macosx_10_6_arm64" which doesn't make sense.
+  setupPyBuildFlags = lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ "--plat-name" "macosx_11_0" ];
+
   propagatedBuildInputs = [ setuptools ];
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/cattrs/default.nix b/pkgs/development/python-modules/cattrs/default.nix
index e3d694d28e3b3..94a357df98bee 100644
--- a/pkgs/development/python-modules/cattrs/default.nix
+++ b/pkgs/development/python-modules/cattrs/default.nix
@@ -7,6 +7,7 @@
 , motor
 , msgpack
 , poetry-core
+, pytest-xdist
 , pytestCheckHook
 , pythonOlder
 , pyyaml
@@ -44,12 +45,17 @@ buildPythonPackage rec {
     immutables
     motor
     msgpack
+    pytest-xdist
     pytestCheckHook
     pyyaml
     tomlkit
     ujson
   ];
 
+  pytestFlagsArray = [
+    "--numprocesses $NIX_BUILD_CORES"
+  ];
+
   postPatch = ''
     substituteInPlace pyproject.toml \
       --replace "-l --benchmark-sort=fullname --benchmark-warmup=true --benchmark-warmup-iterations=5  --benchmark-group-by=fullname" "" \
@@ -75,6 +81,8 @@ buildPythonPackage rec {
   disabledTests = [
     # orjson is not available as it requires Rust nightly features to compile its requirements
     "test_orjson"
+    # tomlkit is pinned to an older version and newer versions raise InvalidControlChar exception
+    "test_tomlkit"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/cbor2/default.nix b/pkgs/development/python-modules/cbor2/default.nix
index cf4813a9d9085..5039872b336f2 100644
--- a/pkgs/development/python-modules/cbor2/default.nix
+++ b/pkgs/development/python-modules/cbor2/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "cbor2";
-  version = "5.4.2";
+  version = "5.4.2.post1";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-4oPnC1WgSf82TMXmSP3lh+TZsOh+SyZkxp5jkTXms7g=";
+    sha256 = "sha256-nPIdWWBLlSnXh3yOA0Ki66rhoH/o/1aD3HX+wVhHx5c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/cdcs/default.nix b/pkgs/development/python-modules/cdcs/default.nix
index ec11019cc9a71..748d0ff623fde 100644
--- a/pkgs/development/python-modules/cdcs/default.nix
+++ b/pkgs/development/python-modules/cdcs/default.nix
@@ -9,7 +9,7 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.1.6";
+  version = "0.1.8";
   pname = "cdcs";
   format = "setuptools";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "usnistgov";
     repo = "pycdcs";
     rev = "v${version}";
-    sha256 = "sha256-w9CBNOK9oXTIUa+SsnepRN0wAz7WPZGfUNDSbtVn1L8=";
+    sha256 = "sha256-s+COE7hus1J5I8PTdagl7KEK5QFoidjQ3ee46kOWmkE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/certbot/default.nix b/pkgs/development/python-modules/certbot/default.nix
index e65e6f0d808ed..72a5d8db39d75 100644
--- a/pkgs/development/python-modules/certbot/default.nix
+++ b/pkgs/development/python-modules/certbot/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "certbot";
-  version = "1.22.0";
+  version = "1.24.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1wrk5rhds6a69vbs1bda0zhwpvjhd8i20did6j3kydbas3zbr516";
+    sha256 = "sha256-XIKFEPQKIV5s6sZ7LRnlTvsb3cF4KIaiVZ36cAN1AwA=";
   };
 
   sourceRoot = "source/${pname}";
diff --git a/pkgs/development/python-modules/chalice/default.nix b/pkgs/development/python-modules/chalice/default.nix
index 762846ab34c2d..93499d0f56384 100644
--- a/pkgs/development/python-modules/chalice/default.nix
+++ b/pkgs/development/python-modules/chalice/default.nix
@@ -24,13 +24,13 @@
 
 buildPythonPackage rec {
   pname = "chalice";
-  version = "1.26.4";
+  version = "1.26.6";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Xn8OqeEihLxZS9QZtrhzau2zLg9SzQrrigK70PoImhU=";
+    sha256 = "sha256-6Y5pJg6N/F97zvkyo4r6MoThi79kI53AvlHNOmOCpFA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/chiavdf/default.nix b/pkgs/development/python-modules/chiavdf/default.nix
index 1525c5ac90587..a4bd20f9cd6a8 100644
--- a/pkgs/development/python-modules/chiavdf/default.nix
+++ b/pkgs/development/python-modules/chiavdf/default.nix
@@ -14,12 +14,12 @@
 
 buildPythonPackage rec {
   pname = "chiavdf";
-  version = "1.0.5";
+  version = "1.0.6";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-2pC6sFRwgAwIEanZXe99848XMxK/lyLGxiA+UA+q3H0=";
+    hash = "sha256-Ri7j/T0nnZFml4kC0qIQkyYRJBPZMhTYxolW/A25030=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/ciscoconfparse/default.nix b/pkgs/development/python-modules/ciscoconfparse/default.nix
index e6db689a45c5f..49b36a5c6582c 100644
--- a/pkgs/development/python-modules/ciscoconfparse/default.nix
+++ b/pkgs/development/python-modules/ciscoconfparse/default.nix
@@ -33,6 +33,7 @@ buildPythonPackage rec {
     passlib
     dnspython
     loguru
+    toml
   ];
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/click/default.nix b/pkgs/development/python-modules/click/default.nix
index c78f828411100..5156ad1048fb3 100644
--- a/pkgs/development/python-modules/click/default.nix
+++ b/pkgs/development/python-modules/click/default.nix
@@ -5,15 +5,23 @@
 , importlib-metadata
 , locale
 , pytestCheckHook
+
+# large-rebuild downstream dependencies
+, flask
+, black
+
+# applications
+, magic-wormhole
+, mitmproxy
 }:
 
 buildPythonPackage rec {
   pname = "click";
-  version = "8.0.3";
+  version = "8.0.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-QQ6TKwUPXu13PEzalN51lxyJzbMVWnKggxE5p55ey1s=";
+    sha256 = "sha256-hFjXsSh8X7EoyQ4jOBz5nc3nS+r2x/9jhM6E1v4JCts=";
   };
 
   postPatch = ''
@@ -29,6 +37,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  passthru.tests = {
+    inherit black flask magic-wormhole mitmproxy;
+  };
+
   meta = with lib; {
     homepage = "https://click.palletsprojects.com/";
     description = "Create beautiful command line interfaces in Python";
diff --git a/pkgs/development/python-modules/clldutils/default.nix b/pkgs/development/python-modules/clldutils/default.nix
index 563ad08381c4e..697296d9a200b 100644
--- a/pkgs/development/python-modules/clldutils/default.nix
+++ b/pkgs/development/python-modules/clldutils/default.nix
@@ -44,9 +44,15 @@ buildPythonPackage rec {
     pytest-mock
   ];
 
+  disabledTests = [
+    # uses pytest.approx which is not supported in a boolean context in pytest7
+    "test_to_dec"
+    "test_roundtrip"
+  ];
+
   meta = with lib; {
-    description = "CSV on the Web";
-    homepage = "https://github.com/cldf/csvw";
+    description = "Utilities for clld apps without the overhead of requiring pyramid, rdflib et al";
+    homepage = "https://github.com/clld/clldutils";
     license = licenses.asl20;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/development/python-modules/cloudflare/default.nix b/pkgs/development/python-modules/cloudflare/default.nix
index 39e3fe9d84cb8..4c4a6bccfcd93 100644
--- a/pkgs/development/python-modules/cloudflare/default.nix
+++ b/pkgs/development/python-modules/cloudflare/default.nix
@@ -7,15 +7,19 @@
 , future
 , pyyaml
 , jsonlines
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "cloudflare";
-  version = "2.8.15";
+  version = "2.9.9";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1f47bd324f80e91487dea2c79be934b1dc612bcfa63e784dcf74c6a2f52a41cc";
+    hash = "sha256-wou62Xro/hOU3pjGdJpe2kzY15+bcd14UOn4vsw9RcI=";
   };
 
   propagatedBuildInputs = [
@@ -29,12 +33,15 @@ buildPythonPackage rec {
 
   # no tests associated with package
   doCheck = false;
-  pythonImportsCheck = [ "CloudFlare" ];
+
+  pythonImportsCheck = [
+    "CloudFlare"
+  ];
 
   meta = with lib; {
     description = "Python wrapper for the Cloudflare v4 API";
     homepage = "https://github.com/cloudflare/python-cloudflare";
     license = licenses.mit;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/cma/default.nix b/pkgs/development/python-modules/cma/default.nix
index 473f060769833..c0480f2fa714c 100644
--- a/pkgs/development/python-modules/cma/default.nix
+++ b/pkgs/development/python-modules/cma/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "cma";
-  version = "3.1.0";
+  version = "3.2.1";
 
   src = fetchFromGitHub {
     owner = "CMA-ES";
     repo = "pycma";
     rev = "r${version}";
-    sha256 = "1bal4kljxrdm6x5ppyi6i109714h0czdxfsna906dlfplrmq52bf";
+    sha256 = "sha256-wLUD8HMJusUeCwwp37D/W7yJuJQcDfRwVGVKwBS6sR8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cmd2/default.nix b/pkgs/development/python-modules/cmd2/default.nix
index 5f262438fe954..8a7f9a5e1c8ac 100644
--- a/pkgs/development/python-modules/cmd2/default.nix
+++ b/pkgs/development/python-modules/cmd2/default.nix
@@ -18,13 +18,13 @@
 
 buildPythonPackage rec {
   pname = "cmd2";
-  version = "2.3.3";
+  version = "2.4.0";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "750d7eb04d55c3bc2a413e191bc177856f388102de47d11f2210a35266543640";
+    sha256 = "sha256-CQkJq2yOzuQIE87HWeYd1ucMgiehqOlggvXysNOUvHc=";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/development/python-modules/collections-extended/default.nix b/pkgs/development/python-modules/collections-extended/default.nix
index 52f73a5554a59..b51a458109c9b 100644
--- a/pkgs/development/python-modules/collections-extended/default.nix
+++ b/pkgs/development/python-modules/collections-extended/default.nix
@@ -7,7 +7,7 @@
 }:
 buildPythonPackage rec {
   pname = "collections-extended";
-  version = "2.0.0";
+  version = "2.0.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "mlenzen";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256:1qcr1q49a134b122rpldjiim1fsl32gxs5fpj3232nyb05r68haz";
+    sha256 = "sha256-cK13+CQUELKSiLpG747+C+RB5b6luu0mWLLXTT+uGH4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/commoncode/default.nix b/pkgs/development/python-modules/commoncode/default.nix
index 7a2416728c8e1..ff642c8930e5b 100644
--- a/pkgs/development/python-modules/commoncode/default.nix
+++ b/pkgs/development/python-modules/commoncode/default.nix
@@ -20,7 +20,7 @@
 buildPythonPackage rec {
   pname = "commoncode";
   version = "30.0.0";
-  format = "setuptools";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
@@ -29,6 +29,11 @@ buildPythonPackage rec {
     sha256 = "sha256-6SeU4u6pfDuGCgCYAO5fdbWBxW9XN3WvM8j6DwUlFwM=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "intbitset >= 2.3.0, < 3.0" "intbitset >= 2.3.0"
+  '';
+
   dontConfigure = true;
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/construct/default.nix b/pkgs/development/python-modules/construct/default.nix
index 8ae44476eff40..ce6e0a65b3429 100644
--- a/pkgs/development/python-modules/construct/default.nix
+++ b/pkgs/development/python-modules/construct/default.nix
@@ -5,7 +5,7 @@
 
 buildPythonPackage rec {
   pname   = "construct";
-  version = "2.10.67";
+  version = "2.10.68";
 
   disabled = pythonOlder "3.6";
 
@@ -14,7 +14,7 @@ buildPythonPackage rec {
     owner  = pname;
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "1nciwim745qk41l1ck4chx3vxpfr6cq4k3a4i7vfnnrd3s6szzsw";
+    sha256 = "sha256-bp/YyRFP0rrBHPyhiqnn6o1iC5l61oedShZ2phGeqaw=";
   };
 
   # not an explicit dependency, but it's imported by an entrypoint
diff --git a/pkgs/development/python-modules/convertdate/default.nix b/pkgs/development/python-modules/convertdate/default.nix
index cc26142d362b1..b20066c51d8b1 100644
--- a/pkgs/development/python-modules/convertdate/default.nix
+++ b/pkgs/development/python-modules/convertdate/default.nix
@@ -1,23 +1,24 @@
 { lib
 , buildPythonPackage
-, isPy27
 , fetchFromGitHub
 , pymeeus
 , pytz
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "convertdate";
-  version = "2.3.2";
-  disabled = isPy27;
+  version = "2.4.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
-  # Tests are not available in the PyPI tarball so use GitHub instead.
   src = fetchFromGitHub {
     owner = "fitnr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0k7j59sbqwyi72vcjx5vsh3qb6hxfnkfjkd2i6f6lckdr1bkh7fz";
+    hash = "sha256-iOHK3UJulXJJR50nhiVgfk3bt+CAtG3BRySJ8DkBuJE=";
   };
 
   propagatedBuildInputs = [
@@ -29,11 +30,13 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "convertdate" ];
+  pythonImportsCheck = [
+    "convertdate"
+  ];
 
   meta = with lib; {
-    homepage = "https://github.com/fitnr/convertdate";
     description = "Utils for converting between date formats and calculating holidays";
+    homepage = "https://github.com/fitnr/convertdate";
     license = licenses.mit;
     maintainers = with maintainers; [ jluttine ];
   };
diff --git a/pkgs/development/python-modules/coqui-trainer/default.nix b/pkgs/development/python-modules/coqui-trainer/default.nix
index de04e444e83a8..3c447db0a0e10 100644
--- a/pkgs/development/python-modules/coqui-trainer/default.nix
+++ b/pkgs/development/python-modules/coqui-trainer/default.nix
@@ -1,15 +1,16 @@
 { lib
 , buildPythonPackage
+, fetchpatch
 , fetchFromGitHub
+, pythonAtLeast
 
 , coqpit
 , fsspec
-, pytorch
+, pytorch-bin
 
 , pytestCheckHook
 , soundfile
-, tensorboardx
-, torchvision
+, torchvision-bin
 }:
 
 let
@@ -20,6 +21,8 @@ buildPythonPackage {
   inherit pname version;
   format = "pyproject";
 
+  disabled = pythonAtLeast "3.10"; # https://github.com/coqui-ai/Trainer/issues/22
+
   src = fetchFromGitHub {
     owner = "coqui-ai";
     repo = "Trainer";
@@ -27,12 +30,18 @@ buildPythonPackage {
     hash = "sha256-NsgCh+N2qWmRkTOjXqisVCP5aInH2zcNz6lsnIfVLiY=";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/coqui-ai/Trainer/commit/07b447abf3290c8f2e5e723687b8a480b7382265.patch";
+      sha256 = "0v1hl784d9rghkblcfwgzp0gg9d6r5r0yv2kapzdz2qymiajy7y2";
+    })
+  ];
+
   propagatedBuildInputs = [
     coqpit
     fsspec
-    pytorch
+    pytorch-bin
     soundfile
-    tensorboardx
   ];
 
   # only one test and that requires training data from the internet
@@ -40,7 +49,7 @@ buildPythonPackage {
 
   checkInputs = [
     pytestCheckHook
-    torchvision
+    torchvision-bin
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/coverage/default.nix b/pkgs/development/python-modules/coverage/default.nix
index f1930b88fb8c4..8019fc9496655 100644
--- a/pkgs/development/python-modules/coverage/default.nix
+++ b/pkgs/development/python-modules/coverage/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "coverage";
-  version = "6.2";
+  version = "6.3.2";
   # uses f strings
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e2cad8093172b7d1595b4ad66f24270808658e11acf43a8f95b41276162eb5b8";
+    sha256 = "sha256-A+KngmCGuR7zRf8YdC7p/Eemg5zNUXBh74+hl25lLOk=";
   };
 
   # No tests in archive
diff --git a/pkgs/development/python-modules/cssselect2/default.nix b/pkgs/development/python-modules/cssselect2/default.nix
index 52c1bc4067fbc..987e84ffcee2f 100644
--- a/pkgs/development/python-modules/cssselect2/default.nix
+++ b/pkgs/development/python-modules/cssselect2/default.nix
@@ -1,5 +1,6 @@
 { lib
 , buildPythonPackage
+, flit-core
 , pythonOlder
 , fetchPypi
 , tinycss2
@@ -8,18 +9,23 @@
 
 buildPythonPackage rec {
   pname = "cssselect2";
-  version = "0.4.1";
+  version = "0.5.0";
+  format = "pyproject";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "93fbb9af860e95dd40bf18c3b2b6ed99189a07c0f29ba76f9c5be71344664ec8";
+    sha256 = "sha256-2Yp7vdjrxGCTJ5GV1mmjNZvVoj+QwZ6CwZ2e7vMz5hc=";
   };
 
   postPatch = ''
     sed -i '/^addopts/d' pyproject.toml
   '';
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   propagatedBuildInputs = [ tinycss2 ];
 
   checkInputs = [ pytestCheckHook ];
diff --git a/pkgs/development/python-modules/cupy/default.nix b/pkgs/development/python-modules/cupy/default.nix
index 2ae38e50513aa..a798920ef7a87 100644
--- a/pkgs/development/python-modules/cupy/default.nix
+++ b/pkgs/development/python-modules/cupy/default.nix
@@ -5,6 +5,10 @@
 , addOpenGLRunpath
 }:
 
+assert cudnn.cudatoolkit == cudatoolkit;
+assert cutensor.cudatoolkit == cudatoolkit;
+assert nccl.cudatoolkit == cudatoolkit;
+
 buildPythonPackage rec {
   pname = "cupy";
   version = "10.2.0";
@@ -15,8 +19,15 @@ buildPythonPackage rec {
     sha256 = "sha256-5ovvA76QGOsOnVztMfDgLerks5nJrKR08rLc+ArmWA8=";
   };
 
+  # See https://docs.cupy.dev/en/v10.2.0/reference/environment.html. Seting both
+  # CUPY_NUM_BUILD_JOBS and CUPY_NUM_NVCC_THREADS to NIX_BUILD_CORES results in
+  # a small amount of thrashing but it turns out there are a large number of
+  # very short builds and a few extremely long ones, so setting both ends up
+  # working nicely in practice.
   preConfigure = ''
     export CUDA_PATH=${cudatoolkit}
+    export CUPY_NUM_BUILD_JOBS="$NIX_BUILD_CORES"
+    export CUPY_NUM_NVCC_THREADS="$NIX_BUILD_CORES"
   '';
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/cvxopt/default.nix b/pkgs/development/python-modules/cvxopt/default.nix
index 70c29e1f30be0..dfae672f95e0a 100644
--- a/pkgs/development/python-modules/cvxopt/default.nix
+++ b/pkgs/development/python-modules/cvxopt/default.nix
@@ -17,13 +17,13 @@ assert (!blas.isILP64) && (!lapack.isILP64);
 
 buildPythonPackage rec {
   pname = "cvxopt";
-  version = "1.2.7";
+  version = "1.3.0";
 
   disabled = isPyPy; # hangs at [translation:info]
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3f9db1f4d4e820aaea81d6fc21054c89dc6327c84f935dd5a1eda1af11e1d504";
+    sha256 = "sha256-ALGyMvnR+QLVeKnXWBS2f6AgdY1a5CLijKjO9iafpcY=";
   };
 
   buildInputs = [ blas lapack ];
diff --git a/pkgs/development/python-modules/cx_freeze/default.nix b/pkgs/development/python-modules/cx_freeze/default.nix
index 90e2608069c40..fb02b0d1ef144 100644
--- a/pkgs/development/python-modules/cx_freeze/default.nix
+++ b/pkgs/development/python-modules/cx_freeze/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "cx_Freeze";
-  version = "6.9";
+  version = "6.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "673aa3199af2ef87fc03a43a30e5d78b27ced2cedde925da89c55b5657da267b";
+    sha256 = "sha256-5bcb9XuYgawUL76+riyLDTKUtW9uSKtkAyMh47Giuic=";
   };
 
   disabled = pythonOlder "3.5";
diff --git a/pkgs/development/python-modules/cyclonedx-python-lib/default.nix b/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
index 26546c3f7cb01..af638894831d9 100644
--- a/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
+++ b/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "cyclonedx-python-lib";
-  version = "1.3.0";
+  version = "2.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "CycloneDX";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-/1kWvhTUS0JT0RwodiivJSUiWIDwQyXxdjF/KUlCNds=";
+    hash = "sha256-S1bcUCHe4UYJuSHI8LMQZ/reS6YAE0hxrpw+QweFm/8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dash/default.nix b/pkgs/development/python-modules/dash/default.nix
index dc0813acefa68..dfae5ea249d2a 100644
--- a/pkgs/development/python-modules/dash/default.nix
+++ b/pkgs/development/python-modules/dash/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "dash";
-  version = "2.3.0";
+  version = "2.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "plotly";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-iH56c2PO1G/NlLmYC+6sdAMZ+kXvUkpkqxfnl9EmDsQ=";
+    sha256 = "sha256-gsP/WbALUkO3AB0uuX/ByhzaeIDSUUE1Cb8Cnh4GEh0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/dask/default.nix b/pkgs/development/python-modules/dask/default.nix
index 7af0eca747e81..ffdca65a606a0 100644
--- a/pkgs/development/python-modules/dask/default.nix
+++ b/pkgs/development/python-modules/dask/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "dask";
-  version = "2022.02.0";
+  version = "2022.02.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "dask";
     repo = pname;
     rev = version;
-    hash = "sha256-tDqpIS8j6a16YbJak+P1GkCEZvJyheWV5vkUrkhScRY=";
+    hash = "sha256-A8ktvfpow/QKAEEt9SUnkTqYFJCrV1mgnuDIP3gdyrE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/datadog/default.nix b/pkgs/development/python-modules/datadog/default.nix
index c15e673fa3ed7..7d32650302f4d 100644
--- a/pkgs/development/python-modules/datadog/default.nix
+++ b/pkgs/development/python-modules/datadog/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
+, hatchling
 , decorator
 , requests
 , typing ? null
@@ -17,17 +18,22 @@
 
 buildPythonPackage rec {
   pname = "datadog";
-  version = "0.43.0";
+  version = "0.44.0";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1f2123083d9e1add6f238c62714b76ac2fc134d7d1c435cd82b976487b191b96";
+    sha256 = "sha256-BxFw8MfvIlEdv3+b12xL5QDuLT1SBykApch7VJXSxzM=";
   };
 
   postPatch = ''
     find . -name '*.pyc' -exec rm {} \;
   '';
 
+  nativeBuildInputs = [
+    hatchling
+  ];
+
   propagatedBuildInputs = [ decorator requests ]
     ++ lib.optional (pythonOlder "3.5") typing
     ++ lib.optional (pythonOlder "3.0") configparser;
diff --git a/pkgs/development/python-modules/datasets/default.nix b/pkgs/development/python-modules/datasets/default.nix
index ab5e929818c6e..baf27639fd4a7 100644
--- a/pkgs/development/python-modules/datasets/default.nix
+++ b/pkgs/development/python-modules/datasets/default.nix
@@ -16,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "datasets";
-  version = "1.17.0";
+  version = "1.18.3";
 
   src = fetchFromGitHub {
     owner = "huggingface";
     repo = pname;
     rev = version;
-    sha256 = "0bsk3jldvcxak64dhlxkqax7mf83z6qpwfgfk32rni1gpnz5pqbd";
+    sha256 = "sha256-2x6DpsDcVF2O5iJKeMEGw/aJwZPc7gSGaK2947c3B6s=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/datasette/default.nix b/pkgs/development/python-modules/datasette/default.nix
index 481f4c58b3ffc..f2a0d531a0a77 100644
--- a/pkgs/development/python-modules/datasette/default.nix
+++ b/pkgs/development/python-modules/datasette/default.nix
@@ -30,7 +30,7 @@
 
 buildPythonPackage rec {
   pname = "datasette";
-  version = "0.60.2";
+  version = "0.61.1";
 
   disabled = pythonOlder "3.6";
 
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     owner = "simonw";
     repo = pname;
     rev = version;
-    sha256 = "sha256-GehtjukmSVHffAnDeDwjopgnuycD1CLQRHzLtO1iLsE=";
+    sha256 = "sha256-HVzMyF4ujYK12UQ25il/XROPo+iBldsMxOTx+duoc5o=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/datatable/default.nix b/pkgs/development/python-modules/datatable/default.nix
index 9008270fc79e3..004e47a60b5cc 100644
--- a/pkgs/development/python-modules/datatable/default.nix
+++ b/pkgs/development/python-modules/datatable/default.nix
@@ -44,15 +44,9 @@ buildPythonPackage rec {
   LLVM = llvm;
   NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-isystem ${lib.getDev libcxx}/include/c++/v1";
 
-  pytestFlagsArray = let
-    # ini file (not included in tarball) required to change python_files setting,
-    pytestIni = writeText "pytest.ini" ''
-      [pytest]
-      python_files = test_*.py test-*.py
-    '';
-  in [
-    "-c ${pytestIni}"
-  ];
+  # test suite is very cpu intensive, only run small subset to ensure package is working as expected
+  pytestFlagsArray = [ "tests/test-sets.py" ];
+
   disabledTests = [
     # skip tests which are irrelevant to our installation or use way too much memory
     "test_xfunction_paths"
diff --git a/pkgs/development/python-modules/debugpy/default.nix b/pkgs/development/python-modules/debugpy/default.nix
index dc58d8f7b0399..9f6026ce7360c 100644
--- a/pkgs/development/python-modules/debugpy/default.nix
+++ b/pkgs/development/python-modules/debugpy/default.nix
@@ -18,14 +18,14 @@
 
 buildPythonPackage rec {
   pname = "debugpy";
-  version = "1.5.1";
+  version = "1.6.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Microsoft";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-dPP4stLt5nl9B9afPmH6/hpGKXBsaTpvYZQSHxU6KaY=";
+    sha256 = "sha256-WfZz2SimOTpG8CWNUic8NSp4Qd2JTXk+7JSUEPhuQ6Q=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/deep-translator/default.nix b/pkgs/development/python-modules/deep-translator/default.nix
index a4f71774c4db2..df94f0709f419 100644
--- a/pkgs/development/python-modules/deep-translator/default.nix
+++ b/pkgs/development/python-modules/deep-translator/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "deep-translator";
-  version = "1.8.1";
+  version = "1.8.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Oi5dzrC19PnlExCOgu+bT5n3/XwgJkDirzl8ra8w7Nw=";
+    sha256 = "sha256-9YTDvrm5Q8k5G7qDF05651IxMV1BeTcgIAMSxU/bwM0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/deepdiff/default.nix b/pkgs/development/python-modules/deepdiff/default.nix
index 67f5347e1e7e2..2601eedc2fa27 100644
--- a/pkgs/development/python-modules/deepdiff/default.nix
+++ b/pkgs/development/python-modules/deepdiff/default.nix
@@ -12,18 +12,21 @@
 
 buildPythonPackage rec {
   pname = "deepdiff";
-  version = "5.6.0";
+  version = "5.7.0";
   format = "setuptools";
 
   # pypi source does not contain all fixtures required for tests
   src = fetchFromGitHub {
     owner = "seperman";
     repo = "deepdiff";
-    rev = version;
-    sha256 = "sha256-ysaIeVefsTX7ZubOXaEzeS1kMyBp4/w3SHNFxsGVhzY=";
+    # 5.7.0 release not tagged https://github.com/seperman/deepdiff/issues/300
+    rev = "f2ffdb83b2993f4f0bb7e854620f0acd0bf6339e";
+    hash = "sha256-0UBx7sH2iMrLVl5FtHNTwoecLHi8GbInn75G3FSg4gk=";
   };
 
   postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "ordered-set==4.0.2" "ordered-set"
     substituteInPlace tests/test_command.py \
       --replace '/tmp/' "$TMPDIR/"
   '';
diff --git a/pkgs/development/python-modules/desktop-notifier/default.nix b/pkgs/development/python-modules/desktop-notifier/default.nix
index 51d041e3a808c..6a2d3bacb12e9 100644
--- a/pkgs/development/python-modules/desktop-notifier/default.nix
+++ b/pkgs/development/python-modules/desktop-notifier/default.nix
@@ -10,14 +10,15 @@
 
 buildPythonPackage rec {
   pname = "desktop-notifier";
-  version = "3.3.2";
+  version = "3.4.0";
+  format = "pyproject";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "SamSchott";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-h7an/Fm9pNnThCHXg9PAKG822dqXE/CUuW8lDJlwMfw=";
+    sha256 = "sha256-lOXoiWY6gyWBL4RLrvslqcMmwtjMTOaHJZzsDO+C/F4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/detect-secrets/default.nix b/pkgs/development/python-modules/detect-secrets/default.nix
index ef19b9a913b01..e9227891e0457 100644
--- a/pkgs/development/python-modules/detect-secrets/default.nix
+++ b/pkgs/development/python-modules/detect-secrets/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "detect-secrets";
-  version = "1.1.0";
+  version = "1.2.0";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "Yelp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-dG2YaWXAMINxBGKNMlVfGTR9QHdnepiZmN+G88X4Wak=";
+    hash = "sha256-4VcV06iaL3NAj7qF8RyfWV1zgrt928AQfjGeuO2Pbjk=";
     leaveDotGit = true;
   };
 
diff --git a/pkgs/development/python-modules/devtools/default.nix b/pkgs/development/python-modules/devtools/default.nix
index 5d4f0871bf78f..34004769b1fdf 100644
--- a/pkgs/development/python-modules/devtools/default.nix
+++ b/pkgs/development/python-modules/devtools/default.nix
@@ -34,11 +34,18 @@ buildPythonPackage rec {
     pytest-mock
   ];
 
+  pytestFlagsArray = [
+    # pytest.PytestRemovedIn8Warning: Passing None has been deprecated.
+    "-W ignore::pytest.PytestRemovedIn8Warning"
+  ];
+
   disabledTests = [
     # Test for Windows32
     "test_print_subprocess"
     # sensitive to timing
     "test_multiple_not_verbose"
+    # sensitive to interpreter output
+    "test_simple_vars"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/diff-cover/default.nix b/pkgs/development/python-modules/diff-cover/default.nix
index 5414f7522dbea..22435ae71ba56 100644
--- a/pkgs/development/python-modules/diff-cover/default.nix
+++ b/pkgs/development/python-modules/diff-cover/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "diff-cover";
-  version = "6.4.4";
+  version = "6.4.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "diff_cover";
     inherit version;
-    sha256 = "b1d782c1ce53ad4b2c5545f8b7aa799eb61a0b12a62b376a18e2313c6f2d77f1";
+    sha256 = "sha256-qUuMHBfcJEmJF/con+ODtFfYrU7yo//KgKiSpByLWKY=";
   };
 
   propagatedBuildInputs = [
@@ -52,6 +52,8 @@ buildPythonPackage rec {
     "file_does_not_exist"
     # AssertionError: assert '.c { color:...
     "test_style_defs"
+    # uses pytest.approx in a boolean context, which is unsupported since pytest7
+    "test_percent_covered"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/distributed/default.nix b/pkgs/development/python-modules/distributed/default.nix
index ee86418a66514..2055c9de13e39 100644
--- a/pkgs/development/python-modules/distributed/default.nix
+++ b/pkgs/development/python-modules/distributed/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "distributed";
-  version = "2022.2.0";
+  version = "2022.2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   # get full repository need conftest.py to run tests
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Gi9u7JczpnAEg53E7N5tXBfAeWZaLBVzRU3SpbU3bZU=";
+    hash = "sha256-+2KnWvjvM7vhqoCmjAGjOpPBzVozLdAXq0SVW/fs9ls=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/distro/default.nix b/pkgs/development/python-modules/distro/default.nix
index bf8675af941d3..deee452ae1b4a 100644
--- a/pkgs/development/python-modules/distro/default.nix
+++ b/pkgs/development/python-modules/distro/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "distro";
-  version = "1.6.0";
+  version = "1.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "83f5e5a09f9c5f68f60173de572930effbcc0287bb84fdc4426cb4168c088424";
+    sha256 = "sha256-FRrsz2DCFkApMrUuQO5HepOfjViJiSc3igKrvoUsHDk=";
   };
 
   # tests are very targeted at individual linux distributions
diff --git a/pkgs/development/python-modules/django-appconf/default.nix b/pkgs/development/python-modules/django-appconf/default.nix
new file mode 100644
index 0000000000000..66eef9d472886
--- /dev/null
+++ b/pkgs/development/python-modules/django-appconf/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, django
+, six
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "django-appconf";
+  version = "1.0.5";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "django-compressor";
+    repo = "django-appconf";
+    rev = "v${version}";
+    hash = "sha256-nS4Hwp/NYg1XGvZO1tiE9mzJA7WFifyvgAjyp3YpqS4=";
+  };
+
+  propagatedBuildInputs = [
+    django
+  ];
+
+  preCheck = ''
+    # prove we're running tests against installed package, not build dir
+    rm -r appconf
+  '';
+
+  checkPhase = ''
+    runHook preCheck
+    ${python.interpreter} -m django test --settings=tests.test_settings
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    description = "A helper class for handling configuration defaults of packaged apps gracefully";
+    homepage = "https://django-appconf.readthedocs.org/";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ desiderius ];
+  };
+}
diff --git a/pkgs/development/python-modules/django-raster/default.nix b/pkgs/development/python-modules/django-raster/default.nix
index 713e7214cfbc6..f590aca527f4f 100644
--- a/pkgs/development/python-modules/django-raster/default.nix
+++ b/pkgs/development/python-modules/django-raster/default.nix
@@ -2,9 +2,7 @@
   numpy, django_colorful, pillow, psycopg2,
   pyparsing, django, celery, boto3, importlib-metadata
 }:
-if lib.versionOlder django.version "2.0"
-then throw "django-raster requires Django >= 2.0. Consider overiding the python package set to use django_2."
-else
+
 buildPythonPackage rec {
   version = "0.8.1";
   pname = "django-raster";
diff --git a/pkgs/development/python-modules/django-statici18n/default.nix b/pkgs/development/python-modules/django-statici18n/default.nix
index 78c807903c4ef..db7d36c899339 100644
--- a/pkgs/development/python-modules/django-statici18n/default.nix
+++ b/pkgs/development/python-modules/django-statici18n/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, django, django_appconf }:
+{ lib, buildPythonPackage, fetchPypi, django, django-appconf }:
 
 buildPythonPackage rec {
   pname = "django-statici18n";
@@ -9,7 +9,7 @@ buildPythonPackage rec {
     sha256 = "dbcdac190d93e0b4eabcab8875c8eb68795eceb442f926843ec5cbe1432fe628";
   };
 
-  propagatedBuildInputs = [ django django_appconf ];
+  propagatedBuildInputs = [ django django-appconf ];
 
   # pypi package does not contains test harness
   # source tarball requires setting up a config
diff --git a/pkgs/development/python-modules/django-widget-tweaks/default.nix b/pkgs/development/python-modules/django-widget-tweaks/default.nix
index 63e575b634549..5fd29de16107d 100644
--- a/pkgs/development/python-modules/django-widget-tweaks/default.nix
+++ b/pkgs/development/python-modules/django-widget-tweaks/default.nix
@@ -1,4 +1,16 @@
-{ buildPythonPackage, fetchFromGitHub, python, lib, django }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+
+# native
+, setuptools-scm
+
+# propagated
+, django
+
+# tests
+, python
+}:
 
 buildPythonPackage rec {
   pname = "django-widget-tweaks";
@@ -11,15 +23,26 @@ buildPythonPackage rec {
     sha256 = "1rhn2skx287k6nnkxlwvl9snbia6w6z4c2rqg22hwzbz5w05b24h";
   };
 
-  checkPhase = "${python.interpreter} runtests.py";
-  propagatedBuildInputs = [ django ];
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    django
+  ];
+
+  checkPhase = ''
+    ${python.interpreter} -m django test --settings=tests.settings
+  '';
 
   meta = with lib; {
-      description = "Tweak the form field rendering in templates, not in python-level form definitions.";
-      homepage = "https://github.com/jazzband/django-widget-tweaks";
-      license = licenses.mit;
-      maintainers = with maintainers; [
-          maxxk
-      ];
+    description = "Tweak the form field rendering in templates, not in python-level form definitions.";
+    homepage = "https://github.com/jazzband/django-widget-tweaks";
+    license = licenses.mit;
+    maintainers = with maintainers; [
+      maxxk
+    ];
   };
 }
diff --git a/pkgs/development/python-modules/django/1.10-gis-libs.template.patch b/pkgs/development/python-modules/django/1.10-gis-libs.template.patch
deleted file mode 100644
index da154554d1b37..0000000000000
--- a/pkgs/development/python-modules/django/1.10-gis-libs.template.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/django/contrib/gis/gdal/libgdal.py b/django/contrib/gis/gdal/libgdal.py
---- a/django/contrib/gis/gdal/libgdal.py
-+++ b/django/contrib/gis/gdal/libgdal.py
-@@ -17,7 +17,7 @@ try:
-     lib_path = settings.GDAL_LIBRARY_PATH
- except (AttributeError, EnvironmentError,
-         ImportError, ImproperlyConfigured):
--    lib_path = None
-+    lib_path = "@gdal@/lib/libgdal@extension@"
- 
- if lib_path:
-     lib_names = None
-diff --git a/django/contrib/gis/geos/libgeos.py b/django/contrib/gis/geos/libgeos.py
---- a/django/contrib/gis/geos/libgeos.py
-+++ b/django/contrib/gis/geos/libgeos.py
-@@ -26,7 +26,7 @@ try:
-         lib_path = settings.GEOS_LIBRARY_PATH
-     except (AttributeError, EnvironmentError,
-             ImportError, ImproperlyConfigured):
--        lib_path = None
-+        lib_path = "@geos@/lib/libgeos_c@extension@"
- 
-     # Setting the appropriate names for the GEOS-C library.
-     if lib_path:
diff --git a/pkgs/development/python-modules/django/2.nix b/pkgs/development/python-modules/django/2.nix
deleted file mode 100644
index 727bf304fdb2b..0000000000000
--- a/pkgs/development/python-modules/django/2.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ lib, stdenv, buildPythonPackage, fetchPypi, substituteAll,
-  isPy3k,
-  geos, gdal, pytz, sqlparse,
-  withGdal ? false
-}:
-
-buildPythonPackage rec {
-  pname = "django";
-  version = "2.2.27";
-
-  disabled = !isPy3k;
-
-  src = fetchPypi {
-    pname = "Django";
-    inherit version;
-    sha256 = "sha256-HuNwRrC/K2HoOzoB0GcyNRbsO28rF81JsTJt1LqdyRM=";
-  };
-
-  patches = lib.optional withGdal
-    (substituteAll {
-      src = ./1.10-gis-libs.template.patch;
-      geos = geos;
-      gdal = gdal;
-      extension = stdenv.hostPlatform.extensions.sharedLibrary;
-    })
-  ;
-
-  propagatedBuildInputs = [ pytz sqlparse ];
-
-  # too complicated to setup
-  doCheck = false;
-
-  meta = with lib; {
-    description = "A high-level Python Web framework";
-    homepage = "https://www.djangoproject.com/";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ georgewhewell ];
-  };
-}
diff --git a/pkgs/development/python-modules/django_appconf/default.nix b/pkgs/development/python-modules/django_appconf/default.nix
deleted file mode 100644
index 5da9ed0ca26da..0000000000000
--- a/pkgs/development/python-modules/django_appconf/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib, buildPythonPackage, fetchFromGitHub, six, django, fetchpatch }:
-buildPythonPackage rec {
-  pname = "django-appconf";
-  version = "1.0.3";
-
-  src = fetchFromGitHub {
-    owner = "django-compressor";
-    repo = "django-appconf";
-    rev = version;
-    sha256 = "06hwbz7362y0la9np3df25mms235fcqgpd2vn0mnf8dri9spzy1h";
-  };
-
-  propagatedBuildInputs = [ six django ];
-
-  patches = [
-    (fetchpatch {
-      name = "backport_django_2_2.patch";
-      url = "https://github.com/django-compressor/django-appconf/commit/1526a842ee084b791aa66c931b3822091a442853.patch";
-      sha256 = "1vl2s6vlf15089s8p4c3g4d5iqm8jva66bdw683r8440f80ixgmw";
-    })
-  ];
-
-  checkPhase = ''
-    # prove we're running tests against installed package, not build dir
-    rm -r appconf
-    python -m django test --settings="tests.test_settings"
-  '';
-
-  meta = with lib; {
-    description = "A helper class for handling configuration defaults of packaged apps gracefully";
-    homepage = "https://django-appconf.readthedocs.org/";
-    license = licenses.bsd2;
-    maintainers = with maintainers; [ desiderius ];
-  };
-}
diff --git a/pkgs/development/python-modules/django_compressor/default.nix b/pkgs/development/python-modules/django_compressor/default.nix
index a8204eab5fad2..82684b52374ac 100644
--- a/pkgs/development/python-modules/django_compressor/default.nix
+++ b/pkgs/development/python-modules/django_compressor/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchPypi,
-  rcssmin, rjsmin, django_appconf }:
+  rcssmin, rjsmin, django-appconf }:
 
 buildPythonPackage rec {
     pname = "django_compressor";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     # requires django-sekizai, which we don't have packaged yet
     doCheck = false;
 
-    propagatedBuildInputs = [ rcssmin rjsmin django_appconf ];
+    propagatedBuildInputs = [ rcssmin rjsmin django-appconf ];
 
     meta = with lib; {
       description = "Compresses linked and inline JavaScript or CSS into single cached files";
diff --git a/pkgs/development/python-modules/django_contrib_comments/default.nix b/pkgs/development/python-modules/django_contrib_comments/default.nix
index 3f717b0fb5ce1..88bbdfdeddb99 100644
--- a/pkgs/development/python-modules/django_contrib_comments/default.nix
+++ b/pkgs/development/python-modules/django_contrib_comments/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "django-contrib-comments";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d82f1d04690550df026553053903deec0c52dc54212e1b79241b08f0355cff2c";
+    sha256 = "sha256-SN4A8VZ34BaiFq7/IF1uAOQ5HJpXAhNsZBGcRytzVto=";
   };
 
   propagatedBuildInputs = [ django ];
diff --git a/pkgs/development/python-modules/django_reversion/default.nix b/pkgs/development/python-modules/django_reversion/default.nix
index 1bf4d6b4dab55..f6bc72dc226a5 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 = "4.0.2";
+  version = "5.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-XTO6lE2/GccDDJ5w43MSSK40Nozyr+3hDg0I+/ieb4w=";
+    sha256 = "sha256-C63jw5k4dFEIfwxng14NPRhtdn3mpcW6U6iOr8Pyccg=";
   };
 
   # tests assume the availability of a mysql/postgresql database
diff --git a/pkgs/development/python-modules/dm-haiku/default.nix b/pkgs/development/python-modules/dm-haiku/default.nix
index 14ceebf0a19b3..03677faa689fa 100644
--- a/pkgs/development/python-modules/dm-haiku/default.nix
+++ b/pkgs/development/python-modules/dm-haiku/default.nix
@@ -7,6 +7,7 @@
 , jaxlib
 , jmp
 , lib
+, pytest-xdist
 , pytestCheckHook
 , tabulate
 , tensorflow
@@ -14,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "dm-haiku";
-  version = "0.0.5";
+  version = "0.0.6";
 
   src = fetchFromGitHub {
     owner = "deepmind";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1mdqjcka0m1div63ngba8w8z94id4c1h8xqmnq1xpmgkc79224wa";
+    sha256 = "sha256-qvKMeGPiWXvvyV+GZdTWdsC6Wp08AmP8nDtWk7sZtqM=";
   };
 
   propagatedBuildInputs = [
@@ -33,9 +34,11 @@ buildPythonPackage rec {
     cloudpickle
     dm-tree
     jaxlib
+    pytest-xdist
     pytestCheckHook
     tensorflow
   ];
+  pytestFlagsArray = [ "-n $NIX_BUILD_CORES" ];
 
   pythonImportsCheck = [
     "haiku"
diff --git a/pkgs/development/python-modules/dnspython/default.nix b/pkgs/development/python-modules/dnspython/default.nix
index 40b3d7a36dec6..5676d270935f7 100644
--- a/pkgs/development/python-modules/dnspython/default.nix
+++ b/pkgs/development/python-modules/dnspython/default.nix
@@ -1,9 +1,11 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
 , setuptools-scm
 , pytestCheckHook
+, cacert
 }:
 
 buildPythonPackage rec {
@@ -19,11 +21,23 @@ buildPythonPackage rec {
 
   checkInputs = [
     pytestCheckHook
+  ] ++ lib.optional stdenv.isDarwin [
+    cacert
   ];
 
   disabledTests = [
     # dns.exception.SyntaxError: protocol not found
     "test_misc_good_WKS_text"
+    # fails if IPv6 isn't available
+    "test_resolver_override"
+
+  # Tests that run inconsistently on darwin systems
+  ] ++ lib.optionals stdenv.isDarwin [
+    # 9 tests fail with: BlockingIOError: [Errno 35] Resource temporarily unavailable
+    "testQueryUDP"
+    # 6 tests fail with: dns.resolver.LifetimeTimeout: The resolution lifetime expired after ...
+    "testResolveCacheHit"
+    "testResolveTCP"
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/doit/default.nix b/pkgs/development/python-modules/doit/default.nix
index c7c66fceaa7cd..95b7adc474af0 100644
--- a/pkgs/development/python-modules/doit/default.nix
+++ b/pkgs/development/python-modules/doit/default.nix
@@ -8,6 +8,7 @@
 , cloudpickle
 , pyinotify
 , macfsevents
+, toml
 }:
 
 buildPythonPackage rec {
@@ -21,8 +22,10 @@ buildPythonPackage rec {
     sha256 = "sha256-OIER+Kals7RGIM7rKH0FhZJ8hdDW0/h5DTT7tFwM9sM=";
   };
 
-  propagatedBuildInputs = [ cloudpickle ]
-    ++ lib.optional stdenv.isLinux pyinotify
+  propagatedBuildInputs = [
+    cloudpickle
+    toml
+  ] ++ lib.optional stdenv.isLinux pyinotify
     ++ lib.optional stdenv.isDarwin macfsevents;
 
   # hangs on darwin
diff --git a/pkgs/development/python-modules/dotmap/default.nix b/pkgs/development/python-modules/dotmap/default.nix
index a820c1486eb89..b0627160e3ee7 100644
--- a/pkgs/development/python-modules/dotmap/default.nix
+++ b/pkgs/development/python-modules/dotmap/default.nix
@@ -2,24 +2,32 @@
 , buildPythonPackage
 , fetchPypi
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "dotmap";
-  version = "1.3.26";
+  version = "1.3.29";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cc87300f3a61d70f2bd18103ea2747dea846a2381a8321f43ce65cbd7afdfe3d";
+    hash = "sha256-5mhR+Ey8RrruucUIt5LxBNM6OBUWbLy5jNOWg6tzxRE=";
   };
 
   checkInputs = [
     pytestCheckHook
   ];
 
-  pytestFlagsArray = [ "dotmap/test.py" ];
+  pytestFlagsArray = [
+    "dotmap/test.py"
+  ];
 
-  pythonImportsCheck = [ "dotmap" ];
+  pythonImportsCheck = [
+    "dotmap"
+  ];
 
   meta = with lib; {
     description = "Python for dot-access dictionaries";
diff --git a/pkgs/development/python-modules/dropbox/default.nix b/pkgs/development/python-modules/dropbox/default.nix
index 2e2490568e9df..f18f6203d1e09 100644
--- a/pkgs/development/python-modules/dropbox/default.nix
+++ b/pkgs/development/python-modules/dropbox/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dropbox";
-  version = "11.28.0";
+  version = "11.29.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "dropbox";
     repo = "dropbox-sdk-python";
     rev = "v${version}";
-    sha256 = "sha256-xNenBmeCRIYxQqAkV8IDpPpIHyVAYJs1jAFr8w1tz2Y=";
+    sha256 = "sha256-TKJb34hJYzZtQcqgopLpN8c1utWCNjmev9epY+hYU7M=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/dulwich/default.nix b/pkgs/development/python-modules/dulwich/default.nix
index ad0a853af2267..a255d3c4f9b9d 100644
--- a/pkgs/development/python-modules/dulwich/default.nix
+++ b/pkgs/development/python-modules/dulwich/default.nix
@@ -16,7 +16,7 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.20.32";
+  version = "0.20.35";
   pname = "dulwich";
   format = "setuptools";
 
@@ -24,7 +24,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-3FSYsHK9wSwe/+9LYgLNKkVCuxxtu03c/IxtU+CLSIw=";
+    hash = "sha256-lT9jAanfigkfqI1V7tOUqIv5mIzei+NBd1NUkQkYwZY=";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/development/python-modules/dunamai/default.nix b/pkgs/development/python-modules/dunamai/default.nix
index f4a24a7a7f8a7..8b51d829c8df1 100644
--- a/pkgs/development/python-modules/dunamai/default.nix
+++ b/pkgs/development/python-modules/dunamai/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "dunamai";
-  version = "1.10.0";
+  version = "1.11.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "mtkennerly";
     repo = "dunamai";
     rev = "v${version}";
-    sha256 = "sha256-Sp0yfNkFwNc2qR9aSPteBqZcqRokM9whOVmduXVK3CI=";
+    sha256 = "sha256-nkE9QBziCQA/aN+Z0OuqJlf5FJ4fidE7u5Gt25zjX0c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dynalite-devices/default.nix b/pkgs/development/python-modules/dynalite-devices/default.nix
index dafbcfc2f5cd0..3ee79ae448049 100644
--- a/pkgs/development/python-modules/dynalite-devices/default.nix
+++ b/pkgs/development/python-modules/dynalite-devices/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "dynalite-devices";
-  version = "0.1.46";
+  version = "0.46";
 
   src = fetchFromGitHub {
     owner = "ziv1234";
     repo = "python-dynalite-devices";
-    rev = "v0.46"; # https://github.com/ziv1234/python-dynalite-devices/issues/2
+    rev = "v${version}"; # https://github.com/ziv1234/python-dynalite-devices/issues/2
     hash = "sha256-Fju2JpFkQBCbOln7r3L+crv82TI2SkdPJ1oaK7PEifo=";
   };
 
diff --git a/pkgs/development/python-modules/easygui/default.nix b/pkgs/development/python-modules/easygui/default.nix
index 108c5287eb6e5..7749c246e146c 100644
--- a/pkgs/development/python-modules/easygui/default.nix
+++ b/pkgs/development/python-modules/easygui/default.nix
@@ -2,17 +2,13 @@
 
 buildPythonPackage rec {
   pname = "easygui";
-  version = "0.98.2";
+  version = "0.98.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "073f728ca88a77b74f404446fb8ec3004945427677c5618bd00f70c1b999fef2";
+    sha256 = "sha256-1lP/ee4fQvY7WgkPL5jOAjNdhq2JY7POJmGAXK/pmgQ=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py --replace README.md README.txt
-  '';
-
   propagatedBuildInputs = [
     tkinter
   ];
diff --git a/pkgs/development/python-modules/easyprocess/default.nix b/pkgs/development/python-modules/easyprocess/default.nix
index c98a8b572d454..97707e0e9fd43 100644
--- a/pkgs/development/python-modules/easyprocess/default.nix
+++ b/pkgs/development/python-modules/easyprocess/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "EasyProcess";
-  version = "0.3";
+  version = "1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "115rzzr0hx4af4m6krf7dxn8851n4l8jfxahjzjc2r0zq2m8v57v";
+    sha256 = "sha256-iFiYMCpXqrlIlz6LXTKkIpOSufstmGqx1P/VkOW6kOw=";
   };
 
   # No tests
diff --git a/pkgs/development/python-modules/editorconfig/default.nix b/pkgs/development/python-modules/editorconfig/default.nix
index 520167c100f11..32e446d71a3b8 100644
--- a/pkgs/development/python-modules/editorconfig/default.nix
+++ b/pkgs/development/python-modules/editorconfig/default.nix
@@ -4,6 +4,14 @@
 , cmake
 }:
 
+let
+  tests = fetchFromGitHub {
+    owner = "editorconfig";
+    repo = "editorconfig-core-test";
+    rev = "e407c1592df0f8e91664835324dea85146f20189";
+    sha256 = "sha256-9WSEkMJOewPqJjB6f7J6Ir0L+U712hkaN+GszjnGw7c=";
+  };
+in
 buildPythonPackage rec {
   pname = "editorconfig";
   version = "0.12.3";
@@ -12,10 +20,16 @@ buildPythonPackage rec {
     owner = "editorconfig";
     repo = "editorconfig-core-py";
     rev = "v${version}";
-    sha256 = "sha256-KwfGWc2mYhUP6SN4vhIO0eX0dasBRC2LSeLEOA/NqG8=";
-    fetchSubmodules = true;
+    sha256 = "sha256-ZwoTMgk18+BpPNtXKQUMXGcl2Lp+1RQVyPHgk6gHWh8=";
+    # workaround until https://github.com/editorconfig/editorconfig-core-py/pull/40 is merged
+    # fetchSubmodules = true;
   };
 
+  postUnpack = ''
+    cp -r ${tests}/* source/tests
+    chmod +w -R source/tests
+  '';
+
   nativeBuildInputs = [
     cmake
   ];
diff --git a/pkgs/development/python-modules/einops/default.nix b/pkgs/development/python-modules/einops/default.nix
index 18b8d671c98af..6678ff63efc5b 100644
--- a/pkgs/development/python-modules/einops/default.nix
+++ b/pkgs/development/python-modules/einops/default.nix
@@ -7,6 +7,7 @@
 , nbconvert
 , jupyter
 , chainer
+, parameterized
 , pytorch
 , mxnet
 , tensorflow
@@ -15,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "einops";
-  version = "0.3.2";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "arogozhnikov";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ix094cfh6w4bvx6ymp5dpm35y9nkaibcn1y50g6kwdp4f0473y8";
+    hash = "sha256-n4R4lcRimuOncisCTs2zJWPlqZ+W2yPkvkWAnx4R91s=";
   };
 
   checkInputs = [
@@ -33,6 +34,7 @@ buildPythonPackage rec {
     jupyter
     # For backend tests
     chainer
+    parameterized
     pytorch
     mxnet
     tensorflow
diff --git a/pkgs/development/python-modules/elastic-apm/default.nix b/pkgs/development/python-modules/elastic-apm/default.nix
index f273b1a6428cd..98e2394d0bdbd 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.8.0";
+  version = "6.9.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     owner = "elastic";
     repo = "apm-agent-python";
     rev = "v${version}";
-    sha256 = "sha256-5G+ALFDEClItXvSQFGari0QdhW+RGV8FukxUoxqphFg=";
+    sha256 = "sha256-IaCl39rhsFLQwvQdPcqKruV/Mo3f7WH91UVgMG/cnOc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/elegy/default.nix b/pkgs/development/python-modules/elegy/default.nix
index 5b0cb293c0a3e..a4d17a830e4d3 100644
--- a/pkgs/development/python-modules/elegy/default.nix
+++ b/pkgs/development/python-modules/elegy/default.nix
@@ -22,16 +22,24 @@
 
 buildPythonPackage rec {
   pname = "elegy";
-  version = "0.8.4";
+  version = "0.8.6";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "poets-ai";
     repo = pname;
     rev = version;
-    sha256 = "11w8lgl31b52w2qri8j8cgzd30sn8i3769g8nkkshvgkjgca9r4g";
+    hash = "sha256-FZmLriYhsX+zyQKCtCjbOy6MH+AvjzHRNUyaDSXGlLI=";
   };
 
+  # The cloudpickle constraint is too strict. wandb is marked as an optional
+  # dependency but `buildPythonPackage` doesn't seem to respect that setting.
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'cloudpickle = "^1.5.0"' 'cloudpickle = "*"' \
+      --replace 'wandb = { version = "^0.12.10", optional = true }' ""
+  '';
+
   nativeBuildInputs = [
     poetry
   ];
diff --git a/pkgs/development/python-modules/elkm1-lib/default.nix b/pkgs/development/python-modules/elkm1-lib/default.nix
index 6e30203ad0f8e..6b877a58dd0ba 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 = "1.2.0";
+  version = "1.2.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "gwww";
     repo = "elkm1";
     rev = version;
-    hash = "sha256-+rFW7qFpay/ebUz9EEB8nn0kuqVtVmG5ZHOWG2bMPts=";
+    hash = "sha256-Jr9f+essHB1FkzD6zM0G6jgE9C9lfDJuFIPrKRhVt+g=";
   };
 
   nativeBuildInputs = [
@@ -36,7 +36,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "elkm1_lib" ];
+  pythonImportsCheck = [
+    "elkm1_lib"
+  ];
 
   meta = with lib; {
     description = "Python module for interacting with ElkM1 alarm/automation panel";
diff --git a/pkgs/development/python-modules/entrypoints/default.nix b/pkgs/development/python-modules/entrypoints/default.nix
index a26d6ede8904f..1223f3f911dec 100644
--- a/pkgs/development/python-modules/entrypoints/default.nix
+++ b/pkgs/development/python-modules/entrypoints/default.nix
@@ -1,31 +1,36 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchPypi
+, flit-core
 , configparser
-, pytest
-, isPy3k
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "entrypoints";
-  version = "0.3";
+  version = "0.4";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451";
+    sha256 = "sha256-twbt2qkhihnrzWe1aBjwW7J1ibHKno15e3Sv+tTMrNQ=";
   };
 
-  checkInputs = [ pytest ];
-
-  propagatedBuildInputs = lib.optional (!isPy3k) configparser;
+  nativeBuildInputs = [
+    flit-core
+  ];
 
-  checkPhase = ''
-    py.test tests
-  '';
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  meta = {
+  meta = with lib; {
     description = "Discover and load entry points from installed packages";
     homepage = "https://github.com/takluyver/entrypoints";
-    license = lib.licenses.mit;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/env-canada/default.nix b/pkgs/development/python-modules/env-canada/default.nix
index 18047eb719aad..9ec0dda4bc515 100644
--- a/pkgs/development/python-modules/env-canada/default.nix
+++ b/pkgs/development/python-modules/env-canada/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "env-canada";
-  version = "0.5.21";
+  version = "0.5.22";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "michaeldavie";
     repo = "env_canada";
     rev = "v${version}";
-    sha256 = "sha256-jildWpYWll5j7siYhNECMBjz9bF41xFA6NyydWNdgQE=";
+    sha256 = "sha256-3dqG3wlFlGCI3Ymq5rpoNpmeU36WCQ4Iya5m5mCAVFI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/etuples/default.nix b/pkgs/development/python-modules/etuples/default.nix
index bfb4552732b2d..5ad7696ae1cf7 100644
--- a/pkgs/development/python-modules/etuples/default.nix
+++ b/pkgs/development/python-modules/etuples/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "etuples";
-  version = "0.3.4";
+  version = "0.3.5";
 
   src = fetchFromGitHub {
     owner = "pythological";
     repo = "etuples";
-    rev = "35d760ceb64ec318f302a6e4d3a4a80feda97a9e";
-    sha256 = "sha256-CXD8MhsdWYAcG5WDVTT/A2HDtiO1xfQbrwlYVnxXpBU=";
+    rev = "v${version}";
+    sha256 = "sha256-gJNxrO2d/eF4t3bBlz/BwF+9eT1nKrVrTP3F6/dEN00=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/evdev/default.nix b/pkgs/development/python-modules/evdev/default.nix
index 1a3f2a0e642ef..86149cbd865a1 100644
--- a/pkgs/development/python-modules/evdev/default.nix
+++ b/pkgs/development/python-modules/evdev/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "evdev";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8782740eb1a86b187334c07feb5127d3faa0b236e113206dfe3ae8f77fb1aaf1";
+    sha256 = "sha256-WzOxdPfIRXbn3WBx5Di/WtIn2pXv1DVqOf5Mg1VBL+Y=";
   };
 
   buildInputs = [ linuxHeaders ];
diff --git a/pkgs/development/python-modules/faker/default.nix b/pkgs/development/python-modules/faker/default.nix
index 048edf64d38f8..728339621f897 100644
--- a/pkgs/development/python-modules/faker/default.nix
+++ b/pkgs/development/python-modules/faker/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "faker";
-  version = "11.3.0";
+  version = "13.3.0";
 
   src = fetchPypi {
     pname = "Faker";
     inherit version;
-    hash = "sha256-rb5WfmTaahCX/qyraZAA4a0W4Xplkqjwrh7gt/vxmIc=";
+    hash = "sha256-YYsUDHdHV4bb46VAmtU1Ict2dGq3pcd7mcZj8+8bG8I=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/fakeredis/default.nix b/pkgs/development/python-modules/fakeredis/default.nix
index 3127ac0dcdbf6..5860a959afcd8 100644
--- a/pkgs/development/python-modules/fakeredis/default.nix
+++ b/pkgs/development/python-modules/fakeredis/default.nix
@@ -3,7 +3,6 @@
 , async_generator
 , buildPythonPackage
 , fetchPypi
-, fetchpatch
 , hypothesis
 , lupa
 , pytest-asyncio
@@ -17,29 +16,16 @@
 
 buildPythonPackage rec {
   pname = "fakeredis";
-  version = "1.7.0";
-
+  version = "1.7.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-yb0S5DAzbL0+GJ+uDpHrmZl7k+dtv91u1n+jUtxoTHE=";
+    hash = "sha256-fCxLobQuCnUzfFS3d78GcQVrRWllDj/5J+S5s4WvyOw=";
   };
 
-  patches = [
-    (fetchpatch {
-      # redis 4.1.0 compatibility
-      # https://github.com/jamesls/fakeredis/pull/324
-      url = "https://github.com/jamesls/fakeredis/commit/8ef8dc6dacc9baf571d66a25ffbf0fadd7c70f78.patch";
-      sha256 = "sha256:03xlqmwq8nkzisrjk7y51j2jd6qdin8nbj5n9hc4wjabbvlgx4qr";
-      excludes = [
-        "setup.cfg"
-      ];
-    })
-  ];
-
   propagatedBuildInputs = [
     aioredis
     lupa
@@ -60,11 +46,6 @@ buildPythonPackage rec {
     "fakeredis"
   ];
 
-  postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace "redis<4.1.0" "redis"
-  '';
-
   meta = with lib; {
     description = "Fake implementation of Redis API";
     homepage = "https://github.com/jamesls/fakeredis";
diff --git a/pkgs/development/python-modules/faraday-plugins/default.nix b/pkgs/development/python-modules/faraday-plugins/default.nix
index 42f8a4860509a..e1c6fee726eb5 100644
--- a/pkgs/development/python-modules/faraday-plugins/default.nix
+++ b/pkgs/development/python-modules/faraday-plugins/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "faraday-plugins";
-  version = "1.6.1";
+  version = "1.6.2";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "infobyte";
     repo = "faraday_plugins";
     rev = "v${version}";
-    sha256 = "sha256-NpPVA+fruI/xX0KMjRuRuMK8HYc/0ErbDhJOCNXKhyY=";
+    sha256 = "sha256-1YROdQvwfV5Wp7vsNYCy2X6yR6mplunchD0U4xGUNBc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/fastapi/default.nix b/pkgs/development/python-modules/fastapi/default.nix
index 6f0a39a7b2d29..cf55a56bdd173 100644
--- a/pkgs/development/python-modules/fastapi/default.nix
+++ b/pkgs/development/python-modules/fastapi/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "fastapi";
-  version = "0.75.0";
+  version = "0.75.1";
   format = "flit";
 
   disabled = pythonOlder "3.6";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "tiangolo";
     repo = pname;
     rev = version;
-    sha256 = "sha256-LCdScvQUdwOM8Don/5n/49bKrivT+bkhqWcBNku4fso=";
+    sha256 = "sha256-tSZ5isMzDhDsuVNQdoYXG0IYkgCvdVdARtFXELNjTtk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/fastcore/default.nix b/pkgs/development/python-modules/fastcore/default.nix
index 9d0ce4f2ec729..b7fc364958dd2 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.3.29";
+  version = "1.4.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "fastai";
     repo = pname;
     rev = version;
-    sha256 = "sha256-V5mJJqWsCy8Wes8VzEkCKeb2/1ahvtbUO80R8IFLvNU=";
+    sha256 = "sha256-qZsCsMwZxJsnznQ/C1SUPexkquv0tIyCkNYL5f2k0FU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/fasteners/default.nix b/pkgs/development/python-modules/fasteners/default.nix
index 0364022fa2864..b1281c686d87d 100644
--- a/pkgs/development/python-modules/fasteners/default.nix
+++ b/pkgs/development/python-modules/fasteners/default.nix
@@ -1,47 +1,32 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, six
-, monotonic
+, fetchFromGitHub
 , diskcache
-, more-itertools
-, testtools
-, isPy3k
-, nose
-, futures ? null
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "fasteners";
-  version = "0.16.3";
+  version = "0.17.3";
+  format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "b1ab4e5adfbc28681ce44b3024421c4f567e705cc3963c732bf1cba3348307de";
+  src = fetchFromGitHub {
+    owner = "harlowja";
+    repo = pname;
+    rev = version;
+    hash = "sha256-FVhHp8BZ/wQQyr5AcuDo94LlflixhjZ0SnheSdHuDVQ=";
   };
 
-  propagatedBuildInputs = [
-    six
-    monotonic
-  ];
-
   checkInputs = [
     diskcache
-    more-itertools
-    testtools
-    nose
-  ] ++ lib.optionals (!isPy3k) [
-    futures
+    pytestCheckHook
   ];
 
-  checkPhase = ''
-    nosetests
-  '';
-
   meta = with lib; {
     description = "A python package that provides useful locks";
     homepage = "https://github.com/harlowja/fasteners";
     license = licenses.asl20;
+    maintainers = with maintainers; [ ];
   };
 
 }
diff --git a/pkgs/development/python-modules/filelock/default.nix b/pkgs/development/python-modules/filelock/default.nix
index 8eaed65ca73c2..16379ef85e1ef 100644
--- a/pkgs/development/python-modules/filelock/default.nix
+++ b/pkgs/development/python-modules/filelock/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "filelock";
-  version = "3.4.2";
+  version = "3.6.0";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "38b4f4c989f9d06d44524df1b24bd19e167d851f19b50bf3e3559952dddc5b80";
+    sha256 = "sha256-nNVAqTUuQyxyRqSP5OhxKxCssd8q0fMOjAcLgq4f7YU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/findpython/default.nix b/pkgs/development/python-modules/findpython/default.nix
new file mode 100644
index 0000000000000..ad35f379b906b
--- /dev/null
+++ b/pkgs/development/python-modules/findpython/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+
+# build time
+, pdm-pep517
+
+# runtime
+, packaging
+
+# tests
+, pytestCheckHook
+}:
+
+let
+  pname = "findpython";
+  version = "0.1.3";
+in
+buildPythonPackage {
+  inherit pname version;
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-tVpBa5/PLShyG/vqHOsqbLZ6APmexLlKdtoix6IAKHA=";
+  };
+
+  nativeBuildInputs = [
+    pdm-pep517
+  ];
+
+  propagatedBuildInputs = [
+    packaging
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "findpython"
+  ];
+
+  meta = with lib; {
+    description = "A utility to find python versions on your system";
+    homepage = "https://github.com/frostming/findpython";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/development/python-modules/flake8-bugbear/default.nix b/pkgs/development/python-modules/flake8-bugbear/default.nix
index 20e8f58882624..ef014011bdff0 100644
--- a/pkgs/development/python-modules/flake8-bugbear/default.nix
+++ b/pkgs/development/python-modules/flake8-bugbear/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "flake8-bugbear";
-  version = "22.3.20";
+  version = "22.3.23";
 
   src = fetchFromGitHub {
     owner = "PyCQA";
     repo = pname;
     rev = version;
-    sha256 = "sha256-tq008SNytZCttnVY1NLf9/2aeqP+iPLUNsRLZu0k3Uk=";
+    sha256 = "sha256-s1EnPM2He+R+vafu14XI1Xuft8Rg6W3vPH2Atc6N7I0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/flask-compress/default.nix b/pkgs/development/python-modules/flask-compress/default.nix
index fff330946d168..26e5feca03e39 100644
--- a/pkgs/development/python-modules/flask-compress/default.nix
+++ b/pkgs/development/python-modules/flask-compress/default.nix
@@ -1,25 +1,43 @@
-{ lib, fetchPypi, buildPythonPackage, flask
+{ lib
+, fetchPypi
+, buildPythonPackage
+, setuptools-scm
+, flask
 , brotli
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
-  version = "1.10.1";
+  version = "1.11";
   pname = "Flask-Compress";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "28352387efbbe772cfb307570019f81957a13ff718d994a9125fa705efb73680";
+    sha256 = "sha256-9WnzLERtayXKjjR9UAOgUxgR73MmeABbADb8HJ6xwhw=";
   };
 
-  postPatch = ''
-    sed -i -e 's/use_scm_version=.*/version="${version}",/' setup.py
-  '';
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
 
-  propagatedBuildInputs = [ flask brotli ];
+  propagatedBuildInputs = [
+    flask
+    brotli
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "flask_compress"
+  ];
 
   meta = with lib; {
     description = "Compress responses in your Flask app with gzip";
-    homepage = "https://libwilliam.github.io/flask-compress/";
+    homepage = "https://github.com/colour-science/flask-compress";
+    changelog = "https://github.com/colour-science/flask-compress/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
   };
 }
diff --git a/pkgs/development/python-modules/flask-security-too/default.nix b/pkgs/development/python-modules/flask-security-too/default.nix
index ddf5aa05c493b..e88556c07d020 100644
--- a/pkgs/development/python-modules/flask-security-too/default.nix
+++ b/pkgs/development/python-modules/flask-security-too/default.nix
@@ -28,12 +28,12 @@
 
 buildPythonPackage rec {
   pname = "flask-security-too";
-  version = "4.1.2";
+  version = "4.1.3";
 
   src = fetchPypi {
     pname = "Flask-Security-Too";
     inherit version;
-    sha256 = "16ws5n08vm7wsa2f7lrkxvc7jl3ah1xfylhhyzb4vvqmlk7x9hw8";
+    sha256 = "sha256-mW2NKGeJpyR4Ri7m+KE3ElSg3E+P7qbzNTTCo3cskc8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/flask/default.nix b/pkgs/development/python-modules/flask/default.nix
index 6c05367b3d477..6b49d2d2a6ee1 100644
--- a/pkgs/development/python-modules/flask/default.nix
+++ b/pkgs/development/python-modules/flask/default.nix
@@ -12,12 +12,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "2.0.2";
+  version = "2.0.3";
   pname = "Flask";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7b2fb8e934ddd50731893bdcdb00fc8c0315916f9fcd50d22c7cc1a95ab634e2";
+    sha256 = "sha256-4RIMIoyi9VO0cN9KX6knq2YlhGdSYGmYGz6wqRkCaH0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/flax/default.nix b/pkgs/development/python-modules/flax/default.nix
index 3ac8166bbbdd6..1f1622dc1aead 100644
--- a/pkgs/development/python-modules/flax/default.nix
+++ b/pkgs/development/python-modules/flax/default.nix
@@ -7,6 +7,7 @@
 , msgpack
 , numpy
 , optax
+, pytest-xdist
 , pytestCheckHook
 , tensorflow
 }:
@@ -37,9 +38,11 @@ buildPythonPackage rec {
 
   checkInputs = [
     keras
+    pytest-xdist
     pytestCheckHook
     tensorflow
   ];
+  pytestFlagsArray = [ "-n $NIX_BUILD_CORES" ];
 
   disabledTestPaths = [
     # Docs test, needs extra deps + we're not interested in it.
diff --git a/pkgs/development/python-modules/fonttools/default.nix b/pkgs/development/python-modules/fonttools/default.nix
index 50f5e87a29f49..84f2edb721020 100644
--- a/pkgs/development/python-modules/fonttools/default.nix
+++ b/pkgs/development/python-modules/fonttools/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "fonttools";
-  version = "4.29.0";
+  version = "4.29.1";
 
   # Bump to 3.7 when https://github.com/fonttools/fonttools/pull/2417 is merged
   disabled = pythonOlder "3.6";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner  = pname;
     repo   = pname;
     rev    = version;
-    sha256 = "LnkpTEpZbbRAyqGPJXdfpHjh4t7n6LkjZGLhirVNl7E=";
+    sha256 = "sha256-xviNGFcb1wj5WuA6UxHpw3BkpdjSJL3fbsBytJacp8w=";
   };
 
   # all dependencies are optional, but
diff --git a/pkgs/development/python-modules/frozendict/default.nix b/pkgs/development/python-modules/frozendict/default.nix
index d7e12cc061d59..fe0c4b23354c8 100644
--- a/pkgs/development/python-modules/frozendict/default.nix
+++ b/pkgs/development/python-modules/frozendict/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "frozendict";
-  version = "2.3.0";
+  version = "2.3.1";
   format = "setuptools";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1dd0bqhai4k3fj9ydcwmc9hvbmrsklk349ys21w8x4n5xynk2hns";
+    sha256 = "sha256-vJHGkjPrkWu268QJiLbYSXNXcCQO/JxgvkW0q5GcG94=";
   };
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/fs/default.nix b/pkgs/development/python-modules/fs/default.nix
index 0ab3778f55cf4..6915ba8d050c9 100644
--- a/pkgs/development/python-modules/fs/default.nix
+++ b/pkgs/development/python-modules/fs/default.nix
@@ -20,11 +20,11 @@
 
 buildPythonPackage rec {
   pname = "fs";
-  version = "2.4.14";
+  version = "2.4.15";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9555dc2bc58c58cac03478ac7e9f622d29fe2d20a4384c24c90ab50de2c7b36c";
+    sha256 = "sha256-sJ0CwxH0rdHm4rdXJMRQ6vz+7MkXV5IkyorSHazQoYI=";
   };
 
   buildInputs = [ glibcLocales ];
diff --git a/pkgs/development/python-modules/ftfy/default.nix b/pkgs/development/python-modules/ftfy/default.nix
index 5ea93ec179ecb..d214cb4f0a437 100644
--- a/pkgs/development/python-modules/ftfy/default.nix
+++ b/pkgs/development/python-modules/ftfy/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "ftfy";
-  version = "6.0.3";
+  version = "6.1.1";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ba71121a9c8d7790d3e833c6c1021143f3e5c4118293ec3afb5d43ed9ca8e72b";
+    sha256 = "sha256-v8IBn4T82FFBkVIyCmN1YEoPFFnCgbWxmbLNDS5yf48=";
   };
 
   propagatedBuildInputs = [
@@ -29,6 +29,12 @@ buildPythonPackage rec {
     export PATH=$out/bin:$PATH
   '';
 
+  disabledTestPaths = [
+    # Calls poetry and fails to match output exactly
+    "tests/test_cli.py"
+  ];
+
+
   meta = with lib; {
     description = "Given Unicode text, make its representation consistent and possibly less broken";
     homepage = "https://github.com/LuminosoInsight/python-ftfy";
diff --git a/pkgs/development/python-modules/gaphas/default.nix b/pkgs/development/python-modules/gaphas/default.nix
index 0f23415fe6eea..3c8933686b226 100644
--- a/pkgs/development/python-modules/gaphas/default.nix
+++ b/pkgs/development/python-modules/gaphas/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "gaphas";
-  version = "3.5.1";
+  version = "3.6.0";
   disabled = pythonOlder "3.7";
 
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-71oYuLhqJ7bst0W7v9tQSoaisjONZSa9zEWzYWtGl2E=";
+    sha256 = "sha256-yleYbAJdDVzZrMQ3izi9UX3Ji1vIuQDc+RK5+wzrMi4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/gcovr/default.nix b/pkgs/development/python-modules/gcovr/default.nix
index 5e9b32048f1f6..88fc47ad2a599 100644
--- a/pkgs/development/python-modules/gcovr/default.nix
+++ b/pkgs/development/python-modules/gcovr/default.nix
@@ -4,15 +4,19 @@
 , jinja2
 , lxml
 , pygments
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "gcovr";
-  version = "5.0";
+  version = "5.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1d80264cbaadff356b3dda71b8c62b3aa803e5b3eb6d526a24932cd6660a2576";
+    hash = "sha256-d4CEQ1m/8LlsBBR9r/8l5uWF4FWFvVQjabvDd9ad4SE=";
   };
 
   propagatedBuildInputs = [
@@ -33,8 +37,9 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    description = "A Python script for summarizing gcov data";
-    license = licenses.bsd0;
+    description = "Python script for summarizing gcov data";
     homepage = "https://www.gcovr.com/";
+    license = licenses.bsd0;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/genshi/default.nix b/pkgs/development/python-modules/genshi/default.nix
index c476960bbf836..be6abbd836443 100644
--- a/pkgs/development/python-modules/genshi/default.nix
+++ b/pkgs/development/python-modules/genshi/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "Genshi";
-  version = "0.7.5";
+  version = "0.7.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c12d6c2abf7df0ec661d9ff2e197522eae846e43dc58abd5a36443d05bc41135";
+    sha256 = "sha256-NKLOi4DoQ/Ygxbe35ZqqNip2zpdkpvEQMig+2UWMOlk=";
   };
 
   # FAIL: test_sanitize_remove_script_elem (genshi.filters.tests.html.HTMLSanitizerTestCase)
diff --git a/pkgs/development/python-modules/geojson-client/default.nix b/pkgs/development/python-modules/geojson-client/default.nix
index 64fbf0661159e..c67f40e799ce6 100644
--- a/pkgs/development/python-modules/geojson-client/default.nix
+++ b/pkgs/development/python-modules/geojson-client/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "geojson-client";
-  version = "0.7";
+  version = "0.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "exxamalte";
     repo = "python-geojson-client";
     rev = "v${version}";
-    sha256 = "sha256-7EhdIfVM6d5fp6k+RdX6z33O5sZGeF/ThNkSXL8EjE8=";
+    sha256 = "sha256-nzM5P1ww6yWM3e2v3hRw0ECoYmRPhTs0Q7Wwicl+IpU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/gidgethub/default.nix b/pkgs/development/python-modules/gidgethub/default.nix
index 691af2eda8497..9d1fdc07d9017 100644
--- a/pkgs/development/python-modules/gidgethub/default.nix
+++ b/pkgs/development/python-modules/gidgethub/default.nix
@@ -16,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "gidgethub";
-  version = "5.0.1";
+  version = "5.1.0";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3efbd6998600254ec7a2869318bd3ffde38edc3a0d37be0c14bc46b45947b682";
+    sha256 = "sha256-kNGTb6mA2XBaljYvpOWaKFEks3NigsiPgmdIgSMKTiU=";
   };
 
   nativeBuildInputs = [ setuptools pytest-runner ];
diff --git a/pkgs/development/python-modules/github3_py/default.nix b/pkgs/development/python-modules/github3_py/default.nix
index 1f5c983e14f38..67e1868fb8b1a 100644
--- a/pkgs/development/python-modules/github3_py/default.nix
+++ b/pkgs/development/python-modules/github3_py/default.nix
@@ -18,11 +18,11 @@
 
 buildPythonPackage rec {
   pname = "github3.py";
-  version = "3.0.0";
+  version = "3.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a9134cb9efd334b1644ad7c5ee3ff3ff488317c4549ffc0e8d82e4d63383a1a4";
+    sha256 = "sha256-Cbcr4Ul9NGsJaM3oNgoNavedwgbQFJpjzT7IbGXDd8w=";
   };
 
   checkInputs = [ betamax pytest betamax-matchers ]
diff --git a/pkgs/development/python-modules/glean-parser/default.nix b/pkgs/development/python-modules/glean-parser/default.nix
index 30d4db0d2613a..704c556c00334 100644
--- a/pkgs/development/python-modules/glean-parser/default.nix
+++ b/pkgs/development/python-modules/glean-parser/default.nix
@@ -1,33 +1,34 @@
 { lib
-, buildPythonPackage
-, fetchPypi
-, pytestCheckHook
-, pythonOlder
-, setuptools-scm
-# build inputs
 , appdirs
+, buildPythonPackage
 , click
 , diskcache
+, fetchPypi
 , jinja2
 , jsonschema
+, pytestCheckHook
+, pythonOlder
 , pyyaml
+, setuptools-scm
 , yamllint
 }:
 
 buildPythonPackage rec {
-  pname = "glean_parser";
-  version = "5.1.0";
+  pname = "glean-parser";
+  version = "5.1.2";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-8oMbaGsW5Lkw9OluNsXXe2IBNbjeoIb9vDjVOt+uHR0=";
+    pname = "glean_parser";
+    inherit version;
+    hash = "sha256-PjOMNUnrz0kDfYEXv5Ni/9RIHn4Yylle6NJOK1Rb3SY=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py --replace "pytest-runner" ""
-  '';
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
 
   propagatedBuildInputs = [
     appdirs
@@ -38,24 +39,29 @@ buildPythonPackage rec {
     pyyaml
     yamllint
   ];
-  nativeBuildInputs = [
-    setuptools-scm
-  ];
 
   checkInputs = [
     pytestCheckHook
   ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "pytest-runner" ""
+  '';
+
   disabledTests = [
     # https://bugzilla.mozilla.org/show_bug.cgi?id=1741668
     "test_validate_ping"
   ];
 
-  pythonImportsCheck = [ "glean_parser" ];
+  pythonImportsCheck = [
+    "glean_parser"
+  ];
 
   meta = with lib; {
     description = "Tools for parsing the metadata for Mozilla's glean telemetry SDK";
     homepage = "https://github.com/mozilla/glean_parser";
     license = licenses.mpl20;
-    maintainers = [ maintainers.kvark ];
+    maintainers = with maintainers; [ kvark ];
   };
 }
diff --git a/pkgs/development/python-modules/glean-sdk/default.nix b/pkgs/development/python-modules/glean-sdk/default.nix
index f2c2f92c9f0d2..8bfc7dcafeda4 100644
--- a/pkgs/development/python-modules/glean-sdk/default.nix
+++ b/pkgs/development/python-modules/glean-sdk/default.nix
@@ -1,22 +1,27 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, rustPlatform
-, rustc
 , cargo
-, setuptools-rust
-# build inputs
 , cffi
+, fetchPypi
 , glean-parser
+, iso8601
+, pytest-localserver
+, pytestCheckHook
+, pythonOlder
+, rustc
+, rustPlatform
+, setuptools-rust
 }:
 
 buildPythonPackage rec {
   pname = "glean-sdk";
   version = "44.0.0";
 
+  disabled = pythonOlder "3.6";
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-gzLsBwq3wrFde5cEb5+oFLW4KrwoiZpr22JbJhNr1yk=";
+    hash = "sha256-gzLsBwq3wrFde5cEb5+oFLW4KrwoiZpr22JbJhNr1yk=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
@@ -26,22 +31,36 @@ buildPythonPackage rec {
   };
 
   nativeBuildInputs = [
-    rustc
     cargo
-    setuptools-rust
+    rustc
     rustPlatform.cargoSetupHook
+    setuptools-rust
   ];
+
   propagatedBuildInputs = [
     cffi
     glean-parser
+    iso8601
   ];
 
-  pythonImportsCheck = [ "glean" ];
+  checkInputs = [
+    pytest-localserver
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace glean-core/python/setup.py \
+      --replace "glean_parser==5.0.1" "glean_parser>=5.0.1"
+  '';
+
+  pythonImportsCheck = [
+    "glean"
+  ];
 
   meta = with lib; {
-    description = "Modern cross-platform telemetry client libraries and are a part of the Glean project";
+    description = "Telemetry client libraries and are a part of the Glean project";
     homepage = "https://mozilla.github.io/glean/book/index.html";
     license = licenses.mpl20;
-    maintainers = [ maintainers.kvark ];
+    maintainers = with maintainers; [ kvark ];
   };
 }
diff --git a/pkgs/development/python-modules/goodwe/default.nix b/pkgs/development/python-modules/goodwe/default.nix
index 27c70c78a66ed..b750164ccf7a8 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.16";
+  version = "0.2.17";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "marcelblijleven";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-qW1wD6QVLqGhEnpGqNjZ50jb/3HHooohfHz+p4/ZH74=";
+    sha256 = "sha256-Lx7jvL7Fyq8fqJQq8ZgEG/V20+tHxw3yl3s7scAwwjA=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/google-api-python-client/default.nix b/pkgs/development/python-modules/google-api-python-client/default.nix
index 772f45411d397..493bda2f9d5c6 100644
--- a/pkgs/development/python-modules/google-api-python-client/default.nix
+++ b/pkgs/development/python-modules/google-api-python-client/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-api-python-client";
-  version = "2.35.0";
+  version = "2.39.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "038b12979ea86ef0e33962bd33f955c337bc28f0471522bd27a801d52bfb4ae2";
+    sha256 = "sha256-QBFpIV7K+1r7aD0/4OQ8BZ62Jccf6hkp8WQD3acqLcE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-auth-oauthlib/default.nix b/pkgs/development/python-modules/google-auth-oauthlib/default.nix
index 1d23af5a3d46c..6ee0cb0654010 100644
--- a/pkgs/development/python-modules/google-auth-oauthlib/default.nix
+++ b/pkgs/development/python-modules/google-auth-oauthlib/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-auth-oauthlib";
-  version = "0.4.6";
+  version = "0.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-qQoHL2mT8sMnBnv2UnAEY4TNpajssguU6ppofx8jOno=";
+    sha256 = "sha256-MFlrgk/GgI/ayi8EjkmYzED7SzWZ6upm0o3HCFs2xbg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-auth/default.nix b/pkgs/development/python-modules/google-auth/default.nix
index 203053d53cd7c..9eddb0eca9819 100644
--- a/pkgs/development/python-modules/google-auth/default.nix
+++ b/pkgs/development/python-modules/google-auth/default.nix
@@ -18,11 +18,11 @@
 
 buildPythonPackage rec {
   pname = "google-auth";
-  version = "2.6.0";
+  version = "2.6.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-rRYPweqPGeMxoWoUp589ZD2BOmlTS6lhHSyA3BBDna0=";
+    sha256 = "sha256-YNRJ+BQsdC23YPTAvjkSG8jZvoVVVdeEwlLerKHO0/U=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/google-cloud-bigquery/default.nix b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
index a7ee6a72913bd..86ac3048e0ab9 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
@@ -70,6 +70,9 @@ buildPythonPackage rec {
     "test_parameterized_types_round_trip"
     "test_structs"
     "test_table_snapshots"
+    "test__initiate_resumable_upload"
+    "test__initiate_resumable_upload_mtls"
+    "test__initiate_resumable_upload_with_retry"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/google-cloud-container/default.nix b/pkgs/development/python-modules/google-cloud-container/default.nix
index b66ff08cff8a1..ae3c6a8be74a0 100644
--- a/pkgs/development/python-modules/google-cloud-container/default.nix
+++ b/pkgs/development/python-modules/google-cloud-container/default.nix
@@ -8,20 +8,33 @@
 , proto-plus
 , pytestCheckHook
 , pytest-asyncio
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-container";
-  version = "2.10.6";
+  version = "2.10.7";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-dBt2Vs9J0+l534YtKS70MuUEUegwVoU66zghmcz7fGk=";
+    hash = "sha256-I3oYldj915GBCX5VLEZRqGS7jMHWasQGVIvj50EUTK4=";
   };
 
-  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
+    pytestCheckHook
+    pytest-asyncio
+  ];
 
   disabledTests = [
     # requires credentials
diff --git a/pkgs/development/python-modules/google-cloud-core/default.nix b/pkgs/development/python-modules/google-cloud-core/default.nix
index 84937102ac324..e59e6a5cb5f7b 100644
--- a/pkgs/development/python-modules/google-cloud-core/default.nix
+++ b/pkgs/development/python-modules/google-cloud-core/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-core";
-  version = "2.2.2";
+  version = "2.2.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-fRm/iGi0ENC99aA0aKPz8tsjPA7oagI/TswreksV9zY=";
+    sha256 = "sha256-idL3GJvG3HTeEo1CPqUsyHGfCl28zZyoBDP2UEogJVw=";
   };
 
   propagatedBuildInputs = [ google-api-core ];
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 f7c79521b6323..76c686c951ad0 100644
--- a/pkgs/development/python-modules/google-cloud-secret-manager/default.nix
+++ b/pkgs/development/python-modules/google-cloud-secret-manager/default.nix
@@ -8,15 +8,19 @@
 , proto-plus
 , pytestCheckHook
 , pytest-asyncio
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-secret-manager";
-  version = "2.9.2";
+  version = "2.10.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-W93SDJR8bUPQX9KzoZ6YvV9kU+Twd9huH09Smap481g=";
+    hash = "sha256-nQfdej2SveO0Qxam57ZRAyTQ0NnGoyb4nx2YFnqtAhI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-speech/default.nix b/pkgs/development/python-modules/google-cloud-speech/default.nix
index e461b4cdcb53c..72e9f672047a2 100644
--- a/pkgs/development/python-modules/google-cloud-speech/default.nix
+++ b/pkgs/development/python-modules/google-cloud-speech/default.nix
@@ -8,6 +8,7 @@
 , pytestCheckHook
 , pytest-asyncio
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
@@ -26,6 +27,7 @@ buildPythonPackage rec {
     libcst
     google-api-core
     proto-plus
+    setuptools
   ];
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-vision/default.nix b/pkgs/development/python-modules/google-cloud-vision/default.nix
index 61c383dca6edc..b73baab081087 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 = "2.7.1";
+  version = "2.7.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Ty80C73K3/TebsdSHinmp2y8TKgOftqT5PIDafq1GgM=";
+    hash = "sha256-4NTWyf3rndw1zHINlBMtoEmdfSXGnU/jEhxab807Vg4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-nest-sdm/default.nix b/pkgs/development/python-modules/google-nest-sdm/default.nix
index acf2e734f8c35..b190d7e854e9a 100644
--- a/pkgs/development/python-modules/google-nest-sdm/default.nix
+++ b/pkgs/development/python-modules/google-nest-sdm/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "google-nest-sdm";
-  version = "1.8.0";
+  version = "1.9.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "allenporter";
     repo = "python-google-nest-sdm";
     rev = version;
-    sha256 = "sha256-oaUR/2G8dcQ5A4YZeLTSzyMNLI8a29pSoEtTdWvTVKE=";
+    sha256 = "sha256-FHa6/oWV35TPsafgEUTCuu0Rnd1/YBZF3mHOhkVuEU0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-re2/default.nix b/pkgs/development/python-modules/google-re2/default.nix
index b04459bfa141c..defe92b39ba22 100644
--- a/pkgs/development/python-modules/google-re2/default.nix
+++ b/pkgs/development/python-modules/google-re2/default.nix
@@ -1,23 +1,38 @@
-{ lib, buildPythonPackage, pythonOlder, fetchPypi, pybind11, re2, six }:
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, pybind11
+, re2
+, six
+}:
 
 buildPythonPackage rec {
   pname = "google-re2";
-  version = "0.2.20220201";
-  disabled = pythonOlder "3.6";
+  version = "0.2.20220401";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-H8eMC1dM+9ukuRIN4uWWs7oRuQ0tpGaCwaCl0tp+lE8=";
+    hash = "sha256-v3G+MvFV8gq9LJqj/zrtlTjRm0ZNxTh0UdQSPiwFHY4=";
   };
 
   propagatedBuildInputs = [
-    pybind11 re2 six
+    pybind11
+    re2
+    six
+  ];
+
+  pythonImportsCheck = [
+    "re2"
   ];
 
   meta = with lib; {
     description = "RE2 Python bindings";
-    homepage    = "https://github.com/google/re2";
-    license     = licenses.bsd3;
+    homepage = "https://github.com/google/re2";
+    license = licenses.bsd3;
     maintainers = with maintainers; [ alexbakker ];
   };
 }
diff --git a/pkgs/development/python-modules/googleapis-common-protos/default.nix b/pkgs/development/python-modules/googleapis-common-protos/default.nix
index 55380e3081a7b..66a3fe5078589 100644
--- a/pkgs/development/python-modules/googleapis-common-protos/default.nix
+++ b/pkgs/development/python-modules/googleapis-common-protos/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "googleapis-common-protos";
-  version = "1.54.0";
+  version = "1.56.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-pAMdbsbCsbbcPgvn4Qob1y+wsYsH75vntR8sEATOJDc=";
+    sha256 = "sha256-QAdQB5W8/CadJ58PfSU64Y1twf9dWnNhP/5FIDix7F8=";
   };
 
   propagatedBuildInputs = [ grpc protobuf ];
diff --git a/pkgs/development/python-modules/gphoto2/default.nix b/pkgs/development/python-modules/gphoto2/default.nix
index f6fc6db7f387b..6b9125db64e6e 100644
--- a/pkgs/development/python-modules/gphoto2/default.nix
+++ b/pkgs/development/python-modules/gphoto2/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "gphoto2";
-  version = "2.3.2";
+  version = "2.3.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3b1b52ec3004ad6a6927a015b0572878a0a56314caaf1e62b07550e7a2e09465";
+    sha256 = "sha256-bhHGvUGzXrk7snMzv+R0fd/gnZTFJ3xfse5i2Krpl3I=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/python-modules/graphql-relay/default.nix b/pkgs/development/python-modules/graphql-relay/default.nix
index 08e27c1948734..d546046192523 100644
--- a/pkgs/development/python-modules/graphql-relay/default.nix
+++ b/pkgs/development/python-modules/graphql-relay/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "graphql-relay";
-  version = "3.1.0";
+  version = "3.1.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-cNWn7lmV6nwqmjflEidmOxpGTx9A6Y/d6VC+VBXf4LQ=";
+    sha256 = "sha256-En9AkT8Ry4R0Uu95STEmGq47Ii6q+Xb3yEMCmFNOVNM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/graphql-subscription-manager/default.nix b/pkgs/development/python-modules/graphql-subscription-manager/default.nix
index 2ca6a134ee271..ab12d3500886f 100644
--- a/pkgs/development/python-modules/graphql-subscription-manager/default.nix
+++ b/pkgs/development/python-modules/graphql-subscription-manager/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "graphql-subscription-manager";
-  version = "0.5.5";
+  version = "0.5.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "PyGraphqlWebsocketManager";
     rev = version;
-    hash = "sha256-7MqFsttMNnWmmWKj1zaOORBTDGt6Wm8GU7w56DfPl2c=";
+    hash = "sha256-nieKl25yDc3FHnMqwn6FNzWKd8sas3rTlBonYbJc1tg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/graphviz/default.nix b/pkgs/development/python-modules/graphviz/default.nix
index 881dec6b932f9..46a541fe50409 100644
--- a/pkgs/development/python-modules/graphviz/default.nix
+++ b/pkgs/development/python-modules/graphviz/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
@@ -58,6 +59,9 @@ buildPythonPackage rec {
     runHook postCheck
   '';
 
+  # Too many failures due to attempting to connect to com.apple.fonts daemon
+  doCheck = !stdenv.isDarwin;
+
   meta = with lib; {
     description = "Simple Python interface for Graphviz";
     homepage = "https://github.com/xflr6/graphviz";
diff --git a/pkgs/development/python-modules/graspologic/default.nix b/pkgs/development/python-modules/graspologic/default.nix
index 10e7190d1fde7..1a246461e5f7d 100644
--- a/pkgs/development/python-modules/graspologic/default.nix
+++ b/pkgs/development/python-modules/graspologic/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "graspologic";
-  version = "0.3.1";
+  version = "1.0.0";
 
   disabled = isPy27;
 
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "microsoft";
     repo = "graspologic";
     rev = "v${version}";
-    sha256 = "07dmfb1aplha01d22b41js7634dac4v28pv1l3bzssqhi4yyds7h";
+    sha256 = "sha256-mzJ3eFo77gnOh/Vs9u68yFDZW3ilXtcCCwKahKyRRmc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/grpcio-status/default.nix b/pkgs/development/python-modules/grpcio-status/default.nix
index b20426c0288fa..fc069dccbaf7e 100644
--- a/pkgs/development/python-modules/grpcio-status/default.nix
+++ b/pkgs/development/python-modules/grpcio-status/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "grpcio-status";
-  version = "1.43.0";
+  version = "1.44.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-IXWQBvNqf/v/GH1BkfQRjActiqn6aCOhGq14QqPGzNA=";
+    sha256 = "sha256-rGE6t6RTgMv6PlKQItCzcxfYWPFyum5lwYiqc1VTk5g=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/grpcio-tools/default.nix b/pkgs/development/python-modules/grpcio-tools/default.nix
index 78d952f4cb973..c428be6430757 100644
--- a/pkgs/development/python-modules/grpcio-tools/default.nix
+++ b/pkgs/development/python-modules/grpcio-tools/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "grpcio-tools";
-  version = "1.43.0";
+  version = "1.44.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f42f1d713096808b1b0472dd2a3749b712d13f0092dab9442d9c096446e860b2";
+    sha256 = "sha256-vjf0WOpRDJqPHKq7wrJY0S5V0YmlZ/Xtys6Q8n3A778=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/python-modules/gspread/default.nix b/pkgs/development/python-modules/gspread/default.nix
index 466b3ae4770f8..ec3b134f16b8b 100644
--- a/pkgs/development/python-modules/gspread/default.nix
+++ b/pkgs/development/python-modules/gspread/default.nix
@@ -7,12 +7,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "5.2.0";
+  version = "5.3.0";
   pname = "gspread";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-JRc6wIFGnPnWIVFMZXbGz0bznIJfF4uMueeDdKY3sL8=";
+    sha256 = "sha256-viIg4ZcjVw7ZjouOtqW24Er6DwjsHwi4niF8NUSIoEc=";
   };
 
   propagatedBuildInputs = [ requests google-auth google-auth-oauthlib ];
diff --git a/pkgs/development/python-modules/gssapi/default.nix b/pkgs/development/python-modules/gssapi/default.nix
index d500c64532133..f703820a4f5c5 100644
--- a/pkgs/development/python-modules/gssapi/default.nix
+++ b/pkgs/development/python-modules/gssapi/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "gssapi";
-  version = "1.7.2";
+  version = "1.7.3";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "pythongssapi";
     repo = "python-${pname}";
     rev = "v${version}";
-    sha256 = "1xdcnm66b07m7chf04pp58p3khvy547hns1fw1xffd4n51kl42pp";
+    sha256 = "sha256-/1YOnG6sCP8G8J3K2/RycTC95rXW9M+U3Mjz4GCt13s=";
   };
 
   # It's used to locate headers
diff --git a/pkgs/development/python-modules/gym/default.nix b/pkgs/development/python-modules/gym/default.nix
index 1616343f8b436..aff7d1a297816 100644
--- a/pkgs/development/python-modules/gym/default.nix
+++ b/pkgs/development/python-modules/gym/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "gym";
-  version = "0.21.0";
+  version = "0.22.0";
 
   src = fetchFromGitHub {
     owner = "openai";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "12b545xz0r2g4z5r7f8amxl7nm0lqymkzwcwhg1bni9h0sxwpv6c";
+    rev = version;
+    sha256 = "sha256-JbPWLuQGo+fErUlCKKpMwWdu0KvXBDuH2MeAHdJCTgM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/h11/default.nix b/pkgs/development/python-modules/h11/default.nix
index f3d37dacfa3c7..be4802566f75d 100644
--- a/pkgs/development/python-modules/h11/default.nix
+++ b/pkgs/development/python-modules/h11/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "h11";
-  version = "0.12.0";
+  version = "0.13.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0hk0nll6qazsambp3kl8cxxsbl4gv5y9252qadyk0jky0sv2q8j7";
+    sha256 = "sha256-cIE8ETUIeiSKTTjMDhoBgf+rIYgUGpPq9WeUDDlX/wY=";
   };
 
   checkInputs = [ pytestCheckHook ];
diff --git a/pkgs/development/python-modules/ha-philipsjs/default.nix b/pkgs/development/python-modules/ha-philipsjs/default.nix
index 8bf2b5863f08d..f8aecee9a67cd 100644
--- a/pkgs/development/python-modules/ha-philipsjs/default.nix
+++ b/pkgs/development/python-modules/ha-philipsjs/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "ha-philipsjs";
-  version = "2.7.6";
+  version = "2.9.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "danielperna84";
     repo = pname;
     rev = version;
-    sha256 = "sha256-U5XigLFkpRoIXcFB4dpxi8pxqcmmb20sv9i9J70s0C0=";
+    sha256 = "sha256-B2AQoVyoG6wyE9pTWf/ASQd8iZfIrjUr078rSkoARf0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/habanero/default.nix b/pkgs/development/python-modules/habanero/default.nix
index 9dc3193957f6c..0352ec41139df 100644
--- a/pkgs/development/python-modules/habanero/default.nix
+++ b/pkgs/development/python-modules/habanero/default.nix
@@ -1,26 +1,31 @@
-{ buildPythonPackage, lib, fetchFromGitHub
-, requests, tqdm
-, nose, vcrpy
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+, tqdm
+, nose
+, vcrpy
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "habanero";
-  version = "1.0.0";
+  version = "1.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
-  # Install from Pypi is failing because of a missing file (Changelog.rst)
   src = fetchFromGitHub {
     owner = "sckott";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0lhbd5c4sypcd65nh4cgxddsqrxwg89nn1qiii6m5l4fzsvblggv";
+    hash = "sha256-jxaO8nCR5jhXCPjhjVLKaGeQp9JF3ECQ1+j3TOJKawg=";
   };
 
-  propagatedBuildInputs = [ requests tqdm ];
-
-  # almost the entirety of the test suite makes network calls
-  pytestFlagsArray = [
-    "test/test-filters.py"
+  propagatedBuildInputs = [
+    requests
+    tqdm
   ];
 
   checkInputs = [
@@ -28,10 +33,19 @@ buildPythonPackage rec {
     vcrpy
   ];
 
-  meta = {
+  pythonImportsCheck = [
+    "habanero"
+  ];
+
+  # almost the entirety of the test suite makes network calls
+  pytestFlagsArray = [
+    "test/test-filters.py"
+  ];
+
+  meta = with lib; {
     description = "Python interface to Library Genesis";
-    homepage = "https://habanero.readthedocs.io/en/latest/";
-    license = lib.licenses.mit;
-    maintainers = [ lib.maintainers.nico202 ];
+    homepage = "https://habanero.readthedocs.io/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ nico202 ];
   };
 }
diff --git a/pkgs/development/python-modules/hachoir/default.nix b/pkgs/development/python-modules/hachoir/default.nix
index 2c46b14a27445..c7d4178e3bf9a 100644
--- a/pkgs/development/python-modules/hachoir/default.nix
+++ b/pkgs/development/python-modules/hachoir/default.nix
@@ -3,17 +3,21 @@
 , fetchFromGitHub
 , pytestCheckHook
 , urwid
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "hachoir";
-  version = "3.1.2";
+  version = "3.1.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "vstinner";
     repo = pname;
     rev = version;
-    sha256 = "06544qmmimvaznwcjs8wwfih1frdd7anwcw5z07cf69l8p146p0y";
+    hash = "sha256-HlxDwkU0GccO+IUzbtVpLbsAo+Mcacm4/WrXWCsmpBg=";
   };
 
   propagatedBuildInputs = [
@@ -24,7 +28,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "hachoir" ];
+  pythonImportsCheck = [
+    "hachoir"
+  ];
 
   meta = with lib; {
     description = "Python library to view and edit a binary stream";
diff --git a/pkgs/development/python-modules/hacking/default.nix b/pkgs/development/python-modules/hacking/default.nix
index 44a7a2deb75b6..ad7d4a9def73d 100644
--- a/pkgs/development/python-modules/hacking/default.nix
+++ b/pkgs/development/python-modules/hacking/default.nix
@@ -20,6 +20,10 @@ buildPythonPackage rec {
   postPatch = ''
     substituteInPlace requirements.txt \
       --replace "flake8<3.9.0,>=3.8.0" "flake8"
+    substituteInPlace hacking/checks/python23.py \
+      --replace 'H236: class Foo(object):\n    __metaclass__ = \' 'Okay: class Foo(object):\n    __metaclass__ = \'
+    substituteInPlace hacking/checks/except_checks.py \
+      --replace 'H201: except:' 'Okay: except:'
   '';
 
   nativeBuildInputs = [ pbr ];
@@ -35,9 +39,7 @@ buildPythonPackage rec {
   ];
 
   checkPhase = ''
-    stestr run -e <(echo "
-      hacking.tests.test_doctest.HackingTestCase.test_flake8
-    ")
+    stestr run
   '';
 
   pythonImportsCheck = [ "hacking" ];
diff --git a/pkgs/development/python-modules/hahomematic/default.nix b/pkgs/development/python-modules/hahomematic/default.nix
index 8bde06767844d..512f92deb1b61 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 = "0.38.4";
+  version = "1.0.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "danielperna84";
     repo = pname;
     rev = version;
-    sha256 = "sha256-WvcQTaYlKTOYbYwH/FbNTMoHdUhesYeeNYP8RDgQms4=";
+    sha256 = "sha256-8iLQpNax0xgjf+vUo6OcXMF1aZuaRFZBos8EC1gJEPA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/hass-nabucasa/default.nix b/pkgs/development/python-modules/hass-nabucasa/default.nix
index e7732e1f6a426..edf19d0e190ff 100644
--- a/pkgs/development/python-modules/hass-nabucasa/default.nix
+++ b/pkgs/development/python-modules/hass-nabucasa/default.nix
@@ -28,7 +28,8 @@ buildPythonPackage rec {
     sed -i 's/"acme.*"/"acme"/' setup.py
     substituteInPlace setup.py \
       --replace "cryptography>=2.8,<4.0" "cryptography" \
-      --replace "snitun==" "snitun>="
+      --replace "snitun==" "snitun>=" \
+      --replace "pycognito==2022.01.0" "pycognito"
   '';
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/hatasmota/default.nix b/pkgs/development/python-modules/hatasmota/default.nix
index 6a0a3793d87b2..b710e5fb2e263 100644
--- a/pkgs/development/python-modules/hatasmota/default.nix
+++ b/pkgs/development/python-modules/hatasmota/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "hatasmota";
-  version = "0.3.1";
+  version = "0.4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "emontnemery";
     repo = pname;
     rev = version;
-    sha256 = "sha256-/am6cRhAdiqMq0u7Ed4qhIA+Em2O0gIt7HfP19+2XHw=";
+    sha256 = "sha256-r9EBuaKxc7Vcdfk8zoDpIi2i6yIGc7soSWx+RjG+SZo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/hatchling/default.nix b/pkgs/development/python-modules/hatchling/default.nix
new file mode 100644
index 0000000000000..09cbdead671a3
--- /dev/null
+++ b/pkgs/development/python-modules/hatchling/default.nix
@@ -0,0 +1,79 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+
+# runtime
+, editables
+, importlib-metadata # < 3.8
+, packaging
+, pathspec
+, pluggy
+, tomli
+
+# tests
+, build
+, python
+, requests
+, toml
+, virtualenv
+}:
+
+let
+  pname = "hatchling";
+  version = "0.20.1";
+in
+buildPythonPackage {
+  inherit pname version;
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-l1VRce5H3CSAwZBeuxRyy7bNpOM6zX5s2L1/DXPo/Bg=";
+  };
+
+  # listed in backend/src/hatchling/ouroboros.py
+  propagatedBuildInputs = [
+    editables
+    packaging
+    pathspec
+    pluggy
+    tomli
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
+  ];
+
+  pythonImportsCheck = [
+    "hatchling"
+    "hatchling.build"
+  ];
+
+  # tries to fetch packages from the internet
+  doCheck = false;
+
+  # listed in /backend/tests/downstream/requirements.txt
+  checkInputs = [
+    build
+    packaging
+    requests
+    toml
+    virtualenv
+  ];
+
+  preCheck = ''
+    export HOME=$TMPDIR
+  '';
+
+  checkPhase = ''
+    runHook preCheck
+    ${python.interpreter} tests/downstream/integrate.py
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    description = "Modern, extensible Python build backend";
+    homepage = "https://ofek.dev/hatch/latest/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hexa ofek ];
+  };
+}
diff --git a/pkgs/development/python-modules/hepunits/default.nix b/pkgs/development/python-modules/hepunits/default.nix
new file mode 100644
index 0000000000000..9bfd4de36f789
--- /dev/null
+++ b/pkgs/development/python-modules/hepunits/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools-scm
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "hepunits";
+  version = "2.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-6A5hb+8oF/PGbHXcDkHtJjYkiMzgX5Stz977jgXry1g=";
+  };
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  meta = {
+    description = "Units and constants in the HEP system of units";
+    homepage = "https://github.com/scikit-hep/hepunits";
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ doronbehar ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/hg-git/default.nix b/pkgs/development/python-modules/hg-git/default.nix
index eccdcdaed422a..be3edd3721800 100644
--- a/pkgs/development/python-modules/hg-git/default.nix
+++ b/pkgs/development/python-modules/hg-git/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "hg-git";
-  version = "0.10.3";
+  version = "0.10.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "27e6d7686a1548d4632dcc977f2ff3ce2e42d80735339b1f3b389b7481260cc4";
+    sha256 = "sha256-guJlIm9HPTgKw5cg/s7rFST/crAXfPxGYGeZxEJ+hcw=";
   };
 
   propagatedBuildInputs = [ dulwich mercurial ];
diff --git a/pkgs/development/python-modules/hmmlearn/default.nix b/pkgs/development/python-modules/hmmlearn/default.nix
index 17f5126367bf4..bdeff30b76129 100644
--- a/pkgs/development/python-modules/hmmlearn/default.nix
+++ b/pkgs/development/python-modules/hmmlearn/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "hmmlearn";
-  version = "0.2.6";
+  version = "0.2.7";
 
   src = fetchurl {
     url = "mirror://pypi/h/hmmlearn/${pname}-${version}.tar.gz";
-    sha256 = "2a289cf28b31be59fa8ba5d3253d4a2a992401d45a8cdc221ae484fbf390c0d7";
+    sha256 = "sha256-a0snIPJ6912pNnq02Q3LAPONozFo322Rf57F3mZw9uE=";
   };
 
   buildInputs = [ setuptools-scm cython ];
diff --git a/pkgs/development/python-modules/httpcore/default.nix b/pkgs/development/python-modules/httpcore/default.nix
index 79d979b10a97c..7f028c478fc5c 100644
--- a/pkgs/development/python-modules/httpcore/default.nix
+++ b/pkgs/development/python-modules/httpcore/default.nix
@@ -12,6 +12,7 @@
 , pytest-cov
 , pytest-httpbin
 , sniffio
+, socksio
 , trio
 , trustme
 , uvicorn
@@ -19,22 +20,28 @@
 
 buildPythonPackage rec {
   pname = "httpcore";
-  version = "0.14.4";
+  version = "0.14.7";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "encode";
     repo = pname;
     rev = version;
-    sha256 = "19zsg8ijw0s1722ka67mjxx5z07lx9jq36z97l1fa6z1129wq240";
+    sha256 = "sha256-h+3MfP1p/ifN0mF/xxrOKPTjD4Q7WzRh94YO4DYSuXE=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "h11>=0.11,<0.13" "h11>=0.11,<0.14"
+  '';
+
   propagatedBuildInputs = [
     anyio
     certifi
     h11
     h2
     sniffio
+    socksio
   ];
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/httplib2/default.nix b/pkgs/development/python-modules/httplib2/default.nix
index cd2134418a753..9fc6b4ff14400 100644
--- a/pkgs/development/python-modules/httplib2/default.nix
+++ b/pkgs/development/python-modules/httplib2/default.nix
@@ -52,7 +52,13 @@ buildPythonPackage rec {
     # ValueError: Unable to load PEM file.
     # https://github.com/httplib2/httplib2/issues/192#issuecomment-993165140
     "test_client_cert_password_verified"
-  ] ++ lib.optionals (stdenv.isDarwin) [
+
+    # improper pytest marking
+    "test_head_301"
+    "test_303"
+  ] ++ lib.optionals stdenv.isDarwin [
+    # fails with "ConnectionResetError: [Errno 54] Connection reset by peer"
+    "test_connection_close"
     # fails with HTTP 408 Request Timeout, instead of expected 200 OK
     "test_timeout_subsequent"
     "test_connection_close"
diff --git a/pkgs/development/python-modules/httptools/default.nix b/pkgs/development/python-modules/httptools/default.nix
index 0a5b510b0ad9c..963a9ff5ebfe2 100644
--- a/pkgs/development/python-modules/httptools/default.nix
+++ b/pkgs/development/python-modules/httptools/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "httptools";
-  version = "0.3.0";
+  version = "0.4.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3f9b4856d46ba1f0c850f4e84b264a9a8b4460acb20e865ec00978ad9fbaa4cf";
+    sha256 = "sha256-LJqTDDeLPRXWtpX7levP+BpzlbT5d1xPEKB2vrCywf8=";
   };
 
   # tests are not included in pypi tarball
diff --git a/pkgs/development/python-modules/httpx/default.nix b/pkgs/development/python-modules/httpx/default.nix
index d479cc1f13ced..dbf8d1745c0e5 100644
--- a/pkgs/development/python-modules/httpx/default.nix
+++ b/pkgs/development/python-modules/httpx/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "httpx";
-  version = "0.21.3";
+  version = "0.22.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "encode";
     repo = pname;
     rev = version;
-    sha256 = "01069b0kj6vnb26xazlz06rj4yncy5nkq76pajvzx0pmpjkniiz9";
+    sha256 = "sha256-hQmQodGpVG23IZSsWV7rB1iB6QAudDao/8YshIgpmas=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/huawei-lte-api/default.nix b/pkgs/development/python-modules/huawei-lte-api/default.nix
index b62ab4f0e77af..df7616175497b 100644
--- a/pkgs/development/python-modules/huawei-lte-api/default.nix
+++ b/pkgs/development/python-modules/huawei-lte-api/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "huawei-lte-api";
-  version = "1.5.4";
+  version = "1.6";
 
   disabled = pythonOlder "3.4";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "Salamek";
     repo = "huawei-lte-api";
     rev = version;
-    hash = "sha256-aTxP2lVrGr2B+ELz7fnVZVB0nm9HHAb15wDafV44h7M=";
+    hash = "sha256-dJWGs5ZFVYp8/3U24eVRMtA7Marpd88GeW8uX+n6nhY=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/huggingface-hub/default.nix b/pkgs/development/python-modules/huggingface-hub/default.nix
index cf0b27c6c5b3a..3bbc8ad2669e9 100644
--- a/pkgs/development/python-modules/huggingface-hub/default.nix
+++ b/pkgs/development/python-modules/huggingface-hub/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "huggingface-hub";
-  version = "0.1.2";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "huggingface";
     repo = "huggingface_hub";
     rev = "v${version}";
-    sha256 = "1pmi76vinwwn0bcxy5hj8pxhzqxdbzp0y3hsd631yyys01s0n6xd";
+    sha256 = "sha256-rrkubNy60e/1VcGacYQang4yWxUzIBGySxZyq6G1arw=";
   };
 
   nativeBuildInputs = [ packaging ];
diff --git a/pkgs/development/python-modules/humanize/default.nix b/pkgs/development/python-modules/humanize/default.nix
index d0b2464608b94..fa13cdab0c23a 100644
--- a/pkgs/development/python-modules/humanize/default.nix
+++ b/pkgs/development/python-modules/humanize/default.nix
@@ -9,7 +9,7 @@
 }:
 
 buildPythonPackage rec {
-  version = "3.13.1";
+  version = "4.0.0";
   pname = "humanize";
   format = "pyproject";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "jmoiron";
     repo = pname;
     rev = version;
-    sha256 = "sha256-lgGBvYb3ciqETBOR31gxQVD7YyopTtmr++nCwvm63Zs=";
+    sha256 = "sha256-v4OdZmUI2LCick4qCSGOHJ7jtWybwKTeTeIcly+QQQQ=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/hypothesis/default.nix b/pkgs/development/python-modules/hypothesis/default.nix
index 89aac153172d7..c928a13950cac 100644
--- a/pkgs/development/python-modules/hypothesis/default.nix
+++ b/pkgs/development/python-modules/hypothesis/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   # If you need these, you can just add them to your environment.
 
   pname = "hypothesis";
-  version = "6.35.0";
+  version = "6.38.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "HypothesisWorks";
     repo = "hypothesis-python";
     rev = "hypothesis-python-${version}";
-    sha256 = "08wph7q3c08480ma2p7m7mamy0g7g7r5jqpwdyhdga4cfg734527";
+    sha256 = "sha256-JLAM9gBf/Lh+UO7audy6V2jEPg5Cn4DR7moQV7VBwGc=";
   };
 
   postUnpack = "sourceRoot=$sourceRoot/hypothesis-python";
diff --git a/pkgs/development/python-modules/hypothesmith/default.nix b/pkgs/development/python-modules/hypothesmith/default.nix
index ee8b897154bdb..33174deb65730 100644
--- a/pkgs/development/python-modules/hypothesmith/default.nix
+++ b/pkgs/development/python-modules/hypothesmith/default.nix
@@ -17,7 +17,11 @@ buildPythonPackage rec {
 
   checkInputs = [ black parso pytestCheckHook pytest-cov pytest-xdist ];
 
-  pytestFlagsArray = [ "-v" ];  # tests are fairly slow, prevents timeout due to no stdout printing
+  pytestFlagsArray = [
+    "-v"
+    "--numprocesses $NIX_BUILD_CORES"
+  ];
+
   pythonImportsCheck = [ "hypothesmith" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/hyppo/default.nix b/pkgs/development/python-modules/hyppo/default.nix
index 61966bc7de76b..b09d5bd565ff1 100644
--- a/pkgs/development/python-modules/hyppo/default.nix
+++ b/pkgs/development/python-modules/hyppo/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "hyppo";
-  version = "0.2.2";
+  version = "0.3.2";
 
   disabled = pythonOlder "3.6";
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "neurodata";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1wrzrppyjq0pc03bn6qcslxzcnwn7fr2z5lm71gfpli5k05i26nr";
+    sha256 = "sha256-DQ5DrQrFBJ3dnGAjD1c/7GCJeR3g+aL2poR4hwOvmPA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/idasen/default.nix b/pkgs/development/python-modules/idasen/default.nix
index b0e9b7d57065a..f70be30c3fc5c 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.2";
+  version = "0.8.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "newAM";
     repo = "idasen";
     rev = "v${version}";
-    sha256 = "sha256-s8CnYMUVl2VbGbVxICSaKH5DxTA+NP/zPX1z7vfMqi4=";
+    hash = "sha256-tjA7qgU3JYvwSdDH+aWrmKBX1Q9J5/UT7KjiTBxvKAE=";
   };
 
   nativeBuildInputs = [
@@ -39,7 +39,9 @@ buildPythonPackage rec {
     pytest-asyncio
   ];
 
-  pythonImportsCheck = [ "idasen" ];
+  pythonImportsCheck = [
+    "idasen"
+  ];
 
   meta = with lib; {
     description = "Python API and CLI for the ikea IDÅSEN desk";
diff --git a/pkgs/development/python-modules/imageio/default.nix b/pkgs/development/python-modules/imageio/default.nix
index 98495932fdaf1..9c449c69b7700 100644
--- a/pkgs/development/python-modules/imageio/default.nix
+++ b/pkgs/development/python-modules/imageio/default.nix
@@ -1,26 +1,36 @@
 { lib
+, stdenv
 , buildPythonPackage
 , isPy27
 , fetchPypi
-, fetchpatch
+, substituteAll
 , imageio-ffmpeg
 , numpy
 , pillow
 , psutil
 , pytestCheckHook
 , tifffile
+, fsspec
+, libGL
 }:
 
 buildPythonPackage rec {
   pname = "imageio";
-  version = "2.14.1";
+  version = "2.16.1";
   disabled = isPy27;
 
   src = fetchPypi {
-    sha256 = "sha256-cJwY+ACYHkKGq+S9hrbJtbtuKFtrkztboJYu+OeZQFg=";
+    sha256 = "sha256-fxI8sjp3rFq+jtTnrWpggxqC3ixdEjRj3PHUJ4xHedI=";
     inherit pname version;
   };
 
+  patches = [
+    (substituteAll {
+      src = ./libgl-path.patch;
+      libgl = "${libGL.out}/lib/libGL${stdenv.hostPlatform.extensions.sharedLibrary}";
+    })
+  ];
+
   propagatedBuildInputs = [
     imageio-ffmpeg
     numpy
@@ -28,34 +38,33 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
+    fsspec
     psutil
     pytestCheckHook
     tifffile
   ];
 
+  pytestFlagsArray = [
+    "-m 'not needs_internet'"
+  ];
+
   preCheck = ''
     export IMAGEIO_USERDIR="$TMP"
-    export IMAGEIO_NO_INTERNET="true"
-    export HOME="$(mktemp -d)"
+    export HOME=$TMPDIR
   '';
 
-  disabledTests = [
-    # tries to pull remote resources, even with IMAGEIO_NO_INTERNET
-    "test_png_remote"
-    # needs git history
-    "test_mvolread_out_of_bytes"
-    "test_imiter"
-    "test_memory_size"
-    "test_legacy_write_empty"
-  ];
-
   disabledTestPaths = [
+    # tries to fetch fixtures over the network
+    "tests/test_freeimage.py"
     "tests/test_pillow.py"
+    "tests/test_spe.py"
+    "tests/test_swf.py"
   ];
 
   meta = with lib; {
     description = "Library for reading and writing a wide range of image, video, scientific, and volumetric data formats";
     homepage = "http://imageio.github.io/";
     license = licenses.bsd2;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/imageio/libgl-path.patch b/pkgs/development/python-modules/imageio/libgl-path.patch
new file mode 100644
index 0000000000000..f2a2bbfa093d2
--- /dev/null
+++ b/pkgs/development/python-modules/imageio/libgl-path.patch
@@ -0,0 +1,13 @@
+diff --git a/tests/test_core.py b/tests/test_core.py
+index 2cdbb3a..032974c 100644
+--- a/tests/test_core.py
++++ b/tests/test_core.py
+@@ -129,7 +129,7 @@ def test_findlib2():
+     open(os.path.join(fi_dir, "notalib.test.so"), "wb")
+ 
+     # Loading libs
+-    gllib = ctypes.util.find_library("GL")
++    gllib = "@libgl@"
+     core.load_lib([gllib], [])
+     # Fail
+     raises(ValueError, core.load_lib, [], [])  # Nothing given
diff --git a/pkgs/development/python-modules/iminuit/default.nix b/pkgs/development/python-modules/iminuit/default.nix
index 1b99cd05f03be..37703a3150f43 100644
--- a/pkgs/development/python-modules/iminuit/default.nix
+++ b/pkgs/development/python-modules/iminuit/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "iminuit";
-  version = "2.9.0";
+  version = "2.11.2";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "656410ceffead79a52d3d727fdcd2bac78d7774239bef0efc3b7a86bae000ff3";
+    sha256 = "sha256-jK55F8otIsaR4AeSv7u4ErhKxcdRIOsq6Hn7StpB7mw=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/python-modules/immutables/default.nix b/pkgs/development/python-modules/immutables/default.nix
index 896db29f2c1a6..83d6336fe5978 100644
--- a/pkgs/development/python-modules/immutables/default.nix
+++ b/pkgs/development/python-modules/immutables/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "immutables";
-  version = "0.16";
+  version = "0.17";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "MagicStack";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1f6nlpvrs41cjrnikx48qd0rlf7d89h6dzlr5zcndzsim7fgsmgz";
+    sha256 = "sha256-4VuB8eTWHD4hEDj11u/talfv38h2BhogSZmEVyUtnko=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/importlib-metadata/default.nix b/pkgs/development/python-modules/importlib-metadata/default.nix
index 3917742a55a90..31181d9b1afe0 100644
--- a/pkgs/development/python-modules/importlib-metadata/default.nix
+++ b/pkgs/development/python-modules/importlib-metadata/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
+, setuptools
 , setuptools-scm
 , typing-extensions
 , toml
@@ -10,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "importlib-metadata";
-  version = "4.11.0";
+  version = "4.11.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -18,10 +19,11 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "importlib_metadata";
     inherit version;
-    hash = "sha256-nl5VO7uhhDy0oAgjAUuQdha+Ru5QPSuboAHSFKjaIY8=";
+    hash = "sha256-s2/6kl/jE5svb/EdaSX/1Pp7xHhwFl46wmCse0+R5qw=";
   };
 
   nativeBuildInputs = [
+    setuptools # otherwise cross build fails
     setuptools-scm
   ];
 
diff --git a/pkgs/development/python-modules/intbitset/default.nix b/pkgs/development/python-modules/intbitset/default.nix
index db98be8276c59..798bdbbd25195 100644
--- a/pkgs/development/python-modules/intbitset/default.nix
+++ b/pkgs/development/python-modules/intbitset/default.nix
@@ -1,36 +1,23 @@
 { lib
 , fetchPypi
 , buildPythonPackage
-, six
-, nose
+, pytestCheckHook
 }:
+
 buildPythonPackage rec {
   pname = "intbitset";
-  version = "2.4.1";
+  version = "3.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "44bca80b8cc702d5a56f0686f2bb5e028ab4d0c2c1761941589d46b7fa2c701c";
+    sha256 = "sha256-tDG3CAlTZvz9Pi2pLq0TEPhl3DyYuWQS1N6VNNNokEE=";
   };
 
-  patches = [
-    # fixes compilation on aarch64 and determinism (uses -march=core2 and
-    # -mtune=native)
-    ./remove-impure-tuning.patch
-  ];
-
-  propagatedBuildInputs = [
-    six
-  ];
-
   checkInputs = [
-    nose
+    pytestCheckHook
   ];
 
-  checkPhase = ''
-    nosetests
-  '';
-
   pythonImportsCheck = [
     "intbitset"
   ];
diff --git a/pkgs/development/python-modules/intbitset/remove-impure-tuning.patch b/pkgs/development/python-modules/intbitset/remove-impure-tuning.patch
deleted file mode 100644
index 4747b87b806c9..0000000000000
--- a/pkgs/development/python-modules/intbitset/remove-impure-tuning.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 2ea60bdf4d7b0344fc6ff5c97c675842fedccfa8 Mon Sep 17 00:00:00 2001
-From: Cole Helbling <cole.e.helbling@outlook.com>
-Date: Fri, 23 Apr 2021 09:02:22 -0700
-Subject: [PATCH] setup.py: remove impure tuning
-
----
- setup.py | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/setup.py b/setup.py
-index 7840022..3922aa5 100644
---- a/setup.py
-+++ b/setup.py
-@@ -48,7 +48,6 @@ setup(
-     ext_modules=[
-         Extension("intbitset",
-                   ["intbitset/intbitset.c", "intbitset/intbitset_impl.c"],
--                  extra_compile_args=['-O3', '-march=core2', '-mtune=native']
-                   # For debug -> '-ftree-vectorizer-verbose=2'
-                   )
-     ],
--- 
-2.30.1
-
diff --git a/pkgs/development/python-modules/intensity-normalization/default.nix b/pkgs/development/python-modules/intensity-normalization/default.nix
index 48260398f4907..5e658953fc80e 100644
--- a/pkgs/development/python-modules/intensity-normalization/default.nix
+++ b/pkgs/development/python-modules/intensity-normalization/default.nix
@@ -15,14 +15,15 @@
 
 buildPythonPackage rec {
   pname = "intensity-normalization";
-  version = "2.1.4";
+  version = "2.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "e7b46039311bcbba40224d85eb07eefe1488bd8a6faa893a180e15e65c48b7f5";
+    pname = "intensity_normalization";
+    inherit version;
+    sha256 = "sha256-0tc21NBj3Cajklk9mWbKfBzbSwjUrBWs/SlakjEHC1U=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/invocations/default.nix b/pkgs/development/python-modules/invocations/default.nix
new file mode 100644
index 0000000000000..78ace76b762e9
--- /dev/null
+++ b/pkgs/development/python-modules/invocations/default.nix
@@ -0,0 +1,43 @@
+{ buildPythonPackage
+, blessings
+, fetchFromGitHub
+, invoke
+, lib
+, releases
+, semantic-version
+, tabulate
+, twine
+}:
+
+buildPythonPackage rec {
+  pname = "invocations";
+  version = "2.6.0";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "pyinvoke";
+    repo = pname;
+    rev = version;
+    hash = "sha256-eyOJKVRfn7elyEkERl7hvRTNFmq7O9Pr03lBS6xp0wE=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "semantic_version>=2.4,<2.7" "semantic_version" \
+      --replace "tabulate==0.7.5" "tabulate"
+  '';
+
+  propagatedBuildInputs = [ blessings invoke releases semantic-version tabulate twine ];
+
+  # There's an error loading the test suite. See https://github.com/pyinvoke/invocations/issues/29.
+  doCheck = false;
+
+  pythonImportsCheck = [ "invocations" ];
+
+  meta = with lib; {
+    description = "Common/best-practice Invoke tasks and collections";
+    homepage = "https://invocations.readthedocs.io/";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ samuela ];
+  };
+}
diff --git a/pkgs/development/python-modules/ionhash/default.nix b/pkgs/development/python-modules/ionhash/default.nix
new file mode 100644
index 0000000000000..4d90d572876ce
--- /dev/null
+++ b/pkgs/development/python-modules/ionhash/default.nix
@@ -0,0 +1,38 @@
+{ lib, buildPythonPackage, fetchFromGitHub, fetchpatch, amazon-ion, six, pytestCheckHook }:
+
+buildPythonPackage rec {
+  pname = "ionhash";
+  version = "1.2.1";
+
+  src = fetchFromGitHub {
+    owner = "amzn";
+    repo = "ion-hash-python";
+    rev = "v${version}";
+    sha256 = "sha256-mXOLKXauWwwIA/LnF4qyZsBiF/QM+rF9MmE2ewmozYo=";
+    fetchSubmodules = true;
+  };
+
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/amzn/ion-hash-python/commit/5cab56d694ecc176e394bb455c2d726ba1514ce0.patch";
+      sha256 = "sha256-P5QByNafgxI//e3m+b0oG00+rVymCsT/J4dOZSk3354=";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py --replace "'pytest-runner'," ""
+  '';
+
+  propagatedBuildInputs = [ amazon-ion six ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "ionhash" ];
+
+  meta = with lib; {
+    description = "Python implementation of Amazon Ion Hash";
+    homepage = "https://github.com/amzn/ion-hash-python";
+    license = licenses.asl20;
+    maintainers = [ maintainers.terlar ];
+  };
+}
diff --git a/pkgs/development/python-modules/ipykernel/default.nix b/pkgs/development/python-modules/ipykernel/default.nix
index 0827e611679e8..fe67c73cbaddf 100644
--- a/pkgs/development/python-modules/ipykernel/default.nix
+++ b/pkgs/development/python-modules/ipykernel/default.nix
@@ -4,7 +4,6 @@
 , fetchPypi
 , pythonOlder
 , argcomplete
-, debugpy
 , ipython
 , jupyter-client
 , tornado
@@ -13,15 +12,20 @@
 
 buildPythonPackage rec {
   pname = "ipykernel";
-  version = "6.7.0";
+  version = "6.9.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d82b904fdc2fd8c7b1fbe0fa481c68a11b4cd4c8ef07e6517da1f10cc3114d24";
+    sha256 = "sha256-+VBwot/TFH+KsZ8Y7kZzMxCBN1hZN0XgfsGPsItAnx0=";
   };
 
+  # debugpy is optional, see https://github.com/ipython/ipykernel/pull/767
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "'debugpy>=1.0.0,<2.0'," ""
+  '';
+
   propagatedBuildInputs = [
-    debugpy
     ipython
     jupyter-client
     tornado
diff --git a/pkgs/development/python-modules/ipympl/default.nix b/pkgs/development/python-modules/ipympl/default.nix
index 3644442f7adaa..08b41e629787d 100644
--- a/pkgs/development/python-modules/ipympl/default.nix
+++ b/pkgs/development/python-modules/ipympl/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "ipympl";
-  version = "0.8.7";
+  version = "0.8.8";
   format = "wheel";
 
   src = fetchPypi {
     inherit pname version format;
-    sha256 = "11c3d01f0555f855c51a960964e3ab4dff38e6ccd1a4695205fe250341a9eb99";
+    sha256 = "sha256-hkaK6q6MCigAfQx/bbuF8rbLmAUWfojU2qdSlWIAkVk=";
   };
 
 
diff --git a/pkgs/development/python-modules/ipyparallel/default.nix b/pkgs/development/python-modules/ipyparallel/default.nix
index aa7cc22b7a846..b5d0b56bc061f 100644
--- a/pkgs/development/python-modules/ipyparallel/default.nix
+++ b/pkgs/development/python-modules/ipyparallel/default.nix
@@ -19,11 +19,11 @@
 
 buildPythonPackage rec {
   pname = "ipyparallel";
-  version = "8.2.0";
+  version = "8.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-D9n2SlEgmAqJtkKZgGwSu434zuoVXlIAtwUwHrJAHhk=";
+    sha256 = "sha256-8mdHPFL8aohsa4Fq2xVb7Asne8fSJPs/q+uDg05zPHI=";
   };
 
   buildInputs = [ nose ];
diff --git a/pkgs/development/python-modules/ipython/default.nix b/pkgs/development/python-modules/ipython/default.nix
index c1c0b049dc8c8..24fd28a16f7ca 100644
--- a/pkgs/development/python-modules/ipython/default.nix
+++ b/pkgs/development/python-modules/ipython/default.nix
@@ -28,13 +28,13 @@
 
 buildPythonPackage rec {
   pname = "ipython";
-  version = "8.0.1";
+  version = "8.1.0";
   format = "pyproject";
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0x19sj4dlq7r4p1mqnpx9245r8dwvpjwd8n34snfm37a452lsmmb";
+    sha256 = "sha256-QsI+kLLequYxJmiF3hZWpRehZz1+HbV+jrOku2zVzhs=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/itsdangerous/default.nix b/pkgs/development/python-modules/itsdangerous/default.nix
index 35cdf8836a89e..c2050c6f79c07 100644
--- a/pkgs/development/python-modules/itsdangerous/default.nix
+++ b/pkgs/development/python-modules/itsdangerous/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "itsdangerous";
-  version = "2.0.1";
+  version = "2.1.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1w6gfb2zhbcmrfj6digwzw1z68w6zg1q87rm6la2m412zil4swly";
+    sha256 = "sha256-2Ej8uLx9UHxFRrRIV06KRPxOorqE6/jXgykNU+gZkvU=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/jaraco_itertools/default.nix b/pkgs/development/python-modules/jaraco_itertools/default.nix
index 80b0349ed58d3..95d20fd7e6be7 100644
--- a/pkgs/development/python-modules/jaraco_itertools/default.nix
+++ b/pkgs/development/python-modules/jaraco_itertools/default.nix
@@ -4,11 +4,12 @@
 
 buildPythonPackage rec {
   pname = "jaraco.itertools";
-  version = "6.0.3";
+  version = "6.2.1";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1775bfcad5de275a540a36720c5ab34594ea1dbe7ffefa32099b0129c5604608";
+    sha256 = "sha256-YJjts3xrgCPzeU1CWIoTv3WyygK0D/l5XIRry+DBtGw=";
   };
 
   pythonNamespaces = [ "jaraco" ];
diff --git a/pkgs/development/python-modules/jaraco_text/default.nix b/pkgs/development/python-modules/jaraco_text/default.nix
index 054f68ba2f244..e1e82df89ea32 100644
--- a/pkgs/development/python-modules/jaraco_text/default.nix
+++ b/pkgs/development/python-modules/jaraco_text/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "jaraco.text";
-  version = "3.6.0";
+  version = "3.7.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "901d3468eaaa04f1d8a8f141f54b8887bfd943ccba311fc1c1de62c66604dfe0";
+    sha256 = "sha256-p/nMG0Sl8wlqIWy9EwtlDHprLJ+ABbAArpfzKSOafAA=";
   };
 
   pythonNamespaces = [
diff --git a/pkgs/development/python-modules/jc/default.nix b/pkgs/development/python-modules/jc/default.nix
index 9722497c75ab3..11534126a18ab 100644
--- a/pkgs/development/python-modules/jc/default.nix
+++ b/pkgs/development/python-modules/jc/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "jc";
-  version = "1.18.5";
+  version = "1.18.6";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "kellyjonbrazil";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-rsD8euVGf1nbIHnDyxbyW7LJWtUSsc4Uf3c5OmgYpMY=";
+    sha256 = "sha256-yk6Rg9DwilG8OWmT7SF80eYRsRwDwJp+mx2Yv2Gg+ak=";
   };
 
   propagatedBuildInputs = [ ruamel-yaml xmltodict pygments ];
diff --git a/pkgs/development/python-modules/jinja2/default.nix b/pkgs/development/python-modules/jinja2/default.nix
index 5d7ca68b19b79..7c9971b0c4544 100644
--- a/pkgs/development/python-modules/jinja2/default.nix
+++ b/pkgs/development/python-modules/jinja2/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    homepage = "http://jinja.pocoo.org/";
+    homepage = "https://jinja.palletsprojects.com/";
     description = "Stand-alone template engine";
     license = licenses.bsd3;
     longDescription = ''
diff --git a/pkgs/development/python-modules/joblib/default.nix b/pkgs/development/python-modules/joblib/default.nix
index 2b011f56c1e8f..ad7db290d67e6 100644
--- a/pkgs/development/python-modules/joblib/default.nix
+++ b/pkgs/development/python-modules/joblib/default.nix
@@ -1,4 +1,5 @@
 { lib
+, pythonAtLeast
 , pythonOlder
 , buildPythonPackage
 , fetchPypi
@@ -28,6 +29,7 @@ buildPythonPackage rec {
   disabledTests = [
     "test_disk_used" # test_disk_used is broken: https://github.com/joblib/joblib/issues/57
     "test_parallel_call_cached_function_defined_in_jupyter" # jupyter not available during tests
+    "test_nested_parallel_warnings" # tests is flaky under load
   ] ++ lib.optionals stdenv.isDarwin [
     "test_dispatch_multiprocessing" # test_dispatch_multiprocessing is broken only on Darwin.
   ];
diff --git a/pkgs/development/python-modules/jsbeautifier/default.nix b/pkgs/development/python-modules/jsbeautifier/default.nix
index a0818e1e571f6..bdd0897acbe68 100644
--- a/pkgs/development/python-modules/jsbeautifier/default.nix
+++ b/pkgs/development/python-modules/jsbeautifier/default.nix
@@ -1,21 +1,45 @@
-{ lib, fetchPypi, buildPythonApplication, editorconfig, pytest, six }:
+{ lib
+, fetchPypi
+, buildPythonApplication
+, editorconfig
+, pytestCheckHook
+, pythonOlder
+, six
+}:
 
 buildPythonApplication rec {
   pname = "jsbeautifier";
-  version = "1.14.0";
+  version = "1.14.2";
+  format = "setuptools";
 
-  propagatedBuildInputs = [ six editorconfig ];
-  checkInputs = [ pytest ];
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "84fdb008d8af89619269a6aca702288b48f837a99427a0f529aa57ecfb36ee3c";
+    hash = "sha256-PskybkfTilQ5W97/h2lWakcnWOcLnhG6fMVs/spqm/Y=";
   };
 
+  propagatedBuildInputs = [
+    editorconfig
+    six
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "jsbeautifier"
+  ];
+
+  pytestFlagsArray = [
+    "jsbeautifier/tests/testindentation.py"
+  ];
+
   meta = with lib; {
-    homepage    = "http://jsbeautifier.org";
-    description = "JavaScript unobfuscator and beautifier.";
-    license     = licenses.mit;
+    description = "JavaScript unobfuscator and beautifier";
+    homepage = "http://jsbeautifier.org";
+    license = licenses.mit;
     maintainers = with maintainers; [ apeyroux ];
   };
 }
diff --git a/pkgs/development/python-modules/jsonconversion/default.nix b/pkgs/development/python-modules/jsonconversion/default.nix
new file mode 100644
index 0000000000000..22f7fe4625d18
--- /dev/null
+++ b/pkgs/development/python-modules/jsonconversion/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildPythonPackage, fetchPypi, pytestCheckHook, numpy }:
+
+buildPythonPackage rec {
+  pname = "jsonconversion";
+  version = "0.2.13";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-4hMY0N/Px+g5zn3YzNfDWPyi8Pglvd/c2N9SeC4JoZ0=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py --replace "'pytest-runner'" ""
+  '';
+
+  checkInputs = [ pytestCheckHook numpy ];
+
+  pythonImportsCheck = [ "jsonconversion" ];
+
+  meta = with lib; {
+    description = "This python module helps converting arbitrary Python objects into JSON strings and back";
+    homepage = "https://pypi.org/project/jsonconversion/";
+    license = licenses.bsd2;
+    maintainers = [ maintainers.terlar ];
+  };
+}
diff --git a/pkgs/development/python-modules/jsondiff/default.nix b/pkgs/development/python-modules/jsondiff/default.nix
index 0b6f012098189..fe41d0dd85401 100644
--- a/pkgs/development/python-modules/jsondiff/default.nix
+++ b/pkgs/development/python-modules/jsondiff/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "jsondiff";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5122bf4708a031b02db029366184a87c5d0ddd5a327a5884ee6cf0193e599d71";
+    sha256 = "sha256-BM+uvUpeVziUirYVcQ3D7pjvvfhRJV/Tl3xMLuWecxI=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/jsonpickle/default.nix b/pkgs/development/python-modules/jsonpickle/default.nix
index a91e6b3accd29..1ffbbdd5e8954 100644
--- a/pkgs/development/python-modules/jsonpickle/default.nix
+++ b/pkgs/development/python-modules/jsonpickle/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "jsonpickle";
-  version = "2.0.0";
+  version = "2.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0be49cba80ea6f87a168aa8168d717d00c6ca07ba83df3cec32d3b30bfe6fb9a";
+    sha256 = "sha256-hGhM/FM4pTQXPI3WmAnkDyhl0L4fiit6+EZeW5aNz6k=";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/jupyter-client/default.nix b/pkgs/development/python-modules/jupyter-client/default.nix
index 9cb465947551a..23580f42bf577 100644
--- a/pkgs/development/python-modules/jupyter-client/default.nix
+++ b/pkgs/development/python-modules/jupyter-client/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "jupyter_client";
-  version = "7.1.0";
+  version = "7.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a5f995a73cffb314ed262713ae6dfce53c6b8216cea9f332071b8ff44a6e1654";
+    sha256 = "sha256-TqYQM3Jsjlee21VibY7i5r8KgxWN3zdRuN1GssXNHpY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/jupyter_core/default.nix b/pkgs/development/python-modules/jupyter_core/default.nix
index a7dd89a1f89a0..b7838ff5915f6 100644
--- a/pkgs/development/python-modules/jupyter_core/default.nix
+++ b/pkgs/development/python-modules/jupyter_core/default.nix
@@ -2,33 +2,54 @@
 , buildPythonPackage
 , fetchPypi
 , isPy3k
+, fetchpatch
+, python
 , ipython
 , traitlets
 , glibcLocales
 , mock
-, pytest
+, pytestCheckHook
 , nose
 }:
 
 buildPythonPackage rec {
   pname = "jupyter_core";
-  version = "4.9.1";
+  version = "4.9.2";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dce8a7499da5a53ae3afd5a9f4b02e5df1d57250cf48f3ad79da23b4778cd6fa";
+    sha256 = "sha256-1puuuf+xKLjNJlf88nA/icdp0Wc8hRgSEZ46Kg6TrZo=";
   };
 
-  checkInputs = [ pytest mock glibcLocales nose ];
+  checkInputs = [ pytestCheckHook mock glibcLocales nose ];
   propagatedBuildInputs = [ ipython traitlets ];
 
-  patches = [ ./tests_respect_pythonpath.patch ];
+  patches = [
+    # install jupyter_core/*.py files
+    (fetchpatch {
+      url = "https://github.com/jupyter/jupyter_core/pull/253/commits/3bbeaebec0a53520523162d5e8d5c6ca02b1b782.patch";
+      sha256 = "sha256-QeAfj7wLz4egVUPMAgrZ9Wn/Tv60LrIXLgHGVoH41wQ=";
+    })
+    ./tests_respect_pythonpath.patch
+  ];
 
-  checkPhase = ''
-    HOME=$TMPDIR LC_ALL=en_US.utf8 py.test
+  preCheck = ''
+    export HOME=$TMPDIR
+    export LC_ALL=en_US.utf8
   '';
 
+  disabledTests = [
+    # creates a temporary script, which isn't aware of PYTHONPATH
+    "test_argv0"
+  ];
+
+  postCheck = ''
+    $out/bin/jupyter --help > /dev/null
+  '';
+
+  pythonImportsCheck = [ "jupyter_core" ];
+
   meta = with lib; {
     description = "Jupyter core package. A base package on which Jupyter projects rely";
     homepage = "https://jupyter.org/";
diff --git a/pkgs/development/python-modules/jupyterlab-git/default.nix b/pkgs/development/python-modules/jupyterlab-git/default.nix
index 9d2907072e62a..dc909f798dafa 100644
--- a/pkgs/development/python-modules/jupyterlab-git/default.nix
+++ b/pkgs/development/python-modules/jupyterlab-git/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab-git";
-  version = "0.34.1";
+  version = "0.34.2";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     pname = "jupyterlab_git";
     inherit version;
-    sha256 = "c7a03f526eb19175df73fedd5dee3cdae2d39e0474eef8f55c1c55b219ab26d9";
+    sha256 = "sha256-WNBhuHF3rhAWZED4di9B9Loq+shRzpJuaAOOcND1YEE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/jupyterlab-lsp/default.nix b/pkgs/development/python-modules/jupyterlab-lsp/default.nix
index ad6286f4de4a2..276632a327c53 100644
--- a/pkgs/development/python-modules/jupyterlab-lsp/default.nix
+++ b/pkgs/development/python-modules/jupyterlab-lsp/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab-lsp";
-  version = "3.10.0";
+  version = "3.10.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-8/ZGTIwpFuPiYVGZZLF+1Gc8aJcWc3BirtXdahYKwt8=";
+    sha256 = "sha256-mtbvIsSXK4VIB5cDT8eRRyjrePGFa02rM2Fobk8gyd0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/keepalive/default.nix b/pkgs/development/python-modules/keepalive/default.nix
index b6daec6ca2006..6a4fcdb265f47 100644
--- a/pkgs/development/python-modules/keepalive/default.nix
+++ b/pkgs/development/python-modules/keepalive/default.nix
@@ -19,6 +19,7 @@ buildPythonPackage rec {
     description = "An HTTP handler for `urllib2` that supports HTTP 1.1 and keepalive";
     homepage = "https://github.com/wikier/keepalive";
     license = licenses.asl20;
+    broken = true; # uses use_2to3, which is no longer supported for setuptools>=58
   };
 
 }
diff --git a/pkgs/development/python-modules/keras/default.nix b/pkgs/development/python-modules/keras/default.nix
index 2b9a269e280fc..dbdebefdb5a08 100644
--- a/pkgs/development/python-modules/keras/default.nix
+++ b/pkgs/development/python-modules/keras/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "keras";
-  version = "2.7.0";
+  version = "2.8.0";
   format = "wheel";
 
   src = fetchPypi {
     inherit format pname version;
-    sha256 = "0c33ae1f728064ca0d35dfba999e9c316f03623bf5688c82fb83cc74a80ea248";
+    sha256 = "sha256-dE053GV33NgP9KTUFUnpK3fWoX4O3VikMdMGVuKbyU4=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/keystoneauth1/default.nix b/pkgs/development/python-modules/keystoneauth1/default.nix
index cecbc6fd1d265..e4886e08c2d6a 100644
--- a/pkgs/development/python-modules/keystoneauth1/default.nix
+++ b/pkgs/development/python-modules/keystoneauth1/default.nix
@@ -24,11 +24,11 @@
 
 buildPythonPackage rec {
   pname = "keystoneauth1";
-  version = "4.4.0";
+  version = "4.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "34662a6be67ab29424aabe6f99a8d7eb6b88d293109a07e60fea123ebffb314f";
+    sha256 = "sha256-SbNIiWakPusCAOpRG5l+ZAPCXVY6mExjMOgqDr/EVAw=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/kubernetes/default.nix b/pkgs/development/python-modules/kubernetes/default.nix
index 2342ec5bde4a8..8508e5178f528 100644
--- a/pkgs/development/python-modules/kubernetes/default.nix
+++ b/pkgs/development/python-modules/kubernetes/default.nix
@@ -55,7 +55,7 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  disabledTests = lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
+  disabledTests = lib.optionals stdenv.isDarwin [
     # AssertionError: <class 'urllib3.poolmanager.ProxyManager'> != <class 'urllib3.poolmanager.Poolmanager'>
     "test_rest_proxycare"
   ];
diff --git a/pkgs/development/python-modules/labelbox/default.nix b/pkgs/development/python-modules/labelbox/default.nix
index c89782d4027e5..27f05d83aa058 100644
--- a/pkgs/development/python-modules/labelbox/default.nix
+++ b/pkgs/development/python-modules/labelbox/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "labelbox";
-  version = "3.11.1";
+  version = "3.15.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "Labelbox";
     repo = "labelbox-python";
-    rev = "v${version}";
-    sha256 = "114h9phvbdknyvqdnjba3pd7i4iznffhgx9d569lq0hfla3hl61a";
+    rev = "v.${version}";
+    sha256 = "sha256-pJkDC/2EDPWbIw9WqV9kdYmr4X6apXtholzd0IYjgDg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/lektor/default.nix b/pkgs/development/python-modules/lektor/default.nix
index f88e14d0a3e7c..918cbd2591c20 100644
--- a/pkgs/development/python-modules/lektor/default.nix
+++ b/pkgs/development/python-modules/lektor/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , click
+, filetype
 , watchdog
 , exifread
 , requests
@@ -17,6 +18,7 @@
 , pytest-mock
 , pytest-pylint
 , pytest-click
+, python-slugify
 , isPy27
 , functools32
 , setuptools
@@ -24,18 +26,19 @@
 
 buildPythonPackage rec {
   pname = "lektor";
-  version = "3.3.1";
+  version = "3.3.2";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "lektor";
     repo = "lektor";
-    rev = version;
-    sha256 = "04gn3jybqf9wc6l9mi0djpki60adnk7gppmv987ik676k5x8f1kk";
+    rev = "v${version}";
+    sha256 = "sha256-PNHQ87aO+b1xseupIOsO7MXdr16s0gjoHGnZhPlKKRY=";
   };
 
   propagatedBuildInputs = [
-    click watchdog exifread requests mistune inifile Babel jinja2
-    flask pyopenssl ndg-httpsclient setuptools
+    click filetype watchdog exifread requests mistune inifile Babel jinja2
+    flask pyopenssl python-slugify ndg-httpsclient setuptools
   ] ++ lib.optionals isPy27 [ functools32 ];
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/levenshtein/default.nix b/pkgs/development/python-modules/levenshtein/default.nix
index 64a9a3b5e996b..e5f743e0fe11e 100644
--- a/pkgs/development/python-modules/levenshtein/default.nix
+++ b/pkgs/development/python-modules/levenshtein/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "levenshtein";
-  version = "0.17.0";
+  version = "0.18.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "maxbachmann";
     repo = "Levenshtein";
     rev = "v${version}";
-    sha256 = "1a14cw2314jb5lrm979zipzk3av4630lxdr4jzj2wl5qh3yw4w52";
+    sha256 = "sha256-3p9LM4tv45bqeTsuyngivqfd5uml7uqGB2ICKqPa0qY=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/libcloud/default.nix b/pkgs/development/python-modules/libcloud/default.nix
index d46e86ca106b1..375c99faf7c48 100644
--- a/pkgs/development/python-modules/libcloud/default.nix
+++ b/pkgs/development/python-modules/libcloud/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "apache-libcloud";
-  version = "3.5.0";
+  version = "3.5.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Bz8QSSl2+qODoisTuCwkmCfP6QoIPHFiDoMW6BWm2zs=";
+    sha256 = "sha256-7JLDlHj+kKJ+PP6IbEPLy5iaRZPCOf+fLB3XdSCGPPI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/libcst/default.nix b/pkgs/development/python-modules/libcst/default.nix
index 774cb572e95b2..86b546289bbef 100644
--- a/pkgs/development/python-modules/libcst/default.nix
+++ b/pkgs/development/python-modules/libcst/default.nix
@@ -1,14 +1,14 @@
 { lib
-, black
 , buildPythonPackage
 , dataclasses
 , fetchFromGitHub
 , hypothesis
-, isort
-, pytest
+, pytestCheckHook
 , python
 , pythonOlder
 , pyyaml
+, rustPlatform
+, setuptools-rust
 , setuptools-scm
 , typing-extensions
 , typing-inspect
@@ -16,8 +16,8 @@
 
 buildPythonPackage rec {
   pname = "libcst";
-  version = "0.3.23";
-  format = "setuptools";
+  version = "0.4.1";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
@@ -25,9 +25,18 @@ buildPythonPackage rec {
     owner = "instagram";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1r4aiqpndqa75119faknsghi7zxyjrx5r6i7cb3d0liwiqrkzrvx";
+    sha256 = "sha256-soAlt1KBpCn5JxM1b2LZ3vOpBn9HPGdbm+BBYbyEkfE=";
   };
 
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    sourceRoot = "source/${cargoRoot}";
+    name = "${pname}-${version}";
+    hash = "sha256:1rz1c0dv3f1h2m5hwdisl3rbqnmifbva4f0c4vygk7rh1q27l515";
+  };
+
+  cargoRoot = "native";
+
   postPatch = ''
     # test try to format files, which isn't necessary when consuming releases
     sed -i libcst/codegen/generate.py \
@@ -37,8 +46,10 @@ buildPythonPackage rec {
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
   nativeBuildInputs = [
+    setuptools-rust
     setuptools-scm
-  ];
+    rustPlatform.cargoSetupHook
+  ] ++ (with rustPlatform; [ rust.cargo rust.rustc ]);
 
   propagatedBuildInputs = [
     hypothesis
@@ -50,9 +61,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    black
-    isort
-    pytest
+    pytestCheckHook
   ];
 
   preCheck = ''
diff --git a/pkgs/development/python-modules/libevdev/default.nix b/pkgs/development/python-modules/libevdev/default.nix
index 4a4ba489e0a62..494e887c79bca 100644
--- a/pkgs/development/python-modules/libevdev/default.nix
+++ b/pkgs/development/python-modules/libevdev/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "libevdev";
-  version = "0.9";
+  version = "0.10";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "17agnigmzscmdjqmrylg1lza03hwjhgxbpf4l705s6i7p7ndaqrs";
+    sha256 = "sha256-9LM2Ftr6qmQYysCxso+XJSthwJdOU01J+yL8ZWbtwRM=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/libthumbor/default.nix b/pkgs/development/python-modules/libthumbor/default.nix
index c3d8ec9526ffa..0fdb4c4fab949 100644
--- a/pkgs/development/python-modules/libthumbor/default.nix
+++ b/pkgs/development/python-modules/libthumbor/default.nix
@@ -4,26 +4,40 @@
 , django
 , six
 , pycrypto
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "libthumbor";
-  version = "2.0.1";
+  version = "2.0.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ed4fe5f27f8f90e7285b7e6dce99c1b67d43a140bf370e989080b43d80ce25f0";
+    hash = "sha256-1PsiFZrTDVQqy8A3nkaM5LdPiBoriRgHkklTOiczN+g=";
   };
 
-  buildInputs = [ django ];
-  propagatedBuildInputs = [ six pycrypto ];
+  buildInputs = [
+    django
+  ];
+
+  propagatedBuildInputs = [
+    six
+    pycrypto
+  ];
 
   doCheck = false;
 
+  pythonImportsCheck = [
+    "libthumbor"
+  ];
+
   meta = with lib; {
-    description = "libthumbor is the python extension to thumbor";
+    description = "Python extension to thumbor";
     homepage = "https://github.com/heynemann/libthumbor";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/pkgs/development/python-modules/limits/default.nix b/pkgs/development/python-modules/limits/default.nix
index 9a19dda15789a..47738b23dc415 100644
--- a/pkgs/development/python-modules/limits/default.nix
+++ b/pkgs/development/python-modules/limits/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "limits";
-  version = "2.2.0";
+  version = "2.3.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "da6346f0dcf85f17f0f1cc709c3408a3058cf6fee68313c288127c287237b411";
+    sha256 = "sha256-1CcNKVkcxezqsZvgU0VaTmGbo5UGJQK94rVoGvfcG+g=";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/luxtronik/default.nix b/pkgs/development/python-modules/luxtronik/default.nix
index 7df8532a4e2ae..7466397ebb71e 100644
--- a/pkgs/development/python-modules/luxtronik/default.nix
+++ b/pkgs/development/python-modules/luxtronik/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "luxtronik";
-  version = "0.3.10";
+  version = "0.3.11";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Bouni";
     repo = "python-luxtronik";
     rev = version;
-    sha256 = "sha256-JPY1HbNZanEsUpQ5W2kAwEFvwNGQI2hoogTZUGIg3YY=";
+    sha256 = "sha256-pngtkEuWmOD1MG7/Bh+8iqCxU0l/fGHA8uZxYoxOE5Y=";
   };
 
   # Project has no tests
diff --git a/pkgs/development/python-modules/lxml/default.nix b/pkgs/development/python-modules/lxml/default.nix
index 2c549b6830a16..3ef230eb8e8d1 100644
--- a/pkgs/development/python-modules/lxml/default.nix
+++ b/pkgs/development/python-modules/lxml/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "lxml";
-  version = "4.7.1";
+  version = "4.8.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "lxml-${version}";
-    sha256 = "0xji4kcw1fl3nqg04q6zlympkx2kv2s1r1p18763dshgpisqgiq4";
+    sha256 = "sha256-ppyLn8B0YFQivRCOE8TjKGdDDQHbb7UdTUkevznoVC8=";
   };
 
   # setuptoolsBuildPhase needs dependencies to be passed through nativeBuildInputs
diff --git a/pkgs/development/python-modules/lz4/default.nix b/pkgs/development/python-modules/lz4/default.nix
index 9e2cc9b31e155..c6966e632f05e 100644
--- a/pkgs/development/python-modules/lz4/default.nix
+++ b/pkgs/development/python-modules/lz4/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, python
 
 # native inputs
 , pkgconfig
@@ -14,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "python-lz4";
-  version = "3.1.12";
+  version = "4.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.5";
@@ -24,7 +25,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-fqt9aJGqZpfbiYtU8cmm7UQaixZwbTKFBwRfR1B/qic=";
+    sha256 = "sha256-9gp67i2fotvFOpkaQZ82/YKnDEs3DnzXfuNCVRJg88I=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -50,13 +51,13 @@ buildPythonPackage rec {
     psutil
   ];
 
-  # leave build directory, so the installed library gets imported
-  preCheck = ''
-    pushd tests
-  '';
+  # for lz4.steam
+  PYLZ4_EXPERIMENTAL = true;
 
-  postCheck = ''
-    popd
+  # prevent local lz4 directory from getting imported as it lacks native extensions
+  preCheck = ''
+    rm -r lz4
+    export PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/maestral/default.nix b/pkgs/development/python-modules/maestral/default.nix
index ccbd70ff48e3f..63cb8db5fd460 100644
--- a/pkgs/development/python-modules/maestral/default.nix
+++ b/pkgs/development/python-modules/maestral/default.nix
@@ -3,9 +3,23 @@
 , fetchFromGitHub
 , pythonOlder
 , python
-, click, desktop-notifier, dropbox, fasteners, keyring, keyrings-alt, packaging, pathspec, Pyro5, requests, setuptools, sdnotify, survey, watchdog
+, click
+, desktop-notifier
+, dropbox
+, fasteners
+, keyring
+, keyrings-alt
+, packaging
+, pathspec
+, Pyro5
+, requests
+, setuptools
+, sdnotify
+, survey
+, watchdog
 , importlib-metadata
 , pytestCheckHook
+, nixosTests
 }:
 
 buildPythonPackage rec {
@@ -66,6 +80,8 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "maestral" ];
 
+  passthru.tests.maestral = nixosTests.maestral;
+
   meta = with lib; {
     description = "Open-source Dropbox client for macOS and Linux";
     license = licenses.mit;
diff --git a/pkgs/development/python-modules/magicgui/default.nix b/pkgs/development/python-modules/magicgui/default.nix
index 03ca9d7915971..28fa4c9c4e2aa 100644
--- a/pkgs/development/python-modules/magicgui/default.nix
+++ b/pkgs/development/python-modules/magicgui/default.nix
@@ -11,12 +11,12 @@
 , docstring-parser
 }: buildPythonPackage rec {
   pname = "magicgui";
-  version = "0.3.0";
+  version = "0.3.7";
   src = fetchFromGitHub {
     owner = "napari";
     repo = "magicgui";
     rev = "v${version}";
-    sha256 = "sha256-DvL1szk2RoCrpisjp0BVNL6qFZtYc2oYDenX59Cxbug=";
+    sha256 = "sha256-LYXNNr5lS3ibQk2NIopZkB8kzC7j3yY8moGMk0Gr+hU=";
   };
   nativeBuildInputs = [ setuptools-scm ];
   propagatedBuildInputs = [ typing-extensions qtpy pyside2 psygnal docstring-parser ];
diff --git a/pkgs/development/python-modules/manticore/default.nix b/pkgs/development/python-modules/manticore/default.nix
index 0c36f2cc6cc6e..2e1bff7e21ef0 100644
--- a/pkgs/development/python-modules/manticore/default.nix
+++ b/pkgs/development/python-modules/manticore/default.nix
@@ -23,7 +23,7 @@
 
 buildPythonPackage rec {
   pname = "manticore";
-  version = "0.3.6";
+  version = "0.3.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     owner = "trailofbits";
     repo = "manticore";
     rev = version;
-    sha256 = "sha256-L112YwrBcdcLBeBsPLWt3C57u2WDvGLq50EzW9ojdyg=";
+    sha256 = "sha256-+17VBfAtkZZIi3SF5Num1Uqg3WjIpgbz3Jx65rD5zkM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/markupsafe/default.nix b/pkgs/development/python-modules/markupsafe/default.nix
index 12845da7e37a8..b0f876ef3e8dc 100644
--- a/pkgs/development/python-modules/markupsafe/default.nix
+++ b/pkgs/development/python-modules/markupsafe/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "markupsafe";
-  version = "2.0.1";
+  version = "2.1.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     pname = "MarkupSafe";
     inherit version;
-    sha256 = "02k2ynmqvvd0z0gakkf8s4idyb606r7zgga41jrkhqmigy06fk2r";
+    sha256 = "sha256-gL6vY937xkoEUrhB2ANsoGEeBJZQ4gr8uIL108Jm1l8=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/matrix-nio/default.nix b/pkgs/development/python-modules/matrix-nio/default.nix
index 665167e290ea9..724a1459b7794 100644
--- a/pkgs/development/python-modules/matrix-nio/default.nix
+++ b/pkgs/development/python-modules/matrix-nio/default.nix
@@ -41,6 +41,7 @@ buildPythonPackage rec {
   postPatch = ''
     substituteInPlace pyproject.toml \
       --replace 'aiofiles = "^0.6.0"' 'aiofiles = "*"' \
+      --replace 'h11 = "^0.12.0"' 'h11 = "*"' \
       --replace 'jsonschema = "^3.2.0"' 'jsonschema = "*"' \
       --replace 'cachetools = { version = "^4.2.1", optional = true }' 'cachetools = { version = "*", optional = true }'
   '';
diff --git a/pkgs/development/python-modules/mcstatus/default.nix b/pkgs/development/python-modules/mcstatus/default.nix
index 5045964ffde7d..f2745bf3f6f83 100644
--- a/pkgs/development/python-modules/mcstatus/default.nix
+++ b/pkgs/development/python-modules/mcstatus/default.nix
@@ -9,21 +9,20 @@
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
-, six
 }:
 
 buildPythonPackage rec {
   pname = "mcstatus";
-  version = "8.0.0";
+  version = "9.0.4";
   format = "pyproject";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
-    owner = "Dinnerbone";
+    owner = "py-mine";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-19VO5L5abVGm5zEMt88o67ArLjBCnGO2DxfAD+u1hF4=";
+    hash = "sha256-h5pPtzs04TDqOkDFBpcn6faFN4sz/nEMsjjiH7mTEH0=";
   };
 
   nativeBuildInputs = [
@@ -34,7 +33,6 @@ buildPythonPackage rec {
     asyncio-dgram
     click
     dnspython
-    six
   ];
 
   checkInputs = [
@@ -45,19 +43,25 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace 'asyncio-dgram = "1.2.0"' 'asyncio-dgram = ">=1.2.0"' \
-      --replace 'dnspython = "2.1.0"' 'dnspython = "^2.1.0"' \
-      --replace 'six = "1.14.0"' 'six = ">=1.14.0"' \
-      --replace 'click = "7.1.2"' 'click = ">=7.1.2"'
+      --replace 'version = "0.0.0"' 'version = "${version}"' \
+      --replace " --cov=mcstatus --cov-append --cov-branch --cov-report=term-missing -vvv --no-cov-on-fail" "" \
+      --replace 'asyncio-dgram = "2.1.2"' 'asyncio-dgram = ">=2.1.2"' \
+      --replace 'dnspython = "2.2.1"' 'dnspython = ">=2.2.0"'
   '';
 
   pythonImportsCheck = [
     "mcstatus"
   ];
 
+  disabledTests = [
+    # DNS features are limited in the sandbox
+    "test_query"
+    "test_query_retry"
+  ];
+
   meta = with lib; {
     description = "Python library for checking the status of Minecraft servers";
-    homepage = "https://github.com/Dinnerbone/mcstatus";
+    homepage = "https://github.com/py-mine/mcstatus";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/md-toc/default.nix b/pkgs/development/python-modules/md-toc/default.nix
index a37e82a62d34e..5f0f9a434b49c 100644
--- a/pkgs/development/python-modules/md-toc/default.nix
+++ b/pkgs/development/python-modules/md-toc/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "md-toc";
-  version = "8.1.1";
+  version = "8.1.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.5";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "frnmst";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Dlqia+B7WJZlFGlIhgUWdND1qhSS/FOPoFH+uim6i8I=";
+    sha256 = "sha256-EmhCZhxUCzBMqScPeawvcWmP9rrthow1vhTZachjCDI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/meilisearch/default.nix b/pkgs/development/python-modules/meilisearch/default.nix
index 9671c43df081f..73f1c75a5192b 100644
--- a/pkgs/development/python-modules/meilisearch/default.nix
+++ b/pkgs/development/python-modules/meilisearch/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "meilisearch";
-  version = "0.18.1";
+  version = "0.18.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "meilisearch";
     repo = "meilisearch-python";
     rev = "v${version}";
-    hash = "sha256-Rd2GmomNzW0+oI2QEGcPY4g8H+4FN7eLKY1ljcibsLw=";
+    hash = "sha256-U9fdMcxPdtLiUStgTez99SPRh93WLZNVn8uIj4lNWh4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/meshio/default.nix b/pkgs/development/python-modules/meshio/default.nix
index 54f8431ba2792..1471ea5b1e5dd 100644
--- a/pkgs/development/python-modules/meshio/default.nix
+++ b/pkgs/development/python-modules/meshio/default.nix
@@ -6,22 +6,24 @@
 , h5py
 , exdown
 , pytestCheckHook
+, rich
 }:
 
 buildPythonPackage rec {
   pname = "meshio";
-  version = "5.2.2";
+  version = "5.3.2";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "209885ac31b00155e43c27859d1aff0ba7f97f319ee7bed453a8b9e1677a4e52";
+    sha256 = "sha256-L1YNRAgoHBvf8SsM++J+k1UNciIw91W1s6IA26I/bYw=";
   };
 
   propagatedBuildInputs = [
     numpy
     netcdf4
     h5py
+    rich
   ];
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/metar/default.nix b/pkgs/development/python-modules/metar/default.nix
index 4a7bf9edc5aea..3c013e071b6d1 100644
--- a/pkgs/development/python-modules/metar/default.nix
+++ b/pkgs/development/python-modules/metar/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , pytestCheckHook
 }:
 
@@ -15,8 +16,21 @@ buildPythonPackage rec {
     sha256 = "sha256-pl2NWRfFCYyM2qvBt4Ic3wgbGkYZvAO6pX2Set8zYW8=";
   };
 
+  patches = [
+    (fetchpatch {
+      # Fix flapping test; https://github.com/python-metar/python-metar/issues/161
+      url = "https://github.com/python-metar/python-metar/commit/716fa76682e6c2936643d1cf62e3d302ef29aedd.patch";
+      hash = "sha256-y82NN+KDryOiH+eG+2ycXCO9lqQLsah4+YpGn6lM2As=";
+    })
+  ];
+
   checkInputs = [ pytestCheckHook ];
 
+  disabledTests = [
+    # https://github.com/python-metar/python-metar/issues/165
+    "test_033_parseTime_auto_month"
+  ];
+
   pythonImportsCheck = [ "metar" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/mezzanine/default.nix b/pkgs/development/python-modules/mezzanine/default.nix
index 2c78575d3704a..83085d76a367d 100644
--- a/pkgs/development/python-modules/mezzanine/default.nix
+++ b/pkgs/development/python-modules/mezzanine/default.nix
@@ -20,12 +20,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "5.1.0";
+  version = "5.1.3";
   pname = "Mezzanine";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ce1117c81416d2e0a77981419312e200aec1cf3cb3ea9630083bd29e74bbb265";
+    sha256 = "sha256-G/Oj5g70tFUhnbSVElVk0s9Ka+MEuPsEgj6blcFBOoY=";
   };
 
   disabled = isPyPy || lib.versionOlder django.version "1.11"
diff --git a/pkgs/development/python-modules/minidb/default.nix b/pkgs/development/python-modules/minidb/default.nix
index 599b1d70d42e3..5723138ecc3ec 100644
--- a/pkgs/development/python-modules/minidb/default.nix
+++ b/pkgs/development/python-modules/minidb/default.nix
@@ -1,32 +1,37 @@
-{ lib, buildPythonPackage, fetchFromGitHub, isPy3k
-, nose
-, pytest
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "minidb";
-  version = "2.0.5";
-  disabled = !isPy3k;
+  version = "2.0.6";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "thp";
     repo = "minidb";
     rev = version;
-    sha256 = "sha256-aUXsp0E89OxCgTaz7MpKmqTHZfnjDcyHa8Ckzof9rfg=";
+    hash = "sha256-H7W+GBapT9uJgbPlARp4ZLKTN7hZlF/FbNo7rObqDM4=";
   };
 
-  # module imports are incompatible with python2
-  doCheck = isPy3k;
-  checkInputs = [ nose pytest ];
-  checkPhase = ''
-    pytest
-  '';
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "minidb"
+  ];
 
   meta = with lib; {
-    description = "A simple SQLite3-based store for Python objects";
+    description = "SQLite3-based store for Python objects";
     homepage = "https://thp.io/2010/minidb/";
     license = licenses.isc;
-    maintainers = [ maintainers.tv ];
+    maintainers = with maintainers; [ tv ];
   };
-
 }
+
diff --git a/pkgs/development/python-modules/minikerberos/default.nix b/pkgs/development/python-modules/minikerberos/default.nix
index 4b75006bea460..a6e9fd68c2bdc 100644
--- a/pkgs/development/python-modules/minikerberos/default.nix
+++ b/pkgs/development/python-modules/minikerberos/default.nix
@@ -5,24 +5,26 @@
 , fetchPypi
 , oscrypto
 , pythonOlder
+, unicrypto
 }:
 
 buildPythonPackage rec {
   pname = "minikerberos";
-  version = "0.2.18";
+  version = "0.2.20";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-5bmuCbX4a69sP9SnHkB4OQrOHmFufUTlchHkgu6iBYk=";
+    hash = "sha256-eJ+AImP6GIL3AbEj9u7ASLRc1zG/G1KIcABdrwdAIEc=";
   };
 
   propagatedBuildInputs = [
     asn1crypto
     asysocks
     oscrypto
+    unicrypto
   ];
 
   # no tests are published: https://github.com/skelsec/minikerberos/pull/5
diff --git a/pkgs/development/python-modules/minio/default.nix b/pkgs/development/python-modules/minio/default.nix
index 477ed47e9dd14..5b142406fab09 100644
--- a/pkgs/development/python-modules/minio/default.nix
+++ b/pkgs/development/python-modules/minio/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "minio";
-  version = "7.1.2";
+  version = "7.1.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "minio";
     repo = "minio-py";
     rev = version;
-    sha256 = "sha256-KluSdmhpSSqUTLVdFpIGwre7LOu3A16rt73FvaTmuz8=";
+    sha256 = "sha256-IzITqo23pRf83SFpnBZdryGHIsxh+7HrLVLM9CT5nQQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mitmproxy/default.nix b/pkgs/development/python-modules/mitmproxy/default.nix
index d56a2b77132ce..f3b24ffabff2f 100644
--- a/pkgs/development/python-modules/mitmproxy/default.nix
+++ b/pkgs/development/python-modules/mitmproxy/default.nix
@@ -74,7 +74,6 @@ buildPythonPackage rec {
     passlib
     protobuf
     publicsuffix2
-    pyasn1
     pyopenssl
     pyparsing
     pyperclip
@@ -87,8 +86,6 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    beautifulsoup4
-    glibcLocales
     hypothesis
     parver
     pytest-asyncio
diff --git a/pkgs/development/python-modules/mizani/default.nix b/pkgs/development/python-modules/mizani/default.nix
index 9136f1b8e5942..8cd4eb98330b7 100644
--- a/pkgs/development/python-modules/mizani/default.nix
+++ b/pkgs/development/python-modules/mizani/default.nix
@@ -11,16 +11,16 @@
 
 buildPythonPackage rec {
   pname = "mizani";
-  version = "0.7.3";
+  version = "0.7.4";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "has2k1";
     repo = pname;
     rev = "v${version}";
-    sha256 = "04r53dp5jbklv8l9ncgc5wiq0gx25y73h65gmmbbfkxwgsl3w78l";
+    hash = "sha256-oqbo/aQ5L1nQO8BvXH6/8PBPiWcv2m/LUjwow8+J90w=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mkdocs-material/default.nix b/pkgs/development/python-modules/mkdocs-material/default.nix
index 16a8158091691..dc67a51582408 100644
--- a/pkgs/development/python-modules/mkdocs-material/default.nix
+++ b/pkgs/development/python-modules/mkdocs-material/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonApplication rec {
   pname = "mkdocs-material";
-  version = "8.2.5";
+  version = "8.2.7";
 
   src = fetchFromGitHub {
     owner = "squidfunk";
     repo = pname;
     rev = version;
-    sha256 = "0v30x2cgc5i307p0hsy5h58pfd8w6xpnvimsb75614xlmx3ycaqd";
+    sha256 = "sha256-Jh0FmtBCYCEk6mYFLOKb1HQXQ4Wc9Z6JCHFVu420IBk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mlflow/default.nix b/pkgs/development/python-modules/mlflow/default.nix
index add6ee40de4c7..49d6bd7a3248e 100644
--- a/pkgs/development/python-modules/mlflow/default.nix
+++ b/pkgs/development/python-modules/mlflow/default.nix
@@ -27,12 +27,12 @@
 
 buildPythonPackage rec {
   pname = "mlflow";
-  version = "1.23.1";
+  version = "1.24.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "03rfyhli7vbb1pz0zw75mdwj9pz3awxi3dadxn5glpwn953w6r5y";
+    sha256 = "sha256-6hZwiOuHtB8RFwgyfPeV8plLBPlnAdVP1f1bNah4en4=";
   };
 
   # run into https://stackoverflow.com/questions/51203641/attributeerror-module-alembic-context-has-no-attribute-config
diff --git a/pkgs/development/python-modules/mongoengine/default.nix b/pkgs/development/python-modules/mongoengine/default.nix
index d609f465e2771..269ebf2ef3cfd 100644
--- a/pkgs/development/python-modules/mongoengine/default.nix
+++ b/pkgs/development/python-modules/mongoengine/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "mongoengine";
-  version = "0.23.1";
+  version = "0.24.0";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "MongoEngine";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1lj33pgdrp4rvjzcg2glvz1f87np1pfnqhlwbdcijav9rxqc0w70";
+    sha256 = "sha256-BQSB4SGlejARFreeTfqFMzCWvBc6Vvq9EOMLjhAihdI=";
   };
 
   propagatedBuildInputs = [
@@ -36,12 +36,15 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "coverage==4.2" "coverage"
+      --replace "coverage==4.2" "coverage" \
+      --replace "pymongo>=3.4,<=4.0" "pymongo"
   '';
 
   # tests require mongodb running in background
   doCheck = false;
 
+  pythonImportsCheck = [ "mongoengine" ];
+
   meta = with lib; {
     description = "MongoEngine is a Python Object-Document Mapper for working with MongoDB";
     homepage = "http://mongoengine.org/";
diff --git a/pkgs/development/python-modules/moonraker-api/default.nix b/pkgs/development/python-modules/moonraker-api/default.nix
index 9f6ca7e91a785..50ba81d6d5260 100644
--- a/pkgs/development/python-modules/moonraker-api/default.nix
+++ b/pkgs/development/python-modules/moonraker-api/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "moonraker-api";
-  version = "2.0.4";
+  version = "2.0.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "cmroche";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1hhm3jnl9qm44y4k927fzw1n32c3551kgsk7i57qw25nca9x3k61";
+    sha256 = "sha256-PgFsXmdAmHXK0wZ6xLTu94RdME1L2H1Mb6V+qFlGXSk=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/motionblinds/default.nix b/pkgs/development/python-modules/motionblinds/default.nix
index 8bed74a4d5201..0d8a131a8e426 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.1";
+  version = "0.6.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "starkillerOG";
     repo = "motion-blinds";
     rev = version;
-    sha256 = "sha256-31ofLiBQjSMDtptgYF5rqS1bB5UDUbsbo25Nrk4WvIY=";
+    sha256 = "sha256-k0o6zGhuQPCh9bxXd7v9Hfjo1vKmf5kpw7MGJ31/1Mw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/moto/default.nix b/pkgs/development/python-modules/moto/default.nix
index 1d9d077437982..f920a06488a3f 100644
--- a/pkgs/development/python-modules/moto/default.nix
+++ b/pkgs/development/python-modules/moto/default.nix
@@ -1,269 +1,115 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27, fetchpatch
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+
+# runtime
 , aws-xray-sdk
-, backports_tempfile
 , boto3
 , botocore
 , cfn-lint
+, cryptography
 , docker
 , flask
 , flask-cors
-, freezegun
+, graphql-core
+, idna
 , jinja2
 , jsondiff
-, mock
-, pyaml
+, python-dateutil
 , python-jose
 , pytz
+, pyyaml
 , requests
 , responses
-, six
 , sshpubkeys
-, sure
 , werkzeug
 , xmltodict
-, parameterized
-, idna
-, nose
+
+# tests
+, freezegun
 , pytestCheckHook
 , pytest-xdist
+, sure
 }:
 
 buildPythonPackage rec {
   pname = "moto";
-  version = "3.0.2";
+  version = "3.0.5";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-vZ1oofOYUkFETDFKwSmifvvn+bCi/6NQAxu950NYk5k=";
+    sha256 = "sha256-hfLs4K0DBaoTo5E5zmSKs6/hwEyzKsHbjV5ekRfU0Q4=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "ecdsa<0.15" "ecdsa" \
-      --replace "idna<3,>=2.5" "idna" \
-      --replace "MarkupSafe<2.0" "MarkupSafe" \
-  '';
-
   propagatedBuildInputs = [
     aws-xray-sdk
     boto3
     botocore
     cfn-lint
+    cryptography
     docker
-    flask # required for server
+    flask
+    flask-cors
+    graphql-core
+    idna
     jinja2
     jsondiff
-    mock
-    pyaml
+    python-dateutil
     python-jose
     pytz
-    six
+    pyyaml
     requests
     responses
     sshpubkeys
     werkzeug
     xmltodict
-    idna
-  ] ++ lib.optionals isPy27 [ backports_tempfile ];
+  ];
 
   checkInputs = [
-    boto3
-    flask-cors
     freezegun
-    parameterized
-    pytestCheckHook
     pytest-xdist
+    pytestCheckHook
     sure
   ];
 
-  # Multiple test files still import boto, rather than boto3 like
-  # boto is long-deprecated and broken on python3.9
-  # https://github.com/spulec/moto/blob/63ce647123755e4c4693a89f52c254596004c098/tests/test_autoscaling/test_autoscaling.py#L2
-  # NOTE: This should change to use disabledTestFiles / disabledTestPaths once that
-  # feature stabalizes: see #113153 (mostly the discussion therein), #113167, #110700
   pytestFlagsArray = [
-    "-n $NIX_BUILD_CORES"
-    "--ignore=tests/test_awslambda/test_policy.py"
-    "--ignore=tests/test_autoscaling/test_autoscaling.py"
-    "--ignore=tests/test_autoscaling/test_cloudformation.py"
-    "--ignore=tests/test_autoscaling/test_elbv2.py"
-    "--ignore=tests/test_autoscaling/test_launch_configurations.py"
-    "--ignore=tests/test_autoscaling/test_policies.py"
-    "--ignore=tests/test_autoscaling/test_server.py"
-    "--ignore=tests/test_awslambda/test_lambda.py"
-    "--ignore=tests/test_awslambda/test_lambda_cloudformation.py"
-    "--ignore=tests/test_batch/test_cloudformation.py"
-    "--ignore=tests/test_batch/test_server.py"
-    "--ignore=tests/test_cloudformation/test_cloudformation_depends_on.py"
-    "--ignore=tests/test_cloudformation/test_cloudformation_stack_crud.py"
-    "--ignore=tests/test_cloudformation/test_cloudformation_stack_crud_boto3.py"
-    "--ignore=tests/test_cloudformation/test_cloudformation_stack_integration.py"
-    "--ignore=tests/test_cloudformation/test_stack_parsing.py"
-    "--ignore=tests/test_cloudformation/test_validate.py"
-    "--ignore=tests/test_cloudwatch/test_cloudwatch.py"
-    "--ignore=tests/test_cognitoidentity/test_server.py"
-    "--ignore=tests/test_config/test_config.py"
-    "--ignore=tests/test_core/test_auth.py"
-    "--ignore=tests/test_core/test_decorator_calls.py"
-    "--ignore=tests/test_core/test_nested.py"
-    "--ignore=tests/test_core/test_server.py"
-    "--ignore=tests/test_datapipeline/test_datapipeline.py"
-    "--ignore=tests/test_datapipeline/test_server.py"
-    "--ignore=tests/test_datasync/test_datasync.py"
-    "--ignore=tests/test_dynamodb/test_dynamodb.py"
-    "--ignore=tests/test_dynamodb/test_dynamodb_table_with_range_key.py"
-    "--ignore=tests/test_dynamodb/test_dynamodb_table_without_range_key.py"
-    "--ignore=tests/test_dynamodb/test_server.py"
-    "--ignore=tests/test_dynamodb2/test_dynamodb.py"
-    "--ignore=tests/test_dynamodb2/test_dynamodb_table_with_range_key.py"
-    "--ignore=tests/test_dynamodb2/test_dynamodb_table_without_range_key.py"
-    "--ignore=tests/test_dynamodb2/test_server.py"
-    "--ignore=tests/test_ec2/test_amazon_dev_pay.py"
-    "--ignore=tests/test_ec2/test_amis.py"
-    "--ignore=tests/test_ec2/test_availability_zones_and_regions.py"
-    "--ignore=tests/test_ec2/test_customer_gateways.py"
-    "--ignore=tests/test_ec2/test_dhcp_options.py"
-    "--ignore=tests/test_ec2/test_elastic_block_store.py"
-    "--ignore=tests/test_ec2/test_elastic_ip_addresses.py"
-    "--ignore=tests/test_ec2/test_elastic_network_interfaces.py"
-    "--ignore=tests/test_ec2/test_general.py"
-    "--ignore=tests/test_ec2/test_instances.py"
-    "--ignore=tests/test_ec2/test_internet_gateways.py"
-    "--ignore=tests/test_ec2/test_ip_addresses.py"
-    "--ignore=tests/test_ec2/test_key_pairs.py"
-    "--ignore=tests/test_ec2/test_monitoring.py"
-    "--ignore=tests/test_ec2/test_network_acls.py"
-    "--ignore=tests/test_ec2/test_placement_groups.py"
-    "--ignore=tests/test_ec2/test_regions.py"
-    "--ignore=tests/test_ec2/test_reserved_instances.py"
-    "--ignore=tests/test_ec2/test_route_tables.py"
-    "--ignore=tests/test_ec2/test_security_groups.py"
-    "--ignore=tests/test_ec2/test_spot_instances.py"
-    "--ignore=tests/test_ec2/test_subnets.py"
-    "--ignore=tests/test_ec2/test_tags.py"
-    "--ignore=tests/test_ec2/test_virtual_private_gateways.py"
-    "--ignore=tests/test_ec2/test_vm_export.py"
-    "--ignore=tests/test_ec2/test_vm_import.py"
-    "--ignore=tests/test_ec2/test_vpc_peering.py"
-    "--ignore=tests/test_ec2/test_vpcs.py"
-    "--ignore=tests/test_ec2/test_vpn_connections.py"
-    "--ignore=tests/test_ec2/test_vpn_connections.py"
-    "--ignore=tests/test_ec2/test_windows.py"
-    "--ignore=tests/test_ecs/test_ecs_boto3.py"
-    "--ignore=tests/test_elb/test_elb.py"
-    "--ignore=tests/test_elb/test_server.py"
-    "--ignore=tests/test_elbv2/test_elbv2.py"
-    "--ignore=tests/test_elbv2/test_server.py"
-    "--ignore=tests/test_emr/test_emr.py"
-    "--ignore=tests/test_emr/test_server.py"
-    "--ignore=tests/test_glacier/test_glacier_archives.py"
-    "--ignore=tests/test_glacier/test_glacier_jobs.py"
-    "--ignore=tests/test_glacier/test_glacier_vaults.py"
-    "--ignore=tests/test_iam/test_iam.py"
-    "--ignore=tests/test_iam/test_iam_cloudformation.py"
-    "--ignore=tests/test_iam/test_iam_groups.py"
-    "--ignore=tests/test_iam/test_server.py"
-    "--ignore=tests/test_iot/test_server.py"
-    "--ignore=tests/test_iotdata/test_server.py"
-    "--ignore=tests/test_kinesis/test_kinesis.py"
-    "--ignore=tests/test_kinesis/test_kinesis_cloudformation.py"
-    "--ignore=tests/test_kinesis/test_server.py"
-    "--ignore=tests/test_kinesisvideo/test_server.py"
-    "--ignore=tests/test_kinesisvideoarchivedmedia/test_server.py"
-    "--ignore=tests/test_kms/test_kms.py"
-    "--ignore=tests/test_kms/test_server.py"
-    "--ignore=tests/test_kms/test_utils.py"
-    "--ignore=tests/test_logs/test_logs.py"
-    "--ignore=tests/test_polly/test_server.py"
-    "--ignore=tests/test_rds/test_rds.py"
-    "--ignore=tests/test_rds/test_server.py"
-    "--ignore=tests/test_rds2/test_server.py"
-    "--ignore=tests/test_redshift/test_redshift.py"
-    "--ignore=tests/test_redshift/test_server.py"
-    "--ignore=tests/test_resourcegroupstaggingapi/test_resourcegroupstaggingapi.py"
-    "--ignore=tests/test_route53/test_route53.py"
-    "--ignore=tests/test_s3/test_s3.py"
-    "--ignore=tests/test_s3/test_s3_cloudformation.py"
-    "--ignore=tests/test_s3/test_s3_lifecycle.py"
-    "--ignore=tests/test_s3/test_s3_storageclass.py"
-    "--ignore=tests/test_s3/test_s3_utils.py"
-    "--ignore=tests/test_s3bucket_path/test_s3bucket_path.py"
-    "--ignore=tests/test_s3bucket_path/test_s3bucket_path_combo.py"
-    "--ignore=tests/test_secretsmanager/test_server.py"
-    "--ignore=tests/test_ses/test_server.py"
-    "--ignore=tests/test_ses/test_ses.py"
-    "--ignore=tests/test_ses/test_ses_boto3.py"
-    "--ignore=tests/test_ses/test_ses_sns_boto3.py"
-    "--ignore=tests/test_sns/test_application.py"
-    "--ignore=tests/test_sns/test_application_boto3.py"
-    "--ignore=tests/test_sns/test_publishing.py"
-    "--ignore=tests/test_sns/test_publishing_boto3.py"
-    "--ignore=tests/test_sns/test_server.py"
-    "--ignore=tests/test_sns/test_subscriptions.py"
-    "--ignore=tests/test_sns/test_subscriptions_boto3.py"
-    "--ignore=tests/test_sns/test_topics.py"
-    "--ignore=tests/test_sns/test_topics_boto3.py"
-    "--ignore=tests/test_sqs/test_server.py"
-    "--ignore=tests/test_sqs/test_sqs.py"
-    "--ignore=tests/test_ssm/test_ssm_boto3.py"
-    "--ignore=tests/test_ssm/test_ssm_docs.py"
-    "--ignore=tests/test_sts/test_server.py"
-    "--ignore=tests/test_sts/test_sts.py"
-    "--ignore=tests/test_swf/models/test_activity_task.py"
-    "--ignore=tests/test_swf/models/test_decision_task.py"
-    "--ignore=tests/test_swf/models/test_timeout.py"
-    "--ignore=tests/test_swf/models/test_workflow_execution.py"
-    "--ignore=tests/test_swf/responses/test_activity_tasks.py"
-    "--ignore=tests/test_swf/responses/test_activity_types.py"
-    "--ignore=tests/test_swf/responses/test_decision_tasks.py"
-    "--ignore=tests/test_swf/responses/test_domains.py"
-    "--ignore=tests/test_swf/responses/test_timeouts.py"
-    "--ignore=tests/test_swf/responses/test_workflow_executions.py"
-    "--ignore=tests/test_swf/responses/test_workflow_types.py"
-    # attempts web connections
-    "--ignore=tests/test_appsync/test_appsync_schema.py"
-    "--ignore=tests/test_awslambda/test_lambda_eventsourcemapping.py"
-    "--ignore=tests/test_awslambda/test_lambda_invoke.py"
-    "--ignore=tests/test_batch/test_batch_jobs.py"
-    "--ignore=tests/**/*_integration.py"
+    "--numprocesses $NIX_BUILD_CORES"
+
+    # Disable tests that try to access the network
+    "--deselect=tests/test_cloudformation/test_cloudformation_custom_resources.py::test_create_custom_lambda_resource__verify_cfnresponse_failed"
+    "--deselect=tests/test_cloudformation/test_server.py::test_cloudformation_server_get"
+    "--deselect=tests/test_core/test_decorator_calls.py::test_context_manager"
+    "--deselect=tests/test_core/test_decorator_calls.py::test_decorator_start_and_stop"
+    "--deselect=tests/test_core/test_request_mocking.py::test_passthrough_requests"
+    "--deselect=tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination"
+    "--deselect=tests/test_firehose/test_firehose_put.py::test_put_record_http_destination"
+    "--deselect=tests/test_logs/test_integration.py::test_put_subscription_filter_with_lambda"
+    "--deselect=tests/test_sqs/test_integration.py::test_invoke_function_from_sqs_exception"
+    "--deselect=tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_exception"
+    "--deselect=tests/test_stepfunctions/test_stepfunctions.py::test_state_machine_creation_fails_with_invalid_names"
+    "--deselect=tests/test_stepfunctions/test_stepfunctions.py::test_state_machine_list_executions_with_pagination"
+
+    # json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
+    "--deselect=tests/test_cloudformation/test_cloudformation_stack_integration.py::test_lambda_function"
+  ];
+
+  disabledTestPaths = [
+    # xml.parsers.expat.ExpatError: out of memory: line 1, column 0
+    "tests/test_sts/test_sts.py"
+    # botocore.exceptions.NoCredentialsError: Unable to locate credentials
+    "tests/test_redshiftdata/test_redshiftdata.py"
+    # Tries to access the network
+    "tests/test_appsync/test_appsync_schema.py"
+    "tests/test_awslambda/test_lambda_eventsourcemapping.py"
+    "tests/test_awslambda/test_lambda_invoke.py"
+    "tests/test_batch/test_batch_jobs.py"
   ];
 
   disabledTests = [
-    # these tests rely on the network
-    "test_server"
-    "test_managedblockchain_nodes"
-    "test_swf"
-    "test_simple_instance"
-    "test_passthrough_requests"
-    "test_s3_server_get"
-    "test_s3_server_bucket_create"
-    "test_s3_server_post_to_bucket"
-    "test_s3_server_put_ipv6"
-    "test_s3_server_put_ipv4"
-    "test_http_proxying_integration"
-    "test_submit_job_by_name"
-    "test_submit_job"
-    "test_list_jobs"
-    "test_terminate_job"
-    "test_idtoken_contains_kid_header"
-    "test_latest_meta_data"
-    "test_meta_data_iam"
-    "test_meta_data_security_credentials"
-    "test_meta_data_default_role"
-    "test_reset_api"
-    "test_data_api"
-    "test_requests_to_amazon_subdomains_dont_work"
-    "test_get_records_seq"
-    "test_stream_with_range_key"
-    "test_create_notebook_instance_bad_volume_size"
-    "http_destination"
-    "test_invoke_function_from_sqs_exception"
-    "test_state_machine_list_executions_with_pagination"
-    "test_put_subscription_filter_with_lambda"
-    "test_create_custom_lambda_resource__verify_cfnresponse_failed"
-    "test_state_machine_creation_fails_with_invalid_names"
-    # needs graphql
-    "test_get_schema_creation_status"
     # only appears in aarch64 currently, but best to be safe
     "test_state_machine_list_executions_with_filter"
   ];
diff --git a/pkgs/development/python-modules/msal-extensions/default.nix b/pkgs/development/python-modules/msal-extensions/default.nix
index f81395f0245b7..a811018da214b 100644
--- a/pkgs/development/python-modules/msal-extensions/default.nix
+++ b/pkgs/development/python-modules/msal-extensions/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "msal-extensions";
-  version = "0.3.1";
+  version = "1.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d9029af70f2cbdc5ad7ecfed61cb432ebe900484843ccf72825445dbfe62d311";
+    sha256 = "sha256-xnarpWsMzjeD3htcXs/oKNuZgWeHUSbKS0fcZDZFE1Q=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/msgpack/default.nix b/pkgs/development/python-modules/msgpack/default.nix
index 3feeca74ccd67..805d347389c0f 100644
--- a/pkgs/development/python-modules/msgpack/default.nix
+++ b/pkgs/development/python-modules/msgpack/default.nix
@@ -1,7 +1,8 @@
-{ buildPythonPackage
+{ lib
+, buildPythonPackage
 , fetchPypi
-, pytest
-, lib
+, pytestCheckHook
+, setuptools
 }:
 
 buildPythonPackage rec {
@@ -13,17 +14,17 @@ buildPythonPackage rec {
     sha256 = "51fdc7fb93615286428ee7758cecc2f374d5ff363bdd884c7ea622a7a327a81e";
   };
 
-  checkPhase = ''
-    py.test
-  '';
+  nativeBuildInputs = [
+    setuptools
+  ];
 
-  checkInputs = [ pytest ];
+  checkInputs = [ pytestCheckHook ];
 
-  meta = {
+  meta = with lib;  {
     homepage = "https://github.com/msgpack/msgpack-python";
     description = "MessagePack serializer implementation for Python";
     changelog = "https://github.com/msgpack/msgpack-python/blob/master/ChangeLog.rst";
-    license = lib.licenses.asl20;
-    # maintainers =  ?? ;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/msldap/default.nix b/pkgs/development/python-modules/msldap/default.nix
index f0e6e5abaa99f..7a2a2611d3cd8 100644
--- a/pkgs/development/python-modules/msldap/default.nix
+++ b/pkgs/development/python-modules/msldap/default.nix
@@ -8,15 +8,19 @@
 , tqdm
 , winacl
 , winsspi
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "msldap";
-  version = "0.3.30";
+  version = "0.3.38";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-fX+W1Bq4F0/6DyxWeA6zvoswFQCdDpSk29g7nq1cYYE=";
+    hash = "sha256-zJEp8/jPTAb3RpzyXySdtVl2uSLpSirGkJh7GB/3Qwc=";
   };
 
   propagatedBuildInputs = [
@@ -31,7 +35,10 @@ buildPythonPackage rec {
 
   # Project doesn't have tests
   doCheck = false;
-  pythonImportsCheck = [ "msldap" ];
+
+  pythonImportsCheck = [
+    "msldap"
+  ];
 
   meta = with lib; {
     description = "Python LDAP library for auditing MS AD";
diff --git a/pkgs/development/python-modules/multidict/default.nix b/pkgs/development/python-modules/multidict/default.nix
index 0ea21ecbe405a..6ee071732691b 100644
--- a/pkgs/development/python-modules/multidict/default.nix
+++ b/pkgs/development/python-modules/multidict/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "multidict";
-  version = "5.2.0";
+  version = "6.0.2";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0dd1c93edb444b33ba2274b66f63def8a327d607c6c790772f448a53b6ea59ce";
+    sha256 = "sha256-X/O9dfOOTEPx9HDy33pNQwuCHEziK+OE4UWctX1rsBM=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/mutagen/default.nix b/pkgs/development/python-modules/mutagen/default.nix
index 33fc3c02daeba..6308b6fceb6f6 100644
--- a/pkgs/development/python-modules/mutagen/default.nix
+++ b/pkgs/development/python-modules/mutagen/default.nix
@@ -1,37 +1,74 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchPypi
-, isPy27
-, flake8
+
+# docs
+, python
+, sphinx
+, sphinx_rtd_theme
+
+# tests
 , hypothesis
-, pycodestyle
-, pyflakes
-, pytest
-, setuptools
-, pkgs
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "mutagen";
   version = "1.45.1";
-  disabled = isPy27; # abandoned
+  format = "pyproject";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "6397602efb3c2d7baebd2166ed85731ae1c1d475abca22090b7141ff5034b3e1";
   };
 
-  propagatedBuildInputs = [ setuptools ];
+  outputs = [
+    "doc"
+    "out"
+  ];
+
+  nativeBuildInputs = [
+    sphinx
+    sphinx_rtd_theme
+  ];
+
+  postInstall = ''
+    ${python.interpreter} setup.py build_sphinx --build-dir=$doc
+  '';
+
   checkInputs = [
-    pkgs.faad2 pkgs.flac pkgs.vorbis-tools pkgs.liboggz
-    pkgs.glibcLocales pycodestyle pyflakes pytest hypothesis flake8
+    hypothesis
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # Hypothesis produces unreliable results: Falsified on the first call but did not on a subsequent one
+    "test_test_fileobj_save"
+  ];
+
+  disabledTestPaths = [
+    # we are not interested in code quality measurements
+    "tests/quality/test_flake8.py"
   ];
-  LC_ALL = "en_US.UTF-8";
 
   meta = with lib; {
-    description = "Python multimedia tagging library";
+    description = "Python module for handling audio metadata";
+    longDescription = ''
+      Mutagen is a Python module to handle audio metadata. It supports
+      ASF, FLAC, MP4, Monkey's Audio, MP3, Musepack, Ogg Opus, Ogg FLAC,
+      Ogg Speex, Ogg Theora, Ogg Vorbis, True Audio, WavPack, OptimFROG,
+      and AIFF audio files. All versions of ID3v2 are supported, and all
+      standard ID3v2.4 frames are parsed. It can read Xing headers to
+      accurately calculate the bitrate and length of MP3s. ID3 and APEv2
+      tags can be edited regardless of audio format. It can also
+      manipulate Ogg streams on an individual packet/page level.
+    '';
     homepage = "https://mutagen.readthedocs.io";
-    license = licenses.lgpl2Plus;
+    changelog = "https://mutagen.readthedocs.io/en/latest/changelog.html#release-${lib.replaceStrings [ "." ] [ "-" ] version}";
+    license = licenses.gpl2Plus;
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/python-modules/mypy-boto3-builder/default.nix b/pkgs/development/python-modules/mypy-boto3-builder/default.nix
index cabbdaad35e65..e46d8eab2bceb 100644
--- a/pkgs/development/python-modules/mypy-boto3-builder/default.nix
+++ b/pkgs/development/python-modules/mypy-boto3-builder/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "mypy-boto3-builder";
-  version = "7.4.1";
+  version = "7.5.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "vemel";
     repo = "mypy_boto3_builder";
     rev = version;
-    hash = "sha256-7sl6S1/bQceVP6i/3KMYqsrOxNBvpBZUKdpOrnlhYNk=";
+    hash = "sha256-rv0c0QoXOd7aSOLhGDGfq4v0bnGBOJhGhZVNhS5hgOs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/mypy/default.nix b/pkgs/development/python-modules/mypy/default.nix
index 5c5e985641ff7..937c958717242 100644
--- a/pkgs/development/python-modules/mypy/default.nix
+++ b/pkgs/development/python-modules/mypy/default.nix
@@ -14,22 +14,22 @@
 
 buildPythonPackage rec {
   pname = "mypy";
-  version = "0.931";
+  version = "0.941";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "python";
     repo = "mypy";
     rev = "v${version}";
-    sha256 = "1v83flrdxh8grcp40qw04q4hzjflih9xwib64078vsxv2w36f817";
+    hash = "sha256-H2SWJA0WWyKV7/5miFawv4JRXu/J7H6Wer1eBL+Tru0=";
   };
 
   patches = [
     # FIXME: Remove patch after upstream has decided the proper solution.
     #        https://github.com/python/mypy/pull/11143
     (fetchpatch {
-      url = "https://github.com/python/mypy/commit/f1755259d54330cd087cae763cd5bbbff26e3e8a.patch";
-      sha256 = "sha256-5gPahX2X6+/qUaqDQIGJGvh9lQ2EDtks2cpQutgbOHk=";
+      url = "https://github.com/python/mypy/commit/e7869f05751561958b946b562093397027f6d5fa.patch";
+      hash = "sha256-waIZ+m3tfvYE4HJ8kL6rN/C4fMjvLEe9UoPbt9mHWIM=";
     })
   ];
 
diff --git a/pkgs/development/python-modules/napari/default.nix b/pkgs/development/python-modules/napari/default.nix
index 74936da4f7254..babdbc4506dc4 100644
--- a/pkgs/development/python-modules/napari/default.nix
+++ b/pkgs/development/python-modules/napari/default.nix
@@ -28,12 +28,12 @@
 , wrapQtAppsHook
 }: mkDerivationWith buildPythonPackage rec {
   pname = "napari";
-  version = "0.4.12";
+  version = "0.4.14";
   src = fetchFromGitHub {
     owner = "napari";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-0QSI0mgDjF70/X58fE7uWwlBUCGY5gsvbCm4oJkp2Yk=";
+    sha256 = "sha256-uDDj5dzsT4tRVV0Y+CYegiCpLM77XFaXEXEZXTnX808=";
   };
   nativeBuildInputs = [ setuptools-scm wrapQtAppsHook ];
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/nassl/default.nix b/pkgs/development/python-modules/nassl/default.nix
deleted file mode 100644
index 3e159dfe7cee4..0000000000000
--- a/pkgs/development/python-modules/nassl/default.nix
+++ /dev/null
@@ -1,170 +0,0 @@
-{ lib
-, fetchFromGitHub
-, fetchurl
-, buildPythonPackage
-, pkgsStatic
-, openssl_1_1
-, openssl_1_0_2
-, invoke
-, tls-parser
-, cacert
-, pytestCheckHook
-, pythonAtLeast
-, pythonOlder
-}:
-
-let
-  zlibStatic = (pkgsStatic.zlib.override {
-    splitStaticOutput = false;
-  }).overrideAttrs (oldAttrs: {
-    NIX_CFLAGS_COMPILE = "${oldAttrs.NIX_CFLAGS_COMPILE} -fPIC";
-  });
-  nasslOpensslArgs = {
-    static = true;
-    enableSSL2 = true;
-  };
-  nasslOpensslFlagsCommon = [
-    "zlib"
-    "no-zlib-dynamic"
-    "no-shared"
-    "--with-zlib-lib=${zlibStatic.out}/lib"
-    "--with-zlib-include=${zlibStatic.out.dev}/include"
-    "enable-rc5"
-    "enable-md2"
-    "enable-gost"
-    "enable-cast"
-    "enable-idea"
-    "enable-ripemd"
-    "enable-mdc2"
-    "-fPIC"
-  ];
-  opensslStatic = (openssl_1_1.override nasslOpensslArgs).overrideAttrs (
-    oldAttrs: rec {
-      name = "openssl-${version}";
-      version = "1.1.1h";
-      src = fetchurl {
-        url = "https://www.openssl.org/source/${name}.tar.gz";
-        sha256 = "1ncmcnh5bmxkwrvm0m1q4kdcjjfpwvlyjspjhibkxc6p9dvsi72w";
-      };
-      configureFlags = oldAttrs.configureFlags ++ nasslOpensslFlagsCommon ++ [
-        "enable-weak-ssl-ciphers"
-        "enable-tls1_3"
-        "no-async"
-      ];
-      patches = builtins.filter
-        (
-          p: (builtins.baseNameOf (toString p)) != "macos-yosemite-compat.patch"
-        )
-        oldAttrs.patches;
-      buildInputs = oldAttrs.buildInputs ++ [ zlibStatic cacert ];
-      meta = oldAttrs.meta // {
-        knownVulnerabilities = [
-          "CVE-2020-1971"
-          "CVE-2021-23840"
-          "CVE-2021-23841"
-          "CVE-2021-3449"
-          "CVE-2021-3450"
-          "CVE-2021-3711"
-          "CVE-2021-3712"
-        ];
-      };
-    }
-  );
-  opensslLegacyStatic = (openssl_1_0_2.override nasslOpensslArgs).overrideAttrs (
-    oldAttrs: rec {
-      name = "openssl-${version}";
-      version = "1.0.2e";
-      src = fetchurl {
-        url = "https://www.openssl.org/source/${name}.tar.gz";
-        sha256 = "1zqb1rff1wikc62a7vj5qxd1k191m8qif5d05mwdxz2wnzywlg72";
-      };
-      configureFlags = oldAttrs.configureFlags ++ nasslOpensslFlagsCommon;
-      patches = builtins.filter
-        (
-          p: (builtins.baseNameOf (toString p)) == "darwin64-arm64.patch"
-        )
-        oldAttrs.patches;
-      buildInputs = oldAttrs.buildInputs ++ [ zlibStatic ];
-      # openssl_1_0_2 needs `withDocs = false`
-      outputs = lib.remove "doc" oldAttrs.outputs;
-    }
-  );
-in
-buildPythonPackage rec {
-  pname = "nassl";
-  version = "4.0.2";
-  format = "setuptools";
-
-  disabled = pythonOlder "3.7";
-
-  src = fetchFromGitHub {
-    owner = "nabla-c0d3";
-    repo = pname;
-    rev = version;
-    hash = "sha256-lLyHXLmBVvT+LgsKBU8DcUXd0qaLSrwvXxFnIB9CHcU=";
-  };
-
-  postPatch =
-    let
-      legacyOpenSSLVersion = lib.replaceStrings [ "." ] [ "_" ] opensslLegacyStatic.version;
-      modernOpenSSLVersion = lib.replaceStrings [ "." ] [ "_" ] opensslStatic.version;
-      zlibVersion = zlibStatic.version;
-    in
-    ''
-      mkdir -p deps/openssl-OpenSSL_${legacyOpenSSLVersion}/
-      cp ${opensslLegacyStatic.out}/lib/libssl.a \
-        ${opensslLegacyStatic.out}/lib/libcrypto.a \
-        deps/openssl-OpenSSL_${legacyOpenSSLVersion}/
-      ln -s ${opensslLegacyStatic.out.dev}/include deps/openssl-OpenSSL_${legacyOpenSSLVersion}/include
-      ln -s ${opensslLegacyStatic.bin}/bin deps/openssl-OpenSSL_${legacyOpenSSLVersion}/apps
-
-      mkdir -p deps/openssl-OpenSSL_${modernOpenSSLVersion}/
-      cp ${opensslStatic.out}/lib/libssl.a \
-        ${opensslStatic.out}/lib/libcrypto.a \
-        deps/openssl-OpenSSL_${modernOpenSSLVersion}/
-      ln -s ${opensslStatic.out.dev}/include deps/openssl-OpenSSL_${modernOpenSSLVersion}/include
-      ln -s ${opensslStatic.bin}/bin deps/openssl-OpenSSL_${modernOpenSSLVersion}/apps
-
-      mkdir -p deps/zlib-${zlibVersion}/
-      cp ${zlibStatic.out}/lib/libz.a deps/zlib-${zlibVersion}/
-    '';
-
-  nativeBuildInputs = [
-    invoke
-  ];
-
-  propagatedBuildInputs = [
-    tls-parser
-  ];
-
-  checkInputs = [
-    pytestCheckHook
-  ];
-
-  buildPhase = ''
-    invoke build.nassl
-    invoke package.wheel
-  '';
-
-  doCheck = true;
-
-  pythonImportsCheck = [
-    "nassl"
-  ];
-
-  disabledTests = [
-    "Online"
-  ] ++ lib.optionals (pythonAtLeast "3.10") [
-    "test_write_bad"
-    "test_client_authentication_no_certificate_supplied"
-    "test_client_authentication_succeeds"
-  ];
-
-  meta = with lib; {
-    description = "Low-level OpenSSL wrapper for Python";
-    homepage = "https://github.com/nabla-c0d3/nassl";
-    license = licenses.agpl3Only;
-    maintainers = with maintainers; [ veehaitch ];
-    platforms = with platforms; linux ++ darwin;
-  };
-}
diff --git a/pkgs/development/python-modules/nbclient/default.nix b/pkgs/development/python-modules/nbclient/default.nix
index c5e3facc06224..52478ad4fd628 100644
--- a/pkgs/development/python-modules/nbclient/default.nix
+++ b/pkgs/development/python-modules/nbclient/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "nbclient";
-  version = "0.5.10";
+  version = "0.5.11";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b5fdea88d6fa52ca38de6c2361401cfe7aaa7cd24c74effc5e489cec04d79088";
+    sha256 = "sha256-dRUWmS80tYFyutVO7x5L9+T0Rg1Y4lXKGk5clklHYAc=";
   };
 
   inherit doCheck;
diff --git a/pkgs/development/python-modules/nbconvert/default.nix b/pkgs/development/python-modules/nbconvert/default.nix
index ab91f22acc442..8604698cc2a27 100644
--- a/pkgs/development/python-modules/nbconvert/default.nix
+++ b/pkgs/development/python-modules/nbconvert/default.nix
@@ -23,11 +23,11 @@
 
 buildPythonPackage rec {
   pname = "nbconvert";
-  version = "6.4.0";
+  version = "6.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5412ec774c6db4fccecb8c4ba07ec5d37d6dcf5762593cb3d6ecbbeb562ebbe5";
+    sha256 = "sha256-6ygD2xj2+szmvzsBtoT+R5B5lL0VbRXqzN8BHj1/gWQ=";
   };
 
   # Add $out/share/jupyter to the list of paths that are used to search for
diff --git a/pkgs/development/python-modules/nbxmpp/default.nix b/pkgs/development/python-modules/nbxmpp/default.nix
index f230e0c80c65d..749d3e6e30cc6 100644
--- a/pkgs/development/python-modules/nbxmpp/default.nix
+++ b/pkgs/development/python-modules/nbxmpp/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "nbxmpp";
-  version = "2.0.4";
+  version = "2.0.6";
 
   disabled = pythonOlder "3.7";
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "gajim";
     repo = "python-nbxmpp";
     rev = "nbxmpp-${version}";
-    sha256 = "1c2ncx1k93gxndaw183x0vlqgjnippl3v6sknklj3z2yjcj0l1ks";
+    sha256 = "sha256:03iydz0r9m8559srawwnhaqzqm9liwrnc8v6abj4w3m1lil32bid";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/ndspy/default.nix b/pkgs/development/python-modules/ndspy/default.nix
index 9c4d91df9d651..7408949649fa0 100644
--- a/pkgs/development/python-modules/ndspy/default.nix
+++ b/pkgs/development/python-modules/ndspy/default.nix
@@ -1,22 +1,44 @@
-{ lib, buildPythonPackage, fetchPypi, crcmod }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, crcmod
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "ndspy";
-  version = "3.0.0";
+  version = "4.0.0";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1s0i81gspas22bjwk9vhy3x5sw1svyybk7c2j1ixc77drr9ym20a";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "RoadrunnerWMC";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0x3sp10had1mq192m7kgjivvs8kpjagxjgj9d4z95dfjhzzbjh70";
   };
 
-  propagatedBuildInputs = [ crcmod ];
+  propagatedBuildInputs = [
+    crcmod
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "ndspy"
+  ];
 
-  doCheck = false; # there are no tests
-  pythonImportsCheck = [ "ndspy" ];
+  preCheck = ''
+    cd tests
+  '';
 
   meta = with lib; {
+    description = "Python library for many Nintendo DS file formats";
     homepage = "https://github.com/RoadrunnerWMC/ndspy";
-    description = "A Python library for many Nintendo DS file formats";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ xfix ];
   };
diff --git a/pkgs/development/python-modules/nested-lookup/default.nix b/pkgs/development/python-modules/nested-lookup/default.nix
new file mode 100644
index 0000000000000..7e56158ff1453
--- /dev/null
+++ b/pkgs/development/python-modules/nested-lookup/default.nix
@@ -0,0 +1,36 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, lib
+, pytestCheckHook
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "nested-lookup";
+  version = "0.2.23";
+
+  src = fetchFromGitHub {
+    owner = "russellballestrini";
+    repo = "nested-lookup";
+    # https://github.com/russellballestrini/nested-lookup/issues/47
+    rev = "c1b0421479efa378545bc71efa3b72882e8fec17";
+    sha256 = "sha256-jgfYLSsFLQSsOH4NzbDPKFIG+tWWZ1zTWcZEaX2lthg=";
+  };
+
+  propagatedBuildInputs = [
+    six
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "nested_lookup" ];
+
+  meta = with lib; {
+    description = "Python functions for working with deeply nested documents (lists and dicts)";
+    homepage = "https://github.com/russellballestrini/nested-lookup";
+    license = licenses.publicDomain;
+    maintainers = with maintainers; [ tboerger ];
+  };
+}
diff --git a/pkgs/development/python-modules/net2grid/default.nix b/pkgs/development/python-modules/net2grid/default.nix
index 05b5321a69cfa..ef03d45ab6b86 100644
--- a/pkgs/development/python-modules/net2grid/default.nix
+++ b/pkgs/development/python-modules/net2grid/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "net2grid";
-  version = "3.0.0";
+  version = "4.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "klaasnicolaas";
     repo = "python-net2grid";
     rev = "v${version}";
-    hash = "sha256-nT9qMv4Zr7SjNwHRN3HRR11yl+Oue8VVCfJr2n1D02Q=";
+    hash = "sha256-Ihs8qUx50tAUcRBsVArRhzoLcQUi1vbYh8sPyK75AEk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/networkx/default.nix b/pkgs/development/python-modules/networkx/default.nix
index e8769f9efc7dd..c876c0d549dd3 100644
--- a/pkgs/development/python-modules/networkx/default.nix
+++ b/pkgs/development/python-modules/networkx/default.nix
@@ -10,11 +10,11 @@
 buildPythonPackage rec {
   pname = "networkx";
   # upgrade may break sage, please test the sage build or ping @timokau on upgrade
-  version = "2.6.3";
+  version = "2.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c0946ed31d71f1b732b5aaa6da5a0388a345019af232ce2f49c766e2d6795c51";
+    sha256 = "sha256-7/t9nNXDbh4NM/QqOu9brd5QMFNYJqNn1c9gihcK9RU=";
   };
 
   propagatedBuildInputs = [ decorator setuptools ];
diff --git a/pkgs/development/python-modules/nibabel/default.nix b/pkgs/development/python-modules/nibabel/default.nix
index 60f5fcde63fe9..dc0a6d12f0c1b 100644
--- a/pkgs/development/python-modules/nibabel/default.nix
+++ b/pkgs/development/python-modules/nibabel/default.nix
@@ -3,7 +3,7 @@
 , fetchPypi
 , isPy27
 , packaging
-, pytest
+, pytestCheckHook
 , nose
 , numpy
 , h5py
@@ -23,11 +23,14 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ numpy scipy h5py packaging pydicom ];
 
-  checkInputs = [ nose pytest ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  checkPhase = ''
-    pytest
-  '';
+  disabledTests = [
+    # https://github.com/nipy/nibabel/issues/951
+    "test_filenames"
+  ];
 
   meta = with lib; {
     homepage = "https://nipy.org/nibabel";
diff --git a/pkgs/development/python-modules/nilearn/default.nix b/pkgs/development/python-modules/nilearn/default.nix
index c79ea52f558c5..2494a446a8113 100644
--- a/pkgs/development/python-modules/nilearn/default.nix
+++ b/pkgs/development/python-modules/nilearn/default.nix
@@ -3,16 +3,17 @@
 
 buildPythonPackage rec {
   pname = "nilearn";
-  version = "0.8.1";
+  version = "0.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a0489940855130f35bbc4cac0750479a6f82025215ea7b1d778faca064219298";
+    sha256 = "sha256-+cjjCt71FImRCux3JLVpneF4Qn065jhz2tmyPdMh/nY=";
   };
 
   checkInputs = [ pytestCheckHook ];
   disabledTests = [ "test_clean_confounds" ];  # https://github.com/nilearn/nilearn/issues/2608
-  pytestFlagsArray = [ "nilearn" ];
+  # do subset of tests which don't fetch resources
+  pytestFlagsArray = [ "nilearn/connectome/tests" ];
 
   propagatedBuildInputs = [
     joblib
diff --git a/pkgs/development/python-modules/nocasedict/default.nix b/pkgs/development/python-modules/nocasedict/default.nix
index a9cb021a84135..982f2abe880d9 100644
--- a/pkgs/development/python-modules/nocasedict/default.nix
+++ b/pkgs/development/python-modules/nocasedict/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "nocasedict";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "86e2dae49e34de7c31b65b486c8f9aa58b66dc2e8ee9b34c390c6c58885c85a0";
+    sha256 = "sha256-giC5e6BrCOst7e13TEBsd+DKDVNSrnEkn2+dHyoXvXs=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/nocaselist/default.nix b/pkgs/development/python-modules/nocaselist/default.nix
index e7947eba92aeb..5fc6bd6f8e662 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.4";
+  version = "1.0.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "73a9c0659e7135c66e46a6ab06e2cb637ce9248d73c690ebd31afb72a4e03ac0";
+    sha256 = "sha256-4cEsoq6dNFs0lI8sj2DjiUYZ4r4u0otOzF5/HeoRfR0=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/nodeenv/default.nix b/pkgs/development/python-modules/nodeenv/default.nix
index d88661ae757cb..1ff2d47b32d63 100644
--- a/pkgs/development/python-modules/nodeenv/default.nix
+++ b/pkgs/development/python-modules/nodeenv/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, setuptools }:
+{ lib, buildPythonPackage, fetchPypi, setuptools, python, which }:
 
 buildPythonPackage rec {
   pname = "nodeenv";
@@ -16,6 +16,13 @@ buildPythonPackage rec {
   # Tests not included in PyPI tarball
   doCheck = false;
 
+  preFixup = ''
+    substituteInPlace $out/${python.sitePackages}/nodeenv.py \
+      --replace '["which", candidate]' '["${lib.getBin which}/bin/which", candidate]'
+  '';
+
+  pythonImportsCheck = [ "nodeenv" ];
+
   meta = with lib; {
     description = "Node.js virtual environment builder";
     homepage = "https://github.com/ekalinin/nodeenv";
diff --git a/pkgs/development/python-modules/nose-cover3/default.nix b/pkgs/development/python-modules/nose-cover3/default.nix
deleted file mode 100644
index b75dcc526c5fd..0000000000000
--- a/pkgs/development/python-modules/nose-cover3/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, nose
-}:
-
-buildPythonPackage rec {
-  pname = "nose-cover3";
-  version = "0.1.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1la4hhc1yszjpcchvkqk5xmzlb2g1b3fgxj9wwc58qc549whlcc1";
-  };
-
-  propagatedBuildInputs = [ nose ];
-
-  # No tests included
-  doCheck = false;
-
-  meta = with lib; {
-    description = "Coverage 3.x support for Nose";
-    homepage = "https://github.com/ask/nosecover3";
-    license = licenses.lgpl21;
-  };
-
-}
diff --git a/pkgs/development/python-modules/notebook/default.nix b/pkgs/development/python-modules/notebook/default.nix
index 7a1902cb21144..586257a4f8db8 100644
--- a/pkgs/development/python-modules/notebook/default.nix
+++ b/pkgs/development/python-modules/notebook/default.nix
@@ -27,12 +27,12 @@
 
 buildPythonPackage rec {
   pname = "notebook";
-  version = "6.4.7";
+  version = "6.4.8";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b01da66f11a203b3839d6afa4013674bcfff41c36552f9ad0fbcb2d93c92764a";
+    sha256 = "sha256-Hphcncb2eL3/+53GVzBrVGm/pi1z4D906N77920oQxI=";
   };
 
   LC_ALL = "en_US.utf8";
diff --git a/pkgs/development/python-modules/notifymuch/default.nix b/pkgs/development/python-modules/notifymuch/default.nix
new file mode 100644
index 0000000000000..bc1610e2ca94e
--- /dev/null
+++ b/pkgs/development/python-modules/notifymuch/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, buildPythonApplication
+, isPy3k
+, fetchFromGitHub
+, notmuch
+, pygobject3
+, gobject-introspection
+, libnotify
+, wrapGAppsHook
+, gtk3
+}:
+
+buildPythonApplication rec {
+  pname = "notifymuch";
+  version = "0.1";
+  disabled = !isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "kspi";
+    repo = "notifymuch";
+    # https://github.com/kspi/notifymuch/issues/11
+    rev = "9d4aaf54599282ce80643b38195ff501120807f0";
+    sha256 = "1lssr7iv43mp5v6nzrfbqlfzx8jcc7m636wlfyhhnd8ydd39n6k4";
+  };
+
+  propagatedBuildInputs = [
+    notmuch
+    pygobject3
+    libnotify
+    gtk3
+  ];
+
+  nativeBuildInputs = [
+    gobject-introspection
+    wrapGAppsHook
+  ];
+
+  dontWrapGApps = true;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
+  strictDeps = false;
+
+  meta = with lib; {
+    description = "Display desktop notifications for unread mail in a notmuch database";
+    homepage = "https://github.com/kspi/notifymuch";
+    maintainers = with maintainers; [ arjan-s ];
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/alot/notmuch.nix b/pkgs/development/python-modules/notmuch2/default.nix
index bd195b52d44e1..5d74270a58c2f 100644
--- a/pkgs/applications/networking/mailreaders/alot/notmuch.nix
+++ b/pkgs/development/python-modules/notmuch2/default.nix
@@ -14,6 +14,12 @@ buildPythonPackage {
 
   buildInputs = [ python notmuch cffi ];
 
+  # since notmuch 0.35, this package expects _notmuch_config.py that is
+  # generated by notmuch's configure script
+  postPatch = ''
+    cp ${notmuch.bindingconfig}/_notmuch_config.py .
+  '';
+
   # no tests
   doCheck = false;
   pythonImportsCheck = [ "notmuch2" ];
diff --git a/pkgs/development/python-modules/nplusone/default.nix b/pkgs/development/python-modules/nplusone/default.nix
index d9a340d824918..898d209d91381 100644
--- a/pkgs/development/python-modules/nplusone/default.nix
+++ b/pkgs/development/python-modules/nplusone/default.nix
@@ -8,7 +8,6 @@
 , mock
 , peewee
 , pytest-django
-, pytest-pythonpath
 , pytestCheckHook
 , six
 , sqlalchemy
@@ -38,7 +37,6 @@ buildPythonPackage rec {
     mock
     peewee
     pytest-django
-    pytest-pythonpath
     pytestCheckHook
     sqlalchemy
     webtest
@@ -54,6 +52,7 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pytest.ini \
+      --replace "python_paths" "pythonpath" \
       --replace "--cov nplusone --cov-report term-missing" ""
   '';
 
diff --git a/pkgs/development/python-modules/numba/cuda_path.patch b/pkgs/development/python-modules/numba/cuda_path.patch
new file mode 100644
index 0000000000000..275eeb1ccab60
--- /dev/null
+++ b/pkgs/development/python-modules/numba/cuda_path.patch
@@ -0,0 +1,79 @@
+diff --git a/numba/cuda/cuda_paths.py b/numba/cuda/cuda_paths.py
+index b9988bc..a642680 100644
+--- a/numba/cuda/cuda_paths.py
++++ b/numba/cuda/cuda_paths.py
+@@ -24,10 +24,7 @@ def _find_valid_path(options):
+ 
+ def _get_libdevice_path_decision():
+     options = [
+-        ('Conda environment', get_conda_ctk()),
+-        ('CUDA_HOME', get_cuda_home('nvvm', 'libdevice')),
+-        ('System', get_system_ctk('nvvm', 'libdevice')),
+-        ('Debian package', get_debian_pkg_libdevice()),
++        ('Nix store', get_nix_ctk('nvvm', 'libdevice')),
+     ]
+     by, libdir = _find_valid_path(options)
+     return by, libdir
+@@ -35,18 +32,16 @@ def _get_libdevice_path_decision():
+ 
+ def _nvvm_lib_dir():
+     if IS_WIN32:
+-        return 'nvvm', 'bin'
++        return 'bin',
+     elif IS_OSX:
+-        return 'nvvm', 'lib'
++        return 'lib',
+     else:
+-        return 'nvvm', 'lib64'
++        return 'lib64',
+ 
+ 
+ def _get_nvvm_path_decision():
+     options = [
+-        ('Conda environment', get_conda_ctk()),
+-        ('CUDA_HOME', get_cuda_home(*_nvvm_lib_dir())),
+-        ('System', get_system_ctk(*_nvvm_lib_dir())),
++        ('Nix store', get_nix_ctk(*_nvvm_lib_dir())),        
+     ]
+     by, path = _find_valid_path(options)
+     return by, path
+@@ -74,14 +69,12 @@ def _cudalib_path():
+     elif IS_OSX:
+         return 'lib'
+     else:
+-        return 'lib64'
++        return 'lib'
+ 
+ 
+ def _get_cudalib_dir_path_decision():
+     options = [
+-        ('Conda environment', get_conda_ctk()),
+-        ('CUDA_HOME', get_cuda_home(_cudalib_path())),
+-        ('System', get_system_ctk(_cudalib_path())),
++        ('Nix store', get_nix_lib_ctk(_cudalib_path())),
+     ]
+     by, libdir = _find_valid_path(options)
+     return by, libdir
+@@ -92,6 +85,22 @@ def _get_cudalib_dir():
+     return _env_path_tuple(by, libdir)
+ 
+ 
++def get_nix_ctk(*subdirs):
++    """Return path to nix store cudatoolkit; or, None if it doesn't exist.
++    """
++    base = '@cuda_toolkit_path@'
++    if os.path.exists(base):
++        return os.path.join(base, *subdirs)
++
++
++def get_nix_lib_ctk(*subdirs):
++    """Return path to nix store cudatoolkit-lib; or, None if it doesn't exist.
++    """
++    base = '@cuda_toolkit_lib_path@'
++    if os.path.exists(base):
++        return os.path.join(base, *subdirs)
++
++
+ def get_system_ctk(*subdirs):
+     """Return path to system-wide cudatoolkit; or, None if it doesn't exist.
+     """
diff --git a/pkgs/development/python-modules/numba/default.nix b/pkgs/development/python-modules/numba/default.nix
index 8bead014e34a7..0219300f1fdf1 100644
--- a/pkgs/development/python-modules/numba/default.nix
+++ b/pkgs/development/python-modules/numba/default.nix
@@ -9,29 +9,54 @@
 , llvmlite
 , setuptools
 , libcxx
-}:
+, substituteAll
+
+# CUDA-only dependencies:
+, addOpenGLRunpath ? null
+, cudatoolkit ? null
 
+# CUDA flags:
+, cudaSupport ? false
+}:
 buildPythonPackage rec {
-  version = "0.55.0";
+  version = "0.55.1";
   pname = "numba";
   disabled = pythonOlder "3.6" || pythonAtLeast "3.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-siHr2ZdmKh3Ld+TwkUDgIvv+dXetB4H8LgIUE126bL0=";
+    sha256 = "sha256-A+kGmiZm0chPk7ANvXFvuP7d6Lssbvr6LwSEKkZELqM=";
   };
 
   postPatch = ''
+    # numpy
     substituteInPlace setup.py \
-      --replace "1.21" "1.22"
+      --replace "1.22" "2"
 
     substituteInPlace numba/__init__.py \
-      --replace "(1, 20)" "(1, 21)"
+      --replace "(1, 21)" "(2, 0)"
   '';
 
   NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-I${lib.getDev libcxx}/include/c++/v1";
 
-  propagatedBuildInputs = [ numpy llvmlite setuptools ];
+  propagatedBuildInputs = [ numpy llvmlite setuptools ] ++ lib.optionals cudaSupport [ cudatoolkit cudatoolkit.lib ];
+
+  nativeBuildInputs = lib.optional cudaSupport [ addOpenGLRunpath ];
+
+  patches = lib.optionals cudaSupport [
+    (substituteAll {
+      src = ./cuda_path.patch;
+      cuda_toolkit_path = cudatoolkit;
+      cuda_toolkit_lib_path = cudatoolkit.lib;
+    })
+  ];
+
+  postFixup = lib.optionalString cudaSupport ''
+    find $out -type f \( -name '*.so' -or -name '*.so.*' \) | while read lib; do
+      addOpenGLRunpath "$lib"
+      patchelf --set-rpath "${cudatoolkit}/lib:${cudatoolkit.lib}/lib:$(patchelf --print-rpath "$lib")" "$lib"
+    done
+  '';
 
   # Copy test script into $out and run the test suite.
   checkPhase = ''
diff --git a/pkgs/development/python-modules/numpydoc/default.nix b/pkgs/development/python-modules/numpydoc/default.nix
index 0f57847b3a624..ea092d01dd426 100644
--- a/pkgs/development/python-modules/numpydoc/default.nix
+++ b/pkgs/development/python-modules/numpydoc/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "numpydoc";
-  version = "1.1.0";
+  version = "1.2";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname;
     inherit version;
-    sha256 = "c36fd6cb7ffdc9b4e165a43f67bf6271a7b024d0bb6b00ac468c9e2bfc76448e";
+    sha256 = "sha256-DOwjN0DGsSWRMAXRboqZluBgUor8uLfK0/JwZinf1vc=";
   };
 
   checkInputs = [ nose pytest ];
diff --git a/pkgs/development/python-modules/nunavut/default.nix b/pkgs/development/python-modules/nunavut/default.nix
index f4cc9d3140e46..5b974c9b6af29 100644
--- a/pkgs/development/python-modules/nunavut/default.nix
+++ b/pkgs/development/python-modules/nunavut/default.nix
@@ -8,13 +8,13 @@
 
  buildPythonPackage rec {
   pname = "nunavut";
-  version = "1.6.2";
+  version = "1.7.3";
 
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c6f99eaa65935b2c8a3f004025fb3c0309e11655c391d0fcd318d2a8665ca5c4";
+    sha256 = "sha256-Tj3zCKDM4IBH9BKonhW9gPFD+lE3Q570Lxfm6b/d5JU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/oauthlib/default.nix b/pkgs/development/python-modules/oauthlib/default.nix
index 01e6ca29b5d9b..3a2f5cb1bddc5 100644
--- a/pkgs/development/python-modules/oauthlib/default.nix
+++ b/pkgs/development/python-modules/oauthlib/default.nix
@@ -1,28 +1,26 @@
 { lib
-, buildPythonPackage
-, fetchFromGitHub
-
-# propagates
 , blinker
+, buildPythonPackage
 , cryptography
-, pyjwt
-
-# test
+, fetchFromGitHub
 , mock
+, pyjwt
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "oauthlib";
-  version = "3.1.1";
+  version = "3.2.0";
   format = "setuptools";
 
-  # master supports pyjwt==1.7.1
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256:1bgxpzh11i0x7h9py3a29cz5z714b3p498b62znnn5ciy0cr80sv";
+    hash = "sha256-41JFURG8G8BjlAlNu2+lbj84XR/trAk1U5OPYxPq+5M=";
   };
 
   propagatedBuildInputs = [
@@ -36,10 +34,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pythonImportsCheck = [
+    "oauthlib"
+  ];
+
   meta = with lib; {
+    description = "Generic, spec-compliant, thorough implementation of the OAuth request-signing logic";
     homepage = "https://github.com/idan/oauthlib";
-    description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic";
-    maintainers = with maintainers; [ prikhi ];
     license = licenses.bsd3;
+    maintainers = with maintainers; [ prikhi ];
   };
 }
diff --git a/pkgs/development/python-modules/obfsproxy/default.nix b/pkgs/development/python-modules/obfsproxy/default.nix
index 0c0781bc577b7..5f652cb97f3cf 100644
--- a/pkgs/development/python-modules/obfsproxy/default.nix
+++ b/pkgs/development/python-modules/obfsproxy/default.nix
@@ -12,7 +12,7 @@ buildPythonPackage rec {
   version = "0.2.13";
 
   src = fetchgit {
-    url = meta.repositories.git;
+    url = "https://git.torproject.org/pluggable-transports/obfsproxy.git";
     rev = "refs/tags/${pname}-${version}";
     sha256 = "04ja1cl8xzqnwrd2gi6nlnxbmjri141bzwa5gybvr44d8h3k2nfa";
   };
@@ -30,7 +30,6 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "A pluggable transport proxy";
     homepage = "https://www.torproject.org/projects/obfsproxy";
-    repositories.git = "https://git.torproject.org/pluggable-transports/obfsproxy.git";
     maintainers = with maintainers; [ thoughtpolice ];
   };
 
diff --git a/pkgs/development/python-modules/objax/default.nix b/pkgs/development/python-modules/objax/default.nix
index da0a70aafb4c7..84d56962cc4d9 100644
--- a/pkgs/development/python-modules/objax/default.nix
+++ b/pkgs/development/python-modules/objax/default.nix
@@ -7,7 +7,7 @@
 , parameterized
 , pillow
 , scipy
-, tensorflow-tensorboard
+, tensorboard
 }:
 
 buildPythonPackage rec {
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     parameterized
     pillow
     scipy
-    tensorflow-tensorboard
+    tensorboard
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/onnx/default.nix b/pkgs/development/python-modules/onnx/default.nix
index d32b82365dc71..e873f3256084d 100644
--- a/pkgs/development/python-modules/onnx/default.nix
+++ b/pkgs/development/python-modules/onnx/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "onnx";
-  version = "1.10.2";
+  version = "1.11.0";
   format = "setuptools";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-JNc8p9/X5sczmUT4lVS0AQcZiZM3kk/KFEfY8bXbUNY=";
+    sha256 = "sha256-7KIkx8LI7kByoHQ+SJioSpvfgpe15ZEKJjLkxBgv+yo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/openai/default.nix b/pkgs/development/python-modules/openai/default.nix
index 4fb744826b794..a8b65ea58944d 100644
--- a/pkgs/development/python-modules/openai/default.nix
+++ b/pkgs/development/python-modules/openai/default.nix
@@ -9,6 +9,7 @@
 , pandas-stubs
 , requests
 , tqdm
+, wandb
 
 # Check dependencies
 , pytest-mock
@@ -35,6 +36,7 @@ buildPythonPackage rec {
     pandas-stubs
     requests
     tqdm
+    wandb
   ];
 
   pythonImportsCheck = [ "openai" ];
diff --git a/pkgs/development/python-modules/openapi-core/default.nix b/pkgs/development/python-modules/openapi-core/default.nix
index 0d48ab04a1dbb..32989e7f9ce5a 100644
--- a/pkgs/development/python-modules/openapi-core/default.nix
+++ b/pkgs/development/python-modules/openapi-core/default.nix
@@ -1,34 +1,40 @@
 { lib
+, attrs
 , buildPythonPackage
+, dictpath
+, django
+, djangorestframework
+, falcon
 , fetchFromGitHub
+, flask
 , isodate
-, dictpath
-, openapi-spec-validator
-, openapi-schema-validator
-, six
 , lazy-object-proxy
-, attrs
-, werkzeug
-, parse
+, mock
 , more-itertools
+, openapi-schema-validator
+, openapi-spec-validator
+, parse
 , pytestCheckHook
-, falcon
-, flask
-, django
-, djangorestframework
+, pythonOlder
 , responses
-, mock
+, six
+, webob
+, werkzeug
+, python
 }:
 
 buildPythonPackage rec {
   pname = "openapi-core";
   version = "0.14.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "p1c2u";
     repo = "openapi-core";
     rev = version;
-    sha256 = "1npsibyf8zx6z230yl19kyap8g25kqvgm7z1w6rm6jxv58yqsp7r";
+    hash = "sha256-+VyNPSq7S1Oz4eGf+jaeRTx0lZ8pUA+G+KZ/5PyK+to=";
   };
 
   postPatch = ''
@@ -36,31 +42,36 @@ buildPythonPackage rec {
   '';
 
   propagatedBuildInputs = [
-    isodate
+    attrs
     dictpath
-    openapi-spec-validator
+    isodate
+    lazy-object-proxy
+    more-itertools
     openapi-schema-validator
+    openapi-spec-validator
+    parse
     six
-    lazy-object-proxy
-    attrs
     werkzeug
-    parse
-    more-itertools
   ];
 
   checkInputs = [
-    pytestCheckHook
-    falcon
-    flask
     django
     djangorestframework
-    responses
+    falcon
+    flask
     mock
+    pytestCheckHook
+    responses
+    webob
   ];
 
   disabledTestPaths = [
     # AttributeError: 'str' object has no attribute '__name__'
     "tests/integration/validation"
+    # requires secrets and additional configuration
+    "tests/integration/contrib/test_django.py"
+    # Unable to detect SECRET_KEY and ROOT_URLCONF
+    "tests/integration/contrib/test_django.py"
   ];
 
   disabledTests = [
diff --git a/pkgs/development/python-modules/openapi-schema-validator/default.nix b/pkgs/development/python-modules/openapi-schema-validator/default.nix
index 8251c2cd01751..ced5f8ed68b8a 100644
--- a/pkgs/development/python-modules/openapi-schema-validator/default.nix
+++ b/pkgs/development/python-modules/openapi-schema-validator/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "openapi-schema-validator";
-  version = "0.2.0";
+  version = "0.2.3";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "p1c2u";
     repo = pname;
     rev = version;
-    sha256 = "sha256-HoXtDlXOoYqzsM4FxVfLQdIlpJXaNUcQo8//B4JqJoA=";
+    sha256 = "sha256-rgl2B55dnbpZszr+gWM0FgeXMKfrkDG7HeZBSw5Eles=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/openapi-spec-validator/default.nix b/pkgs/development/python-modules/openapi-spec-validator/default.nix
index 4e61a86a5013e..7ef70ab3d3ff8 100644
--- a/pkgs/development/python-modules/openapi-spec-validator/default.nix
+++ b/pkgs/development/python-modules/openapi-spec-validator/default.nix
@@ -1,17 +1,23 @@
 { lib, buildPythonPackage, isPy27, fetchPypi
 , jsonschema, openapi-schema-validator, pyyaml, six, pathlib
-, mock, pytest, pytest-cov, pytest-flake8, tox, setuptools }:
+, mock, pytest, pytest-cov, pytest-flake8, tox, setuptools
+, poetry-core
+, requests
+}:
 
 buildPythonPackage rec {
   pname = "openapi-spec-validator";
-  version = "0.3.1";
+  version = "0.4.0";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3d70e6592754799f7e77a45b98c6a91706bdd309a425169d17d8e92173e198a2";
+    sha256 = "sha256-l/JYhQr8l7BI98JlOFXg+I+masEDwr5Qd8eWCsoq1Jo=";
   };
 
-  propagatedBuildInputs = [ jsonschema openapi-schema-validator pyyaml six setuptools ]
+  nativeBuildInputs = [ poetry-core ];
+
+  propagatedBuildInputs = [ jsonschema openapi-schema-validator pyyaml six setuptools requests ]
     ++ (lib.optionals (isPy27) [ pathlib ]);
 
   checkInputs = [ mock pytest pytest-cov pytest-flake8 tox ];
diff --git a/pkgs/development/python-modules/opensfm/default.nix b/pkgs/development/python-modules/opensfm/default.nix
index dec998f451c1b..ae1ef7b59555c 100644
--- a/pkgs/development/python-modules/opensfm/default.nix
+++ b/pkgs/development/python-modules/opensfm/default.nix
@@ -44,19 +44,15 @@ let
 in
 buildPythonPackage rec {
   pname = "OpenSfM";
-  version = "0.5.2";
+  version = "unstable-2022-03-10";
 
   src = fetchFromGitHub {
     owner = "mapillary";
     repo = pname;
-    rev = "79aa4bdd8bd08dc0cd9e3086d170cedb29ac9760";
-    sha256 = "sha256-dHBrkYwLA1OUxUSoe7DysyeEm9Yy70tIJvAsXivdjrM=";
+    rev = "536b6e1414c8a93f0815dbae85d03749daaa5432";
+    sha256 = "Nfl20dFF2PKOkIvHbRxu1naU+qhz4whLXJvX5c5Wnwo=";
   };
   patches = [
-    (fetchpatch {
-      url = "https://github.com/mapillary/OpenSfM/pull/872/commits/a76671db11038f3f4dfe5b8f17582fb447ad7dd5.patch";
-      sha256 = "sha256-4nizQiZIjucdydOLrETvs1xdV3qiYqAQ7x1HECKvlHs=";
-    })
     ./0002-cmake-find-system-distributed-gtest.patch
     ./0003-cmake-use-system-pybind11.patch
     ./0004-pybind_utils.h-conflicts-with-nixpkgs-pybind.patch
@@ -121,6 +117,7 @@ buildPythonPackage rec {
   meta = {
     maintainers = [ lib.maintainers.SomeoneSerge ];
     license = lib.licenses.bsd2;
+    changelog = "https://github.com/mapillary/OpenSfM/blob/${src.rev}/CHANGELOG.md";
     description = "Open source Structure-from-Motion pipeline from Mapillary";
     homepage = "https://opensfm.org/";
   };
diff --git a/pkgs/development/python-modules/openshift/default.nix b/pkgs/development/python-modules/openshift/default.nix
index 78e0c53c9112f..c233f88c73f9c 100644
--- a/pkgs/development/python-modules/openshift/default.nix
+++ b/pkgs/development/python-modules/openshift/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "openshift";
-  version = "0.12.1";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = "openshift";
     repo = "openshift-restclient-python";
     rev = "v${version}";
-    sha256 = "1di55xg3nl4dwrrfw314p4mfm6593kdi7ia517v1sm6x5p4hjl78";
+    sha256 = "sha256-9mMHih2xuQve8hEnc5x4f9Pd4wX7IMy3vrxxGFCG+8o=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/openstackdocstheme/default.nix b/pkgs/development/python-modules/openstackdocstheme/default.nix
index 797a524e01726..0a04006704c17 100644
--- a/pkgs/development/python-modules/openstackdocstheme/default.nix
+++ b/pkgs/development/python-modules/openstackdocstheme/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "openstackdocstheme";
-  version = "2.3.1";
+  version = "2.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-zzWgAozJrYMFyGWzoDLYbeoY+IPlgzmVhnX7lgM6BXs=";
+    sha256 = "sha256-dFrZTObRDKB8aw1/i6febpttymbY3cPzA3ckNuhVt4c=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/optax/default.nix b/pkgs/development/python-modules/optax/default.nix
index 6a3b6a9d3e67c..f3790a3f59f42 100644
--- a/pkgs/development/python-modules/optax/default.nix
+++ b/pkgs/development/python-modules/optax/default.nix
@@ -6,20 +6,21 @@
 , jaxlib
 , lib
 , numpy
+, pytest-xdist
 , pytestCheckHook
+, tensorflow
+, tensorflow-datasets
 }:
 
 buildPythonPackage rec {
   pname = "optax";
-  # As of 2022-01-06, the latest stable version (0.1.0) has broken tests that are fixed
-  # in https://github.com/deepmind/optax/commit/d6633365d84eb6f2c0df0c52b630481a349ce562
-  version = "unstable-2022-01-05";
+  version = "0.1.1";
 
   src = fetchFromGitHub {
     owner = "deepmind";
     repo = pname;
-    rev = "5ec5541b3486224b22e950480ff639ceaf5098f7";
-    sha256 = "1q8cxc42a5xais2ll1l238cnn3l7w28savhgiz0lg01ilz2ysbli";
+    rev = "v${version}";
+    hash = "sha256-s/BcqzhdfWzR61MStusUPQtuT4+t8NcC5gBGiGggFqw=";
   };
 
   buildInputs = [ jaxlib ];
@@ -32,8 +33,12 @@ buildPythonPackage rec {
 
   checkInputs = [
     dm-haiku
+    pytest-xdist
     pytestCheckHook
+    tensorflow
+    tensorflow-datasets
   ];
+  pytestFlagsArray = [ "-n $NIX_BUILD_CORES" ];
 
   pythonImportsCheck = [
     "optax"
@@ -42,8 +47,7 @@ buildPythonPackage rec {
   disabledTestPaths = [
     # Requires `flax` which depends on `optax` creating circular dependency.
     "optax/_src/equivalence_test.py"
-    # Require `tensorflow_datasets` which isn't packaged in `nixpkgs`.
-    "examples/datasets_test.py"
+    # See https://github.com/deepmind/optax/issues/323.
     "examples/lookahead_mnist_test.py"
   ];
 
diff --git a/pkgs/development/python-modules/ordered-set/default.nix b/pkgs/development/python-modules/ordered-set/default.nix
index 7546566cb3aac..8ea71fd2d901f 100644
--- a/pkgs/development/python-modules/ordered-set/default.nix
+++ b/pkgs/development/python-modules/ordered-set/default.nix
@@ -1,24 +1,39 @@
-{ buildPythonPackage, fetchPypi, lib, isPy27, pytest }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, flit-core
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "ordered-set";
-  version = "4.0.2";
-  disabled = isPy27;
+  version = "4.1.0";
+  format = "pyproject";
 
-  checkInputs = [ pytest ];
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "159syfbqnwqnivzjfn3x7ak3xwrxmnzbji7c2qhj1jjv0pgv54xs";
+    sha256 = "sha256-aUqORMh2V8WSku3nKJHrkdNBMfZTFGOqswCRkcdzZKg=";
   };
 
-  checkPhase = ''
-    py.test test.py
-  '';
+  nativeBuildInputs = [
+    flit-core
+  ];
 
-  meta = {
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "ordered_set"
+  ];
+
+  meta = with lib; {
     description = "A MutableSet that remembers its order, so that every entry has an index.";
-    license = lib.licenses.mit;
-    maintainers = [ lib.maintainers.MostAwesomeDude ];
+    homepage = "https://github.com/rspeer/ordered-set";
+    license = licenses.mit;
+    maintainers = with maintainers; [ MostAwesomeDude ];
   };
 }
diff --git a/pkgs/development/python-modules/ormar/default.nix b/pkgs/development/python-modules/ormar/default.nix
index bbf95e98cffef..5546f58b26240 100644
--- a/pkgs/development/python-modules/ormar/default.nix
+++ b/pkgs/development/python-modules/ormar/default.nix
@@ -24,7 +24,7 @@
 
 buildPythonPackage rec {
   pname = "ormar";
-  version = "0.10.25";
+  version = "0.11.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -33,7 +33,7 @@ buildPythonPackage rec {
     owner = "collerek";
     repo = pname;
     rev = version;
-    hash = "sha256-AggrsXw9fUYfc38AiSDSoh7SIEf4gPf+LlAvrxZiFL4=";
+    hash = "sha256-I41asBWwOwmi6Yhw/JZ/EcpDWMAoPyxPIGIPiZQV+Yk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/osc-lib/default.nix b/pkgs/development/python-modules/osc-lib/default.nix
index 95c5e5d6a328e..2777fc5be7546 100644
--- a/pkgs/development/python-modules/osc-lib/default.nix
+++ b/pkgs/development/python-modules/osc-lib/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , cliff
 , oslo-i18n
 , oslo-utils
@@ -13,13 +13,18 @@
 
 buildPythonPackage rec {
   pname = "osc-lib";
-  version = "2.5.0";
+  version = "unstable-2022-03-09";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-2PikUPqyoSlOCu+M3JolWhvMW1jhsvYJjjXm2x4T6dE=";
+  src = fetchFromGitHub {
+    owner = "openstack";
+    repo = "osc-lib";
+    rev = "65c73fd5030276e34f3d52c03ddb9d27cd8ec6f5";
+    sha256 = "sha256-CLE9lrMMlvVrihe+N4wvIKe8t9IZ1TpHHVdn2dnvAOI=";
   };
 
+  # fake version to make pbr.packaging happy and not reject it...
+  PBR_VERSION = "2.5.0";
+
   nativeBuildInputs = [
     pbr
   ];
@@ -38,7 +43,13 @@ buildPythonPackage rec {
   ];
 
   checkPhase = ''
-    stestr run
+    # tests parse cli output which slightly changed
+    stestr run -e <(echo "
+      osc_lib.tests.utils.test_tags.TestTagHelps.test_add_tag_filtering_option_to_parser
+      osc_lib.tests.utils.test_tags.TestTagHelps.test_add_tag_option_to_parser_for_create
+      osc_lib.tests.utils.test_tags.TestTagHelps.test_add_tag_option_to_parser_for_set
+      osc_lib.tests.utils.test_tags.TestTagHelps.test_add_tag_option_to_parser_for_unset
+    ")
   '';
 
   pythonImportsCheck = [ "osc_lib" ];
diff --git a/pkgs/development/python-modules/oslo-context/default.nix b/pkgs/development/python-modules/oslo-context/default.nix
index f38b9bb09b39d..7f5fa9b98ca0e 100644
--- a/pkgs/development/python-modules/oslo-context/default.nix
+++ b/pkgs/development/python-modules/oslo-context/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "oslo.context";
-  version = "3.4.0";
+  version = "4.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "970f96361c5de9a5dc86d48a648289d77118180ca13ba5eeb307137736ffa953";
+    sha256 = "sha256-damnIqVS+6ionooBAo+oKmGQqzF6lZG7gzA6IhCnkUQ=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/osmnx/default.nix b/pkgs/development/python-modules/osmnx/default.nix
index 4cc0ce80d4d18..75a2ce44630b7 100755
--- a/pkgs/development/python-modules/osmnx/default.nix
+++ b/pkgs/development/python-modules/osmnx/default.nix
@@ -3,14 +3,14 @@
 
 buildPythonPackage rec {
   pname = "osmnx";
-  version = "1.1.1";
+  version = "1.1.2";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner  = "gboeing";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "0dkv3fnlq23d7d30lhdf4a313lxy3a5qfldidvszs1z9n16ycnwb";
+    sha256 = "sha256-qrTAXZFm88elMrVjvGwfdNwTA/PRdCOHFqpcgoKVGNk=";
   };
 
   propagatedBuildInputs = [ geopandas matplotlib networkx numpy pandas requests Rtree shapely folium scikit-learn scipy gdal rasterio ];
diff --git a/pkgs/development/python-modules/packageurl-python/default.nix b/pkgs/development/python-modules/packageurl-python/default.nix
index 5236cc7bbf8e5..c2d74d0d3c16c 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.9.8.1";
+  version = "0.9.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Z14OyAWPoIN6BAUEcXi96mp9C0aWaYP6eeHAoa+rHJ4=";
+    sha256 = "sha256-hyoENLmkSLP6l1cXEfad0qP7cjRa1myQsX2Cev6oLwk=";
   };
 
   checkInputs = [ pytestCheckHook ];
diff --git a/pkgs/development/python-modules/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix
index 536f883f29a2d..90309ef0b4026 100644
--- a/pkgs/development/python-modules/pandas/default.nix
+++ b/pkgs/development/python-modules/pandas/default.nix
@@ -27,12 +27,12 @@
 
 buildPythonPackage rec {
   pname = "pandas";
-  version = "1.3.5";
+  version = "1.4.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1e4285f5de1012de20ca46b188ccf33521bff61ba5c5ebd78b4fb28e5416a9f1";
+    sha256 = "sha256-jbk+yYrHy1+KwUIMEPXjxDUzFT8lP+f7bYkc9aorgNI=";
   };
 
   nativeBuildInputs = [ cython ];
diff --git a/pkgs/development/python-modules/panel/default.nix b/pkgs/development/python-modules/panel/default.nix
index c5da10a30b07b..48247112d958c 100644
--- a/pkgs/development/python-modules/panel/default.nix
+++ b/pkgs/development/python-modules/panel/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "panel";
-  version = "0.12.6";
+  version = "0.12.7";
 
   format = "wheel";
 
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   # tries to fetch even more artifacts
   src = fetchPypi {
     inherit pname version format;
-    hash = "sha256-ARAbBM0QYZlZqV51lMRoEZEQH1jlHRhlon3nfTi7dnM=";
+    hash = "sha256-VcoMGYT48WduyuyTB/4KJybT/pBKV0hB1pSpZGagAeA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/param/default.nix b/pkgs/development/python-modules/param/default.nix
index 23c9bc9c3933d..701c9db7962a2 100644
--- a/pkgs/development/python-modules/param/default.nix
+++ b/pkgs/development/python-modules/param/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "param";
-  version = "1.12.0";
+  version = "1.12.1";
 
   src = fetchFromGitHub {
     owner = "holoviz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "02zmd4bwyn8b4q1l9jgddc70ii1i7bmynacanl1cvbr6la4v9b2c";
+    sha256 = "sha256-MehTz0qCpWe/11PZ5jmFxHE54TA+QX2KfqvKB8L79V4=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/parameterizedtestcase/default.nix b/pkgs/development/python-modules/parameterizedtestcase/default.nix
index 20e662cd66d61..9d277af8d1a9c 100644
--- a/pkgs/development/python-modules/parameterizedtestcase/default.nix
+++ b/pkgs/development/python-modules/parameterizedtestcase/default.nix
@@ -27,5 +27,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/msabramo/python_unittest_parameterized_test_case";
     license = licenses.mit;
     maintainers = with maintainers; [ dotlambda ];
+    broken = python.isPy3k; # uses use_2to3
   };
 }
diff --git a/pkgs/development/python-modules/paramiko/default.nix b/pkgs/development/python-modules/paramiko/default.nix
index d7be0348d54a1..c5680c5c8a363 100644
--- a/pkgs/development/python-modules/paramiko/default.nix
+++ b/pkgs/development/python-modules/paramiko/default.nix
@@ -9,16 +9,17 @@
 , pynacl
 , pytest-relaxed
 , pytestCheckHook
+, fetchpatch
 }:
 
 buildPythonPackage rec {
   pname = "paramiko";
-  version = "2.9.2";
+  version = "2.10.3";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "944a9e5dbdd413ab6c7951ea46b0ab40713235a9c4c5ca81cfe45c6f14fa677b";
+    sha256 = "sha256-3bGXeFOu+CgEs11yoOWXskT6MmxATDUL0AxbAdv+5xo=";
   };
 
   propagatedBuildInputs = [
@@ -37,6 +38,8 @@ buildPythonPackage rec {
 
   # with python 3.9.6+, the deprecation warnings will fail the test suite
   # see: https://github.com/pyinvoke/invoke/issues/829
+  # pytest-relaxed does not work with pytest 6
+  # see: https://github.com/bitprophet/pytest-relaxed/issues/12
   doCheck = false;
 
   disabledTestPaths = [
@@ -48,6 +51,15 @@ buildPythonPackage rec {
     "paramiko"
   ];
 
+  patches = [
+    # Fix usage of dsa keys
+    # https://github.com/paramiko/paramiko/pull/1606/
+    (fetchpatch {
+      url = "https://github.com/paramiko/paramiko/commit/18e38b99f515056071fb27b9c1a4f472005c324a.patch";
+      sha256 = "sha256-bPDghPeLo3NiOg+JwD5CJRRLv2VEqmSx1rOF2Tf8ZDA=";
+    })
+  ];
+
   __darwinAllowLocalNetworking = true;
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/parse-type/default.nix b/pkgs/development/python-modules/parse-type/default.nix
index 5cfb4b610ce7a..3356853e8ac4a 100644
--- a/pkgs/development/python-modules/parse-type/default.nix
+++ b/pkgs/development/python-modules/parse-type/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "parse-type";
-  version = "0.5.6";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "jenisys";
     repo = "parse_type";
     rev = "v${version}";
-    sha256 = "sha256-CJroqJIi5DpmR8i1lr8OJ+234615PhpVUsqK91XOT3E=";
+    sha256 = "sha256-v79zzAAwXYoK2N8ZPl1L90qOwMRexAV2wCTMvo4vrSc=";
   };
 
   propagatedBuildInputs = [
@@ -29,7 +29,7 @@ buildPythonPackage rec {
   postPatch = ''
     substituteInPlace pytest.ini \
       --replace "--metadata PACKAGE_UNDER_TEST parse_type" "" \
-      --replace "--metadata PACKAGE_VERSION 0.5.6" "" \
+      --replace "--metadata PACKAGE_VERSION ${version}" "" \
       --replace "--html=build/testing/report.html --self-contained-html" "" \
       --replace "--junit-xml=build/testing/report.xml" ""
   '';
diff --git a/pkgs/development/python-modules/particle/default.nix b/pkgs/development/python-modules/particle/default.nix
new file mode 100644
index 0000000000000..d1207fe849833
--- /dev/null
+++ b/pkgs/development/python-modules/particle/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchPypi
+, setuptools-scm
+, attrs
+, deprecated
+, hepunits
+, pytestCheckHook
+, tabulate
+, pandas
+}:
+
+buildPythonPackage rec {
+  pname = "particle";
+  version = "0.20.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-HoWWwoGMrkRqlYzrF2apGsxsZAHwHbHSO5TCSCelxUc=";
+  };
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    attrs
+    deprecated
+    hepunits
+  ];
+
+  pythonImportsCheck = [
+    "particle"
+  ];
+
+  preCheck = ''
+    # Disable benchmark tests, so we won't need pytest-benchmark and pytest-cov
+    # as dependencies
+    substituteInPlace pyproject.toml \
+      --replace '"--benchmark-disable", ' ""
+    rm tests/particle/test_performance.py
+  '';
+
+  checkInputs = [
+    pytestCheckHook
+    tabulate
+    pandas
+  ];
+
+  meta = {
+    description = "Package to deal with particles, the PDG particle data table, PDGIDs, etc.";
+    homepage = "https://github.com/scikit-hep/particle";
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ doronbehar ];
+  };
+}
diff --git a/pkgs/development/python-modules/passlib/default.nix b/pkgs/development/python-modules/passlib/default.nix
index c4bcfaf85932c..ab29ab74d6849 100644
--- a/pkgs/development/python-modules/passlib/default.nix
+++ b/pkgs/development/python-modules/passlib/default.nix
@@ -1,4 +1,5 @@
-{ buildPythonPackage
+{ lib
+, buildPythonPackage
 , fetchPypi
 , nose
 , bcrypt
@@ -18,8 +19,9 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ bcrypt argon2_cffi ];
   propagatedNativeBuildInputs = [ argon2_cffi ];
 
-  meta = {
+  meta = with lib; {
     description = "A password hashing library for Python";
-    homepage    = "https://code.google.com/p/passlib/";
+    homepage = "https://foss.heptapod.net/python-libs/passlib";
+    license = licenses.bsdOriginal;
   };
 }
diff --git a/pkgs/development/python-modules/pathable/default.nix b/pkgs/development/python-modules/pathable/default.nix
new file mode 100644
index 0000000000000..39679fb1f575b
--- /dev/null
+++ b/pkgs/development/python-modules/pathable/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, poetry-core
+}:
+
+buildPythonPackage rec {
+  pname = "pathable";
+  version = "0.4.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "p1c2u";
+    repo = pname;
+    rev = version;
+    hash = "sha256-3qekweG+o7f6nm1cnCEHrWYn/fQ42GZrZkPwGbZcU38=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    sed -i "/--cov/d" pyproject.toml
+  '';
+
+  pythonImportsCheck = [
+    "pathable"
+  ];
+
+  meta = with lib; {
+    description = "Library for object-oriented paths";
+    homepage = "https://github.com/p1c2u/pathable";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pathlib2/default.nix b/pkgs/development/python-modules/pathlib2/default.nix
index 757ddc7d97463..f0f0163652ca0 100644
--- a/pkgs/development/python-modules/pathlib2/default.nix
+++ b/pkgs/development/python-modules/pathlib2/default.nix
@@ -5,28 +5,32 @@
 , pythonOlder
 , scandir ? null
 , glibcLocales
-, mock ? null
+, mock
+, typing
 }:
 
 buildPythonPackage rec {
   pname = "pathlib2";
-  version = "2.3.6";
+  version = "2.3.7.post1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7d8bcb5555003cdf4a8d2872c538faa3a0f5d20630cb360e518ca3b981795e5f";
+    sha256 = "sha256-n+DtrYmLg8DD4ZnIQrJ+0hZkXS4Xd1ey3Wc4TUETxkE=";
   };
 
-  propagatedBuildInputs = [ six ] ++ lib.optional (pythonOlder "3.5") scandir;
-  checkInputs = [ glibcLocales ] ++ lib.optional (pythonOlder "3.3") mock;
+  propagatedBuildInputs = [ six ]
+    ++ lib.optionals (pythonOlder "3.5") [ scandir typing ];
+  checkInputs = [ glibcLocales ]
+    ++ lib.optional (pythonOlder "3.3") mock;
 
   preCheck = ''
     export LC_ALL="en_US.UTF-8"
   '';
 
-  meta = {
+  meta = with lib; {
     description = "This module offers classes representing filesystem paths with semantics appropriate for different operating systems.";
-    homepage = "https://pypi.python.org/pypi/pathlib2/";
-    license = with lib.licenses; [ mit ];
+    homepage = "https://pypi.org/project/pathlib2/";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/pdm-pep517/default.nix b/pkgs/development/python-modules/pdm-pep517/default.nix
index aa99d5f23f7b7..5649e092634c5 100644
--- a/pkgs/development/python-modules/pdm-pep517/default.nix
+++ b/pkgs/development/python-modules/pdm-pep517/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "pdm-pep517";
-  version = "0.10.2";
+  version = "0.11.2";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "83bb71a7588df69ea0d77dc6524741c3a1af54ad5f421341428de648bfc03a29";
+    sha256 = "sha256-4AC6tDUCwZHXGAiiYw3UTs4wGjGdJuACocrqOnMHzSA=";
   };
 
   preCheck = ''
diff --git a/pkgs/development/python-modules/peewee/default.nix b/pkgs/development/python-modules/peewee/default.nix
index 852ba5ffbcb7c..85a58271b6d38 100644
--- a/pkgs/development/python-modules/peewee/default.nix
+++ b/pkgs/development/python-modules/peewee/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "peewee";
-  version = "3.14.8";
+  version = "3.14.9";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "coleifer";
     repo = pname;
     rev = version;
-    sha256 = "sha256-BJSM+7+VdW6SxN4/AXsX8NhQPdIFoYrVRVwR9OsJ3QE=";
+    sha256 = "sha256-8rwWKsOOYUrk2k1piCurb1LkB9zzmSITq52qWdyx4yk=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/pelican/default.nix b/pkgs/development/python-modules/pelican/default.nix
index 436192e18b8d5..723b3888edb8c 100644
--- a/pkgs/development/python-modules/pelican/default.nix
+++ b/pkgs/development/python-modules/pelican/default.nix
@@ -28,14 +28,14 @@
 
 buildPythonPackage rec {
   pname = "pelican";
-  version = "4.7.1";
+  version = "4.7.2";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "getpelican";
     repo = pname;
     rev = version;
-    sha256 = "0w3r4ifbrl6mhfphabqs048qys7x6k164ds63jr10l3namljm8ad";
+    hash = "sha256-ZBGzsyCtFt5uj9mpOpGdTzGJET0iwOAgDTy80P6anRU=";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
diff --git a/pkgs/development/python-modules/perfplot/default.nix b/pkgs/development/python-modules/perfplot/default.nix
index ca8f867e6e30c..a2bb6baec9694 100644
--- a/pkgs/development/python-modules/perfplot/default.nix
+++ b/pkgs/development/python-modules/perfplot/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "perfplot";
-  version = "0.9.13";
+  version = "0.10.1";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "nschloe";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ry5x38sv8gh505z6ip90jymm7kfgyf80y3vjb2i6z567bnblam6";
+    sha256 = "sha256-5qZolEJWjhqk1JakcGBWZ1hxeP1cLqcB7IZ3ufjOC/o=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pex/default.nix b/pkgs/development/python-modules/pex/default.nix
index 143598d750091..4d6085e6deb33 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.73";
+  version = "2.1.76";
   format = "flit";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-OxIm0vFH0JadaKMGrKNNj8mA7ue1kazjpauSK6XNGiU=";
+    hash = "sha256-a/e0tz67QR7SSYQRt3tJqgCGJLn6oi0+3HMpg8NKRH8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pgspecial/default.nix b/pkgs/development/python-modules/pgspecial/default.nix
index 308e8c9c8b640..e7b4e62ab575d 100644
--- a/pkgs/development/python-modules/pgspecial/default.nix
+++ b/pkgs/development/python-modules/pgspecial/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "pgspecial";
-  version = "1.13.0";
+  version = "1.13.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3847e205b19469f16ded05bda24b4758056d67ade4075a5ded4ce6628a9bad01";
+    sha256 = "sha256-1dq5ZpCQgnWRbcLGIu+uIX8ULggWX6NmlJ1By8VlhwE=";
   };
 
   propagatedBuildInputs = [
@@ -28,6 +28,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTests = [
+    # requires a postgresql server
+    "test_slash_dp_pattern_schema"
+  ];
+
   meta = with lib; {
     description = "Meta-commands handler for Postgres Database";
     homepage = "https://pypi.python.org/pypi/pgspecial";
diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix
index 9faad1e96de20..92b621e49c640 100644
--- a/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/pkgs/development/python-modules/phonenumbers/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "phonenumbers";
-  version = "8.12.43";
+  version = "8.12.44";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-HIJwouJX1sZUWKQig/gtPsp/e52SVFSmlm4vBN914c8=";
+    sha256 = "sha256-Js/QJX0XBP4viMr/LKq7cNFqh3seZbaq5R+fu+EKqM4=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pikepdf/default.nix b/pkgs/development/python-modules/pikepdf/default.nix
index bef67237a89c1..bb8c2c385c237 100644
--- a/pkgs/development/python-modules/pikepdf/default.nix
+++ b/pkgs/development/python-modules/pikepdf/default.nix
@@ -4,7 +4,7 @@
 , defusedxml
 , fetchFromGitHub
 , hypothesis
-, isPy3k
+, pythonOlder
 , jbig2dec
 , lxml
 , mupdf
@@ -25,8 +25,10 @@
 
 buildPythonPackage rec {
   pname = "pikepdf";
-  version = "5.0.1";
-  disabled = ! isPy3k;
+  version = "5.1.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "pikepdf";
@@ -38,7 +40,7 @@ buildPythonPackage rec {
     extraPostFetch = ''
       rm "$out/.git_archival.txt"
     '';
-    hash = "sha256-PlfVvCEutWaNQyhP4j44viAmjvBzUlZUvUbYQPcNL24=";
+    hash = "sha256-LgF46DGVWNuUN2KGdfOGSokf4reDx55ay3gP2LO+4dY=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/pip/default.nix b/pkgs/development/python-modules/pip/default.nix
index 2ddba8f363e34..a4370fbaae576 100644
--- a/pkgs/development/python-modules/pip/default.nix
+++ b/pkgs/development/python-modules/pip/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "pip";
-  version = "21.3.1";
+  version = "22.0.3";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "pypa";
     repo = pname;
     rev = version;
-    sha256 = "sha256-A8oePI5VOKGJTY6ZuUhcOhRkz2I2FSdfsS2xIgktCVQ=";
+    sha256 = "sha256-Wu2QQfb0pehPLLa+za32C4jH1arkBKKc3jlAMRkDV5Q=";
     name = "${pname}-${version}-source";
   };
 
diff --git a/pkgs/development/python-modules/plac/default.nix b/pkgs/development/python-modules/plac/default.nix
index 3d2094263b6fa..4c353ab7a4e73 100644
--- a/pkgs/development/python-modules/plac/default.nix
+++ b/pkgs/development/python-modules/plac/default.nix
@@ -2,14 +2,19 @@
 , buildPythonPackage
 , fetchPypi
 , python
+, pythonOlder
 }:
+
 buildPythonPackage rec {
   pname = "plac";
-  version = "1.3.4";
+  version = "1.3.5";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c91a4c9f9cc67c7e7213b6823b0ea15cd0afe5eaf8f8dda1fe5cb10192b137f5";
+    hash = "sha256-OL3YZNBFD7dIGTqoF7nEWKj1MZ+/l7ImEVHPwKWBIJA=";
   };
 
   checkPhase = ''
@@ -17,6 +22,10 @@ buildPythonPackage rec {
     ${python.interpreter} -m unittest discover -p "*test_plac*"
   '';
 
+  pythonImportsCheck = [
+    "plac"
+  ];
+
   meta = with lib; {
     description = "Parsing the Command Line the Easy Way";
     homepage = "https://github.com/micheles/plac";
diff --git a/pkgs/development/python-modules/plaid-python/default.nix b/pkgs/development/python-modules/plaid-python/default.nix
index d36ba25ba474b..ac635fe4db5eb 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.1.1";
+  version = "9.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-vHJ35MvMw3G1k/A2gifaE97GayoVEOQ9lR6yG6ZkzS4=";
+    hash = "sha256-3yFfANMkn8CXCheNHU77WGeYxPV4gs2jvOl/rV+/6vY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/platformdirs/default.nix b/pkgs/development/python-modules/platformdirs/default.nix
index 2be8928f630f4..584d9361fb767 100644
--- a/pkgs/development/python-modules/platformdirs/default.nix
+++ b/pkgs/development/python-modules/platformdirs/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "platformdirs";
-  version = "2.5.0";
+  version = "2.5.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-fppwtY8VX8IQ96H930xItO7mS8LlxxHgBcKlwIL5P2E=";
+    sha256 = "sha256-z6WIwTWLlc/chNRxt3dqqa/IxYj1BBTcQ6OcfliHrvA=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/plotly/default.nix b/pkgs/development/python-modules/plotly/default.nix
index fbe869b07032f..fc24a4c2e6f7f 100644
--- a/pkgs/development/python-modules/plotly/default.nix
+++ b/pkgs/development/python-modules/plotly/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "plotly";
-  version = "5.5.0";
+  version = "5.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "20b8a1a0f0434f9b8d10eb7caa66e947a9a1d698e5a53d40d447bbc0d2ae41f0";
+    sha256 = "sha256-2G5E69449HU9/5gqubXgPPhyqrj99TpAPpme03gVQzE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/plumbum/default.nix b/pkgs/development/python-modules/plumbum/default.nix
index ae3c4941f6848..70b4421778f3e 100644
--- a/pkgs/development/python-modules/plumbum/default.nix
+++ b/pkgs/development/python-modules/plumbum/default.nix
@@ -50,6 +50,14 @@ buildPythonPackage rec {
     "test_change_env"
     "test_dictlike"
     "test_local"
+    # incompatible with pytest 7
+    "test_incorrect_login"
+  ];
+
+  disabledTestPaths = [
+    # incompatible with pytest7
+    # https://github.com/tomerfiliba/plumbum/issues/594
+    "tests/test_remote.py"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/poetry-core/default.nix b/pkgs/development/python-modules/poetry-core/default.nix
index e8632d0ed0782..5922d67fc8b76 100644
--- a/pkgs/development/python-modules/poetry-core/default.nix
+++ b/pkgs/development/python-modules/poetry-core/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "poetry-core";
-  version = "1.0.7";
+  version = "1.0.8";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "python-poetry";
     repo = pname;
     rev = version;
-    sha256 = "0v86x8f8pcbviv2cdn7jjbgj3c994qasx0bqk1kr0mj8m6pjwy9z";
+    sha256 = "sha256-cs9SMGD9RdW8Wx/IAMq6gkOUBsney5r19hyGva98grk=";
   };
 
   postPatch = lib.optionalString (pythonOlder "3.8") ''
diff --git a/pkgs/development/python-modules/pontos/default.nix b/pkgs/development/python-modules/pontos/default.nix
index d36c5d7e7ae37..0ea1be9c21f0f 100644
--- a/pkgs/development/python-modules/pontos/default.nix
+++ b/pkgs/development/python-modules/pontos/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pontos";
-  version = "22.2.4";
+  version = "22.4.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "greenbone";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-RmMlwnAJlCTDnTyim0MdAeW3NA8r2IiqrE0YeWgxUk4=";
+    hash = "sha256-W+l5QIpum1uTsx/mxZGkRoJAZaC1viURVYg4Kvjv32Y=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pooch/default.nix b/pkgs/development/python-modules/pooch/default.nix
index 3b7ddaf280197..238e6ad62230b 100644
--- a/pkgs/development/python-modules/pooch/default.nix
+++ b/pkgs/development/python-modules/pooch/default.nix
@@ -11,12 +11,13 @@
 
 buildPythonPackage rec {
   pname = "pooch";
-  version = "1.5.2";
+  version = "1.6.0";
+  format = "pyproject";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5969b2f1defbdc405df932767e05e0b536e2771c27f1f95d7f260bc99bf13581";
+    sha256 = "sha256-V9IOxLEN1pTSsFu2S8axCcboWmwUBXlM6H7Ys0GrP0Q=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/portalocker/default.nix b/pkgs/development/python-modules/portalocker/default.nix
index 357ca815407fa..cd7d6d03bbd4c 100644
--- a/pkgs/development/python-modules/portalocker/default.nix
+++ b/pkgs/development/python-modules/portalocker/default.nix
@@ -22,6 +22,10 @@ buildPythonPackage rec {
     pytest-mypy
   ];
 
+  disabledTests = [
+    "test_combined" # no longer compatible with setuptools>=58
+  ];
+
   meta = with lib; {
     description = "A library to provide an easy API to file locking";
     homepage = "https://github.com/WoLpH/portalocker";
diff --git a/pkgs/development/python-modules/portend/black-19.10b0.patch b/pkgs/development/python-modules/portend/black-19.10b0.patch
deleted file mode 100644
index e781139e3192a..0000000000000
--- a/pkgs/development/python-modules/portend/black-19.10b0.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/test_portend.py b/test_portend.py
-index b2de8c2..3f90276 100644
---- a/test_portend.py
-+++ b/test_portend.py
-@@ -21,7 +21,7 @@ def socket_infos():
- 
- 
- def id_for_info(info):
--    af, = info[:1]
-+    (af,) = info[:1]
-     return str(af)
- 
- 
\ No newline at end of file
diff --git a/pkgs/development/python-modules/portend/default.nix b/pkgs/development/python-modules/portend/default.nix
index a3cb25624f7a4..bf84e41610cbf 100644
--- a/pkgs/development/python-modules/portend/default.nix
+++ b/pkgs/development/python-modules/portend/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchPypi
-, pytest, setuptools-scm, tempora, pytest-black, pytest-cov }:
+, pytestCheckHook, setuptools-scm, tempora  }:
 
 buildPythonPackage rec {
   pname = "portend";
@@ -10,19 +10,11 @@ buildPythonPackage rec {
     sha256 = "239e3116045ea823f6df87d6168107ad75ccc0590e37242af0cc1e98c5d224e4";
   };
 
-  postPatch = ''
-    substituteInPlace pytest.ini --replace "--flake8" ""
-  '';
-
   nativeBuildInputs = [ setuptools-scm ];
 
   propagatedBuildInputs = [ tempora ];
 
-  checkInputs = [ pytest pytest-black pytest-cov ];
-
-  checkPhase = ''
-    py.test --deselect=test_portend.py::TestChecker::test_check_port_listening
-  '';
+  checkInputs = [ pytestCheckHook ];
 
   # Some of the tests use localhost networking.
   __darwinAllowLocalNetworking = true;
diff --git a/pkgs/development/python-modules/potentials/default.nix b/pkgs/development/python-modules/potentials/default.nix
index f3542c13972e9..2d602746815ee 100644
--- a/pkgs/development/python-modules/potentials/default.nix
+++ b/pkgs/development/python-modules/potentials/default.nix
@@ -16,10 +16,11 @@
 , scipy
 , unidecode
 , xmltodict
+, yabadaba
 }:
 
 buildPythonPackage rec {
-  version = "0.3.2";
+  version = "0.3.3";
   pname = "potentials";
   format = "setuptools";
 
@@ -27,7 +28,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-u++ClAAc96u7k8w756sFR4oCtIOgERQ7foklxWWPprY=";
+    hash = "sha256-kj2RDls5ziCH+AF982h8TplZccwdcna3BQMoBXAbOHE=";
   };
 
   propagatedBuildInputs = [
@@ -44,6 +45,7 @@ buildPythonPackage rec {
     scipy
     unidecode
     xmltodict
+    yabadaba
   ];
 
   # Project has no tests
diff --git a/pkgs/development/python-modules/prettytable/default.nix b/pkgs/development/python-modules/prettytable/default.nix
index f914a0f3df449..25d22c2c5a2fd 100644
--- a/pkgs/development/python-modules/prettytable/default.nix
+++ b/pkgs/development/python-modules/prettytable/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "prettytable";
-  version = "3.0.0";
+  version = "3.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "69fe75d78ac8651e16dd61265b9e19626df5d630ae294fc31687aa6037b97a58";
+    sha256 = "sha256-Q8niMnLKJT0Diudv463eiXlOkuf8qy3fW5SzhkLvTyE=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/prometheus-client/default.nix b/pkgs/development/python-modules/prometheus-client/default.nix
index 7af4e2b02faae..9ba5068359bbc 100644
--- a/pkgs/development/python-modules/prometheus-client/default.nix
+++ b/pkgs/development/python-modules/prometheus-client/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "prometheus-client";
-  version = "0.12.0";
+  version = "0.13.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "prometheus";
     repo = "client_python";
     rev = "v${version}";
-    sha256 = "1a0kllal5vkkdv325k0mx1mha2l9808mcz4dqx6qrgfskz8c2xjl";
+    sha256 = "sha256-1sMnlUOvvdlUuh288UalAdlf0a1mpnM+Y/upwlnL1H8=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/promise/default.nix b/pkgs/development/python-modules/promise/default.nix
index 403f0c0979163..8833689cec122 100644
--- a/pkgs/development/python-modules/promise/default.nix
+++ b/pkgs/development/python-modules/promise/default.nix
@@ -18,6 +18,11 @@ buildPythonPackage rec {
     sha256 = "17mq1bm78xfl0x1g50ng502m5ldq6421rzz35hlqafsj0cq8dkp6";
   };
 
+  postPatch = ''
+    substituteInPlace tests/test_extra.py \
+      --replace "assert_exc.traceback[-1].path.strpath" "str(assert_exc.traceback[-1].path)"
+  '';
+
   propagatedBuildInputs = [
     six
   ];
diff --git a/pkgs/development/python-modules/prompt-toolkit/default.nix b/pkgs/development/python-modules/prompt-toolkit/default.nix
index e38560be2eb68..4ec9e381dafbf 100644
--- a/pkgs/development/python-modules/prompt-toolkit/default.nix
+++ b/pkgs/development/python-modules/prompt-toolkit/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "prompt-toolkit";
-  version = "3.0.24";
+  version = "3.0.28";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "prompt_toolkit";
     inherit version;
-    sha256 = "1bb05628c7d87b645974a1bad3f17612be0c29fa39af9f7688030163f680bad6";
+    sha256 = "sha256-nxzRax6GwpaPJRnX+zHdnWaZFvUVYSwmnRTp7VK1FlA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/proto-plus/default.nix b/pkgs/development/python-modules/proto-plus/default.nix
index dd2494729efd7..defc28d9429a3 100644
--- a/pkgs/development/python-modules/proto-plus/default.nix
+++ b/pkgs/development/python-modules/proto-plus/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "proto-plus";
-  version = "1.19.8";
+  version = "1.20.3";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bdf45f0e0be71510eb2ec9db4da78afde7b5fb8b0a507a36340a9b6ce8e48e58";
+    sha256 = "sha256-8osiW8nmwU4gb7f46Zakb7LM2QJkjlEtSWq7anFqSuU=";
   };
 
   propagatedBuildInputs = [ protobuf ];
diff --git a/pkgs/development/python-modules/proton-client/default.nix b/pkgs/development/python-modules/proton-client/default.nix
index 0f84f324dcf9d..01ebed36c72b7 100644
--- a/pkgs/development/python-modules/proton-client/default.nix
+++ b/pkgs/development/python-modules/proton-client/default.nix
@@ -34,7 +34,7 @@ buildPythonPackage rec {
   # but it is not working as intended.
   #patchPhase = ''
   #  substituteInPlace proton/srp/_ctsrp.py --replace \
-  #    "ctypes.cdll.LoadLibrary('libssl.so.10')" "'${openssl.out}/lib/libssl.so'"
+  #    "ctypes.cdll.LoadLibrary('libssl.so.10')" "'${lib.getLib openssl}/lib/libssl.so'"
   #'';
   # Regarding the issue above, I'm disabling tests for now
   doCheck = false;
diff --git a/pkgs/development/python-modules/proxy-py/default.nix b/pkgs/development/python-modules/proxy-py/default.nix
index 4bf07b1375eb4..6527f88e4891a 100644
--- a/pkgs/development/python-modules/proxy-py/default.nix
+++ b/pkgs/development/python-modules/proxy-py/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "proxy-py";
-  version = "2.3.1";
+  version = "2.4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "abhinavsingh";
     repo = "proxy.py";
     rev = "v${version}";
-    sha256 = "sha256-qqwb3t8/xicDGfO6l843qRwh0yUfthnOIhgNeKIbEO4=";
+    sha256 = "sha256-VagX7ATVu6AT4POWoG9btizxFeBh9MLXiLpavtfXnyM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/publicsuffix2/default.nix b/pkgs/development/python-modules/publicsuffix2/default.nix
index 30a02ec2f0ddd..67699b107ab5b 100644
--- a/pkgs/development/python-modules/publicsuffix2/default.nix
+++ b/pkgs/development/python-modules/publicsuffix2/default.nix
@@ -1,26 +1,28 @@
-{ lib, buildPythonPackage, fetchFromGitHub, requests }:
+{ lib, buildPythonPackage, fetchFromGitHub }:
 
 buildPythonPackage rec {
   pname = "publicsuffix2";
-  version = "2.20191221";
+  version = "2.2019-12-21";
 
-  # Tests are missing in the sdist
-  # See: https://github.com/nexB/python-publicsuffix2/issues/12
   src = fetchFromGitHub {
     owner = "nexB";
     repo = "python-publicsuffix2";
-    rev = "release-2.2019-12-21";
+    rev = "release-${version}";
     sha256 = "1dkvfvl0izq9hqzilnw8ipkbgjs9xyad9p21i3864hzinbh0wp9r";
   };
 
-  nativeBuildInputs = [ requests ];
+  postPatch = ''
+    # only used to update the interal publicsuffix list
+    substituteInPlace setup.py \
+      --replace "'requests >= 2.7.0'," ""
+  '';
+
+  pythonImportsCheck = [ "publicsuffix2" ];
 
   meta = with lib; {
-    description = ''
-      Get a public suffix for a domain name using the Public Suffix
-      List. Forked from and using the same API as the publicsuffix package.
-    '';
-    homepage = "https://pypi.python.org/pypi/publicsuffix2/";
+    description = "Get a public suffix for a domain name using the Public Suffix List";
+    homepage = "https://github.com/nexB/python-publicsuffix2";
     license = licenses.mpl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/pulsectl/default.nix b/pkgs/development/python-modules/pulsectl/default.nix
index 584ef5538a0f4..1990915eef444 100644
--- a/pkgs/development/python-modules/pulsectl/default.nix
+++ b/pkgs/development/python-modules/pulsectl/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pulsectl";
-  version = "22.1.3";
+  version = "22.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-8o/kuIHdLMFE0tlPg+xg2MWaUmQqCtNjXMTQ+EBvSFg=";
+    sha256 = "sha256-zBdOHO69TmIixbePT0FfEugHU8mrdas1QVm0y1lQsIQ=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/py-synologydsm-api/default.nix b/pkgs/development/python-modules/py-synologydsm-api/default.nix
index 3d2e1b05e1014..0ebd218aa9cc1 100644
--- a/pkgs/development/python-modules/py-synologydsm-api/default.nix
+++ b/pkgs/development/python-modules/py-synologydsm-api/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "py-synologydsm-api";
-  version = "1.0.6";
+  version = "1.0.8";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "mib1185";
     repo = "synologydsm-api";
     rev = "v${version}";
-    sha256 = "sha256-jAdD6FCbsBocJNX7o+dpthgHaPLIueFWJMzBNoKAq7w=";
+    sha256 = "sha256-9bh7uLt9+uda6yFCWV6xUh//jFC4DgiS+KtRXQrU3A8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/py3status/default.nix b/pkgs/development/python-modules/py3status/default.nix
index c56fc990f2c51..73bdc12586280 100644
--- a/pkgs/development/python-modules/py3status/default.nix
+++ b/pkgs/development/python-modules/py3status/default.nix
@@ -24,11 +24,11 @@
 
 buildPythonPackage rec {
   pname = "py3status";
-  version = "3.42";
+  version = "3.43";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-2/YT36X4UvmmhiaxyJBtCKA3QuibYtReTS6MQ3YGV+c=";
+    sha256 = "sha256-H37Jcd7wZmDiCn7fk0SmlWYj46D3w/B9BdsEwqgEBjw=";
   };
 
   doCheck = false;
diff --git a/pkgs/development/python-modules/pyaussiebb/default.nix b/pkgs/development/python-modules/pyaussiebb/default.nix
index d764e93e3f065..86d2f59e94242 100644
--- a/pkgs/development/python-modules/pyaussiebb/default.nix
+++ b/pkgs/development/python-modules/pyaussiebb/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyaussiebb";
-  version = "0.0.14";
+  version = "0.0.15";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "yaleman";
     repo = "aussiebb";
     rev = "v${version}";
-    hash = "sha256-Z+xLCKnUnBAH9nm0YR11zx1lyNrIb8BZLFmaZdpnfdw=";
+    hash = "sha256-V9yN05Bkv5vkHgXZ77ps3d6JS39M5iMuiijOGRBFi0U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pybind11/default.nix b/pkgs/development/python-modules/pybind11/default.nix
index 46c1307826ef2..8627ca53d54b2 100644
--- a/pkgs/development/python-modules/pybind11/default.nix
+++ b/pkgs/development/python-modules/pybind11/default.nix
@@ -36,7 +36,7 @@ buildPythonPackage rec {
 
   postBuild = ''
     # build tests
-    make
+    make -j $NIX_BUILD_CORES -l $NIX_BUILD_CORES
   '';
 
   postInstall = ''
@@ -60,6 +60,8 @@ buildPythonPackage rec {
     "tests/test_numpy_dtypes.py"
     # no need to test internal packaging
     "tests/extra_python_package/test_files.py"
+    # tests that try to parse setuptools stdout
+    "tests/extra_setuptools/test_setuphelper.py"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pybindgen/default.nix b/pkgs/development/python-modules/pybindgen/default.nix
index 18d688c3db3d1..ab18b4886bda3 100644
--- a/pkgs/development/python-modules/pybindgen/default.nix
+++ b/pkgs/development/python-modules/pybindgen/default.nix
@@ -1,22 +1,44 @@
-{ lib, fetchPypi, buildPythonPackage, isPy3k, setuptools-scm, pygccxml }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, pygccxml
+, pythonOlder
+, setuptools-scm
+}:
+
 buildPythonPackage rec {
-  pname = "PyBindGen";
-  version = "0.22.0";
+  pname = "pybindgen";
+  version = "0.22.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "5b4837d3138ac56863d93fe462f1dac39fb87bd50898e0da4c57fefd645437ac";
+    pname = "PyBindGen";
+    inherit version;
+    hash = "sha256-jH8iORpJqEUY9aKtBuOlseg50Q402nYxUZyKKPy6N2Q=";
   };
 
-  buildInputs = [ setuptools-scm ];
+  buildInputs = [
+    setuptools-scm
+  ];
+
+  checkInputs = [
+    pygccxml
+  ];
 
-  checkInputs = [ pygccxml ];
-  doCheck = (!isPy3k); # Fails to import module 'cxxfilt' from pygccxml on Py3k
+  pythonImportsCheck = [
+    "pybindgen"
+  ];
+
+  # Fails to import module 'cxxfilt' from pygccxml on Py3k
+  doCheck = (!isPy3k);
 
   meta = with lib; {
-    homepage = "https://github.com/gjcarneiro/pybindgen";
     description = "Python Bindings Generator";
-    license = licenses.lgpl2;
+    homepage = "https://github.com/gjcarneiro/pybindgen";
+    license = licenses.lgpl21Plus;
     maintainers = with maintainers; [ teto ];
   };
 }
diff --git a/pkgs/development/python-modules/pybluez/default.nix b/pkgs/development/python-modules/pybluez/default.nix
index 1cd7d91ef2593..ae90c21bea9f9 100644
--- a/pkgs/development/python-modules/pybluez/default.nix
+++ b/pkgs/development/python-modules/pybluez/default.nix
@@ -2,11 +2,14 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pkgs
+, isPy3k
 }:
 
 buildPythonPackage rec {
   version = "unstable-20160819";
   pname = "pybluez";
+  # requires use2to3, which is no longer supported in setuptools>58
+  disabled = isPy3k;
 
   propagatedBuildInputs = [ pkgs.bluez ];
 
diff --git a/pkgs/development/python-modules/pybullet/default.nix b/pkgs/development/python-modules/pybullet/default.nix
index 961ca5badbeea..df9c1a0d21ea3 100644
--- a/pkgs/development/python-modules/pybullet/default.nix
+++ b/pkgs/development/python-modules/pybullet/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "pybullet";
-  version = "3.2.0";
+  version = "3.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "df02fb0ab74a6e7c4e1d7a3e2ffd7e4760a30cdeccb9fa6dd19f334122ec00f2";
+    sha256 = "sha256-Rtq2RZ2CjgS2YbuA4BS8+xPJ8bpAwCLl6xEy78/guOA=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/pycfmodel/default.nix b/pkgs/development/python-modules/pycfmodel/default.nix
index a6a2446da07b6..c47362e339e50 100644
--- a/pkgs/development/python-modules/pycfmodel/default.nix
+++ b/pkgs/development/python-modules/pycfmodel/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pycfmodel";
-  version = "0.17.1";
+  version = "0.18.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "Skyscanner";
     repo = pname;
     rev = version;
-    hash = "sha256-Rw0sZ2k+tXo04mvlL83hUgdHIND5NIsVH/CzrfmbKlE=";
+    hash = "sha256-g249Nq4u4pPQLbW9Kw5vLwVKCaZoots5LD6yk1NPv6s=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pychromecast/default.nix b/pkgs/development/python-modules/pychromecast/default.nix
index 37ef4da7daf61..32462707cb6ed 100644
--- a/pkgs/development/python-modules/pychromecast/default.nix
+++ b/pkgs/development/python-modules/pychromecast/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pychromecast";
-  version = "10.3.0";
+  version = "11.0.0";
   format = "setuptools";
 
   disabled = !isPy3k;
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "PyChromecast";
     inherit version;
-    sha256 = "sha256-TrEHRG/b7YdvSMgyArYhKyIShhaKVcFrPrjt9CAPEKE=";
+    sha256 = "sha256-FRcjsXgRAFK2c7h2WhIMhdFurowi11V13O6+K+HrHvY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pycognito/default.nix b/pkgs/development/python-modules/pycognito/default.nix
index 375453231b9bc..ff050c15bfe08 100644
--- a/pkgs/development/python-modules/pycognito/default.nix
+++ b/pkgs/development/python-modules/pycognito/default.nix
@@ -4,22 +4,25 @@
 , envs
 , fetchFromGitHub
 , isPy27
+, freezegun
 , mock
+, moto
 , pytestCheckHook
 , python-jose
 , requests
+, requests-mock
 }:
 
 buildPythonPackage rec {
   pname = "pycognito";
-  version = "2022.01.0";
+  version = "2022.02.1";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "pvizeli";
     repo = pname;
     rev = version;
-    sha256 = "sha256-mmlw3irMC0SFjfEinXHyoPNfTvCcO02zGyqQLj9STSY=";
+    sha256 = "sha256-0PqeZ8yy2MzvIi1xQNosR7V2Ma3tMT0Q/v4OIv7f1Kg=";
   };
 
   propagatedBuildInputs = [
@@ -30,8 +33,11 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
+    freezegun
     mock
+    moto
     pytestCheckHook
+    requests-mock
   ];
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pycrypto/default.nix b/pkgs/development/python-modules/pycrypto/default.nix
index a9a302cf51bd4..364a218aaa1b9 100644
--- a/pkgs/development/python-modules/pycrypto/default.nix
+++ b/pkgs/development/python-modules/pycrypto/default.nix
@@ -4,8 +4,8 @@
 # https://github.com/NixOS/nixpkgs/issues/21671
 
 buildPythonPackage rec {
-  version = pycryptodome.version;
   pname = "pycrypto";
+  version = pycryptodome.version;
 
   # Cannot build wheel otherwise (zip 1980 issue)
   SOURCE_DATE_EPOCH=315532800;
@@ -21,8 +21,8 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = {
-    homepage = "http://www.pycrypto.org/";
-    description = "Python Cryptography Toolkit";
+    homepage = "https://www.pycrypto.org/";
+    description = "Drop-in replacement for pycrypto using pycryptodome";
     platforms = pycryptodome.meta.platforms;
   };
 }
diff --git a/pkgs/development/python-modules/pycurl/default.nix b/pkgs/development/python-modules/pycurl/default.nix
index 3585148b31c02..5b62b3bb016b9 100644
--- a/pkgs/development/python-modules/pycurl/default.nix
+++ b/pkgs/development/python-modules/pycurl/default.nix
@@ -27,7 +27,7 @@ buildPythonPackage rec {
 
   buildInputs = [
     curl
-    openssl.out
+    openssl
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pydmd/default.nix b/pkgs/development/python-modules/pydmd/default.nix
index f80f900347848..68a19afddba71 100644
--- a/pkgs/development/python-modules/pydmd/default.nix
+++ b/pkgs/development/python-modules/pydmd/default.nix
@@ -35,9 +35,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  disabledTestPaths = [
-    # Those tests take over 1.5 h on hydra. Also, an error and two failures
-    "tests/test_spdmd.py"
+  pytestFlagsArray = [
+    # test suite takes over 100 vCPU hours, just run small subset of it.
+    # TODO: Add a passthru.tests with all tests
+    "tests/test_dmdbase.py"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/pyeclib/default.nix b/pkgs/development/python-modules/pyeclib/default.nix
index d55fb416a79ee..7dd36c8fd6a14 100644
--- a/pkgs/development/python-modules/pyeclib/default.nix
+++ b/pkgs/development/python-modules/pyeclib/default.nix
@@ -1,12 +1,14 @@
-{ lib, stdenv, buildPythonPackage, fetchPypi, liberasurecode, six }:
+{ lib, stdenv, buildPythonPackage, fetchFromGitHub, liberasurecode, six }:
 
 buildPythonPackage rec {
   pname = "pyeclib";
-  version = "1.6.0";
+  version = "unstable-2022-03-11";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-gBHjHuia5/uZymkWZgyH4BCEZqmWK9SXowAQIJdOO7E=";
+  src = fetchFromGitHub {
+    owner = "openstack";
+    repo = "pyeclib";
+    rev = "b50040969a03f7566ffcb468336e875d21486113";
+    sha256 = "sha256-nYYjocStC0q/MC6pum3J4hlXiu/R5xODwIE97Ho3iEY=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pyee/default.nix b/pkgs/development/python-modules/pyee/default.nix
index a252cd4505ac2..e47e0366c8631 100644
--- a/pkgs/development/python-modules/pyee/default.nix
+++ b/pkgs/development/python-modules/pyee/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "pyee";
-  version = "8.2.2";
+  version = "9.0.4";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-XH5g+N+VcQ2+F1UOFs4BU/g5kMAO90SEG0Pzce1T6+o=";
+    sha256 = "sha256-J3DEkoq8ch9GtwXmpysMWUgMSmnJqDygsAu5lPHqSzI=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/pyfaidx/default.nix b/pkgs/development/python-modules/pyfaidx/default.nix
index a2815c3e1e2d2..e356ca563b545 100644
--- a/pkgs/development/python-modules/pyfaidx/default.nix
+++ b/pkgs/development/python-modules/pyfaidx/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "pyfaidx";
-  version = "0.6.3.1";
+  version = "0.6.4";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "93adf036a75e08dc9b1dcd59de6a4db2f65a48c603edabe2e499764b6535ed50";
+    sha256 = "sha256-e6O9yx30unSfdmWzTmoFKqToQkBqDflebfRxfMEj85I=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyfakefs/default.nix b/pkgs/development/python-modules/pyfakefs/default.nix
index 29803793fd6f8..63bf4483911a2 100644
--- a/pkgs/development/python-modules/pyfakefs/default.nix
+++ b/pkgs/development/python-modules/pyfakefs/default.nix
@@ -7,13 +7,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "4.5.4";
+  version = "4.5.5";
   pname = "pyfakefs";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5b5951e873f73bf12e3a19d8e4470c4b7962c51df753cf8c4caaf64e24a0a323";
+    sha256 = "sha256-iIIe2MJjJxu2alRBmoJZGqEH+yz9pC3I8hWOC+CIWQc=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pygame/default.nix b/pkgs/development/python-modules/pygame/default.nix
index 68e5a90d0cfd3..909ce1caa38be 100644
--- a/pkgs/development/python-modules/pygame/default.nix
+++ b/pkgs/development/python-modules/pygame/default.nix
@@ -25,6 +25,7 @@ buildPythonPackage rec {
       buildinputs_include = builtins.toJSON (builtins.concatMap (dep: [
         "${lib.getDev dep}/"
         "${lib.getDev dep}/include"
+        "${lib.getDev dep}/include/SDL2"
       ]) buildInputs);
       buildinputs_lib = builtins.toJSON (builtins.concatMap (dep: [
         "${lib.getLib dep}/"
diff --git a/pkgs/development/python-modules/pygit2/default.nix b/pkgs/development/python-modules/pygit2/default.nix
index b8b405a8ecf03..47654ff34c6a8 100644
--- a/pkgs/development/python-modules/pygit2/default.nix
+++ b/pkgs/development/python-modules/pygit2/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pygit2";
-  version = "1.8.0";
+  version = "1.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-bixc/1qh5D9DEDSAdhFS9cXWvvQPXB9QyHWKbonmbLY=";
+    sha256 = "sha256-xehYisrV4y+gWVWCVxBZ5rkOx8SHxYtOU8KADcveRMg=";
   };
 
   preConfigure = lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/development/python-modules/pygls/default.nix b/pkgs/development/python-modules/pygls/default.nix
index 4c557b2676cdf..22cea8c0709db 100644
--- a/pkgs/development/python-modules/pygls/default.nix
+++ b/pkgs/development/python-modules/pygls/default.nix
@@ -4,6 +4,7 @@
 , fetchFromGitHub
 , setuptools-scm
 , pydantic
+, toml
 , typeguard
 , mock
 , pytest-asyncio
@@ -13,6 +14,7 @@
 buildPythonPackage rec {
   pname = "pygls";
   version = "0.11.3";
+  format = "setuptools";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
@@ -27,6 +29,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     pydantic
+    toml
     typeguard
   ];
   # We don't know why an early version of pydantic is required, see:
diff --git a/pkgs/development/python-modules/pyicu/default.nix b/pkgs/development/python-modules/pyicu/default.nix
index 3281a7ceb8735..02226feff2ced 100644
--- a/pkgs/development/python-modules/pyicu/default.nix
+++ b/pkgs/development/python-modules/pyicu/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "PyICU";
-  version = "2.8";
+  version = "2.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3d80de47045a8163db5aebc947c42b4d429eeea4f0c32af4f40b33981fa872b9";
+    sha256 = "sha256-8LlUmof4e6fEE/E2edE3Jx4LN/HzmwEJrOOCV9TRSNY=";
   };
 
   nativeBuildInputs = [ icu ]; # for icu-config, but should be replaced with pkg-config
diff --git a/pkgs/development/python-modules/pyinfra/default.nix b/pkgs/development/python-modules/pyinfra/default.nix
index ce489127946f2..fed8628ea2da1 100644
--- a/pkgs/development/python-modules/pyinfra/default.nix
+++ b/pkgs/development/python-modules/pyinfra/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "pyinfra";
-  version = "1.7";
+  version = "1.7.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-r+7ka3WKE6uHP//p1N71hgTGit7Eo3x9INpbKPYbFMI=";
+    sha256 = "sha256-qA65l0+E5jVdPghjcX2YiVtdhHRxt4ey28xOedgwHaM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pylama/default.nix b/pkgs/development/python-modules/pylama/default.nix
index 3f93aef0a3f7b..5d8674aac023e 100644
--- a/pkgs/development/python-modules/pylama/default.nix
+++ b/pkgs/development/python-modules/pylama/default.nix
@@ -10,12 +10,14 @@
 , pydocstyle
 , pyflakes
 , vulture
+, isort
+, pylint
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pylama";
-  version = "8.3.6";
+  version = "8.3.7";
 
   format = "setuptools";
 
@@ -24,7 +26,7 @@ buildPythonPackage rec {
     owner = "klen";
     repo = "pylama";
     rev = version;
-    hash = "sha256-KU/G+2Fm4G/dUuNhhk8xM0Y8+7YOUUgREONM8CQGugw=";
+    hash = "sha256-//mrvZb4bT4aATURqa4g1DUagYe9SoP3o3OrwmiEJnI=";
   };
 
   patches = [
@@ -45,14 +47,22 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
+    # avoid infinite recursion pylint -> isort -> pylama
+    (pylint.override {
+      isort = isort.overridePythonAttrs (old: {
+        doCheck = false;
+      });
+    })
     pytestCheckHook
   ];
 
+  preCheck = ''
+    export HOME=$TEMP
+  '';
+
   disabledTests = [
-    "test_pylint" # infinite recursion
     "test_quotes" # FIXME package pylama-quotes
     "test_radon" # FIXME package radon
-    "test_sort"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/pylint-django/default.nix b/pkgs/development/python-modules/pylint-django/default.nix
index 291ef8fba62ef..61d49bd3ba0db 100644
--- a/pkgs/development/python-modules/pylint-django/default.nix
+++ b/pkgs/development/python-modules/pylint-django/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "pylint-django";
-  version = "2.5.0";
+  version = "2.5.2";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
     owner = "PyCQA";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1r48dss9qnzlifwy5ylkffdw35aaajmil0486mav056jm1vmi2pr";
+    sha256 = "sha256-VgGdV1T154LauclGo6jpLPUrYn5vTOWwvO4IXQ9se7c=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pylitterbot/default.nix b/pkgs/development/python-modules/pylitterbot/default.nix
index eec564c126b0a..4852e33dfb801 100644
--- a/pkgs/development/python-modules/pylitterbot/default.nix
+++ b/pkgs/development/python-modules/pylitterbot/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pylitterbot";
-  version = "2021.12.0";
+  version = "2022.3.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "natekspencer";
     repo = pname;
     rev = version;
-    sha256 = "sha256-hz+MQTxobf7IkOJTpwbDDd3i13FFtxFn2kmCwPV3pu4=";
+    sha256 = "sha256-hoDj7NbDQqXLA3I3Lmh9TBzmjluaJMz2aNPca6fXy+M=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pylnk3/default.nix b/pkgs/development/python-modules/pylnk3/default.nix
new file mode 100644
index 0000000000000..bfb180319897a
--- /dev/null
+++ b/pkgs/development/python-modules/pylnk3/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, twine
+, invoke
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pylnk3";
+  version = "0.4.2";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit version;
+    pname = "pylnk3";
+    sha256 = "sha256-yu4BNvYai3iBVNyOfAOsLd5XrcFw8cR4arRyFJHKbpk=";
+  };
+
+   propagatedBuildInputs = [
+     pytest
+     invoke
+  ];
+  # There are no tests in pylnk3.
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "pylnk3"
+  ];
+
+  meta = with lib; {
+    description = "Python library for reading and writing Windows shortcut files (.lnk)";
+    homepage = "https://github.com/strayge/pylnk";
+    license = with licenses; [ lgpl3Only ];
+    maintainers = with maintainers; [ fedx-sudo ];
+  };
+}
diff --git a/pkgs/development/python-modules/pymarshal/default.nix b/pkgs/development/python-modules/pymarshal/default.nix
index 0da93a6d8a43f..7da938526422c 100644
--- a/pkgs/development/python-modules/pymarshal/default.nix
+++ b/pkgs/development/python-modules/pymarshal/default.nix
@@ -3,9 +3,6 @@
 , fetchFromGitHub
 , pythonOlder
 , bson
-, pytest
-, pytest-cov
-, pytest-runner
 , pytestCheckHook
 , pyyaml
 , setuptools
@@ -23,9 +20,15 @@ buildPythonPackage rec {
     sha256 = "sha256-Ds8JV2mtLRcKXBvPs84Hdj3MxxqpeV5muKCSlAFCj1A=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "'pytest-runner'" ""
+    substituteInPlace setup.cfg \
+      --replace "--cov=pymarshal --cov-report=html --cov-report=term" ""
+  '';
+
   nativeBuildInputs = [
     setuptools
-    pytest-runner
   ];
 
   propagatedBuildInputs = [
@@ -35,8 +38,6 @@ buildPythonPackage rec {
   checkInputs = [
     pytestCheckHook
     bson
-    pytest
-    pytest-cov
     pyyaml
   ];
 
diff --git a/pkgs/development/python-modules/pymatgen/default.nix b/pkgs/development/python-modules/pymatgen/default.nix
index be13f77490add..545310ec0ade5 100644
--- a/pkgs/development/python-modules/pymatgen/default.nix
+++ b/pkgs/development/python-modules/pymatgen/default.nix
@@ -1,6 +1,7 @@
-{ lib, buildPythonPackage, fetchFromGitHub
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
 , cython
-, enum34
 , glibcLocales
 , matplotlib
 , monty
@@ -11,10 +12,10 @@
 , plotly
 , pybtex
 , pydispatcher
+, pythonOlder
 , requests
 , ruamel-yaml
 , scipy
-, six
 , spglib
 , sympy
 , tabulate
@@ -23,14 +24,16 @@
 
 buildPythonPackage rec {
   pname = "pymatgen";
-  version = "2022.2.7";
+  version = "2022.3.29";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
 
-  # sdist doesn't include c files
   src = fetchFromGitHub {
     owner = "materialsproject";
     repo = "pymatgen";
     rev= "v${version}";
-    sha256 = "sha256-92Dxmo1Z9LR2caSOftIf1I6jeZmqDe3SqhhoCofWraw=";
+    hash = "sha256-B2piRWx9TfKlGTPOAAGsq2GxyfHIRBVFpk6dxES0WF0=";
   };
 
   nativeBuildInputs = [
@@ -39,7 +42,6 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    enum34
     matplotlib
     monty
     networkx
@@ -52,16 +54,18 @@ buildPythonPackage rec {
     requests
     ruamel-yaml
     scipy
-    six
     spglib
     sympy
     tabulate
     uncertainties
   ];
 
-  # No tests in pypi tarball.
+  # Tests are not detected by pytest
   doCheck = false;
-  pythonImportsCheck = [ "pymatgen" ];
+
+  pythonImportsCheck = [
+    "pymatgen"
+  ];
 
   meta = with lib; {
     description = "A robust materials analysis code that defines core object representations for structures and molecules";
diff --git a/pkgs/development/python-modules/pymemcache/default.nix b/pkgs/development/python-modules/pymemcache/default.nix
index f30b6ea06b4c0..f2055ca9a791f 100644
--- a/pkgs/development/python-modules/pymemcache/default.nix
+++ b/pkgs/development/python-modules/pymemcache/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "pymemcache";
-  version = "3.5.0";
+  version = "3.5.1";
 
   src = fetchFromGitHub {
     owner = "pinterest";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-O2qmcLWCUSc1f32irelIZOOuOziOUQXFGcuQJBXPvvM=";
+    sha256 = "sha256-DKqfv5gf9gzbnEPQSzy2mAaVYJZL9jmTKyGWVzj40T4=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pymongo/default.nix b/pkgs/development/python-modules/pymongo/default.nix
index bae4f7c25fb82..ba184f68b4b5a 100644
--- a/pkgs/development/python-modules/pymongo/default.nix
+++ b/pkgs/development/python-modules/pymongo/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "pymongo";
-  version = "3.12.2";
+  version = "3.12.3";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "64ea5e97fca1a37f83df9f3460bf63640bc0d725e12f3471e6acbf3a6040dd37";
+    sha256 = "sha256-ConK3ABipeU2ZN3gQ/bAlxcrjBxfAJRJAJUoL/mZWl8=";
   };
 
   # Tests call a running mongodb instance
diff --git a/pkgs/development/python-modules/pynetgear/default.nix b/pkgs/development/python-modules/pynetgear/default.nix
index e1d87cdcae330..1e93ebdc486e7 100644
--- a/pkgs/development/python-modules/pynetgear/default.nix
+++ b/pkgs/development/python-modules/pynetgear/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pynetgear";
-  version = "0.9.1";
+  version = "0.9.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "MatMaul";
     repo = pname;
     rev = version;
-    sha256 = "sha256-sLGr8I0LcLPrmQZ6dI+hwRAiNCrnLtr2WU04rPoG4x4=";
+    sha256 = "sha256-zydSx2OZowf+1KZ5ZJ/1FDVqDZQZ4U0+q62eB1+s+WY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pynndescent/default.nix b/pkgs/development/python-modules/pynndescent/default.nix
index f15cfef63c6e0..79b914f6122cc 100644
--- a/pkgs/development/python-modules/pynndescent/default.nix
+++ b/pkgs/development/python-modules/pynndescent/default.nix
@@ -34,6 +34,16 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTests = [
+    # numpy.core._exceptions._UFuncNoLoopError
+    "test_sparse_nn_descent_query_accuracy_angular"
+    "test_nn_descent_query_accuracy_angular"
+    "test_alternative_distances"
+    # scipy: ValueError: Unknown Distance Metric: wminkowski
+    # https://github.com/scikit-learn/scikit-learn/pull/21741
+    "test_weighted_minkowski"
+  ];
+
   pythonImportsCheck = [
     "pynndescent"
   ];
diff --git a/pkgs/development/python-modules/pyomo/default.nix b/pkgs/development/python-modules/pyomo/default.nix
index e8d89e9ef2d25..20450cd9effc6 100644
--- a/pkgs/development/python-modules/pyomo/default.nix
+++ b/pkgs/development/python-modules/pyomo/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pyomo";
-  version = "5.7.3";
+  version = "6.3.0";
   disabled = isPy27; # unable to import pyutilib.th
 
   src = fetchFromGitHub {
     repo = "pyomo";
     owner = "pyomo";
     rev = version;
-    sha256 = "sha256-p0/DdCwyXdzXElzjWewKs0Oi7BMXC+BxgYikdZL0t68=";
+    sha256 = "sha256-xyjiB5fDRf5y9Av5Cr+8wtU4pHzMHsM45mcmJEOaTWs=";
   };
 
   checkInputs = [ nose glpk ];
diff --git a/pkgs/development/python-modules/pyopengl-accelerate/default.nix b/pkgs/development/python-modules/pyopengl-accelerate/default.nix
index c6839bba98962..195ec563d50f6 100644
--- a/pkgs/development/python-modules/pyopengl-accelerate/default.nix
+++ b/pkgs/development/python-modules/pyopengl-accelerate/default.nix
@@ -1,11 +1,13 @@
 { lib
 , buildPythonPackage
+, pythonAtLeast
 , fetchPypi
 }:
 
 buildPythonPackage rec {
   pname = "pyopengl-accelerate";
   version = "3.1.5";
+  disabled = pythonAtLeast "3.10"; # fails to compile
 
   src = fetchPypi {
     pname = "PyOpenGL-accelerate";
diff --git a/pkgs/development/python-modules/pyopengl/default.nix b/pkgs/development/python-modules/pyopengl/default.nix
index 72d6ae3325837..7370057ad720d 100644
--- a/pkgs/development/python-modules/pyopengl/default.nix
+++ b/pkgs/development/python-modules/pyopengl/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "pyopengl";
-  version = "3.1.5";
+  version = "3.1.6";
 
   src = fetchPypi {
     pname = "PyOpenGL";
     inherit version;
-    sha256 = "4107ba0d0390da5766a08c242cf0cf3404c377ed293c5f6d701e457c57ba3424";
+    sha256 = "sha256-jqbIdzkn7adAW//G9buTvoFWmnsFyMrFDNlOlp3OXic=";
   };
 
   propagatedBuildInputs = [ pillow ];
diff --git a/pkgs/development/python-modules/pyoverkiz/default.nix b/pkgs/development/python-modules/pyoverkiz/default.nix
index 60d09f35a464b..f39b17a67541b 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.3.10";
+  version = "1.3.14";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "iMicknl";
     repo = "python-overkiz-api";
     rev = "v${version}";
-    hash = "sha256-XvQDCCxqqY902cpn7Ee48XOvbjBhs0UsJH/b4skjazE=";
+    hash = "sha256-dyT2hrTQwYoKEZAVIed2N4259YlR2JmvOEpAuPLCur4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyownet/default.nix b/pkgs/development/python-modules/pyownet/default.nix
index 2bdc18e1e2440..9a368c26087eb 100644
--- a/pkgs/development/python-modules/pyownet/default.nix
+++ b/pkgs/development/python-modules/pyownet/default.nix
@@ -14,6 +14,10 @@ buildPythonPackage rec {
     sha256 = "4f2fa4471c2f806b35090bdc6c092305c6eded3ff3736f8b586d35bdb157de62";
   };
 
+  postPatch = ''
+    sed -i '/use_2to3/d' setup.py
+  '';
+
   # tests access network
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/pypandoc/default.nix b/pkgs/development/python-modules/pypandoc/default.nix
index d2ff1aab1a476..8e46be2697ce8 100644
--- a/pkgs/development/python-modules/pypandoc/default.nix
+++ b/pkgs/development/python-modules/pypandoc/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "pypandoc";
-  version = "1.7.3";
+  version = "1.7.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Tv0vqKN9AAXdfQRMt/QuqeFB3wNTh1DsWu0XNZukTUc=";
+    sha256 = "sha256-gCwmquF7ZBNsbQBpSdjOGDp9TZ+9Ty0FHmb0+59FylA=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/pyparsing/default.nix b/pkgs/development/python-modules/pyparsing/default.nix
index 27047cf6eabc4..449c5334e6640 100644
--- a/pkgs/development/python-modules/pyparsing/default.nix
+++ b/pkgs/development/python-modules/pyparsing/default.nix
@@ -11,13 +11,13 @@
 let
   pyparsing = buildPythonPackage rec {
     pname = "pyparsing";
-    version = "3.0.6";
+    version = "3.0.7";
 
     src = fetchFromGitHub {
       owner = "pyparsing";
       repo = pname;
       rev = "pyparsing_${version}";
-      sha256 = "0n89ky7rx5yg09ssji8liahnyxip08hz7syc2k4pmlgs4978181a";
+      sha256 = "sha256-RyvTTbFshAZgyZPgzqcq31E504RlnMZuf16jJYGqDDI=";
     };
 
     # circular dependencies if enabled by default
diff --git a/pkgs/development/python-modules/pypdf3/default.nix b/pkgs/development/python-modules/pypdf3/default.nix
index 4970c0d527bb5..a4273497e3bc4 100644
--- a/pkgs/development/python-modules/pypdf3/default.nix
+++ b/pkgs/development/python-modules/pypdf3/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "pypdf3";
-  version = "1.0.5";
+  version = "1.0.6";
 
   src = fetchPypi {
     pname = "PyPDF3";
     inherit version;
-    sha256 = "sha256-DGKpR4p3z8tw4gKi5Hmj09svysD3Hkn4NklhgROmEAU=";
+    sha256 = "sha256-yUbzJzQZ43JY415yJz9JkEqxVyPYenYcERXvmXmfjF8=";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/development/python-modules/pyperf/default.nix b/pkgs/development/python-modules/pyperf/default.nix
index 40a77fc0c7bd1..25cf9906cb44b 100644
--- a/pkgs/development/python-modules/pyperf/default.nix
+++ b/pkgs/development/python-modules/pyperf/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "pyperf";
-  version = "2.3.0";
+  version = "2.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8a85dd42e067131d5b26b71472336da7f7f4b87ff9c97350d89f5ff0de9adedc";
+    sha256 = "sha256-SsLiz3JKubUlInw7SmnxarXHFOpbrWHJdODF1XhyOKE=";
   };
 
   checkInputs = [ nose psutil ] ++
diff --git a/pkgs/development/python-modules/pypugjs/default.nix b/pkgs/development/python-modules/pypugjs/default.nix
index 9b19c4c8a2614..cfc7fbf2ded34 100644
--- a/pkgs/development/python-modules/pypugjs/default.nix
+++ b/pkgs/development/python-modules/pypugjs/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "pypugjs";
-  version = "5.9.10";
+  version = "5.9.11";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "082dae87d44e184030b66da9ea9bd1a0209f86c089d8f2bd61064b97a7511a28";
+    sha256 = "sha256-kStaT1S8cPJF+iDFk/jLGKi3JVOMmtf7PzeYDKCdD0E=";
   };
 
   propagatedBuildInputs = [ six chardet ];
diff --git a/pkgs/development/python-modules/pyqldb/default.nix b/pkgs/development/python-modules/pyqldb/default.nix
new file mode 100644
index 0000000000000..a6fd8665fd149
--- /dev/null
+++ b/pkgs/development/python-modules/pyqldb/default.nix
@@ -0,0 +1,32 @@
+{ lib, buildPythonPackage, fetchFromGitHub, boto3, amazon-ion, ionhash, pytestCheckHook }:
+
+buildPythonPackage rec {
+  pname = "pyqldb";
+  version = "3.2.2";
+
+  src = fetchFromGitHub {
+    owner = "awslabs";
+    repo = "amazon-qldb-driver-python";
+    rev = "v${version}";
+    sha256 = "sha256-TKf43+k428h8T6ye6mJrnK9D4J1xpIu0QacM7lWJF7w=";
+  };
+
+  propagatedBuildInputs = [ boto3 amazon-ion ionhash ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  preCheck = ''
+    export AWS_DEFAULT_REGION=us-east-1
+  '';
+
+  pytestFlagsArray = [ "tests/unit" ];
+
+  pythonImportsCheck = [ "pyqldb" ];
+
+  meta = with lib; {
+    description = "Python driver for Amazon QLDB";
+    homepage = "https://github.com/awslabs/amazon-qldb-driver-python";
+    license = licenses.asl20;
+    maintainers = [ maintainers.terlar ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyrect/default.nix b/pkgs/development/python-modules/pyrect/default.nix
index e8041786b07b9..54566658443c3 100644
--- a/pkgs/development/python-modules/pyrect/default.nix
+++ b/pkgs/development/python-modules/pyrect/default.nix
@@ -7,11 +7,11 @@
 }:
 buildPythonPackage rec {
   pname = "PyRect";
-  version = "0.1.4";
+  version = "0.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Oy+nNTzjKhGqawoVSVlo0qdjQjyJR64ki5LAN9704gI=";
+    sha256 = "sha256-9lFV9t+bkptnyv+9V8CUfFrlRJ07WA0XgHS/+0egm3g=";
   };
 
   checkInputs = [ tox pytestCheckHook pygame ];
diff --git a/pkgs/development/python-modules/pyres/default.nix b/pkgs/development/python-modules/pyres/default.nix
index bb15a4d927ab2..a5b618d56902b 100644
--- a/pkgs/development/python-modules/pyres/default.nix
+++ b/pkgs/development/python-modules/pyres/default.nix
@@ -1,26 +1,10 @@
 { lib, stdenv, fetchPypi, buildPythonPackage, fetchFromGitHub, simplejson, redis, setproctitle, nose, pkgs }:
 
-let
-
-  # the requirements of `pyres` support Redis 3.x (due to a missing upper-bound),
-  # but it doesn't support Redis 3.x.
-  redis' = redis.overridePythonAttrs (old: rec {
-    pname = "redis";
-    version = "2.10.6";
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "03vcgklykny0g0wpvqmy8p6azi2s078317wgb2xjv5m2rs9sjb52";
-    };
-  });
-
-in
-
 buildPythonPackage rec {
   pname = "pyres";
   version = "1.5";
 
-  # ps is used in Worker.worker_pids method
-  propagatedBuildInputs = [ simplejson setproctitle redis' pkgs.ps ];
+  propagatedBuildInputs = [ simplejson setproctitle redis pkgs.ps ];
   checkInputs = [ nose pkgs.redis ];
 
   # PyPI tarball doesn't contain tests so let's use GitHub
@@ -44,5 +28,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/binarydud/pyres";
     license = licenses.mit;
     maintainers = with maintainers; [ jluttine ];
+    broken = true; # not compatible with latest redis
   };
 }
diff --git a/pkgs/development/python-modules/pyrogram/default.nix b/pkgs/development/python-modules/pyrogram/default.nix
index 0bafd17a8eb60..971b8015a4178 100644
--- a/pkgs/development/python-modules/pyrogram/default.nix
+++ b/pkgs/development/python-modules/pyrogram/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pyrogram";
-  version = "1.4.9";
+  version = "1.4.12";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     pname = "Pyrogram";
     inherit version;
-    hash = "sha256-iAPzQDHRyFl8m/23zTGOFXA3v5ONU5BGp7KT1ZSywA4=";
+    hash = "sha256-rNGdWnZuhCU0Kg/CkeNjazKb76h8/VanZdF4yi0KWGU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyrsistent/default.nix b/pkgs/development/python-modules/pyrsistent/default.nix
index 75cecc7d70916..5a1b66bfa26c5 100644
--- a/pkgs/development/python-modules/pyrsistent/default.nix
+++ b/pkgs/development/python-modules/pyrsistent/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "pyrsistent";
-  version = "0.18.0";
+  version = "0.18.1";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "773c781216f8c2900b42a7b638d5b517bb134ae1acbebe4d1e8f1f41ea60eb4b";
+    sha256 = "sha256-1NYfi5k6clW6cU3zrKUnAPgSUon4T3BM+AkWUXxG65Y=";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/pysigma-backend-splunk/default.nix b/pkgs/development/python-modules/pysigma-backend-splunk/default.nix
index ab757085d1ca2..2fc5c6a6ccdae 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.2.0";
+  version = "0.2.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "SigmaHQ";
     repo = "pySigma-backend-splunk";
     rev = "v${version}";
-    hash = "sha256-EP0gcK05hZ5TCOgTePezfEGbW45dGrnnksWyI9Jo9MQ=";
+    hash = "sha256-NAhAWK1eSSGQAlMGgMHrW/RTpT9LJMqwkhE9/8xWGT8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pysigma/default.nix b/pkgs/development/python-modules/pysigma/default.nix
index be35230dbd6ba..1c7cd8ee299db 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.4.2";
+  version = "0.4.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "SigmaHQ";
     repo = "pySigma";
     rev = "v${version}";
-    hash = "sha256-0k6m86RQoP4QTuxmCWBpxiGqaJt3alOLS5BAuOFwdb4=";
+    hash = "sha256-jZPimSkJ6qTs0kEMVhP9Gnxu0jxA0cmgdn5++CevgIM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyskyqhub/default.nix b/pkgs/development/python-modules/pyskyqhub/default.nix
index 1620db33e4440..b0d1f8010fbb7 100644
--- a/pkgs/development/python-modules/pyskyqhub/default.nix
+++ b/pkgs/development/python-modules/pyskyqhub/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pyskyqhub";
-  version = "0.1.6";
+  version = "0.1.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "RogerSelwyn";
     repo = "skyq_hub";
     rev = version;
-    sha256 = "sha256-Qc7mb51KKGLNWjeiJKAsFO/RNLefv0sRHWwXodMBi/k=";
+    sha256 = "sha256-1KNgF3d5w+aNKNkOZVkdD3VVLz/F8NyQ5MxO1UaWrFk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pysnooper/default.nix b/pkgs/development/python-modules/pysnooper/default.nix
index f5675aae8ed8b..370ed373da55d 100644
--- a/pkgs/development/python-modules/pysnooper/default.nix
+++ b/pkgs/development/python-modules/pysnooper/default.nix
@@ -1,25 +1,29 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pytest
-, isPy27
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
-  version = "1.1.0";
   pname = "pysnooper";
+  version = "1.1.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit version;
     pname = "PySnooper";
-    sha256 = "0fa932ad396d2bac089d4b1f94f0ce49cde4140ee64ddd24a4065fadea10fcc9";
+    hash = "sha256-0X3JHMoVk8ECMNzkXkax0/8PiRDww46UHt9roSYLOCA=";
   };
 
-  # test dependency python-toolbox fails with py27
-  doCheck = !isPy27;
-
   checkInputs = [
-    pytest
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pysnooper"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pyspark/default.nix b/pkgs/development/python-modules/pyspark/default.nix
index 2e6f41aa23327..c424e3195e7d9 100644
--- a/pkgs/development/python-modules/pyspark/default.nix
+++ b/pkgs/development/python-modules/pyspark/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pyspark";
-  version = "3.2.0";
+  version = "3.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bfea06179edbfb4bc76a0f470bd3c38e12f00e1023e3ad0373558d07cff102ab";
+    sha256 = "sha256-C4E1kmLsbprHjDUzROfeAmAn0UDG3vlJ/w2Aq3D4mlQ=";
   };
 
   # pypandoc is broken with pandoc2, so we just lose docs.
diff --git a/pkgs/development/python-modules/pyspnego/default.nix b/pkgs/development/python-modules/pyspnego/default.nix
index 561ec037c0a2a..563042091bf74 100644
--- a/pkgs/development/python-modules/pyspnego/default.nix
+++ b/pkgs/development/python-modules/pyspnego/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pyspnego";
-  version = "0.3.1";
+  version = "0.5.0";
 
   disabled = pythonOlder "3.7";
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "jborean93";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-f7CR7wMxHNNpxizV7MFCtWci3SSNvdx+W5i/rgOUSxY=";
+    sha256 = "sha256-CvPvyP7Vi2Ib+ikgUQt8JkVt5fxzapG590TgAehXqHE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pytesseract/default.nix b/pkgs/development/python-modules/pytesseract/default.nix
index 4aac6902ce3bb..13cfdaea214e1 100644
--- a/pkgs/development/python-modules/pytesseract/default.nix
+++ b/pkgs/development/python-modules/pytesseract/default.nix
@@ -1,8 +1,9 @@
-{ buildPythonPackage, fetchPypi, lib, pillow, tesseract, substituteAll, packaging }:
+{ buildPythonPackage, fetchPypi, lib, packaging, pillow, tesseract, substituteAll }:
 
 buildPythonPackage rec {
   pname = "pytesseract";
   version = "0.3.9";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
@@ -16,8 +17,14 @@ buildPythonPackage rec {
     })
   ];
 
-  buildInputs = [ tesseract ];
-  propagatedBuildInputs = [ pillow packaging ];
+  buildInputs = [
+    tesseract
+  ];
+
+  propagatedBuildInputs = [
+    packaging
+    pillow
+  ];
 
   # the package doesn't have any tests.
   doCheck = false;
diff --git a/pkgs/development/python-modules/pytest-asyncio/default.nix b/pkgs/development/python-modules/pytest-asyncio/default.nix
index b8d3dffa3b0b9..da60feb724f8f 100644
--- a/pkgs/development/python-modules/pytest-asyncio/default.nix
+++ b/pkgs/development/python-modules/pytest-asyncio/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pytest-asyncio";
-  version = "0.18.0";
+  version = "0.18.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "pytest-dev";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-PE66ogjfzj6cW3+UD5nZHSt6zg7b+j6Q4ACznE4j0j8=";
+    hash = "sha256-9KN45+Pdz40rJv1NUxuoy8xWtLGt7kz7YcqfjfZ9x4A=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/pytest-cid/default.nix b/pkgs/development/python-modules/pytest-cid/default.nix
index c1c918c4d60c2..767d300f7dd94 100644
--- a/pkgs/development/python-modules/pytest-cid/default.nix
+++ b/pkgs/development/python-modules/pytest-cid/default.nix
@@ -20,6 +20,11 @@ buildPythonPackage rec {
     sha256 = "sha256-H2RtMGYWukowTTfqZSx+hikxzkqw1v5bA4AfZfiVl8U=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "pytest >= 5.0, < 7.0" "pytest >= 5.0"
+  '';
+
   propagatedBuildInputs = [
     py-cid
   ];
diff --git a/pkgs/development/python-modules/pytest-httpx/default.nix b/pkgs/development/python-modules/pytest-httpx/default.nix
index 9536325ade513..569ac8606f6a1 100644
--- a/pkgs/development/python-modules/pytest-httpx/default.nix
+++ b/pkgs/development/python-modules/pytest-httpx/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pytest-httpx";
-  version = "0.17.3";
+  version = "0.20.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "Colin-b";
     repo = "pytest_httpx";
     rev = "v${version}";
-    sha256 = "sha256-cJRzjNIN9Fc8vcjmndW+akjxDSp+wFahY2MEslgXIwM=";
+    sha256 = "sha256-9LDbVZgTmfyYAWylUy6Q4KH2gKpAa/o4IhqQV31BVgY=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/pytest-isort/default.nix b/pkgs/development/python-modules/pytest-isort/default.nix
index e628e6a158c51..c06959b96c419 100644
--- a/pkgs/development/python-modules/pytest-isort/default.nix
+++ b/pkgs/development/python-modules/pytest-isort/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-isort";
-  version = "2.0.0";
+  version = "3.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "821a8c5c9c4f3a3c52cfa9c541fbe89ac9e28728125125af53724c4c3f129117";
+    sha256 = "sha256-T+Sybq0q93ZzDsI/WHDXQh81qs4ipBxOk4WG702Hh8s=";
   };
 
   propagatedBuildInputs = [ isort ];
diff --git a/pkgs/development/python-modules/pytest-mpl/default.nix b/pkgs/development/python-modules/pytest-mpl/default.nix
index 747411ad74558..b5a5775f56edd 100644
--- a/pkgs/development/python-modules/pytest-mpl/default.nix
+++ b/pkgs/development/python-modules/pytest-mpl/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-mpl";
-  version = "0.13";
+  version = "0.14.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "582db6e14315f9b08cbd2df39b136dc344bfe8a27c2f05b995460fb0969ec19e";
+    sha256 = "sha256-iE4HjS1TgK9WQzhOIzw1jpZZgl+y2X/9r48YXENMjYk=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/pytest-mypy/default.nix b/pkgs/development/python-modules/pytest-mypy/default.nix
index 8c52fa2e69889..bec0ee59d0c5b 100644
--- a/pkgs/development/python-modules/pytest-mypy/default.nix
+++ b/pkgs/development/python-modules/pytest-mypy/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-mypy";
-  version = "0.8.1";
+  version = "0.9.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1fa55723a4bf1d054fcba1c3bd694215a2a65cc95ab10164f5808afd893f3b11";
+    sha256 = "sha256-n/o79AXBLFxr6ekuIr67arLJG5wy9FsPDJOvRzJpq1w=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/pytest-pythonpath/default.nix b/pkgs/development/python-modules/pytest-pythonpath/default.nix
deleted file mode 100644
index 8c3fb48b430e6..0000000000000
--- a/pkgs/development/python-modules/pytest-pythonpath/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ buildPythonPackage, fetchPypi, lib, pytest }:
-
-buildPythonPackage rec {
-  pname = "pytest-pythonpath";
-  version = "0.7.4";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-ZOGVsjqPjAxjH7Fogtmtb6QTftHylh3dFdUgZc1DXbY=";
-  };
-
-  buildInputs = [ pytest ];
-  checkInputs = [ pytest ];
-
-  checkPhase = ''
-    pytest
-  '';
-
-  meta = with lib; {
-    description =
-      "Pytest plugin for adding to the PYTHONPATH from command line or configs";
-    homepage = "https://github.com/bigsassy/pytest-pythonpath";
-    maintainers = with maintainers; [ cript0nauta ];
-    license = licenses.mit;
-  };
-}
diff --git a/pkgs/development/python-modules/pytest-regressions/default.nix b/pkgs/development/python-modules/pytest-regressions/default.nix
index 6866df7b71258..99099d3ac9247 100644
--- a/pkgs/development/python-modules/pytest-regressions/default.nix
+++ b/pkgs/development/python-modules/pytest-regressions/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "pytest-regressions";
-  version = "2.3.0";
+  version = "2.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-STWtZzbvhQ0NsSvl7jh0CjmYjmtRA/LTUQAAaze5Tg4=";
+    sha256 = "sha256-s+xM2zTo9idgYnXYuDTGXmDhowc+MmuzcnpCcnPQIh0=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/pytest-relaxed/default.nix b/pkgs/development/python-modules/pytest-relaxed/default.nix
index 1030f76050ca7..13838eb326c98 100644
--- a/pkgs/development/python-modules/pytest-relaxed/default.nix
+++ b/pkgs/development/python-modules/pytest-relaxed/default.nix
@@ -38,5 +38,7 @@ buildPythonPackage rec {
     description = "Relaxed test discovery/organization for pytest";
     license = licenses.bsd0;
     maintainers = [ maintainers.costrouc ];
+    # see https://github.com/bitprophet/pytest-relaxed/issues/12
+    broken = true;
   };
 }
diff --git a/pkgs/development/python-modules/pytest-runner/default.nix b/pkgs/development/python-modules/pytest-runner/default.nix
index d99f72299dd7d..baca23d774913 100644
--- a/pkgs/development/python-modules/pytest-runner/default.nix
+++ b/pkgs/development/python-modules/pytest-runner/default.nix
@@ -1,20 +1,29 @@
-{ lib, buildPythonPackage, fetchPypi, setuptools-scm, pytest }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools-scm
+, pytest
+}:
 
 buildPythonPackage rec {
   pname = "pytest-runner";
-  version = "5.3.1";
+  version = "6.0.0";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0fce5b8dc68760f353979d99fdd6b3ad46330b6b1837e2077a89ebcf204aac91";
+    sha256 = "sha256-tNhTYu0ptMNIZ43nl99Djw8FCUl924xkcJbAKm2HtoU=";
   };
 
-  nativeBuildInputs = [ setuptools-scm pytest ];
-
   postPatch = ''
     rm pytest.ini
   '';
 
+  nativeBuildInputs = [
+    setuptools-scm
+    pytest
+  ];
+
   checkPhase = ''
     py.test tests
   '';
diff --git a/pkgs/development/python-modules/pytest-socket/default.nix b/pkgs/development/python-modules/pytest-socket/default.nix
index 1376d3e8412f8..bcd4abb4d4100 100644
--- a/pkgs/development/python-modules/pytest-socket/default.nix
+++ b/pkgs/development/python-modules/pytest-socket/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pytest-socket";
-  version = "0.5.0";
+  version = "0.5.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "miketheman";
     repo = pname;
     rev = version;
-    hash = "sha256-HdGkpIHFsoAG2+8UyL9jSb3Dm8bWkYzREdY3i15ls/Q=";
+    hash = "sha256-QKHnuq2pqWMVUhF9nnhJggEK6SSyp6zBEfQX9tGND2E=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pytest-subtests/default.nix b/pkgs/development/python-modules/pytest-subtests/default.nix
index d5e379b524d5f..b1df1ceaad678 100644
--- a/pkgs/development/python-modules/pytest-subtests/default.nix
+++ b/pkgs/development/python-modules/pytest-subtests/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pytest-subtests";
-  version = "0.6.0";
+  version = "0.7.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Pr0wao3PdRM/F0LyiMgvNkJuvPihMtTuiXgtIOhPwTo=";
+    sha256 = "sha256-lcRMd+P77emEi7iMqQs4SBX8uoCQ75qfVWWasWOxaBw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pytest-testmon/default.nix b/pkgs/development/python-modules/pytest-testmon/default.nix
index 1b291778b2ad6..3a39700186525 100644
--- a/pkgs/development/python-modules/pytest-testmon/default.nix
+++ b/pkgs/development/python-modules/pytest-testmon/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "pytest-testmon";
-  version = "1.2.2";
+  version = "1.3.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e69d5aeac4e371986f94e8ad06e56d70633870d026f2306fca44051f02fcb688";
+    sha256 = "sha256-1Qyroq6Dv11EaCGRAj19bKQBfRz26XSh5TJY7xA/vBE=";
   };
 
   propagatedBuildInputs = [ coverage ];
diff --git a/pkgs/development/python-modules/pytest-timeout/default.nix b/pkgs/development/python-modules/pytest-timeout/default.nix
index f99340e48b3b2..e380068c59d35 100644
--- a/pkgs/development/python-modules/pytest-timeout/default.nix
+++ b/pkgs/development/python-modules/pytest-timeout/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "pytest-timeout";
-  version = "2.0.2";
+  version = "2.1.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e6f98b54dafde8d70e4088467ff621260b641eb64895c4195b6e5c8f45638112";
+    sha256 = "sha256-wHygdATGEvirviIpSyPDaOLlEEtSHBeQGVVh834aw9k=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix
index 0b1bb2b02030b..109e918285881 100644
--- a/pkgs/development/python-modules/pytest/default.nix
+++ b/pkgs/development/python-modules/pytest/default.nix
@@ -1,5 +1,4 @@
 { lib, buildPythonPackage, pythonOlder, fetchPypi, isPy3k, isPyPy
-, pythonAtLeast, fetchpatch
 , atomicwrites
 , attrs
 , hypothesis
@@ -13,29 +12,21 @@
 , setuptools
 , setuptools-scm
 , six
-, toml
+, tomli
 , wcwidth
 , writeText
 }:
 
 buildPythonPackage rec {
   pname = "pytest";
-  version = "6.2.5";
+  version = "7.0.1";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89";
+    sha256 = "sha256-4wkFoMEx09lLiWJKHMWv7D4LovvbFRhn2ODr1JhQ8XE=";
   };
 
-  patches = lib.optionals (pythonAtLeast "3.10") [
-    (fetchpatch {
-      # Fix test_errors_in_xfail_skip_expressions for Python 3.10.1, remove after 6.2.5
-      url = "https://github.com/pytest-dev/pytest/commit/913439f5e5691f391e2969b3c8f0a49e50dce43a.patch";
-      sha256 = "0hsl3lww6bx5k99cp8gj0fy9rg02kcfbwiiwjx2y8vbhwd5ns41p";
-    })
-  ];
-
   nativeBuildInputs = [ setuptools-scm ];
 
   propagatedBuildInputs = [
@@ -48,7 +39,7 @@ buildPythonPackage rec {
     py
     setuptools
     six
-    toml
+    tomli
     wcwidth
   ] ++ lib.optionals (pythonOlder "3.6") [ pathlib2 ];
 
@@ -95,7 +86,7 @@ buildPythonPackage rec {
     # - files are not needed after tests are finished
     pytestRemoveBytecodePhase () {
         # suffix is defined at:
-        #    https://github.com/pytest-dev/pytest/blob/6.2.5/src/_pytest/assertion/rewrite.py#L51-L53
+        #    https://github.com/pytest-dev/pytest/blob/7.0.1/src/_pytest/assertion/rewrite.py#L51-L53
         find $out -name "*-pytest-*.py[co]" -delete
     }
     preDistPhases+=" pytestRemoveBytecodePhase"
diff --git a/pkgs/development/python-modules/python-awair/default.nix b/pkgs/development/python-modules/python-awair/default.nix
index b676a7a3de986..913d91c0901c2 100644
--- a/pkgs/development/python-modules/python-awair/default.nix
+++ b/pkgs/development/python-modules/python-awair/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "python-awair";
-  version = "0.2.2";
+  version = "0.2.3";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "ahayworth";
     repo = "python_awair";
     rev = version;
-    sha256 = "sha256-5+s1aSvt+rXyumvf/qZ58Uvmq0p45mu23Djbwgih3qI=";
+    sha256 = "sha256-Roqmwamv/2/O87jfyymCGgRlw/woUhCNIuM9MLT3+Cw=";
   };
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/pkgs/development/python-modules/python-box/default.nix b/pkgs/development/python-modules/python-box/default.nix
index 30666ef47064d..01805c6a2d22f 100644
--- a/pkgs/development/python-modules/python-box/default.nix
+++ b/pkgs/development/python-modules/python-box/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "python-box";
-  version = "6.0.1";
+  version = "6.0.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "cdgriffith";
     repo = "Box";
     rev = version;
-    hash = "sha256-kH8qHAFuYDXO5Dsl6BpTYCIqh0Xi8Rbwmia+y3sTn6Y=";
+    hash = "sha256-IE2qyRzvrOTymwga+hCwE785sAVTqQtcN1DL/uADpbQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-cinderclient/default.nix b/pkgs/development/python-modules/python-cinderclient/default.nix
index fe421fa55d386..2f08341a2c4f6 100644
--- a/pkgs/development/python-modules/python-cinderclient/default.nix
+++ b/pkgs/development/python-modules/python-cinderclient/default.nix
@@ -17,11 +17,11 @@
 
 buildPythonPackage rec {
   pname = "python-cinderclient";
-  version = "8.2.0";
+  version = "8.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7b2f08a2d1cc05d2c1f84f02fadb2208678b1acb501acfe2de33720078ec7b9f";
+    sha256 = "sha256-4AEDh1Ap3IXLtZEx0AzMhTT2kpVqzeMrWjzFr0wkWAs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-crfsuite/default.nix b/pkgs/development/python-modules/python-crfsuite/default.nix
index a357df95a43ad..7cb9281a7ba1d 100644
--- a/pkgs/development/python-modules/python-crfsuite/default.nix
+++ b/pkgs/development/python-modules/python-crfsuite/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "python-crfsuite";
-  version = "0.9.7";
+  version = "0.9.8";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1ryfcdfpqbrf8rcd2rlay2gfiba3px3q508543jf81shrv93hi9v";
+    sha256 = "sha256-DgPPbro2KHF8zwbfoPSiuoYohgrbF0y/0lCnpGkoZaE=";
   };
 
   preCheck = ''
diff --git a/pkgs/development/python-modules/python-daemon/default.nix b/pkgs/development/python-modules/python-daemon/default.nix
index 074e5699e3d5a..cc12b14aa153e 100644
--- a/pkgs/development/python-modules/python-daemon/default.nix
+++ b/pkgs/development/python-modules/python-daemon/default.nix
@@ -51,6 +51,11 @@ buildPythonPackage rec {
     })
   ];
 
+  disabledTestPaths = [
+    # requires removed distutils.command
+    "test_version.py"
+  ];
+
   disabledTests = [
     "begin_with_TestCase"
     "changelog_TestCase"
diff --git a/pkgs/development/python-modules/python-dbusmock/default.nix b/pkgs/development/python-modules/python-dbusmock/default.nix
index 60e6f2e745526..378c58f02364f 100644
--- a/pkgs/development/python-modules/python-dbusmock/default.nix
+++ b/pkgs/development/python-modules/python-dbusmock/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "python-dbusmock";
-  version = "0.25.0";
+  version = "0.26.1";
 
   src = fetchFromGitHub {
     owner = "martinpitt";
     repo = pname;
     rev = version;
-    sha256 = "0zg2aib0k6hc1vvlbdcmp003m85dvkv7pndzgkc4vv2y9qpi0jp9";
+    sha256 = "sha256-kavbWMTgKU/rBIo7RMs9NkwReYQyEdeFwMBSzEM9wa0=";
   };
 
   prePatch = ''
diff --git a/pkgs/development/python-modules/python-gitlab/default.nix b/pkgs/development/python-modules/python-gitlab/default.nix
index e15a75484219d..8ccf35ff8e844 100644
--- a/pkgs/development/python-modules/python-gitlab/default.nix
+++ b/pkgs/development/python-modules/python-gitlab/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "python-gitlab";
-  version = "3.2.0";
+  version = "3.3.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-j27oEQn+wjH8K3TixANbt94FSOr4LdEZ/ilN8sSlJL4=";
+    sha256 = "sha256-/vJdQaYvkdqC7iD3KnKLnGnu80zwowBc27mgtHHVtJg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-glanceclient/default.nix b/pkgs/development/python-modules/python-glanceclient/default.nix
index 754bac51ea682..3d290ae5eda5e 100644
--- a/pkgs/development/python-modules/python-glanceclient/default.nix
+++ b/pkgs/development/python-modules/python-glanceclient/default.nix
@@ -19,11 +19,11 @@
 
 buildPythonApplication rec {
   pname = "python-glanceclient";
-  version = "3.5.0";
+  version = "3.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "417b9d814b43e62df4351f26a0d5569b801e9f99f7758bd8c82ef994c3629356";
+    sha256 = "sha256-gi1IYtWJL2pltoKTRy5gsHTRwHlp0GHoBMbh1UP5g9o=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/python-heatclient/default.nix b/pkgs/development/python-modules/python-heatclient/default.nix
index 8ba5c7dd21fc8..d78682a8c66cf 100644
--- a/pkgs/development/python-modules/python-heatclient/default.nix
+++ b/pkgs/development/python-modules/python-heatclient/default.nix
@@ -22,11 +22,11 @@
 
 buildPythonApplication rec {
   pname = "python-heatclient";
-  version = "2.5.0";
+  version = "2.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b610748eb3f18f6bd762e0808accdf872308289a77c3b19ed2d8b9f306393a42";
+    sha256 = "sha256-3l7XyxKm18BAM1DhNsCmRwcZR224+8m/jQ1YHrwLHCs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-ironicclient/default.nix b/pkgs/development/python-modules/python-ironicclient/default.nix
index c193cf7cd1ad9..83449a9285d3a 100644
--- a/pkgs/development/python-modules/python-ironicclient/default.nix
+++ b/pkgs/development/python-modules/python-ironicclient/default.nix
@@ -20,11 +20,11 @@
 
 buildPythonApplication rec {
   pname = "python-ironicclient";
-  version = "4.10.0";
+  version = "4.11.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8f3ad8ae1fc4df524ea05a458ad2567b58144e881807dbbb985e282902d732fd";
+    sha256 = "sha256-zGG/3Cq7mARyuGGvqa4KGWFmx/UN+W2KMuy+RNenzXM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-manilaclient/default.nix b/pkgs/development/python-modules/python-manilaclient/default.nix
index a2da2e4f4a761..09dc46ba9552c 100644
--- a/pkgs/development/python-modules/python-manilaclient/default.nix
+++ b/pkgs/development/python-modules/python-manilaclient/default.nix
@@ -22,11 +22,11 @@
 
 buildPythonApplication rec {
   pname = "python-manilaclient";
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-6iAed0mtEYHguYq4Rlh4YWT8E5hNqBYPcnG9/8RMspo=";
+    sha256 = "sha256-JFfkbJHmDQFbiWXw0Wp+0xSLyXowIHnsw7+5irZwhXo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/python-novaclient/default.nix b/pkgs/development/python-modules/python-novaclient/default.nix
index afc8a51988ed2..e654c75bfe88a 100644
--- a/pkgs/development/python-modules/python-novaclient/default.nix
+++ b/pkgs/development/python-modules/python-novaclient/default.nix
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "python-novaclient";
-  version = "17.6.0";
+  version = "17.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-yRDCCFMQ2mNfs0NYXxBwcS/w+cs8j3nUTKPWMsTyMPU=";
+    sha256 = "sha256-Trwn9M4GwVW46ZGkRGO5NYWW5oVs8XHJr43HVo2Gi+0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-slugify/default.nix b/pkgs/development/python-modules/python-slugify/default.nix
index 16c4dc0f23085..2f22a20afb357 100644
--- a/pkgs/development/python-modules/python-slugify/default.nix
+++ b/pkgs/development/python-modules/python-slugify/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "python-slugify";
-  version = "6.1.0";
+  version = "6.1.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-7/GQ5N+sl9L4wYkO5oJwns0jZQdCNhaH24LZXh5eJfU=";
+    hash = "sha256-AAAzl/TjFBTpIs5WezpNoozxQ2pT0zLJrutRx9jEaf0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-snappy/default.nix b/pkgs/development/python-modules/python-snappy/default.nix
index fe4d6ea7bda7d..397fcaa3dd0d1 100644
--- a/pkgs/development/python-modules/python-snappy/default.nix
+++ b/pkgs/development/python-modules/python-snappy/default.nix
@@ -4,35 +4,33 @@
 , isPyPy
 , snappy
 , cffi
-, nose
+, python
 }:
 
 buildPythonPackage rec {
   pname = "python-snappy";
-  version = "0.6.0";
+  version = "0.6.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "06l9my361ig4x5ycyrmq33q83zcdib3y2zxfxv7k7dlpyp9ri2hn";
+    sha256 = "sha256-tqEHqwYgasxTWdTFYyvZsi1EhwKnmzFpsMYuD7gIuyo=";
   };
 
   buildInputs = [ snappy ];
 
   propagatedBuildInputs = lib.optional isPyPy cffi;
 
-  checkInputs = [ nose ];
-
   checkPhase = ''
-    rm -r snappy # prevent local snappy from being picked up
-    nosetests test_snappy.py
-  '' + lib.optionalString isPyPy ''
-    nosetests test_snappy_cffi.py
+    runHook preCheck
+    ${python.interpreter} -m unittest discover
+    runHook postCheck
   '';
 
   meta = with lib; {
     description = "Python library for the snappy compression library from Google";
     homepage = "https://github.com/andrix/python-snappy";
     license = licenses.bsd3;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/python-swiftclient/default.nix b/pkgs/development/python-modules/python-swiftclient/default.nix
index cb3b5b850e36b..8c1e38ed45e07 100644
--- a/pkgs/development/python-modules/python-swiftclient/default.nix
+++ b/pkgs/development/python-modules/python-swiftclient/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonApplication rec {
   pname = "python-swiftclient";
-  version = "3.13.0";
+  version = "3.13.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b200dcfbc6842bd4cac29efd0ea9ef34d3b8625957472ba7aa3ae0242437e2cc";
+    sha256 = "sha256-LSbJC2OS9r76f7sW/Np75Eqibiropb7icF0dHIE4M/A=";
   };
 
   propagatedBuildInputs = [ pbr python-keystoneclient ];
diff --git a/pkgs/development/python-modules/python3-saml/default.nix b/pkgs/development/python-modules/python3-saml/default.nix
index a21ee97eca5db..8bc9cf3090f04 100644
--- a/pkgs/development/python-modules/python3-saml/default.nix
+++ b/pkgs/development/python-modules/python3-saml/default.nix
@@ -3,14 +3,14 @@ isodate, lxml, xmlsec, freezegun }:
 
 buildPythonPackage rec {
   pname = "python3-saml";
-  version = "1.12.0";
+  version = "1.14.0";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
     owner = "onelogin";
     repo = "python3-saml";
     rev = "v${version}";
-    sha256 = "sha256-VPUsjuo4FIes8ti0tkR0kT3J3RdUt1wtl4QEahVsc2c=";
+    sha256 = "sha256-TAfVXh1fSKhNn/lsi7elq4wFyKCxCtCYUTrnH3ytBTw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pytomlpp/default.nix b/pkgs/development/python-modules/pytomlpp/default.nix
index 271d193ce019f..73c1987fb3c92 100644
--- a/pkgs/development/python-modules/pytomlpp/default.nix
+++ b/pkgs/development/python-modules/pytomlpp/default.nix
@@ -38,6 +38,14 @@ buildPythonPackage rec {
   # pelican requires > 2.7
   doCheck = !pythonOlder "3.6";
 
+  disabledTests = [
+    # incompatible with pytest7
+    # https://github.com/bobfang1992/pytomlpp/issues/66
+    "test_loads_valid_toml_files"
+    "test_round_trip_for_valid_toml_files"
+    "test_decode_encode_binary"
+  ];
+
   preCheck = ''
     cd tests
   '';
diff --git a/pkgs/development/python-modules/pytools/default.nix b/pkgs/development/python-modules/pytools/default.nix
index 7dcd86705a35d..f4710872cbe86 100644
--- a/pkgs/development/python-modules/pytools/default.nix
+++ b/pkgs/development/python-modules/pytools/default.nix
@@ -3,34 +3,36 @@
 , fetchPypi
 , pythonOlder
 , decorator
-, appdirs
-, six
 , numpy
-, pytest
+, platformdirs
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pytools";
-  version = "2021.2.9";
+  version = "2022.1";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "db6cf83c9ba0a165d545029e2301621486d1e9ef295684072e5cd75316a13755";
+    sha256 = "sha256-GXqs9uH11gxxW5JDh5Kst3Aq7Vnrv7FH+oTtp4DlT+4=";
   };
 
-  checkInputs = [ pytest ];
-
   propagatedBuildInputs = [
     decorator
-    appdirs
-    six
     numpy
+    platformdirs
+  ];
+
+  checkInputs = [
+    pytestCheckHook
   ];
 
-  checkPhase = ''
-    py.test -k 'not test_persistent_dict'
-  '';
+  pythonImportsCheck = [
+    "pytools"
+    "pytools.batchjob"
+    "pytools.lex"
+  ];
 
   meta = {
     homepage = "https://github.com/inducer/pytools/";
diff --git a/pkgs/development/python-modules/pytorch-lightning/default.nix b/pkgs/development/python-modules/pytorch-lightning/default.nix
index de75aa0ae8fbd..d3c9a96551591 100644
--- a/pkgs/development/python-modules/pytorch-lightning/default.nix
+++ b/pkgs/development/python-modules/pytorch-lightning/default.nix
@@ -6,12 +6,12 @@
 , pytestCheckHook
 , pytorch
 , pyyaml
-, tensorflow-tensorboard
+, tensorboard
 , tqdm }:
 
 buildPythonPackage rec {
   pname = "pytorch-lightning";
-  version = "1.5.8";
+  version = "1.5.10";
 
   disabled = isPy27;
 
@@ -19,14 +19,14 @@ buildPythonPackage rec {
     owner = "PyTorchLightning";
     repo = pname;
     rev = version;
-    sha256 = "161mz66l11z4350q93fmmq3x0jzbp5761lf4fx3yvz17qzp7ygkn";
+    sha256 = "sha256-GP6/VZuRv8dS5wKQW7RbtOSa2vV9Af2Jp+ioEW3bIgc=";
   };
 
   propagatedBuildInputs = [
     future
     pytorch
     pyyaml
-    tensorflow-tensorboard
+    tensorboard
     tqdm
   ];
 
diff --git a/pkgs/development/python-modules/pytorch-metric-learning/default.nix b/pkgs/development/python-modules/pytorch-metric-learning/default.nix
index e9728b3d676c5..64dfca2e94b03 100644
--- a/pkgs/development/python-modules/pytorch-metric-learning/default.nix
+++ b/pkgs/development/python-modules/pytorch-metric-learning/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname   = "pytorch-metric-learning";
-  version = "1.1.0";
+  version = "1.2.0";
 
   disabled = isPy27;
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "KevinMusgrave";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0qvlxgdml22fzrs47yzqpfzak8lfdrzayvapawfz93cq8903h7qp";
+    sha256 = "sha256-M/iH+pIuamOmvxLtKMzWXiuMCnMXzpVFRb/HfYfCKdc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pytorch-pfn-extras/default.nix b/pkgs/development/python-modules/pytorch-pfn-extras/default.nix
index 46bd35b9cfb85..3c239d970402c 100644
--- a/pkgs/development/python-modules/pytorch-pfn-extras/default.nix
+++ b/pkgs/development/python-modules/pytorch-pfn-extras/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "pytorch-pfn-extras";
-  version = "0.5.6";
+  version = "0.5.7";
 
   src = fetchFromGitHub {
     owner = "pfnet";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ch4vhz3zjanj5advqsj51yy7idrp8yvydvcg4ymwa3wsfjrx58g";
+    sha256 = "sha256-gB575ZKXZRAy5K5CkBtfG6KG1yQ9WDREIobsy43CEOc=";
   };
 
   propagatedBuildInputs = [ numpy pytorch typing-extensions ];
diff --git a/pkgs/development/python-modules/pytorch/bin.nix b/pkgs/development/python-modules/pytorch/bin.nix
index df3e5da4c5ab2..24533a08e4752 100644
--- a/pkgs/development/python-modules/pytorch/bin.nix
+++ b/pkgs/development/python-modules/pytorch/bin.nix
@@ -4,6 +4,7 @@
 , isPy37
 , isPy38
 , isPy39
+, isPy310
 , python
 , addOpenGLRunpath
 , future
@@ -19,7 +20,7 @@ let
   pyVerNoDot = builtins.replaceStrings [ "." ] [ "" ] python.pythonVersion;
   srcs = import ./binary-hashes.nix version;
   unsupported = throw "Unsupported system";
-  version = "1.10.0";
+  version = "1.11.0";
 in buildPythonPackage {
   inherit version;
 
@@ -28,7 +29,7 @@ in buildPythonPackage {
 
   format = "wheel";
 
-  disabled = !(isPy37 || isPy38 || isPy39);
+  disabled = !(isPy37 || isPy38 || isPy39 || isPy310);
 
   src = fetchurl srcs."${stdenv.system}-${pyVerNoDot}" or unsupported;
 
diff --git a/pkgs/development/python-modules/pytorch/binary-hashes.nix b/pkgs/development/python-modules/pytorch/binary-hashes.nix
index 61f1e59d09e8d..945af484a4af9 100644
--- a/pkgs/development/python-modules/pytorch/binary-hashes.nix
+++ b/pkgs/development/python-modules/pytorch/binary-hashes.nix
@@ -6,46 +6,61 @@
 # To add a new version, run "prefetch.sh 'new-version'" to paste the generated file as follows.
 
 version : builtins.getAttr version {
-  "1.10.0" = {
+  "1.11.0" = {
     x86_64-linux-37 = {
-      name = "torch-1.10.0-cp37-cp37m-linux_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cu113/torch-1.10.0%2Bcu113-cp37-cp37m-linux_x86_64.whl";
-      hash = "sha256-KpDbklee2HXSqgrWr1U1nj8EJqUjBWp7SbACw8xtKtg=";
+      name = "torch-1.11.0-cp37-cp37m-linux_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cu113/torch-1.11.0%2Bcu113-cp37-cp37m-linux_x86_64.whl";
+      hash = "sha256-9WMzRw2uo8lweLN2B+ADXMz3L8XDb9hFRuGkuNmUTys=";
     };
     x86_64-linux-38 = {
-      name = "torch-1.10.0-cp38-cp38-linux_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cu113/torch-1.10.0%2Bcu113-cp38-cp38-linux_x86_64.whl";
-      hash = "sha256-zM3cMriUG9A+3in/ChzOLytRETpe4ju4uXkxasIRQYM=";
+      name = "torch-1.11.0-cp38-cp38-linux_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cu113/torch-1.11.0%2Bcu113-cp38-cp38-linux_x86_64.whl";
+      hash = "sha256-tqeZvbbuPZFOXmK920J21KECSMGvTy0hdzjl+e4nSFs=";
     };
     x86_64-linux-39 = {
-      name = "torch-1.10.0-cp39-cp39-linux_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cu113/torch-1.10.0%2Bcu113-cp39-cp39-linux_x86_64.whl";
-      hash = "sha256-w8UJDh4b5cgDu7ZSvDoKzNH4hiXEyRfvpycNOg+wJOg=";
+      name = "torch-1.11.0-cp39-cp39-linux_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cu113/torch-1.11.0%2Bcu113-cp39-cp39-linux_x86_64.whl";
+      hash = "sha256-6RJrCl2VcEvuQKnQ7xy9gtjceGPkY4o3a+9wLf1lk3A=";
+    };
+    x86_64-linux-310 = {
+      name = "torch-1.11.0-cp310-cp310-linux_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cu113/torch-1.11.0%2Bcu113-cp310-cp310-linux_x86_64.whl";
+      hash = "sha256-powzZXpUYTHrm8ROKpjS+nBKr66GFGCwUbgoE4Usy0Q=";
     };
     x86_64-darwin-37 = {
-      name = "torch-1.10.0-cp37-none-macosx_10_9_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torch-1.10.0-cp37-none-macosx_10_9_x86_64.whl";
-      hash = "sha256-RJkFVUcIfX736KdU8JwsTxRwKXrj5UkDY9umbHVQGyE=";
+      name = "torch-1.11.0-cp37-none-macosx_10_9_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torch-1.11.0-cp37-none-macosx_10_9_x86_64.whl";
+      hash = "sha256-aGCx0b8LsLZ6a9R/haDkyCW1GO6hO11hAZmdu8vVvAw=";
     };
     x86_64-darwin-38 = {
-      name = "torch-1.10.0-cp38-none-macosx_10_9_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torch-1.10.0-cp38-none-macosx_10_9_x86_64.whl";
-      hash = "sha256-rvevti6bF0tODl4eSkLjurO4SQpmjWZvYvfUUXVZ+/I=";
+      name = "torch-1.11.0-cp38-none-macosx_10_9_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torch-1.11.0-cp38-none-macosx_10_9_x86_64.whl";
+      hash = "sha256-DMyFzQYiej7fgJ4seV/Vdiw9Too4tcn3RMbnz4QTYbs=";
     };
     x86_64-darwin-39 = {
-      name = "torch-1.10.0-cp39-none-macosx_10_9_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torch-1.10.0-cp39-none-macosx_10_9_x86_64.whl";
-      hash = "sha256-1u+HRwtE35lw6EVCVH1bp3ILuJYWYCRB31VaObEk4rw=";
+      name = "torch-1.11.0-cp39-none-macosx_10_9_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torch-1.11.0-cp39-none-macosx_10_9_x86_64.whl";
+      hash = "sha256-UP2b+FxXjIccKPHLCs6d/GAkQBx/OZsXT7DzcImfRFQ=";
+    };
+    x86_64-darwin-310 = {
+      name = "torch-1.11.0-cp310-none-macosx_10_9_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torch-1.11.0-cp39-none-macosx_10_9_x86_64.whl";
+      hash = "sha256-UP2b+FxXjIccKPHLCs6d/GAkQBx/OZsXT7DzcImfRFQ=";
     };
     aarch64-darwin-38 = {
-      name = "torch-1.10.0-cp38-none-macosx_11_0_arm64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torch-1.10.0-cp38-none-macosx_11_0_arm64.whl";
-      hash = "sha256-1hhYJ7KFeAZTzdgdd6Cf3KdqWxkNWYbVUr4qXEQs+qQ=";
+      name = "torch-1.11.0-cp38-none-macosx_11_0_arm64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torch-1.11.0-cp38-none-macosx_11_0_arm64.whl";
+      hash = "sha256-wVVOSddPGyw+cgLXcFa6LddGVDdYW6xkBitYD3FKROk=";
     };
     aarch64-darwin-39 = {
-      name = "torch-1.10.0-cp39-none-macosx_11_0_arm64.whl";
-      url = "https://download.pytorch.org/whl/cpu/torch-1.10.0-cp39-none-macosx_11_0_arm64.whl";
-      hash = "sha256-7qZ17AHsS0oGVf0phPFmpco7kz2uatTrTlLrpwJtwXY=";
+      name = "torch-1.11.0-cp39-none-macosx_11_0_arm64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torch-1.11.0-cp39-none-macosx_11_0_arm64.whl";
+      hash = "sha256-DkivZq11Xw+cXyZkAopBT1fEnWrcN+d+Bv4ABNpO22E=";
+    };
+    aarch64-darwin-310 = {
+      name = "torch-1.11.0-cp310-none-macosx_11_0_arm64.whl";
+      url = "https://download.pytorch.org/whl/cpu/torch-1.11.0-cp39-none-macosx_11_0_arm64.whl";
+      hash = "sha256-DkivZq11Xw+cXyZkAopBT1fEnWrcN+d+Bv4ABNpO22E=";
     };
   };
 }
diff --git a/pkgs/development/python-modules/pytorch/breakpad-sigstksz.patch b/pkgs/development/python-modules/pytorch/breakpad-sigstksz.patch
new file mode 100644
index 0000000000000..33a2304cb9b1a
--- /dev/null
+++ b/pkgs/development/python-modules/pytorch/breakpad-sigstksz.patch
@@ -0,0 +1,13 @@
+diff --git a/third_party/breakpad/src/client/linux/handler/exception_handler.cc b/third_party/breakpad/src/client/linux/handler/exception_handler.cc
+index ca353c4099..499be0a986 100644
+--- a/third_party/breakpad/src/client/linux/handler/exception_handler.cc
++++ b/third_party/breakpad/src/client/linux/handler/exception_handler.cc
+@@ -138,7 +138,7 @@ void InstallAlternateStackLocked() {
+   // SIGSTKSZ may be too small to prevent the signal handlers from overrunning
+   // the alternative stack. Ensure that the size of the alternative stack is
+   // large enough.
+-  static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
++  const unsigned kSigStackSize = std::max<unsigned>(16384, SIGSTKSZ);
+ 
+   // Only set an alternative stack if there isn't already one, or if the current
+   // one is too small.
diff --git a/pkgs/development/python-modules/pytorch/default.nix b/pkgs/development/python-modules/pytorch/default.nix
index c370eaf6a9426..24ba74a1013b2 100644
--- a/pkgs/development/python-modules/pytorch/default.nix
+++ b/pkgs/development/python-modules/pytorch/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, buildPythonPackage, python,
+{ stdenv, lib, fetchFromGitHub, fetchpatch, buildPythonPackage, python,
   cudaSupport ? false, cudatoolkit, cudnn, nccl, magma,
   mklDnnSupport ? true, useSystemNccl ? true,
   MPISupport ? false, mpi,
@@ -12,7 +12,7 @@
   numactl,
 
   # Propagated build inputs
-  dataclasses, numpy, pyyaml, cffi, click, typing-extensions,
+  numpy, pyyaml, cffi, click, typing-extensions,
 
   # Unit tests
   hypothesis, psutil,
@@ -25,7 +25,7 @@
   ninja,
 
   # dependencies for torch.utils.tensorboard
-  pillow, six, future, tensorflow-tensorboard, protobuf,
+  pillow, six, future, tensorboard, protobuf,
 
   isPy3k, pythonOlder }:
 
@@ -117,9 +117,10 @@ let
 in buildPythonPackage rec {
   pname = "pytorch";
   # Don't forget to update pytorch-bin to the same version.
-  version = "1.10.2";
+  version = "1.11.0";
+  format = "setuptools";
 
-  disabled = !isPy3k;
+  disabled = pythonOlder "3.7.0";
 
   outputs = [
     "out"   # output standard python package
@@ -132,10 +133,15 @@ in buildPythonPackage rec {
     repo   = "pytorch";
     rev    = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-QcvoJqpZJXPSc9HLCJHetrp/hMESuC5kYl90d7Id0ZU=";
+    sha256 = "sha256-CEu63tdRBAF8CTchO3Qu8gUNObQylX6U08yDTI4/c/0=";
   };
 
-  patches = lib.optionals stdenv.isDarwin [
+  patches = [
+    # Fix for a breakpad incompatibility with glibc>2.33
+    # https://github.com/pytorch/pytorch/issues/70297
+    # https://github.com/google/breakpad/commit/605c51ed96ad44b34c457bbca320e74e194c317e
+    ./breakpad-sigstksz.patch
+  ] ++ lib.optionals stdenv.isDarwin [
     # pthreadpool added support for Grand Central Dispatch in April
     # 2020. However, this relies on functionality (DISPATCH_APPLY_AUTO)
     # that is available starting with macOS 10.13. However, our current
@@ -144,13 +150,6 @@ in buildPythonPackage rec {
     ./pthreadpool-disable-gcd.diff
   ];
 
-  # The dataclasses module is included with Python >= 3.7. This should
-  # be fixed with the next PyTorch release.
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "'dataclasses'" "'dataclasses; python_version < \"3.7\"'"
-  '';
-
   preConfigure = lib.optionalString cudaSupport ''
     export TORCH_CUDA_ARCH_LIST="${lib.strings.concatStringsSep ";" final_cudaArchList}"
     export CC=${cudatoolkit.cc}/bin/gcc CXX=${cudatoolkit.cc}/bin/g++
@@ -208,7 +207,7 @@ in buildPythonPackage rec {
   # https://github.com/pytorch/pytorch/issues/22346
   #
   # Also of interest: pytorch ignores CXXFLAGS uses CFLAGS for both C and C++:
-  # https://github.com/pytorch/pytorch/blob/v1.2.0/setup.py#L17
+  # https://github.com/pytorch/pytorch/blob/v1.11.0/setup.py#L17
   NIX_CFLAGS_COMPILE = lib.optionals (blas.implementation == "mkl") [ "-Wno-error=array-bounds" ];
 
   nativeBuildInputs = [
@@ -230,9 +229,8 @@ in buildPythonPackage rec {
     pyyaml
     typing-extensions
     # the following are required for tensorboard support
-    pillow six future tensorflow-tensorboard protobuf
-  ] ++ lib.optionals MPISupport [ mpi ]
-    ++ lib.optionals (pythonOlder "3.7") [ dataclasses ];
+    pillow six future tensorboard protobuf
+  ] ++ lib.optionals MPISupport [ mpi ];
 
   checkInputs = [ hypothesis ninja psutil ];
 
diff --git a/pkgs/development/python-modules/pytorch/prefetch.sh b/pkgs/development/python-modules/pytorch/prefetch.sh
index debf26bfa20a1..31aae438dc56d 100755
--- a/pkgs/development/python-modules/pytorch/prefetch.sh
+++ b/pkgs/development/python-modules/pytorch/prefetch.sh
@@ -5,12 +5,21 @@ set -eou pipefail
 
 version=$1
 
-bucket="https://download.pytorch.org/whl/cu113"
+linux_bucket="https://download.pytorch.org/whl/cu113"
+darwin_bucket="https://download.pytorch.org/whl/cpu"
 
 url_and_key_list=(
-  "x86_64-linux-37 $bucket/torch-${version}%2Bcu113-cp37-cp37m-linux_x86_64.whl torch-${version}-cp37-cp37m-linux_x86_64.whl"
-  "x86_64-linux-38 $bucket/torch-${version}%2Bcu113-cp38-cp38-linux_x86_64.whl torch-${version}-cp38-cp38-linux_x86_64.whl"
-  "x86_64-linux-39 $bucket/torch-${version}%2Bcu113-cp39-cp39-linux_x86_64.whl torch-${version}-cp39-cp39-linux_x86_64.whl"
+  "x86_64-linux-37 $linux_bucket/torch-${version}%2Bcu113-cp37-cp37m-linux_x86_64.whl torch-${version}-cp37-cp37m-linux_x86_64.whl"
+  "x86_64-linux-38 $linux_bucket/torch-${version}%2Bcu113-cp38-cp38-linux_x86_64.whl torch-${version}-cp38-cp38-linux_x86_64.whl"
+  "x86_64-linux-39 $linux_bucket/torch-${version}%2Bcu113-cp39-cp39-linux_x86_64.whl torch-${version}-cp39-cp39-linux_x86_64.whl"
+  "x86_64-linux-310 $linux_bucket/torch-${version}%2Bcu113-cp310-cp310-linux_x86_64.whl torch-${version}-cp310-cp310-linux_x86_64.whl"
+  "x86_64-darwin-37 $darwin_bucket/torch-${version}-cp37-none-macosx_10_9_x86_64.whl torch-${version}-cp37-none-macosx_10_9_x86_64.whl"
+  "x86_64-darwin-38 $darwin_bucket/torch-${version}-cp38-none-macosx_10_9_x86_64.whl torch-${version}-cp38-none-macosx_10_9_x86_64.whl"
+  "x86_64-darwin-39 $darwin_bucket/torch-${version}-cp39-none-macosx_10_9_x86_64.whl torch-${version}-cp39-none-macosx_10_9_x86_64.whl"
+  "x86_64-darwin-310 $darwin_bucket/torch-${version}-cp310-none-macosx_10_9_x86_64.whl torch-${version}-cp310-none-macosx_10_9_x86_64.whl"
+  "aarch64-darwin-38 $darwin_bucket/torch-${version}-cp38-none-macosx_11_0_arm64.whl torch-${version}-cp38-none-macosx_11_0_arm64.whl"
+  "aarch64-darwin-39 $darwin_bucket/torch-${version}-cp39-none-macosx_11_0_arm64.whl torch-${version}-cp39-none-macosx_11_0_arm64.whl"
+  "aarch64-darwin-310 $darwin_bucket/torch-${version}-cp310-none-macosx_11_0_arm64.whl torch-${version}-cp310-none-macosx_11_0_arm64.whl"
 )
 
 hashfile="binary-hashes-$version.nix"
diff --git a/pkgs/development/python-modules/pyudev/default.nix b/pkgs/development/python-modules/pyudev/default.nix
index aabf9cd5de521..24784afc842dc 100644
--- a/pkgs/development/python-modules/pyudev/default.nix
+++ b/pkgs/development/python-modules/pyudev/default.nix
@@ -1,19 +1,19 @@
 { lib, fetchPypi, buildPythonPackage
-, six, systemd, pytest, mock, hypothesis, docutils
+, six, udev, pytest, mock, hypothesis, docutils
 }:
 
 buildPythonPackage rec {
   pname = "pyudev";
-  version = "0.22.0";
+  version = "0.23.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0xmj6l08iih2js9skjqpv4w7y0dhxyg91zmrs6v5aa65gbmipfv9";
+    sha256 = "sha256-Mq41hbMgpRvCg+CgQAD9iiVZnttEVB4vUDT2r+5dFcw=";
   };
 
   postPatch = ''
     substituteInPlace src/pyudev/_ctypeslib/utils.py \
-      --replace "find_library(name)" "'${lib.getLib systemd}/lib/libudev.so'"
+      --replace "find_library(name)" "'${lib.getLib udev}/lib/libudev.so'"
     '';
 
   checkInputs = [ pytest mock hypothesis docutils ];
diff --git a/pkgs/development/python-modules/pyuv/default.nix b/pkgs/development/python-modules/pyuv/default.nix
index 2d276c6dccab9..2f1870dd1c852 100644
--- a/pkgs/development/python-modules/pyuv/default.nix
+++ b/pkgs/development/python-modules/pyuv/default.nix
@@ -1,5 +1,6 @@
 { lib
 , buildPythonPackage
+, pythonAtLeast
 , fetchFromGitHub
 , libuv
 }:
@@ -7,6 +8,7 @@
 buildPythonPackage rec {
   pname = "pyuv";
   version = "1.4.0";
+  disabled = pythonAtLeast "3.10"; # https://github.com/saghul/pyuv/issues/273
 
   src = fetchFromGitHub {
     owner = "saghul";
diff --git a/pkgs/development/python-modules/pyvcf/default.nix b/pkgs/development/python-modules/pyvcf/default.nix
index 7c513617754fb..919477298b152 100644
--- a/pkgs/development/python-modules/pyvcf/default.nix
+++ b/pkgs/development/python-modules/pyvcf/default.nix
@@ -28,5 +28,6 @@ buildPythonPackage rec {
       vcf will attempt to parse the content of each record based on the data
       types specified in the meta-information lines
     '';
+    broken = true; # uses the 2to3 feature, that got removed in setuptools 0.58
   };
 }
diff --git a/pkgs/development/python-modules/pyverilog/default.nix b/pkgs/development/python-modules/pyverilog/default.nix
index 8e41d26921fa9..115014a25bbb7 100644
--- a/pkgs/development/python-modules/pyverilog/default.nix
+++ b/pkgs/development/python-modules/pyverilog/default.nix
@@ -5,7 +5,6 @@
 , jinja2
 , ply
 , verilog
-, pytest-pythonpath
 , pytestCheckHook
 }:
 
@@ -32,8 +31,12 @@ buildPythonPackage rec {
     verilog
   ];
 
+  preCheck = ''
+    substituteInPlace pytest.ini \
+      --replace "python_paths" "pythonpath"
+  '';
+
   checkInputs = [
-    pytest-pythonpath
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/pyvesync/default.nix b/pkgs/development/python-modules/pyvesync/default.nix
index 96669c52634bd..c0800c3a8cc49 100644
--- a/pkgs/development/python-modules/pyvesync/default.nix
+++ b/pkgs/development/python-modules/pyvesync/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pyvesync";
-  version = "2.0.0";
+  version = "2.0.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-+054tFirjMF3sGLRpTVCZ3V2KN627b57+fFl6GBMMcU=";
+    sha256 = "sha256-7eGsRy8S6IZQ+UVNN8SoS7tBIYLlujSFr2qFldaxtJE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyviz-comms/default.nix b/pkgs/development/python-modules/pyviz-comms/default.nix
index 71b9b064aaab5..29b4d88fe73ba 100644
--- a/pkgs/development/python-modules/pyviz-comms/default.nix
+++ b/pkgs/development/python-modules/pyviz-comms/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "pyviz_comms";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f4a7126f318fb6b964fef3f92fa55bc46b9218f62a8464a8b18e968b3087dbc0";
+    sha256 = "sha256-uMncveAfOEeEP7TQTDs/TeeEkgxx5Eztnfu1YPbJIhg=";
   };
 
   propagatedBuildInputs = [ param ];
diff --git a/pkgs/development/python-modules/pywbem/default.nix b/pkgs/development/python-modules/pywbem/default.nix
index db7bd82b652b6..0547f3edd9386 100644
--- a/pkgs/development/python-modules/pywbem/default.nix
+++ b/pkgs/development/python-modules/pywbem/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pywbem";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "52f668f7ee1f03bdd80485692b648588b3e1909e2dc0754dceca497f5e9cf059";
+    sha256 = "sha256-rYu75Kt+eVciwPJ/JlbJL8Zzp+BqFM0VGlDwMGRU0X4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pywebview/default.nix b/pkgs/development/python-modules/pywebview/default.nix
index 67f11ed291f5b..2a369ca5704fa 100644
--- a/pkgs/development/python-modules/pywebview/default.nix
+++ b/pkgs/development/python-modules/pywebview/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pywebview";
-  version = "3.5";
+  version = "3.6.1";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "r0x0r";
     repo = "pywebview";
     rev = version;
-    sha256 = "sha256-+At/ToEylSPcLh/u2NHVTXQpMnw+2/afsevg5YAX/4c=";
+    sha256 = "sha256-9o9ghqvU9Hnmf2aj/BqX7WBgS9ilRSnicR+qd25OfjI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/qiskit-machine-learning/default.nix b/pkgs/development/python-modules/qiskit-machine-learning/default.nix
index 511bc0b2a0bed..ad00a16a880ea 100644
--- a/pkgs/development/python-modules/qiskit-machine-learning/default.nix
+++ b/pkgs/development/python-modules/qiskit-machine-learning/default.nix
@@ -23,7 +23,7 @@
 
 buildPythonPackage rec {
   pname = "qiskit-machine-learning";
-  version = "0.3.0";
+  version = "0.3.1";
 
   disabled = pythonOlder "3.6";
 
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "qiskit";
     repo = pname;
     rev = version;
-    sha256 = "0jycs18apnwrksarpwpmp7scndyx91vnv6fchil4jyx4kym8mnf9";
+    sha256 = "sha256-8tnd6+tqofKuK/sBdqmClBtywHbu3VvwLjO9k4YoChA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/qiskit-optimization/default.nix b/pkgs/development/python-modules/qiskit-optimization/default.nix
index d2b87d9cfeafc..edebad4db6f4b 100644
--- a/pkgs/development/python-modules/qiskit-optimization/default.nix
+++ b/pkgs/development/python-modules/qiskit-optimization/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "qiskit-optimization";
-  version = "0.3.1";
+  version = "0.3.2";
 
   disabled = pythonOlder "3.6";
 
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "qiskit";
     repo = pname;
     rev = version;
-    sha256 = "sha256-6oqhM5sEu0id0qYrhdVyx0xXUvwxBgZSPvrlAnmtY5A=";
+    sha256 = "sha256-SWrHNHZjynpWcwwrWzRPpbNWz8EhVujMoY8uIJQeT6U=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/qutip/default.nix b/pkgs/development/python-modules/qutip/default.nix
index 8d19e360ca4d5..c1f078ecc1381 100644
--- a/pkgs/development/python-modules/qutip/default.nix
+++ b/pkgs/development/python-modules/qutip/default.nix
@@ -1,57 +1,69 @@
 { lib, stdenv, fetchFromGitHub, buildPythonPackage, python, packaging, numpy
-, cython, scipy, matplotlib, pytestCheckHook, pytest-rerunfailures }:
+, cython, scipy, matplotlib, pytestCheckHook, pytest-rerunfailures
+, doCheck ? false
+}:
 
-buildPythonPackage rec {
-  pname = "qutip";
-  version = "4.6.3";
+let
+  self = buildPythonPackage rec {
+    pname = "qutip";
+    version = "4.6.3";
 
-  src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-11K7Tl7PE98nM2vGsa+OKIJYu0Wmv8dT700PDt9RRVk=";
-  };
+    src = fetchFromGitHub {
+      owner = pname;
+      repo = pname;
+      rev = "v${version}";
+      sha256 = "sha256-11K7Tl7PE98nM2vGsa+OKIJYu0Wmv8dT700PDt9RRVk=";
+    };
+
+    # QuTiP says it needs specific (old) Numpy versions. We overwrite them here
+    # as the tests work perfectly fine with up-to-date packages.
+    postPatch = ''
+      substituteInPlace setup.cfg --replace "numpy>=1.16.6,<1.20" "numpy>=1.16.6"
+    '';
+
+    # Disabling OpenMP support on Darwin.
+    setupPyGlobalFlags = lib.optional (!stdenv.isDarwin) "--with-openmp";
+
+    propagatedBuildInputs = [
+      packaging
+      numpy
+      cython
+      scipy
+      matplotlib
+    ];
+
+    checkInputs = [
+      pytestCheckHook
+      pytest-rerunfailures
+    ];
+
+    # test suite is very cpu intensive
+    inherit doCheck;
+    # - QuTiP tries to access the home directory to create an rc file for us.
+    # This of course fails and therefore, we provide a writable temp dir as HOME.
+    # - We need to go to another directory to run the tests from there.
+    # This is due to the Cython-compiled modules not being in the correct location
+    # of the source tree.
+    # - For running tests, see:
+    # https://qutip.org/docs/latest/installation.html#verifying-the-installation
+    checkPhase = ''
+      export OMP_NUM_THREADS=$NIX_BUILD_CORES
+      export HOME=$(mktemp -d)
+      mkdir -p test && cd test
+      ${python.interpreter} -c "import qutip.testing; qutip.testing.run()"
+    '';
+
+    pythonImportsCheck = [ "qutip" ];
+
+    passthru.tests = {
+      all-tests = self.override { doCheck = true; };
+    };
 
-  # QuTiP says it needs specific (old) Numpy versions. We overwrite them here
-  # as the tests work perfectly fine with up-to-date packages.
-  postPatch = ''
-    substituteInPlace setup.cfg --replace "numpy>=1.16.6,<1.20" "numpy>=1.16.6"
-  '';
-
-  # Disabling OpenMP support on Darwin.
-  setupPyGlobalFlags = lib.optional (!stdenv.isDarwin) "--with-openmp";
-
-  propagatedBuildInputs = [
-    packaging
-    numpy
-    cython
-    scipy
-    matplotlib
-  ];
-
-  checkInputs = [
-    pytestCheckHook
-    pytest-rerunfailures
-  ];
-
-  # - QuTiP tries to access the home directory to create an rc file for us.
-  # This of course fails and therefore, we provide a writable temp dir as HOME.
-  # - We need to go to another directory to run the tests from there.
-  # This is due to the Cython-compiled modules not being in the correct location
-  # of the source tree.
-  # - For running tests, see:
-  # https://qutip.org/docs/latest/installation.html#verifying-the-installation
-  checkPhase = ''
-    export OMP_NUM_THREADS=$NIX_BUILD_CORES
-    export HOME=$(mktemp -d)
-    mkdir -p test && cd test
-    ${python.interpreter} -c "import qutip.testing; qutip.testing.run()"
-  '';
-
-  meta = with lib; {
-    description = "Open-source software for simulating the dynamics of closed and open quantum systems";
-    homepage = "https://qutip.org/";
-    license = licenses.bsd3;
-    maintainers = [ maintainers.fabiangd ];
+    meta = with lib; {
+      description = "Open-source software for simulating the dynamics of closed and open quantum systems";
+      homepage = "https://qutip.org/";
+      license = licenses.bsd3;
+      maintainers = [ maintainers.fabiangd ];
+    };
   };
-}
+in self
diff --git a/pkgs/development/python-modules/rasterio/default.nix b/pkgs/development/python-modules/rasterio/default.nix
index 1ec6448d74c16..8c73268e6b8de 100644
--- a/pkgs/development/python-modules/rasterio/default.nix
+++ b/pkgs/development/python-modules/rasterio/default.nix
@@ -1,30 +1,86 @@
-{ buildPythonPackage, lib, fetchFromGitHub, isPy3k
-, cython, setuptools
-, numpy, affine, attrs, cligj, click-plugins, snuggs, gdal
-, pytest, pytest-cov, packaging, hypothesis, boto3, mock
-, certifi, shapely
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+
+# build time
+, cython
+, gdal
+
+# runtime
+, affine
+, attrs
+, boto3
+, click
+, click-plugins
+, cligj
+, matplotlib
+, numpy
+, snuggs
+
+# tests
+, hypothesis
+, packaging
+, pytest-randomly
+, pytestCheckHook
+, shapely
 }:
 
 buildPythonPackage rec {
   pname = "rasterio";
-  version = "1.2.6";
+  version = "1.2.10"; # not x.y[ab]z, those are alpha/beta versions
+  format = "pyproject";
+  disabled = pythonOlder "3.6";
 
   # Pypi doesn't ship the tests, so we fetch directly from GitHub
   src = fetchFromGitHub {
-    owner = "mapbox";
+    owner = "rasterio";
     repo = "rasterio";
     rev = version;
-    sha256 = "sha256-rf2qdUhbS4Z2+mvlN1RzZvlgTgjqiBoQzry4z5QLSUc=";
+    hash = "sha256-xVGwQfQvxsqYihUYXENJAz9Qp9xBkhsGc/RheRTJxgo=";
   };
 
-  checkInputs = [ boto3 pytest pytest-cov packaging hypothesis shapely ] ++ lib.optional (!isPy3k) mock;
-  nativeBuildInputs = [ cython gdal ];
-  propagatedBuildInputs = [ certifi gdal numpy attrs affine cligj click-plugins snuggs setuptools ];
+  nativeBuildInputs = [
+    cython
+    gdal
+  ];
+
+  propagatedBuildInputs = [
+    affine
+    attrs
+    boto3
+    click
+    click-plugins
+    cligj
+    matplotlib
+    numpy
+    snuggs
+  ];
+
+  preCheck = ''
+    rm -rf rasterio
+  '';
+
+  checkInputs = [
+    pytest-randomly
+    pytestCheckHook
+    packaging
+    hypothesis
+    shapely
+  ];
+
+  pytestFlagsArray = [
+    "-m 'not network'"
+  ];
+
+  pythonImportsCheck = [
+    "rasterio"
+  ];
 
   meta = with lib; {
     description = "Python package to read and write geospatial raster data";
-    license = licenses.bsd3;
     homepage = "https://rasterio.readthedocs.io/en/latest/";
+    license = licenses.bsd3;
     maintainers = with maintainers; [ mredaelli ];
   };
 }
diff --git a/pkgs/development/python-modules/readme_renderer/default.nix b/pkgs/development/python-modules/readme_renderer/default.nix
index 122c4fdf6653d..ab062615cc499 100644
--- a/pkgs/development/python-modules/readme_renderer/default.nix
+++ b/pkgs/development/python-modules/readme_renderer/default.nix
@@ -43,6 +43,12 @@ buildPythonPackage rec {
   disabledTests = [
     # https://github.com/pypa/readme_renderer/issues/221
     "test_GFM_"
+    # Relies on old distutils behaviour removed by setuptools (TypeError: dist must be a Distribution instance)
+    "test_valid_rst"
+    "test_invalid_rst"
+    "test_malicious_rst"
+    "test_invalid_missing"
+    "test_invalid_empty"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/redis/default.nix b/pkgs/development/python-modules/redis/default.nix
index 0731487575b1a..7cd59a5528a7f 100644
--- a/pkgs/development/python-modules/redis/default.nix
+++ b/pkgs/development/python-modules/redis/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "redis";
-  version = "4.1.0";
+  version = "4.1.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-IfCiO85weQkHbmuizgdsulm/9g0qsily4GR/32IP/kc=";
+    sha256 = "sha256-HZoM34n92T+EJhcz4k9Vp7vUE6myGf2vVuPnKMqaIwY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/regex/default.nix b/pkgs/development/python-modules/regex/default.nix
index 86e591eaf14f1..512a7162f0e3c 100644
--- a/pkgs/development/python-modules/regex/default.nix
+++ b/pkgs/development/python-modules/regex/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "regex";
-  version = "2022.1.18";
+  version = "2022.3.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-l/MtwDqAVKTEpatddh7Uhh6CiywgD+vU5GhXBppIORY=";
+    hash = "sha256-eeWvH/JYvA/gvdb2m8SuM5NaiY48vvu8zyLoiif6BTs=";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/releases/default.nix b/pkgs/development/python-modules/releases/default.nix
new file mode 100644
index 0000000000000..9c1fc34cae468
--- /dev/null
+++ b/pkgs/development/python-modules/releases/default.nix
@@ -0,0 +1,37 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, lib
+, semantic-version
+, sphinx
+}:
+
+buildPythonPackage rec {
+  pname = "releases";
+  version = "1.6.3";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "bitprophet";
+    repo = pname;
+    rev = version;
+    hash = "sha256-XX2e6bjBNMun31h0sNJ9ieZE01U+PhA5JYYNOuMgD20=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py --replace "semantic_version<2.7" "semantic_version"
+  '';
+
+  propagatedBuildInputs = [ semantic-version sphinx ];
+
+  # Test suite doesn't run. See https://github.com/bitprophet/releases/issues/95.
+  doCheck = false;
+
+  pythonImportsCheck = [ "releases" ];
+
+  meta = with lib; {
+    description = "A Sphinx extension for changelog manipulation";
+    homepage = "https://github.com/bitprophet/releases";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ samuela ];
+  };
+}
diff --git a/pkgs/development/python-modules/reorder-python-imports/default.nix b/pkgs/development/python-modules/reorder-python-imports/default.nix
new file mode 100644
index 0000000000000..860188eba6065
--- /dev/null
+++ b/pkgs/development/python-modules/reorder-python-imports/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, aspy-refactor-imports
+}:
+
+buildPythonPackage rec {
+  pname = "reorder-python-imports";
+  version = "3.0.1";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "asottile";
+    repo = "reorder_python_imports";
+    rev = "v${version}";
+    sha256 = "1bdKM1sUhpZHy03DdoTzpt1iGm1t1nWnuPyTgl3KhCY=";
+  };
+
+  propagatedBuildInputs = [ aspy-refactor-imports ];
+
+  pythonImportsCheck = [
+    "reorder_python_imports"
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  # prints an explanation about PYTHONPATH first
+  # and therefore fails the assertion
+  disabledTests = [
+    "test_success_messages_are_printed_on_stderr"
+  ];
+
+  meta = with lib; {
+    description = "Tool for automatically reordering python imports";
+    homepage = "https://github.com/asottile/reorder_python_imports";
+    license = licenses.mit;
+    maintainers = with maintainers; [ gador ];
+  };
+}
diff --git a/pkgs/development/python-modules/reportlab/default.nix b/pkgs/development/python-modules/reportlab/default.nix
index 82d84dc26a974..629f8d0ec750e 100644
--- a/pkgs/development/python-modules/reportlab/default.nix
+++ b/pkgs/development/python-modules/reportlab/default.nix
@@ -11,11 +11,11 @@ let
   ft = freetype.overrideAttrs (oldArgs: { dontDisableStatic = true; });
 in buildPythonPackage rec {
   pname = "reportlab";
-  version = "3.6.5";
+  version = "3.6.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d8fe27ad312671c9347cf5997f7c1017833fac17233f33296281ba9fa0de189a";
+    sha256 = "sha256-3HZX/LC8PkhcPIaaRN3bUtcRNWoBpFZmS3vvgnIiyYI=";
   };
 
   checkInputs = [ glibcLocales ];
diff --git a/pkgs/development/python-modules/requests-aws4auth/default.nix b/pkgs/development/python-modules/requests-aws4auth/default.nix
index fa97942e226f4..d2de7dff212f3 100644
--- a/pkgs/development/python-modules/requests-aws4auth/default.nix
+++ b/pkgs/development/python-modules/requests-aws4auth/default.nix
@@ -1,30 +1,46 @@
-{ lib, buildPythonPackage, fetchPypi, python, requests, six }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, httpx
+, pytestCheckHook
+, python
+, pythonOlder
+, requests
+, six
+}:
 
-with lib;
 buildPythonPackage rec {
   pname = "requests-aws4auth";
-  version = "1.1.1";
+  version = "1.1.2";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "c0883346ce30b5018903a67da88df72f73ff06e1a320845bba9cd85e811ba0ba";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "tedder";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-/SqU/ojP9I4JXzR0c5tLzxx9UyNaVsON7LG/dbdeiH0=";
   };
 
-  propagatedBuildInputs = [ requests six ];
+  propagatedBuildInputs = [
+    httpx
+    requests
+    six
+  ];
 
-  # pypi package no longer contains tests
-  doCheck = false;
-  checkPhase = ''
-    cd requests_aws4auth
-    ${python.interpreter} test/requests_aws4auth_test.py
-  '';
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  pythonImportsCheck = [ "requests_aws4auth" ];
+  pythonImportsCheck = [
+    "requests_aws4auth"
+  ];
 
-  meta = {
-    description = "Amazon Web Services version 4 authentication for the Python Requests library.";
+  meta = with lib; {
+    description = "Amazon Web Services version 4 authentication for the Python Requests library";
     homepage = "https://github.com/sam-washington/requests-aws4auth";
     license = licenses.mit;
-    maintainers = [ maintainers.basvandijk ];
+    maintainers = with maintainers; [ basvandijk ];
   };
 }
diff --git a/pkgs/development/python-modules/requests-oauthlib/default.nix b/pkgs/development/python-modules/requests-oauthlib/default.nix
index aed6576c90dfc..d42de957791e4 100644
--- a/pkgs/development/python-modules/requests-oauthlib/default.nix
+++ b/pkgs/development/python-modules/requests-oauthlib/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "requests-oauthlib";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0smaxs5ixng4z0k6dsgmm6s972ka3p6a2ykdpnl23mqzlw0ic9ml";
+    sha256 = "sha256-db6sSkeIHuuU1epdatMe+IhWr/4jMrmq+1LGRSzPDXo=";
   };
 
   propagatedBuildInputs = [ oauthlib requests ];
diff --git a/pkgs/development/python-modules/requests/default.nix b/pkgs/development/python-modules/requests/default.nix
index f5b021801f413..86b2c2ffc3902 100644
--- a/pkgs/development/python-modules/requests/default.nix
+++ b/pkgs/development/python-modules/requests/default.nix
@@ -13,7 +13,6 @@
 , pytest-mock
 , pytest-xdist
 , pytestCheckHook
-, trustme
 , urllib3
 }:
 
@@ -54,7 +53,6 @@ buildPythonPackage rec {
     pytest-mock
     pytest-xdist
     pytestCheckHook
-    trustme
   ];
 
   # AttributeError: 'KeywordMapping' object has no attribute 'get'
diff --git a/pkgs/development/python-modules/respx/default.nix b/pkgs/development/python-modules/respx/default.nix
index 51d88446c0b5d..241f0f9e9da44 100644
--- a/pkgs/development/python-modules/respx/default.nix
+++ b/pkgs/development/python-modules/respx/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "respx";
-  version = "0.19.1";
+  version = "0.19.2";
 
   src = fetchFromGitHub {
     owner = "lundberg";
     repo = pname;
     rev = version;
-    sha256 = "134h9526md242p7ql0cpknqvkpd3fhxk2vridkvswg91f532w180";
+    sha256 = "sha256-uNmSBJOQF4baq8AWzfwj0kinO19jr6Mp9Yblys/WmZs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/restfly/default.nix b/pkgs/development/python-modules/restfly/default.nix
index d153a5f3c7531..d705a17a1ac4d 100644
--- a/pkgs/development/python-modules/restfly/default.nix
+++ b/pkgs/development/python-modules/restfly/default.nix
@@ -7,12 +7,13 @@
 , pytestCheckHook
 , python-box
 , pythonOlder
+, responses
 , requests
 }:
 
 buildPythonPackage rec {
   pname = "restfly";
-  version = "1.4.5";
+  version = "1.4.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +22,7 @@ buildPythonPackage rec {
     owner = "stevemcgrath";
     repo = pname;
     rev = version;
-    hash = "sha256-wWFf8LFZkwzbHX545tA5w2sB3ClL7eFuF+jGX0fSiSc=";
+    hash = "sha256-nCubAn9AASnCsvlYdk4gmkoORRlsYEbJ8JmlT11xYWU=";
   };
 
   propagatedBuildInputs = [
@@ -34,6 +35,7 @@ buildPythonPackage rec {
     pytest-datafiles
     pytest-vcr
     pytestCheckHook
+    responses
   ];
 
   disabledTests = [
diff --git a/pkgs/development/python-modules/restructuredtext_lint/default.nix b/pkgs/development/python-modules/restructuredtext_lint/default.nix
index 01c7a5e78c62e..0033794ef4371 100644
--- a/pkgs/development/python-modules/restructuredtext_lint/default.nix
+++ b/pkgs/development/python-modules/restructuredtext_lint/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "restructuredtext_lint";
-  version = "1.3.2";
+  version = "1.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d3b10a1fe2ecac537e51ae6d151b223b78de9fafdd50e5eb6b08c243df173c80";
+    sha256 = "sha256-GyNcDJIjQatsUwOQiS656S+QubdQRgY+BHys+w8FDEU=";
   };
 
   checkInputs = [ nose testtools ];
diff --git a/pkgs/development/python-modules/rich/default.nix b/pkgs/development/python-modules/rich/default.nix
index f6194970adbd0..3e7055d274efa 100644
--- a/pkgs/development/python-modules/rich/default.nix
+++ b/pkgs/development/python-modules/rich/default.nix
@@ -13,15 +13,15 @@
 
 buildPythonPackage rec {
   pname = "rich";
-  version = "11.0.0";
+  version = "11.2.0";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
-    owner = "willmcgugan";
+    owner = "Textualize";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0vkwar22rv1j6a3kqj3c016j0vnnha0kwi79fkd90ib1n501m7rn";
+    sha256 = "19k8c8jnqj1v0ji8kkx3r2ny6wlpwy58ir7lyrh2qyjvzkw08i58";
   };
 
   nativeBuildInputs = [ poetry-core ];
@@ -43,7 +43,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal";
-    homepage = "https://github.com/willmcgugan/rich";
+    homepage = "https://github.com/Textualize/rich";
     license = licenses.mit;
     maintainers = with maintainers; [ ris ];
   };
diff --git a/pkgs/development/python-modules/robotframework/default.nix b/pkgs/development/python-modules/robotframework/default.nix
index b0b363d8ca2c6..a0c805c66a46b 100644
--- a/pkgs/development/python-modules/robotframework/default.nix
+++ b/pkgs/development/python-modules/robotframework/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "robotframework";
-  version = "4.1.3";
+  version = "5.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0j71awmfkwk7prz82kr1zbcl3nrih3396sshrygnqlrdjmgivd3p";
+    sha256 = "sha256-AblBSkTCUrYlX4M35IHUIw7j2PGzALbGXpApiJgZlWE=";
   };
 
   checkInputs = [ jsonschema ];
diff --git a/pkgs/development/python-modules/robotstatuschecker/default.nix b/pkgs/development/python-modules/robotstatuschecker/default.nix
index 63e87609ac25b..74810c7761f53 100644
--- a/pkgs/development/python-modules/robotstatuschecker/default.nix
+++ b/pkgs/development/python-modules/robotstatuschecker/default.nix
@@ -8,7 +8,7 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "robotframework";
     repo = "statuschecker";
-    rev = version;
+    rev = "refs/tags/v${version}";
     sha256 = "0hy1390j3l4kkfna9x9xax4y5mqaa3hdndv3fiyg9wr5f7sx3wnz";
   };
 
diff --git a/pkgs/development/python-modules/rokuecp/default.nix b/pkgs/development/python-modules/rokuecp/default.nix
index 358c2ed600e28..fefec51c2bcd4 100644
--- a/pkgs/development/python-modules/rokuecp/default.nix
+++ b/pkgs/development/python-modules/rokuecp/default.nix
@@ -6,7 +6,7 @@
 , buildPythonPackage
 , cachetools
 , fetchFromGitHub
-, poetry
+, poetry-core
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "rokuecp";
-  version = "0.15.0";
+  version = "0.16.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -25,12 +25,11 @@ buildPythonPackage rec {
     owner = "ctalkington";
     repo = "python-rokuecp";
     rev = version;
-    hash = "sha256-yNmnCoHIBlpQCLd+YcsKCKd1wWh8WZNpILWmChZGWH4=";
+    hash = "sha256-MeugjIZorwO8d0Yb7bthI6f4NNo6GX9JrRbxrVSdWv0=";
   };
 
   nativeBuildInputs = [
-    # Requires poetry not poetry-core
-    poetry
+    poetry-core
   ];
 
   propagatedBuildInputs = [
@@ -50,12 +49,14 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
+      --replace 'version = "0.0.0"' 'version = "${version}"' \
       --replace " --cov" ""
   '';
 
   disabledTests = [
-    # https://github.com/ctalkington/python-rokuecp/issues/249
+    # Network related tests are having troube in the sandbox
     "test_resolve_hostname"
+    "test_get_dns_state"
     # Assertion issue
     "test_guess_stream_format"
   ];
diff --git a/pkgs/development/python-modules/s3-credentials/default.nix b/pkgs/development/python-modules/s3-credentials/default.nix
new file mode 100644
index 0000000000000..dd142cd09c790
--- /dev/null
+++ b/pkgs/development/python-modules/s3-credentials/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, click
+, click-default-group
+, boto3
+, pytestCheckHook
+, hypothesis
+, pytest-mock
+}:
+
+buildPythonPackage rec {
+  pname = "s3-credentials";
+  version = "0.10";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "simonw";
+    repo = pname;
+    rev = version;
+    hash = "sha256-JgqKmZG3K4JwQ1Bzw2oll/LQ1njA9wFhX0/uYr9XjAU=";
+  };
+
+  propagatedBuildInputs = [
+    click
+    click-default-group
+    boto3
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    hypothesis
+    pytest-mock
+  ];
+
+  pythonImportsCheck = [
+    "s3_credentials"
+  ];
+
+  meta = with lib; {
+    description = "Python CLI utility for creating credentials for accessing S3 buckets";
+    homepage = "https://github.com/simonw/s3-credentials";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ techknowlogick ];
+  };
+}
diff --git a/pkgs/development/python-modules/s3fs/default.nix b/pkgs/development/python-modules/s3fs/default.nix
index d90d1052282dc..8582c0ac72923 100644
--- a/pkgs/development/python-modules/s3fs/default.nix
+++ b/pkgs/development/python-modules/s3fs/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "s3fs";
-  version = "2022.1.0";
+  version = "2022.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6bafc1f6b4e935ea59512c0f38d5cb9c299dbbfe738e40c3d1de8f67b4ee1fd4";
+    sha256 = "sha256-RhHQ9+QeW8nawwCQcOCtN9qHpC9t73W0gTwG9+QEpzg=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/sabyenc3/default.nix b/pkgs/development/python-modules/sabyenc3/default.nix
index d2dbb2e405819..831680670d1fe 100644
--- a/pkgs/development/python-modules/sabyenc3/default.nix
+++ b/pkgs/development/python-modules/sabyenc3/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "sabyenc3";
-  version = "5.1.1";
+  version = "5.1.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-muqJCn5FcSp5KNZqfW433NCOxfj1DvFvlZPClmNkPR0=";
+    hash = "sha256-DHHil9ZQsrKLgw5dje0Yo1J5FZAFrY1tn5y3mdBJHWg=";
   };
 
   # Tests are not included in pypi distribution
diff --git a/pkgs/development/python-modules/sagemaker/default.nix b/pkgs/development/python-modules/sagemaker/default.nix
index 80c4bd92a385a..d18d939be606b 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.75.1";
+  version = "2.77.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-MN/F7TWaKsQpKMR7Pxx0Vam1+O+PFEJ/H5jLJh3zpe4=";
+    sha256 = "sha256-RX3QcjGDWYaPC9lKz/nJSMTO3jeXxY7MW98fHYfcLq0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/samsungtvws/default.nix b/pkgs/development/python-modules/samsungtvws/default.nix
index bed661ce20060..cd137b1547ea3 100644
--- a/pkgs/development/python-modules/samsungtvws/default.nix
+++ b/pkgs/development/python-modules/samsungtvws/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "samsungtvws";
-  version = "2.4.0";
+  version = "2.5.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-LbNHaSbNCwoffox6B8kEUzxjkSJotB+P1bw3wbU7DZk=";
+    sha256 = "sha256-AFCN1b80GZ24g3oWe1qqc72yWQy4+/sorL8zwOYM7vo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sanic-testing/default.nix b/pkgs/development/python-modules/sanic-testing/default.nix
index 4bc446c2e1425..3fb60ebaa9e5c 100644
--- a/pkgs/development/python-modules/sanic-testing/default.nix
+++ b/pkgs/development/python-modules/sanic-testing/default.nix
@@ -1,11 +1,10 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, pytestCheckHook
 , httpx
-, pytest-asyncio
 , sanic
 , websockets
+, callPackage
 }:
 
 buildPythonPackage rec {
@@ -19,11 +18,14 @@ buildPythonPackage rec {
     sha256 = "17fbb78gvic5s9nlcgwj817fq1f9j9d1d7z6n2ahhinmvyzl9gc8";
   };
 
+  outputs = [
+    "out"
+    "testsout"
+  ];
+
   postPatch = ''
-    # https://github.com/sanic-org/sanic-testing/issues/19
     substituteInPlace setup.py \
-      --replace '"websockets==8.1",' '"websockets>=9.1",' \
-      --replace "httpx==0.18.*" "httpx"
+      --replace "httpx>=0.18,<0.22" "httpx"
   '';
 
   propagatedBuildInputs = [
@@ -32,18 +34,18 @@ buildPythonPackage rec {
     websockets
   ];
 
-  checkInputs = [
-    pytest-asyncio
-    pytestCheckHook
-  ];
+  postInstall = ''
+    mkdir $testsout
+    cp -R tests $testsout/tests
+  '';
 
-  # `sanic` is explicitly set to null when building `sanic` itself
-  # to prevent infinite recursion.  In that case we skip running
-  # the package at all.
-  doCheck = sanic != null;
-  dontUsePythonImportsCheck = sanic == null;
+  # check in passthru.tests.pytest to escape infinite recursion with sanic
+  doCheck = false;
+  doInstallCheck = false;
 
-  pythonImportsCheck = [ "sanic_testing" ];
+  passthru.tests = {
+    pytest = callPackage ./tests.nix { };
+  };
 
   meta = with lib; {
     description = "Core testing clients for the Sanic web framework";
diff --git a/pkgs/development/python-modules/sanic-testing/tests.nix b/pkgs/development/python-modules/sanic-testing/tests.nix
new file mode 100644
index 0000000000000..6a228a9823102
--- /dev/null
+++ b/pkgs/development/python-modules/sanic-testing/tests.nix
@@ -0,0 +1,26 @@
+{ buildPythonPackage
+, sanic
+, sanic-testing
+, pytest-asyncio
+, pytestCheckHook
+}:
+
+buildPythonPackage {
+  pname = "sanic-testing-tests";
+  inherit (sanic-testing) version;
+
+  src = sanic-testing.testsout;
+
+  dontBuild = true;
+  dontInstall = true;
+
+  checkInputs = [
+    pytest-asyncio
+    pytestCheckHook
+    sanic
+  ];
+
+  pythonImportsCheck = [
+    "sanic_testing"
+  ];
+}
diff --git a/pkgs/development/python-modules/sanic/default.nix b/pkgs/development/python-modules/sanic/default.nix
index 63c24e9936fcb..460927719ad53 100644
--- a/pkgs/development/python-modules/sanic/default.nix
+++ b/pkgs/development/python-modules/sanic/default.nix
@@ -40,9 +40,12 @@ buildPythonPackage rec {
   postPatch = ''
     # Loosen dependency requirements.
     substituteInPlace setup.py \
-      --replace '"pytest==6.2.5"' '"pytest"' \
-      --replace '"gunicorn==20.0.4"' '"gunicorn"' \
-      --replace '"pytest-sanic",' "" \
+      --replace "pytest==6.2.5" "pytest" \
+      --replace "gunicorn==20.0.4" "gunicorn" \
+      --replace "multidict>=5.0,<6.0" "multidict"
+
+    sed '/pytest-sanic/d' setup.py
+
     # Patch a request headers test to allow brotli encoding
     # (we build httpx with brotli support, upstream doesn't).
     substituteInPlace tests/test_headers.py \
@@ -118,6 +121,8 @@ buildPythonPackage rec {
     "test_num_workers"
     "test_server_run"
     "test_version"
+    # Sensitive comparison of raw HTTP header fails
+    "test_raw_headers"
   ];
 
   disabledTestPaths = [
diff --git a/pkgs/development/python-modules/schema-salad/default.nix b/pkgs/development/python-modules/schema-salad/default.nix
index bea5b766b5c91..f7be7f0107c01 100644
--- a/pkgs/development/python-modules/schema-salad/default.nix
+++ b/pkgs/development/python-modules/schema-salad/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "schema-salad";
-  version = "8.2.20220103095339";
+  version = "8.2.20220204150214";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "051690a2f89b98e35100cd2cb489406a5169a60c2f27a716f3f287a42d45be2d";
+    sha256 = "sha256-PlPb/nE3eWueUTWSDpa7JxPe2ee+KFna5VTR3IsClwQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/scikit-build/default.nix b/pkgs/development/python-modules/scikit-build/default.nix
index bc72f76bf2237..3fefba47cbda6 100644
--- a/pkgs/development/python-modules/scikit-build/default.nix
+++ b/pkgs/development/python-modules/scikit-build/default.nix
@@ -25,11 +25,11 @@
 
 buildPythonPackage rec {
   pname = "scikit-build";
-  version = "0.12.0";
+  version = "0.13.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f851382c469bcd9a8c98b1878bcfdd13b68556279d2fd9a329be41956ae5a7fe";
+    sha256 = "sha256-XRd0ousVmI4IHFgsJUq0qXUgluajTyNUEct5vWFmDDc=";
   };
 
   propagatedBuildInputs = [
@@ -66,6 +66,8 @@ buildPythonPackage rec {
     "test_install_command" # tries to alter out path
     "test_test_command" # tries to alter out path
     "test_setup" # tries to install using distutils
+    "test_pep518" # pip exits with code 1
+    "test_dual_pep518" # pip exits with code 1
   ]);
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/scikit-fmm/default.nix b/pkgs/development/python-modules/scikit-fmm/default.nix
index 4f823a54580b2..34cf4ddaae02c 100644
--- a/pkgs/development/python-modules/scikit-fmm/default.nix
+++ b/pkgs/development/python-modules/scikit-fmm/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "scikit-fmm";
-  version = "2022.2.2";
+  version = "2022.3.26";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-0Pvm6Sn0OWOwEX7E4OhBwo2hxzQmGzV2Yvytkm14+ls=";
+    sha256 = "sha256-wxVfltcz3qh5FRS3CXYsYdL3z94x7Y0rjCbKFnNW3o4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/scikit-image/default.nix b/pkgs/development/python-modules/scikit-image/default.nix
index b06c1cb5db48b..45239f64fbef9 100644
--- a/pkgs/development/python-modules/scikit-image/default.nix
+++ b/pkgs/development/python-modules/scikit-image/default.nix
@@ -16,89 +16,98 @@
 , imageio
 , tifffile
 , pytestCheckHook
+, doCheck ? false
 }:
 
 let
   installedPackageRoot = "${builtins.placeholder "out"}/${python.sitePackages}";
-in buildPythonPackage rec {
-  pname = "scikit-image";
-  version = "0.18.3";
+  self = buildPythonPackage rec {
+    pname = "scikit-image";
+    version = "0.18.3";
 
-  src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "0a2h3bw5rkk23k4r04qc9maccg00nddssd7lfsps8nhp5agk1vyh";
-  };
+    src = fetchFromGitHub {
+      owner = pname;
+      repo = pname;
+      rev = "v${version}";
+      sha256 = "0a2h3bw5rkk23k4r04qc9maccg00nddssd7lfsps8nhp5agk1vyh";
+    };
+
+    patches = [ ./add-testing-data.patch ];
 
-  patches = [ ./add-testing-data.patch ];
+    nativeBuildInputs = [ cython ];
 
-  nativeBuildInputs = [ cython ];
+    propagatedBuildInputs = [
+      cloudpickle
+      dask
+      imageio
+      matplotlib
+      networkx
+      numpy
+      pillow
+      pywavelets
+      scipy
+      six
+      tifffile
+    ];
 
-  propagatedBuildInputs = [
-    cloudpickle
-    dask
-    imageio
-    matplotlib
-    networkx
-    numpy
-    pillow
-    pywavelets
-    scipy
-    six
-    tifffile
-  ];
+    # test suite is very cpu intensive, move to passthru.tests
+    inherit doCheck;
+    checkInputs = [ pytestCheckHook ];
 
-  checkInputs = [ pytestCheckHook ];
+    # (1) The package has cythonized modules, whose .so libs will appear only in the wheel, i.e. in nix store;
+    # (2) To stop Python from importing the wrong directory, i.e. the one in the build dir, not the one in nix store, `skimage` dir should be removed or renamed;
+    # (3) Therefore, tests should be run on the installed package in nix store.
 
-  # (1) The package has cythonized modules, whose .so libs will appear only in the wheel, i.e. in nix store;
-  # (2) To stop Python from importing the wrong directory, i.e. the one in the build dir, not the one in nix store, `skimage` dir should be removed or renamed;
-  # (3) Therefore, tests should be run on the installed package in nix store.
+    # See e.g. https://discourse.nixos.org/t/cant-import-cythonized-modules-at-checkphase/14207 on why the following is needed.
+    preCheck = ''
+      rm -r skimage
+    '';
 
-  # See e.g. https://discourse.nixos.org/t/cant-import-cythonized-modules-at-checkphase/14207 on why the following is needed.
-  preCheck = ''
-    rm -r skimage
-  '';
+    disabledTestPaths = [
+      # Requires network access (actually some data is loaded via `skimage._shared.testing.fetch` in the global scope, which calls `pytest.skip` when a network is unaccessible, leading to a pytest collection error).
+      "${installedPackageRoot}/skimage/filters/rank/tests/test_rank.py"
+    ];
+    pytestFlagsArray = [ "${installedPackageRoot}" "--pyargs" "skimage" ] ++ builtins.map (testid: "--deselect=" + testid) ([
+      # These tests require network access
+      "skimage/data/test_data.py::test_skin"
+      "skimage/data/tests/test_data.py::test_skin"
+      "skimage/io/tests/test_io.py::test_imread_http_url"
+      "skimage/restoration/tests/test_rolling_ball.py::test_ndim"
+    ] ++ lib.optionals stdenv.isDarwin [
+      # Matplotlib tests are broken inside darwin sandbox
+      "skimage/feature/tests/test_util.py::test_plot_matches"
+      "skimage/filters/tests/test_thresholding.py::TestSimpleImage::test_try_all_threshold"
+      "skimage/io/tests/test_mpl_imshow.py::"
+    ]);
 
-  disabledTestPaths = [
-    # Requires network access (actually some data is loaded via `skimage._shared.testing.fetch` in the global scope, which calls `pytest.skip` when a network is unaccessible, leading to a pytest collection error).
-    "${installedPackageRoot}/skimage/filters/rank/tests/test_rank.py"
-  ];
-  pytestFlagsArray = [ "${installedPackageRoot}" "--pyargs" "skimage" ] ++ builtins.map (testid: "--deselect=" + testid) ([
-    # These tests require network access
-    "skimage/data/test_data.py::test_skin"
-    "skimage/data/tests/test_data.py::test_skin"
-    "skimage/io/tests/test_io.py::test_imread_http_url"
-    "skimage/restoration/tests/test_rolling_ball.py::test_ndim"
-  ] ++ lib.optionals stdenv.isDarwin [
-    # Matplotlib tests are broken inside darwin sandbox
-    "skimage/feature/tests/test_util.py::test_plot_matches"
-    "skimage/filters/tests/test_thresholding.py::TestSimpleImage::test_try_all_threshold"
-    "skimage/io/tests/test_mpl_imshow.py::"
-  ]);
+    # Check cythonized modules
+    pythonImportsCheck = [
+      "skimage"
+      "skimage._shared"
+      "skimage.draw"
+      "skimage.feature"
+      "skimage.restoration"
+      "skimage.filters"
+      "skimage.future.graph"
+      "skimage.graph"
+      "skimage.io"
+      "skimage.measure"
+      "skimage.morphology"
+      "skimage.transform"
+      "skimage.util"
+      "skimage.segmentation"
+    ];
 
-  # Check cythonized modules
-  pythonImportsCheck = [
-    "skimage"
-    "skimage._shared"
-    "skimage.draw"
-    "skimage.feature"
-    "skimage.restoration"
-    "skimage.filters"
-    "skimage.future.graph"
-    "skimage.graph"
-    "skimage.io"
-    "skimage.measure"
-    "skimage.morphology"
-    "skimage.transform"
-    "skimage.util"
-    "skimage.segmentation"
-  ];
+    passthru.tests = {
+      all-tests = self.override { doCheck = true; };
+    };
 
-  meta = {
-    description = "Image processing routines for SciPy";
-    homepage = "https://scikit-image.org";
-    license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ yl3dy ];
+    meta = {
+      description = "Image processing routines for SciPy";
+      homepage = "https://scikit-image.org";
+      license = lib.licenses.bsd3;
+      maintainers = with lib.maintainers; [ yl3dy ];
+    };
   };
-}
+in
+  self
diff --git a/pkgs/development/python-modules/scipy/default.nix b/pkgs/development/python-modules/scipy/default.nix
index 9c3b28e0a9aca..85708822cc2bb 100644
--- a/pkgs/development/python-modules/scipy/default.nix
+++ b/pkgs/development/python-modules/scipy/default.nix
@@ -15,11 +15,11 @@
 
 buildPythonPackage rec {
   pname = "scipy";
-  version = "1.7.3";
+  version = "1.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ab5875facfdef77e0a47d5fd39ea178b58e60e454a4c85aa1e52fcb80db7babf";
+    sha256 = "sha256-MdTy1rckvJqY5Se1hJuKflib8epjDDOqVj7akSyf8L0=";
   };
 
   nativeBuildInputs = [ cython gfortran pythran ];
diff --git a/pkgs/development/python-modules/scmrepo/default.nix b/pkgs/development/python-modules/scmrepo/default.nix
index f4a024a46e99e..1d07c371ca2a2 100644
--- a/pkgs/development/python-modules/scmrepo/default.nix
+++ b/pkgs/development/python-modules/scmrepo/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "scmrepo";
-  version = "0.0.7";
+  version = "0.0.16";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = version;
-    hash = "sha256-tZsogqcfAqpSo9yOz4z0mgY9SVU1epPmcBuyLJsHLfY=";
+    hash = "sha256-gaZXQFZ1Vm8ruW42IXc6+fLA5856Oc0cGgtScwIr5f8=";
   };
 
   propagatedBuildInputs = [
@@ -37,6 +37,11 @@ buildPythonPackage rec {
     pygtrie
   ];
 
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "asyncssh>=2.7.1,<2.9" "asyncssh>=2.7.1"
+  '';
+
   # Requires a running Docker instance
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/sense-energy/default.nix b/pkgs/development/python-modules/sense-energy/default.nix
index d5e9b4da0ebfe..b3f2d6955709d 100644
--- a/pkgs/development/python-modules/sense-energy/default.nix
+++ b/pkgs/development/python-modules/sense-energy/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , aiohttp
+, pythonOlder
 , requests
 , websocket-client
 , websockets
@@ -9,14 +10,16 @@
 
 buildPythonPackage rec {
   pname = "sense-energy";
-  version = "0.10.3";
+  version = "0.10.4";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "scottbonline";
     repo = "sense";
     rev = version;
-    hash = "sha256-oekzLnEQleJPYO6QI2EwflXsbnrQVbqXQOZOnCfEHdg=";
+    hash = "sha256-yflI17lLZMXXB0ye+jz3VWWMdZtcBTwbg8deA4ENmWw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sentry-sdk/default.nix b/pkgs/development/python-modules/sentry-sdk/default.nix
index 51e6c76de5db2..3272c4b612f63 100644
--- a/pkgs/development/python-modules/sentry-sdk/default.nix
+++ b/pkgs/development/python-modules/sentry-sdk/default.nix
@@ -126,6 +126,8 @@ buildPythonPackage rec {
     "tests/integrations/chalice/"
     # broken since rq-1.10.1: https://github.com/getsentry/sentry-python/issues/1274
     "tests/integrations/rq/"
+    # broken since pytest 7.0.1; AssertionError: previous item was not torn down properly
+    "tests/utils/test_contextvars.py"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix
index e748334b5ad16..6b18422cc18a6 100644
--- a/pkgs/development/python-modules/setuptools/default.nix
+++ b/pkgs/development/python-modules/setuptools/default.nix
@@ -10,7 +10,7 @@
 
 let
   pname = "setuptools";
-  version = "57.2.0";
+  version = "60.8.2";
 
   # Create an sdist of setuptools
   sdist = stdenv.mkDerivation rec {
@@ -20,12 +20,13 @@ let
       owner = "pypa";
       repo = pname;
       rev = "v${version}";
-      sha256 = "sha256-zFmndVoATNxfvDsacY+gj5bzIbbd/8ldbsJj4qOawTA=";
+      sha256 = "1mqpmbn58rx3g24dm6wnllx0xs97ampn2yga3qypqgwnh1nk477i";
       name = "${pname}-${version}-source";
     };
 
     patches = [
       ./tag-date.patch
+      ./setuptools-distutils-C++.patch
     ];
 
     buildPhase = ''
diff --git a/pkgs/development/python-modules/setuptools/setuptools-distutils-C++.patch b/pkgs/development/python-modules/setuptools/setuptools-distutils-C++.patch
new file mode 100644
index 0000000000000..a14e514fda7ed
--- /dev/null
+++ b/pkgs/development/python-modules/setuptools/setuptools-distutils-C++.patch
@@ -0,0 +1,216 @@
+Based on pkgs/development/interpreters/python/cpython/3.7/python-3.x-distutils-C++.patch,
+adapted to apply to setuptools 60.x's bundled distutils.
+
+diff --git a/setuptools/_distutils/cygwinccompiler.py b/setuptools/_distutils/cygwinccompiler.py
+index c5c86d8f..b879e447 100644
+--- a/setuptools/_distutils/cygwinccompiler.py
++++ b/setuptools/_distutils/cygwinccompiler.py
+@@ -124,14 +124,19 @@ class CygwinCCompiler(UnixCCompiler):
+         self.cxx = os.environ.get('CXX', 'g++')
+ 
+         self.linker_dll = self.cc
++        self.linker_dll_cxx = self.cxx
+         shared_option = "-shared"
+ 
+         self.set_executables(compiler='%s -mcygwin -O -Wall' % self.cc,
+                              compiler_so='%s -mcygwin -mdll -O -Wall' % self.cc,
+                              compiler_cxx='%s -mcygwin -O -Wall' % self.cxx,
++                             compiler_so_cxx='%s -mcygwin -mdll -O -Wall' % self.cxx,
+                              linker_exe='%s -mcygwin' % self.cc,
+                              linker_so=('%s -mcygwin %s' %
+-                                        (self.linker_dll, shared_option)))
++                                        (self.linker_dll, shared_option)),
++                             linker_exe_cxx='%s -mcygwin' % self.cxx,
++                             linker_so_cxx=('%s -mcygwin %s' %
++                                            (self.linker_dll_cxx, shared_option)))
+ 
+         # Include the appropriate MSVC runtime library if Python was built
+         # with MSVC 7.0 or later.
+@@ -162,8 +167,12 @@ class CygwinCCompiler(UnixCCompiler):
+                 raise CompileError(msg)
+         else: # for other files use the C-compiler
+             try:
+-                self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
+-                           extra_postargs)
++                if self.detect_language(src) == 'c++':
++                    self.spawn(self.compiler_so_cxx + cc_args + [src, '-o', obj] +
++                               extra_postargs)
++                else:
++                    self.spawn(self.compiler_so + cc_args + [src, '-o', obj] +
++                               extra_postargs)
+             except DistutilsExecError as msg:
+                 raise CompileError(msg)
+ 
+@@ -279,9 +288,13 @@ class Mingw32CCompiler(CygwinCCompiler):
+         self.set_executables(compiler='%s -O -Wall' % self.cc,
+                              compiler_so='%s -mdll -O -Wall' % self.cc,
+                              compiler_cxx='%s -O -Wall' % self.cxx,
++                             compiler_so_cxx='%s -mdll -O -Wall' % self.cxx,
+                              linker_exe='%s' % self.cc,
+                              linker_so='%s %s'
+-                                        % (self.linker_dll, shared_option))
++                                        % (self.linker_dll, shared_option),
++                             linker_exe_cxx='%s' % self.cxx,
++                             linker_so_cxx='%s %s'
++                                        % (self.linker_dll_cxx, shared_option))
+ 
+         # Maybe we should also append -mthreads, but then the finished
+         # dlls need another dll (mingwm10.dll see Mingw32 docs)
+diff --git a/setuptools/_distutils/sysconfig.py b/setuptools/_distutils/sysconfig.py
+index 4a77a431..1ad85181 100644
+--- a/setuptools/_distutils/sysconfig.py
++++ b/setuptools/_distutils/sysconfig.py
+@@ -216,9 +216,11 @@ def customize_compiler(compiler):
+                 _osx_support.customize_compiler(_config_vars)
+                 _config_vars['CUSTOMIZED_OSX_COMPILER'] = 'True'
+ 
+-        (cc, cxx, cflags, ccshared, ldshared, shlib_suffix, ar, ar_flags) = \
+-            get_config_vars('CC', 'CXX', 'CFLAGS',
+-                            'CCSHARED', 'LDSHARED', 'SHLIB_SUFFIX', 'AR', 'ARFLAGS')
++        (cc, cxx, cflags, ccshared, ldshared, ldcxxshared, shlib_suffix, ar, ar_flags) = \
++            get_config_vars('CC', 'CXX', 'CFLAGS', 'CCSHARED', 'LDSHARED', 'LDCXXSHARED',
++                            'SHLIB_SUFFIX', 'AR', 'ARFLAGS')
++
++        cxxflags = cflags
+ 
+         if 'CC' in os.environ:
+             newcc = os.environ['CC']
+@@ -232,19 +234,27 @@ def customize_compiler(compiler):
+             cxx = os.environ['CXX']
+         if 'LDSHARED' in os.environ:
+             ldshared = os.environ['LDSHARED']
++        if 'LDCXXSHARED' in os.environ:
++            ldcxxshared = os.environ['LDCXXSHARED']
+         if 'CPP' in os.environ:
+             cpp = os.environ['CPP']
+         else:
+             cpp = cc + " -E"           # not always
+         if 'LDFLAGS' in os.environ:
+             ldshared = ldshared + ' ' + os.environ['LDFLAGS']
++            ldcxxshared = ldcxxshared + ' ' + os.environ['LDFLAGS']
+         if 'CFLAGS' in os.environ:
+-            cflags = cflags + ' ' + os.environ['CFLAGS']
++            cflags = os.environ['CFLAGS']
+             ldshared = ldshared + ' ' + os.environ['CFLAGS']
++        if 'CXXFLAGS' in os.environ:
++            cxxflags = os.environ['CXXFLAGS']
++            ldcxxshared = ldcxxshared + ' ' + os.environ['CXXFLAGS']
+         if 'CPPFLAGS' in os.environ:
+             cpp = cpp + ' ' + os.environ['CPPFLAGS']
+             cflags = cflags + ' ' + os.environ['CPPFLAGS']
++            cxxflags = cxxflags + ' ' + os.environ['CPPFLAGS']
+             ldshared = ldshared + ' ' + os.environ['CPPFLAGS']
++            ldcxxshared = ldcxxshared + ' ' + os.environ['CPPFLAGS']
+         if 'AR' in os.environ:
+             ar = os.environ['AR']
+         if 'ARFLAGS' in os.environ:
+@@ -253,13 +263,17 @@ def customize_compiler(compiler):
+             archiver = ar + ' ' + ar_flags
+ 
+         cc_cmd = cc + ' ' + cflags
++        cxx_cmd = cxx + ' ' + cxxflags
+         compiler.set_executables(
+             preprocessor=cpp,
+             compiler=cc_cmd,
+             compiler_so=cc_cmd + ' ' + ccshared,
+-            compiler_cxx=cxx,
++            compiler_cxx=cxx_cmd,
++            compiler_so_cxx=cxx_cmd + ' ' + ccshared,
+             linker_so=ldshared,
+             linker_exe=cc,
++            linker_so_cxx=ldcxxshared,
++            linker_exe_cxx=cxx,
+             archiver=archiver)
+ 
+         if 'RANLIB' in os.environ and compiler.executables.get('ranlib', None):
+diff --git a/setuptools/_distutils/unixccompiler.py b/setuptools/_distutils/unixccompiler.py
+index a07e5988..576ef490 100644
+--- a/setuptools/_distutils/unixccompiler.py
++++ b/setuptools/_distutils/unixccompiler.py
+@@ -52,14 +52,17 @@ class UnixCCompiler(CCompiler):
+     # are pretty generic; they will probably have to be set by an outsider
+     # (eg. using information discovered by the sysconfig about building
+     # Python extensions).
+-    executables = {'preprocessor' : None,
+-                   'compiler'     : ["cc"],
+-                   'compiler_so'  : ["cc"],
+-                   'compiler_cxx' : ["cc"],
+-                   'linker_so'    : ["cc", "-shared"],
+-                   'linker_exe'   : ["cc"],
+-                   'archiver'     : ["ar", "-cr"],
+-                   'ranlib'       : None,
++    executables = {'preprocessor'    : None,
++                   'compiler'        : ["cc"],
++                   'compiler_so'     : ["cc"],
++                   'compiler_cxx'    : ["c++"],
++                   'compiler_so_cxx' : ["c++"],
++                   'linker_so'       : ["cc", "-shared"],
++                   'linker_exe'      : ["cc"],
++                   'linker_so_cxx'   : ["c++", "-shared"],
++                   'linker_exe_cxx'  : ["c++"],
++                   'archiver'        : ["ar", "-cr"],
++                   'ranlib'          : None,
+                   }
+ 
+     if sys.platform[:6] == "darwin":
+@@ -110,12 +113,19 @@ class UnixCCompiler(CCompiler):
+ 
+     def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
+         compiler_so = self.compiler_so
++        compiler_so_cxx = self.compiler_so_cxx
+         if sys.platform == 'darwin':
+             compiler_so = _osx_support.compiler_fixup(compiler_so,
+                                                     cc_args + extra_postargs)
++            compiler_so_cxx = _osx_support.compiler_fixup(compiler_so_cxx,
++                                                    cc_args + extra_postargs)
+         try:
+-            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
+-                       extra_postargs)
++            if self.detect_language(src) == 'c++':
++                self.spawn(compiler_so_cxx + cc_args + [src, '-o', obj] +
++                           extra_postargs)
++            else:
++                self.spawn(compiler_so + cc_args + [src, '-o', obj] +
++                           extra_postargs)
+         except DistutilsExecError as msg:
+             raise CompileError(msg)
+ 
+@@ -173,30 +183,16 @@ class UnixCCompiler(CCompiler):
+                 ld_args.extend(extra_postargs)
+             self.mkpath(os.path.dirname(output_filename))
+             try:
+-                if target_desc == CCompiler.EXECUTABLE:
+-                    linker = self.linker_exe[:]
++                if target_lang == "c++":
++                    if target_desc == CCompiler.EXECUTABLE:
++                        linker = self.linker_exe_cxx[:]
++                    else:
++                        linker = self.linker_so_cxx[:]
+                 else:
+-                    linker = self.linker_so[:]
+-                if target_lang == "c++" and self.compiler_cxx:
+-                    # skip over environment variable settings if /usr/bin/env
+-                    # is used to set up the linker's environment.
+-                    # This is needed on OSX. Note: this assumes that the
+-                    # normal and C++ compiler have the same environment
+-                    # settings.
+-                    i = 0
+-                    if os.path.basename(linker[0]) == "env":
+-                        i = 1
+-                        while '=' in linker[i]:
+-                            i += 1
+-
+-                    if os.path.basename(linker[i]) == 'ld_so_aix':
+-                        # AIX platforms prefix the compiler with the ld_so_aix
+-                        # script, so we need to adjust our linker index
+-                        offset = 1
++                    if target_desc == CCompiler.EXECUTABLE:
++                        linker = self.linker_exe[:]
+                     else:
+-                        offset = 0
+-
+-                    linker[i+offset] = self.compiler_cxx[i]
++                        linker = self.linker_so[:]
+ 
+                 if sys.platform == 'darwin':
+                     linker = _osx_support.compiler_fixup(linker, ld_args)
diff --git a/pkgs/development/python-modules/simple-salesforce/default.nix b/pkgs/development/python-modules/simple-salesforce/default.nix
index d2b36af12a3ba..a9319779060ea 100644
--- a/pkgs/development/python-modules/simple-salesforce/default.nix
+++ b/pkgs/development/python-modules/simple-salesforce/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "simple-salesforce";
-  version = "1.11.4";
+  version = "1.11.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "17d6g7zfhlgd2n4mimjarl2x4hl7ww2lb4izidlns1hzqm8igg4y";
+    sha256 = "sha256-/uaFEQnilcelHKjbmrnyLm5Mzj2V8P4oEH+cgJn+KvI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/simplisafe-python/default.nix b/pkgs/development/python-modules/simplisafe-python/default.nix
index 1c2c206f87f0b..ec3cf592786de 100644
--- a/pkgs/development/python-modules/simplisafe-python/default.nix
+++ b/pkgs/development/python-modules/simplisafe-python/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "simplisafe-python";
-  version = "2022.03.0";
+  version = "2022.03.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "sha256-B4Tg122S2lJaBXBKUSN2ndt5EOiC5HyORTQXofZKUpw=";
+    sha256 = "sha256-19+p39uZO9pSDzH6YkS9ZDVA4zyl9oJ325yTQ5+SQcw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/sip/default.nix b/pkgs/development/python-modules/sip/default.nix
index 5cd8136f84efa..d6ee1e76f5480 100644
--- a/pkgs/development/python-modules/sip/default.nix
+++ b/pkgs/development/python-modules/sip/default.nix
@@ -2,14 +2,21 @@
 
 buildPythonPackage rec {
   pname = "sip";
-  version = "6.5.0";
+  version = "6.5.1";
 
   src = fetchPypi {
     pname = "sip";
     inherit version;
-    sha256 = "a1cf8431a8eb9392b3ff6dc61d832d0447bfdcae5b3e4256a5fa74dbc25b0734";
+    sha256 = "sha256-IE8CQNuJmadJ1jiph7NRhhhD5pI5uBHsPRiBQSw3BqY=";
   };
 
+  patches = [
+    # on non-x86 Linux platforms, sip incorrectly detects the manylinux version
+    # and PIP will refuse to install the resulting wheel.
+    # remove once upstream fixes this, hopefully in 6.5.2
+    ./fix-manylinux-version.patch
+  ];
+
   propagatedBuildInputs = [ packaging toml ];
 
   # There aren't tests
diff --git a/pkgs/development/python-modules/sip/fix-manylinux-version.patch b/pkgs/development/python-modules/sip/fix-manylinux-version.patch
new file mode 100644
index 0000000000000..4b8e99ae8e472
--- /dev/null
+++ b/pkgs/development/python-modules/sip/fix-manylinux-version.patch
@@ -0,0 +1,19 @@
+diff --git a/sipbuild/project.py b/sipbuild/project.py
+--- a/sipbuild/project.py
++++ b/sipbuild/project.py
+@@ -336,13 +336,13 @@ class Project(AbstractProject, Configurable):
+             # We expect a two part tag so leave anything else unchanged.
+             parts = platform_tag.split('-')
+             if len(parts) == 2:
+-                if self.minimum_glibc_version > (2, 17):
++                if self.minimum_glibc_version > (2, 17) or parts[1] not in {"x86_64", "i686", "aarch64", "armv7l", "ppc64", "ppc64le", "s390x"}:
+                     # PEP 600.
+                     parts[0] = 'manylinux'
+                     parts.insert(1,
+                             '{}.{}'.format(self.minimum_glibc_version[0],
+                                     self.minimum_glibc_version[1]))
+-                elif self.minimum_glibc_version > (2, 12):
++                elif self.minimum_glibc_version > (2, 12) or parts[1] not in {"x86_64", "i686"}:
+                     # PEP 599.
+                     parts[0] = 'manylinux2014'
+                 elif self.minimum_glibc_version > (2, 5):
diff --git a/pkgs/development/python-modules/smbprotocol/default.nix b/pkgs/development/python-modules/smbprotocol/default.nix
index b5d826c8f8efb..562346b1a476f 100644
--- a/pkgs/development/python-modules/smbprotocol/default.nix
+++ b/pkgs/development/python-modules/smbprotocol/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "smbprotocol";
-  version = "1.8.3";
+  version = "1.9.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "jborean93";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-m9C+uzwrEOcbkvBQ3Z+to2BsX2i7cLnUiV/+L7hMUdE=";
+    sha256 = "sha256-u3brP3WsnoqRy3R0OQQkIbq+avS7nemx9GKpvTq+vxg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/snowflake-connector-python/default.nix b/pkgs/development/python-modules/snowflake-connector-python/default.nix
index 744883302a0ec..e4b5d9ee67752 100644
--- a/pkgs/development/python-modules/snowflake-connector-python/default.nix
+++ b/pkgs/development/python-modules/snowflake-connector-python/default.nix
@@ -24,14 +24,19 @@
 
 buildPythonPackage rec {
   pname = "snowflake-connector-python";
-  version = "2.7.4";
+  version = "2.7.6";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Es8Xe7yHetAl9bAO83ecTuv9r0cueRL4fCvNyfOGQAg=";
+    sha256 = "sha256-MxYo4MoCdkSSuDteR3A72FcRWuKTRrct4y1/t8nsVIs=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "pyOpenSSL>=16.2.0,<22.0.0" "pyOpenSSL"
+  '';
+
   propagatedBuildInputs = [
     azure-storage-blob
     asn1crypto
diff --git a/pkgs/development/python-modules/social-auth-app-django/default.nix b/pkgs/development/python-modules/social-auth-app-django/default.nix
new file mode 100644
index 0000000000000..bd38ef3a5a24e
--- /dev/null
+++ b/pkgs/development/python-modules/social-auth-app-django/default.nix
@@ -0,0 +1,34 @@
+{ lib, buildPythonPackage, fetchFromGitHub, social-auth-core, django, python }:
+
+buildPythonPackage rec {
+  pname = "social-auth-app-django";
+  version = "5.0.0";
+
+  src = fetchFromGitHub {
+    owner = "python-social-auth";
+    repo = "social-app-django";
+    rev = version;
+    sha256 = "sha256-ONhdXxclHRpVtijpKEZlmGDhjid/jnTaPq6LQtjxCC4=";
+  };
+
+  propagatedBuildInputs = [
+    social-auth-core
+  ];
+
+  pythonImportsCheck = [ "social_django" ];
+
+  checkInputs = [
+    django
+  ];
+
+  checkPhase = ''
+    ${python.interpreter} -m django test --settings="tests.settings"
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/python-social-auth/social-app-django";
+    description = "Python Social Auth - Application - Django";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ n0emis ];
+  };
+}
diff --git a/pkgs/development/python-modules/social-auth-core/default.nix b/pkgs/development/python-modules/social-auth-core/default.nix
new file mode 100644
index 0000000000000..ede138218e010
--- /dev/null
+++ b/pkgs/development/python-modules/social-auth-core/default.nix
@@ -0,0 +1,63 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+, oauthlib
+, requests_oauthlib
+, pyjwt
+, cryptography
+, defusedxml
+, python3-openid
+, python-jose
+, python3-saml
+, pytestCheckHook
+, httpretty
+}:
+
+buildPythonPackage rec {
+  pname = "social-auth-core";
+  version = "4.2.0";
+
+  src = fetchFromGitHub {
+    owner = "python-social-auth";
+    repo = "social-core";
+    rev = version;
+    sha256 = "sha256-kaL6sfAyQlzxszCEbhW7sns/mcOv0U+QgplmUd6oegQ=";
+  };
+
+  # Disable checking the code coverage
+  prePatch = ''
+    substituteInPlace social_core/tests/requirements.txt \
+      --replace "coverage>=3.6" "" \
+      --replace "pytest-cov>=2.7.1" ""
+
+    substituteInPlace tox.ini \
+      --replace "{posargs:-v --cov=social_core}" "{posargs:-v}"
+  '';
+
+  propagatedBuildInputs = [
+    requests
+    oauthlib
+    requests_oauthlib
+    pyjwt
+    cryptography
+    defusedxml
+    python3-openid
+    python-jose
+    python3-saml
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    httpretty
+  ];
+
+  pythonImportsCheck = [ "social_core" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/python-social-auth/social-core";
+    description = "Python Social Auth - Core";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ n0emis ];
+  };
+}
diff --git a/pkgs/development/python-modules/socksio/default.nix b/pkgs/development/python-modules/socksio/default.nix
new file mode 100644
index 0000000000000..5d42ed6e8ecc5
--- /dev/null
+++ b/pkgs/development/python-modules/socksio/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonAtLeast
+, flit-core
+, pytestCheckHook
+}:
+
+let
+  pname = "socksio";
+  version = "1.0.0";
+in
+buildPythonPackage {
+  inherit pname version;
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-+IvrPaW1w4uYkEad5n0MsPnUlLeLEGyhhF+WwQuRxKw=";
+  };
+
+  nativeBuildInputs = [
+    flit-core
+  ];
+
+  # remove coverage configuration
+  preCheck = ''
+    rm pytest.ini
+  '';
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Sans-I/O implementation of SOCKS4, SOCKS4A, and SOCKS5";
+    homepage = "https://github.com/sethmlarson/socksio";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/development/python-modules/spacy-loggers/default.nix b/pkgs/development/python-modules/spacy-loggers/default.nix
index 7e4d572e18123..d74962779a1d6 100644
--- a/pkgs/development/python-modules/spacy-loggers/default.nix
+++ b/pkgs/development/python-modules/spacy-loggers/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "spacy-loggers";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-F9DiSbLmxlRsSfxlYaCmhfkajtvySlsrd1nq1EPHRlQ=";
+    sha256 = "sha256-511E9M+Z5nY9cTLKfIxCDgqSeQIioIvI654k6iwTU24=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/spacy-transformers/default.nix b/pkgs/development/python-modules/spacy-transformers/default.nix
index 2f70732caa316..d203f8709c375 100644
--- a/pkgs/development/python-modules/spacy-transformers/default.nix
+++ b/pkgs/development/python-modules/spacy-transformers/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "spacy-transformers";
-  version = "1.1.3";
+  version = "1.1.4";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f4f553d3d2a065147a8c1292b5d9adf050c0f78dd15bb05c9614341cf88c5574";
+    sha256 = "sha256-G09bZiXTdEuukvKjPOYYTW/B19d406QSRDOU5ZflDDU=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/sphinx/default.nix b/pkgs/development/python-modules/sphinx/default.nix
index 19961cc2ec182..7d79aaa457a3b 100644
--- a/pkgs/development/python-modules/sphinx/default.nix
+++ b/pkgs/development/python-modules/sphinx/default.nix
@@ -92,9 +92,11 @@ buildPythonPackage rec {
     # Due to lack of network sandboxing can't guarantee port 7777 isn't bound
     "test_inspect_main_url"
     "test_auth_header_uses_first_match"
+    "test_linkcheck_allowed_redirects"
     "test_linkcheck_request_headers"
     "test_linkcheck_request_headers_no_slash"
     "test_follows_redirects_on_HEAD"
+    "test_get_after_head_raises_connection_error"
     "test_invalid_ssl"
     "test_connect_to_selfsigned_with_tls_verify_false"
     "test_connect_to_selfsigned_with_tls_cacerts"
diff --git a/pkgs/development/python-modules/spyder/default.nix b/pkgs/development/python-modules/spyder/default.nix
index cfeaf08fb33f4..40e393b57d6cf 100644
--- a/pkgs/development/python-modules/spyder/default.nix
+++ b/pkgs/development/python-modules/spyder/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "spyder";
-  version = "5.2.1";
+  version = "5.2.2";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b318a70a75acd200018a547d2ff2d2f55e7507054469d0c77ec6f967ac3c2d28";
+    sha256 = "sha256-3DIikQlsc7Ptagi8ddR5ia+u24dXeBdppRkIn/xp3bg=";
   };
 
   nativeBuildInputs = [ pyqtwebengine.wrapQtAppsHook ];
diff --git a/pkgs/development/python-modules/sqlalchemy/default.nix b/pkgs/development/python-modules/sqlalchemy/default.nix
index 1d6406c5db13c..d379fc9294288 100644
--- a/pkgs/development/python-modules/sqlalchemy/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "SQLAlchemy";
-  version = "1.4.31";
+  version = "1.4.32";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-WCtZ0eV4CkR6raIrRh5QtASp3AV2jaHYc2itgZBGhBg=";
+    sha256 = "sha256-b90txZMdqrd4wrZbA99q5oN24CijCY62JNCQnZmYhbw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sqlmap/default.nix b/pkgs/development/python-modules/sqlmap/default.nix
index a435b363a0f7b..6313f413c6ab7 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.3";
+  version = "1.6.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-W/UdJPLcFOEHHz7VYeQ3CcXysNju5DuxqvYA+xMkb20=";
+    sha256 = "sha256-6RKJ5a8Yl+SnWgdfrTIwY0m1JyY6W9fhZk6pTZiBVx8=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/sslyze/default.nix b/pkgs/development/python-modules/sslyze/default.nix
deleted file mode 100644
index bc3e2c238c9f0..0000000000000
--- a/pkgs/development/python-modules/sslyze/default.nix
+++ /dev/null
@@ -1,113 +0,0 @@
-{ lib
-, fetchFromGitHub
-, buildPythonPackage
-, pytestCheckHook
-, pythonOlder
-  # deps
-, cryptography
-, nassl
-, pydantic
-, tls-parser
-  # check deps
-, faker
-, openssl_1_0_2
-, openssl_1_1
-}:
-
-buildPythonPackage rec {
-  pname = "sslyze";
-  version = "5.0.3";
-  disabled = pythonOlder "3.7";
-
-  src = fetchFromGitHub {
-    owner = "nabla-c0d3";
-    repo = pname;
-    rev = version;
-    hash = "sha256-d465WJIDsgNAPe8KW5v2KDSgzMH7OPLSiFfFH9n+jiA=";
-  };
-
-  patchPhase = ''
-    substituteInPlace setup.py \
-      --replace "cryptography>=2.6,<36.0.0" "cryptography>=2.6"
-  '';
-
-  checkInputs = [
-    pytestCheckHook
-    faker
-  ];
-
-  # Most of the tests are online; hence, applicable tests are listed
-  # explicitly here
-  pytestFlagsArray = [
-    "tests/cli_tests/test_console_output.py"
-    "tests/cli_tests/test_server_string_parser.py"
-    "tests/json_tests/test_json_output.py"
-    "tests/plugins_tests/certificate_info/test_certificate_algorithms.py"
-    "tests/plugins_tests/certificate_info/test_certificate_utils.py"
-    "tests/plugins_tests/certificate_info/test_symantec.py"
-    "tests/plugins_tests/certificate_info/test_trust_store_repository.py"
-    "tests/plugins_tests/openssl_cipher_suites/test_cipher_suites.py"
-    "tests/plugins_tests/test_early_data_plugin.py"
-    "tests/plugins_tests/test_http_headers_plugin.py"
-    "tests/plugins_tests/test_robot_plugin.py"
-    "tests/plugins_tests/test_scan_commands.py"
-    "tests/plugins_tests/test_session_renegotiation_plugin.py"
-    "tests/scanner_tests/test_jobs_worker_thread.py"
-    "tests/scanner_tests/test_mass_scanner.py"
-    "tests/scanner_tests/test_models.py"
-    "tests/scanner_tests/test_scanner.py"
-    "tests/server_connectivity_tests/test_client_authentication.py"
-  ];
-
-  disabledTests = [
-    # TestEllipticCurvesPluginWithOnlineServer
-    "test_supported_curves"
-    # TestRobotPluginPlugin
-    "test_robot_attack_good"
-    # TestHttpHeadersPlugin
-    "test_all_headers_disabled"
-    "test_expect_ct_enabled"
-    "test_hsts_enabled"
-    # TestSessionRenegotiationPlugin
-    "test_renegotiation_good"
-    # TestCertificateAlgorithms
-    "test_ecdsa_certificate"
-    "test_invalid_certificate_bad_name"
-    # TestEarlyDataPlugin
-    "test_early_data_enabled"
-    # TestTrustStoresRepository
-    "test_update_default"
-    # TestClientAuthentication
-    "test_optional_client_authentication"
-  ];
-
-  # Some tests require OpenSSL
-  preCheck = ''
-    pushd $TMPDIR/$sourceRoot/tests/openssl_server/
-
-    rm openssl-1-1-1-linux64
-    ln -s ${openssl_1_1.bin}/bin/openssl openssl-1-1-1-linux64
-
-    rm openssl-1-0-0e-linux64
-    ln -s ${openssl_1_0_2.bin}/bin/openssl openssl-1-0-0e-linux64
-
-    popd
-  '';
-
-  pythonImportsCheck = [ "sslyze" ];
-
-  propagatedBuildInputs = [
-    cryptography
-    nassl
-    pydantic
-    tls-parser
-  ];
-
-  meta = with lib; {
-    homepage = "https://github.com/nabla-c0d3/sslyze";
-    description = "Fast and powerful SSL/TLS scanning library";
-    platforms = platforms.linux ++ platforms.darwin;
-    license = licenses.agpl3Only;
-    maintainers = with maintainers; [ veehaitch ];
-  };
-}
diff --git a/pkgs/development/python-modules/starlette/default.nix b/pkgs/development/python-modules/starlette/default.nix
index 1084a50be7707..00283cd9ec9ce 100644
--- a/pkgs/development/python-modules/starlette/default.nix
+++ b/pkgs/development/python-modules/starlette/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "starlette";
-  version = "0.17.1";
+  version = "0.18.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "encode";
     repo = pname;
     rev = version;
-    sha256 = "sha256-qT/w7r8PsrauLoBolwCGpxiwhDZo3z6hIqKVXeY5yqA=";
+    sha256 = "sha256-N2X9pjCiQ6TKRcm6VlyybLLyCdjQuIZHu1vK99gY8rY=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/stone/default.nix b/pkgs/development/python-modules/stone/default.nix
index 8ea42d1f27953..55f74b58fb520 100644
--- a/pkgs/development/python-modules/stone/default.nix
+++ b/pkgs/development/python-modules/stone/default.nix
@@ -1,34 +1,31 @@
-{ lib, buildPythonPackage, fetchPypi
-, coverage
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
 , mock
 , ply
-, pytest-runner
 , pytestCheckHook
 , six
 }:
 
 buildPythonPackage rec {
   pname = "stone";
-  version = "3.2.1";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0xby5mpsms7b2rv8j6mvxzmzz5i9ii01brb9ylxz6kiv2i08piwv";
+  version = "3.3.1";
+
+  # pypi sdist misses requirements.txt
+  src = fetchFromGitHub {
+    owner = "dropbox";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-0FWdYbv+paVU3Wj6g9OrSNUB0pH8fLwTkhVIBPeFB/U=";
   };
 
   postPatch = ''
-    substituteInPlace setup.py \
-      --replace "pytest-runner == 5.2.0" "pytest-runner" \
-      --replace "pytest < 5" "pytest"
-    substituteInPlace test/requirements.txt \
-      --replace "coverage==5.3" "coverage"
+    sed -i '/pytest-runner/d' setup.py
   '';
 
-  nativeBuildInputs = [ pytest-runner ];
-
   propagatedBuildInputs = [ ply six ];
 
-  checkInputs = [ pytestCheckHook coverage mock ];
+  checkInputs = [ pytestCheckHook mock ];
 
   # try to import from `test` directory, which is exported by the python interpreter
   # and cannot be overriden without removing some py3 to py2 support
diff --git a/pkgs/development/python-modules/stripe/default.nix b/pkgs/development/python-modules/stripe/default.nix
index e98112628381c..6580e245866f0 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 = "2.67.0";
+  version = "2.70.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-cYuT1qGBBSQ7zgybSOUY9y8fCD0n8H4HuL2zpUH+ODU=";
+    hash = "sha256-7YiX9o5rrDOYzJmOtWNFUYQGMNZQTAAm/P0K2RyadKQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/stumpy/default.nix b/pkgs/development/python-modules/stumpy/default.nix
index 68e35a1d0eca7..66a9b7e0d82ce 100644
--- a/pkgs/development/python-modules/stumpy/default.nix
+++ b/pkgs/development/python-modules/stumpy/default.nix
@@ -34,6 +34,12 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pytestFlagsArray = [
+    # whole testsuite is very CPU intensive, only run core tests
+    # TODO: move entire test suite to passthru.tests
+    "tests/test_core.py"
+  ];
+
   meta = with lib; {
     description = "A powerful and scalable library that can be used for a variety of time series data mining tasks";
     homepage = "https://github.com/TDAmeritrade/stumpy";
diff --git a/pkgs/development/python-modules/subarulink/default.nix b/pkgs/development/python-modules/subarulink/default.nix
index ab514735ec26d..72101eaf29d89 100644
--- a/pkgs/development/python-modules/subarulink/default.nix
+++ b/pkgs/development/python-modules/subarulink/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "subarulink";
-  version = "0.4.3";
+  version = "0.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "G-Two";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-q+a+OFFMAGl8KQi+KZ8h21+Pj0XEqP9ZIJii2PCgD6E=";
+    hash = "sha256-q+a+OFFMAGl8KQi+KZ8h21+Pj0XEqP9ZIJii2PCgD6E=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/suds-jurko/default.nix b/pkgs/development/python-modules/suds-jurko/default.nix
index af307919387f6..f2776265b067f 100644
--- a/pkgs/development/python-modules/suds-jurko/default.nix
+++ b/pkgs/development/python-modules/suds-jurko/default.nix
@@ -27,6 +27,7 @@ buildPythonPackage rec {
     description = "Lightweight SOAP client (Jurko's fork)";
     homepage = "https://bitbucket.org/jurko/suds";
     license = licenses.lgpl3;
+    broken = true; # Uses use2to3, which has been removed in setuptools>=58
   };
 
 }
diff --git a/pkgs/development/python-modules/sunpy/default.nix b/pkgs/development/python-modules/sunpy/default.nix
index 4e61f8665ba6a..9c88dc3462aca 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 = "3.1.3";
+  version = "3.1.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4acb05a05c7e6a2090cd0bb426b34c7e1620be0de2bf90a95a3f48ba15a5fce2";
+    sha256 = "sha256-TDslY1KUohR9zyyJ6+B95MMMsUL1TBl49L+nSCvZ9nI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/superqt/default.nix b/pkgs/development/python-modules/superqt/default.nix
index 9890a7000a9af..af600f623423c 100644
--- a/pkgs/development/python-modules/superqt/default.nix
+++ b/pkgs/development/python-modules/superqt/default.nix
@@ -3,21 +3,25 @@
 , fetchFromGitHub
 , setuptools-scm
 , pyqt5
+, qtpy
 , typing-extensions
 , pytest
 , pytestCheckHook
-}: buildPythonPackage rec {
+}:
+
+buildPythonPackage rec {
   pname = "superqt";
-  version = "0.2.5-1";
+  version = "0.3.1";
+
   src = fetchFromGitHub {
     owner = "napari";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-rkTiCJ8mIogS9SDmLPiaAyhhuBx3kk6rXjCc19zbwiM=";
+    sha256 = "sha256-DPjJxOgybNvZ3YvYHr48fmx59Puck61Dzm2G4M9qKo4=";
   };
   format = "pyproject";
   nativeBuildInputs = [ setuptools-scm ];
-  propagatedBuildInputs = [ pyqt5 typing-extensions ];
+  propagatedBuildInputs = [ pyqt5 qtpy typing-extensions ];
   checkInputs = [ pytestCheckHook pytest ];
   doCheck = false; # Segfaults...
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/swift/default.nix b/pkgs/development/python-modules/swift/default.nix
index b61e998c3c9f3..e06e7917be18a 100644
--- a/pkgs/development/python-modules/swift/default.nix
+++ b/pkgs/development/python-modules/swift/default.nix
@@ -23,11 +23,11 @@
 
 buildPythonPackage rec {
   pname = "swift";
-  version = "2.29.0";
+  version = "2.29.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-sGHARvi1PAFajz82GAegDVpy6A98QEyMfrDHZjNtDGQ=";
+    sha256 = "sha256-PoTob/Qz/XxEv/A271RQWT11rIIJBejVGjpAT14iKUg=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/telethon/default.nix b/pkgs/development/python-modules/telethon/default.nix
index a7ee01105a674..137f6b136a78a 100644
--- a/pkgs/development/python-modules/telethon/default.nix
+++ b/pkgs/development/python-modules/telethon/default.nix
@@ -12,7 +12,7 @@ buildPythonPackage rec {
 
   patchPhase = ''
     substituteInPlace telethon/crypto/libssl.py --replace \
-      "ctypes.util.find_library('ssl')" "'${openssl.out}/lib/libssl.so'"
+      "ctypes.util.find_library('ssl')" "'${lib.getLib openssl}/lib/libssl.so'"
   '';
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/teletype/default.nix b/pkgs/development/python-modules/teletype/default.nix
index c3878bf3c8779..47f6357a56831 100644
--- a/pkgs/development/python-modules/teletype/default.nix
+++ b/pkgs/development/python-modules/teletype/default.nix
@@ -2,11 +2,12 @@
 
 buildPythonPackage rec {
   pname = "teletype";
-  version = "1.1.0";
+  version = "1.3.2";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "02mg0qmdf7hljq6jw1hwaid3hvkf70dfxgrxmpqybaxrph5pfg1y";
+    sha256 = "sha256-9q46a4ui2kgSUL/vImR02r4T9huwLFwd70AqGBNJNzs=";
   };
 
   # no tests
diff --git a/pkgs/development/python-modules/tempora/default.nix b/pkgs/development/python-modules/tempora/default.nix
index 6999655c5dc5f..ff837158fc268 100644
--- a/pkgs/development/python-modules/tempora/default.nix
+++ b/pkgs/development/python-modules/tempora/default.nix
@@ -1,36 +1,59 @@
-{ lib, buildPythonPackage, fetchPypi
-, setuptools-scm, pytest, pytest-freezegun, freezegun, backports_unittest-mock
-, six, pytz, jaraco_functools, pythonOlder
-, pytest-flake8, pytest-cov, pytest-black, pytest-mypy
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+
+# build time
+, setuptools-scm
+
+# runtime
+, pytz
+, jaraco_functools
+
+# tests
+, freezegun
+, pytest-freezegun
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "tempora";
-  version = "5.0.0";
+  version = "5.0.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "aa21dd1956e29559ecb2f2f2e14fcdb950085222fbbf86e6c946b5e1a8c36b26";
+    sha256 = "sha256-y6Dxl6ZIg78+c2V++8AyTVvxcXnndpsThbTXXSbNkSc=";
   };
 
-  disabled = pythonOlder "3.2";
-
-  nativeBuildInputs = [ setuptools-scm ];
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
 
-  propagatedBuildInputs = [ six pytz jaraco_functools ];
+  propagatedBuildInputs = [
+    jaraco_functools
+    pytz
+  ];
 
   checkInputs = [
-    pytest-freezegun pytest freezegun backports_unittest-mock
-    pytest-flake8 pytest-cov pytest-black pytest-mypy
+    freezegun
+    pytest-freezegun
+    pytestCheckHook
   ];
 
-  checkPhase = ''
-    pytest
-  '';
+  pythonImportsCheck = [
+    "tempora"
+    "tempora.schedule"
+    "tempora.timing"
+    "tempora.utc"
+  ];
 
   meta = with lib; {
     description = "Objects and routines pertaining to date and time";
     homepage = "https://github.com/jaraco/tempora";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/tensorflow-tensorboard/default.nix b/pkgs/development/python-modules/tensorboard/default.nix
index ceebad2a47694..47025bf4a28af 100644
--- a/pkgs/development/python-modules/tensorflow-tensorboard/default.nix
+++ b/pkgs/development/python-modules/tensorboard/default.nix
@@ -22,17 +22,16 @@
 # buildBazelPackage.
 
 buildPythonPackage rec {
-  pname = "tensorflow-tensorboard";
-  version = "2.6.0";
+  pname = "tensorboard";
+  version = "2.8.0";
   format = "wheel";
-  disabled = pythonOlder "3.6" || pythonAtLeast "3.10";
+  disabled = pythonOlder "3.6" || pythonAtLeast "3.11";
 
   src = fetchPypi {
-    pname = "tensorboard";
-    inherit version format;
+    inherit pname version format;
     dist = "py3";
     python = "py3";
-    sha256 = "sha256-99rEzftS0UyeP3RYXOKq+OYgNiCoZOUfr4SYiwn3u9s=";
+    hash = "sha256-ZaM45EJOkHnyYEkjvb4wF5KtzirOG+aNprPd8AUXDe8=";
   };
 
   postPatch = ''
@@ -42,7 +41,8 @@ buildPythonPackage rec {
     pushd unpacked/tensorboard-${version}
 
     substituteInPlace tensorboard-${version}.dist-info/METADATA \
-      --replace "google-auth (<2,>=1.6.3)" "google-auth (<3,>=1.6.3)"
+      --replace "google-auth (<2,>=1.6.3)" "google-auth (<3,>=1.6.3)" \
+      --replace "google-auth-oauthlib (<0.5,>=0.4.1)" "google-auth-oauthlib (<0.6,>=0.4.1)"
 
     popd
     wheel pack ./unpacked/tensorboard-${version}
diff --git a/pkgs/development/python-modules/tensorboardx/default.nix b/pkgs/development/python-modules/tensorboardx/default.nix
index eacb5b4cdc804..7aa29f34baa55 100644
--- a/pkgs/development/python-modules/tensorboardx/default.nix
+++ b/pkgs/development/python-modules/tensorboardx/default.nix
@@ -13,7 +13,7 @@
 , pytorch
 , six
 , soundfile
-, tensorflow-tensorboard
+, tensorboard
 , torchvision
 }:
 
@@ -56,7 +56,7 @@ buildPythonPackage rec {
     pillow
     pytestCheckHook
     pytorch
-    tensorflow-tensorboard
+    tensorboard
     torchvision
   ];
 
@@ -70,6 +70,8 @@ buildPythonPackage rec {
   disabledTestPaths = [
     # we are not interested in linting errors
     "tests/test_lint.py"
+    # missing caffe2 dependency
+    "tests/test_caffe2.py"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/tensorflow-datasets/default.nix b/pkgs/development/python-modules/tensorflow-datasets/default.nix
index 98e38bba56ad9..1fc9f5ae25dcc 100644
--- a/pkgs/development/python-modules/tensorflow-datasets/default.nix
+++ b/pkgs/development/python-modules/tensorflow-datasets/default.nix
@@ -24,6 +24,7 @@
 , protobuf
 , pycocotools
 , pydub
+, pytest-xdist
 , pytestCheckHook
 , requests
 , scikitimage
@@ -38,13 +39,13 @@
 
 buildPythonPackage rec {
   pname = "tensorflow-datasets";
-  version = "4.4.0";
+  version = "4.5.2";
 
   src = fetchFromGitHub {
     owner = "tensorflow";
     repo = "datasets";
     rev = "v${version}";
-    sha256 = "11kbpv54nwr0xf7z5mkj2lmrfqfmcdq8qcpapnqck1kiawr3yad6";
+    sha256 = "sha256-OZpaY/6BMISq5IeDXyuyu5L/yG+DwlFliw4BsipPOLg=";
   };
 
   patches = [
@@ -88,12 +89,14 @@ buildPythonPackage rec {
     pillow
     pycocotools
     pydub
+    pytest-xdist
     pytestCheckHook
     scikitimage
     scipy
     tensorflow
     tifffile
   ];
+  pytestFlagsArray = [ "-n $NIX_BUILD_CORES" ];
 
   disabledTestPaths = [
     # Sandbox violations: network access, filesystem write attempts outside of build dir, ...
diff --git a/pkgs/development/python-modules/tensorflow-estimator/default.nix b/pkgs/development/python-modules/tensorflow-estimator/default.nix
index 5ad6d0ab6e555..7c7f155adb09b 100644
--- a/pkgs/development/python-modules/tensorflow-estimator/default.nix
+++ b/pkgs/development/python-modules/tensorflow-estimator/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "tensorflow-estimator";
-  version = "2.7.0";
+  version = "2.8.0";
   format = "wheel";
 
   src = fetchPypi {
     pname = "tensorflow_estimator";
     inherit version format;
-    hash = "sha256-MltaIkhkN5JCt7dsaYfKVEI5voJXnTPmjsfCvaV6vJ0=";
+    hash = "sha256-vujgUgxgrn6vbKjLRsWp9LRXJVMTgNuPvjj8tIR4trs=";
   };
 
   propagatedBuildInputs = [ mock numpy absl-py ];
diff --git a/pkgs/development/python-modules/tensorflow-metadata/build.patch b/pkgs/development/python-modules/tensorflow-metadata/build.patch
index ff81c5d1e86cf..5b570bf72062d 100644
--- a/pkgs/development/python-modules/tensorflow-metadata/build.patch
+++ b/pkgs/development/python-modules/tensorflow-metadata/build.patch
@@ -2,15 +2,6 @@ diff --git a/setup.py b/setup.py
 index 7a09b2f..94c5aa6 100644
 --- a/setup.py
 +++ b/setup.py
-@@ -125,7 +125,7 @@ setup(
-     ],
-     namespace_packages=[],
-     install_requires=[
--        'absl-py>=0.9,<0.13',
-+        'absl-py>=0.9',
-         'googleapis-common-protos>=1.52.0,<2',
-         'protobuf>=3.13,<4',
-     ],
 @@ -137,8 +137,5 @@ setup(
      long_description_content_type='text/markdown',
      keywords='tensorflow metadata tfx',
diff --git a/pkgs/development/python-modules/tensorflow-metadata/default.nix b/pkgs/development/python-modules/tensorflow-metadata/default.nix
index 2a80155c4cd9e..b39f1211d0cac 100644
--- a/pkgs/development/python-modules/tensorflow-metadata/default.nix
+++ b/pkgs/development/python-modules/tensorflow-metadata/default.nix
@@ -2,18 +2,19 @@
 , buildPythonPackage
 , fetchFromGitHub
 , googleapis-common-protos
+, protobuf
 , lib
 }:
 
 buildPythonPackage rec {
   pname = "tensorflow-metadata";
-  version = "1.5.0";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "tensorflow";
     repo = "metadata";
     rev = "v${version}";
-    sha256 = "17p74k6rwswpmj7m16cw9hdam6b4m7v5bahirmc2l1kwfvrn4w33";
+    sha256 = "sha256-CQlLEVNcD9u2pojz8r1eLzYzc9i2hjdZfzfYSQ/8Q4k=";
   };
 
   patches = [
@@ -31,8 +32,12 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     absl-py
     googleapis-common-protos
+    protobuf
   ];
 
+  # has no tests
+  doCheck = false;
+
   pythonImportsCheck = [
     "tensorflow_metadata"
   ];
diff --git a/pkgs/development/python-modules/tensorflow-tensorboard/1/default.nix b/pkgs/development/python-modules/tensorflow-tensorboard/1/default.nix
deleted file mode 100644
index f58b1a207719a..0000000000000
--- a/pkgs/development/python-modules/tensorflow-tensorboard/1/default.nix
+++ /dev/null
@@ -1,65 +0,0 @@
-{ lib, fetchPypi, buildPythonPackage, isPy3k
-, numpy
-, wheel
-, werkzeug
-, protobuf
-, grpcio
-, markdown
-, futures
-, absl-py
-}:
-
-# tensorflow/tensorboard is built from a downloaded wheel, because
-# https://github.com/tensorflow/tensorboard/issues/719 blocks
-# buildBazelPackage.
-
-buildPythonPackage rec {
-  pname = "tensorflow-tensorboard";
-  version = "1.15.0";
-  format = "wheel";
-
-  src = fetchPypi ({
-    pname = "tensorboard";
-    inherit version format;
-  } // (if isPy3k then {
-    python = "py3";
-    sha256 = "1g62i3nrgp8q9wfsyqqjkkfnsz7x2k018c26kdh527h1yrjjrbac";
-  } else {
-    python = "py2";
-    sha256 = "0l3zc8j2sh7h1z4qpy8kfvclv3kzndri55p10i42q6xahs9phav1";
-  }));
-
-  propagatedBuildInputs = [
-    numpy
-    werkzeug
-    protobuf
-    markdown
-    grpcio
-    absl-py
-    # not declared in install_requires, but used at runtime
-    # https://github.com/NixOS/nixpkgs/issues/73840
-    wheel
-  ] ++ lib.optional (!isPy3k) futures;
-
-  # in the absence of a real test suite, run cli and imports
-  checkPhase = ''
-    $out/bin/tensorboard --help > /dev/null
-  '';
-
-  pythonImportsCheck = [
-    "tensorboard"
-    "tensorboard.backend"
-    "tensorboard.compat"
-    "tensorboard.data"
-    "tensorboard.plugins"
-    "tensorboard.summary"
-    "tensorboard.util"
-  ];
-
-  meta = with lib; {
-    description = "TensorFlow's Visualization Toolkit";
-    homepage = "http://tensorflow.org";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ abbradar ];
-  };
-}
diff --git a/pkgs/development/python-modules/tensorflow/bin.nix b/pkgs/development/python-modules/tensorflow/bin.nix
index 2556a8039c1b7..2c47f8674e0e9 100644
--- a/pkgs/development/python-modules/tensorflow/bin.nix
+++ b/pkgs/development/python-modules/tensorflow/bin.nix
@@ -18,7 +18,7 @@
 , opt-einsum
 , backports_weakref
 , tensorflow-estimator
-, tensorflow-tensorboard
+, tensorboard
 , cudaSupport ? false
 , cudatoolkit
 , cudnn
@@ -74,7 +74,7 @@ in buildPythonPackage {
     google-pasta
     wrapt
     tensorflow-estimator
-    tensorflow-tensorboard
+    tensorboard
     keras-applications
     keras-preprocessing
     h5py
@@ -168,7 +168,7 @@ in buildPythonPackage {
     '';
 
   # Upstream has a pip hack that results in bin/tensorboard being in both tensorflow
-  # and the propagated input tensorflow-tensorboard, which causes environment collisions.
+  # and the propagated input tensorboard, which causes environment collisions.
   # Another possibility would be to have tensorboard only in the buildInputs
   # See https://github.com/NixOS/nixpkgs/pull/44381 for more information.
   postInstall = ''
diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix
index 517faef3f8fc7..2d5a302521b48 100644
--- a/pkgs/development/python-modules/tensorflow/default.nix
+++ b/pkgs/development/python-modules/tensorflow/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, bazel_3, buildBazelPackage, isPy3k, lib, fetchFromGitHub, symlinkJoin
+{ stdenv, bazel_4, buildBazelPackage, isPy3k, lib, fetchFromGitHub, symlinkJoin
 , addOpenGLRunpath, fetchpatch, patchelfUnstable
 # Python deps
 , buildPythonPackage, pythonOlder, python
 # Python libraries
-, numpy, tensorflow-tensorboard, absl-py
+, numpy, tensorboard, absl-py
 , setuptools, wheel, keras, keras-preprocessing, google-pasta
 , opt-einsum, astunparse, h5py
 , termcolor, grpcio, six, wrapt, protobuf-python, tensorflow-estimator
-, dill, flatbuffers-python, tblib, typing-extensions
+, dill, flatbuffers-python, portpicker, tblib, typing-extensions
 # Common deps
 , git, pybind11, which, binutils, glibcLocales, cython, perl
 # Common libraries
-, jemalloc, mpi, gast, grpc, sqlite, boringssl, jsoncpp
+, jemalloc, mpi, gast, grpc, sqlite, boringssl, jsoncpp, nsync
 , curl, snappy, flatbuffers-core, lmdb-core, icu, double-conversion, libpng, libjpeg_turbo, giflib, protobuf-core
-# Upsteam by default includes cuda support since tensorflow 1.15. We could do
+# Upstream by default includes cuda support since tensorflow 1.15. We could do
 # that in nix as well. It would make some things easier and less confusing, but
 # it would also make the default tensorflow package unfree. See
 # https://groups.google.com/a/tensorflow.org/forum/#!topic/developers/iRCt5m4qUz0
@@ -72,7 +72,7 @@ let
 
   tfFeature = x: if x then "1" else "0";
 
-  version = "2.7.1";
+  version = "2.8.0";
   variant = if cudaSupport then "-gpu" else "";
   pname = "tensorflow${variant}";
 
@@ -94,8 +94,8 @@ let
       setuptools
       six
       tblib
+      tensorboard
       tensorflow-estimator
-      tensorflow-tensorboard
       termcolor
       typing-extensions
       wheel
@@ -179,20 +179,15 @@ let
     stdenv = llvmPackages_11.stdenv;
   })) {
     name = "${pname}-${version}";
-    bazel = bazel_3;
+    bazel = bazel_4;
 
     src = fetchFromGitHub {
       owner = "tensorflow";
       repo = "tensorflow";
       rev = "v${version}";
-      sha256 = "1qwzbqq899swrwrwmm6z7mq9sc55gyh0r4ca0mcnchbvn7w0qbkh";
+      hash = "sha256-w78ehpsnXElIyYftgZEq3b/+TSrRN1gyWVUVlSZpGFM=";
     };
 
-    patches = [
-      # Patch the sources to compile with protobuf >= 3.16.
-      ./system-protobuf.patch
-    ];
-
     # On update, it can be useful to steal the changes from gentoo
     # https://gitweb.gentoo.org/repo/gentoo.git/tree/sci-libs/tensorflow
 
@@ -207,20 +202,20 @@ let
       git
 
       # libs taken from system through the TF_SYS_LIBS mechanism
-      grpc
-      sqlite
       boringssl
-      jsoncpp
       curl
-      pybind11
-      snappy
+      double-conversion
       flatbuffers-core
+      giflib
+      grpc
       icu
-      double-conversion
-      libpng
+      jsoncpp
       libjpeg_turbo
-      giflib
+      libpng
       lmdb-core
+      pybind11
+      snappy
+      sqlite
     ] ++ lib.optionals cudaSupport [
       cudatoolkit
       cudnn
@@ -229,6 +224,8 @@ let
     ] ++ lib.optionals stdenv.isDarwin [
       Foundation
       Security
+    ] ++ lib.optionals (!stdenv.isDarwin) [
+      nsync
     ];
 
     # arbitrarily set to the current latest bazel version, overly careful
@@ -237,7 +234,7 @@ let
     # Take as many libraries from the system as possible. Keep in sync with
     # list of valid syslibs in
     # https://github.com/tensorflow/tensorflow/blob/master/third_party/systemlibs/syslibs_configure.bzl
-    TF_SYSTEM_LIBS = lib.concatStringsSep "," [
+    TF_SYSTEM_LIBS = lib.concatStringsSep "," ([
       "absl_py"
       "astor_archive"
       "astunparse_archive"
@@ -253,7 +250,6 @@ let
       "cython"
       "dill_archive"
       "double_conversion"
-      "enum34_archive"
       "flatbuffers"
       "functools32_archive"
       "gast_archive"
@@ -264,7 +260,6 @@ let
       "libjpeg_turbo"
       "lmdb"
       "nasm"
-      # "nsync" # not packaged in nixpkgs
       "opt_einsum_archive"
       "org_sqlite"
       "pasta"
@@ -277,7 +272,9 @@ let
       "typing_extensions_archive"
       "wrapt"
       "zlib"
-    ];
+    ] ++ lib.optionals (!stdenv.isDarwin) [
+      "nsync" # fails to build on darwin
+    ]);
 
     INCLUDEDIR = "${includes_joined}/include";
 
@@ -361,12 +358,12 @@ let
     fetchAttrs = {
       # cudaSupport causes fetch of ncclArchive, resulting in different hashes
       sha256 = if cudaSupport then
-        "sha256-+szc2mRoImwijzbj3nw6HmZp3DeRjjPRU5yC+5AEbkg="
+        "sha256-dQEyfueuQPcGvbhuh8Al45np3nRLDw2PCfC2lEqAH50="
       else
         if stdenv.isDarwin then
-          "sha256-+bwIzp6t7gRJPcI8B5oyuf9z0AjCAyggUR7x+vv5kFs="
+          "sha256-yfnZVtKWqNQGvlfq2owXhem0LmzDYriVfYgf1ZRlaDo="
         else
-          "sha256-5yOYmeGpJq4Chi55H7iblxyRXVktgnePtpYTPvBs538=";
+          "sha256:12i1ix2xwq77f3h8qr4h57g0aazrdsjjqa536cpwx3n1mvl5p6qi";
     };
 
     buildAttrs = {
@@ -428,18 +425,20 @@ in buildPythonPackage {
 
   # Adjust dependency requirements:
   # - Relax gast version requirement that doesn't match what we have packaged
+  # - Relax tf-estimator, that would require a nightly version
   # - The purpose of python3Packages.libclang is not clear at the moment and we don't have it packaged yet
   # - keras and tensorlow-io-gcs-filesystem will be considered as optional for now.
   postPatch = ''
     sed -i setup.py \
       -e "s/'gast[^']*',/'gast',/" \
+      -e "s/'tf-estimator-nightly[^']*',/'tensorflow-estimator',/" \
       -e "/'libclang[^']*',/d" \
       -e "/'keras[^']*',/d" \
       -e "/'tensorflow-io-gcs-filesystem[^']*',/d"
   '';
 
   # Upstream has a pip hack that results in bin/tensorboard being in both tensorflow
-  # and the propagated input tensorflow-tensorboard, which causes environment collisions.
+  # and the propagated input tensorboard, which causes environment collisions.
   # Another possibility would be to have tensorboard only in the buildInputs
   # https://github.com/tensorflow/tensorflow/blob/v1.7.1/tensorflow/tools/pip_package/setup.py#L79
   postInstall = ''
@@ -452,7 +451,6 @@ in buildPythonPackage {
   propagatedBuildInputs = [
     absl-py
     astunparse
-    dill
     flatbuffers-python
     gast
     google-pasta
@@ -463,13 +461,12 @@ in buildPythonPackage {
     opt-einsum
     protobuf-python
     six
-    tblib
     tensorflow-estimator
     termcolor
     typing-extensions
     wrapt
   ] ++ lib.optionals withTensorboard [
-    tensorflow-tensorboard
+    tensorboard
   ];
 
   # remove patchelfUnstable once patchelf 0.14 with https://github.com/NixOS/patchelf/pull/256 becomes the default
@@ -486,7 +483,13 @@ in buildPythonPackage {
   # Actual tests are slow and impure.
   # TODO try to run them anyway
   # TODO better test (files in tensorflow/tools/ci_build/builds/*test)
-  checkInputs = [ keras ];
+  # TEST_PACKAGES in tensorflow/tools/pip_package/setup.py
+  checkInputs = [
+    dill
+    keras
+    portpicker
+    tblib
+  ];
   checkPhase = ''
     ${python.interpreter} <<EOF
     # A simple "Hello world"
diff --git a/pkgs/development/python-modules/tensorflow/system-protobuf.patch b/pkgs/development/python-modules/tensorflow/system-protobuf.patch
deleted file mode 100644
index dce6df810464f..0000000000000
--- a/pkgs/development/python-modules/tensorflow/system-protobuf.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/tensorflow/core/kernels/example_parsing_ops.cc b/tensorflow/core/kernels/example_parsing_ops.cc
-index a1265cfb5c6..ada919bbd7b 100644
---- a/tensorflow/core/kernels/example_parsing_ops.cc
-+++ b/tensorflow/core/kernels/example_parsing_ops.cc
-@@ -1218,7 +1218,7 @@ class DecodeJSONExampleOp : public OpKernel {
-           resolver_.get(), "type.googleapis.com/tensorflow.Example", &in, &out);
-       OP_REQUIRES(ctx, status.ok(),
-                   errors::InvalidArgument("Error while parsing JSON: ",
--                                          string(status.error_message())));
-+                                          string(status.message())));
-     }
-   }
- 
diff --git a/pkgs/development/python-modules/terminado/default.nix b/pkgs/development/python-modules/terminado/default.nix
index 28b0eb09dbed5..6a63fe5371688 100644
--- a/pkgs/development/python-modules/terminado/default.nix
+++ b/pkgs/development/python-modules/terminado/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "terminado";
-  version = "0.12.1";
+  version = "0.13.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b20fd93cc57c1678c799799d117874367cc07a3d2d55be95205b1a88fa08393f";
+    sha256 = "sha256-W4K1xumR8HBadvlh9DJip/seVbCTwW3Kg/FjhKfzm3s=";
   };
 
   propagatedBuildInputs = [ ptyprocess tornado ];
diff --git a/pkgs/development/python-modules/teslajsonpy/default.nix b/pkgs/development/python-modules/teslajsonpy/default.nix
index 4809fde718d28..5cdc1dafc0345 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 = "1.8.0";
+  version = "1.9.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "zabuldon";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9EFbsJPn543fVGQ46cikEE9rE4qBr/2q6vX7u4tui7I=";
+    sha256 = "sha256-Q/ltNdr2Huvfj1RmKFopJbaR4FSM7ziWadmDKPS26vc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/test-tube/default.nix b/pkgs/development/python-modules/test-tube/default.nix
index 1cc20cc2cca7f..5eac0d60b6cff 100644
--- a/pkgs/development/python-modules/test-tube/default.nix
+++ b/pkgs/development/python-modules/test-tube/default.nix
@@ -8,7 +8,7 @@
 , numpy
 , pandas
 , pytorch
-, tensorflow-tensorboard
+, tensorboard
 }:
 
 buildPythonPackage rec {
@@ -34,7 +34,7 @@ buildPythonPackage rec {
     numpy
     pandas
     pytorch
-    tensorflow-tensorboard
+    tensorboard
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/testpath/default.nix b/pkgs/development/python-modules/testpath/default.nix
index e11ddeed50a6f..4db5aa362f4a0 100644
--- a/pkgs/development/python-modules/testpath/default.nix
+++ b/pkgs/development/python-modules/testpath/default.nix
@@ -2,18 +2,24 @@
 , stdenv
 , buildPythonPackage
 , fetchPypi
+, flit-core
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "testpath";
-  version = "0.5.0";
+  version = "0.6.0";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "05z4s4d5i1ja16hiv4jhqv63fvg1a4vw77s0ay1sw11hrl5pmkqs";
+    sha256 = "sha256-LxuX5kQsAmgevgG9hPUxAop8rqGvOCUAD1I0XDAoXg8=";
   };
 
+  nativeBuildInputs = [
+    flit-core
+  ];
+
   checkInputs = [
     pytestCheckHook
   ];
diff --git a/pkgs/development/python-modules/thrift/default.nix b/pkgs/development/python-modules/thrift/default.nix
index 5e80ac14e5ac6..dcb6f434411a1 100644
--- a/pkgs/development/python-modules/thrift/default.nix
+++ b/pkgs/development/python-modules/thrift/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "thrift";
-  version = "0.15.0";
+  version = "0.16.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "87c8205a71cf8bbb111cb99b1f7495070fbc9cabb671669568854210da5b3e29";
+    sha256 = "sha256-K1tkiPze0h+dMSqiPJ/2oBldD2ribdvVrZ4+Jd/BRAg=";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/tiledb/default.nix b/pkgs/development/python-modules/tiledb/default.nix
index b310defa45d19..eabb2aff006ae 100644
--- a/pkgs/development/python-modules/tiledb/default.nix
+++ b/pkgs/development/python-modules/tiledb/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "tiledb";
-  version = "0.12.0";
+  version = "0.13.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "TileDB-Inc";
     repo = "TileDB-Py";
     rev = version;
-    sha256 = "0iz16sgr5dpwc1jvb6brcmgvvg0npjdd98q4wgkqmvg7qif92zls";
+    sha256 = "sha256-ku+9kMXXrlPy4teV5KpTXAwExhIoPpAsGAHIBvsl9KI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/toggl-cli/default.nix b/pkgs/development/python-modules/toggl-cli/default.nix
index 30c3f08f52e7c..b1c0346b96489 100644
--- a/pkgs/development/python-modules/toggl-cli/default.nix
+++ b/pkgs/development/python-modules/toggl-cli/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "toggl-cli";
-  version = "2.4.3";
+  version = "3";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "togglCli";
     inherit version;
-    sha256 = "sha256-ncMwiMwYivaFu5jrAsm1oCuXP/PZ2ALT+M+CmV6dtFo=";
+    sha256 = "sha256-SkA/u1q//AyYn0v6uAXXsjANhFppxxjKhlhWhsK649w=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/tomli/default.nix b/pkgs/development/python-modules/tomli/default.nix
index 551655eebf0d0..c9c9cb46b2c75 100644
--- a/pkgs/development/python-modules/tomli/default.nix
+++ b/pkgs/development/python-modules/tomli/default.nix
@@ -3,6 +3,7 @@
 , callPackage
 , fetchFromGitHub
 , flit-core
+, python
 
 # important downstream dependencies
 , flit
@@ -13,40 +14,28 @@
 
 buildPythonPackage rec {
   pname = "tomli";
-  version = "1.2.2";
+  version = "2.0.1";
   format = "pyproject";
 
-  outputs = [
-    "out"
-    "testsout"
-  ];
-
   src = fetchFromGitHub {
     owner = "hukkin";
     repo = pname;
     rev = version;
-    sha256 = "sha256-oDjpNzWxTaCC1+WyBKrkR6kp90ZomcZQfyW+xKddDoM=";
+    sha256 = "sha256-v0ZMrHIIaGeORwD4JiBeLthmnKZODK5odZVL0SY4etA=";
   };
 
-  patches = [
-    # required for mypy
-    ./fix-backwards-compatibility-load.patch
-  ];
-
   nativeBuildInputs = [ flit-core ];
 
-  postInstall = ''
-    mkdir $testsout
-    cp -R benchmark/ pyproject.toml tests/ $testsout/
-  '';
-
   pythonImportsCheck = [ "tomli" ];
 
-  # check in passthru.tests.pytest to escape infinite recursion with setuptools-scm
-  doCheck = false;
+  checkPhase = ''
+    runHook preCheck
+    ${python.interpreter} -m unittest discover
+    runHook postCheck
+  '';
 
   passthru.tests = {
-    pytest = callPackage ./tests.nix { };
+    # test downstream dependencies
     inherit flit black mypy setuptools-scm;
   };
 
diff --git a/pkgs/development/python-modules/tomli/fix-backwards-compatibility-load.patch b/pkgs/development/python-modules/tomli/fix-backwards-compatibility-load.patch
deleted file mode 100644
index edfc2f3834956..0000000000000
--- a/pkgs/development/python-modules/tomli/fix-backwards-compatibility-load.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/tomli/_parser.py b/tomli/_parser.py
-index 89e81c3..6fb1bfd 100644
---- a/tomli/_parser.py
-+++ b/tomli/_parser.py
-@@ -1,6 +1,6 @@
- import string
- from types import MappingProxyType
--from typing import Any, BinaryIO, Dict, FrozenSet, Iterable, NamedTuple, Optional, Tuple
-+from typing import IO, Union, Any, BinaryIO, Dict, FrozenSet, Iterable, NamedTuple, Optional, Tuple
- import warnings
- 
- from tomli._re import (
-@@ -48,7 +48,7 @@ class TOMLDecodeError(ValueError):
-     """An error raised if a document is not valid TOML."""
- 
- 
--def load(fp: BinaryIO, *, parse_float: ParseFloat = float) -> Dict[str, Any]:
-+def load(fp: Union[IO, BinaryIO], *, parse_float: ParseFloat = float) -> Dict[str, Any]:
-     """Parse TOML from a binary file object."""
-     s_bytes = fp.read()
-     try:
diff --git a/pkgs/development/python-modules/tomli/tests.nix b/pkgs/development/python-modules/tomli/tests.nix
deleted file mode 100644
index 5d3d67dbd128c..0000000000000
--- a/pkgs/development/python-modules/tomli/tests.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ buildPythonPackage
-, tomli
-, pytestCheckHook
-, python-dateutil
-}:
-
-buildPythonPackage rec {
-  pname = "tomli-tests";
-  inherit (tomli) version;
-
-  src = tomli.testsout;
-
-  dontBuild = true;
-  dontInstall = true;
-
-  checkInputs = [
-    pytestCheckHook
-    python-dateutil
-    tomli
-  ];
-}
diff --git a/pkgs/development/python-modules/tomlkit/default.nix b/pkgs/development/python-modules/tomlkit/default.nix
index 6c8455f060ec0..22f3ffab29955 100644
--- a/pkgs/development/python-modules/tomlkit/default.nix
+++ b/pkgs/development/python-modules/tomlkit/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "tomlkit";
-  version = "0.8.0";
+  version = "0.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "29e84a855712dfe0e88a48f6d05c21118dbafb283bb2eed614d46f80deb8e9a1";
+    sha256 = "sha256-2ZlGxq7TOHyYuJ2R+57f+PkBv5JVkBCBJmqE+1YErc0=";
   };
 
   propagatedBuildInputs =
diff --git a/pkgs/development/python-modules/torch-tb-profiler/default.nix b/pkgs/development/python-modules/torch-tb-profiler/default.nix
index fc53c5ba8232c..2843910613672 100644
--- a/pkgs/development/python-modules/torch-tb-profiler/default.nix
+++ b/pkgs/development/python-modules/torch-tb-profiler/default.nix
@@ -4,7 +4,7 @@
 , pandas
 , pytestCheckHook
 , pytorch
-, tensorflow-tensorboard
+, tensorboard
 , torchvision
 }:
 
@@ -25,7 +25,7 @@ buildPythonPackage rec {
   # See https://discourse.nixos.org/t/extracting-sub-directory-from-fetchgit-or-fetchurl-or-any-derivation/8830.
   src = "${repo}/tb_plugin";
 
-  propagatedBuildInputs = [ pandas tensorflow-tensorboard ];
+  propagatedBuildInputs = [ pandas tensorboard ];
 
   checkInputs = [ pytestCheckHook pytorch torchvision ];
 
diff --git a/pkgs/development/python-modules/torchaudio/bin.nix b/pkgs/development/python-modules/torchaudio/bin.nix
index 1f6ae80b03290..ba504102329d6 100644
--- a/pkgs/development/python-modules/torchaudio/bin.nix
+++ b/pkgs/development/python-modules/torchaudio/bin.nix
@@ -2,6 +2,10 @@
 , stdenv
 , buildPythonPackage
 , fetchurl
+, isPy37
+, isPy38
+, isPy39
+, isPy310
 , python
 , pytorch-bin
 , pythonOlder
@@ -10,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "torchaudio";
-  version = "0.10.0";
+  version = "0.11.0";
   format = "wheel";
 
   src =
@@ -19,7 +23,7 @@ buildPythonPackage rec {
         srcs = (import ./binary-hashes.nix version)."${stdenv.system}-${pyVerNoDot}" or unsupported;
     in fetchurl srcs;
 
-  disabled = ! (pythonAtLeast "3.7" && pythonOlder "3.10");
+  disabled = !(isPy37 || isPy38 || isPy39 || isPy310);
 
   propagatedBuildInputs = [
     pytorch-bin
diff --git a/pkgs/development/python-modules/torchaudio/binary-hashes.nix b/pkgs/development/python-modules/torchaudio/binary-hashes.nix
index 764b9db426b9a..70ae3357221f6 100644
--- a/pkgs/development/python-modules/torchaudio/binary-hashes.nix
+++ b/pkgs/development/python-modules/torchaudio/binary-hashes.nix
@@ -6,21 +6,61 @@
 # To add a new version, run "prefetch.sh 'new-version'" to paste the generated file as follows.
 
 version : builtins.getAttr version {
-  "0.10.0" = {
+  "0.11.0" = {
     x86_64-linux-37 = {
-      name = "torchaudio-0.10.0-cp37-cp37m-linux_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cu113/torchaudio-0.10.0%2Bcu113-cp37-cp37m-linux_x86_64.whl";
-      hash = "sha256-FspXTTODdkO0nPUJcJm8+vLIvckUa8gRfBPBT9LcKPw=";
+      name = "torchaudio-0.11.0-cp37-cp37m-linux_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cu113/torchaudio-0.11.0%2Bcu113-cp37-cp37m-linux_x86_64.whl";
+      hash = "sha256-AdqgntXh2rTD7rBePshFAQ2tVl7b+734wG4r471/Y2U=";
     };
     x86_64-linux-38 = {
-      name = "torchaudio-0.10.0-cp38-cp38-linux_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cu113/torchaudio-0.10.0%2Bcu113-cp38-cp38-linux_x86_64.whl";
-      hash = "sha256-Mf7QdXBSIIWRfT7ACthEwFA1V2ieid8legbMnRQnzqI=";
+      name = "torchaudio-0.11.0-cp38-cp38-linux_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cu113/torchaudio-0.11.0%2Bcu113-cp38-cp38-linux_x86_64.whl";
+      hash = "sha256-zuCHDpz3bkOUjYWprqX9VXoUbXfR8Vhdf1VFfOUg8z4=";
     };
     x86_64-linux-39 = {
-      name = "torchaudio-0.10.0-cp39-cp39-linux_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cu113/torchaudio-0.10.0%2Bcu113-cp39-cp39-linux_x86_64.whl";
-      hash = "sha256-LMSGNdmku1iHRy1jCRTTOYcQlRL+Oc9jjZC1nx++skA=";
+      name = "torchaudio-0.11.0-cp39-cp39-linux_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cu113/torchaudio-0.11.0%2Bcu113-cp39-cp39-linux_x86_64.whl";
+      hash = "sha256-btI9TpsOjeLnIz6J56avNv4poJTpXjjhDbMy6+ZFQvI=";
+    };
+    x86_64-linux-310 = {
+      name = "torchaudio-0.11.0-cp310-cp310-linux_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cu113/torchaudio-0.11.0%2Bcu113-cp310-cp310-linux_x86_64.whl";
+      hash = "sha256-Zk+AWytEXfJ+HM69BAPhVsvN6pgQwC6uaW7Xux2row4=";
+    };
+    x86_64-darwin-37 = {
+      name = "torchaudio-0.11.0-cp37-cp37m-macosx_10_15_x86_64.whl";
+      url = "https://download.pytorch.org/whl/torchaudio-0.11.0-cp37-cp37m-macosx_10_15_x86_64.whl";
+      hash = "sha256-uaTT4athEWHAZe0hBoBIM/9LhfZNhAIexZBGg2MWn50=";
+    };
+    x86_64-darwin-38 = {
+      name = "torchaudio-0.11.0-cp38-cp38-macosx_10_15_x86_64.whl";
+      url = "https://download.pytorch.org/whl/torchaudio-0.11.0-cp38-cp38-macosx_10_15_x86_64.whl";
+      hash = "sha256-9OndqejTzgu9XnkZJiGfUFS4uFNlx5vi7pAzOs+a2/w=";
+    };
+    x86_64-darwin-39 = {
+      name = "torchaudio-0.11.0-cp39-cp39-macosx_10_15_x86_64.whl";
+      url = "https://download.pytorch.org/whl/torchaudio-0.11.0-cp39-cp39-macosx_10_15_x86_64.whl";
+      hash = "sha256-cNi8B/J3YI0jqaoI2z+68DVmAlS8EtmzYWQMRVZ3dVk=";
+    };
+    x86_64-darwin-310 = {
+      name = "torchaudio-0.11.0-cp310-cp310-macosx_10_15_x86_64.whl";
+      url = "https://download.pytorch.org/whl/torchaudio-0.11.0-cp310-cp310-macosx_10_15_x86_64.whl";
+      hash = "sha256-g2Pj2wqK9YIP19O/g5agryPcgiHJqdS2Di44mAVJKUQ=";
+    };
+    aarch64-darwin-38 = {
+      name = "torchaudio-0.11.0-cp38-cp38-macosx_11_0_arm64.whl";
+      url = "https://download.pytorch.org/whl/torchaudio-0.11.0-cp38-cp38-macosx_11_0_arm64.whl";
+      hash = "sha256-MX/Y7Dn92zrx2tkGWTuezcPt9o5/V4DEL43pVlha5IA=";
+    };
+    aarch64-darwin-39 = {
+      name = "torchaudio-0.11.0-cp39-cp39-macosx_11_0_arm64.whl";
+      url = "https://download.pytorch.org/whl/torchaudio-0.11.0-cp39-cp39-macosx_11_0_arm64.whl";
+      hash = "sha256-5eVRP83VeHAGGWW++/B2V4eyX0mcPgC1j02ETkQYMXc=";
+    };
+    aarch64-darwin-310 = {
+      name = "torchaudio-0.11.0-cp310-cp310-macosx_11_0_arm64.whl";
+      url = "https://download.pytorch.org/whl/torchaudio-0.11.0-cp310-cp310-macosx_11_0_arm64.whl";
+      hash = "sha256-06OyzOuV8E7ZNtozvFO9Zm2rBxWnnbM65HGYUiQdwtI=";
     };
   };
 }
diff --git a/pkgs/development/python-modules/torchaudio/prefetch.sh b/pkgs/development/python-modules/torchaudio/prefetch.sh
index 4e62ab4ed359f..294c917e0d17b 100755
--- a/pkgs/development/python-modules/torchaudio/prefetch.sh
+++ b/pkgs/development/python-modules/torchaudio/prefetch.sh
@@ -5,12 +5,21 @@ set -eou pipefail
 
 version=$1
 
-bucket="https://download.pytorch.org/whl/cu113"
+linux_bucket="https://download.pytorch.org/whl/cu113"
+darwin_bucket="https://download.pytorch.org/whl"
 
 url_and_key_list=(
-  "x86_64-linux-37 $bucket/torchaudio-${version}%2Bcu113-cp37-cp37m-linux_x86_64.whl torchaudio-${version}-cp37-cp37m-linux_x86_64.whl"
-  "x86_64-linux-38 $bucket/torchaudio-${version}%2Bcu113-cp38-cp38-linux_x86_64.whl torchaudio-${version}-cp38-cp38-linux_x86_64.whl"
-  "x86_64-linux-39 $bucket/torchaudio-${version}%2Bcu113-cp39-cp39-linux_x86_64.whl torchaudio-${version}-cp39-cp39-linux_x86_64.whl"
+  "x86_64-linux-37 $linux_bucket/torchaudio-${version}%2Bcu113-cp37-cp37m-linux_x86_64.whl torchaudio-${version}-cp37-cp37m-linux_x86_64.whl"
+  "x86_64-linux-38 $linux_bucket/torchaudio-${version}%2Bcu113-cp38-cp38-linux_x86_64.whl torchaudio-${version}-cp38-cp38-linux_x86_64.whl"
+  "x86_64-linux-39 $linux_bucket/torchaudio-${version}%2Bcu113-cp39-cp39-linux_x86_64.whl torchaudio-${version}-cp39-cp39-linux_x86_64.whl"
+  "x86_64-linux-310 $linux_bucket/torchaudio-${version}%2Bcu113-cp310-cp310-linux_x86_64.whl torchaudio-${version}-cp310-cp310-linux_x86_64.whl"
+  "x86_64-darwin-37 $darwin_bucket/torchaudio-${version}-cp37-cp37m-macosx_10_15_x86_64.whl torchaudio-${version}-cp37-cp37m-macosx_10_15_x86_64.whl"
+  "x86_64-darwin-38 $darwin_bucket/torchaudio-${version}-cp38-cp38-macosx_10_15_x86_64.whl torchaudio-${version}-cp38-cp38-macosx_10_15_x86_64.whl"
+  "x86_64-darwin-39 $darwin_bucket/torchaudio-${version}-cp39-cp39-macosx_10_15_x86_64.whl torchaudio-${version}-cp39-cp39-macosx_10_15_x86_64.whl"
+  "x86_64-darwin-310 $darwin_bucket/torchaudio-${version}-cp310-cp310-macosx_10_15_x86_64.whl torchaudio-${version}-cp310-cp310-macosx_10_15_x86_64.whl"
+  "aarch64-darwin-38 $darwin_bucket/torchaudio-${version}-cp38-cp38-macosx_11_0_arm64.whl torchaudio-${version}-cp38-cp38-macosx_11_0_arm64.whl"
+  "aarch64-darwin-39 $darwin_bucket/torchaudio-${version}-cp39-cp39-macosx_11_0_arm64.whl torchaudio-${version}-cp39-cp39-macosx_11_0_arm64.whl"
+  "aarch64-darwin-310 $darwin_bucket/torchaudio-${version}-cp310-cp310-macosx_11_0_arm64.whl torchaudio-${version}-cp310-cp310-macosx_11_0_arm64.whl"
 )
 
 hashfile=binary-hashes-"$version".nix
diff --git a/pkgs/development/python-modules/torchvision/bin.nix b/pkgs/development/python-modules/torchvision/bin.nix
index f7041dbb519de..8b1d0e2ec8dea 100644
--- a/pkgs/development/python-modules/torchvision/bin.nix
+++ b/pkgs/development/python-modules/torchvision/bin.nix
@@ -5,6 +5,7 @@
 , isPy37
 , isPy38
 , isPy39
+, isPy310
 , patchelf
 , pillow
 , python
@@ -15,7 +16,7 @@ let
   pyVerNoDot = builtins.replaceStrings [ "." ] [ "" ] python.pythonVersion;
   srcs = import ./binary-hashes.nix version;
   unsupported = throw "Unsupported system";
-  version = "0.11.1";
+  version = "0.12.0";
 in buildPythonPackage {
   inherit version;
 
@@ -25,7 +26,7 @@ in buildPythonPackage {
 
   src = fetchurl srcs."${stdenv.system}-${pyVerNoDot}" or unsupported;
 
-  disabled = !(isPy37 || isPy38 || isPy39);
+  disabled = !(isPy37 || isPy38 || isPy39 || isPy310);
 
   nativeBuildInputs = [
     patchelf
diff --git a/pkgs/development/python-modules/torchvision/binary-hashes.nix b/pkgs/development/python-modules/torchvision/binary-hashes.nix
index b608bab24409f..271968391ef0c 100644
--- a/pkgs/development/python-modules/torchvision/binary-hashes.nix
+++ b/pkgs/development/python-modules/torchvision/binary-hashes.nix
@@ -6,21 +6,61 @@
 # To add a new version, run "prefetch.sh 'new-version'" to paste the generated file as follows.
 
 version : builtins.getAttr version {
-  "0.11.1" = {
+  "0.12.0" = {
     x86_64-linux-37 = {
-      name = "torchvision-0.11.1-cp37-cp37m-linux_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cu113/torchvision-0.11.1%2Bcu113-cp37-cp37m-linux_x86_64.whl";
-      hash = "sha256-2xKWqWNKqmOMyVJnPfbtF+B9PQ7z4S66J1T3P8EvM0I=";
+      name = "torchvision-0.12.0-cp37-cp37m-linux_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cu113/torchvision-0.12.0%2Bcu113-cp37-cp37m-linux_x86_64.whl";
+      hash = "sha256-i/qktZT+5HQYQjtTHtxOV751DcsP9AHMsSV9/svsGzA=";
     };
     x86_64-linux-38 = {
-      name = "torchvision-0.11.1-cp38-cp38-linux_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cu113/torchvision-0.11.1%2Bcu113-cp38-cp38-linux_x86_64.whl";
-      hash = "sha256-bFxvJaNEomytXXANHng+oU8YSLGkuO/TSzkoDskkaIE=";
+      name = "torchvision-0.12.0-cp38-cp38-linux_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cu113/torchvision-0.12.0%2Bcu113-cp38-cp38-linux_x86_64.whl";
+      hash = "sha256-NxM+jFsOwvAZmeWRFvbQ422a+xx/j1i9DD3ImW+DVBk=";
     };
     x86_64-linux-39 = {
-      name = "torchvision-0.11.1-cp39-cp39-linux_x86_64.whl";
-      url = "https://download.pytorch.org/whl/cu113/torchvision-0.11.1%2Bcu113-cp39-cp39-linux_x86_64.whl";
-      hash = "sha256-ysN3LmSKR+FVKYGnCGQJqa8lVApVT5rPMO+NHmmazAc=";
+      name = "torchvision-0.12.0-cp39-cp39-linux_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cu113/torchvision-0.12.0%2Bcu113-cp39-cp39-linux_x86_64.whl";
+      hash = "sha256-bGO5q+KEnv7SexmbbUWaIbsBcIxyDbL8pevZQbLwDbg=";
+    };
+    x86_64-linux-310 = {
+      name = "torchvision-0.12.0-cp310-cp310-linux_x86_64.whl";
+      url = "https://download.pytorch.org/whl/cu113/torchvision-0.12.0%2Bcu113-cp310-cp310-linux_x86_64.whl";
+      hash = "sha256-ocsGOHa967HcZGV+1omD/xMHufmoi166Yg2Hr+SEhfE=";
+    };
+    x86_64-darwin-37 = {
+      name = "torchvision-0.12.0-cp37-cp37m-macosx_10_9_x86_64.whl";
+      url = "https://download.pytorch.org/whl/torchvision-0.12.0-cp37-cp37m-macosx_10_9_x86_64.whl";
+      hash = "sha256-GJM7xZf0VjmTJJcZqWqV28fTN0yQ+7MNPafVGPOv60I=";
+    };
+    x86_64-darwin-38 = {
+      name = "torchvision-0.12.0-cp38-cp38-macosx_10_9_x86_64.whl";
+      url = "https://download.pytorch.org/whl/torchvision-0.12.0-cp38-cp38-macosx_10_9_x86_64.whl";
+      hash = "sha256-DWAuCb1Fc2/y55aOjduw7s6Vb/ltcVSLGxtIeP33S9g=";
+    };
+    x86_64-darwin-39 = {
+      name = "torchvision-0.12.0-cp39-cp39-macosx_10_9_x86_64.whl";
+      url = "https://download.pytorch.org/whl/torchvision-0.12.0-cp39-cp39-macosx_10_9_x86_64.whl";
+      hash = "sha256-RMye+ZLS4qtjsIg/fezrwiRNupO3JUe6EfV6yEUvbq0=";
+    };
+    x86_64-darwin-310 = {
+      name = "torchvision-0.12.0-cp310-cp310-macosx_10_9_x86_64.whl";
+      url = "https://download.pytorch.org/whl/torchvision-0.12.0-cp310-cp310-macosx_10_9_x86_64.whl";
+      hash = "sha256-aTZW5nkLarIeSm6H6BwpgrrZ5FW16yThS7ZyOC7GEw8=";
+    };
+    aarch64-darwin-38 = {
+      name = "torchvision-0.12.0-cp38-cp38-macosx_11_0_arm64.whl";
+      url = "https://download.pytorch.org/whl/torchvision-0.12.0-cp38-cp38-macosx_11_0_arm64.whl";
+      hash = "sha256-n0JCD38LKc09YXdt8xV4JyV6DPFrLAJ3bcFslquxJW0=";
+    };
+    aarch64-darwin-39 = {
+      name = "torchvision-0.12.0-cp39-cp39-macosx_11_0_arm64.whl";
+      url = "https://download.pytorch.org/whl/torchvision-0.12.0-cp39-cp39-macosx_11_0_arm64.whl";
+      hash = "sha256-adgvR7Z7rW3cu4eDO6WVCmwnG6l7quTAlVYQBxvwNPU=";
+    };
+    aarch64-darwin-310 = {
+      name = "torchvision-0.12.0-cp310-cp310-macosx_11_0_arm64.whl";
+      url = "https://download.pytorch.org/whl/torchvision-0.12.0-cp310-cp310-macosx_11_0_arm64.whl";
+      hash = "sha256-oL5FAcoLobGVZEySQ/SaHEmiblKn83kkxCOdC/XsvY0=";
     };
   };
 }
diff --git a/pkgs/development/python-modules/torchvision/prefetch.sh b/pkgs/development/python-modules/torchvision/prefetch.sh
index 686d1b3e62002..5f38bce8d8b30 100755
--- a/pkgs/development/python-modules/torchvision/prefetch.sh
+++ b/pkgs/development/python-modules/torchvision/prefetch.sh
@@ -5,12 +5,21 @@ set -eou pipefail
 
 version=$1
 
-bucket="https://download.pytorch.org/whl/cu113"
+linux_bucket="https://download.pytorch.org/whl/cu113"
+darwin_bucket="https://download.pytorch.org/whl"
 
 url_and_key_list=(
-  "x86_64-linux-37 $bucket/torchvision-${version}%2Bcu113-cp37-cp37m-linux_x86_64.whl torchvision-${version}-cp37-cp37m-linux_x86_64.whl"
-  "x86_64-linux-38 $bucket/torchvision-${version}%2Bcu113-cp38-cp38-linux_x86_64.whl torchvision-${version}-cp38-cp38-linux_x86_64.whl"
-  "x86_64-linux-39 $bucket/torchvision-${version}%2Bcu113-cp39-cp39-linux_x86_64.whl torchvision-${version}-cp39-cp39-linux_x86_64.whl"
+  "x86_64-linux-37 $linux_bucket/torchvision-${version}%2Bcu113-cp37-cp37m-linux_x86_64.whl torchvision-${version}-cp37-cp37m-linux_x86_64.whl"
+  "x86_64-linux-38 $linux_bucket/torchvision-${version}%2Bcu113-cp38-cp38-linux_x86_64.whl torchvision-${version}-cp38-cp38-linux_x86_64.whl"
+  "x86_64-linux-39 $linux_bucket/torchvision-${version}%2Bcu113-cp39-cp39-linux_x86_64.whl torchvision-${version}-cp39-cp39-linux_x86_64.whl"
+  "x86_64-linux-310 $linux_bucket/torchvision-${version}%2Bcu113-cp310-cp310-linux_x86_64.whl torchvision-${version}-cp310-cp310-linux_x86_64.whl"
+  "x86_64-darwin-37 $darwin_bucket/torchvision-${version}-cp37-cp37m-macosx_10_9_x86_64.whl torchvision-${version}-cp37-cp37m-macosx_10_9_x86_64.whl"
+  "x86_64-darwin-38 $darwin_bucket/torchvision-${version}-cp38-cp38-macosx_10_9_x86_64.whl torchvision-${version}-cp38-cp38-macosx_10_9_x86_64.whl"
+  "x86_64-darwin-39 $darwin_bucket/torchvision-${version}-cp39-cp39-macosx_10_9_x86_64.whl torchvision-${version}-cp39-cp39-macosx_10_9_x86_64.whl"
+  "x86_64-darwin-310 $darwin_bucket/torchvision-${version}-cp310-cp310-macosx_10_9_x86_64.whl torchvision-${version}-cp310-cp310-macosx_10_9_x86_64.whl"
+  "aarch64-darwin-38 $darwin_bucket/torchvision-${version}-cp38-cp38-macosx_11_0_arm64.whl torchvision-${version}-cp38-cp38-macosx_11_0_arm64.whl"
+  "aarch64-darwin-39 $darwin_bucket/torchvision-${version}-cp39-cp39-macosx_11_0_arm64.whl torchvision-${version}-cp39-cp39-macosx_11_0_arm64.whl"
+  "aarch64-darwin-310 $darwin_bucket/torchvision-${version}-cp310-cp310-macosx_11_0_arm64.whl torchvision-${version}-cp310-cp310-macosx_11_0_arm64.whl"
 )
 
 hashfile="binary-hashes-$version.nix"
diff --git a/pkgs/development/python-modules/tornado/5.nix b/pkgs/development/python-modules/tornado/5.nix
index 2f3ba5c1c2aae..f0dc14b5fa2ab 100644
--- a/pkgs/development/python-modules/tornado/5.nix
+++ b/pkgs/development/python-modules/tornado/5.nix
@@ -3,12 +3,13 @@
 , buildPythonPackage
 , fetchPypi
 , isPy27
+, pythonAtLeast
 }:
 
 buildPythonPackage rec {
   pname = "tornado";
   version = "5.1.1";
-  disabled = isPy27;
+  disabled = isPy27 || pythonAtLeast "3.10";
 
   # We specify the name of the test files to prevent
   # https://github.com/NixOS/nixpkgs/issues/14634
diff --git a/pkgs/development/python-modules/towncrier/default.nix b/pkgs/development/python-modules/towncrier/default.nix
index 83215f5e0af37..9953e2c17be57 100644
--- a/pkgs/development/python-modules/towncrier/default.nix
+++ b/pkgs/development/python-modules/towncrier/default.nix
@@ -7,16 +7,17 @@
 , pytestCheckHook
 , toml
 , twisted
+, setuptools
 , git # shells out to git
 }:
 
 buildPythonPackage rec {
   pname = "towncrier";
-  version = "21.3.0";
+  version = "21.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6eed0bc924d72c98c000cb8a64de3bd566e5cb0d11032b73fcccf8a8f956ddfe";
+    sha256 = "sha256-nLb0XBbhoe7J0OdlEWXnvmDNCrgdE6XJbKl6SYrof0g=";
   };
 
   propagatedBuildInputs = [
@@ -25,16 +26,23 @@ buildPythonPackage rec {
     incremental
     jinja2
     toml
+    setuptools
   ];
 
   # zope.interface collision
   doCheck = !isPy27;
+
+  preCheck = ''
+    export PATH=$out/bin:$PATH
+  '';
+
   checkInputs = [
     git
     mock
     twisted
     pytestCheckHook
   ];
+
   pythonImportsCheck = [ "towncrier" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/tpm2-pytss/default.nix b/pkgs/development/python-modules/tpm2-pytss/default.nix
index 544c1a3084a6e..5cd14c7704d80 100644
--- a/pkgs/development/python-modules/tpm2-pytss/default.nix
+++ b/pkgs/development/python-modules/tpm2-pytss/default.nix
@@ -9,12 +9,12 @@ buildPythonPackage rec {
 
   # Last version on github is 0.2.4, but it looks
   # like a mistake (it's missing commits from 0.1.9)
-  version = "0.1.9";
+  version = "1.0.0";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-v5Xth0A3tFnLFg54nvWYL2TD201e/GWv+2y5Qc60CmU=";
+    sha256 = "sha256-Gx1nIXYuhTmQva9LmtTYvd1nyRH/pBQZ5bJ8OLcc1lo=";
   };
   postPatch = ''
     substituteInPlace tpm2_pytss/config.py --replace \
diff --git a/pkgs/development/python-modules/tqdm/default.nix b/pkgs/development/python-modules/tqdm/default.nix
index 3973d68b6c381..2613a2b587d76 100644
--- a/pkgs/development/python-modules/tqdm/default.nix
+++ b/pkgs/development/python-modules/tqdm/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "tqdm";
-  version = "4.62.3";
+  version = "4.63.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d359de7217506c9851b7869f3708d8ee53ed70a1b8edbba4dbcb47442592920d";
+    sha256 = "sha256-HZg17ejjlLuMncv/vKAtcXIXETrcZ5I2hz7qrFvAs80=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/treeo/default.nix b/pkgs/development/python-modules/treeo/default.nix
index f3271b9a3bb27..febb59880b69c 100644
--- a/pkgs/development/python-modules/treeo/default.nix
+++ b/pkgs/development/python-modules/treeo/default.nix
@@ -1,5 +1,6 @@
 { buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , jax
 , jaxlib
 , lib
@@ -8,20 +9,30 @@
 
 buildPythonPackage rec {
   pname = "treeo";
-  version = "0.4.0";
+  # Note that there is a version 0.4.0, but it was released in error. At the
+  # time of writing (2022-03-29), v0.0.11 is the latest as reported on GitHub
+  # and PyPI.
+  version = "0.0.11";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "cgarciae";
     repo = pname;
     rev = version;
-    sha256 = "176r1kgsdlylvdrxmhnzni81p8m9cfnsn4wwn6fnmsgam2qbp76j";
+    hash = "sha256-zs3F8i+G5OX/A9wOO60xVuvnm2QqrL+dHIrC0qwH37o=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'typing-extensions = "^3.10.0"' 'typing-extensions = "*"'
-  '';
+  # See https://github.com/cgarciae/treex/issues/68.
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/cgarciae/treeo/pull/14/commits/022915da2b3bf76406a7c79d1b4593bee7956f16.patch";
+      hash = "sha256-WGxJqqrf2g0yZe30RyG1xxbloiqj1awuf1Y4eh5y+z0=";
+    })
+    (fetchpatch {
+      url = "https://github.com/cgarciae/treeo/pull/14/commits/99f9488bd0c977780844fd79743167b0010d359b.patch";
+      hash = "sha256-oKDYs+Ah0QXkhiJysIudQ6VLIiUiIcnQisxYp6GJuTc=";
+    })
+  ];
 
   nativeBuildInputs = [
     poetry-core
diff --git a/pkgs/development/python-modules/treex/default.nix b/pkgs/development/python-modules/treex/default.nix
index 7ed83adc64d15..fb0a0c7d87c76 100644
--- a/pkgs/development/python-modules/treex/default.nix
+++ b/pkgs/development/python-modules/treex/default.nix
@@ -18,21 +18,23 @@
 
 buildPythonPackage rec {
   pname = "treex";
-  version = "0.6.9";
+  version = "0.6.10";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "cgarciae";
     repo = pname;
     rev = version;
-    sha256 = "1yvlldmhji12h249j14ba44hnb9x1fhrj7rh1cx2vn0vxj5wpg7x";
+    hash = "sha256-ZHfgmRNbFh8DFZkmilY0pmRNQhJFqT689I7Lu8FuFm4=";
   };
 
+  # At the time of writing (2022-03-29), rich is currently at version 11.0.0.
+  # The treeo dependency is compatible with a patch, but not marked as such in
+  # treex. See https://github.com/cgarciae/treex/issues/68.
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace 'rich = "^10.7.0"' 'rich = ">=10.7.0"' \
-      --replace 'PyYAML = "^5.4.1"' 'PyYAML = ">=5.4.1"' \
-      --replace 'optax = "^0.0.9"' 'optax = ">=0.0.9"'
+      --replace 'rich = "^11.2.0"' 'rich = "*"' \
+      --replace 'treeo = "^0.0.10"' 'treeo = "*"'
   '';
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/trimesh/default.nix b/pkgs/development/python-modules/trimesh/default.nix
index 0323c965ecd73..54e2da8e4ed19 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.10.5";
+  version = "3.10.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-GtdxStdWtioRgf/Y2/broyYElqIJ2RxP3otgROw3epI=";
+    sha256 = "sha256-OYor+DQJkkQx8C5E0pmeGaymiYEyKkuKBLp12jkrhS8=";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/pkgs/development/python-modules/trio/default.nix b/pkgs/development/python-modules/trio/default.nix
index e667f146afc04..f9b325ecc2956 100644
--- a/pkgs/development/python-modules/trio/default.nix
+++ b/pkgs/development/python-modules/trio/default.nix
@@ -13,19 +13,45 @@
 , jedi
 , astor
 , yapf
+, coreutils
 }:
 
 buildPythonPackage rec {
   pname = "trio";
-  version = "0.19.0";
+  version = "0.20.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "895e318e5ec5e8cea9f60b473b6edb95b215e82d99556a03eb2d20c5e027efe1";
+    sha256 = "sha256-ZwpS0xFdDoeeGsg4pOuZmvMvhYFj46cE/kg53ipnYHA=";
   };
 
-  checkInputs = [ astor pytestCheckHook pyopenssl trustme jedi yapf ];
+  propagatedBuildInputs = [
+    attrs
+    sortedcontainers
+    async_generator
+    idna
+    outcome
+    sniffio
+  ] ++ lib.optionals (pythonOlder "3.7") [ contextvars ];
+
+  # tests are failing on Darwin
+  doCheck = !stdenv.isDarwin;
+
+  checkInputs = [
+    astor
+    jedi
+    pyopenssl
+    pytestCheckHook
+    trustme
+    yapf
+  ];
+
+  preCheck = ''
+    substituteInPlace trio/tests/test_subprocess.py \
+      --replace "/bin/sleep" "${coreutils}/bin/sleep"
+  '';
+
   # It appears that the build sandbox doesn't include /etc/services, and these tests try to use it.
   disabledTests = [
     "getnameinfo"
@@ -41,18 +67,6 @@ buildPythonPackage rec {
     "-W" "ignore::DeprecationWarning"
   ];
 
-  propagatedBuildInputs = [
-    attrs
-    sortedcontainers
-    async_generator
-    idna
-    outcome
-    sniffio
-  ] ++ lib.optionals (pythonOlder "3.7") [ contextvars ];
-
-  # tests are failing on Darwin
-  doCheck = !stdenv.isDarwin;
-
   meta = {
     description = "An async/await-native I/O library for humans and snake people";
     homepage = "https://github.com/python-trio/trio";
diff --git a/pkgs/development/python-modules/trytond/default.nix b/pkgs/development/python-modules/trytond/default.nix
index c332a067a76be..6a52dd869e053 100644
--- a/pkgs/development/python-modules/trytond/default.nix
+++ b/pkgs/development/python-modules/trytond/default.nix
@@ -24,14 +24,14 @@
 
 buildPythonApplication rec {
   pname = "trytond";
-  version = "6.2.3";
+  version = "6.2.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9be5d27aff9ae9b0ab73a8805145b2cc89900b9b513e6d5bfce89e9b7167f8f4";
+    sha256 = "sha256-Sof6A9lxU70YnCbboJr56CAdTL0cRbaRNxdvG5Tnqnw=";
   };
 
   # Tells the tests which database to use
diff --git a/pkgs/development/python-modules/tweepy/default.nix b/pkgs/development/python-modules/tweepy/default.nix
index a3526eb707be9..c97fd85a8be48 100644
--- a/pkgs/development/python-modules/tweepy/default.nix
+++ b/pkgs/development/python-modules/tweepy/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "tweepy";
-  version = "4.5.0";
+  version = "4.6.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mRpYPuj2B/kEaaeZlNYYnViGxWiK1xtWfDObHNduIK8=";
+    sha256 = "sha256-7ogsocRTMTO5yegyY7BADu9NrHK7zMMbihBu8oF4UlQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix
index ddc94541422c3..4404b743bc50f 100644
--- a/pkgs/development/python-modules/twilio/default.nix
+++ b/pkgs/development/python-modules/twilio/default.nix
@@ -1,17 +1,19 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, mock
-, nose
-, pyjwt
 , pythonOlder
+
+, pyjwt
 , pytz
 , requests
+
+, mock
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "twilio";
-  version = "7.5.0";
+  version = "7.7.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -20,7 +22,7 @@ buildPythonPackage rec {
     owner = "twilio";
     repo = "twilio-python";
     rev = version;
-    sha256 = "0h6r9nz7dcvagrjhzvnirpnjazcy9r64cwlr2bnmlrbjhwdni9rq";
+    sha256 = "sha256-PxLDAP/6Ddvf58eEyX3DHkdBNuLE5DlLdCEaRguqOy0=";
   };
 
   propagatedBuildInputs = [
@@ -31,7 +33,7 @@ buildPythonPackage rec {
 
   checkInputs = [
     mock
-    nose
+    pytestCheckHook
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/twine/default.nix b/pkgs/development/python-modules/twine/default.nix
index 82c157722d285..d6fea5942117a 100644
--- a/pkgs/development/python-modules/twine/default.nix
+++ b/pkgs/development/python-modules/twine/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "twine";
-  version = "3.7.1";
+  version = "3.8.0";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "28460a3db6b4532bde6a5db6755cf2dce6c5020bada8a641bb2c5c7a9b1f35b8";
+    sha256 = "sha256-jvpSZY4K53BoahO2dVaTKPH7qYN+XeGGe/5fRqmu/hk=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/twisted/default.nix b/pkgs/development/python-modules/twisted/default.nix
index b09ccebde1988..4641e4af40464 100644
--- a/pkgs/development/python-modules/twisted/default.nix
+++ b/pkgs/development/python-modules/twisted/default.nix
@@ -17,12 +17,12 @@
 }:
 buildPythonPackage rec {
   pname = "Twisted";
-  version = "21.7.0";
+  version = "22.2.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "tar.gz";
-    sha256 = "01lh225d7lfnmfx4f4kxwl3963gjc9yg8jfkn1w769v34ia55mic";
+    sha256 = "1wml02jxni8k15984pskks7d6yin81w4d2ac026cpyiqd0gjpwsp";
   };
 
   propagatedBuildInputs = [ zope_interface incremental automat constantly hyperlink pyhamcrest attrs setuptools typing-extensions ];
diff --git a/pkgs/development/python-modules/txaio/default.nix b/pkgs/development/python-modules/txaio/default.nix
index 074e7b8d50915..23c24f3e514a7 100644
--- a/pkgs/development/python-modules/txaio/default.nix
+++ b/pkgs/development/python-modules/txaio/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "txaio";
-  version = "21.2.1";
+  version = "22.2.1";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-fW+JdFaAIz8cTbndt0jfXojSp6N5Yr4XTA/QTI26Hcg=";
+    sha256 = "sha256-LkWCtw8EsjRZCCVGhKmEIGwNm1DjB0okpMVauiHSTQE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/typed-settings/default.nix b/pkgs/development/python-modules/typed-settings/default.nix
index 6e903b6840772..d9696122f151a 100644
--- a/pkgs/development/python-modules/typed-settings/default.nix
+++ b/pkgs/development/python-modules/typed-settings/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "typed-settings";
-  version = "1.0.0";
+  version = "1.0.1";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-c+iOb1F8+9IoRbwpMTdyDfOPW2ZEo4xDAlbzLAxgSfk=";
+    sha256 = "sha256-xrIJgQiAaSXcANMnyXMnqEkLNUP+VyxjRoi9DkX+SLA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/typeguard/default.nix b/pkgs/development/python-modules/typeguard/default.nix
index 8b2ff2de5129d..dd3f62527aa23 100644
--- a/pkgs/development/python-modules/typeguard/default.nix
+++ b/pkgs/development/python-modules/typeguard/default.nix
@@ -3,7 +3,7 @@
 , pythonOlder
 , lib
 , setuptools-scm
-, pytest
+, pytestCheckHook
 , typing-extensions
 , glibcLocales
 }:
@@ -26,12 +26,17 @@ buildPythonPackage rec {
     substituteInPlace setup.cfg --replace " --cov" ""
   '';
 
-  checkInputs = [ pytest typing-extensions ];
+  checkInputs = [ pytestCheckHook typing-extensions ];
 
-  # mypy tests aren't passing with latest mypy
-  checkPhase = ''
-    py.test . --ignore=tests/mypy
-  '';
+  disabledTestPaths = [
+    # mypy tests aren't passing with latest mypy
+    "tests/mypy"
+  ];
+
+  disabledTests = [
+    # not compatible with python3.10
+    "test_typed_dict"
+  ];
 
   disabled = pythonOlder "3.3";
 
diff --git a/pkgs/development/python-modules/types-freezegun/default.nix b/pkgs/development/python-modules/types-freezegun/default.nix
index a288a25fe5c9b..f1559fb27d4f9 100644
--- a/pkgs/development/python-modules/types-freezegun/default.nix
+++ b/pkgs/development/python-modules/types-freezegun/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-freezegun";
-  version = "1.1.7";
+  version = "1.1.8";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-6dEyfpjGyqj2XeABje0nQ0fo40GY1ZqppcJK2SZdXl4=";
+    hash = "sha256-9LsIxUqkaBbHehtceipU9Tk8POWOfUAC5n+QgbQR6SE=";
   };
 
   # Module doesn't have tests
diff --git a/pkgs/development/python-modules/types-protobuf/default.nix b/pkgs/development/python-modules/types-protobuf/default.nix
index a4d8d7ccf7b0e..5393a1604c9c3 100644
--- a/pkgs/development/python-modules/types-protobuf/default.nix
+++ b/pkgs/development/python-modules/types-protobuf/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "types-protobuf";
-  version = "3.19.14";
+  version = "3.19.15";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-ANWbHgfICPLwPGyouksHcoFYW7KBSKMCDPv37F/H+4Y=";
+    sha256 = "sha256-03HQpbMueMLWhDKaXUSR04Xm6tyrSXs3xBFy3tMoxdk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/types-requests/default.nix b/pkgs/development/python-modules/types-requests/default.nix
index d6d7f752a7a9c..b29a0792ae8f6 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.27.14";
+  version = "2.27.16";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-BFee4WT3wmWb5GlQ48L41RoIGtJS7xsB1LEvq6XDgQs=";
+    sha256 = "sha256-yAEMGLKRp++2CxRS2+ElMLwlaT3WV+cMYoA/zcS//ps=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/typing-extensions/default.nix b/pkgs/development/python-modules/typing-extensions/default.nix
index 1e29bc9a6160c..97f0d48cecc2a 100644
--- a/pkgs/development/python-modules/typing-extensions/default.nix
+++ b/pkgs/development/python-modules/typing-extensions/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "typing-extensions";
-  version = "4.0.1";
+  version = "4.1.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "typing_extensions";
     inherit version;
-    hash = "sha256-TKCR3qFJ+UXsVq+0ja5xTyHoaS7yKjlSI7zTKJYbag4=";
+    hash = "sha256-GpRi3MM0enmx8cAnH7556ERYC7WYuvoe0gi5TaPNzUI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/typing-inspect/default.nix b/pkgs/development/python-modules/typing-inspect/default.nix
index 1e5303b7b09e5..d540160493643 100644
--- a/pkgs/development/python-modules/typing-inspect/default.nix
+++ b/pkgs/development/python-modules/typing-inspect/default.nix
@@ -3,6 +3,7 @@
 , fetchPypi
 , typing-extensions
 , mypy-extensions
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -20,6 +21,19 @@ buildPythonPackage rec {
     mypy-extensions
   ];
 
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # https://github.com/ilevkivskyi/typing_inspect/issues/84
+    "test_typed_dict_typing_extension"
+  ];
+
+  pythonImportsCheck = [
+    "typing_inspect"
+  ];
+
   meta = with lib; {
     description = "Runtime inspection utilities for Python typing module";
     homepage = "https://github.com/ilevkivskyi/typing_inspect";
diff --git a/pkgs/development/python-modules/ufo2ft/default.nix b/pkgs/development/python-modules/ufo2ft/default.nix
index a3458b2f332fe..03ebd566b709e 100644
--- a/pkgs/development/python-modules/ufo2ft/default.nix
+++ b/pkgs/development/python-modules/ufo2ft/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "ufo2ft";
-  version = "2.25.2";
+  version = "2.25.3";
 
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ooWIHvyMtrht4WcGPiacY8dfjPSb5uitHnTRTKvf2AA=";
+    sha256 = "sha256-4OuEol+YorvOeK5bj33Po8V9KD0trcgTMXCTQ+J7q94=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/unicorn/default.nix b/pkgs/development/python-modules/unicorn/default.nix
index 1f2876bdc693f..8a568a47c0e49 100644
--- a/pkgs/development/python-modules/unicorn/default.nix
+++ b/pkgs/development/python-modules/unicorn/default.nix
@@ -20,7 +20,10 @@ buildPythonPackage rec {
   '';
 
   # needed on non-x86 linux
-  setupPyBuildFlags = lib.optionals stdenv.isLinux [ "--plat-name" "linux" ];
+  setupPyBuildFlags = lib.optionals stdenv.isLinux [ "--plat-name" "linux" ]
+                   # aarch64 only available from MacOS SDK 11 onwards, so fix the version tag.
+                   # otherwise, bdist_wheel may detect "macosx_10_6_arm64" which doesn't make sense.
+                   ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ "--plat-name" "macosx_11_0" ];
 
   propagatedBuildInputs = [
     setuptools
diff --git a/pkgs/development/python-modules/unicrypto/default.nix b/pkgs/development/python-modules/unicrypto/default.nix
new file mode 100644
index 0000000000000..56a57ccaf0ef9
--- /dev/null
+++ b/pkgs/development/python-modules/unicrypto/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pycryptodomex
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "unicrypto";
+  version = "0.0.5";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-aSQPJgSTNGhh5jlpfi/aJF8UZWx98grm2eaxuzassp4=";
+  };
+
+  propagatedBuildInputs = [
+    pycryptodomex
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "unicrypto"
+  ];
+
+  meta = with lib; {
+    description = "Unified interface for cryptographic libraries";
+    homepage = "https://github.com/skelsec/unicrypto";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/unittest-xml-reporting/default.nix b/pkgs/development/python-modules/unittest-xml-reporting/default.nix
index c8d1edc421094..c4ee1f955e440 100644
--- a/pkgs/development/python-modules/unittest-xml-reporting/default.nix
+++ b/pkgs/development/python-modules/unittest-xml-reporting/default.nix
@@ -1,18 +1,21 @@
-{lib, fetchPypi, buildPythonPackage, isPy27, six}:
+{lib, fetchPypi, buildPythonPackage, isPy27, six, lxml }:
 
 buildPythonPackage rec {
   pname = "unittest-xml-reporting";
-  version = "3.0.4";
+  version = "3.2.0";
   disabled = isPy27;
 
-  propagatedBuildInputs = [six];
+  propagatedBuildInputs = [
+    lxml
+    six
+  ];
 
   # The tarball from Pypi doesn't actually contain the unit tests
   doCheck = false;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "984cebba69e889401bfe3adb9088ca376b3a1f923f0590d005126c1bffd1a695";
+    sha256 = "sha256-7djTFwtAw6gbjPkQ9GxqMErihH7AEDbQLpwPm4V2LSg=";
   };
   meta = with lib; {
     homepage = "https://github.com/xmlrunner/unittest-xml-reporting/tree/master/";
diff --git a/pkgs/development/python-modules/uproot/default.nix b/pkgs/development/python-modules/uproot/default.nix
index bf523046c6166..8bf8e67b8e465 100644
--- a/pkgs/development/python-modules/uproot/default.nix
+++ b/pkgs/development/python-modules/uproot/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "uproot";
-  version = "4.1.9";
+  version = "4.2.0";
 
   # fetch from github for tests
   src = fetchFromGitHub {
     owner = "scikit-hep";
     repo = "uproot4";
     rev = version;
-    sha256 = "035gljxm18hvpfvc7nsd7lhawwq3np5sg1y86pzcxc680c6rj6lx";
+    sha256 = "sha256-ft2VXYGb+iPqRUrtOBvl7SgTPfPR4+IOdYFVTNbQAEw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/uvicorn/default.nix b/pkgs/development/python-modules/uvicorn/default.nix
index 4ce9228efee88..a3238d4c5484e 100644
--- a/pkgs/development/python-modules/uvicorn/default.nix
+++ b/pkgs/development/python-modules/uvicorn/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "uvicorn";
-  version = "0.16.0";
+  version = "0.17.5";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "encode";
     repo = pname;
     rev = version;
-    sha256 = "14jih6j4q2qp5c9rgl798i5p51b4y6zkkj434q2l1naw0csphk4s";
+    sha256 = "sha256-66wPVnBLy2HK4p0m/b/DRxy12sk8AsVFZoFVcWRkL4s=";
   };
 
   outputs = [
diff --git a/pkgs/development/python-modules/uvloop/default.nix b/pkgs/development/python-modules/uvloop/default.nix
index 72ede5dc1716f..b4b75dbb19411 100644
--- a/pkgs/development/python-modules/uvloop/default.nix
+++ b/pkgs/development/python-modules/uvloop/default.nix
@@ -62,8 +62,12 @@ buildPythonPackage rec {
     "tests/test_sourcecode.py"
   ];
 
-  # force using installed/compiled uvloop vs source by moving tests to temp dir
-  preCheck = ''
+  preCheck = lib.optionalString stdenv.isDarwin ''
+    # Work around "OSError: AF_UNIX path too long"
+    # https://github.com/MagicStack/uvloop/issues/463
+    export TMPDIR="/tmp"
+   '' + ''
+    # force using installed/compiled uvloop vs source by moving tests to temp dir
     export TEST_DIR=$(mktemp -d)
     cp -r tests $TEST_DIR
     pushd $TEST_DIR
diff --git a/pkgs/development/python-modules/vertica-python/default.nix b/pkgs/development/python-modules/vertica-python/default.nix
index a456c5232d803..cd6186e574f30 100644
--- a/pkgs/development/python-modules/vertica-python/default.nix
+++ b/pkgs/development/python-modules/vertica-python/default.nix
@@ -1,27 +1,52 @@
-{ lib, buildPythonPackage, fetchPypi, future, python-dateutil, six, pytest, mock, parameterized }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, future
+, mock
+, parameterized
+, pytestCheckHook
+, python-dateutil
+, pythonOlder
+, six
+}:
 
 buildPythonPackage rec {
   pname = "vertica-python";
-  version = "1.0.3";
+  version = "1.0.4";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cfe1794c5ba9fdfbd470a55d82f60c2e08e129828367753bf64199a58a539bc2";
+    hash = "sha256-IpdrR9mDG+8cNnXgSXkmXahSEP4EGnEBJqZk5SNu9pA=";
   };
 
-  propagatedBuildInputs = [ future python-dateutil six ];
+  propagatedBuildInputs = [
+    future
+    python-dateutil
+    six
+  ];
+
+  checkInputs = [
+    mock
+    parameterized
+    pytestCheckHook
+  ];
 
-  checkInputs = [ pytest mock parameterized ];
+  disabledTestPaths = [
+    # Integration tests require an accessible Vertica db
+    "vertica_python/tests/integration_tests"
+  ];
 
-  # Integration tests require an accessible Vertica db
-  checkPhase = ''
-    pytest --ignore vertica_python/tests/integration_tests
-  '';
+  pythonImportsCheck = [
+    "vertica_python"
+  ];
 
   meta = with lib; {
     description = "Native Python client for Vertica database";
     homepage = "https://github.com/vertica/vertica-python";
     license = licenses.asl20;
-    maintainers = [ maintainers.arnoldfarkas ];
+    maintainers = with maintainers; [ arnoldfarkas ];
   };
 }
diff --git a/pkgs/development/python-modules/virtualenv/default.nix b/pkgs/development/python-modules/virtualenv/default.nix
index c463c37747eaa..126bf4e6c6c07 100644
--- a/pkgs/development/python-modules/virtualenv/default.nix
+++ b/pkgs/development/python-modules/virtualenv/default.nix
@@ -23,11 +23,11 @@
 
 buildPythonPackage rec {
   pname = "virtualenv";
-  version = "20.13.0";
+  version = "20.13.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d8458cf8d59d0ea495ad9b34c2599487f8a7772d796f9910858376d1600dd2dd";
+    sha256 = "sha256-AfX4B0TSSjdDzmGFgSNIjpHLLdHTvfkq2vG7o5/97fA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/voluptuous/default.nix b/pkgs/development/python-modules/voluptuous/default.nix
index cc9d772eda171..d2e221d6e3903 100644
--- a/pkgs/development/python-modules/voluptuous/default.nix
+++ b/pkgs/development/python-modules/voluptuous/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "voluptuous";
-  version = "0.12.2";
+  version = "0.13.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-TbGsUHnbkkmCDUnIkctGYKb4yuNQSRIQq850H6v1ZRM=";
+    sha256 = "sha256-yuakUmtDS2QoFrNKAOEYbVpfXgyUirlNKpGOAeWHQGY=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/wandb/default.nix b/pkgs/development/python-modules/wandb/default.nix
index ef8e6cfd247ec..7f21877f1fb58 100644
--- a/pkgs/development/python-modules/wandb/default.nix
+++ b/pkgs/development/python-modules/wandb/default.nix
@@ -114,6 +114,10 @@ buildPythonPackage rec {
     "tests/test_tables.py"
   ];
 
+  # Disable test that fails on darwin due to issue with python3Packages.psutil:
+  # https://github.com/giampaolo/psutil/issues/1219
+  disabledTests = lib.optional stdenv.isDarwin "test_tpu_system_stats";
+
   checkInputs = [
     azure-core
     bokeh
diff --git a/pkgs/development/python-modules/watchdog/default.nix b/pkgs/development/python-modules/watchdog/default.nix
index 9fba5785c4478..1bc471c7287f1 100644
--- a/pkgs/development/python-modules/watchdog/default.nix
+++ b/pkgs/development/python-modules/watchdog/default.nix
@@ -39,6 +39,11 @@ buildPythonPackage rec {
       --replace "--cov-report=term-missing" ""
   '';
 
+  disabledTests = [
+    # probably failing because of an encoding related issue
+    "test_create_wrong_encoding"
+  ];
+
   disabledTestPaths = [
     # Tests are flaky
     "tests/test_inotify_buffer.py"
diff --git a/pkgs/development/python-modules/weasyprint/default.nix b/pkgs/development/python-modules/weasyprint/default.nix
index 3d752596dec3b..a1a7470b8b5d6 100644
--- a/pkgs/development/python-modules/weasyprint/default.nix
+++ b/pkgs/development/python-modules/weasyprint/default.nix
@@ -27,7 +27,7 @@
 
 buildPythonPackage rec {
   pname = "weasyprint";
-  version = "54.2";
+  version = "54.3";
   disabled = !isPy3k;
 
   format = "pyproject";
@@ -35,7 +35,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit version;
     pname = "weasyprint";
-    sha256 = "sha256-1eiqguPiokd6RUPwZG2fsUCAybo0oIWXUesjdXzABGY=";
+    sha256 = "sha256-4E2gQGMFZsRMqiAgM/B/hYdl9TZwkEWoCXOfPQSOidY=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/websocket-client/default.nix b/pkgs/development/python-modules/websocket-client/default.nix
index 116f45f16dd34..37d926e505558 100644
--- a/pkgs/development/python-modules/websocket-client/default.nix
+++ b/pkgs/development/python-modules/websocket-client/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "websocket-client";
-  version = "1.2.3";
+  version = "1.3.1";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1315816c0acc508997eb3ae03b9d3ff619c9d12d544c9a9b553704b1cc4f6af5";
+    sha256 = "sha256-YninUGU5VBgoP4h958O+r7OqaNraXKy+SyFOjSbaSZs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/weconnect-mqtt/default.nix b/pkgs/development/python-modules/weconnect-mqtt/default.nix
index 42a3877cffc15..0bb0a8f7999d1 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.30.0";
+  version = "0.30.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tillsteinbach";
     repo = "WeConnect-mqtt";
     rev = "v${version}";
-    sha256 = "sha256-/mlN9gEEy8DJSFef0Pp2PLjHhwStKwANKSzw4nT19eM=";
+    sha256 = "sha256-e8dDdtabEHQKNx3c63Ou3T3ygsj4763C9Pd8usFrSCE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/weconnect/default.nix b/pkgs/development/python-modules/weconnect/default.nix
index f5af3e5aa5048..096f1b0e99b07 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.37.0";
+  version = "0.37.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "tillsteinbach";
     repo = "WeConnect-python";
     rev = "v${version}";
-    sha256 = "sha256-h6jKtQt9vCh5bnhIqWLniUIJ41GxCs0uSi4vBVNs8tE=";
+    sha256 = "sha256-54T4L1MzF2rkKM0AXz+bPBdVL7Izdho6c3AVSXBho2E=";
   };
 
   propagatedBuildInputs = [
@@ -42,8 +42,8 @@ buildPythonPackage rec {
     substituteInPlace setup.py \
       --replace "setup_requires=SETUP_REQUIRED," "setup_requires=[]," \
       --replace "tests_require=TEST_REQUIRED," "tests_require=[],"
-    substituteInPlace requirements.txt \
-      --replace "pillow~=9.0.0" "pillow"
+    substituteInPlace image_extra_requirements.txt \
+      --replace "pillow~=9.0.1" "pillow"
     substituteInPlace pytest.ini \
       --replace "--cov=weconnect --cov-config=.coveragerc --cov-report html" "" \
       --replace "pytest-cov" ""
diff --git a/pkgs/development/python-modules/werkzeug/default.nix b/pkgs/development/python-modules/werkzeug/default.nix
index c75c59ac1c9c5..63c3ad1b420bc 100644
--- a/pkgs/development/python-modules/werkzeug/default.nix
+++ b/pkgs/development/python-modules/werkzeug/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "werkzeug";
-  version = "2.0.2";
+  version = "2.0.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "Werkzeug";
     inherit version;
-    sha256 = "sha256-qiu2/I3ujWxQTArB5/X33FgQqZA+eTtvcVqfAVva25o=";
+    sha256 = "sha256-uGP4/wV8UiFktgZ8niiwQRYbS+W6TQ2s7qpQoWOCLTw=";
   };
 
   propagatedBuildInputs = lib.optionals (!stdenv.isDarwin) [
diff --git a/pkgs/development/python-modules/wled/default.nix b/pkgs/development/python-modules/wled/default.nix
index 3bd0d5b55b90e..362d4e4d2b29a 100644
--- a/pkgs/development/python-modules/wled/default.nix
+++ b/pkgs/development/python-modules/wled/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "wled";
-  version = "0.13.1";
+  version = "0.13.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "frenck";
     repo = "python-wled";
     rev = "v${version}";
-    sha256 = "sha256-QQPrAfk+BX8mjqn9ISim9hLEZR2nbgxbkwCv+91yeRY=";
+    sha256 = "sha256-Rv0jaKkN6jQ7oiv1cBYx4HAr7IqPm57jZFykXayp0T0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/wsproto/default.nix b/pkgs/development/python-modules/wsproto/default.nix
index d4dd7d0899976..803ddd51d9fa8 100644
--- a/pkgs/development/python-modules/wsproto/default.nix
+++ b/pkgs/development/python-modules/wsproto/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "wsproto";
-  version = "1.0.0";
+  version = "1.1.0";
   disabled = pythonOlder "3.6"; # python versions <3.6
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "868776f8456997ad0d9720f7322b746bbe9193751b5b290b7f924659377c8c38";
+    sha256 = "sha256-ouVr/Vx82DwTadg7X+zNbTd5i3SHKGbmJhbg7PERvag=";
   };
 
   propagatedBuildInputs = [ h11 ] ++ lib.optional isPy36 dataclasses;
diff --git a/pkgs/development/python-modules/xarray/default.nix b/pkgs/development/python-modules/xarray/default.nix
index 5f780a61ffc56..85b8ac799c739 100644
--- a/pkgs/development/python-modules/xarray/default.nix
+++ b/pkgs/development/python-modules/xarray/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "xarray";
-  version = "0.20.2";
+  version = "2022.3.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-wuvoDKgbEKAkH2h23MNKyWluXFzc30dY2nz0vXMsQfc=";
+    sha256 = "sha256-OYNEv30XBHeqzv9wIQ4R69aa9rFW/hOXgFTSXEhylEA=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION="${version}";
diff --git a/pkgs/development/python-modules/xgboost/default.nix b/pkgs/development/python-modules/xgboost/default.nix
index 3717ca2473c39..f6c63db450517 100644
--- a/pkgs/development/python-modules/xgboost/default.nix
+++ b/pkgs/development/python-modules/xgboost/default.nix
@@ -48,7 +48,8 @@ buildPythonPackage {
     ln -s ${xgboost}/bin/xgboost ../xgboost
   '';
 
-  pytestFlagsArray = ["../tests/python"];
+  # tests are extremely cpu intensive, only run basic tests to ensure package is working
+  pytestFlagsArray = ["../tests/python/test_basic.py"];
   disabledTestPaths = [
     # Requires internet access: https://github.com/dmlc/xgboost/blob/03cd087da180b7dff21bd8ef34997bf747016025/tests/python/test_ranking.py#L81
     "../tests/python/test_ranking.py"
diff --git a/pkgs/development/python-modules/xmlsec/default.nix b/pkgs/development/python-modules/xmlsec/default.nix
index 0a9a0af0e543f..76ce32e5e8f38 100644
--- a/pkgs/development/python-modules/xmlsec/default.nix
+++ b/pkgs/development/python-modules/xmlsec/default.nix
@@ -16,6 +16,7 @@
 buildPythonPackage rec {
   pname = "xmlsec";
   version = "1.3.12";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
@@ -35,7 +36,14 @@ buildPythonPackage rec {
 
   # Full git clone required for test_doc_examples
   checkInputs = [ pytestCheckHook hypothesis ];
-  disabledTestPaths = [ "tests/test_doc_examples.py" ];
+
+  disabledTestPaths = [
+    "tests/test_doc_examples.py"
+    # test_reinitialize_module segfaults python
+    # https://github.com/mehcode/python-xmlsec/issues/203
+    "tests/test_xmlsec.py"
+  ];
+
 
   pythonImportsCheck = [ "xmlsec" ];
 
diff --git a/pkgs/development/python-modules/xmltodict/default.nix b/pkgs/development/python-modules/xmltodict/default.nix
index 13cc5b89c2a21..5e0733b6256e7 100644
--- a/pkgs/development/python-modules/xmltodict/default.nix
+++ b/pkgs/development/python-modules/xmltodict/default.nix
@@ -1,30 +1,27 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, coverage
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "xmltodict";
   version = "0.12.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "50d8c638ed7ecb88d90561beedbf720c9b4e851a9fa6c47ebd64e99d166d8a21";
   };
 
-  checkInputs = [ coverage pytestCheckHook ];
-
-  disabledTests = [
-    # incompatibilities with security fixes: https://github.com/martinblech/xmltodict/issues/289
-    "test_namespace_collapse"
-    "test_namespace_support"
+  checkInputs = [
+    pytestCheckHook
   ];
 
-  meta = {
+  meta = with lib; {
     description = "Makes working with XML feel like you are working with JSON";
     homepage = "https://github.com/martinblech/xmltodict";
-    license = lib.licenses.mit;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/xxhash/default.nix b/pkgs/development/python-modules/xxhash/default.nix
index df3c0c852696d..f70526da6a106 100644
--- a/pkgs/development/python-modules/xxhash/default.nix
+++ b/pkgs/development/python-modules/xxhash/default.nix
@@ -4,12 +4,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "2.0.2";
+  version = "3.0.0";
   pname = "xxhash";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b7bead8cf6210eadf9cecf356e17af794f57c0939a3d420a00d87ea652f87b49";
+    sha256 = "sha256-MLLZeq8R+xIgI/a0TruXxpVengDXRhqWQVygMLXOucc=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/yabadaba/default.nix b/pkgs/development/python-modules/yabadaba/default.nix
new file mode 100644
index 0000000000000..d476e10adc760
--- /dev/null
+++ b/pkgs/development/python-modules/yabadaba/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, buildPythonPackage
+, cdcs
+, datamodeldict
+, fetchFromGitHub
+, ipython
+, lxml
+, numpy
+, pandas
+, pymongo
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "yabadaba";
+  version = "0.1.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "usnistgov";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-Svw15epiSMEGMuFuMLqX2C9YFGtRtdg7DW2OVLPRmNI=";
+  };
+
+  propagatedBuildInputs = [
+    cdcs
+    datamodeldict
+    ipython
+    lxml
+    numpy
+    pandas
+    pymongo
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "yabadaba"
+  ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d);
+  '';
+
+  meta = with lib; {
+    description = "Abstraction layer allowing for common interactions with databases and records";
+    homepage = "https://github.com/usnistgov/yabadaba";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/youtube-transcript-api/default.nix b/pkgs/development/python-modules/youtube-transcript-api/default.nix
index 088ee476e3f0e..a3c7e93031c70 100644
--- a/pkgs/development/python-modules/youtube-transcript-api/default.nix
+++ b/pkgs/development/python-modules/youtube-transcript-api/default.nix
@@ -1,22 +1,40 @@
-{ lib, buildPythonPackage, fetchFromGitHub, requests, mock, httpretty, pytestCheckHook }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+, mock
+, httpretty
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "youtube-transcript-api";
-  version = "0.4.3";
+  version = "0.4.4";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
-  # PyPI tarball is missing some test files
   src = fetchFromGitHub {
     owner = "jdepoix";
-    repo = "youtube-transcript-api";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "1krak5j2faj6951cl13h7hg9i3kyp6nslcbi608k8hxlbd80hc5h";
+    hash = "sha256-RNPWTgAOwS+tXGLQYyIyka36xS1E1499OAP84aT6m3A=";
   };
 
-  propagatedBuildInputs = [ requests ];
+  propagatedBuildInputs = [
+    requests
+  ];
 
-  checkInputs = [ mock httpretty pytestCheckHook ];
+  checkInputs = [
+    mock
+    httpretty
+    pytestCheckHook
+  ];
 
-  pythonImportsCheck = [ "youtube_transcript_api" ];
+  pythonImportsCheck = [
+    "youtube_transcript_api"
+  ];
 
   meta = with lib; {
     description = "Python API which allows you to get the transcripts/subtitles for a given YouTube video";
diff --git a/pkgs/development/python-modules/yq/default.nix b/pkgs/development/python-modules/yq/default.nix
index b87982b20b65c..5bcbf24dc302e 100644
--- a/pkgs/development/python-modules/yq/default.nix
+++ b/pkgs/development/python-modules/yq/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "yq";
-  version = "2.13.0";
+  version = "2.14.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-/RMf2x9WcWrY1EzZ6q99OyLTm6iGHqZKQJzD9K4mPbg=";
+    sha256 = "sha256-9L8rKZ0eXH69dM+yXR9dm2QBBjusB6LQmhVhRMHWROE=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/zarr/default.nix b/pkgs/development/python-modules/zarr/default.nix
index 11c6f84850bd5..c943f34c52ef3 100644
--- a/pkgs/development/python-modules/zarr/default.nix
+++ b/pkgs/development/python-modules/zarr/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "zarr";
-  version = "2.10.3";
+  version = "2.11.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "76932665c2146ebdf15f6dba254f9e0030552fbfcf9322dea822bff96fbce693";
+    sha256 = "sha256-sIc74nr1aQc4+hWOp6gC6uRUkEwzmVBWGFrMWnQltFE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/zeep/default.nix b/pkgs/development/python-modules/zeep/default.nix
index 1b3e0c5fcdf0c..83ee3f37f7e4e 100644
--- a/pkgs/development/python-modules/zeep/default.nix
+++ b/pkgs/development/python-modules/zeep/default.nix
@@ -6,6 +6,7 @@
 , cached-property
 , defusedxml
 , fetchFromGitHub
+, fetchpatch
 , freezegun
 , httpx
 , isodate
@@ -38,6 +39,14 @@ buildPythonPackage rec {
     sha256 = "sha256-fJLr2LJpbNQTl183R56G7sJILfm04R39qpJxLogQLoo=";
   };
 
+  patches = [
+    (fetchpatch {
+      # fixes pytest_httpx test case; https://github.com/mvantellingen/python-zeep/pull/1293
+      url = "https://github.com/mvantellingen/python-zeep/commit/2907848185adcb4e6d8c093db6c617c64cb8c8bf.patch";
+      hash = "sha256-hpksgMfrBLvYtI1QIs1aHBtFq7C1PWpnAj8BW5ak1/4=";
+    })
+  ];
+
   propagatedBuildInputs = [
     attrs
     cached-property
diff --git a/pkgs/development/python-modules/zigpy-deconz/default.nix b/pkgs/development/python-modules/zigpy-deconz/default.nix
index e1c08f069e8cd..029221ca01b49 100644
--- a/pkgs/development/python-modules/zigpy-deconz/default.nix
+++ b/pkgs/development/python-modules/zigpy-deconz/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "zigpy-deconz";
-  version = "0.14.0";
+  version = "0.15.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "zigpy";
     repo = pname;
     rev = version;
-    sha256 = "sha256-PctS09twk8SRK3pTJvQU8drsqhmrPnMge2WO+VY84U8=";
+    sha256 = "sha256-QLEyEoX3gbrY/zvFmB1eah1wuc4bHH4S0D1B2WNHxaM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/zimports/default.nix b/pkgs/development/python-modules/zimports/default.nix
index d350e2040891b..d4c6c6b7e4742 100644
--- a/pkgs/development/python-modules/zimports/default.nix
+++ b/pkgs/development/python-modules/zimports/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "zimports";
-  version = "0.4.1";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "sqlalchemyorg";
     repo = "zimports";
     rev = "v${version}";
-    sha256 = "11mg7j7xiypv9hki4qbnp9jsgwgfdrgdzfqyrzk5x0s4hycgi4q0";
+    sha256 = "sha256-O8MHUt9yswL9fK9pEddkvnNS2E4vWA/S1BTs1OD1VbU=";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/zope_exceptions/default.nix b/pkgs/development/python-modules/zope_exceptions/default.nix
index 0586227c61c54..fb1eb07154a08 100644
--- a/pkgs/development/python-modules/zope_exceptions/default.nix
+++ b/pkgs/development/python-modules/zope_exceptions/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "zope.exceptions";
-  version = "4.4";
+  version = "4.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0d72886b1bb8af4c346a117a540f28ab122577f5e3a105a261be72cd15776fda";
+    sha256 = "sha256-TjW7oEiJxdEU3KpVKXQl1fM/YYqF7323Ehs7dxEAeE4=";
   };
 
   propagatedBuildInputs = [ zope_interface ];
diff --git a/pkgs/development/python-modules/zopfli/default.nix b/pkgs/development/python-modules/zopfli/default.nix
index d7e9cf507f031..1bc880456b6e1 100644
--- a/pkgs/development/python-modules/zopfli/default.nix
+++ b/pkgs/development/python-modules/zopfli/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "zopfli";
-  version = "0.1.9";
+  version = "0.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "78de3cc08a8efaa8013d61528907d91ac4d6cc014ffd8a41cc10ee75e9e60d7b";
+    sha256 = "sha256-x9PzVcSR84TkNNsuYmheq269pmuWTonhdUuxFLLTjOo=";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/zstandard/default.nix b/pkgs/development/python-modules/zstandard/default.nix
index 856ca0ee02499..5c0536166aab5 100755
--- a/pkgs/development/python-modules/zstandard/default.nix
+++ b/pkgs/development/python-modules/zstandard/default.nix
@@ -3,27 +3,41 @@
 , fetchPypi
 , cffi
 , hypothesis
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "zstandard";
   version = "0.17.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "fa9194cb91441df7242aa3ddc4cb184be38876cb10dd973674887f334bafbfb6";
   };
 
-  propagatedNativeBuildInputs = [ cffi ];
+  propagatedNativeBuildInputs = [
+    cffi
+  ];
+
+  propagatedBuildInputs = [
+    cffi
+  ];
 
-  propagatedBuildInputs = [ cffi ];
+  checkInputs = [
+    hypothesis
+  ];
 
-  checkInputs = [ hypothesis ];
+  pythonImportsCheck = [
+    "zstandard"
+  ];
 
   meta = with lib; {
     description = "zstandard bindings for Python";
     homepage = "https://github.com/indygreg/python-zstandard";
     license = licenses.bsdOriginal;
-    maintainers = [ maintainers.arnoldfarkas ];
+    maintainers = with maintainers; [ arnoldfarkas ];
   };
 }
diff --git a/pkgs/development/python2-modules/pycairo/default.nix b/pkgs/development/python2-modules/pycairo/default.nix
index 9da4da1479c0e..eefc69a3323f6 100644
--- a/pkgs/development/python2-modules/pycairo/default.nix
+++ b/pkgs/development/python2-modules/pycairo/default.nix
@@ -3,7 +3,7 @@
 , meson
 , ninja
 , buildPythonPackage
-, pytestCheckHook
+, pytest
 , pkg-config
 , cairo
 , python
@@ -32,9 +32,11 @@ buildPythonPackage rec {
     cairo
   ];
 
-  checkInputs = [
-    pytestCheckHook
-  ];
+  # HACK: Don't use the pytestCheckHook because PYTHONPATH
+  # will be added by the Python setuptook breaking meson.
+  checkPhase = ''
+    ${pytest}/bin/pytest
+  '';
 
   mesonFlags = [
     # This is only used for figuring out what version of Python is in
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index ffe277582392d..c8f8934e866a1 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -362,7 +362,7 @@ let
     mwaved = [ pkgs.fftw.dev ];
     mzR = with pkgs; [ zlib boost159.dev netcdf ];
     ncdf4 = [ pkgs.netcdf ];
-    nloptr = with pkgs; [ nlopt pkg-config ];
+    nloptr = with pkgs; [ nlopt pkg-config libiconv ];
     n1qn1 = [ pkgs.gfortran ];
     odbc = [ pkgs.unixODBC ];
     pander = with pkgs; [ pandoc which ];
@@ -1083,12 +1083,12 @@ let
         patchShebangs configure
       '';
       PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include";
-      PKGCONFIG_LIBS = "-Wl,-rpath,${pkgs.openssl.out}/lib -L${pkgs.openssl.out}/lib -lssl -lcrypto";
+      PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -lssl -lcrypto";
     });
 
     websocket = old.websocket.overrideDerivation (attrs: {
       PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include";
-      PKGCONFIG_LIBS = "-Wl,-rpath,${pkgs.openssl.out}/lib -L${pkgs.openssl.out}/lib -lssl -lcrypto";
+      PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -lssl -lcrypto";
     });
 
     Rserve = old.Rserve.overrideDerivation (attrs: {
@@ -1193,7 +1193,7 @@ let
         patchShebangs configure
         '';
       PKGCONFIG_CFLAGS = "-I${pkgs.openssl.dev}/include -I${pkgs.cyrus_sasl.dev}/include -I${pkgs.zlib.dev}/include";
-      PKGCONFIG_LIBS = "-Wl,-rpath,${pkgs.openssl.out}/lib -L${pkgs.openssl.out}/lib -L${pkgs.cyrus_sasl.out}/lib -L${pkgs.zlib.out}/lib -lssl -lcrypto -lsasl2 -lz";
+      PKGCONFIG_LIBS = "-Wl,-rpath,${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.openssl}/lib -L${pkgs.cyrus_sasl.out}/lib -L${pkgs.zlib.out}/lib -lssl -lcrypto -lsasl2 -lz";
     });
 
     ps = old.ps.overrideDerivation (attrs: {
diff --git a/pkgs/development/r-modules/generic-builder.nix b/pkgs/development/r-modules/generic-builder.nix
index 880fff44ed644..beb669d9893f4 100644
--- a/pkgs/development/r-modules/generic-builder.nix
+++ b/pkgs/development/r-modules/generic-builder.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation ({
   NIX_CFLAGS_COMPILE =
     lib.optionalString stdenv.isDarwin "-I${lib.getDev libcxx}/include/c++/v1";
 
+  hardeningDisable = lib.optionals (stdenv.isAarch64 && stdenv.isDarwin) [ "stackprotector" ];
+
   configurePhase = ''
     runHook preConfigure
     export R_LIBS_SITE="$R_LIBS_SITE''${R_LIBS_SITE:+:}$out/library"
diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix
index 485def66de3c3..47e70aaa8f0eb 100644
--- a/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/pkgs/development/ruby-modules/gem-config/default.nix
@@ -26,7 +26,7 @@
 , file, libvirt, glib, vips, taglib, libopus, linux-pam, libidn, protobuf, fribidi, harfbuzz
 , bison, flex, pango, python3, patchelf, binutils, freetds, wrapGAppsHook, atk
 , bundler, libsass, libexif, libselinux, libsepol, shared-mime-info, libthai, libdatrie
-, CoreServices, DarwinTools, cctools, libtool, discount
+, CoreServices, DarwinTools, cctools, libtool, discount, exiv2, libmaxminddb
 }@args:
 
 let
@@ -154,6 +154,10 @@ in
     '';
   };
 
+  exiv2 = attrs: {
+    buildFlags = [ "--with-exiv2-lib=${exiv2}/lib" "--with-exiv2-include=${exiv2.dev}/include" ];
+  };
+
   fog-dnsimple = attrs:
     lib.optionalAttrs (lib.versionOlder attrs.version "1.0.1") {
       postInstall = ''
@@ -414,6 +418,10 @@ in
     '';
   };
 
+  maxmind_geoip2 = attrs: {
+    buildFlags = [ "--with-maxminddb-lib=${libmaxminddb}/lib" "--with-maxminddb-include=${libmaxminddb}/include" ];
+  };
+
   metasploit-framework = attrs: {
     preInstall = ''
       export HOME=$TMPDIR
diff --git a/pkgs/development/tools/analysis/actionlint/default.nix b/pkgs/development/tools/analysis/actionlint/default.nix
index 68112b01cfb84..71a9a95d2fca8 100644
--- a/pkgs/development/tools/analysis/actionlint/default.nix
+++ b/pkgs/development/tools/analysis/actionlint/default.nix
@@ -1,4 +1,12 @@
-{ lib, buildGoModule, fetchFromGitHub, ronn, installShellFiles }:
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, installShellFiles
+, makeWrapper
+, python3Packages
+, ronn
+, shellcheck
+}:
 
 buildGoModule rec {
   pname = "actionlint";
@@ -15,11 +23,13 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-CxNER8aQftMG14M+x6bPwcXgUZRkUDYZtFg1cPxxg+I=";
 
-  nativeBuildInputs = [ ronn installShellFiles ];
+  nativeBuildInputs = [ makeWrapper ronn installShellFiles ];
 
   postInstall = ''
     ronn --roff man/actionlint.1.ronn
     installManPage man/actionlint.1
+    wrapProgram "$out/bin/actionlint" \
+      --prefix PATH : ${lib.makeBinPath [ python3Packages.pyflakes shellcheck ]}
   '';
 
   ldflags = [ "-s" "-w" "-X github.com/rhysd/actionlint.version=${version}" ];
diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix
index a025abf1e3434..77bf4c5dfb104 100644
--- a/pkgs/development/tools/analysis/checkov/default.nix
+++ b/pkgs/development/tools/analysis/checkov/default.nix
@@ -32,13 +32,13 @@ with py.pkgs;
 
 buildPythonApplication rec {
   pname = "checkov";
-  version = "2.0.975";
+  version = "2.0.1034";
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = pname;
     rev = version;
-    hash = "sha256-vzq6HKugjM9LBaklv0IlMauSAl3bqHOikDCzrhVBVPA=";
+    hash = "sha256-amSgg/6yYaLKzwkO7dq06zvh4744RyTVhd/tdurHKa4=";
   };
 
   nativeBuildInputs = with py.pkgs; [
@@ -94,7 +94,8 @@ buildPythonApplication rec {
   postPatch = ''
     substituteInPlace setup.py \
       --replace "cyclonedx-python-lib>=0.11.0,<1.0.0" "cyclonedx-python-lib>=0.11.0" \
-      --replace "prettytable>=3.0.0" "prettytable"
+      --replace "prettytable>=3.0.0" "prettytable" \
+      --replace "pycep-parser==0.3.3" "pycep-parser"
   '';
 
   preCheck = ''
@@ -114,6 +115,8 @@ buildPythonApplication rec {
     "test_skipped_check_exists"
     # AssertionError: 0 not greater than 0
     "test_skip_mapping_default"
+    # Test is failing
+    "test_SQLServerAuditingEnabled"
   ];
 
   disabledTestPaths = [
diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix
index 7f9e82162ea47..993f5dbe7e91e 100644
--- a/pkgs/development/tools/analysis/cppcheck/default.nix
+++ b/pkgs/development/tools/analysis/cppcheck/default.nix
@@ -1,15 +1,19 @@
-{ lib, stdenv, fetchurl, libxslt, docbook_xsl, docbook_xml_dtd_45, pcre, withZ3 ? true, z3 }:
+{ lib, stdenv, fetchFromGitHub, libxslt, docbook_xsl, docbook_xml_dtd_45, pcre, withZ3 ? true, z3, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "cppcheck";
-  version = "2.7";
+  version = "2.7.4";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-rHTAlzxGoFJ2D0/3ymqEYWyleVUQVC0ZWm8SLFMHkpE=";
+  src = fetchFromGitHub {
+    owner = "danmar";
+    repo = "cppcheck";
+    rev = version;
+    sha256 = "sha256-bMDH3TRAdDoI1AaHTpIl4P/yk9wsV0ReNh6bMmCsKys=";
   };
 
-  buildInputs = [ pcre ] ++ lib.optionals withZ3 [ z3 ];
+  buildInputs = [ pcre
+    (python3.withPackages (ps: [ps.pygments]))
+  ] ++ lib.optionals withZ3 [ z3 ];
   nativeBuildInputs = [ libxslt docbook_xsl docbook_xml_dtd_45 ];
 
   makeFlags = [ "PREFIX=$(out)" "FILESDIR=$(out)/cfg" "HAVE_RULES=yes" ]
@@ -19,6 +23,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  doCheck = true;
+
   postInstall = ''
     make DB2MAN=${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl man
     mkdir -p $man/share/man/man1
diff --git a/pkgs/development/tools/analysis/include-what-you-use/default.nix b/pkgs/development/tools/analysis/include-what-you-use/default.nix
index bc1be4e5ba5e8..ccda1b7baba59 100644
--- a/pkgs/development/tools/analysis/include-what-you-use/default.nix
+++ b/pkgs/development/tools/analysis/include-what-you-use/default.nix
@@ -3,10 +3,10 @@
 stdenv.mkDerivation rec {
   pname = "include-what-you-use";
   # Also bump llvmPackages in all-packages.nix to the supported version!
-  version = "0.17";
+  version = "0.18";
 
   src = fetchurl {
-    sha256 = "sha256-7KfAT4tBa2OF7QDjNmmn+kaTzSbLcrUizeVYgo6wxmU=";
+    sha256 = "sha256-kQL8hBkpR1ffhqic5uwwX42QqBjR8lmKE50V6xiUuPM=";
     url = "${meta.homepage}/downloads/${pname}-${version}.src.tar.gz";
   };
 
diff --git a/pkgs/development/tools/analysis/nix-linter/default.nix b/pkgs/development/tools/analysis/nix-linter/default.nix
index 1a6539520d738..cd33742623709 100644
--- a/pkgs/development/tools/analysis/nix-linter/default.nix
+++ b/pkgs/development/tools/analysis/nix-linter/default.nix
@@ -21,13 +21,13 @@
 
 mkDerivation rec {
   pname = "nix-linter";
-  version = "0.2.0.3";
+  version = "0.2.0.4";
 
   src = fetchFromGitHub {
     owner = "Synthetica9";
     repo = "nix-linter";
-    rev = "38c4a14681cf3a1e6f098d8b723db503910a28d8";
-    sha256 = "16igk4xnm4mg9mw0zg2zk6s44axia3fs6334fasvjy0c7cjwk4c7";
+    rev = "ecdd50750fd3ffaff83c0637474b884a0c38f8b9";
+    sha256 = "0hm6iaamh1wlvqk8z4yfh4idgbclbsimxhlgflwz2hnv9mm12sf1";
   };
 
   isLibrary = false;
diff --git a/pkgs/development/tools/analysis/tflint/default.nix b/pkgs/development/tools/analysis/tflint/default.nix
index 869d7e464a528..33e5de472c2d1 100644
--- a/pkgs/development/tools/analysis/tflint/default.nix
+++ b/pkgs/development/tools/analysis/tflint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tflint";
-  version = "0.34.1";
+  version = "0.35.0";
 
   src = fetchFromGitHub {
     owner = "terraform-linters";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ltxFduUr+poi4tEjViQXCbe+j3fUdvBG8CTaM7VdpK0=";
+    sha256 = "sha256-rLPKc9QeT9r0JUYcTMSHPa/4FxYiMLMdnv2iOMdBAy0=";
   };
 
-  vendorSha256 = "sha256-xEmDOP2DbTZ8bpK4OCabIpOwORB8EOJZkHCxL5wBeEU=";
+  vendorSha256 = "sha256-J1PgrWFAu1LrAYdoJP3HUunz/MkJ4Co0+hc7e6nFTBo=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/analysis/tfsec/default.nix b/pkgs/development/tools/analysis/tfsec/default.nix
index 6c2427d3724ad..bea9e09855255 100644
--- a/pkgs/development/tools/analysis/tfsec/default.nix
+++ b/pkgs/development/tools/analysis/tfsec/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "tfsec";
-  version = "1.13.0";
+  version = "1.15.4";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-/N8p/tw97sDW4I1ysfJ2QXACGsSc5nRFSu6jHwQvPU4=";
+    sha256 = "sha256-IYmS3Q2WWkOYISx0jI8yggArk0fhl3WQWrsc+Zfg8gU=";
   };
 
   ldflags = [
@@ -21,7 +21,7 @@ buildGoModule rec {
     # "-extldflags '-fno-PIC -static'"
   ];
 
-  vendorSha256 = "sha256-nTma96kT84mpJHRA9+/sZQVvwtz9arv/OHY9lgWJDFc=";
+  vendorSha256 = "sha256-dF7x3oA2q4IuoXn8tcQAdRKWooeLoeBsQ1sAhOGwwM8=";
 
   subPackages = [
     "cmd/tfsec"
diff --git a/pkgs/development/tools/bazel-gazelle/default.nix b/pkgs/development/tools/bazel-gazelle/default.nix
index f78125ae990b6..3d46a77108c70 100644
--- a/pkgs/development/tools/bazel-gazelle/default.nix
+++ b/pkgs/development/tools/bazel-gazelle/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "bazel-gazelle";
-  version = "0.24.0";
+  version = "0.25.0";
 
   src = fetchFromGitHub {
     owner = "bazelbuild";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-WWAOhV1H/OnARjhoWQYNmd9/y8pD3bRkhncmzt/36mA=";
+    sha256 = "sha256-wMhFhJruXHuAq81A4efxvR9eJ5YTp7QTnr1gj8RrIX8=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/development/tools/buf/default.nix b/pkgs/development/tools/buf/default.nix
index c46cd0d0a41a0..0f7904fe9bbbc 100644
--- a/pkgs/development/tools/buf/default.nix
+++ b/pkgs/development/tools/buf/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "buf";
-  version = "1.1.1";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "bufbuild";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-w/P9pNHxaBRlAly5jE7I0JsjjFeDctFaXOTbzDESaCo=";
+    sha256 = "sha256-rOT7HuvbJFRyBOmCNmx5Vic4zckYgS+1BB0PcpwD9OQ=";
   };
 
-  vendorSha256 = "sha256-AM/MN4vdcsHEbYdOEuVOvkMCdMDnk2UiW5vUnXcj+wY=";
+  vendorSha256 = "sha256-qIWZYsl1hFV4Ts27WSyjQAQ+jWjtLLG+A+yS0Ms7hfI=";
 
   patches = [
     # Skip a test that requires networking to be available to work.
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index 47abc7ec767b6..cf2fe926ddb08 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -17,11 +17,11 @@ stdenv.mkDerivation rec {
     + lib.optionalString isBootstrap "-boot"
     + lib.optionalString useNcurses "-cursesUI"
     + lib.optionalString withQt5 "-qt5UI";
-  version = "3.22.2";
+  version = "3.22.3";
 
   src = fetchurl {
     url = "https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}.tar.gz";
-    sha256 = "sha256-PBxHi5ZQsQfUUsW9VFxy4vrU43wJuJoZhLmi9G32rO0=";
+    sha256 = "sha256-n4RpFm+UVTtpeKFu4pIn7Emi61zrYIJ13sQNiuDRtaA=";
   };
 
   patches = [
diff --git a/pkgs/development/tools/build-managers/fac/default.nix b/pkgs/development/tools/build-managers/fac/default.nix
index b6481c621e983..ae5a5b30146d0 100644
--- a/pkgs/development/tools/build-managers/fac/default.nix
+++ b/pkgs/development/tools/build-managers/fac/default.nix
@@ -1,4 +1,4 @@
-{ lib, rustPlatform, fetchCrate, git }:
+{ lib, stdenv, rustPlatform, fetchCrate, git, CoreServices }:
 
 rustPlatform.buildRustPackage rec {
   pname = "fac-build";
@@ -10,6 +10,8 @@ rustPlatform.buildRustPackage rec {
     sha256 = "sha256-+JJVuKUdnjJoQJ4a2EE0O6jZdVoFxPwbPgfD2LfiDPI=";
   };
 
+
+  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
   cargoSha256 = "sha256-XT4FQVE+buORuZAFZK5Qnf/Fl3QSvw4SHUuCzWhxUdk=";
 
   # fac includes a unit test called ls_files_works which assumes it's
@@ -40,7 +42,7 @@ rustPlatform.buildRustPackage rec {
     '';
     homepage = "https://physics.oregonstate.edu/~roundyd/fac";
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ dpercy ];
     mainProgram = "fac";
   };
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index 78376b639c44b..4a17ef1e33419 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -96,9 +96,9 @@ rec {
   # https://docs.gradle.org/current/userguide/compatibility.html
 
   gradle_7 = gen {
-    version = "7.4";
+    version = "7.4.2";
     nativeVersion = "0.22-milestone-23";
-    sha256 = "0d56bgd2m64pzmycjk29hwdlhbpn1kkm7fjik1sibn6vslw71hlc";
+    sha256 = "1nkz9gn1vb5l94dkf9yzb1j3hkll5x2vrl5p320msn2fk089pr19";
     defaultJava = jdk17;
     # Gradle 7 ships some binaries that are only available for some platforms
     # See https://github.com/gradle/native-platform#supported-platforms
diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix
index aeddf457f48d4..d8c92bc82d6ef 100644
--- a/pkgs/development/tools/build-managers/meson/default.nix
+++ b/pkgs/development/tools/build-managers/meson/default.nix
@@ -5,15 +5,16 @@
 , pkg-config
 , python3
 , substituteAll
+, withDarwinFrameworksGtkDocPatch ? false
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "meson";
-  version = "0.60.3";
+  version = "0.61.2";
 
   src = python3.pkgs.fetchPypi {
     inherit pname version;
-    hash = "sha256-h8pfqTWKAYZFKTkr1k4CcVjrlK/KfHdmsYZu8n7MuY4=";
+    hash = "sha256-AjOn+NlZB5MY9gUrCTnCf2il3oa6YB8lye5oaftfWIk=";
   };
 
   patches = [
@@ -57,10 +58,10 @@ python3.pkgs.buildPythonApplication rec {
     # unsandboxed non-NixOS builds, see:
     # https://github.com/NixOS/nixpkgs/issues/86131#issuecomment-711051774
     ./boost-Do-not-add-system-paths-on-nix.patch
-
-    # Meson tries to update ld.so.cache which breaks when the target architecture
-    # differs from the build host's.
-    ./do-not-update-ldconfig-cache.patch
+  ] ++ lib.optionals withDarwinFrameworksGtkDocPatch [
+    # Fix building gtkdoc for GLib
+    # https://github.com/mesonbuild/meson/pull/10186
+    ./fix-gtkdoc-when-using-multiple-apple-frameworks.patch
   ];
 
   setupHook = ./setup-hook.sh;
diff --git a/pkgs/development/tools/build-managers/meson/do-not-update-ldconfig-cache.patch b/pkgs/development/tools/build-managers/meson/do-not-update-ldconfig-cache.patch
deleted file mode 100644
index 884023aaa7eb4..0000000000000
--- a/pkgs/development/tools/build-managers/meson/do-not-update-ldconfig-cache.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/mesonbuild/minstall.py b/mesonbuild/minstall.py
-index cb87faf5c..878ec4cd6 100644
---- a/mesonbuild/minstall.py
-+++ b/mesonbuild/minstall.py
-@@ -551,7 +551,6 @@ class Installer:
-                 self.install_emptydir(d, dm, destdir, fullprefix)
-                 self.install_data(d, dm, destdir, fullprefix)
-                 self.restore_selinux_contexts(destdir)
--                self.apply_ldconfig(dm, destdir)
-                 self.run_install_script(d, destdir, fullprefix)
-                 if not self.did_install_something:
-                     self.log('Nothing to install.')
diff --git a/pkgs/development/tools/build-managers/meson/fix-gtkdoc-when-using-multiple-apple-frameworks.patch b/pkgs/development/tools/build-managers/meson/fix-gtkdoc-when-using-multiple-apple-frameworks.patch
new file mode 100644
index 0000000000000..6c237e92dd11c
--- /dev/null
+++ b/pkgs/development/tools/build-managers/meson/fix-gtkdoc-when-using-multiple-apple-frameworks.patch
@@ -0,0 +1,162 @@
+From b8ba462ae72e0818898357464263ec84722f6d4c Mon Sep 17 00:00:00 2001
+From: Jan Tojnar <jtojnar@gmail.com>
+Date: Sat, 26 Mar 2022 02:26:27 +0100
+Subject: [PATCH] gnome: Fix gtkdoc when using multiple Apple frameworks
+
+The `-framework Foundation -framework CoreFoundation` ended up
+de-duplicated by OrderedSet into `-framework Foundation CoreFoundation`.
+
+Picked from https://github.com/mesonbuild/meson/pull/10186
+
+Also pick https://github.com/mesonbuild/meson/commit/68e684d51f1e469e0d9f4b499ffda15146cad98a when resolving conflict.
+
+diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
+index 214f97ac3..0521b2605 100644
+--- a/mesonbuild/modules/gnome.py
++++ b/mesonbuild/modules/gnome.py
+@@ -593,15 +593,16 @@ class GnomeModule(ExtensionModule):
+                        lib: T.Union[build.SharedLibrary, build.StaticLibrary],
+                        depends: T.List[build.BuildTarget],
+                        include_rpath: bool = False,
+-                       use_gir_args: bool = False) -> T.List[str]:
++                       use_gir_args: bool = False) -> T.Tuple[T.List[str], T.List[T.Union[build.BuildTarget, 'build.GeneratedTypes', 'FileOrString']]]:
+         link_command: T.List[str] = []
++        new_depends = list(depends)
+         # Construct link args
+         if isinstance(lib, build.SharedLibrary):
+             libdir = os.path.join(state.environment.get_build_dir(), state.backend.get_target_dir(lib))
+             link_command.append('-L' + libdir)
+             if include_rpath:
+                 link_command.append('-Wl,-rpath,' + libdir)
+-            depends.append(lib)
++            new_depends.append(lib)
+             # Needed for the following binutils bug:
+             # https://github.com/mesonbuild/meson/issues/1911
+             # However, g-ir-scanner does not understand -Wl,-rpath
+@@ -615,19 +616,19 @@ class GnomeModule(ExtensionModule):
+             link_command.append('--extra-library=' + lib.name)
+         else:
+             link_command.append('-l' + lib.name)
+-        return link_command
++        return link_command, new_depends
+ 
+-    def _get_dependencies_flags(
++    def _get_dependencies_flags_raw(
+             self, deps: T.Sequence[T.Union['Dependency', build.SharedLibrary, build.StaticLibrary]],
+-            state: 'ModuleState', depends: T.List[build.BuildTarget], include_rpath: bool = False,
+-            use_gir_args: bool = False, separate_nodedup: bool = False
+-            ) -> T.Tuple[OrderedSet[str], OrderedSet[str], OrderedSet[str], T.Optional[T.List[str]], OrderedSet[str]]:
++            state: 'ModuleState', depends: T.List[build.BuildTarget], include_rpath: bool,
++            use_gir_args: bool
++            ) -> T.Tuple[OrderedSet[str], OrderedSet[T.Union[str, T.Tuple[str, str]]], OrderedSet[T.Union[str, T.Tuple[str, str]]], T.Optional[T.List[str]], OrderedSet[str],
++                         T.List[T.Union[build.BuildTarget, 'build.GeneratedTypes', 'FileOrString']]]:
+         cflags: OrderedSet[str] = OrderedSet()
+-        internal_ldflags: OrderedSet[str] = OrderedSet()
+-        external_ldflags: OrderedSet[str] = OrderedSet()
+         # External linker flags that can't be de-duped reliably because they
+-        # require two args in order, such as -framework AVFoundation
+-        external_ldflags_nodedup: T.List[str] = []
++        # require two args in order, such as -framework AVFoundation will be stored as a tuple.
++        internal_ldflags: OrderedSet[T.Union[str, T.Tuple[str, str]]] = OrderedSet()
++        external_ldflags: OrderedSet[T.Union[str, T.Tuple[str, str]]] = OrderedSet()
+         gi_includes: OrderedSet[str] = OrderedSet()
+         deps = mesonlib.listify(deps)
+ 
+@@ -642,21 +643,20 @@ class GnomeModule(ExtensionModule):
+                 cflags.update(state.get_include_args(dep.include_directories))
+                 for lib in dep.libraries:
+                     if isinstance(lib, build.SharedLibrary):
+-                        internal_ldflags.update(self._get_link_args(state, lib, depends, include_rpath))
+-                        libdepflags = self._get_dependencies_flags(lib.get_external_deps(), state, depends, include_rpath,
+-                                                                   use_gir_args, True)
++                        _ld, depends = self._get_link_args(state, lib, depends, include_rpath)
++                        internal_ldflags.update(_ld)
++                        libdepflags = self._get_dependencies_flags_raw(lib.get_external_deps(), state, depends, include_rpath,
++                                                                   use_gir_args)
+                         cflags.update(libdepflags[0])
+                         internal_ldflags.update(libdepflags[1])
+                         external_ldflags.update(libdepflags[2])
+-                        external_ldflags_nodedup += libdepflags[3]
+-                        gi_includes.update(libdepflags[4])
+-                extdepflags = self._get_dependencies_flags(dep.ext_deps, state, depends, include_rpath,
+-                                                           use_gir_args, True)
++                        gi_includes.update(libdepflags[3])
++                extdepflags = self._get_dependencies_flags_raw(dep.ext_deps, state, depends, include_rpath,
++                                                           use_gir_args)
+                 cflags.update(extdepflags[0])
+                 internal_ldflags.update(extdepflags[1])
+                 external_ldflags.update(extdepflags[2])
+-                external_ldflags_nodedup += extdepflags[3]
+-                gi_includes.update(extdepflags[4])
++                gi_includes.update(extdepflags[3])
+                 for source in dep.sources:
+                     if isinstance(source, GirTarget):
+                         gi_includes.update([os.path.join(state.environment.get_build_dir(),
+@@ -684,7 +684,7 @@ class GnomeModule(ExtensionModule):
+                     # If it's a framework arg, slurp the framework name too
+                     # to preserve the order of arguments
+                     if flag == '-framework':
+-                        external_ldflags_nodedup += [flag, next(ldflags)]
++                        external_ldflags.update([(flag, next(ldflags))])
+                     else:
+                         external_ldflags.update([flag])
+             elif isinstance(dep, (build.StaticLibrary, build.SharedLibrary)):
+@@ -695,21 +695,41 @@ class GnomeModule(ExtensionModule):
+                 continue
+ 
+         if use_gir_args and self._gir_has_option('--extra-library'):
+-            def fix_ldflags(ldflags: T.Iterable[str]) -> OrderedSet[str]:
+-                fixed_ldflags: OrderedSet[str] = OrderedSet()
++            def fix_ldflags(ldflags: T.Iterable[T.Union[str, T.Tuple[str, str]]]) -> OrderedSet[T.Union[str, T.Tuple[str, str]]]:
++                fixed_ldflags: OrderedSet[T.Union[str, T.Tuple[str, str]]] = OrderedSet()
+                 for ldflag in ldflags:
+-                    if ldflag.startswith("-l"):
++                    if isinstance(ldflag, str) and ldflag.startswith("-l"):
+                         ldflag = ldflag.replace('-l', '--extra-library=', 1)
+                     fixed_ldflags.add(ldflag)
+                 return fixed_ldflags
+             internal_ldflags = fix_ldflags(internal_ldflags)
+             external_ldflags = fix_ldflags(external_ldflags)
+-        if not separate_nodedup:
+-            external_ldflags.update(external_ldflags_nodedup)
+-            return cflags, internal_ldflags, external_ldflags, None, gi_includes
+-        else:
+-            return cflags, internal_ldflags, external_ldflags, external_ldflags_nodedup, gi_includes
++        return cflags, internal_ldflags, external_ldflags, gi_includes, depends
++
++    def _get_dependencies_flags(
++            self, deps: T.Sequence[T.Union['Dependency', build.SharedLibrary, build.StaticLibrary]],
++            state: 'ModuleState', depends: T.List[build.BuildTarget], include_rpath: bool = False,
++            use_gir_args: bool = False
++            ) -> T.Tuple[OrderedSet[str], T.List[str], T.List[str], OrderedSet[str],
++                         T.List[T.Union[build.BuildTarget, 'build.GeneratedTypes', 'FileOrString']]]:
++
++        cflags, internal_ldflags_raw, external_ldflags_raw, gi_includes, depends = self._get_dependencies_flags_raw(deps, state, depends, include_rpath, use_gir_args)
++        internal_ldflags: T.List[str] = []
++        external_ldflags: T.List[str] = []
++
++        # Extract non-deduplicable argument groups out of the tuples.
++        for ldflag in internal_ldflags_raw:
++            if isinstance(ldflag, str):
++                internal_ldflags.append(ldflag)
++            else:
++                internal_ldflags.extend(ldflag)
++        for ldflag in external_ldflags_raw:
++            if isinstance(ldflag, str):
++                external_ldflags.append(ldflag)
++            else:
++                external_ldflags.extend(ldflag)
+ 
++        return cflags, internal_ldflags, external_ldflags, gi_includes, depends
+     def _unwrap_gir_target(self, girtarget: T.Union[build.Executable, build.StaticLibrary, build.SharedLibrary], state: 'ModuleState'
+                            ) -> T.Union[build.Executable, build.StaticLibrary, build.SharedLibrary]:
+         if not isinstance(girtarget, (build.Executable, build.SharedLibrary,
+@@ -1056,7 +1076,7 @@ class GnomeModule(ExtensionModule):
+         # ldflags will be misinterpreted by gir scanner (showing
+         # spurious dependencies) but building GStreamer fails if they
+         # are not used here.
+-        dep_cflags, dep_internal_ldflags, dep_external_ldflags, _, gi_includes = \
++        dep_cflags, dep_internal_ldflags, dep_external_ldflags, gi_includes, depends = \
+             self._get_dependencies_flags(deps, state, depends, use_gir_args=True)
+         scan_cflags = []
+         scan_cflags += list(self._get_scanner_cflags(cflags))
diff --git a/pkgs/development/tools/build-managers/meson/fix-rpath.patch b/pkgs/development/tools/build-managers/meson/fix-rpath.patch
index d34b6c4c43457..29bec7903ca98 100644
--- a/pkgs/development/tools/build-managers/meson/fix-rpath.patch
+++ b/pkgs/development/tools/build-managers/meson/fix-rpath.patch
@@ -1,9 +1,9 @@
 --- a/mesonbuild/backend/backends.py
 +++ b/mesonbuild/backend/backends.py
-@@ -456,6 +456,21 @@ class Backend:
-                 args.extend(self.environment.coredata.get_external_link_args(target.for_machine, lang))
-             except Exception:
-                 pass
+@@ -723,6 +723,21 @@
+     @staticmethod
+     def get_rpath_dirs_from_link_args(args: T.List[str]) -> T.Set[str]:
+         dirs: T.Set[str] = set()
 +
 +        nix_ldflags = os.environ.get('NIX_LDFLAGS', '').split()
 +        next_is_path = False
diff --git a/pkgs/development/tools/build-managers/shards/default.nix b/pkgs/development/tools/build-managers/shards/default.nix
index f810510b5625d..a04eba1d1711a 100644
--- a/pkgs/development/tools/build-managers/shards/default.nix
+++ b/pkgs/development/tools/build-managers/shards/default.nix
@@ -5,7 +5,7 @@
 
 let
   generic =
-    { version, sha256 }:
+    { version, hash }:
 
     crystal.buildCrystalPackage {
       pname = "shards";
@@ -15,7 +15,7 @@ let
         owner = "crystal-lang";
         repo = "shards";
         rev = "v${version}";
-        inherit sha256;
+        inherit hash;
       };
 
       # we cannot use `make` or `shards` here as it would introduce a cyclical dependency
@@ -36,16 +36,10 @@ let
 
 in
 rec {
-
-  shards_0_15 = generic {
-    version = "0.15.0";
-    sha256 = "sha256-/C6whh5RbTBkFWqpn0GqyVe0opbrklm8xPv5MIG99VU=";
-  };
-
-  shards_0_16 = generic {
-    version = "0.16.0";
-    sha256 = "sha256-go8sL4djIDGNwb7FsCcATONnMYahHY8qJUDyUiPLRUY=";
+  shards_0_17 = generic {
+    version = "0.17.0";
+    hash = "sha256-f9MptrKalW7gi0J2h0fokkzdjKBVa2TmoPX8BYffqzY=";
   };
 
-  shards = shards_0_16;
+  shards = shards_0_17;
 }
diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix
index ea6f866a48b12..1855ed966d514 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.24.2";
+  version = "1.25.1";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "buildah";
     rev = "v${version}";
-    sha256 = "sha256-gBO+H26YGmOtP3CUHZjynAaOb0h+MJbJnWqxOZdif6w=";
+    sha256 = "sha256-NQ+Tv3KUrvX+MWM1ZFmsJ4JKoSIpSBjGNiruJkRd6rE=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/development/tools/cambalache/default.nix b/pkgs/development/tools/cambalache/default.nix
new file mode 100644
index 0000000000000..5845ed033c3e9
--- /dev/null
+++ b/pkgs/development/tools/cambalache/default.nix
@@ -0,0 +1,96 @@
+{ stdenv
+, lib
+, fetchFromGitLab
+, python3
+, meson
+, ninja
+, pkg-config
+, gobject-introspection
+, desktop-file-utils
+, shared-mime-info
+, wrapGAppsHook
+, glib
+, gtk3
+, gtk4
+, webkitgtk
+, nix-update-script
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "cambalache";
+  version = "0.8.2";
+
+  format = "other";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "jpu";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-1+IoBoaNHwvN8W+KRyV5cTFkFG+pTHJBehQ2VosCEfs=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gobject-introspection # for setup hook
+    desktop-file-utils # for update-desktop-database
+    shared-mime-info # for update-mime-database
+    wrapGAppsHook
+  ];
+
+  pythonPath = with python3.pkgs; [
+    pygobject3
+    lxml
+  ];
+
+  buildInputs = [
+    glib
+    gtk3
+    gtk4
+    webkitgtk
+  ];
+
+  # Not compatible with gobject-introspection setup hooks.
+  # https://github.com/NixOS/nixpkgs/issues/56943
+  strictDeps = false;
+
+  # Prevent double wrapping.
+  dontWrapGApps = true;
+
+  postPatch = ''
+    patchShebangs postinstall.py
+  '';
+
+  preFixup = ''
+    # Let python wrapper use GNOME flags.
+    makeWrapperArgs+=(
+      # For broadway daemons
+      --prefix PATH : "${lib.makeBinPath [ gtk3 gtk4 ]}"
+      "''${gappsWrapperArgs[@]}"
+    )
+  '';
+
+  postFixup = ''
+    # Wrap a helper script in an unusual location.
+    wrapPythonProgramsIn "$out/${python3.sitePackages}/cambalache/priv/merengue" "$out $pythonPath"
+  '';
+
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = pname;
+    };
+  };
+
+  meta = with lib; {
+    homepage = "https://gitlab.gnome.org/jpu/cambalache";
+    description = "RAD tool for GTK 4 and 3 with data model first philosophy";
+    maintainers = teams.gnome.members;
+    license = with licenses; [
+      lgpl21Only # Cambalache
+      gpl2Only # tools
+    ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/clpm/default.nix b/pkgs/development/tools/clpm/default.nix
index 53fc548df53c6..c58079d0e876e 100644
--- a/pkgs/development/tools/clpm/default.nix
+++ b/pkgs/development/tools/clpm/default.nix
@@ -27,8 +27,8 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     # patch cl-plus-ssl to ensure that it finds libssl and libcrypto
-    sed 's|libssl.so|${openssl.out}/lib/libssl.so|' -i ext/cl-plus-ssl/src/reload.lisp
-    sed 's|libcrypto.so|${openssl.out}/lib/libcrypto.so|' -i ext/cl-plus-ssl/src/reload.lisp
+    sed 's|libssl.so|${lib.getLib openssl}/lib/libssl.so|' -i ext/cl-plus-ssl/src/reload.lisp
+    sed 's|libcrypto.so|${lib.getLib openssl}/lib/libcrypto.so|' -i ext/cl-plus-ssl/src/reload.lisp
     # patch dexador to avoid error due to dexador being loaded multiple times
     sed -i 's/defpackage/uiop:define-package/g' ext/dexador/src/dexador.lisp
   '';
diff --git a/pkgs/development/mobile/cocoapods/Gemfile b/pkgs/development/tools/cocoapods/Gemfile
index 329b51518e4cf..329b51518e4cf 100644
--- a/pkgs/development/mobile/cocoapods/Gemfile
+++ b/pkgs/development/tools/cocoapods/Gemfile
diff --git a/pkgs/development/mobile/cocoapods/Gemfile-beta b/pkgs/development/tools/cocoapods/Gemfile-beta
index dd4b350b4372c..dd4b350b4372c 100644
--- a/pkgs/development/mobile/cocoapods/Gemfile-beta
+++ b/pkgs/development/tools/cocoapods/Gemfile-beta
diff --git a/pkgs/development/mobile/cocoapods/Gemfile-beta.lock b/pkgs/development/tools/cocoapods/Gemfile-beta.lock
index 3904e6acf98ab..3904e6acf98ab 100644
--- a/pkgs/development/mobile/cocoapods/Gemfile-beta.lock
+++ b/pkgs/development/tools/cocoapods/Gemfile-beta.lock
diff --git a/pkgs/development/mobile/cocoapods/Gemfile.lock b/pkgs/development/tools/cocoapods/Gemfile.lock
index 2cc06eac27378..2cc06eac27378 100644
--- a/pkgs/development/mobile/cocoapods/Gemfile.lock
+++ b/pkgs/development/tools/cocoapods/Gemfile.lock
diff --git a/pkgs/development/mobile/cocoapods/default.nix b/pkgs/development/tools/cocoapods/default.nix
index 8559ff5c74ca8..54411fc015863 100644
--- a/pkgs/development/mobile/cocoapods/default.nix
+++ b/pkgs/development/tools/cocoapods/default.nix
@@ -21,5 +21,6 @@ bundlerApp {
       peterromfeldhk
       lilyball
     ];
+    mainProgram = "pod";
   };
 }
diff --git a/pkgs/development/mobile/cocoapods/gemset-beta.nix b/pkgs/development/tools/cocoapods/gemset-beta.nix
index e1f573b89c31e..e1f573b89c31e 100644
--- a/pkgs/development/mobile/cocoapods/gemset-beta.nix
+++ b/pkgs/development/tools/cocoapods/gemset-beta.nix
diff --git a/pkgs/development/mobile/cocoapods/gemset.nix b/pkgs/development/tools/cocoapods/gemset.nix
index 7d74b857cf5c5..7d74b857cf5c5 100644
--- a/pkgs/development/mobile/cocoapods/gemset.nix
+++ b/pkgs/development/tools/cocoapods/gemset.nix
diff --git a/pkgs/development/mobile/cocoapods/update b/pkgs/development/tools/cocoapods/update
index 66f6f7b66fd41..66f6f7b66fd41 100755
--- a/pkgs/development/mobile/cocoapods/update
+++ b/pkgs/development/tools/cocoapods/update
diff --git a/pkgs/development/tools/container-linux-config-transpiler/default.nix b/pkgs/development/tools/container-linux-config-transpiler/default.nix
deleted file mode 100644
index 5b2a7fddeb459..0000000000000
--- a/pkgs/development/tools/container-linux-config-transpiler/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib, fetchFromGitHub, buildGoPackage }:
-
-with lib;
-
-buildGoPackage rec {
-  pname = "ct";
-  version = "0.9.0";
-
-  goPackagePath = "github.com/coreos/container-linux-config-transpiler";
-
-  src = fetchFromGitHub {
-    owner = "coreos";
-    repo = "container-linux-config-transpiler";
-    rev = "v${version}";
-    sha256="1w6nvgrl5qp3ci9igflk9dlk3020psv5m4f3p57f3qcx9vrcl4lw";
-  };
-
-  ldflags = [
-    "-X ${goPackagePath}/internal/version.Raw=v${version}"
-  ];
-
-  postInstall = ''
-    mv $out/bin/{internal,ct}
-    rm $out/bin/tools
-  '';
-
-  meta = {
-    description = "Convert a Container Linux Config into Ignition";
-    license = licenses.asl20;
-    homepage = "https://github.com/coreos/container-linux-config-transpiler";
-    maintainers = with maintainers; [elijahcaine];
-    platforms = with platforms; unix;
-  };
-}
diff --git a/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix b/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
index b6375f1c286a8..70e60d8418ffe 100644
--- a/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
+++ b/pkgs/development/tools/continuous-integration/buildkite-agent/default.nix
@@ -3,16 +3,16 @@
   nixosTests }:
 buildGoModule rec {
   pname = "buildkite-agent";
-  version = "3.33.3";
+  version = "3.35.1";
 
   src = fetchFromGitHub {
     owner = "buildkite";
     repo = "agent";
     rev = "v${version}";
-    sha256 = "sha256-RCKHVFYYcWraUwsGuD/anmWpNwc7cHc9jm0LwR9WRzA=";
+    sha256 = "sha256-fa32tKOlRuKTONiMboX7CUxeknePsNRC7jlBvAtXmus=";
   };
 
-  vendorSha256 = "sha256-n3XRxpEKjHf7L7fcGscWTVKBtot9waZbLoS9cG0kHfI=";
+  vendorSha256 = "sha256-YnOOJDzdirikFbS9451A/TWOSWv04QsqO68/cSXK82k=";
 
   postPatch = ''
     substituteInPlace bootstrap/shell/shell.go --replace /bin/bash ${bash}/bin/bash
@@ -46,7 +46,7 @@ buildGoModule rec {
     '';
     homepage = "https://buildkite.com/docs/agent";
     license = licenses.mit;
-    maintainers = with maintainers; [ pawelpacana zimbatm rvl ];
+    maintainers = with maintainers; [ pawelpacana zimbatm rvl techknowlogick ];
     platforms = with platforms; unix ++ darwin;
   };
 }
diff --git a/pkgs/development/tools/continuous-integration/drone/default.nix b/pkgs/development/tools/continuous-integration/drone/default.nix
index 0f36f8dc02773..7e00f481752fb 100644
--- a/pkgs/development/tools/continuous-integration/drone/default.nix
+++ b/pkgs/development/tools/continuous-integration/drone/default.nix
@@ -3,23 +3,23 @@
 
 buildGoModule rec {
   pname = "drone.io${lib.optionalString (!enableUnfree) "-oss"}";
-  version = "2.0.3";
+  version = "2.11.1";
 
-  vendorSha256 = "sha256-3qTH/p0l6Ke1F9SUcvK2diqZooOMnlXYO1PHLdJJ8PM=";
+  vendorSha256 = "sha256-oJBGHr4LjrX7e197s4tqkiysWJS3RRW6JWI9ncs/uHw=";
 
   doCheck = false;
 
   src = fetchFromGitHub {
-    owner = "drone";
+    owner = "harness";
     repo = "drone";
     rev = "v${version}";
-    sha256 = "sha256-MKV5kor+Wm9cuIFFcjSNyCgVKtY+/B9sgBOXMMRvMPI=";
+    sha256 = "sha256-bbWJo7PnwQaVKRpSnRK5pm0cD9orlkEOUa+y7UnACjg=";
   };
 
   tags = lib.optionals (!enableUnfree) [ "oss" "nolimit" ];
 
   meta = with lib; {
-    maintainers = with maintainers; [ elohmeier vdemeester ];
+    maintainers = with maintainers; [ elohmeier vdemeester techknowlogick ];
     license = with licenses; if enableUnfree then unfreeRedistributable else asl20;
     description = "Continuous Integration platform built on container technology";
   };
diff --git a/pkgs/development/tools/continuous-integration/fly/default.nix b/pkgs/development/tools/continuous-integration/fly/default.nix
index f02a6cf8762fc..ad9752872738d 100644
--- a/pkgs/development/tools/continuous-integration/fly/default.nix
+++ b/pkgs/development/tools/continuous-integration/fly/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "fly";
-  version = "7.7.0";
+  version = "7.7.1";
 
   src = fetchFromGitHub {
     owner = "concourse";
     repo = "concourse";
     rev = "v${version}";
-    sha256 = "sha256-BKEUKQQxZ+Maq2JSHeWuQ7Lhgfc33pSiVS6VfAlMu/g=";
+    sha256 = "sha256-AJvD9re4jj+ixvZKWHDJM0QEv5EPFv3VFJus3lnm2LI=";
   };
 
   vendorSha256 = "sha256-G9HdhPi4iezUR6SIVYnjL0fznOfiusY4T9ClLPr1w5c=";
diff --git a/pkgs/development/tools/continuous-integration/github-runner/default.nix b/pkgs/development/tools/continuous-integration/github-runner/default.nix
index c8513d004af5b..f53ebd645d05d 100644
--- a/pkgs/development/tools/continuous-integration/github-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/github-runner/default.nix
@@ -43,13 +43,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "github-runner";
-  version = "2.289.1";
+  version = "2.289.2";
 
   src = fetchFromGitHub {
     owner = "actions";
     repo = "runner";
     rev = "v${version}";
-    hash = "sha256-5TS/tW1hnDvPZQdR659rw+spLq98niyUms3BrixaKRE=";
+    hash = "sha256-yISJ/qGJ+tGnJOqpTUe+rkG4UGzTZ5tIXix6wuDKXO0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/cosmoc/default.nix b/pkgs/development/tools/cosmoc/default.nix
new file mode 100644
index 0000000000000..f1e80d91df55e
--- /dev/null
+++ b/pkgs/development/tools/cosmoc/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, lib, cosmopolitan }:
+
+stdenv.mkDerivation {
+  pname = "cosmoc";
+  inherit (cosmopolitan) version;
+
+  doInstallCheck = true;
+  dontUnpack = true;
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    cat <<EOF >$out/bin/cosmoc
+    #!${stdenv.shell}
+    exec ${stdenv.cc}/bin/${stdenv.cc.targetPrefix}gcc \
+      -O -static -nostdlib -nostdinc -fno-pie -no-pie -mno-red-zone \
+      "\$@" \
+      -Wl,--gc-sections -Wl,-z,max-page-size=0x1000 \
+      -fuse-ld=bfd -Wl,-T,${cosmopolitan}/lib/ape.lds \
+      -include ${cosmopolitan}/include/cosmopolitan.h \
+      ${cosmopolitan}/lib/{crt.o,ape.o,cosmopolitan.a}
+    EOF
+    chmod +x $out/bin/cosmoc
+    runHook postInstall
+  '';
+
+  installCheckPhase = ''
+    printf 'main() { printf("hello world\\n"); }\n' >hello.c
+    $out/bin/cosmoc hello.c
+    ./a.out
+  '';
+
+  meta = with lib; {
+    homepage = "https://justine.lol/cosmopolitan/";
+    description = "compiler for Cosmopolitan C programs";
+    license = licenses.mit;
+    maintainers = teams.cosmopolitan.members;
+  };
+}
diff --git a/pkgs/development/tools/database/prisma-engines/default.nix b/pkgs/development/tools/database/prisma-engines/default.nix
index 18614291d587a..73af1bde5ea2c 100644
--- a/pkgs/development/tools/database/prisma-engines/default.nix
+++ b/pkgs/development/tools/database/prisma-engines/default.nix
@@ -8,21 +8,24 @@
 , stdenv
 }:
 
+# Updating this package will force an update for nodePackages.prisma. The
+# version of prisma-engines and nodePackages.prisma must be the same for them to
+# function correctly.
 rustPlatform.buildRustPackage rec {
   pname = "prisma-engines";
-  version = "3.11.0";
+  version = "3.12.0";
 
   src = fetchFromGitHub {
     owner = "prisma";
     repo = "prisma-engines";
     rev = version;
-    sha256 = "sha256-z7ebwidY+p350XaGeyohoSHWc2DhfzpRxsRDLON1BuA=";
+    sha256 = "sha256-lIHE63XIPutvTS2cid0+tuo+JMSKMGuSUcnFv1mCRrM=";
   };
 
   # Use system openssl.
   OPENSSL_NO_VENDOR = 1;
 
-  cargoSha256 = "sha256-PQdLoNJL9szPzPtFRznWS0lngTvtWK+Ko2rp4JWH9dQ=";
+  cargoSha256 = "sha256-SkI+GLHknC+CGhGo7KiZahBxMp/JCIukTe2C0mMTdjY=";
 
   nativeBuildInputs = [ pkg-config ];
 
@@ -33,7 +36,7 @@ rustPlatform.buildRustPackage rec {
 
   preBuild = ''
     export OPENSSL_DIR=${lib.getDev openssl}
-    export OPENSSL_LIB_DIR=${openssl.out}/lib
+    export OPENSSL_LIB_DIR=${lib.getLib openssl}/lib
 
     export PROTOC=${protobuf}/bin/protoc
     export PROTOC_INCLUDE="${protobuf}/include";
@@ -56,6 +59,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://www.prisma.io/";
     license = licenses.asl20;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ pamplemousse pimeys ];
+    maintainers = with maintainers; [ pamplemousse pimeys superherointj ];
   };
 }
diff --git a/pkgs/development/tools/database/sqlfluff/default.nix b/pkgs/development/tools/database/sqlfluff/default.nix
index 4ecb24d3712e8..cc6757e239a7d 100644
--- a/pkgs/development/tools/database/sqlfluff/default.nix
+++ b/pkgs/development/tools/database/sqlfluff/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "sqlfluff";
-  version = "0.11.1";
+  version = "0.11.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    hash = "sha256-wd/tuFOoWhts/i+FCNVXmREUHAsh6hYOUowCyZjg92Y=";
+    hash = "sha256-iEjfp6QXMIk/ehq0Ypa8JXv3/u40w39NHz7HhC1KBms=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/development/tools/ddosify/default.nix b/pkgs/development/tools/ddosify/default.nix
index fdec9ad19ed0a..601f4f17ae65f 100644
--- a/pkgs/development/tools/ddosify/default.nix
+++ b/pkgs/development/tools/ddosify/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ddosify";
-  version = "0.7.5";
+  version = "0.7.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-n9xKg8RN2o20dTsV8a0tAJjmvAlwZ7TF2cTrXx+f49k=";
+    sha256 = "sha256-nwTVSx6+ELTZnM2tOuyzr7Koq6SE5L52S4revRjGABs=";
   };
 
   vendorSha256 = "sha256-lbo9P2UN9TmUAqyhFdbOHWokoAogVQZihpcOlhmumxU=";
diff --git a/pkgs/development/tools/deadcode/default.nix b/pkgs/development/tools/deadcode/default.nix
index 014acc89e1f7d..c5074cd037768 100644
--- a/pkgs/development/tools/deadcode/default.nix
+++ b/pkgs/development/tools/deadcode/default.nix
@@ -11,7 +11,7 @@ buildGoPackage rec {
   rev = "210d2dc333e90c7e3eedf4f2242507a8e83ed4ab";
 
   goPackagePath = "github.com/tsenart/deadcode";
-  excludedPackages = "\\(cmd/fillswitch/test-fixtures\\)";
+  excludedPackages = "cmd/fillswitch/test-fixtures";
 
   src = fetchFromGitHub {
     inherit rev;
diff --git a/pkgs/development/tools/delve/default.nix b/pkgs/development/tools/delve/default.nix
index 478ef3b6fc685..f42046c284ec9 100644
--- a/pkgs/development/tools/delve/default.nix
+++ b/pkgs/development/tools/delve/default.nix
@@ -5,7 +5,7 @@ buildGoPackage rec {
   version = "1.8.2";
 
   goPackagePath = "github.com/go-delve/delve";
-  excludedPackages = "\\(_fixtures\\|scripts\\|service/test\\)";
+  excludedPackages = [ "_fixtures" "scripts" "service/test" ];
 
   src = fetchFromGitHub {
     owner = "go-delve";
diff --git a/pkgs/development/tools/documentation/doxygen/default.nix b/pkgs/development/tools/documentation/doxygen/default.nix
index a4a70dabd69dc..5a0807974edec 100644
--- a/pkgs/development/tools/documentation/doxygen/default.nix
+++ b/pkgs/development/tools/documentation/doxygen/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "doxygen";
-  version = "1.8.20";
+  version = "1.9.3";
 
   src = fetchFromGitHub {
     owner = "doxygen";
     repo = "doxygen";
     rev = "Release_${lib.replaceStrings [ "." ] [ "_" ] version}";
-    sha256 = "17chvi3i80rj4750smpizf562xjzd2xcv5rfyh997pyvc1zbq5rh";
+    sha256 = "1xfsv31ffrv03qhxlscav0r5mdi3qz4654ib9cq35rvmxfj999bw";
   };
 
   nativeBuildInputs = [
@@ -30,19 +30,20 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE =
     lib.optionalString stdenv.isDarwin "-mmacosx-version-min=10.9";
 
-  enableParallelBuilding = false;
-
   meta = {
     license = lib.licenses.gpl2Plus;
-    homepage = "http://doxygen.nl/";
+    homepage = "https://www.doxygen.nl/";
+    changelog = "https://www.doxygen.nl/manual/changelog.html";
     description = "Source code documentation generator tool";
 
     longDescription = ''
-      Doxygen is a documentation system for C++, C, Java, Objective-C,
-      Python, IDL (CORBA and Microsoft flavors), Fortran, VHDL, PHP,
-      C\#, and to some extent D.  It can generate an on-line
-      documentation browser (in HTML) and/or an off-line reference
-      manual (in LaTeX) from a set of documented source files.
+      Doxygen is the de facto standard tool for generating documentation from
+      annotated C++ sources, but it also supports other popular programming
+      languages such as C, Objective-C, C#, PHP, Java, Python, IDL (Corba,
+      Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL and to some extent
+      D. It can generate an on-line documentation browser (in HTML) and/or an
+      off-line reference manual (in LaTeX) from a set of documented source
+      files.
     '';
 
     platforms = if qt5 != null then lib.platforms.linux else lib.platforms.unix;
diff --git a/pkgs/development/tools/documentation/gi-docgen/default.nix b/pkgs/development/tools/documentation/gi-docgen/default.nix
index 05b7aac82c17a..85836f435cba5 100644
--- a/pkgs/development/tools/documentation/gi-docgen/default.nix
+++ b/pkgs/development/tools/documentation/gi-docgen/default.nix
@@ -1,6 +1,5 @@
 { lib
 , fetchFromGitLab
-, fetchpatch
 , meson
 , ninja
 , python3
@@ -8,7 +7,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "gi-docgen";
-  version = "2021.8";
+  version = "2022.1";
 
   format = "other";
 
@@ -17,18 +16,9 @@ python3.pkgs.buildPythonApplication rec {
     owner = "GNOME";
     repo = pname;
     rev = version;
-    sha256 = "Y1IdCH6bytxbKIj48IAw/3XUQhoqwPshvdj/d1hRS3o=";
+    sha256 = "35pL/2TQRVgPfAcfOGCLlSP1LIh4r95mFC+UoXQEEHo=";
   };
 
-  patches = [
-    # Fix building docs of some packages (e.g. gnome-builder)
-    # https://gitlab.gnome.org/GNOME/gi-docgen/-/issues/111
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/gi-docgen/-/commit/72f3c5dbe27aabb5f7a376afda23f3dfc3c2e212.patch";
-      sha256 = "iVXc3idmcjmFVZQdE2QX2V53YZ79lqxZid9nWdxAZ/Q=";
-    })
-  ];
-
   depsBuildBuild = [
     python3
   ];
diff --git a/pkgs/development/tools/earthly/default.nix b/pkgs/development/tools/earthly/default.nix
index 635552842968e..86805daf1c739 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.11";
+  version = "0.6.13";
 
   src = fetchFromGitHub {
     owner = "earthly";
     repo = "earthly";
     rev = "v${version}";
-    sha256 = "sha256-awlE+k4Oa64Z2n+XbeDuezea+5D0ol7hyscVY6j52gI=";
+    sha256 = "sha256-xOsLFFa6OsfdXOjYZBV71gafaAAX9PfMokppMKJzlZg=";
   };
 
-  vendorSha256 = "sha256-uUx9C7uEdXjhDWxehGHuhuFQXdUjZAXK3qogESkRm8E=";
+  vendorSha256 = "sha256-2bOaJdK12qGjjVtoBp3LeSyIiFwm4ZvxNI5yR0HriXI=";
 
   ldflags = [
     "-s" "-w"
diff --git a/pkgs/development/tools/efm-langserver/default.nix b/pkgs/development/tools/efm-langserver/default.nix
index 29304d7d26549..a030a271b487f 100644
--- a/pkgs/development/tools/efm-langserver/default.nix
+++ b/pkgs/development/tools/efm-langserver/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "efm-langserver";
-  version = "0.0.41";
+  version = "0.0.42";
 
   src = fetchFromGitHub {
     owner = "mattn";
     repo = "efm-langserver";
     rev = "v${version}";
-    sha256 = "sha256-0s6GmMbjtXGUcChzc8Pkqvmt3iU5uDUqe76OUDngboU=";
+    sha256 = "sha256-1IAPtqIozp9Wp3L95mmhFuWvWvCDuTh1VsCVaJSzyfk=";
   };
 
-  vendorSha256 = "sha256-tca+1SRrFyvU8ttHmfMFiGXd1A8rQSEWm1Mc2qp0EfI=";
+  vendorSha256 = "sha256-KABezphT5/o3XWSFNe2OvfawFR8uwsGMnjsI9xh378Q=";
   subPackages = [ "." ];
 
   meta = with lib; {
diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix
index 24dc8614b29a8..0ed800eb7c631 100644
--- a/pkgs/development/tools/electron/default.nix
+++ b/pkgs/development/tools/electron/default.nix
@@ -73,43 +73,43 @@ rec {
     headers = "0vvizddmhprprbdf6bklasz6amwc254bpc9j0zlx23d1pgyxpnhc";
   };
 
-  electron_14 = mkElectron "14.2.7" {
-    armv7l-linux = "bb0c25671daa0dc235e212831d62f18b9a7f2692279bcd8e4a15f2d84ee7124d";
-    aarch64-linux = "149c5df2cf98ee0a2ce5445b3fb00752f42c3f7ab9677b7a54ba01fba2e2f4ec";
-    x86_64-linux = "ad80f424e8d8d79f0be078d8a1ddef8fd659fa3dd8aaf6704ab97f2a13489558";
-    i686-linux = "82b29272cb52dbe969c0bd6cf9b69896c86abe1d9ef473a3844c0ab3dc92b353";
-    x86_64-darwin = "2a5d8336dcd140158964801d482344756377d924a06e6605959034a41f7e026b";
-    aarch64-darwin = "b45869ff61bdf392bca498529b6445d47a784079f6a33af6b19d517953f03fd8";
-    headers = "0339fs3iyp869xi1xmn9z2b1n32wf408cc0z9bz6shns44ymkyhd";
+  electron_14 = mkElectron "14.2.9" {
+    armv7l-linux = "02ae6cd9ec9c2dcb2f550923576a0c851fff3e796a5048dd3806947c541fd564";
+    aarch64-linux = "631ba0f716d0272931418de42468114360bd21ec72875605fc32d67620743d2c";
+    x86_64-linux = "0a62a41e8ac4592aba347c82f9c40f3fb4c84c7d00b6bb9501d02375cd49cb7d";
+    i686-linux = "55e395a209d4a90e2dcd20a78af4724355feaba86411a39e66b977ed39de4d05";
+    x86_64-darwin = "1df5b4c4414ade75c6cbfe13d3024702b8ae7c77f3f07b8955b2459fde6a5842";
+    aarch64-darwin = "17089e54830976c4216d26e7e2e15ad2224e3b288d94973fed7e67e9b1c213b3";
+    headers = "181b2agnf4b5s81p2rdnd6wkw9c2ri4cv1x0wwf7rj60axvzvydm";
   };
 
-  electron_15 = mkElectron "15.4.1" {
-    armv7l-linux = "e0fe5daed46a5d718b3209fa301aea743df694daf6605f9313f4ca6c70fe5167";
-    aarch64-linux = "fa108edd4c146811bdee842fcd278b046ae0ff157de5e072c3ff3ac0bcb310c2";
-    x86_64-linux = "867095924d434b3918df8576e7af94fecea4d29461fcfb69c40161f02158ff15";
-    i686-linux = "8e79fa9f4125f254abb437445fed8f3f8ec10dd2462e1ced3e7df49c622e087d";
-    x86_64-darwin = "899d16a0e0157809c297ceb3710c53441ec4396333d9ad5b65297446874e14dc";
-    aarch64-darwin = "8295bf45dab1131dfdfd15654a0b1d85bfae221052ba64353368a2c0faaaa3ff";
-    headers = "073697wjq60cnz42xmnjsr0xqcmcsl4m48mmzrz1rxrc8mvi86gr";
+  electron_15 = mkElectron "15.5.1" {
+    armv7l-linux = "222e9ad3210cf538c45f938b5b1a5d901b36fb6ec09461446e4ab4ea6ee9bc1b";
+    aarch64-linux = "16a0053036a9f6ba947445c85bacda720975a23a910e78cab8dce1bf8ad2acf7";
+    x86_64-linux = "99867ef0eef53f214ef4c8a4ec0223890d9c38b73fd6bf4fb49a9e400dff5726";
+    i686-linux = "6d65c900c77b9e259932b20978d78a56bb04fad590f29a5935d8a31f5e0891db";
+    x86_64-darwin = "54e6312d5e06e16eab78d86ddb01553864b66f608d017c7a1c4a0a318be32081";
+    aarch64-darwin = "6472bea7f38f38c20a8c87e6daf70ca0d00b7c29b1641eeda6c8d45f9e60784b";
+    headers = "0dgxyndsyhk5m9m8iiy2h3vg1gz1xg5nj75537apsh9mdiizsfhk";
   };
 
-  electron_16 = mkElectron "16.1.0" {
-    armv7l-linux = "f3ab34c73b4100ffc5041ed9aa0608d1dc6b98fe3c2caa14be3d5c3ffbebda76";
-    aarch64-linux = "e80a7e4a59b94c7cd02b16ca37a2b0f26ddb58ddac23135c6180b238589f1c62";
-    x86_64-linux = "36c79af4d05e89ef9c9616a156f63adc5b453ee6bee5d8f4331e75ee77198e85";
-    i686-linux = "7129a96fc33de70cfe5d6d0e17ecff1b4dcf52d825a6ad05b10ca67da7b43665";
-    x86_64-darwin = "723859249e959948cdd339acf708022fb0195b433809af25b4a9f4d69b9da52f";
-    aarch64-darwin = "e76558028979f70107e5b1897275a9789be20b13991bfbcebeab7fc220f15764";
-    headers = "0yv9rssrfi0hdzrjf1n735dsz9sgy78jzxdcf9is2387yrr1qiyz";
+  electron_16 = mkElectron "16.2.1" {
+    armv7l-linux = "d55daeffed60cfd0c2de4ea8cab102ec5957dbd0cd863add881080e891b02334";
+    aarch64-linux = "6446c665a1c6d7648dbeae94a669423b4c6768bafa96f0d3f8072b8c5d5a949e";
+    x86_64-linux = "7b27a8531a8ef60fa27dd119422a81a710e09f7d8cb01777f1fe7b7ab67e3ac4";
+    i686-linux = "eb7e0c8113af80f0e4edbae35d2cca718c1e98966da87041304fa6afb2d3e4c0";
+    x86_64-darwin = "0386e3318d4b5cfabccc226ca88bd9946669901f381e3817d1d414b1356e472c";
+    aarch64-darwin = "280660c0333702de9d95bcf9a21d3db8d148bef2a5946bb57d20b9e5f2aadb96";
+    headers = "121wrzy81h9m12y83mb0xs9jbm5l4w31f831lmb4wmkkg54bvcwj";
   };
 
-  electron_17 = mkElectron "17.1.2" {
-    armv7l-linux = "b561c04c9fa8c512f418ea5c32f5526732e1ccd150ee4830a0091d0fa1b7e31c";
-    aarch64-linux = "cda7e66c6672def9edd881107c28e2eec09b7802a38227ac89bb233191ce4840";
-    x86_64-linux = "7e7c35e8c1a0fc451e7af19fa73264881ae2c4672c52a2ae1cdd61604650ca94";
-    i686-linux = "de87a7952c93c1d8e8c533a700bbfc76d3893e9ad438413507d11450b80a9c97";
-    x86_64-darwin = "d4382d3f01b750676a1f3c9e2273ad69cac16dc64a4145469c663bcda8d2471b";
-    aarch64-darwin = "135dec87211fcefdb53ab1fef13344c7b71a321f7c4f6846f260c1e0848e73bf";
-    headers = "15k234d044lgmc3psyxz9syy9wvzgn54znklak9sv6gcajjzll10";
+  electron_17 = mkElectron "17.3.1" {
+    armv7l-linux = "ad7864f9a580b3fd8865480caa6cccbaefa5d7e5fdbe455700ab711b0adf2228";
+    aarch64-linux = "e0f03aff5339e4dab85cbc970568ca31599ee0f032d1e766c23deea7d96654b0";
+    x86_64-linux = "59d13b1d060523d1098e6e1e5bf7c6f2494b713321541f863dc459a42d2c40a8";
+    i686-linux = "6d31d5117f4508bc7e0f9ecb6423d266b47fb5f074b0dfa8ddcfc2298c764151";
+    x86_64-darwin = "c70a6e906ae7ce02552f1722022147f2416f27de0f98b88a0b7b1a09e341426f";
+    aarch64-darwin = "76a9c8cbfa578c7e6678e6ccab2417374d1b3d3d81c6cac5ceea0aa058c12a8f";
+    headers = "11k5sw7wk0fjjdlhcvbkwpffslngm9ns8l4c7rxa4qx8n1six9sf";
   };
 }
diff --git a/pkgs/development/tools/electron/generic.nix b/pkgs/development/tools/electron/generic.nix
index 08edf8a309277..7fefe186c1089 100644
--- a/pkgs/development/tools/electron/generic.nix
+++ b/pkgs/development/tools/electron/generic.nix
@@ -29,7 +29,7 @@ let
     maintainers = with maintainers; [ travisbhartwell manveru prusnak ];
     platforms = [ "x86_64-darwin" "x86_64-linux" "i686-linux" "armv7l-linux" "aarch64-linux" ]
       ++ optionals (versionAtLeast version "11.0.0") [ "aarch64-darwin" ];
-    knownVulnerabilities = optional (versionOlder version "14.0.0") "Electron version ${version} is EOL";
+    knownVulnerabilities = optional (versionOlder version "15.0.0") "Electron version ${version} is EOL";
   };
 
   fetcher = vers: tag: hash: fetchurl {
diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix
index 3d136a62f522e..8844af40f4d11 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.27";
+  version = "0.14.29";
 
   src = fetchFromGitHub {
     owner = "evanw";
     repo = "esbuild";
     rev = "v${version}";
-    sha256 = "sha256-h5PodIFzqD0hJb89eGxMJN6uvrF2exOHJYk+Wmwvso8=";
+    sha256 = "sha256-v16wKi+CphROS9s3PdzzuRoh3gLfSUgincyTp38WKxQ=";
   };
 
   vendorSha256 = "sha256-QPkBR+FscUc3jOvH7olcGUhM6OW4vxawmNJuRQxPuGs=";
diff --git a/pkgs/development/tools/gauge/default.nix b/pkgs/development/tools/gauge/default.nix
index 1048ca1944117..4a300df0577cc 100644
--- a/pkgs/development/tools/gauge/default.nix
+++ b/pkgs/development/tools/gauge/default.nix
@@ -4,7 +4,7 @@ buildGoModule rec {
   pname = "gauge";
   version = "1.4.3";
 
-  excludedPackages = ''\(build\|man\)'';
+  excludedPackages = [ "build" "man" ];
 
   src = fetchFromGitHub {
     owner = "getgauge";
diff --git a/pkgs/development/tools/ginkgo/default.nix b/pkgs/development/tools/ginkgo/default.nix
index 6719d71039211..9985d43da2f7c 100644
--- a/pkgs/development/tools/ginkgo/default.nix
+++ b/pkgs/development/tools/ginkgo/default.nix
@@ -14,7 +14,7 @@ buildGoModule rec {
 
   # integration tests expect more file changes
   # types tests are missing CodeLocation
-  excludedPackages = "\\(integration\\|types\\)";
+  excludedPackages = [ "integration" "types" ];
 
   meta = with lib; {
     homepage = "https://onsi.github.io/ginkgo/";
diff --git a/pkgs/development/tools/glade/default.nix b/pkgs/development/tools/glade/default.nix
index 3e5c7b0438fd3..adec880eabe04 100644
--- a/pkgs/development/tools/glade/default.nix
+++ b/pkgs/development/tools/glade/default.nix
@@ -1,6 +1,8 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , gettext
 , fetchurl
+, fetchpatch
 , python3
 , meson
 , ninja
@@ -30,6 +32,22 @@ stdenv.mkDerivation rec {
     sha256 = "1dxsiz9ahqkxg2a1dw9sbd8jg59y5pdz4c1gvnbmql48gmj8gz4q";
   };
 
+  patches = [
+    # Fix build with meson 0.61
+    # data/meson.build:4:5: ERROR: Function does not take positional arguments.
+    # Taken from https://gitlab.gnome.org/GNOME/glade/-/merge_requests/117
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/glade/-/commit/61304b2e8bac8ded76643cb7c3e781f73881dd2b.patch";
+      sha256 = "9x6RK8Wgnm8bDxeBLV3PlUkUuH2706Ba9kwE5S87DgE=";
+    })
+    # help/meson.build:6:6: ERROR: Tried to create target "help-glade-da-update-po", but a target of that name already exists.
+    # Taken from https://gitlab.gnome.org/GNOME/glade/-/merge_requests/117
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/glade/-/commit/04ba6f969f716fbfe3c7feb7e4bab8678cc1e9eb.patch";
+      sha256 = "j3XfF7P6rndL+0PWqnp+QYph7Ba6bgcp4Pkikr2wuJA=";
+    })
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/development/tools/go-motion/default.nix b/pkgs/development/tools/go-motion/default.nix
index 9ece650f0cb29..5004afc28e359 100644
--- a/pkgs/development/tools/go-motion/default.nix
+++ b/pkgs/development/tools/go-motion/default.nix
@@ -9,7 +9,6 @@ buildGoPackage rec {
   rev = "218875ebe23806e7af82f3b5b14bb3355534f679";
 
   goPackagePath = "github.com/fatih/motion";
-  excludedPackages = "testdata";
 
   src = fetchFromGitHub {
     inherit rev;
diff --git a/pkgs/development/tools/gocode-gomod/default.nix b/pkgs/development/tools/gocode-gomod/default.nix
index fca346b78c429..c07d38b607335 100644
--- a/pkgs/development/tools/gocode-gomod/default.nix
+++ b/pkgs/development/tools/gocode-gomod/default.nix
@@ -9,8 +9,6 @@ buildGoModule rec {
   # standard packages.
   allowGoReference = true;
 
-  excludedPackages = "internal/suggest/testdata";
-
   src = fetchFromGitHub {
     owner = "stamblerre";
     repo = "gocode";
diff --git a/pkgs/development/tools/gocode/default.nix b/pkgs/development/tools/gocode/default.nix
index be9f70da9341f..687b69cf20278 100644
--- a/pkgs/development/tools/gocode/default.nix
+++ b/pkgs/development/tools/gocode/default.nix
@@ -6,7 +6,6 @@ buildGoPackage rec {
   rev = "4acdcbdea79de6b3dee1c637eca5cbea0fdbe37c";
 
   goPackagePath = "github.com/mdempsky/gocode";
-  excludedPackages = "internal/suggest/testdata";
 
   # we must allow references to the original `go` package,
   # because `gocode` needs to dig into $GOROOT to provide completions for the
diff --git a/pkgs/development/tools/gogetdoc/default.nix b/pkgs/development/tools/gogetdoc/default.nix
index 2a111a8d1ab34..6f7c189ea9d2e 100644
--- a/pkgs/development/tools/gogetdoc/default.nix
+++ b/pkgs/development/tools/gogetdoc/default.nix
@@ -12,8 +12,6 @@ buildGoModule rec {
 
   doCheck = false;
 
-  excludedPackages = "\\(testdata\\)";
-
   src = fetchFromGitHub {
     inherit rev;
 
diff --git a/pkgs/development/tools/golangci-lint/default.nix b/pkgs/development/tools/golangci-lint/default.nix
index e651cd82b1d1f..28b15172e4056 100644
--- a/pkgs/development/tools/golangci-lint/default.nix
+++ b/pkgs/development/tools/golangci-lint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "golangci-lint";
-  version = "1.45.0";
+  version = "1.45.2";
 
   src = fetchFromGitHub {
     owner = "golangci";
     repo = "golangci-lint";
     rev = "v${version}";
-    sha256 = "sha256-nIkDtWUGKSeuGLCgyAYzrIhEk2INX0gZUCOmq+BKbDY=";
+    sha256 = "sha256-Mr45nJbpyzxo0ZPwx22JW2WrjyjI9FPpl+gZ7NIc6WQ=";
   };
 
-  vendorSha256 = "sha256-ruthLNtMYMi2q3fuxOJSsJw5w3uqZi88yJ3BFgNCAHs=";
+  vendorSha256 = "sha256-pcbKg1ePN8pObS9EzP3QYjtaty27L9sroKUs/qEPtJo=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/golint/default.nix b/pkgs/development/tools/golint/default.nix
index 3187f793127ee..aa6ce6c7cda59 100644
--- a/pkgs/development/tools/golint/default.nix
+++ b/pkgs/development/tools/golint/default.nix
@@ -5,8 +5,6 @@ buildGoModule rec {
   version = "20201208-${lib.strings.substring 0 7 rev}";
   rev = "83fdc39ff7b56453e3793356bcff3070b9b96445";
 
-  excludedPackages = "testdata";
-
   # we must allow references to the original `go` package, as golint uses
   # compiler go/build package to load the packages it's linting.
   allowGoReference = true;
diff --git a/pkgs/development/tools/google-java-format/default.nix b/pkgs/development/tools/google-java-format/default.nix
index 35a7d7e719952..ddc26be1c647a 100644
--- a/pkgs/development/tools/google-java-format/default.nix
+++ b/pkgs/development/tools/google-java-format/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "google-java-format";
-  version = "1.14.0";
+  version = "1.15.0";
 
   src = fetchurl {
     url = "https://github.com/google/google-java-format/releases/download/v${version}/google-java-format-${version}-all-deps.jar";
-    sha256 = "sha256-DSfT5Yw6nZHYm0JNRn+r3iToxntGYmBhU7zQGzg+vXc=";
+    sha256 = "sha256-o1a7AjaynFejq2ePF6ewJ6rWA7CWDBg6GPH+Mi5POOo=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/tools/gotools/default.nix b/pkgs/development/tools/gotools/default.nix
index 285d546d74214..9ea238233c361 100644
--- a/pkgs/development/tools/gotools/default.nix
+++ b/pkgs/development/tools/gotools/default.nix
@@ -1,14 +1,13 @@
 { lib, buildGoModule, fetchgit }:
 
 buildGoModule rec {
-  pname = "gotools-unstable";
-  version = "2021-01-13";
-  rev = "8b4aab62c064010e8e875d2e5a8e63a96fefc87d";
+  pname = "gotools";
+  version = "0.1.10";
 
   src = fetchgit {
-    inherit rev;
+    rev = "v${version}";
     url = "https://go.googlesource.com/tools";
-    sha256 = "1cmnm9fl2a6hiplj8s6x0l3czcw4xh3j3lvzbgccnp1l8kz8q2vm";
+    sha256 = "sha256-r71+//VhayW18uvMl/ls/8KYNbZ7uDZw3SWoqPL3Xqk=";
   };
 
   # The gopls folder contains a Go submodule which causes a build failure.
@@ -25,7 +24,7 @@ buildGoModule rec {
     rm -rf gopls
   '';
 
-  vendorSha256 = "18qpjmmjpk322fvf81cafkpl3spv7hpdpymhympmld9isgzggfyz";
+  vendorSha256 = "sha256-UJIXG8WKzazNTXoqEFlT/umC40F6z2Q5I8RfxnMbsPM=";
 
   doCheck = false;
 
@@ -39,9 +38,7 @@ buildGoModule rec {
     export GOTOOLDIR=$out/bin
   '';
 
-  excludedPackages = "\\("
-    + lib.concatStringsSep "\\|" ([ "testdata" "vet" "cover" ])
-    + "\\)";
+  excludedPackages = [ "vet" "cover" ];
 
   # Set GOTOOLDIR for derivations adding this to buildInputs
   postInstall = ''
@@ -53,4 +50,11 @@ buildGoModule rec {
   # Do not copy this without a good reason for enabling
   # In this case tools is heavily coupled with go itself and embeds paths.
   allowGoReference = true;
+
+  meta = with lib; {
+    description = "Additional tools for Go development";
+    homepage = "http://go.googlesource.com/tools";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ danderson ];
+  };
 }
diff --git a/pkgs/development/tools/govers/default.nix b/pkgs/development/tools/govers/default.nix
index 5e2d89cfd5df7..eb234c82fc088 100644
--- a/pkgs/development/tools/govers/default.nix
+++ b/pkgs/development/tools/govers/default.nix
@@ -1,16 +1,16 @@
-{ lib, buildGoPackage, fetchgit }:
+{ lib, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   pname = "govers";
-  version = "20160623-${lib.strings.substring 0 7 rev}";
-  rev = "77fd787551fc5e7ae30696e009e334d52d2d3a43";
+  version = "unstable-2016-06-23";
 
   goPackagePath = "github.com/rogpeppe/govers";
 
-  src = fetchgit {
-    inherit rev;
-    url = "https://github.com/rogpeppe/govers";
-    sha256 = "12w83vyi8mgn48fwdm2js693qcydimxapg8rk0yf01w0ab03r5wn";
+  src = fetchFromGitHub {
+    owner = "rogpeppe";
+    repo = "govers";
+    rev = "77fd787551fc5e7ae30696e009e334d52d2d3a43";
+    sha256 = "sha256-lpc8wFKAB+A8mBm9q3qNzTM8ktFS1MYdIvZVFP0eiIs=";
   };
 
   dontRenameImports = true;
diff --git a/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix b/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix
index 8c8f016510f2d..e91ec04f0097e 100644
--- a/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix
+++ b/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
-, supportedGhcVersions ? [ "884" "8107" "902" ]
-    ++ lib.optionals (!stdenv.hostPlatform.isAarch64) [ "921" ]
+, supportedGhcVersions ? [ "884" "8107" "902" "922" ]
 , dynamic ? false
 , haskellPackages
 , haskell
diff --git a/pkgs/development/tools/imatix_gsl/default.nix b/pkgs/development/tools/imatix_gsl/default.nix
deleted file mode 100644
index ad729923d67a9..0000000000000
--- a/pkgs/development/tools/imatix_gsl/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, pcre } :
-
-stdenv.mkDerivation {
-  pname = "imatix_gsl";
-  version = "4.1";
-
-  src = fetchFromGitHub {
-    owner = "imatix";
-    repo = "gsl";
-    rev = "72192d0d9de17de08d9379602d6482b4e5d402d0";
-    sha256 = "1apy11avgqc27xlczyjh15y10qjdyqsqab1wrl2067qgpdiy58w7";
-  };
-
-  buildInputs = [ pcre ];
-
-  CCNAME = "cc";
-
-  postPatch = "sed -e 's,/usr/bin/install,install,g' -i src/Makefile";
-  preBuild = "cd src";
-  installFlags = [ "DESTDIR=$(out)" ];
-
-  meta = with lib; {
-    license = licenses.gpl3Plus;
-    homepage = "https://github.com/imatix/gsl/";
-    description = "A universal code generator";
-    platforms = platforms.unix;
-    maintainers = [ maintainers.moosingin3space ];
-    broken = stdenv.isLinux; # 2018-04-10
-  };
-}
diff --git a/pkgs/development/tools/ineffassign/default.nix b/pkgs/development/tools/ineffassign/default.nix
index 2158095775239..111048b562f39 100644
--- a/pkgs/development/tools/ineffassign/default.nix
+++ b/pkgs/development/tools/ineffassign/default.nix
@@ -9,7 +9,6 @@ buildGoPackage rec {
   rev = "1003c8bd00dc2869cb5ca5282e6ce33834fed514";
 
   goPackagePath = "github.com/gordonklaus/ineffassign";
-  excludedPackages = "testdata";
 
   src = fetchFromGitHub {
     inherit rev;
diff --git a/pkgs/development/tools/interfacer/default.nix b/pkgs/development/tools/interfacer/default.nix
deleted file mode 100644
index 4358ee244896f..0000000000000
--- a/pkgs/development/tools/interfacer/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ buildGoPackage
-, lib
-, fetchFromGitHub
-}:
-
-buildGoPackage rec {
-  pname = "interfacer-unstable";
-  version = "2018-08-31";
-  rev = "c20040233aedb03da82d460eca6130fcd91c629a";
-
-  goPackagePath = "mvdan.cc/interfacer";
-  excludedPackages = "check/testdata";
-
-  src = fetchFromGitHub {
-    inherit rev;
-
-    owner = "mvdan";
-    repo = "interfacer";
-    sha256 = "0cx4m74mvn200360pmsqxx4z0apk9fcknwwqh8r94zd3jfv4akq2";
-  };
-
-  goDeps = ./deps.nix;
-
-  meta = with lib; {
-    description = "A linter that suggests interface types";
-    homepage = "https://github.com/mvdan/interfacer";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ kalbasit ];
-    platforms = platforms.linux ++ platforms.darwin;
-  };
-}
diff --git a/pkgs/development/tools/interfacer/deps.nix b/pkgs/development/tools/interfacer/deps.nix
deleted file mode 100644
index 6810950878be5..0000000000000
--- a/pkgs/development/tools/interfacer/deps.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-[
-  {
-    goPackagePath = "github.com/kisielk/gotool";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kisielk/gotool";
-      rev = "80517062f582ea3340cd4baf70e86d539ae7d84d";
-      sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/tools";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/tools";
-      rev = "96e9e165b75e735822645eff82850b08c377be36";
-      sha256 = "1zj9ck5sg9b0pphxybmvxf64hhcap7v7j37fx3v5aknf18crjjdg";
-    };
-  }
-  {
-    goPackagePath = "mvdan.cc/lint";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mvdan/lint";
-      rev = "adc824a0674b99099789b6188a058d485eaf61c0";
-      sha256 = "17mi2rvkg9kzv1shxcyawzcj4jj3v738d1j82fp4yygx859yvr8r";
-    };
-  }
-]
diff --git a/pkgs/development/tools/jbang/default.nix b/pkgs/development/tools/jbang/default.nix
index 0bbd46b4294cf..fbaa9fd1dba72 100644
--- a/pkgs/development/tools/jbang/default.nix
+++ b/pkgs/development/tools/jbang/default.nix
@@ -1,12 +1,12 @@
 { stdenv, lib, fetchzip, jdk, makeWrapper, coreutils, curl }:
 
 stdenv.mkDerivation rec {
-  version = "0.82.1";
+  version = "0.92.2";
   pname = "jbang";
 
   src = fetchzip {
     url = "https://github.com/jbangdev/jbang/releases/download/v${version}/${pname}-${version}.tar";
-    sha256 = "sha256-C2zsIJvna7iqcaCM4phJonbA9TALL89rACms5II9hhU=";
+    sha256 = "0gbdbjyyh2if3yfmwfd6d3yq8r25inhw7n44jbjw1pdqb6gk44z1";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -14,7 +14,6 @@ stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
     rm bin/jbang.{cmd,ps1}
-    rmdir tmp
     cp -r . $out
     wrapProgram $out/bin/jbang \
       --set JAVA_HOME ${jdk} \
diff --git a/pkgs/development/tools/jql/default.nix b/pkgs/development/tools/jql/default.nix
index 7607b1307f441..0154df2c7fc0b 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 = "3.1.2";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "yamafaktory";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-UC+1I87PPDuu+/A5zO2Q/Z5KbO/5jHuxsJ0r7a+uDLM=";
+    sha256 = "sha256-U++yypq9M1C6Sh9rv3rmn/qwTXWdPFDBpjFS6eoS2L4=";
   };
 
-  cargoSha256 = "sha256-0ezrcploLboYExcRzNnKj/vWgbJuBhteWi/Imlr4Wsg=";
+  cargoSha256 = "sha256-uyD+QBDfnZa3nfZcUAqruYqJ9nVAa5+XOPONds0ysXU=";
 
   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 29694c08ed8dc..e5ad74d64c735 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.1.0";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = "casey";
     repo = pname;
     rev = version;
-    sha256 = "sha256-hbBAbk0n80BbbIx81427bRz4x6enBsxJ0bHJKww44oc=";
+    sha256 = "sha256-vUtJ9QVMmDGfkYTBoK8mVaJTEfNBQD5sTEp7kC0LNZw=";
   };
 
-  cargoSha256 = "sha256-lZyFoOCWUE2ahU/lS+bIdrZXNm/sFEfLsQm1BxREg5w=";
+  cargoSha256 = "sha256-rJjLXktWnT6kRx1/18AFr6KciaFF8PaTpz27wz+vGug=";
 
   nativeBuildInputs = [ installShellFiles ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
diff --git a/pkgs/development/tools/kaf/default.nix b/pkgs/development/tools/kaf/default.nix
new file mode 100644
index 0000000000000..feb76c2a0b25b
--- /dev/null
+++ b/pkgs/development/tools/kaf/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kaf";
+  version = "0.1.44";
+
+  src = fetchFromGitHub {
+    owner = "birdayz";
+    repo = "kaf";
+    rev = "v${version}";
+    sha256 = "sha256-gKg/iESUXS6l3v5ovdvvrfpvaUzahPtqh0/DH5OpXoY=";
+  };
+
+  vendorSha256 = "sha256-5WzREsQdcp9lelKUEXw+nHeemHBDsKrvRcG9v+qln/E=";
+
+  # Many tests require a running Kafka instance
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Modern CLI for Apache Kafka, written in Go";
+    homepage = "https://github.com/birdayz/kaf";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ zarelit ];
+  };
+}
diff --git a/pkgs/development/tools/kube-aws/default.nix b/pkgs/development/tools/kube-aws/default.nix
deleted file mode 100644
index e095755df1103..0000000000000
--- a/pkgs/development/tools/kube-aws/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib, fetchFromGitHub, buildGoPackage }:
-
-with lib;
-
-buildGoPackage rec {
-  pname = "kube-aws";
-  version = "0.9.4";
-
-  goPackagePath = "github.com/coreos/kube-aws";
-
-  src = fetchFromGitHub {
-    owner = "coreos";
-    repo = "kube-aws";
-    rev = "v${version}";
-    sha256 = "11h14fsnflbx76rmpp0fxahbxi2qgcamgyxy9s4rmw83j2m8csxp";
-  };
-
-  preBuild = ''(
-    cd go/src/${goPackagePath}
-    go generate ./core/controlplane/config
-    go generate ./core/nodepool/config
-    go generate ./core/root/config
-  )'';
-
-  ldflags = [
-    "-X github.com/coreos/kube-aws/core/controlplane/cluster.VERSION=v${version}"
-  ];
-
-  meta = {
-    description = "Tool for deploying kubernetes on aws using coreos";
-    license = licenses.asl20;
-    homepage = "https://github.com/coreos/coreos-kubernetes";
-    maintainers = with maintainers; [offline];
-    platforms = with platforms; unix;
-  };
-}
diff --git a/pkgs/development/tools/kube-linter/default.nix b/pkgs/development/tools/kube-linter/default.nix
index 1b94b956293d3..d234e458c1846 100644
--- a/pkgs/development/tools/kube-linter/default.nix
+++ b/pkgs/development/tools/kube-linter/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kube-linter";
-  version = "0.2.5";
+  version = "0.2.6";
 
   src = fetchFromGitHub {
     owner = "stackrox";
     repo = pname;
     rev = "${version}";
-    sha256 = "GUDrUEBorV4/ZqPnfNYcsbW4Zr1LpS3yL+4OgxFbTOk=";
+    sha256 = "nBF/AX4hgZxIj9/RYowpHX1eAJMMhvU7wunvEXWnO80=";
   };
 
-  vendorSha256 = "xGghTP9thICOGIfc5VPJK06DeXfLiTckwa4nXv83/P8=";
+  vendorSha256 = "HJW28BZ9qFLtdH1qdW8/K4TzHA2ptekXaMF0XnMKbOY=";
 
   ldflags = [
     "-s" "-w" "-X golang.stackrox.io/kube-linter/internal/version.version=${version}"
diff --git a/pkgs/development/tools/kustomize/default.nix b/pkgs/development/tools/kustomize/default.nix
index ef258b736c95d..dcaafe676e9a3 100644
--- a/pkgs/development/tools/kustomize/default.nix
+++ b/pkgs/development/tools/kustomize/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "kustomize";
-  version = "4.5.2";
+  version = "4.5.3";
   # rev is the commit of the tag, mainly for kustomize version command output
   rev = "b2d65ddc98e09187a8e38adc27c30bab078c1dbf";
 
@@ -17,7 +17,7 @@ buildGoModule rec {
     owner = "kubernetes-sigs";
     repo = pname;
     rev = "kustomize/v${version}";
-    sha256 = "sha256-l24uKKcTt5b7V/IHjJNMtVce55CEGdZVYlCzjUnEp1A=";
+    sha256 = "sha256-sy429uTTYvjnweZlsuolBamcggRXmaR8uxD043GUIQE=";
   };
 
   doCheck = true;
@@ -25,7 +25,7 @@ buildGoModule rec {
   # avoid finding test and development commands
   sourceRoot = "source/kustomize";
 
-  vendorSha256 = "sha256-GR1ohesxjxpMl1B7hWtBUAWWU8X7wHPAKdMoGM5L/VQ=";
+  vendorSha256 = "sha256-5kMMSr+YyuoASgW+qzkyO4CcDHFFANcsAZTUqHX5nGk=";
 
   meta = with lib; {
     description = "Customization of kubernetes YAML configurations";
diff --git a/pkgs/development/tools/license_finder/Gemfile b/pkgs/development/tools/license_finder/Gemfile
new file mode 100644
index 0000000000000..0a936674240b3
--- /dev/null
+++ b/pkgs/development/tools/license_finder/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'license_finder'
diff --git a/pkgs/development/tools/license_finder/Gemfile.lock b/pkgs/development/tools/license_finder/Gemfile.lock
new file mode 100644
index 0000000000000..9adea6fc73ffd
--- /dev/null
+++ b/pkgs/development/tools/license_finder/Gemfile.lock
@@ -0,0 +1,26 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    license_finder (7.0.1)
+      bundler
+      rubyzip (>= 1, < 3)
+      thor (~> 1.2)
+      tomlrb (>= 1.3, < 2.1)
+      with_env (= 1.1.0)
+      xml-simple (~> 1.1.9)
+    rexml (3.2.5)
+    rubyzip (2.3.2)
+    thor (1.2.1)
+    tomlrb (2.0.1)
+    with_env (1.1.0)
+    xml-simple (1.1.9)
+      rexml
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  license_finder
+
+BUNDLED WITH
+   2.1.4
diff --git a/pkgs/development/tools/license_finder/default.nix b/pkgs/development/tools/license_finder/default.nix
new file mode 100644
index 0000000000000..954e2dcd5183d
--- /dev/null
+++ b/pkgs/development/tools/license_finder/default.nix
@@ -0,0 +1,19 @@
+{ lib, bundlerEnv, bundlerUpdateScript, ruby }:
+
+bundlerEnv {
+  pname = "license_finder";
+  version = "7.0.1";
+
+  inherit ruby;
+  gemdir = ./.;
+
+  passthru.updateScript = bundlerUpdateScript "license_finder";
+
+  meta = with lib; {
+    description = "Find licenses for your project's dependencies";
+    homepage = "https://github.com/pivotal/licensefinder";
+    license = licenses.mit;
+    maintainers = with maintainers; [ wolfangaukang ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/license_finder/gemset.nix b/pkgs/development/tools/license_finder/gemset.nix
new file mode 100644
index 0000000000000..89becfc04d351
--- /dev/null
+++ b/pkgs/development/tools/license_finder/gemset.nix
@@ -0,0 +1,74 @@
+{
+  license_finder = {
+    dependencies = ["rubyzip" "thor" "tomlrb" "with_env" "xml-simple"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0sig4ifxzvcz3fwjnz93dpv61v6sxpmlknj5f8n112ragrbcj8hb";
+      type = "gem";
+    };
+    version = "7.0.1";
+  };
+  rexml = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
+      type = "gem";
+    };
+    version = "3.2.5";
+  };
+  rubyzip = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz";
+      type = "gem";
+    };
+    version = "2.3.2";
+  };
+  thor = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0inl77jh4ia03jw3iqm5ipr76ghal3hyjrd6r8zqsswwvi9j2xdi";
+      type = "gem";
+    };
+    version = "1.2.1";
+  };
+  tomlrb = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0a83cb5xpyzlr651d46rk5xgq37s46hs9nfqy9baawzs31hm9k2g";
+      type = "gem";
+    };
+    version = "2.0.1";
+  };
+  with_env = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1r5ns064mbb99hf1dyxsk9183hznc5i7mn3bi86zka6dlvqf9csh";
+      type = "gem";
+    };
+    version = "1.1.0";
+  };
+  xml-simple = {
+    dependencies = ["rexml"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0pb9plyl71mdbjr4kllfy53qx6g68ryxblmnq9dilvy837jk24fj";
+      type = "gem";
+    };
+    version = "1.1.9";
+  };
+}
diff --git a/pkgs/development/tools/misc/arcanist/default.nix b/pkgs/development/tools/misc/arcanist/default.nix
index a2af61fb6a164..0fa34c7eefe81 100644
--- a/pkgs/development/tools/misc/arcanist/default.nix
+++ b/pkgs/development/tools/misc/arcanist/default.nix
@@ -5,6 +5,8 @@
 , php
 , lib, stdenv
 , installShellFiles
+, which
+, python3
 }:
 
 # Make a custom wrapper. If `wrapProgram` is used, arcanist thinks .arc-wrapped is being
@@ -14,7 +16,7 @@
 let makeArcWrapper = toolset: ''
   cat << WRAPPER > $out/bin/${toolset}
   #!$shell -e
-  export PATH='${php}/bin/'\''${PATH:+':'}\$PATH
+  export PATH='${php}/bin:${which}/bin'\''${PATH:+':'}\$PATH
   exec ${php}/bin/php $out/libexec/arcanist/bin/${toolset} "\$@"
   WRAPPER
   chmod +x $out/bin/${toolset}
@@ -32,7 +34,9 @@ stdenv.mkDerivation {
     sha256 = "0jiv4aj4m5750dqw9r8hizjkwiyxk4cg4grkr63sllsa2dpiibxw";
   };
 
-  buildInputs = [ php ];
+  patches = [ ./dont-require-python3-in-path.patch ];
+
+  buildInputs = [ php python3 ];
 
   nativeBuildInputs = [ bison flex installShellFiles ];
 
diff --git a/pkgs/development/tools/misc/arcanist/dont-require-python3-in-path.patch b/pkgs/development/tools/misc/arcanist/dont-require-python3-in-path.patch
new file mode 100644
index 0000000000000..5c127491bb844
--- /dev/null
+++ b/pkgs/development/tools/misc/arcanist/dont-require-python3-in-path.patch
@@ -0,0 +1,26 @@
+Don't require python3 in PATH
+
+Once packaged, the arcanoid.py script has an absolute path shebang to
+python3, so there is no need to also require python3 in PATH.
+
+This prevents leaking in a python3 in PATH in the environment which arc
+runs linters etc.
+
+Author: bjorn.forsman@gmail.com
+diff -uNr arcanist.orig/src/workflow/ArcanistAnoidWorkflow.php arcanist.new/src/workflow/ArcanistAnoidWorkflow.php
+--- arcanist.orig/src/workflow/ArcanistAnoidWorkflow.php	2022-03-31 13:23:30.865095192 +0200
++++ arcanist.new/src/workflow/ArcanistAnoidWorkflow.php	2022-04-01 12:19:15.644159639 +0200
+@@ -24,13 +24,6 @@
+   }
+ 
+   public function runWorkflow() {
+-    if (!Filesystem::binaryExists('python3')) {
+-      throw new PhutilArgumentUsageException(
+-        pht(
+-          'The "arc anoid" workflow requires "python3" to be available '.
+-          'in your $PATH.'));
+-    }
+-
+     $support_dir = phutil_get_library_root('arcanist');
+     $support_dir = dirname($support_dir);
+     $support_dir = $support_dir.'/support/';
diff --git a/pkgs/development/tools/misc/cgdb/default.nix b/pkgs/development/tools/misc/cgdb/default.nix
index e8136be0eb404..62d26c09e514e 100644
--- a/pkgs/development/tools/misc/cgdb/default.nix
+++ b/pkgs/development/tools/misc/cgdb/default.nix
@@ -16,8 +16,6 @@ stdenv.mkDerivation rec {
 
     homepage = "https://cgdb.github.io/";
 
-    repositories.git = "git://github.com/cgdb/cgdb.git";
-
     license = licenses.gpl2Plus;
 
     platforms = with platforms; linux ++ cygwin;
diff --git a/pkgs/development/tools/misc/clojure-lsp/default.nix b/pkgs/development/tools/misc/clojure-lsp/default.nix
index 6a372fb40f191..307bcd273a40e 100644
--- a/pkgs/development/tools/misc/clojure-lsp/default.nix
+++ b/pkgs/development/tools/misc/clojure-lsp/default.nix
@@ -2,18 +2,18 @@
 
 buildGraalvmNativeImage rec {
   pname = "clojure-lsp";
-  version = "2022.02.23-12.12.12";
+  version = "2022.03.31-20.00.20";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-PfO1G66Z3zQ+Hyjb6J0bomsT8juQURwF2mPKJY5auMw=";
+    sha256 = "sha256-UQA/BXf6hTTxZ504e1faPdS8mKYS8WrY5L/zgaGCxpU=";
   };
 
   jar = fetchurl {
     url = "https://github.com/clojure-lsp/clojure-lsp/releases/download/${version}/clojure-lsp-standalone.jar";
-    sha256 = "sha256-f8bEALl9j0aDkKZtThLTseqibeYIUeOx4ulelPWQkoo=";
+    sha256 = "e66689326c39ae74f0e8d9f5a8229c7ebebe010849870a47faf88e81cbaa37e0";
   };
 
   extraNativeImageBuildArgs = [
@@ -42,9 +42,9 @@ buildGraalvmNativeImage rec {
 
     latest_version=$(curl -s https://api.github.com/repos/clojure-lsp/clojure-lsp/releases/latest | jq --raw-output .tag_name)
 
-    old_jar_hash=$(nix-instantiate --eval --strict -A "clojure-lsp-standalone.jar.drvAttrs.outputHash" | tr -d '"' | sed -re 's|[+]|\\&|g')
+    old_jar_hash=$(nix-instantiate --eval --strict -A "clojure-lsp.jar.drvAttrs.outputHash" | tr -d '"' | sed -re 's|[+]|\\&|g')
 
-    curl -o clojure-lsp.jar -sL https://github.com/clojure-lsp/clojure-lsp/releases/download/$latest_version/clojure-lsp-standalone.jar
+    curl -o clojure-lsp-standalone.jar -sL https://github.com/clojure-lsp/clojure-lsp/releases/download/$latest_version/clojure-lsp-standalone.jar
     new_jar_hash=$(nix-hash --flat --type sha256 clojure-lsp-standalone.jar | sed -re 's|[+]|\\&|g')
 
     rm -f clojure-lsp-standalone.jar
diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix
index 3db895f4de01f..a394ee6157732 100644
--- a/pkgs/development/tools/misc/d-feet/default.nix
+++ b/pkgs/development/tools/misc/d-feet/default.nix
@@ -1,6 +1,7 @@
 { lib
 , pkg-config
 , fetchurl
+, fetchpatch
 , meson
 , ninja
 , glib
@@ -25,6 +26,17 @@ python3.pkgs.buildPythonApplication rec {
     sha256 = "hzPOS5qaVOwYWx2Fv02p2dEQUogqiAdg/2D5d5stHMs=";
   };
 
+  patches = [
+    # Fix build with meson 0.61
+    # data/meson.build:15:0: ERROR: Function does not take positional arguments.
+    # data/meson.build:27:0: ERROR: Function does not take positional arguments.
+    # Patch taken from https://gitlab.gnome.org/GNOME/d-feet/-/merge_requests/32
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/d-feet/-/commit/05465d486afdba116dbc22fc22c1e6573aea4f22.patch";
+      sha256 = "sFI3nd0YE/deGws/YcTpzC/em9QNgicyb4j7cTfOdhY=";
+    })
+  ];
+
   nativeBuildInputs = [
     gettext
     gobject-introspection
diff --git a/pkgs/development/tools/misc/d-spy/default.nix b/pkgs/development/tools/misc/d-spy/default.nix
new file mode 100644
index 0000000000000..a1fbecd5b263f
--- /dev/null
+++ b/pkgs/development/tools/misc/d-spy/default.nix
@@ -0,0 +1,67 @@
+{ stdenv
+, lib
+, desktop-file-utils
+, fetchpatch
+, fetchurl
+, glib
+, gtk4
+, libadwaita
+, meson
+, ninja
+, pkg-config
+, wrapGAppsHook4
+, gnome
+}:
+
+stdenv.mkDerivation rec {
+  pname = "d-spy";
+  version = "1.2.0";
+
+  outputs = [ "out" "lib" "dev" ];
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/dspy/${lib.versions.majorMinor version}/dspy-${version}.tar.xz";
+    sha256 = "XKL0z00w0va9m1OfuVq5YJyE1jzeynBxb50jc+O99tQ=";
+  };
+
+  patches = [
+    # Remove pointless dependencies
+    # https://gitlab.gnome.org/GNOME/d-spy/-/merge_requests/6
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/d-spy/-/commit/5a0ec8d53d006e95e93c6d6e32a381eb248b12a1.patch";
+      sha256 = "jalfdAXcH8GZ50qb2peG+2841cGan4EhwN88z5Ewf+k=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    desktop-file-utils
+    wrapGAppsHook4
+  ];
+
+  buildInputs = [
+    glib
+    gtk4
+    libadwaita
+  ];
+
+  passthru = {
+    updateScript = gnome.updateScript {
+      packageName = "dspy";
+      attrPath = "d-spy";
+    };
+  };
+
+  meta = with lib; {
+    description = "D-Bus exploration tool";
+    homepage = "https://gitlab.gnome.org/GNOME/d-spy";
+    license = with licenses; [
+      lgpl3Plus # library
+      gpl3Plus # app
+    ];
+    maintainers = teams.gnome.members;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/misc/distcc/default.nix b/pkgs/development/tools/misc/distcc/default.nix
index f5fb8e8eeb1af..b20d172a403dc 100644
--- a/pkgs/development/tools/misc/distcc/default.nix
+++ b/pkgs/development/tools/misc/distcc/default.nix
@@ -17,8 +17,8 @@ let
       sha256 = "0zjba1090awxkmgifr9jnjkxf41zhzc4f6mrnbayn3v6s77ca9x4";
     };
 
-  nativeBuildInputs = [ pkg-config ];
-    buildInputs = [popt avahi pkg-config python3 gtk3 autoconf automake which procps libiberty_static];
+  nativeBuildInputs = [ pkg-config autoconf automake ];
+    buildInputs = [popt avahi pkg-config python3 gtk3 which procps libiberty_static];
     preConfigure =
     ''
       export CPATH=$(ls -d ${gcc.cc}/lib/gcc/*/${gcc.cc.version}/plugin/include)
diff --git a/pkgs/development/tools/misc/gef/default.nix b/pkgs/development/tools/misc/gef/default.nix
index 0352ebc7cf327..b09cc795d8c08 100644
--- a/pkgs/development/tools/misc/gef/default.nix
+++ b/pkgs/development/tools/misc/gef/default.nix
@@ -4,6 +4,7 @@
 , makeWrapper
 , gdb
 , python3
+, bintools-unwrapped
 , file
 , ps
 , git
@@ -39,7 +40,12 @@ in stdenv.mkDerivation rec {
     makeWrapper ${gdb}/bin/gdb $out/bin/gef \
       --add-flags "-q -x $out/share/gef/gef.py" \
       --set NIX_PYTHONPATH ${pythonPath} \
-      --prefix PATH : ${lib.makeBinPath [ python3 file ps ]}
+      --prefix PATH : ${lib.makeBinPath [
+        python3
+        bintools-unwrapped # for readelf
+        file
+        ps
+      ]}
   '';
 
   checkInputs = [
diff --git a/pkgs/development/tools/misc/gpshell/default.nix b/pkgs/development/tools/misc/gpshell/default.nix
deleted file mode 100644
index f5298d685eba7..0000000000000
--- a/pkgs/development/tools/misc/gpshell/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, globalplatform, pcsclite, gppcscconnectionplugin
-, makeWrapper
-}:
-
-stdenv.mkDerivation rec {
-  pname = "gpshell";
-  version = "1.4.4";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/globalplatform/gpshell-${version}.tar.gz";
-    sha256 = "19a77zvyf2vazbv17185s4pynhylk2ky8vhl4i8pg9zww29sicqi";
-  };
-
-  nativeBuildInputs = [ pkg-config makeWrapper ];
-  buildInputs = [ globalplatform pcsclite ];
-
-  postFixup = ''
-    wrapProgram "$out/bin/gpshell" --prefix LD_LIBRARY_PATH : "${gppcscconnectionplugin}/lib"
-  '';
-
-  meta = with lib; {
-    homepage = "https://sourceforge.net/p/globalplatform/wiki/Home/";
-    description = "Smartcard management application";
-    license = licenses.gpl3;
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/development/tools/misc/grcov/default.nix b/pkgs/development/tools/misc/grcov/default.nix
index 04ed4a1046b77..2ca092fa659d8 100644
--- a/pkgs/development/tools/misc/grcov/default.nix
+++ b/pkgs/development/tools/misc/grcov/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "grcov";
-  version = "0.8.8";
+  version = "0.8.9";
 
   src = fetchFromGitHub {
     owner = "mozilla";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-OITtZdI9d5zQVI02s5gJF9lWCjZZgE7YZRfFROU040o=";
+    sha256 = "sha256-VSjKZoK/o05kYX5mRCnaS6r/+4dZep9Bp9Im1Zw7piM=";
   };
 
-  cargoSha256 = "sha256-AZVkS/huEsA1wdVB/xUGCCjY5AWJxaU1DD/OlEURw/c=";
+  cargoSha256 = "sha256-7I0BizeDbikpog0YG/X8vwoO4PGE1qYzRTWTr0RUQws=";
 
   # tests do not find grcov path correctly
   checkFlags = let
diff --git a/pkgs/development/tools/misc/hydra/common.nix b/pkgs/development/tools/misc/hydra/common.nix
index 1ae54d629acc8..f9d7a8156e14e 100644
--- a/pkgs/development/tools/misc/hydra/common.nix
+++ b/pkgs/development/tools/misc/hydra/common.nix
@@ -84,7 +84,7 @@ in stdenv.mkDerivation rec {
   inherit stdenv src version patches;
 
   buildInputs =
-    [ makeWrapper autoconf automake libtool unzip nukeReferences sqlite libpqxx_6
+    [ makeWrapper libtool unzip nukeReferences sqlite libpqxx_6
       top-git mercurial /*darcs*/ subversion breezy openssl bzip2 libxslt
       perlDeps perl nix
       postgresql # for running the tests
@@ -97,7 +97,7 @@ in stdenv.mkDerivation rec {
       gzip bzip2 xz gnutar unzip git top-git mercurial /*darcs*/ gnused breezy
     ] ++ lib.optionals stdenv.isLinux [ rpm dpkg cdrkit ] );
 
-  nativeBuildInputs = [ autoreconfHook pkg-config mdbook ];
+  nativeBuildInputs = [ autoreconfHook pkg-config mdbook autoconf automake ];
 
   configureFlags = [ "--with-docbook-xsl=${docbook_xsl}/xml/xsl/docbook" ];
 
diff --git a/pkgs/development/tools/misc/luarocks/3.7.nix b/pkgs/development/tools/misc/luarocks/3.7.nix
deleted file mode 100644
index 95fa79c6d125b..0000000000000
--- a/pkgs/development/tools/misc/luarocks/3.7.nix
+++ /dev/null
@@ -1,81 +0,0 @@
-{lib, stdenv, fetchFromGitHub
-, curl, makeWrapper, which, unzip
-, lua
-# for 'luarocks pack'
-, zip
-# some packages need to be compiled with cmake
-, cmake
-, installShellFiles
-}:
-
-stdenv.mkDerivation rec {
-  pname = "luarocks";
-  version = "3.7.0";
-
-  src = fetchFromGitHub {
-    owner = "luarocks";
-    repo = "luarocks";
-    rev = "v${version}";
-    sha256 = "1sn2j7hv8nbdjqj1747glk9770zw8q5v8ivaxhvwbk3vl038ck9d";
-  };
-
-  patches = [ ./darwin-3.7.0.patch ];
-
-  postPatch = lib.optionalString stdenv.targetPlatform.isDarwin ''
-    substituteInPlace src/luarocks/core/cfg.lua --subst-var-by 'darwinMinVersion' '${stdenv.targetPlatform.darwinMinVersion}'
-  '';
-
-  preConfigure = ''
-    lua -e "" || {
-        luajit -e "" && {
-            export LUA_SUFFIX=jit
-            configureFlags="$configureFlags --lua-suffix=$LUA_SUFFIX"
-        }
-    }
-    lua_inc="$(echo "${lua}/include"/*/)"
-    if test -n "$lua_inc"; then
-        configureFlags="$configureFlags --with-lua-include=$lua_inc"
-    fi
-  '';
-
-  nativeBuildInputs = [ makeWrapper installShellFiles ];
-
-  buildInputs = [ lua curl which ];
-
-  postInstall = ''
-    sed -e "1s@.*@#! ${lua}/bin/lua$LUA_SUFFIX@" -i "$out"/bin/*
-    for i in "$out"/bin/*; do
-        test -L "$i" || {
-            wrapProgram "$i" \
-              --suffix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?.lua" \
-              --suffix LUA_PATH ";" "$(echo "$out"/share/lua/*/)?/init.lua" \
-              --suffix LUA_CPATH ";" "$(echo "$out"/lib/lua/*/)?.so" \
-              --suffix LUA_CPATH ";" "$(echo "$out"/share/lua/*/)?/init.lua"
-        }
-    done
-
-    installShellCompletion --cmd luarocks --bash <($out/bin/luarocks completion bash)
-    installShellCompletion --cmd luarocks --zsh <($out/bin/luarocks completion zsh)
-  '';
-
-  propagatedBuildInputs = [ zip unzip cmake ];
-
-  # unpack hook for src.rock and rockspec files
-  setupHook = ./setup-hook.sh;
-
-  # cmake is just to compile packages with "cmake" buildType, not luarocks itself
-  dontUseCmakeConfigure = true;
-
-  shellHook = ''
-    export PATH="src/bin:''${PATH:-}"
-    export LUA_PATH="src/?.lua;''${LUA_PATH:-}"
-  '';
-
-  meta = with lib; {
-    description = "A package manager for Lua";
-    license = licenses.mit ;
-    maintainers = with maintainers; [raskin teto];
-    platforms = platforms.linux ++ platforms.darwin;
-    downloadPage = "http://luarocks.org/releases/";
-  };
-}
diff --git a/pkgs/development/tools/misc/luarocks/darwin-3.1.3.patch b/pkgs/development/tools/misc/luarocks/darwin-3.1.3.patch
deleted file mode 100644
index 8070af173aaf7..0000000000000
--- a/pkgs/development/tools/misc/luarocks/darwin-3.1.3.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/src/luarocks/core/cfg.lua b/src/luarocks/core/cfg.lua
-index c5af5a2..1949fdc 100644
---- a/src/luarocks/core/cfg.lua
-+++ b/src/luarocks/core/cfg.lua
-@@ -425,7 +425,7 @@ local function make_defaults(lua_version, target_cpu, platforms, home)
-       defaults.external_lib_extension = "dylib"
-       defaults.arch = "macosx-"..target_cpu
-       defaults.variables.LIBFLAG = "-bundle -undefined dynamic_lookup -all_load"
--      local version = util.popen_read("sw_vers -productVersion")
-+      local version = os.getenv("MACOSX_DEPLOYMENT_TARGET") or "@darwinMinVersion@"
-       version = tonumber(version and version:match("^[^.]+%.([^.]+)")) or 3
-       if version >= 10 then
-          version = 8
-@@ -434,8 +434,8 @@ local function make_defaults(lua_version, target_cpu, platforms, home)
-       else
-          defaults.gcc_rpath = false
-       end
--      defaults.variables.CC = "env MACOSX_DEPLOYMENT_TARGET=10."..version.." gcc"
--      defaults.variables.LD = "env MACOSX_DEPLOYMENT_TARGET=10."..version.." gcc"
-+      defaults.variables.CC = "env MACOSX_DEPLOYMENT_TARGET=10."..version.." clang"
-+      defaults.variables.LD = "env MACOSX_DEPLOYMENT_TARGET=10."..version.." clang"
-       defaults.web_browser = "open"
-    end
- 
diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix
index 58f5996992af6..b34c889792113 100644
--- a/pkgs/development/tools/misc/luarocks/default.nix
+++ b/pkgs/development/tools/misc/luarocks/default.nix
@@ -10,16 +10,16 @@
 
 stdenv.mkDerivation rec {
   pname = "luarocks";
-  version = "3.2.1";
+  version = "3.8.0";
 
   src = fetchFromGitHub {
     owner = "luarocks";
     repo = "luarocks";
     rev = "v${version}";
-    sha256 = "0viiafmb8binksda79ah828q1dfnb6jsqlk7vyndl2xvx9yfn4y2";
+    sha256 = "sha256-tPSAtveOodF2w54d82hEyaTj91imtySJUTsk/gje2dQ=";
   };
 
-  patches = [ ./darwin-3.1.3.patch ];
+  patches = [ ./darwin-3.7.0.patch ];
 
   postPatch = lib.optionalString stdenv.targetPlatform.isDarwin ''
     substituteInPlace src/luarocks/core/cfg.lua --subst-var-by 'darwinMinVersion' '${stdenv.targetPlatform.darwinMinVersion}'
diff --git a/pkgs/development/tools/misc/luarocks/luarocks-nix.nix b/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
index 05770464de7d6..fe34bfd20a6f9 100644
--- a/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
+++ b/pkgs/development/tools/misc/luarocks/luarocks-nix.nix
@@ -5,8 +5,8 @@ luarocks.overrideAttrs(old: {
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "luarocks-nix";
-    rev = "standalone";
-    sha256 = "sha256-53Zi+GTayO9EQTCIVrzPeRRHeIkHLqy0mHyBDzbcQQk=";
+    rev = "6aa1d59e88eaef72d699477c3e7aa98b274ca405";
+    sha256 = "sha256-nQLl01RFYZYhpShz0gHxnhwFPvTgALpAbjFPIuTD2D0=";
   };
   patches = [];
 
diff --git a/pkgs/development/tools/misc/nix-bisect/default.nix b/pkgs/development/tools/misc/nix-bisect/default.nix
new file mode 100644
index 0000000000000..4075fe5ffbba8
--- /dev/null
+++ b/pkgs/development/tools/misc/nix-bisect/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+let
+  pname = "nix-bisect";
+  version = "0.4.1";
+in
+python3.pkgs.buildPythonApplication {
+  inherit pname version;
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "timokau";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-01vj35mMakqKi5zbMIPQ+R8xdkOWbzpnigd3/SU+svw=";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    appdirs
+    numpy
+    pexpect
+  ];
+
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Bisect nix builds";
+    homepage = "https://github.com/timokau/nix-bisect";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/development/tools/misc/nrfutil/default.nix b/pkgs/development/tools/misc/nrfutil/default.nix
index 848afb5b2ca8e..7ffd92451bf56 100644
--- a/pkgs/development/tools/misc/nrfutil/default.nix
+++ b/pkgs/development/tools/misc/nrfutil/default.nix
@@ -68,5 +68,7 @@ buildPythonApplication rec {
     license = licenses.unfreeRedistributable;
     platforms = platforms.unix;
     maintainers = with maintainers; [ gebner ];
+    # libusb1 1.9.3 uses setuptools' 2to3 translation feature, which has been removed in setuptools 58
+    broken = true;
   };
 }
diff --git a/pkgs/development/tools/misc/patchelf/default.nix b/pkgs/development/tools/misc/patchelf/default.nix
index dcb4d2362c8e0..6919cd0f23fbe 100644
--- a/pkgs/development/tools/misc/patchelf/default.nix
+++ b/pkgs/development/tools/misc/patchelf/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "patchelf";
-  version = "0.14.3";
+  version = "0.14.5";
 
   src = fetchurl {
     url = "https://github.com/NixOS/${pname}/releases/download/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-oBfsPSFSoZ/ZacDYez+LQ+MqZuT/q9yHZ6VgYrmuwnA=";
+    sha256 = "sha256-uaRvKYkyLrifpPYjfiCDbFe0VapDoyVF6gk7Qx2YL1w=";
   };
 
   setupHook = [ ./setup-hook.sh ];
diff --git a/pkgs/development/tools/misc/patchelf/unstable.nix b/pkgs/development/tools/misc/patchelf/unstable.nix
index e62805867504e..350424747e883 100644
--- a/pkgs/development/tools/misc/patchelf/unstable.nix
+++ b/pkgs/development/tools/misc/patchelf/unstable.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchurl, autoreconfHook, fetchFromGitHub }:
+{ lib, stdenv, fetchurl, autoreconfHook, fetchFromGitHub, unstableGitUpdater }:
 
 stdenv.mkDerivation rec {
   pname = "patchelf";
-  version = "2021-11-16";
+  version = "unstable-2022-02-21";
 
   src = fetchFromGitHub {
     owner = "NixOS";
     repo = "patchelf";
-    rev = "a174cf3006baf31e0e9eaa62bc9adead93af63f7";
-    sha256 = "sha256-cKZ4DE70R5XiIqfnIVAl2s7a1bJxaaPpuCmxs3pxFRU=";
+    rev = "a35054504293f9ff64539850d1ed0bfd2f5399f2";
+    sha256 = "sha256-/hD/abmzWSkDhAWPLHiLQQ9cwJF8oFDuovNzRqs3Bho=";
   };
 
   # Drop test that fails on musl (?)
@@ -24,6 +24,12 @@ stdenv.mkDerivation rec {
 
   doCheck = !stdenv.isDarwin;
 
+  passthru = {
+    updateScript = unstableGitUpdater {
+      url = "https://github.com/NixOS/patchelf.git";
+    };
+  };
+
   meta = with lib; {
     homepage = "https://github.com/NixOS/patchelf";
     license = licenses.gpl3;
diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix
index 8657841717869..1fd8db8c6e2ed 100644
--- a/pkgs/development/tools/misc/strace/default.nix
+++ b/pkgs/development/tools/misc/strace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "strace";
-  version = "5.16";
+  version = "5.17";
 
   src = fetchurl {
     url = "https://strace.io/files/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-3H2yMP8+V8JJgwupSsqyuGLaH8qsVUF+m4UEGoM8ooU=";
+    sha256 = "sha256-X7KY29EzH9HhvJTFwyOVhg03YQG4fGzT0bqfmqFcFh8=";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
diff --git a/pkgs/development/tools/misc/texinfo/6.8.nix b/pkgs/development/tools/misc/texinfo/6.8.nix
index 11435bf329f66..992f695bc92ca 100644
--- a/pkgs/development/tools/misc/texinfo/6.8.nix
+++ b/pkgs/development/tools/misc/texinfo/6.8.nix
@@ -1,4 +1,8 @@
 import ./common.nix {
   version = "6.8";
   sha256 = "1i7yb7mrp3inz25zbzv2pllr4y7d58v818f1as7iz8mw53nm7dwf";
+  patches = [
+    # glibc 2.34 compat
+    ./fix-glibc-2.34.patch
+  ];
 }
diff --git a/pkgs/development/tools/misc/texinfo/common.nix b/pkgs/development/tools/misc/texinfo/common.nix
index b379df09a4b06..26732657eb9f5 100644
--- a/pkgs/development/tools/misc/texinfo/common.nix
+++ b/pkgs/development/tools/misc/texinfo/common.nix
@@ -1,4 +1,4 @@
-{ version, sha256 }:
+{ version, sha256, patches ? [] }:
 
 { lib, stdenv, buildPackages, fetchurl, perl, xz, gettext
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
     inherit sha256;
   };
 
-  patches = optional crossBuildTools ./cross-tools-flags.patch;
+  patches = patches ++ optional crossBuildTools ./cross-tools-flags.patch;
 
   # ncurses is required to build `makedoc'
   # this feature is introduced by the ./cross-tools-flags.patch
diff --git a/pkgs/development/tools/misc/texinfo/fix-glibc-2.34.patch b/pkgs/development/tools/misc/texinfo/fix-glibc-2.34.patch
new file mode 100644
index 0000000000000..60f2e63b7ce03
--- /dev/null
+++ b/pkgs/development/tools/misc/texinfo/fix-glibc-2.34.patch
@@ -0,0 +1,186 @@
+
+Patch by Vitezslav Crhonek <vcrhonek@redhat.com>
+Source: https://src.fedoraproject.org/rpms/texinfo/c/9b2cca4817fa4bd8d520fed05e9560fc7183dcdf?branch=rawhide
+
+diff -up texinfo-6.8/gnulib/lib/cdefs.h.orig texinfo-6.8/gnulib/lib/cdefs.h
+--- texinfo-6.8/gnulib/lib/cdefs.h.orig	2021-03-11 19:57:53.000000000 +0100
++++ texinfo-6.8/gnulib/lib/cdefs.h	2021-07-19 12:26:46.985176475 +0200
+@@ -321,15 +321,15 @@
+ 
+ /* The nonnull function attribute marks pointer parameters that
+    must not be NULL.  */
+-#ifndef __attribute_nonnull__
++#ifndef __nonnull
+ # if __GNUC_PREREQ (3,3) || __glibc_has_attribute (__nonnull__)
+-#  define __attribute_nonnull__(params) __attribute__ ((__nonnull__ params))
++#  define __nonnull(params) __attribute__ ((__nonnull__ params))
+ # else
+-#  define __attribute_nonnull__(params)
++#  define __nonnull(params)
+ # endif
+-#endif
+-#ifndef __nonnull
+-# define __nonnull(params) __attribute_nonnull__ (params)
++#elif !defined __GLIBC__
++# undef __nonnull
++# define __nonnull(params) _GL_ATTRIBUTE_NONNULL (params)
+ #endif
+ 
+ /* If fortification mode, we warn about unused results of certain
+diff -up texinfo-6.8/gnulib/lib/libc-config.h.orig texinfo-6.8/gnulib/lib/libc-config.h
+--- texinfo-6.8/gnulib/lib/libc-config.h.orig	2021-03-11 19:57:54.000000000 +0100
++++ texinfo-6.8/gnulib/lib/libc-config.h	2021-07-19 12:27:58.810590975 +0200
+@@ -33,9 +33,9 @@
+ #include <config.h>
+ 
+ /* On glibc this includes <features.h> and <sys/cdefs.h> and #defines
+-   _FEATURES_H, __WORDSIZE, and __set_errno.  On FreeBSD 11 and
+-   DragonFlyBSD 5.9 it includes <sys/cdefs.h> which defines __nonnull.
+-   Elsewhere it is harmless.  */
++   _FEATURES_H, __WORDSIZE, and __set_errno.  On FreeBSD 11 it
++   includes <sys/cdefs.h> which defines __nonnull.  Elsewhere it
++   is harmless.  */
+ #include <errno.h>
+ 
+ /* From glibc <errno.h>.  */
+diff -up texinfo-6.8/gnulib/lib/malloc/dynarray-skeleton.c.orig texinfo-6.8/gnulib/lib/malloc/dynarray-skeleton.c
+--- texinfo-6.8/gnulib/lib/malloc/dynarray-skeleton.c.orig	2021-03-11 19:57:54.000000000 +0100
++++ texinfo-6.8/gnulib/lib/malloc/dynarray-skeleton.c	2021-07-19 12:24:46.878419397 +0200
+@@ -192,7 +192,7 @@ DYNARRAY_NAME (free__array__) (struct DY
+ 
+ /* Initialize a dynamic array object.  This must be called before any
+    use of the object.  */
+-__attribute_nonnull__ ((1))
++__nonnull ((1))
+ static void
+ DYNARRAY_NAME (init) (struct DYNARRAY_STRUCT *list)
+ {
+@@ -202,7 +202,7 @@ DYNARRAY_NAME (init) (struct DYNARRAY_ST
+ }
+ 
+ /* Deallocate the dynamic array and its elements.  */
+-__attribute_maybe_unused__ __attribute_nonnull__ ((1))
++__attribute_maybe_unused__ __nonnull ((1))
+ static void
+ DYNARRAY_FREE (struct DYNARRAY_STRUCT *list)
+ {
+@@ -213,7 +213,7 @@ DYNARRAY_FREE (struct DYNARRAY_STRUCT *l
+ }
+ 
+ /* Return true if the dynamic array is in an error state.  */
+-__attribute_nonnull__ ((1))
++__nonnull ((1))
+ static inline bool
+ DYNARRAY_NAME (has_failed) (const struct DYNARRAY_STRUCT *list)
+ {
+@@ -222,7 +222,7 @@ DYNARRAY_NAME (has_failed) (const struct
+ 
+ /* Mark the dynamic array as failed.  All elements are deallocated as
+    a side effect.  */
+-__attribute_nonnull__ ((1))
++__nonnull ((1))
+ static void
+ DYNARRAY_NAME (mark_failed) (struct DYNARRAY_STRUCT *list)
+ {
+@@ -236,7 +236,7 @@ DYNARRAY_NAME (mark_failed) (struct DYNA
+ 
+ /* Return the number of elements which have been added to the dynamic
+    array.  */
+-__attribute_nonnull__ ((1))
++__nonnull ((1))
+ static inline size_t
+ DYNARRAY_NAME (size) (const struct DYNARRAY_STRUCT *list)
+ {
+@@ -245,7 +245,7 @@ DYNARRAY_NAME (size) (const struct DYNAR
+ 
+ /* Return a pointer to the array element at INDEX.  Terminate the
+    process if INDEX is out of bounds.  */
+-__attribute_nonnull__ ((1))
++__nonnull ((1))
+ static inline DYNARRAY_ELEMENT *
+ DYNARRAY_NAME (at) (struct DYNARRAY_STRUCT *list, size_t index)
+ {
+@@ -257,7 +257,7 @@ DYNARRAY_NAME (at) (struct DYNARRAY_STRU
+ /* Return a pointer to the first array element, if any.  For a
+    zero-length array, the pointer can be NULL even though the dynamic
+    array has not entered the failure state.  */
+-__attribute_nonnull__ ((1))
++__nonnull ((1))
+ static inline DYNARRAY_ELEMENT *
+ DYNARRAY_NAME (begin) (struct DYNARRAY_STRUCT *list)
+ {
+@@ -267,7 +267,7 @@ DYNARRAY_NAME (begin) (struct DYNARRAY_S
+ /* Return a pointer one element past the last array element.  For a
+    zero-length array, the pointer can be NULL even though the dynamic
+    array has not entered the failure state.  */
+-__attribute_nonnull__ ((1))
++__nonnull ((1))
+ static inline DYNARRAY_ELEMENT *
+ DYNARRAY_NAME (end) (struct DYNARRAY_STRUCT *list)
+ {
+@@ -294,7 +294,7 @@ DYNARRAY_NAME (add__) (struct DYNARRAY_S
+ /* Add ITEM at the end of the array, enlarging it by one element.
+    Mark *LIST as failed if the dynamic array allocation size cannot be
+    increased.  */
+-__attribute_nonnull__ ((1))
++__nonnull ((1))
+ static inline void
+ DYNARRAY_NAME (add) (struct DYNARRAY_STRUCT *list, DYNARRAY_ELEMENT item)
+ {
+@@ -348,8 +348,7 @@ DYNARRAY_NAME (emplace__) (struct DYNARR
+ /* Allocate a place for a new element in *LIST and return a pointer to
+    it.  The pointer can be NULL if the dynamic array cannot be
+    enlarged due to a memory allocation failure.  */
+-__attribute_maybe_unused__ __attribute_warn_unused_result__
+-__attribute_nonnull__ ((1))
++__attribute_maybe_unused__ __attribute_warn_unused_result__ __nonnull ((1))
+ static
+ /* Avoid inlining with the larger initialization code.  */
+ #if !(defined (DYNARRAY_ELEMENT_INIT) || defined (DYNARRAY_ELEMENT_FREE))
+@@ -373,7 +372,7 @@ DYNARRAY_NAME (emplace) (struct DYNARRAY
+    existing size, new elements are added (which can be initialized).
+    Otherwise, the list is truncated, and elements are freed.  Return
+    false on memory allocation failure (and mark *LIST as failed).  */
+-__attribute_maybe_unused__ __attribute_nonnull__ ((1))
++__attribute_maybe_unused__ __nonnull ((1))
+ static bool
+ DYNARRAY_NAME (resize) (struct DYNARRAY_STRUCT *list, size_t size)
+ {
+@@ -418,7 +417,7 @@ DYNARRAY_NAME (resize) (struct DYNARRAY_
+ }
+ 
+ /* Remove the last element of LIST if it is present.  */
+-__attribute_maybe_unused__ __attribute_nonnull__ ((1))
++__attribute_maybe_unused__ __nonnull ((1))
+ static void
+ DYNARRAY_NAME (remove_last) (struct DYNARRAY_STRUCT *list)
+ {
+@@ -435,7 +434,7 @@ DYNARRAY_NAME (remove_last) (struct DYNA
+ 
+ /* Remove all elements from the list.  The elements are freed, but the
+    list itself is not.  */
+-__attribute_maybe_unused__ __attribute_nonnull__ ((1))
++__attribute_maybe_unused__ __nonnull ((1))
+ static void
+ DYNARRAY_NAME (clear) (struct DYNARRAY_STRUCT *list)
+ {
+@@ -453,8 +452,7 @@ DYNARRAY_NAME (clear) (struct DYNARRAY_S
+    stored in *RESULT if LIST refers to an empty list.  On success, the
+    pointer in *RESULT is heap-allocated and must be deallocated using
+    free.  */
+-__attribute_maybe_unused__ __attribute_warn_unused_result__
+-__attribute_nonnull__ ((1, 2))
++__attribute_maybe_unused__ __attribute_warn_unused_result__ __nonnull ((1, 2))
+ static bool
+ DYNARRAY_NAME (finalize) (struct DYNARRAY_STRUCT *list,
+                           DYNARRAY_FINAL_TYPE *result)
+@@ -485,8 +483,7 @@ DYNARRAY_NAME (finalize) (struct DYNARRA
+    have a sentinel at the end).  If LENGTHP is not NULL, the array
+    length is written to *LENGTHP.  *LIST is re-initialized and can be
+    reused.  */
+-__attribute_maybe_unused__ __attribute_warn_unused_result__
+-__attribute_nonnull__ ((1))
++__attribute_maybe_unused__ __attribute_warn_unused_result__ __nonnull ((1))
+ static DYNARRAY_ELEMENT *
+ DYNARRAY_NAME (finalize) (struct DYNARRAY_STRUCT *list, size_t *lengthp)
+ {
diff --git a/pkgs/development/tools/misc/unused/default.nix b/pkgs/development/tools/misc/unused/default.nix
index 4c38723771421..de12e527a295e 100644
--- a/pkgs/development/tools/misc/unused/default.nix
+++ b/pkgs/development/tools/misc/unused/default.nix
@@ -1,18 +1,18 @@
 { lib, fetchFromGitHub, rustPlatform, cmake }:
 rustPlatform.buildRustPackage rec {
   pname = "unused";
-  version = "0.2.3";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "unused-code";
     repo = pname;
     rev = version;
-    sha256 = "sha256-1R50oCVvk+XJG4EhLusY1aY6RjWNeZvlIDS8PJXIA7o=";
+    sha256 = "sha256-+1M8dUfjjrT4llS0C6WYDyNxJ9QZ5s9v+W185TbgwMw=";
   };
 
   nativeBuildInputs = [ cmake ];
 
-  cargoSha256 = "sha256-PjCR+kHlgPWkTkhN0idotGmLSe/FaKkgI9AMEJtoRz8=";
+  cargoSha256 = "sha256-hCtkR20+xs1UHZP7oJVpJACVGcMQLQmSS1QE2tmIVhs=";
 
   meta = with lib; {
     description = "A tool to identify potentially unused code";
diff --git a/pkgs/development/tools/neil/default.nix b/pkgs/development/tools/neil/default.nix
index 643ca8773cb72..c0d1ec44f9e69 100644
--- a/pkgs/development/tools/neil/default.nix
+++ b/pkgs/development/tools/neil/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "neil";
-  version = "0.0.13";
+  version = "0.0.23";
 
   src = fetchFromGitHub {
     owner = "babashka";
     repo = "neil";
     rev = "v${version}";
-    sha256 = "0jiyl0d39d8kk5bpangwxiy90vqipj4lgp8x84rh4z5m53knjpkd";
+    sha256 = "0fx34gkhkklzq3hzk1cj2l4rgqrq9vif5y8b0nx9gg4136yj85cg";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/ocaml/cppo/default.nix b/pkgs/development/tools/ocaml/cppo/default.nix
index 55e9692a0a3ba..3134c310c4531 100644
--- a/pkgs/development/tools/ocaml/cppo/default.nix
+++ b/pkgs/development/tools/ocaml/cppo/default.nix
@@ -61,7 +61,7 @@ stdenv.mkDerivation {
   makeFlags = [ "PREFIX=$(out)" ];
 
   preBuild = ''
-    mkdir $out/bin
+    mkdir -p $out/bin
   '';
 
 }
diff --git a/pkgs/development/tools/ocaml/ocamlbuild/default.nix b/pkgs/development/tools/ocaml/ocamlbuild/default.nix
index 7f53ba9203d96..2caf6c67857c4 100644
--- a/pkgs/development/tools/ocaml/ocamlbuild/default.nix
+++ b/pkgs/development/tools/ocaml/ocamlbuild/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub, ocaml, findlib }:
 stdenv.mkDerivation rec {
   pname = "ocaml${ocaml.version}-ocamlbuild";
-  version = "0.14.0";
+  version = "0.14.1";
 
   src = fetchFromGitHub {
     owner = "ocaml";
     repo = "ocamlbuild";
     rev = version;
-    sha256 = "1hb5mcdz4wv7sh1pj7dq9q4fgz5h3zg7frpiya6s8zd3ypwzq0kh";
+    sha256 = "sha256-ZL0BwOCWTNDjNkrwNAmzHjHF1Rpg3CUuV4lSqcwDqgI=";
   };
 
   createFindlibDestdir = true;
diff --git a/pkgs/development/tools/oras/default.nix b/pkgs/development/tools/oras/default.nix
new file mode 100644
index 0000000000000..94a81144ccc20
--- /dev/null
+++ b/pkgs/development/tools/oras/default.nix
@@ -0,0 +1,40 @@
+{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "oras";
+  version = "0.12.0";
+
+  src = fetchFromGitHub {
+    owner = "oras-project";
+    repo = "oras";
+    rev = "v${version}";
+    sha256 = "sha256-6W7vmWFjULIJnOVtgSrCEKw/83W8jNSbM0AF4LZZR6U=";
+  };
+  vendorSha256 = "sha256-3UKsH4Jbq7G5PRwhn5lW0NR80jhmuzT9daa++v2sFWk=";
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/oras-project/oras/internal/version.Version=${version}"
+    "-X github.com/oras-project/oras/internal/version.BuildMetadata="
+    "-X github.com/oras-project/oras/internal/version.GitTreeState=clean"
+  ];
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    $out/bin/oras --help
+    $out/bin/oras version | grep "${version}"
+
+    runHook postInstallCheck
+  '';
+
+  meta = with lib; {
+    homepage = "https://oras.land/";
+    changelog = "https://github.com/oras-project/oras/releases/tag/v${version}";
+    description = "The ORAS project provides a way to push and pull OCI Artifacts to and from OCI Registries";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jk ];
+  };
+}
diff --git a/pkgs/development/tools/pandoc/default.nix b/pkgs/development/tools/pandoc/default.nix
index a61f39c15b67d..e587a2ef4e756 100644
--- a/pkgs/development/tools/pandoc/default.nix
+++ b/pkgs/development/tools/pandoc/default.nix
@@ -8,24 +8,7 @@ in
     configureFlags = drv.configureFlags or [] ++ ["-fembed_data_files"];
     buildDepends = drv.buildDepends or [] ++ [haskellPackages.file-embed];
     buildTools = (drv.buildTools or []) ++ [ removeReferencesTo ];
-    patches = (drv.patches or []) ++ [
-      # Support citerefentry DocBook element.
-      # https://github.com/jgm/pandoc/pull/7437
-      (fetchpatch {
-        url = "https://github.com/jgm/pandoc/commit/06408d08e5ccf06a6a04c9b77470e6a67d98e52c.patch";
-        sha256 = "gOtrWVylzwgu0YLD4SztqlXxtaXXGOf8nTqLwUBS7qs=";
-      })
-    ];
-  }) static).overrideAttrs (drv: {
 
-    # These libraries are still referenced, because they generate
-    # a `Paths_*` module for figuring out their version.
-    # The `Paths_*` module is generated by Cabal, and contains the
-    # version, but also paths to e.g. the data directories, which
-    # lead to a transitive runtime dependency on the whole GHC distribution.
-    # This should ideally be fixed in haskellPackages (or even Cabal),
-    # but a minimal pandoc is important enough to patch it manually.
-    disallowedReferences = [ haskellPackages.pandoc-types haskellPackages.HTTP ];
     postInstall = drv.postInstall or "" + ''
       remove-references-to \
         -t ${haskellPackages.pandoc-types} \
@@ -34,4 +17,13 @@ in
         -t ${haskellPackages.HTTP} \
         $out/bin/pandoc
     '';
+  }) static).overrideAttrs (drv: {
+    # These libraries are still referenced, because they generate
+    # a `Paths_*` module for figuring out their version.
+    # The `Paths_*` module is generated by Cabal, and contains the
+    # version, but also paths to e.g. the data directories, which
+    # lead to a transitive runtime dependency on the whole GHC distribution.
+    # This should ideally be fixed in haskellPackages (or even Cabal),
+    # but a minimal pandoc is important enough to patch it manually.
+    disallowedReferences = [ haskellPackages.pandoc-types haskellPackages.HTTP ];
   })
diff --git a/pkgs/development/tools/parsing/hammer/default.nix b/pkgs/development/tools/parsing/hammer/default.nix
index 402f83bea16b8..86697c0acdcb7 100644
--- a/pkgs/development/tools/parsing/hammer/default.nix
+++ b/pkgs/development/tools/parsing/hammer/default.nix
@@ -1,13 +1,14 @@
-{ lib, stdenv, fetchgit, glib, pkg-config, scons }:
+{ lib, stdenv, fetchFromGitHub, glib, pkg-config, scons }:
 
 stdenv.mkDerivation {
   pname = "hammer";
   version = "e7aa734";
 
-  src = fetchgit {
-    url = "git://github.com/UpstandingHackers/hammer";
-    sha256 = "01l0wbhz7dymxlndacin2vi8sqwjlw81ds2i9xyi200w51nsdm38";
+  src = fetchFromGitHub {
+    owner = "UpstandingHackers";
+    repo = "hammer";
     rev = "47f34b81e4de834fd3537dd71928c4f3cdb7f533";
+    sha256 = "sha256-aNSmbSgcABF9T1HoFhCnkmON4hY2MtUs7dW38+HigAY=";
   };
 
   nativeBuildInputs = [ pkg-config scons ];
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json
index 4a4eecf5ddb32..801634201c867 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/cstrahan/tree-sitter-nix",
-  "rev": "470b15a60520ff7b86f51732b8d8f1118c86041e",
-  "date": "2022-03-18T01:42:08-05:00",
-  "path": "/nix/store/c5y76kz7wmfq05hfw4xpqz2ahcdy924f-tree-sitter-nix",
-  "sha256": "1hl0mpy0i6r160v6v3nflrdi5fnmd8i5zbx963h5nj9fg4srkb5r",
+  "rev": "6d6aaa50793b8265b6a8b6628577a0083d3b923d",
+  "date": "2021-11-29T00:27:21-06:00",
+  "path": "/nix/store/6cjadxvqbrh205lsqnk2rnzq3badxdxv-tree-sitter-nix",
+  "sha256": "0cbk6dqppasrvnm87pwfgm718z6b0xmy9m7zj8ysil0h8bklz1w9",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/patatt/default.nix b/pkgs/development/tools/patatt/default.nix
new file mode 100644
index 0000000000000..fce4f5063763b
--- /dev/null
+++ b/pkgs/development/tools/patatt/default.nix
@@ -0,0 +1,28 @@
+{ lib, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "patatt";
+  version = "0.4.9";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-qHhNxgP43vBSjrHp2Ygzq5J/f6YyBD4VDTp9S1ud6zo=";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    pynacl
+  ];
+
+  meta = with lib; {
+    homepage = "https://git.kernel.org/pub/scm/utils/patatt/patatt.git/about/";
+    license = licenses.mit0;
+    description = "Add cryptographic attestation to patches sent via email";
+    longDescription = ''
+      This utility allows an easy way to add end-to-end cryptographic
+      attestation to patches sent via mail.  It does so by adapting the
+      DKIM email signature standard to include cryptographic
+      signatures via the X-Developer-Signature email header.
+    '';
+    maintainers = with maintainers; [ yoctocell ];
+  };
+}
diff --git a/pkgs/development/tools/phantomjs2/default.nix b/pkgs/development/tools/phantomjs2/default.nix
index d9e4ec1fb199e..5093553824d82 100644
--- a/pkgs/development/tools/phantomjs2/default.nix
+++ b/pkgs/development/tools/phantomjs2/default.nix
@@ -25,11 +25,10 @@ in stdenv.mkDerivation rec {
     sha256 = "1zsbpk1sgh9a16f1a5nx3qvk77ibjn812wqkxqck8n6fia85m5iq";
   };
 
-  nativeBuildInputs = [ qmake ];
+  nativeBuildInputs = [ qmake makeWrapper ];
   buildInputs = [
     bison flex fontconfig freetype gperf icu openssl
     libjpeg libpng perl python2 ruby sqlite qtwebkit qtbase
-    makeWrapper
   ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
     AGL ApplicationServices AppKit Cocoa OpenGL
     darwin.libobjc fakeClang cups
diff --git a/pkgs/development/tools/pipenv/default.nix b/pkgs/development/tools/pipenv/default.nix
index c7d22015d47a4..c177d18f1369a 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.1.8";
+  version = "2022.3.28";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f84d7119239b22ab2ac2b8fbc7d619d83cf41135206d72a17c4f151cda529fd0";
+    sha256 = "sha256-TnquYtrXZ5zoG1TMNFG+GfssRp4mkzWzaxQTL+XO7LM=";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
index c9b70c83bfeec..6489a23c37d8b 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
@@ -5,17 +5,10 @@
 }:
 let
   # Poetry2nix version
-  version = "1.26.0";
+  version = "1.27.1";
 
   inherit (poetryLib) isCompatible readTOML moduleName;
 
-  /* The default list of poetry2nix override overlays */
-  mkEvalPep508 = import ./pep508.nix {
-    inherit lib poetryLib;
-    stdenv = pkgs.stdenv;
-  };
-  getFunctorFn = fn: if builtins.typeOf fn == "set" then fn.__functor else fn;
-
   # Map SPDX identifiers to license names
   spdxLicenses = lib.listToAttrs (lib.filter (pair: pair.name != null) (builtins.map (v: { name = if lib.hasAttr "spdxId" v then v.spdxId else null; value = v; }) (lib.attrValues lib.licenses)));
   # Get license by id falling back to input string
@@ -121,10 +114,16 @@ lib.makeScope pkgs.newScope (self: {
     , preferWheels ? false
       # Example: { my-app = ./src; }
     , editablePackageSources ? { }
-    , __isBootstrap ? false  # Hack: Always add Poetry as a build input unless bootstrapping
     , pyProject ? readTOML pyproject
     }@attrs:
     let
+      /* The default list of poetry2nix override overlays */
+      mkEvalPep508 = import ./pep508.nix {
+        inherit lib poetryLib;
+        inherit (python) stdenv;
+      };
+      getFunctorFn = fn: if builtins.typeOf fn == "set" then fn.__functor else fn;
+
       poetryPkg = poetry.override { inherit python; };
 
       scripts = pyProject.tool.poetry.scripts or { };
@@ -180,7 +179,6 @@ lib.makeScope pkgs.newScope (self: {
                   value = self.mkPoetryDep (
                     pkgMeta // {
                       inherit pwd preferWheels;
-                      inherit __isBootstrap;
                       source = pkgMeta.source or null;
                       files = lockFiles.${name};
                       pythonPackages = self;
@@ -207,12 +205,12 @@ lib.makeScope pkgs.newScope (self: {
                 in
                 {
                   mkPoetryDep = self.callPackage ./mk-poetry-dep.nix {
-                    inherit pkgs lib python poetryLib evalPep508;
+                    inherit lib python poetryLib evalPep508;
                   };
 
-                  # Use poetry-core from the poetry build (pep517/518 build-system)
-                  poetry-core = if __isBootstrap then null else poetryPkg.passthru.python.pkgs.poetry-core;
-                  poetry = if __isBootstrap then null else poetryPkg;
+                  # # Use poetry-core from the poetry build (pep517/518 build-system)
+                  poetry-core = poetryPkg.passthru.python.pkgs.poetry-core;
+                  poetry = poetryPkg;
 
                   __toPluginAble = toPluginAble self;
 
@@ -222,10 +220,21 @@ lib.makeScope pkgs.newScope (self: {
                   setuptools-scm = super.setuptools_scm;
                 }
             )
+
+            # Fix infinite recursion in a lot of packages because of checkInputs
+            (self: super: lib.mapAttrs
+              (name: value: (
+                if lib.isDerivation value && lib.hasAttr "overridePythonAttrs" value
+                then value.overridePythonAttrs (_: { doCheck = false; })
+                else value
+              ))
+              super)
+
             # Null out any filtered packages, we don't want python.pkgs from nixpkgs
             (self: super: builtins.listToAttrs (builtins.map (x: { name = moduleName x.name; value = null; }) incompatible))
             # Create poetry2nix layer
             baseOverlay
+
           ] ++ # User provided overrides
           (if builtins.typeOf overrides == "list" then overrides else [ overrides ])
         );
@@ -318,12 +327,11 @@ lib.makeScope pkgs.newScope (self: {
     , python ? pkgs.python3
     , pwd ? projectDir
     , preferWheels ? false
-    , __isBootstrap ? false  # Hack: Always add Poetry as a build input unless bootstrapping
     , ...
     }@attrs:
     let
       poetryPython = self.mkPoetryPackages {
-        inherit pyproject poetrylock overrides python pwd preferWheels __isBootstrap;
+        inherit pyproject poetrylock overrides python pwd preferWheels;
       };
       py = poetryPython.python;
 
@@ -429,7 +437,7 @@ lib.makeScope pkgs.newScope (self: {
 
     Can be overriden by calling defaultPoetryOverrides.overrideOverlay which takes an overlay function
   */
-  defaultPoetryOverrides = self.mkDefaultPoetryOverrides (import ./overrides.nix { inherit pkgs lib; });
+  defaultPoetryOverrides = self.mkDefaultPoetryOverrides (import ./overrides { inherit pkgs lib; });
 
   /*
     Convenience functions for specifying overlays with or without the poerty2nix default overrides
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/default.nix
index 0abbe2459927c..5d562017b8fbb 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/default.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/default.nix
@@ -67,6 +67,13 @@ in
         {
           name = "fixup-hook.sh";
           deps = [ ];
+          substitutions = {
+            inherit pythonSitePackages;
+            filenames = builtins.concatStringsSep " " [
+              "pyproject.toml"
+              "README.md"
+            ];
+          };
         } ./fixup-hook.sh
     )
     { };
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/fixup-hook.sh b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/fixup-hook.sh
index fc539e4298c61..8cbe2b178c7ac 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/fixup-hook.sh
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/fixup-hook.sh
@@ -1,8 +1,20 @@
 poetry2nix-fixup-hook() {
+
     # Including tests in the output is a common mistake
     if [ -z "${dontFixupTests-}" ]; then
-        rm -rf $out/lib/python3.7/site-packages/tests
+        rm -rf $out/@pythonSitePackages@/tests
+    fi
+
+    # Including files in site-packages is a common packaging mistake
+    #
+    # While we cannot remove all normal files dumped in site-packages
+    # we can clean up some common mistakes
+    if [ -z "${dontFixupSitePackages-}" ]; then
+        for f in @filenames@; do
+            rm -f $out/@pythonSitePackages@/$f
+        done
     fi
+
 }
 
 postFixupHooks+=(poetry2nix-fixup-hook)
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pip-build-hook.sh b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pip-build-hook.sh
index a3ebe311d591e..31e06909b3b69 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pip-build-hook.sh
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pip-build-hook.sh
@@ -5,14 +5,6 @@ pipBuildPhase() {
     echo "Executing pipBuildPhase"
     runHook preBuild
 
-    # Prefer using setup.py to avoid build-system dependencies if we have a setup.py
-    if [ -z "${dontPreferSetupPy-}" ]; then
-      if test -e setup.py && test -e pyproject.toml; then
-        echo "Removing pyproject.toml..."
-        rm -f pyproject.toml
-      fi
-    fi
-
     mkdir -p dist
     echo "Creating a wheel..."
     @pythonInterpreter@ -m pip wheel --verbose --no-index --no-deps --no-clean --no-build-isolation --wheel-dir dist .
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix b/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix
index 8e9dee865a543..a905d302d2a9b 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix
@@ -79,6 +79,7 @@ let
     if lib.strings.hasInfix "manylinux1" f then { pkg = [ ml.manylinux1 ]; str = "1"; }
     else if lib.strings.hasInfix "manylinux2010" f then { pkg = [ ml.manylinux2010 ]; str = "2010"; }
     else if lib.strings.hasInfix "manylinux2014" f then { pkg = [ ml.manylinux2014 ]; str = "2014"; }
+    else if lib.strings.hasInfix "manylinux_" f then { pkg = [ ml.manylinux2014 ]; str = "pep600"; }
     else { pkg = [ ]; str = null; };
 
   # Predict URL from the PyPI index.
@@ -110,8 +111,8 @@ let
     (pkgs.stdenvNoCC.mkDerivation {
       name = file;
       nativeBuildInputs = [
-        pkgs.curl
-        pkgs.jq
+        pkgs.buildPackages.curl
+        pkgs.buildPackages.jq
       ];
       isWheel = lib.strings.hasSuffix "whl" file;
       system = "builtin";
@@ -219,7 +220,8 @@ let
   };
 
   # Machine tag for our target platform (if available)
-  targetMachine = manyLinuxTargetMachines.${stdenv.targetPlatform.parsed.cpu.name} or null;
+  getTargetMachine = stdenv: manyLinuxTargetMachines.${stdenv.targetPlatform.parsed.cpu.name} or null;
+
 in
 {
   inherit
@@ -233,6 +235,6 @@ in
     cleanPythonSources
     moduleName
     getPythonVersion
-    targetMachine
+    getTargetMachine
     ;
 }
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix b/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix
index 5735e320c03fb..a5c19f873616d 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/mk-poetry-dep.nix
@@ -1,5 +1,4 @@
 { autoPatchelfHook
-, pkgs
 , lib
 , python
 , buildPythonPackage
@@ -17,7 +16,6 @@
 , sourceSpec
 , supportedExtensions ? lib.importJSON ./extensions.json
 , preferWheels ? false
-, __isBootstrap ? false  # Hack: Always add Poetry as a build input unless bootstrapping
 , ...
 }:
 
@@ -27,12 +25,11 @@ pythonPackages.callPackage
     , ...
     }@args:
     let
-      inherit (pkgs) stdenv;
+      inherit (python) stdenv;
       inherit (poetryLib) isCompatible getManyLinuxDeps fetchFromLegacy fetchFromPypi moduleName;
 
       inherit (import ./pep425.nix {
-        inherit lib poetryLib python;
-        inherit (pkgs) stdenv;
+        inherit lib poetryLib python stdenv;
       }) selectWheel
         ;
       fileCandidates =
@@ -97,6 +94,7 @@ pythonPackages.callPackage
         "setuptools-scm"
         "toml" # Toml is an extra for setuptools-scm
         "tomli" # tomli is an extra for later versions of setuptools-scm
+        "flit-core"
         "packaging"
         "six"
         "pyparsing"
@@ -129,7 +127,6 @@ pythonPackages.callPackage
         ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) pythonPackages.setuptools
         ++ lib.optional (!isSource) (getManyLinuxDeps fileInfo.name).pkg
         ++ lib.optional isDirectory buildSystemPkgs
-        ++ lib.optional (!__isBootstrap) pythonPackages.poetry
       );
 
       propagatedBuildInputs =
@@ -169,11 +166,18 @@ pythonPackages.callPackage
       src =
         if isGit then
           (
-            builtins.fetchGit {
+            builtins.fetchGit ({
               inherit (source) url;
               rev = source.resolved_reference or source.reference;
-              ref = sourceSpec.branch or sourceSpec.rev or (if sourceSpec?tag then "refs/tags/${sourceSpec.tag}" else "HEAD");
-            }
+              ref = sourceSpec.branch or (if sourceSpec ? tag then "refs/tags/${sourceSpec.tag}" else "HEAD");
+            } // (
+              let
+                nixVersion = builtins.substring 0 3 builtins.nixVersion;
+              in
+              lib.optionalAttrs ((sourceSpec ? rev) && (lib.versionAtLeast nixVersion "2.4")) {
+                allRefs = true;
+              }
+            ))
           )
         else if isUrl then
           builtins.fetchTarball
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix b/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix
deleted file mode 100644
index 6e35069a817c7..0000000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix
+++ /dev/null
@@ -1,2271 +0,0 @@
-{ pkgs ? import <nixpkgs> { }
-, lib ? pkgs.lib
-, stdenv ? pkgs.stdenv
-}:
-
-self: super:
-
-{
-  automat = super.automat.overridePythonAttrs (
-    old: rec {
-      propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.m2r ];
-    }
-  );
-
-  aiohttp-swagger3 = super.aiohttp-swagger3.overridePythonAttrs (
-    old: {
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
-    }
-  );
-
-  ansible = super.ansible.overridePythonAttrs (
-    old: {
-      # Inputs copied from nixpkgs as ansible doesn't specify it's dependencies
-      # in a correct manner.
-      propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
-        self.pycrypto
-        self.paramiko
-        self.jinja2
-        self.pyyaml
-        self.httplib2
-        self.six
-        self.netaddr
-        self.dnspython
-        self.jmespath
-        self.dopy
-        self.ncclient
-      ];
-    } // lib.optionalAttrs (lib.versionOlder old.version "5.0") {
-      prePatch = pkgs.python.pkgs.ansible.prePatch or "";
-      postInstall = pkgs.python.pkgs.ansible.postInstall or "";
-    }
-  );
-
-  ansible-lint = super.ansible-lint.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ];
-      preBuild = ''
-        export HOME=$(mktemp -d)
-      '';
-    }
-  );
-
-  anyio = super.anyio.overridePythonAttrs (old: {
-    postPatch = ''
-      substituteInPlace setup.py --replace 'setup()' 'setup(version="${old.version}")'
-    '';
-  });
-
-  argcomplete = super.argcomplete.overridePythonAttrs (
-    old: rec {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.importlib-metadata ];
-    }
-  );
-
-  arpeggio = super.arpeggio.overridePythonAttrs (
-    old: {
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
-    }
-  );
-
-  astroid = super.astroid.overridePythonAttrs (
-    old: rec {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-    }
-  );
-
-  av = super.av.overridePythonAttrs (
-    old: {
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-        pkgs.pkg-config
-      ];
-      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.ffmpeg_4 ];
-    }
-  );
-
-  argon2-cffi = super.argon2-cffi.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++
-        lib.optional (lib.versionAtLeast old.version "21.2.0") [ self.flit-core ];
-    }
-  );
-
-  backports-entry-points-selectable = super.backports-entry-points-selectable.overridePythonAttrs (old: {
-    postPatch = ''
-      substituteInPlace setup.py --replace \
-        'setuptools.setup()' \
-        'setuptools.setup(version="${old.version}")'
-    '';
-  });
-
-  backports-functools-lru-cache = super.backports-functools-lru-cache.overridePythonAttrs (old: {
-    postPatch = ''
-      substituteInPlace setup.py --replace \
-        'setuptools.setup()' \
-        'setuptools.setup(version="${old.version}")'
-    '';
-  });
-
-  bcrypt = super.bcrypt.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libffi ];
-    }
-  );
-
-  bjoern = super.bjoern.overridePythonAttrs (
-    old: {
-      buildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.libev ];
-    }
-  );
-
-  black = super.black.overridePythonAttrs (
-    old: {
-      dontPreferSetupPy = true;
-    }
-  );
-
-  borgbackup = super.borgbackup.overridePythonAttrs (
-    old: {
-      BORG_OPENSSL_PREFIX = pkgs.openssl.dev;
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ];
-      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openssl pkgs.acl ];
-    }
-  );
-
-  cairocffi = super.cairocffi.overridePythonAttrs (
-    old: {
-      inherit (pkgs.python3.pkgs.cairocffi) patches;
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-    }
-  );
-
-  cairosvg = super.cairosvg.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-    }
-  );
-
-  celery = super.celery.overridePythonAttrs (old: {
-    propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
-  });
-
-  cssselect2 = super.cssselect2.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-    }
-  );
-
-  cffi =
-    # cffi is bundled with pypy
-    if self.python.implementation == "pypy" then null else
-    (
-      super.cffi.overridePythonAttrs (
-        old: {
-          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libffi ];
-        }
-      )
-    );
-
-  cftime = super.cftime.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [
-        self.cython
-      ];
-    }
-  );
-
-  cheroot = super.cheroot.overridePythonAttrs (
-    old: {
-      dontPreferSetupPy = true;
-    }
-  );
-
-  cloudflare = super.cloudflare.overridePythonAttrs (
-    old: {
-      postPatch = ''
-        rm -rf examples/*
-      '';
-    }
-  );
-
-  colour = super.colour.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.d2to1 ];
-    }
-  );
-
-  configparser = super.configparser.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [
-        self.toml
-      ];
-
-      postPatch = ''
-        substituteInPlace setup.py --replace 'setuptools.setup()' 'setuptools.setup(version="${old.version}")'
-      '';
-    }
-  );
-
-  cryptography = super.cryptography.overridePythonAttrs (
-    old: {
-      nativeBuildInputs = (old.nativeBuildInputs or [ ])
-        ++ lib.optional (lib.versionAtLeast old.version "3.4") [ self.setuptools-rust ]
-        ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) self.python.pythonForBuild.pkgs.cffi
-        ++ lib.optional (lib.versionAtLeast old.version "3.5")
-        (with pkgs.rustPlatform; [ cargoSetupHook rust.cargo rust.rustc ]);
-      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openssl ];
-    } // lib.optionalAttrs (lib.versionAtLeast old.version "3.4" && lib.versionOlder old.version "3.5") {
-      CRYPTOGRAPHY_DONT_BUILD_RUST = "1";
-    } // lib.optionalAttrs (lib.versionAtLeast old.version "35") rec {
-      cargoDeps =
-        let
-          getCargoHash = version:
-            if lib.versionOlder version "36.0.0" then "sha256-tQoQfo+TAoqAea86YFxyj/LNQCiViu5ij/3wj7ZnYLI="
-            else if lib.versionOlder version "36.0.1" then "sha256-Y6TuW7AryVgSvZ6G8WNoDIvi+0tvx8ZlEYF5qB0jfNk="
-            # This hash could no longer be valid for cryptography versions
-            # different from 36.0.1
-            else "sha256-kozYXkqt1Wpqyo9GYCwN08J+zV92ZWFJY/f+rulxmeQ=";
-        in
-        pkgs.rustPlatform.fetchCargoTarball {
-          src = old.src;
-          sourceRoot = "${old.pname}-${old.version}/${cargoRoot}";
-          name = "${old.pname}-${old.version}";
-          sha256 = getCargoHash old.version;
-        };
-      cargoRoot = "src/rust";
-    }
-  );
-
-  cwcwidth = super.cwcwidth.overridePythonAttrs (old: {
-    nativeBuildInputs = (old.nativeBuildInputs or [ ])
-      ++ [ self.cython ];
-  });
-
-  cyclonedx-python-lib = super.cyclonedx-python-lib.overridePythonAttrs (old: {
-    propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
-    postPatch = ''
-      substituteInPlace setup.py --replace 'setuptools>=50.3.2,<51.0.0' 'setuptools'
-    '';
-  });
-
-  daphne = super.daphne.overridePythonAttrs (old: {
-    postPatch = ''
-      substituteInPlace setup.py --replace 'setup_requires=["pytest-runner"],' ""
-    '';
-  });
-
-  datadog-lambda = super.datadog-lambda.overridePythonAttrs (old: {
-    postPatch = ''
-      substituteInPlace setup.py --replace "setuptools==" "setuptools>="
-    '';
-    buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools ];
-  });
-
-  dbus-python = super.dbus-python.overridePythonAttrs (old: {
-    outputs = [ "out" "dev" ];
-
-    postPatch = old.postPatch or "" + ''
-      substituteInPlace ./configure --replace /usr/bin/file ${pkgs.file}/bin/file
-      substituteInPlace ./dbus-python.pc.in --replace 'Cflags: -I''${includedir}' 'Cflags: -I''${includedir}/dbus-1.0'
-    '';
-
-    configureFlags = (old.configureFlags or [ ]) ++ [
-      "PYTHON_VERSION=${lib.versions.major self.python.version}"
-    ];
-
-    preConfigure = lib.concatStringsSep "\n" [
-      (old.preConfigure or "")
-      (if (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11" && stdenv.isDarwin) then ''
-        MACOSX_DEPLOYMENT_TARGET=10.16
-      '' else "")
-    ];
-
-    preBuild = old.preBuild or "" + ''
-      make distclean
-    '';
-
-    nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ pkgs.pkg-config ];
-    buildInputs = old.buildInputs or [ ] ++ [ pkgs.dbus pkgs.dbus-glib ]
-      # My guess why it's sometimes trying to -lncurses.
-      # It seems not to retain the dependency anyway.
-      ++ lib.optional (! self.python ? modules) pkgs.ncurses;
-  });
-
-  dcli = super.dcli.overridePythonAttrs (old: {
-    propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
-  });
-
-  ddtrace = super.ddtrace.overridePythonAttrs (old: {
-    buildInputs = (old.buildInputs or [ ]) ++
-      (pkgs.lib.optionals pkgs.stdenv.isDarwin [ pkgs.darwin.IOKit ]) ++ [ self.cython ];
-  });
-
-  dictdiffer = super.dictdiffer.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-      propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
-    }
-  );
-
-  django = (
-    super.django.overridePythonAttrs (
-      old: {
-        propagatedNativeBuildInputs = (old.propagatedNativeBuildInputs or [ ])
-          ++ [ pkgs.gettext self.pytest-runner ];
-      }
-    )
-  );
-
-  django-bakery = super.django-bakery.overridePythonAttrs (
-    old: {
-      configurePhase = ''
-        if ! test -e LICENSE; then
-          touch LICENSE
-        fi
-      '' + (old.configurePhase or "");
-    }
-  );
-
-  django-cors-headers = super.django-cors-headers.overridePythonAttrs (
-    old: {
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
-    }
-  );
-
-  django-hijack = super.django-hijack.overridePythonAttrs (
-    old: {
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
-    }
-  );
-
-  django-prometheus = super.django-prometheus.overridePythonAttrs (
-    old: {
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
-    }
-  );
-
-  django-rosetta = super.django-rosetta.overridePythonAttrs (
-    old: {
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
-    }
-  );
-
-  django-stubs-ext = super.django-stubs-ext.overridePythonAttrs (
-    old: {
-      prePatch = (old.prePatch or "") + "touch ../LICENSE.txt";
-    }
-  );
-
-  dlib = super.dlib.overridePythonAttrs (
-    old: {
-      # Parallel building enabled
-      inherit (pkgs.python.pkgs.dlib) patches;
-
-      enableParallelBuilding = true;
-      dontUseCmakeConfigure = true;
-
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ pkgs.dlib.nativeBuildInputs;
-      buildInputs = (old.buildInputs or [ ]) ++ pkgs.dlib.buildInputs;
-    }
-  );
-
-  # Environment markers are not always included (depending on how a dep was defined)
-  enum34 = if self.pythonAtLeast "3.4" then null else super.enum34;
-
-  eth-hash = super.eth-hash.overridePythonAttrs {
-    preConfigure = ''
-      substituteInPlace setup.py --replace \'setuptools-markdown\' ""
-    '';
-  };
-
-  eth-keyfile = super.eth-keyfile.overridePythonAttrs {
-    preConfigure = ''
-      substituteInPlace setup.py --replace \'setuptools-markdown\' ""
-    '';
-  };
-
-  eth-keys = super.eth-keys.overridePythonAttrs {
-    preConfigure = ''
-      substituteInPlace setup.py --replace \'setuptools-markdown\' ""
-    '';
-  };
-
-  # remove eth-hash dependency because eth-hash also depends on eth-utils causing a cycle.
-  eth-utils = super.eth-utils.overridePythonAttrs (old: {
-    propagatedBuildInputs =
-      builtins.filter (i: i.pname != "eth-hash") old.propagatedBuildInputs;
-    preConfigure = ''
-      ${old.preConfigure or ""}
-      sed -i '/eth-hash/d' setup.py
-    '';
-  });
-
-  faker = super.faker.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-      doCheck = false;
-    }
-  );
-
-  fancycompleter = super.fancycompleter.overridePythonAttrs (
-    old: {
-      postPatch = ''
-        substituteInPlace setup.py \
-          --replace 'setup_requires="setupmeta"' 'setup_requires=[]' \
-          --replace 'versioning="devcommit"' 'version="${old.version}"'
-      '';
-    }
-  );
-
-  fastapi = super.fastapi.overridePythonAttrs (
-    old: {
-      # Note: requires full flit, not just flit-core
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.flit ];
-    }
-  );
-
-  fastecdsa = super.fastecdsa.overridePythonAttrs (old: {
-    buildInputs = old.buildInputs ++ [ pkgs.gmp.dev ];
-  });
-
-  fastparquet = super.fastparquet.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-    }
-  );
-
-  filelock = super.filelock.overridePythonAttrs (old: {
-    postPatch = ''
-      substituteInPlace setup.py --replace 'setup()' 'setup(version="${old.version}")'
-    '';
-  });
-
-  fiona = super.fiona.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.gdal_2 ];
-      nativeBuildInputs = [
-        pkgs.gdal_2 # for gdal-config
-      ];
-    }
-  );
-
-  gdal = super.gdal.overridePythonAttrs (
-    old: {
-      preBuild = (old.preBuild or "") + ''
-        substituteInPlace setup.cfg \
-          --replace "../../apps/gdal-config" '${pkgs.gdal}/bin/gdal-config'
-      '';
-    }
-  );
-
-  grandalf = super.grandalf.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-      doCheck = false;
-    }
-  );
-
-  gitpython = super.gitpython.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.typing-extensions ];
-    }
-  );
-
-  grpcio = super.grpcio.overridePythonAttrs (old: {
-    nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.cython pkgs.pkg-config ];
-    buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.c-ares pkgs.openssl pkgs.zlib ];
-
-    outputs = [ "out" "dev" ];
-
-    GRPC_BUILD_WITH_BORING_SSL_ASM = "";
-    GRPC_PYTHON_BUILD_SYSTEM_OPENSSL = 1;
-    GRPC_PYTHON_BUILD_SYSTEM_ZLIB = 1;
-    GRPC_PYTHON_BUILD_SYSTEM_CARES = 1;
-    DISABLE_LIBC_COMPATIBILITY = 1;
-  });
-
-  grpcio-tools = super.grpcio-tools.overridePythonAttrs (old: {
-    outputs = [ "out" "dev" ];
-  });
-
-  h3 = super.h3.overridePythonAttrs (
-    old: {
-      preBuild = (old.preBuild or "") + ''
-        substituteInPlace h3/h3.py \
-          --replace "'{}/{}'.format(_dirname, libh3_path)" '"${pkgs.h3}/lib/libh3${pkgs.stdenv.hostPlatform.extensions.sharedLibrary}"'
-      '';
-    }
-  );
-
-  h5py = super.h5py.overridePythonAttrs (
-    old:
-    if old.format != "wheel" then
-      (
-        let
-          mpi = pkgs.hdf5.mpi;
-          mpiSupport = pkgs.hdf5.mpiSupport;
-        in
-        {
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ];
-          buildInputs =
-            (old.buildInputs or [ ])
-            ++ [ pkgs.hdf5 self.pkgconfig self.cython ]
-            ++ lib.optional mpiSupport mpi
-          ;
-          propagatedBuildInputs =
-            (old.propagatedBuildInputs or [ ])
-            ++ lib.optionals mpiSupport [ self.mpi4py self.openssh ]
-          ;
-          preBuild = if mpiSupport then "export CC=${mpi}/bin/mpicc" else "";
-          HDF5_DIR = "${pkgs.hdf5}";
-          HDF5_MPI = if mpiSupport then "ON" else "OFF";
-          # avoid strict pinning of numpy
-          postPatch = ''
-            substituteInPlace setup.py \
-              --replace "numpy ==" "numpy >="
-          '';
-          pythonImportsCheck = [ "h5py" ];
-        }
-      ) else old
-  );
-
-  hid = super.hid.overridePythonAttrs (
-    old: {
-      postPatch = ''
-        found=
-        for name in libhidapi-hidraw libhidapi-libusb libhidapi-iohidmanager libhidapi; do
-          full_path=${pkgs.hidapi.out}/lib/$name${pkgs.stdenv.hostPlatform.extensions.sharedLibrary}
-          if test -f $full_path; then
-            found=t
-            sed -i -e "s|'$name\..*'|'$full_path'|" hid/__init__.py
-          fi
-        done
-        test -n "$found" || { echo "ERROR: No known libraries found in ${pkgs.hidapi.out}/lib, please update/fix this build expression."; exit 1; }
-      '';
-    }
-  );
-
-  horovod = super.horovod.overridePythonAttrs (
-    old: {
-      propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.mpi ];
-    }
-  );
-
-  httplib2 = super.httplib2.overridePythonAttrs (old: {
-    propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.pyparsing ];
-  });
-
-  icecream = super.icecream.overridePythonAttrs (old: {
-    #  # ERROR: Could not find a version that satisfies the requirement executing>=0.3.1 (from icecream) (from versions: none)
-    postPatch = ''
-      substituteInPlace setup.py --replace 'executing>=0.3.1' 'executing'
-    '';
-  });
-
-  imagecodecs = super.imagecodecs.overridePythonAttrs (
-    old: {
-      patchPhase = ''
-        substituteInPlace setup.py \
-          --replace "/usr/include/openjpeg-2.3" \
-                    "${pkgs.openjpeg.dev}/include/${pkgs.openjpeg.dev.incDir}
-        substituteInPlace setup.py \
-          --replace "/usr/include/jxrlib" \
-                    "$out/include/libjxr"
-        substituteInPlace imagecodecs/_zopfli.c \
-          --replace '"zopfli/zopfli.h"' \
-                    '<zopfli.h>'
-        substituteInPlace imagecodecs/_zopfli.c \
-          --replace '"zopfli/zlib_container.h"' \
-                    '<zlib_container.h>'
-        substituteInPlace imagecodecs/_zopfli.c \
-          --replace '"zopfli/gzip_container.h"' \
-                    '<gzip_container.h>'
-      '';
-
-      preBuild = ''
-        mkdir -p $out/include/libjxr
-        ln -s ${pkgs.jxrlib}/include/libjxr/**/* $out/include/libjxr
-
-      '';
-
-      buildInputs = (old.buildInputs or [ ]) ++ [
-        # Commented out packages are declared required, but not actually
-        # needed to build. They are not yet packaged for nixpkgs.
-        # bitshuffle
-        pkgs.brotli
-        # brunsli
-        pkgs.bzip2
-        pkgs.c-blosc
-        # charls
-        pkgs.giflib
-        pkgs.jxrlib
-        pkgs.lcms
-        pkgs.libaec
-        pkgs.libaec
-        pkgs.libjpeg_turbo
-        # liblzf
-        # liblzma
-        pkgs.libpng
-        pkgs.libtiff
-        pkgs.libwebp
-        pkgs.lz4
-        pkgs.openjpeg
-        pkgs.snappy
-        # zfp
-        pkgs.zopfli
-        pkgs.zstd
-        pkgs.zlib
-      ];
-    }
-  );
-
-  # importlib-metadata has an incomplete dependency specification
-  importlib-metadata = super.importlib-metadata.overridePythonAttrs (
-    old: {
-      propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ lib.optional self.python.isPy2 self.pathlib2;
-
-      # disable the removal of pyproject.toml, required because of setuptools_scm
-      dontPreferSetupPy = true;
-
-      postPatch = old.postPatch or "" + (lib.optionalString ((old.format or "") != "wheel") ''
-        substituteInPlace setup.py --replace 'setuptools.setup()' 'setuptools.setup(version="${old.version}")'
-      '');
-    }
-  );
-
-  importlib-resources = super.importlib-resources.overridePythonAttrs (
-    old: {
-      # disable the removal of pyproject.toml, required because of setuptools_scm
-      dontPreferSetupPy = true;
-    }
-  );
-
-  intreehooks = super.intreehooks.overridePythonAttrs (
-    old: {
-      doCheck = false;
-    }
-  );
-
-  isort = super.isort.overridePythonAttrs (
-    old: {
-      propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
-    }
-  );
-
-  jaraco-functools = super.jaraco-functools.overridePythonAttrs (
-    old: {
-      # required for the extra "toml" dependency in setuptools_scm[toml]
-      buildInputs = (old.buildInputs or [ ]) ++ [
-        self.toml
-      ];
-      # disable the removal of pyproject.toml, required because of setuptools_scm
-      dontPreferSetupPy = true;
-    }
-  );
-
-  jira = super.jira.overridePythonAttrs (
-    old: {
-      inherit (pkgs.python3Packages.jira) patches;
-      buildInputs = (old.buildInputs or [ ]) ++ [
-        self.pytestrunner
-        self.cryptography
-        self.pyjwt
-        self.setuptools-scm-git-archive
-      ];
-    }
-  );
-
-  jq = super.jq.overridePythonAttrs (attrs: {
-    buildInputs = [ pkgs.jq ];
-    patches = [
-      (pkgs.fetchpatch {
-        url = "https://raw.githubusercontent.com/NixOS/nixpkgs/088da8735f6620b60d724aa7db742607ea216087/pkgs/development/python-modules/jq/jq-py-setup.patch";
-        sha256 = "sha256-MYvX3S1YGe0QsUtExtOtULvp++AdVrv+Fid4Jh1xewQ=";
-      })
-    ];
-  });
-
-  jsondiff = super.jsondiff.overridePythonAttrs (
-    old: {
-      preBuild = (old.preBuild or "") + ''
-        substituteInPlace setup.py \
-          --replace "'jsondiff=jsondiff.cli:main_deprecated'," ""
-      '';
-    }
-  );
-
-  jsonpickle = super.jsonpickle.overridePythonAttrs (
-    old: {
-      dontPreferSetupPy = true;
-    }
-  );
-
-  jsonslicer = super.jsonslicer.overridePythonAttrs (old: {
-    nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkgconfig ];
-    buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.yajl ];
-  });
-
-  jupyter = super.jupyter.overridePythonAttrs (
-    old: rec {
-      # jupyter is a meta-package. Everything relevant comes from the
-      # dependencies. It does however have a jupyter.py file that conflicts
-      # with jupyter-core so this meta solves this conflict.
-      meta.priority = 100;
-    }
-  );
-
-  jupyterlab-widgets = super.jupyterlab-widgets.overridePythonAttrs (
-    old: rec {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.jupyter-packaging ];
-    }
-  );
-
-  kerberos = super.kerberos.overrideAttrs (old: {
-    nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.libkrb5 ];
-  });
-
-  keyring = super.keyring.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [
-        self.toml
-      ];
-      postPatch = ''
-        substituteInPlace setup.py --replace 'setuptools.setup()' 'setuptools.setup(version="${old.version}")'
-      '';
-    }
-  );
-
-  kiwisolver = super.kiwisolver.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [
-        self.cppy
-      ];
-    }
-  );
-
-  lap = super.lap.overridePythonAttrs (
-    old: {
-      propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
-        self.numpy
-      ];
-    }
-  );
-
-  libvirt-python = super.libvirt-python.overridePythonAttrs ({ nativeBuildInputs ? [ ], ... }: {
-    nativeBuildInputs = nativeBuildInputs ++ [ pkgs.pkg-config ];
-    propagatedBuildInputs = [ pkgs.libvirt ];
-  });
-
-  licensecheck = super.licensecheck.overridePythonAttrs (old: {
-    dontPreferSetupPy = true;
-  });
-
-  llvmlite = super.llvmlite.overridePythonAttrs (
-    old:
-    let
-      llvm =
-        if lib.versionAtLeast old.version "0.37.0" then
-          pkgs.llvmPackages_11.llvm
-        else if (lib.versionOlder old.version "0.37.0" && lib.versionAtLeast old.version "0.34.0") then
-          pkgs.llvmPackages_10.llvm
-        else if (lib.versionOlder old.version "0.34.0" && lib.versionAtLeast old.version "0.33.0") then
-          pkgs.llvmPackages_9.llvm
-        else if (lib.versionOlder old.version "0.33.0" && lib.versionAtLeast old.version "0.29.0") then
-          pkgs.llvmPackages_8.llvm
-        else if (lib.versionOlder old.version "0.28.0" && lib.versionAtLeast old.version "0.27.0") then
-          pkgs.llvmPackages_7.llvm
-        else if (lib.versionOlder old.version "0.27.0" && lib.versionAtLeast old.version "0.23.0") then
-          pkgs.llvmPackages_6.llvm
-        else if (lib.versionOlder old.version "0.23.0" && lib.versionAtLeast old.version "0.21.0") then
-          pkgs.llvmPackages_5.llvm
-        else
-          pkgs.llvm; # Likely to fail.
-    in
-    {
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.llvm ];
-
-      # Disable static linking
-      # https://github.com/numba/llvmlite/issues/93
-      postPatch = ''
-        substituteInPlace ffi/Makefile.linux --replace "-static-libstdc++" ""
-
-        substituteInPlace llvmlite/tests/test_binding.py --replace "test_linux" "nope"
-      '';
-
-      # Set directory containing llvm-config binary
-      preConfigure = ''
-        export LLVM_CONFIG=${llvm.dev}/bin/llvm-config
-      '';
-
-      __impureHostDeps = lib.optionals pkgs.stdenv.isDarwin [ "/usr/lib/libm.dylib" ];
-
-      passthru = old.passthru // { llvm = llvm; };
-    }
-  );
-
-  lockfile = super.lockfile.overridePythonAttrs (
-    old: {
-      propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.pbr ];
-    }
-  );
-
-  lxml = super.lxml.overridePythonAttrs (
-    old: {
-      nativeBuildInputs = with pkgs; (old.nativeBuildInputs or [ ]) ++ [ pkg-config libxml2.dev libxslt.dev ] ++ lib.optionals stdenv.isDarwin [ xcodebuild ];
-      buildInputs = with pkgs; (old.buildInputs or [ ]) ++ [ libxml2 libxslt ];
-    }
-  );
-
-  markupsafe = super.markupsafe.overridePythonAttrs (
-    old: {
-      src = old.src.override { pname = builtins.replaceStrings [ "markupsafe" ] [ "MarkupSafe" ] old.pname; };
-    }
-  );
-
-  matplotlib = super.matplotlib.overridePythonAttrs (
-    old:
-    let
-      enableGhostscript = old.passthru.enableGhostscript or false;
-      enableGtk3 = old.passthru.enableTk or false;
-      enableQt = old.passthru.enableQt or false;
-      enableTk = old.passthru.enableTk or false;
-
-      inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa;
-    in
-    {
-      NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-I${pkgs.libcxx}/include/c++/v1";
-
-      XDG_RUNTIME_DIR = "/tmp";
-
-      buildInputs = (old.buildInputs or [ ])
-        ++ lib.optional enableGhostscript pkgs.ghostscript
-        ++ lib.optional stdenv.isDarwin [ Cocoa ]
-        ++ [ self.certifi ];
-
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-        pkgs.pkg-config
-      ] ++ lib.optional (lib.versionAtLeast super.matplotlib.version "3.5.0") [
-        self.setuptools-scm
-        self.setuptools-scm-git-archive
-      ];
-
-      MPLSETUPCFG = pkgs.writeText "mplsetup.cfg" ''
-        [libs]
-        system_freetype = True
-        system_qhull = True
-      '' + lib.optionalString stdenv.isDarwin ''
-        # LTO not working in darwin stdenv, see NixOS/nixpkgs/pull/19312
-        enable_lto = false
-      '';
-
-      propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
-        pkgs.libpng
-        pkgs.freetype
-        pkgs.qhull
-      ]
-        ++ lib.optionals enableGtk3 [ pkgs.cairo self.pycairo pkgs.gtk3 pkgs.gobject-introspection self.pygobject3 ]
-        ++ lib.optionals enableTk [ pkgs.tcl pkgs.tk self.tkinter pkgs.libX11 ]
-        ++ lib.optionals enableQt [ self.pyqt5 ]
-      ;
-
-      preBuild = ''
-        cp -r ${pkgs.qhull} .
-      '';
-
-      inherit (super.matplotlib) patches;
-    }
-  );
-
-  # Calls Cargo at build time for source builds and is really tricky to package
-  maturin = super.maturin.override {
-    preferWheel = true;
-  };
-
-  mccabe = super.mccabe.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-      doCheck = false;
-    }
-  );
-
-  mip = super.mip.overridePythonAttrs (
-    old: {
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.autoPatchelfHook ];
-
-      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.zlib self.cppy ];
-    }
-  );
-
-  mmdet = super.mmdet.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytorch ];
-    }
-  );
-
-  molecule =
-    if lib.versionOlder super.molecule.version "3.0.0" then
-      (super.molecule.overridePythonAttrs (
-        old: {
-          patches = (old.patches or [ ]) ++ [
-            # Fix build with more recent setuptools versions
-            (pkgs.fetchpatch {
-              url = "https://github.com/ansible-community/molecule/commit/c9fee498646a702c77b5aecf6497cff324acd056.patch";
-              sha256 = "1g1n45izdz0a3c9akgxx14zhdw6c3dkb48j8pq64n82fa6ndl1b7";
-              excludes = [ "pyproject.toml" ];
-            })
-          ];
-          buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ];
-        }
-      )) else
-      super.molecule.overridePythonAttrs (old: {
-        buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ];
-      });
-
-  mongomock = super.mongomock.overridePythonAttrs (oa: {
-    buildInputs = oa.buildInputs ++ [ self.pbr ];
-  });
-
-  mpi4py = super.mpi4py.overridePythonAttrs (
-    old:
-    let
-      cfg = pkgs.writeTextFile {
-        name = "mpi.cfg";
-        text = (
-          lib.generators.toINI
-            { }
-            {
-              mpi = {
-                mpicc = "${pkgs.mpi.outPath}/bin/mpicc";
-              };
-            }
-        );
-      };
-    in
-    {
-      propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.mpi ];
-      enableParallelBuilding = true;
-      preBuild = ''
-        ln -sf ${cfg} mpi.cfg
-      '';
-    }
-  );
-
-  multiaddr = super.multiaddr.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-    }
-  );
-
-  munch = super.munch.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.pbr ];
-    }
-  );
-
-  mypy = super.mypy.overridePythonAttrs (
-    old: {
-      MYPY_USE_MYPYC =
-        # is64bit: unfortunately the build would exhaust all possible memory on i686-linux.
-        stdenv.buildPlatform.is64bit
-        # Derivation fails to build since v0.900 if mypyc is enabled.
-        && lib.strings.versionOlder old.version "0.900";
-    }
-  );
-
-  mysqlclient = super.mysqlclient.overridePythonAttrs (
-    old: {
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.libmysqlclient ];
-      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libmysqlclient ];
-    }
-  );
-
-  netcdf4 = super.netcdf4.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [
-        self.cython
-      ];
-
-      propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
-        pkgs.zlib
-        pkgs.netcdf
-        pkgs.hdf5
-        pkgs.curl
-        pkgs.libjpeg
-      ];
-
-      # Variables used to configure the build process
-      USE_NCCONFIG = "0";
-      HDF5_DIR = lib.getDev pkgs.hdf5;
-      NETCDF4_DIR = pkgs.netcdf;
-      CURL_DIR = pkgs.curl.dev;
-      JPEG_DIR = pkgs.libjpeg.dev;
-    }
-  );
-
-  numpy = super.numpy.overridePythonAttrs (
-    old:
-    let
-      blas = old.passthru.args.blas or pkgs.openblasCompat;
-      blasImplementation = lib.nameFromURL blas.name "-";
-      cfg = pkgs.writeTextFile {
-        name = "site.cfg";
-        text = (
-          lib.generators.toINI
-            { }
-            {
-              ${blasImplementation} = {
-                include_dirs = "${blas}/include";
-                library_dirs = "${blas}/lib";
-              } // lib.optionalAttrs (blasImplementation == "mkl") {
-                mkl_libs = "mkl_rt";
-                lapack_libs = "";
-              };
-            }
-        );
-      };
-    in
-    {
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.gfortran ];
-      buildInputs = (old.buildInputs or [ ]) ++ [ blas self.cython ];
-      enableParallelBuilding = true;
-      preBuild = ''
-        ln -s ${cfg} site.cfg
-      '';
-      passthru = old.passthru // {
-        blas = blas;
-        inherit blasImplementation cfg;
-      };
-    }
-  );
-
-  opencv-python = super.opencv-python.overridePythonAttrs (
-    old: {
-      nativeBuildInputs = [ pkgs.cmake ] ++ old.nativeBuildInputs;
-      buildInputs = [ self.scikit-build ] ++ (old.buildInputs or [ ]);
-      dontUseCmakeConfigure = true;
-    }
-  );
-
-  opencv-contrib-python = super.opencv-contrib-python.overridePythonAttrs (
-    old: {
-      nativeBuildInputs = [ pkgs.cmake ] ++ old.nativeBuildInputs;
-      buildInputs = [ self.scikit-build ] ++ (old.buildInputs or [ ]);
-      dontUseCmakeConfigure = true;
-    }
-  );
-
-  openexr = super.openexr.overridePythonAttrs (
-    old: rec {
-      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openexr pkgs.ilmbase ];
-      NIX_CFLAGS_COMPILE = [ "-I${pkgs.openexr.dev}/include/OpenEXR" "-I${pkgs.ilmbase.dev}/include/OpenEXR" ];
-    }
-  );
-
-  osqp = super.osqp.overridePythonAttrs (
-    old: {
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.cmake ];
-      dontUseCmakeConfigure = true;
-    }
-  );
-
-  pantalaimon = super.pantalaimon.overridePythonAttrs (old: {
-    nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ pkgs.installShellFiles ];
-    postInstall = old.postInstall or "" + ''
-      installManPage docs/man/*.[1-9]
-    '';
-  });
-
-  paramiko = super.paramiko.overridePythonAttrs (old: {
-    doCheck = false; # requires networking
-  });
-
-  parsel = super.parsel.overridePythonAttrs (
-    old: rec {
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
-    }
-  );
-
-  pdal = super.pdal.overridePythonAttrs (
-    old: {
-      PDAL_CONFIG = "${pkgs.pdal}/bin/pdal-config";
-    }
-  );
-
-  peewee = super.peewee.overridePythonAttrs (
-    old:
-    let
-      withPostgres = old.passthru.withPostgres or false;
-      withMysql = old.passthru.withMysql or false;
-    in
-    {
-      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.sqlite ];
-      propagatedBuildInputs = (old.propagatedBuildInputs or [ ])
-        ++ lib.optional withPostgres self.psycopg2
-        ++ lib.optional withMysql self.mysql-connector;
-    }
-  );
-
-  pillow = super.pillow.overridePythonAttrs (
-    old: {
-      nativeBuildInputs = [ pkgs.pkg-config self.pytest-runner ] ++ (old.nativeBuildInputs or [ ]);
-      buildInputs = with pkgs; [ freetype libjpeg zlib libtiff libwebp tcl lcms2 ] ++ (old.buildInputs or [ ]);
-    }
-  );
-
-  platformdirs = super.platformdirs.overridePythonAttrs (old: {
-    postPatch = ''
-      substituteInPlace setup.py --replace 'setup()' 'setup(version="${old.version}")'
-    '';
-  });
-
-  poetry-core = super.poetry-core.overridePythonAttrs (old: {
-    # "Vendor" dependencies (for build-system support)
-    postPatch = ''
-      echo "import sys" >> poetry/__init__.py
-      for path in $propagatedBuildInputs; do
-          echo "sys.path.insert(0, \"$path\")" >> poetry/__init__.py
-      done
-    '';
-
-    # Propagating dependencies leads to issues downstream
-    # We've already patched poetry to prefer "vendored" dependencies
-    postFixup = ''
-      rm $out/nix-support/propagated-build-inputs
-    '';
-  });
-
-  portend = super.portend.overridePythonAttrs (
-    old: {
-      # required for the extra "toml" dependency in setuptools_scm[toml]
-      buildInputs = (old.buildInputs or [ ]) ++ [
-        self.toml
-      ];
-      # disable the removal of pyproject.toml, required because of setuptools_scm
-      dontPreferSetupPy = true;
-    }
-  );
-
-  prettytable = super.prettytable.overridePythonAttrs (old: {
-    propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
-  });
-
-  psycopg2 = super.psycopg2.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ])
-        ++ lib.optional stdenv.isDarwin pkgs.openssl;
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.postgresql ];
-    }
-  );
-
-  psycopg2-binary = super.psycopg2-binary.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ])
-        ++ lib.optional stdenv.isDarwin pkgs.openssl;
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.postgresql ];
-    }
-  );
-
-  pyarrow =
-    if lib.versionAtLeast super.pyarrow.version "0.16.0" then
-      super.pyarrow.overridePythonAttrs
-        (
-          old:
-          let
-            parseMinor = drv: lib.concatStringsSep "." (lib.take 2 (lib.splitVersion drv.version));
-
-            # Starting with nixpkgs revision f149c7030a7, pyarrow takes "python3" as an argument
-            # instead of "python". Below we inspect function arguments to maintain compatibilitiy.
-            _arrow-cpp = pkgs.arrow-cpp.override (
-              builtins.intersectAttrs
-                (lib.functionArgs pkgs.arrow-cpp.override)
-                { python = self.python; python3 = self.python; }
-            );
-
-            ARROW_HOME = _arrow-cpp;
-            arrowCppVersion = parseMinor _arrow-cpp;
-            pyArrowVersion = parseMinor super.pyarrow;
-            errorMessage = "arrow-cpp version (${arrowCppVersion}) mismatches pyarrow version (${pyArrowVersion})";
-          in
-          if arrowCppVersion != pyArrowVersion then throw errorMessage else {
-
-            nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-              self.cython
-              pkgs.pkg-config
-              pkgs.cmake
-            ];
-
-            preBuild = ''
-              export PYARROW_PARALLEL=$NIX_BUILD_CORES
-            '';
-
-            PARQUET_HOME = _arrow-cpp;
-            inherit ARROW_HOME;
-
-            PYARROW_BUILD_TYPE = "release";
-            PYARROW_WITH_FLIGHT = if _arrow-cpp.enableFlight then 1 else 0;
-            PYARROW_WITH_DATASET = 1;
-            PYARROW_WITH_PARQUET = 1;
-            PYARROW_CMAKE_OPTIONS = [
-              "-DCMAKE_INSTALL_RPATH=${ARROW_HOME}/lib"
-
-              # This doesn't use setup hook to call cmake so we need to workaround #54606
-              # ourselves
-              "-DCMAKE_POLICY_DEFAULT_CMP0025=NEW"
-            ];
-
-            dontUseCmakeConfigure = true;
-          }
-        ) else
-      super.pyarrow.overridePythonAttrs (
-        old: {
-          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-            self.cython
-          ];
-        }
-      );
-
-  pycairo = (
-    drv: (
-      drv.overridePythonAttrs (
-        _: {
-          format = "other";
-        }
-      )
-    ).overridePythonAttrs (
-      old: {
-
-        nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-          pkgs.meson
-          pkgs.ninja
-          pkgs.pkg-config
-        ];
-
-        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
-          pkgs.cairo
-          pkgs.xlibsWrapper
-        ];
-
-        mesonFlags = [ "-Dpython=${if self.isPy3k then "python3" else "python"}" ];
-      }
-    )
-  )
-    super.pycairo;
-
-  pycocotools = super.pycocotools.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [
-        self.cython
-        self.numpy
-      ];
-    }
-  );
-
-  pyfuse3 = super.pyfuse3.overridePythonAttrs (old: {
-    nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ];
-    buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.fuse3 ];
-  });
-
-  pygame = super.pygame.overridePythonAttrs (
-    old: rec {
-      nativeBuildInputs = [
-        pkgs.pkg-config
-        pkgs.SDL
-      ];
-
-      buildInputs = [
-        pkgs.SDL
-        pkgs.SDL_image
-        pkgs.SDL_mixer
-        pkgs.SDL_ttf
-        pkgs.libpng
-        pkgs.libjpeg
-        pkgs.portmidi
-        pkgs.xorg.libX11
-        pkgs.freetype
-      ];
-
-      # Tests fail because of no audio device and display.
-      doCheck = false;
-      preConfigure = ''
-                sed \
-                  -e "s/origincdirs = .*/origincdirs = []/" \
-                  -e "s/origlibdirs = .*/origlibdirs = []/" \
-                  -e "/'\/lib\/i386-linux-gnu', '\/lib\/x86_64-linux-gnu']/d" \
-                  -e "/\/include\/smpeg/d" \
-                  -i buildconfig/config_unix.py
-                ${lib.concatMapStrings
-        (dep: ''
-                  sed \
-                    -e "/origincdirs =/a\        origincdirs += ['${lib.getDev dep}/include']" \
-                    -e "/origlibdirs =/a\        origlibdirs += ['${lib.getLib dep}/lib']" \
-                    -i buildconfig/config_unix.py
-                '')
-        buildInputs
-                }
-                LOCALBASE=/ ${self.python.interpreter} buildconfig/config.py
-      '';
-    }
-  );
-
-  pygeos = super.pygeos.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.geos ];
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.geos ];
-    }
-  );
-
-  pygobject = super.pygobject.overridePythonAttrs (
-    old: {
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ];
-      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.glib pkgs.gobject-introspection ];
-    }
-  );
-
-  pylint = super.pylint.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-    }
-  );
-
-  pyopenssl = super.pyopenssl.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openssl ];
-    }
-  );
-
-  pyproj = super.pyproj.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++
-        [ self.cython ];
-      PROJ_DIR = "${pkgs.proj}";
-      PROJ_LIBDIR = "${pkgs.proj}/lib";
-      PROJ_INCDIR = "${pkgs.proj.dev}/include";
-    }
-  );
-
-  pyproject-flake8 = super.pyproject-flake8.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.flit-core ];
-    }
-  );
-
-  pytaglib = super.pytaglib.overridePythonAttrs (old: {
-    buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.taglib ];
-  });
-
-  pytezos = super.pytezos.overridePythonAttrs (old: {
-    buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libsodium ];
-  });
-
-  python-bugzilla = super.python-bugzilla.overridePythonAttrs (
-    old: {
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-        self.docutils
-      ];
-    }
-  );
-
-  python-ldap = super.python-ldap.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openldap pkgs.cyrus_sasl ];
-    }
-  );
-
-  pytoml = super.pytoml.overridePythonAttrs (
-    old: {
-      doCheck = false;
-    }
-  );
-
-  pyqt5 =
-    let
-      drv = super.pyqt5;
-      withConnectivity = drv.passthru.args.withConnectivity or false;
-      withMultimedia = drv.passthru.args.withMultimedia or false;
-      withWebKit = drv.passthru.args.withWebKit or false;
-      withWebSockets = drv.passthru.args.withWebSockets or false;
-    in
-    super.pyqt5.overridePythonAttrs (
-      old: {
-        format = "other";
-
-        dontWrapQtApps = true;
-
-        nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-          pkgs.pkg-config
-          pkgs.qt5.qmake
-          pkgs.xorg.lndir
-          pkgs.qt5.qtbase
-          pkgs.qt5.qtsvg
-          pkgs.qt5.qtdeclarative
-          pkgs.qt5.qtwebchannel
-          pkgs.qt5.qt3d
-          # self.pyqt5-sip
-          self.sip
-        ]
-          ++ lib.optional withConnectivity pkgs.qt5.qtconnectivity
-          ++ lib.optional withMultimedia pkgs.qt5.qtmultimedia
-          ++ lib.optional withWebKit pkgs.qt5.qtwebkit
-          ++ lib.optional withWebSockets pkgs.qt5.qtwebsockets
-        ;
-
-        buildInputs = (old.buildInputs or [ ]) ++ [
-          pkgs.dbus
-          pkgs.qt5.qtbase
-          pkgs.qt5.qtsvg
-          pkgs.qt5.qtdeclarative
-          self.sip
-        ]
-          ++ lib.optional withConnectivity pkgs.qt5.qtconnectivity
-          ++ lib.optional withWebKit pkgs.qt5.qtwebkit
-          ++ lib.optional withWebSockets pkgs.qt5.qtwebsockets
-        ;
-
-        # Fix dbus mainloop
-        patches = pkgs.python3.pkgs.pyqt5.patches or [ ];
-
-        configurePhase = ''
-          runHook preConfigure
-
-          export PYTHONPATH=$PYTHONPATH:$out/${self.python.sitePackages}
-
-          mkdir -p $out/${self.python.sitePackages}/dbus/mainloop
-          ${self.python.executable} configure.py  -w \
-            --confirm-license \
-            --no-qml-plugin \
-            --bindir=$out/bin \
-            --destdir=$out/${self.python.sitePackages} \
-            --stubsdir=$out/${self.python.sitePackages}/PyQt5 \
-            --sipdir=$out/share/sip/PyQt5 \
-            --designer-plugindir=$out/plugins/designer
-
-          runHook postConfigure
-        '';
-
-        postInstall = ''
-          ln -s ${self.pyqt5-sip}/${self.python.sitePackages}/PyQt5/sip.* $out/${self.python.sitePackages}/PyQt5/
-          for i in $out/bin/*; do
-            wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH"
-          done
-
-          # Let's make it a namespace package
-          cat << EOF > $out/${self.python.sitePackages}/PyQt5/__init__.py
-          from pkgutil import extend_path
-          __path__ = extend_path(__path__, __name__)
-          EOF
-        '';
-
-        installCheckPhase =
-          let
-            modules = [
-              "PyQt5"
-              "PyQt5.QtCore"
-              "PyQt5.QtQml"
-              "PyQt5.QtWidgets"
-              "PyQt5.QtGui"
-            ]
-            ++ lib.optional withWebSockets "PyQt5.QtWebSockets"
-            ++ lib.optional withWebKit "PyQt5.QtWebKit"
-            ++ lib.optional withMultimedia "PyQt5.QtMultimedia"
-            ++ lib.optional withConnectivity "PyQt5.QtConnectivity"
-            ;
-            imports = lib.concatMapStrings (module: "import ${module};") modules;
-          in
-          ''
-            echo "Checking whether modules can be imported..."
-            ${self.python.interpreter} -c "${imports}"
-          '';
-
-        doCheck = true;
-
-        enableParallelBuilding = true;
-      }
-    );
-
-  pytest-datadir = super.pytest-datadir.overridePythonAttrs (
-    old: {
-      postInstall = ''
-        rm -f $out/LICENSE
-      '';
-    }
-  );
-
-  pytest = super.pytest.overridePythonAttrs (
-    old: {
-      # Fixes https://github.com/pytest-dev/pytest/issues/7891
-      postPatch = old.postPatch or "" + ''
-        sed -i '/\[metadata\]/aversion = ${old.version}' setup.cfg
-      '';
-    }
-  );
-
-  pytest-django = super.pytest-django.overridePythonAttrs (
-    old: {
-      postPatch = ''
-        substituteInPlace setup.py --replace "'pytest>=3.6'," ""
-        substituteInPlace setup.py --replace "'pytest>=3.6'" ""
-      '';
-    }
-  );
-
-  pytest-randomly = super.pytest-randomly.overrideAttrs (old: {
-    propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
-      self.importlib-metadata
-    ];
-  });
-
-  pytest-runner = super.pytest-runner or super.pytestrunner;
-
-  pytest-pylint = super.pytest-pylint.overridePythonAttrs (
-    old: {
-      buildInputs = [ self.pytest-runner ];
-    }
-  );
-
-  # pytest-splinter seems to put a .marker file in an empty directory
-  # presumably so it's tracked by and can be installed with MANIFEST.in, see
-  # https://github.com/pytest-dev/pytest-splinter/commit/a48eeef662f66ff9d3772af618748e73211a186b
-  #
-  # This directory then gets used as an empty initial profile directory and is
-  # zipped up. But if the .marker file is in the Nix store, it has the
-  # creation date of 1970, and Zip doesn't work with such old files, so it
-  # fails at runtime!
-  #
-  # We fix this here by just removing the file after the installation
-  #
-  # The error you get without this is:
-  #
-  # E           ValueError: ZIP does not support timestamps before 1980
-  # /nix/store/55b9ip7xkpimaccw9pa0vacy5q94f5xa-python3-3.7.6/lib/python3.7/zipfile.py:357: ValueError
-  pytest-splinter = super.pytest-splinter.overrideAttrs (old: {
-    postInstall = old.postInstall or "" + ''
-      rm $out/${super.python.sitePackages}/pytest_splinter/profiles/firefox/.marker
-    '';
-  });
-
-  python-jose = super.python-jose.overridePythonAttrs (
-    old: {
-      buildInputs = [ self.pytest-runner ];
-    }
-  );
-
-  python-olm = super.python-olm.overridePythonAttrs (
-    old: {
-      buildInputs = old.buildInputs or [ ] ++ [ pkgs.olm ];
-    }
-  );
-
-  python-snappy = super.python-snappy.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.snappy ];
-    }
-  );
-
-  pythran = super.pythran.overridePythonAttrs (old: {
-    buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-  });
-
-  ffmpeg-python = super.ffmpeg-python.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-    }
-  );
-
-  python-prctl = super.python-prctl.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [
-        pkgs.libcap
-      ];
-    }
-  );
-
-  pyudev = super.pyudev.overridePythonAttrs (old: {
-    postPatch = ''
-      substituteInPlace src/pyudev/_ctypeslib/utils.py \
-        --replace "find_library(name)" "'${pkgs.lib.getLib pkgs.systemd}/lib/libudev.so'"
-    '';
-  });
-
-  pyusb = super.pyusb.overridePythonAttrs (
-    old: {
-      postPatch = ''
-        libusb=${pkgs.libusb1.out}/lib/libusb-1.0${pkgs.stdenv.hostPlatform.extensions.sharedLibrary}
-        test -f $libusb || { echo "ERROR: $libusb doesn't exist, please update/fix this build expression."; exit 1; }
-        sed -i -e "s|find_library=None|find_library=lambda _:\"$libusb\"|" usb/backend/libusb1.py
-      '';
-    }
-  );
-
-  pywavelets = super.pywavelets.overridePythonAttrs (
-    old: {
-      HDF5_DIR = "${pkgs.hdf5}";
-      propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.hdf5 ];
-    }
-  );
-
-  pyzmq = super.pyzmq.overridePythonAttrs (
-    old: {
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ];
-      propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.zeromq ];
-    }
-  );
-
-  rockset = super.rockset.overridePythonAttrs (
-    old: rec {
-      postPatch = ''
-        cp ./setup_rockset.py ./setup.py
-      '';
-    }
-  );
-
-  scaleapi = super.scaleapi.overridePythonAttrs (
-    old: {
-      postPatch = ''
-        substituteInPlace setup.py --replace "install_requires = ['requests>=2.4.2', 'enum34']" "install_requires = ['requests>=2.4.2']" || true
-      '';
-    }
-  );
-
-  pandas = super.pandas.overridePythonAttrs (
-    old: {
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.cython ];
-    }
-  );
-
-  panel = super.panel.overridePythonAttrs (
-    old: {
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.nodejs ];
-    }
-  );
-
-  # Pybind11 is an undeclared dependency of scipy that we need to pick from nixpkgs
-  # Make it not fail with infinite recursion
-  pybind11 = super.pybind11.overridePythonAttrs (
-    old: {
-      cmakeFlags = (old.cmakeFlags or [ ]) ++ [
-        "-DPYBIND11_TEST=off"
-      ];
-      doCheck = false; # Circular test dependency
-    }
-  );
-
-  requests-mock = super.requests-mock.overridePythonAttrs (
-    old: {
-      propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ super.pbr ];
-    }
-  );
-
-  requests-unixsocket = super.requests-unixsocket.overridePythonAttrs (
-    old: {
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pbr ];
-    }
-  );
-
-  requestsexceptions = super.requestsexceptions.overridePythonAttrs (old: {
-    nativeBuildInputs = old.nativeBuildInputs ++ [ self.pbr ];
-  });
-
-  rlp = super.rlp.overridePythonAttrs {
-    preConfigure = ''
-      substituteInPlace setup.py --replace \'setuptools-markdown\' ""
-    '';
-  };
-
-
-  rmfuse = super.rmfuse.overridePythonAttrs (old: {
-    propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
-  });
-
-  rtree = super.rtree.overridePythonAttrs (old: {
-    propagatedNativeBuildInputs = (old.propagatedNativeBuildInputs or [ ]) ++ [ pkgs.libspatialindex ];
-    postPatch = ''
-      substituteInPlace rtree/finder.py --replace \
-        "find_library('spatialindex_c')" \
-        "'${pkgs.libspatialindex}/lib/libspatialindex_c${pkgs.stdenv.hostPlatform.extensions.sharedLibrary}'"
-    '';
-  });
-
-  ruamel-yaml = super.ruamel-yaml.overridePythonAttrs (
-    old: {
-      propagatedBuildInputs = (old.propagatedBuildInputs or [ ])
-        ++ [ self.ruamel-yaml-clib ];
-    }
-  );
-
-  scipy = super.scipy.overridePythonAttrs (
-    old:
-    if old.format != "wheel" then {
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++
-        [ pkgs.gfortran ] ++
-        lib.optional (lib.versionAtLeast super.scipy.version "1.7.0") [ self.cython self.pythran ];
-      propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.pybind11 ];
-      setupPyBuildFlags = [ "--fcompiler='gnu95'" ];
-      enableParallelBuilding = true;
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.numpy.blas ];
-      preConfigure = ''
-        sed -i '0,/from numpy.distutils.core/s//import setuptools;from numpy.distutils.core/' setup.py
-        export NPY_NUM_BUILD_JOBS=$NIX_BUILD_CORES
-      '';
-      preBuild = ''
-        ln -s ${self.numpy.cfg} site.cfg
-      '';
-    } else old
-  );
-
-  scikit-image = super.scikit-image.overridePythonAttrs (
-    old: {
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-        self.cython
-        self.pythran
-        self.packaging
-        self.wheel
-        self.numpy
-      ];
-    }
-  );
-
-  scikit-learn = super.scikit-learn.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [
-        pkgs.gfortran
-        pkgs.glibcLocales
-      ] ++ lib.optionals stdenv.cc.isClang [
-        pkgs.llvmPackages.openmp
-      ];
-
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-        self.cython
-      ];
-
-      enableParallelBuilding = true;
-    }
-  );
-
-  secp256k1 = super.secp256k1.overridePythonAttrs (old: {
-    nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkgconfig pkgs.autoconf pkgs.automake pkgs.libtool ];
-    buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-    doCheck = false;
-    # Local setuptools versions like "x.y.post0" confuse an internal check
-    postPatch = ''
-      substituteInPlace setup.py \
-        --replace 'setuptools_version.' '"${self.setuptools.version}".'
-    '';
-  });
-
-  shapely = super.shapely.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.geos self.cython ];
-      inherit (pkgs.python3.pkgs.shapely) patches GEOS_LIBRARY_PATH;
-    }
-  );
-
-  shellcheck-py = super.shellcheck-py.overridePythonAttrs (old: {
-
-    # Make fetching/installing external binaries no-ops
-    preConfigure =
-      let
-        fakeCommand = "type('FakeCommand', (Command,), {'initialize_options': lambda self: None, 'finalize_options': lambda self: None, 'run': lambda self: None})";
-      in
-      ''
-        substituteInPlace setup.py \
-          --replace "'fetch_binaries': fetch_binaries," "'fetch_binaries': ${fakeCommand}," \
-          --replace "'install_shellcheck': install_shellcheck," "'install_shellcheck': ${fakeCommand},"
-      '';
-
-    propagatedUserEnvPkgs = (old.propagatedUserEnvPkgs or [ ]) ++ [
-      pkgs.shellcheck
-    ];
-
-  });
-
-  tables = super.tables.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.pywavelets ];
-      HDF5_DIR = lib.getDev pkgs.hdf5;
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ];
-      propagatedBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.hdf5 self.numpy self.numexpr ];
-    }
-  );
-
-  tempora = super.tempora.overridePythonAttrs (
-    old: {
-      # required for the extra "toml" dependency in setuptools_scm[toml]
-      buildInputs = (old.buildInputs or [ ]) ++ [
-        self.toml
-      ];
-      # disable the removal of pyproject.toml, required because of setuptools_scm
-      dontPreferSetupPy = true;
-    }
-  );
-
-  tensorboard = super.tensorboard.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [
-        self.wheel
-        self.absl-py
-      ];
-      HDF5_DIR = "${pkgs.hdf5}";
-      propagatedBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-        pkgs.hdf5
-        self.google-auth-oauthlib
-        self.tensorboard-plugin-wit
-        self.numpy
-        self.markdown
-        self.tensorboard-data-server
-        self.grpcio
-        self.protobuf
-        self.werkzeug
-        self.absl-py
-      ];
-    }
-  );
-
-  tensorflow = super.tensorflow.overridePythonAttrs (
-    old: {
-      postInstall = ''
-        rm $out/bin/tensorboard
-      '';
-    }
-  );
-
-  tensorpack = super.tensorpack.overridePythonAttrs (
-    old: {
-      postPatch = ''
-        substituteInPlace setup.cfg --replace "# will call find_packages()" ""
-      '';
-    }
-  );
-
-  tinycss2 = super.tinycss2.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-    }
-  );
-
-  # The tokenizers build requires a complex rust setup (cf. nixpkgs override)
-  #
-  # Instead of providing a full source build, we use a wheel to keep
-  # the complexity manageable for now.
-  tokenizers = super.tokenizers.override {
-    preferWheel = true;
-  };
-
-  torch = lib.makeOverridable
-    ({ enableCuda ? false
-     , cudatoolkit ? pkgs.cudatoolkit_10_1
-     , pkg ? super.torch
-     }: pkg.overrideAttrs (old:
-      {
-        preConfigure =
-          if (!enableCuda) then ''
-            export USE_CUDA=0
-          '' else ''
-            export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${cudatoolkit}/targets/x86_64-linux/lib"
-          '';
-        preFixup = lib.optionalString (!enableCuda) ''
-          # For some reason pytorch retains a reference to libcuda even if it
-          # is explicitly disabled with USE_CUDA=0.
-          find $out -name "*.so" -exec ${pkgs.patchelf}/bin/patchelf --remove-needed libcuda.so.1 {} \;
-        '';
-        buildInputs =
-          (old.buildInputs or [ ])
-          ++ [ self.typing-extensions ]
-          ++ lib.optionals enableCuda [
-            pkgs.linuxPackages.nvidia_x11
-            pkgs.nccl.dev
-            pkgs.nccl.out
-          ];
-        propagatedBuildInputs = [
-          self.numpy
-          self.future
-          self.typing-extensions
-        ];
-      })
-    )
-    { };
-
-  torchvision = lib.makeOverridable
-    ({ enableCuda ? false
-     , cudatoolkit ? pkgs.cudatoolkit_10_1
-     , pkg ? super.torchvision
-     }: pkg.overrideAttrs (old: {
-
-      # without that autoPatchelfHook will fail because cudatoolkit is not in LD_LIBRARY_PATH
-      autoPatchelfIgnoreMissingDeps = true;
-      buildInputs = (old.buildInputs or [ ])
-        ++ [ self.torch ]
-        ++ lib.optionals enableCuda [
-        cudatoolkit
-      ];
-      preConfigure =
-        if (enableCuda) then ''
-          export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${self.torch}/${self.python.sitePackages}/torch/lib:${lib.makeLibraryPath [ cudatoolkit "${cudatoolkit}" ]}"
-        '' else ''
-          export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${self.torch}/${self.python.sitePackages}/torch/lib"
-        '';
-    }))
-    { };
-
-  typeguard = super.typeguard.overridePythonAttrs (old: {
-    postPatch = ''
-      substituteInPlace setup.py \
-        --replace 'setup()' 'setup(version="${old.version}")'
-    '';
-  });
-
-  typed_ast = super.typed-ast.overridePythonAttrs (old: {
-    nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-      self.pytest-runner
-    ];
-  });
-
-  # nix uses a dash, poetry uses an underscore
-  typing-extensions = (super.typing_extensions or super.typing-extensions).overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++
-        lib.optional (lib.versionAtLeast old.version "4.0.0") [ self.flit-core ];
-    }
-  );
-
-  urwidtrees = super.urwidtrees.overridePythonAttrs (
-    old: {
-      propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
-        self.urwid
-      ];
-    }
-  );
-
-  vose-alias-method = super.vose-alias-method.overridePythonAttrs (
-    old: {
-      postInstall = ''
-        rm -f $out/LICENSE
-      '';
-    }
-  );
-
-  vispy = super.vispy.overrideAttrs (
-    old: {
-      inherit (pkgs.python3.pkgs.vispy) patches;
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-        self.cython
-        self.setuptools-scm-git-archive
-      ];
-    }
-  );
-
-  uvloop = super.uvloop.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ lib.optionals stdenv.isDarwin [
-        pkgs.darwin.apple_sdk.frameworks.ApplicationServices
-        pkgs.darwin.apple_sdk.frameworks.CoreServices
-      ];
-    }
-  );
-
-
-  # Stop infinite recursion by using bootstrapped pkg from nixpkgs
-  bootstrapped-pip = super.bootstrapped-pip.override {
-    wheel = (pkgs.python3.pkgs.override {
-      python = self.python;
-    }).wheel;
-  };
-
-  weasyprint = super.weasyprint.overridePythonAttrs (
-    old: {
-      inherit (pkgs.python3.pkgs.weasyprint) patches;
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-    }
-  );
-
-  web3 = super.web3.overridePythonAttrs {
-    preConfigure = ''
-      substituteInPlace setup.py --replace \'setuptools-markdown\' ""
-    '';
-  };
-
-  weblate-language-data = super.weblate-language-data.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [
-        self.translate-toolkit
-      ];
-    }
-  );
-
-  wheel =
-    let
-      isWheel = super.wheel.src.isWheel or false;
-      # If "wheel" is a pre-built binary wheel
-      wheelPackage = super.buildPythonPackage {
-        inherit (super.wheel) pname name version src;
-        inherit (pkgs.python3.pkgs.wheel) meta;
-        format = "wheel";
-      };
-      # If "wheel" is built from source
-      sourcePackage = ((
-        pkgs.python3.pkgs.override {
-          python = self.python;
-        }
-      ).wheel.override {
-        inherit (self) buildPythonPackage bootstrapped-pip setuptools;
-      }).overrideAttrs (old: {
-        inherit (super.wheel) pname name version src;
-      });
-    in
-    if isWheel then wheelPackage else sourcePackage;
-
-  zipp = if super.zipp == null then null else
-  (
-    if lib.versionAtLeast super.zipp.version "2.0.0" then
-      (
-        super.zipp.overridePythonAttrs (
-          old:
-          if (old.format or "pyproject") != "wheel" then {
-            prePatch = ''
-              substituteInPlace setup.py --replace \
-              'setuptools.setup()' \
-              'setuptools.setup(version="${super.zipp.version}")'
-            '';
-          } else old
-        )
-      ) else super.zipp
-  ).overridePythonAttrs (
-    old: {
-      propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
-        self.toml
-      ];
-    }
-  );
-
-  credis = super.credis.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.cython ];
-    }
-  );
-
-  hashids = super.hashids.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.flit-core ];
-    }
-  );
-
-  packaging = super.packaging.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++
-        # From 20.5 until 20.7, packaging used flit for packaging (heh)
-        # See https://github.com/pypa/packaging/pull/352 and https://github.com/pypa/packaging/pull/367
-        lib.optional (lib.versionAtLeast old.version "20.5" && lib.versionOlder old.version "20.8") [ self.flit-core ];
-    }
-  );
-
-  psutil = super.psutil.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++
-        lib.optional stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.IOKit;
-    }
-  );
-
-  sentencepiece = super.sentencepiece.overridePythonAttrs (
-    old: {
-      dontUseCmakeConfigure = true;
-      nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-        pkgs.pkg-config
-        pkgs.cmake
-        pkgs.gperftools
-      ];
-      buildInputs = (old.buildInputs or [ ]) ++ [
-        pkgs.sentencepiece
-      ];
-    }
-  );
-
-  sentence-transformers = super.sentence-transformers.overridePythonAttrs (
-    old: {
-      buildInputs =
-        (old.buildInputs or [ ])
-        ++ [ self.typing-extensions ];
-    }
-  );
-
-  supervisor = super.supervisor.overridePythonAttrs (
-    old: {
-      propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
-        self.meld3
-        self.setuptools
-      ];
-    }
-  );
-
-  cytoolz = super.cytoolz.overridePythonAttrs (
-    old: {
-      propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.toolz ];
-    }
-  );
-
-  # For some reason the toml dependency of tqdm declared here:
-  # https://github.com/tqdm/tqdm/blob/67130a23646ae672836b971e1086b6ae4c77d930/pyproject.toml#L2
-  # is not translated correctly to a nix dependency.
-  tqdm = super.tqdm.overrideAttrs (
-    old: {
-      buildInputs = [ super.toml ] ++ (old.buildInputs or [ ]);
-    }
-  );
-
-  watchdog = super.watchdog.overrideAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ])
-        ++ pkgs.lib.optional pkgs.stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.CoreServices;
-    }
-  );
-
-  # pyee cannot find `vcversioner` and other "setup requirements", so it tries to
-  # download them from the internet, which only works when nix sandboxing is disabled.
-  # Additionally, since pyee uses vcversioner to specify its version, we need to do this
-  # manually specify its version.
-  pyee = super.pyee.overrideAttrs (
-    old: {
-      postPatch = old.postPatch or "" + ''
-        sed -i setup.py \
-          -e '/setup_requires/,/],/d' \
-          -e 's/vcversioner={},/version="${old.version}",/'
-      '';
-    }
-  );
-
-  # nixpkgs has setuptools_scm 4.1.2
-  # but newrelic has a seemingly unnecessary version constraint for <4
-  # So we patch that out
-  newrelic = super.newrelic.overridePythonAttrs (
-    old: {
-      postPatch = old.postPatch or "" + ''
-        substituteInPlace setup.py --replace '"setuptools_scm>=3.2,<4"' '"setuptools_scm"'
-      '';
-    }
-  );
-
-  wxpython = super.wxpython.overridePythonAttrs (old:
-    let
-      localPython = self.python.withPackages (ps: with ps; [
-        setuptools
-        numpy
-        six
-      ]);
-    in
-    {
-      DOXYGEN = "${pkgs.doxygen}/bin/doxygen";
-
-      nativeBuildInputs = with pkgs; [
-        which
-        doxygen
-        gtk3
-        pkg-config
-        autoPatchelfHook
-      ] ++ (old.nativeBuildInputs or [ ]);
-
-      buildInputs = with pkgs; [
-        gtk3
-        webkitgtk
-        ncurses
-        SDL2
-        xorg.libXinerama
-        xorg.libSM
-        xorg.libXxf86vm
-        xorg.libXtst
-        xorg.xorgproto
-        gst_all_1.gstreamer
-        gst_all_1.gst-plugins-base
-        libGLU
-        libGL
-        libglvnd
-        mesa
-      ] ++ old.buildInputs;
-
-      buildPhase = ''
-        ${localPython.interpreter} build.py -v build_wx
-        ${localPython.interpreter} build.py -v dox etg --nodoc sip
-        ${localPython.interpreter} build.py -v build_py
-      '';
-
-      installPhase = ''
-        ${localPython.interpreter} setup.py install --skip-build --prefix=$out
-      '';
-    });
-
-  marisa-trie = super.marisa-trie.overridePythonAttrs (
-    old: {
-      buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
-    }
-  );
-
-  ua-parser = super.ua-parser.overridePythonAttrs (
-    old: {
-      propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.pyyaml ];
-    }
-  );
-
-  lazy-object-proxy = super.lazy-object-proxy.overridePythonAttrs (
-    old: {
-      # disable the removal of pyproject.toml, required because of setuptools_scm
-      dontPreferSetupPy = true;
-    }
-  );
-
-  pendulum = super.pendulum.overridePythonAttrs (old: {
-    # Technically incorrect, but fixes the build error..
-    preInstall = lib.optionalString stdenv.isLinux ''
-      mv --no-clobber ./dist/*.whl $(echo ./dist/*.whl | sed s/'manylinux_[0-9]*_[0-9]*'/'manylinux1'/)
-    '';
-  });
-
-  pygraphviz = super.pygraphviz.overridePythonAttrs (old: {
-    nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkg-config ];
-    buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.graphviz ];
-  });
-
-  pyjsg = super.pyjsg.overridePythonAttrs (old: {
-    buildInputs = (old.buildInputs or [ ]) ++ [ self.pbr ];
-  });
-
-  pyshex = super.pyshex.overridePythonAttrs (old: {
-    buildInputs = (old.buildInputs or [ ]) ++ [ self.pbr ];
-  });
-
-  pyshexc = super.pyshexc.overridePythonAttrs (old: {
-    buildInputs = (old.buildInputs or [ ]) ++ [ self.pbr ];
-  });
-
-  pysqlite = super.pysqlite.overridePythonAttrs (old: {
-    buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.sqlite ];
-  });
-
-  selinux = super.selinux.overridePythonAttrs (old: {
-    buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ];
-  });
-
-  shexjsg = super.shexjsg.overridePythonAttrs (old: {
-    buildInputs = (old.buildInputs or [ ]) ++ [ self.pbr ];
-  });
-
-  sparqlslurper = super.sparqlslurper.overridePythonAttrs (old: {
-    buildInputs = (old.buildInputs or [ ]) ++ [ self.pbr ];
-  });
-
-  tomli = super.tomli.overridePythonAttrs (old: {
-    nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.flit-core ];
-  });
-
-  uwsgi = super.uwsgi.overridePythonAttrs (old: {
-    buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.ncurses ];
-    sourceRoot = ".";
-  });
-
-  wcwidth = super.wcwidth.overridePythonAttrs (old: {
-    propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++
-      lib.optional self.isPy27 (self.backports-functools-lru-cache or self.backports_functools_lru_cache)
-    ;
-  });
-
-  wtforms = super.wtforms.overridePythonAttrs (old: {
-    buildInputs = (old.buildInputs or [ ]) ++ [ self.Babel ];
-  });
-}
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json
new file mode 100644
index 0000000000000..e3c74473b8cce
--- /dev/null
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json
@@ -0,0 +1,1557 @@
+{
+  "HTSeq": [
+    "cython"
+  ],
+  "PyStemmer": [
+    "cython"
+  ],
+  "adguardhome": [
+    "poetry-core"
+  ],
+  "aesara": [
+    "cython"
+  ],
+  "aioambient": [
+    "poetry-core"
+  ],
+  "aioboto3": [
+    "poetry"
+  ],
+  "aiocurrencylayer": [
+    "poetry-core"
+  ],
+  "aioeafm": [
+    "poetry"
+  ],
+  "aiofiles": [
+    "poetry-core"
+  ],
+  "aioflo": [
+    "poetry-core"
+  ],
+  "aioguardian": [
+    "poetry-core"
+  ],
+  "aiohomekit": [
+    "poetry-core"
+  ],
+  "aiohttp-remotes": [
+    "flitBuildHook"
+  ],
+  "aioitertools": [
+    "flit-core"
+  ],
+  "aiojobs": [
+    "flitBuildHook"
+  ],
+  "aiokafka": [
+    "cython"
+  ],
+  "aiomultiprocess": [
+    "flit-core"
+  ],
+  "aiomusiccast": [
+    "poetry-core"
+  ],
+  "aionotion": [
+    "poetry-core"
+  ],
+  "aiopvpc": [
+    "poetry-core"
+  ],
+  "aiorecollect": [
+    "poetry-core"
+  ],
+  "aioresponses": [
+    "pbr"
+  ],
+  "aioridwell": [
+    "poetry-core"
+  ],
+  "aiorun": [
+    "flitBuildHook"
+  ],
+  "aiosqlite": [
+    "flit-core"
+  ],
+  "aiosteamist": [
+    "poetry-core"
+  ],
+  "aioswitcher": [
+    "poetry-core"
+  ],
+  "aiowatttime": [
+    "poetry-core"
+  ],
+  "ambee": [
+    "poetry-core"
+  ],
+  "amqtt": [
+    "poetry-core"
+  ],
+  "apache-beam": [
+    "cython"
+  ],
+  "argon2_cffi": [
+    "flitBuildHook"
+  ],
+  "aria2p": [
+    "poetry"
+  ],
+  "astropy": [
+    "cython"
+  ],
+  "async-dns": [
+    "poetry-core"
+  ],
+  "asyncmy": [
+    "cython",
+    "poetry-core"
+  ],
+  "asyncstdlib": [
+    "flitBuildHook"
+  ],
+  "atomman": [
+    "cython"
+  ],
+  "autarco": [
+    "poetry-core"
+  ],
+  "authcaptureproxy": [
+    "poetry-core"
+  ],
+  "awesomeversion": [
+    "poetry-core"
+  ],
+  "aws-error-utils": [
+    "poetry"
+  ],
+  "backcall": [
+    "flit-core"
+  ],
+  "backoff": [
+    "poetry"
+  ],
+  "bandit": [
+    "pbr"
+  ],
+  "bash_kernel": [
+    "flitBuildHook"
+  ],
+  "bimmer-connected": [
+    "pbr"
+  ],
+  "blis": [
+    "cython"
+  ],
+  "boltztrap2": [
+    "cython"
+  ],
+  "build": [
+    "flit-core"
+  ],
+  "bx-python": [
+    "cython"
+  ],
+  "cartopy": [
+    "cython"
+  ],
+  "cassandra-driver": [
+    "cython"
+  ],
+  "cattrs": [
+    "poetry-core"
+  ],
+  "censys": [
+    "poetry-core"
+  ],
+  "cftime": [
+    "cython"
+  ],
+  "chispa": [
+    "poetry-core"
+  ],
+  "ciscoconfparse": [
+    "poetry-core"
+  ],
+  "cleo": [
+    "poetry-core"
+  ],
+  "cliff": [
+    "pbr"
+  ],
+  "clikit": [
+    "poetry-core"
+  ],
+  "collections-extended": [
+    "poetry-core"
+  ],
+  "colorclass": [
+    "poetry"
+  ],
+  "colorhash": [
+    "poetry"
+  ],
+  "commitizen": [
+    "poetry-core"
+  ],
+  "confuse": [
+    "flit-core",
+    "flitBuildHook"
+  ],
+  "cpyparsing": [
+    "cython"
+  ],
+  "crashtest": [
+    "poetry-core"
+  ],
+  "credis": [
+    "cython",
+    "poetry-core"
+  ],
+  "cssselect2": [
+    "flit"
+  ],
+  "cwcwidth": [
+    "cython"
+  ],
+  "cyclonedx-python-lib": [
+    "poetry-core"
+  ],
+  "cymem": [
+    "cython"
+  ],
+  "cypari2": [
+    "cython"
+  ],
+  "cysignals": [
+    "cython"
+  ],
+  "datrie": [
+    "cython"
+  ],
+  "ddtrace": [
+    "cython"
+  ],
+  "debtcollector": [
+    "pbr"
+  ],
+  "deezer-python": [
+    "poetry-core"
+  ],
+  "diagrams": [
+    "poetry-core"
+  ],
+  "dipy": [
+    "cython"
+  ],
+  "discovery30303": [
+    "poetry-core"
+  ],
+  "django-graphiql-debug-toolbar": [
+    "poetry-core"
+  ],
+  "django-timezone-field": [
+    "poetry-core"
+  ],
+  "dnspython": [
+    "poetry-core"
+  ],
+  "doc8": [
+    "pbr"
+  ],
+  "dtlssocket": [
+    "cython"
+  ],
+  "duckdb": [
+    "pybind11"
+  ],
+  "duckdb-engine": [
+    "poetry-core"
+  ],
+  "dunamai": [
+    "poetry-core"
+  ],
+  "dynd": [
+    "cython"
+  ],
+  "ecs-logging": [
+    "flit-core",
+    "flitBuildHook"
+  ],
+  "editdistance": [
+    "cython"
+  ],
+  "eebrightbox": [
+    "pbr"
+  ],
+  "eiswarnung": [
+    "poetry-core"
+  ],
+  "elegy": [
+    "poetry"
+  ],
+  "elgato": [
+    "poetry-core"
+  ],
+  "elkm1-lib": [
+    "poetry-core"
+  ],
+  "elmax": [
+    "poetry-core"
+  ],
+  "entrypoints": [
+    "flit"
+  ],
+  "enturclient": [
+    "poetry-core"
+  ],
+  "enumatch": [
+    "poetry"
+  ],
+  "fastapi": [
+    "flitBuildHook"
+  ],
+  "fastapi-restful": [
+    "poetry"
+  ],
+  "fastavro": [
+    "cython"
+  ],
+  "fastdtw": [
+    "cython"
+  ],
+  "fhconfparser": [
+    "poetry-core"
+  ],
+  "finalfusion": [
+    "cython"
+  ],
+  "fixtures": [
+    "pbr"
+  ],
+  "flake8-debugger": [
+    "poetry-core"
+  ],
+  "flake8-print": [
+    "poetry-core"
+  ],
+  "flatten-dict": [
+    "poetry-core"
+  ],
+  "flipr-api": [
+    "poetry-core"
+  ],
+  "flit": [
+    "flit-core"
+  ],
+  "formbox": [
+    "flitBuildHook"
+  ],
+  "fpylll": [
+    "cython"
+  ],
+  "freebox-api": [
+    "poetry-core"
+  ],
+  "frozenlist": [
+    "cython"
+  ],
+  "funcparserlib": [
+    "poetry-core"
+  ],
+  "furo": [
+    "flitBuildHook"
+  ],
+  "galario": [
+    "cython"
+  ],
+  "gaphas": [
+    "poetry-core"
+  ],
+  "garages-amsterdam": [
+    "poetry-core"
+  ],
+  "gbinder-python": [
+    "cython"
+  ],
+  "generic": [
+    "poetry-core"
+  ],
+  "glances-api": [
+    "poetry-core"
+  ],
+  "gpy": [
+    "cython"
+  ],
+  "gpyopt": [
+    "cython"
+  ],
+  "gradient-utils": [
+    "poetry-core"
+  ],
+  "graphql-core": [
+    "poetry-core"
+  ],
+  "graphql-relay": [
+    "poetry-core"
+  ],
+  "gridnet": [
+    "poetry-core"
+  ],
+  "grpcio": [
+    "cython"
+  ],
+  "gsd": [
+    "cython"
+  ],
+  "gssapi": [
+    "cython"
+  ],
+  "gudhi": [
+    "cython"
+  ],
+  "gvm-tools": [
+    "poetry-core"
+  ],
+  "h3": [
+    "cython"
+  ],
+  "h5py": [
+    "cython"
+  ],
+  "h5py-mpi": [
+    "cython"
+  ],
+  "hacking": [
+    "pbr"
+  ],
+  "hashids": [
+    "flit-core"
+  ],
+  "hdate": [
+    "poetry-core"
+  ],
+  "hdbscan": [
+    "cython"
+  ],
+  "hdmedians": [
+    "cython"
+  ],
+  "hidapi": [
+    "cython"
+  ],
+  "hmmlearn": [
+    "cython"
+  ],
+  "homeassistant-pyozw": [
+    "cython"
+  ],
+  "html5lib": [
+    "flit-core"
+  ],
+  "hypercorn": [
+    "poetry-core"
+  ],
+  "hyperion-py": [
+    "poetry-core"
+  ],
+  "hypothesis-auto": [
+    "poetry"
+  ],
+  "hypothesis-graphql": [
+    "poetry"
+  ],
+  "ibis-framework": [
+    "poetry-core"
+  ],
+  "icmplib": [
+    "pbr"
+  ],
+  "idasen": [
+    "poetry-core"
+  ],
+  "imagecodecs-lite": [
+    "cython"
+  ],
+  "immutabledict": [
+    "poetry-core"
+  ],
+  "inquirer": [
+    "poetry-core"
+  ],
+  "installer": [
+    "flit-core"
+  ],
+  "iodata": [
+    "cython"
+  ],
+  "ipfshttpclient": [
+    "flitBuildHook"
+  ],
+  "ipwhl": [
+    "flitBuildHook"
+  ],
+  "isort": [
+    "poetry-core"
+  ],
+  "jedi-language-server": [
+    "poetry"
+  ],
+  "jeepney": [
+    "flit-core"
+  ],
+  "jenkins-job-builder": [
+    "pbr"
+  ],
+  "jinja2-git": [
+    "poetry-core"
+  ],
+  "jschema-to-python": [
+    "pbr"
+  ],
+  "json-schema-for-humans": [
+    "poetry-core"
+  ],
+  "jupyter-server": [
+    "jupyter-packaging"
+  ],
+  "jupyterlab": [
+    "jupyter-packaging"
+  ],
+  "keystoneauth1": [
+    "pbr"
+  ],
+  "kivy": [
+    "cython"
+  ],
+  "langcodes": [
+    "poetry-core"
+  ],
+  "language-data": [
+    "poetry-core"
+  ],
+  "lc7001": [
+    "poetry-core"
+  ],
+  "ldappool": [
+    "pbr"
+  ],
+  "libgpuarray": [
+    "cython"
+  ],
+  "libmr": [
+    "cython"
+  ],
+  "libtmux": [
+    "poetry-core"
+  ],
+  "licensecheck": [
+    "poetry-core"
+  ],
+  "line_profiler": [
+    "cython"
+  ],
+  "linecache2": [
+    "pbr"
+  ],
+  "llfuse": [
+    "cython"
+  ],
+  "loca": [
+    "flitBuildHook"
+  ],
+  "lockfile": [
+    "pbr"
+  ],
+  "luftdaten": [
+    "poetry-core"
+  ],
+  "lupa": [
+    "cython"
+  ],
+  "lxml": [
+    "cython"
+  ],
+  "lz4": [
+    "pkgconfig"
+  ],
+  "maestral": [
+    "pbr"
+  ],
+  "manimpango": [
+    "cython"
+  ],
+  "marisa-trie": [
+    "cython"
+  ],
+  "mask-rcnn": [
+    "cython"
+  ],
+  "matrix-nio": [
+    "poetry-core"
+  ],
+  "mcstatus": [
+    "poetry-core"
+  ],
+  "mdformat": [
+    "poetry-core"
+  ],
+  "mdurl": [
+    "flit-core"
+  ],
+  "mediafile": [
+    "flit-core",
+    "flitBuildHook"
+  ],
+  "memory-allocator": [
+    "cython"
+  ],
+  "metprint": [
+    "poetry-core"
+  ],
+  "mkdocs-autorefs": [
+    "pdm-pep517",
+    "poetry"
+  ],
+  "mkdocs-gen-files": [
+    "poetry"
+  ],
+  "mkdocs-jupyter": [
+    "poetry-core"
+  ],
+  "mkdocs-literate-nav": [
+    "poetry"
+  ],
+  "mkdocstrings": [
+    "pdm-pep517"
+  ],
+  "mock": [
+    "pbr"
+  ],
+  "mongomock": [
+    "pbr"
+  ],
+  "monosat": [
+    "cython"
+  ],
+  "motioneye-client": [
+    "poetry-core"
+  ],
+  "mox3": [
+    "pbr"
+  ],
+  "msgpack-numpy": [
+    "cython"
+  ],
+  "msoffcrypto-tool": [
+    "poetry-core"
+  ],
+  "munch": [
+    "pbr"
+  ],
+  "murmurhash": [
+    "cython"
+  ],
+  "myhome": [
+    "poetry-core"
+  ],
+  "mypy-boto3-builder": [
+    "poetry-core"
+  ],
+  "nats-python": [
+    "poetry-core"
+  ],
+  "nbclassic": [
+    "jupyter-packaging"
+  ],
+  "net2grid": [
+    "poetry-core"
+  ],
+  "netcdf4": [
+    "cython"
+  ],
+  "netdata": [
+    "poetry-core"
+  ],
+  "newversion": [
+    "poetry-core"
+  ],
+  "nghttp2": [
+    "cython"
+  ],
+  "nitime": [
+    "cython"
+  ],
+  "nixpkgs": [
+    "pbr"
+  ],
+  "nkdfu": [
+    "flitBuildHook"
+  ],
+  "notus-scanner": [
+    "poetry-core"
+  ],
+  "ntc-templates": [
+    "poetry-core"
+  ],
+  "numcodecs": [
+    "cython"
+  ],
+  "numpy": [
+    "cython"
+  ],
+  "numpy-stl": [
+    "cython"
+  ],
+  "omnikinverter": [
+    "poetry-core"
+  ],
+  "open-meteo": [
+    "poetry-core"
+  ],
+  "openapi-schema-validator": [
+    "poetry-core"
+  ],
+  "openapi-spec-validator": [
+    "poetry-core"
+  ],
+  "openevsewifi": [
+    "poetry-core"
+  ],
+  "openstackdocstheme": [
+    "pbr"
+  ],
+  "openstacksdk": [
+    "pbr"
+  ],
+  "openvino": [
+    "cython"
+  ],
+  "ormar": [
+    "poetry-core"
+  ],
+  "os-service-types": [
+    "pbr"
+  ],
+  "osc-lib": [
+    "pbr"
+  ],
+  "oslo-concurrency": [
+    "pbr"
+  ],
+  "oslo-config": [
+    "pbr"
+  ],
+  "oslo-context": [
+    "pbr"
+  ],
+  "oslo-db": [
+    "pbr"
+  ],
+  "oslo-i18n": [
+    "pbr"
+  ],
+  "oslo-log": [
+    "pbr"
+  ],
+  "oslo-serialization": [
+    "pbr"
+  ],
+  "oslo-utils": [
+    "pbr"
+  ],
+  "oslotest": [
+    "pbr"
+  ],
+  "p1monitor": [
+    "poetry-core"
+  ],
+  "paddle-client": [
+    "poetry"
+  ],
+  "palace": [
+    "cython"
+  ],
+  "pandas": [
+    "cython"
+  ],
+  "pastel": [
+    "poetry-core"
+  ],
+  "pathable": [
+    "poetry-core"
+  ],
+  "peewee": [
+    "cython"
+  ],
+  "pendulum": [
+    "poetry-core"
+  ],
+  "pep440-version-utils": [
+    "poetry"
+  ],
+  "pep517": [
+    "flit-core"
+  ],
+  "pex": [
+    "flit-core",
+    "flitBuildHook"
+  ],
+  "pipenv-poetry-migrate": [
+    "poetry"
+  ],
+  "pixelmatch": [
+    "poetry-core"
+  ],
+  "poetry": [
+    "poetry-core"
+  ],
+  "poetry2conda": [
+    "poetry"
+  ],
+  "pomegranate": [
+    "cython"
+  ],
+  "pontos": [
+    "poetry-core"
+  ],
+  "pot": [
+    "cython"
+  ],
+  "pplpy": [
+    "cython"
+  ],
+  "preprocess-cancellation": [
+    "poetry-core"
+  ],
+  "preshed": [
+    "cython"
+  ],
+  "primecountpy": [
+    "cython"
+  ],
+  "primer3": [
+    "cython"
+  ],
+  "prometheus-fastapi-instrumentator": [
+    "poetry"
+  ],
+  "ptyprocess": [
+    "flit-core"
+  ],
+  "publication": [
+    "flit"
+  ],
+  "purepng": [
+    "cython"
+  ],
+  "pvo": [
+    "poetry-core"
+  ],
+  "py-synologydsm-api": [
+    "poetry-core"
+  ],
+  "py17track": [
+    "poetry-core"
+  ],
+  "pyairnow": [
+    "poetry"
+  ],
+  "pyairvisual": [
+    "poetry-core"
+  ],
+  "pyarrow": [
+    "cython"
+  ],
+  "pyaussiebb": [
+    "poetry-core"
+  ],
+  "pycangjie": [
+    "cython"
+  ],
+  "pycapnp": [
+    "cython"
+  ],
+  "pycep-parser": [
+    "poetry-core"
+  ],
+  "pyclipper": [
+    "cython"
+  ],
+  "pycocotools": [
+    "cython"
+  ],
+  "pydantic": [
+    "cython"
+  ],
+  "pydy": [
+    "cython"
+  ],
+  "pyebus": [
+    "poetry-core"
+  ],
+  "pyemd": [
+    "cython"
+  ],
+  "pyfftw": [
+    "cython"
+  ],
+  "pyflunearyou": [
+    "poetry-core"
+  ],
+  "pygame_sdl2": [
+    "cython"
+  ],
+  "pygeos": [
+    "cython"
+  ],
+  "pyhumps": [
+    "poetry-core"
+  ],
+  "pyiqvia": [
+    "poetry-core"
+  ],
+  "pyjet": [
+    "cython"
+  ],
+  "pyjsg": [
+    "pbr"
+  ],
+  "pykka": [
+    "poetry-core"
+  ],
+  "pyliblo": [
+    "cython"
+  ],
+  "pymatgen": [
+    "cython"
+  ],
+  "pymaven-patch": [
+    "pbr"
+  ],
+  "pymfy": [
+    "poetry-core"
+  ],
+  "pymssql": [
+    "cython"
+  ],
+  "pynixutil": [
+    "poetry"
+  ],
+  "pynuki": [
+    "poetry-core"
+  ],
+  "pyopencl": [
+    "pybind11"
+  ],
+  "pyopenuv": [
+    "poetry-core"
+  ],
+  "pyopnsense": [
+    "pbr"
+  ],
+  "pyoverkiz": [
+    "poetry-core"
+  ],
+  "pypass": [
+    "pbr"
+  ],
+  "pyphen": [
+    "flit"
+  ],
+  "pypika-tortoise": [
+    "poetry-core"
+  ],
+  "pypoolstation": [
+    "poetry-core"
+  ],
+  "pyppeteer": [
+    "poetry-core"
+  ],
+  "pyprecice": [
+    "cython"
+  ],
+  "pyproj": [
+    "cython"
+  ],
+  "pyproject-flake8": [
+    "flit-core"
+  ],
+  "pyquil": [
+    "poetry-core"
+  ],
+  "pyregion": [
+    "cython"
+  ],
+  "pyrmvtransport": [
+    "flit"
+  ],
+  "pysam": [
+    "cython"
+  ],
+  "pyshex": [
+    "pbr"
+  ],
+  "pyshexc": [
+    "pbr"
+  ],
+  "pysigma": [
+    "poetry-core"
+  ],
+  "pysigma-backend-splunk": [
+    "poetry-core"
+  ],
+  "pysigma-pipeline-crowdstrike": [
+    "poetry-core"
+  ],
+  "pysigma-pipeline-sysmon": [
+    "poetry-core"
+  ],
+  "pysmf": [
+    "cython"
+  ],
+  "pysml": [
+    "poetry-core"
+  ],
+  "pysnow": [
+    "poetry"
+  ],
+  "pysptk": [
+    "cython"
+  ],
+  "pytaglib": [
+    "cython"
+  ],
+  "pytest-celery": [
+    "flitBuildHook"
+  ],
+  "pytest-check": [
+    "flitBuildHook"
+  ],
+  "pytest-cid": [
+    "flitBuildHook"
+  ],
+  "pytest-httpserver": [
+    "poetry-core"
+  ],
+  "pytest-mockservers": [
+    "poetry-core"
+  ],
+  "pytest-profiling": [
+    "setuptools-git"
+  ],
+  "pytest-raisin": [
+    "flit-core",
+    "flitBuildHook"
+  ],
+  "pytest-socket": [
+    "poetry-core"
+  ],
+  "python-awair": [
+    "poetry-core"
+  ],
+  "python-cinderclient": [
+    "pbr"
+  ],
+  "python-csxcad": [
+    "cython"
+  ],
+  "python-fontconfig": [
+    "cython"
+  ],
+  "python-glanceclient": [
+    "pbr"
+  ],
+  "python-gvm": [
+    "poetry-core"
+  ],
+  "python-heatclient": [
+    "pbr"
+  ],
+  "python-ironicclient": [
+    "pbr"
+  ],
+  "python-jenkins": [
+    "pbr"
+  ],
+  "python-kasa": [
+    "poetry-core"
+  ],
+  "python-keystoneclient": [
+    "pbr"
+  ],
+  "python-manilaclient": [
+    "pbr"
+  ],
+  "python-miio": [
+    "poetry",
+    "poetry-core"
+  ],
+  "python-novaclient": [
+    "pbr"
+  ],
+  "python-openems": [
+    "cython"
+  ],
+  "python-openstackclient": [
+    "pbr"
+  ],
+  "python-pkcs11": [
+    "cython"
+  ],
+  "python-songpal": [
+    "poetry-core"
+  ],
+  "python-swiftclient": [
+    "pbr"
+  ],
+  "python_openzwave": [
+    "cython"
+  ],
+  "pytile": [
+    "poetry-core"
+  ],
+  "pytkdocs": [
+    "pdm-pep517"
+  ],
+  "pytzdata": [
+    "poetry"
+  ],
+  "pyvera": [
+    "poetry-core"
+  ],
+  "pywavelets": [
+    "cython"
+  ],
+  "pywbem": [
+    "pbr"
+  ],
+  "pywemo": [
+    "poetry-core"
+  ],
+  "pyworld": [
+    "cython"
+  ],
+  "pyyaml": [
+    "cython"
+  ],
+  "pyyaml-env-tag": [
+    "flit-core"
+  ],
+  "qcs-api-client": [
+    "poetry-core"
+  ],
+  "qiskit-aer": [
+    "cython"
+  ],
+  "qiskit-terra": [
+    "cython"
+  ],
+  "questionary": [
+    "poetry-core"
+  ],
+  "qutip": [
+    "cython"
+  ],
+  "radios": [
+    "poetry-core"
+  ],
+  "rasterio": [
+    "cython"
+  ],
+  "reedsolo": [
+    "cython"
+  ],
+  "regenmaschine": [
+    "poetry-core"
+  ],
+  "remarshal": [
+    "poetry-core"
+  ],
+  "renault-api": [
+    "poetry-core"
+  ],
+  "rencode": [
+    "cython"
+  ],
+  "reproject": [
+    "cython"
+  ],
+  "requests-cache": [
+    "poetry-core"
+  ],
+  "requests-mock": [
+    "pbr"
+  ],
+  "requests-unixsocket": [
+    "pbr"
+  ],
+  "requestsexceptions": [
+    "pbr"
+  ],
+  "requirements-parser": [
+    "poetry-core"
+  ],
+  "resampy": [
+    "cython"
+  ],
+  "retry": [
+    "pbr"
+  ],
+  "rich": [
+    "poetry-core"
+  ],
+  "ripser": [
+    "cython"
+  ],
+  "rmcl": [
+    "poetry-core"
+  ],
+  "rmfuse": [
+    "poetry-core"
+  ],
+  "rmrl": [
+    "poetry-core"
+  ],
+  "rokuecp": [
+    "poetry"
+  ],
+  "roombapy": [
+    "poetry-core"
+  ],
+  "roonapi": [
+    "poetry-core"
+  ],
+  "rsa": [
+    "poetry-core"
+  ],
+  "rtmidi-python": [
+    "cython"
+  ],
+  "rtmixer": [
+    "cython"
+  ],
+  "sanic": [
+    "poetry-core"
+  ],
+  "sarif-om": [
+    "pbr"
+  ],
+  "scikit-bio": [
+    "cython"
+  ],
+  "scikit-build": [
+    "cython"
+  ],
+  "scikit-image": [
+    "cython"
+  ],
+  "scikit-learn": [
+    "cython"
+  ],
+  "scikit-learn-extra": [
+    "cython"
+  ],
+  "scikit-survival": [
+    "cython"
+  ],
+  "scikit-tda": [
+    "cython"
+  ],
+  "scikitimage": [
+    "cython"
+  ],
+  "scikitlearn": [
+    "cython"
+  ],
+  "scikits-odes": [
+    "cython"
+  ],
+  "scipy": [
+    "cython"
+  ],
+  "seabreeze": [
+    "cython"
+  ],
+  "seccomp": [
+    "cython"
+  ],
+  "sentinel": [
+    "poetry-core"
+  ],
+  "sfepy": [
+    "cython"
+  ],
+  "shapely": [
+    "cython"
+  ],
+  "shexjsg": [
+    "pbr"
+  ],
+  "simplisafe-python": [
+    "poetry-core"
+  ],
+  "single-source": [
+    "poetry-core"
+  ],
+  "single-version": [
+    "poetry-core"
+  ],
+  "slowapi": [
+    "poetry-core"
+  ],
+  "solo-python": [
+    "flitBuildHook"
+  ],
+  "spacy-pkuseg": [
+    "cython"
+  ],
+  "sparqlslurper": [
+    "pbr"
+  ],
+  "sphinx-inline-tabs": [
+    "flitBuildHook"
+  ],
+  "sphinx-jinja": [
+    "pbr"
+  ],
+  "sphinxcontrib-apidoc": [
+    "pbr"
+  ],
+  "sphinxcontrib-fulltoc": [
+    "pbr"
+  ],
+  "sphinxcontrib-spelling": [
+    "pbr"
+  ],
+  "spiderpy": [
+    "poetry-core"
+  ],
+  "sqlalchemy-migrate": [
+    "pbr"
+  ],
+  "sqlalchemy_migrate": [
+    "pbr"
+  ],
+  "srsly": [
+    "cython"
+  ],
+  "ssdp": [
+    "pbr"
+  ],
+  "stack-data": [
+    "cython"
+  ],
+  "staticjinja": [
+    "poetry-core"
+  ],
+  "statmake": [
+    "poetry-core"
+  ],
+  "statsmodels": [
+    "cython"
+  ],
+  "stestr": [
+    "pbr"
+  ],
+  "stevedore": [
+    "pbr"
+  ],
+  "strawberry-graphql": [
+    "poetry"
+  ],
+  "streaming-form-data": [
+    "cython"
+  ],
+  "structlog": [
+    "flitBuildHook"
+  ],
+  "structlog-sentry": [
+    "poetry-core"
+  ],
+  "subunit2sql": [
+    "pbr"
+  ],
+  "sumo": [
+    "cython"
+  ],
+  "surepy": [
+    "poetry-core"
+  ],
+  "swift": [
+    "pbr"
+  ],
+  "swspotify": [
+    "poetry-core"
+  ],
+  "symengine": [
+    "cython"
+  ],
+  "synologydsm-api": [
+    "poetry-core"
+  ],
+  "tables": [
+    "cython"
+  ],
+  "tailscale": [
+    "poetry-core"
+  ],
+  "tarsafe": [
+    "poetry"
+  ],
+  "tempest": [
+    "pbr"
+  ],
+  "tenacity": [
+    "pbr"
+  ],
+  "terminaltables": [
+    "poetry"
+  ],
+  "tern": [
+    "pbr"
+  ],
+  "tesla-wall-connector": [
+    "poetry-core"
+  ],
+  "teslajsonpy": [
+    "poetry-core"
+  ],
+  "tess": [
+    "cython"
+  ],
+  "tesserocr": [
+    "cython"
+  ],
+  "testpath": [
+    "flit"
+  ],
+  "testrepository": [
+    "pbr"
+  ],
+  "testresources": [
+    "pbr"
+  ],
+  "testtools": [
+    "pbr"
+  ],
+  "textual": [
+    "poetry-core"
+  ],
+  "thinc": [
+    "cython"
+  ],
+  "threadpoolctl": [
+    "flitBuildHook"
+  ],
+  "thriftpy2": [
+    "cython"
+  ],
+  "tikzplotlib": [
+    "flit-core"
+  ],
+  "tinycss": [
+    "cython"
+  ],
+  "tinycss2": [
+    "flitBuildHook"
+  ],
+  "tinydb": [
+    "poetry-core"
+  ],
+  "toggl-cli": [
+    "pbr"
+  ],
+  "toml-sort": [
+    "poetry"
+  ],
+  "tomli": [
+    "flit-core"
+  ],
+  "tomli-w": [
+    "flit-core"
+  ],
+  "tomlkit": [
+    "poetry-core"
+  ],
+  "tortoise-orm": [
+    "poetry-core"
+  ],
+  "traceback2": [
+    "pbr"
+  ],
+  "transmission-rpc": [
+    "poetry-core"
+  ],
+  "treeo": [
+    "poetry-core"
+  ],
+  "treex": [
+    "poetry-core"
+  ],
+  "ttls": [
+    "poetry-core"
+  ],
+  "twentemilieu": [
+    "poetry-core"
+  ],
+  "typer": [
+    "flit-core"
+  ],
+  "typical": [
+    "poetry-core"
+  ],
+  "typing-extensions": [
+    "flit-core"
+  ],
+  "unpaddedbase64": [
+    "poetry-core"
+  ],
+  "url-normalize": [
+    "poetry-core"
+  ],
+  "vehicle": [
+    "poetry-core"
+  ],
+  "virtualenv": [
+    "cython"
+  ],
+  "virtualenvwrapper": [
+    "pbr"
+  ],
+  "vispy": [
+    "cython"
+  ],
+  "wakeonlan": [
+    "poetry-core"
+  ],
+  "weasyprint": [
+    "flit-core"
+  ],
+  "wled": [
+    "poetry-core"
+  ],
+  "word2vec": [
+    "cython"
+  ],
+  "wordcloud": [
+    "cython"
+  ],
+  "xdg": [
+    "poetry-core"
+  ],
+  "xpath-expressions": [
+    "poetry-core"
+  ],
+  "yaspin": [
+    "poetry-core"
+  ],
+  "yoda": [
+    "cython"
+  ],
+  "zeversolarlocal": [
+    "flit-core",
+    "flitBuildHook"
+  ]
+}
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix
new file mode 100644
index 0000000000000..5439f1814dc54
--- /dev/null
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix
@@ -0,0 +1,2294 @@
+{ pkgs ? import <nixpkgs> { }
+, lib ? pkgs.lib
+, stdenv ? pkgs.stdenv
+}:
+
+let
+  addBuildSystem =
+    { self
+    , drv
+    , attr
+    }:
+    let
+      buildSystem = if attr == "cython" then self.python.pythonForBuild.pkgs.cython else self.${attr};
+    in
+    (
+      # Flit only works on Python3
+      if (attr == "flit-core" || attr == "flit") && !self.isPy3k then drv
+      else
+        drv.overridePythonAttrs (
+          old:
+          # We do not need the build system for wheels.
+          if old ? format && old.format == "wheel" then
+            { }
+          else
+            {
+              nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.${attr} ];
+            }
+        )
+    );
+
+
+in
+lib.composeManyExtensions [
+
+  # NixOps
+  (self: super:
+    lib.mapAttrs (_: v: addBuildSystem { inherit self; drv = v; attr = "poetry"; }) (lib.filterAttrs (n: _: lib.strings.hasPrefix "nixops" n) super)
+    // {
+      # NixOps >=2 dependency
+      nixos-modules-contrib = addBuildSystem { inherit self; drv = super.nixos-modules-contrib; attr = "poetry"; };
+    }
+  )
+
+  # Add build systems
+  (self: super:
+    let
+      buildSystems = lib.importJSON ./build-systems.json;
+    in
+    lib.mapAttrs
+      (attr: systems: builtins.foldl'
+        (drv: attr: addBuildSystem {
+          inherit drv self attr;
+        })
+        super.${attr}
+        systems)
+      buildSystems)
+
+  # Build fixes
+  (self: super:
+    let
+      inherit (self.python) stdenv;
+      inherit (pkgs.buildPackages) pkg-config;
+      inherit (pkgs) buildPackages;
+      pyBuildPackages = self.python.pythonForBuild.pkgs;
+
+    in
+
+    {
+      automat = super.automat.overridePythonAttrs (
+        old: rec {
+          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.m2r ];
+        }
+      );
+
+      aiohttp-swagger3 = super.aiohttp-swagger3.overridePythonAttrs (
+        old: {
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
+        }
+      );
+
+      ansible = super.ansible.overridePythonAttrs (
+        old: {
+          # Inputs copied from nixpkgs as ansible doesn't specify it's dependencies
+          # in a correct manner.
+          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
+            self.pycrypto
+            self.paramiko
+            self.jinja2
+            self.pyyaml
+            self.httplib2
+            self.six
+            self.netaddr
+            self.dnspython
+            self.jmespath
+            self.dopy
+            self.ncclient
+          ];
+        } // lib.optionalAttrs (lib.versionOlder old.version "5.0") {
+          prePatch = pkgs.python.pkgs.ansible.prePatch or "";
+          postInstall = pkgs.python.pkgs.ansible.postInstall or "";
+        }
+      );
+
+      ansible-lint = super.ansible-lint.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ];
+          preBuild = ''
+            export HOME=$(mktemp -d)
+          '';
+        }
+      );
+
+      argcomplete = super.argcomplete.overridePythonAttrs (
+        old: rec {
+          buildInputs = (old.buildInputs or [ ]) ++ [ self.importlib-metadata ];
+        }
+      );
+
+      arpeggio = super.arpeggio.overridePythonAttrs (
+        old: {
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
+        }
+      );
+
+      astroid = super.astroid.overridePythonAttrs (
+        old: rec {
+          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
+        }
+      );
+
+      av = super.av.overridePythonAttrs (
+        old: {
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
+            pkg-config
+          ];
+          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.ffmpeg_4 ];
+        }
+      );
+
+      argon2-cffi =
+        if (lib.versionAtLeast super.argon2-cffi.version "21.2.0") then
+          addBuildSystem
+            {
+              inherit self;
+              drv = super.argon2-cffi;
+              attr = "flit-core";
+            } else super.argon2-cffi;
+
+      bcrypt = super.bcrypt.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libffi ];
+        }
+      );
+
+      bjoern = super.bjoern.overridePythonAttrs (
+        old: {
+          buildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.libev ];
+        }
+      );
+
+      borgbackup = super.borgbackup.overridePythonAttrs (
+        old: {
+          BORG_OPENSSL_PREFIX = pkgs.openssl.dev;
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ];
+          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openssl pkgs.acl ];
+        }
+      );
+
+      cairocffi = super.cairocffi.overridePythonAttrs (
+        old: {
+          inherit (pkgs.python3.pkgs.cairocffi) patches;
+          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
+        }
+      );
+
+      cairosvg = super.cairosvg.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
+        }
+      );
+
+      cattrs =
+        let
+          drv = super.cattrs;
+        in
+        if drv.version == "1.10.0" then
+          drv.overridePythonAttrs
+            (old: {
+              # 1.10.0 contains a pyproject.toml that requires a pre-release Poetry
+              # We can avoid using Poetry and use the generated setup.py
+              preConfigure = old.preConfigure or "" + ''
+                rm pyproject.toml
+              '';
+            }) else drv;
+
+      ccxt = super.ccxt.overridePythonAttrs (old: {
+        preBuild = ''
+          ln -s README.{rst,md}
+        '';
+      });
+
+      celery = super.celery.overridePythonAttrs (old: {
+        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
+      });
+
+      cssselect2 = super.cssselect2.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
+        }
+      );
+
+      cffi =
+        # cffi is bundled with pypy
+        if self.python.implementation == "pypy" then null else
+        (
+          super.cffi.overridePythonAttrs (
+            old: {
+              nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ pkg-config ];
+              buildInputs = old.buildInputs or [ ] ++ [ pkgs.libffi ];
+              prePatch = (old.prePatch or "") + lib.optionalString stdenv.isDarwin ''
+                # Remove setup.py impurities
+                substituteInPlace setup.py --replace "'-iwithsysroot/usr/include/ffi'" ""
+                substituteInPlace setup.py --replace "'/usr/include/ffi'," ""
+                substituteInPlace setup.py --replace '/usr/include/libffi' '${lib.getDev pkgs.libffi}/include'
+              '';
+
+            }
+          )
+        );
+
+      cloudflare = super.cloudflare.overridePythonAttrs (
+        old: {
+          postPatch = ''
+            rm -rf examples/*
+          '';
+        }
+      );
+
+      colour = super.colour.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [ self.d2to1 ];
+        }
+      );
+
+      coincurve = super.coincurve.overridePythonAttrs (
+        old: {
+          # package setup logic
+          LIB_DIR = "${lib.getLib pkgs.secp256k1}/lib";
+
+          # for actual C toolchain build
+          NIX_CFLAGS_COMPILE = "-I ${lib.getDev pkgs.secp256k1}/include";
+          NIX_LDFLAGS = "-L ${lib.getLib pkgs.secp256k1}/lib";
+        }
+      );
+
+      configparser = super.configparser.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [
+            self.toml
+          ];
+        }
+      );
+
+      confluent-kafka = super.confluent-kafka.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [
+            pkgs.rdkafka
+          ];
+        }
+      );
+
+      cryptography =
+        let
+          getCargoHash = version: {
+            "35.0.0" = "sha256-tQoQfo+TAoqAea86YFxyj/LNQCiViu5ij/3wj7ZnYLI=";
+            "36.0.0" = "sha256-Y6TuW7AryVgSvZ6G8WNoDIvi+0tvx8ZlEYF5qB0jfNk=";
+            "36.0.1" = "sha256-kozYXkqt1Wpqyo9GYCwN08J+zV92ZWFJY/f+rulxmeQ=";
+            "36.0.2" = "1a0ni1a3dbv2dvh6gx2i54z8v5j9m6asqg97kkv7gqb1ivihsbp8";
+          }.${version} or null;
+          sha256 = getCargoHash super.cryptography.version;
+          scrypto =
+            if lib.versionAtLeast super.cryptography.version "35" && sha256 == null then
+              (
+                super.cryptography.override { preferWheel = true; }
+              ) else super.cryptography;
+        in
+        scrypto.overridePythonAttrs
+          (
+            old: {
+              nativeBuildInputs = (old.nativeBuildInputs or [ ])
+                ++ lib.optional (lib.versionAtLeast old.version "3.4") [ self.setuptools-rust ]
+                ++ lib.optional (!self.isPyPy) pyBuildPackages.cffi
+                ++ lib.optional (lib.versionAtLeast old.version "3.5")
+                (with pkgs.rustPlatform; [ cargoSetupHook rust.cargo rust.rustc ]);
+              buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openssl ]
+                ++ lib.optionals stdenv.isDarwin [ pkgs.darwin.apple_sdk.frameworks.Security pkgs.libiconv ];
+              propagatedBuildInputs = old.propagatedBuildInputs or [ ] ++ [ self.cffi ];
+            } // lib.optionalAttrs (lib.versionAtLeast old.version "3.4" && lib.versionOlder old.version "3.5") {
+              CRYPTOGRAPHY_DONT_BUILD_RUST = "1";
+            } // lib.optionalAttrs (lib.versionAtLeast old.version "35" && sha256 != null) rec {
+              cargoDeps =
+                pkgs.rustPlatform.fetchCargoTarball {
+                  src = old.src;
+                  sourceRoot = "${old.pname}-${old.version}/${cargoRoot}";
+                  name = "${old.pname}-${old.version}";
+                  inherit sha256;
+                };
+              cargoRoot = "src/rust";
+            }
+          );
+
+      cyclonedx-python-lib = super.cyclonedx-python-lib.overridePythonAttrs (old: {
+        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
+        postPatch = ''
+          substituteInPlace setup.py --replace 'setuptools>=50.3.2,<51.0.0' 'setuptools'
+        '';
+      });
+
+      daphne = super.daphne.overridePythonAttrs (old: {
+        postPatch = ''
+          substituteInPlace setup.py --replace 'setup_requires=["pytest-runner"],' ""
+        '';
+      });
+
+      datadog-lambda = super.datadog-lambda.overridePythonAttrs (old: {
+        postPatch = ''
+          substituteInPlace setup.py --replace "setuptools==" "setuptools>="
+        '';
+        buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools ];
+      });
+
+      dbus-python = super.dbus-python.overridePythonAttrs (old: {
+        outputs = [ "out" "dev" ];
+
+        postPatch = old.postPatch or "" + ''
+          substituteInPlace ./configure --replace /usr/bin/file ${pkgs.file}/bin/file
+          substituteInPlace ./dbus-python.pc.in --replace 'Cflags: -I''${includedir}' 'Cflags: -I''${includedir}/dbus-1.0'
+        '';
+
+        configureFlags = (old.configureFlags or [ ]) ++ [
+          "PYTHON_VERSION=${lib.versions.major self.python.version}"
+        ];
+
+        preConfigure = lib.concatStringsSep "\n" [
+          (old.preConfigure or "")
+          (if (lib.versionAtLeast stdenv.hostPlatform.darwinMinVersion "11" && stdenv.isDarwin) then ''
+            MACOSX_DEPLOYMENT_TARGET=10.16
+          '' else "")
+        ];
+
+        preBuild = old.preBuild or "" + ''
+          make distclean
+        '';
+
+        nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ pkg-config ];
+        buildInputs = old.buildInputs or [ ] ++ [ pkgs.dbus pkgs.dbus-glib ]
+          # My guess why it's sometimes trying to -lncurses.
+          # It seems not to retain the dependency anyway.
+          ++ lib.optional (! self.python ? modules) pkgs.ncurses;
+      });
+
+      dcli = super.dcli.overridePythonAttrs (old: {
+        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
+      });
+
+      ddtrace = super.ddtrace.overridePythonAttrs (old: {
+        buildInputs = (old.buildInputs or [ ]) ++
+          (lib.optionals pkgs.stdenv.isDarwin [ pkgs.darwin.IOKit ]);
+      });
+
+      dictdiffer = super.dictdiffer.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
+          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
+        }
+      );
+
+      django = (
+        super.django.overridePythonAttrs (
+          old: {
+            propagatedNativeBuildInputs = (old.propagatedNativeBuildInputs or [ ])
+              ++ [ pkgs.gettext self.pytest-runner ];
+          }
+        )
+      );
+
+      django-bakery = super.django-bakery.overridePythonAttrs (
+        old: {
+          configurePhase = ''
+            if ! test -e LICENSE; then
+              touch LICENSE
+            fi
+          '' + (old.configurePhase or "");
+        }
+      );
+
+      django-cors-headers = super.django-cors-headers.overridePythonAttrs (
+        old: {
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
+        }
+      );
+
+      django-hijack = super.django-hijack.overridePythonAttrs (
+        old: {
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
+        }
+      );
+
+      django-prometheus = super.django-prometheus.overridePythonAttrs (
+        old: {
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
+        }
+      );
+
+      django-rosetta = super.django-rosetta.overridePythonAttrs (
+        old: {
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
+        }
+      );
+
+      django-stubs-ext = super.django-stubs-ext.overridePythonAttrs (
+        old: {
+          prePatch = (old.prePatch or "") + "touch ../LICENSE.txt";
+        }
+      );
+
+      dlib = super.dlib.overridePythonAttrs (
+        old: {
+          # Parallel building enabled
+          inherit (pkgs.python.pkgs.dlib) patches;
+
+          enableParallelBuilding = true;
+          dontUseCmakeConfigure = true;
+
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ pkgs.dlib.nativeBuildInputs;
+          buildInputs = (old.buildInputs or [ ]) ++ pkgs.dlib.buildInputs;
+        }
+      );
+
+      # Environment markers are not always included (depending on how a dep was defined)
+      enum34 = if self.pythonAtLeast "3.4" then null else super.enum34;
+
+      eth-hash = super.eth-hash.overridePythonAttrs {
+        preConfigure = ''
+          substituteInPlace setup.py --replace \'setuptools-markdown\' ""
+        '';
+      };
+
+      eth-keyfile = super.eth-keyfile.overridePythonAttrs {
+        preConfigure = ''
+          substituteInPlace setup.py --replace \'setuptools-markdown\' ""
+        '';
+      };
+
+      eth-keys = super.eth-keys.overridePythonAttrs {
+        preConfigure = ''
+          substituteInPlace setup.py --replace \'setuptools-markdown\' ""
+        '';
+      };
+
+      # remove eth-hash dependency because eth-hash also depends on eth-utils causing a cycle.
+      eth-utils = super.eth-utils.overridePythonAttrs (old: {
+        propagatedBuildInputs =
+          builtins.filter (i: i.pname != "eth-hash") old.propagatedBuildInputs;
+        preConfigure = ''
+          ${old.preConfigure or ""}
+          sed -i '/eth-hash/d' setup.py
+        '';
+      });
+
+      faker = super.faker.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
+          doCheck = false;
+        }
+      );
+
+      fancycompleter = super.fancycompleter.overridePythonAttrs (
+        old: {
+          postPatch = ''
+            substituteInPlace setup.py \
+              --replace 'setup_requires="setupmeta"' 'setup_requires=[]' \
+              --replace 'versioning="devcommit"' 'version="${old.version}"'
+          '';
+        }
+      );
+
+      fastecdsa = super.fastecdsa.overridePythonAttrs (old: {
+        buildInputs = old.buildInputs ++ [ pkgs.gmp.dev ];
+      });
+
+      fastparquet = super.fastparquet.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
+        }
+      );
+
+      fiona = super.fiona.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.gdal_2 ];
+          nativeBuildInputs = [
+            pkgs.gdal_2 # for gdal-config
+          ];
+        }
+      );
+
+      flatbuffers = super.flatbuffers.overrideAttrs (old: {
+        VERSION = old.version;
+      });
+
+      gdal = super.gdal.overridePythonAttrs (
+        old: {
+          preBuild = (old.preBuild or "") + ''
+            substituteInPlace setup.cfg \
+              --replace "../../apps/gdal-config" '${pkgs.gdal}/bin/gdal-config'
+          '';
+        }
+      );
+
+      grandalf = super.grandalf.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
+          doCheck = false;
+        }
+      );
+
+      gitpython = super.gitpython.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [ self.typing-extensions ];
+        }
+      );
+
+      grpcio = super.grpcio.overridePythonAttrs (old: {
+        nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ];
+        buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.c-ares pkgs.openssl pkgs.zlib ];
+
+        outputs = [ "out" "dev" ];
+
+        GRPC_BUILD_WITH_BORING_SSL_ASM = "";
+        GRPC_PYTHON_BUILD_SYSTEM_OPENSSL = 1;
+        GRPC_PYTHON_BUILD_SYSTEM_ZLIB = 1;
+        GRPC_PYTHON_BUILD_SYSTEM_CARES = 1;
+        DISABLE_LIBC_COMPATIBILITY = 1;
+      });
+
+      grpcio-tools = super.grpcio-tools.overridePythonAttrs (old: {
+        outputs = [ "out" "dev" ];
+      });
+
+      h3 = super.h3.overridePythonAttrs (
+        old: {
+          preBuild = (old.preBuild or "") + ''
+            substituteInPlace h3/h3.py \
+              --replace "'{}/{}'.format(_dirname, libh3_path)" '"${pkgs.h3}/lib/libh3${pkgs.stdenv.hostPlatform.extensions.sharedLibrary}"'
+          '';
+        }
+      );
+
+      h5py = super.h5py.overridePythonAttrs (
+        old:
+        if old.format != "wheel" then
+          (
+            let
+              mpi = pkgs.hdf5.mpi;
+              mpiSupport = pkgs.hdf5.mpiSupport;
+            in
+            {
+              nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ];
+              buildInputs =
+                (old.buildInputs or [ ])
+                ++ [ pkgs.hdf5 self.pkgconfig ]
+                ++ lib.optional mpiSupport mpi
+              ;
+              propagatedBuildInputs =
+                (old.propagatedBuildInputs or [ ])
+                ++ lib.optionals mpiSupport [ self.mpi4py self.openssh ]
+              ;
+              preBuild = if mpiSupport then "export CC=${mpi}/bin/mpicc" else "";
+              HDF5_DIR = "${pkgs.hdf5}";
+              HDF5_MPI = if mpiSupport then "ON" else "OFF";
+              # avoid strict pinning of numpy
+              postPatch = ''
+                substituteInPlace setup.py \
+                  --replace "numpy ==" "numpy >="
+              '';
+              pythonImportsCheck = [ "h5py" ];
+            }
+          ) else old
+      );
+
+      hid = super.hid.overridePythonAttrs (
+        old: {
+          postPatch = ''
+            found=
+            for name in libhidapi-hidraw libhidapi-libusb libhidapi-iohidmanager libhidapi; do
+              full_path=${pkgs.hidapi.out}/lib/$name${pkgs.stdenv.hostPlatform.extensions.sharedLibrary}
+              if test -f $full_path; then
+                found=t
+                sed -i -e "s|'$name\..*'|'$full_path'|" hid/__init__.py
+              fi
+            done
+            test -n "$found" || { echo "ERROR: No known libraries found in ${pkgs.hidapi.out}/lib, please update/fix this build expression."; exit 1; }
+          '';
+        }
+      );
+
+      horovod = super.horovod.overridePythonAttrs (
+        old: {
+          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.mpi ];
+        }
+      );
+
+      httplib2 = super.httplib2.overridePythonAttrs (old: {
+        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.pyparsing ];
+      });
+
+      icecream = super.icecream.overridePythonAttrs (old: {
+        #  # ERROR: Could not find a version that satisfies the requirement executing>=0.3.1 (from icecream) (from versions: none)
+        postPatch = ''
+          substituteInPlace setup.py --replace 'executing>=0.3.1' 'executing'
+        '';
+      });
+
+      igraph = super.igraph.overridePythonAttrs (
+        old: {
+          nativeBuildInputs = [ pkgs.cmake ] ++ old.nativeBuildInputs;
+          dontUseCmakeConfigure = true;
+        }
+      );
+
+      imagecodecs = super.imagecodecs.overridePythonAttrs (
+        old: {
+          patchPhase = ''
+            substituteInPlace setup.py \
+              --replace "/usr/include/openjpeg-2.3" \
+                        "${pkgs.openjpeg.dev}/include/${pkgs.openjpeg.dev.incDir}
+            substituteInPlace setup.py \
+              --replace "/usr/include/jxrlib" \
+                        "$out/include/libjxr"
+            substituteInPlace imagecodecs/_zopfli.c \
+              --replace '"zopfli/zopfli.h"' \
+                        '<zopfli.h>'
+            substituteInPlace imagecodecs/_zopfli.c \
+              --replace '"zopfli/zlib_container.h"' \
+                        '<zlib_container.h>'
+            substituteInPlace imagecodecs/_zopfli.c \
+              --replace '"zopfli/gzip_container.h"' \
+                        '<gzip_container.h>'
+          '';
+
+          preBuild = ''
+            mkdir -p $out/include/libjxr
+            ln -s ${pkgs.jxrlib}/include/libjxr/**/* $out/include/libjxr
+
+          '';
+
+          buildInputs = (old.buildInputs or [ ]) ++ [
+            # Commented out packages are declared required, but not actually
+            # needed to build. They are not yet packaged for nixpkgs.
+            # bitshuffle
+            pkgs.brotli
+            # brunsli
+            pkgs.bzip2
+            pkgs.c-blosc
+            # charls
+            pkgs.giflib
+            pkgs.jxrlib
+            pkgs.lcms
+            pkgs.libaec
+            pkgs.libaec
+            pkgs.libjpeg_turbo
+            # liblzf
+            # liblzma
+            pkgs.libpng
+            pkgs.libtiff
+            pkgs.libwebp
+            pkgs.lz4
+            pkgs.openjpeg
+            pkgs.snappy
+            # zfp
+            pkgs.zopfli
+            pkgs.zstd
+            pkgs.zlib
+          ];
+        }
+      );
+
+      # importlib-metadata has an incomplete dependency specification
+      importlib-metadata = super.importlib-metadata.overridePythonAttrs (
+        old: {
+          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ lib.optional self.python.isPy2 self.pathlib2;
+        }
+      );
+
+      intreehooks = super.intreehooks.overridePythonAttrs (
+        old: {
+          doCheck = false;
+        }
+      );
+
+      isort = super.isort.overridePythonAttrs (
+        old: {
+          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
+        }
+      );
+
+      jaraco-functools = super.jaraco-functools.overridePythonAttrs (
+        old: {
+          # required for the extra "toml" dependency in setuptools_scm[toml]
+          buildInputs = (old.buildInputs or [ ]) ++ [
+            self.toml
+          ];
+        }
+      );
+
+      jira = super.jira.overridePythonAttrs (
+        old: {
+          inherit (pkgs.python3Packages.jira) patches;
+          buildInputs = (old.buildInputs or [ ]) ++ [
+            self.pytestrunner
+            self.cryptography
+            self.pyjwt
+            self.setuptools-scm-git-archive
+          ];
+        }
+      );
+
+      jq = super.jq.overridePythonAttrs (attrs: {
+        buildInputs = [ pkgs.jq ];
+        patches = [
+          (pkgs.fetchpatch {
+            url = "https://raw.githubusercontent.com/NixOS/nixpkgs/088da8735f6620b60d724aa7db742607ea216087/pkgs/development/python-modules/jq/jq-py-setup.patch";
+            sha256 = "sha256-MYvX3S1YGe0QsUtExtOtULvp++AdVrv+Fid4Jh1xewQ=";
+          })
+        ];
+      });
+
+      jsondiff = super.jsondiff.overridePythonAttrs (
+        old: {
+          preBuild = (old.preBuild or "") + ''
+            substituteInPlace setup.py \
+              --replace "'jsondiff=jsondiff.cli:main_deprecated'," ""
+          '';
+        }
+      );
+
+      jsonslicer = super.jsonslicer.overridePythonAttrs (old: {
+        nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkgconfig ];
+        buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.yajl ];
+      });
+
+      jupyter = super.jupyter.overridePythonAttrs (
+        old: rec {
+          # jupyter is a meta-package. Everything relevant comes from the
+          # dependencies. It does however have a jupyter.py file that conflicts
+          # with jupyter-core so this meta solves this conflict.
+          meta.priority = 100;
+        }
+      );
+
+      jupyter-packaging = super.jupyter-packaging.overridePythonAttrs (old: {
+        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.wheel ];
+      });
+
+      jupyterlab-widgets = super.jupyterlab-widgets.overridePythonAttrs (
+        old: rec {
+          buildInputs = (old.buildInputs or [ ]) ++ [ self.jupyter-packaging ];
+        }
+      );
+
+      kerberos = super.kerberos.overrideAttrs (old: {
+        nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.libkrb5 ];
+      });
+
+      keyring = super.keyring.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [
+            self.toml
+          ];
+        }
+      );
+
+      kiwisolver = super.kiwisolver.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [
+            self.cppy
+          ];
+        }
+      );
+
+      lap = super.lap.overridePythonAttrs (
+        old: {
+          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
+            self.numpy
+          ];
+        }
+      );
+
+      libvirt-python = super.libvirt-python.overridePythonAttrs ({ nativeBuildInputs ? [ ], ... }: {
+        nativeBuildInputs = nativeBuildInputs ++ [ pkg-config ];
+        propagatedBuildInputs = [ pkgs.libvirt ];
+      });
+
+      llvmlite = super.llvmlite.overridePythonAttrs (
+        old:
+        let
+          llvm =
+            if lib.versionAtLeast old.version "0.37.0" then
+              pkgs.llvmPackages_11.llvm
+            else if (lib.versionOlder old.version "0.37.0" && lib.versionAtLeast old.version "0.34.0") then
+              pkgs.llvmPackages_10.llvm
+            else if (lib.versionOlder old.version "0.34.0" && lib.versionAtLeast old.version "0.33.0") then
+              pkgs.llvmPackages_9.llvm
+            else if (lib.versionOlder old.version "0.33.0" && lib.versionAtLeast old.version "0.29.0") then
+              pkgs.llvmPackages_8.llvm
+            else if (lib.versionOlder old.version "0.28.0" && lib.versionAtLeast old.version "0.27.0") then
+              pkgs.llvmPackages_7.llvm
+            else if (lib.versionOlder old.version "0.27.0" && lib.versionAtLeast old.version "0.23.0") then
+              pkgs.llvmPackages_6.llvm
+            else if (lib.versionOlder old.version "0.23.0" && lib.versionAtLeast old.version "0.21.0") then
+              pkgs.llvmPackages_5.llvm
+            else
+              pkgs.llvm; # Likely to fail.
+        in
+        {
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.llvm ];
+
+          # Disable static linking
+          # https://github.com/numba/llvmlite/issues/93
+          postPatch = ''
+            substituteInPlace ffi/Makefile.linux --replace "-static-libstdc++" ""
+
+            substituteInPlace llvmlite/tests/test_binding.py --replace "test_linux" "nope"
+          '';
+
+          # Set directory containing llvm-config binary
+          preConfigure = ''
+            export LLVM_CONFIG=${llvm.dev}/bin/llvm-config
+          '';
+
+          __impureHostDeps = lib.optionals pkgs.stdenv.isDarwin [ "/usr/lib/libm.dylib" ];
+
+          passthru = old.passthru // { llvm = llvm; };
+        }
+      );
+
+      lxml = super.lxml.overridePythonAttrs (
+        old: {
+          nativeBuildInputs = with pkgs.buildPackages; (old.nativeBuildInputs or [ ]) ++ [ pkg-config libxml2.dev libxslt.dev ] ++ lib.optionals stdenv.isDarwin [ xcodebuild ];
+          buildInputs = with pkgs; (old.buildInputs or [ ]) ++ [ libxml2 libxslt ];
+        }
+      );
+
+      markupsafe = super.markupsafe.overridePythonAttrs (
+        old: {
+          src = old.src.override { pname = builtins.replaceStrings [ "markupsafe" ] [ "MarkupSafe" ] old.pname; };
+        }
+      );
+
+      matplotlib = super.matplotlib.overridePythonAttrs (
+        old:
+        let
+          enableGhostscript = old.passthru.args.enableGhostscript or false;
+          enableGtk3 = old.passthru.args.enableGtk3 or false;
+          enableQt = old.passthru.args.enableQt or false;
+          enableTk = old.passthru.args.enableTk or false;
+
+          interactive = enableTk || enableGtk3 || enableQt;
+
+          passthru = {
+            config = {
+              directories = { basedirlist = "."; };
+              libs = {
+                system_freetype = true;
+                system_qhull = true;
+              } // lib.optionalAttrs stdenv.isDarwin {
+                # LTO not working in darwin stdenv, see Nixpkgs #19312
+                enable_lto = false;
+              };
+            };
+          };
+
+          inherit (pkgs) tk tcl wayland qhull;
+          inherit (pkgs.xorg) libX11;
+          inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa;
+        in
+        {
+          XDG_RUNTIME_DIR = "/tmp";
+
+          buildInputs = old.buildInputs or [ ] ++ [
+            pkgs.which
+          ] ++ lib.optional enableGhostscript [
+            pkgs.ghostscript
+          ] ++ lib.optional stdenv.isDarwin [
+            Cocoa
+          ];
+
+          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
+            self.certifi
+            pkgs.libpng
+            pkgs.freetype
+            qhull
+          ]
+            ++ lib.optionals enableGtk3 [ pkgs.cairo self.pycairo pkgs.gtk3 pkgs.gobject-introspection self.pygobject3 ]
+            ++ lib.optionals enableTk [ pkgs.tcl pkgs.tk self.tkinter pkgs.libX11 ]
+            ++ lib.optionals enableQt [ self.pyqt5 ]
+          ;
+
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
+            pkg-config
+          ] ++ lib.optional (lib.versionAtLeast super.matplotlib.version "3.5.0") [
+            self.setuptools-scm
+            self.setuptools-scm-git-archive
+          ];
+
+          passthru = old.passthru or { } // passthru;
+
+          MPLSETUPCFG = pkgs.writeText "mplsetup.cfg" (lib.generators.toINI { } passthru.config);
+
+          # Matplotlib tries to find Tcl/Tk by opening a Tk window and asking the
+          # corresponding interpreter object for its library paths. This fails if
+          # `$DISPLAY` is not set. The fallback option assumes that Tcl/Tk are both
+          # installed under the same path which is not true in Nix.
+          # With the following patch we just hard-code these paths into the install
+          # script.
+          postPatch =
+            let
+              tcl_tk_cache = ''"${tk}/lib", "${tcl}/lib", "${lib.strings.substring 0 3 tk.version}"'';
+            in
+            lib.optionalString enableTk ''
+              sed -i '/self.tcl_tk_cache = None/s|None|${tcl_tk_cache}|' setupext.py
+            '' + lib.optionalString (stdenv.isLinux && interactive) ''
+              # fix paths to libraries in dlopen calls (headless detection)
+              substituteInPlace src/_c_internal_utils.c \
+                --replace libX11.so.6 ${libX11}/lib/libX11.so.6 \
+                --replace libwayland-client.so.0 ${wayland}/lib/libwayland-client.so.0
+            '' +
+            # avoid matplotlib trying to download dependencies
+            ''
+              echo "[libs]
+              system_freetype=true
+              system_qhull=true" > mplsetup.cfg
+            '';
+
+        }
+      );
+
+      # Calls Cargo at build time for source builds and is really tricky to package
+      maturin = super.maturin.override {
+        preferWheel = true;
+      };
+
+      mccabe = super.mccabe.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
+          doCheck = false;
+        }
+      );
+
+      mip = super.mip.overridePythonAttrs (
+        old: {
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.autoPatchelfHook ];
+
+          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.zlib self.cppy ];
+        }
+      );
+
+      mmdet = super.mmdet.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytorch ];
+        }
+      );
+
+      molecule =
+        if lib.versionOlder super.molecule.version "3.0.0" then
+          (super.molecule.overridePythonAttrs (
+            old: {
+              patches = (old.patches or [ ]) ++ [
+                # Fix build with more recent setuptools versions
+                (pkgs.fetchpatch {
+                  url = "https://github.com/ansible-community/molecule/commit/c9fee498646a702c77b5aecf6497cff324acd056.patch";
+                  sha256 = "1g1n45izdz0a3c9akgxx14zhdw6c3dkb48j8pq64n82fa6ndl1b7";
+                  excludes = [ "pyproject.toml" ];
+                })
+              ];
+              buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ];
+            }
+          )) else
+          super.molecule.overridePythonAttrs (old: {
+            buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ];
+          });
+
+      mpi4py = super.mpi4py.overridePythonAttrs (
+        old:
+        let
+          cfg = pkgs.writeTextFile {
+            name = "mpi.cfg";
+            text = (
+              lib.generators.toINI
+                { }
+                {
+                  mpi = {
+                    mpicc = "${pkgs.mpi.outPath}/bin/mpicc";
+                  };
+                }
+            );
+          };
+        in
+        {
+          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.mpi ];
+          enableParallelBuilding = true;
+          preBuild = ''
+            ln -sf ${cfg} mpi.cfg
+          '';
+        }
+      );
+
+      multiaddr = super.multiaddr.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
+        }
+      );
+
+      mypy = super.mypy.overridePythonAttrs (
+        old: {
+          # FIXME: Remove patch after upstream has decided the proper solution.
+          #        https://github.com/python/mypy/pull/11143
+          patches = (old.patches or [ ]) ++ lib.optionals ((lib.strings.versionAtLeast old.version "0.900") && lib.strings.versionOlder old.version "0.940") [
+            (pkgs.fetchpatch {
+              url = "https://github.com/python/mypy/commit/f1755259d54330cd087cae763cd5bbbff26e3e8a.patch";
+              sha256 = "sha256-5gPahX2X6+/qUaqDQIGJGvh9lQ2EDtks2cpQutgbOHk=";
+            })
+          ] ++ lib.optionals (lib.strings.versionAtLeast old.version "0.940") [
+            (pkgs.fetchpatch {
+              url = "https://github.com/python/mypy/commit/e7869f05751561958b946b562093397027f6d5fa.patch";
+              sha256 = "sha256-waIZ+m3tfvYE4HJ8kL6rN/C4fMjvLEe9UoPbt9mHWIM=";
+            })
+          ];
+          buildInputs = (old.buildInputs or [ ]) ++ [
+            self.types-typed-ast
+          ];
+          # Compile mypy with mypyc, which makes mypy about 4 times faster. The compiled
+          # version is also the default in the wheels on Pypi that include binaries.
+          # is64bit: unfortunately the build would exhaust all possible memory on i686-linux.
+          MYPY_USE_MYPYC = stdenv.buildPlatform.is64bit;
+
+          # when testing reduce optimisation level to drastically reduce build time
+          # (default is 3)
+          # MYPYC_OPT_LEVEL = 1;
+        }
+      );
+
+      mysqlclient = super.mysqlclient.overridePythonAttrs (
+        old: {
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.libmysqlclient ];
+          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libmysqlclient ];
+        }
+      );
+
+      netcdf4 = super.netcdf4.overridePythonAttrs (
+        old: {
+          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
+            pkgs.zlib
+            pkgs.netcdf
+            pkgs.hdf5
+            pkgs.curl
+            pkgs.libjpeg
+          ];
+
+          # Variables used to configure the build process
+          USE_NCCONFIG = "0";
+          HDF5_DIR = lib.getDev pkgs.hdf5;
+          NETCDF4_DIR = pkgs.netcdf;
+          CURL_DIR = pkgs.curl.dev;
+          JPEG_DIR = pkgs.libjpeg.dev;
+        }
+      );
+
+      numpy = super.numpy.overridePythonAttrs (
+        old:
+        let
+          blas = old.passthru.args.blas or pkgs.openblasCompat;
+          blasImplementation = lib.nameFromURL blas.name "-";
+          cfg = pkgs.writeTextFile {
+            name = "site.cfg";
+            text = (
+              lib.generators.toINI
+                { }
+                {
+                  ${blasImplementation} = {
+                    include_dirs = "${blas}/include";
+                    library_dirs = "${blas}/lib";
+                  } // lib.optionalAttrs (blasImplementation == "mkl") {
+                    mkl_libs = "mkl_rt";
+                    lapack_libs = "";
+                  };
+                }
+            );
+          };
+        in
+        {
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.gfortran ];
+          buildInputs = (old.buildInputs or [ ]) ++ [ blas ];
+          enableParallelBuilding = true;
+          preBuild = ''
+            ln -s ${cfg} site.cfg
+          '';
+          passthru = old.passthru // {
+            blas = blas;
+            inherit blasImplementation cfg;
+          };
+        }
+      );
+
+      open3d = super.open3d.overridePythonAttrs (old: {
+        buildInputs = (old.buildInputs or [ ]) ++ (with pkgs; [
+          udev
+        ]);
+        # TODO(Sem Mulder): Add overridable flags for CUDA/PyTorch/Tensorflow support.
+        autoPatchelfIgnoreMissingDeps = true;
+      });
+
+      opencv-python = super.opencv-python.overridePythonAttrs (
+        old: {
+          nativeBuildInputs = [ pkgs.cmake ] ++ old.nativeBuildInputs;
+          buildInputs = [ self.scikit-build ] ++ (old.buildInputs or [ ]);
+          dontUseCmakeConfigure = true;
+        }
+      );
+
+      opencv-contrib-python = super.opencv-contrib-python.overridePythonAttrs (
+        old: {
+          nativeBuildInputs = [ pkgs.cmake ] ++ old.nativeBuildInputs;
+          buildInputs = [ self.scikit-build ] ++ (old.buildInputs or [ ]);
+          dontUseCmakeConfigure = true;
+        }
+      );
+
+      openexr = super.openexr.overridePythonAttrs (
+        old: rec {
+          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openexr pkgs.ilmbase ];
+          NIX_CFLAGS_COMPILE = [ "-I${pkgs.openexr.dev}/include/OpenEXR" "-I${pkgs.ilmbase.dev}/include/OpenEXR" ];
+        }
+      );
+
+      osqp = super.osqp.overridePythonAttrs (
+        old: {
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.cmake ];
+          dontUseCmakeConfigure = true;
+        }
+      );
+
+      pantalaimon = super.pantalaimon.overridePythonAttrs (old: {
+        nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ pkgs.installShellFiles ];
+        postInstall = old.postInstall or "" + ''
+          installManPage docs/man/*.[1-9]
+        '';
+      });
+
+      paramiko = super.paramiko.overridePythonAttrs (old: {
+        doCheck = false; # requires networking
+      });
+
+      parsel = super.parsel.overridePythonAttrs (
+        old: rec {
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
+        }
+      );
+
+      pdal = super.pdal.overridePythonAttrs (
+        old: {
+          PDAL_CONFIG = "${pkgs.pdal}/bin/pdal-config";
+        }
+      );
+
+      peewee = super.peewee.overridePythonAttrs (
+        old:
+        let
+          withPostgres = old.passthru.withPostgres or false;
+          withMysql = old.passthru.withMysql or false;
+        in
+        {
+          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.sqlite ];
+          propagatedBuildInputs = (old.propagatedBuildInputs or [ ])
+            ++ lib.optional withPostgres self.psycopg2
+            ++ lib.optional withMysql self.mysql-connector;
+        }
+      );
+
+      pikepdf = super.pikepdf.overridePythonAttrs (
+        old: {
+          buildInputs = old.buildInputs or [ ] ++ [ pkgs.qpdf self.pybind11 ];
+          pythonImportsCheck = old.pythonImportsCheck or [ ] ++ [ "pikepdf" ];
+        }
+      );
+
+      pillow = super.pillow.overridePythonAttrs (
+        old: {
+          nativeBuildInputs = [ pkg-config self.pytest-runner ] ++ (old.nativeBuildInputs or [ ]);
+          buildInputs = with pkgs; [ freetype libjpeg zlib libtiff libwebp tcl lcms2 ] ++ (old.buildInputs or [ ]);
+        }
+      );
+
+      poetry-core = super.poetry-core.overridePythonAttrs (old: {
+        # "Vendor" dependencies (for build-system support)
+        postPatch = ''
+          echo "import sys" >> poetry/__init__.py
+          for path in $propagatedBuildInputs; do
+              echo "sys.path.insert(0, \"$path\")" >> poetry/__init__.py
+          done
+        '';
+
+        # Propagating dependencies leads to issues downstream
+        # We've already patched poetry to prefer "vendored" dependencies
+        postFixup = ''
+          rm $out/nix-support/propagated-build-inputs
+        '';
+      });
+
+      portend = super.portend.overridePythonAttrs (
+        old: {
+          # required for the extra "toml" dependency in setuptools_scm[toml]
+          buildInputs = (old.buildInputs or [ ]) ++ [
+            self.toml
+          ];
+        }
+      );
+
+      prettytable = super.prettytable.overridePythonAttrs (old: {
+        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
+      });
+
+      psycopg2 = super.psycopg2.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ])
+            ++ lib.optional stdenv.isDarwin pkgs.openssl;
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.postgresql ];
+        }
+      );
+
+      psycopg2-binary = super.psycopg2-binary.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ])
+            ++ lib.optional stdenv.isDarwin pkgs.openssl;
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.postgresql ];
+        }
+      );
+
+      py-solc-x = super.py-solc-x.overridePythonAttrs (
+        old: {
+          preConfigure = ''
+            substituteInPlace setup.py --replace \'setuptools-markdown\' ""
+          '';
+          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.requests self.semantic-version ];
+        }
+      );
+
+      pyarrow =
+        if lib.versionAtLeast super.pyarrow.version "0.16.0" then
+          super.pyarrow.overridePythonAttrs
+            (
+              old:
+              let
+                parseMinor = drv: lib.concatStringsSep "." (lib.take 2 (lib.splitVersion drv.version));
+
+                # Starting with nixpkgs revision f149c7030a7, pyarrow takes "python3" as an argument
+                # instead of "python". Below we inspect function arguments to maintain compatibilitiy.
+                _arrow-cpp = pkgs.arrow-cpp.override (
+                  builtins.intersectAttrs
+                    (lib.functionArgs pkgs.arrow-cpp.override)
+                    { python = self.python; python3 = self.python; }
+                );
+
+                ARROW_HOME = _arrow-cpp;
+                arrowCppVersion = parseMinor _arrow-cpp;
+                pyArrowVersion = parseMinor super.pyarrow;
+                errorMessage = "arrow-cpp version (${arrowCppVersion}) mismatches pyarrow version (${pyArrowVersion})";
+              in
+              if arrowCppVersion != pyArrowVersion then throw errorMessage else {
+
+                nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
+                  pkg-config
+                  pkgs.cmake
+                ];
+
+                preBuild = ''
+                  export PYARROW_PARALLEL=$NIX_BUILD_CORES
+                '';
+
+                PARQUET_HOME = _arrow-cpp;
+                inherit ARROW_HOME;
+
+                PYARROW_BUILD_TYPE = "release";
+                PYARROW_WITH_FLIGHT = if _arrow-cpp.enableFlight then 1 else 0;
+                PYARROW_WITH_DATASET = 1;
+                PYARROW_WITH_PARQUET = 1;
+                PYARROW_CMAKE_OPTIONS = [
+                  "-DCMAKE_INSTALL_RPATH=${ARROW_HOME}/lib"
+
+                  # This doesn't use setup hook to call cmake so we need to workaround #54606
+                  # ourselves
+                  "-DCMAKE_POLICY_DEFAULT_CMP0025=NEW"
+                ];
+
+                dontUseCmakeConfigure = true;
+              }
+            ) else
+          super.pyarrow;
+
+      pycairo = (
+        drv: (
+          drv.overridePythonAttrs (
+            _: {
+              format = "other";
+            }
+          )
+        ).overridePythonAttrs (
+          old: {
+
+            nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
+              pkgs.meson
+              pkgs.ninja
+              pkg-config
+            ];
+
+            propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
+              pkgs.cairo
+              pkgs.xlibsWrapper
+            ];
+
+            mesonFlags = [ "-Dpython=${if self.isPy3k then "python3" else "python"}" ];
+          }
+        )
+      )
+        super.pycairo;
+
+      pycocotools = super.pycocotools.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [
+            self.numpy
+          ];
+        }
+      );
+
+      pyfuse3 = super.pyfuse3.overridePythonAttrs (old: {
+        nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ];
+        buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.fuse3 ];
+      });
+
+      pygame = super.pygame.overridePythonAttrs (
+        old: rec {
+          nativeBuildInputs = [
+            pkg-config
+            pkgs.SDL
+          ];
+
+          buildInputs = [
+            pkgs.SDL
+            pkgs.SDL_image
+            pkgs.SDL_mixer
+            pkgs.SDL_ttf
+            pkgs.libpng
+            pkgs.libjpeg
+            pkgs.portmidi
+            pkgs.xorg.libX11
+            pkgs.freetype
+          ];
+
+          # Tests fail because of no audio device and display.
+          doCheck = false;
+          preConfigure = ''
+                    sed \
+                      -e "s/origincdirs = .*/origincdirs = []/" \
+                      -e "s/origlibdirs = .*/origlibdirs = []/" \
+                      -e "/'\/lib\/i386-linux-gnu', '\/lib\/x86_64-linux-gnu']/d" \
+                      -e "/\/include\/smpeg/d" \
+                      -i buildconfig/config_unix.py
+                    ${lib.concatMapStrings
+            (dep: ''
+                      sed \
+                        -e "/origincdirs =/a\        origincdirs += ['${lib.getDev dep}/include']" \
+                        -e "/origlibdirs =/a\        origlibdirs += ['${lib.getLib dep}/lib']" \
+                        -i buildconfig/config_unix.py
+                    '')
+            buildInputs
+                    }
+                    LOCALBASE=/ ${self.python.interpreter} buildconfig/config.py
+          '';
+        }
+      );
+
+      pygeos = super.pygeos.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.geos ];
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.geos ];
+        }
+      );
+
+      pygobject = super.pygobject.overridePythonAttrs (
+        old: {
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ];
+          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.glib pkgs.gobject-introspection ];
+        }
+      );
+
+      pylint = super.pylint.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
+        }
+      );
+
+      pymediainfo = super.pymediainfo.overridePythonAttrs (
+        old: {
+          postPatch = (old.postPatch or "") + ''
+            substituteInPlace pymediainfo/__init__.py \
+              --replace "libmediainfo.0.dylib" \
+                        "${pkgs.libmediainfo}/lib/libmediainfo.0${stdenv.hostPlatform.extensions.sharedLibrary}" \
+              --replace "libmediainfo.dylib" \
+                        "${pkgs.libmediainfo}/lib/libmediainfo${stdenv.hostPlatform.extensions.sharedLibrary}" \
+              --replace "libmediainfo.so.0" \
+                        "${pkgs.libmediainfo}/lib/libmediainfo${stdenv.hostPlatform.extensions.sharedLibrary}.0"
+          '';
+        }
+      );
+
+      pymssql = super.pymssql.overridePythonAttrs (old: {
+        buildInputs = (old.buildInputs or [ ])
+          ++ [ pkgs.openssl ];
+        propagatedBuildInputs = (old.propagatedBuildInputs or [ ])
+          ++ [ pkgs.freetds ];
+      });
+
+      pyopenssl = super.pyopenssl.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openssl ];
+        }
+      );
+
+      pyproj = super.pyproj.overridePythonAttrs (
+        old: {
+          PROJ_DIR = "${pkgs.proj}";
+          PROJ_LIBDIR = "${pkgs.proj}/lib";
+          PROJ_INCDIR = "${pkgs.proj.dev}/include";
+        }
+      );
+
+      pyrfr = super.pyrfr.overridePythonAttrs (old: {
+        nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.swig ];
+      });
+
+      pytaglib = super.pytaglib.overridePythonAttrs (old: {
+        buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.taglib ];
+      });
+
+      pytezos = super.pytezos.overridePythonAttrs (old: {
+        buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.libsodium ];
+      });
+
+      python-bugzilla = super.python-bugzilla.overridePythonAttrs (
+        old: {
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
+            self.docutils
+          ];
+        }
+      );
+
+      python-ldap = super.python-ldap.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.openldap pkgs.cyrus_sasl ];
+        }
+      );
+
+      pytoml = super.pytoml.overridePythonAttrs (
+        old: {
+          doCheck = false;
+        }
+      );
+
+      pyqt5 =
+        let
+          drv = super.pyqt5;
+          withConnectivity = drv.passthru.args.withConnectivity or false;
+          withMultimedia = drv.passthru.args.withMultimedia or false;
+          withWebKit = drv.passthru.args.withWebKit or false;
+          withWebSockets = drv.passthru.args.withWebSockets or false;
+        in
+        super.pyqt5.overridePythonAttrs (
+          old: {
+            format = "other";
+
+            dontWrapQtApps = true;
+
+            nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
+              pkg-config
+              pkgs.qt5.qmake
+              pkgs.xorg.lndir
+              pkgs.qt5.qtbase
+              pkgs.qt5.qtsvg
+              pkgs.qt5.qtdeclarative
+              pkgs.qt5.qtwebchannel
+              pkgs.qt5.qt3d
+              # self.pyqt5-sip
+              self.sip
+            ]
+              ++ lib.optional withConnectivity pkgs.qt5.qtconnectivity
+              ++ lib.optional withMultimedia pkgs.qt5.qtmultimedia
+              ++ lib.optional withWebKit pkgs.qt5.qtwebkit
+              ++ lib.optional withWebSockets pkgs.qt5.qtwebsockets
+            ;
+
+            buildInputs = (old.buildInputs or [ ]) ++ [
+              pkgs.dbus
+              pkgs.qt5.qtbase
+              pkgs.qt5.qtsvg
+              pkgs.qt5.qtdeclarative
+              self.sip
+            ]
+              ++ lib.optional withConnectivity pkgs.qt5.qtconnectivity
+              ++ lib.optional withWebKit pkgs.qt5.qtwebkit
+              ++ lib.optional withWebSockets pkgs.qt5.qtwebsockets
+            ;
+
+            # Fix dbus mainloop
+            patches = pkgs.python3.pkgs.pyqt5.patches or [ ];
+
+            configurePhase = ''
+              runHook preConfigure
+
+              export PYTHONPATH=$PYTHONPATH:$out/${self.python.sitePackages}
+
+              mkdir -p $out/${self.python.sitePackages}/dbus/mainloop
+              ${self.python.executable} configure.py  -w \
+                --confirm-license \
+                --no-qml-plugin \
+                --bindir=$out/bin \
+                --destdir=$out/${self.python.sitePackages} \
+                --stubsdir=$out/${self.python.sitePackages}/PyQt5 \
+                --sipdir=$out/share/sip/PyQt5 \
+                --designer-plugindir=$out/plugins/designer
+
+              runHook postConfigure
+            '';
+
+            postInstall = ''
+              ln -s ${self.pyqt5-sip}/${self.python.sitePackages}/PyQt5/sip.* $out/${self.python.sitePackages}/PyQt5/
+              for i in $out/bin/*; do
+                wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH"
+              done
+
+              # Let's make it a namespace package
+              cat << EOF > $out/${self.python.sitePackages}/PyQt5/__init__.py
+              from pkgutil import extend_path
+              __path__ = extend_path(__path__, __name__)
+              EOF
+            '';
+
+            installCheckPhase =
+              let
+                modules = [
+                  "PyQt5"
+                  "PyQt5.QtCore"
+                  "PyQt5.QtQml"
+                  "PyQt5.QtWidgets"
+                  "PyQt5.QtGui"
+                ]
+                ++ lib.optional withWebSockets "PyQt5.QtWebSockets"
+                ++ lib.optional withWebKit "PyQt5.QtWebKit"
+                ++ lib.optional withMultimedia "PyQt5.QtMultimedia"
+                ++ lib.optional withConnectivity "PyQt5.QtConnectivity"
+                ;
+                imports = lib.concatMapStrings (module: "import ${module};") modules;
+              in
+              ''
+                echo "Checking whether modules can be imported..."
+                ${self.python.interpreter} -c "${imports}"
+              '';
+
+            doCheck = true;
+
+            enableParallelBuilding = true;
+          }
+        );
+
+      pytest-datadir = super.pytest-datadir.overridePythonAttrs (
+        old: {
+          postInstall = ''
+            rm -f $out/LICENSE
+          '';
+        }
+      );
+
+      pytest = super.pytest.overridePythonAttrs (
+        old: {
+          # Fixes https://github.com/pytest-dev/pytest/issues/7891
+          postPatch = old.postPatch or "" + ''
+            sed -i '/\[metadata\]/aversion = ${old.version}' setup.cfg
+          '';
+        }
+      );
+
+      pytest-django = super.pytest-django.overridePythonAttrs (
+        old: {
+          postPatch = ''
+            substituteInPlace setup.py --replace "'pytest>=3.6'," ""
+            substituteInPlace setup.py --replace "'pytest>=3.6'" ""
+          '';
+        }
+      );
+
+      pytest-randomly = super.pytest-randomly.overrideAttrs (old: {
+        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
+          self.importlib-metadata
+        ];
+      });
+
+      pytest-runner = super.pytest-runner or super.pytestrunner;
+
+      pytest-pylint = super.pytest-pylint.overridePythonAttrs (
+        old: {
+          buildInputs = [ self.pytest-runner ];
+        }
+      );
+
+      # pytest-splinter seems to put a .marker file in an empty directory
+      # presumably so it's tracked by and can be installed with MANIFEST.in, see
+      # https://github.com/pytest-dev/pytest-splinter/commit/a48eeef662f66ff9d3772af618748e73211a186b
+      #
+      # This directory then gets used as an empty initial profile directory and is
+      # zipped up. But if the .marker file is in the Nix store, it has the
+      # creation date of 1970, and Zip doesn't work with such old files, so it
+      # fails at runtime!
+      #
+      # We fix this here by just removing the file after the installation
+      #
+      # The error you get without this is:
+      #
+      # E           ValueError: ZIP does not support timestamps before 1980
+      # /nix/store/55b9ip7xkpimaccw9pa0vacy5q94f5xa-python3-3.7.6/lib/python3.7/zipfile.py:357: ValueError
+      pytest-splinter = super.pytest-splinter.overrideAttrs (old: {
+        postInstall = old.postInstall or "" + ''
+          rm $out/${super.python.sitePackages}/pytest_splinter/profiles/firefox/.marker
+        '';
+      });
+
+      python-jose = super.python-jose.overridePythonAttrs (
+        old: {
+          buildInputs = [ self.pytest-runner ];
+        }
+      );
+
+      python-magic = super.python-magic.overridePythonAttrs (
+        old: {
+          postPatch = ''
+            substituteInPlace magic/loader.py \
+              --replace "'libmagic.so.1'" "'${lib.getLib pkgs.file}/lib/libmagic.so.1'"
+          '';
+          pythonImportsCheck = old.pythonImportsCheck or [ ] ++ [ "magic" ];
+        }
+      );
+
+      python-olm = super.python-olm.overridePythonAttrs (
+        old: {
+          buildInputs = old.buildInputs or [ ] ++ [ pkgs.olm ];
+        }
+      );
+
+      python-snappy = super.python-snappy.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.snappy ];
+        }
+      );
+
+      pythran = super.pythran.overridePythonAttrs (old: {
+        buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
+      });
+
+      ffmpeg-python = super.ffmpeg-python.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
+        }
+      );
+
+      python-prctl = super.python-prctl.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [
+            pkgs.libcap
+          ];
+        }
+      );
+
+      pyudev = super.pyudev.overridePythonAttrs (old: {
+        postPatch = ''
+          substituteInPlace src/pyudev/_ctypeslib/utils.py \
+            --replace "find_library(name)" "'${lib.getLib pkgs.systemd}/lib/libudev.so'"
+        '';
+      });
+
+      pyusb = super.pyusb.overridePythonAttrs (
+        old: {
+          postPatch = ''
+            libusb=${pkgs.libusb1.out}/lib/libusb-1.0${pkgs.stdenv.hostPlatform.extensions.sharedLibrary}
+            test -f $libusb || { echo "ERROR: $libusb doesn't exist, please update/fix this build expression."; exit 1; }
+            sed -i -e "s|find_library=None|find_library=lambda _:\"$libusb\"|" usb/backend/libusb1.py
+          '';
+        }
+      );
+
+      pywavelets = super.pywavelets.overridePythonAttrs (
+        old: {
+          HDF5_DIR = "${pkgs.hdf5}";
+          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.hdf5 ];
+        }
+      );
+
+      pyzmq = super.pyzmq.overridePythonAttrs (
+        old: {
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ];
+          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.zeromq ];
+        }
+      );
+
+      rockset = super.rockset.overridePythonAttrs (
+        old: rec {
+          postPatch = ''
+            cp ./setup_rockset.py ./setup.py
+          '';
+        }
+      );
+
+      scaleapi = super.scaleapi.overridePythonAttrs (
+        old: {
+          postPatch = ''
+            substituteInPlace setup.py --replace "install_requires = ['requests>=2.4.2', 'enum34']" "install_requires = ['requests>=2.4.2']" || true
+          '';
+        }
+      );
+
+      panel = super.panel.overridePythonAttrs (
+        old: {
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.nodejs ];
+        }
+      );
+
+      # Pybind11 is an undeclared dependency of scipy that we need to pick from nixpkgs
+      # Make it not fail with infinite recursion
+      pybind11 = super.pybind11.overridePythonAttrs (
+        old: {
+          cmakeFlags = (old.cmakeFlags or [ ]) ++ [
+            "-DPYBIND11_TEST=off"
+          ];
+          doCheck = false; # Circular test dependency
+        }
+      );
+
+      rlp = super.rlp.overridePythonAttrs {
+        preConfigure = ''
+          substituteInPlace setup.py --replace \'setuptools-markdown\' ""
+        '';
+      };
+
+      rmfuse = super.rmfuse.overridePythonAttrs (old: {
+        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.setuptools ];
+      });
+
+      rtree = super.rtree.overridePythonAttrs (old: {
+        propagatedNativeBuildInputs = (old.propagatedNativeBuildInputs or [ ]) ++ [ pkgs.libspatialindex ];
+        postPatch = ''
+          substituteInPlace rtree/finder.py --replace \
+            "find_library('spatialindex_c')" \
+            "'${pkgs.libspatialindex}/lib/libspatialindex_c${pkgs.stdenv.hostPlatform.extensions.sharedLibrary}'"
+        '';
+      });
+
+      ruamel-yaml = super.ruamel-yaml.overridePythonAttrs (
+        old: {
+          propagatedBuildInputs = (old.propagatedBuildInputs or [ ])
+            ++ [ self.ruamel-yaml-clib ];
+        }
+      );
+
+      scipy = super.scipy.overridePythonAttrs (
+        old:
+        if old.format != "wheel" then {
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++
+            [ pkgs.gfortran ] ++
+            lib.optional (lib.versionAtLeast super.scipy.version "1.7.0") [ self.pythran ];
+          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.pybind11 ];
+          setupPyBuildFlags = [ "--fcompiler='gnu95'" ];
+          enableParallelBuilding = true;
+          buildInputs = (old.buildInputs or [ ]) ++ [ self.numpy.blas ];
+          preConfigure = ''
+            sed -i '0,/from numpy.distutils.core/s//import setuptools;from numpy.distutils.core/' setup.py
+            export NPY_NUM_BUILD_JOBS=$NIX_BUILD_CORES
+          '';
+          preBuild = ''
+            ln -s ${self.numpy.cfg} site.cfg
+          '';
+        } else old
+      );
+
+      scikit-image = super.scikit-image.overridePythonAttrs (
+        old: {
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
+            self.pythran
+            self.packaging
+            self.wheel
+            self.numpy
+          ];
+        }
+      );
+
+      scikit-learn = super.scikit-learn.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [
+            pkgs.gfortran
+          ] ++ lib.optionals stdenv.cc.isClang [
+            pkgs.llvmPackages.openmp
+          ] ++ lib.optionals stdenv.isLinux [
+            pkgs.glibcLocales
+          ];
+
+          enableParallelBuilding = true;
+        }
+      );
+
+      secp256k1 = super.secp256k1.overridePythonAttrs (old: {
+        nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.pkgconfig pkgs.autoconf pkgs.automake pkgs.libtool ];
+        buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
+        doCheck = false;
+        # Local setuptools versions like "x.y.post0" confuse an internal check
+        postPatch = ''
+          substituteInPlace setup.py \
+            --replace 'setuptools_version.' '"${self.setuptools.version}".'
+        '';
+      });
+
+      shapely = super.shapely.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.geos ];
+          inherit (pkgs.python3.pkgs.shapely) patches GEOS_LIBRARY_PATH;
+        }
+      );
+
+      shellcheck-py = super.shellcheck-py.overridePythonAttrs (old: {
+
+        # Make fetching/installing external binaries no-ops
+        preConfigure =
+          let
+            fakeCommand = "type('FakeCommand', (Command,), {'initialize_options': lambda self: None, 'finalize_options': lambda self: None, 'run': lambda self: None})";
+          in
+          ''
+            substituteInPlace setup.py \
+              --replace "'fetch_binaries': fetch_binaries," "'fetch_binaries': ${fakeCommand}," \
+              --replace "'install_shellcheck': install_shellcheck," "'install_shellcheck': ${fakeCommand},"
+          '';
+
+        propagatedUserEnvPkgs = (old.propagatedUserEnvPkgs or [ ]) ++ [
+          pkgs.shellcheck
+        ];
+
+      });
+
+      systemd-python = super.systemd-python.overridePythonAttrs (old: {
+        buildInputs = old.buildInputs ++ [ pkgs.systemd ];
+        nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.pkg-config ];
+      });
+
+      tables = super.tables.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [ self.pywavelets ];
+          HDF5_DIR = lib.getDev pkgs.hdf5;
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ];
+          propagatedBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.hdf5 self.numpy self.numexpr ];
+        }
+      );
+
+      tempora = super.tempora.overridePythonAttrs (
+        old: {
+          # required for the extra "toml" dependency in setuptools_scm[toml]
+          buildInputs = (old.buildInputs or [ ]) ++ [
+            self.toml
+          ];
+        }
+      );
+
+      tensorboard = super.tensorboard.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [
+            self.wheel
+            self.absl-py
+          ];
+          HDF5_DIR = "${pkgs.hdf5}";
+          propagatedBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
+            pkgs.hdf5
+            self.google-auth-oauthlib
+            self.tensorboard-plugin-wit
+            self.numpy
+            self.markdown
+            self.tensorboard-data-server
+            self.grpcio
+            self.protobuf
+            self.werkzeug
+            self.absl-py
+          ];
+        }
+      );
+
+      tensorflow = super.tensorflow.overridePythonAttrs (
+        old: {
+          postInstall = ''
+            rm $out/bin/tensorboard
+          '';
+        }
+      );
+
+      tensorpack = super.tensorpack.overridePythonAttrs (
+        old: {
+          postPatch = ''
+            substituteInPlace setup.cfg --replace "# will call find_packages()" ""
+          '';
+        }
+      );
+
+      tinycss2 = super.tinycss2.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
+        }
+      );
+
+      # The tokenizers build requires a complex rust setup (cf. nixpkgs override)
+      #
+      # Instead of providing a full source build, we use a wheel to keep
+      # the complexity manageable for now.
+      tokenizers = super.tokenizers.override {
+        preferWheel = true;
+      };
+
+      torch = lib.makeOverridable
+        ({ enableCuda ? false
+         , cudatoolkit ? pkgs.cudatoolkit_10_1
+         , pkg ? super.torch
+         }: pkg.overrideAttrs (old:
+          {
+            preConfigure =
+              if (!enableCuda) then ''
+                export USE_CUDA=0
+              '' else ''
+                export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${cudatoolkit}/targets/x86_64-linux/lib"
+              '';
+            preFixup = lib.optionalString (!enableCuda) ''
+              # For some reason pytorch retains a reference to libcuda even if it
+              # is explicitly disabled with USE_CUDA=0.
+              find $out -name "*.so" -exec ${pkgs.patchelf}/bin/patchelf --remove-needed libcuda.so.1 {} \;
+            '';
+            buildInputs =
+              (old.buildInputs or [ ])
+              ++ [ self.typing-extensions ]
+              ++ lib.optionals enableCuda [
+                pkgs.linuxPackages.nvidia_x11
+                pkgs.nccl.dev
+                pkgs.nccl.out
+              ];
+            propagatedBuildInputs = [
+              self.numpy
+              self.future
+              self.typing-extensions
+            ];
+          })
+        )
+        { };
+
+      torchvision = lib.makeOverridable
+        ({ enableCuda ? false
+         , cudatoolkit ? pkgs.cudatoolkit_10_1
+         , pkg ? super.torchvision
+         }: pkg.overrideAttrs (old: {
+
+          # without that autoPatchelfHook will fail because cudatoolkit is not in LD_LIBRARY_PATH
+          autoPatchelfIgnoreMissingDeps = true;
+          buildInputs = (old.buildInputs or [ ])
+            ++ [ self.torch ]
+            ++ lib.optionals enableCuda [
+            cudatoolkit
+          ];
+          preConfigure =
+            if (enableCuda) then ''
+              export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${self.torch}/${self.python.sitePackages}/torch/lib:${lib.makeLibraryPath [ cudatoolkit "${cudatoolkit}" ]}"
+            '' else ''
+              export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${self.torch}/${self.python.sitePackages}/torch/lib"
+            '';
+        }))
+        { };
+
+      typed_ast = super.typed-ast.overridePythonAttrs (old: {
+        nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
+          self.pytest-runner
+        ];
+      });
+
+      urwidtrees = super.urwidtrees.overridePythonAttrs (
+        old: {
+          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
+            self.urwid
+          ];
+        }
+      );
+
+      vose-alias-method = super.vose-alias-method.overridePythonAttrs (
+        old: {
+          postInstall = ''
+            rm -f $out/LICENSE
+          '';
+        }
+      );
+
+      vispy = super.vispy.overrideAttrs (
+        old: {
+          inherit (pkgs.python3.pkgs.vispy) patches;
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
+            self.setuptools-scm-git-archive
+          ];
+        }
+      );
+
+      uvloop = super.uvloop.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ lib.optionals stdenv.isDarwin [
+            pkgs.darwin.apple_sdk.frameworks.ApplicationServices
+            pkgs.darwin.apple_sdk.frameworks.CoreServices
+          ];
+        }
+      );
+
+
+      # Stop infinite recursion by using bootstrapped pkg from nixpkgs
+      bootstrapped-pip = super.bootstrapped-pip.override {
+        wheel = (pkgs.python3.pkgs.override {
+          python = self.python;
+        }).wheel;
+      };
+
+      weasyprint = super.weasyprint.overridePythonAttrs (
+        old: {
+          inherit (pkgs.python3.pkgs.weasyprint) patches;
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.pytest-runner ];
+          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
+        }
+      );
+
+      web3 = super.web3.overridePythonAttrs {
+        preConfigure = ''
+          substituteInPlace setup.py --replace \'setuptools-markdown\' ""
+        '';
+      };
+
+      weblate-language-data = super.weblate-language-data.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [
+            self.translate-toolkit
+          ];
+        }
+      );
+
+      wheel =
+        let
+          isWheel = super.wheel.src.isWheel or false;
+          # If "wheel" is a pre-built binary wheel
+          wheelPackage = super.buildPythonPackage {
+            inherit (super.wheel) pname name version src;
+            inherit (pkgs.python3.pkgs.wheel) meta;
+            format = "wheel";
+          };
+          # If "wheel" is built from source
+          sourcePackage = ((
+            pkgs.python3.pkgs.override {
+              python = self.python;
+            }
+          ).wheel.override {
+            inherit (self) buildPythonPackage bootstrapped-pip setuptools;
+          }).overrideAttrs (old: {
+            inherit (super.wheel) pname name version src;
+          });
+        in
+        if isWheel then wheelPackage else sourcePackage;
+
+      zipp = if super.zipp == null then null else
+      super.zipp.overridePythonAttrs (
+        old: {
+          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
+            self.toml
+          ];
+        }
+      );
+
+      packaging =
+        let
+          old = super.packaging;
+        in
+        # From 20.5 until 20.7, packaging used flit for packaging (heh)
+          # See https://github.com/pypa/packaging/pull/352 and https://github.com/pypa/packaging/pull/367
+        if (lib.versionAtLeast old.version "20.5" && lib.versionOlder old.version "20.8") then
+          addBuildSystem
+            {
+              inherit self;
+              drv = old;
+              attr = "flit-core";
+            } else old;
+
+      psutil = super.psutil.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++
+            lib.optional stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.IOKit;
+        }
+      );
+
+      sentencepiece = super.sentencepiece.overridePythonAttrs (
+        old: {
+          dontUseCmakeConfigure = true;
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
+            pkg-config
+            pkgs.cmake
+            pkgs.gperftools
+          ];
+          buildInputs = (old.buildInputs or [ ]) ++ [
+            pkgs.sentencepiece
+          ];
+        }
+      );
+
+      sentence-transformers = super.sentence-transformers.overridePythonAttrs (
+        old: {
+          buildInputs =
+            (old.buildInputs or [ ])
+            ++ [ self.typing-extensions ];
+        }
+      );
+
+      supervisor = super.supervisor.overridePythonAttrs (
+        old: {
+          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [
+            self.meld3
+            self.setuptools
+          ];
+        }
+      );
+
+      cytoolz = super.cytoolz.overridePythonAttrs (
+        old: {
+          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.toolz ];
+        }
+      );
+
+      # For some reason the toml dependency of tqdm declared here:
+      # https://github.com/tqdm/tqdm/blob/67130a23646ae672836b971e1086b6ae4c77d930/pyproject.toml#L2
+      # is not translated correctly to a nix dependency.
+      tqdm = super.tqdm.overrideAttrs (
+        old: {
+          buildInputs = [ super.toml ] ++ (old.buildInputs or [ ]);
+        }
+      );
+
+      watchdog = super.watchdog.overrideAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ])
+            ++ lib.optional pkgs.stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.CoreServices;
+        }
+      );
+
+      # pyee cannot find `vcversioner` and other "setup requirements", so it tries to
+      # download them from the internet, which only works when nix sandboxing is disabled.
+      # Additionally, since pyee uses vcversioner to specify its version, we need to do this
+      # manually specify its version.
+      pyee = super.pyee.overrideAttrs (
+        old: {
+          postPatch = old.postPatch or "" + ''
+            sed -i setup.py \
+              -e '/setup_requires/,/],/d' \
+              -e 's/vcversioner={},/version="${old.version}",/'
+          '';
+        }
+      );
+
+      # nixpkgs has setuptools_scm 4.1.2
+      # but newrelic has a seemingly unnecessary version constraint for <4
+      # So we patch that out
+      newrelic = super.newrelic.overridePythonAttrs (
+        old: {
+          postPatch = old.postPatch or "" + ''
+            substituteInPlace setup.py --replace '"setuptools_scm>=3.2,<4"' '"setuptools_scm"'
+          '';
+        }
+      );
+
+      wxpython = super.wxpython.overridePythonAttrs (old:
+        let
+          localPython = self.python.withPackages (ps: with ps; [
+            setuptools
+            numpy
+            six
+          ]);
+        in
+        {
+          DOXYGEN = "${pkgs.doxygen}/bin/doxygen";
+
+          nativeBuildInputs = with pkgs; [
+            which
+            doxygen
+            gtk3
+            pkg-config
+            autoPatchelfHook
+          ] ++ (old.nativeBuildInputs or [ ]);
+
+          buildInputs = with pkgs; [
+            gtk3
+            webkitgtk
+            ncurses
+            SDL2
+            xorg.libXinerama
+            xorg.libSM
+            xorg.libXxf86vm
+            xorg.libXtst
+            xorg.xorgproto
+            gst_all_1.gstreamer
+            gst_all_1.gst-plugins-base
+            libGLU
+            libGL
+            libglvnd
+            mesa
+          ] ++ old.buildInputs;
+
+          buildPhase = ''
+            ${localPython.interpreter} build.py -v build_wx
+            ${localPython.interpreter} build.py -v dox etg --nodoc sip
+            ${localPython.interpreter} build.py -v build_py
+          '';
+
+          installPhase = ''
+            ${localPython.interpreter} setup.py install --skip-build --prefix=$out
+          '';
+        });
+
+      marisa-trie = super.marisa-trie.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
+        }
+      );
+
+      ua-parser = super.ua-parser.overridePythonAttrs (
+        old: {
+          propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ self.pyyaml ];
+        }
+      );
+
+      pygraphviz = super.pygraphviz.overridePythonAttrs (old: {
+        nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkg-config ];
+        buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.graphviz ];
+      });
+
+      pysqlite = super.pysqlite.overridePythonAttrs (old: {
+        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ pkgs.sqlite ];
+        patchPhase = ''
+          substituteInPlace "setup.cfg"                                     \
+                  --replace "/usr/local/include" "${pkgs.sqlite.dev}/include"   \
+                  --replace "/usr/local/lib" "${pkgs.sqlite.out}/lib"
+          ${lib.optionalString (!stdenv.isDarwin) ''export LDSHARED="$CC -pthread -shared"''}
+        '';
+      });
+
+      selinux = super.selinux.overridePythonAttrs (old: {
+        buildInputs = (old.buildInputs or [ ]) ++ [ self.setuptools-scm-git-archive ];
+      });
+
+      uwsgi = super.uwsgi.overridePythonAttrs
+        (old:
+          {
+            buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.ncurses ];
+          } // lib.optionalAttrs (lib.versionAtLeast old.version "2.0.19" && lib.versionOlder old.version "2.0.20") {
+            sourceRoot = ".";
+          });
+
+      wcwidth = super.wcwidth.overridePythonAttrs (old: {
+        propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++
+          lib.optional self.isPy27 (self.backports-functools-lru-cache or self.backports_functools_lru_cache)
+        ;
+      });
+
+      wtforms = super.wtforms.overridePythonAttrs (old: {
+        buildInputs = (old.buildInputs or [ ]) ++ [ self.Babel ];
+      });
+
+    }
+  )
+
+]
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix b/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix
index 56f894c2e7529..b16bd5f3cebc9 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, poetryLib, python, isLinux ? stdenv.isLinux }:
 let
-  inherit (lib.strings) hasSuffix hasInfix splitString removeSuffix;
-  inherit (poetryLib) targetMachine;
+  inherit (lib.strings) escapeRegex hasPrefix hasSuffix hasInfix splitString removePrefix removeSuffix;
+  targetMachine = poetryLib.getTargetMachine stdenv;
 
   # The 'cpxy" as determined by `python.version`
   #
@@ -52,10 +52,10 @@ let
   # x     = "cpXX" | "py2" | "py3" | "py2.py3"
   isPyVersionCompatible = pyver: x:
     let
-      normalize = y: ''cp${lib.strings.removePrefix "cp" (lib.strings.removePrefix "py" y)}'';
-      isCompat = p: x: lib.strings.hasPrefix (normalize x) p;
+      normalize = y: ''cp${removePrefix "cp" (removePrefix "py" y)}'';
+      isCompat = p: x: hasPrefix (normalize x) p;
     in
-    lib.lists.any (isCompat pyver) (lib.strings.splitString "." x);
+    lib.lists.any (isCompat pyver) (splitString "." x);
 
   #
   # Selects the best matching wheel file from a list of files
@@ -63,7 +63,7 @@ let
   selectWheel = files:
     let
       filesWithoutSources = (builtins.filter (x: hasSuffix ".whl" x.file) files);
-      isPyAbiCompatible = pyabi: x: x == "none" || lib.hasPrefix pyabi x || lib.hasPrefix x pyabi || (
+      isPyAbiCompatible = pyabi: x: x == "none" || hasPrefix pyabi x || hasPrefix x pyabi || (
         # The CPython stable ABI is abi3 as in the shared library suffix.
         python.passthru.implementation == "cpython" &&
           builtins.elemAt (lib.splitString "." python.version) 0 == "3" &&
@@ -75,32 +75,30 @@ let
         then
           if targetMachine != null
           then
-            (
-              x: x.platform == "any" || lib.lists.any (e: hasInfix e x.platform) [
-                "manylinux1_${targetMachine}"
-                "manylinux2010_${targetMachine}"
-                "manylinux2014_${targetMachine}"
-              ]
+          # See PEP 600 for details.
+            (p:
+              builtins.match "any|manylinux(1|2010|2014)_${escapeRegex targetMachine}|manylinux_[0-9]+_[0-9]+_${escapeRegex targetMachine}" p != null
             )
           else
-            (x: x.platform == "any")
+            (p: p == "any")
         else
           if stdenv.isDarwin
           then
             if stdenv.targetPlatform.isAarch64
-            then (x: x.platform == "any" || (hasInfix "macosx" x.platform && lib.lists.any (e: hasSuffix e x.platform) [ "arm64" "aarch64" ]))
-            else (x: x.platform == "any" || (hasInfix "macosx" x.platform && hasSuffix "x86_64" x.platform))
-          else (x: x.platform == "any");
+            then (p: p == "any" || (hasInfix "macosx" p && lib.lists.any (e: hasSuffix e p) [ "arm64" "aarch64" ]))
+            else (p: p == "any" || (hasInfix "macosx" p && hasSuffix "x86_64" p))
+          else (p: p == "any");
+      withPlatforms = x: lib.lists.any withPlatform (splitString "." x.platform);
       filterWheel = x:
         let
           f = toWheelAttrs x.file;
         in
-        (withPython pythonTag abiTag f) && (withPlatform f);
+        (withPython pythonTag abiTag f) && (withPlatforms f);
       filtered = builtins.filter filterWheel filesWithoutSources;
       choose = files:
         let
           osxMatches = [ "12_0" "11_0" "10_12" "10_11" "10_10" "10_9" "10_8" "10_7" "any" ];
-          linuxMatches = [ "manylinux1_" "manylinux2010_" "manylinux2014_" "any" ];
+          linuxMatches = [ "manylinux1_" "manylinux2010_" "manylinux2014_" "manylinux_" "any" ];
           chooseLinux = x: lib.take 1 (findBestMatches linuxMatches x);
           chooseOSX = x: lib.take 1 (findBestMatches osxMatches x);
         in
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix b/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix
index 5098c5c3a90cb..c9cef28fe85ef 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/pep508.nix
@@ -1,6 +1,8 @@
 { lib, stdenv, poetryLib }: python:
 let
-  inherit (poetryLib) ireplace targetMachine;
+  inherit (poetryLib) ireplace;
+
+  targetMachine = poetryLib.getTargetMachine stdenv;
 
   # Like builtins.substring but with stop being offset instead of length
   substr = start: stop: s: builtins.substring start (stop - start) s;
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/default.nix
index 8e52d7387c406..868599bde6897 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/default.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/default.nix
@@ -14,9 +14,6 @@ poetry2nix.mkPoetryApplication {
 
   inherit projectDir pyproject poetrylock;
 
-  # Don't include poetry in inputs
-  __isBootstrap = true;
-
   src = fetchFromGitHub (lib.importJSON ./src.json);
 
   # "Vendor" dependencies (for build-system support)
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock
index 2da1370add736..5f179e2415d74 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/poetry.lock
@@ -8,32 +8,17 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 
 [[package]]
 name = "attrs"
-version = "21.2.0"
+version = "21.4.0"
 description = "Classes Without Boilerplate"
 category = "dev"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
 
 [package.extras]
-dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit"]
+dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit", "cloudpickle"]
 docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"]
-tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface"]
-tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins"]
-
-[[package]]
-name = "backports.entry-points-selectable"
-version = "1.1.1"
-description = "Compatibility shim providing selectable entry points for older implementations"
-category = "main"
-optional = false
-python-versions = ">=2.7"
-
-[package.dependencies]
-importlib-metadata = {version = "*", markers = "python_version < \"3.8\""}
-
-[package.extras]
-docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"]
-testing = ["pytest", "pytest-flake8", "pytest-cov", "pytest-black (>=0.3.7)", "pytest-mypy", "pytest-checkdocs (>=2.4)", "pytest-enabler (>=1.0.1)"]
+tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "cloudpickle"]
+tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "cloudpickle"]
 
 [[package]]
 name = "backports.functools-lru-cache"
@@ -245,7 +230,7 @@ test = ["pytest (>=3.6.0,!=3.9.0,!=3.9.1,!=3.9.2)", "pretend", "iso8601", "pytz"
 
 [[package]]
 name = "cryptography"
-version = "36.0.1"
+version = "36.0.2"
 description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
 category = "main"
 optional = false
@@ -364,7 +349,7 @@ six = "*"
 
 [[package]]
 name = "identify"
-version = "2.4.0"
+version = "2.4.4"
 description = "File identification library for Python"
 category = "dev"
 optional = false
@@ -418,6 +403,14 @@ zipp = {version = ">=0.4", markers = "python_version < \"3.8\""}
 docs = ["sphinx", "rst.linker", "jaraco.packaging"]
 
 [[package]]
+name = "iniconfig"
+version = "1.1.1"
+description = "iniconfig: brain-dead simple config-ini parsing"
+category = "dev"
+optional = false
+python-versions = "*"
+
+[[package]]
 name = "ipaddress"
 version = "1.0.23"
 description = "IPv4/IPv6 manipulation library"
@@ -484,7 +477,7 @@ testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake
 
 [[package]]
 name = "keyring"
-version = "21.8.0"
+version = "22.3.0"
 description = "Store and access your passwords safely."
 category = "main"
 optional = false
@@ -498,7 +491,7 @@ SecretStorage = {version = ">=3.2", markers = "sys_platform == \"linux\""}
 
 [package.extras]
 docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"]
-testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "jaraco.test (>=3.2.0)", "pytest-black (>=0.3.7)", "pytest-mypy"]
+testing = ["pytest (>=4.6)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "pytest-enabler", "pytest-black (>=0.3.7)", "pytest-mypy"]
 
 [[package]]
 name = "lockfile"
@@ -589,7 +582,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 
 [[package]]
 name = "pathlib2"
-version = "2.3.6"
+version = "2.3.7.post1"
 description = "Object-oriented filesystem paths"
 category = "main"
 optional = false
@@ -598,6 +591,7 @@ python-versions = "*"
 [package.dependencies]
 scandir = {version = "*", markers = "python_version < \"3.5\""}
 six = "*"
+typing = {version = "*", markers = "python_version < \"3.5\""}
 
 [[package]]
 name = "pexpect"
@@ -645,7 +639,7 @@ dev = ["pre-commit", "tox"]
 
 [[package]]
 name = "poetry-core"
-version = "1.0.7"
+version = "1.0.8"
 description = "Poetry PEP 517 Build Backend"
 category = "main"
 optional = false
@@ -660,7 +654,7 @@ typing = {version = ">=3.7.4.1,<4.0.0.0", markers = "python_version >= \"2.7\" a
 
 [[package]]
 name = "pre-commit"
-version = "2.16.0"
+version = "2.17.0"
 description = "A framework for managing and maintaining multi-language pre-commit hooks."
 category = "dev"
 optional = false
@@ -769,6 +763,28 @@ checkqa-mypy = ["mypy (==v0.761)"]
 testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"]
 
 [[package]]
+name = "pytest"
+version = "6.2.5"
+description = "pytest: simple powerful testing with Python"
+category = "dev"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""}
+attrs = ">=19.2.0"
+colorama = {version = "*", markers = "sys_platform == \"win32\""}
+importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
+iniconfig = "*"
+packaging = "*"
+pluggy = ">=0.12,<2.0"
+py = ">=1.8.2"
+toml = "*"
+
+[package.extras]
+testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"]
+
+[[package]]
 name = "pytest-cov"
 version = "2.12.1"
 description = "Pytest plugin for measuring coverage."
@@ -973,7 +989,7 @@ typing = {version = ">=3.6,<4.0", markers = "python_version >= \"2.7\" and pytho
 
 [[package]]
 name = "tox"
-version = "3.24.4"
+version = "3.24.5"
 description = "tox is a generic virtualenv management and test command line tool"
 category = "dev"
 optional = false
@@ -992,7 +1008,7 @@ virtualenv = ">=16.0.0,<20.0.0 || >20.0.0,<20.0.1 || >20.0.1,<20.0.2 || >20.0.2,
 
 [package.extras]
 docs = ["pygments-github-lexers (>=0.0.5)", "sphinx (>=2.0.0)", "sphinxcontrib-autoprogram (>=0.1.5)", "towncrier (>=18.5.0)"]
-testing = ["flaky (>=3.4.0)", "freezegun (>=0.3.11)", "psutil (>=5.6.1)", "pytest (>=4.0.0)", "pytest-cov (>=2.5.1)", "pytest-mock (>=1.10.0)", "pytest-randomly (>=1.0.0)", "pytest-xdist (>=1.22.2)", "pathlib2 (>=2.3.3)"]
+testing = ["flaky (>=3.4.0)", "freezegun (>=0.3.11)", "pytest (>=4.0.0)", "pytest-cov (>=2.5.1)", "pytest-mock (>=1.10.0)", "pytest-randomly (>=1.0.0)", "psutil (>=5.6.1)", "pathlib2 (>=2.3.3)"]
 
 [[package]]
 name = "typing"
@@ -1025,14 +1041,13 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
 
 [[package]]
 name = "virtualenv"
-version = "20.10.0"
+version = "20.14.0"
 description = "Virtual Python Environment builder"
 category = "main"
 optional = false
 python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
 
 [package.dependencies]
-"backports.entry-points-selectable" = ">=1.0.4"
 distlib = ">=0.3.1,<1"
 filelock = ">=3.2,<4"
 importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
@@ -1082,7 +1097,7 @@ testing = ["pathlib2", "unittest2", "jaraco.itertools", "func-timeout"]
 [metadata]
 lock-version = "1.1"
 python-versions = "~2.7 || ^3.5"
-content-hash = "290e530f0cdd81360dd6cb93f3182ac8e8b18a46238198d25de11c26f6b0c356"
+content-hash = "3de9a28e5a2f53d26b75a9aa3eb333b360eb04470769675fb435183ab871798c"
 
 [metadata.files]
 atomicwrites = [
@@ -1090,12 +1105,8 @@ atomicwrites = [
     {file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"},
 ]
 attrs = [
-    {file = "attrs-21.2.0-py2.py3-none-any.whl", hash = "sha256:149e90d6d8ac20db7a955ad60cf0e6881a3f20d37096140088356da6c716b0b1"},
-    {file = "attrs-21.2.0.tar.gz", hash = "sha256:ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb"},
-]
-"backports.entry-points-selectable" = [
-    {file = "backports.entry_points_selectable-1.1.1-py2.py3-none-any.whl", hash = "sha256:7fceed9532a7aa2bd888654a7314f864a3c16a4e710b34a58cfc0f08114c663b"},
-    {file = "backports.entry_points_selectable-1.1.1.tar.gz", hash = "sha256:914b21a479fde881635f7af5adc7f6e38d6b274be32269070c53b698c60d5386"},
+    {file = "attrs-21.4.0-py2.py3-none-any.whl", hash = "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4"},
+    {file = "attrs-21.4.0.tar.gz", hash = "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd"},
 ]
 "backports.functools-lru-cache" = [
     {file = "backports.functools_lru_cache-1.6.4-py2.py3-none-any.whl", hash = "sha256:dbead04b9daa817909ec64e8d2855fb78feafe0b901d4568758e3a60559d8978"},
@@ -1290,26 +1301,26 @@ cryptography = [
     {file = "cryptography-3.3.2-cp36-abi3-win32.whl", hash = "sha256:3c284fc1e504e88e51c428db9c9274f2da9f73fdf5d7e13a36b8ecb039af6e6c"},
     {file = "cryptography-3.3.2-cp36-abi3-win_amd64.whl", hash = "sha256:7951a966613c4211b6612b0352f5bf29989955ee592c4a885d8c7d0f830d0433"},
     {file = "cryptography-3.3.2.tar.gz", hash = "sha256:5a60d3780149e13b7a6ff7ad6526b38846354d11a15e21068e57073e29e19bed"},
-    {file = "cryptography-36.0.1-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:73bc2d3f2444bcfeac67dd130ff2ea598ea5f20b40e36d19821b4df8c9c5037b"},
-    {file = "cryptography-36.0.1-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:2d87cdcb378d3cfed944dac30596da1968f88fb96d7fc34fdae30a99054b2e31"},
-    {file = "cryptography-36.0.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:74d6c7e80609c0f4c2434b97b80c7f8fdfaa072ca4baab7e239a15d6d70ed73a"},
-    {file = "cryptography-36.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:6c0c021f35b421ebf5976abf2daacc47e235f8b6082d3396a2fe3ccd537ab173"},
-    {file = "cryptography-36.0.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d59a9d55027a8b88fd9fd2826c4392bd487d74bf628bb9d39beecc62a644c12"},
-    {file = "cryptography-36.0.1-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a817b961b46894c5ca8a66b599c745b9a3d9f822725221f0e0fe49dc043a3a3"},
-    {file = "cryptography-36.0.1-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:94ae132f0e40fe48f310bba63f477f14a43116f05ddb69d6fa31e93f05848ae2"},
-    {file = "cryptography-36.0.1-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:7be0eec337359c155df191d6ae00a5e8bbb63933883f4f5dffc439dac5348c3f"},
-    {file = "cryptography-36.0.1-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:e0344c14c9cb89e76eb6a060e67980c9e35b3f36691e15e1b7a9e58a0a6c6dc3"},
-    {file = "cryptography-36.0.1-cp36-abi3-win32.whl", hash = "sha256:4caa4b893d8fad33cf1964d3e51842cd78ba87401ab1d2e44556826df849a8ca"},
-    {file = "cryptography-36.0.1-cp36-abi3-win_amd64.whl", hash = "sha256:391432971a66cfaf94b21c24ab465a4cc3e8bf4a939c1ca5c3e3a6e0abebdbcf"},
-    {file = "cryptography-36.0.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:bb5829d027ff82aa872d76158919045a7c1e91fbf241aec32cb07956e9ebd3c9"},
-    {file = "cryptography-36.0.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ebc15b1c22e55c4d5566e3ca4db8689470a0ca2babef8e3a9ee057a8b82ce4b1"},
-    {file = "cryptography-36.0.1-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:596f3cd67e1b950bc372c33f1a28a0692080625592ea6392987dba7f09f17a94"},
-    {file = "cryptography-36.0.1-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:30ee1eb3ebe1644d1c3f183d115a8c04e4e603ed6ce8e394ed39eea4a98469ac"},
-    {file = "cryptography-36.0.1-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ec63da4e7e4a5f924b90af42eddf20b698a70e58d86a72d943857c4c6045b3ee"},
-    {file = "cryptography-36.0.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca238ceb7ba0bdf6ce88c1b74a87bffcee5afbfa1e41e173b1ceb095b39add46"},
-    {file = "cryptography-36.0.1-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:ca28641954f767f9822c24e927ad894d45d5a1e501767599647259cbf030b903"},
-    {file = "cryptography-36.0.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:39bdf8e70eee6b1c7b289ec6e5d84d49a6bfa11f8b8646b5b3dfe41219153316"},
-    {file = "cryptography-36.0.1.tar.gz", hash = "sha256:53e5c1dc3d7a953de055d77bef2ff607ceef7a2aac0353b5d630ab67f7423638"},
+    {file = "cryptography-36.0.2-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:4e2dddd38a5ba733be6a025a1475a9f45e4e41139d1321f412c6b360b19070b6"},
+    {file = "cryptography-36.0.2-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:4881d09298cd0b669bb15b9cfe6166f16fc1277b4ed0d04a22f3d6430cb30f1d"},
+    {file = "cryptography-36.0.2-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea634401ca02367c1567f012317502ef3437522e2fc44a3ea1844de028fa4b84"},
+    {file = "cryptography-36.0.2-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:7be666cc4599b415f320839e36367b273db8501127b38316f3b9f22f17a0b815"},
+    {file = "cryptography-36.0.2-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8241cac0aae90b82d6b5c443b853723bcc66963970c67e56e71a2609dc4b5eaf"},
+    {file = "cryptography-36.0.2-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b2d54e787a884ffc6e187262823b6feb06c338084bbe80d45166a1cb1c6c5bf"},
+    {file = "cryptography-36.0.2-cp36-abi3-manylinux_2_24_x86_64.whl", hash = "sha256:c2c5250ff0d36fd58550252f54915776940e4e866f38f3a7866d92b32a654b86"},
+    {file = "cryptography-36.0.2-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:ec6597aa85ce03f3e507566b8bcdf9da2227ec86c4266bd5e6ab4d9e0cc8dab2"},
+    {file = "cryptography-36.0.2-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:ca9f686517ec2c4a4ce930207f75c00bf03d94e5063cbc00a1dc42531511b7eb"},
+    {file = "cryptography-36.0.2-cp36-abi3-win32.whl", hash = "sha256:f64b232348ee82f13aac22856515ce0195837f6968aeaa94a3d0353ea2ec06a6"},
+    {file = "cryptography-36.0.2-cp36-abi3-win_amd64.whl", hash = "sha256:53e0285b49fd0ab6e604f4c5d9c5ddd98de77018542e88366923f152dbeb3c29"},
+    {file = "cryptography-36.0.2-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:32db5cc49c73f39aac27574522cecd0a4bb7384e71198bc65a0d23f901e89bb7"},
+    {file = "cryptography-36.0.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b3d199647468d410994dbeb8cec5816fb74feb9368aedf300af709ef507e3e"},
+    {file = "cryptography-36.0.2-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:da73d095f8590ad437cd5e9faf6628a218aa7c387e1fdf67b888b47ba56a17f0"},
+    {file = "cryptography-36.0.2-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:0a3bf09bb0b7a2c93ce7b98cb107e9170a90c51a0162a20af1c61c765b90e60b"},
+    {file = "cryptography-36.0.2-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8897b7b7ec077c819187a123174b645eb680c13df68354ed99f9b40a50898f77"},
+    {file = "cryptography-36.0.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82740818f2f240a5da8dfb8943b360e4f24022b093207160c77cadade47d7c85"},
+    {file = "cryptography-36.0.2-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:1f64a62b3b75e4005df19d3b5235abd43fa6358d5516cfc43d87aeba8d08dd51"},
+    {file = "cryptography-36.0.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e167b6b710c7f7bc54e67ef593f8731e1f45aa35f8a8a7b72d6e42ec76afd4b3"},
+    {file = "cryptography-36.0.2.tar.gz", hash = "sha256:70f8f4f7bb2ac9f340655cbac89d68c527af5bb4387522a8413e841e3e6628c9"},
 ]
 distlib = [
     {file = "distlib-0.3.4-py2.py3-none-any.whl", hash = "sha256:6564fe0a8f51e734df6333d08b8b94d4ea8ee6b99b5ed50613f731fd4089f34b"},
@@ -1351,8 +1362,8 @@ httpretty = [
     {file = "httpretty-0.9.7.tar.gz", hash = "sha256:66216f26b9d2c52e81808f3e674a6fb65d4bf719721394a1a9be926177e55fbe"},
 ]
 identify = [
-    {file = "identify-2.4.0-py2.py3-none-any.whl", hash = "sha256:eba31ca80258de6bb51453084bff4a923187cd2193b9c13710f2516ab30732cc"},
-    {file = "identify-2.4.0.tar.gz", hash = "sha256:a33ae873287e81651c7800ca309dc1f84679b763c9c8b30680e16fbfa82f0107"},
+    {file = "identify-2.4.4-py2.py3-none-any.whl", hash = "sha256:aa68609c7454dbcaae60a01ff6b8df1de9b39fe6e50b1f6107ec81dcda624aa6"},
+    {file = "identify-2.4.4.tar.gz", hash = "sha256:6b4b5031f69c48bf93a646b90de9b381c6b5f560df4cbe0ed3cf7650ae741e4d"},
 ]
 idna = [
     {file = "idna-2.10-py2.py3-none-any.whl", hash = "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0"},
@@ -1366,6 +1377,10 @@ importlib-resources = [
     {file = "importlib_resources-3.2.1-py2.py3-none-any.whl", hash = "sha256:e2860cf0c4bc999947228d18be154fa3779c5dde0b882bd2d7b3f4d25e698bd6"},
     {file = "importlib_resources-3.2.1.tar.gz", hash = "sha256:a9fe213ab6452708ec1b3f4ec6f2881b8ab3645cb4e5efb7fea2bbf05a91db3b"},
 ]
+iniconfig = [
+    {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"},
+    {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"},
+]
 ipaddress = [
     {file = "ipaddress-1.0.23-py2.py3-none-any.whl", hash = "sha256:6e0f4a39e66cb5bb9a137b00276a2eff74f93b71dcbdad6f10ff7df9d3557fcc"},
     {file = "ipaddress-1.0.23.tar.gz", hash = "sha256:b7f8e0369580bb4a24d5ba1d7cc29660a4a6987763faf1d8a8046830e020e7e2"},
@@ -1381,8 +1396,8 @@ keyring = [
     {file = "keyring-18.0.1.tar.gz", hash = "sha256:67d6cc0132bd77922725fae9f18366bb314fd8f95ff4d323a4df41890a96a838"},
     {file = "keyring-20.0.1-py2.py3-none-any.whl", hash = "sha256:c674f032424b4bffc62abeac5523ec49cc84aed07a480c3233e0baf618efc15c"},
     {file = "keyring-20.0.1.tar.gz", hash = "sha256:963bfa7f090269d30bdc5e25589e5fd9dad2cf2a7c6f176a7f2386910e5d0d8d"},
-    {file = "keyring-21.8.0-py3-none-any.whl", hash = "sha256:4be9cbaaaf83e61d6399f733d113ede7d1c73bc75cb6aeb64eee0f6ac39b30ea"},
-    {file = "keyring-21.8.0.tar.gz", hash = "sha256:1746d3ac913d449a090caf11e9e4af00e26c3f7f7e81027872192b2398b98675"},
+    {file = "keyring-22.3.0-py3-none-any.whl", hash = "sha256:2bc8363ebdd63886126a012057a85c8cb6e143877afa02619ac7dbc9f38a207b"},
+    {file = "keyring-22.3.0.tar.gz", hash = "sha256:16927a444b2c73f983520a48dec79ddab49fe76429ea05b8d528d778c8339522"},
 ]
 lockfile = [
     {file = "lockfile-0.12.2-py2.py3-none-any.whl", hash = "sha256:6c3cb24f344923d30b2785d5ad75182c8ea7ac1b6171b08657258ec7429d50fa"},
@@ -1450,8 +1465,8 @@ pastel = [
     {file = "pastel-0.2.1.tar.gz", hash = "sha256:e6581ac04e973cac858828c6202c1e1e81fee1dc7de7683f3e1ffe0bfd8a573d"},
 ]
 pathlib2 = [
-    {file = "pathlib2-2.3.6-py2.py3-none-any.whl", hash = "sha256:3a130b266b3a36134dcc79c17b3c7ac9634f083825ca6ea9d8f557ee6195c9c8"},
-    {file = "pathlib2-2.3.6.tar.gz", hash = "sha256:7d8bcb5555003cdf4a8d2872c538faa3a0f5d20630cb360e518ca3b981795e5f"},
+    {file = "pathlib2-2.3.7.post1-py2.py3-none-any.whl", hash = "sha256:5266a0fd000452f1b3467d782f079a4343c63aaa119221fbdc4e39577489ca5b"},
+    {file = "pathlib2-2.3.7.post1.tar.gz", hash = "sha256:9fe0edad898b83c0c3e199c842b27ed216645d2e177757b2dd67384d4113c641"},
 ]
 pexpect = [
     {file = "pexpect-4.8.0-py2.py3-none-any.whl", hash = "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"},
@@ -1470,12 +1485,12 @@ pluggy = [
     {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"},
 ]
 poetry-core = [
-    {file = "poetry-core-1.0.7.tar.gz", hash = "sha256:98c11c755a16ef6c5673c22ca94a3802a7df4746a0853a70b6fae8b9f5cac206"},
-    {file = "poetry_core-1.0.7-py2.py3-none-any.whl", hash = "sha256:4f8a7f5390d772f42c4c4c3f188e6424b802cb4b57466c6633a1b9ac36f18a43"},
+    {file = "poetry-core-1.0.8.tar.gz", hash = "sha256:951fc7c1f8d710a94cb49019ee3742125039fc659675912ea614ac2aa405b118"},
+    {file = "poetry_core-1.0.8-py2.py3-none-any.whl", hash = "sha256:54b0fab6f7b313886e547a52f8bf52b8cf43e65b2633c65117f8755289061924"},
 ]
 pre-commit = [
-    {file = "pre_commit-2.16.0-py2.py3-none-any.whl", hash = "sha256:758d1dc9b62c2ed8881585c254976d66eae0889919ab9b859064fc2fe3c7743e"},
-    {file = "pre_commit-2.16.0.tar.gz", hash = "sha256:fe9897cac830aa7164dbd02a4e7b90cae49630451ce88464bca73db486ba9f65"},
+    {file = "pre_commit-2.17.0-py2.py3-none-any.whl", hash = "sha256:725fa7459782d7bec5ead072810e47351de01709be838c2ce1726b9591dad616"},
+    {file = "pre_commit-2.17.0.tar.gz", hash = "sha256:c1a8040ff15ad3d648c70cc3e55b93e4d2d5b687320955505587fd79bbaed06a"},
 ]
 ptyprocess = [
     {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"},
@@ -1502,6 +1517,8 @@ pytest = [
     {file = "pytest-4.6.11.tar.gz", hash = "sha256:50fa82392f2120cc3ec2ca0a75ee615be4c479e66669789771f1758332be4353"},
     {file = "pytest-5.4.3-py3-none-any.whl", hash = "sha256:5c0db86b698e8f170ba4582a492248919255fcd4c79b1ee64ace34301fb589a1"},
     {file = "pytest-5.4.3.tar.gz", hash = "sha256:7979331bfcba207414f5e1263b5a0f8f521d0f457318836a7355531ed1a4c7d8"},
+    {file = "pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134"},
+    {file = "pytest-6.2.5.tar.gz", hash = "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89"},
 ]
 pytest-cov = [
     {file = "pytest-cov-2.12.1.tar.gz", hash = "sha256:261ceeb8c227b726249b376b8526b600f38667ee314f910353fa318caa01f4d7"},
@@ -1610,8 +1627,8 @@ tomlkit = [
     {file = "tomlkit-0.7.2.tar.gz", hash = "sha256:d7a454f319a7e9bd2e249f239168729327e4dd2d27b17dc68be264ad1ce36754"},
 ]
 tox = [
-    {file = "tox-3.24.4-py2.py3-none-any.whl", hash = "sha256:5e274227a53dc9ef856767c21867377ba395992549f02ce55eb549f9fb9a8d10"},
-    {file = "tox-3.24.4.tar.gz", hash = "sha256:c30b57fa2477f1fb7c36aa1d83292d5c2336cd0018119e1b1c17340e2c2708ca"},
+    {file = "tox-3.24.5-py2.py3-none-any.whl", hash = "sha256:be3362472a33094bce26727f5f771ca0facf6dafa217f65875314e9a6600c95c"},
+    {file = "tox-3.24.5.tar.gz", hash = "sha256:67e0e32c90e278251fea45b696d0fef3879089ccbe979b0c556d35d5a70e2993"},
 ]
 typing = [
     {file = "typing-3.10.0.0-py2-none-any.whl", hash = "sha256:c7219ef20c5fbf413b4567092adfc46fa6203cb8454eda33c3fc1afe1398a308"},
@@ -1628,8 +1645,8 @@ urllib3 = [
     {file = "urllib3-1.25.11.tar.gz", hash = "sha256:8d7eaa5a82a1cac232164990f04874c594c9453ec55eef02eab885aa02fc17a2"},
 ]
 virtualenv = [
-    {file = "virtualenv-20.10.0-py2.py3-none-any.whl", hash = "sha256:4b02e52a624336eece99c96e3ab7111f469c24ba226a53ec474e8e787b365814"},
-    {file = "virtualenv-20.10.0.tar.gz", hash = "sha256:576d05b46eace16a9c348085f7d0dc8ef28713a2cabaa1cf0aea41e8f12c9218"},
+    {file = "virtualenv-20.14.0-py2.py3-none-any.whl", hash = "sha256:1e8588f35e8b42c6ec6841a13c5e88239de1e6e4e4cedfd3916b306dc826ec66"},
+    {file = "virtualenv-20.14.0.tar.gz", hash = "sha256:8e5b402037287126e81ccde9432b95a8be5b19d36584f64957060a3488c11ca8"},
 ]
 wcwidth = [
     {file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"},
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml
index 5cf34372b050c..4fff27d4e0eb8 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/pyproject.toml
@@ -1,6 +1,6 @@
 [tool.poetry]
 name = "poetry"
-version = "1.1.12"
+version = "1.1.13"
 description = "Python dependency management and packaging made easy."
 authors = [
     "Sébastien Eustace <sebastien@eustace.io>"
@@ -57,7 +57,7 @@ functools32 = { version = "^3.2.3", python = "~2.7" }
 keyring = [
     { version = "^18.0.1", python = "~2.7" },
     { version = "^20.0.1", python = "~3.5" },
-    { version = "^21.2.0", python = "^3.6" }
+    { version = ">=21.2.0", python = "^3.6" }
 ]
 # Use subprocess32 for Python 2.7
 subprocess32 = { version = "^3.5", python = "~2.7" }
@@ -66,7 +66,8 @@ importlib-metadata = {version = "^1.6.0", python = "<3.8"}
 [tool.poetry.dev-dependencies]
 pytest = [
     {version = "^4.1", python = "<3.5"},
-    {version = "^5.4.3", python = ">=3.5"}
+    {version = "^5.4.3", python = "~3.5"},
+    {version = "^6.2.5", python = ">=3.6"}
 ]
 pytest-cov = "^2.5"
 pytest-mock = "^1.9"
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json
index aeee3abb7d42f..7b35dc31494e8 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/src.json
@@ -1,7 +1,7 @@
 {
-    "owner": "python-poetry",
-    "repo": "poetry",
-    "rev": "020fb336e6da11d3a9909f30bd908437a69f13b3",
-    "sha256": "1fm4yj6wxr24v7b77gmf63j7xsgszhbhzw2i9fvlfi0p9l0q34pm",
-    "fetchSubmodules": true
+  "owner": "python-poetry",
+  "repo": "poetry",
+  "rev": "1.1.13",
+  "sha256": "0zm73wcxjfad3841wl1xpx20drhynrqlxsjh1d1gsh618b7ldpib",
+  "fetchSubmodules": true
 }
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/update b/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/update
deleted file mode 100755
index 95b7f5bb3318f..0000000000000
--- a/pkgs/development/tools/poetry2nix/poetry2nix/pkgs/poetry/update
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/env nix-shell
-#! nix-shell -i bash -p curl nix-prefetch-github jq
-
-rev=$(curl -s https://api.github.com/repos/python-poetry/poetry/releases/latest | jq -r '.name')
-nix-prefetch-github --rev "$rev" python-poetry poetry > src.json
-echo >> src.json
-
-src=$(nix-build --no-out-link --expr 'with import <nixpkgs> {}; fetchFromGitHub (lib.importJSON ./src.json)')
-cp $src/pyproject.toml $src/poetry.lock .
-nix-shell -p poetry --run 'poetry lock'
-nix-build --expr '(import <nixpkgs> { overlays = [ (import ../../overlay.nix) ]; }).poetry'
diff --git a/pkgs/development/tools/poetry2nix/update b/pkgs/development/tools/poetry2nix/update
index ac8c98a33d9cf..047f7a8fea65d 100755
--- a/pkgs/development/tools/poetry2nix/update
+++ b/pkgs/development/tools/poetry2nix/update
@@ -1,4 +1,5 @@
 #!/usr/bin/env bash
+set -euo pipefail
 pwd=$(pwd)
 workdir=$(mktemp -d)
 
@@ -15,8 +16,8 @@ mv poetry2nix-master/* .
 
 mkdir build
 cp *.* build/
-cp -r pkgs hooks bin build/
-rm build/shell.nix build/generate.py build/overlay.nix build/flake.* build/check-fmt.nix
+cp -r overrides pkgs hooks bin build/
+rm build/shell.nix build/generate.py build/overlay.nix build/flake.* build/check-fmt.nix build/pkgs/poetry/update*
 
 cat > build/README.md << EOF
 Dont change these files here, they are maintained at https://github.com/nix-community/poetry2nix
diff --git a/pkgs/development/tools/profiling/sysprof/capture.nix b/pkgs/development/tools/profiling/sysprof/capture.nix
index 2d33dedbdd25a..e6690fc0c68b6 100644
--- a/pkgs/development/tools/profiling/sysprof/capture.nix
+++ b/pkgs/development/tools/profiling/sysprof/capture.nix
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
   mesonFlags = [
     "-Dwith_sysprofd=none"
     "-Dlibsysprof=false"
+    "-Dlibunwind=false"
     "-Dhelp=false"
     "-Denable_tools=false"
     "-Denable_tests=false"
diff --git a/pkgs/development/tools/profiling/sysprof/default.nix b/pkgs/development/tools/profiling/sysprof/default.nix
index 319212da77050..e21e71907869b 100644
--- a/pkgs/development/tools/profiling/sysprof/default.nix
+++ b/pkgs/development/tools/profiling/sysprof/default.nix
@@ -8,8 +8,10 @@
 , json-glib
 , itstool
 , libdazzle
+, libunwind
 , libxml2
-, meson, ninja
+, meson
+, ninja
 , pango
 , pkg-config
 , polkit
@@ -21,13 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sysprof";
-  version = "3.42.1";
+  version = "3.44.0";
 
   outputs = [ "out" "lib" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "F5a4FATudf0eus9URkrXr/6/YvKFHu9STZ+OrAxKIAE=";
+    sha256 = "q12fW3GXOzCI1Yob/fHcI8OaAvX85OXpxz4DSxeLAFs=";
   };
 
   nativeBuildInputs = [
@@ -51,6 +53,7 @@ stdenv.mkDerivation rec {
     polkit
     systemd
     libdazzle
+    libunwind
   ];
 
   mesonFlags = [
diff --git a/pkgs/development/tools/profiling/systemtap/default.nix b/pkgs/development/tools/profiling/systemtap/default.nix
index ac00e34187823..cadf9b9eeb169 100644
--- a/pkgs/development/tools/profiling/systemtap/default.nix
+++ b/pkgs/development/tools/profiling/systemtap/default.nix
@@ -40,7 +40,6 @@ in runCommand "systemtap-${kernel.version}-${version}" {
   nativeBuildInputs = [ makeWrapper ];
   meta = {
     homepage = "https://sourceware.org/systemtap/";
-    repositories.git = url;
     description = "Provides a scripting language for instrumentation on a live kernel plus user-space";
     license = lib.licenses.gpl2;
     platforms = lib.platforms.linux;
diff --git a/pkgs/development/tools/pscale/default.nix b/pkgs/development/tools/pscale/default.nix
index 50517db6ee9b9..c375869603f66 100644
--- a/pkgs/development/tools/pscale/default.nix
+++ b/pkgs/development/tools/pscale/default.nix
@@ -2,16 +2,23 @@
 
 buildGoModule rec {
   pname = "pscale";
-  version = "0.89.0";
+  version = "0.90.0";
 
   src = fetchFromGitHub {
     owner = "planetscale";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-6iExcck9s5Z6c8QA+F+Fnk5g0WNmifaSQa2KaIS9m8M=";
+    sha256 = "sha256-uOKx367fFJQvoqakY5PmesOk2l9eYsnECf6AdO2NsuI=";
   };
 
-  vendorSha256 = "sha256-kNt7tMHubpcrfzAjf++GxV3kEj2g6fHFrP9cY8UPqB8=";
+  vendorSha256 = "sha256-IUntyI3EeYsf2tesvm0H+bNCtpnNfQV7WURLFvJXMac=";
+
+  ldflags = [
+    "-s" "-w"
+    "-X main.version=v${version}"
+    "-X main.commit=v${version}"
+    "-X main.date=unknown"
+  ];
 
   meta = with lib; {
     homepage = "https://www.planetscale.com/";
diff --git a/pkgs/development/tools/reftools/default.nix b/pkgs/development/tools/reftools/default.nix
index a31108f338120..0e8371e4a0155 100644
--- a/pkgs/development/tools/reftools/default.nix
+++ b/pkgs/development/tools/reftools/default.nix
@@ -12,7 +12,7 @@ buildGoModule rec {
 
   doCheck = false;
 
-  excludedPackages = "\\(cmd/fillswitch/test-fixtures\\)";
+  excludedPackages = "cmd/fillswitch/test-fixtures";
 
   src = fetchFromGitHub {
     inherit rev;
diff --git a/pkgs/development/tools/rocminfo/default.nix b/pkgs/development/tools/rocminfo/default.nix
index 60ca0a51d2659..d399a912b5ff4 100644
--- a/pkgs/development/tools/rocminfo/default.nix
+++ b/pkgs/development/tools/rocminfo/default.nix
@@ -17,7 +17,8 @@ stdenv.mkDerivation rec {
   };
 
   enableParallelBuilding = true;
-  buildInputs = [ cmake rocm-cmake rocm-runtime ];
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ rocm-cmake rocm-runtime ];
   cmakeFlags = [
     "-DROCM_DIR=${rocm-runtime}"
     "-DROCRTST_BLD_TYPE=Release"
diff --git a/pkgs/development/tools/rust/bootimage/default.nix b/pkgs/development/tools/rust/bootimage/default.nix
new file mode 100644
index 0000000000000..9da7aeaa8cc34
--- /dev/null
+++ b/pkgs/development/tools/rust/bootimage/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "bootimage";
+  version = "0.10.3";
+
+  src = fetchFromGitHub {
+    owner = "rust-osdev";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "12p18mk3l473is3ydv3zmn6s7ck8wgjwavllimcpja3yjilxm3zg";
+  };
+
+  cargoSha256 = "03jximwqgjq7359c5mxbyfja2d04y57h34f87aby8jy0lz99jy2x";
+
+  meta = with lib; {
+    description = "Creates a bootable disk image from a Rust OS kernel.";
+    homepage = "https://github.com/rust-osdev/bootimage";
+    license = with licenses; [ asl20 mit ];
+    maintainers = with maintainers; [ dbeckwith ];
+  };
+}
diff --git a/pkgs/development/tools/rust/cargo-flash/default.nix b/pkgs/development/tools/rust/cargo-flash/default.nix
index 0f90f48004395..49e9bbaceb5bb 100644
--- a/pkgs/development/tools/rust/cargo-flash/default.nix
+++ b/pkgs/development/tools/rust/cargo-flash/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-flash";
-  version = "0.12.0";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
     owner = "probe-rs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0s49q8x0iscy9rgn9zgymyg39cqm251a99m341znjn55lap3pdl8";
+    sha256 = "sha256-bd0TY8bdpLHLCdDQgJeJvqjAcSF67+LGSNx8yafYbys=";
   };
 
-  cargoSha256 = "0rb4s5bwjs7hri636r2viva96a6z9qjv9if6i220j9yglrvi7c8i";
+  cargoSha256 = "sha256-bx2N8zP7BmqU6oM/7Nf2i9S1uNWItReQMD59vtG1RKE=";
 
   nativeBuildInputs = [ pkg-config rustfmt ];
   buildInputs = [ libusb1 ] ++ lib.optionals stdenv.isDarwin [ AppKit ];
diff --git a/pkgs/development/tools/rust/cargo-nextest/default.nix b/pkgs/development/tools/rust/cargo-nextest/default.nix
index 9dbc380d93073..ed0c8c870096d 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.11";
+  version = "0.9.12";
 
   src = fetchFromGitHub {
     owner = "nextest-rs";
     repo = "nextest";
     rev = "cargo-nextest-${version}";
-    sha256 = "sha256-aXGXn6kxw37v0fn2SPQnGCdTg1CFJK03OIAgFjvaxpc=";
+    sha256 = "sha256-E3/AgzLvjlMfbmvAOYx4V1/1wSLKlFo61tGv79ow7XY=";
   };
 
-  cargoSha256 = "sha256-zuPWF2sxVmlhSMy70yhRZEV6dgL2W8AGkYRbnbJdMpQ=";
+  cargoSha256 = "sha256-zrYmZG3VAneanHaNoG3txv7LbKCYvqIf60g1W7CmPG8=";
 
   cargoTestFlags = [ # TODO: investigate some more why these tests fail in nix
     "--"
diff --git a/pkgs/development/tools/rust/cargo-spellcheck/default.nix b/pkgs/development/tools/rust/cargo-spellcheck/default.nix
index 3b579d3ef9f04..2eda19afd8381 100644
--- a/pkgs/development/tools/rust/cargo-spellcheck/default.nix
+++ b/pkgs/development/tools/rust/cargo-spellcheck/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-spellcheck";
-  version = "0.10.1";
+  version = "0.11.2";
 
   src = fetchFromGitHub {
     owner = "drahnr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-AKk25/j9Ao7ss8+2x+A5ohZ4P1wQ8uW5DVIBCHqFSPU=";
+    sha256 = "sha256-ZiRa4XYnY4fwbMenRLnvFQms66tIyGbm5saK8gN39ag=";
   };
 
-  cargoSha256 = "sha256-6zTZXSW8poePNZy48F6u5tF1LEDQt4f9qv7W/pdIBbI=";
+  cargoSha256 = "sha256-gWQbhFPdBDhPZY1LHxFlWO9xG4AXfyhZp0UnZ3Y86/Y=";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/development/tools/rust/cbindgen/default.nix b/pkgs/development/tools/rust/cbindgen/default.nix
index 69963ea7d1faf..6e8f67bd0a544 100644
--- a/pkgs/development/tools/rust/cbindgen/default.nix
+++ b/pkgs/development/tools/rust/cbindgen/default.nix
@@ -33,6 +33,6 @@ rustPlatform.buildRustPackage rec {
     description = "A project for generating C bindings from Rust code";
     homepage = "https://github.com/eqrion/cbindgen";
     license = licenses.mpl20;
-    maintainers = with maintainers; [ jtojnar ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/tools/rust/ograc/default.nix b/pkgs/development/tools/rust/ograc/default.nix
new file mode 100644
index 0000000000000..4361a225498dd
--- /dev/null
+++ b/pkgs/development/tools/rust/ograc/default.nix
@@ -0,0 +1,21 @@
+{ fetchFromGitLab, lib, rustPlatform, }:
+
+rustPlatform.buildRustPackage {
+  pname = "ograc";
+  version = "0.1.6";
+  src = fetchFromGitLab {
+    owner = "lirnril";
+    repo = "ograc";
+    rev = "d09b3102ff7a364bf2593589327a16a473bd4f25";
+    sha256 = "sha256-vdHPFY6zZ/OBNlJO3N/6YXcvlddw2wYHgFWI0yfSgVo=";
+  };
+  cargoSha256 = "sha256-HAeEd7HY+hbTUOkIt6aTfvPYLRPtdAcUGvkuBUMjohA=";
+
+  meta = with lib; {
+    description = "like cargo, but backwards";
+    homepage = "https://crates.io/crates/ograc";
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ sciencentistguy ];
+  };
+}
+
diff --git a/pkgs/development/tools/sentry-cli/default.nix b/pkgs/development/tools/sentry-cli/default.nix
index 2fb0f1ebbebac..0ba8e3b3d31a6 100644
--- a/pkgs/development/tools/sentry-cli/default.nix
+++ b/pkgs/development/tools/sentry-cli/default.nix
@@ -9,13 +9,13 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "sentry-cli";
-  version = "1.74.2";
+  version = "1.74.3";
 
   src = fetchFromGitHub {
     owner = "getsentry";
     repo = "sentry-cli";
     rev = version;
-    sha256 = "sha256-1A/c5HiXtT6xUTxVInv9DbbCsqpu8iCJ7I0A9wFeaQ0=";
+    sha256 = "sha256-savbS/1j6PJqmkk6c+XMOUEkrLZNU2p0YbN8rHfz2po=";
   };
   doCheck = false;
 
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
   nativeBuildInputs = [ pkg-config ];
 
-  cargoSha256 = "sha256-z++t+Zt40az11z/xhobvvbbSNUBpnMzqlRzoOuYgY2U=";
+  cargoSha256 = "sha256-7B8cmrDYufhlIMv2r6TSD+C8NLE2Juewgy4XYYr+QKs=";
 
   meta = with lib; {
     homepage = "https://docs.sentry.io/cli/";
diff --git a/pkgs/development/tools/skaffold/default.nix b/pkgs/development/tools/skaffold/default.nix
index 4f286cb22d779..0a7a1823baafb 100644
--- a/pkgs/development/tools/skaffold/default.nix
+++ b/pkgs/development/tools/skaffold/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "skaffold";
-  version = "1.37.0";
+  version = "1.37.1";
 
   src = fetchFromGitHub {
     owner = "GoogleContainerTools";
     repo = "skaffold";
     rev = "v${version}";
-    sha256 = "sha256-mS+q+WOdEMMHjoqoIlDOqkoaRRLlou7FbMjC436k96A=";
+    sha256 = "sha256-hcP0BGzPQoYGvK+5Ro9Ts5882JhQYRT63mdTJbXhnzg=";
   };
 
   vendorSha256 = "sha256-LiNnTAI7iJkWL657eBw5OsCdvgWE2ZFZ3e+8vJtMhoE=";
diff --git a/pkgs/development/tools/skopeo/default.nix b/pkgs/development/tools/skopeo/default.nix
index 213a8da8ce027..c25a27e6d957b 100644
--- a/pkgs/development/tools/skopeo/default.nix
+++ b/pkgs/development/tools/skopeo/default.nix
@@ -10,17 +10,18 @@
 , installShellFiles
 , makeWrapper
 , fuse-overlayfs
+, dockerTools
 }:
 
 buildGoModule rec {
   pname = "skopeo";
-  version = "1.6.1";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "containers";
     repo = "skopeo";
-    sha256 = "sha256-L3dHkF7yKnwXpXxCEswwA0TxVfjTzc89l0rpT7EYpIU=";
+    sha256 = "sha256-sbe16IcHkhsiBznsMKtG/xYJYJfJS6aZ34++QhkGTTc=";
   };
 
   outputs = [ "out" "man" ];
@@ -53,6 +54,10 @@ buildGoModule rec {
     runHook postInstall
   '';
 
+  passthru.tests = {
+    inherit (dockerTools.examples) testNixFromDockerHub;
+  };
+
   meta = with lib; {
     description = "A command line utility for various operations on container images and image repositories";
     homepage = "https://github.com/containers/skopeo";
diff --git a/pkgs/development/tools/sq/default.nix b/pkgs/development/tools/sq/default.nix
new file mode 100644
index 0000000000000..4141fd59733ca
--- /dev/null
+++ b/pkgs/development/tools/sq/default.nix
@@ -0,0 +1,42 @@
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testVersion, sq }:
+buildGoModule rec {
+  pname = "sq";
+  version = "0.15.4";
+
+  src = fetchFromGitHub {
+    owner = "neilotoole";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-4CINLOHUVXQ+4e5I1fMqog6LubMm8RnbFmeuBOwALaw=";
+  };
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  vendorSha256 = "sha256-lNpWXKtnzwySzinNPxAKuaLqweWuS6zz8s2W4xXWlqM=";
+
+  # Some tests violates sandbox constraints.
+  doCheck = false;
+
+  ldflags = [
+    "-s" "-w" "-X github.com/neilotoole/sq/cli/buildinfo.Version=${version}"
+  ];
+
+  postInstall = ''
+    installShellCompletion --cmd sq \
+      --bash <($out/bin/sq completion bash) \
+      --fish <($out/bin/sq completion fish) \
+      --zsh <($out/bin/sq completion zsh)
+  '';
+
+  passthru.tests = {
+    version = testVersion { package = sq; };
+  };
+
+  meta = with lib; {
+    description = "Swiss army knife for data";
+    homepage = "https://sq.io/";
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ raitobezarius ];
+  };
+}
diff --git a/pkgs/development/tools/sslmate-agent/default.nix b/pkgs/development/tools/sslmate-agent/default.nix
new file mode 100644
index 0000000000000..ecbaeb816f007
--- /dev/null
+++ b/pkgs/development/tools/sslmate-agent/default.nix
@@ -0,0 +1,40 @@
+{ lib, stdenv, fetchurl, dpkg, autoPatchelfHook }:
+
+stdenv.mkDerivation rec {
+  pname = "sslmate-agent";
+  version = "1.99.11";
+
+  src = fetchurl {
+    url = "https://packages.sslmate.com/debian/pool/sslmate2/s/sslmate-client/${pname}_${version}-1_amd64.deb";
+    sha256 = "sha256-LBiZI0pGAFWnvTigEhtkhHq4FGdbYiMzjLheMuP0YTU=";
+  };
+
+  nativeBuildInputs = [
+    dpkg
+    autoPatchelfHook
+  ];
+
+  unpackCmd = ''
+    dpkg-deb -x ${src} ./sslmate-agent-${pname}
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    # Not moving etc because it only contains init.rd setttings
+    mv usr $out
+    mv lib $out
+
+    substituteInPlace $out/lib/systemd/system/sslmate-agent.service \
+      --replace "/usr/s" "$out/"
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Daemon for managing SSL/TLS certificates on a server";
+    homepage = "https://sslmate.com/";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ wolfangaukang ];
+  };
+}
diff --git a/pkgs/development/tools/stylua/default.nix b/pkgs/development/tools/stylua/default.nix
index e21f058b8a066..729c0c191885d 100644
--- a/pkgs/development/tools/stylua/default.nix
+++ b/pkgs/development/tools/stylua/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "stylua";
-  version = "0.12.5";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "johnnymorganz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-4tQQTTAdIAhlkBJevwwwGXOKd6bJJOyG4nlbCv7909Y=";
+    sha256 = "sha256-Ecv6am4JT4cJKAApieOWQZG3XZkeCpmLrs6K7+4c8xA=";
   };
 
-  cargoSha256 = "sha256-DGe2lB8xZgY9ikTsIHDOdHzTyHfDaSlmy8FU/S9FDCI=";
+  cargoSha256 = "sha256-r09fTZTmOZQCI3qIWcnQnhUXYLVK8pF5y0y/dQl88CI=";
 
   buildFeatures = lib.optional lua52Support "lua52"
     ++ lib.optional luauSupport "luau";
diff --git a/pkgs/development/tools/symfony-cli/default.nix b/pkgs/development/tools/symfony-cli/default.nix
index ebb07ec2b49c9..be288d1e1c749 100644
--- a/pkgs/development/tools/symfony-cli/default.nix
+++ b/pkgs/development/tools/symfony-cli/default.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "symfony-cli";
-  version = "5.4.2";
-  vendorSha256 = "sha256-MlsgII1QybyW+B7DGbSyn7VQ36n29yOC0pZnaemEHO8=";
+  version = "5.4.5";
+  vendorSha256 = "sha256-ss3AtHigm1U3KhVhulIAquNf0WG7y4BSQcxs4pwnHVY=";
 
   src = fetchFromGitHub {
     owner = "symfony-cli";
     repo = "symfony-cli";
     rev = "v${version}";
-    sha256 = "sha256-Ci523YoocpCexbXMg3PjQ/x8z/STWt+nro64l+ckKzM=";
+    sha256 = "sha256-xYNq5hnkk6OIsnDHhN/vh1LNuP7isTNgtTY2WUwC8x4=";
   };
 
   # Tests requires network access
diff --git a/pkgs/development/tools/wails/default.nix b/pkgs/development/tools/wails/default.nix
index 2d0576592ec6d..875ed794647df 100644
--- a/pkgs/development/tools/wails/default.nix
+++ b/pkgs/development/tools/wails/default.nix
@@ -15,16 +15,16 @@
 
 buildGoModule rec {
   pname = "wails";
-  version = "2.0.0-beta.33";
+  version = "2.0.0-beta.34";
 
   src = fetchFromGitHub {
     owner = "wailsapp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-efxOL/FllToum0P4JyAJt0fbrznTFYh7czTWpZu3uk0=";
+    sha256 = "sha256-dsDruZSmr8qSNpX8L27tLpNxvdSkc2mfNQLRxN9AnCg=";
   } + "/v2";
 
-  vendorSha256 = "sha256-qPMVsvud2L7hpXUOfYYMiO32JXff8ZZC34EsxFoSJ0g=";
+  vendorSha256 = "sha256-OaSPpCb2VxMGlkUIg3fyEJhjz256amEfXBX+5WMY3a0=";
 
   proxyVendor = true;
 
diff --git a/pkgs/development/tools/wp-cli/default.nix b/pkgs/development/tools/wp-cli/default.nix
index 0d828eb8b9ed5..a4ac97c9264f5 100644
--- a/pkgs/development/tools/wp-cli/default.nix
+++ b/pkgs/development/tools/wp-cli/default.nix
@@ -54,5 +54,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ peterhoeg ];
     platforms = platforms.all;
+    mainProgram = "wp";
   };
 }
diff --git a/pkgs/development/tools/wrangler/default.nix b/pkgs/development/tools/wrangler/default.nix
index 5752fe1477cf3..c34c3b0a0376c 100644
--- a/pkgs/development/tools/wrangler/default.nix
+++ b/pkgs/development/tools/wrangler/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wrangler";
-  version = "1.19.9";
+  version = "1.19.11";
 
   src = fetchFromGitHub {
     owner = "cloudflare";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-cuntghTMGrAcrPunyi9ZWlxDcryYv7R6S3V8WJjEUtQ=";
+    sha256 = "sha256-8Vka8HTU0YkTS1DeQuqVLsnRGnig7Aiql5e/6NBk7qs=";
   };
 
-  cargoSha256 = "sha256-gao8vCfzb81GUte6WAt2x/pxecg443bpQxvUSQCXL40=";
+  cargoSha256 = "sha256-bw6Z4SW+NOFFpUJ5xGwdccv8KQnSri/TFxAJp+9fsWk=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
index 81d4a36a869c3..67c9b91594b97 100644
--- a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
+++ b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
@@ -1,7 +1,7 @@
 { pkgs ? import <nixpkgs> {}
 , nodejs ? pkgs.nodejs
 , yarn ? pkgs.yarn
-, allowAliases ? pkgs.config.allowAliases or true
+, allowAliases ? pkgs.config.allowAliases
 }:
 
 let
@@ -74,6 +74,7 @@ in rec {
     preBuild ? "",
     postBuild ? "",
     workspaceDependencies ? [], # List of yarn packages
+    packageResolutions ? {},
   }:
     let
       extraNativeBuildInputs =
@@ -98,7 +99,7 @@ in rec {
 
       workspaceJSON = pkgs.writeText
         "${name}-workspace-package.json"
-        (builtins.toJSON { private = true; workspaces = ["deps/**"]; }); # scoped packages need second splat
+        (builtins.toJSON { private = true; workspaces = ["deps/**"]; resolutions = packageResolutions; }); # scoped packages need second splat
 
       workspaceDependencyLinks = lib.concatMapStringsSep "\n"
         (dep: ''
@@ -176,6 +177,8 @@ in rec {
 
     packageGlobs = if lib.isList package.workspaces then package.workspaces else package.workspaces.packages;
 
+    packageResolutions = package.resolutions or {};
+
     globElemToRegex = lib.replaceStrings ["*"] [".*"];
 
     # PathGlob -> [PathGlobElem]
@@ -223,7 +226,7 @@ in rec {
         inherit name;
         value = mkYarnPackage (
           builtins.removeAttrs attrs ["packageOverrides"]
-          // { inherit src packageJSON yarnLock workspaceDependencies; }
+          // { inherit src packageJSON yarnLock packageResolutions workspaceDependencies; }
           // lib.attrByPath [name] {} packageOverrides
         );
       })
@@ -245,6 +248,7 @@ in rec {
     extraBuildInputs ? [],
     publishBinsFor ? null,
     workspaceDependencies ? [], # List of yarnPackages
+    packageResolutions ? {},
     ...
   }@attrs:
     let
@@ -264,7 +268,7 @@ in rec {
         preBuild = yarnPreBuild;
         postBuild = yarnPostBuild;
         workspaceDependencies = workspaceDependenciesTransitive;
-        inherit packageJSON pname version yarnLock offlineCache yarnFlags pkgConfig;
+        inherit packageJSON pname version yarnLock offlineCache yarnFlags pkgConfig packageResolutions;
       };
 
       publishBinsFor_ = unlessNull publishBinsFor [pname];
@@ -298,7 +302,7 @@ in rec {
         '')
         workspaceDependenciesTransitive;
 
-    in stdenv.mkDerivation (builtins.removeAttrs attrs ["yarnNix" "pkgConfig" "workspaceDependencies"] // {
+    in stdenv.mkDerivation (builtins.removeAttrs attrs ["yarnNix" "pkgConfig" "workspaceDependencies" "packageResolutions"] // {
       inherit src pname;
 
       name = baseName;
diff --git a/pkgs/development/tools/yq-go/default.nix b/pkgs/development/tools/yq-go/default.nix
index 4a37a4ac91fdd..9f31ce6f94349 100644
--- a/pkgs/development/tools/yq-go/default.nix
+++ b/pkgs/development/tools/yq-go/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "yq-go";
-  version = "4.23.1";
+  version = "4.24.2";
 
   src = fetchFromGitHub {
     owner = "mikefarah";
     repo = "yq";
     rev = "v${version}";
-    sha256 = "sha256-vYitX3Gvffo/MbSYAJv5HV74IcYZK7hIEd1xRQf/COU=";
+    sha256 = "sha256-KuaIGIDXdL0d+Wxy2O78XTSBo+2oIrcizfd2jyXghXc=";
   };
 
   vendorSha256 = "sha256-R40zU0jOc/eIFVDsWG3+4o51iro7Sd7jwtyH/fpWVZs=";
diff --git a/pkgs/development/web/cypress/default.nix b/pkgs/development/web/cypress/default.nix
index 9ccbbdad336d2..3d58b865126aa 100644
--- a/pkgs/development/web/cypress/default.nix
+++ b/pkgs/development/web/cypress/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cypress";
-  version = "9.5.1";
+  version = "9.5.3";
 
   src = fetchzip {
     url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip";
-    sha256 = "fG93H3ADNOu9/Dz25/7b1iNVns/WselaxDG+WmLCQkI=";
+    sha256 = "qK1TvAGiTVmEQ4MpqICDSP9swnpAcE6iGkGJOrPQ1bI=";
   };
 
   # don't remove runtime deps
diff --git a/pkgs/development/web/flyctl/default.nix b/pkgs/development/web/flyctl/default.nix
index 894c536fa09a7..f70faf37fac96 100644
--- a/pkgs/development/web/flyctl/default.nix
+++ b/pkgs/development/web/flyctl/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "flyctl";
-  version = "0.0.306";
+  version = "0.0.310";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = "flyctl";
     rev = "v${version}";
-    sha256 = "sha256-Nnt4Gj+/DbP3tAne99u15GYT099lBTM16O4r0QMuRXA=";
+    sha256 = "sha256-69yyH4og7FGS3+M72YhlrwjatucfGliHYcMpPi1ddjA=";
   };
 
   preBuild = ''
@@ -17,7 +17,7 @@ buildGoModule rec {
 
   subPackages = [ "." ];
 
-  vendorSha256 = "sha256-n5LZ6WP1LxnhdDKIm8oc3CVFD2jXUEQ/scbOLtMTWQk=";
+  vendorSha256 = "sha256-2goglOmcUud9KT5accn/AMe4xEgRN2Ep1qMfQHtlI+Q=";
 
   doCheck = false;
 
diff --git a/pkgs/development/web/grails/default.nix b/pkgs/development/web/grails/default.nix
index 5caacbd0d5075..c300062c52352 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.1.4";
+  version = "5.1.6";
 
   src = fetchurl {
     url = "https://github.com/grails/grails-core/releases/download/v${version}/grails-${version}.zip";
-    sha256 = "sha256-EoMSnT1MmYGeF82XC7Ed9woe8t+xzYJaylLBVpdFvoI=";
+    sha256 = "sha256-H4c/Nu6iOgaRLl/uV51nYnNQg5p9cjl/taexZnl4t+I=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/web/insomnia/default.nix b/pkgs/development/web/insomnia/default.nix
index 2abdabc233114..ae6200df5ef06 100644
--- a/pkgs/development/web/insomnia/default.nix
+++ b/pkgs/development/web/insomnia/default.nix
@@ -2,7 +2,7 @@
 , fontconfig, freetype, gdk-pixbuf, glib, pango, mesa, nspr, nss, gtk3
 , at-spi2-atk, gsettings-desktop-schemas, gobject-introspection, wrapGAppsHook
 , libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext
-, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, nghttp2
+, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence, nghttp2
 , libudev0-shim, glibc, curl, openssl, autoPatchelfHook }:
 
 let
@@ -15,12 +15,12 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "insomnia";
-  version = "2021.7.2";
+  version = "2022.1.1";
 
   src = fetchurl {
     url =
       "https://github.com/Kong/insomnia/releases/download/core%40${version}/Insomnia.Core-${version}.deb";
-    sha256 = "sha256-HkQWW4h2+XT5Xi4oiIiMPnrRKw+GIyjGMQ5B1NrBARU=";
+    sha256 = "sha256-AaRiXGdKCzcsY4GEgLr5PO+f7STsR+p7ybGISdJlCVk=";
   };
 
   nativeBuildInputs =
@@ -53,6 +53,7 @@ in stdenv.mkDerivation rec {
     libXrender
     libXtst
     libxcb
+    libxshmfence
     mesa # for libgbm
     nspr
     nss
diff --git a/pkgs/development/web/kore/default.nix b/pkgs/development/web/kore/default.nix
index a1bd3ecd451b7..7a3ec5fe4ae3b 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.1.0";
+  version = "4.2.1";
 
   src = fetchFromGitHub {
     owner = "jorisvink";
     repo = pname;
     rev = version;
-    sha256 = "sha256-w5H1USQ2aladwSFdfYsX925pjCt3QWoXK4HqyEL7rH0=";
+    sha256 = "sha256-MC4PCjRuAqWuGvNDsZXKohb4HdSWMV0Oc0pZ0rnhG7Y=";
   };
 
   buildInputs = [ openssl curl postgresql yajl ];
diff --git a/pkgs/development/web/nodejs/v17.nix b/pkgs/development/web/nodejs/v17.nix
index 20d76246020eb..1c4dcc02a9713 100644
--- a/pkgs/development/web/nodejs/v17.nix
+++ b/pkgs/development/web/nodejs/v17.nix
@@ -7,8 +7,8 @@ let
 in
 buildNodejs {
   inherit enableNpm;
-  version = "17.7.2";
-  sha256 = "sha256-OuXnTgsWIoz37faIU1mp0uAZrIQ5BsXgGUjXRvq6Sq8=";
+  version = "17.8.0";
+  sha256 = "0jsf6sv42rzpizvil7g1gf9bskh8lx0gcxg0yzpr4hk7mx7i90br";
   patches = [
     ./disable-darwin-v8-system-instrumentation.patch
   ];
diff --git a/pkgs/development/web/postman/darwin.nix b/pkgs/development/web/postman/darwin.nix
new file mode 100644
index 0000000000000..fcc4b03689f4d
--- /dev/null
+++ b/pkgs/development/web/postman/darwin.nix
@@ -0,0 +1,49 @@
+{ stdenvNoCC
+, fetchurl
+, unzip
+, pname
+, version
+, meta
+}:
+
+let
+  appName = "Postman.app";
+  dist = {
+    aarch64-darwin = {
+      arch = "arm64";
+      sha256 = "sha256-EtTf17LS18zC3JMbSoyZGGHuIcwGN3Q15XOhVqeh7C4=";
+    };
+
+    x86_64-darwin = {
+      arch = "64";
+      sha256 = "sha256-kTgbqGPgOn5dyjL/IMl3hg2+VUfB+jpPJsqXof8UL+c=";
+    };
+  }.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}");
+
+in
+
+stdenvNoCC.mkDerivation {
+  inherit pname version meta;
+
+  src = fetchurl {
+    url = "https://dl.pstmn.io/download/version/${version}/osx_${dist.arch}";
+    inherit (dist) sha256;
+    name = "${pname}-${version}.zip";
+  };
+
+  nativeBuildInputs = [ unzip ];
+
+  sourceRoot = appName;
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/{Applications/${appName},bin}
+    cp -R . $out/Applications/${appName}
+    cat > $out/bin/${pname} << EOF
+    #!${stdenvNoCC.shell}
+    open -na $out/Applications/${appName} --args "$@"
+    EOF
+    chmod +x $out/bin/${pname}
+    runHook postInstall
+  '';
+}
diff --git a/pkgs/development/web/postman/default.nix b/pkgs/development/web/postman/default.nix
index 2c0698b74a8ad..e687a157b87e3 100644
--- a/pkgs/development/web/postman/default.nix
+++ b/pkgs/development/web/postman/default.nix
@@ -1,107 +1,18 @@
-{ lib, stdenv, fetchurl, makeDesktopItem, wrapGAppsHook
-, atk, at-spi2-atk, at-spi2-core, alsa-lib, cairo, cups, dbus, expat, gdk-pixbuf, glib, gtk3
-, freetype, fontconfig, nss, nspr, pango, udev, libuuid, libX11, libxcb, libXi
-, libXcursor, libXdamage, libXrandr, libXcomposite, libXext, libXfixes
-, libXrender, libXtst, libXScrnSaver, libxkbcommon, libdrm, mesa, xorg
-}:
+{ stdenvNoCC, callPackage, lib }:
 
-stdenv.mkDerivation rec {
+let
   pname = "postman";
   version = "9.14.0";
-
-  src = fetchurl {
-    url = "https://dl.pstmn.io/download/version/${version}/linux64";
-    sha256 = "sha256-pA3gT4xoIWhajY03JzVgHK5KyTx1uH6gyasuLTdt6cM=";
-    name = "${pname}.tar.gz";
-  };
-
-  dontBuild = true; # nothing to build
-  dontConfigure = true;
-
-  desktopItem = makeDesktopItem {
-    name = "postman";
-    exec = "postman";
-    icon = "postman";
-    comment = "API Development Environment";
-    desktopName = "Postman";
-    genericName = "Postman";
-    categories = [ "Development" ];
-  };
-
-  buildInputs = [
-    stdenv.cc.cc.lib
-    atk
-    at-spi2-atk
-    at-spi2-core
-    alsa-lib
-    cairo
-    cups
-    dbus
-    expat
-    gdk-pixbuf
-    glib
-    gtk3
-    freetype
-    fontconfig
-    mesa
-    nss
-    nspr
-    pango
-    udev
-    libdrm
-    libuuid
-    libX11
-    libxcb
-    libXi
-    libXcursor
-    libXdamage
-    libXrandr
-    libXcomposite
-    libXext
-    libXfixes
-    libXrender
-    libXtst
-    libXScrnSaver
-    libxkbcommon
-    xorg.libxshmfence
-  ];
-
-  nativeBuildInputs = [ wrapGAppsHook ];
-
-
-  installPhase = ''
-    mkdir -p $out/share/postman
-    cp -R app/* $out/share/postman
-    rm $out/share/postman/Postman
-
-    mkdir -p $out/bin
-    ln -s $out/share/postman/postman $out/bin/postman
-
-    mkdir -p $out/share/applications
-    ln -s ${desktopItem}/share/applications/* $out/share/applications/
-
-    iconRootDir=$out/share/icons
-    iconSizeDir=$out/share/icons/hicolor/128x128/apps
-    mkdir -p $iconSizeDir
-    ln -s $out/share/postman/resources/app/assets/icon.png $iconRootDir/postman.png
-    ln -s $out/share/postman/resources/app/assets/icon.png $iconSizeDir/postman.png
-  '';
-
-  postFixup = ''
-    pushd $out/share/postman
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" postman
-    for file in $(find . -type f \( -name \*.node -o -name postman -o -name \*.so\* \) ); do
-      ORIGIN=$(patchelf --print-rpath $file); \
-      patchelf --set-rpath "${lib.makeLibraryPath buildInputs}:$ORIGIN" $file
-    done
-    popd
-  '';
-
   meta = with lib; {
     homepage = "https://www.getpostman.com";
     description = "API Development Environment";
     license = licenses.postman;
-    platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ johnrichardrinehart evanjs ];
+    platforms = [ "x86_64-linux" "aarch64-darwin" "x86_64-darwin" ];
+    maintainers = with maintainers; [ johnrichardrinehart evanjs tricktron ];
   };
-}
+
+in
+
+if stdenvNoCC.isDarwin
+then callPackage ./darwin.nix { inherit pname version meta; }
+else callPackage ./linux.nix { inherit pname version meta; }
diff --git a/pkgs/development/web/postman/linux.nix b/pkgs/development/web/postman/linux.nix
new file mode 100644
index 0000000000000..39c82c2b34ed9
--- /dev/null
+++ b/pkgs/development/web/postman/linux.nix
@@ -0,0 +1,133 @@
+{ lib
+, stdenv
+, fetchurl
+, makeDesktopItem
+, wrapGAppsHook
+, atk
+, at-spi2-atk
+, at-spi2-core
+, alsa-lib
+, cairo
+, cups
+, dbus
+, expat
+, gdk-pixbuf
+, glib
+, gtk3
+, freetype
+, fontconfig
+, nss
+, nspr
+, pango
+, udev
+, libuuid
+, libX11
+, libxcb
+, libXi
+, libXcursor
+, libXdamage
+, libXrandr
+, libXcomposite
+, libXext
+, libXfixes
+, libXrender
+, libXtst
+, libXScrnSaver
+, libxkbcommon
+, libdrm
+, mesa
+, xorg
+, pname
+, version
+, meta
+, copyDesktopItems
+}:
+
+stdenv.mkDerivation rec {
+  inherit pname version meta;
+
+  src = fetchurl {
+    url = "https://dl.pstmn.io/download/version/${version}/linux64";
+    sha256 = "sha256-pA3gT4xoIWhajY03JzVgHK5KyTx1uH6gyasuLTdt6cM=";
+    name = "${pname}.tar.gz";
+  };
+
+  dontConfigure = true;
+
+  desktopItems = [
+      (makeDesktopItem {
+      name = "postman";
+      exec = "postman";
+      icon = "postman";
+      comment = "API Development Environment";
+      desktopName = "Postman";
+      genericName = "Postman";
+      categories = [ "Development" ];
+    })
+  ];
+
+  buildInputs = [
+    stdenv.cc.cc.lib
+    atk
+    at-spi2-atk
+    at-spi2-core
+    alsa-lib
+    cairo
+    cups
+    dbus
+    expat
+    gdk-pixbuf
+    glib
+    gtk3
+    freetype
+    fontconfig
+    mesa
+    nss
+    nspr
+    pango
+    udev
+    libdrm
+    libuuid
+    libX11
+    libxcb
+    libXi
+    libXcursor
+    libXdamage
+    libXrandr
+    libXcomposite
+    libXext
+    libXfixes
+    libXrender
+    libXtst
+    libXScrnSaver
+    libxkbcommon
+    xorg.libxshmfence
+  ];
+
+  nativeBuildInputs = [ wrapGAppsHook copyDesktopItems ];
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/share/postman
+    cp -R app/* $out/share/postman
+    rm $out/share/postman/Postman
+
+    mkdir -p $out/bin
+    ln -s $out/share/postman/postman $out/bin/postman
+
+    mkdir -p $out/share/icons/hicolor/128x128/apps
+    ln -s $out/share/postman/resources/app/assets/icon.png $out/share/icons/postman.png
+    ln -s $out/share/postman/resources/app/assets/icon.png $out/share/icons/hicolor/128x128/apps/postman.png
+    runHook postInstall
+  '';
+
+  postFixup = ''
+    pushd $out/share/postman
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" postman
+    for file in $(find . -type f \( -name \*.node -o -name postman -o -name \*.so\* \) ); do
+      ORIGIN=$(patchelf --print-rpath $file); \
+      patchelf --set-rpath "${lib.makeLibraryPath buildInputs}:$ORIGIN" $file
+    done
+    popd
+  '';
+}
diff --git a/pkgs/games/2048-in-terminal/default.nix b/pkgs/games/2048-in-terminal/default.nix
index 8f527534bb449..59012227aeda4 100644
--- a/pkgs/games/2048-in-terminal/default.nix
+++ b/pkgs/games/2048-in-terminal/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "2048-in-terminal";
-  version = "2021-09-12";
+  version = "unstable-2021-09-12";
 
   src = fetchFromGitHub {
     sha256 = "1jgacyimn59kxqhrk8jp13qayc2mncxhx393spqcxbz0sj6lxq9p";
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
     inherit (src.meta) homepage;
     description = "Animated console version of the 2048 game";
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/games/airshipper/default.nix b/pkgs/games/airshipper/default.nix
index 4474d09659e50..4fc37b0ca25ca 100644
--- a/pkgs/games/airshipper/default.nix
+++ b/pkgs/games/airshipper/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitLab
 , fetchpatch
 , openssl
+, libGL
 , vulkan-loader
 , wayland
 , wayland-protocols
@@ -49,14 +50,14 @@ rustPlatform.buildRustPackage rec {
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
   postInstall = ''
-    mkdir -p "$out/share/applications" && mkdir -p "$out/share/icons"
-    cp "client/assets/net.veloren.airshipper.desktop" "$out/share/applications"
-    cp "client/assets/logo.ico" "$out/share/icons/net.veloren.airshipper.ico"
+    install -Dm444 -t "$out/share/applications" "client/assets/net.veloren.airshipper.desktop"
+    install -Dm444    "client/assets/logo.ico"  "$out/share/icons/net.veloren.airshipper.ico"
   '';
 
   postFixup =
     let
       libPath = lib.makeLibraryPath [
+        libGL
         vulkan-loader
         wayland
         wayland-protocols
diff --git a/pkgs/games/bugdom/default.nix b/pkgs/games/bugdom/default.nix
new file mode 100644
index 0000000000000..57a1e41409023
--- /dev/null
+++ b/pkgs/games/bugdom/default.nix
@@ -0,0 +1,44 @@
+{ lib, stdenv, fetchFromGitHub, SDL2, cmake, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  pname = "bugdom";
+  version = "1.3.1";
+
+  src = fetchFromGitHub {
+    owner = "jorio";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256:1371inw11rzfrxmc3v4gv5axp56bxjbcr0mhqm4x839401bfq5mf";
+    fetchSubmodules = true;
+  };
+
+  buildInputs = [
+    SDL2
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    makeWrapper
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/bugdom
+    mv Data $out/share/bugdom
+    install -Dm755 {.,$out/bin}/Bugdom
+    wrapProgram $out/bin/Bugdom --run "cd $out/share/bugdom"
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A port of Bugdom, a 1999 Macintosh game by Pangea Software, for modern operating systems";
+    homepage = "https://github.com/jorio/Bugdom";
+    license = with licenses; [
+      cc-by-sa-40
+    ];
+    maintainers = with maintainers; [ lux ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/games/cataclysm-dda/common.nix b/pkgs/games/cataclysm-dda/common.nix
index 1701d84e8df7a..af20169a6e088 100644
--- a/pkgs/games/cataclysm-dda/common.nix
+++ b/pkgs/games/cataclysm-dda/common.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation {
   '';
 
   makeFlags = [
-    "PREFIX=$(out)" "LANGUAGES=all"
+    "PREFIX=$(out)" "LANGUAGES=all" "RUNTESTS=0"
     (if useXdgDir then "USE_XDG_DIR=1" else "USE_HOME_DIR=1")
   ] ++ optionals (!debug) [
     "RELEASE=1"
diff --git a/pkgs/games/dwarf-fortress/themes/default.nix b/pkgs/games/dwarf-fortress/themes/default.nix
index c6987a1d16bd1..d2e2ec5fd19b1 100644
--- a/pkgs/games/dwarf-fortress/themes/default.nix
+++ b/pkgs/games/dwarf-fortress/themes/default.nix
@@ -6,7 +6,7 @@ listToAttrs (map
   (v: {
     inherit (v) name;
     value = fetchFromGitHub {
-      name = "${v.name}-${v.version}";
+      name = "${v.name}-theme-${v.version}";
       owner = "DFgraphics";
       repo = v.name;
       rev = v.version;
diff --git a/pkgs/games/flightgear/default.nix b/pkgs/games/flightgear/default.nix
index af79a6d4b2b42..d46ee685607b2 100644
--- a/pkgs/games/flightgear/default.nix
+++ b/pkgs/games/flightgear/default.nix
@@ -6,7 +6,7 @@
 }:
 
 let
-  version = "2020.3.11";
+  version = "2020.3.12";
   shortVersion = builtins.substring 0 6 version;
   data = stdenv.mkDerivation rec {
     pname = "flightgear-data";
@@ -14,7 +14,7 @@ let
 
     src = fetchurl {
       url = "mirror://sourceforge/flightgear/release-${shortVersion}/FlightGear-${version}-data.txz";
-      sha256 = "sha256-Ej8VGywPQiDw3VXodcpXpOw4qU9x+MBMWMrqwHfitVg=";
+      sha256 = "sha256-gCsW9e8IuXwmJfAfxJ/nORF5W/PwCka+O8Chwm26OnY=";
     };
 
     dontUnpack = true;
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/flightgear/release-${shortVersion}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-/icGx3B+pzq8URR3PeRfKYYasPj1NWVq8EKO0EnKSpc=";
+    sha256 = "sha256-wPeZIAiGU0zPBkzeBCO1xEgm+iZd/hWvBEr2ZcsX0Qc=";
   };
 
   # Of all the files in the source and data archives, there doesn't seem to be
diff --git a/pkgs/games/garden-of-coloured-lights/default.nix b/pkgs/games/garden-of-coloured-lights/default.nix
index d38d8936c1a9e..9e842acfa9a50 100644
--- a/pkgs/games/garden-of-coloured-lights/default.nix
+++ b/pkgs/games/garden-of-coloured-lights/default.nix
@@ -4,7 +4,8 @@ stdenv.mkDerivation rec {
   pname = "garden-of-coloured-lights";
   version = "1.0.9";
 
-  buildInputs = [ allegro autoconf automake ];
+  nativeBuildInputs = [ autoconf automake ];
+  buildInputs = [ allegro ];
 
   prePatch = ''
     noInline='s/inline //'
diff --git a/pkgs/games/gl-117/default.nix b/pkgs/games/gl-117/default.nix
index 0acabb4a55f31..f135c93ff04fa 100644
--- a/pkgs/games/gl-117/default.nix
+++ b/pkgs/games/gl-117/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "1yvg1rp1yijv0b45cz085b29x5x0g5fkm654xdv5qwh2l6803gb4";
   };
 
-  buildInputs = [ libGLU libGL SDL freeglut SDL_mixer autoconf automake libtool ];
+  nativeBuildInputs = [ automake autoconf ];
+  buildInputs = [ libGLU libGL SDL freeglut SDL_mixer libtool ];
 
   meta = with lib; {
     description = "An air combat simulator";
diff --git a/pkgs/games/gnonograms/default.nix b/pkgs/games/gnonograms/default.nix
index cfe1085ca27b9..21f522d3418f9 100644
--- a/pkgs/games/gnonograms/default.nix
+++ b/pkgs/games/gnonograms/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , vala
 , meson
 , ninja
@@ -27,6 +28,15 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-2uXaybpCAm9cr0o7bqfhgD7mMNPwtv1X/PgnFnSDOl0=";
   };
 
+  patches = [
+    # Fix build with meson 0.61, can be removed on next release
+    # https://github.com/jeremypw/gnonograms/pull/45
+    (fetchpatch {
+      url = "https://github.com/jeremypw/gnonograms/commit/0e90d8ff42d64a94002ec8500889bc4d7e06c1b6.patch";
+      sha256 = "sha256-G/yqsZFmOA69A3E2CROMYAS5vmok/K5l1S/M2m8DMh4=";
+    })
+  ];
+
   postPatch = ''
     patchShebangs meson/post_install.py
   '';
diff --git a/pkgs/games/liberation-circuit/default.nix b/pkgs/games/liberation-circuit/default.nix
index c1f03e036c9fe..365fbb2983eb0 100644
--- a/pkgs/games/liberation-circuit/default.nix
+++ b/pkgs/games/liberation-circuit/default.nix
@@ -1,52 +1,23 @@
-{ stdenv, lib, fetchFromGitHub, fetchurl, cmake, git, makeWrapper, allegro5, libGL }:
+{ stdenv, lib, fetchFromGitHub, fetchurl, pkg-config, makeWrapper, allegro5, libGL }:
 
 stdenv.mkDerivation rec {
   pname = "liberation-circuit";
-  version = "1.3";
+  version = "unstable-2022-01-02";
 
   src = fetchFromGitHub {
     owner = "linleyh";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "BAv0wEJw4pK77jV+1bWPHeqyU/u0HtZLBF3ETUoQEAk=";
+    rev = "19e3363547793e931fd9419b61ebc2cd8e257714";
+    sha256 = "zIwjh4CBSmKz7pF7GM5af+VslWho5jHOLsulbW4C8TY=";
   };
 
-  patches = [
-    # Linux packaging assets
-    (fetchurl {
-      url = "https://github.com/linleyh/liberation-circuit/commit/72c1f6f4100bd227540aca14a535e7f4ebdeb851.patch";
-      sha256 = "0sad1z1lls0hanv88g1q6x5qr4s8f5p42s8j8v55bmwsdc0s5qys";
-    })
-  ];
-
-  # Hack to make binary diffs work
-  prePatch = ''
-    function patch {
-      git apply --whitespace=nowarn "$@"
-    }
-  '';
-
-  postPatch = ''
-    unset -f patch
-    substituteInPlace bin/launcher.sh --replace ./libcirc ./liberation-circuit
-  '';
-
-  nativeBuildInputs = [ cmake git makeWrapper ];
+  nativeBuildInputs = [ pkg-config makeWrapper ];
   buildInputs = [ allegro5 libGL ];
 
-  cmakeFlags = [
-    "-DALLEGRO_LIBRARY=${lib.getDev allegro5}"
-    "-DALLEGRO_INCLUDE_DIR=${lib.getDev allegro5}/include"
-  ];
-
-  NIX_CFLAGS_LINK = "-lallegro_image -lallegro_primitives -lallegro_color -lallegro_acodec -lallegro_audio -lallegro_dialog -lallegro_font -lallegro_main -lallegro -lm";
-  hardeningDisable = [ "format" ];
-
   installPhase = ''
     runHook preInstall
 
     mkdir -p $out/opt
-    cd ..
     cp -r bin $out/opt/liberation-circuit
     chmod +x $out/opt/liberation-circuit/launcher.sh
     makeWrapper $out/opt/liberation-circuit/launcher.sh $out/bin/liberation-circuit
diff --git a/pkgs/games/nanosaur/default.nix b/pkgs/games/nanosaur/default.nix
index d5ebee755da6a..75e47fa179b9b 100644
--- a/pkgs/games/nanosaur/default.nix
+++ b/pkgs/games/nanosaur/default.nix
@@ -12,9 +12,9 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
+  nativeBuildInputs = [ cmake ];
   buildInputs = [
     SDL2
-    cmake
     makeWrapper
   ];
 
diff --git a/pkgs/games/nethack/default.nix b/pkgs/games/nethack/default.nix
index 2b29bddad93ca..f6de3d57c1304 100644
--- a/pkgs/games/nethack/default.nix
+++ b/pkgs/games/nethack/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, coreutils, ncurses, gzip, flex, bison
+{ stdenv, lib, fetchurl, coreutils, ncurses, gzip, flex, bison, fetchpatch
 , less
 , buildPackages
 , x11Mode ? false, qtMode ? false, libXaw, libXext, libXpm, bdftopcf, mkfontdir, pkg-config, qt5
@@ -24,6 +24,15 @@ in stdenv.mkDerivation rec {
          else if qtMode then "nethack-qt"
          else "nethack";
 
+  patches = [
+    # Don't unset `__warn_unused_result__`, breaks on glibc-2.34
+    (fetchpatch {
+      url = "https://github.com/NetHack/NetHack/commit/81d73ce417dda6a98e2e918e06922e68b67c53f7.patch";
+      sha256 = "sha256-PX9XtJTEE3K1yg/IwIzEIT+EZWi02gU+9msrsG9ZWQY=";
+      revert = true;
+    })
+  ];
+
   src = fetchurl {
     url = "https://nethack.org/download/${version}/nethack-${lib.replaceStrings ["."] [""] version}-src.tgz";
     sha256 = "1liyckjp34j354qnxc1zn9730lh1p2dabrg1hap24z6xnqx0rpng";
diff --git a/pkgs/games/openmw/default.nix b/pkgs/games/openmw/default.nix
index edc8147a2b77b..8746d3172ac83 100644
--- a/pkgs/games/openmw/default.nix
+++ b/pkgs/games/openmw/default.nix
@@ -83,5 +83,10 @@ mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ abbradar marius851000 ];
     platforms = platforms.linux;
+
+    # 2021-10-13, doesn't compile with glibc-2.34, maintainers prefer a fix on glibc's end.
+    # Can be marked as un-broken as soon as https://gitlab.com/OpenMW/openmw/-/merge_requests/1239
+    # is resolved and a patch is appliable here.
+    broken = true;
   };
 }
diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix
index 3219ec50760df..7aac53ae94038 100644
--- a/pkgs/games/openttd/default.nix
+++ b/pkgs/games/openttd/default.nix
@@ -29,11 +29,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "openttd";
-  version = "12.1";
+  version = "12.2";
 
   src = fetchurl {
     url = "https://cdn.openttd.org/openttd-releases/${version}/${pname}-${version}-source.tar.xz";
-    sha256 = "sha256-JYv1uZgwEIkLoQUYtQa8SrgPfAjM7FlJfpulWkqj5+M=";
+    hash = "sha256-gVCPDek6DCZLIW71agX4OB//e/+m0BASGiFJC02s6Vw=";
   };
 
   nativeBuildInputs = [ cmake makeWrapper ];
diff --git a/pkgs/games/openttd/jgrpp.nix b/pkgs/games/openttd/jgrpp.nix
index 19f50ab780e3a..a0c70e463b202 100644
--- a/pkgs/games/openttd/jgrpp.nix
+++ b/pkgs/games/openttd/jgrpp.nix
@@ -1,13 +1,15 @@
-{ fetchFromGitHub, openttd, ... }:
+{ fetchFromGitHub, openttd, zstd, ... }:
 
 openttd.overrideAttrs (oldAttrs: rec {
   pname = "openttd-jgrpp";
-  version = "0.44.0";
+  version = "0.47.1";
 
   src = fetchFromGitHub rec {
     owner = "JGRennison";
     repo = "OpenTTD-patches";
     rev = "jgrpp-${version}";
-    sha256 = "sha256-/kqwMZGXUYWlCnjk6uShJ5UARtvBSZWPExVel5o4xA8=";
+    hash = "sha256-AMd2KXy/ODByeV9CkEd51KbE/+fZ8Us3WzsWCnn7nh0=";
   };
+
+  buildInputs = oldAttrs.buildInputs ++ [ zstd ];
 })
diff --git a/pkgs/games/openxcom/default.nix b/pkgs/games/openxcom/default.nix
index 8c115e9b3120c..b877c3aac2fd4 100644
--- a/pkgs/games/openxcom/default.nix
+++ b/pkgs/games/openxcom/default.nix
@@ -18,7 +18,6 @@ stdenv.mkDerivation {
   meta = {
     description = "Open source clone of UFO: Enemy Unknown";
     homepage = "https://openxcom.org";
-    repositories.git = "https://github.com/SupSuper/OpenXcom.git";
     maintainers = [ lib.maintainers.cpages ];
     platforms = lib.platforms.linux;
     license = lib.licenses.gpl3;
diff --git a/pkgs/games/polymc/default.nix b/pkgs/games/polymc/default.nix
index 0ec60d617f02c..57d6a0c9faaef 100644
--- a/pkgs/games/polymc/default.nix
+++ b/pkgs/games/polymc/default.nix
@@ -18,13 +18,13 @@
 
 mkDerivation rec {
   pname = "polymc";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "PolyMC";
     repo = "PolyMC";
     rev = version;
-    sha256 = "sha256-p5vbpNZI/JiQJclEo/Pu/46qVul+3DAzaoow8jabHrI=";
+    sha256 = "sha256-virXfnjCzuR2cJoyzapIopT9B+Yi1neff2ZqfOvsmxY=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/games/qqwing/default.nix b/pkgs/games/qqwing/default.nix
index 3fadd73ce18e5..244a826cb1656 100644
--- a/pkgs/games/qqwing/default.nix
+++ b/pkgs/games/qqwing/default.nix
@@ -21,7 +21,8 @@ stdenv.mkDerivation rec {
       --replace "sudo " ""
   '';
 
-  buildInputs = [ perl autoconf automake libtool ];
+  nativeBuildInputs = [ autoconf automake ];
+  buildInputs = [ perl libtool ];
 
   makeFlags = [ "prefix=$(out)" "tgz" ];
 
diff --git a/pkgs/games/space-cadet-pinball/default.nix b/pkgs/games/space-cadet-pinball/default.nix
index 312b2e32823bf..0c991d727e283 100644
--- a/pkgs/games/space-cadet-pinball/default.nix
+++ b/pkgs/games/space-cadet-pinball/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, fetchzip
-, cmake, SDL2, SDL2_mixer
+, cmake, SDL2, SDL2_mixer, Cocoa
 , unrar-wrapper, makeWrapper
 , fetchpatch
 }:
@@ -33,12 +33,21 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  nativeBuildInputs = [ cmake ];
   buildInputs = [
     SDL2
     SDL2_mixer
-    cmake
     makeWrapper
-  ];
+  ] ++ lib.optional stdenv.isDarwin Cocoa;
+
+  # Darwin needs a custom installphase since it is excluded from the cmake install
+  # https://github.com/k4zmu2a/SpaceCadetPinball/blob/0f88e43ba261bc21fa5c3ef9d44969a2a079d0de/CMakeLists.txt#L221
+  installPhase = lib.optionalString stdenv.isDarwin ''
+    runHook preInstall
+    mkdir -p $out/bin
+    install ../bin/SpaceCadetPinball $out/bin
+    runHook postInstall
+  '';
 
   postInstall = ''
     mkdir -p $out/lib/SpaceCadetPinball
@@ -57,5 +66,6 @@ stdenv.mkDerivation rec {
     license = with licenses; [ unfree mit ];
     maintainers = [ maintainers.hqurve ];
     platforms = platforms.all;
+    mainProgram = "SpaceCadetPinball";
   };
 }
diff --git a/pkgs/games/spring/springlobby.nix b/pkgs/games/spring/springlobby.nix
index bf603e2f53080..55c61c4cbd826 100644
--- a/pkgs/games/spring/springlobby.nix
+++ b/pkgs/games/spring/springlobby.nix
@@ -34,7 +34,6 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://springlobby.info/";
-    repositories.git = "git://github.com/springlobby/springlobby.git";
     description = "Cross-platform lobby client for the Spring RTS project";
     license = licenses.gpl2;
     maintainers = with maintainers; [ qknight domenkozar ];
diff --git a/pkgs/games/steam/fhsenv.nix b/pkgs/games/steam/fhsenv.nix
index 10709102ecf21..d18accd0d546a 100644
--- a/pkgs/games/steam/fhsenv.nix
+++ b/pkgs/games/steam/fhsenv.nix
@@ -206,12 +206,6 @@ in buildFHSUserEnv rec {
   ++ steamPackages.steam-runtime-wrapped.overridePkgs
   ++ extraLibraries pkgs;
 
-  extraBuildCommands = ''
-    ln -s /usr/lib/libbz2.so usr/lib/libbz2.so.1.0
-  '' + lib.optionalString (steam-runtime-wrapped-i686 != null) ''
-    ln -s /usr/lib32/libbz2.so usr/lib32/libbz2.so.1.0
-  '';
-
   extraInstallCommands = ''
     mkdir -p $out/share/applications
     ln -s ${steam}/share/icons $out/share
@@ -228,9 +222,6 @@ in buildFHSUserEnv rec {
         export TZ="$new_TZ"
       fi
     fi
-
-    # XDG_DATA_DIRS is used by pressure-vessel and vulkan loaders to find the corresponding icd
-    export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}/run/opengl-driver/share:/run/opengl-driver-32/share
   '' + extraProfile;
 
   runScript = writeScript "steam-wrapper.sh" ''
@@ -272,7 +263,7 @@ in buildFHSUserEnv rec {
     name = "steam-run";
 
     targetPkgs = commonTargetPkgs;
-    inherit multiPkgs extraBuildCommands profile extraInstallCommands;
+    inherit multiPkgs profile extraInstallCommands;
 
     inherit unshareIpc unsharePid;
 
diff --git a/pkgs/games/the-butterfly-effect/default.nix b/pkgs/games/the-butterfly-effect/default.nix
index f5330485eddc6..cc753783f0358 100644
--- a/pkgs/games/the-butterfly-effect/default.nix
+++ b/pkgs/games/the-butterfly-effect/default.nix
@@ -13,8 +13,9 @@ mkDerivation rec {
 
   postPatch = "sed '1i#include <vector>' -i src/model/World.h";
 
+  nativeBuildInputs = [ cmake ];
   buildInputs = [
-    qt5.qtbase qt5.qtsvg qt5.qttranslations box2d which cmake
+    qt5.qtbase qt5.qtsvg qt5.qttranslations box2d which
     gettext
   ];
 
diff --git a/pkgs/games/warzone2100/default.nix b/pkgs/games/warzone2100/default.nix
index e4a2ff4c31b3d..a44f965b0e557 100644
--- a/pkgs/games/warzone2100/default.nix
+++ b/pkgs/games/warzone2100/default.nix
@@ -42,11 +42,11 @@ in
 
 stdenv.mkDerivation rec {
   inherit pname;
-  version  = "4.2.6";
+  version  = "4.2.7";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/releases/${version}/${pname}_src.tar.xz";
-    sha256 = "sha256-sdHc/i1ffbTAY7ehO6LsIa+ll+LHkuXIwcwTIEOY28g=";
+    sha256 = "sha256-f1J84A7aRAmbGn48MD7eJ2+DX21q2UWwYAoXXdq7ALA=";
   };
 
   buildInputs = [
diff --git a/pkgs/games/xtris/default.nix b/pkgs/games/xtris/default.nix
index e6da0c6f17ccd..2263a46187e94 100644
--- a/pkgs/games/xtris/default.nix
+++ b/pkgs/games/xtris/default.nix
@@ -18,10 +18,12 @@ stdenv.mkDerivation rec {
   '';
   buildInputs = [ xorg.libX11 ];
 
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
+
   meta = with lib; {
     description = "A multi-player version of the classical game of Tetris, for the X Window system";
     homepage = "https://web.archive.org/web/20120315061213/http://www.iagora.com/~espel/xtris/xtris.html";
     license = licenses.gpl2;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/games/zangband/default.nix b/pkgs/games/zangband/default.nix
index e8daa9a202516..7548b082a13ba 100644
--- a/pkgs/games/zangband/default.nix
+++ b/pkgs/games/zangband/default.nix
@@ -9,8 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "0kkz6f9myhjnr3308sdab8q186rd55lapvcp38w8qmakdbhc828j";
   };
 
+  nativeBuildInputs = [ autoconf automake ];
   buildInputs = [
-    ncurses flex bison autoconf automake m4
+    ncurses flex bison m4
   ];
 
   preConfigure = ''
diff --git a/pkgs/misc/cups/drivers/cnijfilter2/default.nix b/pkgs/misc/cups/drivers/cnijfilter2/default.nix
index e5de7c116c7ee..40a1414cfab39 100644
--- a/pkgs/misc/cups/drivers/cnijfilter2/default.nix
+++ b/pkgs/misc/cups/drivers/cnijfilter2/default.nix
@@ -11,8 +11,9 @@ stdenv.mkDerivation {
     sha256 = "0w121issdjxdv5i9ksa5m23if6pz1r9ql8p894f1pqn16w0kw1ix";
   };
 
+  nativeBuildInputs = [ automake autoconf ];
   buildInputs = [
-    cups automake autoconf glib libxml2 libusb1 libtool
+    cups glib libxml2 libusb1 libtool
   ];
 
   # lgmon3's --enable-libdir flag is used soley for specifying in which
diff --git a/pkgs/misc/cups/drivers/cnijfilter_2_80/default.nix b/pkgs/misc/cups/drivers/cnijfilter_2_80/default.nix
index 2cb3fe01ddb60..d5ccc857e8d4a 100644
--- a/pkgs/misc/cups/drivers/cnijfilter_2_80/default.nix
+++ b/pkgs/misc/cups/drivers/cnijfilter_2_80/default.nix
@@ -25,7 +25,8 @@ stdenv.mkDerivation {
     sha256 = "06s9nl155yxmx56056y22kz1p5b2sb5fhr3gf4ddlczjkd1xch53";
   };
 
-  buildInputs = [ autoconf libtool automake
+  nativeBuildInputs = [ autoconf automake ];
+  buildInputs = [ libtool
                   cups popt libtiff libpng
                   ghostscript ];
 
diff --git a/pkgs/misc/cups/drivers/cnijfilter_4_00/default.nix b/pkgs/misc/cups/drivers/cnijfilter_4_00/default.nix
index 1f0f7ab6e91d1..2bd79691461cc 100644
--- a/pkgs/misc/cups/drivers/cnijfilter_4_00/default.nix
+++ b/pkgs/misc/cups/drivers/cnijfilter_4_00/default.nix
@@ -30,7 +30,8 @@ in stdenv.mkDerivation {
     sha256 = "1f6vpx1z3qa88590i5m0s49j9n90vpk81xmw6pvj0nfd3qbvzkya";
   };
 
-  buildInputs = [ autoconf libtool automake
+  nativeBuildInputs = [ autoconf automake ];
+  buildInputs = [ libtool
                   cups popt libtiff libpng
                   ghostscript glib libusb1 libxml2 ];
 
diff --git a/pkgs/misc/cups/drivers/mfcl2750dw/default.nix b/pkgs/misc/cups/drivers/mfcl2750dw/default.nix
index 269546aca1a6d..f51a5e74666cf 100644
--- a/pkgs/misc/cups/drivers/mfcl2750dw/default.nix
+++ b/pkgs/misc/cups/drivers/mfcl2750dw/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
   dontUnpack = true;
 
   src = fetchurl {
-    url = "https://download.brother.com/welcome/dlf103566/mfcl2750dwpdrv-${version}.i386.deb";
+    url = "https://download.brother.com/welcome/dlf103530/mfcl2750dwpdrv-${version}.i386.deb";
     hash = "sha256-3uDwzLQTF8r1tsGZ7ChGhk4ryQmVsZYdUaj9eFaC0jc=";
   };
 
diff --git a/pkgs/misc/drivers/logiops/default.nix b/pkgs/misc/drivers/logiops/default.nix
new file mode 100644
index 0000000000000..71283a406214e
--- /dev/null
+++ b/pkgs/misc/drivers/logiops/default.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, udev, libevdev, libconfig }:
+
+stdenv.mkDerivation rec {
+  pname = "logiops";
+  version = "0.2.3";
+
+  src = fetchFromGitHub {
+    owner = "pixlone";
+    repo = "logiops";
+    rev = "v${version}";
+    sha256 = "sha256-1v728hbIM2ODtB+r6SYzItczRJCsbuTvhYD2OUM1+/E=";
+  };
+
+  PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system";
+
+  nativeBuildInputs = [ cmake pkg-config ];
+  buildInputs = [ udev libevdev libconfig ];
+
+  meta = with lib; {
+    description = "Unofficial userspace driver for HID++ Logitech devices";
+    homepage = "https://github.com/PixlOne/logiops";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ ckie ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/misc/dxvk/darwin-thread-primitives.patch b/pkgs/misc/dxvk/darwin-thread-primitives.patch
new file mode 100644
index 0000000000000..c008099407c57
--- /dev/null
+++ b/pkgs/misc/dxvk/darwin-thread-primitives.patch
@@ -0,0 +1,186 @@
+diff --git a/src/util/thread.h b/src/util/thread.h
+index 28aeca8a..db5c9913 100644
+--- a/src/util/thread.h
++++ b/src/util/thread.h
+@@ -149,178 +149,8 @@ namespace dxvk {
+     }
+   }
+ 
+-
+-  /**
+-   * \brief SRW-based mutex implementation
+-   *
+-   * Drop-in replacement for \c std::mutex that uses Win32
+-   * SRW locks, which are implemented with \c futex in wine.
+-   */
+-  class mutex {
+-
+-  public:
+-
+-    using native_handle_type = PSRWLOCK;
+-
+-    mutex() { }
+-
+-    mutex(const mutex&) = delete;
+-    mutex& operator = (const mutex&) = delete;
+-
+-    void lock() {
+-      AcquireSRWLockExclusive(&m_lock);
+-    }
+-
+-    void unlock() {
+-      ReleaseSRWLockExclusive(&m_lock);
+-    }
+-
+-    bool try_lock() {
+-      return TryAcquireSRWLockExclusive(&m_lock);
+-    }
+-
+-    native_handle_type native_handle() {
+-      return &m_lock;
+-    }
+-
+-  private:
+-
+-    SRWLOCK m_lock = SRWLOCK_INIT;
+-
+-  };
+-
+-
+-  /**
+-   * \brief Recursive mutex implementation
+-   *
+-   * Drop-in replacement for \c std::recursive_mutex that
+-   * uses Win32 critical sections.
+-   */
+-  class recursive_mutex {
+-
+-  public:
+-
+-    using native_handle_type = PCRITICAL_SECTION;
+-
+-    recursive_mutex() {
+-      InitializeCriticalSection(&m_lock);
+-    }
+-
+-    ~recursive_mutex() {
+-      DeleteCriticalSection(&m_lock);
+-    }
+-
+-    recursive_mutex(const recursive_mutex&) = delete;
+-    recursive_mutex& operator = (const recursive_mutex&) = delete;
+-
+-    void lock() {
+-      EnterCriticalSection(&m_lock);
+-    }
+-
+-    void unlock() {
+-      LeaveCriticalSection(&m_lock);
+-    }
+-
+-    bool try_lock() {
+-      return TryEnterCriticalSection(&m_lock);
+-    }
+-
+-    native_handle_type native_handle() {
+-      return &m_lock;
+-    }
+-
+-  private:
+-
+-    CRITICAL_SECTION m_lock;
+-
+-  };
+-
+-
+-  /**
+-   * \brief SRW-based condition variable implementation
+-   *
+-   * Drop-in replacement for \c std::condition_variable that
+-   * uses Win32 condition variables on SRW locks.
+-   */
+-  class condition_variable {
+-
+-  public:
+-
+-    using native_handle_type = PCONDITION_VARIABLE;
+-
+-    condition_variable() {
+-      InitializeConditionVariable(&m_cond);
+-    }
+-
+-    condition_variable(condition_variable&) = delete;
+-
+-    condition_variable& operator = (condition_variable&) = delete;
+-
+-    void notify_one() {
+-      WakeConditionVariable(&m_cond);
+-    }
+-
+-    void notify_all() {
+-      WakeAllConditionVariable(&m_cond);
+-    }
+-
+-    void wait(std::unique_lock<dxvk::mutex>& lock) {
+-      auto srw = lock.mutex()->native_handle();
+-      SleepConditionVariableSRW(&m_cond, srw, INFINITE, 0);
+-    }
+-
+-    template<typename Predicate>
+-    void wait(std::unique_lock<dxvk::mutex>& lock, Predicate pred) {
+-      while (!pred())
+-        wait(lock);
+-    }
+-
+-    template<typename Clock, typename Duration>
+-    std::cv_status wait_until(std::unique_lock<dxvk::mutex>& lock, const std::chrono::time_point<Clock, Duration>& time) {
+-      auto now = Clock::now();
+-
+-      return (now < time)
+-        ? wait_for(lock, now - time)
+-        : std::cv_status::timeout;
+-    }
+-
+-    template<typename Clock, typename Duration, typename Predicate>
+-    bool wait_until(std::unique_lock<dxvk::mutex>& lock, const std::chrono::time_point<Clock, Duration>& time, Predicate pred) {
+-      if (pred())
+-        return true;
+-
+-      auto now = Clock::now();
+-      return now < time && wait_for(lock, now - time, pred);
+-    }
+-
+-    template<typename Rep, typename Period>
+-    std::cv_status wait_for(std::unique_lock<dxvk::mutex>& lock, const std::chrono::duration<Rep, Period>& timeout) {
+-      auto ms = std::chrono::duration_cast<std::chrono::milliseconds>(timeout);
+-      auto srw = lock.mutex()->native_handle();
+-
+-      return SleepConditionVariableSRW(&m_cond, srw, ms.count(), 0)
+-        ? std::cv_status::no_timeout
+-        : std::cv_status::timeout;
+-    }
+-
+-    template<typename Rep, typename Period, typename Predicate>
+-    bool wait_for(std::unique_lock<dxvk::mutex>& lock, const std::chrono::duration<Rep, Period>& timeout, Predicate pred) {
+-      bool result = pred();
+-
+-      if (!result && wait_for(lock, timeout) == std::cv_status::no_timeout)
+-        result = pred();
+-
+-      return result;
+-    }
+-
+-    native_handle_type native_handle() {
+-      return &m_cond;
+-    }
+-
+-  private:
+-
+-    CONDITION_VARIABLE m_cond;
+-
+-  };
++  using mutex = std::mutex;
++  using recursive_mutex = std::recursive_mutex;
++  using condition_variable = std::condition_variable;
+ 
+ }
diff --git a/pkgs/misc/dxvk/default.nix b/pkgs/misc/dxvk/default.nix
index 61e2d78b45c0d..7c466b44ae6b3 100644
--- a/pkgs/misc/dxvk/default.nix
+++ b/pkgs/misc/dxvk/default.nix
@@ -1,33 +1,52 @@
 { lib
 , pkgs
-, stdenv
+, hostPlatform
+, stdenvNoCC
 , fetchFromGitHub
 , pkgsCross
 }:
 
 let
+  inherit (hostPlatform.uname) system;
+
   # DXVK needs to be a separate derivation because it’s actually a set of DLLs for Windows that
   # needs to be built with a cross-compiler.
   dxvk32 = pkgsCross.mingw32.callPackage ./dxvk.nix { inherit (self) src version dxvkPatches; };
   dxvk64 = pkgsCross.mingwW64.callPackage ./dxvk.nix { inherit (self) src version dxvkPatches; };
 
+  # Split out by platform to make maintenance easy in case supported versions on Darwin and other
+  # platforms diverge (due to the need for Darwin-specific patches that would fail to apply).
+  # Should that happen, set `darwin` to the last working `rev` and `hash`.
+  srcs = rec {
+    darwin = { inherit (default) rev hash version; };
+    default = {
+      rev = "v${self.version}";
+      hash = "sha256-+6PkrkamSvhCaGj2tq+RXri/yQ7vs0cAqgdRAFtU8UA=";
+      version = "1.10.1";
+    };
+  };
+
   # Use the self pattern to support overriding `src` and `version` via `overrideAttrs`. A recursive
   # attrset wouldn’t work.
-  self = stdenv.mkDerivation {
+  self = stdenvNoCC.mkDerivation {
     name = "dxvk";
-    version = "1.10";
+    inherit (srcs."${system}" or srcs.default) version;
 
     src = fetchFromGitHub {
       owner = "doitsujin";
       repo = "dxvk";
-      rev = "v${self.version}";
-      hash = "sha256-/zH6vER/6s/d+Tt181UJOa97sqdkJyKGw6E36+1owzQ=";
+      inherit (srcs."${system}" or srcs.default) rev hash;
     };
 
-    # Patch DXVK to work with MoltenVK even though it doesn’t support some required features.
-    # Some games will work poorly (particularly Unreal Engine 4 games), but others work pretty well.
     # Override this to patch DXVK itself (rather than the setup script).
-    dxvkPatches = lib.optional stdenv.isDarwin ./darwin-dxvk-compat.patch;
+    dxvkPatches = lib.optionals stdenvNoCC.isDarwin [
+      # Patch DXVK to work with MoltenVK even though it doesn’t support some required features.
+      # Some games work poorly (particularly Unreal Engine 4 games), but others work pretty well.
+      ./darwin-dxvk-compat.patch
+      # Use synchronization primitives from the C++ standard library to avoid deadlocks on Darwin.
+      # See: https://www.reddit.com/r/macgaming/comments/t8liua/comment/hzsuce9/
+      ./darwin-thread-primitives.patch
+    ];
 
     outputs = [ "out" "bin" "lib" ];
 
@@ -53,6 +72,7 @@ let
 
     # DXVK with MoltenVK requires a patched MoltenVK in addition to its own patches. Provide a
     # convenience function to handle the necessary patching.
+    #
     # Usage:
     # let
     #   patchedMoltenVK = dxvk.patchMoltenVK darwin.moltenvk;
@@ -61,9 +81,10 @@ let
     passthru.patchMoltenVK = moltenvk:
       moltenvk.overrideAttrs (old: {
         patches = old.patches or [ ] ++ [
-          # Lie to DXVK about certain features that DXVK expects to be available and set defaults
-          # for better performance/compatability on certain hardware.
-          ./darwin-moltenvk-compat.patch
+          # Apply MoltenVK’s DXVK compatability patch. This is needed to fake support for certain
+          # extensions. There is no package for a patched MoltenVK to avoid any confusion by users
+          # whether they should use it. Except with DXVK, the answer is always no.
+          old.passthru.dxvkPatch
         ];
       });
 
diff --git a/pkgs/misc/dxvk/dxvk.nix b/pkgs/misc/dxvk/dxvk.nix
index 40b674df9225d..2eb4f30df2bc3 100644
--- a/pkgs/misc/dxvk/dxvk.nix
+++ b/pkgs/misc/dxvk/dxvk.nix
@@ -19,18 +19,6 @@ stdenv.mkDerivation {
 
   patches = dxvkPatches;
 
-  # Replace use of DXVK’s threading classes with the ones from the C++ standard library, which uses
-  # mcfgthreads in nixpkgs.
-  postPatch = ''
-    for class in mutex recursive_mutex condition_variable; do
-      for file in $(grep -rl dxvk::$class *); do
-        if [ "$(basename "$file")" != "thread.h" ]; then
-          substituteInPlace "$file" --replace dxvk::$class std::$class
-        fi
-      done
-    done
-  '';
-
   mesonFlags =
     let
       arch = if stdenv.is32bit then "32" else "64";
diff --git a/pkgs/misc/ghostscript/default.nix b/pkgs/misc/ghostscript/default.nix
index e80ad8a839fb4..327cf2862346c 100644
--- a/pkgs/misc/ghostscript/default.nix
+++ b/pkgs/misc/ghostscript/default.nix
@@ -29,11 +29,11 @@ let
 
 in
 stdenv.mkDerivation rec {
-  pname = "ghostscript";
+  pname = "ghostscript${lib.optionalString (x11Support) "-with-X"}";
   version = "9.55.0";
 
   src = fetchurl {
-    url = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9${lib.versions.minor version}${lib.versions.patch version}/${pname}-${version}.tar.xz";
+    url = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9${lib.versions.minor version}${lib.versions.patch version}/ghostscript-${version}.tar.xz";
     sha512 = "27g72152mlwlalg232jxdhaf3ykgmqwi2pccbkwfygql1h9iz40plfbwbs1n0fkvm4zwzg5r9cr8g7w2dxih4jldiidv7rflxdy1is2";
   };
 
diff --git a/pkgs/misc/logging/beats/6.x.nix b/pkgs/misc/logging/beats/6.x.nix
index f5e31924791b2..bdef9dd213914 100644
--- a/pkgs/misc/logging/beats/6.x.nix
+++ b/pkgs/misc/logging/beats/6.x.nix
@@ -41,20 +41,6 @@ in rec {
         elk = nixosTests.elk.ELK-6;
       };
   };
-  packetbeat6 = beat "packetbeat" {
-    buildInputs = [ libpcap ];
-    meta.broken = true;
-    meta.description = "Network packet analyzer that ships data to Elasticsearch";
-    meta.longDescription = ''
-      Packetbeat is an open source network packet analyzer that ships the
-      data to Elasticsearch.
-
-      Think of it like a distributed real-time Wireshark with a lot more
-      analytics features. The Packetbeat shippers sniff the traffic between
-      your application processes, parse on the fly protocols like HTTP, MySQL,
-      PostgreSQL, Redis or Thrift and correlate the messages into transactions.
-    '';
-  };
   journalbeat6  = beat "journalbeat" {
     meta.description = ''
       Journalbeat is an open source data collector to read and forward
diff --git a/pkgs/misc/sndio/default.nix b/pkgs/misc/sndio/default.nix
index 474e59c590a5a..786c3c3a40a48 100644
--- a/pkgs/misc/sndio/default.nix
+++ b/pkgs/misc/sndio/default.nix
@@ -12,6 +12,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
   buildInputs = lib.optional stdenv.hostPlatform.isLinux alsa-lib;
 
+  postInstall = ''
+    install -Dm644 contrib/sndiod.service $out/lib/systemd/system/sndiod.service
+  '';
+
   enableParallelBuilding = true;
 
   meta = with lib; {
diff --git a/pkgs/os-specific/darwin/apple-sdk-11.0/frameworks.nix b/pkgs/os-specific/darwin/apple-sdk-11.0/frameworks.nix
index 96c0475c087ec..e9121b0211641 100644
--- a/pkgs/os-specific/darwin/apple-sdk-11.0/frameworks.nix
+++ b/pkgs/os-specific/darwin/apple-sdk-11.0/frameworks.nix
@@ -89,6 +89,8 @@
   IOBluetooth                      = { inherit CoreBluetooth IOKit; };
   IOBluetoothUI                    = { inherit IOBluetooth; };
   IOKit                            = {};
+  # `IOSurface` should depend on `Libsystem` (in place of `xpc`) but this currently causes build
+  # issues due to incompatibility issues between `Libsystem` and `libcxx`.
   IOSurface                        = { inherit IOKit xpc; };
   IOUSBHost                        = {};
   IdentityLookup                   = {};
diff --git a/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix
index dd3cf03095266..2772ca0460d60 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/network_cmds/default.nix
@@ -1,9 +1,9 @@
 { lib, appleDerivation, xcbuildHook
-, openssl_1_0_2, Librpcsvc, xnu, libpcap, developer_cmds }:
+, openssl, Librpcsvc, xnu, libpcap, developer_cmds }:
 
 appleDerivation {
   nativeBuildInputs = [ xcbuildHook ];
-  buildInputs = [ openssl_1_0_2 xnu Librpcsvc libpcap developer_cmds ];
+  buildInputs = [ openssl xnu Librpcsvc libpcap developer_cmds ];
 
   NIX_CFLAGS_COMPILE = " -I./unbound -I${xnu}/Library/Frameworks/System.framework/Headers/";
 
diff --git a/pkgs/os-specific/darwin/m-cli/default.nix b/pkgs/os-specific/darwin/m-cli/default.nix
index f19f5a0275bce..9134fad6012c9 100644
--- a/pkgs/os-specific/darwin/m-cli/default.nix
+++ b/pkgs/os-specific/darwin/m-cli/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "m-cli";
-  version = "0.2.5";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "rgcr";
-    repo = "m-cli";
+    repo = pname;
     rev = "v${version}";
-    sha512 = "0mkcx7jq91pbfs8327qc8434gj73fvjgdfdsrza0lyd9wns6jhsqsf0585klzl68aqscvksgzi2asdnim4va35cdkp2fdzl0g3sm4kd";
+    sha256 = "sha256-KzlE1DdVMLnGmcOS1a2HK4pASofD1EHpdqbzVVIxeb4=";
   };
 
   dontBuild = true;
@@ -35,11 +35,11 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Swiss Army Knife for macOS";
     inherit (src.meta) homepage;
-    repositories.git = "git://github.com/rgcr/m-cli.git";
 
     license = licenses.mit;
 
     platforms = platforms.darwin;
     maintainers = with maintainers; [];
+    mainProgram = "m";
   };
 }
diff --git a/pkgs/os-specific/darwin/moltenvk/default.nix b/pkgs/os-specific/darwin/moltenvk/default.nix
index ba8bc605e8b45..dc7f3f58fd3a8 100644
--- a/pkgs/os-specific/darwin/moltenvk/default.nix
+++ b/pkgs/os-specific/darwin/moltenvk/default.nix
@@ -43,6 +43,10 @@ stdenvNoCC.mkDerivation rec {
   # MoltenVK requires specific versions of its dependencies.
   # Pin them here except for cereal, which is four years old and has several CVEs.
   passthru = {
+    # The patch required to support DXVK may different from version to version. This should never
+    # be used except with DXVK, so there’s no package for it. To emphasize that this patch should
+    # never be used except with DXVK, `dxvk` provides a function for applying this patch.
+    dxvkPatch = ./dxvk-moltenvk-compat.patch;
     glslang = (glslang.overrideAttrs (old: {
       src = fetchFromGitHub {
         owner = "KhronosGroup";
diff --git a/pkgs/misc/dxvk/darwin-moltenvk-compat.patch b/pkgs/os-specific/darwin/moltenvk/dxvk-moltenvk-compat.patch
index 7d16fdf703318..7d16fdf703318 100644
--- a/pkgs/misc/dxvk/darwin-moltenvk-compat.patch
+++ b/pkgs/os-specific/darwin/moltenvk/dxvk-moltenvk-compat.patch
diff --git a/pkgs/os-specific/linux/apfs/default.nix b/pkgs/os-specific/linux/apfs/default.nix
index 98fd83ed5d518..eedaa9ef96872 100644
--- a/pkgs/os-specific/linux/apfs/default.nix
+++ b/pkgs/os-specific/linux/apfs/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation {
   pname = "apfs";
-  version = "unstable-2021-09-21-${kernel.version}";
+  version = "unstable-2022-02-03-${kernel.version}";
 
   src = fetchFromGitHub {
     owner = "linux-apfs";
     repo = "linux-apfs-rw";
-    rev = "362c4e32ab585b9234a26aa3e49f29b605612a31";
-    sha256 = "sha256-Y8/PGPLirNrICF+Bum60v/DBPa1xpox5VBvt64myZzs=";
+    rev = "a0d6a4dca69b6eab3cabaaee4d4284807828a266";
+    sha256 = "sha256-3T1BNc6g3SDTxb0VrronLUIp/CWbwnzXTsc8Qk5c4jY=";
   };
 
   hardeningDisable = [ "pic" ];
diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix
index 5c1cf272e0e79..a7afd83862457 100644
--- a/pkgs/os-specific/linux/apparmor/default.nix
+++ b/pkgs/os-specific/linux/apparmor/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, fetchpatch, makeWrapper, autoreconfHook
+{ stdenv, lib, fetchFromGitLab, fetchpatch, makeWrapper, autoreconfHook
 , pkg-config, which
 , flex, bison
 , linuxHeaders ? stdenv.cc.libc.linuxHeaders
@@ -21,7 +21,7 @@
 }:
 
 let
-  apparmor-version = "3.0.3";
+  apparmor-version = "3.0.4";
 
   apparmor-meta = component: with lib; {
     homepage = "https://apparmor.net/";
@@ -31,9 +31,11 @@ let
     platforms = platforms.linux;
   };
 
-  apparmor-sources = fetchurl {
-    url = "https://launchpad.net/apparmor/${lib.versions.majorMinor apparmor-version}/${apparmor-version}/+download/apparmor-${apparmor-version}.tar.gz";
-    sha256 = "0nasq8pdmzkrf856yg1v8z5hcs0nn6gw2qr60ab0a7j9ixfv0g8m";
+  apparmor-sources = fetchFromGitLab {
+    owner = "apparmor";
+    repo = "apparmor";
+    rev = "v${apparmor-version}";
+    sha256 = "1a217j28rgfq4lsmpn0wv1xgmdr9ba8iysv9i6q477kj6z77zrb9";
   };
 
   aa-teardown = writeShellScript "aa-teardown" ''
@@ -48,8 +50,9 @@ let
     substituteInPlace ./common/Make.rules \
       --replace "/usr/bin/pod2man" "${buildPackages.perl}/bin/pod2man" \
       --replace "/usr/bin/pod2html" "${buildPackages.perl}/bin/pod2html" \
-      --replace "/usr/include/linux/capability.h" "${linuxHeaders}/include/linux/capability.h" \
       --replace "/usr/share/man" "share/man"
+    substituteInPlace ./utils/Makefile \
+      --replace "/usr/include/linux/capability.h" "${linuxHeaders}/include/linux/capability.h"
   '';
 
   patches = lib.optionals stdenv.hostPlatform.isMusl [
@@ -60,6 +63,8 @@ let
     })
   ];
 
+  python = python3.withPackages (ps: with ps; [ setuptools ]);
+
   # Set to `true` after the next FIXME gets fixed or this gets some
   # common derivation infra. Too much copy-paste to fix one by one.
   doCheck = false;
@@ -86,19 +91,16 @@ let
       ncurses
       which
       perl
-    ] ++ lib.optional withPython python3;
+    ] ++ lib.optional withPython python;
 
     buildInputs = lib.optional withPerl perl
-      ++ lib.optional withPython python3;
+      ++ lib.optional withPython python;
 
     # required to build apparmor-parser
     dontDisableStatic = true;
 
     prePatch = prePatchCommon + ''
       substituteInPlace ./libraries/libapparmor/swig/perl/Makefile.am --replace install_vendor install_site
-      substituteInPlace ./libraries/libapparmor/swig/perl/Makefile.in --replace install_vendor install_site
-      substituteInPlace ./libraries/libapparmor/src/Makefile.am --replace "/usr/include/netinet/in.h" "${lib.getDev stdenv.cc.libc}/include/netinet/in.h"
-      substituteInPlace ./libraries/libapparmor/src/Makefile.in --replace "/usr/include/netinet/in.h" "${lib.getDev stdenv.cc.libc}/include/netinet/in.h"
     '';
     inherit patches;
 
@@ -132,12 +134,12 @@ let
 
     strictDeps = true;
 
-    nativeBuildInputs = [ makeWrapper which python3 ];
+    nativeBuildInputs = [ makeWrapper which python ];
 
     buildInputs = [
       bash
       perl
-      python3
+      python
       libapparmor
       libapparmor.python
     ];
@@ -159,7 +161,7 @@ let
     postInstall = ''
       sed -i $out/bin/aa-unconfined -e "/my_env\['PATH'\]/d"
       for prog in aa-audit aa-autodep aa-cleanprof aa-complain aa-disable aa-enforce aa-genprof aa-logprof aa-mergeprof aa-unconfined ; do
-        wrapProgram $out/bin/$prog --prefix PYTHONPATH : "$out/lib/${python3.libPrefix}/site-packages:$PYTHONPATH"
+        wrapProgram $out/bin/$prog --prefix PYTHONPATH : "$out/lib/${python.sitePackages}:$PYTHONPATH"
       done
 
       substituteInPlace $out/bin/aa-notify \
diff --git a/pkgs/os-specific/linux/autofs/default.nix b/pkgs/os-specific/linux/autofs/default.nix
index 7b29f5a0e5cfe..5e552301fe48e 100644
--- a/pkgs/os-specific/linux/autofs/default.nix
+++ b/pkgs/os-specific/linux/autofs/default.nix
@@ -1,5 +1,7 @@
 { lib, stdenv, fetchurl, flex, bison, linuxHeaders, libtirpc, mount, umount, nfs-utils, e2fsprogs
-, libxml2, libkrb5, kmod, openldap, sssd, cyrus_sasl, openssl, rpcsvc-proto }:
+, libxml2, libkrb5, kmod, openldap, sssd, cyrus_sasl, openssl, rpcsvc-proto
+, fetchpatch
+}:
 
 stdenv.mkDerivation rec {
   version = "5.1.6";
@@ -10,6 +12,15 @@ stdenv.mkDerivation rec {
     sha256 = "1vya21mb4izj3khcr3flibv7xc15vvx2v0rjfk5yd31qnzcy7pnx";
   };
 
+  patches = [
+    # glibc 2.34 compat
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/autofs/raw/cc745af5e42396d540d5b3b92fae486e232bf6bd/f/autofs-5.1.7-use-default-stack-size-for-threads.patch";
+      sha256 = "sha256-6ETDFbW7EhHR03xFWF+6OJBgn9NX3WW3bGhTNGodaOc=";
+      excludes = [ "CHANGELOG" ];
+    })
+  ];
+
   preConfigure = ''
     configureFlags="--enable-force-shutdown --enable-ignore-busy --with-path=$PATH"
     export sssldir="${sssd}/lib/sssd/modules"
diff --git a/pkgs/os-specific/linux/autosuspend/default.nix b/pkgs/os-specific/linux/autosuspend/default.nix
index 4283230f7ad78..fd4164be34a7a 100644
--- a/pkgs/os-specific/linux/autosuspend/default.nix
+++ b/pkgs/os-specific/linux/autosuspend/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "autosuspend";
-  version = "4.1.0";
+  version = "4.1.1";
 
   src = fetchFromGitHub {
     owner = "languitar";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0vn1qhsmjlgd7gn11w938kraz55xyixpzrgq06dar066hcsn1x8w";
+    sha256 = "sha256-UdHaz1JIofUrw9G/K40AVhBWdvMdTK4Wa7FWb6ntwr0=";
   };
 
   postPatch = ''
diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix
index fb75b99f03d90..ab9b7055fdda4 100644
--- a/pkgs/os-specific/linux/bluez/default.nix
+++ b/pkgs/os-specific/linux/bluez/default.nix
@@ -135,6 +135,5 @@ in stdenv.mkDerivation rec {
     homepage = "http://www.bluez.org/";
     license = with licenses; [ gpl2 lgpl21 ];
     platforms = platforms.linux;
-    repositories.git = "https://git.kernel.org/pub/scm/bluetooth/bluez.git";
   };
 }
diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix
index 7aaedb5b1acdc..970129f97390f 100644
--- a/pkgs/os-specific/linux/busybox/default.nix
+++ b/pkgs/os-specific/linux/busybox/default.nix
@@ -65,6 +65,16 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./busybox-in-store.patch
+    (fetchurl {
+      name = "CVE-2022-28391.patch";
+      url = "https://git.alpinelinux.org/aports/plain/main/busybox/0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch?id=ed92963eb55bbc8d938097b9ccb3e221a94653f4";
+      sha256 = "sha256-yviw1GV+t9tbHbY7YNxEqPi7xEreiXVqbeRyf8c6Awo=";
+    })
+    (fetchurl {
+      name = "CVE-2022-28391.patch";
+      url = "https://git.alpinelinux.org/aports/plain/main/busybox/0002-nslookup-sanitize-all-printed-strings-with-printable.patch?id=ed92963eb55bbc8d938097b9ccb3e221a94653f4";
+      sha256 = "sha256-vl1wPbsHtXY9naajjnTicQ7Uj3N+EQ8pRNnrdsiow+w=";
+    })
   ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) ./clang-cross.patch;
 
   separateDebugInfo = true;
diff --git a/pkgs/os-specific/linux/conky/default.nix b/pkgs/os-specific/linux/conky/default.nix
index 9bd8890e71348..87f5bb052f488 100644
--- a/pkgs/os-specific/linux/conky/default.nix
+++ b/pkgs/os-specific/linux/conky/default.nix
@@ -1,7 +1,7 @@
 { config, lib, stdenv, fetchFromGitHub, pkg-config, cmake
 
 # dependencies
-, glib, libXinerama
+, glib, libXinerama, catch2
 
 # optional features without extra dependencies
 , mpdSupport          ? true
@@ -85,6 +85,8 @@ stdenv.mkDerivation rec {
     sed -i 's/ Example: .*$//' doc/config_settings.xml
 
     substituteInPlace cmake/Conky.cmake --replace "# set(RELEASE true)" "set(RELEASE true)"
+
+    cp ${catch2}/include/catch2/catch.hpp tests/catch2/catch.hpp
   '';
 
   NIX_LDFLAGS = "-lgcc_s";
@@ -133,6 +135,8 @@ stdenv.mkDerivation rec {
   # src/conky.cc:137:23: fatal error: defconfig.h: No such file or directory
   enableParallelBuilding = false;
 
+  doCheck = true;
+
   meta = with lib; {
     homepage = "http://conky.sourceforge.net/";
     description = "Advanced, highly configurable system monitor based on torsmo";
diff --git a/pkgs/os-specific/linux/conspy/default.nix b/pkgs/os-specific/linux/conspy/default.nix
index 12e7f798e79e3..00e97855e2617 100644
--- a/pkgs/os-specific/linux/conspy/default.nix
+++ b/pkgs/os-specific/linux/conspy/default.nix
@@ -10,9 +10,8 @@ stdenv.mkDerivation rec {
     curlOpts = " -A application/octet-stream ";
   };
 
+  nativeBuildInputs = [ autoconf automake ];
   buildInputs = [
-    autoconf
-    automake
     ncurses
   ];
 
diff --git a/pkgs/os-specific/linux/cpupower-gui/default.nix b/pkgs/os-specific/linux/cpupower-gui/default.nix
index 2fcc55e14cb32..1f57bc9428f02 100644
--- a/pkgs/os-specific/linux/cpupower-gui/default.nix
+++ b/pkgs/os-specific/linux/cpupower-gui/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , buildPythonApplication
 , appstream-glib
 , dbus-python
@@ -35,6 +36,15 @@ buildPythonApplication rec {
     sha256 = "05lvpi3wgyi741sd8lgcslj8i7yi3wz7jwl7ca3y539y50hwrdas";
   };
 
+  patches = [
+    # Fix build with 0.61, can be removed on next update
+    # https://hydra.nixos.org/build/171052557/nixlog/1
+    (fetchpatch {
+      url = "https://github.com/vagnum08/cpupower-gui/commit/97f8ac02fe33e412b59d3f3968c16a217753e74b.patch";
+      sha256 = "XYnpm03kq8JLMjAT73BMCJWlzz40IAuHESm715VV6G0=";
+    })
+  ];
+
   nativeBuildInputs = [
     appstream-glib
     desktop-file-utils # needed for update-desktop-database
diff --git a/pkgs/os-specific/linux/cryptsetup/default.nix b/pkgs/os-specific/linux/cryptsetup/default.nix
index a9bd508d16ecd..be819802394e5 100644
--- a/pkgs/os-specific/linux/cryptsetup/default.nix
+++ b/pkgs/os-specific/linux/cryptsetup/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   pname = "cryptsetup";
   version = "2.4.3";
 
-  outputs = [ "out" "dev" "man" ];
+  outputs = [ "bin" "out" "dev" "man" ];
   separateDebugInfo = true;
 
   src = fetchurl {
@@ -31,6 +31,12 @@ stdenv.mkDerivation rec {
     "--enable-cryptsetup-reencrypt"
     "--with-crypto_backend=openssl"
     "--disable-ssh-token"
+  ] ++ lib.optionals stdenv.hostPlatform.isStatic [
+    "--disable-external-tokens"
+    # We have to override this even though we're removing token
+    # support, because the path still gets included in the binary even
+    # though it isn't used.
+    "--with-luks2-external-tokens-path=/"
   ];
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/os-specific/linux/disk-indicator/default.nix b/pkgs/os-specific/linux/disk-indicator/default.nix
index 8a083b8b894df..44dd19b27dfb7 100644
--- a/pkgs/os-specific/linux/disk-indicator/default.nix
+++ b/pkgs/os-specific/linux/disk-indicator/default.nix
@@ -1,13 +1,14 @@
-{ lib, stdenv, fetchgit, libX11 }:
+{ lib, stdenv, fetchFromGitHub, libX11 }:
 
 stdenv.mkDerivation {
   pname = "disk-indicator";
   version = "unstable-2014-05-19";
 
-  src = fetchgit {
-    url = "git://github.com/MeanEYE/Disk-Indicator.git";
+  src = fetchFromGitHub {
+    owner = "MeanEYE";
+    repo = "Disk-Indicator";
     rev = "51ef4afd8141b8d0659cbc7dc62189c56ae9c2da";
-    sha256 = "10jx6mx9qarn21p2l2jayxkn1gmqhvck1wymgsr4jmbwxl8ra5kd";
+    sha256 = "sha256-bRaVEe18VUmyftXzMNmGuL5gZ/dKCipuEDYrnHo1XYI=";
   };
 
   buildInputs = [ libX11 ];
diff --git a/pkgs/os-specific/linux/displaylink/default.nix b/pkgs/os-specific/linux/displaylink/default.nix
index f1e942a439938..e7e572ce18e14 100644
--- a/pkgs/os-specific/linux/displaylink/default.nix
+++ b/pkgs/os-specific/linux/displaylink/default.nix
@@ -20,22 +20,22 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "displaylink";
-  version = "5.5.0-beta-59.118";
+  version = "5.5.0-59.151";
 
   src = requireFile rec {
     name = "displaylink-55.zip";
-    sha256 = "0mid6p1mnkhbl96cr763ngdwrlgnpgs6c137rwc2sjf4v33g59ma";
+    sha256 = "0pswmczzrqqq0s0ksp6rfnkm693ligq4nblki1v53jdh0y7d1gff";
     message = ''
       In order to install the DisplayLink drivers, you must first
       comply with DisplayLink's EULA and download the binaries and
       sources from here:
 
-      https://www.synaptics.com/products/displaylink-graphics/downloads/ubuntu-5.5-Beta
+      https://www.synaptics.com/products/displaylink-graphics/downloads/ubuntu-5.5
 
       Once you have downloaded the file, please use the following
       commands and re-run the installation:
 
-      mv \$PWD/"DisplayLink USB Graphics Software for Ubuntu (Beta)5.5 Beta-EXE.zip" \$PWD/${name}
+      mv \$PWD/"DisplayLink USB Graphics Software for Ubuntu5.5-EXE.zip" \$PWD/${name}
       nix-prefetch-url file://\$PWD/${name}
     '';
   };
diff --git a/pkgs/os-specific/linux/earlyoom/default.nix b/pkgs/os-specific/linux/earlyoom/default.nix
index 46e83609722a6..ad7468bac0f55 100644
--- a/pkgs/os-specific/linux/earlyoom/default.nix
+++ b/pkgs/os-specific/linux/earlyoom/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, pandoc, installShellFiles, withManpage ? false }:
+{ lib, stdenv, fetchFromGitHub, pandoc, installShellFiles, withManpage ? false, nixosTests }:
 
 stdenv.mkDerivation rec {
   pname = "earlyoom";
@@ -23,6 +23,10 @@ stdenv.mkDerivation rec {
     installManPage earlyoom.1
   '';
 
+  passthru.tests = {
+    inherit (nixosTests) earlyoom;
+  };
+
   meta = with lib; {
     description = "Early OOM Daemon for Linux";
     homepage = "https://github.com/rfjakob/earlyoom";
diff --git a/pkgs/os-specific/linux/ell/default.nix b/pkgs/os-specific/linux/ell/default.nix
index aa8e3f15aab27..d79201cc4cd18 100644
--- a/pkgs/os-specific/linux/ell/default.nix
+++ b/pkgs/os-specific/linux/ell/default.nix
@@ -7,14 +7,14 @@
 
 stdenv.mkDerivation rec {
   pname = "ell";
-  version = "0.46";
+  version = "0.49";
 
   outputs = [ "out" "dev" ];
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/libs/ell/ell.git";
     rev = version;
-    sha256 = "sha256-Am1PNFFfSzII4Iaeq0wgfuVHSeMDjiDzYkNQWlnEHJY=";
+    sha256 = "sha256-/5ivelqRDvJuPVJqMs27VJUIq7/Dw6ROt/cmjSo309s=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix b/pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix
index 389078db0af52..fe7a3e9ae406f 100644
--- a/pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix
+++ b/pkgs/os-specific/linux/firmware/b43-firmware-cutter/default.nix
@@ -11,7 +11,10 @@ stdenv.mkDerivation rec {
 
   patches = [ ./no-root-install.patch ];
 
-  makeFlags = [ "PREFIX=$(out)" ];
+  makeFlags = [
+    "PREFIX=$(out)"
+    "CC=${stdenv.cc.targetPrefix}cc"
+  ];
 
   meta = {
     description = "Firmware extractor for cards supported by the b43 kernel module";
diff --git a/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix b/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix
index 3f810fd93a1c3..98d793c5d9983 100644
--- a/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix
+++ b/pkgs/os-specific/linux/firmware/b43-firmware/5.1.138.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
     sha256 = "0vz4ka8gycf72gmnaq61k8rh8y17j1wm2k3fidxvcqjvmix0drzi";
   };
 
-  buildInputs = [ b43FirmwareCutter ];
+  nativeBuildInputs = [ b43FirmwareCutter ];
 
   installPhase = ''
     mkdir -p $out/lib/firmware
diff --git a/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix b/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix
index 1116d96a637f3..622b89b1baea5 100644
--- a/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix
+++ b/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "0baw6gcnrhxbb447msv34xg6rmlcj0gm3ahxwvdwfcvq4xmknz50";
   };
 
-  buildInputs = [ b43FirmwareCutter ];
+  nativeBuildInputs = [ b43FirmwareCutter ];
 
   sourceRoot = ".";
 
diff --git a/pkgs/os-specific/linux/fuse/common.nix b/pkgs/os-specific/linux/fuse/common.nix
index 5adb1b5355ad4..ac4deb19f51ce 100644
--- a/pkgs/os-specific/linux/fuse/common.nix
+++ b/pkgs/os-specific/linux/fuse/common.nix
@@ -31,7 +31,13 @@ in stdenv.mkDerivation rec {
       })
     ++ (if isFuse3
       then [ ./fuse3-install.patch ./fuse3-Do-not-set-FUSERMOUNT_DIR.patch ]
-      else [ ./fuse2-Do-not-set-FUSERMOUNT_DIR.patch ]);
+      else [
+        ./fuse2-Do-not-set-FUSERMOUNT_DIR.patch
+        (fetchpatch {
+          url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-fs/fuse/files/fuse-2.9.9-closefrom-glibc-2-34.patch?id=8a970396fca7aca2d5a761b8e7a8242f1eef14c9";
+          sha256 = "sha256-ELYBW/wxRcSMssv7ejCObrpsJHtOPJcGq33B9yHQII4=";
+        })
+      ]);
 
   nativeBuildInputs = if isFuse3
     then [ meson ninja pkg-config ]
@@ -92,7 +98,7 @@ in stdenv.mkDerivation rec {
       provides the reference implementation for communicating with the FUSE
       kernel module.
     '';
-    inherit (src.meta) homepage;
+    homepage = "https://github.com/libfuse/libfuse";
     changelog = "https://github.com/libfuse/libfuse/releases/tag/fuse-${version}";
     platforms = platforms.linux;
     license = with licenses; [ gpl2Only lgpl21Only ];
diff --git a/pkgs/os-specific/linux/hostapd/default.nix b/pkgs/os-specific/linux/hostapd/default.nix
index 8124da489aee2..3fdbaa9149a68 100644
--- a/pkgs/os-specific/linux/hostapd/default.nix
+++ b/pkgs/os-specific/linux/hostapd/default.nix
@@ -73,7 +73,6 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://hostap.epitest.fi";
-    repositories.git = "git://w1.fi/hostap.git";
     description = "A user space daemon for access point and authentication servers";
     license = licenses.gpl2;
     maintainers = with maintainers; [ ninjatrappeur hexa ];
diff --git a/pkgs/os-specific/linux/i7z/default.nix b/pkgs/os-specific/linux/i7z/default.nix
index 7de8046483d41..9af2aba3d8066 100644
--- a/pkgs/os-specific/linux/i7z/default.nix
+++ b/pkgs/os-specific/linux/i7z/default.nix
@@ -49,7 +49,6 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A better i7 (and now i3, i5) reporting tool for Linux";
     homepage = "https://github.com/DimitryAndric/i7z";
-    repositories.git = "https://github.com/DimitryAndric/i7z.git";
     license = licenses.gpl2;
     maintainers = with maintainers; [ bluescreen303 ];
     # broken on ARM
diff --git a/pkgs/os-specific/linux/intel-ocl/default.nix b/pkgs/os-specific/linux/intel-ocl/default.nix
index 06cb18b237742..026ce80c645af 100644
--- a/pkgs/os-specific/linux/intel-ocl/default.nix
+++ b/pkgs/os-specific/linux/intel-ocl/default.nix
@@ -5,7 +5,11 @@ stdenv.mkDerivation rec {
   version = "5.0-63503";
 
   src = fetchzip {
-    url = "https://registrationcenter-download.intel.com/akdlm/irc_nas/11396/SRB5.0_linux64.zip";
+    # https://github.com/NixOS/nixpkgs/issues/166886
+    urls = [
+      "https://registrationcenter-download.intel.com/akdlm/irc_nas/11396/SRB5.0_linux64.zip"
+      "http://registrationcenter-download.intel.com/akdlm/irc_nas/11396/SRB5.0_linux64.zip"
+    ];
     sha256 = "0qbp63l74s0i80ysh9ya8x7r79xkddbbz4378nms9i7a0kprg9p2";
     stripRoot = false;
   };
diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix
index 72ecaffe5f50f..19f4301ff537b 100644
--- a/pkgs/os-specific/linux/iwd/default.nix
+++ b/pkgs/os-specific/linux/iwd/default.nix
@@ -12,12 +12,12 @@
 
 stdenv.mkDerivation rec {
   pname = "iwd";
-  version = "1.20";
+  version = "1.25";
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/network/wireless/iwd.git";
     rev = version;
-    sha256 = "sha256-GcqmMqrZSgvSrsY8FJbPynNWTzSi5A6kmyq+xJ+2i3Y=";
+    sha256 = "sha256-3IiRuILU2FKzXAQ0Q79DX2+nlNMcHNanS8m9GqjBBnU=";
   };
 
   outputs = [ "out" "man" "doc" ]
@@ -59,6 +59,7 @@ stdenv.mkDerivation rec {
   postUnpack = ''
     mkdir -p iwd/ell
     ln -s ${ell.src}/ell/useful.h iwd/ell/useful.h
+    ln -s ${ell.src}/ell/asn1-private.h iwd/ell/asn1-private.h
     patchShebangs .
   '';
 
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index ce6123a10f7f3..fdf54d302bf20 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -60,16 +60,16 @@ let
     };
 
     power-management = {
-      PM_ADVANCED_DEBUG                = yes;
-      X86_INTEL_LPSS                   = yes;
-      X86_INTEL_PSTATE                 = yes;
-      INTEL_IDLE                       = yes;
       CPU_FREQ_DEFAULT_GOV_PERFORMANCE = yes;
       CPU_FREQ_GOV_SCHEDUTIL           = yes;
+      PM_ADVANCED_DEBUG                = yes;
       PM_WAKELOCKS                     = yes;
-      # Power-capping framework and support for INTEL RAPL
       POWERCAP                         = yes;
+    } // optionalAttrs (stdenv.hostPlatform.isx86) {
+      INTEL_IDLE                       = yes;
       INTEL_RAPL                       = whenAtLeast "5.3" module;
+      X86_INTEL_LPSS                   = yes;
+      X86_INTEL_PSTATE                 = yes;
     };
 
     external-firmware = {
@@ -269,8 +269,6 @@ let
       DRM_GMA600             = whenOlder "5.13" yes;
       DRM_GMA3600            = whenOlder "5.12" yes;
       DRM_VMWGFX_FBCON       = yes;
-      # necessary for amdgpu polaris support
-      DRM_AMD_POWERPLAY = whenBetween "4.5" "4.9" yes;
       # (experimental) amdgpu support for verde and newer chipsets
       DRM_AMDGPU_SI = yes;
       # (stable) amdgpu support for bonaire and newer chipsets
@@ -383,7 +381,7 @@ let
 
       EXT4_FS_POSIX_ACL = yes;
       EXT4_FS_SECURITY  = yes;
-      EXT4_ENCRYPTION   = { optional = true; tristate = if (versionOlder version "4.8") then "m" else "y"; };
+      EXT4_ENCRYPTION   = option yes;
 
       REISERFS_FS_XATTR     = option yes;
       REISERFS_FS_POSIX_ACL = option yes;
@@ -450,6 +448,9 @@ let
       NLS_CODEPAGE_437 = module; # VFAT default for the codepage= mount option
       NLS_ISO8859_1    = module; # VFAT default for the iocharset= mount option
 
+      # Needed to use the installation iso image. Not included in all defconfigs (e.g. arm64)
+      ISO9660_FS = module;
+
       DEVTMPFS = yes;
 
       UNICODE = whenAtLeast "5.2" yes; # Casefolding support for filesystems
@@ -461,7 +462,7 @@ let
       # https://googleprojectzero.blogspot.com/2019/11/bad-binder-android-in-wild-exploit.html
       DEBUG_LIST                       = yes;
       # Detect writes to read-only module pages
-      DEBUG_SET_MODULE_RONX            = { optional = true; tristate = whenOlder "4.11" "y"; };
+      DEBUG_SET_MODULE_RONX            = whenOlder "4.11" (option yes);
       RANDOMIZE_BASE                   = option yes;
       STRICT_DEVMEM                    = mkDefault yes; # Filter access to /dev/mem
       IO_STRICT_DEVMEM                 = mkDefault yes;
@@ -479,6 +480,7 @@ let
       DEFAULT_SECURITY_APPARMOR        = yes;
 
       RANDOM_TRUST_CPU                 = whenAtLeast "4.19" yes; # allow RDRAND to seed the RNG
+      RANDOM_TRUST_BOOTLOADER          = whenAtLeast "5.4" yes; # allow the bootloader to seed the RNG
 
       MODULE_SIG            = no; # r13y, generates a random key during build and bakes it in
       # Depends on MODULE_SIG and only really helps when you sign your modules
@@ -560,8 +562,8 @@ let
       PARAVIRT_SPINLOCKS  = option yes;
 
       KVM_ASYNC_PF                      = yes;
-      KVM_COMPAT = { optional = true; tristate = whenBetween "4.0" "4.12" "y"; };
-      KVM_DEVICE_ASSIGNMENT  = { optional = true; tristate = whenBetween "3.10" "4.12" "y"; };
+      KVM_COMPAT                        = whenOlder "4.12" (option yes);
+      KVM_DEVICE_ASSIGNMENT             = whenOlder "4.12" (option yes);
       KVM_GENERIC_DIRTYLOG_READ_PROTECT = yes;
       KVM_GUEST                         = yes;
       KVM_MMIO                          = yes;
@@ -769,7 +771,6 @@ let
       AIC79XX_DEBUG_ENABLE = no;
       AIC7XXX_DEBUG_ENABLE = no;
       AIC94XX_DEBUG = no;
-      B43_PCMCIA = { optional=true; tristate = whenOlder "4.4" "y";};
 
       BLK_DEV_INTEGRITY       = yes;
 
@@ -790,7 +791,9 @@ let
       BT_RFCOMM_TTY   = option yes; # RFCOMM TTY support
       BT_QCA = module; # enables QCA6390 bluetooth
 
-      CLEANCACHE = option yes;
+      # Removed on 5.17 as it was unused
+      # upstream: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0a4ee518185e902758191d968600399f3bc2be31
+      CLEANCACHE = whenOlder "5.17" (option yes);
       CRASH_DUMP = option no;
 
       DVB_DYNAMIC_MINORS = option yes; # we use udev
@@ -906,6 +909,11 @@ let
       ANDROID_BINDER_IPC =     { optional = true; tristate = whenAtLeast "5.0" "y";};
       ANDROID_BINDERFS =       { optional = true; tristate = whenAtLeast "5.0" "y";};
       ANDROID_BINDER_DEVICES = { optional = true; freeform = whenAtLeast "5.0" "binder,hwbinder,vndbinder";};
+
+      TASKSTATS = yes;
+      TASK_DELAY_ACCT = yes;
+      TASK_XACCT = yes;
+      TASK_IO_ACCOUNTING = yes;
     } // optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "aarch64-linux") {
       # Enable CPU/memory hotplug support
       # Allows you to dynamically add & remove CPUs/memory to a VM client running NixOS without requiring a reboot
diff --git a/pkgs/os-specific/linux/kernel/generate-config.pl b/pkgs/os-specific/linux/kernel/generate-config.pl
index df807188f14f9..7e12ca5d96a95 100644
--- a/pkgs/os-specific/linux/kernel/generate-config.pl
+++ b/pkgs/os-specific/linux/kernel/generate-config.pl
@@ -81,7 +81,7 @@ sub runConfig {
                 my $question = $1; my $name = $2; my $alts = $3;
                 my $answer = "";
                 # Build everything as a module if possible.
-                $answer = "m" if $autoModules && $alts =~ /\/m/ && !($preferBuiltin && $alts =~ /Y/);
+                $answer = "m" if $autoModules && $alts =~ qr{\A(\w/)+m/(\w/)*\?\z} && !($preferBuiltin && $alts =~ /Y/);
                 $answer = $answers{$name} if defined $answers{$name};
                 print STDERR "QUESTION: $question, NAME: $name, ALTS: $alts, ANSWER: $answer\n" if $debug;
                 print OUT "$answer\n";
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index 9daf9c4bd1905..0683e7d6ad4d0 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.14.272";
+  version = "4.14.274";
 
   # 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/v4.x/linux-${version}.tar.xz";
-    sha256 = "0scx13pc5y5jmm5xa17my242gsgb1mf0cgqzjx656g7kkh4phqcv";
+    sha256 = "1bbz1w5l7im7dspq6g6iy5vahsxcaa1b2ykrw49m3pw8rf7m6hib";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index c4bd2f8fc5dac..6121fccf15fad 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.19.235";
+  version = "4.19.237";
 
   # 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/v4.x/linux-${version}.tar.xz";
-    sha256 = "1615y3ma9icmqqr7lisl8nd8zvvkh77a81yl39yvy6qi9345l32k";
+    sha256 = "1n0c4bmmbj145zsp662a5rxh294fpq4dkillpz16wj6c098z7zxs";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 9eae11205caa9..ad58c3ef64138 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,12 +1,12 @@
 { buildPackages, fetchurl, perl, buildLinux, nixosTests, stdenv, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.307";
+  version = "4.9.309";
   extraMeta.branch = "4.9";
   extraMeta.broken = stdenv.isAarch64;
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1xyhz7hq8yyclxyavzk36sbl41vlb74pccd56240kq34ma1hyis7";
+    sha256 = "05468rk4hlz9ag1zb7shngn5rl42npw7haqbi5mpaa0yksl5asp8";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.10.nix b/pkgs/os-specific/linux/kernel/linux-5.10.nix
index dec0ebb154acd..7b5c9cba1444f 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.106";
+  version = "5.10.109";
 
   # 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 = "0yjrlghcxw3lhd6nc2m4zy4gk536w3a3w6mxdsml690fqz4531n6";
+    sha256 = "1p0k46isy2wzzms801lrnb59f1nb9mhywjj7fnkrwrj9nbn25yqq";
   };
 } // (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 7b76ab0c8a51b..dab27c119aa57 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.29";
+  version = "5.15.32";
 
   # 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;
@@ -15,6 +15,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0vl7xm4xs59z071wfjna392yada3hg5h6h3dfjaswircc22fc1ar";
+    sha256 = "11nz2w6hgwy6va6sxf4ic1s4kv24zbpssgjxsq6n321h4bxcsqql";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.16.nix b/pkgs/os-specific/linux/kernel/linux-5.16.nix
index 1fadc0d420e12..4dcb71c4f5cdd 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.16.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.16.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.16.15";
+  version = "5.16.18";
 
   # 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 = "1mi41npkk1inqchm3yp14xmzc5lrp50d7vbpazwxwq5kw04c8c4g";
+    sha256 = "096f80m2czj8khvil7s037pqdf1s6pklqn5d9419jqkz7v70piry";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.17.nix b/pkgs/os-specific/linux/kernel/linux-5.17.nix
index f05ab1486aba3..edd5339e103db 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.17.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.17.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.17";
+  version = "5.17.1";
 
   # 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 = "sha256-VV/vYd3bWRqD1i3QTiUnkvmvS6nvFGg/ZIQORvogsbE=";
+    sha256 = "092cx18va108lb27kxx2b00ma3l9g22nmkk81034apx26bacbmbw";
   };
 } // (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 c234b4f898c40..65c9f6c4b26d2 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.185";
+  version = "5.4.188";
 
   # 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 = "11rp3x05bq9cs9gwy4x36ynkgl7nb5ss29zi6m7n5ywvczdfjpyi";
+    sha256 = "1g7xf2jx1hx580f42yirfgv9v0f9f88wzxxx0wiwx7wcqbyqpg4z";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix
index 8c4dc41e8f506..16bbbf614aa96 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 = "18635";
-    sha256 = "0d74hji2cms9z3h3s1j4i7qnw1350a95vafrqargf9s2zz0bkgfc";
+    rev = "18664";
+    sha256 = "0yvgnqf355wr7wmfd0r8zydbr7icic06cp5hjp060vv0m9bf87xi";
   }
 , ...
 }:
diff --git a/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix b/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
index 50b3f18e9e215..cf0744bce6818 100644
--- a/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "5.10.104-rt63"; # updated by ./update-rt.sh
+  version = "5.10.106-rt64"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -18,14 +18,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
-    sha256 = "1wb2ql58md45wi49bp3rck7ppgisyjdl7lxarzqd094fx9kr4jir";
+    sha256 = "0yjrlghcxw3lhd6nc2m4zy4gk536w3a3w6mxdsml690fqz4531n6";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "17ivd6dm49axc9k6cqf39wjjqrjqbj5xd3n7lqk7vv95rg9fg0g7";
+      sha256 = "0z5gyi1vyjyd05vyccmk9yfgvm5v1lc8vbfywahx495xzpp9i8xb";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 
diff --git a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
index 63d47dd8a3840..e86f6fced569a 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
@@ -1,9 +1,9 @@
 { lib
 , fetchpatch
 , kernel
-, date ? "2022-03-09"
-, commit ? "2280551cebc1735f74eef75d650dd5e175461657"
-, diffHash ? "1mrrydidbapdq0fs0vpqhs88k6ghdrvmjpk2zi7xlwj7j32h0nwp"
+, date ? "2022-03-21"
+, commit ? "c38b7167aa5f3b1b91dcc93ade57f30e95064590"
+, diffHash ? "04lgwnng7p2rlz9sxn74n22750kh524xwfws3agqs12pcrvfsm0j"
 , kernelPatches # must always be defined in bcachefs' all-packages.nix entry because it's also a top-level attribute supplied by callPackage
 , argsOverride ? {}
 , ...
diff --git a/pkgs/os-specific/linux/kernel/linux-zen.nix b/pkgs/os-specific/linux/kernel/linux-zen.nix
index d990d6d4ed1ef..0e6cc394a5497 100644
--- a/pkgs/os-specific/linux/kernel/linux-zen.nix
+++ b/pkgs/os-specific/linux/kernel/linux-zen.nix
@@ -2,13 +2,14 @@
 
 let
   # having the full version string here makes it easier to update
-  modDirVersion = "5.16.11-zen1";
+  modDirVersion = "5.17.0-zen1";
   parts = lib.splitString "-" modDirVersion;
   version = lib.elemAt parts 0;
   suffix = lib.elemAt parts 1;
 
   numbers = lib.splitString "." version;
   branch = "${lib.elemAt numbers 0}.${lib.elemAt numbers 1}";
+  rev = if ((lib.elemAt numbers 2) == "0") then "v${branch}-${suffix}" else "v${modDirVersion}";
 in
 
 buildLinux (args // {
@@ -18,8 +19,8 @@ buildLinux (args // {
   src = fetchFromGitHub {
     owner = "zen-kernel";
     repo = "zen-kernel";
-    rev = "v${modDirVersion}";
-    sha256 = "sha256-aCmHtWTOlFo9r6g0pcOXMzksAH3spcOqElE9hynFbFo=";
+    inherit rev;
+    sha256 = "sha256-8DCcO2oPnwXjjm3PW7vNZKbB3S7XsEB/svAMhbPRJIo=";
   };
 
   structuredExtraConfig = with lib.kernel; {
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 1ac9cbe00ead6..220f09ed8b505 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -301,7 +301,6 @@ let
             + ")");
         license = lib.licenses.gpl2Only;
         homepage = "https://www.kernel.org/";
-        repositories.git = "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git";
         maintainers = lib.teams.linux-kernel.members ++ [
           maintainers.thoughtpolice
         ];
diff --git a/pkgs/os-specific/linux/kmod/default.nix b/pkgs/os-specific/linux/kmod/default.nix
index a1a1906ba9cea..0411bae2060c7 100644
--- a/pkgs/os-specific/linux/kmod/default.nix
+++ b/pkgs/os-specific/linux/kmod/default.nix
@@ -16,6 +16,8 @@ in stdenv.mkDerivation rec {
     sha256 = "0am54mi5rk72g5q7k6l6f36gw3r9vwgjmyna43ywcjhqmakyx00b";
   };
 
+  outputs = [ "out" "dev" "lib" ];
+
   nativeBuildInputs = [ autoreconfHook pkg-config libxslt ];
   buildInputs = [ xz zstd ] ++ lib.optional stdenv.isDarwin elf-header;
 
diff --git a/pkgs/os-specific/linux/kvdo/default.nix b/pkgs/os-specific/linux/kvdo/default.nix
new file mode 100644
index 0000000000000..74895e11bd5aa
--- /dev/null
+++ b/pkgs/os-specific/linux/kvdo/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, lib, fetchFromGitHub, vdo, kernel }:
+
+stdenv.mkDerivation rec {
+  inherit (vdo) version;
+  pname = "kvdo";
+
+  src = fetchFromGitHub {
+    owner = "dm-vdo";
+    repo = "kvdo";
+    rev = version;
+    sha256 = "1xl7dwcqx00w1gbpb6vlkn8nchyfj1fsc8c06vgda0sgxp7qs5gn";
+  };
+
+  dontConfigure = true;
+  enableParallelBuilding = true;
+
+  KSRC = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
+  INSTALL_MOD_PATH = placeholder "out";
+
+  preBuild = ''
+    makeFlags="$makeFlags -C ${KSRC} M=$(pwd)"
+'';
+  installTargets = [ "modules_install" ];
+
+  meta = with lib; {
+    inherit (vdo.meta) license maintainers;
+    homepage = "https://github.com/dm-vdo/kvdo";
+    description = "A pair of kernel modules which provide pools of deduplicated and/or compressed block storage";
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/ldm/default.nix b/pkgs/os-specific/linux/ldm/default.nix
index 072b53b02ec22..f8a519de847e2 100644
--- a/pkgs/os-specific/linux/ldm/default.nix
+++ b/pkgs/os-specific/linux/ldm/default.nix
@@ -4,7 +4,6 @@ assert mountPath != "";
 
 let
   version = "0.5";
-  git = "https://github.com/LemonBoy/ldm.git";
 in
 stdenv.mkDerivation rec {
   pname = "ldm";
@@ -13,7 +12,7 @@ stdenv.mkDerivation rec {
   # There is a stable release, but we'll use the lvm branch, which
   # contains important fixes for LVM setups.
   src = fetchgit {
-    url = meta.repositories.git;
+    url = "https://github.com/LemonBoy/ldm";
     rev = "refs/tags/v${version}";
     sha256 = "0lxfypnbamfx6p9ar5k9wra20gvwn665l4pp2j4vsx4yi5q7rw2n";
   };
@@ -36,8 +35,6 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A lightweight device mounter, with libudev as only dependency";
     license = lib.licenses.mit;
-
     platforms = lib.platforms.linux;
-    repositories.git = git;
   };
 }
diff --git a/pkgs/os-specific/linux/libcap/default.nix b/pkgs/os-specific/linux/libcap/default.nix
index 2f12d2fea38c8..750e26313cfe9 100644
--- a/pkgs/os-specific/linux/libcap/default.nix
+++ b/pkgs/os-specific/linux/libcap/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildPackages, fetchurl, attr, perl, runtimeShell
+{ stdenv, lib, buildPackages, fetchurl, attr, runtimeShell
 , usePam ? !isStatic, pam ? null
 , isStatic ? stdenv.hostPlatform.isStatic
 }:
@@ -7,18 +7,17 @@ assert usePam -> pam != null;
 
 stdenv.mkDerivation rec {
   pname = "libcap";
-  version = "2.49";
+  version = "2.63";
 
   src = fetchurl {
     url = "mirror://kernel/linux/libs/security/linux-privs/libcap2/${pname}-${version}.tar.xz";
-    sha256 = "sha256-6YvE2TZFCC7Hh3MLD9GnErOIgkZcUFd33hfDOIMe4YE=";
+    sha256 = "sha256-DGN7j0T8fYYneH6c9X8VrAbB3cy1PkH+7FSWvjRm938=";
   };
 
   outputs = [ "out" "dev" "lib" "man" "doc" ]
     ++ lib.optional usePam "pam";
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
-  nativeBuildInputs = [ perl ];
 
   buildInputs = lib.optional usePam pam;
 
@@ -31,7 +30,9 @@ stdenv.mkDerivation rec {
     "CC:=$(CC)"
   ] ++ lib.optional isStatic "SHARED=no";
 
-  prePatch = ''
+  postPatch = ''
+    patchShebangs ./progs/mkcapshdoc.sh
+
     # use full path to bash
     substituteInPlace progs/capsh.c --replace "/bin/bash" "${runtimeShell}"
 
diff --git a/pkgs/os-specific/linux/lvm2/common.nix b/pkgs/os-specific/linux/lvm2/common.nix
index 0f2e6efe3a26e..7ba08e7d90342 100644
--- a/pkgs/os-specific/linux/lvm2/common.nix
+++ b/pkgs/os-specific/linux/lvm2/common.nix
@@ -9,8 +9,9 @@
 , libaio
 , enableCmdlib ? false
 , enableDmeventd ? false
-, udevSupport ? !stdenv.targetPlatform.isStatic, udev ? null
-, onlyLib ? stdenv.targetPlatform.isStatic
+, udevSupport ? !stdenv.hostPlatform.isStatic, udev ? null
+, onlyLib ? stdenv.hostPlatform.isStatic
+, enableVDO ? false, vdo ? null
 , nixosTests
 }:
 
@@ -18,7 +19,7 @@
 assert enableDmeventd -> enableCmdlib;
 
 stdenv.mkDerivation rec {
-  pname = "lvm2" + lib.optionalString enableDmeventd "-with-dmeventd";
+  pname = "lvm2" + lib.optionalString enableDmeventd "-with-dmeventd" + lib.optionalString enableVDO "-with-vdo";
   inherit version;
 
   src = fetchurl {
@@ -33,6 +34,8 @@ stdenv.mkDerivation rec {
     udev
   ] ++ lib.optionals (!onlyLib) [
     libuuid
+  ] ++ lib.optionals enableVDO [
+    vdo
   ];
 
   configureFlags = [
@@ -56,8 +59,10 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals udevSupport [
     "--enable-udev_rules"
     "--enable-udev_sync"
-  ] ++ lib.optionals stdenv.targetPlatform.isStatic [
+  ] ++ lib.optionals stdenv.hostPlatform.isStatic [
     "--enable-static_link"
+  ] ++  lib.optionals enableVDO [
+    "--enable-vdo"
   ];
 
   preConfigure = ''
@@ -91,7 +96,7 @@ stdenv.mkDerivation rec {
       url = "https://git.alpinelinux.org/aports/plain/main/lvm2/mallinfo.patch?h=3.7-stable&id=31bd4a8c2dc00ae79a821f6fe0ad2f23e1534f50";
       sha256 = "0g6wlqi215i5s30bnbkn8w7axrs27y3bnygbpbnf64wwx7rxxlj0";
     })
-  ] ++ lib.optionals stdenv.targetPlatform.isStatic [
+  ] ++ lib.optionals stdenv.hostPlatform.isStatic [
     ./no-shared.diff
   ];
 
@@ -114,7 +119,7 @@ stdenv.mkDerivation rec {
   ];
 
   installPhase = lib.optionalString onlyLib ''
-    install -D -t $out/lib libdm/ioctl/libdevmapper.${if stdenv.targetPlatform.isStatic then "a" else "so"}
+    install -D -t $out/lib libdm/ioctl/libdevmapper.${if stdenv.hostPlatform.isStatic then "a" else "so"}
     make -C libdm install_include
     make -C libdm install_pkgconfig
   '';
diff --git a/pkgs/os-specific/linux/nftables/default.nix b/pkgs/os-specific/linux/nftables/default.nix
index 0b6291226bc84..8485a868d8a59 100644
--- a/pkgs/os-specific/linux/nftables/default.nix
+++ b/pkgs/os-specific/linux/nftables/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchurl, pkg-config, bison, file, flex
 , asciidoc, libxslt, findXMLCatalogs, docbook_xml_dtd_45, docbook_xsl
 , libmnl, libnftnl, libpcap
-, gmp, jansson, readline
+, gmp, jansson, libedit
+, autoreconfHook, fetchpatch
 , withDebugSymbols ? false
 , withPython ? false , python3
 , withXtables ? true , iptables
@@ -10,22 +11,23 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  version = "1.0.1";
+  version = "1.0.2";
   pname = "nftables";
 
   src = fetchurl {
     url = "https://netfilter.org/projects/nftables/files/${pname}-${version}.tar.bz2";
-    sha256 = "08x4xw0s5sap3q7jfr91v7mrkxrydi4dvsckw85ims0qb1ibmviw";
+    sha256 = "00jcjn1pl7qyqpg8pd4yhlkys7wbj4vkzgg73n27nmplzips6a0b";
   };
 
   nativeBuildInputs = [
+    autoreconfHook
     pkg-config bison file flex
     asciidoc docbook_xml_dtd_45 docbook_xsl findXMLCatalogs libxslt
   ];
 
   buildInputs = [
     libmnl libnftnl libpcap
-    gmp jansson readline
+    gmp jansson libedit
   ] ++ optional withXtables iptables
     ++ optional withPython python3;
 
@@ -33,9 +35,17 @@ stdenv.mkDerivation rec {
     substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file
   '';
 
+  patches = [
+    # fix build after 1.0.2 release, drop when updating to a newer release
+    (fetchpatch {
+      url = "https://git.netfilter.org/nftables/patch/?id=18a08fb7f0443f8bde83393bd6f69e23a04246b3";
+      sha256 = "03dzhd7fhg0d20ly4rffk4ra7wlxp731892dhp8zw67jwhys9ywz";
+    })
+  ];
+
   configureFlags = [
     "--with-json"
-    "--with-cli=readline"  # TODO: maybe switch to editline
+    "--with-cli=editline"
   ] ++ optional (!withDebugSymbols) "--disable-debug"
     ++ optional (!withPython) "--disable-python"
     ++ optional withPython "--enable-python"
diff --git a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
index 695f173da8fc3..795bedb99d4d1 100755
--- a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
+++ b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
@@ -352,16 +352,6 @@ if [[ -z $flake && -e /etc/nixos/flake.nix && -z $noFlake ]]; then
     flake="$(dirname "$(readlink -f /etc/nixos/flake.nix)")"
 fi
 
-# Re-execute nixos-rebuild from the Nixpkgs tree.
-# FIXME: get nixos-rebuild from $flake.
-if [[ -z $_NIXOS_REBUILD_REEXEC && -n $canRun && -z $fast && -z $flake ]]; then
-    if p=$(runCmd nix-build --no-out-link --expr 'with import <nixpkgs/nixos> {}; config.system.build.nixos-rebuild' "${extraBuildFlags[@]}"); then
-        export _NIXOS_REBUILD_REEXEC=1
-        runCmd exec "$p/bin/nixos-rebuild" "${origArgs[@]}"
-        exit 1
-    fi
-fi
-
 # For convenience, use the hostname as the default configuration to
 # build from the flake.
 if [[ -n $flake ]]; then
@@ -380,6 +370,40 @@ if [[ -n $flake ]]; then
     fi
 fi
 
+
+tmpDir=$(mktemp -t -d nixos-rebuild.XXXXXX)
+
+cleanup() {
+    for ctrl in "$tmpDir"/ssh-*; do
+        ssh -o ControlPath="$ctrl" -O exit dummyhost 2>/dev/null || true
+    done
+    rm -rf "$tmpDir"
+}
+trap cleanup EXIT
+
+
+# Re-execute nixos-rebuild from the Nixpkgs tree.
+if [[ -z $_NIXOS_REBUILD_REEXEC && -n $canRun && -z $fast ]]; then
+    if [[ -z $flake ]]; then
+        if p=$(runCmd nix-build --no-out-link --expr 'with import <nixpkgs/nixos> {}; config.system.build.nixos-rebuild' "${extraBuildFlags[@]}"); then
+            SHOULD_REEXEC=1
+        fi
+    else
+        runCmd nix "${flakeFlags[@]}" build --out-link "${tmpDir}/nixos-rebuild" "$flake#$flakeAttr.config.system.build.nixos-rebuild" "${extraBuildFlags[@]}" "${lockFlags[@]}"
+        if p=$(readlink -e "${tmpDir}/nixos-rebuild"); then
+            SHOULD_REEXEC=1
+        fi
+    fi
+
+    if [[ -n $SHOULD_REEXEC ]]; then
+        export _NIXOS_REBUILD_REEXEC=1
+        # Manually call cleanup as the EXIT trap is not triggered when using exec
+        cleanup
+        runCmd exec "$p/bin/nixos-rebuild" "${origArgs[@]}"
+        exit 1
+    fi
+fi
+
 # Find configuration.nix and open editor instead of building.
 if [ "$action" = edit ]; then
     if [[ -z $flake ]]; then
@@ -394,19 +418,8 @@ if [ "$action" = edit ]; then
     exit 1
 fi
 
-
-tmpDir=$(mktemp -t -d nixos-rebuild.XXXXXX)
 SSHOPTS="$NIX_SSHOPTS -o ControlMaster=auto -o ControlPath=$tmpDir/ssh-%n -o ControlPersist=60"
 
-cleanup() {
-    for ctrl in "$tmpDir"/ssh-*; do
-        ssh -o ControlPath="$ctrl" -O exit dummyhost 2>/dev/null || true
-    done
-    rm -rf "$tmpDir"
-}
-trap cleanup EXIT
-
-
 # First build Nix, since NixOS may require a newer version than the
 # current one.
 if [[ -n "$rollback" || "$action" = dry-build ]]; then
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 1452650178550..a5695dc981f85 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -19,10 +19,10 @@ rec {
   # Policy: use the highest stable version as the default (on our master).
   stable = if stdenv.hostPlatform.system == "x86_64-linux"
     then generic {
-      version = "510.54";
-      sha256_64bit = "TCDezK4/40et/Q5piaMG+QJP2t+DGtwejmCFVnUzUWE=";
-      settingsSha256 = "ZWz5UN6Pa69NlmerKu30G+X8WfGlAwnVerDrO7TRO6w=";
-      persistencedSha256 = "MgWrBjKXJeRqF+ouT72tTiLPtn+lsS/Cp3oS61AWV8Q=";
+      version = "510.60.02";
+      sha256_64bit = "sha256-qADfwFSQeP2Mbo5ngO+47uh4cuYFXH9fOGpHaM4H4AM=";
+      settingsSha256 = "sha256-Voa1JZ2qqJ1t+bfwKh/mssEi/hjzLTPwef2XG/gAC+0=";
+      persistencedSha256 = "sha256-THgK2GpRcttqSN2WxcuJu5My++Q+Y34jG8hm7daxhAQ=";
     }
     else legacy_390;
 
@@ -54,10 +54,10 @@ rec {
 
   # Last one supporting Kepler architecture
   legacy_470 = generic {
-      version = "470.94";
-      sha256_64bit = "lYWqKTMOutm98izjyiusICbIWpoy8D18WfcUp3mFAOs=";
-      settingsSha256 = "blJNKuFu/Th/ceexkKhTH/eYk8miUlTT+ESrcIyJNn0=";
-      persistencedSha256 = "xnccQ/EgafwnReBlk5Y7iClAj4hwXyFq9gUmwqyEuwE=";
+      version = "470.103.01";
+      sha256_64bit = "VsIwn4nCE0Y7DEY2D3siddc3HTxyevP+3IjElu3Ih6U=";
+      settingsSha256 = "Roc2OFSNEnIGLVwP0D9f8vFTf5v3KkL99S0mZBWN7s0=";
+      persistencedSha256 = "AVI0j2bpfMCMBTKuQp+BoCewaXIW3Xt4NnV1fjAHOr0=";
   };
 
   # Last one supporting x86
@@ -67,6 +67,8 @@ rec {
     sha256_64bit = "09qcdfn4j5jza3iw59wqwgq4a489qf7kx355yssrcahaw9g87lxz";
     settingsSha256 = "16qqw0jy31da65cdi17y3j2kcdhw09vra7g17bkcimaqnf70j0ni";
     persistencedSha256 = "1ad81y4qfpxrx0vqsk81a3h0bi1yg8hw5gi5y5d58p76vc8083i9";
+
+    broken = kernel.kernelAtLeast "5.17";
   };
 
   legacy_340 = generic {
@@ -77,7 +79,7 @@ rec {
     persistencedSha256 = "1ax4xn3nmxg1y6immq933cqzw6cj04x93saiasdc0kjlv0pvvnkn";
     useGLVND = false;
 
-    broken = with kernel; kernelAtLeast "5.5";
+    broken = kernel.kernelAtLeast "5.5";
     patches = [ ./vm_operations_struct-fault.patch ];
   };
 }
diff --git a/pkgs/os-specific/linux/pam_usb/default.nix b/pkgs/os-specific/linux/pam_usb/default.nix
index 0091accd57a7a..ebd45246ae8d1 100644
--- a/pkgs/os-specific/linux/pam_usb/default.nix
+++ b/pkgs/os-specific/linux/pam_usb/default.nix
@@ -41,8 +41,12 @@ stdenv.mkDerivation rec {
     sha256 = "1g1w0s9d8mfld8abrn405ll5grv3xgs0b0hsganrz6qafdq9j7q1";
   };
 
-  buildInputs = [
+  nativeBuildInputs = [
     makeWrapper
+    pkg-config
+  ];
+
+  buildInputs = [
     # pam_usb dependencies
     dbus libxml2 pam pmount pkg-config
     # pam_usb's tools dependencies
diff --git a/pkgs/os-specific/linux/rdma-core/default.nix b/pkgs/os-specific/linux/rdma-core/default.nix
index f7543291deda1..d9f6196d931da 100644
--- a/pkgs/os-specific/linux/rdma-core/default.nix
+++ b/pkgs/os-specific/linux/rdma-core/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rdma-core";
-  version = "39.0";
+  version = "39.1";
 
   src = fetchFromGitHub {
     owner = "linux-rdma";
     repo = "rdma-core";
     rev = "v${version}";
-    sha256 = "sha256-7Z06bdCtv/gdZKzKfcU+JrWl4+b6b/cdKp8pMLCZZo0=";
+    sha256 = "19jfrb0jv050abxswzh34nx2zr8if3rb2k5a7n5ydvi3x9r8827w";
   };
 
   strictDeps = true;
@@ -23,6 +23,12 @@ stdenv.mkDerivation rec {
     "-DCMAKE_INSTALL_SHAREDSTATEDIR=/var/lib"
   ];
 
+  patches = [
+    # this has been fixed in master. As soon as it gets into a release, this
+    # patch won't apply anymore and can be removed.
+    ./pkg-config-template.patch
+  ];
+
   postPatch = ''
     substituteInPlace srp_daemon/srp_daemon.sh.in \
       --replace /bin/rm rm
diff --git a/pkgs/os-specific/linux/rdma-core/pkg-config-template.patch b/pkgs/os-specific/linux/rdma-core/pkg-config-template.patch
new file mode 100644
index 0000000000000..22898bc75282e
--- /dev/null
+++ b/pkgs/os-specific/linux/rdma-core/pkg-config-template.patch
@@ -0,0 +1,14 @@
+diff -ru source/buildlib/template.pc.in source-fixed/buildlib/template.pc.in
+--- source/buildlib/template.pc.in	1970-01-01 01:00:01.000000000 +0100
++++ source-fixed/buildlib/template.pc.in	2022-03-30 22:29:12.988625941 +0200
+@@ -1,7 +1,6 @@
+-prefix=@CMAKE_INSTALL_PREFIX@
+-exec_prefix=${prefix}
+-libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
+-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
++exec_prefix=@CMAKE_INSTALL_PREFIX@
++libdir=@CMAKE_INSTALL_LIBDIR@
++includedir=@CMAKE_INSTALL_INCLUDEDIR@
+ 
+ Name: lib@PC_LIB_NAME@
+ Description: RDMA Core Userspace Library
diff --git a/pkgs/os-specific/linux/reap/default.nix b/pkgs/os-specific/linux/reap/default.nix
new file mode 100644
index 0000000000000..fbbabc96c781b
--- /dev/null
+++ b/pkgs/os-specific/linux/reap/default.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "reap";
+  version = "0.3-unreleased";
+
+  src = fetchFromGitHub {
+    owner = "leahneukirchen";
+    repo = "reap";
+    rev = "0e68d09804fb9ec82af37045fb37c2ceefa391d5";
+    hash = "sha256-4Bv7stW5PKcODQanup37YbiUWrEGR6BuSFXibAHmwn0=";
+  };
+
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
+  postInstall = ''
+    install -dm755 "$out/share/licenses/reap/"
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/leahneukirchen/reap";
+    description = "run process until all its spawned processes are dead ";
+    license = with licenses; [ publicDomain ];
+    platforms = platforms.linux;
+    maintainers = [ maintainers.leahneukirchen ];
+  };
+}
diff --git a/pkgs/os-specific/linux/rtl8821au/default.nix b/pkgs/os-specific/linux/rtl8821au/default.nix
index 5800405f28390..dc693f01f5726 100644
--- a/pkgs/os-specific/linux/rtl8821au/default.nix
+++ b/pkgs/os-specific/linux/rtl8821au/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rtl8821au";
-  version = "${kernel.version}-unstable-2021-11-05";
+  version = "${kernel.version}-unstable-2022-03-08";
 
   src = fetchFromGitHub {
     owner = "morrownr";
     repo = "8821au-20210708";
-    rev = "dd9f442d86535fb749ab06f38f97160484d9f04b";
-    sha256 = "0d90zd45b8934wxy51q1x39lx4n3i28zjm6jcq98wkm4lypgphxv";
+    rev = "2c0c6fef81c0c7dcf8fa06fc4ab72168abc4f7bb";
+    sha256 = "sha256-Hdzi3pGqH71O0Jenjd/myG4+rZDLC/CcWHkjDoXBxS0=";
   };
 
   nativeBuildInputs = [ bc nukeReferences ];
diff --git a/pkgs/os-specific/linux/rtl8821ce/default.nix b/pkgs/os-specific/linux/rtl8821ce/default.nix
index 62743c2268892..039d4b3fb7bb9 100644
--- a/pkgs/os-specific/linux/rtl8821ce/default.nix
+++ b/pkgs/os-specific/linux/rtl8821ce/default.nix
@@ -1,4 +1,10 @@
-{ lib, stdenv, fetchFromGitHub, kernel, bc }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, kernel
+, bc
+}:
 
 stdenv.mkDerivation rec {
   pname = "rtl8821ce";
@@ -11,6 +17,12 @@ stdenv.mkDerivation rec {
     sha256 = "18ma8a8h1l90dss0k6al7q6plwr57jc9g67p22g9917k1jfbhm97";
   };
 
+  # Fixes the build on kernel >= 5.17. Can be removed once https://github.com/tomaspinho/rtl8821ce/pull/267 is merged
+  patches = [(fetchpatch {
+    url = "https://github.com/tomaspinho/rtl8821ce/commit/7b9e55df64b10fed785f22df9f36ed4a30b59d0e.patch";
+    sha256 = "sha256-mpAWOG1aXsklGuDbrRB9Vd36mgeCdctKQaWuuoqEEp0=";
+  })];
+
   hardeningDisable = [ "pic" ];
 
   nativeBuildInputs = [ bc ] ++ kernel.moduleBuildDependencies;
@@ -35,7 +47,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/tomaspinho/rtl8821ce";
     license = licenses.gpl2Only;
     platforms = platforms.linux;
-    broken = stdenv.isAarch64 || kernel.kernelAtLeast "5.17";
+    broken = stdenv.isAarch64;
     maintainers = with maintainers; [ hhm ivar ];
   };
 }
diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix
index 2e4ae1649ea86..5537f9f6aacb0 100644
--- a/pkgs/os-specific/linux/shadow/default.nix
+++ b/pkgs/os-specific/linux/shadow/default.nix
@@ -19,13 +19,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "shadow";
-  version = "4.8.1";
+  version = "4.11.1";
 
   src = fetchFromGitHub {
     owner = "shadow-maint";
     repo = "shadow";
-    rev = version;
-    sha256 = "13407r6qwss00504qy740jghb2dzd561la7dhp47rg8w3g8jarpn";
+    rev = "v${version}";
+    sha256 = "sha256-PxLX5V0t18JftT5wT41krNv18Ew7Kz3MfZkOi/80ODA=";
   };
 
   buildInputs = lib.optional (pam != null && stdenv.isLinux) pam;
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 a87c59558e01c..404b0d2ee6f30 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,4 +1,4 @@
-From 93b2d29de784c68d1b4d70d7f214b19432aec6a8 Mon Sep 17 00:00:00 2001
+From 8622539fe2ce67934ed2e60626a2303ef8191e40 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/19] Start device units for uninitialised encrypted devices
@@ -28,5 +28,5 @@ index 25b8a590a6..d18999ea87 100644
  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.33.1
+2.34.0
 
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 e9fedd239f473..d37ace3250c23 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,4 +1,4 @@
-From 41edb381df0326e216b3c569d2cd5764591267d9 Mon Sep 17 00:00:00 2001
+From a845786195182c376b72a85433e278c35243676d 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/19] Don't try to unmount /nix or /nix/store
@@ -25,10 +25,10 @@ index f683f05981..5a04c2c2a6 100644
                          "/etc"))
                  return true;
 diff --git a/src/shutdown/umount.c b/src/shutdown/umount.c
-index 1f945b7875..6df9d383ba 100644
+index f5a2cb20c1..51608d24c0 100644
 --- a/src/shutdown/umount.c
 +++ b/src/shutdown/umount.c
-@@ -508,6 +508,8 @@ static int delete_md(MountPoint *m) {
+@@ -502,6 +502,8 @@ static int delete_md(MountPoint *m) {
  
  static bool nonunmountable_path(const char *path) {
          return path_equal(path, "/")
@@ -38,5 +38,5 @@ index 1f945b7875..6df9d383ba 100644
                  || path_equal(path, "/usr")
  #endif
 -- 
-2.33.1
+2.34.0
 
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 217629f7d6ac7..56c6238b81f26 100644
--- a/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch
+++ b/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch
@@ -1,4 +1,4 @@
-From 43620479f6bfbbc4c3eed28947e0676c817acb7c Mon Sep 17 00:00:00 2001
+From d33f3461fa2202ef9b0d6cdf2137c510c59fb052 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/19] Fix NixOS containers
@@ -10,10 +10,10 @@ 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 575b9da447..438ca294db 100644
+index 8f17ab8810..197e5aa252 100644
 --- a/src/nspawn/nspawn.c
 +++ b/src/nspawn/nspawn.c
-@@ -5590,6 +5590,7 @@ static int run(int argc, char *argv[]) {
+@@ -5625,6 +5625,7 @@ static int run(int argc, char *argv[]) {
                                  goto finish;
                          }
                  } else {
@@ -21,7 +21,7 @@ index 575b9da447..438ca294db 100644
                          const char *p, *q;
  
                          if (arg_pivot_root_new)
-@@ -5604,6 +5605,7 @@ static int run(int argc, char *argv[]) {
+@@ -5639,6 +5640,7 @@ static int run(int argc, char *argv[]) {
                                  r = -EINVAL;
                                  goto finish;
                          }
@@ -30,5 +30,5 @@ index 575b9da447..438ca294db 100644
  
          } else {
 -- 
-2.33.1
+2.34.0
 
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 f7b768af515f2..36d0ee0cde24f 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,4 +1,4 @@
-From a08ed6697974d7f7dabe60d42bbc9e31a10f7e23 Mon Sep 17 00:00:00 2001
+From 8fd5968163f3a1cb5f196d934756ba08ccaa5b1e 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/19] Look for fsck in the right place
@@ -8,7 +8,7 @@ Subject: [PATCH 04/19] Look for fsck in the right place
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/src/fsck/fsck.c b/src/fsck/fsck.c
-index cd7adfaeb9..68cebdd158 100644
+index 745d01ff50..dd4eef45c3 100644
 --- a/src/fsck/fsck.c
 +++ b/src/fsck/fsck.c
 @@ -368,7 +368,7 @@ static int run(int argc, char *argv[]) {
@@ -21,5 +21,5 @@ index cd7adfaeb9..68cebdd158 100644
                  cmdline[i++] = "-T";
  
 -- 
-2.33.1
+2.34.0
 
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 7ebf07d0a82b7..6acac84a9d28b 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,4 +1,4 @@
-From ddcfae6de8c460903c5db8c536ffeb5771e976f8 Mon Sep 17 00:00:00 2001
+From 90d1a90d3147e9c8db5caec8befabda270e755d4 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/19] Add some NixOS-specific unit directories
@@ -14,10 +14,10 @@ Also, remove /usr and /lib as these don't exist on NixOS.
  2 files changed, 6 insertions(+), 19 deletions(-)
 
 diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c
-index 05eb17d66c..1cd141d012 100644
+index 6fb8c40e7a..142ecdecec 100644
 --- a/src/basic/path-lookup.c
 +++ b/src/basic/path-lookup.c
-@@ -91,11 +91,7 @@ int xdg_user_data_dir(char **ret, const char *suffix) {
+@@ -92,11 +92,7 @@ int xdg_user_data_dir(char **ret, const char *suffix) {
  }
  
  static const char* const user_data_unit_paths[] = {
@@ -29,7 +29,7 @@ index 05eb17d66c..1cd141d012 100644
          NULL
  };
  
-@@ -613,15 +609,13 @@ int lookup_paths_init(
+@@ -614,15 +610,13 @@ int lookup_paths_init(
                                          persistent_config,
                                          SYSTEM_CONFIG_UNIT_DIR,
                                          "/etc/systemd/system",
@@ -46,7 +46,7 @@ index 05eb17d66c..1cd141d012 100644
                                          STRV_IFNOTNULL(generator_late));
                          break;
  
-@@ -637,14 +631,11 @@ int lookup_paths_init(
+@@ -638,14 +632,11 @@ int lookup_paths_init(
                                          persistent_config,
                                          USER_CONFIG_UNIT_DIR,
                                          "/etc/systemd/user",
@@ -62,7 +62,7 @@ index 05eb17d66c..1cd141d012 100644
                                          STRV_IFNOTNULL(generator_late));
                          break;
  
-@@ -794,7 +785,6 @@ char **generator_binary_paths(UnitFileScope scope) {
+@@ -795,7 +786,6 @@ char **generator_binary_paths(UnitFileScope scope) {
                  case UNIT_FILE_SYSTEM:
                          add = strv_new("/run/systemd/system-generators",
                                         "/etc/systemd/system-generators",
@@ -70,7 +70,7 @@ index 05eb17d66c..1cd141d012 100644
                                         SYSTEM_GENERATOR_DIR);
                          break;
  
-@@ -802,7 +792,6 @@ char **generator_binary_paths(UnitFileScope scope) {
+@@ -803,7 +793,6 @@ char **generator_binary_paths(UnitFileScope scope) {
                  case UNIT_FILE_USER:
                          add = strv_new("/run/systemd/user-generators",
                                         "/etc/systemd/user-generators",
@@ -78,7 +78,7 @@ index 05eb17d66c..1cd141d012 100644
                                         USER_GENERATOR_DIR);
                          break;
  
-@@ -841,12 +830,10 @@ char **env_generator_binary_paths(bool is_system) {
+@@ -842,12 +831,10 @@ char **env_generator_binary_paths(bool is_system) {
                  if (is_system)
                          add = strv_new("/run/systemd/system-environment-generators",
                                          "/etc/systemd/system-environment-generators",
@@ -122,5 +122,5 @@ index fc0f8c34fa..162432e77f 100644
  
  systemd_sleep_dir=${root_prefix}/lib/systemd/system-sleep
 -- 
-2.33.1
+2.34.0
 
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 0c09107c5ef22..438d841bb1c7a 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,4 +1,4 @@
-From b39b8871bcaa07280d6b0cf2226b1a3be31232b8 Mon Sep 17 00:00:00 2001
+From 213279752124dc4a57a4189df9b5b2e96feaa0b3 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/19] Get rid of a useless message in user sessions
@@ -13,10 +13,10 @@ in containers.
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/src/core/manager.c b/src/core/manager.c
-index 34891a8754..b9b4789720 100644
+index 9368a1dfa1..5b0bdb1bc7 100644
 --- a/src/core/manager.c
 +++ b/src/core/manager.c
-@@ -1375,7 +1375,8 @@ static unsigned manager_dispatch_stop_when_bound_queue(Manager *m) {
+@@ -1408,7 +1408,8 @@ static unsigned manager_dispatch_stop_when_bound_queue(Manager *m) {
                  if (!unit_is_bound_by_inactive(u, &culprit))
                          continue;
  
@@ -27,5 +27,5 @@ index 34891a8754..b9b4789720 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.33.1
+2.34.0
 
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 d7649b5e44a76..a93488afbf92a 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,4 +1,4 @@
-From 566208aea81057789218b959f4d0e898eec54fc9 Mon Sep 17 00:00:00 2001
+From 14474d5e116609ce4fac60d779b08fa3eab840c3 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/19] hostnamed, localed, timedated: disable methods that
@@ -11,10 +11,10 @@ Subject: [PATCH 07/19] hostnamed, localed, timedated: disable methods that
  3 files changed, 25 insertions(+)
 
 diff --git a/src/hostname/hostnamed.c b/src/hostname/hostnamed.c
-index 36702f2fb0..669257ea2f 100644
+index b20a93ad81..6292fca4fc 100644
 --- a/src/hostname/hostnamed.c
 +++ b/src/hostname/hostnamed.c
-@@ -797,6 +797,9 @@ static int method_set_static_hostname(sd_bus_message *m, void *userdata, sd_bus_
+@@ -813,6 +813,9 @@ static int method_set_static_hostname(sd_bus_message *m, void *userdata, sd_bus_
          if (r < 0)
                  return r;
  
@@ -24,7 +24,7 @@ index 36702f2fb0..669257ea2f 100644
          name = empty_to_null(name);
  
          context_read_etc_hostname(c);
-@@ -860,6 +863,9 @@ static int set_machine_info(Context *c, sd_bus_message *m, int prop, sd_bus_mess
+@@ -876,6 +879,9 @@ static int set_machine_info(Context *c, sd_bus_message *m, int prop, sd_bus_mess
          if (r < 0)
                  return r;
  
@@ -104,5 +104,5 @@ index 66b454269d..0a8fe25d0f 100644
          if (r < 0)
                  return r;
 -- 
-2.33.1
+2.34.0
 
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 f938b553c9f52..e1bc44a148ea0 100644
--- a/pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch
+++ b/pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch
@@ -1,4 +1,4 @@
-From 3b9983969de2a86929768f6362ed41c20dd13bd3 Mon Sep 17 00:00:00 2001
+From d668df39728c992ec0c691ef6e76664e7121f5bd 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/19] Fix hwdb paths
@@ -24,5 +24,5 @@ index 5ddc2211e6..ee621eec46 100644
 +        "/etc/udev/hwdb.bin\0"
 +
 -- 
-2.33.1
+2.34.0
 
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 87cf1afc7d22b..68d40980ab169 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,4 +1,4 @@
-From b5966b6abb9696798618367cab33d1fed317734f Mon Sep 17 00:00:00 2001
+From dd59ce5f1bbdafb0b92f8aeacc68b000ec347a61 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/19] Change /usr/share/zoneinfo to /etc/zoneinfo
@@ -35,10 +35,10 @@ 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 5d162e8ffe..1bec83e555 100644
+index b659d6905d..660b1c6fed 100644
 --- a/src/basic/time-util.c
 +++ b/src/basic/time-util.c
-@@ -1269,7 +1269,7 @@ static int get_timezones_from_zone1970_tab(char ***ret) {
+@@ -1267,7 +1267,7 @@ static int get_timezones_from_zone1970_tab(char ***ret) {
  
          assert(ret);
  
@@ -47,7 +47,7 @@ index 5d162e8ffe..1bec83e555 100644
          if (!f)
                  return -errno;
  
-@@ -1308,7 +1308,7 @@ static int get_timezones_from_tzdata_zi(char ***ret) {
+@@ -1306,7 +1306,7 @@ static int get_timezones_from_tzdata_zi(char ***ret) {
          _cleanup_strv_free_ char **zones = NULL;
          int r;
  
@@ -56,7 +56,7 @@ index 5d162e8ffe..1bec83e555 100644
          if (!f)
                  return -errno;
  
-@@ -1421,7 +1421,7 @@ int verify_timezone(const char *name, int log_level) {
+@@ -1419,7 +1419,7 @@ int verify_timezone(const char *name, int log_level) {
          if (p - name >= PATH_MAX)
                  return -ENAMETOOLONG;
  
@@ -65,7 +65,7 @@ index 5d162e8ffe..1bec83e555 100644
  
          fd = open(t, O_RDONLY|O_CLOEXEC);
          if (fd < 0)
-@@ -1512,7 +1512,7 @@ int get_timezone(char **ret) {
+@@ -1510,7 +1510,7 @@ int get_timezone(char **ret) {
          if (r < 0)
                  return r; /* returns EINVAL if not a symlink */
  
@@ -75,10 +75,10 @@ index 5d162e8ffe..1bec83e555 100644
                  return -EINVAL;
  
 diff --git a/src/firstboot/firstboot.c b/src/firstboot/firstboot.c
-index 2cb4f80d5d..ebeaeac52f 100644
+index d28a416e5d..c7c215731d 100644
 --- a/src/firstboot/firstboot.c
 +++ b/src/firstboot/firstboot.c
-@@ -491,7 +491,7 @@ static int process_timezone(void) {
+@@ -494,7 +494,7 @@ static int process_timezone(void) {
          if (isempty(arg_timezone))
                  return 0;
  
@@ -88,10 +88,10 @@ index 2cb4f80d5d..ebeaeac52f 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 438ca294db..98bd110d92 100644
+index 197e5aa252..c674fa61d5 100644
 --- a/src/nspawn/nspawn.c
 +++ b/src/nspawn/nspawn.c
-@@ -1887,8 +1887,8 @@ int userns_mkdir(const char *root, const char *path, mode_t mode, uid_t uid, gid
+@@ -1899,8 +1899,8 @@ int userns_mkdir(const char *root, const char *path, mode_t mode, uid_t uid, gid
  static const char *timezone_from_path(const char *path) {
          return PATH_STARTSWITH_SET(
                          path,
@@ -137,5 +137,5 @@ index 0a8fe25d0f..2f02b9a520 100644
                          return -ENOMEM;
  
 -- 
-2.33.1
+2.34.0
 
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 6e36bbdc34065..f2514de6c6629 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,4 +1,4 @@
-From f4e9304560ad42eeb8d42be583cc55eb2e5b4bb1 Mon Sep 17 00:00:00 2001
+From a93da270bed88972f4d60a1fa08f24e00712d7fb Mon Sep 17 00:00:00 2001
 From: Imuli <i@imu.li>
 Date: Wed, 19 Oct 2016 08:46:47 -0400
 Subject: [PATCH 10/19] localectl: use /etc/X11/xkb for list-x11-*
@@ -10,10 +10,10 @@ NixOS has an option to link the xkb data files to /etc/X11, but not to
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/src/locale/localectl.c b/src/locale/localectl.c
-index 548ac8eb2c..5e372f1566 100644
+index b5624209dc..4ab7adfdb6 100644
 --- a/src/locale/localectl.c
 +++ b/src/locale/localectl.c
-@@ -280,7 +280,7 @@ static int list_x11_keymaps(int argc, char **argv, void *userdata) {
+@@ -279,7 +279,7 @@ static int list_x11_keymaps(int argc, char **argv, void *userdata) {
          } state = NONE, look_for;
          int r;
  
@@ -23,5 +23,5 @@ index 548ac8eb2c..5e372f1566 100644
                  return log_error_errno(errno, "Failed to open keyboard mapping list. %m");
  
 -- 
-2.33.1
+2.34.0
 
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 5aa22d988952d..c21a1bda41226 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,4 +1,4 @@
-From 43a363f30b6012d600cfb62a3851c4ac7af4d1d5 Mon Sep 17 00:00:00 2001
+From 3bc3462165cd72de93a1c71f03e6c4150726b159 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/19] build: don't create statedir and don't touch prefixdir
@@ -8,12 +8,12 @@ Subject: [PATCH 11/19] build: don't create statedir and don't touch prefixdir
  1 file changed, 3 deletions(-)
 
 diff --git a/meson.build b/meson.build
-index 5bdfd9753d..5bf6afc7b7 100644
+index c0cbadecb1..8266bf57de 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -3539,9 +3539,6 @@ install_data('LICENSE.GPL2',
-              'docs/GVARIANT-SERIALIZATION.md',
-              install_dir : docdir)
+@@ -3729,9 +3729,6 @@ install_data('LICENSE.GPL2',
+ install_subdir('LICENSES',
+                install_dir : docdir)
  
 -meson.add_install_script('sh', '-c', mkdir_p.format(systemdstatedir))
 -meson.add_install_script('sh', '-c', 'touch $DESTDIR@0@'.format(prefixdir))
@@ -22,5 +22,5 @@ index 5bdfd9753d..5bf6afc7b7 100644
  
  # Ensure that changes to the docs/ directory do not break the
 -- 
-2.33.1
+2.34.0
 
diff --git a/pkgs/os-specific/linux/systemd/0012-inherit-systemd-environment-when-calling-generators.patch b/pkgs/os-specific/linux/systemd/0012-inherit-systemd-environment-when-calling-generators.patch
index a2bdfcf8ec3fd..5f27e41752328 100644
--- a/pkgs/os-specific/linux/systemd/0012-inherit-systemd-environment-when-calling-generators.patch
+++ b/pkgs/os-specific/linux/systemd/0012-inherit-systemd-environment-when-calling-generators.patch
@@ -1,4 +1,4 @@
-From 7ea935a5ac4f31106ce9347227d4eb59b77b02cd Mon Sep 17 00:00:00 2001
+From 85f0ad0cb7b4f0cfd482c9611f9cbc2dacbba33a Mon Sep 17 00:00:00 2001
 From: Andreas Rammhold <andreas@rammhold.de>
 Date: Fri, 2 Nov 2018 21:15:42 +0100
 Subject: [PATCH 12/19] inherit systemd environment when calling generators.
@@ -16,10 +16,10 @@ executables that are being called from managers.
  1 file changed, 9 insertions(+), 4 deletions(-)
 
 diff --git a/src/core/manager.c b/src/core/manager.c
-index b9b4789720..79239afe4a 100644
+index 5b0bdb1bc7..1538a5200a 100644
 --- a/src/core/manager.c
 +++ b/src/core/manager.c
-@@ -4149,10 +4149,15 @@ static int manager_run_generators(Manager *m) {
+@@ -3653,10 +3653,15 @@ static int manager_run_generators(Manager *m) {
          argv[4] = NULL;
  
          RUN_WITH_UMASK(0022)
@@ -40,5 +40,5 @@ index b9b4789720..79239afe4a 100644
  
  finish:
 -- 
-2.33.1
+2.34.0
 
diff --git a/pkgs/os-specific/linux/systemd/0013-add-rootprefix-to-lookup-dir-paths.patch b/pkgs/os-specific/linux/systemd/0013-add-rootprefix-to-lookup-dir-paths.patch
index 20372a5dbad58..d008cf2821c7a 100644
--- a/pkgs/os-specific/linux/systemd/0013-add-rootprefix-to-lookup-dir-paths.patch
+++ b/pkgs/os-specific/linux/systemd/0013-add-rootprefix-to-lookup-dir-paths.patch
@@ -1,4 +1,4 @@
-From eb93778af78a127e8e20d6ed7fd9f91fd22dc7c9 Mon Sep 17 00:00:00 2001
+From b30d2273d3ce1480b0c4c27c25211f84e04172e9 Mon Sep 17 00:00:00 2001
 From: Andreas Rammhold <andreas@rammhold.de>
 Date: Thu, 9 May 2019 11:15:22 +0200
 Subject: [PATCH 13/19] add rootprefix to lookup dir paths
@@ -12,7 +12,7 @@ files that I might have missed.
  1 file changed, 4 insertions(+), 2 deletions(-)
 
 diff --git a/src/basic/def.h b/src/basic/def.h
-index 2e60abb4f1..732ec51d36 100644
+index eccee3d3fa..e94a2c8bd0 100644
 --- a/src/basic/def.h
 +++ b/src/basic/def.h
 @@ -39,13 +39,15 @@
@@ -34,5 +34,5 @@ index 2e60abb4f1..732ec51d36 100644
  #define CONF_PATHS(n)                           \
          CONF_PATHS_USR(n)                       \
 -- 
-2.33.1
+2.34.0
 
diff --git a/pkgs/os-specific/linux/systemd/0014-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch b/pkgs/os-specific/linux/systemd/0014-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch
index a22566eb4cc30..49c6651c0edff 100644
--- a/pkgs/os-specific/linux/systemd/0014-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch
+++ b/pkgs/os-specific/linux/systemd/0014-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch
@@ -1,4 +1,4 @@
-From 1d623def80a3532ac1445499c9d4673e21ae8195 Mon Sep 17 00:00:00 2001
+From 76da27ff77e5db07e502d4d8d26286d69c3f0319 Mon Sep 17 00:00:00 2001
 From: Nikolay Amiantov <ab@fmap.me>
 Date: Thu, 25 Jul 2019 20:45:55 +0300
 Subject: [PATCH 14/19] systemd-shutdown: execute scripts in
@@ -10,12 +10,12 @@ This is needed for NixOS to use such scripts as systemd directory is immutable.
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/src/shutdown/shutdown.c b/src/shutdown/shutdown.c
-index a98cfc4d8a..b0b34edda7 100644
+index 7ad9930677..fdb03a2e1a 100644
 --- a/src/shutdown/shutdown.c
 +++ b/src/shutdown/shutdown.c
-@@ -312,7 +312,7 @@ int main(int argc, char *argv[]) {
+@@ -335,7 +335,7 @@ int main(int argc, char *argv[]) {
          _cleanup_free_ char *cgroup = NULL;
-         char *arguments[3], *watchdog_device;
+         char *arguments[3];
          int cmd, r, umount_log_level = LOG_INFO;
 -        static const char* const dirs[] = {SYSTEM_SHUTDOWN_PATH, NULL};
 +        static const char* const dirs[] = {SYSTEM_SHUTDOWN_PATH, "/etc/systemd/system-shutdown", NULL};
@@ -23,5 +23,5 @@ index a98cfc4d8a..b0b34edda7 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.33.1
+2.34.0
 
diff --git a/pkgs/os-specific/linux/systemd/0015-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch b/pkgs/os-specific/linux/systemd/0015-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch
index 1a21d1005ee04..78d77c0058229 100644
--- a/pkgs/os-specific/linux/systemd/0015-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch
+++ b/pkgs/os-specific/linux/systemd/0015-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch
@@ -1,4 +1,4 @@
-From 5a96c4a98be971d84a12ae04e42bc3cb889d5191 Mon Sep 17 00:00:00 2001
+From 47c651f97acae814d4ff679ae04d78d4532cbca6 Mon Sep 17 00:00:00 2001
 From: Nikolay Amiantov <ab@fmap.me>
 Date: Thu, 25 Jul 2019 20:46:58 +0300
 Subject: [PATCH 15/19] systemd-sleep: execute scripts in
@@ -10,7 +10,7 @@ This is needed for NixOS to use such scripts as systemd directory is immutable.
  1 file changed, 1 insertion(+)
 
 diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c
-index a3aeb24633..0ed6a34d79 100644
+index 7064f3a905..b60ced9d9b 100644
 --- a/src/sleep/sleep.c
 +++ b/src/sleep/sleep.c
 @@ -182,6 +182,7 @@ static int execute(
@@ -22,5 +22,5 @@ index a3aeb24633..0ed6a34d79 100644
          };
  
 -- 
-2.33.1
+2.34.0
 
diff --git a/pkgs/os-specific/linux/systemd/0016-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch b/pkgs/os-specific/linux/systemd/0016-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch
index 12624cb5548fc..3c1643e0f1ab8 100644
--- a/pkgs/os-specific/linux/systemd/0016-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch
+++ b/pkgs/os-specific/linux/systemd/0016-kmod-static-nodes.service-Update-ConditionFileNotEmp.patch
@@ -1,32 +1,27 @@
-From 775a2a8940c07f4af33a2a11bfa17e0257b427cb Mon Sep 17 00:00:00 2001
+From df0fec7ac2f33bcca60ba9a2396af33397ba42cc Mon Sep 17 00:00:00 2001
 From: Florian Klink <flokli@flokli.de>
 Date: Sat, 7 Mar 2020 22:40:27 +0100
 Subject: [PATCH 16/19] kmod-static-nodes.service: Update ConditionFileNotEmpty
 
-kmod loads modules from not only /lib/modules but also from
-/run/booted-system/kernel-modules/lib/modules and
-/run/current-system/kernel-modules/lib/module
-
-Co-authored-by: Arian van Putten <arian.vanputten@gmail.com>
+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 | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
+ 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..9a5e05a1cc 100644
+index 777e82d16b..b6abc2bba0 100644
 --- a/units/kmod-static-nodes.service.in
 +++ b/units/kmod-static-nodes.service.in
-@@ -12,7 +12,9 @@ Description=Create List of Static Device Nodes
+@@ -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=|/lib/modules/%v/modules.devname
-+ConditionFileNotEmpty=|/run/booted-system/kernel-modules/lib/modules/%v/modules.devname
-+ConditionFileNotEmpty=|/run/current-system/kernel-modules/lib/modules/%v/modules.devname
++ConditionFileNotEmpty=/run/booted-system/kernel-modules/lib/modules/%v/modules.devname
  
  [Service]
  Type=oneshot
 -- 
-2.33.1
+2.34.0
 
diff --git a/pkgs/os-specific/linux/systemd/0017-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch b/pkgs/os-specific/linux/systemd/0017-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch
index 52b74284fe26d..882690ad9140f 100644
--- a/pkgs/os-specific/linux/systemd/0017-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch
+++ b/pkgs/os-specific/linux/systemd/0017-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch
@@ -1,4 +1,4 @@
-From 6ddb2011b379f3232374327517af874b68c434b5 Mon Sep 17 00:00:00 2001
+From f21722ac0f51b0b59a5c030af3db5fe4e6397f7c Mon Sep 17 00:00:00 2001
 From: Florian Klink <flokli@flokli.de>
 Date: Sun, 8 Mar 2020 01:05:54 +0100
 Subject: [PATCH 17/19] path-util.h: add placeholder for DEFAULT_PATH_NORMAL
@@ -10,7 +10,7 @@ systemd itself uses extensively.
  1 file changed, 3 insertions(+), 3 deletions(-)
 
 diff --git a/src/basic/path-util.h b/src/basic/path-util.h
-index 26e7362d1f..a8f8a863ec 100644
+index 518f3340bf..18e826ea0b 100644
 --- a/src/basic/path-util.h
 +++ b/src/basic/path-util.h
 @@ -24,11 +24,11 @@
@@ -29,5 +29,5 @@ index 26e7362d1f..a8f8a863ec 100644
  #if HAVE_SPLIT_USR
  #  define DEFAULT_PATH DEFAULT_PATH_SPLIT_USR
 -- 
-2.33.1
+2.34.0
 
diff --git a/pkgs/os-specific/linux/systemd/0018-pkg-config-derive-prefix-from-prefix.patch b/pkgs/os-specific/linux/systemd/0018-pkg-config-derive-prefix-from-prefix.patch
index 58eb7f96e642c..e602bef9c3d7f 100644
--- a/pkgs/os-specific/linux/systemd/0018-pkg-config-derive-prefix-from-prefix.patch
+++ b/pkgs/os-specific/linux/systemd/0018-pkg-config-derive-prefix-from-prefix.patch
@@ -1,4 +1,4 @@
-From 50f2ada6cbfafa75b628410e8834f29581854e6f Mon Sep 17 00:00:00 2001
+From 968bd0c7bc058a4b05b6457f9ff20d02b70c9852 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 18/19] pkg-config: derive prefix from --prefix
@@ -29,5 +29,5 @@ index 162432e77f..2fc20daf03 100644
  rootprefix=${root_prefix}
  sysconf_dir={{SYSCONF_DIR}}
 -- 
-2.33.1
+2.34.0
 
diff --git a/pkgs/os-specific/linux/systemd/0019-core-handle-lookup-paths-being-symlinks.patch b/pkgs/os-specific/linux/systemd/0019-core-handle-lookup-paths-being-symlinks.patch
index 54e5c32aeb446..916f95e194ac6 100644
--- a/pkgs/os-specific/linux/systemd/0019-core-handle-lookup-paths-being-symlinks.patch
+++ b/pkgs/os-specific/linux/systemd/0019-core-handle-lookup-paths-being-symlinks.patch
@@ -1,4 +1,4 @@
-From 2ab388cf0be320879e668a6206cb15d002b55f98 Mon Sep 17 00:00:00 2001
+From 169fc6f270ff3e3903a7a31550c964152f9751ec Mon Sep 17 00:00:00 2001
 From: Andreas Rammhold <andreas@rammhold.de>
 Date: Wed, 18 Aug 2021 19:10:08 +0200
 Subject: [PATCH 19/19] core: handle lookup paths being symlinks
@@ -15,10 +15,10 @@ directory itself is already a symlink.
  1 file changed, 31 insertions(+), 2 deletions(-)
 
 diff --git a/src/basic/unit-file.c b/src/basic/unit-file.c
-index 0d58b1c4fe..7314f1245f 100644
+index 30c632dfce..6179100126 100644
 --- a/src/basic/unit-file.c
 +++ b/src/basic/unit-file.c
-@@ -254,6 +254,7 @@ int unit_file_build_name_map(
+@@ -255,6 +255,7 @@ int unit_file_build_name_map(
  
          _cleanup_hashmap_free_ Hashmap *ids = NULL, *names = NULL;
          _cleanup_set_free_free_ Set *paths = NULL;
@@ -26,7 +26,7 @@ index 0d58b1c4fe..7314f1245f 100644
          uint64_t timestamp_hash;
          char **dir;
          int r;
-@@ -273,6 +274,34 @@ int unit_file_build_name_map(
+@@ -274,6 +275,34 @@ int unit_file_build_name_map(
                          return log_oom();
          }
  
@@ -59,9 +59,9 @@ index 0d58b1c4fe..7314f1245f 100644
 +        }
 +
          STRV_FOREACH(dir, (char**) lp->search_path) {
-                 struct dirent *de;
                  _cleanup_closedir_ DIR *d = NULL;
-@@ -351,11 +380,11 @@ int unit_file_build_name_map(
+ 
+@@ -386,11 +415,11 @@ int unit_file_build_name_map(
                                          continue;
                                  }
  
@@ -76,5 +76,5 @@ index 0d58b1c4fe..7314f1245f 100644
                                          log_debug("%s: linked unit file: %s → %s",
                                                    __func__, filename, simplified);
 -- 
-2.33.1
+2.34.0
 
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 3a3a419093b75..73c27b0b61f04 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -15,6 +15,8 @@
 , gperf
 , getent
 , glibcLocales
+
+  # glib is only used during tests (test-bus-gvariant, test-bus-marshal)
 , glib
 , substituteAll
 , gettext
@@ -29,7 +31,6 @@
   # Optional dependencies
 , pam
 , cryptsetup
-, lvm2
 , audit
 , acl
 , lz4
@@ -61,8 +62,10 @@
 , kexec-tools
 , bashInteractive
 , libmicrohttpd
+, libfido2
+, p11-kit
 
-  # the (optional) BPF feature requires bpftool, libbpf, clang and llmv-strip to be avilable during build time.
+  # the (optional) BPF feature requires bpftool, libbpf, clang and llvm-strip to be available during build time.
   # Only libbpf should be a runtime dependency.
 , bpftools
 , libbpf
@@ -97,8 +100,8 @@
 , withTimesyncd ? true
 , withTpm2Tss ? !stdenv.hostPlatform.isMusl
 , withUserDb ? !stdenv.hostPlatform.isMusl
-, libfido2
-, p11-kit
+  # tests assume too much system access for them to be feasible for us right now
+, withTests ? false
 
   # name argument
 , pname ? "systemd"
@@ -123,7 +126,14 @@ assert withHomed -> withCryptsetup;
 assert withCryptsetup -> (cryptsetup != null);
 let
   wantCurl = withRemote || withImportd;
-  version = "249.7";
+  wantGcrypt = withResolved || withImportd;
+  version = "250.4";
+
+  # Bump this variable on every (major) version change. See below (in the meson options list) for why.
+  # command:
+  #  $ curl -s https://api.github.com/repos/systemd/systemd/releases/latest | \
+  #     jq '.created_at|strptime("%Y-%m-%dT%H:%M:%SZ")|mktime'
+  releaseTimestamp = "1640290180";
 in
 stdenv.mkDerivation {
   inherit pname version;
@@ -134,12 +144,12 @@ stdenv.mkDerivation {
     owner = "systemd";
     repo = "systemd-stable";
     rev = "v${version}";
-    sha256 = "sha256-y33/BvvI+JyhsvuT1Cbm6J2Z72j71oXgLw6X9NwCMPE=";
+    sha256 = "sha256-AdzPh7dGVrGbbjL9+PqytQOpRzNDUUEftmKZAbFH3L4=";
   };
 
-  # If these need to be regenerated, `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}`.
+  # 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}`.
   # 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,42 +176,44 @@ stdenv.mkDerivation {
     # systemd. With the below patch we mitigate that effect by special casing
     # all our root unit dirs if they are symlinks. This does exactly what we
     # need (AFAICT).
-    # See https://github.com/systemd/systemd/pull/20479 for upsteam discussion.
+    # See https://github.com/systemd/systemd/pull/20479 for upstream discussion.
     ./0019-core-handle-lookup-paths-being-symlinks.patch
-  ] ++ lib.optional stdenv.hostPlatform.isMusl (let
-    oe-core = fetchzip {
-      url = "https://git.openembedded.org/openembedded-core/snapshot/openembedded-core-14c6e5a4b72d0e4665279158a0740dd1dc21f72f.tar.bz2";
-      sha256 = "1jixya4czkr5p5rdcw3d6ips8zzr82dvnanvzvgjh67730scflya";
-    };
-    musl-patches = oe-core + "/meta/recipes-core/systemd/systemd";
-  in [
-    (musl-patches + "/0002-don-t-use-glibc-specific-qsort_r.patch")
-    (musl-patches + "/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch")
-    (musl-patches + "/0004-add-fallback-parse_printf_format-implementation.patch")
-    (musl-patches + "/0005-src-basic-missing.h-check-for-missing-strndupa.patch")
-    (musl-patches + "/0006-Include-netinet-if_ether.h.patch")
-    (musl-patches + "/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch")
-    (musl-patches + "/0008-add-missing-FTW_-macros-for-musl.patch")
-    (musl-patches + "/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch")
-    (musl-patches + "/0010-Use-uintmax_t-for-handling-rlim_t.patch")
-    (musl-patches + "/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch")
-    (musl-patches + "/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch")
-    (musl-patches + "/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch")
-    (musl-patches + "/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch")
-    (musl-patches + "/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch")
-    (musl-patches + "/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch")
-    (musl-patches + "/0017-missing_type.h-add-__compar_d_fn_t-definition.patch")
-    (musl-patches + "/0018-avoid-redefinition-of-prctl_mm_map-structure.patch")
-    (musl-patches + "/0019-Handle-missing-LOCK_EX.patch")
-    (musl-patches + "/0021-test-json.c-define-M_PIl.patch")
-    (musl-patches + "/0022-do-not-disable-buffer-in-writing-files.patch")
-    (musl-patches + "/0025-Handle-__cpu_mask-usage.patch")
-    (musl-patches + "/0026-Handle-missing-gshadow.patch")
-    (musl-patches + "/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch")
-
-    # Being discussed upstream: https://lists.openembedded.org/g/openembedded-core/topic/86411771#157056
-    ./musl.diff
-  ]);
+  ] ++ lib.optional stdenv.hostPlatform.isMusl (
+    let
+      oe-core = fetchzip {
+        url = "https://git.openembedded.org/openembedded-core/snapshot/openembedded-core-7e35a575ef09a85e625a81e0b4d80b020e3e3a92.tar.bz2";
+        sha256 = "0dvz4685nk0y7nnq3sr2q8ab3wfx0bi8ilwcgn0h6kagwcnav2n8";
+      };
+      musl-patches = oe-core + "/meta/recipes-core/systemd/systemd";
+    in
+    [
+      (musl-patches + "/0002-don-t-use-glibc-specific-qsort_r.patch")
+      (musl-patches + "/0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch")
+      (musl-patches + "/0004-add-fallback-parse_printf_format-implementation.patch")
+      (musl-patches + "/0005-src-basic-missing.h-check-for-missing-strndupa.patch")
+      (musl-patches + "/0007-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch")
+      (musl-patches + "/0008-add-missing-FTW_-macros-for-musl.patch")
+      (musl-patches + "/0009-fix-missing-of-__register_atfork-for-non-glibc-build.patch")
+      (musl-patches + "/0010-Use-uintmax_t-for-handling-rlim_t.patch")
+      (musl-patches + "/0011-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch")
+      (musl-patches + "/0012-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch")
+      (musl-patches + "/0013-Define-glibc-compatible-basename-for-non-glibc-syste.patch")
+      (musl-patches + "/0014-Do-not-disable-buffering-when-writing-to-oom_score_a.patch")
+      (musl-patches + "/0015-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch")
+      (musl-patches + "/0016-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch")
+      (musl-patches + "/0017-missing_type.h-add-__compar_d_fn_t-definition.patch")
+      (musl-patches + "/0018-avoid-redefinition-of-prctl_mm_map-structure.patch")
+      (musl-patches + "/0019-Handle-missing-LOCK_EX.patch")
+      (musl-patches + "/0021-test-json.c-define-M_PIl.patch")
+      (musl-patches + "/0022-do-not-disable-buffer-in-writing-files.patch")
+      (musl-patches + "/0025-Handle-__cpu_mask-usage.patch")
+      (musl-patches + "/0026-Handle-missing-gshadow.patch")
+      (musl-patches + "/0028-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch")
+      (musl-patches + "/0001-pass-correct-parameters-to-getdents64.patch")
+      (musl-patches + "/0002-Add-sys-stat.h-for-S_IFDIR.patch")
+      (musl-patches + "/0001-Adjust-for-musl-headers.patch")
+    ]
+  );
 
   postPatch = ''
     substituteInPlace src/basic/path-util.h --replace "@defaultPathNormal@" "${placeholder "out"}/bin/"
@@ -211,7 +223,7 @@ stdenv.mkDerivation {
       "find_program('${stdenv.cc.bintools.targetPrefix}objcopy'"
   '' + (
     let
-      # The folllowing patches references to dynamic libraries to ensure that
+      # The following patches references to dynamic libraries to ensure that
       # all the features that are implemented via dlopen(3) are available (or
       # explicitly deactivated) by pointing dlopen to the absolute store path
       # instead of relying on the linkers runtime lookup code.
@@ -267,7 +279,7 @@ stdenv.mkDerivation {
           { name = "libidn.so.12"; pkg = null; }
           { name = "libidn.so.11"; pkg = null; }
 
-          # journalctl --grep requires libpcre so lets provide it
+          # journalctl --grep requires libpcre so let's provide it
           { name = "libpcre2-8.so.0"; pkg = pcre2; }
 
           # Support for TPM2 in systemd-cryptsetup, systemd-repart and systemd-cryptenroll
@@ -276,6 +288,10 @@ stdenv.mkDerivation {
           { name = "libtss2-mu.so.0"; pkg = opt withTpm2Tss tpm2-tss; }
           { name = "libtss2-tcti-"; pkg = opt withTpm2Tss tpm2-tss; }
           { name = "libfido2.so.1"; pkg = opt withFido2 libfido2; }
+
+          # inspect-elf support
+          { name = "libelf.so.1"; pkg = opt withCoredump elfutils; }
+          { name = "libdw.so.1"; pkg = opt withCoredump elfutils; }
         ];
 
       patchDlOpen = dl:
@@ -294,7 +310,7 @@ stdenv.mkDerivation {
             # exceptional case, details:
             # https://github.com/systemd/systemd-stable/blob/v249-stable/src/shared/tpm2-util.c#L157
             if ! [[ "${library}" =~ .*libtss2-tcti-$ ]]; then
-              echo 'The shared library `${library}` does not exist but was given as subtitute for `${dl.name}`'
+              echo 'The shared library `${library}` does not exist but was given as substitute for `${dl.name}`'
               exit 1
             fi
           fi
@@ -318,8 +334,8 @@ stdenv.mkDerivation {
     fi
   ''
   # Finally patch shebangs that might need patching.
-  # Should no longer be necessary with v250.
-  # https://github.com/systemd/systemd/pull/19638
+  # Should no longer be necessary with v251.
+  # https://github.com/systemd/systemd/pull/21749
   + ''
     patchShebangs .
   '';
@@ -356,16 +372,16 @@ stdenv.mkDerivation {
     [
       acl
       audit
-      glib
       kmod
       libcap
-      libgcrypt
       libidn2
       libuuid
       linuxHeaders
       pam
     ]
 
+    ++ lib.optional wantGcrypt libgcrypt
+    ++ lib.optional withTests glib
     ++ lib.optional withApparmor libapparmor
     ++ lib.optional wantCurl (lib.getDev curl)
     ++ lib.optionals withCompression [ bzip2 lz4 xz zstd ]
@@ -389,6 +405,14 @@ stdenv.mkDerivation {
 
   mesonFlags = [
     "-Dversion-tag=${version}"
+    # We bump this variable on every (major) version change to ensure
+    # that we have known-good value for a timestamp that is in the (not so distant) past.
+    # This serves as a lower bound for valid system timestamps during startup. Systemd will
+    # reset the system timestamp if this date is +- 15 years from the system time.
+    # See the systemd v250 release notes for further details:
+    # https://github.com/systemd/systemd/blob/60e930fc3e6eb8a36fbc184773119eb8d2f30364/NEWS#L258-L266
+    "-Dtime-epoch=${releaseTimestamp}"
+
     "-Ddbuspolicydir=${placeholder "out"}/share/dbus-1/system.d"
     "-Ddbussessionservicedir=${placeholder "out"}/share/dbus-1/services"
     "-Ddbussystemservicedir=${placeholder "out"}/share/dbus-1/system-services"
@@ -400,11 +424,11 @@ stdenv.mkDerivation {
     "-Dsetfont-path=${kbd}/bin/setfont"
     "-Dtty-gid=3" # tty in NixOS has gid 3
     "-Ddebug-shell=${bashInteractive}/bin/bash"
-    "-Dglib=${lib.boolToString (glib != null)}"
+    "-Dglib=${lib.boolToString withTests}"
     # while we do not run tests we should also not build them. Removes about 600 targets
     "-Dtests=false"
     "-Danalyze=${lib.boolToString withAnalyze}"
-    "-Dgcrypt=${lib.boolToString (libgcrypt != null)}"
+    "-Dgcrypt=${lib.boolToString wantGcrypt}"
     "-Dimportd=${lib.boolToString withImportd}"
     "-Dlz4=${lib.boolToString withCompression}"
     "-Dhomed=${lib.boolToString withHomed}"
@@ -435,7 +459,11 @@ stdenv.mkDerivation {
     "-Dsmack=true"
     "-Db_pie=true"
     "-Dinstall-sysconfdir=false"
-    "-Defi-ld=${stdenv.cc.bintools.targetPrefix}ld"
+    "-Dsbat-distro=nixos"
+    "-Dsbat-distro-summary=NixOS"
+    "-Dsbat-distro-url=https://nixos.org/"
+    "-Dsbat-distro-pkgname=${pname}"
+    "-Dsbat-distro-version=${version}"
     /*
       As of now, systemd doesn't allow runtime configuration of these values. So
       the settings in /etc/login.defs have no effect on it. Many people think this
@@ -448,7 +476,6 @@ stdenv.mkDerivation {
     */
     "-Dsystem-uid-max=999"
     "-Dsystem-gid-max=999"
-    # "-Dtime-epoch=1"
 
     "-Dsysvinit-path="
     "-Dsysvrcnd-path="
@@ -487,57 +514,96 @@ stdenv.mkDerivation {
     "-Dutmp=false"
     "-Didn=false"
   ];
+  preConfigure =
+    let
+      # A list of all the runtime binaries that the systemd exectuables, tests and libraries are referencing in their source code, scripts and unit files.
+      # As soon as a dependency isn't required anymore we should remove it from the list. The `where` attribute for each of the replacement patterns must be exhaustive. If another (unhandled) case is found in the source code the build fails with an error message.
+      binaryReplacements = [
+        { search = "/usr/bin/getent"; replacement = "${getent}/bin/getent"; where = [ "src/nspawn/nspawn-setuid.c" ]; }
+
+        {
+          search = "/sbin/mkswap";
+          replacement = "${lib.getBin util-linux}/sbin/mkswap";
+          where = [
+            "man/systemd-makefs@.service.xml"
+          ];
+        }
+        { search = "/sbin/swapon"; replacement = "${lib.getBin util-linux}/sbin/swapon"; where = [ "src/core/swap.c" "src/basic/unit-def.h" ]; }
+        { search = "/sbin/swapoff"; replacement = "${lib.getBin util-linux}/sbin/swapoff"; where = [ "src/core/swap.c" ]; }
+        {
+          search = "/bin/echo";
+          replacement = "${coreutils}/bin/echo";
+          where = [
+            "man/systemd-analyze.xml"
+            "man/systemd.service.xml"
+            "src/analyze/test-verify.c"
+            "src/test/test-env-file.c"
+            "src/test/test-fileio.c"
+          ];
+        }
+        {
+          search = "/bin/cat";
+          replacement = "${coreutils}/bin/cat";
+          where = [ "test/create-busybox-container" "test/test-execute/exec-noexecpaths-simple.service" "src/journal/cat.c" ];
+        }
+        { search = "/sbin/modprobe"; replacement = "${lib.getBin kmod}/sbin/modprobe"; where = [ "units/modprobe@.service" ]; }
+        {
+          search = "/usr/lib/systemd/systemd-fsck";
+          replacement = "$out/lib/systemd/systemd-fsck";
+          where = [
+            "man/systemd-fsck@.service.xml"
+          ];
+        }
+      ] ++ lib.optionals withImportd [
+        {
+          search = "\"gpg\"";
+          replacement = "\\\"${gnupg}/bin/gpg\\\"";
+          where = [ "src/import/pull-common.c" ];
+        }
+        {
+          search = "\"tar\"";
+          replacement = "\\\"${gnutar}/bin/tar\\\"";
+          where = [
+            "src/import/export-tar.c"
+            "src/import/export.c"
+            "src/import/import-common.c"
+            "src/import/import-tar.c"
+            "src/import/import.c"
+            "src/import/importd.c"
+            "src/import/pull-tar.c"
+            "src/import/pull.c"
+          ];
+        }
+      ];
+
+      # { replacement, search, where } -> List[str]
+      mkSubstitute = { replacement, search, where }:
+        map (path: "substituteInPlace ${path} --replace '${search}' \"${replacement}\"") where;
+      mkEnsureSubstituted = { replacement, search, where }:
+        ''
+          if [[ $(grep -r '${search}' | grep -v "${replacement}" | grep -Ev 'NEWS|^test/' | wc -l) -gt 0 ]]; then
+            echo "Not all references to '${search}' have been replaced. Found the following matches:"
+            grep '${search}' -r | grep -v "${replacement}" | grep -Ev 'NEWS|^test/'
+            exit 1
+          fi
+        '';
 
-  preConfigure = ''
-    mesonFlagsArray+=(-Dntp-servers="0.nixos.pool.ntp.org 1.nixos.pool.ntp.org 2.nixos.pool.ntp.org 3.nixos.pool.ntp.org")
-    export LC_ALL="en_US.UTF-8";
-    # FIXME: patch this in systemd properly (and send upstream).
-    # already fixed in f00929ad622c978f8ad83590a15a765b4beecac9: (u)mount
-    for i in \
-      src/core/mount.c \
-      src/core/swap.c \
-      src/cryptsetup/cryptsetup-generator.c \
-      src/journal/cat.c \
-      src/nspawn/nspawn.c \
-      src/remount-fs/remount-fs.c \
-      src/shared/generator.c \
-      src/shutdown/shutdown.c \
-      units/emergency.service.in \
-      units/modprobe@.service \
-      units/rescue.service.in \
-      units/systemd-logind.service.in \
-      units/systemd-nspawn@.service.in; \
-    do
-      test -e $i
-      substituteInPlace $i \
-        --replace /usr/bin/getent ${getent}/bin/getent \
-        --replace /sbin/mkswap ${lib.getBin util-linux}/sbin/mkswap \
-        --replace /sbin/swapon ${lib.getBin util-linux}/sbin/swapon \
-        --replace /sbin/swapoff ${lib.getBin util-linux}/sbin/swapoff \
-        --replace /bin/echo ${coreutils}/bin/echo \
-        --replace /bin/cat ${coreutils}/bin/cat \
-        --replace /sbin/sulogin ${lib.getBin util-linux}/sbin/sulogin \
-        --replace /sbin/modprobe ${lib.getBin kmod}/sbin/modprobe \
-        --replace /usr/lib/systemd/systemd-fsck $out/lib/systemd/systemd-fsck \
-        --replace /bin/plymouth /run/current-system/sw/bin/plymouth # To avoid dependency
-    done
+    in
+    ''
+      mesonFlagsArray+=(-Dntp-servers="0.nixos.pool.ntp.org 1.nixos.pool.ntp.org 2.nixos.pool.ntp.org 3.nixos.pool.ntp.org")
+      export LC_ALL="en_US.UTF-8";
 
-    for dir in tools src/resolve test src/test src/shared; do
-      patchShebangs $dir
-    done
+      ${lib.concatStringsSep "\n" (lib.flatten (map mkSubstitute binaryReplacements))}
+      ${lib.concatMapStringsSep "\n" mkEnsureSubstituted binaryReplacements}
 
-    # absolute paths to gpg & tar
-    substituteInPlace src/import/pull-common.c \
-      --replace '"gpg"' '"${gnupg}/bin/gpg"'
-    for file in src/import/{{export,import,pull}-tar,import-common}.c; do
-      substituteInPlace $file \
-        --replace '"tar"' '"${gnutar}/bin/tar"'
-    done
 
+      for dir in tools src/resolve test src/test src/shared; do
+        patchShebangs $dir
+      done
 
-    substituteInPlace src/libsystemd/sd-journal/catalog.c \
-      --replace /usr/lib/systemd/catalog/ $out/lib/systemd/catalog/
-  '';
+      substituteInPlace src/libsystemd/sd-journal/catalog.c \
+        --replace /usr/lib/systemd/catalog/ $out/lib/systemd/catalog/
+    '';
 
   # These defines are overridden by CFLAGS and would trigger annoying
   # warning messages
@@ -545,7 +611,7 @@ stdenv.mkDerivation {
     substituteInPlace config.h \
       --replace "POLKIT_AGENT_BINARY_PATH" "_POLKIT_AGENT_BINARY_PATH" \
       --replace "SYSTEMD_BINARY_PATH" "_SYSTEMD_BINARY_PATH" \
-      --replace "SYSTEMD_CGROUP_AGENT_PATH" "_SYSTEMD_CGROUP_AGENT_PATH"
+      --replace "SYSTEMD_CGROUP_AGENTS_PATH" "_SYSTEMD_CGROUP_AGENT_PATH"
   '';
 
   NIX_CFLAGS_COMPILE = toString ([
@@ -557,8 +623,8 @@ stdenv.mkDerivation {
     # Set the release_agent on /sys/fs/cgroup/systemd to the
     # currently running systemd (/run/current-system/systemd) so
     # that we don't use an obsolete/garbage-collected release agent.
-    "-USYSTEMD_CGROUP_AGENT_PATH"
-    "-DSYSTEMD_CGROUP_AGENT_PATH=\"/run/current-system/systemd/lib/systemd/systemd-cgroups-agent\""
+    "-USYSTEMD_CGROUP_AGENTS_PATH"
+    "-DSYSTEMD_CGROUP_AGENTS_PATH=\"/run/current-system/systemd/lib/systemd/systemd-cgroups-agent\""
 
     "-USYSTEMD_BINARY_PATH"
     "-DSYSTEMD_BINARY_PATH=\"/run/current-system/systemd/lib/systemd/systemd\""
@@ -575,6 +641,12 @@ stdenv.mkDerivation {
   '';
 
   postInstall = ''
+    # sysinit.target: Don't depend on
+    # systemd-tmpfiles-setup.service. This interferes with NixOps's
+    # send-keys feature (since sshd.service depends indirectly on
+    # sysinit.target).
+    mv $out/lib/systemd/system/sysinit.target.wants/systemd-tmpfiles-setup-dev.service $out/lib/systemd/system/multi-user.target.wants/
+
     mkdir -p $out/example/systemd
     mv $out/lib/{modules-load.d,binfmt.d,sysctl.d,tmpfiles.d} $out/example
     mv $out/lib/systemd/{system,user} $out/example/systemd
@@ -603,7 +675,7 @@ stdenv.mkDerivation {
     # runtime; otherwise we can't and we need to reboot.
     interfaceVersion = 2;
 
-    inherit withCryptsetup;
+    inherit withCryptsetup util-linux;
 
     tests = {
       inherit (nixosTests) switchTest;
diff --git a/pkgs/os-specific/linux/systemd/musl.diff b/pkgs/os-specific/linux/systemd/musl.diff
deleted file mode 100644
index cab135dd8fc53..0000000000000
--- a/pkgs/os-specific/linux/systemd/musl.diff
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/shared/mount-setup.c b/src/shared/mount-setup.c
-index ef3527e..cc1ba23 100644
---- a/src/shared/mount-setup.c
-+++ b/src/shared/mount-setup.c
-@@ -32,6 +32,7 @@
- #include "strv.h"
- #include "user-util.h"
- #include "virt.h"
-+#include "missing_type.h"
- 
- typedef enum MountMode {
-         MNT_NONE           = 0,
diff --git a/pkgs/os-specific/linux/tiscamera/default.nix b/pkgs/os-specific/linux/tiscamera/default.nix
index 38bc7c3eaff31..1182aead36bed 100644
--- a/pkgs/os-specific/linux/tiscamera/default.nix
+++ b/pkgs/os-specific/linux/tiscamera/default.nix
@@ -17,6 +17,7 @@
 , python3Packages
 , libuuid
 , wrapGAppsHook
+, catch2
 }:
 
 stdenv.mkDerivation rec {
@@ -30,6 +31,10 @@ stdenv.mkDerivation rec {
     sha256 = "0hpy9yhc4mn6w8gvzwif703smmcys0j2jqbz2xfghqxcyb0ykplj";
   };
 
+  postPatch = ''
+    cp ${catch2}/include/catch2/catch.hpp external/catch/catch.hpp
+  '';
+
   nativeBuildInputs = [
     cmake
     pkg-config
diff --git a/pkgs/os-specific/linux/upower/default.nix b/pkgs/os-specific/linux/upower/default.nix
index 51ae7b002f9ac..aff9125c236de 100644
--- a/pkgs/os-specific/linux/upower/default.nix
+++ b/pkgs/os-specific/linux/upower/default.nix
@@ -8,7 +8,7 @@
 , ninja
 , python3
 , gtk-doc
-, docbook_xsl
+, docbook-xsl-nons
 , udev
 , libgudev
 , libusb1
@@ -22,7 +22,7 @@
 
 stdenv.mkDerivation rec {
   pname = "upower";
-  version = "0.99.15";
+  version = "0.99.17";
 
   outputs = [ "out" "dev" "devdoc" ];
 
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     owner = "upower";
     repo = "upower";
     rev = "v${version}";
-    sha256 = "sha256-GlLy2MPip21KOabdW8Vw6NVe3xhzsd9htxQ2xO/hZ/4=";
+    sha256 = "xvvqzGxgkuGcvnO12jnLURNJUoSlnMw2g/mnII+i6Bs=";
   };
 
   nativeBuildInputs = [
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     ninja
     python3
     gtk-doc
-    docbook_xsl
+    docbook-xsl-nons
     gettext
     gobject-introspection
     libxslt
@@ -99,7 +99,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://upower.freedesktop.org/";
+    changelog = "https://gitlab.freedesktop.org/upower/upower/-/blob/v${version}/NEWS";
     description = "A D-Bus service for power management";
+    maintainers = teams.freedesktop.members;
     platforms = platforms.linux;
     license = licenses.gpl2Plus;
   };
diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix
index bedd2417e7ead..d54f577def3e0 100644
--- a/pkgs/os-specific/linux/util-linux/default.nix
+++ b/pkgs/os-specific/linux/util-linux/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  pname = "util-linux";
+  pname = "util-linux" + lib.optionalString ( !nlsSupport && ncurses == null && systemd == null ) "-minimal";
   version = "2.37.4";
 
   src = fetchurl {
-    url = "mirror://kernel/linux/utils/util-linux/v${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    url = "mirror://kernel/linux/utils/util-linux/v${lib.versions.majorMinor version}/util-linux-${version}.tar.xz";
     sha256 = "sha256-Y05pFq2RM2bDU2tkaOeER2lUm5mnsr+AMU3nirVlW4M=";
   };
 
diff --git a/pkgs/os-specific/linux/vdo/default.nix b/pkgs/os-specific/linux/vdo/default.nix
new file mode 100644
index 0000000000000..1904445d4c2c5
--- /dev/null
+++ b/pkgs/os-specific/linux/vdo/default.nix
@@ -0,0 +1,64 @@
+{ lib, stdenv
+, fetchFromGitHub
+, installShellFiles
+, libuuid
+, lvm2_dmeventd  # <libdevmapper-event.h>
+, zlib
+, python3
+}:
+
+stdenv.mkDerivation rec {
+  pname = "vdo";
+  version = "8.1.1.360";  # kvdo uses this!
+
+  src = fetchFromGitHub {
+    owner = "dm-vdo";
+    repo = pname;
+    rev = version;
+    sha256 = "1zp8aaw0diramnlx5z96jcpbm6x0r204xf1vwq6k21rzcazczkwv";
+  };
+
+  nativeBuildInputs = [
+    installShellFiles
+  ];
+
+  buildInputs = [
+    libuuid
+    lvm2_dmeventd
+    zlib
+    python3.pkgs.wrapPython
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    pyyaml
+  ];
+
+  pythonPath = propagatedBuildInputs;
+
+  makeFlags = [
+    "DESTDIR=${placeholder "out"}"
+    "INSTALLOWNER="
+    # all of these paths are relative to DESTDIR and have defaults that don't work for us
+    "bindir=/bin"
+    "defaultdocdir=/share/doc"
+    "mandir=/share/man"
+    "python3_sitelib=${python3.sitePackages}"
+  ];
+
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    installShellCompletion --bash $out/bash_completion.d/*
+    rm -r $out/bash_completion.d
+
+    wrapPythonPrograms
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/dm-vdo/vdo";
+    description = "A set of userspace tools for managing pools of deduplicated and/or compressed block storage";
+    platforms = platforms.linux;
+    license = with licenses; [ gpl2Plus ];
+    maintainers = with maintainers; [ ajs124 ];
+  };
+}
diff --git a/pkgs/os-specific/linux/x86info/default.nix b/pkgs/os-specific/linux/x86info/default.nix
index e842b59651e7e..db5b040da3a29 100644
--- a/pkgs/os-specific/linux/x86info/default.nix
+++ b/pkgs/os-specific/linux/x86info/default.nix
@@ -1,32 +1,45 @@
-{lib, stdenv, fetchurl, pciutils, python2}:
+{ lib
+, stdenv
+, fetchFromGitHub
+, pciutils
+, pkg-config
+, python3
+}:
 
 stdenv.mkDerivation rec {
-  version = "1.30";
   pname = "x86info";
+  version = "unstable-2021-08-07";
 
-  src = fetchurl {
-    url = "http://codemonkey.org.uk/projects/x86info/${pname}-${version}.tgz";
-    sha256 = "0a4lzka46nabpsrg3n7akwr46q38f96zfszd73xcback1s2hjc7y";
+  src = fetchFromGitHub {
+    owner = "kernelslacker";
+    repo = pname;
+    rev = "061ea35ecb0697761b6260998fa2045b8bb0be68";
+    hash = "sha256-/qWioC4dV1bQkU4SiTR8duYqoGIMIH7s8vuAXi75juo=";
   };
 
-  preConfigure = ''
-    patchShebangs .
+  nativeBuildInputs = [
+    pkg-config
+    python3
+  ];
 
-    # ignore warnings
-    sed -i 's/-Werror -Wall//' Makefile
-  '';
+  buildInputs = [
+    pciutils
+  ];
 
-  buildInputs = [ pciutils python2 ];
+  postBuild = ''
+    patchShebangs lsmsr/createheader.py
+    make -C lsmsr
+  '';
 
   installPhase = ''
     mkdir -p $out/bin
-    cp x86info lsmsr $out/bin
+    cp x86info $out/bin
+    cp lsmsr/lsmsr $out/bin
   '';
 
   meta = {
     description = "Identification utility for the x86 series of processors";
-    longDescription =
-    ''
+    longDescription = ''
       x86info will identify all Intel/AMD/Centaur/Cyrix/VIA CPUs. It leverages
       the cpuid kernel module where possible.  it supports parsing model specific
       registers (MSRs) via the msr kernel module.  it will approximate processor
@@ -34,7 +47,7 @@ stdenv.mkDerivation rec {
     '';
     platforms = [ "i686-linux" "x86_64-linux" ];
     license = lib.licenses.gpl2;
-    homepage = "http://codemonkey.org.uk/projects/x86info/";
-    maintainers = with lib.maintainers; [jcumming];
+    homepage = "https://github.com/kernelslacker/x86info";
+    maintainers = with lib.maintainers; [ jcumming ];
   };
 }
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index b5260d47caa49..6747d511694bb 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -16,7 +16,7 @@
 , enablePython ? true
 
 # for determining the latest compatible linuxPackages
-, linuxPackages_5_16 ? pkgs.linuxKernel.packages.linux_5_16
+, linuxPackages_5_17 ? pkgs.linuxKernel.packages.linux_5_17
 }:
 
 let
@@ -216,28 +216,28 @@ in {
   # to be adapted
   zfsStable = common {
     # check the release notes for compatible kernels
-    kernelCompatible = kernel.kernelAtLeast "3.10" && kernel.kernelOlder "5.17";
-    latestCompatibleLinuxPackages = linuxPackages_5_16;
+    kernelCompatible = kernel.kernelAtLeast "3.10" && kernel.kernelOlder "5.18";
+    latestCompatibleLinuxPackages = linuxPackages_5_17;
 
     # this package should point to the latest release.
-    version = "2.1.3";
+    version = "2.1.4";
 
-    sha256 = "10p9s835wj5msspqwnqbfbnh8jmcazzd2v0gj4hn7vvni4p48gfl";
+    sha256 = "sha256-pHz1N2j+d9p1xleEBwwrmK9mN5gEyM69Suy0dsrkZT4=";
   };
 
   zfsUnstable = common {
     # check the release notes for compatible kernels
-    kernelCompatible = kernel.kernelAtLeast "3.10" && kernel.kernelOlder "5.17";
-    latestCompatibleLinuxPackages = linuxPackages_5_16;
+    kernelCompatible = kernel.kernelAtLeast "3.10" && kernel.kernelOlder "5.18";
+    latestCompatibleLinuxPackages = linuxPackages_5_17;
 
     # this package should point to a version / git revision compatible with the latest kernel release
     # IMPORTANT: Always use a tagged release candidate or commits from the
     # zfs-<version>-staging branch, because this is tested by the OpenZFS
     # maintainers.
-    version = "2.1.3";
+    version = "2.1.4";
     # rev = "0000000000000000000000000000000000000000";
 
-    sha256 = "10p9s835wj5msspqwnqbfbnh8jmcazzd2v0gj4hn7vvni4p48gfl";
+    sha256 = "sha256-pHz1N2j+d9p1xleEBwwrmK9mN5gEyM69Suy0dsrkZT4=";
 
     isUnstable = true;
   };
diff --git a/pkgs/pkgs-lib/formats.nix b/pkgs/pkgs-lib/formats.nix
index 495a7094f9b40..6495b024b0086 100644
--- a/pkgs/pkgs-lib/formats.nix
+++ b/pkgs/pkgs-lib/formats.nix
@@ -31,6 +31,9 @@ rec {
   */
 
 
+  inherit (import ./formats/java-properties/default.nix { inherit lib pkgs; })
+    javaProperties;
+
   json = {}: {
 
     type = with lib.types; let
diff --git a/pkgs/pkgs-lib/formats/java-properties/default.nix b/pkgs/pkgs-lib/formats/java-properties/default.nix
new file mode 100644
index 0000000000000..6ac56bff4bf65
--- /dev/null
+++ b/pkgs/pkgs-lib/formats/java-properties/default.nix
@@ -0,0 +1,114 @@
+{ lib, pkgs }:
+{
+  javaProperties = { comment ? "Generated with Nix" }: {
+
+    # Design note:
+    # A nested representation of inevitably leads to bad UX:
+    # 1. keys like "a.b" must be disallowed, or
+    #    the addition of options in a freeformType module
+    #    become breaking changes
+    # 2. adding a value for "a" after "a"."b" was already
+    #    defined leads to a somewhat hard to understand
+    #    Nix error, because that's not something you can
+    #    do with attrset syntax. Workaround: "a"."", but
+    #    that's too little too late. Another workaround:
+    #    mkMerge [ { a = ...; } { a.b = ...; } ].
+    #
+    # Choosing a non-nested representation does mean that
+    # we sacrifice the ability to override at the (conceptual)
+    # hierarchical levels, _if_ an application exhibits those.
+    #
+    # Some apps just use periods instead of spaces in an odd
+    # mix of attempted categorization and natural language,
+    # with no meaningful hierarchy.
+    #
+    # We _can_ choose to support hierarchical config files
+    # via nested attrsets, but the module author should
+    # make sure that problem (2) does not occur.
+    type = lib.types.attrsOf lib.types.str;
+
+    generate = name: value:
+      pkgs.runCommandLocal name
+        {
+          # Requirements
+          # ============
+          #
+          #  1. Strings in Nix carry over to the same
+          #     strings in Java => need proper escapes
+          #  2. Generate files quickly
+          #      - A JVM would have to match the app's
+          #        JVM to avoid build closure bloat
+          #      - Even then, JVM startup would slow
+          #        down config generation.
+          #
+          #
+          # Implementation
+          # ==============
+          #
+          # Escaping has two steps
+          #
+          # 1. jq
+          #    Escape known separators, in order not
+          #    to break up the keys and values.
+          #    This handles typical whitespace correctly,
+          #    but may produce garbage for other control
+          #    characters.
+          #
+          # 2. iconv
+          #    Escape >ascii code points to java escapes,
+          #    as .properties files are supposed to be
+          #    encoded in ISO 8859-1. It's an old format.
+          #    UTF-8 behavior may exist in some apps and
+          #    libraries, but we can't rely on this in
+          #    general.
+
+          passAsFile = [ "value" ];
+          value = builtins.toJSON value;
+          nativeBuildInputs = [
+            pkgs.jq
+            pkgs.libiconvReal
+          ];
+
+          jqCode =
+            let
+              main = ''
+                to_entries
+                  | .[]
+                  | "\(
+                      .key
+                      | ${commonEscapes}
+                      | gsub(" "; "\\ ")
+                      | gsub("="; "\\=")
+                    ) = \(
+                      .value
+                      | ${commonEscapes}
+                      | gsub("^ "; "\\ ")
+                      | gsub("\\n "; "\n\\ ")
+                    )"
+              '';
+              # Most escapes are equal for both keys and values.
+              commonEscapes = ''
+                gsub("\\\\"; "\\\\")
+                | gsub("\\n"; "\\n\\\n")
+                | gsub("#"; "\\#")
+                | gsub("!"; "\\!")
+                | gsub("\\t"; "\\t")
+                | gsub("\r"; "\\r")
+              '';
+            in
+            main;
+
+          inputEncoding = "UTF-8";
+
+          inherit comment;
+
+        } ''
+        (
+          echo "$comment" | while read -r ln; do echo "# $ln"; done
+          echo
+          jq -r --arg hash '#' "$jqCode" "$valuePath" \
+            | iconv --from-code "$inputEncoding" --to-code JAVA \
+        ) > "$out"
+      '';
+  };
+}
diff --git a/pkgs/pkgs-lib/formats/java-properties/test/Main.java b/pkgs/pkgs-lib/formats/java-properties/test/Main.java
new file mode 100644
index 0000000000000..dc83944f24b0c
--- /dev/null
+++ b/pkgs/pkgs-lib/formats/java-properties/test/Main.java
@@ -0,0 +1,27 @@
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.util.Properties;
+import java.util.SortedSet;
+import java.util.TreeSet;
+
+class Main {
+    public static void main (String args[]) {
+        try {
+            InputStream input = new FileInputStream(args[0]);
+            Properties prop = new Properties();
+            prop.load(input);
+            SortedSet<String> keySet = new TreeSet(prop.keySet());
+            for (String key : keySet) {
+                System.out.println("KEY");
+                System.out.println(key);
+                System.out.println("VALUE");
+                System.out.println(prop.get(key));
+                System.out.println("");
+            }
+        } catch (Exception e) {
+          e.printStackTrace();
+          System.err.println(e.toString());
+          System.exit(1);
+        }
+    }
+}
diff --git a/pkgs/pkgs-lib/formats/java-properties/test/default.nix b/pkgs/pkgs-lib/formats/java-properties/test/default.nix
new file mode 100644
index 0000000000000..4b3845c102966
--- /dev/null
+++ b/pkgs/pkgs-lib/formats/java-properties/test/default.nix
@@ -0,0 +1,85 @@
+{ fetchurl
+, formats
+, glibcLocales
+, jdk
+, lib
+, stdenv
+}:
+let
+  inherit (lib) concatStrings attrValues mapAttrs;
+
+  javaProperties = formats.javaProperties { };
+
+  input = {
+    foo = "bar";
+    "empty value" = "";
+    "typical.dot.syntax" = "com.sun.awt";
+    "" = "empty key's value";
+    "1" = "2 3";
+    "#" = "not a comment # still not";
+    "!" = "not a comment!";
+    "!a" = "still not! a comment";
+    "!b" = "still not ! a comment";
+    "dos paths" = "C:\\Program Files\\Nix For Windows\\nix.exe";
+    "a \t\nb" = " c";
+    "angry \t\nkey" = ''
+      multi
+      ${"\tline\r"}
+       space-
+        indented
+      trailing-space${" "}
+      trailing-space${"  "}
+      value
+    '';
+    "this=not" = "bad";
+    "nor = this" = "bad";
+    "all stuff" = "foo = bar";
+    "unicode big brain" = "e = mc□";
+    "ütf-8" = "dûh";
+    # NB: Some editors (vscode) show this _whole_ line in right-to-left order
+    "الجبر" = "أكثر من مجرد أرقام";
+  };
+
+in
+stdenv.mkDerivation {
+  name = "pkgs.formats.javaProperties-test-${jdk.name}";
+  nativeBuildInputs = [
+    jdk
+    glibcLocales
+  ];
+
+  # technically should go through the type.merge first, but that's tested
+  # in tests/formats.nix.
+  properties = javaProperties.generate "example.properties" input;
+
+  # Expected output as printed by Main.java
+  passAsFile = [ "expected" ];
+  expected = concatStrings (attrValues (
+    mapAttrs
+      (key: value:
+        ''
+          KEY
+          ${key}
+          VALUE
+          ${value}
+
+        ''
+      )
+      input
+  ));
+
+  src = lib.sourceByRegex ./. [
+    ".*\.java"
+  ];
+  LANG = "C.UTF-8";
+  buildPhase = ''
+    javac Main.java
+  '';
+  doCheck = true;
+  checkPhase = ''
+    cat -v $properties
+    java Main $properties >actual
+    diff -U3 $expectedPath actual
+  '';
+  installPhase = "touch $out";
+}
diff --git a/pkgs/pkgs-lib/tests/default.nix b/pkgs/pkgs-lib/tests/default.nix
index f3549ea9b0f2c..ae91e15aa9efa 100644
--- a/pkgs/pkgs-lib/tests/default.nix
+++ b/pkgs/pkgs-lib/tests/default.nix
@@ -1,7 +1,45 @@
 # Call nix-build on this file to run all tests in this directory
-{ pkgs ? import ../../.. {} }:
+
+# This produces a link farm derivation with the original attrs
+# merged on top of it.
+# You can run parts of the "hierarchy" with for example:
+#     nix-build -A java-properties
+# See `structured` below.
+
+{ pkgs ? import ../../.. { } }:
 let
-  formats = import ./formats.nix { inherit pkgs; };
-in pkgs.linkFarm "nixpkgs-pkgs-lib-tests" [
-  { name = "formats"; path = import ./formats.nix { inherit pkgs; }; }
-]
+  inherit (pkgs.lib) mapAttrs mapAttrsToList isDerivation mergeAttrs foldl' attrValues recurseIntoAttrs;
+
+  structured = {
+    formats = import ./formats.nix { inherit pkgs; };
+    java-properties = recurseIntoAttrs {
+      jdk8 = pkgs.callPackage ../formats/java-properties/test { jdk = pkgs.jdk8; };
+      jdk11 = pkgs.callPackage ../formats/java-properties/test { jdk = pkgs.jdk11_headless; };
+      jdk17 = pkgs.callPackage ../formats/java-properties/test { jdk = pkgs.jdk17_headless; };
+    };
+  };
+
+  flatten = prefix: as:
+    foldl'
+      mergeAttrs
+      { }
+      (attrValues
+        (mapAttrs
+          (k: v:
+            if isDerivation v
+            then { "${prefix}${k}" = v; }
+            else if v?recurseForDerivations
+            then flatten "${prefix}${k}-" (removeAttrs v [ "recurseForDerivations" ])
+            else builtins.trace v throw "expected derivation or recurseIntoAttrs")
+          as
+        )
+      );
+in
+
+# It has to be a link farm for inclusion in the hydra unstable jobset.
+pkgs.linkFarm "pkgs-lib-formats-tests"
+  (mapAttrsToList
+    (k: v: { name = k; path = v; })
+    (flatten "" structured)
+  )
+// structured
diff --git a/pkgs/pkgs-lib/tests/formats.nix b/pkgs/pkgs-lib/tests/formats.nix
index 2bc4e407fe752..99b88d36ec3c3 100644
--- a/pkgs/pkgs-lib/tests/formats.nix
+++ b/pkgs/pkgs-lib/tests/formats.nix
@@ -9,7 +9,11 @@ let
     let
       formatSet = format args;
       config = formatSet.type.merge [] (imap1 (n: def: {
-        value = def;
+        # We check the input values, so that
+        #  - we don't write nonsensical tests that will impede progress
+        #  - the test author has a slightly more realistic view of the
+        #    final format during development.
+        value = lib.throwIfNot (formatSet.type.check def) (builtins.trace def "definition does not pass the type's check function") def;
         file = "def${toString n}";
       }) [ def ]);
     in formatSet.generate "test-format-file" config;
@@ -168,4 +172,23 @@ in runBuildTests {
       level4 = "deep"
     '';
   };
+
+  # See also java-properties/default.nix for more complete tests
+  testJavaProperties = {
+    drv = evalFormat formats.javaProperties {} {
+      foo = "bar";
+      "1" = "2";
+      "ütf 8" = "dûh";
+      # NB: Some editors (vscode) show this _whole_ line in right-to-left order
+      "الجبر" = "أكثر من مجرد أرقام";
+    };
+    expected = ''
+      # Generated with Nix
+
+      1 = 2
+      foo = bar
+      \u00fctf\ 8 = d\u00fbh
+      \u0627\u0644\u062c\u0628\u0631 = \u0623\u0643\u062b\u0631 \u0645\u0646 \u0645\u062c\u0631\u062f \u0623\u0631\u0642\u0627\u0645
+    '';
+  };
 }
diff --git a/pkgs/servers/amqp/qpid-cpp/default.nix b/pkgs/servers/amqp/qpid-cpp/default.nix
index 434aeeb3a198a..c6d66427ab20f 100644
--- a/pkgs/servers/amqp/qpid-cpp/default.nix
+++ b/pkgs/servers/amqp/qpid-cpp/default.nix
@@ -12,8 +12,6 @@ let
 
   meta = with lib; {
     homepage = "https://qpid.apache.org";
-    repositories.git = "git://git.apache.org/qpid.git";
-    repositories.svn = "http://svn.apache.org/repos/asf/qpid";
     description = "An AMQP message broker and a C++ messaging API";
     license = licenses.asl20;
     platforms = platforms.linux;
diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix
index 7203ac704c708..37e6f1fd24305 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.13";
+  version = "3.9.14";
 
   # 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-DndZ74m+CFyrukxKyOpfoRCb86RID2XL7x0eUZifcno=";
+    sha256 = "sha256-c6GpB6CSCHiU9hTC9FkxyTc1UpNWxx5iP3y2dbTUfS0=";
   };
 
   nativeBuildInputs = [ unzip xmlto docbook_xml_dtd_45 docbook_xsl zip rsync ];
diff --git a/pkgs/servers/atlassian/bamboo.nix b/pkgs/servers/atlassian/bamboo.nix
new file mode 100644
index 0000000000000..a60d41d41c1f1
--- /dev/null
+++ b/pkgs/servers/atlassian/bamboo.nix
@@ -0,0 +1,37 @@
+{ stdenvNoCC, lib, fetchurl, mysql_jdbc
+, withMysql ? true
+}:
+
+
+stdenvNoCC.mkDerivation rec {
+  pname = "atlassian-bamboo";
+  version = "8.1.3";
+
+  src = fetchurl {
+    url = "https://product-downloads.atlassian.com/software/bamboo/downloads/atlassian-bamboo-${version}.tar.gz";
+    sha256 = "sha256-M406audmwCS4SRPj8oYxZ+tBpt9bGoOsA3+9WwdZ1fw=";
+  };
+
+  buildPhase = ''
+    echo "bamboo.home=/run/bamboo/home" > atlassian-bamboo/WEB-INF/classes/bamboo-init.properties
+    mv conf/server.xml conf/server.xml.dist
+    ln -sf /run/atlassian-bamboo/server.xml conf/server.xml
+    rm -r logs; ln -sf /run/atlassian-bamboo/logs/ .
+    rm -r temp; ln -sf /run/atlassian-bamboo/temp/ .
+    rm -r work; ln -sf /run/atlassian-bamboo/work/ .
+  '' + lib.optionalString withMysql ''
+    cp -v ${mysql_jdbc}/share/java/*jar atlassian-bamboo/lib/
+  '';
+
+  installPhase = ''
+    cp -rva . $out
+    patchShebangs $out/bin
+  '';
+
+  meta = with lib; {
+    description = "Bamboo Data Center is a continuous delivery server.";
+    homepage = "https://www.atlassian.com/software/bamboo";
+    license = with licenses; [ unfree ];
+    maintainers = with maintainers; [ techknowlogick ];
+  };
+}
diff --git a/pkgs/servers/calibre-web/default.nix b/pkgs/servers/calibre-web/default.nix
index f6cb86e409c7e..308654039983f 100644
--- a/pkgs/servers/calibre-web/default.nix
+++ b/pkgs/servers/calibre-web/default.nix
@@ -7,13 +7,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "calibre-web";
-  version = "0.6.16";
+  version = "0.6.17";
 
   src = fetchFromGitHub {
     owner = "janeczku";
     repo = "calibre-web";
     rev = version;
-    sha256 = "sha256-vRnzsV9pubAmyVSxZpBK+mD9Bkbt6BQYo5S0Jsl26Ns=";
+    sha256 = "sha256-K2va9as+z00txpg/0fR89+kpMzpQSiSSIV489NDs8Bs=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/servers/clickhouse/default.nix b/pkgs/servers/clickhouse/default.nix
index be067e477a830..793ee917966c7 100644
--- a/pkgs/servers/clickhouse/default.nix
+++ b/pkgs/servers/clickhouse/default.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   pname = "clickhouse";
-  version = "21.8.12.29";
+  version = "22.3.2.2";
 
   broken = stdenv.buildPlatform.is32bit; # not supposed to work on 32-bit https://github.com/ClickHouse/ClickHouse/pull/23959#issuecomment-835343685
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     repo   = "ClickHouse";
     rev    = "v${version}-lts";
     fetchSubmodules = true;
-    sha256 = "1qqacb7v7mhr9k162yll8mcbh0cxa347f5hypz0a8l54v1dz5fyl";
+    sha256 = "0rhzgm0gvwpx4h5xyr7y393y7s9slcr4a7grw9316f5m70frxg2v";
   };
 
   nativeBuildInputs = [ cmake libtool llvm-bintools ninja ];
@@ -37,8 +37,6 @@ stdenv.mkDerivation rec {
       --replace 'git rev-parse --show-toplevel' '$src'
     substituteInPlace utils/check-style/check-ungrouped-includes.sh \
       --replace 'git rev-parse --show-toplevel' '$src'
-    substituteInPlace utils/generate-ya-make/generate-ya-make.sh \
-      --replace 'git rev-parse --show-toplevel' '$src'
     substituteInPlace utils/list-licenses/list-licenses.sh \
       --replace 'git rev-parse --show-toplevel' '$src'
     substituteInPlace utils/check-style/check-style \
diff --git a/pkgs/servers/confluent-platform/default.nix b/pkgs/servers/confluent-platform/default.nix
index 4a5846d01160e..fe60516b3e589 100644
--- a/pkgs/servers/confluent-platform/default.nix
+++ b/pkgs/servers/confluent-platform/default.nix
@@ -3,34 +3,17 @@
 
 stdenv.mkDerivation rec {
   pname = "confluent-platform";
-  version = "5.3.0";
-  scalaVersion = "2.12";
+  version = "7.0.1";
 
   src = fetchurl {
-    url = "http://packages.confluent.io/archive/${lib.versions.majorMinor version}/confluent-${version}-${scalaVersion}.tar.gz";
-    sha256 = "14cilq63fib5yvj40504aj6wssi7xw4f7c2jadlzdmdxzh4ixqmp";
-  };
-
-  confluentCli = fetchFromGitHub {
-    owner = "confluentinc";
-    repo = "confluent-cli";
-    rev = "v${version}";
-    sha256 = "18yvp56b8l074qfkgr4afirgd43g8b023n9ija6dnk6p6dib1f4j";
+    url = "https://packages.confluent.io/archive/${lib.versions.majorMinor version}/confluent-${version}.tar.gz";
+    sha256 = "Q0/A/3M2tn530/+o1RpcgNsPKFQq6YJQnhgysRlpVfU=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jre bash ];
 
   installPhase = ''
-    cp -R $confluentCli confluent-cli
-    chmod -R +w confluent-cli
-
-    (
-      export CONFLUENT_HOME=$PWD
-      cd confluent-cli
-      make install
-    )
-
     mkdir -p $out
     cp -R bin etc share src $out
     rm -rf $out/bin/windows
@@ -56,7 +39,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.confluent.io/";
     description = "Confluent event streaming platform based on Apache Kafka";
     license = licenses.asl20;
-    maintainers = [ maintainers.offline ];
+    maintainers = with maintainers; [ zoedsoupe ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/dante/default.nix b/pkgs/servers/dante/default.nix
index 1ed03f0e3d5ae..12ba281d811c3 100644
--- a/pkgs/servers/dante/default.nix
+++ b/pkgs/servers/dante/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pam, libkrb5, cyrus_sasl, miniupnpc }:
+{ lib, stdenv, fetchurl, fetchpatch, pam, libkrb5, cyrus_sasl, miniupnpc, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   pname = "dante";
@@ -9,6 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "0pbahkj43rx7rmv2x40mf5p3g3x9d6i2sz7pzglarf54w5ghd2j1";
   };
 
+  nativeBuildInputs = lib.optional stdenv.hostPlatform.isMips64 autoreconfHook;
   buildInputs = [ pam libkrb5 cyrus_sasl miniupnpc ];
 
   configureFlags = if !stdenv.isDarwin
@@ -17,6 +18,13 @@ stdenv.mkDerivation rec {
 
   dontAddDisableDepTrack = stdenv.isDarwin;
 
+  patches = lib.optional stdenv.hostPlatform.isMips64 [
+    (fetchpatch {
+      name = "0002-osdep-m4-Remove-getaddrinfo-too-low-checks.patch";
+      url = "https://raw.githubusercontent.com/buildroot/buildroot/master/package/dante/0002-osdep-m4-Remove-getaddrinfo-too-low-checks.patch";
+      sha256 = "sha256-e+qF8lB5tkiA7RlJ+tX5O6KxQrQp33RSPdP1TxU961Y=";
+    }) ];
+
   meta = with lib; {
     description = "A circuit-level SOCKS client/server that can be used to provide convenient and secure network connectivity";
     homepage    = "https://www.inet.no/dante/";
diff --git a/pkgs/servers/dendrite/default.nix b/pkgs/servers/dendrite/default.nix
index b1c0f1424d9f6..c17c301421fda 100644
--- a/pkgs/servers/dendrite/default.nix
+++ b/pkgs/servers/dendrite/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "matrix-dendrite";
-  version = "0.6.5";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "dendrite";
     rev = "v${version}";
-    sha256 = "jSn2awZsfsniSOTNkaEdQw/sZm7nUfiMntsxigy/51Y=";
+    sha256 = "sha256-R0xGsngNk8osBh3vRUeYxmEgbbNa+wKOihRjOU40D48=";
   };
 
-  vendorSha256 = "sha256-B4d3FGXy8TrED3oikTjETQso/AtEfIWWcdY6FykD/8A=";
+  vendorSha256 = "sha256-0Y/RVRWZ0osU/kEcf+Y8TH8K2rmxFmQSqMMNHoRIugo=";
 
   passthru.tests = {
     inherit (nixosTests) dendrite;
diff --git a/pkgs/servers/dict/wiktionary/default.nix b/pkgs/servers/dict/wiktionary/default.nix
index 98e2230104804..9ebbfb7673918 100644
--- a/pkgs/servers/dict/wiktionary/default.nix
+++ b/pkgs/servers/dict/wiktionary/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "dict-db-wiktionary";
-  version = "20210920";
+  version = "20220301";
 
   src = fetchurl {
     url = "https://dumps.wikimedia.org/enwiktionary/${version}/enwiktionary-${version}-pages-articles.xml.bz2";
-    sha256 = "UeufbpSpRL+JrU3SkhxzWJncEsrM1es88grRmFwGABk=";
+    sha256 = "Gobilm9Rlb7qtZU+hlsYOl1/BAjj/MtNp5z2GQx8NN8=";
   };
 
   # script in nixpkgs does not support python2
diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix
index 81722805e2731..435e3ae45fbcb 100644
--- a/pkgs/servers/dns/bind/default.nix
+++ b/pkgs/servers/dns/bind/default.nix
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
     moveToOutput bin/nsupdate $dnsutils
 
     for f in "$lib/lib/"*.la "$dev/bin/"bind*-config; do
-      sed -i "$f" -e 's|-L${openssl.dev}|-L${openssl.out}|g'
+      sed -i "$f" -e 's|-L${openssl.dev}|-L${lib.getLib openssl}|g'
     done
   '';
 
@@ -77,7 +77,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.isc.org/bind/";
     description = "Domain name server";
     license = licenses.mpl20;
-
+    changelog = "https://downloads.isc.org/isc/bind9/cur/${lib.versions.majorMinor version}/CHANGES";
     maintainers = with maintainers; [ globin ];
     platforms = platforms.unix;
 
diff --git a/pkgs/servers/dns/https-dns-proxy/default.nix b/pkgs/servers/dns/https-dns-proxy/default.nix
index c32d3eca22637..5e2efae8a2878 100644
--- a/pkgs/servers/dns/https-dns-proxy/default.nix
+++ b/pkgs/servers/dns/https-dns-proxy/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   pname = "https-dns-proxy";
   # there are no stable releases (yet?)
-  version = "unstable-20200419";
+  version = "unstable-2021-03-29";
 
   src = fetchFromGitHub {
     owner = "aarond10";
     repo = "https_dns_proxy";
-    rev = "79fc7b085e3b1ad64c8332f7115dfe2bf5f1f3e4";
-    sha256 = "1cdfswfjby4alp6gy7yyjm76kfyclh5ax0zadnqs2pyigg9plh0b";
+    rev = "bbd9ef272dcda3ead515871f594768af13192af7";
+    sha256 = "sha256-r+IpDklI3vITK8ZlZvIFm3JdDe2r8DK2ND3n1a/ThrM=";
   };
 
   nativeBuildInputs = [ cmake gtest ];
diff --git a/pkgs/servers/dns/knot-dns/default.nix b/pkgs/servers/dns/knot-dns/default.nix
index 80939b8df45dc..7367c269ab8d1 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.6";
+  version = "3.1.7";
 
   src = fetchurl {
     url = "https://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz";
-    sha256 = "e9ba1305d750dc08fb08687aec7ac55737ca073deaa0b867c884e0c0f2fdb753";
+    sha256 = "ffb6887e238ce4c7df0cc76bb55a5093465275201ac12156a3390782dc49857b";
   };
 
   outputs = [ "bin" "out" "dev" ];
diff --git a/pkgs/servers/dns/pdns-recursor/default.nix b/pkgs/servers/dns/pdns-recursor/default.nix
index d106e154277ad..7b3b81ace2779 100644
--- a/pkgs/servers/dns/pdns-recursor/default.nix
+++ b/pkgs/servers/dns/pdns-recursor/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pdns-recursor";
-  version = "4.6.0";
+  version = "4.6.1";
 
   src = fetchurl {
     url = "https://downloads.powerdns.com/releases/pdns-recursor-${version}.tar.bz2";
-    sha256 = "1wmwkw8x39rall3673cngz0vpgc1z5vx29qy5r6mkg5fk29ma1nz";
+    sha256 = "1sqwasqxz4svn5rckrwr05gzk7qzdhzzzjr1l2l7xa44if8011bv";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/servers/dns/pdns/default.nix b/pkgs/servers/dns/pdns/default.nix
new file mode 100644
index 0000000000000..ff057b48bd54e
--- /dev/null
+++ b/pkgs/servers/dns/pdns/default.nix
@@ -0,0 +1,59 @@
+{ lib, stdenv, fetchurl, pkg-config, nixosTests
+, boost, libyamlcpp, libsodium, sqlite, protobuf, openssl, systemd
+, mariadb-connector-c, postgresql, lua, openldap, geoip, curl, unixODBC, lmdb, tinycdb
+}:
+
+stdenv.mkDerivation rec {
+  pname = "powerdns";
+  version = "4.6.1";
+
+  src = fetchurl {
+    url = "https://downloads.powerdns.com/releases/pdns-${version}.tar.bz2";
+    sha256 = "sha256-eRKxSIfWKEUYX3zktH21gOqnuLiX3LHJVV3+D6xe+uM=";
+  };
+  # redact configure flags from version output to reduce closure size
+  patches = [ ./version.patch ];
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [
+    boost mariadb-connector-c postgresql lua openldap sqlite protobuf geoip
+    libyamlcpp libsodium curl unixODBC openssl systemd lmdb tinycdb
+  ];
+
+  configureFlags = [
+    "--disable-silent-rules"
+    "--enable-dns-over-tls"
+    "--enable-unit-tests"
+    "--enable-reproducible"
+    "--enable-tools"
+    "--enable-ixfrdist"
+    "--enable-systemd"
+    "--with-libsodium"
+    "--with-sqlite3"
+    "--with-libcrypto=${openssl.dev}"
+  ];
+
+  # nix destroy with-modules arguments, when using configureFlags
+  preConfigure = ''
+    configureFlagsArray+=(
+      "--with-modules="
+      "--with-dynmodules=bind geoip gmysql godbc gpgsql gsqlite3 ldap lmdb lua2 pipe remote tinydns"
+    )
+  '';
+
+  enableParallelBuilding = true;
+  doCheck = true;
+
+  passthru.tests = {
+    nixos = nixosTests.powerdns;
+  };
+
+  meta = with lib; {
+    description = "Authoritative DNS server";
+    homepage = "https://www.powerdns.com";
+    platforms = platforms.unix;
+    broken = stdenv.isDarwin;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ mic92 disassembler nickcao ];
+  };
+}
diff --git a/pkgs/servers/dns/pdns/version.patch b/pkgs/servers/dns/pdns/version.patch
new file mode 100644
index 0000000000000..185d07028833f
--- /dev/null
+++ b/pkgs/servers/dns/pdns/version.patch
@@ -0,0 +1,13 @@
+diff --git a/pdns/version.cc b/pdns/version.cc
+index d8f5d40..1368481 100644
+--- a/pdns/version.cc
++++ b/pdns/version.cc
+@@ -155,7 +155,7 @@ void showBuildConfiguration()
+ #ifdef PDNS_CONFIG_ARGS
+ #define double_escape(s) #s
+ #define escape_quotes(s) double_escape(s)
+-  g_log<<Logger::Warning<<"Configured with: "<<escape_quotes(PDNS_CONFIG_ARGS)<<endl;
++  g_log<<Logger::Warning<<"Configured with: "<<"redacted"<<endl;
+ #undef escape_quotes
+ #undef double_escape
+ #endif
diff --git a/pkgs/servers/dns/powerdns/default.nix b/pkgs/servers/dns/powerdns/default.nix
deleted file mode 100644
index cc7bb3317fd4e..0000000000000
--- a/pkgs/servers/dns/powerdns/default.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{ lib, stdenv, fetchurl, fetchpatch, pkg-config, nixosTests
-, boost, libyamlcpp, libsodium, sqlite, protobuf, openssl, systemd
-, mysql57, postgresql, lua, openldap, geoip, curl, unixODBC
-}:
-
-stdenv.mkDerivation rec {
-  pname = "powerdns";
-  version = "4.3.1";
-
-  src = fetchurl {
-    url = "https://downloads.powerdns.com/releases/pdns-${version}.tar.bz2";
-    sha256 = "0if27znz528sir52y9i4gcfhdsym7yxiwjgffy9lpscf1426q56m";
-  };
-
-  patches = [
-    (fetchpatch { # remove for >= 4.4.0
-      name = "gcc-10_undefined-reference.diff";
-      url = "https://github.com/PowerDNS/pdns/commit/05c9dd77b28.diff";
-      sha256 = "1m9szbi02h9kcabgw3kb8k9qrb54d34z0qzizrlfiw3hxs6c2zql";
-    })
-  ];
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [
-    boost mysql57.connector-c postgresql lua openldap sqlite protobuf geoip
-    libyamlcpp libsodium curl unixODBC openssl systemd
-  ];
-
-  # nix destroy with-modules arguments, when using configureFlags
-  preConfigure = ''
-    configureFlagsArray=(
-      "--with-modules=bind gmysql geoip godbc gpgsql gsqlite3 ldap lua2 pipe random remote"
-      --with-sqlite3
-      --with-libcrypto=${openssl.dev}
-      --with-libsodium
-      --enable-tools
-      --disable-dependency-tracking
-      --disable-silent-rules
-      --enable-reproducible
-      --enable-unit-tests
-      --enable-systemd
-    )
-  '';
-
-  enableParallelBuilding = true;
-  doCheck = true;
-
-  passthru.tests = {
-    nixos = nixosTests.powerdns;
-  };
-
-  meta = with lib; {
-    description = "Authoritative DNS server";
-    homepage = "https://www.powerdns.com";
-    platforms = platforms.unix;
-    broken = stdenv.isDarwin;
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ mic92 disassembler ];
-  };
-}
diff --git a/pkgs/servers/etebase/default.nix b/pkgs/servers/etebase/default.nix
index 95ea71a4d3d99..e340d1ff2a50b 100644
--- a/pkgs/servers/etebase/default.nix
+++ b/pkgs/servers/etebase/default.nix
@@ -11,14 +11,14 @@ in
 
 buildPythonPackage rec {
   pname = "etebase-server";
-  version = "0.7.0";
+  version = "0.8.3";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "etesync";
     repo = "server";
     rev = "v${version}";
-    sha256 = "1r2a7ki9w2h3l6rwqa3fzxjlqfj2lbgfrm8lynjhvcdv02s5abbi";
+    sha256 = "sha256-rPs34uzb5veiOw74SACLrDm4Io0CYH9EL9IuV38CkPY=";
   };
 
   patches = [ ./secret.patch ];
@@ -30,6 +30,7 @@ buildPythonPackage rec {
     django-cors-headers
     djangorestframework
     drf-nested-routers
+    fastapi
     msgpack
     psycopg2
     pycparser
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 7f765eb9fd8d2..822bfcbe59367 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.3.5";
+  version = "2022.3.8";
   components = {
     "abode" = ps: with ps; [ abodepy ];
     "accuweather" = ps: with ps; [ accuweather ];
@@ -693,7 +693,7 @@
     "qbittorrent" = ps: with ps; [ ]; # missing inputs: python-qbittorrent
     "qld_bushfire" = ps: with ps; [ georss-qld-bushfire-alert-client ];
     "qnap" = ps: with ps; [ ]; # missing inputs: qnapstats
-    "qrcode" = ps: with ps; [ pillow ]; # missing inputs: pyzbar
+    "qrcode" = ps: with ps; [ pillow pyzbar ];
     "quantum_gateway" = ps: with ps; [ quantum-gateway ];
     "qvr_pro" = ps: with ps; [ pyqvrpro ];
     "qwikswitch" = ps: with ps; [ ]; # missing inputs: pyqwikswitch
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 9e7fc76e4e3ff..32273d35e7a76 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -30,6 +30,7 @@ let
   defaultOverrides = [
     # Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt
     (mkOverride "python-slugify" "4.0.1" "sha256-aaUXdm4AwSaOW7/A0BCgqFCN4LGNMK1aH/NX+K5yQnA=")
+    (mkOverride "voluptuous" "0.12.2" "sha256-TbGsUHnbkkmCDUnIkctGYKb4yuNQSRIQq850H6v1ZRM=")
 
     # pytest-aiohttp>0.3.0 breaks home-assistant tests
     (self: super: {
@@ -58,6 +59,18 @@ let
     })
 
     (self: super: {
+      hatasmota = super.hatasmota.overridePythonAttrs (oldAttrs: {
+        version = "0.3.1";
+        src = fetchFromGitHub {
+          owner = "emontnemery";
+          repo = "hatasmota";
+          rev = "0.3.1";
+          sha256 = "sha256-/am6cRhAdiqMq0u7Ed4qhIA+Em2O0gIt7HfP19+2XHw=";
+        };
+      });
+    })
+
+    (self: super: {
       huawei-lte-api = super.huawei-lte-api.overridePythonAttrs (oldAttrs: rec {
         version = "1.4.18";
         src = fetchFromGitHub {
@@ -164,7 +177,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.3.5";
+  hassVersion = "2022.3.8";
 
 in python.pkgs.buildPythonApplication rec {
   pname = "homeassistant";
@@ -182,7 +195,7 @@ in python.pkgs.buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = version;
-    hash = "sha256-VXE2zQH/HHhogo5qjneC0zlo9892wgGN1qd3ZFKfyqw=";
+    hash = "sha256-FGsMFt/EEokaast81iiwKHqSsB1E4Si5ejTw+MV1MnQ=";
   };
 
   # leave this in, so users don't have to constantly update their downstream patch handling
diff --git a/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix b/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix
index 8763591d05e39..cc6e8c116eed9 100644
--- a/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix
@@ -12,8 +12,8 @@ stdenv.mkDerivation rec {
     sha256 = "0alfa8hz09jdg29bi1mvhwyr2nl0nvss2a2kybrcjvdw1fx6vijn";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ apacheHttpd autoconf automake curl glib lasso libtool libxml2 libxslt openssl xmlsec ];
+  nativeBuildInputs = [ autoreconfHook pkg-config autoconf automake ];
+  buildInputs = [ apacheHttpd curl glib lasso libtool libxml2 libxslt openssl xmlsec ];
 
   configureFlags = ["--with-apxs2=${apacheHttpd.dev}/bin/apxs" "--exec-prefix=$out"];
 
diff --git a/pkgs/servers/http/myserver/default.nix b/pkgs/servers/http/myserver/default.nix
deleted file mode 100644
index be659114d4701..0000000000000
--- a/pkgs/servers/http/myserver/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ lib, fetchurl, stdenv, libgcrypt, libevent, libidn, gnutls
-, libxml2, zlib, guile, texinfo, cppunit, killall }:
-
-let version = "0.11"; in
-
-stdenv.mkDerivation rec {
-  pname = "myserver";
-  inherit version;
-
-  src = fetchurl {
-    url = "mirror://gnu/myserver/${version}/${pname}-${version}.tar.xz";
-    sha256 = "02y3vv4hxpy5h710y79s8ipzshhc370gbz1wm85x0lnq5nqxj2ax";
-  };
-
-  patches =
-    [ ./disable-dns-lookup-in-chroot.patch ];
-
-  buildInputs = [
-    libgcrypt libevent libidn gnutls libxml2 zlib guile texinfo
-  ];
-
-  checkInputs = [ cppunit ];
-
-  makeFlags = [ "V=1" ];
-
-  doCheck = true;
-
-  enableParallelBuilding = true;
-
-  # On GNU/Linux the `test_suite' process sometimes stays around, so
-  # forcefully terminate it.
-  postCheck = "${killall}/bin/killall test_suite || true";
-
-  meta = {
-    description = "GNU MyServer, a powerful and easy to configure web server";
-
-    longDescription = ''
-      GNU MyServer is a powerful and easy to configure web server.  Its
-      multi-threaded architecture makes it extremely scalable and usable in
-      large scale sites as well as in small networks, it has a lot of
-      built-in features.  Share your files in minutes!
-    '';
-
-    homepage = "https://www.gnu.org/software/myserver/";
-
-    license = lib.licenses.gpl3Plus;
-
-    # libevent fails to build on Cygwin and Guile has troubles on Darwin.
-    platforms = lib.platforms.gnu ++ lib.platforms.linux;
-
-    broken = true; # needs patch for gets()
-  };
-}
diff --git a/pkgs/servers/http/myserver/disable-dns-lookup-in-chroot.patch b/pkgs/servers/http/myserver/disable-dns-lookup-in-chroot.patch
deleted file mode 100644
index 31b24915c4daa..0000000000000
--- a/pkgs/servers/http/myserver/disable-dns-lookup-in-chroot.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Disable this test because it attempts to do a DNS lookup, which fails
-in a chroot.
-
---- myserver-0.10/tests/test_socket.cpp	2010-10-19 00:12:59.000000000 +0200
-+++ myserver-0.10/tests/test_socket.cpp	2010-10-19 00:13:07.000000000 +0200
-@@ -56,7 +56,6 @@ class TestSocket : public CppUnit::TestF
- 
-   CPPUNIT_TEST (testGethostname);
-   CPPUNIT_TEST (testRecv);
--  CPPUNIT_TEST (testGetLocalIPsList);
- 
-   CPPUNIT_TEST_SUITE_END ();
diff --git a/pkgs/servers/http/spawn-fcgi/default.nix b/pkgs/servers/http/spawn-fcgi/default.nix
index 090450ba9688c..77272694a89d8 100644
--- a/pkgs/servers/http/spawn-fcgi/default.nix
+++ b/pkgs/servers/http/spawn-fcgi/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "07r6nwbg4881mdgp0hqh80c4x9wb7jg6cgc84ghwhfbd2abc2iq5";
   };
 
-  buildInputs = [ automake autoconf ];
+  nativeBuildInputs = [ automake autoconf ];
 
   preConfigure = ''
     ./autogen.sh
diff --git a/pkgs/servers/http/trafficserver/default.nix b/pkgs/servers/http/trafficserver/default.nix
index 9058a4cbda75d..06d640a5bc00f 100644
--- a/pkgs/servers/http/trafficserver/default.nix
+++ b/pkgs/servers/http/trafficserver/default.nix
@@ -13,6 +13,7 @@
 , python3
 , xz
 , zlib
+, catch2
 # recommended dependencies
 , withHwloc ? true
 , hwloc
@@ -113,6 +114,8 @@ stdenv.mkDerivation rec {
       tools/check-unused-dependencies
 
     substituteInPlace configure --replace '/usr/bin/file' '${file}/bin/file'
+
+    cp ${catch2}/include/catch2/catch.hpp tests/include/catch.hpp
   '' + lib.optionalString stdenv.isLinux ''
     substituteInPlace configure \
       --replace '/usr/include/linux' '${linuxHeaders}/include/linux'
diff --git a/pkgs/servers/irc/irccat/default.nix b/pkgs/servers/irc/irccat/default.nix
new file mode 100644
index 0000000000000..fdcb39af0b826
--- /dev/null
+++ b/pkgs/servers/irc/irccat/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "irccat";
+  version = "0.4.8";
+
+  src = fetchFromGitHub {
+    owner = "irccloud";
+    repo = "irccat";
+    rev = "v${version}";
+    sha256 = "sha256-fr5x1usviJPbc4t5SpIVgV9Q6071XG8eYtyeyraddts=";
+  };
+
+  vendorSha256 = "030hnkwh45yqppm96yy15j82skf7wmax5xkm7j5khr1l9lrz4591";
+
+  meta = with lib; {
+    homepage = "https://github.com/irccloud/irccat";
+    description = "Send events to IRC channels from scripts and other applications";
+    maintainers = with maintainers; [ qyliss ];
+    license = licenses.gpl3Only;
+  };
+}
diff --git a/pkgs/servers/keycloak/all-plugins.nix b/pkgs/servers/keycloak/all-plugins.nix
new file mode 100644
index 0000000000000..4dbd248726314
--- /dev/null
+++ b/pkgs/servers/keycloak/all-plugins.nix
@@ -0,0 +1,7 @@
+{ callPackage }:
+
+{
+  scim-for-keycloak = callPackage ./scim-for-keycloak {};
+  keycloak-discord = callPackage ./keycloak-discord {};
+  keycloak-metrics-spi = callPackage ./keycloak-metrics-spi {};
+}
diff --git a/pkgs/servers/keycloak/default.nix b/pkgs/servers/keycloak/default.nix
index 19268de42ff1d..d9797de6d174e 100644
--- a/pkgs/servers/keycloak/default.nix
+++ b/pkgs/servers/keycloak/default.nix
@@ -1,5 +1,6 @@
 { stdenv, lib, fetchzip, makeWrapper, jre, writeText, nixosTests
 , postgresql_jdbc ? null, mysql_jdbc ? null
+, callPackage
 }:
 
 let
@@ -57,7 +58,10 @@ stdenv.mkDerivation rec {
     wrapProgram $out/bin/kcreg.sh --prefix PATH : ${jre}/bin
   '';
 
-  passthru.tests = nixosTests.keycloak;
+  passthru = {
+    tests = nixosTests.keycloak;
+    plugins = callPackage ./all-plugins.nix {};
+  };
 
   meta = with lib; {
     homepage    = "https://www.keycloak.org/";
diff --git a/pkgs/servers/keycloak/keycloak-discord/default.nix b/pkgs/servers/keycloak/keycloak-discord/default.nix
new file mode 100644
index 0000000000000..047bc67fbc564
--- /dev/null
+++ b/pkgs/servers/keycloak/keycloak-discord/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, lib
+, fetchurl
+}:
+
+stdenv.mkDerivation rec {
+  pname = "keycloak-discord";
+  version = "0.3.1";
+
+  src = fetchurl {
+    url = "https://github.com/wadahiro/keycloak-discord/releases/download/v${version}/keycloak-discord-ear-${version}.ear";
+    sha256 = "0fswhbnxc80dpfqf5y6j29dxk3vcnm4kki6qdk22qliasvpw5n9c";
+  };
+
+  dontUnpack = true;
+  dontBuild = true;
+
+  installPhase = ''
+    mkdir -p "$out"
+    install "$src" "$out/${pname}-ear-${version}.ear"
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/wadahiro/keycloak-discord";
+    description = "Keycloak Social Login extension for Discord";
+    license = licenses.apsl20;
+    maintainers = with maintainers; [ mkg20001 ];
+  };
+}
diff --git a/pkgs/servers/keycloak/keycloak-metrics-spi/default.nix b/pkgs/servers/keycloak/keycloak-metrics-spi/default.nix
new file mode 100644
index 0000000000000..b5e23d0fe22dd
--- /dev/null
+++ b/pkgs/servers/keycloak/keycloak-metrics-spi/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, lib, fetchurl }:
+
+stdenv.mkDerivation rec {
+  pname = "keycloak-metrics-spi";
+  version = "2.5.3";
+
+  src = fetchurl {
+    url = "https://github.com/aerogear/keycloak-metrics-spi/releases/download/${version}/keycloak-metrics-spi-${version}.jar";
+    sha256 = "15lsy8wjw6nlfdfhllc45z9l5474p0lsghrwzzsssvd68bw54gwv";
+  };
+
+  dontUnpack = true;
+  dontBuild = true;
+
+  installPhase = ''
+    mkdir -p $out
+    install "$src" "$out"
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/aerogear/keycloak-metrics-spi";
+    description = "Keycloak Service Provider that adds a metrics endpoint";
+    license = licenses.apsl20;
+    maintainers = with maintainers; [ benley ];
+  };
+}
diff --git a/pkgs/servers/keycloak/scim-for-keycloak/default.nix b/pkgs/servers/keycloak/scim-for-keycloak/default.nix
new file mode 100644
index 0000000000000..1ef06061326e3
--- /dev/null
+++ b/pkgs/servers/keycloak/scim-for-keycloak/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, maven
+, javaPackages
+}:
+
+javaPackages.mavenfod rec {
+  pname = "scim-for-keycloak";
+  version = "kc-15-b2"; # When updating also update mvnHash
+
+  src = fetchFromGitHub {
+    owner = "Captain-P-Goldfish";
+    repo = "scim-for-keycloak";
+    rev = version;
+    sha256 = "K34c7xISjEETI3jFkRLdZ0C8pZHTWtPtrrIzwC76Tv0=";
+  };
+
+  mvnHash = "sha256-kDYhXTEOAWH/dcRJalKtbwBpoxcD1aX9eqcRKs6ewbE=";
+
+  nativeBuildInputs = [
+    maven
+  ];
+
+  installPhase = ''
+    EAR=$(find -iname "*.ear")
+    install -D "$EAR" "$out/$(basename $EAR)"
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/Captain-P-Goldfish/scim-for-keycloak";
+    description = "A third party module that extends Keycloak with SCIM functionality";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ mkg20001 ];
+  };
+}
diff --git a/pkgs/servers/libreddit/default.nix b/pkgs/servers/libreddit/default.nix
index 7724c4cf3813b..8274b7440691d 100644
--- a/pkgs/servers/libreddit/default.nix
+++ b/pkgs/servers/libreddit/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "libreddit";
-  version = "0.22.1";
+  version = "0.22.6";
 
   src = fetchFromGitHub {
     owner = "spikecodes";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-k6GAxEGmDzC6nUCMYXahw/MTQanpZw8UMBVPCA4zSTs=";
+    sha256 = "sha256-Dx0eVg1T9WTHeIQO9hwUoCAcUgQey8rlZ5+uxPIX0Wc=";
   };
 
-  cargoSha256 = "sha256-K31z5j/pBN84Egrfwe4/V3hpbIrlzn6ppFFNWFXFVcc=";
+  cargoSha256 = "sha256-RGZgo9uxRmPpZzXu6AC2FPjOoZxLnh4gCjadAOTWJ4Q=";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix
index 08c55f771724d..942023b4eaf43 100644
--- a/pkgs/servers/mail/postfix/default.nix
+++ b/pkgs/servers/mail/postfix/default.nix
@@ -1,5 +1,6 @@
 { stdenv, lib, fetchurl, makeWrapper, gnused, db, openssl, cyrus_sasl, libnsl
 , coreutils, findutils, gnugrep, gawk, icu, pcre, m4
+, fetchpatch
 , buildPackages, nixosTests
 , withLDAP ? true, openldap
 , withPgSQL ? false, postgresql
@@ -46,6 +47,12 @@ in stdenv.mkDerivation rec {
     ./postfix-3.0-no-warnings.patch
     ./post-install-script.patch
     ./relative-symlinks.patch
+
+    # glibc 2.34 compat
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/postfix/raw/2f9d42453e67ebc43f786d98262a249037f80a77/f/postfix-3.6.2-glibc-234-build-fix.patch";
+      sha256 = "sha256-xRUL5gaoIt6HagGlhsGwvwrAfYvzMgydsltYMWvl9BI=";
+    })
   ];
 
   postPatch = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
diff --git a/pkgs/servers/mapcache/default.nix b/pkgs/servers/mapcache/default.nix
index 744a529496da8..3eae9c2b33cbd 100644
--- a/pkgs/servers/mapcache/default.nix
+++ b/pkgs/servers/mapcache/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mapcache";
-  version = "1.12.0";
+  version = "1.12.1";
 
   src = fetchFromGitHub {
     owner = "MapServer";
     repo = pname;
     rev = "rel-${lib.replaceStrings [ "." ] [ "-" ] version}";
-    sha256 = "sha256-13lOQC4PJtByhvceuF00uoipLFHrFiyJrsy2iWcEANc=";
+    sha256 = "sha256-NuiZMWcmsN5wDCd37Hvj3cazwT3Ea+OknV/YR3urZB0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/mastodon/default.nix b/pkgs/servers/mastodon/default.nix
index dfe1a6d26ec95..ef4c22b1c2c07 100644
--- a/pkgs/servers/mastodon/default.nix
+++ b/pkgs/servers/mastodon/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, nodejs-slim, mkYarnPackage, fetchFromGitHub, fetchpatch, bundlerEnv, nixosTests
+{ lib, stdenv, nodejs-slim, mkYarnPackage, fetchFromGitHub, bundlerEnv, nixosTests
 , yarn, callPackage, imagemagick, ffmpeg, file, ruby_3_0, writeShellScript
 , fetchYarnDeps, fixup_yarn_lock
 
@@ -16,17 +16,9 @@ stdenv.mkDerivation rec {
   # Putting the callPackage up in the arguments list also does not work.
   src = if srcOverride != null then srcOverride else callPackage ./source.nix {};
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2022-0432.patch";
-      url = "https://github.com/mastodon/mastodon/commit/4d6d4b43c6186a13e67b92eaf70fe1b70ea24a09.patch";
-      sha256 = "sha256-C18X2ErBqP/dIEt8NrA7hdiqxUg5977clouuu7Lv4/E=";
-    })
-  ];
-
   yarnOfflineCache = fetchYarnDeps {
     yarnLock = "${src}/yarn.lock";
-    sha256 = "sha256-Z+nFMJcC2f+nDUxa2vPYnNezMLBGXfLdh+xMXPHqYyw=";
+    sha256 = "sha256-Ngfs15YKLfSBOKju3BzpZFnenB370jId2G1g9Qy1y5w=";
   };
 
   mastodon-gems = bundlerEnv {
@@ -53,7 +45,7 @@ stdenv.mkDerivation rec {
     pname = "${pname}-modules";
     inherit src version;
 
-    nativeBuildInputs = [ fixup_yarn_lock mastodon-gems nodejs-slim yarn ];
+    nativeBuildInputs = [ fixup_yarn_lock nodejs-slim yarn mastodon-gems mastodon-gems.wrappedRuby ];
 
     RAILS_ENV = "production";
     NODE_ENV = "production";
@@ -63,8 +55,13 @@ stdenv.mkDerivation rec {
       fixup_yarn_lock ~/yarn.lock
       yarn config --offline set yarn-offline-mirror ${yarnOfflineCache}
       yarn install --offline --frozen-lockfile --ignore-engines --ignore-scripts --no-progress
+
+      patchShebangs ~/bin
       patchShebangs ~/node_modules
 
+      # skip running yarn install
+      rm -rf ~/bin/yarn
+
       OTP_SECRET=precompile_placeholder SECRET_KEY_BASE=precompile_placeholder \
         rails assets:precompile
       yarn cache clean --offline
diff --git a/pkgs/servers/mastodon/gemset.nix b/pkgs/servers/mastodon/gemset.nix
index f18145ec47d08..544e3b90412f4 100644
--- a/pkgs/servers/mastodon/gemset.nix
+++ b/pkgs/servers/mastodon/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15r6ab17iwhhq92by4ah9z4wwvjbr07qn16x8pn2ypgqwvfy74h7";
+      sha256 = "1zsb2x1j044rcx9b2ijgnp1ir7vsccxfrar59pvra83j5pjmsyiz";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.5";
   };
   actionmailbox = {
     dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1q1r3x9fbq5wlgn4xhqw48la09q7f97zna7ld5fglk3jpmh973x5";
+      sha256 = "1pzpf5vivh864an88gb7fab1gh137prfjpbf92mx5qnln1wjhlgh";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.5";
   };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "rails-dom-testing"];
@@ -27,10 +27,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nqdaykzgib8fsldkxdkw0w44jzz4grvb028crzg0qpwvv03g2wp";
+      sha256 = "0sm5rp2jxlikhvv7085r7zrazy42dw74k9rlniaka8m6wfas01nf";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.5";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@@ -38,10 +38,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wdgv5llgbl4nayx5j78lfvhhjssrzfmypb45mjy37mgm8z5l5m5";
+      sha256 = "0kk8c6n94lg5gyarsy33wakw04zbmdwgfr7zxv4zzmbnp1yach0w";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.5";
   };
   actiontext = {
     dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "nokogiri"];
@@ -49,10 +49,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zfrkcnp9wy1dm4b6iqf29858dp04a62asfmldainqmv4a7931q7";
+      sha256 = "1hkqhliw766vcd4c83af2dd1hcnbsh5zkcx8bdqmjcq7zqfn7xib";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.5";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -60,10 +60,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1r6db2g3fsrca1hp9kbyvjx9psipsxw0g306qharkcblxl8h1ysn";
+      sha256 = "16w7pl8ir253g1dzlzx4mwrjsx3v7fl7zn941xz53zb4ld286mhi";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.5";
   };
   active_model_serializers = {
     dependencies = ["actionpack" "activemodel" "case_transform" "jsonapi-renderer"];
@@ -71,10 +71,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jjkmrx82rn0d2bhpi6kz2h1s4w7rpk5pj2vcssyc1a2ys12vyhj";
+      sha256 = "0xdp7cpj3yj3wl4vj0nqq44kzjavlxi1wq3cf9zp0whkir0ym0gy";
       type = "gem";
     };
-    version = "0.10.12";
+    version = "0.10.13";
   };
   active_record_query_trace = {
     groups = ["development"];
@@ -92,10 +92,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0p80rbahcxhxlkxgf4bh580hbifn9q4gr5g9fy8fd0z5g6gr9xxq";
+      sha256 = "0arf4vxcahb9f9y5fa1ap7dwnknfjb0d5g9zsh0dnqfga9vp1hws";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.5";
   };
   activemodel = {
     dependencies = ["activesupport"];
@@ -103,10 +103,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gpd3hh4ryyr84drj6m0b5sy6929nyf50bfgksw1hpc594542nal";
+      sha256 = "16anyz7wqwmphzb6w1sgmvdvj50g3zp70s94s5v8hwxj680f6195";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.5";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport"];
@@ -114,10 +114,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fg58qma2zgrz0gr61p61qcz8c3h88fd5lbdrkpkm96aq5shwh68";
+      sha256 = "0jl6jc9g9jxsljfnnmbkxrgwrz86icw6g745cv6iavryizrmw939";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.5";
   };
   activestorage = {
     dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel" "mini_mime"];
@@ -125,10 +125,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sbpkk3r8qi47bd0ilznq4gpfyfwm2bwvxqb5z0wc75h3zj1jhqg";
+      sha256 = "0gpxx9wyavp1mhy6fmyj4b20c4x0dcdj94y0ag61fgnyishd19ph";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.5";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
@@ -136,10 +136,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1csxddyhl6k773ycxjvmyshyr4g9jb1icbs3pnm7crnavqs4h1yr";
+      sha256 = "0jmqndx3a46hpwz33ximqch27018n3mk9z19azgpylm33w7xpkx4";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.5";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -147,10 +147,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
+      sha256 = "022r3m9wdxljpbya69y2i3h9g3dhhfaqzidf95m6qjzms792jvgp";
       type = "gem";
     };
-    version = "2.7.0";
+    version = "2.8.0";
+  };
+  aes_key_wrap = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "19bn0y70qm6mfj4y1m0j3s8ggh6dvxwrwrj5vfamhdrpddsz8ddr";
+      type = "gem";
+    };
+    version = "1.1.0";
   };
   airbrussh = {
     dependencies = ["sshkit"];
@@ -179,10 +189,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dxrfppwfg13vqmambbs56xjj8qsdgcy58r2yc44vvy3z1g5yflw";
+      sha256 = "1lw0fxb5mirsdp3bp20gjyvs7clvi19jbxnrm2ihm20kzfhvlqcs";
       type = "gem";
     };
-    version = "3.1.1";
+    version = "3.2.0";
   };
   ast = {
     groups = ["default" "development" "test"];
@@ -205,6 +215,16 @@
     };
     version = "3.1.0";
   };
+  attr_required = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1g22axmi2rhhy7w8c3x6gppsawxqavbrnxpnmphh22fk7cwi0kh2";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
   awrence = {
     groups = ["default"];
     platforms = [];
@@ -220,20 +240,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jfki5ikfr8ln5cdgv4iv1643kax0bjpp29jh78chzy713274jh3";
+      sha256 = "1pyis1nvnbjxk12a43xvgj2gv0mvp4cnkc1gzw0v1018r61399gz";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.2.0";
   };
   aws-partitions = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fs3fy6k4wmzh0z6c4rl313f5px81pj0viqxj1prksza4j7iymmi";
+      sha256 = "0q5c8jjnlz6dlkxwsm6cj9n1z08pylvibsx8r42z50ws0jw2f7jm";
       type = "gem";
     };
-    version = "1.465.0";
+    version = "1.558.0";
   };
   aws-sdk-core = {
     dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"];
@@ -241,10 +261,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09asbdcg96l165kq4hrks0hsk4hwr16h1qx22az4m7ld0ylvz3jc";
+      sha256 = "0cmrz2ddv8235z2dx1hyw85mh3lxaipk9dyy10zk2fvmv1nkfkiq";
       type = "gem";
     };
-    version = "3.114.0";
+    version = "3.127.0";
   };
   aws-sdk-kms = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -252,10 +272,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01pd0f4srsa65zl4zq4014p9j5yrr2yy9h9ab17g3w9d0qqm2vsh";
+      sha256 = "0fmpdll52ng1kfn4r5ndcyppn5553qvvxw87w58m9n70ga3avasi";
       type = "gem";
     };
-    version = "1.43.0";
+    version = "1.55.0";
   };
   aws-sdk-s3 = {
     dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"];
@@ -263,10 +283,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mm96blh0515lymkwamcnv5jih36v0yykcqx4fr0wwvwmyh637zv";
+      sha256 = "0iafjly868kdzmpxkv1ndmqm524ik36ibs15mqh145vw32gz7bax";
       type = "gem";
     };
-    version = "1.95.1";
+    version = "1.113.0";
   };
   aws-sigv4 = {
     dependencies = ["aws-eventstream"];
@@ -274,20 +294,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1d9zhmi3mpfzkkpg7yw7s9r1dwk157kh9875j3c7gh6cy95lmmaw";
+      sha256 = "1wh1y79v0s4zgby2m79bnifk65hwf5pvk2yyrxzn2jkjjq8f8fqa";
       type = "gem";
     };
-    version = "1.2.3";
+    version = "1.4.0";
   };
   bcrypt = {
     groups = ["default" "pam_authentication"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02r1c3isfchs5fxivbq99gc3aq4vfyn8snhcy707dal1p8qz12qb";
+      sha256 = "1rakdhrnlclrpy7sihi9ipwdh7fjkkvzga171464lq6rzp07cf65";
       type = "gem";
     };
-    version = "3.1.16";
+    version = "3.1.17";
   };
   better_errors = {
     dependencies = ["coderay" "erubi" "rack"];
@@ -305,10 +325,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bmlqjb5h1ry6wm2d903d6yxibpqzzxwqczvlicsqv0vilaca5ic";
+      sha256 = "06lqi4svq5qls9f7nnvd2zmjdqmi2sf82sq78ci5d78fq0z5x2vr";
       type = "gem";
     };
-    version = "2.4.8";
+    version = "2.4.10";
   };
   binding_of_caller = {
     dependencies = ["debug_inspector"];
@@ -327,10 +347,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04a4na1z36z4gplcyz3avi313c3jq6whqi5sx2clj512la3ccd2x";
+      sha256 = "1rs61mwdiyriq8mb8na2sfrqzz8igls04md63ajyhk4yj8d2j0sz";
       type = "gem";
     };
-    version = "0.1.5";
+    version = "0.1.6";
   };
   bootsnap = {
     dependencies = ["msgpack"];
@@ -338,20 +358,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jkh8qrsz3nhz759jwlfa20xkizn63yxym2db0c8ayjxzldyc77z";
+      sha256 = "053hx5hz1zdcqwywlnabzf0gkrrchhzh66p1bfzvrryb075lsqm1";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.10.3";
   };
   brakeman = {
     groups = ["development"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cdlfdaj3p9s1mck8zax35g524szs1danjrah8da3z7c8xvpq6sc";
+      sha256 = "197bvfm4rpczyrpbjzn7zh4q6rxigwnxnnmvvgfg9451k3jjygyy";
       type = "gem";
     };
-    version = "5.0.1";
+    version = "5.2.1";
   };
   browser = {
     groups = ["default"];
@@ -390,10 +410,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0r8d3vh1xjfx46qlv75228rkshzgqxpmf491vxzpicpqi1xad5ni";
+      sha256 = "0q90zk8di7a12by3d81nl78yy90rdml77vi3waxmgzqhvs6na4vj";
       type = "gem";
     };
-    version = "6.1.4";
+    version = "7.0.1";
   };
   bundler-audit = {
     dependencies = ["thor"];
@@ -401,10 +421,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00l8rs7cna0j3yh4s9sza0r88x7kjc7j4gp9yl378422k7i0r73v";
+      sha256 = "05k19l5388248rd74cn2lm2ksci7fzmga74n835v7k31m4kbzw8v";
       type = "gem";
     };
-    version = "0.8.0";
+    version = "0.9.0.1";
   };
   byebug = {
     groups = ["default" "development" "test"];
@@ -422,10 +442,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jw01z2rawipnkprxy4c2sbdna3k9pxl3gzq3y92l3i1xy5x7ax3";
+      sha256 = "0bbkmi746zddgrfhq0z19y053bax5l4jh8ji9mfam5aacchnz2cm";
       type = "gem";
     };
-    version = "3.16.0";
+    version = "3.17.0";
   };
   capistrano-bundler = {
     dependencies = ["capistrano"];
@@ -444,10 +464,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13fnicx9fkilgvlapjmdglcs3yjll0brx3bp4mbi3sixxcm6vy9r";
+      sha256 = "1iyhs77bff09g18dlz0li5f44khjwpqc09gk5hzcnf5v9yvijpg9";
       type = "gem";
     };
-    version = "1.6.1";
+    version = "1.6.2";
   };
   capistrano-rbenv = {
     dependencies = ["capistrano" "sshkit"];
@@ -472,15 +492,15 @@
     version = "2.0.2";
   };
   capybara = {
-    dependencies = ["addressable" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"];
+    dependencies = ["addressable" "matrix" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"];
     groups = ["test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1viqcpsngy9fqjd68932m43ad6xj656d1x33nx9565q57chgi29k";
+      sha256 = "1dv75hs45456mi76h720gxk959gpg4f6091hmk42y0ln6kp2x7i0";
       type = "gem";
     };
-    version = "3.35.3";
+    version = "3.36.0";
   };
   case_transform = {
     dependencies = ["activesupport"];
@@ -519,10 +539,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1l8r8wdghw09clkgyk91d80lvav7ngl8j7gmrgb7m2bh8nyia54m";
+      sha256 = "1jfdz0z27p839m09xmw5anrw5jp3jd5hd5gnx4vlk6kk520cy6sf";
       type = "gem";
     };
-    version = "5.2.0";
+    version = "7.2.4";
   };
   chunky_png = {
     groups = ["default"];
@@ -534,17 +554,6 @@
     };
     version = "1.4.0";
   };
-  cld3 = {
-    dependencies = ["ffi"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1y04ig8p9rparhff5dh3781pwf1xlirgq8p0fzvggjjpx761bvra";
-      type = "gem";
-    };
-    version = "3.4.2";
-  };
   climate_control = {
     groups = ["test"];
     platforms = [];
@@ -580,10 +589,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mr23wq0szj52xnj0zcn1k0c7j4v79wlwbijkpfcscqww3l6jlg3";
+      sha256 = "0s4fpn3mqiizpmpy2a24k4v365pv75y50292r8ajrv4i1p5b2k14";
       type = "gem";
     };
-    version = "1.1.8";
+    version = "1.1.10";
   };
   connection_pool = {
     groups = ["default" "test"];
@@ -654,10 +663,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ag0skzk3h7bhmf1n2zwa7cg6kx5k5inxmq0kf5qpm7917ffm0mz";
+      sha256 = "0gl0b4jqf7ysv3rg99sgxa5y9va2k13p0si3a88pr7m8g6z8pm7x";
       type = "gem";
     };
-    version = "4.8.0";
+    version = "4.8.1";
   };
   devise-two-factor = {
     dependencies = ["activesupport" "attr_encrypted" "devise" "railties" "rotp"];
@@ -665,10 +674,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "148pfr6g8dwikdq3994gsid2a3n6p5h4z1a1dzh1898shr5f9znc";
+      sha256 = "04f5rb8fg4cvzm32v413z3h53wc0fgxg927q8rqd546hdrlx4j35";
       type = "gem";
     };
-    version = "4.0.0";
+    version = "4.0.2";
   };
   devise_pam_authenticatable2 = {
     dependencies = ["devise" "rpam2"];
@@ -686,10 +695,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0m925b8xc6kbpnif9dldna24q1szg4mk0fvszrki837pfn46afmz";
+      sha256 = "0rwvjahnp7cpmracd8x732rjgnilqv2sx7d1gfrysslc3h039fa9";
       type = "gem";
     };
-    version = "1.4.4";
+    version = "1.5.0";
   };
   discard = {
     dependencies = ["activerecord"];
@@ -697,10 +706,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zq7wjmknz8fd1pw169xpwf6js4280gnphy6mw8m3xiz1715bcig";
+      sha256 = "1xavjhccyyzn9z6fz3034vgvzprc983mbrq6n9sc0drfw7m3vrip";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.2.1";
   };
   docile = {
     groups = ["default" "test"];
@@ -729,10 +738,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1l2ma30gkmrny47zn4i8kmak8iykra1npx1cmpax8y43c88kkv7l";
+      sha256 = "188ybg2cgghcp5r1jpfnbx3anf0z8fzlla72jra0vgwkdylk7qkz";
       type = "gem";
     };
-    version = "5.5.1";
+    version = "5.5.4";
   };
   dotenv = {
     groups = ["default"];
@@ -770,10 +779,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1f5kr8za7hvla38fc0n9jiv55iq62k5bzclsa5kdb14l3r4w6qnw";
+      sha256 = "0zb2dr2ihb1qiknn5iaj1ha1w9p7lj9yq5waasndlfadz225ajji";
       type = "gem";
     };
-    version = "1.2.4";
+    version = "1.3.0";
   };
   elasticsearch = {
     dependencies = ["elasticsearch-api" "elasticsearch-transport"];
@@ -781,10 +790,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02liwd003fify7cpg1z8szwfnncn33h5kkvgnbpi0bpqznb64l87";
+      sha256 = "0havyxmvl157a653prspnbhgdchlx44xqxl170v1im5ggxwavcaq";
       type = "gem";
     };
-    version = "7.10.1";
+    version = "7.13.3";
   };
   elasticsearch-api = {
     dependencies = ["multi_json"];
@@ -792,20 +801,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ya398pcmin9l44m5z5wsh3zqz47dhrj5h2lxkpr3pa0vcacd9ig";
+      sha256 = "0bmssarkk7lqkjdn8c9j7jvxcnn4hg1zcmhsky8bfvc99k33b3w8";
       type = "gem";
     };
-    version = "7.10.1";
+    version = "7.13.3";
   };
   elasticsearch-dsl = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0d2qr5hvqcr5r78djzrw5fjkaggvw080sdixnnq8cf8yriwhsvnf";
+      sha256 = "174m3fwm3mawbkjg2xbmqvljq7ava4s95m8vpg5khcvfj506wxfk";
       type = "gem";
     };
-    version = "0.1.9";
+    version = "0.1.10";
   };
   elasticsearch-transport = {
     dependencies = ["faraday" "multi_json"];
@@ -813,10 +822,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0q45s9d4id0l35924vxmysb9s2raiixcsf7il6j5bl2z8dgfwfhs";
+      sha256 = "0blfii8qvj0m6bg9sbfynxc40in7zfmw2wpi4clv7d9gclk053db";
       type = "gem";
     };
-    version = "7.10.1";
+    version = "7.13.3";
   };
   encryptor = {
     groups = ["default"];
@@ -844,10 +853,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xr8i8ql4xzx17d12590i3j299hj6vc0ja2j29dy12i5nlchxrvp";
+      sha256 = "0xsfa02hin2ymfcf0bdvsw6wk8w706rrfdqpy6b4f439zbqmn05m";
       type = "gem";
     };
-    version = "1.2.4";
+    version = "1.2.6";
   };
   excon = {
     groups = ["default"];
@@ -864,10 +873,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1a1zv94hcss44n1b04w0rg0swg8npigrj3nva9h0y2f1iflj124k";
+      sha256 = "1zmak7fgis1nk9j157g2rjzxrw9prr3jzlxap9vix3xm0gkihr53";
       type = "gem";
     };
-    version = "2.22.0";
+    version = "2.27.0";
   };
   faker = {
     dependencies = ["i18n"];
@@ -875,21 +884,72 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hwir9b9zy0asy0vap7zfqv75lbws4a1pmh74lhqd2rndv32vfc5";
+      sha256 = "1694ndj701a8q4c4bwxz53kx94ih1rr4pgr4gk7a6c8k4jsbjgwi";
       type = "gem";
     };
-    version = "2.18.0";
+    version = "2.20.0";
   };
   faraday = {
-    dependencies = ["faraday-net_http" "multipart-post" "ruby2_keywords"];
+    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"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hmssd8pj4n7yq4kz834ylkla8ryyvhaap6q9nzymp93m1xq21kz";
+      sha256 = "0y32gj994ll3zlcqjmwp78r7s03iiwayij6fz2pjpkfywgvp71s6";
       type = "gem";
     };
-    version = "1.3.0";
+    version = "1.9.3";
+  };
+  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 = "03qfi9020ynf7hkdiaq01sd2mllvw7fg4qiin3pk028b4wv23j3j";
+      type = "gem";
+    };
+    version = "1.0.3";
   };
   faraday-net_http = {
     groups = ["default"];
@@ -901,35 +961,75 @@
     };
     version = "1.0.1";
   };
-  fast_blank = {
+  faraday-net_http_persistent = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16s1ilyvwzmkcgmklbrn0c2pch5n02vf921njx0bld4crgdr6z56";
+      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";
+  };
+  fast_blank = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1shpmamyzyhyxmv95r96ja5rylzaw60r19647d0fdm7y2h2c77r6";
+      type = "gem";
+    };
+    version = "1.0.1";
+  };
   fastimage = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lgr0vs9kg5622qaf2l3f37b238dncs037fisiygvkbq8sg11i68";
+      sha256 = "0nnggg20za5vamdpkgrxxa32z33d8hf0g2bciswkhqnc6amb3yjr";
       type = "gem";
     };
-    version = "2.2.3";
+    version = "2.2.6";
   };
   ffi = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nq1fb3vbfylccwba64zblxy96qznxbys5900wd7gm9bpplmf432";
+      sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg";
       type = "gem";
     };
-    version = "1.15.0";
+    version = "1.15.5";
   };
   ffi-compiler = {
     dependencies = ["ffi" "rake"];
@@ -991,10 +1091,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vmzjmwq5968ni9wzdp957iizddj85v69qi0hz5rk8148lz1bccm";
+      sha256 = "0l8878iqg85zmpifjfnidpp17swgh103a0br68nqakflnn0zwcka";
       type = "gem";
     };
-    version = "1.3.9";
+    version = "1.5.2";
   };
   fuubar = {
     dependencies = ["rspec-core" "ruby-progressbar"];
@@ -1007,16 +1107,27 @@
     };
     version = "2.5.1";
   };
+  gitlab-omniauth-openid-connect = {
+    dependencies = ["addressable" "omniauth" "openid_connect"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0rw99k86csafsgv4w7v7wzid5kvlk43nfyww1d3ss00mhjdhw619";
+      type = "gem";
+    };
+    version = "0.5.0";
+  };
   globalid = {
     dependencies = ["activesupport"];
     groups = ["default" "development"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zkxndvck72bfw235bd9nl2ii0lvs5z88q14706cmn702ww2mxv1";
+      sha256 = "1n5yc058i8xhi1fwcp1w7mfi6xaxfmrifdb4r4hjfff33ldn8lqj";
       type = "gem";
     };
-    version = "0.4.2";
+    version = "1.0.0";
   };
   hamlit = {
     dependencies = ["temple" "thor" "tilt"];
@@ -1040,17 +1151,6 @@
     };
     version = "0.2.3";
   };
-  hamster = {
-    dependencies = ["concurrent-ruby"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1n1lsh96vnyc1pnzyd30f9prcsclmvmkdb3nm5aahnyizyiy6lar";
-      type = "gem";
-    };
-    version = "3.0.0";
-  };
   hashdiff = {
     groups = ["default" "test"];
     platforms = [];
@@ -1112,15 +1212,15 @@
     version = "4.3.4";
   };
   http = {
-    dependencies = ["addressable" "http-cookie" "http-form_data" "http-parser"];
+    dependencies = ["addressable" "http-cookie" "http-form_data" "llhttp-ffi"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0z8vmvnkrllkpzsxi94284di9r63g9v561a16an35izwak8g245y";
+      sha256 = "1akaq4wnnlbavb8rjg0vbxsg6nzbqwgkgklbmb07hix3pkp7xpxf";
       type = "gem";
     };
-    version = "4.4.1";
+    version = "5.0.4";
   };
   http-cookie = {
     dependencies = ["domain_name"];
@@ -1128,10 +1228,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "004cgs4xg5n6byjs7qld0xhsjq3n6ydfh897myr2mibvh6fjc49g";
+      sha256 = "19370bc97gsy2j4hanij246hv1ddc85hw0xjb6sj7n1ykqdlx9l9";
       type = "gem";
     };
-    version = "1.0.3";
+    version = "1.0.4";
   };
   http-form_data = {
     groups = ["default"];
@@ -1143,26 +1243,25 @@
     };
     version = "2.3.0";
   };
-  http-parser = {
-    dependencies = ["ffi-compiler"];
+  http_accept_language = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10wz818i7dq5zkcll0yf7pbjz1zqvs7mgh3xg3x6www2f2ccwxqj";
+      sha256 = "0d0nlfz9vm4jr1l6q0chx4rp2hrnrfbx3gadc1dz930lbbaz0hq0";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "2.1.1";
   };
-  http_accept_language = {
+  httpclient = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0d0nlfz9vm4jr1l6q0chx4rp2hrnrfbx3gadc1dz930lbbaz0hq0";
+      sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99";
       type = "gem";
     };
-    version = "2.1.1";
+    version = "2.8.3";
   };
   httplog = {
     dependencies = ["rack" "rainbow"];
@@ -1181,10 +1280,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0g2fnag935zn2ggm5cn6k4s4xvv53v2givj1j90szmvavlpya96a";
+      sha256 = "0b2qyvnk4yynlg17ymkq4g5xgr275637fhl1mjh0valw3cb1fhhg";
       type = "gem";
     };
-    version = "1.8.10";
+    version = "1.10.0";
   };
   i18n-tasks = {
     dependencies = ["activesupport" "ast" "erubi" "highline" "i18n" "parser" "rails-i18n" "rainbow" "terminal-table"];
@@ -1192,20 +1291,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lxccbhv91mbj7h3iy9xp1nhj5hrk4dyrglp2xv2qp71h129h37h";
+      sha256 = "0baaaljm7nq5z9xrhdsw1nnzvj494wi4zzbv5s89gm0rwpxfg1g2";
       type = "gem";
     };
-    version = "0.9.34";
+    version = "0.9.37";
   };
   idn-ruby = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07vblcyk3g72sbq12xz7xj28snpxnh3sbcnxy8bglqbfqqhvmawr";
+      sha256 = "1xjr8nxpq6vsa4kd7pvd14xxiba9y4dais1yyz4dj567hsqdrhcm";
       type = "gem";
     };
-    version = "0.1.0";
+    version = "0.1.4";
   };
   ipaddress = {
     groups = ["default"];
@@ -1217,25 +1316,15 @@
     };
     version = "0.8.3";
   };
-  iso-639 = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1k1r8wgk6syvpsl3j5qfh5az5w4zdvk0pvpjl7qspznfdbp2mn71";
-      type = "gem";
-    };
-    version = "0.3.5";
-  };
   jmespath = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1d4wac0dcd1jf6kc57891glih9w57552zgqswgy74d1xhgnk0ngf";
+      sha256 = "1gjrr5pdcl3l3skhp9d0jzs4yhmknpv3ldcz59b339b9lqbqasnr";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.6.0";
   };
   json = {
     groups = ["default" "test"];
@@ -1252,10 +1341,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0x6rd52dy6d75v21nzvkgpslhjsf5s3s6s4646yc34rdh6icq2ip";
+      sha256 = "179h6jfdsp9dmzyma7s7ykv1ia43r6z8x96j335q99p6mc5sk5qv";
       type = "gem";
     };
-    version = "0.2.1";
+    version = "0.3.0";
+  };
+  json-jwt = {
+    dependencies = ["activesupport" "aes_key_wrap" "bindata"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0nzbk1mrbf9mnvjpn3bxy8a85rjf94qmfdnvk78mjzk8pa0fvgdr";
+      type = "gem";
+    };
+    version = "1.13.0";
   };
   json-ld = {
     dependencies = ["htmlentities" "json-canonicalization" "link_header" "multi_json" "rack" "rdf"];
@@ -1263,10 +1363,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1j9rj3qqdp312lbwgpxkqzbhf18nxaf6pvillql6p05l4av4717w";
+      sha256 = "08nll07gxgz2ys6i821nfbnsrx922d2yiqd5nd03785jjz1difbp";
       type = "gem";
     };
-    version = "3.1.9";
+    version = "3.2.0";
   };
   json-ld-preloaded = {
     dependencies = ["json-ld" "rdf"];
@@ -1274,10 +1374,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01i36aja495wvhc3259iawc7dp0ar1yglnxcv5vi3rmrdm03cviz";
+      sha256 = "0h0pfxyrsbifzhwfxj1ppaxbk7v2z8mw53a0mi49i986wyspxlgv";
       type = "gem";
     };
-    version = "3.1.5";
+    version = "3.2.0";
   };
   jsonapi-renderer = {
     groups = ["default"];
@@ -1305,10 +1405,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vxkqciny5v4jgmjxl8qrgbmig2cij2iskqbwh4bfcmpxf467ch3";
+      sha256 = "0gia8irryvfhcr6bsr64kpisbgdbqjsqfgrk12a11incmpwny1y4";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "1.2.2";
   };
   kaminari-actionview = {
     dependencies = ["actionview" "kaminari-core"];
@@ -1316,10 +1416,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0w0p1hyv6lgf6h036cmn2kbkdv4x7g0g9q9kc5gzkpz7amlxr8ri";
+      sha256 = "02f9ghl3a9b5q7l079d3yzmqjwkr4jigi7sldbps992rigygcc0k";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "1.2.2";
   };
   kaminari-activerecord = {
     dependencies = ["activerecord" "kaminari-core"];
@@ -1327,20 +1427,31 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02n5xxv6ilh39q2m6vcz7qrdai7ghk3s178dw6f0b3lavwyq49w3";
+      sha256 = "0c148z97s1cqivzbwrak149z7kl1rdmj7dxk6rpkasimmdxsdlqd";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "1.2.2";
   };
   kaminari-core = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0h04cr4y1jfn81gxy439vmczifghc2cvsyw47aa32is5bbxg1wlz";
+      sha256 = "1zw3pg6kj39y7jxakbx7if59pl28lhk98fx71ks5lr3hfgn6zliv";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "1.2.2";
+  };
+  kt-paperclip = {
+    dependencies = ["activemodel" "activesupport" "marcel" "mime-types" "terrapin"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "08ngapld22knlkyn0dhhddkfm4vfj0lgmwj4y6x4mhi2hzfwxcxr";
+      type = "gem";
+    };
+    version = "7.1.1";
   };
   launchy = {
     dependencies = ["addressable"];
@@ -1359,21 +1470,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09a7kgsmr10a0hrc9bwxglgqvppjxij9w8bxx91mnvh0ivaw0nq9";
+      sha256 = "1y5d4ip4l12v58bgazadl45iv3a5j7jp2gwg96b6jy378zn42a1d";
       type = "gem";
     };
-    version = "1.7.0";
+    version = "1.8.1";
   };
   letter_opener_web = {
-    dependencies = ["actionmailer" "letter_opener" "railties"];
+    dependencies = ["actionmailer" "letter_opener" "railties" "rexml"];
     groups = ["development"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0pianlrbf9n7jrqxpyxgsfk1j1d312d57d6gq7yxni6ax2q0293q";
+      sha256 = "0vvvaz2ngaxv0s6sj25gdvp73vd8pfl8q3jharadg18p3va0m1ik";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "2.0.0";
   };
   link_header = {
     groups = ["default"];
@@ -1385,6 +1496,17 @@
     };
     version = "0.0.8";
   };
+  llhttp-ffi = {
+    dependencies = ["ffi-compiler" "rake"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "00dh6zmqdj59rhcya0l4b9aaxq6n8xizfbil93k0g06gndyk5xz5";
+      type = "gem";
+    };
+    version = "0.4.0";
+  };
   lograge = {
     dependencies = ["actionpack" "activesupport" "railties" "request_store"];
     groups = ["production"];
@@ -1402,10 +1524,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1w9mbii8515p28xd4k72f3ab2g6xiyq15497ys5r8jn6m355lgi7";
+      sha256 = "1yp1h1j7pdkqvnx8jl6bkzlajav3h5mhqzihgs9p6y3c8927mw23";
       type = "gem";
     };
-    version = "2.9.1";
+    version = "2.15.0";
   };
   mail = {
     dependencies = ["mini_mime"];
@@ -1424,20 +1546,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0d6r7df919jwj0xwmr95xqjqp7937djysrq2v3qvwhddhx7mfpkv";
+      sha256 = "0a6x6w1ij484s1z0wp667d6v0zb8bylhhr3av10yz60a2nz4r1l7";
       type = "gem";
     };
-    version = "0.5.0";
+    version = "0.5.1";
   };
   marcel = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bp001p687nsa4a8sp3q1iv8pfhs24w7s3avychjp64sdkg6jxq3";
+      sha256 = "0kky3yiwagsk8gfbzn3mvl2fxlh3b39v6nawzm4wpjs6xxvvc4x0";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "1.0.2";
   };
   mario-redis-lock = {
     dependencies = ["redis"];
@@ -1450,6 +1572,16 @@
     };
     version = "1.2.1";
   };
+  matrix = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1h2cgkpzkh3dd0flnnwfq6f3nl2b1zff9lvqz8xs853ssv5kq23i";
+      type = "gem";
+    };
+    version = "0.4.2";
+  };
   memory_profiler = {
     groups = ["development"];
     platforms = [];
@@ -1487,72 +1619,60 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zj12l9qk62anvk9bjvandpa6vy4xslil15wl6wlivyf51z773vh";
+      sha256 = "0ipw892jbksbxxcrlx9g5ljq60qx47pm24ywgfbyjskbcl78pkvb";
       type = "gem";
     };
-    version = "3.3.1";
+    version = "3.4.1";
   };
   mime-types-data = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1z75svngyhsglx0y2f9rnil2j08f9ab54b3l95bpgz67zq2if753";
-      type = "gem";
-    };
-    version = "3.2020.0512";
-  };
-  mimemagic = {
-    dependencies = ["nokogiri" "rake"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0cqm9n9122qpksn9v6mp0gn3lrzxhh72lwl7yb6j75gykdan6h41";
+      sha256 = "003gd7mcay800k2q4pb2zn8lwwgci4bhi42v2jvlidm8ksx03i6q";
       type = "gem";
     };
-    version = "0.3.10";
+    version = "3.2022.0105";
   };
   mini_mime = {
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1np6srnyagghhh2w4nyv09sz47v0i6ri3q6blicj94vgxqp12c94";
+      sha256 = "0lbim375gw2dk6383qirz13hgdmxlan0vc5da2l072j3qw6fqjm5";
       type = "gem";
     };
-    version = "1.0.3";
+    version = "1.1.2";
   };
   mini_portile2 = {
-    dependencies = ["net-ftp"];
     groups = ["default" "development" "pam_authentication" "production" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0a2y04km3aciybk12yimkqn0ycrzy23iygl116n7addix9xdii3s";
+      sha256 = "0rapl1sfmfi3bfr68da4ca16yhc0pp93vjwkj7y3rdqrzy3b41hy";
       type = "gem";
     };
-    version = "2.5.2";
+    version = "2.8.0";
   };
   minitest = {
     groups = ["default" "development" "pam_authentication" "production" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl";
+      sha256 = "06xf558gid4w8lwx13jwfdafsch9maz8m0g85wnfymqj63x5nbbd";
       type = "gem";
     };
-    version = "5.14.4";
+    version = "5.15.0";
   };
   msgpack = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06iajjyhx0rvpn4yr3h1hc4w4w3k59bdmfhxnjzzh76wsrdxxrc6";
+      sha256 = "0b98w2j7g89ihnc753hh3if68r5qrmdp9n2j6mvqy2yl73sbv739";
       type = "gem";
     };
-    version = "1.4.2";
+    version = "1.4.4";
   };
   multi_json = {
     groups = ["default"];
@@ -1574,17 +1694,6 @@
     };
     version = "2.1.1";
   };
-  net-ftp = {
-    dependencies = ["net-protocol" "time"];
-    groups = ["default" "development" "pam_authentication" "production" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1gx09b00k454fgn7q41r9xs5j5v9qj8xhfxnm650cns1ywcmzkil";
-      type = "gem";
-    };
-    version = "0.1.2";
-  };
   net-ldap = {
     groups = ["default"];
     platforms = [];
@@ -1595,16 +1704,6 @@
     };
     version = "0.17.0";
   };
-  net-protocol = {
-    groups = ["default" "development" "pam_authentication" "production" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "01wxv9sl2lcf5212vqzblw9k241ga54cppi4dk5y9ylhllbqag8a";
-      type = "gem";
-    };
-    version = "0.1.0";
-  };
   net-scp = {
     dependencies = ["net-ssh"];
     groups = ["default" "development"];
@@ -1631,10 +1730,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00fwz0qq7agd2xkdz02i8li236qvwhma3p0jdn5bdvc21b7ydzd5";
+      sha256 = "0xk64wghkscs6bv2n22853k2nh39d131c6rfpnlw12mbjnnv9v1v";
       type = "gem";
     };
-    version = "2.5.7";
+    version = "2.5.8";
   };
   nokogiri = {
     dependencies = ["mini_portile2" "racc"];
@@ -1642,21 +1741,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1z4x366icbl9w13pk50vxx5kywlksvhxqxrpv8f5xpjxfl3jl64z";
-      type = "gem";
-    };
-    version = "1.11.6";
-  };
-  nokogumbo = {
-    dependencies = ["nokogiri"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0pxm7hx2lhmanm8kljd39f1j1742kl0a31zx98jsjiwrkfb5hhc6";
+      sha256 = "1p6b3q411h2mw4dsvhjrp1hh66hha5cm69fqg85vn2lizz71n6xz";
       type = "gem";
     };
-    version = "2.0.4";
+    version = "1.13.3";
   };
   nsa = {
     dependencies = ["activesupport" "concurrent-ruby" "sidekiq" "statsd-ruby"];
@@ -1674,10 +1762,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cnadm83qwnmbpyild9whb9bgf9r7gs046ydxypclb2l756gcnva";
+      sha256 = "0bm8sdh7vz7ss3y21v961rd8nww23w5g4yhgvnd7jk331kdjyyzl";
       type = "gem";
     };
-    version = "3.11.5";
+    version = "3.13.11";
   };
   omniauth = {
     dependencies = ["hashie" "rack"];
@@ -1723,6 +1811,17 @@
     };
     version = "1.10.3";
   };
+  openid_connect = {
+    dependencies = ["activemodel" "attr_required" "json-jwt" "rack-oauth2" "swd" "tzinfo" "validate_email" "validate_url" "webfinger"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nqhgvq006h6crbp8lffw66ll46zf319c2637g4sybdclglismma";
+      type = "gem";
+    };
+    version = "1.2.0";
+  };
   openssl = {
     groups = ["default"];
     platforms = [];
@@ -1758,42 +1857,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00k4l70dlbnqylng27023wz1c5hph32vwv2nwpfxdx9ip1vn4lx1";
-      type = "gem";
-    };
-    version = "2.14.4";
-  };
-  paperclip = {
-    dependencies = ["activemodel" "activesupport" "mime-types" "mimemagic" "terrapin"];
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "04mlw7aqj20ry0fy92gxnxg99hy5xczff7rhywfzz4mqlhc2wgg7";
+      sha256 = "15744bhmvw021a14gdks6k91gad6d1kgj2mc1zywpl0x9r3d85f2";
       type = "gem";
     };
-    version = "6.0.0";
+    version = "2.14.10";
   };
   parallel = {
-    groups = ["default" "development" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0055br0mibnqz0j8wvy20zry548dhkakws681bhj3ycb972awkzd";
-      type = "gem";
-    };
-    version = "1.20.1";
-  };
-  parallel_tests = {
-    dependencies = ["parallel"];
-    groups = ["test"];
+    groups = ["default" "development"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vrd24lg1pqxvp63664hrndywpdyn8i38j4gfvqk8zjl1mxy9840";
+      sha256 = "07vnk6bb54k4yc06xnwck7php50l09vvlw1ga8wdz0pia461zpzb";
       type = "gem";
     };
-    version = "3.7.0";
+    version = "1.22.1";
   };
   parser = {
     dependencies = ["ast"];
@@ -1801,10 +1878,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pxsi1i5z506xfzhiyavlasf8777h55ab40phvp7pfv9npmd5pnj";
+      sha256 = "0zaghgvva2q4jqbachg8jvpwgbg3w1jqr0d00m8rqciqznjgsw3c";
       type = "gem";
     };
-    version = "3.0.1.1";
+    version = "3.1.1.0";
   };
   parslet = {
     groups = ["default"];
@@ -1832,10 +1909,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13mfrysrdrh8cka1d96zm0lnfs59i5x2g6ps49r2kz5p3q81xrzj";
+      sha256 = "090c3kazlmiizp25las7dgi8wlc11s29nrs2gy3qrp1z8qikgcmb";
       type = "gem";
     };
-    version = "1.2.3";
+    version = "1.3.4";
   };
   pghero = {
     dependencies = ["activerecord"];
@@ -1843,20 +1920,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0abfdw301acfnq2h4zccwzd32i6mh9wp6qya2l0fsy0mmn14j405";
+      sha256 = "00rqwbbxiq7rsmfisfnqbgdswbwdm937f2wmj840j8wahsqmj2r8";
       type = "gem";
     };
-    version = "2.8.1";
+    version = "2.8.2";
   };
   pkg-config = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mjjy1grxr64znkffxsvprcckbrrnm40b6gbllnbm7jxslbr3gjl";
+      sha256 = "1rkxhps7fxzjhld68bpdaq8sss2k6fp14jz5kcqgrxp8x3yd15mk";
       type = "gem";
     };
-    version = "1.4.6";
+    version = "1.4.7";
   };
   posix-spawn = {
     groups = ["default"];
@@ -1949,10 +2026,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lmaq05a257m9588a81wql3a5p039f221f0dmq57bm2qjwxydjmj";
+      sha256 = "1np2myaxlk5iab1zarwgmp7zsjvm5j8ssg35ijv8b6dpvc3cjd56";
       type = "gem";
     };
-    version = "5.3.2";
+    version = "5.6.2";
   };
   pundit = {
     dependencies = ["activesupport"];
@@ -1960,30 +2037,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18kwm5rkazb89yf792y3fxqihcxw2vdy7k1w542s4hg82ibfpyx3";
+      sha256 = "17z2f7w3syh3c04c8m1v9pvb9pfpymk8b5plszr5l24hx374xvsd";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "2.2.0";
   };
   raabro = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1idqvx5cpmyj1a5nwb1b19szx4lilyr6qpp6drkn744mzq2hppgr";
+      sha256 = "10m8bln9d00dwzjil1k42i5r7l82x25ysbi45fwyv4932zsrzynl";
       type = "gem";
     };
-    version = "1.3.3";
+    version = "1.4.0";
   };
   racc = {
     groups = ["default" "development" "pam_authentication" "production" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "178k7r0xn689spviqzhvazzvxfq6fyjldxb3ywjbgipbfi4s8j1g";
+      sha256 = "0la56m0z26j3mfn1a9lf2l03qx1xifanndf9p3vx1azf6sqy7v9d";
       type = "gem";
     };
-    version = "1.5.2";
+    version = "1.6.0";
   };
   rack = {
     groups = ["default" "development" "pam_authentication" "production" "test"];
@@ -2001,10 +2078,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kiixzpazjqgljjy1ngfz1by5vz6kjx0d4mf1fq7b3ywpfjf80lq";
+      sha256 = "1rc6simyql7ax5zzp667x6krl0xxxh3asc1av6gcn8j6cyl86wsx";
       type = "gem";
     };
-    version = "6.5.0";
+    version = "6.6.0";
   };
   rack-cors = {
     dependencies = ["rack"];
@@ -2017,16 +2094,27 @@
     };
     version = "1.1.1";
   };
+  rack-oauth2 = {
+    dependencies = ["activesupport" "attr_required" "httpclient" "json-jwt" "rack"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1b0h0rlfl0p0drymwfc71g87fp66ck3205pl32z89xsgh0lzw25k";
+      type = "gem";
+    };
+    version = "1.16.0";
+  };
   rack-proxy = {
     dependencies = ["rack"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v40xd3xhzhbdqfynd03gn88j1pga2zhrv58xs9fl4hzrlbp096s";
+      sha256 = "0jdr2r5phr3q7d6k9cnxjwlkaps0my0n43wq9mzw3xdqhg9wa3d6";
       type = "gem";
     };
-    version = "0.6.5";
+    version = "0.7.0";
   };
   rack-test = {
     dependencies = ["rack"];
@@ -2045,10 +2133,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0flnpli87b9j0zvb3c4l5addjbznbpkbmp1wzfjc1gh8qxlhcs1n";
+      sha256 = "1yr66s65nfw5yclf1x0ziy80gzhp9vqvyy0yzl0npmx25h4aizdv";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.5";
   };
   rails-controller-testing = {
     dependencies = ["actionpack" "actionview" "activesupport"];
@@ -2078,10 +2166,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1icpqmxbppl4ynzmn6dx7wdil5hhq6fz707m9ya6d86c7ys8sd4f";
+      sha256 = "09qrfi3pgllxb08r024lln9k0qzxs57v0slsj8616xf9c0cwnwbk";
       type = "gem";
     };
-    version = "1.3.0";
+    version = "1.4.2";
   };
   rails-i18n = {
     dependencies = ["i18n" "railties"];
@@ -2111,41 +2199,41 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17r1pr8d467vh3zkciw4wmrcixj9zjrvd11nxn2z091bkzf66xq2";
+      sha256 = "1fdqhv8qhk2dspkrr9f5dj3806g52cb0l1chh2hx8v81y218cl93";
       type = "gem";
     };
-    version = "6.1.3.2";
+    version = "6.1.5";
   };
   rainbow = {
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bb2fpjspydr6x0s8pn1pqkzmxszvkfapv0p4627mywl7ky4zkhk";
+      sha256 = "0smwg4mii0fm38pyb5fddbmrdpifwv22zv3d3px2xx497am93503";
       type = "gem";
     };
-    version = "3.0.0";
+    version = "3.1.1";
   };
   rake = {
     groups = ["default" "development" "pam_authentication" "production" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1iik52mf9ky4cgs38fp2m8r6skdkq1yz23vh18lk95fhbcxb6a67";
+      sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w";
       type = "gem";
     };
-    version = "13.0.3";
+    version = "13.0.6";
   };
   rdf = {
-    dependencies = ["hamster" "link_header"];
+    dependencies = ["link_header"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mn0q6a8cx32kz01pd8byhyhghi30dc6rbazislp2fw3wphvx553";
+      sha256 = "15bb075k614pjiw4np29y1z2xl8qx9qgdi9rpaqa1hxcmbqaxkk5";
       type = "gem";
     };
-    version = "3.1.13";
+    version = "3.2.3";
   };
   rdf-normalize = {
     dependencies = ["rdf"];
@@ -2153,20 +2241,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kfhh5n57im80i1ak00qz9f5hx8k10ldn0r5l1gw1qaa1lydmydg";
+      sha256 = "0ysa8v2xw0ln4kdwhkg6mh71v5wbancsz5cf945kbk47m1ybn271";
       type = "gem";
     };
-    version = "0.4.0";
+    version = "0.5.0";
   };
   redis = {
     groups = ["default" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15x2sr6h094rjbvg8pkq6m3lcd5abpyx93aifvfdz3wv6x55xa48";
+      sha256 = "03r9739q3vq38g456snf3rk9hadf955bs5im6qs6m69h19mrz2yw";
       type = "gem";
     };
-    version = "4.2.5";
+    version = "4.5.1";
   };
   redis-namespace = {
     dependencies = ["redis"];
@@ -2174,20 +2262,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k65fr7f8ciq7d9nwc5ziw1d32zsxilgmqdlj3359rz5jgb0f5y8";
+      sha256 = "0ndj4lcm8rw01078zr0249grsk93zbda8qsibdvlx69b5ijg1rzf";
       type = "gem";
     };
-    version = "1.8.1";
+    version = "1.8.2";
   };
   regexp_parser = {
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vg7imjnfcqjx7kw94ccj5r78j4g190cqzi1i59sh4a0l940b9cr";
+      sha256 = "155f6cr4rrfw5bs5xd3m5kfw32qhc5fsi4nk82rhif56rc6cs0wm";
       type = "gem";
     };
-    version = "2.1.1";
+    version = "2.2.1";
   };
   request_store = {
     dependencies = ["rack"];
@@ -2200,16 +2288,6 @@
     };
     version = "1.5.0";
   };
-  resolv = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1a23805sa3ip589id3npq39wyzgqz2qzx0dcsa1z91rxfax7fllz";
-      type = "gem";
-    };
-    version = "0.1.0";
-  };
   responders = {
     dependencies = ["actionpack" "railties"];
     groups = ["default" "pam_authentication"];
@@ -2257,20 +2335,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "073w0qgjydkqpsqsb9yr8qg0mhvwlzx6z53hqr2b5zifvb9wzh02";
+      sha256 = "10sq4aknch9rzpy8af77rqxk8rr59d33slg1kwg9h7fw9f1spmjn";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "2.1.1";
   };
   rqrcode_core = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1djrfpzdy19c336nlzxdsm9qkrgqnm1himdawflsjsmxpq4j826c";
+      sha256 = "06ld6386hbdhy5h0k09axmgn424kavpc8f27k1vjhknjhbf8jjfg";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "1.2.0";
   };
   rspec-core = {
     dependencies = ["rspec-support"];
@@ -2278,10 +2356,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wwnfhxxvrlxlk1a3yxlb82k2f9lm0yn0598x7lk8fksaz4vv6mc";
+      sha256 = "118hkfw9b11hvvalr7qlylwal5h8dihagm9xg7k4gskg7587hca6";
       type = "gem";
     };
-    version = "3.10.1";
+    version = "3.11.0";
   };
   rspec-expectations = {
     dependencies = ["diff-lcs" "rspec-support"];
@@ -2289,10 +2367,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1sz9bj4ri28adsklnh257pnbq4r5ayziw02qf67wry0kvzazbb17";
+      sha256 = "001ihayil7jpfxdlxlhakvz02kx0nk5m1w0bz6z8izdx0nc8bh53";
       type = "gem";
     };
-    version = "3.10.1";
+    version = "3.11.0";
   };
   rspec-mocks = {
     dependencies = ["diff-lcs" "rspec-support"];
@@ -2300,10 +2378,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1d13g6kipqqc9lmwz5b244pdwc97z15vcbnbq6n9rlf32bipdz4k";
+      sha256 = "0y38dc66yhnfcf4ky3k47c20xak1rax940s4a96qkjxqrniy5ys3";
       type = "gem";
     };
-    version = "3.10.2";
+    version = "3.11.0";
   };
   rspec-rails = {
     dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"];
@@ -2311,10 +2389,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pj2a9vrkp2xzlq0810q90sdc2zcqc7k92n57hxzhri2vcspy7n6";
+      sha256 = "0jj5zs9h2ll8iz699ac4bysih7y4csnf8h5h80bm6ppbf02ly8fa";
       type = "gem";
     };
-    version = "5.0.1";
+    version = "5.1.1";
   };
   rspec-sidekiq = {
     dependencies = ["rspec-core" "sidekiq"];
@@ -2332,10 +2410,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15j52parvb8cgvl6s0pbxi2ywxrv6x0764g222kz5flz0s4mycbl";
+      sha256 = "0xfk4pla77251n39zf4n792m1rhg5sn1kp63yvpvvysany34la03";
       type = "gem";
     };
-    version = "3.10.2";
+    version = "3.11.0";
   };
   rspec_junit_formatter = {
     dependencies = ["rspec-core"];
@@ -2343,10 +2421,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1aynmrgnv26pkprrajvp7advb8nbh0x4pkwk6jwq8qmwzarzk21p";
+      sha256 = "1jqh5v1kjisncfzf9z0hghkaiqab086rcgy21cy3djg828sm1bxk";
       type = "gem";
     };
-    version = "0.4.1";
+    version = "0.5.1";
   };
   rubocop = {
     dependencies = ["parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
@@ -2354,10 +2432,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xhay8qn3p5f3g6x8i6zh372zk5w2wjrv9dksysxal1r5brkly1w";
+      sha256 = "06105yrqajpm5l07fng1nbk55y9490hny542zclnan8hg841pjgl";
       type = "gem";
     };
-    version = "1.15.0";
+    version = "1.26.1";
   };
   rubocop-ast = {
     dependencies = ["parser"];
@@ -2365,10 +2443,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hx4im1a2qpiwipvsl3fma358ixjp4h0mhj56ichq15xrq709qlf";
+      sha256 = "1bd2z82ly7fix8415gvfiwzb6bjialz5rs3sr72kv1lk68rd23wv";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "1.16.0";
   };
   rubocop-rails = {
     dependencies = ["activesupport" "rack" "rubocop"];
@@ -2376,10 +2454,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1h8k2i6qgl7pdvb8bnh1w43zqdxqg3kglyxy9b2vdh2w7q5rrl5y";
+      sha256 = "14xagb3jbms5mlcf932kx1djn2q4k952d4xia75ll36vh7xf2fpp";
       type = "gem";
     };
-    version = "2.10.1";
+    version = "2.14.2";
   };
   ruby-progressbar = {
     groups = ["default" "development" "test"];
@@ -2407,10 +2485,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15wfcqxyfgka05v2a7kpg64x57gl1y4xzvnc9lh60bqx5sf1iqrs";
+      sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz";
       type = "gem";
     };
-    version = "0.0.4";
+    version = "0.0.5";
   };
   rufus-scheduler = {
     dependencies = ["fugit"];
@@ -2418,10 +2496,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bcr8y9nq0anw0gkkpl0zvzgzhhsamw2swp9jwwffd33n8fxg76c";
+      sha256 = "1jvxcvsqhalndc1wh7zfdqfg78j5sx57vrgsh54pjsm1d73q79hc";
       type = "gem";
     };
-    version = "3.6.0";
+    version = "3.8.1";
   };
   safety_net_attestation = {
     dependencies = ["jwt"];
@@ -2435,15 +2513,15 @@
     version = "0.4.0";
   };
   sanitize = {
-    dependencies = ["crass" "nokogiri" "nokogumbo"];
+    dependencies = ["crass" "nokogiri"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xi2c9vbfjs0gk4i9y4mrlb3xx6g5lj22hlg5cx6hyc88ri7j4bc";
+      sha256 = "1zq8pxmsd1abw18zz6mazsm2jfpwmbgdxbpawb7bmwvkb2c5yyc1";
       type = "gem";
     };
-    version = "5.2.3";
+    version = "6.0.0";
   };
   scenic = {
     dependencies = ["activerecord" "railties"];
@@ -2451,10 +2529,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11inxsg0qd6kdj8cdwbh7syvr9wzv93jpp5nhlhjwp4v9ngrm9xk";
+      sha256 = "0cl14f5lfidbvcx52q49xnxc4dccyrzyv38qjkda8dh07zsksw85";
       type = "gem";
     };
-    version = "1.5.4";
+    version = "1.6.0";
   };
   securecompare = {
     groups = ["default"];
@@ -2482,10 +2560,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ac57q6lnqg9h9lsj49wlwhgsfqfr83lgka1c1srk6g8vghhz662";
+      sha256 = "0fq3nxpj1c9s2bi056p9cldb7zy45bgdkjq8721zypw1pkvllb7f";
       type = "gem";
     };
-    version = "6.2.1";
+    version = "6.4.1";
   };
   sidekiq-bulk = {
     dependencies = ["sidekiq"];
@@ -2504,10 +2582,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ycwmpf17mdd762l5q9w01b4ms5fqrr6hb7s4ndi3nwz8pcngw91";
+      sha256 = "13pc206l9w1wklrgkcafbp332cf8ikl4wfks6ikhk9lvd6hi22sx";
       type = "gem";
     };
-    version = "3.0.1";
+    version = "3.1.1";
   };
   sidekiq-unique-jobs = {
     dependencies = ["brpoplpush-redis_script" "concurrent-ruby" "sidekiq" "thor"];
@@ -2515,10 +2593,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m8l8mwvbf6cdd7jqy0l6cg2zxi1qs8ya78jail8pvi4ay7hglm1";
+      sha256 = "1fgk2a66yn7v2011j8zk2z9mwgzmb52gjrkd5wb5xbpxwm8qfjqy";
       type = "gem";
     };
-    version = "7.0.11";
+    version = "7.1.15";
   };
   simple-navigation = {
     dependencies = ["activesupport"];
@@ -2590,10 +2668,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mwmz36265646xqfyczgr1mhkm1hfxgxxvgdgr4xfcbf2g72p1k2";
+      sha256 = "1b9i14qb27zs56hlcc2hf139l0ghbqnjpmfi0054dxycaxvk5min";
       type = "gem";
     };
-    version = "3.2.2";
+    version = "3.4.2";
   };
   sshkit = {
     dependencies = ["net-scp" "net-ssh"];
@@ -2611,10 +2689,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06lz70k8c0r7fyxk1nc3idh14x7nvsr21ydm1bsmbj00jyhmfzsn";
+      sha256 = "19rnk17rz0lhf7l9awy0s7xxyw91ydcqxlx0576xvwyi79jh6a2m";
       type = "gem";
     };
-    version = "0.2.17";
+    version = "0.2.19";
   };
   statsd-ruby = {
     groups = ["default"];
@@ -2642,10 +2720,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dv55gbazp96w27yhvikm2xa6ny51q88aim2by11crc0jwr5agvk";
+      sha256 = "0yk45ri2rnp00x4mdsvwdzdd9yziqxj5v9sjk74nzw0y927y3m1w";
       type = "gem";
     };
-    version = "0.7.6";
+    version = "0.7.9";
+  };
+  swd = {
+    dependencies = ["activesupport" "attr_required" "httpclient"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0c5cdpykx2h4jx8q01hjhv8f0plw5r9iqm2i1m0ijiyk7dqm824w";
+      type = "gem";
+    };
+    version = "1.2.0";
   };
   temple = {
     groups = ["default"];
@@ -2663,10 +2752,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dlaadjnx8aw8lhr0z8jpy2gyi7az3mks6f49d3fllilhps9ayi8";
+      sha256 = "14dfmfjppmng5hwj7c5ka6qdapawm3h6k9lhn8zj001ybypvclgr";
       type = "gem";
     };
-    version = "3.0.0";
+    version = "3.0.2";
   };
   terrapin = {
     dependencies = ["climate_control"];
@@ -2684,10 +2773,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18yhlvmfya23cs3pvhr1qy38y41b6mhr5q9vwv5lrgk16wmf3jna";
+      sha256 = "0inl77jh4ia03jw3iqm5ipr76ghal3hyjrd6r8zqsswwvi9j2xdi";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.2.1";
   };
   thwait = {
     dependencies = ["e2mmap"];
@@ -2710,16 +2799,6 @@
     };
     version = "2.0.10";
   };
-  time = {
-    groups = ["default" "development" "pam_authentication" "production" "test"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1ayfwm8b0c6n0z34vwfpmy83lf1gd0mq7jbybzarkqp2ylmdlzvy";
-      type = "gem";
-    };
-    version = "0.1.0";
-  };
   tpm-key_attestation = {
     dependencies = ["bindata" "openssl-signature_algorithm"];
     groups = ["default"];
@@ -2811,10 +2890,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ik16lnsyr2739jzwl4r5sz8q639lqw8f9s68iszwhm2pcq8p4w2";
+      sha256 = "0yvfyxz70r45j65763fzy0p5j8cxlhnpn1n5lcxj4is7hp8v5i23";
       type = "gem";
     };
-    version = "1.2021.1";
+    version = "1.2022.1";
   };
   unf = {
     dependencies = ["unf_ext"];
@@ -2832,30 +2911,52 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wc47r23h063l8ysws8sy24gzh74mks81cak3lkzlrw4qkqb3sg4";
+      sha256 = "0jmbimpnpjdzz8hlrppgl9spm99qh3qzbx0b81k3gkgwba8nk3yd";
       type = "gem";
     };
-    version = "0.0.7.7";
+    version = "0.0.8";
   };
   unicode-display_width = {
     groups = ["default" "development" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna";
+      sha256 = "0csjm9shhfik0ci9mgimb7hf3xgh7nx45rkd9rzgdz6vkwr8rzxn";
       type = "gem";
     };
-    version = "1.7.0";
+    version = "2.1.0";
   };
   uniform_notifier = {
     groups = ["default" "development"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05f81da1x7jh9xfsn8gsw6cfn42l0ldpg7zckrv875h4swknyffy";
+      sha256 = "1614dqnky0f9f1znj0lih8i184vfps86md93dw0kxrg3af9gnqb4";
       type = "gem";
     };
-    version = "1.14.1";
+    version = "1.14.2";
+  };
+  validate_email = {
+    dependencies = ["activemodel" "mail"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1r1fz29l699arka177c9xw7409d1a3ff95bf7a6pmc97slb91zlx";
+      type = "gem";
+    };
+    version = "0.1.6";
+  };
+  validate_url = {
+    dependencies = ["activemodel" "public_suffix"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1bwj34rz7961rrl545f006m2jdz1nrc0m72gfqmnb41xwsvpagbk";
+      type = "gem";
+    };
+    version = "1.0.13";
   };
   warden = {
     dependencies = ["rack"];
@@ -2879,16 +2980,27 @@
     };
     version = "3.0.0.alpha1";
   };
+  webfinger = {
+    dependencies = ["activesupport" "httpclient"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0m0jh8k7c0ifh2jhbn7ihqrmn5fi754wflva97zgy70hpdvxyjar";
+      type = "gem";
+    };
+    version = "1.1.0";
+  };
   webmock = {
     dependencies = ["addressable" "crack" "hashdiff"];
     groups = ["test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zd5aid4ya47xlfsaf1mlf83vkyljpnsvgwqhchf0cs7353kdss9";
+      sha256 = "1l8vh8p0g92cqcvv0ra3mblsa4nczh0rz8nbwbkc3g3yzbva85xk";
       type = "gem";
     };
-    version = "3.13.0";
+    version = "3.14.0";
   };
   webpacker = {
     dependencies = ["activesupport" "rack-proxy" "railties" "semantic_range"];
@@ -2896,10 +3008,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bs6m6annfb2pazb5wb2l3lbnkaa4438ixldnamlx9hg7z3j646h";
+      sha256 = "1cq6m5qwm3bmi7hkjfmbg2cs4qjq4wswlrwcfk8l1svfqbi135v3";
       type = "gem";
     };
-    version = "5.4.0";
+    version = "5.4.3";
   };
   webpush = {
     dependencies = ["hkdf" "jwt"];
@@ -2918,10 +3030,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i3rs4kcj0jba8idxla3s6xd1xfln3k8b4cb1dik2lda3ifnp3dh";
+      sha256 = "0a3bwxd9v3ghrxzjc4vxmf4xa18c6m4xqy5wb0yk5c6b9psc7052";
       type = "gem";
     };
-    version = "0.7.3";
+    version = "0.7.5";
   };
   websocket-extensions = {
     groups = ["default"];
@@ -2969,10 +3081,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1746czsjarixq0x05f7p3hpzi38ldg6wxnxxw74kbjzh1sdjgmpl";
+      sha256 = "09bq7j2p6mkbxnsg71s253dm2463kg51xc7bmjcxgyblqbh4ln7m";
       type = "gem";
     };
-    version = "2.4.2";
+    version = "2.5.4";
   };
 }
 
diff --git a/pkgs/servers/mastodon/source.nix b/pkgs/servers/mastodon/source.nix
index 3493962e6bd91..5581742ebe1ec 100644
--- a/pkgs/servers/mastodon/source.nix
+++ b/pkgs/servers/mastodon/source.nix
@@ -1,11 +1,11 @@
 # This file was generated by pkgs.mastodon.updateScript.
 { fetchgit, applyPatches }: let
   src = fetchgit {
-    url = "https://github.com/tootsuite/mastodon.git";
-    rev = "v3.4.6";
-    sha256 = "1lg25m6wsnb7iabbn1vpvn85csv6ywyvcm0ji6d8iq7wwgyq77xs";
+    url = "https://github.com/mastodon/mastodon.git";
+    rev = "v3.5.0";
+    sha256 = "1181zqz7928b6mnp4p502gy2rrwxyv5ysgfydx0n04y8wiq00g48";
   };
 in applyPatches {
   inherit src;
-  patches = [ ];
+  patches = [];
 }
diff --git a/pkgs/servers/mastodon/update.sh b/pkgs/servers/mastodon/update.sh
index 7d53845a8cba1..77071be6ea901 100755
--- a/pkgs/servers/mastodon/update.sh
+++ b/pkgs/servers/mastodon/update.sh
@@ -1,7 +1,7 @@
 #!/usr/bin/env bash
 set -e
 
-URL=https://github.com/tootsuite/mastodon.git
+URL=https://github.com/mastodon/mastodon.git
 
 POSITIONAL=()
 while [[ $# -gt 0 ]]; do
@@ -40,7 +40,7 @@ if [[ -z "$VERSION" || -n "$POSITIONAL" ]]; then
     echo "URL may be any path acceptable to 'git clone' and VERSION the"
     echo "semantic version number.  If VERSION is not a revision acceptable to"
     echo "'git checkout', you must provide one in REVISION.  If URL is not"
-    echo "provided, it defaults to https://github.com/tootsuite/mastodon.git."
+    echo "provided, it defaults to https://github.com/mastodon/mastodon.git."
     echo "PATCHES, if provided, should be one or more Nix expressions"
     echo "separated by spaces."
     exit 1
diff --git a/pkgs/servers/mastodon/version.nix b/pkgs/servers/mastodon/version.nix
index 77b242e89770a..90b75fe4fd168 100644
--- a/pkgs/servers/mastodon/version.nix
+++ b/pkgs/servers/mastodon/version.nix
@@ -1 +1 @@
-"3.4.6"
+"3.5.0"
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index cd762c7dc8bef..ffe76b25b1914 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.55.0";
+  version = "1.55.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-IfLyp6IexNTMrq795qUMAPQ62mrMPwFyLE1yL8cu0T0=";
+    sha256 = "sha256-MCdwatNo4cDAaq9a3UFwSLJzT1ZxhoYqPOu/a957D2Y=";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-packages.nix b/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-packages.nix
index af405451e58b4..92885cee8775d 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-packages.nix
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-packages.nix
@@ -4,121 +4,229 @@
 
 let
   sources = {
-    "@babel/code-frame-7.12.11" = {
-      name = "_at_babel_slash_code-frame";
-      packageName = "@babel/code-frame";
-      version = "7.12.11";
+    "@alloc/quick-lru-5.2.0" = {
+      name = "_at_alloc_slash_quick-lru";
+      packageName = "@alloc/quick-lru";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz";
+        sha512 = "UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==";
+      };
+    };
+    "@ampproject/remapping-2.1.2" = {
+      name = "_at_ampproject_slash_remapping";
+      packageName = "@ampproject/remapping";
+      version = "2.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz";
-        sha512 = "Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==";
+        url = "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz";
+        sha512 = "hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==";
       };
     };
-    "@babel/code-frame-7.12.13" = {
+    "@babel/code-frame-7.16.7" = {
       name = "_at_babel_slash_code-frame";
       packageName = "@babel/code-frame";
-      version = "7.12.13";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz";
+        sha512 = "iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==";
+      };
+    };
+    "@babel/compat-data-7.17.0" = {
+      name = "_at_babel_slash_compat-data";
+      packageName = "@babel/compat-data";
+      version = "7.17.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.0.tgz";
+        sha512 = "392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==";
+      };
+    };
+    "@babel/core-7.17.4" = {
+      name = "_at_babel_slash_core";
+      packageName = "@babel/core";
+      version = "7.17.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz";
-        sha512 = "HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==";
+        url = "https://registry.npmjs.org/@babel/core/-/core-7.17.4.tgz";
+        sha512 = "R9x5r4t4+hBqZTmioSnkrW+I6NmbojwjGT8p4G2Gw1thWbXIHGDnmGdLdFw0/7ljucdIrNRp7Npgb4CyBYzzJg==";
       };
     };
-    "@babel/generator-7.14.3" = {
+    "@babel/generator-7.17.3" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
-      version = "7.14.3";
+      version = "7.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.14.3.tgz";
-        sha512 = "bn0S6flG/j0xtQdz3hsjJ624h3W0r3llttBMfyHX3YrZ/KtLYr15bjA0FXkgW7FpvrDuTuElXeVjiKlYRpnOFA==";
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz";
+        sha512 = "+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==";
       };
     };
-    "@babel/helper-function-name-7.14.2" = {
+    "@babel/helper-compilation-targets-7.16.7" = {
+      name = "_at_babel_slash_helper-compilation-targets";
+      packageName = "@babel/helper-compilation-targets";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz";
+        sha512 = "mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==";
+      };
+    };
+    "@babel/helper-environment-visitor-7.16.7" = {
+      name = "_at_babel_slash_helper-environment-visitor";
+      packageName = "@babel/helper-environment-visitor";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz";
+        sha512 = "SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==";
+      };
+    };
+    "@babel/helper-function-name-7.16.7" = {
       name = "_at_babel_slash_helper-function-name";
       packageName = "@babel/helper-function-name";
-      version = "7.14.2";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.2.tgz";
-        sha512 = "NYZlkZRydxw+YT56IlhIcS8PAhb+FEUiOzuhFTfqDyPmzAhRge6ua0dQYT/Uh0t/EDHq05/i+e5M2d4XvjgarQ==";
+        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz";
+        sha512 = "QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==";
       };
     };
-    "@babel/helper-get-function-arity-7.12.13" = {
+    "@babel/helper-get-function-arity-7.16.7" = {
       name = "_at_babel_slash_helper-get-function-arity";
       packageName = "@babel/helper-get-function-arity";
-      version = "7.12.13";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz";
+        sha512 = "flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==";
+      };
+    };
+    "@babel/helper-hoist-variables-7.16.7" = {
+      name = "_at_babel_slash_helper-hoist-variables";
+      packageName = "@babel/helper-hoist-variables";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz";
+        sha512 = "m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==";
+      };
+    };
+    "@babel/helper-module-imports-7.16.7" = {
+      name = "_at_babel_slash_helper-module-imports";
+      packageName = "@babel/helper-module-imports";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz";
+        sha512 = "LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==";
+      };
+    };
+    "@babel/helper-module-transforms-7.16.7" = {
+      name = "_at_babel_slash_helper-module-transforms";
+      packageName = "@babel/helper-module-transforms";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz";
-        sha512 = "DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==";
+        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz";
+        sha512 = "gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==";
       };
     };
-    "@babel/helper-split-export-declaration-7.12.13" = {
+    "@babel/helper-simple-access-7.16.7" = {
+      name = "_at_babel_slash_helper-simple-access";
+      packageName = "@babel/helper-simple-access";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz";
+        sha512 = "ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==";
+      };
+    };
+    "@babel/helper-split-export-declaration-7.16.7" = {
       name = "_at_babel_slash_helper-split-export-declaration";
       packageName = "@babel/helper-split-export-declaration";
-      version = "7.12.13";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz";
-        sha512 = "tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==";
+        url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz";
+        sha512 = "xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==";
       };
     };
-    "@babel/helper-validator-identifier-7.14.0" = {
+    "@babel/helper-validator-identifier-7.16.7" = {
       name = "_at_babel_slash_helper-validator-identifier";
       packageName = "@babel/helper-validator-identifier";
-      version = "7.14.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz";
-        sha512 = "V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==";
+        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz";
+        sha512 = "hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==";
       };
     };
-    "@babel/highlight-7.14.0" = {
+    "@babel/helper-validator-option-7.16.7" = {
+      name = "_at_babel_slash_helper-validator-option";
+      packageName = "@babel/helper-validator-option";
+      version = "7.16.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz";
+        sha512 = "TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==";
+      };
+    };
+    "@babel/helpers-7.17.2" = {
+      name = "_at_babel_slash_helpers";
+      packageName = "@babel/helpers";
+      version = "7.17.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.2.tgz";
+        sha512 = "0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ==";
+      };
+    };
+    "@babel/highlight-7.16.10" = {
       name = "_at_babel_slash_highlight";
       packageName = "@babel/highlight";
-      version = "7.14.0";
+      version = "7.16.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz";
-        sha512 = "YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==";
+        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz";
+        sha512 = "5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==";
       };
     };
-    "@babel/parser-7.14.3" = {
+    "@babel/parser-7.17.3" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.14.3";
+      version = "7.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.14.3.tgz";
-        sha512 = "7MpZDIfI7sUC5zWo2+foJ50CSI5lcqDehZ0lVgIhSi4bFEk94fLAKlF3Q0nzSQQ+ca0lm+O6G9ztKVBeu8PMRQ==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz";
+        sha512 = "7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==";
       };
     };
-    "@babel/runtime-7.14.0" = {
+    "@babel/runtime-7.17.2" = {
       name = "_at_babel_slash_runtime";
       packageName = "@babel/runtime";
-      version = "7.14.0";
+      version = "7.17.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.0.tgz";
-        sha512 = "JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==";
+        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.2.tgz";
+        sha512 = "hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw==";
       };
     };
-    "@babel/template-7.12.13" = {
+    "@babel/template-7.16.7" = {
       name = "_at_babel_slash_template";
       packageName = "@babel/template";
-      version = "7.12.13";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz";
-        sha512 = "/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==";
+        url = "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz";
+        sha512 = "I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==";
       };
     };
-    "@babel/traverse-7.14.2" = {
+    "@babel/traverse-7.17.3" = {
       name = "_at_babel_slash_traverse";
       packageName = "@babel/traverse";
-      version = "7.14.2";
+      version = "7.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.2.tgz";
-        sha512 = "TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA==";
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz";
+        sha512 = "5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==";
       };
     };
-    "@babel/types-7.14.2" = {
+    "@babel/types-7.17.0" = {
       name = "_at_babel_slash_types";
       packageName = "@babel/types";
-      version = "7.14.2";
+      version = "7.17.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz";
+        sha512 = "TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==";
+      };
+    };
+    "@colors/colors-1.5.0" = {
+      name = "_at_colors_slash_colors";
+      packageName = "@colors/colors";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.14.2.tgz";
-        sha512 = "SdjAG/3DikRHpUOjxZgnkbR11xUlyDMUFJdvnIgZEE16mqmY0BINMmc4//JMJglEmn6i7sq6p+mGrFWyZ98EEw==";
+        url = "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz";
+        sha512 = "ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==";
       };
     };
     "@dabh/diagnostics-2.0.2" = {
@@ -130,13 +238,76 @@ let
         sha512 = "+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==";
       };
     };
-    "@eslint/eslintrc-0.4.1" = {
+    "@eslint/eslintrc-1.1.0" = {
       name = "_at_eslint_slash_eslintrc";
       packageName = "@eslint/eslintrc";
-      version = "0.4.1";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.1.0.tgz";
+        sha512 = "C1DfL7XX4nPqGd6jcP01W9pVM1HYCuUkFk1432D7F0v3JSlUIeOYn9oCoi3eoLZ+iwBSb29BMFxxny0YrrEZqg==";
+      };
+    };
+    "@humanwhocodes/config-array-0.9.3" = {
+      name = "_at_humanwhocodes_slash_config-array";
+      packageName = "@humanwhocodes/config-array";
+      version = "0.9.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.1.tgz";
-        sha512 = "5v7TDE9plVhvxQeWLXDTvFvJBdH6pEsdnl2g/dAptmuFEPedQ4Erq5rsDsX+mvAM610IhNaO2W5V1dOOnDKxkQ==";
+        url = "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.3.tgz";
+        sha512 = "3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ==";
+      };
+    };
+    "@humanwhocodes/object-schema-1.2.1" = {
+      name = "_at_humanwhocodes_slash_object-schema";
+      packageName = "@humanwhocodes/object-schema";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz";
+        sha512 = "ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==";
+      };
+    };
+    "@istanbuljs/load-nyc-config-1.1.0" = {
+      name = "_at_istanbuljs_slash_load-nyc-config";
+      packageName = "@istanbuljs/load-nyc-config";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz";
+        sha512 = "VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==";
+      };
+    };
+    "@istanbuljs/schema-0.1.3" = {
+      name = "_at_istanbuljs_slash_schema";
+      packageName = "@istanbuljs/schema";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz";
+        sha512 = "ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==";
+      };
+    };
+    "@jridgewell/resolve-uri-3.0.5" = {
+      name = "_at_jridgewell_slash_resolve-uri";
+      packageName = "@jridgewell/resolve-uri";
+      version = "3.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz";
+        sha512 = "VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==";
+      };
+    };
+    "@jridgewell/sourcemap-codec-1.4.11" = {
+      name = "_at_jridgewell_slash_sourcemap-codec";
+      packageName = "@jridgewell/sourcemap-codec";
+      version = "1.4.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz";
+        sha512 = "Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==";
+      };
+    };
+    "@jridgewell/trace-mapping-0.3.4" = {
+      name = "_at_jridgewell_slash_trace-mapping";
+      packageName = "@jridgewell/trace-mapping";
+      version = "0.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz";
+        sha512 = "vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==";
       };
     };
     "@matrix-org/olm-https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.4.tgz" = {
@@ -176,94 +347,85 @@ let
         sha512 = "oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==";
       };
     };
-    "@sentry/core-5.27.1" = {
+    "@sentry/core-6.17.9" = {
       name = "_at_sentry_slash_core";
       packageName = "@sentry/core";
-      version = "5.27.1";
+      version = "6.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/core/-/core-5.27.1.tgz";
-        sha512 = "n5CxzMbOAT6HZK4U4cOUAAikkRnnHhMNhInrjfZh7BoiuX1k63Hru2H5xk5WDuEaTTr5RaBA/fqPl7wxHySlwQ==";
+        url = "https://registry.npmjs.org/@sentry/core/-/core-6.17.9.tgz";
+        sha512 = "14KalmTholGUtgdh9TklO+jUpyQ/D3OGkhlH1rnGQGoJgFy2eYm+s+MnUEMxFdGIUCz5kOteuNqYZxaDmFagpQ==";
       };
     };
-    "@sentry/hub-5.27.1" = {
+    "@sentry/hub-6.17.9" = {
       name = "_at_sentry_slash_hub";
       packageName = "@sentry/hub";
-      version = "5.27.1";
+      version = "6.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/hub/-/hub-5.27.1.tgz";
-        sha512 = "RBHo3T92s6s4Ian1pZcPlmNtFqB+HAP6xitU+ZNA48bYUK+R1vvqEcI8Xs83FyNaRGCgclp9erDFQYyAuxY4vw==";
+        url = "https://registry.npmjs.org/@sentry/hub/-/hub-6.17.9.tgz";
+        sha512 = "34EdrweWDbBV9EzEFIXcO+JeoyQmKzQVJxpTKZoJA6PUwf2NrndaUdjlkDEtBEzjuLUTxhLxtOzEsYs1O6RVcg==";
       };
     };
-    "@sentry/minimal-5.27.1" = {
+    "@sentry/minimal-6.17.9" = {
       name = "_at_sentry_slash_minimal";
       packageName = "@sentry/minimal";
-      version = "5.27.1";
+      version = "6.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.27.1.tgz";
-        sha512 = "MHXCeJdA1NAvaJuippcM8nrWScul8iTN0Q5nnFkGctGIGmmiZHTXAYkObqJk7H3AK+CP7r1jqN2aQj5Nd9CtyA==";
+        url = "https://registry.npmjs.org/@sentry/minimal/-/minimal-6.17.9.tgz";
+        sha512 = "T3PMCHcKk6lkZq6zKgANrYJJxXBXKOe+ousV1Fas1rVBMv7dtKfsa4itqQHszcW9shusPDiaQKIJ4zRLE5LKmg==";
       };
     };
-    "@sentry/node-5.27.1" = {
+    "@sentry/node-6.17.9" = {
       name = "_at_sentry_slash_node";
       packageName = "@sentry/node";
-      version = "5.27.1";
+      version = "6.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/node/-/node-5.27.1.tgz";
-        sha512 = "OJCpUK6bbWlDCqiTZVP4ybQQDSly2EafbvvO7hoQ5ktr87WkRCgLpTNI7Doa5ANGuLNnVUvRNIsIH1DJqLZLNg==";
+        url = "https://registry.npmjs.org/@sentry/node/-/node-6.17.9.tgz";
+        sha512 = "jbn+q7qPGOh6D7nYoYGaAlmuvMDpQmyMwBtUVYybuZp2AALe43O3Z4LtoJ+1+F31XowpsIPZx1mwNs4ZrILskA==";
       };
     };
-    "@sentry/tracing-5.27.1" = {
+    "@sentry/tracing-6.17.9" = {
       name = "_at_sentry_slash_tracing";
       packageName = "@sentry/tracing";
-      version = "5.27.1";
+      version = "6.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/tracing/-/tracing-5.27.1.tgz";
-        sha512 = "GBmdR8Ky/nv4KOa6+DEnOSBkFOFhM+asR8Y/gw2qSUWCwzKuWHh9BEnDwxtSI8CMvgUwOIZ5wiiqJGc1unYfCw==";
+        url = "https://registry.npmjs.org/@sentry/tracing/-/tracing-6.17.9.tgz";
+        sha512 = "5Rb/OS4ryNJLvz2nv6wyjwhifjy6veqaF9ffLrwFYij/WDy7m62ASBblxgeiI3fbPLX0aBRFWIJAq1vko26+AQ==";
       };
     };
-    "@sentry/types-5.27.1" = {
+    "@sentry/types-6.17.9" = {
       name = "_at_sentry_slash_types";
       packageName = "@sentry/types";
-      version = "5.27.1";
+      version = "6.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/types/-/types-5.27.1.tgz";
-        sha512 = "g1aX0V0fz5BTo0mjgSVY9XmPLGZ6p+8OEzq3ubKzDUf59VHl+Vt8viZ8VXw/vsNtfAjBHn7BzSuzJo7cXJJBtA==";
+        url = "https://registry.npmjs.org/@sentry/types/-/types-6.17.9.tgz";
+        sha512 = "xuulX6qUCL14ayEOh/h6FUIvZtsi1Bx34dSOaWDrjXUOJHJAM7214uiqW1GZxPJ13YuaUIubjTSfDmSQ9CBzTw==";
       };
     };
-    "@sentry/utils-5.27.1" = {
+    "@sentry/utils-6.17.9" = {
       name = "_at_sentry_slash_utils";
       packageName = "@sentry/utils";
-      version = "5.27.1";
+      version = "6.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/utils/-/utils-5.27.1.tgz";
-        sha512 = "VIzK8utuvFO9EogZcKJPgmLnlJtYbaPQ0jCw7od9HRw1ckrSBc84sA0uuuY6pB6KSM+7k6EjJ5IdIBaCz5ep/A==";
+        url = "https://registry.npmjs.org/@sentry/utils/-/utils-6.17.9.tgz";
+        sha512 = "4eo9Z3JlJCGlGrQRbtZWL+L9NnlUXgTbfK3Lk7oO8D1ev8R5b5+iE6tZHTvU5rQRcq6zu+POT+tK5u9oxc/rnQ==";
       };
     };
-    "@sindresorhus/is-0.14.0" = {
-      name = "_at_sindresorhus_slash_is";
-      packageName = "@sindresorhus/is";
-      version = "0.14.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz";
-        sha512 = "9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==";
-      };
-    };
-    "@szmarczak/http-timer-1.1.2" = {
-      name = "_at_szmarczak_slash_http-timer";
-      packageName = "@szmarczak/http-timer";
-      version = "1.1.2";
+    "@tsconfig/node14-1.0.1" = {
+      name = "_at_tsconfig_slash_node14";
+      packageName = "@tsconfig/node14";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz";
-        sha512 = "XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==";
+        url = "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz";
+        sha512 = "509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==";
       };
     };
-    "@types/bluebird-3.5.32" = {
+    "@types/bluebird-3.5.36" = {
       name = "_at_types_slash_bluebird";
       packageName = "@types/bluebird";
-      version = "3.5.32";
+      version = "3.5.36";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.32.tgz";
-        sha512 = "dIOxFfI0C+jz89g6lQ+TqhGgPQ0MxSnh/E4xuC0blhFtyW269+mPG5QeLgbdwst/LvdP8o1y0o/Gz5EHXLec/g==";
+        url = "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.36.tgz";
+        sha512 = "HBNx4lhkxN7bx6P0++W8E289foSu8kO8GCk2unhuVggO+cE7rh9DhZUyPhUxNRG9m+5B5BTKxZQ5ZP92x/mx9Q==";
       };
     };
     "@types/body-parser-1.19.0" = {
@@ -284,22 +446,13 @@ let
         sha512 = "ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==";
       };
     };
-    "@types/diff-5.0.1" = {
+    "@types/diff-5.0.2" = {
       name = "_at_types_slash_diff";
       packageName = "@types/diff";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/diff/-/diff-5.0.1.tgz";
-        sha512 = "XIpxU6Qdvp1ZE6Kr3yrkv1qgUab0fyf4mHYvW8N3Bx3PCsbN6or1q9/q72cv5jIFWolaGH08U9XyYoLLIykyKQ==";
-      };
-    };
-    "@types/express-4.17.11" = {
-      name = "_at_types_slash_express";
-      packageName = "@types/express";
-      version = "4.17.11";
+      version = "5.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz";
-        sha512 = "no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==";
+        url = "https://registry.npmjs.org/@types/diff/-/diff-5.0.2.tgz";
+        sha512 = "uw8eYMIReOwstQ0QKF0sICefSy8cNO/v7gOTiIy9SbwuHyEecJUm7qlgueOO5S1udZ5I/irVydHVwMchgzbKTg==";
       };
     };
     "@types/express-4.17.13" = {
@@ -311,13 +464,13 @@ let
         sha512 = "6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==";
       };
     };
-    "@types/express-serve-static-core-4.17.19" = {
+    "@types/express-serve-static-core-4.17.28" = {
       name = "_at_types_slash_express-serve-static-core";
       packageName = "@types/express-serve-static-core";
-      version = "4.17.19";
+      version = "4.17.28";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.19.tgz";
-        sha512 = "DJOSHzX7pCiSElWaGR8kCprwibCB/3yW6vcT8VG3P0SJjnv19gnWG/AZMfM60Xj/YJIp/YCaDHyvzsFVeniARA==";
+        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz";
+        sha512 = "P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==";
       };
     };
     "@types/extend-3.0.1" = {
@@ -329,13 +482,13 @@ let
         sha512 = "R1g/VyKFFI2HLC1QGAeTtCBWCo6n75l41OnsVYNbmKG+kempOESaodf6BeJyUM3Q0rKa/NQcTHbB2+66lNnxLw==";
       };
     };
-    "@types/he-1.1.1" = {
+    "@types/he-1.1.2" = {
       name = "_at_types_slash_he";
       packageName = "@types/he";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/he/-/he-1.1.1.tgz";
-        sha512 = "jpzrsR1ns0n3kyWt92QfOUQhIuJGQ9+QGa7M62rO6toe98woQjnsnzjdMtsQXCdvjjmqjS2ZBCC7xKw0cdzU+Q==";
+        url = "https://registry.npmjs.org/@types/he/-/he-1.1.2.tgz";
+        sha512 = "kSJPcLO1x+oolc0R89pUl2kozldQ/fVQ1C1p5mp8fPoLdF/ZcBvckaTC2M8xXh3GYendXvCpy5m/a2eSbfgNgw==";
       };
     };
     "@types/json-schema-7.0.9" = {
@@ -356,13 +509,13 @@ let
         sha512 = "YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==";
       };
     };
-    "@types/nedb-1.8.11" = {
+    "@types/nedb-1.8.12" = {
       name = "_at_types_slash_nedb";
       packageName = "@types/nedb";
-      version = "1.8.11";
+      version = "1.8.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/nedb/-/nedb-1.8.11.tgz";
-        sha512 = "qHQRLZ0e6l/XK/2Qb2v5N1ujmdttYkUvnRI4nPIifMy6vYwoAnER10xhX13isWjjQtNsrjNLinZgDDguzPmEKw==";
+        url = "https://registry.npmjs.org/@types/nedb/-/nedb-1.8.12.tgz";
+        sha512 = "ICDoQMORMjOSqfNFXT4ENXfwwCir1BPblXNm0SPH7C4Q10ou+pvVagcFAJ+rrzf3A47tGU4K/KbzKu7wO9j45Q==";
       };
     };
     "@types/node-14.17.19" = {
@@ -383,13 +536,13 @@ let
         sha1 = "f19df3db4c97ee1459a2740028320a71d70964ce";
       };
     };
-    "@types/pg-8.6.0" = {
+    "@types/pg-8.6.4" = {
       name = "_at_types_slash_pg";
       packageName = "@types/pg";
-      version = "8.6.0";
+      version = "8.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/pg/-/pg-8.6.0.tgz";
-        sha512 = "3JXFrsl8COoqVB1+2Pqelx6soaiFVXzkT3fkuSNe7GB40ysfT0FHphZFPiqIXpMyTHSFRdLTyZzrFBrJRPAArA==";
+        url = "https://registry.npmjs.org/@types/pg/-/pg-8.6.4.tgz";
+        sha512 = "uYA7UMVzDFpJobCrqwW/iWkFmvizy6knIUgr0Quaw7K1Le3ZnF7hI3bKqFoxPZ+fju1Sc7zdTvOl9YfFZPcmeA==";
       };
     };
     "@types/qs-6.9.6" = {
@@ -410,13 +563,22 @@ let
         sha512 = "ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==";
       };
     };
-    "@types/sanitize-html-2.3.1" = {
+    "@types/retry-0.12.1" = {
+      name = "_at_types_slash_retry";
+      packageName = "@types/retry";
+      version = "0.12.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz";
+        sha512 = "xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==";
+      };
+    };
+    "@types/sanitize-html-2.6.2" = {
       name = "_at_types_slash_sanitize-html";
       packageName = "@types/sanitize-html";
-      version = "2.3.1";
+      version = "2.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/sanitize-html/-/sanitize-html-2.3.1.tgz";
-        sha512 = "+UT/XRluJuCunRftwO6OzG6WOBgJ+J3sROIoSJWX+7PB2FtTJTEJLrHCcNwzCQc0r60bej3WAbaigK+VZtZCGw==";
+        url = "https://registry.npmjs.org/@types/sanitize-html/-/sanitize-html-2.6.2.tgz";
+        sha512 = "7Lu2zMQnmHHQGKXVvCOhSziQMpa+R2hMHFefzbYoYMHeaXR0uXqNeOc3JeQQQ8/6Xa2Br/P1IQTLzV09xxAiUQ==";
       };
     };
     "@types/serve-static-1.13.9" = {
@@ -428,67 +590,76 @@ let
         sha512 = "ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==";
       };
     };
-    "@typescript-eslint/eslint-plugin-4.33.0" = {
+    "@typescript-eslint/eslint-plugin-5.12.0" = {
       name = "_at_typescript-eslint_slash_eslint-plugin";
       packageName = "@typescript-eslint/eslint-plugin";
-      version = "4.33.0";
+      version = "5.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz";
-        sha512 = "aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==";
+        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.12.0.tgz";
+        sha512 = "fwCMkDimwHVeIOKeBHiZhRUfJXU8n6xW1FL9diDxAyGAFvKcH4csy0v7twivOQdQdA0KC8TDr7GGRd3L4Lv0rQ==";
       };
     };
-    "@typescript-eslint/experimental-utils-4.33.0" = {
-      name = "_at_typescript-eslint_slash_experimental-utils";
-      packageName = "@typescript-eslint/experimental-utils";
-      version = "4.33.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz";
-        sha512 = "zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==";
-      };
-    };
-    "@typescript-eslint/parser-4.33.0" = {
+    "@typescript-eslint/parser-5.12.0" = {
       name = "_at_typescript-eslint_slash_parser";
       packageName = "@typescript-eslint/parser";
-      version = "4.33.0";
+      version = "5.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz";
-        sha512 = "ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.12.0.tgz";
+        sha512 = "MfSwg9JMBojMUoGjUmX+D2stoQj1CBYTCP0qnnVtu9A+YQXVKNtLjasYh+jozOcrb/wau8TCfWOkQTiOAruBog==";
       };
     };
-    "@typescript-eslint/scope-manager-4.33.0" = {
+    "@typescript-eslint/scope-manager-5.12.0" = {
       name = "_at_typescript-eslint_slash_scope-manager";
       packageName = "@typescript-eslint/scope-manager";
-      version = "4.33.0";
+      version = "5.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.12.0.tgz";
+        sha512 = "GAMobtIJI8FGf1sLlUWNUm2IOkIjvn7laFWyRx7CLrv6nLBI7su+B7lbStqVlK5NdLvHRFiJo2HhiDF7Ki01WQ==";
+      };
+    };
+    "@typescript-eslint/type-utils-5.12.0" = {
+      name = "_at_typescript-eslint_slash_type-utils";
+      packageName = "@typescript-eslint/type-utils";
+      version = "5.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz";
-        sha512 = "5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.12.0.tgz";
+        sha512 = "9j9rli3zEBV+ae7rlbBOotJcI6zfc6SHFMdKI9M3Nc0sy458LJ79Os+TPWeBBL96J9/e36rdJOfCuyRSgFAA0Q==";
       };
     };
-    "@typescript-eslint/types-4.33.0" = {
+    "@typescript-eslint/types-5.12.0" = {
       name = "_at_typescript-eslint_slash_types";
       packageName = "@typescript-eslint/types";
-      version = "4.33.0";
+      version = "5.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz";
-        sha512 = "zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.12.0.tgz";
+        sha512 = "JowqbwPf93nvf8fZn5XrPGFBdIK8+yx5UEGs2QFAYFI8IWYfrzz+6zqlurGr2ctShMaJxqwsqmra3WXWjH1nRQ==";
       };
     };
-    "@typescript-eslint/typescript-estree-4.33.0" = {
+    "@typescript-eslint/typescript-estree-5.12.0" = {
       name = "_at_typescript-eslint_slash_typescript-estree";
       packageName = "@typescript-eslint/typescript-estree";
-      version = "4.33.0";
+      version = "5.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz";
-        sha512 = "rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.12.0.tgz";
+        sha512 = "Dd9gVeOqt38QHR0BEA8oRaT65WYqPYbIc5tRFQPkfLquVEFPD1HAtbZT98TLBkEcCkvwDYOAvuSvAD9DnQhMfQ==";
       };
     };
-    "@typescript-eslint/visitor-keys-4.33.0" = {
+    "@typescript-eslint/utils-5.12.0" = {
+      name = "_at_typescript-eslint_slash_utils";
+      packageName = "@typescript-eslint/utils";
+      version = "5.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.12.0.tgz";
+        sha512 = "k4J2WovnMPGI4PzKgDtQdNrCnmBHpMUFy21qjX2CoPdoBcSBIMvVBr9P2YDP8jOqZOeK3ThOL6VO/sy6jtnvzw==";
+      };
+    };
+    "@typescript-eslint/visitor-keys-5.12.0" = {
       name = "_at_typescript-eslint_slash_visitor-keys";
       packageName = "@typescript-eslint/visitor-keys";
-      version = "4.33.0";
+      version = "5.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz";
-        sha512 = "uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==";
+        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.12.0.tgz";
+        sha512 = "cFwTlgnMV6TgezQynx2c/4/tx9Tufbuo9LPzmWqyRC3QC4qTGkAG1C6pBr0/4I10PAI/FlYunI3vJjIcu+ZHMg==";
       };
     };
     "abbrev-1.1.1" = {
@@ -509,22 +680,22 @@ let
         sha512 = "Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==";
       };
     };
-    "acorn-7.4.1" = {
+    "acorn-8.7.0" = {
       name = "acorn";
       packageName = "acorn";
-      version = "7.4.1";
+      version = "8.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz";
-        sha512 = "nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==";
+        url = "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz";
+        sha512 = "V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==";
       };
     };
-    "acorn-jsx-5.3.1" = {
+    "acorn-jsx-5.3.2" = {
       name = "acorn-jsx";
       packageName = "acorn-jsx";
-      version = "5.3.1";
+      version = "5.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz";
-        sha512 = "K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==";
+        url = "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz";
+        sha512 = "rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==";
       };
     };
     "agent-base-6.0.2" = {
@@ -536,6 +707,15 @@ let
         sha512 = "RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==";
       };
     };
+    "aggregate-error-3.1.0" = {
+      name = "aggregate-error";
+      packageName = "aggregate-error";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz";
+        sha512 = "4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==";
+      };
+    };
     "ajv-6.12.6" = {
       name = "ajv";
       packageName = "ajv";
@@ -545,15 +725,6 @@ let
         sha512 = "j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==";
       };
     };
-    "ajv-8.4.0" = {
-      name = "ajv";
-      packageName = "ajv";
-      version = "8.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-8.4.0.tgz";
-        sha512 = "7QD2l6+KBSLwf+7MuYocbWvRPdOu63/trReTLu2KFwkgctnub1auoF+Y1WYcm09CTM7quuscrzqmASaLHC/K4Q==";
-      };
-    };
     "another-json-0.2.0" = {
       name = "another-json";
       packageName = "another-json";
@@ -563,24 +734,6 @@ let
         sha1 = "b5f4019c973b6dd5c6506a2d93469cb6d32aeedc";
       };
     };
-    "ansi-align-3.0.1" = {
-      name = "ansi-align";
-      packageName = "ansi-align";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz";
-        sha512 = "IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==";
-      };
-    };
-    "ansi-colors-4.1.1" = {
-      name = "ansi-colors";
-      packageName = "ansi-colors";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz";
-        sha512 = "JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==";
-      };
-    };
     "ansi-regex-2.1.1" = {
       name = "ansi-regex";
       packageName = "ansi-regex";
@@ -599,15 +752,6 @@ let
         sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
       };
     };
-    "ansi-regex-4.1.0" = {
-      name = "ansi-regex";
-      packageName = "ansi-regex";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz";
-        sha512 = "1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==";
-      };
-    };
     "ansi-regex-5.0.1" = {
       name = "ansi-regex";
       packageName = "ansi-regex";
@@ -635,22 +779,13 @@ let
         sha512 = "zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==";
       };
     };
-    "anymatch-3.1.2" = {
-      name = "anymatch";
-      packageName = "anymatch";
-      version = "3.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz";
-        sha512 = "P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==";
-      };
-    };
-    "append-transform-1.0.0" = {
+    "append-transform-2.0.0" = {
       name = "append-transform";
       packageName = "append-transform";
-      version = "1.0.0";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz";
-        sha512 = "P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==";
+        url = "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz";
+        sha512 = "7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==";
       };
     };
     "aproba-1.2.0" = {
@@ -734,15 +869,6 @@ let
         sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
       };
     };
-    "astral-regex-2.0.0" = {
-      name = "astral-regex";
-      packageName = "astral-regex";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz";
-        sha512 = "Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==";
-      };
-    };
     "async-0.2.10" = {
       name = "async";
       packageName = "async";
@@ -752,13 +878,13 @@ let
         sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
       };
     };
-    "async-3.2.0" = {
+    "async-3.2.3" = {
       name = "async";
       packageName = "async";
-      version = "3.2.0";
+      version = "3.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async/-/async-3.2.0.tgz";
-        sha512 = "TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==";
+        url = "https://registry.npmjs.org/async/-/async-3.2.3.tgz";
+        sha512 = "spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==";
       };
     };
     "asynckit-0.4.0" = {
@@ -797,13 +923,13 @@ let
         sha512 = "3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==";
       };
     };
-    "base-x-3.0.8" = {
+    "base-x-3.0.9" = {
       name = "base-x";
       packageName = "base-x";
-      version = "3.0.8";
+      version = "3.0.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/base-x/-/base-x-3.0.8.tgz";
-        sha512 = "Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==";
+        url = "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz";
+        sha512 = "H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==";
       };
     };
     "base64-js-1.5.1" = {
@@ -842,15 +968,6 @@ let
         sha512 = "07bKjClZg/f4KMVRkzWtoIvazVPcF1gsvVKVIXlxwleC2DxuIhnra3KCMlUT1rFeRYXXckot2a46UciF2d9KLw==";
       };
     };
-    "binary-extensions-2.2.0" = {
-      name = "binary-extensions";
-      packageName = "binary-extensions";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz";
-        sha512 = "jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==";
-      };
-    };
     "binary-search-tree-0.2.5" = {
       name = "binary-search-tree";
       packageName = "binary-search-tree";
@@ -905,15 +1022,6 @@ let
         sha512 = "dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==";
       };
     };
-    "boxen-4.2.0" = {
-      name = "boxen";
-      packageName = "boxen";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz";
-        sha512 = "eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==";
-      };
-    };
     "brace-expansion-1.1.11" = {
       name = "brace-expansion";
       packageName = "brace-expansion";
@@ -941,6 +1049,15 @@ let
         sha1 = "9ece5b5aca89a29932242e18bf933def9876cc17";
       };
     };
+    "browserslist-4.19.1" = {
+      name = "browserslist";
+      packageName = "browserslist";
+      version = "4.19.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz";
+        sha512 = "u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==";
+      };
+    };
     "bs58-4.0.1" = {
       name = "bs58";
       packageName = "bs58";
@@ -977,22 +1094,13 @@ let
         sha512 = "zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==";
       };
     };
-    "cacheable-request-6.1.0" = {
-      name = "cacheable-request";
-      packageName = "cacheable-request";
-      version = "6.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz";
-        sha512 = "Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==";
-      };
-    };
-    "caching-transform-3.0.2" = {
+    "caching-transform-4.0.0" = {
       name = "caching-transform";
       packageName = "caching-transform";
-      version = "3.0.2";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.2.tgz";
-        sha512 = "Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==";
+        url = "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz";
+        sha512 = "kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==";
       };
     };
     "call-bind-1.0.2" = {
@@ -1022,6 +1130,15 @@ let
         sha512 = "L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==";
       };
     };
+    "caniuse-lite-1.0.30001312" = {
+      name = "caniuse-lite";
+      packageName = "caniuse-lite";
+      version = "1.0.30001312";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz";
+        sha512 = "Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ==";
+      };
+    };
     "caseless-0.12.0" = {
       name = "caseless";
       packageName = "caseless";
@@ -1040,22 +1157,13 @@ let
         sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
       };
     };
-    "chalk-3.0.0" = {
-      name = "chalk";
-      packageName = "chalk";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz";
-        sha512 = "4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==";
-      };
-    };
-    "chalk-4.1.1" = {
+    "chalk-4.1.2" = {
       name = "chalk";
       packageName = "chalk";
-      version = "4.1.1";
+      version = "4.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz";
-        sha512 = "diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==";
+        url = "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz";
+        sha512 = "oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==";
       };
     };
     "chardet-1.3.0" = {
@@ -1067,15 +1175,6 @@ let
         sha512 = "cyTQGGptIjIT+CMGT5J/0l9c6Fb+565GCFjjeUTKxUO7w3oR+FcNCMEKTn5xtVKaLFmladN7QF68IiQsv5Fbdw==";
       };
     };
-    "chokidar-3.5.1" = {
-      name = "chokidar";
-      packageName = "chokidar";
-      version = "3.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz";
-        sha512 = "9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==";
-      };
-    };
     "chownr-1.1.4" = {
       name = "chownr";
       packageName = "chownr";
@@ -1094,40 +1193,22 @@ let
         sha512 = "bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==";
       };
     };
-    "ci-info-2.0.0" = {
-      name = "ci-info";
-      packageName = "ci-info";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz";
-        sha512 = "5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==";
-      };
-    };
-    "cli-boxes-2.2.1" = {
-      name = "cli-boxes";
-      packageName = "cli-boxes";
-      version = "2.2.1";
+    "clean-stack-2.2.0" = {
+      name = "clean-stack";
+      packageName = "clean-stack";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz";
-        sha512 = "y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==";
+        url = "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz";
+        sha512 = "4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==";
       };
     };
-    "cliui-5.0.0" = {
+    "cliui-6.0.0" = {
       name = "cliui";
       packageName = "cliui";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz";
-        sha512 = "PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==";
-      };
-    };
-    "clone-response-1.0.2" = {
-      name = "clone-response";
-      packageName = "clone-response";
-      version = "1.0.2";
+      version = "6.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz";
-        sha1 = "d1dc973920314df67fbeb94223b4ee350239e96b";
+        url = "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz";
+        sha512 = "t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==";
       };
     };
     "code-point-at-1.1.0" = {
@@ -1193,24 +1274,6 @@ let
         sha512 = "jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==";
       };
     };
-    "colorette-1.2.2" = {
-      name = "colorette";
-      packageName = "colorette";
-      version = "1.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz";
-        sha512 = "MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==";
-      };
-    };
-    "colors-1.4.0" = {
-      name = "colors";
-      packageName = "colors";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz";
-        sha512 = "a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==";
-      };
-    };
     "colorspace-1.1.2" = {
       name = "colorspace";
       packageName = "colorspace";
@@ -1247,15 +1310,6 @@ let
         sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
       };
     };
-    "configstore-5.0.1" = {
-      name = "configstore";
-      packageName = "configstore";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz";
-        sha512 = "aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==";
-      };
-    };
     "console-control-strings-1.1.0" = {
       name = "console-control-strings";
       packageName = "console-control-strings";
@@ -1328,24 +1382,6 @@ let
         sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
       };
     };
-    "cp-file-6.2.0" = {
-      name = "cp-file";
-      packageName = "cp-file";
-      version = "6.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz";
-        sha512 = "fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==";
-      };
-    };
-    "cross-spawn-4.0.2" = {
-      name = "cross-spawn";
-      packageName = "cross-spawn";
-      version = "4.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz";
-        sha1 = "7b9247621c23adfdd3856004a823cbe397424d41";
-      };
-    };
     "cross-spawn-7.0.3" = {
       name = "cross-spawn";
       packageName = "cross-spawn";
@@ -1355,15 +1391,6 @@ let
         sha512 = "iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==";
       };
     };
-    "crypto-random-string-2.0.0" = {
-      name = "crypto-random-string";
-      packageName = "crypto-random-string";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz";
-        sha512 = "v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==";
-      };
-    };
     "dashdash-1.14.1" = {
       name = "dashdash";
       packageName = "dashdash";
@@ -1382,22 +1409,13 @@ let
         sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==";
       };
     };
-    "debug-3.2.7" = {
-      name = "debug";
-      packageName = "debug";
-      version = "3.2.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz";
-        sha512 = "CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==";
-      };
-    };
-    "debug-4.3.1" = {
+    "debug-4.3.3" = {
       name = "debug";
       packageName = "debug";
-      version = "4.3.1";
+      version = "4.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz";
-        sha512 = "doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==";
+        url = "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz";
+        sha512 = "/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==";
       };
     };
     "decamelize-1.2.0" = {
@@ -1409,15 +1427,6 @@ let
         sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
       };
     };
-    "decompress-response-3.3.0" = {
-      name = "decompress-response";
-      packageName = "decompress-response";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz";
-        sha1 = "80a4dd323748384bfa248083622aedec982adff3";
-      };
-    };
     "decompress-response-4.2.1" = {
       name = "decompress-response";
       packageName = "decompress-response";
@@ -1436,13 +1445,13 @@ let
         sha512 = "LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==";
       };
     };
-    "deep-is-0.1.3" = {
+    "deep-is-0.1.4" = {
       name = "deep-is";
       packageName = "deep-is";
-      version = "0.1.3";
+      version = "0.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz";
-        sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
+        url = "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz";
+        sha512 = "oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==";
       };
     };
     "deepmerge-4.2.2" = {
@@ -1454,22 +1463,13 @@ let
         sha512 = "FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==";
       };
     };
-    "default-require-extensions-2.0.0" = {
+    "default-require-extensions-3.0.0" = {
       name = "default-require-extensions";
       packageName = "default-require-extensions";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz";
-        sha1 = "f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7";
-      };
-    };
-    "defer-to-connect-1.1.3" = {
-      name = "defer-to-connect";
-      packageName = "defer-to-connect";
-      version = "1.1.3";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz";
-        sha512 = "0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==";
+        url = "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz";
+        sha512 = "ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==";
       };
     };
     "delayed-stream-1.0.0" = {
@@ -1598,24 +1598,6 @@ let
         sha512 = "y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA==";
       };
     };
-    "dot-prop-5.3.0" = {
-      name = "dot-prop";
-      packageName = "dot-prop";
-      version = "5.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz";
-        sha512 = "QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==";
-      };
-    };
-    "duplexer3-0.1.4" = {
-      name = "duplexer3";
-      packageName = "duplexer3";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz";
-        sha1 = "ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2";
-      };
-    };
     "ecc-jsbn-0.1.2" = {
       name = "ecc-jsbn";
       packageName = "ecc-jsbn";
@@ -1634,13 +1616,13 @@ let
         sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
       };
     };
-    "emoji-regex-7.0.3" = {
-      name = "emoji-regex";
-      packageName = "emoji-regex";
-      version = "7.0.3";
+    "electron-to-chromium-1.4.71" = {
+      name = "electron-to-chromium";
+      packageName = "electron-to-chromium";
+      version = "1.4.71";
       src = fetchurl {
-        url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz";
-        sha512 = "CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.71.tgz";
+        sha512 = "Hk61vXXKRb2cd3znPE9F+2pLWdIOmP7GjiTj45y6L3W/lO+hSnUSUhq+6lEaERWBdZOHbk2s3YV5c9xVl3boVw==";
       };
     };
     "emoji-regex-8.0.0" = {
@@ -1679,15 +1661,6 @@ let
         sha512 = "+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==";
       };
     };
-    "enquirer-2.3.6" = {
-      name = "enquirer";
-      packageName = "enquirer";
-      version = "2.3.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz";
-        sha512 = "yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==";
-      };
-    };
     "entities-2.2.0" = {
       name = "entities";
       packageName = "entities";
@@ -1697,15 +1670,6 @@ let
         sha512 = "p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==";
       };
     };
-    "error-ex-1.3.2" = {
-      name = "error-ex";
-      packageName = "error-ex";
-      version = "1.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz";
-        sha512 = "7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==";
-      };
-    };
     "es6-error-4.1.1" = {
       name = "es6-error";
       packageName = "es6-error";
@@ -1715,13 +1679,13 @@ let
         sha512 = "Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==";
       };
     };
-    "escape-goat-2.1.1" = {
-      name = "escape-goat";
-      packageName = "escape-goat";
-      version = "2.1.1";
+    "escalade-3.1.1" = {
+      name = "escalade";
+      packageName = "escalade";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz";
-        sha512 = "8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==";
+        url = "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz";
+        sha512 = "k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==";
       };
     };
     "escape-html-1.0.3" = {
@@ -1751,13 +1715,13 @@ let
         sha512 = "TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==";
       };
     };
-    "eslint-7.21.0" = {
+    "eslint-8.9.0" = {
       name = "eslint";
       packageName = "eslint";
-      version = "7.21.0";
+      version = "8.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-7.21.0.tgz";
-        sha512 = "W2aJbXpMNofUp0ztQaF40fveSsJBjlSCSWpy//gzfTvwC+USs/nceBrKmlJOiM8r1bLwP2EuYkCqArn/6QTIgg==";
+        url = "https://registry.npmjs.org/eslint/-/eslint-8.9.0.tgz";
+        sha512 = "PB09IGwv4F4b0/atrbcMFboF/giawbBLVC7fyDamk5Wtey4Jh2K+rYaBhCAbUyEI4QzB1ly09Uglc9iCtFaG2Q==";
       };
     };
     "eslint-scope-5.1.1" = {
@@ -1769,13 +1733,13 @@ let
         sha512 = "2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==";
       };
     };
-    "eslint-utils-2.1.0" = {
-      name = "eslint-utils";
-      packageName = "eslint-utils";
-      version = "2.1.0";
+    "eslint-scope-7.1.1" = {
+      name = "eslint-scope";
+      packageName = "eslint-scope";
+      version = "7.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz";
-        sha512 = "w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==";
+        url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz";
+        sha512 = "QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==";
       };
     };
     "eslint-utils-3.0.0" = {
@@ -1787,31 +1751,31 @@ let
         sha512 = "uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==";
       };
     };
-    "eslint-visitor-keys-1.3.0" = {
+    "eslint-visitor-keys-2.1.0" = {
       name = "eslint-visitor-keys";
       packageName = "eslint-visitor-keys";
-      version = "1.3.0";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz";
-        sha512 = "6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==";
+        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz";
+        sha512 = "0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==";
       };
     };
-    "eslint-visitor-keys-2.1.0" = {
+    "eslint-visitor-keys-3.3.0" = {
       name = "eslint-visitor-keys";
       packageName = "eslint-visitor-keys";
-      version = "2.1.0";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz";
-        sha512 = "0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==";
+        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz";
+        sha512 = "mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==";
       };
     };
-    "espree-7.3.1" = {
+    "espree-9.3.1" = {
       name = "espree";
       packageName = "espree";
-      version = "7.3.1";
+      version = "9.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz";
-        sha512 = "v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==";
+        url = "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz";
+        sha512 = "bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==";
       };
     };
     "esprima-4.0.1" = {
@@ -1850,13 +1814,13 @@ let
         sha512 = "39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==";
       };
     };
-    "estraverse-5.2.0" = {
+    "estraverse-5.3.0" = {
       name = "estraverse";
       packageName = "estraverse";
-      version = "5.2.0";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz";
-        sha512 = "BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==";
+        url = "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz";
+        sha512 = "MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==";
       };
     };
     "esutils-2.0.3" = {
@@ -1922,22 +1886,22 @@ let
         sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
       };
     };
-    "fast-deep-equal-3.1.1" = {
+    "fast-deep-equal-3.1.3" = {
       name = "fast-deep-equal";
       packageName = "fast-deep-equal";
-      version = "3.1.1";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz";
-        sha512 = "8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==";
+        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz";
+        sha512 = "f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==";
       };
     };
-    "fast-glob-3.2.7" = {
+    "fast-glob-3.2.11" = {
       name = "fast-glob";
       packageName = "fast-glob";
-      version = "3.2.7";
+      version = "3.2.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz";
-        sha512 = "rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==";
+        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz";
+        sha512 = "xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==";
       };
     };
     "fast-json-stable-stringify-2.1.0" = {
@@ -1958,15 +1922,6 @@ let
         sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917";
       };
     };
-    "fast-safe-stringify-2.0.7" = {
-      name = "fast-safe-stringify";
-      packageName = "fast-safe-stringify";
-      version = "2.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz";
-        sha512 = "Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==";
-      };
-    };
     "fastq-1.13.0" = {
       name = "fastq";
       packageName = "fastq";
@@ -1994,13 +1949,13 @@ let
         sha512 = "7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==";
       };
     };
-    "file-stream-rotator-0.5.7" = {
+    "file-stream-rotator-0.6.1" = {
       name = "file-stream-rotator";
       packageName = "file-stream-rotator";
-      version = "0.5.7";
+      version = "0.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/file-stream-rotator/-/file-stream-rotator-0.5.7.tgz";
-        sha512 = "VYb3HZ/GiAGUCrfeakO8Mp54YGswNUHvL7P09WQcXAJNSj3iQ5QraYSp3cIn1MUyw6uzfgN/EFOarCNa4JvUHQ==";
+        url = "https://registry.npmjs.org/file-stream-rotator/-/file-stream-rotator-0.6.1.tgz";
+        sha512 = "u+dBid4PvZw17PmDeRcNOtCP9CCK/9lRN2w+r1xIS7yOL9JFrIBKTvrYsxT4P0pGtThYTn++QS5ChHaUov3+zQ==";
       };
     };
     "file-uri-to-path-1.0.0" = {
@@ -2039,22 +1994,22 @@ let
         sha512 = "aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==";
       };
     };
-    "find-cache-dir-2.1.0" = {
+    "find-cache-dir-3.3.2" = {
       name = "find-cache-dir";
       packageName = "find-cache-dir";
-      version = "2.1.0";
+      version = "3.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz";
-        sha512 = "Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==";
+        url = "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz";
+        sha512 = "wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==";
       };
     };
-    "find-up-3.0.0" = {
+    "find-up-4.1.0" = {
       name = "find-up";
       packageName = "find-up";
-      version = "3.0.0";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz";
-        sha512 = "1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==";
+        url = "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz";
+        sha512 = "PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==";
       };
     };
     "flat-cache-3.0.4" = {
@@ -2066,13 +2021,13 @@ let
         sha512 = "dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==";
       };
     };
-    "flatted-3.1.1" = {
+    "flatted-3.2.5" = {
       name = "flatted";
       packageName = "flatted";
-      version = "3.1.1";
+      version = "3.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz";
-        sha512 = "zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==";
+        url = "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz";
+        sha512 = "WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==";
       };
     };
     "fn.name-1.1.0" = {
@@ -2084,13 +2039,13 @@ let
         sha512 = "GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==";
       };
     };
-    "foreground-child-1.5.6" = {
+    "foreground-child-2.0.0" = {
       name = "foreground-child";
       packageName = "foreground-child";
-      version = "1.5.6";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz";
-        sha1 = "4fd71ad2dfde96789b980a5c0a295937cb2f5ce9";
+        url = "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz";
+        sha512 = "dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==";
       };
     };
     "forever-agent-0.6.1" = {
@@ -2129,6 +2084,15 @@ let
         sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7";
       };
     };
+    "fromentries-1.3.2" = {
+      name = "fromentries";
+      packageName = "fromentries";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz";
+        sha512 = "cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==";
+      };
+    };
     "fs-constants-1.0.0" = {
       name = "fs-constants";
       packageName = "fs-constants";
@@ -2156,15 +2120,6 @@ let
         sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
       };
     };
-    "fsevents-2.3.2" = {
-      name = "fsevents";
-      packageName = "fsevents";
-      version = "2.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz";
-        sha512 = "xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==";
-      };
-    };
     "function-bind-1.1.1" = {
       name = "function-bind";
       packageName = "function-bind";
@@ -2210,6 +2165,15 @@ let
         sha1 = "9c0e1c40308ce804f4783618b937fa88f99d50d0";
       };
     };
+    "gensync-1.0.0-beta.2" = {
+      name = "gensync";
+      packageName = "gensync";
+      version = "1.0.0-beta.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz";
+        sha512 = "3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==";
+      };
+    };
     "get-caller-file-2.0.5" = {
       name = "get-caller-file";
       packageName = "get-caller-file";
@@ -2228,22 +2192,13 @@ let
         sha512 = "kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==";
       };
     };
-    "get-stream-4.1.0" = {
-      name = "get-stream";
-      packageName = "get-stream";
-      version = "4.1.0";
+    "get-package-type-0.1.0" = {
+      name = "get-package-type";
+      packageName = "get-package-type";
+      version = "0.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz";
-        sha512 = "GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==";
-      };
-    };
-    "get-stream-5.2.0" = {
-      name = "get-stream";
-      packageName = "get-stream";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz";
-        sha512 = "nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==";
+        url = "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz";
+        sha512 = "pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==";
       };
     };
     "getpass-0.1.7" = {
@@ -2282,6 +2237,15 @@ let
         sha512 = "AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==";
       };
     };
+    "glob-parent-6.0.2" = {
+      name = "glob-parent";
+      packageName = "glob-parent";
+      version = "6.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz";
+        sha512 = "XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==";
+      };
+    };
     "glob-to-regexp-0.4.1" = {
       name = "glob-to-regexp";
       packageName = "glob-to-regexp";
@@ -2291,15 +2255,6 @@ let
         sha512 = "lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==";
       };
     };
-    "global-dirs-2.1.0" = {
-      name = "global-dirs";
-      packageName = "global-dirs";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz";
-        sha512 = "MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==";
-      };
-    };
     "globals-11.12.0" = {
       name = "globals";
       packageName = "globals";
@@ -2309,31 +2264,22 @@ let
         sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==";
       };
     };
-    "globals-12.4.0" = {
+    "globals-13.12.1" = {
       name = "globals";
       packageName = "globals";
-      version = "12.4.0";
+      version = "13.12.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz";
-        sha512 = "BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==";
+        url = "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz";
+        sha512 = "317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==";
       };
     };
-    "globby-11.0.4" = {
+    "globby-11.1.0" = {
       name = "globby";
       packageName = "globby";
-      version = "11.0.4";
+      version = "11.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz";
-        sha512 = "9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==";
-      };
-    };
-    "got-9.6.0" = {
-      name = "got";
-      packageName = "got";
-      version = "9.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/got/-/got-9.6.0.tgz";
-        sha512 = "R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==";
+        url = "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz";
+        sha512 = "jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==";
       };
     };
     "graceful-fs-4.2.3" = {
@@ -2408,15 +2354,6 @@ let
         sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9";
       };
     };
-    "has-yarn-2.1.0" = {
-      name = "has-yarn";
-      packageName = "has-yarn";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz";
-        sha512 = "UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==";
-      };
-    };
     "hash.js-1.1.7" = {
       name = "hash.js";
       packageName = "hash.js";
@@ -2426,13 +2363,13 @@ let
         sha512 = "taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==";
       };
     };
-    "hasha-3.0.0" = {
+    "hasha-5.2.2" = {
       name = "hasha";
       packageName = "hasha";
-      version = "3.0.0";
+      version = "5.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz";
-        sha1 = "52a32fab8569d41ca69a61ff1a214f8eb7c8bd39";
+        url = "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz";
+        sha512 = "Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==";
       };
     };
     "he-1.2.0" = {
@@ -2444,15 +2381,6 @@ let
         sha512 = "F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==";
       };
     };
-    "hosted-git-info-2.8.9" = {
-      name = "hosted-git-info";
-      packageName = "hosted-git-info";
-      version = "2.8.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz";
-        sha512 = "mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==";
-      };
-    };
     "html-escaper-2.0.2" = {
       name = "html-escaper";
       packageName = "html-escaper";
@@ -2498,15 +2426,6 @@ let
         sha512 = "gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==";
       };
     };
-    "http-cache-semantics-4.1.0" = {
-      name = "http-cache-semantics";
-      packageName = "http-cache-semantics";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz";
-        sha512 = "carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==";
-      };
-    };
     "http-errors-1.7.2" = {
       name = "http-errors";
       packageName = "http-errors";
@@ -2570,22 +2489,13 @@ let
         sha512 = "cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==";
       };
     };
-    "ignore-5.1.8" = {
+    "ignore-5.2.0" = {
       name = "ignore";
       packageName = "ignore";
-      version = "5.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz";
-        sha512 = "BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==";
-      };
-    };
-    "ignore-by-default-1.0.1" = {
-      name = "ignore-by-default";
-      packageName = "ignore-by-default";
-      version = "1.0.1";
+      version = "5.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz";
-        sha1 = "48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09";
+        url = "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz";
+        sha512 = "CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==";
       };
     };
     "immediate-3.0.6" = {
@@ -2606,15 +2516,6 @@ let
         sha512 = "veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==";
       };
     };
-    "import-lazy-2.1.0" = {
-      name = "import-lazy";
-      packageName = "import-lazy";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz";
-        sha1 = "05698e3d45c88e8d7e9d92cb0584e77f096f3e43";
-      };
-    };
     "imurmurhash-0.1.4" = {
       name = "imurmurhash";
       packageName = "imurmurhash";
@@ -2624,6 +2525,15 @@ let
         sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
       };
     };
+    "indent-string-4.0.0" = {
+      name = "indent-string";
+      packageName = "indent-string";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz";
+        sha512 = "EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==";
+      };
+    };
     "inflight-1.0.6" = {
       name = "inflight";
       packageName = "inflight";
@@ -2678,15 +2588,6 @@ let
         sha512 = "HtszKchBQTcqw1DC09uD7i7vvMayHGM1OCo6AHt5pkgZEyo99ClhHTMJdf+Ezc9ovuNNxcH89QfyclGthjZJOw==";
       };
     };
-    "is-arrayish-0.2.1" = {
-      name = "is-arrayish";
-      packageName = "is-arrayish";
-      version = "0.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz";
-        sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d";
-      };
-    };
     "is-arrayish-0.3.2" = {
       name = "is-arrayish";
       packageName = "is-arrayish";
@@ -2696,24 +2597,6 @@ let
         sha512 = "eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==";
       };
     };
-    "is-binary-path-2.1.0" = {
-      name = "is-binary-path";
-      packageName = "is-binary-path";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz";
-        sha512 = "ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==";
-      };
-    };
-    "is-ci-2.0.0" = {
-      name = "is-ci";
-      packageName = "is-ci";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz";
-        sha512 = "YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==";
-      };
-    };
     "is-core-module-2.4.0" = {
       name = "is-core-module";
       packageName = "is-core-module";
@@ -2759,22 +2642,13 @@ let
         sha512 = "zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==";
       };
     };
-    "is-glob-4.0.1" = {
+    "is-glob-4.0.3" = {
       name = "is-glob";
       packageName = "is-glob";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz";
-        sha512 = "5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==";
-      };
-    };
-    "is-installed-globally-0.3.2" = {
-      name = "is-installed-globally";
-      packageName = "is-installed-globally";
-      version = "0.3.2";
+      version = "4.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz";
-        sha512 = "wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==";
+        url = "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz";
+        sha512 = "xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==";
       };
     };
     "is-my-ip-valid-1.0.0" = {
@@ -2795,15 +2669,6 @@ let
         sha512 = "VTPuvvGQtxvCeghwspQu1rBgjYUT6FGxPlvFKbYuFtgc4ADsX3U5ihZOYN0qyU6u+d4X9xXb0IT5O6QpXKt87A==";
       };
     };
-    "is-npm-4.0.0" = {
-      name = "is-npm";
-      packageName = "is-npm";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz";
-        sha512 = "96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==";
-      };
-    };
     "is-number-7.0.0" = {
       name = "is-number";
       packageName = "is-number";
@@ -2813,15 +2678,6 @@ let
         sha512 = "41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==";
       };
     };
-    "is-obj-2.0.0" = {
-      name = "is-obj";
-      packageName = "is-obj";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz";
-        sha512 = "drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==";
-      };
-    };
     "is-object-1.0.2" = {
       name = "is-object";
       packageName = "is-object";
@@ -2831,15 +2687,6 @@ let
         sha512 = "2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==";
       };
     };
-    "is-path-inside-3.0.3" = {
-      name = "is-path-inside";
-      packageName = "is-path-inside";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz";
-        sha512 = "Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==";
-      };
-    };
     "is-plain-object-5.0.0" = {
       name = "is-plain-object";
       packageName = "is-plain-object";
@@ -2867,15 +2714,6 @@ let
         sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84";
       };
     };
-    "is-stream-1.1.0" = {
-      name = "is-stream";
-      packageName = "is-stream";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz";
-        sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
-      };
-    };
     "is-stream-2.0.0" = {
       name = "is-stream";
       packageName = "is-stream";
@@ -2894,13 +2732,13 @@ let
         sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
       };
     };
-    "is-yarn-global-0.3.0" = {
-      name = "is-yarn-global";
-      packageName = "is-yarn-global";
-      version = "0.3.0";
+    "is-windows-1.0.2" = {
+      name = "is-windows";
+      packageName = "is-windows";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz";
-        sha512 = "VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==";
+        url = "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz";
+        sha512 = "eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==";
       };
     };
     "isarray-1.0.0" = {
@@ -2930,76 +2768,85 @@ let
         sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
       };
     };
-    "istanbul-lib-coverage-2.0.5" = {
+    "istanbul-lib-coverage-3.2.0" = {
       name = "istanbul-lib-coverage";
       packageName = "istanbul-lib-coverage";
-      version = "2.0.5";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz";
-        sha512 = "8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==";
+        url = "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz";
+        sha512 = "eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==";
       };
     };
-    "istanbul-lib-hook-2.0.7" = {
+    "istanbul-lib-hook-3.0.0" = {
       name = "istanbul-lib-hook";
       packageName = "istanbul-lib-hook";
-      version = "2.0.7";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz";
-        sha512 = "vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==";
+        url = "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz";
+        sha512 = "Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==";
       };
     };
-    "istanbul-lib-instrument-3.3.0" = {
+    "istanbul-lib-instrument-4.0.3" = {
       name = "istanbul-lib-instrument";
       packageName = "istanbul-lib-instrument";
-      version = "3.3.0";
+      version = "4.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz";
-        sha512 = "5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==";
+        url = "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz";
+        sha512 = "BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==";
       };
     };
-    "istanbul-lib-report-2.0.8" = {
+    "istanbul-lib-processinfo-2.0.2" = {
+      name = "istanbul-lib-processinfo";
+      packageName = "istanbul-lib-processinfo";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz";
+        sha512 = "kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==";
+      };
+    };
+    "istanbul-lib-report-3.0.0" = {
       name = "istanbul-lib-report";
       packageName = "istanbul-lib-report";
-      version = "2.0.8";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz";
-        sha512 = "fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==";
+        url = "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz";
+        sha512 = "wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==";
       };
     };
-    "istanbul-lib-source-maps-3.0.6" = {
+    "istanbul-lib-source-maps-4.0.1" = {
       name = "istanbul-lib-source-maps";
       packageName = "istanbul-lib-source-maps";
-      version = "3.0.6";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz";
-        sha512 = "R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==";
+        url = "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz";
+        sha512 = "n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==";
       };
     };
-    "istanbul-reports-2.2.7" = {
+    "istanbul-reports-3.1.4" = {
       name = "istanbul-reports";
       packageName = "istanbul-reports";
-      version = "2.2.7";
+      version = "3.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz";
-        sha512 = "uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==";
+        url = "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz";
+        sha512 = "r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==";
       };
     };
-    "jasmine-3.6.2" = {
+    "jasmine-3.99.0" = {
       name = "jasmine";
       packageName = "jasmine";
-      version = "3.6.2";
+      version = "3.99.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jasmine/-/jasmine-3.6.2.tgz";
-        sha512 = "Uc0o2MRnC8TS1MjDrB8jE1umKEo2mflzGvdg0Ncs+yuLtOJ+uz/Wz8VmGsNGtuASr8+E0LDgPkOpvdoC76m5WQ==";
+        url = "https://registry.npmjs.org/jasmine/-/jasmine-3.99.0.tgz";
+        sha512 = "YIThBuHzaIIcjxeuLmPD40SjxkEcc8i//sGMDKCgkRMVgIwRJf5qyExtlJpQeh7pkeoBSOe6lQEdg+/9uKg9mw==";
       };
     };
-    "jasmine-core-3.6.0" = {
+    "jasmine-core-3.99.0" = {
       name = "jasmine-core";
       packageName = "jasmine-core";
-      version = "3.6.0";
+      version = "3.99.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.6.0.tgz";
-        sha512 = "8uQYa7zJN8hq9z+g8z1bqCfdC8eoDAeVnM5sfqs7KHv9/ifoJ500m018fpFc7RDaO6SWCLCXwo/wPSNcdYTgcw==";
+        url = "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.99.0.tgz";
+        sha512 = "+ZDaJlEfRopINQqgE+hvzRyDIQDeKfqqTvF8RzXsvU1yE3pBDRud2+Qfh9WvGgRpuzqxyQJVI6Amy5XQ11r/3w==";
       };
     };
     "js-tokens-4.0.0" = {
@@ -3011,13 +2858,13 @@ let
         sha512 = "RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==";
       };
     };
-    "js-yaml-3.14.0" = {
+    "js-yaml-3.14.1" = {
       name = "js-yaml";
       packageName = "js-yaml";
-      version = "3.14.0";
+      version = "3.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz";
-        sha512 = "/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==";
+        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz";
+        sha512 = "okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==";
       };
     };
     "js-yaml-4.1.0" = {
@@ -3047,24 +2894,6 @@ let
         sha512 = "OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==";
       };
     };
-    "json-buffer-3.0.0" = {
-      name = "json-buffer";
-      packageName = "json-buffer";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz";
-        sha1 = "5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898";
-      };
-    };
-    "json-parse-better-errors-1.0.2" = {
-      name = "json-parse-better-errors";
-      packageName = "json-parse-better-errors";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz";
-        sha512 = "mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==";
-      };
-    };
     "json-schema-0.2.3" = {
       name = "json-schema";
       packageName = "json-schema";
@@ -3083,15 +2912,6 @@ let
         sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==";
       };
     };
-    "json-schema-traverse-1.0.0" = {
-      name = "json-schema-traverse";
-      packageName = "json-schema-traverse";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz";
-        sha512 = "NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==";
-      };
-    };
     "json-stable-stringify-without-jsonify-1.0.1" = {
       name = "json-stable-stringify-without-jsonify";
       packageName = "json-stable-stringify-without-jsonify";
@@ -3110,6 +2930,15 @@ let
         sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
       };
     };
+    "json5-2.2.0" = {
+      name = "json5";
+      packageName = "json5";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz";
+        sha512 = "f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==";
+      };
+    };
     "jsonpointer-4.1.0" = {
       name = "jsonpointer";
       packageName = "jsonpointer";
@@ -3128,24 +2957,6 @@ let
         sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
       };
     };
-    "keyv-3.1.0" = {
-      name = "keyv";
-      packageName = "keyv";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz";
-        sha512 = "9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==";
-      };
-    };
-    "klona-2.0.4" = {
-      name = "klona";
-      packageName = "klona";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz";
-        sha512 = "ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==";
-      };
-    };
     "kuler-2.0.0" = {
       name = "kuler";
       packageName = "kuler";
@@ -3155,15 +2966,6 @@ let
         sha512 = "Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==";
       };
     };
-    "latest-version-5.1.0" = {
-      name = "latest-version";
-      packageName = "latest-version";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz";
-        sha512 = "weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==";
-      };
-    };
     "levn-0.4.1" = {
       name = "levn";
       packageName = "levn";
@@ -3182,15 +2984,6 @@ let
         sha1 = "9a436b2cc7746ca59de7a41fa469b3efb76bd87e";
       };
     };
-    "load-json-file-4.0.0" = {
-      name = "load-json-file";
-      packageName = "load-json-file";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz";
-        sha1 = "2f5f45ab91e33216234fd53adab668eb4ec0993b";
-      };
-    };
     "localforage-1.9.0" = {
       name = "localforage";
       packageName = "localforage";
@@ -3200,13 +2993,13 @@ let
         sha512 = "rR1oyNrKulpe+VM9cYmcFn6tsHuokyVHFaCM3+osEmxaHTbEk8oQu6eGDfS6DQLWi/N67XRmB8ECG37OES368g==";
       };
     };
-    "locate-path-3.0.0" = {
+    "locate-path-5.0.0" = {
       name = "locate-path";
       packageName = "locate-path";
-      version = "3.0.0";
+      version = "5.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz";
-        sha512 = "7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==";
+        url = "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz";
+        sha512 = "t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==";
       };
     };
     "lodash-4.17.21" = {
@@ -3218,15 +3011,6 @@ let
         sha512 = "v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==";
       };
     };
-    "lodash.clonedeep-4.5.0" = {
-      name = "lodash.clonedeep";
-      packageName = "lodash.clonedeep";
-      version = "4.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz";
-        sha1 = "e23f3f9c4f8fbdde872529c1071857a086e5ccef";
-      };
-    };
     "lodash.flattendeep-4.4.0" = {
       name = "lodash.flattendeep";
       packageName = "lodash.flattendeep";
@@ -3236,31 +3020,31 @@ let
         sha1 = "fb030917f86a3134e5bc9bec0d69e0013ddfedb2";
       };
     };
-    "lodash.truncate-4.4.2" = {
-      name = "lodash.truncate";
-      packageName = "lodash.truncate";
-      version = "4.4.2";
+    "lodash.merge-4.6.2" = {
+      name = "lodash.merge";
+      packageName = "lodash.merge";
+      version = "4.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz";
-        sha1 = "5a350da0b1113b837ecfffd5812cbe58d6eae193";
+        url = "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz";
+        sha512 = "0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==";
       };
     };
-    "logform-2.2.0" = {
+    "logform-2.4.0" = {
       name = "logform";
       packageName = "logform";
-      version = "2.2.0";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/logform/-/logform-2.2.0.tgz";
-        sha512 = "N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg==";
+        url = "https://registry.npmjs.org/logform/-/logform-2.4.0.tgz";
+        sha512 = "CPSJw4ftjf517EhXZGGvTHHkYobo7ZCc0kvwUoOYcjfR2UVrI66RHj8MCrfAdEitdmFqbu2BYdYs8FHHZSb6iw==";
       };
     };
-    "loglevel-1.7.1" = {
+    "loglevel-1.8.0" = {
       name = "loglevel";
       packageName = "loglevel";
-      version = "1.7.1";
+      version = "1.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz";
-        sha512 = "Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==";
+        url = "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz";
+        sha512 = "G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==";
       };
     };
     "lowdb-1.0.0" = {
@@ -3272,33 +3056,6 @@ let
         sha512 = "2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==";
       };
     };
-    "lowercase-keys-1.0.1" = {
-      name = "lowercase-keys";
-      packageName = "lowercase-keys";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz";
-        sha512 = "G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==";
-      };
-    };
-    "lowercase-keys-2.0.0" = {
-      name = "lowercase-keys";
-      packageName = "lowercase-keys";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz";
-        sha512 = "tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==";
-      };
-    };
-    "lru-cache-4.1.5" = {
-      name = "lru-cache";
-      packageName = "lru-cache";
-      version = "4.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz";
-        sha512 = "sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==";
-      };
-    };
     "lru-cache-6.0.0" = {
       name = "lru-cache";
       packageName = "lru-cache";
@@ -3317,15 +3074,6 @@ let
         sha1 = "b5c8351b9464cbd750335a79650a0ec0e56118dd";
       };
     };
-    "make-dir-2.1.0" = {
-      name = "make-dir";
-      packageName = "make-dir";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz";
-        sha512 = "LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==";
-      };
-    };
     "make-dir-3.1.0" = {
       name = "make-dir";
       packageName = "make-dir";
@@ -3335,22 +3083,31 @@ let
         sha512 = "g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==";
       };
     };
-    "matrix-appservice-0.8.0" = {
+    "matrix-appservice-0.10.0" = {
       name = "matrix-appservice";
       packageName = "matrix-appservice";
-      version = "0.8.0";
+      version = "0.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/matrix-appservice/-/matrix-appservice-0.8.0.tgz";
-        sha512 = "mfgMpmV3dWLtzrd4V/3XtqUD0P44I/mTgsRreW5jMhSaUnnRGZbpptBw2q4/axbLjw2FarlWtOVgertDGMtccA==";
+        url = "https://registry.npmjs.org/matrix-appservice/-/matrix-appservice-0.10.0.tgz";
+        sha512 = "bxkvPaFXzuuRfqSQgIBbA6M+nKXeRJEeZlJfzjhP0RBBMl62HQTXqNLSVHhLRCdzKbr1OayrbDKL+BnmoghDDA==";
       };
     };
-    "matrix-appservice-bridge-3.1.2" = {
+    "matrix-appservice-bridge-3.2.0" = {
       name = "matrix-appservice-bridge";
       packageName = "matrix-appservice-bridge";
-      version = "3.1.2";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/matrix-appservice-bridge/-/matrix-appservice-bridge-3.2.0.tgz";
+        sha512 = "fkVarDN2vLwgr/j2gOAT58AOVK+ualZghOI5oIOCImwut4U7gXBig2sjJ9f+NYjE2ljlWOas4UPSRLsly16EvQ==";
+      };
+    };
+    "matrix-bot-sdk-0.5.19" = {
+      name = "matrix-bot-sdk";
+      packageName = "matrix-bot-sdk";
+      version = "0.5.19";
       src = fetchurl {
-        url = "https://registry.npmjs.org/matrix-appservice-bridge/-/matrix-appservice-bridge-3.1.2.tgz";
-        sha512 = "1VjKSalKS/9/MknrcAkAEFcoeOduzqBWr3LHmuwc4+T94vtCrA3WX+SciurxW8jfs0D8sLdnNjH1sMVAPfA2Gw==";
+        url = "https://registry.npmjs.org/matrix-bot-sdk/-/matrix-bot-sdk-0.5.19.tgz";
+        sha512 = "RIPyvQPkOVp2yTKeDgp5rcn6z/DiKdHb6E8c69K+utai8ypRGtfDRj0PGqP+1XzqC9Wb1OFrESCUB5t0ffdC9g==";
       };
     };
     "matrix-bot-sdk-0.6.0-beta.2" = {
@@ -3362,13 +3119,13 @@ let
         sha512 = "D9aQ2++1bJIzka2uIz22HkaeyT058QGOh96xdxiDOaezyzLY5BN7ehYg+P0xRzDYDFKx9DbqDYCt97IkfahtPw==";
       };
     };
-    "matrix-js-sdk-9.11.0" = {
+    "matrix-js-sdk-12.5.0" = {
       name = "matrix-js-sdk";
       packageName = "matrix-js-sdk";
-      version = "9.11.0";
+      version = "12.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/matrix-js-sdk/-/matrix-js-sdk-9.11.0.tgz";
-        sha512 = "wP28ybOxyQ7lbC48QddRORYr8atEwbTqDOsu8H6u9jTTgB2qqczI/bkSoXHtutODuSeLY5x0UuwLcxVCy4yxVQ==";
+        url = "https://registry.npmjs.org/matrix-js-sdk/-/matrix-js-sdk-12.5.0.tgz";
+        sha512 = "HnEXoEhqpNp9/W9Ep7ZNZAubFlUssFyVpjgKfMOxxg+dYbBk5NWToHmAPQxlRUgrZ/rIMLVyMJROSCIthDbo2A==";
       };
     };
     "matrix-org-irc-1.2.0" = {
@@ -3398,15 +3155,6 @@ let
         sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61";
       };
     };
-    "merge-source-map-1.1.0" = {
-      name = "merge-source-map";
-      packageName = "merge-source-map";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz";
-        sha512 = "Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==";
-      };
-    };
     "merge2-1.4.1" = {
       name = "merge2";
       packageName = "merge2";
@@ -3461,15 +3209,6 @@ let
         sha512 = "crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==";
       };
     };
-    "mimic-response-1.0.1" = {
-      name = "mimic-response";
-      packageName = "mimic-response";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz";
-        sha512 = "j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==";
-      };
-    };
     "mimic-response-2.1.0" = {
       name = "mimic-response";
       packageName = "mimic-response";
@@ -3605,13 +3344,13 @@ let
         sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==";
       };
     };
-    "nanoid-3.1.23" = {
+    "nanoid-3.3.0" = {
       name = "nanoid";
       packageName = "nanoid";
-      version = "3.1.23";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz";
-        sha512 = "FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==";
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.3.0.tgz";
+        sha512 = "JzxqqT5u/x+/KOFSd7JP15DOo9nOoHpx6DYatqIHUW2+flybkm+mdcraotSQR5WcnZr+qhGVh8Ted0KdfSMxlg==";
       };
     };
     "napi-build-utils-1.0.2" = {
@@ -3650,15 +3389,6 @@ let
         sha512 = "hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==";
       };
     };
-    "nested-error-stacks-2.1.0" = {
-      name = "nested-error-stacks";
-      packageName = "nested-error-stacks";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz";
-        sha512 = "AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==";
-      };
-    };
     "node-abi-2.30.1" = {
       name = "node-abi";
       packageName = "node-abi";
@@ -3677,22 +3407,22 @@ let
         sha512 = "MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==";
       };
     };
-    "nodemon-2.0.7" = {
-      name = "nodemon";
-      packageName = "nodemon";
-      version = "2.0.7";
+    "node-preload-0.2.1" = {
+      name = "node-preload";
+      packageName = "node-preload";
+      version = "0.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nodemon/-/nodemon-2.0.7.tgz";
-        sha512 = "XHzK69Awgnec9UzHr1kc8EomQh4sjTQ8oRf8TsGrSmHDx9/UmiGG9E/mM3BuTfNeFwdNBvrqQq/RHL0xIeyFOA==";
+        url = "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz";
+        sha512 = "RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==";
       };
     };
-    "nopt-1.0.10" = {
-      name = "nopt";
-      packageName = "nopt";
-      version = "1.0.10";
+    "node-releases-2.0.2" = {
+      name = "node-releases";
+      packageName = "node-releases";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz";
-        sha1 = "6ddd21bd2a31417b92727dd585f8a6f37608ebee";
+        url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz";
+        sha512 = "XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==";
       };
     };
     "nopt-3.0.6" = {
@@ -3713,33 +3443,6 @@ let
         sha512 = "Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==";
       };
     };
-    "normalize-package-data-2.5.0" = {
-      name = "normalize-package-data";
-      packageName = "normalize-package-data";
-      version = "2.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz";
-        sha512 = "/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==";
-      };
-    };
-    "normalize-path-3.0.0" = {
-      name = "normalize-path";
-      packageName = "normalize-path";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz";
-        sha512 = "6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==";
-      };
-    };
-    "normalize-url-4.5.1" = {
-      name = "normalize-url";
-      packageName = "normalize-url";
-      version = "4.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz";
-        sha512 = "9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==";
-      };
-    };
     "npmlog-4.1.2" = {
       name = "npmlog";
       packageName = "npmlog";
@@ -3758,13 +3461,13 @@ let
         sha1 = "097b602b53422a522c1afb8790318336941a011d";
       };
     };
-    "nyc-14.1.1" = {
+    "nyc-15.1.0" = {
       name = "nyc";
       packageName = "nyc";
-      version = "14.1.1";
+      version = "15.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nyc/-/nyc-14.1.1.tgz";
-        sha512 = "OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==";
+        url = "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz";
+        sha512 = "jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==";
       };
     };
     "oauth-sign-0.9.0" = {
@@ -3794,13 +3497,13 @@ let
         sha512 = "gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==";
       };
     };
-    "object-inspect-1.10.3" = {
+    "object-inspect-1.12.0" = {
       name = "object-inspect";
       packageName = "object-inspect";
-      version = "1.10.3";
+      version = "1.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz";
-        sha512 = "e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==";
+        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz";
+        sha512 = "Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==";
       };
     };
     "on-finished-2.3.0" = {
@@ -3848,24 +3551,6 @@ let
         sha512 = "74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==";
       };
     };
-    "os-homedir-1.0.2" = {
-      name = "os-homedir";
-      packageName = "os-homedir";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz";
-        sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
-      };
-    };
-    "p-cancelable-1.1.0" = {
-      name = "p-cancelable";
-      packageName = "p-cancelable";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz";
-        sha512 = "s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==";
-      };
-    };
     "p-finally-1.0.0" = {
       name = "p-finally";
       packageName = "p-finally";
@@ -3884,13 +3569,22 @@ let
         sha512 = "//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==";
       };
     };
-    "p-locate-3.0.0" = {
+    "p-locate-4.1.0" = {
       name = "p-locate";
       packageName = "p-locate";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz";
+        sha512 = "R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==";
+      };
+    };
+    "p-map-3.0.0" = {
+      name = "p-map";
+      packageName = "p-map";
       version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz";
-        sha512 = "x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==";
+        url = "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz";
+        sha512 = "d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==";
       };
     };
     "p-queue-6.6.2" = {
@@ -3902,6 +3596,15 @@ let
         sha512 = "RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==";
       };
     };
+    "p-retry-4.6.1" = {
+      name = "p-retry";
+      packageName = "p-retry";
+      version = "4.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz";
+        sha512 = "e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==";
+      };
+    };
     "p-timeout-3.2.0" = {
       name = "p-timeout";
       packageName = "p-timeout";
@@ -3920,22 +3623,13 @@ let
         sha512 = "R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==";
       };
     };
-    "package-hash-3.0.0" = {
+    "package-hash-4.0.0" = {
       name = "package-hash";
       packageName = "package-hash";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/package-hash/-/package-hash-3.0.0.tgz";
-        sha512 = "lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==";
-      };
-    };
-    "package-json-6.5.0" = {
-      name = "package-json";
-      packageName = "package-json";
-      version = "6.5.0";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz";
-        sha512 = "k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==";
+        url = "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz";
+        sha512 = "whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==";
       };
     };
     "packet-reader-1.0.0" = {
@@ -3956,15 +3650,6 @@ let
         sha512 = "GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==";
       };
     };
-    "parse-json-4.0.0" = {
-      name = "parse-json";
-      packageName = "parse-json";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz";
-        sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0";
-      };
-    };
     "parse-srcset-1.0.2" = {
       name = "parse-srcset";
       packageName = "parse-srcset";
@@ -3983,13 +3668,13 @@ let
         sha512 = "CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==";
       };
     };
-    "path-exists-3.0.0" = {
+    "path-exists-4.0.0" = {
       name = "path-exists";
       packageName = "path-exists";
-      version = "3.0.0";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz";
-        sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
+        url = "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz";
+        sha512 = "ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==";
       };
     };
     "path-is-absolute-1.0.1" = {
@@ -4028,15 +3713,6 @@ let
         sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
       };
     };
-    "path-type-3.0.0" = {
-      name = "path-type";
-      packageName = "path-type";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz";
-        sha512 = "T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==";
-      };
-    };
     "path-type-4.0.0" = {
       name = "path-type";
       packageName = "path-type";
@@ -4055,13 +3731,13 @@ let
         sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
       };
     };
-    "pg-8.6.0" = {
+    "pg-8.7.3" = {
       name = "pg";
       packageName = "pg";
-      version = "8.6.0";
+      version = "8.7.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg/-/pg-8.6.0.tgz";
-        sha512 = "qNS9u61lqljTDFvmk/N66EeGq3n6Ujzj0FFyNMGQr6XuEv4tgNTXvJQTfJdcvGit5p5/DWPu+wj920hAJFI+QQ==";
+        url = "https://registry.npmjs.org/pg/-/pg-8.7.3.tgz";
+        sha512 = "HPmH4GH4H3AOprDJOazoIcpI49XFsHCe8xlrjHkWiapdbHK+HLtbm/GQzXYAZwmPju/kzKhjaSfMACG+8cgJcw==";
       };
     };
     "pg-connection-string-2.5.0" = {
@@ -4082,13 +3758,13 @@ let
         sha512 = "WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==";
       };
     };
-    "pg-pool-3.3.0" = {
+    "pg-pool-3.5.1" = {
       name = "pg-pool";
       packageName = "pg-pool";
-      version = "3.3.0";
+      version = "3.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg-pool/-/pg-pool-3.3.0.tgz";
-        sha512 = "0O5huCql8/D6PIRFAlmccjphLYWC+JIzvUhSzXSpGaf+tjTZc4nn+Lr7mLXBbFJfvwbP0ywDv73EiaBsxn7zdg==";
+        url = "https://registry.npmjs.org/pg-pool/-/pg-pool-3.5.1.tgz";
+        sha512 = "6iCR0wVrro6OOHFsyavV+i6KYL4lVNyYAB9RD18w66xSzN+d8b66HiwuP30Gp1SH5O9T82fckkzsRjlrhD0ioQ==";
       };
     };
     "pg-protocol-1.5.0" = {
@@ -4118,6 +3794,15 @@ let
         sha512 = "YmuA56alyBq7M59vxVBfPJrGSozru8QAdoNlWuW3cz8l+UX3cWge0vTvjKhsSHSJpo3Bom8/Mm6hf0TR5GY0+w==";
       };
     };
+    "picocolors-1.0.0" = {
+      name = "picocolors";
+      packageName = "picocolors";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz";
+        sha512 = "1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==";
+      };
+    };
     "picomatch-2.3.0" = {
       name = "picomatch";
       packageName = "picomatch";
@@ -4136,31 +3821,22 @@ let
         sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
       };
     };
-    "pify-4.0.1" = {
-      name = "pify";
-      packageName = "pify";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz";
-        sha512 = "uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==";
-      };
-    };
-    "pkg-dir-3.0.0" = {
+    "pkg-dir-4.2.0" = {
       name = "pkg-dir";
       packageName = "pkg-dir";
-      version = "3.0.0";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz";
-        sha512 = "/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==";
+        url = "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz";
+        sha512 = "HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==";
       };
     };
-    "postcss-8.3.0" = {
+    "postcss-8.4.6" = {
       name = "postcss";
       packageName = "postcss";
-      version = "8.3.0";
+      version = "8.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-8.3.0.tgz";
-        sha512 = "+ogXpdAjWGa+fdYY5BQ96V/6tAo+TdSSIMP5huJBIygdWwKtVoB5JWZ7yUd4xZ8r+8Kvvx4nyg/PQ071H4UtcQ==";
+        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz";
+        sha512 = "OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==";
       };
     };
     "postgres-array-2.0.0" = {
@@ -4217,15 +3893,6 @@ let
         sha512 = "vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==";
       };
     };
-    "prepend-http-2.0.0" = {
-      name = "prepend-http";
-      packageName = "prepend-http";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz";
-        sha1 = "e92434bfa5ea8c19f41cdfd401d741a3c819d897";
-      };
-    };
     "process-nextick-args-2.0.1" = {
       name = "process-nextick-args";
       packageName = "process-nextick-args";
@@ -4235,22 +3902,22 @@ let
         sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==";
       };
     };
-    "progress-2.0.3" = {
-      name = "progress";
-      packageName = "progress";
-      version = "2.0.3";
+    "process-on-spawn-1.0.0" = {
+      name = "process-on-spawn";
+      packageName = "process-on-spawn";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz";
-        sha512 = "7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==";
+        url = "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz";
+        sha512 = "1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==";
       };
     };
-    "prom-client-13.1.0" = {
+    "prom-client-14.0.1" = {
       name = "prom-client";
       packageName = "prom-client";
-      version = "13.1.0";
+      version = "14.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prom-client/-/prom-client-13.1.0.tgz";
-        sha512 = "jT9VccZCWrJWXdyEtQddCDszYsiuWj5T0ekrPszi/WEegj3IZy6Mm09iOOVM86A4IKMWq8hZkT2dD9MaSe+sng==";
+        url = "https://registry.npmjs.org/prom-client/-/prom-client-14.0.1.tgz";
+        sha512 = "HxTArb6fkOntQHoRGvv4qd/BkorjliiuO2uSWC2KC17MUTKYttWdDoXX/vxOhQdkoECEM9BBH0pj2l8G8kev6w==";
       };
     };
     "proxy-addr-2.0.6" = {
@@ -4262,22 +3929,13 @@ let
         sha512 = "dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==";
       };
     };
-    "proxyquire-1.8.0" = {
+    "proxyquire-2.1.3" = {
       name = "proxyquire";
       packageName = "proxyquire";
-      version = "1.8.0";
+      version = "2.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/proxyquire/-/proxyquire-1.8.0.tgz";
-        sha1 = "02d514a5bed986f04cbb2093af16741535f79edc";
-      };
-    };
-    "pseudomap-1.0.2" = {
-      name = "pseudomap";
-      packageName = "pseudomap";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz";
-        sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3";
+        url = "https://registry.npmjs.org/proxyquire/-/proxyquire-2.1.3.tgz";
+        sha512 = "BQWfCqYM+QINd+yawJz23tbBM40VIGXOdDw3X344KcclI/gtBbdWF6SlQ4nK/bYhF9d27KYug9WzljHC6B9Ysg==";
       };
     };
     "psl-1.8.0" = {
@@ -4289,15 +3947,6 @@ let
         sha512 = "RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==";
       };
     };
-    "pstree.remy-1.1.8" = {
-      name = "pstree.remy";
-      packageName = "pstree.remy";
-      version = "1.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz";
-        sha512 = "77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==";
-      };
-    };
     "pump-3.0.0" = {
       name = "pump";
       packageName = "pump";
@@ -4316,22 +3965,13 @@ let
         sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==";
       };
     };
-    "pupa-2.1.1" = {
-      name = "pupa";
-      packageName = "pupa";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz";
-        sha512 = "l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==";
-      };
-    };
-    "qs-6.10.1" = {
+    "qs-6.10.3" = {
       name = "qs";
       packageName = "qs";
-      version = "6.10.1";
+      version = "6.10.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.10.1.tgz";
-        sha512 = "M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==";
+        url = "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz";
+        sha512 = "wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==";
       };
     };
     "qs-6.5.2" = {
@@ -4361,13 +4001,13 @@ let
         sha512 = "NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==";
       };
     };
-    "quick-lru-4.0.1" = {
+    "quick-lru-5.1.1" = {
       name = "quick-lru";
       packageName = "quick-lru";
-      version = "4.0.1";
+      version = "5.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz";
-        sha512 = "ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==";
+        url = "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz";
+        sha512 = "WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==";
       };
     };
     "range-parser-1.2.1" = {
@@ -4397,24 +4037,6 @@ let
         sha512 = "y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==";
       };
     };
-    "read-pkg-3.0.0" = {
-      name = "read-pkg";
-      packageName = "read-pkg";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz";
-        sha1 = "9cbc686978fee65d16c00e2b19c237fcf6e38389";
-      };
-    };
-    "read-pkg-up-4.0.0" = {
-      name = "read-pkg-up";
-      packageName = "read-pkg-up";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz";
-        sha512 = "6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==";
-      };
-    };
     "readable-stream-2.3.7" = {
       name = "readable-stream";
       packageName = "readable-stream";
@@ -4433,49 +4055,22 @@ let
         sha512 = "BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==";
       };
     };
-    "readdirp-3.5.0" = {
-      name = "readdirp";
-      packageName = "readdirp";
-      version = "3.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz";
-        sha512 = "cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==";
-      };
-    };
-    "regenerator-runtime-0.13.7" = {
+    "regenerator-runtime-0.13.9" = {
       name = "regenerator-runtime";
       packageName = "regenerator-runtime";
-      version = "0.13.7";
+      version = "0.13.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz";
-        sha512 = "a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==";
+        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz";
+        sha512 = "p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==";
       };
     };
-    "regexpp-3.1.0" = {
+    "regexpp-3.2.0" = {
       name = "regexpp";
       packageName = "regexpp";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz";
-        sha512 = "ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==";
-      };
-    };
-    "registry-auth-token-4.2.1" = {
-      name = "registry-auth-token";
-      packageName = "registry-auth-token";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz";
-        sha512 = "6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==";
-      };
-    };
-    "registry-url-5.1.0" = {
-      name = "registry-url";
-      packageName = "registry-url";
-      version = "5.1.0";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz";
-        sha512 = "8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==";
+        url = "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz";
+        sha512 = "pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==";
       };
     };
     "release-zalgo-1.0.0" = {
@@ -4532,15 +4127,6 @@ let
         sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
       };
     };
-    "require-from-string-2.0.2" = {
-      name = "require-from-string";
-      packageName = "require-from-string";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz";
-        sha512 = "Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==";
-      };
-    };
     "require-main-filename-2.0.0" = {
       name = "require-main-filename";
       packageName = "require-main-filename";
@@ -4550,15 +4136,6 @@ let
         sha512 = "NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==";
       };
     };
-    "resolve-1.1.7" = {
-      name = "resolve";
-      packageName = "resolve";
-      version = "1.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz";
-        sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b";
-      };
-    };
     "resolve-1.20.0" = {
       name = "resolve";
       packageName = "resolve";
@@ -4577,13 +4154,22 @@ let
         sha512 = "pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==";
       };
     };
-    "responselike-1.0.2" = {
-      name = "responselike";
-      packageName = "responselike";
-      version = "1.0.2";
+    "resolve-from-5.0.0" = {
+      name = "resolve-from";
+      packageName = "resolve-from";
+      version = "5.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz";
-        sha1 = "918720ef3b631c5642be068f15ade5a46f4ba1e7";
+        url = "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz";
+        sha512 = "qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==";
+      };
+    };
+    "retry-0.13.1" = {
+      name = "retry";
+      packageName = "retry";
+      version = "0.13.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz";
+        sha512 = "XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==";
       };
     };
     "reusify-1.0.4" = {
@@ -4595,15 +4181,6 @@ let
         sha512 = "U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==";
       };
     };
-    "rimraf-2.7.1" = {
-      name = "rimraf";
-      packageName = "rimraf";
-      version = "2.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz";
-        sha512 = "uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==";
-      };
-    };
     "rimraf-3.0.2" = {
       name = "rimraf";
       packageName = "rimraf";
@@ -4640,6 +4217,15 @@ let
         sha512 = "rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==";
       };
     };
+    "safe-stable-stringify-2.3.1" = {
+      name = "safe-stable-stringify";
+      packageName = "safe-stable-stringify";
+      version = "2.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz";
+        sha512 = "kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==";
+      };
+    };
     "safer-buffer-2.1.2" = {
       name = "safer-buffer";
       packageName = "safer-buffer";
@@ -4649,13 +4235,13 @@ let
         sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
       };
     };
-    "sanitize-html-2.4.0" = {
+    "sanitize-html-2.7.0" = {
       name = "sanitize-html";
       packageName = "sanitize-html";
-      version = "2.4.0";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.4.0.tgz";
-        sha512 = "Y1OgkUiTPMqwZNRLPERSEi39iOebn2XJLbeiGOBhaJD/yLqtLGu6GE5w7evx177LeGgSE+4p4e107LMiydOf6A==";
+        url = "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.7.0.tgz";
+        sha512 = "jfQelabOn5voO7FAfnQF7v+jsA6z9zC/O4ec0z3E35XPEtHYJT/OdUziVWlKW4irCr2kXaQAyXTXDHWAibg1tA==";
       };
     };
     "semver-5.7.1" = {
@@ -4685,15 +4271,6 @@ let
         sha512 = "PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==";
       };
     };
-    "semver-diff-3.1.1" = {
-      name = "semver-diff";
-      packageName = "semver-diff";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz";
-        sha512 = "GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==";
-      };
-    };
     "send-0.17.1" = {
       name = "send";
       packageName = "send";
@@ -4802,15 +4379,6 @@ let
         sha512 = "g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==";
       };
     };
-    "slice-ansi-4.0.0" = {
-      name = "slice-ansi";
-      packageName = "slice-ansi";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz";
-        sha512 = "qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==";
-      };
-    };
     "source-map-0.5.7" = {
       name = "source-map";
       packageName = "source-map";
@@ -4829,58 +4397,22 @@ let
         sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
       };
     };
-    "source-map-js-0.6.2" = {
+    "source-map-js-1.0.2" = {
       name = "source-map-js";
       packageName = "source-map-js";
-      version = "0.6.2";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz";
-        sha512 = "/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==";
+        url = "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz";
+        sha512 = "R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==";
       };
     };
-    "spawn-wrap-1.4.3" = {
+    "spawn-wrap-2.0.0" = {
       name = "spawn-wrap";
       packageName = "spawn-wrap";
-      version = "1.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.3.tgz";
-        sha512 = "IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw==";
-      };
-    };
-    "spdx-correct-3.1.1" = {
-      name = "spdx-correct";
-      packageName = "spdx-correct";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz";
-        sha512 = "cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==";
-      };
-    };
-    "spdx-exceptions-2.3.0" = {
-      name = "spdx-exceptions";
-      packageName = "spdx-exceptions";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz";
-        sha512 = "/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==";
-      };
-    };
-    "spdx-expression-parse-3.0.1" = {
-      name = "spdx-expression-parse";
-      packageName = "spdx-expression-parse";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz";
-        sha512 = "cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==";
-      };
-    };
-    "spdx-license-ids-3.0.8" = {
-      name = "spdx-license-ids";
-      packageName = "spdx-license-ids";
-      version = "3.0.8";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.8.tgz";
-        sha512 = "NDgA96EnaLSvtbM7trJj+t1LUR3pirkDCcz9nOUlPb5DMBGsH7oES6C3hs3j7R9oHEa1EMvReS/BUAIT5Tcr0g==";
+        url = "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz";
+        sha512 = "EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==";
       };
     };
     "split2-3.2.2" = {
@@ -4964,24 +4496,6 @@ let
         sha512 = "nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==";
       };
     };
-    "string-width-3.1.0" = {
-      name = "string-width";
-      packageName = "string-width";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz";
-        sha512 = "vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==";
-      };
-    };
-    "string-width-4.2.2" = {
-      name = "string-width";
-      packageName = "string-width";
-      version = "4.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz";
-        sha512 = "XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==";
-      };
-    };
     "string-width-4.2.3" = {
       name = "string-width";
       packageName = "string-width";
@@ -5027,24 +4541,6 @@ let
         sha1 = "a8479022eb1ac368a871389b635262c505ee368f";
       };
     };
-    "strip-ansi-5.2.0" = {
-      name = "strip-ansi";
-      packageName = "strip-ansi";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz";
-        sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==";
-      };
-    };
-    "strip-ansi-6.0.0" = {
-      name = "strip-ansi";
-      packageName = "strip-ansi";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz";
-        sha512 = "AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==";
-      };
-    };
     "strip-ansi-6.0.1" = {
       name = "strip-ansi";
       packageName = "strip-ansi";
@@ -5054,13 +4550,13 @@ let
         sha512 = "Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==";
       };
     };
-    "strip-bom-3.0.0" = {
+    "strip-bom-4.0.0" = {
       name = "strip-bom";
       packageName = "strip-bom";
-      version = "3.0.0";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz";
-        sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
+        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz";
+        sha512 = "3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==";
       };
     };
     "strip-json-comments-2.0.1" = {
@@ -5090,15 +4586,6 @@ let
         sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==";
       };
     };
-    "supports-color-6.1.0" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "6.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz";
-        sha512 = "qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==";
-      };
-    };
     "supports-color-7.2.0" = {
       name = "supports-color";
       packageName = "supports-color";
@@ -5108,15 +4595,6 @@ let
         sha512 = "qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==";
       };
     };
-    "table-6.7.1" = {
-      name = "table";
-      packageName = "table";
-      version = "6.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/table/-/table-6.7.1.tgz";
-        sha512 = "ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==";
-      };
-    };
     "tar-6.1.11" = {
       name = "tar";
       packageName = "tar";
@@ -5153,22 +4631,13 @@ let
         sha1 = "2e3cb2c39ea449e55d1e6cd91117accca4588021";
       };
     };
-    "term-size-2.2.1" = {
-      name = "term-size";
-      packageName = "term-size";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz";
-        sha512 = "wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==";
-      };
-    };
-    "test-exclude-5.2.3" = {
+    "test-exclude-6.0.0" = {
       name = "test-exclude";
       packageName = "test-exclude";
-      version = "5.2.3";
+      version = "6.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz";
-        sha512 = "M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==";
+        url = "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz";
+        sha512 = "cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==";
       };
     };
     "text-hex-1.0.0" = {
@@ -5198,15 +4667,6 @@ let
         sha1 = "dc5e698cbd079265bc73e0377681a4e4e83f616e";
       };
     };
-    "to-readable-stream-1.0.0" = {
-      name = "to-readable-stream";
-      packageName = "to-readable-stream";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz";
-        sha512 = "Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==";
-      };
-    };
     "to-regex-range-5.0.1" = {
       name = "to-regex-range";
       packageName = "to-regex-range";
@@ -5225,15 +4685,6 @@ let
         sha512 = "yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==";
       };
     };
-    "touch-3.1.0" = {
-      name = "touch";
-      packageName = "touch";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz";
-        sha512 = "WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==";
-      };
-    };
     "tough-cookie-2.5.0" = {
       name = "tough-cookie";
       packageName = "tough-cookie";
@@ -5297,6 +4748,15 @@ let
         sha512 = "XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==";
       };
     };
+    "type-fest-0.20.2" = {
+      name = "type-fest";
+      packageName = "type-fest";
+      version = "0.20.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz";
+        sha512 = "Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==";
+      };
+    };
     "type-fest-0.8.1" = {
       name = "type-fest";
       packageName = "type-fest";
@@ -5324,22 +4784,13 @@ let
         sha512 = "zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==";
       };
     };
-    "typescript-4.4.3" = {
+    "typescript-4.5.5" = {
       name = "typescript";
       packageName = "typescript";
-      version = "4.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-4.4.3.tgz";
-        sha512 = "4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==";
-      };
-    };
-    "undefsafe-2.0.3" = {
-      name = "undefsafe";
-      packageName = "undefsafe";
-      version = "2.0.3";
+      version = "4.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz";
-        sha512 = "nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==";
+        url = "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz";
+        sha512 = "TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==";
       };
     };
     "underscore-1.4.4" = {
@@ -5360,15 +4811,6 @@ let
         sha512 = "7uvcWI3hWshSADBu4JpnyYbTVc7YlhF5GDW/oPD5AxIxl34k4wXR3WDkPnzLxkN32LiTCTKMQLtKVZiwki3zGg==";
       };
     };
-    "unique-string-2.0.0" = {
-      name = "unique-string";
-      packageName = "unique-string";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz";
-        sha512 = "uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==";
-      };
-    };
     "unpipe-1.0.0" = {
       name = "unpipe";
       packageName = "unpipe";
@@ -5378,15 +4820,6 @@ let
         sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
       };
     };
-    "update-notifier-4.1.3" = {
-      name = "update-notifier";
-      packageName = "update-notifier";
-      version = "4.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz";
-        sha512 = "Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==";
-      };
-    };
     "uri-js-4.2.2" = {
       name = "uri-js";
       packageName = "uri-js";
@@ -5396,15 +4829,6 @@ let
         sha512 = "KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==";
       };
     };
-    "url-parse-lax-3.0.0" = {
-      name = "url-parse-lax";
-      packageName = "url-parse-lax";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz";
-        sha1 = "16b5cafc07dbe3676c1b1999177823d6503acb0c";
-      };
-    };
     "utf-8-validate-5.0.5" = {
       name = "utf-8-validate";
       packageName = "utf-8-validate";
@@ -5450,15 +4874,6 @@ let
         sha512 = "l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==";
       };
     };
-    "validate-npm-package-license-3.0.4" = {
-      name = "validate-npm-package-license";
-      packageName = "validate-npm-package-license";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz";
-        sha512 = "DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==";
-      };
-    };
     "vary-1.1.2" = {
       name = "vary";
       packageName = "vary";
@@ -5477,15 +4892,6 @@ let
         sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
       };
     };
-    "which-1.3.1" = {
-      name = "which";
-      packageName = "which";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/which/-/which-1.3.1.tgz";
-        sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==";
-      };
-    };
     "which-2.0.2" = {
       name = "which";
       packageName = "which";
@@ -5513,40 +4919,31 @@ let
         sha512 = "QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==";
       };
     };
-    "widest-line-3.1.0" = {
-      name = "widest-line";
-      packageName = "widest-line";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz";
-        sha512 = "NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==";
-      };
-    };
-    "winston-3.3.3" = {
+    "winston-3.6.0" = {
       name = "winston";
       packageName = "winston";
-      version = "3.3.3";
+      version = "3.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz";
-        sha512 = "oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==";
+        url = "https://registry.npmjs.org/winston/-/winston-3.6.0.tgz";
+        sha512 = "9j8T75p+bcN6D00sF/zjFVmPp+t8KMPB1MzbbzYjeN9VWxdsYnTB40TkbNUEXAmILEfChMvAMgidlX64OG3p6w==";
       };
     };
-    "winston-daily-rotate-file-4.5.5" = {
+    "winston-daily-rotate-file-4.6.1" = {
       name = "winston-daily-rotate-file";
       packageName = "winston-daily-rotate-file";
-      version = "4.5.5";
+      version = "4.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston-daily-rotate-file/-/winston-daily-rotate-file-4.5.5.tgz";
-        sha512 = "ds0WahIjiDhKCiMXmY799pDBW+58ByqIBtUcsqr4oDoXrAI3Zn+hbgFdUxzMfqA93OG0mPLYVMiotqTgE/WeWQ==";
+        url = "https://registry.npmjs.org/winston-daily-rotate-file/-/winston-daily-rotate-file-4.6.1.tgz";
+        sha512 = "Ycch4LZmTycbhgiI2eQXBKI1pKcEQgAqmBjyq7/dC6Dk77nasdxvhLKraqTdCw7wNDSs8/M0jXaLATHquG7xYg==";
       };
     };
-    "winston-transport-4.4.0" = {
+    "winston-transport-4.5.0" = {
       name = "winston-transport";
       packageName = "winston-transport";
-      version = "4.4.0";
+      version = "4.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz";
-        sha512 = "Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==";
+        url = "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz";
+        sha512 = "YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==";
       };
     };
     "word-wrap-1.2.3" = {
@@ -5558,13 +4955,13 @@ let
         sha512 = "Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==";
       };
     };
-    "wrap-ansi-5.1.0" = {
+    "wrap-ansi-6.2.0" = {
       name = "wrap-ansi";
       packageName = "wrap-ansi";
-      version = "5.1.0";
+      version = "6.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz";
-        sha512 = "QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==";
+        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz";
+        sha512 = "r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==";
       };
     };
     "wrappy-1.0.2" = {
@@ -5576,15 +4973,6 @@ let
         sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
       };
     };
-    "write-file-atomic-2.4.3" = {
-      name = "write-file-atomic";
-      packageName = "write-file-atomic";
-      version = "2.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz";
-        sha512 = "GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==";
-      };
-    };
     "write-file-atomic-3.0.3" = {
       name = "write-file-atomic";
       packageName = "write-file-atomic";
@@ -5594,15 +4982,6 @@ let
         sha512 = "AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==";
       };
     };
-    "xdg-basedir-4.0.0" = {
-      name = "xdg-basedir";
-      packageName = "xdg-basedir";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz";
-        sha512 = "PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==";
-      };
-    };
     "xtend-4.0.2" = {
       name = "xtend";
       packageName = "xtend";
@@ -5621,15 +5000,6 @@ let
         sha512 = "JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==";
       };
     };
-    "yallist-2.1.2" = {
-      name = "yallist";
-      packageName = "yallist";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz";
-        sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52";
-      };
-    };
     "yallist-4.0.0" = {
       name = "yallist";
       packageName = "yallist";
@@ -5639,144 +5009,153 @@ let
         sha512 = "3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==";
       };
     };
-    "yargs-13.3.2" = {
+    "yargs-15.4.1" = {
       name = "yargs";
       packageName = "yargs";
-      version = "13.3.2";
+      version = "15.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz";
-        sha512 = "AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==";
+        url = "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz";
+        sha512 = "aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==";
       };
     };
-    "yargs-parser-13.1.2" = {
+    "yargs-parser-18.1.3" = {
       name = "yargs-parser";
       packageName = "yargs-parser";
-      version = "13.1.2";
+      version = "18.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz";
-        sha512 = "3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==";
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz";
+        sha512 = "o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==";
       };
     };
   };
   args = {
     name = "matrix-appservice-irc";
     packageName = "matrix-appservice-irc";
-    version = "0.32.1";
+    version = "0.33.1";
     src = ./.;
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
-      (sources."@babel/generator-7.14.3" // {
-        dependencies = [
-          sources."source-map-0.5.7"
-        ];
-      })
-      sources."@babel/helper-function-name-7.14.2"
-      sources."@babel/helper-get-function-arity-7.12.13"
-      sources."@babel/helper-split-export-declaration-7.12.13"
-      sources."@babel/helper-validator-identifier-7.14.0"
-      sources."@babel/highlight-7.14.0"
-      sources."@babel/parser-7.14.3"
-      sources."@babel/runtime-7.14.0"
-      (sources."@babel/template-7.12.13" // {
+      sources."@alloc/quick-lru-5.2.0"
+      sources."@ampproject/remapping-2.1.2"
+      sources."@babel/code-frame-7.16.7"
+      sources."@babel/compat-data-7.17.0"
+      sources."@babel/core-7.17.4"
+      sources."@babel/generator-7.17.3"
+      sources."@babel/helper-compilation-targets-7.16.7"
+      sources."@babel/helper-environment-visitor-7.16.7"
+      sources."@babel/helper-function-name-7.16.7"
+      sources."@babel/helper-get-function-arity-7.16.7"
+      sources."@babel/helper-hoist-variables-7.16.7"
+      sources."@babel/helper-module-imports-7.16.7"
+      sources."@babel/helper-module-transforms-7.16.7"
+      sources."@babel/helper-simple-access-7.16.7"
+      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.17.2"
+      (sources."@babel/highlight-7.16.10" // {
         dependencies = [
-          sources."@babel/code-frame-7.12.13"
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.2"
+          sources."escape-string-regexp-1.0.5"
+          sources."supports-color-5.5.0"
         ];
       })
-      (sources."@babel/traverse-7.14.2" // {
+      sources."@babel/parser-7.17.3"
+      sources."@babel/runtime-7.17.2"
+      sources."@babel/template-7.16.7"
+      (sources."@babel/traverse-7.17.3" // {
         dependencies = [
-          sources."@babel/code-frame-7.12.13"
           sources."globals-11.12.0"
         ];
       })
-      sources."@babel/types-7.14.2"
+      sources."@babel/types-7.17.0"
+      sources."@colors/colors-1.5.0"
       sources."@dabh/diagnostics-2.0.2"
-      (sources."@eslint/eslintrc-0.4.1" // {
+      (sources."@eslint/eslintrc-1.1.0" // {
         dependencies = [
           sources."ignore-4.0.6"
         ];
       })
+      sources."@humanwhocodes/config-array-0.9.3"
+      sources."@humanwhocodes/object-schema-1.2.1"
+      (sources."@istanbuljs/load-nyc-config-1.1.0" // {
+        dependencies = [
+          sources."argparse-1.0.10"
+          sources."js-yaml-3.14.1"
+          sources."resolve-from-5.0.0"
+        ];
+      })
+      sources."@istanbuljs/schema-0.1.3"
+      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@jridgewell/sourcemap-codec-1.4.11"
+      sources."@jridgewell/trace-mapping-0.3.4"
       sources."@matrix-org/olm-https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.4.tgz"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@sentry/core-5.27.1"
-      sources."@sentry/hub-5.27.1"
-      sources."@sentry/minimal-5.27.1"
-      sources."@sentry/node-5.27.1"
-      sources."@sentry/tracing-5.27.1"
-      sources."@sentry/types-5.27.1"
-      sources."@sentry/utils-5.27.1"
-      sources."@sindresorhus/is-0.14.0"
-      sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/bluebird-3.5.32"
+      sources."@sentry/core-6.17.9"
+      sources."@sentry/hub-6.17.9"
+      sources."@sentry/minimal-6.17.9"
+      sources."@sentry/node-6.17.9"
+      sources."@sentry/tracing-6.17.9"
+      sources."@sentry/types-6.17.9"
+      sources."@sentry/utils-6.17.9"
+      sources."@tsconfig/node14-1.0.1"
+      sources."@types/bluebird-3.5.36"
       sources."@types/body-parser-1.19.0"
       sources."@types/connect-3.4.34"
-      sources."@types/diff-5.0.1"
-      sources."@types/express-4.17.11"
-      sources."@types/express-serve-static-core-4.17.19"
+      sources."@types/diff-5.0.2"
+      sources."@types/express-4.17.13"
+      sources."@types/express-serve-static-core-4.17.28"
       sources."@types/extend-3.0.1"
-      sources."@types/he-1.1.1"
+      sources."@types/he-1.1.2"
       sources."@types/json-schema-7.0.9"
       sources."@types/mime-1.3.2"
-      sources."@types/nedb-1.8.11"
+      sources."@types/nedb-1.8.12"
       sources."@types/node-14.17.19"
       sources."@types/nopt-3.0.29"
-      sources."@types/pg-8.6.0"
+      sources."@types/pg-8.6.4"
       sources."@types/qs-6.9.6"
       sources."@types/range-parser-1.2.3"
-      (sources."@types/sanitize-html-2.3.1" // {
+      sources."@types/retry-0.12.1"
+      (sources."@types/sanitize-html-2.6.2" // {
         dependencies = [
           sources."domhandler-4.2.0"
           sources."htmlparser2-6.1.0"
         ];
       })
       sources."@types/serve-static-1.13.9"
-      (sources."@typescript-eslint/eslint-plugin-4.33.0" // {
+      (sources."@typescript-eslint/eslint-plugin-5.12.0" // {
         dependencies = [
-          sources."lru-cache-6.0.0"
           sources."semver-7.3.5"
-          sources."yallist-4.0.0"
-        ];
-      })
-      (sources."@typescript-eslint/experimental-utils-4.33.0" // {
-        dependencies = [
-          sources."eslint-utils-3.0.0"
         ];
       })
-      sources."@typescript-eslint/parser-4.33.0"
-      sources."@typescript-eslint/scope-manager-4.33.0"
-      sources."@typescript-eslint/types-4.33.0"
-      (sources."@typescript-eslint/typescript-estree-4.33.0" // {
+      sources."@typescript-eslint/parser-5.12.0"
+      sources."@typescript-eslint/scope-manager-5.12.0"
+      sources."@typescript-eslint/type-utils-5.12.0"
+      sources."@typescript-eslint/types-5.12.0"
+      (sources."@typescript-eslint/typescript-estree-5.12.0" // {
         dependencies = [
-          sources."lru-cache-6.0.0"
           sources."semver-7.3.5"
-          sources."yallist-4.0.0"
         ];
       })
-      sources."@typescript-eslint/visitor-keys-4.33.0"
+      sources."@typescript-eslint/utils-5.12.0"
+      sources."@typescript-eslint/visitor-keys-5.12.0"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.7"
-      sources."acorn-7.4.1"
-      sources."acorn-jsx-5.3.1"
+      sources."acorn-8.7.0"
+      sources."acorn-jsx-5.3.2"
       sources."agent-base-6.0.2"
+      sources."aggregate-error-3.1.0"
       sources."ajv-6.12.6"
       sources."another-json-0.2.0"
-      (sources."ansi-align-3.0.1" // {
-        dependencies = [
-          sources."ansi-regex-5.0.1"
-          sources."string-width-4.2.3"
-          sources."strip-ansi-6.0.1"
-        ];
-      })
-      sources."ansi-colors-4.1.1"
-      sources."ansi-regex-4.1.0"
+      sources."ansi-regex-5.0.1"
       (sources."ansi-styles-4.3.0" // {
         dependencies = [
           sources."color-convert-2.0.1"
         ];
       })
-      sources."anymatch-3.1.2"
-      sources."append-transform-1.0.0"
+      sources."append-transform-2.0.0"
       sources."aproba-1.2.0"
       sources."archy-1.0.0"
       (sources."are-we-there-yet-1.1.7" // {
@@ -5785,23 +5164,21 @@ let
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."argparse-1.0.10"
+      sources."argparse-2.0.1"
       sources."array-flatten-1.1.1"
       sources."array-union-2.1.0"
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
-      sources."astral-regex-2.0.0"
       sources."async-0.2.10"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
       sources."balanced-match-1.0.2"
-      sources."base-x-3.0.8"
+      sources."base-x-3.0.9"
       sources."base64-js-1.5.1"
       sources."basic-auth-2.0.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."better-sqlite3-7.4.3"
-      sources."binary-extensions-2.2.0"
       sources."binary-search-tree-0.2.5"
       sources."bindings-1.5.0"
       sources."bintrees-1.0.1"
@@ -5814,48 +5191,25 @@ let
           sources."ms-2.0.0"
         ];
       })
-      (sources."boxen-4.2.0" // {
-        dependencies = [
-          sources."ansi-regex-5.0.1"
-          sources."chalk-3.0.0"
-          sources."has-flag-4.0.0"
-          sources."string-width-4.2.2"
-          sources."strip-ansi-6.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."browser-request-0.3.3"
+      sources."browserslist-4.19.1"
       sources."bs58-4.0.1"
       sources."buffer-5.7.1"
       sources."buffer-writer-2.0.0"
       sources."bytes-3.1.0"
-      (sources."cacheable-request-6.1.0" // {
-        dependencies = [
-          sources."get-stream-5.2.0"
-          sources."lowercase-keys-2.0.0"
-        ];
-      })
-      sources."caching-transform-3.0.2"
+      sources."caching-transform-4.0.0"
       sources."call-bind-1.0.2"
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
+      sources."caniuse-lite-1.0.30001312"
       sources."caseless-0.12.0"
-      (sources."chalk-2.4.2" // {
-        dependencies = [
-          sources."ansi-styles-3.2.1"
-          sources."escape-string-regexp-1.0.5"
-          sources."supports-color-5.5.0"
-        ];
-      })
+      sources."chalk-4.1.2"
       sources."chardet-1.3.0"
-      sources."chokidar-3.5.1"
       sources."chownr-2.0.0"
-      sources."ci-info-2.0.0"
-      sources."cli-boxes-2.2.1"
-      sources."cliui-5.0.0"
-      sources."clone-response-1.0.2"
+      sources."clean-stack-2.2.0"
+      sources."cliui-6.0.0"
       sources."code-point-at-1.1.0"
       sources."color-3.0.0"
       (sources."color-convert-1.9.3" // {
@@ -5865,18 +5219,10 @@ let
       })
       sources."color-name-1.1.4"
       sources."color-string-1.5.5"
-      sources."colorette-1.2.2"
-      sources."colors-1.4.0"
       sources."colorspace-1.1.2"
       sources."combined-stream-1.0.8"
       sources."commondir-1.0.1"
       sources."concat-map-0.0.1"
-      (sources."configstore-5.0.1" // {
-        dependencies = [
-          sources."make-dir-3.1.0"
-          sources."write-file-atomic-3.0.3"
-        ];
-      })
       sources."console-control-strings-1.1.0"
       sources."content-disposition-0.5.3"
       sources."content-type-1.0.4"
@@ -5884,22 +5230,14 @@ let
       sources."cookie-0.4.1"
       sources."cookie-signature-1.0.6"
       sources."core-util-is-1.0.2"
-      (sources."cp-file-6.2.0" // {
-        dependencies = [
-          sources."pify-4.0.1"
-        ];
-      })
       sources."cross-spawn-7.0.3"
-      sources."crypto-random-string-2.0.0"
       sources."dashdash-1.14.1"
-      sources."debug-4.3.1"
+      sources."debug-4.3.3"
       sources."decamelize-1.2.0"
-      sources."decompress-response-3.3.0"
       sources."deep-extend-0.6.0"
-      sources."deep-is-0.1.3"
+      sources."deep-is-0.1.4"
       sources."deepmerge-4.2.2"
-      sources."default-require-extensions-2.0.0"
-      sources."defer-to-connect-1.1.3"
+      sources."default-require-extensions-3.0.0"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."depd-1.1.2"
@@ -5920,59 +5258,42 @@ let
           sources."domhandler-4.2.0"
         ];
       })
-      sources."dot-prop-5.3.0"
-      sources."duplexer3-0.1.4"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
+      sources."electron-to-chromium-1.4.71"
       sources."emoji-regex-8.0.0"
       sources."enabled-2.0.0"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
-      sources."enquirer-2.3.6"
       sources."entities-2.2.0"
-      (sources."error-ex-1.3.2" // {
-        dependencies = [
-          sources."is-arrayish-0.2.1"
-        ];
-      })
       sources."es6-error-4.1.1"
-      sources."escape-goat-2.1.1"
+      sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-4.0.0"
-      (sources."eslint-7.21.0" // {
+      (sources."eslint-8.9.0" // {
         dependencies = [
-          sources."ansi-regex-5.0.1"
-          sources."chalk-4.1.1"
-          sources."has-flag-4.0.0"
-          sources."ignore-4.0.6"
-          sources."lru-cache-6.0.0"
-          sources."semver-7.3.5"
-          sources."strip-ansi-6.0.0"
-          sources."supports-color-7.2.0"
-          sources."yallist-4.0.0"
+          sources."eslint-scope-7.1.1"
+          sources."estraverse-5.3.0"
+          sources."glob-parent-6.0.2"
         ];
       })
       sources."eslint-scope-5.1.1"
-      (sources."eslint-utils-2.1.0" // {
-        dependencies = [
-          sources."eslint-visitor-keys-1.3.0"
-        ];
-      })
-      sources."eslint-visitor-keys-2.1.0"
-      (sources."espree-7.3.1" // {
+      (sources."eslint-utils-3.0.0" // {
         dependencies = [
-          sources."eslint-visitor-keys-1.3.0"
+          sources."eslint-visitor-keys-2.1.0"
         ];
       })
+      sources."eslint-visitor-keys-3.3.0"
+      sources."espree-9.3.1"
       sources."esprima-4.0.1"
       (sources."esquery-1.4.0" // {
         dependencies = [
-          sources."estraverse-5.2.0"
+          sources."estraverse-5.3.0"
         ];
       })
       (sources."esrecurse-4.3.0" // {
         dependencies = [
-          sources."estraverse-5.2.0"
+          sources."estraverse-5.3.0"
         ];
       })
       sources."estraverse-4.3.0"
@@ -5989,15 +5310,14 @@ let
       })
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
-      sources."fast-deep-equal-3.1.1"
-      sources."fast-glob-3.2.7"
+      sources."fast-deep-equal-3.1.3"
+      sources."fast-glob-3.2.11"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
-      sources."fast-safe-stringify-2.0.7"
       sources."fastq-1.13.0"
       sources."fecha-4.2.1"
       sources."file-entry-cache-6.0.1"
-      sources."file-stream-rotator-0.5.7"
+      sources."file-stream-rotator-0.6.1"
       sources."file-uri-to-path-1.0.0"
       sources."fill-keys-1.0.2"
       sources."fill-range-7.0.1"
@@ -6007,27 +5327,20 @@ let
           sources."ms-2.0.0"
         ];
       })
-      sources."find-cache-dir-2.1.0"
-      sources."find-up-3.0.0"
+      sources."find-cache-dir-3.3.2"
+      sources."find-up-4.1.0"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.1.1"
+      sources."flatted-3.2.5"
       sources."fn.name-1.1.0"
-      (sources."foreground-child-1.5.6" // {
-        dependencies = [
-          sources."cross-spawn-4.0.2"
-          sources."lru-cache-4.1.5"
-          sources."which-1.3.1"
-          sources."yallist-2.1.2"
-        ];
-      })
+      sources."foreground-child-2.0.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."forwarded-0.1.2"
       sources."fresh-0.5.2"
+      sources."fromentries-1.3.2"
       sources."fs-constants-1.0.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."functional-red-black-tree-1.0.1"
       (sources."gauge-2.7.4" // {
@@ -6040,18 +5353,21 @@ let
       })
       sources."generate-function-2.3.1"
       sources."generate-object-property-1.2.0"
+      sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
-      sources."get-stream-4.1.0"
+      sources."get-package-type-0.1.0"
       sources."getpass-0.1.7"
       sources."github-from-package-0.0.0"
       sources."glob-7.1.7"
       sources."glob-parent-5.1.2"
       sources."glob-to-regexp-0.4.1"
-      sources."global-dirs-2.1.0"
-      sources."globals-12.4.0"
-      sources."globby-11.0.4"
-      sources."got-9.6.0"
+      (sources."globals-13.12.1" // {
+        dependencies = [
+          sources."type-fest-0.20.2"
+        ];
+      })
+      sources."globby-11.1.0"
       sources."graceful-fs-4.2.3"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
@@ -6059,20 +5375,13 @@ let
       sources."has-flag-3.0.0"
       sources."has-symbols-1.0.2"
       sources."has-unicode-2.0.1"
-      sources."has-yarn-2.1.0"
       sources."hash.js-1.1.7"
-      (sources."hasha-3.0.0" // {
-        dependencies = [
-          sources."is-stream-1.1.0"
-        ];
-      })
+      sources."hasha-5.2.2"
       sources."he-1.2.0"
-      sources."hosted-git-info-2.8.9"
       sources."html-escaper-2.0.2"
       sources."html-to-text-6.0.0"
       sources."htmlencode-0.0.4"
       sources."htmlparser2-4.1.0"
-      sources."http-cache-semantics-4.1.0"
       (sources."http-errors-1.7.2" // {
         dependencies = [
           sources."inherits-2.0.3"
@@ -6082,134 +5391,104 @@ let
       sources."https-proxy-agent-5.0.0"
       sources."iconv-lite-0.6.3"
       sources."ieee754-1.2.1"
-      sources."ignore-5.1.8"
-      sources."ignore-by-default-1.0.1"
+      sources."ignore-5.2.0"
       sources."immediate-3.0.6"
       sources."import-fresh-3.3.0"
-      sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
+      sources."indent-string-4.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.7"
       sources."ipaddr.js-1.9.1"
       sources."irc-colors-1.5.0"
       sources."is-arrayish-0.3.2"
-      sources."is-binary-path-2.1.0"
-      sources."is-ci-2.0.0"
       sources."is-core-module-2.4.0"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
-      sources."is-glob-4.0.1"
-      sources."is-installed-globally-0.3.2"
+      sources."is-glob-4.0.3"
       sources."is-my-ip-valid-1.0.0"
       sources."is-my-json-valid-2.20.5"
-      sources."is-npm-4.0.0"
       sources."is-number-7.0.0"
-      sources."is-obj-2.0.0"
       sources."is-object-1.0.2"
-      sources."is-path-inside-3.0.3"
       sources."is-plain-object-5.0.0"
       sources."is-promise-2.2.2"
       sources."is-property-1.0.2"
       sources."is-stream-2.0.0"
       sources."is-typedarray-1.0.0"
-      sources."is-yarn-global-0.3.0"
+      sources."is-windows-1.0.2"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."isstream-0.1.2"
-      sources."istanbul-lib-coverage-2.0.5"
-      sources."istanbul-lib-hook-2.0.7"
-      sources."istanbul-lib-instrument-3.3.0"
-      sources."istanbul-lib-report-2.0.8"
-      (sources."istanbul-lib-source-maps-3.0.6" // {
+      sources."istanbul-lib-coverage-3.2.0"
+      sources."istanbul-lib-hook-3.0.0"
+      sources."istanbul-lib-instrument-4.0.3"
+      sources."istanbul-lib-processinfo-2.0.2"
+      sources."istanbul-lib-report-3.0.0"
+      (sources."istanbul-lib-source-maps-4.0.1" // {
         dependencies = [
-          sources."rimraf-2.7.1"
+          sources."source-map-0.6.1"
         ];
       })
-      sources."istanbul-reports-2.2.7"
-      sources."jasmine-3.6.2"
-      sources."jasmine-core-3.6.0"
+      sources."istanbul-reports-3.1.4"
+      sources."jasmine-3.99.0"
+      sources."jasmine-core-3.99.0"
       sources."js-tokens-4.0.0"
-      sources."js-yaml-3.14.0"
+      sources."js-yaml-4.1.0"
       sources."jsbn-0.1.1"
       sources."jsesc-2.5.2"
-      sources."json-buffer-3.0.0"
-      sources."json-parse-better-errors-1.0.2"
       sources."json-schema-0.2.3"
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."json-stringify-safe-5.0.1"
+      sources."json5-2.2.0"
       sources."jsonpointer-4.1.0"
       sources."jsprim-1.4.1"
-      sources."keyv-3.1.0"
-      sources."klona-2.0.4"
       sources."kuler-2.0.0"
-      sources."latest-version-5.1.0"
       sources."levn-0.4.1"
       sources."lie-3.1.1"
-      sources."load-json-file-4.0.0"
       sources."localforage-1.9.0"
-      sources."locate-path-3.0.0"
+      sources."locate-path-5.0.0"
       sources."lodash-4.17.21"
-      sources."lodash.clonedeep-4.5.0"
       sources."lodash.flattendeep-4.4.0"
-      sources."lodash.truncate-4.4.2"
-      sources."logform-2.2.0"
-      sources."loglevel-1.7.1"
+      sources."lodash.merge-4.6.2"
+      sources."logform-2.4.0"
+      sources."loglevel-1.8.0"
       sources."lowdb-1.0.0"
-      sources."lowercase-keys-1.0.1"
+      sources."lru-cache-6.0.0"
       sources."lru_map-0.3.3"
-      (sources."make-dir-2.1.0" // {
+      sources."make-dir-3.1.0"
+      sources."matrix-appservice-0.10.0"
+      (sources."matrix-appservice-bridge-3.2.0" // {
         dependencies = [
-          sources."pify-4.0.1"
-          sources."semver-5.7.1"
+          sources."matrix-bot-sdk-0.6.0-beta.2"
+          sources."mkdirp-1.0.4"
+          sources."nopt-5.0.0"
         ];
       })
-      sources."matrix-appservice-0.8.0"
-      (sources."matrix-appservice-bridge-3.1.2" // {
+      (sources."matrix-bot-sdk-0.5.19" // {
         dependencies = [
-          sources."@types/express-4.17.13"
-          sources."argparse-2.0.1"
-          sources."chalk-4.1.1"
-          sources."has-flag-4.0.0"
-          sources."js-yaml-4.1.0"
-          sources."lru-cache-6.0.0"
-          sources."matrix-bot-sdk-0.6.0-beta.2"
           sources."mkdirp-1.0.4"
-          sources."nopt-5.0.0"
-          sources."supports-color-7.2.0"
-          sources."yallist-4.0.0"
         ];
       })
-      (sources."matrix-js-sdk-9.11.0" // {
+      (sources."matrix-js-sdk-12.5.0" // {
         dependencies = [
-          sources."qs-6.10.1"
+          sources."qs-6.10.3"
         ];
       })
       sources."matrix-org-irc-1.2.0"
       sources."media-typer-0.3.0"
       sources."merge-descriptors-1.0.1"
-      sources."merge-source-map-1.1.0"
       sources."merge2-1.4.1"
       sources."methods-1.1.2"
       sources."micromatch-4.0.4"
       sources."mime-1.6.0"
       sources."mime-db-1.47.0"
       sources."mime-types-2.1.30"
-      sources."mimic-response-1.0.1"
       sources."minimalistic-assert-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
-      (sources."minipass-3.1.5" // {
-        dependencies = [
-          sources."yallist-4.0.0"
-        ];
-      })
-      (sources."minizlib-2.1.2" // {
-        dependencies = [
-          sources."yallist-4.0.0"
-        ];
-      })
+      sources."minipass-3.1.5"
+      sources."minizlib-2.1.2"
       sources."mkdirp-0.5.5"
       sources."mkdirp-classic-0.5.3"
       sources."module-not-found-error-1.0.1"
@@ -6222,107 +5501,85 @@ let
         ];
       })
       sources."ms-2.1.2"
-      sources."nanoid-3.1.23"
+      sources."nanoid-3.3.0"
       sources."napi-build-utils-1.0.2"
       sources."natural-compare-1.4.0"
       sources."nedb-1.8.0"
       sources."negotiator-0.6.2"
-      sources."nested-error-stacks-2.1.0"
       (sources."node-abi-2.30.1" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
       })
       sources."node-gyp-build-4.2.3"
-      (sources."nodemon-2.0.7" // {
-        dependencies = [
-          sources."debug-3.2.7"
-          sources."semver-5.7.1"
-          sources."supports-color-5.5.0"
-        ];
-      })
+      sources."node-preload-0.2.1"
+      sources."node-releases-2.0.2"
       sources."nopt-3.0.6"
-      (sources."normalize-package-data-2.5.0" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."normalize-path-3.0.0"
-      sources."normalize-url-4.5.1"
       sources."npmlog-4.1.2"
       sources."number-is-nan-1.0.1"
-      (sources."nyc-14.1.1" // {
+      (sources."nyc-15.1.0" // {
         dependencies = [
-          sources."rimraf-2.7.1"
+          sources."resolve-from-5.0.0"
         ];
       })
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
       sources."object-hash-2.2.0"
-      sources."object-inspect-1.10.3"
+      sources."object-inspect-1.12.0"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
       sources."one-time-1.0.0"
       sources."optionator-0.9.1"
-      sources."os-homedir-1.0.2"
-      sources."p-cancelable-1.1.0"
       sources."p-finally-1.0.0"
       sources."p-limit-2.3.0"
-      sources."p-locate-3.0.0"
+      sources."p-locate-4.1.0"
+      sources."p-map-3.0.0"
       sources."p-queue-6.6.2"
+      sources."p-retry-4.6.1"
       sources."p-timeout-3.2.0"
       sources."p-try-2.2.0"
-      sources."package-hash-3.0.0"
-      sources."package-json-6.5.0"
+      sources."package-hash-4.0.0"
       sources."packet-reader-1.0.0"
       sources."parent-module-1.0.1"
-      sources."parse-json-4.0.0"
       sources."parse-srcset-1.0.2"
       sources."parseurl-1.3.3"
-      sources."path-exists-3.0.0"
+      sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-3.1.1"
       sources."path-parse-1.0.7"
       sources."path-to-regexp-0.1.7"
       sources."path-type-4.0.0"
       sources."performance-now-2.1.0"
-      sources."pg-8.6.0"
+      sources."pg-8.7.3"
       sources."pg-connection-string-2.5.0"
       sources."pg-int8-1.0.1"
-      sources."pg-pool-3.3.0"
+      sources."pg-pool-3.5.1"
       sources."pg-protocol-1.5.0"
       sources."pg-types-2.2.0"
       sources."pgpass-1.0.4"
+      sources."picocolors-1.0.0"
       sources."picomatch-2.3.0"
       sources."pify-3.0.0"
-      sources."pkg-dir-3.0.0"
-      sources."postcss-8.3.0"
+      sources."pkg-dir-4.2.0"
+      sources."postcss-8.4.6"
       sources."postgres-array-2.0.0"
       sources."postgres-bytea-1.0.0"
       sources."postgres-date-1.0.7"
       sources."postgres-interval-1.2.0"
       sources."prebuild-install-6.1.4"
       sources."prelude-ls-1.2.1"
-      sources."prepend-http-2.0.0"
       sources."process-nextick-args-2.0.1"
-      sources."progress-2.0.3"
-      sources."prom-client-13.1.0"
+      sources."process-on-spawn-1.0.0"
+      sources."prom-client-14.0.1"
       sources."proxy-addr-2.0.6"
-      (sources."proxyquire-1.8.0" // {
-        dependencies = [
-          sources."resolve-1.1.7"
-        ];
-      })
-      sources."pseudomap-1.0.2"
+      sources."proxyquire-2.1.3"
       sources."psl-1.8.0"
-      sources."pstree.remy-1.1.8"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
-      sources."pupa-2.1.1"
       sources."qs-6.7.0"
       sources."queue-microtask-1.2.3"
-      sources."quick-lru-4.0.1"
+      sources."quick-lru-5.1.1"
       sources."range-parser-1.2.1"
       (sources."raw-body-2.4.0" // {
         dependencies = [
@@ -6334,18 +5591,9 @@ let
           sources."strip-json-comments-2.0.1"
         ];
       })
-      (sources."read-pkg-3.0.0" // {
-        dependencies = [
-          sources."path-type-3.0.0"
-        ];
-      })
-      sources."read-pkg-up-4.0.0"
       sources."readable-stream-3.6.0"
-      sources."readdirp-3.5.0"
-      sources."regenerator-runtime-0.13.7"
-      sources."regexpp-3.1.0"
-      sources."registry-auth-token-4.2.1"
-      sources."registry-url-5.1.0"
+      sources."regenerator-runtime-0.13.9"
+      sources."regexpp-3.2.0"
       sources."release-zalgo-1.0.0"
       (sources."request-2.88.2" // {
         dependencies = [
@@ -6356,24 +5604,23 @@ let
       sources."request-promise-core-1.1.4"
       sources."request-promise-native-1.0.9"
       sources."require-directory-2.1.1"
-      sources."require-from-string-2.0.2"
       sources."require-main-filename-2.0.0"
       sources."resolve-1.20.0"
       sources."resolve-from-4.0.0"
-      sources."responselike-1.0.2"
+      sources."retry-0.13.1"
       sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
       sources."run-parallel-1.2.0"
       sources."safe-buffer-5.1.2"
+      sources."safe-stable-stringify-2.3.1"
       sources."safer-buffer-2.1.2"
-      (sources."sanitize-html-2.4.0" // {
+      (sources."sanitize-html-2.7.0" // {
         dependencies = [
           sources."domhandler-4.2.0"
           sources."htmlparser2-6.1.0"
         ];
       })
       sources."semver-6.3.0"
-      sources."semver-diff-3.1.1"
       (sources."send-0.17.1" // {
         dependencies = [
           (sources."debug-2.6.9" // {
@@ -6400,19 +5647,9 @@ let
       })
       sources."simple-swizzle-0.2.2"
       sources."slash-3.0.0"
-      sources."slice-ansi-4.0.0"
-      sources."source-map-0.6.1"
-      sources."source-map-js-0.6.2"
-      (sources."spawn-wrap-1.4.3" // {
-        dependencies = [
-          sources."rimraf-2.7.1"
-          sources."which-1.3.1"
-        ];
-      })
-      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.8"
+      sources."source-map-0.5.7"
+      sources."source-map-js-1.0.2"
+      sources."spawn-wrap-2.0.0"
       sources."split2-3.2.2"
       sources."sprintf-js-1.0.3"
       sources."sshpk-1.16.1"
@@ -6420,34 +5657,23 @@ let
       sources."statuses-1.5.0"
       sources."stealthy-require-1.1.1"
       sources."steno-0.4.4"
-      (sources."string-width-3.1.0" // {
-        dependencies = [
-          sources."emoji-regex-7.0.3"
-          sources."is-fullwidth-code-point-2.0.0"
-        ];
-      })
+      sources."string-width-4.2.3"
       (sources."string_decoder-1.3.0" // {
         dependencies = [
           sources."safe-buffer-5.2.1"
         ];
       })
-      sources."strip-ansi-5.2.0"
-      sources."strip-bom-3.0.0"
+      sources."strip-ansi-6.0.1"
+      sources."strip-bom-4.0.0"
       sources."strip-json-comments-3.1.1"
-      sources."supports-color-6.1.0"
-      (sources."table-6.7.1" // {
+      (sources."supports-color-7.2.0" // {
         dependencies = [
-          sources."ajv-8.4.0"
-          sources."ansi-regex-5.0.1"
-          sources."json-schema-traverse-1.0.0"
-          sources."string-width-4.2.2"
-          sources."strip-ansi-6.0.0"
+          sources."has-flag-4.0.0"
         ];
       })
       (sources."tar-6.1.11" // {
         dependencies = [
           sources."mkdirp-1.0.4"
-          sources."yallist-4.0.0"
         ];
       })
       (sources."tar-fs-2.1.1" // {
@@ -6457,19 +5683,12 @@ let
       })
       sources."tar-stream-2.2.0"
       sources."tdigest-0.1.1"
-      sources."term-size-2.2.1"
-      sources."test-exclude-5.2.3"
+      sources."test-exclude-6.0.0"
       sources."text-hex-1.0.0"
       sources."text-table-0.2.0"
       sources."to-fast-properties-2.0.0"
-      sources."to-readable-stream-1.0.0"
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.0"
-      (sources."touch-3.1.0" // {
-        dependencies = [
-          sources."nopt-1.0.10"
-        ];
-      })
       sources."tough-cookie-2.5.0"
       sources."triple-beam-1.3.0"
       sources."tslib-1.11.1"
@@ -6480,32 +5699,16 @@ let
       sources."type-fest-0.8.1"
       sources."type-is-1.6.18"
       sources."typedarray-to-buffer-3.1.5"
-      sources."typescript-4.4.3"
-      (sources."undefsafe-2.0.3" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-        ];
-      })
+      sources."typescript-4.5.5"
       sources."underscore-1.4.4"
       sources."unhomoglyph-1.0.6"
-      sources."unique-string-2.0.0"
       sources."unpipe-1.0.0"
-      (sources."update-notifier-4.1.3" // {
-        dependencies = [
-          sources."chalk-3.0.0"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
       sources."uri-js-4.2.2"
-      sources."url-parse-lax-3.0.0"
       sources."utf-8-validate-5.0.5"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
       sources."uuid-3.4.0"
       sources."v8-compile-cache-2.3.0"
-      sources."validate-npm-package-license-3.0.4"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
       sources."which-2.0.2"
@@ -6518,38 +5721,22 @@ let
           sources."strip-ansi-4.0.0"
         ];
       })
-      (sources."widest-line-3.1.0" // {
+      (sources."winston-3.6.0" // {
         dependencies = [
-          sources."ansi-regex-5.0.1"
-          sources."string-width-4.2.2"
-          sources."strip-ansi-6.0.0"
-        ];
-      })
-      (sources."winston-3.3.3" // {
-        dependencies = [
-          sources."async-3.2.0"
-        ];
-      })
-      sources."winston-daily-rotate-file-4.5.5"
-      (sources."winston-transport-4.4.0" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."string_decoder-1.1.1"
+          sources."async-3.2.3"
         ];
       })
+      sources."winston-daily-rotate-file-4.6.1"
+      sources."winston-transport-4.5.0"
       sources."word-wrap-1.2.3"
-      (sources."wrap-ansi-5.1.0" // {
-        dependencies = [
-          sources."ansi-styles-3.2.1"
-        ];
-      })
+      sources."wrap-ansi-6.2.0"
       sources."wrappy-1.0.2"
-      sources."write-file-atomic-2.4.3"
-      sources."xdg-basedir-4.0.0"
+      sources."write-file-atomic-3.0.3"
       sources."xtend-4.0.2"
       sources."y18n-4.0.3"
-      sources."yargs-13.3.2"
-      sources."yargs-parser-13.1.2"
+      sources."yallist-4.0.0"
+      sources."yargs-15.4.1"
+      sources."yargs-parser-18.1.3"
     ];
     buildInputs = globalBuildInputs;
     meta = {
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-irc/package.json b/pkgs/servers/matrix-synapse/matrix-appservice-irc/package.json
index afbafc9b5e96b..f94cfc996ba75 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-irc/package.json
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-irc/package.json
@@ -1,11 +1,11 @@
 {
   "name": "matrix-appservice-irc",
-  "version": "0.32.1",
+  "version": "0.33.1",
   "description": "An IRC Bridge for Matrix",
   "main": "app.js",
   "bin": "./bin/matrix-appservice-irc",
   "engines": {
-    "node": ">=12"
+    "node": ">=14"
   },
   "scripts": {
     "prepare": "npm run build",
@@ -26,46 +26,45 @@
     "url": "https://github.com/matrix-org/matrix-appservice-irc/issues"
   },
   "dependencies": {
-    "@sentry/node": "^5.27.1",
+    "@sentry/node": "^6.17.9",
     "bluebird": "^3.7.2",
     "diff": "^5.0.0",
     "escape-string-regexp": "^4.0.0",
     "extend": "^3.0.2",
     "he": "^1.2.0",
-    "logform": "^2.2.0",
-    "matrix-appservice-bridge": "^3.1.2",
+    "logform": "^2.4.0",
+    "matrix-appservice-bridge": "^3.2.0",
     "matrix-org-irc": "^1.2.0",
-    "nedb": "^1.1.2",
-    "nodemon": "^2.0.7",
+    "matrix-bot-sdk": "0.5.19",
     "nopt": "^3.0.1",
     "p-queue": "^6.6.2",
-    "pg": "^8.6.0",
-    "quick-lru": "^4.0.1",
+    "pg": "^8.7.3",
+    "quick-lru": "^5.1.1",
     "request": "^2.54.0",
-    "request-promise-native": "^1.0.9",
-    "sanitize-html": "^2.4.0",
-    "winston": "^3.3.3",
-    "winston-daily-rotate-file": "^4.5.5"
+    "sanitize-html": "^2.7.0",
+    "winston": "^3.6.0",
+    "winston-daily-rotate-file": "^4.6.1"
   },
   "devDependencies": {
-    "@types/bluebird": "^3.5.32",
-    "@types/diff": "^5.0.1",
+    "@tsconfig/node14": "^1.0.1",
+    "@types/bluebird": "^3.5.36",
+    "@types/diff": "^5.0.2",
+    "@types/express": "4.17.13",
+    "@types/express-serve-static-core": "4.17.28",
     "@types/extend": "^3.0.1",
-    "@types/he": "^1.1.1",
-    "@types/nedb": "^1.8.11",
+    "@types/he": "^1.1.2",
+    "@types/nedb": "^1.8.12",
     "@types/node": "^14",
     "@types/nopt": "^3.0.29",
-    "@types/pg": "^8.6.0",
-    "@types/sanitize-html": "^2.3.1",
-    "@types/express": "4.17.11",
-    "@types/express-serve-static-core": "4.17.19",
-    "@typescript-eslint/eslint-plugin": "^4.33.0",
-    "@typescript-eslint/parser": "^4.33.0",
-    "eslint": "^7.21.0",
-    "jasmine": "^3.6.2",
-    "nyc": "^14.1.1",
-    "prom-client": "13.1.0",
-    "proxyquire": "^1.4.0",
-    "typescript": "^4.4.3"
+    "@types/pg": "^8.6.4",
+    "@types/sanitize-html": "^2.6.2",
+    "@typescript-eslint/eslint-plugin": "^5.12.0",
+    "@typescript-eslint/parser": "^5.12.0",
+    "eslint": "^8.9.0",
+    "jasmine": "^3.99.0",
+    "proxyquire": "^2.1.3",
+    "nyc": "^15.1.0",
+    "request-promise-native": "^1.0.9",
+    "typescript": "^4.5.5"
   }
 }
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-irc/src.json b/pkgs/servers/matrix-synapse/matrix-appservice-irc/src.json
index 14eb6c69d6df8..35bea461b9fd8 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-irc/src.json
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-irc/src.json
@@ -1,9 +1,10 @@
 {
   "url": "https://github.com/matrix-org/matrix-appservice-irc",
-  "rev": "6d5795ce9544c8d73f4846f1bd7190d352dddead",
-  "date": "2021-10-25T12:54:49+02:00",
-  "path": "/nix/store/by3iwfs5yayyv576qvfl650dgjw7jy5k-matrix-appservice-irc",
-  "sha256": "06v5ihn03vidfa8aq8q9yil5s0hdgz09hzsm75fk5v8d8bi3d7d4",
+  "rev": "00c8e7afb057021126c5e8ea9a46f2f8a55ea0bc",
+  "date": "2022-03-30T14:29:04+01:00",
+  "path": "/nix/store/9cm14kvicwc83irmbb8zsr8rc4893l22-matrix-appservice-irc",
+  "sha256": "1zhcihji9cwrdajx5dfnd4w38xsnqnqmwccngfiwrh8mwra7phfi",
+  "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
   "leaveDotGit": false
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-irc/update.sh b/pkgs/servers/matrix-synapse/matrix-appservice-irc/update.sh
index 4ed109cc352f9..5c49576075d60 100755
--- a/pkgs/servers/matrix-synapse/matrix-appservice-irc/update.sh
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-irc/update.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#! nix-shell -i bash -p nodePackages.node2nix nodejs-12_x curl jq nix nix-prefetch-git
+#! nix-shell -i bash -p nodePackages.node2nix curl jq nix nix-prefetch-git
 
 set -euo pipefail
 # cd to the folder containing this script
diff --git a/pkgs/servers/matterbridge/default.nix b/pkgs/servers/matterbridge/default.nix
index d0fde791291ce..e5fbe803854bd 100644
--- a/pkgs/servers/matterbridge/default.nix
+++ b/pkgs/servers/matterbridge/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "matterbridge";
-  version = "1.23.2";
+  version = "1.24.1";
 
   src = fetchFromGitHub {
     owner = "42wim";
     repo = pname;
     rev = "v${version}";
-    sha256 = "03fxq8dxkd5qiiw4zfsacdk2skg3apb4aw7k3wq0fv4n65hk25y3";
+    sha256 = "sha256-oT7CFJ266guNM6CEWn1BoNcERvLv89cVSlsrN6S/0h0=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/servers/mattermost/default.nix b/pkgs/servers/mattermost/default.nix
index 77ae99a9297e6..99a949116ce05 100644
--- a/pkgs/servers/mattermost/default.nix
+++ b/pkgs/servers/mattermost/default.nix
@@ -10,7 +10,7 @@
 , storePathAsBuildHash ? false }:
 
 let
-  version = "6.3.3";
+  version = "6.3.6";
 
   goPackagePath = "github.com/mattermost/mattermost-server";
 
@@ -22,7 +22,7 @@ let
       owner = "mattermost";
       repo = "mattermost-server";
       rev = "v${version}";
-      sha256 = "OSN8Bscgv7rPfKIfZ3ZnegdgsygFpSM7/vGWojj0P3k=";
+      sha256 = "905zxMucDTxxrLoh5ZoAExW4eFmi+xa98aI3EpJZ2Og=";
     };
 
     ldflags = [
@@ -65,7 +65,7 @@ let
 
     src = fetchurl {
       url = "https://releases.mattermost.com/${version}/mattermost-${version}-linux-amd64.tar.gz";
-      sha256 = "Og9DUGyE4cWYF7EQP/8szIrWM1Ldqnpqc+HW+L7XApo=";
+      sha256 = "JDsCDZEtbeBTYuzOSwrxFNRKXy+9KXirjaCz6ODP5uw=";
     };
 
     installPhase = ''
diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix
index 824e90b4869f7..4461930b13cc9 100644
--- a/pkgs/servers/memcached/default.nix
+++ b/pkgs/servers/memcached/default.nix
@@ -22,7 +22,6 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A distributed memory object caching system";
-    repositories.git = "https://github.com/memcached/memcached.git";
     homepage = "http://memcached.org/";
     license = licenses.bsd3;
     maintainers = [ maintainers.coconnor ];
diff --git a/pkgs/servers/misc/oven-media-engine/default.nix b/pkgs/servers/misc/oven-media-engine/default.nix
index 7cd209f95e3f7..4760b2b7ccb59 100644
--- a/pkgs/servers/misc/oven-media-engine/default.nix
+++ b/pkgs/servers/misc/oven-media-engine/default.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Open-source streaming video service with sub-second latency";
     homepage    = "https://ovenmediaengine.com";
-    license     = licenses.gpl2Only;
+    license     = licenses.agpl3Only;
     maintainers = with maintainers; [ lukegb ];
     platforms   = [ "x86_64-linux" ];
   };
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index 2b3ae9f64de8e..c541c74d5be5f 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -2,23 +2,23 @@
 
 buildGoModule rec {
   pname = "grafana";
-  version = "8.4.4";
+  version = "8.4.5";
 
-  excludedPackages = "\\(alert_webhook_listener\\|clean-swagger\\|release_publisher\\|slow_proxy\\|slow_proxy_mac\\|macaron\\)";
+  excludedPackages = [ "alert_webhook_listener" "clean-swagger" "release_publisher" "slow_proxy" "slow_proxy_mac" "macaron" ];
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "sha256-WLmmf2GlP7axuYj0TLJlDwe1k/9xNQbLvAggG+AshKg=";
+    sha256 = "sha256-CdGg979c7XD5V3jZbVeHUGylAarGc+cR+bFi5FngKtU=";
   };
 
   srcStatic = fetchurl {
     url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "sha256-eH6L7X1WvvL+9+R9FrpvVMxVJYcrHicaLkH2LUJs3AQ=";
+    sha256 = "sha256-PjDTEmzjDmT1WQGqF3GwojJ6mG2whBoPK0KWfXI8AB4=";
   };
 
-  vendorSha256 = "sha256-RugV5cHlpR739CA1C/7FkXasvkv18m7pPsK6mxfSkC0=";
+  vendorSha256 = "sha256-iOJEy7dCZGRTaOuL/09wcMlNDHjRi9SIr9bialdcKi4=";
 
   nativeBuildInputs = [ wire ];
 
diff --git a/pkgs/servers/monitoring/heapster/default.nix b/pkgs/servers/monitoring/heapster/default.nix
deleted file mode 100644
index d1205ae353b23..0000000000000
--- a/pkgs/servers/monitoring/heapster/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib, buildGoPackage, fetchFromGitHub, docker }:
-
-buildGoPackage rec {
-  rev = "3057a2c07061c8d9ffaf77e5442ffd7512ac0133";
-  pname = "heapster";
-  version = lib.strings.substring 0 7 rev;
-  goPackagePath = "k8s.io/heapster";
-  subPackages = [ "./" ];
-
-  src = fetchFromGitHub {
-    inherit rev;
-    owner = "kubernetes";
-    repo = "heapster";
-    sha256 = "1vg83207y7yigydnnhlvzs3s94vx02i56lqgs6a96c6i3mr3ydpb";
-  };
-
-  preBuild = ''
-    export GOPATH=$GOPATH:$NIX_BUILD_TOP/go/src/${goPackagePath}/Godeps/_workspace
-  '';
-
-  meta = with lib; {
-    description = "Compute Resource Usage Analysis and Monitoring of Container Clusters";
-    license = licenses.asl20;
-    homepage = "https://github.com/kubernetes/heapster";
-    maintainers = with maintainers; [ offline ];
-    platforms = docker.meta.platforms;
-  };
-}
diff --git a/pkgs/servers/monitoring/munin/default.nix b/pkgs/servers/monitoring/munin/default.nix
index 258247c34f47e..e8fa4feb6af47 100644
--- a/pkgs/servers/monitoring/munin/default.nix
+++ b/pkgs/servers/monitoring/munin/default.nix
@@ -13,8 +13,11 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-p273O5JLFX1dA2caV3lVVL9YNTcGMSrC7DWieUfUmqI=";
   };
 
-  buildInputs = [
+  nativeBuildInputs = [
     makeWrapper
+  ];
+
+  buildInputs = [
     which
     coreutils
     rrdtool
diff --git a/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix b/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
index 9660404283823..b55b47cd7afdf 100644
--- a/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
+++ b/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "check_ssl_cert";
-  version = "2.22.0";
+  version = "2.23.0";
 
   src = fetchFromGitHub {
     owner = "matteocorti";
     repo = "check_ssl_cert";
     rev = "v${version}";
-    sha256 = "sha256-ytnaygAVKppyyUnxfMlwf9GvHzt8SN5I+b2FTcyaM/4=";
+    sha256 = "sha256-RGl6Fgm9FVaZQMWHl93RwHvrScz69VgbIyDBqMh3PVo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/monitoring/net-snmp/default.nix b/pkgs/servers/monitoring/net-snmp/default.nix
index 884b358644acf..432542a112060 100644
--- a/pkgs/servers/monitoring/net-snmp/default.nix
+++ b/pkgs/servers/monitoring/net-snmp/default.nix
@@ -53,7 +53,7 @@ in stdenv.mkDerivation rec {
 
   postInstall = ''
     for f in "$lib/lib/"*.la $bin/bin/net-snmp-config $bin/bin/net-snmp-create-v3-user; do
-      sed 's|-L${openssl.dev}|-L${openssl.out}|g' -i $f
+      sed 's|-L${openssl.dev}|-L${lib.getLib openssl}|g' -i $f
     done
     mkdir $dev/bin
     mv $bin/bin/net-snmp-config $dev/bin
diff --git a/pkgs/servers/monitoring/prometheus/alertmanager.nix b/pkgs/servers/monitoring/prometheus/alertmanager.nix
index db9443fc04a93..e42469f047857 100644
--- a/pkgs/servers/monitoring/prometheus/alertmanager.nix
+++ b/pkgs/servers/monitoring/prometheus/alertmanager.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "alertmanager";
-  version = "0.23.0";
+  version = "0.24.0";
   rev = "v${version}";
 
   src = fetchFromGitHub {
     inherit rev;
     owner = "prometheus";
     repo = "alertmanager";
-    sha256 = "sha256-06mKgWUyw5jsjKiRXQ9/oqHvFdkY2nS9Z3eW60lTNbU=";
+    sha256 = "sha256-hoCE0wD9/Sh/oBce7kCg/wG44FmMs6dAKnEYP+2sH0w=";
   };
 
-  vendorSha256 = "sha256-zJvzCC7Vn5repWssyDuGtoUSZC2ojQhMqDX5Orr0ST0=";
+  vendorSha256 = "sha256-ePb9qdCTEHHIV6JlbrBlaZjD5APwQuoGloO88W5S7Oc=";
 
   subPackages = [ "cmd/alertmanager" "cmd/amtool" ];
 
diff --git a/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix b/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix
index 2349bac177c9f..430da1ea4d08e 100644
--- a/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/blackbox-exporter.nix
@@ -3,9 +3,10 @@
 buildGoModule rec {
   pname = "blackbox_exporter";
   version = "0.20.0";
+  rev = "v${version}";
 
   src = fetchFromGitHub {
-    rev = "v${version}";
+    inherit rev;
     owner = "prometheus";
     repo = "blackbox_exporter";
     sha256 = "sha256-Y3HdFIChkQVooxy2I2Gbqw3WLHsI4Zm+osHTzFluRZA=";
@@ -18,11 +19,21 @@ buildGoModule rec {
 
   passthru.tests = { inherit (nixosTests.prometheus-exporters) blackbox; };
 
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/prometheus/common/version.Version=${version}"
+    "-X github.com/prometheus/common/version.Revision=${rev}"
+    "-X github.com/prometheus/common/version.Branch=unknown"
+    "-X github.com/prometheus/common/version.BuildUser=nix@nixpkgs"
+    "-X github.com/prometheus/common/version.BuildDate=unknown"
+  ];
+
   meta = with lib; {
     description = "Blackbox probing of endpoints over HTTP, HTTPS, DNS, TCP and ICMP";
     homepage = "https://github.com/prometheus/blackbox_exporter";
     license = licenses.asl20;
-    maintainers = with maintainers; [ globin fpletz willibutz Frostman ];
+    maintainers = with maintainers; [ globin fpletz willibutz Frostman ma27 ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/dmarc-exporter/default.nix b/pkgs/servers/monitoring/prometheus/dmarc-exporter/default.nix
index 98848ee670227..e083df90b4135 100644
--- a/pkgs/servers/monitoring/prometheus/dmarc-exporter/default.nix
+++ b/pkgs/servers/monitoring/prometheus/dmarc-exporter/default.nix
@@ -7,7 +7,8 @@ let
       poetry2nix.defaultPoetryOverrides
       (import ./poetry-git-overlay.nix { inherit pkgs; })
       (self: super: {
-        dmarc-metrics-exporter = super.dmarc-metrics-exporter.overridePythonAttrs ({ meta ? {}, ... }: {
+        dmarc-metrics-exporter = super.dmarc-metrics-exporter.overridePythonAttrs ({ nativeBuildInputs ? [ ], meta ? {}, ... }: {
+          nativeBuildInputs = nativeBuildInputs ++ [ self.poetry ];
           meta = with lib; meta // {
             license = licenses.mit;
             homepage = "https://github.com/jgosmann/dmarc-metrics-exporter/";
@@ -44,6 +45,9 @@ let
           '';
         });
         dataclasses = null;
+        bite-parser = super.bite-parser.overridePythonAttrs (old: {
+          nativeBuildInputs = old.nativeBuildInputs ++ [ self.poetry ];
+        });
       })
     ];
   }) python;
diff --git a/pkgs/servers/monitoring/prometheus/mesos-exporter.nix b/pkgs/servers/monitoring/prometheus/mesos-exporter.nix
deleted file mode 100644
index 289b8f2403d8f..0000000000000
--- a/pkgs/servers/monitoring/prometheus/mesos-exporter.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
-
-buildGoPackage rec {
-  pname = "mesos_exporter";
-  version = "1.1.2";
-
-  goPackagePath = "github.com/prometheus/mesos_exporter";
-
-  src = fetchFromGitHub {
-    rev = "v${version}";
-    owner = "mesos";
-    repo = "mesos_exporter";
-    sha256 = "0nvjlpxdhh60wcdw2fdc8h0vn6fxkz0nh7zrx43hjxymvc15ixza";
-  };
-
-  meta = with lib; {
-    description = "Export Mesos metrics to Prometheus";
-    homepage = "https://github.com/prometheus/mesos_exporter";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ benley ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/servers/monitoring/prometheus/node-exporter.nix b/pkgs/servers/monitoring/prometheus/node-exporter.nix
index 7d40e919773d1..0da2bb604a0b1 100644
--- a/pkgs/servers/monitoring/prometheus/node-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/node-exporter.nix
@@ -1,4 +1,7 @@
-{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
+{ lib, stdenv, buildGoModule, fetchFromGitHub, nixosTests
+  # darwin
+  , CoreFoundation, IOKit
+}:
 
 buildGoModule rec {
   pname = "node_exporter";
@@ -17,6 +20,13 @@ buildGoModule rec {
   # FIXME: tests fail due to read-only nix store
   doCheck = false;
 
+  buildInputs = lib.optionals stdenv.isDarwin [ CoreFoundation IOKit ];
+  # upstream currently doesn't work with the version of the macOS SDK
+  # we're building against in nix-darwin without a patch.
+  # this patch has been submitted upstream at https://github.com/prometheus/node_exporter/pull/2327
+  # and only needs to be carried until it lands in a new release.
+  patches = lib.optionals stdenv.isDarwin [ ./node-exporter/node-exporter-darwin.patch ];
+
   excludedPackages = [ "docs/node-mixin" ];
 
   ldflags = [
diff --git a/pkgs/servers/monitoring/prometheus/node-exporter/node-exporter-darwin.patch b/pkgs/servers/monitoring/prometheus/node-exporter/node-exporter-darwin.patch
new file mode 100644
index 0000000000000..8077bbc47511e
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/node-exporter/node-exporter-darwin.patch
@@ -0,0 +1,17 @@
+diff --git a/collector/powersupplyclass_darwin.go b/collector/powersupplyclass_darwin.go
+index a070f64..01d7f18 100644
+--- a/collector/powersupplyclass_darwin.go
++++ b/collector/powersupplyclass_darwin.go
+@@ -18,9 +18,11 @@ package collector
+ 
+ /*
+ #cgo LDFLAGS: -framework IOKit -framework CoreFoundation
++#include <CoreFoundation/CFNumber.h>
++#include <CoreFoundation/CFRunLoop.h>
++#include <CoreFoundation/CFString.h>
+ #include <IOKit/ps/IOPowerSources.h>
+ #include <IOKit/ps/IOPSKeys.h>
+-#include <CoreFoundation/CFArray.h>
+ 
+ // values collected from IOKit Power Source APIs
+ // Functions documentation available at
diff --git a/pkgs/servers/monitoring/prometheus/redis-exporter.nix b/pkgs/servers/monitoring/prometheus/redis-exporter.nix
index 4b60c5a28d0e1..fa654c3a4656e 100644
--- a/pkgs/servers/monitoring/prometheus/redis-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/redis-exporter.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "redis_exporter";
-  version = "1.36.0";
+  version = "1.37.0";
 
   src = fetchFromGitHub {
     owner = "oliver006";
     repo = "redis_exporter";
     rev = "v${version}";
-    sha256 = "sha256-n+LvWl0KMAay90GQg42ODcvxX9QbvQ1Ixo4PfJYEAWA=";
+    sha256 = "sha256-S60/SwbMp6INf98MGc26zMZH8q7gBynyaT/ivN7o0rA=";
   };
 
   vendorSha256 = "sha256-u9FfKOD6kiCFTjwQ7LHE9WC4j2vPm0ZCluL8pC4aQIc=";
diff --git a/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix b/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix
index 61cf36f882df1..cfa2d1d43a15f 100644
--- a/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/wireguard-exporter.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wireguard-exporter";
-  version = "3.6.2";
+  version = "3.6.3";
 
   src = fetchFromGitHub {
     owner = "MindFlavor";
     repo = "prometheus_wireguard_exporter";
     rev = version;
-    sha256 = "sha256-eVGyBynKZLGlsaLwUOx7cJWdRHl65S0Wk1K5c9T8ysQ=";
+    sha256 = "sha256-m29/whlmhIkLin84NOWs2NVZcXNpVsyyHZ1CLp4FXd0=";
   };
 
-  cargoSha256 = "sha256-JbFoaMTs6TPYq2qgBkT7WX1itMXohgcWbC1UvaXOi8o=";
+  cargoSha256 = "sha256-XK4hjBIcOx6JMv61gOpIXaZy7Unw+Bk84TEb+8Fib6Q=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
 
diff --git a/pkgs/servers/monitoring/telegraf/default.nix b/pkgs/servers/monitoring/telegraf/default.nix
index 89653f1066e16..3250d2339941f 100644
--- a/pkgs/servers/monitoring/telegraf/default.nix
+++ b/pkgs/servers/monitoring/telegraf/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "telegraf";
-  version = "1.21.4";
+  version = "1.22.0";
 
   excludedPackages = "test";
 
@@ -12,10 +12,10 @@ buildGoModule rec {
     owner = "influxdata";
     repo = "telegraf";
     rev = "v${version}";
-    sha256 = "sha256-0z6pMZY6/d+oC0TlJrymCeYWf+IjLWnR1M4eo/lnpw0=";
+    sha256 = "sha256-Y7vR6kmh1rObDyyHA2NFvBkilBz+Bx8BHqlAoVY/gGo=";
   };
 
-  vendorSha256 = "sha256-igeRWLaYbHjZdbYBrynyjZPj1bwCXtnnU4UJM/CdaO0=";
+  vendorSha256 = "sha256-oSN6nHOtXA2cSZEmToRvALkSxAyel9BU7bh1groEnsw=";
   proxyVendor = true;
 
   ldflags = [
diff --git a/pkgs/servers/monitoring/thanos/default.nix b/pkgs/servers/monitoring/thanos/default.nix
index 932e03b99f837..8692b5b558ab9 100644
--- a/pkgs/servers/monitoring/thanos/default.nix
+++ b/pkgs/servers/monitoring/thanos/default.nix
@@ -1,16 +1,16 @@
 { lib, buildGoModule, fetchFromGitHub }:
 buildGoModule rec {
   pname = "thanos";
-  version = "0.24.0";
+  version = "0.25.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "thanos-io";
     repo = "thanos";
-    sha256 = "sha256-HdfOxi9l2xPs4JOY15Yt+KlCm7SQ0Ap1qa5F7abr2g8=";
+    sha256 = "sha256-yisJqr2JMpXSo9O3q7WpNe1r6w7E3XyeLpVlbdest3s=";
   };
 
-  vendorSha256 = "sha256-+0XW7xGocM00kxmOMj0xHYPIpxc0rTQnyr9JQ/cPl3I=";
+  vendorSha256 = "sha256-tHtfS4PnO9n3ckUdaG6dQAIE2D2PG6km4Tqofaab/eg=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index d9a4465a10a45..92e8d6ff5d21e 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -46,13 +46,13 @@ in {
   '';
 
   nextcloud22 = generic {
-    version = "22.2.5";
-    sha256 = "sha256-gb5N0u5tu4/nI2xIpjXwm2hiSDCrBhIDyN6gKGOsdS8=";
+    version = "22.2.6";
+    sha256 = "0f1d0f0cb000c51b11886be25a8adce478846c3233572fcf28b44c5d4036e235";
   };
 
   nextcloud23 = generic {
-    version = "23.0.2";
-    sha256 = "sha256-ngJGLTjqq2RX/KgHe9Rv54w6qtRC6RpuEuMvp9UbxO4=";
+    version = "23.0.3";
+    sha256 = "39401d400fab02a84a175ea6e995b8ed4110fbaea48c876230b4f09755a62986";
   };
   # tip: get she sha with:
   # curl 'https://download.nextcloud.com/server/releases/nextcloud-${version}.tar.bz2.sha256'
diff --git a/pkgs/servers/nominatim/default.nix b/pkgs/servers/nominatim/default.nix
new file mode 100644
index 0000000000000..4b7f9e3e2577a
--- /dev/null
+++ b/pkgs/servers/nominatim/default.nix
@@ -0,0 +1,68 @@
+{ stdenv, lib, fetchFromGitHub, fetchurl
+, clang-tools, cmake, bzip2, zlib, expat, boost, git, pandoc, gzip
+, postgresql_12
+, python3, python3Packages, php
+}:
+
+let
+  countryGrid = fetchurl {
+    # Nominatim docs mention https://www.nominatim.org/data/country_grid.sql.gz but it's not a very good URL for pinning
+    url = "https://web.archive.org/web/20220323041006/https://nominatim.org/data/country_grid.sql.gz";
+    sha256 = "sha256-/mY5Oq9WF0klXOv0xh0TqEJeMmuM5QQJ2IxANRZd4Ek=";
+  };
+in
+stdenv.mkDerivation rec {
+  pname = "nominatim";
+  version = "4.0.1";
+
+  src = fetchFromGitHub {
+    owner = "osm-search";
+    repo = "Nominatim";
+    rev = "v${version}";
+    fetchSubmodules = true;
+    sha256 = "sha256-sKI/KBKveb5kAWJ7y1xw+ZF1thynr402rJhVjkIdFMo=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    clang-tools
+    git
+    pandoc
+    php
+  ];
+
+  buildInputs = [
+    bzip2
+    zlib
+    expat
+    boost
+    python3
+    # python3Packages.pylint  # We don't want to run pylint because the package could break on pylint bumps which is really annoying.
+    # python3Packages.pytest  # disabled since I can't get it to run tests anyway
+    # python3Packages.behave  # disabled since I can't get it to run tests anyway
+    postgresql_12
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
+    pyyaml
+    python-dotenv
+    psycopg2
+    psutil
+    jinja2
+    PyICU
+    datrie
+  ];
+
+  postPatch = ''
+    mkdir -p ./data
+    ln -s ${countryGrid} ./data/country_osm_grid.sql.gz
+  '';
+
+  meta = with lib; {
+    description = "Search engine for OpenStreetMap data";
+    homepage = "https://nominatim.org/";
+    license = licenses.gpl2Plus;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.mausch ];
+  };
+}
diff --git a/pkgs/servers/nosql/arangodb/default.nix b/pkgs/servers/nosql/arangodb/default.nix
index bf7f7b4396096..d9f1892beca94 100644
--- a/pkgs/servers/nosql/arangodb/default.nix
+++ b/pkgs/servers/nosql/arangodb/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, openssl, zlib, cmake, python2, perl, snappy, lzo, which }:
+{ stdenv, lib, fetchFromGitHub, openssl, zlib, cmake, python2, perl, snappy, lzo, which, catch2, catch }:
 
 let
   common = { version, sha256 }: stdenv.mkDerivation {
@@ -26,6 +26,14 @@ let
       # with nixpkgs, it has no sense to check for a version update
       substituteInPlace js/client/client.js --replace "require('@arangodb').checkAvailableVersions();" ""
       substituteInPlace js/server/server.js --replace "require('@arangodb').checkAvailableVersions();" ""
+
+      ${if (lib.versionOlder version "3.4") then ''
+        cp ${catch}/include/catch/catch.hpp 3rdParty/catch/catch.hpp
+      '' else if (lib.versionOlder version "3.5") then ''
+        cp ${catch2}/include/catch2/catch.hpp 3rdParty/catch/catch.hpp
+      '' else ''
+        (cd 3rdParty/boost/1.69.0 && patch -p1 < ${../../../development/libraries/boost/pthread-stack-min-fix.patch})
+      ''}
     '';
 
     cmakeFlags = [
diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix
index af1d1d3710626..f42acee87b515 100644
--- a/pkgs/servers/nosql/redis/default.nix
+++ b/pkgs/servers/nosql/redis/default.nix
@@ -1,4 +1,5 @@
 { lib, stdenv, fetchurl, lua, pkg-config, nixosTests
+, tcl, which, ps
 , withSystemd ? stdenv.isLinux && !stdenv.hostPlatform.isStatic, systemd
 # dependency ordering is broken at the moment when building with openssl
 , tlsSupport ? !stdenv.hostPlatform.isStatic, openssl
@@ -44,7 +45,26 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isClang [ "-std=c11" ];
 
-  doCheck = false; # needs tcl
+  # darwin currently lacks a pure `pgrep` which is extensively used here
+  doCheck = !stdenv.isDarwin;
+  checkInputs = [ which tcl ps ];
+  checkPhase = ''
+    runHook preCheck
+
+    # disable test "Connect multiple replicas at the same time": even
+    # upstream find this test too timing-sensitive
+    substituteInPlace tests/integration/replication.tcl \
+      --replace 'foreach mdl {no yes}' 'foreach mdl {}'
+
+    ./runtest \
+      --no-latency \
+      --timeout 2000 \
+      --clients $NIX_BUILD_CORES \
+      --tags -leaks \
+      --skipunit integration/failover # flaky and slow
+
+    runHook postCheck
+  '';
 
   passthru.tests.redis = nixosTests.redis;
 
diff --git a/pkgs/servers/openxpki/default.nix b/pkgs/servers/openxpki/default.nix
deleted file mode 100644
index 1477e07ee4417..0000000000000
--- a/pkgs/servers/openxpki/default.nix
+++ /dev/null
@@ -1,83 +0,0 @@
-{ lib, fetchgit, perl, openssl, perlPackages, gettext, python3Packages
-# TODO: Remove extra dependencies once it is clear that they are NOT needed somewhere.
-, extraDependencies1 ? false, extraDependencies2 ? false, extraDependencies3 ? false }:
-
-perlPackages.buildPerlPackage {
-  pname = "openxpki";
-  version = "git20150807";
-
-  src = fetchgit {
-    url = "https://github.com/openxpki/openxpki";
-    rev = "5cb76c553b6b1a81ede380857700628a7521f6e3";
-    sha256 = "05bmhani2c7ays488xv3hx5xbxb612bnwq5rdjwmsj51xpaz454p";
-  };
-
-  buildInputs = [ perl openssl gettext python3Packages.sphinx ];
-  propagatedBuildInputs = with perlPackages;
-    [ # dependencies from Makefile.PL
-      libintl-perl ConfigVersioned LWP ClassAccessorChained IOSocketSSL ClassStd
-      CGISession ConfigStd ConfigMerge Connector CryptCBC CryptOpenSSLAES CryptPKCS10
-      DBDMock DataPassword DataSerializer DateTimeFormatDateParse IOPrompt
-      IPCShareLite JSON LogLog4perl LWPProtocolConnect LWPProtocolHttps MailRFC822Address
-      Moose NetAddrIP NetDNS NetIP perlldap NetHTTP NetServer NetSSLeay ParamsValidate PathClass
-      ProcProcessTable ProcSafeExec RegexpCommon SOAPLite Switch SysSigAction TemplateToolkit
-      TestPod TestPodCoverage TextCSV_XS Workflow XMLFilterXInclude XMLParser
-      XMLSAX XMLSAXWriter XMLSimple XMLValidatorSchema ]
-    ++ lib.optionals extraDependencies1
-    [ # dependencies from parsing through core/server
-      ClassAccessor PathTools DataDumper DateTime DateTimeFormatStrptime DBI
-      Encode ExceptionClass FilePath FileTemp Filter GetoptLong HTMLParser
-      ScalarListUtils MathBigInt Memoize libnet RTClientREST
-      Storable ]
-    ++ lib.optionals extraDependencies2
-    [ # dependencies taken from Debian
-      MooseXTypesPathClass DataStreamBulk MooseXStrictConstructor GitPurePerl
-      ConfigGitLike DevelStackTrace TreeDAGNode ClassObservable ClassFactory TimeDate ConfigAny
-      CGIFast ClassISA YAML YAMLLibYAML AuthenSASL TextCSV FileFindRulePerl IODigest ]
-    ++ lib.optionals extraDependencies3
-    [ # dependencies taken from https://metacpan.org/pod/release/ALECH/Bundle-OpenXPKI-0.06/lib/Bundle/OpenXPKI.pm
-      AttributeParamsValidate BC CGI CPAN CacheCache ClassClassgenclassgen
-      ClassContainer ClassDataInheritable ClassSingleton ConvertASN1 DBDSQLite DBIxHTMLViewLATEST
-      DBFile DataPage DataSpreadPagination DateTimeLocale DateTimeTimeZone DevelPPPort
-      DevelSymdump DigestSHA1 Env Error ExtUtilsConstant ExtUtilsInstall
-      ExtUtilsMakeMaker FileCheckTree GoferTransporthttp HTMLMason HTMLTagset
-      HTTPServerSimpleMason IO IPCSysV LocaleCodes LogDispatch MathBigRat
-      MathRound ModuleBuild ModuleBuildDeprecated NetPing PodChecker
-      PodCoverage PodLaTeX PodParser PodPerldoc PodPlainer PodSimple
-      SubUplevel SysSyslog TemplatePluginAutoformat TermReadKey TestException
-      TestHTTPServerSimple TestHarnessStraps TextBalanced TextIconv TextSoundex
-      ThreadQueue TieFile TieRefHash TimeLocal URI
-      UnicodeNormalize WWWMechanize Want XMLFilterBufferText XMLNamespaceSupport bignum
-      libapreq2 libnet podlators threadsshared version ];
-
-  preConfigure = ''
-    substituteInPlace core/server/Makefile.PL \
-      --replace "my \$openssl_inc_dir = ''';" "my \$openssl_inc_dir = '${openssl.dev}/include';" \
-      --replace "my \$openssl_lib_dir = ''';" "my \$openssl_lib_dir = '${openssl.out}/lib';" \
-      --replace "my \$openssl_binary  = ''';" "my \$openssl_binary  = '${openssl.bin}/bin/openssl';"
-    substituteInPlace tools/vergen --replace "#!/usr/bin/perl" "#!${perl}/bin/perl"
-    cp ${./vergen_revision_state} .vergen_revision_state
-    cd core/server
-    '';
-
-  postInstall = ''
-    mkdir -p $out/share/openxpki
-    cp -r ../htdocs_source $out/share/openxpki/.
-    cp -r ../../config $out/share/openxpki/.
-    cp -r ../../qatest $out/share/openxpki/.
-    (cd ../i18n; make scan; make; make install PREFIX=$out)
-    (cd ../../clients/perl/OpenXPKI-Client-Enrollment; perl Makefile.PL PREFIX=$out; make; make install PREFIX=$out)
-    (cd ../../doc; make html man; cp _build/man/* $out/share/man/man1/.; mkdir -p $out/share/openxpki/doc; cp -r _build/{html,doctrees} $out/share/openxpki/doc/.)
-    '';
-
-  doCheck = false;
-
-  meta = {
-    homepage = "http://www.openxpki.org";
-    description = "Enterprise-grade PKI/Trustcenter software";
-    license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ tstrobel ];
-    platforms = with lib.platforms; linux;
-    broken = true;  # broken with openssl 1.1 (v2.x might fix this)
-  };
-}
diff --git a/pkgs/servers/openxpki/vergen_revision_state b/pkgs/servers/openxpki/vergen_revision_state
deleted file mode 100644
index 9a5d7b531de47..0000000000000
--- a/pkgs/servers/openxpki/vergen_revision_state
+++ /dev/null
@@ -1,12 +0,0 @@
-$revision_info = {
-                   'git-tag' => 'v0.33.0',
-                   'git-tags' => 'v0.33.0',
-                   'git-branch' => 'master',
-                   'git-description-root' => undef,
-                   'git-description' => 'v0.33.0',
-                   'revision' => '1591',
-                   'last-changed-revision' => '1591',
-                   'git-abbreviated-commit-hash' => '5cb76c5',
-                   'git-commit-hash' => '5cb76c553b6b1a81ede380857700628a7521f6e3',
-                   'git-commit-date' => 'Tue, 4 Aug 2015 12:47:29 +0200'
-                 };
diff --git a/pkgs/servers/owncast/default.nix b/pkgs/servers/owncast/default.nix
index 774f51bc0f630..313d17e8e8d42 100644
--- a/pkgs/servers/owncast/default.nix
+++ b/pkgs/servers/owncast/default.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   propagatedBuildInputs = [ ffmpeg ];
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
 
   preInstall = ''
     mkdir -p $out
diff --git a/pkgs/servers/plex/raw.nix b/pkgs/servers/plex/raw.nix
index aec7178281e33..861d66b3d04f3 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.25.7.5604-980a13e02";
+  version = "1.25.8.5663-e071c3d62";
   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";
-    hash = "sha256-X0KaaX5NvF04pyRHSUeHtXQ+OTv9BK0bzDl1J5C6Vts=";
+    hash = "sha256-w9k8phyiA/sK+zRlK8PAciebt5UJvmVFA+cfx4r78Gs=";
   } else fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb";
-    hash = "sha256-tqpOQDdHBl55jSyonNV7/UjCcx6jY9VdAzh/zBA/CAs=";
+    hash = "sha256-baOofe+7PZfLhwIXrB1ibKkkEJRVivgGHDN4phlg57Q=";
   };
 
   outputs = [ "out" "basedb" ];
diff --git a/pkgs/servers/roapi/http.nix b/pkgs/servers/roapi/http.nix
new file mode 100644
index 0000000000000..775850ea32e04
--- /dev/null
+++ b/pkgs/servers/roapi/http.nix
@@ -0,0 +1,55 @@
+{ stdenv
+, lib
+, fetchurl
+}:
+let
+  pname = "roapi-http";
+  version = "0.6.0";
+  target = if stdenv.isDarwin then "apple-darwin" else "";
+in
+# TODO build from source, currently compilation fails on darwin on snmalloc with
+#  ./mem/../ds/../pal/pal_apple.h:277:64: error: use of undeclared identifier 'kCCSuccess'
+#            reinterpret_cast<void*>(&result), sizeof(result)) != kCCSuccess)
+#
+# rustPlatform.buildRustPackage {
+#   pname = "roapi-http";
+#   inherit version;
+
+#   src = fetchFromGitHub {
+#     owner = "roapi";
+#     repo = "roapi";
+#     rev = "roapi-http-v${version}";
+#     sha256 = "sha256-qHAO3h+TTCQQ7vdd4CoXVGfKZ1fIxTWKqbUNnRsJaok=";
+#   };
+
+#   cargoSha256 = "sha256-qDJKC6MXeKerPFwJsNND3WkziFtGkTvCgVEsdPbBGAo=";
+
+#   buildAndTestSubdir = "roapi-http";
+
+#   nativeBuildInputs = [ cmake ];
+
+stdenv.mkDerivation rec {
+  inherit pname version;
+
+  src = fetchurl {
+    url = "https://github.com/roapi/roapi/releases/download/${pname}-v${version}/${pname}-${target}.tar.gz";
+    sha256 = "sha256-lv6BHg/LkrOlyq8D1udAYW8/AbZRb344YCcVnwo3ZHk=";
+  };
+  dontUnpack = true;
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    tar xvzf $src
+    mkdir -p "$out/bin"
+    cp roapi-http $out/bin
+  '';
+
+  meta = with lib; {
+    description = "Create full-fledged APIs for static datasets without writing a single line of code. ";
+    homepage = "https://roapi.github.io/docs/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ happysalada ];
+    platforms = platforms.darwin;
+  };
+}
diff --git a/pkgs/servers/roon-bridge/default.nix b/pkgs/servers/roon-bridge/default.nix
index 9b896cd2a1160..2607ade99310a 100644
--- a/pkgs/servers/roon-bridge/default.nix
+++ b/pkgs/servers/roon-bridge/default.nix
@@ -11,24 +11,23 @@
 }:
 stdenv.mkDerivation rec {
   pname = "roon-bridge";
-  version = "1.8-880";
+  version = "1.8-918";
 
   src =
     let
       urlVersion = builtins.replaceStrings [ "." "-" ] [ "00" "00" ] version;
       inherit (stdenv.targetPlatform) system;
-      noSuchSystem = throw "Unsupposed system: ${system}";
     in
       {
         x86_64-linux = fetchurl {
           url = "http://download.roonlabs.com/builds/RoonBridge_linuxx64_${urlVersion}.tar.bz2";
-          sha256 = "sha256-YTLy3D1CQR1hlsGw2MmZtxHT82T0PCYZxD4adt2m1+o=";
+          hash = "sha256-Tx8KmGKh6BNoo2RKJm0HfPHRXiFsz+FtX5gQZ1FCEEg=";
         };
         aarch64-linux = fetchurl {
           url = "http://download.roonlabs.com/builds/RoonBridge_linuxarmv8_${urlVersion}.tar.bz2";
-          sha256 = "sha256-aCQtYMUIzwhmYJW4a8cFzIRuxyMVIkeaJH4w1Lasp3M=";
+          hash = "sha256-UkdAs+/l9c4j8PNlAZfNNCJogjxZItcDikS+tOjYjA0=";
         };
-      }.${system} or noSuchSystem;
+      }.${system} or (throw "Unsupposed system: ${system}");
 
   dontConfigure = true;
   dontBuild = true;
diff --git a/pkgs/servers/roon-server/default.nix b/pkgs/servers/roon-server/default.nix
index b92d871852de2..8decbf1341b62 100644
--- a/pkgs/servers/roon-server/default.nix
+++ b/pkgs/servers/roon-server/default.nix
@@ -9,13 +9,14 @@
 , krb5
 , lib
 , libtasn1
+, lttng-ust_2_12
 , makeWrapper
-, stdenv
 , openssl
+, stdenv
 }:
 stdenv.mkDerivation rec {
   pname = "roon-server";
-  version = "1.8-903";
+  version = "1.8-923";
 
   src =
     let
@@ -23,7 +24,7 @@ stdenv.mkDerivation rec {
     in
     fetchurl {
       url = "http://download.roonlabs.com/builds/RoonServer_linuxx64_${urlVersion}.tar.bz2";
-      sha256 = "sha256-FkB3sh1uwOctBOAW7eO8HFNr9a9RG3Yq4hKKscYYER4=";
+      hash = "sha256-txf8W7SoPb20S7KcQDfExPEn5dubu9JVEX89dWngYFU=";
     };
 
   dontConfigure = true;
@@ -34,6 +35,7 @@ stdenv.mkDerivation rec {
     freetype
     krb5
     libtasn1
+    lttng-ust_2_12
     stdenv.cc.cc.lib
   ];
 
@@ -82,10 +84,6 @@ stdenv.mkDerivation rec {
       mkdir -p $out/bin
       makeWrapper "$out/Server/RoonServer" "$out/bin/RoonServer" --run "cd $out"
 
-      # This is unused and depends on an ancient version of lttng-ust, so we
-      # just patch it out
-      patchelf --remove-needed liblttng-ust.so.0 $out/RoonDotnet/shared/Microsoft.NETCore.App/5.0.0/libcoreclrtraceptprovider.so
-
       runHook postInstall
     '';
 
diff --git a/pkgs/servers/rt/default.nix b/pkgs/servers/rt/default.nix
index ff0bbd6b97dc0..2b5188f743ad5 100644
--- a/pkgs/servers/rt/default.nix
+++ b/pkgs/servers/rt/default.nix
@@ -18,10 +18,10 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     autoreconfHook
+    makeWrapper
   ];
 
   buildInputs = [
-    makeWrapper
     perl
     (buildEnv {
       name = "rt-perl-deps";
diff --git a/pkgs/servers/sql/postgresql/ext/pgroonga.nix b/pkgs/servers/sql/postgresql/ext/pgroonga.nix
index d4085b00ec51e..6d34900deebff 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.5";
+  version = "2.3.6";
 
   src = fetchurl {
     url = "https://packages.groonga.org/source/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-Auw9dBS2JVvnsJM00PCfLeDl1M+HOYJRCbD0Bro6dlg=";
+    sha256 = "sha256-/GimaiFuMEuw4u9if3Z//1KPT78rvaJ+jNjbG3ugkLA=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/servers/squid/default.nix b/pkgs/servers/squid/default.nix
index dae9d21c7f507..70b9c869f1162 100644
--- a/pkgs/servers/squid/default.nix
+++ b/pkgs/servers/squid/default.nix
@@ -1,20 +1,20 @@
 { lib, stdenv, fetchurl, perl, openldap, pam, db, cyrus_sasl, libcap
-, expat, libxml2, openssl, pkg-config
+, expat, libxml2, openssl, pkg-config, systemd
 }:
 
 stdenv.mkDerivation rec {
   pname = "squid";
-  version = "4.17";
+  version = "5.4.1";
 
   src = fetchurl {
-    url = "http://www.squid-cache.org/Versions/v4/${pname}-${version}.tar.xz";
-    sha256 = "sha256-y5KKwIx8hrFRscj4J6vhqE2DGBoqhuDVEihhY+HjFBg=";
+    url = "http://www.squid-cache.org/Versions/v5/${pname}-${version}.tar.xz";
+    sha256 = "sha256-300xCpFmOuWcKbD4GD8iYjxeb3MYaa95OAWYerlMpBw=";
   };
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [
     perl openldap db cyrus_sasl expat libxml2 openssl
-  ] ++ lib.optionals stdenv.isLinux [ libcap pam ];
+  ] ++ lib.optionals stdenv.isLinux [ libcap pam systemd ];
 
   configureFlags = [
     "--enable-ipv6"
@@ -26,7 +26,9 @@ stdenv.mkDerivation rec {
     "--enable-removal-policies=lru,heap"
     "--enable-delay-pools"
     "--enable-x-accelerator-vary"
-  ] ++ lib.optional (stdenv.isLinux && !stdenv.hostPlatform.isMusl) "--enable-linux-netfilter";
+    "--enable-htcp"
+  ] ++ lib.optional (stdenv.isLinux && !stdenv.hostPlatform.isMusl)
+    "--enable-linux-netfilter";
 
   meta = with lib; {
     description = "A caching proxy for the Web supporting HTTP, HTTPS, FTP, and more";
diff --git a/pkgs/servers/tautulli/default.nix b/pkgs/servers/tautulli/default.nix
index 9e5fb8e448273..df327f0e8f32c 100644
--- a/pkgs/servers/tautulli/default.nix
+++ b/pkgs/servers/tautulli/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonApplication rec {
   pname = "Tautulli";
-  version = "2.9.4";
+  version = "2.9.5";
   format = "other";
 
   pythonPath = [ setuptools ];
@@ -12,7 +12,7 @@ buildPythonApplication rec {
     owner = "Tautulli";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Hgu1peKv00+FZtszewqofwRueC5ZfUFMM/5ax2Gnf44=";
+    sha256 = "sha256-agkYfLWmeQOD+dtoYvTcNPXjfU3kv56c15AFeB7eVTw=";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/teleport/0001-fix-add-nix-path-to-exec-env.patch b/pkgs/servers/teleport/0001-fix-add-nix-path-to-exec-env.patch
new file mode 100644
index 0000000000000..328dac4145b2b
--- /dev/null
+++ b/pkgs/servers/teleport/0001-fix-add-nix-path-to-exec-env.patch
@@ -0,0 +1,28 @@
+From e3651ca79c0edb66c04e0d3381f3b0b6f76d37d2 Mon Sep 17 00:00:00 2001
+From: 5aaee9 <jiduye@gmail.com>
+Date: Thu, 24 Mar 2022 17:34:38 +0800
+Subject: [PATCH] fix: add nix path to exec env
+
+---
+ lib/srv/exec.go | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/srv/exec.go b/lib/srv/exec.go
+index 253fbafef..815a2e1e0 100644
+--- a/lib/srv/exec.go
++++ b/lib/srv/exec.go
+@@ -41,9 +41,9 @@ import (
+ )
+ 
+ const (
+-	defaultPath          = "/bin:/usr/bin:/usr/local/bin:/sbin"
++	defaultPath          = "/run/wrappers/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/bin:/usr/bin:/usr/local/bin:/sbin"
+ 	defaultEnvPath       = "PATH=" + defaultPath
+-	defaultRootPath      = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
++	defaultRootPath      = "/run/wrappers/bin:/etc/profiles/per-user/root/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
+ 	defaultEnvRootPath   = "PATH=" + defaultRootPath
+ 	defaultTerm          = "xterm"
+ 	defaultLoginDefsPath = "/etc/login.defs"
+-- 
+2.32.0 (Apple Git-132)
+
diff --git a/pkgs/servers/teleport/default.nix b/pkgs/servers/teleport/default.nix
index ac57cc51339fe..9f1348fff19f9 100644
--- a/pkgs/servers/teleport/default.nix
+++ b/pkgs/servers/teleport/default.nix
@@ -60,6 +60,7 @@ buildGoModule rec {
     ./tsh.patch
     # https://github.com/NixOS/nixpkgs/issues/132652
     ./test.patch
+    ./0001-fix-add-nix-path-to-exec-env.patch
   ];
 
   # Reduce closure size for client machines
diff --git a/pkgs/servers/traefik/default.nix b/pkgs/servers/traefik/default.nix
index 2b764f39bf388..2dbed400650a1 100644
--- a/pkgs/servers/traefik/default.nix
+++ b/pkgs/servers/traefik/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "traefik";
-  version = "2.6.1";
+  version = "2.6.2";
 
   src = fetchzip {
     url = "https://github.com/traefik/traefik/releases/download/v${version}/traefik-v${version}.src.tar.gz";
-    sha256 = "sha256-uaROz7DQcy5FlR9/U/QmanqA1qJPJj/ix725Gnei2U0=";
+    sha256 = "sha256-DVmszzDre0pWXARUqXuqGfY3pX1Ijh33G0Gsdmp8f98=";
     stripRoot = false;
   };
 
-  vendorSha256 = "sha256-H67oCOCkS/xpkCZ4C3BuIzpUKuLvItDqC4tNSNKjv0E=";
+  vendorSha256 = "sha256-tqrfCpZ/fRYZBZ/SBAvvJebLBeD2M/AVJEPiseehJHY=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix
index ea4ef814195b1..db4ec8b891d67 100644
--- a/pkgs/servers/unifi/default.nix
+++ b/pkgs/servers/unifi/default.nix
@@ -65,7 +65,7 @@ in rec {
   };
 
   unifi7 = generic {
-    version = "7.0.23";
-    sha256 = "1y2z02blgbqa6xvwjrvzx6mfwbbbmmv50rq409rsg1hkkzispxmw";
+    version = "7.0.25";
+    sha256 = "sha256-DZi2xy6mS3hfqxX1ikiHKPlJ12eaoZVgyl9jKYt91hg=";
   };
 }
diff --git a/pkgs/servers/ursadb/default.nix b/pkgs/servers/ursadb/default.nix
index 836a5934d96b6..c9b39eccd8a81 100644
--- a/pkgs/servers/ursadb/default.nix
+++ b/pkgs/servers/ursadb/default.nix
@@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
     hash = "sha256-/EK1CKJ0IR7fkKSpQkONbWcz6uhUoAwK430ljNYsV5U=";
   };
 
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace \
+        "add_executable(ursadb_test Tests.cpp)" "" \
+      --replace \
+        "target_link_libraries(ursadb_test ursa)" ""
+  '';
+
   installPhase = ''
     mkdir -p $out/bin
     cp ursadb $out/bin/
diff --git a/pkgs/servers/web-apps/ethercalc/generate.sh b/pkgs/servers/web-apps/ethercalc/generate.sh
index 814a83a033d0f..d87c9b93966b1 100755
--- a/pkgs/servers/web-apps/ethercalc/generate.sh
+++ b/pkgs/servers/web-apps/ethercalc/generate.sh
@@ -9,6 +9,7 @@ set -euo pipefail
 cd -- "$(dirname -- "$BASH_SOURCE[0]")"
 
 node2nix \
+     --nodejs-14 \
      --input node-packages.json \
      --output node-packages-generated.nix \
      --composition node-packages.nix \
diff --git a/pkgs/servers/web-apps/ethercalc/node-packages-generated.nix b/pkgs/servers/web-apps/ethercalc/node-packages-generated.nix
index 97435a5225f81..21cd090df86c7 100644
--- a/pkgs/servers/web-apps/ethercalc/node-packages-generated.nix
+++ b/pkgs/servers/web-apps/ethercalc/node-packages-generated.nix
@@ -31,13 +31,13 @@ let
         sha1 = "6a3e6bf0a63900ba15652808cb15c6813d1a5f25";
       };
     };
-    "adler-32-1.3.0" = {
+    "adler-32-1.3.1" = {
       name = "adler-32";
       packageName = "adler-32";
-      version = "1.3.0";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/adler-32/-/adler-32-1.3.0.tgz";
-        sha512 = "f5nltvjl+PRUh6YNfUstRaXwJxtfnKEWhAWWlmKvh+Y3J2+98a0KKVYDEhz6NdKGqswLhjNGznxfSsZGOvOd9g==";
+        url = "https://registry.npmjs.org/adler-32/-/adler-32-1.3.1.tgz";
+        sha512 = "ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==";
       };
     };
     "after-0.8.1" = {
@@ -184,13 +184,13 @@ let
         sha1 = "82306becadf44543e826b3907eae93f0237c4e5c";
       };
     };
-    "brace-expansion-1.1.11" = {
+    "brace-expansion-2.0.1" = {
       name = "brace-expansion";
       packageName = "brace-expansion";
-      version = "1.1.11";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz";
-        sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==";
+        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz";
+        sha512 = "XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==";
       };
     };
     "buffer-crc32-0.2.3" = {
@@ -391,15 +391,6 @@ let
         sha1 = "69700cf1ee8963454356ac192a6e5e91e232bffb";
       };
     };
-    "concat-map-0.0.1" = {
-      name = "concat-map";
-      packageName = "concat-map";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
-        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
-      };
-    };
     "concat-stream-2.0.0" = {
       name = "concat-stream";
       packageName = "concat-stream";
@@ -481,13 +472,13 @@ let
         sha1 = "09507984ee9bcce3bd1b8861f0de8ab10ae8187d";
       };
     };
-    "crc-32-1.2.0" = {
+    "crc-32-1.2.1" = {
       name = "crc-32";
       packageName = "crc-32";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz";
-        sha512 = "1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==";
+        url = "https://registry.npmjs.org/crc-32/-/crc-32-1.2.1.tgz";
+        sha512 = "Dn/xm/1vFFgs3nfrpEVScHoIslO9NZRITWGz/1E/St6u4xw99vfZzVkW0OSnzx2h9egej9xwMCEut6sqwokM/w==";
       };
     };
     "csrf-2.0.7" = {
@@ -595,7 +586,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         name = "emitter-1.0.1.tar.gz";
-        url = "https://codeload.github.com/component/emitter/tar.gz/1.0.1";
+        url = "https://codeload.github.com/component/emitter/tar.gz/refs/tags/1.0.1";
         sha256 = "0eae744826723877457f7a7ac7f31d68a5a060673b3a883f6a8e325bf48f313d";
       };
     };
@@ -731,7 +722,7 @@ let
       version = "2.0.1";
       src = fetchurl {
         name = "global-2.0.1.tar.gz";
-        url = "https://codeload.github.com/component/global/tar.gz/v2.0.1";
+        url = "https://codeload.github.com/component/global/tar.gz/refs/tags/v2.0.1";
         sha256 = "42be02b7148745447f6ba21137c972ca82d2cad92d30d63bd4fc310623901785";
       };
     };
@@ -924,13 +915,13 @@ let
         sha1 = "995ae1392ab8affcbfcb2641dd054e943c0d5dce";
       };
     };
-    "minimatch-3.0.4" = {
+    "minimatch-5.0.1" = {
       name = "minimatch";
       packageName = "minimatch";
-      version = "3.0.4";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
-        sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz";
+        sha512 = "nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==";
       };
     };
     "minimist-0.0.10" = {
@@ -1185,22 +1176,13 @@ let
         sha512 = "zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==";
       };
     };
-    "printj-1.2.3" = {
+    "printj-1.3.1" = {
       name = "printj";
       packageName = "printj";
-      version = "1.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/printj/-/printj-1.2.3.tgz";
-        sha512 = "sanczS6xOJOg7IKDvi4sGOUOe7c1tsEzjwlLFH/zgwx/uyImVM9/rgBkc8AfiQa/Vg54nRd8mkm9yI7WV/O+WA==";
-      };
-    };
-    "printj-1.3.0" = {
-      name = "printj";
-      packageName = "printj";
-      version = "1.3.0";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/printj/-/printj-1.3.0.tgz";
-        sha512 = "017o8YIaz8gLhaNxRB9eBv2mWXI2CtzhPJALnQTP+OPpuUfP0RMWqr/mHCzqVeu1AQxfzSfAtAq66vKB8y7Lzg==";
+        url = "https://registry.npmjs.org/printj/-/printj-1.3.1.tgz";
+        sha512 = "GA3TdL8szPK4AQ2YnOe/b+Y1jUFwmmGMMK/qbY7VcE3Z7FU8JstbKiKRzO6CIiAKPhTO8m01NoQ0V5f3jc4OGg==";
       };
     };
     "proxy-addr-1.0.1" = {
@@ -1806,19 +1788,15 @@ in
           sources."iconv-lite-0.4.4"
         ];
       })
-      sources."brace-expansion-1.1.11"
+      sources."brace-expansion-2.0.1"
       sources."buffer-crc32-0.2.3"
       sources."buffer-from-1.1.2"
       sources."bytes-1.0.0"
       sources."callsite-1.0.0"
       (sources."cfb-1.2.1" // {
         dependencies = [
-          (sources."adler-32-1.3.0" // {
-            dependencies = [
-              sources."printj-1.2.3"
-            ];
-          })
-          sources."printj-1.3.0"
+          sources."adler-32-1.3.1"
+          sources."printj-1.3.1"
         ];
       })
       (sources."codepage-1.14.0" // {
@@ -1844,7 +1822,6 @@ in
           sources."vary-1.0.1"
         ];
       })
-      sources."concat-map-0.0.1"
       sources."concat-stream-2.0.0"
       sources."connect-2.25.9"
       sources."connect-timeout-1.2.2"
@@ -1853,7 +1830,11 @@ in
       sources."cookie-signature-1.0.4"
       sources."core-util-is-1.0.3"
       sources."cors-2.8.5"
-      sources."crc-32-1.2.0"
+      (sources."crc-32-1.2.1" // {
+        dependencies = [
+          sources."printj-1.3.1"
+        ];
+      })
       sources."csrf-2.0.7"
       sources."cssom-0.2.5"
       sources."csurf-1.4.1"
@@ -1937,7 +1918,7 @@ in
       sources."methods-1.1.0"
       sources."mime-1.2.11"
       sources."mime-types-1.0.2"
-      sources."minimatch-3.0.4"
+      sources."minimatch-5.0.1"
       sources."minimist-0.0.10"
       (sources."mkdirp-0.5.0" // {
         dependencies = [
diff --git a/pkgs/servers/web-apps/ethercalc/node-packages.nix b/pkgs/servers/web-apps/ethercalc/node-packages.nix
index 0961603968eac..862d223400999 100644
--- a/pkgs/servers/web-apps/ethercalc/node-packages.nix
+++ b/pkgs/servers/web-apps/ethercalc/node-packages.nix
@@ -2,7 +2,7 @@
 
 {pkgs ? import <nixpkgs> {
     inherit system;
-  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
 
 let
   nodeEnv = import ../../../development/node-packages/node-env.nix {
diff --git a/pkgs/servers/web-apps/frab/Gemfile b/pkgs/servers/web-apps/frab/Gemfile
deleted file mode 100644
index 098b8f3d7d7a1..0000000000000
--- a/pkgs/servers/web-apps/frab/Gemfile
+++ /dev/null
@@ -1,88 +0,0 @@
-source 'https://rubygems.org'
-
-if ENV['CUSTOM_RUBY_VERSION']
-  ruby ENV['CUSTOM_RUBY_VERSION'] # i.e.: '2.3'
-end
-
-gem 'rails', '~> 4.2'
-
-# Use SCSS for stylesheets
-gem 'sass-rails', '~> 5.0'
-# Use Uglifier as compressor for JavaScript assets
-gem 'uglifier', '>= 1.3.0'
-# Use CoffeeScript for .coffee assets and views
-gem 'coffee-rails', '~> 4.1.0'
-
-gem 'mysql2', group: :mysql
-gem 'pg', group: :postgresql
-gem 'sqlite3', group: :sqlite3
-
-# Use Puma as the app server
-gem 'puma'
-
-# Capistrano for deployment
-group :capistrano do
-  gem 'airbrussh'
-  gem 'capistrano', '~> 3.4.0', require: false
-  gem 'capistrano-rails',   require: false
-  gem 'capistrano-bundler', require: false
-  gem 'capistrano-rvm',     require: false
-  gem 'capistrano3-puma',   require: false
-end
-
-# Use jquery as the JavaScript library
-gem 'jquery-rails'
-gem 'jquery-migrate-rails'
-gem 'jquery-ui-rails'
-
-# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
-gem 'jbuilder', '~> 2.0'
-
-gem 'activeresource'
-gem 'acts_as_commentable'
-gem 'bcrypt'
-gem 'cancancan'
-gem 'cocoon'
-gem 'dotenv-rails'
-gem 'haml'
-gem 'localized_language_select', github: 'frab/localized_language_select', branch: 'master'
-gem 'nokogiri'
-gem 'paperclip', '~> 4.1'
-gem 'paper_trail'
-gem 'prawn', '< 1.0'
-gem 'prawn_rails'
-gem 'ransack'
-gem 'ri_cal'
-gem 'roust'
-gem 'rqrcode'
-#gem 'roust', :git => 'git@github.com:bulletproofnetworks/roust.git'
-gem 'simple_form'
-gem 'sucker_punch'
-gem 'transitions', require: ['transitions', 'active_record/transitions']
-gem 'will_paginate'
-
-group :production do
-  gem 'exception_notification'
-end
-
-group :development, :test do
-  gem 'bullet'
-  gem 'pry-rails'
-  gem 'pry-byebug'
-  gem 'letter_opener'
-  gem 'faker'
-end
-
-group :test do
-  gem 'database_cleaner'
-  gem 'factory_girl_rails', '~> 4.0'
-  gem 'shoulda'
-end
-
-group :doc do
-  gem 'redcarpet'       # documentation
-  gem 'github-markdown' # documentation
-  gem 'yard'            # documentation
-  # gem 'rails-erd'      # graph
-  # gem 'ruby-graphviz', require: 'graphviz' # Optional: only required for graphing
-end
diff --git a/pkgs/servers/web-apps/frab/Gemfile.lock b/pkgs/servers/web-apps/frab/Gemfile.lock
deleted file mode 100644
index dc18be7a33db8..0000000000000
--- a/pkgs/servers/web-apps/frab/Gemfile.lock
+++ /dev/null
@@ -1,329 +0,0 @@
-GIT
-  remote: git://github.com/frab/localized_language_select.git
-  revision: 85df6b97789de6e29c630808b630e56a1b76f80c
-  branch: master
-  specs:
-    localized_language_select (0.3.0)
-      rails (>= 4.1.0)
-
-GEM
-  remote: https://rubygems.org/
-  specs:
-    actionmailer (4.2.7.1)
-      actionpack (= 4.2.7.1)
-      actionview (= 4.2.7.1)
-      activejob (= 4.2.7.1)
-      mail (~> 2.5, >= 2.5.4)
-      rails-dom-testing (~> 1.0, >= 1.0.5)
-    actionpack (4.2.7.1)
-      actionview (= 4.2.7.1)
-      activesupport (= 4.2.7.1)
-      rack (~> 1.6)
-      rack-test (~> 0.6.2)
-      rails-dom-testing (~> 1.0, >= 1.0.5)
-      rails-html-sanitizer (~> 1.0, >= 1.0.2)
-    actionview (4.2.7.1)
-      activesupport (= 4.2.7.1)
-      builder (~> 3.1)
-      erubis (~> 2.7.0)
-      rails-dom-testing (~> 1.0, >= 1.0.5)
-      rails-html-sanitizer (~> 1.0, >= 1.0.2)
-    activejob (4.2.7.1)
-      activesupport (= 4.2.7.1)
-      globalid (>= 0.3.0)
-    activemodel (4.2.7.1)
-      activesupport (= 4.2.7.1)
-      builder (~> 3.1)
-    activerecord (4.2.7.1)
-      activemodel (= 4.2.7.1)
-      activesupport (= 4.2.7.1)
-      arel (~> 6.0)
-    activeresource (4.1.0)
-      activemodel (~> 4.0)
-      activesupport (~> 4.0)
-      rails-observers (~> 0.1.2)
-    activesupport (4.2.7.1)
-      i18n (~> 0.7)
-      json (~> 1.7, >= 1.7.7)
-      minitest (~> 5.1)
-      thread_safe (~> 0.3, >= 0.3.4)
-      tzinfo (~> 1.1)
-    acts_as_commentable (4.0.2)
-    addressable (2.4.0)
-    airbrussh (1.1.1)
-      sshkit (>= 1.6.1, != 1.7.0)
-    arel (6.0.3)
-    bcrypt (3.1.11)
-    builder (3.2.2)
-    bullet (5.4.0)
-      activesupport (>= 3.0.0)
-      uniform_notifier (~> 1.10.0)
-    byebug (9.0.5)
-    cancancan (1.15.0)
-    capistrano (3.4.1)
-      i18n
-      rake (>= 10.0.0)
-      sshkit (~> 1.3)
-    capistrano-bundler (1.1.4)
-      capistrano (~> 3.1)
-      sshkit (~> 1.2)
-    capistrano-rails (1.1.8)
-      capistrano (~> 3.1)
-      capistrano-bundler (~> 1.1)
-    capistrano-rvm (0.1.2)
-      capistrano (~> 3.0)
-      sshkit (~> 1.2)
-    capistrano3-puma (1.2.1)
-      capistrano (~> 3.0)
-      puma (>= 2.6)
-    chunky_png (1.3.7)
-    climate_control (0.0.3)
-      activesupport (>= 3.0)
-    cocaine (0.5.8)
-      climate_control (>= 0.0.3, < 1.0)
-    cocoon (1.2.9)
-    coderay (1.1.1)
-    coffee-rails (4.1.1)
-      coffee-script (>= 2.2.0)
-      railties (>= 4.0.0, < 5.1.x)
-    coffee-script (2.4.1)
-      coffee-script-source
-      execjs
-    coffee-script-source (1.10.0)
-    concurrent-ruby (1.0.2)
-    database_cleaner (1.5.3)
-    dotenv (2.1.1)
-    dotenv-rails (2.1.1)
-      dotenv (= 2.1.1)
-      railties (>= 4.0, < 5.1)
-    erubis (2.7.0)
-    exception_notification (4.2.1)
-      actionmailer (>= 4.0, < 6)
-      activesupport (>= 4.0, < 6)
-    execjs (2.7.0)
-    factory_girl (4.7.0)
-      activesupport (>= 3.0.0)
-    factory_girl_rails (4.7.0)
-      factory_girl (~> 4.7.0)
-      railties (>= 3.0.0)
-    faker (1.6.6)
-      i18n (~> 0.5)
-    github-markdown (0.6.9)
-    globalid (0.3.7)
-      activesupport (>= 4.1.0)
-    haml (4.0.7)
-      tilt
-    httparty (0.14.0)
-      multi_xml (>= 0.5.2)
-    i18n (0.7.0)
-    jbuilder (2.6.0)
-      activesupport (>= 3.0.0, < 5.1)
-      multi_json (~> 1.2)
-    jquery-migrate-rails (1.2.1)
-    jquery-rails (4.2.1)
-      rails-dom-testing (>= 1, < 3)
-      railties (>= 4.2.0)
-      thor (>= 0.14, < 2.0)
-    jquery-ui-rails (5.0.5)
-      railties (>= 3.2.16)
-    json (1.8.3)
-    launchy (2.4.3)
-      addressable (~> 2.3)
-    letter_opener (1.4.1)
-      launchy (~> 2.2)
-    loofah (2.0.3)
-      nokogiri (>= 1.5.9)
-    mail (2.6.4)
-      mime-types (>= 1.16, < 4)
-    method_source (0.8.2)
-    mime-types (3.1)
-      mime-types-data (~> 3.2015)
-    mime-types-data (3.2016.0521)
-    mimemagic (0.3.0)
-    mini_portile2 (2.1.0)
-    minitest (5.9.1)
-    multi_json (1.12.1)
-    multi_xml (0.5.5)
-    mysql2 (0.4.4)
-    net-scp (1.2.1)
-      net-ssh (>= 2.6.5)
-    net-ssh (3.2.0)
-    nokogiri (1.6.7.2)
-      mini_portile2 (~> 2.0.0.rc2)
-      pkg-config (~> 1.1.7)
-    paper_trail (5.2.2)
-      activerecord (>= 3.0, < 6.0)
-      request_store (~> 1.1)
-    paperclip (4.3.7)
-      activemodel (>= 3.2.0)
-      activesupport (>= 3.2.0)
-      cocaine (~> 0.5.5)
-      mime-types
-      mimemagic (= 0.3.0)
-    pdf-core (0.1.6)
-    pg (0.19.0)
-    pkg-config (1.1.7)
-    polyamorous (1.3.1)
-      activerecord (>= 3.0)
-    prawn (0.15.0)
-      pdf-core (~> 0.1.3)
-      ttfunk (~> 1.1.0)
-    prawn_rails (0.0.11)
-      prawn (>= 0.11.1)
-      railties (>= 3.0.0)
-    pry (0.10.4)
-      coderay (~> 1.1.0)
-      method_source (~> 0.8.1)
-      slop (~> 3.4)
-    pry-byebug (3.4.0)
-      byebug (~> 9.0)
-      pry (~> 0.10)
-    pry-rails (0.3.4)
-      pry (>= 0.9.10)
-    puma (3.9.1)
-    rack (1.6.11)
-    rack-test (0.6.3)
-      rack (>= 1.0)
-    rails (4.2.7.1)
-      actionmailer (= 4.2.7.1)
-      actionpack (= 4.2.7.1)
-      actionview (= 4.2.7.1)
-      activejob (= 4.2.7.1)
-      activemodel (= 4.2.7.1)
-      activerecord (= 4.2.7.1)
-      activesupport (= 4.2.7.1)
-      bundler (>= 1.3.0, < 2.0)
-      railties (= 4.2.7.1)
-      sprockets-rails
-    rails-deprecated_sanitizer (1.0.3)
-      activesupport (>= 4.2.0.alpha)
-    rails-dom-testing (1.0.7)
-      activesupport (>= 4.2.0.beta, < 5.0)
-      nokogiri (~> 1.6.0)
-      rails-deprecated_sanitizer (>= 1.0.1)
-    rails-html-sanitizer (1.0.3)
-      loofah (~> 2.0)
-    rails-observers (0.1.2)
-      activemodel (~> 4.0)
-    railties (4.2.7.1)
-      actionpack (= 4.2.7.1)
-      activesupport (= 4.2.7.1)
-      rake (>= 0.8.7)
-      thor (>= 0.18.1, < 2.0)
-    rake (11.3.0)
-    ransack (1.8.2)
-      actionpack (>= 3.0)
-      activerecord (>= 3.0)
-      activesupport (>= 3.0)
-      i18n
-      polyamorous (~> 1.3)
-    redcarpet (3.3.4)
-    request_store (1.3.1)
-    ri_cal (0.8.8)
-    roust (1.8.9)
-      activesupport (>= 4.0.10)
-      httparty (>= 0.13.1)
-      mail (>= 2.5.4)
-    rqrcode (0.10.1)
-      chunky_png (~> 1.0)
-    sass (3.4.22)
-    sass-rails (5.0.6)
-      railties (>= 4.0.0, < 6)
-      sass (~> 3.1)
-      sprockets (>= 2.8, < 4.0)
-      sprockets-rails (>= 2.0, < 4.0)
-      tilt (>= 1.1, < 3)
-    shoulda (3.5.0)
-      shoulda-context (~> 1.0, >= 1.0.1)
-      shoulda-matchers (>= 1.4.1, < 3.0)
-    shoulda-context (1.2.1)
-    shoulda-matchers (2.8.0)
-      activesupport (>= 3.0.0)
-    simple_form (3.3.1)
-      actionpack (> 4, < 5.1)
-      activemodel (> 4, < 5.1)
-    slop (3.6.0)
-    sprockets (3.7.0)
-      concurrent-ruby (~> 1.0)
-      rack (> 1, < 3)
-    sprockets-rails (3.2.0)
-      actionpack (>= 4.0)
-      activesupport (>= 4.0)
-      sprockets (>= 3.0.0)
-    sqlite3 (1.3.11)
-    sshkit (1.11.3)
-      net-scp (>= 1.1.2)
-      net-ssh (>= 2.8.0)
-    sucker_punch (2.0.2)
-      concurrent-ruby (~> 1.0.0)
-    thor (0.19.1)
-    thread_safe (0.3.5)
-    tilt (2.0.5)
-    transitions (1.2.0)
-    ttfunk (1.1.1)
-    tzinfo (1.2.2)
-      thread_safe (~> 0.1)
-    uglifier (3.0.2)
-      execjs (>= 0.3.0, < 3)
-    uniform_notifier (1.10.0)
-    will_paginate (3.1.3)
-    yard (0.9.5)
-
-PLATFORMS
-  ruby
-
-DEPENDENCIES
-  activeresource
-  acts_as_commentable
-  airbrussh
-  bcrypt
-  bullet
-  cancancan
-  capistrano (~> 3.4.0)
-  capistrano-bundler
-  capistrano-rails
-  capistrano-rvm
-  capistrano3-puma
-  cocoon
-  coffee-rails (~> 4.1.0)
-  database_cleaner
-  dotenv-rails
-  exception_notification
-  factory_girl_rails (~> 4.0)
-  faker
-  github-markdown
-  haml
-  jbuilder (~> 2.0)
-  jquery-migrate-rails
-  jquery-rails
-  jquery-ui-rails
-  letter_opener
-  localized_language_select!
-  mysql2
-  nokogiri
-  paper_trail
-  paperclip (~> 4.1)
-  pg
-  prawn (< 1.0)
-  prawn_rails
-  pry-byebug
-  pry-rails
-  puma
-  rails (~> 4.2)
-  ransack
-  redcarpet
-  ri_cal
-  roust
-  rqrcode
-  sass-rails (~> 5.0)
-  shoulda
-  simple_form
-  sqlite3
-  sucker_punch
-  transitions
-  uglifier (>= 1.3.0)
-  will_paginate
-  yard
-
-BUNDLED WITH
-   1.13.1
diff --git a/pkgs/servers/web-apps/frab/gemset.nix b/pkgs/servers/web-apps/frab/gemset.nix
deleted file mode 100644
index cf39de25ea6aa..0000000000000
--- a/pkgs/servers/web-apps/frab/gemset.nix
+++ /dev/null
@@ -1,998 +0,0 @@
-{
-  actionmailer = {
-    dependencies = ["actionpack" "actionview" "activejob" "mail" "rails-dom-testing"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0lw1pss1mrjm7x7qcg9pvxv55rz3d994yf3mwmlfg1y12fxq00n3";
-      type = "gem";
-    };
-    version = "4.2.7.1";
-  };
-  actionpack = {
-    dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1ray5bvlmkimjax011zsw0mz9llfkqrfm7q1avjlp4i0kpcz8zlh";
-      type = "gem";
-    };
-    version = "4.2.7.1";
-  };
-  actionview = {
-    dependencies = ["activesupport" "builder" "erubis" "rails-dom-testing" "rails-html-sanitizer"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "11m2x5nlbqrw79fh6h7m444lrka7wwy32b0dvgqg7ilbzih43k0c";
-      type = "gem";
-    };
-    version = "4.2.7.1";
-  };
-  activejob = {
-    dependencies = ["activesupport" "globalid"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0ish5wd8nvmj7f6x1i22aw5ycizy5n1z1c7f3kyxmqwhw7lb0gaz";
-      type = "gem";
-    };
-    version = "4.2.7.1";
-  };
-  activemodel = {
-    dependencies = ["activesupport" "builder"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0acz0mbmahsc9mn41275fpfnrqwig5k09m3xhz3455kv90fn79v5";
-      type = "gem";
-    };
-    version = "4.2.7.1";
-  };
-  activerecord = {
-    dependencies = ["activemodel" "activesupport" "arel"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1lk8l6i9p7qfl0pg261v5yph0w0sc0vysrdzc6bm5i5rxgi68flj";
-      type = "gem";
-    };
-    version = "4.2.7.1";
-  };
-  activeresource = {
-    dependencies = ["activemodel" "activesupport" "rails-observers"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0nr5is20cx18s7vg8bdrdc996s2abl3h7fsi1q6mqsrzw7nrv2fa";
-      type = "gem";
-    };
-    version = "4.1.0";
-  };
-  activesupport = {
-    dependencies = ["i18n" "json" "minitest" "thread_safe" "tzinfo"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1gds12k7nxrcc09b727a458ndidy1nfcllj9x22jcaj7pppvq6r4";
-      type = "gem";
-    };
-    version = "4.2.7.1";
-  };
-  acts_as_commentable = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1p4bwyqmm4ybcscn292aixschdzvns2dpl8a7w4zm0rqy2619cc9";
-      type = "gem";
-    };
-    version = "4.0.2";
-  };
-  addressable = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0mpn7sbjl477h56gmxsjqb89r5s3w7vx5af994ssgc3iamvgzgvs";
-      type = "gem";
-    };
-    version = "2.4.0";
-  };
-  airbrussh = {
-    dependencies = ["sshkit"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0pv22d2kjdbsg9q45jca3f5gsylr2r1wfpn58g58xj4s4q4r95nx";
-      type = "gem";
-    };
-    version = "1.1.1";
-  };
-  arel = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1a270mlajhrmpqbhxcqjqypnvgrq4pgixpv3w9gwp1wrrapnwrzk";
-      type = "gem";
-    };
-    version = "6.0.3";
-  };
-  bcrypt = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1d254sdhdj6mzak3fb5x3jam8b94pvl1srladvs53j05a89j5z50";
-      type = "gem";
-    };
-    version = "3.1.11";
-  };
-  builder = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "14fii7ab8qszrvsvhz6z2z3i4dw0h41a62fjr2h1j8m41vbrmyv2";
-      type = "gem";
-    };
-    version = "3.2.2";
-  };
-  bullet = {
-    dependencies = ["activesupport" "uniform_notifier"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "06pba7bdjnazbl0yhhvlina08nkawnm76zihkaam4k7fm0yrq1k0";
-      type = "gem";
-    };
-    version = "5.4.0";
-  };
-  byebug = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "18sdnscwwm76i2kbcib2ckwfwpq8b1dbfr97gdcx3j1x547yqv9x";
-      type = "gem";
-    };
-    version = "9.0.5";
-  };
-  cancancan = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "05kb459laaw339n7mas37v4k83nwz228bfpaghgybza347341x85";
-      type = "gem";
-    };
-    version = "1.15.0";
-  };
-  capistrano = {
-    dependencies = ["i18n" "rake" "sshkit"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0f73w6gpml0ickmwky1cn6d8392q075zy10a323f3vmyvxyhr0jb";
-      type = "gem";
-    };
-    version = "3.4.1";
-  };
-  capistrano-bundler = {
-    dependencies = ["capistrano" "sshkit"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1f4iikm7pn0li2lj6p53wl0d6y7svn0h76z9c6c582mmwxa9c72p";
-      type = "gem";
-    };
-    version = "1.1.4";
-  };
-  capistrano-rails = {
-    dependencies = ["capistrano" "capistrano-bundler"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "03lzihrq72rwcqq7jiqak79wy0xbdnymn5gxj0bfgfjlg5kpgssw";
-      type = "gem";
-    };
-    version = "1.1.8";
-  };
-  capistrano-rvm = {
-    dependencies = ["capistrano" "sshkit"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "15sy8zcal041yy5kb7fcdqnxvndgdhg3w1kvb5dk7hfjk3ypznsa";
-      type = "gem";
-    };
-    version = "0.1.2";
-  };
-  capistrano3-puma = {
-    dependencies = ["capistrano" "puma"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0ynz1arnr07kcl0vsaa1znhp2ywhhs4fwndnkw8sasr9bydksln8";
-      type = "gem";
-    };
-    version = "1.2.1";
-  };
-  chunky_png = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1p1zy4gyfp7rapr2yxcljkw6qh0chkwf356i387b3fg85cwdj4xh";
-      type = "gem";
-    };
-    version = "1.3.7";
-  };
-  climate_control = {
-    dependencies = ["activesupport"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0krknwk6b8lwv1j9kjbxib6kf5zh4pxkf3y2vcyycx5d6nci1s55";
-      type = "gem";
-    };
-    version = "0.0.3";
-  };
-  cocaine = {
-    dependencies = ["climate_control"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "01kk5xd7lspbkdvn6nyj0y51zhvia3z6r4nalbdcqw5fbsywwi7d";
-      type = "gem";
-    };
-    version = "0.5.8";
-  };
-  cocoon = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1gzznkrs6qy31v85cvdqyn5wd3vwlciwibf9clmd6gi4dns21pmv";
-      type = "gem";
-    };
-    version = "1.2.9";
-  };
-  coderay = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1x6z923iwr1hi04k6kz5a6llrixflz8h5sskl9mhaaxy9jx2x93r";
-      type = "gem";
-    };
-    version = "1.1.1";
-  };
-  coffee-rails = {
-    dependencies = ["coffee-script" "railties"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1mv1kaw3z4ry6cm51w8pfrbby40gqwxanrqyqr0nvs8j1bscc1gw";
-      type = "gem";
-    };
-    version = "4.1.1";
-  };
-  coffee-script = {
-    dependencies = ["coffee-script-source" "execjs"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0rc7scyk7mnpfxqv5yy4y5q1hx3i7q3ahplcp4bq2g5r24g2izl2";
-      type = "gem";
-    };
-    version = "2.4.1";
-  };
-  coffee-script-source = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1k4fg39rrkl3bpgchfj94fbl9s4ysaz16w8dkqncf2vyf79l3qz0";
-      type = "gem";
-    };
-    version = "1.10.0";
-  };
-  concurrent-ruby = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1kb4sav7yli12pjr8lscv8z49g52a5xzpfg3z9h8clzw6z74qjsw";
-      type = "gem";
-    };
-    version = "1.0.2";
-  };
-  database_cleaner = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0fx6zmqznklmkbjl6f713jyl11d4g9q220rcl86m2jp82r8kfwjj";
-      type = "gem";
-    };
-    version = "1.5.3";
-  };
-  dotenv = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1p6zz0xzb15vq8jphpw2fh6m4dianw7s76ci8vj9x3zxayrn4lfm";
-      type = "gem";
-    };
-    version = "2.1.1";
-  };
-  dotenv-rails = {
-    dependencies = ["dotenv" "railties"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "17s6c0yqaz01xd5wywjscbvv0pa3grak2lhwby91j84qm6h95vxz";
-      type = "gem";
-    };
-    version = "2.1.1";
-  };
-  erubis = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
-      type = "gem";
-    };
-    version = "2.7.0";
-  };
-  exception_notification = {
-    dependencies = ["actionmailer" "activesupport"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1vclsr0rjfy1khvqyj67lgpa0v14nb542vvjkyaswn367nnmijhw";
-      type = "gem";
-    };
-    version = "4.2.1";
-  };
-  execjs = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1yz55sf2nd3l666ms6xr18sm2aggcvmb8qr3v53lr4rir32y1yp1";
-      type = "gem";
-    };
-    version = "2.7.0";
-  };
-  factory_girl = {
-    dependencies = ["activesupport"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1xzl4z9z390fsnyxp10c9if2n46zan3n6zwwpfnwc33crv4s410i";
-      type = "gem";
-    };
-    version = "4.7.0";
-  };
-  factory_girl_rails = {
-    dependencies = ["factory_girl" "railties"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0hzpirb33xdqaz44i1mbcfv0icjrghhgaz747llcfsflljd4pa4r";
-      type = "gem";
-    };
-    version = "4.7.0";
-  };
-  faker = {
-    dependencies = ["i18n"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "09amnh5d0m3q2gpb0vr9spbfa8l2nc0kl3s79y6sx7a16hrl4vvc";
-      type = "gem";
-    };
-    version = "1.6.6";
-  };
-  github-markdown = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0nax4fyyhz9xmi7q6mmc6d1h8hc0cxda9d7q5z0pba88mj00s9fj";
-      type = "gem";
-    };
-    version = "0.6.9";
-  };
-  globalid = {
-    dependencies = ["activesupport"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "11plkgyl3w9k4y2scc1igvpgwyz4fnmsr63h2q4j8wkb48nlnhak";
-      type = "gem";
-    };
-    version = "0.3.7";
-  };
-  haml = {
-    dependencies = ["tilt"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0mrzjgkygvfii66bbylj2j93na8i89998yi01fin3whwqbvx0m1p";
-      type = "gem";
-    };
-    version = "4.0.7";
-  };
-  httparty = {
-    dependencies = ["multi_xml"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1msa213hclsv14ijh49i1wggf9avhnj2j4xr58m9jx6fixlbggw6";
-      type = "gem";
-    };
-    version = "0.14.0";
-  };
-  i18n = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1i5z1ykl8zhszsxcs8mzl8d0dxgs3ylz8qlzrw74jb0gplkx6758";
-      type = "gem";
-    };
-    version = "0.7.0";
-  };
-  jbuilder = {
-    dependencies = ["activesupport" "multi_json"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1jbh1296imd0arc9nl1m71yfd7kg505p8srr1ijpsqv4hhbz5qci";
-      type = "gem";
-    };
-    version = "2.6.0";
-  };
-  jquery-migrate-rails = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0pcfs339wki4ax4imb4qi2xb04bbj6j4xvn8x3yn6yf95frrvch6";
-      type = "gem";
-    };
-    version = "1.2.1";
-  };
-  jquery-rails = {
-    dependencies = ["rails-dom-testing" "railties" "thor"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0prqyixv7j2qlq67qdr3miwcyvi27b9a82j51gbpb6vcl0ig2rik";
-      type = "gem";
-    };
-    version = "4.2.1";
-  };
-  jquery-ui-rails = {
-    dependencies = ["railties"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1gfygrv4bjpjd2c377lw7xzk1b77rxjyy3w6wl4bq1gkqvyrkx77";
-      type = "gem";
-    };
-    version = "5.0.5";
-  };
-  json = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1nsby6ry8l9xg3yw4adlhk2pnc7i0h0rznvcss4vk3v74qg0k8lc";
-      type = "gem";
-    };
-    version = "1.8.3";
-  };
-  launchy = {
-    dependencies = ["addressable"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "190lfbiy1vwxhbgn4nl4dcbzxvm049jwc158r2x7kq3g5khjrxa2";
-      type = "gem";
-    };
-    version = "2.4.3";
-  };
-  letter_opener = {
-    dependencies = ["launchy"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1pcrdbxvp2x5six8fqn8gf09bn9rd3jga76ds205yph5m8fsda21";
-      type = "gem";
-    };
-    version = "1.4.1";
-  };
-  localized_language_select = {
-    dependencies = ["rails"];
-    source = {
-      fetchSubmodules = false;
-      rev = "85df6b97789de6e29c630808b630e56a1b76f80c";
-      sha256 = "1b2pd8120nrl3s3idpgdzhrjkn9g5sxnkx4j671fjiyhadlr0q5j";
-      type = "git";
-      url = "git://github.com/frab/localized_language_select.git";
-    };
-    version = "0.3.0";
-  };
-  loofah = {
-    dependencies = ["nokogiri"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "109ps521p0sr3kgc460d58b4pr1z4mqggan2jbsf0aajy9s6xis8";
-      type = "gem";
-    };
-    version = "2.0.3";
-  };
-  mail = {
-    dependencies = ["mime-types"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0c9vqfy0na9b5096i5i4qvrvhwamjnmajhgqi3kdsdfl8l6agmkp";
-      type = "gem";
-    };
-    version = "2.6.4";
-  };
-  method_source = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1g5i4w0dmlhzd18dijlqw5gk27bv6dj2kziqzrzb7mpgxgsd1sf2";
-      type = "gem";
-    };
-    version = "0.8.2";
-  };
-  mime-types = {
-    dependencies = ["mime-types-data"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0087z9kbnlqhci7fxh9f6il63hj1k02icq2rs0c6cppmqchr753m";
-      type = "gem";
-    };
-    version = "3.1";
-  };
-  mime-types-data = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "04my3746hwa4yvbx1ranhfaqkgf6vavi1kyijjnw8w3dy37vqhkm";
-      type = "gem";
-    };
-    version = "3.2016.0521";
-  };
-  mimemagic = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "101lq4bnjs7ywdcicpw3vbz9amg5gbb4va1626fybd2hawgdx8d9";
-      type = "gem";
-    };
-    version = "0.3.0";
-  };
-  mini_portile2 = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1y25adxb1hgg1wb2rn20g3vl07qziq6fz364jc5694611zz863hb";
-      type = "gem";
-    };
-    version = "2.1.0";
-  };
-  minitest = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0300naf4ilpd9sf0k8si9h9sclkizaschn8bpnri5fqmvm9ybdbq";
-      type = "gem";
-    };
-    version = "5.9.1";
-  };
-  multi_json = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1wpc23ls6v2xbk3l1qncsbz16npvmw8p0b38l8czdzri18mp51xk";
-      type = "gem";
-    };
-    version = "1.12.1";
-  };
-  multi_xml = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0i8r7dsz4z79z3j023l8swan7qpbgxbwwz11g38y2vjqjk16v4q8";
-      type = "gem";
-    };
-    version = "0.5.5";
-  };
-  mysql2 = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1v537b7865f4z610rljy8prwmq1yhk3zalp9mcbxn7aqb3g75pra";
-      type = "gem";
-    };
-    version = "0.4.4";
-  };
-  net-scp = {
-    dependencies = ["net-ssh"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0b0jqrcsp4bbi4n4mzyf70cp2ysyp6x07j8k8cqgxnvb4i3a134j";
-      type = "gem";
-    };
-    version = "1.2.1";
-  };
-  net-ssh = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "11djaq0h3bzzy61dca3l84rrs91702hha4vgg387gviipgz7f3yy";
-      type = "gem";
-    };
-    version = "3.2.0";
-  };
-  nokogiri = {
-    dependencies = ["mini_portile2" "pkg-config"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "11sbmpy60ynak6s3794q32lc99hs448msjy8rkp84ay7mq7zqspv";
-      type = "gem";
-    };
-    version = "1.6.7.2";
-  };
-  paper_trail = {
-    dependencies = ["activerecord" "request_store"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1w3y2h1w0kml2fmzx4sdcrhnbj273npwrs0cx91xdgy2qfjj6hmr";
-      type = "gem";
-    };
-    version = "5.2.2";
-  };
-  paperclip = {
-    dependencies = ["activemodel" "activesupport" "cocaine" "mime-types" "mimemagic"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0r8krh5xg790845wzlc2r7l0jwskw4c4wk9xh4bpprqykwaghg0r";
-      type = "gem";
-    };
-    version = "4.3.7";
-  };
-  pdf-core = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1x121sznmhfmjnk0rzpp6djxgi28afpc8avnhn3kzlmpc87r7fyi";
-      type = "gem";
-    };
-    version = "0.1.6";
-  };
-  pg = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0bplv27d0f8vwdj51967498pl1cjxq19hhcj4hdjr4h3s72l2z4j";
-      type = "gem";
-    };
-    version = "0.19.0";
-  };
-  pkg-config = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0lljiqnm0b4z6iy87lzapwrdfa6ps63x2z5zbs038iig8dqx2g0z";
-      type = "gem";
-    };
-    version = "1.1.7";
-  };
-  polyamorous = {
-    dependencies = ["activerecord"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1501y9l81b2lwb93fkycq8dr1bi6qcdhia3qv4fddnmrdihkl3pv";
-      type = "gem";
-    };
-    version = "1.3.1";
-  };
-  prawn = {
-    dependencies = ["pdf-core" "ttfunk"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "04pxzfmmy8a6bv3zvh1mmyy5zi4bj994kq1v6qnlq2xlhvg4cxjc";
-      type = "gem";
-    };
-    version = "0.15.0";
-  };
-  prawn_rails = {
-    dependencies = ["prawn" "railties"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "19m1pv2rsl3rf9rni78l8137dy2sq1r2443biv19wi9nis2pvgdg";
-      type = "gem";
-    };
-    version = "0.0.11";
-  };
-  pry = {
-    dependencies = ["coderay" "method_source" "slop"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "05xbzyin63aj2prrv8fbq2d5df2mid93m81hz5bvf2v4hnzs42ar";
-      type = "gem";
-    };
-    version = "0.10.4";
-  };
-  pry-byebug = {
-    dependencies = ["byebug" "pry"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0pvc94kgxd33p6iz41ghyadq8zfbjhkk07nvz2mbh3yhrc8w7gmw";
-      type = "gem";
-    };
-    version = "3.4.0";
-  };
-  pry-rails = {
-    dependencies = ["pry"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0a2iinvabis2xmv0z7z7jmh7bbkkngxj2qixfdg5m6qj9x8k1kx6";
-      type = "gem";
-    };
-    version = "0.3.4";
-  };
-  puma = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1k13n500r7v480rcbxm7k09hip0zi7p8zvy3vajj8g9hb7gdcwnp";
-      type = "gem";
-    };
-    version = "3.9.1";
-  };
-  rack = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1g9926ln2lw12lfxm4ylq1h6nl0rafl10za3xvjzc87qvnqic87f";
-      type = "gem";
-    };
-    version = "1.6.11";
-  };
-  rack-test = {
-    dependencies = ["rack"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0h6x5jq24makgv2fq5qqgjlrk74dxfy62jif9blk43llw8ib2q7z";
-      type = "gem";
-    };
-    version = "0.6.3";
-  };
-  rails = {
-    dependencies = ["actionmailer" "actionpack" "actionview" "activejob" "activemodel" "activerecord" "activesupport" "railties" "sprockets-rails"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1avd16ir7qx23dcnz1b3cafq1lja6rq0w222bs658p9n33rbw54l";
-      type = "gem";
-    };
-    version = "4.2.7.1";
-  };
-  rails-deprecated_sanitizer = {
-    dependencies = ["activesupport"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0qxymchzdxww8bjsxj05kbf86hsmrjx40r41ksj0xsixr2gmhbbj";
-      type = "gem";
-    };
-    version = "1.0.3";
-  };
-  rails-dom-testing = {
-    dependencies = ["activesupport" "nokogiri" "rails-deprecated_sanitizer"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1v8jl6803mbqpxh4hn0szj081q1a3ap0nb8ni0qswi7z4la844v8";
-      type = "gem";
-    };
-    version = "1.0.7";
-  };
-  rails-html-sanitizer = {
-    dependencies = ["loofah"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "138fd86kv073zqfx0xifm646w6bgw2lr8snk16lknrrfrss8xnm7";
-      type = "gem";
-    };
-    version = "1.0.3";
-  };
-  rails-observers = {
-    dependencies = ["activemodel"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1lsw19jzmvipvrfy2z04hi7r29dvkfc43h43vs67x6lsj9rxwwcy";
-      type = "gem";
-    };
-    version = "0.1.2";
-  };
-  railties = {
-    dependencies = ["actionpack" "activesupport" "rake" "thor"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "04rz7cn64zzvq7lnhc9zqmaqmqkq84q25v0ym9lcw75j1cj1mrq4";
-      type = "gem";
-    };
-    version = "4.2.7.1";
-  };
-  rake = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0cnjmbcyhm4hacpjn337mg1pnaw6hj09f74clwgh6znx8wam9xla";
-      type = "gem";
-    };
-    version = "11.3.0";
-  };
-  ransack = {
-    dependencies = ["actionpack" "activerecord" "activesupport" "i18n" "polyamorous"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0cya3wygwjhj8rckckkl387bmva4nyfvqcl0qhp9hk3zv8y6wxjc";
-      type = "gem";
-    };
-    version = "1.8.2";
-  };
-  redcarpet = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "04v85p0bnpf1c7w4n0yr03s35yimxh0idgdrrybl9y13zbw5kgvg";
-      type = "gem";
-    };
-    version = "3.3.4";
-  };
-  request_store = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1va9x0b3ww4chcfqlmi8b14db39di1mwa7qrjbh7ma0lhndvs2zv";
-      type = "gem";
-    };
-    version = "1.3.1";
-  };
-  ri_cal = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1flga63anfpfpdwz6lpm3icpdqmvjq757hihfaw63rlkwq4pf390";
-      type = "gem";
-    };
-    version = "0.8.8";
-  };
-  roust = {
-    dependencies = ["activesupport" "httparty" "mail"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1zdnwxxh34psv0iybcdnk9w4dpgpr07j3w1fvigkpccgz5vs82qk";
-      type = "gem";
-    };
-    version = "1.8.9";
-  };
-  rqrcode = {
-    dependencies = ["chunky_png"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0h1pnnydgs032psakvg3l779w3ghbn08ajhhhw19hpmnfhrs8k0a";
-      type = "gem";
-    };
-    version = "0.10.1";
-  };
-  sass = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0dkj6v26fkg1g0majqswwmhxva7cd6p3psrhdlx93qal72dssywy";
-      type = "gem";
-    };
-    version = "3.4.22";
-  };
-  sass-rails = {
-    dependencies = ["railties" "sass" "sprockets" "sprockets-rails" "tilt"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0iji20hb8crncz14piss1b29bfb6l89sz3ai5fny3iw39vnxkdcb";
-      type = "gem";
-    };
-    version = "5.0.6";
-  };
-  shoulda = {
-    dependencies = ["shoulda-context" "shoulda-matchers"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0csmf15a7mcinfq54lfa4arp0f4b2jmwva55m0p94hdf3pxnjymy";
-      type = "gem";
-    };
-    version = "3.5.0";
-  };
-  shoulda-context = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "06wv2ika5zrbxn0m3qxwk0zkbspxids3zmlq3xxays5qmvl1qb55";
-      type = "gem";
-    };
-    version = "1.2.1";
-  };
-  shoulda-matchers = {
-    dependencies = ["activesupport"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0d3ryqcsk1n9y35bx5wxnqbgw4m8b3c79isazdjnnbg8crdp72d0";
-      type = "gem";
-    };
-    version = "2.8.0";
-  };
-  simple_form = {
-    dependencies = ["actionpack" "activemodel"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0ii3rkkbj5cc10f5rdiny18ncdh36kijr25cah0ybbr7kigh3v3b";
-      type = "gem";
-    };
-    version = "3.3.1";
-  };
-  slop = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "00w8g3j7k7kl8ri2cf1m58ckxk8rn350gp4chfscmgv6pq1spk3n";
-      type = "gem";
-    };
-    version = "3.6.0";
-  };
-  sprockets = {
-    dependencies = ["concurrent-ruby" "rack"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0jzsfiladswnzbrwqfiaj1xip68y58rwx0lpmj907vvq47k87gj1";
-      type = "gem";
-    };
-    version = "3.7.0";
-  };
-  sprockets-rails = {
-    dependencies = ["actionpack" "activesupport" "sprockets"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1zr9vk2vn44wcn4265hhnnnsciwlmqzqc6bnx78if1xcssxj6x44";
-      type = "gem";
-    };
-    version = "3.2.0";
-  };
-  sqlite3 = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "19r06wglnm6479ffj9dl0fa4p5j2wi6dj7k6k3d0rbx7036cv3ny";
-      type = "gem";
-    };
-    version = "1.3.11";
-  };
-  sshkit = {
-    dependencies = ["net-scp" "net-ssh"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0wpqvr2dyxwp3shwh0221i1ahyg8vd2hyilmjvdi026l00gk2j4l";
-      type = "gem";
-    };
-    version = "1.11.3";
-  };
-  sucker_punch = {
-    dependencies = ["concurrent-ruby"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0l8b53mlzl568kdl4la8kcjjcnawmbl0q6hq9c3kkyippa5c0x55";
-      type = "gem";
-    };
-    version = "2.0.2";
-  };
-  thor = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
-      type = "gem";
-    };
-    version = "0.19.1";
-  };
-  thread_safe = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1hq46wqsyylx5afkp6jmcihdpv4ynzzq9ygb6z2pb1cbz5js0gcr";
-      type = "gem";
-    };
-    version = "0.3.5";
-  };
-  tilt = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0lgk8bfx24959yq1cn55php3321wddw947mgj07bxfnwyipy9hqf";
-      type = "gem";
-    };
-    version = "2.0.5";
-  };
-  transitions = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "11byymi45s4pxbhj195277r16dyhxkqc2jwf7snbhan23izzay2c";
-      type = "gem";
-    };
-    version = "1.2.0";
-  };
-  ttfunk = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1jvgqhp0i6v9d7davwdn20skgi508yd0xcf1h4p9f5dlslmpnkhj";
-      type = "gem";
-    };
-    version = "1.1.1";
-  };
-  tzinfo = {
-    dependencies = ["thread_safe"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1c01p3kg6xvy1cgjnzdfq45fggbwish8krd0h864jvbpybyx7cgx";
-      type = "gem";
-    };
-    version = "1.2.2";
-  };
-  uglifier = {
-    dependencies = ["execjs"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0f30s1631k03x4wm7xyc79g92pppzvyysa773zsaq2kcry1pmifc";
-      type = "gem";
-    };
-    version = "3.0.2";
-  };
-  uniform_notifier = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1jha0l7x602g5rvah960xl9r0f3q25gslj39i0x1vai8i5z6zr1l";
-      type = "gem";
-    };
-    version = "1.10.0";
-  };
-  will_paginate = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1xlls78hkkmk33q1rb84rgg2xr39g06a1z1239nq59c825g83k01";
-      type = "gem";
-    };
-    version = "3.1.3";
-  };
-  yard = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1gjl0sh7h0a9s67pllagw8192kscljg4y8nddfrqhji4g21yvcas";
-      type = "gem";
-    };
-    version = "0.9.5";
-  };
-}
diff --git a/pkgs/servers/web-apps/lemmy/server.nix b/pkgs/servers/web-apps/lemmy/server.nix
index b58851f99030d..843e6f711654f 100644
--- a/pkgs/servers/web-apps/lemmy/server.nix
+++ b/pkgs/servers/web-apps/lemmy/server.nix
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
   # As of version 0.10.35 rust-openssl looks for openssl on darwin
   # with a hardcoded path to /usr/lib/libssl.x.x.x.dylib
   # https://github.com/sfackler/rust-openssl/blob/master/openssl-sys/build/find_normal.rs#L115
-  OPENSSL_LIB_DIR = "${openssl.out}/lib";
+  OPENSSL_LIB_DIR = "${lib.getLib openssl}/lib";
   OPENSSL_INCLUDE_DIR = "${openssl.dev}/include";
 
   PROTOC = "${protobuf}/bin/protoc";
diff --git a/pkgs/servers/web-apps/mediawiki/default.nix b/pkgs/servers/web-apps/mediawiki/default.nix
index 650b27a7f554c..2339c170f166b 100644
--- a/pkgs/servers/web-apps/mediawiki/default.nix
+++ b/pkgs/servers/web-apps/mediawiki/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mediawiki";
-  version = "1.37.1";
+  version = "1.37.2";
 
   src = with lib; fetchurl {
     url = "https://releases.wikimedia.org/mediawiki/${versions.majorMinor version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-U0NuktwwrbFLZ5fYE50gaWpUYVJfOKN1yD5DXPBC4uc=";
+    sha256 = "sha256-WD8HS8r87BfaUBQqVvW7/eXDNml31h2RLX5W/Mo72hs=";
   };
 
   prePatch = ''
diff --git a/pkgs/servers/web-apps/netbox/config.patch b/pkgs/servers/web-apps/netbox/config.patch
new file mode 100644
index 0000000000000..1adc0b537a4ef
--- /dev/null
+++ b/pkgs/servers/web-apps/netbox/config.patch
@@ -0,0 +1,50 @@
+diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py
+index d5a7bfaec..68754a8c5 100644
+--- a/netbox/netbox/settings.py
++++ b/netbox/netbox/settings.py
+@@ -222,6 +222,7 @@ TASKS_REDIS_PASSWORD = TASKS_REDIS.get('PASSWORD', '')
+ TASKS_REDIS_DATABASE = TASKS_REDIS.get('DATABASE', 0)
+ TASKS_REDIS_SSL = TASKS_REDIS.get('SSL', False)
+ TASKS_REDIS_SKIP_TLS_VERIFY = TASKS_REDIS.get('INSECURE_SKIP_TLS_VERIFY', False)
++TASKS_REDIS_URL = TASKS_REDIS.get('URL')
+ 
+ # Caching
+ if 'caching' not in REDIS:
+@@ -236,11 +237,12 @@ CACHING_REDIS_SENTINELS = REDIS['caching'].get('SENTINELS', [])
+ CACHING_REDIS_SENTINEL_SERVICE = REDIS['caching'].get('SENTINEL_SERVICE', 'default')
+ CACHING_REDIS_PROTO = 'rediss' if REDIS['caching'].get('SSL', False) else 'redis'
+ CACHING_REDIS_SKIP_TLS_VERIFY = REDIS['caching'].get('INSECURE_SKIP_TLS_VERIFY', False)
++CACHING_REDIS_URL = REDIS['caching'].get('URL', f'{CACHING_REDIS_PROTO}://{CACHING_REDIS_HOST}:{CACHING_REDIS_PORT}/{CACHING_REDIS_DATABASE}')
+ 
+ CACHES = {
+     'default': {
+         'BACKEND': 'django_redis.cache.RedisCache',
+-        'LOCATION': f'{CACHING_REDIS_PROTO}://{CACHING_REDIS_HOST}:{CACHING_REDIS_PORT}/{CACHING_REDIS_DATABASE}',
++        'LOCATION': CACHING_REDIS_URL,
+         'OPTIONS': {
+             'CLIENT_CLASS': 'django_redis.client.DefaultClient',
+             'PASSWORD': CACHING_REDIS_PASSWORD,
+@@ -383,7 +385,7 @@ USE_X_FORWARDED_HOST = True
+ X_FRAME_OPTIONS = 'SAMEORIGIN'
+ 
+ # Static files (CSS, JavaScript, Images)
+-STATIC_ROOT = BASE_DIR + '/static'
++STATIC_ROOT = getattr(configuration, 'STATIC_ROOT', os.path.join(BASE_DIR, 'static')).rstrip('/')
+ STATIC_URL = f'/{BASE_PATH}static/'
+ STATICFILES_DIRS = (
+     os.path.join(BASE_DIR, 'project-static', 'dist'),
+@@ -562,6 +564,14 @@ if TASKS_REDIS_USING_SENTINEL:
+             'socket_connect_timeout': TASKS_REDIS_SENTINEL_TIMEOUT
+         },
+     }
++elif TASKS_REDIS_URL:
++    RQ_PARAMS = {
++        'URL': TASKS_REDIS_URL,
++        'PASSWORD': TASKS_REDIS_PASSWORD,
++        'SSL': TASKS_REDIS_SSL,
++        'SSL_CERT_REQS': None if TASKS_REDIS_SKIP_TLS_VERIFY else 'required',
++        'DEFAULT_TIMEOUT': RQ_DEFAULT_TIMEOUT,
++    }
+ else:
+     RQ_PARAMS = {
+         'HOST': TASKS_REDIS_HOST,
diff --git a/pkgs/servers/web-apps/netbox/default.nix b/pkgs/servers/web-apps/netbox/default.nix
new file mode 100644
index 0000000000000..a8abcf9d85737
--- /dev/null
+++ b/pkgs/servers/web-apps/netbox/default.nix
@@ -0,0 +1,117 @@
+{ lib
+, pkgs
+, fetchFromGitHub
+, nixosTests
+, python3
+
+, plugins ? ps: [] }:
+
+let
+  py = python3.override {
+    packageOverrides = self: super: {
+      django = super.django_3;
+      graphql-core = super.graphql-core.overridePythonAttrs (old: rec {
+        version = "3.1.7";
+        src = fetchFromGitHub {
+          owner = "graphql-python";
+          repo = old.pname;
+          rev = "v${version}";
+          sha256 = "1mwwh55qd5bcpvgy6pyliwn8jkmj4yk4d2pqb6mdkgqhdic2081l";
+        };
+      });
+      jsonschema = super.jsonschema.overridePythonAttrs (old: rec {
+        version = "3.2.0";
+        src = self.fetchPypi {
+          pname = old.pname;
+          inherit version;
+          sha256 = "c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a";
+        };
+      });
+      lxml = super.lxml.overridePythonAttrs (old: rec {
+        pname = "lxml";
+        version = "4.6.5";
+
+        src = self.fetchPypi {
+          inherit pname version;
+          sha256 = "6e84edecc3a82f90d44ddee2ee2a2630d4994b8471816e226d2b771cda7ac4ca";
+        };
+      });
+    };
+  };
+
+  extraBuildInputs = plugins py.pkgs;
+in
+py.pkgs.buildPythonApplication rec {
+    pname = "netbox";
+    version = "3.1.10";
+
+    src = fetchFromGitHub {
+      owner = "netbox-community";
+      repo = pname;
+      rev = "v${version}";
+      sha256 = "sha256-qREq4FJHHTA9Vm6f9kSfiYqur2omFmdsoZ4OdaPFcpU=";
+    };
+
+    format = "other";
+
+    patches = [
+      # Allow setting the STATIC_ROOT from within the configuration and setting a custom redis URL
+      ./config.patch
+    ];
+
+    propagatedBuildInputs = with py.pkgs; [
+      django_3
+      django-cors-headers
+      django-debug-toolbar
+      django-filter
+      django-graphiql-debug-toolbar
+      django-mptt
+      django-pglocks
+      django-prometheus
+      django-redis
+      django-rq
+      django-tables2
+      django-taggit
+      django-timezone-field
+      djangorestframework
+      drf-yasg
+      graphene-django
+      jinja2
+      markdown
+      markdown-include
+      mkdocs-material
+      netaddr
+      pillow
+      psycopg2
+      pyyaml
+      social-auth-core
+      social-auth-app-django
+      svgwrite
+      tablib
+      jsonschema
+    ] ++ extraBuildInputs;
+
+    installPhase = ''
+      mkdir -p $out/opt/netbox
+      cp -r . $out/opt/netbox
+      chmod +x $out/opt/netbox/netbox/manage.py
+      makeWrapper $out/opt/netbox/netbox/manage.py $out/bin/netbox \
+        --prefix PYTHONPATH : "$PYTHONPATH"
+    '';
+
+    passthru = {
+      # PYTHONPATH of all dependencies used by the package
+      pythonPath = python3.pkgs.makePythonPath propagatedBuildInputs;
+
+      tests = {
+        inherit (nixosTests) netbox;
+      };
+    };
+
+    meta = with lib; {
+      homepage = "https://github.com/netbox-community/netbox";
+      description = "IP address management (IPAM) and data center infrastructure management (DCIM) tool";
+      license = licenses.asl20;
+      maintainers = with maintainers; [ n0emis raitobezarius ];
+    };
+  }
diff --git a/pkgs/servers/web-apps/whitebophir/default.nix b/pkgs/servers/web-apps/whitebophir/default.nix
index 7373724a01801..630410de11335 100644
--- a/pkgs/servers/web-apps/whitebophir/default.nix
+++ b/pkgs/servers/web-apps/whitebophir/default.nix
@@ -1,11 +1,14 @@
 { stdenv
 , pkgs
 , lib
-, nodejs
+, nodejs-14_x
 , runtimeShell
 }:
 
 let
+  # nodejs-16_x fails with ENOTCACHED
+  nodejs = nodejs-14_x;
+
   nodePackages = import ./node-packages.nix {
     inherit pkgs nodejs;
     inherit (stdenv.hostPlatform) system;
diff --git a/pkgs/servers/web-apps/whitebophir/generate.sh b/pkgs/servers/web-apps/whitebophir/generate.sh
index 825def892fc54..814a83a033d0f 100755
--- a/pkgs/servers/web-apps/whitebophir/generate.sh
+++ b/pkgs/servers/web-apps/whitebophir/generate.sh
@@ -1,7 +1,13 @@
 #!/usr/bin/env nix-shell
 #! nix-shell -i bash -p nodePackages.node2nix
+
+# Run this script not via `./generate.sh`, but via `$PWD/generate.sh`.
+# Else `nix-shell` will not find this script.
+
 set -euo pipefail
 
+cd -- "$(dirname -- "$BASH_SOURCE[0]")"
+
 node2nix \
      --input node-packages.json \
      --output node-packages-generated.nix \
diff --git a/pkgs/servers/web-apps/whitebophir/node-packages-generated.nix b/pkgs/servers/web-apps/whitebophir/node-packages-generated.nix
index 5a511da72a480..a3feac5bffa7b 100644
--- a/pkgs/servers/web-apps/whitebophir/node-packages-generated.nix
+++ b/pkgs/servers/web-apps/whitebophir/node-packages-generated.nix
@@ -22,6 +22,15 @@ let
         sha512 = "v6Ucl//xSVhpyTtHMVCA9uv9W7CVwj8vBAQFKFDkfGC1DquBobOMhnzH9Odc+Tunf+i4WRnNgt90fQ7CSAbU3g==";
       };
     };
+    "@socket.io/base64-arraybuffer-1.0.2" = {
+      name = "_at_socket.io_slash_base64-arraybuffer";
+      packageName = "@socket.io/base64-arraybuffer";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz";
+        sha512 = "dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==";
+      };
+    };
     "@types/component-emitter-1.2.11" = {
       name = "_at_types_slash_component-emitter";
       packageName = "@types/component-emitter";
@@ -49,13 +58,13 @@ let
         sha512 = "vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==";
       };
     };
-    "@types/node-17.0.0" = {
+    "@types/node-17.0.14" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "17.0.0";
+      version = "17.0.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-17.0.0.tgz";
-        sha512 = "eMhwJXc931Ihh4tkU+Y7GiLzT/y/DBNpNtr4yU9O2w3SYBsr9NaOPhQlLKRmoWtI54uNwuo0IOUFQjVOTZYRvw==";
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.14.tgz";
+        sha512 = "SbjLmERksKOGzWzPNuW7fJM7fk3YXVTFiZWB/Hs99gwhk+/dnrQRPBQjPW9aO+fi1tAffi9PrwFvsmOKmDTyng==";
       };
     };
     "accept-language-parser-1.5.0" = {
@@ -67,13 +76,13 @@ let
         sha1 = "8877c54040a8dcb59e0a07d9c1fde42298334791";
       };
     };
-    "accepts-1.3.7" = {
+    "accepts-1.3.8" = {
       name = "accepts";
       packageName = "accepts";
-      version = "1.3.7";
+      version = "1.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz";
-        sha512 = "Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==";
+        url = "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz";
+        sha512 = "PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==";
       };
     };
     "async-mutex-0.3.2" = {
@@ -85,15 +94,6 @@ let
         sha512 = "HuTK7E7MT7jZEh1P9GtRW9+aTWiDWWi9InbZ5hjxrnRa39KS4BW04+xLBhYNS2aXhHUIKZSw3gj4Pn1pj+qGAA==";
       };
     };
-    "base64-arraybuffer-1.0.1" = {
-      name = "base64-arraybuffer";
-      packageName = "base64-arraybuffer";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.1.tgz";
-        sha512 = "vFIUq7FdLtjZMhATwDul5RZWv2jpXQ09Pd6jcVEOvIsqCWTRFD/ONHNfyOS8dA/Ippi5dsIgpyKWKZaAKZltbA==";
-      };
-    };
     "base64id-2.0.0" = {
       name = "base64id";
       packageName = "base64id";
@@ -103,6 +103,15 @@ let
         sha512 = "lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==";
       };
     };
+    "buffer-equal-constant-time-1.0.1" = {
+      name = "buffer-equal-constant-time";
+      packageName = "buffer-equal-constant-time";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz";
+        sha1 = "f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819";
+      };
+    };
     "component-emitter-1.3.0" = {
       name = "component-emitter";
       packageName = "component-emitter";
@@ -112,13 +121,13 @@ let
         sha512 = "Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==";
       };
     };
-    "cookie-0.4.1" = {
+    "cookie-0.4.2" = {
       name = "cookie";
       packageName = "cookie";
-      version = "0.4.1";
+      version = "0.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz";
-        sha512 = "ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==";
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz";
+        sha512 = "aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==";
       };
     };
     "core-util-is-1.0.3" = {
@@ -175,6 +184,15 @@ let
         sha1 = "978857442c44749e4206613e37946205826abd80";
       };
     };
+    "ecdsa-sig-formatter-1.0.11" = {
+      name = "ecdsa-sig-formatter";
+      packageName = "ecdsa-sig-formatter";
+      version = "1.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz";
+        sha512 = "nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==";
+      };
+    };
     "ee-first-1.1.1" = {
       name = "ee-first";
       packageName = "ee-first";
@@ -193,22 +211,22 @@ let
         sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
       };
     };
-    "engine.io-6.1.0" = {
+    "engine.io-6.1.2" = {
       name = "engine.io";
       packageName = "engine.io";
-      version = "6.1.0";
+      version = "6.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/engine.io/-/engine.io-6.1.0.tgz";
-        sha512 = "ErhZOVu2xweCjEfYcTdkCnEYUiZgkAcBBAhW4jbIvNG8SLU3orAqoJCiytZjYF7eTpVmmCrLDjLIEaPlUAs1uw==";
+        url = "https://registry.npmjs.org/engine.io/-/engine.io-6.1.2.tgz";
+        sha512 = "v/7eGHxPvO2AWsksyx2PUsQvBafuvqs0jJJQ0FdmJG1b9qIvgSbqDRGwNhfk2XHaTTbTXiC4quRE8Q9nRjsrQQ==";
       };
     };
-    "engine.io-parser-5.0.2" = {
+    "engine.io-parser-5.0.3" = {
       name = "engine.io-parser";
       packageName = "engine.io-parser";
-      version = "5.0.2";
+      version = "5.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.2.tgz";
-        sha512 = "wuiO7qO/OEkPJSFueuATIXtrxF7/6GTbAO9QLv7nnbjwZ5tYhLm9zxvLwxstRs0dcT0KUlWTjtIOs1T86jt12g==";
+        url = "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz";
+        sha512 = "BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==";
       };
     };
     "escape-html-1.0.3" = {
@@ -256,13 +274,13 @@ let
         sha1 = "18282b27d08a267cb3030cd2b8b4b0f212af752a";
       };
     };
-    "graceful-fs-4.2.8" = {
+    "graceful-fs-4.2.9" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.2.8";
+      version = "4.2.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz";
-        sha512 = "qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz";
+        sha512 = "NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==";
       };
     };
     "handlebars-4.7.7" = {
@@ -301,6 +319,96 @@ let
         sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
       };
     };
+    "jsonwebtoken-8.5.1" = {
+      name = "jsonwebtoken";
+      packageName = "jsonwebtoken";
+      version = "8.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz";
+        sha512 = "XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==";
+      };
+    };
+    "jwa-1.4.1" = {
+      name = "jwa";
+      packageName = "jwa";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz";
+        sha512 = "qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==";
+      };
+    };
+    "jws-3.2.2" = {
+      name = "jws";
+      packageName = "jws";
+      version = "3.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz";
+        sha512 = "YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==";
+      };
+    };
+    "lodash.includes-4.3.0" = {
+      name = "lodash.includes";
+      packageName = "lodash.includes";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz";
+        sha1 = "60bb98a87cb923c68ca1e51325483314849f553f";
+      };
+    };
+    "lodash.isboolean-3.0.3" = {
+      name = "lodash.isboolean";
+      packageName = "lodash.isboolean";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz";
+        sha1 = "6c2e171db2a257cd96802fd43b01b20d5f5870f6";
+      };
+    };
+    "lodash.isinteger-4.0.4" = {
+      name = "lodash.isinteger";
+      packageName = "lodash.isinteger";
+      version = "4.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz";
+        sha1 = "619c0af3d03f8b04c31f5882840b77b11cd68343";
+      };
+    };
+    "lodash.isnumber-3.0.3" = {
+      name = "lodash.isnumber";
+      packageName = "lodash.isnumber";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz";
+        sha1 = "3ce76810c5928d03352301ac287317f11c0b1ffc";
+      };
+    };
+    "lodash.isplainobject-4.0.6" = {
+      name = "lodash.isplainobject";
+      packageName = "lodash.isplainobject";
+      version = "4.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz";
+        sha1 = "7c526a52d89b45c45cc690b88163be0497f550cb";
+      };
+    };
+    "lodash.isstring-4.0.1" = {
+      name = "lodash.isstring";
+      packageName = "lodash.isstring";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz";
+        sha1 = "d527dfb5456eca7cc9bb95d5daeaf88ba54a5451";
+      };
+    };
+    "lodash.once-4.1.1" = {
+      name = "lodash.once";
+      packageName = "lodash.once";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz";
+        sha1 = "0dd3971213c7c56df880977d504c88fb471a97ac";
+      };
+    };
     "lru-cache-6.0.0" = {
       name = "lru-cache";
       packageName = "lru-cache";
@@ -391,13 +499,13 @@ let
         sha512 = "6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==";
       };
     };
-    "negotiator-0.6.2" = {
+    "negotiator-0.6.3" = {
       name = "negotiator";
       packageName = "negotiator";
-      version = "0.6.2";
+      version = "0.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz";
-        sha512 = "hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==";
+        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz";
+        sha512 = "+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==";
       };
     };
     "neo-async-2.6.2" = {
@@ -499,6 +607,24 @@ let
         sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
       };
     };
+    "safe-buffer-5.2.1" = {
+      name = "safe-buffer";
+      packageName = "safe-buffer";
+      version = "5.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz";
+        sha512 = "rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==";
+      };
+    };
+    "semver-5.7.1" = {
+      name = "semver";
+      packageName = "semver";
+      version = "5.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz";
+        sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==";
+      };
+    };
     "semver-7.3.5" = {
       name = "semver";
       packageName = "semver";
@@ -535,13 +661,13 @@ let
         sha512 = "E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==";
       };
     };
-    "socket.io-4.4.0" = {
+    "socket.io-4.4.1" = {
       name = "socket.io";
       packageName = "socket.io";
-      version = "4.4.0";
+      version = "4.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/socket.io/-/socket.io-4.4.0.tgz";
-        sha512 = "bnpJxswR9ov0Bw6ilhCvO38/1WPtE3eA2dtxi2Iq4/sFebiDJQzgKNYA7AuVVdGW09nrESXd90NbZqtDd9dzRQ==";
+        url = "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz";
+        sha512 = "s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==";
       };
     };
     "socket.io-adapter-2.3.3" = {
@@ -643,13 +769,13 @@ let
         sha512 = "77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==";
       };
     };
-    "uglify-js-3.14.5" = {
+    "uglify-js-3.15.0" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "3.14.5";
+      version = "3.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.5.tgz";
-        sha512 = "qZukoSxOG0urUTvjc2ERMTcAy+BiFh3weWAkeurLwjrCba73poHmG3E36XEjd/JGukMzwTL7uCxZiAexj8ppvQ==";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.0.tgz";
+        sha512 = "x+xdeDWq7FiORDvyIJ0q/waWd4PhjBNOm5dQUOq2AKC0IEjxOS66Ha9tctiVDGcRQuh69K7fgU5oRuTK4cysSg==";
       };
     };
     "util-deprecate-1.0.2" = {
@@ -700,29 +826,34 @@ let
   };
 in
 {
-  "whitebophir-git+https://github.com/lovasoa/whitebophir.git#v1.16.0" = nodeEnv.buildNodePackage {
+  "whitebophir-git+https://github.com/lovasoa/whitebophir.git#v1.17.0" = nodeEnv.buildNodePackage {
     name = "whitebophir";
     packageName = "whitebophir";
-    version = "1.16.0";
+    version = "1.17.0";
     src = fetchgit {
       url = "https://github.com/lovasoa/whitebophir.git";
-      rev = "8a3997b26419b3d510ad92c18071c4ce007b0081";
-      sha256 = "8aab3d89c72589d60f956f83a8e33d9d52a5b4da3c13004f9ab75b6dcbdaadcc";
+      rev = "7fd1b7bbeaf9a178ba76ff60ebc4c9870bc599f3";
+      sha256 = "a343b29069e5da8ab129588a8d21ddefd03af5a69f04db6b35082ecfcef75d40";
     };
     dependencies = [
-      sources."@financial-times/polyfill-useragent-normaliser-1.10.1"
+      (sources."@financial-times/polyfill-useragent-normaliser-1.10.1" // {
+        dependencies = [
+          sources."semver-7.3.5"
+        ];
+      })
       sources."@financial-times/useragent_parser-1.6.0"
+      sources."@socket.io/base64-arraybuffer-1.0.2"
       sources."@types/component-emitter-1.2.11"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
-      sources."@types/node-17.0.0"
+      sources."@types/node-17.0.14"
       sources."accept-language-parser-1.5.0"
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."async-mutex-0.3.2"
-      sources."base64-arraybuffer-1.0.1"
       sources."base64id-2.0.0"
+      sources."buffer-equal-constant-time-1.0.1"
       sources."component-emitter-1.3.0"
-      sources."cookie-0.4.1"
+      sources."cookie-0.4.2"
       sources."core-util-is-1.0.3"
       sources."cors-2.8.5"
       (sources."debug-2.6.9" // {
@@ -732,25 +863,36 @@ in
       })
       sources."depd-1.1.2"
       sources."destroy-1.0.4"
+      sources."ecdsa-sig-formatter-1.0.11"
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
-      (sources."engine.io-6.1.0" // {
+      (sources."engine.io-6.1.2" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."ms-2.1.2"
         ];
       })
-      sources."engine.io-parser-5.0.2"
+      sources."engine.io-parser-5.0.3"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
       sources."fresh-0.5.2"
       sources."from2-2.3.0"
       sources."from2-string-1.1.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."handlebars-4.7.7"
       sources."http-errors-1.8.1"
       sources."inherits-2.0.4"
       sources."isarray-1.0.0"
+      sources."jsonwebtoken-8.5.1"
+      sources."jwa-1.4.1"
+      sources."jws-3.2.2"
+      sources."lodash.includes-4.3.0"
+      sources."lodash.isboolean-3.0.3"
+      sources."lodash.isinteger-4.0.4"
+      sources."lodash.isnumber-3.0.3"
+      sources."lodash.isplainobject-4.0.6"
+      sources."lodash.isstring-4.0.1"
+      sources."lodash.once-4.1.1"
       sources."lru-cache-6.0.0"
       sources."merge2-1.4.1"
       sources."mime-1.6.0"
@@ -759,7 +901,7 @@ in
       sources."minimist-1.2.5"
       sources."mnemonist-0.38.5"
       sources."ms-2.1.3"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."neo-async-2.6.2"
       sources."object-assign-4.1.1"
       sources."obliterator-2.0.1"
@@ -769,13 +911,17 @@ in
       sources."process-nextick-args-2.0.1"
       sources."promise-polyfill-1.1.6"
       sources."range-parser-1.2.1"
-      sources."readable-stream-2.3.7"
-      sources."safe-buffer-5.1.2"
-      sources."semver-7.3.5"
+      (sources."readable-stream-2.3.7" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."safe-buffer-5.2.1"
+      sources."semver-5.7.1"
       sources."send-0.17.2"
       sources."serve-static-1.14.2"
       sources."setprototypeof-1.2.0"
-      (sources."socket.io-4.4.0" // {
+      (sources."socket.io-4.4.1" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."ms-2.1.2"
@@ -793,11 +939,15 @@ in
       sources."statuses-1.5.0"
       sources."stream-from-promise-1.0.0"
       sources."stream-to-string-1.2.0"
-      sources."string_decoder-1.1.1"
+      (sources."string_decoder-1.1.1" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
       sources."toidentifier-1.0.1"
       sources."toposort-2.0.2"
       sources."tslib-2.3.1"
-      sources."uglify-js-3.14.5"
+      sources."uglify-js-3.15.0"
       sources."util-deprecate-1.0.2"
       sources."vary-1.1.2"
       sources."wordwrap-1.0.0"
diff --git a/pkgs/servers/web-apps/whitebophir/node-packages.json b/pkgs/servers/web-apps/whitebophir/node-packages.json
index 0d0615804f5a1..6b42db95e3e0e 100644
--- a/pkgs/servers/web-apps/whitebophir/node-packages.json
+++ b/pkgs/servers/web-apps/whitebophir/node-packages.json
@@ -1,3 +1,3 @@
 [
-  { "whitebophir": "git+https://github.com/lovasoa/whitebophir.git#v1.16.0" }
+  { "whitebophir": "git+https://github.com/lovasoa/whitebophir.git#v1.17.0" }
 ]
diff --git a/pkgs/servers/x11/xorg/xwayland.nix b/pkgs/servers/x11/xorg/xwayland.nix
index 851e16beb3f7f..53dfdc529cb60 100644
--- a/pkgs/servers/x11/xorg/xwayland.nix
+++ b/pkgs/servers/x11/xorg/xwayland.nix
@@ -23,6 +23,7 @@
 , libxcb
 , libxkbfile
 , libxshmfence
+, libxcvt
 , mesa
 , meson
 , ninja
@@ -43,10 +44,10 @@
 stdenv.mkDerivation rec {
 
   pname = "xwayland";
-  version = "21.1.4";
+  version = "22.1.0";
   src = fetchurl {
     url = "mirror://xorg/individual/xserver/${pname}-${version}.tar.xz";
-    sha256 = "sha256-GfZ5XzHPqOs1Kx5bPDefIu5gIOmHAf8sxnnajE8RWfc=";
+    sha256 = "sha256-F1LW0Kkw5xKStaMI04EevVTYzGjKz/RN5lQmW4YXor8=";
   };
 
   depsBuildBuild = [
@@ -82,6 +83,7 @@ stdenv.mkDerivation rec {
     libxcb
     libxkbfile
     libxshmfence
+    libxcvt
     mesa
     openssl
     pixman
diff --git a/pkgs/servers/xmpp/openfire/default.nix b/pkgs/servers/xmpp/openfire/default.nix
deleted file mode 100644
index a655f1c348f6c..0000000000000
--- a/pkgs/servers/xmpp/openfire/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib, stdenv, fetchurl, jre }:
-
-stdenv.mkDerivation rec {
-  pname = "openfire";
-  version  = "3_6_3";
-
-  src = fetchurl {
-    url = "http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_${version}.tar.gz";
-    sha256 = "0ibzhmh9qw4lmx45ir1i280p30npgwnj7vrkl432kj3zi7hp79q2";
-  };
-
-  buildInputs = [ jre ];
-
-  installPhase = ''
-    sed -e 's@\(common_jvm_locations=\).*@\1${jre}@' -i bin/openfire
-    cp -r . $out
-    rm -r $out/logs
-    mv $out/conf $out/conf.inst
-    ln -s /var/log/openfire $out/logs
-    ln -s /etc/openfire $out/conf
-  '';
-
-  meta = {
-    description = "XMPP server in Java";
-    platforms = lib.platforms.unix;
-    # Some security advisories seem to apply, and each next version wants to
-    # write into larger parts of installation directory; installation is just
-    # unpacking, though
-    broken = true;
-  };
-}
diff --git a/pkgs/servers/xmpp/prosody/default.nix b/pkgs/servers/xmpp/prosody/default.nix
index 1556250447a9a..6b70c4cc9874f 100644
--- a/pkgs/servers/xmpp/prosody/default.nix
+++ b/pkgs/servers/xmpp/prosody/default.nix
@@ -72,17 +72,17 @@ stdenv.mkDerivation rec {
         cp -r $communityModules/mod_${module} $out/lib/prosody/modules/
       '') (lib.lists.unique(nixosModuleDeps ++ withCommunityModules ++ withOnlyInstalledCommunityModules))}
       wrapProgram $out/bin/prosody \
-        --set LUA_PATH "$luaEnvPath" \
-        --set LUA_CPATH "$luaEnvCPath"
+        --prefix LUA_PATH ';' "$luaEnvPath" \
+        --prefix LUA_CPATH ';' "$luaEnvCPath"
       wrapProgram $out/bin/prosodyctl \
         --add-flags '--config "/etc/prosody/prosody.cfg.lua"' \
-        --set LUA_PATH "$luaEnvPath" \
-        --set LUA_CPATH "$luaEnvCPath"
+        --prefix LUA_PATH ';' "$luaEnvPath" \
+        --prefix LUA_CPATH ';' "$luaEnvCPath"
 
       make -C tools/migration install
       wrapProgram $out/bin/prosody-migrator \
-        --set LUA_PATH "$luaEnvPath" \
-        --set LUA_CPATH "$luaEnvCPath"
+        --prefix LUA_PATH ';' "$luaEnvPath" \
+        --prefix LUA_CPATH ';' "$luaEnvCPath"
     '';
 
   passthru = {
diff --git a/pkgs/servers/zigbee2mqtt/default.nix b/pkgs/servers/zigbee2mqtt/default.nix
index 03c9337f5c44a..3634548223ddd 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.24.0";
+  version = "1.25.0";
   reconstructLock = true;
 
   src = pkgs.fetchFromGitHub {
     owner = "Koenkk";
     repo = "zigbee2mqtt";
     rev = version;
-    sha256 = "epQXexhTT6xuB50eudRRzTZHGv0vX+hgMUZcm36red4=";
+    sha256 = "Wp3+N3np/biNw2xaR79PpQ/S7o3FftjH6AgyMLM+ya8=";
   };
 
   passthru.tests.zigbee2mqtt = nixosTests.zigbee2mqtt;
diff --git a/pkgs/servers/zigbee2mqtt/node-packages.nix b/pkgs/servers/zigbee2mqtt/node-packages.nix
index 0047c3a6aceca..e4143d6eeceda 100644
--- a/pkgs/servers/zigbee2mqtt/node-packages.nix
+++ b/pkgs/servers/zigbee2mqtt/node-packages.nix
@@ -31,6 +31,16 @@ let
         sha512 = "es10YH/ejXbg551vtnmEzIPe3MQRNOS644o3pf8vUr1tIeNzVNlP8BBvs1Eh7roh5A+k2fEHUas+ZptOWHA1fQ==";
       };
     };
+    "@babel/cli-https://registry.npmjs.org/@babel/cli/-/cli-7.17.0.tgz" = {
+      name = "_at_babel_slash_cli";
+      packageName = "@babel/cli";
+      version = 1;
+      src = fetchurl {
+        name = "cli-1.tar.gz";
+        url = "https://registry.npmjs.org/@babel/cli/-/cli-7.17.0.tgz";
+        sha512 = "es10YH/ejXbg551vtnmEzIPe3MQRNOS644o3pf8vUr1tIeNzVNlP8BBvs1Eh7roh5A+k2fEHUas+ZptOWHA1fQ==";
+      };
+    };
     "@babel/code-frame-7.16.7" = {
       name = "_at_babel_slash_code-frame";
       packageName = "@babel/code-frame";
@@ -49,6 +59,15 @@ let
         sha512 = "392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==";
       };
     };
+    "@babel/compat-data-7.17.7" = {
+      name = "_at_babel_slash_compat-data";
+      packageName = "@babel/compat-data";
+      version = "7.17.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz";
+        sha512 = "p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==";
+      };
+    };
     "@babel/core-7.17.0" = {
       name = "_at_babel_slash_core";
       packageName = "@babel/core";
@@ -58,13 +77,13 @@ let
         sha512 = "x/5Ea+RO5MvF9ize5DeVICJoVrNv0Mi2RnIABrZEKYvPEpldXwauPkgvYA17cKa6WpU3LoYvYbuEMFtSNFsarA==";
       };
     };
-    "@babel/core-7.17.5" = {
+    "@babel/core-7.17.8" = {
       name = "_at_babel_slash_core";
       packageName = "@babel/core";
-      version = "7.17.5";
+      version = "7.17.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.17.5.tgz";
-        sha512 = "/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA==";
+        url = "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz";
+        sha512 = "OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==";
       };
     };
     "@babel/generator-7.17.0" = {
@@ -76,13 +95,13 @@ let
         sha512 = "I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw==";
       };
     };
-    "@babel/generator-7.17.3" = {
+    "@babel/generator-7.17.7" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
-      version = "7.17.3";
+      version = "7.17.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz";
-        sha512 = "+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==";
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz";
+        sha512 = "oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==";
       };
     };
     "@babel/helper-annotate-as-pure-7.16.7" = {
@@ -112,6 +131,15 @@ let
         sha512 = "mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==";
       };
     };
+    "@babel/helper-compilation-targets-7.17.7" = {
+      name = "_at_babel_slash_helper-compilation-targets";
+      packageName = "@babel/helper-compilation-targets";
+      version = "7.17.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz";
+        sha512 = "UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==";
+      };
+    };
     "@babel/helper-create-class-features-plugin-7.17.1" = {
       name = "_at_babel_slash_helper-create-class-features-plugin";
       packageName = "@babel/helper-create-class-features-plugin";
@@ -202,6 +230,15 @@ let
         sha512 = "VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==";
       };
     };
+    "@babel/helper-member-expression-to-functions-7.17.7" = {
+      name = "_at_babel_slash_helper-member-expression-to-functions";
+      packageName = "@babel/helper-member-expression-to-functions";
+      version = "7.17.7";
+      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==";
+      };
+    };
     "@babel/helper-module-imports-7.16.7" = {
       name = "_at_babel_slash_helper-module-imports";
       packageName = "@babel/helper-module-imports";
@@ -220,13 +257,13 @@ let
         sha512 = "gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==";
       };
     };
-    "@babel/helper-module-transforms-7.17.6" = {
+    "@babel/helper-module-transforms-7.17.7" = {
       name = "_at_babel_slash_helper-module-transforms";
       packageName = "@babel/helper-module-transforms";
-      version = "7.17.6";
+      version = "7.17.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.6.tgz";
-        sha512 = "2ULmRdqoOMpdvkbT8jONrZML/XALfzxlb052bldftkicAUy8AxSCkD5trDPQcwHNmolcl7wP6ehNqMlyUw6AaA==";
+        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz";
+        sha512 = "VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==";
       };
     };
     "@babel/helper-optimise-call-expression-7.16.7" = {
@@ -274,6 +311,15 @@ let
         sha512 = "ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==";
       };
     };
+    "@babel/helper-simple-access-7.17.7" = {
+      name = "_at_babel_slash_helper-simple-access";
+      packageName = "@babel/helper-simple-access";
+      version = "7.17.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz";
+        sha512 = "txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==";
+      };
+    };
     "@babel/helper-skip-transparent-expression-wrappers-7.16.0" = {
       name = "_at_babel_slash_helper-skip-transparent-expression-wrappers";
       packageName = "@babel/helper-skip-transparent-expression-wrappers";
@@ -328,13 +374,13 @@ let
         sha512 = "Xe/9NFxjPwELUvW2dsukcMZIp6XwPSbI4ojFBJuX5ramHuVE22SVcZIwqzdWo5uCgeTXW8qV97lMvSOjq+1+nQ==";
       };
     };
-    "@babel/helpers-7.17.2" = {
+    "@babel/helpers-7.17.8" = {
       name = "_at_babel_slash_helpers";
       packageName = "@babel/helpers";
-      version = "7.17.2";
+      version = "7.17.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.2.tgz";
-        sha512 = "0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ==";
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz";
+        sha512 = "QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==";
       };
     };
     "@babel/highlight-7.16.10" = {
@@ -355,13 +401,13 @@ let
         sha512 = "VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw==";
       };
     };
-    "@babel/parser-7.17.3" = {
+    "@babel/parser-7.17.8" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.17.3";
+      version = "7.17.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz";
-        sha512 = "7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz";
+        sha512 = "BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==";
       };
     };
     "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7" = {
@@ -418,13 +464,13 @@ let
         sha512 = "X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==";
       };
     };
-    "@babel/plugin-proposal-decorators-7.17.2" = {
+    "@babel/plugin-proposal-decorators-7.17.8" = {
       name = "_at_babel_slash_plugin-proposal-decorators";
       packageName = "@babel/plugin-proposal-decorators";
-      version = "7.17.2";
+      version = "7.17.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.2.tgz";
-        sha512 = "WH8Z95CwTq/W8rFbMqb9p3hicpt4RX4f0K659ax2VHxgOyT6qQmUaEVEjIh4WR9Eh9NymkVn5vwsrE68fAQNUw==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.8.tgz";
+        sha512 = "U69odN4Umyyx1xO1rTII0IDkAEC+RNlcKXtqOblfpzqy1C+aOplb76BQNq0+XdpVkOaPlpEDwd++joY8FNFJKA==";
       };
     };
     "@babel/plugin-proposal-dynamic-import-7.16.7" = {
@@ -769,13 +815,13 @@ let
         sha512 = "VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==";
       };
     };
-    "@babel/plugin-transform-destructuring-7.17.3" = {
+    "@babel/plugin-transform-destructuring-7.17.7" = {
       name = "_at_babel_slash_plugin-transform-destructuring";
       packageName = "@babel/plugin-transform-destructuring";
-      version = "7.17.3";
+      version = "7.17.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.3.tgz";
-        sha512 = "dDFzegDYKlPqa72xIlbmSkly5MluLoaC1JswABGktyt6NTXSBcUuse/kWE/wvKFWJHPETpi158qJZFS3JmykJg==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz";
+        sha512 = "XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==";
       };
     };
     "@babel/plugin-transform-dotall-regex-7.16.7" = {
@@ -859,6 +905,15 @@ let
         sha512 = "oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==";
       };
     };
+    "@babel/plugin-transform-modules-commonjs-7.17.7" = {
+      name = "_at_babel_slash_plugin-transform-modules-commonjs";
+      packageName = "@babel/plugin-transform-modules-commonjs";
+      version = "7.17.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.7.tgz";
+        sha512 = "ITPmR2V7MqioMJyrxUo2onHNC3e+MvfFiFIR0RP21d3PtlVb6sfzoxNKiphSZUOM9hEIdzCcZe83ieX3yoqjUA==";
+      };
+    };
     "@babel/plugin-transform-modules-systemjs-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-modules-systemjs";
       packageName = "@babel/plugin-transform-modules-systemjs";
@@ -868,6 +923,15 @@ let
         sha512 = "DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==";
       };
     };
+    "@babel/plugin-transform-modules-systemjs-7.17.8" = {
+      name = "_at_babel_slash_plugin-transform-modules-systemjs";
+      packageName = "@babel/plugin-transform-modules-systemjs";
+      version = "7.17.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz";
+        sha512 = "39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==";
+      };
+    };
     "@babel/plugin-transform-modules-umd-7.16.7" = {
       name = "_at_babel_slash_plugin-transform-modules-umd";
       packageName = "@babel/plugin-transform-modules-umd";
@@ -1021,6 +1085,16 @@ let
         sha512 = "qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==";
       };
     };
+    "@babel/preset-env-https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz" = {
+      name = "_at_babel_slash_preset-env";
+      packageName = "@babel/preset-env";
+      version = 1;
+      src = fetchurl {
+        name = "preset-env-1.tar.gz";
+        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz";
+        sha512 = "qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==";
+      };
+    };
     "@babel/preset-modules-0.1.5" = {
       name = "_at_babel_slash_preset-modules";
       packageName = "@babel/preset-modules";
@@ -1039,6 +1113,16 @@ let
         sha512 = "WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==";
       };
     };
+    "@babel/preset-typescript-https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz" = {
+      name = "_at_babel_slash_preset-typescript";
+      packageName = "@babel/preset-typescript";
+      version = 1;
+      src = fetchurl {
+        name = "preset-typescript-1.tar.gz";
+        url = "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz";
+        sha512 = "WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==";
+      };
+    };
     "@babel/runtime-7.17.0" = {
       name = "_at_babel_slash_runtime";
       packageName = "@babel/runtime";
@@ -1048,13 +1132,13 @@ let
         sha512 = "etcO/ohMNaNA2UBdaXBBSX/3aEzFMRrVfaPv8Ptc0k+cWpWW0QFiGZ2XnVqQZI1Cf734LbPGmqBKWESfW4x/dQ==";
       };
     };
-    "@babel/runtime-7.17.2" = {
+    "@babel/runtime-7.17.8" = {
       name = "_at_babel_slash_runtime";
       packageName = "@babel/runtime";
-      version = "7.17.2";
+      version = "7.17.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.2.tgz";
-        sha512 = "hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw==";
+        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.8.tgz";
+        sha512 = "dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA==";
       };
     };
     "@babel/template-7.16.7" = {
@@ -1129,13 +1213,13 @@ let
         sha512 = "BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==";
       };
     };
-    "@eslint/eslintrc-1.2.0" = {
+    "@eslint/eslintrc-1.2.1" = {
       name = "_at_eslint_slash_eslintrc";
       packageName = "@eslint/eslintrc";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.0.tgz";
-        sha512 = "igm9SjJHNEJRiUnecP/1R5T3wKLEJ7pL6e2P+GUSfCd0dGjPYYZve08uzw8L2J8foVHFz+NGu12JxRcU2gGo6w==";
+        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz";
+        sha512 = "bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==";
       };
     };
     "@humanwhocodes/config-array-0.9.3" = {
@@ -1606,6 +1690,15 @@ let
         sha512 = "S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ==";
       };
     };
+    "@types/babel__core-7.1.19" = {
+      name = "_at_types_slash_babel__core";
+      packageName = "@types/babel__core";
+      version = "7.1.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz";
+        sha512 = "WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==";
+      };
+    };
     "@types/babel__generator-7.6.4" = {
       name = "_at_types_slash_babel__generator";
       packageName = "@types/babel__generator";
@@ -1642,6 +1735,16 @@ let
         sha512 = "epMsEE85fi4lfmJUH/89/iV/LI+F5CvNIvmgs5g5jYFPfhO2S/ae8WSsLOKWdwtoaZw9Q2IhJ4tQ5tFCcS/4HA==";
       };
     };
+    "@types/debounce-https://registry.npmjs.org/@types/debounce/-/debounce-1.2.1.tgz" = {
+      name = "_at_types_slash_debounce";
+      packageName = "@types/debounce";
+      version = 1;
+      src = fetchurl {
+        name = "debounce-1.tar.gz";
+        url = "https://registry.npmjs.org/@types/debounce/-/debounce-1.2.1.tgz";
+        sha512 = "epMsEE85fi4lfmJUH/89/iV/LI+F5CvNIvmgs5g5jYFPfhO2S/ae8WSsLOKWdwtoaZw9Q2IhJ4tQ5tFCcS/4HA==";
+      };
+    };
     "@types/debug-4.1.7" = {
       name = "_at_types_slash_debug";
       packageName = "@types/debug";
@@ -1651,6 +1754,16 @@ let
         sha512 = "9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==";
       };
     };
+    "@types/debug-https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz" = {
+      name = "_at_types_slash_debug";
+      packageName = "@types/debug";
+      version = 1;
+      src = fetchurl {
+        name = "debug-1.tar.gz";
+        url = "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz";
+        sha512 = "9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==";
+      };
+    };
     "@types/finalhandler-1.1.1" = {
       name = "_at_types_slash_finalhandler";
       packageName = "@types/finalhandler";
@@ -1732,6 +1845,16 @@ let
         sha512 = "23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==";
       };
     };
+    "@types/jest-https://registry.npmjs.org/@types/jest/-/jest-27.4.0.tgz" = {
+      name = "_at_types_slash_jest";
+      packageName = "@types/jest";
+      version = 1;
+      src = fetchurl {
+        name = "jest-1.tar.gz";
+        url = "https://registry.npmjs.org/@types/jest/-/jest-27.4.0.tgz";
+        sha512 = "gHl8XuC1RZ8H2j5sHv/JqsaxXkDDM9iDOgu0Wp8sjs4u/snb2PVehyWXJPr+ORA0RPpgw231mnutWI1+0hgjIQ==";
+      };
+    };
     "@types/js-yaml-4.0.5" = {
       name = "_at_types_slash_js-yaml";
       packageName = "@types/js-yaml";
@@ -1741,6 +1864,15 @@ let
         sha512 = "FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==";
       };
     };
+    "@types/json-schema-7.0.11" = {
+      name = "_at_types_slash_json-schema";
+      packageName = "@types/json-schema";
+      version = "7.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz";
+        sha512 = "wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==";
+      };
+    };
     "@types/json-schema-7.0.9" = {
       name = "_at_types_slash_json-schema";
       packageName = "@types/json-schema";
@@ -1777,6 +1909,16 @@ let
         sha512 = "Zs0imXxyWT20j3Z2NwKpr0IO2LmLactBblNyLua5Az4UHuqOQ02V3jPTgyKwDkuc33/ahw+C3O1PIZdrhFMuQA==";
       };
     };
+    "@types/mz-https://registry.npmjs.org/@types/mz/-/mz-2.7.4.tgz" = {
+      name = "_at_types_slash_mz";
+      packageName = "@types/mz";
+      version = 1;
+      src = fetchurl {
+        name = "mz-1.tar.gz";
+        url = "https://registry.npmjs.org/@types/mz/-/mz-2.7.4.tgz";
+        sha512 = "Zs0imXxyWT20j3Z2NwKpr0IO2LmLactBblNyLua5Az4UHuqOQ02V3jPTgyKwDkuc33/ahw+C3O1PIZdrhFMuQA==";
+      };
+    };
     "@types/nedb-1.8.12" = {
       name = "_at_types_slash_nedb";
       packageName = "@types/nedb";
@@ -1786,6 +1928,16 @@ let
         sha512 = "ICDoQMORMjOSqfNFXT4ENXfwwCir1BPblXNm0SPH7C4Q10ou+pvVagcFAJ+rrzf3A47tGU4K/KbzKu7wO9j45Q==";
       };
     };
+    "@types/nedb-https://registry.npmjs.org/@types/nedb/-/nedb-1.8.12.tgz" = {
+      name = "_at_types_slash_nedb";
+      packageName = "@types/nedb";
+      version = 1;
+      src = fetchurl {
+        name = "nedb-1.tar.gz";
+        url = "https://registry.npmjs.org/@types/nedb/-/nedb-1.8.12.tgz";
+        sha512 = "ICDoQMORMjOSqfNFXT4ENXfwwCir1BPblXNm0SPH7C4Q10ou+pvVagcFAJ+rrzf3A47tGU4K/KbzKu7wO9j45Q==";
+      };
+    };
     "@types/node-17.0.15" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
@@ -1795,13 +1947,13 @@ let
         sha512 = "zWt4SDDv1S9WRBNxLFxFRHxdD9tvH8f5/kg5/IaLFdnSNXsDY4eL3Q3XXN+VxUnWIhyVFDwcsmAprvwXoM/ClA==";
       };
     };
-    "@types/node-17.0.21" = {
+    "@types/node-17.0.23" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "17.0.21";
+      version = "17.0.23";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-17.0.21.tgz";
-        sha512 = "DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==";
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz";
+        sha512 = "UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==";
       };
     };
     "@types/object-assign-deep-0.4.0" = {
@@ -1849,6 +2001,16 @@ let
         sha512 = "z4b1I8/vdZE3upgCcAL9VAWlVVFUVn5uo3faAHavkVfK/Hb1LUxKwp9YCtA5AZqEUCWoSWl20SRTOvAI/5fQWQ==";
       };
     };
+    "@types/serialport-https://registry.npmjs.org/@types/serialport/-/serialport-8.0.2.tgz" = {
+      name = "_at_types_slash_serialport";
+      packageName = "@types/serialport";
+      version = 1;
+      src = fetchurl {
+        name = "serialport-1.tar.gz";
+        url = "https://registry.npmjs.org/@types/serialport/-/serialport-8.0.2.tgz";
+        sha512 = "z4b1I8/vdZE3upgCcAL9VAWlVVFUVn5uo3faAHavkVfK/Hb1LUxKwp9YCtA5AZqEUCWoSWl20SRTOvAI/5fQWQ==";
+      };
+    };
     "@types/stack-utils-2.0.1" = {
       name = "_at_types_slash_stack-utils";
       packageName = "@types/stack-utils";
@@ -1858,13 +2020,13 @@ let
         sha512 = "Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==";
       };
     };
-    "@types/ws-8.5.1" = {
+    "@types/ws-8.5.3" = {
       name = "_at_types_slash_ws";
       packageName = "@types/ws";
-      version = "8.5.1";
+      version = "8.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/ws/-/ws-8.5.1.tgz";
-        sha512 = "UxlLOfkuQnT2YSBCNq0x86SGOUxas6gAySFeDe2DcnEnA8655UIPoCDorWZCugcvKIL8IUI4oueUfJ1hhZSE2A==";
+        url = "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz";
+        sha512 = "6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==";
       };
     };
     "@types/yargs-16.0.4" = {
@@ -1885,6 +2047,15 @@ let
         sha512 = "7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==";
       };
     };
+    "@types/yargs-parser-21.0.0" = {
+      name = "_at_types_slash_yargs-parser";
+      packageName = "@types/yargs-parser";
+      version = "21.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz";
+        sha512 = "iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==";
+      };
+    };
     "@typescript-eslint/eslint-plugin-5.10.2" = {
       name = "_at_typescript-eslint_slash_eslint-plugin";
       packageName = "@typescript-eslint/eslint-plugin";
@@ -1894,13 +2065,23 @@ let
         sha512 = "4W/9lLuE+v27O/oe7hXJKjNtBLnZE8tQAFpapdxwSVHqtmIoPB1gph3+ahNwVuNL37BX7YQHyGF9Xv6XCnIX2Q==";
       };
     };
-    "@typescript-eslint/eslint-plugin-5.12.1" = {
+    "@typescript-eslint/eslint-plugin-5.16.0" = {
+      name = "_at_typescript-eslint_slash_eslint-plugin";
+      packageName = "@typescript-eslint/eslint-plugin";
+      version = "5.16.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.16.0.tgz";
+        sha512 = "SJoba1edXvQRMmNI505Uo4XmGbxCK9ARQpkvOd00anxzri9RNQk0DDCxD+LIl+jYhkzOJiOMMKYEHnHEODjdCw==";
+      };
+    };
+    "@typescript-eslint/eslint-plugin-https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.2.tgz" = {
       name = "_at_typescript-eslint_slash_eslint-plugin";
       packageName = "@typescript-eslint/eslint-plugin";
-      version = "5.12.1";
+      version = 1;
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.12.1.tgz";
-        sha512 = "M499lqa8rnNK7mUv74lSFFttuUsubIRdAbHcVaP93oFcKkEmHmLqy2n7jM9C8DVmFMYK61ExrZU6dLYhQZmUpw==";
+        name = "eslint-plugin-1.tar.gz";
+        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.2.tgz";
+        sha512 = "4W/9lLuE+v27O/oe7hXJKjNtBLnZE8tQAFpapdxwSVHqtmIoPB1gph3+ahNwVuNL37BX7YQHyGF9Xv6XCnIX2Q==";
       };
     };
     "@typescript-eslint/parser-5.10.2" = {
@@ -1912,13 +2093,23 @@ let
         sha512 = "JaNYGkaQVhP6HNF+lkdOr2cAs2wdSZBoalE22uYWq8IEv/OVH0RksSGydk+sW8cLoSeYmC+OHvRyv2i4AQ7Czg==";
       };
     };
-    "@typescript-eslint/parser-5.12.1" = {
+    "@typescript-eslint/parser-5.16.0" = {
       name = "_at_typescript-eslint_slash_parser";
       packageName = "@typescript-eslint/parser";
-      version = "5.12.1";
+      version = "5.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.12.1.tgz";
-        sha512 = "6LuVUbe7oSdHxUWoX/m40Ni8gsZMKCi31rlawBHt7VtW15iHzjbpj2WLiToG2758KjtCCiLRKZqfrOdl3cNKuw==";
+        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.16.0.tgz";
+        sha512 = "fkDq86F0zl8FicnJtdXakFs4lnuebH6ZADDw6CYQv0UZeIjHvmEw87m9/29nk2Dv5Lmdp0zQ3zDQhiMWQf/GbA==";
+      };
+    };
+    "@typescript-eslint/parser-https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.10.2.tgz" = {
+      name = "_at_typescript-eslint_slash_parser";
+      packageName = "@typescript-eslint/parser";
+      version = 1;
+      src = fetchurl {
+        name = "parser-1.tar.gz";
+        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.10.2.tgz";
+        sha512 = "JaNYGkaQVhP6HNF+lkdOr2cAs2wdSZBoalE22uYWq8IEv/OVH0RksSGydk+sW8cLoSeYmC+OHvRyv2i4AQ7Czg==";
       };
     };
     "@typescript-eslint/scope-manager-5.10.2" = {
@@ -1930,13 +2121,13 @@ let
         sha512 = "39Tm6f4RoZoVUWBYr3ekS75TYgpr5Y+X0xLZxXqcZNDWZdJdYbKd3q2IR4V9y5NxxiPu/jxJ8XP7EgHiEQtFnw==";
       };
     };
-    "@typescript-eslint/scope-manager-5.12.1" = {
+    "@typescript-eslint/scope-manager-5.16.0" = {
       name = "_at_typescript-eslint_slash_scope-manager";
       packageName = "@typescript-eslint/scope-manager";
-      version = "5.12.1";
+      version = "5.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.12.1.tgz";
-        sha512 = "J0Wrh5xS6XNkd4TkOosxdpObzlYfXjAFIm9QxYLCPOcHVv1FyyFCPom66uIh8uBr0sZCrtS+n19tzufhwab8ZQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.16.0.tgz";
+        sha512 = "P+Yab2Hovg8NekLIR/mOElCDPyGgFZKhGoZA901Yax6WR6HVeGLbsqJkZ+Cvk5nts/dAlFKm8PfL43UZnWdpIQ==";
       };
     };
     "@typescript-eslint/type-utils-5.10.2" = {
@@ -1948,13 +2139,13 @@ let
         sha512 = "uRKSvw/Ccs5FYEoXW04Z5VfzF2iiZcx8Fu7DGIB7RHozuP0VbKNzP1KfZkHBTM75pCpsWxIthEH1B33dmGBKHw==";
       };
     };
-    "@typescript-eslint/type-utils-5.12.1" = {
+    "@typescript-eslint/type-utils-5.16.0" = {
       name = "_at_typescript-eslint_slash_type-utils";
       packageName = "@typescript-eslint/type-utils";
-      version = "5.12.1";
+      version = "5.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.12.1.tgz";
-        sha512 = "Gh8feEhsNLeCz6aYqynh61Vsdy+tiNNkQtc+bN3IvQvRqHkXGUhYkUi+ePKzP0Mb42se7FDb+y2SypTbpbR/Sg==";
+        url = "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.16.0.tgz";
+        sha512 = "SKygICv54CCRl1Vq5ewwQUJV/8padIWvPgCxlWPGO/OgQLCijY9G7lDu6H+mqfQtbzDNlVjzVWQmeqbLMBLEwQ==";
       };
     };
     "@typescript-eslint/types-5.10.2" = {
@@ -1966,13 +2157,13 @@ let
         sha512 = "Qfp0qk/5j2Rz3p3/WhWgu4S1JtMcPgFLnmAKAW061uXxKSa7VWKZsDXVaMXh2N60CX9h6YLaBoy9PJAfCOjk3w==";
       };
     };
-    "@typescript-eslint/types-5.12.1" = {
+    "@typescript-eslint/types-5.16.0" = {
       name = "_at_typescript-eslint_slash_types";
       packageName = "@typescript-eslint/types";
-      version = "5.12.1";
+      version = "5.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.12.1.tgz";
-        sha512 = "hfcbq4qVOHV1YRdhkDldhV9NpmmAu2vp6wuFODL71Y0Ixak+FLeEU4rnPxgmZMnGreGEghlEucs9UZn5KOfHJA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.16.0.tgz";
+        sha512 = "oUorOwLj/3/3p/HFwrp6m/J2VfbLC8gjW5X3awpQJ/bSG+YRGFS4dpsvtQ8T2VNveV+LflQHjlLvB6v0R87z4g==";
       };
     };
     "@typescript-eslint/typescript-estree-5.10.2" = {
@@ -1984,13 +2175,13 @@ let
         sha512 = "WHHw6a9vvZls6JkTgGljwCsMkv8wu8XU8WaYKeYhxhWXH/atZeiMW6uDFPLZOvzNOGmuSMvHtZKd6AuC8PrwKQ==";
       };
     };
-    "@typescript-eslint/typescript-estree-5.12.1" = {
+    "@typescript-eslint/typescript-estree-5.16.0" = {
       name = "_at_typescript-eslint_slash_typescript-estree";
       packageName = "@typescript-eslint/typescript-estree";
-      version = "5.12.1";
+      version = "5.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.12.1.tgz";
-        sha512 = "ahOdkIY9Mgbza7L9sIi205Pe1inCkZWAHE1TV1bpxlU4RZNPtXaDZfiiFWcL9jdxvW1hDYZJXrFm+vlMkXRbBw==";
+        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.16.0.tgz";
+        sha512 = "SE4VfbLWUZl9MR+ngLSARptUv2E8brY0luCdgmUevU6arZRY/KxYoLI/3V/yxaURR8tLRN7bmZtJdgmzLHI6pQ==";
       };
     };
     "@typescript-eslint/utils-5.10.2" = {
@@ -2002,13 +2193,13 @@ let
         sha512 = "vuJaBeig1NnBRkf7q9tgMLREiYD7zsMrsN1DA3wcoMDvr3BTFiIpKjGiYZoKPllfEwN7spUjv7ZqD+JhbVjEPg==";
       };
     };
-    "@typescript-eslint/utils-5.12.1" = {
+    "@typescript-eslint/utils-5.16.0" = {
       name = "_at_typescript-eslint_slash_utils";
       packageName = "@typescript-eslint/utils";
-      version = "5.12.1";
+      version = "5.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.12.1.tgz";
-        sha512 = "Qq9FIuU0EVEsi8fS6pG+uurbhNTtoYr4fq8tKjBupsK5Bgbk2I32UGm0Sh+WOyjOPgo/5URbxxSNV6HYsxV4MQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.16.0.tgz";
+        sha512 = "iYej2ER6AwmejLWMWzJIHy3nPJeGDuCqf8Jnb+jAQVoPpmWzwQOfa9hWVB8GIQE5gsCv/rfN4T+AYb/V06WseQ==";
       };
     };
     "@typescript-eslint/visitor-keys-5.10.2" = {
@@ -2020,13 +2211,13 @@ let
         sha512 = "zHIhYGGGrFJvvyfwHk5M08C5B5K4bewkm+rrvNTKk1/S15YHR+SA/QUF8ZWscXSfEaB8Nn2puZj+iHcoxVOD/Q==";
       };
     };
-    "@typescript-eslint/visitor-keys-5.12.1" = {
+    "@typescript-eslint/visitor-keys-5.16.0" = {
       name = "_at_typescript-eslint_slash_visitor-keys";
       packageName = "@typescript-eslint/visitor-keys";
-      version = "5.12.1";
+      version = "5.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.12.1.tgz";
-        sha512 = "l1KSLfupuwrXx6wc0AuOmC7Ko5g14ZOQ86wJJqRbdLbXLK02pK/DPiDDqCc7BqqiiA04/eAA6ayL0bgOrAkH7A==";
+        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.16.0.tgz";
+        sha512 = "jqxO8msp5vZDhikTwq9ubyMHqZ67UIvawohr4qF3KhlpL7gzSjOd+8471H3nh5LyABkaI85laEKKU8SnGUK5/g==";
       };
     };
     "abab-2.0.5" = {
@@ -2101,13 +2292,13 @@ let
         sha512 = "j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==";
       };
     };
-    "ajv-8.10.0" = {
+    "ajv-8.11.0" = {
       name = "ajv";
       packageName = "ajv";
-      version = "8.10.0";
+      version = "8.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz";
-        sha512 = "bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==";
+        url = "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz";
+        sha512 = "wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==";
       };
     };
     "ansi-escapes-4.3.2" = {
@@ -2245,13 +2436,13 @@ let
         sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
       };
     };
-    "axios-0.26.0" = {
+    "axios-0.26.1" = {
       name = "axios";
       packageName = "axios";
-      version = "0.26.0";
+      version = "0.26.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/axios/-/axios-0.26.0.tgz";
-        sha512 = "lKoGLMYtHvFrPVt3r+RBMp9nh34N0M8zEfCWqdWZx6phynIEhQqAdydpyBAAG211zlhX9Rgu08cOamy6XjE5Og==";
+        url = "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz";
+        sha512 = "fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==";
       };
     };
     "babel-jest-27.5.0" = {
@@ -2452,13 +2643,13 @@ let
         sha512 = "u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==";
       };
     };
-    "browserslist-4.19.3" = {
+    "browserslist-4.20.2" = {
       name = "browserslist";
       packageName = "browserslist";
-      version = "4.19.3";
+      version = "4.20.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.19.3.tgz";
-        sha512 = "XK3X4xtKJ+Txj8G5c30B4gsm71s69lqXlkYui4s6EkKxuv49qjYlY6oVd+IFJ73d4YymtM3+djvvt/R/iJwwDg==";
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz";
+        sha512 = "CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==";
       };
     };
     "bser-2.1.1" = {
@@ -2542,13 +2733,13 @@ let
         sha512 = "+MXEMczJ4FuxJAUp0jvAl6Df0NI/OfW1RWEE61eSmzS7hw6lz4IKutbhbXendwq8BljfFuHtu26VWsg4afQ7Ng==";
       };
     };
-    "caniuse-lite-1.0.30001312" = {
+    "caniuse-lite-1.0.30001320" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001312";
+      version = "1.0.30001320";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz";
-        sha512 = "Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001320.tgz";
+        sha512 = "MWPzG54AGdo3nWx7zHZTefseM5Y1ccM7hlQKHRqJkPozUaw3hNbBTMmLn16GG2FUzjR13Cr3NPfhIieX5PzXDA==";
       };
     };
     "chalk-2.4.2" = {
@@ -2902,6 +3093,15 @@ let
         sha512 = "/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==";
       };
     };
+    "debug-4.3.4" = {
+      name = "debug";
+      packageName = "debug";
+      version = "4.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz";
+        sha512 = "PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==";
+      };
+    };
     "decimal.js-10.3.1" = {
       name = "decimal.js";
       packageName = "decimal.js";
@@ -2992,22 +3192,22 @@ let
         sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
       };
     };
-    "depd-1.1.2" = {
+    "depd-2.0.0" = {
       name = "depd";
       packageName = "depd";
-      version = "1.1.2";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz";
-        sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9";
+        url = "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz";
+        sha512 = "g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==";
       };
     };
-    "destroy-1.0.4" = {
+    "destroy-1.2.0" = {
       name = "destroy";
       packageName = "destroy";
-      version = "1.0.4";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz";
-        sha1 = "978857442c44749e4206613e37946205826abd80";
+        url = "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz";
+        sha512 = "2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==";
       };
     };
     "detect-libc-2.0.0" = {
@@ -3100,13 +3300,13 @@ let
         sha512 = "0/d8Skk8sW3FxXP0Dd6MnBlrwx7Qo9cqQec3BlIAlvKnrmS3pHsIbaroEi+nd0kZkGpQ6apMEre7xndzjlEnLw==";
       };
     };
-    "electron-to-chromium-1.4.73" = {
+    "electron-to-chromium-1.4.95" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.4.73";
+      version = "1.4.95";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.73.tgz";
-        sha512 = "RlCffXkE/LliqfA5m29+dVDPB2r72y2D2egMMfIy3Le8ODrxjuZNVo4NIC2yPL01N4xb4nZQLwzi6Z5tGIGLnA==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.95.tgz";
+        sha512 = "h2VAMV/hPtmAeiDkwA8c5sjS+cWt6GlQL4ERdrOUWu7cRIG5IRk9uwR9f0utP+hPJ9ZZsADTq9HpbuT46eBYAg==";
       };
     };
     "emittery-0.8.1" = {
@@ -3217,13 +3417,13 @@ let
         sha512 = "mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==";
       };
     };
-    "eslint-8.10.0" = {
+    "eslint-8.12.0" = {
       name = "eslint";
       packageName = "eslint";
-      version = "8.10.0";
+      version = "8.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-8.10.0.tgz";
-        sha512 = "tcI1D9lfVec+R4LE1mNDnzoJ/f71Kl/9Cv4nG47jOueCMBrCCKYXr4AUVS7go6mWYGFD4+EoN6+eXSrEbRzXVw==";
+        url = "https://registry.npmjs.org/eslint/-/eslint-8.12.0.tgz";
+        sha512 = "it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q==";
       };
     };
     "eslint-8.8.0" = {
@@ -3244,13 +3444,23 @@ let
         sha512 = "WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==";
       };
     };
-    "eslint-plugin-jest-26.1.1" = {
+    "eslint-https://registry.npmjs.org/eslint/-/eslint-8.8.0.tgz" = {
+      name = "eslint";
+      packageName = "eslint";
+      version = 1;
+      src = fetchurl {
+        name = "eslint-1.tar.gz";
+        url = "https://registry.npmjs.org/eslint/-/eslint-8.8.0.tgz";
+        sha512 = "H3KXAzQGBH1plhYS3okDix2ZthuYJlQQEGE5k0IKuEqUSiyu4AmxxlJ2MtTYeJ3xB4jDhcYCwGOg2TXYdnDXlQ==";
+      };
+    };
+    "eslint-plugin-jest-26.1.3" = {
       name = "eslint-plugin-jest";
       packageName = "eslint-plugin-jest";
-      version = "26.1.1";
+      version = "26.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.1.1.tgz";
-        sha512 = "HRKOuPi5ADhza4ZBK5ufyNXy28bXXkib87w+pQqdvBhSTsamndh6sIAKPAUl8y0/n9jSWBdTPslrwtKWqkp8dA==";
+        url = "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.1.3.tgz";
+        sha512 = "Pju+T7MFpo5VFhFlwrkK/9jRUu18r2iugvgyrWOnnGRaVTFFmFXp+xFJpHyqmjjLmGJPKLeEFLVTAxezkApcpQ==";
       };
     };
     "eslint-scope-5.1.1" = {
@@ -3532,13 +3742,13 @@ let
         sha512 = "qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==";
       };
     };
-    "finalhandler-1.1.2" = {
+    "finalhandler-1.2.0" = {
       name = "finalhandler";
       packageName = "finalhandler";
-      version = "1.1.2";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz";
-        sha512 = "aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==";
+        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz";
+        sha512 = "5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==";
       };
     };
     "find-0.3.0" = {
@@ -3784,6 +3994,15 @@ let
         sha512 = "317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==";
       };
     };
+    "globals-13.13.0" = {
+      name = "globals";
+      packageName = "globals";
+      version = "13.13.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz";
+        sha512 = "EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==";
+      };
+    };
     "globby-11.1.0" = {
       name = "globby";
       packageName = "globby";
@@ -3856,6 +4075,15 @@ let
         sha512 = "chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==";
       };
     };
+    "has-symbols-1.0.3" = {
+      name = "has-symbols";
+      packageName = "has-symbols";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz";
+        sha512 = "l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==";
+      };
+    };
     "has-unicode-2.0.1" = {
       name = "has-unicode";
       packageName = "has-unicode";
@@ -3892,13 +4120,13 @@ let
         sha512 = "H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==";
       };
     };
-    "http-errors-1.8.1" = {
+    "http-errors-2.0.0" = {
       name = "http-errors";
       packageName = "http-errors";
-      version = "1.8.1";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz";
-        sha512 = "Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==";
+        url = "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz";
+        sha512 = "FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==";
       };
     };
     "http-proxy-agent-4.0.1" = {
@@ -4423,6 +4651,16 @@ let
         sha512 = "7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==";
       };
     };
+    "jest-https://registry.npmjs.org/jest/-/jest-27.5.0.tgz" = {
+      name = "jest";
+      packageName = "jest";
+      version = 1;
+      src = fetchurl {
+        name = "jest-1.tar.gz";
+        url = "https://registry.npmjs.org/jest/-/jest-27.5.0.tgz";
+        sha512 = "sCMZhL9zy0fiFc4H0cKlXq7BcghMSxm5ZnEyaPWTteArU5ix6JjOKyOXSUBGLTQCmt5kuX9zEvQ9BSshHOPB3A==";
+      };
+    };
     "jest-jasmine2-27.5.0" = {
       name = "jest-jasmine2";
       packageName = "jest-jasmine2";
@@ -4828,6 +5066,15 @@ let
         sha512 = "f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==";
       };
     };
+    "json5-2.2.1" = {
+      name = "json5";
+      packageName = "json5";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz";
+        sha512 = "1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==";
+      };
+    };
     "jsonc-parser-3.0.0" = {
       name = "jsonc-parser";
       packageName = "jsonc-parser";
@@ -5026,6 +5273,15 @@ let
         sha512 = "pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==";
       };
     };
+    "micromatch-4.0.5" = {
+      name = "micromatch";
+      packageName = "micromatch";
+      version = "4.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz";
+        sha512 = "DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==";
+      };
+    };
     "mime-1.6.0" = {
       name = "mime";
       packageName = "mime";
@@ -5044,6 +5300,15 @@ let
         sha512 = "5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==";
       };
     };
+    "mime-db-1.52.0" = {
+      name = "mime-db";
+      packageName = "mime-db";
+      version = "1.52.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz";
+        sha512 = "sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==";
+      };
+    };
     "mime-types-2.1.34" = {
       name = "mime-types";
       packageName = "mime-types";
@@ -5053,6 +5318,15 @@ let
         sha512 = "6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==";
       };
     };
+    "mime-types-2.1.35" = {
+      name = "mime-types";
+      packageName = "mime-types";
+      version = "2.1.35";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz";
+        sha512 = "ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==";
+      };
+    };
     "mimic-fn-2.1.0" = {
       name = "mimic-fn";
       packageName = "mimic-fn";
@@ -5098,6 +5372,15 @@ let
         sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==";
       };
     };
+    "minimist-1.2.6" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "1.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz";
+        sha512 = "Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==";
+      };
+    };
     "mixin-deep-2.0.1" = {
       name = "mixin-deep";
       packageName = "mixin-deep";
@@ -5134,13 +5417,13 @@ let
         sha512 = "kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==";
       };
     };
-    "mqtt-4.3.6" = {
+    "mqtt-4.3.7" = {
       name = "mqtt";
       packageName = "mqtt";
-      version = "4.3.6";
+      version = "4.3.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mqtt/-/mqtt-4.3.6.tgz";
-        sha512 = "1dgQbkbh1Bba9iAGDNIrhSZ4nLDjbhmNHjOEvsmKI1Bb+2orj0gHwjqUKJ5CKUMKBYbkQYRM1fy+N1/2iZOj5w==";
+        url = "https://registry.npmjs.org/mqtt/-/mqtt-4.3.7.tgz";
+        sha512 = "ew3qwG/TJRorTz47eW46vZ5oBw5MEYbQZVaEji44j5lAUSQSqIEoul7Kua/BatBW0H0kKQcC9kwUHa1qzaWHSw==";
       };
     };
     "mqtt-packet-6.10.0" = {
@@ -5287,13 +5570,13 @@ let
         sha512 = "2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==";
       };
     };
-    "number-allocator-1.0.9" = {
+    "number-allocator-1.0.10" = {
       name = "number-allocator";
       packageName = "number-allocator";
-      version = "1.0.9";
+      version = "1.0.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/number-allocator/-/number-allocator-1.0.9.tgz";
-        sha512 = "sIIF0dZKMs3roPUD7rLreH8H3x47QKV9dHZ+PeSnH24gL0CxKxz/823woGZC0hLBSb2Ar/rOOeHiNbnPBum/Mw==";
+        url = "https://registry.npmjs.org/number-allocator/-/number-allocator-1.0.10.tgz";
+        sha512 = "K4AvNGKo9lP6HqsZyfSr9KDaqnwFzW203inhQEOwFrmFaYevpdX4VNwdOLk197aHujzbT//z6pCBrCOUYSM5iw==";
       };
     };
     "number-is-nan-1.0.1" = {
@@ -5350,13 +5633,13 @@ let
         sha512 = "ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==";
       };
     };
-    "on-finished-2.3.0" = {
+    "on-finished-2.4.1" = {
       name = "on-finished";
       packageName = "on-finished";
-      version = "2.3.0";
+      version = "2.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz";
-        sha1 = "20f1336481b083cd75337992a16971aa2d906947";
+        url = "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz";
+        sha512 = "oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==";
       };
     };
     "once-1.4.0" = {
@@ -5971,13 +6254,13 @@ let
         sha512 = "PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==";
       };
     };
-    "send-0.17.2" = {
+    "send-0.18.0" = {
       name = "send";
       packageName = "send";
-      version = "0.17.2";
+      version = "0.18.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/send/-/send-0.17.2.tgz";
-        sha512 = "UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==";
+        url = "https://registry.npmjs.org/send/-/send-0.18.0.tgz";
+        sha512 = "qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==";
       };
     };
     "serialport-9.2.8" = {
@@ -5989,13 +6272,13 @@ let
         sha512 = "FsWpMQgSJxi93JgWl5xM1f9/Z8IjRJuaUEoHqLf8FPBLw7gMhInuHOBhI2onQufWIYPGTz3H3oGcu1nCaK1EfA==";
       };
     };
-    "serve-static-1.14.2" = {
+    "serve-static-1.15.0" = {
       name = "serve-static";
       packageName = "serve-static";
-      version = "1.14.2";
+      version = "1.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz";
-        sha512 = "+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==";
+        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz";
+        sha512 = "XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==";
       };
     };
     "set-blocking-2.0.0" = {
@@ -6187,13 +6470,13 @@ let
         sha512 = "xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==";
       };
     };
-    "statuses-1.5.0" = {
+    "statuses-2.0.1" = {
       name = "statuses";
       packageName = "statuses";
-      version = "1.5.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz";
-        sha1 = "161c7dac177659fd9811f43771fa99381478628c";
+        url = "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz";
+        sha512 = "RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==";
       };
     };
     "stream-shift-1.0.1" = {
@@ -6619,6 +6902,16 @@ let
         sha512 = "pVr3hh6dkS3lPPaZz1fNpvcrqLdtEvXmXayN55czlamSgvEjh+57GUqfhAI1Xsuu/hNHUT1KNSx8LH2wBP/7SA==";
       };
     };
+    "typedoc-https://registry.npmjs.org/typedoc/-/typedoc-0.22.11.tgz" = {
+      name = "typedoc";
+      packageName = "typedoc";
+      version = 1;
+      src = fetchurl {
+        name = "typedoc-1.tar.gz";
+        url = "https://registry.npmjs.org/typedoc/-/typedoc-0.22.11.tgz";
+        sha512 = "pVr3hh6dkS3lPPaZz1fNpvcrqLdtEvXmXayN55czlamSgvEjh+57GUqfhAI1Xsuu/hNHUT1KNSx8LH2wBP/7SA==";
+      };
+    };
     "typedoc-plugin-markdown-3.11.13" = {
       name = "typedoc-plugin-markdown";
       packageName = "typedoc-plugin-markdown";
@@ -6628,6 +6921,16 @@ let
         sha512 = "9Y7eWWmUF5i8LMfetPlOP+kTn5L3Q71fm/AUHZhxWYoAiugbybQujhjQk4h09uY2WghPP2BldOivtTxnOwj85A==";
       };
     };
+    "typedoc-plugin-markdown-https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.11.13.tgz" = {
+      name = "typedoc-plugin-markdown";
+      packageName = "typedoc-plugin-markdown";
+      version = 1;
+      src = fetchurl {
+        name = "typedoc-plugin-markdown-1.tar.gz";
+        url = "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.11.13.tgz";
+        sha512 = "9Y7eWWmUF5i8LMfetPlOP+kTn5L3Q71fm/AUHZhxWYoAiugbybQujhjQk4h09uY2WghPP2BldOivtTxnOwj85A==";
+      };
+    };
     "typedoc-plugin-no-inherit-1.3.1" = {
       name = "typedoc-plugin-no-inherit";
       packageName = "typedoc-plugin-no-inherit";
@@ -6637,6 +6940,16 @@ let
         sha512 = "3fdPHRaIcCVV1W5gJYpZTdZL+F2VZTlUMd3Hw9xIv931ILh18CcD8IfxZtTtOijJRuKbgRLJ+J/+hVlgCbq1RQ==";
       };
     };
+    "typedoc-plugin-no-inherit-https://registry.npmjs.org/typedoc-plugin-no-inherit/-/typedoc-plugin-no-inherit-1.3.1.tgz" = {
+      name = "typedoc-plugin-no-inherit";
+      packageName = "typedoc-plugin-no-inherit";
+      version = 1;
+      src = fetchurl {
+        name = "typedoc-plugin-no-inherit-1.tar.gz";
+        url = "https://registry.npmjs.org/typedoc-plugin-no-inherit/-/typedoc-plugin-no-inherit-1.3.1.tgz";
+        sha512 = "3fdPHRaIcCVV1W5gJYpZTdZL+F2VZTlUMd3Hw9xIv931ILh18CcD8IfxZtTtOijJRuKbgRLJ+J/+hVlgCbq1RQ==";
+      };
+    };
     "typedoc-plugin-sourcefile-url-1.0.6" = {
       name = "typedoc-plugin-sourcefile-url";
       packageName = "typedoc-plugin-sourcefile-url";
@@ -6646,6 +6959,16 @@ let
         sha512 = "xHq9DzkoQywS7FyPneMm2/Hr9GRoCpjSQXkVN0W6SCJKP7fguqg2tasgh+8l5/mW6YSYvqCqEbkSYLbuD4Y6gA==";
       };
     };
+    "typedoc-plugin-sourcefile-url-https://registry.npmjs.org/typedoc-plugin-sourcefile-url/-/typedoc-plugin-sourcefile-url-1.0.6.tgz" = {
+      name = "typedoc-plugin-sourcefile-url";
+      packageName = "typedoc-plugin-sourcefile-url";
+      version = 1;
+      src = fetchurl {
+        name = "typedoc-plugin-sourcefile-url-1.tar.gz";
+        url = "https://registry.npmjs.org/typedoc-plugin-sourcefile-url/-/typedoc-plugin-sourcefile-url-1.0.6.tgz";
+        sha512 = "xHq9DzkoQywS7FyPneMm2/Hr9GRoCpjSQXkVN0W6SCJKP7fguqg2tasgh+8l5/mW6YSYvqCqEbkSYLbuD4Y6gA==";
+      };
+    };
     "typescript-4.5.5" = {
       name = "typescript";
       packageName = "typescript";
@@ -6655,6 +6978,25 @@ let
         sha512 = "TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==";
       };
     };
+    "typescript-4.6.3" = {
+      name = "typescript";
+      packageName = "typescript";
+      version = "4.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz";
+        sha512 = "yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==";
+      };
+    };
+    "typescript-https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz" = {
+      name = "typescript";
+      packageName = "typescript";
+      version = 1;
+      src = fetchurl {
+        name = "typescript-1.tar.gz";
+        url = "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz";
+        sha512 = "TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==";
+      };
+    };
     "uglify-js-3.15.0" = {
       name = "uglify-js";
       packageName = "uglify-js";
@@ -7042,49 +7384,49 @@ let
         sha512 = "YwvAHEfWtcCLilnoHcIpZ9DCPHSLwpy2iboC2zjJUGNQp0vUClJhjAxb6JdTnaHxrNB2FN6+b3Q6BS8QiTtg5g==";
       };
     };
-    "zigbee-herdsman-converters-14.0.438" = {
+    "zigbee-herdsman-converters-14.0.467" = {
       name = "zigbee-herdsman-converters";
       packageName = "zigbee-herdsman-converters";
-      version = "14.0.438";
+      version = "14.0.467";
       src = fetchurl {
-        url = "https://registry.npmjs.org/zigbee-herdsman-converters/-/zigbee-herdsman-converters-14.0.438.tgz";
-        sha512 = "abf5+j61VG1+P5R5BYmFHe/ddHNCf1dWzNcHB51qHKHrTGoVFtqh/J8y+i1zHaWoOxSTf09UZAbAxDxy8GmNwg==";
+        url = "https://registry.npmjs.org/zigbee-herdsman-converters/-/zigbee-herdsman-converters-14.0.467.tgz";
+        sha512 = "fkOSFkKj/4q/nh2elXHcTHTvPte54Y4hrXq/BZpnkMgNuLr2lkJgZ52ChG5XyI/4wHtAJq8lgnjGubqr8xNNMQ==";
       };
     };
-    "zigbee2mqtt-frontend-0.6.76" = {
+    "zigbee2mqtt-frontend-0.6.80" = {
       name = "zigbee2mqtt-frontend";
       packageName = "zigbee2mqtt-frontend";
-      version = "0.6.76";
+      version = "0.6.80";
       src = fetchurl {
-        url = "https://registry.npmjs.org/zigbee2mqtt-frontend/-/zigbee2mqtt-frontend-0.6.76.tgz";
-        sha512 = "c7U9Cl7rMLC+Ds1x7winHraMBQEFqWdFiRpncC5Xa28kz8drQtJXtewt0P/8w3NmtTk5W/z1ocpIk9q0RAEMRg==";
+        url = "https://registry.npmjs.org/zigbee2mqtt-frontend/-/zigbee2mqtt-frontend-0.6.80.tgz";
+        sha512 = "mDRQ35j5SuTKCsn7NvjNng7x0OK0Hv9sqxMnl0ISfoNEAD5RDpvzDiEBS6XGoymTI+PRNmaNdbczC5/DVqo5xQ==";
       };
     };
   };
   args = {
     name = "zigbee2mqtt";
     packageName = "zigbee2mqtt";
-    version = "1.24.0";
+    version = "1.25.0";
     src = ./.;
     dependencies = [
       sources."@ampproject/remapping-2.1.2"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.17.0"
-      (sources."@babel/core-7.17.5" // {
+      sources."@babel/compat-data-7.17.7"
+      (sources."@babel/core-7.17.8" // {
         dependencies = [
-          sources."debug-4.3.3"
+          sources."debug-4.3.4"
           sources."ms-2.1.2"
           sources."semver-6.3.0"
         ];
       })
-      (sources."@babel/generator-7.17.3" // {
+      (sources."@babel/generator-7.17.7" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
       })
       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.16.7" // {
+      (sources."@babel/helper-compilation-targets-7.17.7" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -7093,7 +7435,7 @@ let
       sources."@babel/helper-create-regexp-features-plugin-7.17.0"
       (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"
         ];
@@ -7103,28 +7445,28 @@ let
       sources."@babel/helper-function-name-7.16.7"
       sources."@babel/helper-get-function-arity-7.16.7"
       sources."@babel/helper-hoist-variables-7.16.7"
-      sources."@babel/helper-member-expression-to-functions-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.17.6"
+      sources."@babel/helper-module-transforms-7.17.7"
       sources."@babel/helper-optimise-call-expression-7.16.7"
       sources."@babel/helper-plugin-utils-7.16.7"
       sources."@babel/helper-remap-async-to-generator-7.16.8"
       sources."@babel/helper-replace-supers-7.16.7"
-      sources."@babel/helper-simple-access-7.16.7"
+      sources."@babel/helper-simple-access-7.17.7"
       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.17.2"
+      sources."@babel/helpers-7.17.8"
       sources."@babel/highlight-7.16.10"
-      sources."@babel/parser-7.17.3"
+      sources."@babel/parser-7.17.8"
       sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7"
       sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7"
       sources."@babel/plugin-proposal-async-generator-functions-7.16.8"
       sources."@babel/plugin-proposal-class-properties-7.16.7"
       sources."@babel/plugin-proposal-class-static-block-7.17.6"
-      sources."@babel/plugin-proposal-decorators-7.17.2"
+      sources."@babel/plugin-proposal-decorators-7.17.8"
       sources."@babel/plugin-proposal-dynamic-import-7.16.7"
       sources."@babel/plugin-proposal-export-namespace-from-7.16.7"
       sources."@babel/plugin-proposal-json-strings-7.16.7"
@@ -7161,7 +7503,7 @@ let
       sources."@babel/plugin-transform-block-scoping-7.16.7"
       sources."@babel/plugin-transform-classes-7.16.7"
       sources."@babel/plugin-transform-computed-properties-7.16.7"
-      sources."@babel/plugin-transform-destructuring-7.17.3"
+      sources."@babel/plugin-transform-destructuring-7.17.7"
       sources."@babel/plugin-transform-dotall-regex-7.16.7"
       sources."@babel/plugin-transform-duplicate-keys-7.16.7"
       sources."@babel/plugin-transform-exponentiation-operator-7.16.7"
@@ -7170,8 +7512,8 @@ let
       sources."@babel/plugin-transform-literals-7.16.7"
       sources."@babel/plugin-transform-member-expression-literals-7.16.7"
       sources."@babel/plugin-transform-modules-amd-7.16.7"
-      sources."@babel/plugin-transform-modules-commonjs-7.16.8"
-      sources."@babel/plugin-transform-modules-systemjs-7.16.7"
+      sources."@babel/plugin-transform-modules-commonjs-7.17.7"
+      sources."@babel/plugin-transform-modules-systemjs-7.17.8"
       sources."@babel/plugin-transform-modules-umd-7.16.7"
       sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.8"
       sources."@babel/plugin-transform-new-target-7.16.7"
@@ -7195,11 +7537,11 @@ let
       })
       sources."@babel/preset-modules-0.1.5"
       sources."@babel/preset-typescript-7.16.7"
-      sources."@babel/runtime-7.17.2"
+      sources."@babel/runtime-7.17.8"
       sources."@babel/template-7.16.7"
       (sources."@babel/traverse-7.17.3" // {
         dependencies = [
-          sources."debug-4.3.3"
+          sources."debug-4.3.4"
           sources."ms-2.1.2"
         ];
       })
@@ -7207,19 +7549,18 @@ let
       sources."@bcoe/v8-coverage-0.2.3"
       sources."@colors/colors-1.5.0"
       sources."@dabh/diagnostics-2.0.3"
-      (sources."@eslint/eslintrc-1.2.0" // {
+      (sources."@eslint/eslintrc-1.2.1" // {
         dependencies = [
           sources."ajv-6.12.6"
-          sources."debug-4.3.3"
-          sources."globals-13.12.1"
-          sources."ignore-4.0.6"
+          sources."debug-4.3.4"
+          sources."globals-13.13.0"
           sources."json-schema-traverse-0.4.1"
           sources."ms-2.1.2"
         ];
       })
       (sources."@humanwhocodes/config-array-0.9.5" // {
         dependencies = [
-          sources."debug-4.3.3"
+          sources."debug-4.3.4"
           sources."ms-2.1.2"
         ];
       })
@@ -7296,7 +7637,7 @@ let
       sources."@sinonjs/commons-1.8.3"
       sources."@sinonjs/fake-timers-8.1.0"
       sources."@tootallnate/once-1.1.2"
-      sources."@types/babel__core-7.1.18"
+      sources."@types/babel__core-7.1.19"
       sources."@types/babel__generator-7.6.4"
       sources."@types/babel__template-7.4.1"
       sources."@types/babel__traverse-7.14.2"
@@ -7310,44 +7651,44 @@ let
       sources."@types/istanbul-reports-3.0.1"
       sources."@types/jest-27.4.1"
       sources."@types/js-yaml-4.0.5"
-      sources."@types/json-schema-7.0.9"
+      sources."@types/json-schema-7.0.11"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.21"
+      sources."@types/node-17.0.23"
       sources."@types/object-assign-deep-0.4.0"
       sources."@types/prettier-2.4.4"
       sources."@types/rimraf-3.0.2"
       sources."@types/stack-utils-2.0.1"
-      sources."@types/ws-8.5.1"
+      sources."@types/ws-8.5.3"
       sources."@types/yargs-16.0.4"
-      sources."@types/yargs-parser-20.2.1"
-      (sources."@typescript-eslint/eslint-plugin-5.12.1" // {
+      sources."@types/yargs-parser-21.0.0"
+      (sources."@typescript-eslint/eslint-plugin-5.16.0" // {
         dependencies = [
-          sources."debug-4.3.3"
+          sources."debug-4.3.4"
           sources."ms-2.1.2"
         ];
       })
-      (sources."@typescript-eslint/parser-5.12.1" // {
+      (sources."@typescript-eslint/parser-5.16.0" // {
         dependencies = [
-          sources."debug-4.3.3"
+          sources."debug-4.3.4"
           sources."ms-2.1.2"
         ];
       })
-      sources."@typescript-eslint/scope-manager-5.12.1"
-      (sources."@typescript-eslint/type-utils-5.12.1" // {
+      sources."@typescript-eslint/scope-manager-5.16.0"
+      (sources."@typescript-eslint/type-utils-5.16.0" // {
         dependencies = [
-          sources."debug-4.3.3"
+          sources."debug-4.3.4"
           sources."ms-2.1.2"
         ];
       })
-      sources."@typescript-eslint/types-5.12.1"
-      (sources."@typescript-eslint/typescript-estree-5.12.1" // {
+      sources."@typescript-eslint/types-5.16.0"
+      (sources."@typescript-eslint/typescript-estree-5.16.0" // {
         dependencies = [
-          sources."debug-4.3.3"
+          sources."debug-4.3.4"
           sources."ms-2.1.2"
         ];
       })
-      sources."@typescript-eslint/utils-5.12.1"
-      sources."@typescript-eslint/visitor-keys-5.12.1"
+      sources."@typescript-eslint/utils-5.16.0"
+      sources."@typescript-eslint/visitor-keys-5.16.0"
       sources."abab-2.0.5"
       sources."acorn-8.7.0"
       (sources."acorn-globals-6.0.0" // {
@@ -7359,11 +7700,11 @@ let
       sources."acorn-walk-7.2.0"
       (sources."agent-base-6.0.2" // {
         dependencies = [
-          sources."debug-4.3.3"
+          sources."debug-4.3.4"
           sources."ms-2.1.2"
         ];
       })
-      sources."ajv-8.10.0"
+      sources."ajv-8.11.0"
       (sources."ansi-escapes-4.3.2" // {
         dependencies = [
           sources."type-fest-0.21.3"
@@ -7406,14 +7747,14 @@ let
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."browser-process-hrtime-1.0.0"
-      sources."browserslist-4.19.3"
+      sources."browserslist-4.20.2"
       sources."bser-2.1.1"
       sources."buffer-5.7.1"
       sources."buffer-from-1.1.2"
       sources."call-bind-1.0.2"
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001312"
+      sources."caniuse-lite-1.0.30001320"
       sources."chalk-2.4.2"
       sources."char-regex-1.0.2"
       sources."charcodes-0.2.0"
@@ -7460,8 +7801,8 @@ let
       sources."deepmerge-4.2.2"
       sources."define-properties-1.1.3"
       sources."delayed-stream-1.0.0"
-      sources."depd-1.1.2"
-      sources."destroy-1.0.4"
+      sources."depd-2.0.0"
+      sources."destroy-1.2.0"
       sources."detect-newline-3.1.0"
       sources."diff-sequences-27.5.1"
       sources."dir-glob-3.0.1"
@@ -7473,7 +7814,7 @@ let
       })
       sources."duplexify-4.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.73"
+      sources."electron-to-chromium-1.4.95"
       sources."emittery-0.8.1"
       sources."emoji-regex-8.0.0"
       sources."enabled-2.0.0"
@@ -7496,19 +7837,19 @@ let
           sources."type-check-0.3.2"
         ];
       })
-      (sources."eslint-8.10.0" // {
+      (sources."eslint-8.12.0" // {
         dependencies = [
           sources."ajv-6.12.6"
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
-          sources."debug-4.3.3"
+          sources."debug-4.3.4"
           sources."escape-string-regexp-4.0.0"
           sources."eslint-scope-7.1.1"
           sources."estraverse-5.3.0"
           sources."glob-parent-6.0.2"
-          sources."globals-13.12.1"
+          sources."globals-13.13.0"
           sources."has-flag-4.0.0"
           sources."json-schema-traverse-0.4.1"
           sources."ms-2.1.2"
@@ -7516,7 +7857,7 @@ let
         ];
       })
       sources."eslint-config-google-0.14.0"
-      sources."eslint-plugin-jest-26.1.1"
+      sources."eslint-plugin-jest-26.1.3"
       sources."eslint-scope-5.1.1"
       (sources."eslint-utils-3.0.0" // {
         dependencies = [
@@ -7552,7 +7893,7 @@ let
       sources."file-entry-cache-6.0.1"
       sources."file-uri-to-path-1.0.0"
       sources."fill-range-7.0.1"
-      sources."finalhandler-1.1.2"
+      sources."finalhandler-1.2.0"
       sources."find-0.3.0"
       sources."find-up-4.1.0"
       sources."flat-cache-3.0.4"
@@ -7578,20 +7919,20 @@ let
       sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.2"
+      sources."has-symbols-1.0.3"
       sources."help-me-3.0.0"
       sources."html-encoding-sniffer-2.0.1"
       sources."html-escaper-2.0.2"
-      sources."http-errors-1.8.1"
+      sources."http-errors-2.0.0"
       (sources."http-proxy-agent-4.0.1" // {
         dependencies = [
-          sources."debug-4.3.3"
+          sources."debug-4.3.4"
           sources."ms-2.1.2"
         ];
       })
       (sources."https-proxy-agent-5.0.0" // {
         dependencies = [
-          sources."debug-4.3.3"
+          sources."debug-4.3.4"
           sources."ms-2.1.2"
         ];
       })
@@ -7634,7 +7975,7 @@ let
       })
       (sources."istanbul-lib-source-maps-4.0.1" // {
         dependencies = [
-          sources."debug-4.3.3"
+          sources."debug-4.3.4"
           sources."ms-2.1.2"
         ];
       })
@@ -7822,7 +8163,7 @@ let
       sources."json-parse-even-better-errors-2.3.1"
       sources."json-schema-traverse-1.0.0"
       sources."json-stable-stringify-without-jsonify-1.0.1"
-      sources."json5-2.2.0"
+      sources."json5-2.2.1"
       sources."kleur-3.0.3"
       sources."kuler-2.0.0"
       sources."leven-2.1.0"
@@ -7846,25 +8187,25 @@ let
       sources."makeerror-1.0.12"
       sources."merge-stream-2.0.0"
       sources."merge2-1.4.1"
-      sources."micromatch-4.0.4"
+      sources."micromatch-4.0.5"
       sources."mime-1.6.0"
-      sources."mime-db-1.51.0"
-      sources."mime-types-2.1.34"
+      sources."mime-db-1.52.0"
+      sources."mime-types-2.1.35"
       sources."mimic-fn-2.1.0"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.5"
+      sources."minimist-1.2.6"
       sources."mkdir-recursive-0.4.0"
       sources."moment-2.29.1"
-      (sources."mqtt-4.3.6" // {
+      (sources."mqtt-4.3.7" // {
         dependencies = [
-          sources."debug-4.3.3"
+          sources."debug-4.3.4"
           sources."ms-2.1.2"
           sources."ws-7.5.7"
         ];
       })
       (sources."mqtt-packet-6.10.0" // {
         dependencies = [
-          sources."debug-4.3.3"
+          sources."debug-4.3.4"
           sources."ms-2.1.2"
         ];
       })
@@ -7875,9 +8216,9 @@ let
       sources."node-releases-2.0.2"
       sources."normalize-path-3.0.0"
       sources."npm-run-path-4.0.1"
-      (sources."number-allocator-1.0.9" // {
+      (sources."number-allocator-1.0.10" // {
         dependencies = [
-          sources."debug-4.3.3"
+          sources."debug-4.3.4"
           sources."ms-2.1.2"
         ];
       })
@@ -7885,7 +8226,7 @@ let
       sources."object-assign-deep-0.4.0"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
-      sources."on-finished-2.3.0"
+      sources."on-finished-2.4.1"
       sources."once-1.4.0"
       sources."one-time-1.0.0"
       sources."onetime-5.1.2"
@@ -7949,12 +8290,12 @@ let
       sources."safer-buffer-2.1.2"
       sources."saxes-5.0.1"
       sources."semver-7.3.5"
-      (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."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
@@ -7972,7 +8313,7 @@ let
           sources."escape-string-regexp-2.0.0"
         ];
       })
-      sources."statuses-1.5.0"
+      sources."statuses-2.0.1"
       sources."stream-shift-1.0.1"
       sources."string-length-4.0.2"
       sources."string-width-4.2.3"
@@ -8011,7 +8352,7 @@ let
       sources."type-fest-0.20.2"
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
-      sources."typescript-4.5.5"
+      sources."typescript-4.6.3"
       sources."unicode-canonical-property-names-ecmascript-2.0.0"
       sources."unicode-match-property-ecmascript-2.0.0"
       sources."unicode-match-property-value-ecmascript-2.0.0"
@@ -9011,22 +9352,22 @@ let
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."zigbee-herdsman-converters-14.0.438" // {
+      (sources."zigbee-herdsman-converters-14.0.467" // {
         dependencies = [
           sources."@ampproject/remapping-2.1.2"
           sources."@babel/code-frame-7.16.7"
-          sources."@babel/compat-data-7.17.0"
-          (sources."@babel/core-7.17.5" // {
+          sources."@babel/compat-data-7.17.7"
+          (sources."@babel/core-7.17.8" // {
             dependencies = [
               sources."semver-6.3.0"
             ];
           })
-          (sources."@babel/generator-7.17.3" // {
+          (sources."@babel/generator-7.17.7" // {
             dependencies = [
               sources."source-map-0.5.7"
             ];
           })
-          (sources."@babel/helper-compilation-targets-7.16.7" // {
+          (sources."@babel/helper-compilation-targets-7.17.7" // {
             dependencies = [
               sources."semver-6.3.0"
             ];
@@ -9036,13 +9377,13 @@ let
           sources."@babel/helper-get-function-arity-7.16.7"
           sources."@babel/helper-hoist-variables-7.16.7"
           sources."@babel/helper-module-imports-7.16.7"
-          sources."@babel/helper-module-transforms-7.17.6"
+          sources."@babel/helper-module-transforms-7.17.7"
           sources."@babel/helper-plugin-utils-7.16.7"
-          sources."@babel/helper-simple-access-7.16.7"
+          sources."@babel/helper-simple-access-7.17.7"
           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.17.2"
+          sources."@babel/helpers-7.17.8"
           (sources."@babel/highlight-7.16.10" // {
             dependencies = [
               sources."ansi-styles-3.2.1"
@@ -9054,7 +9395,7 @@ let
               sources."supports-color-5.5.0"
             ];
           })
-          sources."@babel/parser-7.17.3"
+          sources."@babel/parser-7.17.8"
           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"
@@ -9076,11 +9417,7 @@ let
           })
           sources."@babel/types-7.17.0"
           sources."@bcoe/v8-coverage-0.2.3"
-          (sources."@eslint/eslintrc-1.2.0" // {
-            dependencies = [
-              sources."ignore-4.0.6"
-            ];
-          })
+          sources."@eslint/eslintrc-1.2.1"
           sources."@humanwhocodes/config-array-0.9.5"
           sources."@humanwhocodes/object-schema-1.2.1"
           (sources."@istanbuljs/load-nyc-config-1.1.0" // {
@@ -9111,7 +9448,7 @@ let
           sources."@sinonjs/commons-1.8.3"
           sources."@sinonjs/fake-timers-8.1.0"
           sources."@tootallnate/once-1.1.2"
-          sources."@types/babel__core-7.1.18"
+          sources."@types/babel__core-7.1.19"
           sources."@types/babel__generator-7.6.4"
           sources."@types/babel__template-7.4.1"
           sources."@types/babel__traverse-7.14.2"
@@ -9119,22 +9456,22 @@ 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/json-schema-7.0.9"
-          sources."@types/node-17.0.21"
+          sources."@types/json-schema-7.0.11"
+          sources."@types/node-17.0.23"
           sources."@types/prettier-2.4.4"
           sources."@types/stack-utils-2.0.1"
           sources."@types/yargs-16.0.4"
-          sources."@types/yargs-parser-20.2.1"
-          sources."@typescript-eslint/scope-manager-5.12.1"
-          sources."@typescript-eslint/types-5.12.1"
-          sources."@typescript-eslint/typescript-estree-5.12.1"
-          (sources."@typescript-eslint/utils-5.12.1" // {
+          sources."@types/yargs-parser-21.0.0"
+          sources."@typescript-eslint/scope-manager-5.16.0"
+          sources."@typescript-eslint/types-5.16.0"
+          sources."@typescript-eslint/typescript-estree-5.16.0"
+          (sources."@typescript-eslint/utils-5.16.0" // {
             dependencies = [
               sources."eslint-scope-5.1.1"
               sources."estraverse-4.3.0"
             ];
           })
-          sources."@typescript-eslint/visitor-keys-5.12.1"
+          sources."@typescript-eslint/visitor-keys-5.16.0"
           sources."abab-2.0.5"
           sources."acorn-8.7.0"
           (sources."acorn-globals-6.0.0" // {
@@ -9157,7 +9494,7 @@ let
           sources."argparse-2.0.1"
           sources."array-union-2.1.0"
           sources."asynckit-0.4.0"
-          sources."axios-0.26.0"
+          sources."axios-0.26.1"
           sources."babel-jest-27.5.1"
           sources."babel-plugin-istanbul-6.1.1"
           sources."babel-plugin-jest-hoist-27.5.1"
@@ -9169,14 +9506,14 @@ let
           sources."brace-expansion-1.1.11"
           sources."braces-3.0.2"
           sources."browser-process-hrtime-1.0.0"
-          sources."browserslist-4.19.3"
+          sources."browserslist-4.20.2"
           sources."bser-2.1.1"
           sources."buffer-5.7.1"
           sources."buffer-crc32-0.2.13"
           sources."buffer-from-1.1.2"
           sources."callsites-3.1.0"
           sources."camelcase-5.3.1"
-          sources."caniuse-lite-1.0.30001312"
+          sources."caniuse-lite-1.0.30001320"
           sources."chalk-4.1.2"
           sources."char-regex-1.0.2"
           sources."ci-info-3.3.0"
@@ -9188,11 +9525,7 @@ let
           sources."color-name-1.1.4"
           sources."combined-stream-1.0.8"
           sources."concat-map-0.0.1"
-          (sources."convert-source-map-1.8.0" // {
-            dependencies = [
-              sources."safe-buffer-5.1.2"
-            ];
-          })
+          sources."convert-source-map-1.8.0"
           sources."cross-spawn-7.0.3"
           sources."cssom-0.4.4"
           (sources."cssstyle-2.3.0" // {
@@ -9201,7 +9534,7 @@ let
             ];
           })
           sources."data-urls-2.0.0"
-          sources."debug-4.3.3"
+          sources."debug-4.3.4"
           sources."decimal.js-10.3.1"
           sources."dedent-0.7.0"
           sources."deep-is-0.1.4"
@@ -9216,7 +9549,7 @@ let
               sources."webidl-conversions-5.0.0"
             ];
           })
-          sources."electron-to-chromium-1.4.73"
+          sources."electron-to-chromium-1.4.95"
           sources."emittery-0.8.1"
           sources."emoji-regex-8.0.0"
           sources."end-of-stream-1.4.4"
@@ -9231,9 +9564,9 @@ let
               sources."type-check-0.3.2"
             ];
           })
-          sources."eslint-8.10.0"
+          sources."eslint-8.12.0"
           sources."eslint-config-google-0.14.0"
-          sources."eslint-plugin-jest-26.1.1"
+          sources."eslint-plugin-jest-26.1.3"
           sources."eslint-scope-7.1.1"
           (sources."eslint-utils-3.0.0" // {
             dependencies = [
@@ -9278,7 +9611,7 @@ let
           sources."get-stream-6.0.1"
           sources."glob-7.2.0"
           sources."glob-parent-6.0.2"
-          sources."globals-13.12.1"
+          sources."globals-13.13.0"
           sources."globby-11.1.0"
           sources."graceful-fs-4.2.9"
           sources."has-1.0.3"
@@ -9316,13 +9649,10 @@ let
           sources."istanbul-lib-report-3.0.0"
           sources."istanbul-lib-source-maps-4.0.1"
           sources."istanbul-reports-3.1.4"
-          (sources."jest-27.5.1" // {
-            dependencies = [
-              sources."jest-cli-27.5.1"
-            ];
-          })
+          sources."jest-27.5.1"
           sources."jest-changed-files-27.5.1"
           sources."jest-circus-27.5.1"
+          sources."jest-cli-27.5.1"
           sources."jest-config-27.5.1"
           sources."jest-diff-27.5.1"
           sources."jest-docblock-27.5.1"
@@ -9363,7 +9693,7 @@ let
           sources."json-parse-even-better-errors-2.3.1"
           sources."json-schema-traverse-0.4.1"
           sources."json-stable-stringify-without-jsonify-1.0.1"
-          sources."json5-2.2.0"
+          sources."json5-2.2.1"
           sources."kleur-3.0.3"
           sources."leven-3.1.0"
           sources."levn-0.4.1"
@@ -9380,12 +9710,11 @@ let
           sources."makeerror-1.0.12"
           sources."merge-stream-2.0.0"
           sources."merge2-1.4.1"
-          sources."micromatch-4.0.4"
-          sources."mime-db-1.51.0"
-          sources."mime-types-2.1.34"
+          sources."micromatch-4.0.5"
+          sources."mime-db-1.52.0"
+          sources."mime-types-2.1.35"
           sources."mimic-fn-2.1.0"
           sources."minimatch-3.1.2"
-          sources."minimist-1.2.5"
           sources."ms-2.1.2"
           sources."natural-compare-1.4.0"
           sources."node-int64-0.4.0"
@@ -9436,7 +9765,7 @@ let
           sources."reusify-1.0.4"
           sources."rimraf-3.0.2"
           sources."run-parallel-1.2.0"
-          sources."safe-buffer-5.2.1"
+          sources."safe-buffer-5.1.2"
           sources."safer-buffer-2.1.2"
           sources."saxes-5.0.1"
           sources."semver-7.3.5"
@@ -9455,7 +9784,11 @@ let
           })
           sources."string-length-4.0.2"
           sources."string-width-4.2.3"
-          sources."string_decoder-1.3.0"
+          (sources."string_decoder-1.3.0" // {
+            dependencies = [
+              sources."safe-buffer-5.2.1"
+            ];
+          })
           sources."strip-ansi-6.0.1"
           sources."strip-bom-4.0.0"
           sources."strip-final-newline-2.0.0"
@@ -9480,6 +9813,7 @@ let
           sources."type-detect-4.0.8"
           sources."type-fest-0.20.2"
           sources."typedarray-to-buffer-3.1.5"
+          sources."typescript-4.6.3"
           sources."universalify-0.1.2"
           sources."uri-js-4.4.1"
           sources."util-deprecate-1.0.2"
@@ -9511,7 +9845,7 @@ let
           (sources."zigbee-herdsman-0.14.20" // {
             dependencies = [
               sources."@ampproject/remapping-2.0.3"
-              sources."@babel/cli-7.17.0"
+              sources."@babel/cli-https://registry.npmjs.org/@babel/cli/-/cli-7.17.0.tgz"
               sources."@babel/code-frame-7.16.7"
               sources."@babel/compat-data-7.17.0"
               (sources."@babel/core-7.17.0" // {
@@ -9622,13 +9956,13 @@ let
               sources."@babel/plugin-transform-typescript-7.16.8"
               sources."@babel/plugin-transform-unicode-escapes-7.16.7"
               sources."@babel/plugin-transform-unicode-regex-7.16.7"
-              (sources."@babel/preset-env-7.16.11" // {
+              (sources."@babel/preset-env-https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz" // {
                 dependencies = [
                   sources."semver-6.3.0"
                 ];
               })
               sources."@babel/preset-modules-0.1.5"
-              sources."@babel/preset-typescript-7.16.7"
+              sources."@babel/preset-typescript-https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz"
               sources."@babel/runtime-7.17.0"
               sources."@babel/template-7.16.7"
               sources."@babel/traverse-7.17.0"
@@ -9740,25 +10074,25 @@ let
               sources."@types/babel__generator-7.6.4"
               sources."@types/babel__template-7.4.1"
               sources."@types/babel__traverse-7.14.2"
-              sources."@types/debounce-1.2.1"
-              sources."@types/debug-4.1.7"
+              sources."@types/debounce-https://registry.npmjs.org/@types/debounce/-/debounce-1.2.1.tgz"
+              sources."@types/debug-https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz"
               sources."@types/graceful-fs-4.1.5"
               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-27.4.0"
+              sources."@types/jest-https://registry.npmjs.org/@types/jest/-/jest-27.4.0.tgz"
               sources."@types/json-schema-7.0.9"
               sources."@types/ms-0.7.31"
-              sources."@types/mz-2.7.4"
-              sources."@types/nedb-1.8.12"
+              sources."@types/mz-https://registry.npmjs.org/@types/mz/-/mz-2.7.4.tgz"
+              sources."@types/nedb-https://registry.npmjs.org/@types/nedb/-/nedb-1.8.12.tgz"
               sources."@types/node-17.0.15"
               sources."@types/prettier-2.4.3"
-              sources."@types/serialport-8.0.2"
+              sources."@types/serialport-https://registry.npmjs.org/@types/serialport/-/serialport-8.0.2.tgz"
               sources."@types/stack-utils-2.0.1"
               sources."@types/yargs-16.0.4"
               sources."@types/yargs-parser-20.2.1"
-              sources."@typescript-eslint/eslint-plugin-5.10.2"
-              sources."@typescript-eslint/parser-5.10.2"
+              sources."@typescript-eslint/eslint-plugin-https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.2.tgz"
+              sources."@typescript-eslint/parser-https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.10.2.tgz"
               sources."@typescript-eslint/scope-manager-5.10.2"
               sources."@typescript-eslint/type-utils-5.10.2"
               sources."@typescript-eslint/types-5.10.2"
@@ -9908,7 +10242,7 @@ let
                   sources."type-check-0.3.2"
                 ];
               })
-              (sources."eslint-8.8.0" // {
+              (sources."eslint-https://registry.npmjs.org/eslint/-/eslint-8.8.0.tgz" // {
                 dependencies = [
                   sources."ansi-regex-5.0.1"
                   sources."ansi-styles-4.3.0"
@@ -10047,7 +10381,7 @@ let
                 ];
               })
               sources."istanbul-reports-3.1.4"
-              (sources."jest-27.5.0" // {
+              (sources."jest-https://registry.npmjs.org/jest/-/jest-27.5.0.tgz" // {
                 dependencies = [
                   sources."ansi-styles-4.3.0"
                   sources."chalk-4.1.2"
@@ -10402,11 +10736,11 @@ let
               sources."type-detect-4.0.8"
               sources."type-fest-0.20.2"
               sources."typedarray-to-buffer-3.1.5"
-              sources."typedoc-0.22.11"
-              sources."typedoc-plugin-markdown-3.11.13"
-              sources."typedoc-plugin-no-inherit-1.3.1"
-              sources."typedoc-plugin-sourcefile-url-1.0.6"
-              sources."typescript-4.5.5"
+              sources."typedoc-https://registry.npmjs.org/typedoc/-/typedoc-0.22.11.tgz"
+              sources."typedoc-plugin-markdown-https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.11.13.tgz"
+              sources."typedoc-plugin-no-inherit-https://registry.npmjs.org/typedoc-plugin-no-inherit/-/typedoc-plugin-no-inherit-1.3.1.tgz"
+              sources."typedoc-plugin-sourcefile-url-https://registry.npmjs.org/typedoc-plugin-sourcefile-url/-/typedoc-plugin-sourcefile-url-1.0.6.tgz"
+              sources."typescript-https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz"
               sources."uglify-js-3.15.0"
               sources."unicode-canonical-property-names-ecmascript-2.0.0"
               sources."unicode-match-property-ecmascript-2.0.0"
@@ -10465,7 +10799,7 @@ let
           })
         ];
       })
-      sources."zigbee2mqtt-frontend-0.6.76"
+      sources."zigbee2mqtt-frontend-0.6.80"
     ];
     buildInputs = globalBuildInputs;
     meta = {
diff --git a/pkgs/shells/elvish/default.nix b/pkgs/shells/elvish/default.nix
index ba03ffb4f455f..fc61efc3006ca 100644
--- a/pkgs/shells/elvish/default.nix
+++ b/pkgs/shells/elvish/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "elvish";
-  version = "0.17.0";
+  version = "0.18.0";
 
   subPackages = [ "cmd/elvish" ];
 
@@ -12,10 +12,10 @@ buildGoModule rec {
     owner = "elves";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-F6yjfsEEBrD6kXUgbMrz+1mxrz0z+sdfeoyztpy7rEk=";
+    sha256 = "sha256-AyTkJiNebpq17vdPluwJBztivezd+c1KAdWFTYYDIFE=";
   };
 
-  vendorSha256 = "sha256-810YVxO1rjeDV1XWvE4RmJjGOMdTlicnv7YbvKtoDbM=";
+  vendorSha256 = "sha256-iuklI7XEQUgZ2ObYRROxyiccZ1JkajK5OJA7hIcpRZQ=";
 
   doCheck = false;
 
diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix
index e320b920cfa57..4c45fd3a75f45 100644
--- a/pkgs/shells/fish/default.nix
+++ b/pkgs/shells/fish/default.nix
@@ -134,7 +134,7 @@ let
 
   fish = stdenv.mkDerivation rec {
     pname = "fish";
-    version = "3.4.0";
+    version = "3.4.1";
 
     src = fetchurl {
       # There are differences between the release tarball and the tarball GitHub
@@ -144,7 +144,7 @@ let
       # --version`), as well as the local documentation for all builtins (and
       # maybe other things).
       url = "https://github.com/fish-shell/fish-shell/releases/download/${version}/${pname}-${version}.tar.xz";
-      sha256 = "sha256-tbSKuEhrGe9xajL39GuIuepTVhVfDpZ+6Z9Ak2RUE8U=";
+      sha256 = "sha256-tvI7OEOwTbawqQ/qH28NDkDMAntKcyCYIAhj8oZKlOo=";
     };
 
     # Fix FHS paths in tests
diff --git a/pkgs/shells/oil/default.nix b/pkgs/shells/oil/default.nix
index 516d4c43f6fa3..2b82d4882789c 100644
--- a/pkgs/shells/oil/default.nix
+++ b/pkgs/shells/oil/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "oil";
-  version = "0.9.8";
+  version = "0.9.9";
 
   src = fetchurl {
     url = "https://www.oilshell.org/download/oil-${version}.tar.xz";
-    sha256 = "sha256-OsrxfJ5dF9Anpg1r6Hj+aD194l99X9Yh4vIZ+R+aH8E=";
+    sha256 = "sha256-b2tMS5z4oejh3C/3vznIWhG4cd3anp5RuffhoORrKCQ=";
   };
 
   postPatch = ''
diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix
index c10951239a320..1b777d96696b2 100644
--- a/pkgs/shells/zsh/oh-my-zsh/default.nix
+++ b/pkgs/shells/zsh/oh-my-zsh/default.nix
@@ -5,15 +5,15 @@
 , git, nix, nixfmt, jq, coreutils, gnused, curl, cacert }:
 
 stdenv.mkDerivation rec {
-  version = "2022-03-22";
+  version = "2022-04-04";
   pname = "oh-my-zsh";
-  rev = "50113a53f379b7d98e6921ba58e8440324beb32c";
+  rev = "4d9e5ce9a7d8db3c3aadcae81580a5c3ff5a0e8b";
 
   src = fetchFromGitHub {
     inherit rev;
     owner = "ohmyzsh";
     repo = "ohmyzsh";
-    sha256 = "RBaJ6/NmPS106xWEj47zBsTWSOp19aq3WTyXcdA5T3c=";
+    sha256 = "Plg7mr6ZOSzUpq5XMFkebVpCjdtwe237+4sVdtL+kLM=";
   };
 
   installPhase = ''
diff --git a/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
index 9bbdcbf81d5a2..1fed692fd1cee 100644
--- a/pkgs/stdenv/darwin/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
@@ -80,7 +80,7 @@ in rec {
       cp ${curl_.bin}/bin/curl $out/bin
       cp -d ${curl_.out}/lib/libcurl*.dylib $out/lib
       cp -d ${libssh2.out}/lib/libssh*.dylib $out/lib
-      cp -d ${openssl.out}/lib/*.dylib $out/lib
+      cp -d ${lib.getLib openssl}/lib/*.dylib $out/lib
 
       cp -d ${gnugrep.pcre.out}/lib/libpcre*.dylib $out/lib
       cp -d ${lib.getLib libiconv}/lib/lib*.dylib $out/lib
diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix
index 40cedd713ab06..8ad5fa6b89bdf 100644
--- a/pkgs/stdenv/generic/check-meta.nix
+++ b/pkgs/stdenv/generic/check-meta.nix
@@ -240,7 +240,6 @@ let
     outputsToInstall = listOf str;
     position = str;
     available = bool;
-    repositories = attrsOf str;
     isBuildPythonPackage = platforms;
     schedulingPriority = int;
     isFcitxEngine = bool;
diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix
index 2465449867cb2..8749e8b755524 100644
--- a/pkgs/stdenv/generic/make-derivation.nix
+++ b/pkgs/stdenv/generic/make-derivation.nix
@@ -219,9 +219,11 @@ else let
           # it again.
           staticMarker = lib.optionalString stdenv.hostPlatform.isStatic "-static";
         in
+        lib.strings.sanitizeDerivationName (
           if attrs ? name
           then attrs.name + hostSuffix
-          else "${attrs.pname}${staticMarker}${hostSuffix}-${attrs.version}";
+          else "${attrs.pname}${staticMarker}${hostSuffix}-${attrs.version}"
+        );
     }) // {
       builder = attrs.realBuilder or stdenv.shell;
       args = attrs.args or ["-e" (attrs.builder or ./default-builder.sh)];
@@ -340,8 +342,9 @@ else let
   # passed to the builder and is not a dependency.  But since we
   # include it in the result, it *is* available to nix-env for queries.
   meta = {
-      # `name` above includes cross-compilation cruft (and is under assert),
-      # lets have a clean always accessible version here.
+      # `name` above includes cross-compilation cruft,
+      # is under assert, and is sanitized.
+      # Let's have a clean always accessible version here.
       name = attrs.name or "${attrs.pname}-${attrs.version}";
 
       # If the packager hasn't specified `outputsToInstall`, choose a default,
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index 0777fa830c109..350fff482528f 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -143,14 +143,14 @@ exitHandler() {
             echo "build failed with exit code $exitCode (ignored)"
             mkdir -p "$out/nix-support"
             printf "%s" "$exitCode" > "$out/nix-support/failed"
-            exit 0
+            return 0
         fi
 
     else
         runHook exitHook
     fi
 
-    exit "$exitCode"
+    return "$exitCode"
 }
 
 trap "exitHandler" EXIT
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
index a21f677f117c0..9fc2300b6efa5 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
@@ -17,8 +17,8 @@ in lib.mapAttrs (n: make) (with lib.systems.examples; {
   armv6l-musl  = muslpi;
   aarch64-musl = aarch64-multiplatform-musl;
   riscv64 = riscv64;
-  mips64el-linux-gnuabin32 = lib.systems.platforms.mips64el-linux-gnuabin32;
-  mips64el-linux-gnuabi64  = lib.systems.platforms.mips64el-linux-gnuabi64;
+  mips64el-linux-gnuabin32 = mips64el-linux-gnuabin32;
+  mips64el-linux-gnuabi64  = mips64el-linux-gnuabi64;
   powerpc64 = ppc64;
   powerpc64-musl = ppc64-musl;
   powerpc64le = powernv;
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix
index 84b63e7b8fd0e..1d6ebe6284f54 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix
@@ -74,6 +74,9 @@ in with pkgs; rec {
         cp -d ${libc.out}/lib/libresolv*.so* $out/lib
         cp -d ${libc.out}/lib/crt?.o $out/lib
 
+        # Hacky compat with our current unpack-bootstrap-tools.sh
+        ln -s librt.so "$out"/lib/librt-dummy.so
+
         cp -rL ${libc.dev}/include $out
         chmod -R u+w "$out"
 
diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix
index 4110327946d9b..63aaf6bb72e71 100644
--- a/pkgs/test/default.nix
+++ b/pkgs/test/default.nix
@@ -59,6 +59,7 @@ with pkgs;
 
   trivial-builders = recurseIntoAttrs {
     writeStringReferencesToFile = callPackage ../build-support/trivial-builders/test/writeStringReferencesToFile.nix {};
+    writeTextFile = callPackage ../build-support/trivial-builders/test/write-text-file.nix {};
     references = callPackage ../build-support/trivial-builders/test/references.nix {};
     overriding = callPackage ../build-support/trivial-builders/test-overriding.nix {};
     concat = callPackage ../build-support/trivial-builders/test/concat-test.nix {};
@@ -69,4 +70,6 @@ with pkgs;
   dhall = callPackage ./dhall { };
 
   makeWrapper = callPackage ./make-wrapper {};
+
+  pkgs-lib = recurseIntoAttrs (import ../pkgs-lib/tests { inherit pkgs; });
 }
diff --git a/pkgs/test/mkOption/declare.nix b/pkgs/test/mkOption/declare.nix
deleted file mode 100644
index 9e89a1c096da5..0000000000000
--- a/pkgs/test/mkOption/declare.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-# sets of small configurations:
-# Each configuration
-rec {
-  # has 2 arguments pkgs and this.
-  configA = pkgs: this: {
-    # Can depends on other configuration
-    require = configB;
-
-    # Defines new options
-    optionA = pkgs.lib.mkOption {
-      # With default values
-      default = false;
-      # And merging functions.
-      merge = pkgs.lib.mergeEnableOption;
-    };
-
-    # Add a new definition to other options.
-    optionB = this.optionA;
-  };
-
-  # Can be used for option header.
-  configB = pkgs: this: {
-    # Can depends on more than one configuration.
-    require = [ configC configD ];
-
-    optionB = pkgs.lib.mkOption {
-      default = false;
-    };
-
-    # Is not obliged to define other options.
-  };
-
-  configC = pkgs: this: {
-    require = [ configA ];
-
-    optionC = pkgs.lib.mkOption {
-      default = false;
-    };
-
-    # Use the default value if it is not overwritten.
-    optionA = this.optionC;
-  };
-
-  # Can also be used as option configuration only.
-  # without any arguments (backward compatibility)
-  configD = {
-    # Is not forced to specify the require attribute.
-
-    # Is not force to make new options.
-    optionA = true;
-    optionD = false;
-  };
-}
diff --git a/pkgs/test/mkOption/keep.nix b/pkgs/test/mkOption/keep.nix
deleted file mode 100644
index 26fb8c28dd593..0000000000000
--- a/pkgs/test/mkOption/keep.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-let
-  pkgs = import ../../.. {};
-  config = import ./declare.nix;
-in
-  with (pkgs.lib);
-
-  finalReferenceOptionSets
-    filterOptionSets
-    pkgs
-    # List of main configurations.
-    [ config.configB config.configC ]
diff --git a/pkgs/test/mkOption/keep.ref b/pkgs/test/mkOption/keep.ref
deleted file mode 100644
index a3a051eb48c4a..0000000000000
--- a/pkgs/test/mkOption/keep.ref
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version='1.0' encoding='utf-8'?>
-<expr>
-  <attrs>
-    <attr name="optionA">
-      <list>
-        <attrs>
-          <attr name="_type">
-            <string value="option" />
-          </attr>
-          <attr name="default">
-            <bool value="false" />
-          </attr>
-          <attr name="merge">
-            <unevaluated />
-          </attr>
-          <attr name="name">
-            <string value="optionA" />
-          </attr>
-        </attrs>
-      </list>
-    </attr>
-    <attr name="optionB">
-      <list>
-        <attrs>
-          <attr name="_type">
-            <string value="option" />
-          </attr>
-          <attr name="default">
-            <bool value="false" />
-          </attr>
-          <attr name="name">
-            <string value="optionB" />
-          </attr>
-        </attrs>
-      </list>
-    </attr>
-    <attr name="optionC">
-      <list>
-        <attrs>
-          <attr name="_type">
-            <string value="option" />
-          </attr>
-          <attr name="default">
-            <bool value="false" />
-          </attr>
-          <attr name="name">
-            <string value="optionC" />
-          </attr>
-        </attrs>
-      </list>
-    </attr>
-    <attr name="optionD">
-      <attrs>
-      </attrs>
-    </attr>
-  </attrs>
-</expr>
diff --git a/pkgs/test/mkOption/merge.nix b/pkgs/test/mkOption/merge.nix
deleted file mode 100644
index bbf68218aa09a..0000000000000
--- a/pkgs/test/mkOption/merge.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-let
-  pkgs = import ../../.. {};
-  config = import ./declare.nix;
-
-  # Define the handler of unbound options.
-  noOption = name: values:
-    builtins.trace "Attribute named '${name}' does not match any option declaration." values;
-in
-  with (pkgs.lib);
-
-  finalReferenceOptionSets
-    (mergeOptionSets noOption)
-    pkgs
-    # List of main configurations.
-    [ config.configB config.configC ]
diff --git a/pkgs/test/mkOption/merge.ref b/pkgs/test/mkOption/merge.ref
deleted file mode 100644
index 6956f65dbbcc4..0000000000000
--- a/pkgs/test/mkOption/merge.ref
+++ /dev/null
@@ -1,20 +0,0 @@
-trace: Str("Attribute named 'optionD' does not match any option declaration.",[])
-<?xml version='1.0' encoding='utf-8'?>
-<expr>
-  <attrs>
-    <attr name="optionA">
-      <bool value="true" />
-    </attr>
-    <attr name="optionB">
-      <bool value="true" />
-    </attr>
-    <attr name="optionC">
-      <bool value="false" />
-    </attr>
-    <attr name="optionD">
-      <list>
-        <bool value="false" />
-      </list>
-    </attr>
-  </attrs>
-</expr>
diff --git a/pkgs/test/mkOption/test.sh b/pkgs/test/mkOption/test.sh
deleted file mode 100755
index 5478846d563fb..0000000000000
--- a/pkgs/test/mkOption/test.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#! /bin/sh -e
-
-echo 1>&2 "Test: Merge of option bindings."
-nix-instantiate merge.nix --eval-only --strict --xml >& merge.out
-diff merge.ref merge.out
-
-echo 1>&2 "Test: Filter of option declarations."
-nix-instantiate keep.nix --eval-only --strict --xml >& keep.out
-diff keep.ref keep.out
diff --git a/pkgs/test/nixos-functions/default.nix b/pkgs/test/nixos-functions/default.nix
index 6a4f3164f9296..f2914455246c2 100644
--- a/pkgs/test/nixos-functions/default.nix
+++ b/pkgs/test/nixos-functions/default.nix
@@ -26,14 +26,14 @@ in lib.optionalAttrs stdenv.hostPlatform.isLinux (
       fileSystems."/".device = "/dev/null";
     }).toplevel;
 
-    nixosTest-test = pkgs.nixosTest ({ lib, pkgs, ... }: {
+    nixosTest-test = pkgs.nixosTest ({ lib, pkgs, figlet, ... }: {
       name = "nixosTest-test";
-      machine = { pkgs, ... }: {
+      nodes.machine = { pkgs, ... }: {
         system.nixos = dummyVersioning;
-        environment.systemPackages = [ pkgs.hello ];
+        environment.systemPackages = [ pkgs.hello figlet ];
       };
       testScript = ''
-        machine.succeed("hello")
+        machine.succeed("hello | figlet >/dev/console")
       '';
     });
 
diff --git a/pkgs/tools/X11/obconf/default.nix b/pkgs/tools/X11/obconf/default.nix
index 8074e52c7cf1a..5ffef951d51a7 100644
--- a/pkgs/tools/X11/obconf/default.nix
+++ b/pkgs/tools/X11/obconf/default.nix
@@ -13,6 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     autoreconfHook
+    makeWrapper
     pkg-config
   ];
 
@@ -22,7 +23,6 @@ stdenv.mkDerivation rec {
     libSM
     libstartup_notification
     libxml2
-    makeWrapper
     openbox
   ];
 
diff --git a/pkgs/tools/X11/xinput_calibrator/default.nix b/pkgs/tools/X11/xinput_calibrator/default.nix
index 2e5a4eca2910e..6911166b0e40d 100644
--- a/pkgs/tools/X11/xinput_calibrator/default.nix
+++ b/pkgs/tools/X11/xinput_calibrator/default.nix
@@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
 
   preConfigure = "./autogen.sh --with-gui=X11";
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ xorgproto libXi autoconf automake libtool m4 xlibsWrapper ];
+  nativeBuildInputs = [ pkg-config autoconf automake ];
+  buildInputs = [ xorgproto libXi libtool m4 xlibsWrapper ];
 
   meta = {
     homepage = "https://github.com/tias/xinput_calibrator";
diff --git a/pkgs/tools/X11/xkeysnail/browser-emacs-bindings.py b/pkgs/tools/X11/xkeysnail/browser-emacs-bindings.py
index 697ad87a1b77b..347ac17d33fce 100644
--- a/pkgs/tools/X11/xkeysnail/browser-emacs-bindings.py
+++ b/pkgs/tools/X11/xkeysnail/browser-emacs-bindings.py
@@ -3,26 +3,24 @@ import re
 from xkeysnail.transform import *
 
 aa = False
-def a_setvar(v):
-    def _setvar():
+def aa_setvar(v):
+    def _aa_setvar():
         transform._mark_set = False
         global aa; aa = v
-    return _setvar
-def a_ifvar():
-    def _ifvar():
+    return _aa_setvar
+def aa_ifvar():
+    def _aa_ifvar():
         transform._mark_set = False
         global aa
-        if aa:
-            aa = False
-            return K("esc")
+        if aa: aa = False; return K("esc")
         return K("enter")
-    return _ifvar
-def a_flipmark():
-    def _flipmark():
+    return _aa_ifvar
+def aa_flipmark():
+    def _aa_flipmark():
         transform._mark_set = not transform._mark_set;
-    return _flipmark
+    return _aa_flipmark
 
-define_keymap(re.compile("Google-chrome|Chromium-browser|Firefox"), {
+define_keymap(re.compile("Google-chrome|Chromium-browser|firefox"), {
     K("C-b"): with_mark(K("left")),
     K("C-f"): with_mark(K("right")),
     K("C-p"): with_mark(K("up")),
@@ -41,15 +39,15 @@ define_keymap(re.compile("Google-chrome|Chromium-browser|Firefox"), {
     K("M-backspace"): [K("C-backspace"), set_mark(False)],
 
     K("C-slash"): [K("C-z"), set_mark(False)],
-    K("C-space"): a_flipmark(),
+    K("C-space"): aa_flipmark(),
     K("C-M-space"): with_or_set_mark(K("C-right")),
 
     # K("C-s"): K("F3"),
     # K("C-r"): K("Shift-F3"),
     # K("C-g"): [K("esc"), set_mark(False)]
 
-    K("C-s"): [K("F3"), a_setvar(True)],
-    K("C-r"): [K("Shift-F3"), a_setvar(True)],
-    K("C-g"): [K("esc"), a_setvar(False)],
-    K("enter"): a_ifvar()
+    K("C-s"): [K("F3"), aa_setvar(True)],
+    K("C-r"): [K("Shift-F3"), aa_setvar(True)],
+    K("C-g"): [K("esc"), aa_setvar(False)],
+    K("enter"): aa_ifvar()
 })
diff --git a/pkgs/tools/X11/xnee/default.nix b/pkgs/tools/X11/xnee/default.nix
index c3355b8026338..00ebb1ecec23e 100644
--- a/pkgs/tools/X11/xnee/default.nix
+++ b/pkgs/tools/X11/xnee/default.nix
@@ -15,6 +15,12 @@ stdenv.mkDerivation rec {
        do
          sed -i "$i" -e's|/bin/bash|${stdenv.shell}|g ; s|/usr/bin/env bash|${stdenv.shell}|g'
        done
+
+       # Fix for glibc-2.34. For some reason, `LIBSEMA="CCC"` is added
+       # if `sem_init` is part of libc which causes errors like
+       # `gcc: error: CCC: No such file or directory` during the build.
+       substituteInPlace configure \
+        --replace 'LIBSEMA="CCC"' 'LIBSEMA=""'
     '';
 
   buildInputs =
diff --git a/pkgs/tools/admin/aliyun-cli/default.nix b/pkgs/tools/admin/aliyun-cli/default.nix
index 94f793f47fd66..58fb1bd27cd4f 100644
--- a/pkgs/tools/admin/aliyun-cli/default.nix
+++ b/pkgs/tools/admin/aliyun-cli/default.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "aliyun-cli";
-  version = "3.0.112";
+  version = "3.0.113";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "aliyun";
     repo = pname;
     fetchSubmodules = true;
-    sha256 = "sha256-gzZFxZMLq0TS8bxnQTTEno6OdAu/5tqr0Tl1cF8Rm3c=";
+    sha256 = "sha256-+ZbfWFAf7G5mwtSgfGe/oslqIbOqqiwdtP9mWx/3u4w=";
   };
 
   vendorSha256 = "sha256-FQvBq8+80h7m271gjraV445ayWcpkemOtVswfmHzUM0=";
diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix
index 11cf6c53076c4..1e82459f4c6a6 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.22.35"; # N.B: if you change this, change botocore and boto3 to a matching version too
+  version = "1.22.67"; # N.B: if you change this, change botocore and boto3 to a matching version too
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GsMclLh/VtPaNjD+XDKqTYeSX29R2aRS7If9G918OWY=";
+    hash = "sha256-ofgxL9V/jTn/itxSOLGYkAmgQXES7aVUM/vM6nWdbBc=";
   };
 
   # https://github.com/aws/aws-cli/issues/4837
diff --git a/pkgs/tools/admin/awscli2/default.nix b/pkgs/tools/admin/awscli2/default.nix
index 08fb92e4ea63a..16c547dbeba62 100644
--- a/pkgs/tools/admin/awscli2/default.nix
+++ b/pkgs/tools/admin/awscli2/default.nix
@@ -33,13 +33,13 @@ let
 in
 with py.pkgs; buildPythonApplication rec {
   pname = "awscli2";
-  version = "2.4.19"; # N.B: if you change this, change botocore to a matching version too
+  version = "2.4.23"; # N.B: if you change this, change botocore to a matching version too
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "aws-cli";
     rev = version;
-    sha256 = "sha256-ZOSZBZT4d5jv5lg8KkGoOJqAvStUsGZbiXp3dpsrOpo=";
+    sha256 = "sha256-zpkphlIfmexqZm0lZgDP3RoQJqTpFdT+5dGtaLiRr/U=";
   };
 
   propagatedBuildInputs = [
@@ -69,7 +69,6 @@ with py.pkgs; buildPythonApplication rec {
   postPatch = ''
     substituteInPlace setup.cfg \
       --replace "colorama>=0.2.5,<0.4.4" "colorama" \
-      --replace "cryptography>=3.3.2,<3.4.0" "cryptography" \
       --replace "docutils>=0.10,<0.16" "docutils" \
       --replace "ruamel.yaml>=0.15.0,<0.16.0" "ruamel.yaml" \
       --replace "wcwidth<0.2.0" "wcwidth" \
diff --git a/pkgs/tools/admin/azure-cli/default.nix b/pkgs/tools/admin/azure-cli/default.nix
index efd1ecfee3c16..01cb5081cf4f2 100644
--- a/pkgs/tools/admin/azure-cli/default.nix
+++ b/pkgs/tools/admin/azure-cli/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, python3, fetchFromGitHub, installShellFiles }:
 
 let
-  version = "2.32.0";
+  version = "2.34.1";
   srcName = "azure-cli-${version}-src";
 
   src = fetchFromGitHub {
@@ -9,7 +9,7 @@ let
     owner = "Azure";
     repo = "azure-cli";
     rev = "azure-cli-${version}";
-    sha256 = "sha256-PXY32bfuK0bQGI0N+XHs9lakF6K7+WjrHMvuNgDFSJM=";
+    sha256 = "sha256-BEEwxf3UTShKi3K/uBK1yMxyPCvybL/BbKsu8XAwu0M=";
   };
 
   # put packages that needs to be overriden in the py package scope
diff --git a/pkgs/tools/admin/azure-cli/python-packages.nix b/pkgs/tools/admin/azure-cli/python-packages.nix
index d27805bb257e4..5b8732f537514 100644
--- a/pkgs/tools/admin/azure-cli/python-packages.nix
+++ b/pkgs/tools/admin/azure-cli/python-packages.nix
@@ -69,7 +69,8 @@ let
         postPatch = ''
           substituteInPlace setup.py \
             --replace "requests[socks]~=2.25.1" "requests[socks]~=2.25" \
-            --replace "cryptography>=3.2,<3.4" "cryptography"
+            --replace "cryptography>=3.2,<3.4" "cryptography" \
+            --replace "msal-extensions>=0.3.1,<0.4" "msal-extensions"
         '';
 
         checkInputs = with self; [ pytest ];
@@ -117,11 +118,11 @@ let
         '';
       };
 
-      azure-batch = overrideAzureMgmtPackage super.azure-batch "11.0.0" "zip"
-        "sha256-zl/bDsli7d/oXNgiBekXfLC720RSZXRuOLO7vx8W3HM=";
+      azure-batch = overrideAzureMgmtPackage super.azure-batch "12.0.0" "zip"
+        "sha256-GpseF4mEp79JWvZ7zOUfDbHkqKlXr7KeM1VKFKlnTes=";
 
-      azure-mgmt-apimanagement = overrideAzureMgmtPackage super.azure-mgmt-apimanagement "0.2.0" "zip"
-        "0whx3s8ri9939r3pdvjf8iqcslas1xy6cnccidmp10r5ng0023vr";
+      azure-mgmt-apimanagement = overrideAzureMgmtPackage super.azure-mgmt-apimanagement "3.0.0" "zip"
+        "9262f54ed387eb083d8dae66d32a8df35647319b902bd498cdc376f50a12d154";
 
       azure-mgmt-batch = overrideAzureMgmtPackage super.azure-mgmt-batch "16.0.0" "zip"
         "1b3cecd6f16813879c6ac1a1bb01f9a6f2752cd1f9157eb04d5e41e4a89f3c34";
@@ -156,8 +157,8 @@ let
       azure-mgmt-cognitiveservices = overrideAzureMgmtPackage super.azure-mgmt-cognitiveservices "13.0.0" "zip"
         "dc6116e8394d45312c7ad5a9098ce0dd2370bd92d43afd33d8b3bfab724fa498";
 
-      azure-mgmt-compute = overrideAzureMgmtPackage super.azure-mgmt-compute "23.1.0" "zip"
-        "sha256-Sduw9RAG1VfL0LIpmcuezz6rwr5G2W78xtZRxrM3VLM=";
+      azure-mgmt-compute = overrideAzureMgmtPackage super.azure-mgmt-compute "25.0.0" "zip"
+        "sha256-Y0WNBtQ9v0yhTVFfTvfcudWHOjzGagGB+/b++3Ie5Kk=";
 
       azure-mgmt-consumption = overrideAzureMgmtPackage super.azure-mgmt-consumption "2.0.0" "zip"
         "12ai4qps73ivawh0yzvgb148ksx02r30pqlvfihx497j62gsi1cs";
@@ -165,8 +166,8 @@ let
       azure-mgmt-containerinstance = overrideAzureMgmtPackage super.azure-mgmt-containerinstance "9.1.0" "zip"
         "sha256-N+zUTEnOyn18lDHlkUj+vRXX/sJhZR7XLd1YdV50ULA=";
 
-      azure-mgmt-containerservice = overrideAzureMgmtPackage super.azure-mgmt-containerservice "16.1.0" "zip"
-        "sha256-NlTIrOK4ho0OqcTHjHT1HobiMzDH2KY20TIlN0fm8/Q=";
+      azure-mgmt-containerservice = overrideAzureMgmtPackage super.azure-mgmt-containerservice "17.0.0" "zip"
+        "sha256-oUbWdZryabCCg/gTujchT7p1nS7IDoU5W9MQ4ekJYH8=";
 
       azure-mgmt-cosmosdb = overrideAzureMgmtPackage super.azure-mgmt-cosmosdb "7.0.0b2" "zip"
         "sha256-hVvYW9gkfTVMwis3IdD0JXYDxdKcyyzIFx3hNk7VMLI=";
@@ -183,11 +184,11 @@ let
       azure-mgmt-imagebuilder = overrideAzureMgmtPackage super.azure-mgmt-imagebuilder "1.0.0" "zip"
         "634e398de9a23e712aa27a4a59f9ea5d5091d1dfcfed5ac977230918872c4430";
 
-      azure-mgmt-iothub = overrideAzureMgmtPackage super.azure-mgmt-iothub "2.1.0" "zip"
-        "2724f48cadb1be7ee96fc26c7bfa178f82cea5d325e785e91d9f26965fa8e46f";
+      azure-mgmt-iothub = overrideAzureMgmtPackage super.azure-mgmt-iothub "2.2.0" "zip"
+        "sha256-nsAeVhs5N8bpwYenmRwJmqF/IAqz/ulSoYIeOU5l0eM=";
 
-      azure-mgmt-iothubprovisioningservices = overrideAzureMgmtPackage super.azure-mgmt-iothubprovisioningservices "1.0.0" "zip"
-        "e5871b03488b5ae6dfc441cdbda40cb39c000635ee57c513053792b3c15826a9";
+      azure-mgmt-iothubprovisioningservices = overrideAzureMgmtPackage super.azure-mgmt-iothubprovisioningservices "1.1.0" "zip"
+        "sha256-04OoJuff93L62G6IozpmHpEaUbHHHD6nKlkMHVoJvJ4=";
 
       azure-mgmt-iotcentral = overrideAzureMgmtPackage super.azure-mgmt-iotcentral "9.0.0" "zip"
         "64df73df449a6f3717f3d0963e5869224ed3e6216c79de571493bea7c1b52cb6";
@@ -198,14 +199,14 @@ let
       azure-mgmt-devtestlabs = overrideAzureMgmtPackage super.azure-mgmt-devtestlabs "4.0.0" "zip"
         "1397ksrd61jv7400mgn8sqngp6ahir55fyq9n5k69wk88169qm2r";
 
-      azure-mgmt-netapp = overrideAzureMgmtPackage super.azure-mgmt-netapp "5.1.0" "zip"
-        "sha256-MGCICI7hDobEzyTMgqnKYZ21zfwNo/ogfQDsf3fwbo4=";
+      azure-mgmt-netapp = overrideAzureMgmtPackage super.azure-mgmt-netapp "6.0.1" "zip"
+        "6ce683587be1638d8d77620b7af118060b8b7dfc4fd23d46a623a66edcb388e1";
 
       azure-mgmt-dns = overrideAzureMgmtPackage super.azure-mgmt-dns "8.0.0" "zip"
         "407c2dacb33513ffbe9ca4be5addb5e9d4bae0cb7efa613c3f7d531ef7bf8de8";
 
-      azure-mgmt-loganalytics = overrideAzureMgmtPackage super.azure-mgmt-loganalytics "12.0.0" "zip"
-        "da128a7e0291be7fa2063848df92a9180cf5c16d42adc09d2bc2efd711536bfb";
+      azure-mgmt-loganalytics = overrideAzureMgmtPackage super.azure-mgmt-loganalytics "13.0.0b2" "zip"
+        "sha256-j8CyWZGF7Z/5szJ+CD96E0EbNsceJ1SScrlPqWVLjnk=";
 
       azure-mgmt-network = overrideAzureMgmtPackage super.azure-mgmt-network "19.3.0" "zip"
         "0b6a1ccdffd76e057ab16a6c319740a0ca68d59fedf7e9c02f2437396e72aa11";
@@ -216,8 +217,8 @@ let
       azure-mgmt-managedservices = overrideAzureMgmtPackage super.azure-mgmt-managedservices "1.0.0" "zip"
         "sha256-/tg5n8Z3Oq2jfB0ElqRvWUENd8lJTQyllnxTHDN2rRk=";
 
-      azure-mgmt-managementgroups = overrideAzureMgmtPackage super.azure-mgmt-managementgroups "0.1.0" "zip"
-        "sha256-/2LZgu3aY0o2Fgyx0Vo2epVypay0GeXnrTcejIO9R8c=";
+      azure-mgmt-managementgroups = overrideAzureMgmtPackage super.azure-mgmt-managementgroups "1.0.0" "zip"
+        "bab9bd532a1c34557f5b0ab9950e431e3f00bb96e8a3ce66df0f6ce2ae19cd73";
 
       azure-mgmt-marketplaceordering = overrideAzureMgmtPackage super.azure-mgmt-marketplaceordering "1.1.0" "zip"
         "68b381f52a4df4435dacad5a97e1c59ac4c981f667dcca8f9d04453417d60ad8";
@@ -231,8 +232,8 @@ let
       azure-mgmt-privatedns = overrideAzureMgmtPackage super.azure-mgmt-privatedns "1.0.0" "zip"
         "b60f16e43f7b291582c5f57bae1b083096d8303e9d9958e2c29227a55cc27c45";
 
-      azure-mgmt-web = overrideAzureMgmtPackage super.azure-mgmt-web "4.0.0" "zip"
-        "sha256-5XQ3qTPn3qmwYY/nkODa3GP5hXc1NhrItfXoBiucKg0=";
+      azure-mgmt-web = overrideAzureMgmtPackage super.azure-mgmt-web "6.1.0" "zip"
+        "c26635089276515b0488fcf014aab50a0446f54800c6e0e5583cc493ac8d738f";
 
       azure-mgmt-redhatopenshift = overrideAzureMgmtPackage super.azure-mgmt-redhatopenshift "1.0.0" "zip"
         "94cd41f1ebd82e40620fd3e6d88f666b5c19ac7cf8b4e8edadb9721bd7c80980";
@@ -291,11 +292,11 @@ let
       azure-mgmt-authorization = overrideAzureMgmtPackage super.azure-mgmt-authorization "0.61.0" "zip"
         "0xfvx2dvfj3fbz4ngn860ipi4v6gxqajyjc8x92r8knhmniyxk7m";
 
-      azure-mgmt-storage = overrideAzureMgmtPackage super.azure-mgmt-storage "19.0.0" "zip"
-        "f05963e5a8696d0fd4dcadda4feecb9b382a380d2e461b3647704ac787d79876";
+      azure-mgmt-storage = overrideAzureMgmtPackage super.azure-mgmt-storage "19.1.0" "zip"
+        "sha256-Seoi8A4JZaNVCvNKQcGh06SBaQ9lAMeOhUCIAvVtdBY=";
 
-      azure-mgmt-servicebus = overrideAzureMgmtPackage super.azure-mgmt-servicebus "6.0.0" "zip"
-        "f6c64ed97d22d0c03c4ca5fc7594bd0f3d4147659c10110160009b93f541298e";
+      azure-mgmt-servicebus = overrideAzureMgmtPackage super.azure-mgmt-servicebus "7.1.0" "zip"
+        "d8ae7905fb7d3e24822daa20aa7bc5014f41aa18b48ea2d0161e997fc11a3d36";
 
       azure-mgmt-servicefabric = overrideAzureMgmtPackage super.azure-mgmt-servicefabric "1.0.0" "zip"
         "de35e117912832c1a9e93109a8d24cab94f55703a9087b2eb1c5b0655b3b1913";
@@ -413,12 +414,12 @@ let
       });
 
       azure-keyvault-keys = super.azure-keyvault-keys.overridePythonAttrs(oldAttrs: rec {
-        version = "4.5.0b4";
+        version = "4.5.0b6";
         src = super.fetchPypi {
           inherit (oldAttrs) pname;
           inherit version;
           extension = "zip";
-          sha256 = "sha256-f43ZTMFc0IVIaa69gEZFOLALREcx3RRCFoYDY2FYLrY=";
+          sha256 = "sha256-WFSRJaia0+WnvGxoMYZIvf81ue51VPYXzTp8huUh1fc=";
         };
       });
 
@@ -481,18 +482,6 @@ let
         };
       });
 
-      PyGithub = super.PyGithub.overridePythonAttrs(oldAttrs: rec {
-        version = "1.38";
-
-        src = super.fetchPypi {
-          inherit (oldAttrs) pname;
-          inherit version;
-          sha256 = "sha256-HtCPd17FBnvIRStyveLbuVz05S/yvVDMMsackf+tknI=";
-        };
-
-        doCheck = false;
-      });
-
       knack = super.knack.overridePythonAttrs(oldAttrs: rec {
         version = "0.9.0";
 
diff --git a/pkgs/tools/admin/certigo/default.nix b/pkgs/tools/admin/certigo/default.nix
index b2324a929a6e0..f0840d1585352 100644
--- a/pkgs/tools/admin/certigo/default.nix
+++ b/pkgs/tools/admin/certigo/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "certigo";
-  version = "1.15.0";
+  version = "1.15.1";
 
   src = fetchFromGitHub {
     owner = "square";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-/9JprUOzCmXoWVj0PFtFW7pRYHiqSPKCaqoTnMLtVPg=";
+    sha256 = "sha256-XGR6xIXdFLnJTFd+mJneRb/WkLmi0Jscta9Bj3paM1M=";
   };
 
   vendorSha256 = "sha256-qS/tIi6umSuQcl43SI4LyL0k5eWfRWs7kVybRPGKcbs=";
diff --git a/pkgs/tools/admin/eksctl/default.nix b/pkgs/tools/admin/eksctl/default.nix
index 0bde787bfe564..3e0ab75681838 100644
--- a/pkgs/tools/admin/eksctl/default.nix
+++ b/pkgs/tools/admin/eksctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.88.0";
+  version = "0.90.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    sha256 = "sha256-HngpmCJ2oT+6LKtYGaDmQYjB6ibeIr8AaTZp8w8gftc=";
+    sha256 = "sha256-XQZ32Gg/LZCDuSmtGvDEYCuzvq39zzq3yGGTYSKZyXI=";
   };
 
-  vendorSha256 = "sha256-hF7G5Bh87gf2gpaorBh7aICfhq4jPXj6Zay/qMC+cmU=";
+  vendorSha256 = "sha256-IYqeuyNPRQBMwuZMW4InKfHpOLhleM5Mz5Oauw4nK6M=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/admin/intecture/agent.nix b/pkgs/tools/admin/intecture/agent.nix
deleted file mode 100644
index 33145e0e548f6..0000000000000
--- a/pkgs/tools/admin/intecture/agent.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib, fetchFromGitHub, rustPlatform
-, openssl, zeromq, czmq, pkg-config, cmake, zlib }:
-
-with rustPlatform;
-
-buildRustPackage rec {
-  pname = "intecture-agent";
-  version = "0.3.1";
-
-  src = fetchFromGitHub {
-    owner = "intecture";
-    repo = "agent";
-    rev = version;
-    sha256 = "0j27qdgyxybaixggh7k57mpm6rifimn4z2vydk463msc8b3kgywj";
-  };
-
-  cargoSha256 = "0j7yv00ipaa60hpakfj60xrblcyzjwi0lp2hpzz41vq3p9bkigvm";
-
-  buildInputs = [ openssl zeromq czmq zlib ];
-
-  nativeBuildInputs = [ pkg-config cmake ];
-
-  meta = with lib; {
-    description = "Authentication client/server for Intecture components";
-    homepage = "https://intecture.io";
-    license = licenses.mpl20;
-    maintainers = [ maintainers.rushmorem ];
-  };
-}
diff --git a/pkgs/tools/admin/intecture/auth.nix b/pkgs/tools/admin/intecture/auth.nix
deleted file mode 100644
index 5fe81b78c9a6f..0000000000000
--- a/pkgs/tools/admin/intecture/auth.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib, fetchFromGitHub, rustPlatform
-, openssl, zeromq, czmq, pkg-config, cmake, zlib }:
-
-with rustPlatform;
-
-buildRustPackage rec {
-  pname = "intecture-auth";
-  version = "0.1.2";
-
-  src = fetchFromGitHub {
-    owner = "intecture";
-    repo = "auth";
-    rev = version;
-    sha256 = "0c7ar3pc7n59lzfy74lwz51p09s2bglc870rfr4c0vmc91jl0pj2";
-  };
-
-  cargoSha256 = "15f7lb0xxaxvhvj8g3kjmqy5jzy4pyzwk3zfdvykphpg18qgg6qj";
-
-  buildInputs = [ openssl zeromq czmq zlib ];
-
-  nativeBuildInputs = [ pkg-config cmake ];
-
-  meta = with lib; {
-    description = "Authentication client/server for Intecture components";
-    homepage = "https://intecture.io";
-    license = licenses.mpl20;
-    maintainers = [ maintainers.rushmorem ];
-  };
-}
diff --git a/pkgs/tools/admin/intecture/cli.nix b/pkgs/tools/admin/intecture/cli.nix
deleted file mode 100644
index 9b543b40498e2..0000000000000
--- a/pkgs/tools/admin/intecture/cli.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ lib, fetchFromGitHub, rustPlatform
-, openssl, zeromq, czmq, pkg-config, cmake, zlib }:
-
-with rustPlatform;
-
-buildRustPackage rec {
-  pname = "intecture-cli";
-  version = "0.3.4";
-
-  src = fetchFromGitHub {
-    owner = "intecture";
-    repo = "cli";
-    rev = version;
-    sha256 = "16a5fkpyqkf8w20k3ircc1d0qmif7nygkzxj6mzk9609dlb0dmxq";
-  };
-
-  cargoSha256 = "09phc0gxz1amrk1bbl5ajg0jmgxcqm4xzbvq3nj58qps991kvgf1";
-
-  buildInputs = [ openssl zeromq czmq zlib ];
-
-  nativeBuildInputs = [ pkg-config cmake ];
-
-  # Needed for tests
-  USER = "$(whoami)";
-
-  meta = with lib; {
-    description = "A developer friendly, language agnostic configuration management tool for server systems";
-    homepage = "https://intecture.io";
-    license = licenses.mpl20;
-    maintainers = [ maintainers.rushmorem ];
-  };
-}
diff --git a/pkgs/tools/admin/mycli/default.nix b/pkgs/tools/admin/mycli/default.nix
index 355bdf8ef2c6d..dc8ce72d99d4f 100644
--- a/pkgs/tools/admin/mycli/default.nix
+++ b/pkgs/tools/admin/mycli/default.nix
@@ -7,11 +7,11 @@ with python3.pkgs;
 
 buildPythonApplication rec {
   pname = "mycli";
-  version = "1.24.3";
+  version = "1.25.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Qk2qOXfAM7xJv1fDt/mnb2NZFf5S/ExonQtLE4m22a4=";
+    sha256 = "sha256-/vEu2BJf0T7fSgSXflq56Ilaih7RAhhilZUgbNzZYQg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/tools/admin/pgadmin/3.nix b/pkgs/tools/admin/pgadmin/3.nix
deleted file mode 100644
index 4e9d674d0cf6b..0000000000000
--- a/pkgs/tools/admin/pgadmin/3.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{ lib, stdenv, fetchurl, fetchpatch, postgresql, wxGTK, libxml2, libxslt, openssl, zlib, makeDesktopItem }:
-
-stdenv.mkDerivation rec {
-  pname = "pgadmin3";
-  version = "1.22.2";
-
-  src = fetchurl {
-    url = "https://ftp.postgresql.org/pub/pgadmin/pgadmin3/v${version}/src/pgadmin3-${version}.tar.gz";
-    sha256 = "1b24b356h8z188nci30xrb57l7kxjqjnh6dq9ws638phsgiv0s4v";
-  };
-
-  enableParallelBuilding = true;
-
-  buildInputs = [ postgresql wxGTK openssl zlib ];
-
-  patches = [
-    (fetchpatch {
-      sha256 = "09hp7s3zjz80rpx2j3xyznwswwfxzi70z7c05dzrdk74mqjjpkfk";
-      name = "843344.patch";
-      url = "https://sources.debian.net/data/main/p/pgadmin3/1.22.2-1/debian/patches/843344";
-    })
-  ];
-
-  preConfigure = ''
-    substituteInPlace pgadmin/ver_svn.sh --replace "bin/bash" "$shell"
-  '';
-
-  configureFlags = [
-    "--with-pgsql=${postgresql}"
-    "--with-libxml2=${libxml2.dev}"
-    "--with-libxslt=${libxslt.dev}"
-  ];
-
-  # starting with C++11 narrowing became an error
-  # and not just a warning. With the current c++ compiler
-  # pgadmin3 will fail with several "narrowing" errors.
-  # see https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html#index-Wno-narrowing
-  makeFlags = "CXXFLAGS=-Wno-narrowing" ;
-
-  meta = with lib; {
-    description = "PostgreSQL administration GUI tool";
-    homepage = "https://www.pgadmin.org";
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ domenkozar wmertens ];
-    platforms = platforms.unix;
-  };
-
-  postFixup = let
-    desktopItem = makeDesktopItem {
-      name = "pgAdmin";
-      desktopName = "pgAdmin III";
-      genericName = "SQL Administration";
-      exec = "pgadmin3";
-      icon = "pgAdmin3";
-      categories = [ "Development" ];
-      mimeTypes = [ "text/html" ];
-    };
-  in ''
-    mkdir -p $out/share/pixmaps;
-    cp pgadmin/include/images/pgAdmin3.png $out/share/pixmaps/;
-    cp -rv ${desktopItem}/share/applications $out/share/
-  '';
-}
diff --git a/pkgs/tools/admin/pgadmin/default.nix b/pkgs/tools/admin/pgadmin/default.nix
index 86c68aa97834a..29d0d91a01227 100644
--- a/pkgs/tools/admin/pgadmin/default.nix
+++ b/pkgs/tools/admin/pgadmin/default.nix
@@ -11,11 +11,11 @@
 let
 
   pname = "pgadmin";
-  version = "6.5";
+  version = "6.7";
 
   src = fetchurl {
     url = "https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v${version}/source/pgadmin4-${version}.tar.gz";
-    sha256 = "0df1r7c7vgrkc6qq6ljxsak9ish477508hdxgqqpqiy816inyaa0";
+    sha256 = "1g2yxwgj9fp1fkn8j2jrdhmr2b2s6y8sgv4jq55aaxm4hfkkqh6d";
   };
 
   yarnDeps = mkYarnModules {
@@ -50,9 +50,11 @@ python3.pkgs.buildPythonApplication rec {
     # relax dependencies
     substituteInPlace requirements.txt \
       --replace "Pillow==8.3.*" "Pillow>=8.3.0" \
-      --replace "psycopg2==2.8.*" "psycopg2>=2.8.0" \
+      --replace "psycopg2==2.9.*" "psycopg2>=2.9" \
       --replace "cryptography==3.*" "cryptography>=3.0" \
-      --replace "requests==2.25.*" "requests>=2.25.0"
+      --replace "requests==2.25.*" "requests>=2.25.0" \
+      --replace "boto3==1.20.*" "boto3>=1.20" \
+      --replace "botocore==1.23.*" "botocore>=1.23"
     # don't use Server Mode (can be overridden later)
     substituteInPlace pkg/pip/setup_pip.py \
       --replace "req = req.replace('psycopg2', 'psycopg2-binary')" "req = req" \
@@ -148,6 +150,8 @@ python3.pkgs.buildPythonApplication rec {
     qrcode
     pillow
     pyotp
+    botocore
+    boto3
   ];
 
   passthru = {
diff --git a/pkgs/tools/admin/pgadmin/package.json b/pkgs/tools/admin/pgadmin/package.json
index aa28f05da4234..e4a27bd10d7ba 100644
--- a/pkgs/tools/admin/pgadmin/package.json
+++ b/pkgs/tools/admin/pgadmin/package.json
@@ -11,6 +11,7 @@
     "@babel/eslint-parser": "^7.12.13",
     "@babel/eslint-plugin": "^7.12.13",
     "@babel/plugin-proposal-object-rest-spread": "^7.10.1",
+    "@babel/plugin-syntax-jsx": "^7.16.0",
     "@babel/preset-env": "^7.10.2",
     "@babel/preset-typescript": "^7.8.3",
     "@emotion/core": "^10.0.14",
@@ -18,6 +19,7 @@
     "@emotion/react": "^11.1.5",
     "@emotion/styled": "^10.0.14",
     "@emotion/utils": "^1.0.0",
+    "@svgr/webpack": "^5.5.0",
     "@wojtekmaj/enzyme-adapter-react-17": "^0.4.1",
     "autoprefixer": "^10.2.4",
     "axios-mock-adapter": "^1.17.0",
@@ -40,9 +42,10 @@
     "imagemin-pngquant": "^9.0.1",
     "imagemin-svgo": "^8.0.0",
     "is-docker": "^2.1.1",
+    "istanbul-instrumenter-loader": "^3.0.1",
     "jasmine-core": "^3.6.0",
     "jasmine-enzyme": "^7.1.2",
-    "karma": "^6.3.2",
+    "karma": "^6.3.15",
     "karma-babel-preprocessor": "^8.0.0",
     "karma-browserify": "^8.0.0",
     "karma-chrome-launcher": "^3.1.0",
@@ -63,7 +66,7 @@
     "sass-resources-loader": "^2.2.1",
     "style-loader": "^2.0.0",
     "stylis": "^4.0.7",
-    "svgo": "^1.1.1",
+    "svgo": "^2.7.0",
     "svgo-loader": "^2.2.0",
     "terser-webpack-plugin": "^5.1.1",
     "typescript": "^3.2.2",
@@ -86,11 +89,13 @@
     "@material-ui/pickers": "^3.2.10",
     "@projectstorm/react-diagrams": "^6.6.1",
     "@simonwep/pickr": "^1.5.1",
+    "@szhsin/react-menu": "^2.2.0",
     "@tippyjs/react": "^4.2.0",
     "@types/classnames": "^2.2.6",
     "@types/react": "^16.7.18",
     "@types/react-dom": "^16.0.11",
     "acitree": "git+https://github.com/imsurinder90/jquery-aciTree.git#rc.7",
+    "ajv": "^8.8.2",
     "alertifyjs": "git+https://github.com/EnterpriseDB/AlertifyJS/#72c1d794f5b6d4ec13a68d123c08f19021afe263",
     "aspen-decorations": "^1.0.2",
     "axios": "^0.21.1",
@@ -103,12 +108,14 @@
     "bootstrap": "^4.3.1",
     "bootstrap-datepicker": "^1.8.0",
     "bootstrap4-toggle": "^3.6.1",
+    "brace": "^0.11.1",
     "browserfs": "^1.4.3",
     "chart.js": "^2.9.3",
     "classnames": "^2.2.6",
     "closest": "^0.0.1",
     "codemirror": "^5.59.2",
     "context-menu": "^2.0.0",
+    "copy-to-clipboard": "^3.3.1",
     "css-loader": "^5.0.1",
     "cssnano": "^5.0.2",
     "dagre": "^0.8.4",
@@ -120,12 +127,12 @@
     "imports-loader": "^2.0.0",
     "insert-if": "^1.1.0",
     "ip-address": "^7.1.0",
-    "istanbul-instrumenter-loader": "^3.0.1",
     "jquery": "^3.6.0",
     "jquery-contextmenu": "^2.9.2",
     "jquery-ui": "^1.13.0",
     "json-bignumber": "^1.0.1",
     "jsoneditor": "^9.5.4",
+    "jsoneditor-react": "^3.1.1",
     "karma-coverage": "^2.0.3",
     "leaflet": "^1.5.1",
     "lodash": "4.*",
@@ -141,6 +148,7 @@
     "pgadmin4-tree": "git+https://github.com/EnterpriseDB/pgadmin4-treeview/#bf7ac7be65898883e3e05c9733426152a1da6422",
     "postcss": "^8.2.15",
     "raf": "^3.4.1",
+    "rc-dock": "^3.2.9",
     "react": "^17.0.1",
     "react-aspen": "^1.1.0",
     "react-checkbox-tree": "^1.7.2",
@@ -148,6 +156,7 @@
     "react-draggable": "^4.4.4",
     "react-select": "^4.2.1",
     "react-table": "^7.6.3",
+    "react-timer-hook": "^3.0.5",
     "react-virtualized-auto-sizer": "^1.0.6",
     "react-window": "^1.8.5",
     "select2": "^4.0.13",
@@ -177,7 +186,7 @@
     "bundle:watch": "yarn run linter && yarn run webpacker:watch",
     "bundle:dev": "yarn run linter && yarn run webpacker",
     "bundle:analyze": "cross-env NODE_ENV=production ANALYZE=true yarn run bundle:dev",
-    "bundle": "cross-env NODE_ENV=production yarn run bundle:dev",
+    "bundle": "cross-env NODE_ENV=production NODE_OPTIONS=--max-old-space-size=8192 yarn run bundle:dev",
     "test:karma-once": "yarn run linter && yarn run karma start --single-run",
     "test:karma": "yarn run linter && yarn run karma start",
     "test:karma-coverage": "yarn run test:karma-once --reporters coverage,progress",
diff --git a/pkgs/tools/admin/pgadmin/yarn.lock b/pkgs/tools/admin/pgadmin/yarn.lock
index 7c108d4df84e1..7dc709ab5add9 100644
--- a/pkgs/tools/admin/pgadmin/yarn.lock
+++ b/pkgs/tools/admin/pgadmin/yarn.lock
@@ -2,6 +2,14 @@
 # yarn lockfile v1
 
 
+"@ampproject/remapping@^2.0.0":
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.0.2.tgz#f3d9760bf30588c51408dbe7c05ff2bb13069307"
+  integrity sha512-sE8Gx+qSDMLoJvb3QarJJlDQK7SSY4rK3hxp4XsiANeFOmjU46ZI7Y9adAQRJrmbz8zbtZkp3mJTT+rGxtF0XA==
+  dependencies:
+    "@jridgewell/trace-mapping" "^0.2.2"
+    sourcemap-codec "1.4.8"
+
 "@babel/code-frame@7.12.11":
   version "7.12.11"
   resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f"
@@ -23,11 +31,23 @@
   dependencies:
     "@babel/highlight" "^7.14.5"
 
+"@babel/code-frame@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789"
+  integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==
+  dependencies:
+    "@babel/highlight" "^7.16.7"
+
 "@babel/compat-data@^7.13.0", "@babel/compat-data@^7.13.8", "@babel/compat-data@^7.14.5", "@babel/compat-data@^7.14.7":
   version "7.14.7"
   resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.7.tgz#7b047d7a3a89a67d2258dc61f604f098f1bc7e08"
   integrity sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==
 
+"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.4", "@babel/compat-data@^7.16.8":
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.0.tgz#86850b8597ea6962089770952075dcaabb8dba34"
+  integrity sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==
+
 "@babel/core@^7.10.2", "@babel/core@^7.7.5":
   version "7.13.8"
   resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.13.8.tgz#c191d9c5871788a591d69ea1dc03e5843a3680fb"
@@ -50,6 +70,27 @@
     semver "^6.3.0"
     source-map "^0.5.0"
 
+"@babel/core@^7.12.3":
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.0.tgz#16b8772b0a567f215839f689c5ded6bb20e864d5"
+  integrity sha512-x/5Ea+RO5MvF9ize5DeVICJoVrNv0Mi2RnIABrZEKYvPEpldXwauPkgvYA17cKa6WpU3LoYvYbuEMFtSNFsarA==
+  dependencies:
+    "@ampproject/remapping" "^2.0.0"
+    "@babel/code-frame" "^7.16.7"
+    "@babel/generator" "^7.17.0"
+    "@babel/helper-compilation-targets" "^7.16.7"
+    "@babel/helper-module-transforms" "^7.16.7"
+    "@babel/helpers" "^7.17.0"
+    "@babel/parser" "^7.17.0"
+    "@babel/template" "^7.16.7"
+    "@babel/traverse" "^7.17.0"
+    "@babel/types" "^7.17.0"
+    convert-source-map "^1.7.0"
+    debug "^4.1.0"
+    gensync "^1.0.0-beta.2"
+    json5 "^2.1.2"
+    semver "^6.3.0"
+
 "@babel/eslint-parser@^7.12.13":
   version "7.13.8"
   resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.13.8.tgz#6f2bde6b0690fcc0598b4869fc7c8e8b55b17687"
@@ -75,6 +116,15 @@
     jsesc "^2.5.1"
     source-map "^0.5.0"
 
+"@babel/generator@^7.17.0":
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.0.tgz#7bd890ba706cd86d3e2f727322346ffdbf98f65e"
+  integrity sha512-I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw==
+  dependencies:
+    "@babel/types" "^7.17.0"
+    jsesc "^2.5.1"
+    source-map "^0.5.0"
+
 "@babel/helper-annotate-as-pure@^7.0.0", "@babel/helper-annotate-as-pure@^7.10.4", "@babel/helper-annotate-as-pure@^7.12.13", "@babel/helper-annotate-as-pure@^7.14.5":
   version "7.14.5"
   resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz#7bf478ec3b71726d56a8ca5775b046fc29879e61"
@@ -82,6 +132,13 @@
   dependencies:
     "@babel/types" "^7.14.5"
 
+"@babel/helper-annotate-as-pure@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862"
+  integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==
+  dependencies:
+    "@babel/types" "^7.16.7"
+
 "@babel/helper-builder-binary-assignment-operator-visitor@^7.12.13":
   version "7.12.13"
   resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz#6bc20361c88b0a74d05137a65cac8d3cbf6f61fc"
@@ -90,6 +147,14 @@
     "@babel/helper-explode-assignable-expression" "^7.12.13"
     "@babel/types" "^7.12.13"
 
+"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz#38d138561ea207f0f69eb1626a418e4f7e6a580b"
+  integrity sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==
+  dependencies:
+    "@babel/helper-explode-assignable-expression" "^7.16.7"
+    "@babel/types" "^7.16.7"
+
 "@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.13.8", "@babel/helper-compilation-targets@^7.14.5":
   version "7.14.5"
   resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz#7a99c5d0967911e972fe2c3411f7d5b498498ecf"
@@ -100,6 +165,16 @@
     browserslist "^4.16.6"
     semver "^6.3.0"
 
+"@babel/helper-compilation-targets@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b"
+  integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==
+  dependencies:
+    "@babel/compat-data" "^7.16.4"
+    "@babel/helper-validator-option" "^7.16.7"
+    browserslist "^4.17.5"
+    semver "^6.3.0"
+
 "@babel/helper-create-class-features-plugin@^7.13.0", "@babel/helper-create-class-features-plugin@^7.14.6":
   version "7.14.6"
   resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.6.tgz#f114469b6c06f8b5c59c6c4e74621f5085362542"
@@ -112,6 +187,19 @@
     "@babel/helper-replace-supers" "^7.14.5"
     "@babel/helper-split-export-declaration" "^7.14.5"
 
+"@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7":
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.0.tgz#3ba0eae83313d4077319d11a768c46adad026433"
+  integrity sha512-S3+IHG72pJFb0RmJgeXg/TjVKt641ZsLla028haXJjdqCf9eccE5r1JsdO//L7nzTDzXjtC+hwV/lrkEb2+t0Q==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.16.7"
+    "@babel/helper-environment-visitor" "^7.16.7"
+    "@babel/helper-function-name" "^7.16.7"
+    "@babel/helper-member-expression-to-functions" "^7.16.7"
+    "@babel/helper-optimise-call-expression" "^7.16.7"
+    "@babel/helper-replace-supers" "^7.16.7"
+    "@babel/helper-split-export-declaration" "^7.16.7"
+
 "@babel/helper-create-regexp-features-plugin@^7.12.13":
   version "7.14.3"
   resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.3.tgz#149aa6d78c016e318c43e2409a0ae9c136a86688"
@@ -120,6 +208,14 @@
     "@babel/helper-annotate-as-pure" "^7.12.13"
     regexpu-core "^4.7.1"
 
+"@babel/helper-create-regexp-features-plugin@^7.16.7":
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz#1dcc7d40ba0c6b6b25618997c5dbfd310f186fe1"
+  integrity sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.16.7"
+    regexpu-core "^5.0.1"
+
 "@babel/helper-define-polyfill-provider@^0.1.5":
   version "0.1.5"
   resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.5.tgz#3c2f91b7971b9fc11fe779c945c014065dea340e"
@@ -134,6 +230,27 @@
     resolve "^1.14.2"
     semver "^6.1.2"
 
+"@babel/helper-define-polyfill-provider@^0.3.1":
+  version "0.3.1"
+  resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665"
+  integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==
+  dependencies:
+    "@babel/helper-compilation-targets" "^7.13.0"
+    "@babel/helper-module-imports" "^7.12.13"
+    "@babel/helper-plugin-utils" "^7.13.0"
+    "@babel/traverse" "^7.13.0"
+    debug "^4.1.1"
+    lodash.debounce "^4.0.8"
+    resolve "^1.14.2"
+    semver "^6.1.2"
+
+"@babel/helper-environment-visitor@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7"
+  integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==
+  dependencies:
+    "@babel/types" "^7.16.7"
+
 "@babel/helper-explode-assignable-expression@^7.12.13":
   version "7.13.0"
   resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz#17b5c59ff473d9f956f40ef570cf3a76ca12657f"
@@ -141,6 +258,13 @@
   dependencies:
     "@babel/types" "^7.13.0"
 
+"@babel/helper-explode-assignable-expression@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a"
+  integrity sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==
+  dependencies:
+    "@babel/types" "^7.16.7"
+
 "@babel/helper-function-name@^7.12.13", "@babel/helper-function-name@^7.14.5":
   version "7.14.5"
   resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz#89e2c474972f15d8e233b52ee8c480e2cfcd50c4"
@@ -150,6 +274,15 @@
     "@babel/template" "^7.14.5"
     "@babel/types" "^7.14.5"
 
+"@babel/helper-function-name@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f"
+  integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==
+  dependencies:
+    "@babel/helper-get-function-arity" "^7.16.7"
+    "@babel/template" "^7.16.7"
+    "@babel/types" "^7.16.7"
+
 "@babel/helper-get-function-arity@^7.14.5":
   version "7.14.5"
   resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815"
@@ -157,6 +290,13 @@
   dependencies:
     "@babel/types" "^7.14.5"
 
+"@babel/helper-get-function-arity@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419"
+  integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==
+  dependencies:
+    "@babel/types" "^7.16.7"
+
 "@babel/helper-hoist-variables@^7.13.0", "@babel/helper-hoist-variables@^7.14.5":
   version "7.14.5"
   resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz#e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d"
@@ -164,6 +304,13 @@
   dependencies:
     "@babel/types" "^7.14.5"
 
+"@babel/helper-hoist-variables@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246"
+  integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==
+  dependencies:
+    "@babel/types" "^7.16.7"
+
 "@babel/helper-member-expression-to-functions@^7.14.5":
   version "7.14.7"
   resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz#97e56244beb94211fe277bd818e3a329c66f7970"
@@ -171,6 +318,13 @@
   dependencies:
     "@babel/types" "^7.14.5"
 
+"@babel/helper-member-expression-to-functions@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz#42b9ca4b2b200123c3b7e726b0ae5153924905b0"
+  integrity sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==
+  dependencies:
+    "@babel/types" "^7.16.7"
+
 "@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.13.12":
   version "7.13.12"
   resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz#c6a369a6f3621cb25da014078684da9196b61977"
@@ -178,6 +332,13 @@
   dependencies:
     "@babel/types" "^7.13.12"
 
+"@babel/helper-module-imports@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437"
+  integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==
+  dependencies:
+    "@babel/types" "^7.16.7"
+
 "@babel/helper-module-transforms@^7.13.0":
   version "7.13.0"
   resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.13.0.tgz#42eb4bd8eea68bab46751212c357bfed8b40f6f1"
@@ -193,6 +354,20 @@
     "@babel/types" "^7.13.0"
     lodash "^4.17.19"
 
+"@babel/helper-module-transforms@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz#7665faeb721a01ca5327ddc6bba15a5cb34b6a41"
+  integrity sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==
+  dependencies:
+    "@babel/helper-environment-visitor" "^7.16.7"
+    "@babel/helper-module-imports" "^7.16.7"
+    "@babel/helper-simple-access" "^7.16.7"
+    "@babel/helper-split-export-declaration" "^7.16.7"
+    "@babel/helper-validator-identifier" "^7.16.7"
+    "@babel/template" "^7.16.7"
+    "@babel/traverse" "^7.16.7"
+    "@babel/types" "^7.16.7"
+
 "@babel/helper-optimise-call-expression@^7.12.13", "@babel/helper-optimise-call-expression@^7.14.5":
   version "7.14.5"
   resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz#f27395a8619e0665b3f0364cddb41c25d71b499c"
@@ -200,11 +375,23 @@
   dependencies:
     "@babel/types" "^7.14.5"
 
+"@babel/helper-optimise-call-expression@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2"
+  integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==
+  dependencies:
+    "@babel/types" "^7.16.7"
+
 "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
   version "7.14.5"
   resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9"
   integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==
 
+"@babel/helper-plugin-utils@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5"
+  integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==
+
 "@babel/helper-remap-async-to-generator@^7.13.0":
   version "7.13.0"
   resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz#376a760d9f7b4b2077a9dd05aa9c3927cadb2209"
@@ -214,6 +401,15 @@
     "@babel/helper-wrap-function" "^7.13.0"
     "@babel/types" "^7.13.0"
 
+"@babel/helper-remap-async-to-generator@^7.16.8":
+  version "7.16.8"
+  resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3"
+  integrity sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.16.7"
+    "@babel/helper-wrap-function" "^7.16.8"
+    "@babel/types" "^7.16.8"
+
 "@babel/helper-replace-supers@^7.12.13", "@babel/helper-replace-supers@^7.13.0", "@babel/helper-replace-supers@^7.14.5":
   version "7.14.5"
   resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz#0ecc0b03c41cd567b4024ea016134c28414abb94"
@@ -224,6 +420,17 @@
     "@babel/traverse" "^7.14.5"
     "@babel/types" "^7.14.5"
 
+"@babel/helper-replace-supers@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz#e9f5f5f32ac90429c1a4bdec0f231ef0c2838ab1"
+  integrity sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==
+  dependencies:
+    "@babel/helper-environment-visitor" "^7.16.7"
+    "@babel/helper-member-expression-to-functions" "^7.16.7"
+    "@babel/helper-optimise-call-expression" "^7.16.7"
+    "@babel/traverse" "^7.16.7"
+    "@babel/types" "^7.16.7"
+
 "@babel/helper-simple-access@^7.12.13":
   version "7.13.12"
   resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz#dd6c538afb61819d205a012c31792a39c7a5eaf6"
@@ -231,6 +438,13 @@
   dependencies:
     "@babel/types" "^7.13.12"
 
+"@babel/helper-simple-access@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz#d656654b9ea08dbb9659b69d61063ccd343ff0f7"
+  integrity sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==
+  dependencies:
+    "@babel/types" "^7.16.7"
+
 "@babel/helper-skip-transparent-expression-wrappers@^7.12.1":
   version "7.12.1"
   resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf"
@@ -238,6 +452,13 @@
   dependencies:
     "@babel/types" "^7.12.1"
 
+"@babel/helper-skip-transparent-expression-wrappers@^7.16.0":
+  version "7.16.0"
+  resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09"
+  integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==
+  dependencies:
+    "@babel/types" "^7.16.0"
+
 "@babel/helper-split-export-declaration@^7.12.13", "@babel/helper-split-export-declaration@^7.14.5":
   version "7.14.5"
   resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz#22b23a54ef51c2b7605d851930c1976dd0bc693a"
@@ -245,16 +466,33 @@
   dependencies:
     "@babel/types" "^7.14.5"
 
+"@babel/helper-split-export-declaration@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b"
+  integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==
+  dependencies:
+    "@babel/types" "^7.16.7"
+
 "@babel/helper-validator-identifier@^7.12.11", "@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.9":
   version "7.14.9"
   resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz#6654d171b2024f6d8ee151bf2509699919131d48"
   integrity sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==
 
+"@babel/helper-validator-identifier@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad"
+  integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==
+
 "@babel/helper-validator-option@^7.12.17", "@babel/helper-validator-option@^7.14.5":
   version "7.14.5"
   resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3"
   integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==
 
+"@babel/helper-validator-option@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23"
+  integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==
+
 "@babel/helper-wrap-function@^7.13.0":
   version "7.13.0"
   resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz#bdb5c66fda8526ec235ab894ad53a1235c79fcc4"
@@ -265,6 +503,16 @@
     "@babel/traverse" "^7.13.0"
     "@babel/types" "^7.13.0"
 
+"@babel/helper-wrap-function@^7.16.8":
+  version "7.16.8"
+  resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz#58afda087c4cd235de92f7ceedebca2c41274200"
+  integrity sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==
+  dependencies:
+    "@babel/helper-function-name" "^7.16.7"
+    "@babel/template" "^7.16.7"
+    "@babel/traverse" "^7.16.8"
+    "@babel/types" "^7.16.8"
+
 "@babel/helpers@^7.13.0":
   version "7.13.0"
   resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.13.0.tgz#7647ae57377b4f0408bf4f8a7af01c42e41badc0"
@@ -274,6 +522,15 @@
     "@babel/traverse" "^7.13.0"
     "@babel/types" "^7.13.0"
 
+"@babel/helpers@^7.17.0":
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.0.tgz#79cdf6c66a579f3a7b5e739371bc63ca0306886b"
+  integrity sha512-Xe/9NFxjPwELUvW2dsukcMZIp6XwPSbI4ojFBJuX5ramHuVE22SVcZIwqzdWo5uCgeTXW8qV97lMvSOjq+1+nQ==
+  dependencies:
+    "@babel/template" "^7.16.7"
+    "@babel/traverse" "^7.17.0"
+    "@babel/types" "^7.17.0"
+
 "@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13", "@babel/highlight@^7.14.5":
   version "7.14.5"
   resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9"
@@ -283,11 +540,41 @@
     chalk "^2.0.0"
     js-tokens "^4.0.0"
 
+"@babel/highlight@^7.16.7":
+  version "7.16.10"
+  resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88"
+  integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==
+  dependencies:
+    "@babel/helper-validator-identifier" "^7.16.7"
+    chalk "^2.0.0"
+    js-tokens "^4.0.0"
+
 "@babel/parser@^7.13.4", "@babel/parser@^7.14.5", "@babel/parser@^7.14.7":
   version "7.14.7"
   resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.7.tgz#6099720c8839ca865a2637e6c85852ead0bdb595"
   integrity sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==
 
+"@babel/parser@^7.16.7", "@babel/parser@^7.17.0":
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.0.tgz#f0ac33eddbe214e4105363bb17c3341c5ffcc43c"
+  integrity sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw==
+
+"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050"
+  integrity sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz#cc001234dfc139ac45f6bcf801866198c8c72ff9"
+  integrity sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0"
+    "@babel/plugin-proposal-optional-chaining" "^7.16.7"
+
 "@babel/plugin-proposal-async-generator-functions@^7.13.8":
   version "7.13.8"
   resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.8.tgz#87aacb574b3bc4b5603f6fe41458d72a5a2ec4b1"
@@ -297,6 +584,15 @@
     "@babel/helper-remap-async-to-generator" "^7.13.0"
     "@babel/plugin-syntax-async-generators" "^7.8.4"
 
+"@babel/plugin-proposal-async-generator-functions@^7.16.8":
+  version "7.16.8"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz#3bdd1ebbe620804ea9416706cd67d60787504bc8"
+  integrity sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/helper-remap-async-to-generator" "^7.16.8"
+    "@babel/plugin-syntax-async-generators" "^7.8.4"
+
 "@babel/plugin-proposal-class-properties@^7.10.4", "@babel/plugin-proposal-class-properties@^7.13.0":
   version "7.13.0"
   resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz#146376000b94efd001e57a40a88a525afaab9f37"
@@ -305,6 +601,23 @@
     "@babel/helper-create-class-features-plugin" "^7.13.0"
     "@babel/helper-plugin-utils" "^7.13.0"
 
+"@babel/plugin-proposal-class-properties@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0"
+  integrity sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==
+  dependencies:
+    "@babel/helper-create-class-features-plugin" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-proposal-class-static-block@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz#712357570b612106ef5426d13dc433ce0f200c2a"
+  integrity sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw==
+  dependencies:
+    "@babel/helper-create-class-features-plugin" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/plugin-syntax-class-static-block" "^7.14.5"
+
 "@babel/plugin-proposal-dynamic-import@^7.13.8":
   version "7.13.8"
   resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.13.8.tgz#876a1f6966e1dec332e8c9451afda3bebcdf2e1d"
@@ -313,6 +626,14 @@
     "@babel/helper-plugin-utils" "^7.13.0"
     "@babel/plugin-syntax-dynamic-import" "^7.8.3"
 
+"@babel/plugin-proposal-dynamic-import@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2"
+  integrity sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+
 "@babel/plugin-proposal-export-namespace-from@^7.12.13":
   version "7.14.2"
   resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.2.tgz#62542f94aa9ce8f6dba79eec698af22112253791"
@@ -321,6 +642,14 @@
     "@babel/helper-plugin-utils" "^7.13.0"
     "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
 
+"@babel/plugin-proposal-export-namespace-from@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz#09de09df18445a5786a305681423ae63507a6163"
+  integrity sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
+
 "@babel/plugin-proposal-json-strings@^7.13.8":
   version "7.13.8"
   resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.13.8.tgz#bf1fb362547075afda3634ed31571c5901afef7b"
@@ -329,6 +658,14 @@
     "@babel/helper-plugin-utils" "^7.13.0"
     "@babel/plugin-syntax-json-strings" "^7.8.3"
 
+"@babel/plugin-proposal-json-strings@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz#9732cb1d17d9a2626a08c5be25186c195b6fa6e8"
+  integrity sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/plugin-syntax-json-strings" "^7.8.3"
+
 "@babel/plugin-proposal-logical-assignment-operators@^7.13.8":
   version "7.13.8"
   resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.13.8.tgz#93fa78d63857c40ce3c8c3315220fd00bfbb4e1a"
@@ -337,6 +674,14 @@
     "@babel/helper-plugin-utils" "^7.13.0"
     "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
 
+"@babel/plugin-proposal-logical-assignment-operators@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz#be23c0ba74deec1922e639832904be0bea73cdea"
+  integrity sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
+
 "@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8":
   version "7.13.8"
   resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz#3730a31dafd3c10d8ccd10648ed80a2ac5472ef3"
@@ -345,6 +690,14 @@
     "@babel/helper-plugin-utils" "^7.13.0"
     "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
 
+"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz#141fc20b6857e59459d430c850a0011e36561d99"
+  integrity sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
+
 "@babel/plugin-proposal-numeric-separator@^7.12.13":
   version "7.14.2"
   resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.2.tgz#82b4cc06571143faf50626104b335dd71baa4f9e"
@@ -353,6 +706,14 @@
     "@babel/helper-plugin-utils" "^7.13.0"
     "@babel/plugin-syntax-numeric-separator" "^7.10.4"
 
+"@babel/plugin-proposal-numeric-separator@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9"
+  integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/plugin-syntax-numeric-separator" "^7.10.4"
+
 "@babel/plugin-proposal-object-rest-spread@^7.10.1", "@babel/plugin-proposal-object-rest-spread@^7.13.8":
   version "7.14.7"
   resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz#5920a2b3df7f7901df0205974c0641b13fd9d363"
@@ -364,6 +725,17 @@
     "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
     "@babel/plugin-transform-parameters" "^7.14.5"
 
+"@babel/plugin-proposal-object-rest-spread@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz#94593ef1ddf37021a25bdcb5754c4a8d534b01d8"
+  integrity sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA==
+  dependencies:
+    "@babel/compat-data" "^7.16.4"
+    "@babel/helper-compilation-targets" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+    "@babel/plugin-transform-parameters" "^7.16.7"
+
 "@babel/plugin-proposal-optional-catch-binding@^7.13.8":
   version "7.13.8"
   resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz#3ad6bd5901506ea996fc31bdcf3ccfa2bed71107"
@@ -372,6 +744,14 @@
     "@babel/helper-plugin-utils" "^7.13.0"
     "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
 
+"@babel/plugin-proposal-optional-catch-binding@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf"
+  integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+
 "@babel/plugin-proposal-optional-chaining@^7.13.8":
   version "7.13.8"
   resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.8.tgz#e39df93efe7e7e621841babc197982e140e90756"
@@ -381,6 +761,15 @@
     "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1"
     "@babel/plugin-syntax-optional-chaining" "^7.8.3"
 
+"@babel/plugin-proposal-optional-chaining@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz#7cd629564724816c0e8a969535551f943c64c39a"
+  integrity sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0"
+    "@babel/plugin-syntax-optional-chaining" "^7.8.3"
+
 "@babel/plugin-proposal-private-methods@^7.13.0":
   version "7.13.0"
   resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz#04bd4c6d40f6e6bbfa2f57e2d8094bad900ef787"
@@ -389,6 +778,24 @@
     "@babel/helper-create-class-features-plugin" "^7.13.0"
     "@babel/helper-plugin-utils" "^7.13.0"
 
+"@babel/plugin-proposal-private-methods@^7.16.11":
+  version "7.16.11"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz#e8df108288555ff259f4527dbe84813aac3a1c50"
+  integrity sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==
+  dependencies:
+    "@babel/helper-create-class-features-plugin" "^7.16.10"
+    "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-proposal-private-property-in-object@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz#b0b8cef543c2c3d57e59e2c611994861d46a3fce"
+  integrity sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.16.7"
+    "@babel/helper-create-class-features-plugin" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
+
 "@babel/plugin-proposal-unicode-property-regex@^7.12.13", "@babel/plugin-proposal-unicode-property-regex@^7.4.4":
   version "7.12.13"
   resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz#bebde51339be829c17aaaaced18641deb62b39ba"
@@ -397,6 +804,14 @@
     "@babel/helper-create-regexp-features-plugin" "^7.12.13"
     "@babel/helper-plugin-utils" "^7.12.13"
 
+"@babel/plugin-proposal-unicode-property-regex@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz#635d18eb10c6214210ffc5ff4932552de08188a2"
+  integrity sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==
+  dependencies:
+    "@babel/helper-create-regexp-features-plugin" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-syntax-async-generators@^7.8.4":
   version "7.8.4"
   resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
@@ -411,6 +826,13 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.12.13"
 
+"@babel/plugin-syntax-class-static-block@^7.14.5":
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406"
+  integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.14.5"
+
 "@babel/plugin-syntax-dynamic-import@^7.8.3":
   version "7.8.3"
   resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3"
@@ -439,6 +861,13 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.12.13"
 
+"@babel/plugin-syntax-jsx@^7.16.0", "@babel/plugin-syntax-jsx@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz#50b6571d13f764266a113d77c82b4a6508bbe665"
+  integrity sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-syntax-logical-assignment-operators@^7.10.4":
   version "7.10.4"
   resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
@@ -481,6 +910,13 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.8.0"
 
+"@babel/plugin-syntax-private-property-in-object@^7.14.5":
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad"
+  integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.14.5"
+
 "@babel/plugin-syntax-top-level-await@^7.12.13":
   version "7.12.13"
   resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz#c5f0fa6e249f5b739727f923540cf7a806130178"
@@ -488,6 +924,13 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.12.13"
 
+"@babel/plugin-syntax-top-level-await@^7.14.5":
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c"
+  integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.14.5"
+
 "@babel/plugin-syntax-typescript@^7.14.5":
   version "7.14.5"
   resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz#b82c6ce471b165b5ce420cf92914d6fb46225716"
@@ -502,6 +945,13 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.13.0"
 
+"@babel/plugin-transform-arrow-functions@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz#44125e653d94b98db76369de9c396dc14bef4154"
+  integrity sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-transform-async-to-generator@^7.13.0":
   version "7.13.0"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz#8e112bf6771b82bf1e974e5e26806c5c99aa516f"
@@ -511,6 +961,15 @@
     "@babel/helper-plugin-utils" "^7.13.0"
     "@babel/helper-remap-async-to-generator" "^7.13.0"
 
+"@babel/plugin-transform-async-to-generator@^7.16.8":
+  version "7.16.8"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz#b83dff4b970cf41f1b819f8b49cc0cfbaa53a808"
+  integrity sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==
+  dependencies:
+    "@babel/helper-module-imports" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/helper-remap-async-to-generator" "^7.16.8"
+
 "@babel/plugin-transform-block-scoped-functions@^7.12.13":
   version "7.12.13"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz#a9bf1836f2a39b4eb6cf09967739de29ea4bf4c4"
@@ -518,6 +977,13 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.12.13"
 
+"@babel/plugin-transform-block-scoped-functions@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620"
+  integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-transform-block-scoping@^7.12.13":
   version "7.14.2"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.2.tgz#761cb12ab5a88d640ad4af4aa81f820e6b5fdf5c"
@@ -525,6 +991,13 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.13.0"
 
+"@babel/plugin-transform-block-scoping@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz#f50664ab99ddeaee5bc681b8f3a6ea9d72ab4f87"
+  integrity sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-transform-classes@^7.13.0":
   version "7.13.0"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz#0265155075c42918bf4d3a4053134176ad9b533b"
@@ -538,6 +1011,20 @@
     "@babel/helper-split-export-declaration" "^7.12.13"
     globals "^11.1.0"
 
+"@babel/plugin-transform-classes@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz#8f4b9562850cd973de3b498f1218796eb181ce00"
+  integrity sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.16.7"
+    "@babel/helper-environment-visitor" "^7.16.7"
+    "@babel/helper-function-name" "^7.16.7"
+    "@babel/helper-optimise-call-expression" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/helper-replace-supers" "^7.16.7"
+    "@babel/helper-split-export-declaration" "^7.16.7"
+    globals "^11.1.0"
+
 "@babel/plugin-transform-computed-properties@^7.13.0":
   version "7.13.0"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz#845c6e8b9bb55376b1fa0b92ef0bdc8ea06644ed"
@@ -545,6 +1032,13 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.13.0"
 
+"@babel/plugin-transform-computed-properties@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz#66dee12e46f61d2aae7a73710f591eb3df616470"
+  integrity sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-transform-destructuring@^7.13.0":
   version "7.13.0"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.0.tgz#c5dce270014d4e1ebb1d806116694c12b7028963"
@@ -552,6 +1046,13 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.13.0"
 
+"@babel/plugin-transform-destructuring@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz#ca9588ae2d63978a4c29d3f33282d8603f618e23"
+  integrity sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-transform-dotall-regex@^7.12.13", "@babel/plugin-transform-dotall-regex@^7.4.4":
   version "7.12.13"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz#3f1601cc29905bfcb67f53910f197aeafebb25ad"
@@ -560,6 +1061,14 @@
     "@babel/helper-create-regexp-features-plugin" "^7.12.13"
     "@babel/helper-plugin-utils" "^7.12.13"
 
+"@babel/plugin-transform-dotall-regex@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241"
+  integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==
+  dependencies:
+    "@babel/helper-create-regexp-features-plugin" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-transform-duplicate-keys@^7.12.13":
   version "7.12.13"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz#6f06b87a8b803fd928e54b81c258f0a0033904de"
@@ -567,6 +1076,13 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.12.13"
 
+"@babel/plugin-transform-duplicate-keys@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz#2207e9ca8f82a0d36a5a67b6536e7ef8b08823c9"
+  integrity sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-transform-exponentiation-operator@^7.12.13":
   version "7.12.13"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz#4d52390b9a273e651e4aba6aee49ef40e80cd0a1"
@@ -575,6 +1091,14 @@
     "@babel/helper-builder-binary-assignment-operator-visitor" "^7.12.13"
     "@babel/helper-plugin-utils" "^7.12.13"
 
+"@babel/plugin-transform-exponentiation-operator@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b"
+  integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==
+  dependencies:
+    "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-transform-for-of@^7.13.0":
   version "7.13.0"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz#c799f881a8091ac26b54867a845c3e97d2696062"
@@ -582,6 +1106,13 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.13.0"
 
+"@babel/plugin-transform-for-of@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz#649d639d4617dff502a9a158c479b3b556728d8c"
+  integrity sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-transform-function-name@^7.12.13":
   version "7.12.13"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz#bb024452f9aaed861d374c8e7a24252ce3a50051"
@@ -590,6 +1121,15 @@
     "@babel/helper-function-name" "^7.12.13"
     "@babel/helper-plugin-utils" "^7.12.13"
 
+"@babel/plugin-transform-function-name@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf"
+  integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==
+  dependencies:
+    "@babel/helper-compilation-targets" "^7.16.7"
+    "@babel/helper-function-name" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-transform-literals@^7.12.13":
   version "7.12.13"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz#2ca45bafe4a820197cf315794a4d26560fe4bdb9"
@@ -597,6 +1137,13 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.12.13"
 
+"@babel/plugin-transform-literals@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz#254c9618c5ff749e87cb0c0cef1a0a050c0bdab1"
+  integrity sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-transform-member-expression-literals@^7.12.13":
   version "7.12.13"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz#5ffa66cd59b9e191314c9f1f803b938e8c081e40"
@@ -604,6 +1151,13 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.12.13"
 
+"@babel/plugin-transform-member-expression-literals@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384"
+  integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-transform-modules-amd@^7.13.0":
   version "7.13.0"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz#19f511d60e3d8753cc5a6d4e775d3a5184866cc3"
@@ -613,6 +1167,15 @@
     "@babel/helper-plugin-utils" "^7.13.0"
     babel-plugin-dynamic-import-node "^2.3.3"
 
+"@babel/plugin-transform-modules-amd@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz#b28d323016a7daaae8609781d1f8c9da42b13186"
+  integrity sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==
+  dependencies:
+    "@babel/helper-module-transforms" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+    babel-plugin-dynamic-import-node "^2.3.3"
+
 "@babel/plugin-transform-modules-commonjs@^7.13.8":
   version "7.13.8"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz#7b01ad7c2dcf2275b06fa1781e00d13d420b3e1b"
@@ -623,6 +1186,16 @@
     "@babel/helper-simple-access" "^7.12.13"
     babel-plugin-dynamic-import-node "^2.3.3"
 
+"@babel/plugin-transform-modules-commonjs@^7.16.8":
+  version "7.16.8"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz#cdee19aae887b16b9d331009aa9a219af7c86afe"
+  integrity sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==
+  dependencies:
+    "@babel/helper-module-transforms" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/helper-simple-access" "^7.16.7"
+    babel-plugin-dynamic-import-node "^2.3.3"
+
 "@babel/plugin-transform-modules-systemjs@^7.13.8":
   version "7.13.8"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz#6d066ee2bff3c7b3d60bf28dec169ad993831ae3"
@@ -634,6 +1207,17 @@
     "@babel/helper-validator-identifier" "^7.12.11"
     babel-plugin-dynamic-import-node "^2.3.3"
 
+"@babel/plugin-transform-modules-systemjs@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz#887cefaef88e684d29558c2b13ee0563e287c2d7"
+  integrity sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==
+  dependencies:
+    "@babel/helper-hoist-variables" "^7.16.7"
+    "@babel/helper-module-transforms" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/helper-validator-identifier" "^7.16.7"
+    babel-plugin-dynamic-import-node "^2.3.3"
+
 "@babel/plugin-transform-modules-umd@^7.13.0":
   version "7.13.0"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz#8a3d96a97d199705b9fd021580082af81c06e70b"
@@ -642,6 +1226,14 @@
     "@babel/helper-module-transforms" "^7.13.0"
     "@babel/helper-plugin-utils" "^7.13.0"
 
+"@babel/plugin-transform-modules-umd@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz#23dad479fa585283dbd22215bff12719171e7618"
+  integrity sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==
+  dependencies:
+    "@babel/helper-module-transforms" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-transform-named-capturing-groups-regex@^7.12.13":
   version "7.12.13"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz#2213725a5f5bbbe364b50c3ba5998c9599c5c9d9"
@@ -649,6 +1241,13 @@
   dependencies:
     "@babel/helper-create-regexp-features-plugin" "^7.12.13"
 
+"@babel/plugin-transform-named-capturing-groups-regex@^7.16.8":
+  version "7.16.8"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz#7f860e0e40d844a02c9dcf9d84965e7dfd666252"
+  integrity sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==
+  dependencies:
+    "@babel/helper-create-regexp-features-plugin" "^7.16.7"
+
 "@babel/plugin-transform-new-target@^7.12.13":
   version "7.12.13"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz#e22d8c3af24b150dd528cbd6e685e799bf1c351c"
@@ -656,6 +1255,13 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.12.13"
 
+"@babel/plugin-transform-new-target@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz#9967d89a5c243818e0800fdad89db22c5f514244"
+  integrity sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-transform-object-super@^7.12.13":
   version "7.12.13"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz#b4416a2d63b8f7be314f3d349bd55a9c1b5171f7"
@@ -664,6 +1270,14 @@
     "@babel/helper-plugin-utils" "^7.12.13"
     "@babel/helper-replace-supers" "^7.12.13"
 
+"@babel/plugin-transform-object-super@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94"
+  integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/helper-replace-supers" "^7.16.7"
+
 "@babel/plugin-transform-parameters@^7.13.0", "@babel/plugin-transform-parameters@^7.14.5":
   version "7.14.5"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz#49662e86a1f3ddccac6363a7dfb1ff0a158afeb3"
@@ -671,6 +1285,13 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.14.5"
 
+"@babel/plugin-transform-parameters@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f"
+  integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-transform-property-literals@^7.12.13":
   version "7.12.13"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz#4e6a9e37864d8f1b3bc0e2dce7bf8857db8b1a81"
@@ -678,6 +1299,20 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.12.13"
 
+"@babel/plugin-transform-property-literals@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55"
+  integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+
+"@babel/plugin-transform-react-constant-elements@^7.12.1":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.16.7.tgz#19e9e4c2df2f6c3e6b3aea11778297d81db8df62"
+  integrity sha512-lF+cfsyTgwWkcw715J88JhMYJ5GpysYNLhLP1PkvkhTRN7B3e74R/1KsDxFxhRpSn0UUD3IWM4GvdBR2PEbbQQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-transform-react-display-name@^7.12.13":
   version "7.14.2"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.14.2.tgz#2e854544d42ab3bb9c21f84e153d62e800fbd593"
@@ -685,6 +1320,13 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.13.0"
 
+"@babel/plugin-transform-react-display-name@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz#7b6d40d232f4c0f550ea348593db3b21e2404340"
+  integrity sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-transform-react-jsx-development@^7.12.17":
   version "7.12.17"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.17.tgz#f510c0fa7cd7234153539f9a362ced41a5ca1447"
@@ -692,6 +1334,13 @@
   dependencies:
     "@babel/plugin-transform-react-jsx" "^7.12.17"
 
+"@babel/plugin-transform-react-jsx-development@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz#43a00724a3ed2557ed3f276a01a929e6686ac7b8"
+  integrity sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==
+  dependencies:
+    "@babel/plugin-transform-react-jsx" "^7.16.7"
+
 "@babel/plugin-transform-react-jsx@^7.12.17", "@babel/plugin-transform-react-jsx@^7.13.12":
   version "7.13.12"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.13.12.tgz#1df5dfaf0f4b784b43e96da6f28d630e775f68b3"
@@ -703,6 +1352,17 @@
     "@babel/plugin-syntax-jsx" "^7.12.13"
     "@babel/types" "^7.13.12"
 
+"@babel/plugin-transform-react-jsx@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.7.tgz#86a6a220552afd0e4e1f0388a68a372be7add0d4"
+  integrity sha512-8D16ye66fxiE8m890w0BpPpngG9o9OVBBy0gH2E+2AR7qMR2ZpTYJEqLxAsoroenMId0p/wMW+Blc0meDgu0Ag==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.16.7"
+    "@babel/helper-module-imports" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/plugin-syntax-jsx" "^7.16.7"
+    "@babel/types" "^7.16.7"
+
 "@babel/plugin-transform-react-pure-annotations@^7.12.1":
   version "7.12.1"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz#05d46f0ab4d1339ac59adf20a1462c91b37a1a42"
@@ -711,6 +1371,14 @@
     "@babel/helper-annotate-as-pure" "^7.10.4"
     "@babel/helper-plugin-utils" "^7.10.4"
 
+"@babel/plugin-transform-react-pure-annotations@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.7.tgz#232bfd2f12eb551d6d7d01d13fe3f86b45eb9c67"
+  integrity sha512-hs71ToC97k3QWxswh2ElzMFABXHvGiJ01IB1TbYQDGeWRKWz/MPUTh5jGExdHvosYKpnJW5Pm3S4+TA3FyX+GA==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-transform-regenerator@^7.12.13":
   version "7.13.15"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz#e5eb28945bf8b6563e7f818945f966a8d2997f39"
@@ -718,6 +1386,13 @@
   dependencies:
     regenerator-transform "^0.14.2"
 
+"@babel/plugin-transform-regenerator@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz#9e7576dc476cb89ccc5096fff7af659243b4adeb"
+  integrity sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==
+  dependencies:
+    regenerator-transform "^0.14.2"
+
 "@babel/plugin-transform-reserved-words@^7.12.13":
   version "7.12.13"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz#7d9988d4f06e0fe697ea1d9803188aa18b472695"
@@ -725,6 +1400,13 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.12.13"
 
+"@babel/plugin-transform-reserved-words@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz#1d798e078f7c5958eec952059c460b220a63f586"
+  integrity sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-transform-shorthand-properties@^7.12.13":
   version "7.12.13"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz#db755732b70c539d504c6390d9ce90fe64aff7ad"
@@ -732,6 +1414,13 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.12.13"
 
+"@babel/plugin-transform-shorthand-properties@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a"
+  integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-transform-spread@^7.13.0":
   version "7.13.0"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz#84887710e273c1815ace7ae459f6f42a5d31d5fd"
@@ -740,6 +1429,14 @@
     "@babel/helper-plugin-utils" "^7.13.0"
     "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1"
 
+"@babel/plugin-transform-spread@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44"
+  integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0"
+
 "@babel/plugin-transform-sticky-regex@^7.12.13":
   version "7.12.13"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz#760ffd936face73f860ae646fb86ee82f3d06d1f"
@@ -747,6 +1444,13 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.12.13"
 
+"@babel/plugin-transform-sticky-regex@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660"
+  integrity sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-transform-template-literals@^7.13.0":
   version "7.13.0"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz#a36049127977ad94438dee7443598d1cefdf409d"
@@ -754,6 +1458,13 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.13.0"
 
+"@babel/plugin-transform-template-literals@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz#f3d1c45d28967c8e80f53666fc9c3e50618217ab"
+  integrity sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-transform-typeof-symbol@^7.12.13":
   version "7.12.13"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz#785dd67a1f2ea579d9c2be722de8c84cb85f5a7f"
@@ -761,6 +1472,13 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.12.13"
 
+"@babel/plugin-transform-typeof-symbol@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz#9cdbe622582c21368bd482b660ba87d5545d4f7e"
+  integrity sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-transform-typescript@^7.14.5":
   version "7.14.6"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.14.6.tgz#6e9c2d98da2507ebe0a883b100cde3c7279df36c"
@@ -777,6 +1495,13 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.12.13"
 
+"@babel/plugin-transform-unicode-escapes@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3"
+  integrity sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/plugin-transform-unicode-regex@^7.12.13":
   version "7.12.13"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz#b52521685804e155b1202e83fc188d34bb70f5ac"
@@ -785,6 +1510,14 @@
     "@babel/helper-create-regexp-features-plugin" "^7.12.13"
     "@babel/helper-plugin-utils" "^7.12.13"
 
+"@babel/plugin-transform-unicode-regex@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2"
+  integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==
+  dependencies:
+    "@babel/helper-create-regexp-features-plugin" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+
 "@babel/preset-env@^7.10.2":
   version "7.13.9"
   resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.13.9.tgz#3ee5f233316b10d066d7f379c6d1e13a96853654"
@@ -859,6 +1592,86 @@
     core-js-compat "^3.9.0"
     semver "^6.3.0"
 
+"@babel/preset-env@^7.12.1":
+  version "7.16.11"
+  resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.11.tgz#5dd88fd885fae36f88fd7c8342475c9f0abe2982"
+  integrity sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==
+  dependencies:
+    "@babel/compat-data" "^7.16.8"
+    "@babel/helper-compilation-targets" "^7.16.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/helper-validator-option" "^7.16.7"
+    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.7"
+    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.7"
+    "@babel/plugin-proposal-async-generator-functions" "^7.16.8"
+    "@babel/plugin-proposal-class-properties" "^7.16.7"
+    "@babel/plugin-proposal-class-static-block" "^7.16.7"
+    "@babel/plugin-proposal-dynamic-import" "^7.16.7"
+    "@babel/plugin-proposal-export-namespace-from" "^7.16.7"
+    "@babel/plugin-proposal-json-strings" "^7.16.7"
+    "@babel/plugin-proposal-logical-assignment-operators" "^7.16.7"
+    "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.7"
+    "@babel/plugin-proposal-numeric-separator" "^7.16.7"
+    "@babel/plugin-proposal-object-rest-spread" "^7.16.7"
+    "@babel/plugin-proposal-optional-catch-binding" "^7.16.7"
+    "@babel/plugin-proposal-optional-chaining" "^7.16.7"
+    "@babel/plugin-proposal-private-methods" "^7.16.11"
+    "@babel/plugin-proposal-private-property-in-object" "^7.16.7"
+    "@babel/plugin-proposal-unicode-property-regex" "^7.16.7"
+    "@babel/plugin-syntax-async-generators" "^7.8.4"
+    "@babel/plugin-syntax-class-properties" "^7.12.13"
+    "@babel/plugin-syntax-class-static-block" "^7.14.5"
+    "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+    "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
+    "@babel/plugin-syntax-json-strings" "^7.8.3"
+    "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
+    "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
+    "@babel/plugin-syntax-numeric-separator" "^7.10.4"
+    "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+    "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+    "@babel/plugin-syntax-optional-chaining" "^7.8.3"
+    "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
+    "@babel/plugin-syntax-top-level-await" "^7.14.5"
+    "@babel/plugin-transform-arrow-functions" "^7.16.7"
+    "@babel/plugin-transform-async-to-generator" "^7.16.8"
+    "@babel/plugin-transform-block-scoped-functions" "^7.16.7"
+    "@babel/plugin-transform-block-scoping" "^7.16.7"
+    "@babel/plugin-transform-classes" "^7.16.7"
+    "@babel/plugin-transform-computed-properties" "^7.16.7"
+    "@babel/plugin-transform-destructuring" "^7.16.7"
+    "@babel/plugin-transform-dotall-regex" "^7.16.7"
+    "@babel/plugin-transform-duplicate-keys" "^7.16.7"
+    "@babel/plugin-transform-exponentiation-operator" "^7.16.7"
+    "@babel/plugin-transform-for-of" "^7.16.7"
+    "@babel/plugin-transform-function-name" "^7.16.7"
+    "@babel/plugin-transform-literals" "^7.16.7"
+    "@babel/plugin-transform-member-expression-literals" "^7.16.7"
+    "@babel/plugin-transform-modules-amd" "^7.16.7"
+    "@babel/plugin-transform-modules-commonjs" "^7.16.8"
+    "@babel/plugin-transform-modules-systemjs" "^7.16.7"
+    "@babel/plugin-transform-modules-umd" "^7.16.7"
+    "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.8"
+    "@babel/plugin-transform-new-target" "^7.16.7"
+    "@babel/plugin-transform-object-super" "^7.16.7"
+    "@babel/plugin-transform-parameters" "^7.16.7"
+    "@babel/plugin-transform-property-literals" "^7.16.7"
+    "@babel/plugin-transform-regenerator" "^7.16.7"
+    "@babel/plugin-transform-reserved-words" "^7.16.7"
+    "@babel/plugin-transform-shorthand-properties" "^7.16.7"
+    "@babel/plugin-transform-spread" "^7.16.7"
+    "@babel/plugin-transform-sticky-regex" "^7.16.7"
+    "@babel/plugin-transform-template-literals" "^7.16.7"
+    "@babel/plugin-transform-typeof-symbol" "^7.16.7"
+    "@babel/plugin-transform-unicode-escapes" "^7.16.7"
+    "@babel/plugin-transform-unicode-regex" "^7.16.7"
+    "@babel/preset-modules" "^0.1.5"
+    "@babel/types" "^7.16.8"
+    babel-plugin-polyfill-corejs2 "^0.3.0"
+    babel-plugin-polyfill-corejs3 "^0.5.0"
+    babel-plugin-polyfill-regenerator "^0.3.0"
+    core-js-compat "^3.20.2"
+    semver "^6.3.0"
+
 "@babel/preset-modules@^0.1.4":
   version "0.1.4"
   resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e"
@@ -870,6 +1683,17 @@
     "@babel/types" "^7.4.4"
     esutils "^2.0.2"
 
+"@babel/preset-modules@^0.1.5":
+  version "0.1.5"
+  resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9"
+  integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/plugin-proposal-unicode-property-regex" "^7.4.4"
+    "@babel/plugin-transform-dotall-regex" "^7.4.4"
+    "@babel/types" "^7.4.4"
+    esutils "^2.0.2"
+
 "@babel/preset-react@^7.12.13":
   version "7.13.13"
   resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.13.13.tgz#fa6895a96c50763fe693f9148568458d5a839761"
@@ -882,6 +1706,18 @@
     "@babel/plugin-transform-react-jsx-development" "^7.12.17"
     "@babel/plugin-transform-react-pure-annotations" "^7.12.1"
 
+"@babel/preset-react@^7.12.5":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.16.7.tgz#4c18150491edc69c183ff818f9f2aecbe5d93852"
+  integrity sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.16.7"
+    "@babel/helper-validator-option" "^7.16.7"
+    "@babel/plugin-transform-react-display-name" "^7.16.7"
+    "@babel/plugin-transform-react-jsx" "^7.16.7"
+    "@babel/plugin-transform-react-jsx-development" "^7.16.7"
+    "@babel/plugin-transform-react-pure-annotations" "^7.16.7"
+
 "@babel/preset-typescript@^7.8.3":
   version "7.14.5"
   resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.14.5.tgz#aa98de119cf9852b79511f19e7f44a2d379bcce0"
@@ -898,6 +1734,13 @@
   dependencies:
     regenerator-runtime "^0.13.4"
 
+"@babel/runtime@^7.10.1", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5":
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.0.tgz#b8d142fc0f7664fb3d9b5833fd40dcbab89276c0"
+  integrity sha512-etcO/ohMNaNA2UBdaXBBSX/3aEzFMRrVfaPv8Ptc0k+cWpWW0QFiGZ2XnVqQZI1Cf734LbPGmqBKWESfW4x/dQ==
+  dependencies:
+    regenerator-runtime "^0.13.4"
+
 "@babel/template@^7.12.13", "@babel/template@^7.14.5":
   version "7.14.5"
   resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4"
@@ -907,6 +1750,15 @@
     "@babel/parser" "^7.14.5"
     "@babel/types" "^7.14.5"
 
+"@babel/template@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155"
+  integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==
+  dependencies:
+    "@babel/code-frame" "^7.16.7"
+    "@babel/parser" "^7.16.7"
+    "@babel/types" "^7.16.7"
+
 "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.5", "@babel/traverse@^7.4.5":
   version "7.14.7"
   resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.7.tgz#64007c9774cfdc3abd23b0780bc18a3ce3631753"
@@ -922,6 +1774,22 @@
     debug "^4.1.0"
     globals "^11.1.0"
 
+"@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.0":
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.0.tgz#3143e5066796408ccc880a33ecd3184f3e75cd30"
+  integrity sha512-fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg==
+  dependencies:
+    "@babel/code-frame" "^7.16.7"
+    "@babel/generator" "^7.17.0"
+    "@babel/helper-environment-visitor" "^7.16.7"
+    "@babel/helper-function-name" "^7.16.7"
+    "@babel/helper-hoist-variables" "^7.16.7"
+    "@babel/helper-split-export-declaration" "^7.16.7"
+    "@babel/parser" "^7.17.0"
+    "@babel/types" "^7.17.0"
+    debug "^4.1.0"
+    globals "^11.1.0"
+
 "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.14.5", "@babel/types@^7.4.4":
   version "7.15.4"
   resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.4.tgz#74eeb86dbd6748d2741396557b9860e57fce0a0d"
@@ -930,6 +1798,19 @@
     "@babel/helper-validator-identifier" "^7.14.9"
     to-fast-properties "^2.0.0"
 
+"@babel/types@^7.12.6", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0":
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b"
+  integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==
+  dependencies:
+    "@babel/helper-validator-identifier" "^7.16.7"
+    to-fast-properties "^2.0.0"
+
+"@colors/colors@1.5.0":
+  version "1.5.0"
+  resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9"
+  integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==
+
 "@date-io/core@1.x", "@date-io/core@^1.3.13", "@date-io/core@^1.3.6":
   version "1.3.13"
   resolved "https://registry.yarnpkg.com/@date-io/core/-/core-1.3.13.tgz#90c71da493f20204b7a972929cc5c482d078b3fa"
@@ -1129,6 +2010,19 @@
   resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98"
   integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==
 
+"@jridgewell/resolve-uri@^3.0.3":
+  version "3.0.4"
+  resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.4.tgz#b876e3feefb9c8d3aa84014da28b5e52a0640d72"
+  integrity sha512-cz8HFjOFfUBtvN+NXYSFMHYRdxZMaEl0XypVrhzxBgadKIXhIkRd8aMeHhmF56Sl7SuS8OnUpQ73/k9LE4VnLg==
+
+"@jridgewell/trace-mapping@^0.2.2":
+  version "0.2.5"
+  resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.2.5.tgz#d5061cc513fd3a0a949feb56b8073989865b1abe"
+  integrity sha512-K+Eths78fXDFOvQ2hgJhCiI5s+g81r2yXmACBpbn+f2+Qt94PNoTgUcAXPT8DZkhXCsZRsHVWVtY5KIBMcpDqQ==
+  dependencies:
+    "@jridgewell/resolve-uri" "^3.0.3"
+    sourcemap-codec "1.4.8"
+
 "@material-ui/core@4.11.0":
   version "4.11.0"
   resolved "https://registry.yarnpkg.com/@material-ui/core/-/core-4.11.0.tgz#b69b26e4553c9e53f2bfaf1053e216a0af9be15a"
@@ -1328,11 +2222,127 @@
   resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd"
   integrity sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==
 
+"@socket.io/base64-arraybuffer@~1.0.2":
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz#568d9beae00b0d835f4f8c53fd55714986492e61"
+  integrity sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==
+
 "@sphinxxxx/color-conversion@^2.2.2":
   version "2.2.2"
   resolved "https://registry.yarnpkg.com/@sphinxxxx/color-conversion/-/color-conversion-2.2.2.tgz#03ecc29279e3c0c832f6185a5bfa3497858ac8ca"
   integrity sha512-XExJS3cLqgrmNBIP3bBw6+1oQ1ksGjFh0+oClDKFYpCCqx/hlqwWO5KO/S63fzUo67SxI9dMrF0y5T/Ey7h8Zw==
 
+"@svgr/babel-plugin-add-jsx-attribute@^5.4.0":
+  version "5.4.0"
+  resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz#81ef61947bb268eb9d50523446f9c638fb355906"
+  integrity sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==
+
+"@svgr/babel-plugin-remove-jsx-attribute@^5.4.0":
+  version "5.4.0"
+  resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz#6b2c770c95c874654fd5e1d5ef475b78a0a962ef"
+  integrity sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==
+
+"@svgr/babel-plugin-remove-jsx-empty-expression@^5.0.1":
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz#25621a8915ed7ad70da6cea3d0a6dbc2ea933efd"
+  integrity sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==
+
+"@svgr/babel-plugin-replace-jsx-attribute-value@^5.0.1":
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz#0b221fc57f9fcd10e91fe219e2cd0dd03145a897"
+  integrity sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==
+
+"@svgr/babel-plugin-svg-dynamic-title@^5.4.0":
+  version "5.4.0"
+  resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz#139b546dd0c3186b6e5db4fefc26cb0baea729d7"
+  integrity sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==
+
+"@svgr/babel-plugin-svg-em-dimensions@^5.4.0":
+  version "5.4.0"
+  resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz#6543f69526632a133ce5cabab965deeaea2234a0"
+  integrity sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==
+
+"@svgr/babel-plugin-transform-react-native-svg@^5.4.0":
+  version "5.4.0"
+  resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz#00bf9a7a73f1cad3948cdab1f8dfb774750f8c80"
+  integrity sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==
+
+"@svgr/babel-plugin-transform-svg-component@^5.5.0":
+  version "5.5.0"
+  resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz#583a5e2a193e214da2f3afeb0b9e8d3250126b4a"
+  integrity sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==
+
+"@svgr/babel-preset@^5.5.0":
+  version "5.5.0"
+  resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-5.5.0.tgz#8af54f3e0a8add7b1e2b0fcd5a882c55393df327"
+  integrity sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==
+  dependencies:
+    "@svgr/babel-plugin-add-jsx-attribute" "^5.4.0"
+    "@svgr/babel-plugin-remove-jsx-attribute" "^5.4.0"
+    "@svgr/babel-plugin-remove-jsx-empty-expression" "^5.0.1"
+    "@svgr/babel-plugin-replace-jsx-attribute-value" "^5.0.1"
+    "@svgr/babel-plugin-svg-dynamic-title" "^5.4.0"
+    "@svgr/babel-plugin-svg-em-dimensions" "^5.4.0"
+    "@svgr/babel-plugin-transform-react-native-svg" "^5.4.0"
+    "@svgr/babel-plugin-transform-svg-component" "^5.5.0"
+
+"@svgr/core@^5.5.0":
+  version "5.5.0"
+  resolved "https://registry.yarnpkg.com/@svgr/core/-/core-5.5.0.tgz#82e826b8715d71083120fe8f2492ec7d7874a579"
+  integrity sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==
+  dependencies:
+    "@svgr/plugin-jsx" "^5.5.0"
+    camelcase "^6.2.0"
+    cosmiconfig "^7.0.0"
+
+"@svgr/hast-util-to-babel-ast@^5.5.0":
+  version "5.5.0"
+  resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz#5ee52a9c2533f73e63f8f22b779f93cd432a5461"
+  integrity sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==
+  dependencies:
+    "@babel/types" "^7.12.6"
+
+"@svgr/plugin-jsx@^5.5.0":
+  version "5.5.0"
+  resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz#1aa8cd798a1db7173ac043466d7b52236b369000"
+  integrity sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==
+  dependencies:
+    "@babel/core" "^7.12.3"
+    "@svgr/babel-preset" "^5.5.0"
+    "@svgr/hast-util-to-babel-ast" "^5.5.0"
+    svg-parser "^2.0.2"
+
+"@svgr/plugin-svgo@^5.5.0":
+  version "5.5.0"
+  resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz#02da55d85320549324e201c7b2e53bf431fcc246"
+  integrity sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==
+  dependencies:
+    cosmiconfig "^7.0.0"
+    deepmerge "^4.2.2"
+    svgo "^1.2.2"
+
+"@svgr/webpack@^5.5.0":
+  version "5.5.0"
+  resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-5.5.0.tgz#aae858ee579f5fa8ce6c3166ef56c6a1b381b640"
+  integrity sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==
+  dependencies:
+    "@babel/core" "^7.12.3"
+    "@babel/plugin-transform-react-constant-elements" "^7.12.1"
+    "@babel/preset-env" "^7.12.1"
+    "@babel/preset-react" "^7.12.5"
+    "@svgr/core" "^5.5.0"
+    "@svgr/plugin-jsx" "^5.5.0"
+    "@svgr/plugin-svgo" "^5.5.0"
+    loader-utils "^2.0.0"
+
+"@szhsin/react-menu@^2.2.0":
+  version "2.3.3"
+  resolved "https://registry.yarnpkg.com/@szhsin/react-menu/-/react-menu-2.3.3.tgz#32974fa8c407be887b2c87cebbb3c23d32909904"
+  integrity sha512-CbZumbMZI+lWMLe6wp0nVepbEc1XQIyMZnLwQG3barQe5wLiDWUYnWbfys9759Ejt6f6d8e/B6k1ZdefkcRqUQ==
+  dependencies:
+    prop-types "^15.7.2"
+    react-transition-state "^1.1.3"
+
 "@tippyjs/react@^4.2.0":
   version "4.2.3"
   resolved "https://registry.yarnpkg.com/@tippyjs/react/-/react-4.2.3.tgz#c2dbe9eb71bd9ffa3974f9ba8e3a4a6fc1538aed"
@@ -1362,15 +2372,15 @@
   resolved "https://registry.yarnpkg.com/@types/component-emitter/-/component-emitter-1.2.10.tgz#ef5b1589b9f16544642e473db5ea5639107ef3ea"
   integrity sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg==
 
-"@types/cookie@^0.4.0":
-  version "0.4.0"
-  resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.0.tgz#14f854c0f93d326e39da6e3b6f34f7d37513d108"
-  integrity sha512-y7mImlc/rNkvCRmg8gC3/lj87S7pTUIJ6QGjwHR9WQJcFs+ZMTOaoPrkdFA/YdbuqVEmEbb5RdhVxMkAcgOnpg==
+"@types/cookie@^0.4.1":
+  version "0.4.1"
+  resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d"
+  integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==
 
-"@types/cors@^2.8.8":
-  version "2.8.10"
-  resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.10.tgz#61cc8469849e5bcdd0c7044122265c39cec10cf4"
-  integrity sha512-C7srjHiVG3Ey1nR6d511dtDkCEjxuN9W1HWAEjGq8kpcwmNM6JJkpC0xvabM7BXTG2wDq8Eu33iH9aQKa7IvLQ==
+"@types/cors@^2.8.12":
+  version "2.8.12"
+  resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080"
+  integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==
 
 "@types/eslint-scope@^3.7.0":
   version "3.7.0"
@@ -1802,6 +2812,16 @@ ajv@^8.0.1:
     require-from-string "^2.0.2"
     uri-js "^4.2.2"
 
+ajv@^8.8.2:
+  version "8.9.0"
+  resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.9.0.tgz#738019146638824dea25edcf299dcba1b0e7eb18"
+  integrity sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==
+  dependencies:
+    fast-deep-equal "^3.1.1"
+    json-schema-traverse "^1.0.0"
+    require-from-string "^2.0.2"
+    uri-js "^4.2.2"
+
 "alertifyjs@git+https://github.com/EnterpriseDB/AlertifyJS/#72c1d794f5b6d4ec13a68d123c08f19021afe263":
   version "1.7.1"
   resolved "git+https://github.com/EnterpriseDB/AlertifyJS/#72c1d794f5b6d4ec13a68d123c08f19021afe263"
@@ -1845,7 +2865,7 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0:
   dependencies:
     color-convert "^2.0.1"
 
-anymatch@~3.1.1:
+anymatch@~3.1.1, anymatch@~3.1.2:
   version "3.1.2"
   resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
   integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
@@ -2121,6 +3141,15 @@ babel-plugin-polyfill-corejs2@^0.1.4:
     "@babel/helper-define-polyfill-provider" "^0.1.5"
     semver "^6.1.1"
 
+babel-plugin-polyfill-corejs2@^0.3.0:
+  version "0.3.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5"
+  integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==
+  dependencies:
+    "@babel/compat-data" "^7.13.11"
+    "@babel/helper-define-polyfill-provider" "^0.3.1"
+    semver "^6.1.1"
+
 babel-plugin-polyfill-corejs3@^0.1.3:
   version "0.1.7"
   resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.7.tgz#80449d9d6f2274912e05d9e182b54816904befd0"
@@ -2129,6 +3158,14 @@ babel-plugin-polyfill-corejs3@^0.1.3:
     "@babel/helper-define-polyfill-provider" "^0.1.5"
     core-js-compat "^3.8.1"
 
+babel-plugin-polyfill-corejs3@^0.5.0:
+  version "0.5.2"
+  resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz#aabe4b2fa04a6e038b688c5e55d44e78cd3a5f72"
+  integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==
+  dependencies:
+    "@babel/helper-define-polyfill-provider" "^0.3.1"
+    core-js-compat "^3.21.0"
+
 babel-plugin-polyfill-regenerator@^0.1.2:
   version "0.1.6"
   resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.1.6.tgz#0fe06a026fe0faa628ccc8ba3302da0a6ce02f3f"
@@ -2136,6 +3173,13 @@ babel-plugin-polyfill-regenerator@^0.1.2:
   dependencies:
     "@babel/helper-define-polyfill-provider" "^0.1.5"
 
+babel-plugin-polyfill-regenerator@^0.3.0:
+  version "0.3.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990"
+  integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==
+  dependencies:
+    "@babel/helper-define-polyfill-provider" "^0.3.1"
+
 "babel-plugin-styled-components@>= 1":
   version "1.12.0"
   resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.12.0.tgz#1dec1676512177de6b827211e9eda5a30db4f9b9"
@@ -2415,6 +3459,11 @@ bootstrap@^4.3.1, bootstrap@^4.5.2:
   resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.6.0.tgz#97b9f29ac98f98dfa43bf7468262d84392552fd7"
   integrity sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==
 
+bowser@^2.11.0:
+  version "2.11.0"
+  resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f"
+  integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==
+
 brace-expansion@^1.1.7:
   version "1.1.11"
   resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
@@ -2423,6 +3472,11 @@ brace-expansion@^1.1.7:
     balanced-match "^1.0.0"
     concat-map "0.0.1"
 
+brace@^0.11.1:
+  version "0.11.1"
+  resolved "https://registry.yarnpkg.com/brace/-/brace-0.11.1.tgz#4896fcc9d544eef45f4bb7660db320d3b379fe58"
+  integrity sha1-SJb8ydVE7vRfS7dmDbMg07N5/lg=
+
 braces@^3.0.1, braces@^3.0.2, braces@~3.0.2:
   version "3.0.2"
   resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
@@ -2588,6 +3642,17 @@ browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.0, browserslist@^4
     escalade "^3.1.1"
     node-releases "^1.1.71"
 
+browserslist@^4.17.5, browserslist@^4.19.1:
+  version "4.19.1"
+  resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3"
+  integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==
+  dependencies:
+    caniuse-lite "^1.0.30001286"
+    electron-to-chromium "^1.4.17"
+    escalade "^3.1.1"
+    node-releases "^2.0.1"
+    picocolors "^1.0.0"
+
 buffer-alloc-unsafe@^1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0"
@@ -2702,7 +3767,7 @@ cacheable-request@^2.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=
+  integrity "sha1-hlV23+85wNan3v3nlNB49TCOPvM= sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA=="
 
 call-bind@^1.0.0, call-bind@^1.0.2:
   version "1.0.2"
@@ -2737,10 +3802,10 @@ caniuse-api@^3.0.0:
     lodash.memoize "^4.1.2"
     lodash.uniq "^4.5.0"
 
-caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001230:
-  version "1.0.30001230"
-  resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001230.tgz#8135c57459854b2240b57a4a6786044bdc5a9f71"
-  integrity sha512-5yBd5nWCBS+jWKTcHOzXwo5xzcj4ePE/yjtkZyUV1BTUmrBaA9MRGC+e7mxnqXSA90CmCA8L3eKLaSUkt099IQ==
+caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001230, caniuse-lite@^1.0.30001286:
+  version "1.0.30001309"
+  resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001309.tgz"
+  integrity sha512-Pl8vfigmBXXq+/yUz1jUwULeq9xhMJznzdc/xwl4WclDAuebcTHVefpz8lE/bMI+UN7TOkSSe7B7RnZd6+dzjA==
 
 caw@^2.0.0, caw@^2.0.1:
   version "2.0.1"
@@ -2827,7 +3892,7 @@ cheerio@^1.0.0-rc.3:
     parse5-htmlparser2-tree-adapter "^6.0.1"
     tslib "^2.2.0"
 
-"chokidar@>=2.0.0 <4.0.0", chokidar@^3.4.2:
+"chokidar@>=2.0.0 <4.0.0":
   version "3.5.1"
   resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a"
   integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==
@@ -2842,6 +3907,21 @@ cheerio@^1.0.0-rc.3:
   optionalDependencies:
     fsevents "~2.3.1"
 
+chokidar@^3.5.1:
+  version "3.5.3"
+  resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
+  integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
+  dependencies:
+    anymatch "~3.1.2"
+    braces "~3.0.2"
+    glob-parent "~5.1.2"
+    is-binary-path "~2.1.0"
+    is-glob "~4.0.1"
+    normalize-path "~3.0.0"
+    readdirp "~3.6.0"
+  optionalDependencies:
+    fsevents "~2.3.2"
+
 chownr@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece"
@@ -2865,7 +3945,7 @@ circular-json-es6@^2.0.1:
   resolved "https://registry.yarnpkg.com/circular-json-es6/-/circular-json-es6-2.0.2.tgz#e4f4a093e49fb4b6aba1157365746112a78bd344"
   integrity sha512-ODYONMMNb3p658Zv+Pp+/XPa5s6q7afhz3Tzyvo+VRh9WIrJ64J76ZC4GQxnlye/NesTn09jvOiuE8+xxfpwhQ==
 
-classnames@*, classnames@^2.2.5, classnames@^2.2.6:
+classnames@*, classnames@2.x, classnames@^2.2.1, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1:
   version "2.3.1"
   resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e"
   integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==
@@ -2970,11 +4050,6 @@ colorette@^1.2.1, colorette@^1.2.2:
   resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
   integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
 
-colors@^1.4.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78"
-  integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==
-
 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"
@@ -3104,6 +4179,13 @@ cookie@~0.4.1:
   resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1"
   integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==
 
+copy-to-clipboard@^3.3.1:
+  version "3.3.1"
+  resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz#115aa1a9998ffab6196f93076ad6da3b913662ae"
+  integrity sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==
+  dependencies:
+    toggle-selection "^1.0.6"
+
 copy-webpack-plugin@^7.0.0:
   version "7.0.0"
   resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-7.0.0.tgz#3506f867ca6e861ee2769d4deaf8fa0d2563ada9"
@@ -3118,6 +4200,14 @@ copy-webpack-plugin@^7.0.0:
     schema-utils "^3.0.0"
     serialize-javascript "^5.0.1"
 
+core-js-compat@^3.20.2, core-js-compat@^3.21.0:
+  version "3.21.0"
+  resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.21.0.tgz#bcc86aa5a589cee358e7a7fa0a4979d5a76c3885"
+  integrity sha512-OSXseNPSK2OPJa6GdtkMz/XxeXx8/CJvfhQWTqd6neuUraujcL4jVsjkLQz1OWnax8xVQJnRPe0V2jqNWORA+A==
+  dependencies:
+    browserslist "^4.19.1"
+    semver "7.0.0"
+
 core-js-compat@^3.8.1, core-js-compat@^3.9.0:
   version "3.9.1"
   resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.9.1.tgz#4e572acfe90aff69d76d8c37759d21a5c59bb455"
@@ -3486,7 +4576,7 @@ date-fns@^2.24.0:
 date-format@^4.0.3:
   version "4.0.3"
   resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.3.tgz#f63de5dc08dc02efd8ef32bf2a6918e486f35873"
-  integrity sha1-9j3l3AjcAu/Y7zK/KmkY5IbzWHM=
+  integrity "sha1-9j3l3AjcAu/Y7zK/KmkY5IbzWHM= sha512-7P3FyqDcfeznLZp2b+OMitV9Sz2lUnsT87WaTat9nVwqsBkTzPG3lPLNwW3en6F4pHUiWzr6vb8CLhjdK9bcxQ=="
 
 debug@2.6.9, debug@^2.6.8:
   version "2.6.9"
@@ -3502,10 +4592,10 @@ debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@~4.3.1:
   dependencies:
     ms "2.1.2"
 
-debug@^4.3.3:
+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=
+  integrity "sha1-BCZuC3CpjURi5uKI44JZITMytmQ= sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q=="
   dependencies:
     ms "2.1.2"
 
@@ -3591,6 +4681,11 @@ deep-is@^0.1.3:
   resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
   integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
 
+deepmerge@^4.2.2:
+  version "4.2.2"
+  resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
+  integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
+
 define-properties@^1.1.3:
   version "1.1.3"
   resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
@@ -3695,6 +4790,11 @@ doctrine@^3.0.0:
   dependencies:
     esutils "^2.0.2"
 
+dom-align@^1.7.0:
+  version "1.12.2"
+  resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.12.2.tgz#0f8164ebd0c9c21b0c790310493cd855892acd4b"
+  integrity sha512-pHuazgqrsTFrGU2WLDdXxCFabkdQDx72ddkraZNih1KsMcN5qsRSTR9O4VJRlwTPCPb5COYg3LOfiMHHcPInHg==
+
 dom-helpers@^5.0.1:
   version "5.2.0"
   resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.0.tgz#57fd054c5f8f34c52a3eeffdb7e7e93cd357d95b"
@@ -3843,6 +4943,11 @@ electron-to-chromium@^1.3.723:
   resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.740.tgz#e38b7d2b848f632191b643e6dabca51be2162922"
   integrity sha512-Mi2m55JrX2BFbNZGKYR+2ItcGnR4O5HhrvgoRRyZQlaMGQULqDhoGkLWHzJoshSzi7k1PUofxcDbNhlFrDZNhg==
 
+electron-to-chromium@^1.4.17:
+  version "1.4.63"
+  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.63.tgz#866db72d1221fda89419dc22669d03833e11625d"
+  integrity sha512-e0PX/LRJPFRU4kzJKLvTobxyFdnANCvcoDCe8XcyTqP58nTWIwdsHvXLIl1RkB39X5yaosLaroMASWB0oIsgCA==
+
 elliptic@^6.5.3:
   version "6.5.4"
   resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb"
@@ -3900,25 +5005,35 @@ engine.io-client@~5.1.1:
     ws "~7.4.2"
     yeast "0.1.2"
 
-engine.io-parser@~4.0.0, engine.io-parser@~4.0.1:
+engine.io-parser@~4.0.1:
   version "4.0.2"
   resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-4.0.2.tgz#e41d0b3fb66f7bf4a3671d2038a154024edb501e"
   integrity sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==
   dependencies:
     base64-arraybuffer "0.1.4"
 
-engine.io@~4.1.0:
-  version "4.1.2"
-  resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-4.1.2.tgz#f96ceb56d4b39cc7ca5bd29a20e9c99c1ad1a765"
-  integrity sha1-+WzrVtSznMfKW9KaIOnJnBrRp2U=
+engine.io-parser@~5.0.0:
+  version "5.0.3"
+  resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.3.tgz#ca1f0d7b11e290b4bfda251803baea765ed89c09"
+  integrity sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==
   dependencies:
+    "@socket.io/base64-arraybuffer" "~1.0.2"
+
+engine.io@~6.1.0:
+  version "6.1.2"
+  resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.1.2.tgz#e7b9d546d90c62246ffcba4d88594be980d3855a"
+  integrity sha512-v/7eGHxPvO2AWsksyx2PUsQvBafuvqs0jJJQ0FdmJG1b9qIvgSbqDRGwNhfk2XHaTTbTXiC4quRE8Q9nRjsrQQ==
+  dependencies:
+    "@types/cookie" "^0.4.1"
+    "@types/cors" "^2.8.12"
+    "@types/node" ">=10.0.0"
     accepts "~1.3.4"
     base64id "2.0.0"
     cookie "~0.4.1"
     cors "~2.8.5"
     debug "~4.3.1"
-    engine.io-parser "~4.0.0"
-    ws "~7.4.2"
+    engine.io-parser "~5.0.0"
+    ws "~8.2.3"
 
 enhanced-resolve@^5.7.0:
   version "5.8.2"
@@ -4540,12 +5655,12 @@ flatted@^3.1.0:
 flatted@^3.2.4:
   version "3.2.5"
   resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3"
-  integrity sha1-dshYT0/IQ9tkcCpr0Eq3qL1mbaM=
+  integrity "sha1-dshYT0/IQ9tkcCpr0Eq3qL1mbaM= sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg=="
 
 follow-redirects@^1.0.0, follow-redirects@^1.14.0:
-  version "1.14.7"
-  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685"
-  integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==
+  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=="
 
 foreach@^2.0.5:
   version "2.0.5"
@@ -4573,7 +5688,7 @@ fs-constants@^1.0.0:
 fs-extra@^10.0.0:
   version "10.0.0"
   resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1"
-  integrity sha1-n/YbZV3eU/s0qC34S7IUzoAuF8E=
+  integrity "sha1-n/YbZV3eU/s0qC34S7IUzoAuF8E= sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ=="
   dependencies:
     graceful-fs "^4.2.0"
     jsonfile "^6.0.1"
@@ -4591,7 +5706,7 @@ fs.realpath@^1.0.0:
   resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
   integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
 
-fsevents@~2.3.1:
+fsevents@~2.3.1, fsevents@~2.3.2:
   version "2.3.2"
   resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
   integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
@@ -4703,7 +5818,7 @@ get-stream@^6.0.0:
   resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
   integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
 
-glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@^5.1.1, glob-parent@~5.1.0:
+glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@^5.1.1, glob-parent@~5.1.0, glob-parent@~5.1.2:
   version "5.1.2"
   resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
   integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
@@ -4727,6 +5842,18 @@ glob@^7.1.0, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
     once "^1.3.0"
     path-is-absolute "^1.0.0"
 
+glob@^7.1.7:
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023"
+  integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==
+  dependencies:
+    fs.realpath "^1.0.0"
+    inflight "^1.0.4"
+    inherits "2"
+    minimatch "^3.0.4"
+    once "^1.3.0"
+    path-is-absolute "^1.0.0"
+
 globals@^11.1.0:
   version "11.12.0"
   resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
@@ -5603,7 +6730,7 @@ isarray@~1.0.0:
   resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
   integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
 
-isbinaryfile@^4.0.6:
+isbinaryfile@^4.0.8:
   version "4.0.8"
   resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.8.tgz#5d34b94865bd4946633ecc78a026fc76c5b11fcf"
   integrity sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==
@@ -5859,6 +6986,13 @@ json5@^2.1.2:
   dependencies:
     minimist "^1.2.5"
 
+jsoneditor-react@^3.1.1:
+  version "3.1.2"
+  resolved "https://registry.yarnpkg.com/jsoneditor-react/-/jsoneditor-react-3.1.2.tgz#bc36356ac5ecb0d8f88d49a5ccbeecdd7f996164"
+  integrity sha512-XqU8BMdIhrlS5HUnn7rGhgZw315bdJGQrf6NG5UH40FSw2xNirQrxnM05aeAplHkp8FNkzN2WX0tfvEWdl2UUA==
+  dependencies:
+    prop-types "^15.7.2"
+
 jsoneditor@^9.5.4:
   version "9.5.6"
   resolved "https://registry.yarnpkg.com/jsoneditor/-/jsoneditor-9.5.6.tgz#b2abca2aeb34bb5291025d0eeddcb2845e0d90a9"
@@ -5877,7 +7011,7 @@ jsoneditor@^9.5.4:
 jsonfile@^6.0.1:
   version "6.1.0"
   resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
-  integrity sha1-vFWyY0eTxnnsZAMJTrE2mKbsCq4=
+  integrity "sha1-vFWyY0eTxnnsZAMJTrE2mKbsCq4= sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ=="
   dependencies:
     universalify "^2.0.0"
   optionalDependencies:
@@ -6053,33 +7187,34 @@ karma-webpack@^5.0.0:
     minimatch "^3.0.4"
     webpack-merge "^4.1.5"
 
-karma@^6.3.2:
-  version "6.3.2"
-  resolved "https://registry.yarnpkg.com/karma/-/karma-6.3.2.tgz#24b62fbae3e8b5218cc32a0dac49ad08a541e76d"
-  integrity sha512-fo4Wt0S99/8vylZMxNj4cBFyOBBnC1bewZ0QOlePij/2SZVWxqbyLeIddY13q6URa2EpLRW8ixvFRUMjkmo1bw==
+karma@^6.3.15:
+  version "6.3.17"
+  resolved "https://registry.yarnpkg.com/karma/-/karma-6.3.17.tgz#5d963fb52463b73e1b5892ecb54c8f21bb04ba1d"
+  integrity sha512-2TfjHwrRExC8yHoWlPBULyaLwAFmXmxQrcuFImt/JsAsSZu1uOWTZ1ZsWjqQtWpHLiatJOHL5jFjXSJIgCd01g==
   dependencies:
+    "@colors/colors" "1.5.0"
     body-parser "^1.19.0"
     braces "^3.0.2"
-    chokidar "^3.4.2"
-    colors "^1.4.0"
+    chokidar "^3.5.1"
     connect "^3.7.0"
     di "^0.0.1"
     dom-serialize "^2.2.1"
-    glob "^7.1.6"
-    graceful-fs "^4.2.4"
+    glob "^7.1.7"
+    graceful-fs "^4.2.6"
     http-proxy "^1.18.1"
-    isbinaryfile "^4.0.6"
-    lodash "^4.17.19"
-    log4js "^6.2.1"
-    mime "^2.4.5"
+    isbinaryfile "^4.0.8"
+    lodash "^4.17.21"
+    log4js "^6.4.1"
+    mime "^2.5.2"
     minimatch "^3.0.4"
+    mkdirp "^0.5.5"
     qjobs "^1.2.0"
     range-parser "^1.2.1"
     rimraf "^3.0.2"
-    socket.io "^3.1.0"
+    socket.io "^4.2.0"
     source-map "^0.6.1"
-    tmp "0.2.1"
-    ua-parser-js "^0.7.23"
+    tmp "^0.2.1"
+    ua-parser-js "^0.7.30"
     yargs "^16.1.1"
 
 keyv@3.0.0:
@@ -6256,7 +7391,7 @@ lodash@4.*, lodash@^4.14.1, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, l
   resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
   integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
 
-log4js@^6.2.1:
+log4js@^6.4.1:
   version "6.4.1"
   resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.4.1.tgz#9d3a8bf2c31c1e213fe3fc398a6053f7a2bc53e8"
   integrity sha512-iUiYnXqAmNKiIZ1XSAitQ4TmNs8CdZYTAWINARF3LjnsLN8tY5m0vRwd6uuWj/yNY0YHxeZodnbmxKFUOM2rMg==
@@ -6422,11 +7557,16 @@ mime-types@^2.1.27, mime-types@~2.1.24:
   dependencies:
     mime-db "1.46.0"
 
-mime@^2.0.3, mime@^2.3.1, mime@^2.4.5:
+mime@^2.0.3, mime@^2.3.1:
   version "2.5.2"
   resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe"
   integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==
 
+mime@^2.5.2:
+  version "2.6.0"
+  resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367"
+  integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==
+
 mimic-fn@^2.1.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
@@ -6527,18 +7667,18 @@ mkdirp-classic@^0.5.2:
   resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113"
   integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==
 
-mkdirp@^1.0.3, mkdirp@^1.0.4:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
-  integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
-
-mkdirp@~0.5.1:
+mkdirp@^0.5.5, mkdirp@~0.5.1:
   version "0.5.5"
   resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
   integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
   dependencies:
     minimist "^1.2.5"
 
+mkdirp@^1.0.3, mkdirp@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
+  integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
+
 ml-array-max@^1.2.3:
   version "1.2.3"
   resolved "https://registry.yarnpkg.com/ml-array-max/-/ml-array-max-1.2.3.tgz#92d1ffef667432d1451d35817a7276c528635e64"
@@ -6653,7 +7793,7 @@ nanocolors@^0.1.12:
 nanoid@^3.0.0, nanoid@^3.1.23:
   version "3.2.0"
   resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.2.0.tgz#62667522da6673971cca916a6d3eff3f415ff80c"
-  integrity sha1-YmZ1Itpmc5ccypFqbT7/P0Ff+Aw=
+  integrity "sha1-YmZ1Itpmc5ccypFqbT7/P0Ff+Aw= sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA=="
 
 nanopop@^2.1.0:
   version "2.1.0"
@@ -6718,6 +7858,11 @@ node-releases@^1.1.71:
   resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.72.tgz#14802ab6b1039a79a0c7d662b610a5bbd76eacbe"
   integrity sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw==
 
+node-releases@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5"
+  integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==
+
 nopt@^5.0.0:
   version "5.0.0"
   resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88"
@@ -7227,6 +8372,11 @@ performance-now@^2.1.0:
     react-virtualized-auto-sizer "^1.0.6"
     valid-filename "^2.0.1"
 
+picocolors@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
+  integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
+
 picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3:
   version "2.3.0"
   resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
@@ -7756,6 +8906,123 @@ raw-body@2.4.0:
     iconv-lite "0.4.24"
     unpipe "1.0.0"
 
+rc-align@^4.0.0:
+  version "4.0.11"
+  resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-4.0.11.tgz#8198c62db266bc1b8ef05e56c13275bf72628a5e"
+  integrity sha512-n9mQfIYQbbNTbefyQnRHZPWuTEwG1rY4a9yKlIWHSTbgwI+XUMGRYd0uJ5pE2UbrNX0WvnMBA1zJ3Lrecpra/A==
+  dependencies:
+    "@babel/runtime" "^7.10.1"
+    classnames "2.x"
+    dom-align "^1.7.0"
+    lodash "^4.17.21"
+    rc-util "^5.3.0"
+    resize-observer-polyfill "^1.5.1"
+
+rc-dock@^3.2.9:
+  version "3.2.10"
+  resolved "https://registry.yarnpkg.com/rc-dock/-/rc-dock-3.2.10.tgz#a31b134c27e3dd8a63a6921b701ead3270bdf124"
+  integrity sha512-2AuetRxiM4gIY1RYCOJikBdJMphj/joiFiAz9X//ZiYnWY6z0tpuo/6X7jHCSojtn/OSQJZKvs+sXiMtrbmCJA==
+  dependencies:
+    classnames "^2.3.1"
+    lodash "^4.17.21"
+    rc-dropdown "^3.2.2"
+    rc-menu "^9.3.0"
+    rc-new-window "^0.1.13"
+    rc-tabs "^11.10.5"
+
+rc-dropdown@^3.2.0, rc-dropdown@^3.2.2:
+  version "3.3.0"
+  resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-3.3.0.tgz#3bd47a8c7d2f81f03d477b6761d4122b78811688"
+  integrity sha512-UvNfeqpaNFbCyMUN4m0r+EPqXQgcwVSA4R4Gt4cs/MzIAIK0X6v0WNfwzlmvrwAY8lzY+zn9qakhehHnD87NCA==
+  dependencies:
+    "@babel/runtime" "^7.10.1"
+    classnames "^2.2.6"
+    rc-trigger "^5.0.4"
+
+rc-menu@^9.0.0, rc-menu@^9.3.0:
+  version "9.3.2"
+  resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-9.3.2.tgz#bb842d37ebf71da912bea201cf7ef0a27267ad49"
+  integrity sha512-h3m45oY1INZyqphGELkdT0uiPnFzxkML8m0VMhJnk2fowtqfiT7F5tJLT3znEVaPIY80vMy1bClCkgq8U91CzQ==
+  dependencies:
+    "@babel/runtime" "^7.10.1"
+    classnames "2.x"
+    rc-motion "^2.4.3"
+    rc-overflow "^1.2.0"
+    rc-trigger "^5.1.2"
+    rc-util "^5.12.0"
+    shallowequal "^1.1.0"
+
+rc-motion@^2.0.0, rc-motion@^2.4.3:
+  version "2.4.4"
+  resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.4.4.tgz#e995d5fa24fc93065c24f714857cf2677d655bb0"
+  integrity sha512-ms7n1+/TZQBS0Ydd2Q5P4+wJTSOrhIrwNxLXCZpR7Fa3/oac7Yi803HDALc2hLAKaCTQtw9LmQeB58zcwOsqlQ==
+  dependencies:
+    "@babel/runtime" "^7.11.1"
+    classnames "^2.2.1"
+    rc-util "^5.2.1"
+
+rc-new-window@^0.1.13:
+  version "0.1.13"
+  resolved "https://registry.yarnpkg.com/rc-new-window/-/rc-new-window-0.1.13.tgz#f0354ce9d7355ab1c91b16b03d3768fae1a2278c"
+  integrity sha512-KqANLQVfgNcfs+R4ntpzV5ELyqXMlAUimdSfFHapk2VwsoZX3y+BK2RjFBFb7q865yqAshP87g0PbIPqblKVTg==
+  dependencies:
+    "@babel/runtime" "^7.10.1"
+    bowser "^2.11.0"
+    classnames "2.x"
+    lodash "^4.17.20"
+
+rc-overflow@^1.2.0:
+  version "1.2.2"
+  resolved "https://registry.yarnpkg.com/rc-overflow/-/rc-overflow-1.2.2.tgz#95b0222016c0cdbdc0db85f569c262e7706a5f22"
+  integrity sha512-X5kj9LDU1ue5wHkqvCprJWLKC+ZLs3p4He/oxjZ1Q4NKaqKBaYf5OdSzRSgh3WH8kSdrfU8LjvlbWnHgJOEkNQ==
+  dependencies:
+    "@babel/runtime" "^7.11.1"
+    classnames "^2.2.1"
+    rc-resize-observer "^1.0.0"
+    rc-util "^5.5.1"
+
+rc-resize-observer@^1.0.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.2.0.tgz#9f46052f81cdf03498be35144cb7c53fd282c4c7"
+  integrity sha512-6W+UzT3PyDM0wVCEHfoW3qTHPTvbdSgiA43buiy8PzmeMnfgnDeb9NjdimMXMl3/TcrvvWl5RRVdp+NqcR47pQ==
+  dependencies:
+    "@babel/runtime" "^7.10.1"
+    classnames "^2.2.1"
+    rc-util "^5.15.0"
+    resize-observer-polyfill "^1.5.1"
+
+rc-tabs@^11.10.5:
+  version "11.10.5"
+  resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-11.10.5.tgz#53bbb642d04b307f8ce86e318ab99d519507b29b"
+  integrity sha512-DDuUdV6b9zGRYLtjI5hyejWLKoz1QiLWNgMeBzc3aMeQylZFhTYnFGdDc6HRqj5IYearNTsFPVSA+6VIT8g5cg==
+  dependencies:
+    "@babel/runtime" "^7.11.2"
+    classnames "2.x"
+    rc-dropdown "^3.2.0"
+    rc-menu "^9.0.0"
+    rc-resize-observer "^1.0.0"
+    rc-util "^5.5.0"
+
+rc-trigger@^5.0.4, rc-trigger@^5.1.2:
+  version "5.2.10"
+  resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-5.2.10.tgz#8a0057a940b1b9027eaa33beec8a6ecd85cce2b1"
+  integrity sha512-FkUf4H9BOFDaIwu42fvRycXMAvkttph9AlbCZXssZDVzz2L+QZ0ERvfB/4nX3ZFPh1Zd+uVGr1DEDeXxq4J1TA==
+  dependencies:
+    "@babel/runtime" "^7.11.2"
+    classnames "^2.2.6"
+    rc-align "^4.0.0"
+    rc-motion "^2.0.0"
+    rc-util "^5.5.0"
+
+rc-util@^5.12.0, rc-util@^5.15.0, rc-util@^5.2.1, rc-util@^5.3.0, rc-util@^5.5.0, rc-util@^5.5.1:
+  version "5.17.0"
+  resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.17.0.tgz#6b0788038075c3d5c215541539573a4a03827070"
+  integrity sha512-HWuTIKzBeZQQ7IBqdokE0wMp/xx39/KfUJ0gcquBigoldDCrf3YBcWFHrrQlJG7sI82Wg8mwp1uAKV3zMGfAgg==
+  dependencies:
+    "@babel/runtime" "^7.12.5"
+    react-is "^16.12.0"
+    shallowequal "^1.1.0"
+
 react-aspen@^1.1.0, react-aspen@^1.1.1:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/react-aspen/-/react-aspen-1.1.1.tgz#61a85ef43748158322c4a3b73faaa5e563edd038"
@@ -7811,16 +9078,16 @@ react-input-autosize@^3.0.0:
   dependencies:
     prop-types "^15.5.8"
 
+react-is@^16.12.0, react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.0, react-is@^16.8.1:
+  version "16.13.1"
+  resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
+  integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
+
 "react-is@^16.12.0 || ^17.0.0", "react-is@^16.8.0 || ^17.0.0", react-is@^17.0.0, react-is@^17.0.2:
   version "17.0.2"
   resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
   integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
 
-react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.0, react-is@^16.8.1:
-  version "16.13.1"
-  resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
-  integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
-
 react-property@1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/react-property/-/react-property-1.0.1.tgz#4ae4211557d0a0ae050a71aa8ad288c074bea4e6"
@@ -7862,6 +9129,11 @@ react-test-renderer@^17.0.0:
     react-shallow-renderer "^16.13.1"
     scheduler "^0.20.2"
 
+react-timer-hook@^3.0.5:
+  version "3.0.5"
+  resolved "https://registry.yarnpkg.com/react-timer-hook/-/react-timer-hook-3.0.5.tgz#a8d930f99b180cd88da245965a26a17df3e7457b"
+  integrity sha512-n+98SdmYvui2ne3KyWb3Ldu4k0NYQa3g/VzW6VEIfZJ8GAk/jJsIY700M8Nd2vNSTj05c7wKyQfJBqZ0x7zfiA==
+
 react-transition-group@^4.0.0, react-transition-group@^4.3.0, react-transition-group@^4.4.0:
   version "4.4.1"
   resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.1.tgz#63868f9325a38ea5ee9535d828327f85773345c9"
@@ -7872,6 +9144,11 @@ react-transition-group@^4.0.0, react-transition-group@^4.3.0, react-transition-g
     loose-envify "^1.4.0"
     prop-types "^15.6.2"
 
+react-transition-state@^1.1.3:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/react-transition-state/-/react-transition-state-1.1.3.tgz#6d999dc640ffd3a7442021a14a58e13347f4e95f"
+  integrity sha512-Wvfq9yUGSaZTySRv/cMz6fguVNtl7UNF23DmogQok4FeRYZWL0oUvhrSCU5R9aYEGG5t6IoNWwpZOYW8+VPVcg==
+
 react-virtualized-auto-sizer@^1.0.6:
   version "1.0.6"
   resolved "https://registry.yarnpkg.com/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.6.tgz#66c5b1c9278064c5ef1699ed40a29c11518f97ca"
@@ -7948,6 +9225,13 @@ readdirp@~3.5.0:
   dependencies:
     picomatch "^2.2.1"
 
+readdirp@~3.6.0:
+  version "3.6.0"
+  resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
+  integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
+  dependencies:
+    picomatch "^2.2.1"
+
 rechoir@^0.7.0:
   version "0.7.0"
   resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.0.tgz#32650fd52c21ab252aa5d65b19310441c7e03aca"
@@ -7960,6 +9244,13 @@ reflect.ownkeys@^0.2.0:
   resolved "https://registry.yarnpkg.com/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz#749aceec7f3fdf8b63f927a04809e90c5c0b3460"
   integrity sha1-dJrO7H8/34tj+SegSAnpDFwLNGA=
 
+regenerate-unicode-properties@^10.0.1:
+  version "10.0.1"
+  resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz#7f442732aa7934a3740c779bb9b3340dccc1fb56"
+  integrity sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==
+  dependencies:
+    regenerate "^1.4.2"
+
 regenerate-unicode-properties@^8.2.0:
   version "8.2.0"
   resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec"
@@ -7967,7 +9258,7 @@ regenerate-unicode-properties@^8.2.0:
   dependencies:
     regenerate "^1.4.0"
 
-regenerate@^1.4.0:
+regenerate@^1.4.0, regenerate@^1.4.2:
   version "1.4.2"
   resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a"
   integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
@@ -8014,11 +9305,28 @@ regexpu-core@^4.7.1:
     unicode-match-property-ecmascript "^1.0.4"
     unicode-match-property-value-ecmascript "^1.2.0"
 
+regexpu-core@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.0.1.tgz#c531122a7840de743dcf9c83e923b5560323ced3"
+  integrity sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==
+  dependencies:
+    regenerate "^1.4.2"
+    regenerate-unicode-properties "^10.0.1"
+    regjsgen "^0.6.0"
+    regjsparser "^0.8.2"
+    unicode-match-property-ecmascript "^2.0.0"
+    unicode-match-property-value-ecmascript "^2.0.0"
+
 regjsgen@^0.5.1:
   version "0.5.2"
   resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733"
   integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==
 
+regjsgen@^0.6.0:
+  version "0.6.0"
+  resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.6.0.tgz#83414c5354afd7d6627b16af5f10f41c4e71808d"
+  integrity sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==
+
 regjsparser@^0.6.4:
   version "0.6.9"
   resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.9.tgz#b489eef7c9a2ce43727627011429cf833a7183e6"
@@ -8026,6 +9334,13 @@ regjsparser@^0.6.4:
   dependencies:
     jsesc "~0.5.0"
 
+regjsparser@^0.8.2:
+  version "0.8.4"
+  resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.8.4.tgz#8a14285ffcc5de78c5b95d62bbf413b6bc132d5f"
+  integrity sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==
+  dependencies:
+    jsesc "~0.5.0"
+
 repeating@^2.0.0:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
@@ -8471,10 +9786,10 @@ snapsvg@0.5.1:
   dependencies:
     eve "~0.5.1"
 
-socket.io-adapter@~2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.1.0.tgz#edc5dc36602f2985918d631c1399215e97a1b527"
-  integrity sha512-+vDov/aTsLjViYTwS9fPy5pEtTkrbEKsw2M+oVSoFGw6OD1IpvlV1VPhUzNbofCQ8oyMbdYJqDtGdmHQK6TdPg==
+socket.io-adapter@~2.3.3:
+  version "2.3.3"
+  resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz#4d6111e4d42e9f7646e365b4f578269821f13486"
+  integrity sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ==
 
 socket.io-client@^4.0.0:
   version "4.1.2"
@@ -8489,7 +9804,7 @@ socket.io-client@^4.0.0:
     parseuri "0.0.6"
     socket.io-parser "~4.0.4"
 
-socket.io-parser@~4.0.3, socket.io-parser@~4.0.4:
+socket.io-parser@~4.0.4:
   version "4.0.4"
   resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.0.4.tgz#9ea21b0d61508d18196ef04a2c6b9ab630f4c2b0"
   integrity sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==
@@ -8498,20 +9813,17 @@ socket.io-parser@~4.0.3, socket.io-parser@~4.0.4:
     component-emitter "~1.3.0"
     debug "~4.3.1"
 
-socket.io@^3.1.0:
-  version "3.1.2"
-  resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-3.1.2.tgz#06e27caa1c4fc9617547acfbb5da9bc1747da39a"
-  integrity sha512-JubKZnTQ4Z8G4IZWtaAZSiRP3I/inpy8c/Bsx2jrwGrTbKeVU5xd6qkKMHpChYeM3dWZSO0QACiGK+obhBNwYw==
+socket.io@^4.2.0:
+  version "4.4.1"
+  resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.4.1.tgz#cd6de29e277a161d176832bb24f64ee045c56ab8"
+  integrity sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==
   dependencies:
-    "@types/cookie" "^0.4.0"
-    "@types/cors" "^2.8.8"
-    "@types/node" ">=10.0.0"
     accepts "~1.3.4"
     base64id "~2.0.0"
-    debug "~4.3.1"
-    engine.io "~4.1.0"
-    socket.io-adapter "~2.1.0"
-    socket.io-parser "~4.0.3"
+    debug "~4.3.2"
+    engine.io "~6.1.0"
+    socket.io-adapter "~2.3.3"
+    socket.io-parser "~4.0.4"
 
 socks-proxy-agent@^6.0.0:
   version "6.1.0"
@@ -8584,6 +9896,11 @@ source-map@~0.7.2:
   resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
   integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
 
+sourcemap-codec@1.4.8:
+  version "1.4.8"
+  resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
+  integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
+
 split.js@^1.5.10:
   version "1.6.4"
   resolved "https://registry.yarnpkg.com/split.js/-/split.js-1.6.4.tgz#13d47cba53382adef230a53294ce5dacb2a2f2e1"
@@ -8653,7 +9970,7 @@ stream-splicer@^2.0.0:
 streamroller@^3.0.2:
   version "3.0.2"
   resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.0.2.tgz#30418d0eee3d6c93ec897f892ed098e3a81e68b7"
-  integrity sha1-MEGNDu49bJPsiX+JLtCY46geaLc=
+  integrity "sha1-MEGNDu49bJPsiX+JLtCY46geaLc= sha512-ur6y5S5dopOaRXBuRIZ1u6GC5bcEXHRZKgfBjfCglMhmIf+roVCECjvkEYzNQOXIN2/JPnkMPW/8B3CZoKaEPA=="
   dependencies:
     date-format "^4.0.3"
     debug "^4.1.1"
@@ -8875,6 +10192,11 @@ supports-color@^7.0.0, supports-color@^7.1.0:
   dependencies:
     has-flag "^4.0.0"
 
+svg-parser@^2.0.2:
+  version "2.0.4"
+  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"
@@ -8916,7 +10238,7 @@ svgo-loader@^2.2.0:
     js-yaml "^3.13.1"
     loader-utils "^1.0.3"
 
-svgo@^1.1.1, svgo@^1.3.2:
+svgo@^1.2.2, svgo@^1.3.2:
   version "1.3.2"
   resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167"
   integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==
@@ -8948,6 +10270,19 @@ svgo@^2.3.0:
     nanocolors "^0.1.12"
     stable "^0.1.8"
 
+svgo@^2.7.0:
+  version "2.8.0"
+  resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24"
+  integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==
+  dependencies:
+    "@trysound/sax" "0.2.0"
+    commander "^7.2.0"
+    css-select "^4.1.3"
+    css-tree "^1.1.3"
+    csso "^4.2.0"
+    picocolors "^1.0.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"
@@ -9120,7 +10455,7 @@ tippy.js@^6.3.1:
   dependencies:
     "@popperjs/core" "^2.8.3"
 
-tmp@0.2.1:
+tmp@^0.2.1:
   version "0.2.1"
   resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14"
   integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==
@@ -9149,6 +10484,11 @@ to-regex-range@^5.0.1:
   dependencies:
     is-number "^7.0.0"
 
+toggle-selection@^1.0.6:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32"
+  integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI=
+
 toidentifier@1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
@@ -9250,10 +10590,10 @@ typescript@^3.2.2:
   resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8"
   integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==
 
-ua-parser-js@^0.7.23:
-  version "0.7.24"
-  resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.24.tgz#8d3ecea46ed4f1f1d63ec25f17d8568105dc027c"
-  integrity sha512-yo+miGzQx5gakzVK3QFfN0/L9uVhosXBBO7qmnk7c2iw1IhL212wfA3zbnI54B0obGwC/5NWub/iT9sReMx+Fw==
+ua-parser-js@^0.7.30:
+  version "0.7.31"
+  resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6"
+  integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==
 
 uglify-js@^3.1.4:
   version "3.14.2"
@@ -9309,6 +10649,11 @@ unicode-canonical-property-names-ecmascript@^1.0.4:
   resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818"
   integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==
 
+unicode-canonical-property-names-ecmascript@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc"
+  integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==
+
 unicode-match-property-ecmascript@^1.0.4:
   version "1.0.4"
   resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c"
@@ -9317,16 +10662,34 @@ unicode-match-property-ecmascript@^1.0.4:
     unicode-canonical-property-names-ecmascript "^1.0.4"
     unicode-property-aliases-ecmascript "^1.0.4"
 
+unicode-match-property-ecmascript@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3"
+  integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==
+  dependencies:
+    unicode-canonical-property-names-ecmascript "^2.0.0"
+    unicode-property-aliases-ecmascript "^2.0.0"
+
 unicode-match-property-value-ecmascript@^1.2.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531"
   integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==
 
+unicode-match-property-value-ecmascript@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714"
+  integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==
+
 unicode-property-aliases-ecmascript@^1.0.4:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4"
   integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==
 
+unicode-property-aliases-ecmascript@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8"
+  integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==
+
 uniqs@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02"
@@ -9349,7 +10712,7 @@ unique-slug@^2.0.0:
 universalify@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
-  integrity sha1-daSYTv7cSwiXXFrrc/Uw0C3yVxc=
+  integrity "sha1-daSYTv7cSwiXXFrrc/Uw0C3yVxc= sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
 
 unpipe@1.0.0, unpipe@~1.0.0:
   version "1.0.0"
@@ -9713,6 +11076,11 @@ ws@^7.3.1, ws@~7.4.2:
   resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c"
   integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==
 
+ws@~8.2.3:
+  version "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"
diff --git a/pkgs/tools/admin/pgadmin/yarn.nix b/pkgs/tools/admin/pgadmin/yarn.nix
index 672c1a7b9ede8..eca056bc92183 100644
--- a/pkgs/tools/admin/pgadmin/yarn.nix
+++ b/pkgs/tools/admin/pgadmin/yarn.nix
@@ -2,6 +2,14 @@
   offline_cache = linkFarm "offline" packages;
   packages = [
     {
+      name = "_ampproject_remapping___remapping_2.0.2.tgz";
+      path = fetchurl {
+        name = "_ampproject_remapping___remapping_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.0.2.tgz";
+        sha512 = "sE8Gx+qSDMLoJvb3QarJJlDQK7SSY4rK3hxp4XsiANeFOmjU46ZI7Y9adAQRJrmbz8zbtZkp3mJTT+rGxtF0XA==";
+      };
+    }
+    {
       name = "_babel_code_frame___code_frame_7.12.11.tgz";
       path = fetchurl {
         name = "_babel_code_frame___code_frame_7.12.11.tgz";
@@ -26,6 +34,14 @@
       };
     }
     {
+      name = "_babel_code_frame___code_frame_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_code_frame___code_frame_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz";
+        sha512 = "iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==";
+      };
+    }
+    {
       name = "_babel_compat_data___compat_data_7.14.7.tgz";
       path = fetchurl {
         name = "_babel_compat_data___compat_data_7.14.7.tgz";
@@ -34,6 +50,14 @@
       };
     }
     {
+      name = "_babel_compat_data___compat_data_7.17.0.tgz";
+      path = fetchurl {
+        name = "_babel_compat_data___compat_data_7.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.0.tgz";
+        sha512 = "392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==";
+      };
+    }
+    {
       name = "_babel_core___core_7.13.8.tgz";
       path = fetchurl {
         name = "_babel_core___core_7.13.8.tgz";
@@ -42,6 +66,14 @@
       };
     }
     {
+      name = "_babel_core___core_7.17.0.tgz";
+      path = fetchurl {
+        name = "_babel_core___core_7.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.17.0.tgz";
+        sha512 = "x/5Ea+RO5MvF9ize5DeVICJoVrNv0Mi2RnIABrZEKYvPEpldXwauPkgvYA17cKa6WpU3LoYvYbuEMFtSNFsarA==";
+      };
+    }
+    {
       name = "_babel_eslint_parser___eslint_parser_7.13.8.tgz";
       path = fetchurl {
         name = "_babel_eslint_parser___eslint_parser_7.13.8.tgz";
@@ -66,6 +98,14 @@
       };
     }
     {
+      name = "_babel_generator___generator_7.17.0.tgz";
+      path = fetchurl {
+        name = "_babel_generator___generator_7.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.0.tgz";
+        sha512 = "I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw==";
+      };
+    }
+    {
       name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.14.5.tgz";
       path = fetchurl {
         name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.14.5.tgz";
@@ -74,6 +114,14 @@
       };
     }
     {
+      name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz";
+        sha512 = "s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==";
+      };
+    }
+    {
       name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.12.13.tgz";
       path = fetchurl {
         name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.12.13.tgz";
@@ -82,6 +130,14 @@
       };
     }
     {
+      name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz";
+        sha512 = "C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==";
+      };
+    }
+    {
       name = "_babel_helper_compilation_targets___helper_compilation_targets_7.14.5.tgz";
       path = fetchurl {
         name = "_babel_helper_compilation_targets___helper_compilation_targets_7.14.5.tgz";
@@ -90,6 +146,14 @@
       };
     }
     {
+      name = "_babel_helper_compilation_targets___helper_compilation_targets_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_helper_compilation_targets___helper_compilation_targets_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz";
+        sha512 = "mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==";
+      };
+    }
+    {
       name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.14.6.tgz";
       path = fetchurl {
         name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.14.6.tgz";
@@ -98,6 +162,14 @@
       };
     }
     {
+      name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.17.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.0.tgz";
+        sha512 = "S3+IHG72pJFb0RmJgeXg/TjVKt641ZsLla028haXJjdqCf9eccE5r1JsdO//L7nzTDzXjtC+hwV/lrkEb2+t0Q==";
+      };
+    }
+    {
       name = "_babel_helper_create_regexp_features_plugin___helper_create_regexp_features_plugin_7.14.3.tgz";
       path = fetchurl {
         name = "_babel_helper_create_regexp_features_plugin___helper_create_regexp_features_plugin_7.14.3.tgz";
@@ -106,6 +178,14 @@
       };
     }
     {
+      name = "_babel_helper_create_regexp_features_plugin___helper_create_regexp_features_plugin_7.17.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_create_regexp_features_plugin___helper_create_regexp_features_plugin_7.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz";
+        sha512 = "awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==";
+      };
+    }
+    {
       name = "_babel_helper_define_polyfill_provider___helper_define_polyfill_provider_0.1.5.tgz";
       path = fetchurl {
         name = "_babel_helper_define_polyfill_provider___helper_define_polyfill_provider_0.1.5.tgz";
@@ -114,6 +194,22 @@
       };
     }
     {
+      name = "_babel_helper_define_polyfill_provider___helper_define_polyfill_provider_0.3.1.tgz";
+      path = fetchurl {
+        name = "_babel_helper_define_polyfill_provider___helper_define_polyfill_provider_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz";
+        sha512 = "J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==";
+      };
+    }
+    {
+      name = "_babel_helper_environment_visitor___helper_environment_visitor_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_helper_environment_visitor___helper_environment_visitor_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz";
+        sha512 = "SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==";
+      };
+    }
+    {
       name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.13.0.tgz";
       path = fetchurl {
         name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.13.0.tgz";
@@ -122,6 +218,14 @@
       };
     }
     {
+      name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz";
+        sha512 = "KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==";
+      };
+    }
+    {
       name = "_babel_helper_function_name___helper_function_name_7.14.5.tgz";
       path = fetchurl {
         name = "_babel_helper_function_name___helper_function_name_7.14.5.tgz";
@@ -130,6 +234,14 @@
       };
     }
     {
+      name = "_babel_helper_function_name___helper_function_name_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_helper_function_name___helper_function_name_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz";
+        sha512 = "QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==";
+      };
+    }
+    {
       name = "_babel_helper_get_function_arity___helper_get_function_arity_7.14.5.tgz";
       path = fetchurl {
         name = "_babel_helper_get_function_arity___helper_get_function_arity_7.14.5.tgz";
@@ -138,6 +250,14 @@
       };
     }
     {
+      name = "_babel_helper_get_function_arity___helper_get_function_arity_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_helper_get_function_arity___helper_get_function_arity_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz";
+        sha512 = "flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==";
+      };
+    }
+    {
       name = "_babel_helper_hoist_variables___helper_hoist_variables_7.14.5.tgz";
       path = fetchurl {
         name = "_babel_helper_hoist_variables___helper_hoist_variables_7.14.5.tgz";
@@ -146,6 +266,14 @@
       };
     }
     {
+      name = "_babel_helper_hoist_variables___helper_hoist_variables_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_helper_hoist_variables___helper_hoist_variables_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz";
+        sha512 = "m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==";
+      };
+    }
+    {
       name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.14.7.tgz";
       path = fetchurl {
         name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.14.7.tgz";
@@ -154,6 +282,14 @@
       };
     }
     {
+      name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz";
+        sha512 = "VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q==";
+      };
+    }
+    {
       name = "_babel_helper_module_imports___helper_module_imports_7.13.12.tgz";
       path = fetchurl {
         name = "_babel_helper_module_imports___helper_module_imports_7.13.12.tgz";
@@ -162,6 +298,14 @@
       };
     }
     {
+      name = "_babel_helper_module_imports___helper_module_imports_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_helper_module_imports___helper_module_imports_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz";
+        sha512 = "LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==";
+      };
+    }
+    {
       name = "_babel_helper_module_transforms___helper_module_transforms_7.13.0.tgz";
       path = fetchurl {
         name = "_babel_helper_module_transforms___helper_module_transforms_7.13.0.tgz";
@@ -170,6 +314,14 @@
       };
     }
     {
+      name = "_babel_helper_module_transforms___helper_module_transforms_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_helper_module_transforms___helper_module_transforms_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz";
+        sha512 = "gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==";
+      };
+    }
+    {
       name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.14.5.tgz";
       path = fetchurl {
         name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.14.5.tgz";
@@ -178,6 +330,14 @@
       };
     }
     {
+      name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz";
+        sha512 = "EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==";
+      };
+    }
+    {
       name = "_babel_helper_plugin_utils___helper_plugin_utils_7.14.5.tgz";
       path = fetchurl {
         name = "_babel_helper_plugin_utils___helper_plugin_utils_7.14.5.tgz";
@@ -186,6 +346,14 @@
       };
     }
     {
+      name = "_babel_helper_plugin_utils___helper_plugin_utils_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_helper_plugin_utils___helper_plugin_utils_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz";
+        sha512 = "Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==";
+      };
+    }
+    {
       name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.13.0.tgz";
       path = fetchurl {
         name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.13.0.tgz";
@@ -194,6 +362,14 @@
       };
     }
     {
+      name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.16.8.tgz";
+      path = fetchurl {
+        name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.16.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz";
+        sha512 = "fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==";
+      };
+    }
+    {
       name = "_babel_helper_replace_supers___helper_replace_supers_7.14.5.tgz";
       path = fetchurl {
         name = "_babel_helper_replace_supers___helper_replace_supers_7.14.5.tgz";
@@ -202,6 +378,14 @@
       };
     }
     {
+      name = "_babel_helper_replace_supers___helper_replace_supers_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_helper_replace_supers___helper_replace_supers_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz";
+        sha512 = "y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==";
+      };
+    }
+    {
       name = "_babel_helper_simple_access___helper_simple_access_7.13.12.tgz";
       path = fetchurl {
         name = "_babel_helper_simple_access___helper_simple_access_7.13.12.tgz";
@@ -210,6 +394,14 @@
       };
     }
     {
+      name = "_babel_helper_simple_access___helper_simple_access_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_helper_simple_access___helper_simple_access_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz";
+        sha512 = "ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==";
+      };
+    }
+    {
       name = "_babel_helper_skip_transparent_expression_wrappers___helper_skip_transparent_expression_wrappers_7.12.1.tgz";
       path = fetchurl {
         name = "_babel_helper_skip_transparent_expression_wrappers___helper_skip_transparent_expression_wrappers_7.12.1.tgz";
@@ -218,6 +410,14 @@
       };
     }
     {
+      name = "_babel_helper_skip_transparent_expression_wrappers___helper_skip_transparent_expression_wrappers_7.16.0.tgz";
+      path = fetchurl {
+        name = "_babel_helper_skip_transparent_expression_wrappers___helper_skip_transparent_expression_wrappers_7.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz";
+        sha512 = "+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==";
+      };
+    }
+    {
       name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.14.5.tgz";
       path = fetchurl {
         name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.14.5.tgz";
@@ -226,6 +426,14 @@
       };
     }
     {
+      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz";
+        sha512 = "xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==";
+      };
+    }
+    {
       name = "_babel_helper_validator_identifier___helper_validator_identifier_7.14.9.tgz";
       path = fetchurl {
         name = "_babel_helper_validator_identifier___helper_validator_identifier_7.14.9.tgz";
@@ -234,6 +442,14 @@
       };
     }
     {
+      name = "_babel_helper_validator_identifier___helper_validator_identifier_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_helper_validator_identifier___helper_validator_identifier_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz";
+        sha512 = "hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==";
+      };
+    }
+    {
       name = "_babel_helper_validator_option___helper_validator_option_7.14.5.tgz";
       path = fetchurl {
         name = "_babel_helper_validator_option___helper_validator_option_7.14.5.tgz";
@@ -242,6 +458,14 @@
       };
     }
     {
+      name = "_babel_helper_validator_option___helper_validator_option_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_helper_validator_option___helper_validator_option_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz";
+        sha512 = "TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==";
+      };
+    }
+    {
       name = "_babel_helper_wrap_function___helper_wrap_function_7.13.0.tgz";
       path = fetchurl {
         name = "_babel_helper_wrap_function___helper_wrap_function_7.13.0.tgz";
@@ -250,6 +474,14 @@
       };
     }
     {
+      name = "_babel_helper_wrap_function___helper_wrap_function_7.16.8.tgz";
+      path = fetchurl {
+        name = "_babel_helper_wrap_function___helper_wrap_function_7.16.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz";
+        sha512 = "8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==";
+      };
+    }
+    {
       name = "_babel_helpers___helpers_7.13.0.tgz";
       path = fetchurl {
         name = "_babel_helpers___helpers_7.13.0.tgz";
@@ -258,6 +490,14 @@
       };
     }
     {
+      name = "_babel_helpers___helpers_7.17.0.tgz";
+      path = fetchurl {
+        name = "_babel_helpers___helpers_7.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.0.tgz";
+        sha512 = "Xe/9NFxjPwELUvW2dsukcMZIp6XwPSbI4ojFBJuX5ramHuVE22SVcZIwqzdWo5uCgeTXW8qV97lMvSOjq+1+nQ==";
+      };
+    }
+    {
       name = "_babel_highlight___highlight_7.14.5.tgz";
       path = fetchurl {
         name = "_babel_highlight___highlight_7.14.5.tgz";
@@ -266,6 +506,14 @@
       };
     }
     {
+      name = "_babel_highlight___highlight_7.16.10.tgz";
+      path = fetchurl {
+        name = "_babel_highlight___highlight_7.16.10.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz";
+        sha512 = "5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==";
+      };
+    }
+    {
       name = "_babel_parser___parser_7.14.7.tgz";
       path = fetchurl {
         name = "_babel_parser___parser_7.14.7.tgz";
@@ -274,6 +522,30 @@
       };
     }
     {
+      name = "_babel_parser___parser_7.17.0.tgz";
+      path = fetchurl {
+        name = "_babel_parser___parser_7.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.0.tgz";
+        sha512 = "VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw==";
+      };
+    }
+    {
+      name = "_babel_plugin_bugfix_safari_id_destructuring_collision_in_function_expression___plugin_bugfix_safari_id_destructuring_collision_in_function_expression_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_bugfix_safari_id_destructuring_collision_in_function_expression___plugin_bugfix_safari_id_destructuring_collision_in_function_expression_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz";
+        sha512 = "anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==";
+      };
+    }
+    {
+      name = "_babel_plugin_bugfix_v8_spread_parameters_in_optional_chaining___plugin_bugfix_v8_spread_parameters_in_optional_chaining_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_bugfix_v8_spread_parameters_in_optional_chaining___plugin_bugfix_v8_spread_parameters_in_optional_chaining_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz";
+        sha512 = "di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==";
+      };
+    }
+    {
       name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.13.8.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.13.8.tgz";
@@ -282,6 +554,14 @@
       };
     }
     {
+      name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.16.8.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.16.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz";
+        sha512 = "71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==";
+      };
+    }
+    {
       name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.13.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.13.0.tgz";
@@ -290,6 +570,22 @@
       };
     }
     {
+      name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz";
+        sha512 = "IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_class_static_block___plugin_proposal_class_static_block_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_class_static_block___plugin_proposal_class_static_block_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz";
+        sha512 = "dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw==";
+      };
+    }
+    {
       name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.13.8.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.13.8.tgz";
@@ -298,6 +594,14 @@
       };
     }
     {
+      name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz";
+        sha512 = "I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==";
+      };
+    }
+    {
       name = "_babel_plugin_proposal_export_namespace_from___plugin_proposal_export_namespace_from_7.14.2.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_export_namespace_from___plugin_proposal_export_namespace_from_7.14.2.tgz";
@@ -306,6 +610,14 @@
       };
     }
     {
+      name = "_babel_plugin_proposal_export_namespace_from___plugin_proposal_export_namespace_from_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_export_namespace_from___plugin_proposal_export_namespace_from_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz";
+        sha512 = "ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==";
+      };
+    }
+    {
       name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.13.8.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.13.8.tgz";
@@ -314,6 +626,14 @@
       };
     }
     {
+      name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz";
+        sha512 = "lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==";
+      };
+    }
+    {
       name = "_babel_plugin_proposal_logical_assignment_operators___plugin_proposal_logical_assignment_operators_7.13.8.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_logical_assignment_operators___plugin_proposal_logical_assignment_operators_7.13.8.tgz";
@@ -322,6 +642,14 @@
       };
     }
     {
+      name = "_babel_plugin_proposal_logical_assignment_operators___plugin_proposal_logical_assignment_operators_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_logical_assignment_operators___plugin_proposal_logical_assignment_operators_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz";
+        sha512 = "K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==";
+      };
+    }
+    {
       name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.13.8.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.13.8.tgz";
@@ -330,6 +658,14 @@
       };
     }
     {
+      name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz";
+        sha512 = "aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==";
+      };
+    }
+    {
       name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.14.2.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.14.2.tgz";
@@ -338,6 +674,14 @@
       };
     }
     {
+      name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz";
+        sha512 = "vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==";
+      };
+    }
+    {
       name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.14.7.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.14.7.tgz";
@@ -346,6 +690,14 @@
       };
     }
     {
+      name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz";
+        sha512 = "3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA==";
+      };
+    }
+    {
       name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.13.8.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.13.8.tgz";
@@ -354,6 +706,14 @@
       };
     }
     {
+      name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz";
+        sha512 = "eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==";
+      };
+    }
+    {
       name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.13.8.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.13.8.tgz";
@@ -362,6 +722,14 @@
       };
     }
     {
+      name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz";
+        sha512 = "eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==";
+      };
+    }
+    {
       name = "_babel_plugin_proposal_private_methods___plugin_proposal_private_methods_7.13.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_private_methods___plugin_proposal_private_methods_7.13.0.tgz";
@@ -370,6 +738,22 @@
       };
     }
     {
+      name = "_babel_plugin_proposal_private_methods___plugin_proposal_private_methods_7.16.11.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_private_methods___plugin_proposal_private_methods_7.16.11.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz";
+        sha512 = "F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==";
+      };
+    }
+    {
+      name = "_babel_plugin_proposal_private_property_in_object___plugin_proposal_private_property_in_object_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_private_property_in_object___plugin_proposal_private_property_in_object_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz";
+        sha512 = "rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==";
+      };
+    }
+    {
       name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.12.13.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.12.13.tgz";
@@ -378,6 +762,14 @@
       };
     }
     {
+      name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz";
+        sha512 = "QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==";
+      };
+    }
+    {
       name = "_babel_plugin_syntax_async_generators___plugin_syntax_async_generators_7.8.4.tgz";
       path = fetchurl {
         name = "_babel_plugin_syntax_async_generators___plugin_syntax_async_generators_7.8.4.tgz";
@@ -394,6 +786,14 @@
       };
     }
     {
+      name = "_babel_plugin_syntax_class_static_block___plugin_syntax_class_static_block_7.14.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_class_static_block___plugin_syntax_class_static_block_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz";
+        sha512 = "b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==";
+      };
+    }
+    {
       name = "_babel_plugin_syntax_dynamic_import___plugin_syntax_dynamic_import_7.8.3.tgz";
       path = fetchurl {
         name = "_babel_plugin_syntax_dynamic_import___plugin_syntax_dynamic_import_7.8.3.tgz";
@@ -426,6 +826,14 @@
       };
     }
     {
+      name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz";
+        sha512 = "Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==";
+      };
+    }
+    {
       name = "_babel_plugin_syntax_logical_assignment_operators___plugin_syntax_logical_assignment_operators_7.10.4.tgz";
       path = fetchurl {
         name = "_babel_plugin_syntax_logical_assignment_operators___plugin_syntax_logical_assignment_operators_7.10.4.tgz";
@@ -474,6 +882,14 @@
       };
     }
     {
+      name = "_babel_plugin_syntax_private_property_in_object___plugin_syntax_private_property_in_object_7.14.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_private_property_in_object___plugin_syntax_private_property_in_object_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz";
+        sha512 = "0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==";
+      };
+    }
+    {
       name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.12.13.tgz";
       path = fetchurl {
         name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.12.13.tgz";
@@ -482,6 +898,14 @@
       };
     }
     {
+      name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.14.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz";
+        sha512 = "hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==";
+      };
+    }
+    {
       name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.14.5.tgz";
       path = fetchurl {
         name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.14.5.tgz";
@@ -498,6 +922,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz";
+        sha512 = "9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.13.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.13.0.tgz";
@@ -506,6 +938,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.16.8.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.16.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz";
+        sha512 = "MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.12.13.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.12.13.tgz";
@@ -514,6 +954,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz";
+        sha512 = "JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.14.2.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.14.2.tgz";
@@ -522,6 +970,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz";
+        sha512 = "ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_classes___plugin_transform_classes_7.13.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_classes___plugin_transform_classes_7.13.0.tgz";
@@ -530,6 +986,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_classes___plugin_transform_classes_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_classes___plugin_transform_classes_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz";
+        sha512 = "WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.13.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.13.0.tgz";
@@ -538,6 +1002,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz";
+        sha512 = "gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.13.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.13.0.tgz";
@@ -546,6 +1018,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz";
+        sha512 = "VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.12.13.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.12.13.tgz";
@@ -554,6 +1034,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz";
+        sha512 = "Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.12.13.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.12.13.tgz";
@@ -562,6 +1050,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz";
+        sha512 = "03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.12.13.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.12.13.tgz";
@@ -570,6 +1066,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz";
+        sha512 = "8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.13.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.13.0.tgz";
@@ -578,6 +1082,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz";
+        sha512 = "/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.12.13.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.12.13.tgz";
@@ -586,6 +1098,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz";
+        sha512 = "SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_literals___plugin_transform_literals_7.12.13.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_literals___plugin_transform_literals_7.12.13.tgz";
@@ -594,6 +1114,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_literals___plugin_transform_literals_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_literals___plugin_transform_literals_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz";
+        sha512 = "6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.12.13.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.12.13.tgz";
@@ -602,6 +1130,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz";
+        sha512 = "mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.13.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.13.0.tgz";
@@ -610,6 +1146,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz";
+        sha512 = "KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.13.8.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.13.8.tgz";
@@ -618,6 +1162,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.16.8.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.16.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz";
+        sha512 = "oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.13.8.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.13.8.tgz";
@@ -626,6 +1178,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz";
+        sha512 = "DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.13.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.13.0.tgz";
@@ -634,6 +1194,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz";
+        sha512 = "EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.12.13.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.12.13.tgz";
@@ -642,6 +1210,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.16.8.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.16.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz";
+        sha512 = "j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.12.13.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.12.13.tgz";
@@ -650,6 +1226,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz";
+        sha512 = "xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.12.13.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.12.13.tgz";
@@ -658,6 +1242,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz";
+        sha512 = "14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.14.5.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.14.5.tgz";
@@ -666,6 +1258,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz";
+        sha512 = "AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.12.13.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.12.13.tgz";
@@ -674,6 +1274,22 @@
       };
     }
     {
+      name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz";
+        sha512 = "z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==";
+      };
+    }
+    {
+      name = "_babel_plugin_transform_react_constant_elements___plugin_transform_react_constant_elements_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_react_constant_elements___plugin_transform_react_constant_elements_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.16.7.tgz";
+        sha512 = "lF+cfsyTgwWkcw715J88JhMYJ5GpysYNLhLP1PkvkhTRN7B3e74R/1KsDxFxhRpSn0UUD3IWM4GvdBR2PEbbQQ==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.14.2.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.14.2.tgz";
@@ -682,6 +1298,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz";
+        sha512 = "qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_react_jsx_development___plugin_transform_react_jsx_development_7.12.17.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_react_jsx_development___plugin_transform_react_jsx_development_7.12.17.tgz";
@@ -690,6 +1314,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_react_jsx_development___plugin_transform_react_jsx_development_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_react_jsx_development___plugin_transform_react_jsx_development_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz";
+        sha512 = "RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.13.12.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.13.12.tgz";
@@ -698,6 +1330,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.7.tgz";
+        sha512 = "8D16ye66fxiE8m890w0BpPpngG9o9OVBBy0gH2E+2AR7qMR2ZpTYJEqLxAsoroenMId0p/wMW+Blc0meDgu0Ag==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_react_pure_annotations___plugin_transform_react_pure_annotations_7.12.1.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_react_pure_annotations___plugin_transform_react_pure_annotations_7.12.1.tgz";
@@ -706,6 +1346,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_react_pure_annotations___plugin_transform_react_pure_annotations_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_react_pure_annotations___plugin_transform_react_pure_annotations_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.7.tgz";
+        sha512 = "hs71ToC97k3QWxswh2ElzMFABXHvGiJ01IB1TbYQDGeWRKWz/MPUTh5jGExdHvosYKpnJW5Pm3S4+TA3FyX+GA==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.13.15.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.13.15.tgz";
@@ -714,6 +1362,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz";
+        sha512 = "mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.12.13.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.12.13.tgz";
@@ -722,6 +1378,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz";
+        sha512 = "KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.12.13.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.12.13.tgz";
@@ -730,6 +1394,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz";
+        sha512 = "hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_spread___plugin_transform_spread_7.13.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_spread___plugin_transform_spread_7.13.0.tgz";
@@ -738,6 +1410,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_spread___plugin_transform_spread_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_spread___plugin_transform_spread_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz";
+        sha512 = "+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.12.13.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.12.13.tgz";
@@ -746,6 +1426,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz";
+        sha512 = "NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.13.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.13.0.tgz";
@@ -754,6 +1442,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz";
+        sha512 = "VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.12.13.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.12.13.tgz";
@@ -762,6 +1458,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz";
+        sha512 = "p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_typescript___plugin_transform_typescript_7.14.6.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_typescript___plugin_transform_typescript_7.14.6.tgz";
@@ -778,6 +1482,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_unicode_escapes___plugin_transform_unicode_escapes_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_unicode_escapes___plugin_transform_unicode_escapes_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz";
+        sha512 = "TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==";
+      };
+    }
+    {
       name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.12.13.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.12.13.tgz";
@@ -786,6 +1498,14 @@
       };
     }
     {
+      name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz";
+        sha512 = "oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==";
+      };
+    }
+    {
       name = "_babel_preset_env___preset_env_7.13.9.tgz";
       path = fetchurl {
         name = "_babel_preset_env___preset_env_7.13.9.tgz";
@@ -794,6 +1514,14 @@
       };
     }
     {
+      name = "_babel_preset_env___preset_env_7.16.11.tgz";
+      path = fetchurl {
+        name = "_babel_preset_env___preset_env_7.16.11.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.11.tgz";
+        sha512 = "qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==";
+      };
+    }
+    {
       name = "_babel_preset_modules___preset_modules_0.1.4.tgz";
       path = fetchurl {
         name = "_babel_preset_modules___preset_modules_0.1.4.tgz";
@@ -802,6 +1530,14 @@
       };
     }
     {
+      name = "_babel_preset_modules___preset_modules_0.1.5.tgz";
+      path = fetchurl {
+        name = "_babel_preset_modules___preset_modules_0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz";
+        sha512 = "A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==";
+      };
+    }
+    {
       name = "_babel_preset_react___preset_react_7.13.13.tgz";
       path = fetchurl {
         name = "_babel_preset_react___preset_react_7.13.13.tgz";
@@ -810,6 +1546,14 @@
       };
     }
     {
+      name = "_babel_preset_react___preset_react_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_preset_react___preset_react_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.16.7.tgz";
+        sha512 = "fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA==";
+      };
+    }
+    {
       name = "_babel_preset_typescript___preset_typescript_7.14.5.tgz";
       path = fetchurl {
         name = "_babel_preset_typescript___preset_typescript_7.14.5.tgz";
@@ -826,6 +1570,14 @@
       };
     }
     {
+      name = "_babel_runtime___runtime_7.17.0.tgz";
+      path = fetchurl {
+        name = "_babel_runtime___runtime_7.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.0.tgz";
+        sha512 = "etcO/ohMNaNA2UBdaXBBSX/3aEzFMRrVfaPv8Ptc0k+cWpWW0QFiGZ2XnVqQZI1Cf734LbPGmqBKWESfW4x/dQ==";
+      };
+    }
+    {
       name = "_babel_template___template_7.14.5.tgz";
       path = fetchurl {
         name = "_babel_template___template_7.14.5.tgz";
@@ -834,6 +1586,14 @@
       };
     }
     {
+      name = "_babel_template___template_7.16.7.tgz";
+      path = fetchurl {
+        name = "_babel_template___template_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz";
+        sha512 = "I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==";
+      };
+    }
+    {
       name = "_babel_traverse___traverse_7.14.7.tgz";
       path = fetchurl {
         name = "_babel_traverse___traverse_7.14.7.tgz";
@@ -842,6 +1602,14 @@
       };
     }
     {
+      name = "_babel_traverse___traverse_7.17.0.tgz";
+      path = fetchurl {
+        name = "_babel_traverse___traverse_7.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.0.tgz";
+        sha512 = "fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg==";
+      };
+    }
+    {
       name = "_babel_types___types_7.15.4.tgz";
       path = fetchurl {
         name = "_babel_types___types_7.15.4.tgz";
@@ -850,6 +1618,22 @@
       };
     }
     {
+      name = "_babel_types___types_7.17.0.tgz";
+      path = fetchurl {
+        name = "_babel_types___types_7.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz";
+        sha512 = "TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==";
+      };
+    }
+    {
+      name = "_colors_colors___colors_1.5.0.tgz";
+      path = fetchurl {
+        name = "_colors_colors___colors_1.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz";
+        sha512 = "ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==";
+      };
+    }
+    {
       name = "_date_io_core___core_1.3.13.tgz";
       path = fetchurl {
         name = "_date_io_core___core_1.3.13.tgz";
@@ -1066,6 +1850,22 @@
       };
     }
     {
+      name = "_jridgewell_resolve_uri___resolve_uri_3.0.4.tgz";
+      path = fetchurl {
+        name = "_jridgewell_resolve_uri___resolve_uri_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.4.tgz";
+        sha512 = "cz8HFjOFfUBtvN+NXYSFMHYRdxZMaEl0XypVrhzxBgadKIXhIkRd8aMeHhmF56Sl7SuS8OnUpQ73/k9LE4VnLg==";
+      };
+    }
+    {
+      name = "_jridgewell_trace_mapping___trace_mapping_0.2.5.tgz";
+      path = fetchurl {
+        name = "_jridgewell_trace_mapping___trace_mapping_0.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.2.5.tgz";
+        sha512 = "K+Eths78fXDFOvQ2hgJhCiI5s+g81r2yXmACBpbn+f2+Qt94PNoTgUcAXPT8DZkhXCsZRsHVWVtY5KIBMcpDqQ==";
+      };
+    }
+    {
       name = "_material_ui_core___core_4.11.0.tgz";
       path = fetchurl {
         name = "_material_ui_core___core_4.11.0.tgz";
@@ -1250,6 +2050,14 @@
       };
     }
     {
+      name = "_socket.io_base64_arraybuffer___base64_arraybuffer_1.0.2.tgz";
+      path = fetchurl {
+        name = "_socket.io_base64_arraybuffer___base64_arraybuffer_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz";
+        sha512 = "dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==";
+      };
+    }
+    {
       name = "_sphinxxxx_color_conversion___color_conversion_2.2.2.tgz";
       path = fetchurl {
         name = "_sphinxxxx_color_conversion___color_conversion_2.2.2.tgz";
@@ -1258,6 +2066,126 @@
       };
     }
     {
+      name = "_svgr_babel_plugin_add_jsx_attribute___babel_plugin_add_jsx_attribute_5.4.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_add_jsx_attribute___babel_plugin_add_jsx_attribute_5.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz";
+        sha512 = "ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_remove_jsx_attribute___babel_plugin_remove_jsx_attribute_5.4.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_remove_jsx_attribute___babel_plugin_remove_jsx_attribute_5.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz";
+        sha512 = "yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_remove_jsx_empty_expression___babel_plugin_remove_jsx_empty_expression_5.0.1.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_remove_jsx_empty_expression___babel_plugin_remove_jsx_empty_expression_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz";
+        sha512 = "LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_replace_jsx_attribute_value___babel_plugin_replace_jsx_attribute_value_5.0.1.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_replace_jsx_attribute_value___babel_plugin_replace_jsx_attribute_value_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz";
+        sha512 = "PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_svg_dynamic_title___babel_plugin_svg_dynamic_title_5.4.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_svg_dynamic_title___babel_plugin_svg_dynamic_title_5.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz";
+        sha512 = "zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_svg_em_dimensions___babel_plugin_svg_em_dimensions_5.4.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_svg_em_dimensions___babel_plugin_svg_em_dimensions_5.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz";
+        sha512 = "cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_transform_react_native_svg___babel_plugin_transform_react_native_svg_5.4.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_transform_react_native_svg___babel_plugin_transform_react_native_svg_5.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz";
+        sha512 = "3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==";
+      };
+    }
+    {
+      name = "_svgr_babel_plugin_transform_svg_component___babel_plugin_transform_svg_component_5.5.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_plugin_transform_svg_component___babel_plugin_transform_svg_component_5.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz";
+        sha512 = "q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==";
+      };
+    }
+    {
+      name = "_svgr_babel_preset___babel_preset_5.5.0.tgz";
+      path = fetchurl {
+        name = "_svgr_babel_preset___babel_preset_5.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-5.5.0.tgz";
+        sha512 = "4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==";
+      };
+    }
+    {
+      name = "_svgr_core___core_5.5.0.tgz";
+      path = fetchurl {
+        name = "_svgr_core___core_5.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/core/-/core-5.5.0.tgz";
+        sha512 = "q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==";
+      };
+    }
+    {
+      name = "_svgr_hast_util_to_babel_ast___hast_util_to_babel_ast_5.5.0.tgz";
+      path = fetchurl {
+        name = "_svgr_hast_util_to_babel_ast___hast_util_to_babel_ast_5.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz";
+        sha512 = "cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==";
+      };
+    }
+    {
+      name = "_svgr_plugin_jsx___plugin_jsx_5.5.0.tgz";
+      path = fetchurl {
+        name = "_svgr_plugin_jsx___plugin_jsx_5.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz";
+        sha512 = "V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==";
+      };
+    }
+    {
+      name = "_svgr_plugin_svgo___plugin_svgo_5.5.0.tgz";
+      path = fetchurl {
+        name = "_svgr_plugin_svgo___plugin_svgo_5.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz";
+        sha512 = "r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==";
+      };
+    }
+    {
+      name = "_svgr_webpack___webpack_5.5.0.tgz";
+      path = fetchurl {
+        name = "_svgr_webpack___webpack_5.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-5.5.0.tgz";
+        sha512 = "DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==";
+      };
+    }
+    {
+      name = "_szhsin_react_menu___react_menu_2.3.3.tgz";
+      path = fetchurl {
+        name = "_szhsin_react_menu___react_menu_2.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/@szhsin/react-menu/-/react-menu-2.3.3.tgz";
+        sha512 = "CbZumbMZI+lWMLe6wp0nVepbEc1XQIyMZnLwQG3barQe5wLiDWUYnWbfys9759Ejt6f6d8e/B6k1ZdefkcRqUQ==";
+      };
+    }
+    {
       name = "_tippyjs_react___react_4.2.3.tgz";
       path = fetchurl {
         name = "_tippyjs_react___react_4.2.3.tgz";
@@ -1298,19 +2226,19 @@
       };
     }
     {
-      name = "_types_cookie___cookie_0.4.0.tgz";
+      name = "_types_cookie___cookie_0.4.1.tgz";
       path = fetchurl {
-        name = "_types_cookie___cookie_0.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.0.tgz";
-        sha512 = "y7mImlc/rNkvCRmg8gC3/lj87S7pTUIJ6QGjwHR9WQJcFs+ZMTOaoPrkdFA/YdbuqVEmEbb5RdhVxMkAcgOnpg==";
+        name = "_types_cookie___cookie_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz";
+        sha512 = "XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==";
       };
     }
     {
-      name = "_types_cors___cors_2.8.10.tgz";
+      name = "_types_cors___cors_2.8.12.tgz";
       path = fetchurl {
-        name = "_types_cors___cors_2.8.10.tgz";
-        url  = "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.10.tgz";
-        sha512 = "C7srjHiVG3Ey1nR6d511dtDkCEjxuN9W1HWAEjGq8kpcwmNM6JJkpC0xvabM7BXTG2wDq8Eu33iH9aQKa7IvLQ==";
+        name = "_types_cors___cors_2.8.12.tgz";
+        url  = "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz";
+        sha512 = "vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==";
       };
     }
     {
@@ -1794,6 +2722,14 @@
       };
     }
     {
+      name = "ajv___ajv_8.9.0.tgz";
+      path = fetchurl {
+        name = "ajv___ajv_8.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/ajv/-/ajv-8.9.0.tgz";
+        sha512 = "qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==";
+      };
+    }
+    {
     name = "AlertifyJS";
     path =
       let
@@ -2138,6 +3074,14 @@
       };
     }
     {
+      name = "babel_plugin_polyfill_corejs2___babel_plugin_polyfill_corejs2_0.3.1.tgz";
+      path = fetchurl {
+        name = "babel_plugin_polyfill_corejs2___babel_plugin_polyfill_corejs2_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz";
+        sha512 = "v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==";
+      };
+    }
+    {
       name = "babel_plugin_polyfill_corejs3___babel_plugin_polyfill_corejs3_0.1.7.tgz";
       path = fetchurl {
         name = "babel_plugin_polyfill_corejs3___babel_plugin_polyfill_corejs3_0.1.7.tgz";
@@ -2146,6 +3090,14 @@
       };
     }
     {
+      name = "babel_plugin_polyfill_corejs3___babel_plugin_polyfill_corejs3_0.5.2.tgz";
+      path = fetchurl {
+        name = "babel_plugin_polyfill_corejs3___babel_plugin_polyfill_corejs3_0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz";
+        sha512 = "G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==";
+      };
+    }
+    {
       name = "babel_plugin_polyfill_regenerator___babel_plugin_polyfill_regenerator_0.1.6.tgz";
       path = fetchurl {
         name = "babel_plugin_polyfill_regenerator___babel_plugin_polyfill_regenerator_0.1.6.tgz";
@@ -2154,6 +3106,14 @@
       };
     }
     {
+      name = "babel_plugin_polyfill_regenerator___babel_plugin_polyfill_regenerator_0.3.1.tgz";
+      path = fetchurl {
+        name = "babel_plugin_polyfill_regenerator___babel_plugin_polyfill_regenerator_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz";
+        sha512 = "Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==";
+      };
+    }
+    {
       name = "babel_plugin_styled_components___babel_plugin_styled_components_1.12.0.tgz";
       path = fetchurl {
         name = "babel_plugin_styled_components___babel_plugin_styled_components_1.12.0.tgz";
@@ -2466,6 +3426,14 @@
       };
     }
     {
+      name = "bowser___bowser_2.11.0.tgz";
+      path = fetchurl {
+        name = "bowser___bowser_2.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz";
+        sha512 = "AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==";
+      };
+    }
+    {
       name = "brace_expansion___brace_expansion_1.1.11.tgz";
       path = fetchurl {
         name = "brace_expansion___brace_expansion_1.1.11.tgz";
@@ -2474,6 +3442,14 @@
       };
     }
     {
+      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=";
+      };
+    }
+    {
       name = "braces___braces_3.0.2.tgz";
       path = fetchurl {
         name = "braces___braces_3.0.2.tgz";
@@ -2578,6 +3554,14 @@
       };
     }
     {
+      name = "browserslist___browserslist_4.19.1.tgz";
+      path = fetchurl {
+        name = "browserslist___browserslist_4.19.1.tgz";
+        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz";
+        sha512 = "u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==";
+      };
+    }
+    {
       name = "buffer_alloc_unsafe___buffer_alloc_unsafe_1.1.0.tgz";
       path = fetchurl {
         name = "buffer_alloc_unsafe___buffer_alloc_unsafe_1.1.0.tgz";
@@ -2738,11 +3722,11 @@
       };
     }
     {
-      name = "caniuse_lite___caniuse_lite_1.0.30001230.tgz";
+      name = "https___registry.npmjs.org_caniuse_lite___caniuse_lite_1.0.30001309.tgz";
       path = fetchurl {
-        name = "caniuse_lite___caniuse_lite_1.0.30001230.tgz";
-        url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001230.tgz";
-        sha512 = "5yBd5nWCBS+jWKTcHOzXwo5xzcj4ePE/yjtkZyUV1BTUmrBaA9MRGC+e7mxnqXSA90CmCA8L3eKLaSUkt099IQ==";
+        name = "https___registry.npmjs.org_caniuse_lite___caniuse_lite_1.0.30001309.tgz";
+        url  = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001309.tgz";
+        sha512 = "Pl8vfigmBXXq+/yUz1jUwULeq9xhMJznzdc/xwl4WclDAuebcTHVefpz8lE/bMI+UN7TOkSSe7B7RnZd6+dzjA==";
       };
     }
     {
@@ -2826,6 +3810,14 @@
       };
     }
     {
+      name = "chokidar___chokidar_3.5.3.tgz";
+      path = fetchurl {
+        name = "chokidar___chokidar_3.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz";
+        sha512 = "Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==";
+      };
+    }
+    {
       name = "chownr___chownr_2.0.0.tgz";
       path = fetchurl {
         name = "chownr___chownr_2.0.0.tgz";
@@ -2994,14 +3986,6 @@
       };
     }
     {
-      name = "colors___colors_1.4.0.tgz";
-      path = fetchurl {
-        name = "colors___colors_1.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz";
-        sha512 = "a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==";
-      };
-    }
-    {
       name = "combine_source_map___combine_source_map_0.8.0.tgz";
       path = fetchurl {
         name = "combine_source_map___combine_source_map_0.8.0.tgz";
@@ -3170,6 +4154,14 @@
       };
     }
     {
+      name = "copy_to_clipboard___copy_to_clipboard_3.3.1.tgz";
+      path = fetchurl {
+        name = "copy_to_clipboard___copy_to_clipboard_3.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz";
+        sha512 = "i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==";
+      };
+    }
+    {
       name = "copy_webpack_plugin___copy_webpack_plugin_7.0.0.tgz";
       path = fetchurl {
         name = "copy_webpack_plugin___copy_webpack_plugin_7.0.0.tgz";
@@ -3178,6 +4170,14 @@
       };
     }
     {
+      name = "core_js_compat___core_js_compat_3.21.0.tgz";
+      path = fetchurl {
+        name = "core_js_compat___core_js_compat_3.21.0.tgz";
+        url  = "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.21.0.tgz";
+        sha512 = "OSXseNPSK2OPJa6GdtkMz/XxeXx8/CJvfhQWTqd6neuUraujcL4jVsjkLQz1OWnax8xVQJnRPe0V2jqNWORA+A==";
+      };
+    }
+    {
       name = "core_js_compat___core_js_compat_3.9.1.tgz";
       path = fetchurl {
         name = "core_js_compat___core_js_compat_3.9.1.tgz";
@@ -3634,6 +4634,14 @@
       };
     }
     {
+      name = "deepmerge___deepmerge_4.2.2.tgz";
+      path = fetchurl {
+        name = "deepmerge___deepmerge_4.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz";
+        sha512 = "FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==";
+      };
+    }
+    {
       name = "define_properties___define_properties_1.1.3.tgz";
       path = fetchurl {
         name = "define_properties___define_properties_1.1.3.tgz";
@@ -3754,6 +4762,14 @@
       };
     }
     {
+      name = "dom_align___dom_align_1.12.2.tgz";
+      path = fetchurl {
+        name = "dom_align___dom_align_1.12.2.tgz";
+        url  = "https://registry.yarnpkg.com/dom-align/-/dom-align-1.12.2.tgz";
+        sha512 = "pHuazgqrsTFrGU2WLDdXxCFabkdQDx72ddkraZNih1KsMcN5qsRSTR9O4VJRlwTPCPb5COYg3LOfiMHHcPInHg==";
+      };
+    }
+    {
       name = "dom_helpers___dom_helpers_5.2.0.tgz";
       path = fetchurl {
         name = "dom_helpers___dom_helpers_5.2.0.tgz";
@@ -3906,6 +4922,14 @@
       };
     }
     {
+      name = "electron_to_chromium___electron_to_chromium_1.4.63.tgz";
+      path = fetchurl {
+        name = "electron_to_chromium___electron_to_chromium_1.4.63.tgz";
+        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.63.tgz";
+        sha512 = "e0PX/LRJPFRU4kzJKLvTobxyFdnANCvcoDCe8XcyTqP58nTWIwdsHvXLIl1RkB39X5yaosLaroMASWB0oIsgCA==";
+      };
+    }
+    {
       name = "elliptic___elliptic_6.5.4.tgz";
       path = fetchurl {
         name = "elliptic___elliptic_6.5.4.tgz";
@@ -3970,11 +4994,19 @@
       };
     }
     {
-      name = "engine.io___engine.io_4.1.2.tgz";
+      name = "engine.io_parser___engine.io_parser_5.0.3.tgz";
+      path = fetchurl {
+        name = "engine.io_parser___engine.io_parser_5.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.3.tgz";
+        sha512 = "BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==";
+      };
+    }
+    {
+      name = "engine.io___engine.io_6.1.2.tgz";
       path = fetchurl {
-        name = "engine.io___engine.io_4.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/engine.io/-/engine.io-4.1.2.tgz";
-        sha1 = "+WzrVtSznMfKW9KaIOnJnBrRp2U=";
+        name = "engine.io___engine.io_6.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/engine.io/-/engine.io-6.1.2.tgz";
+        sha512 = "v/7eGHxPvO2AWsksyx2PUsQvBafuvqs0jJJQ0FdmJG1b9qIvgSbqDRGwNhfk2XHaTTbTXiC4quRE8Q9nRjsrQQ==";
       };
     }
     {
@@ -4610,11 +5642,11 @@
       };
     }
     {
-      name = "follow_redirects___follow_redirects_1.14.7.tgz";
+      name = "follow_redirects___follow_redirects_1.14.8.tgz";
       path = fetchurl {
-        name = "follow_redirects___follow_redirects_1.14.7.tgz";
-        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz";
-        sha512 = "+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==";
+        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=";
       };
     }
     {
@@ -4834,6 +5866,14 @@
       };
     }
     {
+      name = "glob___glob_7.2.0.tgz";
+      path = fetchurl {
+        name = "glob___glob_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz";
+        sha512 = "lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==";
+      };
+    }
+    {
       name = "globals___globals_11.12.0.tgz";
       path = fetchurl {
         name = "globals___globals_11.12.0.tgz";
@@ -6186,6 +7226,14 @@
       };
     }
     {
+      name = "jsoneditor_react___jsoneditor_react_3.1.2.tgz";
+      path = fetchurl {
+        name = "jsoneditor_react___jsoneditor_react_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/jsoneditor-react/-/jsoneditor-react-3.1.2.tgz";
+        sha512 = "XqU8BMdIhrlS5HUnn7rGhgZw315bdJGQrf6NG5UH40FSw2xNirQrxnM05aeAplHkp8FNkzN2WX0tfvEWdl2UUA==";
+      };
+    }
+    {
       name = "jsoneditor___jsoneditor_9.5.6.tgz";
       path = fetchurl {
         name = "jsoneditor___jsoneditor_9.5.6.tgz";
@@ -6378,11 +7426,11 @@
       };
     }
     {
-      name = "karma___karma_6.3.2.tgz";
+      name = "karma___karma_6.3.17.tgz";
       path = fetchurl {
-        name = "karma___karma_6.3.2.tgz";
-        url  = "https://registry.yarnpkg.com/karma/-/karma-6.3.2.tgz";
-        sha512 = "fo4Wt0S99/8vylZMxNj4cBFyOBBnC1bewZ0QOlePij/2SZVWxqbyLeIddY13q6URa2EpLRW8ixvFRUMjkmo1bw==";
+        name = "karma___karma_6.3.17.tgz";
+        url  = "https://registry.yarnpkg.com/karma/-/karma-6.3.17.tgz";
+        sha512 = "2TfjHwrRExC8yHoWlPBULyaLwAFmXmxQrcuFImt/JsAsSZu1uOWTZ1ZsWjqQtWpHLiatJOHL5jFjXSJIgCd01g==";
       };
     }
     {
@@ -6818,6 +7866,14 @@
       };
     }
     {
+      name = "mime___mime_2.6.0.tgz";
+      path = fetchurl {
+        name = "mime___mime_2.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz";
+        sha512 = "USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==";
+      };
+    }
+    {
       name = "mimic_fn___mimic_fn_2.1.0.tgz";
       path = fetchurl {
         name = "mimic_fn___mimic_fn_2.1.0.tgz";
@@ -6938,14 +7994,6 @@
       };
     }
     {
-      name = "mkdirp___mkdirp_1.0.4.tgz";
-      path = fetchurl {
-        name = "mkdirp___mkdirp_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz";
-        sha512 = "vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==";
-      };
-    }
-    {
       name = "mkdirp___mkdirp_0.5.5.tgz";
       path = fetchurl {
         name = "mkdirp___mkdirp_0.5.5.tgz";
@@ -6954,6 +8002,14 @@
       };
     }
     {
+      name = "mkdirp___mkdirp_1.0.4.tgz";
+      path = fetchurl {
+        name = "mkdirp___mkdirp_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz";
+        sha512 = "vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==";
+      };
+    }
+    {
       name = "ml_array_max___ml_array_max_1.2.3.tgz";
       path = fetchurl {
         name = "ml_array_max___ml_array_max_1.2.3.tgz";
@@ -7162,6 +8218,14 @@
       };
     }
     {
+      name = "node_releases___node_releases_2.0.1.tgz";
+      path = fetchurl {
+        name = "node_releases___node_releases_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz";
+        sha512 = "CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==";
+      };
+    }
+    {
       name = "nopt___nopt_5.0.0.tgz";
       path = fetchurl {
         name = "nopt___nopt_5.0.0.tgz";
@@ -7770,6 +8834,14 @@
         '';
   }
     {
+      name = "picocolors___picocolors_1.0.0.tgz";
+      path = fetchurl {
+        name = "picocolors___picocolors_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz";
+        sha512 = "1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==";
+      };
+    }
+    {
       name = "picomatch___picomatch_2.3.0.tgz";
       path = fetchurl {
         name = "picomatch___picomatch_2.3.0.tgz";
@@ -8394,6 +9466,94 @@
       };
     }
     {
+      name = "rc_align___rc_align_4.0.11.tgz";
+      path = fetchurl {
+        name = "rc_align___rc_align_4.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/rc-align/-/rc-align-4.0.11.tgz";
+        sha512 = "n9mQfIYQbbNTbefyQnRHZPWuTEwG1rY4a9yKlIWHSTbgwI+XUMGRYd0uJ5pE2UbrNX0WvnMBA1zJ3Lrecpra/A==";
+      };
+    }
+    {
+      name = "rc_dock___rc_dock_3.2.10.tgz";
+      path = fetchurl {
+        name = "rc_dock___rc_dock_3.2.10.tgz";
+        url  = "https://registry.yarnpkg.com/rc-dock/-/rc-dock-3.2.10.tgz";
+        sha512 = "2AuetRxiM4gIY1RYCOJikBdJMphj/joiFiAz9X//ZiYnWY6z0tpuo/6X7jHCSojtn/OSQJZKvs+sXiMtrbmCJA==";
+      };
+    }
+    {
+      name = "rc_dropdown___rc_dropdown_3.3.0.tgz";
+      path = fetchurl {
+        name = "rc_dropdown___rc_dropdown_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-3.3.0.tgz";
+        sha512 = "UvNfeqpaNFbCyMUN4m0r+EPqXQgcwVSA4R4Gt4cs/MzIAIK0X6v0WNfwzlmvrwAY8lzY+zn9qakhehHnD87NCA==";
+      };
+    }
+    {
+      name = "rc_menu___rc_menu_9.3.2.tgz";
+      path = fetchurl {
+        name = "rc_menu___rc_menu_9.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/rc-menu/-/rc-menu-9.3.2.tgz";
+        sha512 = "h3m45oY1INZyqphGELkdT0uiPnFzxkML8m0VMhJnk2fowtqfiT7F5tJLT3znEVaPIY80vMy1bClCkgq8U91CzQ==";
+      };
+    }
+    {
+      name = "rc_motion___rc_motion_2.4.4.tgz";
+      path = fetchurl {
+        name = "rc_motion___rc_motion_2.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.4.4.tgz";
+        sha512 = "ms7n1+/TZQBS0Ydd2Q5P4+wJTSOrhIrwNxLXCZpR7Fa3/oac7Yi803HDALc2hLAKaCTQtw9LmQeB58zcwOsqlQ==";
+      };
+    }
+    {
+      name = "rc_new_window___rc_new_window_0.1.13.tgz";
+      path = fetchurl {
+        name = "rc_new_window___rc_new_window_0.1.13.tgz";
+        url  = "https://registry.yarnpkg.com/rc-new-window/-/rc-new-window-0.1.13.tgz";
+        sha512 = "KqANLQVfgNcfs+R4ntpzV5ELyqXMlAUimdSfFHapk2VwsoZX3y+BK2RjFBFb7q865yqAshP87g0PbIPqblKVTg==";
+      };
+    }
+    {
+      name = "rc_overflow___rc_overflow_1.2.2.tgz";
+      path = fetchurl {
+        name = "rc_overflow___rc_overflow_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/rc-overflow/-/rc-overflow-1.2.2.tgz";
+        sha512 = "X5kj9LDU1ue5wHkqvCprJWLKC+ZLs3p4He/oxjZ1Q4NKaqKBaYf5OdSzRSgh3WH8kSdrfU8LjvlbWnHgJOEkNQ==";
+      };
+    }
+    {
+      name = "rc_resize_observer___rc_resize_observer_1.2.0.tgz";
+      path = fetchurl {
+        name = "rc_resize_observer___rc_resize_observer_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-1.2.0.tgz";
+        sha512 = "6W+UzT3PyDM0wVCEHfoW3qTHPTvbdSgiA43buiy8PzmeMnfgnDeb9NjdimMXMl3/TcrvvWl5RRVdp+NqcR47pQ==";
+      };
+    }
+    {
+      name = "rc_tabs___rc_tabs_11.10.5.tgz";
+      path = fetchurl {
+        name = "rc_tabs___rc_tabs_11.10.5.tgz";
+        url  = "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-11.10.5.tgz";
+        sha512 = "DDuUdV6b9zGRYLtjI5hyejWLKoz1QiLWNgMeBzc3aMeQylZFhTYnFGdDc6HRqj5IYearNTsFPVSA+6VIT8g5cg==";
+      };
+    }
+    {
+      name = "rc_trigger___rc_trigger_5.2.10.tgz";
+      path = fetchurl {
+        name = "rc_trigger___rc_trigger_5.2.10.tgz";
+        url  = "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-5.2.10.tgz";
+        sha512 = "FkUf4H9BOFDaIwu42fvRycXMAvkttph9AlbCZXssZDVzz2L+QZ0ERvfB/4nX3ZFPh1Zd+uVGr1DEDeXxq4J1TA==";
+      };
+    }
+    {
+      name = "rc_util___rc_util_5.17.0.tgz";
+      path = fetchurl {
+        name = "rc_util___rc_util_5.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/rc-util/-/rc-util-5.17.0.tgz";
+        sha512 = "HWuTIKzBeZQQ7IBqdokE0wMp/xx39/KfUJ0gcquBigoldDCrf3YBcWFHrrQlJG7sI82Wg8mwp1uAKV3zMGfAgg==";
+      };
+    }
+    {
       name = "react_aspen___react_aspen_1.1.1.tgz";
       path = fetchurl {
         name = "react_aspen___react_aspen_1.1.1.tgz";
@@ -8442,14 +9602,6 @@
       };
     }
     {
-      name = "react_is___react_is_17.0.2.tgz";
-      path = fetchurl {
-        name = "react_is___react_is_17.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz";
-        sha512 = "w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==";
-      };
-    }
-    {
       name = "react_is___react_is_16.13.1.tgz";
       path = fetchurl {
         name = "react_is___react_is_16.13.1.tgz";
@@ -8458,6 +9610,14 @@
       };
     }
     {
+      name = "react_is___react_is_17.0.2.tgz";
+      path = fetchurl {
+        name = "react_is___react_is_17.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz";
+        sha512 = "w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==";
+      };
+    }
+    {
       name = "react_property___react_property_1.0.1.tgz";
       path = fetchurl {
         name = "react_property___react_property_1.0.1.tgz";
@@ -8498,6 +9658,14 @@
       };
     }
     {
+      name = "react_timer_hook___react_timer_hook_3.0.5.tgz";
+      path = fetchurl {
+        name = "react_timer_hook___react_timer_hook_3.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/react-timer-hook/-/react-timer-hook-3.0.5.tgz";
+        sha512 = "n+98SdmYvui2ne3KyWb3Ldu4k0NYQa3g/VzW6VEIfZJ8GAk/jJsIY700M8Nd2vNSTj05c7wKyQfJBqZ0x7zfiA==";
+      };
+    }
+    {
       name = "react_transition_group___react_transition_group_4.4.1.tgz";
       path = fetchurl {
         name = "react_transition_group___react_transition_group_4.4.1.tgz";
@@ -8506,6 +9674,14 @@
       };
     }
     {
+      name = "react_transition_state___react_transition_state_1.1.3.tgz";
+      path = fetchurl {
+        name = "react_transition_state___react_transition_state_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/react-transition-state/-/react-transition-state-1.1.3.tgz";
+        sha512 = "Wvfq9yUGSaZTySRv/cMz6fguVNtl7UNF23DmogQok4FeRYZWL0oUvhrSCU5R9aYEGG5t6IoNWwpZOYW8+VPVcg==";
+      };
+    }
+    {
       name = "react_virtualized_auto_sizer___react_virtualized_auto_sizer_1.0.6.tgz";
       path = fetchurl {
         name = "react_virtualized_auto_sizer___react_virtualized_auto_sizer_1.0.6.tgz";
@@ -8578,6 +9754,14 @@
       };
     }
     {
+      name = "readdirp___readdirp_3.6.0.tgz";
+      path = fetchurl {
+        name = "readdirp___readdirp_3.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz";
+        sha512 = "hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==";
+      };
+    }
+    {
       name = "rechoir___rechoir_0.7.0.tgz";
       path = fetchurl {
         name = "rechoir___rechoir_0.7.0.tgz";
@@ -8594,6 +9778,14 @@
       };
     }
     {
+      name = "regenerate_unicode_properties___regenerate_unicode_properties_10.0.1.tgz";
+      path = fetchurl {
+        name = "regenerate_unicode_properties___regenerate_unicode_properties_10.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz";
+        sha512 = "vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==";
+      };
+    }
+    {
       name = "regenerate_unicode_properties___regenerate_unicode_properties_8.2.0.tgz";
       path = fetchurl {
         name = "regenerate_unicode_properties___regenerate_unicode_properties_8.2.0.tgz";
@@ -8658,6 +9850,14 @@
       };
     }
     {
+      name = "regexpu_core___regexpu_core_5.0.1.tgz";
+      path = fetchurl {
+        name = "regexpu_core___regexpu_core_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.0.1.tgz";
+        sha512 = "CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==";
+      };
+    }
+    {
       name = "regjsgen___regjsgen_0.5.2.tgz";
       path = fetchurl {
         name = "regjsgen___regjsgen_0.5.2.tgz";
@@ -8666,6 +9866,14 @@
       };
     }
     {
+      name = "regjsgen___regjsgen_0.6.0.tgz";
+      path = fetchurl {
+        name = "regjsgen___regjsgen_0.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.6.0.tgz";
+        sha512 = "ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==";
+      };
+    }
+    {
       name = "regjsparser___regjsparser_0.6.9.tgz";
       path = fetchurl {
         name = "regjsparser___regjsparser_0.6.9.tgz";
@@ -8674,6 +9882,14 @@
       };
     }
     {
+      name = "regjsparser___regjsparser_0.8.4.tgz";
+      path = fetchurl {
+        name = "regjsparser___regjsparser_0.8.4.tgz";
+        url  = "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.8.4.tgz";
+        sha512 = "J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==";
+      };
+    }
+    {
       name = "repeating___repeating_2.0.1.tgz";
       path = fetchurl {
         name = "repeating___repeating_2.0.1.tgz";
@@ -9234,11 +10450,11 @@
       };
     }
     {
-      name = "socket.io_adapter___socket.io_adapter_2.1.0.tgz";
+      name = "socket.io_adapter___socket.io_adapter_2.3.3.tgz";
       path = fetchurl {
-        name = "socket.io_adapter___socket.io_adapter_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.1.0.tgz";
-        sha512 = "+vDov/aTsLjViYTwS9fPy5pEtTkrbEKsw2M+oVSoFGw6OD1IpvlV1VPhUzNbofCQ8oyMbdYJqDtGdmHQK6TdPg==";
+        name = "socket.io_adapter___socket.io_adapter_2.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz";
+        sha512 = "Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ==";
       };
     }
     {
@@ -9258,11 +10474,11 @@
       };
     }
     {
-      name = "socket.io___socket.io_3.1.2.tgz";
+      name = "socket.io___socket.io_4.4.1.tgz";
       path = fetchurl {
-        name = "socket.io___socket.io_3.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/socket.io/-/socket.io-3.1.2.tgz";
-        sha512 = "JubKZnTQ4Z8G4IZWtaAZSiRP3I/inpy8c/Bsx2jrwGrTbKeVU5xd6qkKMHpChYeM3dWZSO0QACiGK+obhBNwYw==";
+        name = "socket.io___socket.io_4.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/socket.io/-/socket.io-4.4.1.tgz";
+        sha512 = "s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==";
       };
     }
     {
@@ -9354,6 +10570,14 @@
       };
     }
     {
+      name = "sourcemap_codec___sourcemap_codec_1.4.8.tgz";
+      path = fetchurl {
+        name = "sourcemap_codec___sourcemap_codec_1.4.8.tgz";
+        url  = "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz";
+        sha512 = "9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==";
+      };
+    }
+    {
       name = "split.js___split.js_1.6.4.tgz";
       path = fetchurl {
         name = "split.js___split.js_1.6.4.tgz";
@@ -9682,6 +10906,14 @@
       };
     }
     {
+      name = "svg_parser___svg_parser_2.0.4.tgz";
+      path = fetchurl {
+        name = "svg_parser___svg_parser_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz";
+        sha512 = "e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==";
+      };
+    }
+    {
       name = "svg_pathdata___svg_pathdata_5.0.5.tgz";
       path = fetchurl {
         name = "svg_pathdata___svg_pathdata_5.0.5.tgz";
@@ -9730,6 +10962,14 @@
       };
     }
     {
+      name = "svgo___svgo_2.8.0.tgz";
+      path = fetchurl {
+        name = "svgo___svgo_2.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz";
+        sha512 = "+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==";
+      };
+    }
+    {
       name = "svgpath___svgpath_2.3.1.tgz";
       path = fetchurl {
         name = "svgpath___svgpath_2.3.1.tgz";
@@ -9954,6 +11194,14 @@
       };
     }
     {
+      name = "toggle_selection___toggle_selection_1.0.6.tgz";
+      path = fetchurl {
+        name = "toggle_selection___toggle_selection_1.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz";
+        sha1 = "bkWxJj8gF/oKzH2J14sVuL932jI=";
+      };
+    }
+    {
       name = "toidentifier___toidentifier_1.0.0.tgz";
       path = fetchurl {
         name = "toidentifier___toidentifier_1.0.0.tgz";
@@ -10082,11 +11330,11 @@
       };
     }
     {
-      name = "ua_parser_js___ua_parser_js_0.7.24.tgz";
+      name = "ua_parser_js___ua_parser_js_0.7.31.tgz";
       path = fetchurl {
-        name = "ua_parser_js___ua_parser_js_0.7.24.tgz";
-        url  = "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.24.tgz";
-        sha512 = "yo+miGzQx5gakzVK3QFfN0/L9uVhosXBBO7qmnk7c2iw1IhL212wfA3zbnI54B0obGwC/5NWub/iT9sReMx+Fw==";
+        name = "ua_parser_js___ua_parser_js_0.7.31.tgz";
+        url  = "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz";
+        sha512 = "qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==";
       };
     }
     {
@@ -10154,6 +11402,14 @@
       };
     }
     {
+      name = "unicode_canonical_property_names_ecmascript___unicode_canonical_property_names_ecmascript_2.0.0.tgz";
+      path = fetchurl {
+        name = "unicode_canonical_property_names_ecmascript___unicode_canonical_property_names_ecmascript_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz";
+        sha512 = "yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==";
+      };
+    }
+    {
       name = "unicode_match_property_ecmascript___unicode_match_property_ecmascript_1.0.4.tgz";
       path = fetchurl {
         name = "unicode_match_property_ecmascript___unicode_match_property_ecmascript_1.0.4.tgz";
@@ -10162,6 +11418,14 @@
       };
     }
     {
+      name = "unicode_match_property_ecmascript___unicode_match_property_ecmascript_2.0.0.tgz";
+      path = fetchurl {
+        name = "unicode_match_property_ecmascript___unicode_match_property_ecmascript_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz";
+        sha512 = "5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==";
+      };
+    }
+    {
       name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.2.0.tgz";
       path = fetchurl {
         name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.2.0.tgz";
@@ -10170,6 +11434,14 @@
       };
     }
     {
+      name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_2.0.0.tgz";
+      path = fetchurl {
+        name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz";
+        sha512 = "7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==";
+      };
+    }
+    {
       name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_1.1.0.tgz";
       path = fetchurl {
         name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_1.1.0.tgz";
@@ -10178,6 +11450,14 @@
       };
     }
     {
+      name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_2.0.0.tgz";
+      path = fetchurl {
+        name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz";
+        sha512 = "5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==";
+      };
+    }
+    {
       name = "uniqs___uniqs_2.0.0.tgz";
       path = fetchurl {
         name = "uniqs___uniqs_2.0.0.tgz";
@@ -10586,6 +11866,14 @@
       };
     }
     {
+      name = "ws___ws_8.2.3.tgz";
+      path = fetchurl {
+        name = "ws___ws_8.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz";
+        sha512 = "wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==";
+      };
+    }
+    {
       name = "xmldom___xmldom_0.5.0.tgz";
       path = fetchurl {
         name = "xmldom___xmldom_0.5.0.tgz";
diff --git a/pkgs/tools/admin/pulumi/data.nix b/pkgs/tools/admin/pulumi/data.nix
index efbde87b6daf1..1db58accc4b25 100644
--- a/pkgs/tools/admin/pulumi/data.nix
+++ b/pkgs/tools/admin/pulumi/data.nix
@@ -1,12 +1,12 @@
 # DO NOT EDIT! This file is generated automatically by update.sh
 { }:
 {
-  version = "3.26.1";
+  version = "3.28.0";
   pulumiPkgs = {
     x86_64-linux = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.26.1-linux-x64.tar.gz";
-        sha256 = "0iqm9mk65258f7r7i6gxahqbdcynwg4ayrbhrln6zjfw0ppv1r60";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.28.0-linux-x64.tar.gz";
+        sha256 = "0983axi1hxika5a1jl84hfndx8qgfl9pchfakkqcb9w9hwzz5zdq";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v4.5.0-linux-amd64.tar.gz";
@@ -21,16 +21,16 @@
         sha256 = "16vg56vyxqid566nzdvcnx0fm70nif31wr71mrx1n6ibk767l00i";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v0.8.1-linux-amd64.tar.gz";
-        sha256 = "1phy4499vm87hf6bzwfcmn13nkzbwl9l7fj0ih8vd5gsng2bsjqd";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v1.1.0-linux-amd64.tar.gz";
+        sha256 = "1sh9kcjp6b2wh0bpagp60a8hyxaq6gh1fblcbifzdf6ps7g3y58x";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.7.0-linux-amd64.tar.gz";
         sha256 = "07zwhy1jfgwqcybyalrlwrqfkddk1xkqgb9g8dmgs2krx8fp9bsv";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.38.1-linux-amd64.tar.gz";
-        sha256 = "0rwkdizd1hqn86vfkxli7l4syp860rgil2m01l76pbpcx11yc7zb";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.1.0-linux-amd64.tar.gz";
+        sha256 = "06fwv4qic6sv27z458qbly7hlz2l3zg3yg0ag0acpy10v3z3vis9";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.18.0-linux-amd64.tar.gz";
@@ -53,16 +53,16 @@
         sha256 = "0yfbiv6q2rfm27gwc4vsg2112m1vll5rkk1zwpg510dzvrnjqqn6";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.6.0-linux-amd64.tar.gz";
-        sha256 = "0q3mj48kddl1cb80s03x5vksx8xa006qlzfkarbc3sa2qqlgqiqr";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.8.0-linux-amd64.tar.gz";
+        sha256 = "0hy6j7n1jdqxmd6wq5lab1f31zzb3pkvali882fsgjvjw9clbk6a";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.11.1-linux-amd64.tar.gz";
         sha256 = "1djm9dh1445yn7hnl3m1hm6cw9cj7m9syv08xjjclwc3dj9k7qw5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-linux-amd64.tar.gz";
-        sha256 = "0ffqah4anhdacmfb8n3hdq17jhqq0qclc0l0cq77hvhvgn39yy4r";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.2.0-linux-amd64.tar.gz";
+        sha256 = "08hy3qcf8dg36s3p9jm1mbknqp139izjdnr5ic4i8c3vycid0r1i";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-linux-amd64.tar.gz";
@@ -73,28 +73,28 @@
         sha256 = "0n1xqsfsqi773lwg9xbvglrd4pfb060fq8llxf06qj8h2imlxx34";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.16.0-linux-amd64.tar.gz";
-        sha256 = "10lm10affn92qwzgry2iab5ry6bcnx5iiy2cihxk9kgb6716wql3";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.17.0-linux-amd64.tar.gz";
+        sha256 = "1dbkkrb66iz2z66bj6qhhwhaz3s0md1xgm4mgw0bcdlirkrv1kpd";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.10.0-linux-amd64.tar.gz";
-        sha256 = "1lni4wzmdhjbchjjx9z5iqawv4x1bixl3s541h39cr4x3y36m66m";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.10.1-linux-amd64.tar.gz";
+        sha256 = "0bs0haa863a2qwwx140911mh2xprgyv316y98jcm8qbl03lmyzvs";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.6.0-linux-amd64.tar.gz";
-        sha256 = "0s1qyxdkdgy2br2kmpc0ypc6s95cryc0lbpdb9gslsl0q66gn7mk";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.7.0-linux-amd64.tar.gz";
+        sha256 = "17v460kbghvrvhxgckzg2bq556amy5hwmks4m1idkcz8akh6vlni";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.17.1-linux-amd64.tar.gz";
-        sha256 = "10gvqkqyaxna1077rkvlzqq0mhx7zhz5k8x93bgcylv8slqcjx0k";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.18.0-linux-amd64.tar.gz";
+        sha256 = "0br9faaqaksfqyngf3s9kmsjfqmhmpc09rpyqjxprxh1vmd4s31n";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.8.0-linux-amd64.tar.gz";
         sha256 = "1gfiiwgb51ylwns3mqgnbgm2knrdzvy9r9v23yx0z03ba189d3m9";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.17.0-linux-amd64.tar.gz";
-        sha256 = "0xqvjqykwjgsvp379g1hjzzk64zc34xqm5da8fjhykz0l4q0cv76";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.18.0-linux-amd64.tar.gz";
+        sha256 = "0b4v07wc2xg0w1932dp14qfnvwbhr14x3ivj1vkcz2gy2gg4k2y4";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.7.1-linux-amd64.tar.gz";
@@ -117,44 +117,44 @@
         sha256 = "05nfdwgfzi5f3hgj2g6dccaidqf9a9xzlv5vp3cd1rsxd159yk9j";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.4.1-linux-amd64.tar.gz";
-        sha256 = "1yianshwmlxs70h4a19c9006n29rp6qz3nf6n0kb5l52psmq679m";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.4.2-linux-amd64.tar.gz";
+        sha256 = "0agf96ji7mzkf4k4axm1v3psm5wkml41714dz88rn0csq0b31ca9";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.5.1-linux-amd64.tar.gz";
-        sha256 = "0a1q41cl9r93n8zvl25sd33mxvi0ysa10lz84x59sybfay4f7ppc";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.6.0-linux-amd64.tar.gz";
+        sha256 = "10sk1hnn7sgnjgxxdjdshlgs1lf8j02y5almd3sp821gfaclfzq9";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.15.0-linux-amd64.tar.gz";
-        sha256 = "0k230wq144bs51d9w635jc572gix5jr6dhb5ai59pmzsqjiis607";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.16.0-linux-amd64.tar.gz";
+        sha256 = "01yaz2yh77fdcqcv94xh85b3km7q1gpjdys03gll6gz1vb0qlhis";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.5.0-linux-amd64.tar.gz";
         sha256 = "0hr6vb7zbxll20xq31ddqn287w4rykhswfsm56h1r3ffj9kka57y";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.6.0-linux-amd64.tar.gz";
-        sha256 = "12xby9dvgqli00jdwl5f8cxsk1qm1x2khhsj4bjhi5pm756p6j0c";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.7.0-linux-amd64.tar.gz";
+        sha256 = "022wl1b2cv8j6lrzvzrik8jkxvngyd6jx7qrn4r2km65xfmgckz2";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.1.0-linux-amd64.tar.gz";
         sha256 = "0ayb1r9snjqgmczkvz4kjbswr0a98lmpapll4nws9q0rjj2w48y7";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.3.0-linux-amd64.tar.gz";
-        sha256 = "0b340xsxb05c2mrckilmrh8s3bxq7z02rgrdgr02xyfrvv0r8whz";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.4.0-linux-amd64.tar.gz";
+        sha256 = "0cj46m1jzfhx400qq4p40sqg0j6m2nggfpvyv4m1jxxzna11615n";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.2.0-linux-amd64.tar.gz";
-        sha256 = "1c7qgzhmd2ifbmfznklaiqsf5mv9wir0iacw58gwyjalkvzb4v4l";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.4.0-linux-amd64.tar.gz";
+        sha256 = "0hf7jrr91wpq28xsf8ajbdillblryh35k5w367d5fps7ph3fjk3f";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.1.0-linux-amd64.tar.gz";
-        sha256 = "0hl5liyga4iz7j3wy3qicx43d4mijnqayrnmpa5rws29lambgrql";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.2.0-linux-amd64.tar.gz";
+        sha256 = "1yg18l0dhljy841gi47k63wq7qxg51zds2w59hw0x3i8lgaz0m2f";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.1.0-linux-amd64.tar.gz";
-        sha256 = "12qdhdbighj76ab3wz965jhybxxq4f2rlwyk9m3w8w4f2aprp0cm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.1.1-linux-amd64.tar.gz";
+        sha256 = "0vwlpczrzpgh274r300ilmm0z3vhg1fdlbx8p5j91p3cp86sj2s1";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-linux-amd64.tar.gz";
@@ -163,8 +163,8 @@
     ];
     x86_64-darwin = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.26.1-darwin-x64.tar.gz";
-        sha256 = "0i4hs7r2gq2dwswnr1cls57lgy3m1b5n3an8mkidixyfgvv3lxmp";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.28.0-darwin-x64.tar.gz";
+        sha256 = "0nixfzgl94kqzzvwr572rzqcayldcyj03ilbqhns7x3wl31fn583";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v4.5.0-darwin-amd64.tar.gz";
@@ -179,16 +179,16 @@
         sha256 = "14skymvy5mf0509v3b8wrmi7n390la9nr859l7afbhxk4cwvq3av";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v0.8.1-darwin-amd64.tar.gz";
-        sha256 = "149wbmpc51qcfsxsffif2ar9pzmg91h33jd3fy23hyfjbqp6yvdz";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v1.1.0-darwin-amd64.tar.gz";
+        sha256 = "0g68wfgrmdapf7nkiyxapqykq5svcsms5si5848x23nn4rwx0qkk";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.7.0-darwin-amd64.tar.gz";
         sha256 = "0bz177xi0ifhx14jq01i94gdqgjsivikmhrf24y27k96jq7n15ld";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.38.1-darwin-amd64.tar.gz";
-        sha256 = "0qaf9q7ijkysvvnxrb942c2r6hj4y97kjfxnlwgjx1jvnv1l9859";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.1.0-darwin-amd64.tar.gz";
+        sha256 = "1i76f62bjs3gvfqfxi83gfhlb8vn41mlblpaqd49wyqhmsa0g2gh";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.18.0-darwin-amd64.tar.gz";
@@ -211,16 +211,16 @@
         sha256 = "1kgk48k4898zxsnhfg6z949m3mgicdm2zfg8ba7z1lbidzc6g3sq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.6.0-darwin-amd64.tar.gz";
-        sha256 = "16abnsllcf7ap6gvxr1b68cc7k476vhdbg8wrjabx9h9b81lwhbm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.8.0-darwin-amd64.tar.gz";
+        sha256 = "159h2l7dzj2bfzvifsq5vnsvp2z86bivim65pp0w8gf460n9v8b0";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.11.1-darwin-amd64.tar.gz";
         sha256 = "11wnk0ssqzfcvks5qvc2yi6iv9nxxxxqwmnjyavdzp5s5vvpi5zm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-darwin-amd64.tar.gz";
-        sha256 = "0j8ysk4wh78xhk3nv6c1dvvyw5ihs7amwlyqicch52yc6jq3v5a6";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.2.0-darwin-amd64.tar.gz";
+        sha256 = "1s5zkdf6zf1l4nkmd8pl1mvr2sjj4bw3vcqnr4y9xmmxicjz9d0d";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-darwin-amd64.tar.gz";
@@ -231,28 +231,28 @@
         sha256 = "0i3aysdy7i13fx2a2kpnvd3qpn7vmc2mbln718kks3mikiz26aii";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.16.0-darwin-amd64.tar.gz";
-        sha256 = "1sdir66pqdxy5zwbx1ssv8bl63zvbzfapl3j5dl99zgjaw4k3mgx";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.17.0-darwin-amd64.tar.gz";
+        sha256 = "1cwdy4yr3c7wcj3p0sg1k0q6b6sn0mhlpqkbdi4xfk990d88c78c";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.10.0-darwin-amd64.tar.gz";
-        sha256 = "0i49x5s7sw69y19qmsrbrwhmjv7g07qrs5a3l1l8bsqawif5r65z";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.10.1-darwin-amd64.tar.gz";
+        sha256 = "0a8lycsgk2xawhg9yd6lkbfg7j6v6l3m0llvdzs0drb2k954wbym";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.6.0-darwin-amd64.tar.gz";
-        sha256 = "026sh6x8jl8krq2vv0vwbrfi4yl4pbwbfliqqhidvv71xqv7igah";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.7.0-darwin-amd64.tar.gz";
+        sha256 = "08b6p6gliay66bd7687kjc9n3n7xdgbrrcnbjbqi7a3am14mf5p6";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.17.1-darwin-amd64.tar.gz";
-        sha256 = "1v5dxqc9rl7m3yqxlbklg0bv20l4qvhs86g5lavc1bj46jysr8nk";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.18.0-darwin-amd64.tar.gz";
+        sha256 = "0wn9jpvaj3hwlm3yakgm7y87dcv1ja606hkf3vllqjmjz99113c3";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.8.0-darwin-amd64.tar.gz";
         sha256 = "11r73jfqkc0wgdf66zp6pmgq5packlm4dkjp12a00z6l2s4f0w4h";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.17.0-darwin-amd64.tar.gz";
-        sha256 = "1x13w1j8vm3qvpn99npnsvx7kr5vac8vkrb31jii9difrgwis2wc";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.18.0-darwin-amd64.tar.gz";
+        sha256 = "1v0bgd7dyc19wp95grxgq65i9sx60d487yqzjqqzscxqx62d7axh";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.7.1-darwin-amd64.tar.gz";
@@ -275,44 +275,44 @@
         sha256 = "0q19sh7l1mjl40i5vdsrjfldncxnicalmlgv3yjkw5xpxkgr98z0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.4.1-darwin-amd64.tar.gz";
-        sha256 = "13r63s8llr3v1jvl790gcirm0n1m3nhkalrdpm9ssnhyrgfcxpj0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.4.2-darwin-amd64.tar.gz";
+        sha256 = "1wmvmhxnjp32kp43fhjp8w9nrb0biki63w23l4zjxsdk7njply7c";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.5.1-darwin-amd64.tar.gz";
-        sha256 = "1wswpqliibq1kr8vv4l6kqw57cbw76nrh4fnvdzvrcl4rhpbjrc8";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.6.0-darwin-amd64.tar.gz";
+        sha256 = "0g3l2yslnwp72w7r00h5hdj3w00dbgbgbsw31m327rd6p143iasr";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.15.0-darwin-amd64.tar.gz";
-        sha256 = "0b0ynqd7drkycaf7xxx6s9xbm3xp8k18xsrys68hr8gh2nq8s0y9";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.16.0-darwin-amd64.tar.gz";
+        sha256 = "1viwk26qj9civh4plqm34j5iky69sxvskmqbga03x1v5rd7567aa";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.5.0-darwin-amd64.tar.gz";
         sha256 = "01pc0qqqcmqc8al0bcnwig3741ln4dril5mv82py6wcy8brhwvyl";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.6.0-darwin-amd64.tar.gz";
-        sha256 = "0sjpvz709ij86r2qn20sagxnv5q78jwq8x7sayr0xs1na433nv16";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.7.0-darwin-amd64.tar.gz";
+        sha256 = "1argvhm2jirjddi5hnp0rxa7710ixaj63lw8k2aq4xkascllm4lb";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.1.0-darwin-amd64.tar.gz";
         sha256 = "1jzirnaxy6y862khqf29i25r8qyrpac2kmacs9ny118l77xp33il";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.3.0-darwin-amd64.tar.gz";
-        sha256 = "1dwv4aa5albn8yfyb430klc3w3fsy4pz07lmrppcbzg5mwf22mq1";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.4.0-darwin-amd64.tar.gz";
+        sha256 = "1ghghaq9svy7sv2s1j8b1qjah6aj7vwwdh9wd9agm4xdiillprhf";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.2.0-darwin-amd64.tar.gz";
-        sha256 = "00sq1v8wkjzxw96y3gal15lqdz2ncbwa7lix3b4izy7c6rd3qfa6";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.4.0-darwin-amd64.tar.gz";
+        sha256 = "08b3lyyf8zjkn9jaw4l0yb741i6kqhfb7cbwshrwqh6l3yh7kc2y";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.1.0-darwin-amd64.tar.gz";
-        sha256 = "1wkyjxgrp3llvis3yjdnw65chscmxxcwigkr71i2crj28db8fhwx";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.2.0-darwin-amd64.tar.gz";
+        sha256 = "06sws30nxmhkcgg6ag01b32l4vi4c6sr9rdwdc3sy27abqhsmhgn";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.1.0-darwin-amd64.tar.gz";
-        sha256 = "154za5bvq1bgyzn5cfz3n0la1gy27lmjafgs42mgyy511jz4m60l";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.1.1-darwin-amd64.tar.gz";
+        sha256 = "1ldksyxgwbg6fswfakgy3gdm5y50kc0bk74pxcza7w7ncirr9cvg";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-darwin-amd64.tar.gz";
@@ -321,8 +321,8 @@
     ];
     aarch64-linux = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.26.1-linux-arm64.tar.gz";
-        sha256 = "1xnzi2lay5m01krahc42is3vxla3y7si4mwqbnva6xjjla1p9d1v";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.28.0-linux-arm64.tar.gz";
+        sha256 = "1zrz7vgl36wj4h3h298x4vh2dl0a909niw22dxfvzvsvxcd88y9v";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v4.5.0-linux-arm64.tar.gz";
@@ -337,16 +337,16 @@
         sha256 = "1g6ymjsmxp149cv93sn5843pxlih1dbw16nvv4sn3prl360c4lxa";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v0.8.1-linux-arm64.tar.gz";
-        sha256 = "0ghgm1p79smlcx5cby34pxl8apwm33n1aqs2lxkgjz9m6895djkx";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v1.1.0-linux-arm64.tar.gz";
+        sha256 = "0lhgp5wmlza75v1b7nkkp4y2d4bzk1658frnqblxsdcz9z12cwmi";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.7.0-linux-arm64.tar.gz";
         sha256 = "0y519wmpq6iin20kqidw7b2zkqr6zky09lfsi10klbn0gzfpwbl5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.38.1-linux-arm64.tar.gz";
-        sha256 = "0wv7c6sp4i64wq5v90k4zpxnzyrhhv34cwa1i4g4pgqfh6ahaz56";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.1.0-linux-arm64.tar.gz";
+        sha256 = "0kqdxcl134sn3k0sa1kzhn91l3szrgc3rdkzbak66g0vjpm7di94";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.18.0-linux-arm64.tar.gz";
@@ -369,16 +369,16 @@
         sha256 = "1wwv6v9srzsdlcxv92kwv4drkx8w1h5xcvcwqqn6gi2mvsf3kj9n";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.6.0-linux-arm64.tar.gz";
-        sha256 = "1qia1myzcrjiq16sy4vd24wzqgww46wkdi9gq94j1g2ih75pc9k2";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.8.0-linux-arm64.tar.gz";
+        sha256 = "00y77pyxnish3zym103al5z3r881p7nf9d1aqh887nnz6i5jw7nq";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.11.1-linux-arm64.tar.gz";
         sha256 = "0vn6kgdwd63c62kaq3b09m3yipg43yh12s0a9zhi48p4wplsgf9s";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-linux-arm64.tar.gz";
-        sha256 = "1lh1g90ab4blqmvx0yfp516hfsd6n1y751ab7fzhv7hcajf3klvi";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.2.0-linux-arm64.tar.gz";
+        sha256 = "1a935hi2zdd7bis2d1y818l1gl2dcq9dclbakvzczabksjdf731q";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-linux-arm64.tar.gz";
@@ -389,28 +389,28 @@
         sha256 = "0qpan6zvny2h2ckigwnf4dhsgmnywam1m4d2jp0nj9pm3628pldv";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.16.0-linux-arm64.tar.gz";
-        sha256 = "0f8n8q1in0n4z2lzd0y065ksszv05dgn2lgsa8snmxlwfkrx955h";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.17.0-linux-arm64.tar.gz";
+        sha256 = "01pgzyy70f77cidh228gs72hybwchp65qvs748482wakjcmf44mn";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.10.0-linux-arm64.tar.gz";
-        sha256 = "0p8lr9iw1h9ax90aivya513bw1dipm7yycqm5094wgx08r2yfvlm";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.10.1-linux-arm64.tar.gz";
+        sha256 = "1lrbl7x7hf1i7xx10cpxz17hihl8b6654wphz8s8g9lp0jryn6am";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.6.0-linux-arm64.tar.gz";
-        sha256 = "1d04bxq8vrxmsiix130lhqys5q1jbgwbdhyhn6rsskk0636hbf71";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.7.0-linux-arm64.tar.gz";
+        sha256 = "0i6qxrdijf653nj6yqhdikbj3spzzwr5rbgngkc0v7yxkphlzlnj";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.17.1-linux-arm64.tar.gz";
-        sha256 = "0paypln2948dyj6cic3riybl2zpps6ia0pjsv3wjpklp57gfc9h4";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.18.0-linux-arm64.tar.gz";
+        sha256 = "152qrcik44iz5lrfg649wmk67wcjdm4lnkwrc1gwhm34w0lrbarf";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.8.0-linux-arm64.tar.gz";
         sha256 = "1vrz3pm14i5zdmk3yibny2sghxk8kzwb2qi77mjbiyfhbvciy97q";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.17.0-linux-arm64.tar.gz";
-        sha256 = "0jvm3g1d3yhghcd14rz1ca7zps8cajw0cy38s1p6lh2c5f1yaqcj";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.18.0-linux-arm64.tar.gz";
+        sha256 = "1w2j27sd5gsfz561wgr3lgcpxn9wghgvc5s4zpciiwyxpczmv8r3";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.7.1-linux-arm64.tar.gz";
@@ -433,44 +433,44 @@
         sha256 = "0j2c23ii4dn9yhpw6nymij65gv82y1xp4gi8lgxxf41b1i9bpb2i";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.4.1-linux-arm64.tar.gz";
-        sha256 = "1jac7dj7vsrhcn0fp03bkwmp3km4gxsi9mc5fzjgkmbhh5xnhw3b";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.4.2-linux-arm64.tar.gz";
+        sha256 = "1x8v39icapr8iakp9yd50md9dyvj63z7yj93cl3b07qlwr9lcvmv";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.5.1-linux-arm64.tar.gz";
-        sha256 = "15cd5g1kdjrfpcsicb4zgwb3q8q2h4xmkwdwbj0m2rys5ygayy2k";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.6.0-linux-arm64.tar.gz";
+        sha256 = "1jh4qbdgcqbkznyq0ivf4wlrn1izgjqf811qncgkab890fp9v37w";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.15.0-linux-arm64.tar.gz";
-        sha256 = "0x1mjdaaaa40ks8glqq906dbq2x13z760agnfmd5hc3m9swvnczs";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.16.0-linux-arm64.tar.gz";
+        sha256 = "0ksya9nywimkm4jcd67ccaaxbvsxq747d21j8aywpwp3nwfl58wi";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.5.0-linux-arm64.tar.gz";
         sha256 = "0zqmzfv3pc6j3878c31jfa488kdahcdnra4mqan3lz97jifc3dla";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.6.0-linux-arm64.tar.gz";
-        sha256 = "18cqw5rf4iqfswbdjmj1a7zc4p16dc7m4d4vl2a5wcjybpcvhn6m";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.7.0-linux-arm64.tar.gz";
+        sha256 = "0nksi0ybjq0mwqiwwrnm4vifwjdjlyx6i446pyqm97wlph3ffg8h";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.1.0-linux-arm64.tar.gz";
         sha256 = "1275cikf75lnf3d4k4ld0by1r8hr6gq6mih09fsfg98b8f7n16kq";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.3.0-linux-arm64.tar.gz";
-        sha256 = "0sqgdxkqrh0d1y53qigzs4wywmvjws0j6av2z19lyc2qwz3gn0hn";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.4.0-linux-arm64.tar.gz";
+        sha256 = "09rvvps2kijjr4r9h75xijpsxw5ar2gy3ncmrvjfyqx17zch92v6";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.2.0-linux-arm64.tar.gz";
-        sha256 = "12ak3ki97shnzki9gvzc52cprpi3wsqmh4dhhv4ly6m39sj3wgxx";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.4.0-linux-arm64.tar.gz";
+        sha256 = "1lh459lxa4gvxkbypmcm4hwcwcchkvs79ajlb9gvrm4ds68nm5xb";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.1.0-linux-arm64.tar.gz";
-        sha256 = "1f7h6xl3jk9y29ffjxv9r4a748fwip17x7pazs62zwc3h10a65ac";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.2.0-linux-arm64.tar.gz";
+        sha256 = "1wbx83fc5v4n57rjn5xn4y7iiv8z4fdx1inj9w1ibqlij5hf0xra";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.1.0-linux-arm64.tar.gz";
-        sha256 = "00902vymkc841lpdmgh80a1lipb5bjphiivy7d9xw9cldar35nz3";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.1.1-linux-arm64.tar.gz";
+        sha256 = "13ys3i7anpvbmikzxlj44kw8shp9x4cg6nlqijx80vwl3hwk5qpw";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-linux-arm64.tar.gz";
@@ -479,8 +479,8 @@
     ];
     aarch64-darwin = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.26.1-darwin-arm64.tar.gz";
-        sha256 = "1mvinn9106pw2ny27l72fsxswj61c8la12mfxhqnb1q7xha8vqmz";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v3.28.0-darwin-arm64.tar.gz";
+        sha256 = "03k6ahdki17nmr3gg6956gxrvmikwi719aynhch8azr000fp7vaj";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aiven-v4.5.0-darwin-arm64.tar.gz";
@@ -495,16 +495,16 @@
         sha256 = "1n061d8phk6cjvr24138vqzxs5midfadqgrpmaaknbpykcd3vym3";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v0.8.1-darwin-arm64.tar.gz";
-        sha256 = "0i8k2z1is7iw6hfgsqfwirby469f8nkczhzvxda48fhwlix6x55d";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-artifactory-v1.1.0-darwin-arm64.tar.gz";
+        sha256 = "1vldwyy7vhq9l6c51lqc30h0sal5liqza4s1yhk1pbc0wsgvcdv2";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v2.7.0-darwin-arm64.tar.gz";
         sha256 = "174dk82cx35i9x1f1kavydg3qyqax0lhl7637d2n17ca97xa7y8p";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v4.38.1-darwin-arm64.tar.gz";
-        sha256 = "096xd57z12rabv5375w3nb6zxsnva3nwrvjjxsr4h0sa0yip7sh0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v5.1.0-darwin-arm64.tar.gz";
+        sha256 = "0w8vzyr4j1r0n389531zqi26wqzdy8raimbsb0p0zhnr1myysr99";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-azuread-v5.18.0-darwin-arm64.tar.gz";
@@ -527,16 +527,16 @@
         sha256 = "16nnb6ql4j2207dgwmrhgx8mg19asf2n450lrmwvdzyvcy5zjm7p";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.6.0-darwin-arm64.tar.gz";
-        sha256 = "0irhy7vda2abcdzj6g73xh0p3kpxn1xi8agkfq4r9zpqrjp86pcr";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-datadog-v4.8.0-darwin-arm64.tar.gz";
+        sha256 = "0payziqwl9f1xja001mymaabxd5524b6ksanfr5jifcfchy9zq47";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v4.11.1-darwin-arm64.tar.gz";
         sha256 = "0nl47s8v47jvr4w3v5s2fnwhm56yb3knfb1za7ncynybgw8hizv0";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.1.0-darwin-arm64.tar.gz";
-        sha256 = "1z0gd0fagv55dl3ki340h0ljw7dqj8818w4072pc5xxy5id90gb0";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v3.2.0-darwin-arm64.tar.gz";
+        sha256 = "0ayg0w61lqv22nln95vd02kjhhqi5k3ncpdcxbh2rd09b74bbxvf";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-equinix-metal-v3.2.1-darwin-arm64.tar.gz";
@@ -547,28 +547,28 @@
         sha256 = "0jj35mj57sivi5qsbwv8qm2jginppi192qlx6ashvgm352gia9r1";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.16.0-darwin-arm64.tar.gz";
-        sha256 = "16llbsp06pszh4q232ly8nnj1pfr6f4p88a5k928716csh3zradq";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v6.17.0-darwin-arm64.tar.gz";
+        sha256 = "06lgq9p5mgqaifl4lrr5csbprx0j3khq93x29j4jvq5kw1qa3gc5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.10.0-darwin-arm64.tar.gz";
-        sha256 = "167f7c7mpyjym0sw71adz5ffd7g8zmn87923xmjlrsz3wm6ybsq7";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v4.10.1-darwin-arm64.tar.gz";
+        sha256 = "1hx8rsf9yysvjg6df8dxzz8kqci000jxzg8wwxjfhcfb9adzjmy8";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.6.0-darwin-arm64.tar.gz";
-        sha256 = "0r8bvrnyspmczn38lav7hfhjgkflsiciw8slbs5k3s6z8690dxc2";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v4.7.0-darwin-arm64.tar.gz";
+        sha256 = "1gvzjf5mp3iy43srvx3blxfwcg20gqbqvycysnl2p8g8sg3scx5f";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.17.1-darwin-arm64.tar.gz";
-        sha256 = "0qva7r2pdbpxjd50ijjckwsbagj46h94s12z05czgj8sfslx8jpz";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-google-native-v0.18.0-darwin-arm64.tar.gz";
+        sha256 = "04qjg2rd71375ny817h1l4174bafrhkl0d9n5qrp546dhaqmv6vr";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-hcloud-v1.8.0-darwin-arm64.tar.gz";
         sha256 = "058f1j40ar4xh860c3qrm0qaagm69fdmbw14avvrhsmw245cyyzc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.17.0-darwin-arm64.tar.gz";
-        sha256 = "1fz906l37kykbn725p81xpyvpg7ywvqav9r7rxrnc05d338c391d";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-kubernetes-v3.18.0-darwin-arm64.tar.gz";
+        sha256 = "1llvcnrghhwr0qzd1zmdrc1x384lrd06dqcx1ng9l4ixhz6nmkl1";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-linode-v3.7.1-darwin-arm64.tar.gz";
@@ -591,44 +591,44 @@
         sha256 = "1i5ipmidg0yspayxyglbjaihajhj1bsk46saxkncfrkvqnh4iq50";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.4.1-darwin-arm64.tar.gz";
-        sha256 = "12zlmihrrcwbmy4q4ysvmz6nys547g914nl8g8vnwviijqlx05df";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v4.4.2-darwin-arm64.tar.gz";
+        sha256 = "1rbig2n5x2lzxpscnja0ya9a68z3jk0qz2zwdnzi66xy7i3zd39l";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.5.1-darwin-arm64.tar.gz";
-        sha256 = "0gg80cg2f9d5ah4j7b1i6pxx7ffhbg4pcax319vymcsl9srh51hp";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-snowflake-v0.6.0-darwin-arm64.tar.gz";
+        sha256 = "1mlwggyx7l23z9fiy9bnlsjbsiw3i8kwrag2zjszbqj6sflskrij";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.15.0-darwin-arm64.tar.gz";
-        sha256 = "14ag3gq6w4yzbrwpy0vqqbr091fs26xvhmwd0v1adjl3sxa0lcqc";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-spotinst-v3.16.0-darwin-arm64.tar.gz";
+        sha256 = "0wk8vdx3w5n60dbh2fjqmfxnc24cbrfxygsa211ckb2pcmmr93lm";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-sumologic-v0.5.0-darwin-arm64.tar.gz";
         sha256 = "0imqi4n21c4xxldkdkxc8239vb4r3l5x0fw8wps6nvpxhdnsflgc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.6.0-darwin-arm64.tar.gz";
-        sha256 = "09sk3z0xlsdj1lvyzfm55p07hxsvnqvc27al0q2mvkj9nmsqqid4";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tailscale-v0.7.0-darwin-arm64.tar.gz";
+        sha256 = "00gpa2qrqfjyj83k40q5rfszhip5bbqd8z3rkdgrc93kbmxh37s0";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-tls-v4.1.0-darwin-arm64.tar.gz";
         sha256 = "08dhxd39w7wjpqjfy59vxfipjl45psd6yh53h2g025y8hh80gcrs";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.3.0-darwin-arm64.tar.gz";
-        sha256 = "13q9r819wln46hiy2anri44wvxvjigcvfj7dpr3ya69kj17kyr4n";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vault-v5.4.0-darwin-arm64.tar.gz";
+        sha256 = "1jfgphwcr3z31yyf36wh147spwdk82713m03kkahva11m6h4x6gm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.2.0-darwin-arm64.tar.gz";
-        sha256 = "1m177hv8bfgsgcch8vbzwkb797i09l7lpfpai27cnljfk03vdhwr";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-venafi-v1.4.0-darwin-arm64.tar.gz";
+        sha256 = "0pgrlz8nx1gfgwlp5sk70w14z0hrxcwkv9xkzjc694nwlwk1ipm8";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.1.0-darwin-arm64.tar.gz";
-        sha256 = "1915f5d24vfrwgzvs5nkj5p05fjgqjyxpm54ym2wshl9s4fjb6sp";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-vsphere-v4.2.0-darwin-arm64.tar.gz";
+        sha256 = "0r399sqs15knbq1h1p9qixzm3836whskpk9i91ag5h7kg5xjvnin";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.1.0-darwin-arm64.tar.gz";
-        sha256 = "0xzh9n69prbaf0795dzmyp4jbzmgqvg4sl2sad3l3mkbgghx4cll";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-wavefront-v1.1.1-darwin-arm64.tar.gz";
+        sha256 = "02zj0d1cc9qmmql27licsm33ygvgcmj19blxkhn8zxwr666jf6kw";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-yandex-v0.13.0-darwin-arm64.tar.gz";
diff --git a/pkgs/tools/admin/pulumi/update.sh b/pkgs/tools/admin/pulumi/update.sh
index 3352f42596624..14adc3ba91474 100755
--- a/pkgs/tools/admin/pulumi/update.sh
+++ b/pkgs/tools/admin/pulumi/update.sh
@@ -10,7 +10,7 @@ fi
 
 # Version of Pulumi from
 # https://www.pulumi.com/docs/get-started/install/versions/
-VERSION="3.26.1"
+VERSION="3.28.0"
 
 # An array of plugin names. The respective repository inside Pulumi's
 # Github organization is called pulumi-$name by convention.
diff --git a/pkgs/tools/admin/salt/default.nix b/pkgs/tools/admin/salt/default.nix
index 6f7b86f044896..774ea6c8cfa7a 100644
--- a/pkgs/tools/admin/salt/default.nix
+++ b/pkgs/tools/admin/salt/default.nix
@@ -22,11 +22,11 @@ let
 in
 py.pkgs.buildPythonApplication rec {
   pname = "salt";
-  version = "3004";
+  version = "3004.1";
 
   src = py.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "PVNWG8huAU3KLsPcmBB5vgTVXqBHiQyr3iXlsQv6WxM=";
+    hash = "sha256-fzRKJDJkik8HjapazMaNzf/hCVzqE+wh5QQTVg8Ewpg=";
   };
 
   propagatedBuildInputs = with py.pkgs; [
@@ -46,7 +46,7 @@ py.pkgs.buildPythonApplication rec {
 
   postPatch = ''
     substituteInPlace "salt/utils/rsax931.py" \
-      --subst-var-by "libcrypto" "${openssl.out}/lib/libcrypto.so"
+      --subst-var-by "libcrypto" "${lib.getLib openssl}/lib/libcrypto.so"
     substituteInPlace requirements/base.txt \
       --replace contextvars ""
   '';
diff --git a/pkgs/tools/admin/stripe-cli/default.nix b/pkgs/tools/admin/stripe-cli/default.nix
index 053446554c792..da39ebfac739b 100644
--- a/pkgs/tools/admin/stripe-cli/default.nix
+++ b/pkgs/tools/admin/stripe-cli/default.nix
@@ -22,5 +22,6 @@ buildGoModule rec {
     description = "A command-line tool for Stripe";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ RaghavSood ];
+    mainProgram = "stripe";
   };
 }
diff --git a/pkgs/tools/admin/syft/default.nix b/pkgs/tools/admin/syft/default.nix
index 2bd735c33e919..7f2705b923fd2 100644
--- a/pkgs/tools/admin/syft/default.nix
+++ b/pkgs/tools/admin/syft/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "syft";
-  version = "0.42.2";
+  version = "0.43.0";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ejyUe2FM8pNQO9esWi9QbSiq6PVEjGbRu+AEnbCFqDE=";
+    sha256 = "sha256-gUdlVwXqi58X6O1arfniNsKKNR+bU1qwzVvY0PAzwfk=";
     # 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;
@@ -20,7 +20,7 @@ buildGoModule rec {
       find "$out" -name .git -print0 | xargs -0 rm -rf
     '';
   };
-  vendorSha256 = "sha256-o5Gq4ZN9H/rXSfIeU2hlExzV5KQZP9DfQsWbOZOB43E=";
+  vendorSha256 = "sha256-nIVVwFISDkbO+USpJsHMrYDGQbf4jSGkRLS3Oq9HaBA=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/admin/trivy/default.nix b/pkgs/tools/admin/trivy/default.nix
index b37bdef882a05..83bdea6d49eeb 100644
--- a/pkgs/tools/admin/trivy/default.nix
+++ b/pkgs/tools/admin/trivy/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "trivy";
-  version = "0.24.4";
+  version = "0.25.2";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-IroWxLfDVkS6mFweQioOxjSBA1yXrcdtqFG0W+Sb8Sc=";
+    sha256 = "sha256-yDoHDOPtPX5u8K2/fnj6dgqlI+WUCsuxbdKtb/UtIRQ=";
   };
 
-  vendorSha256 = "sha256-OGwqRrhj/+oCCaXnb2s4N6a+vhTZHwe2HidAn0UaFXM=";
+  vendorSha256 = "sha256-HZpGPCayrnayOg+3mB8Tw+5M2IfIpIvzP7qfY1OL7tk=";
 
   excludedPackages = "misc";
 
diff --git a/pkgs/tools/archivers/rar/default.nix b/pkgs/tools/archivers/rar/default.nix
index a359beb21adf5..6f47992b512c0 100644
--- a/pkgs/tools/archivers/rar/default.nix
+++ b/pkgs/tools/archivers/rar/default.nix
@@ -1,19 +1,24 @@
 { lib, stdenv, fetchurl, autoPatchelfHook, installShellFiles }:
 
 let
-  version = "6.0.2";
+  version = "6.11";
+  downloadVersion = lib.replaceStrings [ "." ] [ "" ] version;
   srcUrl = {
     i686-linux = {
-      url = "https://www.rarlab.com/rar/rarlinux-${version}.tar.gz";
-      sha256 = "sha256-5iqk7eoo+hgltgscquob+wofzhuqz0m/8jf7bxdf9qa=";
+      url = "https://www.rarlab.com/rar/rarlinux-x32-${downloadVersion}.tar.gz";
+      sha256 = "sha256-7mpKkOEspGskt9yfSDrdK7CieJ0AectJKTi8TxLnbtk=";
     };
     x86_64-linux = {
-      url = "https://www.rarlab.com/rar/rarlinux-x64-${version}.tar.gz";
-      sha256 = "sha256-WAvrUGCgfwI51Mo/RYSSF0OLPPrTegUCuDEsnBeR9uQ=";
+      url = "https://www.rarlab.com/rar/rarlinux-x64-${downloadVersion}.tar.gz";
+      sha256 = "sha256-pb3QdLqdxIf3ybLfPao3MdilTHYjCB1BujYsTQuEMtE=";
+    };
+    aarch64-darwin = {
+      url = "https://www.rarlab.com/rar/rarmacos-arm-${downloadVersion}.tar.gz";
+      sha256 = "sha256-q2fC4w2/tJ+GaD3ETPP+V3SAApdlLDgr3eE2YcERQXA=";
     };
     x86_64-darwin = {
-      url = "https://www.rarlab.com/rar/rarosx-${version}.tar.gz";
-      sha256 = "sha256-baZ71vYXIGs25f7PJ0ujoGUrsWZRmFLhvDI0KoVktsg=";
+      url = "https://www.rarlab.com/rar/rarmacos-x64-${downloadVersion}.tar.gz";
+      sha256 = "sha256-yHWxAscqnLKrG9Clsaiy6wSbyVz4gpvN6AjyirCmIKQ=";
     };
   }.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
   manSrc = fetchurl {
@@ -30,9 +35,10 @@ stdenv.mkDerivation rec {
 
   dontBuild = true;
 
-  buildInputs = [ stdenv.cc.cc.lib ];
+  buildInputs = lib.optionals stdenv.isLinux [ stdenv.cc.cc.lib ];
 
-  nativeBuildInputs = [ autoPatchelfHook installShellFiles ];
+  nativeBuildInputs = [ installShellFiles ]
+    ++ lib.optionals stdenv.isLinux [ autoPatchelfHook ];
 
   installPhase = ''
     runHook preInstall
diff --git a/pkgs/tools/audio/botamusique/default.nix b/pkgs/tools/audio/botamusique/default.nix
index a1c78768f6abe..249e9629a6f11 100644
--- a/pkgs/tools/audio/botamusique/default.nix
+++ b/pkgs/tools/audio/botamusique/default.nix
@@ -15,7 +15,7 @@
 , nodePackages
 }:
 let
-  nodejs = pkgs.nodejs-12_x;
+  nodejs = pkgs.nodejs-14_x;
   nodeEnv = import ../../../development/node-packages/node-env.nix {
     inherit (pkgs) stdenv lib python2 runCommand writeTextFile writeShellScript;
     inherit pkgs nodejs;
diff --git a/pkgs/tools/audio/mpdcron/default.nix b/pkgs/tools/audio/mpdcron/default.nix
index afb1c9a3dcdae..94ba5a56d032b 100644
--- a/pkgs/tools/audio/mpdcron/default.nix
+++ b/pkgs/tools/audio/mpdcron/default.nix
@@ -31,9 +31,8 @@ in stdenv.mkDerivation {
     sha256 = "0vdksf6lcgmizqr5mqp0bbci259k0dj7gpmhx32md41jlmw5skaw";
   };
 
+  nativeBuildInputs = [ autoconf automake ];
   buildInputs = [
-    autoconf
-    automake
     libtool
     pkg-config
     glib
diff --git a/pkgs/tools/audio/opl3bankeditor/common.nix b/pkgs/tools/audio/opl3bankeditor/common.nix
index 04f4d3aae5ab5..982b8f8349f36 100644
--- a/pkgs/tools/audio/opl3bankeditor/common.nix
+++ b/pkgs/tools/audio/opl3bankeditor/common.nix
@@ -9,7 +9,7 @@
 , pkg-config
 , qttools
 , qtbase
-, qwt
+, qwt6_1
 , rtaudio
 , rtmidi
 }:
@@ -43,7 +43,7 @@ mkDerivation rec {
 
   buildInputs = [
     qtbase
-    qwt
+    qwt6_1
     rtaudio
     rtmidi
   ];
@@ -52,7 +52,7 @@ mkDerivation rec {
     mkdir $out/{bin,Applications}
     mv "${binname}.app" $out/Applications/
 
-    install_name_tool -change {,${qwt}/lib/}libqwt.6.dylib "$out/Applications/${binname}.app/Contents/MacOS/${binname}"
+    install_name_tool -change {,${qwt6_1}/lib/}libqwt.6.dylib "$out/Applications/${binname}.app/Contents/MacOS/${binname}"
 
     ln -s "$out/Applications/${binname}.app/Contents/MacOS/${binname}" $out/bin/${mainProgram}
   '';
diff --git a/pkgs/tools/audio/pa-applet/default.nix b/pkgs/tools/audio/pa-applet/default.nix
index 6adc24e5300db..3d881717e792e 100644
--- a/pkgs/tools/audio/pa-applet/default.nix
+++ b/pkgs/tools/audio/pa-applet/default.nix
@@ -1,18 +1,19 @@
-{ lib, stdenv, fetchgit, libpulseaudio, pkg-config, gtk3, glibc, autoconf, automake, libnotify, libX11, xf86inputevdev }:
+{ lib, stdenv, fetchFromGitHub, libpulseaudio, pkg-config, gtk3, glibc, autoconf, automake, libnotify, libX11, xf86inputevdev }:
 
 stdenv.mkDerivation {
   pname = "pa-applet";
   version = "unstable-2012-04-11";
 
-  src = fetchgit {
-    url = "git://github.com/fernandotcl/pa-applet.git";
+  src = fetchFromGitHub {
+    owner = "fernandotcl";
+    repo = "pa-applet";
     rev = "005f192df9ba6d2e6491f9aac650be42906b135a";
-    sha256 = "1242sdri67wnm1cd0hr40mxarkh7qs7mb9n2m0g9dbz0f4axj6wa";
+    sha256 = "sha256-ihvZFXHgr5YeqMKmVY/GB86segUkQ9BYqJYfE3PTgog=";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config autoconf automake ];
   buildInputs = [
-    gtk3 libpulseaudio glibc automake autoconf libnotify libX11 xf86inputevdev
+    gtk3 libpulseaudio glibc libnotify libX11 xf86inputevdev
   ];
 
   preConfigure = ''
diff --git a/pkgs/tools/audio/tts/default.nix b/pkgs/tools/audio/tts/default.nix
index a7b0212a7b00a..a15a29f9d5745 100644
--- a/pkgs/tools/audio/tts/default.nix
+++ b/pkgs/tools/audio/tts/default.nix
@@ -57,6 +57,7 @@ python.pkgs.buildPythonApplication rec {
         ''-e 's/${package}.*[<>=]+.*/${package}/g' \''
       ) relaxedConstraints)}
     requirements.txt
+    sed -i '/tensorboardX/d' requirements.txt
   '';
 
   nativeBuildInputs = with python.pkgs; [
@@ -84,7 +85,6 @@ python.pkgs.buildPythonApplication rec {
     pyworld
     scipy
     soundfile
-    tensorboardx
     tensorflow
     torchaudio-bin
     tqdm
diff --git a/pkgs/tools/backup/autorestic/default.nix b/pkgs/tools/backup/autorestic/default.nix
index b1d863c1cf196..d7b6af031644c 100644
--- a/pkgs/tools/backup/autorestic/default.nix
+++ b/pkgs/tools/backup/autorestic/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "autorestic";
-  version = "1.5.7";
+  version = "1.5.8";
 
   src = fetchFromGitHub {
     owner = "cupcakearmy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-o3SO3y26ur16D20rTYtzfyZWNDbeOzvj/BpMykvG698=";
+    sha256 = "sha256-0eq2u3DCNgfxsiE4lycf+xGIoEC3sZgEMha9+40j+9s=";
   };
 
   vendorSha256 = "sha256-qYXdRpQT7x+Y5h8PuKGjsANXLqjNlsPKO76GQhnufTU=";
diff --git a/pkgs/tools/backup/bacula/default.nix b/pkgs/tools/backup/bacula/default.nix
index c37e789338499..35c5a36a8c9f1 100644
--- a/pkgs/tools/backup/bacula/default.nix
+++ b/pkgs/tools/backup/bacula/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bacula";
-  version = "11.0.5";
+  version = "11.0.6";
 
   src = fetchurl {
     url    = "mirror://sourceforge/bacula/${pname}-${version}.tar.gz";
-    sha256 = "sha256-71s7Z4EEQiAbgNwdR8zvd7XtN4/hKFQG86c0AbboERo=";
+    sha256 = "sha256-AZWgi81PV4rkqc4Nkff4ZzHGNNVrgQU0ci1yGyqe7Lc=";
   };
 
   buildInputs = [ postgresql sqlite zlib ncurses openssl readline ]
diff --git a/pkgs/tools/backup/bareos/default.nix b/pkgs/tools/backup/bareos/default.nix
deleted file mode 100644
index e2ccdb132c9b1..0000000000000
--- a/pkgs/tools/backup/bareos/default.nix
+++ /dev/null
@@ -1,82 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, nettools, gettext, flex
-, readline ? null, openssl ? null, python2 ? null, ncurses ? null, rocksdb
-, sqlite ? null, postgresql ? null, libmysqlclient ? null, zlib ? null, lzo ? null
-, jansson ? null, acl ? null, glusterfs ? null, libceph ? null, libcap ? null
-}:
-
-assert sqlite != null || postgresql != null || libmysqlclient != null;
-
-with lib;
-let
-  withGlusterfs = "\${with_glusterfs_directory}";
-in
-stdenv.mkDerivation rec {
-  pname = "bareos";
-  version = "17.2.7";
-
-  src = fetchFromGitHub {
-    owner = "bareos";
-    repo = "bareos";
-    rev = "Release/${version}";
-    name = "${pname}-${version}-src";
-    sha256 = "1awf5i4mw2nfd7z0dmqnywapnx9nz6xwqv8rxp0y2mnrhzdpbrbz";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [
-    nettools gettext readline openssl python2 flex ncurses sqlite postgresql
-    libmysqlclient zlib lzo jansson acl glusterfs libceph libcap rocksdb
-  ];
-
-  postPatch = ''
-    sed -i 's,\(-I${withGlusterfs}/include\),\1/glusterfs,' configure
-  '';
-
-  configureFlags = [
-    "--sysconfdir=/etc"
-    "--exec-prefix=\${out}"
-    "--enable-lockmgr"
-    "--enable-dynamic-storage-backends"
-    "--with-basename=nixos" # For reproducible builds since it uses the hostname otherwise
-    "--with-hostname=nixos" # For reproducible builds since it uses the hostname otherwise
-    "--with-working-dir=/var/lib/bareos"
-    "--with-bsrdir=/var/lib/bareos"
-    "--with-logdir=/var/log/bareos"
-    "--with-pid-dir=/run/bareos"
-    "--with-subsys-dir=/run/bareos"
-    "--enable-ndmp"
-    "--enable-lmdb"
-    "--enable-batch-insert"
-    "--enable-dynamic-cats-backends"
-    "--enable-sql-pooling"
-    "--enable-scsi-crypto"
-  ] ++ optionals (readline != null) [ "--disable-conio" "--enable-readline" "--with-readline=${readline.dev}" ]
-    ++ optional (python2 != null) "--with-python=${python2}"
-    ++ optional (openssl != null) "--with-openssl=${openssl.dev}"
-    ++ optional (sqlite != null) "--with-sqlite3=${sqlite.dev}"
-    ++ optional (postgresql != null) "--with-postgresql=${postgresql}"
-    ++ optional (libmysqlclient != null) "--with-mysql=${libmysqlclient}"
-    ++ optional (zlib != null) "--with-zlib=${zlib.dev}"
-    ++ optional (lzo != null) "--with-lzo=${lzo}"
-    ++ optional (jansson != null) "--with-jansson=${jansson}"
-    ++ optional (acl != null) "--enable-acl"
-    ++ optional (glusterfs != null) "--with-glusterfs=${glusterfs}"
-    ++ optional (libceph != null) "--with-cephfs=${libceph}";
-
-  installFlags = [
-    "sysconfdir=\${out}/etc"
-    "confdir=\${out}/etc/bareos"
-    "scriptdir=\${out}/etc/bareos"
-    "working_dir=\${TMPDIR}"
-    "log_dir=\${TMPDIR}"
-    "sbindir=\${out}/bin"
-  ];
-
-  meta = with lib; {
-    homepage = "http://www.bareos.org/";
-    description = "A fork of the bacula project";
-    license = licenses.agpl3;
-    platforms = platforms.unix;
-    broken = true;
-  };
-}
diff --git a/pkgs/tools/backup/ddar/default.nix b/pkgs/tools/backup/ddar/default.nix
deleted file mode 100644
index 4c8d1a28c27c4..0000000000000
--- a/pkgs/tools/backup/ddar/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ lib, python2, fetchFromGitHub, roundup, ncurses }:
-
-python2.pkgs.buildPythonApplication rec {
-  pname = "ddar";
-  version = "1.0";
-
-  src = fetchFromGitHub {
-    owner = "basak";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "158jdy5261k9yw540g48hddy5zyqrr81ir9fjlcy4jnrwfkg7ynm";
-  };
-
-  prePatch = ''
-    substituteInPlace t/local-functions \
-      --replace 'PATH="$ddar_src:$PATH"' 'PATH="$out/bin:$PATH"'
-    # Test requires additional software and compilation of some C programs
-    substituteInPlace t/basic-test.sh \
-      --replace it_stores_and_extracts_corpus0 dont_test
-  '';
-
-  preBuild = ''
-    make -f Makefile.prep synctus/ddar_pb2.py
-  '';
-
-  nativeBuildInputs = with python2.pkgs; [ protobuf.protobuf ];
-  propagatedBuildInputs = with python2.pkgs; [ protobuf ];
-
-  checkInputs = [ roundup ncurses ];
-
-  checkPhase = ''
-    roundup t/basic-test.sh
-  '';
-
-  meta = with lib; {
-    description = "Unix de-duplicating archiver";
-    license = licenses.gpl3;
-    homepage = src.meta.homepage;
-  };
-}
diff --git a/pkgs/tools/backup/ori/default.nix b/pkgs/tools/backup/ori/default.nix
deleted file mode 100644
index 01da407695a42..0000000000000
--- a/pkgs/tools/backup/ori/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib, stdenv, fetchurl, boost, pkg-config, scons, util-linux, fuse, libevent, openssl, zlib }:
-
-stdenv.mkDerivation {
-  version = "0.8.1";
-  pname = "ori";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/orifs/ori/downloads/ori-0.8.1.tar.xz";
-    sha256 = "8ce1a3dfbb6d1538885e993616bdfe71be44711d48f7f6798ff6bc0a39b3deca";
-  };
-
-  buildInputs = [
-    boost pkg-config scons util-linux fuse libevent openssl zlib
-  ];
-
-  buildPhase = ''
-    scons PREFIX=$out WITH_ORILOCAL=1 install
-  '';
-
-  dontInstall = true;
-
-  meta = with lib; {
-    description = "A secure distributed file system";
-    homepage = "http://ori.scs.stanford.edu/";
-    license = licenses.mit;
-    platforms = platforms.unix;
-    broken = true; # 2018-04-11
-  };
-}
diff --git a/pkgs/tools/backup/restic/default.nix b/pkgs/tools/backup/restic/default.nix
index 0cf25941e907b..e2e16f9f69a2d 100644
--- a/pkgs/tools/backup/restic/default.nix
+++ b/pkgs/tools/backup/restic/default.nix
@@ -3,13 +3,13 @@
 
 buildGoModule rec {
   pname = "restic";
-  version = "0.12.1";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "restic";
     repo = "restic";
     rev = "v${version}";
-    sha256 = "19lzccipbpxdkay60zdqfq8dgah0sbxzjcfcx285c28js2zpp85m";
+    sha256 = "sha256-pbCN262gyS5BSUTN9QU+x2Nnrc8mmCSQH6Inng4OS8c=";
   };
 
   patches = [
@@ -17,7 +17,7 @@ buildGoModule rec {
     ./0001-Skip-testing-restore-with-permission-failure.patch
   ];
 
-  vendorSha256 = "0sdswihiy4r3lw9a87xj2qm3nf28cw56yfm56mva6b8lr3vk93l6";
+  vendorSha256 = "sha256-DWfCjGXjZnZa2mXPmXQmvGDtXb0H1wJqCgVsDjdVy9U=";
 
   subPackages = [ "cmd/restic" ];
 
diff --git a/pkgs/tools/backup/tarsnap/default.nix b/pkgs/tools/backup/tarsnap/default.nix
index e55823e59ae4a..69c2869ae2b29 100644
--- a/pkgs/tools/backup/tarsnap/default.nix
+++ b/pkgs/tools/backup/tarsnap/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, openssl, zlib, e2fsprogs, bash }:
+{ lib, stdenv, fetchurl, openssl, zlib, e2fsprogs, bash, bzip2 }:
 
 let
   zshCompletion = fetchurl {
@@ -31,7 +31,8 @@ stdenv.mkDerivation rec {
     install -m 444 -D ${zshCompletion} $out/share/zsh/site-functions/_tarsnap
   '';
 
-  buildInputs = [ openssl zlib ] ++ lib.optional stdenv.isLinux e2fsprogs ;
+  buildInputs = [ openssl zlib ] ++ lib.optional stdenv.isLinux e2fsprogs
+                ++ lib.optional stdenv.isDarwin bzip2;
 
   meta = {
     description = "Online backups for the truly paranoid";
diff --git a/pkgs/tools/backup/tsm-client/default.nix b/pkgs/tools/backup/tsm-client/default.nix
index c684b34ec4e56..441b8bdd005d0 100644
--- a/pkgs/tools/backup/tsm-client/default.nix
+++ b/pkgs/tools/backup/tsm-client/default.nix
@@ -106,10 +106,10 @@ let
 
   unwrapped = stdenv.mkDerivation rec {
     name = "tsm-client-${version}-unwrapped";
-    version = "8.1.13.3";
+    version = "8.1.14.0";
     src = fetchurl {
       url = mkSrcUrl version;
-      sha256 = "1dwczf236drdaf4jcfzz5154vdwvxf5zraxhrhiddl6n80hnvbcd";
+      sha256 = "1iczc4w8rwzqnw01r89kwxcdr7pnwh3nqr3a0q8ncrxrhsy3qwn0";
     };
     inherit meta passthru;
 
diff --git a/pkgs/tools/backup/zrepl/default.nix b/pkgs/tools/backup/zrepl/default.nix
index 999dd6ccb6ee6..0bbc7267af80f 100644
--- a/pkgs/tools/backup/zrepl/default.nix
+++ b/pkgs/tools/backup/zrepl/default.nix
@@ -2,6 +2,7 @@
 , buildGoModule
 , fetchFromGitHub
 , makeWrapper
+, nixosTests
 , openssh
 }:
 buildGoModule rec {
@@ -32,11 +33,15 @@ buildGoModule rec {
       --prefix PATH : ${lib.makeBinPath [ openssh ]}
   '';
 
+  passthru.tests = {
+    inherit (nixosTests) zrepl;
+  };
+
   meta = with lib; {
     homepage = "https://zrepl.github.io/";
     description = "A one-stop, integrated solution for ZFS replication";
     platforms = platforms.linux;
     license = licenses.mit;
-    maintainers = with maintainers; [ cole-h danderson ];
+    maintainers = with maintainers; [ cole-h danderson mdlayher ];
   };
 }
diff --git a/pkgs/tools/bluetooth/blueberry/default.nix b/pkgs/tools/bluetooth/blueberry/default.nix
index 5616560108cfd..6a0f1d2d00bcf 100644
--- a/pkgs/tools/bluetooth/blueberry/default.nix
+++ b/pkgs/tools/bluetooth/blueberry/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     bluez-tools
     cinnamon.xapps
-    gnome.gnome-bluetooth
+    gnome.gnome-bluetooth_1_0
     python3Packages.python
     util-linux
   ];
diff --git a/pkgs/tools/cd-dvd/ventoy-bin/add-mips64.patch b/pkgs/tools/cd-dvd/ventoy-bin/add-mips64.patch
new file mode 100644
index 0000000000000..66c9085d2edfb
--- /dev/null
+++ b/pkgs/tools/cd-dvd/ventoy-bin/add-mips64.patch
@@ -0,0 +1,5 @@
+--- VentoyPlugson.sh
++++ VentoyPlugson.sh
+@@ -27,0 +28,2 @@ elif echo $machine | egrep -q 'x86_64|am
++elif echo $machine | egrep -q 'mips64'; then
++    TOOLDIR=mips64el
diff --git a/pkgs/tools/cd-dvd/ventoy-bin/default.nix b/pkgs/tools/cd-dvd/ventoy-bin/default.nix
index b5f33f7a65852..cf573472307c8 100644
--- a/pkgs/tools/cd-dvd/ventoy-bin/default.nix
+++ b/pkgs/tools/cd-dvd/ventoy-bin/default.nix
@@ -1,40 +1,55 @@
 { lib, stdenv, fetchurl, fetchpatch
 , autoPatchelfHook, makeWrapper
-, hexdump, exfat, dosfstools, e2fsprogs, xz, util-linux, bash, parted
-, withGtk3 ? true, gtk3
+, bash, coreutils, dosfstools, exfat, gawk, gnugrep, gnused, hexdump, parted
+, procps, util-linux, which, xz
+, withCryptsetup ? false, cryptsetup
+, withXfs ? false, xfsprogs
+, withExt4 ? false, e2fsprogs
+, withNtfs ? false, ntfs3g
+, withGtk3 ? false, gtk3
 , withQt5 ? false, qt5
+, defaultGuiType ? ""
 }:
 
-let arch = {
-  x86_64-linux = "x86_64";
-  i686-linux = "i386";
-  aarch64-linux = "aarch64";
-  mipsel-linux = "mips64el";
-}.${stdenv.hostPlatform.system} or (throw "Unsupported platform ${stdenv.hostPlatform.system}");
-defaultGuiType = if withGtk3 then "gtk3"
-                 else if withQt5 then "qt5"
-                 else "";
+assert lib.elem defaultGuiType ["" "gtk3" "qt5"];
+assert defaultGuiType == "gtk3" -> withGtk3;
+assert defaultGuiType == "qt5" -> withQt5;
+
+let
+  arch = {
+    x86_64-linux = "x86_64";
+    i686-linux = "i386";
+    aarch64-linux = "aarch64";
+    mipsel-linux = "mips64el";
+  }.${stdenv.hostPlatform.system} or (throw "Unsupported platform ${stdenv.hostPlatform.system}");
 in stdenv.mkDerivation rec {
   pname = "ventoy-bin";
-  version = "1.0.56";
+  version = "1.0.72";
 
   nativeBuildInputs = [ autoPatchelfHook makeWrapper ]
     ++ lib.optional withQt5 qt5.wrapQtAppsHook;
-  buildInputs = [ hexdump exfat dosfstools e2fsprogs xz util-linux bash parted ]
+  buildInputs = [
+    bash coreutils dosfstools exfat gawk gnugrep gnused hexdump parted procps
+    util-linux which xz
+  ] ++ lib.optional withCryptsetup cryptsetup
+    ++ lib.optional withXfs xfsprogs
+    ++ lib.optional withExt4 e2fsprogs
+    ++ lib.optional withNtfs ntfs3g
     ++ lib.optional withGtk3 gtk3
     ++ lib.optional withQt5 qt5.qtbase;
 
   src = fetchurl {
     url = "https://github.com/ventoy/Ventoy/releases/download/v${version}/ventoy-${version}-linux.tar.gz";
-    sha256 = "da53d51e653092a170c11dd560e0ad6fb27c497dd77ad0ba483c32935c069dea";
+    sha256 = "sha256-1mfe6ZnqkeBNGNjI7Qx7jG5FLgfn6rVwr0VQvSOG7Ow=";
   };
   patches = [
     (fetchpatch {
       name = "sanitize.patch";
-      url = "https://aur.archlinux.org/cgit/aur.git/plain/sanitize.patch?h=ventoy-bin&id=ce4c26c67a1de4b761f9448bf92e94ffae1c8148";
-      sha256 = "c00f9f9cd5b4f81c566267b7b2480fa94d28dda43a71b1e47d6fa86f764e7038";
+      url = "https://aur.archlinux.org/cgit/aur.git/plain/sanitize.patch?h=19f8922b3d96c5ff55eeefc269ae43369a0748e8";
+      sha256 = "sha256-RDdxPCmrfNMwXNuJwQW48fAiJPbMjdHiBmF03fKqm2o=";
     })
     ./fix-for-read-only-file-system.patch
+    ./add-mips64.patch
   ];
   patchFlags = [ "-p0" ];
   postPatch = ''
@@ -42,7 +57,8 @@ in stdenv.mkDerivation rec {
     find -type f -name \*.sh -exec chmod a+x '{}' \;
 
     # Fix path to log.
-    sed -i 's:[lL]og\.txt:/var/log/ventoy\.log:g' WebUI/static/js/languages.js
+    sed -i 's:log\.txt:/var/log/ventoy\.log:g' \
+        WebUI/static/js/languages.js tool/languages.json
   '';
   installPhase = ''
     # Setup variables.
@@ -66,8 +82,8 @@ in stdenv.mkDerivation rec {
         aarch64) rm -r {tool/,VentoyGUI.}{x86_64,i386,mips64el};;
         mips64el) rm -r {tool/,VentoyGUI.}{x86_64,i386,aarch64};;
     esac
-    rm README
-    rm tool/"$ARCH"/Ventoy2Disk.gtk2
+    rm README tool/VentoyWorker.sh.orig
+    rm tool/"$ARCH"/Ventoy2Disk.gtk2 || true  # For aarch64 and mips64el.
 
     # Copy from "$src" to "$out".
     mkdir -p "$out"/bin "$VENTOY_PATH"
@@ -76,20 +92,24 @@ in stdenv.mkDerivation rec {
     # Fill bin dir.
     for f in Ventoy2Disk.sh_ventoy VentoyWeb.sh_ventoy-web \
              CreatePersistentImg.sh_ventoy-persistent \
-             ExtendPersistentImg.sh_ventoy-extend-persistent; do
-        makeWrapper "$VENTOY_PATH/''${f%_*}" "$out/bin/''${f#*_}" \
+             ExtendPersistentImg.sh_ventoy-extend-persistent \
+             VentoyPlugson.sh_ventoy-plugson; do
+        local bin="''${f%_*}" wrapper="''${f#*_}"
+        makeWrapper "$VENTOY_PATH/$bin" "$out/bin/$wrapper" \
                     --prefix PATH : "${lib.makeBinPath buildInputs}" \
                     --run "cd '$VENTOY_PATH' || exit 1"
     done
   '' + lib.optionalString (withGtk3 || withQt5) ''
+    # VentoGUI uses the `ventoy_gui_type` file to determine the type of GUI.
+    # See <https://github.com/ventoy/Ventoy/blob/471432fc50ffad80bde5de0b22e4c30fa3aac41b/LinuxGUI/Ventoy2Disk/ventoy_gui.c#L1044>.
     echo "${defaultGuiType}" > "$VENTOY_PATH/ventoy_gui_type"
     makeWrapper "$VENTOY_PATH/VentoyGUI.$ARCH" "$out/bin/ventoy-gui" \
                 --prefix PATH : "${lib.makeBinPath buildInputs}" \
                 --run "cd '$VENTOY_PATH' || exit 1"
   '' + lib.optionalString (!withGtk3) ''
-    rm "$out"/share/ventoy/tool/"$ARCH"/Ventoy2Disk.gtk3
+    rm "$VENTOY_PATH/tool/$ARCH/Ventoy2Disk.gtk3"
   '' + lib.optionalString (!withQt5) ''
-    rm "$out"/share/ventoy/tool/"$ARCH"/Ventoy2Disk.qt5
+    rm "$VENTOY_PATH/tool/$ARCH/Ventoy2Disk.qt5"
   '';
 
   meta = with lib; {
@@ -99,10 +119,14 @@ in stdenv.mkDerivation rec {
       ISO/WIM/IMG/VHD(x)/EFI files.  With ventoy, you don't need to format the
       disk over and over, you just need to copy the ISO/WIM/IMG/VHD(x)/EFI
       files to the USB drive and boot them directly.  You can copy many files
-      at a time and ventoy will give you a boot menu to select them
-      (screenshot).  x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI, ARM64 UEFI and
-      MIPS64EL UEFI are supported in the same way.  Most type of OS supported
-      (Windows/WinPE/Linux/Unix/VMware/Xen...).
+      at a time and ventoy will give you a boot menu to select them.  You can
+      also browse ISO/WIM/IMG/VHD(x)/EFI files in local disk and boot them.
+      x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI, ARM64 UEFI and MIPS64EL UEFI are
+      supported in the same way.  Most type of OS supported
+      (Windows/WinPE/Linux/ChromeOS/Unix/VMware/Xen...).  With ventoy you can
+      also browse ISO/WIM/IMG/VHD(x)/EFI files in local disk and boot them.
+      800+ image files are tested.  90%+ distros in <distrowatch.com>
+      supported.
     '';
     homepage = "https://www.ventoy.net";
     changelog = "https://www.ventoy.net/doc_news.html";
diff --git a/pkgs/tools/cd-dvd/ventoy-bin/fix-for-read-only-file-system.patch b/pkgs/tools/cd-dvd/ventoy-bin/fix-for-read-only-file-system.patch
index fa3eb7c38b349..d448417bf913e 100644
--- a/pkgs/tools/cd-dvd/ventoy-bin/fix-for-read-only-file-system.patch
+++ b/pkgs/tools/cd-dvd/ventoy-bin/fix-for-read-only-file-system.patch
@@ -1,7 +1,6 @@
-diff -Naurp0 old/CreatePersistentImg.sh new/CreatePersistentImg.sh
---- CreatePersistentImg.sh	2021-07-17 13:13:51.000000000 +0300
-+++ CreatePersistentImg.sh	2021-07-20 17:37:53.605911754 +0300
-@@ -94,7 +94,3 @@ if [ -n "$config" ]; then
+--- CreatePersistentImg.sh
++++ CreatePersistentImg.sh
+@@ -110,7 +110,3 @@ if [ -n "$config" ]; then
 -    if [ -d ./persist_tmp_mnt ]; then
 -        rm -rf ./persist_tmp_mnt
 -    fi
@@ -9,110 +8,47 @@ diff -Naurp0 old/CreatePersistentImg.sh new/CreatePersistentImg.sh
 -    mkdir ./persist_tmp_mnt
 -    if mount $freeloop ./persist_tmp_mnt; then
 -        echo '/ union' > ./persist_tmp_mnt/$config
-+    path_to_persist_mnt="$(mktemp -d)"
++    path_to_persist_mnt="`mktemp -d`"
 +    if mount $freeloop "$path_to_persist_mnt"; then
 +        echo '/ union' > "$path_to_persist_mnt"/$config
-@@ -102 +98 @@ if [ -n "$config" ]; then
+@@ -118 +114 @@ if [ -n "$config" ]; then
 -        umount ./persist_tmp_mnt
 +        umount "$path_to_persist_mnt"
-@@ -104 +100 @@ if [ -n "$config" ]; then
+@@ -120 +116 @@ if [ -n "$config" ]; then
 -    rm -rf ./persist_tmp_mnt
 +    rm -rf "$path_to_persist_mnt"
-diff -Naurp0 old/tool/VentoyWorker.sh new/tool/VentoyWorker.sh
---- tool/VentoyWorker.sh	2021-07-17 13:13:51.000000000 +0300
-+++ tool/VentoyWorker.sh	2021-07-20 17:27:10.885452119 +0300
-@@ -153,12 +152,0 @@ fi
+--- tool/VentoyWorker.sh
++++ tool/VentoyWorker.sh
+@@ -162,12 +161,0 @@ fi
 -#check tmp_mnt directory
 -if [ -d ./tmp_mnt ]; then
 -    vtdebug "There is a tmp_mnt directory, now delete it."
 -    umount ./tmp_mnt >/dev/null 2>&1
 -    rm -rf ./tmp_mnt
 -    if [ -d ./tmp_mnt ]; then
--        vterr "tmp_mnt directory exits, please delete it first."
+-        vterr "tmp_mnt directory exists, please delete it first."
 -        exit 1
 -    fi
 -fi
 -
 -
-@@ -322 +310 @@ if [ "$MODE" = "install" ]; then
--        mkdir ./tmp_mnt
-+        path_to_mnt="$(mktemp -d)"
-@@ -326 +314 @@ if [ "$MODE" = "install" ]; then
--            if mount ${PART2} ./tmp_mnt > /dev/null 2>&1; then
-+            if mount ${PART2} "$path_to_mnt" > /dev/null 2>&1; then
-@@ -335,9 +323,9 @@ if [ "$MODE" = "install" ]; then
--        rm -f ./tmp_mnt/EFI/BOOT/BOOTX64.EFI
--        rm -f ./tmp_mnt/EFI/BOOT/grubx64.efi
--        rm -f ./tmp_mnt/EFI/BOOT/BOOTIA32.EFI
--        rm -f ./tmp_mnt/EFI/BOOT/grubia32.efi
--        rm -f ./tmp_mnt/EFI/BOOT/MokManager.efi
--        rm -f ./tmp_mnt/EFI/BOOT/mmia32.efi
--        rm -f ./tmp_mnt/ENROLL_THIS_KEY_IN_MOKMANAGER.cer
--        mv ./tmp_mnt/EFI/BOOT/grubx64_real.efi  ./tmp_mnt/EFI/BOOT/BOOTX64.EFI
--        mv ./tmp_mnt/EFI/BOOT/grubia32_real.efi  ./tmp_mnt/EFI/BOOT/BOOTIA32.EFI
-+        rm -f "$path_to_mnt"/EFI/BOOT/BOOTX64.EFI
-+        rm -f "$path_to_mnt"/EFI/BOOT/grubx64.efi
-+        rm -f "$path_to_mnt"/EFI/BOOT/BOOTIA32.EFI
-+        rm -f "$path_to_mnt"/EFI/BOOT/grubia32.efi
-+        rm -f "$path_to_mnt"/EFI/BOOT/MokManager.efi
-+        rm -f "$path_to_mnt"/EFI/BOOT/mmia32.efi
-+        rm -f "$path_to_mnt"/ENROLL_THIS_KEY_IN_MOKMANAGER.cer
-+        mv "$path_to_mnt"/EFI/BOOT/grubx64_real.efi  "$path_to_mnt"/EFI/BOOT/BOOTX64.EFI
-+        mv "$path_to_mnt"/EFI/BOOT/grubia32_real.efi  "$path_to_mnt"/EFI/BOOT/BOOTIA32.EFI
-@@ -348 +336 @@ if [ "$MODE" = "install" ]; then
--            if umount ./tmp_mnt; then
-+            if umount "$path_to_mnt"; then
-@@ -350 +338 @@ if [ "$MODE" = "install" ]; then
--                rm -rf ./tmp_mnt
-+                rm -rf "$path_to_mnt"
-@@ -407,2 +395,2 @@ else
+@@ -569,2 +557,2 @@ else
 -    rm -f ./diskuuid.bin
 -    dd status=none conv=fsync if=${DISK} skip=384 bs=1 count=16 of=./diskuuid.bin
-+    path_to_diskuuid="$(mktemp)"
++    path_to_diskuuid="`mktemp`"
 +    dd status=none conv=fsync if=${DISK} skip=384 bs=1 count=16 of="$path_to_diskuuid"
-@@ -411,2 +399,2 @@ else
+@@ -573,2 +561,2 @@ else
 -    dd status=none conv=fsync if=./diskuuid.bin of=$DISK bs=1 count=16 seek=384
 -    rm -f ./diskuuid.bin
 +    dd status=none conv=fsync if="$path_to_diskuuid" of=$DISK bs=1 count=16 seek=384
 +    rm -f "$path_to_diskuuid"
-@@ -415,2 +403,2 @@ else
+@@ -577,2 +565,2 @@ else
 -    rm -f ./rsvdata.bin
 -    dd status=none conv=fsync if=${DISK} skip=2040 bs=512 count=8 of=./rsvdata.bin
-+    path_to_rsvdata="$(mktemp)"
++    path_to_rsvdata="`mktemp`"
 +    dd status=none conv=fsync if=${DISK} skip=2040 bs=512 count=8 of="$path_to_rsvdata"
-@@ -438,2 +426,2 @@ else
+@@ -600,2 +588,2 @@ else
 -    dd status=none conv=fsync if=./rsvdata.bin seek=2040 bs=512 count=8 of=${DISK}
 -    rm -f ./rsvdata.bin
 +    dd status=none conv=fsync if="$path_to_rsvdata" seek=2040 bs=512 count=8 of=${DISK}
 +    rm -f "$path_to_rsvdata"
-@@ -448 +436 @@ else
--        mkdir ./tmp_mnt
-+        path_to_mnt="$(mktemp -d)"
-@@ -454 +442 @@ else
--            if mount ${PART2} ./tmp_mnt > /dev/null 2>&1; then
-+            if mount ${PART2} "$path_to_mnt" > /dev/null 2>&1; then
-@@ -463,9 +451,9 @@ else
--        rm -f ./tmp_mnt/EFI/BOOT/BOOTX64.EFI
--        rm -f ./tmp_mnt/EFI/BOOT/grubx64.efi
--        rm -f ./tmp_mnt/EFI/BOOT/BOOTIA32.EFI
--        rm -f ./tmp_mnt/EFI/BOOT/grubia32.efi
--        rm -f ./tmp_mnt/EFI/BOOT/MokManager.efi
--        rm -f ./tmp_mnt/EFI/BOOT/mmia32.efi
--        rm -f ./tmp_mnt/ENROLL_THIS_KEY_IN_MOKMANAGER.cer
--        mv ./tmp_mnt/EFI/BOOT/grubx64_real.efi  ./tmp_mnt/EFI/BOOT/BOOTX64.EFI
--        mv ./tmp_mnt/EFI/BOOT/grubia32_real.efi  ./tmp_mnt/EFI/BOOT/BOOTIA32.EFI
-+        rm -f "$path_to_mnt"/EFI/BOOT/BOOTX64.EFI
-+        rm -f "$path_to_mnt"/EFI/BOOT/grubx64.efi
-+        rm -f "$path_to_mnt"/EFI/BOOT/BOOTIA32.EFI
-+        rm -f "$path_to_mnt"/EFI/BOOT/grubia32.efi
-+        rm -f "$path_to_mnt"/EFI/BOOT/MokManager.efi
-+        rm -f "$path_to_mnt"/EFI/BOOT/mmia32.efi
-+        rm -f "$path_to_mnt"/ENROLL_THIS_KEY_IN_MOKMANAGER.cer
-+        mv "$path_to_mnt"/EFI/BOOT/grubx64_real.efi  "$path_to_mnt"/EFI/BOOT/BOOTX64.EFI
-+        mv "$path_to_mnt"/EFI/BOOT/grubia32_real.efi  "$path_to_mnt"/EFI/BOOT/BOOTIA32.EFI
-@@ -476 +464 @@ else
--            if umount ./tmp_mnt > /dev/null 2>&1; then
-+            if umount "$path_to_mnt" > /dev/null 2>&1; then
-@@ -478 +466 @@ else
--                rm -rf ./tmp_mnt
-+                rm -rf "$path_to_mnt"
diff --git a/pkgs/tools/compression/bzip2/default.nix b/pkgs/tools/compression/bzip2/default.nix
index da37cf9fbd8cf..cd262875a76be 100644
--- a/pkgs/tools/compression/bzip2/default.nix
+++ b/pkgs/tools/compression/bzip2/default.nix
@@ -44,6 +44,10 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  postInstall = ''
+    ln -s $out/lib/libbz2.so.1.0.* $out/lib/libbz2.so.1.0
+  '';
+
   meta = with lib; {
     description = "High-quality data compression program";
     homepage = "https://www.sourceware.org/bzip2";
diff --git a/pkgs/tools/compression/lrzip/default.nix b/pkgs/tools/compression/lrzip/default.nix
index 4fe5512b4c6f0..b14fb347d2101 100644
--- a/pkgs/tools/compression/lrzip/default.nix
+++ b/pkgs/tools/compression/lrzip/default.nix
@@ -5,13 +5,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "lrzip";
-  version = "0.641";
+  version = "0.650";
 
   src = fetchFromGitHub {
     owner = "ckolivas";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-253CH6TiHWyr13C76y9PXjyB7gj2Bhd2VRgJ5r+cm/g=";
+    sha256 = "sha256-rHjaTgNVGfnGio4geuWRfPds5BqcXJu7p8XJh83rRTs=";
   };
 
   postPatch = lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/tools/compression/pixz/default.nix b/pkgs/tools/compression/pixz/default.nix
index ec05a44a51892..a8463f8abc4eb 100644
--- a/pkgs/tools/compression/pixz/default.nix
+++ b/pkgs/tools/compression/pixz/default.nix
@@ -18,10 +18,8 @@ stdenv.mkDerivation rec {
   pname = "pixz";
   version = "1.0.7";
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config autoconf automake ];
   buildInputs = [
-    autoconf
-    automake
     libtool
     asciidoc
     libxslt
diff --git a/pkgs/tools/filesystems/bcachefs-tools/default.nix b/pkgs/tools/filesystems/bcachefs-tools/default.nix
index aa049682b834e..e5325b1f98872 100644
--- a/pkgs/tools/filesystems/bcachefs-tools/default.nix
+++ b/pkgs/tools/filesystems/bcachefs-tools/default.nix
@@ -22,13 +22,13 @@
 
 stdenv.mkDerivation {
   pname = "bcachefs-tools";
-  version = "unstable-2022-03-09";
+  version = "unstable-2022-03-22";
 
   src = fetchFromGitHub {
     owner = "koverstreet";
     repo = "bcachefs-tools";
-    rev = "3e2e3d468eed1d5ebbb4c6309d2eaebd081912c5";
-    sha256 = "1sb0dj2whlp3dxgf642z7yx7s8va5ah82zi6r4qni7l64qy1n554";
+    rev = "f3cdace86c8b60a4efaced23b2d31c16dc610da9";
+    sha256 = "1hg4cjrs4yr0mx3mmm1jls93w1skpq5wzp2dzx9rq4w5il2xmx19";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/filesystems/btrfs-progs/default.nix b/pkgs/tools/filesystems/btrfs-progs/default.nix
index c51cc12da36bb..fad1944c4a0eb 100644
--- a/pkgs/tools/filesystems/btrfs-progs/default.nix
+++ b/pkgs/tools/filesystems/btrfs-progs/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "btrfs-progs";
-  version = "5.16.1";
+  version = "5.16.2";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
-    sha256 = "sha256-PaTaU2HPhr3dqA7bTE8w6gdstOvsKZBPoIr8kw754ag=";
+    sha256 = "sha256-npswOh0P2c6q8gTudMHI+h/VV5TiI9n+K8Yodey9U9I=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/filesystems/buttersink/default.nix b/pkgs/tools/filesystems/buttersink/default.nix
deleted file mode 100644
index aa0f317787f82..0000000000000
--- a/pkgs/tools/filesystems/buttersink/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, python2 }:
-
-python2.pkgs.buildPythonApplication rec {
-  pname = "buttersink";
-  version = "0.6.9";
-
-  src = python2.pkgs.fetchPypi {
-    inherit pname version;
-    sha256 = "a797b6e92ad2acdf41e033c1368ab365aa268f4d8458b396a5770fa6c2bc3f54";
-  };
-
-  propagatedBuildInputs = with python2.pkgs; [ boto crcmod psutil ];
-
-  # No tests implemented
-  doCheck = false;
-
-  meta = with lib; {
-    description = "Synchronise btrfs snapshots";
-    longDescription = ''
-      ButterSink is like rsync, but for btrfs subvolumes instead of files,
-      which makes it much more efficient for things like archiving backup
-      snapshots. It is built on top of btrfs send and receive capabilities.
-      Sources and destinations can be local btrfs file systems, remote btrfs
-      file systems over SSH, or S3 buckets.
-    '';
-    homepage = "https://github.com/AmesCornish/buttersink/wiki";
-    license = licenses.gpl3;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/tools/filesystems/djmount/default.nix b/pkgs/tools/filesystems/djmount/default.nix
index f5b0a0315dfcb..3111be5b4d12e 100644
--- a/pkgs/tools/filesystems/djmount/default.nix
+++ b/pkgs/tools/filesystems/djmount/default.nix
@@ -8,6 +8,14 @@ stdenv.mkDerivation rec {
     sha256 = "0kqf0cy3h4cfiy5a2sigmisx0lvvsi1n0fbyb9ll5gacmy1b8nxa";
   };
 
+  postPatch = ''
+    # Taken from https://github.com/pupnp/pupnp/pull/334/files
+    substituteInPlace libupnp/threadutil/inc/ithread.h \
+      --replace \
+        "#define ithread_mutexattr_setkind_np pthread_mutexattr_setkind_np" \
+        '#define ithread_mutexattr_setkind_np pthread_mutexattr_settype'
+  '';
+
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ fuse];
 
diff --git a/pkgs/tools/filesystems/eiciel/default.nix b/pkgs/tools/filesystems/eiciel/default.nix
new file mode 100644
index 0000000000000..1e676dea77c77
--- /dev/null
+++ b/pkgs/tools/filesystems/eiciel/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, fetchFromGitHub
+, stdenv
+, acl
+, gnome
+, gtkmm3
+, meson
+, ninja
+, pkg-config
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "eiciel";
+  version = "0.9.13.1";
+
+  outputs = [ "out" "nautilusExtension" ];
+
+  src = fetchFromGitHub {
+    owner = "rofirrim";
+    repo = "eiciel";
+    rev = version;
+    sha256 = "0rhhw0h1hyg5kvxhjxkdz03vylgax6912mg8j4lvcz6wlsa4wkvj";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    acl
+    gtkmm3
+    gnome.nautilus
+  ];
+
+  mesonFlags = [
+    "-Dnautilus-extension-dir=${placeholder "nautilusExtension"}/lib/nautilus/extensions-3.0"
+  ];
+
+  postPatch = ''
+    substituteInPlace meson.build --replace "compiler.find_library('libacl')" "compiler.find_library('acl')"
+    chmod +x img/install_icons.sh
+    patchShebangs img/install_icons.sh
+  '';
+
+  meta = with lib; {
+    description = "Graphical editor for ACLs and extended attributes";
+    homepage = "https://rofi.roger-ferrer.org/eiciel/";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ sersorrel ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/filesystems/fuse-7z-ng/default.nix b/pkgs/tools/filesystems/fuse-7z-ng/default.nix
index 0149071ab0d0c..0367ed6037e25 100644
--- a/pkgs/tools/filesystems/fuse-7z-ng/default.nix
+++ b/pkgs/tools/filesystems/fuse-7z-ng/default.nix
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "17v1gcmg5q661b047zxjar735i4d3508dimw1x3z1pk4d1zjhp3x";
   };
 
-  nativeBuildInputs = [ pkg-config makeWrapper ];
-  buildInputs = [ fuse autoconf automake ];
+  nativeBuildInputs = [ pkg-config makeWrapper autoconf automake ];
+  buildInputs = [ fuse ];
 
   preConfigure = "./autogen.sh";
 
diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix
index 3c1e0c50d6145..e25c50e09503e 100644
--- a/pkgs/tools/filesystems/glusterfs/default.nix
+++ b/pkgs/tools/filesystems/glusterfs/default.nix
@@ -15,7 +15,7 @@ let
 
   buildInputs = [
     fuse bison flex openssl ncurses readline
-    autoconf automake libtool pkg-config zlib libaio libxml2
+    libtool pkg-config zlib libaio libxml2
     acl sqlite liburcu attr makeWrapper util-linux libtirpc gperftools
     liburing
     (python3.withPackages (pkgs: [
@@ -95,7 +95,7 @@ in stdenv.mkDerivation rec {
     "--localstatedir=/var"
   ];
 
-  nativeBuildInputs = [ rpcsvc-proto ];
+  nativeBuildInputs = [ rpcsvc-proto autoconf automake ];
 
   makeFlags = [ "DESTDIR=$(out)" ];
 
diff --git a/pkgs/tools/filesystems/grive2/default.nix b/pkgs/tools/filesystems/grive2/default.nix
index 68475b9e29086..9d1d021641a9f 100644
--- a/pkgs/tools/filesystems/grive2/default.nix
+++ b/pkgs/tools/filesystems/grive2/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkg-config ];
 
-  buildInputs = [ libgcrypt yajl curl expat stdenv boost libiberty ];
+  buildInputs = [ libgcrypt yajl curl expat boost libiberty ];
 
   meta = with lib; {
     description = "A console Google Drive client";
diff --git a/pkgs/tools/filesystems/littlefs-fuse/default.nix b/pkgs/tools/filesystems/littlefs-fuse/default.nix
new file mode 100644
index 0000000000000..daec12b50411c
--- /dev/null
+++ b/pkgs/tools/filesystems/littlefs-fuse/default.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, fetchFromGitHub, fuse }:
+
+stdenv.mkDerivation rec {
+  pname = "littlefs-fuse";
+  version = "2.4.1";
+  src = fetchFromGitHub {
+    owner = "littlefs-project";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-+EUZluBtgZiziTEIfXIhkRIBu/Pe78qmL18TQHkfHO4=";
+  };
+  buildInputs = [ fuse ];
+  installPhase = ''
+    runHook preInstall
+    install -D lfs $out/bin/${pname}
+    ln -s $out/bin/${pname} $out/bin/mount.littlefs
+    ln -s $out/bin $out/sbin
+    runHook postInstall
+  '';
+  meta = src.meta // {
+    description = "A FUSE wrapper that puts the littlefs in user-space";
+    license = lib.licenses.bsd3;
+    maintainers = with lib.maintainers; [ ehmry ];
+    inherit (fuse.meta) platforms;
+  };
+}
diff --git a/pkgs/tools/filesystems/securefs/default.nix b/pkgs/tools/filesystems/securefs/default.nix
index 44e547b01c24d..4d56f08b44262 100644
--- a/pkgs/tools/filesystems/securefs/default.nix
+++ b/pkgs/tools/filesystems/securefs/default.nix
@@ -20,6 +20,10 @@ stdenv.mkDerivation rec {
     ./add-macfuse-support.patch
   ];
 
+  postPatch = ''
+    sed -i -e '/TEST_SOURCES/d' CMakeLists.txt
+  '';
+
   nativeBuildInputs = [ cmake ];
   buildInputs = [ fuse ];
 
diff --git a/pkgs/tools/filesystems/xfsdump/default.nix b/pkgs/tools/filesystems/xfsdump/default.nix
new file mode 100644
index 0000000000000..af9c2e92f05ab
--- /dev/null
+++ b/pkgs/tools/filesystems/xfsdump/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, stdenv
+, fetchurl
+, attr
+, gettext
+, autoconf
+, automake
+, ncurses
+, libtool
+, libuuid
+, libxfs
+}:
+
+stdenv.mkDerivation rec {
+  pname = "xfsdump";
+  version = "3.1.10";
+
+  src = fetchurl {
+    url = "mirror://kernel/linux/utils/fs/xfs/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "sha256-mqt6U6oFzUbtyXJp6/FFaqsrYKuMH/+q+KpJLwtfZRc=";
+  };
+
+  nativeBuildInputs = [
+    autoconf
+    automake
+    gettext
+    libtool
+  ];
+  buildInputs = [
+    attr
+    libuuid
+    libxfs
+    ncurses
+  ];
+
+  patchPhase = ''
+    substituteInPlace Makefile \
+      --replace "cp include/install-sh ." "cp -f include/install-sh ."
+  '';
+
+  # Conifigure scripts don't check PATH, see xfstests derviation
+  preConfigure = ''
+    export MAKE=$(type -P make)
+    export MSGFMT=$(type -P msgfmt)
+    export MSGMERGE=$(type -P msgmerge)
+    export XGETTEXT=$(type -P xgettext)
+
+    make configure
+    patchShebangs ./install-sh
+  '';
+
+  meta = with lib; {
+    description = "XFS filesystem incremental dump utility";
+    homepage = "https://git.kernel.org/pub/scm/fs/xfs/xfsdump-dev.git/tree/doc/CHANGES";
+    license = licenses.gpl2Only;
+    maintainers = [ maintainers.lunik1 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/filesystems/xfsprogs/default.nix b/pkgs/tools/filesystems/xfsprogs/default.nix
index 730932141b546..91225e6b97c68 100644
--- a/pkgs/tools/filesystems/xfsprogs/default.nix
+++ b/pkgs/tools/filesystems/xfsprogs/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, buildPackages, fetchurl, autoconf, automake, gettext, libtool, pkg-config
-, icu, libuuid, readline, inih
+, icu, libuuid, readline, inih, liburcu
 }:
 
 stdenv.mkDerivation rec {
   pname = "xfsprogs";
-  version = "5.13.0";
+  version = "5.14.2";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/fs/xfs/xfsprogs/${pname}-${version}.tar.xz";
-    sha256 = "sha256-ThQtS6vghq35AW2MYGyAWCnaCORjiaRDP0A0YgT5DNs=";
+    sha256 = "sha256-AczT753yg3dTpdh2uNqE6pV9E9ekYbjEbor6TrCaq8g=";
   };
 
   outputs = [ "bin" "dev" "out" "doc" ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     autoconf automake libtool gettext pkg-config
     libuuid # codegen tool uses libuuid
   ];
-  buildInputs = [ readline icu inih ];
+  buildInputs = [ readline icu inih liburcu ];
   propagatedBuildInputs = [ libuuid ]; # Dev headers include <uuid/uuid.h>
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/filesystems/xtreemfs/default.nix b/pkgs/tools/filesystems/xtreemfs/default.nix
index 5825f8b25eeb3..5f942c9250712 100644
--- a/pkgs/tools/filesystems/xtreemfs/default.nix
+++ b/pkgs/tools/filesystems/xtreemfs/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
     export BOOST_INCLUDEDIR=${boost.dev}/include
     export BOOST_LIBRARYDIR=${boost.out}/lib
     export CMAKE_INCLUDE_PATH=${openssl.dev}/include
-    export CMAKE_LIBRARY_PATH=${openssl.out}/lib
+    export CMAKE_LIBRARY_PATH=${lib.getLib openssl}/lib
 
     substituteInPlace cpp/cmake/FindValgrind.cmake \
       --replace "/usr/local" "${valgrind}"
diff --git a/pkgs/tools/graphics/pgf/default.nix b/pkgs/tools/graphics/pgf/default.nix
index 8976700006bc6..7cac5a8e21bda 100644
--- a/pkgs/tools/graphics/pgf/default.nix
+++ b/pkgs/tools/graphics/pgf/default.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "1vfm12cfq3an3xg0679bcwdmjq2x1bbij1iwsmm60hwmrm3zvab0";
   };
 
-  buildInputs = [ autoconf automake libtool dos2unix libpgf freeimage doxygen ];
+  nativeBuildInputs = [ autoconf automake ];
+  buildInputs = [ libtool dos2unix libpgf freeimage doxygen ];
 
   patchPhase = ''
       sed 1i'#include <inttypes.h>' -i src/PGF.cpp
diff --git a/pkgs/tools/graphics/povray/default.nix b/pkgs/tools/graphics/povray/default.nix
index 735bba8bd4f44..537e5d0a6db02 100644
--- a/pkgs/tools/graphics/povray/default.nix
+++ b/pkgs/tools/graphics/povray/default.nix
@@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
     sha256 = "0hy5a3q5092szk2x3s9lpn1zkszgq9bp15rxzdncxlvnanyzsasf";
   };
 
-
-  buildInputs = [ autoconf automake boost zlib libpng libjpeg libtiff xlibsWrapper SDL ];
+  nativeBuildInputs = [ automake autoconf ];
+  buildInputs = [ boost zlib libpng libjpeg libtiff xlibsWrapper SDL ];
 
   # the installPhase wants to put files into $HOME. I let it put the files
   # to $TMPDIR, so they don't get into the $out
diff --git a/pkgs/tools/graphics/sic-image-cli/default.nix b/pkgs/tools/graphics/sic-image-cli/default.nix
index 1c3eb7c18cde7..168816b886af9 100644
--- a/pkgs/tools/graphics/sic-image-cli/default.nix
+++ b/pkgs/tools/graphics/sic-image-cli/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "sic-image-cli";
-  version = "0.19.0";
+  version = "0.19.1";
 
   src = fetchFromGitHub {
     owner = "foresterre";
     repo = "sic";
     rev = "v${version}";
-    sha256 = "11km8ngndmzp6sxyfnbll80nigi790s353v7j31jvqcgyn9gjdq9";
+    sha256 = "sha256-lFb1roQd6CK/9fKWO4SC0CbOLZglB+pS9ZqTdGRHk0Y=";
   };
 
-  cargoSha256 = "sha256-mHfQ36Xo37VRRq0y0xvUYy0MAlrfnOfMy1t3IZFdrE8=";
+  cargoSha256 = "sha256-9m8gdbrVv+6tGMg1GTUPy4eRqRQa9zy9BZwfZqNqSS0=";
 
   nativeBuildInputs = [ installShellFiles nasm ];
 
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
index 049e369e296e4..8d4a93a375ecf 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
@@ -73,6 +73,7 @@ stdenv.mkDerivation rec {
     install    -m 644 data/images/unix/ui-alpha_half.png    $out/share/ibus-mozc/alpha_half.png
     install    -m 644 data/images/unix/ui-alpha_full.png    $out/share/ibus-mozc/alpha_full.png
     install -D -m 755 out_linux/Release/mozc_renderer       $out/lib/mozc/mozc_renderer
+    install -D -m 755 out_linux/Release/mozc_emacs_helper   $out/lib/mozc/mozc_emacs_helper
 
     runHook postInstall
   '';
diff --git a/pkgs/tools/inputmethods/ibus/default.nix b/pkgs/tools/inputmethods/ibus/default.nix
index 0f4dde0a41694..4ca1e62bfb8af 100644
--- a/pkgs/tools/inputmethods/ibus/default.nix
+++ b/pkgs/tools/inputmethods/ibus/default.nix
@@ -21,7 +21,7 @@
 , gtk-doc
 , runCommand
 , isocodes
-, cldr-emoji-annotation
+, cldr-annotations
 , unicode-character-database
 , unicode-emoji
 , python3
@@ -106,7 +106,7 @@ stdenv.mkDerivation rec {
     "--enable-gtk4"
     "--enable-install-tests"
     "--with-unicode-emoji-dir=${unicode-emoji}/share/unicode/emoji"
-    "--with-emoji-annotation-dir=${cldr-emoji-annotation}/share/unicode/cldr/common/annotations"
+    "--with-emoji-annotation-dir=${cldr-annotations}/share/unicode/cldr/common/annotations"
     "--with-ucd-dir=${unicode-character-database}/share/unicode"
   ];
 
diff --git a/pkgs/tools/inputmethods/touchegg/default.nix b/pkgs/tools/inputmethods/touchegg/default.nix
index c788907727170..d58df8bd2478a 100644
--- a/pkgs/tools/inputmethods/touchegg/default.nix
+++ b/pkgs/tools/inputmethods/touchegg/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "touchegg";
-  version = "2.0.13";
+  version = "2.0.14";
 
   src = fetchFromGitHub {
     owner = "JoseExposito";
     repo = pname;
     rev = version;
-    sha256 = "sha256-wfXA4+HSLFHMvdsnyiTfRxPqdSsvd0RMkKIacf+rLZI=";
+    sha256 = "sha256-2ZuFZ2PHhbxNTmGdlZONgPfEJC7lI5Rc6dgiBj7VG2o=";
   };
 
   patches = lib.optionals withPantheon [
diff --git a/pkgs/tools/misc/antimicrox/default.nix b/pkgs/tools/misc/antimicrox/default.nix
index 6e87d82921a21..c7e629c280ee5 100644
--- a/pkgs/tools/misc/antimicrox/default.nix
+++ b/pkgs/tools/misc/antimicrox/default.nix
@@ -36,7 +36,7 @@ mkDerivation rec {
   meta = with lib; {
     description = "GUI for mapping keyboard and mouse controls to a gamepad";
     inherit (src.meta) homepage;
-    maintainers = with maintainers; [ jb55 sbruder ];
+    maintainers = with maintainers; [ sbruder ];
     license = licenses.gpl3Plus;
     platforms = with platforms; linux;
   };
diff --git a/pkgs/tools/misc/aspcud/default.nix b/pkgs/tools/misc/aspcud/default.nix
index ef1b6a5a4ca5b..12cc6572abcb9 100644
--- a/pkgs/tools/misc/aspcud/default.nix
+++ b/pkgs/tools/misc/aspcud/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , fetchFromGitHub
 , boost
+, catch2
 , clasp
 , cmake
 , gringo
@@ -19,6 +20,10 @@ stdenv.mkDerivation rec {
     hash = "sha256-d04GPMoz6PMGq6iiul0zT1C9Mljdl9uJJ2C8MIwcmaw=";
   };
 
+  postPatch = ''
+    cp ${catch2}/include/catch2/catch.hpp libcudf/tests/catch.hpp
+  '';
+
   nativeBuildInputs = [ cmake ];
   buildInputs = [ boost clasp gringo re2c ];
 
@@ -28,6 +33,8 @@ stdenv.mkDerivation rec {
     "-DASPCUD_CLASP_PATH=${clasp}/bin/clasp"
   ];
 
+  doCheck = true;
+
   meta = with lib; {
     description = "Solver for package problems in CUDF format using ASP";
     homepage = "https://potassco.org/aspcud/";
diff --git a/pkgs/tools/misc/bonfire/default.nix b/pkgs/tools/misc/bonfire/default.nix
deleted file mode 100644
index f71d8a8b8ef3f..0000000000000
--- a/pkgs/tools/misc/bonfire/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ lib, python3Packages, fetchFromGitHub }:
-
-with python3Packages;
-
-buildPythonApplication rec {
-  pname = "bonfire";
-  version = "unstable-2017-01-19";
-
-  # use latest git version with --endpoint flag
-  # https://github.com/blue-yonder/bonfire/pull/18
-  src = fetchFromGitHub {
-    owner = "blue-yonder";
-    repo = pname;
-    rev = "d0af9ca10394f366cfa3c60f0741f1f0918011c2";
-    sha256 = "193zcvzbhxwwkwbgmnlihhhazwkajycxf4r71jz1m12w301sjhq5";
-  };
-
-  postPatch = ''
-    # https://github.com/blue-yonder/bonfire/pull/24
-    substituteInPlace requirements.txt \
-      --replace "arrow>=0.5.4,<0.8" "arrow>=0.5.4" \
-      --replace "keyring>=9,<10"    "keyring>=9" \
-      --replace "click>=3.3,<7"     "click>=3.3"
-    # pip fails when encountering the git hash for the package version
-    substituteInPlace setup.py \
-      --replace "version=version," "version='${version}',"
-    # remove extraneous files
-    substituteInPlace setup.cfg \
-      --replace "data_files = *.rst, *.txt" ""
-  '';
-
-  buildInputs = [ httpretty pytest pytest-cov ];
-
-  preCheck = ''
-    # fix compatibility with pytest 4
-    substituteInPlace setup.cfg --replace "[pytest]" "[tool:pytest]"
-  '';
-
-  propagatedBuildInputs = [ arrow click keyring parsedatetime requests six termcolor ];
-
-  meta = with lib; {
-    homepage = "https://pypi.python.org/pypi/bonfire";
-    description = "CLI Graylog Client with Follow Mode";
-    license = licenses.bsd3;
-    maintainers = [ maintainers.womfoo ];
-    platforms = platforms.linux;
-    broken = true; # no longer compatible with new arrow package
-  };
-}
diff --git a/pkgs/tools/misc/chezmoi/default.nix b/pkgs/tools/misc/chezmoi/default.nix
index 4ffffa6360953..35e3032f6131a 100644
--- a/pkgs/tools/misc/chezmoi/default.nix
+++ b/pkgs/tools/misc/chezmoi/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "2.14.0";
+  version = "2.15.0";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    sha256 = "sha256-WxOpmowRP8KSxxjW4JNQlQL6jZ2EhvpNb87NgeSO890=";
+    sha256 = "sha256-P4ELrDcN6kIpIsKgZJppJv+y+ofnEz7McmGvCijnfQA=";
   };
 
-  vendorSha256 = "sha256-ord4jHjgiW+Z2OD/x2ZAFOJYLyoB7Tja6SOd+JqxWDM=";
+  vendorSha256 = "sha256-D27a107gjHK4NYkJhZDd0SvhUmmRSl3DX519nglAoPo=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/cunit/default.nix b/pkgs/tools/misc/cunit/default.nix
index 0322f3b708f13..e287306dfb940 100644
--- a/pkgs/tools/misc/cunit/default.nix
+++ b/pkgs/tools/misc/cunit/default.nix
@@ -4,8 +4,8 @@ stdenv.mkDerivation rec {
   pname = "CUnit";
   version = "2.1-3";
 
-  nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [autoconf automake libtool];
+  nativeBuildInputs = [ autoreconfHook autoconf automake ];
+  buildInputs = [libtool];
 
   src = fetchurl {
     url = "mirror://sourceforge/cunit/CUnit/${version}/${pname}-${version}.tar.bz2";
diff --git a/pkgs/tools/misc/debootstrap/default.nix b/pkgs/tools/misc/debootstrap/default.nix
index ea9f888b04446..4efa6f69924d5 100644
--- a/pkgs/tools/misc/debootstrap/default.nix
+++ b/pkgs/tools/misc/debootstrap/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, dpkg, gawk, perl, wget, coreutils, util-linux
+{ lib, stdenv, fetchFromGitLab, dpkg, gawk, perl, wget, coreutils, util-linux
 , gnugrep, gnupg1, gnutar, gnused, gzip, makeWrapper }:
 # USAGE like this: debootstrap sid /tmp/target-chroot-directory
 # There is also cdebootstrap now. Is that easier to maintain?
@@ -18,11 +18,12 @@ in stdenv.mkDerivation rec {
   pname = "debootstrap";
   version = "1.0.126";
 
-  src = fetchurl {
-    # git clone git://git.debian.org/d-i/debootstrap.git
-    # I'd like to use the source. However it's lacking the lanny script ? (still true?)
-    url = "mirror://debian/pool/main/d/${pname}/${pname}_${version}.tar.gz";
-    sha256 = "sha256-vEjhxQDDO+1QvQDSAfM408ktbA3LHyAsO8AO8B+Wxhg=";
+  src = fetchFromGitLab {
+    domain = "salsa.debian.org";
+    owner = "installer-team";
+    repo = pname;
+    rev = version;
+    sha256 = "0hfx6k86kby4xf0xqskpllq00g159j4khh66hfi6dhcdb91dgyd7";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix
index 17f57d31ab882..e1bb3a184f5a9 100644
--- a/pkgs/tools/misc/diffoscope/default.nix
+++ b/pkgs/tools/misc/diffoscope/default.nix
@@ -11,11 +11,11 @@
 # Note: when upgrading this package, please run the list-missing-tools.sh script as described below!
 python3Packages.buildPythonApplication rec {
   pname = "diffoscope";
-  version = "207";
+  version = "209";
 
   src = fetchurl {
     url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
-    sha256 = "sha256-0PWnaOQV4Pj0hFMpn98xYhZDexctkweIE2ZM3ppYfvg=";
+    sha256 = "sha256-ZyHec9EbLrHmzCGd/Cwg/y9XCUQPtZhRH0xCouHKMp0=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/tools/misc/direnv/default.nix b/pkgs/tools/misc/direnv/default.nix
index 1920dac543431..624236462c2fe 100644
--- a/pkgs/tools/misc/direnv/default.nix
+++ b/pkgs/tools/misc/direnv/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "direnv";
-  version = "2.30.3";
+  version = "2.31.0";
 
   src = fetchFromGitHub {
     owner = "direnv";
     repo = "direnv";
     rev = "v${version}";
-    sha256 = "sha256-cLDafCZH0WKexO6jCdzUhRWaxmQYb1ay9w9lje3cQ+U=";
+    sha256 = "sha256-s3IzckePNjr8Bo4kDXj3/WJgybirvtBd9hW2+eWPorA=";
   };
 
   vendorSha256 = "sha256-YhgQUl9fdictEtz6J88vEzznGd8Ipeb9AYo/p1ZLz5k=";
@@ -29,9 +29,6 @@ buildGoModule rec {
 
   checkInputs = [ fish zsh ];
 
-  # temporarily disable tests, check if they can be reenabled with the next release
-  doCheck = false;
-
   checkPhase = ''
     export HOME=$(mktemp -d)
     make test-go test-bash test-fish test-zsh
diff --git a/pkgs/tools/misc/disper/default.nix b/pkgs/tools/misc/disper/default.nix
deleted file mode 100644
index 3e78bc9773242..0000000000000
--- a/pkgs/tools/misc/disper/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, python2, xorg, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  pname = "disper";
-  version = "0.3.1.1";
-
-  src = fetchFromGitHub {
-    owner = "apeyser";
-    repo = pname;
-    rev = "${pname}-${version}";
-    sha256 = "1kl4py26n95q0690npy5mc95cv1cyfvh6kxn8rvk62gb8scwg9zn";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  strictDeps = true;
-
-  buildInputs = [ python2 ];
-
-  preConfigure = ''
-    export makeFlags="PREFIX=$out"
-  '';
-
-  postInstall = ''
-      wrapProgram $out/bin/disper \
-        --prefix "LD_LIBRARY_PATH" : "${lib.makeLibraryPath [ xorg.libXrandr xorg.libX11 ]}"
-  '';
-
-  meta = {
-    description = "On-the-fly display switch utility";
-    homepage = "https://willem.engen.nl/projects/disper/";
-    platforms = lib.platforms.unix;
-    license = lib.licenses.gpl3;
-  };
-
-}
diff --git a/pkgs/tools/misc/dsq/default.nix b/pkgs/tools/misc/dsq/default.nix
new file mode 100644
index 0000000000000..72a38cf1eaf3f
--- /dev/null
+++ b/pkgs/tools/misc/dsq/default.nix
@@ -0,0 +1,60 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, buildGoModule
+, runCommand
+, nix-update-script
+, dsq
+, diffutils
+}:
+
+buildGoModule rec {
+  pname = "dsq";
+  version = "0.12.0";
+
+  src = fetchFromGitHub {
+    owner = "multiprocessio";
+    repo = "dsq";
+    rev = version;
+    hash = "sha256-AxYqSCdCrhHrN21WGJtg0KIde8VAjj6bF7DzELZptj8=";
+  };
+
+  vendorSha256 = "sha256-aER7j/DG1WB5DZhvgXYrl19UwQ/lZLPRAptINVJ3rdI=";
+
+  nativeBuildInputs = [ diffutils ];
+
+  passthru = {
+    updateScript = nix-update-script { attrPath = pname; };
+
+    tests = {
+      pretty-csv = runCommand "${pname}-test" { } ''
+        mkdir "$out"
+        cat <<EOF > "$out/input.csv"
+        first,second
+        1,a
+        2,b
+        EOF
+        cat <<EOF > "$out/expected.txt"
+        +-------+--------+
+        | first | second |
+        +-------+--------+
+        |     1 | a      |
+        |     2 | b      |
+        +-------+--------+
+        EOF
+        ${dsq}/bin/dsq --pretty "$out/input.csv" 'select first, second from {}' > "$out/actual.txt"
+        diff "$out/expected.txt" "$out/actual.txt"
+      '';
+    };
+  };
+
+  meta = with lib; {
+    description = "Commandline tool for running SQL queries against JSON, CSV, Excel, Parquet, and more";
+    homepage = "https://github.com/multiprocessio/dsq";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ liff ];
+    # TODO: Remove once nixpkgs uses macOS SDK 10.14+ for x86_64-darwin
+    # Undefined symbols for architecture x86_64: "_SecTrustEvaluateWithError"
+    broken = stdenv.isDarwin && stdenv.isx86_64;
+  };
+}
diff --git a/pkgs/tools/misc/esphome/default.nix b/pkgs/tools/misc/esphome/default.nix
index 72a624714307d..de39a6e7f3805 100644
--- a/pkgs/tools/misc/esphome/default.nix
+++ b/pkgs/tools/misc/esphome/default.nix
@@ -15,14 +15,14 @@ let
 in
 with python.pkgs; buildPythonApplication rec {
   pname = "esphome";
-  version = "2022.2.6";
+  version = "2022.3.2";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-AoSFtEg7GpUBdIrFCYlOMBRc2nBBtiFEkxoZnKC/xyQ=";
+    sha256 = "sha256-s5NisPUoppROM/p7qm1da4lStpAWZvk18zkUEsOn0Pg=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/misc/esptool/default.nix b/pkgs/tools/misc/esptool/default.nix
index 5a543c6e2ad52..e1ec37063deaf 100644
--- a/pkgs/tools/misc/esptool/default.nix
+++ b/pkgs/tools/misc/esptool/default.nix
@@ -2,13 +2,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "esptool";
-  version = "3.2";
+  version = "3.3";
 
   src = fetchFromGitHub {
     owner = "espressif";
     repo = "esptool";
     rev = "v${version}";
-    sha256 = "1jic5kynfan5zirv9pm3pfjps12zf68cpnhl7i1vls2m79zdkfa3";
+    sha256 = "sha256-CmGie+M3AboOk8X+LkRhIxTRQZgDlklouzmz8kiIZuI=";
   };
 
   checkInputs = with python3.pkgs;
diff --git a/pkgs/tools/misc/ethtool/default.nix b/pkgs/tools/misc/ethtool/default.nix
index 65797f65fe6d0..d46815e8bf2a3 100644
--- a/pkgs/tools/misc/ethtool/default.nix
+++ b/pkgs/tools/misc/ethtool/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ethtool";
-  version = "5.15";
+  version = "5.16";
 
   src = fetchurl {
     url = "mirror://kernel/software/network/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-aG/WEQOJ1JwqEg8Aw81d/kPeutqOAh5CcNdLvkUqEW0=";
+    sha256 = "sha256-qi/vGTbdShF1XfoL25Pw7FvqRSCNJ8l1S8Or4apCwcs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/fclones/default.nix b/pkgs/tools/misc/fclones/default.nix
index 1b35fe0f67b7e..4b5c5234bf94e 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.17.1";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "pkolaczk";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0d5an35fnz9rdr2ssm952zpzn4jynpvbfyidnqcmp0lclr60c2ir";
+    sha256 = "0m6l6c71f40a6wc8w7cdikwx3blwqxw55p4frrww25qgd0xdcgls";
   };
 
-  cargoSha256 = "sha256-CtQ4grQqgMUYzPDw2Qankl8jmqwwCrawNCmaY97JPkQ=";
+  cargoSha256 = "1pl4lrr1p3c7j9fb0mb4spjzgcn9zvr67nskzgmhrbr3kyzc2ssc";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     AppKit
diff --git a/pkgs/tools/misc/findutils/default.nix b/pkgs/tools/misc/findutils/default.nix
index 3746c4b4657fc..56d710c854549 100644
--- a/pkgs/tools/misc/findutils/default.nix
+++ b/pkgs/tools/misc/findutils/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
     "--localstatedir=/var/cache"
   ];
 
-  CFLAGS = [
+  CFLAGS = lib.optionals stdenv.isDarwin [
     # TODO: Revisit upstream issue https://savannah.gnu.org/bugs/?59972
     # https://github.com/Homebrew/homebrew-core/pull/69761#issuecomment-770268478
     "-D__nonnull\\(params\\)="
diff --git a/pkgs/tools/misc/fontforge/default.nix b/pkgs/tools/misc/fontforge/default.nix
index 6bb728af99cac..3de016bf6d688 100644
--- a/pkgs/tools/misc/fontforge/default.nix
+++ b/pkgs/tools/misc/fontforge/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchpatch, fetchFromGitHub, lib
 , cmake, perl, uthash, pkg-config, gettext
 , python, freetype, zlib, glib, giflib, libpng, libjpeg, libtiff, libxml2, cairo, pango
-, readline, woff2, zeromq, libuninameslist
+, readline, woff2, zeromq
 , withSpiro ? false, libspiro
 , withGTK ? false, gtk3
 , withGUI ? withGTK
@@ -14,13 +14,13 @@ assert withGTK -> withGUI;
 
 stdenv.mkDerivation rec {
   pname = "fontforge";
-  version = "20201107";
+  version = "20220308";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-Rl/5lbXaPgIndANaD0IakaDus6T53FjiBb45FIuGrvc=";
+    sha256 = "sha256-q+71PDPODl5fEEy3d1icRl+rBGY7AhH+2dMUKeBWGgI=";
   };
 
   patches = [
@@ -28,13 +28,11 @@ stdenv.mkDerivation rec {
     # Taken from https://salsa.debian.org/fonts-team/fontforge/-/blob/master/debian/patches/0001-add-extra-cmake-install-rules.patch
     (fetchpatch {
       url = "https://salsa.debian.org/fonts-team/fontforge/raw/76bffe6ccf8ab20a0c81476a80a87ad245e2fd1c/debian/patches/0001-add-extra-cmake-install-rules.patch";
-      sha256 = "u3D9od2xLECNEHhZ+8dkuv9818tPkdP6y/Tvd9CADJg=";
-    })
-    # Fix segmentation fault with some fonts.
-    # This is merged and should be present in the next release.
-    (fetchpatch {
-      url = "https://github.com/fontforge/fontforge/commit/69e263b2aff29ad22f97f13935cfa97a1eabf207.patch";
-      sha256 = "06yyf90605aq6ppfiz83mqkdmnaq5418axp9jgsjyjq78b00xb29";
+      excludes = [
+        # Already handled upstream: https://github.com/fontforge/fontforge/commit/f97a2cd7b344ec8fcb9f8bfb908e1b6f36326d20
+        "contrib/cidmap/CMakeLists.txt"
+      ];
+      sha256 = "iQwaGeBHUais979hGVbU2NxKozQSQkpYXjApxPuLI/4=";
     })
   ];
 
@@ -52,7 +50,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config cmake ];
   buildInputs = [
-    readline uthash woff2 zeromq libuninameslist
+    readline uthash woff2 zeromq
     python freetype zlib glib giflib libpng libjpeg libtiff libxml2
   ]
     ++ lib.optionals withSpiro [ libspiro ]
diff --git a/pkgs/tools/misc/fwup/default.nix b/pkgs/tools/misc/fwup/default.nix
index f58b73a47233f..3a49a9309e61e 100644
--- a/pkgs/tools/misc/fwup/default.nix
+++ b/pkgs/tools/misc/fwup/default.nix
@@ -48,10 +48,11 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [
     coreutils
-    dosfstools
-    mtools
     unzip
     zip
+  ] ++ lib.optionals doCheck [
+    mtools
+    dosfstools
   ];
 
   checkInputs = [
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index 92c5baa1096ea..5195af2774f1a 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.29.0";
+  version = "0.30.0";
 
   src = fetchFromGitHub {
     owner = "junegunn";
     repo = pname;
     rev = version;
-    sha256 = "sha256-m+mW9R50VXWUMaRmhMzpr7v8iQJxLYexYvcUMHPz3UM=";
+    sha256 = "sha256-7E6fj/Sjew+zz+iMFkiSJjVn2rymKRvZtEJZH65INxk=";
   };
 
   vendorSha256 = "sha256-omvCzM5kH3nAE57S33NV0OFRJmU+Ty7hhriaG/Dc0o0=";
diff --git a/pkgs/tools/misc/gnokii/default.nix b/pkgs/tools/misc/gnokii/default.nix
deleted file mode 100644
index 82bc79a77fdb8..0000000000000
--- a/pkgs/tools/misc/gnokii/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, stdenv, fetchurl, intltool, perl, gettext, libusb-compat-0_1, pkg-config, bluez
-, readline, pcsclite, libical, gtk2, glib, libXpm }:
-
-stdenv.mkDerivation rec {
-  pname = "gnokii";
-  version = "0.6.31";
-
-  src = fetchurl {
-    sha256 = "0sjjhm40662bj6j0jh3sd25b8nww54nirpwamz618rg6pb5hjwm8";
-    url = "https://www.gnokii.org/download/gnokii/${pname}-${version}.tar.gz";
-  };
-
-  buildInputs = [
-    perl intltool gettext libusb-compat-0_1
-    glib gtk2 pkg-config bluez readline
-    libXpm pcsclite libical
-  ];
-
-  meta = {
-    description = "Cellphone tool";
-    homepage = "https://www.gnokii.org";
-    maintainers = [ lib.maintainers.raskin ];
-    platforms = lib.platforms.linux;
-    broken = true; # 2018-04-10
-  };
-}
diff --git a/pkgs/tools/misc/goaccess/default.nix b/pkgs/tools/misc/goaccess/default.nix
index 0515a2bbb805d..b0eea87789386 100644
--- a/pkgs/tools/misc/goaccess/default.nix
+++ b/pkgs/tools/misc/goaccess/default.nix
@@ -10,14 +10,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.5.5";
+  version = "1.5.6";
   pname = "goaccess";
 
   src = fetchFromGitHub {
     owner = "allinurl";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-gTdmqyGJ+TipiwDtbnGFrEZjkAyNejNINlB5iZz5yTI=";
+    sha256 = "sha256-1yvFyTH5m+KIN/x61cbUNgweK38WFdIUDvnkFYmST9s=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/gotify-desktop/default.nix b/pkgs/tools/misc/gotify-desktop/default.nix
index 1da729c706d4a..e34afda942415 100644
--- a/pkgs/tools/misc/gotify-desktop/default.nix
+++ b/pkgs/tools/misc/gotify-desktop/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gotify-desktop";
-  version = "1.2.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "desbma";
     repo = pname;
     rev = version;
-    sha256 = "sha256-QQpZeXFv8BqFOQ+7ANWmtsgNlMakAL2ML4rlG2cFZJE=";
+    sha256 = "sha256-EDLOSxmODC7OzVSZJxwKNnFA2yh+QKE8aXmYJ+Dnv40=";
   };
 
-  cargoSha256 = "sha256-zcSAsI/yGGJer7SPKDKZ6NQ3UgTdBcDighS6VTNITMo=";
+  cargoSha256 = "sha256-opSXndOjdmYG5DJ3CDUHWhN6O7AQp4Cleldzq1Hfr1o=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix
index a002d190984f8..8d6de0bbeb81d 100644
--- a/pkgs/tools/misc/gparted/default.nix
+++ b/pkgs/tools/misc/gparted/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gparted";
-  version = "1.3.1";
+  version = "1.4.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/gparted/${pname}-${version}.tar.gz";
-    sha256 = "sha256-Xu4ubXSxXvlrE7OiMQyGjtIpjgM0ECHn0SpamKHR4Qk=";
+    sha256 = "sha256-5Sk6eS5T/b66KcSoNBE82WA9DWOTMNqTGkaL82h4h74=";
   };
 
   # Tries to run `pkexec --version` to get version.
diff --git a/pkgs/tools/misc/gummy/default.nix b/pkgs/tools/misc/gummy/default.nix
new file mode 100644
index 0000000000000..cc1b68b7c0e80
--- /dev/null
+++ b/pkgs/tools/misc/gummy/default.nix
@@ -0,0 +1,66 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, testVersion
+, gummy
+, cmake
+, libX11
+, libXext
+, sdbus-cpp
+, udev
+, coreutils
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gummy";
+  version = "0.2";
+
+  src = fetchFromGitHub {
+    owner = "fushko";
+    repo = "gummy";
+    rev = version;
+    sha256 = "sha256-nX5wEJ4HmgFHIgJP2MstBzQjU/9lrXOXoIl1vlolqak=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    libX11
+    libXext
+    sdbus-cpp
+    udev
+  ];
+
+  cmakeFlags = [
+    "-DUDEV_DIR=${placeholder "out"}/lib/udev"
+  ];
+
+  # Fixes the "gummy start" command, without this it cannot find the binary.
+  # Setting this through cmake does not seem to work.
+  postPatch = ''
+    substituteInPlace src/gummy/gummy.cpp \
+      --replace "CMAKE_INSTALL_DAEMON_PATH" "\"${placeholder "out"}/libexec/gummyd\""
+  '';
+
+  preFixup = ''
+    substituteInPlace $out/lib/udev/99-gummy.rules \
+      --replace "/bin/chmod" "${coreutils}/bin/chmod"
+
+    ln -s $out/libexec/gummyd $out/bin/gummyd
+  '';
+
+  passthru.tests.version = testVersion { package = gummy; };
+
+  meta = with lib; {
+    homepage = "https://github.com/Fushko/gummy";
+    description = "Brightness and temperature manager for X11";
+    longDescription = ''
+      CLI screen manager for X11 that allows automatic and manual brightness/temperature adjustments,
+      via backlight (currently only for embedded displays) and gamma. Multiple monitors are supported.
+    '';
+    license = licenses.gpl3Only;
+    maintainers = [ maintainers.ivar ];
+  };
+}
diff --git a/pkgs/tools/misc/kak-lsp/default.nix b/pkgs/tools/misc/kak-lsp/default.nix
index 772eb520869b0..d2b79c4d011cb 100644
--- a/pkgs/tools/misc/kak-lsp/default.nix
+++ b/pkgs/tools/misc/kak-lsp/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kak-lsp";
-  version = "12.0.1";
+  version = "12.1.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-K2GMoLaH7D6UtPuL+GJMqsPFwriyyi7WMdfzBmOceSA=";
+    sha256 = "sha256-5sPw95lSbswIUbNIZ4mpA3WeZt7u+a5s4KxkTnN14Sw=";
   };
 
-  cargoSha256 = "sha256-suBBEHGHUlZyxKy5hwhc2K/qTNis75GY33+7QhpmGos=";
+  cargoSha256 = "sha256-rPsiMeoc8cWUgmqAxdDGrAQdurIH3bzNq5tpocnnegA=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
 
diff --git a/pkgs/tools/misc/kisslicer/default.nix b/pkgs/tools/misc/kisslicer/default.nix
index 31bc0b2b6a12d..f80e15b3b3c22 100644
--- a/pkgs/tools/misc/kisslicer/default.nix
+++ b/pkgs/tools/misc/kisslicer/default.nix
@@ -27,8 +27,11 @@ stdenv.mkDerivation rec {
     stripRoot = false;
   };
 
-  buildInputs = [
+  nativeBuildInputs = [
     makeWrapper
+  ];
+
+  buildInputs = [
     libGLU libGL
     libX11
   ];
diff --git a/pkgs/tools/misc/ldapvi/default.nix b/pkgs/tools/misc/ldapvi/default.nix
index 759e86080903b..f8862cfa56774 100644
--- a/pkgs/tools/misc/ldapvi/default.nix
+++ b/pkgs/tools/misc/ldapvi/default.nix
@@ -10,8 +10,8 @@ stdenv.mkDerivation {
     sha256 = "3ef3103030ecb04d7fe80180e3fd490377cf81fb2af96782323fddabc3225030";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ openldap openssl popt glib ncurses readline cyrus_sasl autoconf automake ];
+  nativeBuildInputs = [ pkg-config autoconf automake ];
+  buildInputs = [ openldap openssl popt glib ncurses readline cyrus_sasl ];
 
   preConfigure = ''
     cd ldapvi
diff --git a/pkgs/tools/misc/ldmtool/default.nix b/pkgs/tools/misc/ldmtool/default.nix
index a826f3a0de542..9635f8e1a8cce 100644
--- a/pkgs/tools/misc/ldmtool/default.nix
+++ b/pkgs/tools/misc/ldmtool/default.nix
@@ -31,8 +31,8 @@ stdenv.mkDerivation rec {
 
   configureScript = "sh autogen.sh";
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ autoconf automake gtk-doc lvm2 libxslt.bin
+  nativeBuildInputs = [ pkg-config autoconf automake ];
+  buildInputs = [ gtk-doc lvm2 libxslt.bin
     libtool readline gobject-introspection json-glib libuuid
   ];
 
diff --git a/pkgs/tools/misc/logstash/6.x.nix b/pkgs/tools/misc/logstash/6.x.nix
index 0b3e17818dcd7..c1136ed887689 100644
--- a/pkgs/tools/misc/logstash/6.x.nix
+++ b/pkgs/tools/misc/logstash/6.x.nix
@@ -26,8 +26,12 @@ let this = stdenv.mkDerivation rec {
   dontStrip         = true;
   dontPatchShebangs = true;
 
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
   buildInputs = [
-    makeWrapper jre
+    jre
   ];
 
   installPhase = ''
diff --git a/pkgs/tools/misc/logstash/7.x.nix b/pkgs/tools/misc/logstash/7.x.nix
index 636c380817ce3..6cf64691efb6d 100644
--- a/pkgs/tools/misc/logstash/7.x.nix
+++ b/pkgs/tools/misc/logstash/7.x.nix
@@ -41,8 +41,11 @@ let
     dontStrip = true;
     dontPatchShebangs = true;
 
-    buildInputs = [
+    nativeBuildInputs = [
       makeWrapper
+    ];
+
+    buildInputs = [
       jre
     ];
 
diff --git a/pkgs/tools/misc/mc/default.nix b/pkgs/tools/misc/mc/default.nix
index c2425cf94cab3..6f80c2c5e928d 100644
--- a/pkgs/tools/misc/mc/default.nix
+++ b/pkgs/tools/misc/mc/default.nix
@@ -24,11 +24,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mc";
-  version = "4.8.27";
+  version = "4.8.28";
 
   src = fetchurl {
     url = "https://www.midnight-commander.org/downloads/${pname}-${version}.tar.xz";
-    sha256 = "sha256-Mb5ZIl/6mSCBbpqLO+CrIloW0Z5Pr0aJDyW9/6AqT/Q=";
+    sha256 = "sha256-6ZTZvppxcumsSkrWIQeSH2qjEuZosFbf5bi867r1OAM=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook unzip ]
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  configureFlags = [ "--enable-vfs-smb" "PERL=${perl}/bin/perl" ];
+  configureFlags = [ "PERL=${perl}/bin/perl" ];
 
   postPatch = ''
     substituteInPlace src/filemanager/ext.c \
@@ -92,6 +92,5 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ sander ];
     platforms = with platforms; linux ++ darwin;
-    repositories.git = "https://github.com/MidnightCommander/mc.git";
   };
 }
diff --git a/pkgs/tools/misc/mcfly/default.nix b/pkgs/tools/misc/mcfly/default.nix
index 583e415f093ca..bb7ccb375ba12 100644
--- a/pkgs/tools/misc/mcfly/default.nix
+++ b/pkgs/tools/misc/mcfly/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mcfly";
-  version = "0.5.13";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "cantino";
     repo = "mcfly";
     rev = "v${version}";
-    sha256 = "sha256-6PGh+CUQH5LEV7/qctn+ihdZgqjt888wknXTfGPS3SI=";
+    sha256 = "sha256-k8Z/CS1vbnQvoddos7Y0KcM1zB8QDAbXaROjNCyPEN0=";
   };
 
   postPatch = ''
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
     substituteInPlace mcfly.fish --replace '(command which mcfly)'  '${placeholder "out"}/bin/mcfly'
   '';
 
-  cargoSha256 = "sha256-dpDuM+kGuCC2xm5EdV2OoxLNbKgi8wmTGrr8K16AnpM=";
+  cargoSha256 = "sha256-2SKgzVJdtzH9poHx/NJba6+lj/C0PBcEgI/2ITO18Bk=";
 
   meta = with lib; {
     homepage = "https://github.com/cantino/mcfly";
diff --git a/pkgs/tools/misc/mht2htm/default.nix b/pkgs/tools/misc/mht2htm/default.nix
deleted file mode 100644
index e417c0e665dbc..0000000000000
--- a/pkgs/tools/misc/mht2htm/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ lib, stdenv, fetchurl, unzip, fpc, lazarus }:
-
-let
-  date = "07.apr.2016";
-
-in stdenv.mkDerivation rec {
-  pname = "mht2mht";
-  version = "1.8.1.35";
-
-  src = fetchurl {
-    # there is a disconnect between the directory name date and file name date
-    # you should verify if that is still then case when the next version is released
-    url    = "mirror://sourceforge/mht2htm/mht2htm/1.8.1%20%2805.apr.2016%29/mht2htmcl-${version}_${date}.source.zip";
-    sha256 = "16r6zkihp84yqllp2hyaf0nvymdn9ji3g30mc5scfwycdfanja6f";
-  };
-
-  sourceRoot = ".";
-
-  buildInputs = [ fpc lazarus ];
-
-  nativeBuildInputs = [ unzip ];
-
-  buildPhase = ''
-    runHook preBuild
-    lazbuild --lazarusdir=${lazarus}/share/lazarus mht2htmcl.lpi
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-    install -Dm755 -t $out/bin               mht2htmcl
-    install -Dm644 -t $out/share/doc/mht2htm CHANGELOG COPYING README
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    description = "Convert .mht files to .html";
-    homepage    = "http://pgm.bpalanka.com/mht2htm.html";
-    license     = licenses.gpl3;
-    maintainers = with maintainers; [ peterhoeg ];
-    platforms   = platforms.all;
-    broken = true; # 2018-04-11
-  };
-}
diff --git a/pkgs/tools/misc/mmctl/default.nix b/pkgs/tools/misc/mmctl/default.nix
index 71e4de7479c0d..c9de0bf14ca8c 100644
--- a/pkgs/tools/misc/mmctl/default.nix
+++ b/pkgs/tools/misc/mmctl/default.nix
@@ -1,13 +1,13 @@
 { lib, fetchFromGitHub, buildGoModule }:
 buildGoModule rec {
   pname = "mmctl";
-  version = "6.3.3";
+  version = "6.4.2";
 
   src = fetchFromGitHub {
     owner = "mattermost";
     repo = "mmctl";
     rev = "v${version}";
-    sha256 = "sha256-V2p6diXymu37aJdHs0ZQJ7ak4LWe55KYCq15JRzMF48=";
+    sha256 = "sha256-FlqkY4LvAW9Cibs+3UkMDWA+uc62wMh13BllWuxjVZU=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/misc/mongodb-compass/default.nix b/pkgs/tools/misc/mongodb-compass/default.nix
index 5528bb2f97c38..4560e14c697f1 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.30.1";
+  version = "1.31.0";
 
   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-MwkYgkDZmzZsthJxSK6c+0us0D4cPuDfuV1XBbeTNXE=";
+        sha256 = "sha256-kzGBb8h03jPCqpwKPXeqB3yPTGgvVsl1DjIyCbNgjqM=";
       }
     else
       throw "MongoDB compass is not supported on ${stdenv.hostPlatform.system}";
diff --git a/pkgs/tools/misc/nbench/default.nix b/pkgs/tools/misc/nbench/default.nix
index dc9dcb1e5bec8..16e67b848d65d 100644
--- a/pkgs/tools/misc/nbench/default.nix
+++ b/pkgs/tools/misc/nbench/default.nix
@@ -9,13 +9,15 @@ stdenv.mkDerivation rec {
     sha256 = "1b01j7nmm3wd92ngvsmn2sbw43sl9fpx4xxmkrink68fz1rx0gbj";
   };
 
-  buildInputs = [ stdenv.cc.libc.static ];
   prePatch = ''
     substituteInPlace nbench1.h --replace '"NNET.DAT"' "\"$out/NNET.DAT\""
+    substituteInPlace sysspec.h --replace "malloc.h" "stdlib.h"
+  '' + lib.optionalString stdenv.isDarwin ''
+    substituteInPlace Makefile --replace "-static" ""
   '';
-  preBuild = ''
-    makeFlagsArray=(CC=$CC)
-  '';
+
+  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
+
   installPhase = ''
     mkdir -p $out/bin
     cp nbench $out/bin
@@ -25,7 +27,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://www.math.utah.edu/~mayer/linux/bmark.html";
     description = "A synthetic computing benchmark program";
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with lib.maintainers; [ bennofs ];
   };
 }
diff --git a/pkgs/tools/misc/nix-direnv/default.nix b/pkgs/tools/misc/nix-direnv/default.nix
index f0fa2529f06ff..731278cafe0e6 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 = "1.6.0";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "nix-direnv";
     rev = version;
-    sha256 = "sha256-vMs4CyMhEy96gWMWXD74rTR1uNjU+y21i0dh6AdaMGE=";
+    sha256 = "sha256-WgNfo9GRqIrXsIgNRhoNPU2/uwyPd8xG8xEEImEy4KY=";
   };
 
   # Substitute instead of wrapping because the resulting file is
diff --git a/pkgs/tools/misc/ntfy-sh/default.nix b/pkgs/tools/misc/ntfy-sh/default.nix
new file mode 100644
index 0000000000000..6f5a0b0116336
--- /dev/null
+++ b/pkgs/tools/misc/ntfy-sh/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "ntfy-sh";
+  version = "1.18.1";
+
+  src = fetchFromGitHub {
+    owner = "binwiederhier";
+    repo = "ntfy";
+    rev = "v${version}";
+    sha256 = "sha256-rXdkNJYpQ8s2BeFRR4fSIuCrdq60me4B3wee64ei8qM=";
+  };
+
+  vendorSha256 = "sha256-7b3cQczQLUZ//5ubKvq8s9U75qJpJaieLN+kzjXIyHg=";
+
+  doCheck = false;
+
+  preBuild = ''
+    make server-deps-static-sites
+  '';
+
+  meta = with lib; {
+    description = "Send push notifications to your phone or desktop via PUT/POST";
+    homepage = "https://ntfy.sh";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ arjan-s ];
+  };
+}
diff --git a/pkgs/tools/misc/onefetch/default.nix b/pkgs/tools/misc/onefetch/default.nix
index d5e77d4461d7f..18b5854820263 100644
--- a/pkgs/tools/misc/onefetch/default.nix
+++ b/pkgs/tools/misc/onefetch/default.nix
@@ -2,7 +2,6 @@
 , rustPlatform
 , lib
 , stdenv
-, fetchpatch
 , pkg-config
 , zstd
 , CoreFoundation
@@ -13,26 +12,21 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "onefetch";
-  version = "2.11.0";
+  version = "2.12.0";
 
   src = fetchFromGitHub {
     owner = "o2sh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-16oiZAyj6haBk6mgUT25pPDUrCMd7pGo2kAQ0gTe2kM=";
+    sha256 = "sha256-nSvqAXzA/4CSnOMCZri2ks58bW+9v+SoyIIzb+K5S88=";
   };
 
   cargoPatches = [
     # enable pkg-config feature of zstd
     ./zstd-pkg-config.patch
-    # fix flaky test
-    (fetchpatch {
-      url = "https://github.com/o2sh/onefetch/commit/2c1f2f0b2c666f6ce94af0299f88048dd1d83484.patch";
-      sha256 = "sha256-pI3yCFYkqOmLgKnCwexv1LcCrCkhi44zhEAx0szaMkg=";
-    })
   ];
 
-  cargoSha256 = "sha256-6wnfn33mfye5o/vY1JQX1Lc4+jzHiKKgGsSLxeJWyFc=";
+  cargoSha256 = "sha256-uSef6x5QkXKwajglbwyoIsUFGbz0zntVM1ko0FZqnck=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/tools/misc/onefetch/zstd-pkg-config.patch b/pkgs/tools/misc/onefetch/zstd-pkg-config.patch
index 0ad7542bca647..24b95f1ca18b7 100644
--- a/pkgs/tools/misc/onefetch/zstd-pkg-config.patch
+++ b/pkgs/tools/misc/onefetch/zstd-pkg-config.patch
@@ -23,7 +23,7 @@ index 8e0b5ff..48959b4 100644
 @@ -57,6 +57,8 @@ libc = "0.2.112"
  [dev-dependencies]
  more-asserts = "0.2"
- paste = "1.0.6"
+ paste = "1.0.7"
 +# Specify that the indirect dependency ztsd-sys should pick up the system zstd C library
 +zstd-sys = { version = "1", features = [ "pkg-config" ] }
  
diff --git a/pkgs/tools/misc/opentsdb/default.nix b/pkgs/tools/misc/opentsdb/default.nix
index bffcd5e1dca4b..18ba5f4b5fc5f 100644
--- a/pkgs/tools/misc/opentsdb/default.nix
+++ b/pkgs/tools/misc/opentsdb/default.nix
@@ -21,8 +21,8 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ autoconf automake curl jdk nettools python2 git ];
+  nativeBuildInputs = [ makeWrapper autoconf automake ];
+  buildInputs = [ curl jdk nettools python2 git ];
 
   preConfigure = ''
     patchShebangs ./build-aux/
diff --git a/pkgs/tools/misc/ostree/default.nix b/pkgs/tools/misc/ostree/default.nix
index a4ecb4c527aab..6da0de81cd56d 100644
--- a/pkgs/tools/misc/ostree/default.nix
+++ b/pkgs/tools/misc/ostree/default.nix
@@ -41,13 +41,13 @@ let
   ]));
 in stdenv.mkDerivation rec {
   pname = "ostree";
-  version = "2022.1";
+  version = "2022.2";
 
   outputs = [ "out" "dev" "man" "installedTests" ];
 
   src = fetchurl {
     url = "https://github.com/ostreedev/ostree/releases/download/v${version}/libostree-${version}.tar.xz";
-    sha256 = "sha256-Q6AOeFaEK4o09mFvws4c4jjvQyEMykH3DmtLDSqfytU=";
+    sha256 = "sha256-duL1tXhNjLaG6QvjL87LtWxsaoJOA3ShpoILV3EDZ2s=";
   };
 
   patches = [
diff --git a/pkgs/tools/misc/pandoc-include/default.nix b/pkgs/tools/misc/pandoc-include/default.nix
new file mode 100644
index 0000000000000..a0ce0f96b4377
--- /dev/null
+++ b/pkgs/tools/misc/pandoc-include/default.nix
@@ -0,0 +1,30 @@
+{ buildPythonApplication
+, fetchFromGitHub
+, lib
+, natsort
+, panflute
+}:
+
+buildPythonApplication rec {
+  pname = "pandoc-include";
+  version = "1.2.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "DCsunset";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-kuxud7m+sWcNqE8A+Fwb8ATgiUwxQvHeYBTyw1UzX4U=";
+  };
+
+  propagatedBuildInputs = [ natsort panflute ];
+
+  pythonImportsCheck = [ "pandoc_include.main" ];
+
+  meta = with lib; {
+    description = "Pandoc filter to allow file and header includes";
+    homepage = "https://github.com/DCsunset/pandoc-include";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ppenguin ];
+  };
+}
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index 2eca9f6891a52..b39cfda17d6f4 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "parallel";
-  version = "20220222";
+  version = "20220322";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-+BaCuGPq1/uaEUdUAB6ShvlUVQpXo882yQA6gEempEU=";
+    sha256 = "sha256-35PM9qn1Ka0hJrcEKu8EhmA+k4x3tAWTnEFwLTik5tg=";
   };
 
   outputs = [ "out" "man" "doc" ];
diff --git a/pkgs/tools/misc/plfit/default.nix b/pkgs/tools/misc/plfit/default.nix
new file mode 100644
index 0000000000000..d1613af76e909
--- /dev/null
+++ b/pkgs/tools/misc/plfit/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, python ? null
+, swig
+, llvmPackages
+}:
+
+stdenv.mkDerivation rec {
+  pname = "plfit";
+  version = "0.9.3";
+
+  src = fetchFromGitHub {
+    owner = "ntamas";
+    repo = "plfit";
+    rev = version;
+    hash = "sha256-y4n6AlGtuuUuA+33oF7lGOYuKSqea4GMSJlv9PaSpQ8=";
+  };
+
+  patches = [
+    # https://github.com/ntamas/plfit/pull/41
+    (fetchpatch {
+      name = "use-cmake-install-full-dir.patch";
+      url = "https://github.com/ntamas/plfit/commit/d0e77c80e6e899298240e6be465cf580603f6ee2.patch";
+      hash = "sha256-wi3qCp6ZQtrKuM7XDA6xCXunCiqsyhnkxmg2eSmxjYM=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    cmake
+  ] ++ lib.optionals (!isNull python) [
+    python
+    swig
+  ];
+
+  cmakeFlags = [
+    "-DPLFIT_USE_OPENMP=ON"
+  ] ++ lib.optionals (!isNull python) [
+    "-DPLFIT_COMPILE_PYTHON_MODULE=ON"
+  ];
+
+  buildInputs = lib.optionals stdenv.cc.isClang [
+    llvmPackages.openmp
+  ];
+
+  meta = with lib; {
+    description = "Fitting power-law distributions to empirical data";
+    homepage = "https://github.com/ntamas/plfit";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/tools/misc/pre-commit/default.nix b/pkgs/tools/misc/pre-commit/default.nix
index 307e5e9c74611..72f7f66c9e43a 100644
--- a/pkgs/tools/misc/pre-commit/default.nix
+++ b/pkgs/tools/misc/pre-commit/default.nix
@@ -1,17 +1,27 @@
-{ lib, python3Packages }:
+{ lib
+, python3Packages
+, fetchFromGitHub
+  # tests
+, cargo
+, dotnet-sdk
+, git
+, go
+, nodejs
+}:
 
 with python3Packages;
 buildPythonPackage rec {
   pname = "pre-commit";
-  version = "2.17.0";
+  version = "2.18.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
-  src = fetchPypi {
-    inherit version;
-    pname = "pre_commit";
-    sha256 = "c1a8040ff15ad3d648c70cc3e55b93e4d2d5b687320955505587fd79bbaed06a";
+  src = fetchFromGitHub {
+    owner = "pre-commit";
+    repo = "pre-commit";
+    rev = "v${version}";
+    sha256 = "sha256-d/ukUTjNgpqr6IeDJHDaOXQm0EdsX+vq0sVX7HG3gSE=";
   };
 
   patches = [
@@ -32,18 +42,103 @@ buildPythonPackage rec {
     importlib-resources
   ];
 
-  # slow and impure
-  doCheck = false;
+  checkInputs = [
+    cargo
+    dotnet-sdk
+    git
+    go
+    nodejs
+    pytest-env
+    pytest-xdist
+    pytestCheckHook
+    re-assert
+  ];
+
+  doCheck = true;
 
-  preFixup = ''
-    substituteInPlace $out/${python.sitePackages}/pre_commit/resources/hook-tmpl \
+  postPatch = ''
+    substituteInPlace pre_commit/resources/hook-tmpl \
       --subst-var-by pre-commit $out
-    substituteInPlace $out/${python.sitePackages}/pre_commit/languages/python.py \
+    substituteInPlace pre_commit/languages/python.py \
       --subst-var-by virtualenv ${virtualenv}
-    substituteInPlace $out/${python.sitePackages}/pre_commit/languages/node.py \
+    substituteInPlace pre_commit/languages/node.py \
       --subst-var-by nodeenv ${nodeenv}
+
+    patchShebangs pre_commit/resources/hook-tmpl
+  '';
+
+  pytestFlagsArray = [
+    "--numprocesses $NIX_BUILD_CORES"
+    "--forked"
+  ];
+
+  preCheck = ''
+    export GIT_AUTHOR_NAME=test GIT_COMMITTER_NAME=test \
+           GIT_AUTHOR_EMAIL=test@example.com GIT_COMMITTER_EMAIL=test@example.com \
+           VIRTUALENV_NO_DOWNLOAD=1 PRE_COMMIT_NO_CONCURRENCY=1 LANG=en_US.UTF-8
+
+    git init -b master
+
+    export HOME=$(mktemp -d)
+
+    python -m venv --system-site-packages venv
+    source "$PWD/venv/bin/activate"
+    #$out/bin/pre-commit install
+    python setup.py develop
   '';
 
+  postCheck = ''
+    deactivate
+  '';
+
+  disabledTests = [
+    # ERROR: The install method you used for conda--probably either `pip install conda`
+    # or `easy_install conda`--is not compatible with using conda as an application.
+    "test_conda_"
+    "test_local_conda_"
+
+    # /build/pytest-of-nixbld/pytest-0/test_install_ruby_with_version0/rbenv-2.7.2/libexec/rbenv-init:
+    # /usr/bin/env: bad interpreter: No such file or directory
+    "ruby"
+
+    # network
+    "test_additional_dependencies_roll_forward"
+    "test_additional_golang_dependencies_installed"
+    "test_additional_node_dependencies_installed"
+    "test_additional_rust_cli_dependencies_installed"
+    "test_additional_rust_lib_dependencies_installed"
+    "test_dart_hook"
+    "test_dotnet_hook"
+    "test_golang_hook"
+    "test_golang_hook_still_works_when_gobin_is_set"
+    "test_installs_without_links_outside_env"
+    "test_local_dart_additional_dependencies"
+    "test_local_golang_additional_dependencies"
+    "test_local_lua_additional_dependencies"
+    "test_local_perl_additional_dependencies"
+    "test_local_rust_additional_dependencies"
+    "test_lua_hook"
+    "test_perl_hook"
+    "test_r_hook"
+    "test_r_inline_hook"
+    "test_r_local_with_additional_dependencies_hook"
+    "test_r_with_additional_dependencies_hook"
+    "test_run_a_node_hook_default_version"
+    "test_run_versioned_node_hook"
+
+    # python2, no explanation needed
+    "python2"
+    "test_switch_language_versions_doesnt_clobber"
+
+    # docker
+    "test_run_a_docker_hook"
+
+    # i don't know why these fail
+    "test_install_existing_hooks_no_overwrite"
+    "test_installed_from_venv"
+    "test_uninstall_restores_legacy_hooks"
+  ];
+
   pythonImportsCheck = [
     "pre_commit"
   ];
diff --git a/pkgs/tools/misc/proxytunnel/default.nix b/pkgs/tools/misc/proxytunnel/default.nix
deleted file mode 100644
index 1319a6bfabe91..0000000000000
--- a/pkgs/tools/misc/proxytunnel/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ lib, stdenv, fetchurl, openssl }:
-
-stdenv.mkDerivation rec {
-  pname = "proxytunnel";
-  version = "1.9.0";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/proxytunnel/proxytunnel-${version}.tgz";
-    sha256 = "1fd644kldsg14czkqjybqh3wrzwsp3dcargqf4fjkpqxv3wbpx9f";
-  };
-
-  buildInputs = [ openssl ];
-
-  installPhase = ''make DESTDIR="$out" PREFIX="" install'';
-
-  meta = {
-    description = "Program that connects stdin and stdout to a server somewhere on the network, through a standard HTTPS proxy";
-    homepage = "http://proxytunnel.sourceforge.net/download.php";
-    license = lib.licenses.gpl2;
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/pkgs/tools/misc/remind/default.nix b/pkgs/tools/misc/remind/default.nix
index 91251abde131a..6d5e0e37703b4 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 = "03.04.01";
+  version = "03.04.02";
 
   src = fetchurl {
     url = "https://dianne.skoll.ca/projects/remind/download/remind-${version}.tar.gz";
-    sha256 = "sha256-8INtFmftMb1JSotUdDtMXdSm+UE/8zQW/wIOExr8nkI=";
+    sha256 = "sha256-kjDcO0l39l2KJXo0elZesKZWDZoSoUXIu1Ua7IxWY4w=";
   };
 
   propagatedBuildInputs = tclLibraries;
diff --git a/pkgs/tools/misc/rpm-ostree/default.nix b/pkgs/tools/misc/rpm-ostree/default.nix
index 09422cd2d4bc4..2b70329295004 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.2";
+  version = "2022.3";
 
   outputs = [ "out" "dev" "man" "devdoc" ];
 
   src = fetchurl {
     url = "https://github.com/coreos/${pname}/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-wy6zmVy7+31+wadLldWdf/IyT0dyLArYLmGw/Kgd+sU=";
+    sha256 = "sha256-ERDaCLj/qvyzAxmpUfFsCx9fsDjlhQ19PRyUTVZ2Z2w=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/sam-ba/default.nix b/pkgs/tools/misc/sam-ba/default.nix
index 60853d2cf7ef0..291063f43cb18 100644
--- a/pkgs/tools/misc/sam-ba/default.nix
+++ b/pkgs/tools/misc/sam-ba/default.nix
@@ -1,40 +1,35 @@
-{ lib, stdenv, fetchzip, libX11, libXScrnSaver, libXext, libXft, libXrender
-, freetype, zlib, fontconfig
-}:
-
-let
-  maybe64 = if stdenv.isx86_64 then "_64" else "";
-  libPath = lib.makeLibraryPath
-    [ stdenv.cc.cc.lib libX11 libXScrnSaver libXext libXft libXrender freetype
-      zlib fontconfig
-    ];
-in
+{ lib, stdenv, fetchzip, glib, zlib, libglvnd, python3, autoPatchelfHook }:
+
 stdenv.mkDerivation rec {
-  version = "2.16";
+  version = "3.5";
   pname = "sam-ba";
 
   src = fetchzip {
-    url = "http://www.atmel.com/dyn/resources/prod_documents/sam-ba_${version}_linux.zip";
-    sha256 = "18lsi4747900cazq3bf0a87n3pc7751j5papj9sxarjymcz9vks4";
+    url = "https://ww1.microchip.com/downloads/en/DeviceDoc/sam-ba_${version}-linux_x86_64.tar.gz";
+    sha256 = "1k0nbgyc98z94nphm2q7s82b274clfnayf4a2kv93l5594rzdbp1";
   };
 
-  # Pre-built binary package. Install everything to /opt/sam-ba to not mess up
-  # the internal directory structure. Then create wrapper in /bin. Attemts to
-  # use "patchelf --set-rpath" instead of setting LD_PRELOAD_PATH failed.
+  buildInputs = [
+    glib
+    libglvnd
+    zlib
+
+    (python3.withPackages (ps: [ps.pyserial]))
+  ];
+
+  nativeBuildInputs = [ autoPatchelfHook ];
+
   installPhase = ''
+    runHook preInstall
+
     mkdir -p "$out/bin/" \
              "$out/opt/sam-ba/"
     cp -a . "$out/opt/sam-ba/"
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$out/opt/sam-ba/sam-ba${maybe64}"
-    cat > "$out/bin/sam-ba" << EOF
-    export LD_LIBRARY_PATH="${libPath}"
-    exec "$out/opt/sam-ba/sam-ba${maybe64}"
-    EOF
-    chmod +x "$out/bin/sam-ba"
-  '';
+    ln -sr "$out/opt/sam-ba/sam-ba" "$out/bin/"
+    ln -sr "$out/opt/sam-ba/multi_sam-ba.py" "$out/bin/"
 
-  # Do our own thing
-  dontPatchELF = true;
+    runHook postInstall
+  '';
 
   meta = with lib; {
     description = "Programming tools for Atmel SAM3/7/9 ARM-based microcontrollers";
@@ -42,10 +37,10 @@ stdenv.mkDerivation rec {
       Atmel SAM-BA software provides an open set of tools for programming the
       Atmel SAM3, SAM7 and SAM9 ARM-based microcontrollers.
     '';
+    # Alternatively: https://www.microchip.com/en-us/development-tool/SAM-BA-In-system-Programmer
     homepage = "http://www.at91.com/linux4sam/bin/view/Linux4SAM/SoftwareTools";
-    # License in <source>/doc/readme.txt
-    license = "BSD-like (partly binary-only)";  # according to Buildroot
-    platforms = [ "x86_64-linux" ];  # patchelf fails on i686-linux
+    license = lib.licenses.gpl2Only;
+    platforms = [ "x86_64-linux" ];
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/tools/misc/scrub/default.nix b/pkgs/tools/misc/scrub/default.nix
index baa3732b58406..f3a1ae619305c 100644
--- a/pkgs/tools/misc/scrub/default.nix
+++ b/pkgs/tools/misc/scrub/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "0ndcri2ddzqlsxvy1b607ajyd4dxpiagzx331yyi7hf3ijph129f";
   };
 
-  buildInputs = [ autoconf automake libtool ];
+  nativeBuildInputs = [ autoconf automake ];
+  buildInputs = [ libtool ];
 
   preConfigure = "./autogen.sh";
 
diff --git a/pkgs/tools/misc/smug/default.nix b/pkgs/tools/misc/smug/default.nix
index afa21afa66667..cf78662620ced 100644
--- a/pkgs/tools/misc/smug/default.nix
+++ b/pkgs/tools/misc/smug/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
 
 buildGoModule rec {
   pname = "smug";
@@ -9,12 +9,20 @@ buildGoModule rec {
   src = fetchFromGitHub {
     owner = "ivaaaan";
     repo = "smug";
-    rev = "3399f02a6e01324f5bb881f6b049c9e8d94733ee";
+    rev = "v${version}";
     sha256 = "178125835dhnaq9k42yv4pfxpyhgb5179wrxkimb59fy0nk8jzx8";
   };
 
   vendorSha256 = "1rba5rpvlr8dyhj145b5i57pm4skfpj3vm7vydkn79k6ak6x985x";
 
+  nativeBuildInputs = [ installShellFiles ];
+
+  ldflags = [ "-s" "-w" "-X=main.version=${version}" ];
+
+  postInstall = ''
+    installManPage ./man/man1/smug.1
+  '';
+
   meta = with lib; {
     homepage = "https://github.com/ivaaaan/smug";
     description = "Smug - tmux session manager";
diff --git a/pkgs/tools/misc/snapper/default.nix b/pkgs/tools/misc/snapper/default.nix
index 80d9e191c8a60..72e239229b3fc 100644
--- a/pkgs/tools/misc/snapper/default.nix
+++ b/pkgs/tools/misc/snapper/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "snapper";
-  version = "0.9.1";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "openSUSE";
     repo = "snapper";
     rev = "v${version}";
-    sha256 = "1ci5mdsph2n5cqad51zf4sank35yj741adsqy2gg7vqwxrhpm8mj";
+    sha256 = "sha256-02ufjPuXK3a+gQ8kp968KXd3Jgvx4O6TO2Q5wL5n2cw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/somafm-cli/default.nix b/pkgs/tools/misc/somafm-cli/default.nix
index abead39d3485d..45f79e5bddfff 100644
--- a/pkgs/tools/misc/somafm-cli/default.nix
+++ b/pkgs/tools/misc/somafm-cli/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     platforms = platforms.all;
     maintainers = with maintainers; [ SuperSandro2000 ];
+    mainProgram = "somafm";
   };
 }
diff --git a/pkgs/tools/misc/starship/default.nix b/pkgs/tools/misc/starship/default.nix
index d61fd9ddda985..a27674290d679 100644
--- a/pkgs/tools/misc/starship/default.nix
+++ b/pkgs/tools/misc/starship/default.nix
@@ -2,10 +2,10 @@
 , stdenv
 , fetchFromGitHub
 , rustPlatform
-, pkg-config
-, openssl
 , installShellFiles
 , libiconv
+, libgit2
+, pkg-config
 , nixosTests
 , Security
 , Foundation
@@ -22,10 +22,9 @@ rustPlatform.buildRustPackage rec {
     sha256 = "sha256-mqUE4JzNBhvtDpT2LM23eHX8q93wtPqA+/zr/PxEDiE=";
   };
 
-  nativeBuildInputs = [ installShellFiles ] ++ lib.optionals stdenv.isLinux [ pkg-config ];
+  nativeBuildInputs = [ installShellFiles pkg-config ];
 
-  buildInputs = lib.optionals stdenv.isLinux [ openssl ]
-    ++ lib.optionals stdenv.isDarwin [ libiconv Security Foundation ];
+  buildInputs = [ libgit2 ] ++ lib.optionals stdenv.isDarwin [ libiconv Security Foundation ];
 
   postInstall = ''
     for shell in bash fish zsh; do
diff --git a/pkgs/tools/misc/statserial/default.nix b/pkgs/tools/misc/statserial/default.nix
index 1ca0771914b27..8b5ae4cdc86e9 100644
--- a/pkgs/tools/misc/statserial/default.nix
+++ b/pkgs/tools/misc/statserial/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
       --replace 'LDFLAGS = -s -N' '#LDFLAGS = -s -N'
   '';
 
-  buildInputs = [ ncurses glibc stdenv ];
+  buildInputs = [ ncurses glibc ];
 
   installPhase = ''
   mkdir -p $out/bin
diff --git a/pkgs/tools/misc/teleconsole/default.nix b/pkgs/tools/misc/teleconsole/default.nix
deleted file mode 100644
index 3bf1f5cd34b61..0000000000000
--- a/pkgs/tools/misc/teleconsole/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ lib, stdenv, buildGoPackage, fetchFromGitHub }:
-
-buildGoPackage rec {
-  pname = "teleconsole";
-  version = "0.4.0";
-
-  goPackagePath = "github.com/gravitational/teleconsole";
-
-  src = fetchFromGitHub {
-    owner = "gravitational";
-    repo = "teleconsole";
-    rev = version;
-    sha256 = "01552422n0bj1iaaw6pvg9l1qr66r69sdsngxbcdjn1xh3mj74sm";
-  };
-
-  srcTeleport = fetchFromGitHub {
-    owner = "gravitational";
-    repo = "teleport";
-    rev = "2cb40abd8ea8fb2915304ea4888b5b9f3e5bc223";
-    sha256 = "1xw3bfnjbj88x465snwwzn4bmpmzmsrq9r0pkj388qwvfrclgnfk";
-  };
-
-  preBuild = ''
-    cp -r ${srcTeleport} ./go/src/github.com/gravitational/teleport
-  '';
-
-  CGO_ENABLED = 1;
-
-  meta = with lib; {
-    homepage = "https://www.teleconsole.com/";
-    description = "Share your terminal session with people you trust";
-    license = licenses.asl20;
-    # Builds for Aarch64 not possible in the current release due to
-    # incompatibilities further up the dependency chain.
-    # See:
-    #  - https://github.com/gravitational/teleport/issues/679
-    #  - https://github.com/kr/pty/issues/27
-    broken = stdenv.isAarch64;
-    maintainers = [ maintainers.kimburgess ];
-  };
-}
diff --git a/pkgs/tools/misc/topgrade/default.nix b/pkgs/tools/misc/topgrade/default.nix
index e1b96d971779e..dfa9b18afd22b 100644
--- a/pkgs/tools/misc/topgrade/default.nix
+++ b/pkgs/tools/misc/topgrade/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "topgrade";
-  version = "8.2.0";
+  version = "8.3.0";
 
   src = fetchFromGitHub {
     owner = "r-darwish";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-WyiEKC5WUwIGCaxXqiqNyOcGVZgfd2lVFMxQxhgJhMc=";
+    sha256 = "sha256-iFS8Bf2IF0GoW168DwfBbkiPd7IGJhGShofFnBESpUc=";
   };
 
-  cargoSha256 = "sha256-ZcOSHEZHGa1XhGQlW4pR5hBJ2SpSbkKuRS6OSHGg9Lo=";
+  cargoSha256 = "sha256-8Ag4rDXnDZgxdwFpiWnYNjDeau9vr9EIfbJzeQlqSDM=";
 
   buildInputs = lib.optional stdenv.isDarwin Foundation;
 
diff --git a/pkgs/tools/misc/uutils-coreutils/default.nix b/pkgs/tools/misc/uutils-coreutils/default.nix
index 2fb3196b1f4fc..f31ceeddae7f4 100644
--- a/pkgs/tools/misc/uutils-coreutils/default.nix
+++ b/pkgs/tools/misc/uutils-coreutils/default.nix
@@ -12,19 +12,19 @@
 
 stdenv.mkDerivation rec {
   pname = "uutils-coreutils";
-  version = "0.0.12";
+  version = "0.0.13";
 
   src = fetchFromGitHub {
     owner = "uutils";
     repo = "coreutils";
     rev = version;
-    sha256 = "01zwvadfd570vbsy52svp0vi5r2p873c33vn2h4mr7868myl6q9g";
+    sha256 = "sha256-Fb5X3xpve6pRRlHSzevBvOdRpR0MrHzcOB83C15//zg=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256:19li3gmb5dmrmiiiy9ihr1rl68lz14j2gsgqpjcsn52rkcy17dzh";
+    hash = "sha256-pSEo1XW/zywFoqt8vx55HS28CVbEC6/858ANknt1FPU=";
   };
 
   nativeBuildInputs = [ rustPlatform.cargoSetupHook sphinx ];
diff --git a/pkgs/tools/misc/xvfb-run/default.nix b/pkgs/tools/misc/xvfb-run/default.nix
index 06e886e4d04fb..11875e73f9301 100644
--- a/pkgs/tools/misc/xvfb-run/default.nix
+++ b/pkgs/tools/misc/xvfb-run/default.nix
@@ -1,18 +1,39 @@
-{ lib, stdenv, fetchurl, makeWrapper, xorgserver, getopt
-, xauth, util-linux, which, fontsConf, gawk, coreutils }:
-let
-  xvfb-run = fetchurl {
-    name = "xvfb-run";
-    url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/9cb733cefa92af3fca608fb051d5251160c9bbff/trunk/xvfb-run";
-    sha256 = "1307mz4nr8ga3qz73i8hbcdphky75rq8lrvfk2zm4kmv6pkbk611";
-  };
-in
-stdenv.mkDerivation {
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+, makeWrapper
+, xorgserver
+, getopt
+, xauth
+, util-linux
+, which
+, fontsConf
+, gawk
+, coreutils
+, installShellFiles
+, xterm
+}:
+stdenvNoCC.mkDerivation rec {
   name = "xvfb-run";
-  nativeBuildInputs = [ makeWrapper ];
-  buildCommand = ''
+  version = "1+g87f6705";
+
+  src = fetchFromGitHub {
+    owner = "archlinux";
+    repo = "svntogit-packages";
+    rev = "87f67054c49b32511893acd22be94c47ecd44b4a";
+    sha256 = "sha256-KEg92RYgJd7naHFDKbdXEy075bt6NLcmX8VhQROHVPs=";
+  };
+
+  nativeBuildInputs = [ makeWrapper installShellFiles ];
+
+  dontUnpack = true;
+  dontBuild = true;
+  dontConfigure = true;
+
+  installPhase = ''
     mkdir -p $out/bin
-    cp ${xvfb-run} $out/bin/xvfb-run
+    cp $src/trunk/xvfb-run $out/bin/xvfb-run
+    installManPage $src/trunk/xvfb-run.1
 
     chmod a+x $out/bin/xvfb-run
     patchShebangs $out/bin/xvfb-run
@@ -21,8 +42,23 @@ stdenv.mkDerivation {
       --prefix PATH : ${lib.makeBinPath [ getopt xorgserver xauth which util-linux gawk coreutils ]}
   '';
 
+  doInstallCheck = true;
+  installCheckPhase = ''
+    (
+      unset PATH
+      echo "running xterm with xvfb-run"
+      $out/bin/xvfb-run ${lib.getBin xterm}/bin/xterm -e true
+    )
+  '';
+
+  passthru = {
+    updateScript = ./update.sh;
+  };
+
   meta = with lib; {
+    description = "Convenience script to run a virtualized X-Server";
     platforms = platforms.linux;
     license = licenses.gpl2;
+    maintainers = [ maintainers.artturin ];
   };
 }
diff --git a/pkgs/tools/misc/xvfb-run/update.sh b/pkgs/tools/misc/xvfb-run/update.sh
new file mode 100755
index 0000000000000..e592323154e22
--- /dev/null
+++ b/pkgs/tools/misc/xvfb-run/update.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl gnused nix-prefetch jq common-updater-scripts
+# shellcheck shell=bash
+
+set -e
+
+info=$(nix-prefetch-git --quiet --url "https://github.com/archlinux/svntogit-packages" --rev "refs/heads/packages/xorg-server")
+
+rev=$(jq -r '.rev' <<< "$info")
+sha256=$(nix hash to-sri --type sha256 "$(jq -r '.sha256' <<< "$info")")
+dir=$(jq -r '.path' <<< "$info")
+
+newXvfbsha=$(sha256sum "$dir/trunk/xvfb-run")
+oldXvfbsha=$(sha256sum "$(nix build --quiet ".#xvfb-run.src" --json --no-link | jq -r '.[].outputs.out')/trunk/xvfb-run")
+
+if [[ "$newXvfbsha" != "$oldXvfbsha" ]]; then
+    (
+        cd "$(git rev-parse --show-toplevel)"
+        update-source-version xvfb-run "1+g${rev:0:7}" "$sha256" --rev="$rev"
+    )
+fi
diff --git a/pkgs/tools/misc/zellij/default.nix b/pkgs/tools/misc/zellij/default.nix
index 4855e979ed658..e8b39bb1caa12 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.26.1";
+  version = "0.27.0";
 
   src = fetchFromGitHub {
     owner = "zellij-org";
     repo = "zellij";
     rev = "v${version}";
-    sha256 = "sha256-ngCE1DhbbuOu07R69gSlFvDKl5EFtTGOkfr5e4u4Dkw=";
+    sha256 = "sha256-iQ+Z1A/wiui2IHuK35e6T/44TYaf6+KbaDl5GfVF2vo=";
   };
 
-  cargoSha256 = "sha256-lRnxZiJiq601oOXkxZqVNPXc0miK3TsAyGeVTjTxdhw=";
+  cargoSha256 = "sha256-DMHIvqClBpBplvqqXM2dUOumO+Ean4yAHWDplJ9PaUM=";
 
   nativeBuildInputs = [
     mandown
diff --git a/pkgs/tools/networking/aardvark-dns/default.nix b/pkgs/tools/networking/aardvark-dns/default.nix
index 5d49842237f2a..412b3e0349c0d 100644
--- a/pkgs/tools/networking/aardvark-dns/default.nix
+++ b/pkgs/tools/networking/aardvark-dns/default.nix
@@ -5,26 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "aardvark-dns";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-6O/7GoGH0xNbTfIFeD5VLrifNFpHcxxG0bdq/YQb3Ew=";
+    sha256 = "sha256-d4YSCVZkNung4frgAeP46E9Ptpnu9y0HwmPRADo4t0U=";
   };
 
-  cargoHash = "sha256-YdHIyCJ00MKH8PL0osOqQIMwaws3+cOUwvhvA8mOp84=";
-
-  preBuild = ''
-    rm build.rs
-
-    export \
-      VERGEN_BUILD_SEMVER="${version}" \
-      VERGEN_BUILD_TIMESTAMP="$SOURCE_DATE_EPOCH" \
-      VERGEN_GIT_SHA="${src.rev}" \
-      VERGEN_RUSTC_HOST_TRIPLE=""
-  '';
+  cargoHash = "sha256-fu7ZopS55IzzeO7uzLx1wVHQ8A1Ff+9f7FagoZPerxk=";
 
   meta = with lib; {
     description = "Authoritative dns server for A/AAAA container records";
diff --git a/pkgs/tools/networking/amass/default.nix b/pkgs/tools/networking/amass/default.nix
index cb0f52915606b..d440a55f334b7 100644
--- a/pkgs/tools/networking/amass/default.nix
+++ b/pkgs/tools/networking/amass/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "amass";
-  version = "3.18.2";
+  version = "3.19.0";
 
   src = fetchFromGitHub {
     owner = "OWASP";
     repo = "Amass";
     rev = "v${version}";
-    sha256 = "sha256-2HE+hzvEbM+68x3YJq8rIMCKAld9MLrCEuHBA4uuetI=";
+    sha256 = "sha256-mhz+SjJwVsosbfJLnFUBt4y6W+afQFokciuBrFpfC48=";
   };
 
-  vendorSha256 = "sha256-hYrv5z+9JY7gXkC4xQvko7qhwBtzywUy0TMqrlgqXb0=";
+  vendorSha256 = "sha256-DGeMSyyucdU1FGRfil3I12UZ4DR1nQWD9oEDRhWQQzo=";
 
   outputs = [ "out" "wordlists" ];
 
diff --git a/pkgs/tools/networking/babeld/default.nix b/pkgs/tools/networking/babeld/default.nix
index 47894c1a53290..cde173ba305a0 100644
--- a/pkgs/tools/networking/babeld/default.nix
+++ b/pkgs/tools/networking/babeld/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "babeld";
-  version = "1.10";
+  version = "1.11";
 
   src = fetchurl {
     url = "https://www.irif.fr/~jch/software/files/${pname}-${version}.tar.gz";
-    sha256 = "1sld5bbig2pkcr4zrdpvfzifc6a3lc8i8kdzk5ryjh166844mxd5";
+    sha256 = "sha256-mTFa6vLqIH8XfBaFX/o0/DVK8bWYjAcODy/KOg1ND6U=";
   };
 
   preBuild = ''
diff --git a/pkgs/tools/networking/bud/default.nix b/pkgs/tools/networking/bud/default.nix
deleted file mode 100644
index 3fa3988dfa073..0000000000000
--- a/pkgs/tools/networking/bud/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, lib, fetchFromGitHub, python2, util-linux }:
-
-stdenv.mkDerivation {
-  pname = "bud";
-  version = "0.34.1";
-
-  src = fetchFromGitHub {
-    owner = "indutny";
-    repo = "bud";
-    rev = "b112852c9667632f692d2ce3dcd9a8312b61155a";
-    sha256 = "sha256-sHXwxWCCVL8Wyo6PAjbA2jj7FXOjCAOezaYKRgk12SM=";
-    fetchSubmodules = true;
-  };
-
-  nativeBuildInputs = [
-    python2 python2.pkgs.gyp
-  ] ++ lib.optional stdenv.isLinux util-linux;
-
-  strictDeps = true;
-
-  buildPhase = ''
-    python ./gyp_bud -f make
-    make -C out
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp out/Release/bud $out/bin
-  '';
-
-  meta = with lib; {
-    description = "A TLS terminating proxy";
-    license     = licenses.mit;
-    platforms   = platforms.linux;
-    # Does not build on aarch64-linux.
-    badPlatforms = [ "aarch64-linux" ];
-    maintainers = with maintainers; [ cstrahan ];
-  };
-}
diff --git a/pkgs/tools/networking/carddav-util/default.nix b/pkgs/tools/networking/carddav-util/default.nix
index ed3f78d4da4ad..e788de13df810 100644
--- a/pkgs/tools/networking/carddav-util/default.nix
+++ b/pkgs/tools/networking/carddav-util/default.nix
@@ -1,13 +1,14 @@
-{ lib, stdenv, fetchgit, python3Packages, makeWrapper }:
+{ lib, stdenv, fetchFromGitHub, python3Packages, makeWrapper }:
 
 stdenv.mkDerivation {
   pname = "carddav";
   version = "0.1-2014-02-26";
 
-  src = fetchgit {
-    url = "git://github.com/ljanyst/carddav-util";
+  src = fetchFromGitHub {
+    owner = "ljanyst";
+    repo = "carddav-util";
     rev = "53b181faff5f154bcd180467dd04c0ce69405564";
-    sha256 = "0f0raffdy032wlnxfck6ky60r163nhqfbr311y4ry55l60s4497n";
+    sha256 = "sha256-9iRCNDC0FJ+JD2Hk5TC0w4QMjJ9mMtct5WIA35xTGTg=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/networking/chrony/default.nix b/pkgs/tools/networking/chrony/default.nix
index cff2d4df8e867..8c8972d0cb5d3 100644
--- a/pkgs/tools/networking/chrony/default.nix
+++ b/pkgs/tools/networking/chrony/default.nix
@@ -28,7 +28,6 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Sets your computer's clock from time servers on the Net";
     homepage = "https://chrony.tuxfamily.org/";
-    repositories.git = "git://git.tuxfamily.org/gitroot/chrony/chrony.git";
     license = licenses.gpl2;
     platforms = with platforms; linux ++ freebsd ++ openbsd;
     maintainers = with maintainers; [ fpletz thoughtpolice ];
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index bfd48893165cd..c032ba61c123a 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -54,14 +54,14 @@ assert zstdSupport -> zstd != null;
 
 stdenv.mkDerivation rec {
   pname = "curl";
-  version = "7.81.0";
+  version = "7.82.0";
 
   src = fetchurl {
     urls = [
       "https://curl.haxx.se/download/${pname}-${version}.tar.bz2"
       "https://github.com/curl/curl/releases/download/${lib.replaceStrings ["."] ["_"] pname}-${version}/${pname}-${version}.tar.bz2"
     ];
-    sha256 = "sha256-Hno41wGOwGDx8W34OYVPCInpThIsTPpdOjfC3Fbx4lg=";
+    sha256 = "sha256-RtmgQAozQI/ZkncLBKRKdDSzA28ugImsKLV1c9WdNx8=";
   };
 
   patches = [
diff --git a/pkgs/tools/networking/drill/default.nix b/pkgs/tools/networking/drill/default.nix
index fce409dc2dc44..ff2c26cb4cbc1 100644
--- a/pkgs/tools/networking/drill/default.nix
+++ b/pkgs/tools/networking/drill/default.nix
@@ -24,6 +24,9 @@ rustPlatform.buildRustPackage rec {
     pkg-config
   ];
 
+  OPENSSL_LIB_DIR = "${lib.getLib openssl}/lib";
+  OPENSSL_DIR="${lib.getDev openssl}";
+
   buildInputs = lib.optionals stdenv.isLinux [
     openssl
   ] ++ lib.optionals stdenv.isDarwin [
diff --git a/pkgs/tools/networking/eternal-terminal/default.nix b/pkgs/tools/networking/eternal-terminal/default.nix
index 035a99103fc7d..0fb559afc990c 100644
--- a/pkgs/tools/networking/eternal-terminal/default.nix
+++ b/pkgs/tools/networking/eternal-terminal/default.nix
@@ -7,6 +7,7 @@
 , openssl
 , protobuf
 , zlib
+, catch2
 }:
 
 stdenv.mkDerivation rec {
@@ -20,6 +21,10 @@ stdenv.mkDerivation rec {
     hash = "sha256-cCZbG0CD5V/FTj1BuVr083EJ+BCgIcKHomNtpJb3lOo=";
   };
 
+  preBuild = ''
+    cp ${catch2}/include/catch2/catch.hpp ../external_imported/Catch2/single_include/catch2/catch.hpp
+  '';
+
   nativeBuildInputs = [
     cmake
   ];
@@ -42,6 +47,8 @@ stdenv.mkDerivation rec {
     "-std=c++17"
   ];
 
+  doCheck = true;
+
   meta = with lib; {
     description = "Remote shell that automatically reconnects without interrupting the session";
     homepage = "https://eternalterminal.dev/";
diff --git a/pkgs/tools/networking/findomain/default.nix b/pkgs/tools/networking/findomain/default.nix
index 426953cf29142..158129c2c1f4f 100644
--- a/pkgs/tools/networking/findomain/default.nix
+++ b/pkgs/tools/networking/findomain/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "findomain";
-  version = "7.0.1";
+  version = "7.2.0";
 
   src = fetchFromGitHub {
     owner = "Edu4rdSHL";
     repo = pname;
     rev = version;
-    sha256 = "sha256-OXyp2cQmt311CPAcJQeWKGRHFYNL6E+f2TmUuT80/z4=";
+    sha256 = "sha256-NhsEXYEYoRZ/HlMS+MP/N+ZxB13DDZr5B8MY5dbONP0=";
   };
 
-  cargoSha256 = "sha256-TwegOBf7dILL7DKohIVfa8IRTU4F9u24tDrrONIGF0U=";
+  cargoSha256 = "sha256-Y/DgAMWhTgHuhdbYxpsg7UxLF7hXNQEY1aoaUbKdDEM=";
 
   nativeBuildInputs = [ installShellFiles perl ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
diff --git a/pkgs/tools/networking/frp/default.nix b/pkgs/tools/networking/frp/default.nix
index e7d2752a94fae..1423230ad4706 100644
--- a/pkgs/tools/networking/frp/default.nix
+++ b/pkgs/tools/networking/frp/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "frp";
-  version = "0.40.0";
+  version = "0.41.0";
 
   src = fetchFromGitHub {
     owner = "fatedier";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-W+88Fq9oYDBLCNp+6rc9jACJzky7FCZg/xLDowGGdm0=";
+    sha256 = "sha256-JutR1yrxbwhfcw6qTh493yVeo7KzLl83himPTX8FJlA=";
   };
 
-  vendorSha256 = "sha256-iBjMFOERWQ1aPn+2gEoI9og2ov2LlBVV1sLAZlvqZPM=";
+  vendorSha256 = "sha256-HOfcVPrJ6TBrhToqYN2CJ0i3re95awrIxQk2Mm8x3DU=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/networking/godns/default.nix b/pkgs/tools/networking/godns/default.nix
index b2744b8ed979c..0e026e5d571c9 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.7";
+  version = "2.7.1";
 
   src = fetchFromGitHub {
     owner = "TimothyYe";
     repo = "godns";
     rev = "v${version}";
-    sha256 = "sha256-PD/3WIxNPtC7s4+2ogWG5DEm717rYQLMx9XA06Q6ebo=";
+    sha256 = "sha256-4PkG8u0wYHHFWR9s4s08tkeBbXdxTUv48HRZsSraNak=";
   };
 
   vendorSha256 = "sha256-vhByl9oJjFIvOskAgLubZ5RCcitKd2jjxi8D9nU6850=";
diff --git a/pkgs/tools/networking/gost/default.nix b/pkgs/tools/networking/gost/default.nix
index 13cac74446174..c8f42b3ad4a73 100644
--- a/pkgs/tools/networking/gost/default.nix
+++ b/pkgs/tools/networking/gost/default.nix
@@ -13,8 +13,33 @@ buildGoModule rec {
 
   vendorSha256 = "1cgb957ipkiix3x0x84c77a1i8l679q3kqykm1lhb4f19x61dqjh";
 
-  # Many tests fail.
-  doCheck = false;
+  postPatch = ''
+    substituteInPlace http2_test.go \
+      --replace "TestH2CForwardTunnel" "SkipH2CForwardTunnel" \
+      --replace "TestH2ForwardTunnel" "SkipH2ForwardTunnel"
+
+    substituteInPlace resolver_test.go \
+      --replace '{NameServer{Addr: "1.1.1.1"}, "github", true},' "" \
+      --replace '{NameServer{Addr: "1.1.1.1"}, "github.com", true},' "" \
+      --replace '{NameServer{Addr: "1.1.1.1:53"}, "github.com", true},' "" \
+      --replace '{NameServer{Addr: "1.1.1.1:53", Protocol: "tcp"}, "github.com", true},' "" \
+      --replace '{NameServer{Addr: "1.1.1.1:853", Protocol: "tls"}, "github.com", true},' "" \
+      --replace '{NameServer{Addr: "1.1.1.1:853", Protocol: "tls", Hostname: "cloudflare-dns.com"}, "github.com", true},' "" \
+      --replace '{NameServer{Addr: "https://cloudflare-dns.com/dns-query", Protocol: "https"}, "github.com", true},' "" \
+      --replace '{NameServer{Addr: "https://1.0.0.1/dns-query", Protocol: "https"}, "github.com", true},' ""
+
+    # Skip TestShadowTCP, TestShadowUDP: #70 #71 #72 #78 #83 #85 #86 #87 #93
+    substituteInPlace ss_test.go \
+      --replace '{url.User("xchacha20"), url.UserPassword("xchacha20", "123456"), false},' "" \
+      --replace '{url.UserPassword("xchacha20", "123456"), url.User("xchacha20"), false},' "" \
+      --replace '{url.UserPassword("xchacha20", "123456"), url.UserPassword("xchacha20", "abc"), false},' "" \
+      --replace '{url.UserPassword("CHACHA20-IETF-POLY1305", "123456"), url.UserPassword("CHACHA20-IETF-POLY1305", "123456"), true},' "" \
+      --replace '{url.UserPassword("AES-128-GCM", "123456"), url.UserPassword("AES-128-GCM", "123456"), true},' "" \
+      --replace '{url.User("AES-192-GCM"), url.UserPassword("AES-192-GCM", "123456"), false},' "" \
+      --replace '{url.UserPassword("AES-192-GCM", "123456"), url.User("AES-192-GCM"), false},' "" \
+      --replace '{url.UserPassword("AES-192-GCM", "123456"), url.UserPassword("AES-192-GCM", "abc"), false},' "" \
+      --replace '{url.UserPassword("AES-256-GCM", "123456"), url.UserPassword("AES-256-GCM", "123456"), true},' ""
+  '';
 
   meta = with lib; {
     description = "A simple tunnel written in golang";
diff --git a/pkgs/tools/networking/hurl/default.nix b/pkgs/tools/networking/hurl/default.nix
index ee9aa9c490178..3e1ef2be501cb 100644
--- a/pkgs/tools/networking/hurl/default.nix
+++ b/pkgs/tools/networking/hurl/default.nix
@@ -12,13 +12,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "hurl";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     owner = "Orange-OpenSource";
     repo = pname;
     rev = version;
-    sha256 = "sha256-87bzZxS1RAe2rY39/LF3kE7uOsEdlKDAnmuNc81YEYM=";
+    sha256 = "sha256-ud4ARpiyMcYwPKsLbeK4MMBLzkD/tecF1L1vWyYpKmY=";
   };
 
   nativeBuildInputs = [
@@ -37,7 +37,7 @@ rustPlatform.buildRustPackage rec {
   # Tests require network access to a test server
   doCheck = false;
 
-  cargoSha256 = "sha256-GnpK4lC7aBMUM+E/dC+SEvG+s5ZlW4y1oI4crSDkblk=";
+  cargoSha256 = "sha256-tmHP7xwVce/hh8nX1LO/zwPIlDZkICPMlBjZjuv37xU=";
 
   postInstall = ''
     python ci/gen_manpage.py docs/hurl.md > hurl.1
diff --git a/pkgs/tools/networking/ipfetch/default.nix b/pkgs/tools/networking/ipfetch/default.nix
new file mode 100755
index 0000000000000..802ef749373e2
--- /dev/null
+++ b/pkgs/tools/networking/ipfetch/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, lib, fetchFromGitHub, bash, wget, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  pname = "ipfetch";
+  version = "unstable-2022-03-24";
+
+  src = fetchFromGitHub {
+    owner = "trakBan";
+    repo = "ipfetch";
+    rev = "fc295bfda4f9fea6eee9f6f3f2dabc26b6f25be4";
+    sha256 = "sha256-YKQ9pRBj2hgPg2ShCqWGxzHs/n7kNhKRNyElRDwHDBU=";
+  };
+
+  strictDeps = true;
+  buildInputs = [ bash wget ];
+  nativeBuildInputs = [ makeWrapper ];
+  patchPhase = ''
+    patchShebangs --host ipfetch
+    # Not only does `/usr` have to be replaced but also `/flags` needs to be added because with Nix the script is broken without this. The `/flags` is somehow not needed if you install via the install script in the source repository.
+    substituteInPlace ./ipfetch --replace /usr/share/ipfetch $out/usr/share/ipfetch/flags
+  '';
+  installPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/usr/share/ipfetch/
+    cp -r flags $out/usr/share/ipfetch/
+    cp ipfetch $out/bin/ipfetch
+    wrapProgram $out/bin/ipfetch --prefix PATH : ${
+      lib.makeBinPath [ bash wget ]
+    }
+  '';
+
+  meta = with lib; {
+    description = "Neofetch but for ip adresses";
+    license = licenses.gpl3Only;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ papojari ];
+  };
+}
diff --git a/pkgs/tools/networking/ipinfo/default.nix b/pkgs/tools/networking/ipinfo/default.nix
index c67a8747aa897..940c7d58904c5 100644
--- a/pkgs/tools/networking/ipinfo/default.nix
+++ b/pkgs/tools/networking/ipinfo/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "ipinfo";
-  version = "2.7.0";
+  version = "2.8.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "cli";
     rev = "${pname}-${version}";
-    sha256 = "sha256-5kXFSxdZrlaBX+7R9hlM+40+3KlJ7g8xu4BN2PyxXEc=";
+    sha256 = "sha256-hvn50sn1UHkC2K0U5beRAYkAe8y/5sYH7Xed3atXzDo=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/networking/modemmanager/default.nix b/pkgs/tools/networking/modemmanager/default.nix
index 126b3b513a86e..c9d56044b0dc0 100644
--- a/pkgs/tools/networking/modemmanager/default.nix
+++ b/pkgs/tools/networking/modemmanager/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "modemmanager";
-  version = "1.18.4";
+  version = "1.18.6";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/ModemManager/ModemManager-${version}.tar.xz";
-    sha256 = "sha256-EfuXD2Pi2ojfS22HWeTuZJlExRUkS5eb9Qp6bfHX8Zk=";
+    sha256 = "sha256-1PgEsxz1BCOcXx1Jc8YglcAMuh7pq7UDcY2sbRRqRwo=";
   };
 
   nativeBuildInputs = [ vala gobject-introspection gettext pkg-config ];
diff --git a/pkgs/tools/networking/mosh/default.nix b/pkgs/tools/networking/mosh/default.nix
index e87b550aa6fe9..8331e3686dc9f 100644
--- a/pkgs/tools/networking/mosh/default.nix
+++ b/pkgs/tools/networking/mosh/default.nix
@@ -11,11 +11,12 @@ stdenv.mkDerivation rec {
     sha256 = "05hjhlp6lk8yjcy59zywpf0r6s0h0b9zxq0lw66dh9x8vxrhaq6s";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper ];
+  nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper protobuf perlPackages.perl ];
   buildInputs = [ protobuf ncurses zlib openssl bash-completion ]
-    ++ (with perlPackages; [ perl IOTty ])
     ++ lib.optional withUtempter libutempter;
 
+  strictDeps = true;
+
   enableParallelBuilding = true;
 
   patches = [
diff --git a/pkgs/tools/networking/mqttui/default.nix b/pkgs/tools/networking/mqttui/default.nix
index 4b14caf9b67a5..4243c7ddbd887 100644
--- a/pkgs/tools/networking/mqttui/default.nix
+++ b/pkgs/tools/networking/mqttui/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mqttui";
-  version = "0.16.0";
+  version = "0.16.1";
 
   src = fetchFromGitHub {
     owner = "EdJoPaTo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kGOQIoE+0lCBm9zQwPMFfYnLJgR79hSKECerWyOFsjI=";
+    sha256 = "sha256-nLUDuLolv52WJAwBG5gSADWM2LmquJt5jZJioZWX8VA=";
   };
 
-  cargoSha256 = "sha256-vm4IR/yQlQDn9LN9Ifr4vJvM6cCqgjRU2vdAHVEsWnI=";
+  cargoSha256 = "sha256-Z6V7k69fjtiG01s1Xf0UA8lhRsq3T+ImDsCHPSVIDfQ=";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/tools/networking/netavark/default.nix b/pkgs/tools/networking/netavark/default.nix
index 34e60b25e32bb..3116644eb68bd 100644
--- a/pkgs/tools/networking/netavark/default.nix
+++ b/pkgs/tools/networking/netavark/default.nix
@@ -7,29 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "netavark";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-r9NoPDFCqmzESxlovs91j0OyunGDmfWJXN+U1f0w2QQ=";
+    sha256 = "sha256-2ElEhKit/XysRsUw+dg7SnhDl+Zf+FJb5pIYpq1ALNs=";
   };
 
-  cargoHash = "sha256-/N9oKzcAwaxI2BbeoYZ2quN+Z3UO67ecpogK2SRG9Dw=";
-
-  preBuild = ''
-    substituteInPlace Cargo.toml \
-      --replace 'build = "build.rs"' ""
-
-    rm build.rs
-
-    export \
-      VERGEN_BUILD_SEMVER="${version}" \
-      VERGEN_BUILD_TIMESTAMP="$SOURCE_DATE_EPOCH" \
-      VERGEN_GIT_SHA="${src.rev}" \
-      VERGEN_RUSTC_HOST_TRIPLE=""
-  '';
+  cargoHash = "sha256-w3qz4ygjIvn+Rxd1JEVO6Ax08leuuJvC4Bk7VygbBh4=";
 
   nativeBuildInputs = [ installShellFiles mandown ];
 
diff --git a/pkgs/tools/networking/networkmanager/applet/default.nix b/pkgs/tools/networking/networkmanager/applet/default.nix
index fbb56f4c5c903..cca96577ad4c9 100644
--- a/pkgs/tools/networking/networkmanager/applet/default.nix
+++ b/pkgs/tools/networking/networkmanager/applet/default.nix
@@ -25,11 +25,11 @@
 
 stdenv.mkDerivation rec {
   pname = "network-manager-applet";
-  version = "1.24.0";
+  version = "1.26.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-ufS8pdA1Jxjge3OF+xlam7yP1oa3lZt0E3hU1SqrnFg=";
+    sha256 = "sha256-aWEbKQZK29Vzlf4+Uanr3h6nlGFfd2kARTorvj2M3f0=";
   };
 
   mesonFlags = [
diff --git a/pkgs/tools/networking/networkmanager/default.nix b/pkgs/tools/networking/networkmanager/default.nix
index f3ea9f677c05a..2c984da87377d 100644
--- a/pkgs/tools/networking/networkmanager/default.nix
+++ b/pkgs/tools/networking/networkmanager/default.nix
@@ -54,11 +54,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "networkmanager";
-  version = "1.36.2";
+  version = "1.36.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/NetworkManager/${lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz";
-    sha256 = "1aqc8z8zv1sds439ilihwqczwg9iqzki0f007fd2x0s17fz5r1db";
+    sha256 = "YTBOk33ZJkcdVnFb3t57q3zKyCc1bmfycA00MxfNPFk=";
   };
 
   outputs = [ "out" "dev" "devdoc" "man" "doc" ];
diff --git a/pkgs/tools/networking/networkmanager/fortisslvpn/default.nix b/pkgs/tools/networking/networkmanager/fortisslvpn/default.nix
index f97bac13cf7f1..e9608741816fc 100644
--- a/pkgs/tools/networking/networkmanager/fortisslvpn/default.nix
+++ b/pkgs/tools/networking/networkmanager/fortisslvpn/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
 , substituteAll
 , openfortivpn
@@ -7,23 +8,24 @@
 , file
 , glib
 , gtk3
+, gtk4
 , networkmanager
 , ppp
 , libsecret
 , withGnome ? true
 , gnome
-, fetchpatch
 , libnma
+, libnma-gtk4
 }:
 
 stdenv.mkDerivation rec {
   pname = "NetworkManager-fortisslvpn";
-  version = "1.2.10";
+  version = "1.4.0";
   name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1sw66cxgs4in4cjp1cm95c5ijsk8xbbmq4ykg2jwqwgz6cf2lr3s";
+    sha256 = "sFXiY0m1FrI1hXmKs+9XtDawFIAOkqiscyz8jnbF2vo=";
   };
 
   patches = [
@@ -31,12 +33,6 @@ stdenv.mkDerivation rec {
       src = ./fix-paths.patch;
       inherit openfortivpn;
     })
-
-    # Don't use etc/dbus-1/system.d
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/NetworkManager-fortisslvpn/merge_requests/11.patch";
-      sha256 = "0l7l2r1njh62lh2pf497ibf99sgkvjsj58xr76qx3jxgq9zfw6n9";
-    })
   ];
 
   nativeBuildInputs = [
@@ -52,12 +48,15 @@ stdenv.mkDerivation rec {
     glib
   ] ++ lib.optionals withGnome [
     gtk3
+    gtk4
     libsecret
     libnma
+    libnma-gtk4
   ];
 
   configureFlags = [
     "--with-gnome=${if withGnome then "yes" else "no"}"
+    "--with-gtk4=${if withGnome then "yes" else "no"}"
     "--localstatedir=/var"
     "--enable-absolute-paths"
   ];
diff --git a/pkgs/tools/networking/networkmanager/fortisslvpn/fix-paths.patch b/pkgs/tools/networking/networkmanager/fortisslvpn/fix-paths.patch
index a1241b6738c23..9176a3bf042bb 100644
--- a/pkgs/tools/networking/networkmanager/fortisslvpn/fix-paths.patch
+++ b/pkgs/tools/networking/networkmanager/fortisslvpn/fix-paths.patch
@@ -1,11 +1,12 @@
+diff --git a/src/nm-fortisslvpn-service.c b/src/nm-fortisslvpn-service.c
+index 6c340d0..995c981 100644
 --- a/src/nm-fortisslvpn-service.c
 +++ b/src/nm-fortisslvpn-service.c
-@@ -387,7 +387,7 @@
+@@ -182,6 +182,7 @@ nm_find_openfortivpn (void)
  {
  	static const char *openfortivpn_binary_paths[] =
  		{
--			"/bin/openfortivpn",
 +			"@openfortivpn@/bin/openfortivpn",
- 			"/usr/bin/openfortivpn",
  			"/usr/local/bin/openfortivpn",
+ 			"/usr/bin/openfortivpn",
  			NULL
diff --git a/pkgs/tools/networking/networkmanager/libnma/default.nix b/pkgs/tools/networking/networkmanager/libnma/default.nix
index c039b47d169ce..63642cf60e758 100644
--- a/pkgs/tools/networking/networkmanager/libnma/default.nix
+++ b/pkgs/tools/networking/networkmanager/libnma/default.nix
@@ -26,13 +26,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libnma";
-  version = "1.8.34";
+  version = "1.8.36";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "9eLnOOD8p/KlSQeSkLLYAXUR1IWoMiDDbfOAo7R1MwQ=";
+    sha256 = "2ZQV9M3/ZCIwAZ7FzdKx+/HsVQqK6GUhn3VIKmQre3o=";
   };
 
   patches = [
diff --git a/pkgs/tools/networking/networkmanager/openconnect/default.nix b/pkgs/tools/networking/networkmanager/openconnect/default.nix
index c03a698514a8f..e0199784b2bc6 100644
--- a/pkgs/tools/networking/networkmanager/openconnect/default.nix
+++ b/pkgs/tools/networking/networkmanager/openconnect/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
 , substituteAll
 , glib
@@ -12,21 +13,21 @@
 , libsecret
 , file
 , gtk3
+, libnma
+, libnma-gtk4
+, gtk4
 , withGnome ? true
 , gnome
 , kmod
-, fetchpatch
 }:
 
-let
+stdenv.mkDerivation rec {
   pname = "NetworkManager-openconnect";
-  version = "1.2.6";
-in stdenv.mkDerivation {
-  name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
+  version = "1.2.8";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0nlp290nkawc4wqm978n4vhzg3xdqi8kpjjx19l855vab41rh44m";
+    url = "mirror://gnome/sources/NetworkManager-openconnect/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "Xe2qeF2C2OI53dCCv6xSUMaR6WRGS+GAe2gnJjYzzcw=";
   };
 
   patches = [
@@ -34,12 +35,6 @@ in stdenv.mkDerivation {
       src = ./fix-paths.patch;
       inherit kmod openconnect;
     })
-
-    # Don't use etc/dbus-1/system.d
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/NetworkManager-openconnect/merge_requests/9.patch";
-      sha256 = "0yd2dmq6gq6y4czr7dqdgaiqvw2vyv2gikznpfdxyfn2v1pcrk9m";
-    })
   ];
 
   buildInputs = [
@@ -49,6 +44,9 @@ in stdenv.mkDerivation {
     networkmanager
   ] ++ lib.optionals withGnome [
     gtk3
+    libnma
+    libnma-gtk4
+    gtk4
     gcr
     libsecret
   ];
@@ -61,8 +59,8 @@ in stdenv.mkDerivation {
 
   configureFlags = [
     "--with-gnome=${if withGnome then "yes" else "no"}"
+    "--with-gtk4=${if withGnome then "yes" else "no"}"
     "--enable-absolute-paths"
-    "--without-libnm-glib"
   ];
 
   passthru = {
diff --git a/pkgs/tools/networking/networkmanager/openvpn/default.nix b/pkgs/tools/networking/networkmanager/openvpn/default.nix
index 20a90fffed257..92391e0374b4f 100644
--- a/pkgs/tools/networking/networkmanager/openvpn/default.nix
+++ b/pkgs/tools/networking/networkmanager/openvpn/default.nix
@@ -1,15 +1,31 @@
-{ lib, stdenv, fetchurl, substituteAll, openvpn, intltool, libxml2, pkg-config, file, networkmanager, libsecret
-, glib, gtk3, withGnome ? true, gnome, kmod, libnma }:
+{ stdenv
+, lib
+, fetchurl
+, substituteAll
+, openvpn
+, intltool
+, libxml2
+, pkg-config
+, file
+, networkmanager
+, libsecret
+, glib
+, gtk3
+, gtk4
+, withGnome ? true
+, gnome
+, kmod
+, libnma
+, libnma-gtk4
+}:
 
-let
+stdenv.mkDerivation rec {
   pname = "NetworkManager-openvpn";
-  version = "1.8.16";
-in stdenv.mkDerivation {
-  name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
+  version = "1.8.18";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "iSDeCceuXx9SDIP4REVduPrsMUJzUCaP4t2VuGD5H7U=";
+    url = "mirror://gnome/sources/NetworkManager-openvpn/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "U9+wrPZEeK3HKAdPFi9i5gv/YqYFvYl+uIsmfnBXkno=";
   };
 
   patches = [
@@ -19,13 +35,28 @@ in stdenv.mkDerivation {
     })
   ];
 
-  buildInputs = [ openvpn networkmanager glib ]
-    ++ lib.optionals withGnome [ gtk3 libsecret libnma ];
+  nativeBuildInputs = [
+    intltool
+    pkg-config
+    file
+    libxml2
+  ];
 
-  nativeBuildInputs = [ intltool pkg-config file libxml2 ];
+  buildInputs = [
+    openvpn
+    networkmanager
+    glib
+  ] ++ lib.optionals withGnome [
+    gtk3
+    gtk4
+    libsecret
+    libnma
+    libnma-gtk4
+  ];
 
   configureFlags = [
     "--with-gnome=${if withGnome then "yes" else "no"}"
+    "--with-gtk4=${if withGnome then "yes" else "no"}"
     "--localstatedir=/" # needed for the management socket under /run/NetworkManager
     "--enable-absolute-paths"
   ];
diff --git a/pkgs/tools/networking/networkmanager/vpnc/default.nix b/pkgs/tools/networking/networkmanager/vpnc/default.nix
index 70e7104696ee3..d81dbf0881652 100644
--- a/pkgs/tools/networking/networkmanager/vpnc/default.nix
+++ b/pkgs/tools/networking/networkmanager/vpnc/default.nix
@@ -1,14 +1,30 @@
-{ lib, stdenv, fetchurl, substituteAll, vpnc, intltool, pkg-config, networkmanager, libsecret
-, gtk3, withGnome ? true, gnome, glib, kmod, file, fetchpatch, libnma }:
-let
+{ stdenv
+, lib
+, fetchurl
+, substituteAll
+, vpnc
+, intltool
+, pkg-config
+, networkmanager
+, libsecret
+, gtk3
+, gtk4
+, withGnome ? true
+, gnome
+, glib
+, kmod
+, file
+, libnma
+, libnma-gtk4
+}:
+
+stdenv.mkDerivation rec {
   pname = "NetworkManager-vpnc";
-  version = "1.2.6";
-in stdenv.mkDerivation {
-  name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
+  version = "1.2.8";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1js5lwcsqws4klgypfxl4ikmakv7v7xgddij1fj6b0y0qicx0kyy";
+    url = "mirror://gnome/sources/NetworkManager-vpnc/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1l4xqlPI/cP95++EpNqpeaYFwj/THO/2R79+qqma+8w=";
   };
 
   patches = [
@@ -16,21 +32,29 @@ in stdenv.mkDerivation {
       src = ./fix-paths.patch;
       inherit vpnc kmod;
     })
-    # Don't use etc/dbus-1/system.d
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/NetworkManager-vpnc/merge_requests/5.patch";
-      sha256 = "0z0x5vqmrsap3ynamhya7gh6c6k5grhj2vqpy76alnv9xns8dzi6";
-    })
   ];
 
-  buildInputs = [ vpnc networkmanager glib ]
-    ++ lib.optionals withGnome [ gtk3 libsecret libnma ];
+  nativeBuildInputs = [
+    intltool
+    pkg-config
+    file
+  ];
 
-  nativeBuildInputs = [ intltool pkg-config file ];
+  buildInputs = [
+    vpnc
+    networkmanager
+    glib
+  ] ++ lib.optionals withGnome [
+    gtk3
+    gtk4
+    libsecret
+    libnma
+    libnma-gtk4
+  ];
 
   configureFlags = [
-    "--without-libnm-glib"
     "--with-gnome=${if withGnome then "yes" else "no"}"
+    "--with-gtk4=${if withGnome then "yes" else "no"}"
     "--enable-absolute-paths"
   ];
 
diff --git a/pkgs/tools/networking/ntp/default.nix b/pkgs/tools/networking/ntp/default.nix
index 92a6005e2a669..f272470a98f41 100644
--- a/pkgs/tools/networking/ntp/default.nix
+++ b/pkgs/tools/networking/ntp/default.nix
@@ -9,10 +9,15 @@ stdenv.mkDerivation rec {
     sha256 = "06cwhimm71safmwvp6nhxp6hvxsg62whnbgbgiflsqb8mgg40n7n";
   };
 
+  patches = [
+    # From https://patchwork.openembedded.org/patch/180019/
+    ./glibc-2.34-fix.patch
+  ];
+
   configureFlags = [
     "--sysconfdir=/etc"
     "--localstatedir=/var"
-    "--with-openssl-libdir=${openssl.out}/lib"
+    "--with-openssl-libdir=${lib.getLib openssl}/lib"
     "--with-openssl-incdir=${openssl.dev}/include"
     "--enable-ignore-dns-errors"
     "--with-yielding-select=yes"
diff --git a/pkgs/tools/networking/ntp/glibc-2.34-fix.patch b/pkgs/tools/networking/ntp/glibc-2.34-fix.patch
new file mode 100644
index 0000000000000..256f125a77b26
--- /dev/null
+++ b/pkgs/tools/networking/ntp/glibc-2.34-fix.patch
@@ -0,0 +1,28 @@
+From 082a504cfcc046c3d8adaae1164268bc94e5108a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 31 Jul 2021 10:51:41 -0700
+Subject: [PATCH] libntp: Do not use PTHREAD_STACK_MIN on glibc
+In glibc 2.34+ PTHREAD_STACK_MIN is not a compile-time constant which
+could mean different stack sizes at runtime on different architectures
+and it also causes compile failure. Default glibc thread stack size
+or 64Kb set by ntp should be good in glibc these days.
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ libntp/work_thread.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+diff --git a/libntp/work_thread.c b/libntp/work_thread.c
+index 03a5647..3ddd751 100644
+--- a/libntp/work_thread.c
++++ b/libntp/work_thread.c
+@@ -41,7 +41,7 @@
+ #ifndef THREAD_MINSTACKSIZE
+ # define THREAD_MINSTACKSIZE	(64U * 1024)
+ #endif
+-#ifndef __sun
++#if !defined(__sun) && !defined(__GLIBC__)
+ #if defined(PTHREAD_STACK_MIN) && THREAD_MINSTACKSIZE < PTHREAD_STACK_MIN
+ # undef THREAD_MINSTACKSIZE
+ # define THREAD_MINSTACKSIZE PTHREAD_STACK_MIN
+-- 
+2.32.0
diff --git a/pkgs/tools/networking/obfs4/default.nix b/pkgs/tools/networking/obfs4/default.nix
index ab13d3f4ef988..a988a14cd4552 100644
--- a/pkgs/tools/networking/obfs4/default.nix
+++ b/pkgs/tools/networking/obfs4/default.nix
@@ -5,7 +5,7 @@ buildGoModule rec {
   version = "0.0.11";
 
   src = fetchgit {
-    url = meta.repositories.git;
+    url = "https://git.torproject.org/pluggable-transports/obfs4.git";
     rev = "refs/tags/${pname}proxy-${version}";
     sha256 = "sha256-VjJ/Pc1YjNB2iLnN/5CxuaxolcaR1IMWgoESMzOXU/g=";
   };
@@ -17,7 +17,6 @@ buildGoModule rec {
   meta = with lib; {
     description = "A pluggable transport proxy";
     homepage = "https://www.torproject.org/projects/obfsproxy";
-    repositories.git = "https://git.torproject.org/pluggable-transports/obfs4.git";
     maintainers = with maintainers; [ thoughtpolice ];
   };
 }
diff --git a/pkgs/tools/networking/openconnect/default.nix b/pkgs/tools/networking/openconnect/default.nix
index 0e1da29320f06..5dea456d00bfc 100644
--- a/pkgs/tools/networking/openconnect/default.nix
+++ b/pkgs/tools/networking/openconnect/default.nix
@@ -4,6 +4,7 @@
 , pkg-config
 , openssl ? null
 , gnutls ? null
+, p11-kit
 , gmp
 , libxml2
 , stoken
@@ -42,7 +43,8 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [ openssl gnutls gmp libxml2 stoken zlib ]
-    ++ lib.optional stdenv.isDarwin PCSC;
+    ++ lib.optional stdenv.isDarwin PCSC
+    ++ lib.optional stdenv.isLinux p11-kit;
   nativeBuildInputs = [ pkg-config ]
     ++ lib.optional head autoreconfHook;
 
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index 36125a5893be7..77277f20950bc 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -6,11 +6,11 @@ in
 
   openssh = common rec {
     pname = "openssh";
-    version = "8.8p1";
+    version = "8.9p1";
 
     src = fetchurl {
       url = "mirror://openbsd/OpenSSH/portable/openssh-${version}.tar.gz";
-      sha256 = "1s8z6f7mi1pwsl79cqai8cr350m5lf2ifcxff57wx6mvm478k425";
+      sha256 = "sha256:1ry5prcax0134v6srkgznpl9ch5snkgq7yvjqvd8c5mbnxa7cjgx";
     };
 
     extraPatches = [ ./ssh-keysign-8.5.patch ];
diff --git a/pkgs/tools/networking/ppp/default.nix b/pkgs/tools/networking/ppp/default.nix
index 5608b032ac502..d39607338e74f 100644
--- a/pkgs/tools/networking/ppp/default.nix
+++ b/pkgs/tools/networking/ppp/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
       src = ./nix-purity.patch;
       glibc = stdenv.cc.libc.dev or stdenv.cc.libc;
       openssl_dev = openssl.dev;
-      openssl_out = openssl.out;
+      openssl_lib = lib.getLib openssl;
     })
     # Without nonpriv.patch, pppd --version doesn't work when not run as root.
     ./nonpriv.patch
diff --git a/pkgs/tools/networking/ppp/nix-purity.patch b/pkgs/tools/networking/ppp/nix-purity.patch
index c3363e0ccb646..1673376f9b6f5 100644
--- a/pkgs/tools/networking/ppp/nix-purity.patch
+++ b/pkgs/tools/networking/ppp/nix-purity.patch
@@ -9,7 +9,7 @@ index 22837c5..6f6fff5 100644
 -CFLAGS	+= -DUSE_SRP -DOPENSSL -I/usr/local/ssl/include
 -LIBS	+= -lsrp -L/usr/local/ssl/lib
 +CFLAGS	+= -DUSE_SRP -DOPENSSL -I@openssl_dev@/include/openssl
-+LIBS	+= -lsrp -L@openssl_out@/lib
++LIBS	+= -lsrp -L@openssl_lib@/lib
  NEEDCRYPTOLIB = y
  TARGETS	+= srp-entry
  EXTRAINSTALL = $(INSTALL) -c -m 555 srp-entry $(BINDIR)/srp-entry
diff --git a/pkgs/tools/networking/smartdns/default.nix b/pkgs/tools/networking/smartdns/default.nix
index 8ac1e137ca432..fd4cdbaf977d1 100644
--- a/pkgs/tools/networking/smartdns/default.nix
+++ b/pkgs/tools/networking/smartdns/default.nix
@@ -1,34 +1,32 @@
-{ lib, stdenv, fetchFromGitHub, openssl }:
+{ lib, stdenv, fetchFromGitHub, openssl, testVersion, smartdns }:
 
 stdenv.mkDerivation rec {
   pname = "smartdns";
-  version = "35";
+  version = "36";
 
   src = fetchFromGitHub {
     owner = "pymumu";
     repo = pname;
     rev = "Release${version}";
-    sha256 = "sha256-5822qe3mdn4wPO8fHW5AsgMA7xbJnMjZn9DbiMU3GX0=";
+    sha256 = "sha256-sjrRPmTJRCUnMrA08M/VdYhL7/OfQY30/t1loLPSrlQ=";
   };
 
   buildInputs = [ openssl ];
 
-  # Force the systemd service file to be regenerated from it's template.  This
-  # file is erroneously added in version 35 and it has already been deleted from
-  # upstream's git repository.  So this "postPatch" phase can be deleted in next
-  # release.
-  postPatch = ''
-    rm -f systemd/smartdns.service
-  '';
-
   makeFlags = [
     "PREFIX=${placeholder "out"}"
     "SYSTEMDSYSTEMUNITDIR=${placeholder "out"}/lib/systemd/system"
     "RUNSTATEDIR=/run"
+    # by default it is the build time... weird... https://github.com/pymumu/smartdns/search?q=ver
+    "VER=${version}"
   ];
 
   installFlags = [ "SYSCONFDIR=${placeholder "out"}/etc" ];
 
+  passthru.tests = {
+    version = testVersion { package = smartdns; };
+  };
+
   meta = with lib; {
     description =
       "A local DNS server to obtain the fastest website IP for the best Internet experience";
diff --git a/pkgs/tools/networking/socat/default.nix b/pkgs/tools/networking/socat/default.nix
index 255455811a65e..06b3cbdbe80ab 100644
--- a/pkgs/tools/networking/socat/default.nix
+++ b/pkgs/tools/networking/socat/default.nix
@@ -38,7 +38,6 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Utility for bidirectional data transfer between two independent data channels";
     homepage = "http://www.dest-unreach.org/socat/";
-    repositories.git = "git://repo.or.cz/socat.git";
     platforms = platforms.unix;
     license = with licenses; [ gpl2Only ];
     maintainers = with maintainers; [ eelco ];
diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix
index 416d8863cb4a0..b92fb23d64e58 100644
--- a/pkgs/tools/networking/unbound/default.nix
+++ b/pkgs/tools/networking/unbound/default.nix
@@ -8,6 +8,8 @@
 , libsodium
 , protobufc
 , hiredis
+, python ? null
+, swig
 , dns-root-data
 , pkg-config
 , makeWrapper
@@ -32,9 +34,10 @@
 , withDNSTAP ? false
 , withTFO ? false
 , withRedis ? false
-# Avoid .lib depending on openssl.out
+# Avoid .lib depending on lib.getLib openssl
 # The build gets a little hacky, so in some cases we disable this approach.
 , withSlimLib ? stdenv.isLinux && !stdenv.hostPlatform.isMusl && !withDNSTAP
+, withPythonModule ? false
 , libnghttp2
 }:
 
@@ -49,11 +52,13 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "lib" "man" ]; # "dev" would only split ~20 kB
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ]
+    ++ lib.optionals withPythonModule [ swig ];
 
   buildInputs = [ openssl nettle expat libevent ]
     ++ lib.optionals withSystemd [ pkg-config systemd ]
-    ++ lib.optionals withDoH [ libnghttp2 ];
+    ++ lib.optionals withDoH [ libnghttp2 ]
+    ++ lib.optionals withPythonModule [ python ];
 
   configureFlags = [
     "--with-ssl=${openssl.dev}"
@@ -69,6 +74,8 @@ stdenv.mkDerivation rec {
     "--disable-flto"
   ] ++ lib.optionals withSystemd [
     "--enable-systemd"
+  ] ++ lib.optionals withPythonModule [
+    "--with-pythonmodule"
   ] ++ lib.optionals withDoH [
     "--with-libnghttp2=${libnghttp2.dev}"
   ] ++ lib.optionals withECS [
@@ -100,17 +107,26 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  postPatch = lib.optionalString withPythonModule ''
+    substituteInPlace Makefile.in \
+      --replace "\$(DESTDIR)\$(PYTHON_SITE_PKG)" "$out/${python.sitePackages}"
+  '';
+
   installFlags = [ "configfile=\${out}/etc/unbound/unbound.conf" ];
 
   postInstall = ''
     make unbound-event-install
     wrapProgram $out/bin/unbound-control-setup \
       --prefix PATH : ${lib.makeBinPath [ openssl ]}
+  '' + lib.optionalString withPythonModule ''
+    wrapProgram $out/bin/unbound \
+      --prefix PYTHONPATH : "$out/${python.sitePackages}" \
+      --argv0 $out/bin/unbound
   '';
 
   preFixup = lib.optionalString withSlimLib
     # Build libunbound again, but only against nettle instead of openssl.
-    # This avoids gnutls.out -> unbound.lib -> openssl.out.
+    # This avoids gnutls.out -> unbound.lib -> lib.getLib openssl.
     ''
       configureFlags="$configureFlags --with-nettle=${nettle.dev} --with-libunbound-only"
       configurePhase
diff --git a/pkgs/tools/networking/uwimap/default.nix b/pkgs/tools/networking/uwimap/default.nix
index 78480bbc3dff8..a10a779097a52 100644
--- a/pkgs/tools/networking/uwimap/default.nix
+++ b/pkgs/tools/networking/uwimap/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   postPatch = ''
     sed -i src/osdep/unix/Makefile -e 's,/usr/local/ssl,${openssl.dev},'
     sed -i src/osdep/unix/Makefile -e 's,^SSLCERTS=.*,SSLCERTS=/etc/ssl/certs,'
-    sed -i src/osdep/unix/Makefile -e 's,^SSLLIB=.*,SSLLIB=${openssl.out}/lib,'
+    sed -i src/osdep/unix/Makefile -e 's,^SSLLIB=.*,SSLLIB=${lib.getLib openssl}/lib,'
   '';
 
   NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin
diff --git a/pkgs/tools/networking/xh/default.nix b/pkgs/tools/networking/xh/default.nix
index 2a5708c8d0520..13f470c327a00 100644
--- a/pkgs/tools/networking/xh/default.nix
+++ b/pkgs/tools/networking/xh/default.nix
@@ -38,6 +38,11 @@ rustPlatform.buildRustPackage rec {
       --fish completions/xh.fish \
       --zsh completions/_xh
 
+    installManPage doc/xh.1
+    ln -s $out/share/man/man1/xh.1 $out/share/man/man1/xhs.1
+
+    install -m444 -Dt $out/share/doc/xh README.md CHANGELOG.md
+
     # https://github.com/ducaale/xh#xh-and-xhs
     ln -s $out/bin/xh $out/bin/xhs
   '';
diff --git a/pkgs/tools/networking/xrootd/default.nix b/pkgs/tools/networking/xrootd/default.nix
index ffc3483709831..a4c90f95e90da 100644
--- a/pkgs/tools/networking/xrootd/default.nix
+++ b/pkgs/tools/networking/xrootd/default.nix
@@ -19,14 +19,14 @@
 
 stdenv.mkDerivation rec {
   pname = "xrootd";
-  version = "5.4.1";
+  version = "5.4.2";
 
   src = fetchFromGitHub {
     owner = "xrootd";
     repo = "xrootd";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-rr6cZ6tyrpCQyKcPBWwGsRAsLbjTXAoTtxf+u1UmvZo=";
+    sha256 = "sha256-k6uAJbUhpwnRrSeGn4JQiHDBrGJNQDf5vG2a+je5ByU=";
   };
 
   outputs = [ "bin" "out" "dev" "man" ];
diff --git a/pkgs/tools/package-management/micromamba/default.nix b/pkgs/tools/package-management/micromamba/default.nix
index 4bdf7c4c7a3cc..8f6cdd574a1e6 100644
--- a/pkgs/tools/package-management/micromamba/default.nix
+++ b/pkgs/tools/package-management/micromamba/default.nix
@@ -11,11 +11,6 @@ let
     patches = [
       # Patch added by the mamba team
       (fetchpatch {
-        url = "https://raw.githubusercontent.com/mamba-org/boa-forge/20530f80e2e15012078d058803b6e2c75ed54224/libsolv/add_strict_repo_prio_rule.patch";
-        sha256 = "19c47i5cpyy88nxskf7k6q6r43i55w61jvnz7fc2r84hpjkcrv7r";
-      })
-      # Patch added by the mamba team
-      (fetchpatch {
         url = "https://raw.githubusercontent.com/mamba-org/boa-forge/20530f80e2e15012078d058803b6e2c75ed54224/libsolv/conda_variant_priorization.patch";
         sha256 = "1iic0yx7h8s662hi2jqx68w5kpyrab4fr017vxd4wyxb6wyk35dd";
       })
diff --git a/pkgs/tools/package-management/nfpm/default.nix b/pkgs/tools/package-management/nfpm/default.nix
index 8b03779ae7d2c..b180de2bed483 100644
--- a/pkgs/tools/package-management/nfpm/default.nix
+++ b/pkgs/tools/package-management/nfpm/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "nfpm";
-  version = "2.15.0";
+  version = "2.15.1";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-z9jGivdO7LduJuHbyKr4sl8xg+FGVvKwCm+RgVQPxJQ=";
+    sha256 = "sha256-D/1psEpOoDiA/dpnUc9sUaOq8Dk5QEImIWEp08FyV7o=";
   };
 
   vendorSha256 = "sha256-guJgLjmB29sOLIzs2+gKNp0WTWC3zS9Sb5DD5IistKY=";
diff --git a/pkgs/tools/package-management/nix/common.nix b/pkgs/tools/package-management/nix/common.nix
index 2161ea3c309f3..2f9a6be8f66ba 100644
--- a/pkgs/tools/package-management/nix/common.nix
+++ b/pkgs/tools/package-management/nix/common.nix
@@ -53,8 +53,8 @@ in
 , confDir
 , stateDir
 , storeDir
-}:
-stdenv.mkDerivation {
+}: let
+self = stdenv.mkDerivation {
   pname = "nix";
 
   version = "${version}${suffix}";
@@ -209,6 +209,7 @@ stdenv.mkDerivation {
   passthru = {
     inherit aws-sdk-cpp boehmgc;
 
-    perl-bindings = perl.pkgs.toPerlModule (callPackage ./nix-perl.nix { inherit src version;  });
+    perl-bindings = perl.pkgs.toPerlModule (callPackage ./nix-perl.nix { nix = self; });
   };
-}
+};
+in self
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 4510948b436be..4ad17072dc85d 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -68,6 +68,17 @@ in lib.makeExtensible (self: {
   nix_2_7 = common {
     version = "2.7.0";
     sha256 = "sha256-m8tqCS6uHveDon5GSro5yZor9H+sHeh+v/veF1IGw24=";
+    patches = [
+      # remove when there's a 2.7.1 release
+      # https://github.com/NixOS/nix/pull/6297
+      # https://github.com/NixOS/nix/issues/6243
+      # https://github.com/NixOS/nixpkgs/issues/163374
+      (fetchpatch {
+        url = "https://github.com/NixOS/nix/commit/c9afca59e87afe7d716101e6a75565b4f4b631f7.patch";
+        sha256 = "sha256-xz7QnWVCI12lX1+K/Zr9UpB93b10t1HS9y/5n5FYf8Q=";
+      })
+    ];
+
   };
 
   stable = self.nix_2_7;
diff --git a/pkgs/tools/package-management/nix/nix-perl.nix b/pkgs/tools/package-management/nix/nix-perl.nix
index 069a22d3a853f..302d123a87d3a 100644
--- a/pkgs/tools/package-management/nix/nix-perl.nix
+++ b/pkgs/tools/package-management/nix/nix-perl.nix
@@ -8,14 +8,11 @@
 , autoreconfHook
 , autoconf-archive
 , nlohmann_json
-
-, version
-, src
 }:
 
 stdenv.mkDerivation {
   pname = "nix-perl";
-  inherit version src;
+  inherit (nix) version src;
 
   postUnpack = "sourceRoot=$sourceRoot/perl";
 
diff --git a/pkgs/tools/package-management/nixui/default.nix b/pkgs/tools/package-management/nixui/default.nix
index 0e6ff9ec7055a..c5aef5c1754d6 100644
--- a/pkgs/tools/package-management/nixui/default.nix
+++ b/pkgs/tools/package-management/nixui/default.nix
@@ -1,16 +1,10 @@
-{ lib, stdenv, pkgs, fetchgit, nix, node_webkit, makeDesktopItem
+{ lib, stdenv, pkgs, fetchFromGitHub, nix, node_webkit, makeDesktopItem
 , writeScript }:
 let
-  version = "0.2.1";
-  src = fetchgit {
-    url = "git://github.com/matejc/nixui.git";
-    rev = "845a5f4a33f1d0c509c727c130d0792a5b450a38";
-    sha256 = "1ay3i4lgzs3axbby06l4vvspxi0aa9pwiil84qj0dqq1jb6isara";
-  };
   nixui = (import ./nixui.nix {
     inherit pkgs;
     inherit (stdenv.hostPlatform) system;
-  })."nixui-git://github.com/matejc/nixui.git#0.2.1";
+  })."nixui-git+https://github.com/matejc/nixui.git#0.2.1";
   script = writeScript "nixui" ''
     #! ${stdenv.shell}
     export PATH="${nix}/bin:\$PATH"
@@ -24,9 +18,15 @@ let
     genericName = "NixUI";
   };
 in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "nixui";
-  inherit version src;
+  version = "0.2.1";
+  src = fetchFromGitHub {
+    owner = "matejc";
+    repo = "nixui";
+    rev = version;
+    sha256 = "sha256-KisdzZIB4wYkJojGyG9SCsR+9d6EGuDX6mro/yiJw6s=";
+  };
   installPhase = ''
     mkdir -p $out/bin
     ln -s ${script} $out/bin/nixui
diff --git a/pkgs/tools/package-management/nixui/node-packages.nix b/pkgs/tools/package-management/nixui/node-packages.nix
index 0b6857cf716ad..89362dbec0921 100644
--- a/pkgs/tools/package-management/nixui/node-packages.nix
+++ b/pkgs/tools/package-management/nixui/node-packages.nix
@@ -70,12 +70,12 @@ let
   };
 in
 {
-  "nixui-git://github.com/matejc/nixui.git#0.2.1" = nodeEnv.buildNodePackage {
+  "nixui-git+https://github.com/matejc/nixui.git#0.2.1" = nodeEnv.buildNodePackage {
     name = "nixui";
     packageName = "nixui";
     version = "0.2.1";
     src = fetchgit {
-      url = "git://github.com/matejc/nixui.git";
+      url = "https://github.com/matejc/nixui.git";
       rev = "845a5f4a33f1d0c509c727c130d0792a5b450a38";
       sha256 = "2a2b1dcd9201e306242688c6c86f520ac47ef5de841ae0d7ea6ae8ff2889c3ab";
     };
diff --git a/pkgs/tools/package-management/nixui/pkg.json b/pkgs/tools/package-management/nixui/pkg.json
index 551df4f1b1c9c..39aceb5b0e1f4 100644
--- a/pkgs/tools/package-management/nixui/pkg.json
+++ b/pkgs/tools/package-management/nixui/pkg.json
@@ -1,3 +1,3 @@
 [
-  { "nixui": "git://github.com/matejc/nixui.git#0.2.1" }
+  { "nixui": "git+https://github.com/matejc/nixui.git#0.2.1" }
 ]
diff --git a/pkgs/tools/package-management/pdm/default.nix b/pkgs/tools/package-management/pdm/default.nix
index 4e59333ed79bd..cae4431ea65b4 100644
--- a/pkgs/tools/package-management/pdm/default.nix
+++ b/pkgs/tools/package-management/pdm/default.nix
@@ -24,13 +24,13 @@ in
 with python.pkgs;
 buildPythonApplication rec {
   pname = "pdm";
-  version = "1.12.6";
+  version = "1.13.3";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-MXKER2ijU+2yPnsBFH0cu/hjHI4uNt++AqggH5rhnaU=";
+    sha256 = "sha256-5+bjjljmk3AHaDVjYzNuC7lkkvlpLa9/grKgdmERC7k=";
   };
 
   # this patch allows us to run additional tests that invoke pdm, which checks
@@ -41,19 +41,12 @@ buildPythonApplication rec {
   # doesn't appear to respect the settings in `$HOME`; possibly a bug upstream
   patches = [
     ./check-update.patch
-    (fetchurl {
-      # Mark test that require network access
-      url = "https://github.com/pdm-project/pdm/files/7911962/mark-network-tests.patch.txt";
-      hash = "sha256:1dizf9j3z7zk4lxvnszwx63xzd9r68f2iva5sszzf8s8na831dvd";
-    })
   ];
-  postPatch = ''
-    substituteInPlace pyproject.toml --replace "pdm-pep517>=0.9,<0.10" "pdm-pep517"
-  '';
 
   propagatedBuildInputs = [
     blinker
     click
+    findpython
     installer
     packaging
     pdm-pep517
@@ -82,22 +75,19 @@ buildPythonApplication rec {
     "-m 'not network'"
   ];
 
-  preCheck = "HOME=$TMPDIR";
+  preCheck = ''
+    export HOME=$TMPDIR
+  '';
 
   disabledTests = [
     # sys.executable and expected executable are different
     "test_set_non_exist_python_path"
     # pythonfinder isn't aware of nix's python infrastructure
     "test_auto_isolate_site_packages"
-    "test_use_invalid_wrapper_python"
     "test_use_wrapper_python"
-    # tries to read/write files without proper permissions
-    "test_completion_command"
-    "test_plugin_add"
-    "test_plugin_list"
-    "test_plugin_remove"
-    # tries to treat a gzip file as a zipfile and fails
-    "test_resolve_local_artifacts"
+    "test_find_python_in_path"
+    # calls pip install and exits != 0
+    "test_pre_and_post_hooks"
   ];
 
   meta = with lib; {
diff --git a/pkgs/tools/security/aesfix/default.nix b/pkgs/tools/security/aesfix/default.nix
new file mode 100644
index 0000000000000..b2eb2e0e96ca6
--- /dev/null
+++ b/pkgs/tools/security/aesfix/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, stdenv
+, fetchurl
+}:
+
+stdenv.mkDerivation rec {
+  pname = "aesfix";
+  version = "1.0.1";
+
+  src = fetchurl {
+    url = "https://citpsite.s3.amazonaws.com/memory-content/src/aesfix-${version}.tar.gz";
+    sha256 = "sha256-exd+h2yu5qrkjwEjEC8R32WUpzhIP5pH8sdv6BzARdQ=";
+  };
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    cp aesfix $out/bin
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Correct bit errors in an AES key schedules";
+    homepage = "https://citp.princeton.edu/our-work/memory/";
+    maintainers = with maintainers; [ fedx-sudo ];
+  };
+}
diff --git a/pkgs/tools/security/aeskeyfind/default.nix b/pkgs/tools/security/aeskeyfind/default.nix
new file mode 100644
index 0000000000000..08b2481ff00da
--- /dev/null
+++ b/pkgs/tools/security/aeskeyfind/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, stdenv
+, fetchurl
+}:
+
+stdenv.mkDerivation rec {
+  pname = "aeskeyfind";
+  version = "1.0";
+
+  src = fetchurl {
+    url = "https://citpsite.s3.amazonaws.com/memory-content/src/aeskeyfind-${version}.tar.gz";
+    sha256 = "sha256-FBflwbYehruVJ9sfW+4ZlaDuqCR12zy8iA4Ev3Bgg+Q=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    cp aeskeyfind $out/bin
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Locates 128-bit and 256-bit AES keys in a captured memory image";
+    homepage = "https://citp.princeton.edu/our-work/memory/";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fedx-sudo ];
+  };
+
+}
+
diff --git a/pkgs/tools/security/authoscope/default.nix b/pkgs/tools/security/authoscope/default.nix
index eafd5ebb7d2f2..f21df67035e40 100644
--- a/pkgs/tools/security/authoscope/default.nix
+++ b/pkgs/tools/security/authoscope/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "authoscope";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "kpcyrd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11ci38m6d3lj4f0g7cl3dqf10kfk258k2k92phd2nav1my4i90pf";
+    sha256 = "sha256-SKgb/N249s0+Rb59moBT/MeFb4zAAElCMQJto0diyUk=";
   };
 
-  cargoSha256 = "13x7i52i3k88vkfvk2smy2aqfg3na4317scvw7ali1rv545nbxds";
+  cargoSha256 = "sha256-rSHuKy86iJNLAKSVcb7fn7A/cc75EOc97jGI14EaC6k=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/tools/security/aws-okta/default.nix b/pkgs/tools/security/aws-okta/default.nix
deleted file mode 100644
index 88002fc1ce436..0000000000000
--- a/pkgs/tools/security/aws-okta/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ buildGoPackage, fetchFromGitHub, libusb1, pkg-config, lib, libiconv }:
-
-buildGoPackage rec {
-  pname = "aws-okta";
-  version = "1.0.11";
-
-  goPackagePath = "github.com/segmentio/aws-okta";
-
-  src = fetchFromGitHub {
-    owner = "segmentio";
-    repo = "aws-okta";
-    rev = "v${version}";
-    sha256 = "sha256-1cprKpIFgM3+lUEHNvda34nJTH4Ch3LtTRq/Dp6QBQ8=";
-  };
-
-  tags = [ "release" ];
-
-  ldflags = [ "-X main.Version=${version}" ];
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ libusb1  libiconv ];
-
-  meta = with lib; {
-    description = "aws-vault like tool for Okta authentication";
-    license = licenses.mit;
-    maintainers = with maintainers; [imalsogreg Chili-Man];
-    homepage = "https://github.com/segmentio/aws-okta";
-    downloadPage = "https://github.com/segmentio/aws-okta";
-  };
-}
diff --git a/pkgs/tools/security/cfripper/default.nix b/pkgs/tools/security/cfripper/default.nix
index 4e5d2e7e0304e..9d7a30fdc3454 100644
--- a/pkgs/tools/security/cfripper/default.nix
+++ b/pkgs/tools/security/cfripper/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "cfripper";
-  version = "1.6.0";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "Skyscanner";
     repo = pname;
     rev = version;
-    hash = "sha256-bomQqg+xzq7+iccE+x6mN265HxkYvy13aAwBBikth3U=";
+    hash = "sha256-Q1J5M6RyYjVi2rkOCThFQdBCxVKkza+wytO67vLlVQg=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/security/chaps/default.nix b/pkgs/tools/security/chaps/default.nix
deleted file mode 100644
index 13ac6d67febfb..0000000000000
--- a/pkgs/tools/security/chaps/default.nix
+++ /dev/null
@@ -1,91 +0,0 @@
-{ lib, stdenv, fetchFromGitiles, fetchFromGitHub, fetchurl, trousers, leveldb, unzip
-, scons, pkg-config, glib, dbus_cplusplus, dbus, protobuf, openssl, snappy, pam
-}:
-
-let
-  src_chromebase = fetchFromGitiles {
-    url = "https://chromium.googlesource.com/chromium/src/base";
-    rev = "2dfe404711e15e24e79799516400c61b2719d7af";
-    sha256 = "2bd93a3ace4b6767db2c1bd1e16f426c97b8d2133a9cb15f8372b2516cfa65c5";
-  };
-
-  src_gmock = fetchurl {
-    url = "https://googlemock.googlecode.com/files/gmock-1.7.0.zip";
-    sha256 = "0nq98cpnv2jsx2byp4ilam6kydcnziflkc16ikydajmp4mcvpz16";
-  };
-
-  src_platform2 = fetchFromGitiles {
-    url = "https://chromium.googlesource.com/chromiumos/platform2";
-    rev = "e999e989eaa71c3db7314fc7b4e20829b2b5473b";
-    sha256 = "15n1bsv6r7cny7arx0hdb223xzzbk7vkxg2r7xajhl4nsj39adjh";
-  };
-
-in
-
-stdenv.mkDerivation rec {
-  pname = "chaps";
-  version = "0.42-6812";
-
-  src = fetchFromGitHub {
-    owner = "google";
-    repo = "chaps-linux";
-    rev = "989aadc45cdb216ca35b0c97d13fc691576fa1d7";
-    sha256 = "0chk6pnn365d5kcz6vfqx1d0383ksk97icc0lzg0vvb0kvyj0ff1";
-  };
-
-  NIX_CFLAGS_COMPILE = [
-    # readdir_r(3) is deprecated in glibc >= 2.24
-    "-Wno-error=deprecated-declarations"
-    # gcc8 catching polymorphic type error
-    "-Wno-error=catch-value"
-  ];
-
-  patches = [ ./fix_absolute_path.patch  ./fix_environment_variables.patch  ./fix_scons.patch  ./insert_prefetches.patch ];
-
-  postPatch = ''
-    substituteInPlace makefile --replace @@NIXOS_SRC_CHROMEBASE@@ ${src_chromebase}
-    substituteInPlace makefile --replace @@NIXOS_SRC_GMOCK@@ ${src_gmock}
-    substituteInPlace makefile --replace @@NIXOS_SRC_PLATFORM2@@ ${src_platform2}
-    substituteInPlace makefile --replace @@NIXOS_LEVELDB@@ ${leveldb}
-    '';
-
-  nativeBuildInputs = [ unzip scons pkg-config ];
-
-  buildInputs = [ trousers glib dbus_cplusplus dbus protobuf openssl snappy leveldb pam ];
-
-  buildPhase = ''
-    make build
-    '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp ${pname}-${version}/out/chapsd $out/bin/.
-    cp ${pname}-${version}/out/chaps_client $out/bin/.
-
-    mkdir -p $out/lib
-    cp ${pname}-${version}/out/libchaps.so.* $out/lib/.
-    mkdir -p $out/lib/security
-    cp ${pname}-${version}/out/pam_chaps.so $out/lib/security/.
-
-    mkdir -p $out/include
-    cp -r ${pname}-${version}/out/chaps $out/include/.
-
-    mkdir -p $out/etc/dbus-1/system.d
-    cp ${pname}-${version}/out/org.chromium.Chaps.conf $out/etc/dbus-1/system.d/.
-    mkdir -p $out/etc/dbus-1/system-services
-    cp ${pname}-${version}/platform2/chaps/org.chromium.Chaps.service $out/etc/dbus-1/system-services/.
-
-    mkdir -p $out/usr/share/pam-configs/chaps
-    mkdir -p $out/usr/share/man/man8
-    cp ${pname}-${version}/man/* $out/usr/share/man/man8/.
-    '';
-
-  meta = with lib; {
-    description = "PKCS #11 implementation based on trusted platform module (TPM)";
-    homepage = "https://www.chromium.org/developers/design-documents/chaps-technical-design";
-    maintainers = [ maintainers.tstrobel ];
-    platforms = [ "x86_64-linux" ];
-    license = licenses.bsd3;
-    broken = true;  # build failure withn openssl 1.1
-  };
-}
diff --git a/pkgs/tools/security/chaps/fix_absolute_path.patch b/pkgs/tools/security/chaps/fix_absolute_path.patch
deleted file mode 100644
index 7dbd60c73c42a..0000000000000
--- a/pkgs/tools/security/chaps/fix_absolute_path.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/patches/platform2/fix_echo.patch b/patches/platform2/fix_echo.patch
-new file mode 100644
-index 0000000..d2272f6
---- /dev/null
-+++ b/patches/platform2/fix_echo.patch
-@@ -0,0 +1,12 @@
-+diff -uNr platform2/common-mk/common.mk platform2-new/common-mk/common.mk
-+--- platform2/common-mk/common.mk	2015-07-03 12:07:47.482745292 +0200
-++++ platform2-new/common-mk/common.mk	2015-07-03 12:08:16.868600569 +0200
-+@@ -263,7 +263,7 @@
-+ $(eval $(call override_var,STRIP,strip))
-+ 
-+ RMDIR ?= rmdir
-+-ECHO = /bin/echo -e
-++ECHO = echo -e
-+ 
-+ ifeq ($(lastword $(subst /, ,$(CC))),clang)
-+ CDRIVER = clang
diff --git a/pkgs/tools/security/chaps/fix_environment_variables.patch b/pkgs/tools/security/chaps/fix_environment_variables.patch
deleted file mode 100644
index 2d7ee0d9a734b..0000000000000
--- a/pkgs/tools/security/chaps/fix_environment_variables.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff --git a/extrasrc/Makefile b/extrasrc/Makefile
-index fb95845..77125c0 100644
---- a/extrasrc/Makefile
-+++ b/extrasrc/Makefile
-@@ -10,11 +10,11 @@ OUTDIR=$(SRCDIR)/out
- GMOCK_DIR=$(SRCDIR)/gmock-$(GMOCK_VER)
- GTEST_DIR=$(GMOCK_DIR)/gtest
- 
--INCLUDES="-I$(SRCDIR)/include -I$(SRCDIR)/platform2/libchromeos -isystem $(GTEST_DIR)/include -I$(GMOCK_DIR)/include -I$(SRCDIR)/leveldb/include"
-+INCLUDES="-I$(SRCDIR)/include -I$(SRCDIR)/platform2/libchromeos -isystem $(GTEST_DIR)/include -I$(GMOCK_DIR)/include -I$(SRCDIR)/leveldb/include $(NIX_LDFLAG) $(NIX_CFLAGS_COMPILE)"
- 
- # To build Chaps, defer to platform2/chaps/Makefile
- all: libchrome-$(BASE_VER).a libchromeos-$(BASE_VER).a | out
--	cd platform2/chaps && BASE_VER=$(BASE_VER) LINUX_BUILD=1 PKG_CONFIG_PATH=$(SRCDIR) CXXFLAGS=$(INCLUDES) OUT=$(OUTDIR) CHAPS_VERSION_MAJOR=$(CHAPS_VERSION_MAJOR) CHAPS_VERSION_MINOR=$(CHAPS_VERSION_MINOR) $(MAKE)
-+	cd platform2/chaps && BASE_VER=$(BASE_VER) LINUX_BUILD=1 PKG_CONFIG_PATH=$(SRCDIR):$(PKG_CONFIG_PATH) CXXFLAGS=$(INCLUDES) OUT=$(OUTDIR) CHAPS_VERSION_MAJOR=$(CHAPS_VERSION_MAJOR) CHAPS_VERSION_MINOR=$(CHAPS_VERSION_MINOR) $(MAKE)
- 
- # To build required Chromium components, defer to scons file.
- libchrome-$(BASE_VER).a:
-@@ -38,7 +38,7 @@ out/libgmock.a: out/gmock-all.o
- 	ar -rv $@ $<
- 
- test: out/libgtest.a out/libgmock.a libchrome-$(BASE_VER).a libchromeos-$(BASE_VER).a | out
--	cd platform2/chaps && BASE_VER=$(BASE_VER) LINUX_BUILD=1 PKG_CONFIG_PATH=$(SRCDIR) CXXFLAGS=$(INCLUDES) LDLIBS="-L$(OUTDIR)" OUT=$(OUTDIR) $(MAKE) tests
-+	cd platform2/chaps && BASE_VER=$(BASE_VER) LINUX_BUILD=1 PKG_CONFIG_PATH=$(SRCDIR):$(PKG_CONFIG_PATH) CXXFLAGS=$(INCLUDES) LDLIBS="-L$(OUTDIR)" OUT=$(OUTDIR) $(MAKE) tests
- 
- clean: clean_chaps clean_chromeos clean_chromebase clean_gmock clean_debian
- clean_gmock:
-@@ -49,7 +49,7 @@ clean_chromebase:
- clean_chromeos:
- 	-BASE_VER=$(BASE_VER) scons -f Sconstruct.libchromeos -c
- clean_chaps:
--	-cd platform2/chaps && BASE_VER=$(BASE_VER) LINUX_BUILD=1 PKG_CONFIG_PATH=$(SRCDIR) $(MAKE) clean
-+	-cd platform2/chaps && BASE_VER=$(BASE_VER) LINUX_BUILD=1 PKG_CONFIG_PATH=$(SRCDIR):$(PKG_CONFIG_PATH) $(MAKE) clean
- 	rm -rf out
- clean_debian:
- 	dh_clean
-@@ -64,4 +64,4 @@ install_man:
- 	$(INSTALL) -m 0644 -D man/chapsd.8 $(MANDIR)/man8/chapsd.8
- 	$(INSTALL) -m 0644 -D man/chaps_client.8 $(MANDIR)/man8/chaps_client.8
- install: install_man
--	cd platform2/chaps && BASE_VER=$(BASE_VER) LINUX_BUILD=1 PKG_CONFIG_PATH=$(SRCDIR) CXXFLAGS=$(INCLUDES) OUT=$(OUTDIR) CHAPS_VERSION_MAJOR=$(CHAPS_VERSION_MAJOR) CHAPS_VERSION_MINOR=$(CHAPS_VERSION_MINOR) $(MAKE) install_files
-+	cd platform2/chaps && BASE_VER=$(BASE_VER) LINUX_BUILD=1 PKG_CONFIG_PATH=$(SRCDIR):$(PKG_CONFIG_PATH) CXXFLAGS=$(INCLUDES) OUT=$(OUTDIR) CHAPS_VERSION_MAJOR=$(CHAPS_VERSION_MAJOR) CHAPS_VERSION_MINOR=$(CHAPS_VERSION_MINOR) $(MAKE) install_files
diff --git a/pkgs/tools/security/chaps/fix_scons.patch b/pkgs/tools/security/chaps/fix_scons.patch
deleted file mode 100644
index 54843453c8686..0000000000000
--- a/pkgs/tools/security/chaps/fix_scons.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/extrasrc/Sconstruct.libchrome b/extrasrc/Sconstruct.libchrome
-index 4feb76d..311fe8a 100644
---- a/extrasrc/Sconstruct.libchrome
-+++ b/extrasrc/Sconstruct.libchrome
-@@ -103,7 +103,7 @@ base_lib = {
-     'pc_libs' : 'glib-2.0',
- }
- 
--env = Environment()
-+env = Environment(ENV = os.environ)
- 
- BASE_VER = os.environ.get('BASE_VER', '0')
- GTEST_DIR = os.environ.get('GTEST_DIR', '0')
-diff --git a/extrasrc/Sconstruct.libchromeos b/extrasrc/Sconstruct.libchromeos
-index 1da6001..66f9acb 100644
---- a/extrasrc/Sconstruct.libchromeos
-+++ b/extrasrc/Sconstruct.libchromeos
-@@ -18,7 +18,7 @@ base_lib = {
-     'pc_libs' : 'dbus-c++-1',
- }
- 
--env = Environment()
-+env = Environment(ENV = os.environ)
- 
- PKG_CONFIG = os.environ.get('PKG_CONFIG', 'pkg-config')
- BASE_VER = os.environ.get('BASE_VER', '0')
diff --git a/pkgs/tools/security/chaps/insert_prefetches.patch b/pkgs/tools/security/chaps/insert_prefetches.patch
deleted file mode 100644
index 8b8449a6e6616..0000000000000
--- a/pkgs/tools/security/chaps/insert_prefetches.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-diff --git a/makefile b/makefile
-index b6865f3..c14f5ec 100644
---- a/makefile
-+++ b/makefile
-@@ -53,8 +53,8 @@ $(SRCDIR)/include/trousers/scoped_tss_type.h: extrasrc/scoped_tss_type.h | $(SRC
- 	cp $< $@
- # Chromium includes <leveldb/memenv.h>.  This requires an install of libleveldb-dev that has
- # memenv support included; move this into a local leveldb/ subdirectory
--$(SRCDIR)/include/leveldb/memenv.h: /usr/include/leveldb/helpers/memenv.h | $(SRCDIR)/include/leveldb
--	cp $< $@
-+$(SRCDIR)/include/leveldb/memenv.h: $(SRCDIR)/include/leveldb
-+	cp @@NIXOS_LEVELDB@@/include/leveldb/helpers/memenv.h $@
- # Chromium includes <include/testing/gtest/include/gtest/gtest_prod.h>, so have a local copy.
- $(SRCDIR)/include/testing/gtest/include/gtest/gtest_prod.h: extrasrc/gtest_prod.h | $(SRCDIR)/include/testing/gtest/include/gtest
- 	cp $< $@
-@@ -80,7 +80,7 @@ GMOCK_DIR=$(SRCDIR)/gmock-$(GMOCK_VERSION)
- GTEST_DIR=$(GMOCK_DIR)/gtest
- src_gmock: $(GMOCK_DIR)/LICENSE
- $(GMOCK_DIR)/LICENSE: | $(SRCDIR)
--	cd $(SRCDIR) && wget $(GMOCK_URL)
-+	cd $(SRCDIR) && cp @@NIXOS_SRC_GMOCK@@ gmock-$(GMOCK_VERSION).zip && chmod +w gmock-$(GMOCK_VERSION).zip
- 	cd $(SRCDIR) && unzip -q gmock-$(GMOCK_VERSION).zip
- 	rm $(SRCDIR)/gmock-$(GMOCK_VERSION).zip
- 	touch $@
-@@ -107,8 +107,7 @@ src_chromebase: $(SRCDIR)/base/base64.h
- $(SRCDIR)/base: | $(SRCDIR)
- 	mkdir -p $@
- $(SRCDIR)/base/base64.h: | $(SRCDIR)/base
--	git clone $(CHROMEBASE_GIT) $(SRCDIR)/base
--	cd $(SRCDIR)/base && git checkout $(CHROMEBASE_COMMIT)
-+	cp -r @@NIXOS_SRC_CHROMEBASE@@/. $(SRCDIR)/base && chmod -R +w $(SRCDIR)/base
- 
- # We need two subdirectories from the platform2 repository from ChromiumOS:
- #   - chaps/ for the Chaps source code
-@@ -119,14 +118,8 @@ $(SRCDIR)/platform2:
- PLATFORM2_GIT=https://chromium.googlesource.com/chromiumos/platform2
- PATCHES=$(wildcard $(CURDIR)/patches/platform2/*.patch)
- $(SRCDIR)/platform2/chaps/Makefile: | $(SRCDIR)/platform2
--	cd $(SRCDIR)/platform2 && git init . && git remote add -f origin $(PLATFORM2_GIT)
--	cd $(SRCDIR)/platform2 && git config core.sparsecheckout true
--	cd $(SRCDIR)/platform2 && echo "chaps" > .git/info/sparse-checkout
--	cd $(SRCDIR)/platform2 && echo "libchromeos/chromeos" >> .git/info/sparse-checkout
--	cd $(SRCDIR)/platform2 && echo "common-mk/common.mk" >> .git/info/sparse-checkout
--	cd $(SRCDIR)/platform2 && git pull origin master
--	cd $(SRCDIR)/platform2 && git checkout $(CROS_BRANCH)
--	cd $(SRCDIR)/platform2 && if [ ! -z "$(PATCHES)" ]; then git am $(PATCHES); fi
-+	cd $(SRCDIR)/platform2 && cp -r @@NIXOS_SRC_PLATFORM2@@/. . && chmod -R +w $(SRCDIR)/platform2
-+	cd $(SRCDIR)/platform2 && if [ ! -z "$(PATCHES)" ]; then patch -p1 < $(PATCHES); fi
- 
- 
- # Copy man pages
diff --git a/pkgs/tools/security/cipherscan/default.nix b/pkgs/tools/security/cipherscan/default.nix
deleted file mode 100644
index 23022f92b6afd..0000000000000
--- a/pkgs/tools/security/cipherscan/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ stdenv, lib, fetchFromGitHub, openssl, makeWrapper, python3, coreutils }:
-
-stdenv.mkDerivation rec {
-  pname = "cipherscan";
-  version = "2016-08-16";
-
-  src = fetchFromGitHub {
-    owner = "mozilla";
-    repo = "cipherscan";
-    rev = "74dd82e8ad994a140daf79489d3bd1c5ad928d38";
-    sha256 = "16azhlmairnvdz7xmwgvfpn2pzw1p8z7c9b27m07fngqjkpx0mhh";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ python3 ];
-
-  strictDeps = true;
-
-  buildPhase = ''
-    substituteInPlace cipherscan --replace '$0' 'cipherscan'
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-
-    cp cipherscan $out/bin
-    cp openssl.cnf $out/bin
-    cp analyze.py $out/bin/cipherscan-analyze
-
-    wrapProgram $out/bin/cipherscan \
-      --set NOAUTODETECT 1 \
-      --set TIMEOUTBIN "${coreutils}/bin/timeout" \
-      --set OPENSSLBIN "${openssl}/bin/openssl"
-  '';
-
-  meta = with lib; {
-    inherit (src.meta) homepage;
-    description = "Very simple way to find out which SSL ciphersuites are supported by a target";
-    license = licenses.mpl20;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ cstrahan fpletz ];
-  };
-}
diff --git a/pkgs/tools/security/crackxls/default.nix b/pkgs/tools/security/crackxls/default.nix
index 748bfdcb2cad3..456ea0890cac6 100644
--- a/pkgs/tools/security/crackxls/default.nix
+++ b/pkgs/tools/security/crackxls/default.nix
@@ -12,8 +12,8 @@ stdenv.mkDerivation rec {
     sha256 = "0q5jl7hcds3f0rhly3iy4fhhbyh9cdrfaw7zdrazzf1wswwhyssz";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ autoconf automake openssl libgsf gmp ];
+  nativeBuildInputs = [ pkg-config autoconf automake ];
+  buildInputs = [ openssl libgsf gmp ];
 
   installPhase =
   ''
diff --git a/pkgs/tools/security/cryptomator/default.nix b/pkgs/tools/security/cryptomator/default.nix
index ec18a5ed10ce4..05e9f1ef384af 100644
--- a/pkgs/tools/security/cryptomator/default.nix
+++ b/pkgs/tools/security/cryptomator/default.nix
@@ -1,25 +1,18 @@
 { lib, stdenv, fetchFromGitHub
 , autoPatchelfHook
-, fuse, packer
+, fuse, jffi
 , maven, jdk, jre, makeWrapper, glib, wrapGAppsHook
 }:
 
 let
   pname = "cryptomator";
-  version = "1.5.15";
+  version = "1.6.7";
 
   src = fetchFromGitHub {
     owner = "cryptomator";
     repo = "cryptomator";
     rev = version;
-    sha256 = "06n7wda7gfalvsg1rlcm51ss73nlbhh95z6zq18yvn040clkzkij";
-  };
-
-  icons = fetchFromGitHub {
-    owner = "cryptomator";
-    repo = "cryptomator-linux";
-    rev = version;
-    sha256 = "1sqbx858zglv0xkpjya0cpbkxf2hkj1xvxhnir3176y2xyjv6aib";
+    sha256 = "sha256-hOILOdVYBnS9XuEXaIJcf2bPF72Lcr7IBX4CFCIsC8k=";
   };
 
   # perform fake build to make a fixed-output derivation out of the files downloaded from maven central (120MB)
@@ -28,10 +21,10 @@ let
     inherit src;
 
     nativeBuildInputs = [ jdk maven ];
+    buildInputs = [ jre ];
 
     buildPhase = ''
-      cd main
-      while mvn -Prelease package -Dmaven.repo.local=$out/.m2 -Dmaven.wagon.rto=5000; [ $? = 1 ]; do
+      while mvn -Plinux package -Dmaven.test.skip=true -Dmaven.repo.local=$out/.m2 -Dmaven.wagon.rto=5000; [ $? = 1 ]; do
         echo "timeout, restart maven to continue downloading"
       done
     '';
@@ -44,42 +37,52 @@ let
 
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "195ysv9l861y9d1lvmvi7wmk172ynlba9n233blpaigq88cjn208";
+    outputHash = "sha256-XFqXjNjPN2vwA3jay7TS79S4FHksjjrODdD/p4oTvpg=";
+
+    doCheck = false;
   };
 
 in stdenv.mkDerivation rec {
   inherit pname version src;
 
   buildPhase = ''
-    cd main
-    mvn -Prelease package --offline -Dmaven.repo.local=$(cp -dpR ${deps}/.m2 ./ && chmod +w -R .m2 && pwd)/.m2
+    mvn -Plinux package --offline -Dmaven.test.skip=true -Dmaven.repo.local=$(cp -dpR ${deps}/.m2 ./ && chmod +w -R .m2 && pwd)/.m2
   '';
 
   installPhase = ''
-    mkdir -p $out/bin/ $out/usr/share/cryptomator/libs/
+    mkdir -p $out/bin/ $out/share/cryptomator/libs/ $out/share/cryptomator/mods/
+
+    cp target/libs/* $out/share/cryptomator/libs/
+    cp target/mods/* target/cryptomator-*.jar $out/share/cryptomator/mods/
 
-    cp buildkit/target/libs/* buildkit/target/linux-libs/* $out/usr/share/cryptomator/libs/
+    # The bundeled jffi.so dosn't work on nixos and causes a segmentation fault
+    # we thus replace it with a version build by nixos
+    rm $out/share/cryptomator/libs/jff*.jar
+    cp -f ${jffi}/share/java/jffi-complete.jar $out/share/cryptomator/libs/
 
     makeWrapper ${jre}/bin/java $out/bin/cryptomator \
-      --add-flags "-classpath '$out/usr/share/cryptomator/libs/*'" \
+      --add-flags "--class-path '$out/share/cryptomator/libs/*'" \
+      --add-flags "--module-path '$out/share/cryptomator/mods'" \
       --add-flags "-Dcryptomator.settingsPath='~/.config/Cryptomator/settings.json'" \
-      --add-flags "-Dcryptomator.ipcPortPath='~/.config/Cryptomator/ipcPort.bin'" \
+      --add-flags "-Dcryptomator.ipcSocketPath='~/.config/Cryptomator/ipc.socket'" \
       --add-flags "-Dcryptomator.logDir='~/.local/share/Cryptomator/logs'" \
       --add-flags "-Dcryptomator.mountPointsDir='~/.local/share/Cryptomator/mnt'" \
       --add-flags "-Djdk.gtk.version=3" \
       --add-flags "-Xss20m" \
       --add-flags "-Xmx512m" \
-      --add-flags "org.cryptomator.launcher.Cryptomator" \
-      --prefix PATH : "$out/usr/share/cryptomator/libs/:${lib.makeBinPath [ jre glib ]}" \
+      --add-flags "-Djavafx.embed.singleThread=true " \
+      --add-flags "-Dawt.useSystemAAFontSettings=on" \
+      --add-flags "--module org.cryptomator.desktop/org.cryptomator.launcher.Cryptomator" \
+      --prefix PATH : "$out/share/cryptomator/libs/:${lib.makeBinPath [ jre glib ]}" \
       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ fuse ]}" \
       --set JAVA_HOME "${jre.home}"
 
     # install desktop entry and icons
-    cp -r ${icons}/resources/appimage/AppDir/usr/* $out/
+    cp -r ${src}/dist/linux/appimage/resources/AppDir/usr/* $out/
   '';
 
   nativeBuildInputs = [ autoPatchelfHook maven makeWrapper wrapGAppsHook jdk ];
-  buildInputs = [ fuse packer jre glib ];
+  buildInputs = [ fuse jre glib jffi ];
 
   meta = with lib; {
     description = "Free client-side encryption for your cloud files";
diff --git a/pkgs/tools/security/eid-mw/default.nix b/pkgs/tools/security/eid-mw/default.nix
index 925931e6a3e38..e05f96ef4be7c 100644
--- a/pkgs/tools/security/eid-mw/default.nix
+++ b/pkgs/tools/security/eid-mw/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ curl gtk3 libassuan libbsd libproxy libxml2 openssl p11-kit pcsclite ];
   preConfigure = ''
     mkdir openssl
-    ln -s ${openssl.out}/lib openssl
+    ln -s ${lib.getLib openssl}/lib openssl
     ln -s ${openssl.bin}/bin openssl
     ln -s ${openssl.dev}/include openssl
     export SSL_PREFIX=$(realpath openssl)
diff --git a/pkgs/tools/security/evil-winrm/Gemfile b/pkgs/tools/security/evil-winrm/Gemfile
new file mode 100644
index 0000000000000..ebdf6f575a052
--- /dev/null
+++ b/pkgs/tools/security/evil-winrm/Gemfile
@@ -0,0 +1,7 @@
+source 'https://rubygems.org'
+
+gem 'winrm'
+gem 'winrm-fs'
+gem 'stringio'
+gem 'logger'
+gem 'fileutils'
diff --git a/pkgs/tools/security/evil-winrm/Gemfile.lock b/pkgs/tools/security/evil-winrm/Gemfile.lock
new file mode 100644
index 0000000000000..8b442f035590d
--- /dev/null
+++ b/pkgs/tools/security/evil-winrm/Gemfile.lock
@@ -0,0 +1,51 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    builder (3.2.3)
+    erubis (2.7.0)
+    ffi (1.11.1)
+    fileutils (0.7.2)
+    gssapi (1.3.0)
+      ffi (>= 1.0.1)
+    gyoku (1.3.1)
+      builder (>= 2.1.2)
+    httpclient (2.8.3)
+    little-plugger (1.1.4)
+    logger (1.4.3)
+    logging (2.2.2)
+      little-plugger (~> 1.1)
+      multi_json (~> 1.10)
+    multi_json (1.14.1)
+    nori (2.6.0)
+    rexml (3.2.5)
+    rubyntlm (0.6.2)
+    rubyzip (1.3.0)
+    stringio (0.0.2)
+    winrm (2.3.2)
+      builder (>= 2.1.2)
+      erubis (~> 2.7)
+      gssapi (~> 1.2)
+      gyoku (~> 1.0)
+      httpclient (~> 2.2, >= 2.2.0.2)
+      logging (>= 1.6.1, < 3.0)
+      nori (~> 2.0)
+      rexml (>= 3.2.3.1)
+      rubyntlm (~> 0.6.0, >= 0.6.1)
+    winrm-fs (1.3.2)
+      erubis (~> 2.7)
+      logging (>= 1.6.1, < 3.0)
+      rubyzip (~> 1.1)
+      winrm (~> 2.0)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  fileutils
+  logger
+  stringio
+  winrm
+  winrm-fs
+
+BUNDLED WITH
+   2.2.24
diff --git a/pkgs/tools/security/evil-winrm/default.nix b/pkgs/tools/security/evil-winrm/default.nix
new file mode 100644
index 0000000000000..fe10bfaefec0e
--- /dev/null
+++ b/pkgs/tools/security/evil-winrm/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, lib, fetchFromGitHub, makeWrapper, bundlerEnv }:
+
+stdenv.mkDerivation rec {
+  pname = "evil-winrm";
+  version = "3.3";
+
+  src = fetchFromGitHub {
+    owner = "Hackplayers";
+    repo = "evil-winrm";
+    rev = "v${version}";
+    sha256 = "sha256-uWhRkq7I/XRWSUpR8lWRhDImE6x0pX9/B3gKhRIhkf8=";
+  };
+
+  env = bundlerEnv {
+    name = pname;
+    gemfile = ./Gemfile;
+    lockfile = ./Gemfile.lock;
+    gemset = ./gemset.nix;
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ env.wrappedRuby ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp evil-winrm.rb $out/bin/evil-winrm
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/Hackplayers/evil-winrm";
+    changelog = "https://github.com/Hackplayers/evil-winrm/releases/tag/v${version}";
+    description = "WinRM shell for hacking/pentesting";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ elohmeier ];
+  };
+}
diff --git a/pkgs/tools/security/evil-winrm/gemset.nix b/pkgs/tools/security/evil-winrm/gemset.nix
new file mode 100644
index 0000000000000..19e4e1cc862e5
--- /dev/null
+++ b/pkgs/tools/security/evil-winrm/gemset.nix
@@ -0,0 +1,187 @@
+{
+  builder = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0qibi5s67lpdv1wgcj66wcymcr04q6j4mzws6a479n0mlrmh5wr1";
+      type = "gem";
+    };
+    version = "3.2.3";
+  };
+  erubis = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fj827xqjs91yqsydf0zmfyw9p4l2jz5yikg3mppz6d7fi8kyrb3";
+      type = "gem";
+    };
+    version = "2.7.0";
+  };
+  ffi = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
+      type = "gem";
+    };
+    version = "1.11.1";
+  };
+  fileutils = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "173z4dsqp9khcsl7x93dq1qj9d7rd378a7yfg53b1s6mczlkvh2k";
+      type = "gem";
+    };
+    version = "0.7.2";
+  };
+  gssapi = {
+    dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "13l6pqbfrx3vv7cw26nq9p8rnyp9br31gaz85q32wx6hnzfcriwh";
+      type = "gem";
+    };
+    version = "1.3.0";
+  };
+  gyoku = {
+    dependencies = ["builder"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1wn0sl14396g5lyvp8sjmcb1hw9rbyi89gxng91r7w4df4jwiidh";
+      type = "gem";
+    };
+    version = "1.3.1";
+  };
+  httpclient = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "19mxmvghp7ki3klsxwrlwr431li7hm1lczhhj8z4qihl2acy8l99";
+      type = "gem";
+    };
+    version = "2.8.3";
+  };
+  little-plugger = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym";
+      type = "gem";
+    };
+    version = "1.1.4";
+  };
+  logger = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ihvvl2im9qii31d42c9kfscdg2flfqajs6ycbpslznclmfc71gc";
+      type = "gem";
+    };
+    version = "1.4.3";
+  };
+  logging = {
+    dependencies = ["little-plugger" "multi_json"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06j6iaj89h9jhkx1x3hlswqrfnqds8br05xb1qra69dpvbdmjcwn";
+      type = "gem";
+    };
+    version = "2.2.2";
+  };
+  multi_json = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xy54mjf7xg41l8qrg1bqri75agdqmxap9z466fjismc1rn2jwfr";
+      type = "gem";
+    };
+    version = "1.14.1";
+  };
+  nori = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "066wc774a2zp4vrq3k7k8p0fhv30ymqmxma1jj7yg5735zls8agn";
+      type = "gem";
+    };
+    version = "2.6.0";
+  };
+  rexml = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
+      type = "gem";
+    };
+    version = "3.2.5";
+  };
+  rubyntlm = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1p6bxsklkbcqni4bcq6jajc2n57g0w5rzn4r49c3lb04wz5xg0dy";
+      type = "gem";
+    };
+    version = "0.6.2";
+  };
+  rubyzip = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1qxc2zxwwipm6kviiar4gfhcakpx1jdcs89v6lvzivn5hq1xk78l";
+      type = "gem";
+    };
+    version = "1.3.0";
+  };
+  stringio = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1hj8awh547kf6a7vgs565xh8hicffd0brb2a96jna5lr3a2fvmj8";
+      type = "gem";
+    };
+    version = "0.0.2";
+  };
+  winrm = {
+    dependencies = ["builder" "erubis" "gssapi" "gyoku" "httpclient" "logging" "nori" "rexml" "rubyntlm"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "19vxrclxc5l8n2agwvv291740s6gna2phg3lkybjb0ldkmpi3sj2";
+      type = "gem";
+    };
+    version = "2.3.2";
+  };
+  winrm-fs = {
+    dependencies = ["erubis" "logging" "rubyzip" "winrm"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0fy4yj52kssrm5hchq7l2mbry6w6yvi736p1wjpyv8m19rx7k0c3";
+      type = "gem";
+    };
+    version = "1.3.2";
+  };
+}
diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix
index 9df04ca062743..cfb1490e3c7fa 100644
--- a/pkgs/tools/security/exploitdb/default.nix
+++ b/pkgs/tools/security/exploitdb/default.nix
@@ -2,14 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2022-03-22";
+  version = "2022-03-31";
 
   src = fetchFromGitHub {
     owner = "offensive-security";
     repo = pname;
     rev = version;
-    sha256 = "sha256-2V6levydKfYtpctgcyBuLES0OujWi8eqlB3x/YoOyHY=";
-
+    sha256 = "sha256-T7vPDbB330Uv276+oGnEYK1xGpJCMzzZiQXx4uW1kc4=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/ffuf/default.nix b/pkgs/tools/security/ffuf/default.nix
index 076fd78d71362..a3600b89694c7 100644
--- a/pkgs/tools/security/ffuf/default.nix
+++ b/pkgs/tools/security/ffuf/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "ffuf";
-  version = "1.3.1";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-NkRf36wFmzqFv13P0DxpzEOGyBGbSXMLjWE7URzRXGY=";
+    sha256 = "sha256-m+L78fVsqntD7JfgWS9foUJUhIVr+CtJ6K8etsLuNzw=";
   };
 
   vendorSha256 = "sha256-szT08rIozAuliOmge5RFX4NeVrJ2pCVyfotrHuvc0UU=";
diff --git a/pkgs/tools/security/gnupg/1.nix b/pkgs/tools/security/gnupg/1.nix
index 8fc5dce7ba049..b7bc395cc0a7b 100644
--- a/pkgs/tools/security/gnupg/1.nix
+++ b/pkgs/tools/security/gnupg/1.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
       available.
     '';
     platforms = platforms.all;
+    mainProgram = "gpg";
   };
 }
diff --git a/pkgs/tools/security/gnupg/23.nix b/pkgs/tools/security/gnupg/23.nix
index e80804cd002fc..d9ad2d0a276fc 100644
--- a/pkgs/tools/security/gnupg/23.nix
+++ b/pkgs/tools/security/gnupg/23.nix
@@ -93,5 +93,6 @@ stdenv.mkDerivation rec {
     '';
     maintainers = with maintainers; [ fpletz vrthra ];
     platforms = platforms.all;
+    mainProgram = "gpg";
   };
 }
diff --git a/pkgs/tools/security/gopass/default.nix b/pkgs/tools/security/gopass/default.nix
index 50dfe3b8ce63e..ee70413591d4d 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.13.1";
+  version = "1.14.0";
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
@@ -21,10 +21,10 @@ buildGoModule rec {
     owner = "gopasspw";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-g/ICT489uW3a5EnsxJPYOnV+yeOFfaFPMowdIK0M1Fc=";
+    sha256 = "sha256-swvZrsRuevBe8lVg67J0R9u3GB/Wc2ZR54Y6j1Bsa3E=";
   };
 
-  vendorSha256 = "sha256-HGc6jUp4WO5P5dwfa0r7+X78a8us9fWrf+/IOotZHqk=";
+  vendorSha256 = "sha256-Fq9jEJm65efBL5ShcB/XCM70UVDO/8STbbTOOHXrpSk=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/security/grype/default.nix b/pkgs/tools/security/grype/default.nix
index d59767e4bed53..3e3dc6ff098a5 100644
--- a/pkgs/tools/security/grype/default.nix
+++ b/pkgs/tools/security/grype/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "grype";
-  version = "0.34.6";
+  version = "0.34.7";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-3+6ZhAlEOKrgvAXzgOY0q+R/4dbN+qk4Nxuj1IBntzo=";
+    sha256 = "sha256-t95efLTqPnmYiXTBxuxEoDdafoZC/bXXTfKdA8gy3fk=";
     # 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;
@@ -25,7 +25,7 @@ buildGoModule rec {
     '';
   };
 
-  vendorSha256 = "sha256-u11SKoybGobfxsjLq9mYFzZWw01Dms5RyKxmZA47XqI=";
+  vendorSha256 = "sha256-FZMgS0aNZVq4nvwog4l62dOzC6wW7pQCNbOW1/jssWo=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/tools/security/kubeaudit/default.nix b/pkgs/tools/security/kubeaudit/default.nix
index 76cf9f65c36c6..1f512e5f0a572 100644
--- a/pkgs/tools/security/kubeaudit/default.nix
+++ b/pkgs/tools/security/kubeaudit/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "kubeaudit";
-  version = "0.16.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "Shopify";
     repo = pname;
     rev = version;
-    sha256 = "sha256-AIvH9HF0Ha1b+NZiJmiT6beYuKnCqJMXKzDFUzV9J4c=";
+    sha256 = "sha256-aMnhEY16SybE5Oavc6stw7xoyNblCwFJpzYHsDBENX4=";
   };
 
-  vendorSha256 = "sha256-XrEzkhQU/KPElQNgCX6yWDMQXZSd3lRXmUDJpsj5ACY=";
+  vendorSha256 = "sha256-plsnzeRIaJNNzrkzQYtxOqWejTDntPRemIhcfpxXgBg=";
 
   postInstall = ''
     mv $out/bin/cmd $out/bin/$pname
diff --git a/pkgs/tools/security/kubescape/default.nix b/pkgs/tools/security/kubescape/default.nix
index e881fad4a929e..377327e6571c9 100644
--- a/pkgs/tools/security/kubescape/default.nix
+++ b/pkgs/tools/security/kubescape/default.nix
@@ -6,37 +6,48 @@
 
 buildGoModule rec {
   pname = "kubescape";
-  version = "2.0.149";
+  version = "2.0.150";
 
   src = fetchFromGitHub {
     owner = "armosec";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-m6tJjC5BXxFC+bSOHbKXXGZQlJIM0+fIA+JYWBntgk8=";
+    hash = "sha256-1D/ixtZI7/H05MD6zRtZCF8yhW1FhvRpdPWieAPwxHs=";
   };
 
   nativeBuildInputs = [
     installShellFiles
   ];
 
-  vendorSha256 = "sha256-vplHaaT7x0ZSpvityJF5aGKDARvGPBT9DMltOpUkOMo=";
+  modRoot = "cmd";
+  vendorSha256 = "sha256-Nznf793OMQ7ZCWb5voVcLyMiBa1Z8Dswp7Tdn1AzlJA=";
 
   ldflags = [
     "-s"
     "-w"
-    "-X github.com/armosec/kubescape/clihandler/cmd.BuildNumber=v${version}"
+    "-X github.com/armosec/kubescape/core/cautils.BuildNumber=v${version}"
   ];
 
+  postBuild = ''
+    # kubescape/cmd should be called kubescape
+    mv $GOPATH/bin/{cmd,kubescape}
+  '';
+
   postInstall = ''
-    # Running kubescape to generate completions outputs error warnings
-    # but does not crash and completes successfully
-    # https://github.com/armosec/kubescape/issues/200
     installShellCompletion --cmd kubescape \
       --bash <($out/bin/kubescape completion bash) \
       --fish <($out/bin/kubescape completion fish) \
       --zsh <($out/bin/kubescape completion zsh)
   '';
 
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    $out/bin/kubescape --help
+    $out/bin/kubescape --version | grep "v${version}"
+    runHook postInstallCheck
+  '';
+
   meta = with lib; {
     description = "Tool for testing if Kubernetes is deployed securely";
     homepage = "https://github.com/armosec/kubescape";
diff --git a/pkgs/tools/security/logkeys/default.nix b/pkgs/tools/security/logkeys/default.nix
index 7cd6b5fd194b9..a0c6e0a5f6286 100644
--- a/pkgs/tools/security/logkeys/default.nix
+++ b/pkgs/tools/security/logkeys/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation {
     sha256 = "1k6kj0913imwh53lh6hrhqmrpygqg2h462raafjsn7gbd3vkgx8n";
   };
 
-  buildInputs = [ autoconf automake which procps kbd ];
+  nativeBuildInputs = [ autoconf automake ];
+  buildInputs = [ which procps kbd ];
 
   postPatch = ''
     substituteInPlace src/Makefile.am --replace 'root' '$(id -u)'
diff --git a/pkgs/tools/security/melt/default.nix b/pkgs/tools/security/melt/default.nix
new file mode 100644
index 0000000000000..846b70b875384
--- /dev/null
+++ b/pkgs/tools/security/melt/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "melt";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "charmbracelet";
+    repo = "melt";
+    rev = "v${version}";
+    sha256 = "sha256-HambmUodAwgi1/r/Nj7P7gXNK5pyBO3omMZ9ZvSK7cc=4";
+  };
+
+  vendorSha256 = "sha256-1f3QBbWaTiplEp/4ihds1PwrEnoq/81TzlT46TufGFs=";
+
+  ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];
+
+  meta = with lib; {
+    description = "Backup and restore Ed25519 SSH keys with seed words";
+    homepage = "https://github.com/charmbracelet/melt";
+    changelog = "https://github.com/charmbracelet/melt/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ penguwin ];
+  };
+}
diff --git a/pkgs/tools/security/meo/default.nix b/pkgs/tools/security/meo/default.nix
deleted file mode 100644
index 491bef3e0543f..0000000000000
--- a/pkgs/tools/security/meo/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib, stdenv, fetchhg, openssl, pcre-cpp, qt4, boost, pkcs11helper }:
-
-stdenv.mkDerivation {
-  pname = "meo";
-  version = "unstable-2012-11-13";
-
-  src = fetchhg {
-    url = "http://oss.stamfest.net/hg/meo";
-    rev = "b48e5f16cff8";
-    sha256 = "0ifg7y28s89i9gwda6fyj1jbrykbcvq8bf1m6rxmdcv5afi3arbq";
-  };
-
-  buildFlags = [ "QMAKE=qmake" ];
-
-  buildInputs = [ openssl pcre-cpp qt4 boost pkcs11helper ];
-
-  preConfigure = ''
-    sed -i s,-mt$,, meo-gui/meo-gui.pro
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp tools/{meo,p11} $out/bin
-    cp meo-gui/meo-gui $out/bin
-    cp meo-gui/meo-gui $out/bin
-  '';
-
-  meta = with lib; {
-    homepage = "http://oss.stamfest.net/wordpress/meo-multiple-eyepairs-only";
-    description = "Tools to use cryptography for things like four-eyes principles";
-    license = licenses.agpl3Plus;
-    maintainers = with maintainers; [ viric ];
-    platforms = platforms.linux;
-    broken = true;
-  };
-}
diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile
index 90c0d3987cd21..4c1ad65ed7a31 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.1.34"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.1.36"
diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock
index 080eefa6e2b77..8ebeadbdfb08e 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: e1ab1599c07319d2732645b003c038ffa4dad7cd
-  ref: refs/tags/6.1.34
+  revision: b3ad212ba393cc87bb9e621dbad9d04362f1151c
+  ref: refs/tags/6.1.36
   specs:
-    metasploit-framework (6.1.34)
+    metasploit-framework (6.1.36)
       actionpack (~> 6.0)
       activerecord (~> 6.0)
       activesupport (~> 6.0)
@@ -128,13 +128,13 @@ GEM
     arel-helpers (2.14.0)
       activerecord (>= 3.1.0, < 8)
     aws-eventstream (1.2.0)
-    aws-partitions (1.568.0)
+    aws-partitions (1.573.0)
     aws-sdk-core (3.130.0)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.525.0)
       aws-sigv4 (~> 1.1)
       jmespath (~> 1.0)
-    aws-sdk-ec2 (1.303.0)
+    aws-sdk-ec2 (1.305.0)
       aws-sdk-core (~> 3, >= 3.127.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-iam (1.68.0)
@@ -205,8 +205,9 @@ GEM
     filesize (0.2.0)
     gssapi (1.3.1)
       ffi (>= 1.0.1)
-    gyoku (1.3.1)
+    gyoku (1.4.0)
       builder (>= 2.1.2)
+      rexml (~> 3.0)
     hashery (2.1.2)
     hrr_rb_ssh (0.4.2)
     hrr_rb_ssh-ed25519 (0.4.2)
@@ -229,7 +230,7 @@ GEM
     logging (2.3.0)
       little-plugger (~> 1.1)
       multi_json (~> 1.14)
-    loofah (2.15.0)
+    loofah (2.16.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     metasm (1.0.5)
@@ -298,9 +299,9 @@ GEM
       hashery (~> 2.0)
       ruby-rc4
       ttfunk
-    pg (1.3.4)
+    pg (1.3.5)
     public_suffix (4.0.6)
-    puma (5.6.2)
+    puma (5.6.4)
       nio4r (~> 2.0)
     racc (1.6.0)
     rack (2.2.3)
@@ -321,7 +322,7 @@ GEM
       thor (~> 1.0)
     rake (13.0.6)
     rb-readline (0.5.5)
-    recog (2.3.22)
+    recog (2.3.23)
       nokogiri
     redcarpet (3.5.1)
     reline (0.2.5)
@@ -334,7 +335,7 @@ GEM
       rex-core
       rex-struct2
       rex-text
-    rex-core (0.1.26)
+    rex-core (0.1.27)
     rex-encoder (0.1.6)
       metasm
       rex-arch
@@ -379,12 +380,12 @@ GEM
     ruby-macho (3.0.0)
     ruby-rc4 (0.1.5)
     ruby2_keywords (0.0.5)
-    ruby_smb (3.0.5)
+    ruby_smb (3.0.6)
       bindata
       openssl-ccm
       openssl-cmac
       rubyntlm
-      windows_error (>= 0.1.3)
+      windows_error (>= 0.1.4)
     rubyntlm (0.6.3)
     rubyzip (2.3.2)
     sawyer (0.8.2)
@@ -422,7 +423,7 @@ GEM
       websocket-extensions (>= 0.1.0)
     websocket-extensions (0.1.5)
     win32api (0.1.0)
-    windows_error (0.1.3)
+    windows_error (0.1.4)
     winrm (2.3.6)
       builder (>= 2.1.2)
       erubi (~> 1.8)
diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix
index 99d801482afb3..97948171bf5ca 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.1.34";
+  version = "6.1.36";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = version;
-    sha256 = "sha256-6rGELJYmddWoR6qIuXKoCT5RpMASIzssWG9Y0Xtx+Z8=";
+    sha256 = "sha256-j90/ygZpwdMb0KL1bJPHpysokC3BoN/kUK/dsBo6HsU=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix
index 0d0271cca4bc3..40c1d05ae29e4 100644
--- a/pkgs/tools/security/metasploit/gemset.nix
+++ b/pkgs/tools/security/metasploit/gemset.nix
@@ -104,10 +104,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ap27g6hxcczpb5dj7v0wzxrvywfa2kf3zx69xnjz1qvxf3plw54";
+      sha256 = "162x55is7jfdy6cf1xw2llbrxcnk5gv3dsqfmi1klf6c2xfm87gm";
       type = "gem";
     };
-    version = "1.568.0";
+    version = "1.573.0";
   };
   aws-sdk-core = {
     groups = ["default"];
@@ -124,10 +124,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12k3gjsagdb11crg2gx7373qn1zhglkkija9d6558v0slcza8m3j";
+      sha256 = "1dpid33sl72nsxyr7d57yqzqb9jby0dyjc0ncncdm41is7d25vki";
       type = "gem";
     };
-    version = "1.303.0";
+    version = "1.305.0";
   };
   aws-sdk-iam = {
     groups = ["default"];
@@ -494,10 +494,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wn0sl14396g5lyvp8sjmcb1hw9rbyi89gxng91r7w4df4jwiidh";
+      sha256 = "1kd2q59xpm39hpvmmvyi6g3f1fr05xjbnxwkrdqz4xy7hirqi79q";
       type = "gem";
     };
-    version = "1.3.1";
+    version = "1.4.0";
   };
   hashery = {
     groups = ["default"];
@@ -644,10 +644,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yp1h1j7pdkqvnx8jl6bkzlajav3h5mhqzihgs9p6y3c8927mw23";
+      sha256 = "15s6z5bvhdhnqv4wg8zcz3mhbc7i4dbqskv5jvhprz33ak7682km";
       type = "gem";
     };
-    version = "2.15.0";
+    version = "2.16.0";
   };
   metasm = {
     groups = ["default"];
@@ -684,12 +684,12 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "e1ab1599c07319d2732645b003c038ffa4dad7cd";
-      sha256 = "17zrf5xx2n3gb0n3n8qjq2j52gh9m1rbk25a8yldax96jqn89cga";
+      rev = "b3ad212ba393cc87bb9e621dbad9d04362f1151c";
+      sha256 = "1i8y78db1pdga3jdz8615n82hax7qy9nrxd2s0dx7hb90v53zpcg";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.1.34";
+    version = "6.1.36";
   };
   metasploit-model = {
     groups = ["default"];
@@ -977,10 +977,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "090c3kazlmiizp25las7dgi8wlc11s29nrs2gy3qrp1z8qikgcmb";
+      sha256 = "10ryzmc3r5ja6g90a9ycsxcxsy5872xa1vf01jam0bm74zq3zmi6";
       type = "gem";
     };
-    version = "1.3.4";
+    version = "1.3.5";
   };
   public_suffix = {
     groups = ["default"];
@@ -997,10 +997,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1np2myaxlk5iab1zarwgmp7zsjvm5j8ssg35ijv8b6dpvc3cjd56";
+      sha256 = "0dgr2rybayih2naz3658mbzqwfrg9fxl80zsvhscf6b972kp3jdw";
       type = "gem";
     };
-    version = "5.6.2";
+    version = "5.6.4";
   };
   racc = {
     groups = ["default"];
@@ -1097,10 +1097,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ml58i34gjpgmpl392c77v2n50w2w233gwxgy6cxq81bp58ywj92";
+      sha256 = "0axq8hw515b8hbv1jm4lbrqnjm5bvjjnj7xbx9pvp17zlklvsfzb";
       type = "gem";
     };
-    version = "2.3.22";
+    version = "2.3.23";
   };
   redcarpet = {
     groups = ["default"];
@@ -1147,10 +1147,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hjc70q6wb580k0jk4g4s9aqwd25l48kr0pcyjjs2ffax0zcm4d0";
+      sha256 = "0a5fb8g6ksak1g1syhvh5rh87shnx617l7nl6afl80in0h4fd4xd";
       type = "gem";
     };
-    version = "0.1.26";
+    version = "0.1.27";
   };
   rex-encoder = {
     groups = ["default"];
@@ -1357,10 +1357,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zgw3aplb0nd8ggyy2csywvnw7gdligzdqvw18j7s5yix8g2h4cz";
+      sha256 = "1mxm2948xz9pfl2jhngvjw89arvm9qznrf86pbqi8hi7cxfr4grk";
       type = "gem";
     };
-    version = "3.0.5";
+    version = "3.0.6";
   };
   rubyntlm = {
     groups = ["default"];
@@ -1587,10 +1587,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dy35rfdmj6pfhdicix1kcgpj5y7844a43i6bnklngn7b1wmy3av";
+      sha256 = "0zmm2if81ia33hp18h8yrgnpgcdyrxziyf185r0zx8qy7n8mlchl";
       type = "gem";
     };
-    version = "0.1.3";
+    version = "0.1.4";
   };
   winrm = {
     groups = ["default"];
diff --git a/pkgs/tools/security/naabu/default.nix b/pkgs/tools/security/naabu/default.nix
index 5acd0a93ac226..a9a6fe29e1317 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.5";
+  version = "2.0.6";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "naabu";
     rev = "v${version}";
-    sha256 = "0kbpfb1ryfqy8a54ksm7zm8pqy8f4adh06jc1ccpdxks3k0rygid";
+    sha256 = "sha256-soYtm8vEkMJq9MeoUqOGJPWxZUrh3mGnApxG154W1wI=";
   };
 
-  vendorSha256 = "17x60x68hd2jm84xw5mgsclv6phn6ajkp92kpcz013vlkcdaqrxs";
+  vendorSha256 = "sha256-MR1JUbeGC4N0jDuYdwVFMHBdZEy5BkID2BFdCwjtTAg=";
 
   buildInputs = [
     libpcap
diff --git a/pkgs/tools/security/nitrokey-app/default.nix b/pkgs/tools/security/nitrokey-app/default.nix
index d6f2e20611d2d..f06877b99fe13 100644
--- a/pkgs/tools/security/nitrokey-app/default.nix
+++ b/pkgs/tools/security/nitrokey-app/default.nix
@@ -36,7 +36,6 @@ stdenv.mkDerivation rec {
        See https://www.nitrokey.com/ for more information.
     '';
     homepage         = "https://github.com/Nitrokey/nitrokey-app";
-    repositories.git = "https://github.com/Nitrokey/nitrokey-app.git";
     license          = licenses.gpl3;
     maintainers      = with maintainers; [ kaiha fpletz ];
   };
diff --git a/pkgs/tools/security/onlykey/default.nix b/pkgs/tools/security/onlykey/default.nix
index 312f580c02395..d924e7ccc3a48 100644
--- a/pkgs/tools/security/onlykey/default.nix
+++ b/pkgs/tools/security/onlykey/default.nix
@@ -20,7 +20,7 @@ let
     elem;
 
   # this must be updated anytime this package is updated.
-  onlykeyPkg = "onlykey-git://github.com/trustcrypto/OnlyKey-App.git#v${version}";
+  onlykeyPkg = "onlykey-git+https://github.com/trustcrypto/OnlyKey-App.git#v${version}";
 
   # define a shortcut to get to onlykey.
   onlykey = self."${onlykeyPkg}";
diff --git a/pkgs/tools/security/onlykey/node-packages.nix b/pkgs/tools/security/onlykey/node-packages.nix
index d6713a0f42a8f..d5e3cd84fed61 100644
--- a/pkgs/tools/security/onlykey/node-packages.nix
+++ b/pkgs/tools/security/onlykey/node-packages.nix
@@ -6316,12 +6316,12 @@ let
   };
 in
 {
-  "onlykey-git://github.com/trustcrypto/OnlyKey-App.git#v5.3.3" = nodeEnv.buildNodePackage {
+  "onlykey-git+https://github.com/trustcrypto/OnlyKey-App.git#v5.3.3" = nodeEnv.buildNodePackage {
     name = "OnlyKey";
     packageName = "OnlyKey";
     version = "5.3.3";
     src = fetchgit {
-      url = "git://github.com/trustcrypto/OnlyKey-App.git";
+      url = "https://github.com/trustcrypto/OnlyKey-App.git";
       rev = "0bd08ef5828d9493cd4c5f4909e9a4fc4c59a494";
       sha256 = "d2386369fd9d9b7d5ea5d389434848c33fa34e26d713d439e8e2f2e447237bb0";
     };
diff --git a/pkgs/tools/security/onlykey/package.json b/pkgs/tools/security/onlykey/package.json
index d9a1a72c42979..06fa903f6a556 100644
--- a/pkgs/tools/security/onlykey/package.json
+++ b/pkgs/tools/security/onlykey/package.json
@@ -1,3 +1,3 @@
 [
-  {"onlykey": "git://github.com/trustcrypto/OnlyKey-App.git#v5.3.3"}
+  {"onlykey": "git+https://github.com/trustcrypto/OnlyKey-App.git#v5.3.3"}
 ]
diff --git a/pkgs/tools/security/pbis/default.nix b/pkgs/tools/security/pbis/default.nix
deleted file mode 100644
index acd1fc5607bc4..0000000000000
--- a/pkgs/tools/security/pbis/default.nix
+++ /dev/null
@@ -1,70 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, perl, flex, bison, curl,
-  pam, popt, libiconv, libuuid, openssl_1_0_2, cyrus_sasl, sqlite, tdb, libxml2 }:
-
-stdenv.mkDerivation rec {
-  pname = "pbis-open";
-  version = "9.1.0";
-
-  src = fetchFromGitHub {
-    owner = "BeyondTrust";
-    repo = pname;
-    rev = version;
-    sha256 = "081jm34sf488nwz5wzs55d6rxx3sv566x6p4h1yqcjaw36174m8v";
-  };
-
-  nativeBuildInputs = [
-    autoconf automake libtool perl flex bison
-  ];
-
-  # curl must be placed after openssl_1_0_2, because it pulls openssl 1.1 dependency.
-  buildInputs = [
-    pam popt libiconv libuuid openssl_1_0_2 cyrus_sasl
-    curl sqlite popt tdb libxml2
-  ];
-
-  postPatch = ''
-    patchShebangs .
-    sed -i -e 's/legacy//g' lwupgrade/MakeKitBuild # disable /opt/ symlinks
-    sed -i -e 's/tdb.h//g' samba-interop/MakeKitBuild #include <tdb.h> fails but it won't affect the build
-  '';
-  preConfigure = ''
-    mkdir release
-    cd release
-    if [ $CC = gcc ]; then
-            NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-error=format-overflow -Wno-error=address-of-packed-member"
-    fi
-    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem ${lib.getDev libxml2}/include/libxml2 -Wno-error=array-bounds -Wno-error=pointer-sign -Wno-error=deprecated-declarations -Wno-error=unused-variable"
-  '';
-  configureScript = "../configure";
-  configureFlags = [
-    "CFLAGS=-O"
-    "--docdir=${placeholder "prefix"}/share/doc"
-    "--mandir=${placeholder "prefix"}/share/doc/man"
-    "--datadir=${placeholder "prefix"}/share"
-    "--lw-initdir=${placeholder "prefix"}/etc/init.d"
-    "--selinux=no" # NixOS does not support SELinux
-    "--build-isas=x86_64" # [lwbase] endianness (host/x86_32): [lwbase] ERROR: could not determine endianness
-    "--fail-on-warn=no"
-    # "--debug=yes"
-  ]; # ^ See https://github.com/BeyondTrust/pbis-open/issues/124
-  configureFlagsArray = [ "--lw-bundled-libs=linenoise-mob tomlc99 opensoap krb5 cyrus-sasl curl openldap ${ if libuuid == null then "libuuid" else "" }" ];
-  # ^ it depends on old krb5 version 1.9 (issue #228)
-  # linenoise-mod, tomlc99, opensoap is not in nixpkgs.
-  # krb5 must be old one, and cyrus-sasl and openldap have dependency to newer libkrb5 that cause runtime error
-  enableParallelBuilding = true;
-  makeFlags = "SHELL=";
-  hardeningDisable = [ "format" ]; # -Werror=format-security
-  installPhase = ''
-    mkdir $sys
-    mv stage/{lib,var} $sys
-    mv stage$out $out
-  '';
-  outputs = [ "out" "sys" ];
-
-  meta = with lib; {
-    description = "BeyondTrust AD Bridge Open simplifies the process of joining non-Microsoft hosts to Active Directory domains";
-    homepage = "https://github.com/BeyondTrust/pbis-open";
-    license = with licenses; [ gpl2 lgpl21 ];
-    platforms = [ "x86_64-linux" ];
-  };
-}
diff --git a/pkgs/tools/security/pcsc-safenet/default.nix b/pkgs/tools/security/pcsc-safenet/default.nix
index 3610343fc2738..639aafee23c5f 100644
--- a/pkgs/tools/security/pcsc-safenet/default.nix
+++ b/pkgs/tools/security/pcsc-safenet/default.nix
@@ -69,7 +69,7 @@ stdenv.mkDerivation rec {
     ln -sf libAksIfdh.so.10.0 libAksIfdh.so
     ln -sf libAksIfdh.so.10.0 libAksIfdh.so.10
 
-    ln -sf ${openssl.out}/lib/libcrypto.so $out/lib/libcrypto.so.1.0.0
+    ln -sf ${lib.getLib openssl}/lib/libcrypto.so $out/lib/libcrypto.so.1.0.0
   '';
 
   dontAutoPatchelf = true;
diff --git a/pkgs/tools/security/quill/default.nix b/pkgs/tools/security/quill/default.nix
index 9cf0f2f0c09c3..b7f414ea87ef1 100644
--- a/pkgs/tools/security/quill/default.nix
+++ b/pkgs/tools/security/quill/default.nix
@@ -27,7 +27,7 @@ rustPlatform.buildRustPackage rec {
     export IC_NNS_COMMON_PROTO_INCLUDES=${ic}/rs/nns/common/proto
     export PROTOC=${buildPackages.protobuf}/bin/protoc
     export OPENSSL_DIR=${openssl.dev}
-    export OPENSSL_LIB_DIR=${openssl.out}/lib
+    export OPENSSL_LIB_DIR=${lib.getLib openssl}/lib
   '';
 
   cargoSha256 = "sha256-YxuBABGaZ+ti31seEYR6bB+OMgrSvl1lZyu4bqdxPIk=";
diff --git a/pkgs/tools/security/rbw/default.nix b/pkgs/tools/security/rbw/default.nix
index 9e3f0523473a0..a5eb83f1e0b5c 100644
--- a/pkgs/tools/security/rbw/default.nix
+++ b/pkgs/tools/security/rbw/default.nix
@@ -66,7 +66,7 @@ rustPlatform.buildRustPackage rec {
 
   preConfigure = ''
     export OPENSSL_INCLUDE_DIR="${openssl.dev}/include"
-    export OPENSSL_LIB_DIR="${openssl.out}/lib"
+    export OPENSSL_LIB_DIR="${lib.getLib openssl}/lib"
   '';
 
   postInstall = ''
diff --git a/pkgs/tools/security/shisho/default.nix b/pkgs/tools/security/shisho/default.nix
new file mode 100644
index 0000000000000..5a5995f5da3b7
--- /dev/null
+++ b/pkgs/tools/security/shisho/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, installShellFiles
+, rustfmt
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "shisho";
+  version = "0.5.2";
+
+  src = fetchFromGitHub {
+    owner = "flatt-security";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-G7sHaDq+F5lXNaF1sSLUecdjZbCejJE79P4AQifKdFY=";
+    fetchSubmodules = true;
+  };
+  cargoSha256 = "sha256-xd4andytmDMOIT+3DkmUC9fkxxGJ6yRY2WSdnGB6ZwY=";
+
+  nativeBuildInputs = [
+    installShellFiles
+    # required to build serde-sarif dependency
+    rustfmt
+  ];
+
+  postInstall = ''
+    installShellCompletion --cmd shisho \
+      --bash <($out/bin/shisho completion bash) \
+      --fish <($out/bin/shisho completion fish) \
+      --zsh <($out/bin/shisho completion zsh)
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    $out/bin/shisho --help
+    $out/bin/shisho --version | grep "${version}"
+
+    runHook postInstallCheck
+  '';
+
+  meta = with lib; {
+    homepage = "https://docs.shisho.dev/shisho/";
+    changelog = "https://docs.shisho.dev/changelog/";
+    description = "Lightweight static analyzer for several programming languages";
+    longDescription = ''
+      Shisho is a lightweight static code analyzer designed for developers and
+      is the core engine for Shisho products. It is, so to speak, like a
+      pluggable and configurable linter; it gives developers a way to codify
+      your domain knowledge over your code as rules. With powerful automation
+      and integration capabilities, the rules will help you find and fix issues
+      semiautomatically.
+    '';
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ jk ];
+  };
+}
diff --git a/pkgs/tools/security/sigma-cli/default.nix b/pkgs/tools/security/sigma-cli/default.nix
index 3d83653cb00f1..a2417e7b8fe23 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.3.3";
+  version = "0.3.4";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "SigmaHQ";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-AUAOZrwLNu+Llg8RX4RKm4vAETgpPLKK1mcpl8jxGYE=";
+    hash = "sha256-FWcPHtEYqS+81dU4lB+4BLFOXtFumcyhucwvmu2TAt8=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/security/sn0int/default.nix b/pkgs/tools/security/sn0int/default.nix
index b2d812d521af4..8e3a806d871c8 100644
--- a/pkgs/tools/security/sn0int/default.nix
+++ b/pkgs/tools/security/sn0int/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "sn0int";
-  version = "0.24.1";
+  version = "0.24.2";
 
   src = fetchFromGitHub {
     owner = "kpcyrd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-AP/3QCol2qOvRqNW9F/m9JpiZrqtfXvr//Ku2XE3vqY=";
+    sha256 = "sha256-WcCNNLNvOtYiSWVvXA8mnlXOV2T/yIXFzZky5y3tYJ4=";
   };
 
-  cargoSha256 = "sha256-gdDQjYU8hJdkQCh1Iswn5KlPW2BT/J5vCSOS/KHvbH4=";
+  cargoSha256 = "sha256-5pVxOkm9OLSX5Lxe3DSM0mVSMhlHfFBCiMMR37WrZbI=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/tools/security/spectre-meltdown-checker/default.nix b/pkgs/tools/security/spectre-meltdown-checker/default.nix
index 49aa4a2a4ca5f..cf85ed9310a1a 100644
--- a/pkgs/tools/security/spectre-meltdown-checker/default.nix
+++ b/pkgs/tools/security/spectre-meltdown-checker/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "spectre-meltdown-checker";
-  version = "0.44";
+  version = "0.45";
 
   src = fetchFromGitHub {
     owner = "speed47";
     repo = "spectre-meltdown-checker";
     rev = "v${version}";
-    sha256 = "1b47wlc52jnp2d5c7kbqnxmlm4g3cfbv25q30llv5mlmzs6d7bam";
+    sha256 = "sha256-yGrsiPBux4YeiQ3BL2fnne5P55R/sQZ4FwzSkE6BqPc=";
   };
 
   prePatch = ''
diff --git a/pkgs/tools/security/sshuttle/default.nix b/pkgs/tools/security/sshuttle/default.nix
index 959712488a207..4b4bbd3788b3e 100644
--- a/pkgs/tools/security/sshuttle/default.nix
+++ b/pkgs/tools/security/sshuttle/default.nix
@@ -11,11 +11,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "sshuttle";
-  version = "1.0.5";
+  version = "1.1.0";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "fd8c691aac2cb80933aae7f94d9d9e271a820efc5c48e73408f1a90da426a1bd";
+    sha256 = "sha256-IfuRvfOStQ5422uNdelbc6ydr9Nh4mV+eE5nRWEhkxU=";
   };
 
   patches = [ ./sudo.patch ];
@@ -27,9 +27,7 @@ python3Packages.buildPythonApplication rec {
 
   nativeBuildInputs = [ makeWrapper python3Packages.setuptools-scm ];
 
-  propagatedBuildInputs = [ python3Packages.psutil ];
-
-  checkInputs = with python3Packages; [ mock pytestCheckHook flake8 ];
+  checkInputs = with python3Packages; [ pytestCheckHook ];
 
   postInstall = ''
     wrapProgram $out/bin/sshuttle \
@@ -45,6 +43,6 @@ python3Packages.buildPythonApplication rec {
       Works with Linux and Mac OS and supports DNS tunneling.
     '';
     license = licenses.lgpl21;
-    maintainers = with maintainers; [ domenkozar carlosdagos ];
+    maintainers = with maintainers; [ domenkozar carlosdagos SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/security/sshuttle/sudo.patch b/pkgs/tools/security/sshuttle/sudo.patch
index 6e8634bd4a1f8..d00aab087948d 100644
--- a/pkgs/tools/security/sshuttle/sudo.patch
+++ b/pkgs/tools/security/sshuttle/sudo.patch
@@ -5,7 +5,7 @@ index cab5b1c..e89f8a6 100644
 @@ -192,7 +192,7 @@ class FirewallClient:
  
          self.auto_nets = []
-         python_path = os.path.dirname(os.path.dirname(__file__))
+
 -        argvbase = ([sys.executable, sys.argv[0]] +
 +        argvbase = ([sys.argv[0]] +
                      ['-v'] * (helpers.verbose or 0) +
diff --git a/pkgs/tools/security/tboot/default.nix b/pkgs/tools/security/tboot/default.nix
index a33c26419e161..0b7ecca4f240c 100644
--- a/pkgs/tools/security/tboot/default.nix
+++ b/pkgs/tools/security/tboot/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tboot";
-  version = "1.10.4";
+  version = "1.10.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/tboot/${pname}-${version}.tar.gz";
-    sha256 = "sha256-iEn6mZ0tuDBA1a2POpJEBaIM0TMVDohbVvp/6OO4nAY=";
+    sha256 = "sha256-O0vhbAPLwlBx7x1L2gtP1VDu2G2sbH9+/fAkI8VRs5M=";
   };
 
   buildInputs = [ openssl trousers zlib ];
diff --git a/pkgs/tools/security/terrascan/default.nix b/pkgs/tools/security/terrascan/default.nix
index b9da8e95d3e08..02f3615233ae6 100644
--- a/pkgs/tools/security/terrascan/default.nix
+++ b/pkgs/tools/security/terrascan/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "terrascan";
-  version = "1.13.2";
+  version = "1.14.0";
 
   src = fetchFromGitHub {
     owner = "accurics";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ja7Cpd+BegGdKOWAiH5JsniO4NYlFEgJzqBuNzE2ao4=";
+    sha256 = "sha256-O4oLtbijTAgUD+X3rxJkH2VmWLX5nQaN5JwoznNpKOM=";
   };
 
-  vendorSha256 = "sha256-h/mSF4hJ3TS+4b3CCUEXVin8MRcPg8qEe90Mcxk0uVo=";
+  vendorSha256 = "sha256-dfd5yQ3t23YyFin770UlCtEIldRxTqeWfgl0GLLF+Qw=";
 
   # Tests want to download a vulnerable Terraform project
   doCheck = false;
diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix
index 571b4e7f4da74..14e0be73f01ea 100644
--- a/pkgs/tools/security/tor/default.nix
+++ b/pkgs/tools/security/tor/default.nix
@@ -97,7 +97,6 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://www.torproject.org/";
-    repositories.git = "https://git.torproject.org/git/tor";
     description = "Anonymizing overlay network";
 
     longDescription = ''
diff --git a/pkgs/tools/security/tor/torsocks.nix b/pkgs/tools/security/tor/torsocks.nix
index 399afe7f75cb2..16eeca0ffad74 100644
--- a/pkgs/tools/security/tor/torsocks.nix
+++ b/pkgs/tools/security/tor/torsocks.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "2.3.0";
 
   src = fetchgit {
-    url    = meta.repositories.git;
+    url    = "https://git.torproject.org/torsocks.git";
     rev    = "refs/tags/v${version}";
     sha256 = "0x0wpcigf22sjxg7bm0xzqihmsrz51hl4v8xf91qi4qnmr4ny1hb";
   };
@@ -35,7 +35,6 @@ stdenv.mkDerivation rec {
   meta = {
     description      = "Wrapper to safely torify applications";
     homepage         = "https://github.com/dgoulet/torsocks";
-    repositories.git = "https://git.torproject.org/torsocks.git";
     license          = lib.licenses.gpl2;
     platforms        = lib.platforms.unix;
     maintainers      = with lib.maintainers; [ thoughtpolice ];
diff --git a/pkgs/tools/security/vault/default.nix b/pkgs/tools/security/vault/default.nix
index 458e2a533896a..d349c205ad4f0 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.9.4";
+  version = "1.10.0";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "vault";
     rev = "v${version}";
-    sha256 = "sha256-zqtRM2p+RrLrXzDCMtHJZNx/dKWyFqM+3V5eICwWvWs=";
+    sha256 = "sha256-XgrEtAVfMcXbmAjwgIWME/v85QHJ11fUXapAZtS/lSw=";
   };
 
-  vendorSha256 = "sha256-EiQ6XmGrw1O2Zd8TM7HSr3sQUd1naQYKbYLKB/vWdXU=";
+  vendorSha256 = "sha256-Bo0+HSG7NqaweMKPdl+kzB6RdbQsy2FAzmr7ZZVgcsg=";
 
   subPackages = [ "." ];
 
@@ -46,6 +46,6 @@ buildGoModule rec {
     changelog = "https://github.com/hashicorp/vault/blob/v${version}/CHANGELOG.md";
     platforms = platforms.linux ++ platforms.darwin;
     license = licenses.mpl20;
-    maintainers = with maintainers; [ rushmorem lnl7 offline pradeepchhetri Chili-Man ];
+    maintainers = with maintainers; [ rushmorem lnl7 offline pradeepchhetri Chili-Man techknowlogick ];
   };
 }
diff --git a/pkgs/tools/security/vault/update-bin.sh b/pkgs/tools/security/vault/update-bin.sh
new file mode 100644
index 0000000000000..25f41e2aad127
--- /dev/null
+++ b/pkgs/tools/security/vault/update-bin.sh
@@ -0,0 +1,43 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl gnused gawk nix-prefetch
+
+set -euo pipefail
+
+ROOT="$(dirname "$(readlink -f "$0")")"
+NIX_DRV="$ROOT/vault-bin.nix"
+if [ ! -f "$NIX_DRV" ]; then
+  echo "ERROR: cannot find vault-bin in $ROOT"
+  exit 1
+fi
+
+fetch_arch() {
+  VER="$1"; ARCH="$2"
+  URL="https://releases.hashicorp.com/vault/${VER}/vault_${VER}_${ARCH}.zip"
+  nix-prefetch "{ stdenv, fetchzip }:
+stdenv.mkDerivation rec {
+  pname = \"vault-bin\"; version = \"${VER}\";
+  src = fetchzip { url = \"$URL\"; };
+}
+"
+}
+
+replace_sha() {
+  sed -i "s#$1 = \"sha256-.\{44\}\"#$1 = \"$2\"#" "$NIX_DRV"
+}
+
+# https://releases.hashicorp.com/vault/1.9.4/vault_1.9.4_linux_arm64.zip
+VAULT_VER=$(curl -Ls -w "%{url_effective}" -o /dev/null https://github.com/hashicorp/vault/releases/latest | awk -F'/' '{print $NF}' | sed 's/v//')
+
+VAULT_LINUX_X86_SHA256=$(fetch_arch "$VAULT_VER" "linux_386")
+VAULT_LINUX_X64_SHA256=$(fetch_arch "$VAULT_VER" "linux_amd64")
+VAULT_DARWIN_X64_SHA256=$(fetch_arch "$VAULT_VER" "darwin_amd64")
+VAULT_LINUX_AARCH64_SHA256=$(fetch_arch "$VAULT_VER" "linux_arm64")
+VAULT_DARWIN_AARCH64_SHA256=$(fetch_arch "$VAULT_VER" "darwin_arm64")
+
+sed -i "s/version = \".*\"/version = \"$VAULT_VER\"/" "$NIX_DRV"
+
+replace_sha "i686-linux" "$VAULT_LINUX_X86_SHA256"
+replace_sha "x86_64-linux" "$VAULT_LINUX_X64_SHA256"
+replace_sha "x86_64-darwin" "$VAULT_DARWIN_X64_SHA256"
+replace_sha "aarch64-linux" "$VAULT_LINUX_AARCH64_SHA256"
+replace_sha "aarch64-darwin" "$VAULT_DARWIN_AARCH64_SHA256"
diff --git a/pkgs/tools/security/vault/vault-bin.nix b/pkgs/tools/security/vault/vault-bin.nix
index 1ffd793be8b23..ebb70a1f62922 100644
--- a/pkgs/tools/security/vault/vault-bin.nix
+++ b/pkgs/tools/security/vault/vault-bin.nix
@@ -1,63 +1,61 @@
-{ lib, stdenv, fetchurl, unzip, makeWrapper, gawk, glibc }:
+{ lib, stdenv, fetchurl, unzip, makeWrapper, gawk, glibc, fetchzip }:
 
-let
-  version = "1.9.1";
-
-  sources = let
-    base = "https://releases.hashicorp.com/vault/${version}";
-  in {
-    x86_64-linux = fetchurl {
-      url = "${base}/vault_${version}_linux_amd64.zip";
-      sha256 = "sha256-kP1wLbkktVCTZopVaT0h/WKqAG3Pd9g7qeruk4MIWJM=";
-    };
-    i686-linux = fetchurl {
-      url = "${base}/vault_${version}_linux_386.zip";
-      sha256 = "sha256-cTZ/hek8wQo9FxIRQ/cc23h7Nqjfonvprf492/lSzLw=";
-    };
-    x86_64-darwin = fetchurl {
-      url = "${base}/vault_${version}_darwin_amd64.zip";
-      sha256 = "sha256-uKW9Yl4PjxWJ886OVAHl1sbPhgYWoL6IJK44vczLQsY=";
-    };
-    aarch64-darwin = fetchurl {
-      url = "${base}/vault_${version}_darwin_arm64.zip";
-      sha256 = "sha256-J0qwUBcnZRZU5TTQB3K8wNE6rdQC1Boy/gKNQRvUYEI=";
-    };
-    aarch64-linux = fetchurl {
-      url = "${base}/vault_${version}_linux_arm64.zip";
-      sha256 = "sha256-eU5s15tBuZFThJGNtnjOV07tiBoVjSSHMS9sY2WqO1o=";
-    };
-  };
-
-in stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "vault-bin";
-  inherit version;
-
-  src = sources.${stdenv.hostPlatform.system} or (throw "unsupported system: ${stdenv.hostPlatform.system}");
-
-  nativeBuildInputs = [ makeWrapper unzip ];
+  version = "1.10.0";
+
+  src =
+    let
+      inherit (stdenv.hostPlatform) system;
+      selectSystem = attrs: attrs.${system} or (throw "Unsupported system: ${system}");
+      suffix = selectSystem {
+        x86_64-linux = "linux_amd64";
+        aarch64-linux = "linux_arm64";
+        i686-linux = "linux_386";
+        x86_64-darwin = "darwin_amd64";
+        aarch64-darwin = "darwin_arm64";
+      };
+      sha256 = selectSystem {
+        x86_64-linux = "sha256-enD/JcOmeavvUd/njbu7IksAqp9dKepVdYPkLJHA8OQ=";
+        aarch64-linux = "sha256-FDkgUqFEVJoSED/FWqOXa4BTO6AYwkLS2iZh+BkzlqA=";
+        i686-linux = "sha256-XUTWB5Ynu92SMP9Nt/0jAki6til4upKv1sdFzPbWxiw=";
+        x86_64-darwin = "sha256-QNCsbIza56NqSU7R6+Cx//WBXiEOz6CEMCjrx4AR1x8=";
+        aarch64-darwin = "sha256-LBgd8gqeU92336kypSIwMtKo7I1qB/RP2dNoIGJgq7k=";
+      };
+    in
+    fetchzip {
+      url = "https://releases.hashicorp.com/vault/${version}/vault_${version}_${suffix}.zip";
+      inherit sha256;
+    };
 
-  sourceRoot = ".";
+  dontConfigure = true;
+  dontBuild = true;
+  dontStrip = stdenv.isDarwin;
 
   installPhase = ''
     runHook preInstall
-
-    mkdir -p $out/bin $out/share/bash-completion/completions
-    mv vault $out/bin
-    echo "complete -C $out/bin/vault vault" > $out/share/bash-completion/completions/vault
-  '' + lib.optionalString stdenv.isLinux ''
-    wrapProgram $out/bin/vault \
-      --prefix PATH : ${lib.makeBinPath [ gawk glibc ]}
-
+    install -D vault $out/bin/vault
     runHook postInstall
   '';
 
-  dontStrip = stdenv.isDarwin;
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    $out/bin/vault --help
+    $out/bin/vault version
+    runHook postInstallCheck
+  '';
+
+  dontPatchELF = true;
+  dontPatchShebangs = true;
+
+  passthru.updateScript = ./update-bin.sh;
 
   meta = with lib; {
     homepage = "https://www.vaultproject.io";
     description = "A tool for managing secrets, this binary includes the UI";
     platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ];
     license = licenses.mpl20;
-    maintainers = with maintainers; teams.serokell.members ++ [ offline psyanticy Chili-Man ];
+    maintainers = with maintainers; teams.serokell.members ++ [ offline psyanticy Chili-Man techknowlogick ];
   };
 }
diff --git a/pkgs/tools/security/vaultwarden/vault.nix b/pkgs/tools/security/vaultwarden/vault.nix
index 5ec014de9593b..f37fbe12f1c62 100644
--- a/pkgs/tools/security/vaultwarden/vault.nix
+++ b/pkgs/tools/security/vaultwarden/vault.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "vaultwarden-vault";
-  version = "2.25.0";
+  version = "2.27.0";
 
   src = fetchurl {
     url = "https://github.com/dani-garcia/bw_web_builds/releases/download/v${version}/bw_web_v${version}.tar.gz";
-    sha256 = "sha256-0uxkHz/oHWl4MdzV7zRVKgkEqOkrl7Fd405TOf472gw=";
+    sha256 = "sha256-r4z45gjVB+RMZM0IE/ec0yf+rt4YDz5IpZEz5FlQSds=";
   };
 
   buildCommand = ''
diff --git a/pkgs/tools/security/wapiti/default.nix b/pkgs/tools/security/wapiti/default.nix
index e27851f618d69..4fb28559483de 100644
--- a/pkgs/tools/security/wapiti/default.nix
+++ b/pkgs/tools/security/wapiti/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "wapiti";
-  version = "3.0.9";
+  version = "3.1.1";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "wapiti-scanner";
     repo = pname;
     rev = version;
-    sha256 = "sha256-olqPM8EQ8LxQQM7kqcjbT9RMdBeYdhfn6Qp6BUu8K5Q=";
+    sha256 = "1xyvyan5gz7fz8wa2fbgvma59pr79arqra2gvx861szn2njkf272";
   };
 
   nativeBuildInputs = with python3.pkgs; [
@@ -27,6 +27,7 @@ python3.pkgs.buildPythonApplication rec {
     browser-cookie3
     cryptography
     dnspython
+    httpcore
     httpx
     httpx-ntlm
     httpx-socks
@@ -36,7 +37,6 @@ python3.pkgs.buildPythonApplication rec {
     markupsafe
     pysocks
     six
-    sslyze
     sqlalchemy
     tld
     yaswfp
@@ -54,7 +54,7 @@ python3.pkgs.buildPythonApplication rec {
     # Ignore pinned versions
     substituteInPlace setup.py \
       --replace "httpx-socks[asyncio] == 0.6.0" "httpx-socks[asyncio]"
-    sed -i -e "s/==[0-9.]*//" setup.py
+    sed -i -e "s/==[0-9.]*//;s/>=[0-9.]*//" setup.py
     substituteInPlace setup.cfg \
       --replace " --cov --cov-report=xml" ""
   '';
@@ -107,6 +107,7 @@ python3.pkgs.buildPythonApplication rec {
     "test_true_positive_request_count"
     "test_unregistered_cname"
     "test_url_detection"
+    "test_verify_dns"
     "test_warning"
     "test_whole"
     "test_xss_inside_tag_input"
@@ -118,9 +119,14 @@ python3.pkgs.buildPythonApplication rec {
     # Requires a PHP installation
     "test_timesql"
     "test_cookies"
+    "test_redirect"
     # TypeError: Expected bytes or bytes-like object got: <class 'str'>
     "test_persister_upload"
   ];
+  disabledTestPaths = [
+    # requires sslyze
+    "tests/attack/test_mod_ssl.py"
+  ];
 
   pythonImportsCheck = [
     "wapitiCore"
diff --git a/pkgs/tools/security/zzuf/default.nix b/pkgs/tools/security/zzuf/default.nix
index f8f7bece3a598..edf5e846801bc 100644
--- a/pkgs/tools/security/zzuf/default.nix
+++ b/pkgs/tools/security/zzuf/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, pkg-config }:
+{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   pname = "zzuf";
@@ -11,9 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0li1s11xf32dafxq1jbnc8c63313hy9ry09dja2rymk9mza4x2n9";
   };
 
-  buildInputs = [ autoconf automake libtool pkg-config ];
-
-  preConfigure = "./bootstrap";
+  nativeBuildInputs = [ pkg-config autoreconfHook ];
 
   meta = with lib; {
     description = "Transparent application input fuzzer";
diff --git a/pkgs/tools/system/evemu/default.nix b/pkgs/tools/system/evemu/default.nix
index 61ef270df7943..6cb349c546b9b 100644
--- a/pkgs/tools/system/evemu/default.nix
+++ b/pkgs/tools/system/evemu/default.nix
@@ -23,7 +23,6 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Records and replays device descriptions and events to emulate input devices through the kernel's input system";
     homepage = "https://www.freedesktop.org/wiki/Evemu/";
-    repositories.git = "git://git.freedesktop.org/git/evemu";
     license = with licenses; [ lgpl3Only gpl3Only ];
     maintainers = [ maintainers.amorsillo ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/system/gohai/default.nix b/pkgs/tools/system/gohai/default.nix
index 48c68f8d2f2ca..a4b07f112ae3f 100644
--- a/pkgs/tools/system/gohai/default.nix
+++ b/pkgs/tools/system/gohai/default.nix
@@ -21,7 +21,6 @@ buildGoPackage rec {
     license          = licenses.mit;
     maintainers      = [ maintainers.tazjin ];
     platforms        = platforms.unix;
-    repositories.git = "git://github.com/DataDog/gohai.git";
 
     longDescription = ''
       Gohai is a tool which collects an inventory of system
diff --git a/pkgs/tools/system/hardlink/default.nix b/pkgs/tools/system/hardlink/default.nix
index a790c600a9d33..a823186484955 100644
--- a/pkgs/tools/system/hardlink/default.nix
+++ b/pkgs/tools/system/hardlink/default.nix
@@ -26,7 +26,6 @@ stdenv.mkDerivation {
   meta = with lib; {
     description = "Consolidate duplicate files via hardlinks";
     homepage = "https://pagure.io/hardlink";
-    repositories.git = "https://src.fedoraproject.org/cgit/rpms/hardlink.git";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
   };
diff --git a/pkgs/tools/system/logrotate/default.nix b/pkgs/tools/system/logrotate/default.nix
index f0ce08383359c..4c9536cd7cf40 100644
--- a/pkgs/tools/system/logrotate/default.nix
+++ b/pkgs/tools/system/logrotate/default.nix
@@ -1,5 +1,4 @@
 { lib, stdenv, fetchFromGitHub, gzip, popt, autoreconfHook
-, mailutils ? null
 , aclSupport ? true, acl
 , nixosTests
 }:
@@ -19,8 +18,6 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--with-compress-command=${gzip}/bin/gzip"
     "--with-uncompress-command=${gzip}/bin/gunzip"
-  ] ++ lib.optionals (mailutils != null) [
-    "--with-default-mail-command=${mailutils}/bin/mail"
   ];
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/tools/system/monit/default.nix b/pkgs/tools/system/monit/default.nix
index 0f116c046184d..b338f6a80d6af 100644
--- a/pkgs/tools/system/monit/default.nix
+++ b/pkgs/tools/system/monit/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "monit";
-  version = "5.31.0";
+  version = "5.32.0";
 
   src = fetchurl {
-    url = "${meta.homepage}dist/monit-${version}.tar.gz";
-    sha256 = "sha256-6ucfKJQftmPux0waWbaVRsZZUpeWVQvZwMVE6bUqwFU=";
+    url = "https://mmonit.com/monit/dist/monit-${version}.tar.gz";
+    sha256 = "sha256-EHcFLUxOhIrEfRT5s3dU1GQZrsvoyaB+H4ackU+vMhY=";
   };
 
   nativeBuildInputs = [ bison flex ];
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     (lib.withFeature usePAM "pam")
   ] ++ (if useSSL then [
     "--with-ssl-incl-dir=${openssl.dev}/include"
-    "--with-ssl-lib-dir=${openssl.out}/lib"
+    "--with-ssl-lib-dir=${lib.getLib openssl}/lib"
   ] else [
     "--without-ssl"
   ]) ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
diff --git a/pkgs/tools/system/mq-cli/default.nix b/pkgs/tools/system/mq-cli/default.nix
index 2c1baa24f6fa3..cdbff1921a79b 100644
--- a/pkgs/tools/system/mq-cli/default.nix
+++ b/pkgs/tools/system/mq-cli/default.nix
@@ -19,6 +19,5 @@ rustPlatform.buildRustPackage rec {
     license          = licenses.mit;
     maintainers      = with maintainers; [ tazjin ];
     platforms        = platforms.linux;
-    repositories.git = "git://github.com/aprilabank/mq-cli.git";
   };
 }
diff --git a/pkgs/tools/system/nats-top/default.nix b/pkgs/tools/system/nats-top/default.nix
index f2be03d4301c4..651a9635fb456 100644
--- a/pkgs/tools/system/nats-top/default.nix
+++ b/pkgs/tools/system/nats-top/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "nats-top";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "nats-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0b1hpnq8m1xfrn58ammmnx6lmhk319m8z4xjxgckz7wvy2fbzw0n";
+    sha256 = "sha256-IZQDwopFAXPT0V+TTiJk6+j/KhLTA3g4kN1j1PVlNt0=";
   };
 
-  vendorSha256 = "1a48p9gx5zdc340ma6cqakhi6f3lw9b0kz2597j1jcsk2qb7s581";
+  vendorSha256 = "sha256-cBCR/OXUOa+Lh8UvL/VraDAW0hGGwV7teyvdswZQ5Lo=";
 
   meta = with lib; {
     description = "top-like tool for monitoring NATS servers";
diff --git a/pkgs/tools/system/s-tui/default.nix b/pkgs/tools/system/s-tui/default.nix
index 3943a8f4eef86..1152e66bd8870 100644
--- a/pkgs/tools/system/s-tui/default.nix
+++ b/pkgs/tools/system/s-tui/default.nix
@@ -1,12 +1,18 @@
-{ lib, python3Packages }:
+{ lib
+, stdenv
+, python3Packages
+, nix-update-script
+, s-tui
+, testVersion
+}:
 
 python3Packages.buildPythonPackage rec {
   pname = "s-tui";
-  version = "1.0.1";
+  version = "1.1.3";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "1gqrb2xxii43j7kszy7kvv4f6hr8ac4p0m9q8i1xs5fhsqcx186i";
+    sha256 = "sha256-t3h8d0yc7i3UvO8CVfBd3/3h3RfGN6yE6hutymOZUdA=";
   };
 
   propagatedBuildInputs = with python3Packages; [
@@ -14,12 +20,16 @@ python3Packages.buildPythonPackage rec {
     psutil
   ];
 
-  LC_ALL = "en_US.UTF-8";
+  passthru = {
+    updateScript = nix-update-script { attrPath = pname; };
+    tests = testVersion { package = s-tui; };
+  };
 
   meta = with lib; {
     homepage = "https://amanusk.github.io/s-tui/";
     description = "Stress-Terminal UI monitoring tool";
     license = licenses.gpl2;
     maintainers = with maintainers; [ infinisil ];
+    broken = stdenv.isDarwin; # https://github.com/amanusk/s-tui/issues/49
   };
 }
diff --git a/pkgs/tools/system/thermald/default.nix b/pkgs/tools/system/thermald/default.nix
index f2fae161daa83..96fa0c19df3eb 100644
--- a/pkgs/tools/system/thermald/default.nix
+++ b/pkgs/tools/system/thermald/default.nix
@@ -18,7 +18,7 @@
 
 stdenv.mkDerivation rec {
   pname = "thermald";
-  version = "2.4.8";
+  version = "2.4.9";
 
   outputs = [ "out" "devdoc" ];
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     owner = "intel";
     repo = "thermal_daemon";
     rev = "v${version}";
-    sha256 = "sha256-Mup88vNS0iApwsZTdPnpXmkA0LNpSOzxBmbejcWIC+0=";
+    sha256 = "sha256-82O4vrUo3lMNzGOI5WyV1eponF0za0WM6mtd54xqUh8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/text/difftastic/default.nix b/pkgs/tools/text/difftastic/default.nix
index 14c95bd2f3bf9..17c1a33d8c897 100644
--- a/pkgs/tools/text/difftastic/default.nix
+++ b/pkgs/tools/text/difftastic/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "difftastic";
-  version = "0.22.0";
+  version = "0.25.0";
 
   src = fetchFromGitHub {
     owner = "wilfred";
     repo = pname;
     rev = version;
-    sha256 = "sha256-VV4nCR+BGly+EdCkyI4KeS0Zmn6NkfRsMs//0Sj3E20=";
+    sha256 = "sha256-TJMMy1fMwqUMVhztMOlN4yQhW5IF36yahOhDTJ9kadA=";
   };
 
-  cargoSha256 = "sha256-MyCi5PuUs9MJArDFaBgjjBInYJAS/SAPe1iNTs9feLY=";
+  cargoSha256 = "sha256-crH2SodT+Wy3auk3uli253rIrHyKsibQcYGtpxwbJJQ=";
 
   meta = with lib; {
     description = "A syntax-aware diff";
diff --git a/pkgs/tools/text/gnused/422.nix b/pkgs/tools/text/gnused/422.nix
deleted file mode 100644
index 15e57e319019e..0000000000000
--- a/pkgs/tools/text/gnused/422.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ lib, stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-  pname = "gnused";
-  version = "4.2.2";
-
-  src = fetchurl {
-    url = "mirror://gnu/sed/sed-${version}.tar.bz2";
-    sha256 = "f048d1838da284c8bc9753e4506b85a1e0cc1ea8999d36f6995bcb9460cddbd7";
-  };
-
-  configureFlags = lib.optional stdenv.hostPlatform.isMinGW "ac_cv_func__set_invalid_parameter_handler=no";
-
-  outputs = [ "out" "info" ];
-
-  meta = {
-    homepage = "https://www.gnu.org/software/sed/";
-    description = "GNU sed, a batch stream editor";
-
-    longDescription = ''
-      Sed (stream editor) isn't really a true text editor or text
-      processor.  Instead, it is used to filter text, i.e., it takes
-      text input and performs some operation (or set of operations) on
-      it and outputs the modified text.  Sed is typically used for
-      extracting part of a file using pattern matching or substituting
-      multiple occurrences of a string within a file.
-    '';
-
-    license = lib.licenses.gpl3Plus;
-
-    platforms = lib.platforms.all;
-    maintainers = [ ];
-    mainProgram = "sed";
-  };
-}
diff --git a/pkgs/tools/text/gtranslator/default.nix b/pkgs/tools/text/gtranslator/default.nix
index 5bc99724e3faf..d5e7922831ea2 100644
--- a/pkgs/tools/text/gtranslator/default.nix
+++ b/pkgs/tools/text/gtranslator/default.nix
@@ -1,5 +1,7 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
+, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -8,7 +10,7 @@
 , python3
 , wrapGAppsHook
 , libxml2
-, libgda
+, libgda6
 , libhandy
 , libsoup
 , json-glib
@@ -23,13 +25,22 @@
 
 stdenv.mkDerivation rec {
   pname = "gtranslator";
-  version = "40.0";
+  version = "41.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "0d48nc11z0m91scy21ah56ysxns82zvswx8lglvlkig1vqvblgpc";
+    sha256 = "E28R/gOhlJkMQ6/jOL0eoK0U5+H26Gjlv3xbUsTF5eE=";
   };
 
+  patches = [
+    # Fix build with meson 0.61
+    # data/meson.build:15:5: ERROR: Function does not take positional arguments.
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gtranslator/-/commit/7ac572cc8c8c37ca3826ecf0d395edd3c38e8e22.patch";
+      sha256 = "aRg6dYweftV8F7FXykO7m0G+p4SLTFnhTcZx72UCMDE=";
+    })
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
@@ -46,7 +57,7 @@ stdenv.mkDerivation rec {
     gtk3
     libdazzle
     gtksourceview4
-    libgda
+    libgda6
     libhandy
     libsoup
     json-glib
diff --git a/pkgs/tools/text/jumanpp/0001-Exclude-all-tests-from-the-build.patch b/pkgs/tools/text/jumanpp/0001-Exclude-all-tests-from-the-build.patch
new file mode 100644
index 0000000000000..d41bada82def8
--- /dev/null
+++ b/pkgs/tools/text/jumanpp/0001-Exclude-all-tests-from-the-build.patch
@@ -0,0 +1,177 @@
+From c52a5046e19718a43d48c9b3cfdc121d964e8c3b Mon Sep 17 00:00:00 2001
+From: Maximilian Bosch <maximilian@mbosch.me>
+Date: Fri, 28 Jan 2022 17:43:35 +0100
+Subject: [PATCH] Exclude all tests from the build
+
+For some reason it isn't sufficient to set `-DJPP_ENABLE_TESTS=OFF`.
+Doing that because the tests on 2.0.0-rc3 don't seem to be working and
+the vendored catch2 doesn't build with glibc 2.34.
+---
+ src/CMakeLists.txt               |  3 +--
+ src/core/CMakeLists.txt          | 11 +----------
+ src/core/analysis/CMakeLists.txt |  2 --
+ src/core/codegen/CMakeLists.txt  |  3 ---
+ src/core/spec/CMakeLists.txt     |  2 --
+ src/core/training/CMakeLists.txt |  2 --
+ src/jumandic/CMakeLists.txt      |  8 +-------
+ src/rnn/CMakeLists.txt           |  5 +----
+ src/util/CMakeLists.txt          |  2 --
+ 9 files changed, 4 insertions(+), 34 deletions(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 169dff5..64b6a07 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -67,7 +67,6 @@ function(jpp_feature_codegen)
+ endfunction(jpp_feature_codegen)
+ 
+ add_subdirectory(util)
+-add_subdirectory(testing)
+ add_subdirectory(core)
+ add_subdirectory(jumandic)
+-add_subdirectory(rnn)
+\ No newline at end of file
++add_subdirectory(rnn)
+diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
+index c63d134..01c825e 100644
+--- a/src/core/CMakeLists.txt
++++ b/src/core/CMakeLists.txt
+@@ -55,20 +55,11 @@ set(core_hdrs
+   ${core_hdrs}
+   )
+ 
+-set(core_test_srcs
+-  ${core_test_srcs}
+-  ${core_tsrcs}
+-  test/test_analyzer_env.h
+-  ../testing/test_analyzer.h
+-  )
+-
+ add_library(jpp_core ${core_srcs} ${core_hdrs} ${libs3p_pegtl_headers})
+-jpp_test_executable(jpp_core_tests ${core_test_srcs})
+ 
+ target_include_directories(jpp_core PUBLIC ${jpp_core_cfg_dir})
+ 
+ target_link_libraries(jpp_core PUBLIC jpp_util jpp_rnn PRIVATE pathie)
+-target_link_libraries(jpp_core_tests jpp_core jpp_core_train)
+ 
+ if (${JPP_USE_PROTOBUF})
+   target_include_directories(jpp_core PUBLIC ${Protobuf_INCLUDE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
+@@ -78,4 +69,4 @@ endif()
+ add_subdirectory(benchmarks)
+ if (${JPP_ENABLE_DEV_TOOLS})
+   add_subdirectory(devtools)
+-endif ()
+\ No newline at end of file
++endif ()
+diff --git a/src/core/analysis/CMakeLists.txt b/src/core/analysis/CMakeLists.txt
+index 526263e..1b32f8d 100644
+--- a/src/core/analysis/CMakeLists.txt
++++ b/src/core/analysis/CMakeLists.txt
+@@ -79,5 +79,3 @@ jpp_core_files(core_hdrs
+   )
+ 
+ 
+-jpp_test_executable(jpp_core_analysis_tests ${core_analysis_tsrc})
+-target_link_libraries(jpp_core_analysis_tests jpp_core)
+diff --git a/src/core/codegen/CMakeLists.txt b/src/core/codegen/CMakeLists.txt
+index a905cee..fa759c7 100644
+--- a/src/core/codegen/CMakeLists.txt
++++ b/src/core/codegen/CMakeLists.txt
+@@ -30,7 +30,4 @@ set(jpp_codegen_tsrcs
+ 
+ add_library(jpp_core_codegen ${jpp_codegen_srcs} ${jpp_codegen_hdrs})
+ 
+-jpp_test_executable(jpp_codegen_tests ${jpp_codegen_tsrcs})
+-target_include_directories(jpp_codegen_tests PRIVATE ${cgtest02_INCLUDE})
+ target_link_libraries(jpp_core_codegen jpp_core)
+-target_link_libraries(jpp_codegen_tests jpp_core_codegen)
+\ No newline at end of file
+diff --git a/src/core/spec/CMakeLists.txt b/src/core/spec/CMakeLists.txt
+index f495d67..da827b9 100644
+--- a/src/core/spec/CMakeLists.txt
++++ b/src/core/spec/CMakeLists.txt
+@@ -33,5 +33,3 @@ jpp_core_files(core_hdrs
+ 
+   )
+ 
+-jpp_test_executable(jpp_core_spec_tests ${core_spec_tsrc} ${libs3p_pegtl_headers})
+-target_link_libraries(jpp_core_spec_tests jpp_core)
+\ No newline at end of file
+diff --git a/src/core/training/CMakeLists.txt b/src/core/training/CMakeLists.txt
+index 960437e..4ede9e1 100644
+--- a/src/core/training/CMakeLists.txt
++++ b/src/core/training/CMakeLists.txt
+@@ -39,7 +39,5 @@ set(core_train_hdrs
+ 
+ 
+ add_library(jpp_core_train ${core_train_src} ${core_train_hdrs})
+-jpp_test_executable(jpp_core_train_tests ${core_train_tsrc})
+ 
+ target_link_libraries(jpp_core_train jpp_core)
+-target_link_libraries(jpp_core_train_tests jpp_core_train)
+\ No newline at end of file
+diff --git a/src/jumandic/CMakeLists.txt b/src/jumandic/CMakeLists.txt
+index bef3149..85a8b5d 100644
+--- a/src/jumandic/CMakeLists.txt
++++ b/src/jumandic/CMakeLists.txt
+@@ -53,10 +53,6 @@ if (${JPP_USE_PROTOBUF})
+ endif ()
+ 
+ 
+-jpp_test_executable(jpp_jumandic_tests ${jumandic_tests})
+-jpp_test_executable(jpp_bug_tests ${bug_test_sources})
+-target_include_directories(jpp_jumandic_tests PRIVATE ${jpp_jumandic_cg_INCLUDE})
+-
+ add_executable(jpp_jumandic_bootstrap main/bootstrap.cc)
+ add_executable(jumanpp_v2 main/jumanpp.cc)
+ add_executable(jumanpp_v2_train main/jumanpp_train.cc main/jumanpp_train.h)
+@@ -64,11 +60,9 @@ add_executable(jpp_jumandic_pathdiff main/path_diff.cc)
+ target_include_directories(jpp_jumandic_pathdiff PRIVATE ${jpp_jumandic_cg_INCLUDE})
+ 
+ target_link_libraries(jpp_jumandic jpp_jumandic_spec)
+-target_link_libraries(jpp_jumandic_tests jpp_jumandic jpp_core_train)
+-target_link_libraries(jpp_bug_tests jpp_jumandic jpp_core_train)
+ target_link_libraries(jpp_jumandic_bootstrap jpp_jumandic)
+ target_link_libraries(jumanpp_v2 jpp_jumandic)
+ target_link_libraries(jumanpp_v2_train jpp_jumandic jpp_core_train)
+ target_link_libraries(jpp_jumandic_pathdiff jpp_jumandic)
+ 
+-install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/jumanpp_v2 RENAME jumanpp DESTINATION bin)
+\ No newline at end of file
++install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/jumanpp_v2 RENAME jumanpp DESTINATION bin)
+diff --git a/src/rnn/CMakeLists.txt b/src/rnn/CMakeLists.txt
+index 448ba51..ca09a00 100644
+--- a/src/rnn/CMakeLists.txt
++++ b/src/rnn/CMakeLists.txt
+@@ -1,12 +1,9 @@
+ set(jpp_rnn_sources mikolov_rnn.cc)
+ set(jpp_rnn_includes mikolov_rnn.h simple_rnn_impl.h mikolov_rnn_impl.h rnn_arg_parse.h)
+-set(jpp_rnn_tests mikolov_rnn_test.cc)
+ 
+ add_library(jpp_rnn ${jpp_rnn_sources} ${jpp_rnn_includes} )
+ add_library(jumanpp_rnn_legacy legacy/rnnlmlib.h legacy/rnnlmlib_static.h legacy/rnnlmlib_static.cpp)
+ 
+-jpp_test_executable(jpp_rnn_tests ${jpp_rnn_tests})
+ target_link_libraries(jpp_rnn jpp_util)
+-target_link_libraries(jpp_rnn_tests jpp_rnn jumanpp_rnn_legacy)
+ 
+-target_link_libraries(jumanpp_rnn_legacy jpp_util)
+\ No newline at end of file
++target_link_libraries(jumanpp_rnn_legacy jpp_util)
+diff --git a/src/util/CMakeLists.txt b/src/util/CMakeLists.txt
+index 53b6c57..c4599d5 100644
+--- a/src/util/CMakeLists.txt
++++ b/src/util/CMakeLists.txt
+@@ -25,8 +25,6 @@ endif()
+ 
+ 
+ add_library(jpp_util ${jpp_util_sources} ${jpp_util_headers} ${BACKWARD_headers})
+-jpp_test_executable(jpp_util_test ${jpp_util_test_srcs} ${jpp_util_headers})
+-target_link_libraries(jpp_util_test jpp_util)
+ target_link_libraries(jpp_util ${CMAKE_THREAD_LIBS_INIT})
+ target_include_directories(jpp_util PUBLIC ${JPP_LIBS_DIR} ${JPP_SRC_DIR})
+ target_compile_features(jpp_util PUBLIC
+-- 
+2.33.1
+
diff --git a/pkgs/tools/text/jumanpp/default.nix b/pkgs/tools/text/jumanpp/default.nix
index 5fb5ec88d6793..5bea259bccafc 100644
--- a/pkgs/tools/text/jumanpp/default.nix
+++ b/pkgs/tools/text/jumanpp/default.nix
@@ -9,6 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-ASdr6qbkSe71M7QmuuwidCa4xQhDVoXBJ2XqvSY53pQ=";
   };
 
+  patches = [ ./0001-Exclude-all-tests-from-the-build.patch ];
+  cmakeFlags = [ "-DJPP_ENABLE_TESTS=OFF" ];
+
   nativeBuildInputs = [ cmake ];
   buildInputs = [ protobuf ]
     ++ lib.optional stdenv.isDarwin libiconv;
diff --git a/pkgs/tools/text/justify/default.nix b/pkgs/tools/text/justify/default.nix
new file mode 100644
index 0000000000000..1e18e22db8e25
--- /dev/null
+++ b/pkgs/tools/text/justify/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, stdenv
+, fetchFromGitea
+, cmake
+}:
+
+stdenv.mkDerivation rec {
+  pname = "justify";
+  version = "unstable-2022-03-19";
+
+  src = fetchFromGitea {
+    domain = "tildegit.org";
+    owner = "jns";
+    repo = "justify";
+    rev = "0d397c20ed921c8e091bf18e548d174e15810e62";
+    sha256 = "sha256-406OhJt2Ila/LIhfqJXhbFqFxJJiRyMVI4/VK8Y43kc=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  installPhase = ''
+    install -D justify $out/bin/justify
+  '';
+
+  meta = with lib; {
+    homepage = "https://tildegit.org/jns/justify";
+    description = "Simple text alignment tool that supports left/right/center/fill justify alignment";
+    license = licenses.gpl3Only;
+    platforms = platforms.unix;
+    mainProgram = "justify";
+    maintainers = with maintainers; [ xfnw ];
+  };
+}
diff --git a/pkgs/tools/text/mdbook-pdf/default.nix b/pkgs/tools/text/mdbook-pdf/default.nix
new file mode 100644
index 0000000000000..8c21f50b1d7e2
--- /dev/null
+++ b/pkgs/tools/text/mdbook-pdf/default.nix
@@ -0,0 +1,28 @@
+{ lib, stdenv, fetchCrate, rustPlatform, pkg-config, openssl, CoreServices }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "mdbook-pdf";
+  version = "0.1.2";
+
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "1ibmn8x9kyfd058hsyah2ggyzpahzf2w2qjn6rs9qv8mr3bvc0pv";
+  };
+
+  cargoSha256 = "0k47a5yqnjjc599vgk39ijy6fm62rr8xarvz37g0c7fx9cljhihz";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ openssl ]
+    ++ lib.optionals stdenv.isDarwin [ CoreServices ];
+
+  # No test.
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A backend for mdBook written in Rust for generating PDF";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ hollowman6 ];
+    homepage = "https://github.com/HollowMan6/mdbook-pdf";
+  };
+}
diff --git a/pkgs/tools/text/mdbook/default.nix b/pkgs/tools/text/mdbook/default.nix
index d3a136d6bf756..3ca4d0d8a5597 100644
--- a/pkgs/tools/text/mdbook/default.nix
+++ b/pkgs/tools/text/mdbook/default.nix
@@ -2,19 +2,25 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook";
-  version = "0.4.12";
+  version = "0.4.15";
 
   src = fetchFromGitHub {
     owner = "rust-lang";
     repo = "mdBook";
     rev = "v${version}";
-    sha256 = "sha256-2lxotwL3Dc9jRA12iKO5zotO80pa+RfUZucyDRgFOsI=";
+    sha256 = "sha256-FYuai7YeqrnL5XgOV/EvxIRAu3TkeKJvKiDxnx94PJ8=";
   };
 
-  cargoSha256 = "sha256-TNd4pj4qSKgmmVtSCSKFCxNtv96xD7+24BPsLXPgiEI=";
+  cargoSha256 = "sha256-YWifpXrk+T8C3fGlURDKYWw7mD1TUjJbFHTlK84Tgpc=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
+  # Tests rely on unset 'RUST_LOG' value to emit INFO messages.
+  # 'RUST_LOG=' nixpkgs default enables warnings only and breaks tests.
+  # Can be removed when https://github.com/rust-lang/mdBook/pull/1777
+  # is released.
+  logLevel = "info";
+
   meta = with lib; {
     description = "Create books from MarkDown";
     homepage = "https://github.com/rust-lang/mdBook";
diff --git a/pkgs/tools/text/vale/default.nix b/pkgs/tools/text/vale/default.nix
index 9ecd7f44cfa89..5b14a3d2162fa 100644
--- a/pkgs/tools/text/vale/default.nix
+++ b/pkgs/tools/text/vale/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "vale";
-  version = "2.15.3";
+  version = "2.15.5";
 
   subPackages = [ "cmd/vale" ];
   outputs = [ "out" "data" ];
@@ -11,10 +11,10 @@ buildGoModule rec {
     owner = "errata-ai";
     repo = "vale";
     rev = "v${version}";
-    sha256 = "sha256-vhsn72xCe1wC4YRdo2m49iUj/3nVl0cyfeSmWRfESaY=";
+    sha256 = "sha256-D/HCdYqQCqpgJjEhqAkCf0Dy9lpJUMXeyEemhgGhUco=";
   };
 
-  vendorSha256 = "sha256-/0H35PGFFPch4jDnQ/ggctyHZJ5W/C1PNlkT5zzvI3M=";
+  vendorSha256 = "sha256-5pmocQTTgc6hsHyKFPC/RhKqn3eYjPeiXVNKWjPjWiU=";
 
   postInstall = ''
     mkdir -p $data/share/vale
diff --git a/pkgs/tools/text/xml/jing-trang/default.nix b/pkgs/tools/text/xml/jing-trang/default.nix
index 02f745575adb9..683eecde46b92 100644
--- a/pkgs/tools/text/xml/jing-trang/default.nix
+++ b/pkgs/tools/text/xml/jing-trang/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, jre_headless, jdk, ant, saxon }:
+{ lib, stdenv, fetchFromGitHub, jre_headless, jdk_headless, ant, saxon }:
 
 stdenv.mkDerivation rec {
   pname = "jing-trang";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
-  buildInputs = [ jdk ant saxon ];
+  buildInputs = [ jdk_headless ant saxon ];
 
   CLASSPATH = "lib/saxon.jar";
 
diff --git a/pkgs/tools/typesetting/lowdown/default.nix b/pkgs/tools/typesetting/lowdown/default.nix
index 1cb9c8d40177a..88e3a9720d047 100644
--- a/pkgs/tools/typesetting/lowdown/default.nix
+++ b/pkgs/tools/typesetting/lowdown/default.nix
@@ -1,16 +1,26 @@
-{ lib, stdenv, fetchurl, fixDarwinDylibNames, which }:
+{ lib, stdenv, fetchurl, fixDarwinDylibNames, which
+, enableShared ? !(stdenv.hostPlatform.isStatic)
+, enableStatic ? stdenv.hostPlatform.isStatic
+}:
 
 stdenv.mkDerivation rec {
   pname = "lowdown";
-  version = "0.10.0";
+  version = "0.11.1";
 
   outputs = [ "out" "lib" "dev" "man" ];
 
   src = fetchurl {
     url = "https://kristaps.bsd.lv/lowdown/snapshots/lowdown-${version}.tar.gz";
-    sha512 = "3gq6awxvkz2hb8xzcwqhdhdqgspvqjfzm50bq9i29qy2iisq9vzb91bdp3f4q2sqcmk3gms44xyxyn3ih2hwlzsnk0f5prjzyg97fjj";
+    sha512 = "1l0055g8v0dygyxvk5rchp4sn1g2lakbf6hhq0wkj6nxkfpl43mkyc4vpb02r7v6iqfdwq4461dmdi78blsb3nj8b1gcjx75v7x9pa1";
   };
 
+  # Upstream always passes GNU-style "soname", but cctools expects "install_name".
+  # Whatever name is inserted will be replaced by fixDarwinDylibNames.
+  # https://github.com/kristapsdz/lowdown/issues/87
+  postPatch = lib.optionalString stdenv.isDarwin ''
+    substituteInPlace Makefile --replace soname install_name
+  '';
+
   nativeBuildInputs = [ which ]
     ++ lib.optionals stdenv.isDarwin [ fixDarwinDylibNames ];
 
@@ -27,12 +37,30 @@ stdenv.mkDerivation rec {
     runHook postConfigure
   '';
 
+  makeFlags = [
+    "bins" # prevents shared object from being built unnecessarily
+  ];
+
+  installTargets = [
+    "install"
+  ] ++ lib.optionals enableShared [
+    "install_shared"
+  ] ++ lib.optionals enableStatic [
+    "install_static"
+  ];
+
   # Fix lib extension so that fixDarwinDylibNames detects it
-  postInstall = lib.optionalString stdenv.isDarwin ''
-    mv $lib/lib/liblowdown.{so,dylib}
-  '';
+  # Symlink liblowdown.so to liblowdown.so.1 (or equivalent)
+  postInstall =
+    let
+      inherit (stdenv.hostPlatform.extensions) sharedLibrary;
+    in
 
-  patches = lib.optional (!stdenv.hostPlatform.isStatic) ./shared.patch;
+    lib.optionalString (enableShared && stdenv.isDarwin) ''
+      mv $lib/lib/liblowdown.{so.1,1.dylib}
+    '' + lib.optionalString enableShared ''
+      ln -s $lib/lib/liblowdown*${sharedLibrary}* $lib/lib/liblowdown${sharedLibrary}
+    '';
 
   doInstallCheck = stdenv.hostPlatform == stdenv.buildPlatform;
   installCheckPhase = ''
diff --git a/pkgs/tools/typesetting/lowdown/shared.patch b/pkgs/tools/typesetting/lowdown/shared.patch
deleted file mode 100644
index 75ee03da9700f..0000000000000
--- a/pkgs/tools/typesetting/lowdown/shared.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 955f737..2c9532c 100644
---- a/Makefile
-+++ b/Makefile
-@@ -80,7 +80,7 @@ REGRESS_ARGS	+= "--parse-no-autolink"
- REGRESS_ARGS	+= "--parse-no-cmark"
- REGRESS_ARGS	+= "--parse-no-deflists"
- 
--all: lowdown lowdown-diff lowdown.pc
-+all: lowdown lowdown-diff liblowdown.so lowdown.pc
- 
- www: $(HTMLS) $(PDFS) $(THUMBS) lowdown.tar.gz lowdown.tar.gz.sha512
- 
-@@ -101,6 +101,10 @@ lowdown-diff: lowdown
- liblowdown.a: $(OBJS) $(COMPAT_OBJS)
- 	$(AR) rs $@ $(OBJS) $(COMPAT_OBJS)
- 
-+%.o: CFLAGS += -fPIC
-+liblowdown.so: $(OBJS) $(COMPAT_OBJS)
-+	$(CC) -shared -o $@ $(OBJS) $(COMPAT_OBJS) $(LDFLAGS)
-+
- install: all
- 	mkdir -p $(DESTDIR)$(BINDIR)
- 	mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig
-@@ -111,7 +114,7 @@ install: all
- 	$(INSTALL_DATA) lowdown.pc $(DESTDIR)$(LIBDIR)/pkgconfig
- 	$(INSTALL_PROGRAM) lowdown $(DESTDIR)$(BINDIR)
- 	$(INSTALL_PROGRAM) lowdown-diff $(DESTDIR)$(BINDIR)
--	$(INSTALL_LIB) liblowdown.a $(DESTDIR)$(LIBDIR)
-+	$(INSTALL_LIB) liblowdown.so $(DESTDIR)$(LIBDIR)
- 	$(INSTALL_DATA) lowdown.h $(DESTDIR)$(INCLUDEDIR)
- 	for f in $(MANS) ; do \
- 		name=`basename $$f .html` ; \
-@@ -199,7 +202,7 @@ main.o: lowdown.h
- 
- clean:
- 	rm -f $(OBJS) $(COMPAT_OBJS) main.o
--	rm -f lowdown lowdown-diff liblowdown.a lowdown.pc
-+	rm -f lowdown lowdown-diff liblowdown.so lowdown.pc
- 	rm -f index.xml diff.xml diff.diff.xml README.xml lowdown.tar.gz.sha512 lowdown.tar.gz
- 	rm -f $(PDFS) $(HTMLS) $(THUMBS)
- 
diff --git a/pkgs/tools/typesetting/odpdown/default.nix b/pkgs/tools/typesetting/odpdown/default.nix
index 252167fcea973..27053e36ffa1e 100644
--- a/pkgs/tools/typesetting/odpdown/default.nix
+++ b/pkgs/tools/typesetting/odpdown/default.nix
@@ -20,7 +20,6 @@ python2Packages.buildPythonApplication rec {
 
   meta = with lib; {
     homepage = "https://github.com/thorstenb/odpdown";
-    repositories.git = "https://github.com/thorstenb/odpdown.git";
     description = "Create nice-looking slides from your favourite text editor";
     longDescription = ''
       Have a tool like pandoc, latex beamer etc, that you can write (or
diff --git a/pkgs/tools/typesetting/pdf2djvu/default.nix b/pkgs/tools/typesetting/pdf2djvu/default.nix
index 33f8481bc1a0b..6921c64d85fa5 100644
--- a/pkgs/tools/typesetting/pdf2djvu/default.nix
+++ b/pkgs/tools/typesetting/pdf2djvu/default.nix
@@ -16,22 +16,37 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.17.1";
+  version = "0.9.18.2";
   pname = "pdf2djvu";
 
   src = fetchFromGitHub {
     owner = "jwilk";
     repo = "pdf2djvu";
     rev = version;
-    sha256 = "1igabfy3fd7qndihmkfk9incc15pjxpxh2cn5pfw5fxfwrpjrarn";
+    sha256 = "s6n7nDO15DZSJ1EOPoNvjdFv/QtOoGiUa2b/k3kzWe8=";
   };
 
   patches = [
-    # Not included in 0.9.17.1, but will be in the next version.
+    # Fix build with Poppler 22.03.
     (fetchpatch {
-      name = "no-poppler-splash.patch";
-      url = "https://github.com/jwilk/pdf2djvu/commit/2ec7eee57a47bbfd296badaa03dc20bf71b50201.patch";
-      sha256 = "03kap7k2j29r16qgl781cxpswzg3r2yn513cqycgl0vax2xj3gly";
+      url = "https://github.com/jwilk/pdf2djvu/commit/e170ad557d5f13daeeac047dfaa79347bbe5062f.patch";
+      sha256 = "OPK2UWVs+E2uOEaxPtLWmVL28yCxaeJKscY9ziAbS7E=";
+    })
+    (fetchpatch {
+      url = "https://github.com/jwilk/pdf2djvu/commit/956fedc7e0831126b9006efedad5519c14201c52.patch";
+      sha256 = "JF1xvvL2WyMu6GjdrPLlRC6eC6vGLbVurQcNy3AOOXA=";
+    })
+    (fetchpatch {
+      url = "https://github.com/jwilk/pdf2djvu/commit/dca43e8182174bc04e107eaefcafcfdfdf9bcd61.patch";
+      sha256 = "0JcfDaVZpuv6VfUJ2HuxRqgntZ/t8AzU0RG/E83BWGY=";
+    })
+    (fetchpatch {
+      url = "https://github.com/jwilk/pdf2djvu/commit/81b635e014ebd0240a8719cc39b6a1b759cc6a98.patch";
+      sha256 = "LBmT4eflLd23X7gg7IbqGe3PfTGldEGFLEKImV4nbB0=";
+      postFetch = ''
+        # The file was renamed after the release.
+        sed -i "s/main.cc/pdf2djvu.cc/g" "$out"
+      '';
     })
   ];
 
@@ -62,6 +77,10 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  # Required by Poppler
+  # https://github.com/jwilk/pdf2djvu/commit/373e065faf2f0d868a3700788d20a96e9528bb12
+  CXXFLAGS = "-std=c++17";
+
   meta = with lib; {
     description = "Creates djvu files from PDF files";
     homepage = "https://jwilk.net/software/pdf2djvu";
diff --git a/pkgs/tools/typesetting/sile/default.nix b/pkgs/tools/typesetting/sile/default.nix
index 958ba9f88d8d0..fc391ea8539ab 100644
--- a/pkgs/tools/typesetting/sile/default.nix
+++ b/pkgs/tools/typesetting/sile/default.nix
@@ -38,11 +38,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "sile";
-  version = "0.12.2";
+  version = "0.12.4";
 
   src = fetchurl {
     url = "https://github.com/sile-typesetter/sile/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "0ilnb4gmrj5h5i4q7pl2pyd6n2rdc358x7r163ap0dszypq6f0si";
+    sha256 = "1n46q7xwawz5nipmyz4gy0njaq5svidi9r54wxry6h95b70ax3r2";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix
index c1530856096a4..0cdf0f3976774 100644
--- a/pkgs/tools/typesetting/tex/texlive/default.nix
+++ b/pkgs/tools/typesetting/tex/texlive/default.nix
@@ -7,7 +7,6 @@
 , makeWrapper, python3, ruby, perl
 , useFixedHashes ? true
 , recurseIntoAttrs
-, fetchpatch
 }:
 let
   # various binaries (compiled)
@@ -57,22 +56,15 @@ let
         deps = orig.collection-plaingeneric.deps // { inherit (tl) xdvi; };
       };
 
+      # override cyclic dependency until #167226 is fixed
+      xecjk = orig.xecjk // {
+        deps = removeAttrs orig.xecjk.deps [ "ctex" ];
+      };
+
       texdoc = orig.texdoc // {
         # build Data.tlpdb.lua (part of the 'tlType == "run"' package)
-        postUnpack = let
-          # commit that ensures reproducibility of Data.tlpdb.lua
-          # remove on the next texdoc update
-          reproPatch = fetchpatch {
-            name = "make-data-tlpdb-lua-reproducible.patch";
-            url = "https://github.com/TeX-Live/texdoc/commit/82aff83d5453a887c1117b9e771a98bddd8a605a.patch";
-            sha256 = "0y04y468i7db4p5bsyyhgzip8q4fi1756x9a15ndha9xfnasbf44";
-            stripLen = 2;
-            extraPrefix = "scripts/texdoc/";
-          };
-        in ''
+        postUnpack = ''
           if [[ -f "$out"/scripts/texdoc/texdoc.tlu ]]; then
-            patch -p1 -d "$out" < "${reproPatch}"
-
             unxz --stdout "${tlpdb}" > texlive.tlpdb
 
             # create dummy doc file to ensure that texdoc does not return an error
@@ -123,20 +115,21 @@ let
         ++ combinePkgs (attrs.deps or {});
     };
 
-  snapshot = {
-    year = "2021";
-    month = "12";
-    day = "27";
-  };
+  # for daily snapshots
+  # snapshot = {
+  #   year = "2022";
+  #   month = "03";
+  #   day = "22";
+  # };
 
   tlpdb = fetchurl {
     # use the same mirror(s) as urlPrefixes below
     urls = [
-      #"http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2019/tlnet-final/tlpkg/texlive.tlpdb.xz"
-      #"ftp://tug.org/texlive/historic/2019/tlnet-final/tlpkg/texlive.tlpdb.xz"
-      "https://texlive.info/tlnet-archive/${snapshot.year}/${snapshot.month}/${snapshot.day}/tlnet/tlpkg/texlive.tlpdb.xz"
+      "http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/${bin.texliveYear}/tlnet-final/tlpkg/texlive.tlpdb.xz"
+      "ftp://tug.org/texlive/historic/${bin.texliveYear}/tlnet-final/tlpkg/texlive.tlpdb.xz"
+      #"https://texlive.info/tlnet-archive/${snapshot.year}/${snapshot.month}/${snapshot.day}/tlnet/tlpkg/texlive.tlpdb.xz"
     ];
-    hash = "sha512-PcXTctrO0aL5C7Ci1J2Z5fa5WqKONhOK2q0FnSbT5+iP9WWSCljyQiHE8C4LYMMHii48y6AJVRkjVIukI3+rUQ==";
+    hash = "sha256-qSV6OZmGHCom2w85WXm84ohMrGGJLZ2Vzj9talDNiOo=";
   };
 
   # create a derivation that contains an unpacked upstream TL package
@@ -157,11 +150,11 @@ let
       # (https://tug.org/historic/).
       urlPrefixes = args.urlPrefixes or [
         # tlnet-final snapshot
-        #"http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2019/tlnet-final/archive"
-        #"ftp://tug.org/texlive/historic/2019/tlnet-final/archive"
+        "http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/${bin.texliveYear}/tlnet-final/archive"
+        "ftp://tug.org/texlive/historic/${bin.texliveYear}/tlnet-final/archive"
 
         # Daily snapshots hosted by one of the texlive release managers
-        "https://texlive.info/tlnet-archive/${snapshot.year}/${snapshot.month}/${snapshot.day}/tlnet/archive"
+        #"https://texlive.info/tlnet-archive/${snapshot.year}/${snapshot.month}/${snapshot.day}/tlnet/archive"
       ];
 
     in runCommand "texlive-${tlName}"
@@ -209,7 +202,8 @@ in
           (combine {
             ${pname} = attrs;
             extraName = "combined" + lib.removePrefix "scheme" pname;
-            extraVersion = ".${snapshot.year}${snapshot.month}${snapshot.day}";
+            extraVersion = "-final";
+            #extraVersion = ".${snapshot.year}${snapshot.month}${snapshot.day}";
           })
         )
         { inherit (tl)
diff --git a/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix b/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix
index 0967ef424bce6..e57d15077d181 100644
--- a/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix
+++ b/pkgs/tools/typesetting/tex/texlive/fixedHashes.nix
@@ -1 +1,9516 @@
-{}
+{
+"amsfonts-3.04"="0l3ypclhv5qdpcpy29xwda2m3cjfn5l996agas6yhpdr2m58q211";
+"amsfonts.doc-3.04"="1v7chx5rvvqmcf7j35qi55wxwxkbfkbv34b15yrgn6bflniziicm";
+"amsfonts.source-3.04"="064gndy9lnmsq2srw5hh97sbdk8gk0qv9zzki00ms3c6rzhd9sjl";
+"bibtex-0.99d"="1w7vpf0kw6vi3hgmlmk0dpzk82kns7a77appx8yg76xcip2xid51";
+"bibtex.doc-0.99d"="13xh14d3v8a9ik4z5kn0y3qff9j6zb83671411in78v46dh3d75y";
+"kpathsea-61937"="1g3nca35s9qnsg7jhj20j5ddrh47ks7qfwhidfbg133mc38ndbzq";
+"kpathsea.doc-61937"="121f7nv9zq4dsy0krd1wkq5yjpbynjav6asafpq5idp1l5haw67h";
+"cm-57963"="1i70pxbx7bp7lzpd4skdymv1a7h8njsr42v8l8jvh4bs3gkmlbgi";
+"cm.doc-57963"="1s5jagrajx29zmpdbqc6qpbcpwgp7g4c3d59ilg4sgcqgd9n5v1j";
+"colorprofiles-20181105"="05nf7y425f8ric57c3afq7ymc7ndxcdahbx9n32jnaz9j3qq2ypl";
+"colorprofiles.doc-20181105"="152vrbm5km4ymj5h41x8cjyypj06g4xq3vyvmgakai9qz270dvyz";
+"dvipdfmx-61101"="0i83g2476bp3zfgdvg11kmls969ip36z1d4w592946547ar2akmv";
+"dvipdfmx.doc-61101"="04zmlbpiclcd6bsxzq2xcssrbnla9wxvw4fx4p52lkija91qv848";
+"glyphlist-54074"="12nmmyh77vr2622lzi11nm1z1k2bxs7jz018yl4rwjlpg0sxg1ja";
+"dvips-61719"="0k89qqz9zx5zh13azpjndfzszgl85hq4513kaayf4k3spy9fn5yw";
+"dvips.doc-61719"="1j0k0sg0j5zhcw2k8aznp9kflmmvw06qhwwlmbhsj1ii3847vxsh";
+"ec-1.0"="0l9zf4zs8yw84x5rnyzaggz4idl4kmvj40c03jyxbsxsx6bi8jks";
+"ec.doc-1.0"="013w8hdsln91k13c3ilv36p4vp1263knkxf4m3hh6vaaqcr55aw9";
+"enctex-34957"="02a26lzlkkw3dabxci7w77117n2bagsdk5rlcn4cps45xdbjqikj";
+"enctex.doc-34957"="068qh474lirr3yzh8ggpavqsmzdv5yvlc1i93f5cx49cd9j7dm0w";
+"etex-56291"="1zk4dp55r1yjwy1bpigyzbfm9nh3np544hfmzzfhdg4i4yps87k8";
+"etex.doc-56291"="1nsh69hzpk33ljng9g6drrrb5c59cm58a058damk3s3gzfy7a8a1";
+"etex-pkg-2.7"="01aa6bn8d46ql8aw8kg9k2c3x611jpd5hx3h6g2fqb2lvjqnr1zp";
+"etex-pkg.doc-2.7"="1hcir648vyypvqa8r710mj9qldir9yp2lq7biv3s9w1vl2ssw18d";
+"graphics-def-62085"="0mpkx9jwwabkz79r7agz0v5xd9v2l551hn7cwl7w6b48ywqscmxf";
+"graphics-def.doc-62085"="0345ybrfzjfxx0bgkbv6gv1y2gx4vw63zbvj2394d8lr2sij1snx";
+"hyph-utf8-61719"="14jj24fr6v74vj8wi2a9k9zk9vnrvmy1ni4zn24dl5fdfw75n5ik";
+"hyph-utf8.doc-61719"="11n1blnx9i7q2dlhyhf1dxs2vnldc9r8f3k6diix0i1np8hpz05q";
+"hyph-utf8.source-61719"="1cff5ijmpxc752n6cmpfzn1a10ihrkz7n9l55gz2k2q0a00m2ssh";
+"hyphen-base-62756"="1fridbp66rs1p570s7pi477j15bbdrqn693wb9ga888vrl1fvvm2";
+"hyphenex-57387"="08f915yqpx6qhc2dzbicbv9cijzpgcl4jpifydqcc0x68y51qrzi";
+"hyphenex.source-57387"="0lqn354bskaa6g0bn9g1r3lbb1hj9si5n1ki38awayzp1yj8a3q0";
+"ifplatform-0.4a"="0abhpfw3w1mvpg52xaw3cngl55sszk5ji9a38yab8vhknh3d3jby";
+"ifplatform.doc-0.4a"="1b41nzn666askfc1kkm1lwf05ggf2ml8gz3rrki4yw6ch52sl2sc";
+"ifplatform.source-0.4a"="0g0qvbvv4j87rxps9yypair00z6il5hfjczkrmf4fkycw714sdqa";
+"iftex-1.0f"="0dzpfyc2ld4kbdwj457fzmf733792gz1z7n7hpbn6z7npnkg6i8s";
+"iftex.doc-1.0f"="07wvwfxwv641lmk0p1gplv7rsvab87v9fgzamizqvihf2ys506q2";
+"knuth-lib-57963"="0dl8z340n6m6xn7wari4hir0syxqi0kl2fhnf0bvnmkqhqwyzpca";
+"knuth-local-57963"="02cf32f57fr6bngiv9xiw8bh4sq53p9br034ap74s80h3bgcmn1f";
+"lua-alt-getopt-0.7.0"="17czrz46xlbj3xkh4jwdq269mqaq7165kpkhhqa498hrkcgdgaak";
+"lua-alt-getopt.doc-0.7.0"="1zfwvs979c7s16vpv2k9l81mcmm9y4qdjk46l8ik3123dalchv6f";
+"luahbtex.doc-57972"="0w4hfjmjgiw42bpz1b59cla8v4s6kik54q6wdhmdjy6jp91rfl2i";
+"luatex-62174"="0yjx7nw9mgfgnq1givkzbxh7z7ncw1liaddjgm7n2nwn0aw6xfdg";
+"luatex.doc-62174"="1hpjhng5664l4qkrb50d4qgvp9vshg2la4d1myrqc11s7vh72niz";
+"plain-3.141592653"="1mn5cfiaj7wrjij4y0g2mipc6v8dk7l7nc25s1gmgvvyfqwd3byv";
+"tex-ini-files-40533"="0q1g62jg0qiqslm93ycvm30bw8ydmssjdshzsnzl7n2vpd62qfi2";
+"tex-ini-files.doc-40533"="198f4y0bjw9azzck8rz6ml0rpq7g67r37rw8825y8crhpykchp6n";
+"unicode-data-1.15"="0v1d77ja2p1i1phhfv1ikyqh0f9iydc7hjcj2qyjvnm31r4z1452";
+"unicode-data.doc-1.15"="1ak0p4m7zpsk2bk4y0fsvb62qm7vmqw8mcviwpl64fr1fbgyglg8";
+"makeindex-52851"="0lpqnw6nr19p08pf52rcx1xvvsywkpf1rqrkjdsgrv55d1afsd36";
+"makeindex.doc-52851"="1zzi53l4sp5zs57bcmylj7ydv3h2638y46g5dfxkhhzpl6zkhvxm";
+"mflogo-2.0"="0swy70pm0pyqzy1i5wf5hc6cbzn91ihw8hwh9kavdfawb4qzjxxw";
+"mflogo.doc-2.0"="1xqk3nwpi3drkzrnr172i660yx541lxxw3wps0jqbqficqn4fiw4";
+"mflogo.source-2.0"="145hmbxr5x5pj2whra9yify9lyx0ak1az31gvwr3gp5klcmna8p0";
+"mfware-61719"="0kcz1gy17819w77sf0l9m5f6rw8dcapkdbvwaknnrmy50v0jfs1n";
+"mfware.doc-61719"="08bx2bl2xm1bqkrs1b80inzdf4q5djwa8nn0fhbir80z1a3cbf0f";
+"modes-4.2"="0xg6jpyxni3r3fl6r7iq1vz97pp1w3gh8ccp7w5k51igs3dpvcvv";
+"modes.doc-4.2"="1lgmgg6hhq5h3zgpc9vrbb6j0pif03cjs6gwj20df8md69hzr184";
+"pdftex-62145"="079pv90lpakdn10p2vddzdvi9z5grx3c9yrjfg4k3iii7zdjagx4";
+"pdftex.doc-62145"="0v47bnyd6r2i4z3gy9as7nvl3gylsniikp55ywbr9p13q1s4pwkn";
+"dehyph-48599"="0fkqlsknrlxk8zazcqy4q3nisxr3a4x21aiwqhz8s237rdf3w39g";
+"tex.doc-3.141592653"="0njmxc6l84j44k48qh7d79n3qznzriz2pf8lkj09i7mkkj9fw9lf";
+"texlive-common.doc-62149"="0jryb62sw6mgl4hk0b346rzd72a2ixrrp41ilwsbnycl1kbg6644";
+"texlive-en.doc-61754"="1pjzjpyc8lfbx1qdlhrgvla262wi4nniagxmlxs1942xv3x81rqq";
+"texlive-scripts-62847"="0ryhll848sc58hj9q8a26lb9q1lkisq15rrmd0nv14wflzh9d8j4";
+"texlive-scripts.doc-62847"="13di46v2i9ycji46r084wc4x0a6hzyr74mrng050gwis2a8ds01m";
+"tlshell-60747"="1wkqyr71inys08h4j2ssi9s5nl4jx3xkxk5fqv6agqxz62h8607z";
+"tlshell.doc-60747"="1h5mk09sakbmgsppl9fnry28xnzqya3bmp3r1nkzg44cv7kl98vz";
+"aaai-named-52470"="1xs2iki0v1mh0kbqjxnv9r24bcfmgj6myfw7h368h8g0s1n8d5v6";
+"aichej-15878"="1pr92pq3yjsrbax6ah01cqg7131fp2rkqqjnxwcrm4119z2ic0gf";
+"ajl-34016"="1xkrvy06lw4ngj94zybs14ysal2pg7g71h864gq9bjw0zwq2yjzs";
+"amsrefs-2.14"="015spycf9ycxav8r046yn7lrc892nhkkrf1say1yy9karsji6dnw";
+"amsrefs.doc-2.14"="11fc87kbdm440v4qyhxnv654mh0m6rpz42zji38qspcqj19rck71";
+"amsrefs.source-2.14"="02q2x8zpwxkyrh9v7xqw35vdjx0b4fzz95xcv6vfjmynm8cpklxf";
+"annotate-52824"="12q3xk08ycz57vsrcr2glk7y48w8sbc4n8lrqaicd46cxfd4jdqm";
+"apacite-6.03"="013769hi9alyizx08a0v1hbl03h5vkwi6a6ar3ghw8m6l445xb8m";
+"apacite.doc-6.03"="0d49bmdiiriklmh99kavvm48zh29bgiw7zr5jbcwk5bw42qarlqa";
+"apacite.source-6.03"="0hsrhw50sb8lphxib4jmjgplfrmy95m56a1phiac4kwxphlj9di2";
+"apalike-ejor-1.2.0"="1498dg6dcb5d5vndc794427740i6n1s68kwj9vzcpfpgb67khpfz";
+"apalike-ejor.doc-1.2.0"="0x6gm4djf2bfs92zsjzmj41dvv7pa2lawycjlmazsr55dd3assdd";
+"apalike2-54080"="0mn84ahwjg8gvw5lifvcrnch11q79d4bgw3nmhrh4v8slwgip5l7";
+"archaeologie-2.4.5"="1g0r3y1s7759lx75fhmc2v38ks4mgbldpjkkxnk7rq0ljdqy38x9";
+"archaeologie.doc-2.4.5"="1hccakjvh7ldyja2nfi68926yn175fhawiwc76qk5fksggj568rg";
+"archaeologie.source-2.4.5"="1gv9495g29hqc0g6in438g8sdkaxwwn2vvp8f41mz033dzfln5bs";
+"authordate-52564"="0caz9s2ra7qqlzdnahhv50z050iyp62ypyrfpbj1p9ih7zmcdg23";
+"authordate.doc-52564"="14wxjyrighkhg51m9jpdyjdwz2ipz4zr1rfgmdnxbpg31rbg2x7s";
+"beebe-62425"="1ipw282kd57giy4d9kqv963jz0mgakhiy4macrbaf33lvj551l9b";
+"besjournals-45662"="1jpp3ayblhwwqzndss91rcns3axr60b8zzxdd6f4qqifhaqczk3l";
+"besjournals.doc-45662"="02s7qd7vvdr6wf00cm7026984s6vphp88iaqhnhk0iiafpr3lk3i";
+"bestpapers-1.0"="00ig29wqb4fn6qw7szmwmv92s19nc2wpapv4pgv8nwsby8nplyrm";
+"bestpapers.doc-1.0"="08yv29s2cx89nq0lvykx8z6szs72d2ph97g75bqni3l7b4n0wng7";
+"bib2gls-2.9"="1wfgpgda0kagc3jj4xfv0lazzydrlrikbs5bi3kvl3a0dg8wba6s";
+"bib2gls.doc-2.9"="1y4a0i1nv5nprq4z1ncxm5ri3xvkral5gm81dr1ivwip1hgv6zpd";
+"bib2gls.source-2.9"="0rwgk026cfzf48256cfmbm26wzdlkcljx3g18ahi7ka72lm9w1ax";
+"bibarts-2.4"="057710y3yaqkz53y51pwibjjcc7f2llnanfi4yyyvdh4mkvsiqp8";
+"bibarts.doc-2.4"="1l7g0l7s38waz1w3ch17bawcvljk9h8i7vnv005jsj0ww655i4i9";
+"bibarts.source-2.4"="14gwx3hl07k5z02avxv3fd9gw3psyf90ja5xcxcahsmgk55wdbg7";
+"biber.doc-2.17"="0zhavk94smw0dsgypmddx0x08z4hl3ph4hhvzjg7h7g3f86xhvmb";
+"biber.source-2.17"="1pdkxikcacimb89a8m1rf88v0w0dqlvbsrkx1n46anrd6382swy9";
+"bibexport-3.03"="1zbsilzaz68zvmbf2xw7jqw4l66clcplz3l46ggxw95gns8mgqlg";
+"bibexport.doc-3.03"="17a5w095vkpp7j54h8m7f74l7vycsqbv6zzschdb3dd34scq1s5w";
+"bibexport.source-3.03"="1pqs7j4xdhx3pqsc8i0wqnz9jkyg891dzl7g3cv19a6wv82k0xjv";
+"bibhtml-2.0.2"="1sg9x0jrgh2jng9b1pd08i0f8kzhy94sq0mf33as91gr43dzws88";
+"bibhtml.doc-2.0.2"="0is3q2m1xg52h5s9n9403c85yfmpjaqqbh8lgyfqfwhl5qqmgrf9";
+"biblatex-3.17"="01wfy9x17435jkd96l5s0qqgyzh3whwhps8afs8vawk7b0zfmjb0";
+"biblatex.doc-3.17"="01k4jlldvrks2qlhnb1cabz9hf4jrb5chlhxjhjza1bpdky2vjs5";
+"etoolbox-2.5k"="1g944zizyl05qz6lq1k13hv9952r97gc1i7is9s5fckz664075jl";
+"etoolbox.doc-2.5k"="05c3kvfwvbg4bxf3wza5rdvh98mnxadf818rsklxa5g2lz44jm76";
+"kvoptions-3.14"="10rv33msjbxkxyvxckxbwzf7y011cgdqgpfqh724m9554s6rlqkl";
+"kvoptions.doc-3.14"="1j9jszxr3cbpjgdr2z42zf4yi33bbqs2yga6nrdjykpfi6n8i9wq";
+"kvoptions.source-3.14"="06z7r2100z6k2cgp4slynr7w5vardb3jm2wpxd0zm68b1p9spzq2";
+"logreq-1.0"="1zj1vn0yfklngvfvcr0p8hchar220lwfrznsq73jbw9zzjx47v4f";
+"logreq.doc-1.0"="143b5bb1jkc9j1gd46c28q4zq8jlh9wrngjw8q4prw5dkfnf1s8m";
+"pdftexcmds-0.33"="1fpijk36lx5czl6bpbawlm8f34zp264l1fli095wha41fil25hks";
+"pdftexcmds.doc-0.33"="00xzyvl66fds400dm5zryrv3m5s42mv6658zx7fnx2wbd0jxs738";
+"pdftexcmds.source-0.33"="11516wkglckyrz41pz9cqj0xa2bd6v2l234k28ynnmfjsg56vph9";
+"url-3.4"="189lixyamvrcpds2i7nlh4w83mk5lnk73158kcw3qjanpncnnn1f";
+"url.doc-3.4"="1xragd7gak0vzj14f7dcx5hxg8plh47ncqdb1m5liaibrdlhgpql";
+"biblatex-abnt-3.4"="1dn2929wlyzwb96iq5lj8x9zr2fi1c4qk1rldc0vrr5s3cxfn3x7";
+"biblatex-abnt.doc-3.4"="000akwyh992yxzn51jlvnc20g12ypq2zmffvnbwxjy3cyq0aggq8";
+"biblatex-ajc2020unofficial-0.2.0"="1csx7vad5svflb76ssdkvd8y3r2n9agqqynw88wvzhzj61fkd2cr";
+"biblatex-ajc2020unofficial.doc-0.2.0"="03wzlpr5v6y67syy0bx87z123ark524fm6kqjw83v0sa4y4kwq7l";
+"biblatex-anonymous-2.6.2"="02fssl0l50s94y6x7rv2rm0227ivgr7kfnim435j4k1l0av4gb3n";
+"biblatex-anonymous.doc-2.6.2"="0dffdxp04shrh7fsl4dilqcsnnxbjpbayy9r87hxmq3yk605lvki";
+"biblatex-apa-9.15"="0sdmadl030vf865xxibky44mvciwf4qi237b70zmwv7hnwhq16a6";
+"biblatex-apa.doc-9.15"="04cnkqx23ym4v7qv7ib1wi8m91bkchrnp76rnxrhj9bahfvz7804";
+"biblatex-apa6-8.5"="1a1kynyy1gdmsfnwlnxws74hwyqc6sq29wv6ybalpipdzn7dg73i";
+"biblatex-apa6.doc-8.5"="1qvn9bnzvx88qbmbdgds53q08v7ml42mbqbcn7bzzq6mnz9ra2mx";
+"biblatex-archaeology-2.2"="1kf5aqc8mv28k0aiipwm6yc1vkgzyikp0bsmpmgdhy5acz3whfxc";
+"biblatex-archaeology.doc-2.2"="022l37hplzmvkcpnr06n4fz509w8wm24py0c05qljs6jz7smyhh6";
+"biblatex-archaeology.source-2.2"="0shn0bacflcaayajxpdiv9ik994aizpdmlc010shm3fzjdlay79c";
+"biblatex-arthistory-bonn-1.2"="1j0wy272dkzcb96i74qh54ap2hs5wdhmln8akh749fyydsazr43h";
+"biblatex-arthistory-bonn.doc-1.2"="094s5c55lfc7ssmz3mzj61zkxpnn1haj2vh582apzffppgd3fd0m";
+"biblatex-bath-5.0"="0nznlcay4pv0i76xy7hd7chzajv2as21azpgknprm096sahqgck9";
+"biblatex-bath.doc-5.0"="09b5zczd4qi4vq9ifj4rfi22pb5iid8mkl6j8mmwxr9v6cfk03zy";
+"biblatex-bath.source-5.0"="0cjhk02a79klq62cmpyg1k6g4bz4fcbl50c78ilnqzbgfzfhk25q";
+"biblatex-bookinarticle-1.3.1a"="1gas58hi5ycchbpamm0z9mn5jc2hbry682i4wmba242wm55digyq";
+"biblatex-bookinarticle.doc-1.3.1a"="1s39gixpryiqf44riq5bk3hnp6nc8pdqbdylh594k9xk3770p77z";
+"biblatex-bookinother-2.3.3"="1vb9m88z3cck9gi8d41lsv4ckqli4wjdgwkklfds2z189vbncc4k";
+"biblatex-bookinother.doc-2.3.3"="0zzmlsikzv5zxvd5xh12fzynmkl0bzzvl2s2y2r4kfn6s08xncja";
+"biblatex-bwl-0.02"="1ii8jacddlj15sm45g5rnk7yqbsd7i8c6a1pxy34vpb6bgsfb69m";
+"biblatex-bwl.doc-0.02"="11cspr9i8q1da0x23bplsy88nfmn1x87zvrqdc28gbk4ybi6fc4s";
+"biblatex-caspervector-0.3.5"="158ba1fhzfaqq056wzs6af6hx92h7yscliddmz1y1dlm1as8x1hz";
+"biblatex-caspervector.doc-0.3.5"="123l0nk56vs2i153q9bwplqb2jyg66bl7b6xm60dz7k16l81w3ky";
+"biblatex-chem-1.1z"="0kv44yng5wff1xkgw8nya64jizfcf1ipxrgnf46pd1dak5vlsiq0";
+"biblatex-chem.doc-1.1z"="0amx09qlk78kw6iam8b83xx0kw12k5p7q6wn267imr2rsibbs3l7";
+"biblatex-chicago-2.2"="06qi2njdy369ly3v4dd2bs4gyjb4s4xhx0l7g4j9pcywpz0ankcj";
+"biblatex-chicago.doc-2.2"="0cbp26rk949y5nkvjak6rx8rficv4ml38zwslr9hh6022rx3lpgx";
+"biblatex-claves-1.2.1"="0saj8s7q9lzjnydjh3x2hcnhj0wfm2p4rvxk5n6hi2ccfw78d3c1";
+"biblatex-claves.doc-1.2.1"="0g4x5jblj664ngppqpbks3d0ahn818ck871q2aqir6jgkrd13cpw";
+"biblatex-cv-0.01"="0k3bbbjvykc52y4557nm7kqna89mjq6g5j5hpblrcdlmvd5anq2l";
+"biblatex-cv.doc-0.01"="1xbd71vpm6vfyjaszn7jlxr084mqxw558rqyqr8x848hbyh6f888";
+"biblatex-dw-1.7"="17d0mayflv3hwf9ik3z7vjpgp2cv1iyva5iy1nrlf8j7008azmka";
+"biblatex-dw.doc-1.7"="1879390m7ivmb49fkvkhl7233a33q89hpb2pnyvsscz5km3vv4w0";
+"biblatex-enc-1.0"="0kvya1xzxpcmvwgacb726jqzmgr944y9ljai45f0gdkw855ylmb8";
+"biblatex-enc.doc-1.0"="0mmc5sd1jjnj42aa2q1g1zaps1hla6yayl769i4bya6i1w9r99yf";
+"biblatex-ext-0.15"="0i229qzi0jax8vjrl2x1pi2v4k7jjs262dcm30w9c6i4z483q5ym";
+"biblatex-ext.doc-0.15"="14vq50axsl3jqbb82gbgvzqc2yaxqsjpr2q6fsmfcxvspsilcf1w";
+"biblatex-fiwi-1.7"="16grb6hqmrhvzryijg6p4q4vf47a0lxa8bw59avlib5j7mqpg0wc";
+"biblatex-fiwi.doc-1.7"="10skq20bmpqymbgxs47z8ac0q5nckyph7s4xwqmpfd7pi2sksb4a";
+"biblatex-gb7714-2015-1.1f"="0wmg2mhpqw8mnyy9y1nfkkqnak3cw3skcw01i4vmskbx8xlm39l1";
+"biblatex-gb7714-2015.doc-1.1f"="0ld73f0294g2byk23cn5wh27zgsg208b8qa4x1sjr6p408jffym6";
+"biblatex-german-legal-002"="1x7x5vpicvxdjbbx17s8va3j0m9mig9ilwim2sp674yxjhfdpw48";
+"biblatex-german-legal.doc-002"="0jgkxjcx6z9nc0c6ms1cn1j7h94d2frxmj9i5rd3h37cj5rax25y";
+"biblatex-gost-1.22"="0ar1d77qzhqb2wvxa2rqgfdk006ph5p2h3a4i0ibjbnm61wx2afp";
+"biblatex-gost.doc-1.22"="1xqs7h95qc04lz3wiyfi546p6p4l9bzx4g13sbybsyv2b9yv9114";
+"biblatex-historian-0.4"="14p27qb8rdx479pj7zdvl00ir1zg8f0bzp107zfwv61ypq8zrvbl";
+"biblatex-historian.doc-0.4"="0hcghqxbjah4lyjzlrkixs6iqbkjx4d8r3hv16lgnddkndbgq663";
+"biblatex-ieee-1.3f"="0iwj8jp5q16g0waci3wqc7hb1qmn35b6gw0x0c2v7444rs2id242";
+"biblatex-ieee.doc-1.3f"="0mnpgdamgf0f3nr0lbzkhl0ncnf5qvd3g3q4qnw45h30y69cpmsq";
+"biblatex-ijsra-0.1"="0gnm3h0918lvbqwnzk9wkdcafpzz5q3cln2z1sjaylr3mgypykdw";
+"biblatex-ijsra.doc-0.1"="0jl8mr3ai1ybc3lmp7x477znv59az94hlbzaqmvix54rxf6k8f4k";
+"biblatex-iso690-0.4.1"="1nkq6fa443dpxxm1w7fkj04169a50d61zwsvijg2z80ivlfqpn8m";
+"biblatex-iso690.doc-0.4.1"="0y139zpq2xzdwj7ak46wdii3jsnjdywdxvnw5qwh58vvwwliz2cc";
+"biblatex-jura2-0.4"="1wwhlys3s1zb1zp675ikgydpwzkzgpk51phwd67nx9zphdd9h55q";
+"biblatex-jura2.doc-0.4"="14rpa74dq13g4wjd5b28pwivf7frz5w4712p0mld15z9cvlsi5hn";
+"biblatex-juradiss-0.23"="0zi9b67y0p9zdz2n4j1lr5qgd54p3l13c132wjz749mlrv6njfx3";
+"biblatex-juradiss.doc-0.23"="0a6d7awx49cy86ndwfkfq280dwh846ssjkkkrgbq4vxlbmbh2zpx";
+"biblatex-license-0.1"="1fg16xc32kbg493y91sjxjnxpi6jb7kki7yvy3d796w7vy86ljfn";
+"biblatex-license.doc-0.1"="0iy8ad7k9j5x5wnnk196dwsyc5hhz8fl88wq56x80cgfdkg20jrh";
+"biblatex-lncs-0.4"="013a3kylcxgnm4fyqw2akjx0bsx2sir0agi8fg9fbw7zflw805v5";
+"biblatex-lncs.doc-0.4"="0bqbxrai2kg7888hcja6aj7aflijkg2m4l2s9k3qz38xaw0qqkkx";
+"biblatex-lni-0.5"="1dg4xa0xkblf3iy9hipjp4wwk46zwq5yhwfsmiwxa63bkjavpzg6";
+"biblatex-lni.doc-0.5"="0d0cx0jvgy2shly976ypmr0k1rrpmiiqc01m2sb9scj558vrf3fn";
+"biblatex-luh-ipw-0.3"="13hh4x8p8hxnyz6cr22lb3djl5advrl5c9dyx6f491d2mjz7vibs";
+"biblatex-luh-ipw.doc-0.3"="0xb2wmg5psd0wi21j1vmn1y8sy8gw78350fqbmpgd6l4xw7bb4gn";
+"biblatex-manuscripts-philology-2.1.2"="0wrhgwkbi468nzh41278mxh1ljsycz0vvch583jaksf26cxi6cpd";
+"biblatex-manuscripts-philology.doc-2.1.2"="1ybl7drbymw9sr019w8jyxir0827kbr8w9swvz64shjzhblkcdzg";
+"biblatex-mla-2.1a"="1fdznq1hvym9wgrxd2gsxdi534n5pbx95i8hzkz95zbxfvjpf4rk";
+"biblatex-mla.doc-2.1a"="0i4716ascvd17l0nlf1wn4vddkjkzc85545wgb4cdzj847azm1yj";
+"biblatex-morenames-1.3.1"="1imryzaywyvdr67qcspys9r3mhl5k94vhqjsl16pmz86klq1bs1w";
+"biblatex-morenames.doc-1.3.1"="03p7154s44ga7rlf8ya69qvbwkb6gsiwz8j2wycgzljj0z3plnjh";
+"biblatex-multiple-dm-1.0.1"="11rl82yv0bfy69cmij15np3wc15jss82ghf965r0b1py37vsj0s4";
+"biblatex-multiple-dm.doc-1.0.1"="1jypgpaid18g09xxryriaj4n1ql0759jfv4jshjbkbk5fgf4c2yi";
+"biblatex-musuos-1.0"="0zs2dwsid3xhcl01a2hqrr0mdfr1q9j0zga4rjlarfzkgznkqrwc";
+"biblatex-musuos.doc-1.0"="172kvn0rpmk331yvpf3zbyisv1qlykz8icxgr1xkq5z9bxn9qmkc";
+"biblatex-nature-1.3d"="0pfpm5am4dwj04fwdjrw30dx8qrmfx56s7gkl9h9qyj2qadsx533";
+"biblatex-nature.doc-1.3d"="1mga7yx3radxwqhfmxzh2hmsyvx9qmal394cv31mlb3yd5ww1sv4";
+"biblatex-nejm-0.5.0"="02v8bfdxslcgilfsnw0g516zl2rfqx0d87hjb0dbm4md5qbry0km";
+"biblatex-nejm.doc-0.5.0"="1znfnxizc22dgpp3bkl1iim2ksi3w9klw4jam84103bpbl3vwxgr";
+"biblatex-nejm.source-0.5.0"="02q97wss9bm6xj9lvr8vx8jvp8bszkxgk4ayxk5zc4lrnjzw2i51";
+"biblatex-nottsclassic-0.1"="00valazq56srfggfw1mq8h7285lrx8iyk44kb8bhqr1q7nhl6pzi";
+"biblatex-nottsclassic.doc-0.1"="1c5634p7knwv8zrpqh39zlpglbdbx9a5y5gw54gj37x3r1ij769x";
+"biblatex-opcit-booktitle-1.9.0"="1xciw0zxkp2034lccvhr6irkr333s0qqqacxqx20v51vjjg8ywkg";
+"biblatex-opcit-booktitle.doc-1.9.0"="1rbswdipirzv68ckh69cc29k908ifpkzp3vxgd2j0bjl3qvbwcyq";
+"biblatex-oxref-2.2"="02071anv1xni90hi5lzkmsrnkm8m57n1svkslghljy33yxabzfv3";
+"biblatex-oxref.doc-2.2"="1ih3hia7x5ghs10g2gg75d9mhvr4fkmncwi6sp0q4zpl6zz6sg9q";
+"biblatex-oxref.source-2.2"="0qhgzzz69bndzxhy3z7mj1yafxz5r9ihhx90phn4lwcrg5db8lcy";
+"biblatex-philosophy-1.9.8f"="106avsghh4m983vc8p28d5rcbwvlgmn1ahnjfcph5k5yp5xa3ml7";
+"biblatex-philosophy.doc-1.9.8f"="0wkfy0lbr5af55h0v0x1zlk3zhpslc213dkr4pdia201nn7vb0y4";
+"biblatex-philosophy.source-1.9.8f"="0shk41xppa3a5xzmmbnn3ffvj0908j2k00p9xpf0m5qmls10v639";
+"biblatex-phys-1.1b"="1vj1rrhzh7ncvi2dap2cjk88vdj0dmlpakjiz953rvb7szx0h40r";
+"biblatex-phys.doc-1.1b"="0z3y7gmcmp2p5g25jha6kwkd7ma4pzgqybxra4402p6aid823fws";
+"biblatex-publist-1.26"="0i50fmkzdi8yp4yrp4pin70iv6dk13a3rigc9ny89z7bgw8jnn7s";
+"biblatex-publist.doc-1.26"="124i6rx1r4xy0x9q04cqrkmv287vgbda43cc9nsx87gswiay7jzf";
+"biblatex-readbbl-0.01"="0byz95nahaassfx1gpl80p4vgc2bhs9wfw9w7xxwan6b1kkkz9p2";
+"biblatex-readbbl.doc-0.01"="1cp3r5j8b7zrl0k7zzhyjcrw9nypmr6gd7mn1q5whn7n1dn5js5c";
+"biblatex-realauthor-2.7.1a"="1xv65ic8ywf18fdb246sr8pvq60hv4wmg7ris1glr5104g5yhg7p";
+"biblatex-realauthor.doc-2.7.1a"="06nvybm142cd1shgpcabddbrfyvzcc3yxk9zyq9hr3rfhzcqf05q";
+"biblatex-sbl-0.13"="1qlqkzlr3zp2igrhbcxgd7xm6ypbl9v5zmclwzvfp9c2hlpb9ra3";
+"biblatex-sbl.doc-0.13"="199x7mjahvvvgpymcl1vscgarqzvp1fz7mkvb2yfwf1xk1mmqydf";
+"biblatex-science-1.2"="0llhz0jmncjp8c2r255mxh09rvff1s0kx1lacxvy7svwj7fl6qgq";
+"biblatex-science.doc-1.2"="0daq39wcjryhcapsx7n216yr591scjcwg7z4cihpb10igx15kbkb";
+"biblatex-shortfields-1.0.1"="1766zipaps96ks920y5zggc0zhk8vkclqh2c3zc2y8x7jdbah1vj";
+"biblatex-shortfields.doc-1.0.1"="1fs56vf86wwpaz1ik846r83zd9bpidrzzwv4l6jhxss8hgww6y0w";
+"biblatex-socialscienceshuberlin-0.0.1"="0fj2l2wxawps79v81s74jr4d8wz4pf45mmpry1pflm2zcica3ajd";
+"biblatex-socialscienceshuberlin.doc-0.0.1"="09sf6k9qghwll84bj6m7v0xw6zm040y6n878x0ywiq64jc33h0np";
+"biblatex-software-1.2-4"="0818bq99vqz0pfn01g1j69sbnm5iqn7dgss385s585hsg3wjh9bw";
+"biblatex-software.doc-1.2-4"="1wm1v1kwar3gj296dpynjqk4q2vqhw9p2j49c0hf3b1rpkpiqhm1";
+"biblatex-software.source-1.2-4"="0jig20hy40f90iq3ywp1cf7ms7xcm5ccw90f17iayz8g2hrn2nrf";
+"biblatex-source-division-2.4.2"="09wsi1nj7hcf5nswkd6syn63xhk2ghaxikz5xb5sfyci0lmnqgxc";
+"biblatex-source-division.doc-2.4.2"="1mfz2bxfwx24a2652n4jrdw1mhrm1y7i5vq54rs7sp5a1xfg2d9q";
+"biblatex-spbasic-0.04"="1pw2925wakr0wgcm33vbmqgfqnglzn8g04fapnzrd6s0h5155zc1";
+"biblatex-spbasic.doc-0.04"="1p0fbxqyxiw3ihiw69z6zbv2g8pbrpdiad98iwxx5j12sm6g5v1m";
+"biblatex-subseries-1.2.0"="1c92azsgrp1cmq82ga3cvnca5s4j902hcncp64g9psgl9fm74nwx";
+"biblatex-subseries.doc-1.2.0"="0ri6vvzcpcm2hz73dkam0fgbnfm7i650x983qcngkr0jqa43xr41";
+"biblatex-swiss-legal-1.1.2a"="1sqskc93a3vdxvycmdz494kddxvzpf6rgw6l184lizwnrz9mr8v0";
+"biblatex-swiss-legal.doc-1.1.2a"="1k0xgd5gi421zvh8bvyvq5naapb6v7216k2sn5aqhca93sifgvqm";
+"biblatex-trad-0.5"="1000rdnm9jqk89snffsf4ldl47wry8k5akm75aqhd9r7qbn73car";
+"biblatex-trad.doc-0.5"="1m32xykdgms8i4aqny35w0happr6vbkkra9m4nasxp1vzykf0n63";
+"biblatex-true-citepages-omit-2.0.0"="1lqs1swmdmnhard0589k0r8gz3hp9bd88dz5z0kd0586vl7z2l82";
+"biblatex-true-citepages-omit.doc-2.0.0"="0madnjxwjlz9hs6jzgaady4sv0878v7fyjs3sn1bcnzyw4krfxgx";
+"biblatex-unified-1.10"="19d94nnrwd7wzav1b56hsvdzpcpyfpz7jqpfjizfs4mirm3gd0a4";
+"biblatex-unified.doc-1.10"="15h1nknr1jp7r92vm2cfgzcgpa5rxd8kl7d5kf5pdp825nlp5h0m";
+"biblatex-vancouver-0.1"="19ymkk94c4l5sav1lb66f2lxjyfzzi1s78qd2a8drjp9q1c6i0j8";
+"biblatex-vancouver.doc-0.1"="0wn26kl4nli220lfs663rdqmv49xgi76kjgnlwh99yljx7v47n09";
+"biblatex2bibitem-0.2.2"="1l3j9v225f9g2zmishkfvimd08di89p39g0sqffdwx0psj99dw5k";
+"biblatex2bibitem.doc-0.2.2"="0bpbsaasi6kq5ggs3cpkmwlakdlymd99rfr028q5xj42ir8cba3h";
+"biblist-17116"="0z69a5x3czy0hb59c93jrkmmg6i66vc7rw6szvchsbsj1c6gwjfb";
+"biblist.doc-17116"="0wp7x8qj7bh1pgcy01jmq35r2i1f8yvrv6bcr8p68d70sr1jqspn";
+"bibtexperllibs-1.6"="0c083hg8hczwc28q0c9gw4z1bwj5w3krhrs5zg15h0s808ji32xq";
+"bibtexperllibs.source-1.6"="1pb46v09ik8cd5kbhl79qfnj9p2wl19g9vpjkdxqvzsb04i7lf0f";
+"bibtopic-1.1a"="0rzz1c1c6vgjm2r0gv65rwvbcv0asc5049agv75yyvqihvn51018";
+"bibtopic.doc-1.1a"="0hzy6353n1rzirfdjd8dgjhnp496i14b0z0n2x7gnisf3qksr0wx";
+"bibtopic.source-1.1a"="0abpdz3ir7l9dvc6vy5zi9ay103ga7i92vg3z69agd758xnz0v3y";
+"bibtopicprefix-1.10"="0vy9cah5mmr1vf4sm16212h36wz4623s07cagjqnmyprgm44sz66";
+"bibtopicprefix.doc-1.10"="070shh1cg3hdk097v9jr37f06q0qaaxji3vjdv8v24a1rg3rrpdr";
+"bibtopicprefix.source-1.10"="1v35hawmsgm12sv80wq2ld0rzz5l4shvky44l8wkxxh7i7vy43sx";
+"bibunits-2.2"="0znv09kqrwvmsjsw3lx9d3mp6fm8444zbn317q5yn5hzg2dyj61f";
+"bibunits.doc-2.2"="1zgj4jpl0fpmsrcp3h4qlkilflmy8zqhjamghidwzkkg1i9jsfz1";
+"bibunits.source-2.2"="04lswyalfivh01hp1wj3fq1q8960dmsvnbi8k856v3dhz0pv0whz";
+"biolett-bst-61719"="1ap5arz0s65bqqfllzwxisp3wa327kgivw1jh1gkc4wljq7v4jq1";
+"biolett-bst.doc-61719"="03hj647j6b7y43djqvb28rkjixpr0y7i02420piskp3cg90hn5dj";
+"bookdb-0.2"="1qky1ccqyni9x3dgjn6s36qyqdqzkj65m2glzzqdc4qs2h1hqr0q";
+"bookdb.doc-0.2"="00fr2fid8yg3ww2gmgadxx90y032vrgicjh23ia41r159clg7fqp";
+"breakcites-21014"="0f3zhwrk0wapckz83304anlp2ssii7nvzjdakbxfdj51cd6schpg";
+"breakcites.doc-21014"="1f8x16qy5v27asch2jhbgh080vmv7mza4z5w63h31gdglbkwdp11";
+"cell-42428"="1y2bxxx73r1h9rhsyar81r4s9nhgqjlvs5rwnkpk148rwwar7l56";
+"cell.doc-42428"="1ri21dk1wgfaay1hblmn8akmq8ccxpbp5lrfnprkqqrvkxnmaylg";
+"chbibref-1.0"="01gyfwsfrjy7fs160zxvzhr517wwbsgh381hk626kvf87wssz2nv";
+"chbibref.doc-1.0"="0h5vlzfw5lfg7chqfmbisqydmjn513rjrvw8pax4xlm75c0p6drv";
+"chembst-0.2.5"="1dg8dasw0r96rnv4pnmm2k96rxmsdfhvkbxc5m358x3i5i4pcpm0";
+"chembst.doc-0.2.5"="1zmqlm8vr2f1mga0b33wikv1wn9lx3lpx4y7pjhgdqk84lhfqyh2";
+"chembst.source-0.2.5"="11qxmd7b1h7fwam9sclazzjhmzf5fiw5ykw6ry553xm1jp7vhvhb";
+"chicago-15878"="0mwrphf2g7v5yc0qij76dkzalgm3fhcm8zs7akgaypyk98cvxw8k";
+"chicago-annote-15878"="1fz95s0d48qb1pzmwy7cdnccvadwsqj3pyvx02bkip5l0mg54kgg";
+"chicago-annote.doc-15878"="1lwrlb5axxqzrj1azyw6bsy9f3lq2n5acwnzmx8z7aw5sj19ls07";
+"chicagoa-52567"="1za4fqlpirbr3qs894abnlwmrhsqbahniyyimy1dxal0cp61cfil";
+"chscite-2.9999"="0db7nrmm5r4b2cvcyjfra1fmskjaspbgymjsl4vvif9j3kwaa0ba";
+"chscite.doc-2.9999"="1q5s4qj508nqy74cdcg8380vjbhs4v70a4jkr9wdirqcxjxs6yfn";
+"chscite.source-2.9999"="009a8y3lxpxjhkd05fcf308k3fihl95pcn7r2bgy57jr4nalmixx";
+"citation-style-language-0.1.1"="1zlblvg8m8xz53zfh8izfnalklq2szp32mm8n8w3mpil7wsgvgk5";
+"citation-style-language.doc-0.1.1"="12g4y7m3c4sxzpd78jd13l1v4w4rlb9bgs1v3y0xw8qshqvhd9xq";
+"citation-style-language.source-0.1.1"="19ndqivipmsqfqj4fsnlk3vr0zip5zn81011vrqv4cbdryz494by";
+"citeall-1.4"="05nb6pywcrhqi1c9xfzkv46j2fq9y1lqmqawi75v3z56h2v6c136";
+"citeall.doc-1.4"="1p54cr0khq72z396r3vl0p9qqn2k82pmx4pjaszlzhni5v54hbdr";
+"citeref-1.1"="05bxlkylmilyzvbl99nsw16saqjsqb4bcaa68qkz8m59wz1ji4rj";
+"citeref.doc-1.1"="064c9zg2rhnym0wy2kxj0617mwb3mxpc1rr13lqpwb1f1qhghm6f";
+"ae-1.4"="1nbhlv1qp7z8j9bhfrljmpjlcrl346z1r7f4hdxijdql0wxs6a8z";
+"ae.doc-1.4"="1qgq32xw5micjri99zmznmq8gsli6y9fqdi2l7sv530ri9i7kgxk";
+"ae.source-1.4"="1ljkgb4qj0wa6yxddx4w8w15z0nw5vnyh0cpzc4vwkc0m03xbrm4";
+"amscls-2.20.6"="0k3di45cn0g6v5j7ccgl0nys6ni1h17dkhmkz5b5lsz4zzbi05fi";
+"amscls.doc-2.20.6"="1lb1q967zwgqn21ix4gxbzw8a8649p9hky4ckd61l0bxxil3mhjd";
+"amscls.source-2.20.6"="0g1i4nj0y32sihf7hnb8jwyh3d3qmff394xgw8v8x5jp8q0rh2bh";
+"amsmath-61041"="1rq39cpxc3iysylbnvr29cfl6yvj6ynawbm9ix776fina9cwjkbf";
+"amsmath.doc-61041"="1yqmfp5i37d27s66lwy2swwg3spb58mwjdqnck9kblgl41vzrn31";
+"amsmath.source-61041"="04ws2lc4ab8bgvzjjq6gvacz0319dp0lwf3y4y4rbp1fzrmnljvk";
+"atbegshi-1.19"="00r3ayn5qa2p2j4hyxbp2mm1aqhbkjpwk15gan1b4szmm2wk54h5";
+"atbegshi.doc-1.19"="1pjfmnrssaw20sdq801x9jb9qh7s8l2mnhcvla4bxglckgwz2na9";
+"atbegshi.source-1.19"="0b0sxs3jpc6a9pw1z44iv2bwvyxm02yfl8j0mc5qw0asdp773vrg";
+"atveryend-1.11"="06q5b28q5m9i29yqqx1l1y0vjc20i0n6p2k47z66jf3s6abrqnrj";
+"atveryend.doc-1.11"="1nn08cfh3n63xd45rkmzvdmf5580lm7kfd08z9gawgaibh6nii80";
+"atveryend.source-1.11"="0fgzxwc6jlijf0mzjh7pm2afd85np1rwy4xziz26s0gi6i5pdmvp";
+"auxhook-1.6"="0c92za082vzi47m5dlwq8bss4jjgfzmbbaaz5j1yb4ngli9qj08y";
+"auxhook.doc-1.6"="0l6xga3hr1lvhgli259ma78rq394jplnkn5j8fgrfapvzrhsh2kp";
+"auxhook.source-1.6"="18q0lawz00fbv9mgcbp21zk6fm1hsprmrkvhnl34ac1qj1rx6x3p";
+"babel-3.73"="0sgmkvrji515pqq92l4b2d97xqrrr6za3kdbmhp1lbbpdvcffijs";
+"babel.doc-3.73"="11czgqilds0h4nb9d6a5mypd9vgpgc7z0www75l34v55zq9nnfrd";
+"babel.source-3.73"="0df6sz4631kl543v7wx3mcawk42fkmlb0ry2sx84dfk64pvqhkk0";
+"babel-english-3.3r"="1nb3c0yikcfhlpfsqgx2c6549ra7wcbcjs614d7gvk5fyh0cds8y";
+"babel-english.doc-3.3r"="0jfjdsiqkg0sfy326nz6rncq9sk1ssjzb0w2frybkp348gif3rv4";
+"babel-english.source-3.3r"="1q9bgs6mdgjlg3pv2ddrwbnfb628dr6rhdsgkf7rnwm5m6ncxkxh";
+"babelbib-1.34"="1ka976ag8w02yrbbgldzlqa5852ag04i39w9wv9bhprn84xy5cl8";
+"babelbib.doc-1.34"="16iznzd8hk1hxxp08zcifn9v5bvh3dy70nyas804z8av306s1h0z";
+"bigintcalc-1.5"="01vz3qrhxb28v86np3a0spq9yxxc7faav32m136nax2vkm5ff8f3";
+"bigintcalc.doc-1.5"="1wa6750qyggvx7nlwq9n7s1rfdm1h6i5hv91y1aq6mn26sw68l1s";
+"bigintcalc.source-1.5"="00gnanfnw66bfrd5gk072z9rn6nhmqnjwf2dwnamvy3dpxgg86jn";
+"bitset-1.3"="0ynyw8fyb5cidlz00f42cf21gakm2ir9ilddaaz12s7qq99lhj65";
+"bitset.doc-1.3"="135dcx0b51br6lf9dxd66jq2xa21bpb1mi4y4kk5z6ngsd1imdag";
+"bitset.source-1.3"="0yds3rhgq52sxvwn5kc32iizapbs5g21cw6avbppiip0s5x0b538";
+"bookmark-1.29"="1vari4mh0ijss50sa103ppz9a7mhbn72gl7sfgs6y9fm0rw2b457";
+"bookmark.doc-1.29"="1habxdliv4vw5xsm3ki8m43fbqxkvpj4wfm2j7nkg01nsl8q2zm4";
+"bookmark.source-1.29"="0ygfyjpz90vpavg4ifalbnw2fl06j6v93906ragk48g711dzhyvp";
+"carlisle-59577"="149m5a5mb0c2r3rk87yvsiw50mp3armc0mw3jfrca8p82cyjwkaj";
+"carlisle.doc-59577"="04l137nyh94qrli4qzsan6i1ag4j5j1s0qp8mb1m8a8aj0bw0i7i";
+"carlisle.source-59577"="1b1ikyj585mpg7wkijlb2ppai4shcz6xad9ks52lnkdjd0h7r9lm";
+"colortbl-1.0e"="0i2i6rfhbllc5imdaghm4jkfq0yxc6zszm02l49aikg7qi6zmmyl";
+"colortbl.doc-1.0e"="0i8bsb0q3ga7p8mr1wg3l64x9rq7qlg9f16m7x6a7ys4ppd8qhn5";
+"colortbl.source-1.0e"="0s5c1qr1bi835g9a89x08wxsg9y3837xqfkj0dnpg6rs2qz302q9";
+"epstopdf-pkg-2.11"="1bd7bkkk5hbp0bfzrvjpmfrrvil9i2pzmzl7aaa324q7w4f1w67k";
+"epstopdf-pkg.doc-2.11"="1lwv6av0b4v4vzzk3i27diw42hcdqzgvis1fk4fclkyqz7w0ai4d";
+"epstopdf-pkg.source-2.11"="1qmvc299bzgfrf31sa4027rgkq3yjg57318mbx4gl4cwznxr7zh0";
+"etexcmds-1.7"="0m0kf57wcmy50qcca2v5jb8z4h7z82pja82igmf6gsm7fksm3wrb";
+"etexcmds.doc-1.7"="0grl3svqzjh5bdg4jwzmqaxz7chkqka0vn0hnjwpyvm52ngmckyk";
+"etexcmds.source-1.7"="1s7avnnlr4g8xjdfmkm82aanz0k0cnhv2dyar30439x2indyw68c";
+"fancyhdr-4.0.1"="1xcw1bkfh3xh1yysqp8syvl2pnfm6wvam5j44vp31rsa38pyk8yp";
+"fancyhdr.doc-4.0.1"="1bjxd9gvzy4yz5mld4vdc5ik3f049il8046s7kqsz4pb1278y09z";
+"fancyhdr.source-4.0.1"="0rw0lq99kvj5lkkjp7k67q7sxksdx3yyqhpv09l1g21r7f0rw86l";
+"firstaid-1.0q"="1iazgwywias8hzc0cvblabm584b7a3s66glrgx24wrqi2xqq30ch";
+"firstaid.doc-1.0q"="0km0d8xk38ar0ix0xlnhfy8m0dkprrzp7mkzpmfm8p3jfv30jin7";
+"firstaid.source-1.0q"="1jvycy41f2idwl60fmp1khciqxl2cqbfa17nb4b6j60mmjjkdw7b";
+"fix2col-0.04"="14n020dmfn2s54h5xvc9lrynijcwnj3d2w4kg2w52v0kf037hmln";
+"fix2col.doc-0.04"="089pdfpk0bi23yb7grjv4w1agkssfczwvv2vhk3piy43qpk9h09v";
+"fix2col.source-0.04"="0wi711gb3bc5pc2kb7q2hz8y09g4phjxggrqjbl6i432z42fc061";
+"geometry-5.9"="0wv4c77fvaz8qg1ffjg3y06r3q4xjfxkh3m7a5s9ynwmfchcirgi";
+"geometry.doc-5.9"="1npbvp9g9b4mp8w768gzx1vxsdsi9zlrlfgc65xmb0rqx7z19zvy";
+"geometry.source-5.9"="0dm5zakrp71rxfa8xgj7ks0gfvmrm93sqi6f8m4hw7ls7yqm3y9f";
+"graphics-61315"="0szmgcwp72jm11fx0hjdc893krwq1x6ywdwkcf20mbky5fynb75v";
+"graphics.doc-61315"="17zr3f2raq8ymg2qr3shhmr4pybnx7raaqhch2zcid8hgq3silw9";
+"graphics.source-61315"="02l4m7xgmnm4zys893gl1gcl0j1z5hrr5kgv0f52h66panmjm6ih";
+"graphics-cfg-41448"="09yifx2ww4jjjhl5k8b5vz78711289755mw0r1rcshk596qvn9r5";
+"graphics-cfg.doc-41448"="0rfjgc83ryg3s5q01xnkk8bzw7rx7m96hfxq85xjjn5qxsgy8yqy";
+"gettitlestring-1.6"="0kg2p7ys50ms0li3vnrabywnrjjgllpyr8sf9cz3rnv8zsab4b68";
+"gettitlestring.doc-1.6"="0xkk16ncsyv2s3klv316fprld0d5aqaldh3g10p5gcicmccd9061";
+"gettitlestring.source-1.6"="153bkg899ikkg5zhfw1nc48nzk3c0x5iycxspxcrrj52dpgq22kx";
+"grfext-1.3"="03ff5n3yc3fxrayhyapm9qhd665r15v57vri6ajb5xb4m18rkfqw";
+"grfext.doc-1.3"="1f5kvnnv604qllqim8qv40cfpx0xaxanigqnqwmjfwf0n44akcfp";
+"grfext.source-1.3"="0i5pkqrc4jm3cgwzyhw1r3kh6b0b7sb352bnzid7h8msiwx32y8k";
+"hopatch-1.4"="05v819zywc2g1155yvrzql7i7c99605kxnkgaq0mm62if6a0rsda";
+"hopatch.doc-1.4"="0jc2amxm8c1j6mwcn64x7rpjl61yxvsk4fchyl2pxrn4wa69z5mv";
+"hopatch.source-1.4"="02pr8bd87ri7x0w2bgzd2vlzrq3b42r3l7na4vq7lnikr1p3x550";
+"hycolor-1.10"="1dfd149g2k8cq3lw95z6r4knyq1mgirdqnk9c4lmd7ip4rcs0vi5";
+"hycolor.doc-1.10"="1pc12vbn1yak6l6c1fgpnj0s88fg94nagj4b95mvclad6b546g71";
+"hycolor.source-1.10"="1f5jv91vsib5vk4byr0481a8j5pvbwmhfqz2qd14ck2vw8laz4ap";
+"hyperref-7.00n"="0syn1q6wcnqygh9lmaz6dxgx1153gg2s4an4ynskyrx0aa8rlyh9";
+"hyperref.doc-7.00n"="142xxbdyx11vzgaxmmflig97jypfbgyydz7w6n3r4rp7axzk5w6h";
+"hyperref.source-7.00n"="0fzp6hhhrvxvcd5r3fhk3girdydazkcw61cn2r49nwpnn1h3m9v4";
+"intcalc-1.3"="0llrnayqwdqxi91yh7panbbiljina3bynv2hxhi6sssaw3pyd92l";
+"intcalc.doc-1.3"="1vav25plm639410p59bi7bsihsyys9yaddz0bcawxn72zi9b96r4";
+"intcalc.source-1.3"="059pqs3f821javya7brxvl9v2mifdyw1vg18hr1zgzhj7bmlxh14";
+"kvdefinekeys-1.6"="12nn74skhwiszbdhawqds31caz6d59a5pjmwar0r8lmk4f1jr3xh";
+"kvdefinekeys.doc-1.6"="0x3h28xqgsmngs51m666mvxb8jg9vwk0wyhijcw84v1szyd0m7d6";
+"kvdefinekeys.source-1.6"="13cb0xvqhz5w1hv6hamr7rh1q1cp6abqfsdqzd0xw0my9mxvwk97";
+"kvsetkeys-1.18"="149vpmv4vms269dzq4sghlngg380sasvxnb3sx9rfs7d9j0finvi";
+"kvsetkeys.doc-1.18"="0fw9qrf2cnyiqkpfgs3p3v6ghb4jvckwr4ils2syk8hm6flk3rya";
+"kvsetkeys.source-1.18"="0inw89igbpvpiyhyj5jrgv2n7gs11flkx1bf39aakkcw5lb0pwr5";
+"letltxmacro-1.6"="0p16zmxngzzp9hbg7bxrh087gxj7hg4avf4a9akjkg56834hna5h";
+"letltxmacro.doc-1.6"="1gxldiflxvhy6ca87f8z3a3zzisrwz6f9vrx2r9gsfw72jyfa99y";
+"letltxmacro.source-1.6"="00ykjx412119jxwf1zaz5bismfr0i52psf5fagdiybbshs5ac88x";
+"ltxcmds-1.25"="1lr77yai2qivlx26s5094czpfxmg96bhxps5wbm8xn7cpsw0zbd9";
+"ltxcmds.doc-1.25"="1hxclaafsgj1wiw1hrqzn6p227x22wp679z5sm8507wlys53v49h";
+"ltxcmds.source-1.25"="1k1kwmyn2k11bn5dp3cx8wjdiqrnb0f84rbv8xbsba199k51ws86";
+"pdfescape-1.15"="1vbdjmm9bi9ngzz2z1b8jnf6nzf9xsaj5pvyswg13y4dr00mnz6n";
+"pdfescape.doc-1.15"="1v81nw121acyv6mvpykgrcdvsgqmby8acpby5lj75ih4zya9gs4d";
+"pdfescape.source-1.15"="0jk7rnf3z1hlrqlrcx0bzic46v57d8vpm4w5fn4c37q1f4v5zmpi";
+"refcount-3.6"="1r4lv6yhybqb8wkqyaysimb79kbdgvv393kn7dkjqr46b5w4fzcf";
+"refcount.doc-3.6"="10vn481rkdwv63z4n67gch55w8x44v125kf3v7299j92fm8fdznk";
+"refcount.source-3.6"="1rf8yk9xc1qhiiq30jhvjqmg5773g5d33fpcpih4i9c1l7kad3sy";
+"rerunfilecheck-1.9"="1c8x5cp12axkkb65b0xfwgachflngj2kxah47alslzjxwzh85fv2";
+"rerunfilecheck.doc-1.9"="0pn3fmjhf3mxx3f42zg34ibfnr1dlxhbddssg4si2y1f67yfi24p";
+"rerunfilecheck.source-1.9"="1m3p6zcl37xyvszf61yv7vrhm7a81g34vjj55161zfwypqba57sg";
+"uniquecounter-1.4"="1g7ix0pnd52dsykq5na5d4kfi49zm8gmampf5yn281mn901p3wjc";
+"uniquecounter.doc-1.4"="099clvqs76hiwl8i2gqj2hdmj2m77v03pc82sls2xpwvrs1dqd4s";
+"uniquecounter.source-1.4"="0cgpfgv4yybrq1ryhjrzwfwf97805dw6if2s1qivhry94lb96vn2";
+"stringenc-1.12"="01xnfg0mcp94dh33rfzphk50kjb68bw76kf7jnbsnjwlqf2cr5pq";
+"stringenc.doc-1.12"="00hbmjwhas4fpcx1yg016ggqv324hdc2aklr2nx5m5x0i68xq6qa";
+"stringenc.source-1.12"="1ir6041286fiz8c5zpsbl4cq62gzdrdpj50aqv5p6b1lqd8bsfp6";
+"zapfding-61719"="17mls8wilz9api9ivsbcczpiqp1f39qy8wa6ajssi8zhnc5lq7zn";
+"l3backend-61931"="15jdr3b0760gd394x98cnxhvmxv6swgvr35m641s6b9w3bawgihc";
+"l3backend.doc-61931"="1dxldmc3173f2fax68znkppizcv0w67r1xfcr24lraczp2ql4b6i";
+"l3backend.source-61931"="02b21a39a8f632jj0mzjh49hbvrhvxlphn0drzjrq187lk5l2amv";
+"l3kernel-62165"="05r3ijf3jinjc9k5pc6bjnsnqv4y8i9qj3g26r8dllhj9zswdi9k";
+"l3kernel.doc-62165"="02p7ycn52xwq598qzvyxq9hr5ks1fjqgi38h00an69k482hnm8hd";
+"l3kernel.source-62165"="1h78rw4jsfmf7wq1xnnzm43k325m0xybwkqhn9h9x649gh7dv4jg";
+"l3packages-61588"="079h3iff65zk46yfwdn3jx5zmpz8g40dsirbs5dbbzzgkq6kg530";
+"l3packages.doc-61588"="1j7ia62s8gf8nbxif6jqxw6rnbrm5nvpkr9v8m6yi3mz1j9znwa4";
+"l3packages.source-61588"="137cmr5bjvn1496cfk7fxj56wqh9ixv7ci7q1lga8h3x3f0bny0d";
+"latex-2021-11-15_PL1"="1xdfikfw3g44yfyzghg93092ff98nbi5pfjjszjiq4raxci8m2p0";
+"latex.doc-2021-11-15_PL1"="16qy495sq5l011kczwnzdjinif234navxd0r6cj5csvdhqal0rmb";
+"latex.source-2021-11-15_PL1"="0rli1iji063xb5ak4k3vvycv7m24px6lb8kdgxyz83x8l9xq94di";
+"latex-fonts-28888"="0dh4kgy4mfarlsrgqw4dm5zgfhcfg9qzh8s2wjk6w2g0jfc8rf3v";
+"latex-fonts.doc-28888"="0243qbrs2w7qh17nh8m4ivj35gfgxsnqxza281cvhh7g2fv47f5l";
+"latexconfig-53525"="10ynmd8b9b9l1wl1mva23yz4zir53p6r5z31s39wmxz19pj12qvx";
+"latex-bin.doc-62145"="1mkiqwq28lbw9iaisfza1xg9wss4zazx9i2szprqgjfkw5c0yipi";
+"everyshi-4.00"="0y738zcqy85ww3mhwgrj1qh0vgpwfh2ib676wlr514xglvmp9l3n";
+"everyshi.doc-4.00"="0ynjq4ibx6rr0qh5lajb5n9skqa3j4zyi533mxc10axp5zpxsjkx";
+"everyshi.source-4.00"="0iqxf73n3l1jf32x571rw5wqwvz7nj3bvyqzgizvfpbnavqhrxfb";
+"lm-2.005"="1b4lc6ipij5iws4rgpv3sjjwrdbaxnwiqdbyyj62jzc3yk999m4y";
+"lm.doc-2.005"="053xga559cmqggdifabingd1f7q1lfad1pkk9nmkximclq5igg2d";
+"luaotfload-3.21"="05jis09pcsbs3l7fn5grall4x0k71yy60pmaykjbw5ab4b3lbn6g";
+"luaotfload.doc-3.21"="12nhk0zba158687cjbkmcjvcnkddd7603xq6zf2qfwip3jsm0lhz";
+"luaotfload.source-3.21"="1jmvglj1mv766cxzj6bnagrlby2z7w3gkpqls19ic2g9a154i62c";
+"lua-uni-algos-0.4.1"="0msiywf33b5jpdzc66wyvnklvmvs4cpfq3f6bsplgi22x8nvdrvp";
+"lua-uni-algos.doc-0.4.1"="1sfswdkhbjrjd4cjj95lbc1sq30j9y5xi35lg3mjfpdinq43wfr9";
+"lualibs-2.74"="17v4m96nlmc4w4w4009wrg4l0racxmn4cnb5xj7s064z913wi51b";
+"lualibs.doc-2.74"="07nld6rv0vka8418zdpcvkpdja9iv69dijnncvjcglx79slhjgna";
+"lualibs.source-2.74"="14mjjrj90n6y4h2zw3layg4fg6zm5s07pf1iy1x6lzmqgad83z1b";
+"ltxmisc-21927"="14llkpla8gpx7q6a53sd8a0a42wgk93fg4mbl6pc0v7v1kjblr5m";
+"mfnfss-46036"="1m0yza8nw5r3ph8k5nihgf93vf54cb0cnw4c5gkqy0rsd23hk4dd";
+"mfnfss.doc-46036"="1ppjjma5dc5i9ly5y7h91647nw9c2y9w65k0dn1ks92xsvnzf1mv";
+"mfnfss.source-46036"="0qjz8dz76abwqspab89z3a50nndh6gflanr8hn31z5fra3kzfp90";
+"mptopdf-61520"="1r7m71i3cnyf3q5nlg6c3ialw6vmch48sgf0flmd63y6n21zjsi9";
+"mptopdf.doc-61520"="0vslbvfk3az9sjhgy4zc10i4br7csgbfgwmgylzhz033rcc154r3";
+"natbib-8.31b"="1wxpcyr1b6k1rzizbz2g452klrmr6xh98csqr6pawlnx2zy3sx5x";
+"natbib.doc-8.31b"="1hai95c7ah61rqrsvzvn0ppvr7pn10830dp7wn7fc0j678z9r3js";
+"natbib.source-8.31b"="1qaxwivq95pf014w39igh070cnbs7n0k5am4waxvdwkzql1fafpy";
+"oberdiek-61066"="0cnckzab267za01ricyzn3mgrxakm7d0dscik0lhmg3b2dlvahdm";
+"oberdiek.doc-61066"="07ldgv18q5i4b3i8ynxh4i4ipl84vn3881jwxfyvgz9j6k8a8m3m";
+"oberdiek.source-61066"="09yqqgkqx8xs6p8as0nzbsvm3pda5c26i3s6wcigjkaqnw4ygfmd";
+"grffile-2.1"="02cmm9q14h87dv5h5ci7ny7v4plrry54mz15jddx1zkfx4myykww";
+"grffile.doc-2.1"="119xqz1n57mghhp7db19ffrv1cdk1fgpznlyrn3qgvg2926mx104";
+"grffile.source-2.1"="0pmg9140plqv27mp936ca0193ihggd243mmprj3l0d6rf5dajm8j";
+"infwarerr-1.5"="19nlrbfmqbkjrrx9x75s9nd6crg1lzimb2fr3hfblaivj6lx8p4r";
+"infwarerr.doc-1.5"="0p1s0v6p7ygkvz5f3vgarcrl85clfrj3ivzrka62djqyzn4bb3yb";
+"infwarerr.source-1.5"="1x2mkqyx7gz0bz31na6mcdyrlj11mxpjlzc6gb9pk51sdqjj0bbv";
+"pagesel-1.10"="1j6rg25mhaiamlff4j4lw8pbp6x3mcg00biqz2apsbi6kmbiljw8";
+"pagesel.doc-1.10"="09s7r6dzv95689ysdw442gyqsd2jpdyr8hkrigmn9c4sx32alq5n";
+"pagesel.source-1.10"="177j2s6chsdhhw63q9g6ryc06vn6rsi29n4prrn2w14fgr3wnhcc";
+"pslatex-1.3"="1wfk27qb4x8aafph0lgnkq3bkz5fy4cmaiivd924mk92l1wfg6dp";
+"pslatex.source-1.3"="0qg1055zpy3pi3hljrrhzixhzi19rca2jchg0q04xi0vq3vslpcz";
+"psnfss-9.3"="0ng5pkk6m2l8yqd58wggbakbs4hp4400r4ihyi9akf8j4kmq2s5y";
+"psnfss.doc-9.3"="0vfv9x1qsivwi6c6hi23vw0jcjz9dclx0vxnifslyzlrh7592dzc";
+"psnfss.source-9.3"="0cqpzra8jwdn9d6w4mhmfrfw2zia2nbpyxjfrcz8m1disd10lhsf";
+"symbol-61719"="1pdkpr86bhia5hcmf7q3nhvklnsga4mqqrrirgl8a7al7x6q3ivs";
+"pspicture-15878"="0i41lg0nw9xya0gfiwjd3xgbk0w723g90gnsvnfg764s2dl371b8";
+"pspicture.doc-15878"="1p27zx0svlcm4p12xjq35g2lgj1j485c3x363gciqb4aswmlsl65";
+"pspicture.source-15878"="1f8lhyhfcywn5y78354r37bgalyq57bm1fill5vzny3l7cyqxxn4";
+"tools-61041"="1dk10p8981dahfy3h4rrsvam3l72k0llpjyws2pyhrkg3z9naxr8";
+"tools.doc-61041"="1qzl5ycayf1zq8mcaszwqk9cmwpr82w22nxw0nxvrj6wyrdp2d23";
+"tools.source-61041"="09h9xhxhqfz1nlzsgdcx25r6p4gab644bfdblazq8glh0rsky3iz";
+"collref-2.0c"="0q1g0x0bm0qjh568fp45b1ljy3w3jgy6s09ji1d1m5yrbs4dm7qn";
+"collref.doc-2.0c"="0vcfrdg9mqrfv2jlxh88g0nhpsrfwgdg9wjdn0l9b4c5h8zq030c";
+"collref.source-2.0c"="156gdfrd09kyxjiplcm38s3zj8v6bygwlpr9g952m0r72q7cq54v";
+"compactbib-15878"="077l73vb0rcxy1n51r3wmcb7gma6nn3xrl543a67n96lpp5xvnnk";
+"crossrefware-60689"="1wmr17h3ykp35zii3jvnp3zx1i7hg06bknqqrdlk2lvj5z5dgpkw";
+"crossrefware.doc-60689"="12x0wbbs7fph6s3z8089xlrpj879b5n0k1kvpb4xv6kkdnpirxx6";
+"custom-bib-4.33"="1m25bdq11g8jin9qfib12h77sg8lb87p5680d5dkqzsf5y3iq7vl";
+"custom-bib.doc-4.33"="1ydbi1r0jvl936ziypnjqw4fsr7gvc1gksaqr05wj1bchh28cyaj";
+"custom-bib.source-4.33"="0sjpwz9zhr0kd4qn454nm1s4rw4a6n4qnackkrq4qkriwzv9asha";
+"din1505-19441"="1ki5xzdxgvy34pg345f1577cj93ps4mgcakjgqra8jshnnfrfqs6";
+"din1505.doc-19441"="0wh1zkzzm3d9s5gvff6j847jsqpr436sw7ysvrlv0r5s3fb10xl9";
+"dk-bib-0.6"="0b0ypkq5c3bvbz6633csljj2zqibcm0nqj4dkskikzv0dzqkilh7";
+"dk-bib.doc-0.6"="034zpjn14wia2zl5flgndr1p89b8jg0w91wzqhw5zfzmdh4k3pn5";
+"dk-bib.source-0.6"="1aj8d2r3myp74x71jkgi8ckzcr6ngsqfqqpv5id43awrffxicsjw";
+"doipubmed-1.01"="05zcv1db1bbxp6qnw4ni3qjx6yhflad1syqabqbdccrfk5xim20n";
+"doipubmed.doc-1.01"="07pd08qaggy6q58as1aqfnbk77mc2b4kavbzqk4v11f5vp5v0bdq";
+"doipubmed.source-1.01"="1hzv0iaj8rxblqxiak3n855yw8gqmxz7l8jwf98qnbpb9cm01f0i";
+"ecobiblatex-1.0"="0mrrb3bm54d6rpwg8i534wmwkh7v6qzysvd020pi5pph967lqp54";
+"ecobiblatex.doc-1.0"="0mhwspy6k7ixjjxk5frwklasm0xzwbwk2lx684ikv195nrpb6y8b";
+"econ-bst-3.1.1"="0wdzjilmh9k73q25wdprppnjc0xkas62g50spkdrnvr4pagvnvch";
+"econ-bst.doc-3.1.1"="0y6qp5hn658gfwavkq4s6s8xfxy6lckpfsc1zvpy7jc5vkhhpwa0";
+"economic-32639"="0jyw807d23b22md2ib7xkgi2jh4mr50pczjbsylh2gdgsplxgaw9";
+"economic.doc-32639"="18jn833w1chbi0qamdxbrrp39945drslxd2jkzi2g8wcca7l5b71";
+"fbs-15878"="18h6n8azrnk2qabv30kpa8gmj2ljkvx0nqs8qb9r8dxxnhng78ch";
+"figbib-19388"="1lxg05j9c56rrinl5gc4y7sc4r9gc5gyq59d3yxq4ggmq9q9l3dw";
+"figbib.doc-19388"="16qbipciqc6vv5hg1fm9rda4kk7x827nlmzha8c9i3dz7gy0cnan";
+"footbib-2.0.7"="1vr72sl8q1ccql2p42v3a9qw01a50v1c1rxpgmz39pp65w4z8s1n";
+"footbib.doc-2.0.7"="1xyq88jcg6p7lc44n2ky7538r23d4n0nhfkq25q7xg0dh8whbm34";
+"footbib.source-2.0.7"="0ps56l6ah0i398f38bxy4yg2i1p0ajcwczxq222hl5176g2z28jb";
+"francais-bst-1.1"="1jpqkxaplcjrvc8647rj4xh9kyaqrk3yj7r3nrkyf4r7b0vwq2sd";
+"francais-bst.doc-1.1"="0v2828gxvwhljsf578a06pbk1fr3dfl15s9xchy5gpb3cmv2xg1n";
+"gbt7714-2.1.4"="1iwac8hjr5fxngvxn68brivwn8y1rpkzllsgi07gy4ii6rxq0r48";
+"gbt7714.doc-2.1.4"="1qz7b4nv9nmwz4qsf6vyg91l2vz73nya29ps83faanrcjzh5k1ib";
+"geschichtsfrkl-1.4"="0vnxskd0vlslm3jhvpvb4ihzlssdrz5bywrxxysk6c391vyq3w0q";
+"geschichtsfrkl.doc-1.4"="182m0m7lfz5wz017kb6kk2jn5vkmsll3js0sd4pqmr6gb8av44m9";
+"geschichtsfrkl.source-1.4"="0hdq1lkgmcpjk7f8pl2q3c6rin97hdzwhfwacc43m1l3c8zbmqfr";
+"harvard-2.0.5"="0jpxqyrw9skg7jpw2d46f8nrh7jaa3r9lviv848nfnn6h35vs61n";
+"harvard.doc-2.0.5"="10vxj1cna040i520wj7c0flbk0d4hr22jyxqrv88616xqqkg3b6g";
+"harvard.source-2.0.5"="1j754jjwdil45pr032xjmwhf1i2phspv2swnjbyxgnssl6i370r7";
+"harvmac-15878"="1ky0vc92z3i7l64hkdm4jrlaz3acna747lfd2w3b0ybdsz8514wl";
+"harvmac.doc-15878"="19sfcgshwcvn4z3cih6ha2kgdbb5282zgf244678rl1gkmqjblj3";
+"hep-bibliography-1.0"="1263xavmbx2216qcwsj2z28yyhriv4k86m9rl8shyzaqfafyxqng";
+"hep-bibliography.doc-1.0"="09l9l2x1csp6x6vq7dhkm0hxyfka232rrdcrfzwb3bdk56v336n8";
+"hep-bibliography.source-1.0"="0kf739f4ap6qfjn6hy14l7r5y7j6z6hp2hyj0lzwxhg6q9dmbd52";
+"historische-zeitschrift-1.2"="1zh8jhsmn4klaqn18zxbk3ajxvr99djavz4cww5wjm8lh5sv473g";
+"historische-zeitschrift.doc-1.2"="1gfymz7b2khfnn94qkd3dawb7ppqll9qg7nsx3qac8pqba539pv8";
+"icite-1.3a"="1aszs6kbmwx7k322a2yzk4l8d2gdb84aq7f9sk4bpiljgi9gpclr";
+"icite.doc-1.3a"="0bc1r733c6g8y8r2kam7in3p3cb9y8frph85s26kcgdxqw7j069i";
+"icite.source-1.3a"="0l3gx6sm1inyzyb6z2rb1zrhrnyg0i3xim0dn80360fkxxsz7739";
+"ietfbibs.doc-1.0.0"="18ypa96z1gclq4amka28sv26pm7lycak68zf4b3sf1bx4ldnzmxq";
+"ijqc-1.2"="0h67131gbqr971hln3imf3dljh5jaqmdp23hb60zxnlxllf6msjs";
+"ijqc.doc-1.2"="0l0pvaiqgyxk5fv2carjhvp6f45clrnah5sla7rdslf134d8ciza";
+"inlinebib-22018"="0v37ifnjpvsrcbrjd57yk3qqq195jqvr1cgvfz2fsrjrd2ima822";
+"inlinebib.doc-22018"="0w4j64dxh11fysqpkldksv2qg816shz0dj16jqgbksxkjsig1i16";
+"iopart-num-2.1"="1fx5sw6xzsamlrnm7nl965xrgmgffq85kkxr7ayka1w578p6f8jz";
+"iopart-num.doc-2.1"="06hrw0c3arhssabm3l6fhb1kh8bg4vp5hpafqlbyz064a60m1p9y";
+"is-bst-2.03"="1acvwcg568iv9lskld9hjnyvqvlsmgnbg2akrd59kmh8mmbkydk9";
+"is-bst.doc-2.03"="1hlprbjkamq1w3f1n2dzayy9v14kxj8f1nr6d3z99c7v7kg19m75";
+"jbact-1.30"="0z0x6jrxaayp3w441r1zwlqirvv23g0b8h9xgy6r3ppi71glzqvp";
+"jmb-1.21"="1a5nz825jppq3pl1263w2sbm0a48kmmndppfpp7vi69n5j2248dy";
+"jneurosci-1.00"="0ywl1nlysc5fk7v5cdmy5g5hylz4ll20nnqxsvymsxnayjm4civ7";
+"jneurosci.doc-1.00"="0a8almw0x4b7v3dsdi9cjv8vzg518fl90zyyxn24p614w3zr01sj";
+"jurabib-0.6"="18s5jsi5wp0cac968ysqajwrway4sv1scf6m1g2l86jkp8gl6jm8";
+"jurabib.doc-0.6"="0klv7f8rbcw9qlqgpylyh64ir0zayf5ralpjd26g85w1pyi1c8m6";
+"jurabib.source-0.6"="07s3z6lxhkizgv0wrz0iiv1443dfyz29x9wssxa6y5lg72w279fj";
+"ksfh_nat-1.1"="1qzn0n19lslf2qg8fvm844xx5k7s8a275a77z2ynbb0vs1w4prpw";
+"listbib-2.2"="09rs3zkymlnn9fgsclnfpn1mrmxnqy8kd5pmdiphlga1iwfj5z11";
+"listbib.doc-2.2"="1nz6p8z4yvh91hvk02y184xl6fd8pyjlpjmlv5zpmcjillv176yj";
+"listbib.source-2.2"="14jrkykx2myp5fghh9qj66i5g291azm6cihi12c53bv1ijcyl1ik";
+"ltb2bib-0.01"="0glj7g6zyvm08paszjk45kp65aac6i3f8spf6zn12idf1h0b76j2";
+"ltb2bib.doc-0.01"="0j1p6bcwwgz00n3wyv3vm02z295sj9xf93v946k1xrv5jc6pg6lf";
+"ltb2bib.source-0.01"="0g05r6b662jx2s2kal26b3lv0dd6r54fb8m09yv5d021y1fm2nqg";
+"luabibentry-0.1a"="19rvhs12gw5vdq2vvcdzbz4qd3y87qjvl9x4bcqbncqcvwg82cyk";
+"luabibentry.doc-0.1a"="1raq564ad633c0xbwx6r9hhwmx1r7vis283rfh67lixq3prl0nfl";
+"luabibentry.source-0.1a"="0gqbmg1c4wm57ga8gx9g00dfbczfvhqsyl13q0ba451d3kmh6klg";
+"margbib-1.0c"="114ifix2wa74ix9zz1ml9bpyd0pqzj2983h29n3h425yq98aiqs8";
+"margbib.doc-1.0c"="01zam8vg63igvhdzf3gwgm3gjrnd23i8ra2cwdj4w44lcvapdlss";
+"margbib.source-1.0c"="0qjpbhs7g4qdhna3kmlv4pg5fk0b3xwpwagyvnl91gn3q4aml4s6";
+"multibib-1.4"="0ma2fwy3p9b6ijf727iw2xqsadk1jvh1g27snqvyrzhz7702b6xd";
+"multibib.doc-1.4"="1mwl9yziadzflq29nwv7bnbdb07d8bsxl16agj7ydmiw59ykv1xg";
+"multibib.source-1.4"="1g4d3hf8s1df57yhpw04j6bgc8n7hc16dc6qz8jcyj264vfv6fgp";
+"multibibliography-1.03"="1pmvlk1rvr98ig2zj2mgq91a61l0hib9aaly2irfzl28m092r3fg";
+"multibibliography.doc-1.03"="067wp2cmmrcgwkaxy2ngmhkfbiykr1lr0zii3i6xyyd6z2aidrfg";
+"multibibliography.source-1.03"="1p25yixvajkyksrbl8zax1jrb292prpjm97b6vh74v478bk21kgv";
+"munich-15878"="1dns8n2xybkf1m3j82adid2nr8ngvg5nnlxr5ky8ha706bmz1lra";
+"munich.doc-15878"="0dzwmrv636nca34b39mpxyhh99sr3s5k2rkj7jwms2knlfn81djm";
+"nar-3.19"="1nwk71qirapkg3h6jwlv53fm6zwb2vq0fvmc4xcanf19sm3331mk";
+"newcastle-bst-1.1"="1qzr66mjmdkvrgy5lcv0yv82vx4vygxwa7m8lj6crsffwyaxaxkw";
+"newcastle-bst.doc-1.1"="0crwyc9r5zqz412j45c7qh43wkdj2z7rfrmmc510746b9nm31l13";
+"nmbib-1.04"="0kmrgd4w63x0f5j5l624j53mhivc7wllzi346c3ny7by6h7mh8in";
+"nmbib.doc-1.04"="0fzg9jm7hd3zx5naf487xxfyg2yg0w9wmc60265av5v97qkghirx";
+"nmbib.source-1.04"="1m3pnml7wdk0p6vqiyxssqi7rz0vkcvbd2z63wqy28r78w9js34x";
+"notes2bib-2.0m"="02iwnpiq918izkssa8j7fiz2jbfjn87xdjh9spwys98q2cvvxd53";
+"notes2bib.doc-2.0m"="1md7zvcnlb2sf8zw0vlnsnia1l22gr69jgksy5yg30jis3zm2gjp";
+"notes2bib.source-2.0m"="1fb70w9y6gj1a0y4w3zd7yfmk5gygx10y8xjmdj06ky7k0r87qlx";
+"notex-bst-42361"="14r3q4z35k5n0rl2igjs4lj5ic4yd14xksg1qam5klb6raaf1jkh";
+"oscola-1.7"="06jgk12q9hmbqcmwb837n8l96f3bafc7mgnv4v9amnh4ajlg6i5x";
+"oscola.doc-1.7"="0qzn7d70vl0lxyql152pzzhi72ivdslmxvfwr70186lh6fjxr4nb";
+"perception-48861"="1dqr68wkf70aj11g4ywr56si8g82bxi2xc9zdnw0nm0wbimy5zv3";
+"perception.doc-48861"="00g96wswsnpd0smv1s23hqiq4lg407m80nybmig4ibcrafjkrqrf";
+"plainyr-52783"="09py8psdqqnxmq2nkczxz092668zscvf9hbr6fcvrnj0blvz3wxy";
+"pnas2009-1.0"="0yl475rlfhlnd9d0pyzm1gj2gixrdzyn6858j1ndvkhr8vc055ns";
+"rsc-3.1f"="1ljdc1qyy9ziqsq2z6p13jlspjpalbkk9i5xmqrjwhbqz88fa1d9";
+"rsc.doc-3.1f"="0ckvfgw88jhfr91ii6zahrziigwsxfaz4f9rmc7ca2a5vk5yqc90";
+"rsc.source-3.1f"="01v5zc947vqa8xpsam5pyg8vxm4yygphyv5hji0r5dmplak0q5gx";
+"showtags-1.05"="04m7f6i3992p93xz9rlfa0vnil6h9dyk7gy1v7ih47f1m2awjak8";
+"showtags.doc-1.05"="0i0iaz4hlgf52g68znl5a3q366hd8ygad2khjs3y7hk1fwqpz45h";
+"sort-by-letters-27128"="0gjmbx6bk2c3nygcbvwn3wfsdj1lscpnqzfl6w8li26hws1ravii";
+"sort-by-letters.doc-27128"="1p0dfvh0l4z4bd86wcvph1fcjip2rvsm22j890y607lfbqhc72kv";
+"splitbib-1.17"="0z2vnb51ksqp3i11903mvgaknvxl1azwqsch5aaq14y7fp9kcrah";
+"splitbib.doc-1.17"="1vb7snjy518hcv3x0cvr40bzlxr0nqb1ssqagqncyzzpg55nv9gl";
+"splitbib.source-1.17"="1sgl95vwqrp6k4y355d9mwkqm6zpw0g69p87hnsmdbd9bqkjvsv4";
+"turabian-formatting-58561"="0bfl9fgj0adpcm405a9b1819463nrzqplzzdlvwy6yanyqfqcp3i";
+"turabian-formatting.doc-58561"="1dam5fm94hdyzi4ai0wq03pkarb6lbrykych3ixcsz8r2z04g7nx";
+"uni-wtal-ger-0.2"="1jyba7g6qmngn4lx7mrmk0j190zkjv8lw775w13hxr2yky31cf1z";
+"uni-wtal-ger.doc-0.2"="0kncfbrs663qcpc0nsfhf0asjri8103laj9zpaayk3by612lfgj4";
+"uni-wtal-lin-0.2"="1rc0dc1g1fwhz8qa550ykc8azzc4i748jh37a8ppgrf4x2lgxzjq";
+"uni-wtal-lin.doc-0.2"="1ja9a6fjrlh1lbjkcsal7ahw24w1gs1mzma6jiiw5p5kbmc4zpz1";
+"urlbst-0.8"="1l34pkg2m14k8qck4mrgwkgcci51b3ar6kld5rsh26qqdw7yfcav";
+"urlbst.doc-0.8"="10bckc81yrjg2cilm7d72l8bz5ds02hb41fi0pcj657345rsv7sf";
+"urlbst.source-0.8"="1wsf4q095mb7lqsvj5gx0vh54bvm4jlmabdp3nmx2xy4nl5f80fm";
+"usebib-1.0a"="1q38qzz87nh2hbmml3b0a4919dgk6d5rn0z5bhrc4ip27dscvw07";
+"usebib.doc-1.0a"="0byl3xhiz3b4hqqmq2wi5fdbshh5prvqfnhjcgjk619bn99cijxm";
+"usebib.source-1.0a"="0asby43xsd35aazh2sncg639x91f91shs25f6f1127rskx5fd7vp";
+"vak-23431"="122crp1ipxwmxp6pd0x04dxnaf3hb822znbx8v9gh93x8db4khf2";
+"vak.doc-23431"="1jxbijc1kn7mx1p167zd5rdczayz5xxxfdd2pwbsmav8zql32aqp";
+"windycity-61223"="1d8kywgr02z32cm8clyl5h3r7h49r5x8gwi41jiwyzid42jln0hf";
+"windycity.doc-61223"="18qhpg0gmwnh78gvg8zkbzjiy9kscjza3i1d5cq4jifldv5cj574";
+"xcite-16383.99998"="0zsfyaxs0w2xy6fa1s6hlrcnzw1q9n4n676bv6j80cwp5cw7nnhg";
+"xcite.doc-16383.99998"="1sfziwn05dii3gviiahvmg67kb04hzhz4cd1cwjsrrvnjii0dqb5";
+"xcite.source-16383.99998"="0j5blcycs86vgmi54z0b06il06zzyjp4v15lmdwfnx0amb9y8jr9";
+"zootaxa-bst-1.0"="0lwin7dfd3nk0r3drznmhkqd7fhfvizxqy3z2xv616spg1jh9sgj";
+"zootaxa-bst.doc-1.0"="1s4v9azi1pvvh1fizp2azkbwh35xvqh8qcnnn1xwi0g1xhcp38pa";
+"a2ping-2.84p"="1h9i49m7v83ppifkcr4cncjfkrpx0hs8b11qyjn9s9y4mi8ra0w0";
+"a2ping.doc-2.84p"="0yxs2va1v4s6picfqkq2k9l7295np46lc35yx1dcmddy2667k3kl";
+"adhocfilelist-29349"="08fnrvnbrp7534b56hn8w0nm8pbgjli62v34mkalp4qkfb559kh7";
+"adhocfilelist.doc-29349"="1n7nah8vr691k56z0jkgyav4lc8w45rlg8k9shhqhnnpqi8zxv1m";
+"adhocfilelist.source-29349"="1xl0f33yhmbsrnmy9pby092js83vxcdaq2gfny08pjlq57arphr4";
+"arara-6.1.6"="16n6mgzidhviw06179iml34gr9sys4mkaqp3pq16y5lyagr9xrw9";
+"arara.doc-6.1.6"="09gq8zx61cpbllqlsr30m4gzfc61qxyvrjf5fdhqnrhngg33d7d8";
+"arara.source-6.1.6"="0nv976qhkcmfhf8wzdjbnb7r8yhhzid0mxxiqgr1w88pppn51vzj";
+"asymptote-2.78"="1a9m3rkmsw5msfj289931x4f6j5lbz711avx956vi0kn01ppcrs2";
+"asymptote.doc-2.78"="0cbcr51gl3s2g2aqh60jsp6jicvvkdl0hya88wkkjanyw3dzbv3z";
+"bibtex8-3.71"="1hi24b8mmpnz17cfj0p40ipyvzqhgkkhhgh7qkcgr1bz9k82q7sk";
+"bibtex8.doc-3.71"="1acay8y0l6gnczznxprl4h3bx7jaxdqrczyvdgin5z8yqhx0q13q";
+"bibtexu.doc-60002"="1h0kh81vf5z752v1s46zs0qvlqhqqzq8ip427317xhq186i71ymw";
+"bundledoc-3.4"="1x5jh8qi3xd4mja7grsyy1qd1vd389dzikxk9b806b5lhmzhlcd1";
+"bundledoc.doc-3.4"="19a297ijq3cw2k7b9xc2f0rmaz05ygi50r3c3q9pj55yfrsysfi2";
+"checklistings-1.0"="0hs740rpar4jckxc2p8wwd8x39v8bghgc2jjrbca9m5zbr0prvpg";
+"checklistings.doc-1.0"="1riyj6x57jb28sjswnnfyqf80jnkvyr2cvckav29j9ni8l970qp5";
+"checklistings.source-1.0"="1ghb0pv2zmznyg12zqgljwd2pc5lbajgdnzr6zf2rrmvlrsgr38w";
+"chklref-3.1.2"="1045jsyhp39js54xmyr1wxh7qp3z5hzasyqi33nvrc4g7rb9126j";
+"chklref.doc-3.1.2"="0pmgdkdn930lzyn8j3diwwam8c7ikm4fga3fh1vpigqddykj7hqy";
+"chktex-1.7.6"="0ij96wg5j3grphp71f3casa8nlkfia7hz34njvi007pzy00kgvr8";
+"chktex.doc-1.7.6"="0ln3in6f2j0bbk1n2lha7s6mv31cqjchbg1ck0cq10aabhvx9fz9";
+"clojure-pamphlet-1.3"="15q1hx198bxr5ip9ssfyf9wbccqrgwknijcbnqsm9mp082d0vc1x";
+"clojure-pamphlet.doc-1.3"="1fi2yxxnqlwsq3m66b75a16hpx4vs3imij175dwvjq1nvfg5y8cn";
+"clojure-pamphlet.source-1.3"="096whv58b2g15m6mzg689d0mp6p9yvj8z83w431zbg204h0kx0w5";
+"cluttex-0.5.1"="0w5a3jxy1caaw9nav08w7ws9wnjj6bnjdrzw2y0rz2rj8xrf123s";
+"cluttex.doc-0.5.1"="1a9clxd59gsn62hybpqsff0f9y9iyz4nxczybpk1kpva0m7w63fx";
+"ctan-o-mat-1.2"="1iya9r04n18i8jdzqkn2i1rxfxxmpzcpga03rp0i6ykjj65v4q4r";
+"ctan-o-mat.doc-1.2"="1j053gvvcznrk0fhg21ddyx1b1m1xj743b3w8z01lpjihihzq0l8";
+"ctan_chk.doc-1.0"="09ngqgs08q8bld334jrzhnd558lv7fajfppmfrkp4kv9hc5iyz9a";
+"ctanbib-0.2a"="1yq0ash36qgx049lk0k8ic54s76r0p2jlkr8y9v6zky7749gp4bv";
+"ctanbib.doc-0.2a"="1n564qh15bnq6x34yd2xadfqvz0favjamqb4dgfsrnhhfxxypdzw";
+"ctanify-1.9.1"="159jchim2b5idpzj5fxxc9hvrbddm6n00rpqsqffzdiijvp9jbif";
+"ctanify.doc-1.9.1"="0wnyp4rl4cg2wgaq83xwm0vzm1b5xlgbrjchg4s3glh2zzl4mpg5";
+"ctanupload-1.2c"="1dvqr96ir3gakxrf4fk0dka80inl6aj3kydcf0128vlq168zgvsg";
+"ctanupload.doc-1.2c"="1gzfib72lfbgzcp5r8130k1n2d00v2kds0x8zdkqnikn22fq4jxm";
+"ctie.doc-1.1"="1xz0b4ja9vmx42d6391zdvrfvvnn82qb3xdjhpyly6b9j02bbq3c";
+"cweb-62023"="1bgwc9ky1wm2dr5fglpxg2w0zhfwnpviim74jyj9sdfbfng3l08p";
+"cweb.doc-62023"="1kicmrxxcnk928gl0nkk4d7mh3jnnylgz828s4myi64y2ms6a8ww";
+"de-macro-1.4.1"="1zlmrrb1x4sm0y6igxxcgh7drf7c6rqfgm8pk1a7bfv5fdmv4fln";
+"de-macro.doc-1.4.1"="02zxl4xpbyjs5vwg5cskgfh3w2ls2bxlyn50smh0kcqas46vn9a4";
+"detex.doc-57972"="05hgi700kd7072h4x96bc7lx2p4cbwlfgfkmng0jdssiygkwrmyh";
+"dtl.doc-0.6.1"="1fjk69m1dyzhc8arygk26kwqv1p1yac2l9pca0x7xg3awc8nhgp9";
+"dtxgen-1.08"="19c9w97wjyrq6g1j8n8qgaclx141lv2j6z6l5h13gmkmyw08vwhh";
+"dtxgen.doc-1.08"="04z9dy0aada8zsp8ckz3agqcsm29dnlx770xyl51rsvk2qwsxgka";
+"dvi2tty.doc-6.0.0"="17lfphwzjcfpdkxcri20xks7z4j2xd7gm6kwshsc29xw4bw2l4wc";
+"dviasm-56373"="1j8cbyzchrjcflcs9z0208s4wi415i8iycxzag0bpd3h0zl5ppb4";
+"dviasm.doc-56373"="08czd7rm2rksx3xay7hrxsqcm133dqr9jj8nqw33a2bpnz0mrx7m";
+"dvicopy.doc-1.5"="1s4ia6034mdzif2lq9jwwcd4ai5il41yyv7h0cv9cxdbmra8ck4n";
+"dvidvi.doc-52851"="1w153rqm7nlmcf6162glxz282nbb6b6hjf5h0p7mbzr0j1357sxj";
+"dviinfox-1.06"="0bcq55p894m5hw3zdjz7q7ns21vpzjyihg5x19lkn9k05nxrs2d8";
+"dviinfox.doc-1.06"="0v2sy294w0m3kniwky24lpi4ic5d8qrm5722gd7vw6ddwkwc1x61";
+"dviljk.doc-52851"="15l05cggcnawyqg38a1hpyng88qh9gck4jvl78n1rdk4qdcgp891";
+"dviout-util.doc-52851"="0niv5zy6vksm2qqqz3bjd417ylq46bxz6sra3abp9k4c2bpr0pz9";
+"dvipng.doc-1.17"="0clgfwglxqs4xgzh2d9jjb91dfm0awigg0mv1r4sbyr4l21vciaj";
+"dvipos.doc-52851"="0izv95mvzky166xpalw897z3lgl3424ixbabz5pikrhn6i2q6zmf";
+"dvisvgm.doc-2.13.3"="1qc8sd9y1zj2wq5lxqr4z8ybr137vi8ihs6n3cyyhbll8zsfqh32";
+"findhyph-3.4"="0b7qqz0p0l70r6dl4jhx086dxywb0vlln3r166pj0yl5jfjzhpna";
+"findhyph.doc-3.4"="0n7cpjxz3adj4bcmc1vd548lggcchhqfahdcvn4w9invw296hhlc";
+"fragmaster-1.6"="1d59sjzlvygwq9b02gbrfra4cnvmygza80b5rkghhhpa0n3xnx9p";
+"fragmaster.doc-1.6"="0j1a2d4ssj3y42f0rsyhd7yl3pak9cz12fy16k2h8v02cvc96529";
+"git-latexdiff-1.6.0"="0b7hafll82widr8vibaqqavwwzi7m488ypm5wx14y6jncfl8py9y";
+"git-latexdiff.doc-1.6.0"="1cbny4qkr8dg8vnxjnjawq9cjb0h3816ad66q8b5652rpxn3zqcl";
+"gsftopk-1.19.2"="0n6nnfn3fwi5dz9vdqk4mv97hwnyybj3wsv3bipqfsxl31yjp51j";
+"gsftopk.doc-1.19.2"="0xdb0h557sgi56gik24izsr5xlbmlfya1w93yih61a5422rv198c";
+"hook-pre-commit-pkg.doc-1.1.2"="0mikg4p9wxb28vgwh1acgdhwa2fqnc8rw3jg355d6s137m40awc6";
+"installfont-1.7"="0lszqj128c3f4wbcrvzzlvj25jl5rm0n5qfj8rsn65ycxvymbf91";
+"installfont.doc-1.7"="15x8jzcd7bwvbjid0hr56h7dw39n2rg6wbfz4b02y7shp1pn7hgp";
+"ketcindy-20191225.0"="0v3sz01qwd2pnnqbf4v8g0xwhs3zqxc9qihfa13df43rw644m65v";
+"ketcindy.doc-20191225.0"="0ch1zjmg04pdz96dhyl2iy380hyjqcscxn0kafj94aldin20256w";
+"lacheck.doc-54070"="16xahphvhdl2xmvicr73lcswm5rdmxqaf5xj4gsdv2wjfqjrp4fk";
+"latex-git-log-1.0.0"="015f1jrfnwr7i7jn6g0cfl3zs73xw30h14fr2pyjhn9pr8kd3mgi";
+"latex-git-log.doc-1.0.0"="0pj2834ax404f0nnlfbg75f2h80wvnz23s8nr9vxr24vr745xpf6";
+"latex-papersize-1.63"="0axx2lkwi1xq3qdaazhb6i7dssx8q2k0nm5vf4b9p5ldl1ky0dzl";
+"latex-papersize.doc-1.63"="1dkra9b0wv8s4f7xn36j1x1p849ziwlm4chf5mrayp0wmx8qshc0";
+"latex2man-1.29"="04m5ccx6z8nvp6z8dm7dqhqyf8h9snmaz4cvd8i8fcwfba9znf9c";
+"latex2man.doc-1.29"="11nl9ldkw3f90iz8r23jbgxaa6yq5p61f1db344nfhy0wimx15si";
+"latex2nemeth-1.0.3"="0rq642fznwpybyksjrxqknqvg7y3g9bi2ql5r211n6nljw06l5hz";
+"latex2nemeth.doc-1.0.3"="1fvgdi8va2w096q45d1ghhhckx730p5ksf7hbbag7cjhwsdjrs0r";
+"latexdiff-1.3.2"="1v64mikb2mwbrfja0m8z56yahfrv2yb3g7snln5k9p5wqbhzd34n";
+"latexdiff.doc-1.3.2"="0q2sp3b55b24pm4gwgy9yrzrjf9y9c0k57zw2xm10psfb5vmpv3c";
+"latexfileversion-0.3"="1yy159skv29hp0qxpghmq5zmay9yi0ndkgz7lbllj1ymkgxs5138";
+"latexfileversion.doc-0.3"="0k20c2kw0xarjlkdhjyx9h9kvjm2f3rd98lz097xj8xvk0fs0zp6";
+"latexindent-3.16"="1vl7ls4jw55xyks0y0g8m60ffaryj543nbg6ri6ndp4128mm25x6";
+"latexindent.doc-3.16"="1r8x8jrwrg90c137yv6yfh45655985syc30azw0h1gjyaixv7z5q";
+"latexmk-4.77"="1g5940qif0r1jz49z4x2232yv9dv1d2zjxd2bvgxr59w89pkrc94";
+"latexmk.doc-4.77"="1pd21yn9f6dqqb60g047wgqycqrbc3023lq1l1d781aw6mkw8h90";
+"latexpand-1.6"="0n8gjx86fxr03i4pg6dwxr48f12q2s2v32pszg8qc2rw8gkvniy2";
+"latexpand.doc-1.6"="1j7s8f3iw2y8g8inm2f7a5lm1bxfv10l4zmhnfay66xi01py2cbc";
+"light-latex-make-1.1.0"="0z2clckjb1ffzz7s8ffdw63qiln0wb171wc447k7smdqfdiawi0p";
+"light-latex-make.doc-1.1.0"="13gr8vr6hvafnkc3dfc77h695g7rids87i37yav7nliifjkkfzaa";
+"listings-ext-67"="1r5nq62k8rwllcpxwpkh2z0gcb1rlydp9nry8wx7r0h93hbmm2z7";
+"listings-ext.doc-67"="0jyk8z0nsdx2yljly8nd4g8wnw7ggi6mdjw0wb7y0mb5wq47sbpp";
+"listings-ext.source-67"="0hd117168f5s1cb2iim6y198lnh05ph4ib7p666yxvv48wr0mfpc";
+"ltxfileinfo-2.04"="0f11qjq1a3s5nxd7z9k19yhbl5219nn4fr1vfcqq1zs8pwnsgqzx";
+"ltxfileinfo.doc-2.04"="1qjs959a28cqjigdml0jgyhllyxd5kj276akz93hdbcd6gzs9ss5";
+"ltximg-2.1"="0w53yx4bsj5c9djqp82fy3yvfaf7sl08d2698bq1bzl13rlnvlxc";
+"ltximg.doc-2.1"="1rni1hl6i91dw0fdynkajr27gir1a7qyagmpmypnpcdbqv0rq0hw";
+"luajittex.doc-57972"="1nqhgkh91g3sdsdysb768vw01ikbjviwlmhm4j2a2cdwxp81hffd";
+"make4ht-0.3k"="19qnlivslx01zcq8jvxyns5pa9q56jq9yr2533zals9m8h13hm8r";
+"make4ht.doc-0.3k"="0zvsgsc0v1wcx1197lw65d051qz803p16dkslkfglsjm2f64wycc";
+"match_parens-1.43"="0b0vq9lgr9xxwvzvlhlky7fg66r2y1qhikiywddkd06rmw71yvi1";
+"match_parens.doc-1.43"="0i8dnjn5kfqhp51i255s3q2cd6jwzqy4rfdrhaxl15dhj4il9k7h";
+"mflua-54074"="0ngbhdh8hgpjfqnrjlnp27x3qziks3yf2zp1qq7r4bjfa5jx9gr6";
+"metafont-2.71828182"="1kw37drhnk7qajmivvjwdrh5awns571wclv8b354zk71axf6cr35";
+"metafont.doc-2.71828182"="1aw460fzh0c8kwfsn9f2afpmaymb2krjjr67wzx28w56f6slarl7";
+"mkjobtexmf-0.8"="19nxq3k9jf4bypk2al38n6igpca369lxqcn3da8cm8c3m511nsmm";
+"mkjobtexmf.doc-0.8"="042a29h6sq9mpy6chfkl6893zcpb3gd3gsl60xfwglivib706qwz";
+"mkjobtexmf.source-0.8"="0q2i2xgpnjcx8qdkk47q7v0lmjdv88jjvl7zcybnhcaa9km8f9na";
+"optexcount-1.1"="15i48ly8mbhhk0mq4gxwpwbvhpgvk1pb8bfbmfk83sp1liq7xijc";
+"optexcount.doc-1.1"="1cvhzkl2lbz939y417ipi22n9alh9j7f06d2r1s0h294692m7bpv";
+"optexcount.source-1.1"="0s51426ib070x23d92rgpj247qni42hzaw569z64i7zr3nyx16dh";
+"patgen.doc-2.4"="1nc7m02ygwyphfy3d1ifpfdcdfmvzl6g75nh2ydgxjw0xhck8c4w";
+"pdfbook2-1.4"="027mgmbd3gnnc6gqk8vjnz8j52cvx71z5y6flrc4zd7g0syivdad";
+"pdfbook2.doc-1.4"="0al7sc4rxwd7g1cmyh8v4qhmlngz19f0f08x8n3wbfnvk2f8n33x";
+"pdfcrop-1.40"="1pmh9zjxn4xplnwzl5rcb6g7lkqm19kzd1dfm08992c719clx38q";
+"pdfcrop.doc-1.40"="0qayjkyn9sb9r5cvznpml0gd7vwpip0kf1b9r4jrd4vyfqkk6qqn";
+"pdfjam-3.03"="09h4s1kz13migq0slimh805pvnbfaazv9y6w1q5bcplyw0vibn1p";
+"pdfjam.doc-3.03"="0zpj2wzkx4mzrsmr7j0qx3zmq04ayxmdgj05a57pyc7gj7kwmb4q";
+"pdflatexpicscale-0.32"="1z19y34c0x05yp49jqn0z8i3ghv0sz8zm0arb576rz7mskpivjqz";
+"pdflatexpicscale.doc-0.32"="0d1zzym0mgsbicp92qf60fq8l2sdbdx47517k9pj3v8g91svxlpw";
+"pdftex-quiet-1.1.0"="00df842vapzylgavkk2c0j8yg562n2jawwznvyf3qq6dznwf1chn";
+"pdftex-quiet.doc-1.1.0"="0sa2gs440h3jd5i51hhbfvpqjpfwvzz5m32x3ld5q9k6zi88b395";
+"pdftosrc.doc-57972"="0jw910h146s9fzr5z1jbc6kgylprqfwl3ab4pv27p3p86rnrz6p6";
+"pdfxup-2.10"="1vvddbdg2l1s2m47w9whvjd1pfp28l6mnyk1m52wnspm3mi476fx";
+"pdfxup.doc-2.10"="0mbqq0rx1k1hrwbazfkxf72n1wrkngp45gssgb9z2pfw6k3sv3vm";
+"pfarrei-r36"="1b3jbb5ahwr0sgbgckmrfwbk3ir1g41n6j4mybc78iisxnqrx0br";
+"pfarrei.doc-r36"="1jrg8k3n0mfc157nmv2n1d4b8aijvgr4av90ds0g2m7px65yd92z";
+"pfarrei.source-r36"="1jgrhv8xgai1y81ddnqcrifk8wz47asvr3mh615wgsis38y6k2ny";
+"pkfix-1.7"="1sgss755cf1zrpv3x74x5qnqc6w81cvr1x0w7875ijh4c1xxkn9v";
+"pkfix.doc-1.7"="0bxijxbbj9v4c5p1rg4gkqnm75rq516vxln6s6174ph7abqrhvys";
+"pkfix-helper-1.6"="0hf9hnjw7ws0mx9w5s6ik17zlq27fyc3p9bgya1wxbh8lcvrygn2";
+"pkfix-helper.doc-1.6"="0fh59nzzl58fgpkkfzvi603sfsfnqrj8s39k4nn97567gpv4a22a";
+"purifyeps-1.1"="125dn66xsrnv4acvk2mbwfl26sy42jw7fngm3p8qmzya93sp0vwl";
+"purifyeps.doc-1.1"="0lzw7ajxkx78v5dhlsddb0ahq6a9975f4mzmsgp23qczmz28878w";
+"pythontex-0.18"="0hgbhdrzxvkc8szvkq2vi8v4xxn9k05zpa95vrmdlgw76ms33wvi";
+"pythontex.doc-0.18"="0pxafbrr7mclvn2zdwirqbfa0b03cm4l4wbcgh1ag75skghmh745";
+"pythontex.source-0.18"="03a3qj72hzczf4dz282vqq6w263zk1zhgm69h1rk5ibdyasmv8xh";
+"seetexk.doc-57972"="1bhv5xgv8jpam5apdybd0cggnvcizk2r6zs7lim1hmhzafpqqlcx";
+"spix-1.1.0"="0gqvjc05sl4hrgflb3xx8ly2pmj7r7cv86diwpz65gvdvdq0iyzx";
+"spix.doc-1.1.0"="1mggb1nirihvcqqxfjnsc5jck6qwqz0n1vzgnlyfxqgja6flad8g";
+"srcredact-1.0"="1rqmgpxcvvcmzxdj6k15v8z4i4iq4wv95whddpi93l3n0zv2ihmq";
+"srcredact.doc-1.0"="082ff60lfnapb570ps3g6vjy2xn0gjjih6y4nm3ry9i0k1isbk0w";
+"sty2dtx-2.3"="0l948m9xwn6pkxkwfcay98vapqa1p77rkjijyv6wqkbxr7zxh1i3";
+"sty2dtx.doc-2.3"="0ngfnvbznd1gyiljapflbgw9iq91jrcvjxxvaqcgfh6dilbpy2gk";
+"synctex.doc-54074"="13fc91avs09za1y5rrn50wfr2bf1csnf3p4dn0r3mkny46bdfw7c";
+"tex4ebook-0.3h"="0n3ga0cdpy1ywrcmy7n1yy6j9d1s1n5ph05x9bgfy9azmzavfsvf";
+"tex4ebook.doc-0.3h"="091mmicgmq2m9b66h88p486rvhvxlvsahcid1i6dp4fb4pzashz0";
+"texcount-3.1.1"="1bi484kbrcfx3hyflr4f2w0plhz58p2206rz4r1wjllhhhwzc7pl";
+"texcount.doc-3.1.1"="12a3j0sk7nysd3bd7mwnbifyrcvjjkfjy3b8f1caf6k0pf1mz8b0";
+"texdef-1.9"="0wi60appvgs0h5690h8qqvcmsq2r6fcxais2jqps92ryy41s2v68";
+"texdef.doc-1.9"="124azfh1332lq18g40d291gczx2agh2b1cxq07ldmizi8pmvjaza";
+"texdef.source-1.9"="0hanvqdj2dgpgl3wa6sz3qa542882h3mv9709spl8q2glmyip5b1";
+"texdiff-0.4"="1jjzd4grr3ip6gd8xmhlawhdcjfj1sqfsa06rxrpziklwirw6bq4";
+"texdiff.doc-0.4"="0f7q7cszy6ca6fmwzi7fn6p72szgzyj9fldvzz1rk3ywkhsnpakr";
+"texdirflatten-1.3"="0q2m138gpk9cvfp19jvsw746mkxa613c2204qfxw1bxw8b454d7m";
+"texdirflatten.doc-1.3"="19iiznql82a34d2yhzqcp339zszbhfz9fh0h4mb11696mj8rx3v7";
+"texdoc-3.4.1"="03ky8lczyi5i106bpgfvkick80xcagqr03wlv5pay3wm1cxw05mw";
+"texdoc.doc-3.4.1"="1ddaxpayfj8v5sfmw1z99jnfz0rhwgvdq96hywi12qf0nd8h0bvv";
+"texdoctk-0.6.0"="1k0gl06da0v60hsp2saphkmr2ma5yf1g6azwdl33ddbw4r8ssk10";
+"texdoctk.doc-0.6.0"="1k41z2lbfjsar5rl47xnk1adbcnnb4w97bzbgf2rnjhimd1gn9hq";
+"texfot-1.45"="0lf0748sl32brnvhdirjla69zm8gj7s462ds1h65f08pkarg4q91";
+"texfot.doc-1.45"="1i025vp5ag17k5vb2g6na9b0piaqkqfs0i51h14ddgr4kkdmh1ix";
+"texlive-scripts-extra-61101"="193v0r4i3p4psn5b4q0ggpgaazwn6jadjlzh5gjm3igg9k73i1wj";
+"texlive-scripts-extra.doc-61101"="1svrpyy75ksx0777k6mn6a3c54kcqlf92fnfn10x8wkvv7fkghd3";
+"texliveonfly-55777"="03i9pzqv2dz4z9nlq60kzwiyfvzhhaalhczqa9146jp4wvcib9l3";
+"texliveonfly.doc-55777"="1fsabzkbcrk42rsp8ssx0kvap31y1rqnkq582129946q3njvmylx";
+"texloganalyser-0.11"="0icav63nll0lj85cqlbg1lx1r6ysjf1lyv5bydxr3flr1c7yqx2r";
+"texloganalyser.doc-0.11"="1s7952n2brrz3s1qca9r5qk8fnjlmrmrn8b06dhjxdb7wdqis6g0";
+"texlogfilter-1.1"="19sxpfyfp2knv8q13sgka5kw74vplr0fnf5c9m599h5kb7v4pcys";
+"texlogfilter.doc-1.1"="0abckkbw2ka65bvmj7c2jipigph66l29kps62b9ivc7qmq4iv2d7";
+"texlogsieve-1.1.2"="1b0p1zas9djs3ni0ajpam7pnpjwh0lc3skqr0nr0n3w3y2870431";
+"texlogsieve.doc-1.1.2"="14sv932pmyg6wsfpcjs17y9ni2xbv2w14bnikfy6azj6kqlbqic3";
+"texosquery-1.7"="0jszy2f076hrc29kk8qcr9616hyk2cvys3kg2qfhvblxf07ziw62";
+"texosquery.doc-1.7"="11rz21m720pp97vb457pxaq5yxf3j4v8vfcd77w0bjpc632lh1xx";
+"texosquery.source-1.7"="1q7spgr1xk2lnx2xqksjh979n7r2v1n1441fkrc479zyi69ncn33";
+"texplate-1.0.4"="0bh1yhs28wzagh7i3sraki8ygd1kikcmalqvksilmb7j4s5c0hhl";
+"texplate.doc-1.0.4"="0zvrsllhb8fkk1wzg9mylnjyvb7pjl5wvd3m899j7w9cp5zl5yvp";
+"texplate.source-1.0.4"="02wc2aiqcrrgc514pn1m7yn1b5k6vg1p8d92kk99pkiz46vxnfj8";
+"texware.doc-61719"="1zv8m1y6gvnk7nbqmzkvg83iq1pgncg1qvxg572pxnqlm0lf779y";
+"tie.doc-2.4"="0lfjracp8ifkaj0pyg4i5lccqwybsrgxn11ji3p1g6kfxcy5hmgn";
+"tlcockpit-1.2"="0sm882jxczx8q4dvqaxnyb2wzlpxd249ayv77gj9vgq4lx9v0l27";
+"tlcockpit.doc-1.2"="0zd8hx3f6jhm5rklhr5dxb84y17p4rbgwa7wh95ab5f6n8i5pgwb";
+"tlcockpit.source-1.2"="0kldzbbyjvj0n60jgff8y6y27nxnzihjyq10gnx2gi62qn9bia7i";
+"tpic2pdftex.doc-52851"="02nf2fg4xzh8lbbddvm44qyvcvfn5b7kzcyg729a58l29gd88pbs";
+"typeoutfileinfo-0.31"="0w48qf9d7qh57s7b1745z6d5abc8rlgcjpmf402gqxv636589dcr";
+"typeoutfileinfo.doc-0.31"="1pffnydxqlkjixa71g09f7754ay0gnyphay51dys9gvvmwzv5npq";
+"web.doc-4.5"="0ssyalwg7jb01pmbr309n656paxcd4dhrr1m0m1iwc70ml70k5sp";
+"xindex-0.41"="1ln32di94wfvh1brcwpwkjf3j8129dkc7kmpm6bl15hdiw0j5knc";
+"xindex.doc-0.41"="1szvd554nf6ml4m0qjwfgm3bpimpbacw5lplffykajjzc3mcb1y5";
+"xindy-2.5.1"="1pb2146xb5g3l5jbqsgzy01lc4zkd39v7rd0rdnwdf7yrxad4zax";
+"xindy.doc-2.5.1"="119lq9mqczsh1np0876fz4gdfyq1rxmc0ghaqyriwl4fzj6lka1n";
+"xpdfopen.doc-0.86"="130wvaypfrg9sav0pdcdy1g10fll8pqcsqsy70fxlzzr937glsh1";
+"context-58167"="16ba0cbqz8w513yijaf8ka9zinzakgvbkpibhilnvmlcsxzcqsk3";
+"context.doc-58167"="0r15aa12cm049ly148sd48vaigqh1z9mbasjf8xc21ravq08jq16";
+"lm-math-1.959"="0vsmzr71d5iqhr9bwjnp7khzlg939mvfnbg846854cxk8wfm9hzn";
+"lm-math.doc-1.959"="1j6jcki1hxdr17njy8sfpb82mxh6bpllccf3hnjvylvpjf45nxm3";
+"manfnt-font-45777"="1cdd2a3xj00bwsby9z5iz5f2iy2iwsjl35gcack9q83hacbf3ssb";
+"metapost-61719"="1sk771ll9kv7sdrgg1xp8bmr1c0yd8g2g796pzyksfrjzbvs6fdn";
+"metapost.doc-61719"="0y7wfxi4l8dbmfmr570x3gx268nav4zhhlg83qv7blh9p8x6h822";
+"mflogo-font-1.002"="1dx834zwbrwgp2v61fagf5m4zmxf2qkhib4mkpw6iadcgfqv6x7f";
+"mflogo-font.doc-1.002"="03b3qg42axqhs1lvm3pz69m4jmhd1385gzg1sw8bqyajlrdnydyh";
+"stmaryrd-22027"="1vvnhyk7fq6kh1jb2zd19r6qq1j8zzp14gyrqvw7yqm5amjff7fp";
+"stmaryrd.doc-22027"="0dvcn4yw7qlb7gh3b3z9vk4rx12b1086glkk0x21cks87kphdxib";
+"stmaryrd.source-22027"="1wmn7bwahn28lwipkpsla74wn3a018808rmh7yvxdkbxfbzcwqcz";
+"xetex-62145"="09124rd2k40dihk4c1pidkd44rvhv1b0ain1bfk5ry1032ky7wly";
+"xetex.doc-62145"="1abwysg8587lppng8fs783b5wzpa8ld6wmxhv9c35xkpvg1pngv5";
+"xetexconfig-45845"="1253njshiwdayzq0xir9cmbi8syhjb3sc4pyrw9p6kzyqvckkcxm";
+"context-account-47085"="1j1rvgcznn8c637dayxpdagpwjq6fbn52sjmrb0wn4gd4b4q3nk8";
+"context-account.doc-47085"="0lfx6aa235jx7sz27qh0328n68ra3z2bw3dsh5p2wzkg1wxbaa6g";
+"context-algorithmic-47085"="10rj0ac7gqzqmqndvapnhn0jnm2538r5bzmhnfqia259qs2p0qj8";
+"context-algorithmic.doc-47085"="1s84vb55yhxlw6dvzrs4y6bf2cvwp6pp0mhy778k5zyzh2kcfzqy";
+"context-animation-47085"="1cy0jc6wk9kfxahndf82wwns4dhn1nbrxqx8v5bfb57m23id8vff";
+"context-animation.doc-47085"="03mdp7233r9snsz5g43h3axyhcf4vgpivfhfv4fy3vh1ya5fx8fy";
+"context-annotation-47085"="1c2jgc8r9b0inqa5cslmxhrqzh23jkdn9s9xq1q3v5qvlh4vcn73";
+"context-annotation.doc-47085"="1a9ba8l6jl7hjaiv5mmf5jvsvxxj0y6j2s222qaqa62crcbqc9g1";
+"context-bnf-47085"="1g8gdrqaq2iyc2aj4a3a6abs3vkcbkh44y6mnbjq55pl45ja8wp8";
+"context-bnf.doc-47085"="015wnsmz8fyshyrva3n31iz6hbifszi6cxgixlq17nxkpcnc5899";
+"context-chromato-47085"="1qf3a4p63zs4sr5acrfnmxdagf3x04l7rfd9d7pfcmq261fqsy3z";
+"context-chromato.doc-47085"="1w807zh4s7bbsx16v3h5gqc1wg9v92dkg9anysbsh1m9rc6hnhri";
+"context-cmscbf-47085"="1l8c4jcrwmsacr712zql2rp1sirjn0dwbn2r0w83v4fhrpyfifl9";
+"context-cmscbf.doc-47085"="0nim43d7b7bv8xmarilzhm4al3lngvlf7cwazhkwpg80zqzavb4c";
+"context-cmttbf-47085"="1pr47vcz2ix9s3nvmi015bh2w52gayf8962c025vhh9brinxdzsz";
+"context-cmttbf.doc-47085"="0m71dv1rj1dji5skq2pyvlkq0sz3w9lyhn076nnmvjkq8vh9gkpk";
+"context-construction-plan-47085"="0q97h6lz072gfbnlv99r570kkba82qyx493flln24rrs7js5szmj";
+"context-construction-plan.doc-47085"="0pmvwb3dax78wa6v8amadxr36fs68wf3rq5k54sfczxf6k93sbhw";
+"context-cyrillicnumbers-47085"="1gk4ncbfzilj98s7k7s43k6vb3il511k434aj34fsvqh5x9x4aw2";
+"context-cyrillicnumbers.doc-47085"="0f7r9qgfc8h92jprjqa24q4vpz4bqrrns3glhmwh3qmk1f2gyw73";
+"context-degrade-47085"="0r7bgy2fliqhywgqc1blcabmhjz3g0ys1rfk8mggkh7908lvvlmp";
+"context-degrade.doc-47085"="0d0fy68hk20az7vh2z87h76hc8x1hmgfl1r5saxg54l20a31a96j";
+"context-fancybreak-47085"="00zdyzfb70fvgrdna9z4958pxhmjv85jxl5vhfryprqkrbw05pr4";
+"context-fancybreak.doc-47085"="15igbqj52g2ybpykqzkzm8b9gqayccip5p6srv30458zmxhci9jw";
+"context-filter-62070"="1vj8kimqsmn9xhkh22pywqbn4sal5gxpxjbcbv8xmxcrby02gsfn";
+"context-filter.doc-62070"="1f6phdqxgvdg9c6f37m654ha6i226d88i81147h9x6sh01i7qd0b";
+"context-french-54215"="1wdn7ajvmfj413x51v0zcnbibr4378s1sla7f097xllak9iyd9yy";
+"context-french.doc-54215"="1lyi3hwijhc0jl93ygldpjm44fbiw4c7zky2ydrm4s56l3di2sil";
+"context-fullpage-47085"="0i7cwd0q9fcdnh58w6hgdbnxxwv8g01nk33j7naqwc0f087az7qn";
+"context-fullpage.doc-47085"="0pyhpp94adp1rfn7pl7fwa03n119jp455y1brmsww9wfpniz60di";
+"context-gantt-47085"="1x3glv3nanxic9p0xi2dqz6k5awwbhxzzfnj0d9sqwkcr5gfa8h0";
+"context-gantt.doc-47085"="12wbzw4j11fsx412qjjy0g36hq6db7f61937s8k8qrqpgpfjaz4n";
+"hatching-0.11"="11sdpa2fbxqz8diiwyjvx5fwfycby0rdav6941pgfbzsbqd3ys62";
+"hatching.doc-0.11"="1fq1wkq7q5f8jbhx7p49jnpnfprb4z2wmawyjbvcnrnmr8jbrdny";
+"context-gnuplot-47085"="1pahxhbliz6fsj2va5pgwcs55b3rhsmfnjb9qjxkz3gqzrzdkfdp";
+"context-gnuplot.doc-47085"="0l0qp9c0yvdrf8398wyac98ghrdc86lxgzr5l327gmgnk8572gxn";
+"context-handlecsv-51306"="1xx7jq1lqzgnm4jicc270g884qrnsaxg2cc86r2zh5ar584qv9yd";
+"context-handlecsv.doc-51306"="1frlxxqd93p2dipsvg1gi1g3l4b57wgwz9j5r2f31vn9p6dxh06v";
+"context-inifile-47085"="0qakf92qk90nnqnvvada10z6r49dsjyq25mcyd1742b3m64blvd7";
+"context-inifile.doc-47085"="11ds2hvs2mx7xzanzpj9il4piiqwhqj6gc00r8g618m0s2fvkp5b";
+"context-layout-47085"="0j7f5krz8n3192z8iysr7cc8hz0v1zw2gidd9ag0l3ifxl570hn8";
+"context-layout.doc-47085"="16ava246cbx60q43brkfgbfw1vbyszqv42x3k027hlzk3hv4vahr";
+"context-letter-60787"="0bnd56v120h3c235n9v2h6mzvmd6fy1g837gjim5fkkqd7jyzp2q";
+"context-letter.doc-60787"="0l4vgrpha5kx2990kdk4pdfljznlczlji0fxqsxs292yb3yy5a4m";
+"context-lettrine-47085"="1ab6hwgnl4s1524li669sgn06gsvgc6vdlxajnbxj7gby4qh9fr2";
+"context-lettrine.doc-47085"="1x2plp67i8ayw7v3nxf9njlj6fpwy0vvp5cd3k3vp9y0qf6is6cf";
+"context-mathsets-47085"="11r30c6lpcvkx7awgm70cb5darl90fvpnf37hj2mb7h69d281hv6";
+"context-mathsets.doc-47085"="16qckniq5v52m36m05bpnqypfz2jn4430n5x5zazx54j8makv827";
+"context-notes-zh-cn.doc-23171"="16f2ax1vwz0cihiyl9cg0hsgl1la6mgh6lavw7zx1x0kljz3ajl2";
+"context-rst-47085"="1lcxad4kjhdgqny5qcvwdd968wkls96qjmi7m8yrla0nmr44y5gp";
+"context-rst.doc-47085"="1k31vj6wk18ccrnrhw46j98i19iprjk6h770a2y9w6710zlw3pdl";
+"context-ruby-47085"="176si5c7a44r7j23kp5sdg9h7yd5dpf1pp7rzivbhhgiwqinx7r3";
+"context-ruby.doc-47085"="1mnzdbcaccdylxc47s88wpq25xj867j2p4rziw5w4pbvk88h8a02";
+"context-simplefonts-47085"="1kfn5dl43qg64f2nx319xgxyl71wsxq1mvfxr20a9f2w0hvkvwpp";
+"context-simplefonts.doc-47085"="1wy9qncb4swqxhgi263pv1d6f62zsbvfl9lajf0jljvkb1888167";
+"context-simpleslides-47085"="1zzrbypanrckbfnxv70bdn6ypkai213acq1ksa1jq5mfb53r50g9";
+"context-simpleslides.doc-47085"="03lhmixdn1wrfdw8a1ayw4rd7gfy03m4v33ch9i59zzz2w3v2s6c";
+"context-title-47085"="1vpr86mkdd8ib5vvdak3kn19fi8vxz1023ld6axhwq4x0cxzb0ll";
+"context-title.doc-47085"="03higvjmk1b400flddaxdmk5pkfq6vz6445q53qw86px82g17may";
+"context-transliterator-61127"="137wjy0whfbwp95h4grypwxld7kxlx9h6l3bkd5bpfnqhg70j05d";
+"context-transliterator.doc-61127"="1snnrk0h6pwg83qzsv6mk3n5fmirk6rxjih43rcs290amkx8i49z";
+"context-typearea-47085"="1m33wbnajm4s9x098a72xsg38sil61slpp1kk25f9w29vjrs18aj";
+"context-typearea.doc-47085"="1sblwx44pardqrp265xzg5hjpiflgic7k5xfai0q9nga9qi56n0l";
+"context-typescripts-60422"="1vvhd18qd6vka9rg048arpwn61rqw3za116k2yqfy4lnp2rypk0g";
+"context-typescripts.doc-60422"="0pll9scpcsxzwgsy77mbpw4s0yv432h5p0av70kr81zzskfxabxd";
+"context-vim-62071"="1jinagfnv3aghjn8gsack6zl9d3rcycwqmxir5jdjhbw4r66yp0y";
+"context-vim.doc-62071"="0gc1m894ad0y8l1vis5bc9n6avg8npzlqa4xr20z401nxhxmbv6h";
+"context-visualcounter-47085"="0n20r8315py52ghivwy9kh7g7yj4ixakmkn97phw1fxgz21jk6qg";
+"context-visualcounter.doc-47085"="18ncq5d4chmnmxmhazbjh9ypsm4c3577vgcmnx0y1pmzgb2g8pn9";
+"context-visualcounter.source-47085"="18yyv9974cxzpw45rzw6ia2jamrb07bzw6gqchdprdjs0xmhz308";
+"jmn-45751"="0iq5ky3llx50smw80lpylv11jmqc51m5yrhlslz3sakmgdqgg1yi";
+"npp-for-context.doc-0.98"="11bzcxi27yia87ia7ych62gi2y59jx379fz63avc4qyq4m9686ag";
+"aboensis-60059"="171586kjnfg1qb4wi50mrc9jd8h2ybg6r68kwyhgc5y0gyhyg08c";
+"aboensis.doc-60059"="0qc74wvq6ibxgil36wp0b5s66d7m7axbn0y1qpzy9hyrh8v8jpav";
+"academicons-1.9.1-2"="1x8aahfd4ai0a9wgqz1wrj4casmda07xryci0gnmyspha5r8x151";
+"academicons.doc-1.9.1-2"="1a3vlc8cxh35vka08q8qz1hc1l2hfk4lkmkrdlnd040im2h6v3wk";
+"accanthis-32089"="1vwz3c8xgd4arx0c41b4d0pzh00ds7y1npwlq4rz8rqyabg0ix55";
+"accanthis.doc-32089"="0za0ja43vv6yn7wmw7m0f7xmjkcly1ml7f9d3352i8lk3gj8i7r9";
+"adforn-1.1b"="1cb6w50xb9wkl6x384dhldrhpjbk5l73x5gzpbm8za4gmh1pc94v";
+"adforn.doc-1.1b"="0a1f1rrii1zvd58h2slk2zj032vjqpi480d38rgi2k2j9wlbbyyg";
+"adfsymbols-1.2b"="19rr3zdgqlmnrvd61g9bjiqiyn2gpn82fhj4219gqb1l06nqa0ka";
+"adfsymbols.doc-1.2b"="059fjvdmd1jgr1flv5181ac3wvby93hyykfshcmr1j06zs8j9kyx";
+"aesupp-1"="10yd16v85zbkzkxb17gr4kf4li28ims33i1zrkpygbdf10nclxcm";
+"aesupp.doc-1"="1dydcjdz57kn3gwb3pfm4yp6hr69pyqhy5lhm9pnlcrycvqsn8qr";
+"aesupp.source-1"="1s41gd7ansh80z6mmwwha7pypaxwxxvrz3sdfj24pa5b2agprq68";
+"alegreya-54512"="14zxpvvbvax65njqsh762x68ixlsn10990lib4a1dy84507jvfkr";
+"alegreya.doc-54512"="1cpxgdl6wqppg3f44v9bg1856db0zph3vx0jyisaajfixgjv7d8r";
+"alfaslabone-0.0.1"="11va28ww6qk97wx8fh0iqbm8b5s14vf923ydpglx4gann4w9bkiz";
+"alfaslabone.doc-0.0.1"="0wfhd5pi1p5xnkq8lgpp3fhqn8y76h5jp3h5qhlaqygal70fw9kw";
+"algolrevived-1.052"="0qsxy2az8d0sr07mz7yxca17gl1y3kaqmvlckjdckvwq1idh7h0v";
+"algolrevived.doc-1.052"="10m3rgczhnkalf2f945jwrpwvv9szxh3v4wggl1rdxj12ng0svlq";
+"allrunes-2.1.1"="0xgh3y7h57lkzxrhddn5wll339b4zih4nb6a36ymx38a6md7b8ph";
+"allrunes.doc-2.1.1"="0dki14g1607a432549kly1wcy1p6j63lrxfd3m5nyz868kg3hjmc";
+"allrunes.source-2.1.1"="1d49w7lybkn7sfig7i27mfwaccr9vjs7ab2ds27jmhp5wjl7w02w";
+"almendra-56035"="14v5sbjsnvihyaan3jclsaa1kg39c5s3rssclrmvr5a2jzn38pzm";
+"almendra.doc-56035"="1g32m3b6nhydxw0siwc7bw59da6cwav2xrypj636i16hvlck9kg6";
+"almfixed-0.92"="0qrai75pdkf4py7nhggvwzaarv4jlh04dqsy1b593jabq7ngaap1";
+"almfixed.doc-0.92"="0arhvv7z8yf8kcikzybhbsgsj6m9zy4is5ryr6hcf6a6incnkp1d";
+"andika-6.101"="0c5l6xz3frn9v25r6i64p07wzvphh2arswwyllalsrvpxsln5ha5";
+"andika.doc-6.101"="1s046wxpc1xwfjgh8mw097ag1kxzr8xsp5bzzilyfa383y6s0jnx";
+"anonymouspro-2.2"="1qk10w52722yzlyvk2k733sp1h2vic3rjcswkhx8j21a2g9xgmjh";
+"anonymouspro.doc-2.2"="0ijsn9cbkg1f29x0pj6a4p5d4q14rqrh2mjid57cb9qjhvgvqrm8";
+"anonymouspro.source-2.2"="0fl9sd9adhjx49hja3k4iy9pcx3hal0wjzxg10kjmi4j6qvz829s";
+"antiqua-001.003"="16pb6v297iqx09lb6w6zfcyzhwidd1cln14rqc3fblbmdaggpays";
+"antiqua.doc-001.003"="0pwyp1j02zh51crp46rlhbdnwc2m0blcrg0yk43yfc687q3jx91y";
+"antt-2.08"="1clzmvpglsirsvm8nsc3m4dkz2va90877gmsrm7jfkhm62xv9mpi";
+"antt.doc-2.08"="0kpiba7awkrjr2rdgxilni1yi8p4ycmqyy09c1p9j1ld82idsjcm";
+"archaic-38005"="030a281kl48ixl4vh378bf0341lrrpvh73ws5pjxyhvs6cvyxp7i";
+"archaic.doc-38005"="0m64lsmx3sryzdmbsmz7biwmndpn66x9is8apqn7w64y4b1jjcpk";
+"archaic.source-38005"="1231mqascj96yi4jj11p4zcxgkpzxi3p0zxnjq8x5fpajz386kq5";
+"archivo-0.0.2"="19hr6vc7x9csjjd3i6mz9z27cyq4pz1qvhmiwbql2xhvmbcd871q";
+"archivo.doc-0.0.2"="00cs206zp27vpw06wqg7adwj73124zbp8zwfvgqsh9n544npvfmg";
+"arev-15878"="1nx33blp0nfqfmv2akj7w79qg1rhds40k7b58v5yvyrkx0hpn0hm";
+"arev.doc-15878"="1vscwahxzdcb6879pbrxdlfpgapc0bia2fl3jwilrm1has0ffjz3";
+"arev.source-15878"="1k524nfr5zb0nmhhq8dfaha4kv9f2ika192scllnn1bywhbpn2x5";
+"arimo-42880"="0ngpcv1824bwipjpx8qbx4lj1kyb81xw9dj0nqmpfq12a6q01nvj";
+"arimo.doc-42880"="06la48idihifm1n8yzn4b85x1y5y7qssq8d36fwvyr54kl5prh0r";
+"arvo-57213"="0i9x668hjr2b6brdysl35rxgjji1zdsn6wbf21ql0xmn53frk4ic";
+"arvo.doc-57213"="0g4lpx8mra2qk9c1qwijilscq48n5n252m6s0hxfraj5rshrhc1j";
+"asana-math-000.958"="1776yxdxk83540gwr0qxk3qs7yfv4vysxyvcwx1djhd1vrwhkzh6";
+"asana-math.doc-000.958"="17bb9m4fsmrhbk1hbqyynkvlzgcq45lkg68kf56zs2c00dxcdhp1";
+"asapsym-1.0"="1m4ky7x5pavf8kpyqrjqa5ara2iwzqc3aglvbsjblny7n2az3dr4";
+"asapsym.doc-1.0"="07n000aa7yjvx74vspqq1rrqw444z3f9pkwk3hdmmqm3p1rrw912";
+"asapsym.source-1.0"="0cacvd85rh2j0j6d1zjrisffwyzh0pphzsgb5bxfq3dzycsww0iw";
+"ascii-font-2.0"="190ma5qhshn71vhsjzjb2gxb54qjabili5m9v98vwj173sdj9cjv";
+"ascii-font.doc-2.0"="0nrnfvrcgwmv46x8f9ybk1gv6vgv8jgzhc8480fl7y17dii3jl9a";
+"ascii-font.source-2.0"="0xcv04inym8230k2ljb16g4ajj73gggg13w6zkxxq8a1fa9lwrw7";
+"aspectratio-2.0"="17y22131b9nzzq1skfdyr7cfcq823nqn3ssqrbc3bglggdfibf2p";
+"aspectratio.doc-2.0"="0mw7v1m9afyk462rjcimvwwikdpj0f4gjw5pbw2g9c60vbjhz61j";
+"astro-2.20"="0cjf53gbin9z10g63x2kingsclgnwr6idc4x0m473hf4fvakk34x";
+"astro.doc-2.20"="07kad1fzv7p6inh7nkrq6b34c1792h4v49rxaaxqyldmf4pwjr84";
+"atkinson-57624"="1c1z9cj1vs4jczjcg9vaq52qy6y77217153i1ivd00v73bsfsmc6";
+"atkinson.doc-57624"="1hx779qjjabgsmg5a0halwxd074qdkh0c3qp47yb4ahjsys38c15";
+"augie-61719"="08m2n7wqqj1pvvrw6q8j514mgr1168brckm1dl44yp78afgm6vra";
+"augie.doc-61719"="0ygmvlk1h6n071lq8jnlpdqaxhcxvwrzf1kgvacj78kijaqd0lix";
+"auncial-new-2.0"="0nqz71wdm0w34xdg5p34ph6na12jlvxz7v1bfigjm2v87pbn5lwz";
+"auncial-new.doc-2.0"="1dw0gbhk3hwfapdzysf12kz5g3dfsr5pxpnga9s1ksqicck26b5w";
+"auncial-new.source-2.0"="1gyilj1ldx6c5lfn8vrzsbss4gl77grr2mw4v6xhimv2vsyp29a1";
+"aurical-1.5"="1ffl7fji5r74k80hl3d62qj7f0h439jb7zmsv4f21w7b6cfyj74i";
+"aurical.doc-1.5"="0l19hfh5g2dc3digkbjvrh90h3vwx6zsbadjl7zzzlnhsaq44nlf";
+"b1encoding-1.0"="104n1g3qnx2dj91zylj5byz7yaai6dw6v0pl9240mgk1h8i0xr2p";
+"b1encoding.doc-1.0"="0sdr25vv9svm3r6yqyalqza4awr8k26g7fmh8078bbxkddycchkm";
+"b1encoding.source-1.0"="0mbzrasvppl17965dmkp2f9cbi03539p83989d40kl5p11ih6dgy";
+"barcodes-15878"="12gzzkj2nkkzw4q6jw0nvzil67f83myhwas37s71dnpqm5n1yqdp";
+"barcodes.doc-15878"="0yzqllbvdmymqv61mc740hwjz76m7sncw4mkvpld1i9kv48f0nvn";
+"barcodes.source-15878"="1m9mifdmxc07rmlg9pav8mx856jg1g2jk48hyxkd1zs6b8za6ani";
+"baskervald-1.016"="1wvdsq2qngbrm2nibvmssk62kqvjkk50cxi2d7lx3nb6jgmj33c0";
+"baskervald.doc-1.016"="0zj9xj7y1srb58lr9brmi2m7nw63n798m7mmzibjvn50kfw3qc8i";
+"baskervald.source-1.016"="185jgbk6rg6vkdwhwb8i0inb32qr3rgsdi3xhgj4vj0iah9mdkbn";
+"baskervaldx-1.076"="0nnqkki5ff5jn9bi8xddqpf5r1cj0r6rjgb83ab8x49di3y5qjsy";
+"baskervaldx.doc-1.076"="1q8yv0725j3sfnqgznnjjbkm57hxq5n9xvga1f7kf5c0jkp52742";
+"baskervillef-1.051"="108yndp9v2awi5vw29zbin82bcvx2fzkkhypg7f4dcl9lziwdbg1";
+"baskervillef.doc-1.051"="0divl9d4bgpjvc6yy2yawcrigkvv7pwdnxy1gvf8mypwhkp17anc";
+"bbding-1.01"="17na9lw0yaqn7i5dnlvbfg2yn74j8kr4w526z10bzp4kpynnpnlp";
+"bbding.doc-1.01"="0pg135sdbs1zbsyv1cp69akk7kazr5937ysik38dyhhc8f7vj49d";
+"bbding.source-1.01"="1kgz94yy0gm19x59vh24f9zv95gy53ayc1906r28s067mknmc46q";
+"bbm-15878"="1l1yyiqy3izbzbrpz55dgd46szkj55g8wkjr5xh7g3jc59y5kq13";
+"bbm.doc-15878"="053jc17hvq8vphm6jqr929hf45xkb3rk7yplq4i55x57vkf8bvdq";
+"bbm-macros-17224"="0h1qqr82ihqn7i8r6pk2mrxkpf4cnil1dj1a0y4y3ydph174v4l9";
+"bbm-macros.doc-17224"="0pxrzpbwpfzk9jhb544zmya41vzdzyn0s5dcyynajnf8lii3kivr";
+"bbm-macros.source-17224"="0wc6wf1qi6kxbd5a30n926gkagyjsk7mji9g9nzv3jwrshqihspw";
+"bbold-1.01"="14dz70qh8kawzlb1h8lrm0a4dpqkn9b03czd51s74z01a3cdmn7z";
+"bbold.doc-1.01"="0pfrhps4yirpg244lcpf10ilz53714ic1fvpk3nkp2ihjbaxbzy1";
+"bbold.source-1.01"="0qhfqg6kynfq6jzx93mili9kpgikq39wmlhgiav3bdzqhp6v0q3a";
+"bbold-type1-33143"="0zvkzp43awkf5vbnrvhibkw185zg7h1rcfqav38z720cls2vgd7w";
+"bbold-type1.doc-33143"="1dj0vqnhmk8n383y426ma1y89r8y69y1lc2vkg58gaffjfrpxwxs";
+"bboldx-1.031"="1b2b9a1sk79k712ni4s3f5n5fpb4zp0kmyyp8wds6bdf2kkq1qzi";
+"bboldx.doc-1.031"="0x4r242x60i73ry3fdzfsisbf6pzmbh3m3f9z8p2xlqbq2q4gw4w";
+"belleek-18651"="16vq207gnh24axsmh2nnh8lgy1lz2dn2kfn1sx51cbl28qv3wy2b";
+"belleek.doc-18651"="064l5x679az55jb808yq36n28qhf0gv0xm21iz8rnz4qxymwsx0f";
+"belleek.source-18651"="1w1jbq0l49qd2wwc0xmravrid4rfba52yw29z5ki7p46j51dw7i8";
+"bera-20031"="1i3mahkkb858i6a3wyrilcbswdp8mhclvixdxgc0wpkqvxa6qwya";
+"bera.doc-20031"="0llhr464l0akf2dx1avnm3d7adzcz7ml3x95glafpk0nfgb98qgd";
+"berenisadf-1.004"="05ibwmiklbdkffb1d85w9097sv215afgbr63fka2iqzcnm5lzbk4";
+"berenisadf.doc-1.004"="18awb9xgra9qmrsrm9l090c5lsx14xp7dh034k1fq1g1767w68ms";
+"beuron-1.3"="0zfkx9iiiz7h501ls3z1fxk2ga8kjhi21vpmlng6vvw4v3dd1xhy";
+"beuron.doc-1.3"="0d0mll620s40695kikaykj4w3ngm6rcb4xzrgk3apl43pcf7mss5";
+"bguq-0.4"="1spl6qnixrb6vcdgaaxx0fk740kkxv7y73xamlkprdnrsmqrswwm";
+"bguq.doc-0.4"="10za9hbwigcbxyjwyy5cd760hqabyyj3g74w355akhfpyd20m55v";
+"bguq.source-0.4"="1vaw8sa12c94ia6fknnpbj7xxng3q3lj3h61akm590riffklw2kv";
+"bitter-56026"="1xl5174fppijqlfi1qqdhr251flx8jngnmc3sk4i4vv4d7gfanaq";
+"bitter.doc-56026"="01j95jkb334yf4rwkljfw4sa2dwg43fjln35rm6c7h62cis4vi0p";
+"blacklettert1-15878"="1gvdw5gwjzgxa332ih2rp4whdcx1rdn5mig5q9cyiy28zvm1zrp2";
+"blacklettert1.doc-15878"="1m6qp3bkwl77khvanw498bfrydmyvf1qx5a9sp66x7l7xgjnndlc";
+"blacklettert1.source-15878"="1c38hmva1ffzani4mjg7zad0mr6lphncspn57m55n28hwfq7x8i5";
+"boisik-0.5"="0xqr3sgmzklqsvd26f2800ifs674lf0a4kgr44na2l0lf5msww2c";
+"boisik.doc-0.5"="0l0hi4n5cfm1zdkr68c6ks3gxkda5bgwlnf62y7x96q5jkscdyxg";
+"bookhands-46480"="08nsfgwhlyv9whaipx74hr4w6dhpdlvwcd6kxzcznxc66mlrnpk5";
+"bookhands.doc-46480"="1z0rir98r4fm8vhx26hw7l22p2z7swj5b2i3jdfy3c6cj0pi4g0g";
+"bookhands.source-46480"="17clfn8g2f48v944jlvwl3jsz9ixkw7x1xjxqkpaqnng0wsm6fyj";
+"boondox-1.02d"="1x8xd0q0yg1w1y06gx9fq25jakf7s3nz5lf2vryh5zlan2fz0ic9";
+"boondox.doc-1.02d"="1sc5bwpvgz28q2ym65vccyr5pdg8fn680kd83zgcbcwd85n8nhrf";
+"braille-20655"="0cy4bxpg284blfpmpgh1v9vyh5bczdyz9zdsc1almc51nv6c6zgf";
+"braille.doc-20655"="1ygyzvyz4am70n57hs8xhrkdd8hpn2mvg7hg3rdr5b6dvis2ibj7";
+"brushscr-28363"="04vpb4yvbazm9lb7k2rbv4wr372k3l6brx37fx5283fpzj3wvhxv";
+"brushscr.doc-28363"="0dv19f5hfzwnw6fd32glqc71rbjwi1y66p5fl1r17pxsj16nlyc4";
+"cabin-55907"="179j2kjh2lil2ahp67pd8hj8j5w7khfnfaahn1za8bp59f18xb5b";
+"cabin.doc-55907"="0xxs274z4wk1n3a11ybsp3im81wp0a9rk5ppnrwnxm2hgfwsyk87";
+"caladea-34991"="0cxvzpygsf5p619fd7z2wpi2bahiaqs3yly83n4ma88gac3m4plz";
+"caladea.doc-34991"="0v14bqll7iqx9czwamyw4wzl4grf2vc5y08n787p98856vaqdy5k";
+"calligra-15878"="0x3wvp6crh6rg2sxzwil3jr13h73sjgbf7ar4y35na5ksgz1z2j7";
+"calligra.doc-15878"="0pp4i750ga99x72kzy818062jvldylyfanjaf8nxgkglbyiw3l7r";
+"calligra-type1-001.000"="0liaz2jv1ad3xvmaxdp3vd2b3wvyg0wm1jlrrhxljzazsxzs5d3p";
+"calligra-type1.doc-001.000"="085bcvvz7269v68r8a153cgwgs18bgpqrd40k5xy7k7f5wy7d0c5";
+"cantarell-3.2"="1p5idl8vqp84g7vw3q6ybwnddv8q7a0ijy6vny8jfd6583bjx6pb";
+"cantarell.doc-3.2"="1r6mlr4qq61cclliz4h86bc86zkb5kr5r9bixwnj88pbvbalayff";
+"carlito-35002"="17qyhmp24afg30z3b377n1dcihxvs3x7gvykxc7g43z8cm9ins8i";
+"carlito.doc-35002"="0ixh7s656l5hdl07gcckxh2q40gjmh9kkirkc5sn36ynyd17zldw";
+"carolmin-ps-15878"="1wq22k55696jbawhlcqxj839vx1kla2xsik32pv5i2371dsn7211";
+"carolmin-ps.doc-15878"="1kai31i0pvrvp44y06hl3mj20hwjzj2mav6zs36afz81b491aw79";
+"cascadia-code-0.0.1"="1dld0cvrpdky97ycnci27z4pk2adfflbgp5r43fxkwbh3l45am9n";
+"cascadia-code.doc-0.0.1"="0i5ancv04gr9ryc6kmrm197n6kkhq7m2gs7bj3kmfza0r8725sd8";
+"ccicons-1.6"="0xqq8dk5czaazzjlf601fs4d2z81yn02ama07js7wrxb21vvjz2r";
+"ccicons.doc-1.6"="15hlqk9rir37m45ajfwfpw2w2ngsc6nfyh8g76vmbc6j48zmc4mg";
+"ccicons.source-1.6"="091ayhgprp5w5g59c0zfy51lhas4gf3spya77k9fbr9gxp3phl4c";
+"cfr-initials-1.01"="1wf5lcqh3jysn0fbzpmh429gmicqhh1kvz26jfl37f1z53g07shs";
+"cfr-initials.doc-1.01"="1akblgsix6a59as4z5z6hhsncnsfxqh78s8gw0m3xqv6wrbv417k";
+"cfr-lm-1.5"="1inzb3q94b42n1g3hchqld687qhs33m2zxvxvgyciwqnwfn3h968";
+"cfr-lm.doc-1.5"="1ska7y1xg6qq86kccplwxjd70bdbiw492d9y9n17d7hryg2nxw66";
+"cfr-lm.source-1.5"="10layppddcanvyzjbgn6grgba9ff47kn7fqdxmwfkwnpw0qlw5k4";
+"charissil-6.1"="0slxs5v8wdr0lc6l241y6m30hx0nd6jrx44vh97widiq5n4m64rm";
+"charissil.doc-6.1"="0m72i0n3nrq3rhaindxyvxjdknwdp7yd75p6y8hr9jj9jg9vdcqz";
+"cherokee-21046"="1h8q9ysfnwdc29kfc6yj4545xk8cyncl9ns5a465kh6li01zw5i0";
+"cherokee.doc-21046"="0ijq61im5wsv64qibwcllc2mi69d72915c5qjk0dcnsn7k823si5";
+"chivo-2.1"="1nva1995nzxs9mqahqhsqr5ipfg7swi9mms2gy0ir4miv17fpi1h";
+"chivo.doc-2.1"="01p4s3psbi5900cma2xxpsq42f3r6j4a21nsrb17lqx7hhrxq0by";
+"chivo.source-2.1"="1s60n5whsv9b10zlmdr6cpi81giyzh36s9y3b9bxphja0hm7zhnd";
+"cinzel-54512"="18bgd13ly5sb87wixcp3n2403m400xngl20vxa9pfg2xykda1haa";
+"cinzel.doc-54512"="0mad5alznwa0ix3nkbpiivalfyblywl0f7gkjbhmhssvq5z6dyp3";
+"clara-54512"="19g2vpxwjjc3y88ghw8yv0abkm69x6lnjj4p1cqbdjiyy4n83677";
+"clara.doc-54512"="0dkqqps72wws7dhynan243wf86gxn4chn1v5iiishkar33xvvlzp";
+"clearsans-54512"="15f5x2kn3sfzd84gg14f85bh52i9ca93m9hcvfw9nvna1wbz02q4";
+"clearsans.doc-54512"="1h87j7b7r8zvcm1zyn7y3s9432ll6k6a14kz2vvwmy5rf0p4vcij";
+"cm-lgc-0.5"="126k3nr39xvgbzjws9x9xs01rj738lvgpy9r2wjvalxqvd2sahw5";
+"cm-lgc.doc-0.5"="1xffcgb60kvbg07hsw3dc6kzjqh907fj97qrrj2586b66asna5il";
+"cm-mf-extra-bold-54512"="1l1cm32z8wcpj0cl7czqkhnwil3ail7a2bbzn70dnswpj0ka8k9n";
+"cm-unicode-0.7.0"="1y71gdk369hs2yzbfnj5i6yy2xjzv4n65vcfb8z7x596kpjm5jz7";
+"cm-unicode.doc-0.7.0"="0zc7fv9p1m7dgi3vwkra2d8x18c4gkqzkd06gp9c18jgf0m6ahm5";
+"cmathbb-1.0"="03da7ak8q3qyvwnk52mn2a79q2mfbfk0bfrkvmjpqnlagw35qmbi";
+"cmathbb.doc-1.0"="1i54xpnvygfmwbvdnj5wwd2fwfl1y4f99afvs283lz1ki2857aj0";
+"cmbright-8.1"="1ypjv6wfj1nm6wj6laniv304zri75q9gaik95sxbz0wh5cxzwgr8";
+"cmbright.doc-8.1"="05cwyxmh6mqj0xf4awhif1vvms0j1lmadd1fgil7b14l46mcd99c";
+"cmbright.source-8.1"="1y5is2678czhhkw4y5nrg05qqfi3n7fbric9m6pszfkh4iw0ml6c";
+"cmexb-54074"="1hfslkscqr01dkgnckfcr8c04s053s6f8z5xk35lcgbqj1l7ygag";
+"cmexb.doc-54074"="1f6nrlnnq3c8mwsxz58pk05ginjkdjpgpnnw2alky20s78cc5kyq";
+"cmll-17964"="1mv2npq85fmm8ff3n2czs1mfjqcqpy5rx6dwy9c5ra1nybx0a5ak";
+"cmll.doc-17964"="0ps62xbzac6k9hk0s7wlk14iq70h922sxgagy5m8an9vqp94mjzi";
+"cmll.source-17964"="1vhh0ds96n1yy3nby8np7v4i747cana8acvcnik1zz9h4xnf4brj";
+"cmpica-15878"="1j8jsl3g76wxdpzsj8w68ln2i386cjzclcvvj1nl7z9k5bxf4s34";
+"cmpica.doc-15878"="1rj4g0kzy0ci440bjkh7b7lyh52xx6v737chzhps9w8q1b07wvca";
+"cmsrb-4.0"="077f185vcrklhnchlw694113fpgaxy8paxms37rp2br8mbhczy00";
+"cmsrb.doc-4.0"="13nd3vhxim71kcl2n02fcrm5vwakkrn0f5nfw8irl9i9r9bgy6ll";
+"cmtiup-2.1"="16wg8nw15f1pfcrm49xnna6finbvl0jr0wyapqg9i2jh39c1gizw";
+"cmtiup.doc-2.1"="0rr69cqg5pblx5h8xyw1zkap1fj3pmdznycplxx0kd4wqzbdd47z";
+"cmupint-1.1"="0y3pf2mbhxhn67skzy89850fhn17xr0b0ghcxn1ayq19qr66yrj7";
+"cmupint.doc-1.1"="0v180y0j3md4iyx54fvjr7g00mavmkw6b99bsm07nncfq0anajms";
+"cochineal-1.077"="07gachpd2xz1npifg11mlkhkz5q1q5vmi5v9b35xvpk9a68j4a6i";
+"cochineal.doc-1.077"="0qbbgri75qaw0gkzgzwdmvh8in7s74f7fmrs95czhcga0wdcjz52";
+"coelacanth-0.005"="1flbg98xil54zvjdcig4allc9pqlliz43a681kx3wacn8c48nqp6";
+"coelacanth.doc-0.005"="1py3h3hx20jfpjxy3mylzz31vrxf4fs851ffprymf6rs9c5n6hm8";
+"comfortaa-3.2"="1kfxl806y2g6axx8csnd7njyd0skxx1gpw7fm3paz8yrzvyyw89g";
+"comfortaa.doc-3.2"="0irfhf9qw81m9x03nybk7br1nrsk4gx1dccd8ay7wd3sgw00kg0a";
+"comicneue-1.2"="0w2jbwfzfhbm5375852zv9rqih3p7grvi0s79sxr6gpzh7iyvlxr";
+"comicneue.doc-1.2"="0wr71zjk337h9p38nm67ga8js60vqyqfslwn7dqvzg06p0741bfk";
+"concmath-fonts-17218"="061kfzds7clbxyq62ilxwcrdkfghi2lx8afik7vi9gg0hysbki7y";
+"concmath-fonts.doc-17218"="1x6wb92k4da01sv8b35p3bly9hj46hh8k9wr22m7lj3rxnndnpcq";
+"concmath-otf-0.20"="1wk9hfh33m1zlaaa6afxsvg17253pivw02vda1976npinga637qx";
+"concmath-otf.doc-0.20"="1rxnkpb7rh8mrvh0rypm9bzbfp4niam8plz8gxglhxgp4mb7xf1q";
+"cookingsymbols-1.1"="0kz8aaf7bp0y2ph0iia5lkrxnxch9r63iy7y4zpqcawh1ajl10ji";
+"cookingsymbols.doc-1.1"="0dws0sdcg13jpz23zvkw6vfnc34qc1s464nm2nbdybhjwc9gdbdl";
+"cookingsymbols.source-1.1"="1l1jkd6mcxdldvjyk9myig4jsi89mg6n4ab6ymq5lqf25d260h0j";
+"cormorantgaramond-3.601"="16fwq3iwv3alp5frk7hzn4j7bdax8zfvrmkn7sh9hqn8w18gmw0l";
+"cormorantgaramond.doc-3.601"="110f56v8mb2yjyfpdqa82905h0fmra1k5895bl8f9b1va9p89b5h";
+"countriesofeurope-0.23"="0387czqiyawxcjqh22czyd8f7y55kcrscxmp28rcm8wqqdh2ra0z";
+"countriesofeurope.doc-0.23"="0h06f5rpizsdqddqdvvvh5p3nhm4y5aixjnxl8s0b90wpcldwrpg";
+"courier-scaled-24940"="0gfqc90fq1nk7w5rvy3fqd5799aaxh48ia4wxcf01bhs4l7nrl1i";
+"courier-scaled.doc-24940"="17zr8bdv5dv8hybbjfvkrn1skn6xpl41yfrb4q1nq491nwbppb14";
+"courierten-55436"="1maxj7wsjqh2ni75pjpzsbwh1f9abndka1ilaiwik1c21kgb44g6";
+"courierten.doc-55436"="1lq4clwd38f8l4722khgnldjfk11mn1m4m82ppb1qk04qyh1v8sp";
+"crimson-54512"="0aicj6z25yvrnsn15xyn4920z8k5kbxlzrfk7x914rdq9s9s5i8h";
+"crimson.doc-54512"="1sz0f737kkqlx5d1pn5007y78y3xkblibsrkw61pp8aa1cl1mmjl";
+"crimsonpro-54512"="0d3jpr2hkkp9yhznnx0ijxi2pc18fszzcdqxkyri8na15laflbfq";
+"crimsonpro.doc-54512"="115w24lpx8xv6gkyvjmxyjlv2kd8z90036726nfci4wc2d1fr3fw";
+"cryst-15878"="1jd8ny0a0mlhjdbigkkkkz1xn51s3l8w3dpcx5kwg10m29b3vwc6";
+"cryst.doc-15878"="1rdclk91d2hps0xiqj4p0i4najjz9llq0nr9qvlj57h7ipyrahcj";
+"cuprum-49909"="0gqrwdh2gpxgc74zq97zm728ykadkrl066v77hjllmw7x6cjxrng";
+"cuprum.doc-49909"="1126yz6ks0rk92jcsbg2m3ibvv64xznrii9kxf6ss36hm1qwkgbi";
+"cyklop-0.915"="1krjgk4a920bpgb7c6qw6jx5b7gv97raxpaby1vx1lh5zvbybfn0";
+"cyklop.doc-0.915"="1fnsd0p8wp58imrn22zbswk8bdjgp0w9v4hcv8f7x5ks1czcas8x";
+"dancers-13293"="0nni21f6y9gynx1lsymb3pmh6w761q21idq60fib90hvv9jjd85q";
+"dantelogo-0.03"="03a5l0hdlr69knnp6q464x9610mwjkcl3cw3i2q10nfm5ywr7nsx";
+"dantelogo.doc-0.03"="19y2vbi5wwia1lg16rbwzkfd2chi9vw3m3xig48h0bsyy5y9pgbh";
+"dejavu-2.34"="1pxcrv98xgy9hkqhclyp0q5dgpgc80bvjzs378f0dqzc1037lghn";
+"dejavu.doc-2.34"="1f42z94n6dpdq481n5wmsx5hx000klmbklghz77x8pc9shgvlka8";
+"dejavu-otf-0.04"="06cdqjqj0vcxrr2nlqs2qszssiibzr0pbimhvqjpqfdv2hhdxd0d";
+"dejavu-otf.doc-0.04"="0x9j42zm6dagn4wv8hz34x7cgybi6bb86whxvmmwx5slsbb6yqfy";
+"dice-28501"="12j86mgn8zph5w1gd1lmmz0dcka36b187vld6r2srnj9f398h7ac";
+"dice.doc-28501"="068pzhi6a4mnq8bj5xvg4pdgqb4kvdggybs16hpk8jla03ny18zp";
+"dictsym-20031"="1ipmlwgma06nd1rk4y38r40y01csq1myqavmpd1f3c53k1n0v42s";
+"dictsym.doc-20031"="0rljzx70rbvlcirxr2kf0fmrks6g04zc1mz5hzfkjcn6xivpawh3";
+"dingbat-1.0"="18yzigyd9s0c7qs34x1km0am9ii7xywvyd9miicbdr6s4bjrjdz2";
+"dingbat.doc-1.0"="0fxbmx6nz2ib6qfka1qsb9ky9r3xw5hvss532hn89yx40gb6qx5r";
+"dingbat.source-1.0"="130qj3fs12j3sj93xlnqxch9lgywgwk3qchlil72dgmh24kg6ij8";
+"domitian-1.0.1"="0rcyfp46ar0qd2jiir3vmwqmkcj8zrhnrivr0xsi7nf9xbl0xj1v";
+"domitian.doc-1.0.1"="0q7lbpc0lh2i6jw6dwr26d9kxpwqxcrv6szsqfk73h8bpv123ghz";
+"doublestroke-1.111"="1nfbbh7kid345jkcqdhh72q3fg2fh39fzchcbhfkvisvqmqs3cgp";
+"doublestroke.doc-1.111"="1vs6gkv9bzya3hnclqbwx44nf5s8vir0hs499dsya2q64qrmcp2p";
+"doulossil-0.1"="1lajwxs0i5971bvc2jmdi1ljpp3545hq9ckyrr93lrk0ghdv65qy";
+"doulossil.doc-0.1"="1wv1718k51wpbzrlxy8qm169q7brbx0gy7x0mil18a8ik53r7c6c";
+"dozenal-7.2"="10ghknq4nnyvly55mwcisb64cadb0afmsqjh8z026izs684rbsjr";
+"dozenal.doc-7.2"="01m1ljwbzmzq0hcj6p95rl4rrgnjrxlxnf72f49f725xhfsn57pb";
+"dozenal.source-7.2"="016lxqwf1cm7a7ny5znkgibpna1r13zw0cmzs3wk49zhqhkqmzvp";
+"drm-4.4"="0j0r5b2b6js88gy04d12w8wp14g7z9xcgc43y0ysn2xglcsja3fj";
+"drm.doc-4.4"="04i8mw2lsirvzf3n8xgddd2jr2s45fbg6m6wiwjdz4d2i1pi98cs";
+"drm.source-4.4"="0l3j52ypvsc8ma06a2z2dkqsa3vd7afqkmyrd6b3z6w3dgjlnz3v";
+"droid-3.2"="1fmm1k3sxdn2h6v56hqdn0l84rz1cgxmj586wd4ff41vfzbdnn5z";
+"droid.doc-3.2"="14inm79ljwnr36dz97356iz4257vbvkwmbbaq7wdza1yf07gijs6";
+"dsserif-1.031"="0w1kihzrmk48hpl36a20fkz4nwp9z27in9xsi0fc3d6mhgdx35db";
+"dsserif.doc-1.031"="0bwnnxypyc97jfcam0vdvpyxphd1zn31mc6lvl661jy10cpqf6b4";
+"dsserif.source-1.031"="00hf5icf1n0rwxr2ms34z7r62g98dqkx5v26m3k7w1wd1jfnjzi6";
+"duerer-20741"="1v6ja2q8bi0w0jkyl3j960gkvv2m5b7n9lg6ql9rxz7sfjcxa3ih";
+"duerer.doc-20741"="020q5ln31smf228xx27gbbw0xdcx9f5zh6qjriakxa9mhixksjjb";
+"duerer-latex-1.1"="1f23mz3nd7icknkz4dircn38y1k2k0pwq3r79ja4h85si6i13ynx";
+"duerer-latex.doc-1.1"="1arjf6dzzkvql0jhxg09f4yq9vgx7ag9l69csrindj8sksvj18f2";
+"dutchcal-1.0"="0j49mha6lif07hnfn2wdfl949kfal4hbmzg6zal4w5rgw366szrm";
+"dutchcal.doc-1.0"="110rbvidl53naa31ndgh6nx19i3rkawbipz9rpxyasqk61kvv6mi";
+"ean-20851"="19w54ch23s75mhn94hxf4nphl5dcz2w1jx138kr0phfzpc6fri36";
+"ean.doc-20851"="1rylr9m7jrv0qq6pzigpm73z34p9n80fg5rf7andmvv0fcpmggk7";
+"ebgaramond-54721"="1q2cshrq5lsm0vmhb30yg3pyc0dkpjxgl44ylxmp2b9ilak471nr";
+"ebgaramond.doc-54721"="173b7f7pbv3liwa22v29r122ckyhqms6zhklg2hna9ld61nnmf6a";
+"ebgaramond-maths-1.2"="1n8xfa9qmxsrpy78h98x95wks24fck3mykq5n8x0qasi4fabclnx";
+"ebgaramond-maths.doc-1.2"="1x4l9mi2cc1fx3qbis2ibshh5wlfn3sypxcrbcr9cwwhpkg07sqb";
+"ecc-15878"="0sa6f5dbq3p0nskxwy8namy7hckd9ihz4j440v06fyfk6wd2dxn8";
+"ecc.doc-15878"="0v95nvyv5ygfrwwr2mnaja7vxng3d5byglikkirympgqpkc59rv4";
+"eco-1.3"="0vp39dva31kjs4ckqdy49smhicq4599mqly7y9d9xfz6gly6z9zh";
+"eco.doc-1.3"="1wb866ilp8hmxndqys1lpw6zb3l1nyl583z06vh8nfys1hp0x0m7";
+"eco.source-1.3"="1j3ik11vjxc1dahd0p7jdcjjqq9i89fnd9514s1lq5499h8jg159";
+"eczar-0.1"="1hpwjxsr5n7f6zdc3ap00d9l4346yvavsy4wjicj41b1g7wl46v5";
+"eczar.doc-0.1"="1hvw36i6szhia91xq2y2jzkngy0aawxw5azpa77026byqm8mrs2i";
+"eiad-15878"="15l4wi5hfbx8lp91jddxwg073z0r42qf93kvrqv7bwhqisk36x2g";
+"eiad.doc-15878"="074iirkf7fzdxik5yq4jjk2p8c5k9jj8a6n178aw767j18h4n2n1";
+"eiad-ltx-1.0"="1ifiigww9nk6hw342qj1rxzl2b94f54cm4vvrpffxy9qggwkd2zx";
+"eiad-ltx.doc-1.0"="1h4cm5b0mllqflsgfcjdh97zn3nn3d9gwa55w5kyimmxgz516mng";
+"eiad-ltx.source-1.0"="1bpy6f6d81n95x81rgpz2r1vzg9gw04309shnx8a9jsx17fnm4nk";
+"ektype-tanka-0.2"="0qnkc2i6zxhx0i5mqx57qf7792ffg246yxcm14g1fa1nlryhdqwd";
+"ektype-tanka.doc-0.2"="1cmsd75pzv0bfr9y868cbpxx39ixs64pc2i8dsi6k90wfzq2bq55";
+"electrum-1.005-b"="0ckfb8xq10bx44zfdjy1p1hfcw18mlfli8zgjks81kfsgv7hzfxj";
+"electrum.doc-1.005-b"="12mq0mn56xi4h8dwnfnlhg0bn7qn6b6wxx20nqd73qgm0p1h945s";
+"electrum.source-1.005-b"="12ys4fdn1kyml62rcwpb424l86kspnzb5xq850ppbb82ng4146js";
+"elvish-15878"="0hz3cfydpm0sq6s2xp8q44k81xxhqm5mmrx5aqn5wzm0kr52pmsy";
+"elvish.doc-15878"="1zzzqgs30gbhy8ja13zq9b2s6mf1m47ms5rp33jc5xp70w5cjp45";
+"epigrafica-1.01"="1kawqgy9kbr535q1v84kk29q2fwhg6yzmgjd5i7dyg06cy0g6rci";
+"epigrafica.doc-1.01"="06ichmfivx1v2y67f5nxx02v75wzci6m3hhg87kc4qik61yp8lgw";
+"epsdice-2.1"="02i2fv7c0kxg9d96k8gwcvm56vd4rjkndc68k1x2wa19f1ymsmi4";
+"epsdice.doc-2.1"="1cxrwbnrfg161ddc707msjya678fvvmvgsrrigdzmqrngpi7vh61";
+"epsdice.source-2.1"="0nj3d8nqc8x41lmqmicqf67wc4wirg0q0djzi0nbk77g2m1qjs0l";
+"erewhon-1.119"="05dhxlrnbq1n68lgyv2xa358z8vhvdy6yydn38zqvr92yl2235fx";
+"erewhon.doc-1.119"="1r0rc5rfr2690r3v41s24qacnamfnspa9x92a0sy4qxsfp195ms5";
+"erewhon-math-0.50"="05ydq6vjxdjmbn966llx83h4iwgbqy1v4bk7lj78bqgi3z2gmasz";
+"erewhon-math.doc-0.50"="03ad8d8zj11iwf73lpsfm7wsw428vs8ipwrxkzi3jl2050ykj1hx";
+"esrelation-37236"="1gjwrnd63bb66vy7f74alxshcr5pqz8g8q178wkgyrm37xql6kni";
+"esrelation.doc-37236"="1nnwpgjy0mzc2h7sp2igqwain2nz6374qn4mjvj6g8x02lkc1hsa";
+"esrelation.source-37236"="0aqb63mzvx5hl178kmy6aawyv5ri8favficfjjmkpq3d4hgnrwl8";
+"esstix-1.0"="1qqs88wpabdx0y92md1w8klmk7ncbpm2jqmi0j5sj1c2cn82mp1a";
+"esstix.doc-1.0"="1zzbwvv8lbd27cxafj6qc5sml4r44ymrdvaqn2h966alzga9ify2";
+"esvect-1.3"="0fgcy91ypllj3i706znwwzri36ja2ca2inx838q08zbs8gqq4zah";
+"esvect.doc-1.3"="00xpfzzhyrh5p563faa7ks0vrrc08ndcpn72a72jmlhk8y8bn7sb";
+"esvect.source-1.3"="1han75c642d3qmr47ppn11f7q1lnz8lcwj3q39nh1f81vi2w6li8";
+"etbb-1.056"="1qpfadd544dzf61q7p6xirkv80bqz9jvvx0jm5rd3jjm12d95rkl";
+"etbb.doc-1.056"="1hiiw6hhks2w4ngk3aw992swmxcfhnkf2b92ryspbmd6mycs70ka";
+"eulervm-4.0"="1x0zgqw15r5z9mf4pcpnf1bdbwbpwbc49ij7gjrhf9jzzlkwraf8";
+"eulervm.doc-4.0"="1bbd7f4dz3xp7ylgpi2wh9jf8nz4z6i2cvphfx53xvg555ln5v1m";
+"eulervm.source-4.0"="1if22m5h8ma3bvrlp4jzzhjm410r5r7r2ij17prycj3cpj4r2nl7";
+"euxm-54074"="10dqknqlqrga9m2lgd74zx5hk4qcbkfvlzjgr304p94w3k7pclqc";
+"fbb-1.16"="101yfs3np0mlwgfhiz74jh2jngxnb395wkcm9fvpmrs4rp7wxx4l";
+"fbb.doc-1.16"="0b48vqwyhmygv70gsbiknmmysd8pz8m27pfj52zqzzb0kphibynl";
+"fdsymbol-0.8"="19kqkmjsi5kw5s6kkgf4y7nrwjhyd9pgq02y3f43wfdml9jwlvx1";
+"fdsymbol.doc-0.8"="0ddy5d074fjmkvl3pm4akqfq7d3f57y09cfmrs5wfgvvb51gfcvp";
+"fdsymbol.source-0.8"="18hiwralhdsp8sj8yr0c5pj4xmjaiyyha1y36sgca2xlacpw8ah3";
+"fetamont-43812"="08c8xjgam1fx3aa4ikx62jfh3f4bws0ngk428bqzbrd8q445c3jz";
+"fetamont.doc-43812"="1zlhg0wgchgkk6j8v23wd29hklpzb8q4p690pfswg3zakc0dcbgp";
+"fetamont.source-43812"="024bwgb36iz2ylwsfzz4wfgsyr9djdd0p23phadzmc8qzxqsslph";
+"feyn-0.4.1"="0pmj7cz0bdfrkx50mkndiidwcabndkvx6kr38yjwwamagi9mpjx1";
+"feyn.doc-0.4.1"="0hjnn0w34gv04xr4lg11699qiz3fj1m0lq3yn5688dnn8bxkdsgx";
+"feyn.source-0.4.1"="1azybd7v6jml6afrgzfmn6iac5hlx9d286hmkw4cw711id9qki2x";
+"fge-1.25"="1f6ibw87kbhpf3qxjh17jr1lsh9kk9ynf1rngzyjwbq2rk2id94f";
+"fge.doc-1.25"="1c8nnpdvkxcm6218mrs18ipjf9mrl1cqyvv3p31x41ii8wxkvjm3";
+"fge.source-1.25"="119d70668gw3za0mksr93wcq9gpzjn4gyv8vmizlabi0ip1ycgy8";
+"fira-4.3"="0g0ncn5f5r7l2z5qqbddawkdbgxhs0y8p73ai26608736hvdcgqk";
+"fira.doc-4.3"="01h0m3s6dywhx6pbbi1cckbcccz0d5lzy8pwyy67c8blzw5bj94w";
+"firamath-0.3.4"="1d9l5nsx0qswn1hcalzsrxkvc7mvpdqk3h72bfk50h91lfm2i567";
+"firamath.doc-0.3.4"="1w6zlskvs54x192nyxa83qnlqhvq98g64k5fv6ch406nkivifmgz";
+"firamath-otf-0.02a"="1mr9s4cmjflvvglq48nwxrnn4mnh27mh4j5y0sjyjhz5bwcs87pk";
+"firamath-otf.doc-0.02a"="05b5xzbcnb2g0sx5nzydvf0x29yiz5ssbzv178iz1ri74sk55lnf";
+"foekfont-15878"="1vb2j10j6ra47gyp5a7fpv3868b1rgk2w54w0cd8iczvshbzva88";
+"foekfont.doc-15878"="0yr9xzq9pxgaw14r6494162acj4yavyd7r123fabwf4dgj1xf46c";
+"fonetika-21326"="0fmhazwrjh427g0hz8br5b05ccxv523n1ar5ib9hp3ndqh6svpgs";
+"fonetika.doc-21326"="06mbkp04rwpb2jg6kbq2bxdsagbwl3vajzh0nbq5bfg9lgdv14l0";
+"fontawesome-4.6.3.2"="1s1lkmpmb9fj4qmdhll2mn1hz8xk89z9rwga5zqpjb9was4vrg1y";
+"fontawesome.doc-4.6.3.2"="19xjkzn9vgx2sgv5sypwcmwyx9f7rg4q58f913rjwrh8gvncv07m";
+"fontawesome5-5.15.3"="0vpm8a8lyqxdis5kgyn3gnq0khfjf55qzac51wdia754k1vy5v1d";
+"fontawesome5.doc-5.15.3"="0jmspxk6zi39kw63z68wcmh3hdrnc2lyaj3x8363ldyybm0qpzf2";
+"fontmfizz-43546"="1ccfywcywrrim1hk7g0kg0bljq034fh27qrr8w8ypcyjdnafkhxg";
+"fontmfizz.doc-43546"="1fcsrwbn8kiyw4032kkjg2668ax0kfcb6g4kzgp6bjcmqzy6q1zc";
+"fonts-churchslavonic-2.2"="1rqsbwbqfkd53yaxnmp17vygxd049livqj71c2cszzzqq8fsxpif";
+"fonts-churchslavonic.doc-2.2"="1zjd1v8kq1v1sf4wfqb13x8jz12wpkpydmvldjn8l1i5rn0d7d4k";
+"forum-56025"="1kjzmzjnxwmcrgbcs23kn8p4z2izp1sp7xjv7ya6kl0wbza6fsbb";
+"forum.doc-56025"="0x8z7k4xbi1skzz6nw2r4lsmv28aih3hm98bhpgv50q97dyzx3rk";
+"fourier-2.3"="183dsh8z5dh1q45qrpkas40ga2m4mbrgl727v0khqsxxim5vlzi8";
+"fourier.doc-2.3"="1zcr023w2hdk6y3x1d69nrwzsv3qd8ip63rwcksh69k4q35r9xkz";
+"fouriernc-29646"="1vv4whd3axfacbmm8nksdc37d5zras4gwa6ykgw1svplqgg3zjk3";
+"fouriernc.doc-29646"="128n1cnv9h1hr4s6bp3xs1v9p7skhxlfy8afslpay2bm0ixf0cs3";
+"frcursive-24559"="063909r7iga0cirxq8qx538407qly4p2a440xq7c603fmgcb8n6k";
+"frcursive.doc-24559"="147sa2wcixanwrhdh3ns8fg447zh5f42z8x0aw41xhk7pxncqrml";
+"frederika2016-1.000_2016_initial_release"="1pi2bhbxw9xg78w6d6k4l6p1qnm4nh6m8k3bn76kv4ascydc9hfg";
+"frederika2016.doc-1.000_2016_initial_release"="1vyy278j376swl2sjwxygqm6mi6s51aa6qypgpw3w2g5kpsqqxqb";
+"frimurer-1"="0d2534172sqpzg4zj2fz0k1qa2m627jzqdnpgcak4fxighvx1733";
+"frimurer.doc-1"="15g0293xz99w400l3rj99849va3swi2j8hcj522qiyzfcx5j7k74";
+"frimurer.source-1"="0qxpdybwz0rp748rqfs026jvps026sffq3c7zi7bdy8a34mqmgsb";
+"garamond-libre-1.4"="01q3jymj6npbip8n20ql4icr26ws8hz3nnd6mkcr5r5l5z0yd3bs";
+"garamond-libre.doc-1.4"="1lcpnra1rabi8xyvw7khky3fkdc6vq6i1ccjy3v7pl829q0fabhq";
+"garamond-math-61481"="1bjskvaqq4glba1vmcksfx69p6r025sl8aynlbk46kh7x5fa6vj8";
+"garamond-math.doc-61481"="1jb0kcy715fmxhbzg95qwilwnmp45znh37iisiny1dzy8919nlbh";
+"genealogy-25112"="0w15jrd6aycdjh8qznvm549kzwl15v2zvs7awgk96380nzcsmhqf";
+"genealogy.doc-25112"="08fxhib7wydjbd3bf24kw6zbbz2sv6fhgmg4q2c1lgxddmm8mpzy";
+"gentium-tug-1.1.1"="1i6qxccddl61vlrfm1lvqaxy3yahqh9qd3zkinn93dmwdll4axgz";
+"gentium-tug.doc-1.1.1"="0b2xqhfl684k501ghwsk1pv328ywvxi4hzgg8lzysj1f4qx9vkb3";
+"gentium-tug.source-1.1.1"="1wwwjxi58yc1wfirvfhrpn1qaswz6w09ay2rnrx5x1q0xph5l5an";
+"gfsartemisia-1.0"="0b200snkvdkrywgn3j613zxyx16prqczw106hfh7pzpr7w717lyr";
+"gfsartemisia.doc-1.0"="03gi2v0vfcdar6qsp7xff9s5pd023i3kh4b8asxh9lah998qm3z7";
+"gfsbodoni-1.01"="00r9b46m6h4vac788vfz6jixrd4wbmscblhqi1pxhg76id33xdgd";
+"gfsbodoni.doc-1.01"="1s0lq3ac01zcaqyvswn12fxhvqarq2b3lni1xza3yyk2p6y95g1s";
+"gfscomplutum-1.0"="02c0zs2xl2hy5wrrj25w22q1fj6q8w4qjbvlpx05pzzh3y63n3ip";
+"gfscomplutum.doc-1.0"="0h9i4v3sag4fmvlnkk0wjxmgsq4kbiikzv0rzfrhzfwaifpznkcf";
+"gfsdidot-54080"="1ks352cxsapibfm3y4rnw3k7izkjzpdc5fd2faq314qh5cpjhyy5";
+"gfsdidot.doc-54080"="0nhjndir8y8s9lpnad05h2crc41la5hqg8ml1rm0j5mn6jwgznwl";
+"gfsdidotclassic-001.001"="03p2w06s9kca35jdby74q4x8if5gs39gb387rjgqbv3vdn7zxi4s";
+"gfsdidotclassic.doc-001.001"="0qnkxqr8r9spg3xl2ifr2sb32hbvmka979c4f8aw4z1i810bs0kx";
+"gfsneohellenic-54080"="1374w2w8vjhyd6ya2jws86fbvzs3wz4v7nyfhj28lijf9d5y86gg";
+"gfsneohellenic.doc-54080"="1pi2k0yks1f15y17hx7q3w36y4z93pwv071ibmgmqmnmk16ymd4b";
+"gfsneohellenicmath-1.0.1"="1f3pls8cpix7yzc9r6fi8kha26mq89sm6wmiamm4r238srwrwhi7";
+"gfsneohellenicmath.doc-1.0.1"="13v53xs4znh9zhywh443rlmi56596yrw665032lp7kh03rmd8sf1";
+"gfssolomos-1.0"="1hn8k9majggqcis32nw2krnqpqdgy3y0dk777i8fqn28517ygxcx";
+"gfssolomos.doc-1.0"="01cw6sq180cjjzwgi7p2qr9pf6rq0r5zmnb39bch2g0n0rjxqwgl";
+"gillcm-1.1"="11aph8kbrsjl4ax5hbpirsgc4aznj0nkk76v1ax6d52f8bxjsgjx";
+"gillcm.doc-1.1"="1qbhq72bip77lsa5pk05g676c08wc0y1ix3c2iw1h5g5fk20i5y9";
+"gillius-32068"="1i2awm02frznjssniqjplhy6wp0jaw8f6y58a5hwyz2gh754hsw6";
+"gillius.doc-32068"="0x8qr4lw81qlyz0w14hc8s88ihm8ax13cw1av53gl1vkax421mrg";
+"gnu-freefont-29349"="1gq5dcbc92cxvlqddspc9m8v5biyafgvjc1k7fy8z31vll6wnfzi";
+"gnu-freefont.doc-29349"="0czpqlipbwnqsh5hp6yaq4ypqzipm0xfsvrfc36pri0d2hb77clb";
+"gnu-freefont.source-29349"="1cmd2p7krwhkg1f8xf0y4z2ik9g0pjc0qgi3c5van9zva0bn84k2";
+"gofonts-54512"="0sashibrwwfhd4f103qhc5w0z9bz0q3cqm22cvqp7mjqp4jrs1nj";
+"gofonts.doc-54512"="0j5ncdvzg0dr0jpqx9m3iyx14jdjazwn7xb1in5ivcd20s2bn4l2";
+"gothic-49869"="0kgzx9qh17hcm33bx8r6wh3c9j6d8v0xs4fhi3w5vwmmlmyv9dni";
+"gothic.doc-49869"="111pz7iz7zckzsdjaxz6p7chp98144727vh9b3y8v2yqfz06vzid";
+"gothic.source-49869"="1r61rnird0n9iz9kg5ky4b602wmvsyg1y94h6az314ax7zdccm23";
+"greenpoint-15878"="0l27vvxzyiar7y1x1a3hk0sswfazi356wsbnx86dp8l766qcc3d6";
+"greenpoint.doc-15878"="0zlrfv2y5ixhyqyr5hxycalg6bygvw1f6bfaxqdpakwiz7k3zabd";
+"grotesq-35859"="0f3nmf0flj20xaxz8g73zp0qcm78yvqx1idyawrarpz3q7zdvqfq";
+"grotesq.doc-35859"="05fy8hg21wq7z2zfsbyjszamif7ixk8aj5bbjsjinyxzfkdack3m";
+"gudea-0.0.1"="00565sv65b64h18cib0hbxh73ylg07lk7wxl9l9gvdczdz7a4xk6";
+"gudea.doc-0.0.1"="0rk9g6kcb8wjhf6is5wcbrr95hv7ahwl9xa9vqnfq6m1yy1bah13";
+"hacm-0.1"="05layzjb8ngwmqvg49abdi55j9gl1l74sm5baipm0yi0k1kr8xy0";
+"hacm.doc-0.1"="1d1znq8r384b4xpc9f81023asq6yrkbvyif70wjn7h64x1wpnnn0";
+"hamnosys-1.0.3"="126amkwf4aapxk26n1h7vyv08hgyj6gac4sz6v76qilwpp6m6sga";
+"hamnosys.doc-1.0.3"="1n2bk2yp8c4bvqcjq0hahfs14zlrgrgj9jwvrp903c46zb83lfc0";
+"hamnosys.source-1.0.3"="1jxdiqbvbkmhv5p3fs3vl728wb6izfx9wbjqyylzxc9fr7b4qpmf";
+"hands-13293"="0x0vdn7hq6k7wr7yxn8pnkvjhjq3mfl781ijrs2mpvjqygqffzag";
+"hep-font-1.0"="0qzq9bqqfx8kk6gfarc4nl21pw9xi0fdqxanmak8xhbf79v92yai";
+"hep-font.doc-1.0"="1wi8kig3rlimg7d491lrngahhps33w1lxvixhncn4n916r307w75";
+"hep-font.source-1.0"="0yijgqgcm3kh878ph5jg7r8l5pkgbpaqwc68hk4bx0ing26vjn1l";
+"hep-math-font-1.0"="0k25pzlqqzi1w4vnw9xc0drrpra1gcr3vsq5bzwligll0hgmg343";
+"hep-math-font.doc-1.0"="0jhrlf4m1xy3hy56ks692rz1za1whvwjy767m6zlwx3508l2ags6";
+"hep-math-font.source-1.0"="16kjmgs4m4p5yq7ngzgw5nmnb664vj3gp8nkwm4nmabg2zwchlfb";
+"heuristica-1.092"="1sxpr7f4s5a1q2r76r7rj43drsmljmd32wxwgwj1x97a5k7x3jxf";
+"heuristica.doc-1.092"="1ws9r2hhcqdgcdplhgvwhhl7c834i4rkk0xrsf14c3gwxg0x1ip6";
+"hfbright-29349"="0qwwr02q170q29rlq7fw61888k1pm867vgj70ijckivibl0j2snp";
+"hfbright.doc-29349"="19zdznha8bfwqfyrhq18ad7ri8nd240hjs9kslswg70xfrync877";
+"hfoldsty-1.15"="0ar4swzfczqafanfzhwyw7kx765w743r1davbypc7lglcxwjw5y4";
+"hfoldsty.doc-1.15"="0f9gcdi8wqq5g3camccbdzfyjppyqbvvv0z10grazq463lv83jq7";
+"hfoldsty.source-1.15"="1prpbq8833njsmqanxzf25136g46i2yb4bqpvlps52294pjh0l0s";
+"hindmadurai-0.0.1"="1z3590pi02n90hwsjmihxk957hcqgc3kry3cdwpwaci43hxcvp2m";
+"hindmadurai.doc-0.0.1"="0zws4bzz6fkhxnpsjxj15wwnvbd6rhxqilabzzvm43lv0y21hvlx";
+"ibarra-55820"="0swgfxfgbqxv6vjan8dgh3v3n9164xn144wprblhy6ka00xd3h0i";
+"ibarra.doc-55820"="0ca0p2r4rhk4yqpw68fjs8ci3r31qxnv930jr89xv6ly05b7vs5j";
+"ifsym-24868"="1bs3974l1jdv0b2wwa94861hnb05kb69bsyhvsgh6k9xgmgwfrla";
+"ifsym.doc-24868"="11k9jfqrfmshwpmni6bm0324zj7c939k6shvi2l69k4w0kx6phlb";
+"imfellenglish-38547"="08x5z9s9mc2zq6la6dls3g37b2wn24ihplzhpz6207sczg1cz6vd";
+"imfellenglish.doc-38547"="0s6vzdh5amsyb0anw7m61m3wlan8skglh84a678ha5h7rs0qfqfr";
+"inconsolata-1.121"="1mbf4m3ll3r4nhxnmd3ridq7kdqlcjcm3g2q2s6qxgn4b6j9ikvn";
+"inconsolata.doc-1.121"="1rh7kisvs33v91r19lnqgma705dc3gari0g153ws8bd1px3ivsdm";
+"initials-54080"="13d5pvc2q6xc0i8nbjpifn5xyn7wzln7gng98nnpjxhk5y67bcz9";
+"initials.doc-54080"="0676gq5dx4pqs6c0z7i48gi53mlapplmms8s66qwpdq1aksswdcq";
+"inriafonts-1.0"="0kbf9rvrml10qk5pckz21ag217wimqhdxjfk35ll0a17hc9yzj68";
+"inriafonts.doc-1.0"="1hbhfhmnjya1cmj1wzhvbny7maw9m2dr7sv74g2ka6gnl1n4rx1x";
+"inter-58892"="0f7i2c9hrlynmdmk5acaiyzqxhsf477124k92nlikpibpcssxy49";
+"inter.doc-58892"="1i5bxinfvjcgj2ggkg9him5dqsdn9c28f6cynp4g9fsgp5fdw600";
+"ipaex-type1-0.5"="094z08ygcklbk7nzklfmdz3lfmicrr40i0wzxmia93v1vpsjb4gh";
+"ipaex-type1.doc-0.5"="0946rj1bh2hi0779ss6d003wi4xcb79i9p432jkry07xkr3fpy7d";
+"iwona-0.995b"="1gf8kmpmp2cjz5sg0lx8j0kr67a5xshjkghpiy70jnaz7k8fbrgb";
+"iwona.doc-0.995b"="1skk4p2pblh8h37rz2pjx18h8pgbagvr9w8h9d83299byvjggpi3";
+"jablantile-16364"="07f298cfha42q2d12xihaqkga2iv1id2wa5ph8a61z6ckhchzz69";
+"jablantile.doc-16364"="1lp90rbrji8nld0wzry2nn0m2zb2nrqnqyy85p9sh9rmrplhj8f5";
+"jamtimes-1.12"="1sn588j6v6gxfgk31r861s7cpfk2ir7ip75hm31rxi8s8hv8s7s7";
+"jamtimes.doc-1.12"="1n91f0b0bjwbkm1rq5w2vwy6wlaizlp7qb8pxm2wn08b5a825hvs";
+"josefin-57152"="01l57ps37gpy0zriq62b0z897hxwajfvxc0c9npk3i0y5sqa0j6m";
+"josefin.doc-57152"="1k3g8ani121fbr6n9ql2gbrym3a5k7vhac2zz21kf5rxwdyvk19v";
+"junicode-1.0.2"="05prh0zpnp9llpd1hgpisdad2na8q4qpvsbxg3lcldvs3s61ndnr";
+"junicode.doc-1.0.2"="17z7wdsyrc3pxjqpl361ijfp9zj50g3j66q4sjddg21p1dmcqmi4";
+"kixfont-18488"="02zwdm6zja38n41pvzay09f38cam28rr9ag6yy1m5kmw8421xp11";
+"kixfont.doc-18488"="1dvv4hdgkzmdn7waq4djsgdd8p1cwq3j0bddgxq2y94pq64maq0q";
+"kpfonts-3.33"="08fid7im3qbhcn3lshcm439xbh7m39ic30s9xgh3x46a5rvfxn4g";
+"kpfonts.doc-3.33"="17byn04jy585vy3l61r8xfxcz5y7c3qf90z4kpp8fadbjy8ax7a7";
+"kpfonts.source-3.33"="0agjd63ryjbrhq9iq9k0avqjfm98c6p3ds8j6bc7mv69sd57vxh4";
+"kpfonts-otf-0.42"="1zixv85jzzqkd7xp8wwwwkxh96lg0dqsxbf6qw9gacg9gw9v21rh";
+"kpfonts-otf.doc-0.42"="05l5l8x3gg5gyf24dnda1yvsjzx6ylz2k71jagb8mw9y9hq6b90a";
+"kurier-0.995b"="0x9270xgsk28i5dxp29r0awf72l5p0786mbx7gb5d4vppkf0v9gx";
+"kurier.doc-0.995b"="1d3lfxixhcrkk94m7ljfcb90yvdwjbp2axjnpr2bbh32xv9zzsnk";
+"lato-3.3"="1w70dgmvcwm9jff2ap7s78qgqs9ip4a6dx5wz8iyd7hn2mwf1v80";
+"lato.doc-3.3"="1fj4n1y16x7hxyd63myk902iwm6lr074rkdybv03qwxl12p9ykxs";
+"lexend-1.1.0.70"="1lqqn007dpp24jcgpn9fdf7ysb99lgrz9zxjw27qm2439wrzhc1w";
+"lexend.doc-1.1.0.70"="1h7s17x7grhdb1hxxg6wql3pwy1w08iywpynymrqn8748s93yy4m";
+"lfb-1.0"="080305sym5mppkmgvpxw3ddn51c7gh07b5b9vs2qsikv616077ml";
+"lfb.doc-1.0"="1a5y79xx9fw1mcinbkj7wv4gmvb2gmlm7sbnxc07603dc0lrhjww";
+"libertine-5.3.0"="0gq2gg3xw6k47s0gcl6gv3kdw98d87k85k8qimpvr8zg7crkrzr7";
+"libertine.doc-5.3.0"="0pqkaz9izdmc22q83ldm637bi4g02s70di8wm7cg15z64cd7aq53";
+"fontaxes-1.0e"="1xm9a33imgfsj1r6ky6c02ir857ccv5llqgjyfh2rlvk9xprmcjx";
+"fontaxes.doc-1.0e"="135xhw9vda8l3cc76ja8akfj33wfmmys9wf2f1j5n1p742zj0g3s";
+"fontaxes.source-1.0e"="0mq9rmi02p8lnkg0a8s1bi7rn34dg82n9cqr14sjrhqfvpl3hzr3";
+"mweights-53520"="1i4jp9yy9yy1miyzcq25nwm4zqd3936v4mi2acv4g1rgzvai86vs";
+"mweights.doc-53520"="11114i98f0qscg9796df1vwkf2m6ycbaimk4qfwv47mrxhvwq5qg";
+"xkeyval-2.8"="09db1yisjxlw2ck3ypjzilgc1g2qlrfk99wkgfagx4k1cb1fn1r9";
+"xkeyval.doc-2.8"="167wjc2qmna55lca5gsbbnagdm5g8f15hn6kf39vxk9h0i7jvl56";
+"xkeyval.source-2.8"="1qs4lnkiafxm7likx3pxrfxkdgi6cz8pqlv7b2rwvyrz4kbixj2z";
+"libertinegc-1.01"="14fdpxgsmq9dhgl2065rdsp0fnh9h0xcr0jzg4k5gka9irazxrzx";
+"libertinegc.doc-1.01"="0isvl0ghjji427p1fd1w0yy04c6zjmp058k5gkpsa3xkhq3ijvv0";
+"libertinus-0.02"="00f4wjqqz4hqh2ic8g162mnn95s0p2v1qshbm0zrnzjy2gr51hi6";
+"libertinus.doc-0.02"="0zkv3fgkirq6jcz7ywb1sjnnw8vfwfgd3y41lm4ds547ra8zp2q6";
+"libertinus-fonts-7.040"="0izp1qihx1arqkgbdp18ks0xz7jlyd5cc4r3d5nhdnpph1nry9r7";
+"libertinus-fonts.doc-7.040"="1zn6nlpr95syxmijr7w0cljq21qfv09b2rp8j6n0rvyzm50gc4fg";
+"libertinus-otf-0.29"="05pvwhvn8x72hivbkinn0nkjscvs9vc6m5d55jkbws2abgh18g6j";
+"libertinus-otf.doc-0.29"="1i7bypqfgwq9dl05vwk7r1cvsis2h8n6r8bs6dvhysxf6w1mw7x2";
+"libertinus-type1-57754"="1xy94cck1rhid4a06n3kygy047xwlw5l17mj40n92dg188azfxkc";
+"libertinus-type1.doc-57754"="0fkn8p60m8761mcm3wa3nggag4h9rq0df1bdndafqazwvwnfc9m1";
+"libertinust1math-2.0.2"="05wjf6gqc6c3m599wlxshimzdz8g4wbpix0c1a82rpqqys364lrk";
+"libertinust1math.doc-2.0.2"="1miwg4m8f0fpxksdc5c2pwy2pkll79mhirj5v0ppc1g0yzxis31y";
+"librebaskerville-56018"="1xv6f8bw0ygvwjlxcr0pciz6gamw8xvaqrryj87jqhl9phm12y33";
+"librebaskerville.doc-56018"="1331px6bv7zz8ijq8l368r6jml3rm4f81mrpw0hj93x90asa2fhy";
+"librebodoni-61794"="143ccap2ah0akw3gznf99bcw8dri83vrh1fsgzwmw3qdvqg73ynk";
+"librebodoni.doc-61794"="0fcj5h6jdwa5j9v9s8m7dciy17rxm7p74vanpjv0iayyyb8awbcw";
+"librecaslon-56003"="1rla3bnpr548phkcq98h57bj57pk6x59dhpjcadrybhjg02hgx79";
+"librecaslon.doc-56003"="1y1rkqwpjbd7kq14zm8n6z9f37ybvy2g51axfkfx5q1cqc4cx8ml";
+"librefranklin-54512"="1p5nc0vbrrv4ak42hm6h8wi8nn4m9sfrbppxyry5dsx7bpilkndy";
+"librefranklin.doc-54512"="1wkvgzymak63ldng757vibkylzvg10jv0gs6qyzcv83psxwch4xs";
+"libris-1.007"="0nprmwx67zbq7xhjbb4xiw5da3i0k958zvb3z32s71jdd6psnphr";
+"libris.doc-1.007"="1vg5jgllfxh3rdqjvgmzn6ak887ar7a4kc1k5cwwwgmgdsfam1zl";
+"libris.source-1.007"="1dfm4q73p8q8bgn33z025sgna1jq428d5dvmfagjjwc7sjd93ncb";
+"linearA-15878"="18dvv5vnzbpl9aavz6z9ybwds2plr6k5s57z9xiqw14482bdv1ih";
+"linearA.doc-15878"="1lksqvncx3n3bab7hhk47fxnwy1bgfbz998j1v1zf1zq0lb3dnh3";
+"linearA.source-15878"="0ayv5d7sb8ilc7si05a4bdwv06fkc4s80dsr7lggg47n4dvl75fr";
+"linguisticspro-54512"="1xqjb65ny71bq6i3vv7xarm8i7mnmfxkzjd1dnl5sxlfcrlfq3zg";
+"linguisticspro.doc-54512"="1y0fy78msvgkssbp612gmcdaz8mb11nv87hgwg0iqp2wpc4jrh99";
+"lobster2-56019"="01a5kxpnqkr9zghg3pybm4nzhqyhpw5qj566viqj7hz2cwyx7rw1";
+"lobster2.doc-56019"="066zv0ln2288smhmcgj66mdl86a2apmx4l6sdz8ag2z920y2bh3f";
+"logix-1.10"="1nlrnqbr9cssp7szzrybf3gmcz5fb29z8i5bzd7yb8iad9qi00s5";
+"logix.doc-1.10"="1p4ir0ibzdnbjlrqcr220n2p768q2f3sikz9vbr1gm06kzl372yb";
+"lxfonts-2.0b"="1hl703cxwldq4ams7044m02bmnvm8vkym7xyz9cb8xkaqfyqp8cp";
+"lxfonts.doc-2.0b"="1lfrcfpn9a260bx47nw6msvksjzqjqms5d31nprc800wk2vb8sf6";
+"lxfonts.source-2.0b"="17j1kys5hrvkymba91kp8f1kq5vshc8blv5pm0m6yk6p4kdnfkyh";
+"ly1-47848"="00c2i2adn86dlgmi94ar26nba8kjrsclgzmf7hdmgr01y6hr8mp9";
+"ly1.doc-47848"="1lmy309am46cc0ryx6yr5jri9sqn364czgpjwzrcg06ykjwsx9y5";
+"magra-0.0.1"="02zwkxc94lzi5wf29wws8ia863ljq9bq9swkh8k8318v5z4dv5ig";
+"magra.doc-0.0.1"="0q6ss5ff86ckqyv8l2iy6mrrigzz7yavizqcy3w5s6jhjadz5v69";
+"marcellus-56016"="06xn7rc0qx13g188jp2y7wb9jr69x9k52y8ljxrqidfc1bxsyh30";
+"marcellus.doc-56016"="129f6m3nxszvgpg10p6qyxir9y1wyj0y4q6p6848dnhm8bjqqhsz";
+"mathabx-15878"="0x0amwdxr6mh6j1m1q6wawljzjf1683xp1fxfqyxmsk0spx032mn";
+"mathabx.doc-15878"="107fimmxvfmdjdi1rlk0h0m88q1dbc9q1qwqhx1fwfjwdn62kvsi";
+"mathabx-type1-21129"="026pnrn2y7zrl8qfhjv504bjk114z6kd6ich2ic97l5f3lhl9nj2";
+"mathabx-type1.doc-21129"="172dhvsqql6fk2hfqcw19bxsqwqjfd7376a5wwzcvdgvx44s294v";
+"mathdesign-2.31"="0jd7xfwavfn4dsss35splcxrqj6qwk18jw7qgkwshpifp7m79l2v";
+"mathdesign.doc-2.31"="02fsi2hinjfcf4pb0r1d0r82s50734srpkk0i9c566zx3m52v2vf";
+"mdputu-1.2"="1ihwhdcmk3gd081yn4wimg7yadvxkygybr3bypqrvllwa92lay3j";
+"mdputu.doc-1.2"="1hsd74svpxxmjps3fng679hq7dm35mz9glcwwhk1carzafmm2ppm";
+"mdsymbol-0.5"="1rckczggrdd977n7dr223zfvp7dl683p7d6wfija8ln4d1ll3lz8";
+"mdsymbol.doc-0.5"="0v8d92kpka138yzy4a8hg5yf6zrz267hhsakpm2f0bamdzqkp4kc";
+"mdsymbol.source-0.5"="0xh9d4xpdyacmb3kxmqh71qfx0b5qbrgxrw3fj2nh2rzh35smsy8";
+"merriweather-56365"="1rligpcik7vjvzwv5m9j6ws28f6bh1nxmbsc96f5hrh3b9fmw33h";
+"merriweather.doc-56365"="177al50mr35l1i9fqr0wivjkhd3idqsh4wqkpwkgj1q44v4vq7af";
+"miama-1.1"="0138r1yrv1880nmcpgcgb80nzd29xchm09s8wxb53j71q0vvdswh";
+"miama.doc-1.1"="0dd32q8clxgkd7cdk0699fzplnib4waydx9y9i33lxxwjkfnfsbl";
+"miama.source-1.1"="14d7ryxz6q17jn94wlj5vf2hzif6i08yjbxh5z7pdcgrnl035gxj";
+"mintspirit-32069"="1qapq7j9vf8pmnhdn16c51r5spcssx1vchlfqffcqapbja6fx5vl";
+"mintspirit.doc-32069"="1qqcw9zq18y5pgnrc8mks78s2qws9dz39wixj1hf7c55ryhd6aak";
+"missaali-2.0"="13y2dm6phd9c77j3rajvz4qma2h2k4nwhb520j3mm98bgmbkphf7";
+"missaali.doc-2.0"="16487s0ijkk6va22rhhyhxdqik863n1i25p0f67gcb8xp1s5l1wk";
+"mlmodern-1.2"="16f5cpczawzx4p44svpzy205l9m9g06w8r0554cgdpqdbwr139fx";
+"mlmodern.doc-1.2"="1rqb0g16wj7jg65xm0rk68cfz9r00zwy4r73wbkn0fqrchg08yn8";
+"mnsymbol-1.4"="08b0ypa29zkbch5isk39bbakg76yp5g7w4caahphdljkqy4k27zd";
+"mnsymbol.doc-1.4"="0pv7717qcjd5ps6vnlmxk1bqvkhi9lx6j92i6ggnak8i1izd75fw";
+"mnsymbol.source-1.4"="15ksx2lxxyklg4dcckm82hysin9r2v7pa3v8gjns4wabj4hx7v4m";
+"montserrat-1.03"="1blgdkfjjjhzk41myfp7bb7x5wf3arwapas4mm1770d46nab1wwr";
+"montserrat.doc-1.03"="0blk6jxz1xrascrdalssqd9pdrvpai3k9bqbvgkyngqhp4rzndv9";
+"mpfonts-54512"="1z5ws1kr5s07xwcs39w049yvhfwadybjxb32kf9qd8818pgd4zkc";
+"mpfonts.doc-54512"="1hjy2jqm8mlrwiipl4f1rp10nya3zcy2vsyibhs7f280h4zhdwxz";
+"newcomputermodern-4.1"="1mqzpd66dmn5ykr569671lkxkl5mvzdrlf1cnm0aaq32lkx74mrm";
+"newcomputermodern.doc-4.1"="13zq9kjm67v3vg4zjvrr3m6qakhkf7fdcxj2v2vgjlapah9d9k49";
+"newcomputermodern.source-4.1"="18bx02s8c74z7m791flipcihp0pc7g88glml0kn80bvbxnhh4mw6";
+"newpx-1.505"="030mw0wr5gs2kvamyjm4w3chnd9f0yf9979byrg5qhmr31f72n5c";
+"newpx.doc-1.505"="1bcdwr79kaiib555mzmgglcdxgv28nk7hvnnrzcawkkqmkqh57v2";
+"newtx-1.71"="0ah3pmxi99z8b7sv8xhjlnwj9l5pqh2p8m6vbbscgacpv9a3w9w9";
+"newtx.doc-1.71"="004rgsavjy3n5221az47wj2h1v1y76pjsxp0kv6n6wgv6j42zk9i";
+"kastrup-15878"="139ynj6jr5iniwg4ry57b61bpalchwmk2lvxpzi6rzhp42ifv1j1";
+"kastrup.doc-15878"="1bzjky4plcl24fg5rwbjizixwfn7nkbzb6wwydxd7s2053zba07a";
+"kastrup.source-15878"="1c4ijjifc4lwimzrhp7ym5804fz5afmccn4bnfayypmjqpc8x6jw";
+"newtxsf-1.054"="1gb2q7pdgdggdxmi0v3878fmnyf8cd0q8vhk12nzga4dkpjxahmq";
+"newtxsf.doc-1.054"="1yx8np1xcq2h9ddpg9j47gjx9zz9i16d607lr710z3alb8ddarij";
+"newtxtt-1.056"="1rydma1iqcb7k8ihyhpgdbrq4vpsy2dwyij2pr5p3bbmsc60kc42";
+"newtxtt.doc-1.056"="12mvwqmpb1hyn3l98z74qhyqzkinzw4q4f4q0mx1z586238q4klj";
+"niceframe-type1-44671"="0lcah795iqxkmdkr46gk76fypawz1mwiw3nxvgvbx9wrsdfccxy0";
+"niceframe-type1.doc-44671"="0prjzgj1fg71kf38asq8622l6yjvn1pn6am1nxkwrpfmn3bmn76n";
+"nimbus15-1.014"="06bir9vnihawgmc8v4cxjfcgk2fahhh9c603b7d9wzl7mi40prl9";
+"nimbus15.doc-1.014"="1fr7k4vh7726xh03qz5116winps1dkalnskdywvcvbwk18a2m07q";
+"fontools-61726"="1gsgzmwf6mcnv7xyab8q3dwk3m2pbp6bmwqgwg4q7aa4nxby31a3";
+"fontools.doc-61726"="1ss2ksx3kfshn3cxnh27gzc76kd3rhz70xi5342ax0y6k2z5xivg";
+"nkarta-0.2"="0mhi640hsr7dy7jbvkqq2yl224i9ialf01jkcma0cq527nvrnm3f";
+"nkarta.doc-0.2"="0bqix170zf7lgiv11v4mqyq3iva707zv91z154bi71cvnlknbkns";
+"nkarta.source-0.2"="0f6m2wz1cd99s4nxppzdq9jm1hg02xzswgm85dmi18jffgrd2chp";
+"noto-60482"="1ibhz395jpqw1wr9kdxv22qbn29jc3c1czha4hf2hkgckqqkgkwr";
+"noto.doc-60482"="0rvq1b4616q11psb4m466by5ixprq6h7ninqamrnn7gr34rq2imv";
+"noto-emoji-2020-09-16-unicode13_1"="1gvnvg6g0245bv1xfpn6y7y67rcs6blnn7q1a730m7lbw19wn9q9";
+"noto-emoji.doc-2020-09-16-unicode13_1"="1l5aaxmavvxznxd70gqyqrvi024id7agvxcqisnfban0j684j77s";
+"notomath-1.02"="1ky2wk10mpbhjpqcsagm6sydkb5n8czpryfs32xf6w64nzy5hivh";
+"notomath.doc-1.02"="1wjnrksgn1qmalqq1c11wdlpwq34hw8zx07cyi2jw26qvyh9fpdf";
+"nunito-0.0.1"="08hnxivx7ixmvp7l6kxfr0vxy7c78i9jqkam0xxg5mkxs9ip481k";
+"nunito.doc-0.0.1"="0xhv3rws4kp5s4q4c10ykkf3yyl9i9ndxjavjx9xxxwm1iap9m3f";
+"obnov-0.11"="14cz2rqp4sf4f880d49yhvqjkzm5aw91cdijmqwf283cqgzhdmlf";
+"obnov.doc-0.11"="0k20zh42vcm449dh662frdmspmycx0mi81ml8qkvnncy8h40jxr8";
+"ocherokee-25689"="1xhb9y2m6sahkqlng98f9rqi94hrj66594zqdd2sv82902vfgl9p";
+"ocherokee.doc-25689"="1fqjs1zwf9rgdzzc0wk39y3jcn150ssh6yvda4jfyqg3sv17wwgg";
+"ocr-b-20852"="0y62xmxbw7573fwvfr69r7bhfcywvhcb4mg7am5c3j96ipq5vqzh";
+"ocr-b.doc-20852"="13r2chskacbnfawlc9xwskrl8lqj3dx8gzzpyjjk09rx1g5q9gc1";
+"ocr-b-outline-20969"="11lv3dba2g8mrnfh1y6agg8ipivhnppd3s7gqljlpdbdbk40zbyn";
+"ocr-b-outline.doc-20969"="0017l87j9g42cjy1ki2xksh6xq0hl3rsxcrdyrddvvxp520p02x4";
+"ocr-b-outline.source-20969"="0yn2mcwj73mazk503f13qmfy2bqkq0gz264ckr33bc88f1i1518b";
+"ogham-24876"="0hl3xjmd2bagcn2wnmr2rs1hzmgvm421rkdaimplzdnwj0r64j49";
+"ogham.doc-24876"="0phm6xdxl1a6nh6g17nyz6p7f2ymll39k42588dzw45z7zwan40i";
+"oinuit-28668"="1wr3r06hbxrc0v9cwyp7ad6jimw05x3yn6vqpnzchk5l0ixnlkaf";
+"oinuit.doc-28668"="1919kmp5sxd9q49m6dd8zrnjx0cqgav1i87gag1rffd5hz9w4fys";
+"oinuit.source-28668"="1mymvxv4721nhmfdlbl9bgc76dainzykggf93jx6xfwlld0krgis";
+"old-arrows-2.0"="1immbai327l7vkq67nz6mcnyqmx3ajg3blrhbmffkbl92482bv4d";
+"old-arrows.doc-2.0"="01kdfgiqp5n74lipiviv2alzallba37gyzfp1sqrvwwvrp3a3z63";
+"oldlatin-1.00"="0cxpm5qvbn0a643x2h4dc0pf00kqqk1z540j6dp7mbiwv48qqzdb";
+"oldlatin.doc-1.00"="1my5h8wq241dm3d6czb1spznrxmrclwgn8i391pwmc11z2ijqgjk";
+"oldstandard-2.6"="0pzn7g28sgidxiaapd4zl8pb8brr6djvvs70vhbi7902pbvc0bf5";
+"oldstandard.doc-2.6"="1cy73ycz7dbmbl8c6m8hs5nigvi30dkjz0nwwkqqqwa6gyjz6dw3";
+"opensans-2.2"="0xj7v9lv1ni7mq175l29a039a2ifmdsy1wnv1h0gfni5c34knm1w";
+"opensans.doc-2.2"="178pa2kjvp15la857iblh9qc195z3byd1wxxyn7c5bzmndvypgxn";
+"orkhun-15878"="0x78b5d70cxy7binl5iq2jwgsjh9rzs87wc8ib18jxscqick5jgk";
+"orkhun.doc-15878"="0q9hwwf80hq6wffyvd26kq2053vs5czly9zlsclh93hsmzg3vj9g";
+"oswald-60784"="1dkv4javwj8zfk987grjx00p0p3hnzajm4mgddm1g4z1zfjfdd4n";
+"oswald.doc-60784"="16pgbws7vf93dwaw8cm4laz09hywp1xigrbdbaq9ngg9g97sn0l0";
+"overlock-56079"="1p0r7sviizbc2kraq4a0k92hrzyjq5qijacfddpj3fhf0sx340ij";
+"overlock.doc-56079"="0zg9lqn4853sd5829v4wf8c8n3nyac0l9xsd4bg6mx6zwm4jbw7z";
+"pacioli-24947"="1fc15ygzkdbv5mykgrmzb6filkl3aipk7i9k1syh2ssr37ldxcjz";
+"pacioli.doc-24947"="0pknnd02q244pxyc2vapdx04adz7gwf41swda2xi3039x82pm8fd";
+"pacioli.source-24947"="0zl6l5yc7v5w1xjd83prvfmy8jf3jyblallphyglgb4vkqq6mxxr";
+"paratype-32859"="1cwcw13xdarisjslsp8aayb984fk4qhx1ihg887fzli0wn7kpvvr";
+"paratype.doc-32859"="0kz4nzz3v6a4qk2svgqyx02j0pni92qpm5agb6k0vwylmvx6yyzi";
+"phaistos-1.0"="064gh7pwrsp37dxvjfiar9bl1i30a1kngirgywndss8xmrvqin9m";
+"phaistos.doc-1.0"="01wd0636h2xs465rypc5q7saxhind14krmk9dp9rqc9129k7rc0q";
+"phaistos.source-1.0"="0l6nmd3v9x3j8if5aryak2kh42zza0g73plwv6im6hpxkhhb21jf";
+"phonetic-56468"="1cd8x4qajx3896a1bzyhnrhkg8j73lffri0fzks5h8s27jlnl6al";
+"phonetic.doc-56468"="01hnb97dwbd7g4lflb9kz3w0vhnk5nzni31sfiqbg35lypa0pbwl";
+"pigpen-0.2"="0zd90dp5bx1l5d5ka8lzx83yprl1anh7r4qc0laa455dix3swfq7";
+"pigpen.doc-0.2"="0z0a78akxkigpw7289692sr3z8g2vnyc6hwcznn2963vmsrayv6c";
+"playfair-56005"="1zsvd8mczjg8az9gp7srpq6nwr3gkr1v2xl9d9zjdnczwhjmyqjx";
+"playfair.doc-56005"="0wjzinx1akf83i60ayj8riw2isara4319pikj52naq8d155npj3a";
+"plex-54512"="1c932nw4v39wnzdxjlvicg5pllyjxgwpdg44kc9dw7jv313ph2c0";
+"plex.doc-54512"="1f6vdcqbxmpz5kzkxnj75g4jjhgizqrjzcz2g1j1z1yd78k0bh2v";
+"plex-otf-0.07a"="1xlckvvrv9j03gzg7b4jw2ff8zpp8qi1996xlm6ixxj6kiipk9c9";
+"plex-otf.doc-0.07a"="16yr6amxalcsjnkphfwyn140k7q1lgbnch6w5iv1b106q2wqxx69";
+"plimsoll-1"="0x39p7fhfyxnz95g44ci8xdiwiq0w2n7z3vq2vm26l9ia9q9m6d6";
+"plimsoll.doc-1"="0rjjk5l0zvqmj32m1xcyrawzzllbs11bzb4i4cvzmnakzlwkwcrr";
+"plimsoll.source-1"="1b703r0ssg8q021z9dc8n7p1w7hk5b548icc269gjrpad622acmk";
+"poiretone-59125"="0wxqymp27c173h3qs7if47mwmfa11d52z07fl0pxlxk1fiy3vwrd";
+"poiretone.doc-59125"="0w3ypjqybh9i711c7zhf6iq30xc2xfp4ppxh83fgp71wzb0qqyx2";
+"poltawski-1.101"="018iqwz4apkj8pwc3ws7k00zldnz4k02h1hv0ry9d83z34xswfsn";
+"poltawski.doc-1.101"="1kx83mgwkxd0sv2xjzvn6wdsbdng6skw71z2xc3xk16lk356q8hc";
+"prodint-21893"="06s9qbfy0rkfby9ff3dylykl81yb3fxpwxrwa8hn1aa2gd9bj2n9";
+"prodint.doc-21893"="0z8ibz668zjjjypcn0kiy488wzgwzxqackz5z996r3sq5x5zzgh5";
+"punk-27388"="0jywh76pckajz8m9c9li6vvybjwljyzhk7hsn437mswbfdd5f2yz";
+"punk.doc-27388"="0lbly72hl8a5996dkjr5ssnzklbshbypxymp4zgdvb0i033pd0r0";
+"punk-latex-1.1"="1wfs3li3h0fv6dmpvfjvf0bhq72iy82gpjbxhp3ssm7sj41y07cf";
+"punk-latex.doc-1.1"="1agngq3shcszz054gmikza54ny6zki30rsww8mp7h9ab5nmm6wsf";
+"punknova-1.003"="19qc4ypax7jlr0hw7aim6p0afy9a2qz1ifasx9dh5rnqhjf0q5hl";
+"punknova.doc-1.003"="1x432js1hj43nrxg2bvp4wrrmgpi6p44ckrfic1gk7ki8wzcx4s4";
+"pxtxalfa-2"="0fanfh1gb1fmp7binmhks4l90s6925pki6gwyzlaa7vy7za1l3ck";
+"pxtxalfa.doc-2"="0jc51zsbqbjnp7zqbbl1cpqjf7rwvsxvfzfzm9wsbkfzd16c9817";
+"qualitype-54512"="1r59cbk6rmdy0zhljcfqxksf101rkzib8ll20ak0sshc3f1jj64y";
+"qualitype.doc-54512"="1jxcqd48v11b74drv0lh2gv65aqsjv5zziph2s9g5ldd1733fgl5";
+"quattrocento-56020"="0z5497g9msnfv3rmydr5aa217vbpqpd4x26q1qy71wllpa08gmk5";
+"quattrocento.doc-56020"="0jfykx42rcfzqnafz6497dpfwh0g05sivfi7lkwrnlbjz5zyslb8";
+"raleway-1.4"="1d8zv0x1j2c996ql8g7zc38s7fpc61ibk5zdixhj7kbfrz5cbc1b";
+"raleway.doc-1.4"="1i8hja5817kzy894j25hy5cjnw31y4kcahcymx5hrbi0aplhizx0";
+"recycle-15878"="0pj6xvdd30b4y1fa01vmhczinw48d6psfd8iy0rpzpaq89rbjrvq";
+"recycle.doc-15878"="0sylgv7viy4qgl0krhsf8q1gkxiz91wpn0l5jyq5y1zg92x8jk1b";
+"roboto-54512"="0gckp6jfkl7lfhff9300nr4zx1wdp4v49a4341hiapc8151jrfry";
+"roboto.doc-54512"="0lmi8yig397zs56v5s834plz50l27rm9ml5qfa1w2zcrims59zcc";
+"romande-1.008-v7-sc"="1bmqvxmlv2065ifn6bdy8i3mj1g6pkg44dhjrfr4sj5g8dihhqq0";
+"romande.doc-1.008-v7-sc"="0fgbq36nzkvfw56rvqajvz8krfd84msx8iykkjizn1m5zkqb4iv5";
+"romande.source-1.008-v7-sc"="1v8360kqvxidzkq8sgcg8k2cqhl59q7bmrk3gvf9vg0shrbvdr39";
+"rosario-2.1"="1jqgz4cxiq3md1dldlil6pslxxrp7brr9hl28qcf6akymnfxx37f";
+"rosario.doc-2.1"="050yna9vb9cz026cyi44f1qc596svxvf6fgyxlby2isl1jqy89zx";
+"rosario.source-2.1"="1bzcpxygwsmcg91nxx8lxc9skm5cr8hbz47qmydwznkkzldkdbh6";
+"rsfso-1.03"="1h1hzsf74jll793qs51pq03b2l9szbqagn2p03bcg0f3lgx0cxx2";
+"rsfso.doc-1.03"="11vjx0l2dx6cflvypgv4vnaavnmkgznkkw9zizic879vihdzrzf2";
+"sansmathaccent-53628"="0653qd7c2lb63lbgjrbac7kwl2lzygz694li1clwxlkrf0bnv1q7";
+"sansmathaccent.doc-53628"="1r7dqwn7vxgg51jlsgx82kv79fxskcdz6cyhkdbwgd2f3rmkcm5x";
+"sansmathfonts-59673"="18ph9vsww5ng4c28y74gsjb96cv341xwx7qwlq74lsi3g75yhdqg";
+"sansmathfonts.doc-59673"="1gwci9i6hpy11b4ds7shm00nxw0dasw2v116sg3kjakljscqyf50";
+"sauter-2.4"="037skfr46198y0vczwcy6dzq9ry8w5imj1ih9nfy9mrb0hmj8caq";
+"sauterfonts-15878"="0x2j4rz8n2v5qw1j71h2yasjv2yh5g503svjrcy70n27njcic2dy";
+"sauterfonts.doc-15878"="0r3xc4128x9nz9wqqs9y7a45lfgll99l7n6k87cb2zkyckr0kk6f";
+"sauterfonts.source-15878"="1k5fix44afwcx3rihmipji2zalc2zhz8m0rcpybpz76mzqsrc1fi";
+"scholax-1.033"="0is3py7zig7whp0hzga4d4a7kfs4h32w1irw4gmrjb3cqndg8w8s";
+"scholax.doc-1.033"="0m73qqh86cpgrrxw8v2nz5al0x850danniqyw8359bl26r8cj6wl";
+"schulschriften-5"="08dsnba3p8nz3hnzh1sd5cd09ngg73vl8yq1h5l8qcnynwwbrcdc";
+"schulschriften.doc-5"="0vaqj4m0yxbbmqf51s107k28l2wms68w3km801lph4nfz8khaybs";
+"semaphor-18651"="1fk3qdnkpv28zc8q172w9yn1aq8ff9ag6ql2ghh8aa64j9gygdsc";
+"semaphor.doc-18651"="1bq53xa67jshwlynsbqhf73jgy6pcd8hhdc5dbh83cgma804fyyh";
+"shobhika-1.05"="128p64d6bc0m65nwdrjr35b7rxlx21c025vj8bk6n1frfg4k4lzx";
+"shobhika.doc-1.05"="1zxg9rxsdf15jn0hn81p20j0dbq1095vqrmh7d5mzhlhnybkr1kg";
+"skull-0.1"="0v3kvrk5aqsfna30z920k237jql1byy12qkb5i8zlr73z4cy1ll3";
+"skull.source-0.1"="17iby2rcnqakykglv9k1q5zmcj0h4gj4h2vadihvyyz6m6bvcx0c";
+"sourcecodepro-2.7"="0vzs79a6bhvxap9xw9nm4csqm8x6m83nmsxffqckihkrbcbwnkz5";
+"sourcecodepro.doc-2.7"="04g53xmi3afzv76dn4pg9vjsd903rl0hbzqw32gr7hhgh60xwb8d";
+"sourcesanspro-2.8"="0j0qgb04yvwf265hwiiv581fy39cpr6i9f21k38xdgdi0dl7ghzl";
+"sourcesanspro.doc-2.8"="1lg7jxxcymnvbrhgdf6ddj0nahbr6g5vnz7ahav8v8zfyfw87z6z";
+"sourceserifpro-1.4"="1zwvz4yqvs5pcqwsig4sjkp4chsc089j0dl9mn8ah047nhr2d7z1";
+"sourceserifpro.doc-1.4"="11q4ppkw8m56bpn8s08w0zkiilfz6s5jv0rkqjnqbzn47nm3dqij";
+"spectral-57296"="0rgn8svjcimqm7ji3ga28gmz8dk2frhgnhs99wlsi3qch8ds9pwq";
+"spectral.doc-57296"="14jxmfi62ddhxj9551m13r54k97ms2dd2wqbdsfn3v171c7va1j6";
+"starfont-1.2"="1bf89j0qqyzih5w9ban03k85v8ih0d16sil1sf7smzmqk3nhmrz8";
+"starfont.doc-1.2"="0rjx4wj021ri26zxdlhkh71q3d0ygf3hvcqghq9fwkbi0gnig1r1";
+"staves-15878"="0pb7cghd2p1f7y5x19x3zyvaz63k3nmrwd04g0yqrl3774fvnh1r";
+"staves.doc-15878"="11i1rcc30lnm8fqmnpmk1hgz2fmm54hgf23ich279aqfsk2pm8iq";
+"staves.source-15878"="1y87sw1qrmvgvayzwz2i6qjzvx952h68123fhhv67ga0kpxf9fwi";
+"step-2.0.5"="1r2mf2qlcksllpaakrycmcrpxfq9c4g7n18ip13ykp92fmrbcz4h";
+"step.doc-2.0.5"="0f0hph5cjwhwdn2yyfzvn1jbkh8xm71jw10zagbncapfqfgx5h62";
+"stepgreek-3.0b1"="04xldk3dzcr1vg1xld4hhwx5xzi2pr0v7gn526xr8ca3m3x5mwnd";
+"stepgreek.doc-3.0b1"="179zz295nxpp21p6xhrn1r9ka68i3l9l8bphrb2833a2x6qgmil3";
+"stickstoo-1.035"="1vil4pran5vkgzrks8wp2nnwddily3pkfw9vap1l72c5rcxsvii8";
+"stickstoo.doc-1.035"="02h21jbb19cl24ds2r1gz3js8fgxhi4dq4acw6fvq5kv8izqr9mz";
+"stix-1.1.3"="1jqrvkx444hvfh7246g22k02jm00m2cnc6ffj36k8qdi1s5m9dkj";
+"stix.doc-1.1.3"="0vmiariam5zd37zq2ni9560kjgia89p52cm1phxqp6gp7avfyl7q";
+"stix.source-1.1.3"="0jjxifyrkdwgbv6xvgpk9ji6qwn4wr91lkdprcdjpmw9b2mwflj2";
+"stix2-otf-2.12"="03ilzmkskp2fj3jwyvlwz8b2ryvb1rfj08ciqhkhi9ddygzjk8xx";
+"stix2-otf.doc-2.12"="18cqnpabka16kfq09rspzgwmyh0fva77i8676myf4wg805953zgh";
+"stix2-type1-2.0.2"="0xrpb3y7wbpxdc627gn9h6s3sjymczbhxqqi0dbicrcrd4065kp7";
+"stix2-type1.doc-2.0.2"="0kqh52jkqgsfdwj83wks80h9v326hxz1zqh2ls346kc6gz0r2p9n";
+"stix2-type1.source-2.0.2"="0ajs9ri4v4jw3hp64hflxwqd9sw75sk2a56lv57qjzzjzkc51243";
+"superiors-1.06"="056i8jrpfs79g2n4fb3kabkkbqbpyii1g0z63mciqyfbs0wvpasm";
+"superiors.doc-1.06"="1459za0bj73lgz7nqv0ys0zimfw1nmmzzcyhydi9km7mjv5sf5r3";
+"svrsymbols-2.0b"="00wr6lyncnpvw806ff8s49w239sqpc8c5zg1776qyhjcpypkfgym";
+"svrsymbols.doc-2.0b"="03jdqja9hm58w65vp6mf2q4dd2i1n6gq7yr9p2qrzjm33dxycjx8";
+"svrsymbols.source-2.0b"="1dsw2z368hj4sixfy733r19yvnx0mi2qzff8647i6faj70lrj6ry";
+"tapir-0.2"="0ad1qkbvvswq7msx9889sz8n7wf8iszigd0vmk2yycykbf0axzii";
+"tapir.doc-0.2"="1m5g6bsijqris8r7z2dw3cj74ajcny2wjysq8ql26531z61hj9ss";
+"tempora-1.05"="025smp68d941hqdxqsd4qpaxvk4z8ybg14xwc47i36k04244rarh";
+"tempora.doc-1.05"="14k350dyiqjcfg5fx09i2i9cqsdw4mh1qcrv8cglf1gf2d0b3jl8";
+"tengwarscript-1.3.1"="0v6mpqkyp7fr1nb5myjs4alz8f7y56rnd1vlsgvp0m2shvnvhy2f";
+"tengwarscript.doc-1.3.1"="0225gpdqbbmcpgxmpjcj2blbpzxcnr7vmm38jkkpyan3gfw52n2w";
+"tengwarscript.source-1.3.1"="0jzzn01c5gwkc8n6naaddm793sm8vs67vsjd30lj4ls7djpnixkc";
+"tfrupee-1.02"="1q0z0as8gd9qb3p10rf5kwzljg5z790cgmxi5dbz1piy0lcnj4hn";
+"tfrupee.doc-1.02"="04zmcfp1xqq53wl41rw199yj47nf7l396qcnsp8dsrvf7d0n0pfc";
+"tfrupee.source-1.02"="19bgxgg9cdgfdvdr4kzmp4na0n6p28dq0iq4nqi849j4ij5lwmnj";
+"theanodidot-54512"="0i3z98npv4f0gmvkfshr26bnj0wj80r6ffdj8s2qdpdfq0m2227n";
+"theanodidot.doc-54512"="041dib8a3y9y5jn32rm5kvfp5vzs20z8kalki5jgr83l07ib734c";
+"theanomodern-54512"="05xc05nsas25sn8f3ra0jaw09zr0kjxzjmx2fdlwdyr2xipdpmga";
+"theanomodern.doc-54512"="1wcvbv2jicvfcr4f6hkh35p6gg3hfb67sphzh29ysvy8mdm3l663";
+"theanooldstyle-54512"="1nzn0j53nl62f03m47k8dwk7qiz9zh8x2mpj804496qd307cmsl4";
+"theanooldstyle.doc-54512"="10vvf59wggqfbq3svc852s9qicwxhh2hbv03vv55fyl8jg9dqxrc";
+"tinos-42882"="16w7c1a7nsm2i6riwgcl39l2r0kz8cp6xydr7xqzxpfxkzhav42m";
+"tinos.doc-42882"="0aq2wyh5cvmi6gnvwwgm8ch6r17ncwihb9f5vjclsj94almpp4gb";
+"tpslifonts-0.6"="14cpw6n2j16mq1742lyjb09zynyjhq1wcljhpbb4c6brwnqvb05q";
+"tpslifonts.doc-0.6"="1wwmxwb2y6zyp1h5hskl7b6bb58ydasv3gq2bj0jcnqhdphgii9l";
+"tpslifonts.source-0.6"="158innbi79r298sj1r4qk9c0g4gv1wzdkcmxf511sdb8ipar6xk5";
+"trajan-1.1"="1hnk1qb46hihc3ga6klxghqf7yvn6zschp6w36a08mz1hfsdb8sj";
+"trajan.doc-1.1"="017v3bmngyh8wydjl7hmxqh2rz61dg2imcl0gabsfs98l8fnwsfb";
+"trajan.source-1.1"="01qgax96y0sklbbb8mdfv5yc0i2k90i23yg75vhjmb7xlwx60q7k";
+"twemoji-colr-0.6.0"="1zgrm0f493b2lvzn394hac695bmzr9s67dwyd5kr2vd296325gnz";
+"twemoji-colr.doc-0.6.0"="1rizgs18dm7si8n9b88mvswkqm3gb5rkz9z5dbsrr1m4lyh4121j";
+"txfontsb-1.1.1"="0g2hjxcqhgynzmvj44q9d1wpxwpwy52a6rbl3nhnq06w2v1lh637";
+"txfontsb.doc-1.1.1"="1yls8kb1bglfqa7yiqidanyjgj3xb1isc7z99ybw2j2kbmvvcjbn";
+"txfontsb.source-1.1.1"="07bapd1i9rwf3946pj54s0m0841ximmj60ic266mcmj5gipw2q1q";
+"txuprcal-1.00"="1l1khap1kpgjsjrbsa3d9hgd61lw4x7pi771mchszkaklqx8qarn";
+"txuprcal.doc-1.00"="1j2y6scl5pa25yk00zf64nqgngrvvb4hbig3qi50rzf5kpq56pxp";
+"typicons-2.0.7"="0acmp2zpg1734c6719jpmcccyq4325h2023bc87xmj7jxqq0xlp6";
+"typicons.doc-2.0.7"="1r9wabmkqvzdj6dcxl9syymp0rzz8kj0lfmqn9j4njghclndkfdf";
+"umtypewriter-001.002"="02b53ljrirn1248ycpagrwg7fw5n96kg3m9y4gh94d36v4bnc870";
+"universa-2.1"="1r8rh4jbx3lxciszf93klg3zwv06qqgnzikhp11c2qmrjrk9gznh";
+"universa.doc-2.1"="0acfyvdbqagda11730d5bmr5qlfq7hiqw7dajq143i54k9ln8mvi";
+"universa.source-2.1"="1ydba7wjiqnjc8drv5j8skv5q8hjrliwd38s6xj2jd12i0zp3gyc";
+"universalis-33860"="1xig6xi179vm2rnp6qimrjy5y4kigyl1r1f6b62jiqlvj7ii31wg";
+"universalis.doc-33860"="15j9fv12ch2vpzmjyaiq3hqx4cg6xlkvn3d0wn7v75y4si86lcaa";
+"uppunctlm-0.1"="1a71nsc5dnaa8gb4xmnlhvdsvid2h9gwmxr0xa8blh4xd0vwi2d9";
+"uppunctlm.doc-0.1"="0d1qs7krblmnf9r2afvzx5ir94aqgxv8p2d9sf9p18nlz9f5h06q";
+"urwchancal-1"="0hlaimb12imiv0h7khcaar4xi5dma11bqcrb2b6imd4srgg9b50g";
+"urwchancal.doc-1"="1mzfmfwny5mzag8wf1h3k4xbmbzphwqv6r74sql8wyqw53s337jf";
+"venturisadf-1.005"="0a80pz2ng6grjj97hgk277d25ijgc7swjjsr4rjbd1ljnfjdvf51";
+"venturisadf.doc-1.005"="1b50h04xl2nwlpclfxl7m1wnyl1ysf9d7p8jbahglnxaxxn8ib3r";
+"venturisadf.source-1.005"="07isrwhzw538w4asc5baw6wbfydzdrflrp3pk1qilq3a5wcj1n00";
+"wsuipa-25469"="1grz4s0zi7dlgbks7rx0h0rkjvchilhjabs59h81f92f835lafm4";
+"wsuipa.doc-25469"="1zw7ibbqc75k4hplbvqpdmnqg5ks9bw75mrwcg14q1rb1807sp8w";
+"xcharter-1.23"="1qkr253flrjimpccys7f7c2shxx6zxk271010lggbimif1sqj23p";
+"xcharter.doc-1.23"="0jkinbc3z6zlrilnv6jqx68sc8123ncvmi090hzw0miq1lggahn1";
+"xcharter-math-0.30"="15b8bwvjk0gz4g6rwqf1ndds0945mp1nxc49yzzn17mlw9sdpygv";
+"xcharter-math.doc-0.30"="1rmy56f8z266v2v036zkkbv40zwl81zkrh8llcp48mdbglzbrpvm";
+"xits-1.302"="0hnjyncrb0r9ssp6aj9lih23b0z031fjhc7fjjsjc89igbxb8v58";
+"xits.doc-1.302"="0iv1bs2i1fn0pr3gkz07xaqsdfw9idcyfdd6bzqjryynas25aia2";
+"yfonts-1.4"="1k7b78fr6x8kp6354viqfni3k77d96qmx9r76249m5j140hi6fk1";
+"yfonts.doc-1.4"="0a7fy4z790fr6q4z5qnzv578x48kqs128wl5znd5bn3mbg0n0cq0";
+"yfonts.source-1.4"="1ph8vc09vg0zxc9x1xydrm9wn6q5vml2bc3wln15v69p8nm52d7z";
+"yfonts-t1-1.0"="08fbdd97n2h649kvks6q03zrsjvb1f7qwys3955g6iznf4y8pyv6";
+"yfonts-t1.doc-1.0"="0h0gi1j5fcn1nkvf0abf2aimj2q3h6bw4rx7kzg5xra735fqpl4n";
+"yinit-otf-1.0"="1yjz72nixv6di0ifsimbnc34wlw6s8nqkwflkag2p75q0jw52qrg";
+"yinit-otf.doc-1.0"="15yjqa1s4zrpz8cj199ak9dgriys76q8iccspw3909g2ci4xyyfv";
+"zlmtt-1.031"="1wm4kb62qc83yq15qks2625lpp0ghxvw8qkwa6pk7mcbazk7qxh4";
+"zlmtt.doc-1.031"="1v27sbxx3c854ypjn0gz2bvj2pr4d709rj1kz5c1xpy3q33qh7l8";
+"avantgar-61983"="1200x40k7wprm4n7srxvgrax2l52vn6d5ri2x0q7zbzzsfxfzkym";
+"bookman-61719"="12wkjwpzxn1a1k3bb41gpnky1jjsh7gzj4xahsjd087fpmrsj9p9";
+"charter-15878"="1z9145ri2g732bs4fb8i74gc0ymak33k7sclahln2bhdpxi286fm";
+"charter.doc-15878"="0gm9pwanxvzv0zmxq6pf54ygxaxvg56kh1ym6f5ij9akwvhf6nwb";
+"cm-super-15878"="0vpxkin8zvanasm0n6zzgmy7wssca6bm5yia2mjdi7nxzqyawlwr";
+"cm-super.doc-15878"="1ygbv3gwijyaaj8yzwxzsjqsfjdf52m3lm3f7rp1503d2wvq2qzx";
+"cmextra-57866"="00my52lh3cn8bn211fpn7373b7khaylx4fgkrd2m72xgaymil308";
+"courier-61719"="08g6lm12b0k6333pxcaqdf67v87fz5mrqp3jgal8qhrls5ym8q6r";
+"euro-1.1"="02kkwf4psrmp7n5mqyrc3745kj82p3nxswad9x8rw1hd7a278y3n";
+"euro.doc-1.1"="1ajqx7axgqpmbq4kl2gmk97ibwbijqsq6z8ln71qla61j0mkgj32";
+"euro.source-1.1"="1hkzjy4vmvh06pk8bhkpz09ln5jygvyhwzyznqkrzffay3i89cll";
+"euro-ce-3.0b"="00ypq57ri9vkmc85c5l5qzq098has90qllm9lnv4jd73l1my7pmc";
+"euro-ce.doc-3.0b"="03pcwrjrjp74s2xl7pahpr76dls17x76xvhck9izgsr29j6kny4d";
+"eurosym-1.4-subrfix"="1bf4vwygyakr999k95ki53fykknizakz9npz2i1h3r5ci805l7z4";
+"eurosym.doc-1.4-subrfix"="0vmh23f3ksc3b3hym7iv7m8rsddk8vdbqr5ib49bjqylppvxrsnz";
+"fpl-1.003"="1jpbgs674zkjayx5xbg4ymnmygxcc15ysvr4cpz3abp333cqzjb4";
+"fpl.doc-1.003"="1860bzvxbajy3r5gpz6hwy0vib632fkdig2zcb51yy2qgg3vbal8";
+"fpl.source-1.003"="1fr7ydvn8ql0jhplkwxzrl5cppxbklg97nqb2rjigvmqqidjk0i3";
+"helvetic-61719"="0c3f1ly7y6404z0akbfbbfql13sz717v0n0g69qjpr69hi4n0nsl";
+"marvosym-2.2a"="14i2alqxpz0imgdlx03gyg2nn56wrhlc0rziyx93h4ya9nz6xzbl";
+"marvosym.doc-2.2a"="0qyfyz8qfcchnf78r71fp5p16hmsrq6xf54g5mnwjb4p5ipbd9np";
+"marvosym.source-2.2a"="0vbiq807pazw2c1ck799w8sy3q8wcpb6smmq5qqw4nqcxzwsxk78";
+"mathpazo-1.003"="05j5qgq8fralghp5wkx6bha1cm59vha29ppq96nllq2k2nqhpi3d";
+"mathpazo.doc-1.003"="1z76cb473nb6r0vjjxjwiymnk9wsf7pnycc3ad3ba4vd3yl1827g";
+"mathpazo.source-1.003"="0lmyc1q7jswlhlzz4fd6ia407jj4pzi7wvmrcgfyw20j2nghfcgp";
+"palatino-61719"="12jc0av7v99857jigmva47qaxyllhpzsnqis10n0qya2kz44xf22";
+"ncntrsbk-61719"="0i6a48zbn9lg4pwbw8ya2wjjgppwac816fnbpmahm67kknx4d7ij";
+"pxfonts-15878"="0vkhx82ywv17rflmq119jxs3ib08rfw6lkjgr3mp9vf6vplgqzki";
+"pxfonts.doc-15878"="1afcy7c1n63zi5czbpnajrrgwfp9xdymkgwf5h9865adjbb3lm82";
+"rsfs-15878"="0q1iqlkq6swy905jh73y42ya9zb55xvg9w991x7lsmdxc0bzdf8z";
+"rsfs.doc-15878"="069cpd747d6bk7jmmn1im7jvfb00bd597l34p87vdjcwbk3bzfvh";
+"tex-gyre-2.501"="08578kyph2grc2ca9bdg6271iqpjyjg1qcrivfk5r27sq5c8cwf0";
+"tex-gyre.doc-2.501"="1i6383n8w3h7rjhdzhj0zc8xfd7ngmbqyvzcm0xibqpsdmzis4yy";
+"tex-gyre.source-2.501"="0f9gzhlawkpn4cg284n2sad05aary5pwyczi1qdgnvk9v8sbjax3";
+"tex-gyre-math-41264"="0vqg04im4s6k1sjfclrn855liilgayh5kca774aicifzjgsigs1d";
+"tex-gyre-math.doc-41264"="0s6s2bs6q2ar4y53fyckz104y8rbvz3msjvyb4sv2p4j6x0kwz4g";
+"tex-gyre-math.source-41264"="0vl9ggi62bn1cpnjmqanx62b6an5294375jg68gskg8fwi8j6gir";
+"times-61719"="13g41a7vbkvsf7ki9dgl7qm100w382mnlqkcngwgl3axp6s5s8l0";
+"tipa-1.3"="1vax0padc42ks1b4rvl0ikfqmb5i04ii27k1711vfdbzmg87j217";
+"tipa.doc-1.3"="0wwnbarpvjcq8ibbn8sr0zqrlg3clplc9nyh46r5gsr06qgd1prf";
+"txfonts-15878"="1dfrd8dzrzj9y5qnz9c554xn2g9931slhj9ylan2i71k5asxmkiv";
+"txfonts.doc-15878"="13v5hhk0nzj38nfgyz9ijmz9gb9703izrgb617z274d744qwqx73";
+"utopia-15878"="1hsvl3la37nbb0b2q9995w1hlgvrc0gkyjkgqbsp99rk0ry392v6";
+"utopia.doc-15878"="0yyxzyg38z6kip43gxlj3j55rdabqjrzl33yp1z043rblfw5b9mc";
+"wasy-2.5"="1gvk9gdx32sm4q2f2k4i6yj45c6zyf0hjkq7r6ysygmd2zsvf9lh";
+"wasy.doc-2.5"="1ah93bb5gr4di1jbq316cm4d5iaijj4f06vcjj4x44jajirlaq6m";
+"wasy-type1-001.002"="1zkhqyh72q1w6lr94a7164myp5qfmj119qim58cal1h48n3wypcw";
+"wasy-type1.doc-001.002"="0rhkbkmn7xg044aw1cm44vbwiqfpcixpdpcdvz8yq6in8kmgs0lv";
+"wasysym-2.4"="1i8pvf5yfw5j0rkcpy6v8czvr85p1yk18c8h18iljgsdvfj786h7";
+"wasysym.doc-2.4"="07lhw9ss609gjlhv9f0bbyv3z327v3jqblfwhcspwg2sjvazzx8l";
+"wasysym.source-2.4"="1i7y0si6mbd6kxbbyvcfak46hrcf95xv8x6nc29nc6adqjbygkiw";
+"zapfchan-61719"="1753lvv2bq29g43s4chc884n742695agvgal0b99gsrvlkyfp8gn";
+"accfonts-0.25"="10z7c7cgwm62dyzxfnj0jiy328zj3wccqjick37lz641vqifrd4v";
+"accfonts.doc-0.25"="17mbr2ydbkc4md6zd34km3d4s2vjmqzfwb2l01n4y30vjz2lzsn1";
+"afm2pl-54074"="1nbb9lcxqxj2aary7a65fai3hgj4nwzm690iy0xv62v580krdbck";
+"afm2pl.doc-54074"="0cp8il19l9sz997v9lcxkl6r94mnlnbj2lzdrffwd1fv63gkxc6x";
+"albatross-0.4.0"="08j8njsvfg5rd002ysj61yqasb02aw324928xxv6w9h5rq0kqbka";
+"albatross.doc-0.4.0"="0991cl37g5lqksnf9ffm042hhd6wa74gxykzzlg8851ay1q9wqmk";
+"albatross.source-0.4.0"="00phzkf9l13f9y8zg43hznm0wkprizpgzbg6w3fdwfdhi5i3b9a0";
+"dosepsbin-1.2"="0qknrackr7m0s431vrygphzrk99wkrgdp6kl04q7f4lsffq12k9r";
+"dosepsbin.doc-1.2"="1lhrlgyn9sg88052ib0jkwd88zvjpzqnz0ac5whl5gpr5zw2y2c3";
+"dosepsbin.source-1.2"="0lqmcndd5m4hxslvpq4r9g1bal12vfdsncfcii71glv45c2hl2x2";
+"dvipsconfig-1.6"="02vgk91y80ch4pkj83vbiz1b2ccigf152hm83p607y4n4qn2xzsf";
+"epstopdf-2.28"="11xw0f2hl64scpd14iicdq9z1gm3s1q16y6mbm6n9v07zhz4pv82";
+"epstopdf.doc-2.28"="1gjb9xl4kwqwcb26200xdz3gl5ghsdmv70cwzw1zd3aakhba00rl";
+"fontinst-1.933"="1jqhfib1ml33wq292x9ff03shyjrn2b3grw44cxzxndg4vq7mn1l";
+"fontinst.doc-1.933"="1ff19m49rawz7jlqi85nly05d9k8940ld94six21c1ik0v7cxn74";
+"fontinst.source-1.933"="133myqzr4xlp4a3pw8ld815mpl7l9y6rhz620ja77sv4fmci76v0";
+"fontware.doc-61719"="06n3am526l1g44db1pyjj0y3jj7792z4z0xd9crc8w7khqc0jmna";
+"lcdftypetools.doc-52851"="0yjbc6rsf8c62qa1lyi9kjyjy2p0xlps19llnvly3xyhla08j76f";
+"luafindfont-0.06"="1q6814pvifiwq74hj29zfmria3mbjqpb17lf1p6j8fly0flyd7gi";
+"luafindfont.doc-0.06"="0mgxvr96dpg3yv98i4nic9ma1z9ih72lsz1yjwl40ny0k06zjibf";
+"metatype1.source-0.56"="1nhbsn33w6zbzbvi3a32ng6ib5dbh0vll9g2c5ssiv1ysxqrg6yq";
+"mf2pt1-2.7"="17kjgjbjvwnh3cn4cky3qj4kaskiis4h2zxd0mmq5h87qs24zj9y";
+"mf2pt1.doc-2.7"="0iwnr02wbh36q9nfj8jxc5d5kfc1wzap5gspix8n5rl3yzi9xgk4";
+"ps2eps-1.68"="0aifwqbw8r3i4db5pfj51nfjgbz6d8qjz4l2nc3zkl67g0kmhrf2";
+"ps2eps.doc-1.68"="1k731khcjkavaqfrh8pqyzc82b4x355rxri1s2m4ilnvizbwifx7";
+"ps2pk.doc-52851"="11jchhii2z34ikw0jaddg6kni13linnar4bwdrp6k9kl8zm0h2hq";
+"psutils-p17"="04xwjilc64d5zpbngcsr6c6gvm3857wf2hsyag32v8bk1pjag97f";
+"psutils.doc-p17"="0hb0bjnk53i2q5wkkcn4rkjbpvyv90d41ynxbgsk8hp2gli8b0zj";
+"t1utils.doc-57972"="0hdk57179nn57wnmvr3jasjavkvmrn6ryph6jvjhsfqprn7bhf1y";
+"ttfutils-57972"="188gcwglfgl7yi4026n9l3zkpgwx034vfr4damxpfr6n630rixw1";
+"ttfutils.doc-57972"="1y86pg5lxz5qk2bd2zhknxip1jwj9d3y84xmvg7ydxkbp8kimf5s";
+"aleph.doc-57972"="1ba94ifw2vny6d5cyvh71g98r01v1wswzn44mrjnh6d3q4vp02il";
+"lambda-45756"="1ajx5g5cd5s9jqr4b196689k7zmlxmhhksly88qps31s7lzaprvn";
+"antomega-0.8"="08if5plzpj7g8m1afhq8ci6m4yba4nnsgglngq94ka3ga8czfk6g";
+"antomega.doc-0.8"="1mrr1vqkyic5nyzyxkw7zq67yz4njx9x68cqr3vjd9d77qv85i00";
+"antomega.source-0.8"="0s0dzmb00hqbp71nhl94w0ns1dqj5fmfqw63z789iihqznyxkii0";
+"omega-33046"="047w29bij6g9k9fl7ymap4arhdmm9kvjfsikvjkf9nd7shd6k4kl";
+"omega.doc-33046"="0r686ck7z6vxcajrjihp4a4mh3z23xr8ic34dv9yp039dh0kbm71";
+"edmac-3.17"="0cvxirrcf7qxa1a6r4fzklqrmala7pdj9i8wywapy0anak8lpd9d";
+"edmac.doc-3.17"="1s33bml7f2lsfrj3fprpazjgjiyiblfcjr554fwq8aadsvgz2xxy";
+"edmac.source-3.17"="0hywrvvxaqb52hd29r0dkixj9fcczhr8b1rj6wxj3wcgdcbfhlm0";
+"eplain-3.11"="0gxqyf4v9d18qk1bgg8g0gajkwz9wx0pj7a627lgbgack0wk4ghv";
+"eplain.doc-3.11"="0mgrscj49zqq97xkg0yqis9afhcagra0vsmdycwp2fbz6fhizxfl";
+"eplain.source-3.11"="0y86s9spkyqqidwjs55q1vwhkmxb7zgnfpqri0rwdyl6rln7ckfi";
+"jadetex-3.13"="0gsmhql8p421dyyv1b021sv0hsnl2y4m8wj3vkcabhpiql76yfyf";
+"jadetex.doc-3.13"="18ljn0p607hm9655v6z6xs2apkai20l2mlxwyb2asqa72s6x79yb";
+"jadetex.source-3.13"="0vrqpjn64qlyszf7d2vwkbd1y2lj5lld6w9zz1jqz1f0arhq33lj";
+"cyrillic-47350"="0p9fbfxgkb0pcxs0rp6bcj6j51m820a772b199w5zcg2w1dfn4a4";
+"cyrillic.doc-47350"="0k8sz5blks5l6xbffw69kg0dql04jya14q0q9kkrkjb2ccp5dj8m";
+"cyrillic.source-47350"="1fy9cyi79z4naijng1pccxa4wrrgrfsvfinmy9hflcz9c40fk6am";
+"cyrillic-bin-53559"="1m8ci739229igk1mgx2n5dqywijfs2dxafjxsmlpdyafj2vbryaw";
+"cyrillic-bin.doc-53559"="1clxm22f85q7qqkcdbij2kihiifin6wis4b71ba53xlbx2x89b81";
+"passivetex-15878"="1h49v6sqbm27isfwwcql9dzxn4vmcn2algkqh7f1pzj860xw3ygn";
+"ulem-53365"="0v6p4hj3hij0qvq7vpsbnk11rhwwlx80p3g575jy4sn2vfw5zzsm";
+"ulem.doc-53365"="18ny9kfv3w2ag97czcj2gaqqy1gj2f7rd8r72vd7wsdihgqd5wzb";
+"lollipop-1.07"="170q59wqy0x5zhziaycmfglv1wnc5kf252ni1r4vgrrs3rlwiirr";
+"lollipop.doc-1.07"="1wj858kqp27amx3jpndsqma152r40agfymh9ah8s42pn6kfl4dkq";
+"mltex-2.2"="0j5282big4df396xvk2xaasl7cwnjn2sa14xj22xgzvrz3hr4dvj";
+"mltex.doc-2.2"="13c7a99jl0y75nkciir5zqdiz8dgjl8znbyrb485xrwlkzm6ygq2";
+"mxedruli-3.3c"="0xyp3zxzd55h0m201a189rj9h7js6ky3vzikb4yaa7z8hwsad7hz";
+"mxedruli.doc-3.3c"="0ydh0292i72lb9vcglwq0pl734qgrh9sqdy7qvdds6a84jwc5w7a";
+"omegaware.doc-57972"="1wjxih538kp4pdj770pw590041xrnbb1vwsyh93rm8fbc2kqr19d";
+"otibet-45777"="0fg3gc7614r1b304g78ipq6d84bml2q4mvl2yc49jjnz13nr05js";
+"otibet.doc-45777"="07l6475b8z98pkmn5labv4i4q6g92lh5bdsdqcwd28v5y1jizhmy";
+"otibet.source-45777"="0lfwadx3a1ni2k91dpzsdh297j3viq5dazaz78acb879lgz61ik5";
+"psizzl-0.35"="0pzbip08246id09mm0chi0gjjgdc7yzj0bd7q8qh5yfdbhjn8yc8";
+"psizzl.doc-0.35"="03slfkyrb0pil00n55n6yp5vxxxl8adjbxxmg1c2zl261lci107v";
+"psizzl.source-0.35"="1h2hrjxc3ck75cigh82rmi3558dmpliwxzzsaabb178bh76m2n3a";
+"startex-1.04"="1d6c54hm9jdi882srj87drkcxm7lldb4g60lbic9wwzn9kpa0ynk";
+"startex.doc-1.04"="0ikmb30ndmj0yhzxy9mba3kqxdc5f8i66sji51ihjcrlplj3jk73";
+"startex.source-1.04"="0304dzv4nzlcqi5k1gbfnx823xaxq84ja4gwh7qg941q152y7w9n";
+"texsis-2.18"="08sn35x8wab41mdv67ra3hahrsf4v4brp9n5z0l4bk3k27rl4q0m";
+"texsis.doc-2.18"="1bgngwqj3kkr196sp8i59yrkqpambijr4a54jfrgxb6595hiadsj";
+"xmltex-0.8"="06rhg0mgxsv4061w8k6parag7fkhrja81aj900mi65bdwmxqxxql";
+"xmltex.doc-0.8"="0zjaf8nvsid88nrvzgprwjcm6nirs6glyy25xws57fa9yhza8di2";
+"xmltexconfig-45845"="0drgvmn27snq43kjkpg5k4igkcdi56p1q3fwkrv3ivsiqfp6cdz3";
+"bartel-chess-fonts-20619"="0xd51ighrn01kwb4n20dsvrjhh7a0y31py2mfl1dq34v8l6yvn9l";
+"bartel-chess-fonts.doc-20619"="1sjwli00iffizzwaiszwyd42aya7c4vz5as8k21lmk054x9afjpc";
+"chess-1.2"="0r1danvrc979bbpcka5fdbnmxwiv54inxyd4rcsjkz6z03srbwvg";
+"chess.doc-1.2"="0h6zcs8g6gg4fq0sp2s6gihbyrs9kkvrbqr6pdpb7j3fkb2jr9m2";
+"chess-problem-diagrams-1.15"="19zdm4wzwcvsxqldvjhydk6fxh6gh4iycvwnvnlx72wqzn602z1r";
+"chess-problem-diagrams.doc-1.15"="0aldvbjgjs1i55lmnhgh03i266cwlh82w1h9aynw7m8aa6k1pc23";
+"chess-problem-diagrams.source-1.15"="03r2s0y6rlj3inq07jmgwsf7ylv1h7i6ynjikp20rwl7ngch85j4";
+"chessboard-1.9"="119dsa2mjv5kjw15349bjjz2xacnd82szwdb4m1hjqb3pkc8053c";
+"chessboard.doc-1.9"="0gny7vq5cm7ibvw8fjnpbysqs81bf2s8nvjhs56qq3j7yg7ljapk";
+"chessboard.source-1.9"="05wcy7c9arj8w9zsflr3byy31p0nl8g6i78bbkvw38rl9azpj20l";
+"chessfss-1.2a"="1bi0lzxr3lr8nbrxj8189ycadm16l66isgslqjh1mfqyggz65gkz";
+"chessfss.doc-1.2a"="1xrdlw5z6dal81pdkhx8lwg18fzyfy1v4agq93bw09i94045cvih";
+"chessfss.source-1.2a"="0ryd536x30rv71pqvji805f9fm8ix6g6b5jravshrrksk9q8qw9j";
+"crossword-1.10"="1dk5c9x2nriphmnps7srd8my1g6103japkbdvfi2afkic5q4ird9";
+"crossword.doc-1.10"="0y4vxlyf9dk86kfrqwgvdh7diwkgi2jhbq9cwyhv1vvxd5rl8ipx";
+"crossword.source-1.10"="0ygclxr774akkp6601vxs0pbqq4yiclvwmxj653bjcgn4ib057lg";
+"crosswrd-3.0"="1c85733q3x56s1fvag4kw39r6lnx4hr1wmhsrjs0jnyf5j6lf38w";
+"crosswrd.doc-3.0"="1abqbdfk7c7cx1ij56q8dhz87bc8ppb3hkfmc2z5r6zv94l34n2i";
+"crosswrd.source-3.0"="16didvmnjfbd103skc6i9qbim4kav9vw76954yfqijz1q74c880s";
+"egameps-1.1"="0y6naagmi9qii1k4qcp4svczxy5vbramd9wg1ixr8xckp806kn58";
+"egameps.doc-1.1"="0i36znlwls01ch6kns5ikw90nbq68pn71gpvfizf0x9ipymqwisl";
+"gamebook-1.0"="0ccsyi63paf40lxphmb60k5xciw8v7vd1hqllgq84mry7igzb9np";
+"gamebook.doc-1.0"="1c2m4009fralq8ahhczwfxhh1cmsdh0c5072yrirda46khd5wy91";
+"gamebook.source-1.0"="1dk3fpg5038jv5bs7c2f82vll0bdd7c1jrajwhlfk1v16p2f5i1c";
+"gamebooklib-1.1"="03x6gsrbj860q9kwb9n57c1z8c7ci4ayrbqf84kpbfzwiysd13ds";
+"gamebooklib.doc-1.1"="1lq7s6i3mp6b0p7zryb7jinc18825zb74hs2m0inp93ac5az702p";
+"gamebooklib.source-1.1"="0bh0bvxr06gkl6ild0rgyz25km30cgr3szfn0iyvrb6cwg0ykxbc";
+"go-28628"="0lqgz9r0vxjbq1nyg77zjfsglwbd44zdpwz56smalb6lp2ra3r5z";
+"go.doc-28628"="1mf49wywa32chr8q4c0s4fdkmzd88a1fj3hxcf3zx7bnsi5r4gl9";
+"go.source-28628"="0vslzmpj94qlh5g2jirwj8b4w93vx33j8xdadyc32s6b9rrdwnyl";
+"hanoi-20120101"="09a7cv76naxzdach5507wdqnjp12amvlia7kw0jh224ydmkzfx9x";
+"havannah-36348"="0zdbwl36d8a374yhaqfb4f3561ncch10v0vh7nxj22f267lgl2n3";
+"havannah.doc-36348"="1pkkslz2f66j606j44rq32dp9qhfqcr959wrp8j9xgkw76i9lprh";
+"havannah.source-36348"="0gyndaw2g2j2j22njn32839mihqx3pl7sij35vhsyahyamnipk2h";
+"hexboard-1.0"="1rbyaspfnvcms41rakzrchjrkggd0m5nshpzyhcf36gv6vxcz8ix";
+"hexboard.doc-1.0"="18fmqz39xwns749klira00vlm779gxja0i8g0rrpy6f1pfch93by";
+"hexboard.source-1.0"="0c6a9q1yj2dam3892m6105r737fn9ygiksd4fhmbmqpz9rxlm5zg";
+"hexgame-1.0"="0s68961p0dsaila2a3symqswvgdhh4ah08aphqjfs7licn50yy4d";
+"hexgame.doc-1.0"="1bfrm8mz98l8nrxgnvp8q54pr09ixm81wy1ds1ww4syczpw7jypm";
+"hmtrump-1.2a"="13pq5h9pwnp8hynsc35ib8wzblh3y4gx2lmrrvd0big80wwsdhsm";
+"hmtrump.doc-1.2a"="1bzgqgrjlpskqydqdj26lsn55pkznmbbiq0w4ybr9r0djdmqbn1a";
+"horoscop-1.01"="02kazmk5sa40x0a4zb30gk9lkky0ak825gczbr5z8wchwpy4i1ac";
+"horoscop.doc-1.01"="0w9sgk2j1fzkcfzn76zpygrlyi9fnimp92mygsq2z6rpblzd1qyv";
+"horoscop.source-1.01"="0c6zkcb2057y9x7mz4q3nwin8h8ax71yaam21m91gk6ad9k8l4ij";
+"jigsaw-0.1a"="1ikkihqdpcsxca0hr57jsa9kwbf3b28w4zpgf12dj3achv4jshrn";
+"jigsaw.doc-0.1a"="1vr3qhzvl4hs9jz36lx5n3a5wx2vdhkj83y232jf7vg3i622mjr6";
+"labyrinth-1.0"="1r5za0nrvcpmx7bbnvvxf4l78pv4ciq83ck9k9qh32pawv5jn8sp";
+"labyrinth.doc-1.0"="14405x5dcm2k4m74jjhwd3f1836d79qz3w9m1zfj3gnvzx2kij9w";
+"logicpuzzle-2.5"="0zsg11lw5x28sik6ifj2v1zjvm3pcv4vf7w2pfxcr395vmw33qm9";
+"logicpuzzle.doc-2.5"="08vgi2s2cy09dhqdmvmq1ijlw83dgjd7xjfdhj28vm9ny16zmydz";
+"mahjong-1.0.1"="02dkqs06dgp74963awkyj7w3in66h91hx5rycix61d0qz4qwrvqw";
+"mahjong.doc-1.0.1"="0cxzzcngiz7796xzf0k1njchhw2p2m47kpw2fhrf1cqijwhw3jxb";
+"mahjong.source-1.0.1"="0ygvmg8c6yp2mwlffr52jf5shl0qh26p0xlfkj39zzabd8jv2ay3";
+"musikui-1"="0z2ya761bf0n7l45dqkc626s9d66qwr810fnwf34lr1876y3sfyi";
+"musikui.doc-1"="09sdb98m3j5wkl4p7hdpdrnrr0l25ni46nlhkhg1g54hdggcpjb9";
+"nimsticks-1.1"="090gx9753q9cc9kr973yjsbq3g1bli0qigsw4k2n0a3wb9392frm";
+"nimsticks.doc-1.1"="0s36pkz37qwjrmfw1sykwz9nf7z91jdmfvllgzaymz745ssh42bz";
+"nimsticks.source-1.1"="12xvmydh6p79xjfyv67bnkiqi0qcgk2xwby6ysw06nrn6r4y37qh";
+"onedown-1.6"="19n9kl4l7z6h3vfkbv6m48vwds152cj8f764jz4n6vcwxvp10943";
+"onedown.doc-1.6"="0ca0j01gyv086x4zjy4arwgwk6vlapsr7fmqxiihkhngj60fr1sd";
+"onedown.source-1.6"="1ha3n8v7nkqkxvk2jc05y2i0665xnxa1n53pqhabh98b5qmck5bz";
+"othello-15878"="17y68qzxifgnh8k1q6qfn97ka7703ac8nqk62ridn1wbxc6fb80r";
+"othello.doc-15878"="022pv02lvlphl8168rrcdzk6w7d9wd52riybfvvy537ifwp7kqr9";
+"othelloboard-1.2"="00cybd6dg10bwl2k87i2lj9jq1nmq4jc9v4qhjwqij5zv0l5yz4v";
+"othelloboard.doc-1.2"="0g5k2q33r726xyj1mp08qmyb4xdihiyzsm52mgbdn95iz08b2989";
+"pas-crosswords-1.03"="0nq8wqxrsgpdnmi2yqcs45mb93gp2lad6p0b6ifqr744hycq4njm";
+"pas-crosswords.doc-1.03"="154ifvbrx2z4ig8k00agjsgpsplrjlf8glcxipbgai9wqf82i2k5";
+"psgo-0.17"="18h614dasdg19jnwwl5swih2dxp4wis66fkscq8jjmpvjnckpck2";
+"psgo.doc-0.17"="0naza2kxcgm9wdcyibs36qnwwgwpsbj2m9qkk3l9d54kml3wiznp";
+"realtranspose-1.1"="1m3gmj9bay3a1b7fidjs6rs2077m7csaszz11g6y5i2sjpjyx2aa";
+"realtranspose.doc-1.1"="08w4ad33pycaaiwhrnmx3sfx2c6kv417ijhqgxdsja1mrhcp0nxw";
+"realtranspose.source-1.1"="0s4lbg2jg5fa4x8f9cnp5zcb4yi92g4981dwdksqsilcd0in4ksh";
+"reverxii.doc-60973"="0zv7jvixkipi9v7h354z77w6mw6426ji5g60wbmkx1hygmk66isg";
+"reverxii.source-60973"="0l1rnczhsqmsbmv0fq40qsx17c16h05yr7y52037hsah3cdaf1i9";
+"rubik-5.0"="03qnnbqas5qrf6jmj90kgdn9kkliq8ap70z2b9jyr4rzq8m19ryw";
+"rubik.doc-5.0"="16jzhkbh8m8v8cb0jyifhz6dcdn0sxzi898dcyjrvf245zfwk618";
+"rubik.source-5.0"="1cnkay6vn88p5l5jzhf5lzzfd39p7pbmz9psc814jvlpqlzx90fy";
+"schwalbe-chess-2.7"="08fgxr8f37hl9773m3920876nys1xdp6b84kbmsqhrbw35g49f50";
+"schwalbe-chess.doc-2.7"="18vqhcicndhyaxgndd098h9imwcz16wc6yj6jjn9mg4xip36p94b";
+"schwalbe-chess.source-2.7"="130d6m37x08fphq4qf3jjnsad43jrr3s8735n71gm4ivazas8px6";
+"sgame-2.15"="1axbv7ss7nh6nj6dzs4v0g6lqccm8vyvpc4qfv2aqij37qlyv23y";
+"sgame.doc-2.15"="0nj8n049lmin4j90an75p9bqillwx7wgpvxdm0jb1janfip4r5qj";
+"skak-1.5.3"="1lh97kc1hmz3ybb67zr7vr74z1zngwl2cppkhmp9cagm48j24am1";
+"skak.doc-1.5.3"="0abiardppn7hx6l5h4zh92b9m2yf3w16y15rcvsspv1cb9sf4lfw";
+"skaknew-20031"="14j42hifh60p6glfp24c2f5k9k34vcm0l3alqfqhvv68l31i05rx";
+"skaknew.doc-20031"="0i144akq7sgs6kwayl8c2yir0kc7czjs49vj6l5lwdcwbyryhh21";
+"soup-1.0.2"="00glliinyi7m5m6gkr0szzsp5drgnqww4k50yfb6p3qv1mlkqgvi";
+"soup.doc-1.0.2"="0470i396sk8a6lnx189zcazns280qgyw3yvwiyxc1gs2wd812qr1";
+"soup.source-1.0.2"="09db050wsnmpqxmba7w23h3g92xyzg0sqv57yhns5nwxb2cmbr2g";
+"sudoku-1.0"="1nyh5rv8fgs0lgmsjgkfx24s3lh8pph6jcp7dx8nb8q2ij8ia4pi";
+"sudoku.doc-1.0"="0hdvzb1vcrlbis4xsgzdnbidapqp7kdaqdskdha5szjw53xz77ys";
+"sudoku.source-1.0"="1rwwqpqvmwvq26ycj2glk0k4m1vlbjrxjp0l20qnh5vad98a1x7p";
+"sudokubundle-1.0a"="18y4x1g050ircqh3nd95m45scb8zgjzi03cj3n7whn207dvapsdw";
+"sudokubundle.doc-1.0a"="17mdxysiwjp3ii1qhknrxw07dcds57qbm986583xh69bhq08c4sr";
+"sudokubundle.source-1.0a"="17g96rhis66gvgbm1857ck4ri8nz3isdlqshfx9rdbpgs8x58i0h";
+"xq-0.4"="165zyviwxybpgfx9ycngv9nml482faz766q1skgmligx05qzkhyl";
+"xq.doc-0.4"="01yhk07lrcbl7ppkqvks5j7wjpwyy0zc69q46wh42gbp65vp24a4";
+"xskak-1.5"="1hirv11b76xl7jx4swpa7imhjncfn81i9qc118qfrn26n890dgr4";
+"xskak.doc-1.5"="0hzyv8gy91avmpf2fgjwpqfkkbi8255gy86xzn5cz3y948l3m5vl";
+"xskak.source-1.5"="1gw6xqbpcsgdi5s7d239j0ds18w674z4zfibsvbgqjb70lixnyv6";
+"adtrees-1.1"="1j38apxxk3klabxrm9kpdf6zbmiqb17is5yqgg1a4576n8paqg4y";
+"adtrees.doc-1.1"="1851rqb9gs1wf8wl8f7pqbnxgpikzxzw1n5mg5w0kcwd889g17yc";
+"bibleref-1.25"="0ds1a91dm11y93dy46gflzgdx5rgzzm8j50q2aghbhfiqmb4vx83";
+"bibleref.doc-1.25"="18zif1ciynp47z8hbhc2p6r8jiqisj46as052scb5q6p49fc1ibb";
+"bibleref.source-1.25"="11brqv3pgzzk3j09z6ps6ggwsqm89y82s3cl6xldnyvx2ngc5ym8";
+"bibleref-lds-1.0"="18x44jyar9dnfmw4a5ijhfipscydqj2hybl79ngw1b88k9iq2wxb";
+"bibleref-lds.doc-1.0"="0yr2kwzbfbak1c5x202w8jpgr3y6fq63vkjngb0k2y5ivmjs636p";
+"bibleref-lds.source-1.0"="008hvab2f0xw9bg4ry74g19bfsrhp5ync4ilpya2h79smrwp5xra";
+"bibleref-mouth-1.0"="11x3ldyg77xzpx8yl27sxn6x5gb3jdngd5hgm42p8ac0x57x7ymz";
+"bibleref-mouth.doc-1.0"="0vrpyl0s13sw0hi9s14qamzk69c2vxwjy0zzafzmlfd0pzxhmx28";
+"bibleref-mouth.source-1.0"="1mdhq4qchr8gvdalf3rgns43b2lhniyp9d5lm3c9dnnlaim59hsv";
+"bibleref-parse-1.1"="0xa6nkbydiczmhphdi3rpipiva94x2pwmqgqcwmr6a66y1gk0d1x";
+"bibleref-parse.doc-1.1"="1mn4hyfyialzmzm0syizq1vps07z4zxd853v3aljn6zwqcwfpkxs";
+"covington-2.7"="0886kshy4p8xwkp3g20ia043ysm2mmr92qwp7429mfjkzf3z62d9";
+"covington.doc-2.7"="0gc9xxkrv8gs7drykkk9nnsa8anv9r8bmnwr944pl3cpkvca34g2";
+"diadia-1.1"="0gygfg9vs4gbp3r0h9v6dqc18np331c0hjfmc5rbh29i74jcm8jh";
+"diadia.doc-1.1"="0bm0sb3fjj73mcdmrsvan9pdla2ki7j1wwpjpc4kpfc116a9lzy2";
+"dramatist-1.2e"="0zrkdhvx7f1261r5b2d08bd6a3pzldvpi69iym5k6f79ziz0602q";
+"dramatist.doc-1.2e"="0vwk6zfvf89773bwcxnpsd8crbkmq4lr6hksp4dn0hn6rf4smyyf";
+"dramatist.source-1.2e"="1xy8fm9h9qgjna6z5gz28rj0cq65wpxpxcs4vsfr4vr1p3vmig05";
+"dvgloss-0.1"="0fgc0i7cn0kd4f682xny0968l220ypam3z33mwac6ifqaaqbiy9d";
+"dvgloss.doc-0.1"="0l467jcanablvj95l0sbdib6dblc6ns2jcbg41kv0nxpah2i5ms8";
+"dvgloss.source-0.1"="0b106p2a8xr3c0vxwx3j0qmxh2z842h5x1z22509jabry3sf1y98";
+"ecltree-1.1a"="170bf0i0g2fnmmv9qh0jrdv7xn2xd5xmsw8dpvw8rbxfmn94l52b";
+"ecltree.doc-1.1a"="016hlxjhfzn2pgcpxi7hw0wnfd25idp70jvig7p8614pvkv3bsby";
+"edfnotes-0.6b"="0aljhm0wiks5v2s9qkwbp0ma8p6230ahsyr38w9akwy4j9ziiq75";
+"edfnotes.doc-0.6b"="1260dir3aba5wv12a4xidx6ld0vizl7n9m7agwrkmbanpzcqscf4";
+"edfnotes.source-0.6b"="0wm2hynpa4xk464rl5ikxdh5p71mp2cwzac2xl582q8fik7vjx0s";
+"ednotes-1.3a"="1kk0n2hdbi9cz8ag0v3g0a4w70ccjwlmgj2sqjmpv8yr8j9i7zz5";
+"ednotes.doc-1.3a"="1z0wpmq9rxx3zp0m5i934cpkcfipr0qx8iyk4gj8cb67ind1kxh2";
+"ncctools-3.5.3"="14wam15z6jdl97dxibf789ji0mk59mn96fn5x0vns63d8y65fh6y";
+"ncctools.doc-3.5.3"="1j5j6zsawp9i62kwb8xxzxsvh0qczx6qd1ppq38nlha3cj8k2rfw";
+"ncctools.source-3.5.3"="15anl5wwds08h2msz7m0a11xlcqdqgqpihvcrmy41kdzgnzgc56b";
+"eledform-1.1a"="04sd6m6ay9iav3scf72i6id726gn12qgv19hbaav7dvbkx73s10c";
+"eledform.doc-1.1a"="0f8inf12l7f8cg51adr269qs9zc0imsk9g08zh793aarvrpfh4gm";
+"eledform.source-1.1a"="13phf594kj5a9ql14wvd7pzi3vcrwg61lmc4fb7079j2xpx7drmk";
+"eledmac-1.24.12"="01is22hyay4xl1bp58g08kn99478fz5l22xdlbaqyr5yg0k4rgmc";
+"eledmac.doc-1.24.12"="0x2h38mlixff4yacqrvz7k4q57cwigal3x10f3k4qdr91q9frd24";
+"eledmac.source-1.24.12"="00pkybywz4j1qcki9gv9mfxqvm6q3m60b4lj2ms44c4mric77wk7";
+"expex-5.1b"="1vdbsxn85gkg24rx3qhkwcc658zjyhkymfspysxkxmmb8rn42y8n";
+"expex.doc-5.1b"="1mgq1knfx1lf0vr32wa2r6v0sr49m0xjnsdy0y42zngfi1mizp20";
+"gb4e-19216"="1mi8nwxa418wqp9w64ya1i0ag0pdm4cx08fkmaa302bkhym92bal";
+"gb4e.doc-19216"="0nzmhjqdhl0x29c70iqb8b96pjnx2vm94nk3xgid942pmx44skxb";
+"gmverse-0.73"="06v5fxz15byps13vm1afrpx365nfmq57200gspqpdch2sji2n4k2";
+"gmverse.doc-0.73"="1f8hccasv9f1wbjn7cjkwa2z9rwn8lwkv657i8n533ccjk6s5xvy";
+"jura-4.3"="1mmdx5zjrsrvh90kkdgigddvb4ih3cflygv70al0jy0mpm6iwha5";
+"jura.doc-4.3"="0zy4rafc7lhdb4gig1y53fsmk6faa2zh3s7b1la7z7qdw7s2gyai";
+"jura.source-4.3"="036ac5chvg67hdj8g82nra7p5jickwq041jixbprf080i0mywvdp";
+"juraabbrev-15878"="1rla1p46nb04flc2grrh1j0wvwk84cd2h1v767xzg2rdsinaxw68";
+"juraabbrev.doc-15878"="1708lfrryhlj2d3in4gvhfl8c6yvhhgi0lb3yz63h0n7flsb4a6m";
+"juraabbrev.source-15878"="0i5xhmx4j6ry4plcgdn8sc9vvbai9vzk9jr0mc54dhqaby2slyxa";
+"juramisc-0.91"="00dkagnyz7xrkn1kdzb7612qsdc00h2mkkhfv2xnw1fhrcsy11gf";
+"juramisc.doc-0.91"="02prrfg5vvy5d9y45hjx877438r8syymjj9q8465c3y3jn4ka9fc";
+"jurarsp-0.52"="0ylww99b12splqpkci2hps4zzi4myfy0agxzz4m3s8q74h4bqj32";
+"jurarsp.doc-0.52"="08bvr93ax4p00lmjkhy09bfm403lmzhq729gjjw6skla4wbvkmci";
+"jurarsp.source-0.52"="0fdxnj42qk4cywsxj8x40bfrkp0yqm7qh54jp3qf79gkj4hj6yp7";
+"ledmac-0.19.4"="0ipf7h58bylrfwg8yzarqvpkl0kr4k3z9hl6cjzxwlh16s5fs76i";
+"ledmac.doc-0.19.4"="0pgkv08nsq0rmcpck9vq1hfb4gnfqh274hclq4grk182fpn4ggiv";
+"ledmac.source-0.19.4"="07fl3lypnxz7sa4kjf3xllwqakhrwgx8z8r7l6x8id96n48zri9n";
+"lexikon-1.0c"="0ql4hzzf94v0pxr0jma4bnkgh73napz4np2zd1jhfsf55sm3axzd";
+"lexikon.doc-1.0c"="0fbz7v6a5pw20p22vyx1mjdr4z39wgf902ph9f9nwawxwsl24v9a";
+"lexref-1.1a"="1whic6s54279zypip228xyw7da5iq8p7lw090z71d8nywjsgllqm";
+"lexref.doc-1.1a"="1vqygg7hqn64d3dxj1sj4nj37k3w7y8r23d8l8x0lb909y285jpl";
+"ling-macros-42268"="1qr7bpa2wcp1hqx3ckid8h41lp8idhqqnnbdv42j2nhcy6f409wf";
+"ling-macros.doc-42268"="0lk4whkamzsf9mriiz06ynpp962w5473ppf4n36q3bb13amyp5vk";
+"linguex-4.3"="16rqzqipzng4xd7yz3i6416231cfphqbwq8n6pfal83awzd660jk";
+"linguex.doc-4.3"="1l0m6k9adq0zr88zbqrj4jl286mwarr6fiy4181bwxm9w9kkxs04";
+"liturg-1.0"="11l8ccpq2mcnpsfxry6zzjihj3s7s76p9plh7afprd7j2nnq1a79";
+"liturg.doc-1.0"="0rhyz3162nzh43nrxwkynr45i4w5pqb5ip53x5j2k2a4cb4k1z86";
+"liturg.source-1.0"="1hn89rf3xi66bfc3kzwbvllfzrxr62gx60ywbh8gkrw813n18lll";
+"metrix-1.5"="11hcw66f3r4rvxy8h0znwgrdvlfvibc6j73pcdb3bvyywb3774gz";
+"metrix.doc-1.5"="0hx74wi8vf57ly8yrzdq6x5qm8l5gi9km4v0ma66i5v40i9jwgcf";
+"metrix.source-1.5"="0i0xzmhqbs91qpznbanlhrnqvgxc45llk0wwb4mfcvmj622d47bp";
+"nnext-0.0"="0vf53wnrjday1q3hrplqklfp5kg57ibyjiijqw0jc074gzhyw0z7";
+"nnext.doc-0.0"="1rxxrnm8vb274c9l6lki1bxd6pij92klryigd40wwwwxzh8fc10r";
+"nnext.source-0.0"="1w3p9ig1jivwyy9rlbzfgcy82h3wlj2ig3rdlaq9k9fx8vd6znah";
+"parallel-15878"="0hja3k53n8v8qzj1vym1j2b4pj7hqszda82s83kw1v5av6kcy4da";
+"parallel.doc-15878"="1i0ls71ib0l3igd52cgn5z0cjz0j17hsj0qc5y4sqg2nvivvw7gy";
+"parallel.source-15878"="1slmdxldvxrvf61aa1b7m09cxpv6jsaw5lvbgqsby6jvgfp4r4g8";
+"parrun-15878"="08cbzlfy5cfkxpgr4igv3282k1dx9bsvsjfdi8b5dhl2gacg4i7a";
+"parrun.doc-15878"="0wvbmjzi8jwx5gdg8zgb4p3gz8v8rfp2hw67q0rm5f9rkza1a3ds";
+"parrun.source-15878"="0d79vvc4j1sysbpy1qdqwd27fai14820z0hqkkd6hrxzq39x6xza";
+"phonrule-1.3.2"="0xv49vfvlfjad65gngbk5022vcdi0w86mzqk60nbz3i8npvncplf";
+"phonrule.doc-1.3.2"="15bgpzfxjm22f4vqq9nbjhldvxzflrpayv51g383nr41j3k4m3xx";
+"plari-15878"="0jybi5dvl6ksjpgfqfrdnx5q25gl5xgqhwax4dk1shf6rbafkgyg";
+"plari.doc-15878"="1js29imppwx2jny1hcvjbkz7cc9qrafgniy9qd11bvjyp3n1vly8";
+"plari.source-15878"="0br0vm2ncrdyqgazdr2p1kvgl6lq124b8h82245jc8yz7mnrz2nw";
+"play-15878"="0gs6iibb9jkmynhvwldwrh8rvalayv8vk8ziyx9qyqsdsgh53bz1";
+"play.doc-15878"="1dvi29x0fdnb83bkqfsv6l2jp9rvvnqpf1paznx9pli8gvgwa1rz";
+"play.source-15878"="0nlyi6ra8v3pgk5lhhvar848mcd5zqbnc6mbqnbxsj409jczd0rw";
+"poemscol-3.1415926"="1k1vq2hki8jq70d0lmw9sbzwhp7mi5sx735wkrz9046xd0qmhq7w";
+"poemscol.doc-3.1415926"="1cdbv1ls20p764vkllgw710fm4v8nbkw8ryw2546lqa21v9ki4sx";
+"poemscol.source-3.1415926"="1l6zsi6x6akb4z37iyllg99schd90bny8r3pz8vddqjyacnf1j7q";
+"poetry-2.2"="1z36zzm75zidsb8zixmsdgngvg1gyasxdz4lcw4ikdwvjmswqzqr";
+"poetry.doc-2.2"="03cal4780m1r6i1g86d2gil5h6n0h8dkiv8phfjcp890y9vdw2y3";
+"poetry.source-2.2"="0y93c9fvjhfs70qvnk9ff7hwq7zyq8hw8h65bwgr3f26b6skfxyj";
+"poetrytex-3.0.1"="06h9aqwryssmzkagr5af598ic2rr5j0m5h5mwaw3ssrxwry86mxz";
+"poetrytex.doc-3.0.1"="07jkb5z8sdc8gp3j2fls8hcqrh5g67wimb0nfmmz5287why1br3w";
+"poetrytex.source-3.0.1"="02x9gadfnianaq3hjrhllrql20p1aa81jv8lc033qj47wml9fajd";
+"qobitree-15878"="0irdc2w96ad7mkgm6jqwia7lk1x4557fm60l98mc6kpd3a9djzgc";
+"qobitree.doc-15878"="001w9a4kxbrx11298gnvjamx8c6plag1gp5b7x9vq35s25kdy0i8";
+"qtree-3.1b"="10a9v90yspc1pq3ja9bzixdq6wxl6q4jxz5na7x9yw9g44z3xaf3";
+"qtree.doc-3.1b"="0ja3xpng871h96q220nrlq2iypk2spjs4qr5vpmri89b5nvngf6m";
+"reledmac-2.39.1"="0i83j7jl1r83yl36hxgl41y87bi76j45zg8v1qzv0blnbafafsc3";
+"reledmac.doc-2.39.1"="1sn26djrllvhi7snq57xdspn9snc3k0ag9hpy7gd4dgchz0i0lsn";
+"reledmac.source-2.39.1"="1dx8wrdj6zj5s11y8m08b85cq810bkczmhzghmg9dvf24b2c2wnr";
+"rrgtrees-1.1"="0jihs23929pzbgpgnb2v9i16fcil9kxkggdv1dvg6xq9f2fh21md";
+"rrgtrees.doc-1.1"="1skw79hvvh0xkjff4bfl0nqdd8znwhhwpdx33v8ns43xxamzmnwy";
+"rrgtrees.source-1.1"="1q7y5mbvnrykrp87kljcxw7zdglh08cqz92iahdsaac4xffnz6bc";
+"rtklage-15878"="0wrvj1d1dmdff3kqph59jbyg22gvz3bhpnyvjd7ih7vzfi4b8861";
+"rtklage.doc-15878"="0nc926q2arbszwsq88dd96spaj5xzkrfng34m84x0l8wbiidbvlh";
+"screenplay-1.6"="14p99gph5jvm0h9x8irh0c4mxb7q4208j5q0d8pd1dpmlvxvzsh8";
+"screenplay.doc-1.6"="18i460n3p05mx325nh7br1fl3i1lfviy7jgl24yc5hwqyx3wwdpk";
+"screenplay.source-1.6"="1fdw0bpf4q294yqnc4svbpyiza9bq7x2m0x5rc0x709c1wylqsyr";
+"screenplay-pkg-1.1"="1xzwvnf16djzsif7ff8b51dq98h2844nzkj2f9y6c75g6rhnyls1";
+"screenplay-pkg.doc-1.1"="0hkxa7gz3sammjdvglvafwczn54m6vcywz6rwqng8qa2hlvb2c3k";
+"sides-15878"="11anl2mfkzkdv5qb0rfw7940z7hy5i43d8hh9nsvzgwfsw0x1qkr";
+"sides.doc-15878"="0gsqb1hzhy1qk29lhq57arzivkwxw1achz08ms1q8q9vxwcsf0sz";
+"stage-1.01"="0i2nq4mxbwlp474iglwyixxs8aac6wwxzaa16i698vy5v0840bz4";
+"stage.doc-1.01"="18v7j7likkwkhwsccvarp9sjg8y7insgpngy765w56zdzw2r5m66";
+"stage.source-1.01"="10ln9mp7rf8z7xg0f7hrssns6kb5psf59r5vbb05xxn68h90j9cy";
+"textglos-1.0"="08932gszahdc5q6pckg9q8bdxs39gacjw9cljjlvghs8vn7jjwjj";
+"textglos.doc-1.0"="1c88my4j07b7ihn07bcii9xxckdv04g3c6jycm0ffhjffw4p7609";
+"textglos.source-1.0"="19hc7lalmbr85pbz3pd3dm696fsbdl7y8v9g1c4l2k7b0i5mc8zf";
+"thalie-0.10c"="0dwls3f9q2i360hi6fp4qvmlnd43hiv27dfc899hvmpi5yx303wn";
+"thalie.doc-0.10c"="1c1y5asymwrjv2d173gpd8ma5bmwy4q38xbdzk5rzqd2gjx7yglr";
+"thalie.source-0.10c"="0ghlkg5646jy2fdhp0plij6awf2l3bdy72zdvx3hyx8bkpxmjvd3";
+"theatre.doc-0.1"="1nhm56spqvryhmhwmzly939mzv5yv3398lh2lyfhf40rr02mzgi5";
+"tree-dvips-.91"="1l7vgcgbh31hdaaqb9kqi9jmvbyr5429wchyjg5pjjgpffj599qv";
+"tree-dvips.doc-.91"="17l7mmvb03zi7am3nnp60ychx224kn5i3bdl2yv2v1dywbsnl7yw";
+"verse-2.4b"="19yp18fl88zcph3r53ajbnwcr8lbvgahs2kfdg733l5zw3k5pj16";
+"verse.doc-2.4b"="063lkcis5m4zs509hn4z1zg1faz1lsxvjak6c574xasspm45v559";
+"verse.source-2.4b"="1r9pn4dqpr42ng4xk899kxph5sci82dkdx834lyrhi8lsj32g9b4";
+"xyling-1.1"="0gixafnkq15xgkqm2y8qxljfpy1n5nq4ll0lq19sb9635czak427";
+"xyling.doc-1.1"="0s38yqc0xfhf6ap8jc60s24vvmsqhn6f4dsslsdk8i4nq1dmsw92";
+"alkalami-1.000"="1llldpmc485zxlw1k996g3gfffb0ixx72afz3zkj83i78dpx180j";
+"alkalami.doc-1.000"="1315idl4yricb06bh689hhdf9jkc0ckmdygacsx3ywzxj1zcrcch";
+"alpha-persian-1.3"="0673i0l6vq1h37g9jqcp7am5kl4dfbcrfqp42c7cr6a10zhvfqyr";
+"alpha-persian.doc-1.3"="0cfl47cqpwxn1k87h19a0ggayf6c52sl60sdrmpa7sfydhg9w4qg";
+"amiri-0.113"="0s6ri9lsbzym1q6rhqqacypmlad0npxjrr9wf0dc4cnrciz56a4i";
+"amiri.doc-0.113"="0ygizd5qywk8fzpx5cnjrykav75p217aybhdsfhr70l6bcsqhy0w";
+"arabi-1.1"="0jmx0xsb3hz5i25mmqnxgg3bikyr1w26i3364cqrp50x9sqvkgfm";
+"arabi.doc-1.1"="1yipdaiai9fbmrxkacqwnbibdiaa5vskzj40d1hxv6wnkxvj2qkw";
+"arabi-add-1.0"="1ylvj2w98dly6blpk2aicz206rfg5xzqbcjx00j3jnmw7g847kxh";
+"arabi-add.doc-1.0"="1d1wngc0179p7ij7ibnyvq3cxb954sqywxyv5k7a3dg5np9zlg7j";
+"arabic-book-1.0"="0s7hnmz67hzfmfzc0mniiqfi6i8c8qzslbm92z1wc3a2hr38ihk2";
+"arabic-book.doc-1.0"="1j5h788vsmrcag9bighp6kz6zx40ppjzwfa070ic140lqzz2b024";
+"arabluatex-1.20"="1s66v0qns84vhpwvb9if07b9s7957jmxxd643g1mddg36z6pkqfj";
+"arabluatex.doc-1.20"="1rfwl55la33ag9plqwssjvgq47mab2h7ljrw5w6l96vq965c2csa";
+"arabluatex.source-1.20"="1g84xxm5fvp6dzdrkyxcjn4wlih0iydrdyxn93dffx1a9n1c3yyg";
+"arabtex-3.17"="1nbbl9306n6mxd2ijk8gvygaws6rxp6y4wfnp47wn4914ra5h8nc";
+"arabtex.doc-3.17"="1xdx2bf1jzl6ixdp49cn2ya5h1z1fxh7jljdvafjv2fhiaaqfckd";
+"bidi-36.7"="1wmdbhp889rnxw4bv811pzy9z4k5m8nz412vnhnj7ibfj3hjrriw";
+"bidi.doc-36.7"="1m1ba4vv03chdrxa02484vvd220n3h4x8y65ww2srbq9bcqi39f3";
+"bidi.source-36.7"="1w5v1sry1h98wwnkn5kcr1i0472j3zcmh7nwaf5x3rm2h60mh7kw";
+"bidihl-0.1c"="09wrzqlldxy3lcxp21rdqi9bnjzza9wvdgssqynynjdmfggahd34";
+"bidihl.doc-0.1c"="1k67d2zd16ash4krnkwvmwx4wl668r0pdg720vr9xq6q3b139y9d";
+"dad-1.2"="1sj53bp0fp8d2d3qnwvl0lm7c6pzbvv8ds9ww3x6qhrna630iwaw";
+"dad.doc-1.2"="1yykrywq662s311l9daq9wpxdcr8l6qifi5bzbnv0vx2372hhhw9";
+"ghab-0.5"="0skiyyxr8l6a6n34lic42lf0rnv4jm5rpmzm08gv0qqq4ha67zki";
+"ghab.doc-0.5"="15vpkpbpnj1w3nlc5wzy2k4fh8jw1a21asc24lj0j6dpb4mzja1n";
+"hvarabic-0.02"="1cagm9zxkhrck5svckh7i0c3zx48vy0h6f2nhishm40g9q9r5qay";
+"hvarabic.doc-0.02"="06g6wmxqgfj9zz2ph7gwgndgkm2kzpd4ci7pkwl5qm41ik96l7a3";
+"imsproc-0.1"="0pkhmc596xrmfwp90w7brrzbjn5rzn70kdpnjlxbyf2j85dr7gz3";
+"imsproc.doc-0.1"="04qasn12qqg69k6isnv2qjpcnfs1nd27vvdpqqdb23z97k38x2xn";
+"kurdishlipsum-1.1"="0b5x438l4m396pmd427zcnl7jyy5ag5c004gyn0n1zzwbz5lcnfk";
+"kurdishlipsum.doc-1.1"="0kw9664fm4gzv7cspj2psczyn7m09qz95agn4j953q39l0qyz6ls";
+"lshort-persian.doc-5.01"="0b1b45nh2d3d3zv735dymgyllj6m8i57icbihjkl1im0nghrzklk";
+"luabidi-0.5"="0flk2g56wfdsc8330grmpgxxmik0sgq9vbw2r51mlzj00dl4wz7a";
+"luabidi.doc-0.5"="0qdbn058p7xlr7s7ivaz4pf0rw4w2lywfxh4nkrr8lxjlszbqsmz";
+"na-box-1.0"="08xixk2hl5w876x6hmp6h044spi0qw1qbgrqklwrmkxkgpa27i3s";
+"na-box.doc-1.0"="0i1p5f2nchl9hyrkc6s3hsqcvmyxsi4dbwyr0mph8slhw2rzl711";
+"persian-bib-0.9"="1yzbap8fwmlz46ngqcy6hwjw98z1cxlprpzk6vg2qw7wvs57b143";
+"persian-bib.doc-0.9"="1rn6p3zbfx6vxdjzxavvbf9405cxk1kv56971n6i2bysb5h22w0y";
+"quran-1.81"="1cgig3cq5057q0mrs0h5mz8l9zpp5xjjzw42kv1v88556wxc564c";
+"quran.doc-1.81"="1n20l8366iisgnn9zdzfcwhqrlg5zz84w30ddm1zjhwnjsycin17";
+"sexam-1"="007lxpvam03cvldnq9q8l2p60iymfijs2yc30cgj7i1lx44630va";
+"sexam.doc-1"="17rn2wf68f16zsr8p1dk3klqapw251zpqc2a7z3b7lgl4164q57w";
+"simurgh-0.01b"="1nhdmdi6qbvx1nd92hxl8vkly82a9nxi7ghj0zpm31c15z5pb7rq";
+"simurgh.doc-0.01b"="1cw434sxnbgq5dbaidn3zn8i9az4q35blcx9lr6yf3m0yy2rl8by";
+"texnegar-0.1e"="0qrnysss751vsbgd794gwh8lwrq6gq09p55qkkfngc5ly29icx9c";
+"texnegar.doc-0.1e"="0jidhqlklr8yd48san5iyy3i5pxg8lygf4xi0gcp3ps7xcb0m5g1";
+"texnegar.source-0.1e"="1bayaa5vffnkmvdmg64q5rsnh69grr8qirwd41mlfi9symh9gm2j";
+"tram-0.2"="1bk233y9pin9r76vsbkg5j2wadp3c6p2x3mgqchnmlz2ip54x336";
+"tram.doc-0.2"="17b0vw6r2ijgxs3dix1ff9r342vkz1gsa603mxixxxik62j5crk5";
+"xepersian-23.7"="1k379xwrqggbahb9a3h70n25nzq7y8b8wqg0xw3l3g596sk0f227";
+"xepersian.doc-23.7"="10b7z3vp1balm40q0064w94m2azn91yq4g704q2wgjca1r68bwpb";
+"xepersian.source-23.7"="0m39rq0vssfvk4kyxx06dz08ykr6msigfvdhny2j8pv6kfsrcgm7";
+"xepersian-hm-1.1a"="0qj98xrbnh9bam0a6c6vy7ffaia3iqsx5s71bjlmbnyl6y2h8lwp";
+"xepersian-hm.doc-1.1a"="16f5x8jv8mqf5a32gvrzqwh1xz4s5nxwqsq4q8sg1za6micqniyg";
+"xepersian-hm.source-1.1a"="0zcq75xzkr0bgpf1xdsphrkcv70q17vs8jkhzxvjrfzilh9h3iqr";
+"xindy-persian.doc-0.8"="04w3h65215slnakk5w19m94xmj9cjx01izbk9xijifv5l6dqh447";
+"arphic-15878"="04a15kip51zp4bhrbpiv4m5pm587xbia792ckj17gj281ysd4817";
+"arphic.doc-15878"="1z1z7nnncp4dpb91bajxf3li47k011jn5jbxzgdaspa5mjvw32k8";
+"arphic-ttf-42675"="1z8fa90baasp8j8539a4kzilah602lik012az7i3pc0dnm4m2w1h";
+"arphic-ttf.doc-42675"="0nfbjnprd71dwp2dxmkmdggfipa36w4qbps82czn506xpzh07lav";
+"asymptote-by-example-zh-cn.doc-15878"="0854pbh3rm21rzzbhai7xijzw26qawffj4wd3mrwbva1406106ff";
+"asymptote-faq-zh-cn.doc-15878"="0z09f5as68dz66dlj370xfx593bv50ihxx10zxmm9lk27ymr52hb";
+"asymptote-manual-zh-cn.doc-15878"="047l3bh8vvk185wkazyfw4dm6893xpa2ksn5vfc57r5rv4x16wmb";
+"cns-4.2.0"="1b9hs7svh6zm22vw5zv6nqmdnmw453xv15gl5bgm4n3f1pz757wv";
+"cns.doc-4.2.0"="0zdjgg2njgcf35jvbhkfgiv3b9cccf7ds8d50ga3v1ia9i4h9xq3";
+"adobemapping-51787"="0xarfk18da0rl44i2w9acvnivdbm1sj04v1arc40yywdy6pyb8sg";
+"c90-60830"="0h4y0ydp0vx0hk5s46lj4j0vji6yslc0gn02rmpbpgs6ic34cm50";
+"c90.doc-60830"="0bwbqi9kg39rm63vzngrswsg7vnibrfxlz8fhsqb947j20mrj6l5";
+"c90.source-60830"="1pif2g8ihgxf3qznhhc52gi9bih5ai8a986c6l1zxlmgrh678wxh";
+"cjk-4.8.5"="0qdvr0sq8v0vi1vy8aybhrk7fnvlyxz9x9m63npa3nfcffypdv0n";
+"cjk.doc-4.8.5"="0liy56875383hjdada5bc1ni6w6ikmzkf5k8qg91l0hbkxxnqfiz";
+"cjk.source-4.8.5"="02bnfl8hydbb8wn2d54nrd6v4p9yrr4f6hkinyil5jnfkq9mryyc";
+"garuda-c90-60832"="1yz7zpwdvvhzcsfcz4dc40nnaagwrsxvskc5bymmdxv1zf6m3npf";
+"garuda-c90.source-60832"="0palvrkdf8c8xhx9d2sxvch0lgycvn10bfszzwlbxw6qrbnpspr3";
+"fonts-tlwg-0.7.3"="03fs5l62fbkz9rinnraz9zfz1byjd74xwvlfqcv4cvbxg02dpgmm";
+"fonts-tlwg.doc-0.7.3"="0l4p30am56bblp120lcs81idahw3wrgmbrvi0jzfnvzsyd7xh068";
+"fonts-tlwg.source-0.7.3"="06zw6amxdkmb9cdjvkvwgah5x33ksa9iigb4dcw6b9d3a0q8c8ya";
+"norasi-c90-60831"="1bsx31al77ci58p1zavp5q9dl8msdjqilb19fglnkhgg8bjbqh7d";
+"norasi-c90.source-60831"="1bsivm5im913x336v6qrv31b926lfr8821pzqshq600k4fgk3rj3";
+"uhc-16791"="1xvkp384p0xcba1lbi3b2najk6d2w1s78yi6vgppmcjrd5limif2";
+"uhc.doc-16791"="0q1wxcn2zclpj4bsn47jgd78xmp82a6x8w068j4ihza9pfvbqacm";
+"wadalab-42428"="01lf8nlga2nycr23xpzl6xas2nlgajjmia4lk4zvjdgcxqnipfrq";
+"wadalab.doc-42428"="0m8x6plkry0p3jabvhgkccb2rvlsz941di4ihfc8schkq7iyjlxq";
+"cjk-gs-integrate-20210625.0"="0w396gn4s8jlaz95cc3dzh9xsjiywsxjf87qwaniyaihssssl4pn";
+"cjk-gs-integrate.doc-20210625.0"="0a4m7r52czkxp7j2zd389f5illw18dngdj3rkd8b9qlp9c4bq907";
+"cjk-gs-integrate.source-20210625.0"="1h788aq405c44alpj85lyhmlnvdslc21n6h89vx5dggdfypbq18r";
+"cjkpunct-4.8.4"="0wvqmf60gjm5m7fcc2qqz14lfzxcrqci3lrla96hxkqnqraiyb84";
+"cjkpunct.doc-4.8.4"="1ja16xaqfg5158155flfvayr39k7grij13r1r89g59va53mpsgrk";
+"cjkpunct.source-4.8.4"="1pn85n7n4fp2p5pq3w66kb5zlnjk1bdz7fz4xsa6z31d5216j39b";
+"cjkutils-4.8.5"="0wl33vh7pcrbyvxy6bfcjfv0xnawp4gb76cmq2304n9mp2w8dg2h";
+"cjkutils.doc-4.8.5"="1kkb1lkni0d7mb5hcnwkpwbyz7y9w5iy0z6rgm38lnkkm2wjhf7b";
+"dnp-54074"="0jlvb0nps1ij4sgbg3clgbk34p80la1fhh9zihn9fhl9nrqk637r";
+"fixjfm-0.8"="1v4gn6bwlb294sxrqgy6j9vx2dp7plbagkvmw7vbvp6wk8dkza72";
+"fixjfm.doc-0.8"="0wiihlpjzvmh8dynf0nbhmn8raxflqxmzpk97s1qv7kkvpc79sy9";
+"jfmutil-1.3.3"="0ygrcnm9d0dkrcz5cx86j80rdqwi1j9zs28b1bjnfb4vkd5r0fs0";
+"jfmutil.doc-1.3.3"="1vz9wav5ggsz9gkkyflywsnzjsw0p5paiw9wfx7x3ha2lgwv7agk";
+"pxtatescale-0.4"="15swkjxfxznb101hvlqcxpplxngfaf0nbpkw7j2fgccyqjs5fhfn";
+"pxtatescale.doc-0.4"="1j6yrpyfhn75qkv03bnwj9i3s4lmsh47sw696y13cflvdmsgs8n6";
+"xcjk2uni-1.0"="1x77gmg738r2zbyd0mc7q079hz5wbvabyszmwizfdj6vflm86w3y";
+"xcjk2uni.doc-1.0"="0xig1w251dsn2qd9iywcdc20plibadiw8hl1iwygpzfa3187djjf";
+"xcjk2uni.source-1.0"="12hbjjdypk0s5k5iaac80n2n4z1zlkg5lp59y58dwnn4y1dx6m6z";
+"xecjk-3.8.8"="18ja6v7pb9sz8q0alq5yhjk2401hk9s9zcandp4pa06yvcygb9xb";
+"xecjk.doc-3.8.8"="0msxlpd5ljz0w8j78g214fxfzxms6hxr7lnhkhkwrza92c3gsrxj";
+"xecjk.source-3.8.8"="0qgywayy978vhr17p5swpk1li5yl5kjqgpidazab0c9q93j7y1r7";
+"zitie-1.4.0"="131kiycj7q9javr3xs7maa2qjczmva7vj98bw36pv7znwchspcca";
+"zitie.doc-1.4.0"="00daf6p699y5204lrdg7hfcnmqh3ah764fpjymblvm8hy5f1w5g2";
+"zxjafont-1.3"="0p1zmf0bwd5fpyyz8cwdwc8pnxcqk31570p4722lzwqiplm0azfc";
+"zxjafont.doc-1.3"="16w7iqlb5zwz8qqyyscmyd0zdzb55n38gf10qd5cra6c161fi7b3";
+"ctex-2.5.8"="1k20gnw84g1bgxj91k05fa6g0zgh5h1g73hqygzv6rm3gc133vl5";
+"ctex.doc-2.5.8"="0f078qhd92m4h64gja8n5npbl1qd98jmx461pjkyrqxysgjvvbl7";
+"ctex.source-2.5.8"="0k4yy6wqnf6dsw6ys1cwm2zmzngx8xmfknln1jika556wgv2lyah";
+"beamer-3.66"="0fy79m0zqpnhppq8ykx37dn68aliwgnkv1qjnxa293chli0c1v36";
+"beamer.doc-3.66"="08la2h0km745ybgjlks7zb7scd4ryypfgq8j6qqr7a0x5x36mpfb";
+"pgf-3.1.9a"="1fv8k0p3qsl0y3fzfkrzn0zw9bclxav7anzhzswl62s250bfzx7h";
+"pgf.doc-3.1.9a"="02kng22cfnvmxcbxwisrs48jyx4w27l2rq6b2iz7gliqx6rvm7zv";
+"pgf.source-3.1.9a"="0g81wcsn7dx21q44b29jscikxayw1pa5vqclwxvd54p1x5f98ch0";
+"fp-2.1d"="07qzdfrk2y499cz9jbpnj024r43japqdngbxg4mbapw9cp8066d3";
+"fp.doc-2.1d"="1y1xwqf6mskg10h31ws2pvn5y6g9asflc7l9r24fp2fi4254mvhq";
+"ms-57473"="0km07va23z5vzx87ndrv9mj0fq4yw0kv7qygd59smhm4q71yspkl";
+"ms.doc-57473"="122xwapvjzv9qyh3p1884bzdpalvqzzkmzd18gqr3q3r4cmk2q20";
+"ms.source-57473"="1myxaybppzkdl14h4g12xcp57zqjzkzijryv9nd6hy6ggl9y8i99";
+"xcolor-2.13"="1mxni32p51xbhlvp76zywmwf86zpwywa7yxzvalvlxm4ysa0mirv";
+"xcolor.doc-2.13"="1a5gsnywx25wxfgkyp7jb8b5bsadbljgbj1yq69ac4326p080r4a";
+"xcolor.source-2.13"="1ppidagbcw341s5qyidfb26hy5cj4ymp206szmkb5bpxhp0h3jbm";
+"translator-1.12d"="1cpr6znw0nkavqxr6bv8fkb72ygnjhl1ap0wbim75f1gmwn7k4ki";
+"translator.doc-1.12d"="0yk617bp6c4wcr6mqmyfsh9lirjjzlg6fiay3fp3g9146p567w4s";
+"everyhook-1.2"="11r4932kly5zmksmicapqxndqw4cdq1sg2x9hgffms6v8m5cwkfs";
+"everyhook.doc-1.2"="1g9p36ki26vqdfiwnr77jxk1bna7733dml5k4s8nxq1drsklwqwn";
+"everyhook.source-1.2"="0hv04cn2j7sf6032jxv18py368zbpp4ya15wv18qymbk6yv5najs";
+"fandol-0.3"="1l6h2brl2d6bnam6p6j0p1d2s13jnva5zkr1xr4sarzzxj6zlz2r";
+"fandol.doc-0.3"="01ax7za7wcr644ncpv3rpfvl2ndqlppqnjzbjp8y2d0hawc3k5m0";
+"fontspec-2.8a"="1lskffvb9a3jmzq4m0kgq0v4jhl39aa70zkz8ha1i5zhljwg4r6r";
+"fontspec.doc-2.8a"="12rxb0f61jgh9xbgzq0479zxzqwahsx57s9nl5ygrwcigwzglk0a";
+"fontspec.source-2.8a"="1zxfi2adixnk7fcy3j4iixr86clv9gckgwimycrmsf4wvvaf031m";
+"euenc-0.1h"="0lh0k5g6icbbzl1xzzcj4sw7vjhqpn59y9xbc6cn58klpww8ywdh";
+"euenc.doc-0.1h"="0likhzn8afsq302aiyjk6adhjimz0naqffjrj2s06c6681z2inh1";
+"euenc.source-0.1h"="0bwr4cabh3w4jbx476ygxv6afxj6sblszr47awr2nixx0m018ndj";
+"xunicode-0.981"="1h8ixz9zy9izv5j7555094jiwfp5js5y8mp4bh993gn9xn1rb6b2";
+"xunicode.doc-0.981"="0jrxnpas07np9a30cybk6jqv4ng96vjqpyyadbl55szkiylzwwfi";
+"luatexja-20220311.0"="0qc7yd52f0wimx2ychx3fyswjkvgq355q9kxpfbc47an24wjfqs7";
+"luatexja.doc-20220311.0"="0fc9g0p819pwh3m6w6ypl0lrbh9zw4y0s55kcm6wvva0zvxndkx2";
+"luatexja.source-20220311.0"="0636c01zlimwaczf8rgdw2jrl43nn1l664g7zvf8c0wzmm1ihvk6";
+"luatexbase-1.3"="1zrwz661gilr4iizcfsxwmfr9dgx7v28lypaslmvp3zaf52zl2q1";
+"luatexbase.doc-1.3"="118azb2x20gyaj42r5w0749dx8rzhhri1nz3szy9vv64h0fig603";
+"luatexbase.source-1.3"="0vsg8q5k8l66sy3d0bskr6cv1f95lnhap3b9yl754x7ynv272xcd";
+"ctablestack-1.0"="0b739h1ndkisr49d8y4q0vnbl9j3diqwl9r1ah8wk2za1ww2mi54";
+"ctablestack.doc-1.0"="0qmshnvbyfjhi8bb989hbffwn3447r91jp46z1yhhmcbjpr7clk9";
+"ctablestack.source-1.0"="0133xxb7470lyfssi1kp81yr1zsz4d8ai3qjy72wki0p7ijkypw9";
+"platex-tools-61272"="1qh183sq1z9rjyqcrdf8nvdzg06zb260wk8mff3f0b7wsi4q4sam";
+"platex-tools.doc-61272"="1w3ilknkwy13sycmnfafryif37znzykg00vsl2sik22lqcqacrcp";
+"svn-prov-3.1862"="0r4s76i89wh1fjrmf9imf6y2sf96xznznyjfcivi3sp8dvf5ln5v";
+"svn-prov.doc-3.1862"="1al7qiwd5ajjpvs2f90p7frlkd389p1ama019yl0nnxc1l45m067";
+"svn-prov.source-3.1862"="0cg7qwgv20jvvw6bibkskj3p8jc5l2mhgzwq6x0wzy1ds7x1f6b7";
+"uplatex-62145"="0kmw51xvg44jrzn6r1w2biz2d0m3j533qadi4bfjhf2dzi4jdg61";
+"uplatex.doc-62145"="1q5ghbbcknwvi2css4j7wjl0gcknkrn0sp0a8a4f1mfarbprw01b";
+"uplatex.source-62145"="01gpwxp81hz8824y1hffq6b035l0pxa8wyfkjm9kh5m58j52s50w";
+"latex-base-dev-2022-06-01_pre-release_3"="14phpn8q5lp5392igxdxhy0671hmsgkg2xk9bjpk98gmg8i7jy6a";
+"latex-base-dev.doc-2022-06-01_pre-release_3"="1xqlcf1wwnh8p7q3yhjs2p9k0n18d8r2fa6bmnilb4za95z1fhzp";
+"latex-base-dev.source-2022-06-01_pre-release_3"="1zp6y80zvzrfs93a6ddv70lksxm329xls338ra0xpa3zq6naw96c";
+"latex-firstaid-dev-1.0r"="1qypmml1s626fmy7i8bgkgdy2xgpj4sz50xzpbbkzhglsr440fxi";
+"latex-firstaid-dev.doc-1.0r"="1sazgbwxby8rnba50vgmvmd4gchlz9y2mw6xk4fdprqfjnv7w49r";
+"latex-firstaid-dev.source-1.0r"="15m1a4kbxayv9vjw2vhp3pap088i8pbn6fm7h629czjlmkmc4d7m";
+"platex-62145"="123kfimgsp0jgsqvijb5f2fkpyjm5l36h59ykpig73fyb3l5yld0";
+"platex.doc-62145"="0a0zs1yvw8dx3h4pnhxc49s4ks6ykbsv66i2s5l6b586r1qi2kri";
+"platex.source-62145"="0hx16zbka5zbhskh2zvix0acz3051g3jkgff62f92wikhyhgcgws";
+"ptex.doc-62145"="1jh14hzww79218bmz0ndbcfg1yx020h36nh1r0a3c22rsmz1k4fc";
+"ptex-base-59406"="1h14n8hj9xh97y2g8fnz7q3vrzmm7nkk1yj9194v0y6kjggf732h";
+"ptex-base.doc-59406"="12nxgvrinkd95hiwczd8nykiyldjyvh8sk49m2j8hl9g4g6slkg6";
+"ptex-fonts-46940"="1vvgb6kxl4py4knh9jqnwjy5a9xf0r0yr8n6rihpxmmw3lymwrip";
+"ptex-fonts.doc-46940"="1fys51jjzzmcxrkkc2iq6yx5p68mspqnhm3gap292f7qbh2n9jp7";
+"uptex.doc-62145"="1bhnhaj3ahyq5jirns6bh5pfn9j02y84awbqpjjgpra6zf43sy41";
+"uptex-base-61795"="0g1ihpqi9im0k7zg8vmwzz8mz3qpy2nfgsq5r7kidsar4yrqcj1m";
+"uptex-base.doc-61795"="0sihi5hj6p0hj42niykav1rzdkhiw2ph0cn02vcs47wdkh7vmzq5";
+"uptex-fonts-62593"="1yi1vid5dr9zif40adil84fniach4j4n2ngqvyfkjabn24gsaa4s";
+"uptex-fonts.doc-62593"="0jqjcjj19csf7rgc5ndvpy3vmp6rpf89pi76yli2nd8vvvnxg1nc";
+"xpinyin-2.9"="107l74kvfwhk3r325hpvvs9p92s07mxq46qlvdvaq4yr6gjvlh6s";
+"xpinyin.doc-2.9"="0w5pwgw1hd8bpl4j8nm6qmv4jdj25rdv549dfhkwncxwb10ds5xq";
+"xpinyin.source-2.9"="1qi4paa3bvwhny0xysq8a88czzdn736mm7fg7cvxlclfn5v9r0xx";
+"zhmetrics-r206"="094afdf0mwb6f5jvg7z7cs5xinia71cnlaixcihliai37kdn1qss";
+"zhmetrics.doc-r206"="0achyp4i8dfhrkr9jddp7qzdifcqsf28qaqdnyb76525mvgkip5y";
+"zhmetrics.source-r206"="0hic8n6kq4sx2dc8vb34fhyjrbbxp50lllyj5sh2ld9s5fwgm3yk";
+"zhmetrics-uptex-1.0"="06g61qm3ryy6mvvaq4whk7084hjp544dig57mwcxlgp6cfs0fq8l";
+"zhmetrics-uptex.doc-1.0"="0ybijj2hjm4byli3yh8q9lgb40bdpq16d9273nrmiyy8szxa20qc";
+"zhnumber-2.8"="0ijvfd7pkg9hqxl0s3h5yj9zqw6p5kinbang8v14h6bbb0nzvhxs";
+"zhnumber.doc-2.8"="1qvqm1plnxjv4ag7japic9kzf27c69hdsy92dqad6n66q3v22kn3";
+"zhnumber.source-2.8"="11ydch2nd0l1w62c78v9i64zcl16crvx7r1gq2lj5zjfa5wc9bg8";
+"ctex-faq.doc-15878"="15c0g0x8w7vm3hyn6lk60jf66akyfcq6x8jc2lnbjx8ydwgb26br";
+"fduthesis-0.7e"="1dcvn1ydpqf01vgfbnyx83bwcf8yq0p1v7b0hx7bd47ssj9kn6xq";
+"fduthesis.doc-0.7e"="13n0f40hfg9h9yplhwv00ggxb3633inx4k8w9yx7ffzf74gjf7d6";
+"fduthesis.source-0.7e"="0816bas2p5n3x6601b3sin7kiaxm40a549gr4xydxh1ijdxxn52a";
+"hanzibox-2.2.0"="1is4bzxnf2nlwh8nbc7s244lw04w1l5qi31h25j5vmlnwh47myvg";
+"hanzibox.doc-2.2.0"="1d9gbfkjpracjjr2s4xpvzgs37dp379l8l0lqz52r3ynxi3zzz6l";
+"hanzibox.source-2.2.0"="1bqnnx4dhgrhxjk8hn4xiycxyi7wbqbsvchc70s9kz347zina3gj";
+"hyphen-chinese-58652"="08sbasjp9b4wl15zmx0diayqfa9i7pf65nnsa98lbc9rpyydvhn3";
+"impatient-cn.doc-2020"="1pc20pb0las3slam1d9hmqigipmr6r98wwif12m33mm750vmq65i";
+"install-latex-guide-zh-cn.doc-2022.3.1"="1g81j4cwlfxwicn3kzj4p3ppw34n5w2sv8z5gnkgp0fkvfhg88ng";
+"latex-notes-zh-cn.doc-1.20"="0w9rmd7b5fnfvix653n9vbnn1k8yxlaaak79ipvm8p53dx75xfxd";
+"lshort-chinese.doc-6.03"="0455mdpcv3yg4m5vrbdp47j7mcwi43mvsy2p9clp7794agaf2ir6";
+"nanicolle-2.03y"="1sk2frvlsxzrl5cv1c1azqpxbpfr4b06ssli54j0p5aikf0rls1f";
+"nanicolle.doc-2.03y"="14zsfxcyw2ckdsi3fg5qwxfy6d0yja310ycxsi3xrdyxyia9nrd5";
+"njurepo-1.1.2"="070jmqsm9caidgc0n1cmcj2v0x8dlxxwv54hcqkrisaf4nlkyyk1";
+"njurepo.doc-1.1.2"="04hg7gxg0nplqpmmagqynnddxv12qadamjy3rj1sxhwxgjma9c5f";
+"njurepo.source-1.1.2"="08fan5igmdc43s82s1adq7ymxpvahnp08f90p3p4qlqanj41yh65";
+"pgfornament-han-54191"="097i0gyxxvnajwfbblr52s8qw2y5ld52i4rybg4lk130qggx2v5g";
+"pgfornament-han.doc-54191"="12vayalf8hjaapdfdnhr6jnc2x14l0kxak3qwi7xsn3cafrsfm1i";
+"qyxf-book-3.1.0"="08v4n8lc3qcxjzfvwqypnky9zhia7ylwq5f31arxgdf0wq4gyhia";
+"qyxf-book.doc-3.1.0"="0i6g7v0xdy26rdy1kap0b4pnsz8xjm1h90dwby8y0bqlxjhd509w";
+"texlive-zh-cn.doc-54490"="1r8n9k1cy7798g1rg1hyj6g945j9649c5hhqf8hm7a7abzx7w6ll";
+"texproposal.doc-1.4"="1yxb3yagljsdp4s07fzd6498889i7cscch68fb77jbfc2z4srvsy";
+"tlmgr-intro-zh-cn.doc-59100"="127fad3aq66rnn4jkccyw7qc8pdcwapyjb6lj9kn49nqcy3jm6nk";
+"upzhkinsoku-0.5"="13fm9r3s01003n8ykbq8plx3xzj7p9bz958ylkl9f10kd9favr57";
+"upzhkinsoku.doc-0.5"="0hd55x231kpcl1rmds601a2k1yzvhvfks7sg0424gzw7wirhns75";
+"xtuthesis-1.0"="1d68hx38gwwscshdm07rcg75zjbsvk5kyliy5rx6z5jp75k0fra4";
+"xtuthesis.doc-1.0"="1fdr5k60zxjb75vv4m6mj1kalka1kg7cw3k5j9a53n01m2w7q6r5";
+"zhlineskip-1.0e"="1j3wkvd57kdwhhny0dzw0hqqnv2ghx1mdjgyzrhfj8gf3fifdaym";
+"zhlineskip.doc-1.0e"="0hy14njxpzffcnyciyc4zbil6372b640bshfw9jq4wyskwk3i45h";
+"zhlipsum-1.2.0"="0rvwbnqzgbdihdavscn8mcc7hy6yjdzj2fc2h3xs3i77lfa5140d";
+"zhlipsum.doc-1.2.0"="177l81c3zbgdvjgr861jn917ps174zg8bab824f7dx2gj5mhdzgf";
+"zhlipsum.source-1.2.0"="098fqbcr9fdv6f6hjaczm3q28dpx0g8xqjykg5hyx7nfp7nh6yjk";
+"zhspacing-41145"="0h588z408lggk7370l9kcssz2hn9lz19bnakadygrklsyhqh9pzh";
+"zhspacing.doc-41145"="0s5qyrsi5nw0vppgx90lzz3ra121jgm9hgzg3z791imlxgjn8pzr";
+"babel-belarusian-1.5"="1jad77cas2x8nlkh72rkxi3bqdlqzichqkxd3bdxk9bsqfhvj80s";
+"babel-belarusian.doc-1.5"="08lb1909wm2r4psppcbn1sf3zg4a8qp5y4i0b6kksfp0n7v1nckn";
+"babel-belarusian.source-1.5"="018jayyq2mzb89l60h7f9vzx2zgy2skklbqqx9zs3krg23xy2i6g";
+"babel-bulgarian-1.2g"="1lflnrgn8si78aj9ms8lh9lb07maghvqlnrc7i3lmgn1qjrlvzqx";
+"babel-bulgarian.doc-1.2g"="1lb0kxx7bxrllyb7sqs1gjkqv7414jvs2kl06cnrdwsrfbr1g0kz";
+"babel-bulgarian.source-1.2g"="1wck40na2vczwni0kk1a8c1naczrcwx8sql7j0la1b4c5dcikgxd";
+"babel-russian-1.3m"="02zvg65m1g15a1fbin635gvx2mxw2ljv4srd0wjjfcpdyfg53sl6";
+"babel-russian.doc-1.3m"="1bs2q9xxqyjvpqxr3zfbmk0lkf58jg1ksi5a9mp07vznzplz01i2";
+"babel-russian.source-1.3m"="12ik2dwkih2g0gqpbg83j0kcfwsb5grccx27grgi0wjazk0nicq6";
+"babel-serbian-2.2"="1d6mz27y5dc7ia2a94kmlvifmihwj8x734nddk0n0cf43w41wzjn";
+"babel-serbian.doc-2.2"="0fg2w49pmc67ddzg4lf2a01x8qigpnrabw5d4m4h5gwzy5hs9chv";
+"babel-serbian.source-2.2"="0fhd1rvvjgjkcsxv5qq7qnrwpw7c6sx8fb8x9icc2z6ngjgmcwfg";
+"babel-serbianc-3.2"="0v0xm1in3cjlxmfijvalcxgfskw9nb562zig2algh4ybijazk4iy";
+"babel-serbianc.doc-3.2"="1gilgvs1sk6rjlyyn3c1clyr799fjv09j46775jqzkanw17p6s8j";
+"babel-serbianc.source-3.2"="1v55iiifih0vkyhfx3f8q3xma1alkb40yl92qghai9ph99r4x9q1";
+"babel-ukrainian-1.4e"="0fm0sbr6i1lx2zg90w3mlwlyg0j0f11ya6as2n1w4gbm1inmc62w";
+"babel-ukrainian.doc-1.4e"="1h3ag9pybhzysb65xg3m217jll1h02ks04icrlhkp97sx3gs9wqn";
+"babel-ukrainian.source-1.4e"="1v7w99b86iclp16qxdjfqsxnh2p9zg669pwdlman1467y2z13p8s";
+"churchslavonic-0.2.1"="0f405qij680p4jjacjryjgqvb6ysra52qmydqk5zgqyljrm9h6hh";
+"churchslavonic.doc-0.2.1"="1k7imx74l512fwd97bsqy1k8jkbkf2b97lr1iy4pp8jibam534rm";
+"hyphen-churchslavonic-58609"="0yh63znzx0bqqqr6x70c7laikxx82ph85jw48i0jh9ziv0n5gq8s";
+"cmcyr-60630"="1fdsd6ks48rvbvg44ac01z89rbd4w887lg2f9wqca1byx142jg3h";
+"cmcyr.doc-60630"="12bg7k2gf206gwlg89mqwfadsyznpwl2nbzcz2vrnvrh21z81s1c";
+"cyrplain-45692"="1wdcibxs0g53warxs6vz39s3chldzh05p7v1ksskppghg5qzgh8z";
+"disser-1.5.0"="0kksdx0m0lgb7f45g21yzfh90id3pzq17bhff8x7az0djb6n7zk1";
+"disser.doc-1.5.0"="1pb4gzw1yx3kx6yxabm4wj99gmnwmx9vw30m3l21304axdxgk7w4";
+"disser.source-1.5.0"="02awlfmhyi2cahd0dkhxkfiqqg6jwmkksv6134lyms798j0akv0z";
+"eskd-15878"="0cpaix3x3qw5mgaim5574pc39hypi42kmk7yvnbvf3qj5bv7jkyz";
+"eskd.doc-15878"="1zwpxmr721b3ij4b4zvkncddy85d9s9ma7llajp36qh4vl0bc0cf";
+"eskd.source-15878"="1kfyrzs1swin4ph70ifm1mnsm77dprd96rsw228liq1cybn5bgii";
+"eskdx-0.98"="0h11378qh1y4c4ac3vd9pcl93a09kpsh0vyqcg7mfn01dgmqfam1";
+"eskdx.doc-0.98"="19bcl4szagigbd2jrlz60vhhphm86667chciwlk05k6hkflg595w";
+"gost-1.2l"="0b495h3wwvwzn7dilj2am4h934y7b4fm3g3j85bb6i8fpqxbpikp";
+"gost.doc-1.2l"="1as0a9pc9bv0aya47ir77vlwv2hqaapl1ks70gslfqj57082whwa";
+"gost.source-1.2l"="07jn8ji4fa68mlq381lcmvk5qcamiczain2jlmpqcc9cfxd31s3z";
+"hyphen-belarusian-58652"="1n5md9kf7iiwqm236bkdsl4fb4vd6a03b6q1arvfa4l4yh8jvr13";
+"hyphen-bulgarian-58685"="19h61n6ip8ja8kn8p1fb79lfv15pfzdhhzih0hg15cp1891nzlql";
+"hyphen-mongolian-58652"="1mdgs6gcvzly6y2i5rlxajk2qxjac0m91ayqb079mz8yxwvmq6xp";
+"hyphen-russian-58609"="0vlnw1xn92ncl31yh6i7k386n0hp6vx90lgb1kxs0a3zrxcds0wa";
+"ruhyphen-1.6"="0pizl8szphgyq12sbpgsw25x88svj6vmf8j7ry23hvc9bvjibck7";
+"ruhyphen.source-1.6"="1s0wscvjg6hj9f8arjsp7b9m7nqszqxh2wyjrx9i2qb60n2kaaac";
+"hyphen-serbian-1.0a"="1v0v281ws9dyivqd1nrb5ms106vlvmsrvka5jmnzl1wnpw34z92c";
+"hyphen-ukrainian-58652"="1jpi7argypmrx4yvc23dx777r157c7kxgwpsix7cjjihakmx1s6k";
+"ukrhyph-21081"="1fnh98jcbn9l09mi952qrdw0dq0pjykwgwi35zz2lz8h8r750ihw";
+"ukrhyph.doc-21081"="0bbj125zb494g9x160n3lsivims28w0drhfmp0c2920cwhk4m0xh";
+"lcyw-1.1"="1c0js52z8mgfbr3lgbvnhc646ggvsvgr7w1mq83lyx0pvnlqm3aq";
+"lcyw.doc-1.1"="02h21pl11ax04q5psazgxpm6xpb8lljm4b08bbmivpwbm0z1namn";
+"lcyw.source-1.1"="0zf06l74fzlici5dzm3ggvz3h66dx3yjxmb7qz8xlsk5fppyhcb4";
+"lh-3.5g"="1k2nn4zpxdgj3b10xdqzldcdbw56ws9735wp0yajkhxl72ms0705";
+"lh.doc-3.5g"="0zvcl1zfbn7qv9069hff2a2r2d33xmqr31l4di24y4p33y3ylprf";
+"lh.source-3.5g"="040n2hbkaypam4fhyb82ncy1sfyvg7fdhykw9fnvy42mlzxv1p3y";
+"lhcyr-31795"="0civwbn156gky4k51189s9lpqcs06wjr32pviwb1gzsfr6rc7vws";
+"lhcyr.source-31795"="1pwlcsilza9f2f73qsvbr2xxxbs2dcms08jxjlnpk8fxcpiy8j6z";
+"lshort-bulgarian.doc-15878"="0qg23asq2i5mqhp9xblv5hm3qxmd5886d5x0gq1fkdbyy9gsawi3";
+"lshort-mongol.doc-4.26"="153k4dzia30fpx847wli7i5p407a808gmj3p7jifq5bpx479qg1g";
+"lshort-russian.doc-55643"="02abh69xl43p56fcciyan4j0z4mqq2j7ynwazq1nywhz37d6zn7y";
+"lshort-ukr.doc-4.00"="1nsah1h3z3sy96a9x0mfdwby7pvvjwq7zxfv2s8nvsbvnn1al17s";
+"mongolian-babel-1.2"="0qv413sx05pz5ri4p9znb020nhb8m2ybapcdgnxvkdamgbfvi17s";
+"mongolian-babel.doc-1.2"="1zprq4x55rbd667ll7a1rcscbqvg3i4wafmxnv4bksdm8p512w5z";
+"mongolian-babel.source-1.2"="0qf83v7iphfavxh7kh1zav95r6q3k0aiilzwnc0mm607bkjzc2x5";
+"montex-IVu.04.092"="0rgf1rflrf98jayyhj1gxz0mkw74qhd88b4i2ccf3mm0kzwlvw0a";
+"montex.doc-IVu.04.092"="0w9izkjmb90d4x5j1azhlskhgfmxh67jq1awsdv2s52psgscpfm9";
+"cbfonts-54080"="06641hiw3yahh28yq3bnz3dc6d25als1d8kbjh1ldab55gb3vz6i";
+"cbfonts.doc-54080"="1vlhqfx3y85ym7xaqzr7bxkzm3am8806s6bkp50mv58r914xmlz3";
+"cbfonts-fd-1.2"="0gaw2v82im1k7addx320xhwwq28mcm2xkz4z90pw09r848s9fsyx";
+"cbfonts-fd.doc-1.2"="1arnjpk1n9mkva1f9gsh5834kjb7m9rd49kgn3jf6acmdac67rv7";
+"cbfonts-fd.source-1.2"="056b2x1fv2gvy7ldi9v1kgsla7jzhvl3lsd5wl1v0sb2rqr2jngv";
+"mpman-ru.doc-1.004"="1x3drpi21zcmkhkscvl4l7805wskqa4zskydb33i0asss5p62396";
+"numnameru-44895"="151c13r8arj094jw3zaymz6i7invgpyqr95p0qnwhj22z418pj1m";
+"numnameru.doc-44895"="1rrargznsmgq1h6a2ixxr9bg57zcrs9zwhxgz0ssbscdyvjqik8n";
+"pst-eucl-translation-bg.doc-1.3.2"="06c9ajnfl01sl81z5r8a5lzmaygq9rdmgym2v40y7xp7z033gwwv";
+"russ-25209"="0jr0x81xc1zi9vhgvqy0hcga48nhkj9z2n4rd5303b8h68n92yfd";
+"russ.doc-25209"="02dl5mh45z9n2b59clcqnaj9fsv79jw46ph3303mlx7plyvdqj8z";
+"serbian-apostrophe-23799"="0anhf0xj3pm516sxiby2j3pbh0cp50ipch2s5dh037h8bfmjgsbv";
+"serbian-apostrophe.doc-23799"="1r7fsgsggbr8gf973a8nzpq4rjjpmzbcqnwc8qrlynfiscwc2mjf";
+"serbian-date-lat-23446"="1766dw6c8skacjbbcd0d2lvy1s57vjl84c12xf1w2q8kh6p4lqk2";
+"serbian-date-lat.doc-23446"="1k8lnnhb010rq872yc9d4m8s3vd1my93qydv7x8l80xyp64sq203";
+"serbian-def-cyr-23734"="1zxl15y1j964sp4iys1rl4gyaqs13hi5ms9rhc7944p36rdf32p4";
+"serbian-def-cyr.doc-23734"="0nwfxr85nf19ddk9b7hhin84jpimsx2hm45nzh136qr5jnr1g3hz";
+"serbian-lig-53127"="004bfyajczp11w6bpb7zfyjwfpqwlwzian0m68qhmb3j95vrs3nv";
+"serbian-lig.doc-53127"="1yrwmr8mjhqnizsgvar8s4xaaw1f70x6zij5z394a86ygx1gx06r";
+"t2-47870"="0s6zn41dp7vzilfyk92yy5mbb74lcrpnmhrwl9xcj1dbadi97nm6";
+"t2.doc-47870"="0wfm1gy3dyhfv2xzjfsky2fvdhki5r2ndgvzliq2n0kvfxf1sgna";
+"texlive-ru.doc-58426"="0c77yyfj87fajran8jppj0x8krk6b5195iscpn8z2n94spz2fcc9";
+"texlive-sr.doc-54594"="0icavs9jkcr5b5cx5kv202k95j0ydgby9lqrw8wm9h936mbn9bkj";
+"xecyrmongolian-1.0"="1m20p5x1s92cwhsixaz3s0y00r8n0j6172bi8vpyzcpf8mc886br";
+"xecyrmongolian.doc-1.0"="0kiyjcqlajmpj80n8wkk0ziri83811ivl380i3cyz7rxmsh1hqhg";
+"xecyrmongolian.source-1.0"="0dj2191iqcm9qpi45h45r3cp4nz5gdviw6xf9iz261b3pn515prp";
+"babel-czech-3.1a"="1qk6k4y1rkay2fcn39i99pxsip4k68xac4axznl07pbgx46v3h64";
+"babel-czech.doc-3.1a"="1hvp785ly718fd1f0ig092rldcqglpb3mrygarww5bnl6fpp2ffm";
+"babel-czech.source-3.1a"="1274pzgdya7gkvxjmdm3v5rb7hc0sj6mqn9pd8y9418yx5449spg";
+"babel-slovak-3.1a"="0724h8hnc4z0l0kkafjczzc69rh6h825wn0srfpy1zmqimybvaff";
+"babel-slovak.doc-3.1a"="15v2hdmpbivcdwrm3mlyb3bb3p1298swq7vwxqb9b5ylv8907sd9";
+"babel-slovak.source-3.1a"="1k4w34wq8n06ck9z81wa490fy52a1dcgi98pcvdmfggkalwr7ml2";
+"cnbwp-32550"="1xn9s2scd7x714c178p3p8bmv5bjdqzpbyz75nmn50d8irjg1zk6";
+"cnbwp.doc-32550"="0cs6jp079acnjj0292xba0gjkykva6grviwnm36vhxy93732cls8";
+"cs-41553"="0nzzcg1yvbslhqm5lsfcpqh6sbzkmnmmgyakg9l8855qpa8g9bf3";
+"csbulletin-54433"="002dpnpxvppdrx5g523n17fj4f7jdyhfam85zvrf3qbqiahij3n4";
+"csbulletin.doc-54433"="0p2wbn2ndsmzrwry79408qfmfaipnkg4cjsd9phifpz1hygc0a96";
+"cslatex-62145"="1qdcnf755fak3kppl02yi2q9ghb17kxr2cyxc2y80idaafqgr9sf";
+"cslatex.doc-62145"="0b2a9hrbqzhd7k4ac9sqphs6zvj1hc03acgm5afyijy2mkx865v0";
+"cslatex.source-62145"="0ig4a8nksmsm7pb1hxfy6gksfv27bgayqx60ygiaphcz0ir73546";
+"csplain-Mar._2022"="14z479gkiwgw17pdghrxh5q0rlxnij7ccj49kgf3macwgmh5lm0r";
+"luatex85-1.4"="0ss7c5x0x7sx6lsn1iq6lyyp6w0xb1iy01s1f7zf7mlb9n1yzffi";
+"luatex85.doc-1.4"="126y3priwz6anp8sj0296bnxd53lz20nchpxw74zphfpwrv4hzih";
+"luatex85.source-1.4"="15bc8g0pgrkqpb8q2dhb6zml2d4jwrripih9898mmalsjixy62x7";
+"cstex.doc-61719"="0j3ifcz9myixr875rf71nh4ly2mxa5yz7cs3w8waapif82yybj3x";
+"hyphen-czech-58609"="050b4vmp8n9nwqzagpw7mq1ciin9rwgdicmbk1ajl9gvci7q1q8b";
+"hyphen-slovak-58609"="1vn6i784fdz35dcbxdcv85886mbg8vbjvx0w6sx230gjjxs1s571";
+"lshort-czech.doc-4.27"="0ar9qa0cg0mjv6ydgx1phaa1qpiy25s3jciznbylgi5xprvnnfa9";
+"lshort-slovak.doc-15878"="0b5gn95i32dyn8r7v2cdcz759fllp3b0zwx17adjs282n06vfymq";
+"texlive-cz.doc-54496"="1m442mx60ksmrani152rfj05mara20jjd4hba06qyk69716gqli6";
+"vlna.doc-54074"="0g6x2m8c5mjwjfrbqcndjj45alslin7a0vqasc1j7rhfmqr3issd";
+"amiweb2c-guide.doc-1.0"="0cxwsx49p3c162ysv0ydyxdncfg8ij9sx2x7c4pvzb0yidvad01c";
+"amscls-doc.doc-46110"="0allim05cp20zhn480df2mivd3p9gnc069d7hbjlzv660bw7mapx";
+"amslatex-primer.doc-2.3"="1kzayyh1bycmq43s2xn81jf05r18azidbk3gv6igf2vaq37fmxil";
+"around-the-bend.doc-15878"="00nc6kx4ylz9g6vmjlgyjvmy1ls86pjblbcpm5z40wh5xl7l184f";
+"ascii-chart.doc-20536"="1m2x7iwz80plq6hbhp9xia6bp8wbi03iifs0pkr7ji3gn8hqgh1r";
+"biblatex-cheatsheet.doc-44685"="0y2ry2q1kvpy8dqglqdfq3rc849hmbni0k78wr1xnjbpd102l3k9";
+"components-of-TeX.doc-15878"="05wq82pa2m1hdpjxx2bhj61nkwcyynjn3fprbnngf2llv8yzb9ag";
+"comprehensive.doc-14.0"="1pa76hkxfmms5h6y6zyg4l5wrspprhnycfdigby8302srx676vhi";
+"dickimaw.doc-32925"="1mxjqn4lblnpbmad3jk453lyx1qzcmrddis59j3jsgc5sp929w4k";
+"docsurvey.doc-61447"="0f2kzmmpm7qwci04krmnz5impfwwmy2wwanmgq05878w8xbcqjj6";
+"dtxtut.doc-2.1"="1szg0xvwm0jbzs8waillijzrff4kv04a73gsqh9c12ap427xfryr";
+"first-latex-doc.doc-15878"="13ngk5pia5vbrbb4jrrlq1lmyja08m7cy4ydcjasxha8kns001ss";
+"fontinstallationguide.doc-2.14"="1i6im0nckcr9fzs0kc54dvcj3jvjz2j8jd55xgjm0r569qjj1hi5";
+"forest-quickstart.doc-55688"="1bjy0bfkb90nv2dbdw8hdrm3dvm1v0r0m7a0l44ckw48vnc6amvk";
+"gentle.doc-15878"="1l5fyfdbkpqlgpgi1hrnn2sz8hchlnp7z5s5584czafvs10jg6vx";
+"guide-to-latex.doc-45712"="1wc5pclv27af2zr6kjjahjzxxlab31d8970jvxr9lxiqllvkxyab";
+"happy4th.doc-20120102"="1x950scxbvcgwycpakflpklc775pknjab620g099dnsfrpb76f4a";
+"hyphen-english-58609"="13h2gli0pfjg797i4i86dihmnrpp52fjr1apj71fgjiq2453zsdq";
+"impatient.doc-2020"="03cjl3lg7k7p4h8drw7vcbw6ymgmm2clv6sgfs3hdixs8dmab1b2";
+"intro-scientific.doc-5th_edition"="0bzgi3zg0lm6zwjnac90ihaqwcvhindfdphjijv7mh11ii0qxlmf";
+"knuth-errata.doc-58682"="0rcyw7dqcwlnf9q421k017hrx5c0d9rra6rcr3n6wqmhxmdy5mn9";
+"knuth-pdf.doc-1.1"="0x2m2q8bjjfn8i05nn68pia1v5gsf4zcxgymymmd840xfziih838";
+"l2tabu-english.doc-1.8.5.7"="0dqmdr3lffhiaq7pg5pn6ia46miwq4nh5vimhd0qbf936amiv1mm";
+"latex-brochure.doc-40612"="0xba20sy8q10ac9hxwnz9axh853hrj06vp7mfn12ajax31miznmy";
+"latex-course.doc-2"="0z6q95l2vvxrspc04ki9wnrzhz76nynb5ai6969pgw6ihl68384f";
+"latex-doc-ptr.doc-57311"="0mamlfnxzi4lwh5cpss8zcfr64jdnf6vnj9fp48accrqdj2rpfs2";
+"latex-for-undergraduates.doc-1.0.1"="11kp03n0p985j7hfmpp3f5z4alwxzhs8mkv2bqnfapic96plmq9h";
+"latex-graphics-companion.doc-29235"="01zs32gck1sl9zlbhghyjmjwxyvw0jha5vl2hd10knyrb3z4dhxc";
+"latex-refsheet.doc-1.2"="169h1syday30qiw032k14fhxikdwszggvqz8b9ga4i9wwxf1vh4m";
+"latex-veryshortguide.doc-0.7"="17i8zmr7mjfrx911psdy9cbn05c5inn4ixqmnjkpr9sbgsninyc4";
+"latex-web-companion.doc-29349"="0v018lwf88z3qmzyqpyvfql7dbwk5a9r0wj3jfjc9cp2ksl8zf8f";
+"latex2e-help-texinfo.doc-61750"="1z1mvgi6705f734885iybzsyzbdvzzpc99bxvdf7gqxpgpp17nr1";
+"latex4wp.doc-1.0.10"="0xyk6w8jmmcsccbd9q4ikblfq6nacjjyrmf58ddjxkb6v0lzndph";
+"latexcheat.doc-1.13"="1383rsi21ma0291asi779bjr33m7fii019di8gv8kxwgci692fz0";
+"latexcourse-rug.doc-1.1"="027siznmshk60flxgra7dgzvwbmgwvckwb6r257b91x3rm77anv5";
+"latexfileinfo-pkgs-0.22"="0lf6pkxjqdilg10i3fwmlb1nvvag6c5bm6pbcd50jjbd1q39iih0";
+"latexfileinfo-pkgs.doc-0.22"="0qh84r86pszscg96gri652y6p5xx245lfzvx50qvzw77xn4iv6ra";
+"latexfileinfo-pkgs.source-0.22"="1x1sj91sd5bb0jihvp0qg52q8ybak4flvijj5hdq84jf0bw3gryi";
+"lshort-english.doc-6.4"="0pzqdbzynlwvpamd69cmfpa8jdcvq96qjr9k1fy3dxpzi2mapvhd";
+"macros2e-0.4a"="186qfgd6p825fjnwivvzvvpx1ydiiw4k4lkvs9gqvm5gmas7kcv1";
+"macros2e.doc-0.4a"="0faj1gxhrc1fsqniy56c35jjzmxbpgyc27ai6xipbdp8sjdqm6pa";
+"math-into-latex-4.doc-44131"="0k11j92h9hpxnyciczknhl83b05avc0rqdnwn82ssqi1k3qixibd";
+"maths-symbols.doc-3.4"="0z83qf1rz84cr0b1zvwlacf24pc5r8dn1cxiiyl0xrqncl3279ka";
+"memdesign.doc-48664"="0aij1b7l1kb2x44qn33m39k0kbhdrclmr25nmvzfn6yw42lh9fz7";
+"memoirchapterstyles.doc-1.7e"="0jxd7sbh5vc3j5d5jd3zmyg58kwhy550l5z8q14b4msm00fp6z0a";
+"metafont-beginners.doc-29803"="12hhvlnvh8dj1396242m6yi0341cina7sxrv7pwzqxzzahwdvmgm";
+"metapost-examples.doc-15878"="1rslyjnw27b5br17cbf6mjjkcgyr49yav4kw12spm3vdwyzb7gxr";
+"patgen2-tutorial.doc-1.1"="016bx1rp8kpvlywg0yafhbbhlzw4zxdcbdrd5525vffn6fyp9fi3";
+"pictexsum.doc-24965"="00yd0945qiss5jizkxncg8a9bdsld7mkhaipi92bbn1ghqicsw5a";
+"plain-doc.doc-28424"="062d6hg4npy57307avvyd2sdxnmyrh5ia2rdb17p6cx555k8zxwq";
+"short-math-guide.doc-2.0"="1wjcjgw0xk4zx57f364cpl57qpxj3lq4lahlkbk6iiin1h9v2prf";
+"simplified-latex.doc-20620"="1cgf1p7p2ikda1nb0c2vhhx7ai6rd973pz6a00pr9yanxsvghp6d";
+"svg-inkscape.doc-32199"="1gw3jp7wph0ys6372z2rgjwlpmmawdax7xpgrp4hzg5hxz748pn5";
+"tamethebeast.doc-1.4"="13shw7hcimckn7pp8pj0cr1zsi1wq6r400x1v6akpmwwjxkw09g5";
+"tds.doc-1.1"="10j98fv34p0mwgsgjps8mfpn81kbzghfchz9nr7r5bwz93s3ycsz";
+"tex-font-errors-cheatsheet.doc-0.1"="0pfd5qphmizhxb2p4gg6809xcx1rlfkwqa6vs4f74457chcwljwn";
+"tex-nutshell.doc-0.7"="179sczl1kcd98rxvaa17kppkmjlcppwxp878lfjph1kam9j9pa5k";
+"tex-overview.doc-0.2"="1agfya9rwvyjvip0alvibimz75jivpf19hp4jvlv7z0n9m26m9jd";
+"tex-refs.doc-0.4.8"="1w7hcd3qsdhmb2siakjg2hm3h6kxa90ncsaif9spr4xkxs03ib6l";
+"tex-vpat.doc-2.0"="1swbzqja72yz13ndha5s9fxjf935001f4a3fxv41x15k3h7vh281";
+"texbytopic.doc-15878"="0pnh1hsd6k434c8i1xdjq3ywrwylmryrsl86d6h7i1cnmzz4pwlx";
+"texonly.doc-2"="0h40f8hj03ha0ilpj2fx5kzzvdv0yplmr4528s2rmmy62l9kgdkd";
+"titlepages.doc-19457"="17ib7rpb2dhb2m724x66fdzddv8cqd808wxy5kkvx0vb3rl27hyh";
+"tlc2.doc-26096"="1ysb233rjb8gpl9s35qql1dny5rj6fn8ssy2dqdqsn5xj9pdasyy";
+"tlmgrbasics.doc-60588"="1zn4xlmichd2r6vjcasysk0vd26vrn2drmc4ng8hz8136bq5zb71";
+"undergradmath.doc-57286"="1z8my3fwqc8rfc1843j7lcmfka2023z9k0js4ygh1m8kilc2nrr7";
+"visualfaq.doc-61719"="0fjx5y95n8bhsnwsw34sazbgygznvw76z01rrxmn1bp8za7751n0";
+"webguide.doc-25813"="0wid2sxrif3mm3lrs0s6pil949byviq4d7924yzvmf9hkrs5f03v";
+"xetexref.doc-56291"="15gb91s8zmqh1zwar2r3yca3ywp1lz654h8ha6xg52lg83vjzr2v";
+"yet-another-guide-latex2e.doc-0.5"="1k0fbpxq66knsmvppk032cxadljgc9r8sb7527wpjcpm9jhz0822";
+"armtex-3.0-beta3"="0m8z77lvwkrmk6zdlbxy1gcic8sgn3xwcnkgv9nfwxrjnxxmbhyr";
+"armtex.doc-3.0-beta3"="03inlslwgi0zgnndz4p23r40rdwpl4lxbxpc1w683c673b258hnc";
+"babel-albanian-1.0d"="170mxpwnnsc1g9s7qnlhjcryw79cy72d8c4m8bhr36i5c78my0zg";
+"babel-albanian.doc-1.0d"="0x5z4gfi6m9h5gml6wxq3531i1k0sfqrd4hxrzbz68ijzyjnzk5j";
+"babel-albanian.source-1.0d"="1w8bassqn35bxyhpw6cg65ya64x1dn9h35p4fxclcjjhmv53xgg8";
+"babel-bosnian-1.1"="1q9nplgxfyv877y5q5hm4g6i5dla5c3a9s5cax27pr1riccgh5dh";
+"babel-bosnian.doc-1.1"="127g44ww87gaizsak6lbmbr9yhjhy8k32zkah3189yi21w7ncs4q";
+"babel-bosnian.source-1.1"="0mlllv7k35vyqpa9r4yz6y23cgfarqbyk47blfc5b3dill1imx6b";
+"babel-breton-1.0h"="1qqayklpx89qmva8j6l6rhwinr0jik9lq1sgr6av9w0qzy9y1ifd";
+"babel-breton.doc-1.0h"="1q5xlc5cm91wa5lpg5wysqyhiq71ghf6sb8b3syxsqzxdicqwqrl";
+"babel-breton.source-1.0h"="19rafbvhd4fp6vb1pbgvaxrmiw1miw4j2n0dsi8fnmn1554zb25f";
+"babel-croatian-1.3l"="1d6xi12v3qr7gsknkfcb77q0wx5hyqpp0cyqq1spq44yf507nnlk";
+"babel-croatian.doc-1.3l"="1h15dzgmm5230ypaznk44607naj611n0mrhp9mjabjdqbsb71qdb";
+"babel-croatian.source-1.3l"="05zhbrvq0iwg7vbccq59rx2yfbaznixgr5nfh37k3584iwaqipwi";
+"babel-danish-1.3s"="1q5gl9dxl5qky0g263yfa4gwb992ngd7vwsb24cw9fd513j50b9h";
+"babel-danish.doc-1.3s"="1xmp93khcz4my2i1wrnzcb13bnxd9mnjm50s2jhbh8qaiywls7m7";
+"babel-danish.source-1.3s"="00dryb078fqckqjnxa2riq478j6d5i28j5cclv4bw7dn5naa3lz7";
+"babel-dutch-3.8l"="195d71rs9raadkqb0c1v3i5pm8aw37gxfnk7c6ic59ib0fvgs9j0";
+"babel-dutch.doc-3.8l"="193gln8qydvjwsj8pwayfv87zyg3wja99izbf4l7gvhh3b54jwjg";
+"babel-dutch.source-3.8l"="1mvmis59s94j1p98nqp07paxzviq6sgnqjwda7w63j4fnhhsqc3k";
+"babel-estonian-1.1a"="0j7z04mcvjk72cad5l3np0x862nvgh7jxha8mll55cf18k9aj64j";
+"babel-estonian.doc-1.1a"="1nmjvvms0zijpc15rs0fkzli3pmidc4v4kzfp9sswvh43622p1b1";
+"babel-estonian.source-1.1a"="0x2a379m1b1ll16dr62dg5ai353p362dw9js4n0dn3x2wjbndmzg";
+"babel-finnish-1.3s"="1z49ix8w96walkq5p915amii7n73ahzhy4ijxa1b2bb0wzz4b1l7";
+"babel-finnish.doc-1.3s"="00aij1bdybgcg69995mjrdddzlr3hqbhmg8q9nq86cd29y1gx029";
+"babel-finnish.source-1.3s"="1930zxk4l6k5q4wcbvpvijv4s0gxp2mkxvblczn4gcbar10vfd4x";
+"babel-friulan-1.3"="0gfq4gyi720kp45vcbial0yrn9i2jyx1lzh39lci0ga77y01j3mp";
+"babel-friulan.doc-1.3"="0hnj5scfsvisf9k6iwh4awzqccm96apxrbwzlknpxn7x3zv93l0k";
+"babel-friulan.source-1.3"="09bzwmc1jnal4ikxciwas8y342rix0xksd7qcp39nwajyg8njdmc";
+"babel-hungarian-1.5c"="18hc7z7gki6jyglywmljlf37aff3cndszywa32kmprbn2qlfc87k";
+"babel-hungarian.doc-1.5c"="1imn8zlk18fcs2nsy4ml20xzkhpmv5lzzh28i2c2zv6klm1kmfba";
+"babel-icelandic-1.3"="12v78k2l9vmc07mx0wy8g0mjwryp1jf6ij06502h7jr55my6y5s5";
+"babel-icelandic.doc-1.3"="1mbgan8gv7hld0jym7qks13yph9lz0clkgpb199x3cdxmbvawpb7";
+"babel-icelandic.source-1.3"="09wz6pfk3vb4c0az1lgq35vmzf8v49iz9cd1ys7rhdssbcz6flv3";
+"babel-irish-1.0h"="0ih96jfa66jn1s8c3dpr0631pa17r9sch1lv1qqwpmsridp8dl8q";
+"babel-irish.doc-1.0h"="19k6gps25d8i28vcpbp59k47mxdzjn9d89amccr5si5hvg1c2qnp";
+"babel-irish.source-1.0h"="043ias6pyv22g8ywv5krlzj5ma98wpi0r44lmi4gfpqllkay5g1a";
+"babel-kurmanji-1.1"="0jp1aivn0pzn8yq1q79gvzwdlcz871apjg6yxx9x4wf8yqr8q1g8";
+"babel-kurmanji.doc-1.1"="054b2pj4iv2mnaffw1a6zqihp18765rdx6d56k6vj9kxf2gqrz1n";
+"babel-kurmanji.source-1.1"="0v6nh14816ai72rqc7nxd8k16bi75dvx2kbvnaavknxyr53pjwb3";
+"babel-latin-4.0"="0k092q6cdpd5qp7kl0qcaf4idbsfrbyb12flq61k4xk8yyp6ip1f";
+"babel-latin.doc-4.0"="1p0xrbmknfffm95zmnldcwrrpc3ngrlvlnfzppjql1va8vk04s3i";
+"babel-latin.source-4.0"="1sa59mvbjspmdc5sc3cdix59y575nx6pgc878lvlcrfl70a7hvw5";
+"babel-latvian-2.0b"="127649mzw9jp35mq1yqpavlvkvcvxvp61sn0yl4nvhn30d0dws68";
+"babel-latvian.doc-2.0b"="1dvcwyqvx5xw4fl58accykkmd9ksbg5a3yqalb6x86hdv2fgsnq8";
+"babel-latvian.source-2.0b"="1w8w1ayk1ixwsixlsar5nmhv70fqahx06ydraiyz543gm3vrk6br";
+"babel-macedonian-39587"="11wiv5aw0k77rvqwcgh4xdiwcr67q42rwq0mq5vcpfz2hb0v8i6n";
+"babel-macedonian.doc-39587"="0nsvnmjx8397xb02h2l00nd7ynz11f9qiqrpim2f18r55qmr0hb3";
+"babel-macedonian.source-39587"="08z4ca7kja5kb2azf3whgh0w7fabxs3jcijihm0vnzhb1809napi";
+"babel-norsk-2.0i"="0n173mskrn15pz6pnxyysavwc93w5cz57wywdnn2xvb574ka8jhf";
+"babel-norsk.doc-2.0i"="0a3ka4hfvjv7w2s90y7rk2vb4jsaqz85sfbnlmkfxlhamr937c0d";
+"babel-norsk.source-2.0i"="1d5h7zm7d3d58lmkn3qy8aazx4a93fxmziz68cckrxa7izni7s1f";
+"babel-occitan-0.2"="0s13mw7w48zq91kcx3pk5rzfg7d9dcjr8n8bvqsk5dvs0k4hk1dk";
+"babel-occitan.doc-0.2"="132kk66ya2j6d7cwzd3p21qvjqm96dvb83ny4yj5q7vjqiflkn0z";
+"babel-occitan.source-0.2"="1slny81jf77g32nxkvbwr429yi51gfpia6d1qllni978ivc9lagx";
+"babel-piedmontese-1.0"="0kcb4h1xsm8qcgqmqpgkqqxii5xvzpa2dvx6l41g3025ybbp558w";
+"babel-piedmontese.doc-1.0"="0c6ql4g2i43zxx2ffnvg2rwac5hshvwngj7999g371fndhfzs31n";
+"babel-piedmontese.source-1.0"="1xqfd8s659plyijsc13014zjhd9ndpi82jwgd597lw5d9jzwxf6a";
+"babel-romanian-1.2m"="0pmjpy2p30299a10njvnpl954kdazir149b3aggcljaq0j4zdnzz";
+"babel-romanian.doc-1.2m"="1wgimmy2vwg66kjm0kx0lcx3zvvhdczxc19nnwqfbwchbpfhflyb";
+"babel-romanian.source-1.2m"="1qq1j0hb6vp8cdiigc425m6k8wpf7rxzdcgq14p064xlxnmqrbp1";
+"babel-romansh-30286"="1hh4ashx2fban828gj37y46rm0q7w2j18785in1fwpir3cjcab8b";
+"babel-romansh.doc-30286"="0w4x7c9vws6k799ilw2w1p5d4qv2z9wb3bkaixb0p4gxmp6khamb";
+"babel-romansh.source-30286"="08v3db9g43pviw7fi87gcgj5xb5b2f07sll1slcvy94ffnmwlpww";
+"babel-samin-1.0c"="07h531h0n7lyi8jhc3v9clcn66nwg8x50k2absmqzlq4adpgdqmc";
+"babel-samin.doc-1.0c"="0rjzia85w9jz8hj6d6kvapcm1y74gq5wxirrlyqqs7ar7i11yp2l";
+"babel-samin.source-1.0c"="1p6br0ki7xpzrs4cpsak9n4mn39fzxja93dxb6dl00rv8f9snj3f";
+"babel-scottish-1.0g"="0qkki9838204xy9ac4rm5v72615iz63wclgpw49srwwzf698z3nj";
+"babel-scottish.doc-1.0g"="0vag7zmwsmp6pc6xd4p7i55na39nhmmkcg2mlg4xp81hgladi3rq";
+"babel-scottish.source-1.0g"="0k3dj8awj55azynbdbray872pigjs8m9l86imdx5hj7dvl6svdjj";
+"babel-slovenian-1.2n"="1zpw0zp4f5wggaqb5wb9r3hjsxx8b4f892z5w7wirazqwgmxzn2j";
+"babel-slovenian.doc-1.2n"="1lmjr0cs0j48d0l2qflg8hxcaqfbqfxlqsl5fj4g5icpha4nji96";
+"babel-slovenian.source-1.2n"="1brwg8sr19048wgn0fdbi2y1rn5ls99kij8i71i789qf32hb1jvh";
+"babel-swedish-2.3e"="0h6p32rjvsqzy8kdhr0f1zi301xnrsvb8l9k7g6gfwv26fpdcnzr";
+"babel-swedish.doc-2.3e"="11kshqcqn2187q8h1hc7ifjnf8cz774wdnd9m2ncfvhf52h2l6mj";
+"babel-swedish.source-2.3e"="03rp4n9wkqyckman765r8v8j2pg5fg9frbfxsnhq0i2mr0yhbr6v";
+"babel-turkish-1.4"="013k4sv2xj0ky344frgbkl2h836dzjl72hacgb6rcdlkzwyh5sqa";
+"babel-turkish.doc-1.4"="0qdcg64lykk0g0gr3y4sc9zml58spq2y4yvlhc3md20mp6l3ji8b";
+"babel-turkish.source-1.4"="0xk8c1l61vs547x7586m60x2hfqil8zq3ikpsj9733ykayfclifl";
+"babel-welsh-1.1a"="1778pckqmd6fwd3xh3yk1dzhxbaqnffbk9arhm9qy9qxass1nnf4";
+"babel-welsh.doc-1.1a"="1p27zrk4dacj67lfim236mpv2s08j1n5w1wdpyziz60hxv5phmaw";
+"babel-welsh.source-1.1a"="1gkryz7dng4919w9wn73bvc5cfcly4g7dcwh1ilci0pbr55k1x4b";
+"finbib-15878"="1dr1ivhfb83ky3q82dzzv5vvc8bl84iq7am0p1rc8fjlbj95i4wm";
+"gloss-occitan.doc-0.1"="1q00j5r6d2y3gf8rbh7f7rdfjg3mg1c3rrfqd69rxyam9n92h41r";
+"gloss-occitan.source-0.1"="1cb92fpzv7cqqxxa0img0la6hrgxw6azb6j2rslszk9hjghbcjdg";
+"hrlatex-0.23"="0klc0pb2b2dcixaqhgxinhy18rp0lwck7129zi5qnpygzfslpdws";
+"hrlatex.doc-0.23"="1dlxj4rv9gaxd6i4ns4zmhykhxwsacw6m3m2jmk2lkc3sw68hsyh";
+"hrlatex.source-0.23"="14cw35brx8mqv05zbgrvfmmjhxyryx7dmj8dk0fkimqbyvhvv9sj";
+"hulipsum-1.1"="1wfcsaff7rja3n0151ddzbfl9b3gkfkwq0vp35zcrd80xsqlw935";
+"hulipsum.doc-1.1"="0994kin6fvbk4j9rp53vjp6ci050zxsf6z3qi7zdfxifd269fhx5";
+"hulipsum.source-1.1"="1a5mkkl36dk60baffj3an2sa382p39j2sdrgadczj5r9pm9q0am2";
+"hyphen-croatian-58652"="0fqwf7val8hfdcqww828cfq3706wi0w0ypmvwkkllsx1nv2mqiia";
+"hyphen-danish-58652"="142jxvssj44xh1p8d0b298l0ri33blvac5syvqgx71cvsbwpc6lb";
+"hyphen-dutch-1.1"="1hxwpb67c2hzzfk6jchhzbj2mfxzywz4zqm3z1hz9r2ywahram59";
+"hyphen-estonian-58652"="1x8by00sb45acj1rkd5az408i0i2wjdabd992p4d599sf8b9dk05";
+"hyphen-finnish-58652"="06c9r6dfihycr4vb4bvnf08d3p94h5n5g0ayjpha6gl08ab6wmv6";
+"hyphen-friulan-58652"="102sxp8901hln47nj7wng556bmrn0hqsljlf0v0ll8lsngf85h33";
+"hyphen-hungarian-58652"="0d0bg0h78ij9b9anmdlwrlddd1xg09c2k5ganwnydbpj81c4z425";
+"hyphen-hungarian.doc-58652"="1r10gjxyk8bkqjiiz7pij7zy4cvspvhnimkszl2sv0zgrkgayw68";
+"hyphen-icelandic-58652"="00lnbm193g0zv7c1m47yz90gik1bd80718y8cmz5jhxz9ny1l271";
+"hyphen-irish-58609"="0kaf1as4jrs8kc7rr2jg3cjkxr0x4fxn88gqjxdjdac6xhlvg0w1";
+"hyphen-kurmanji-58652"="164q51fkcfslh1vdz19ilwjbrs0v96a4pn45d6n0cvv9vw6gi791";
+"hyphen-latin-3.1"="0l7lsp9igylrk4cvjff8lx8jk5biisss3wkcil26cca4hb1612aj";
+"hyphen-latvian-58652"="1p5kaf7pb5qxj6h3bglgnsqx9rys35i02piswwvayf4bdmv9sqx7";
+"hyphen-lithuanian-58652"="09a4636b77fc2rmgc2b4jxl174bjc4ji69xply0yls4b69727i1x";
+"hyphen-macedonian-58652"="006fg0snc4h98fzdzwdhk6ibhyrvqhs502wn2c1dnizlry05fdv6";
+"hyphen-norwegian-58609"="1sp47h5syhcb12nik26iy6xs5dyxrj5a53vzr0scbc0s746qi4gw";
+"hyphen-occitan-58652"="0v0yivzx0xl48isjlnxfzvlrx9gslg6srids1aywfqmybffmfw95";
+"hyphen-piedmontese-58652"="04sva2d6dxaick0j30izd7z71vpw8q7xx0xvihcvcgb62gb5bc7a";
+"hyphen-romanian-58652"="1720vcpvmm086k0ndlbp0rkzmz7f7mnmb4wn67jm53357iamkchr";
+"hyphen-romansh-58652"="0dxcw56bkl7ddqj9fahmghwsdkmi7ncr5j319hgcgnlbp1717rkc";
+"hyphen-slovenian-58652"="0fyzw8r6v07p04m44ky3n4vkkq1dmfkl58xyx65pcpj9399bdjy3";
+"hyphen-swedish-58652"="19rdzs7w80gf7q2xdkp1z2zc2hgq7mklfkrfdwzch2i50zzfxy6l";
+"hyphen-turkish-58652"="0zqizvrri9r9bldqds768bslyipqrs06hx96b0nn9k6wm1y8pvsf";
+"hyphen-turkish.source-58652"="0rjwv5b0jwnwhlp6ifzd6p8iid59zylp2wbfk5crfjnknrl48qn9";
+"hyphen-uppersorbian-58609"="0rvb1k16rs9hvb9xgf3yv79mh2gkndvk85blmjjsq49awwgkd8y5";
+"hyphen-welsh-58652"="1klj6ir4b918cx96jd772ps9fl2fljh8kwkakdwaqqi8szzr65d5";
+"kaytannollista-latexia.doc-2022.3"="0g9rhbqh8vgwcgqdjm1x1ji6gwj5j1df3zgsv15pbbkq0agx469r";
+"lithuanian-46039"="09dncv4i7jqc2c28k992qm94iqg3x3nbnw5wqiva3xn3jiwx0fg5";
+"lithuanian.doc-46039"="17kac4d54nvd0bh0kqz00j7bm26vi4gnkbl5il1zb12g76r5afv6";
+"lshort-dutch.doc-1.3"="160r060gmw6f6lgbnyvfxafjpqvyr4jwd56ddkjfm3ir2bfl973d";
+"lshort-estonian.doc-5.05"="0dfwp7kkynpskb345i3yz7h5pvc8iljqg3q6l546vrwla0bmb95c";
+"lshort-finnish.doc-15878"="06madlm869kmwxprmy2c78ma4s8zk8mclzmd4xdl0r4mlhk4vdsl";
+"lshort-slovenian.doc-4.20"="0cwjg0z5vr4x93bz1khwl27rk8k7kpjm978iyzn6w7gx3wi87zr0";
+"lshort-turkish.doc-4.20"="00r6pv4z4933jw072djdasd2wp5j05wghln62ga4g6y6jblf6zks";
+"nevelok-1.03"="0c4zij8ihx3mz615jr4z150d61mj4ln88zrdbsjx9hlnandqkij1";
+"nevelok.doc-1.03"="1x7jwmp32f1wph9k03q6ly9nbmdpsrkhyvn5j83n1fj6nj6hmzqf";
+"nevelok.source-1.03"="15di74y4h7qgjh7gmmaingbg71jrlaiz1qxf960589k2xshslbi4";
+"rojud-1.2"="1cmpg4w2pqwvr624kc4rv7kvnf45c2ffqrryh0i7kbqgc22xly08";
+"rojud.doc-1.2"="12y4cph62b8rag4dxajpzy7y29kvnb3n0z99s2vcq1hfscyijn12";
+"swebib-15878"="1y5rrhrhcvjzz17lsl2y9h5qz0zl9gn34xwwprnns7503d1d2nfy";
+"swebib.doc-15878"="1w3fl5qg5hng8gsnykb9q86ddz48jdbyghizf5x31rjwiim53q6l";
+"turkmen-0.2"="0jhg6nd47y8igsn10m3bcsn61zydlwk3g1qfqpy8snz80rkyn9d7";
+"turkmen.doc-0.2"="1rs4jmqy5zrgk2awvvw8lsvdkzjwbfq65bm3m9c02158q63bw2i9";
+"turkmen.source-0.2"="1kz5qhyjax82mv74qxhsiwj83jijnfhgijdl2w8ic8lwc31q5ihl";
+"aeguill-15878"="1klri7b3isxwa9lpc2j857y8r9n9x1av865jm93ha6nrwlzqk7a3";
+"aeguill.doc-15878"="09lcp9in9v7vxck9kaql008qmcvba3g8glbm6rr5iag7nn2vbvj6";
+"annee-scolaire-1.6"="0lwc36v09a4ji5fz3pq9939jm39729k0k7hha4kkk20jc3j4jnds";
+"annee-scolaire.doc-1.6"="1f0qc5qvsrnjddp1kyrcigd8is2y9nsxc9x8a215p5xds2z5gc30";
+"annee-scolaire.source-1.6"="01mga2nif61mpkf7ifzhsj5pq7wzm2imlljap4c6wcrzb9zlhfx1";
+"apprendre-a-programmer-en-tex.doc-57179"="05779lk9v849k712wfjv0mhyzahwpl4n892ydamfdc5yg05bsnyv";
+"apprends-latex.doc-4.02"="1xzy7svb2xz6bdfg0f1r3whwda118pl7qdwygx1l7h4d1vqm2rcq";
+"babel-basque-1.0f"="11a26db60bwfhbx6zj42yrzzvf8nn8a96nq5mpw29xhxlpbhrcp0";
+"babel-basque.doc-1.0f"="04jf1brw3ljipdyxv3d001slc0iggjmq6hkr4b5jsa3z8gcivzvw";
+"babel-basque.source-1.0f"="17mz3bqi50ayia4nb2ikf60vgpnwl3i90gfbaq4692y354yvlnfy";
+"babel-french-3.5m"="03wjk0g5r6dg9r159nzvq187q8s7bddgrq65zqladdl551gydg8c";
+"babel-french.doc-3.5m"="1xdmw9x8vs2arq2nmbnab6ynb4wh7v7slyfz9wh056ma735wxfl6";
+"babel-french.source-3.5m"="0d2rw1vxracmvndm01p1irzq5pbaps4d5mpwwwqyql09dnqpzg4c";
+"basque-book-1.20"="03jh24rrjczpgj9d4w5fy9fv8w29wbqylx5s9n14jwdsf6f588ip";
+"basque-book.doc-1.20"="0sza7d2qx89saj6rx591ys15b8gvrnalrbrkk2wcjln1x2cb95jn";
+"basque-book.source-1.20"="15lgh24zyqlmqkw7wdigwvvkv6qwlpv4zrm2zqwgxj93bffa4fs6";
+"basque-date-1.05"="1hikrfz1z6y294zg00arnnc6any1iyn0gkhmv9j9wsnlvylcbnxk";
+"basque-date.doc-1.05"="0gifh2wlhxl5s2p816w06w5h51pg6gn2mdskhpgkq16shaj4xqcq";
+"basque-date.source-1.05"="1vjq5pqkan433wisv0d437m6hbmfqyds27dzwkyd233zq73fpjxb";
+"bib-fr-1.5"="0csd9a4j3hvgyczgnfnhp8n49j4baym7nw8sck38m86r3kn8n7ar";
+"bib-fr.doc-1.5"="1inpqvmf6c5zb091q5fxg0r2w87kacvg1yy1lyai7wq3ll0axvp7";
+"bibleref-french-2.3.3"="1r12767ayfh073559p6pdrfs9fs9g2dxcliyx06j7r8lyfab8d83";
+"bibleref-french.doc-2.3.3"="0kiijl5jhd024znr80g3xqdhz3jyg4vm4kyf1rcpa7dis4ffazpn";
+"bibleref-french.source-2.3.3"="17xih976gi8my8mdr8n1nfvq6hacicdk8a01s23a0sarj4qwxz0q";
+"booktabs-fr.doc-1.00"="1xkqh6r2q835xaa92b24fzf61jsm85280570hivvwnch96i4fnh3";
+"droit-fr-1.2"="1wz883z4a7g4na18z50vd0156gj6zpkkl49h4k0dhxwgqibh13mk";
+"droit-fr.doc-1.2"="1ss2j5jsr4h96rqcqmm89mprnr6w98zbsxy87jlmqavjjc8k8jq8";
+"e-french-6.11"="1pm1k7qb1a3h2b8kay9jwby382jxp3866b9m890rj9gfqdmwbfd2";
+"e-french.doc-6.11"="14719qp1qjcx4wjwcarirj7iz6qmjgwb95b308zqdr197y1cvymc";
+"epslatex-fr.doc-19440"="1xs9977g9g3i6sipkf7i9jdl8sdm69ci3161a4p7k66qbizi7zvb";
+"expose-expl3-dunkerque-2019.doc-1.2"="0xij1ycxnc3hfzkl0bfs03s0zzzv6xsj3myvykb6n836j1g66g2y";
+"facture-1.2.2"="1x0jqxq6jn2y5lzbk2y576g2wgaaqwlb11kpq16avvhxybgiywwg";
+"facture.doc-1.2.2"="1kcnzmssdnzfp8szs4c3psnxaih36clifln5kpdkgwd3hnkizl60";
+"facture.source-1.2.2"="0h2274fc7h8si7rzrinz94hddzfn073yvkv9hnvd9zlq35cyxif2";
+"formation-latex-ul.doc-2020.10"="1g964xll3y7llhcq1xih2zk916ikhx5jkq60il65z89fsb6v5jj9";
+"formation-latex-ul.source-2020.10"="184d2dnzcvx0f9di67433jw6b505mh3iv9g5fh30gq0344lfivx8";
+"frenchmath-1.5"="1fla63xk7qv8mx6lrmmqlwfkfz3z2gnym1vbyr2idaa7zpwn5y6h";
+"frenchmath.doc-1.5"="15ijjp0r7s3c32rr92cjc04rn871786wszsdbr6v0f42qic7jy7n";
+"frenchmath.source-1.5"="1p6c0ff81w671rp0cglvvsz29km4lxrxbhjv8wbq25ml09fn8vn6";
+"frletter-15878"="11gxmdwwzwwdlrmycdxi0y123hfikhp9jv1jjmhgsmsmmxsx13ly";
+"frletter.doc-15878"="1pzpz0q1hplni18m6wkwrhknw15h555qfdxfnnfrnrmsa7n2q2bl";
+"frpseudocode-0.3.0"="0ypiw6sfap27hpflbk0drnd412ylv9r307jbkkbhnm5lsmwaax2l";
+"frpseudocode.doc-0.3.0"="1cf6424l655rykyfvca2yl0lwdifgj5kgvl0fvw9ikayf02wh3qg";
+"hyphen-basque-58652"="1dy9fgbh4i3d9ar8wazwjvhhwzyhbys68icz3zjvk7gk9nvbm9aj";
+"hyphen-basque.source-58652"="1yhsbzf1g9dm70jfixsz51hsfvn26cwfkfxvhg7xv2piynr4v51l";
+"hyphen-french-58652"="0j41s8jl6449lys7zvjy9psynxlxlbcf23qh9sxf81rk5srzwkdq";
+"impatient-fr.doc-2020"="1qwdllmi0ci304smf4yl6g8ah083jrch9clkyav7r5qsxnhwxbxh";
+"impnattypo-1.5"="0kmyjdasybcvr77jrirp3s1i8jwvhk7j04wz6blawihidz55myvq";
+"impnattypo.doc-1.5"="1cgk3wk3flpmlw3wa4sg1s9ry6bz9vjanzw8kpyhj3d8yl7cnzbn";
+"impnattypo.source-1.5"="0qc5wz5a4rgvrzv361gq3i6h4hp3v176klgn6fhiwshk84zqccn4";
+"l2tabu-french.doc-2.3"="0c6fbmgwv2adlxbhl1shvpa1w6xd36gmrwvkjgdp9xc3q999l4dj";
+"latex2e-help-texinfo-fr.doc-57275"="1kbp36h6nlnw1h1lbi783jmwsznvi6xmv7szlvdc3fkc96qn5cgn";
+"letgut-0.9"="1lv7c8zg0nkp511cf97g2hps65wklav8s23zq7gld2yl9qc9whwf";
+"letgut.doc-0.9"="0mv7a796f17kjdxzk1gp7mjyzdz7s6vd73yl7gx4vvfnal45y0s0";
+"letgut.source-0.9"="1qgs5nq1s5kqz3xd389gnr0vjpdcjria1cjfr1nhgdf8742p6kk6";
+"lshort-french.doc-5.01fr-0"="1hdl0w7b1ablx7qfcvgniz7dcbgazb49b8wfw7c08hlb38gxfqh7";
+"mafr-1.0"="117qd3a06lpiqimizj12lxd0vba82lsc211b46ags0mwgrqhcyz9";
+"mafr.doc-1.0"="1m6y9mpsp4w9cnbln8pv1pn86vqj9piki4kg2q2rq5m9q0g57vsd";
+"matapli-1.2.0"="0r6xibqz726d68cli8izl20r4x2ncvrmlrjb711jz82qxbgs9kvg";
+"matapli.doc-1.2.0"="1cmyrnrijghjm15lhi2isza0dishbll3k4hpzq84jjjbcbs4gvyp";
+"profcollege-0.99-m"="0sd2ljnlqamc36284q3fz3a01rzzn81v2bidgiw7n2d305vmsz2i";
+"profcollege.doc-0.99-m"="1w7fk14sfyj0mrg4mn0kbc4vvqphqmp3zp9p9nmnv99wicbi1ij3";
+"proflycee-1.0.8"="1hsgvg2vpcdnfbypyradq6gwwfy9jxmpfzqyvvwch8qkbb16y3sj";
+"proflycee.doc-1.0.8"="1x916zby0wdaikkn332rd30rzz5y5x2zcyjrc6zkwyhgm49y2h17";
+"tabvar-1.7"="0350mqq0hnqcx7afgy2phs4zl1x8ipzkmkmg7lkabrhhwq2haa6g";
+"tabvar.doc-1.7"="1qrr3j2b86shaka288mhz4hdbfm0kz4fkjfyz2xf90cpgl0ly5ql";
+"tabvar.source-1.7"="1v39fas0k1wmjjzkyii54j5ycafm5kwcriq65j26vzkwz4ykb0px";
+"tdsfrmath-1.3"="18qqjmdh4hgzar37imn811i7nbk93zx5w7f7agwnzbxgy1kx2plb";
+"tdsfrmath.doc-1.3"="1vvbsq5aql1f5q0q6v5z1xm16bmb20w2jnn0d0rc64dw4dxnwpxw";
+"tdsfrmath.source-1.3"="03r9f335gb31zb2frpv6hk50c01sz6rwlqw9vdxf4ch2np90fd9z";
+"texlive-fr.doc-58579"="0ccpwl4wpp2py5x5sp240mbgdv33fhs1avc41lmwzgv7m4z5b2f9";
+"translation-array-fr.doc-24344"="128k8isyn4s0v496sykn22fqn0gfwyyk19kcrmxnc6clgxxfbdy6";
+"translation-dcolumn-fr.doc-24345"="0xakssrkxb2wc6xyy1yvx4mm398x3yq032b7vapqxl82h992fjll";
+"translation-natbib-fr.doc-25105"="0f0r1n8q3jkxsdcddabsgz9h9ndq4yffdpxdqxvqjmhfafhzwgkg";
+"translation-tabbing-fr.doc-24228"="1cih442gp6zf8nwb2lbgjn7a64aglyrcw3aciqy5pkdw09pwn0an";
+"variations-0.3"="0cij0zdvlv3icymqxsfn6mfzdmb3jrxnfa3lz2kz0xx3x8yn0sx7";
+"variations.doc-0.3"="0dwsw8j2bhk5cdw61xlcvlg152z6k6306zpbap2gjlfhf0z57syj";
+"visualfaq-fr.doc-61420"="0xk0qly49dqkrw1qjhnyp4r7y5jykghlp1y26hipghlaqqhdynga";
+"visualtikz.doc-0.65"="1q0a1mhc330z8cnhghp2p46bxsmzz8cdba8hcvssglz0gsq5z5fc";
+"apalike-german-61719"="143ipz8vajbakcbr3rr4kwdh4xl939q0gxwyq0kajvkdgzax9yw6";
+"apalike-german.doc-61719"="0i1wiibv0v3c4r94mq95wv8q6yb8mil0pr6cmj66gab5np8m8x1i";
+"babel-german-2.13"="120912c0nk3zdvnrxp7pv78vnywbw68d0xc9iv8x2cwdl2hfwzrj";
+"babel-german.doc-2.13"="0nkblrxgckb1kxrxvj02v0mx18f3cmv905xpd56i3lsp7rhi2wjm";
+"babel-german.source-2.13"="05nwdy9ly2cdl2aayf573hc8v380avxlw568np9kfvf7nag3p7al";
+"bibleref-german-1.0a"="1vki9hg39xhn8xzbd4wq6vn6zk3x9gl9bm9n3wr214c5n5mpxkq2";
+"bibleref-german.doc-1.0a"="0q69vfak1yrv564qcw3nrklhq4sf62hi6l7z8w2hcj3c325kii56";
+"booktabs-de.doc-1.61803"="1ld7zdr88xjhnnl2x734rxr7h0fz84awapmv50p1kzn6fczrwyam";
+"csquotes-de.doc-1.01"="087c08c44811vd8p00l1xrkg5w6fsl8as64jq83m6gf1hfan9w4c";
+"dehyph-exptl-0.8"="150c1w2m80vwdkbd134kpj498awz69sjdw90gyfxn20ji96pk1dv";
+"dehyph-exptl.doc-0.8"="1w012rlgv0kdry2adjc9ph2zcxfllg9hc6z38fgnfl5cpszgr2cj";
+"dhua-0.11"="16gq48zlsfk9llafs8379797v908khv954q8lw2dvzk0v69d0qki";
+"dhua.doc-0.11"="16l76rvba4fz3vfw8mzkmks7b7206h2dva5dgw3m0j30ds8d6vm2";
+"dhua.source-0.11"="06vws91qfar1h87d57c9f9cw04isjk0szhg2aiw7sc8ligs0v907";
+"dtk-bibliography.doc-2021-04"="0fiz3qmsvk8kddci792cfbxr4ykf7qmmn5hlyhw94fpwi66ydljr";
+"etdipa.doc-2.6"="1jp35apalaa1lh44dbn1zayavv1n3wkm0v69hgy8vdz73yp5yvhz";
+"etoolbox-de.doc-1"="1vchha7ymvj51jfnvl76rxv466lzfpxr6xcvwafxhi78w4bk9yry";
+"fifinddo-info.doc-1.1b"="15zp4xvszy07cy1b5r3k5x256lbalr5acrrdj1gx33llfmvm469a";
+"fifinddo-info.source-1.1b"="02pmj7a9hx4xnfjbhwg273a3wx4449542rs7rxkii4hk78xs5lwr";
+"german-2.5e"="0w1s582hpvmri7im4jsi75xjz8iij7yxs3n6nad2png1xaxxq3ic";
+"german.doc-2.5e"="0hclzvfgrc4ii80ywgjb8z1byn2ccqckvgk26fzdvcgg5j7v9x9a";
+"german.source-2.5e"="1a5svzkxqqnqzva8nb1r3z1rfhjyl5w4sgkfwj7by83df7fwgnhh";
+"germbib-15878"="1nrmmmq9j52yjasjjsxx40gjdbz617j66kwsiv7qzpkh9p2jy9sc";
+"germbib.doc-15878"="1sbvvjxls934s1rxk0aq46glzvrn46cdznh26mhpa3i28c8xv3hy";
+"germkorr-1.0"="1bqzh9zklr0y1fj7lh6izbzsswsx00wlwgkg9wl8dxvxmzhrj6y2";
+"germkorr.doc-1.0"="0fx39c00hmwv2wvngf3agz3gl1qs5jhcbfc377nxd0v44kbl6wga";
+"hausarbeit-jura-2.1.0"="09nf6pz7xqhzs0n7nafmmkpsy5ksvqvnwha80yv6rxasnazd940b";
+"hausarbeit-jura.doc-2.1.0"="1na417f6avcar3dmgk5wrggj99mpskc1j7fj4qkh33rii7yw6f4g";
+"hausarbeit-jura.source-2.1.0"="05f4qr5cz06k7hnjranx6sbqniv4h77dy0rrm6bg4dd6hrk474q6";
+"hyphen-german-59807"="12x6z459lmns56s7h15lhz0fvz4dw1v51l1a4akynlbs3wh1adiv";
+"koma-script-examples.doc-47523"="1s95a3vgjxrn34cpcinkyr1yw2rj8s2973np71yxrwzi9dqdjpn1";
+"l2picfaq.doc-1.50"="0mk8d082gcqlxw2x7d2w85sm6i51928pijybzbsh9fy2rfcv99xz";
+"l2tabu.doc-2.4"="1jl0n43bqbys0c9v0xb4sjql0gvk4r14ldzp2rbwzjsk8a39q8v8";
+"latexcheat-de.doc-35702"="1cpqcvqkkyb2bf87yjvc2migxawnacx5mva8dapma7hmwx0z7rhm";
+"lshort-german.doc-3.0c"="073v7zvk8xri0f05mr0ad770p81akl9b9cnia1q4hcma9fk89k10";
+"lualatex-doc-de.doc-1.0"="0vnmgs475bzbqi14m9sm45cwjfsbvbk45wkb8m73j1bnk7wg7hh4";
+"microtype-de.doc-2.4"="069d2f0jcg9m4fv8dli2dr9ags9gz6mkwy6fzz37ns4jzrqfsvwi";
+"milog-1.0"="0v5rxsa182n28dzd3l3y4qdsz6rinv3r6p94iy73r26j7jgsqd5d";
+"milog.doc-1.0"="04z8ya5gba7f5q86ch57zqbiz81s62hpdbn7b8jmkyy953g5l8vb";
+"quran-de-0.2"="1a9dqgrdh6vw6zpygslfq9d9z8qws9n614b5adr7pkjcdwm8zsaf";
+"quran-de.doc-0.2"="0fq3yd3grj31wyjvac4qkvs38hjjnlsygiihrxw22ddhsa4cl2jv";
+"r_und_s-1.3i"="04icw2n2vz98bk48kbqybb6x3wgzz8fr045133vinybx49nk8xxa";
+"r_und_s.doc-1.3i"="16ksw9wid0sr9gjhjkxk3696fcy19gky3cp9ia6rsfh20f9f2yw2";
+"schulmathematik-1.2"="1lw81q3jbgwr6rhl0xvxvbn36za0jpai2v5nnvgfs32hvqrhanz1";
+"schulmathematik.doc-1.2"="1gfggj4zbridlq29fphrrk5fg4xb0fp7dknq4zac46gmnzrdklv2";
+"templates-fenn.doc-15878"="1s91swqsysva49cjrb9khgik5mvhxcb3wr2wz4l2683gdgxlbgkf";
+"templates-sommer.doc-15878"="0z75xhawsmcxv4f24cqcvfi0r22gavjpg4si6nwrgc8sg82x24m6";
+"termcal-de-2.0"="13a79lp2lp0r1r1j5nc94adbir463rhprdlc9p6rk3qa7lh445pf";
+"termcal-de.doc-2.0"="0krnv111d82razivjks8ip9m6z1bllqhx47yzjw6b5af9ps1k6a5";
+"termcal-de.source-2.0"="0nn9vgxv5awzqx1zndl7zvgd5nhllw7kp8zj7snd1nqvz3wgc5n6";
+"texlive-de.doc-58648"="1wq56zn8i9kc9a4yawgb3rawnc59x5rdgf971wwjf0rm3l9iy6ph";
+"tipa-de.doc-1.3"="16gwc0dpdls6s2vdl3hmd6307d88gfzsa3kbw3vhl0z5iawvwj4h";
+"translation-arsclassica-de.doc-23803"="1ix5lafy3ay2bc9zkkbqw2rrw6ng3izb8d9p6rki6h2j7n0qj47s";
+"translation-biblatex-de.doc-3.15b"="1ygbz7prjg6pdiqm7lknnk8a9ar05xvpdam38piivif3d3yk5bg1";
+"translation-chemsym-de.doc-23804"="01liazqafs3lh9ppipw6i6sljcjzr31nq70r83qgknqmb9j0yfl0";
+"translation-ecv-de.doc-24754"="06b4vhsgdphi6kdh5x4a2kl74b64z3y5qzxcpkn0hj40038z1av7";
+"translation-enumitem-de.doc-24196"="121raikamd33gabvbgwygrc8hyi3qhvx4hhv4h8wq2chrglj37dq";
+"translation-europecv-de.doc-23840"="0n3x8g6k3qq3f4drkhzygz4khxyw6isgxmz963xqp91s0y667gws";
+"translation-filecontents-de.doc-24010"="0d2ds8kc98yd1can0gzcngm7gsn2gwhriaxnnds5kz3z3al71gkc";
+"translation-moreverb-de.doc-23957"="1jbpmvcm9q73kh09mhrbsb2wlycwwm4n8il342hz4jd15gwhmy8f";
+"udesoftec-1.7.1"="1lq0n05v6q0p78jnq1wf67pgzh214lllcas4jxlpz8hrwk9n9v1h";
+"udesoftec.doc-1.7.1"="1gd4qhdr4wxgjalxgqp0d404w65x7r3ipdkdq82lfcyclqyab8fh";
+"udesoftec.source-1.7.1"="16fgvdzlxrcaxbbk9m9yxviv8v3qhki2s5kq8j065xx88zd181aw";
+"uhrzeit-0.2c"="11ysijqpnm3b4z7pnyg7m7kpzp6fiw42dc36gxk1aq55wsv7kk7g";
+"uhrzeit.doc-0.2c"="0rln5amx6vkny0pm4yhgvnmmr9akwcrd93db7bifxdp07hjbvj83";
+"umlaute-2.1"="0k1pjakg7x49lyvpabjaspwa73z659gj4qvgysm3rd1smkar6vy5";
+"umlaute.doc-2.1"="1x9l84zk5jnfasgqc4d35g10a5la79z5q6q55f364chc7bibyzis";
+"umlaute.source-2.1"="0ajdnhbdw7b0d8qxnbalv3867p5lrk4mk6xl9skmvmkzpbf4s9an";
+"voss-mathcol.doc-0.1"="1c7kzk2m2i8f6vqywnzfvcmv11ckanhcjxf72p4rgivw8f0lbwjm";
+"babel-greek-1.10"="1jp0a1pr0zasii7xzhrdin7m628xihaj3bf1w75y35qhq4lb19q7";
+"babel-greek.doc-1.10"="1463n58g9c0y1vcxc7p1q08kdqhkqzvb8l557xk8cmn3j8wcafrm";
+"babel-greek.source-1.10"="1sgwqxzsybx3l2hlj5cdc61z26cqxmjz8kfsbiavzfwa94mka2d1";
+"begingreek-1.5"="0mwcgc16dkm7r082ng69babnjzdhh60hwsryvxl17prj03l861zl";
+"begingreek.doc-1.5"="1dzgzpdrpkkn928kkzdxj2wdc99wmq720vakb8v2ssj4vabn2s3w";
+"begingreek.source-1.5"="1v6gb2jp2fkczrqzgwqyhlxyc6s5yps7zqqvb9ph68hvn85bngki";
+"betababel-0.5"="0m2m3m59a2ma30zkyqjc3h076dp74m4igks0dvrlpgx4sfqg90zb";
+"betababel.doc-0.5"="1zi2yxvxhyazjncfjv6dv8c733hb0g5sxr9x7wqqrkxlxgp549wz";
+"gfsbaskerville-1.0"="0n68mfx7026ymxlyhdyg9ppylh5g4bkwj95c9bfmp5bmym0q6dfi";
+"gfsbaskerville.doc-1.0"="0v0widjs2w65ppvzm04wzinrcyp8hcicgxp6brydjmx9d32yrzcq";
+"gfsporson-1.01"="0h2zy85jalpx2vyjszw0kkrav82zv549c82qik9iylgfwfk1amx8";
+"gfsporson.doc-1.01"="1zy50pqr9bzfncs03fg98ws41v0v5c9y36rnjm5d9i7q2zljapy9";
+"greek-fontenc-2.0"="14qib531ac429szahk2q1y6dk452s7c0fqs84k21al6yczvk0si7";
+"greek-fontenc.doc-2.0"="1ly26mysxxr3jfp6fn3zypb3b1fywmfzxz9h7j624fhx5ajxjlsc";
+"greek-fontenc.source-2.0"="1w6afry8y3yfps6as8xd55lwprqavi8xn1s1pm5g3mqkh2m99rqz";
+"greek-inputenc-1.7"="11pi613m7ny46l7v5c0sy55dyh7jw26bpy06h8arxgimnvms8gnp";
+"greek-inputenc.doc-1.7"="0zg48vvgdi9ad1p5iiiqi3pbhvn6fsk8148dc33sl8f70b72fpfw";
+"greekdates-1.0"="0g8cgyrw6lacr9cjig3q1g7rvjdwb0p40b41rsqg6lj6y7m25ya8";
+"greekdates.doc-1.0"="1sh4dgxfn55gg9vp163qj9nd6kbp03cb3nkg3hqlf6b1az486nh5";
+"greekdates.source-1.0"="0k8vyyxvi1i6kqnanfm1nfhbwllgn22ik57r2p357y69hfj3bs4f";
+"greektex-28327"="1v39z550xynw4kkqjqcj7izj2cghkk1g2swsy9x9c71sz95r2bw6";
+"greektex.doc-28327"="0g4m7sb6ppjj0nxgv7pwwvc5p07jdkablcqasdmj8p44ikg9vp59";
+"greektonoi-39419"="1dhbslqclyk5d8a9v9s4af4gxdy39b35zbbr3k5m53gsd0kcs5w9";
+"greektonoi.doc-39419"="0hmxx4pcirm2v5xpl3zyij8r1zm45f373dv18vxj4xr3sn6b7p14";
+"hyphen-ancientgreek-58652"="0lhy1zrg27748mrx8yz5qxpxl3nl460l5l6impiz3lbrgnld487n";
+"hyphen-greek-5"="0yknyhys5j5d34hlzw5wqdm1gw74p6bvx4dfx5kylvwjahj6ys5x";
+"hyphen-greek.doc-5"="16ikyzvd161hn95mi1swg0a390liwz1cq9534i5nvzh1vkyy4wrx";
+"ibycus-babel-3.0"="0az75laq5fxnvn12348c3985148isz4n7nv6hd0d8amanm80h779";
+"ibycus-babel.doc-3.0"="1256n1qa6zpq509rk02llcixw3qh3sgi9f649pv1hjk6xdy7nxfl";
+"ibycus-babel.source-3.0"="08x3knpkwifgi2zxv78bnfn10ix7l6rf5nhfqi6w5xck09l7fiaj";
+"ibygrk-4.5"="0krpzjn96r70z8rwsq52j0v1x7ppd766ngvf6xhny2kd7mshl9ka";
+"ibygrk.doc-4.5"="0prn5b6cjc9ljxdnd1ckfgzqwlc5vv4w435zvyz75r3f1dvbhh9m";
+"kerkis-1.11"="0hcaw35viqpsbpy82knib5lbf3ngvmmkga96d48v5s1zd6m7fwdk";
+"kerkis.doc-1.11"="079i5x6liqgnkc3ii65ka44r9pfpf7k2gxhkbklsb3hm51zs06ld";
+"levy-21750"="184jkjwm17ms75j86njpkr17ipcamca3r5l1fcg8vfv00ffj9fp0";
+"levy.doc-21750"="1wbxdyfxm80w3h8bq8z5yavdwdbgccvhf4hm697ss5yshp7l8gfs";
+"lgreek-21818"="0ry70b47s9bn8ixcjzsj0qvyvlbava2dn2jpmp5nrqqycihb6jvp";
+"lgreek.doc-21818"="0r86kjbayji1cha84dg37ajn1hnlidyw3cf4byq3x63vyvx0ag3c";
+"mkgrkindex-2.0"="01db35xmg9583hkr9bpflr6rj8bmvidaqahpvkr38bks21466sxz";
+"mkgrkindex.doc-2.0"="04p2xaycwszq5dp8s2h6gdm36l800ipvigblkm8m58bgycm553fw";
+"talos-1.0"="0pffvqdkhmc0adl7g1sfckgwwjsfgbnf03jfry3yfq6za6mk05d0";
+"talos.doc-1.0"="1narnqgf3221fpf66w2vlw95cr17swbap35lvb7dzviyad0ailcf";
+"teubner-5.4"="19a788wm84k5gb1k7fn9sm53b5h3hwj45316di0gy3m4h8bafpby";
+"teubner.doc-5.4"="1hsq7x9g26b6rs9796n411dpm6hvylyr4vsryr0sbk67cnf30spd";
+"teubner.source-5.4"="114jgsrdvs5klrq2vd51mvwy2v7j9mhsmsq6fxamanm2asgvzxs7";
+"xgreek-3.0.1"="0xrk16l7mbkdm3mfi2qlx6pyqg23209nkzbpxiah04j1prchzdws";
+"xgreek.doc-3.0.1"="16fdvfzg0aly82svna22iryq9n5raiqgr5mshgl3ic104sy4z4g4";
+"xgreek.source-3.0.1"="0i9ca29dglp7cy0p7nnmp0zi9cm80bnrbdqqcskv3bfmdkqb8c3g";
+"yannisgr-22613"="0h61qn97l6k97zbgk0ghqgr4bf8fhbrb037gdskg2sgxb7zsl5wl";
+"yannisgr.doc-22613"="1vw8p9xk3aj3lfsq8a2qv7qd00aqx22fs3427j31wnl1iymwycag";
+"amsldoc-it.doc-45662"="0d4hwb7hywy56d6934448lcr6fdx7qchkfzs806dr7wfzfy36yix";
+"amsmath-it.doc-22930"="0xcwsk8q9q3nsz8wbklgpbw0vzjw7iw0chffzcbp2zsk6rypqf7w";
+"amsthdoc-it.doc-45662"="0ic88gs89m3d9ys40c4k7sgx6wy82c8isg2qkmd4snw5yms6fpaz";
+"antanilipsum-0.8.1"="0xz42icnw36dvkxlh31g8hvy37mrbafgihm7l3ivh1z4hg6gabrh";
+"antanilipsum.doc-0.8.1"="1rfx3aqdvl4gvcrpsqzjh9dglk34ll6qc1a889yz0np93psnwmkh";
+"antanilipsum.source-0.8.1"="02qpjks29b4fmma6qm43p3w1k8h28wv1blpwjnnsfq4ii6xrkn5s";
+"babel-italian-1.4.04"="15c2ii2pyg054jyn8miyqrbd02gazc9kz6hpdjgqz1mi4agpdm75";
+"babel-italian.doc-1.4.04"="1sjwk67gsqzn3b3q348k25a5gfgzdq84c5mcrmlr401h5knv9d93";
+"babel-italian.source-1.4.04"="0y5ixa44561h29lfqhb372by8zlpn85l9dssg3rlx5qz5n7bvssf";
+"codicefiscaleitaliano-1.2"="0im75yz3sw89ky5lcrcjhg6k6j4sgkjfn6v4srmqzcfdmn2qyx7m";
+"codicefiscaleitaliano.doc-1.2"="068234c0shvblzkcgl67a9s9whcbyjy3mjw60i8ljhs5z5wjrnc2";
+"codicefiscaleitaliano.source-1.2"="1vsb7dk4mlaacl9ls17lm4xdw27xzdgvng02gkfjvja1ja3cq4zr";
+"fancyhdr-it.doc-21912"="117826hd9zl15i8qf6d1pz2qz57l68a9nxqldxyk21acc29ifalr";
+"fixltxhyph-0.4"="1lvr7r5adw566q0hbvmmvmh7igcm8asl0ispd3lflik886ycmmlr";
+"fixltxhyph.doc-0.4"="0yfa6a6dvzx2jjy1jcw7phps4wxz3ysfhk5mxc65qss9kmc94mwq";
+"fixltxhyph.source-0.4"="0ksb42pc0bm64pgszgph6g0rnksd9fhb48z97bnd9jcsg5rhzi12";
+"frontespizio-1.4a"="1rdgh6wvxk0rhkadcrb1f3ymgxn81vbx489z16k88wkk1p0r4749";
+"frontespizio.doc-1.4a"="0mwdqry0h2f65vrki3kvqpjnf1nm5n9v3ljmn77nlvkarqp2kb57";
+"frontespizio.source-1.4a"="1p2c8sdrm0ay9nz0dqrcjigzsjki15fry6mmhqcm3gqrcscsk5x2";
+"hyphen-italian-4.8g"="0xxlpfvcy4frkvxjgx85nz86z0n9cwhgsdfmhgzi66w8c9c2r9fs";
+"itnumpar-1.0"="09cv6x74vs8m10fhk5ka6i1c6gzbs5qaqbk7i7mf2zsdg5w447r4";
+"itnumpar.doc-1.0"="14273y8zl42gkqm915271n15pc6srsjvfbnc3jhp5xcjcqnq3yfk";
+"itnumpar.source-1.0"="1wg714a0ipv9g81wgmjdrm4l4yar0z2nqxr5khiwihk9nrg26yc2";
+"l2tabu-italian.doc-2.3"="0bgfmn5v80rdhs9wmjj6mki29p28ip1d29rmgbw4jh4z6gd4sf22";
+"latex4wp-it.doc-1.0.10"="14r86fwhb9zafmyv05pqfi9962dpxj7wq94acm43gv8m2rsjp52k";
+"layaureo-0.2"="0ggab1drpspvqwkijlj2d7k1iwacd8bihgrj9qvrmsvdlswdjsd1";
+"layaureo.doc-0.2"="0vxa87pk0fq67zlnbzbpnig221isp1fy6qp30fphk7igvnjw8v70";
+"layaureo.source-0.2"="0mdibdz7hawfmc6bzvk3qfhs22pnmsnvkvvag31p3b4n25zshmry";
+"lshort-italian.doc-6.2"="085ydria5q7s648r7frl54sa1y4kyr569zvqjjkancfd83h873cg";
+"psfrag-italian.doc-15878"="0ssx8rw7fwln02zzscywivnhizgrb6w05awscvv9gf9n1qj6avsf";
+"texlive-it.doc-58653"="0vmwn6n8bxpzcfrzic5qg5k2vklbm6rhl9861zxsli0rd9396qn6";
+"verifica-1.3"="0i5bh8j5yjvql6mywfs617mh3pywnqd7z1m6158r3jpwyn6ki25g";
+"verifica.doc-1.3"="0sinc5ha8k3nk307q0piqwj56r2bh4pbxxyww29ygalfqjr755bb";
+"verifica.source-1.3"="1zn10fr9kv131w4id0djycy7492ch7gis27gbr5r02ydwm7nny1c";
+"ascmac-2.1"="18hw5yyqbr8ji39y39293z7a70czipzw00fzfsqcrhgdlid79sc0";
+"ascmac.doc-2.1"="0xzwc7kw7hqpcmisw5wm3n508n4zr4s207pizdhfm2q9mjij0jvr";
+"ascmac.source-2.1"="1rd5qmy9miximwv1n96h6djjmd3mdgn4b0955marf2k457bb71d2";
+"babel-japanese-57733"="079bhnmpcgaml555dgrmiigack6qfqx20fy85c75p4fsn2c93bmw";
+"babel-japanese.doc-57733"="0a479m8rq8l02q1w73d6lpfpi0gs5qdqfbl132483f2wwzznvnrl";
+"babel-japanese.source-57733"="0kjv78h69422dj1jh7s74pkdr3qrdxxbzk3czzfsc5rax71x9jhm";
+"bxbase-1.2"="1jbhxfaqpmjakvda2knxvgwli8crkwlhqa1i29mkzaal74f03i96";
+"bxbase.doc-1.2"="0ny2xzg6z92fpw4s012pf2h90a77d96csi4x0cqdlvzv1f7bqhiq";
+"bxcjkjatype-0.3"="1b2srzs5pwaind8pjsghkbq6hwf42ipx4bmcim2zbfxmzyb1ga44";
+"bxcjkjatype.doc-0.3"="163farvip06haph6dhwf123dk12rnls1mgvdsyvvszgyy9m96bgp";
+"bxghost-0.4.0"="07cv7889n2s3l7sl80bds214dp4i8gga7i3dnfc8n70a35ffql96";
+"bxghost.doc-0.4.0"="102135q36fqflzfijsdbgwx3i7v60j4p10qx3g7qhk89sh0aym8z";
+"bxjaholiday-1.1.1"="0qxc2s07rqnyi0a8a050h2qri4kaqfcwc26c2dz0x8ypg18s6nhq";
+"bxjaholiday.doc-1.1.1"="09a5q2cra7by0q4zxl9nfa672ryz0cdv3xkw730cq3qyyxgc06ls";
+"bxjalipsum-0.3a"="1j43iihid2akjgd9npyqmg14g0m57izzp8lnrpqz2ybbp3mbh0r0";
+"bxjalipsum.doc-0.3a"="06w601s7x4c6cc0wyrgmkz1vj19aynsq9l66h0hbi4hp52bh1ka4";
+"bxjaprnind-0.4a"="16rdpkqlsx301zvrr2nyykpjqf0wj1xhqqk72a5jajyjpcqsvki4";
+"bxjaprnind.doc-0.4a"="1x3wh73nga2l8f7l24pyabpz0b8g2k6hkszwl5dijrppicl875ym";
+"bxjatoucs-0.2"="19n1wr7i1mfrabmrsgnmvk5wgdqhbc9lfpz3s5qhnsqsz69rzi00";
+"bxjatoucs.doc-0.2"="0icd5zj0cabkvwjgncsjmqwx79d2rqsm7ddp54ahczfl6mfg7fwj";
+"bxjscls-2.6"="01p1wl0ndbsxiyd5hmv1wdasjsaf541vqis4imgzwwqa1xfjqcxc";
+"bxjscls.doc-2.6"="0b9s0kl51gqxcyw2mp4rzf2x17s8pws2ql0zidn58k17nzv8y0d0";
+"bxjscls.source-2.6"="1mv9g9ngnwynnd1xzvdlc02c7cah7m08w006glv86nbqi5cs9n75";
+"bxorigcapt-0.4"="1gx4v1x2ij6c3xnpx7p0g2h7bhkfqsh1dqb1m0k0p9jxwhr9sn4j";
+"bxorigcapt.doc-0.4"="12qikh1ybh8q5wyv73lirydlalq0bhlhzxyq4iyhqzc841zrwd7w";
+"bxwareki-0.6"="0b0n3yhq6y4dq13nwm40zyw6hn1jz5r3bawsrnaw691amvfb2blh";
+"bxwareki.doc-0.6"="0ay0rsjnvpi1g7iyn6dvwc4awfswd48n379qqys5xhzd19bncs0j";
+"convbkmk-0.30"="1hb4ahbgihnzqmcszxlq67bsiqprrxa9vf25q8yz31j70sg7s18r";
+"convbkmk.doc-0.30"="1h1iqcc1rjcvwg9p7xg5zq6sj5bi68s2cknsbwr6dbkx25ihwi4i";
+"endnotesj-3.0"="1rjraz5m7zqyj1j7c640ngxv7i73d03xh5wsmcaakc10h36n3pyr";
+"endnotesj.doc-3.0"="1sss0shcnz2knzghjqw41s17v0bs7dfcmg6x566fdwdm4mdg4dkv";
+"gckanbun-1.2"="0bf42j8ismm450431pqvqgwzd04xsr7qlhb9di867qdyiy6hbrpv";
+"gckanbun.doc-1.2"="1rpgm6jclifxzs4k5ybkn9pxsl60vl167jjhffg6d319g3miy7al";
+"gentombow-56665"="0pzvwd6qpp5r7is7iwahpjgqyc3ikgq1jy248kbn4g2kq38hffhh";
+"gentombow.doc-56665"="19sqdvw9fazb8aw8ss9v9sxc185dqcvw8pnimm0bkzkmz9jnp5ws";
+"haranoaji-20220220"="1b3cbikd32mqa895n3d7jvcfvb9b6zz7jfibfzcf6cvpmwi8a99c";
+"haranoaji.doc-20220220"="0wikzp3iw6cvphc91ih6f9302jskhp38b1nqj02xmppjr17q8vc9";
+"haranoaji-extra-20220220"="0n3apfxhs210cngmxmv1vq0a6bx7b5v0rk2qbpy3mzb9d4h8xikj";
+"haranoaji-extra.doc-20220220"="1ffjl9d2sxhiqms5hyvf8z4wk6n7fb42p09qhxhvjpziadjzfijc";
+"ifptex-2.1"="1306l8knljkyaa3mx0nmpl7sb0saj05qbr8pwd157miz3sn3lrd8";
+"ifptex.doc-2.1"="1gf9yfss9lfaf54b31p1bzb3ncdi29763665xflq2dvjybqzr8jv";
+"ifxptex-0.2"="1wb1laq1nn02klvjgwvjgansi4anmjaik04fl0lylr7x5996qa9k";
+"ifxptex.doc-0.2"="0bh8bqly3zzzzgs21cb51a06023l9xfig5qjfzrlyvfqms7wj19z";
+"ipaex-61719"="12rd8b6kbnn2hvsimmfirfq3nj436h2ckg5129qxnfnqfqr9pkl6";
+"ipaex.doc-61719"="1g2z2ichh3wdjmn9jjd48jic1b2xw5sb8sksqv0hm043hk5makaw";
+"japanese-otf-62456"="1qn7nak2sgwdz8vmvibndr31dx94w92caagc9ly17b1na4ifj9ih";
+"japanese-otf.doc-62456"="0r52v7dd2l49gqsy5xskcaz5a2nacm8wgyi46zlvr2nsnj87m1xs";
+"japanese-otf.source-62456"="19f6bxfvn1dm6xbhjx0sxlwjg5667z1l3fz28bz5b0nphryrj42g";
+"jlreq-60947"="0aiq850mk91vrpilj19izl06ppvi595f61i6izprq3d6nq22jnh8";
+"jlreq.doc-60947"="0358jfvj27ymfhpmc9a2r8ag33lshwrmyjj4nl8lbf7a94mz0nkb";
+"jlreq.source-60947"="0g4689j7ica7vxkmhxyvlxwmn7k75bvgdzcb382s8ippp2c4vq99";
+"jlreq-deluxe-0.4.0"="0v27w13xymviphq1168x3kvc9anw1z1sa5l237nffj2cv7spg8gk";
+"jlreq-deluxe.doc-0.4.0"="11n5l1f3y8b7ak6yy3z0iy8cqslii7w9v52bnryi68yhn58kgyv6";
+"jsclasses-59795"="1v97h4h3gv7xmavyvrhih6qmzilpsgk31vjhamnxwp55vggp50ng";
+"jsclasses.doc-59795"="02j0sjrbhrs701fk1n9blfifpzcycf3s4svf2wa6rz2j4y3m3iky";
+"jsclasses.source-59795"="1cdc2cjji3xmy4qrbj2m3acwd7r415jn7lhmzyz220gb70am3p7a";
+"kanbun-1.2"="046zvhsmw56a30s01pr50bv1m3s4q1fnv8hbays3v56xbj8rk7ka";
+"kanbun.doc-1.2"="1qsz9krhmgav37k0386il90h91c0sxk1q2zvma272fnpbw5rbq75";
+"lshort-japanese.doc-36207"="0mfxig980jyzhay1i83d69p294hgbr92v3kk2a4z8ca3fwzy8w74";
+"mendex-doc-59706"="0ab3hrln124gwvgsszd4l4jjrc705x3wbnmrrf27rx8p6fcwwrmw";
+"mendex-doc.doc-59706"="1bxwclfnm3j4w2qk0nq1lpcjz8xcvrzkpgjnda3c0n03h56a6way";
+"mendex-doc.source-59706"="09pzsbkzh6ss06s6q03x9k51zr941wn0rwr9pvsy3cmlnshjcvhj";
+"morisawa-46946"="19b8nzkwdnqk61p1fc7yygjlrdimawmbam18akphcm70qx2h01dj";
+"morisawa.doc-46946"="1y218bablhn06njs5zqmsl6jvvsgyihm4il1x9722pqvvyxxf9q0";
+"morisawa.source-46946"="1flrf2c2jxpq33g26i0m2h63yd5jfy9bdh80idpx1m6bi6hhq7ac";
+"pbibtex-base-61914"="0h5yi27rmh7ajih3ww4wn3z746mkdwrvz1pn44kklrz9nqryqwhl";
+"pbibtex-base.doc-61914"="0j6dij9yx7cj4j0l3sbszskqdq9mr5svzjz21andfdhlp3pxdaa5";
+"pbibtex-manual.doc-61915"="09pd7gjn6mnb7g56pjwb83276xwprbgi3y076r9jpixbjzwi01px";
+"platexcheat.doc-3.1"="04hvm19x4z7vq2md3p3r2wwa7iqkgkxnvvj1xx3s9145m6fjib5a";
+"plautopatch-0.9q"="16m2dsqws4z0i04wfman4m7d5p9y5dij8rl6bs0vphq4n0hcqhh1";
+"plautopatch.doc-0.9q"="04npb7xbhibvjjxh32m1g2c0r3q5j5jhjgc7hn1nyzj2hzz415sr";
+"ptex-fontmaps-20210625.0"="0f6cijbr26jjnba7g5ffyh8pb0aihdfv094yyxhrp2wlf93ca4jg";
+"ptex-fontmaps.doc-20210625.0"="00lx6cv5sb039k3wzjsq92q9x6a2q6l96khmj6rc0l06xva4j6am";
+"ptex-fontmaps.source-20210625.0"="046jbs402n7g7dyd1akqwx382rkn9m7cs6qr6nz1cpd7c56kfb9n";
+"ptex-manual.doc-60158"="1ycrzx3hb48014bi3nqy19x09ad8vccn6dsinp69wjyvji4safp0";
+"ptex2pdf-20200520.0"="0s4b60gc0wg4wgxczzr2h1xlic0rk23a9wvfy76vysqzlsfmh0xl";
+"ptex2pdf.doc-20200520.0"="0ky2zh6a5d6w2aq8k9wg7p3cvp8l4wihfjlz3sir3ggj1rx2x6j4";
+"pxbase-1.3"="1rn4hnxk5sixf41dl6w9hgq0jv5dyf91klggnld7h52kgwj186n6";
+"pxbase.doc-1.3"="0kjx5ni8bdl9mhjkazq55mf3l7f13xfb53msra2ql0a4v49ipv26";
+"pxchfon-1.9"="0i81skrnh1vknzgqy3zcbgxf5lpa7b63wlx11gyrz18s9zv2s6gp";
+"pxchfon.doc-1.9"="00inqzcya3q5p6a3azgkjds89r444kmbmgw46wfx0sj3drrlgcz8";
+"pxcjkcat-1.1"="03rci00d4p56ibg7yn18jn86mji3yj5mnq89niwiaixzb9x2s9g9";
+"pxcjkcat.doc-1.1"="0lj0s8q357gw05i0xfldzm7wgwc6x2b4jka2hjpayqshh1zm01wa";
+"pxjahyper-0.9d"="1pw0cd0d2r89y6pmhxm9g7nnxm7qa5a02jvkinsbkjjx1mc8c1f4";
+"pxjahyper.doc-0.9d"="003m50wpfgvjdi5gya5xad86016jlpnx4x7dngm5bqs4zq8p6pvv";
+"pxjodel-0.3"="0gywpypmv9c6bqyygyz336v7dn6bnx5ibz2p6f38paamk6bqbyf4";
+"pxjodel.doc-0.3"="16nf7za81mq77irbdqkxw2iwxgi3jpy5vh1fijp67bq3lx0az7is";
+"pxrubrica-1.3d"="1xz98vzi6cng9f2gj1xqbsvk3cw1h98q3yn1ijq2xkphkjv1sfhi";
+"pxrubrica.doc-1.3d"="0m7y1m7prfgcg20f8bmhqxpslxycw7qg7si4wr3pvcmmgv2skd09";
+"pxrubrica.source-1.3d"="1grr42aixxrxccjq1119ir0d0yialj89svd8yl0lzz852pp2jycg";
+"pxufont-0.6"="19d5bm980iqx0m54fdybllq1f842hmp7976zc6v5w7dbfhndybgj";
+"pxufont.doc-0.6"="0vnvdvpdwkwjqds23bif51h9myq4bzgj2k9xmzqzvan8xj446jxf";
+"texlive-ja.doc-58581"="0vbxdm3kai3qfxdvdsji2fnqx3wkis4yb49072mla26q4xf81jwf";
+"zxjafbfont-0.2"="1zcyvwsqn2w9x9w79lvi736r2zwrsk2xdk6nrrmkiaq3cakd81p9";
+"zxjafbfont.doc-0.2"="0dfh592niw8s6zxmxj1sf8h02s2vz8s2ywd291946bb72xidb4gq";
+"zxjatype-0.7"="1ap4f0yq4cmkz5djy7mpgp32l24jr7xbxd9zc0nv1fvnywxpxfcq";
+"zxjatype.doc-0.7"="005rr69f433bllggj997rhbwlbmsglaywi55az5j02x0036aj2dd";
+"baekmuk-2.2.1"="0gfj79zhyg7p300bw27akxzgimvqmagk7y6b4nd7jq5wvrv4g5y0";
+"baekmuk.doc-2.2.1"="00y0iglv170b8pz79xjc0kz3yjphbb6a9alk5gg6hsdwvc6gf1by";
+"cjk-ko-2.2"="1q4phpb831scwm6w6bicxvnb1skcyfgmmmdld4qwcdcnqv0qbj1h";
+"cjk-ko.doc-2.2"="1ij8yx9lpc5m4yp8yif3f1yz7agr2xs47jglz27lqca2dcwbih3w";
+"kotex-oblivoir-3.1.1"="1na3py268mzn39fwwqnsax3pc7ng3alc3s582j225v329if1g5r9";
+"kotex-oblivoir.doc-3.1.1"="1kpmryqrq6is4immmckg55irr99n0gdrdyfbc88f0b6v4c9mia90";
+"kotex-utf-2.1.2"="12klbs9as0immwm6v75ibjdhq7g5ybv276ab1ffd5a6nx0nksxas";
+"kotex-utf.doc-2.1.2"="0ppqzzzhkf9cqa6sqd5ys6m146xdnsz5v326g7d7m2b9104z9k62";
+"memoir-3.7q"="009413ssqfvdx4ws712f2qk00b3swkdnd741smwlqfxkkqa9bd4n";
+"memoir.doc-3.7q"="122p9szhhaffksfa9sl8v83sijh97fivl5jsbs031cnx2mkxddl8";
+"memoir.source-3.7q"="0x23hkhmvvq8xh7bigdbgsg5pklghfnl71i7rjxiixsw61mnjac2";
+"kotex-plain-2.1.1a"="02y214iy349yz9x2l541ynhypwc0rlq3y97sk35dzhdy3cnvsmrp";
+"kotex-plain.doc-2.1.1a"="0hj3mbh74nzk1s2sff2sv1k7b2mrcs3bg8vn7kka89q8yf56gwmq";
+"kotex-utils-2.1.0"="021hgi7iw47b3c637mk0g4v52h5ygx5w1060bpcknjlbg0qb09aw";
+"kotex-utils.doc-2.1.0"="0l7dby446xxjwk7vl1h3w4xsid4dqd8zdspj1f457jy4qwjaqf88";
+"lshort-korean.doc-58468"="07660lrss97hswmis7rgc419h05mgrvsfrrwmnrwk5yn97flhhqd";
+"nanumtype1-3.0"="1izx9cjsd46ydhrl0ixsjz23nbk7mfv3swfk5ada0d4adcm7b73h";
+"nanumtype1.doc-3.0"="1sxap924dzf17vslp3n71r4mj4f98m9cmchq603c7ara1cyjk2mp";
+"pmhanguljamo-0.4"="1kg4w368bjhysgms43qwq0lqysmj5yrjkvghg3z4pcqkyxmhgv8m";
+"pmhanguljamo.doc-0.4"="0z4260mi8a706rm6fyxf3r6fllc66wql8wyxfl09h3i0nxb8zyp4";
+"unfonts-core-56291"="0pyrnydswlqhxacwqpbc1m3bzm8v4gcl3ka7w2mppp77l8a70drl";
+"unfonts-core.doc-56291"="0225vsqaj8l0g1igc4h8m94cfk6wv17vlnappdgxwws1fknz0x5m";
+"unfonts-extra-56291"="1i7skyjqlprf6m1pnz5l2hn67f1cix4n3pai6v1a8adrrx7vcfdx";
+"unfonts-extra.doc-56291"="0d3cxfm110lg12n3c9hc88lqmx77rcsil1s6yph384scxadlg3bn";
+"aalok-0.6"="0mvfl7llr57ykdv81y4c4h0fflig2msvxka08axsjwp91yn8dpmp";
+"aalok.doc-0.6"="1sz26qrydb5dl3z0g3p824f6yzs473p2a50q1kpk4zqgh4ghwigk";
+"aalok.source-0.6"="1crpql5mypbyycxzkckfy4nwn7shq1dkzlbn44lhnj7jyi4qkg3p";
+"akshar-0.2"="0g1pbihbpl3b7k7c19qiq7lcgx3zrfn15065dyan85bs8h85c2cw";
+"akshar.doc-0.2"="11a18b7a592sx3wha1lpy659hgh1wnka16zf8m0cbc99f867xfln";
+"akshar.source-0.2"="0g8j0015dm3mhphg06ma9dkgc28ywlihr6pcbi254qaxgk7kdn9g";
+"amsldoc-vn.doc-2.0"="1iz0zjn1v7izwbsq0zb6cvpnkbvk0nxw1b24j7dzqwk3m9j43i6x";
+"aramaic-serto-1.0"="0j1i5snrgj579zx3cn7z7dhi9rrq0ssl392r2vxykcxalcc8cmg2";
+"aramaic-serto.doc-1.0"="025nkiqh91laaj3yx2qkl5z0jcm2w0qwgqm545dd98i5y1a78lfx";
+"babel-azerbaijani-1.0a"="15siklcjg7wmpzgy059d8r6ivg6cib5by9a4l6n31c9pxncj7xka";
+"babel-azerbaijani.doc-1.0a"="0dncpgvjqqa41rk80n6wif8nzdqw7vkxp2056l6sblzxgh87fvz0";
+"babel-azerbaijani.source-1.0a"="176r483598gd2dfmfc2qhmknj913n3k6rk58mpfq69af72jq5rjw";
+"babel-esperanto-1.4t"="0p11qa0d496xb6hpj6qc2lisr3xk3k1rbnj7b88wcivfjwf5ypmp";
+"babel-esperanto.doc-1.4t"="0ra2iyai9vyjksfsdcv5b9ifvqmhlc4aikyzf3wq073sh9crhxh7";
+"babel-esperanto.source-1.4t"="0i1hzj701rii0hbp05h25633vs2cbmqgyc113m3g78i24vh2rkbx";
+"babel-georgian-2.2"="1mdsi9mq6ka6ahrgnasik0sxkhq97qa223q5iy4fkfccan30kb07";
+"babel-georgian.doc-2.2"="1iw1hbn5i0c7xhvcmap4hgiaar9rznr76h2mrgya8xj0czppxwv0";
+"babel-hebrew-2.3h"="1mzjkrjasm6i7qp8pvl9l0dwd4597hnhsnjljfqn2mf39836i6s6";
+"babel-hebrew.doc-2.3h"="1w45vylwaiy2bn457fcc8c4fv33lnjbznsk69z3ky8r6sgxra63y";
+"babel-hebrew.source-2.3h"="0cy281g25mn3pcm5m3d340rp9l82472zyqk09xdi05mxz2hwvnxh";
+"babel-indonesian-1.0m"="1nmz2vl80cs7d58hl22y9m2hlf4xzdw2brl2z9k56w2mk6rg510k";
+"babel-indonesian.doc-1.0m"="1bd7v0wrp85bchni7sbn4b7manybq1by8sb4bhzcmbw4b9dnc3yz";
+"babel-indonesian.source-1.0m"="0p89lrfyqfhmnvijf9mdhmjsr8wzb4hxr40rf33wn50ak3m8gm7l";
+"babel-interlingua-1.6"="0zbyfhfs222i1wdsfbik33m1asdaa71rg700s9vfbvfdvjcikciv";
+"babel-interlingua.doc-1.6"="1z7j47zmp5y3406da831kwxqq30mgxh2wwxsrkdjycnsswsywgv7";
+"babel-interlingua.source-1.6"="1y3xsscz9zxaih3752sk6jhh77ljnllmikiwgqb3xsvzj7b5fs8v";
+"babel-malay-1.0m"="1h4n9m38s560iw86cr88xzflizkd37nhgyl51xvniyvkz6nkhrxr";
+"babel-malay.doc-1.0m"="0c0jriwwkrll6sknd1c90bhipcjr3inc7vdn6cd2szlbx72ir12a";
+"babel-malay.source-1.0m"="0r1gzyi40yx8ikxkrdqa1hg33vciz1qbvibd8dv3qbia7mm11hqv";
+"babel-sorbian-1.0j"="1g2m2ydy6rlb6bv1p3myfwnyr8kk1l7jpq60m655x8hqk32119fv";
+"babel-sorbian.doc-1.0j"="010v5sxqjx15nvgsycacx0lwf4py7frqppr897a89wzmj0fv4svd";
+"babel-sorbian.source-1.0j"="06vyg6dh3yxqmvy02ps4b5kgxlcg1225llc6mqbrnwm54548xwrr";
+"babel-thai-1.0.0"="02n0zl8xa4y7r2n8zb1870b95inclcdmwq0llcspl54vjgds2yig";
+"babel-thai.doc-1.0.0"="157r19z20gn3fy9si8mn0c4zhgf1kpkz6jv8ag6y26qjp1c5g4kc";
+"babel-thai.source-1.0.0"="04x6d8q4glkb4w8ic5qcywxi009zy0f7dcczp2fibs0prhw1kmi4";
+"babel-vietnamese-1.4"="0xb8w1dm525xrvpsxy6y4n6m8rr6g895hysxbjcvv5x8bjvl2vx6";
+"babel-vietnamese.doc-1.4"="12cj6335qj5igap6hff1qrfz4ms4s94xv7vlwdcv1hs5gabqylaw";
+"babel-vietnamese.source-1.4"="1xdkjigwmmkbihczgd0hawszzmnn3j7fypsv3sx634ham8j02zzx";
+"bangla-2.0"="0rl2lh11b1c7cdvzr2b9zbir64xbrmsgmvjf30jvjsn5l1vgf8iw";
+"bangla.doc-2.0"="0lblaxv0plwx5s4dvr5mbfzgn616hyfj8hcq18ihmyi0xvqv25f2";
+"bangtex-55475"="0gbjmkkidm8xk6hpkd0i0b778my5xf7hfwq3fdq2v7ca39bii0d5";
+"bangtex.doc-55475"="1xizgjqmwafjvcf0j25xh2gzcqzcipymhmhh0r56lwv02fd34b4b";
+"bengali-55475"="1rqwjn1vim77r30nmdmw5v50phpsfzdcx8nlxhxlvqsca3yqzsvz";
+"bengali.doc-55475"="1zxczyil1izzj9pnz9c6my76mggg8maxdign07qn4kzf8c0fq8jp";
+"bengali.source-55475"="0b4v7jrngga8znbfiafazxq6z333wa98prp7hwzzhpv3nxj6kbl8";
+"burmese-25185"="109492p6k58bdgs4y0nb1hfnk63pdpf0x4b7az8frfff4wg2jvb1";
+"burmese.doc-25185"="1lwgifmixkyxscy6ichwmc8lv26dwmcvy2nm68z2wq0cz7cihjli";
+"burmese.source-25185"="1iwnsjnacafq1w3n6asj93n7nfxxyslf69jj0rfrl05fai0iq458";
+"chhaya-0.4"="13x83hzrqriwcsc1q1yl93jpmgy83fq44jq890q2vfqjl22afmbm";
+"chhaya.doc-0.4"="032qz2d0zflyj8aslhpq4n7mzr7rpl8kpdzrp9ahl3dxqzcrnwj5";
+"chhaya.source-0.4"="0ld5zwwzznvc8a8n9l01i0236a9zw9n5jbiinxkhf8fk0gis1kb2";
+"cjhebrew-0.2a"="0my3jp6pi5lbbhn24jn07gx95laq2p7fqk88pwic7wwyji097vxw";
+"cjhebrew.doc-0.2a"="09ldma056ipsamrd558z24k63p187ziw2bh8qgy4na20pp22wj0g";
+"ctib-15878"="0vm3aw2havsabkrr8sx4m6px9hi189vgsmqy0s922dlm479d8bcy";
+"ctib.doc-15878"="0q7jss1ai1jjr66yk5927psyvvmp1dwbr54llvwyc4z131g7qrnb";
+"ctib.source-15878"="1im0zhrw1lvzp9j26d9nh4m1mjhs5by6nai0dh2mrmdjw1i2222k";
+"ebong-55475"="1khaz8whw26znba0il6cam65q5sq9fb69clsk0s8qh26hp9xmlnw";
+"ebong.doc-55475"="0fa0kdipnn5hgfpjh8rz3l9zz97i94v45xmsxjgjn40xqnai3v27";
+"ethiop-0.7"="0h1h286nq6f2bplxxkpdg8mr70ip92c7mkj9lakxzcwacsj849xy";
+"ethiop.doc-0.7"="1aqgl8hvapg3p0f3knpirlgnifpkpw4jb22zncp1s26jqjc9wdcr";
+"ethiop.source-0.7"="1cc66b7ad2kfs4whzbnqdzfswn32y8h19bj3ad20ia24dggir5mv";
+"ethiop-t1-15878"="1xbkh7xx71d19ghwfq8bhjnf7jmapm13hp2gr6ggzavcmzf12ffz";
+"ethiop-t1.doc-15878"="1lafizx606kv455bhf125hl2xqhndd5mblkd0zyvqgyir9bawcd9";
+"fc-1.4"="0bw8ifh6sxgii5s3vx9d87m4rdfmifdvw70wmj2kwqzrij1ri568";
+"fc.doc-1.4"="19p5r28fzw0i7kmvvv93hiw7cm3lkcsn2hdn90k8m7jwy758qrdd";
+"hindawi-latex-template.doc-1.0"="0q35drybrlcfcrhrd5691m66nd17b0m6hkcsqazpb1ck227zih61";
+"hyphen-afrikaans-58609"="1kn57mzrbk0qhz69b1ysdqjv8xirsb40yz61jx146kqc4p1y96lf";
+"hyphen-armenian-58652"="02x9p12zc78w1x7k2kz019as42d5kn6gxfl4s72rd6dyrqii7bc1";
+"hyphen-armenian.source-58652"="0z666y580w1kpxssdanz67ykq257lf11a1mnp1jrn08zijvfrw9c";
+"hyphen-coptic-58652"="1ry5srs6qr7z1xj1km0jsc3z278iylrfq79ji31kxmf1qs7rwpnd";
+"hyphen-esperanto-58652"="1vfrf4wby1gmw5gm8h4qkyqa3hsx00nwj2qs05m1kn119k0sg70m";
+"hyphen-ethiopic-58652"="08dyf72ygqh24h15na2ssl2f4w9jlffh4vhy6lvrw2y6kss1xr8r";
+"hyphen-ethiopic.source-58652"="0j55k0sh4dc53wbngadz4wy86k046bsi4l5a329044hk24v4ydm0";
+"hyphen-georgian-58652"="1ja7skdhwwdy3idgjf508dbhbpyl3a7cj9mx8x1rswywy924liqf";
+"hyphen-indic-58652"="02xnj4lrkvy7gs4vlnsvili90p6p6byh659mzci1ad4x36z4362k";
+"hyphen-indonesian-58609"="047j1835ny6l0ris6j5haw41m9id38r854mx384kfm48sa70bs9x";
+"hyphen-interlingua-58609"="1gc3c86zbjv6j1kw353xwhzrqrmq41rbw2ah1xrl7rxvksmzmsnr";
+"hyphen-sanskrit-58652"="1svx84qj9vr2s6pyxn8zz587ph37g615hi3g1m4q6glw9hgzsmkr";
+"hyphen-sanskrit.doc-58652"="1k6vsa9xakzwmjma4f2vm685cyb28rjjj5qmpb7l0fpqpmvndp1d";
+"hyphen-thai-58652"="0k35mjibmsrahiv71dbl82r9v978gwkm42xjnp3zb4kgc0h79kc8";
+"hyphen-turkmen-58652"="17bhr58r8sl4fw8w3gqsb8lvpw48vdijr16bdk7n6ma0183vd1bv";
+"hyphen-turkmen.source-58652"="1wlqx8wb0wsqhdv823brc3i8w1vf4m4bkb2vg917j5dq8p8p71aw";
+"latex-mr.doc-1.0"="1zd948d9y63js7980g2bvxpf67hshh2xa3n2ihbzwhpw6l9cbh1w";
+"latexbangla-0.2"="0jh2x97r6j8lrl5kq5m4bvk139229fwf7r8g8xq7n0qywnfdr9zh";
+"latexbangla.doc-0.2"="0hgcqd8vqq67zzdn7mq4bps3q56ad3nmaq71mkcyricgrkn5xxmb";
+"latino-sine-flexione-1.2"="1k8inj0rl7mhsjyzc39w789jlafqshh9sgy99szxqbs0jilgfb78";
+"latino-sine-flexione.doc-1.2"="1wccb0ksrrysqjp68l3wnf6l4n3s64ny3cvxiqgalrf0mlfipxmi";
+"lshort-thai.doc-1.32"="16r9gx902a342q2mj570y269yw97yaj6hrbqrk4h49ihm695z30i";
+"lshort-vietnamese.doc-4.00"="094lfry6cqvpk02c3acss6581mgb7j30fnja1b3qwzxmyxjdblwa";
+"marathi-1.7"="04nf43i9z0s8hndjwhfdyysjxz8k1jargsrx03k19i9lihdjfjs4";
+"marathi.doc-1.7"="0ybafny55hvpv4kia7jybybjn4vq8f2g7h770xzq2b1mimyn7dkc";
+"marathi.source-1.7"="1ja8kbhsbhkcm0ig6954l6k5absdfppikzwawifp33dwpjkk6w0h";
+"ntheorem-vn.doc-1.203"="13lkgb4qjiblbfm4jcxgkxsf08zk90lqz02bxrmim1n8gvyihwcc";
+"padauk-3.002"="1yjqxzqsvk2mdsk837bgwqf3nfm9gh873bnir19wj5kj622zfh4d";
+"padauk.doc-3.002"="0331w1z1b5x15yb3xyxv008l95idv5yq9xb87da5r9p5fzfh1z0y";
+"quran-bn-0.1"="0dlwf4jnm9jmxa0q3fpcnq496zqn2z66jrmsch520xyxf3bsgk49";
+"quran-bn.doc-0.1"="00466c408q27rz6yw4wkiqarbf0z5rk2cxs2ahhnhxzgw6pi7va6";
+"quran-ur-0.21"="02r06www7n8mb8z7cx0wgvhawnskchnq28mdqmnyk4a7f59gl1yp";
+"quran-ur.doc-0.21"="1d86p5dkj9l2g8y1lq48bs92by5925w3zgh94mcl59i156jywlcz";
+"sanskrit-2.2.1"="1w2qni1pgzj2mafglzyvwfk11csfwz83gbcq1ihqabxsy3wqvpqw";
+"sanskrit.doc-2.2.1"="0i62fzaa6qy05qgb8p4vpv37lrivqnshhiy42zc75kldacbjivy1";
+"sanskrit.source-2.2.1"="1xzsgbx5z3z6zi7q9s4gjkq7xxvngifkrbqyva8m15nc0rz38hl0";
+"sanskrit-t1-55475"="17mqm0iapkf04z5wlj3qpk9qlz8nnq50bfbibikacdanv3852m8i";
+"sanskrit-t1.doc-55475"="14g53969gw2azpn7z81kdwc1m1hz8mafrz15kzrfiw9w6hh7s6jk";
+"thaienum-0.2"="16awnv395nhgm8s3n7w1x7x0h32033258bb0jp81v5nrnmn344wi";
+"thaienum.doc-0.2"="0jvggbnxinc81bn8glmyli746asqcpclgmvyl8gzbdarrnabij3b";
+"thaispec-2021.03.01"="1inic6cpbf1kf1hi6brhq5fj3fkwn95cvgjqwh7bxk9dxk1rzsh8";
+"thaispec.doc-2021.03.01"="0ki2jl9spv70f5hkzr762nkcylplb9z70c8gdp97whqg9l9mb8bs";
+"thaispec.source-2021.03.01"="0j69dwrn3qk82xgnwabq30ab1pf4xs3sfnxgnrksgmhd0ly4lpjv";
+"unicode-alphabets-54236"="1lmjf3yyr0zyg2b4bdx0n97vqfbnzyd929ginqrjxsgk7imi6l9p";
+"unicode-alphabets.doc-54236"="1sygp8b5191llj96lr24w58hvxsacsddah8a5w43a8g1cdqi0dgv";
+"velthuis-2.17.1"="1ki27wimj82h2dgw6c1f6hs93yg794j711x1w3vmgiwz3mdqkzdf";
+"velthuis.doc-2.17.1"="133f9scdzjncbvqqf9c5nj6vjszp1f235vrapg2pjlg018hlhv9x";
+"xetex-devanagari-0.5"="0i6hkzl2jbiixzrw2gvngnyzqkz0lfdilj1zz5xi6ypffi4vyihx";
+"xetex-devanagari.doc-0.5"="0ahcawr9872lipz33jrv870lj2601j593fwfqcn5x0jhas93ch6c";
+"vntex-3.2.2"="1857xywsc16rgarwhj30jk9mfdw62483g31gsir9rgibpxdjchsh";
+"vntex.doc-3.2.2"="040364kv9mizvb2bw22in4z6smzplx7jg9wac7h3wl7739qcfwgl";
+"vntex.source-3.2.2"="0f7il38l3yp8v6yxgg5mszgiki9z0as1s1i99ky50bvvb049x8zg";
+"wnri-22459"="16hcapjdb5dx48gbcvk2bkpnp1w9knswni2vs8v1l9shxz03nnxa";
+"wnri.doc-22459"="0wpf06is1vkaw4ivhrz4hfii3qrgs71cawgn1fnm8fdzalgb2frc";
+"wnri-latex-1.0b"="06m6xwvm1pxz2bjf2xa7k3x6m70p1f5866wn5imipmhw4wjs2jp2";
+"wnri-latex.doc-1.0b"="15d9mcvdhs1jd574gm6a9ppxyy7avclvq54ikcmlf4vn20lygidx";
+"wnri-latex.source-1.0b"="02x8fdavhkxfnxhvr891adpn93yhqccs31w05h8f9hyg34jlnb30";
+"babel-polish-1.3"="1n1cz0jixlyw2zbcgz2ik03s5qarsh4bl12krsqjk2knqk1r456n";
+"babel-polish.doc-1.3"="1yydj18aiaa90n7g7c6widczi5kpslhcy3l1bxnq1dpx0g8wi94p";
+"babel-polish.source-1.3"="0wjkcbs2ghwg8x6mp6blihfrygc4ssy7nb1adj4vz3wx63li5j04";
+"bredzenie-1.0"="1mcl52mlbbw0yxbs53x9a7kh3xlaka9c7nszfajlhpvj4s3jr1pd";
+"bredzenie.doc-1.0"="1zgmhhyqf2bwlf0mi509nrnzqqa5g4qxr3zj46rsa8jz0giaig44";
+"cc-pl-1.02.3"="0cvyi72p74qx82qqw6cwn6kdrrsfw83ngwwkjrgywqr08q65v1an";
+"cc-pl.doc-1.02.3"="07s3lnrl1n7pjbm81bqg6n6q6lnv5r04df0xjc6v6dqbdq08s51d";
+"gustlib-54074"="1kqlqxwlx12hyyhsxyn470rgpzg6xw25ix1v5j4sski6nwspvn9c";
+"gustlib.doc-54074"="13yx3bzmbm1b1p5rbjdfsdlwxdpzdhhmm2xd05hi79wdfxbbby7p";
+"gustprog.doc-54074"="07qx4xvyqb4p0cx0macjgyg0pcxgcmdxmzfsx9ah5s0dqvminwrc";
+"hyphen-polish-3.0b"="121aayyqidlz8kprwkb4ydzqakw1m7a5ysz9zvw7clb65z5yd69i";
+"lshort-polish.doc-55643"="1d6q7xjplyhynicd599cqa44qhncpxyqca4d7lfbjq2p6rgx5if5";
+"mex-1.05a"="1azsp6n01qhph2my75r05sby7r3lsafydsxv8f5532dkb9r86p5a";
+"mex.doc-1.05a"="1nkr92d761c7yfb9aysni3ihidzw334w4180d6r15k1iwinrn2al";
+"mex.source-1.05a"="1nd7p7ssh79rrpv5i0z4246cv4wmjgy3by66bbrv7w2xhmh5819k";
+"pl-1.09a"="1j2a3vz3wabv3ai0k9xvf8brwljr5r2bi57nk0bba476vkvxbrbd";
+"pl.doc-1.09a"="08qkn286bx6akfrxrlbj52xylbvv00bvmmpin1sbpy342ij57lrq";
+"utf8mex-15878"="0inwvyrizq3mr4c78l036ib15d6v2bnrakm08hvxx6ck753kn1hj";
+"utf8mex.doc-15878"="1nj94nn4s662jh2wykvrwkiiv2xzg6v8q4iax18d20p75yfcn3v6";
+"mwcls-0.75"="13a1vldimwdjq9lna63gy6gcc9gnwirb2zrm8m4g170q9r2b01rw";
+"mwcls.doc-0.75"="10nc7ai9brm36hqhf1czs1vvhp9nqvbk4h8r9l02jsdjbf4rrml3";
+"mwcls.source-0.75"="1fdg5j1jrsdaavg20sai9ffrq4qyffkkpkij5czab5zkbmiz8kv9";
+"polski-1.3.6"="0y66zqxb87i8wymryd19hjws7y9snks73030r287lbifb77kyx4c";
+"polski.doc-1.3.6"="169z3y419d3afhmhk22d0h045pysdrkhyvsgrs951ah3vgf8n5cv";
+"polski.source-1.3.6"="1m8pysaiynxb64n81b8zj3cly6g81w2fa1nrknqnxm27bjzn2jrf";
+"przechlewski-book-23552"="0qn5agid0s57a8bdlha8y9m99xpcvlqknq473r6995qkdsrrdxl6";
+"przechlewski-book.doc-23552"="1bp9yqs9y28nbzwb183yf8h5862pm3iw1jsi8c6qzhsrcwr2b2jn";
+"qpxqtx-45797"="123dfaqzpl8h5ia08swjmj4h05ncz3ishsh6rbcm5px35ccrgjld";
+"qpxqtx.doc-45797"="0ng1h0yhclki35v1w08r2di3dvf9rp78r43dfa752zr8agrfd713";
+"tap-0.77"="1ci65i2k6n0h9lklgk41sdq4acp5655mps77j9gcb65yk4mdl6c5";
+"tap.doc-0.77"="0r8y4jzri83qypvnmgchnhrd0yi7j0k753zmnwhzxqg4bvki10gp";
+"tex-virtual-academy-pl.doc-34177"="1kb86nn5vp1b0sy21aw9wlla1dwlaijppzq7728bmfs5nk1dnbjv";
+"texlive-pl.doc-58649"="0wwyap4jnj80adj1a6b1gp5l0a0nzkdyi11am5dpviy1ij3wbw0y";
+"babel-portuges-1.2t"="0n4sz1mdwrwq5864dca367w15mzln7my995sm57pps1b0r8l21jb";
+"babel-portuges.doc-1.2t"="1is448ri7d5qgypmphqvvnrgf1q17cqa81j0qqbyqy3zdfqlzi7v";
+"babel-portuges.source-1.2t"="0279qlf36ji8qyagkmbrisfw7fz519ybgh2di42iqv2mwkwzrdad";
+"beamer-tut-pt.doc-15878"="0ayh3kbh11l4nyyzp2kcwzn0phqhzawppy044iyl1wwwc2v3zx5b";
+"cursolatex.doc-24139"="048s5fg8c19s3zbl2dkmh8ffkicb8fd9n46m0iqrc39i0wrh7p12";
+"feupphdteses-4.0"="0sgg5wi5iylsz0y2495cajqdp8nzlsps3x7lzalx0qpjid91lij3";
+"feupphdteses.doc-4.0"="0ish03jv00i0crfzhjh2l32cspk2r5ifysz5prd6fwhdrmwmvm93";
+"hyphen-portuguese-58609"="06dxp3qddbh26wv1wpwml41vpbm4y6386vgd4xn2107shhbvhqpy";
+"latex-via-exemplos.doc-0.5.7"="11b788lid4cj6phaapk5xwaz57k3n0f6pm4ga4ghqprxjifbq5mw";
+"latexcheat-ptbr.doc-1.13"="0m636j9gdfpm4j1b679z5qw5ygbm6jp8xl9dzy6v5zzy695fcgaf";
+"lshort-portuguese.doc-5.01.0"="0wg51rjcayiizkz0vvjkirrx19q8fbnfrwilgh13prlbpams1hsh";
+"numberpt-1.0"="1f4hmqlkfzqm8c4q9cbcqsh9pkchnylfv6gfzafgn9v3rdksg2dj";
+"numberpt.doc-1.0"="04hdl6zrzw4zm8cihvfidlnjirfj7zlmh9mb7nzzq68cyxn30256";
+"numberpt.source-1.0"="0ha3v5lgn8sycfxs6hlbdf7n0b8mcl2mny2kx37s1bib0h8i0bxg";
+"ordinalpt-2.1"="0nia32ms50727kn080xm2v0kjzws5sj6jdy7kglp8wkipvc6nw82";
+"ordinalpt.doc-2.1"="1nwfz0q6csg7rg3hqgddjbiz8f1nfcgghiqvj2wxqf0cfjh8zb95";
+"ordinalpt.source-2.1"="0rzlbngvszl1sjrigpn55i7a8rwnj9sy76c7gwb43d4im1ybd14d";
+"xypic-tut-pt.doc-15878"="0d9ivdz5jnhnh3pg8qb2jn7qfxad06hxff65scyhdd6wbsfaizi9";
+"babel-catalan-2.2p"="0brmmav2iwsw46p9bhbq5nc09w8wxfbsnpb6nrbx7zx76h599fwl";
+"babel-catalan.doc-2.2p"="06lb6gkmidlps7vs7ihqg94jqnpxyih2dkypbr0j46whs5nb80cv";
+"babel-catalan.source-2.2p"="0l4c6wxszawd0a7dd7fpljkngmmh1p7i7imyhgfsjyli6fpxmah0";
+"babel-galician-4.3c"="0mk67w9lhp4nfbhrzyb1ngm3rmdknvv8nlqb8601hrglj4hzmrda";
+"babel-galician.doc-4.3c"="0pzpk8d8hhvgsjssy67hpgvjb6sh3lfbn6f5cbpqbhxrgllhpgva";
+"babel-galician.source-4.3c"="1awy39dlr086hc807zc57l7xk6zqbkwrayvzfv8ch1mqnl0d3a6c";
+"babel-spanish-5.0q"="1d38lmr5wiv03w6hzpfzyq2pdl845mcx0db5wcvwm6132vmnh6dp";
+"babel-spanish.doc-5.0q"="1wphssp001lg7blrv6wh11ppv5c18pan2kb49s8s94w2jh4jmwy6";
+"babel-spanish.source-5.0q"="0vgyqldgji8fraj5c7na6zplip4c6bc41x346rvzjj3l76q6xzvd";
+"es-tex-faq.doc-1.97"="0wp5jx1qs4yp3y4qpwqhpw7rnilw3vb2z5xb4lzwph6zw27jf6sd";
+"hyphen-catalan-58609"="1aqn66448bbiycmjyhbxikr4l5pvjvl5vm8gpzjinngiw82v9j98";
+"hyphen-galician-58652"="1l0z14m9j9w1c9kkm61r1s4q9fvbblhdbrqhg8gcddfh0b85qllq";
+"hyphen-galician.source-58652"="1979y5x7b1x8j9v4ifc7k24zb6pxd00z0c6j9knndcaj428mf135";
+"hyphen-spanish-5.0"="17gq675kb397kqd87qg4x03wj2b5zkjy8ynzpq2h1flh1lf2zfwp";
+"hyphen-spanish.doc-5.0"="13kmgf0lwxm54gs39lm8vgg2hhajvqwviql1chhv2l7d66mxrcrm";
+"hyphen-spanish.source-5.0"="05r3c2m5xfs6yl52ms6kc95v3x82zbs4py9ip6xznshfs5xakb85";
+"l2tabu-spanish.doc-1.1"="1p83xflgv8x7nq9mylh468zn3hz5pv3zxprc63q51fwx0ylxfdbk";
+"latex2e-help-texinfo-spanish.doc-61937"="19rxbwk1xqhsp7wkgrx50q984n77lqx9zxy5s4741wfma69p7g9i";
+"latexcheat-esmx.doc-2.00"="1d6nk9p9adlhgr28mnnizrxzzqlk20zw2clcddqlaa8pn73dqhcm";
+"lshort-spanish.doc-0.5"="0ls50syrg3dl5dl5a3fi33cr9j990l2xr6pribn1vqglsqrh191l";
+"texlive-es.doc-58221"="025q4pn9x88qb4jxlczwxhw94fz780cxkyf19z6c06wbvwgv9cy1";
+"2up-1.3a"="1phamhfskhhyg5s3ab00mv3wsz3wg18j1dskq3x1mpkc5ys9a022";
+"2up.doc-1.3a"="0ijr2gsi7ywp72ydpyj0cyxwv06vc612cpm1inkx8rhnn6hjxbw6";
+"a0poster-1.22b"="026ia95qflhgfbd9c32yagm1f08lnr9iyh1l2sd2b0hf5z27z4g8";
+"a0poster.doc-1.22b"="029mw747qln0xcnwalw2mw8iz5zzarv9qghcwsx9jzhqijmcspg5";
+"a4wide-20943"="0jw1d021vrr4f2sv94mw1jk7ma72m84idmq62imwqy23x8nfccy1";
+"a4wide.doc-20943"="03g0vwfdcczgkpbrri3wfhfbrq6r6iljpz5j9rllr2z5svlrjf4d";
+"a5comb-4"="00801lhrnv2qkg6ly949csp4ign89cpsbd70fcyb7r7zkd8lxczi";
+"a5comb.doc-4"="0bz9x4297mpvv082d0qjfvynflrcgj6rn9jikwikpvq8wlhz0fph";
+"abraces-2.0"="03283ybi97v520l84jwrn75lf0f5f1mjfnc8j6rnqmpghphynrkf";
+"abraces.doc-2.0"="10n4252lliivzxf1zi487jiaamabmlx29p2r2qr9y0z6bgkr2ahk";
+"abstract-1.2a"="173bimxd0923191xfjjk7x29j8xs5kxy7ih55l1k6dbj0iwlb9g7";
+"abstract.doc-1.2a"="166lhh2vi36qbhc5gm3xx96sigksslzb17bpzncycf0zgkh7j0gi";
+"abstract.source-1.2a"="14f2s393nd8q5kb909rj8r15apf48rg6na8yc45z2hl9ksfwx172";
+"accessibility-2.0.3"="0d7xrsdanx7wnnmc983rfy00r4290rigwx5ils6pfm0br2g5kfsr";
+"accessibility.doc-2.0.3"="17gxz1lm39wh2a235wk0s03jc7jxd4bl0iqj04v02m994gz43y3x";
+"accessibility.source-2.0.3"="14av24zcjqxq8v92yni6aj66cblnfzb1f07hbcd3ljbycw14ii44";
+"accsupp-0.6"="156yax2q84naj394xzr8m7hfyl1j7pziw8d6rzkrjjgxs9p9az1j";
+"accsupp.doc-0.6"="1ak7xv0hhghgbwmcviirhh1x5y9pb4is8h0a32kdd4hdxjdm7c92";
+"accsupp.source-0.6"="0spz8640bdzmirlnc3rwynzvgy5fi58vfs802jzbqxb0ypdg14s7";
+"achemso-3.13c"="08m9sl0smkn6nm4693pwmd33aqrxnz9yg95pg6w1v1c8m5y7pw55";
+"achemso.doc-3.13c"="0f34lgxfjgd37qzmkymm34kjipw42l7dhfcqjc4wg15zhdbr7654";
+"achemso.source-3.13c"="154d6siflvq22gz5dyvcxp601zr4wjr6as0as1iwy7w8yrhpd8lq";
+"acro-3.7"="1alvrx9wzfi6ywq4hxywv8h507slq6i2r01xs0xnb2h9y4kjlgdz";
+"acro.doc-3.7"="06yh8axdcz0sxzdxjqwhk0nnxz2933yi1issa5dqk9ns8s3cd9h4";
+"acronym-1.47"="1gq7j83gjzlfbnrnz1cl0lihpdalsn6ww6hqxdfxikm28vynk88g";
+"acronym.doc-1.47"="0zscjwg22s81awq27lhqs14davwbhf5y4zsl9dsq2135rppmmyvv";
+"acronym.source-1.47"="16dds23mj3ha1b64fxz2dnxk7wsrcmhpmpz0zgqda46vaab9qiw9";
+"acroterm-0.1"="0snnpamdf0qqqf3nabl2f4pnabpjxjn949s44lb8wb4lifndyj8d";
+"acroterm.doc-0.1"="1ybgfy3x0a3dz5p2gac2w4ai2yc84i28vi6x0bq61ff3v74iqdhc";
+"acroterm.source-0.1"="1gja9j0a0v22qqdqy5f3ivrwablrz550gp7nf20054cirjzgr6f2";
+"actuarialangle-2.1"="1cb333pky7vq83gfriza8afy17ag9lm81zr2f3nbjz4vrk7sidqd";
+"actuarialangle.doc-2.1"="0bwyj15r2bf3bqc7y0dbz03bwccwlh9ygcv1frnq6bc758rfksb1";
+"actuarialangle.source-2.1"="169m5msyy0braf61jz721isba94fx5wxinzfsr2yz9hs6ic62dg7";
+"actuarialsymbol-1.1"="0g8vm5wynrlj0764w7l9wfx2zw6ir0hik8nv8djlc96qlp8cm80r";
+"actuarialsymbol.doc-1.1"="1kqfn2c7rws75yk01962nx2ra94vfh2j8rnfqk7qkip45x7ya172";
+"actuarialsymbol.source-1.1"="02s6fiv0i0a1jzx4jkbv18rbmnld4gzhv2dfa1gijvzwzr1rpvp2";
+"addfont-1.1"="05a413mb0ksviwbl0y1a14j8y3np5ra5sgjcnbrslrvavf4q2spw";
+"addfont.doc-1.1"="069vk1d1ig38r6a5a87fblq4m429crp79xqccrsk48ixswxafj95";
+"addlines-0.3"="1rkcpk1c8in0g6dgyc1m6pyz01jbx19gv98jmaiybxgvsa3z11jc";
+"addlines.doc-0.3"="1gaf9ljzkdhwjg460hl79hlwdwi0mrvgs51si8k8gvialng8b1fv";
+"addlines.source-0.3"="1m3l2s1l671n9j7jdsxfljjhrsvh81bayw40v81dm0f68g5hslnf";
+"adjmulticol-1.2"="141whgxnp67y4wnhxp4a947rqfyxw2vy57mk60dn1cpx28f07fyn";
+"adjmulticol.doc-1.2"="1akcng99rg1sl6k4kqkivaikl7sjx9ilslnakgz68vc7jqyarfan";
+"adjmulticol.source-1.2"="0py3ygz3s723r2d1w31zlwjnp6ilshyr7jcx2hxnqqms61lsk34i";
+"adjustbox-1.3"="0pjwhzgfg0lzvsd7iisjvhq96yh5ip7bzwzvl7z63dyq276z2rk7";
+"adjustbox.doc-1.3"="0afbqxq4ni9wfcsbimmpwk89f1gikxvd7vj48pz0j2pzwn5249yb";
+"adjustbox.source-1.3"="14f4abqmbxyv07lfmig1daq3199dnvd1divii8di2b4wdaxzgksl";
+"adrconv-1.4"="1wx9a00jky9v8xmjhrjlhbl3kcdxh1n9yybpsr74g2vw4bwdyr70";
+"adrconv.doc-1.4"="1ny594a3dvx3jba0lf72kjny60ix6hnnw8gj479ccfj3gw2wv0mp";
+"adrconv.source-1.4"="1cndbrbw5hss1qi7z9mgymqrcmvlhj8hxw16qjjzch85xw1nrwzg";
+"advdate-20538"="0wgr84y3k10g6622sm11c4m4wxj73vpklf5i5gnp14yamwi19cn8";
+"advdate.doc-20538"="0hyq7kn10ajqabmz2r363wfpdi71a9zkv6yr30s9lda0vy5vz4k8";
+"akktex-0.3.2"="1npcfjjg9nwrb392g8pa4yq6i76aq4ys67zil4qgkf4jyzrixln9";
+"akktex.doc-0.3.2"="10ma4ic5bazlmizxvwks6w3qqxbbir0rrhzj1yw2j68p0600nmvn";
+"akletter-1.5i"="0gigzlxkqmiqz4nwpxj98rcrxmi6yfipf5bifg1mywchnw7a1f2h";
+"akletter.doc-1.5i"="0ngj7d4vdnvh99inw2vggqdgx6h2hv5z77glxjcpx8kmxf8h47sv";
+"alertmessage-1.1"="1mj3wiz4fff3ry5q4dk3k0kcx4bcqfwdvgaa9x3vczs746q57dcg";
+"alertmessage.doc-1.1"="1ga46r20zyb1bq7pvhq4348d2prdshy5m3yx6d00v5zzis1dmx1r";
+"alertmessage.source-1.1"="0n36cfjgh1byik8zn997lmyz2w4wmz48f5bzqrhcps7bg3kmp4zz";
+"alnumsec-0.03"="08i891g4b3k1qqicbsgd3h3sy98cpk6g1cfn17g9ysws8k20a0sy";
+"alnumsec.doc-0.03"="0fanq66cm0r2dgpdrblrhqkchxpy2dxykq1g8zrk5ddx27v6r9pd";
+"alnumsec.source-0.03"="1ssw0pi7hn3s7pqcqkm36jjgmd5g2x5rqyf2khhdscfwrsjh07a7";
+"alphalph-2.6"="10gkh6nnhsrlqx8b6k3dylings3q97ky4qsv03nk7hn41zkqsyq0";
+"alphalph.doc-2.6"="0v36l765s4lc5r2xfi8a3i7vxf79yxy29xy52cbhx4ps0av4dxpi";
+"alphalph.source-2.6"="08yagdxgqvhvq50cc7rvb2629g4n2qjga86dpa43x2vjnmmz08vm";
+"alterqcm-4.42c"="1mffpja47m40875i3vk3ha4vdgkxha6zh7q7fic7jfddxcdmlf11";
+"alterqcm.doc-4.42c"="0nh7861513mpdspnkd6k6kaydplmimkzh0a19svbblqwxwga78c9";
+"altfont-1.1"="1nrcjmf59r672gmqks8spqwz3vn4jrwc272zvx7ncylphsjmip70";
+"altfont.doc-1.1"="0c5hz0zjcar69w489zz2a04rbnc3j2lp8yccw9zv41ninzl94ifv";
+"altfont.source-1.1"="144m2ph835fl9x3ypc7wfc444719rv4clfdar3bk73gvf53rmjr6";
+"altsubsup-1.1"="00yva44w281zlba1c1m1jz0c1j5bwynfxf37k4sw5am7asxzizvs";
+"altsubsup.doc-1.1"="0nzc10vbf16bk8v60d97nw02ryl7bd5b6dv26g6rjwfpfdic08pn";
+"altsubsup.source-1.1"="0kdsv62j78ypa6z9098d60rilk9p0n72628cwihzyp8kv1g05049";
+"amsaddr-1.1"="1f5w9dhlmni4qp1snqb7l8c6h2ffhicpq74dhb79q18b00dlfi8x";
+"amsaddr.doc-1.1"="04rq59d00gqyzg6a6v17ifmcn45y01r6f426izkgbq50gky9xlxd";
+"amsaddr.source-1.1"="15v1xh051j16qgpm7s33d8hsz73pxv4qq58i6kxwq63mkrnwgac5";
+"animate-62123"="0vpzgn5zln46982hmzkfb54nqa3z0cfigr727x2si09097css35d";
+"animate.doc-62123"="1w28m07nnkvns75zrw77q03pzq8am5ma7iaishlwlflzar6gznvc";
+"animate.source-62123"="01bjl2wbmx2y59hy44xzgjia9x0slzpfsnvi8brgdr6dmjx8kh6c";
+"anonchap-1.1a"="0nz53v74sigvlb4dhgk5qcalw7nrc1vafbjx754j3gfyp2ilaf1j";
+"anonchap.doc-1.1a"="06khbq6p3drxsbjwgkm1sd163f7nl8hc52pjsm55g2vknib5caa9";
+"answers-2.16"="18s0c7hdk5qnj3svni93m9lpj81dhla9v7nsmcgh0jabhwy8n3v2";
+"answers.doc-2.16"="02pfg28dz10w21ap4pi2csvy32pcvmp0baiciavp354ky4avjbdd";
+"answers.source-2.16"="0mcczai8da24jvmakc7glr2c56yhq2jv58y1xqv6ny9hg4ph8v61";
+"anyfontsize-17050"="08dnpzjajn0k6hrf12l1p3ncsqjiwafzssa205k2zgsz61m3sis6";
+"anyfontsize.doc-17050"="0zmiklc2adbx5klyyjdivicd5j19i35b51ddm3nhfrcqrfvjrxwg";
+"appendix-1.2c"="1xcnin7414mb1jvgs7f1x27zkl73sabmqb31i79n88gi245bp5lz";
+"appendix.doc-1.2c"="144hblxkrfp8g040yiw1k7nr3anqb80pd9c2g15m88gbb1xzyay7";
+"appendix.source-1.2c"="10gnkpwvm08zqwi83s4xiqshp93v5ai0qg22n7zcwgaq86mzs44w";
+"appendixnumberbeamer-1.2"="198sc0fmnx7b31j2mgzjbjyjjfsn0imw2j8pkg8m0r2rlphqx72x";
+"appendixnumberbeamer.doc-1.2"="1b1rwcxrs8cm3zfadi9jpxgzcgai36rlnfragc9l5wcbdsaw1qp2";
+"apptools-1.0"="0b6yzpk2d79qg2irgfhns0w05i54z5z22ik5yyx4w6wg45v0j389";
+"apptools.doc-1.0"="1n8ak9cw66780zkk384vpjkxm9j8f9dzlqzshy48q7hhprsg4p9a";
+"apptools.source-1.0"="1ba08rixibjcpi420blw8a0v4c4zi2byll7dqlvwb7azqr6dz720";
+"arabicfront-1.1"="16426cyvrk461z9jb728w6glfm0ahss82kkq6fqkhajjc0cflhwi";
+"arabicfront.doc-1.1"="0ck7nl7v6kvibiahh3szf3nbibwajg2pjwrbcz06frpfwhizsnp4";
+"arcs-1"="0qahab6a041wn6s6isnjn93yrs6zk82g90x5aqpv742b2y8cj5ix";
+"arcs.doc-1"="05wgq5pkzxg3vj9anlzjq1jvwj7b6wvsp7a02syca6n4qvy1v5a7";
+"arcs.source-1"="0jnvkhhcqv7qgs4knwx1kz38x305a19kh13wn47zqlqn65991bpp";
+"arraycols-1.2"="0i7vm2znai3wgc3h44vhwd3wrrw0az86b3g3ndhy8yyyl17jk3hg";
+"arraycols.doc-1.2"="0gq5ss2rq7qgj4zqvf6n9a45j1kqsh0k9myphfjhdrf0s1sq8w9x";
+"arraycols.source-1.2"="08vfglpdhjc0b33b5r8x0mqpjamciq4g83m49gxwn1dd71hvwqiz";
+"arrayjobx-1.04"="1ry1gix4nz11kyrfpbhy160c8dir2y68jbmnds64qcdafhfv4b9m";
+"arrayjobx.doc-1.04"="1hqjhkjh5ryhjpi98hyi92raffmish9n9193ry75mgfx1p2b2w0g";
+"arraysort-1.0"="00wbmciwdnafwknxxrnprxj4xvs24xxwdwmn5y5xh1c8c3q8rn09";
+"arraysort.doc-1.0"="1yn9kbq8icd5gxix4kzp0qszhg1xy59s4m8p66a88h3cwcs7fjba";
+"arraysort.source-1.0"="08gbn5s8c7a8klg605kalr2mdpijy73pxvfsndaw9jdnr9ipc5my";
+"arydshln-1.76"="1f2y02l7fkhrc005ib1s94z0yxgql2m515zy3mlx6ba4mqadh9c8";
+"arydshln.doc-1.76"="0xw13bdw67n2nsahi85bvh5p1xrd8fpb1aj79vss9zgdslzb6j4s";
+"arydshln.source-1.76"="1xhnh7jw0sxy6vkw31gcxyxg06dm7bgw0njsfkailbxgndwcp6zs";
+"asciilist-2.2b"="0ni7182xwr3ns1dk8i75kf1cw9wpfagrf1y7w20hk8fpfymx2669";
+"asciilist.doc-2.2b"="11gyi8mcqvfpn07f4cypv05f77vhzr44zn6y1idlbz4mgzjw3kp6";
+"asciilist.source-2.2b"="07k13s9y5nvbp7w1ylyj3mlpn80682yhxgf27hz9aayk3hs77d58";
+"askinclude-2.7"="0s1938harm9sgna3cggllpa1g85yl9jv2wy4b4c5v6fksiivxzs1";
+"askinclude.doc-2.7"="0gkbk6j2wv05kgfbjd4mqx5k7rc22bmqn47vk7pvr5z60dr4nay5";
+"askinclude.source-2.7"="067dpl3v0ipspfm5f2fmcmg5cb6lhqg6n8216id9j1blir1ys3mg";
+"assignment-20431"="1nxgpadadzf3d30ydc9rndwm4v53s4v10a6sbqf6yfqds7ry13vz";
+"assignment.doc-20431"="1wyyvay22r68hfspaqv0a43s9icg8a3pj8wii3snn90svbsjfajn";
+"assoccnt-0.8"="0im3x8im6kkjmvibh57hkn8nljcfc4mzp0hpimiqn29ys1yrhj98";
+"assoccnt.doc-0.8"="11p081b0b6mcigqsmvgf6kc9ik2480c74madjli19rw9i5nzf0vf";
+"association-matrix-1.0"="0i3rfbmdh0hmnng19jzl1z6mhxpq3d0y1kdgwa80hwpzvl1chbg0";
+"association-matrix.doc-1.0"="1bkx5pydr88zy386malg4vza9syqhqrz6f5js9dwpvxmy4igjr12";
+"atenddvi-1.5"="1lw42kgkviwh5gl0fnc4kp8x578bss6fj4d3jqp3jh0iqj53wwf4";
+"atenddvi.doc-1.5"="1f4210s4llsbgnnf6s91j7gpdajclscnqlkrmrsmiphhvgjihcws";
+"atenddvi.source-1.5"="11sxy0c5vmbf17w1h46dc033lisp4aa8sjqfi1zdzlp7ha4c6rr3";
+"atendofenv-0.2"="0r5y45wzyhynl6f1bsk11ha50rhzidjgqynpz0qqx55pwj1lvqg8";
+"atendofenv.doc-0.2"="15s783gvnj5vd7vhgvzvvxpszsy065x20ag5i3kmhd20rdm8sy6y";
+"atendofenv.source-0.2"="1j1z580b9v2w8b1zqjan8fi5smnyyagnhak262cx5fi212dzivnl";
+"attachfile-1.9"="0akvm9al5rz67b81bsl0k92gjqwxjrd6dwxj9qmwrb9c6pd311n8";
+"attachfile.doc-1.9"="169kh9zrf5ykal633zn8n3i41dqbyv7jdrm905a7q47icvd4ar03";
+"attachfile.source-1.9"="1b9s69vvclpvdm02gi9x7zv5mf77q68xv7zd784cldns8h1a553l";
+"aurl-41853"="0dxsldgnijrjrm97a0k33cliqpl09b70xf2dccigyzyyps82h0d9";
+"aurl.doc-41853"="0rw2vhp4r9sb6pliqc3xxjc5hsznz4j7i2w3qk227ibg92qx4a8z";
+"authoraftertitle-1.0"="1gikfjhxkz21qb32hrhyrdymkn29x7bjcsml5clsw4cgi4b67fcq";
+"authoraftertitle.doc-1.0"="105sk016n6sh7llhk3fjcz63hbwms50l7906qxdddjq67qpgrvgn";
+"authorarchive-1.1.1"="0da6hacxksxy3f4ag9bv408hlvq3m811k2824dc3phzr972sfwba";
+"authorarchive.doc-1.1.1"="1r2kzr0h9mrhlz6kj5a3r331ikh76ppjbdqipl5i5xvibbfzhfmn";
+"authorindex-51757"="0dhdd84hdf4iz67acyarzf0asb7c8dmp09s286rq0ylgn7lb9xx6";
+"authorindex.doc-51757"="0hhffkmldhhm46xi8d1bvjp5v15cg5kid383g7s1dbjxqyd9vbvd";
+"autofancyhdr-0.1"="091dwnql2fy1zfkr92ww01hjylx6in8ay56gq7ywjlwb84r6sbm2";
+"autofancyhdr.doc-0.1"="04fjrbsa9nqf5rj0gqgm96c8wg3dl8cpfzyilqrfqmim26rviskp";
+"autonum-0.3.11"="0y1x4j7fyssmhlqf9974yprqxvplxihbs879qiwa13x0zmwhnp55";
+"autonum.doc-0.3.11"="1a73xg2csfq051lnjnxkplnpfvl9vhfm05qvgxz4i79qmgs7a3b6";
+"autonum.source-0.3.11"="1q58d514bdm0mbqkmyngxh0nzzg7kxxc0z7bllnlkqb99h3x3xb4";
+"autopdf-1.1"="0fd1dw6h409ffn2prcsmq4rsgjshhs9if0igsz3ibxb6wkngbphv";
+"autopdf.doc-1.1"="1rf0l15pp475f41si7qkx9rw7n6938jj2k1wybx4ck7pf6hs7i9l";
+"autopdf.source-1.1"="1vw58d9g41ra5j2av1vdkzqhh7g5nrprr27qgdrn8nlirvwzbx9m";
+"autopuncitems-61825"="0vsc903wrd11isyvm4mzaq1z702prl94hi6pkrg2h4cx5bzlqmf4";
+"autopuncitems.doc-61825"="0cpjjrbx02bl02rk3fh8ybixbk6d0njji5ksa8n9qqh7iahjyj94";
+"avremu-0.1"="1j7mg5in2jhpb07jpky76qriyb4m0qq0rlkacs6amrhh57299prx";
+"avremu.doc-0.1"="1p7z2vj25fnx23rl6m76h82q8kli8nfl2vail4mpkx0brimn4j7l";
+"avremu.source-0.1"="1zz9b5d08i3sjj74q609k5kyi9nr7yyczk00i3dqfz5x3rlyljsm";
+"axessibility-3.0"="001z3ra1zgsrvhlnvg9lmvc56s72b3kip71c1cnpl6qzqcc2y6s1";
+"axessibility.doc-3.0"="0s77mr42dli8vfc9h6gslq5g103rp5vk94hx9cw3w3shxazib73r";
+"axessibility.source-3.0"="1bh92wig3grw2bkkdd3fxwlky7rrfabzis1rwwdzgk3bmmrl9554";
+"background-2.1"="0rxb5vdfgxxadgd3isbghsmycdh4ia9yjx66mc48n396b4psbrcy";
+"background.doc-2.1"="0a1zxpw8wjq1mc87glp7kwdvkrg618ybwyagdkg7xnp8r7wisnjr";
+"background.source-2.1"="1mb6radqhhaw7k0ay4i0mrj4bm4n0v4lj6dwbk8h898ypnmdirx1";
+"bankstatement-0.9.2"="0r9yfjq0m55bd973gqvjpy3qfdhwglwm8zki37ppj1dvca7rzrbc";
+"bankstatement.doc-0.9.2"="1qyrb00m7rlqkn77hw6sb3r9b8aap2qj13ni3bwy4qv2s12sfmyy";
+"bashful-0.93"="0cp0lvqb88myspsbp7s3xd0rrkr1jlqcqq846mk8p7r6r4apl1ca";
+"bashful.doc-0.93"="19dbyg9njh2lwckmqnmy52gllsdwv2nvcp20marsjv5hps80946r";
+"basicarith-1.1"="10cjfm3v6b7rkzc0wngg635xbyfmrnzs5y6f3sn0akdfxj0d3x28";
+"basicarith.doc-1.1"="0qm4qnxp3n42zvkxyzanl4psiph9z9dxz5b2i32fpn7p3jhn2qh4";
+"basicarith.source-1.1"="1my6sp0mvbmpn2bakr93qwasqh7rwmzy8lhl608lssnxk33h8x8j";
+"bchart-0.1.3"="0knv4byfxfalyhmsqiq4wjcin0q0hyj9gs7f167cddjyzcg4z23i";
+"bchart.doc-0.1.3"="0zyiw3f37i3shf8ihhzxagvzwnsdaymbkpcizdm2ryziglahh1jy";
+"beamer-rl-1.5"="00c2b4ajlvlhjamv6paxv68wqdl15asz4fikzf5z16ng6g74nl09";
+"beamer-rl.doc-1.5"="1d7jm7ckvvhw24hiwi46601gihk4mirs3hyj7yhjp9ic88qmpqr3";
+"beamer2thesis-2.2"="1rz02mxmvrq0x06xbrdqvfgs21nhkcislcnpdwx9gvrdmwpcyccq";
+"beamer2thesis.doc-2.2"="1ialsnm6qc9bwry5575b8l9ifgymidrsvy2dc786ixndc0fzn84h";
+"beamerappendixnote-1.2.0"="1mqx0wwb38h1aaxc4xzzq6430xhrxb70qcdqs5yj1sa7k9638ags";
+"beamerappendixnote.doc-1.2.0"="0nvf6m7d6v8mbpnpz8bdam9bz4h9d84nsf17s1k13zv846rsp34w";
+"beamerappendixnote.source-1.2.0"="01lkwbk5vpnpbrmjdarnz137n5sbaxw0xaich2jvcjlin46vfly0";
+"beameraudience-0.1"="1p3bpgkdbm3dlh7pj5w6yvgr0iqjshn6kchdpx86zicywwd2hqpg";
+"beameraudience.doc-0.1"="1qs882ypjg9cp19mrpr3nl54h1zry3pawjfwx8si2b6bsngz3wk9";
+"beamerauxtheme-1.02a"="1a8q3a0z2wckyr3694nnkry0waqzqsgp3cmaf8ijcrfs42khxjcf";
+"beamerauxtheme.doc-1.02a"="19r7vjma15p3vw0nr3w51ghy7hq4pv6x92iway5rxmlx97dw4piw";
+"beamercolorthemeowl-0.1.1"="0kb2pvj9caszn40njgq99779ynp5kdq8ynqa0q6vhrh9l0r7d1i0";
+"beamercolorthemeowl.doc-0.1.1"="1crml0lvdyk56zf1ylk8d4441237kfpnn7v9sah98w8s7rlk37r1";
+"beamercolorthemeowl.source-0.1.1"="0l171ahdzizwpq8lq4rai2naj0h66q16p69nwhlwabynjkmfhhzv";
+"beamerdarkthemes-0.5.1"="07zg346brdpckcfr1vnmvqcahjmp87cb2sizvyx4jvxv19qqwpkb";
+"beamerdarkthemes.doc-0.5.1"="08zkfvjvrjh8wffv7qjqmv6p0997kriz6lxz06dnsp7l5j3p675j";
+"beamerposter-1.13"="19h0zh583chawpzm59xv7243vzkz597df68yy0zmn3r6ha8k0qz7";
+"beamerposter.doc-1.13"="0xspyywk813ndrd5xps7fxwggkmdl078fmn1cvxfx3cxpnmdf822";
+"beamersubframe-0.2"="06csqdbh272jbh3zpi0f8zblbmi0sp5iiz1r1qa9qc0lw81mdh7m";
+"beamersubframe.doc-0.2"="1g29xay21yr8aap2fzklkg8q3ybz0xmz22xx5cd9md93c8k9kg7l";
+"beamersubframe.source-0.2"="1zb42dsisab4234s79xvva74rlicd1gg4pbh867rxd15ajgy14k5";
+"beamertheme-arguelles-1.2.1"="0rw3q89f6pvzs3qm1rp80g67b04klsiwgpjjbjaw5yg4qkmw1w5c";
+"beamertheme-arguelles.doc-1.2.1"="1gqh6hydhfwnllgi7jyn1djk5n688sjy1a9w5r3fw140a3r90gnh";
+"beamertheme-cuerna-42161"="1r6c3ar29s06b0yfn85wssxccayxn2706y9jxdx2pxsr85ndc4js";
+"beamertheme-cuerna.doc-42161"="0a8mmg184chg2lljv1k7ffydg4sgcjpjbnfjzqcg43cqd01v5dmx";
+"beamertheme-cuerna.source-42161"="1avywir51zks1hygqypsfi6lkrba9ld6x5mkr8lln7b2s4ijnysw";
+"beamertheme-detlevcm-1.02"="149ya5raar4xfkb910lk85pqpm6mrc5n5ghh6350knbmaa6bdwg3";
+"beamertheme-detlevcm.doc-1.02"="1wfq3wc7b3516s81sbp6md6mx9szbzq5ycqvsr50y3s2wfvvj2lv";
+"beamertheme-epyt-1.0"="07pjgzgkjmr4hdf16m7kx2cf1448253jwgc522akfvvnmx9fi26p";
+"beamertheme-epyt.doc-1.0"="1a987h1cg48bw05zjh79ga23qb37s82dkqhhgvp7gsnwz10pax2j";
+"beamertheme-focus-3.3.0"="0v151kp4fjglck75sykyms8j2i96syb8bn0y8abg3q8hpsfg222c";
+"beamertheme-focus.doc-3.3.0"="0q9bcn6k35gwc8g1rscqfmp8vn1psra5hynhy2pxs9xa8ys43fbp";
+"beamertheme-light-1.0"="133mvm4cayp49l8xvh33q0jp4qzhmvd3q2kq2aij3sh6i0bzh5aj";
+"beamertheme-light.doc-1.0"="15s2s3b10w0czq513mm2y7qrczm7y91qhghd0zsfvmy129mwfarv";
+"beamertheme-metropolis-1.2"="1pmvcyjn04pgcmvanj369hxqjha0s7lh1z4b6fbhaj2aj32l52r7";
+"beamertheme-metropolis.doc-1.2"="195jhmhzr4gbi04zmss5nl0lm9rkg8spynwz5vqlgbci1xc2cw15";
+"beamertheme-metropolis.source-1.2"="1smxiqwdvz4bj5rk9cmsqmy3kwa722ab5fhns67jllvzrkzy8zcd";
+"beamertheme-npbt-4.1"="0m1mpavq8p4pswibgfhsbnvg59kn4sxz0m4p2w6zjkmy80s3naq2";
+"beamertheme-npbt.doc-4.1"="15kc24d21d1r34hd07zr65rp1k55fwrxr59h0ayiiwgc9fkjjsd9";
+"beamertheme-phnompenh-1.0"="1smqwy1f7jz012x5hmsknvarykalz58iysnwf3px7kwg83fr8mb3";
+"beamertheme-phnompenh.doc-1.0"="1pg8242n3z6x1n4kp8my2nfllriijxwmwfn7d9hccfnsvjj25gdl";
+"beamertheme-pure-minimalistic-2.0.0"="1z283v6ipp7c7h1qhm043g0sdfcq2dwzk9l0lyy5951y1kj965bc";
+"beamertheme-pure-minimalistic.doc-2.0.0"="1chzf3lgd4sx26nbmacb7dadpk1m1rm913dj01648vbd2bz9y4zb";
+"beamertheme-saintpetersburg-45877"="1d48158ladllzj6a1np20irl0r0syksb3wnisxbbwv3kwzr7fgj3";
+"beamertheme-saintpetersburg.doc-45877"="1qkzpbc29587lmckjkl3lx08f2j0q3aaidqz22r6bg896j8q8pr4";
+"beamertheme-saintpetersburg.source-45877"="1r4cw99zffqsvppc9l7z9k8l93sfk1nk8pzj50nm2bmkrdbfk32x";
+"beamertheme-simpledarkblue-60061"="11m8p3n45qf697sjzszjpkdwqfgy92pzxh9k7dx72ikpdah7ba9h";
+"beamertheme-simpledarkblue.doc-60061"="1ifbh5r0sxk8nsf8cd1g0d1w26ypb5hhsylc7pni6wn9n70799jy";
+"beamertheme-trigon-0.6.4"="1l4iwqgbn9gh5lykfajgcyyzxva2d7frp9iqinvrklbv6frpjb54";
+"beamertheme-trigon.doc-0.6.4"="17l4d616ixb6c3r0v03ynqvd87zp40kc6cbv5klc5r7z8081pn0d";
+"beamertheme-trigon.source-0.6.4"="1l9g8i7sk2lxx5i9yprlv5mcgjshpvadzchv09mwbm9k0fps0i0c";
+"beamertheme-upenn-bc-1.0"="09a7da5ghgf5q4qp0djp3pya35zsm45wkiy5srz8p9q8pwg04bdx";
+"beamertheme-upenn-bc.doc-1.0"="1m1bc9mxdwfdm0v2lb0i3pfxgf5as1lpm8a05icrm7bdvii0vsiv";
+"beamerthemejltree-1.1"="02ccd8qqyjkvqqyxr94p1gc6qjryl83vpa72wcm5ywr8gmxci0pi";
+"beamerthemelalic-1.0"="10wv3820avgviic0mcxn38yycyxqfvmf7qhb5ybz1x84jrw8k9hm";
+"beamerthemelalic.doc-1.0"="1wz984il1z42ck69xn6rnxww3x4xx127syyx37wdy246i1ji75vw";
+"beamerthemenirma-0.1"="0ivhbhybc99hacnrfw1fb9412f6614an1955rglkcbwxwkji6nyn";
+"beamerthemenirma.doc-0.1"="04155wbw6ix7an8sblw4a8q9hbn7vzwffady4vc23vzccc2i2f4a";
+"beamerthemenord-0.2.0"="1kb3485dv7kcj04bkgz8cv15kv7jmdjy0jcilvi5zc1vn690cyba";
+"beamerthemenord.doc-0.2.0"="0ls5ivdcgayz9pqm6j1wd5f45s063kfknzxf594rdipz1jnmvj4q";
+"bearwear-0.2"="1xaq0bmv8jv1zss6lwx2ccx8inrmyw1r9bjv3sbqfhp2x4d5xjrl";
+"bearwear.doc-0.2"="0vm9lm6389jnmcgzx0ffmay2bw4d0h1wfmsfbj3x1s1vrfl62r8j";
+"bearwear.source-0.2"="0dzmlcrc4izb63862dcafshzsaglq5m88z3cxmwivmwpikhh0gb5";
+"beaulivre-62834"="162diq80d98bq8pxlqj2925h8vjc5xzb2ma7s5sh3q74rgvi4hkq";
+"beaulivre.doc-62834"="1iz8knqlr5ish3da2insvh5kbfb9n150g85r1vwn0hqmwjpcri9k";
+"colorist-62834"="05fswrxy9fqn4q6hhnpbqc4lajjmrmyw1h6ydx096yddnmwdmkkd";
+"colorist.doc-62834"="1fh07zdirk8civas4yn8vcsaq28i8si34zrfzv2v18sjzd5lmswy";
+"beton-15878"="1rjj64wnd9xvh940rl9scidhv9ridqz38n8ndzs35hyjm8n2lx5f";
+"beton.doc-15878"="0i8lg2iyjkzpxjzz9ym61v4zkqczkhvs6qjb7zf5xw557l2i55gw";
+"beton.source-15878"="1l82y1fz86qsnv58gjq9rm58zf3ki80xmcqkwlmgfp334j9jqz8y";
+"bewerbung-1.3"="1grnipw9vjrqy657wkrg656wmh1553wzd1x84jc6zf9gp3v1440p";
+"bewerbung.doc-1.3"="0ny8ps46wxkbsd5g5yxyrh2jd74b204r35lggy9r7ckk4jab2wj9";
+"bewerbung.source-1.3"="0y79pmsbjzpykldic1a41l188wmkmn9izhvg5p77i7phx35s9qjz";
+"bez123-1.1b"="13l8qvnhfq575pg1nvcpbrwyv5wvq3bhpkmh2306mds784hvcib2";
+"bez123.doc-1.1b"="0qrskibmq7sv07g60gzd5cp34p21ragr6yn9g6384gib8vx60nqf";
+"bez123.source-1.1b"="0ab153h8i8nmc6v5g9xwvpymjvpp605mbj9dmxdyl3ic49cpnl08";
+"bhcexam-0.4"="01amhwjvy2w4738kn71ananprbgg025l1ciwnbx8nymp8w97byc9";
+"bhcexam.doc-0.4"="0lnrnwjilkm4xiwpj23r5c003ddm8zxsr96hsdry9inhi7pqih1k";
+"bhcexam.source-0.4"="0jaq63yy6rwp79sk34cx5pknk5l3lppqrzvca79s08jgi9aw2c58";
+"bibletext-0.1.2"="1p2cz95815vkvvc9fsa1qm3sc5grkxzdsyw30qkilff1nivb3cd9";
+"bibletext.doc-0.1.2"="0czz3l0m314a25i242kixy9f9spcj72h3bibfdib55gg05iw102c";
+"bigfoot-2.1"="1md91jivqvgf5kvwizc30wns9y9krk5pzvaihxkn9qs41j907wx8";
+"bigfoot.doc-2.1"="1lj6lv7iizbsaj00hvrcrdk9w0iak3wmx6mdpfb77jkzgp9dgg1d";
+"bigfoot.source-2.1"="112kj1669xl7qd2vrpgbi19cw00rkhj64ik6rrr885qr7bq5w79v";
+"bigints-29803"="10lsfqfzg0klg59s9zkrrxv4qjhnk74x90rkk2w5pi8zn83k6xac";
+"bigints.doc-29803"="0xj6vnqfd5rb8ahxbjaqz7jd5kpvihr4dx88avrfvdfr0qhg3zlm";
+"bilingualpages-1.0.0"="1yawm29kn5ghjcncvfllv7iaj6a105xg52r3bz1m74xhnxif5z1j";
+"bilingualpages.doc-1.0.0"="1bha7ixvvw04a3gj5lhpyw4pcarxzf16vkkl0d378bypa3lq5212";
+"biochemistry-colors-1.00"="0d4bbm1p3j6q28ckkl7ilkywrjx6iqvmx0qb27rpldw3jabf1lp4";
+"biochemistry-colors.doc-1.00"="10pa8jwpxr37hs0wcywzsq14x1jgjx1cqg94lpghi505mlrikcg1";
+"bithesis-1.1.1"="16ik8mwzg2lh6kbnsvaqy4zzpyrs54a7q8mn4dghnrzkz6gva59n";
+"bithesis.doc-1.1.1"="03c6rf2mpvlp26bzp539lmbafc2dfjyfkvnf3qmhbgqfypcb3r8v";
+"bithesis.source-1.1.1"="0aj7fh6nk0k1n1slshra15si6j97g7p6adq0c02150qa5bp9f28w";
+"bizcard-1.1"="0s6c3s99hid9pkilskd8ssc4hv5d5yg5lvw6kqz9szyii4rb6a18";
+"bizcard.doc-1.1"="0ic6c43nng4lxsznkpj7w86ampdzjrqqcsdsm1f758rfds7wbnf3";
+"bizcard.source-1.1"="0ywip83r43a721yfzrfnkfms0saly4p2ihagyp6259h2kji3vdjs";
+"blindtext-2.0"="0nwxq33ffivn2ywxwx2w4y7ny5nv4af9p5cwn6c21jadrdj1rysp";
+"blindtext.doc-2.0"="0gg45ayj3bibxvlghnz3vs0yj29zyr50bf6la0m26ma8ff0pw40c";
+"blindtext.source-2.0"="09ppqs9mdkmax1s20m43hdi6yfcnpy0ylwdi9h9lw676gr65cn0m";
+"blkarray-0.07"="096mlldfyi6hxsnp3flkr1gfqhvhxm2vzk81zw6dl64xihkvl6aa";
+"blkarray.doc-0.07"="1km35jnmh1iwya05s3ilhikzvz5yspxf18jh3f4v6iv5g8rxf9gd";
+"block-17209"="146ava8k2z6mlr2aq5vydax1i2sy6spn4avshcblgr5ph49iirp4";
+"block.doc-17209"="1nwb1z6df3y0anzrl6b45fs2k069i42bcmx0i4p9z9fsbgqqfw1j";
+"blowup-1.0"="0ynw0n297iy02597g6pp9ghwdbn8aw1xmyjr0dwdzn3r79aad336";
+"blowup.doc-1.0"="0b9zb3kq41brzsfqrhyn7h52x8salaq2kmsyc4457v2mnvbg8pf5";
+"blowup.source-1.0"="124cy91k3m7vc15jvn5y9nhiz7pd8g41d8qxjcbqys9d2qmcdjr0";
+"bnumexpr-1.5"="06achk9z1waxr6ndcfplnvhvd7k4z1l9mw9plh92qpj1dn48ncbj";
+"bnumexpr.doc-1.5"="1abhn0hyps7azg4fipnyxihhzmk5fdnklb4gxxsjvnnr1grka38y";
+"bnumexpr.source-1.5"="0arhv81y8993498qkrnlnsa8fiw88s389q6ybvndrmf85js5nwlb";
+"boites-1.1"="1176j9ikh36s0cgvsflayik1xp0zycbp8m9hg0c7jmzkm5haqw41";
+"boites.doc-1.1"="0visqy0qg18sa4mxszdl601yy0ilfgglv872dhzy8bnqqs8x7zzp";
+"boites.source-1.1"="1zirqghkw8kk8fa3xahd27dh60phxg3blp98iavh6bdhj0rm7iar";
+"bold-extra-0.1"="0samckbdgi91y5ay98h6jcaywcqfbmzcdb90kksjxv160nsvf5ca";
+"bold-extra.doc-0.1"="1101922s78y5d9rjf5immfir46vf0i1ig20wp360zcal571csgjl";
+"book-of-common-prayer-1.1.0"="1i6dk9ibp6al8jxhk6f6a8vsgpy40cr7m5k8zl1wq8fnm4wp13nr";
+"book-of-common-prayer.doc-1.1.0"="0ija5x2rgs8qxz3p4i81c3b9sznj749hasznxnlgn7anlv3s84rq";
+"bookcover-3.3"="0bna2navb27gzc30bcmgc5hjg6g6njcnq96s8s60b2lhbjigldpz";
+"bookcover.doc-3.3"="11wyk4r1z6m47j3a2yncjwq9vgz6vj752px33pc46qsm2xfllb0l";
+"bookcover.source-3.3"="0rp0fbv1hhaijb0mc077dg9g34dial6l7ldfxnpg8px4b33iwy67";
+"bookest-1.1"="1n6n322vb157fz11djcnfz07ykarin7n8mdr7v04wlsj2gfvv5hi";
+"bookest.doc-1.1"="1n94n8pv5s0w12w7yiws7sv8vwg06r245b7lka3g1j74p3xyc5g0";
+"booklet-0.7b"="093kp4ryfp8q1hg8ddmvaxxsw75wplgz4rrmmwmzcj3hcgyynr1f";
+"booklet.doc-0.7b"="0cd1mvkv29r2aqdy4bs02m3ck90rdv0nz01cq2x5xvqk0i8j5dhx";
+"booklet.source-0.7b"="1c67lj35yh0w9bfgiba9ank6wk9zqq3l3vvgwn8f3v6kygyqha63";
+"bookshelf-0.5"="10sjmi94cc4ix3a2c0qpavs1sc0mqfqfbbw4qygf9w1wdivrijfz";
+"bookshelf.doc-0.5"="0j0lqi7bjlivivvrvswlw89vav6fx8wg95bn18amlwy5l8d7kyiw";
+"bookshelf.source-0.5"="0jx8dfl4j4k2av1syngad6narkdjksqcr71q92h3090rf58njgj3";
+"boolexpr-3.14"="1jd298qazp3q0r9dwn7m35yrzvkl988c41l0r0vdq4g3nv4ppv79";
+"boolexpr.doc-3.14"="1cwj9473nazkz0acz4x7j1xp50139xs1ifqck40f2vb1gvhasly1";
+"boolexpr.source-3.14"="03kaz41353m40rbmars31pkbrrj6zwiajbv6fkabq0gsd9gy7bq0";
+"bophook-0.02"="02wgw8462aaqknrnfsv1y8l6q7b9qvscnarysg2hw51l9g349idb";
+"bophook.doc-0.02"="1j5xyh11h3wsidfjnpw2wr8pc5xazf5wbbzi04r3wkw3v0haar2p";
+"bophook.source-0.02"="0mansjz0a6g02k9n7ijyami0gppkha80mnyaf9sqqzl6ppqygvn0";
+"boxedminipage-1.1"="1sn8liypm113jvmxsb0bl07cprrvdgq4rhbnp85lb5671djr63gr";
+"boxedminipage.doc-1.1"="06wan6b11z6g2nbw73z5l27mb42cd417bq2vmmmxla2fyksjqqa3";
+"boxedminipage.source-1.1"="17lk6ns0zl83nhdi8g6sgij4ajghksblqx2aac1gx6fmq60p7pn6";
+"boxhandler-1.30"="0ab7kp5xpsvn0i796xbsvnz8lc1ka1wqayva54sfbsv9bg9n0xg9";
+"boxhandler.doc-1.30"="0wsl8ivnyxf38rj2xv11jzyiqd5pgcpjnb3nnabl8a3ijdynzsci";
+"boxhandler.source-1.30"="1l875jplpql2bq0h55nl9ddmia31069chxc4w86pzh4acqn2c60k";
+"bracketkey-1.0"="03mq7rfgkgv06m25hkvlhaw1mqw3xr0ghfjj2jb4nlpkwn6945nq";
+"bracketkey.doc-1.0"="0kr9il6ac79kvqdds4rn4g98qxy7nvas62364sv75zv0hb6wl0kw";
+"braket-17127"="1ml5xz6pyj66kc2jby0bg02m79vfv9z3r91da808n1zb22mmnjkf";
+"braket.doc-17127"="09vqvl0v1qkrhv65bh9ym1zm254iigl21d4c98df8ayvffjf6bx8";
+"breakurl-1.40"="0a3np519c1knm8i60z1d6rmmzdhfl340gkf6c4m1yss68didq0cn";
+"breakurl.doc-1.40"="0dk4hgl3411q0k9dz9f9p5f7r5a59rpjcicz9h7ynpc4g3nhn019";
+"breakurl.source-1.40"="1hx73iw3n5wgvaz2niqargiw36p068pjl8x65cajn081831syzfc";
+"bubblesort-1.0"="1qs3y6vs5z5m988cj6dl9n74m0j5d4hsmnrz6xfbpw2cs9g86jj5";
+"bubblesort.doc-1.0"="0pcbzg1p1wpw00h7h1va4j6iivz1ky31k8aq1jw4z9s5rwz64p9h";
+"bubblesort.source-1.0"="11g2brc46977w61sk0q9j2wmn5q9x9s3mv6fcgj8ywql3g4r85pv";
+"bullcntr-0.04"="0djfn002j12nb84svd414zng3rnjp79ssrdhfb6j62mx0p9j2hk7";
+"bullcntr.doc-0.04"="0c88in90fy65pd9shbf09bl5dm6yd3z7g535ni5js251bqa9wijh";
+"bullcntr.source-0.04"="00pdz4i2pkn1fbihaz16vbhsnwaybpcavvmndg7nj47jlcfplhfq";
+"bxcalc-1.1"="1lgk3zfraip1jx7hpkkxwzril5sqc1hn00km3ybicsvi53z1q19f";
+"bxcalc.doc-1.1"="09x2b2cdxgf7lil1vlw4bmmjn2kl84cgxd75w2js2y1znsfgsivz";
+"bxdpx-beamer-0.3"="05zpcwq6syy612w8jw10fqym4w4b4qxrd2i4n4hqwxv2sqgsw4n2";
+"bxdpx-beamer.doc-0.3"="0g0ld901kdq3558ngzy6mf2f2vgjjcngiig2pbjb8xakcq933jj6";
+"bxdvidriver-0.2a"="06rw5wwp5ky30s31f23gl4hpyzakn5b3vvgna8iw2iyy6rw5cl7a";
+"bxdvidriver.doc-0.2a"="1qwxy88fnfsx9na6c8r56n6zhs13d8apkjq7hhydsfs7qy54q4vn";
+"bxenclose-0.2"="1mii9n7x232y5398zl9xysg81hflamrj3dflrngs94mm4akmcv2d";
+"bxenclose.doc-0.2"="19nmr2ripjifpjw8xrr5dhll392llqbfqjd2vj2zdgkvqj4bar4j";
+"bxnewfont-0.2b"="0mc8akfajlyl6vfh620h8rcyfv02gdg4ycqx18lhb9vfivi3j4py";
+"bxnewfont.doc-0.2b"="18na6f8nqlagfszk9miy5bbx2bylgspck3pgglbkqb9cgkdf4qq7";
+"bxpapersize-0.5"="1l086n38f6c5sf33fckl02zcbdsmcy96yl0vi06vacb81g958k9w";
+"bxpapersize.doc-0.5"="0c1ga0v995k92z3bdnrldbp27h2w4mxvwchyjwbgiy86dknaz9wj";
+"bxpdfver-0.5a"="167xwjk3rchf7z9sh53i89lnkmixlaq4n52zd2drvf392pwir8zy";
+"bxpdfver.doc-0.5a"="1wnmdzwm5qan70i2hcll06hnhrqhk9adbj0hmsxy0y9jdjypsfbq";
+"bxtexlogo-0.4"="0s3dv2vadhqm54nssazwp419lm7k9030ggb09bxs1rjlpw7j3cfv";
+"bxtexlogo.doc-0.4"="1ym41dys4yzj6l9fqmssdxx8qxi4yvkhy1z8069639pi0xkjibfs";
+"calcage-0.90"="18rp330i29cw8pkfv4gzlr4lz5rlcvc4k0l8mvsvs0xa767fd3h3";
+"calcage.doc-0.90"="01xp6i814bnzgbcghdpyzb9f0zx3fwmqd3p97rk4qlf3g378l8y8";
+"calcage.source-0.90"="05lcg7mix6z6cw85bpzcqgxlgb1vzb3irhljlfcvq08lrdfjy71x";
+"calctab-0.6.1"="0rs028w20fcg5jmmnhwhvasb701j763pk4bwv09lj3g78769k25l";
+"calctab.doc-0.6.1"="07fxrnpnzn23lb3lrlvil6a8624vcvam1lq6sf8nrgs52fzl2grh";
+"calculator-2.0"="0zzir6kp8bkj9w8jyrh16w8bdgzk6scrdqljxvq2fpvw87fdxrcm";
+"calculator.doc-2.0"="10a961z9llgnrbsny9ia0yi5ikzqi6d3vrpd5dc1x6swxmfayv3i";
+"calculator.source-2.0"="0bgg0hyp0vj8b9d9rl19qr4nqi43rmslvg7fva1wh5ywm9x6ax3h";
+"calrsfs-17125"="12b13dhwdxr5dc37l7imlhn4sparyrnz0d3vagjxlsiinm7hakf9";
+"calrsfs.doc-17125"="1295qb7s41y2abs2ip87ipcvq15pzza0bwvj6pwpwxkxq5yrr83q";
+"cals-2.4.2"="03100nskddcxi7z48iwm7vnwlrdkxj7xh8wgbb8bx3vfcrz731jr";
+"cals.doc-2.4.2"="08y10p0i7y0jndknkwrwdws6ja78sz1qf8vxvhhhcpivxc7a5gl5";
+"cals.source-2.4.2"="19sh899dbk4z728h9v72xrf54cij8jhnb4k4a035xfb7ijc0jcrq";
+"calxxxx-yyyy-20.22a"="02x5vg0zfz31841x9cd4zgkb3zqrivcyw33g5k1b8hircziaarqs";
+"calxxxx-yyyy.doc-20.22a"="1zxn7gb39zas9jj8pnw9n569nr2li00wssk6h19cczm8mqvl0sdc";
+"cancel-2.2"="18bkqkdf888nd6j187kd39g0vgfhfh118bky8r5wwzy2aq843061";
+"cancel.doc-2.2"="1x6dhr2xyx66i8qwk98li3vp40rlalfrf5lk8ah4gq03ndhmygfk";
+"canoniclayout-0.5"="0smvc9bmcqybim01h2r6lx6xdr6y7218lfl7hhjrl0w25hiszaa4";
+"canoniclayout.doc-0.5"="0yh37kqxksann7gjvc1kfwnnkv1lqhx2aj52b2skv960visx5m4q";
+"canoniclayout.source-0.5"="15iyr0bcymylnbdfqvavjiazmm2zp8f93zx4fb5jvi5hz5bryy6z";
+"capt-of-29803"="1b89cznanql6vmcn1jyr1nqkva40i61lsgjswsqjgdqnlbmvsm43";
+"capt-of.doc-29803"="091qchrgwikiissyrbb5i14634130vn08rkj2v7cnqzsb9c44f2k";
+"capt-of.source-29803"="0dlgrkl1vcvf8qck0pn20ic7cmsvxqkmvgp04f9hn3dmk0yrzc3r";
+"captcont-2.0"="00zp59ypp753b17wcn9212gxk0w11g2a7rn9gi2mn4k5c3djc10w";
+"captcont.doc-2.0"="02n200ziiq4lbfa3mc8yk7icayl7l5ci3kpl8mlkdyg9r0a14j1d";
+"captcont.source-2.0"="04wilkx7vd5bn05cww36lywb10xq6b2nbhlxnjq5xbmdrdf9ckyv";
+"captdef-17353"="0gjbxdn70qskb3xl6gmags3gjq4pks44k8c48lxljx3avpvxnfp5";
+"captdef.doc-17353"="1wl56hjc0204d6xrpvypgra7md18db4bz7657m49893m2pmc2x7x";
+"carbohydrates-0.1"="08fsn3xp2bmkkhhqq0l8808j92vibkc27mi8frhzb7g253fnmbwc";
+"carbohydrates.doc-0.1"="1ygfgsik471prmbnv7cwak72w8daj7zgvdw50hjn4c6mqsi6g3xa";
+"cases-3.2"="15f3mngrmvd0h6yy3jiifyzfrgi014g4dsqz9c5g1mw65yyssl8s";
+"cases.doc-3.2"="1vq4x3lc7zrxsh3b7dy6w53aikx5vfzx26fi288b44g99f3h37jy";
+"casyl-2.0"="1cmz40n2h7nckjw9x8wjrj0kkig4xhjslqjachsdgidd151m65c8";
+"casyl.doc-2.0"="1y1gc2a1fw8fmrs4milnqvn0i099khhjq8pmsycj4bxpbsbpwqva";
+"catchfile-1.8"="0dx2smqpw2jmzbsfl1g1zpa790qaxas4cz1xb5r905pvpca4q9h7";
+"catchfile.doc-1.8"="1xhzw6ahzn8fgv2rxn30xszzpdjqgr97njvx7fz9bs9z7xr8f3si";
+"catchfile.source-1.8"="1gbcl7bfr1zdvn69zzhsbfa808qdfq10c11qc3qgihpzz8s99fr9";
+"catchfilebetweentags-1.1"="0xvk581zl6wk04amq4q6s4mhpb4d3f239ihk16m9fglabhq34xwx";
+"catchfilebetweentags.doc-1.1"="1bd9dgjp2rvsv6mn40m7i2s5s84wj7hbk8rka2a5djb00fv4fgzq";
+"catchfilebetweentags.source-1.1"="0lvxhx6id5ka9r3zp8h0xgrs05jax4r5rcyqcs1f77zfc2s6s8iy";
+"catechis-2.6"="0i0bhpal6yjhama3l9q9w8ljviiljqjcxixlcx39h6qq2dh5a4sx";
+"catechis.doc-2.6"="1c11g2nbf5nk7pfmg3dqyidm83xwbcqnshpwhbbnz3vi8lb2ycw1";
+"catechis.source-2.6"="1vq6nbis9cgrsch7w0yfm1s7y8ymydhbhzvllpx2ml6qks6vhy7i";
+"catoptions-0.2.7h"="0739w56yv2rrz9958xhargjjknkf4bs2rgw1d9122ixrp1vw3241";
+"catoptions.doc-0.2.7h"="1jfv3946gqfbph8lzpzp8q1n6nhd2dcjprjylzw9kwxj5i42qqcj";
+"cbcoptic-0.2"="0y4y76b69ila35ak85wkakk6w1idjy92jhbnj01i82xpjnq9qrss";
+"cbcoptic.doc-0.2"="08c3v6rppp3qfmg4nz0abwn2ka60wc6zrdx6qh1b591xgfwcm4jr";
+"ccaption-3.2c"="06xbcnwyh6s417dc5kdf9h2qhi557fp0w5ikjdwkzsdq8q3ybd00";
+"ccaption.doc-3.2c"="1319qx3dz57f9hs21lxicwr8ql8131yk97zdps9rpnr5c6b0pgdy";
+"ccaption.source-3.2c"="0is0wzbqijcyi703k3va7icjxmf3v2rmrlhdlbhs1wzfyz1cmd2h";
+"cclicenses-15878"="1rsj1gknw2ib42h1jn5zdhwv1n5hg2fdny08wpkwyyn14r5n52r7";
+"cclicenses.doc-15878"="0vdr7nw2w4mqh3hiinywmrcszav7b0nc6jgrky1l3pgja9h78cj7";
+"cclicenses.source-15878"="090smmkqiaam8k5jfk30xk6jrzdz6y75bcawm94x5l4sc8mqihir";
+"cd-1.4"="1h6x7mm7bvvd9za8vsr0dnbll2m404hbp7g3bwh6z5dr15y0hw8q";
+"cd.doc-1.4"="1ws4qpknk8zz7cm0mfi9g9viy1f6r14y8hfi7dw2fl1lzi56j4d9";
+"cd.source-1.4"="00mi6aazb16bq9b68n0jh2vs9n5kv7mizgp61n7r9mpk90hcaws8";
+"cd-cover-1.0"="1x1z64h0473bf4dvyiraym65h15n0jkqbc24kr0xw4i0fk0q4l2i";
+"cd-cover.doc-1.0"="0lsxmkaldpc89sm9pq4zi8j3fd2aszglx06mqn3y81qjil9h7xvp";
+"cd-cover.source-1.0"="1060k65sxs323zkjv8pvx6b98v6bq3h51r84dmn960v9xaw8pp3y";
+"cdcmd-1.0"="1vs7lxaz2pnc93926245p6sylv6z38a10flrsfzp317qpkvvrqyb";
+"cdcmd.doc-1.0"="17xflbkibs98pdgs79yxwasr2xfwh1i54y5b53314n9nsr0w539d";
+"cdcmd.source-1.0"="10c1rjy2y5f772qn69lmx9wknzj0mydj80jywklckp4g4xif2hqz";
+"cdpbundl-0.36d"="1f3375jl826gm4arxsv0saigl8230d35dmkzvqyg2kldz5ig24s0";
+"cdpbundl.doc-0.36d"="1yhc82i1n44fp375vqyzrq47qdzwxc3x3zg10a791s4p25frzcn8";
+"cdpbundl.source-0.36d"="14aw67ah211c1simgsz0i3j6jxmnsj4arjfy5g20i05l892sb2xw";
+"cellprops-2.0"="05gr1jgr9m7yfrl1d8pgnh0z8xm7rk8522vl5wck2s2slmk8schy";
+"cellprops.doc-2.0"="15f1mbagh41qvzkqf1bdzlvchfn4dibsa2qj7zwaqszc6smscl1c";
+"cellprops.source-2.0"="0yb9gjglaqfivifxi6n1al6w1nm0ah3r4d9y8bc7xnfxikhx3sym";
+"cellspace-1.9.0"="0s0f11xrs670zhynqq43sbrx9b290jph8r6fp6s7damrp9wnz9fx";
+"cellspace.doc-1.9.0"="14znyc212pydxgnyzqwxd6vlvd72b64qjllmsjpcsxqi0f7am0ak";
+"censor-4.1"="0d62zlwi9k2ihqxiqk24qb4rcchryavgkxvqkpcdr5ydqb68p85l";
+"censor.doc-4.1"="05bff1cavrv0s9ah5jlgwj7zkgfspya9sddyfrjcqkz45d1nywnw";
+"centeredline-1.1"="15paqcr4acypfgisqrcbd4qg5ma2z0msz7d76shzlc8a8bxahkph";
+"centeredline.doc-1.1"="0zfj31277wg4ymlzc3z3skq4c20b5c6yw69460knw4jj1qi9pp0v";
+"centerlastline-1.0"="0wc1pwppiwycm5w3hp5ysnv3wgsw9s8m9p9ra3xbmlkqxd6zjwnz";
+"centerlastline.doc-1.0"="0f1x3wzxvgjxsgqparyjq4x32zbqjm88v5xdxm5qkiasai68r7q3";
+"centerlastline.source-1.0"="0ngxhlawj8igq7d2mhijpfcybfr6lv1jl82vs9kk7j8xrdf2nyr2";
+"changebar-3.6c"="1xdc20v3sgpk59q2rdjc3lmn08shvsicaa1xqcxyyrfvpw8gh4fz";
+"changebar.doc-3.6c"="0vyngv1ljprxv18awpaxzs4kip7l9zyd1dnmnph43s92nqa6bj66";
+"changebar.source-3.6c"="0gmgcbsb913g0bw3a4bvpha6gmhsf6z77yhrrs6k2k1lj0pyr96g";
+"changelayout-1.0"="08bapli8zvv8p15bv3sj7l646fagzbj44dbq81apb8lhqanvlf0i";
+"changelayout.doc-1.0"="1s304gpjg30kpygvg4r8r2j4bk9fg8vlb331lypd3dfd6slphm60";
+"changelog-2.4.0"="04djmbwcl4llwry38km6qcxz0akwx8y7smvpz0bp7fnvcc8knxnx";
+"changelog.doc-2.4.0"="12yfrxiiramv0d2l0fyy7m38f0llmlivbfarl6xr18ncbxr0g0qf";
+"changepage-1.0c"="070rd3drhaaw6z386v9z5rs7dmf15ci05lmlxsaay3s1ry1425bc";
+"changepage.doc-1.0c"="1149csn0iphkxj7p1bhkza8v6xj39k49rylp84d1ilckf1q4imng";
+"changepage.source-1.0c"="1slacsdfrjyy7hmhj4ssjkh0ln846b2ds11g446hmdvckyvz4363";
+"changes-4.2.1"="1cqdis0b9k20nvfc912xm99h6l36jzssszqrgcshl6m2kd722if1";
+"changes.doc-4.2.1"="1r03j3g11nh23misg9prjrbl3jvf45761jzbxjjn4pajynfdpm63";
+"changes.source-4.2.1"="1dzmdnwh8bbg3ysfxqq9x9nw44bz55f4gl79nn2z2c80f99sqvx1";
+"chappg-2.1b"="1lx2yw7xyvbhvmcaj5qk2bjfmgyr4dn7q0v8q3xfkrnbzbzmcajm";
+"chappg.doc-2.1b"="1c9qkc2m4rcixnif8y1zvcc0mzwjhzsbrbmy1cqv598cysc2yaig";
+"chappg.source-2.1b"="0fzy53whj61n52k1ashphabpa076244dqjy1v7icrb27gd1y86mg";
+"chapterfolder-2.0.1"="1lphi7j367ga43j95vlph7ywzj93lppnn4n83xhbvwp56azryqm1";
+"chapterfolder.doc-2.0.1"="1ns01x1y3dq3r37q783ha7xsnlg50vfw5knh2saw1rv40wf9vf1j";
+"chapterfolder.source-2.0.1"="0zc9fa6xgs0s6g3rfzq3p32dlr3ay4k6y443z4zslkpmnv0hprjc";
+"cheatsheet-0.8"="1cqv885i4crrramly68wamd9fcx0lj96vzys39aplars3pjv0glz";
+"cheatsheet.doc-0.8"="1ykadvnpwkyj701xwfpnlnqr313d33r0yigmsscshgr1dd52jjf0";
+"cheatsheet.source-0.8"="01hd52i399c9nsk68ymr8hmllxq1vl6v01fvs1gpm90pgvgdc9gy";
+"checkend-1.0"="1g4kx83kkpdd4fbd70b29hv82gbf19avd04b3bcxy8d0r7zyyyad";
+"checkend.doc-1.0"="1hzllxf7pnp7kg2623i5yhl2xq6phifc4jc57f2zfgfvvw0hqihy";
+"chet-2.2"="1ngh07j5kjp5v1pmymckqnj9knjadqzs8ia4h4vdyxp4zprgyqv3";
+"chet.doc-2.2"="0l628j4b4m7a5p3vvzz8rwc236wqqs7vrf698gfj8gjdbbv0c9cz";
+"chextras-1.01"="0jb9dl29m57hby3hi2cfwks99xhrnf74d3fpan64852gvk0shb4j";
+"chextras.doc-1.01"="1ijm0ymdd4hh8sh4m5kxmny9nfn704prawr1c8x7445k9j1m2d82";
+"chextras.source-1.01"="0kkbsx2rqakaxq00nkvws7lpilzysxkmsijfxp1vyh73fz9cb8jk";
+"childdoc-2.0"="0vvf825w9081qcibwgyjdm57rs6083axqnr3lz9g8hd5s1h26s78";
+"childdoc.doc-2.0"="0hh51g80vlr0malbfqbfb0m5nln84bvnqa2d847khncxh0azlr2f";
+"childdoc.source-2.0"="1gaisc49xfpk37nrnm33wazihv61b61yhi40wwyblmhvwimmx6qy";
+"chkfloat-0.1"="1bv0gfqa1bhrwq7vmjn0ih49lzb5g3sxv1fdnp25lxp5fxck31k5";
+"chkfloat.doc-0.1"="02s4m1ngjcw8w0ywyqislxs6cb5vj5zgczg3dnfpqsypvxg2xr12";
+"chletter-2.0"="01gvs00kjr313a09y65hif15vqvxidi6ri11ypsbnsc0man6dhwd";
+"chletter.doc-2.0"="0mc8nlph24bh90l4x5bfc9dyldd4jjn46y08xgf194482dz2q8gy";
+"chletter.source-2.0"="03s40qmlbnlslcv8na5vwz67fad1chagal1pjq6lk0glhn5211dq";
+"chngcntr-1.1a"="1a61sdmfbbryqd2gj87bm4qsva0xjmf9mkxhxnjixpqmr4gixq8r";
+"chngcntr.doc-1.1a"="1rrkyvwbgfxxrnsdjybjqxqg15xyzr4s7qydx1ky2k7d2yxhiy41";
+"chronology-1.1.1"="0scb55ph1k2hm5bp1kvj203c1f27a6d263x39cmb79n9a6idynrk";
+"chronology.doc-1.1.1"="1rxwljr8jh5q3id04vg4abl0h19dkbzx8m04iq7500syf2xsgl7a";
+"circ-1.1"="1m6siikjprch991sqbchbrmhvh2knjh3895w48wjp9par050cbgr";
+"circ.doc-1.1"="1zmyxc0iz7ljrkklqdmpiax9alk56pf1i4dm6ljpyisd95blcys2";
+"circ.source-1.1"="1vdj8qzym1ihkhm628zz99w6xwzhav8ci0vlckqpz3y91nkkpxaz";
+"circledsteps-1.3.1"="19shkimypq7gvl2xq6aniabkz941mkhfz3svjx2g1fngbm9a832l";
+"circledsteps.doc-1.3.1"="0fy0fa79jll629v9296pqdmmfg7jag7xj2mx9jc358xiqprjlx1w";
+"classics-0.1a"="1l5p09agmrik9dkhwghjg8qh407bjw5q9hviykq7kf3y006dpzky";
+"classics.doc-0.1a"="0xp87xj7328ipwq0l8xgxn2baqm9zmp8dqyhv1iy68k9wgqr2f5w";
+"classpack-1.19"="045fl18pbqs3rxjp05mcmzhrqs94xgqnim96g8mij5v82fc7c99r";
+"classpack.doc-1.19"="1875ak0yjxlvsn1gs97np1vhy2jr2yymjxgr72p25g548sgi64q4";
+"classpack.source-1.19"="06r1kpanvp3y43jc8vrskba6qrsi115akw7yjal528fxn1lypq8n";
+"clefval-0.1"="1wdxl93z0svgg6h7vdhzqp74clcldxqh95yimqb190cbm6v5ll05";
+"clefval.doc-0.1"="1d1pw87hszspsfrl5c14q3c2iy1fkbh77dzldhajx71iqjfza634";
+"clefval.source-0.1"="1x7dvg6q0hy6pg05qpi2qaxw7y7a2dcfa4khddvbfcngp1dirrzi";
+"cleveref-0.21.4"="1d4qp3jl9mgv4afgdgcns5rr7agn5smiwqkmrasqchj4hqzwxhwd";
+"cleveref.doc-0.21.4"="10wy2zndm51fy3d80cqnwsjxyczqjjffx61ir6ky3nkmiikiyypn";
+"cleveref.source-0.21.4"="1qyyvn226dj4yq25cf5f7yzc3gx9qmxmnlnjijydgmmwam71s3xl";
+"clicks-0.2.0"="0q5sm2h01px75vlnfzby8jxvz584yh3pznib5y47pnwi4dw3dcs9";
+"clicks.doc-0.2.0"="04rc6xvhfbh98xgyjwads4bzqqmm4hlshn9z39hr77hlp7wkdyi8";
+"clipboard-0.3"="1i9facsdigll3rzl8xv1i85cqyvlc54xhia69cv5cv0gly00p1dl";
+"clipboard.doc-0.3"="1b6wvadihwglj0653bn8fnnq18whx2hymigvyknw00fyn3xjgvgk";
+"clistmap-1.2"="0xl0310x3wrk9lhwhbqnzi3gsvmbvk5smd4wq50wj691vmag9ivh";
+"clistmap.doc-1.2"="116n1w0zfc6ad3nnq2wvjibpl4ywcfbgffax43vml5aixkpdlcq7";
+"clistmap.source-1.2"="1cr6hbvln8mvrs6g8831153l62b4h1k5731s2d0xdm46wwmq4m3q";
+"clock-15878"="0w5z1ffi25nabsaqh91glby7ifn40c9rhzxlz2kbyvbrdg6a3and";
+"clock.doc-15878"="1wp9hglx1vw8zfa182m2103xb0rhg9hmp51rc7bzm6fh3iyz52is";
+"clrdblpg-1.0"="0p38c8p426dn4i40wwhi5hisx3yc8bqdi7vwxdbya02smixkpp5f";
+"clrdblpg.doc-1.0"="1l0avfhvabq1mm9yqrpr29ps9iks84j7mbfgrbrd6kfgpdpqqhx1";
+"clrdblpg.source-1.0"="0iphx9hbs4ld49d24f2i8dcyjxaqgvxznq3i34ik2ywampr2a5k1";
+"clrstrip-60363"="18ln2mlc8bhhf96kqawba5dqi38f5j5s23qmp5dmpgdm7fdanlqn";
+"clrstrip.doc-60363"="1mf6bcc17ivcdvy36ash33bmhh9fcry0w30bfi96swjq17740cla";
+"clrstrip.source-60363"="1dc29n1m6bq5rbpf66q07nss8iw9mcav8s1gzc56j12ik1r2sa9y";
+"cmdstring-1.1"="08wyaqfyjp482gwkwfq2xw3skazfzlv0nn59qri9728rmgykd3wn";
+"cmdstring.doc-1.1"="0236d4ngq70xrgsaxg0b0yqgcnq55blkq7d4hgw3sx6s6hkxfkn5";
+"cmdtrack-28910"="0ygl30hj8rczxj8sxis9cfq419rscvndj5fwyrls3c1d2mnscizd";
+"cmdtrack.doc-28910"="03gp5n28lg10h6amf4vxamvnsr7hvrkhmscfcdf4jyp3kkkvnv4w";
+"cmdtrack.source-28910"="1m8kfxys9nh3xml6inyn4qyhqmw3h572lvlbh7g4z0zzqgiah3qx";
+"cmsd-18787"="0zykh9s50cgsxsv2958qyvwck5lw9s2a6fdx7yb14b95wkryqssd";
+"cmsd.doc-18787"="1mp1lxxhb489appwqsbg2g3lym4xvffg047lg7rpyw4msw3m87ak";
+"cnltx-0.15"="09czgnx6jqn856sr0hg5j9azaxc4i22yp1dz95nn4s331khl3z2a";
+"cnltx.doc-0.15"="1ly2cl3srazzynhikk6myzsfhffz3k63ddw2x9sbnvw6j7syd545";
+"cntformats-0.7"="0mx4rgzk4av74s906andw0h9ga5zl2c3ip0vi4q9349yj643k2q1";
+"cntformats.doc-0.7"="0015ynn7mw1y8v14qckbqkvb1fn5xqaz7rcs6gid1n19f1qsbh6f";
+"cntperchap-0.3"="0g7211nljimm9a5fvry89ch4nf49xhad9ka7prdmlpj87h9ygas4";
+"cntperchap.doc-0.3"="1fmq2r8ssvp99ykil3aak8w301qvh4nldsph389m7qar2pviy1sk";
+"codebox-1.0.4"="0s0145rdpqbbagc2klx2w5h6mlx4ns0qlllws31qbvy6byh65ngk";
+"codebox.doc-1.0.4"="1pj5qnzfa7725v6cixkznrs7yybc2v0ik9q2pxa4d25rpfxap524";
+"codedoc-0.3"="1zz70vp8ssblnacrqdsq9nwvf1lw69mlk9d94cfjc818szcgi9v6";
+"codedoc.doc-0.3"="1f3i3vw1cmdvgp05xckr748kzbairhvdpfvr844y7wnmxzr4rfzg";
+"codehigh-2022D"="1i7j2gggf3v0bsn37qhcpnx068i4434mww37018pgcb9l3y36ch0";
+"codehigh.doc-2022D"="1sxaha14d39yif006kqk8s4rjrfg5ynh0003kqpsknhlrwmrm6b6";
+"codepage-51502"="0kxf5zr3mhn5pd8pzmzslgnngk8gms27ax6cqn1z0n35zvh0p17h";
+"codepage.doc-51502"="1sd01q8lzrzgk9v1dyhf4m7a4fspjll3w8wwkbzp7gc693xg3lm6";
+"codepage.source-51502"="0b38lcswx2x1jl6ydmvs6yr1y0kiv6gdicnbrx5qs8xhwd93bcag";
+"codesection-0.1"="0qp4k2z442idg0mjnancfskj0j0k75w327fixjgdq1kl9q6jm9p5";
+"codesection.doc-0.1"="1fs5qhcm1cil5cqi8dh04zxcnv2imq4m77287amq0mbh3j5h9i77";
+"codesection.source-0.1"="1qfnls0g4z3xsmh89wjcw31gm09c7yh1g99ksf0x9ml6yx1j8f3l";
+"collcell-0.5"="0f0dzdnmmi4cpyg2qfdxkdl83qrcsddpqm7z9g9mxfnx4lf86y3i";
+"collcell.doc-0.5"="0wyvhcw36arrgnwq7zc8vck3m37qrn7my4r6959p4i7zhpvsazzz";
+"collcell.source-0.5"="1k7s9rkbp829wlby7h1hwlv48bzxwwghcsnmlxrs7qnh374dwb02";
+"collectbox-0.4b"="000fwzzw018nfijir6hzwr30szlqgr3glmpnl56rrjxbxapixhyx";
+"collectbox.doc-0.4b"="0d12j4mh3m3qhdzxabxigfqi2r8hc7jrw2d8lnfz16jp4yjhp3x0";
+"collectbox.source-0.4b"="1k0bbphvr20k9hgpr3dv869h9ygxx3g8vjapkc63nq8i13crpsvz";
+"anysize-15878"="0kkjzsk03bvnap54gdf0i797zqq6bdz39yh4dn810l5hyfqxbhwc";
+"anysize.doc-15878"="15z3sa1zj1hbi7cy9q9wn4mcrf0pb3n39q2lhkx0ijhzaxn0rmvy";
+"attachfile2-2.11"="17kxgd9f4q7qwciayq465wm1akrc4a5c3lwswhria540lim2sn8c";
+"attachfile2.doc-2.11"="1p66kvz1k17hvkkh5n1ygj9fcfygipsdqlpi4fpllc2q04w79y4r";
+"attachfile2.source-2.11"="0k1j5yiz71zzwpnm37pklmr4h8bavyfjay396pkqvjwrmpxbxfkz";
+"booktabs-1.61803398"="04bfbj0v47hiww6z8xlzphm2yh4vidf9gcp3rvh81j66s7wybffj";
+"booktabs.doc-1.61803398"="1hp3fbvg2v2hk1bns9b28hdjb2bcvn5d83apkr503ahln6rigf8a";
+"booktabs.source-1.61803398"="0p0hym0xn4zcmq8q5v93z1zi8n7hxz9kg58fq53y96hf6isigdb5";
+"breqn-0.98l"="0dm9r7zjdwcdv8hq0l08k49lq4pvvf78hrlib16rk9s03rz2v4g6";
+"breqn.doc-0.98l"="131y7g7hia9dgzf890xd5g4wfw23zr753kk78ajrdyn0jq1ipshs";
+"breqn.source-0.98l"="1hja619zcayr2gxsxhsfpv3gp9x0bx8y56mjcpb9ykwlxax4zfpz";
+"caption-62758"="06gr7sz3gkiji1rfsfxlpg9vbp5x7rnbfhbzfqv48za1lfj057jz";
+"caption.doc-62758"="0avy43a2jgs0rqlcb8888mnj1a5vm212zfvzb7n4kgrvkgcjp0qr";
+"caption.source-62758"="0sw8n7aachgy9iw6pa8qx3xbvajq8rgx5ywaphpqgsxvj3xlgw34";
+"cite-5.5"="07nw7axvgir19ayi3zy0b2sp8bb9pq1nl36x0wv3nrqjilvgrwr5";
+"cite.doc-5.5"="0pg5fc41iwqc1y9m9b47nh48fqp5dpnjbx14ny7ch9irxblg5d31";
+"cmap-1.0j"="11ki3gqlk6hjbpffmi2zdlj0rg5z5drcx8zw9nc480mxz931h273";
+"cmap.doc-1.0j"="1ykxc5bg6s1c2p52fyl2dkmkg25ylngsfrhsw05yzskj1l8v32yh";
+"crop-1.10.2"="1hnf65q6mg5fq75l4g81zvp4qqdb092zb41m6nl3zw2cvp8gal23";
+"crop.doc-1.10.2"="1w6ql3bnghj633ar1zwbv580py4f1fmdm4vk7pa3q7vpnrwrgh5n";
+"crop.source-1.10.2"="15fxivp8d1xww6j5nbfkmsb0b2c2ldmkdy3ikw3m6jjk269nwy4h";
+"ctable-1.31"="1xqhq2ww64h8vpqqzg3zbhh0z7xpjbcqcvxxm4a6kyasyhc9iyr2";
+"ctable.doc-1.31"="1nfdrjjb3j1n8w3x4v92v9l1k0smnygwj47ry717qgf2sq7f2b8n";
+"ctable.source-1.31"="0smcvvlq8n9ahx0z1kmf37p8zi5bjsh5q4x5mk7npay96s87z9s8";
+"eso-pic-3.0a"="01q25ka4aqpz46z84ldhd5rs3xcqjk6rl7j0nhgw4s2lznrvrpry";
+"eso-pic.doc-3.0a"="1fglwrzd52fv11i3bq60d9fzfm4h4zh003nks9wgprdj9cz0s0cf";
+"eso-pic.source-3.0a"="1si3j1cylgck60rqlk5ral8mfdv348xp7ialwakynqzf5yv1ak25";
+"euler-2.5"="0f63sy9zs0myb76wqgzww48g7clq6ni9kwnrfjkyyc4lacvd36in";
+"euler.doc-2.5"="1rl4bxzlmw95pgcf7va9gsrgz89602a9pqvhiym15b5hdwc5cb07";
+"euler.source-2.5"="0fy3dx3bf8idddxsj29yqd7bsv7cyyg8q9njmb3p0mw7laqrkjxl";
+"everysel-2.1"="090nizak865w2mgrflmz91kc0b2zmc6fq0xxrlpz68xwb214lzwx";
+"everysel.doc-2.1"="0bhqpzw5dpgq3842jbba9y21yj1808nxrg50339lx7b8vc5d2i8y";
+"everysel.source-2.1"="0aibvqmg2n26dici3adi849a5k20ck68v25vx1bz2f15q4gggd6g";
+"extsizes-1.4a"="1249x8lklry9ibil9crfvy2x3hk5afnc3g3khixqf54jcb29zpg8";
+"extsizes.doc-1.4a"="06a01bmilk7hqr2k9237i6x53f6wz4z4vhr8n0qc0i3j09n5i0ps";
+"fancybox-1.4"="077xd75n1lpy5a4gdgk88p0ai2is5aj4lf2cfxn7nsyhdvc1y6gv";
+"fancybox.doc-1.4"="1giimlw8zfksar2hwarpnhy2sd0jsdlxzfw6gz1lmdb8xmwkx2nz";
+"fancyref-0.9c"="1ns9b3viqg45w3pmnh69fdrjc9p39pfnqwwsfl9nnx04pf8b0p8i";
+"fancyref.doc-0.9c"="07g7ynr4qjv5l8v71ymbhx3vf000g5qq63c4i8q0iq35gird9yac";
+"fancyref.source-0.9c"="1p5xd5a6lwv71hp1sx490qwqbjn720gc1fpkk2inmmq6h6vwgpdy";
+"fancyvrb-4.1b"="1ngr2yilijcg0jaq70ihb7q0dc7sn885ialcj0bfkh138cly498i";
+"fancyvrb.doc-4.1b"="0ldzmqdmjbc2k9hmal117zzsf5gzkkfx1i40lxhp3y52dnsd0yf8";
+"filehook-0.8a"="149wsy6d4qzjra3m6cl0f9p25mwb3b6fc9d6vqqps99ysc9nvmia";
+"filehook.doc-0.8a"="0r4phnzx8y2swlyyjk59hxbvas73r9m2k81v330zxfigll94a7lb";
+"filehook.source-0.8a"="0lk1qzv2j1g3qmf91b5axcpjilagck5k7b7hfnmqj7p95gkdlb95";
+"float-1.3d"="08jb0v6lsyff09hid3whah0i0fk5znsik5rigl4l7vflnvc6km8y";
+"float.doc-1.3d"="0pqj9qq5yprg0xfxga8ck1s2wyjzz4ymhpqgzhzbxbdslh475vg4";
+"float.source-1.3d"="0774d7gmb8c7fc3f8yzarlx1m8nld1vg4gpd3dfyw5b39ra4aq4h";
+"footnotehyper-1.1e"="088mh736125609bliars0scv7v7bx315ajk801yj28vskg0ki5d0";
+"footnotehyper.doc-1.1e"="1dj6kpqar8bh0qk0qma2ckp68cll2ncllqfda4ffmc5ljmjp98m9";
+"footnotehyper.source-1.1e"="11dg59x87a8yjq8j413gk4p0bmpq8awwh50c6vs9rrcgv67mbycs";
+"hologo-1.15"="1jhzw2bxl0nvspr0blkglm6zbmrab13fs601h54gnrhcw10mxqwi";
+"hologo.doc-1.15"="1af7406hbdvb2fb735i6y7wi4bhnq7x7sijf63zl0klpf9pii8l3";
+"hologo.source-1.15"="04d83z1pw6scg4cd1616ix291zi9dz5nnvw9xc8hd4lfxf15nx1c";
+"index-4.1beta"="0lx5jl7nckbn0brsijlq78mm0gjshf8m1dqjhgl0l59qi56x5f4x";
+"index.doc-4.1beta"="117h2g30zbw5g6x3xlmpgq0k4fqixh0l8ah7350q1sxvddxfcc24";
+"index.source-4.1beta"="06acw1yb5z4f887p44l9afk78kpnjv9djmbwj55bac23ml2k3ddr";
+"jknapltx-19440"="1jw24izfsw3l8bn27qci3mblmhpkal9wcldhjll7h84fgjb9q396";
+"jknapltx.doc-19440"="0m3blfj4ninra6zn501x17q6b2qzckzcavgihgqmk9q51yibd5aw";
+"koma-script-3.35"="0m5w7drfgsxh0s3d124ybr8y5l6ivzypkm9yvkbnv1rfh43b1lzf";
+"l3experimental-61903"="12b1j7khza4kh34x5kbpksykxqqw4z9fvbq7kvnq9bdrppxxa0zp";
+"l3experimental.doc-61903"="18vlndpsnhi6503m8m9kbda25bmvq4lych42j0w6hn07yx1dsqr4";
+"l3experimental.source-61903"="0bkq70jk9m283w0c7f8yfpap99jcm41ya5i07h1i46m5sb8aydsc";
+"latexbug-1.0l"="1ndjq6lfasn16x2sc64xqx44x7amic4vqbi46ifvsjr3l2zglvyi";
+"latexbug.doc-1.0l"="0rwn941gj39y9lb662q61q07zj2fmwwllvbbdy31yyv6f9ngb3v5";
+"latexbug.source-1.0l"="0l25xl1hg0r2b1z0rld7b31g2criwcyiagbx7mjgypxldyvmn3qa";
+"lineno-4.41"="1krdnz6742d36818qhwn9i5f0wr9wqpjgh6qq1dnbjpx5589djnv";
+"lineno.doc-4.41"="1mgl7ali64f8mq2hl3gnwnirwc3r8ibb1fmd3w3fp0c3r15alyc5";
+"lineno.source-4.41"="0whh2rf7q6c6afw4qb68dfzq0bpqxmrp97f6fpb28i57m3f7fq35";
+"listings-1.8d"="1xlqk347698pq8w7rqgdd9fq39a279hjixcnxz93nzhcp9v93jzi";
+"listings.doc-1.8d"="1c3b3mhbaz5nk58wb569b6r9hwjb65wyjf3r70hrn6z2y06rq9lw";
+"listings.source-1.8d"="1q7k6dmma7l3vraic7k6gycb1jbpfzy09njj4g5pjc7j89qfk3sj";
+"lwarp-0.904a"="19z3xycaahm4jh1p1b45zvjfzpjigjnn44mgq1g3m1fifc3sn25c";
+"lwarp.doc-0.904a"="198ng2virjp62bxrs7bmzl6blhnmssry2pk95agl30kizvhx7qz2";
+"lwarp.source-0.904a"="0iljccjk9vzw9w36hwdad9ygpw0lnjwy33yc20b0m2fkv2p9rjsg";
+"mathspec-0.2b"="0gspy6kjnx7bs5dxap8ym8s0k9i8hczi6s4s97y7av7vc8j1fb5w";
+"mathspec.doc-0.2b"="07mmfcd0fvhrhafsfk4sb4dvs5x8x1rjk1a2xl20kwpfpp8l1rb6";
+"mathtools-1.28a"="0znx3qvdvfz29fqzhr0jl23n4yfr5w45cdz5vn01ypk5g1bgzsj8";
+"mathtools.doc-1.28a"="0y5kci2n6cy2rd0znjh475aw1f7ix2ja2jbhp3vr40xr2w4h1mzn";
+"mathtools.source-1.28a"="0n6r40kkhjbvqqzhnjd6prcs32s5dv05yf639b7nq8psahbkzawp";
+"mdwtools-1.05.4"="0l40ydzljgydp8qfq1lm9v8nz0mrz4zxpjxicypn2hx7bxs2b9rq";
+"mdwtools.doc-1.05.4"="09d2ahrpksnjd4x7gqfx7yw51ivfpv4pwi6ms5c394c3v30xak94";
+"mdwtools.source-1.05.4"="1w3sjwa0n3pyn33k4lwnzcswm86zj9givshk0raq2qdb4znvxsk4";
+"metalogo-0.12"="03crm3sswv7mz5akghqvkq1zpiy9jdpy32ivwwmf14sfrrri2cz7";
+"metalogo.doc-0.12"="08vgbmjhynb4ramaj68i27hpgijg51j80lm0qf1jrfpapz7lrzij";
+"metalogo.source-0.12"="1ak8qbcbqgirljfwhq7ylxk1w2frxfkjvadjq00cclj007idr3x8";
+"microtype-3.0d"="1j83fkjq09grmi5a86x111d1cf6a051xwcxif7r353jaa6cmqfky";
+"microtype.doc-3.0d"="0252ncfzghh2wkz46wn941nkmi1yfa0083x6kcc386k5n8f85fya";
+"microtype.source-3.0d"="07b3x853izi96l1k4kgm2j7lsf0xamppbxx382r9qkxrfay3vnlx";
+"newfloat-1.1l"="01l6gl8hjml0q2kf3wzdnypr96ib3dryspgqd6hhfg33h26dji5d";
+"newfloat.doc-1.1l"="0lagdv0hd7kjxf221a2vzpgskvfr2h2wcdps0l90ycr48g9s1j68";
+"newfloat.source-1.1l"="151qai42ssn1ngn4fqi7098hmfb9v858bkbxh0qrszawhrz4w5q4";
+"ntgclass-2.1e"="0hi8qb8xqxkpy2xa3ggc8fbbraar7xxwi3n9zy4zmjwq9p9r97bn";
+"ntgclass.doc-2.1e"="1dk7y25pvmavvwaxnvsf0wqm7vwz5wqmqd1gb7zbklmwszd2pbm9";
+"ntgclass.source-2.1e"="1pzp4daznyj38karq0vj8a1jpja0jbdsdyr1136nzi7bh3q92i0c";
+"parskip-2.0h"="037404fa7flsznyidn6vpp5r5rw6wpzrg6sc8zppj9hqciqlbd52";
+"parskip.doc-2.0h"="1pw9mgg04lxmrin7vplqyfhxa2bb73yf7qj8l3bwc9yiw78v5h4m";
+"parskip.source-2.0h"="1ysz2jfdi49qjyrfkx5k1vjcykk4774i581d7kynw7q9r25lyq9g";
+"pdflscape-0.12"="04r7pgna2bziz6jsxkm0kkva37gbnz5q42ib1r23pah9knhw584d";
+"pdflscape.doc-0.12"="128rzqfkvx5ys3f5402fi7qf7iw2rrgmrs3jvrglmj9719fv8g94";
+"pdflscape.source-0.12"="1idx3b5ndgnfnyafhvi6xjqvgsyjp2cvmhd7dwd6qn6m88c3dhki";
+"pdfmanagement-testphase-0.95m"="048djbcp7brywyrkmfl46m6hz4zvaxaw493sqjsnyszn58gmzp0p";
+"pdfmanagement-testphase.doc-0.95m"="1rhaynngv1nyny1dm5xpxq1xawah4gsaaxrwysc8wvfc17054jfq";
+"pdfmanagement-testphase.source-0.95m"="1jrv74bzpp7n26b9l70chdd0nq95pzknkwyg1y70qdksrdbj2y5g";
+"pdfpages-0.5u"="03h68bis3jr37x9fflfha2125p1nvgd7d9blp2i94mr2z7pg9aaz";
+"pdfpages.doc-0.5u"="15jaax17k7xpx1m9bd2xb8dffd6vlzxygh76l79vh89q6360kqbc";
+"pdfpages.source-0.5u"="1s7ap9gnxsak6ibfvwag7wdl50rfbvxlyh3cwga9ypq9fi8d9sqz";
+"polyglossia-1.53"="1w4hdkxf5snhvmhp5hq9cxqd5qyg3spg57rz5ssgvrjm3rvc4y05";
+"polyglossia.doc-1.53"="0gqxb8izfx34575rdynibyz2xmjqqxvqkx4nyq9kix1xw6a03vg1";
+"polyglossia.source-1.53"="1hj2a27aw8xf5byzvz25nh1hlip27nwlz6yj87hlxx7lgspiqk92";
+"makecmds-15878"="1z4m1kg7zy5q8l0a5d0fr7jl46wrw0rbwkxq1d0lm2s13xdn71dm";
+"makecmds.doc-15878"="1hqwvilvx61w47schnchlbgrj5snlp0lahsq5a1g2c1grmzpirnc";
+"makecmds.source-15878"="17c66isk18ch47syhsihj96yzi1jpr84946gck7r8ivpmk3cmmza";
+"psfrag-3.04"="0m5dlnjf7gmikg4nyxzzfz999gphkg41qm2sksq9ly2rspbdcs8s";
+"psfrag.doc-3.04"="135c7sr4i8617vwr4nnz8vcy5qv8icr0r0cmqsj6r1hpkm67zqhk";
+"psfrag.source-3.04"="0d68rzpxax5n0da8sg1nh50li7rc0m7syz0kvpsgzqbdp1clbcjn";
+"ragged2e-3.1"="1gnqicayahrvyfmxz290cyqgc49z4ga9cg1nxr3pds6fpy27d04y";
+"ragged2e.doc-3.1"="16niz00c5ac61m31vdx32i0w9g542hs8ld1lycj6h0wmhvsdbmj6";
+"ragged2e.source-3.1"="12x8x06clp3j66m6nj9ws9zg1kwm6c8220vys2xp2c8b825j9480";
+"rcs-15878"="1kri1q5b36d00k1pmpkpa0dmbv7qqprycxzmlmqvp7fx82s5awwk";
+"rcs.doc-15878"="1x6m7v28p3lslral4wk595clg3kjf2nwk2mi1sva2fl56mny7mzx";
+"rcs.source-15878"="176fvqs3r8wysrqlqwjdnm0xqgqdyjq7wfwnfb2iv3c3rmpr7ab0";
+"sansmath-1.1"="09zi9xps6pv6pjwp8pjiz6w4zqa9d3rwqn38167k2dlwnc3ij6g8";
+"sansmath.doc-1.1"="103h78a075lh094slfwlh2yk4dbl0wryzmsksvbp80gbv8w7llpv";
+"section-20180"="0rqlczfl443z7mjmnmndclbjy6qnqvla89s8yqwngzyms4z1h3v8";
+"section.doc-20180"="14d7576idcbpxlw7hy3hsdd41gpiyksb9ajwnn0jm1mk2snzb51b";
+"seminar-1.63a"="0a9sg439ahhhbyb3gp83hvnj4ap0f67xhnfj3p2i3k5ch7chkdd2";
+"seminar.doc-1.63a"="1jlrrqasp1rf1kb2bjqlhs61l81h89y7bhi7x2liiwa0vyfva7s7";
+"sepnum-2.0"="1gawca8sqgvkgc92hrv0mjhdhh9nqiafxg2ssk7m1r5dqc091qg7";
+"sepnum.doc-2.0"="19skfqlaz82ji5fzqzgnfaz642ms71hqhv2pavm6a8ifish8wcj6";
+"setspace-6.7a"="07dpjjwslfjz4vr7g04gdy3n5f886hb8x6x2h6q593mdzy3l47sv";
+"setspace.doc-6.7a"="16zqyfv4jwrzcamns4lz684g5fijhilwnx2wywim197rw396pvz7";
+"subfig-1.3"="16fs6ax4rjnv446x56jydx59ahw9ylkpq22a1dfnnyf8s4jm7a08";
+"subfig.doc-1.3"="0jm594akhy2b1w8i7ccv23z4z94lbd6rwpmr62mg1h80af806biq";
+"subfig.source-1.3"="1aprv7xqcwnl6076w71x5x8kspa1sb5hlpbcdrws3slfzm40skcw";
+"textcase-1.00"="1d12a3wqsm2qqkd4x97j1b42ngwljh0k7y3qjpnrjfs4rd2pkgxz";
+"textcase.doc-1.00"="0gzyjqj3i5lpj46qw9q4ivhswmb0d6v2pm7c005fc1ngy2y9dy86";
+"textcase.source-1.00"="1sfwq47axxrwgwmiyxjgkyzd7hm2p0nzyy29wab3c6ab184v6avg";
+"thumbpdf-3.17"="1zj2733wnq4zydf22qhza9j0nywh6fmn8xd3dc6nwfzm68pdn9ic";
+"thumbpdf.doc-3.17"="1j3grkd8vvz6ynajk9d4nss86qsx53xw9pzkn2mbm1smddbdh8cc";
+"typehtml-17134"="1lv5bl9bq1413bbbsjvh8gz1p3qd075y7asi9x0nja36rmcags11";
+"typehtml.doc-17134"="1cgx2prk9ggw3wkbabrm0sbsfb4ablglzh2ckvg5s0chgkilcnyf";
+"typehtml.source-17134"="1ihc1dq38rklrmw8h4k4i6pq3qy9dlwn7nwzmjblpsghszfivxqb";
+"ucharcat-0.03"="0xiryrx3pjx2nq01f4f0x3anx3zvkdarp87103z9zvpf6aa27slw";
+"ucharcat.doc-0.03"="0k1aqic1ljafdk8xralygdyjapkqa0qiainrbf982233kjqclpvd";
+"ucharcat.source-0.03"="08xxmm2rrpyi9a601bzxka226fnhmyqfv8cfbc1qdivn8658785y";
+"underscore-18261"="0a93sgddm7xy8iby50yficparkr6hnzj46w70madbwpjkpnfya78";
+"underscore.doc-18261"="1lqg7j0hnnhqnfzdv0zzgpnmbysypdind3fmr6axkw0czix1pz5n";
+"unicode-math-0.8q"="1ix7yd0yiss2j5gm6s8njqp3287v1h27xxall0ya34ip1n85wkmx";
+"unicode-math.doc-0.8q"="16w4qsgvgq8vi0ylivi3j5b80y4in205ysyq8xaa2ksa8rbbaa4b";
+"unicode-math.source-0.8q"="0isg86y341w2p4a8lpsra9djb2ldn9w5cxffwzbprri33j2yqs82";
+"xltxtra-0.7"="0zpvlsdsrn6pnlfd3aa23hcrjfnnrjivi7r61g25j9sqcx7cmkym";
+"xltxtra.doc-0.7"="12wp6zwqa5mi5i5ridd2amnr48xrkqmi92xdhh95ydijpzyslhli";
+"xltxtra.source-0.7"="0vwlj6f7z7fh1vx257v0gnxj29rp3xqjpxlnn156xp9i8i29v0hn";
+"adigraph-1.7.1"="077iqsmfa1fpgmnppb7bcnskpa9ap4wa53ip67b4d21pa1arzszq";
+"adigraph.doc-1.7.1"="11z48jaj6xcwrzv8y2byjcs88mdvqi2fqk0nqw3cy5pq7b5m7rap";
+"aobs-tikz-1.0"="0fiq64szq6243gy7vg99gi9zhz5c0svrwjwj92qnv131zj71lcg8";
+"aobs-tikz.doc-1.0"="0yy2nlq6d6q5cijdswkn3b1f2a3j5sbl3fdv599vxna5pgywsw6s";
+"aobs-tikz.source-1.0"="1dj665gs9cbx3mf3nqr0944kg59gwg43ll1dz9ci3jra0nsr8w5q";
+"askmaps-0.2"="1r6lk9szs7jm57b4hl9w4ngb9dqcsi6pvp37rcnwnznj5m2daj50";
+"askmaps.doc-0.2"="1ryw8yy59mfi13rrwgrfg5y5dy3cafz2a3f8zmq5fbl7zhbylq6p";
+"asyfig-0.1c"="0zy0vxxmzg7nzwzw8z84sym5wdfbs7kyf06r6vnn05ga06wwn603";
+"asyfig.doc-0.1c"="03nby6d7cjczj3irqql5wpxs4fx9z77bb03lys5j1kg63ccq5msp";
+"asyfig.source-0.1c"="1rzicq0w7byrxqvv8pympxkwq575zqs01s02z205azaqdgrzdhss";
+"asypictureb-0.3"="1ls5ryz8c68liyyyqkjvmzyyblh9m8c5b62igz8frrj4m5vhi3aa";
+"asypictureb.doc-0.3"="03d4l74m9qwjvl71xfkhspf0d2xaafl9d2kcqhmil5yg85hsq069";
+"asypictureb.source-0.3"="1jzpagmnv21k761r52m2f708275k4pwa9sqlp88l6pgv6s6p4pab";
+"autoarea-0.3a"="07fi6gdnl9srrhmj5v28kfvjs3skf8g693hbdrfzjkyw76iji46x";
+"autoarea.doc-0.3a"="1nyrgpvkj2bplf0psd66mcrhz5j4bggvdmr93p77ix4vb2fgh239";
+"bardiag-0.4a"="1lwa55zrl4pqyvl754j4wz076gn9rbl0kfchad5pzhckm27vvp6n";
+"bardiag.doc-0.4a"="1q3ng4j9g4bp3vvbs9d4md4296vi2xhzxji8nbvq1ibkzbplgd01";
+"beamerswitch-1.8"="13zdc5qd2x3gilv27fv4rbnqwmcgj9kxwky3b9rn2v4vgvxms9vl";
+"beamerswitch.doc-1.8"="0wip3ib4gzfg0y48sknlqwjdsn43lvcvvxyvl1ryf3vwpw67rjvm";
+"beamerswitch.source-1.8"="08v6200imxqrn2a6y2kvgb85km51cblah6w9hsg6xzq20rba1i1s";
+"binarytree-1.01"="04q8h54dl0fmczrv6fqvvisim1mz9lnvkdmij6b3jcn60z722k84";
+"binarytree.doc-1.01"="0j8gn6mqaf1zfi9y5ahfzmywa64kzl9jxpdcdz1fl98ailbzywf3";
+"binarytree.source-1.01"="17nc2whi2nh2r17gi9jn0qya8nyfjnn6d5r10klkp42b75jff993";
+"blochsphere-1.1"="0lifkhwl8rigg1w2k915yv1r9xylsj0qnj48cx58likwanvl8s2k";
+"blochsphere.doc-1.1"="0dbh11c3fjrdypam15gjlqwf3n9wxwhjqdd1h01f2f8yams42xfl";
+"blochsphere.source-1.1"="17bkqf64qvjhbids04bm3qhghqrrwf4m2bsl3gjxxc4h6sfih259";
+"bloques-1.0"="1gr3521mxmabcwvkqxn7f0wcpcmzy5jdpypyafyklmnhc2ij6zqj";
+"bloques.doc-1.0"="1jmvan6ja2zf01lm0dmh3dg4rf1cagfniqjfrmzpxc062khf97w3";
+"blox-2.51"="0p3ci3xf1vndbdf147r9l1s68x72g7r2np6znizj3qqxd22h3wxx";
+"blox.doc-2.51"="0hskpi2wnlrrqmv0s8i4g4bh03ka18w3czvnjjvhvmf7im9wq2ha";
+"blox.source-2.51"="06zimj2liix2y0f6a35kb8q9d9asp48c58mhc3pssa185bcc7bv4";
+"bodegraph-1.4"="022m4w5rpn7n9fndddjjlyfxrwgirw5x6k7vl40nnyc8swkjwb62";
+"bodegraph.doc-1.4"="0v79v2ijgx7qs3xbsp6h1nw3rn9rry5j0qkk07bvyz5aqnzx290q";
+"bondgraph-1.0"="0ryp004w9bbphqwddprw8c3v1vndl0r34gx7ag36hlqipl6r79pm";
+"bondgraph.doc-1.0"="1hk7lp72x6skzvknhndz6f4lppamd3frl2f4dbs4hlvi4wfwjgc0";
+"bondgraphs-1.0.1"="0dhm5g508wi8r8hsk753bqflc4rvm4zi8iv0564pfsfz40fh3xnn";
+"bondgraphs.doc-1.0.1"="1wnjhyr6r7jkmxzry9my2mw8i7q2nwq26zqyfi9mh6cv3x2p8siy";
+"bondgraphs.source-1.0.1"="0qqs868saap9zsl70bwzfpmq8rnyvq2k45nc31ddzq3563djhfi7";
+"braids-2.0"="1037lf47r7w0q8j3gdxcv032vyyqvw75zacqy6p61ydp43cj587c";
+"braids.doc-2.0"="0k8r3mdimm0yqv4wkswngc2yzg3rkgvrfxgq2ny3gcndqb10gp7d";
+"braids.source-2.0"="1xf8jn4mv0ds6bcaqlr59265r83984h9kqj9bsb8h3izfbpfx7qz";
+"bxeepic-0.2"="18by54j2rg04n19whsb2zjkksrdh6f6i54fq257i2mvcp0qpxwr5";
+"bxeepic.doc-0.2"="0117dzkqs1sy8si4dbal9p5p6csskcby2swmf2911c0vbpdl51zm";
+"byo-twemojis-1.0"="1c43vgcnkdvag1wdhivl49qm3c9pf29w89xgy0m02jrxryrjy6i5";
+"byo-twemojis.doc-1.0"="0bva1q3zxzkkrz2cc2zrin955p4r251hlb0w0gyfm156dss0iqrb";
+"byo-twemojis.source-1.0"="1msy8ja579nysqd0rmbw1xsh6hksm44ddi5q3x0i5p68k2pk1i8x";
+"byrne-0.2.2"="1bzlyhysyiwfxgjzdsz0ax8mkdvf3ln9fnwb33px92p167s1mdx1";
+"byrne.doc-0.2.2"="1wn4gqvaym5gjdnxa1pjbvnk77xzk6dzvpjil59nagibp0ap48pg";
+"cachepic-1.0"="1j93lljbpwca363sjk5qmljrfq4f671kg4qrnfyv9zqcxcpyfmmg";
+"cachepic.doc-1.0"="00j7j75zq3wa6z1liy0y6wzxjv96sq5r4dh7kp9f9icmxzs0x8xy";
+"callouts-44899"="19khsdal0siv0vvj56bxgkrj7bk1yyd3lw8iz6zijchp0by6gbbr";
+"callouts.doc-44899"="18zy2yzjlgn9g2wzlc9i52x8g3dv32hvbybjkm9fmklsgnw8fang";
+"celtic-1.1"="1vg75zj6p9bhp9qg4c7nvgncs7iiki5jizx27ld26yni9m2cd0sb";
+"celtic.doc-1.1"="1llinw15fnpjshks9yzlmbi04pkn6s87jfwgpnh5vb9hfws1ira5";
+"celtic.source-1.1"="1w3wm5ci6kzpnvlaxbpqndclhxlbs4xiwq90iig98wf97b85lfi9";
+"chemfig-1.6b"="1iv0wvvvv6zdx2y7522qd6h670mailbpm04rpkm3bwrsahb19drm";
+"chemfig.doc-1.6b"="0p195ah3ar5b17k9vpjvdx59aki14nv7dhp8sz19mxvbiqw1b2b9";
+"circuit-macros-9.8"="07cbpxyawy44ds1vy6kpp9cxgv2mlh78i1wakzw30q0bj4rksw7b";
+"circuit-macros.doc-9.8"="0k9xg8y1ihk7vgwa2aax7m6dmvpzja39cwvyqp4xm1l30lby46l4";
+"circuitikz-1.4.6"="0fd1fs8xa9z588gci4lwgsvp5z1vrah344bxajkqqh6iwynxxjbn";
+"circuitikz.doc-1.4.6"="0gcl3qa9x4lxjh45ld9bhgir3n7v3b5sdsjliz2pgc838nlhl645";
+"coffeestains-0.5.1"="1sfxi8zimkp76nc3fg7r3qyf628sh9p8rh2b8l0wq5aga20951n5";
+"coffeestains.doc-0.5.1"="097c2xgrgy95w7v5xb9lkgih65ji5jlxzdm6szdyqnf659bmibm6";
+"combinedgraphics-0.2.2"="12569y2i0q2lbmnwlwjfc02x0drpa3vcy58wbch4j2xzv1cih69s";
+"combinedgraphics.doc-0.2.2"="1jn4vdnlz0mwjv09ry0phbisf5zv5valwd3779cqbh1dzpnpl7lq";
+"combinedgraphics.source-0.2.2"="0xacdk2xsdlzgrxh0sa8sgjkwhwasvahgdgjjxa9p82bfjhr1f4d";
+"curve-1.16"="1h1mfx67i3d2jr6l8qlfys9m6bqzn4x1wb74cjbrkdclyqn3lmd7";
+"curve.doc-1.16"="1jv8f3izp9pvzh5qs3sh33c95v0z3wn88f278qxi0f1bc1k8990m";
+"curve.source-1.16"="0l9cq8aji7z8qh0p45af8rnz0iw9m1hgc118482x699iqrvg96y2";
+"curve2e-2.2.15"="1kxd01qfcj2ii7qics40g78xwb0d1scdlkc8a2mx2zsqyhnwgs12";
+"curve2e.doc-2.2.15"="1y75vjq25yj5pzddxgakdj8b18bq0rykfsv4j724aicmpfs8z6dl";
+"curve2e.source-2.2.15"="0dk1iksqd5chp9b221zq54n7flalwr91f6pgb2k5amwfy6i98qh3";
+"curves-1.55"="150iv654y4x5lb3njd7dfjf8i0axlpf7zz6gx4wqgq06kddjr7w7";
+"curves.doc-1.55"="1ddgy7gzw2871qsh99m0k90lgh8kf5883skcqxww0bl7b335qc8y";
+"curves.source-1.55"="1r9c0rpi7q6ishzaaw7qnil0lzqgdvc0ybmr3j083af17snkq0v6";
+"dcpic-5.0.0"="0yfjhpn8hr3yk4dyjfzbc8g7cki64039lb96naacyv8mjhqdpgyd";
+"dcpic.doc-5.0.0"="0vxqvnkxm00k0xqpllcnq01si33wyg2mkhpb7l8jxxxizn3wf5vi";
+"diagmac2-2.1"="00jzm6pdzxbg33fbj19ih813j9wvb1g9hr01g9xjc0d6nprq9mcs";
+"diagmac2.doc-2.1"="0vpm9lc33x5xyip25kay38fhld0a0z4l6g3nvhbdh65apb4j4wfs";
+"ditaa-0.9"="00ym9qcrzq9g72r5dkvqwsxig9gryizzznjfzarq9x9dvd7x1r48";
+"ditaa.doc-0.9"="13cw5a4wvv5fyknckvm6qzhl2lvaqvqvlwi711ix6zq6db3ghfsw";
+"doc-pictex.doc-24927"="0fdvqhkgi5j33rx0r4fifj69f4smn5w0n99vx90a3fw15qzxsg5y";
+"dot2texi-3.0"="0hb9mv8ai85smn9viig88f5hprj3dyj574amy9nzdr8f52lrbg2z";
+"dot2texi.doc-3.0"="0wa63gs8h9a5d94chiq1gr4lam8p0338lyqbw3bmf3ix3v1bzyvm";
+"dottex-0.6"="1ykjw55qzv5vk1wk90qddswvj3ai1s5xx674vkf5r07nw07dca76";
+"dottex.doc-0.6"="0vk0qgwvmny4fpa9d0gwg4s8z68aaiw1bn135d5msgikbkhbbmw7";
+"dottex.source-0.6"="1ph52wyv7fqri6pxsi289s7svy4p4zap1bdzbwqpbsrp6v4ngjqa";
+"dpcircling-1.0"="11qhxh5pgjyc98hnlbq8hfsb77bavs0z3yjx4809z6aypah5cd92";
+"dpcircling.doc-1.0"="1qrx0pnk1p046mx6nzjwgrfxaq1hmdgalqsp3cr6d6zgqwzsnms1";
+"dratex-15878"="02nyg30awmpp2yi4m6r9gbgz04irjzpbjhpp72j0qxzly8c8frqn";
+"dratex.doc-15878"="1a5knp5hylpb1i7hkd9160bah7pps9b0hm00zgn9fk33g5xrvhbz";
+"drs-1.1b"="17jp9fvj86sp4ywgc6j1dp3pnvgllilbq75298qamnnj3f403vlr";
+"drs.doc-1.1b"="158wkgnrgwfg2ikbj98hmcaaymrwpmnmaxillksv1b7gxmdrphk5";
+"duotenzor-1.00"="0p9gq8i6xcfg4pxdnqfswjcnc17x7pzsp4iya9b3fjq4kplqv28s";
+"duotenzor.doc-1.00"="1bc1pycds7r45c2bzmjhxs2wv0f2wqyxbycfrl6g4fycr341h8gi";
+"dynkin-diagrams-3.1415926535897932"="02s19zsjsql9qhlhf94z2smlr0j40z4rrx33iiwc54xx3j55asap";
+"dynkin-diagrams.doc-3.1415926535897932"="1gk31brjcrw88a2fb3y7jq47g9lkpr7dq7b2rmvkbwxd0yyf789i";
+"ecgdraw-0.1"="09affkfqlsrjgn546h6fkbzi4y7dy9zgf4i5a8kw6lbgl631gvid";
+"ecgdraw.doc-0.1"="1m42ngbia5ilcx6hjd0xid07vdvxmrb2vd4qmzr8bzzflj2janhf";
+"ecgdraw.source-0.1"="0825jfxsmicfqv1amnjx69wmfw893pcdqihqx7vv6yd9xs4bqciy";
+"eepic-1.1e"="07hg546cp5ab7x4zq25m7z184mvg7hyql7dsbwvgpq6hyz5pqzyq";
+"eepic.doc-1.1e"="13v8n27iw1b7qvs3baqqyls9cp2mqbycrbax7jnr8mfvp83jmpkz";
+"ellipse-1.0"="0hp6gm0na1gjxdjivxgakbkrq48mp9zblbfxxw68l2aa4jm1x1a6";
+"ellipse.doc-1.0"="0invkczwak9b89n6w8ny9bh1mg7amk418cf6b0552pb5rpkbby8m";
+"ellipse.source-1.0"="0143mncfyss0cyzq0aim8lvzxhq5q8a0cpsh92llqjl19s30d3fd";
+"endofproofwd-55643"="1dz3kfsjalq9419l9sdjws5bjisy8pmy93my8m8acdf3d4ryr11x";
+"endofproofwd.doc-55643"="1m5wq64v14cz4i29smnw742ak6sraxq9rzwcqkg40vgzsss73lxc";
+"epspdf-0.6.5"="0c6p7gqzkqdyii0jh11pvkzqjlvb7c82rpm4qh9mz8l7b9xfrzzd";
+"epspdf.doc-0.6.5"="0hdr1pvpdyxrs01438azgbj5sbysi3bxbiisdrqrlbsxvwijp7wr";
+"epspdfconversion-0.61"="0arf6kmziarh1sgani0bnp2jm8psxj937hrkaslfj8fm2s46gcmz";
+"epspdfconversion.doc-0.61"="1xpj5lymdh9w2ary36sx66ib0hwbjfbbhhcipdq4nkikq7a8zmpg";
+"esk-1.0"="007jcqvxp41h0ky25mgn2k3qdvyiyr3vj9mn6ml1zsvy1ymxq4dj";
+"esk.doc-1.0"="075wb7q7z5idhqh39isvkacpgacfcv966af904yk9ralin5fwbr0";
+"esk.source-1.0"="022n8rh8rwn9y4yx1rqpdynw2lpm8npwd45y88r2q29qcd9f62qb";
+"euflag-0.8"="168c6y6rivahj6cw377l54jsykpxaxvv3nbmr80w19d90h4sqa5l";
+"euflag.doc-0.8"="1a65rasxx88bkz3bg51bmzdbq67yphljaa8mgkp2b69fjsifm229";
+"euflag.source-0.8"="09g2gn9ci11dca9s8bgdrjaprzb66vb47ssfnj6n061glz9a244z";
+"fast-diagram-1.1"="13c2r5prb7dg05j0r4lkdz36v51zj6v5p2c7q22gfkbz1lj1s6s2";
+"fast-diagram.doc-1.1"="1f3ghs0l6mj2q3iw74rjjb12y8151cccvhww13h4kzc30vacr3r2";
+"fig4latex-0.2"="1bq3hj1gnc1g70jvrrvxsg1lkxrdnj81h08qr7hqwlwll37qlha6";
+"fig4latex.doc-0.2"="0ddaikx7qphb98xc3nswyv01d0xh5g4vf95fqsnbhg811c83jpk4";
+"figchild-1.1.1"="1rj51a4rcabpaalfgvqmn2nv0mcxy9mj0d0hpspzig16s74hfl7j";
+"figchild.doc-1.1.1"="1ckca0yifk9d8vspn2x3qivz32y18mbpbggymf6rchc3x0f63642";
+"fitbox-1.02"="0jk46rrq01bbqkwfqf1rdrzwv475mdmz4hqvbffkivnbwj1vz18g";
+"fitbox.doc-1.02"="0gb5gpdrdagilxsklq1aijr5zfl5n82nwal1h9qls0iqzjvgizka";
+"fitbox.source-1.02"="039q5as7939zc5nby6m6piz5h0zphm19hqjkdyrgzw1q4r9ypzc6";
+"flowchart-3.3"="1b6gwbnd9xjcvjxgnl6xjq6lja1a0p2xnrdlbrhs6ka6f6pnrbl2";
+"flowchart.doc-3.3"="06i32gmsqgvqgy0l0qbdjybnp4rmz2cn1c7zw76w3mhd9z220d77";
+"flowchart.source-3.3"="14ikpr9fga193y2vgr5sisvzc5scf04b1xc9hcv6zmkcph8dvnnk";
+"forest-2.1.5"="0q1xd07z1ccqrrfl3x0fg35sdv2kcyl6vgps7f6gpk5yp8j7d392";
+"forest.doc-2.1.5"="1s9i1kxd5zhdqv5xx29kh8i5fis642hcw76ya5bh94qffhwwg7j3";
+"forest.source-2.1.5"="1i6r6i8zh70zxz6sk0c9b07345vcfr9aapw8q5kzd3k76fzcqfdl";
+"elocalloc-0.03"="0jj85nyrq2y7w7pm9pq8qdj3xszg5s3a1j8zx2dvsy6a1s7mzd8i";
+"elocalloc.doc-0.03"="0rgf8vijb0dl48x4rwbzg7gd1apjs7vwl8rj7zyv60vx53zzkp5i";
+"elocalloc.source-0.03"="100hs4drnz5jy657crs8g62281sbgza7k78pvk1qfds2y8la2968";
+"environ-0.3"="0in2a7ar0c6ji7qhrbgp4bglcr2cmb9imxch8fcrwkims4g3vjp3";
+"environ.doc-0.3"="1pb6nmprhz3j9dx2h7sw0y66y1qlvhkjl3ip28bxa133fgqab148";
+"environ.source-0.3"="1jkbi2g2s13rngwqvr435i9n94ycnzp9xa8szik0nnmj482ah2hn";
+"trimspaces-1.1"="10rx6pcvwn1lzyivn312j76lsrw3lb40jgzyj861gl3r3pcls0nw";
+"trimspaces.doc-1.1"="13zf5bz4pp0lwp44kxdj1zw44h978bdpaiskbma752603jlznaqs";
+"trimspaces.source-1.1"="0nfwqm4a7c1ks5sqypkwmffqasjaw008pxjb5spr49h3sv7sp04w";
+"inlinedef-1.0"="0k6190v8lv2l96qpmh3pkblhwn6camcq83w75rz09517bnysm4yz";
+"inlinedef.doc-1.0"="0gz9m7fwcdxs6q5a33v7n32x5jr4hbxsy4j2shwv39j1j2amr1vl";
+"inlinedef.source-1.0"="007648wrb4ar04g0851yw663cvlmdyifidp854y87yzh536hfwi1";
+"pgfopts-2.1a"="0g7a22d0ppdzcazrif8yjic19lvz143p6vwflz16p6zh88yhcdm7";
+"pgfopts.doc-2.1a"="17q1mlaql7f510pz86n64sm4m97nii72jghf75qs5yr9h9lqrq6v";
+"pgfopts.source-2.1a"="1mz5nzbhmbgzjkpkglz2w3s9s8kzrigg3wrd91dmdhjsm4d4kczi";
+"genealogytree-2.2.0"="1jpjzsmhm0pc1sd186h4nxm8hbmdv4yhlply6aa5q39kj0c7a789";
+"genealogytree.doc-2.2.0"="1psanx3sddk1kdb1zdg83ab48r8zq3dg66y717n4qmprdn2w1xki";
+"getmap-1.11"="158fwravmqda1zwzw6qzvq7lrd1xsjm9cdw3qgif2jjq6zsrnjqd";
+"getmap.doc-1.11"="0s9djdlchnp6w7wr7w2b4jj6iq3v6f8r1ri5kbp5q3hfshjgah22";
+"gincltex-0.3"="0w1pk80idhws2yva3zvlbnwy2xbrqa0dckhwj8d9sdqxn5j2va4a";
+"gincltex.doc-0.3"="0zdv33r7r6x39p80jwjxk4k2yi4rqyv9w3nzkn7si5ckw223gz4a";
+"gincltex.source-0.3"="0m1yd9b6qlbmrxqnyk7kgxx7227zy6v10sf1vw856gpx1r6xbc22";
+"gnuplottex-0.9.5"="1ck4r4inr8ac82p0r8062z3hwf9187sv43ym9586sk3ip6kqb3yj";
+"gnuplottex.doc-0.9.5"="198g23i6k5f353w2aa9f9cw6cj8b4f93nsk7iq2hvhvk6ia876vx";
+"gnuplottex.source-0.9.5"="0iz43zdvzfs7spc6zvgclyh0vjnzkwcixgk5mg2a3wrig8r4q6fq";
+"gradientframe-0.2"="0c77ymahnfqix4h3i5q8fyzra5vr1fc2rygycwsz9zrf332ca5qw";
+"gradientframe.doc-0.2"="15lf5hlw760cqwqjf91wjzfbplp5npv586k967bpzm17pkmw6pqq";
+"gradientframe.source-0.2"="022x1whvyd9gqw2kj3m8pncn0m0c839bdwysw4sq5xx9nw6ixib2";
+"grafcet-1.3.5"="0yz1f2p8dn3a1ws5skmznbd4ih9bri6r7vr6rx3zcspmad1fjg4d";
+"grafcet.doc-1.3.5"="0inzw5cw5759c4l3ikzgn0zx47b0l575yjpz2613fh9l5ys800nl";
+"graph35-0.1.1"="0xa99vmdhmh77dyr63a3rqz79mr6lxa1sq74x8d9sj041gdmryq4";
+"graph35.doc-0.1.1"="08h1v6f44z3m31qdgb4b8p2z4d331d8ccqxii85dzmih25w9jwvh";
+"graph35.source-0.1.1"="14ch24l1prmpwfv7bwd8l96c8mf0cwdwlmz37br0b2qcb4kbjr95";
+"graphicxpsd-1.2"="1fganh87hpkac141i4c8f5bw06sfhy3qs14blx466h1nmc6308az";
+"graphicxpsd.doc-1.2"="12d820bdrnlq0v6rzd72icvac73vq7b7sq2kq0nab05xsdi2418c";
+"graphviz-0.94"="1gpl57lb4wkysxdhvqajzxjb4w0m5nxdxi841dzg0sg2igchfab6";
+"graphviz.doc-0.94"="09aa9yl3zmcc5vlvjvgaxfmhj83qk4wgp4fx90bgn28kxnzhicxx";
+"graphviz.source-0.94"="1w878b21va1y0mz08wr7mgdxl09hmbmxbzfnpv2mdqyy01lwpzks";
+"gtrlib-largetrees-1.2b"="0l0fqpw6sd1gg3da8s7wz324q5bdd9l80zxg835gfw0vvrn912im";
+"gtrlib-largetrees.doc-1.2b"="1mq4pbmsfvm4y7g4ar3a438469yy6x4ciksrns05dnkk54adyyj8";
+"gtrlib-largetrees.source-1.2b"="02x48sgx6vfwbdvgj0f5b9sc0kmkwcl6jyqzv0ascc77av9w41na";
+"harveyballs-1.1"="0d3wc82qamnc2pivkr23njai42vbn7xip2rlsj4kc8p75zh9da3h";
+"harveyballs.doc-1.1"="1792wp7zx6a9f19lplca1b7pdyf8zjvqndl26s84sfv3w4fmbr8z";
+"here-16135"="1l6xh4jl2nipnswdn78378vhr41ikj7qk07j7iaqkyigk5ndl0vx";
+"here.doc-16135"="0i454862gik3jy1g3v21laf8qag2cadvapqz0mn68hl9ymly4b13";
+"hf-tikz-0.3a"="13232m6hybqv16f6v0bmgiyfqdfj407mn0h4m9wgh9pzwy3g1rmz";
+"hf-tikz.doc-0.3a"="070h5rdgfffjs8sb2gaximsqjzby2vcf9ffvpljkd3jzc8rznlbm";
+"hf-tikz.source-0.3a"="1df36m347jl9640jig0qrk445s0gxyk6rl74i19xxv567bxh9n69";
+"hobby-1.8"="02p8xxqxkq486dxz2fy3vghm9qnc13pznz84w3grn1b1cys1sbmv";
+"hobby.doc-1.8"="08q2nn1av4wcqnlacjjh6bgbx57qrc9vigb695x5zrrydcqdac0g";
+"hobby.source-1.8"="1pbzsba0z0i3zf9np60fjx0wvpvimslal8xq15pf5p9lrjq946r5";
+"hvfloat-2.37"="1w2cskh458a6kjkccqs3jarx3x6kb17xl218s0lddbnkivc9hxf5";
+"hvfloat.doc-2.37"="1l10mcnbvxqg92aanc848yyycz3ir2pr59rx0jmzcqpc4v8vihkf";
+"istgame-2.0"="0zr94dl9q3whjlsjmkcdjyhxndcj4dx0d2ynm21inksavhxc9xbs";
+"istgame.doc-2.0"="1a0xrxblfh2kz1bx3iqw908cifhh0gwvxxpxcfrvjsilzbd6hc7w";
+"kblocks-2.0"="001mn33pf532iwp3d8likhbc5a4nsgq72dirbilbdgaxqxndmx12";
+"kblocks.doc-2.0"="14qyg0sqrr5b04j2ramw9zcfhbgmc9qfyy5im9la4id4b4zxrk25";
+"kinematikz-1.0"="12h8j42d7m2z1sms9gl3jj0qclvqnximmbj9fnmr270lk59xlc8y";
+"kinematikz.doc-1.0"="13qa25hh33jqaxscc464j1xd778x36f4d2wvb6b318iq21s2qhh9";
+"knitting-3.0"="10x5yxlrnj67gzd5kz7fvnz0nykvvi26sdm7i3n3d0si1vjzvczs";
+"knitting.doc-3.0"="1zm6s0rd3zkir9vxvbc37big9ygnyhcqpr4p306vqavvmf5g7p57";
+"knittingpattern-17205"="1ydq16bmviqkbf9zkrlxsh33bfn8nmyzbbi1xwfd7nsg1bhdf6d1";
+"knittingpattern.doc-17205"="1x1bswn2sd1w19g1szc573zayk43zi3718a9yqfzqnxa0qxvxsqd";
+"ladder-44394"="0a2sxy3rvc4w4a625wa000g4mjm00d8fpjff49v08kw1ddadv6fh";
+"ladder.doc-44394"="16dg0nz4k3491mj7ccvw32r71vyjz2hdgdh4xgs7p3n9jg4jdp95";
+"lapdf-1.1"="1lfmn6axzbfk03j6f12yqa0vy3gzvw1ylpq7k2ki4prb3zwhx9sx";
+"lapdf.doc-1.1"="0h9wy3amir9wdqv0b8678mfmcd172zll9p5v7sf1l0w3zlbw5msy";
+"latex-make-2.4.3"="1dgw31znxh3ch6xyg7y0ngnkjmpny7fbq9nhapd3am4l6qb0598j";
+"latex-make.doc-2.4.3"="0jmms953klgv8z4k5d8rj2l5barwxx02pmzk6ihpp1wdggfjxrfy";
+"latex-make.source-2.4.3"="0a5jqry52x11iga5ky89b57l1ww0hbl8z0mkkv6nvvc7bg5gg6w4";
+"liftarm-1.0"="1s2whdy9d5h7mf04rsq5mhs5bgkvx25j3cgzinc4r9dhb16a0dx1";
+"liftarm.doc-1.0"="0zq3wqzy038lc253iifk9rcp6qlchidvnljxiicinbmzm9v1w05q";
+"lpic-0.8"="0axszk7cpnc58rs7w7pwy3vpj39l6zc27g8lfxjzkzlnc8hbnycd";
+"lpic.doc-0.8"="0hyg9v30h6n38j8a4pbqfjxkqfc9ls3hcp1cf8n8dwr3ajyhvins";
+"lroundrect-1.0"="0s44pbvm6iwl2jyffnxriqlmpp6zs1y70z4aix8wwfasx86gq131";
+"lroundrect.doc-1.0"="01ncbhr1x995763d1dnarhy56d7mq3r8k1b56whqs6kq55115w2w";
+"lroundrect.source-1.0"="1sh8ypnfq4pwaqd934vdh77svs9d3a4114vghg6m4sz5fxh11i39";
+"luamesh-0.6"="1di01y6p60r52nr8jqlgrj9sf1fcc4mhkzlf2fjx533ss6qsm7si";
+"luamesh.doc-0.6"="0ybcj2yny2ljd1kzb4waf01h0w0n1wk8r77dv4a74v60px99k6km";
+"luasseq-37877"="0z0p4a0cr7id3i3wfbg0r7p20d742980k7mipiawqs8a3b18x0g8";
+"luasseq.doc-37877"="07chcsawrnayyskhf5x4bm5mdz7c71prh4176gg18ym9jf7kpvjp";
+"luasseq.source-37877"="0jdq2nrsc1svjcbx34r6n38zl1a8nf74wb9hf9nr89a2mdl3aj71";
+"maker-1.0"="1fymg22y0w2kghmqh5pgxkrncdcbbmhhxappc72g5q337hcky0xa";
+"maker.doc-1.0"="1yz72c1ghqjs06nagngpp2q62gh67c3klwm73bcbc090vdfkw7mf";
+"makeshape-2.1"="1fy1ccz3707f8wxilh95k8sc3a93gl93qcpvpxl833mbkamkx3kj";
+"makeshape.doc-2.1"="17dnkldg0v2qp3hdy4bw1k48p8xx3v566pm088g8qb0df6kx4217";
+"makeshape.source-2.1"="1yd3ssh3cpy54gm0nkp2ah0nqarbnk9hqw2kkwdf96dj8vjlsgwd";
+"mathspic-1.13"="104vf0cbxhfbgabxjpypyx16fbpyi05k14dhw5ynmlh4rv3ck7li";
+"mathspic.doc-1.13"="10j7z7yb5fjqlldf8w5sm5kic6v842dijd7f4v0b2q5h1gbhwyim";
+"mercatormap-1.02"="1gw28rgsdllh8h9cg70nayj12aqw356svv34lhvfj5b52y7ykabs";
+"mercatormap.doc-1.02"="0v9v54qz9m9hnfid2k9xl7fwgwhjxnk0g7wndxypd73b63mvfhpi";
+"milsymb-1.02"="04r9xbgsc8w783zf8nn5d6c5fiwmzhlqdw5a36wk7l9ll2rvbvgd";
+"milsymb.doc-1.02"="14wj7l4bykfy8nsayl105g61xc8zvnrvd13mbcd1qv9x5j8vvp4d";
+"miniplot-17483"="1hl5nd6p9c1xhm1kpw9sh1s81ymdy8lxfn7wh1sdvildcvclvd4q";
+"miniplot.doc-17483"="068s76gnva6rsnd7gfwswxfam56dbiw9s9ymqr2hcqx7i4dl87x4";
+"mkpic-1.02"="0sib2pckayb4i7lxga35rkxvy05ix6idifcqrlcbmddfix3djrzp";
+"mkpic.doc-1.02"="11pj8q1zvblsc2dyd68a0nri9zpqzrp9a6lha5dk91a2aygzaf87";
+"modiagram-0.3a"="1d3sz2yxc1n3xk6haja2yz14jgcl15pp21y985h7dflk2yjflabx";
+"modiagram.doc-0.3a"="1a42ylnkigyvvkk0yrxcpypz1qlki9r4jzpy6lpky0fa6bfbl4yc";
+"neuralnetwork-1.0"="0rhvhk46z3wgz5w7xrbmlmgk2px8mvajbrrj4ygpqa58g37wl0v7";
+"neuralnetwork.doc-1.0"="1apv7bhss9ilqcm5fxwg83gxm9i8563671jcsmhkl13gcii1lpv8";
+"nl-interval-1.0"="1lrj178yhmd4ajwvpdlbsr97sg39k39b8n30wib0ww2lagyw6rgq";
+"nl-interval.doc-1.0"="0b439r5r8zzhgd5k0n1bzag3naxs2bjd6hlm3sw60viq8fs5wgy0";
+"nndraw-1.0"="0gffz4kfyz81yg1cv7sgs5zr5a5kaay1pmac5q6v7v89w0bf8089";
+"nndraw.doc-1.0"="12yj7gym7kzacwxjx5df3ssf97wrrnsm75z2c1j20srr30sz1cwg";
+"nndraw.source-1.0"="1y29n03z9gxwy0gjzm6b5da0cqwg0bzm26cxlrz9551qk8nis9sb";
+"numericplots-2.0.2"="1c127aalh7jcx9rxhsyhi2k1qdz6fg8d6qj0kvf564s9c0npgar6";
+"numericplots.doc-2.0.2"="045z6l4dmn3bzfsn7gi6bdhwvp3cbf9nj8fcs6q07vi4by71bk98";
+"pb-diagram-5.0"="07l8172hqnv9dq6qg1ipbjjbmkpv7s589gci6q82zb8a0y6kyqvy";
+"pb-diagram.doc-5.0"="05h5i0b1y03j5y0nf8iv8hb5qnq1lh5a55nn8xggx2rknnq0d1b9";
+"penrose-1.4"="0swjzbd10xvab086m7zjbxgq0jjzrxds534rsv6nkmsm3zr9qdfg";
+"penrose.doc-1.4"="1xmylw0prazylvqmqklhpfxhwy6wvbz9jln1cyd23m66297f8q66";
+"penrose.source-1.4"="1l9x5l78zcgrqf9xi1w518j6l24zbb6mh51fv3g7xcymr6miljvk";
+"petri-nets-39165"="1hi46pzd5cjvpakya2bl52w7m84xm8h03m01jfrry3vnp9hqbc11";
+"petri-nets.doc-39165"="0ixpads25k51rlb2kapxgv75w5igbnv5isn61c29qpm51dpaq012";
+"pgf-blur-1.02"="1w9p9l2nw9bf0rhn70y70h6lqqqx3qravgarmmz1z86ara26k49w";
+"pgf-blur.doc-1.02"="0fq1w85wqqrml9jzi7s2n888165pg4ds8ysvgh56kbkd2zzahnw3";
+"pgf-blur.source-1.02"="1pc8x23l6qcq356s843si16yc6yfrvdxg7v821271dndkg7d2vvh";
+"pgf-cmykshadings-1.2"="1v9cpsh206r45hjn53hvxixi3kh3l094xgj5yq9vqsviiprassd2";
+"pgf-cmykshadings.doc-1.2"="07p9glm33cz2dk4891r338z45y1wqbfbmmdk51if8jaq52dp9w18";
+"pgf-cmykshadings.source-1.2"="1fpa9iqc6rz6j9qja43yfhrcahgg21ij3jscbpsvwq5iy7j96n46";
+"pgf-interference-0.1"="1l3gryb96av9zwxn4naxz5vy0y2245fv5zlm1dg31p88lflh2s5d";
+"pgf-interference.doc-0.1"="09vvbnmcv8d6y75hxdln9gqspm35fada4g66w6z4kv1bg7z3vrlj";
+"pgf-pie-0.6"="1g0hjvw86i2a6gcn8hz7jdjc12g5nd0c0irrjpkb1fkxdns58nhc";
+"pgf-pie.doc-0.6"="1y59pd9z2qyk6ixmdpqzdzrd28fvb9gx948wxwfn0l9qgnjqpn65";
+"pgf-soroban-1.1"="1y1c70a9v9zy8i58j19g5c8nc7f00zcdrdjmdcbm19r8vi2r09fr";
+"pgf-soroban.doc-1.1"="1r1rgd313fijmjqy468j25d55p76vxmcrgkp968riknych16y1pl";
+"pgf-spectra-2.1.2"="1yg045mmvla99p9ccgnrkgrch5jmxhmj2fi7m92vhn8z6zi1mxbq";
+"pgf-spectra.doc-2.1.2"="15c5kq0gi5py50i2qbs9fpcqfzxg0f6zhydcqdqvvjc28f250k57";
+"pgf-umlcd-0.2.1.1"="0dd5llczfvn64kp6iqfmlgig1g9lsryz078hz2rakjfzlhbbvgdr";
+"pgf-umlcd.doc-0.2.1.1"="086qcz59zznqg7a40l8y2hi7ijajkwq3ppfbckl65niz0rmqzjhn";
+"pgf-umlsd-0.7"="0rs0iskzhmlgydk4i9idql66sk9dyiqrglp429b2sjaw0mbjyxvz";
+"pgf-umlsd.doc-0.7"="0vl7wjrgnfz0y0pfp4izqi1528i81fssak85w1sl2n97lhyq8mkk";
+"pgfgantt-5.0"="18snhw1hvff64xq6jaq6wjdxcrkjwjv39hif31zj2r0ghsajqaqs";
+"pgfgantt.doc-5.0"="1xhls9kyhf314rrmd8r3065qaffbm48mc746lwhsrh6vmq548baq";
+"pgfgantt.source-5.0"="0hgjiy1gs8nx0211ar38qr3ql5yx32mcdvms0yibpglr2ncv4x39";
+"pgfkeyx-0.0.1"="0gh229dsrbxw6brfz5m2zz6x3zfsa03iqps5bgcr4bz0qfjl0a2s";
+"pgfkeyx.doc-0.0.1"="1cbldr5x9n649sk9dfcp143jrzxh6l4ibzndx4yr8f7id5nx3nag";
+"pgfmolbio-0.21"="1arhxgwpsw9ifj3yy36mv52r8843bm3v1lrda17r44zjf4fhimfk";
+"pgfmolbio.doc-0.21"="0kxp1gqd09q5h4ixjlfmda9jm25wd3s7dsxcqc32sw3qay4d84cp";
+"pgfmolbio.source-0.21"="0lxbszlky3q27cyzfnnvglmzim4lfjh14p62j43sj5w2arv9w3v7";
+"pgfmorepages-1.20"="0xarflkdk2xvfmmsafv1hhpdrfyddjxlqjjwps9yzzcwblpjnali";
+"pgfmorepages.doc-1.20"="1wsa6iqyrcjq7zyanjgaq6a1i5d7lm1bk9y07mz0bjwc2yv359zi";
+"pgfornament-1.2"="0hvr6cbp4mzajmqz6fyd3x7qr9b2vlwdhkpc62axgm2sww8igp70";
+"pgfornament.doc-1.2"="0i1fncv9saflkvib43jp02mh94cv0nnq6k8psrf4l1yx95sdxnky";
+"pgfplots-1.18.1"="1g3q8yr4i5h5jqj8w5yh1jix2ia37la59y0dcmrj5bnsr8zbmbx5";
+"pgfplots.doc-1.18.1"="0fd0azswmcghgpajgvxh82752j4mp5avslaicp2x7hjddh54j357";
+"pgfplots.source-1.18.1"="1h9js7l4vygn230svbmby09k966gkbgjxykk5vig45qdr7mqg3fr";
+"picinpar-1.2a"="1hw5yx5pwz92mfxd5z1fr91dv3dbsqq1522xkflc8kjwl72qmmk3";
+"picinpar.doc-1.2a"="1h4z08ws3r1kfrfg2qz47zsv26hb92qv1gd3bi7f7jidczvnwgph";
+"pict2e-0.4b"="02rhm6a26vgpscasrbz25vjimlnkh9s18pq6a9025k65iwp5f08z";
+"pict2e.doc-0.4b"="15k5w2l4c9mxay416bgj745g45pqyaw749mn69dchg2pqh77yz1j";
+"pict2e.source-0.4b"="007yb70j4ay0qdls8kqb4wxf1g3672yasjjlqc10zsywc005f0nw";
+"pictex-1.1b"="0yz4dfnmakv78bc7rlabh8582knr131mrx0rxjai640bdax8as2a";
+"pictex.doc-1.1b"="037ljjsnmllkxgp800dj1k9pvabwg4gjsqci84jdmayjcwsjibl1";
+"pictex2-15878"="1qqf08yharknq6csk01jdff62mg011bryqlq5mbmjwqwh7wxs0wy";
+"pinlabel-1.2"="0dlg15b6cjykp481xn03kg3p1zqwccwnm2la710xdwf87p1k4bp6";
+"pinlabel.doc-1.2"="0jw94fl3awpyla0flmw9f72j3ssrqh1scfrbx34mxlbmnl4z3pfc";
+"pixelart-0.2.0"="0pv055wzvaj7zymqnb9zd2fzvbb4c7my1kablpldirksp1wh15xl";
+"pixelart.doc-0.2.0"="0ak3djrw28lqrc6bgmfziqcpbbhz05qi8shvlxy41l3hjiy6mycx";
+"pixelart.source-0.2.0"="0nmbvm8z8j5q3ghggkxk6y2b3syq2wyqws5n44wmsk6p3kvsiczw";
+"pmgraph-1.0"="0mrvf2r4bv4qa9pzv90ardy5ncq2kgy3y89pgr1acsm5cspgryr5";
+"pmgraph.doc-1.0"="1pizlqyb0n20apwb6rvh6yfncyxnh6vfhnvc10il9j4894rii6mw";
+"postage-1.0"="10s3lcypskq2qmlyqcgldkg4i4a4qbbqn27v6cr6h3j4z93zir3x";
+"postage.doc-1.0"="1zy7hrrwmdlr3vib8i8vliznri4p8dhfgkz0fx5qgc3ji15ks095";
+"postage.source-1.0"="0h89r91diqwc1z9wzvbsynazv5k9spg2rfvg39kzb83lipxiqwjf";
+"prerex-54512"="0nri97arzym6z3pjzidlr6svyk1dpr4yrlgqzh2jcsrqhwliifwl";
+"prerex.doc-54512"="1wcf96nc4zvmydn9d628s9bffq3lnhnllci0v9pci03cs5p1zscz";
+"productbox-1.1"="1idarj7sxqkqzlnwaqv9f192r228fclilz01fjy444ly765k0cbk";
+"productbox.doc-1.1"="1pzba2ymna70gflrnw6hs35dgkv17qfjs8gh4g6van44wjykhfvg";
+"productbox.source-1.1"="1fnqp2sx0wmyd9130j5zbqw2dk1nkajp4qs46qm47b90wga8pkkj";
+"ptolemaicastronomy-1.0"="13zs1n17jsiaavw98g2ggfrmb4pbd48qscqb918shai2ffkpx8lw";
+"ptolemaicastronomy.doc-1.0"="1r0c5rixwam85wchqhf405h7mwim88616ycy1i4zv03hby18156a";
+"ptolemaicastronomy.source-1.0"="1aacl5pvqww0j2kvk7k5ikn43qhj2pqsxh47kid443g56hclkzwf";
+"puyotikz-1.0.1"="04s6878wblhz3m7xc7zgqv0ziwx76r22c4sa974ismfqjbdh6xdc";
+"puyotikz.doc-1.0.1"="0wikdmv19kj62vc5bd0n2dl91cqg44lwlfs41nw808hnk96a02q3";
+"pxpgfmark-0.2"="0mkcc99fwi8n63fghw3mz2alhgpakc3hqyd40s2fpwisvh15rbbr";
+"pxpgfmark.doc-0.2"="16sapygswd6mr0pr04c86jzngw6gdf62bgv2xlrfzfpq7cnjafxb";
+"pxpic-1.3"="0mi08364dfwns4jvmlady09k0ib6r6a3g6bb7q30j6bdh09mxijz";
+"pxpic.doc-1.3"="07mf6sl6yjz2w5jxs0a7cp7f9kxr509gnj5c6q0cvxx9b3mxbq82";
+"pxpic.source-1.3"="010g2nrvlvx04grbc537cnnmd8wb2xy0s12civqqksk3xvd8jgdq";
+"qcircuit-2.6.0"="0vxsppwbmhh03mq9k3zb2hgl3628q4i51dz98j2s73z19693266a";
+"qcircuit.doc-2.6.0"="0571vlvpvmpjhjbbrd1ybzckhfy7ymralr017d09kf9p5gk0y677";
+"qrcode-1.51"="0vs5sg5hch0c2rxy27yiy1c543l2fnqinr8nvsyr288fja0pfrig";
+"qrcode.doc-1.51"="1rmwz89yxlgrypmki8xanqc3xxm10m9zc2shh5r0fzwmsfssri9r";
+"qrcode.source-1.51"="115wlgvpxx0vkb9d4gfwbqamk7sfmcfd11hxbfr8khd5hv8asvpi";
+"quantikz-0.9.6"="12g2vq2sckjidabs2ivi1r87mzj2rvqk89632szgr8vccjjk7yqb";
+"quantikz.doc-0.9.6"="0ckdbfx2fz0kjja2sanhmmrr61ald26gw4v5d4fw4bqrph8mpbq9";
+"randbild-0.2"="07ix44c2zm185byn868bmm6fcbwq9q37h31brfa4839hpklg41pp";
+"randbild.doc-0.2"="1cpyzrmswxawxk6x2vfjy7y8qj3mjrxgmr9lgjvz11f5fvvdb0i0";
+"randbild.source-0.2"="0yzz5awhhw52zg877nl76410a4q6gy7mrri0hccicj529kk0d1x5";
+"randomwalk-0.6"="10ivivbyrxm50svqdhv9lm623pvmnifpwpnbhpmx2nvf4crxxbcm";
+"randomwalk.doc-0.6"="1lvff00h8c2fxyf7if1d2xqkk87lb6396w6mb4yfxwsk0j8j2jhf";
+"randomwalk.source-0.6"="169x0wy0k91kmfbisqh4ciz8n4knhkxmz2d227gzwbf80sr2a80y";
+"realhats-5.0"="1afqmzxnp3bagbhwp6xl8155snqh29r60iy6vaqk212nr7l66jfa";
+"realhats.doc-5.0"="0h1n9p7pzdj38cd1s6s1cw784xrhkidrdangn2zfk8sallj0xv0b";
+"realhats.source-5.0"="13knaq4jzjd3f6fhvayfzva61svkra12z4wfiiwii5wdk60pi0rm";
+"reotex-1.1"="113nfw6md0v4522n54q63smd2g2iwm89qsqld237f32r3rdkbcl0";
+"reotex.doc-1.1"="0lapzgfp019a7qihfhf1cp2szwq98j8kmcy80c3gf1fa1x0c3x1q";
+"robotarm-0.1"="10xlswn7bkad45fyv9j70pd77319mynldwk530y23lc2874s3yn2";
+"robotarm.doc-0.1"="00qwsv5vxidjzkm31v21sbzd6rp1pvz2vrs66gmlm1xbfsv4kd0p";
+"robotarm.source-0.1"="18zffnyyhc3mp8xpw7bc52q29z3skqfxg6h6x4b18mi9jpyd2x6q";
+"rviewport-1.0"="06nc81iapfymbp0kxfk0srpxilfhk94xwhslv6az8n5a3bvp2mq5";
+"rviewport.doc-1.0"="1m4xvkafdf2skhclg60fjgvyd6vd5y9jrn3186q0hdi66pa7dl66";
+"rviewport.source-1.0"="1hijca49b0cvh3w8dqwng6wdssmg2fjjj7ga9ifmziznb2k4qng6";
+"sa-tikz-0.7a"="1hmxifd6zkq4scfwybz0j4za911r76v56pczgym1shx8lqadsjcx";
+"sa-tikz.doc-0.7a"="16yjn7zpfwsnwg0mpqzwqrlz6v2bf1gf7qd9hhj28kzp0qgdnka6";
+"schemabloc-1.5"="0bpcrivkkwqb6kg09rkwhqzmc101c64g1j5kicfp11r9ha1fbwc5";
+"schemabloc.doc-1.5"="0cvbwk285i01brrbpalclm0bfhxs4hnngrmn9aw42ywdi44ls624";
+"scratch-0.41"="1gd2yq2w2v7n3kfsid71qv2v5q1rvpfm49rsk4815pk4k16kxhg9";
+"scratch.doc-0.41"="0jhy08h2v2qf3p8dvh8mz5yqqrdzxnzlx1p50ng7xn88d9ihpqdb";
+"scratch3-0.19"="1in71jxpq9mljn7gvaslsnaji21d43yj6ckzim42fyd9zk48waz5";
+"scratch3.doc-0.19"="0yr18cyzdfrdz6vs0slbgzgp82gklrmxh34k1p135g7255gw8k0w";
+"scsnowman-1.2d"="0991pn476g7pqhj6njgyal21fn0k5ig3c0bwzv2vfric6v52nk9g";
+"scsnowman.doc-1.2d"="0kn1dhgq8qkfvfhg4ip2zsz6x3w31ax92nwypcg9scd1p5s125r7";
+"setdeck-0.1"="149m9s33isx98vkl3498ywjy6f9q31jkw8schc16hxxm1z0jadnh";
+"setdeck.doc-0.1"="1rp64i0nrrxn7l2g6dlcmfvwbq3rg62h2ifxrzfp3k5ifnlkhpz1";
+"signchart-1.01"="1qg1r76v1llj68iqk5imp7f63774ky68sv64xa6j4w52jkkswn1v";
+"signchart.doc-1.01"="0scpaw7l26fcqylcqspd0g5va331yf88a8wc69diw78haywwgp4f";
+"signchart.source-1.01"="1lx77qldn3d23dvs11giircs2pafm54094h6ipxlc4g39g7xc0zl";
+"simpleoptics-1.1.1"="051635sr8yp7n44hw9wza6hw0b4av87yp42wkxwq0rshxldqgsq6";
+"simpleoptics.doc-1.1.1"="1lwk3qq1rgkgi7qd8qxdjjfrnk44c1gj4vl01m1jl181dxjs7lp2";
+"smartdiagram-0.3b"="0b9rq06c0xm9dpd6yljvgay0p7xpglpddw10vlf5c50wma4xqjda";
+"smartdiagram.doc-0.3b"="1gkgpgnsyxv9nmhnpalshf23g0iz7bcp4agkh7l368j2h48d5xmm";
+"smartdiagram.source-0.3b"="0chpnchdqvljj7h44ybpkln3b7kjzr7b18cj2qhj66ng9cwpywwd";
+"spath3-2.4"="1aq6vfhwkvqgjbyfv7x29dwr5iiby3iswsbw33pj351hzjp78a9k";
+"spath3.doc-2.4"="0xbhh91d0rwzhjwlmnrcszva6z4h8cnvnv6di31k6s5cs0akla1n";
+"spath3.source-2.4"="140g4blf80szkkyc7l2lpz8vcd1q32slha9d6wh4f02akg5kx157";
+"spectralsequences-1.3.2"="0jdpaq1hyvbgh6nc5d9355cfj7qya97326x0gq7ivhl8riarh6nz";
+"spectralsequences.doc-1.3.2"="07w30pf47mlr36z6wliz53ncj971fy7i6zi4d0q56h1yrkvcaymg";
+"strands-1.1"="0i2k3b3kb570k5h7yag83gchk9ss971v8w1xqr2kb448f1yqkjr3";
+"strands.doc-1.1"="1clpm1i4a0477zbrixscwpg6qyli0y5vp61lblgn4iqgw0sndhlz";
+"strands.source-1.1"="0ckf9ipirn8m795df5za2qd5w96cxzxmmv1kcn0gl4aj3ypia6b9";
+"swimgraf-25446"="065y4xxg85kdcv3gwp4xiqd1xdxjkng9xkdyvlk61zfjv5pks03r";
+"swimgraf.doc-25446"="17qxnzimwb828pby8mx2xlmjd2lnnpd60rdn45455x8zfxdll3s1";
+"syntaxdi-0.8.2"="11l8609xj9gz2zkd6b0ah41lgw4qhrvdjj47vwpzb4sb1sirsfgw";
+"syntaxdi.doc-0.8.2"="04hnwc8hc4z88wxrp81balza27xjj56ymv4wb8lvl7kg0087ldw2";
+"table-fct-1.1"="1kpmd1qynxq29aanvaanq35ihiv0d55k6wamxdz3lssicrn3f2vr";
+"table-fct.doc-1.1"="06jr9wmjppzd9m0d8hgmchnf78k8r7cxiqlyf3i6apdhjf6hcxiz";
+"texdraw-v2r3"="14vg45kci5pffvwdqnnb0dv3fznfaay3rg0fjiwfill24ifms14s";
+"texdraw.doc-v2r3"="0mz605k5n9angywvay4nck8ixq36gpbmixqa742a3ch2cr66ddkw";
+"ticollege-1.0"="1mivwaf3ngmdr1zdkl9xif1rl4fy0b062r43064645idpkk4120d";
+"ticollege.doc-1.0"="0xy35cggk34ziagi1m60ymckknls2wwil0wdzlswn0aw2zca9lc7";
+"tikz-3dplot-25087"="06ij3bk1aham4iv0wm14z9dhcq1v60qiv9n6idfcmjqz6m05cdf8";
+"tikz-3dplot.doc-25087"="1mq9drqg2z9khxfylsgpz32binla5abq88938jcjk9y21d46r31h";
+"tikz-among-us-1.2.0"="047mfp3z4m63wc4f7psrsi77qpc55drl1wdrk2dlzfykkh4mna3p";
+"tikz-among-us.doc-1.2.0"="1f817bi1m745c7cgl7r0yx5jx22qi6h2xwg8kb246lkfsvwlynnz";
+"tikz-bagua-1.0"="0i84njbpcyvs6fq163pkn57cwxzlgxfrcdhhbcbmjb5376i8285f";
+"tikz-bagua.doc-1.0"="0ja55z64v2kl50kyimssbr6snf6jkx4y0mns6jr9rwjlayif59xp";
+"tikz-bayesnet-0.1"="1sdal5mq1s3xkklj09hy0j41xymprmh78z3923f55bg0kzdc2i0v";
+"tikz-bayesnet.doc-0.1"="0kwlqx1bys43hzwpwj8snrn5693grfih18fcw3d74a6x7s5k0h8m";
+"tikz-bbox-0.1"="023xrf65s1c4g63ggpmsdyckp6zspgjz1ad7pk7jf56zdnhqaxb1";
+"tikz-bbox.doc-0.1"="0ilj988mh0w1ws8ancnxsz0ig4s5k0yi3ywihn6vsk3z94k51yfm";
+"tikz-cd-1.0"="0xv75gvwlhax08mp1nlyy2kgi0br7wy7aahbaf9rfbj0idpcl5ip";
+"tikz-cd.doc-1.0"="0dxsixn2n0irfqrgcp63h74fss1ldqlcvfv6d9v61asxsjdrzf0v";
+"tikz-dependency-1.2"="0v471rprwnqlhwvx0lqxvpsgh8ph16lbvrpcrynx2hx71n9daqla";
+"tikz-dependency.doc-1.2"="0h3mnxwcb1k1ilw9pi1xcwmryjpci0kwlaqfxx2i8lcggsdrxfxi";
+"tikz-dimline-1.0"="0mp6xg317m0dkrw73609xdn7r9hbf8bdmyp0bdj2xzpynpvxisxd";
+"tikz-dimline.doc-1.0"="05rikgrm1f0f0rx7ir1nn4cy3a93bwrck2xqnms26dg4dqddnrbk";
+"tikz-feynhand-1.1.0"="16bb4h6wbmyv9mz68sywgw18h2dcyxkmkcyjjshkbagimf3ikb58";
+"tikz-feynhand.doc-1.1.0"="15h182ywc8ihahv76khphah6awpahbsrdi0hin578jmg1582rzp4";
+"tikz-feynman-1.1.0"="1kh3riwk5iksldsg6ljk27lhh6fka473k958q9781m65isdzhwa9";
+"tikz-feynman.doc-1.1.0"="0cjl1zvn2q39khh4afzvh6nh8dlhrkd6vn3i8n2ywv4xldpb2k0b";
+"tikz-imagelabels-0.2"="1xg2malb3ybgcvmr1gksgg93i4d8fvr7pqjky1b98n0abfxybxv9";
+"tikz-imagelabels.doc-0.2"="1fqkzfbbm4ckbjpgjrg5fa9ggam2lcy5gzvnhc4njyjxwx1hjcsd";
+"tikz-imagelabels.source-0.2"="0cqcbwccfq65zsbnkcdjfqwj9h8ndjhan1ghnzp9by8z41qj2fvv";
+"tikz-inet-0.1"="02xbywhzzkiica13d2dzingz9qm2v1w3fjrj9kbjn9q9fmw2xw64";
+"tikz-inet.doc-0.1"="15mvq4gpd22nah4p84dazld4ncdshygmffz7sx42s2zqyjwrm6wi";
+"tikz-kalender-0.4f"="0lkvvwzfilmhcamy00jdfrwhxr75d3jzppyhvvb26ymnzm6v1inv";
+"tikz-kalender.doc-0.4f"="1pxc1wii1hqmhr42yskil16ahjslkn7y6q8qj8hbq85y7ymm3lxi";
+"tikz-karnaugh-1.5"="0bhnh37ydzfrkvjwfyzih59sadfzw9y02y337wym3gqaa0m6w7gh";
+"tikz-karnaugh.doc-1.5"="1p7rrg2jrpg4hqlvnzbniiwpcfxyfxbqq29izbsijlwlwfhm2zaq";
+"tikz-ladder-1.1"="0a1bbsfk9dqdmp5y3qgc2i9r9fl3wdj4fbag7yisxlgrh447k4nj";
+"tikz-ladder.doc-1.1"="15pjhbyfwr6029bnkilx35wz1nc07440zy6w0wg3fhaa1ynn5jnn";
+"tikz-lake-fig-1.0"="0miw1aws614ffb4q8szr6zh5rb0216hz1scl50ambx1qv97azsgm";
+"tikz-lake-fig.doc-1.0"="14yb48ylr5rv4n6ikqh704vvzxx8k68l8ww2vnv9lx5nl2nhybp7";
+"tikz-layers-0.9"="1ym859l9bzzd2rack9kcbckzbpmqxyglaa0jggpf3hlbsgzy33h6";
+"tikz-layers.doc-0.9"="1lnlfl8k4czvxz1vyfmnqk3k1arc7jpw7cbgrnh5xbanhvyjfzl0";
+"tikz-nef-0.1"="1i1l0rk7k6kc9vyx9jbpj25bkl77ml5ay1wvwff7a51rr8c87s99";
+"tikz-nef.doc-0.1"="1nsbycqfai72xbrzy6vz7lzpywdavbcyz7x3h1kfhby10s2h136k";
+"tikz-network-1.1"="1mf196mmkg097slc5aslpjlpih2kdq5wkmcpznsyhg7s20mf11yy";
+"tikz-network.doc-1.1"="05dzfw2x5j1i3534qmhp6wcymba5mwilv2vf7vrw5fmrgd4h1gy2";
+"tikz-opm-0.1.1"="04ch55a4jvvif7c74s8bbsq0bkw3v3zjh6wdlmij30cfyxn114jg";
+"tikz-opm.doc-0.1.1"="0ajrvamsj1is4lh0xf25wjylnjg8kd02b7kwj40nq1kawnp0hlxb";
+"tikz-optics-0.2.3"="0r5z7vp05s92hk87m01vcxfa0kkvfmzxyzfx397b3lwmlavzws8q";
+"tikz-optics.doc-0.2.3"="1zjlpblczvr9390fmz0vh8zf0pbf1zc4d01l4ykhdpvljf7ndrmd";
+"tikz-page-1.0"="0971kcdlavr24lkf9wdzgwb97cf952iw1d5ls6zz7fsfj6pigqjn";
+"tikz-page.doc-1.0"="19g4b944wzahnabpw2kighd1vr63c7im3xgcjz3l53yrz89nhjmk";
+"tikz-page.source-1.0"="10v67pn2zvpxl3817h1rvn0y4wb7dj07p4nv6wf1jhchgvmb8bdz";
+"tikz-palattice-2.3"="0pfp30l373li523l0skr52fa397h2wkizvggsls3kv3p087j16an";
+"tikz-palattice.doc-2.3"="0krdfwivibibgpxsjnlsl11yppmsynanj2lgf892izxj2m3hld7d";
+"tikz-planets-1.0.2"="0gjkapcls19839jrjimshd3cqdl9x0ld27i2d51s7k8f0rcakkmh";
+"tikz-planets.doc-1.0.2"="0xx18gdj4r9jj7qvwlrd237nhcbazprhqgzn6m6cy8m36xy6yc09";
+"tikz-qtree-1.2"="1x638b7a71mwlcrn50w86j649qlzjm121ap6jgccr5vck6q9wcms";
+"tikz-qtree.doc-1.2"="0khnzjc78v1p8ahyii5rsqx29797jv3ycdan2d55bvw87p4iyrra";
+"tikz-relay-1.2"="0lyln2ifd27njc497kndz6wr2fwz1i3j8vw6b8f7ca2qh71b9zcz";
+"tikz-relay.doc-1.2"="14ds9xrf62zl87gi7w3kdh0lw8bqkvg92b7pjjab68aqs949k1zj";
+"tikz-sfc-1.0.1"="0kkfds07qskfbd7yxfyc6spylnd0nnhjyfa8s7i44y4d2x1skik5";
+"tikz-sfc.doc-1.0.1"="0b5cf8kcchp8h33x5ih1wvwdrgdhbkz589d55454i1470b3h4f79";
+"tikz-swigs-59889"="0cpmk783m9qf4wq1qsw4hy3azjlx0r47ya5ijw4ss3l4nr8i710x";
+"tikz-swigs.doc-59889"="02carafyvhv0nv29n9x0k8ij8adiwf2xqr8bw43k4imj690360li";
+"tikz-timing-0.7f"="145r878hxqfx1sdn4hdagmcnfx8xqcihfz775zabn5sbzki87ywq";
+"tikz-timing.doc-0.7f"="0na0rjgnala2lyww8chnkqyp26c1y2siaj7gqh6h8fjpi5bpamdf";
+"tikz-timing.source-0.7f"="17wzwm58194p5jlwb74z30864q7nzg9fi4q4dbcp26b3p6kn5cxs";
+"tikz-trackschematic-0.6.3"="0vc7pxjcywzsy2is6rrjvqqqp3kqrqh7rmy8pwh7rkpll0k7yc8z";
+"tikz-trackschematic.doc-0.6.3"="0d1nl9cfaidqfjd9ng4i3y4mqh6id099x0pw3cgwdsaf3i614521";
+"tikz-truchet-50020"="00yf9044lpsazd8wnmcz39lnazrxpqd7lpyr8ss24gk9gm33b563";
+"tikz-truchet.doc-50020"="1vlsyyh7xj1fn6wkafh7ps4ys439n1lmvmgk63pya18laxkphxxk";
+"tikz-truchet.source-50020"="1zbp1xb9sbbnr4iiqgg352ymn9ybfmkwmwd49r1ws3w7iy3qdvrz";
+"tikzbricks-0.3"="0l8iqyli6wp9z3ibcklk6ljl9mrr4fjkqfrgjlzafhgv6gr5f5pa";
+"tikzbricks.doc-0.3"="0xqqgr08cg76250m8ik4a48b35kc8izfbk3cvck3gvmw4sv4p05g";
+"tikzcodeblocks-0.13"="0q10q8gfbdw20ysv40pj9c1ks4mnb4dqvvz39fvyji3f4s4xd60n";
+"tikzcodeblocks.doc-0.13"="1imd5qf95ykqs89zqb32yg7p61in242vkjx5wv6r2xh2dkjpvv9h";
+"tikzducks-1.5"="1sdryfjchphbk6w838pfn7ddqxg5gq4hgh4k7b8k99avnxkckll7";
+"tikzducks.doc-1.5"="14rmpx2xwww8v0lpdgv6nz0kp43w1wlxzpr3i11gi1didd78nbm9";
+"tikzinclude-1.0"="0s0mhfshfzl28z6lgwn7f540pbmdxl51gqf7nw1s88738mx3m4z1";
+"tikzinclude.doc-1.0"="11jj75nnzw9m3i6nndbfscllfxzn5bd636s85q17gds03jbqkhfc";
+"tikzinclude.source-1.0"="1v1bvpfqhvn3hp3zjx3sqv4kg288aviy1b9zl3s8r64zmai86bfy";
+"tikzlings-0.8"="1g3x530k952cxkq2i2yxrmm729gwdhf115pb21lzk2bzqbiry1lj";
+"tikzlings.doc-0.8"="0xcjaq85rawp4abw18kmn1d885wcc3yp64zcfipc3kdqf0pcglb1";
+"tikzmark-1.10"="1y0ciyb31z8cixb4cqzh0580bqjalpdy95nqspwrn7l7zgcf43y2";
+"tikzmark.doc-1.10"="158lkrd42j80wz5fmm0v59m677rrvzyxsgz63d0645qs0wcjr1cn";
+"tikzmark.source-1.10"="16h9ddm3i5b1nz2f2a835p6baxl4wdsckd6hmampb54163i00d15";
+"tikzmarmots-1.0"="1m33y48cs82f2z19gwhr89qyaa9n5qlrps9ash5ijjgra9dkfj8q";
+"tikzmarmots.doc-1.0"="1jp10kd7vpx68z9i1j1pk904yjb078yr60hkfk0vxhwhnpychlgz";
+"tikzorbital-36439"="17g4bd556kkhrxir4c2q6f7qxa8rigkf41dj979nb5k3a7w4k3b4";
+"tikzorbital.doc-36439"="0h1s5dnyv8n4hv608c5rspdgy2h10ilqknddai779h9biwhfzh3m";
+"tikzpackets-1.0"="1kidqyd1d7wvs1f3cp6ixp397ipaj7jd19djhy3q4dvbnzq1xm4b";
+"tikzpackets.doc-1.0"="0rlpz3m4vsyin6ckyjkxjp9a40gxhhi44z18hrw2blmp0mg011v5";
+"tikzpagenodes-1.1"="197sijaabaa3sf5syasf4ciwz8hkgy2pyr7lp78gzhlv950drghh";
+"tikzpagenodes.doc-1.1"="0y9ik1r203inp74hx4xznkypw0p88zhg9fq6b9205i053vvla239";
+"tikzpagenodes.source-1.1"="01bjvk944nlld4zbrld35n45dzljqf1rng83y14ipn3wcdxa0plx";
+"tikzpeople-0.4"="12i0m8jilbl8ldji9xmxm5hgsl0bd5vkjly1ykmj6w2rzgmjfbbp";
+"tikzpeople.doc-0.4"="1a3cjadvnrv9hslwgihxv8z16awkikinv44zcj4fd5drnqjsvcrq";
+"tikzpfeile-1.0"="1rwv1i6yb0jd5gw16db3kqar4ykzbwcyw51hv781iz358hgww5mc";
+"tikzpfeile.doc-1.0"="1530vkp14lpv0hnv8qcxalibsi1pkcj9xp1pa87lisrillxs7kwb";
+"tikzpfeile.source-1.0"="180cp8vp26shmnjxg9qs9n28v4xy0qhqgm1bvbkqrpagykzzhsrf";
+"tikzposter-2.0"="1r6pia3sjl9xcixnsr5pk8cma4f18mvpn60dxmpzpn2nn1sk4p26";
+"tikzposter.doc-2.0"="06vy5vmzrqhl6zk6z9a4kyqfvjqc4s9pslvl9zfl17cdqsfvbdf6";
+"tikzposter.source-2.0"="1idiz8izn9m9h7kyiavw836v9x1vzg58vap42wpj7yd74izwvf1d";
+"tikzscale-0.2.6"="0h8hpk0nv712vydxrzyhvqxrrqb34hw5qjgq9baagqj42ka06qfg";
+"tikzscale.doc-0.2.6"="02sz63v9zxr58417jn00ypm3myga7x29q31xbnz7p7mmq5q1r94h";
+"tikzscale.source-0.2.6"="0rf6rsrcpapmhz3q5wkgcivhvswy1kb3mql94xs372qc08bxsi3h";
+"tikzsymbols-4.12a"="05a3szm1xgsqj766cwwf8ssg1s2jd0kbvgzv6m0hlkvnpig13y7k";
+"tikzsymbols.doc-4.12a"="06wkvldkiym2xlz47rr4f0nhlbygdqisczn66d41lsf59v8036lx";
+"tikzsymbols.source-4.12a"="19jcl91qn62hr4j6fcw6a6dc0qhpqqfpzqb1d8mwibn91dzad00z";
+"tikztosvg-0.3.0"="1gpkypg9j6iz0i0f77drk0p373x2vx8z5v6j9wsb3bggnf00f0yi";
+"tikztosvg.doc-0.3.0"="03f324pxiwyxgnsvw83wi8sh5ya633a1d6833kq2zl8z1f51vvfd";
+"tile-graphic-55325"="1l87pqfzgyr8apcs9f2gssf5rh1mvknkr5jim98zj5f93ca5mjpq";
+"tile-graphic.doc-55325"="0rq35cpk9l7rc30l1hk55r7x07f96ishr3dzdi7x4d50gv7675ah";
+"tile-graphic.source-55325"="01xqc704g5pqwmlfifzvv61nypgvnabxv6xw7ljgv9vvpyvfh0ni";
+"timing-diagrams-31491"="04yal5fdbwwdq5i7frmvxm0z7zy379gpwbc5383xn0nfdyzrq91b";
+"timing-diagrams.doc-31491"="1w3qzl1j3viaj6qi50qcyx51w2ms23j27p17h526iz11x39w0gw7";
+"tipfr-1.5"="1a9vj3r5b15chzyrpfd7rn0f19qkq9lqklzxvzm4xc5b5n802zbw";
+"tipfr.doc-1.5"="02x8fikl1vnirfcrw42xq2cbkf6wpciary55xyk6xwnnhh3abbgb";
+"tkz-base-4.05b"="0bfkph3lvc8glzvwmmk1x8jc3m4s4na31xrf17vism7c91y6q85b";
+"tkz-base.doc-4.05b"="1l4k45rj1hapidg1r01b2daw5qv7kpqic874ysfjwd7vzhn05hsg";
+"tkz-berge-2.0"="1c9kgzsagh5ww0zlwywpddwn3mx0wrf8yc627gjap3f7nyyvixn4";
+"tkz-berge.doc-2.0"="07bsfmh9qyn8q9z4brd4si1clmw7sn2vh2nr8idqnm1z1jqdnq40";
+"tkz-doc.doc-1.43c"="02p765y97adxc354hn4fw40hhcx42j3xavxjyv5swz8jn26dys19";
+"tkz-euclide-4.051b"="1hmbw8ijfiski125z0mc8n1wdrqn30f1pjylh7mnjlqsvg41qzil";
+"tkz-euclide.doc-4.051b"="0hsqq3zrk83njq8jpsx2aizzmkpp7h44fjm5adsim5sic2qn5ysn";
+"tkz-fct-1.7c"="0hlcxnllmkhmxl5dwap1sb2jg822bz4glllqcv59dx7jqab5bv8k";
+"tkz-fct.doc-1.7c"="1bjkya9ssr6m4aw6rd64nniwffgz57ikz16ciba2x149f39pkcx3";
+"tkz-graph-2.0"="08kfjaniwrlw23vmz24yq9gbdks9fwcf0g4jyy98ikfqh9phhhs9";
+"tkz-graph.doc-2.0"="1drk9va3bgq62qfkcvp5z30gvnscl7mbjz66m27wmgagb2ki2f0q";
+"tkz-orm-0.1.4"="020bi7dgjipd2ancqji6fa1zcf9lh9d8n4zbacy5l5nclxfiphcl";
+"tkz-orm.doc-0.1.4"="1zgmsl11cf4fgkfilflw8c4wrcfwnvk1f88l90hwgclfj5q0ashr";
+"tkz-tab-2.12c"="142fjk2kdv02b7whr2m5a53z6b7rhh2zfv2fi55q1sy4xaa1wia1";
+"tkz-tab.doc-2.12c"="1p0h1l1jca83j27wa79ncjarczissgp1jh9f9ylqhbi7y5mk8abw";
+"tonevalue-1.0"="12jvvfppr9zqaqkqm1g1nqvxikqqg493a1p10z0k123cw11877xq";
+"tonevalue.doc-1.0"="04gvjaxqhqixs13x9y805dgsxr62zb4i1xmcgwr42n2a5qa4dv2y";
+"tqft-2.1"="0v14gsk9nwyppdyvcd4ngx6mavd4sa1y8zzmjbb8gcf5dlnz2vg9";
+"tqft.doc-2.1"="1wwvklsd7aqn36vym38m3q6gqf8fgf16axy627vdfqgg30jsml3m";
+"tqft.source-2.1"="155kv0h90zkymc6b3r1iambxsfx3y3rci6nrk01yd185ml21dvdy";
+"tsemlines-1.0"="1c7sjdrgqbjw6f2s3185k5rlkig643pkkahjisx16h0akbbdm4k3";
+"tufte-latex-3.5.2"="1azsqa3qa1w2k0r4sp83xp9b7g1xjw47wv9l0sk065zq0bdjr9yy";
+"tufte-latex.doc-3.5.2"="10h41jbfmjg7p8k3m98l2jyhl7365qym844y8f38g0f9sr1pyxvn";
+"ifmtarg-1.2b"="0wxhdmd2h7rs3fck9yq1g48kyd33m7xzz3g7ixg046azai8f90m0";
+"ifmtarg.doc-1.2b"="0h8li5c5lxccf2a325p4vg7xgalzwryk8czdzcf637sbbkfhd53d";
+"ifmtarg.source-1.2b"="1yh0c42glrw5cgqk22h8lrc12lriz436wz9vrc4145gjcxm6p09s";
+"paralist-2.7"="19m0ddw80vjzm8p0z5rrd3jf9kqzq653h3jdqlnjw4g81r0z730p";
+"paralist.doc-2.7"="03kv1n9m1b6r0r5drp81hv2i8dgnlcsz81rhi4h6a3xyxnyhw6bj";
+"paralist.source-2.7"="069mn3mk34rxxhl1c1878zs61pk7asa21iwwk6r2v88yziczkhlm";
+"placeins-2.2"="1mlx2wlm5j7qhhz8q1fvxd4zvjmjpzhk2aajql3wqvamrawba6k4";
+"placeins.doc-2.2"="0libqvl13md069fjbx3gl17fyzpn6v4jk4vk5086szbi93dr692m";
+"sauerj-15878"="1bd9cvx40skqlx71hnfrnc87b2p1wrw3587fjxlp6a22yhzghhvq";
+"sauerj.doc-15878"="1swlcqm2z289ijbxnv7aib0v0aisqdn4l2bfymvn268siz58l4cg";
+"sauerj.source-15878"="0l5p9c0fl1p7gy815l5064x93msfgb6z2lnvm2x24mwfnfpykrqg";
+"xifthen-1.4.0"="0ys8yq13vhval5jg9a4n4pv7b3v11w1yh63ssvyx3pnr767ay5r8";
+"xifthen.doc-1.4.0"="1miqc1bfwi2ssl6yp9aqw7ygnars27vks0grpyfns494yimy8nc0";
+"tzplot-2.0"="15j1y2ww2jiy0m636rpgjydb391pacw7gm4541sryfafn68pivhn";
+"tzplot.doc-2.0"="068kbnxy1dx82cdk3yh5czwyajvypyjhsgvmh97kjwg6j8l75pm1";
+"utfsym-0.8.3"="1bkrmrd31r2r8aq2ldqvwrlx0k9pgnh8hnm0qzgjxb5mqj7rhwwj";
+"utfsym.doc-0.8.3"="1qllclbkqvr6nqjvfxkr1xdv2af6vi90sc40igxssf4d0gcbkp1s";
+"venndiagram-1.2"="1v4hbkc214fjh5wc2myqxa6jcvr6sa31c7nz9avzj2kf40kp3ip0";
+"venndiagram.doc-1.2"="0as35w7fd9xjqhrr3v3nzld9bnhz6xg7rqgs2hyzx150xndy6cb9";
+"venndiagram.source-1.2"="0ci3ajx316b6iin315z1xkdfmxbbflnj8sf2ww7gkxf853qakwlc";
+"visualpstricks.doc-2.3"="1wfri908smlw1ngqq1mjll2b80b29piicqmv67x0xs1v3kc2sz3s";
+"worldflags-59171"="1zgjygxpfngjx944195nmv1qyfqvgdp5izav69505k0n176fg0nf";
+"worldflags.doc-59171"="0s67hgrlfpin5fhm6d35vdd0nksg449fry51cr638aq444yv4r0g";
+"xistercian-1.2"="1bkwcw3n5kkygz0d5ihikxp5hx2mcj3hvbqpggfv8wz8y820fkjv";
+"xistercian.doc-1.2"="18q40xjmzd51hnh4ga6g7yx3ra8lmcysavf5r2wv8chqfa6jcxji";
+"xistercian.source-1.2"="1vzkm5p56h4rbsj36nnc2c45p6fchqdmym1hh8fblxdy311vjrhh";
+"xpicture-1.2a"="1z3hbmqlamcm9wgwan834hggks2b73s73h3r2pppp00a1sz3g343";
+"xpicture.doc-1.2a"="0ymdwdspdhrhgyxw7h7f8nal6h0kjw6i8zicmll5vj8vbmi44dv6";
+"xpicture.source-1.2a"="1yjvqrpp7a0d3nldqidqrk2xk1lp5vbla865l3lxw1xd5b08y40r";
+"xypic-3.8.9"="1srvrq5biqczvyi7k0ilbray7ilzi6gsmvk3b2hmf5qmv8hk0cs1";
+"xypic.doc-3.8.9"="1js0fkhn60fnxgbgviri58c4q63a0ycq37r4hynxhyix17h51kff";
+"colophon-1.1"="0v8q22qxjrbc1mpsmfvdp13iwkjxp11cxs86h2b7b9rjs0cjxy6s";
+"colophon.doc-1.1"="0s2kz7q6nkwc19jyl32rzcbbcm7ykhkglanx010xfz08vgirk1pz";
+"colophon.source-1.1"="1z2dihgwd4vbk87n0hzpipm2359fwl1z13fjs4g9r5ys7iv36wsq";
+"color-edits-1.1"="0p465bc127rlm53xngrynmrxswzmp1xsivkfy3mj22h4ij6db03c";
+"color-edits.doc-1.1"="04zfa0jryyw79rz9s1c0yzr1i8zla7ivvfw701f8la1rab7z6q94";
+"color-edits.source-1.1"="0279n81xyiz4ipjbr1jdl0wipfy1lkl18jx8mbqcbwczw8k4fbn1";
+"colordoc-18270"="1hay7bb0xh2n2j9clvbn5ayz3jq0yjaixi35isdsf9ysvj81rx0m";
+"colordoc.doc-18270"="14bw1g3dna2ykyv4fl32gvqjs0n75vlfpc9icdk09l7zhdspsvfn";
+"colordoc.source-18270"="1bssn8rjrp34nm6qhmzcrcn6a0ah9lv5n94d1jxqhhaj4pmimd2j";
+"colorinfo-0.3c"="0ip7py03xrsrn40cgkl4dnj3q9g0f9fbw71c9rsg9j7vl82fdn46";
+"colorinfo.doc-0.3c"="1185m34382n9rk6w81ppb414vl77kikkhwvn78aahlyli4il51l8";
+"coloring-0.2"="1ld6gknb8a59pkz50wlil5p11mnv6ss0zsjbajbw63dg0zlwaglb";
+"coloring.doc-0.2"="18y8apbkh7yqzxrzpraqhd76k93xnvgq5rana8lq4xh5z3f7skjq";
+"colorspace-1.3"="17pahq2wh9vqwpkaqkzc3ypcz90i9qpmw7867qz4k8a87sp7wgji";
+"colorspace.doc-1.3"="0g766c50w7xpfvqpp6lxjc6lm2cyr8yl28g7n357j1d1lxgnv0x7";
+"colortab-1.0"="0hiq8wgqiwxnw1gsrymshkldspdnizcci56ihn22h0hcwz76hgzv";
+"colortab.doc-1.0"="1cj84k7cl6cww25yy2lynjrbicn0qy4y09rh6dx2zq19972fggi3";
+"colorwav-1.0"="18svrj3bfsa8m5q3hl5njc8ac2n1qw5lk01qlc45by8vd0y55s1g";
+"colorwav.doc-1.0"="0jprx7kl9vi0497xfnvrswcx5d3ij9474iq2xqvnl5yhw4mz0v49";
+"colorwav.source-1.0"="1wls4ixd2q85yawkm0brbwiiipb4avgfjgi2mi8ix1hwawycqacr";
+"colorweb-1.3"="1rz9ay86z5bf8m4j5w5prvvk1nmlaakj3g0qfsrl0cdqk7hwsfsf";
+"colorweb.doc-1.3"="0vzcwhbq1a6pczvrv21z0q3y1akfwm45fclf0857c8jvpikkzb1m";
+"colorweb.source-1.3"="1z0h3l9gdxsg6lbw7j6nqhafxq8b8smcn4nmq7ywdzryp8b6fbw2";
+"colourchange-1.22"="0y8r7789xaj16cdmsz4q0zyq9l09ihgzzgk4alnggsyx1ny45ybv";
+"colourchange.doc-1.22"="0zj9b8xcnjlvadams6a2z3pvnzjci5l10kran8mg79ncvzq386cj";
+"combelow-0.99f"="0s14rmmv44js6vc2l8h7gb9f8h5w4as71qgxbadaxw641xfs0ys3";
+"combelow.doc-0.99f"="0pwrqhd8m7c2444czsllk4sqai3i2scll94y6qy7m51jvjycyf26";
+"combine-0.7a"="0rk76f508pwhq4crcimw6mvqw40j31g2nsrxj17pld7ygxf9a5ah";
+"combine.doc-0.7a"="1kbvk5wdpjxw9slhz63pgz65kkxcn0lkr6i5gv8gcjh2w61xizq7";
+"combine.source-0.7a"="13z1yd5mb4jdsa3kjl49412zj2g0nkprmmv8d6ibnjg6zdf9s0xn";
+"comma-1.2"="1xaq59fm295wwnpls4qfw364qf9iyg97xhsvglgnnx8w7ydhr68a";
+"comma.doc-1.2"="0g8jpwf1ilkbk59p4l372is00qwhfbsf8f3db1mxysmlxyf0m535";
+"commado-r0.11a"="00by3sskyr1hfc9wqazn2rii739bhl2fhlwwp83h6wx98h51rfx3";
+"commado.doc-r0.11a"="0mk7k9gyv2xxd3l7m58dsirk32cn7wbmdy9c0nc6i1jyfpsfhmq4";
+"commado.source-r0.11a"="0719a7bp07vf5jgx00cjdgvzfnv7wbxrxna2bdjjsfyvipyr4z8a";
+"commedit-1.02"="00anqgix8vydq5ssblg5w5i8pziy8fvlva2kpwy5cjjiqgpprcd3";
+"commedit.doc-1.02"="0vvnkp8r0xbsyvzps4a20fr43cj2559cs6mq7jhja6jzvqqc6mic";
+"commedit.source-1.02"="1kzc8i6nmvw7xwz9fbfanabypissbm7hnmmgp2m8r462ywzpa79c";
+"comment-3.8"="14k4y4abv5mlhn1i8f90bxfymp9vz0aha4p2gql148wj2hh7h96m";
+"comment.doc-3.8"="1589g0dah13lw4p18cqprhfnh1184m79ddrgvc2l22bq6vb1dsb6";
+"competences-1.0"="0hijar81j2jpwk5j2hrgaxb1fnbk6qh2qb0qbbmhsqrdrfcl6xdl";
+"competences.doc-1.0"="0ywq9f2a1fb584kpvzwg8b16qc7bpcn3dzsscs6ndqbgcy0zc2yf";
+"competences.source-1.0"="01dccp2wqdy52kp79n099v9lh1vfambg0b63amq37ac68pwn3qp9";
+"concepts-0.0.5-r1"="18vjncdrbp7m7m08dnfmk6sgv79jx83bc4yvvcqb0j9mn9niy1f0";
+"concepts.doc-0.0.5-r1"="1bq82dgsl6gqnrs88dzg07dn4rmc4y5by8122zqaqpdrpjxhnvax";
+"concprog-18791"="08yr8yk9gp35d0nvh54ysgv61s062vj446fyb87n8jipfm49mj2x";
+"concprog.doc-18791"="197p2bdn1rqmxva56sagvb1z7kc8gwxr9zf612r6g8yb07xg5riq";
+"conditext-1.5"="0g6clck3v75yvg7gv42w24zv18vi5jcg1q9k663cxldix77lkgbc";
+"conditext.doc-1.5"="1qc7w7xfpxarb82hf66f3i63v7ypdybqwg5g3j8qswj1a39cy1wm";
+"constants-1.0"="11naj0z8ppb6h07r7cff0lcmr8zgc29kp3x7spi60zi6cq2546gk";
+"constants.doc-1.0"="1wgvq0x1kjgd0bs0024fkh7wis9aw9qryd7y0igrbgdgc722pjnp";
+"constants.source-1.0"="01skagh044v62vw12kmibgd6y42z5r1glrsvi9y0h76vs52jz7hr";
+"continue-0.2"="0vwz01gmbid6b2aj32qnz1xrlk9h0nicjv9ix1rvqdad20m1i4wa";
+"continue.doc-0.2"="1mzsj70v9f6srmc8ja62pph9j67p644hl54fx6nyahvr2h9vdik2";
+"continue.source-0.2"="1q835904qai3r49yi8hrfxkh4bjf6913qs5fd2dv7myp1w93j5ir";
+"contour-2.14"="0xb8a0y3jazrq5gxfnxjl7qkyaqjnmyhjshgngqcsrw2sq4j4li5";
+"contour.doc-2.14"="03rxkl9vhhqa7gpigar8w2h78qvx4k68chhf0881ws3bm6lg15sy";
+"contour.source-2.14"="17sfl4npipzgc7jwqx740nny7fnd8bv8k4vav9ds765ky1xcs521";
+"contracard-2.0.0"="1qvpz8ybjc7yx8zx4kzcpjchvxrb949rqb3905rhl61shpqv22hm";
+"contracard.doc-2.0.0"="1jg8kgp9wvxksjz9kxyh3qqxhgjmalkpj8y004qvrxna2r2idj50";
+"contracard.source-2.0.0"="1v6ffg84czajnl6p6a1j8khnfmzssjkhbndz5ajkww64iiw060i4";
+"conv-xkv-43558"="13clac7dhg2p69ccv2yjzdh64yjx02y0fb0imx9lsd0knnb1j3aa";
+"conv-xkv.doc-43558"="12dln1r2qyadxr4cy3xbwn18s5y8yxgxid22wpb2i42n5qc8j1fy";
+"conv-xkv.source-43558"="02hz64vbcy7vg363vb86vydaa29g5cgji2mfpn640dgmqq0s91vb";
+"cooking-0.9b"="053wbmf3xrhwjxp77f1myfvz3f474kpk626p8gds939yx50jqzvs";
+"cooking.doc-0.9b"="1db5wxixparr81vanwkvg097ll58fqpp3qkh0wz7mbqjkansp6km";
+"cooking.source-0.9b"="1gka18njp7ipa0jp1527mhig43hhvz5bcdpvs95c61cvjrmwcdm3";
+"cooking-units-2.00"="09si6m0cmr1czwz4mg31sqs11r113sm5znpgrh86svxz44vld1hp";
+"cooking-units.doc-2.00"="0jiw4c11w4c3jla82p3i6bfz3b6q9nils9fin84qrwlzqzq8hxzh";
+"cooking-units.source-2.00"="0x669dlrflpv7hh0bdl95sjqqx1wrcksnh733jw5djywgv5w06cf";
+"cool-1.35"="1lakvsarqhicdcfx306xp94m4hsypdabr0fggakqv7adcwmd734j";
+"cool.doc-1.35"="00mqaavadqb2m2rf8j00z3dclflk191gd70qb1674pyd0a82z2qv";
+"cool.source-1.35"="12r4d15nzd3r1dxnwz7vzgmxgpl12gkq88hdzqwnbpan4y90p9zh";
+"coollist-1.4"="0hv9qi4d40vyi5shga53czm887adq9h8vmq6m0n087iijqnlxkk1";
+"coollist.doc-1.4"="14r6h8zsdwsirmpz435py6a2hsc8qkw39krp419b6v0sdnk2lby5";
+"coollist.source-1.4"="107mpivrah9m65pa29wafwjjhcql9lwhrrmn8ny51p2b0w4xs8kr";
+"coolstr-2.2"="1ivmy6jmjbbbzfakfz5ib58qg4xd2pyka90zskzcwzf5a87r22ih";
+"coolstr.doc-2.2"="0pb30nqgfijdkgsmddb14n6aviz331wab2cd32vpqsb9jnc4rz3d";
+"coolstr.source-2.2"="0fakgk7g7c9kkgd0xdm9fpcrnx7jsczddbvypwxkppll2wfsnamn";
+"coolthms-1.2"="1z62gl39f9cvmwap70q05jml1657jxg7lvq81rgqh878z63d0rzi";
+"coolthms.doc-1.2"="0zqpx1c0lcrkp1zpwl776hd8gln7i5f5m5k5kjhcwxwngd8w8df0";
+"coolthms.source-1.2"="1bir9kbsvayk3xkchg7kjbwqkhda81vay9d70hmqxgwpa0l38j6x";
+"cooltooltips-1.1"="1apf2qvfs606nqnnps2rny9ly6y0hs7yv8injrbbk64x3nxk86xr";
+"cooltooltips.doc-1.1"="11qjqqicakybmnqz4vx5jb0cqsj8gw86rywj7ycvg96s93zkh12i";
+"cooltooltips.source-1.1"="1spsydk6mn3qzclav2g2al20sdnaabz9b0f01gq95w2qygl26hy6";
+"coop-writing-1.2.4"="123rbingcrgjg5dyafciwz8wm2bpl9bz9w54pi2jim87lgibnf92";
+"coop-writing.doc-1.2.4"="0jqrf8pnpsq8d432s7b3qva93ydf8gng18fn3drfbzsvb4sqaf97";
+"coop-writing.source-1.2.4"="0yhynaxvvhfhnx97p5p12xf66zng989kddlfw9pp6sv5alxfnvaf";
+"coordsys-1.4"="12vpxh6ll7q2jpsv85j68ij0m3b0335hflpqahk40dagybjkp426";
+"coordsys.doc-1.4"="1jcjvd577886q8sqzcsqil81b2lm31vjxhbdrgs38fw8n6q9g0sq";
+"coordsys.source-1.4"="0npd3qqigvp0i5zdgizm68sr1g5xcplgwfahrkak0kq4g882qmdd";
+"copyedit-1.6"="1rl23bq3fbn4rajc744ra2prvm4rmh0wvhc7jjsiw7sw2hzv467a";
+"copyedit.doc-1.6"="1ihvynh96vgl8ik237pf2pdfzclslrn0i7lc64skx3q7pmyv11in";
+"copyedit.source-1.6"="0i2pwjj4bdfsykwv6bchp2p7x0gpdbnyx37ri1d27vl72yi72pw8";
+"copyrightbox-0.1"="0n9z6dngf0z98bnzn6nl8yvy7dh1jmcdbqfxnzxarxzqq16f99ch";
+"copyrightbox.doc-0.1"="1clg6jq9cja76j5x9laykndfqp0i5a4bfmqrxaa8rp6y2gnvpign";
+"coseoul-1.1"="0wqxvh5mnrl59ry0qahxzlfajgpp0yj27h0falxnr4m5iygv7699";
+"coseoul.doc-1.1"="0l3z0fxsdlln0hjwkxf9ka9hw8zmmixml9lfy4kbrn88xq6z62yw";
+"counttexruns-1.00a"="0qmm8902apb9ks1ik1dxmzb3ivkivpj7a8f8mkn5xdyxbnqvm5pq";
+"counttexruns.doc-1.00a"="0kpasflvbal7x4r1ni3jf30fh7w6wi68109m5ajcjqrjzxkpgmdm";
+"counttexruns.source-1.00a"="0840fyw71mw3l5k5g01wd6hn41a079f83wmbyg64f4yhgjdjxjnf";
+"courseoutline-1.0"="0mwv6bslzgm5ys4gl32mxcw42gkpzwkzrvxk6934682v85qi6f4k";
+"courseoutline.doc-1.0"="1k135zma8aacd0mf6l5v4zac2blqzf6z5xa40094by61455x48ha";
+"coursepaper-2.0"="0n8gikcli14inz5q85n6k63yg6dczlpi837mbxrv5552hqzpivwv";
+"coursepaper.doc-2.0"="1d8k6yj45x0wx790y46b46nhjb3zvv2ncbkhlzckq71fsi5ayp32";
+"coverpage-1.01"="1739rmdrj07q8s9xpxarwwds13hciyv3q41p18cm7md8qrdd74xk";
+"coverpage.doc-1.01"="19hw1mx7ghigybh23b8v65y0zx28p9armynkw9s7mgpbsq0wld32";
+"coverpage.source-1.01"="0spllq6j5rxqc6a96x0dx3n7skm4gqpp6fgas9vflywiw6i5vk75";
+"cprotect-1.0e"="016z5zz8njkk2cra768jlh2s9l3r4wmn50nk3psmk3v0i0cy0197";
+"cprotect.doc-1.0e"="1wjyrb0z85yighkw9a1pxxwilp31c5fjra7y07y0v1z20q6g3rlm";
+"cprotect.source-1.0e"="0lrf75hvlp6jpwfppkj0dwv7a9q51n897bwrf3gzwswb7icvqnf2";
+"crbox-0.1"="0ni16ldwni2gyzlivd5ii2fdq15h6np4mv73raa5g76i5rw42sbb";
+"crbox.doc-0.1"="1yk96bajna3ihvyhx482jrwiccbmqdr9852w11x00xkcvvc6azfp";
+"create-theorem-62806"="052mlk77g685fp45kalcrpqzphysx3xky6rgnyxfgrg7zwi8yxwm";
+"create-theorem.doc-62806"="05m73anrzca3qal6cdlys1m3c9wscsxpjv59x4i6iix9ky39v35h";
+"crefthe-62350"="0swyxrrqixwqavry7lkv3s4m7v98yin1zyjjcbvwhgr693bmbynq";
+"crefthe.doc-62350"="1f3i2fk98d1269w6rcv45z7dqc5zh6ix630bhji5733zs1x0q6yw";
+"crossreference-15878"="0xc8d3g8j86dzpfxzfcildiyk8zi2apc9af88v2zg6zjra6vra1x";
+"crossreference.doc-15878"="1iahzjwns9zapa5y7z6yy2wjdcy6qiqrqvp9q9v4ky2zgsf7n5pi";
+"crossreference.source-15878"="0yajk2dxnsfy74r6a50zs4lc064aha0lzfqp26gpgnsx2h0bvpix";
+"crossreftools-1.0"="0pdhi9yij4n6bwcwbk077sdvwi1v8ww51g2r9ssfnmvmxs4zjw27";
+"crossreftools.doc-1.0"="0q80k648b967q9gcy7c3lb8ywk257zbsw04kc2gazlc61scviy49";
+"crumbs-0.3.1"="0yzixk05lc15xwqgh3gv0n6yjvfa5wzcq7smf85vrcdnbmmr1lw2";
+"crumbs.doc-0.3.1"="18fh8lgnrm4spsgj1ih5vdzw22wdqxqq81xgr7653yajkrrnqwyz";
+"csquotes-5.2l"="12yxrcyh0igs9khkpms447k2p7b388p2vqb5bxxmcxp6fxvfq9lr";
+"csquotes.doc-5.2l"="0m4ync4sjrlv0qccls24brba7w6zd4d8hmh7h5nbwwv2lynqxf4q";
+"css-colors-1.02"="1q3vmcppk86v2y72g47ifp129fj4rgdq3rvzgkzdzwhs1q06ipfr";
+"css-colors.doc-1.02"="0rjqim8zdmgrz5dff8bjkz9kk456l699k5nplhc8bxa6dn7yrfdx";
+"csvmerge-1.0"="0fyrqx85mklws5zny7gmmyscnsivjfvwmgwi52k3jk2c97nvsy8z";
+"csvmerge.doc-1.0"="18pmc5h44jmlh583cg0hjr24k2pj369l6ya4hqm9kwka0bhg29nm";
+"csvmerge.source-1.0"="0mggp5xankhif93firc5g01c6b160bkwqwbhc04wcm4ndlamvip1";
+"csvsimple-2.3.0"="19y49a2ilhh2hdhm9zm4vql97awkmrmpy9fqw6aji9bljq7gmazx";
+"csvsimple.doc-2.3.0"="0pzym17yywxkxkcd9hhacrydk444nwg34fza8a81i4dxhd5k2kga";
+"cuisine-0.7"="16kvfkx5sj6xp5dz0gqlbp5079vh6snkpixmphvz2gzyaqnmafi0";
+"cuisine.doc-0.7"="1mbsgn7mvy39pwq5gn7l3h6l3lc53vjyqyvc50xj8h9gs1gpdrb3";
+"cuisine.source-0.7"="1r14f44bjdry108f6iy7byzms4dybc0wi936dwkg5ahwyq07pmck";
+"currency-0.4"="0673ji0kw0j0a764kjvla157mf5lcxa02wd0ypj82gfz617sn0r9";
+"currency.doc-0.4"="0v8sfvj7g65r7iyjijimbg855rbbg5d1zdkp7vc58q14y8f34a8c";
+"currency.source-0.4"="00p52nbdv0x1v71fb0ln63wb9mxdhy7zgagbpmcn2ca3xb83m16k";
+"currfile-0.7d"="02fb49hd8dh25yf2wajnzfni0p4krjnc9scjvnzazpsq1iygl55w";
+"currfile.doc-0.7d"="0mlrlxa66jx9dqh6m7b5rlw0vd0437wyjkizxw12xqi5a2656izb";
+"currfile.source-0.7d"="0zhxf7r1hlgj133ckyk1n7ki3814z91k546js2fkkmglr9s0bpf7";
+"currvita-15878"="0xrcc3pash4g8mkmnzqi0llhix63hqk12vlwn98ipww68qnhfbky";
+"currvita.doc-15878"="16v8r2vhvb9ssmnyj4zzgv2b2m10d3zg7wm2v6cn0p65hn5i76f1";
+"currvita.source-15878"="0xrsqmaan5h60970d12bwm7k9nlf7h0flzmqhl0j3kbnclm0x8w0";
+"cutwin-0.2"="0camjay52m2fbg4df7rrswfn30an4s40bvyvssdcmhmqlbvsh46f";
+"cutwin.doc-0.2"="16wmnp2p3hnl8aanm29sxflqcz03qc5vlk9ziq38qxsksisxkl5d";
+"cutwin.source-0.2"="0lqjiqlfndqmjmhj5p4flhly69cyg175s8wg2gah1fcfv0dayrn9";
+"cv-15878"="1w9gx9mhg9wp47rhb6kf1w03mypydp01rxmypv6yvcrk551b5jm0";
+"cv.doc-15878"="1b16zaypfphbn9x2fwh2v0i212jx3pn84vj513lkxzzfh0if78iz";
+"cv4tw-0.2"="0nli9s73cns9x44vr2npb7zgfinnywgwajlr1k2hf9jldzm09dm0";
+"cv4tw.doc-0.2"="1b9zd0ky6h8mlcigfwj49c4chsznvbycsphs9lkpdhxv8mx9wgyq";
+"cweb-latex-28878"="0cd2rgn25s02p2ga3509pnbc70iad936qznr2yl5q6wnlvd78lbr";
+"cweb-latex.doc-28878"="0vc5f0h9mq7p9040ksql4clcb9y1dxq7s1a4gzgpsjyla05ps3qd";
+"cyber-2.2"="0vlx0r57ay6jpybs6wlc1w1qpbd62cjq3snaqplaj6dkah98kcbq";
+"cyber.doc-2.2"="007g12qa9v04z3b11cdrd9z7pc7iba0aa2g7z460i0hi2fg4gv3l";
+"cyber.source-2.2"="1kivc83wjpm2rf2myk4079f1l8pyw1pm9a2j0iqbwshic2qfm86q";
+"cybercic-2.1"="1g7iv7xyl0a30kjmrwvcz2kg6y7q3r51344nf53r6ln1asagm68r";
+"cybercic.doc-2.1"="1nman70rpgd0wqhgw84qg8acm243y45nhxd32dmh9y8ywabynvc1";
+"cybercic.source-2.1"="12pbrk2bmgv25fa0llpk6pfgmz5jljmy1w5b6j0md0ni46ldjxpb";
+"dashbox-1.14"="034nwqqbd4q99mzdd6958w6a3jcvvpvamdycda5blh7in1gwm1b5";
+"dashbox.doc-1.14"="01zb6bc407282xhfc6ccrm38jjz2vyl96h552435b6cap68jv48m";
+"dashbox.source-1.14"="1lgpiyfizg0vgfgz51wk3mhhc344gwra79k1xp95c2p6w32bgf5y";
+"dashrule-1.3"="050scy57rjz5pvwd8bbl4h32w1paigyyy7dazr33v28061yap9b2";
+"dashrule.doc-1.3"="1ryclmf2l90n20qf516p4qz02znnp5rgjx6pfw4p3wrkamnh6xwr";
+"dashrule.source-1.3"="1f05m420qbbk25pc5snh3nb4dx7bd38nwfix1p8ndngn7l9dfkcs";
+"dashundergaps-2.0h"="000fzv5a00nap8ybzyijz7kx1ky4qx418jmkmyz5nm2rpnz8ckg9";
+"dashundergaps.doc-2.0h"="0zj18ikjshyd9jdrn4a8h1l8d9kypr38kx2cfsd9gllppp27m4c4";
+"dashundergaps.source-2.0h"="0n43mz7bnf05j31p99dmxr26rl6xzkc4maxra1aavg8s19x9pmd8";
+"dataref-0.6"="0isa7vgl7ic6fckj6i40llzp0cfr8j2lw7xyl4yd3fbha332sy34";
+"dataref.doc-0.6"="1qpkfaii2hk0ycpcycb2fl7aal7wn7ynzr8hpsnvfg7xv3dkvsmj";
+"datatool-2.32"="0c4f0byqwfkldxc1430qixy52xsidzw8s78igrxxrqhvvls4ywh1";
+"datatool.doc-2.32"="07gg85s1sv5zq1n766av958fc1qqlc9ifmyz8kd99b27yf9im4l1";
+"datatool.source-2.32"="1w5rdaqnx1mrf0vagxq5gvpxskwm5m4mbj2h4xhz78p3varn2i6i";
+"substr-1.2"="1qialx52sccay00z85z001xsm62ajvbfxqxc9ps0bpmjkcvvgad4";
+"substr.doc-1.2"="0zfcggj17bf26dxihkmqwn80pdir4n216x0nhkb3v17q889q903n";
+"xfor-1.05"="0m4y0caa22fps0r6735kb9pr2f89z5a8wflzrvpbms4nh3a61zgc";
+"xfor.doc-1.05"="0c0qg60h631d3m9rqr0nwj9772zjv3ch0d2p1ksnqnjf30idydl1";
+"xfor.source-1.05"="16xp7hziirlnd507g9bjvszm90wk9iv6ankq8bx27qkyk1shhjfq";
+"datax-1.2.0"="0sqyx1waaw57v6qfh9q5mcf5bwz3j4v4c52x7dcnh7zh37cq6dmj";
+"datax.doc-1.2.0"="1kd6qjkvdi3bnkibihzfhcabs3f6ik2bsqhg609qnk6c5cyz08i4";
+"datax.source-1.2.0"="19va3a8b7f1l93b6ky1b3li4y6fhxiycg6gjpv9i3vyjhc0cr0sg";
+"dateiliste-0.6"="0vzq9y9ilc6pnhg60psvwsand6sd4w5238rq3xhwnj2nq80yi38s";
+"dateiliste.doc-0.6"="1gxjc45zim6vykmskmhrhnkviw9i7la56d2zfyi89c5nyjbry5a2";
+"dateiliste.source-0.6"="0ks8aka4km6z6xcn6sihsff935z8kg74cyf3czk31wmr9qay4yq0";
+"datenumber-0.03"="0jcpzz01g8n8gxl12pahhbl0wi91in08vmpwf3lnwz9cdsm2n53s";
+"datenumber.doc-0.03"="1h7nm009as764cwkdxy64zh27qwwsqlchzfd2qd4wx9gpvg3dg20";
+"datenumber.source-0.03"="0qsbqqh4lm075gfv9bjmb795z2awf78nr66lrsj72p6z8wa01scv";
+"datestamp-0.3"="0gwmg94562bfc3apjqkf4bb2g0diczdc9ik0dp2i7ha5kqxvczpr";
+"datestamp.doc-0.3"="03a24ssl9x33jw5vqg2as0cvrjq9llpdr0qncyxl7i03mfpiwyy4";
+"datestamp.source-0.3"="1byhi7ka2qkzcph85ba5kzqfqakqpw8abxzvf50cddppfcr2gc52";
+"datetime-2.60"="0xwh0sl6x8fqvaxahh8356dfwqkzk8g9dkxyaax5gz8ar9p3xb6b";
+"datetime.doc-2.60"="1j8zlxbyqpdrwm3z4pgdv3gz2firffk8wwr3ih1vcgn7nqxkcd78";
+"datetime.source-2.60"="0f644wc3c6zx6dgdam4wh6ap4gzzf5qn02krp90hkqmbrg080zxz";
+"datetime2-1.5.7"="12854by3m3pr6j7s6zm8inj2panr7c9h3ngm19gzybwy7cdb34nq";
+"datetime2.doc-1.5.7"="1pk1k3rsd9h5csnmnhlwi73i6dbwhlpqmf5z7kxgy9czmarbfg56";
+"datetime2.source-1.5.7"="1n60n0i9iwh8qyhv78z4d2afsfk04k912ixjciblgnik1gnd4xjh";
+"datetime2-bahasai-1.01"="13xslpv73cvxfs9m010qnnqsrz9ncgci65ha89y1zsi87fld4xfw";
+"datetime2-bahasai.doc-1.01"="080zpliqc8wb85gqx86klrq9rj7p73m5vnka5qmxzj60kvicwlk3";
+"datetime2-bahasai.source-1.01"="1jhxyrxl2f7qnld898b1hhga80wl6b6xfhi9vd9ka3w373qgqfjg";
+"datetime2-basque-1.2a"="0m9sf0ghni3c2qmr6byjjy88f6bjj4hhpiy9c5bgisc0ccb11jn2";
+"datetime2-basque.doc-1.2a"="0krgk4krb8yglk1a0fvzhgrj6b2n38gn8kxin23p98b9928wmcl3";
+"datetime2-basque.source-1.2a"="1q9h4jli6fcsd0vqlh88khv10gd6gz0vxd4gx9ikbrvgsx9wx25y";
+"datetime2-breton-1.2"="11hd7fq61g7j7nxsgrw94hdrrn54dnjvh10rfwcn0x6ck1vxawfg";
+"datetime2-breton.doc-1.2"="1h50bi7q6gvv3c2qchrx81ybly1svzyirhdcyy2swzqda2w1x7xs";
+"datetime2-breton.source-1.2"="03ppqjw69xbkvqnjfkqj0zlxsg4m5q0cx2magq88f3wmjp7kw2l4";
+"datetime2-bulgarian-1.1"="1vx3n6n46kzcspc10fwysq7xij5dnlrv2wn6b7pkfbl4yh1001yz";
+"datetime2-bulgarian.doc-1.1"="1yfgdcr1l6qji2x0i9gs17zb5scc9p91cgyk1w6brhy5sk4syns4";
+"datetime2-bulgarian.source-1.1"="00za8skfwr1mhjpizgslppnlg05rwab3nbak4kbsqglcv0nivm93";
+"datetime2-catalan-1.1"="1lj6407mzspkhh18yxxmvk3srgdpf8c5r06sycy128dqjkix4ma8";
+"datetime2-catalan.doc-1.1"="103nx5macgfrj8hkvyyra24378g5n1x4vnxi30pjkawapwjwk982";
+"datetime2-catalan.source-1.1"="0pc165ql0aa2wdwkz8wyk4yafxr0j3vnp98vxybq1x3fwfqvipv5";
+"datetime2-croatian-1.0"="1h8nxr5n9k278pngb36sswi6655p0vq442x6ixlw8h4mirlrq9jk";
+"datetime2-croatian.doc-1.0"="1lma00vhrjkvldgc6iq5p9k2ky4cfjywxdzy897308yxrbahm0rv";
+"datetime2-croatian.source-1.0"="1xcdaz38mm09i8zc8jpfxpbs3l2n5hhv8nk5xxw108x5k8vb8fnw";
+"datetime2-czech-1.1"="0q8f1ksl8lhkfxb2si8l84l94w4nfgav1ybfryd596kmcbpf6iga";
+"datetime2-czech.doc-1.1"="1wz7sznkpk9rik6612vibk2zc832qxrq4yq09rqwp6y2nar0p3vj";
+"datetime2-czech.source-1.1"="1bism4aqd05cjjrxmsqxxpq10sw72855fk5v2wjkij62yawklp15";
+"datetime2-danish-1.1"="18shs9bi583590a50jszym2pwcwgbz39p75j4nj5g32bwap262hd";
+"datetime2-danish.doc-1.1"="0dr9jv99c51na0b4ds6ac4rc26na0v0rbjybna25fiy4b0k7dgli";
+"datetime2-danish.source-1.1"="1h71ibvmhsxi1j5h2sq1zs29d466hylm7w9pl5xb491d091nxfl9";
+"datetime2-dutch-1.1"="1s5ff3wc9lgvz8md4kwwlqc792s4dqr2mcf0sif0dv0z8ssi079p";
+"datetime2-dutch.doc-1.1"="1562fdf0c1w556mwr5gfbc5qqnrbw0f8i7dc4lwh8gfnp7skirc8";
+"datetime2-dutch.source-1.1"="0i1kv624yr4zc184vy2y42qnycsqq57349d49glxc9lh0bpc9fgd";
+"datetime2-en-fulltext-1.0"="1bnmzpll7s2pv62hafbwxcj9i0c4s7vk1090xg2zvf80d0k0biyi";
+"datetime2-en-fulltext.doc-1.0"="1szzn4jcgchf1h8bg507lmb4mzdqx60k94v84z2g8h2pv7d5ip9z";
+"datetime2-en-fulltext.source-1.0"="1vrhcgsjhb6vfh44lqh2hx22zaw5qiwiwms7lnzwism5zghdkaxs";
+"datetime2-english-1.05"="1xjjv46vk4s3drlzvs7iprw3zhn1zk30bwi2dgczjqzk0fxyiql9";
+"datetime2-english.doc-1.05"="0iyq0385pj2lqmd5rwyanry6brbwrii4zg2jjnhp2ib404jwjqf7";
+"datetime2-english.source-1.05"="00sjzcpsp9jjfn9fnc1fmq19448qm0p0ggi2yy7qmz426mqb3g7x";
+"datetime2-esperanto-1.1"="05691xa25qp015w0cm5mzi3qrb88hlaq5jxjrxqgid1ni9rpgwh8";
+"datetime2-esperanto.doc-1.1"="1c0dhq8ll04pl3ics7d3p8r73mdawnyridapfr9540cs2a1xjjbb";
+"datetime2-esperanto.source-1.1"="11xg3v8dk7aiv9ms4nggsm1xs898m0zzi7lszi7jx8pcmxqnz851";
+"datetime2-estonian-1.1"="0vdnvfswgm92ncrkh11p523s6vczz1vdxyjqjl9cpm1nfj7wp14j";
+"datetime2-estonian.doc-1.1"="010i5rcy8pc5y16rwhpzzywlyna031g6s9xsdpgg0avci1yvw20h";
+"datetime2-estonian.source-1.1"="0xsgj8l6hipdb0f75ckqw1h2lmdkjxxgz0mw38pc1kg6sr4r3sdf";
+"datetime2-finnish-1.2"="01hjh5lmd2461n0g2a67z31h80wcfj14b9y9amxkx4k01b1268li";
+"datetime2-finnish.doc-1.2"="1cihjhhm37f38rknm45ndli3kmgrb1waxfncl1fg9l95hn929cnh";
+"datetime2-finnish.source-1.2"="0zi9ydsj0zjrg3c7618fxxabas6zhvdimbsd42n8fc5acvddhi36";
+"datetime2-french-1.03"="0iznh6qv41xcaryyh70lk26rmrk2j0j3239hib8g924zqgyi83p7";
+"datetime2-french.doc-1.03"="0f1j72g2xqaq64wi1jkllhkpxbjm1j3d7wraq42x13giv72g95w8";
+"datetime2-french.source-1.03"="018a641mqcpj1maqhpcrp09msf9rbr8a5nd16hk8c375sh2lqpap";
+"datetime2-galician-1.0"="1g5qmiy094yrid6jh3xvy783kq331bzk0lqzci7jsb2izymz0lqm";
+"datetime2-galician.doc-1.0"="0im51qyxg5dbc6p1w3k4vs63d7nyyipd2ad7z9czlfid0n4ywksf";
+"datetime2-galician.source-1.0"="0j4i3b3mp1bpqir7imsfw2y1098ak0j8zs7gjhm16xdrb4n1xhcl";
+"datetime2-german-3.0"="1n7s5fj27rlz61r63s1mwbkxm62ddb2izz7ip4fb165d0bbba8xr";
+"datetime2-german.doc-3.0"="057p9xgdbxq31ff43qi7lr4wy17nk625dnpczrinfd80xn92dhsd";
+"datetime2-german.source-3.0"="07dv92w3rfg0xi6d8n6ykp0rn4pj6k8knp9sx8an9bhzmwqw2yw1";
+"datetime2-greek-1.1"="13a1lpvg680881xpgphzni3hcdymvph56mhgy0jbsri14fw0mdyi";
+"datetime2-greek.doc-1.1"="1kkl386rd0h5psr1z4aw32r7m55in62hql8x9c8njzajm5frhf44";
+"datetime2-greek.source-1.1"="0kmwn8mawmxvrgx5d39j92p3r1nlk1z378z1h2lx129yz4qbsv56";
+"datetime2-hebrew-1.1"="1b04g9lm0g5128phix3mnx9yphg07ig7p9d149rw0b1imly7f6mv";
+"datetime2-hebrew.doc-1.1"="1lslls4q5j1l9a5m0gzv351jfc93ii0zzcb62p3icq2qjig3rz37";
+"datetime2-hebrew.source-1.1"="11q13hms2mnqyxg6hc3279a8hs88j2d7v7wl90v5avwgh8923q55";
+"datetime2-icelandic-1.1"="0qdzn3sg7wamii3gkjgq7sas1fb3ixpy3b2p6qfz37a38phb4nyc";
+"datetime2-icelandic.doc-1.1"="0fxwl3q2gb9pxvhgsd7xmcf78ql67c4ajws944rwvsh6bn7m7w5v";
+"datetime2-icelandic.source-1.1"="1jkcxsas9x43zafrl8bmc56800487p037793k58kcf7w6vlr9lax";
+"datetime2-irish-1.1"="0k40sibvdqhg333l0iyhg3zs0fkhfbkqhs64ch9hs0kpw1mah48g";
+"datetime2-irish.doc-1.1"="18yd4icn0vmmizims17lsailn0gjqnhx4c7yy5jgrycammbjns03";
+"datetime2-irish.source-1.1"="1hs18kcmzgif8jcfp3v87h6rvrhskcvi5jzzspp7zgpq73izb1nj";
+"datetime2-it-fulltext-1.6"="03nr1l5gzwzdg4simif6wrwzg9716vfy1nbp8xfl98hs3sznhdhi";
+"datetime2-it-fulltext.doc-1.6"="1rqkdp81zg5sq5klz10v00c9xzb162dsmqgic2y3v4mxi482iy89";
+"datetime2-it-fulltext.source-1.6"="0y50s2mnyyx5kxb0bjbbr4pr7ywnfq3aqhqybqhd5x6rqpwagnd9";
+"datetime2-italian-1.3"="1if93khnpiwn2qpk66i431aw55y43qr603kdfdfq76v4sq4zrcys";
+"datetime2-italian.doc-1.3"="1r7gbm3ik84ny6nk3fb36g337imfq7w53cmk47qg1cpmff6c800c";
+"datetime2-italian.source-1.3"="1ckrmbv22dm7998r9p3b730zyk7ldzzbf1ds8ac5syqibh8wh0dl";
+"datetime2-latin-1.0"="1xgjcby4kyr6pb7zmwvwyhcq5y468vvja64l8bfivhv0n1s6q2cs";
+"datetime2-latin.doc-1.0"="07lvgcnpi7z36l21dwbs1s19f3afg55i18wdjcc9d02566g2fjv3";
+"datetime2-latin.source-1.0"="1gi5n1sf6v965hd4p0c6d8v92myhh218ql6bgaarsba1axp2c1as";
+"datetime2-lsorbian-1.1"="0vpqvd3fcmd8kqs2cj6ix5g3ci9zjr7i9ym31whryras2cm6r24m";
+"datetime2-lsorbian.doc-1.1"="1ysrjnw655p1jplcxajrjgd48sndqssm8j7gv869nf0ngx4mx1rc";
+"datetime2-lsorbian.source-1.1"="0875nzp676qv8vi3f37k2cbf7vszsrws6clyldqqayxkr7gnin63";
+"datetime2-magyar-1.1"="06y57br6g9clfscqma0lqp38fzp6rrxja3sz5x6jgi0acyljxzxx";
+"datetime2-magyar.doc-1.1"="1mcw5rzb573qav00jz611576lvy8nkfl3g92wj02szb6fxq66g60";
+"datetime2-magyar.source-1.1"="1697h8jh2gx1ybcfhz8cqzvk70h83qa3028hqi3c1rhkcbxbrabb";
+"datetime2-norsk-1.1"="1kcdkppmc5h3w09bwcrvlsxcbcawksmdam0x5w6zbqibvhlhvh78";
+"datetime2-norsk.doc-1.1"="1vrip0mq47w2qn8i14ckazpzhzrl79dpyj7zv01b43xw5zkyqg4q";
+"datetime2-norsk.source-1.1"="0rkjhbqppncaw67pfiihy2grzlcsaszi8jnxhhvb2sf4i3dpqlr9";
+"datetime2-polish-1.1"="1mndpf6vnb7lbziaj64aa3q796bv17mh4r9s3p0y2k8yjrllql3m";
+"datetime2-polish.doc-1.1"="1cn5qrcl4jxcnn90llhn6x7rd5zdnzz9h5szv4hhzbn9i4k1ci0f";
+"datetime2-polish.source-1.1"="1c42vallyqmpjzivcfvaxidhi2rs05sw6xbkb319dznl1jmdby6c";
+"datetime2-portuges-1.1"="0ikj36y2n7zlxgvwxd8z8vmkm4gwdan3si8bz98ajc1z5yncb7ha";
+"datetime2-portuges.doc-1.1"="1m4ij8xjshi23hrm723m6vsbijd9cbd49b29fr2466sbxmnkyv22";
+"datetime2-portuges.source-1.1"="1r0nw953bwgdz3w150s78s0rpd9c88djygwc68sr3dkfd6iih05k";
+"datetime2-romanian-1.02"="04jypimj3pcvnalkgzwzxvgav8s0g6c7br1w5hk769k7aqjf7qx7";
+"datetime2-romanian.doc-1.02"="0nv47vpf5gcnj86f1m24xbmlvhf7iciyjaz2kxbbsn4yz55zmbmv";
+"datetime2-romanian.source-1.02"="14324lrmh75g4jigcbcgx9zyxn0318k6my6ndvymamldwln7gmmv";
+"datetime2-russian-1.1"="0m3cmm2ikili85z44mmsnaxhv3x2s6xyk6kkfr3kaczn3w8srqim";
+"datetime2-russian.doc-1.1"="01rfdj3wf69j976mkv2yxw0ns4pzf852miykknni4zw7lbcki00g";
+"datetime2-russian.source-1.1"="1x931h6rnzm11ipfa747x306iwn3381ahcf7bfzhg75p8707glgs";
+"datetime2-samin-1.1"="0wqnsvx33d68j18lm0fmvjrdg8g5hv0xwzv6wqnb8wwz1l5zmqvj";
+"datetime2-samin.doc-1.1"="1wfij9j00pqs8bapbjpmg8xzah9509vrsb9h8sqc2abdjnqgkmdc";
+"datetime2-samin.source-1.1"="037gm3s8rxk4chj2q9yilbkvg46dxnd2jpr886ibydfp1ndnqcp1";
+"datetime2-scottish-1.1"="18c3y6968css1zm1pryn3cfbdqfn9px0n62bq6mapmgbd7fi2plh";
+"datetime2-scottish.doc-1.1"="04dy9syy4qmn36mfy1agxjzd41prwqzlx5f8vpyq3148w51kpp1j";
+"datetime2-scottish.source-1.1"="0nhfk8b19dqa08lb10sbfwp3c2f4rn493dgp4sm254bk00nil1gh";
+"datetime2-serbian-2.1.0"="1akyl3r70rwdyjjqvpsmh5m9g7xsdmdmx7l9qyh54x8c7gir7wd7";
+"datetime2-serbian.doc-2.1.0"="1kgkpfgfqj99m0262zcc6b7fnik83vr45973720dbf9f5gvyin95";
+"datetime2-serbian.source-2.1.0"="0hn4w3rw6mqzcj14a55m2hch3ra1ax0kb3l254pfgk4x9l3x028v";
+"datetime2-slovak-1.1"="004s60h3zi0a947ayc7kk2slxwl6bmpba8lxm8000f6yaf00wyk8";
+"datetime2-slovak.doc-1.1"="1wblf0fd2lb6b05vvb31a33lz7dxakd5k6y5pcvs6iwjjb755n52";
+"datetime2-slovak.source-1.1"="17hwr9yzpdkcvqvm1fa4qvacgica9mm29npmcl7xc3c503h4z6wi";
+"datetime2-slovene-1.1"="1lcpx7nz5lqb6pdw2j0dybkilavp535pxijs13nfl043xizh4brq";
+"datetime2-slovene.doc-1.1"="0i6p83lixs6maiww4fdsm09nql3xx8xvs2qz38r5md4r5zzikyb0";
+"datetime2-slovene.source-1.1"="0grv3gcm8wjdcx9smsq3dzd916pg8kcvgmh6s47xh83wz00qqi36";
+"datetime2-spanish-1.1"="0ggb24w3sljmmydnjdkbg34n9mszjwrqny8vl70fcin1dj69njcj";
+"datetime2-spanish.doc-1.1"="1iglnacrcwwmc43shhsaamwajlb3mzj9dgqnd5qg3v7ynlp5zblq";
+"datetime2-spanish.source-1.1"="0fjkhxqgw1yb1nzfiymwv8bsv6zlnwvdjl7crd78n3yx1fgv9wd8";
+"datetime2-swedish-1.0"="1srl9lm3hbsg3bwdkdw4bz7rhhnkkl6pihjky5p2h0jr9mribczm";
+"datetime2-swedish.doc-1.0"="15ya3082by696ysi8gj7d0x5n5g93przna74r0g8yv3qpqkv52j6";
+"datetime2-swedish.source-1.0"="0yswvrgh6xg34iryy0anhb4jac8q0iyvdfw9bsbhaz1xbldn7xw9";
+"datetime2-turkish-1.1"="158prpx4ma56qvq6ivq7ffwp0llll5x34af194qygxs0ldsgjlwy";
+"datetime2-turkish.doc-1.1"="0n47wgnw5kvcn85s1983dg3fbixh7i4p3lxrfnd7qvaxyrph6lw5";
+"datetime2-turkish.source-1.1"="1hnwws0y43d9hpdgb63y5pxr6d0ahis2q40z705b199051lg2qfw";
+"datetime2-ukrainian-1.2a"="08ba6xbivl8gv2a3g0p4ch969zq1lid4zq3vqqvgzkhkdsvc2zkg";
+"datetime2-ukrainian.doc-1.2a"="0biih09p6a90qbjck5w0qs4k8lnqdha0xd3f6kdjmlljqxk24g5j";
+"datetime2-ukrainian.source-1.2a"="0mrysl74pfbs533h08jv5wld57s30nsq6mar2n07668nmplqj0ss";
+"datetime2-usorbian-1.1"="1dynq4qqi7mpckzcmwvfc17hvnfjlv3n93dwypp2sxl1596vili4";
+"datetime2-usorbian.doc-1.1"="0pvf7lx3g09jy5nxlzvgsixmaz9bkcq0zlhq8r3ijd743sq4y048";
+"datetime2-usorbian.source-1.1"="0888x4b0wjqwfrg96rcpxfj6mycdpwwyk9fjavj3j535nxb5hjxr";
+"datetime2-welsh-1.1"="01p4mxn78ynyan6pb9598qmi000alyaiw3bh83w0l5682v2fi7ip";
+"datetime2-welsh.doc-1.1"="0rkibaqirq4xgy6r7a1aws6awyamllg5z5zixb3imapj3x6c8p1h";
+"datetime2-welsh.source-1.1"="0d21jimjq8sipg1qh4fxwb9cmq3sga0wjlrcqapjpy559bnfgmrx";
+"dblfloatfix-1.0a"="1r8s36il4bmqvvvlrsdbhdp4nanbyd1lh71dac4f774bf5pkhzi3";
+"dblfloatfix.doc-1.0a"="0znp5j2v20q7bsic5j7cjqxmbi1dannffl0b14g2w0jp3p6hpfxn";
+"dbshow-1.5"="0cfp89n7r5jn6rsg8qrjmwfzi1i9qrvxh4aiz4r33sgi8qy5iljx";
+"dbshow.doc-1.5"="00nksa78l2hi8dwp72wcz7b4sx1z5p88c9pyha975xr4l5lbli4q";
+"dbshow.source-1.5"="0pgyjb07flhfr0dy1rqk4j237wjskxfsldrl58hzdanipqn0jyyi";
+"debate-0.1.1"="1vk6n4gaiiv6ms7wk8azbmxr9cl9i4sn8x1p51cy2yla9wbk4rdz";
+"debate.doc-0.1.1"="17l5j5m74zlvavmjaiqcx3g7ddmf3b4k857345vsr3d7mbwqxi9y";
+"decimal-23374"="00byxbhi2pqccd1vd6hsh4ri0vzvq1mwjnvqmqqlrbr3qfv05zla";
+"decimal.doc-23374"="15v078s3d3aawihdmd0l1ndqinlsqz11xxbvbw0dyh0arw6d1rc3";
+"decimal.source-23374"="1k88s0r82livblqfb140npf2p7lvmsqkpasbr93ihwjj9vp54xb5";
+"decorule-0.7"="0r5pxcpx29l8x1bw4hj4xp66zgkjgm0qn2ryvxy1d30dyjgp34zb";
+"decorule.doc-0.7"="0a3qvnknhcx0jx8x9gk7bh4sbnzv1mnqvdr8l03nzjcbmysvc3hy";
+"decorule.source-0.7"="1lj47s4k44pjnr0n06xdcb37625hkjclrsj4ccmkgcr61d85vkwk";
+"delimtxt-16549"="0s2bbxhbfvq0jm4i90sh6krcik8yk2nl0c39lzr1nrakal0k5lkh";
+"delimtxt.doc-16549"="1wswrw94n5l1azs2aczv6vf56ksbagniry4rwq9b16bmvdy7slyz";
+"delimtxt.source-16549"="0sfwmd0mj359qkchqgm8zc80ayqp0p8ppdgfn3cmayhf2pml6gyj";
+"denisbdoc-0.9.3"="0qi2skmc9f4g8fvbpdryja6njb36z0gb8hbyk8sb31x5zrsil091";
+"denisbdoc.doc-0.9.3"="0kxlqjw2kw1zvc3d4m421jny44zfsjc99b4cpnqb4ily2dzpwdkb";
+"denisbdoc.source-0.9.3"="0pidf8zchjjcy8yb3b8wdfpsd7588nc5hv1jb3ga0kxqq4wxn8hv";
+"diabetes-logbook-54810"="0rmahxnjnjd677z42ra1mcp86na41sz9ir4chkpmaikhdvnbi4qa";
+"diabetes-logbook.doc-54810"="0qb2nyjc7fpc7yc632bblbjryxdx39xr64c4kxncdisi34am82z9";
+"diagbox-2.4"="1p7wfkhdcgdc1gifr4im390w039609j6mg99sixgpq8f0mqqnlsf";
+"diagbox.doc-2.4"="04i03qdy9gfzf14w1vz8nqqgw4hn191w423jf2ck5ibljwlwa214";
+"diagbox.source-2.4"="1x1ixmmixi2sal1iajwnf0wvg97kj08hi5vv4swdiwqpd14g1i53";
+"diagnose-0.2"="16pikxgaf40vm6l5r0wk5jxbfyzy1jgpq2qhpl859srxrygdar4q";
+"diagnose.doc-0.2"="0k6vxzd3biyrfwnfr3p2zvj5j10r4xsda65qf6ppdrjr8cvmjx6l";
+"dialogl-28946"="0vdx7qnpp5s6j5c96207px2fdhylj2kv3ph9mr3jcb6jyrsiyi0q";
+"dialogl.doc-28946"="15082p9pi47vdwrdqz4kdcl59ymsgnanrrnil9p97c1wbmc9saqb";
+"dialogl.source-28946"="1g9c68a7pqpk5vfcnr95zi11km3bhjll06zminw2knk2naxlykhh";
+"dichokey-17192"="0bvv3893jxpblddqi75hppb9s0rxaiqbq70jns2x7d79afl7xkwj";
+"dichokey.doc-17192"="0m5zc521shp00wld4kyhp9xipsqfq00q1dqd3qp9ki1b2kmr5w7j";
+"dimnum-1.0.1"="0mrcnz3s214a4yxljlbrzpqyrsjlh8gd0llj96wsirlc1kpsb3jq";
+"dimnum.doc-1.0.1"="13j2pbbpsnd70gmn3ap4sad4bvbwg3r00ix9s1m2kvx4k7j3zwii";
+"dimnum.source-1.0.1"="0sx3y3g7jn0dbbfw3a8sga2fs9pz9710jlckmc464a5zlxmcyldh";
+"dinbrief-15878"="1msbw91lljb18c10bia4zclgb1klhmnck6kf23dgpv5ihpdmzla0";
+"dinbrief.doc-15878"="1m3dvm2d0s7xbnvywwwcnjcl3hr8sczp1lmpcdx8m6gyjspllbfn";
+"dinbrief.source-15878"="13dcia7rzw0djajb71b9gq2isgys63zs6g89rnwxfvn41a0nkgh3";
+"directory-1.20"="0z2kczyvd4h3751ndfywzfvxl16xrjl3alvqxpscjsplrrrq53l4";
+"directory.doc-1.20"="0w5rhczldn9p28dys7pjn3lgs0a6dq4yr59n1969qbffbcyv2m5q";
+"dirtytalk-1.0"="10msaqhpb66l95vk8l172mpglilhdrqc4qcvmq3v58ssj19kksjp";
+"dirtytalk.doc-1.0"="13yv6x3v4is4l0z5b7a83r173jq7mkyqc8nn52sfdkr168saxylz";
+"dirtytalk.source-1.0"="1jw485pgqr0l60rnd39jfn4gmac5n9k67q8ykn2fk3s38nklyzib";
+"dlfltxb-17337"="0yql8krlb6cbi5vhds9s8qwy4010vlsi3szbiqlzrby82bnfpxnz";
+"dlfltxb.doc-17337"="0c4nvwlf5k1q34gsn3z0pb00b0yhprhp3a1mcrg9i53yw7chwsy3";
+"dnaseq-0.01"="0vsifiirz1mwmjnav8k6m27mm5qsn3iw01a9c056p4g4ji8w2v2y";
+"dnaseq.doc-0.01"="1n05sb0yvq1hm2wa5vdnkhr54fgdkxv2s4kd8dhzk2zqx6sdv4jb";
+"dnaseq.source-0.01"="07vdyylb7j94sphfz6c2szxhx7l5swvyzly3afky69lm356988zd";
+"doclicense-3.0.0"="0fsf647x2ki0kpmnjdbs8rwkyy0qrzqvig1rjxrb2k4r22xrzs49";
+"doclicense.doc-3.0.0"="1z1kcprcicj8lnyhj03a96zm7yhmi7sw0zxm6ldkvn40n4iak1pm";
+"doclicense.source-3.0.0"="030hw4x8md8j56m7x48w3xkaag42fm5rbkpqs4ns38ai3331gc7q";
+"docmfp-1.2d"="13cxjhbafm0xvnng6gc9g03p4j79sia7jvygxmphgnf7wfndv4sz";
+"docmfp.doc-1.2d"="1j2b530wcpr8252lcpmy0c5w83kqbi9xzsrfbdngi1jmkfy4nlgv";
+"docmfp.source-1.2d"="1w8g6m2whza3w62ngsaslv7h2x7asijznwb9glx6g2vjv456sgf8";
+"docmute-1.4"="15ad8274dwgzk7fzs7i5g3ss02ld8in8f86339rb314zmraj5kv3";
+"docmute.doc-1.4"="1mrwispvif8nwjbq12jgzpwjn9xf7mr91pwg5bfdcnpwwy8l1bh3";
+"docmute.source-1.4"="1nfv31h23mp7alrm9saz5abakjsvs7rqva3q9zvxlczix7yn63qw";
+"doctools-0.1"="1rdwmdah8rb2yiicd9mbqz0mmf56rpgnp5vwyjhax7m0zqjgqkgm";
+"doctools.doc-0.1"="02jrr4wbkdx8r44dpfn4g83j03n6yrska79ljnwigs77p5jqlyl8";
+"doctools.source-0.1"="03y13bijva11hqil84l2p4cap7fcm8wk6ds53nx1qizh66h8g9vr";
+"documentation-0.1"="088imchmqchi1ilwfzlhk8d4am2xjjgacnyw5w4mb6sirbckhi3d";
+"documentation.doc-0.1"="103rpywyl1h30c7jamp3cfi1rg89y48krdjbxc0calz8iq5n0460";
+"documentation.source-0.1"="1fzk62clv9ij07cfjcrwn94cqvz2piysij09y2wlkcs06lgk2m69";
+"docutils-56594"="1pxswkjs901clnd8l3n13ghqypv6l8gxr3pnwn9i0zakvxz6gdh3";
+"docutils.doc-56594"="11fzx9kyxgxr20hnyqy9nvl5rczdfyb43j1bjwxnim68kmy5bjyz";
+"doi-48634"="0rxsgmqmkpabw1qw7k0ssxjmzkia323dl0p73zw7qbwdpgs4xx5v";
+"doi.doc-48634"="0h6k3bg9wg4wa4shyijr0xsx935s8s8igad0zzyk57q5g7lhhka4";
+"dotarrow-0.01a"="0wjan8m1171m5bl5x6pygfn0lm3pyq87vmjjgzl1zd337l3wz45w";
+"dotarrow.doc-0.01a"="18d9y7mzfwsmy9c14ihj2blmikiwcwp2y462wjnmm8hb6gm58cpc";
+"dotarrow.source-0.01a"="0f8dmgsrd2wbcmxipj0p40d09sgcl8i5indbzsmkfz7fxvnpr15d";
+"dotlessi-1.1"="1ii8ilc2hqdwck9z1lpbyjsgh47pkfh62r1yv6kdkafqqrxzpxxb";
+"dotlessi.doc-1.1"="1vc8bpzzad2k222ghdcqmkbd7541b88wccc108avzj9v85wfpjbk";
+"dotseqn-1.1"="0n0hgp5saipf42kwx4hxxgx66irmy91pdzcznc8vmnnlayly8s61";
+"dotseqn.doc-1.1"="1an4s3v47f08z7v5gmz49g4bbz26xcvadn74052nhrbmj8xm8fav";
+"dotseqn.source-1.1"="05zxrzpm7mcms2skh9mpv4nga9ysqwin8qjc7yy9prcaban00y33";
+"download-1.2"="0dwivfcjvg12gsf4zikyvlyb0p1pks6a2fxdqgji2x79ashxsm24";
+"download.doc-1.2"="00p9cjzqqh95nlda8193111aa5kjagszbf65wfm3jfy4dahqxfwz";
+"download.source-1.2"="15shcpxz2h0i34pnm2nz47h37gy4xdws87p8yrxbfi4j10qr8c62";
+"dox-2.4"="1vv1arqah132cns24s99s18ixcrjqfkbq551d94pjs8di7fiik2p";
+"dox.doc-2.4"="08x3h0750nbh20wsnlkfz59na5kvi9jsm63l8dh3l7b0szzq88cb";
+"dox.source-2.4"="1p5xmacd5phv5ig0ga1wj32fqpji9fl21lbygb39qdjr6v3g7vs2";
+"dpfloat-17196"="00agcljhzafzhbcfk1jbxaxyc3znwxd1j1sdhr982m3s1nd8733g";
+"dpfloat.doc-17196"="1nydmlbk1p4gywq0hh7jnvd9hs9lxl73khbpi4zn5j4blzkb31x9";
+"dprogress-0.1"="1sz7msvh7wyf5k8ag857lr11dqwf12p1wzi6kdkwma05i8wwni88";
+"dprogress.doc-0.1"="1s356ffii215bybc5cqg91gril5am5zzh5w4s1nf875yl4yjxbji";
+"dprogress.source-0.1"="1f7ym5lr0gn24jaca509hbhg9xr5mhbr5wgncvvf937jmq6w2jxp";
+"drac-1"="0p8li8cln7674zd40w8x6izn2kf63wsxpwg3dpbjnp5jccifvsnr";
+"drac.doc-1"="1lhibs5s6h0a97ggjkp1i8j02ry9p0zdq6pzjxm4ijx3fqj1p3rq";
+"drac.source-1"="1478yizwfvzrpi50k3fxbs9vq7g39170jdh7l3ynkbq0fkbssxhd";
+"draftcopy-2.16"="0fxh7h37akz0s33vjmnzxjp04m7ynb0z6650p5wd399lfg5bi11k";
+"draftcopy.doc-2.16"="1z7cjzk75d3gwcb4dgvg7a8jl9bvzqnc7zn0ginqcl0aih37yg5j";
+"draftcopy.source-2.16"="11gswnpz0azxb2d1clmpk9bis9cijsd1hajll7jxm5fhnk6vigfn";
+"draftfigure-0.2"="0dhjlykc6p6jm6p0s0h0d74097ny29w84ns1pxbb7f8iwr8hhkvf";
+"draftfigure.doc-0.2"="0gnazf3bmbgnygn3pv0lzrlrcic3j2yfqxq1kaijkkhsr9w57jy9";
+"draftwatermark-3.0"="1xrsh755whbaxizzljcpk5an5k9s09f6hcndp1lhw2z9mfnl2na7";
+"draftwatermark.doc-3.0"="0cnzbj2wg5kifqg08i081d0043462vswbxr68spnnxp2y3b5ysdj";
+"draftwatermark.source-3.0"="1k66347n1cf3ap8406dw2qa21k6mazwhv6brr569i0khsxypfw0a";
+"dtk-2.08l"="10aslxxgpsfr2x3apvmwhyb8y40w56bqbqdmf41g4bvs8zaqd1dy";
+"dtk.doc-2.08l"="028saal6dbg8w9r015z1p39kg7qqg6s9i7hn28l47sv1qsa1mncr";
+"dtxdescribe-1.04"="149zyfzdd5v2zx6d2izb3f8c32744x7fvvxk1pch39z1ppw9rzbs";
+"dtxdescribe.doc-1.04"="0r71dy5xa4mv7mzlcswbgc0iwav773625f9137mj4hrpprddhybn";
+"dtxdescribe.source-1.04"="1bs9yb18h4j635cccfhqkbdf5jwlncmqd63npc6dlcxfz5c3k83l";
+"dtxgallery.doc-1"="07c403zbx7sxkhhrwrfw3np20xlqhdk893b4bd6r8lqb0zipp5b5";
+"ducksay-2.5a"="0m8dznw00in6hpsw3qwv42aqn7srxrzl54azby1a0wpf1c1nivpg";
+"ducksay.doc-2.5a"="0d4a3ldjvblq0n4mjkdvizswklhaz67z8myak8clc60fd2pv5f80";
+"ducksay.source-2.5a"="1j4bjigfj3a81h54xwi7ciiixr4fcl5g4vz85lxfwyqb8gw01mc0";
+"duckuments-0.5"="17fz5mkr812ig337m2q40dcsj98qpczw53vjrsqk1skmknk0q4g8";
+"duckuments.doc-0.5"="1pbq66k699v3b6c02qx89dvzsh45knr4y9s6a45gkm4a7mkk5nkx";
+"duckuments.source-0.5"="0xcdlvm247d3hl7bvb981fv07nb5g24c0n0171vsk3hacxpshcsk";
+"dvdcoll-1.1a"="1b07xplza4b3ngh50czq8vwmhpr2qvkl5xbgd93a9acvsf5pyg6b";
+"dvdcoll.doc-1.1a"="0fhkdwyvlizlb66bd24pfncbg58a31ygnfg0f9dw5z9ccfrf50hd";
+"dynamicnumber-0.1.3"="0y779azvla68n692x0gybg74cp3dk32219v67qfamfzz389nbs7s";
+"dynamicnumber.doc-0.1.3"="1appm3ddbv9ll0mbnid4xa459w9q89swmdlvdzy1fxdps4y0vpz9";
+"dynamicnumber.source-0.1.3"="0ydmlz697c46fx0xpnvcdcfm9sm0j3jmk47xz8znd2ghzg395fgk";
+"dynblocks-0.2b"="1zb7vk34k3z0cvw6kz74s7831fz17mg3j9hw60diabc0q47pwyr0";
+"dynblocks.doc-0.2b"="1m69hys2b7fvwn9h6q3whkpcnvi04hnhx7811s5fqhdfi76v4zk4";
+"ean13isbn-57514"="0bzvkzpi10d9sjlsc4df5v3y7qycbz1qkn7ngy97prq58wg047gc";
+"ean13isbn.doc-57514"="1gf076ybmni0wzhh0fsf5w4sj4pv3c3w7g7m09k9607y4havv20a";
+"easy-0.99"="0jrza9lf3yf4d1wm6nzwv5iyfia6625fjvflfmxsscbmwqickjhx";
+"easy.doc-0.99"="0f72bawmxrxqk60xb61y079bqpxj8kmvn167plbq5whq5b1fsxfl";
+"easy-todo-32677"="0fkwlzgx20lj44cvwv8hqv79v528k1gghx30lvqhg44wqirkmy86";
+"easy-todo.doc-32677"="1yj3c25mhkp16n49riza4qchr2pqycqmb2k80syn5w3dzrj021s2";
+"easybook-1.65"="1pb93b21hjir75x7x8n5b13cjkfn8xhjq7wk9mvbwzbsch1d0za3";
+"easybook.doc-1.65"="0dfycvv5rap5085whj198qpds533h766awdd8kncyfalbryymjd6";
+"easybook.source-1.65"="0zliqnwplf71xnw9j40rc7xayfiq9x2v1n23km8k2v7qlnw5fvqx";
+"easyfig-1.2a"="164ncaq1l6hdrjp0zinynf825hwsky1xam2yqxphhk90438n5hzk";
+"easyfig.doc-1.2a"="0hc63z5456f00a2x70ckvf3r54zld4d3r63a8d4ra7502kk8s9n6";
+"easyfig.source-1.2a"="18f4bb9yf3f7q96w79rhx8h4svlxnv0xc6xwcawav63zsk40mk7q";
+"easyfloats-1.0.0"="0vbg5dz6wxzk20rn51xv7v526qg8m0ih3wikabdf1bfb4n093k2k";
+"easyfloats.doc-1.0.0"="1ncmmmf2w313cpsc9s4w0c3gzvx09r26gwlxhr9rszksvd4y7fay";
+"easyfloats.source-1.0.0"="1ih161wrkxf8sfm0zyl2m9xgmff4qs6qvsz7mzxbjl1j2zxzhhf3";
+"easyformat-1.4.0"="181x0sycxhwcfna2wblvijjs32zvqs6xl2am4hz8204mk321rjsb";
+"easyformat.doc-1.4.0"="0fg7y02717rk6ikw32qxn6iw7l59h5vc22aif6hs9xjnbm3nhhfr";
+"easylist-1.3"="1ghjps30fa1jvfkxrzaxqvy5ilacdyms6dl8bf2qg6195w2sgm33";
+"easylist.doc-1.3"="13wgq2pz9jw761p2yipf23k6lrx66bp25l50446rp1xz47yk386g";
+"easyreview-1.0"="10wl0aihr4c55b08mxafr0jd1xaz640p2kj7n63w3wqxzxlpq42i";
+"easyreview.doc-1.0"="0nnnr4l1b6qhp75n646pd446s7c3pc4fxsxw84gvfqgankfsx3zz";
+"easyreview.source-1.0"="0p7xrqivvb685d0xcljyi4whh5vr6yahskdl63ynw836bmin1b3z";
+"ebezier-4"="1zmsrs7dpw5gwh6h0707gxcpsnbb8qklsqnyr0q30mziz1wqhdvb";
+"ebezier.doc-4"="03afnc0nw7yzv03n4gq38js3y6x5v0kaxi5psmnzpf2lj0kfa7l5";
+"ebezier.source-4"="0492q2l7yrv1h51x4swqzfp74k9kb989m0lxbgvgffh4gl7zhi5w";
+"ecclesiastic-0.3"="008agcka4wj694snynfgak1ycm49rbkwn3z58470adc4rwi99klf";
+"ecclesiastic.doc-0.3"="1xmbxkmia5pcr2l5m3rd12qzpq92f75rcbipgpvck6sqpp7psc8j";
+"ecclesiastic.source-0.3"="0c32d6fzzn090hi9nxdj3qbbhp4q11siziwr7m6lp2l285n91wj6";
+"econlipsum-0.8.2"="0xca6dhbz49zxn58g5bc2yis2zci9v5iypfh3h53rxhlkbfbcqln";
+"econlipsum.doc-0.8.2"="1pb6z051r40wp8rv5makhaxbf23aq5j5gm6pw1khvhk806rdig4w";
+"econlipsum.source-0.8.2"="0j26l888qx5q5j39875iab4106fkn3ign9fmbcmcvf42yzx7mav9";
+"ecv-0.3"="1rvj3rf5vrjhqsz070id4i3l9svwsgclfhkjzxlb42va1bqxkcdk";
+"ecv.doc-0.3"="0cp3h8pagsxpr0i28v8x9dh9j6imbprd2hxrl6ln2m75c9ki2wmk";
+"ecv.source-0.3"="149jwhqpmfn6gwzkcqpilxp7hqnidjlvhi1khqxnvq3k947x33js";
+"ed-1.8"="0wb34cch7jfgvfql5jy6vvfalj9bv6pjyd9dg2i9msq1azvrjjv4";
+"ed.doc-1.8"="09kn8cykfsyk14g428v72l2ppwffcdrrycnyl65kixv8hj0vsdy6";
+"ed.source-1.8"="0ldjyl7gpa5fswzabzmklkwmz94z8al7pm97hh0yjzdqgjxfsdbx";
+"edichokey-2.01y"="0c4hwpvassgrlycrjygwywp6ws91vhhb2wq1jwdla8x3sk7hkdr4";
+"edichokey.doc-2.01y"="1b79022plz2a6gbf1grrcg4j6794fd0a45lmq68lci64mz33b66n";
+"edmargin-1.2"="19dmfw76l03v87igfhmh81kbfsp5zbznk62vqpanpppspchlx7p8";
+"edmargin.doc-1.2"="0v9lbfynw840xampn4sgxmq413357wjwjr5slzrlpv9mh1f8z0jr";
+"edmargin.source-1.2"="00b7b5c4n7baw4c973d0b3d4gzkr5k7m4xj258sw2bhfgaqnrjd0";
+"eemeir-1.1b"="0hxnd2rxrm56vblrkvg01c1pf5gccbmvd9lvrwlch89flxp3fiyd";
+"eemeir.doc-1.1b"="1s576bk99sw867ywkq1qhk31yycc19zqr34ry2zix25cs3hk4pia";
+"eemeir.source-1.1b"="01z6p0ndp3nc3pbbwchchfn9nlk86kp35qvb5hkqb3ha59wlfyzs";
+"efbox-1.0"="1jss3bkgyl365rkgzil7xp4pab8k00w57p60s2sh8wrdy10qjsda";
+"efbox.doc-1.0"="051s9yc05ai0yipwm5f5kdqxgiyiyzmzyxf8rbfwl9ir90k84fq8";
+"efbox.source-1.0"="0fcrnrfk6yrdhj25xmchlaimc5qqyhri287b9pwdwsxlr58wgx9c";
+"egplot-1.02a"="06i2jh1srww8111c2axcwn2lcs7lwdgp7npn2qpi2x7g38i2kkzv";
+"egplot.doc-1.02a"="1silqbylbkxfyzacmyvc3kf8g3md8931ax1s877p5x5zi0vpwbz5";
+"egplot.source-1.02a"="0qsyqhmx0gcl13hlhbia9rq82kkkhc6mhmzp56g9b62qy2wl1ss8";
+"ehhline-1.1"="11db4dh948g744bynf1ydlg6jk562picrzfbh5pszxvfdag91kar";
+"ehhline.doc-1.1"="18jr25hnp8hg3dbjgf16cskdhm6kx9nxliiggqixb7c1ii6mmn2v";
+"einfart-62834"="1m4vb224171b2lvafx56zpx7sc67wnw2kndcyh2yg46jd46pcx9w";
+"einfart.doc-62834"="1ddxsk5kivkf7g7cn9dd85xdlkvmhlkb7q6akd6z8jhb3v3bkkk1";
+"minimalist-62834"="021ikgvxiycxkswd5hyb399p0mw1gc59g1hjk71kmd8l06x6svf2";
+"minimalist.doc-62834"="1k11s61zbfr2jhdyw8jyhhjkx1z8s5camqw8j51k59zfrhqs52k3";
+"elegantbook-4.1"="0wnkq1bf9d50wsm76llgffr2rhvk4zjn41as92nr1yhc71xcjvk8";
+"elegantbook.doc-4.1"="0mxlzchk6grrwbqxfwyyxa06sb378qkajgpz1ifkmhvgfdjbkyss";
+"elegantnote-2.30"="0wdhwn4c1brqalghyj2mlpvn32kln9rck1nai16inihq41zqnz1m";
+"elegantnote.doc-2.30"="1byqlpjxz53c29sdc48073agpy9pg88yfbhvp0wf4fp7l9jl2m0l";
+"elegantpaper-0.09"="15mi33d8ml27axgkfqdvddwa6hyg02w4bqyd5wnsvai9fisigivd";
+"elegantpaper.doc-0.09"="140mrxwr89gkdswizwrgn0dirq0lm3gf5vvrwr5f7p961swqzk6h";
+"elements-0.4"="0a3dzg3d1wz1zni57k8gibrxczjg0k16vqqkbwcd509blwxgps4r";
+"elements.doc-0.4"="174467pvz1q4d72z215pni50084ywddfvf8c36ibagijpdvrym08";
+"ellipsis-1.8"="1zbasvm792cghiji6gkg27ixjx7ms46rgqbi3wphpm9dix9296ap";
+"ellipsis.doc-1.8"="1w9hp2k4qvhg5275iq5kq79ws5z6i7jb1536h0qrznm0lkw33c4y";
+"ellipsis.source-1.8"="1z8f3x734nc364gybhslxzvvv4502a29dmb4nlz39hm0kzgqq3h9";
+"elmath-1.2"="04vacr9c71nmrbq6hnhpcgk8g75jzdvwf6z513mqabr9d0gf84l5";
+"elmath.doc-1.2"="1da0lrbzy598yy9jisjq0yk2qfjfiqpj32l1v63l3x7dff6yi4dn";
+"elmath.source-1.2"="19q44k909mkxrwsqx4zvraa8cv8jbq8z46xnm53agk0jr94bpiqk";
+"elpres-1.0.1"="0k8jcp6bgzphlg6kh0krlm95d2rq9z90hscsncq1m236hrzfad3b";
+"elpres.doc-1.0.1"="0k6ygcd10q78h9f28y091l171bmaw7ibk9npi3kpx33vmass118a";
+"elzcards-1.60"="14vd8vnnss12flbszsg8357831r986pk7hhpcwqln53r6x5kd543";
+"elzcards.doc-1.60"="084zcf7dqig379cqc6ahiqkm8f5jwqgiizd6h5ki28pcbshi49rr";
+"elzcards.source-1.60"="1ipavy4km50d8larywyb63dldmawawzfw3x6m5nzvi70zkx1f6rw";
+"emarks-1.0"="1qf1qrbw2fsxc137g8dfsx1c202ylvg2ijdwcmxq1fv1pd2zjjwz";
+"emarks.doc-1.0"="00fkdarm7i16vlmjzvjpkyp5v4mbdc6isv12g07shx3nz5v4zgp5";
+"emarks.source-1.0"="1lznlfqhcwd3r8dp4cix5jav3dq63v4wspr1ks3pm0bkycy8wr5a";
+"embedall-2.0"="1078qszq99jdcy2vsaxmg1fbnr9fdbd32y5lyxl4bwl0ja62m459";
+"embedall.doc-2.0"="1c17d4bpzxws6j9z5p7x97zfggyzyadfjygbhi7ykfiy55qywhdd";
+"embedall.source-2.0"="02vdmjb6vqvqmfq7fhn5gb09x2lzpmrfhx6dspv33wmwzv99kzr0";
+"embedfile-2.11"="050xldq8z85rq6ma1bk2acnirnfbjn8yx3v3x1s2sz3qilcxmdha";
+"embedfile.doc-2.11"="0mmq1yrhfjhbna9g8cpywrz76jhv34mrxhrgnwvwlhac2krs7w4d";
+"embedfile.source-2.11"="1dshj04gn4krv7fvbi5yxbirc0di5v326hn6ij19pcmjj9afj29v";
+"embrac-0.9a"="0n2ll7mxgw228qb3j0x111yyiaa4ikq4797g5k8xyakjmv0w3sv0";
+"embrac.doc-0.9a"="1lqapcz7iv8z7df7cyddg6ylh2b61ndgbfhnfa8abzgsqz1h8sjy";
+"emptypage-1.2"="10h1mlhk0841wgc70hp51jnah14si7rf2mwpkp8lfc1xr7jwwvi8";
+"emptypage.doc-1.2"="00l43lhrr246hiwa717b72rc4ignqd3kljkw6ka3l8z1nzbcbni6";
+"emptypage.source-1.2"="16nzgkvl9gqsnhx38dp71c3cz5rrgm73n99g2vg7rapg0vb623xi";
+"emulateapj-28469"="11yv57sv6ys3g8h2ix5xjnjrbnyfvcma4i7vzdsj160rzi12n06v";
+"emulateapj.doc-28469"="15zm7jqpk917l1r2qfkqdkbsxa2q7w4640h9115v4jis0zwgj0s9";
+"endfloat-2.7"="1vqy4ii3dz79ffpjc5n234z9v0lqpkq93vla0lbq0791h71gv53d";
+"endfloat.doc-2.7"="0y3hkihs6pc0g835nk21qj8v3g27f6rrvadwmvqkhchvgh02bwnl";
+"endfloat.source-2.7"="0mdr1ga2p1ikbcs0zzznb1c89n8shrha87qm49sgzbj4d0f2gdbx";
+"endheads-1.6"="15dkd3ky14phrc9cndisa88vbmcp48wly8l27k4wvbbd0221rxwr";
+"endheads.doc-1.6"="0yp1rm4ly2005mw488yscrgc0y8awsis83wwcfh3qh8rcgm8jzhy";
+"endheads.source-1.6"="0578fyav3h5wz40c12r3rqzbsba7vqvk0r5jlw6wymk2m9n9n5np";
+"endnotes-53319"="0hm5mwxdvxhj9v51y88g6mm5fs9p2kaksmhps032cbc1inn5asj6";
+"endnotes.doc-53319"="0354v4klgz5yn1v9hkk3zpvv3x1l4b6jzla7iwxpnk9qb0bvfh4g";
+"endnotes-hy-54758"="194n7n7xcjpsxijzsjpgsxrpshilki0ixkwlbn6hxd92jjq7amz7";
+"endnotes-hy.doc-54758"="1mj4lfvn86676s3sv0v3hx07cjb4mm3j3i3swwzxg0i48acpch52";
+"endnotes-hy.source-54758"="1qhf4zzhk7kf0wcpacl82przkcf7g8z6jwirrzlwd39876jmhbwk";
+"engpron-2"="1jxk1j23v2c2ffqp9x948gkjkqvifp9lhd1wlp2nhmr4k0k3pgmq";
+"engpron.doc-2"="1j580xz1jgw088xah57zv8mrn3wgm6xipj1jf3c0rxyd3fkkk29v";
+"engpron.source-2"="0gg46lfqprs6jr2dgpa1c882wz9k8jjzrs281npy8hk4hhqgrg0y";
+"engrec-1.1"="18qzqg4i4f2dcpqdw4zs9lk8cxlxxn01wbh8a275wiaqj5fi7hzn";
+"engrec.doc-1.1"="038a925h1047a8wnwm54mmyq12332waxx8nbrg9m3pacr45hwmgy";
+"engrec.source-1.1"="0x32a3cgh7pidln750qbwxl7bkzcjwj4brxbqmhyfydnhzw1xzar";
+"enotez-0.10d"="1nxn52jbgxp2r1zlyp3hmr0k5kwilmf8fkr46scnh9w1ijxxmmp8";
+"enotez.doc-0.10d"="1jw2mbyz3xnshrb031b6xzycqckpn422rc1ddrdj7r2j5lzy7l2n";
+"enumitem-3.9"="0hp6sk3i0a1jwwvlr0lk4w75fc57c2fvqw9x5ir8db049380ixyp";
+"enumitem.doc-3.9"="1byxv6d9g38fhd83f4g23yqha8nvr5iv6lv97w40jn58i492dyrq";
+"enumitem-zref-1.8"="1isvqbp7wvib81r0yn7sngxa2dygkfm4jn4rdvw0kp8rknam91qh";
+"enumitem-zref.doc-1.8"="12ffsw4mzwg8gnw264kvc9gpxcmrhda5pwfyml2ih50g1dj6fwv0";
+"enumitem-zref.source-1.8"="02y3rlxcsdmafy4n4iiaz2j3syg5x7bzwzfvfk87xxg0n3bvahl6";
+"envbig-15878"="1szn3ngy2iwzbc9y5fpchr5vpx5alr908q8bfg94lylmb8lx2kb2";
+"envbig.doc-15878"="1y778gc6wl11afjjv2szypc8jf1g7gg2s0lvhv2skl1n3wpb3x7a";
+"envlab-1.2"="0q84vy7zbjqrrvy0r2j2hpbg9b5vwbwk860q24azms2zxy50a8vd";
+"envlab.doc-1.2"="16fnyfvvixp6lfgvz32w92q35s21c92556qxbgpcd94fd1pw2bki";
+"envlab.source-1.2"="1fygp7wpyzhzh070sa61qk17h05rqr4m1wqp78vpp0awgkmdji56";
+"epigraph-1.5e"="1lb4wzjcag59dcfvizvng9s47v3x2af6v62hc1x3ck3fqzx9haa4";
+"epigraph.doc-1.5e"="1h13sgi2bxknx2m5kxxlv9p4fxf1pxh1zdwm98h3kamzb4a4gm81";
+"epigraph.source-1.5e"="0kqfrmx732m0a6k21iiq1ar47ff50ri3f5wy8ib6ssbbvd9agx4l";
+"epigraph-keys-1.0"="0p4m2z9v0ckjncy5mpfs85nzpzzi9lx30a4dh6rjkhgmnk574n6m";
+"epigraph-keys.doc-1.0"="0gd3mcw13r3245dmd3fsgyww30f4anwff6vj14xsy75zcs9k0ywy";
+"epiolmec-15878"="0wn2pi3n9ls945i4v3x36kgg34sqhi1x4az5gq6lbvviin4lnrvf";
+"epiolmec.doc-15878"="1j9n7g9z2wbbq04wh2x0cxx7m4zggh1scblwrx9g69sd8r0b7582";
+"epiolmec.source-15878"="0qairwq1jfl5jrkrwlblmsc9gb34wpanz61zmsawz94yf3plwxxs";
+"eq-pin2corr-59477"="10wrhqr55r45azk4z840wphwsfcm6mamzafijqgldi2g90cp0hsf";
+"eq-pin2corr.doc-59477"="0ii5dnaw1lplccp18gjkixxsygacz44r834r0vaxfkjmcbx858yw";
+"eq-pin2corr.source-59477"="0l6p9bwaszyzj794vvyw3xq8nfaypxb04ixf25wniyg3kr54a9nv";
+"eqell-22931"="0i0n1vb43vq2axghik3sbs2cja2fi78jl0q5xcrkbn5gr6vi49md";
+"eqell.doc-22931"="044bm3jyll74jrxh8va8g38shjn3b7wzchjq39n4rjp3238wirsm";
+"eqlist-2.1"="1cxas8g683y4i22rdakgji1r282mivmnap2l0b80rv3adg3ccvrl";
+"eqlist.doc-2.1"="11lbz2s5v35w13vvcf2bs4y59hsdd0haai1244jqswyfxgamybgg";
+"eqlist.source-2.1"="1lw20i1iqb0lxqpv2g7dw62ff4xd8w8k4y2ccpqmsb987sk223d0";
+"eqnalign-1.0a"="0214pwf689rj7ycjzrafkhpj1rrn74h043vryihyscci03lf46fs";
+"eqnalign.doc-1.0a"="128yh629nnxn2ca799s9zxbvbp0zam1lrz8nciinfbb10m8igwv9";
+"eqnalign.source-1.0a"="0pdzvs4hyyxr229jlcw7766qd4npasc676hf74nx0msxwm5iq2yr";
+"eqname-20678"="1qryjgmn2cw2indmmybgzrcrakqi6a3crvdcyvj769mciz8lsdwy";
+"eqparbox-4.1"="1bg49m7nzw20g2g51g07d7sgq0sjiisrbaq4ca31qbybr2rxcp12";
+"eqparbox.doc-4.1"="0z86nwj06zn55gk32wwlxbqfb12a1fcgqizrpagm7yp0xr99b8wm";
+"eqparbox.source-4.1"="1ny9mcnb76yds4l7q35wdm0x2vzia80aaqr12idybkzi75a7b2yp";
+"errata-0.3"="0hp8pls350swslim7m3cpnw23v94vnqj9avfvx9hq0bgl99szc5c";
+"errata.doc-0.3"="0h30iip57km31074cya5fyhlmyamix8anpk19rqbsfb43h3988g8";
+"errata.source-0.3"="00bdq20dwwmq0nw3c271ah0bclzkzkwbr5ak4y9asnab1g6fl5yw";
+"erw-l3-4.2"="0klwkq6x58bhqgc849yv68vg7w8ivvzib8rl84ipf3gl1hk42761";
+"erw-l3.doc-4.2"="0qkg31gi4jhgvc3i42cbj00ccavwrxfmygngn8qxfgmsphx3a41z";
+"erw-l3.source-4.2"="08lh56xzj3wjh1dp72ky8ckga8k73d3alf0vxjkwb6b6krzz4gm9";
+"esami-2.7"="1v5fzb9ws2785ylh5swfb0hjp3x8m74mbfzd2c5z9l3wbigy8kpp";
+"esami.doc-2.7"="1s1x0mld47z50dqfyhglsgwyjqzphky0zqy67jbkrn7mmxzz00y4";
+"esdiff-1.2"="0p5d89r6pzsf0hzaky89843pa4z2n4dgq3yg8li4gb5m2b4fjfkg";
+"esdiff.doc-1.2"="0jw4rhkshni47zdk18b3gd4amyhh6v9a1mgja58wmp2vrwv1nn2f";
+"esdiff.source-1.2"="0iwkbkmkl31wmdrd1wapd94p70mwd45lqld3b7pfb0j287nzkzl6";
+"esieecv-59638"="19vmccxpv3dp1ysicrj5sr6xrsqgaaz9109q3gf79gdvcfp0g7lm";
+"esieecv.doc-59638"="0ji6pf8b2c3ka17n4qgnykfwhy7nh3zp87cg913j3rah0zk6fqzw";
+"esieecv.source-59638"="0r10sipb7hd5dpzsh97qiqb5adx5j6iw2aly49f1w0l8pxi0fyyn";
+"esindex-1.7"="1vxdlbqc3j33gdvy04pifd0cdfvnjwmpqbmz305g79733hvlbw55";
+"esindex.doc-1.7"="059y8wnnzqn1kfy5jhbpk8zi4lgx7r5s6xg6b7x3iih1ccdyhwma";
+"esint-1.2d"="1i9bmx7sk3fzzdb1ny4a9b3sq9mjjk2x78gk18y77rxq16d2bjnr";
+"esint.doc-1.2d"="1sdklwvw46yj8xbli4yl6qqp5jdm9a32fkspk72p5186swwkwnc9";
+"esint.source-1.2d"="0j4ms51a3qzk7mrc9vh5psk83jxnlh5xa8vq36y9iihha0d6rz6x";
+"esint-type1-15878"="0nfvka430084h72w0gdlvbxxlay9lp5z76bckmr5vd1vqi4jz8kn";
+"esint-type1.doc-15878"="0lp2hc76adxdl44nn4g8hb19cflndzg9ir004di3wggh6s2yx40a";
+"etaremune-1.2"="1l3xz9zh5f3wj3v3mvq9xk4q6vc7k01pq3ivsvm0qlkni4bffyja";
+"etaremune.doc-1.2"="16v4vsd7dzihnx72bdz99994kpw6r5im659hm51w5wyh8gf8mp29";
+"etaremune.source-1.2"="18rcvjpyks01d6qkq61rmngmwwyxksh4i5dmnvq8ihx4vj3zlgqx";
+"etextools-3.1415926"="04x0a0wy3avac8cgjgq7npiy06b0vrkxa0hizpn4vkzv7xbq79yd";
+"etextools.doc-3.1415926"="0z04a5f4c1xygqsgkss4bh0s41aqv0i61sh6x9h0isrqlhbvrzs5";
+"etextools.source-3.1415926"="1f0jr38lbsrdjxhihxks57y6xw37ghgmydcq48ll14nywx07qa2l";
+"etl-0.3"="0cg7ppbc7nlgmcnri2iz2is8c5kj03jn0crw4m5wmxvqkkcg2217";
+"etl.doc-0.3"="0jqpybirslqyk7g9g27qbbvz3k02m2k352fxl2w1p0h7hhgk12a2";
+"etl.source-0.3"="1z244p46j7hkzry4n1xdbzcszjgwrlxd2jmjblbrldj2ba9sq9nd";
+"etoc-1.09e"="1mc2npavbhna33y079a58gaqkrcdk7l694klswh6zbr244rfj6w1";
+"etoc.doc-1.09e"="031610r27nn3im70c2720v20y9zssqz4qyknzcw14s6dww38gxxc";
+"etoc.source-1.09e"="0q2v9mhg1fri6n75xf7fww9b6g8szppp2apc0frgxk4a2girzfal";
+"eukdate-1.04"="17r61096angayvbdi9r3d7ljb1a5z9q9r093kpgdsi11ahcgsr26";
+"eukdate.doc-1.04"="0071bi5m6v5ak6g5pxjxzq5y5353mpdjx4f2dbznkmfd23wp8j7d";
+"eukdate.source-1.04"="1p6vg8nj8qipj59jwvp4izf2dv0l8490773h6j87wlclnnnlh2gq";
+"eulerpx-0.3.1"="038fxl4x2cfbimrh5cw48365m8mrml6yrdcgbhifhn5r832601bb";
+"eulerpx.doc-0.3.1"="0l5kw6fz5f2idr5glnkmvqi2if6m8sbqxpipzbqc5a8c0dgc9yvn";
+"europasscv-56829"="06vqrnfzcq04mjk38q75n1k1dw3ap7z5xnzpjmgss8rl6mjn4v3d";
+"europasscv.doc-56829"="032298ir415l36gakqalg5n1nk70c47xbm2svvg1ygb32sgn4afp";
+"europecv-62685"="02hyclfz14ak7mpl8ry8jn0cbf3zzy3lym06qmcyzhbjv6sk6vrp";
+"europecv.doc-62685"="1ia20ijh0kirczzp5ldh4kiljz39zbrk40c5sprg4ys2ajf88vrb";
+"everypage-2.0b"="1i8fjcbk3flywzd55y0cbsdmzymvkynvgc5cvv6yh5y6nr514rjd";
+"everypage.doc-2.0b"="13drphjv7gzgdzzwd6fxlngm2rprhls60gj4lz1v69sqifymnn4h";
+"everypage.source-2.0b"="0vdi8yd0r33ajnym0f3j42ajkc2xs8b5yn3kmklmgx19kpc93ln5";
+"exam-2.7"="1ybbxy46wn1xz4b6vd6g7y01ijl8a5yrgc6v48jilnhwdh25yklg";
+"exam.doc-2.7"="0lva2zbslf01bsd0jz8k1k0xqmbf1jxjsqridayv9pq0ysn2m97a";
+"exam-n-1.1.4"="01yw3s29jkvrcaa8krhdyf4k53kmlx4mb5x2p933jm73whvlmwqa";
+"exam-n.doc-1.1.4"="134d4g914gw2gll8x78z06is7lhihxcxyp94jf3mpkn569m608jb";
+"exam-n.source-1.1.4"="1qd2gaq55rz3x69lidf4lyifq2m9nzizly0wqg3y9wygb7xs8sc6";
+"exam-randomizechoices-0.2"="13dqgkh1isrg0z97z7bfd2b952sc2xr7w7ykllhvmzicr9gcml1y";
+"exam-randomizechoices.doc-0.2"="078cryxhlnwk0k01pwypmdkkjlna0fn70kj1xia17jq2xvc2fpcd";
+"examdesign-1.101"="0y9kqiihidv24553zlijr6fspbayvram1mqgy9kmd1wwskvbza3w";
+"examdesign.doc-1.101"="0ddgn0f086qdsyssg4gm6ynlcnnsd16qpvn2g3wzija7ai5sqkig";
+"examdesign.source-1.101"="0z5539hv1li9vw0d3jx7q9s844f29wi9xr5z30hvzl3721rnkvzg";
+"example-33398"="06ld0b9gi8s7y6igijylfvj2qvj3d45z2ml9wd1zfzkpf32pghmy";
+"examplep-0.04"="1a3pdaqzc9jx2yf66vmjg9r4w07b8afyqijl21np6sf7rrsn7zg8";
+"examplep.doc-0.04"="06jqa848zzswd5pbfrvr9lh3i4l5h8wf3v9g179g3q2yb4dmvjwv";
+"exceltex-0.5.1"="1075b0wm708wj537pgki1hvj58l0pfrdiglalbjnk3gmf18rk22d";
+"exceltex.doc-0.5.1"="1s48mcj49j9jm8vs5nhvljb972vhfng09xvd6kiw01a7i4zpw3h1";
+"excludeonly-1.0"="0zfml40br991mijcmplxlff2lzkn8fdgwgxcam7vnr23kag7lzxm";
+"excludeonly.doc-1.0"="0argzz7nwadm11qp642r454w8p0swyhvscic71fhwi47n69cfbgz";
+"exercise-1.6"="18f7mgc2lmm1lg13dm858nqsqzga52sw0r6zlz7f0pv5hpc0mgak";
+"exercise.doc-1.6"="1y50izz1z2s52knqn9a1jianq36isyafviv0yxqqx6zdfckqca0p";
+"exercise.source-1.6"="0lpslsk9a7dx5xzr5iif1prvrn399j70wfcqhgbypz970zzpril7";
+"exercisebank-0.3.0"="1algypm3nhkbccd9k1w5qr6y75hqiinw5dj1h4fbmripmhdwircs";
+"exercisebank.doc-0.3.0"="0szpxkmx8qi3zpcrjzd1nzn7jcp30wf9nv8rp77x7rd2yd0sw0dy";
+"exercisepoints-1.2.3"="0vr2yxqx2ng1f9qybapz61146lvsniv6mjwl1yfxk10qyvdw3pnv";
+"exercisepoints.doc-1.2.3"="17kz9fyd7cc4pa4j6dsm8h5zpwfr68wg3ndbswgh2pgwwvf63777";
+"exercises-1.1"="1yvdj03hr40732swfsg2br9f4wx9855n7a3whlqjdnczp6545lvi";
+"exercises.doc-1.1"="137g1gvwfxm3gid5xvikrqk0iw75csrkqgrwmh0hda28dd4zbdwg";
+"exercises.source-1.1"="1lryxm36phhp7p269zzf9a200k9k0v8zw8qyqvyk784vmvyilv7z";
+"exesheet-1.3"="0953243fq4zw6mwgdnwk6dzdza2blp5r5rwwjnqz2qry7a6nfk1y";
+"exesheet.doc-1.3"="0x6i7s0mdsbx2ijnn8kxnnsq6rxhmdm13xl0qm7frfq43hypsa6r";
+"exesheet.source-1.3"="0jv4cdgb6y2127nn6vihmxfgyl3d4af7qx0vs32422xfw5qibg23";
+"exframe-3.4"="0sc11jk94l0nmjjd69k6nl7j68szdkihim194pdxlyiybwqf9bbh";
+"exframe.doc-3.4"="02s61k5lpjw121cyxkkhlbm5d6wv0gl009abkjbidpgxbnd5yl4z";
+"exframe.source-3.4"="19y20l5g814cvn9z0axpkynxp0vwkay782dmn05g6a6qzjb49i0j";
+"exp-testopt-0.3"="0g7q4ccfamsd7sr7wb0qsw74dnwiyz0rjrniaxm5jvgaadiinc7q";
+"exp-testopt.doc-0.3"="18i2ym0da8vp3xxy5q2gaykvja3dga4l64q9zjxknkm50vj6dj23";
+"exp-testopt.source-0.3"="1xfp15q94icdq773ivdvk4n47i2k3g3y9smdvmxw5m9f35nayypl";
+"expdlist-2.4"="09yhcdbx3n7gj3g2v2yh4navgdf5ik4x281h51kd1lzdzbbnf3aa";
+"expdlist.doc-2.4"="1qgwn2ignri6wh67wwjsqpbk28jch01m8fn0nw6lpc6kfa4a9g6v";
+"expdlist.source-2.4"="1m8dww4i5w0hivs904v8ls1dhs35vp3qpbb44ihwha0zsbvghabk";
+"export-1.8"="0la9v2m3n15hgds8mmp1c56dz0a7iqygjk2qnd99n5924n187wyd";
+"export.doc-1.8"="0ipbs7rdwjp6jrr4drgcs73mc8fy6bav24qfda1an7byglgcf2nm";
+"export.source-1.8"="1q3xbj3zicbizadihwb6b75c4d95b6wq0adi45wbqf6hzj05bd5x";
+"exsheets-0.21k"="1ymcfy9i2ll048sc0gyljcbwa06m9q0g6nxp3csvk4a367wv9cxa";
+"exsheets.doc-0.21k"="1l3ln3xkniyfgmhrs37rixszacsvalwq78fyh72v8ca61krxd35q";
+"exsol-1.4"="1jlkz4c29bn3wrzlbyxzz9jl7f6iiyvz89r5r2cvnlhfai83lk6c";
+"exsol.doc-1.4"="1z663c69w62v8fcm25ikaw58q3kxrh2mh357zjhgi8ki72wjwja3";
+"exsol.source-1.4"="1ja9w1k43v1yjfa1jhbzghdqha6i19lc6hsgsncr0zjm4ky104w9";
+"extract-1.9a"="0yfxyzmicqczvn6pc7ykakpm2hjsrsb243n1bs0crjsvacw29hb2";
+"extract.doc-1.9a"="0lkljkwf22vq88nj21ca023ysa0hmgcsh7a0xhk210ba01a9433f";
+"extract.source-1.9a"="1h06ji378l32a18nbf2plhk4q3vzihc541d0wkw80ik53m0frn0k";
+"facsimile-1.0"="0mfzqrn76b2nhz60rqjdr55s6i9fzw96ya74nncvdjjcvaqpjrjk";
+"facsimile.doc-1.0"="1i3vv6a8r1mmkmpjwr66r0isha7s5ksp5cwgx3rj9sl3wfnywsfz";
+"facsimile.source-1.0"="0icxnmiwmrjsp1lhhdkcgsjif1s396lkdxp73vz59afzhwdm6l0b";
+"factura-4.32"="18p09q5r4n04r3pr636zxbq2jp027knlzphd4zpns3d2szgw2j05";
+"factura.doc-4.32"="19d5nsjxzghmk56l1v9ppr237ykdrgk7bql4cdr4d2rdvqbk4r19";
+"factura.source-4.32"="0l77127yc8r4n0iyv4q3ilcs9hrfjn0y56rc805av4gdrgil9xgq";
+"fancyhandout-46411"="0fgyvrww1h79bvwf77h83p2lwff5b564gk8cjjnkp26zjpphah22";
+"fancyhandout.doc-46411"="0r5wzyw7z8gsm2k1y06h9gj5cfxnclawicxdjpq50dnb6233ac08";
+"fancylabel-1.1"="0fyrhiknwb658rg4lkdkfb221yrvzfs5g2rmxfas69p6aambyv36";
+"fancylabel.doc-1.1"="0fpxag39xa2piybkb19fldg3ykwb26sg700jp8hy6kgb8afp4hrw";
+"fancylabel.source-1.1"="13hx2k4i8ji3a9kxd8j2j177l4d5asz79r9v707d8i8vkxcm1ild";
+"fancynum-0.92"="0vfis38yawys70hv4vrrnyy820dj89dqp38jbg199pbb8y0qf1kc";
+"fancynum.doc-0.92"="01f7d3him9gcm7p8567ljamwrg2jl25xs7w6jm05l89dkcb34fdh";
+"fancynum.source-0.92"="0cfm5da0gk4y8plad5khzhf9gjyayxmca67qpvdj296p86xxdi32";
+"fancypar-1.3"="1znfj0zw15g4n7rf3za61ixfy7k8vyv9nikkran9bvd0jmx6v4js";
+"fancypar.doc-1.3"="1qdqw4283qv1i8njlvnds87pd1ssx239ycd985rbkkxyd0brrqa8";
+"fancypar.source-1.3"="1y35cm7q0qa2szmkldv46203gagzxwz4cam7yzm13s78wyig6mcd";
+"fancyslides-1.0"="0hfa5jklvybgx9rji032rdmyh2qr63fkyanvvs0jmg1bkpqw7s03";
+"fancyslides.doc-1.0"="0nqqvkv9gsl3jp22rjkxrzklpz6dfmm3wy3mc9f15jv9iy2zlrr9";
+"fancytabs-1.9"="0yxr24fnjabfzhyvfj7nhn26cc7hi08byw7zzmky3nnynxnxc2p6";
+"fancytabs.doc-1.9"="0f9b7rvnz5syq5dghj426k9ypppjg4q9wzs8v3jl8af94xy7zrig";
+"fancytabs.source-1.9"="10p8hb18qrwp2dxsjybrawnlryl97k854l11c0327r39qiya61ns";
+"fancytooltips-1.8"="18hygq6ks8pihlamr1pyvmsrbsl8wa0kx2qy8san53hd450lqn0y";
+"fancytooltips.doc-1.8"="0q28xlckjlm231r14ysl05ic3kb6aa5qnwv9x0qj3iz3lmyfq9zs";
+"fancytooltips.source-1.8"="0nhmjrivw8a2xhblhxnjbyvmz4hp68sjxnnfzmqyrf1agjgwz8m0";
+"fbox-0.06"="0nwzysjhg4z2h3sym5yw5gccybb9dwb7jb67fz2b3yl4m06nwphl";
+"fbox.doc-0.06"="18f2w2cr07lnj77lwcqqrj6j1sm9gg1sxmax6rdjysl425dn9ybr";
+"fcolumn-1.4.1"="0bids6ifprfwrrifx8dkmf8piz721x3paha7gqlx8419dnvnp384";
+"fcolumn.doc-1.4.1"="1vkyagcr5f0bwjix3ih469jxq5hkg6g4q9kvkf7g1mvfapfpszya";
+"fcolumn.source-1.4.1"="09y02rbzhzwjghdcxz81lcwxx12421kdf8hb2kjvhbfh0bm36cg9";
+"fetchcls-1.0"="1pccfz68chmnbfi9qnrmdnyq5kvkq6ir5dl09jqbjlcw7hw82ka0";
+"fetchcls.doc-1.0"="0if19dgb2k75qhyka4jiijnl3msk8y8kj0fzhriarsicivwd47ds";
+"fetchcls.source-1.0"="1qb9ymkvbxmxlpcs3drcyk02bc372s0vhw6wwpig2bchb1hwdl44";
+"fewerfloatpages-1.0b"="04903zr0lk50i88vywpbzpg908zkmy0w8vcfks55cmbfb2ja37qd";
+"fewerfloatpages.doc-1.0b"="16hb3xm2aszwlagzq9w3bi2hyanbss3s4f09sypg07dkilifdnv8";
+"fewerfloatpages.source-1.0b"="17rcaydy16vqnlgn76ijhjlv2jcnw962wrsssca8z8y6dfvy0aqs";
+"ffcode-0.4.1"="1q2kgzc2hr9nl0p7brg95hgga6bzcp4xhi5d5ixwfkjrcx7m4irq";
+"ffcode.doc-0.4.1"="0bwln7642666pi5y4q0cndpvzk5gji9wn5c1schzhc0101fvlq46";
+"minted-2.6"="08n53ynrdrxy0piz3719qgqczvjl1ya4z6d3yxnr7n6qbh2yk26l";
+"minted.doc-2.6"="0acv3fzcm28w9lxzlfi52p49y0nms003sqngdbbc192azrc4cfqs";
+"minted.source-2.6"="1n6jzm7dkpwgawl6wm95s5jl591pbfs50giiplvmjq0gdg27fyjm";
+"tcolorbox-5.0.2"="0n6xgsglvx4g41sa57022pxr2q8yyq8b0r0rb8ygmlmlzbnf59az";
+"tcolorbox.doc-5.0.2"="09c86idap5sxf6zni7fd52m165ka705k4vqnbj7dd2xrr5qlbcmz";
+"ffslides-38895"="1mpfpawdhh16rl6pnvxnkj95gf9hjs49gj7cwfyngmqkjc2idi8j";
+"ffslides.doc-38895"="0z5kpim798zxj20p70dpcgmwg4vx9mb0zrmq620sprxxdr2gd059";
+"fgruler-1.3"="0cicjknd9djh0csq1s7fx90a91yx4q25nllsyamsmp8br2c5rsyb";
+"fgruler.doc-1.3"="16lgfpapgn487yilf94lg029mcc0xqgyc2jv928fbwvs3lwgsc95";
+"fgruler.source-1.3"="1xg8zr5rjcmyz9qh9q7pd1scrxk2ld7gyrq86p9nfhn4nfcgybb4";
+"fifo-stack-1.0"="14d714q6mzpag5rcn2b2454pad3mpvdz6ii8k7jdvx74ay24zphv";
+"fifo-stack.doc-1.0"="0pgvcyss7h1mynawdhpm8xid0albf5cajhz423ygz3ifi2dfrasx";
+"fifo-stack.source-1.0"="03hkqd4s9dm2h10i8pw3a6qgrjskiyhnkp4wh9r55l60wnqm80bc";
+"figsize-0.1"="1hb2fck0pz1gz6vm0ffpzn3vcm7lclagsi599bi2f2bc9ly2372p";
+"figsize.doc-0.1"="1zdncnl8nmkazvqjyamzgj1x1f5fm3kyw5m5fi669rk9dqhsiq69";
+"filecontents-1.5"="062jaqszh5fr1pjrl2hms9yngcr9xwhkfn9if53kb3wal1dn4x48";
+"filecontents.doc-1.5"="0i3fjb81chwiz6msm1k0frkfaqqcla49xhg1xq0z617y3rb59pgg";
+"filecontents.source-1.5"="1zryw6mx9vmikba8za8981h3nnx4gbbb2g3m6lm3cws0ak1h5jwy";
+"filecontentsdef-1.5"="0lrdmz5fnmrlzga1w2hr3ksydnz52lmqlnnmix7xrcp81qv9xmx0";
+"filecontentsdef.doc-1.5"="1nxb4wm4wd223f9wn7x8j805ybximrk0v6n1l56xysz4k30jxcba";
+"filecontentsdef.source-1.5"="0n7zq8plqn1yki6azmncgdlg2lxcprfpdq5dv0qnxvpvw5dawdvp";
+"filedate-29529"="03fwpi529pp6bqwr37ns8nas236nhh7nm592rpjyrvlyv1w30ifp";
+"filedate.doc-29529"="1dywknjhl2p9590nvcpg1vi8r0iaj52dv7sn8c2y8337w37c6ny9";
+"filedate.source-29529"="0fwqs6wqw93ih2icg9b5zxgya1zbaj2sn0jd3dc8b8dm59cwggk1";
+"fileinfo-0.81a"="0x922migfx9y1nqqs9lv4ygk3cvqj88a92cj1kb9xkgykp8c6cqx";
+"fileinfo.doc-0.81a"="0rw1pdrqghgdwzyfrc0y44cj1989lrvpab4n42qxbbb9srhmary4";
+"fileinfo.source-0.81a"="0kssla41sryd278w12syrhsi5aalld94vjcmddldcc0l8l71sz5f";
+"filemod-1.2"="05lipahmxgd7cy76rz1j3p2z4k31gj4q7ihvb0zbi44g4n26hz6v";
+"filemod.doc-1.2"="138481q84a436a9ns587qcmmsv7p9fb5wzz1gwla25jigx8fb4fr";
+"fink-2.2.1"="1pk9qp2cbc1yagrgnjz6rnldn6zgcb6bw3vi452ks4fwic4pgwz8";
+"fink.doc-2.2.1"="19fnaw32vgjpj991n5nlb0hwac92kmny3zc483wffbhbca1nkdck";
+"fink.source-2.2.1"="1dm06hhp311xjfjjjpw66hmm52yivjhgkpwpif25cvq1z8dfgw2h";
+"finstrut-0.5"="148pca47nggxv9dyg5n0p40ri1mqz5chj4ir49472w62c8zh83fk";
+"finstrut.doc-0.5"="1jrxyksw0bldvf5faykbpcngjfx06y83q81rs3k3m6vldm3rw23d";
+"finstrut.source-0.5"="179640qn5swml0wrc1glvbf94ia5y6s1qlyf3hf2vmr3vih7k2mh";
+"fithesis-1.0.2"="1d7k7rl6y6qwwzb5pf7sn7hjd2l28hrm1gk514zp0x4zx2h80vhc";
+"fithesis.doc-1.0.2"="0yxixi3dc6066r081m44w3f9mkk5wvamdm5y01cnkj4g8z01666k";
+"fithesis.source-1.0.2"="0mw4dxc3ps7jsxmlhbyrlrg9pblyp6y50rv2nc5mry6mkzwvd903";
+"fixcmex-1.1"="063a2mwh75mdbh8syvrdldb7cj4iyvqkbkda4jm6cq3nwbq9kly0";
+"fixcmex.doc-1.1"="1c9q5srhfil0wnk84k072ridssgwbmzpskk6pwpaq8id36dydvlm";
+"fixcmex.source-1.1"="1h3xrdz9anb2cxr8p175rrcjvaawv80cj3bp9l6bcpli6yb6fdfr";
+"fixfoot-0.3a"="1zszczpwcggczq428ha84g71rvgml2zrx2v74nmk1damcp35pzlv";
+"fixfoot.doc-0.3a"="07zdbq43l9yddc9gi4i2qqpvz0xxmkhxgg3wl329j25p4h58amra";
+"fixme-4.5"="167003w7a4xhy35fj6xm7mx1hvqn1bh1b563sih3adrwyrdnqjbd";
+"fixme.doc-4.5"="03qddrr56q77h8qhrx9kryx1d0cab6lzcngsbmyzaj1g81hvwsxl";
+"fixme.source-4.5"="01rpq9xd8rhy4fz8g1l6354pyibjsl90h591w7l7cz7v0yxldy17";
+"fixmetodonotes-0.2.2"="1pca7qpkqfd8506jcjgr1kwcymbcljzvsq47xlvvly3qzac374vv";
+"fixmetodonotes.doc-0.2.2"="0icin53y7xj0dddsi90n3hkd2wrcpymlyhfllyqfz7ac8y4xn8r2";
+"fixmetodonotes.source-0.2.2"="0aphhsamc6x1k891ybxhnqmhiwh0my9sj90x3w22gp7zhavgrww1";
+"fjodor-53207"="0gnmdc2i49529hniklcyqrfyrkfh83wbv9zmiqngw8hqmdw3zv68";
+"fjodor.doc-53207"="0dag2ial9cx9hnrhxc40nb31jvkv618jklwahgj6ckqfl89410i8";
+"flabels-1.0"="1aawdjmk8rinhjwnkjz67bq7rcp15i15dsbb9xll59nij849ppjg";
+"flabels.doc-1.0"="1yzlhd6c5b9y1r1gy7kvbrxygrkia0cz98p496nj1kdg1wr1xzbl";
+"flabels.source-1.0"="1vyjgbn2kihvzf85fg4fdg0v46nh0flic1amk7k3sdcxirn0fzvb";
+"flacards-0.1.1b"="1k1h06a22jc8wdcxf1066rn4sfgy4m3wh479f4by1zrp773gykzl";
+"flacards.doc-0.1.1b"="11hadqdf0s7zaidaxfhd6lqhl3qf7zkalf9wimi3j3plp8ln5499";
+"flagderiv-0.10"="1rnnj84vl29061hnbayz5sxp6h1civl9c9w2n3b0s56i9kxv3dd6";
+"flagderiv.doc-0.10"="0djwrp2rjyyd0wk0sg55w2l75fwj3gabd6bim1smpvjwsps0fcd0";
+"flagderiv.source-0.10"="1q0g5127vyhkjb1g0v20kd0x3p0b67a9haich1a6yp71iikl1s8p";
+"flashcards-1.0.2"="1xih8g4znfwgd5cim1z63q4syg9jk8nz99q7fgc9mahzq7xym2mf";
+"flashcards.doc-1.0.2"="17as1mkgllva5q92qddwzffl7dsirx22wlnxn12yvv6a0h8hx57l";
+"flashcards.source-1.0.2"="162r74jij0b8yf22xyvrakbrzfh7vjpfl1800ahljas7n8g3h1wi";
+"flashmovie-0.4"="01rmqf1rg5vbxzs9wap7m8d19fw73mh3k7min4msbipvg1vqhgi5";
+"flashmovie.doc-0.4"="1lza6mv55da69v8jwjlcd08v5y2gs2s87z5h1hrsp3p3mx3chya1";
+"flipbook-0.2"="15b2nzhpgj6018769ggajya6qmhq9rnyzha0sic9fff24jwdq62x";
+"flipbook.doc-0.2"="0lf04giwsgjq0fsk6wrms4c3dg53v1lq3n0q1ij5pw4390llsqd3";
+"flippdf-2.0b"="114xvv7sv9fhqxgfz5ckydn95mrg4049ml3kg6vjjiwbilmszr2h";
+"flippdf.doc-2.0b"="1fgk3g74arazrmw6swfyq38s5gdw8knnwwf5ij0dl566cwmcfvmj";
+"flippdf.source-2.0b"="0hbw3wgdva8vkic4sz0349mdyx8dpz3k5kk0fn80m0yqpldwgkid";
+"floatflt-1.31"="15v2m2mchki2gcz0fcp3myyr806fqyy77nv9g6rqm11aqp6212bw";
+"floatflt.doc-1.31"="1d7v1m23p47rl9lln02c6bsi5mkqi7c03dhmnjhg8bqp6xfkfmaj";
+"floatflt.source-1.31"="1j53lkr1j3fp5wlb41x2vimncv2l1pc8qm7qy74i0r1xf7kfibzz";
+"floatrow-0.3b"="177knmgpv583xajihdd5q5spaainn8h35kgydq2sfi6ch6cadirh";
+"floatrow.doc-0.3b"="0py5a36gdbsd91679k4chfxy6ykj2wkjqlg4zkp5xsww6fxglskx";
+"floatrow.source-0.3b"="1mpskdqhghmgh7i3425xb985pwrcqcbfw3hlfhbyx3bhwwx5pnqx";
+"flowfram-1.17"="1ccmry6f8danw6jqdsck7pzwjsrh5vcfy99f8kzyqcbbrzl5rn8h";
+"flowfram.doc-1.17"="19rrav68s3wlwgaa4mhgqsdlr1syfpvp4jzc80cygi0fhv2hn7yi";
+"flowfram.source-1.17"="1hrs58xhwawxqd96jb5hjywbfra6az2qkap0p5zap9zkck8ixz81";
+"fmp-15878"="07ml6i8lqcz737fm33g95nx1hz1p0z251h7pgxvvvdmn5dml1l94";
+"fmp.doc-15878"="13i7axi1s8qqgdvdky20dckmsa95q2q54z7cf6zgd0znzjy6d4mp";
+"fmp.source-15878"="1fd8h6dndrc7hphs87y1lfplmkrwgn1pxgmvf00gfhgkg1zf127b";
+"fmtcount-3.07"="11d9pq2cqd1qv20wr5789bzmk0a82j4rf8y9xh4l6nf2nk9p5c3g";
+"fmtcount.doc-3.07"="09ikawga4sg27ch8rvdf9ni0k8b3nk3k84mgydlv4lrg5gb2hv12";
+"fmtcount.source-3.07"="0ijsl21nsx2kkgbcc00bzs637rq3x92ax0xbrdagkfvnrna0bg69";
+"fn2end-1.1"="0cj26s7555q49fi382pbvy65xa0yp0wbihk3y0magblyxjn72wdx";
+"fn2end.doc-1.1"="1kafhgr4c9d4pjpydd27ha1pdbxk364qv8dmcr7k3l7xlv31jv4f";
+"fnbreak-1.30"="10fh7d75a3628jrsbl04g2pc4015nsnrw1gda0ndv8bz603qc01k";
+"fnbreak.doc-1.30"="1vsv8prgd37bj141p0h92wjc7sqxxzw04czbwyk12xzpbg7d7gyp";
+"fnbreak.source-1.30"="1jf28rb0vv2xvp06awiglg4ggk6mzc6pyr1irfgyyniha54gi0ab";
+"fncychap-1.34"="0x3sjslvz1gsrr8607q9r6k8683p9zcz7p0kxvr92j9ls1prl5c4";
+"fncychap.doc-1.34"="0is37brbbdqb1szx3rwgmaqbl8vlqr82sy8svam39yrbnzd9v1k3";
+"fncylab-1.1"="13l9jmcwabifc7m9klgwl2gqypwlizy1mb7glsvp3jslpkhfj267";
+"fncylab.doc-1.1"="11w7z5q433lnzfm4c72697f82yb7rljk9zq41dl5bdb7l9wd7325";
+"fnpara-25607"="0rn4yk1zd4h2r5xhghv7v0ph0raspq4r6mw812hn80bn8rhjjrlq";
+"fnpara.doc-25607"="1w0pkqqgkq379nnqk0wx419z961l3g81ldkh8ivfhn9q5vk04p0s";
+"fnpct-1.1a"="127n7966vy4rdwypbsczi1aksrf6pxl8xdywssviivkk3npmhwvs";
+"fnpct.doc-1.1a"="0qixawqmjn2b1yy0fs140a5wfq0py5bi58gpz8c8564vx29yva5q";
+"fnumprint-1.1a"="1i04c2j1jnw9qkbv92nd4rr0zzvwwdwwk0ya5f4g4rarvw9h4z5q";
+"fnumprint.doc-1.1a"="1cwc4jv9jxxinradairp45rlr97h52vxghfxin6dwszw51ac8p7n";
+"fnumprint.source-1.1a"="15d3jpxs8zgsj40xipg3mfgir41p46c3ppwh4629a1dv4skxg2nj";
+"foilhtml-1.2"="1qnh70h01ys26spbjcq71zdhq8j7lszinv26v6ikpccsaaxnfdl8";
+"foilhtml.doc-1.2"="09b3lmxzhfa1h7nwjvidq2pd11dkz4aq3l4ciz0xh7gyslfdwvgd";
+"foilhtml.source-1.2"="0zhva600hf43h01n9ycjcjair84y0wzpn00z6ihyh8s6g199g428";
+"foliono-1.000"="1k91x2yyxp7n1akm8wm4kgynl977gq7z6pf439aaij9r0zzic2pm";
+"foliono.doc-1.000"="0f92kpv6jvvmr9fh24c7iki37y8ph53n3ixi3qjk8bb55yldyz46";
+"fontsetup-1.3"="1769ljdy501i261686zwfkqyvpc02dziw0cj0mzgk20k0xnm5lvl";
+"fontsetup.doc-1.3"="08455mxmdql6ysln0a2zqkcqs0qi09krjrldklpcw6plm4y4caz3";
+"fontsize-0.8.5"="0614lcl1cxc7a6irrjinp5x1rx2cbzns0al7d9f3njyyayp13qhq";
+"fontsize.doc-0.8.5"="1c6p4yz000rdcmjkn7pgz3ckw3p42xkz4clk5dz01fnxifmmlf1l";
+"fontsize.source-0.8.5"="0lvywzrc56rfkkwipwhqahkm8a70cnff0r01rpl92d6n6znl278d";
+"fonttable-1.6c"="1vz99pfw4akid9hjf7dcqf1fx5h30sr25i1f9q6a9frk0wpwff72";
+"fonttable.doc-1.6c"="1inb0ai6q8rjsrcwgv8ns6as60ifdidqzqb8x9ygaw3j5ykzr02q";
+"fonttable.source-1.6c"="1qjilvy77072jpbdc4p4qfy5d4n2ww2wcm5drwvai6p2aclqf29x";
+"footmisc-6.0d"="0qw5sp4pad4asjq0n2hp6p6nzyn6mcc9c1w4l33rjsj8x3a72caa";
+"footmisc.doc-6.0d"="0jgyya86vfbh78vnb4ypkf9p1qfm26964dxb1g43cblijzxi9d6f";
+"footmisc.source-6.0d"="1glgl68nfaz867c7paia3c2mgqpy1kslyd4gph2zriq0mbzksp0n";
+"footmisx-20161201"="0f6csxzkwbf4nlw6z9rfyys1f7fc0vpdi2m36g7y3k9l3j6wb3mq";
+"footmisx.doc-20161201"="1962sivh4jipsxd0z0cpzpd0jdw8v4afbpzfinklivnla2c9hp4g";
+"footmisx.source-20161201"="09w5bfx94533q36z3k0a1sf9jx6acz85qgqypgn6b0b5mkhjsmar";
+"footnotebackref-1.0"="12vxch1i8x0k8d760vgq61i7j3kkylgbcxj6ggdv8wzd20h4izyc";
+"footnotebackref.doc-1.0"="09dvvnjvika3617zx438ca8z3fmdkqbxx9y73pdhn6gaggfmzr72";
+"footnoterange-1.0c"="1k5xz3xjcgr3a23yfyw3zrh28hxqcr5djl4g3zly5ackq7q2m19p";
+"footnoterange.doc-1.0c"="05rwaqpnfsmgcyx9f88vw766iz57g8vy1il0vp6cky787lr047zd";
+"footnoterange.source-1.0c"="15asynssisdgz6py0f024g7fjf1rpsv9v0k1v4l3fjw8ppp5ddns";
+"footnpag-15878"="1qdl7lpfy5nn6qx026b9aqz8nfs958grh443lkqyxnrnws0n2nww";
+"footnpag.doc-15878"="006w2w6aga9zazlk8sv8maqi4s1rdzqyphp0lpa8qv5q23vcdhl6";
+"footnpag.source-15878"="1hh2754as2yrmfz4hiyyl8nlshsfdhpgpg3ifhs6h5s0xz947rw0";
+"forarray-1.01"="0cn062f805lgy5m45q6flxj5w6gjfa4w1ip7zmhxd2z09s962jf8";
+"forarray.doc-1.01"="1d6m425lfg1g8arjyz4j3q9253rdmfaabaasbpd2ynhjr1abfh3c";
+"forarray.source-1.01"="0dpqr0hff33ddfw6vs0pnk8yhaa4gxkxgn43qgx06mx1srv6rz1i";
+"foreign-2.7"="1hqmhy3l2hsjf2hkxhrsdc3z1mn3zx8718w90g8152x9k84bf7jw";
+"foreign.doc-2.7"="1gnaazl1ds76sqdpbj773k80isyf5hmjxh22p3hs9zxcpnvdhng7";
+"foreign.source-2.7"="1ziafjxcncsba0gbn1qjf2w2gn2g9z55bpcff71hr9axhp8xgpgf";
+"forloop-3.0"="1s89z93fvsj2h4w1g8ak512mnnfmd3pjvwbgwym6y0dc428sp5k6";
+"forloop.doc-3.0"="03s4w726zmx10s1xdwyrag86lw84qf4rc3vcdn4g1mhm1cwqg756";
+"forloop.source-3.0"="07bjxa18cszvffxbvrzg26fpp77a5vvmywrr625qyx8v84khcs4f";
+"formlett-2.3"="1gjdgl26ma0sh15yrgi8kpy4sq268jkz9jmyw66iy3d4k9ybggsm";
+"formlett.doc-2.3"="1mm2m4qgiz0aplbyf3rwzhpfzhyg3mfmzc00z35kv6s5phcmlnf1";
+"forms16be-1.3"="140xh5578cpjn6mfwnghy38alz4av25gha09gl7c7qxljgpc2a7i";
+"forms16be.doc-1.3"="0wa6pyn8l8d14d47kqvwvsnkv2s9mxfhmzan7jgzfrmkb74h7xlx";
+"forms16be.source-1.3"="1l3ci86wl6an48a68vfh4ynajq6j3br8wbafm8w8c0x810hb141w";
+"formular-1.0a"="16h5hf50ngqarcxk4gjs9x9mcycmj5cqwy5pb6ffpj9xbsxn4r8i";
+"formular.doc-1.0a"="19aq7sbghvrif72x7vzvabrhwj7lgsddsbdqbkv9vhmp82452vyy";
+"formular.source-1.0a"="1s8ngbw6s163dzj9mi629yd4fisxr1gl8w8i618my426szc1vrcx";
+"fragments-15878"="02m23bx1p090m6w1frb2k6m0cv6jk8d9fdbmjscwa7c9c55qh5gd";
+"fragments.doc-15878"="11kj5gczbhb0imfsf30hc74s50iwq4zfs79j6kv62ib6v3p32mm5";
+"frame-1.0"="17r35x914f3h72drsszy74ir5phcxmkrcvwlrfd11li0lsmiyj62";
+"frame.doc-1.0"="0888jcccsnlpzkynpg8mvxy2mnb2d3xz41bi341q9fdbbzs5lmnn";
+"framed-0.96"="0fp0zbq3bjfqx87zb01m5ffn8kw8044vkz8b9cfndz1ki64d9x4r";
+"framed.doc-0.96"="1pjnqy8zl5zkadpkvwa35khwjk1nxg9pq0h1wqwgrdvqk6gj0cbi";
+"frankenstein-15878"="0zj1gcl4gab78qcs2rv5i9y4q234iz731x2hnab169ygql4d95i8";
+"frankenstein.doc-15878"="0x1fp5xc2qlx0pac2vqm8567fdh8i97k25ixr28w7fzwl9xnm91x";
+"frankenstein.source-15878"="0ag37z3klcy0jvcvvj7v14clx2dvv6q43lh6gw83rpsx51v9wza4";
+"frege-1.3"="1n0qak8xsi8wlg7r2daszdvi3hv9gmp7i04phcnx4hnlr68842d9";
+"frege.doc-1.3"="0hb7a6c0i0jk8cvv2vfr743ysqn2vh1y6amy7arc4zafi097nwly";
+"froufrou-1.4.0"="0pincrfmb51qwn9bcfyqb6rdc0n08lwxf2gr8l74kfmqh2mg5mxs";
+"froufrou.doc-1.4.0"="1jl6glh4pjm870wlb4in3v5vph55fnvykjziqnq702gx5va52jmh";
+"froufrou.source-1.4.0"="0wng7skd5zyk0s2vgnilndi8p9b3h672pk00mwv97h2qb4lk848i";
+"ftcap-1.4"="0dbrhynslppw5nrdvikzdkfvilzr909ypc9v8nxpa3yh4zln182d";
+"ftcap.doc-1.4"="0iq7lq25gzyc85wpmr93a8ivgc9038rs80mvhm46zdrrixh5ry21";
+"ftnxtra-0.1"="07fazshsyqng62sfbnjhxglscw707jmn5lz1ws6avq8c5chs70pb";
+"ftnxtra.doc-0.1"="0a100iy3imy2x6rgv8pgkid75ah21684ddm6vda58gv8yzfz9fyd";
+"ftnxtra.source-0.1"="1ips0zm2cka9wh4474sc283102s6r9hvr4if7lhd04c92f40r3my";
+"fullblck-1.03"="1bxnzkidpszq5l2kfilrn8ny1gw680gcx9gz9975vylh5kissrmh";
+"fullblck.doc-1.03"="0zj229qkv3zdf2gz6qkgblj33zdhf8zixy59gqm4v69ld491wvh1";
+"fullblck.source-1.03"="0arshfc79aljbpfnnq5rhi7gc9sqhlx002xqg46wrq125cgdj13q";
+"fullminipage-0.1.1"="0zy9vk5a0bljq3my17fw4jl8rhd7vdzcmw550ps8zbjbhxphssrc";
+"fullminipage.doc-0.1.1"="1n9lzacq920lmc18rhavz17xnm92lm964pglf6j8i7yyj5aib61c";
+"fullminipage.source-0.1.1"="16q6f9nss1jx3pw1xq0j82y4gn70hdjaj9m7pq3947m6bkyz92vd";
+"fullwidth-0.1"="1kis1p158phkwxdfhpb4ihfs2w7wywj1lighc44sfkpima9c4nmx";
+"fullwidth.doc-0.1"="056k7w66rh0z1kxf1m91sbjhg8kdy9jvfkwm3jmi5mkclil5ihi9";
+"functional-2022B"="16kvmp8rnfrrj3f5lhplj9xwj8p7z2lamz713zmy1yav9h9x42zx";
+"functional.doc-2022B"="1ys5b0l6vqkaznkbsz9l4x2pigsmnb6477h1zcmg26w4z2b0646a";
+"fundus-calligra-1.2"="1rnrqblg06qkwcy7f460pd1hnh4bwl47zyswa1iv4iknx00rd8a2";
+"fundus-calligra.doc-1.2"="0jvbvalqyj0kyf6cwr6zf18ylckh3fwpshwhmnv7ldg5r1ylia9j";
+"fundus-calligra.source-1.2"="14a0d7d8mlsw7qwpspqc2rmcdyhnfy6l7f57bk9v9jc8pg9fxb6m";
+"fundus-cyr-26019"="02zz37h71nqq0f4sf00fiw80pq1q3yadnhqm2j3niz13gms9ydl2";
+"fundus-sueterlin-1.2"="1zpcss3lzhc9zkh8b91138ycwj8pihch318zr9pc6bl3ifq37wq1";
+"fundus-sueterlin.doc-1.2"="1pjka7j1378bqa32h0b2dcinf6ayjmzcbm4c1sdw6dsvrzbnda3f";
+"fundus-sueterlin.source-1.2"="1y4bg8r2hmpa38hdgkrk99v87cphikdb7sq5x9aczbmwwgmgw8fp";
+"fvextra-1.4"="0qx1rzvaai2571c3fmlc9whij7wjmgqznrddannpfim6vrnsiklx";
+"fvextra.doc-1.4"="17096sy285z8qy8556ji6zgwn4wcmqchdshxn3s6b3gz9gpmdz00";
+"fvextra.source-1.4"="1x2vswnng9v8ngvfwy1zpg2ivid9xdrk605gahp8h9gxlrkhsm8n";
+"fwlw-29803"="1qwlknaljj8f1cpnln328az913cdwypr7w8m8iqbqiqhsl49siap";
+"fwlw.doc-29803"="1cib3id21xblai43gkn78ypz6n99vwzhzmpdifdm8wv001x7wb82";
+"g-brief-4.0.3"="0w0i9mqc5wg9za3n99i3fkn4bw78l8kf6glh0k6rvrzss0sg79cj";
+"g-brief.doc-4.0.3"="1ikasv5w1xr5ms6836q1bnk7b87s24m15mnwsbdyf7cnsh267x6k";
+"g-brief.source-4.0.3"="01j6zxs8vpiiimc10hhl93xcixwlzsih5k56n7v9a1a3czgymad6";
+"gatherenum-1.8"="1b5j4106mjdswm519nb9sswnpnna5v6wcy4p8xbccv01044iqlk1";
+"gatherenum.doc-1.8"="0afd1c352075ix46y0jrhfwlbsaibchvz3xs916qi3hd8a90hbpx";
+"gatherenum.source-1.8"="05dri0sgr8h29q3zxcsyhplhrkj1wllfb42d8scy6hp4mkmbsr06";
+"gauss-32934"="0jsbvm7sh7bhs5yfl17fj1gbdqgpm7qchf07y3p7k0rxxg0f482z";
+"gauss.doc-32934"="1f6ycdq3lpylkdwja4f89plz7wpnz73wzgjz74far6r9wr026443";
+"gcard-15878"="1pcxw9mg6hadr5c6m4z3pdzs0b9jw22injdlk46xxhqy5gsafa7v";
+"gcard.doc-15878"="03686fg2fw1k1j5rrskxpb0yjn2n5l697l66gww90jysq9546iag";
+"gcite-1.0.1"="0dl1plmbn4i5hzmjz48hyfl5wj819pg6k1kjsdycx4wi0d9ff2pr";
+"gcite.doc-1.0.1"="175151qpcykxsf1a6g9v6mkhr6m9cm5miw3ys6j5csrqm3vsl604";
+"gcite.source-1.0.1"="08h5kxah5q9105n1awlrmiy0zrl3rafb8v3nwp4qfakr83q3vf3k";
+"gender-1.0"="0skwbiclrpl1n55dr3lkw86dvqy3f1n0b271ygsz6rr3qa43478r";
+"gender.doc-1.0"="1gamaakkqqf37cwwzxjbyfhz25gdzayzdkqk60xls9flp7227hbr";
+"gender.source-1.0"="1l5p8ib5lbvq2b8pizpwpbcv8aslmi8dd554win7ssd6vhgb68j1";
+"genmpage-0.3.1"="0fr4m2y3vfymlwk7ik7rymifyam2jhbxn3qr2sj40zbcr9wbah6n";
+"genmpage.doc-0.3.1"="12fxwrz5gpswyf523wm1pg99zilkgrpq8z3ls5gw9j7bdb71nj1l";
+"genmpage.source-0.3.1"="0q7acjs7g1xh5kcmrg20k9jayaf5vxz5p5amjjd4xj4rnb1wdlj1";
+"getfiledate-1.2"="1bhqqsvykrmqlgd8whfwxm8bkcqdfzm182ryngq8s6yl9vx39ck5";
+"getfiledate.doc-1.2"="1jdsnf020iyiyxaabyaxp0nzf02s4kqmm8qf02vaclmbqhciicf2";
+"getitems-1.0"="1n02xiwch25vv9qk3rqddsm54nhp4fkwi3i5a7r3285md2b4vsiw";
+"getitems.doc-1.0"="1m2wfxyqkbfk7zk1czmqp8wwmqd091zijqxvanjxf7azxfmlnvwz";
+"getitems.source-1.0"="0njzl590bsmdnvm1gfqfjf5xpj9mj5ijjxjjxiya0741ylhwv6p1";
+"gindex-0.2"="0llk0aaa43n4in5am3ziqvkl1c35q27am5xk1naszwlqxcn4lx42";
+"gindex.doc-0.2"="0fpy0kvkj84vg1jz80jaz26k73rijrldy4m1p1xl3ccc7dxvr299";
+"ginpenc-1.0"="1brakvxxrm1gahl609psp4na8ylkggfs534nysnrijq6vf4r1ryc";
+"ginpenc.doc-1.0"="0d4q0n0wh45ndqgd2zk254791lcvzrxz4alr2bnm9akcfbv03jz2";
+"ginpenc.source-1.0"="0jw7qa8wrb20wf8dsaxinkrvfyjdsndd9izxs549dj19whf1jmfy";
+"gitfile-info-0.5"="0qk6r9fiv44hamlqvsgpm75nd68sgj81sgy93zsylypp15283z2b";
+"gitfile-info.doc-0.5"="053x23sq6657lddjyk9bzadwydfh4zxl78gxl1payxmbl9pj925i";
+"gitfile-info.source-0.5"="0fnrwcjfji5pbkh4kdsishfy85gqcvcmfqxwr5s1n3bm3prgfc8b";
+"gitinfo-1.0"="1n8mm4g7bmiawd7l7xhx9fcxv7z3l629bj21i6j9s0rfd6c7mzz2";
+"gitinfo.doc-1.0"="1ip59qxlqzrn8y211691cv4bg8d0yxkyvbpxw8xpzg99fpp3isqx";
+"gitinfo2-2.0.7"="0k3vw12yh13q1v21bz7i3m32s1w49pk13rg3c0d0l1pcx0wwz20i";
+"gitinfo2.doc-2.0.7"="0586h9c1kp5cg7gk67xhy5fbshpskrmfb81m4xncaxg6ajaljk7n";
+"gitlog-0.0.beta"="1v0zpfry2rz6xvm92gzhabc9sa157kylvp6jg298kdsbr2limn3k";
+"gitlog.doc-0.0.beta"="0pd1f42qmka0wh9b8m15nk69p6isqp74b5qkjg6ymwbabqxbcbl0";
+"gitver-1.3"="1iazzsks5ki7xvc6sm9mbf7ry2rw4xlnjcypb8gxpv55cf6mxnbn";
+"gitver.doc-1.3"="0b9dc6rbfrh2r4hvy9hmyg190229gva32cn9j1bsg1jf633l2yvh";
+"globalvals-1.1"="1kgzrymfd5lzvb9dqlb4cgxfszpzhvad859r7sl0dl282596apgl";
+"globalvals.doc-1.1"="0c2qf5fqn4n8lhifvi4731r3vifwxp7h9sfd4c26d2nm1w42hv7d";
+"gloss-1.5.2"="09d8r16dwl26a76a2gky152bafjip3r3hf41bxxcb60sjvnz2qva";
+"gloss.doc-1.5.2"="10vgsm0cvcbfxwi7ly38lsvvg139y6abmdsv91qxq3s1pn1qxg6d";
+"glossaries-4.49"="041qzz5cdbx5zbqh6vmnbsbzgfs4v63nmi8am5qamhcyj01q3xgg";
+"glossaries.doc-4.49"="1vf9jrn4zagy2bhy5bqwrx98i7il2l6jswa78pv8kx9p7szwlcyx";
+"glossaries.source-4.49"="0w5q3jzkzp99kaz6qlqa0ss01mh7yqch2pcqcvjfdrpf83zf34sk";
+"glossaries-danish-1.0"="0qdyvkx33a9jgfa7y1pbm1lg5v1ba4xrxxg0hyfqi0pmpkajqb87";
+"glossaries-danish.doc-1.0"="0gvpcl8881g9xfcxhpa3h3c5zc3467ak8mhmr4szgjrsi4nsrnv6";
+"glossaries-danish.source-1.0"="1823i0b0firwzz9038wag2qg2h39az1xsj8484w36kbij8q7ygld";
+"glossaries-dutch-1.1"="1ipxgp919h2jh5jajq72dwaf6v5qi7xjplcihjy8j88zakd9iacs";
+"glossaries-dutch.doc-1.1"="10k1xh64rzgcddzaz7qawb2qd353j79xn3754byhn4d1kz6nihxw";
+"glossaries-dutch.source-1.1"="0g2kfnxmnnqz8y095b125d7ira54s5dpb5shfqld7m52cranscy8";
+"glossaries-english-1.0"="15nm7bz90ijx674p16d596jssi5915iy43wc1qb6gbbk4s8y9h3c";
+"glossaries-english.doc-1.0"="1dckvl8g0visp5j8ip9kvmis7qw1n81xpjw136bnbm28y7a5m4sn";
+"glossaries-english.source-1.0"="0x2iw6g9a6dzw22p05n3v7vbif8svhnw9sjqfmxn020jqnajza0d";
+"glossaries-estonian-1.0"="1p2d21rx6vs8gcsalbf5kjyhmz71gbbn10c4j4lsy7rqcb97zi99";
+"glossaries-estonian.doc-1.0"="0q8rsf08snd2p4nkfz2ry7rmsbdpixgn14n1mk4wkjclrbnjszgs";
+"glossaries-estonian.source-1.0"="15xi0xl53jxfqsz7dwbmcrnlshvs2zbdq38v3izlyz47aaf6ajdx";
+"glossaries-extra-1.48"="0ynbd4szk16655p03pxrjn8372yr5x4jx0sayyhr1lplsyx2l41x";
+"glossaries-extra.doc-1.48"="0sbl3qh5wvxzydjw5hk835lwngqy74gj1qgp4gjf2bc3wckipvpy";
+"glossaries-extra.source-1.48"="05fm7m2wbjqzd7f7a9qlhid9s50ar98w9n7vjb98hcwh010cpp3k";
+"glossaries-finnish-1.0"="18la9s6gblpqdqa1vcvsddzfxadssnd1mrg6iwl4aarq57605cql";
+"glossaries-finnish.doc-1.0"="0zjwasnxi1fzc3xq8xjmgyrfcxpf3sbfgh6nzz60zdxd8sz1wvfz";
+"glossaries-finnish.source-1.0"="0jfvjka4i94vh88jfpyysm6r1q9wwg7q29s5ik8d3da9g3n1bhyj";
+"glossaries-french-1.1"="03i8xx80d740c5yv3i83zbxpm9kckzj2kbdsakxa3sp9b0j0jk0b";
+"glossaries-french.doc-1.1"="1k5gkdj5madigzvs138r360nrg6d3fn145xf8g708bk43r92100r";
+"glossaries-french.source-1.1"="0fhi17x6kk73mismll255b9nsr8hm147zd0n3rcndbih9ray6c6a";
+"glossaries-german-1.0"="0h30icsisgk45ghhmngda0nqsjzsm23hay0sxch00ix5qcd19s27";
+"glossaries-german.doc-1.0"="0jmkcq9h2kfjzfwysfps7nqjl7f0zmh5s60ww9kll8ypdd4a1n0s";
+"glossaries-german.source-1.0"="085xarcnj5cvkljz70m27c7390jpj8kwndpyb762pr26dxvgspqh";
+"glossaries-irish-1.0"="0xyijjl1mffhmwlx7b7rprzl4rvhb2h8jdsx2jq86qg5gxd6c4r6";
+"glossaries-irish.doc-1.0"="0kic0jhmwiik3y2gipncii6j4348qkxbvkzs3sp9678xjl6j5zl8";
+"glossaries-irish.source-1.0"="12qdj6wfgrw6j4vdlkv0bcknnamb09vsyxdmyd094hwgi4cs7wi1";
+"glossaries-italian-1.0"="1dwvjb91jn93jbvh0idvn3nxm6s7frxyvc5a7yszyisfbaxx917v";
+"glossaries-italian.doc-1.0"="0sb6kzw87nh2vznwhky087017c6338jhqahgh4ljmzan9h3imk84";
+"glossaries-italian.source-1.0"="0hj3wdzdrjv9aciqgj68ihaalvarimi85vff0hf6isnmja5pwg28";
+"glossaries-magyar-1.0"="0y1540a4f531mc8fqpxv50d25a78waipkhhjvgnilbh7p1l3cf04";
+"glossaries-magyar.doc-1.0"="1sgndhgxlbhfjg22hpqazyd4zrqmkiahjfwhhwv1nk4dnn1rflcp";
+"glossaries-magyar.source-1.0"="08m0srsv9nspqfzab0g276rimzw64hg9i6dddi7fy9pc55iikfky";
+"glossaries-nynorsk-1.0"="19di0liyrqgi4vb0aiw3p507klaszwbdmsxjh09snp7jyri2rd43";
+"glossaries-nynorsk.doc-1.0"="18l362siz2p65qhb2vfgqdnczqwcgcd33qq8c0c1h3vqmsmcjfvb";
+"glossaries-nynorsk.source-1.0"="1diq7h06jw2s26jrbb44amniqyipdndzidf2z122xyc9cgcwzcwm";
+"glossaries-polish-1.0"="1pm5c1i0zfzj32p75cj014n2kdlfhfp6zlh09y5y8a7cfdsbcjdj";
+"glossaries-polish.doc-1.0"="1r0igixgkwcp7h3aslj7kmchxz32qp09vdan6w2garkgj1nspnv8";
+"glossaries-polish.source-1.0"="0zg3pfjg03kcrqm4b3s2bb9z3jhlga85hzd1n83pbrvf7fph4ld2";
+"glossaries-portuges-1.1"="1gjadmklh6lsx5drjqgph31z3x0g4xy11g074hm4y2zgziidkbyd";
+"glossaries-portuges.doc-1.1"="1cbzpx932chvxrf4myhy6bg4jrj05nkr2l2g893k6k7xgm2i1m7y";
+"glossaries-portuges.source-1.1"="0cz40x5s9whyr7r7w8gmw9gm119xmbb1qkhz19zfijg6nnq2yig2";
+"glossaries-serbian-1.0"="1nbpnq50kki9i2i2dlj2x9ldy6g0in0mz54ii107m8fc66g90vi8";
+"glossaries-serbian.doc-1.0"="1cx33aqm3qcj94rl6n71wm0sq2kc29r1wny3bwwpqg5mp3bw2g8g";
+"glossaries-serbian.source-1.0"="1vgihxf778vvf86rka345qmnbv5s2ma1b5h47s2f15x8bjx4xy9r";
+"glossaries-slovene-1.0"="0i74cn88m4llskd371z5xakw0s1gdgfmc01i55xqmc3j1n5cayh6";
+"glossaries-slovene.doc-1.0"="1bfw6dnj6vcz0v6i8dhy2ffd6vbjqihqshkzhnwrrc858rzgahiv";
+"glossaries-slovene.source-1.0"="02c4gvv1qvhbznxlxff6kx976whcv80c15k2jxsgd6bira50414r";
+"glossaries-spanish-1.0"="1wg894gdkqkm2mpzixgpnsd5hzbvvviba7izbshiihhldsijs60d";
+"glossaries-spanish.doc-1.0"="0zkfg3zk204q8a4xj00ibixqi0j3ll4531vrbavafm8b9qjl93xr";
+"glossaries-spanish.source-1.0"="01hnx7zkqlb4r549252y3nsqrj8ywi30ci27r5n1p846jv366lxc";
+"gmdoc-0.993"="07hf9413bmj1iv1g13wnngfb07fjb11162pz1769dz5si4av5nmm";
+"gmdoc.doc-0.993"="1p3zpf3rmmmvaam534vyw2n8r3klfxlk36jk19pk5akqwxwv754r";
+"gmdoc-enhance-0.2"="15c1bah1lxa4ap43287qm24nmcml5g8a62plq0wsdhbd07w51h34";
+"gmdoc-enhance.doc-0.2"="1fy3y1f53frsv09vz74n7v8gv1wscga6h4di9wfspwan1x3kdp76";
+"gmdoc-enhance.source-0.2"="067ind9qmah7w93bhwg9vfj8nyps60gsvbxmx7qhkr6c1cxqa8wr";
+"gmiflink-0.97"="1b7gbvkhscb2p4yhcwd8mlh3fsvgfq8g6876s1brygnp9lsz7cxn";
+"gmiflink.doc-0.97"="189srmaykk4pmm3p65p0i00ycisr2bdvb51r6ddn4rjbliv6i9gd";
+"gmutils-0.996"="1yf7r1bqv7kid7v65bv56w4an5nx22fhxzh67fh7r9y8msrz86lh";
+"gmutils.doc-0.996"="1xplwkdjdcz76rmmmnv8zfp3fj104b1vag6rzrxj7ap9k8zzc40f";
+"gmverb-0.98"="1mqmi97imyr63ff0qyv797sipncqizbx9cvlg49wxnf3bjyk2ki2";
+"gmverb.doc-0.98"="0r9sygczigi52piyk4zgw807zjr0jl4babj3qmnnsg0qclhvaqnq";
+"grabbox-1.4"="1w9gmzwzy8dmk5rymwhn75rlciszk2wyx9yiiqn3npz872b55sf2";
+"grabbox.doc-1.4"="1h4fzi0199gfzdsx3f4pz76q14lv90sgad8ixfixn4kq6zywg4cs";
+"grabbox.source-1.4"="0sg5ahgxmm6vwa2ng0w8dmgxb4d3x14929i8apkm21bainhaxg4d";
+"grading-scheme-0.1.1"="1cbprwzwz019nscz0j3j0cdxkrmkqs9r220qvfms1vfmjs1j9dg4";
+"grading-scheme.doc-0.1.1"="1fc3i5h4xs40z3ndcipyjl7vz36vbaqd9zcw8nlvw746whf4g2lw";
+"grading-scheme.source-0.1.1"="0kidqf4l7gy9qg1i01ghvb9rqm9ygjk0ii22sff3n1jpbc2vdvh2";
+"graphbox-1.1"="1hvhadbpd988nvrlcppvv3bnm5lzmlnxgwmfp6r4mgsr1q7xgg6j";
+"graphbox.doc-1.1"="1gls7j4753s16q6lgdsaa3yg8fc4vzxh74z7qr2ykz9b8ij0sdr5";
+"graphbox.source-1.1"="0nfmfn7y1qqbm4yifqxfpxn9yw2xb9yj4smv9fmxrs57ism8d9dp";
+"graphicscache-0.3"="0j7a0zk7v62chpbj90mmicj73cgj8krd87q91a4crf0wjs99jsgf";
+"graphicscache.doc-0.3"="0ka2nkn11sjr93fh3dgr964bbwq6ay1sx97ww1hiks69j4xjy9nx";
+"graphicscache.source-0.3"="0zpavj8vyq8n2i6nw7lz7dff5xq8wlkrfsgrbi7yzz7idgmhvrmp";
+"graphicx-psmin-1.2"="1sz53s8j6rn37xz1kkw0zr85625qki05zfvj6zpyw1yxay86r89w";
+"graphicx-psmin.doc-1.2"="1fjg0pwh8qxk79mmrpgnwps50r8hvw6hqsjd2cp021wkqcyk5zb1";
+"graphicx-psmin.source-1.2"="1rjl35jhy6dwja782xwh0qp3bxyw6ziha6fw5qbaq16jfy8hs95q";
+"graphicxbox-1.0"="1pl1x7n7yv7grkplpx7fflfi4cwzmkmh8nnd77i2n5wdlylyabxd";
+"graphicxbox.doc-1.0"="0f1w22m5r1xz6n70yb1p21qq3fi2rfj9mdcyqq8s40km1i40yxkd";
+"graphicxbox.source-1.0"="163isaz9zh1jr5wbhsw3ppicxsq4v92d6516dqgiwjhf6hdgay94";
+"graphpaper-1.0"="0gb5vwg422w53njdn8f2ng0rj5klbwfl4hw7xkqdj7g8cybnib4m";
+"graphpaper.doc-1.0"="0cdxw7yxb6i72j0mhlnmbnarpwricwmc4j6r90jlazaf6pb6dxiy";
+"graphpaper.source-1.0"="0r0rzdbc13i5hjqnmyx57s70pmgg8ql2z609c8awcvfb08x12fwd";
+"grayhints-49052"="0p65f12y0v9s13gkmd0limdcsz36lnbf0975c4pxcsc42i8smvqk";
+"grayhints.doc-49052"="07qpkj60rrl1pc651qa8kpym3bzcc0qkfwaggcyin9a65a5snnhf";
+"grayhints.source-49052"="1g32xq2f1ncq124j2j8xm3vdkhv4sxynxc3wzx7x6s9i91p5l59y";
+"grfpaste-0.2"="0y1zw0l245chmlgmi7cmg2yp7s30z8055wnrbm6f45aizcvgdya9";
+"grfpaste.doc-0.2"="152b029w1203lgfmxdmhq3nh9h2hcdx4xanklv59rih9ha5l8j5v";
+"grid-1.0"="17yxgnwlxi16vkhhy0mij2f07cib589305iz3kzf0gfha2x1fnxg";
+"grid.doc-1.0"="0h3pfv1hilyn9c9mlqm9nbfd0l0s1n8w7hgaa6cab43y8n60z8gy";
+"grid.source-1.0"="1ah419141p76qjl1q82l2v6i5z34mj19rvsbwldp8fawfkl093k1";
+"grid-system-0.3.0"="11l07viwfi88i7c05yjb39wxzdgvg6xvxlcgbmqpvc4fbwmr45bi";
+"grid-system.doc-0.3.0"="1a72i4af612w28wkbsvqvss5462ar8g27y83w2h7y65nqv42wi9d";
+"gridpapers-1.0.2"="1nshsbv4qf8vxsvrqidwr4rqny5lp0cxijx018bcskhh3xra7r6n";
+"gridpapers.doc-1.0.2"="0z3vns6jk1ihiqf12i46n8yhfyjmnkb4l5wyc18phbh9l6879b7q";
+"gridpapers.source-1.0.2"="1bnb38mgi6pzm6gvxf0k60z1dal3kgi2rjgwfrcg2h5vmb5rpdk0";
+"gridset-0.3"="1hg92rhf2jl3yp9y85pm0hrbc2a43ysxkhdakfv51a3bynd7ym51";
+"gridset.doc-0.3"="19aq6g6dnbmgz6a4pgxm2c2vbwc0m3hicg7qcbjpchahj8278w5y";
+"gridset.source-0.3"="1gmgaql1wyd6kbhhv0ssyhg5dz9jls0y895h7yg8pyjqg4d0i2rh";
+"gridslides-0.1.1"="1y5bngrqi46yii7807nw2y6vr7xavmbnk7x3bpfj5fjm8vpnw4aj";
+"gridslides.doc-0.1.1"="0ringj34cl8lqdfa3qwfcq4jdfzsghw4haw7c9dq9acqnpc6sh3f";
+"gs1-23"="0j8hsdifd75wm4viqwxxk7s654bb7yxs5ccqwl0hxw7kxrxybxmr";
+"gs1.doc-23"="03yw4cfa1ixhf34ak42qjwnb1pbw1lzljxg371v1gcwbba9x9svb";
+"gs1.source-23"="1my4p6xgpghz0fqq1i5wmqx0nx27xn0vbpl4gbczwi1xnakmvv4v";
+"guitlogo-1.0.0-alpha.4"="1zjlfd49hkq9qc1l3g974wxzw200qyiy9vbiai0v9gs627hxckwj";
+"guitlogo.doc-1.0.0-alpha.4"="0awpik3x75rky5w6rk9zg3cy83dgxs2l57wfg8sq9h35zmni875w";
+"guitlogo.source-1.0.0-alpha.4"="1hi4rb31mc3820fafyhk2158y67b90xp5wl6xxd0b5fqz2z28qnj";
+"ha-prosper-4.21"="030zapbv83x0x1vh9px6klqnivygjhzi48fz40jb2cl17b38xnx1";
+"ha-prosper.doc-4.21"="0i9714nqgv3ywxfybg3m9lcrng6v7ydxgfvxva7zpjpmsm3mjfvl";
+"ha-prosper.source-4.21"="0ljl3szba1p1jj7fyw6qzm5h673d63hqwpsn1jzapk013rnxsfmp";
+"hackthefootline-46494"="1l2iq2k1bil4l5nzxrfi4pg831kxn22ld7402y285hlhv7cj6qfc";
+"hackthefootline.doc-46494"="0w10yipva3ixyp91iy2y15n312gk5fw90960p3adla2w1p4qhs4c";
+"halloweenmath-0.11"="0sfcggpqhai8xzpnbyz1vlvh7cfl3n2m7z0av4drd7wqzas0mcw2";
+"halloweenmath.doc-0.11"="0k7qfv036aa691902chj1rgcf3z2xd58xfb2r0b5z80g6944xjrk";
+"halloweenmath.source-0.11"="0ir0xr3aiyjiashy6jl39f401ccgx3dhlyiqx4h2myiwq45ay2ka";
+"handin-0.1.1"="0xcsmfa4jjhrl3xkglqwbgvi844q1f9zjgpyix5akx058qjvwl7g";
+"handin.doc-0.1.1"="1k3ar5yzyndnfqkv3bhl7q8aczfbaaghv9mkhzpfri4za5ks6fnn";
+"handout-1.6.0"="1563x16fgw29vzw9bzjrc8maj1r8337p288y7v066qjaq886x3xz";
+"handout.doc-1.6.0"="1y1wpkpjwhq7aya9b98ym4xsv15zavmv8k1i6q0vx302awi2r5yr";
+"handoutwithnotes-1.3"="1wxy2a01jvxhw1pna1bfljigabfw9i66m346n0yshhk6rf3zabgd";
+"handoutwithnotes.doc-1.3"="0i1viv2wkn2afvkcm1z7vxz98aj2yyn63cilnhm5kzn7ngdrkxcj";
+"handoutwithnotes.source-1.3"="1jiz406v43khg1p9kpaz96bwd7iscl078315xjfsirlbk33c4y2c";
+"hang-2.1"="097qbqwbib8gj53qlydflff7sqp5ghcg5812hjnav9a0rgklpw8y";
+"hang.doc-2.1"="19falj7rm7diwr24q5rpab3rp39awnyg0hdxfhhalkpdmjwqk2iy";
+"hanging-1.2b"="0s86yaxyfv9zxf4svwg9s13by9vrw38apfg0hsfchsimsdd6gsbb";
+"hanging.doc-1.2b"="086lzvx4g6bj04xdqnadmb8832klmq362k9lqh4pz7ym34mzh5c7";
+"hanging.source-1.2b"="0wwfnkb66m7r77723kkkdp7yxkl789g310m5lhllwx33fbhm8vhj";
+"hardwrap-0.2"="1kwsns5vg5pkplcl5nhmvpm2ccdv0f9431qxjxq1k6zfsknpy60v";
+"hardwrap.doc-0.2"="0h1n80c9l34isgyzl36hf4nigxcsykfgqv6i9jjdf6dqpp23bpw9";
+"hardwrap.source-0.2"="0hiqsj0vpfkmi8z048ymlnxrxaam8raq2f48wlyk67x4w2gv72k8";
+"harnon-cv-1.0"="125885fg7frl37pmxxj51i7d22xydj5wsva9i27126903y3qdm8m";
+"harnon-cv.doc-1.0"="07i4qv95fcfnlfj18qljwbkv1cm5r00mzmq570ra3bgjc301gk9a";
+"harpoon-1.0"="18p0xqjxix4ka9a9ja513il0wrpqrqh8v9v13cc89kh8qfjlf9m7";
+"harpoon.doc-1.0"="0l2y9l8wn55dg06fbxjnv16bkhgbg9rpfclawfh4p7m2cf2h1k44";
+"hc-15878"="04qricj1nmmmhxwsam901cr43h96ymc7qdb1m52byniv51i8g0yn";
+"hc.doc-15878"="06q64drrpgm7lzp45hrl33cs2dj4mx1mjpsd3paqgsn2xxqls2yj";
+"hc.source-15878"="0knqx9smbx7lyr1r6vn50x3x9zldv14gb3484jqk28jvm92njnij";
+"he-she-1.3"="1rr8pdpizasdcb1sfg74nsqs67xh2lcwd8w2rjaf719bpx9372yb";
+"he-she.doc-1.3"="1lmahrp33iv7bbnkbiwpkagy3rm7j0wric7m1fbzdvkgkzv274na";
+"hep-acronym-1.0"="1ja9kg56cyirynnizr22giflr787rl2x0ab93rhlyrrq89qn33rb";
+"hep-acronym.doc-1.0"="01ax42pjmlyax8n4h4n1kvaqklrgzcbi6a68i454r5l1di1vkjzw";
+"hep-acronym.source-1.0"="06zkbxjwaab9h16z6a8d9bd7x3a5pj61j0bfxva34kn9zl7f4ixs";
+"hep-float-1.0"="0cx4bc2b7gmh9i1z3jrk5pp4k30fbanm6zdhg6zqq0lwbpfdv9nd";
+"hep-float.doc-1.0"="14a94g247dillxbfigdkjhd4rmkfcp4wkrymvdkjkzbpcmhps0cx";
+"hep-float.source-1.0"="0i15nl8r2nq22sfsxc3fsfdfn0drqibz3z93py1g4csp1567kj8r";
+"hep-math-1.0"="07cncr2fwl17v3c1g2dq21g2inla587slgmjwf70bw77xnddb0l6";
+"hep-math.doc-1.0"="08f3jldjxg2qsw9c2g3pmq0kg40zk5xjg8ql9ipp79yy72fkjbx2";
+"hep-math.source-1.0"="0nv8sf65vb85b2bwd3kv74c6f83w6abrvy5ac1dp64736zfhg4a0";
+"hep-text-1.0"="14vvay4d3n3pc1sk7rnl32jyz84c0z16j1g9imdab0qma2h2j0q1";
+"hep-text.doc-1.0"="1sjrglfxm4frnjk1wiz2hldb30yz6k77xpd3axqw2wk15mm2y5v0";
+"hep-text.source-1.0"="03n157hi4jpcazk279y9bkanaz9rarngj97vqgy1npbyl563zzpv";
+"hep-title-1.0"="03jn0wn3lri70pfl9khyckn527iqp81jgbgbgpgfkxx9cljbvpbf";
+"hep-title.doc-1.0"="1337c9by49lc6x4g9n6b9jjly454nf8x7f8q9wg2w85hl8hp7vw5";
+"hep-title.source-1.0"="1gcsp54znapagcg8apmzzlbc079cxi681h7m8l694l37z7s56waw";
+"hhtensor-0.61"="13mx7mg5jqrlyxnx19n0rs2crpxx2gp6m7l41m6l2ig5vlgc0x1r";
+"hhtensor.doc-0.61"="0k5fg9ad5avnsg84xwlcbzffrzf6y8l8a2m0dqw3clg7zjmq4prp";
+"hhtensor.source-0.61"="1pay0c1z6avkb44h0iibfn6xskiglym0fckfqrdv0bablk3cghjn";
+"highlightlatex-58392"="1pmhvjxp5038nnxd9bnk3s30wgzxvbzq6z8cfmvz0k8h1nzkc1a1";
+"highlightlatex.doc-58392"="0q4v0dvr50wd0qbk8xvn7bayyq00kj8b8wwyn6axia3mpjmr7a41";
+"histogr-1.01"="11zbm3d05j6nrzwb3hpahli54lf06aly60arh4fi9k52qcbsylv3";
+"histogr.doc-1.01"="046gw7h51w5s8p3rh6kwwi22xxj8bspbh7anf2cdzg4w88dardl4";
+"histogr.source-1.01"="153lhmgh0n224xkg7dmcajj7bydnv21spihh371hj5a461d4h9k7";
+"hitec-0.0beta"="1rzv2baizqa6fj063knxhac39slaaxk5lbgpl6zwk60nbp1lxq3l";
+"hitec.doc-0.0beta"="1p6vcgy1l1avz05h6r7bqwr7hl3jrnyryl3vn1i0qad25jryf7qn";
+"hitreport-1.0.0"="01xxw91175ffcix6s7ji2600j966dbm6zl8fbnfwabb1rvn39nq5";
+"hitreport.doc-1.0.0"="1wpscl97hpc3s1s34bskz088ph3x83qq7m6qgjj0xa2hbm2g77ci";
+"hitreport.source-1.0.0"="1hxcw8n5aa4jfpd8r8f3442diww9zhnywd6kbbqjs7928bb51vk4";
+"hletter-4.2"="02v906vgbidc2s1mgz1k3666riwb27vsl7dp24rd8q2m167xjd29";
+"hletter.doc-4.2"="1x8q4jkrbw6ddkqqlaz6mxj4q105vjs8k8ifphvkvhawl9iikki3";
+"hobsub-52810"="11j0fxsxmyd93px9j5fdarz1231nczdkfpf1qf33kcdpyb44jrs3";
+"hobsub.doc-52810"="0hdidvz42acsgy021c1dzlvshcmw6fz3pkqrwpk66qk2nnh30dal";
+"hpsdiss-1.0"="1l7mbnhds4c6y1w5vylsx8j7b4syl2j785l3xzvk89nc5g6ck2qh";
+"hpsdiss.doc-1.0"="1cxdd1340b1gkn915id7xcdac2zp79r1yi5g3wjwmj4kbn7z6sbp";
+"hpsdiss.source-1.0"="1dar4y0ajqz93znww0fkf36li50b82hbxixi30hi8fm8y2hc3j2j";
+"href-ul-0.1.0"="0hfsvsb49szwg3rnvjb71mw61wnkr7xxiv8yvlicvx45hb14w1fg";
+"href-ul.doc-0.1.0"="1781hk6h96a88da9zvv78hfhp2g9n1a238i4pim73d8bp7p4jli4";
+"hrefhide-1.0f"="1b9p4qwbclsgd61qqnifqaid1s93r0yqkwi95f24snvklm8gw7zk";
+"hrefhide.doc-1.0f"="0x3md2dm04kvnf4dfs2i6gpplpsayjcw4qz9qwayad7nbnpr9i61";
+"hrefhide.source-1.0f"="0jcf8pvsndvhqa77bi4i8wl5lvgca8w0h74pmaqvs1d0vc8nlja8";
+"huawei-0.13.2"="1ynfrx4xz9c82nvycqdd6k61gpd993r2k394704cvp3r6hw5q3yz";
+"huawei.doc-0.13.2"="1zaqwb1sxbsik2r5klm1l8yqwvdrk8krd5rxwmifi2yb30hmqmf8";
+"lastpage-1.2n"="0d4rc44jpi4bck1am3fc2hrs6rl7yd8cza8d8qp53gdsr5piiabf";
+"lastpage.doc-1.2n"="0xv27wn76zh5nhh0ml6qv1k03ygb3i3xwngavvlw5g6frqfj59sc";
+"lastpage.source-1.2n"="0zndsmrg7dnygfvw5g0zdvyzb5pmg0bq1dj9srb2fmz46xjf95wc";
+"makecell-0.1e"="0238il37zzshzl3qn50hav3wa6rd25k7rp5l93lb9g7r476sgvrj";
+"makecell.doc-0.1e"="0mf4jc9rv66qjnm3ldrpx5lbfw1yfqy0jsvg8d3wdcwvlxpcrvwf";
+"makecell.source-0.1e"="1vkfkfgjnhx5byipkrzb202w9jvmnjc2z3zjih6y61yizccwm543";
+"svg-2.02k"="0h7ciy6qc3awr2317npp2xi958s4rz8kfr137s2rwpabmkriypsg";
+"svg.doc-2.02k"="0c2ibjsnjffp6rr4fk6b74j1vm6vfi0awvhbpz4yc5cvgjw733nc";
+"svg.source-2.02k"="1dh1857r254hiyi0sjdm3271h26wah74b67fvhmkwwr0wxz7w7vr";
+"textpos-1.10"="054xx9dxq3d5872rrnyjdqpiwf6jgsnddah8i57l18wrls8l3jyk";
+"textpos.doc-1.10"="1ih0f5rfwys7pi57l5i03g08qh6avza9sy2khwd58bgqyfdk3m7f";
+"textpos.source-1.10"="116aq86hyd3s6mygg1sig4lg3jynpymrngas59497raxd5w7n7c4";
+"titling-2.1d"="15iw3giwxg658pzb6basjkp4v92m3qvzk1fcarnzikc649bjcbch";
+"titling.doc-2.1d"="1r75nwakbkwf32qva6icp3pq3y8bgfl6cqw304lcw8p6bih74y5j";
+"titling.source-2.1d"="1jdgyn9zyf5rwbaz004g85rr2jpd5gi5iyn111s0r22ml41ci3hk";
+"wrapfig-3.6"="1axad52pzzsx9d32rivasl5d49dj51adk5kcnb1rr8mz59421rk3";
+"wrapfig.doc-3.6"="1c3xd0ja4063qzag0v07mxkk52yczlcwdbwn84gsfp5hdmd5cibr";
+"hvindex-0.04"="1wk4q29iyqrk83kafwhah5gvvj2ywpnqzvnza6cwrkb85fd1q2i8";
+"hvindex.doc-0.04"="0vcdmn3xc4cm3rkdkzi0qvqakgkc3hrgy8nycr5c8vcb6xaiw0gr";
+"hvlogos-0.07"="0rnqg4z9ghj8br3r9pjbjwswnqi8c1wan6d5aiyw8si7cncb9j01";
+"hvlogos.doc-0.07"="0n7a4fw9pfnli3z2dk28s67f0gy4z2rfjb5yqc3kbbsvp2dhhqad";
+"hvpygmentex-0.01"="1rnra0v65wmz8yqwfa6zqqswx0m7j54z6wpzvbrp2d5gx8azsdv8";
+"hvpygmentex.doc-0.01"="16r1sqsaw8ij5jxf0ygm2kgdhxpzsq5g61jhj9rq0zhpjma7fhdx";
+"hvqrurl-0.02"="11qriiimmh8wmcjdjh98bi1sghpavl3lnbq13m4d6rgc46q0n3k4";
+"hvqrurl.doc-0.02"="0zamvdxp0i25165k0i4v6172plfhzs4a5ydgcbz3662qliggsn51";
+"hypdestopt-2.7"="1753c7vjx3smnhl1iylg4x0sdcqfg6gb0wdbwqmlass4qdn494w1";
+"hypdestopt.doc-2.7"="07a2dpvvyj2r2691v8izjnqjksna1nm00za4sva1npcrhkc2qq1q";
+"hypdoc-1.15"="08vj3w4bq5l09ak1i596qjv94clisyww215gyk7r6sscd81jbqw3";
+"hypdoc.doc-1.15"="19v745hc8zf4rgsscr9miia8g69j7hvlgyjl9nyji1404yrlmlig";
+"hypdoc.source-1.15"="0fgjib273dvq36ikfr9pk7n4jdn3glm657mslpvcjs68b3a9sgmk";
+"hypdvips-3.03"="0ax6n7ki47jyzp5g8781c7rv54hwrl0fg7d1bwzbj9bmqi39df4v";
+"hypdvips.doc-3.03"="15vnypyl6g50d4mycz3s41h8ccpmknr0vh9bwacr6nxbzlyyykrk";
+"hyper-4.2d"="12737gd2nmnalkgl4d2sh45r4d621zl6g2zcih98m7dw8qr38w2v";
+"hyper.doc-4.2d"="0hzl3fzgmn6kyl6p4d98l9ycisfhb9v50a1m6n8q1k6jpvr10z9f";
+"hyper.source-4.2d"="09m0kdcs4kqksqwxf29yq4l52kb2mj5pxkry010ibwqw64cs5p74";
+"hyperbar-0.1"="1bj0v54k85isn3p48vmiygcvd3n06r4mqcp75hf96mmp0wvmczg5";
+"hyperbar.doc-0.1"="0fmrz4hlzd8clxx150fk4zbkdgbnhg3b7ck10225b0n1lqgnlh0h";
+"hyperbar.source-0.1"="19x81f6bki5mnx1nblrl0ji663q0pzkacy5lbjsqyr7krdc33fyh";
+"hypernat-1.0b"="09lnsw7ycwkk71fyjk8zwgzdjv8ff3k028q7hr27dqsiyg4hjg7a";
+"hypernat.doc-1.0b"="150ayv12ym9h68a09h1xakdfzccpix1pff9blkzjq6iz5imzzpr1";
+"hyperxmp-5.9"="1p3pj50iq61bdbqvm4bijj48bwg2n6sn2dhlq5xgp04w8jxc29v0";
+"hyperxmp.doc-5.9"="1sqsss76f9mhxv8vlp1dh8gnjpv8i4mzy74146hhfjwvaf5zygmk";
+"hyperxmp.source-5.9"="0n7xzbq57kaqnm1aafrz58am7s6wn9pcxbgfiqdc6yniz8680jl2";
+"hyphenat-2.3c"="0ckfvjxdv4rb8156x2vmwl15mk9057i2lyg9xhqkmvqh1ani4lc4";
+"hyphenat.doc-2.3c"="1lzpdz05dw5m8ljxf5f846m1x4nv5yrqbg3sixf7dgyhsmpfxnls";
+"hyphenat.source-2.3c"="1ddwv26nfl4jwz8vxs4fwc9qw8gds1sg275g2bg9ci8dfflk16k7";
+"identkey-0.1.0"="1vs6sr25ybmrfkg5v3m021hlhw9x3gpynh89q12a5pl2ka094hn1";
+"identkey.doc-0.1.0"="0r33gzfwrj4j8a2i8kdddbhgljf3hz1b7cjfxgmv5gdqmmjywnx2";
+"idxcmds-0.2c"="179mvb95a1cxkn7ncgs7xwhh04d36s9nb5jjxvaszcfkp9rnlkcg";
+"idxcmds.doc-0.2c"="1ym6yi4cpw9flz4si6blg5bfj85sf0p3y6nipc886ixkwiyvsgm7";
+"idxlayout-0.4d"="1y1vzyb1l5b8q3qqs62zfiw7vfd9c1pdha9z4nm5xpsar1nk69qx";
+"idxlayout.doc-0.4d"="11qiyzcj4zi8kd9h2k2jhg8i8rzfwdam9rhr7cmvbxqsqirf0fp2";
+"idxlayout.source-0.4d"="0fkpj4gn06wkq3saprsb3gm7myj04yll4spz3j7yi28yniv4cr5c";
+"iexec-0.5.1"="0r039rwaw7rx7qn2ldbqdqnzqjdj4x8h40p52ahxzqq2y34rmv0x";
+"iexec.doc-0.5.1"="1kz7ys37m6mxmvkcfhymmlqn0wvjbb7k07wykyrilr22rk86ymsi";
+"ifallfalse-2.0.0"="0pn37mzlkpswyykciwgfkw981098gccqmp7wllffr39qxhcj6gdl";
+"ifallfalse.doc-2.0.0"="1583p9f3lv7kkjygqv368ag70jq2b184j47v32aqpgnwlmyn55jr";
+"ifallfalse.source-2.0.0"="11636chvmy2icfq6f7mvdq0fpcn36yl15g9ffpp0flqdq7c8nd14";
+"iffont-1.0.0"="1a4zx0mysk6i7awvcjv2y1yid1k160icrkqkvw34qsgs35qnqbbq";
+"iffont.doc-1.0.0"="1iqchl5nra5ldmv5ddpwjcm84whpsxym34vphj2zxvzl0hqwrc2n";
+"iffont.source-1.0.0"="1x187pafzgg7h2vvy5dfc44y37q45lkzqfkxh8b52pysxxl23014";
+"ifmslide-0.47"="1n4dmmslpsx9fv9wqiipcg04lasym2fbgsqkvvffqmx5rszgdpha";
+"ifmslide.doc-0.47"="0n7hsymjs1zfjc5gbn26z2wdl5qicc7pd251s0h4qnfigq3nhr08";
+"ifnextok-0.3"="0sf9dmz303pbxfi24z6fb1wxia89qaf4svgp4sbpi1yl3gkxwrmj";
+"ifnextok.doc-0.3"="11r5zrs467h3rv5j8c7b5iav19v9hbcxbspgfdbd061g871xxd5y";
+"ifnextok.source-0.3"="047pc422qhh9d80rjgmjgmn5xsapf9azvqrl0cjn28qw4m5ccs12";
+"ifoddpage-1.1"="16n7s8cmsfd5ylxmz2f87mx6f5szr8na3zygji8izvi4g0pfc1zf";
+"ifoddpage.doc-1.1"="1z7x0qyn7g96isqgkdwwkp45mzplqixgm9d84fhizfzx7sw9r6a7";
+"ifoddpage.source-1.1"="14x0haj3xjsk9dn2djg117sl7x5nbwgbivhjj3ichnxlgrlf1bis";
+"ifthenx-0.1a"="0bp087nfq5hb3a60ayprbz621nmk0acisizkw5i25n4kryi6vc63";
+"ifthenx.doc-0.1a"="1hzz8s2xlz2pij81cfgjad8yaamv8l4iaripj7bbifkq7gy38afj";
+"iitem-1.0"="1sdsc28fw1lrr72s4wwgwk0zxk9720ll5xbvap2na4i3lp4vjghf";
+"iitem.doc-1.0"="0grgh5bslsl67ygvz2cd3xb9adn3w4amhpkkxnh035vkld91fxh8";
+"iitem.source-1.0"="1fk3c5rc8ylf9jg5id4jnm1gjnrvafiivhr0lpfws4ddr2pmir06";
+"image-gallery-1.0j"="097brbh3xf2xi4s151iy8g6abnf0ba4yar78jz607f9dfni95i8c";
+"image-gallery.doc-1.0j"="0f8a7jzj6w25al9c13mxd04bg2c701s0ynsd1rvnqdik6d98s0l0";
+"imakeidx-1.3e"="0w0q18bxpbsqrj97309b9lyfcf4has5ldjvs0dwn45lciav8a7rr";
+"imakeidx.doc-1.3e"="0h2wqdg6navbpzjq38ks2b9lz3hkmgi7v1y8ihbbv3aisyvp5r93";
+"imakeidx.source-1.3e"="0l7q94z5a3lsy4kh7vxyr6mmywc43p681p1vjry1f9vi0s6ljwpy";
+"import-6.2"="0if5vrbx6456ydarw57p1jpkcj2d7csmiffgll6fgxf2kllqga6v";
+"import.doc-6.2"="11hi1yk9xhqks4i3rhc4s8bbaakxbbmddb7j5sym780y45qm79c3";
+"incgraph-1.2.0"="04kzj381v6lj9a2hjgkrsjvs4h5hw6mn80cfmcp6y8d753ibaail";
+"incgraph.doc-1.2.0"="0vi27zvbw8pwh9krr8zwh90m1fsx6wqsqkch8c9ggjy03518b5zs";
+"indextools-1.5.1"="155l4azvgwbk4h70x6bkbddq8k4jxhh485xa7jajz9vq11lkvhs0";
+"indextools.doc-1.5.1"="11n3knyzdamz9nz00i2rck6gffqrzwcycah0ds2a2wmcm7wl6yvk";
+"indextools.source-1.5.1"="08qifym1c39rk935hdsm7kqxdy3gaphq34bm3w6klr92cz6w0n1p";
+"inline-images-1.0"="1nq64ymrmfiw19bcbb25gmll36xbv58ynzvv140089pw7xn5x7bm";
+"inline-images.doc-1.0"="1rjppia3m0kvf433ansxhmwvii70i4k53iqk9jphhk2xv2gfd16v";
+"inputenx-1.12"="0jjf29lj8ha99r2x0vz85swkr2aq6v2jwis27irsi79syfq8bpbc";
+"inputenx.doc-1.12"="1kkblvi4dhfxsij5lmbdvmnapskvd5yahha5im2nlllh8crypwv5";
+"inputenx.source-1.12"="1681djxj8c43i93ip864bi1p1fpn2dngkvh18zs0234ls0gkwiy1";
+"inputtrc-0.3"="1qy90zwai5ciajsiph6sgmzmfi16qgvx389hvxsfi28wccpm5bh3";
+"inputtrc.doc-0.3"="0fcxac4jsvhnc85p9nwpp44ij0yq4q1lxlw42dzhg88fdkl57srg";
+"inputtrc.source-0.3"="0b6kl9a6ilv0i5xnlcfjgia40ynl28dbz1rvcvak3637fva07ghk";
+"interactiveworkbook-15878"="0dibc16gdam4yxil37y2zsz4cnfiq2grm6qqj512nng4zqnwcdj0";
+"interactiveworkbook.doc-15878"="0nh4zm37xipvmv5h6yxy1ir2gkjy23h22j8dnz7m04w021sgx7i2";
+"interfaces-3.1"="1d2sg377lxrwv0w0zdhxdjsnb8sbkzadpp29h4jcm7v6qpirs1wj";
+"interfaces.doc-3.1"="00dmb0jq7vvf7xfppwmw1pps6453rv438qkpv5qhlamqlvx2b28h";
+"interfaces.source-3.1"="0s5gfwv1izv3y3z3lmfbxdw06830lzy85f7vza4i8zcdwf775pl3";
+"intopdf-0.4.0"="1qd594mdjbzpfcv7km0m5n60h5nqj0mcza8j766h84dp3vw3ni8i";
+"intopdf.doc-0.4.0"="1dwlpcjh71y8v9k0yqmlk9zr7wgyamg77hz0nyb7k0syhaw6q263";
+"intopdf.source-0.4.0"="1g39qdshq616g7s3c31maihwmdiayny5kbm3rf0djmfpgs1rxk8w";
+"inversepath-0.2"="08xivnvbyhaihb24w14b908927fr73kbk66x82nv9j332lpmfgmd";
+"inversepath.doc-0.2"="097fyhn6dj9d8hq26xads2s7vz7hvixwl27psqrqqvhdlq3bvj7n";
+"inversepath.source-0.2"="09d3dzckxrg9vdxh84nx3xzwj3rfarvf0bpda4qib179bgnqrf7d";
+"invoice-48359"="0z2ixjxicphaya7244mi0gdnxnv3qawyxpa1kwv6s0r8li4604k0";
+"invoice.doc-48359"="0ki54z1rlb9xwvsgd2bxv2sb135cc6zh44kpww0mx76vcky4az1r";
+"invoice-class-1.0"="05vbh1iclf9gj6nzradfvnqa7yp7r5c3ccahg3j7qrdkkb0xj8ig";
+"invoice-class.doc-1.0"="0myl8pvvfzd5jrlva1cxkps9g6jr0lpfw79wr3ghv2idz8ba85x0";
+"invoice2-46364"="0646sb8da53x6aybbfijk35cibay4pnryq1xq2nzikdsf8i5x0x1";
+"invoice2.doc-46364"="057a73iw33rpsgpxcg13jlpcfmcmsq68jdz0fa3dhz964nf2xkpz";
+"invoice2.source-46364"="1z4lilb3h8gp64lgw7xbcnqfjf0lmzv760ggdjhmh5ibdc4ic58l";
+"iso-2.4"="04ifwh4vn074cnibyafzq59zjlnlmdfyq03mqwk44r1mgmizizdi";
+"iso.doc-2.4"="1bnh34708psjpbhcddv87axjhxiyfjic0mamlpn3z58qcm0jb2pz";
+"iso.source-2.4"="0gaxih730r70xgy84vbqz1fqbdr1w9fg9d1hszp0kqvqaypfmcyg";
+"iso10303-1.5"="14wjjp2iwb7l8m01cinmpm3g9hk1rpjx4a0rc41y614ah5bmi4ry";
+"iso10303.doc-1.5"="12m0rri6l538iyphsh2abcvllckg566aj1487sa9jc4m56armvj7";
+"iso10303.source-1.5"="1nnfz5r5hk0rf1gvwrgp4m7jb5lln1cf9pnb46x9l9hyiagq5din";
+"isodate-2.28"="0xw8356im72iqi67nspwkhafrwl46gb3i41yapnj0hqb672gk4lj";
+"isodate.doc-2.28"="06m8ic0nsiy5bsymzfhpia9i47kbpwqmnbrvmsp44mw5g2ccjk41";
+"isodate.source-2.28"="14b1ymqd6qbcksnim642py5qs5n6g2sy207apkx9mnhhbqa15an8";
+"isodoc-1.14"="17fqpqlh12khnxyknah5dqc1xhbz2bk3m6jw8jwhpxxzb20njd4m";
+"isodoc.doc-1.14"="1x6k1rs9k27x9xsb9i5a9m1cpx3xfwiyf4iq8wxybvgr5pli7f63";
+"isodoc.source-1.14"="0wmwfqhrn2nsj5r9n0bvb2cl863777g7dsqf0ciyqq8l5lngx8wl";
+"isonums-1.0"="0nqzapahfvqg59zxrgjiyywkh8zb8mz9gdc2733r78rxnz81m1ba";
+"isonums.doc-1.0"="1axq0acxk6qhq42ayr0zjs3356ww3ryidvj2wii2c00isw0qip1w";
+"isopt-0.01"="03skmw4hmib197p3cfbhf3mbhq5hrjavwinwc22drqmca370v305";
+"isopt.doc-0.01"="0jxwzfysw4qsfd1694grnzs2jfqcbhm40w1xlgcsrq2ylgcjhr8q";
+"isorot-15878"="19x89d5fvjpn66y8ma1h24dwapw2x6a4nxbw4ixp7xqkycyhy0wg";
+"isorot.doc-15878"="0jrglpxxks1fbwgvmx0w3fjcnsfbf805jv95kawvgz1ix3mm71v3";
+"isorot.source-15878"="0rfc2jdd4f5yds516lr9m28izg3lbf6wwvpsh9hrl466dakgdayz";
+"isotope-0.3"="066b5jw98ynyc15jigxc1idp79i89hwrq19rdizzx90s6xfnxlgn";
+"isotope.doc-0.3"="00w5bxh4dkph9d4z0x8h6akcv1i2a3b5vfr4xbvq1n8k4i8ss7jb";
+"isotope.source-0.3"="0x8vrmprpgpgbxp3n886yajdd9mv27r9shkyz9mp1bd4zakdgc8f";
+"issuulinks-1.1"="07rpm9kcfj3dxsax8kp5r5mvrgg1c5yrpbiirsk44ybjjkhhjscy";
+"issuulinks.doc-1.1"="0qlz8y0sszp1jsnbbgaj9h2zcz1yqk827pwzccfi4wdj4rcpvvam";
+"issuulinks.source-1.1"="051b05k40zs5amjxnqav6ibdvj64wfhcf16a2hlkaf5kpmpkmh54";
+"iwhdp-0.50"="1snry29lnq4cm6ybwqi29lhyvn8g3zmqbsig0kwnywa92dl3mnl0";
+"iwhdp.doc-0.50"="110x1wm1ii7b5r23zng2dx4ly8vqqwr137gfl15a6v6hcr4zxvqg";
+"jlabels-24858"="03fpym9q84g1b0pns6sdsb4jx78aq7sclr5fkm05ckvkk4v3wmsj";
+"jlabels.doc-24858"="09qa8y6axg9pvma507b9w63dwd2jrxnmd64f5rfd7wpznamhbc0w";
+"jmsdelim-0.2.0"="1087jag55rnf02r9s5v7brfqhqncibq1xr0xjq680lvb62f65ln1";
+"jmsdelim.doc-0.2.0"="12k6m7i81d6sblgqijpizssnpkghq5snf6bq44lkxv1l39flzjrr";
+"jmsdelim.source-0.2.0"="06kp4zsdzi2m26h9m99x6kqc0lfic96cidzb63mvmdfqcf2plba9";
+"jslectureplanner-1.12"="1kciz53cg9p1f710j5rw8pilfmbiz755a24dqxckam98jy5g4b8s";
+"jslectureplanner.doc-1.12"="0lcq9dygfjrs63yjwdkjkssxyfx6phmbydh6c8lcfpkg984pfg5c";
+"jumplines-0.2"="1d5w5nh0pkmhjjjq9x2n4r72ygjh2mrbdr23vsrh8cyvj3xym4w1";
+"jumplines.doc-0.2"="1q0mzjyfj8vfp42f8m11g6fyx60mb33g5n4i7pw9r0dfx8y4jvpd";
+"jvlisting-0.7"="0ry7gnzgl2d6id7xgpbdhg8pj920105fd9qyx1a0riagp0pgyryb";
+"jvlisting.doc-0.7"="16z6amx6czmipal3sbqmdsc1v5x1p4nyy5wxalicy1dki1f4zpyn";
+"jvlisting.source-0.7"="13al33s01bw43sa2ffz5zlxgaqvhj8lrcz8y7x9xx43wvvxjmdz9";
+"kalendarium-1.0"="11f8zkjfxbk5w4y49vy712ivfqx66m86jdddygfjskp47gxcxby2";
+"kalendarium.doc-1.0"="0rbac32h90cnp318a0chj1wfzfrvz2y140siqv5slld90f7d5546";
+"kalendarium.source-1.0"="0virfajl7xr8yiksxzmr68dm11m4240drg7xn72gxbs7jfh48wqy";
+"kantlipsum-0.8a"="1k4ilpfxa6a5prm0rgbrjw5jsr55wyadj8aq1r4hl3q953n64mqz";
+"kantlipsum.doc-0.8a"="0pwwrjffc2525krx7p2d2y0zx3zp2yj4x0010ah8k88ix78h47xf";
+"kantlipsum.source-0.8a"="01p1gccy0a7nsyph5l1g370bsk2d9pxc45c87j88g8zjizllfkja";
+"kerntest-1.32"="15695a4q6ikdy6f9149rblfc4fx25hmpyczgr1z1q8x4s5ar7dr4";
+"kerntest.doc-1.32"="1fmpngs3q7pwf4z284gg9b4cfw55afdsnzg6qpanlryk6czbch16";
+"kerntest.source-1.32"="0gwz65xgxii7vriw5sf1zi4r97prf2c3dwawr3ghhgchmblimf8l";
+"keycommand-3.1415"="062i4fr9h2sc1zy3ybyqrq5hw4g3g54gx708rrznkl4zmpf93ppr";
+"keycommand.doc-3.1415"="0ls9fbm0815aar19hg40p91n1iyyfhn68ndhvapmwfsxhi6f2d9j";
+"keycommand.source-3.1415"="11blfbqdn1a00bfdv3nwd7501pd5qrkk7pqn2ffir1461xivz26f";
+"keyfloat-2.07"="045yciyqnwz32rkpvgp2qnqq7s3sgzlbghb9a20npnb7k9jcnwxk";
+"keyfloat.doc-2.07"="1xpxkigsmzsapzh4rnvhcbdi8a7nfrzwsv89275371dfv8pxb6ck";
+"keyfloat.source-2.07"="08igyhw71x263pdri8qdcqd874576f2gply02886rmzqh26wsn0n";
+"keyindex-1.0"="0fsszjcw1r3kws565pgc5j7chifbkf3dh1hnlclwwsjpxbji4n6c";
+"keyindex.doc-1.0"="02n7lxz8pd49q9nf6pavhs01410zj9pbszqqbmk5c1ld077276x7";
+"keyindex.source-1.0"="0k3img6kb6v853wzmhsrrhx7lrh275ssx57b83vk3yx9m831qwmb";
+"keyparse-1.1"="1jfxrymww3qh4bwgc74dn6v5xwsqc29y835k4rpwglkb14ncibxd";
+"keyparse.doc-1.1"="1i1sklid586igkcbhx1mjljxpq2yl7sd8rqagygqgqsxjzg91jm7";
+"keyparse.source-1.1"="180fkwkm01cspp48a8msmws9bq1pif3i80yzjxs7md9k01hqzniv";
+"keyreader-0.5b"="17cfxcn374q0pgf7bbqwc0yrk6r15d79h39hzbvf7yrgj4r3880y";
+"keyreader.doc-0.5b"="0fp2hv3azi287gz129gqlsirw4dr1d5lqhzxliyzfy8dd9b2cqb7";
+"keystroke-1.6"="0h0ci8pslybspsnpmv73qml22592vp5lr50qqppyhw8qkng22gsg";
+"keystroke.doc-1.6"="1ig565mxjnji3ng8vsc2wa3jyp6mrhma4hnb3shwnrj9g2kvj84w";
+"keyval2e-0.0.2"="05ssgrl08d55in1wkam99bfdfkjhjrda6j96b6nmj61sp97yg3ig";
+"keyval2e.doc-0.0.2"="02ajr27zgfjk5hwmqm05gdapkg3d3rk1k9k3nqm4nbvwhx5sahg5";
+"keyvaltable-2.2"="1wxrxa1qfk9c18vnd75kvw62w3jcjyw8x7z5jbr3854v2s7dr8xa";
+"keyvaltable.doc-2.2"="19262vqgi7d5lyki08rqznpx0442i8z280grs0l8y04hdivlr3mf";
+"keyvaltable.source-2.2"="1j14vyp20r7wnylpmik8zfg5zcbva4rzxckazk21xjapgpy9w951";
+"kix-21606"="0w5qaq50wki5b3s3j7p11akx7mb8z1khchhy6093pzzrny0hd5c0";
+"kix.doc-21606"="1jblprmz9vfriqdmi9ihh3ihi7pc9wf9cp8qfli89iir2xy7lv3d";
+"knowledge-1.28"="0459xp20v02awl3h9ada0j9p0nasaz4fwv4whc6p4hwzzw86052j";
+"knowledge.doc-1.28"="190gy5kj2fypvqa7b2s3p0j25drx6rd665yqq9s2gjsqzar18ql3";
+"knowledge.source-1.28"="16xspjjic7vydd310ldxjjipzwl53dw726693q7kckbfv0vmpd7m";
+"koma-moderncvclassic-0.5"="0kgsbg4is158j1ssjwabicw38mh2cd4n1ggxinflb8i18xsmlgh0";
+"koma-moderncvclassic.doc-0.5"="0f070dxww75g36il70gmrx9bn0f0d3mmh26fmzqb5zmf93hyhcsf";
+"koma-script-sfs-1.0"="14qhq2h6pfjy878nkglbif7yjc12g6q32kl4xfc7kk3kf9syp0kf";
+"koma-script-sfs.doc-1.0"="1cjraqcc13bcq451a36i5x2sbwj97zy4srrpaxybmlisvnza7vz9";
+"komacv-1.1.2"="06df0hx1rm87vgsb1g8b00ak77n6zs34c7mb76k22fis41qmm3a2";
+"komacv.doc-1.1.2"="07sxwgrrik3vadlp9a4lk3jmcqnvfzz5ir8l33zi7sjrapr7mxxa";
+"komacv.source-1.1.2"="0vd6ha60dz9ddmf3rkbbw5h602fkch3zifcjip9nyfs7wgnkg3r2";
+"komacv-rg-0.9.2"="0hcf3aw9r3hr01f9109rid9c1c36gmg9z0258zlqgq9l8qs0bryz";
+"komacv-rg.doc-0.9.2"="1g985pnkhlhyf1285w9g1zx86vldyg45r4dyp1dq02pka5nf33fs";
+"komacv-rg.source-0.9.2"="15v5y47jj0393vkikpv5mqdrrygs66b20gsmp03j6v6iih52w7fk";
+"ktv-texdata-05.34"="1md2iv0csmr5f2mcdlb3lacccwifd6iv7yp6123gra5xcp06k4y0";
+"ktv-texdata.doc-05.34"="14sk7x2va8ja65a65fpksj2nd16v6rc1f0828gmm8j81d13cci6y";
+"ktv-texdata.source-05.34"="1ws256l59plnhmw1rycfznwpndni5i47liqhazddwbg2hragfahh";
+"l3build-62726"="1hs9vba75bf63i5gv2dadaj7zb3770dgnwf12jxxb4kc0f9v2hl6";
+"l3build.doc-62726"="1ih7ywnnmi6dnh04lnzz1nlk9wljiawzlbfwc8x7bcm256fxiw13";
+"l3build.source-62726"="0dck5shywmw3shgmwqshvy6q1prvbi9ybdfl44xif5a7lvfz7p26";
+"labbook-15878"="1qh16jjmpyqdfndfs91nmbfhwxif5ygk35zlsailngpgnp1r2x7s";
+"labbook.doc-15878"="0za4mp2zq9s1z90sgqcvf6zac7w0wqbf8y5w1qrwmlv6r6kg3s1s";
+"labbook.source-15878"="0w7nff8c2ffrn2ywz1dahd8n4cb959b6zf3ka0s913nv04ifdkgi";
+"labels-.13"="1d1lxzif4f3qxkall0qzsn4lh55ljr45zba0xwzyvfbwighp1vvm";
+"labels.doc-.13"="0fl3as2lwdga814fdlg2pwyw600cvrii9hd0f4vscfzq7lmw01k9";
+"labels.source-.13"="0y6mkg18jqsbqj14h52317d1vvzvn3mv89q2gl4i3i89ka3dfajh";
+"labels4easylist-1.0"="10pfzxw0d856ki2krsdpidnfsk27mg4k0vj3jx7pry5cfirx6m0m";
+"labels4easylist.doc-1.0"="145n7vy3d0vk3cq3qd44l3a6hjmazipm7wmr4aa2knxvs4nyvw2l";
+"labelschanged-1.0"="1z8gjaqqydwf0mkbnlbzd7q49fdj8c83pmcwfhi27w5lnyb897a6";
+"labelschanged.doc-1.0"="1rv3vx641hzfkckkjkf31xdb8zx3sarcdpnsjzhnafzy0y1vg8c0";
+"labelschanged.source-1.0"="0n0fdxj14kb1bk8zj3mnhnj6q5nf6h4swb7lwgn8jv0l5z5qmp25";
+"lambdax-1.1"="0sr5im1ag7lzz0rkvnj0biik9z5ww6yr03ykn2w64dg1nf42chf4";
+"lambdax.doc-1.1"="07fgh2x639fj8wb21rygj7yc0c7bcq4sm1bhdrsxzgrwjxn9rbw0";
+"lambdax.source-1.1"="0sarj3dsqm18zx176p6hq3xv717fzdpvipvdlv8l5y5pcvasz73x";
+"lastpackage-0.1"="0wjpjd3b48fj4mqqdx38sqalbaa9ab3c6rywyjqhvrd1pxfap2g0";
+"lastpackage.doc-0.1"="1123lz0ki4kww93952wqrhrw9l2cnk4wrrwyi0dxc5w1yfn2gg87";
+"lastpackage.source-0.1"="176fk84mbb6w5ql94381kz05lh8q8im7ri6rfjff7f4ymfjnh2jk";
+"latex-amsmath-dev-2022-06-01_pre-release_2"="1wghg5677r5h9k8xni2say0xa5cqzny51nykd74vijwasyy7ywwx";
+"latex-amsmath-dev.doc-2022-06-01_pre-release_2"="1hrwhpsmhh0m3wn37hhfy7s4h8ppcf91q8f883ipi7k5pnmk50zi";
+"latex-amsmath-dev.source-2022-06-01_pre-release_2"="0pwyhrln5bfc34rcmpak2fi1xhb47gsm40izpknnfg2wm1cp2f1l";
+"latex-bin-dev.doc-62145"="0kig2hc245vnmhfnpqvxiskbaaqf0fv8j569ihsfr1fv3x94bdzq";
+"latex-graphics-dev-2022-06-01_pre-release_2"="1kgczx7r83485hscbxyr6xfivjq8vcnvg27c3gia7lzrgjsf3hpc";
+"latex-graphics-dev.doc-2022-06-01_pre-release_2"="0nnfgv4jzs2l71ww1mgvc8442aqy9x8jwkmzpsd08ga2yzvp86k9";
+"latex-graphics-dev.source-2022-06-01_pre-release_2"="1lwyvswdayvg7zcn5hbhj486l9w6kf3aif4n0q20hvrfj56jckf3";
+"latex-lab-dev-2022-06-01_pre-release_2"="1mv6yd7dkdyi979whf748cgfph73462w8jqknfbxjq4vkjavzh0c";
+"latex-lab-dev.doc-2022-06-01_pre-release_2"="1czr8p2h86jvj4ph3wa4shbhkd1a61sc9fwawqgmpgcmnbmn1x6r";
+"latex-lab-dev.source-2022-06-01_pre-release_2"="08kzfrgwj0yz71nrrcp7n5vxpgf3v78w09k70g7gsmxijq69q1zk";
+"latex-tools-dev-2022-06-01_pre-release_3"="0xpwzifnvxzixmz0hbkiz5723y3hzf1l8sh3x93j69rlg9856xyb";
+"latex-tools-dev.doc-2022-06-01_pre-release_3"="1xj5qcls5h9dfd79d2ivzqrdnsmav7xgawlmjl4jmgkkssgh6m9x";
+"latex-tools-dev.source-2022-06-01_pre-release_3"="0w435a6bfrgfpn5dmxlvaqmwdjivi1v4435pfa3c5kknnyxp1ac1";
+"latex-uni8-0.03"="1sv4n2v0m3lck7x320cwbay23k7r9fh4wm1vxg9m4grphc72n2b0";
+"latex-uni8.doc-0.03"="1y3p08mni1ng6dyp0g98in7hh3mbzqq42249idy90vjhc177rjc1";
+"latexcolors-0.1a"="1wpa7vw8vphdghdv1ap5ilcgzj5n6vyvn4a6lfvswg2d47s5y1a9";
+"latexcolors.doc-0.1a"="10bbk7bs1km97hpzqzzfasxzp0w202y8w7pwyd465ygr4y19wj6l";
+"latexcolors.source-0.1a"="1j7vfvyj2k4q9drmkmh3mfk1g3vs7czn1x16fx9jyinbdxnwblnh";
+"latexdemo-0.1"="1dw7p679126br9gl9pmjcc0f596314h67dzbbq0ypsd2yb0y7x1a";
+"latexdemo.doc-0.1"="0bnh076zi1mqmvf2x24wp45zndyak6y04z3x56ah0p6z96bg29lr";
+"latexdemo.source-0.1"="0ddchhzfg9s15i9qvxban35ncavcn8bj0dyhkvr3m8g9farv5mh6";
+"latexgit-54811"="1kg9cbz6h70496snqqa2h9xfknm70qf96xyvnc829k5v34jskmi1";
+"latexgit.doc-54811"="09rlc9nprx6590snfg7gakycsam37wmmscybvm48vdn271vvla9l";
+"latexgit.source-54811"="1pn4gv4prwsnnr377xg2x3kf3kmi8pxgczbi9knzavkd53653akx";
+"layouts-2.6d"="1ab9azs06k1p0s3n5zjhrykpqac9fi3kr3w31xmh698zpsg3jq4c";
+"layouts.doc-2.6d"="0ydpj4mbjyg6qy2wmj90rqfpkcq30pws5d11kdr1gcwbzqqkgbbh";
+"layouts.source-2.6d"="10mfwi1wv5v0qdwqj1mh5q8izgavlhclnz2aj8h02ijy4kzgfg5w";
+"lazylist-1.0a"="06p4r8q0a0m7pmbbcddxn5xc22f9zhvl2a9q0iv7ibkvgyy6pqja";
+"lazylist.doc-1.0a"="04x6ai73z7cqs7k9vgicxfcnvslr5812dlzqrspafy8w8qfx37jy";
+"lccaps-1.0"="1iy7ijsfpxcfr3d824j66ahcvmc3p21nl0k94x8bhfrq98qzxmrp";
+"lccaps.doc-1.0"="168yq8y5c31d9h31x081wh7aifsq0bs66cvk464wciy91sxyf34y";
+"lccaps.source-1.0"="0q3jn7h2b1dhdshdj3gxwwdg3gfrz6n5c5sflacgpzc16pn9gbca";
+"lcd-0.3"="1r911gvxiwwh7vvjhgi034j3x49n2dxxvf38zsldmqaj4sccfky9";
+"lcd.doc-0.3"="08id9jhafkmhypjy72d79v2yr2jgm6pjf4yhaw5279a4063a4f1r";
+"lcd.source-0.3"="0vkgnhkc1774d3g7r6sv7km81dvdrbvzdlk7jca6q40nnqw4zbw6";
+"lcg-1.3"="1zgpbj9zim5dcc5c2lf6hy33hzzk8cmirqh8kv60bsvha4hwvzi6";
+"lcg.doc-1.3"="0fnpj3mdxd0v1lrkp2ywb184bay0j6vc5m50jlnipjfjhry68n15";
+"lcg.source-1.3"="1al9wmw475g30jw8lwx709r0p4lq6p2p9n1ky69ncyy42zp79ld7";
+"leading-0.3"="1ky6c51dcx0gsj8f6zrwb242d940cjml0gb258ags5xi5iaq40yk";
+"leading.doc-0.3"="1l31zpglr1bz0gif3w7kqzhd37zpcgjig2ly84fcyk805sf7nncd";
+"leading.source-0.3"="0f4ayaz2m0y87ifddl4622rpf858zmh13xafp53nh96b8pyvcip0";
+"leaflet-2.1a"="04fvi31wwpsnkpsni3r6f9m3vr8b6h71f2znb79aban9g1qvnyh6";
+"leaflet.doc-2.1a"="0f82hm37i7w547jpmxkl8a2k4f92bw29vdzq4ywwllk2hdcq3sv6";
+"leaflet.source-2.1a"="0igkl1rjl14raf3xv631c7sn0mc1smyc44mldwgzgnzxxkv5kzzf";
+"lebhart-62834"="1q6lwv879f3a9k4lfpv0jlx5q1bzpnk6z3c23q4a56zarg8vv9h1";
+"lebhart.doc-62834"="07lbr9l8al5wxrzw9lmh8qclfwm8hjg00kpvbbsn6z6wrcwxib0x";
+"lectures-1.0.5"="0qdhkf7z1rnxm2ql0ywfk11y3aqp8yr1p9202d4ha6729n5pyima";
+"lectures.doc-1.0.5"="1xakcm4mmhl4ahnvcpn7k748v4j2m8p6d4p455claqhf7xg4jz15";
+"lectureslides-1.0"="1x61bpgp5ddgld0v05qb5sg2lwb7lzqn6r65imshvcjz1xbwpvdb";
+"lectureslides.doc-1.0"="1awy6zgj393q0lm195hh8ky51fczm5s19d46fc7mivxyh03w3wk6";
+"leftidx-15878"="05fi4rp3s0s9ank7pphdwxnlnanc2r88dxhyxbz64fb26sja25gy";
+"leftidx.doc-15878"="047a5clwf0r43r1j87k2zfv0pa3nrii213y0zhv5r3zkmwvm1qky";
+"leftidx.source-15878"="0a8rzkycppx8qayqw3s7ndzz2xp4zqgx3qd8dp9s5ynlm10020nv";
+"leftindex-0.1beta"="16p8n98cw5kxah37wv263mq0jg4jq9f2dfzjyy06sadjwsbf4psp";
+"leftindex.doc-0.1beta"="1g5ykrfix8d6k2cg3nsh6fp5ibpgfajxgf9qgff4s99ir2fgyhrw";
+"leipzig-2.3"="0wml5k749fgx3vq10v4vc970h6nqm6qflg2z4jajph1h38kj2ryf";
+"leipzig.doc-2.3"="0znm18pkrf592jfgshmr0d7vk4d4yq4wvj9hqsfg9nrjd4l6a66x";
+"leipzig.source-2.3"="1sxqsgahdr0srk52iqdacsqn7sc73iv0n70nsnpvgfsczmxa2djj";
+"lengthconvert-1.0a"="0zjyynjlq48sywr5gyi6nhryrp8hcl41q1djjp73ingi2h2svz47";
+"lengthconvert.doc-1.0a"="1id32l1ipcilhkk4w9w2q8rfjlk99f5jphvq1hjvqdnhz4q1rk69";
+"lengthconvert.source-1.0a"="1zy9bnibswz834k24fk5srl0ahx4i4hlrqv6vnvwb3h8z71izc3b";
+"lettre-3.002"="13h1jsgjp5k82cq4rpx8gd114l49m1pzplksrwjylx0bzimlzgwn";
+"lettre.doc-3.002"="1w82fhhcdgsxwsnprx2p61ygsyh525im8j1zalcw0bji3i6pm06i";
+"lettrine-2.23"="150hglc6slr9ddy0fxs4r89p1x1fmzafr3anxi2c3qi117mljmra";
+"lettrine.doc-2.23"="06ni6clial2kx4gbzp7jd0x30vmzqhlgwdl0dfrgg88a6d2xdsxy";
+"lettrine.source-2.23"="0jcc7h3nphqivw47wllykffgdzx0hbap374hmmmkxrarmbligcrs";
+"lewis-0.1"="0ws9vk38j3m0sprl9lak2sjlq13nalcysk95gv68h90x04jj5zdl";
+"lewis.doc-0.1"="043kmzddal693kl6fds0xl2wwmyzvd9cqs8dmy1jzp0mdi6qw6vn";
+"lhelp-2.0"="0j55ilp7wn1w8vs60k6iangc9h637f2jrnpshh9glryxj9jjgxqn";
+"lhelp.doc-2.0"="1is5s8iqyb41fr2hr1kxf68xrlb8hqw3v1fifl8645dcgp8lac33";
+"lhelp.source-2.0"="0iyp664cy3n04nn4499ryzx00sr1iip1qmdlpvjx010r7hq4dyb7";
+"libgreek-1.0"="02a2jmvyi04d36v1v126z2mmyqn21vv9s7hblf5l8xsrzrgp309s";
+"libgreek.doc-1.0"="1g8bqscj526xlb5r6y3zsrdsh5d3xq7hj4yj6zhddnwang524ikc";
+"libgreek.source-1.0"="1xpppa9c0rk9bhx9pdq274x2zmyrjr0fr0idj935p9a65294ypps";
+"limap-2.2"="1hdv2rlvxbqm2wnn3x2xrmwxpwbs03qnlfj7k1s8mfpp5smmhd2i";
+"limap.doc-2.2"="1qj9ddllgvm9zqjvfdgg2sfdyfzpp8raf8n1l0zrg9vpiy2imdn3";
+"limap.source-2.2"="0l41pd8xl969ax257lrcnkxs0pzb3q1fmiy8ijz9jfrval3rqqbw";
+"linegoal-2.9"="1arnfkijq4324jzyq2sn681rk9ncbgv6zqfrvlbs3vic8wxj5c20";
+"linegoal.doc-2.9"="0mjpbkf6vw0n4ddd9abrah7rxf51gmgayspy6jpnai1wrzv0aby5";
+"linegoal.source-2.9"="18v5r4hj2jpqay98njcyijwvrbc067c49jrhja6i52ddj6h9q4wz";
+"linop-0.1"="1dff205vbsayq2jfyk0vvbz5yks6gy2bm4ylwwk28wmi55fqjycp";
+"linop.doc-0.1"="134jxv5bqklpdhd3wfbqibsp21jspmq9iv3fik2igwsbn20dzw4c";
+"lipsum-2.7"="1rfz9f6gaha6ccx1s5kij2zkwdkm6i2laxv5r9jyjvsawqwr0lam";
+"lipsum.doc-2.7"="07wwbyj7i8cdnq8g364c8pjfkc0l739932n3jcmkj6vs7qbmkikq";
+"lipsum.source-2.7"="0349nqaglq7cnwi54p35anv7ycsd7a92jd86l6l2n9pmvh7z6py6";
+"lisp-on-tex-2.0"="0g33w5hwgpw7hd62lij0h5n89n9r9ynlxswb34j0aqf3x7nsdh8m";
+"lisp-on-tex.doc-2.0"="0rgjcldb2rg330cp8m5vxbi380xla73jb36nn94b2awl4g34bpvd";
+"listing-1.2"="0kpf5svycd71r8p61y83wx1k99fwxm95qz5fbnqkfrq3c0113h3p";
+"listing.doc-1.2"="1zd0mxh0gxlvqrwxvycqr5yzs5fns0hrkn6g6b4m1v6njv2f9lna";
+"listingsutf8-1.5"="0scs9dnkl2hj95zgjiggn2ikq2nf62q97nnml3hbvmwdargassmh";
+"listingsutf8.doc-1.5"="1s7k2gr69xlxln2yi5wyvd69l2qa8v33d92b6ahgxxpid3437prz";
+"listingsutf8.source-1.5"="1bq197100f74sal26w0r4iv6ys2qa1ylbwbyw3hm9dlpb6kmdmgq";
+"listlbls-1.03"="19v8vx2ffza3icqlj0y710zc17lls87l3k2mkj6lc28qvz0kfp3f";
+"listlbls.doc-1.03"="0pd3812k1rqnq5hmsrcj32x9fk72jw1j3brcm8ajiczgv5f3gciy";
+"listlbls.source-1.03"="0vic2ffczicfdifdhd34ysdzcxprnafs4k9dpjlnfgfchh9jjwqd";
+"listliketab-15878"="088f2lm5lfbns7hd1m06f3zn1cjcbaw427z7zl5n47ahrvcz9p94";
+"listliketab.doc-15878"="1llrdgxp9mghs51sz4jjhbdllzlr1xgnfskask532zwn1cm6f4vd";
+"listliketab.source-15878"="04xfgaqpcskx5m8byysvd2rji31km9c6cbkfzf3ybj4a5bmbnq58";
+"listofsymbols-0.2"="1qp5y4rbnlpaa3nghlxjn5yzhskvan9rg0g45wqmg6yk9sdll5b2";
+"listofsymbols.doc-0.2"="15sr2n0bsvwz6jqgyspj6kxg511jy3fr18705pyp815hg4maxizp";
+"listofsymbols.source-0.2"="1sjg64imcxxqq8bsqm98954g47nfambr6vsyizkz8zqzmnr5vd80";
+"lkproof-3.1"="12bj60lfqlqvyk020lv1l6iinvqx4cvd6lfz4vhblfx3gs3xmcqf";
+"lkproof.doc-3.1"="05sppy6q0c2iangbzmxv5qxla8slc2k0fx62f6n2fg1ncgvfl7qh";
+"lmake-1.0"="1fk98049965cqqyzdl3yl9iblk87gwwrfccr5jqpdm5v6m8mcwrj";
+"lmake.doc-1.0"="19yqngjn320sng4pg835rffk6d2g3c5wyma46x1jr0bccv8s1990";
+"lmake.source-1.0"="1p002ywz3pxip5v4cd346nmpg0gi7wamlcl7bc6f4zvzqp0cg41g";
+"locality-0.2"="1b6xi8zzc9x8bc54bs2s6ryn7g2zfpy1zsdddlx3j8kvmbmgv6j9";
+"locality.doc-0.2"="0z0vrx1dy5qqgb2kx08qc2r06ljqnfsgiz58hpy6ylnlyay39ipl";
+"locality.source-0.2"="16xp8pc62jzgcmdhqpmfi54y5aaf7mx6bqgwslpwixgwym0i69qy";
+"logbox-1.0"="17qbkfkbz35c1a2v3agrpbkk1bxifacj4ccn3mh2w4kv8z8zvww3";
+"logbox.doc-1.0"="0kc0gldcfy4bshfkl7vprg80ywwsqhac4f81f2f0i6ql4jmlqwsj";
+"logbox.source-1.0"="1cj2gb5apapmhxc9vkypnq17w5fhnwdpp0qhi595gm5j5q1wqcq0";
+"logical-markup-utils-15878"="0nc8kgyplffng9429h0g4hynlwwxpcvnirxg7rj62zcjcg5ijqvv";
+"logical-markup-utils.doc-15878"="0x3j3fy8zd2vydzfa47ra9w8bqvklr2im8aq725nwpxbyyg3m8v5";
+"logpap-0.6"="0xrv4x46m54b4gfa805naab6fgpd72fwqnyjjxw0idy9kb3s3x5v";
+"logpap.doc-0.6"="1zb6qyxrqy07m65i18dcli30gb42y6c3ffr22cpxa7r8xmaprcg4";
+"logpap.source-0.6"="07cm2gcnv6d7pzc9d2v3bdvsmykqf00bbw177mqyjaq1chc0xpna";
+"longfbox-1.0"="1cm2zp8sina312n72bd1xza75yi38n1s2ach2f9sjxdx0m5c3ywx";
+"longfbox.doc-1.0"="1wd6hdarh4nm6x4qn789flnq69gq5p2r2pgybsynbna7ywar0l5x";
+"longfigure-1.0"="09pnqp0jfhsg7i8z241ggnx04j452zsg1zqmwy0i40fp2s36a61c";
+"longfigure.doc-1.0"="08y2a2922zk61iirlw24kdsf473sx0b44pjzxihmpcrf19vg2c12";
+"longfigure.source-1.0"="1p10y4nwz9wj321mf36avl3w6zwvspnb9cc92h9jf4iawnqyp8p8";
+"longnamefilelist-0.2"="1nz5n1g65fs7xxd4l0c9xdr2z46mxhb0fkmf5id4hrifrbl3jxbw";
+"longnamefilelist.doc-0.2"="1v8i6ax2qwz7d7mi0bnpyllbqyksdd749s8pr95jfw1fhi07i5fj";
+"longnamefilelist.source-0.2"="1615gzf3rjfr1nlmpgcrvmlzhif13g3kn210xq8p0vsv20irnqa3";
+"loops-1.3"="0hml4j8l5gdz1c2qfpsqdpha5dqjqx545am8x4vzs57ga7j2va4h";
+"loops.doc-1.3"="1jf63snh8bnyi1j16mjs14nyqr4bj4rjbwd3bs1xd30i54d5584s";
+"lsc-15878"="129vlr2gnirf47vs1drcsml3w4jcwg78hmya4r3nspaqm00b17gd";
+"lsc.doc-15878"="09faqnv9k96nwjcvgmml9f02vdj5hadbmb1lp59xk6jikvybv436";
+"lstaddons-0.1"="1yyfgn2bdlb5gjb2qicx837wl03djpi2cwxzds3bp3n37h52k48c";
+"lstaddons.doc-0.1"="1lxcah5zmmgv25hm6a3yfls7ysgg9dfzdbc3whdvw11mh3pwkiw4";
+"lstaddons.source-0.1"="0bbppx159q28sak5i6hj6zm1kqdgcn61a6kw4gcvhj536vnd947h";
+"lstfiracode-0.1c"="07fdzwb4k0dv2mf6yl31h58i61hmw0gfpgrjdnz3v2rnw1ip8kgq";
+"lstfiracode.doc-0.1c"="17a8sg0srw7096r3h7qa23msi6pq0dagap3a0rcpclp73z3gh3wh";
+"lt3graph-0.1.9"="1w5n9y7pqy5zmn6w9bx58nnawvhp5467d150qxnj3c92gh0qbj5i";
+"lt3graph.doc-0.1.9"="157y7a7gpgm6dc7hawdhxr0v3ns5kibykhkg3wfb5r5fay47jj4n";
+"ltablex-1.1"="11gazci0c064iav6124v4szdbj38anqwnfgh8pfpdq9zff0h9g5n";
+"ltablex.doc-1.1"="0jjd5f3r67lrbl4vyxjakm8l8pdrw9vm1dzhl5305ga8vvwb7gn2";
+"ltabptch-1.74d"="06ww90fh24s6lmzyvmqjh5gcr7vp3lq6cg9q6k6194g4kay6yx5i";
+"ltabptch.doc-1.74d"="0yb41cgqpgcxk27259gfz14v9bpndjg51i9nmwr1qwyvaqd6jvjw";
+"ltxdockit-1.2d"="1krcr5qlz0648ibj5c1jd0y4rf6rg33r0clyvdjm70kq26y1lqww";
+"ltxdockit.doc-1.2d"="19jc49p978z0hrx7p19h33nc65a7vjhlrfszwvr6mln01la3ivmq";
+"ltxguidex-0.2.0"="0qv1p01y18ia4w53dvlfhdrgy1xsicaigcas33xs6yqipr8cwgkp";
+"ltxguidex.doc-0.2.0"="0j4h20bblkwgdjvr2ihfy32mzyb9parbjgiijqf9sfg2k2p7xpib";
+"ltxkeys-0.0.3c"="0yc0c6hh8aiqm695by6229qqhv7ym1ssz6gpysy6hb10qrqbywkx";
+"ltxkeys.doc-0.0.3c"="10v6gw41aa4ndw2x4rwyq9x66hsdl4l4j0682dcfm4cpc903caga";
+"ltxnew-1.3"="1sidvpbqn5b8szbgysi1afbw5lw1cm8ivhq12sig0z4z4ljp3qf5";
+"ltxnew.doc-1.3"="1f69xq5753iszfa2yr6dfmz1agic26j4qx7kkw9j23nhm7f0lvva";
+"ltxnew.source-1.3"="000dh3d8i57vsa46np49ml0sb4j1n3gnpcfi1ghj7pz5bn9br8w5";
+"ltxtools-0.0.1a"="0ldvvkvyw1khfvg80ana7wj20917sjzf0lsp4699hf4jvw71w6x9";
+"ltxtools.doc-0.0.1a"="1j51wpw06jz7xb6qf6nc52r5fl31q6zhsdm3v2ngc1hd03dcxpic";
+"lua-check-hyphen-0.7a"="01q4j9bb19lf838pd7l26rkz1xr7mxcx4fsgf5xd4sdif18h56qk";
+"lua-check-hyphen.doc-0.7a"="0iaihbrppn1ap7bqvn37rk8b6m4lwdi8w4zkshiqya1mphhsfjg2";
+"lua-physical-1.0.5"="1rkf3cgzw6lyld82p8crv8h3swk4acq7b0i9c20q5dksrxcr7vmh";
+"lua-physical.doc-1.0.5"="10kzyj9k5fqi0jjkah3xx2cgn1ssvc3byihvs66qpavd2gz25vg3";
+"luatodonotes-0.5"="15syf4k00shgi159j6ja182k24xhfw71zk167wwmy57y7kwm5cam";
+"luatodonotes.doc-0.5"="1jcybpcd500lzkwa33zdmsq3svb9hrh8f56j4qgwm9cq4wb721f3";
+"luatodonotes.source-0.5"="01km6y8ajgaaab9j1bdp4s8gj3iw5b7cfdl1yngp41ph22888aw2";
+"macrolist-2.1.0"="0yrgy9q7bjclww9crxzh3zhnbsmkjwncvvdm9nld2qfmg4spsis8";
+"macrolist.doc-2.1.0"="1161aanidazgapb9vl3mm9j0j0jfiny9fx6il3gbyprw6j7k61ad";
+"macrolist.source-2.1.0"="0b3hc75lwzk9l5nq804qbpmaxd9zlrybqdfyg9cavsvyjrjh87i8";
+"macroswap-1.1"="0p35inib3yiblfhiy1cpvwahiqrr309fks7r515s21ybmw409v05";
+"macroswap.doc-1.1"="0w03lydl6vwslr17h4px8ddjld0dqs5zd15sysv0hvqajw2fs0kh";
+"macroswap.source-1.1"="02zfswma4h70swyy6znvhr54a38wq1px3f5ypz7zy1k26nqi25r7";
+"magaz-0.4"="0ah5blj8qfjqgnmygn35r38nj20sjyi6yjci4j9b90d8pz9w7d6n";
+"magaz.doc-0.4"="041cb5rqk5ldvbcqr8w7jnfi4krlc7g72ygq5j7pi9gy04d98mm0";
+"magicnum-1.7"="1bl7lhjk9glvbcn4lqanb3zprqigvxj07f5nm8zn9vpja90fyn6n";
+"magicnum.doc-1.7"="1as8l73v9bamajin552xb4xqs08ik8sq22kqdc3psisv4f874kk6";
+"magicnum.source-1.7"="1kp0d8wgphbh4mkv1qf9h2c1f2nkzqn9q8fln4v35yx2cay679qs";
+"mailing-15878"="0x2mgcmfmppzqlwkg5jd1zfyvfdjnrvnk8glby93s5nvp6i6g8c1";
+"mailing.doc-15878"="1aif16654381jcczmfn44k8v8x60clq94z4hcwjsqhai6s441hbr";
+"mailing.source-15878"="1cx0pq1qmkn6k09x1r8mx7dmpwvdvprmvwj45p1k7mmfcvq2834d";
+"mailmerge-1.0"="06z9cb353sl9q6a7jbvwwdd0zk3kw5xmww0r3sjiqampxib19i9j";
+"mailmerge.doc-1.0"="1dk2a71x04nbc0rcmd3axhz8yikzlw9ab1nd5k1ki7pmclwkscdr";
+"mailmerge.source-1.0"="1qkmlfc2dvjhrh2xcypnp9wansxrb9wzvniwfb7sll2bxjcfbs8c";
+"makebarcode-1.0"="1ixhl4k89mng2dqfc0wa0fq52xpafp15gghnyx28d9j1163wxr7d";
+"makebarcode.doc-1.0"="088wkffs4b8y0clgcx1impzbxck8klm32dbf6p1jyc2vpi848irk";
+"makebase-0.2"="1nmlgv76zy1ajfzbdv7hizby3hhciw41s10hbnlbrfdl27w14dpp";
+"makebase.doc-0.2"="1vxwgjk3dj853qbvy2fyqzni2qkkjhslf17xvxskq97w8fcqr13j";
+"makebase.source-0.2"="1f8aliax01b9ir5wzk0bjhqzicl26xa63khx84s9haplh183qk2m";
+"makebox-0.1"="1v2xpiabjcgyi1d0ifpvzcll8y01lzs48bs19nalv37jw7hkrr4m";
+"makebox.doc-0.1"="078bz2pism9harcyb9lq8kkrkq984zx2ya47yhpqxnrd85kgcxfb";
+"makebox.source-0.1"="11gjpqmc6dzccv3yc539ki64hzpn8ns0zzjvanw7afbn5bkyrs91";
+"makecirc-15878"="17y2hm6p280azgjvskyig34jyj90zngswcgxc7xa2h8pljh1fqka";
+"makecirc.doc-15878"="035l3s20mvy61rnmsxy62k6iid8lxzwhbkyxa1hblfnmya7rs0xf";
+"makecookbook.doc-0.85"="1abzwzsm2jh11qj2qr31bznfc344ynjrdagqayrcgifg4725fa0f";
+"makedtx-1.2"="0yir2j268vdaa44flps15l739ngv97lws6n6yk3w4pz4jn5gylyd";
+"makedtx.doc-1.2"="02ir7wf6v6znly9c36z8k0djrzpkd74ssphkggmp8fj338fk41cj";
+"makedtx.source-1.2"="0jwdsfx2l8sz8y90bz3gfi51vswyzmwdvfmnlaa2gplhcjjbv4yy";
+"makeglos-15878"="0jp0207q1p0znw1w86g6m8ifkpgh3hi1yhkzq117kwl5ybswq8w9";
+"makeglos.doc-15878"="18zl45jdpsvvldxvfx79ijldh3g03acw254m6i8a3dxgxj2p76hb";
+"makelabels-1.0"="18gjnhjvhaa6bdsangr8fb9yms3kq27wa7n0pb1rnqd8l00kp0aa";
+"makelabels.doc-1.0"="113dyl3k5c32r9k13bm9kndmbvq0pm9v7k94d9y1ba7xiljh0aph";
+"makelabels.source-1.0"="16dcm1mrjxdxby7szqf4h534w9g7z5klx15jyx9s568c4arnvfyj";
+"makerobust-2.0"="0nm751w11p7cqg8ihckn338i6908kcn513644c6a1qc9rg847hlp";
+"makerobust.doc-2.0"="0bidk4f0q6486vgwqvifzchkn0xi1l9j65yqwgcdnl3yg6vamqzw";
+"mandi-3.1.0"="03xi7a33b2gmbgqikr40ncvnamacs3f72i55kfznfgxnk1v77ljc";
+"mandi.doc-3.1.0"="0k66660qc7ig2a8cicgcvvrjyiybw1idfb456i6jrsxs4c5vijfp";
+"mandi.source-3.1.0"="1a559lvi5lyss1vj2zcq2ajjhc1m3i1x867klzr7xgmcyq6iifky";
+"manfnt-54684"="1fzfcvifh013xs6dm6xq2gpvmf3v0qn8scrbjj3yak2ba98bcy18";
+"manfnt.doc-54684"="15rs74sfnyq2k27bs3dvjiachwamima3q4vp0dp0ic95as2n61gp";
+"manfnt.source-54684"="1v3j47xa7k66dadz8dyy9gm3k4s6465zgqpzb320isjpb77p7r48";
+"manuscript-1.7"="12r1b0hqs1kqdxvyg8lv8yrsdycfxs03j0lwfmlhbg6lmgz32pss";
+"manuscript.doc-1.7"="10dczs60ncdk5z76w5jxgis9m9qilxp8xi53gixki4i82yd4l9va";
+"manuscript.source-1.7"="08fpv1i9vz6fbf9vy48k6y45xz67kbqb5f30c8pxbvyzlicixdjk";
+"manyind-49874"="0c5badlrh2321958z75wi4ggb289hnyy0i17bpf4qw9sjym08pz4";
+"manyind.doc-49874"="1x65nnkmqp2x04n9rg2n8yh324vdbcsbv68xfbb3ppx2462wrls3";
+"marginfit-1.1"="0x8ias8bv1zaavin929782cjvp7aw94r18lqvv10v3vgq20n7kjw";
+"marginfit.doc-1.1"="1cj1fidjvvhhzn9fxbvyh75dfb78wxi83bdxnwbpc6rf3ax5bl03";
+"marginfit.source-1.1"="0rrn2lrqg3a1yz6l88qkh8sljr18p1wx1vxyrzg04pzj21lw8kkh";
+"marginfix-1.2"="0arldbc20d1sncwanx3szam53yv1d5wxgihj8lm4jmda1858bmgy";
+"marginfix.doc-1.2"="0kk9cghi0y1zfk6ya3pfs08npdy7v95i4db5a89v2177cd6z7a78";
+"marginfix.source-1.2"="1k1384nxhiywlvyndnvhj6a35q433ddc019ckf8al2b1ngg13y0w";
+"marginnote-1.4b"="1vyv2n265y8j8r9ch7h9qjhwlmlzmqx62gc4zzm4zxrk0mvigpa4";
+"marginnote.doc-1.4b"="1cl1xrb8d7dpr4mwa56664wdkabzx8zr8cn6kxcn9bgl543ka3bc";
+"marginnote.source-1.4b"="152bwxhnssj40rr72r6cfirvqbnc0h7xnagfrbz58v2xck53qhg1";
+"markdown-2.14.1-0-gb933d81"="1crvwkf7jw0mqra9saaiz7qsy53h4zfgfplaacz6bvmwv40c2zpm";
+"markdown.doc-2.14.1-0-gb933d81"="0lb9db3m3mjih1ng47ycqlhaagpa30p9szjm9bi5nqpvwm0n40gy";
+"markdown.source-2.14.1-0-gb933d81"="1kw8j8sk3ql75mpky2rv2bpr1jjl2w3qy43ws3fav62mfypq9d2m";
+"mathalpha-1.143"="12fsn6wsgixbpnay1szkmv16a2wfsl60nkcbyjksy1j06gr0yf5p";
+"mathalpha.doc-1.143"="0ryvikvngpgnqbcf5mp4g99cg0r72x53p7q6h333vd3s2qjah7x2";
+"mathastext-1.3w"="078rlq72ivyavgmghk3nswracjhp3args4z2lv61z22x4q9qhvbi";
+"mathastext.doc-1.3w"="0zpxl6kk0ljyqms0vssh5myd60g58wwqjx24z2n8xlncassbsnn4";
+"mathastext.source-1.3w"="14q68iv2y35p0i3xz59b4nljp2r2a7j6a6ww494nbifsp215xm47";
+"mathexam-1.00"="11rn665k5vg9w9rfgcp602v6cg659d4c22gikkgjpslc7bzrlrkh";
+"mathexam.doc-1.00"="1lv8zdp1fajq1nms16v3nk7f0bc8az525nnjjjzags4rpl8wkzh8";
+"mathexam.source-1.00"="1p0lalc0ny1zb8gc4bbg7z9pm6airbg63l1k0qqmwg10wvxpsjn9";
+"mathfam256-0.5"="0s97k46ysqvgs6a8aq5q8iwab390s90drd3g0ixd8zmv9a4hy1z2";
+"mathfam256.doc-0.5"="1zk42fsknkbzyx4m7xn3yjw9lrdvf6m7crnqsp1q7qb2nv3hn1br";
+"mathfont-2.0"="0j5rmh2z04c819zdmpdjc16iwh7v1ss7yha1yr3q3asbnafwd6dr";
+"mathfont.doc-2.0"="0q5v33022r6zglmmvq5z5zkylf644mw6isw95780h7by2skincs6";
+"mathfont.source-2.0"="0qzhi4q3zw0xfd9n0bvyqyl1y88yy8013dfqpziwdbfcx2nm674g";
+"maybemath-15878"="0qb9nr6m819axi9qn8i32fynlmkjvyvc45gyp6pckwj54kxzx06q";
+"maybemath.doc-15878"="078s9v2bly2q802wdidzpvwaqfdkz00wkgyhn6867bkbq89g4aa8";
+"mcaption-3.0"="0bfcl1swwgz83y4f80a1kydmxhdyqxld0d5cjfgxfhnn9dxp3wc9";
+"mcaption.doc-3.0"="1afldwg6dghvkwd8gik8dmag4g2pb6ag3aks26qi0ygph05j9cwz";
+"mcaption.source-3.0"="0i6sd9vm1pn9h570am4lkr2br81bhmqqwwvymb8r37xpmmp9yvsk";
+"mceinleger-15878"="1a16g83g9wd5vdx70bq8zbr4hwm8fk46dpsna97r9fgh44n85pv9";
+"mceinleger.doc-15878"="09z7srskh57mz055ywyxwg4zcx07vq36jdy8z9w6w74af4icpll9";
+"mcexam-0.5"="0ixgrxw0fzaqbkif05lvd3z6zlwhdlyhfb372b98ypyfp7f7v1mf";
+"mcexam.doc-0.5"="0wi7zjiw93hv74scwz4w4prmy00x6n3ncwfrxjyxn2p7i2hkws6x";
+"mcite-1.6"="18did9achsp32k7wq4q75a9q43jxdm8k40q41j242gndnkn8axw1";
+"mcite.doc-1.6"="1gdsa91a4snk3f22mh06mr811b1kb0vpi30ss84d3mrnsvd1p0ha";
+"mcite.source-1.6"="0q1bv5nx9xf6r1fvgnxb1x720dm0xqrqg3kya0504q8qb0kgxqfj";
+"mciteplus-1.2"="0xbk5zrd9mbk4xid03j7a0c96s311rb1vjawhvk5waqw9y6dn476";
+"mciteplus.doc-1.2"="15aldir7viryb2f8vi0a83vgbdwbp5gcdg0slhp6j6ka6xv7ayhs";
+"mdframed-1.9b"="073gcxy2s8mskf4mvvs1jr8fkijci1ayg0b5r5xzcjw0s5azny1m";
+"mdframed.doc-1.9b"="0m8k7h5c0h1fdrpdf2a4vhgr8saqspk81c0cdjm2cmbsfm8zlc3s";
+"mdframed.source-1.9b"="0p96sl69p5342yy9fgw5cnkfi2xabdwb74mw7i1gbxvj0vx1f2q6";
+"media4svg-0.6"="14wn0cmh9d9yzqyqspl14f0rhsmz6jn68zq91yi54xyvglj1fwgs";
+"media4svg.doc-0.6"="16h80237dyb44635g1ydfbk0mgs4g7aa73g79kzj2ns550xa4i46";
+"media9-1.24"="1r36azdlk7amp6rfwnpyr2smsyf9b8cyi27chdhs7ra6dypk8b2b";
+"media9.doc-1.24"="1x5n9qpk388bhihv782lna9az3zd3g082fjghih281wvhgx2f8yf";
+"media9.source-1.24"="0lby8w91av5svhknx82r1yaynpqvz1y6bzjy08p87x8ba9h7q730";
+"medstarbeamer-38828"="1cndcpdvkdvjx07rfan5dd7yg6sv532b6vvd97cm7ag2g1aqcilq";
+"medstarbeamer.doc-38828"="0i995yaqv91h4iv3h7r5m73vb7xvpjkzrh6nddcjjcsv2gvpjcxi";
+"meetingmins-1.6"="0za2aqj7gbmxxdm3hqkq2sqkhl3c1q8a3s778hw164dfpi8jx85r";
+"meetingmins.doc-1.6"="13kqp3561k9pcz7lmh7izmxw8iqq0s1jlhvq12dh00wvr7vwr8dr";
+"meetingmins.source-1.6"="0fkgaqldjdry08wl8al8d0kppbsqqhig83mgwfk20rzpji298b5x";
+"memexsupp-0.1"="0h3n1bnvyxr0ylg05fm819lzhzd7kbip5p5mr9kc5af8pd6yci9k";
+"memexsupp.doc-0.1"="04zwmw6varldbg5cxzk4bv8mbh80i9gdysfxpn1i4xb1la38b0bf";
+"memory-1.2"="1zgfjz995jbji8hycizbp614dn0g13rimh9csgrga86f1ivgcpmx";
+"memory.doc-1.2"="164nnsi25jk25p3kh54w2l8zk0rri50p0s9g4r5f50c3wzxi1g4h";
+"memory.source-1.2"="0mhxxhiqq5miqskb6c4hmjdjki280yyin2dh0md59ai1aprgd4p7";
+"mensa-tex-45997"="0gg38ls6fil67d0ln2yfjbpi2r6cbrnavfl926jbpxjfh4qxvqcq";
+"mensa-tex.doc-45997"="05krm8b1ylr8wjr0xy361whm0kn6mj4y6yrycjj47927xnij5qfz";
+"menu-0.994"="09mnnssvb83l1jhjbb4rb6lbzhwf4y4y0mq5h36dj4h2hp4qfi55";
+"menu.doc-0.994"="1g0ihkjlnf9v90x39mm2jn2ziijildyiqfda5bkm441pjh40x0pc";
+"menu.source-0.994"="091a0akja0y153lhhplb4v0n4z77qvxh9nchlr0v5sm9bbpvpiyd";
+"menucard-0.1"="13dirr45ysvi196wgsrdrcxspynzvrk88rdacrfq84l4imbsh683";
+"menucard.doc-0.1"="0sbgrk1l2b9mdhiymwvp6zci4nb86rn2r06chdbhgy9lzija4wdv";
+"menucard.source-0.1"="1pg4c26pij7p218a0r6mcwbmnsgdj7i63z8z7gq71i8jqpfcmlrg";
+"menukeys-1.6.1"="0cj7fgb05bwacxwh7p326d0gcgvkpxikbqkqgcbqz0fjsa7hl28z";
+"menukeys.doc-1.6.1"="0ks3fdxjc648mcp91i3jiph2zaaxghpkpnaknx7rpcmfyha6hlb4";
+"menukeys.source-1.6.1"="0d89ldwlkz41d4ai2vimpjq5vm4w9zbwgxvbqdx1zssps4fxgqff";
+"metalogox-1.00"="0imfkjfk1fbcpxsa3hfcn9f7i3dq9vmjzhl82v1c7i9h36y60jsm";
+"metalogox.doc-1.00"="04zvsg40zj93399hdn7w5cf1vavdwk2pzji4k647hrp4klcqv94w";
+"metalogox.source-1.00"="02yd2vz2m4iy6ndcibgvpxvfsq8hncclrf9ggfkb376h8x6vcy34";
+"metanorma-0.5.0"="17vg55m4yj3xcfgvmm2kw8a81fblwykgnbcn65drll10b89wx6xp";
+"metanorma.doc-0.5.0"="0z3mr4aw6gqdj4621dlghb4bsc5i44mlg81w81by98783fn4xdyl";
+"metastr-1.1.2"="0ci2qs1iyyn55zl6n12yn20xsff42dim744sjkxml7xad38vpnkz";
+"metastr.doc-1.1.2"="1jhvf4xngi5mjycbrbijn72p8anx15r1n6vh5hrjai95xp9jn88a";
+"metastr.source-1.1.2"="12rv9fayml2kjy7rmdh6d7g4xr2yg3r5ngky467y663p893nxk0w";
+"method-2.0b"="1aafzyca2l34p8jxgdhwm54yw16znd1085lx58wrm2fjw727946k";
+"method.doc-2.0b"="18sjh2kvy1f3c72w6k2m60jf60zbz7bz91xgq20wjigfagdmsqkd";
+"method.source-2.0b"="0ckvvf1h80mlzyqbd12yagfl8hph9l7k35mghr1ri4k317sm3ls1";
+"metre-1.0"="0vfb01vwb6x5wf4sq5j1rrl3jpzw0mwfqy1jkkirxkhbim5gln25";
+"metre.doc-1.0"="0zkr3wymlzxnk2n9h6nz65a1gsg0k4pfabdrkc15wfdn0yczicj1";
+"metre.source-1.0"="15cvprv3zg5nfsd5l5sj2s2hgx5gljn1jqzgcr4lpadpans14pkx";
+"mfirstuc-2.07"="1inw183c6ixs6i61vr5biwardqdk6jm64pkyj2xwzbdhnk249fhn";
+"mfirstuc.doc-2.07"="0gpjla3drdz8lczby2jdpdvbypk6xg3gmnacfzhay1rpsbl7s8pl";
+"mfirstuc.source-2.07"="1sna32ya18s85pxii5mci4zjkjdrik6av5slqw7hqa9xyyhw2gbd";
+"mftinc-1.0a"="0yhw7zpmbc3780qm46p5sc2qq71s2vhmfmi3kqscck876h4935fy";
+"mftinc.doc-1.0a"="0yxpbp501d6vwsxpm83zjhypvz3xz51f91q414zxjvsy1cvvprr1";
+"mftinc.source-1.0a"="1zamx3658d8vaik5w30hvia5y0hp119vhvqhj4h5kkwnwmz8hs45";
+"mi-solns-0.6"="1bv7gr2wa11cbsznz414x35n5yy5jw7q9kngnb2h5y73v8bnzvc6";
+"mi-solns.doc-0.6"="1byfb723572whq315zwybwm1bcvcn49km80gn5bi081gy81r75hw";
+"mi-solns.source-0.6"="12xrddxlrngjnk0yk35spk886yd9p3nnz6jrp51dfzw1xz6pkivr";
+"midpage-1.1a"="0hh4r2sgdgzm0nryzqymd66a7hr74rvcsn58y7dc7di6mhikrysn";
+"midpage.doc-1.1a"="0jfw5wd6qbxhf90mpi8fmv0nbazkbg9h65z91613j1ynqqf0087y";
+"mindflow-61843"="0q7i2bki1sh4jngy6a3888hnzyqwkl7vkwljl7m8dmad1rg6ghkv";
+"mindflow.doc-61843"="01czwpi02jnlfaxl18k66bsvl4hvh17abjd9v38pn19zccl3x7p1";
+"mindflow.source-61843"="12pln12fjckn2hdyfwc9k5nc3xnxpgbqi150ngcx825ss6qps052";
+"minibox-0.2a"="0r94l5sy4n97p895xk33ir3dli1ngy3p67w2d3i7f6hi6czvykm2";
+"minibox.doc-0.2a"="0bzd55wkdxw8spw4706nj0sk478zbnvq9cnkpid638cwb6csb21c";
+"minibox.source-0.2a"="1dm8p6rjivm0xxa7px5dvsnrqs48zwn2kiq3vr6gdqmiy0ld1v93";
+"minidocument-1.0"="1mrzcxa59kpmrkhnnv08z7h48bj74gk2b0q3bvhmvddd6047yxwy";
+"minidocument.doc-1.0"="0dl4l8skhz7fm23mpmgmy593f34w78mm5qwab5bc41sg0xc0lyy3";
+"minidocument.source-1.0"="1n0qf2r1mjp8vx3s750fw5h2q51pp3qxf90gds8bzq2cv6mi61sv";
+"minifp-0.96"="1vpq8mh443hhmnf5cgj37jm362m90zdhm55jzqh1x84dadqpmivf";
+"minifp.doc-0.96"="08f3hp3knyc37a2fy87i11q62dlb35ri197gxm3ghl5h28zvzpfb";
+"minifp.source-0.96"="1l837v8c70s8x1xn4xhag6nkfpayamgzk95fb23qw23xpf6zp2wv";
+"minipage-marginpar-0.2"="1qpymibkrwdbyf2rlvfjj0g8agxisd2ym3xi7lzx3g953g5whg5r";
+"minipage-marginpar.doc-0.2"="06rivjd4x8mdpzv9h1yzkjbs317jvxa78zbv1kzyia7fps74wi1b";
+"minipage-marginpar.source-0.2"="13k27b7avz3v2jadjh84w74rsyh4gz2x22b8j5lv6yvrjnwv09f6";
+"minitoc-62"="0v80ga66rg4cgifmyfa5vq52v5wz48lj4js0ym9197x2w98ra6ry";
+"minitoc.doc-62"="07dah8lz54ccvrgigrvgcmbj76ppxaismbllfwyxcgkrkvqzxqkj";
+"minorrevision-1.1"="1mcgql832xmgpcwha6l0d282mhyva6xmyf75gbb6inwbgg6qkv9m";
+"minorrevision.doc-1.1"="0x9lw8xzmnn015n9hyzajnl9gicafj06gr2msk6vxwk136ayqfiy";
+"minutes-1.8f"="0yc7dkvbn0g7gm07h9r62ma3aagbgparrlamh462a9ckdc7jzivp";
+"minutes.doc-1.8f"="1m8blswmxhcm2ya966ajknx9arz3yh1sn62wnyxls220af3401ss";
+"minutes.source-1.8f"="12qvfyiscs3y1wk3r2mdq7vgkmz1ldsbg3wz4agib97lc30qqmif";
+"mla-paper-54080"="0yzfqb3x58qzw5lcyw3f6c3xyd98zx7zmz9j2rmv42r5wj1g668p";
+"mla-paper.doc-54080"="0kzi1gnla04shaiysrgyz4ak3l96h11shkrxcj0hbav43ndj2xhl";
+"mleftright-1.2"="14lvlhhjj50v31lgf7ywk5dx7d5gbnivssl15qzpa6s619q2h6l7";
+"mleftright.doc-1.2"="13vvfx4wxvf5liv641lwdm3hdba31rfrwsmirl36qwbrqsrl8xic";
+"mleftright.source-1.2"="004ficd5chakwcklbdx83qp3985s1imlz5knc7f3m51zxgr4lmw5";
+"mlist-0.6a"="044pjvbyabzqashbzag37ymqa9mr0c1qg3p7rb1j91r0y5s8ra8d";
+"mlist.doc-0.6a"="1vlxzzg6f3jmcmp8fjn58gciywc2qgw9v1kxpm7qr3vlv40pdb13";
+"mlist.source-0.6a"="0jim2g5qc9cdks4r3yi67hhszx3kkh26hhc0zgm2kx9syhdjv057";
+"mmap-1.03"="19hnkczxhxcr7pa7880mfgjfhjwiyl2yxhfz67dsrljqsfpi19nl";
+"mmap.doc-1.03"="1f861w6clfn3k8gc6piil6bq6admbyr4kxqnkw8hh29s63rdn76j";
+"mnotes-0.8"="1vzc4p8vki02himcvqja44lv3rhf9wh9gxi6aw39g7qbf3j9k28c";
+"mnotes.doc-0.8"="0wwf1651zb4jigmg2l64wh9j0y68fppfzn4gaq8apn5b47b68vl9";
+"mnotes.source-0.8"="1ihlcxhzms48lmqy169qx2d7cavwwf4k96q93cd4dxrxdph0ccz4";
+"moderncv-2.3.1"="1icns5fym56yp1wymsf50cl1wh1vc9vdix7lxapp18prx3y3kf0s";
+"moderncv.doc-2.3.1"="1sj75g51dx8yd13ywyyhs8r135pgg5jv1h0zshxsdpj7b7hbdxf1";
+"modernposter-1.03.1"="1qc422hbqiyy6b539r7kyrshcja58mifdvs3bva1ikdxanxhnaq1";
+"modernposter.doc-1.03.1"="1z9b3fanm97c3ik1q6v06qfwrgqcqwyi79h5dlhcnpwsm5dxqj0s";
+"moderntimeline-0.11"="10alhs944akmqfslqzi09436mmnjz8nm85r8jpjwpfcx28vfdwnh";
+"moderntimeline.doc-0.11"="1bnz01q5rib9gr724gq6saxvzpg3lfmimh14rw5fn0fcn9bxlwsl";
+"moderntimeline.source-0.11"="0y2kfxcpacslpn1ly6anv0hlil2x6wlsi37w9b8hj7xfx95qh51r";
+"modref-1.0"="0pd0qd9yjhvdl3icrgl40lgyjsgahjw1jgc2ah75bfcwj02qm4v1";
+"modref.doc-1.0"="0caqpnyg5gbv3b6336w59nn0w9ic4p12f5ig2n7r6kg8ydhp53d8";
+"modref.source-1.0"="0n28d6x8w9rh3hah7p1imairyyywssajg7zwssp03dla0xlgxrql";
+"modroman-1"="17ijrx7f87pbkwbyjwigz3jr85fwzq6rr0pz1591fk9i36jhjaal";
+"modroman.doc-1"="044v0nkz0h1c7xsb66kmpqvr5gg4lg1qkx1x2qm9ijdpsbc4zsng";
+"modroman.source-1"="15xy8jpp2ac07qq0nl3nskpv62c59xb8qkl51irvpb0m01d97y39";
+"modular-44142"="0khqcm28cq8cr51wmyv954zy85k9dxvmiszz5w4izxvyk14d56sq";
+"modular.doc-44142"="08qhmna1mbra9395gvaqbaqi3rmyhhckx781x4zw5439z2bpmg39";
+"monofill-0.2"="0kpzszxph3bx34flvhz746xkdpcc9mj0srifki9y8fa6vgsk2rz1";
+"monofill.doc-0.2"="0czdlvrwav8n3p9afa40icddh37md6g39kmy02vcnwmn9k3izp4p";
+"monofill.source-0.2"="1x5raychfhcjibln59x01fay8r25fwxba4lwi0bnd51drvzs76pn";
+"moodle-0.9"="0j7xxp92c4j66h2bg5f6pkcsgqskldbw5d125iahiy5hm3p4lq4q";
+"moodle.doc-0.9"="01cwv06w4f06ykspidm03mbqr97x42gf1qysnrrcxgs3hpfj1vdz";
+"moodle.source-0.9"="108fvgc2fvlqwjabvbky7y8sqwi3hn0f5vc34mi9lzsn2y1j8xr8";
+"moreenum-1.03"="0cjq1a222c813l93yzf9757dcai55vh24r17cv6awv0d1xf6jggf";
+"moreenum.doc-1.03"="1g71dcnbcjb2x8ilhyfbkbb55x8740pz6n9gzdd8h6kyxm879zvl";
+"morefloats-1.0h"="0zdlkd53zl0y69d3manicnd8ch8qls6jxgr4mncqg5r57lqp10kd";
+"morefloats.doc-1.0h"="09xmhl2zaxzyvys63n6r71g6qp281f6y69gy4zbkjwb1n68js1i1";
+"morefloats.source-1.0h"="109wx7axxf1pgpxq34pz9i1cg357il0rbz8h0xqacn2yykh9q565";
+"morehype-r0.83"="1yssb0c3l0sqyv775mjnbba3wv1h6497x125li68q8iwjc529wdr";
+"morehype.doc-r0.83"="14s0bvxj2fjrkcrdp576c0ka1appg9g4ri4mc2isfb73yc6bmgh0";
+"morehype.source-r0.83"="1sljhzy05akipng9lfajapvdm8jf2jf50v1awl38ld0wfkdqvcdq";
+"moresize-1.9"="07vq0wf250ixhrg70vdvaz7zh33zaq5sm32ka8qh1ab590c8w7h8";
+"moresize.doc-1.9"="1qa9y7q1wi7f9klziwgj6dw9c7bh453srljsx9m106nbyd1cvnpr";
+"moresize.source-1.9"="1gzj5bh16afgl8dg5z44h7d4m79i5naj4wl09m17x6snvfz7ifah";
+"moreverb-2.3a"="14srw73gbfr0c3miizzs1rml2ms504hkv970p4dhp1wpk8ywc5f3";
+"moreverb.doc-2.3a"="0bp2lmzbd3zxqhijfqc7im10476xc50yc8amh0vf017ll7prcmjh";
+"moreverb.source-2.3a"="1snpyn7bc4qbmamxybv1j1h407fp597m26v2jq6yzijszfanh3rq";
+"morewrites-49531"="1b6pfqhqn3hadnkb28kcl9k5hc7mynbk1ik7njicrbxwlx3qqm5y";
+"morewrites.doc-49531"="1iqmxgzvrhmfmf6jmc5dckziwzvk1ygyzbr94sp0209x11sw9fb2";
+"morewrites.source-49531"="03dd4cv0x0lw4xbzqpv26nm5q2bn50wbjjgiqnif2wg2smfap9sw";
+"movie15-26473"="1x48h56mw1pzllzz5b8fx5ikhp08gx9jybdn7qk3jvfy13a4r5yr";
+"movie15.doc-26473"="0bhyfgsjwmvvl7lnam0k254w2rzn01wf5gzn38ymmlcbw4ajkkxl";
+"mparhack-1.5"="068wp9vk6ablq8mhj165k2r6lg1llk1i8gyj71ha2kcsq62v4a0x";
+"mparhack.doc-1.5"="1cs2ypwz4wkb3rs71wichmd8zc89vj4r58srqzmriwkjplhaw3p3";
+"mparhack.source-1.5"="17c1pq9mqn0gaffawg66wwd2n9cd31gghlvmrpn9m9z6xcdm0ipa";
+"mpostinl-1.5"="01p16dzg5izjgd64l4qgrhx0dm99hp5lrn9v2rlghs8m249fwmv8";
+"mpostinl.doc-1.5"="1a1rhz5q1i69bi1blvwzz404h7mgjkjcp9c07dd8w6xri304gi1s";
+"mpostinl.source-1.5"="18rfna80lz3zrf7wynr8zdbiv36k2n6a8wd430r81ybr9233dhxp";
+"msc-1.16"="1svx3k22rlcrgm7fm0xx45f5q40ngrfpvlabfkicdpnh2mwcfy4s";
+"msc.doc-1.16"="0l4941csa7xfxx4p9s7sbfk6xkv5cm2945y6pqvhj01wqcdghmnc";
+"msg-0.51"="1g418z3slb3cjf0wzgwgv0zkq0jnj647zqh6iqvlv42r7bil9001";
+"msg.doc-0.51"="0miycfpf7s74jz831kqbh6qlkkzq31l1x0fkf9d04b8zp26mzilp";
+"msg.source-0.51"="18djwd3g50ys4ckgzc3dp0y344qy86ni327jmyz3lpnqai8w1c8w";
+"mslapa-54080"="0ayfh1yv1a8wsq9qldgcmvq9d12sxwaa7df5p3bhsp0klbqf7pzz";
+"mslapa.doc-54080"="1hiag2x2br0c0qpmm347cyxmi58mwg2x0lyqfakm87f68lbbxdq5";
+"mtgreek-1.1+"="17k0lvghiw4milj4cnf6wjhsj7c1banw550dvlw9spv60lccvqqz";
+"mtgreek.doc-1.1+"="1qkl09lkdl9z6lm5hkn5c2xry7xd0f0ijx6xnyq3l6q99cnbafzq";
+"mtgreek.source-1.1+"="13h8knsfbl91g20gxjw3c0m6j33wh4zkmm32ybfvzlm8q7nf2lhh";
+"multenum-21775"="1jn6xqrc31zzaj9yk244g3sbi8fj2klswbg24fkclgj0cjr1xi5j";
+"multenum.doc-21775"="1pnjjbfwgy6ksdl76n9iiqla2wl0qa4370n49h4xy3rmrnbjmdqs";
+"multiaudience-1.04"="1pc03jhvlq35zzjsx6sq6bgzsp2mh861wqbazrgp7ilni1bqhqsx";
+"multiaudience.doc-1.04"="1ja9zphh154n7wwhqgl4xj4as17ag8mnr65k0wf2npjrir7rfqgf";
+"multiaudience.source-1.04"="04hpd3zsf24vwas726jq231p462dlb9fq01gx4z8wg3zcczn0agd";
+"multibbl-1.1"="1aj6j8rp94mh210pdwd9d4a5s5z9v5f36wpylwjv4v2ghmyrgyap";
+"multibbl.doc-1.1"="0r4hnp4sgpx9x0hmrl3qlw55xlchav3r8sym2vnv4sqjnx4dc740";
+"multibbl.source-1.1"="1c7cvjabssssy8wq6x6lr909zq4f0bkhdzx1x37n3rxm2ngdqpbs";
+"multicap-15878"="0ky6hrdsc7wl65zk9krv5bf5z5lbiv1xfn4g9q8b3pp6ri874hzc";
+"multicap.doc-15878"="15zkw0sh0lf5vdi219h32nw0icq88cj0vnz9g9j7zb7xqq31f5g9";
+"multicap.source-15878"="0d3gyjr7kwx25gzsl4j5z887c952zxrsh3qk2j0cbs6yahzscxim";
+"multicolrule-1.3a"="01k425dsahhikw9n03dfarnlqc1irz33rm9am6w3gx8pd2d2q6zx";
+"multicolrule.doc-1.3a"="0h5is5lmqqybyp9c8kr0d12x27lgm761dcjhi63i7pv37hk0kylj";
+"multicolrule.source-1.3a"="0blj75rh7vqy8s8c87dqpbz7d279hngzl99272cyskmj8m4y6jpa";
+"multidef-1.10"="13rv808x0bz97cm45r2rjxy0yhmjycswcf89pl7z182acrbs30zq";
+"multidef.doc-1.10"="1jcm11pjx3d8105k12r120nqjjyk0ncmbry8pvkcpwf8kpxcqgp7";
+"multidef.source-1.10"="14y2vk3y8f35wxka65fmj1i235hbb4sviq8g0j300d24nlp32xsz";
+"multienv-1.0"="0j0s86c6xqpww1x46l2vn66l0wflqjsl5q4jqa4089xhzaxzhdy0";
+"multienv.doc-1.0"="02j3gripplimgh9qj3mjy9nlifdi6frj6cawxnjsm35r19m9ia5q";
+"multienv.source-1.0"="1s28zxxvbi5yg6iigdixc5kmn5w7h4hss3xrv04hr2838xpma3wc";
+"multiexpand-1.5"="04v8qz91w4fayy3llr20dqwvdx835wl9fmxpcg45sd3yrik2s4nf";
+"multiexpand.doc-1.5"="0pw7kqc1r0mvnb03fp5l3gpy5m5zvrynaqkg4xsdrhw4gqxlpfy9";
+"multiexpand.source-1.5"="1n1bngipr1sjjqnzsdgyyy08hnk53f81j0fqffjlr5siy4by1p6b";
+"multilang-0.9b"="0zkkfvkybq5hxbdwkwy5n7gal1ir7ixg8342wynk3ga9z6lb9shw";
+"multilang.doc-0.9b"="026d5yxli87f2svfyqmfzbhydwd4c929n2v11wk5prg4zc3vp08k";
+"multilang.source-0.9b"="1v4ql5jxlmpc6458qcqvbsrb9pf3dss60z3i3ylmyp6mx0kjmchr";
+"multirow-2.8"="0bsn4xzliq9gllmac4wqqsnws9slywc0d94abh81awpzv6vy8jwj";
+"multirow.doc-2.8"="070q5s39pfdq5wiq7crhdqhcyjalpd8kydig4djgji975b0xn0bk";
+"multirow.source-2.8"="08q074bixnkvn7hsi1n8vx0r6pqwwkdjsjnxz0n3lam30x4j1jib";
+"mversion-1.0.1"="12mvnkij2q08j50ka3nngmcz0p07lmvqg3jl8fxrfdzyy0h7zhdd";
+"mversion.doc-1.0.1"="1z9d4bcylv4sk79hfzgy36bza0r9lkzw93mis2m6ypgdbsaa3n2a";
+"mversion.source-1.0.1"="01dbma0p4lhygs64aym66j3vp3c0hpbci4x42mpr0yvjnglymbj6";
+"mwe-0.5"="1rk5530j3cnmf46i3gb6wc198ay99pwlbb80ynj33dypfiwsvhcb";
+"mwe.doc-0.5"="0bnw57l8bb6x4k8i4icc8g215bxrccmn39vyhj888ijygdw2hgmv";
+"mwe.source-0.5"="1fl2xlmqdas5rijzrail9yqlqz1s75z9fzkip5zjb8s0gfnbg3qa";
+"mycv-1.5.6"="1nnm6ns6qx6ny4xb7z61pajysfb0nfl7gs5dw292bwi7daxs98xx";
+"mycv.doc-1.5.6"="1d3rra14k69l5pfmcw4fwbkn257935zdiyd2p9gzx0bc28ivsajm";
+"mycv.source-1.5.6"="02ailkp9jr5r70aphfzp6kjm83ni6gigyqn2nr0zlsa098frpxg9";
+"mylatex-56751"="1zihhgy4xaj04qr6rfv73050rvb8a77zglaqgjby5b4a1j5vyw7x";
+"mylatex.doc-56751"="1bdigldcdk3rz4p58w7g4qssbx13jbhqxbavf3x38r71r1pys5x9";
+"mylatexformat-3.4"="0nns88lk6wdq053aljg9k17d3g9fvi75n82swglq3jxmxx2k7r89";
+"mylatexformat.doc-3.4"="09dnsxwdhdnpwf0y7cfj6xh8gws32xn12fc1rh1xiy3ivlynj8c4";
+"mylatexformat.source-3.4"="14rd6zn88zaaznnqh577zgbbmmdmbkzn03201i459v3jzcvijfp7";
+"nag-0.7"="1l31y7mr00s6md7a68cz51yv0qfd26xaj04ax1ph6dqc97r3fv1w";
+"nag.doc-0.7"="0gc56zgva7kziny3ridswnp8rscqi1mg51d8x580pidb11mp7dw2";
+"nag.source-0.7"="1fh9nfjbkvw907ra1crqfhm7hl4k703g80w3c8qvd18r86wmn2i4";
+"nameauth-3.6"="1p4jrwadp6hiv0z3ql92nc7n9qxc9fgg5nig6l6lpk9pd2z5b04b";
+"nameauth.doc-3.6"="1p4nw3w39p6l5mzkb9mz31hgbzrnx2a48vgrnrq5gjwdh8kggwz9";
+"nameauth.source-3.6"="03zn8f859x0dm8jx6cvnzqfm9fvsws62xvpyy1ls50kwjpqyf88c";
+"namespc-15878"="10sbvwc0r3lm90qdxds13iyfcddq1vjx2p8vvs4g3sav4fk8p02k";
+"namespc.doc-15878"="1z34xb5s5fgl4rag0fmc5i5j3jb810f543096mxpq46j98rcp5mz";
+"namespc.source-15878"="0xjcnrrrrw4032sd6wscxvar9y3kd4547rsd79dpkbb0ksmqbqrx";
+"ncclatex-1.5"="00w3g79rn2xa33al7cma09b8l9na6xd5b7w40j8z9day31i2p89p";
+"ncclatex.doc-1.5"="14fvmjnnw8n22c3j2mc44bqrdlsxn28dasfk9zmajvmxgic4w12m";
+"needspace-1.3d"="0abcqdcykpq4wa5a95c8w1bn6cz90zlsy146186v0s54njc5g3mb";
+"needspace.doc-1.3d"="1r9mn0flqdnaca1w2g4lsy0pk5a9l2sjnkpzzg72qgll9dsqqkmq";
+"needspace.source-1.3d"="02j2f9wl2ljyi82dxk7qk71dmjvgl17vp1d3hgvlc54gl5qcwqi0";
+"nestquot-27323"="0l2glc6aykd492rspxphgscx0ykc8cakvqkm8z99jq7xxi80l1x8";
+"newcommand.doc-2.0"="1vlxm26393psl4kjfh533q03sb4klnfq84nld9ggs8l5x08dks58";
+"newenviron-1.0"="0vij59qibxvl81r367yxfl4mgp8fjzd99x3aq008hwh3g1d8ciaq";
+"newenviron.doc-1.0"="1nvra7lh4zvxy70hf4ndj4nl3ij3ar8g2fxrc0951qvixz9jx7mm";
+"newfile-1.0c"="0gah9qbkpib651rjfrakzldi4wd7gv74y8j455n1yi6wnr0yq570";
+"newfile.doc-1.0c"="0vqlij71kfjzbl08sh38rzs9k714xigjc1cdvvpj2m6bhimazp76";
+"newfile.source-1.0c"="0sw9cqids994lscbjif8h7npp4cmzrhrcvccspag2aa78gsvz04i";
+"newlfm-9.4"="12mryj5w7dpn0mdv91grkrd24n2pn68p54bl70bg3pddvz5ab6gy";
+"newlfm.doc-9.4"="0afpxw78vijnhx2rwv94ar6x4ivcrgz7873vdc5n4dafgg18z78s";
+"newlfm.source-9.4"="0z081mn0zf92ana2v99sdyyqjz4lqnm2ymndp76xwih9p1z8233s";
+"newspaper-1.0"="1afj267dlvgcw8028b4c0v9rdj77w47zjgpk0grbapy7wjgpyjb2";
+"newspaper.doc-1.0"="12hlji06sd7bvw7r664cg8ijxabc2q1rb7z516ph18ayjl5vca82";
+"newspaper.source-1.0"="1h8abnmiai3c66cjndm6xawz00z1pfmgwlp6w43amjrk1rm4r5vm";
+"newunicodechar-1.2"="1zr5w047xqg9bi6drl2rw414m9bzpa5r7n5270zr8k8jj74xcv7x";
+"newunicodechar.doc-1.2"="11vk77c83xy40i9vclw4v1h5wnr03mb77fa8s2lhi0p4sq0c3vgr";
+"newunicodechar.source-1.2"="060kbd07al8cwns5877ap7irpf3r3bkw0w62cwvl67y03gcmgr70";
+"newvbtm-1.1"="0d9q6mvczacdxykp381181mnra49qa0y0mngr0dnqp24hfw9j9l6";
+"newvbtm.doc-1.1"="0k6j4xpvjwwvz8cipgrqvrs2dj66n7yzlr9mcfsgd5w6rm1p1h4i";
+"newvbtm.source-1.1"="1p3g9qyq4x0ffv68501zlpf1w0ffm816pa0wqjpqf8pz2jmgcg5y";
+"newverbs-1.6"="1n3qdw6n18kci7j9ib7iniymr78i9dzk6iiyc3pj4iy3n9s0xx3g";
+"newverbs.doc-1.6"="0i8vx3hac230w9a13sm3p8l5bv0sipyfzwfvkk3na53l6izdqsbp";
+"newverbs.source-1.6"="17hy171m0ka9j9spj3p292b0zg445zwxc93jj12y82yyd294rdzd";
+"nextpage-1.1a"="1p9dvw7fqspkg6hk6rdmsb5k5m9mkj0kz5a47wg5dgfqgrqpixf8";
+"nfssext-cfr-43640"="1qp85vnmzsn967iqvzsf7yzsq1a4zxvyim7r0xb8pncak805fs61";
+"nfssext-cfr.doc-43640"="1jac2k7nldxq11rcf53glb5y3haqdsxzzxmgmvyzhbrzmnx0bsms";
+"nicefilelist-0.7a"="0p26s3qbxbiz7nyf13lbjzvgjbw5cm9wwq2ji1i6sfjppv3vl8pi";
+"nicefilelist.doc-0.7a"="08zij33sv0pidl6fhbqypx53clzqjdbfnvrrd0yq8m9b527fcd7z";
+"nicefilelist.source-0.7a"="1d2l47v2qm7mzbkhk7x5wzzibnks7n0hz1g8sjxvabyaiqfpk6nz";
+"niceframe-1.1c"="047y9dh0p51lyrrq5fkvp4dpiszvf2nmx53hccl8hzgr2bs3kbwi";
+"niceframe.doc-1.1c"="14fapa38pffkj1hs58b7r1zkjn3dql9d98jzh13cybyfynd5crjp";
+"niceframe.source-1.1c"="095frb90nryk4m2iia4sq3kfrcfg2k3nq079770xlp720zqy07rc";
+"nicetext-r0.67"="0aqfg8phvhlgvyy71flqsaqwmmc6lsl9vsxpxd61v69hp2qhvggh";
+"nicetext.doc-r0.67"="0c078pfiw1nz11krcgwbdlp2brdy2xmq6rda9yahfjjg54xgdbg5";
+"nicetext.source-r0.67"="112ji0zwy54nqswil8lvvcrq0ai7jsmdagvf2786zg9n14h5kr75";
+"nidanfloat-48295"="15l4rdj7bk1279xjjkgh9a7scfmm6w88civ48shh7gwx8gsvcscb";
+"nidanfloat.doc-48295"="06ccf5yhrqvshj3d8ic3pbnvmdpjxq54i57y3141wgqcj5h062dp";
+"nidanfloat.source-48295"="04q480lddynb2gqz8azmyik8170vl056fhfjsnq8ydqj0rchnnqi";
+"ninecolors-2022D"="0qvjykxzl9154wbiybwpv4j9da5vyvw2r14hkg9cvyqqd0fn7g3p";
+"ninecolors.doc-2022D"="14dmp0cm8hbjrd14szkcvkrff3l7shk4k9zlzx6hzkpmjc9qkl0w";
+"nlctdoc-1.07"="0jgnmp6pfjz2jmlvrvnbqsmxk0bj276044hzdgkxl635ilzkzds6";
+"nlctdoc.doc-1.07"="07yl0i42zzb7xw0wbdwzpm7ibz6imds379ag1s77zii5zvlir1x8";
+"noconflict-1.0"="1flkwyz36xycq4aidj9v6ga29ghbww8ss5dkz4lzsr96nv38q78r";
+"noconflict.doc-1.0"="1v3q7xbss5ra1dizg2mz66zq97cfsv5lgnd136xqbbmn5vphl0dj";
+"noindentafter-1.00"="1gp4zyqwq07f85qp703iwsa0351yp49zyjrzrhfidw456whhl3a7";
+"noindentafter.doc-1.00"="0is88wpryqdd179fvhjkvq6qy4inz0sp8a7j1i90iziadkf4rchx";
+"noindentafter.source-1.00"="145bfg8qz8m64x6p2kzkz6skzkdi9jc82q77zr50xms9565bhf4l";
+"noitcrul-0.2"="1whs120vlg4cdjmb1x363g92ira9nc8j2h65qnvwv8qrmh2hrwnp";
+"noitcrul.doc-0.2"="0y3j12rb8ks8sjs1ikw3sccq7p7zmixc10nhdy9yg9rzwcgmicva";
+"noitcrul.source-0.2"="1dsjxs73xf79sjq9xynnv78jws1j39l240lvcvpir1k8vnzwfa13";
+"nolbreaks-1.2"="15qa4nf5c9gl3ha4prajqxl2p1ks6fpql03d52prm9vqkwphzgyy";
+"nolbreaks.doc-1.2"="1h9n7ki3iznbzq519cliw03fcn2k40f2rldjkhnp5vlzma81inh3";
+"nomencl-5.6"="14225s3b27dmdgkjqyh4fqcwyyaahva0sk3k6nvffl6jjqdwsgkp";
+"nomencl.doc-5.6"="0vqxxjlvgaa31mjfl6jv0azfh7qv0g341i27s6k9zz35a7dwqaq3";
+"nomencl.source-5.6"="0fxfan0s0y1i30rg2mwxl21ymfknh4cnw8za13mx34wvaxmc4l9l";
+"nomentbl-0.4"="08jvfyn4vd8qwlnbsqhlxnwnl4qv5b8r32slcbfwshc4kyi2hn9a";
+"nomentbl.doc-0.4"="0g48qyrrj6npsjcnnzn3mgsmd5fq4v5vzzsgxvvx9x15446987cm";
+"nomentbl.source-0.4"="10b41ax3ynpdbn9bawkp43whqjkygh8f2p6qdjiwa47w1acca8zh";
+"nonfloat-1.0"="1ay9s9xrf27sgan2gan86g68i91rwa8spmmj2l13pb3zl5qikw66";
+"nonfloat.doc-1.0"="0jjil5rbxzcpkyid8y5dahab2ca9r77sw2scgrc4mf2h4nhrjfyz";
+"nonfloat.source-1.0"="0vyvpxyrqjqmlw2fj4b9avy7sn79m4q8gcbgzdkzzp8d0rng5i8s";
+"nonumonpart-1"="0dyf0nl16j7vp955g64rbvvjyqq31x5iv7dbkh8cikwvgn9g85s5";
+"nonumonpart.doc-1"="06j6sc8q18mnnnpbj57ykays69n78z0iz1r3vink7qaw4a8fbyba";
+"nonumonpart.source-1"="0p3gicf0fzmk0f7lblydf31pi9x0f6x0k5rvdd2ia8hrjdaqv1dz";
+"nopageno-18128"="098q0visa9g5lh3vp6bp484fglrq8g21v4cb71cnc30f7avkg1v7";
+"nopageno.doc-18128"="0n7p2f039vmd060ncc81yi2hnn7qyk6b7z2hpxh9pp78dwklgx98";
+"normalcolor-r11"="1yvbqc6px76phjgy9cwpqwy035nb61nvcxy32v9xa9wfcp36nw7g";
+"normalcolor.doc-r11"="0919aan1qxp5lfqm902ijn6sflkzv1dgxi12hjfixd8d1d7rlfgs";
+"normalcolor.source-r11"="13lqp3zjnhm1wmf5id1bbr86l5qi13xgij455l38l55is468sv8j";
+"notes-1.0.1"="058316ialcra7m56ww7imzqqhk318abwscw5g60hr73x3x7d9dgq";
+"notes.doc-1.0.1"="1zq11rygqkbx85cf79ixwcv1w971w4hx8zfsv7z16am4mlxcdz5j";
+"notes.source-1.0.1"="1ycxa3m2l13z6a3a4a88wpznvwdb78qyxkh879cvg85apb11rffq";
+"notespages-0.8.1"="1zn3ygkiyqax88azc7vcrkfw5hfzbbq3jkacnv50c8z5xllk2nwz";
+"notespages.doc-0.8.1"="0556azchy0yc8757wcy687vn82q0jmyf7n38vyx3admpawyk1pxk";
+"notespages.source-0.8.1"="052p17fbdpbdpzaai5xn8r0v6lamv7ps78svd27216p71djsfr66";
+"notestex-1.0"="08b59wvl0n718vbzj6azwmj5cn4jk57yzzzzgxkgkjj3kq2926ig";
+"notestex.doc-1.0"="1n7qdz9sf7jdvrrcvixbvk1yjjqdwsr8c4vlw0glwabjyzj9hi3v";
+"notoccite-18129"="0cbvwvgh3rkms6akamnrmzwm6796ly5fa93qsb30bqafgmx56il9";
+"notoccite.doc-18129"="1h14fkdn5kvxagkjx8h6f6a06v7y9z48s87x52cblwykgfm70qxz";
+"nowidow-1.0"="1w18i36ynsyldb9gs0yhv6plyrjs4762y7bglncv7bhqjmyy7y3g";
+"nowidow.doc-1.0"="1l2zq2ain8nhkaa8aagpm22nvg8p1vk2cdgs6pmrydk0hhmjh01h";
+"nowidow.source-1.0"="01qjfpps7ahmrwvg142mspj8gsyx21l3nr75g0v7qsqxbfjjy6gk";
+"nox-1.0"="06036p9059x0lzliq9b2pqahnbp8jlkd1gnq300rq0syj37mjk5f";
+"nox.doc-1.0"="1qfjlzczcnmf3pgqf4qr5v9c6ws6qba9hm28h3xwf2s3099drxjd";
+"ntheorem-1.33"="1mbrpw822ibb7wpzbl3fhnxg4djwy32knn9hqcvw1kpahgfbks66";
+"ntheorem.doc-1.33"="1f1cridxgv2rwv3f305hsd5pm59im1ik8qmpqhq4rpvwph8ny140";
+"ntheorem.source-1.33"="1pkrhkl9iq0giyvk6lqjxx5x681rjl9zmc0kmcypwgbqww59hp0i";
+"numberedblock-1.10"="11v5n8s9glczglmqm4bfykg5v0qdqr2wfnymb15aichqqvbfcgsd";
+"numberedblock.doc-1.10"="0rh954i5167pmwmisn3v26zqqgdrk5bcn2pc16m3wyrdgvq02kzw";
+"numname-18130"="0sj8plvx36i2azwnk9zhxd16x7dxk2419rdzc93pl3f68kxdmy5y";
+"numname.doc-18130"="18iarxgxxi5dj0cj1bf0il74ndn5lng3axf7zz0jwqpl5d84pz6b";
+"numprint-1.39"="0wkijyxl1zzay8vqvsyhk6kf5247qr8k55rz91dn1ph7b597d952";
+"numprint.doc-1.39"="1jra448iyyvc8qgc9z49brb6j9c89fzf5zhgz48k9959bv8izs8r";
+"numprint.source-1.39"="1svwh456nbswkrmj98s91vr2x05fvs58chkr5d5slq14wg1cpa0q";
+"numspell-1.5"="10rqraqmnd3pybpih3fhk0068g448252hwcckxzd9vd33n7gfw1a";
+"numspell.doc-1.5"="1hlfb7b3hq9ps7l6z0qzymc8mg67kdipcshb1bpkindasx6dnkl3";
+"ocg-p-0.4"="1cfg5253i7rb0ng65fwm6v0yhs2l91gv0a3d8bra1bkwz2f1mfmj";
+"ocg-p.doc-0.4"="185fgw41dbw1hsbv5lr84spv1qcfglm0xhrgwk92g0dgh20d0kfd";
+"ocgx-0.5"="0a1mvlgn1vql9w8ziks677ysir9fc904ihxhn2hy5qsk9j8wc5w9";
+"ocgx.doc-0.5"="06d3hdgvwymvxq7vv7ccjiyay6vf2v6c8wznqxyjjb8sv64mzlgd";
+"ocgx.source-0.5"="0z2jgksb5pccxs2bf94vbzb04b1k6a2ssrx3fxc3fwl3z8afqq9q";
+"ocgx2-0.53"="0k6avrmhqmrfbapfb8pqy6fh2a993igcg4i2rhvh2qjx29924v7i";
+"ocgx2.doc-0.53"="1sd2gagmbw8w1igvxb44f8dc4ajid6lnd1mnjsddalbvb23x1sim";
+"ocr-latex-15878"="1l5s8wlqk4fc9i3fizhbm3c7nafq36w39693xm1x07giqqw8q8cl";
+"ocr-latex.doc-15878"="0ai4kr65ls66ywxncb63jr6gy6lcw6zjvlgsbp4wd6kfjxs27bh7";
+"octavo-1.2"="16pwz513a39630p51n84761asli9kba5z3pmbgfkcz7yfk9iiq22";
+"octavo.doc-1.2"="0rdb58jnyyp12i7ndd6qibs2jc1f0zcw42jh9j48aid6nwslvrbr";
+"octavo.source-1.2"="1f13rhvd2l3v7fdivk1ybw0gnacv9y2pzwnbw8ykmaq3x7m3x2j6";
+"oldstyle-0.2"="14lm3ghfgfqafqivam1dqf3gqgkchnbnc84z5i0whg2p18x9zns5";
+"oldstyle.doc-0.2"="1qj8nbcx1krpha49k4yzyix13vs9s41g96r7kpdmv52vlpfgs4lx";
+"oldstyle.source-0.2"="13c4dxvikdxx7qv7y9rfpgj4fgzp21q71xpmq1jzx7phwrsn6wcw";
+"onlyamsmath-0.20"="158p92zgnmicfwibiyr5qbkwwkxhvfpvngkbpbw6grbdhlwsn63g";
+"onlyamsmath.doc-0.20"="1d2znlhbz509rqzlwqnbz9b64mpbhckh8pv23fqr8058xlbazkh6";
+"onlyamsmath.source-0.20"="08znvq2bzapn0dfa7f4sd08gm5k7m3sh6hkwy17zwkc0987wx487";
+"opcit-1.1"="1g54f5sv05rg1xxpydsakjrlckmh1wq0p15w4q0935iw0aq7rn8g";
+"opcit.doc-1.1"="1rx3ap93f4570d006qci6j6qi88zwxc8504gg554aak1lffazw5m";
+"opcit.source-1.1"="0242ajp415h3y20dyvi2lrp38saq10dgb6hpnmadzs7wrwxhma55";
+"optidef-3.1"="1jvalzi2gid20wn253swvhil05m273x6685n0b5wbrz5kbvzk212";
+"optidef.doc-3.1"="0sdd6rsdfx1fcw1493b12ww5llww6mv0rij3f1ik290c6qbmyr3w";
+"optional-2.2b"="1mv65cqcrjhykpl565z96s57z05635q513qr440crbh61rp93chs";
+"optional.doc-2.2b"="1ks001q2b1yw87q0frhqq6yv77mskng6v1sm6kd8r22cv5g49xbx";
+"options-1.0"="1v2j59zcv5cplh3czd6r7cs4n79yvw3448492bxk446j4lx2mfcx";
+"options.doc-1.0"="1za038prpjb3s74ryr25q7hmz881gr8abmf68h7xdjq6bdk73da5";
+"orcidlink-1.0.4"="1ji42jszdnkalqq65ka45brdvsl4x7cpxdk6rvfsiacrcpbr6j36";
+"orcidlink.doc-1.0.4"="0np3dvf7l95h0gxg91qcd8f9sl0xv3gpqd6krw3bsjqa36ir7vcd";
+"orcidlink.source-1.0.4"="16ls5hwlb5yjls6fwcafsfsz1wgdp7lci7jgdzsc9fqkz0ml2yyf";
+"orientation-1.0"="0qcqyr76wiks50i1zr3skp7bsnjzi6snsyvsm2za3l08kbdi3ixx";
+"orientation.doc-1.0"="02cmfz42sdd1gr4yaha603rppdh4c4wjj0jbcrmwlfgl9a47rj11";
+"outline-18360"="1q5dr9xlsn3fz7bcv08biv5cv71qf8brzgg4468mksh8lc8r2kli";
+"outline.doc-18360"="103sijg9ib5qfwaxkdgf11zsdg2c46dv00hn08sspl56a08j54sl";
+"outliner-0.94"="03j0mshhrchrgpa2z7j7q6n783va5v0w16gp401rzbvvdn0l2qni";
+"outliner.doc-0.94"="0vi80qhq10yy051sfzh6pmn34laghhvx6plnggrwvcmpp4fcw14h";
+"outlines-1.1"="0wzrf2fkf9kh0d3jjbc3kxvsmkynwzg622ghwcabaps097r9z45i";
+"outlines.doc-1.1"="1avkpx77sis4hrrs9dqizq2sz4vjzvn19ks8q7l32qyz6lnxwk2b";
+"outlining-0.1"="0kc3x4zq24f2dzwzypdi4ysgsfi40l54zxpaxdfgd662wxangrsp";
+"outlining.doc-0.1"="177xwyzq3mha4061dxxshszsyysmb6nl5b2grg4m55mn19qlw2f0";
+"outlining.source-0.1"="029wnd1px0wdgffblxcbs33r1ffv761sgma7bap9g2d1n3dwja2c";
+"overlays-2.12"="1xfbb4953ab25dbccfsp9ban67vrq79j443mlglnzqmg1njrckk9";
+"overlays.doc-2.12"="1nm0d47vclan46q0zvigxri5zqmfpv0qkk0arsg836vnv7l53q0g";
+"overpic-1.3"="1szm75fc37634pky5sm2l8b30zqw38n1h0y01w7c5is5s0a9zmgk";
+"overpic.doc-1.3"="1lixa20fskjpbc6clgr4sm74d76bqyyxc6y1drzhm9xnkggd29x1";
+"overpic.source-1.3"="0q48v02rvx1w95c077r7mdxzmvg7za151fxym24qsbdbqd3gr9ja";
+"padcount-1.0"="15p8g5hjwlm80xnm9py3ss6afl6c8rdq8f92z7518hp0yp7d3zfw";
+"padcount.doc-1.0"="1crpv27a9rfmh4dcliqvi7aa4h4lvkv48k5zk0kx6ahhxa2zkzaa";
+"padcount.source-1.0"="0vkk0c7gvzihlmw3f8ni4awj9r6xrysj9rrsbqk6dkngrg02x4xz";
+"pagecolor-1.0i"="0s7x69f89xfs8zlpnqg3igjjp8cdjpbg0666knz1bglvchihaav0";
+"pagecolor.doc-1.0i"="0lkc1s21l352wjgzvg4psi2ivh5lid9q613sccc4nvbbxj3vp8wd";
+"pagecolor.source-1.0i"="0dlrm09asm6y9kwcarn7b3lp5fxs26c3mr6dgxc7dy0k63kqnmpw";
+"pagecont-1.0"="1fh6bplg468dandbyvmwf13sh27r6x4dmrwslldlc9580h8jv02k";
+"pagecont.doc-1.0"="1vrcr5l1facyyf9p8977q0i5m7cn7y40dbmiv99314iyawa3rr1g";
+"pagecont.source-1.0"="1qc105f5v0jiahk8gpgr77lqfaladba4hmqnfizbblzbjhhgg05p";
+"pagenote-1.1a"="0jd80dz0jl2gmfr74lw6jy1x2hj6zlji9az956gkj8bxxc6zir54";
+"pagenote.doc-1.1a"="1s7imj4fi08487xmcsicsa4cknpsgd10dbcyn6vkggm95qn6119w";
+"pagenote.source-1.1a"="07ngnfinv2mki203in54l4gx7r4qx9rm8k4x7856gr7jy1wkw16f";
+"pagerange-0.5"="1nixc1dn9cbdi3pa5yxajii6c9ljgc2jrnknsa7wb66kj5j1lqch";
+"pagerange.doc-0.5"="1vy3c498j95miksm254a1sh7d8bp3g5p7lvncc1xad4g388q6hak";
+"pageslts-1.2f"="1lm8707bl8a9kxrbbr6sap3p66zwjklqv13invm4gcsg92yf7yhi";
+"pageslts.doc-1.2f"="163h2h9n4cvap2c369f2yxv3idij6wzjqwf0wd7w5024h1vvj683";
+"pageslts.source-1.2f"="01nwizj0vlnwzbqyl5dn02vg5xl2aw60wyvp4plm0agg8kxmsi3a";
+"palette-1.1.0"="0wabk4pw6gr9y309dsh11w6gygayzglh0jabqi0zsvy0ikr7wri0";
+"palette.doc-1.1.0"="1dp867fydnxdw82z4gxp1sbz5w5q9jfnls6r9izylrzy242rd52l";
+"palette.source-1.1.0"="0iic125v6j1ljgnm7d0qicckxwmgdg7cz568556257js942ldyxx";
+"paper-1.0l"="1d8w8aicx5drrgqdcrsb7vdy39xh6xmnnpympy1db5i2mc2nkjca";
+"paper.doc-1.0l"="1r03wy4harxplfhqp0dsqfpp0s4j5gn6k2p43fpw7wndna8lnhyc";
+"paper.source-1.0l"="0c1iv6aynpfi37bg30q235zdpbyhj83rkir4kdg4vl8q27c8gpwg";
+"papercdcase-15878"="0gfkn87avjnfjx2k6hz5k2s9iy2lxwx9x4r0cp1lcwjgjsavf2y3";
+"papercdcase.doc-15878"="1hm0i4vvxhxn0wvsrbxd2lkqspqkq7ik3sxxm1nd575p5l3zgl69";
+"papercdcase.source-15878"="0mkadgjk395z280220zndpbbks331d5hcsxqnarpjmh00mkhdj7f";
+"papermas-1.0h"="0x4h95w4znr0qkbmh18ws13c49fq9wmx1g0rhkwbkg5yxibyhbk1";
+"papermas.doc-1.0h"="0vv07vzfsgmpm748si100rbsfp0ipvnnnqidg6c5b4fgydz2dcdk";
+"papermas.source-1.0h"="1z2wvpy8r0qq0zjf48i2z93iyz6vjnzc0vm8g5pd5zrq961hfj4r";
+"papertex-1.2b"="144zirbvdpq1q8an6i5rngycmlrgicf9skh6mnwyz45n4zyyzyg1";
+"papertex.doc-1.2b"="1aip8lhazpmmvdib6yqivbgjagyyhmava29q9hrlx833385vvnhj";
+"papertex.source-1.2b"="0bfkh8vwqh6jx34fmqfqf2qz5wjpmq9bpzbppf0cphs5frbwg10b";
+"paracol-1.35"="0lbdk9wbs6c6kq0iyf6amc72m1njdf3h8yvcnka9dkhjp228ldf0";
+"paracol.doc-1.35"="0fnby29nnrasv32p9xwwwax57ijzscpnsv43rwajlqwcdhi3s2nj";
+"paracol.source-1.35"="0q9izjw8lrwcbx0cpq66pr33cn02wl4daxsjvlkrjzw8zzrijl64";
+"parades-40042"="1vmjda4cvajsqai47wvl0byi552gdcy0j4m36p58gjn3d9bc8818";
+"parades.doc-40042"="1lz9dsy94x5cvv55nk975fw7dlg4bm6d8ls0p6gy5b58sjd6vcp8";
+"paresse-5.0.2"="0mbxnc8c7iiwcmh17n4yhl1imvsq2q7wng98k6h9r15nqf5ivk1x";
+"paresse.doc-5.0.2"="1qmqki6fm316bixxjispq92dc1b3zhrnh4ad64wdlsr3fpja6g1q";
+"paresse.source-5.0.2"="0dc0hblq764q23xnz7yj1nawdr5m55526l0dw7b49p5rdb0zhcg3";
+"parnotes-3b"="0d8600ssj90rwl9rxd27i23f58lmxyf5r1sn8yrl8fjnq42q447b";
+"parnotes.doc-3b"="089i9fwzjcv98pnqmhca26wpvn71zcgb79y3jg5w8szagli38839";
+"parsa-1.3"="1n2yh9v3d8s32ylicq5vn76m91s6648zgvys6vg8m63pafzl8rlm";
+"parsa.doc-1.3"="0i3d87kajjcw9mallswncp113jz9jn35jkj2y10dmx6z5sv3x3qx";
+"parselines-1.4"="0ymcapxlfyb6xi4k0z1y42cyzan67yg5v4nnc2f1ac35yw4z57pz";
+"parselines.doc-1.4"="0396j4dscv2pqk9vxmz0p4xm4l3v9ln98cwv32r615l1k68vafsg";
+"parselines.source-1.4"="0cg77iddyvl6p818j74ci2zg4zdddp82wddhxqh57qg8vcvi9g5c";
+"pas-cours-1.9"="0gyw81drxs56dwqh6v1gqgs4xcwq78v9isgg38djxq17km075y3g";
+"pas-cours.doc-1.9"="1zn71815y5pkp24l0cd4283zb3i85mqqzbxmhxj19v5s4jx3ywsn";
+"pas-cv-2.01"="01aqcqyw0h459xq18gc0y00z2j13zwdn72qpfmajps7ppadlcbxw";
+"pas-cv.doc-2.01"="0mwgvj4hbq9b6ih6l6hg6gl5qrxyyf0mimwv50vpy1z7bhdq2l6a";
+"pas-tableur-2.01"="0w4760s1z3nqnyf449vmd7x7inhsp08n9i794177rx7kc2yj2l7j";
+"pas-tableur.doc-2.01"="0fish3403ixq2mp3l69qij4c74s999mimh7majfcw58b0y6nizpw";
+"patch.source-42428"="02xfy1fs30nha0l03lqwl8xrpd81855kb5nb660ks83aj187dghy";
+"patchcmd-1.05"="0v0033zpp4w75lbxk8w2byhgy3s6qvm9281xc2c75bryp0ar5pfq";
+"patchcmd.doc-1.05"="0vw698r5q5ai4lx4vrb24x8j9dc7iwaml8scsh9c22cpqn2sn26s";
+"patchcmd.source-1.05"="1cb90y0i5k9s4jj3f9vnj6rhxphjc14p5nm6hllibww3h1khnrxr";
+"pauldoc-0.5"="14p0lnn5hvn6szhgr0ngdc31dbjrfk7r8m8n2jn5n8nirsrdzjxf";
+"pauldoc.doc-0.5"="16ls36m6c8v4x46bz26ysl0ndi9jmby2gl8b9wglw9ba2gf97xjw";
+"pauldoc.source-0.5"="17440237dyqhxpszm6rcpdhb8dib6l9qfqj5ls2m0bk3vqm7xv8q";
+"pawpict-1.0"="0sx3lwgm3d3cm4s5408x5dhf45kngls8izzkqjrqjy074736968d";
+"pawpict.doc-1.0"="17zf7acasv8h9crzg6jw3d2grmhi689476z9x6872h7kzkn3whj1";
+"pawpict.source-1.0"="1vxmq9s2q6sq6qza6lhkd6lmj6pg4bw8qvcpqr8zr12nqcfy4z3g";
+"pax-0.1l"="1d212favd0c9g6hfiy2kc45knsa8x7n3yldkp5xp5xvfa98bckp6";
+"pax.doc-0.1l"="1646yl4nn4fr1i4wjdyikzbr254fxiga72ihf9jkiafjibxrrl8z";
+"pax.source-0.1l"="1g565cpblg4dkdrrrs79qnfd5ips1rm1785nyvjf4m1p4cpffdgg";
+"pbalance-1.1.1"="0zm7f9xn1aiqmcvd8fvp08skq6ix7rsk9m08aj9pjrmyj022y5n2";
+"pbalance.doc-1.1.1"="173r8mapd6rlfw5662qbvsbvsb01318213kclnz5w60aqn7rn882";
+"pbalance.source-1.1.1"="1dii1gy0cmcgvc83rgzl7d0vm0a5pnj3asnl3slv5irk0wqn6hkz";
+"pbox-1.2"="1b6xli52wbqlhxf2sk4ryighd6jaj6znvpfv6n9s1iq40ag943dc";
+"pbox.doc-1.2"="1qa0h3ahh8q990wbwyrp4glwhdhbcgzz9yp436083w8c9ang0lg4";
+"pbox.source-1.2"="15gqbvrsigqqyzcf8rda0z0kcw5h6cnk1l9pxjh7apz7i3k00i5c";
+"pbsheet-0.1"="04z9iszj9hx7la9zqqqxrsfq3b6asld4zxvrszyjqw7z3fj7pyz3";
+"pbsheet.doc-0.1"="02an134idar5ndk2kk2d446bxawv0xkrwg8xvgxgpp8s1pqdzai5";
+"pbsheet.source-0.1"="0ad7zs28d47p3swvl6kz2v1p2nskrcf8fjwy0igwy8d8qalk0dix";
+"pdf14-0.1"="0gpbf1jxfjl56pn3sj50b6x0z3fqhb7d1dl8dhf31vgcj8sn9n08";
+"pdf14.doc-0.1"="15rgv0fw23c4zbwlx149hhbq711hq39v1nka52mjpl7lgvvzny98";
+"pdf14.source-0.1"="1wm9nlqws9g02zkk3rgrpaic293vfskfrxsn3s2jb3iz0f12bp2w";
+"pdfcolmk-2.0"="09rqw5csr4c63w5z5c019rm8h4plqzwy0icxbzgap048a7x02kqh";
+"pdfcolmk.doc-2.0"="1nslm2frwxqcrm3spr601p2r6ga2b91d7v1v0rbi7h06h14mvxa6";
+"pdfcomment-2.4a"="13cknk58kksg605m2jjkvmkfm47sdk56irj8xa3p0alx8c4cn67m";
+"pdfcomment.doc-2.4a"="011l19b3lhc8zn3dn071gnlg2300174xaqkdn83r631zz45yriv7";
+"pdfcprot-1.7a"="0m4lf1rb2j81ry7v2g9lfqs42rizifd64q7xw9dzhnixp900ldfk";
+"pdfcprot.doc-1.7a"="0b9ac68snrs7fs8g8nqrs62h8jjfyjsa07psk8qc20nvpya3hjq9";
+"pdfcprot.source-1.7a"="00nmdx6l66w895fjir6r2pwrnh0vpn706i9wi5qxx143h75rgifl";
+"pdfmarginpar-0.92"="0mhf21dcz4ndhbh1g0h3kcqza4ni6iigrkif0iryyzg1zcx60d19";
+"pdfmarginpar.doc-0.92"="0arfch7gb07grg0n8ij0wfzbfzc8bv5izvhp3vjz8hl8ha3wyzgd";
+"pdfoverlay-1.2b"="14ymzmlm995fbfwwk82zwf8bhahidxlkpp7pp6bnw3v2gf6gzdb9";
+"pdfoverlay.doc-1.2b"="1nadgxh5407iabwz30b7cp0df4pgz13n1sxpzadjqsqznz99wwf0";
+"pdfoverlay.source-1.2b"="0aj3bdybkx6yj3q6gdwj9636grmwcglk4ijh02zw5p2krnd5ql4j";
+"pdfpagediff-1.4"="1a4qmaypz1indb2pw4vz0hv8ihanhf9z0azs3zkv2ya6qkc0kphp";
+"pdfpagediff.doc-1.4"="12di5a3976bkilcyfg0imx3w8771ky0acgrag7xp9rpcggbi3r08";
+"pdfpc-0.6.0"="1v4zrirfjyl2ffhpkxyd1pv5vb5m8azfzj3spgp9d39jmkf9w06w";
+"pdfpc.doc-0.6.0"="1hs0ws6v5713wsb57x003dg2yl27gfw794mw4p62bhrghpsgfrkw";
+"pdfpc-movie-1.0"="07d7d7h8zfap39dd3nks1bnpnfpgs8nrzzdsmchy6isqfmfrypgn";
+"pdfpc-movie.doc-1.0"="1la9fvzrlik4ar3fdaxla5gbwpa2v49xrrwc4wy60i7h80vqv80d";
+"pdfpc-movie.source-1.0"="07lw20wp5cqr0pvjsw3ds75n3hggxgcp9rbvw026lj5k54wik1bv";
+"pdfprivacy-1.0"="1l1nqf4ihwfycnb1x44l1dl2h9f3iy1ppvr0l4zb8qcjqhl4j63y";
+"pdfprivacy.doc-1.0"="15w8jwhksfiv0h2iixk07xvvmk1g2j322xqid753bcyks48xffjz";
+"pdfprivacy.source-1.0"="1nqjj51h0pcrjnybj3cqb8zwi0r1ipzzw8ic2clnf3in88pjzjhs";
+"pdfreview-1.2"="0saxaxhma5gdn150l934y0q8x0nigbcn9r7ixr8rwz4d85g05m9a";
+"pdfreview.doc-1.2"="1kdyc7h2dpr4gjzf9g0rx66gsxaiwran9k7vj8942pr3x2d2jbaa";
+"pdfscreen-1.5"="0kkdnwgwc9z1rqsz8cjsmfjdi3ycwi7n7pl2929yvvwixp10rr6f";
+"pdfscreen.doc-1.5"="1zhg4vqfjjmg4z4blrr2zl6jp7m2c24m5diifgn5j3m8nwxp6m2j";
+"pdfslide-15878"="1za0jp9dbrv0c875zddgcvddlk7gm47crmn97k4zx2s7glx24wj7";
+"pdfslide.doc-15878"="1rv7wbzrlgj55n7r6i9bm1vxjvjr38v67lizmbdcxz1lfqbv0rw1";
+"pdfsync-20373"="1wwndjn0058hflw73y8xfsmnspvaz61r55k96fmsdfb7xfncv1vn";
+"pdfsync.doc-20373"="1dz826gclpf2knrgks0lhvm6rs1xjxqpzgbz4nkv1f8li7379y2q";
+"pdfwin-54074"="1mxfvchz2h9wrybvb0ri4iygwn1ljs2jzsr9hi7j7ych0sjq1c3j";
+"pdfwin.doc-54074"="1wn4fj00lpfw6jvfr3144gjvghdjvqxc13ji6kcf8q18vcdjfcbd";
+"pdfx-1.6.3"="1pim1kiilydijs57zcsd1cnhzvcq5y621fb15hwg9y69s624wjwk";
+"pdfx.doc-1.6.3"="1rb38sw6lyvy24hkdyw7xrbm99bplvcp4cfcdr80pdwf51g10faq";
+"pdfx.source-1.6.3"="1y55s7h2cc39vp36ickpkc8dl42rmq77l1d47h1dxximyihl96x9";
+"pecha-0.1"="1ia3q7gygbg4scgja2qf5p7wbgd429cj78b8ffjcz68vgdg86jjy";
+"pecha.doc-0.1"="07b7kmf1if59nrqnsws5hklv0idjjxwp37a16dbjpcfdirb4s2m0";
+"perltex-2.2"="09vc7pbfjl0zjmbra41p5lmr6l6r4gh2x5h9h5hg1i76n4mfkd8d";
+"perltex.doc-2.2"="0sndaglhb92b4jvp0jzpvdiwzc49ijh309aysahrw0pwkdl2lv5d";
+"perltex.source-2.2"="14rv37h9qwgba7dqq8zzvm0dc9y4hmyr6yvvkfbh2il5zs7m8nrn";
+"permute-15878"="17ky79fz5pb9xr4gwrfpnpxj16mzj6f3wnh9dfhddzlmbllw1djs";
+"permute.doc-15878"="0m83nafyxbixsyg37ia535h3axvf2vp6ky0yg1xcv8ppsl72fd8m";
+"permute.source-15878"="0k1h40himliydiqssvmzl18g28w0hfsxc6kv7wn1q41sm54knhay";
+"petiteannonce-1.0001"="0xvpw8lh1zlkc89chbyjsfszr7ix06afh1fajp5iiqiyxb021v7y";
+"petiteannonce.doc-1.0001"="0nnf9bw4jdm3w28957bdfsl9z94a3dxz5kvmjrg0jkrp3r3cyrgv";
+"pgfmath-xfp-1.0"="1lfnqkws7gjjbzh0p5i0l94p1fjjsybwf7mzl5d7xzcap9db4x71";
+"pgfmath-xfp.doc-1.0"="07d6kybw6q6igfpn1cgjxdi3n5zz6ic2gazy71gb2mjqbzmhzp88";
+"pgfmath-xfp.source-1.0"="0jvy1qy47r0p3fx5329wqg4fnqlwlqsqs49j58qvz6k7l0n6i82g";
+"phfcc-2.0"="1w2la7mmj0a3sbd3k938bnq8fbl6sdy1w6bxmdfgiywj6wiib6ca";
+"phfcc.doc-2.0"="1y4y0gx858gida7hnfngar6damk1gfvpzx70zbjsl2v7x6qkvkm1";
+"phfcc.source-2.0"="0n7l6q9f2i4n6lc05ky9vgm0ms2hdwxwynfcqz216pshd1k0b2m5";
+"phfextendedabstract-1.0"="159s3ncwdb79chlffvp9awiyd9gx9sxacsa8596bgdq02i46q3ck";
+"phfextendedabstract.doc-1.0"="1851hbjavdxlan8c480in5j4wyxrl4kmgqgc86f9xwd9k7f1gp3r";
+"phfextendedabstract.source-1.0"="1psff7l4917izgx0id3ccl4fk0zb3s090db4a8dcm56lrrpxzq3d";
+"phffullpagefigure-1.0"="10vdd225whr0y166xbfc8qbm39vmw3ksvcjm7ylkafyp670ckc3a";
+"phffullpagefigure.doc-1.0"="008q8mf85s4dfbjxbc0k9zpwazbvhbfcc0hqvn679v23kxgfphnx";
+"phffullpagefigure.source-1.0"="1xwiygkhf3ggmgl21dsqmpq6238whn20wzhwn8znhh9sxwa58pyl";
+"phfnote-4.0"="101mhf3pwshakfnl298yl6fsyaa7xqw44j2g5z4vjvvvl53i7ksj";
+"phfnote.doc-4.0"="1y5vnm9y3lxkl58gzhphscffzirxv608qg6bjk6xf82hz8835nac";
+"phfnote.source-4.0"="1vjb4irvrh1nn4gc858zsbjybshr9ky7h1var6yr1ys2p7fdyy6c";
+"phfparen-1.0"="00is93n463f5iv4gxd18sc3w338h6a38xahrd1r5j8mv2d419wq2";
+"phfparen.doc-1.0"="10ninpjl9ij19kw8y8pvbma34b1y462qdigpslid2g3gyagkrs8v";
+"phfparen.source-1.0"="00bd1j7zn84d0lfkw08mc93q2ayg7j7bq9klcvvcd5m189spj30h";
+"phfqit-4.1"="1mabnz0dz0m098dxinlmx0whkw2ph2rbjc52iy1xj64aiik9v737";
+"phfqit.doc-4.1"="0882ddy6cpg6ca1y6csxw19j7ipm482mfqlp2ldsiwpcgnzx8vkz";
+"phfqit.source-4.1"="1ac8wpm1mmpwc50cyswv7hkkpi9b2fnhhjkzvsxx2arvdpz07k9w";
+"phfquotetext-1.0"="01na6w8kspl4i0i1s4cgnl4r5fdcybqxx7mzdd6mwbd24mh971a2";
+"phfquotetext.doc-1.0"="091rcqssy0snh6m0z2pwpflfvvf7fsrriyb9lq0f5pnpqqhya8ds";
+"phfquotetext.source-1.0"="07q96xkawcsiipr87nbwfawkcqmgch8h695gg8wlq091q2wrp452";
+"phfsvnwatermark-1.0"="1jmq6l0hb895bfqh2qycxpimwdgp44c64cyxs3vnfzxsb4ii4sz8";
+"phfsvnwatermark.doc-1.0"="0bcj2m5x107sswwg54zhyfdfdhxn14klnxkvb1hc56qi4wc4vkwy";
+"phfsvnwatermark.source-1.0"="1q2l9w8lll3i4bjna6csx4kdpai58i25gn1yn0z4p0pbzqvi08xp";
+"phfthm-1.2"="1hk4wxxw7l7snclkwikk0n90y6h8g1y05ikkz0dwpzxwswn9fjnd";
+"phfthm.doc-1.2"="025hl2lz0avbrbv341cgvq5jar40vrgr2rsrp817mxrbwlc53qfn";
+"phfthm.source-1.2"="0gajcnby3vwmgsgyginhi7fcjssayfc73mhg6mhhdkxi0n2gfnxi";
+"philex-1.3"="01m80gaawlxnga76rkqwwrg9bg0szyd3qi0d3zyvk1n41h6inijx";
+"philex.doc-1.3"="12s81zvlsddzscvlwqm080y6iv1wm5vrffp9aqdlkpcf0fwlriva";
+"phonenumbers-2.3"="14hfp4f9shm5kry1gnri8q8xmgvsz5ysvfic5539lv5rn0hj3g4h";
+"phonenumbers.doc-2.3"="1y7rv76mnsh7vlpfdxn6nnyqmn0cg30vaanhir14wvq8a4qbil17";
+"photo-18739"="0d9mkavi2x4wha1c9zi2fswv7vsi4hr0588gj82vwmwlrb6v8gsa";
+"photo.doc-18739"="0xnxkv1rkz4c7wh7dm8rna2g2zf9i97aaajlfqsr6ls1d9by4zn2";
+"photo.source-18739"="0vxja102ajrygarqfg0y7bmmhx2my66dlnfp7rsc4kldi1g2fs3j";
+"picture-1.6"="1i2775x39n5vxspy555rwn86384yyapl70kcfir96prp1846rfjd";
+"picture.doc-1.6"="09gid4bb2wbmaqday94qj4r44cpk57rxpzg6grdcjg4y1dkjph0b";
+"picture.source-1.6"="150wv3jb6hspwhkjnbxff5izskvqfvhvqxbw773qikjjxsaidqgb";
+"piff-21894"="1q0xdl6ip1706wxprpd85vycyksbnn1ws091gvmpdhn6as4fxg9i";
+"piff.doc-21894"="1sa2l82yndb9pl8bfmnna20ackv9rxp7y6ljjyix3bpksqp20rwq";
+"pkgloader-0.7.0"="1vmpxv6x2dq9b4ddj3xxqzkxz213bvz7qn24jlx04svdrq0cnpjn";
+"pkgloader.doc-0.7.0"="064qsri65nyy25sz8y9avpxyg3rzcspjr1cfc5jp0vfd07905zix";
+"plantslabels-1.0"="16hzr9zavc26mqddsq4yzb2y60r2lh1yjlna1qyaxqrq7fr76g1z";
+"plantslabels.doc-1.0"="0pvy9gaarrwr4f0bzdhj3xgisfmpd73rfcv9mlw87k3l9y2vly0f";
+"plates-0.1"="1238w5267spw6liidzxd550hjdjxsg3d1231l9vf5fmcifllsnmg";
+"plates.doc-0.1"="0w1jn22gd938zqifhbiikgggbly2fjhiwjdh2jq66yax7p76pjc3";
+"plweb-3.0"="0yimmz965gsb0ddvq3ck28x73p9fn08c42f4331088130l43dkx5";
+"plweb.doc-3.0"="0ad3z41r1a3wkwr7lr9hf7n4bcas10fdjky7f9ykam0244r5q4pw";
+"plweb.source-3.0"="1zpnyzxf125qqz6j3m2182yn71nkrlaan1qfwl98v020iia6vyv1";
+"pmboxdraw-1.4"="0a1mp38f2562yq3nzv39ffwhnzwpamy74pvqnigg7hv2v7blkijh";
+"pmboxdraw.doc-1.4"="07f1n2wpfqrd62agh0ddw67fnl5qczw16640h3v5x7yw31dx4n29";
+"pmboxdraw.source-1.4"="0mqg8xkhqy18m2sbp2i2sv58n2hxf05qr215kbmh0b53lbp16pzc";
+"polynom-0.19"="0vn9k3vci15lq0f6r2354ag4bs55jcq6571wvz3k4daym5ka57s1";
+"polynom.doc-0.19"="1cxsw0b5vxy191xy5clf15hb2cpyyqj5ipvgcw9n0hm8ka3g9l1i";
+"polynom.source-0.19"="0qh4w6q9qch3r41ps38yzlv850wcqvf6b0b6vqirk9lq978k387i";
+"polynomial-1.0"="10w1vq7101hnp2ifaa0j9mfccg9y4s3cyms4m63sx54lbpj6rc1r";
+"polynomial.doc-1.0"="1vn0i77hzr72xkj6ka4r8n0g0nbz382z729v269x6p5j9qqmiz21";
+"polynomial.source-1.0"="0hsb8yyk6ssih7fpc6qiwaf40cwn8xx4jgwqgpmfgkc0x1qkpri2";
+"polytable-0.8.6"="02gsan2wakxsw1niq6l82ag2rkkasi1nclf5yad2kl6c5654gp47";
+"polytable.doc-0.8.6"="03k3qz08bfqjyw4ymmibabbaciqz3srd2hll9np7xdphjhf4d2i2";
+"polytable.source-0.8.6"="1sh5wsb5i1f60sqdych0b3zjcli2h4g46znb0q6n68r4ma7xqixm";
+"postcards-21641"="1glfwj94drccwmmsx6icc9vyzq7w8kvq6flkkbg1bp0rrkjf448j";
+"postcards.doc-21641"="0cvhgz34mplpjzzdpy2bxblmz6qxxlshadj8in810g3y22v39khl";
+"poster-mac-1.1"="1b1zq9ay8fxqn9593f8n10zlkirw2b0piic71b9fx6s9a7x82w7a";
+"poster-mac.doc-1.1"="0wc0194ixbrl722a0djm704fmbf49p7vxk5fyv6d3gyznja54fxz";
+"powerdot-1.7"="18ii2qxz7c0wal5xqddyzd2j933lg4z7xglxsxn3vgp8ffq5kr3n";
+"powerdot.doc-1.7"="0zpwjmvlckp46ycdldf049s7qvgbpx8cx5zlvzh81qhgdlgximhl";
+"powerdot.source-1.7"="1v7pxr134kndndk542f7bs34c5kj85xy0cwvwlhnav89ff2mh5hg";
+"ppr-prv-0.13c"="05xs41xfm5hjpx9dzrngaj824rr8cpwcpvzxsyp1xpzlsv3gk1m4";
+"ppr-prv.doc-0.13c"="0rfrxzfm34kn4sgj1dzvdyjx7s7nkyjc785j7pgb609svld6jvyk";
+"ppr-prv.source-0.13c"="0miijdgcsn709kpp0zjyqxyxfgk0f798v748brmqshb6mfxbryzn";
+"practicalreports-2.0.3"="0rv5rsba1xdwcv89fl640yyqqk8c8vf2w647yqz8xawm358la42n";
+"practicalreports.doc-2.0.3"="1a7p22pkmb365haizgg3ainxlr2626mg6p9962cy0933hb59llcv";
+"prelim2e-2.00"="0fws0ssw09yzmzlvkz4sl571yi6yvynnr91s76vsfxk9xrzvkb98";
+"prelim2e.doc-2.00"="0madkchnll3aymjfk002ika9awnxqwglwa30mrvbdd3rvghqnm53";
+"prelim2e.source-2.00"="1bbcnrlhvqldvacxms4jclk5khh618wqkkyyib1fz2c93maxmz6g";
+"preprint-2011"="0qs03jsxjp1cl48lxnvzh7p3pnpxfv8143979pknr06r24g25csd";
+"preprint.doc-2011"="0zkaw9x3ziwddsv03acbmc02isp74ikpdva2azzsl1nzk0c3qs3d";
+"preprint.source-2011"="0y0mk3118yrm95bn22hdwn9qay3j7j1ijkr30hpysf9l11z5ck2c";
+"pressrelease-1.0"="0hrx80i1nfwyhhda415v67qxkgj6fqbg4bicirdn749bwc0anhar";
+"pressrelease.doc-1.0"="05spvrh6dfq16z9jlswzqrwnscnywp482cv3bhak4vavbxs8bf35";
+"pressrelease.source-1.0"="1c7nhvaxs4xlycsx2n6bkyy6rhnzc9ddcnw6cccpgilds546ns4v";
+"prettyref-3.0"="0akbp6wsxn4swk0kwxw27x3lpf5anwk49bb8pvssaj4xy68hyq1h";
+"prettyref.doc-3.0"="1wmvvsz7y0idwfki553qkfhg8j7k5h79nlhmaz6ln448x8gym8y8";
+"prettyref.source-3.0"="1w9qckaw403a8nyqyx8qyqdn3zfkxzgfzj1hdw5vwi2805bbfy1f";
+"preview-13.1"="02397l99gs9mmx8arh12xyvzr6zlj0bfz8hp5g45ki47a4xqi329";
+"preview.doc-13.1"="0isix7b9qn6lhashmzr4dns0iyv0nq8x20y6y0hgz6zzdqg4a72l";
+"preview.source-13.1"="012ihy1wbcl6pbw6la13qbiz9kaqhw124cz7c2glxyvy37jmhn8a";
+"printlen-1.1a"="1h6q95dvpldmrfbpdv9v19p34iwq3jzz7vs0z7b6fnijyybjxnpm";
+"printlen.doc-1.1a"="08p9zwkgjpkh7ip3i54qjdazgnwq79v15hvz4j4y2dvh294nmrgn";
+"probsoln-3.05"="15zsh16v5rs0baqvy9jwn59d95qj6glvc5h054ldb8sy5nwkl3sk";
+"probsoln.doc-3.05"="1l5mq047bpdg21mjdjwfs6ghdh1cb19bf9y5939nlw1wyy1flcfk";
+"probsoln.source-3.05"="1lzai2ynjnfinf38jdqb0bdccrh58jbhnwnpm9ikskxpzy7v262d";
+"program-3.3.14"="0ay2z8ga10zr5p453ss0w5qqqyknsgqd2hifa7lq0gih4rml14pa";
+"program.doc-3.3.14"="102c9fir3hn0m7y3lkj9j0vwf0srbv6inq87lcxwfkvc7yw0rr2m";
+"progress-1.10"="0wgkyvyf24666kg79h7wq1piq6yq2nkw6k5g0ydk3y4gwzzkfhlz";
+"progress.doc-1.10"="0r303dr6yf1r5kk38c1njjra7vgvp9qrblxj7zd8fw1vlq2sc7fg";
+"progressbar-1.0b-4"="1d0d6dy9ssiij19s259d2ns2k5v2ccc45anhz1qm7iqli12ij0m3";
+"progressbar.doc-1.0b-4"="0bxsgvql8hqv4qw1pv18vdxcshphdpbb29mqp3pbbsd4crp4qb5z";
+"projlib-62869"="14yinnyw7y0d0yvrhb211bxqkx8qwwv4y1iwkjs7l0nv2s74qic7";
+"projlib.doc-62869"="1qknc4gd7h50qkxfh8j0vs1aizdaxs5iqfbzlbk94nwkyf1d9kfg";
+"projlib.source-62869"="1082bhw4sb5xr1829rs7m4ambbkvxcxz3l4hbzlc7kwn686j8wyy";
+"proofread-1.04"="0gnn7zkzrszglcqcwz8c4i13apildg7s93rkp1z3h5m2gr9w9v42";
+"proofread.doc-1.04"="05g3k77vczdqk19gigs9b6w8rccvcr0d382ysqn0yg6cgd70bi43";
+"proofread.source-1.04"="1mggrm4cfji364ylra3ffdhwbx6phcxwfzw2mwls00msk7jdzpsg";
+"properties-0.2"="1pxl101mc318ivzszyycwb79rqghx4x8xr9fvq216ambs7gq4sji";
+"properties.doc-0.2"="1arkdafwmhg0hm11as4mb75pjz2mnah1l5msy5xnlk4asbwfc4sb";
+"prosper-1.0h"="1vsjb2r4xnlwwdjbnkpvl42c86rkzs2imsq762n2w6x41i591ics";
+"prosper.doc-1.0h"="1f5w1vb4d7z990mz6iicjakqhszcwirphwv966c66j2jc3yvalfn";
+"protex-41633"="0i3dvmvyxfwjrp6fy5bl1kx2c9vapj19vs97jg3rkfrkdbk0mhdc";
+"protex.doc-41633"="0wpkhhp2asi3761nvl5gp53j3vr4iakfy4rhciv5l1z4gw7d4j29";
+"protocol-1.13"="0kv4ndgdfmwah88sspp4maca6z1l39fg41bf803kapp34nfxqggr";
+"protocol.doc-1.13"="0mz77awxgv9jk97xnl16rs34b1zdqldfi3m2qgdi9y3synrn25x7";
+"protocol.source-1.13"="0q0vxm79xpxkgr7yf12mqkpj69b75smyr9kl5jw2c1j1wqxzxh16";
+"psfragx-1.1"="1kb769ai57d7zg3bp0r0mspz0a2l87qiyg04a87iqk7vxrwv0bd7";
+"psfragx.doc-1.1"="110n7a7jgfmzps5ng4gibxigmm3dpkqlz6jpbnphrw1pnlskwjsv";
+"psfragx.source-1.1"="180yrq0rnsb9cd8j70jym06k543q211fzzswzg0dq8fzn3hk2wwh";
+"pstool-1.5e"="1g8pmd13f73v8bsrcpf4a6hh00pww6isz00gj8cxnj0xnd4p9xwf";
+"pstool.doc-1.5e"="0vwxrcm29w8fiw4mmr5jcxrlc122k4s1wg1sqvmzqypwpvyls59c";
+"pstring-42857"="1f7a26xxxzwfgprhzxq4ay597sln18hjk8cmlzjy342jy45g6dpj";
+"pstring.doc-42857"="0ngxd95s8lzpsgirgrq4dg0p1dwh4l0gs99nhich12v6l19jd29b";
+"pxgreeks-1.0"="1j93gwgk66k3fwkhraapis7ddj8a4bliqh783psdv1054j5fspqi";
+"pxgreeks.doc-1.0"="1md7q2q0b2lhffjm39cxzxf86rw8759zxwj5sbgavzdhyc70ssli";
+"pxgreeks.source-1.0"="04vdi4wf7lw15v05jqycm66j1iiy6g13qrc1ynrnq0df8b0zfs1g";
+"pygmentex-0.10"="12byiwqxbg46wajl8qd55qp5khr0dmpmq38vkv75anc8ffap306c";
+"pygmentex.doc-0.10"="14nv8i6vnpjhdfs09ba0lwqhf1ndfxkhm5p81lfliy7mlpqgqi60";
+"python-0.22"="0brs0hydf9vqwlvxipfrfxqjblazgb8ziy4brp2bi16bnsz59ykm";
+"python.doc-0.22"="0x1nfbv7fmyhzhgy6xsndhd9nja8xbip436kg7ygscjxml6gibgh";
+"qcm-2.1"="17pryjm0r6w559lgkf03aws720zsap95azfbixm7p8lr1gy5nwlq";
+"qcm.doc-2.1"="0wx14xsj4sy6xpcs87bji6xfarfhlzqdzgyyx2p8439m6ay3cpx1";
+"qcm.source-2.1"="1gsfa9bby33a5qgi4p2awr91gn8p4d2qylz32xmzhp0x6fpqhig3";
+"qstest-15878"="1xk4vqqics2iwzxck416za70cksx836qrsm4v8idyg9kscvjr1jp";
+"qstest.doc-15878"="19ddnrz4wjd51h8g0z40db53wh0zlr6m1nfczghc5b26vvcj14y0";
+"qstest.source-15878"="198xvadvk9fb36kxzv1wpis5qb38dqaxsqva6l7l23kz3sb6k849";
+"qsymbols-15878"="11jlwr2pwrxck0xcw2szql0rdynjr2pk4jgzlqkpcardibfr385x";
+"qsymbols.doc-15878"="078qxbmv1zgg73a923sbfqnwmdwg1qkfxra5r8dzi8wlq1cv29ii";
+"qsymbols.source-15878"="01lmlclv9rlkga19mw4ikngdpkxhmhq77kylln8kjhcpa1cylk5c";
+"quicktype-0.1"="16qy6rxxkdkkli1knibhbm28jg80l0qjsn9lsb36b7z5xwxj9f21";
+"quicktype.doc-0.1"="0ic0lkhj3rdpwfsrysm5qidw0gby11kmfnzbh5k2fpkfarwfhxxb";
+"quiz2socrative-1.0"="1s6g0svlkg503r5mqn3iw90qyw5lwpv7dj92yck7ymziv9p59qkz";
+"quiz2socrative.doc-1.0"="0v9x0jxrgiscblh8w9wip07di78glgzd0rn2fp1hpzabi8x94dvc";
+"quotchap-1.3"="1284ldj6pfqq6mz2a62pi81k1jca8xkc6wa1wbrv3kqwfdcc8cwa";
+"quotchap.doc-1.3"="1bnhvp91adi4bhzwddzl16qw6d74in94jq2h16lk06aakcwr72hd";
+"quotchap.source-1.3"="1g2cfb5j1qjqads2m9ad9a8n0j7ihrvd55q9b56jd141a23layb6";
+"quoting-0.1c"="1sghajwgfdc1p0gifii8wz1rvzsiy38f4jpfmh5pys9w6nr9a8bj";
+"quoting.doc-0.1c"="0aknicilv5rn3claf77l5br5mr21yg1dhdc1j1yxigz9k8pljzm6";
+"quoting.source-0.1c"="1h01p11ahr4ykqnhgl0kwc5i68mw9wznswrxy9ab5rpma1agjkzp";
+"quotmark-1.0"="1v48482b57w6f1cx0b5av9cq26zhgcqkwi8yllnl9p8pnrjngc9x";
+"quotmark.doc-1.0"="1jmdv5i67hsbmybjr8j2sv7f7z8bm3a30yy0ycyp6b5c3ycqx04n";
+"quotmark.source-1.0"="02bg50nj945gycxf8kb7s9c87xwszprq3zynrxxpzixrxqd06pf3";
+"ran_toks-59515"="1k31qcvbdfx5xknykv9zlsijgzxcw53amb03avwbqm3kly5d30r4";
+"ran_toks.doc-59515"="1jri3cb862m8984awdshlqc9wwcq0hbjw6cf2yqgb9wn186gjfyd";
+"ran_toks.source-59515"="04ix834glql0yprygm5s2354q62cwsz39lfk871n8s9mxjd2f1c2";
+"randtext-15878"="11a4j40zaixjklf4rkzb17cxnfmm6lp9kph3kkp2kalz41qamc0k";
+"randtext.doc-15878"="1g8nwiz06w4a1sdvdfch5yavar11mj5xpk631n5ym2d5g7hp0dm9";
+"rccol-1.2c"="04nw4h7z4k4rnvqh5s602l8h05n85iri3p3cpic4ss71ccn8c2dw";
+"rccol.doc-1.2c"="0q3qb0sbhnbqwgc0i9bw27s317rbz05k6pmvhad3m8mvlsbgh285";
+"rccol.source-1.2c"="0ss2436k5fbd25cynhw13lq4ns4payl8fi8lc96vi0kvn6jmkwrq";
+"rcs-multi-0.1a"="1n60pzx6qrbabksj2aqqf1j4i1b298ldsyjg8z6pmhladq2r3ia2";
+"rcs-multi.doc-0.1a"="06lqyy8igbiyl86b8fsl968sv94xcnl1amppyf8hmr52dhdqcysc";
+"rcs-multi.source-0.1a"="1pdds0kh3p3rkdn2nrpyfrw224q3rfnahypif8n0aijkcxdlw3w0";
+"rcsinfo-1.11"="04j1sq20960w5yyf37pnzvwaknl8f18mx6rmj2s2vch8bcncdzjh";
+"rcsinfo.doc-1.11"="02zyrgcd0m77xp5p95v63b58mv0h0miqlziagwv1rz3ywvmgwhk7";
+"rcsinfo.source-1.11"="1fgmppgp0n4arrilxmrjn7h7pf5jq7gm6drdz6njq8w1l1qxlxg7";
+"readablecv-3.0"="1za8mnyi0vvwfn1i4wcrmba904jxi805f0v3507nfav55h1x343x";
+"readablecv.doc-3.0"="1ixyxxiv5pcyhqx1ddwankc8ymfm83123v8d5i4lpwdr9g9h4jc7";
+"readarray-3.1"="1hx39j04h7y14qrp75q9f5x3nnii62pvi43ww48nk02glxs9y5kq";
+"readarray.doc-3.1"="1v0f93nhylqs5rz2bxrkfpzlvwajsz6znlyvdnc0gxcbwg330j1q";
+"realboxes-0.2"="0xyp6w8kbycaqmrkkrl8701c7shvd9i16vvgs28cvr61nkv3mv4s";
+"realboxes.doc-0.2"="0xd95j7wgv3yzrzq9lvdxpzvvvki2an8kg0zm29yz01m397vmys1";
+"realboxes.source-0.2"="0r0phiq8v15ra9a429j63kyjv3w2p96myr8czijfcb9g4920jvmm";
+"recipe-0.9"="1pnyia45nx32r1ng711k2l3g2h4r6n67nfxvg193z4mz1i20hq85";
+"recipe.doc-0.9"="0hhm5l89naj8vzjnvf2ambpawq7scp9bgpfjzszgb6069c486bvp";
+"recipebook-37026"="0ianmda3ji60acckagmlsmrsvi4sxp3prznvzqkkkvv88w1xbm8n";
+"recipebook.doc-37026"="0fmc59fddgfs4v6lsba04g334xlkhsl1liph7v3yx4qj6l9dxlkp";
+"recipecard-2.0"="195lg2kvww7amwls014s21l2pnyp24c8cfyb3glrxphcvcdhhr6q";
+"recipecard.doc-2.0"="1h13vn2zw880gvzi1pc8j41wa21ygja43hrjmyav4zxziiisrnwq";
+"recipecard.source-2.0"="0fkwvjxjhaywk61j750a05x0s5fgb96q5n3afcq056yf01jbvsxi";
+"rectopma-19980"="1ivjyfhl4g3j1j0xnq31rcnl66z3xwaixyzs8wwmbf1y18lgzyb9";
+"rectopma.doc-19980"="0gfvsjszqrn2r1cm7blk0xnrnv94l1a7ialwhvf733vm1m699lja";
+"refcheck-1.9.1"="0v82jjddvis01n2ngw7yngv4kh2impw77s1yq360sxqjym2m34ng";
+"refcheck.doc-1.9.1"="0ckmd4wnjl0zbyqr5q18whb927sjbz1xgdg1hg5w4ih0g36sra63";
+"refenums-1.1.2"="1dlfd5dx3mqfhn73y04lafcbiprqicv9kfz2ylnd4fhhm62svb7a";
+"refenums.doc-1.1.2"="03d3p9d1f0pr6gk918qiq7p5p6k0cf1zh209akl6a35042a6nms9";
+"reflectgraphics-0.2c"="11kcq0dijnwwxf6d3s0fhk7nfhvn3v36lly2wf21vgsl387dkkaf";
+"reflectgraphics.doc-0.2c"="0iwcljjlk1741kw6cayrbjhqalv74apppw612gh3nhh242nn9bwi";
+"reflectgraphics.source-0.2c"="0hy76c57w4lw0v77qaf064j7xz327fprdijljd7myy02idlszbmv";
+"refman-2.0e"="1adim1622bngp214hsdzjgjkjcv7b24a6aaqzihlms76vfq0hklj";
+"refman.doc-2.0e"="1jpx3yka29lpssvhjl12h1bxj0k996x7a7rf1742wph6w1n5ymmy";
+"refman.source-2.0e"="134hq9c9kdr7rgzmp5jkjccqgfw10zwv33zmj25b91xljn5afc6w";
+"refstyle-0.5"="0nx762gng6bmlrala884r4mjh2vjh4r20yy00bpjzq0il98hs2lh";
+"refstyle.doc-0.5"="16dm6n9mh488li57ighbd3badiavxlmy1ffz2hln6lkd9qp2y6i7";
+"refstyle.source-0.5"="09mxinjwbidd8sr6g8hb4gdq81ifzp67jbw24xc69x82kh48r8pq";
+"regcount-1.0"="19n0gwvh87pb2fanw52rc5j540v9yw10h2r8svczim9sdginy56r";
+"regcount.doc-1.0"="0qnxcyh2vhkylaav056lc2vg24y5h11svzy6hrk6rr3sza9k6z2k";
+"regcount.source-1.0"="1xfk7qs4x302lfi93a1n8nzpsmzmypyb34d8hd7h8y6nm7q2g4y3";
+"regexpatch-0.2f"="0i8dfsr32f4w3lfh88z45sdhvwzqgh52xqfqgj53fvynblpz9msw";
+"regexpatch.doc-0.2f"="0qh2g9sdj971a75dv3jfxi3ga3mf6fmb4azphkdgxmm690dblx35";
+"regexpatch.source-0.2f"="1iq45q093v1n421r37w42815yxjb7iby426a48mvgzyc1c82rd37";
+"register-2.0"="0i084dij80m292c9f57hb0y3gs870520l8awl3wb21ss76vs5501";
+"register.doc-2.0"="0zi950xii9qbscbv5030aw02arc77c8inwxmzkslcmapdqxq5wr4";
+"register.source-2.0"="1jz02c2c5xpinxninb1a2bkgan21gijs48rks4xv17y7k6z9h00v";
+"regstats-1.0h"="0rxapv9sd1i5wvb7ybaq84bjjcy5widjrgsfbkgg2w3zcanb6k61";
+"regstats.doc-1.0h"="08iqkmpa3pg17ik8x49v5xwg8a08806xvp9d2xyamf8ndrcljnh4";
+"regstats.source-1.0h"="00k0b24g1c1kpzpvqka53h6c19pxw5cf4sw0ymgllr21agri6mni";
+"relenc-22050"="13ym795q37rmxhmr0d8834y272si11f0qh7lmhffrpsf4d3bhf74";
+"relenc.doc-22050"="1hb2sdm9lgzfkj2kkbrlb3alnfjq4rw3islgdzkqbcgqp9s06f67";
+"relenc.source-22050"="1gk7nbczw9b897idmsgqx6i8xdmi7wizhb3dyc0hir7qmivaqv6s";
+"relsize-4.1"="06sy6v0jscrj2qs7axm770xv8fkiivvj5lwb8mkf58gd5jwc5bgb";
+"relsize.doc-4.1"="1sgv3x3dky3i7xivh6pzqh3lrqjhb62g0ji0hdgmy9blfrdf3api";
+"repeatindex-0.01"="1z4z6bpfjmgn8mkpcl1rsd9m1jxdx6lx2kz83r43d1ks5zjc6wn7";
+"repeatindex.doc-0.01"="1vcq9vbfw4dwif9q5ki0bq378yd4sg5g2yxr24bjav97shd9iaxk";
+"repltext-1.1"="19h9qfzz9idywv1bi4qpl8yqv73lwj6s6aqxqhb8jlh3b2scp4y7";
+"repltext.doc-1.1"="0nhr1lpbb5nvi7mfzrjxfq7ii2kib8klzcsqg99b4pj3hcwhv93v";
+"repltext.source-1.1"="1phbwgyvdm6a616wzvlc24jm40k4hbyjsnim5g5jr15phlsa6r2f";
+"returntogrid-0.2"="0cfik8imjgrhgilc7005cgy31h1azjk15jrcvd4vpf3g5ml1hpsg";
+"returntogrid.doc-0.2"="1plnz793nhiq9y89x7i51bgp9d18kbi0bpwslg982hf65yklmiwr";
+"rgltxdoc-1.3"="10wpra4vdjvjsq8n6iz33mnl69b13jbslp6ccf5b61va4v66z78l";
+"rgltxdoc.doc-1.3"="0xsz70p88ij6djhlf7n1718fxqcngfxnyl60h3ia0xi1gjzrbk1c";
+"rgltxdoc.source-1.3"="1vzldzdqyiqfaims3a8w378k4bfwxyznmw6028xvwrk7abq1nr4f";
+"rjlparshap-1.0"="1af2a5fmzx1mmk0vprx8w18rqgab0dcm1c7sfvnh7v59lgvkh6rv";
+"rjlparshap.doc-1.0"="1is0ny6a5ndhgl441vrv7ik4i0br90nlcddiabgmshwyn87kiciz";
+"rjlparshap.source-1.0"="19kvfg03r3nr99a9ylk3yr6nnq8r7cvfp3rsi2vi10m19jz60ssl";
+"rlepsf-19082"="0ycf0md4d2bz8003s0q4xi6qdjspi8z1dp5040cm3qm25p7jsrf4";
+"rlepsf.doc-19082"="1asi443gvl34m648ap9j5an6fx5x94s3v4dp8bqvygn615jhd0na";
+"rmpage-0.92"="0y292gcfkj0nk8090iqnlrx9mhvh545im2xms080kz0l1847frpc";
+"rmpage.doc-0.92"="0rq7xjizq8nwg9zk60gjd9vcjvxyc0xaldc4304nyihfjxfyd00b";
+"robustcommand-0.1"="1vxsxdg6122psbplm22l7f193fv7rd3dadcg6ys4ngzy957acvig";
+"robustcommand.doc-0.1"="13d5rsj95yx81bfbansh964dig4hjp5raxagzws58f24l8imvfzn";
+"robustcommand.source-0.1"="1zgnyglhz8i6hgzxlj19kdw31z9kx44zj2vziwkhcpr9clxl8as8";
+"robustindex-49877"="1fl9vr5mynjg8w74sk2jh8vgj5yjpmyhyr107iblmcicgwv1sd9y";
+"robustindex.doc-49877"="0xf592xvmh6xmw08zwwcsn9xyadd9637vicnz95fbfpp03p9qjnq";
+"romanbar-1.0f"="0p4a1g1s22s7jq4ahvpqspx5gkd6nhwifbf1shjp53f38myy0bm5";
+"romanbar.doc-1.0f"="157glkgzh4c5zv15akrlvfl2m03i99hfrm952x919137jkvjbpkd";
+"romanbar.source-1.0f"="0w70p08k9k1bwf9ls4wgnclp4iqj4hzn132ny4s11lzcaj4v8p5l";
+"romanbarpagenumber-1.0"="0m2772qfl5862l6m81rrx4xcbj1s7vhk9x0ywsqnr8qxl1kmv3h3";
+"romanbarpagenumber.doc-1.0"="0mj7kh8jvhscc4clf2199594994xdx557q0nnsk95srwmncq8f50";
+"romanbarpagenumber.source-1.0"="0hq151qq6wb0q1xhbq6jqzxfh3zss9iyya5wxv883a8pd79rancj";
+"romanneg-20087"="0y9nlxbjyiwivw9jkc0vz0lj3b0nvj9dcd4sj0gxgxa1dg853rlp";
+"romanneg.doc-20087"="0bi3b9991x1pvh8s8yrw5031jkvvwkrwah78qfd5rlywh2ylnrr4";
+"romannum-1.0b"="15zjf8wbjif83vnib3y6vqxc138aplb93nfkh95wl2rmahaigmw5";
+"romannum.doc-1.0b"="0a8zsbh28jl761ir6is1l05n9jyvzr31y86qwaa714yxwpzak0s4";
+"romannum.source-1.0b"="1gnvnj1l88l66mrhvd50cx44wws4a45708jmrncb5mnf0i6v7ci5";
+"rotfloat-1.2"="01ycgag2ip0kxdsaymfcndmbhfcc95ppkmwhm3imryibm9112bv3";
+"rotfloat.doc-1.2"="17x7jdnrnm333cq706cdkgzcyscq1k162l0rg3qgvknig6991v64";
+"rotfloat.source-1.2"="0ymb6xbsqqj91b9vkfzdab1ip0xqqj72zm1kd812gjgkpgxc3jfv";
+"rotpages-3.0"="1pqfkyqs8ymfqsvq35cpv438g8a3az6sajh2bszxncl7m3rqa10d";
+"rotpages.doc-3.0"="069jlj27xa7vnl83bx5m4k79lky0ayvcl13gqxlk8an5kdwmdr3j";
+"roundbox-0.2"="0607rknc69dnzwajmgaq1n8ixv884bqp5n9m1g6n2d9frmmh057i";
+"roundbox.doc-0.2"="1vyna8wndg79vman54sv24hbdlv2jnrdkiwyxgzcwc2zv29asxs9";
+"rterface-30084"="0wlscg6lhqar791sz1d63mnprxvaqvjx0mfk1pi1c2zsk0lnpghs";
+"rterface.doc-30084"="1ghwg489y801j2c1s5c7qpv9yyh4g6higapzjw95nmmyf32aka0h";
+"rtkinenc-1.0"="0q024qcai2slxd0ral92pzzl4apqn5gr8gj3vw7whz7432m4z7gj";
+"rtkinenc.doc-1.0"="0kr27a2294bj80f3qria15bjpsvgifgaj27zv9wj11rqr5g4zm7g";
+"rtkinenc.source-1.0"="1kwg3qbk2ldq5mirpvg0cmhd3nyz79jfdbw7y37s2c86g3c5j0i1";
+"rulerbox-1.01"="0srxrij0sxvm04n6zk4vq4qqmxbjz3v425nx191z96fpjcssx2cn";
+"rulerbox.doc-1.01"="030wrw1ry800yixlgb11xbm5834njv3ad9gl4jv08x1pxkj29vcp";
+"rulercompass-1"="0ky611n65rvaii9b5ic498p7divfm71h843bv9h70v363mki9a0q";
+"rulercompass.doc-1"="0wqgnb9czbmymzmv7j48lgdv8s280id5sh8mwv6p0jqn69zcpdd8";
+"rulercompass.source-1"="19943zfp2rm3gdm6w5db01w6r1nl0kn4zkrnnxg4ic4n3gvv76px";
+"runcode-1.1"="04icnl189d9vv1dpd6pdj5xcngrblxpnl8gwyg9m1g88y3qxgn1m";
+"runcode.doc-1.1"="1afa6jrh8adas8ya44vcinvlf0kxy9vmnf9s05ggag3yj2a3nv91";
+"rvwrite-1.2"="0gb5j3hn1s28ar9d30g158xfc2vaavhm8cbmivr1ba32njdmmqcq";
+"rvwrite.doc-1.2"="09n9p9q4pjil70ydk9cjh2gqxdslnhrg9avfhj0vvfacknbmh312";
+"sanitize-umlaut-1.10"="1bzm60z3gyd3s75dc8n7z7rjqr05713lna6i1z9l55fqnbxz0m9g";
+"sanitize-umlaut.doc-1.10"="04vgqh10ydvincbfiqfq5cb77f9mqdlpjgbr8a2dhnb7v02pfiag";
+"savefnmark-1.0"="09i4rxdm2agj06fwggg9jznjwdgvqlafhmf8krncc6vsj8h4ih8n";
+"savefnmark.doc-1.0"="07w3im9nz2s72p502gzryyrccj4g980axvihrk5b5b3w0qzlpn4b";
+"savefnmark.source-1.0"="0wdb9xsrfddi3sw3g4gppv7vn70f3czjplgbr7pj1hna8grig5p8";
+"savesym-1.2"="18z0xwarbkb6cm7n29wasa04d92g2pirlzsr0icnzfip2f4j7524";
+"savetrees-2.4"="0bzr06y314xa1r105vrc9nd37akqcsq58j0qxzlyhc8jvbji9ajc";
+"savetrees.doc-2.4"="0c00z409by0qp0if8ccrah81601w8njlsdylj42achqr1f9q8rvg";
+"savetrees.source-2.4"="101p1q1in7qp2nrkz48c7wqfdrg6mj7iqxwg44aqaib1wb27g5ak";
+"scale-1.1.2"="0al9axcipchrzc9a3dscmv3yvzwz2388w8knr4vw51mn72ws12jj";
+"scale.doc-1.1.2"="1fbbdksmcrd91sixwkkgljnbk08i9jfhc751vzggrj87l38ym67c";
+"scale.source-1.1.2"="19nfy1dcq5bd23dnl9aa8jimyif5sil9lf8b4hspyq7cvzcjcplm";
+"scalebar-1.0"="1q9jqf46j12f9rav2j4ngr52pqfyrc4h9xj66cgb3mcc7nqgmc4w";
+"scalebar.doc-1.0"="042xgbjlibp1273400sg7p6fzdzbnv344dgnrs3y93gk6g7vf8k6";
+"scalebar.source-1.0"="088k5a86279b7iwci0wzxv5wnqifqiwc5kc85701987x5qiaajhm";
+"scalerel-1.8"="0b4ppffs7zcg3y6i3c6dnjb2rl1xm5rz7k5mxm08qj4dpdhyjfpi";
+"scalerel.doc-1.8"="1js1z2fkxy7ixh069hmg5cxm33xjwwg002y64m32wj4ldb7shfk8";
+"scanpages-1.05a"="15q22kfwbw6scnx8q9dj3p0hr0m86lj2asy9fp9s0a15xsbhq1is";
+"scanpages.doc-1.05a"="03lpz3836rwk5nk2sbbyv9s0kvjbw5ld9cvw1n40b5hggivc2sgf";
+"schedule-1.20"="1p36glmixr7qadjj91j9rlzph03rp8hfrrfdqcg1ayyzkinr9a6i";
+"schedule.doc-1.20"="198yxgq4255q9bqjj141d5rvzjxq4rw1363gcwy40yagqs4xhxs1";
+"schedule.source-1.20"="1gc4zpw7ylnnv9k9kbqjf8r83srxbiqmqyy10xnp8gx7xrnbmnyx";
+"schooldocs-1.1"="0j8s5mcwgc0xgbp5n0nhgf4v8jdzqdi0iamz8nbny2makz2z1gab";
+"schooldocs.doc-1.1"="1rmjx23s5r4xz3szpq4jhapg18cjmpzmad8whgyzw7hxcxd0cl8s";
+"schooldocs.source-1.1"="0qkb9912i062g7a1gr22d1dhzy05sr2g513sa07h02y1kblcf3sh";
+"scontents-1.9"="0jjc5q254c4qqvhv23r6f92dqh8fgza9kas6vpc7j9kiklkjilmd";
+"scontents.doc-1.9"="1l1206yvlyf59hcjf8y3gsanwxims96jp4k52g3wbr0pqgq3dfh6";
+"scontents.source-1.9"="04wzz12zh694ds8p7x2rmymg352ahkf5hcx1xacz3craf3p0sjcc";
+"scrambledenvs-1.1.0"="1r6a2k4n1h8n8svp40yraxjxy8xbrrj8d5srgz081n2fb7g6qdqx";
+"scrambledenvs.doc-1.1.0"="0ql4avpcccx92n4mqb6cn8g6zbq73238c4ilr4jj5x18afsg5f98";
+"scrambledenvs.source-1.1.0"="04xrips1nk27apwgfgr0qzn29h5nzs1810q66vlfk1qlmka2gszy";
+"scrlayer-fancyhdr-0.2.1"="1fzlwlzkqhzdhnz2gdh399a6kmp9f3czd96s6ydl0k5v47zph90a";
+"scrlayer-fancyhdr.doc-0.2.1"="0y37kwqsaci2wpklz2xhkh7x1f1v1ql84sx90ssd6fpq8saf25za";
+"scrlayer-fancyhdr.source-0.2.1"="0dvilqmf5xfq0djxy0mv8q1bhr94v5m765a6iz3bniyr585zgrvw";
+"scrlttr2copy-0.3a"="1as8ipxhssfx4hqa4s246gfim09nl35dx1wanfc6p0yk79nm5lz1";
+"scrlttr2copy.doc-0.3a"="0hsyiicb359blk6m4kj5gddlzwphxr12hbrwbp34cjfzkbh5ib5m";
+"sdaps-1.9.10"="1s9vs9ffjl5i8lax4i5ij7zjv28d75sm7z8frssm1cj0fb0wdq01";
+"sdaps.doc-1.9.10"="18096xagndh28fkiy4sd6nw23vik781w4pybqnwjfy9hfm3h6c9l";
+"sdaps.source-1.9.10"="1l3m01pggyxpnr2nvqnvzwl12lsv7m3lqh7h27l77wnwip7sjhz4";
+"sdrt-1.0"="15p0i40aa82f9lgdiy7wn5vbkbb4z5hzmmr4g52w6jisx8c1w45v";
+"sdrt.doc-1.0"="0y1gxcyms3wprp47y2mlfcc68gijyvyc6h10ivif1yydmxq1b2ki";
+"secdot-1.0"="0pnimi0vfgp5zsp0iwak0r0j562w59cl1fn3pnp1gwjz65q2229i";
+"secdot.doc-1.0"="1v8j3l2bh055b18zxl3287ardn0ns5qjgbqkj08qxz5ls912y2br";
+"secnum-61813"="1zpxz6j5is9f2iaj53bqq2m73040lmzn60h9rwp9kzvlafciss7x";
+"secnum.doc-61813"="0dabcwh85mvq73sqyi9zkbslzbhhns1sqrmvddvy1yjww0lf2q3k";
+"secnum.source-61813"="1f8dfi9vrlh71bfb1mi2ll0gqcd6jbv5k96jpmvrpqy0pv1i2ckx";
+"sectionbox-1.01"="178z63iys35al6g5lavqgdd1lcadha9rp25bzm41gyg84f2hpljk";
+"sectionbox.doc-1.01"="0mk0ijbrvmvky4awh03y2q14ks4x9hr2pa84ia0380xfx56849kp";
+"sectionbreak-0.1d"="097mwp2iqg6rk1xxlppqnks0j1k45b0hlrg84x12y0cgrkd7cdbn";
+"sectionbreak.doc-0.1d"="0kmfpgcga24kpzm9kwc066a6m4kzw2sfkhr815yc0y2a1agj3zfw";
+"sectsty-2.0.2"="03ixlxxs2ss5lrmkcwilrzi7r46krh21rli07y2j79p8l23n7vrh";
+"sectsty.doc-2.0.2"="12xkczxiw3spyljn1ay9z0xrxdg9ziidnyryri4pkmsh5k60wxw8";
+"sectsty.source-2.0.2"="0h94wh43pf8bphafhcmpsjzj26592c30pih0x3p7csv8dwbv6js4";
+"seealso-1.2"="1mqy9br1fz73q2l6czmhly8j6dnw51d50dkfh9622793z0a2cl71";
+"seealso.doc-1.2"="13sg11r8d8bd9gmscprqai5lbjwfvr17ida17836zagz83b6y16k";
+"seealso.source-1.2"="1yv4zwq6aic2wb5wiz2564mh531i34r9sl87y07yk1ad89kgjbv0";
+"selectp-1.0"="16kcbpvjsdc1ndhhflfmnz0igjyjc5k62gcfly447w7d13qsg2s6";
+"selectp.doc-1.0"="1frpv5dbxfg708xp03hs4vkgqsxjihn3yk3qvcpns6awjlfi2n9d";
+"selinput-1.6"="13pxqr1mzkblniv9rcrr5aslx887xjahjj9f27h7hpx6r4g7hk17";
+"selinput.doc-1.6"="0pbqch586hfwfjbm68g7i56d0jcgg6w26k6g2qlfdbk8mjpc4r4v";
+"selinput.source-1.6"="0na8byym8s2y2jyi1691cnw46izri0y6ybf3g0pmil2hpxy544ry";
+"semantex-0.513"="1y68pcsnzv9mn3g282hynn4j19vnjzgb9iirhivxq5g0mh43zn3x";
+"semantex.doc-0.513"="1r8h4ckc0d83a8gmxnh2vwjdlrfpdn5jkvsv9ml9q9lynadwnhmy";
+"semtex-0.45"="151sfla597g5n0nv676sbv5m4kfpmjli7ddhd1yzsiqa3axw7vhm";
+"semtex.doc-0.45"="1mm9ya9ls0ryfxzkss3lfmslw9wrbcq9d5abf022ifbs5184rgnr";
+"semantic-2.0"="1vf341vlmgc00d6srdwjm0a2spad674439ml9k6ir24pll39ia73";
+"semantic.doc-2.0"="0rr5kbn1yzil4h0j42v48m4mkqk8rzwcn05rkn8vs2s13az6djna";
+"semantic.source-2.0"="0x2qal3q0m886lw5xd9w200fkq4hn34qs2kqsr7i7dcq9xwl57qp";
+"semantic-markup-53607"="10ahkdiwm4h5mwigkzgjiq2xmy1lzgjdif11zajwckv2xng5ckgc";
+"semantic-markup.doc-53607"="14gv3pgdyjjjj8l8vfa2pgzafyqlq0666hbk0cz6497g99z4ga15";
+"semesterplanner-1.0"="1d69y3s4hhv0lpf4ljxg7r5zg0g1fhjw9b30hhpkxvsbfdbl030p";
+"semesterplanner.doc-1.0"="1a7a927gwspc21drqqb72rymyncip4b15w4q9cy654zdp16b5i10";
+"semesterplanner.source-1.0"="0v66xizbjvlzvxdwamny8rggwb0ivwmhlzpjkmm7p26s5l9kd5m1";
+"semioneside-0.41"="0lmr3fxahcln1sf6fg4mkrg8dl3k3670wmz14kpyzd131g73l1iv";
+"semioneside.doc-0.41"="1n7iy5qvd0f1hxp025w9x51llx8cwly4lc107iq5yz9njdwn1g30";
+"semioneside.source-0.41"="0vshjv6nzbp29yza2vj4g8hfx0sbbgnd1s7ck8ms68zcv23534j6";
+"semproc-0.1"="0yvs0kqk3jwq5yw7b8wwycfrg1v5q47mdq3bprx7rb1yh83ip53s";
+"semproc.doc-0.1"="1ycq0qdrhxk9x9gbhigz3vpldc0dfhb3nwmz5v9i45v0l2m5l3bc";
+"semproc.source-0.1"="19v3w2y9406r5bhjchc6rsfb2brrw7f7sb8ikmr8586gdsnwykk4";
+"sepfootnotes-0.3c"="028x18s5c1jxsw97idpj8fmlzs6h46nsgd8zg0awikhdmypl9ac0";
+"sepfootnotes.doc-0.3c"="0mb7fidrjns48c06pk7yfq3csac74a13i3d2cgfdvn7lxz6lp419";
+"seqsplit-0.1"="0m1vlslfac4n7fwhrmcl0swx1rf80ks2p3psrszwd8rz79q6xlc8";
+"seqsplit.doc-0.1"="1wbmr7hayx3kzwmbr1w1hlhyyzz84skbahd03bw0akbgk0qziz1p";
+"seqsplit.source-0.1"="1ibiys9lfj92mklzf4lvdzn192wv843zxkv91grjjba8cvn12w5d";
+"sesstime-1.12"="0nrwgky0rh7lazd41h3jxlb0kgpk5q7hhbgkfdab41zrawjp9y86";
+"sesstime.doc-1.12"="1a353bn7z135bnk2a8q57x4z8d03aimyjfqx3w9x0r81rwzns605";
+"sesstime.source-1.12"="0vrwbbmfwfqpvsfz31yid9rxzdc19749fwhlpimx30arqpd88jhg";
+"sf298-1.3"="05px7n24nn9rlrc02mgsndzxc5a397m6c0n3sbsihq0qy9zl6nqg";
+"sf298.doc-1.3"="0d3fh5dglipskc7cjcdg2n836qnhfcdfkzpalkck7b85kgq0zrbg";
+"sf298.source-1.3"="0afcavg1zs5ldi9fjhsnvsph4xqwy8jkhil8jlcqcqbq39z73pq6";
+"sffms-2.0"="0av956vbxjwf0pywp4hrxag1ypaj59314i3xqinq7xhwwxlr7g6b";
+"sffms.doc-2.0"="1aq8bs7bsbrzzl2bp7mg2ckccazk107ckjl7118m5d2rk0mf09pi";
+"sffms.source-2.0"="0fl3z3f3pm7060cfxn218ycnf1y7id8kcll960h9jvpqkq3dhx26";
+"sfmath-0.8"="05m3whw5xkml48yx93j9h46qmspnr5hwsfszb59l4wy4jfj66zk4";
+"shadethm-53350"="1miq7szfh1nya53vcn9kv3m8jb1sx8p1v7z5m3829ynbyiwr7z9v";
+"shadethm.doc-53350"="1gbjisy9miqp0mrciz793vvhj0a04vaai1ixi6vzplhlx9gknv6i";
+"shadow-20312"="1avy8291hmmvbrqdn4yza9w8w7a7hbwlh38sl7288c6gh1hkyibr";
+"shadow.doc-20312"="0rjfdi2hm07j418q3fvrf5pxflh1nfkhrk58nsa23fixxzaw5nlk";
+"shadowtext-0.3"="1pnnskcw1nq6m3rlvsa69dxq828dx0bgggg8n2p2bxnr9gmnba3c";
+"shadowtext.doc-0.3"="0lfvn68d48yh8smf4w8c1is67chsfnipxc82fx6mal1czlyn73hf";
+"shapepar-2.2"="0siq7d3d5gr91s3bc5873540b1ia73ggkf1y1bs47zb3mh4z9g0b";
+"shapepar.doc-2.2"="08bwm9a4rq70swqibj9s0i4042fnribqz93jx02xd0638wa51pph";
+"shdoc-2.1b"="0casdf6vn89la2vgqy5zcc04nlsrqpiz0zj7mwlf6w2zqcpmr1x6";
+"shdoc.doc-2.1b"="1vzz7q88xq2dg3r1xf4idgvdqs4q4w5lplg9rvi867qa8qcf3ly2";
+"shdoc.source-2.1b"="0wxd21fs45f9d5y2ml3w50d7z8ig25gv34iy3mldarnqi2v64p7z";
+"shipunov-1.2"="01mckfm6ikchmld5r8mdy5x472avh473bfc7lk4rqan8p4wivjrl";
+"shipunov.doc-1.2"="0k6x9nxsqcg74z9i462qix58qycf3wjii5ld13xajn04g52bwvpy";
+"shorttoc-1.3"="0y1sa1l5g19arc5wdnqp0jzvqn51m4gb07acpcp3ajqq7n7yaf3y";
+"shorttoc.doc-1.3"="13nlpmb1asrx8vi08kb6kcqg6szhnzb6667crj9xchbk3zm9iyil";
+"shorttoc.source-1.3"="0a3hl98rl5qadx1mqqla9hw6i1s3324i4la2kwdazhxhvi6nxm0q";
+"show2e-1.0"="0mhpxhvgfnzwwzd9ahyzdhqxzqz9sj6vldrnbjy4n0r4fv6c67pi";
+"show2e.doc-1.0"="0zfir9yzh3mgpkldcak7hzal0mwls90h1m5vxiax6h2izfkrixfm";
+"show2e.source-1.0"="1lnhqxazyz2gfgkgbj7l2140x81bgsxb71y8dagcqazjzdmqgcdl";
+"showcharinbox-0.1"="013an5sq2kxrfs04k51ldc9vkixag1lbicl614sbj3n3ixgk15db";
+"showcharinbox.doc-0.1"="1zdxvlj1jspgkws4xmwa8yy7aaxqwr33lmzkicg6ayy465jmfk9b";
+"showcharinbox.source-0.1"="0b8hq68lbd0xjyd1cj3qsw1rd4rvjsihd6s9ab5v3a0q1sm5kaw3";
+"showdim-1.2"="1pb5qddnvv4kl79fcp20zkcfgxm8p4zix82g9431db3bbavvmkri";
+"showdim.doc-1.2"="1hc208xi8c4ihxb9nsk6y5p6p43yyylqh7jgy8lai2a526xm2hgw";
+"showexpl-0.3s"="0gg8bp3pddkp3z79z8wkh9263gnxhcn6vxhgp2mq7w8i166rrsyc";
+"showexpl.doc-0.3s"="0dv60pc2p19bzr1fj2hqkgyjry9j8ykcgsi0v3xpvzh91ic9v5q9";
+"showexpl.source-0.3s"="002v6m0gzzx4kr8vnw75czn58cmzjnyyfyzi2hvfx9ykh7nmibng";
+"showhyphens-0.5c"="0imf6fpfw30wh3x18c6s62qcf3avyca3sh43nd10rqb51rxq9y7r";
+"showhyphens.doc-0.5c"="0fcjqbpmxccf2r9idx2gzf0vwix0w271qsw74wq0pcnwi0qx41ni";
+"showlabels-1.9.1"="1h5qms5ss727ixrxjhaql9pddhh7fh8g5dybfb3gi49qvx7r1fng";
+"showlabels.doc-1.9.1"="07hyi1snv5vigr01fqjanz12l6rfpk4sikv5sjk34lg863b1n83i";
+"showlabels.source-1.9.1"="002ag7asi4mhc36zdrnp3mi4dyx0lx4n7gqmddqvzv3f0i0pigpa";
+"sidecap-1.6f"="0ars40rnriqyqiakw7fcd7fq5xz0wmhwgg4m255fawvyyyq5d0n2";
+"sidecap.doc-1.6f"="0873j451nsgbh4jvzjs5ppfyzmrskn7rfh29m7p8la0z686driw8";
+"sidecap.source-1.6f"="178l2mniiniwp5irg31m47janniv182m30llyzp5gplv3vfv93pp";
+"sidenotes-1.00a"="1ip6ybhfihbbzflafcqfhspr1d1x44285msahf7f9ilmhd4536x5";
+"sidenotes.doc-1.00a"="0f4nqbw2y36ymgcj7ywy9gf94pcg09aqk4kjpankksgwmvyjbsxg";
+"sidenotes.source-1.00a"="15kz5d5038vi03siq6lbbf97nng1024hx8zzgrasm304sf2c0ggl";
+"silence-1.5b"="1zixww8d87jymdvxjzjhvhjjr5f8fxhbjwqyzivki2rhw6dpsp2v";
+"silence.doc-1.5b"="01qb2z62da0ji751i3wbhq10rfin23q20r7wr0fzvqv163niy93v";
+"silence.source-1.5b"="1m5xiy5j8l0xy9731mf0jvk4f6bh7d22vbsgpjpvy5r0vxafgxwv";
+"sillypage-1.4"="1mqmv57jhiddwwpidhi371jg8jk6aqsc029ch0ddl71g4y566hmw";
+"sillypage.doc-1.4"="0dplfcm2yzl8kq4j01d75qw8glr37bj14024wxmg7mhalka1ivyx";
+"sillypage.source-1.4"="1rgj67r5k1yxanhdzhgp4pw3pavwxxjjbn5hzynbfss9ndcpxk05";
+"simplecd-1.4"="0d6gw59xd1mqc991yy6k5jva88j66pd69k5sl5jrysl4rw1mxxng";
+"simplecd.doc-1.4"="11fzk8p911v1myphghzpmkj7k62vk4sdicirys1jh8rd2cpnnwcl";
+"simplecd.source-1.4"="16g6fcsr0nw7isqimjq29g0zyf72z11qx9xz36zq8z4khxsl09ln";
+"simplecv-1.6a"="0b7p6d8y7xa8xs9i2qyljk2s992gprsr3a5pjalkkssa5kiz3371";
+"simplecv.doc-1.6a"="02x3nwmxdk9spx5crlaw1xdqlwah04m88zrrw4wdg0qjnhvv4mvr";
+"simplecv.source-1.6a"="05ikxmvflqz5m3qallwgyncda49dzq4fibllgc1j77pdh99cy3vq";
+"simpleinvoice-45673"="1mdc6aij1id1jxlbkwfdvdv87yh55v5qyazfciffpbf91qm87z0s";
+"simpleinvoice.doc-45673"="0lvk87l3xafl4s303rhmksfajnw77qd90yvzhdk126dp1prh7i6p";
+"simplivre-62834"="0r2pmmrj6ghnj47plms3mhr3krr1hjkri6cvxpb094rnsr74xsj4";
+"simplivre.doc-62834"="1vv82fkkiw8j60401a89fpvf5lj16y9v2nyyl354rvjrd7441g9p";
+"sitem-1.0"="19z6zmwriwrlcpgdgn5yl2bzbz0fkn3p8g5hrwd368bq7wyfc8mi";
+"sitem.doc-1.0"="1wwnqhl3ffqnp5qxddicqwsr7515g6j53rx1rgi9b5z3cv42f5qj";
+"sitem.source-1.0"="0y249krv2h241wy8xbi5xjrxypa56zipi8fbmqbziw9cjjnz993v";
+"skb-0.52"="0k441znw2bn13aiyc6b5hskl76hbhcpilc1xg4jw837dbj2v6qiv";
+"skb.doc-0.52"="0qi7l9ky0y65cmcp32j93lhwlvflvz8didq9c77faq7ffgzz51s8";
+"skb.source-0.52"="1rnraidwhkxlhk09ppa5k0ndqhrra4asbpjwv2j5dgf70wfm5vmh";
+"skdoc-1.5d"="1bqgnqqv5806f375xjny7vjd831ymdnhra2rbgh5hwls7v9hwp4j";
+"skdoc.doc-1.5d"="08g7qrmasrl302pxq94dk13y2bdbg6ipxg4f774kzbp8zwqa2xwv";
+"skdoc.source-1.5d"="1qnyh8gqbk6dhkga2v9gg97q0cbbv8hpcc7nwjskwckc4jxplqwy";
+"skeldoc-0.1.2"="0fnkq85bidvd6m14m90w428ndx54fj2855sxsajfzyid63jrfa9h";
+"skeldoc.doc-0.1.2"="1jgg6h4cdz6ir7ks61lyq9ixczmhdcs34mi4llh767baffvb8340";
+"skeycommand-0.4"="0z5jpznmx09vc5klsvp4hldmlgyp4bwz25gp775kbmad8azad1x2";
+"skeycommand.doc-0.4"="09gmmakvxhvrh7k06vjh6ly1hmax1z5x7vqxyqdwi90ajh2zkmgc";
+"skeyval-1.3"="1an6ghhsq5nibwas1csypz9vmrmsj7jviamig1r9zzjrb5kzs65a";
+"skeyval.doc-1.3"="107higin87d7kca6753f8f61yk3ypk5hkidrbckm1vzn2ci515w9";
+"skills-1.0.0"="15ra36iiz7i9qb4669j32b26hzmjyx0hann3kd12769f2khb3ial";
+"skills.doc-1.0.0"="03j6cj9xg2fhab2a048hb2cs2ddqac6x7zfcf7p9s8zgzyqqi8s5";
+"skrapport-0.12k"="03y0arbbj95jnicmz9d89vsyw178hw1410vy3ydvf8j88j8z57sy";
+"skrapport.doc-0.12k"="03b3zp8w0m5kffx10j7qnikdfy6yznvvzlg5hj30nxam4za51n91";
+"skrapport.source-0.12k"="0vwhckxi676ygxc18rhcsfnr5kp1j5697zyn7ir5qxhm8vdmqf33";
+"slantsc-2.11"="1a05zrd8bqiqgh2bwlll2wspmd4xnvl7p8mz3g4j7nkvx8bp4844";
+"slantsc.doc-2.11"="196sqfqgxc7pfyi75d0nqy151if55k3wlvpq8ai7647rmapn17np";
+"slantsc.source-2.11"="1jw70y8052qvjkr796sz9w0c6kdyammi3gy5v8iq0wwmf38jl8qf";
+"smalltableof-20333"="1g0kh262h9xv5zr2yix9as4ghfsrqnhj8y9gzb66xk90i82pri0j";
+"smalltableof.doc-20333"="1q96blk44d3nv5bihz81a25a43vbf9b86d9w00cl9kkin1zzkf6w";
+"smart-eqn-1.0"="0bjkvgyd67v876dgzp6zwifal9dy6mlhqvjn2rzrigrddvvn3j87";
+"smart-eqn.doc-1.0"="0m3ilj749zh2apxr0748dhhm6bfs0a6gnc02azjsv8wqj32bdz11";
+"smart-eqn.source-1.0"="0jxbyx3fsgqmydrzjymqa3zi21xigqpnid46y1izam8vc1m78w23";
+"smartref-1.9"="0g8dy72b8q65pw2zmcs2yipclpx3g445v9snjnyxbb3q82asqy5v";
+"smartref.doc-1.9"="1nwl85jj0d97djdqkczdw3544vhazy57fx8psdcvfdncbvpk84jy";
+"smartunits-1.2"="0jiz4mhyf4zaikq0fi4jvan27ngksrv7z5gmch88qj7fapg4xhna";
+"smartunits.doc-1.2"="1cw6k8bvj5xakh909jq3x527jnmma8wa7dwp1za8hsajwmmfzxgp";
+"snapshot-2.14"="0598yminjxp01imxrbzydqjli0i2ws1f9hw6f3qhs7xykfacbaml";
+"snapshot.doc-2.14"="0j614bp2fydpzr2lx9xamn36fn4x0wwi5a58013ds2a8iiha6k1l";
+"snapshot.source-2.14"="0bh7gy9inl30h8y9v072fh2malc07cjwizgxc6wvm07n2x3vidfh";
+"snaptodo-61155"="0wxnac52wv3aknjs8vsw17ghxn77xiqffn6badyp0scyr7gvmkbc";
+"snaptodo.doc-61155"="0036gs7ybs2ilhp4lhzc489r5ai6ffx0ha7fn674qzk3qn5j7zkl";
+"snotez-0.7"="1nq3ggbdpkpydaqzpfawvvny8azgbmnbwpl00wsl4rhi7jbqsfwc";
+"snotez.doc-0.7"="1v82nn2y2kk8h34j8gidrzlx8nwah5wmdk3qigw8aa1q7vrkj5h6";
+"soulpos-1.2"="033c0arpqhrypwy5grpc8c6dnlc7k86iq5wglm6r02bdk4mcw7hk";
+"soulpos.doc-1.2"="1g99lgnl1m7nffwdfhmmb4zgjwpaiq3pggbgmi19p24z7qc1sjlz";
+"soul-2.4"="076n834lx41qw6p661dgq6massdxycq8b3gl4564pkh5c1s98ggp";
+"soul.doc-2.4"="0rgd9ij3hd5934gi2m23hj8rxgqamprlkb3gj921kslx32rixm5y";
+"soul.source-2.4"="03ggiykhjpxnklnzyhc36b3pf83nfa6nn1swxygkn6jnyqcypf8p";
+"soulutf8-1.2"="11phsqx1vqm41d8cvasn53j1zyl4lkwsqnbpk1hmhn7pd6ypv9yh";
+"soulutf8.doc-1.2"="0fkzw127xjxx1z3q9ixqrx93i2j0mn85h7xbfdxkjh6f9k52s333";
+"soulutf8.source-1.2"="1k4xal0bk73z1zkgnfydjh0m8x92s1jx36nqqddfmykycxij7ypl";
+"spacingtricks-1.4"="094lwcn8mlzkkq31m0dwvmn279zghzvy8bd1x807knsw3zx95n5v";
+"spacingtricks.doc-1.4"="18p3m3q4imavrf8fcb1gvqjvps2fnn88b5w5256sg08kra65jdcf";
+"spacingtricks.source-1.4"="1vgg4h9qwgsm2c9iy6inih5fpa19flv887c8cqafd3na65g5g9rr";
+"spark-otf-0.05a"="1z9k0dnahkq2nfqs3plpyb3fdj48x8vcav0ahykd554fygv5h4x3";
+"spark-otf.doc-0.05a"="07pq90xx911rdjdyr0sxg4zqfg1yb5kn43xc5l6hn0y81m9j151d";
+"sparklines-1.7"="1mb6c3mial9ashhvmjhynczjpb462j18qyy2an4ckgwgc46pwhp3";
+"sparklines.doc-1.7"="03j6xdkvsv5p71bifmggf69w3s1n7758yii1caz9p9bcqmqbnrk9";
+"sphack-20842"="18vav5d5846hzn6ry7ypnbj9vmxxxxjxm8wpxah9mlml6kjy5hc0";
+"sphack.doc-20842"="0caz10cwphajhni7rq8klh7x9m46hynbrgyr0c7fjqs8jfdva4k7";
+"splitindex-1.2c"="03x58nb9bqd1fn3k9fqq5rdafsna9rbxjhp44dwzig8kp81f0g0i";
+"splitindex.doc-1.2c"="1v2wwls8fgb1rhk91hrjsabxj6plx2bq7h07fyqxvl3982am9wm5";
+"splitindex.source-1.2c"="06ksmac3dxacfq7j4ad7vy9kls2rnay1hww3kgbp2sgadqvwmz0z";
+"spot-1.1"="18ich1w6d68xa2p65lh22yfwdkvgbl9zz9qmd4yx84ljzby49zhg";
+"spot.doc-1.1"="1flizmkafy77g30ffsispr2m4yaqyfw5hvynf7ppph1q07jqdy0v";
+"spot.source-1.1"="01sx1j1sxr1bgi5h48ij02nwawg2wgg1c7mx22q9r4sbn9mprlbr";
+"spotcolor-1.2"="19xicma97v309pbwgdyizrjwwnlas95wq0d2qlyw7m9wrq295lpb";
+"spotcolor.doc-1.2"="1qsdgagx45z4gha0y7z37687jxrc121pr592b1xcy8bhf86nimhm";
+"spreadtab-0.5"="0zgiys6ry7szi6rvrj6kbnlysr8nss66j3xspqwc9j2jdp5c9lp7";
+"spreadtab.doc-0.5"="13c2rgms44wmbqvfi1yi7ini69kjv55bg3czwgx2rn99shafzh4d";
+"spverbatim-1.0"="0s7042ln9l7jvb0vyrmg4h4fdgzy6vaabr62n7zlkr8pf7zd8nvh";
+"spverbatim.doc-1.0"="1rb6gyq7j5m14d8707gkqv1n5ifk1y497mwflhigqgyi9lgcvgxc";
+"spverbatim.source-1.0"="0f3spbpb6icwm84v4lq0skkx53nw3i0b90ik0svd9dhg31y24c43";
+"srbook-mem-45818"="0znvycl1land17f2c9cq09hhhg4b677rixzjc0hsq34c91s3xdq5";
+"srbook-mem.doc-45818"="1nf53sq2ic8y70z0n28kz27lji35slwkxrn8rz0dsaas73ga5k2y";
+"srcltx-1.6"="054b8g0vvhbzazxs8913dzir7qb6x5q5pfsiwdp1z1awkpafwkmv";
+"srcltx.doc-1.6"="0fidv12pgqck21fffgrrz2a0pfsb01fsyld8qhf5r00915aai6h3";
+"srcltx.source-1.6"="1sj23lc6k8kwd11q3sq6wbslwl4fsc3wzp45w4by3mw5k1q5xqcf";
+"sseq-2.01"="01vqjmi5vpd2s00sqqj6nlwgqvz9c43igg09w282khlca471253l";
+"sseq.doc-2.01"="08xq5fjn951hdpbrvzx6p09a173radfh8a4wzhmifd5rca9l7asy";
+"sseq.source-2.01"="0a1rh7s1fjxn3bblqz4lzhd9812d9p71wwww5hg9nnpn3gjvdr6n";
+"sslides-32293"="12vg8fdv0di8vgnw8wj1y6rad6izmczfqzy5pr6gpflzmn14fbq4";
+"sslides.doc-32293"="1dssqc7f6260hl527hhqq8zbiyszb13z3bny3rwjblscl9ia29yf";
+"stack-1.00"="1wadfhja3yji011aawrp3jgiqdxil7lzvkd1pzy9c9y63lzknfg5";
+"stack.source-1.00"="1qv2bvjs01lk9b86rzb7n0lk2a4gr870qsnahyrd9dqdnvvz4n9n";
+"stackengine-4.11"="0m0c3sgajlzb7y598y0rpm29mrlsxmks6a0hi1b56vpafsi906n4";
+"stackengine.doc-4.11"="1ga71wrnd8ykhw9x3a3yxqicqaarzxncass1lmyrh1kndim79pyi";
+"listofitems-1.63"="19qh891v470h4617fj9ajddpf119qh087ng7ay9q73qhk90fhs62";
+"listofitems.doc-1.63"="1s7gl5ai3xdpj05lxhj80hc1i48x2lhcanwh4v3w10yyzf13axyc";
+"standalone-1.3a"="18il89hp4lcxyvcyafh9mfisqsxfr03y8vjjp5d0q222aw1ah2gf";
+"standalone.doc-1.3a"="0z7mvcbrfcvb7livkv5qqv2d3mkgkajzknxlp9ail4wf3k19lb0v";
+"standalone.source-1.3a"="0g1n118l3v6g4amdazpjk4qw1y67j1v39hi35rw487yabz5qlv7n";
+"stdclsdv-1.1a"="1130sj024qfsszjx4adr3bmmr6594d21bcv3ixmw75y85djha1iz";
+"stdclsdv.doc-1.1a"="01li1x0cc820y0m6dmivjabnbhz6v1j696cwx3d08fiw4x7n4jiz";
+"stdclsdv.source-1.1a"="1ypihjm5r0v2isrrv8152fp59ynjn9wmhp0ffx508n7kih9yisbn";
+"stdpage-0.6"="13q3jc6snrscq7bl22myd8rb04q9q5b0a3xvr609j1lxczbs1xnc";
+"stdpage.doc-0.6"="1kr7851lc6lp4aq78xc61nw495qnhnrbsz0w2yyldwfh07h4byzb";
+"stdpage.source-0.6"="0ygk73pk79wgn4qpg0niv3d0a4l8bdhrdvv1a9s8g6ayngfr0nsd";
+"stealcaps-1.0"="1cfq6w2s7yxdsjr2c61zwndcnlhin57y48k8y3lr3m5affhcrac8";
+"stealcaps.doc-1.0"="1jj9g83q6g7pv0k35jfa0wiq8ypqymh9sjjhppnnagd5zxvysr3x";
+"stealcaps.source-1.0"="19pnsn1w7bvpghnc8gg3zw5m29hyacls94gp3lh1aa3avmsks21b";
+"stex-3.0.1"="1b23vlg878gf09dmv0ypysg8v4lnascpi0338aggwhd8w7y6ny6h";
+"stex.doc-3.0.1"="1laga965256hqks0a9h9y3sfgv6173hn4a42irzm6pn65ia5jhrk";
+"stex.source-3.0.1"="0bl92cmp96p8fdnp7ysjsgbmyr0x3ak7gmkv8m2mxdi8ydgszssf";
+"storebox-1.3a"="0vy7iavq6qqxpmwhm9cz4gxp67nriq230kcf1mr1gq2w0ncy7kjc";
+"storebox.doc-1.3a"="1crb1bkra0y2gjzf9wndr5c3nvc83v57lkdglxb8v1pzpy7halmx";
+"storebox.source-1.3a"="1ybpjfrria57fwvr9kriiw6y76ivwvsyb6ayp0bi750smsv8k5n1";
+"storecmd-0.0.2"="00xk8l8l99qpsmkdxcpccf8g7av2asa26qrh3bi0kkmapm7agk8x";
+"storecmd.doc-0.0.2"="1n5vw689y9y2kakhkyqv47d5cin7f3xqfz8bc3yncdrmgh4kq82j";
+"stringstrings-1.24"="178qqf3ii5kaw5rpjazvf78mjb0aw4vnqzxpsv9ahbqfxpa16894";
+"stringstrings.doc-1.24"="0x6hcdp3hlfnd0vn3inq92nja4hirvhg9m37zmsh9ilnnz7dk8lp";
+"stringstrings.source-1.24"="1aryr9b5d4jrj6mc9cmbpc11l2mqxlxsc16c5h68ql0i6z0bpsz1";
+"sttools-3.0"="1sxdf55j0g6gm2h486i023axk2m5ik37ndayjs5zxxkj6i3sh4vw";
+"sttools.doc-3.0"="1l1js9bpslrqih0c5cjdw3d5nkcx96d4idfxw861yx4lhxwzdq08";
+"sttools.source-3.0"="1c74wjq7r3jqq10mf1d87v6fi14b37i90qavwcx6s5bhhrpl871z";
+"stubs-0.1.1"="1p454rfdp2v4zq3vx1716x2w1cr1a6dkcwnj2hx7w2jn8118vqkb";
+"stubs.doc-0.1.1"="03la45gxcy1l1qik7kgcb518n3yvzwgdi5x3ffzfpj4yp2rq994a";
+"studenthandouts-1.0"="1007rr5m0lbfib30bkb21nvpq1h7didqijg6jsbprmkgsz1xfdkm";
+"studenthandouts.doc-1.0"="0sqfqxypkrcyp8fc60xsb1v9nbw7h1xrdai626dlpknhnm00kzmj";
+"styledcmd-1.1"="1llsl8zk7akfbw3kgcwfzfmrgf4gdkimbfcjpp5hlcvyzlsbk58l";
+"styledcmd.doc-1.1"="0a51qd5d5f47mjg17vi1rjm21aj102ycimml21x1d4d4ry6n10ql";
+"styledcmd.source-1.1"="03np0mxifybmzd1m5h74y5whk55xx6khamh1nnx6p6h38b0a2xa8";
+"subdepth-0.1"="1l79nf05yrvpzsbsjyrvyhsc4kx7dfbvx57qc1ymzk2zphnfw4fl";
+"subdepth.doc-0.1"="0g8apcawmna380iwys0dvshrdi51k50gavh8wgwybcvfjib82h4w";
+"subdepth.source-0.1"="0ac0l63sisx6ry7m3qlf0f98dn7gml3pfxlyiab8664cv43df2s7";
+"subdocs-0.1"="1mc1zqvqpw5ln494c6afx88gigkby4zlb5i4gbizs75irgyrs01y";
+"subdocs.doc-0.1"="05m9pcg8dhk8rayald2mnzl0wa7z3w8znwzw2b9ifbxz3cp5k4d8";
+"subeqn-2.0b"="17jhiyzv75q79mdkpn6vj60j61wr8yf8qxz63g16dl4xf1xvlqpv";
+"subeqn.doc-2.0b"="107jnszs764j7zr9hywn7dhjdyqd9mb6mwyqcilhgyz8ggpqpz68";
+"subeqn.source-2.0b"="1gwz9pp8jzb7fsj4dg797rsqynjbk8q69m8xjzz4pbmsysi01ijq";
+"subeqnarray-2.1c"="1bj51jrpvid2k3pd8sgrg85aq4iqachah22izpn949zvjvhrk81s";
+"subeqnarray.doc-2.1c"="08aaqv3ca0b6pnj3f6h7c0l2z7spg0hmzaflxrgxbnndn1zh0yhj";
+"subeqnarray.source-2.1c"="1slm6rfgf599d1mkww44kcd3lj88z43dr8i15imamxr0dz05jiav";
+"subfigmat-1.0"="1vx7qh6na1il98gla65c42j8r00ihy277l3s79jab917b3xmrr85";
+"subfigmat.doc-1.0"="09n91ami9skfmrrrl6j7p7wy62ds64zrr0m66c2wn0pnm6lanmxc";
+"subfigure-2.1.5"="02b2y8isk2irxdm7bcmx22v5lbkbhc15jqpx0dhs61dnzb5x7ag6";
+"subfigure.doc-2.1.5"="0lhpw3ayq5p15blz7pwkg2z44g300fd2k42lvyf7zii67x2rgjh9";
+"subfigure.source-2.1.5"="1mvp7i150kxin5819cvyfwwzgwmiq1r89m2ywjhv87rgg1v31kx3";
+"subfiles-2.2"="10nslhm56kp5bmzr2nlbm40rlp3i02zj4z6vxj8w6cj1vv7jrd9j";
+"subfiles.doc-2.2"="08r52aci5ab4cv70kbrqq1ak4ny627ks43nhqk6kn649pcahjqlw";
+"subfiles.source-2.2"="1hmli1qvgpnn2bmllf1w53wjh63zk92dv2wvvi6fzjpq0q6lqhwg";
+"subfloat-2.14"="1ibpaj98ibx67x4kff1p0cnzpxmhs4yyqs2y4vj6as5jx43qnwj9";
+"subfloat.doc-2.14"="18ps2xbqdf7pgyhj848zw1sbk36drwkpa0g1s9mw882ynz16gl9g";
+"subfloat.source-2.14"="01c11mbfyynpa1yi0arlqcaklikr4sr83j69piznabj5jhb45nci";
+"substitutefont-0.1.4"="1djss6q6l864sj8mbvavdxd6fpmcblhb666hyskwciha6naja8xg";
+"substitutefont.doc-0.1.4"="094ywcg880qdryi970cx12hrnkjawhmpz6mmh8p7cxir80ah37n7";
+"supertabular-4.1g"="10r18kzg7p8s2wp1nydvn5f5vfbailcypqb7hkhxyjzpkdfrp12w";
+"supertabular.doc-4.1g"="0cw3vfh4mxd39n2w1yk0nxjq67pb8s0kzv6syr2s4x3p3nrml822";
+"supertabular.source-4.1g"="06r03i93j8rxw6ddiwmshb88q3h1dc3srlh4djwwycjbgp66xx87";
+"suppose-1.2.2"="1157v4laxbdllf5vqlnsf4cyk535xdq968q33gla769r1vv4yyhx";
+"suppose.doc-1.2.2"="1cigx59dypmjyv11lbf9fyfh4krl9gyp8jiwirhb9hrr9jzy7263";
+"svgcolor-1.0"="1jjsjh5qsra0pi57k4430j5fcjdsdb9gwrzgf9bhkfrwr1gfsmvs";
+"svgcolor.doc-1.0"="12q998m0irshvh46ndv4zzpxamg6jwaxx8c054av5zgpvb9g5x1d";
+"svn-43"="1yvgad3kgly04sm9cwjmp1g1sbnsa8rqqb6wvsip285x9kc6lfjz";
+"svn.doc-43"="06qfqmcdgdaf9ghlpc2x8w43w2f0sbaylyzcwyb3krw1d8p0zixl";
+"svn.source-43"="1f37y92ikznxblq6nyy2nkhl88d818z6wbkf901cpw8sjf79a35j";
+"svn-multi-2.4d"="1c1gq7li7p3m16xv5ad3s08k5wvzjij72yl8gdpjxlc8z3hxxarw";
+"svn-multi.doc-2.4d"="1fwagcrmfhz8qwajrpj3bh4r64hm1637kxsqrwfxjnxfrk95v9d9";
+"svn-multi.source-2.4d"="1799jhirlv8gvnnfdh4mwsclcsrr8919wl7wn8y88xwdamiib282";
+"svninfo-0.7.4"="1npqdiwj6lnwgfnzb4iiyjl6bl55pjc8mml3gyrvd36j2f6cl1z2";
+"svninfo.doc-0.7.4"="0728psfyzblwp3nciax4hncbf7sw4ww4rmrlz4jyrpmnv80qjp37";
+"svninfo.source-0.7.4"="18rcrh0kkqfz1k84my8adn2a8y7ppjprcy77pfqayix4lyzw6syn";
+"swfigure-0.9.19"="0sc027dahxxwc24m6ccqd22hjy6km3p33dvc1ahal48lfjfcjgsw";
+"swfigure.doc-0.9.19"="0nn2y5jpjw14c3g4x7xmg7gp15lr1bxdinxjp0l7lrjk5dl0g1cx";
+"swfigure.source-0.9.19"="1fk4r90n7zrxghg11wcw6ia0ka6nk4hb9z9ydls28h3dhhsj9xhv";
+"syntax-15878"="1gd38myk5lf5fxlx1j8cvjv6pcpcr15r0370ikxf7fczv8s4ab2l";
+"syntax.doc-15878"="0l6rkyidqvvhkrjxs8y316rssayihqimbyqwvmdzqpnfd16rdxpv";
+"syntrace-1.1"="19vx1iz2zxv49znddhcsl7aw4i267fmxhxpszzg2i9z0klm9b3nq";
+"syntrace.doc-1.1"="1dzy8pazcp3lfc009g0n1h0a6q3v99ii43pza3m2gkjvbrb5sk00";
+"syntrace.source-1.1"="0hb5iklz2c7zqrl8zrhkn8k7dj1zgk5gvf4wpr7h32sa83ajqrdr";
+"synttree-1.4.2"="1n2n1q2pwx3fi0dhh3h5dj7s5wrz2r5zpx77fmxjk0c3d45c8wan";
+"synttree.doc-1.4.2"="0rnghg1459nlliwbcy8r60rc9si3ya35c7sl5zqh67sfwla2ixps";
+"synttree.source-1.4.2"="022b2sn42mfdnska1cvqjsafakah9a908rvyw0d326d7lxx8wrx3";
+"tabbing-59715"="19w1lnal4dw6aw6f27z7zf97f78s23z87s1d3hx845mm3j77xyhq";
+"tabbing.doc-59715"="1fl0schhxy4njd70dssi0bprd2p3hzpq4m5v9zmm0mbi4jlh653d";
+"tabbing.source-59715"="0d50zs145vd9rjqv0mljg50q1bb6j3hsixr9x3r6b2yf39jjyraz";
+"tabfigures-1.1"="0fgdwqd2qqqg8k077p6cjdv2ag5z0953jh0d69gjxfn0bc11yyjq";
+"tabfigures.doc-1.1"="1j1klsqcig3gdb4jvcqvm4kzb5zj3fm0mkliflkgm7sla99zw564";
+"tabfigures.source-1.1"="1zkisnxdfdvx7gwgqjddp27sgj3a2qy6mc9vzfx75qf4c6y3q7za";
+"tableaux-42413"="09pi8sm17m1v4h362al448ayhj1h5n0krdaa7zsys00l0w55qm3h";
+"tableaux.doc-42413"="06173sm4yx2a3mfadax16nqj6ggn6yak85l63jiaqdczwyb09kxi";
+"tablefootnote-1.1c"="0i1mj9bq2hj4d7y7za2zj64p5dfdvsfi51147as5kfb6ci90rc56";
+"tablefootnote.doc-1.1c"="071xk16ck9r0jip847ikb2qjyv3ghf1m73w4s619zilvm752c0ak";
+"tablefootnote.source-1.1c"="14vrh8c322skk3rpjpr03fgzbm03khmhf3ifh2fm72yb5cqgbbqr";
+"tableof-1.4c"="1n9faa8pcnls7n1ghqywvzri484j37nwmhhday1wa0rzxqhs5vl1";
+"tableof.doc-1.4c"="1aa9frbqj6676w0v4s2n3h9nz922qsiafh7rxnmw83bmv93sdydz";
+"tableof.source-1.4c"="0as1hwba4vski9vby84j48s88ha76vl2h3yqvn6qkrzyh6cg7g3p";
+"tablestyles-0.1"="05vlmkazizr31l57zm9q4lsw5kinqd4wrmyjgrlgxl130hy3chxx";
+"tablestyles.doc-0.1"="04wiizp4giyh938rfs5j3s9jm6fjz45bxas3nq3lnmh5akcnpy10";
+"tablestyles.source-0.1"="03bxnqry8imwj5ihs7n61b9f689x3c0p6yx0lza71cawh5jx6zh8";
+"tablists-0.0e"="02sffbb22hirw8mdijf7scxbivipmqw828qzdbc49vaxq7ggmzib";
+"tablists.doc-0.0e"="1fwhps6a0j8r5zqcksdqw8gwa55rh2r2la3iz7wc451zk3ddbxpr";
+"tablists.source-0.0e"="1wpir71xwq7xhg41l6sigp55n93v94lashgi6lgr0g9ad8hh3y4j";
+"tabls-3.5"="17bg083653km6v92hifll78vs0p9zwfnj5rbw1pcl2siizf3pfj6";
+"tabls.doc-3.5"="1gnk4blwfikqshqjv4zd4cykp1k6k025h7vnbjrvia11l6kcnavn";
+"tablvar-1.2"="1c3q074gli4k8a9665i9da7rpv8rdqd6x1kffnzm8n3l3nws6y6b";
+"tablvar.doc-1.2"="1jakhzygr71avs9syz6hlrlrabxa0l4061w5x8kzk03bdgygnhc4";
+"tablvar.source-1.2"="0mk3s6fxj1vpi8pr2pvg504wrw13adav02p2l6313d14zfzgp6nj";
+"tabstackengine-2.10"="0zd7gp1k40wg6b5aln30qxbk84ks3ys0d31vlw3wijvh31qbw6xz";
+"tabstackengine.doc-2.10"="1n26fdj1lxwwx1abslxl3vkcvhk6lbnbi0wqi5mhx2n6g6ir8b89";
+"tabto-ltx-1.4"="1ayysa2dfm6q6wli0ldk45mfw9jvj79mdx5kcpiay69xjl96j89v";
+"tabto-ltx.doc-1.4"="0rgk0znx33lk2gafzjbwwvl61xl4kw36h9f66kay0y91cy9ra9n8";
+"tabu-2.9"="1x22myjp1rpg0in3jgjj4wy0xyva8xd5hsy5c1rqqpy67wy83k0a";
+"tabu.doc-2.9"="076ivdvaac2snb4dgkf4hzpnbjqli28hll6s4r6z609c5v34mf1j";
+"tabu.source-2.9"="1pb4kibjcmwn8snfhcm49jjp38i979dac06p471w9bjnsp0khs85";
+"varwidth-0.92"="032izb0vpcwiydg7lli6hnawij95s5ygkwdp4bfk1c9j17d749cr";
+"varwidth.doc-0.92"="1ysrbpv2mmi8fcyhdabvs2jiqj2mkajapjvsf10c8rw6i3yaplnx";
+"tabularborder-1.0a"="1p7iwpalamif71mrznbmsig5g9lxs3l16dcpwj2kzhiixsh78vfv";
+"tabularborder.doc-1.0a"="0rd6k4b00aj398hy247x84jj9c3d0dm00xnaw69p7wvlprzricwc";
+"tabularborder.source-1.0a"="1lrvp6128j70fzwqr61nnwiivgllbbkw7pd53l11sqzqwzxppgi5";
+"tabularcalc-0.2"="057720z8l7ss0kpkg7l16fc2v82xr0wqlxzxbcak5m3hl5k03g7a";
+"tabularcalc.doc-0.2"="0539rar83mprammyilmclcbjxr657z6q2xmmwmlik990imf78lqc";
+"tabularew-0.1"="0g9pbr0vhhjj2lz9bbgwvm49wl8bdwvv1jjggq2dnwwqbr4vc4p8";
+"tabularew.doc-0.1"="1ff62dxvnhi4q1gy8f7qhc0zz1jiayl6f8j96dp0rz38l2is7m86";
+"tabularew.source-0.1"="0sfpx5w61xrmmgip0c746mghhj06r2mn2jmj56zingymm2djiad1";
+"tabularray-2022A"="0ffjbkyw8kldiyq54j5ib20mb9bz5iaqfrf29z6ig66qv6y3hilk";
+"tabularray.doc-2022A"="077zcq01yjnvnqv517chn6vix6i4yxl1603h373i2r7i41sihyfk";
+"tabulary-0.10"="0z57030pg4pfvghjii8bgqba589cabnj8qsr9w1abpwp3pfy4zbs";
+"tabulary.doc-0.10"="08r21q2h7sjrk875x84lngcqgiy5ijik56ly7g7wyzhq3jyxds0f";
+"tabulary.source-0.10"="0lsdypidawyhzj73c3yjs8k4xy2sds7gz8gazxfy460zndsz675m";
+"tagging-1.1.0.1"="0sws4x1h52cd313apfzydqpj6c8xrb8x5881cfhwir000n48crb6";
+"tagging.doc-1.1.0.1"="1pv7savkzm6jhaliw5ilb7qmhlj3iyiz2w6kxchanwrg4pnqabx7";
+"tagpair-1.1"="08qjcwyjs90sg8agmpmm3122h20898hy6dwkm0lk3dba1j3w5drj";
+"tagpair.doc-1.1"="1dkn4gq6zxfqw9h64h7ggkbyrk9vzyax8gmnk9qk8dccdvf5n2sv";
+"tagpdf-0.93"="03hqas2shzh2msj1dr5rsajy6cjmwb6q1vi9556rjj53gl52g0a5";
+"tagpdf.doc-0.93"="0i2dfrjgdxjl5nxzlaqm2vh8szgwc4isv9mvkkjszp28pzmxsxy7";
+"tagpdf.source-0.93"="1hvbcj339n1z92bcacpnzkjy5k9886bkqr4735bhd5k4fi6gx106";
+"talk-1.1"="0i9whk49bahsm2kbj53pjdh3fpg1ixfyxmfvcp563ylr8j2ibimb";
+"talk.doc-1.1"="0rgil00i39p2agz9fybg0h3xmpq0wxcpjcqpbpzjw5lcf4mpcni5";
+"talk.source-1.1"="0kdrknwwivyxiyn8xqappf3k5l1brkwkkhjqa0l5n0abzafkjcy9";
+"tamefloats-0.42"="0mhiz5lxz0szi8ygmajjmldz1bjf6f1lpyxj3b9zb17h9aw8gr4x";
+"tamefloats.doc-0.42"="0s5cy9m8jpxh81c10fgdvn8wy7pnv7sa25hy8wbv6qkr1qwz8dss";
+"tasks-1.4a"="1gwl8g4a2x3sbvqg91ry577hmpxdc4dgcj9ixhsla25h23jl414b";
+"tasks.doc-1.4a"="1pavbpzm6z6najh72z52j089mdg6gqzsa8sb9qyfsql7mndnxznz";
+"tcldoc-2.40"="0gz5v5hi7r6wr8qas79lakwr7gnf8d5kypf7cp62qvrybp0ljgqs";
+"tcldoc.doc-2.40"="1vy7k0f6ri4kbjrhby0napsas9wwlq5by2q1dakbz7r80zr7dc3k";
+"tcldoc.source-2.40"="150p69vd9465icda6p0wp37gg9vl8y3c2ys3b8f9ij9a88x5775j";
+"tdclock-2.5"="05w49l1kvs73sxchbwrlfs9n6mn7qshx102gkjk4jslhnw9lc48z";
+"tdclock.doc-2.5"="1n0ir0l10p9fai1cssri11bpzpjabpsrpfji6w826l8i3xlqkdkg";
+"technics-1.0"="1fr932788zvxhvkvmq4m9kzc834w4xzdjq4p80kda3fsk7a7iv2v";
+"technics.doc-1.0"="172pqpm2i2wfv3qgvz9hvg8wqz8q7kqy5afmms4xvxhrd0xyaf2l";
+"ted-1.06"="0m9dv66nl6q4kq8jq08ayx4hrkh9r2i7hmr290s5d7bkyicdkgpw";
+"ted.doc-1.06"="08yjlfrblhralk4b9ji4g47cr9r1zj8dp6sjha0169395wn4820l";
+"ted.source-1.06"="1cifrswbfk6714m63kvmrsyvz3q29wd1bgl48f5d9ay7pz07wjyq";
+"templatetools-34495"="1djj67vbfjrhk273yqc9ss38bz9bq1sasxs8bsd47acvfkgq45n6";
+"templatetools.doc-34495"="087ib1pxgryfx03057yfj3mfm3sgy885s5nwy21cmdniwqsk0i3x";
+"templatetools.source-34495"="1cpa3yvrjlh4l8w0bfyznpk6bvg6fmyhplzsz7jxv9s01w642455";
+"termcal-1.8"="1sxzpnrgc7f325w0ww0b92y8ih6jrzpvgp6b5ilvcpyriym89j8d";
+"termcal.doc-1.8"="0nv2s95n2h67j4zd5i2iiz5ygkc1s0xp5wjnnvbb27cxqw1h4sic";
+"termcal.source-1.8"="078bs0l7615z66h5fr1fcd1ydyjbc3lddl1z7j80dngnx5j0vf28";
+"termlist-1.1"="00dw7p9623kxpsvqs1yqk6n95hfl0b166l09djibybxx43fbk6dw";
+"termlist.doc-1.1"="05rbr62rvl0shhdxvscsgqci6b6n60pfzbsmikan6v2bh31d8mbn";
+"termlist.source-1.1"="0dl6bl28wvg9fcdlfqhchcxg98s3d668pm0sp7rmxzz97nf4fi9k";
+"termsim-1.1.1"="1b263hwbplgxw8ca03dx11vp3ar4dh1avf5r1r02qa8b1zax4b20";
+"termsim.doc-1.1.1"="0qzqwdc7wiwir2lzrsig76v0j8766hszzsh2y51bk2b7vns4psgm";
+"termsim.source-1.1.1"="0jidnimy5imwzcz0wl45v2p0wpi0xijqzsy94j517q00sgpnz0pp";
+"testhyphens-0.7"="1sqq2rf8amsn6zdp8l1vg5v5jxcn7ipp78qbzzkikiamlxv89nkv";
+"testhyphens.doc-0.7"="1nzimg7bz6h9dm7hb9r9fzs130dw5y7cjzmb4rc5dp5a5xhiliv5";
+"testhyphens.source-0.7"="0s92imbkb4p70fd629bbg2cma72ys853qby1nwk6rvdw8gp47pgg";
+"testidx-1.2"="02zkg2kffwh95nxn602ara915jihj59af4hrgv6cb6916m9fv0r1";
+"testidx.doc-1.2"="1pz2p3fdzdv4n1dabh81yl3b3iaywmbjvgxi6zklli6jbbx5h708";
+"testidx.source-1.2"="0h88x6mmid6nmhl4pw9p4p9nlh90p86g1k44a6bbcyzdlxc8n6ac";
+"tex-label-16372"="0flvmmh0lzkwvwksmnb8m4ix6pzw6f18flybkgidkyf9mf0gg8xc";
+"tex-label.doc-16372"="1ppvdq0cj62zk3b0i76lc35r9pizzli7mm4j2zvdabysn0prlyyb";
+"tex-label.source-16372"="0ysjsk73ksninqk2dyrw06arl692x66rsrr8vb4l2ri3m0lyivlf";
+"tex-locale-1.0"="05l4frsxpdmsrbn50q87db878bwpi076wagj5r8kdnmdwmcanr6l";
+"tex-locale.doc-1.0"="0j9m67n83f4h5yhfh3a51s9yhqh6kpjz8y5vlxhyabyf7rcpybd3";
+"tex-locale.source-1.0"="1x0wmqsrbgdgy67gln4jd0518cbd2cxp36gqrjrqgn574qsl5cx9";
+"texlogos-1.3.1"="0rp4l8da3dn6djdjajavxqr5mmi3fsyadcqrpmd9cfggdvb9i8qz";
+"texmate-2"="06hnwj11ify60gx92zqky28spdhppgai5v08l73kiabrryzdn8w5";
+"texmate.doc-2"="13d6rlazx3qx9zwbb60z1f6dk64n6rph610s97hha5kpc0v2vkm9";
+"texmate.source-2"="0faabcm8lyfvzn5jb7vbpkpa31gjb1czkr0g391vbdmx9lrllxar";
+"texments-0.2.0"="0vhwraxncqx74akzmjcww4akisn3zjgi5b6ac8c350flhl0nsh5p";
+"texments.doc-0.2.0"="0xn17gjnb7n3ryc28p8vg2hshcwa660482pzm9byq8k6s3a78yny";
+"texments.source-0.2.0"="1kq5zw31sv0i87h30ahyasqy1qh4m36f0j37f8532s20n5llcq0z";
+"texpower-0.2"="1w1yn4is019rjnj137ckmkas48xblmhpn0gvp8dac2hmsvqfl06f";
+"texpower.doc-0.2"="16j3xy98k9hb3p7bg9inzqmsl07csa6lx1lgym4h6rcjh247llqn";
+"texpower.source-0.2"="0nkbapkzq4knxhs63fiqg0rcxyp72vmd35jz46dha87s2v5w2km5";
+"texshade-1.26"="06rwsg8jzklnrxwahqhp1wybx03p4brxgg9xaaran8lsjfwr3gp6";
+"texshade.doc-1.26"="09368xgwa3vddlbavl7mcbfgag7i89g58nlg27fxcpd3rq36lss2";
+"texshade.source-1.26"="1ffpah2ylppfs4g4ina6x6xd44r8lqzpdni5h79a1kd9nwhi3apg";
+"texsurgery-0.6.0"="1f2m8b4xjq38j6q86pfa4m8f7z4sqyfblxpkkljppiz66cq9gnpy";
+"texsurgery.doc-0.6.0"="1zpilg11flz7z6pk7zhpm5ck39avh24na2jpl4asnnznaf5bzfjz";
+"textfit-5"="0vmffs1a9zspg3hcnd7p0mffa0cw4nnbx8s4vari3n8npmdxrf26";
+"textfit.doc-5"="0dcb63v0yhlhvjmcbsfnw3px6qizmq95rq67i64dgks85d4dhi6m";
+"textfit.source-5"="1h2yql1gy6hvwv0rirm9v996j3clrywsg9dzgnvrkrvnkf1b6dqi";
+"textmerg-2.01"="1bwlcaggagg811sbsi2wrfsz31rd6x92m47aszikmkzfzx4ina7k";
+"textmerg.doc-2.01"="00p7r1y0npb8xfq1mcw5apccb6xznww3ya8q0qgg5irqyxs7d9fc";
+"textmerg.source-2.01"="1972gkv933fmy32ys96qg6p1yp7551mc4cilvnaasnrwyr776f8p";
+"textualicomma-1.1"="06myfm4l1k1ms5bmgswbqikg3kkrz6qah97ncjv0s32inkqjcicc";
+"textualicomma.doc-1.1"="157m953qh08i0a8lhrk3228ir2clyk32zd6x9ar2fgbkggjll9ch";
+"textualicomma.source-1.1"="1zp5qj4b8fn5y8a7aylz7bpkg6jnmqifral9l3h5g8ka1727ng9h";
+"texvc-1.1"="12knhsx5y5n6wlzlmzvym6bza5dry1z8qlszka0f93wx8hpvk7cg";
+"texvc.doc-1.1"="1852x7zd684h6jjhq3f465z4q7d75871hh5gc8abvdk9p6srnwsz";
+"texvc.source-1.1"="05532lckvznsv4slyvsn4jrv93y4gxbcy3q3r8c7g0lgya255s9q";
+"theoremref-54512"="1dfv3pz7pjkazp0czzpzhga9j201gwvx785v3qvqasrvpa0vwyyq";
+"theoremref.doc-54512"="0zs8q0xzinp2ih68c75yj9mbjh1pmpqc77xg9hmj8n3gpf1kmmi5";
+"thinsp-0.2"="19d23nm17nybk0dda4l05dsbs1695fk0kl86vc713l19mzw4l7fw";
+"thinsp.doc-0.2"="139v4dmnbhsd3nqlp9qknml0glfmh1f9dg0nnixggf19lsayn27p";
+"thmtools-72"="12nwkxgv50ifzcfidpqbwz9kz25ji4h9dn2n0n0dbp5d56axp93h";
+"thmtools.doc-72"="0dywknaalhw3vfaq8gsmk2iyig5k7k47vc5jq8ihh55bcpw1wr84";
+"thmtools.source-72"="1fz15j6710mwp0wli7cm1g5bmwz1a5v4m4rpfwf866af6b92i8zg";
+"threadcol-1.0"="1whvgb3901wciijafawy5pgnr4adpix2a6ph2v52kwglg68s2ixa";
+"threadcol.doc-1.0"="0dky94vqbqrba5hsvgs1sllwy6cxmr6mlr6zv6qgn1yrrmjxs0by";
+"threadcol.source-1.0"="1qd96xl0h8bnp5mqbh8mprdfbw1bhvp60dhj46hqyl4w7f61jj20";
+"threeparttable-17383"="043vgdllz4k8fcclyw49515rcwl03albnmszbqi7sbsskmxnzck4";
+"threeparttable.doc-17383"="1mlhxgv9q1gnkp383vinybzh95fd49dgz4x14jnjilhjabvhgyid";
+"threeparttablex-0.3"="0ipmhy0jpx38sy1jyyw3ab953cyh95ix4qwrz1ywhi54dn6ahygs";
+"threeparttablex.doc-0.3"="19mk0y6nn6bn7gmn7vvlbijqdcjp2br0s632lmhnyhwz0d4xz6mi";
+"thumb-1.0"="1khi4j0as028c7fhzkdc6dmbgdyj45lbasbv4ksnxmf2kylmbhxz";
+"thumb.doc-1.0"="1h4b21mmp2bx1vp8n3556lxm16x7acy3srs9khgq24nrfkagwrp9";
+"thumb.source-1.0"="0f2z9w9mxfj0b3s9mvch95cv49bkyv6mxmdzmkyc1zr8bwwqdahy";
+"thumbs-1.0q"="15k7rn5fygvsrjln614jndldmq47zq75zqlv71f2gvr8nqgil93n";
+"thumbs.doc-1.0q"="0c70k96v2m6nbx9b8qx09pky9g0s0ipqsxy3fsn8spjjrqkwk0v9";
+"thumbs.source-1.0q"="1ns05c3ji4svj4x9y2qy9hn0f2bvlllbvg98xsr2xv7gylr2pkmw";
+"thumby-0.1"="0q3h6cwbw90adw3c8ggyb707l23qvsfl3dl8zrzhg78dm9l8q3gi";
+"thumby.doc-0.1"="1v1934z064ar7zgjpnpxvmc7bkaq080h0hka0snkj7kwqm6sfry7";
+"ticket-0.4d"="0qpqzff2hj01g2k8nq9vc91l4zvg7kx4p7nf0gd6ji9lf0q5caaw";
+"ticket.doc-0.4d"="07xa7nf2qgvjq5pzaj7k75wzg2ldcpxb47ypx53swssz277ixvp7";
+"tipauni-0.6"="1cx8rj3gwsyyx68ll9v4piax8rv565dp4akq7840zsbpkf4rajjz";
+"tipauni.doc-0.6"="1cy4mfvmybwarzms4w2zsxb8gwjs8cjvdv4cj51nx1cb8myxxchp";
+"tipauni.source-0.6"="012bh7nj08rd2a5q5p7m1y4r3b06r9473bvj0j33a0aqrpq9yhn2";
+"titlecaps-1.2"="0rvggjj8rwdk0nln1c2f5ljvimvrk2bg0kqpc007lwajd71aw175";
+"titlecaps.doc-1.2"="1acn8ch0n29isx36ndpdksc5v9cfavn4ganv6a3vdhrrnc6mksr2";
+"titlefoot-15878"="0c0nhhxhb3hmvg3a64lr5npbqsmrmprqqj9pic91j007k4s1in4y";
+"titlepic-1.2"="1pj4mavc06r5ghcvyjjhvn7x2xrccgdfjr3961al7420ymaqb726";
+"titlepic.doc-1.2"="06s1r8xy54129y7fvzaym2vkfbyw2x31r91i8cyxyra0chzh8ngl";
+"titleref-3.1"="1y2aw2m7jg7l9vcr35nd2qpbafyff1bc8acy2cm9k7fcjm4rcr17";
+"titleref.doc-3.1"="0rv9hsx5p460pa3ry50fnrcb0kf08rzdl7bq47n5nhm8frpmczad";
+"titlesec-2.14"="1xv4ha82h5mqfnfk05n6lifl25kf8zv27ps3mbwwjds0lgw6w52l";
+"titlesec.doc-2.14"="1k4z6gvangc1zz9lpd0ax4b9m4wf6g765mgj5wdyjdafxg8k52ls";
+"to-be-determined-0.1.2"="0f7pmmlhfhdba7kk0gyib8mzc20jbhdjn21njyznsxywgpzy805b";
+"to-be-determined.doc-0.1.2"="0g70zax7s6g2zr4afbqf7i2lc76jg7q3hq7r0m682qalycajv1yg";
+"tocbibind-1.5k"="1swxyai6gqlz8zjah2qnz9c5dkd1smpk163b56rba0kx7zcmvzc5";
+"tocbibind.doc-1.5k"="189qi2qyp1nasg9w902ydk7rlzxl2qww9w3p5s3p9ywchvm1l9cf";
+"tocbibind.source-1.5k"="08sr335sgs7hrhd6cbdc4dh3f8m9fpplv72fk54y57rx59l8wxbs";
+"tocdata-2.04"="0h5j04ycxrzycc0wa6mrzh03xlg4hrqgqnbm749q6wd0qzx3ic2n";
+"tocdata.doc-2.04"="0m5r2livan96g4p489qrgh3jf7k6fsn551hapj5qv796lljzv1rk";
+"tocdata.source-2.04"="0bwcv3hq5ldjx3bx88sw1ls3svrgql8zrngp8bqfj181b96fcms6";
+"tocloft-2.3j"="1vp3s7q0fcyfj2ksk61gxdjjnwhd62dzfd94yp7y3qfy7x8hyqxq";
+"tocloft.doc-2.3j"="0zjs0ldib6hm3b9msb5x7r64ddknqwf6kkc9cc82hbla9wshq4qq";
+"tocloft.source-2.3j"="1764cq3d9ad5gy3qag6f6wxgnna0dhk3rx186jqjpqyqli8b4lgh";
+"tocvsec2-1.3a"="157m17r777cfqjn5p4j1rbj10ysbyms87jrhk0wjkahag9rgny1b";
+"tocvsec2.doc-1.3a"="0dvzcynpfn9fvfkks5idncgbdqbhxj0vp1d3mfzymhiw4sds31xk";
+"tocvsec2.source-1.3a"="0gjpdjkl73ip3jkhr9sx94mwxz3rvxaacn553xwa9gvk3xh5rav9";
+"todo-2.142"="0chmi45gcs8y2zh24072y37g3z62ixpv8cg7ck7knmkzwfzv5i13";
+"todo.doc-2.142"="0n6dy738cj08laf4cg4y0sadzzzrz9wa9m87hwkya6c95znl0091";
+"todo.source-2.142"="06xpbraybhf1wbl979653waznvgq697jq61xcpz29gn159li0pdb";
+"todonotes-1.1.5"="0ij5yplrqh7c25rcqspl3hgmxrj2z7pagnjy6lciwhqjr64y312k";
+"todonotes.doc-1.1.5"="12i10s4p5nn6xbqp60m8h5n8rpywkl9n9nznwqnchcg3lnzcl27i";
+"todonotes.source-1.1.5"="0hzq6kr02kml54hlzbg0jm19cnhhs1b8lnp4ckmg9d1hkfq55zvw";
+"tokcycle-1.42"="0cl2m00pl40pi6ycw1c1kndaqinrqml5gl88kh5d00dr7g9p50rd";
+"tokcycle.doc-1.42"="0yy8m10q7pzwqbf371w7r2x1x872idjlrh842vkxk51ijb1441a7";
+"tokenizer-1.1.0"="04b3jy76qdvbq9c6yc0lmq99jqcprmcfd602zm6xsr0lwmxrp1cd";
+"tokenizer.doc-1.1.0"="0lpbfdvmib9ykdcwrcd5inpibgkm99avqyn94zadbasr54k62gna";
+"toolbox-5.1"="1qpbidjji1rj056700iyrbhgmqvw8is5kp2mmm5r9f455dmgm390";
+"toolbox.doc-5.1"="17n7dxi0j8razw5s12s4drz22wd63xffx1x6w0a4jhiq87na4jq0";
+"toolbox.source-5.1"="0l9w43kp3h1mbas4pab9qk6b18ny5r1k8vmm9nq2j95gm7z5p77f";
+"topfloat-19084"="0md1db8a7ifx2vg269y2dhcf4l07qa35jg57x4q9nsn8ac9gy4v0";
+"topfloat.doc-19084"="1q7fssdrg5r2i51b722mw6wydd17qd8b41iv9rqa7s8r9brf8f8i";
+"topiclongtable-1.3.2"="1p71kg4882rjzlbq9rfgvppz532s227xs2jmg8zbgplfd3j96mnj";
+"topiclongtable.doc-1.3.2"="1q12jsaxs9d15qc19wjca7xhq6qajdp7573lv9dc6y9il84r1izs";
+"totalcount-1.0a"="0zd8h2sanc98qzhgkzgaxjyzfh969lb2935778c80n0w8g53ipn7";
+"totalcount.doc-1.0a"="1cwk1dnpin4zz0zc4rbf7a1spz5wzvza3nc9d4jrpxqbzgs36nb9";
+"totalcount.source-1.0a"="1cp1fkvs1gbif9brdwxd1dyx81ylshayq6gad4fw6npzqynppk6f";
+"totcount-1.2"="1mj04hqxi81i1pwjrn10ipm6b0xwv2081paa4kvq7yma8g2kmi9p";
+"totcount.doc-1.2"="1c1941vfi2pf0wsbfhhzpahyxjzb4jx4lr85k7g6r8vk64qahy9i";
+"totcount.source-1.2"="1f6r2ci4dqri4fxd5mwmfmqmw2k5jfr5vzf2mazynixxp809mjwq";
+"totpages-2.00"="1z6brrn4kb6w6an8iz6das0yykwj2cbaswa9wy2p3rfc0w95x0ms";
+"totpages.doc-2.00"="0nm7x3rv5rxg40k0xls5d3s5dqrpc8vw9g93sa3jkdn18xkxh2zs";
+"totpages.source-2.00"="1b0glns220jsmn1607d5f44k2lijjp95cd0dkxabdc3p576ipmmv";
+"translations-1.12"="0cs8wvvcgmzsnx2bv1qhmcmcswpj6kbk79573yr9vmiws43djng2";
+"translations.doc-1.12"="02z9ggyi83hiqmvc53wgvkxw7q3jn8sb5vd1pzxmw5kvhdgkzy2p";
+"transparent-1.4"="1285prqgw1gl2z9rlvamlca10xxy2x8l9aj63q3zvvz97jbza3kr";
+"transparent.doc-1.4"="05zb4vc7ab9am2dl66xkj23cmk7kylcanicf0fcs57znzyy2l444";
+"transparent.source-1.4"="08j4c9c211s18ljacgvp8ck8wn6rdpdy4g057g0czfgdvg9b7w0k";
+"trfsigns-1.01"="0g1xdyhin39sqbgi7x5m5r5786x2822sf49271arhnv58md7ns76";
+"trfsigns.doc-1.01"="1nr4pypsglxi17kpxh6y9xh0b1ky0w41f2i6h5fi7y63h9gjl87z";
+"trfsigns.source-1.01"="0v1yc2zq5kqcbx8dp12nzfipw2cd7f6z2p9wxxydgjd4xp6s8cny";
+"trivfloat-1.3b"="0s74sisq1bg9n593az435chspj55ysx9b0vqywl30mk60hray6zm";
+"trivfloat.doc-1.3b"="09szjgdcy2fc4ddkw09vsa2am5m98mgm606i6s2nrkjgldm0x4ap";
+"trivfloat.source-1.3b"="067ab9d2vc3m950587iqcfismjnl8fp0jxw0ssdsz3gqxys6vgz8";
+"trsym-1.0"="0crl9ik3bd9jwvy6x9sl102bvp5pgj2rq9mywlrcpbxrvvffw1ab";
+"trsym.doc-1.0"="1pd0r5j26xj63qvj7mrifcxjrzazdi702ang8k6npq0cc8v29iar";
+"trsym.source-1.0"="06aavqqczg63yc0s1mwry4nd2ml94424a2qxswcz60y57m68yq61";
+"truncate-3.6"="13hzrndx2myazl7f30i736zs8vk12203hv9rskwncl77hxrqqqpm";
+"truncate.doc-3.6"="0l5hgx3207h54s4n5193zc6ssj6l49xwx2hd9jfpqh1f73kpn6hf";
+"tucv-1.0"="08m364pqd2imqfi5jalxjrwbjnphjihnmlpnpqg8vaz2rsmddlh7";
+"tucv.doc-1.0"="0rfpmrlh7wbpmpqp5j6iai3g9x1zkhqvwfnwjfskknx5an1ad79c";
+"tucv.source-1.0"="1s0shpwhb7q4zhn6kq2010a4d3jwck3liir5jn5h0gzqbsafai11";
+"turnthepage-1.3a"="0zsgmi4akjkhwqas45r7ppbx5c8i5fyvpmk6a8wmpk99ib58pipq";
+"turnthepage.doc-1.3a"="0jkv2zs1m6bggjhf3g71g9cyvrnmgmr549fqsvc4lf8fp9kp3ayn";
+"twoinone-17024"="02na16ki3n7gcbzi45dk6nwna3dqzgxwc73aha1zncm05bnj3n4q";
+"twoinone.doc-17024"="15ldj27nb6pp90abilsybzg7hn0z8xfv7mmwrmwdq20qw8ss75ay";
+"twoup-1.3"="11zxz1wlnqia071kg3d70glp167k2c210gc4r2755sh6m23wp8p7";
+"twoup.doc-1.3"="02zg1rq2ylm9qvgwh530d5l0pq9a377z943s66apyf3jz8z55sj6";
+"twoup.source-1.3"="0lmqla1wrsrzq900c4fhjzbvg7iwbd3y05g40j0lmfrj8w8lqvng";
+"txgreeks-1.0"="1872zrdb80wfkjh2bdblv31k6cm83cmsnqns8f3hwf3vr0ymvb62";
+"txgreeks.doc-1.0"="1gswhcdlf8n4wpnzy0fx4maxvy3n4dcbag9r0igrcvcbqnp9sfcm";
+"txgreeks.source-1.0"="0n4r3zn19z62qkd2njxqj74k60jr59704mnhrlvmmxi9x3b5g5sv";
+"type1cm-21820"="0xdbj0yivyb7advckx6k2iwbn8xqkxrlapjrqrx51jcqhzqshknp";
+"type1cm.doc-21820"="1zw172nb8jym439sz8fb2nnfxmazbnr5mjpmffwkfnasi2f7b4in";
+"type1cm.source-21820"="114wlrzzvlnd1la16mgdp88f7a6h6v8l5ddq72is0hcddw80g2g8";
+"typed-checklist-2.0"="0k5niz1agw13ybzk0yc1wdbnp4wc8fsclcs8xdns3wgj8yk8x3fx";
+"typed-checklist.doc-2.0"="1ppi49lwwzmh6y03xykqz168iv0f88wrmnx0m8ww1d4ah3kq09dc";
+"typed-checklist.source-2.0"="1m4m1bq32z8m2bh28v20fmyw4w5q1r1c6ywsjgkm7zkq44zxg7yk";
+"typeface-0.1"="06i3zhnc42zbzb5lk0pqgiwq0y7wgds4hs27jybizw9y3yhv9nf6";
+"typeface.doc-0.1"="0z9q8q87iybb4b6g1xnnryr5aihic0vdsjq5xv55i3gbgrd15kr2";
+"typeface.source-0.1"="15igfb6xy0g7jykb50086as2drjr76jcprj3kafcf347427026dv";
+"typoaid-0.4.7"="0m7nvdni7nsmbmlbpf51cb3s4s5qaszbn7mw62dfvvawgd2d1y0j";
+"typoaid.doc-0.4.7"="1b24irgw2779j43pc15cwpazx0mdjy2zla9n6lqvmwyhl5xnaswz";
+"typogrid-0.21"="1p3if64qmyhflwlf4gy59wl3xajaza5xpllxy5f3a7n1pzca46rx";
+"typogrid.doc-0.21"="1v9az7ln7z1w3d2bcfn02kxqcwwl4kg4zjri2pmvicc7skzkplr9";
+"typogrid.source-0.21"="147flz7xlwjxbq7wkaw83mxr8qbcqvjknr27a0aaq5zs81jcyy8f";
+"uassign-1.01"="1xwinmh3a8scfgxm40505zn85r0052pcykcs0lcvazn91007dl8i";
+"uassign.doc-1.01"="1b89rvsspkgs60rkmqjad7n2pwwmviiizpqr2si02kwnsqfspqdw";
+"ucs-2.2"="10m8lwdnmff7xqvyakkczlyp3km8hy29vmz3w9mz7n1mjbjkd0q3";
+"ucs.doc-2.2"="03s4inp7iikyr3qx3wx74z0rag1kwm1mlh6ngxrsl4slajg7wsn5";
+"uebungsblatt-1.5.0"="198bz1875qhh366ddvdxj72jpcdinfxsrb2mzirr17fq6liwbwhq";
+"uebungsblatt.doc-1.5.0"="0814xqw1iglvwn5y29fsvgbrm5clhgiz6ivbh8a8rayscbjwixmj";
+"umoline-19085"="0xx4v6w2sw43nqrzdpww561511dcaigsz5blywqg72giw0x2v3la";
+"umoline.doc-19085"="0zpn7ii50w0bfh3cr84w6nk5zj0g8y55r577wnkdmzpm51qxznxc";
+"umoline.source-19085"="00nb73pq0s7xychc84438aa9472mp1h7drafg27wm916f10832cs";
+"underlin-1.01"="0gm9cikysz83sdkhhwd6x9zbs278gwfw8mxh7z22l3c0nvfkxbfa";
+"underlin.doc-1.01"="1rvryx13hyif7hw2wgb88n95qycip95xh92jdy1jm2l6pl3c5q3i";
+"underlin.source-1.01"="1mczvxrhlipisffdi9jv5m3d2i7h34jpm6vi4dbl58cg9sasc4a4";
+"underoverlap-0.0.1-r1"="14cknh021b4qsymflf0mnv8q2vvhgsf2088s1g6pm8ckpx7diq0r";
+"underoverlap.doc-0.0.1-r1"="1h1qvk9m04sp0nm4acj7kfib5cfpch1mkpvs55mnqqsgasgnymjn";
+"undolabl-1.0l"="0arbapmf5dfxaiakj12nkca4qbyyhc3idjjhsahv8brj886jg8zz";
+"undolabl.doc-1.0l"="1sx0q3084dkfx1hkbjfc0cwhj4mim0gpwr448iafs11czi316x6r";
+"undolabl.source-1.0l"="12msg1fh7f978rw1mjsrprqrr1wbvlfai3vg61dzl329a1wc39mq";
+"uni-titlepage-0.7b"="19xhq0hlmny22lxz4y0znrscvmhxfask7nbz7xz3zmirvvrbqfq3";
+"uni-titlepage.doc-0.7b"="0l551s7zyakarzcgx8jvzjd05mr13d12lc639dkh6jk5wpfx19z1";
+"uni-titlepage.source-0.7b"="1sndrpbv96ax3knarqiawzdf5abn9cfply01lv71yzvx47jb5782";
+"unicodefonttable-1.0f"="028vrmw68mia6phnxmx58k7adjq69001ahwr0jldf9jbavak0vx7";
+"unicodefonttable.doc-1.0f"="0lxqhwz6wk4vygpgbgwwyk58zr5ndniq2lbvvsqbxdx2gk6b8yjg";
+"unicodefonttable.source-1.0f"="0q7l8s47xas01ma5ndim2daaa3m4rl6kl6jczjhfcjf7gxzyid5g";
+"unitconv-0.01"="07nmxxclxvx28w8w7gmgfs5vqgbkxxavw8c31nk54dvskd6l6zlk";
+"unitconv.doc-0.01"="0yfcqw1fx38kbc4kcw1620h6mydzzxi1y67x1yr6wa0aiwsd6il0";
+"units-0.9b"="0rblvdf1cgsm4fda44vvldy6my58dnars88wv2blgnzny8s00jhn";
+"units.doc-0.9b"="0nn5y3w25sjxq0bxq07d6453awgm4m4gih5678lfxf9yvnmvigq8";
+"units.source-0.9b"="0mmqp3vhly9v02fv4q4d3bq7zzx8nmm33nlvbn7137jgc7p5vlbd";
+"unravel-0.3a"="1kixvhz6l4mdlvjl8823jqa1fzx7m0w5vcznflcjww53n7jhrj66";
+"unravel.doc-0.3a"="1lafb702nv1103kap2yldigp5y6f4hmszbcs1j4sijdj44cxaaa4";
+"unravel.source-0.3a"="10df5gx6idfi23r92p9m8axcm3lisyh94xp301synr1yfpyw80zl";
+"upmethodology-20220210"="1k7fzs0krfz30s4y38ib3rznlisbaiydv8fq3wjgmcm4gcf9i9l8";
+"upmethodology.doc-20220210"="1vw9azpz8vwanfg60vr1a9bbx39k8v6jhvn505pvmf8fqgkqd9ch";
+"upquote-1.3"="1zglh6pb1fq0ipsivhj0knhcwcg04mjkxca5s2adbbfk2xs1iqgy";
+"upquote.doc-1.3"="125756iaikya3v0wk9a712klp39ndw7i68bybnrif2klm4c695lm";
+"upquote.source-1.3"="137lbzacpmkm1fdmp548m6r83mnhclsrcyqk1s0rkp558fpnqpp1";
+"uri-2.0b"="1mmxhxm4y7qsvq4kgdnq2vhid360gcgq0yxbcgw46k56hxd61kln";
+"uri.doc-2.0b"="1zadcddyfrgfbrsyl4461zwz8g3rjwypixvmi5ny8f80z4igal6a";
+"uri.source-2.0b"="1w5hbpzc5xka2z834hnzx16ky0kdx3x4y0xxs61l9gx0ygqkzbpa";
+"ushort-2.2"="0235a399vqry1vdyfyva9anav8axs1pxwf9v4hhhazsf85m23qqn";
+"ushort.doc-2.2"="0r0jib3fclxjaczcbzkb8ywmnz0xkrj02blg0f5i065h2s1qa10b";
+"ushort.source-2.2"="1sp8z5jnb5qlihv2hz0j2gs4rfqpy0ka3npph1dvvjvi5520c94c";
+"uspace-0.04"="1yd3a8fj29f1n7zwqvpp3nm07vpdw0lhkq08l6pnsfwb883cjkqv";
+"uspace.doc-0.04"="0s5scd5j011z6c4x7mmqvz43wan9fgm76zdddlihs27ja2xsvdxi";
+"utf8add-61074"="1xgp93wcvb2jiaggidznmbp173w0kfhwcw2bg7829hl60vhqnsjh";
+"utf8add.doc-61074"="1wy2h2a7a36b41i5ya268bhb6fiq9q7wqvzv3ncl1ll6wvvg0c3q";
+"uwmslide-27354"="1kpbdd8q3q0qkz6alvlnl24jjx6shc8z8p36d9grd3idyx0h18r6";
+"uwmslide.doc-27354"="1m41j80x7cj8h87fkyw4mwhvqhxvxx5dql596s7xay8lcwlxq5i6";
+"variablelm-1.2"="0apdyspg0q8x1j6ryzbibij9hn0gfqdlhjj6nz9q8w45bfywclvf";
+"variablelm.doc-1.2"="0bcz4sbq33iwpg9r2vq5g3zpxb90xljjqbis9srk83z4rj7jyp22";
+"varindex-2.3"="1s3ff9i7w7dga61hrkd7m2rfjq7wrkx1b7alx68kxkjcnl92rb9p";
+"varindex.doc-2.3"="1567hz8fpjbjsra7fxg8dlqkd39d0p0a6lj9kpglv31chws6w2sl";
+"varindex.source-2.3"="0gdrsb0n4sr7a4n4wxrvnxh34a6b1wzpqcp2m39rvw9my3h07vhy";
+"varsfromjobname-1.0"="19j2avb7jqb9ndnfskwqfm508maqa6kd9qmqydflcb9hgjkz47xc";
+"varsfromjobname.doc-1.0"="0mcv48nbly7ihd8q8652v2gm6drvpjv42h0jrw9dpzraljzvpgff";
+"vcell-1.0.2"="0m9r0wldir0g8y32aikm2il8qsygsc3zyv2zkg4wn7jqlidk6f2i";
+"vcell.doc-1.0.2"="1zrhf70s70zxm5ck22vbi88vpdjn6ba6iay88f41x21f11l536q5";
+"vdmlisting-1.1"="10fzab1jn6hk6ah7h9kyv9cyrv2l0gvlmask1c90njhvgqi2526s";
+"vdmlisting.doc-1.1"="0b0vrxv5mlf721mfdvw46ixidgzh0bq88sgrvxb10y05wjcjqiwc";
+"verbasef-1.1"="1bb1ddwlix4v6knmz68yy7i2jsismqdz189p1664q78h12rxcpx3";
+"verbasef.doc-1.1"="1rd4mhi7w3nsvvx0zxv43nd4ldw7if1zadh0xxbzbjaljypmshi4";
+"verbatimbox-3.13"="0sc53aigy5jx7yvxpms4f0s9msn6szkqmy2jm2ydh8ac02f2lqpb";
+"verbatimbox.doc-3.13"="1gbli0qqgff2ph1lc6nhykz3bh8f0sl18rnk39jqs4xpzr7m641d";
+"verbatimcopy-0.06"="07syldn58zwnwxwdsmq63qgr2nb0bkl9di09knska9jk0c50ql1j";
+"verbatimcopy.doc-0.06"="06awpisb1y773xsijrifh0121pq6fdzp2ai0snxny5vrpmyp412n";
+"verbdef-0.2"="1dy1h0vcknnizm2f3zggga85slga5p77aw3ll5ca3kx5qxp1xqhl";
+"verbdef.doc-0.2"="06zh9v72ywrg84wlb96p0y28sn9919pn2xjgqhaii6irdf3hmlma";
+"verbments-1.2"="1iv716hb41cy7bc7bk2420lwdykpccyg6wxvbxb8vk904fsgdk2a";
+"verbments.doc-1.2"="0hzrzb6m8iakip93in80x6k15b08z9xwjrbki12d28xdadqkpqcc";
+"verifiche-4.4"="0wr8qr9ch2qrcb6x80f307q8cfz2d5wklj2mjld88kjby8smsyj2";
+"verifiche.doc-4.4"="0zvkhx4ap0z5md8824gb51lgwrld69wika0zmv20wlggk7il6jzq";
+"verifiche.source-4.4"="0md49avxrgrrxhj501amvf0ff8ni08y03c1qimfw13j1wnvhhczv";
+"version-2.0"="19b4h22lqvgzqqm0pivjjhmpxmijrr5rfy0xc9g9y7czsrp810hb";
+"version.doc-2.0"="17bsgyjvnna790nz3x94wbwslxkkz3958vj2l3jbyphm5vv92fxz";
+"versions-0.55"="07bxhbpsqgdbpwph2w7gam699605m181xmj8jhpcsf4rwcpnjik7";
+"versions.doc-0.55"="0pjz8nk7dnf2jp6yixhi55zbrlmhv477qsx6p52dwkf74vxgv5ki";
+"versonotes-0.4"="0kw6ydfy7fycfrr5i8p38farwjrhkfvdlvmaxcxzk0cgnn7102mh";
+"versonotes.doc-0.4"="13crgm6g52n4d92rmw7w08j1c5l2nnhp17816w4csb3fjsrr83w2";
+"versonotes.source-0.4"="0vvkxga9jzv87dzsv1rac75x147lcf84mkfcx2npz8sbbsc1rj9v";
+"vertbars-1.0c"="0a5fc0a4z482fcxx27wrn20fsdvx9xclsy36623h80pxnfw49aji";
+"vertbars.doc-1.0c"="0y8vfa23ld199r45pqd56rv7b0iskskpaqc08lix2zss6a082iy1";
+"vgrid-0.1"="0yb2hr83xvy19j43kmjrx9kf2cadyairjr45vg5a0pbr9nwpzdsr";
+"vgrid.doc-0.1"="0ymfdbqws78n3mm9cbf7zrcdbn4hb9pzzjsw77hlg023h4hkddh0";
+"vgrid.source-0.1"="0rwsi6lmd4yhgpa6605631ld2bn8pzij7radk8vhwsa1sn19326g";
+"vhistory-1.8.0"="1m3k7qhrkxa52hky57jp1p23sa2binjfkywv51hjfkz5cyhcqi3r";
+"vhistory.doc-1.8.0"="0f8agd4p659ncqx66yam1q30jaxx20qcmg649w3vy7fwf6crjiyp";
+"vmargin-2.5"="0k0qp68wnfr13i2prx64n463g9xa4cf6y656m2bc735pvsa5ln78";
+"vmargin.doc-2.5"="0l1lv0szznc9l5jz261nkcpq6dq28869s6h616rama40kqpdm0bh";
+"vmargin.source-2.5"="1vwydnpsd5ha4g86dg2q5s012d6l3yrksc580m41q3i67npb8chb";
+"volumes-1.0"="0jl7n29bdwi7m74zb6alp0c4aamic3776n5bd9xcnf5ihfmh9ssv";
+"volumes.doc-1.0"="0052j7zhnbi20x6hsxv68ls2byqci2n4crssb243diid8yc763ac";
+"volumes.source-1.0"="1lvc7fhdblb5ys2blbm0fdib5y311nz4l6xll1zzpsvbwpcc8imp";
+"vpe-0.2"="1w2pxz5dg3q42cdydj10fzf9hmwbc1xy8655s7ngzhnj0vljrj1l";
+"vpe.doc-0.2"="00n8almyx5g71gwxcn05vpfvvisqpr4k1lp123ys810p5n25s31z";
+"vruler-2.3"="1di4a3czay9gj5dbps78iik9r5p0n5vxk9dagc2ak6gdbc3rz1ls";
+"vruler.doc-2.3"="1885iaxgfbc08ldwrzv50jpmczhnjjvhq460vspdp33f3z5i7ifq";
+"vtable-1.0"="1bdf5h2nsw76y2w4gw1ap0ncg9ibydaqdhlpynj4qyy2c9qkb55q";
+"vtable.doc-1.0"="1w144as1s1kfd9a8z92kl8v2qm6il09k5myz9siq5dqxdfs3k9hk";
+"vwcol-0.2"="1wfqcin8xmxrby5mxn9s5j32zmr4ka4k0h9ps4kdddpq238db89n";
+"vwcol.doc-0.2"="1zyndap37lq6jk9pafpzd3q5bib2x7yrnz6wk7wlgmgiyb6smj1b";
+"vwcol.source-0.2"="17apnly4vihdn7dzh6hibgairrnvzadxlv724cgb5lqaci74gnqh";
+"wallcalendar-1.3.1"="04rck2mzvzpm2f934iz4nni9s5w9g7a0qcp3kvp3bsqa6nhhcf6v";
+"wallcalendar.doc-1.3.1"="1b2nn4cwsb6vi29a49cnnazpzffwbpyw48wffklv11frbmk74dnj";
+"wallpaper-1.10"="00cixdnwr4vpfpqfdcbra4gwz0i36kddak8ywv8l4q4d4yd567c9";
+"wallpaper.doc-1.10"="0ngsn8an7gqzkw96sdxb4q24h7bvbjw0gsqk6dzrdphclvsjy8w4";
+"warning-0.01"="1qmymyl01vd3hqvgkzzwffffawbwms0zhs0na7nhvlv59f1316rm";
+"warning.doc-0.01"="1d27zqh4cn9sa5ivp5a47d8dji73dzvirp6pl7cgcihy62ll34v1";
+"warpcol-1.0c"="1dr0ic0pskvw6397q1yy1ibbpl1c1kndqaw5y72zzzy52x4l4j71";
+"warpcol.doc-1.0c"="1jc7rilhf61irh8kgc437mp45ryz0yr63z11r9ixbsj04dmfk2xr";
+"warpcol.source-1.0c"="1lnd9b42xyzfnrz94x10vxrmfy6r2l4wlxbfc1c02fmnchj2wq6c";
+"was-21439"="0g1a285svl2pnvg9g75rgwrr2lhq5dzpf814mkivigsywf02vwqj";
+"was.doc-21439"="1gkk6x7zijd3k10abn0xrchxhv2qbf7ln04civ8lvklwar7wjj60";
+"was.source-21439"="11yqamgxd7zxirlivzwayb3hvn7f52v09ah6ng05phwj4lb4cx9f";
+"webquiz-5.2"="1bl334im0jvsyx78g6jq9m8623xyr4xz0avzfaymhs39dv17wsyr";
+"webquiz.doc-5.2"="0lwc3r3w2d7lzz39ilncbckmvx536z3wvz84jlnv3flm2dll2z7s";
+"widetable-2.1"="1k1jnl3jbrbcc55cl34wj3znfay2wnf8k8sgdslicvnan2j717zm";
+"widetable.doc-2.1"="1giy0gvhngsmfwc87j9k2p820j6bm2mc2r1kbcl4ci0c3383mify";
+"widetable.source-2.1"="0krkcnxzjrn7lqd0qh8lgjixfpd3c5glvj1ilqhak9ifd3lq8r4s";
+"widows-and-orphans-1.0d"="0pi09xfryird716sfw1gl1fy623br6nrz6szh6gp5rg1vm5m4mi1";
+"widows-and-orphans.doc-1.0d"="0llr7v338qadj3d1d98bl9vq9xzm3ax7disrq1ygiignpq6nsr4z";
+"widows-and-orphans.source-1.0d"="0fpd0h85lrn89y3s7klfhmyzz1h6shkrml8px95l5xwg4q9jdirh";
+"williams-15878"="0pbij6hwk82pmddl199sxin34fk22wzvgfj0dpjsg0i5qrsg0qcl";
+"williams.doc-15878"="0vvz6fsh4vlhwirz27gyni6xnqinhl6iymgmfhlcc808y7fawcvq";
+"willowtreebook-1.03"="1g8v5am9pzabiq5l5306q0s3a9zmyrdx5s7pjbpph08bhqfhxvvj";
+"willowtreebook.doc-1.03"="1368jr8d6444bnalx4p0by1133liv7fl4zpvafdm0a6gz8b5n5pa";
+"withargs-0.3.1"="1b49fag0ivb5srlsxcbmy8ssqsrcbgadkvcxd6xn9l9bk28wpfwr";
+"withargs.doc-0.3.1"="12n87c9181kskqvx7bzvqjimg7agcm8n2z7rxnh1g4kh9bjr57ms";
+"wordcount-1.7"="16vxb87jyj7006akcd7fdvnqihz9rjyw2pl43mdvr5lxp22fpxdx";
+"wordcount.doc-1.7"="1yv9lj7k7m446knp2ghsj0dj95splsc6071w2iarh8cq1xlbj3kz";
+"wordlike-1.2b"="1mdgcdiwnqcsrqrzbl27v56xpnzvxb7gg7a8vass31srk8n10ssq";
+"wordlike.doc-1.2b"="0i9k22hwjkq3pb6z8hiff6zz8l3yjp4vh8x89z5mcbg8iw5gjacd";
+"wordlike.source-1.2b"="1azirdir33aixw7zh9ps9npxy1v8ckgsdjb96ri1ma0cy2z5d1ij";
+"worksheet-1.1"="1rsh38fx4ayai0mlakqgpzxpnwp6ckzjcpiwy7aqlpia0504jgpc";
+"worksheet.doc-1.1"="1hagdjrf472ip4jjkrjv6mgycwjlhbggval7kkk449i0xd9kiz39";
+"wrapfig2-6.0.0"="1l8w1w709vp66pcr59qvynpygq031rkq4vhc3f7xnmqahpdd35gq";
+"wrapfig2.doc-6.0.0"="1jv3zc4afzl54fijc273mj017xzv420608vm44rsaxi0nghznpap";
+"wrapfig2.source-6.0.0"="1fm3a22bysh83b67b4h34lj5d2slj8mwqgghsac1imc9a2h1sabn";
+"wtref-0.4.0"="118ajsdd1d1g1fr23pnq1zrdczl5qgdcrqp4ly6kp8w2iwjhqdn0";
+"wtref.doc-0.4.0"="1nk1w4w8x9xfyr8wdr68gx24vw3arf89ak72rbiwjkspzjl1h9fa";
+"xargs-1.1"="1r4giz5gp4pcnxw12lr8hnsa45yv1lm1ddq6g33rkgs1qjzkhv02";
+"xargs.doc-1.1"="06kfclbfr2kc95c431hn54g0c6vcv7vscsskg9myrp94ilq1qglk";
+"xargs.source-1.1"="0k58hqv0jmk3v2jmx212idnfrs9rxqz93zq34f5kqx8dwhnss9pp";
+"xassoccnt-2.0"="1z25b0dps2qf1lsvmbq462ljyyakkicg92d3l1pz254n2mqzvwjb";
+"xassoccnt.doc-2.0"="0057kfclqs5n04ghsz6ad0pvgzwp4hlpk21c66922nscyl4qrfnv";
+"xbmks-53448"="0pv35b38frgwbi4ijn1x8w5mx48fcy709adlrkzhy641bw4isv86";
+"xbmks.doc-53448"="1nr1m8mhqwkjl9l9pw72ls8xrvg8w2gi8rar4chk3xmh6kphi7ra";
+"xbmks.source-53448"="0waizijqrvg7qigh317vr56bi2b795p5k3h779p0kbl53k3f9f6i";
+"xcntperchap-0.5"="0hqagjlxphvfqmslg91fpxngbm15i3kmawglszj8z585i0j570di";
+"xcntperchap.doc-0.5"="0yf5ak4xr07jzlh8s087c7g8rfa71isziy1z13qy8ifv2882p9qa";
+"xcolor-material-0.1"="0sa38kjyy4iywgd9lwhd1aqw48laqj9h2crcarvjd8hr4xwhrbcw";
+"xcolor-material.doc-0.1"="00jfvs4r7hsclvy49r6waanq1q9vszdi5fhlnbg5arhkf53lzii6";
+"xcolor-material.source-0.1"="1jiyl9vry12fl3y2c6l8z5ic8jaahshbvaha8c98h1h2d8mqk6vx";
+"xcolor-solarized-0.4"="0ggm9s8vqw80jfsmw5jn143xcbrx226rwkarjkfqhnlzx85k2d36";
+"xcolor-solarized.doc-0.4"="1vmr5y6c5mi7hgkb33daamag2y4j6vpiyxnh0cpya824l6miichq";
+"xcolor-solarized.source-0.4"="06f2x0w9k87wd75vm6gjxg2pdrcv3g6406nraq2mnlf9sial9mnh";
+"xcomment-1.3"="0hxbf6hid76d1gm7ngjbrrcb0x7faxsqa44560f93n6arhj1nmwm";
+"xcomment.doc-1.3"="11zcprsby27n8dh78658r6xmmkpqzmx28f6sqc7jhg403jq0j27f";
+"xcookybooky-1.5"="0hx5n7rz2aw460m9cqk2f2p4d3v7fhr02cjf8wk471fp8jwn5bx9";
+"xcookybooky.doc-1.5"="0x9aa92w7b43n49d6m0rlac86f3hsgsrhvq82g3zixvffypyvm1i";
+"xcookybooky.source-1.5"="1z951i4sad1i8bjmw7bgbkanzg04icjj0qfjrshr3m8a67wlxgjz";
+"xcpdftips-1.1"="02g4rm81gf314ds6yzrgasj1ighbyvka7p0vb8mrl78m1ybqjab0";
+"xcpdftips.doc-1.1"="0wcbx6qx288448h2rffv87xgzfj8i30z1v2j6qcp8nlqq21lmw38";
+"xcpdftips.source-1.1"="1h60va01gkm2m9jz521wx93libahh9fi3a8pyb67l6zgjd8dllxi";
+"xdoc-prot2.5"="18nqhig2kiwa1yzk06v65hzriq6la8c31j6f7caxzjrhjkzx0rvm";
+"xdoc.doc-prot2.5"="09i5zcp7qisgf5rj6ys4rqvj8v8lxcxr16ddmzzvibgdc8kpc3za";
+"xdoc.source-prot2.5"="0vxkqg2jl0qfnahfs82764z7npvsyc0ys3qlz6xk61ylhyqvycns";
+"xellipsis-2.0"="1slakkdjh4c88caxcdznir5gkw0v7aahfpqksp4l9as9bsl52980";
+"xellipsis.doc-2.0"="1jlndanic0xc16ba1hg1lswcxa2b20hibd25bs65wyag04rbh8lb";
+"xellipsis.source-2.0"="0768vqhmxgra190g0k3k4hhzgkhkxwwnvwmdpymphsqm9lvxbl95";
+"xfakebold-0.08"="0dd7dj7nrdxrnznly4qvsayfb9n0cd70zr41jm8b7n800rn8z0v0";
+"xfakebold.doc-0.08"="00k39478xw7hldrhdvi2g8gl1745msxhfiln04q64m6ahpabca92";
+"xhfill-1.01"="00lb01b27h1bg8h37rcm7wmqh5pc3gz7rkw0l6xrfai0mb8ypq2k";
+"xhfill.doc-1.01"="0alaqaiz2dfk4sh4xgrxfrwxgisv2p0bfdz7ppiqmli10al1h2gd";
+"xint-1.4j"="1v0vafdsfdl12yz34aqkn3wqdi46ahqwnvw4y0y5fgb1ph7kiyk2";
+"xint.doc-1.4j"="1qfqnnps8rnx0jbfm34g8psf093lraxyiingb3r1lpwnil33wwg0";
+"xint.source-1.4j"="0l61xdndamb6wiqwp3nnc5ym18lx9vrbvwb597x0diax1pcqggpw";
+"xkcdcolors-1.0.1"="0471difnr81ihdan9qm8a15pgiy33fcc8qpwwigkhqby1f2sl6kl";
+"xkcdcolors.doc-1.0.1"="1s6xza7ci8gazqhrnhqj1c4kqd8b7dbhwy01qds9wjxbwrvxrm9y";
+"xltabular-0.2e"="12skn3ld5cjd8jvh32l1h86mcqmx03v2w04189rkxh2q90kyjmfw";
+"xltabular.doc-0.2e"="1lps5w6p2j0c1bszyrbwdfn9r7mii9k9k6ap9s2ssb2rrfzf291f";
+"xmpincl-2.4"="17p97mqcmy10hql3fvdkkjbmlnylhz852ckai0s45birpk6bvi8p";
+"xmpincl.doc-2.4"="1k532g5b8fm6ly9whah5133g6yngadb9w6cvf2apwm9hwx1pmnxj";
+"xmpincl.source-2.4"="14xwxsxfa8m8p2idzbkcjznh46np2fikn511bqw54k4k6991vmx1";
+"xnewcommand-1.2"="1hqpc8p8bl56gzcmar6m670l6yq5arlh382s3m649lya35yydmms";
+"xnewcommand.doc-1.2"="1r4wlg8368ax3p492qyh0nzxkfgkgvm5bzrbm0jhh9ayk9sp7ryf";
+"xoptarg-1.0"="1ykc3mdg45hhyk5x8lv06zggfv88kyrr1zqnv8s9j8cb5c4r71jj";
+"xoptarg.doc-1.0"="1g42s8mgr7yqdziwza1g241vjgygzddk6ly8md6c22kj8g0sq9jg";
+"xpatch-0.3"="1almf1wif49mi3yqr4qsdffd6m3q8xcma8x9v737ffczsffhs923";
+"xpatch.doc-0.3"="1lxsqxzajkcfw4b9i89bk0gmhrsprkmgqqbj5v34bgvkvh0n5pm0";
+"xpatch.source-0.3"="1cf161h6g6m3q8bq38imvmja7ral7lpyb26byb8nn26lgixkprad";
+"xpeek-0.2"="185jan9h82hrc8bai9h0k09dj2q8p2klqvz042h7xrh2napk060m";
+"xpeek.doc-0.2"="0sag912jjxpiwbsgmp0l4p0kw4jfhp1j3sy0lb4kdxcqrzf3m1aj";
+"xpeek.source-0.2"="144glnmckvjm24smk4d2xmnkfz8n3r4k7zjmsd0iwa004n28il5h";
+"xprintlen-1.0"="0ywzhbp0b40cq395x5bv348f5dbbv29cqvlh6gkznr6qkjm6ai3b";
+"xprintlen.doc-1.0"="0dslr7n1mfbclyxic7pl1i425hbcb925jfbag0sfaal03pbczq7z";
+"xpunctuate-1.0"="0bqv9l0f3fwvzv2hcp2913spilawj21zbhdfgs9k04knda4xb7wm";
+"xpunctuate.doc-1.0"="0r06jwsc38qac0k4b2rmm56phxi0qgmmvlixgk3w3mk51d26jz0f";
+"xpunctuate.source-1.0"="1i5xcn13kr9nbfx8nc34n7qn7zj3p1hggws1yd1bqjpvj2dbssk4";
+"xsavebox-0.17"="1jbnjvzp2rvxdnmlilj6nhsjlq8qdligkmim5ahnrdpplbdbhgay";
+"xsavebox.doc-0.17"="0wp7wxad1s5pw82ba3sl5x9m65jz7s63fncsb2q17x5fa3dp3l2d";
+"xsavebox.source-0.17"="0w6zikkfavrfiqwxhqb8zcl5ylyd77p991x952f7mmbsjb8f3jx8";
+"xsim-0.21"="1ajmvlrmx97f94k7aci6bni5bhhlrf07c7vb8vnjgyq2iik12ys7";
+"xsim.doc-0.21"="0ppqjy9sgkrwcycfj5z1igi6w56rvcb5a12p22spa56fpsh94910";
+"xstring-1.84"="0b8n65c18grhzkjnps5g5grg6i7pc5lic137w0axq46cd5vizihy";
+"xstring.doc-1.84"="1gmik9slrwynmq2i71hqrvx2mnd6wk43phaydqg12jn3al16cvxk";
+"xtab-2.3f"="1cpcs7k8liapv68cghfwj5fw80rz71qrld7l9lsnli50h7ph42sz";
+"xtab.doc-2.3f"="1z3wp3hqy98a4l34kgm604zajdyv0b2vq0jipywmdc12115cw63f";
+"xtab.source-2.3f"="1im5cv88g6n88rxzx8lqcxfmhkihywrv2h9gclmv0jx2mmwvwafv";
+"xurl-0.10"="1qbys9b3zd3rlabdmbpndf65fzmvkz24d6v3k7cml2bmdzzqv2cc";
+"xurl.doc-0.10"="1q6npbv8iy1bgl2fjs3ngjw6wb78y51nmjbc2pndas7klbvdixc1";
+"xwatermark-1.5.2d"="013zwh6gz8npgyvdj8daa6y9pb8554lqvbskchsc366k0m6xrwd8";
+"xwatermark.doc-1.5.2d"="01x4rkl6h9afsbfis3ixbqi9inb1sgvavd0wld9jbwcrmv4qxc76";
+"xytree-1.5"="14f3vxkfmv2s944qpdhxpvbrpxq2p259bnk5sxlcv8lbsk2fvvcx";
+"xytree.doc-1.5"="1aq5lbx0x5v2f4fmhp0bcvasy5569mrbf75xk6m6vjpnls49zjfv";
+"yafoot-1.1"="05b2niwqs6c43gl4ag811ljdd0nasmbdinz6dx2d488nl4jiifaj";
+"yafoot.doc-1.1"="0mbg6y7qsdsq5nwgdh32kd9x3ghvf8qlbrm84rg6269ff0b5achv";
+"yafoot.source-1.1"="1p3zwyg1pf3ad35w25ahlk1r4c18k6vvllcv8ccm952mjg79mj83";
+"yagusylo-1.2"="12p2kxrqa4479wrwcbbxsn5hknr1ai9rf1x76psfs43k9fh1pnn7";
+"yagusylo.doc-1.2"="0g0vx5zjrfxrf595c0kz378n2h9hrlaf9sx1ypw3iv90zns1sp35";
+"yagusylo.source-1.2"="1js0slg00sr0bc0gysxvlp3jwlfa57lldi6q7a8fvqjfg9bkclvm";
+"yaletter-1.1"="13xizdiq8dj7iyjw7a9srhr24c1z6g50r44a7hjz0909z3b58j65";
+"yaletter.doc-1.1"="1jgv50mssx6g94fh5fcysi884w1iah2qdwb0vrkg6952266gdkvw";
+"yaletter.source-1.1"="0byfxy8h76m0jwgd4q0s1ar08sr9ys9jhvsz2l44id321w5276dj";
+"ycbook-46201"="1ajhl8vkd94yajib69s3jw6v2jbbn7h6g92m0yc86gfri3qcff2r";
+"ycbook.doc-46201"="0zf71gmxj1hwywlw5h8klgyrn9mww12hc4bic0l0gmwixvn6k56k";
+"ydoc-0.6alpha"="1yv4cdl0xak9ag4hw18xvzzkn2bnf6dccvd8vz4xl4a2rkzz5fl8";
+"ydoc.doc-0.6alpha"="10v3h8csdl78qax3l2vimy2xni2zg0qjhzgrf7j5h5f5nijw626r";
+"ydoc.source-0.6alpha"="0jai53ykd4q3k56psl6hs8xw07jb47g3h4jbkv9d42ayr5laj2fh";
+"yplan-34398"="1f2kxbb32hxwgin5bn7b78r8sqdj4v1q80sh1c87425zw8jyd73z";
+"yplan.doc-34398"="1ls02mng1jwihz8s505brmaqcjn4abqys6bwl22dy855bw5rgr5k";
+"zebra-goodies-0.8.0"="1f8iv32wgmkzqr75m44hiagz34d9h8qz38ylh3jaq2d9hxf0l1fq";
+"zebra-goodies.doc-0.8.0"="1fz5bz0k6ymj32wc6lkikk0b36b6l9n893xqhbhac4y5gxd1r8z0";
+"zebra-goodies.source-0.8.0"="1as545i691hxy3kqnn72gksgqc9hswz7n48zzhmaz77q6ilnkpkm";
+"zed-csp-17258"="0wr6dxb5ks34x8rzr7s2cnanxc5jawqcq0zhkmxrh8cjqcfkk1w9";
+"zed-csp.doc-17258"="05gm4s4svqa4wds0ichfm6lk39i0y54y33b96bnycrabggqfw77g";
+"ziffer-2.1"="0nalr6i8yqd1iq713gigafnh1k0h8kgiml1zwpk8rjyya606capw";
+"ziffer.doc-2.1"="1cr63lkqi9kpkbpnrwmbppipsmw6wy732wsaha0y9y5ia2934nck";
+"zref-2.32"="0s0306k858i40v3hwvq4z66ip2y023npd4nl4xf31bilqh240p19";
+"zref.doc-2.32"="1rb9jbj2lj8z8iplnjz1qi5qvhn32qvphgmw872qxn9gm0hx82r3";
+"zref.source-2.32"="0lrxqvqj7s8ia0fhzkf00pqgxgi2wnrxdclfc3k865nfj59ybshn";
+"zref-check-0.2.5"="1f07la0kydzvrnrsz2jww9v17hymqs5q6lkx0q40mf0qvk3spgji";
+"zref-check.doc-0.2.5"="1cp2v7hhq6jdx5g7gxahdfdh29024bdq8qlzp6prkh842n706nma";
+"zref-check.source-0.2.5"="0z3crxmvlrpq53pljqp9g68hhjjmq89w7nnmlx8d0vgrb4qjz5by";
+"zref-clever-0.2.2-alpha"="1n0g4b72abkhhpzjk5lb31f6jzzywi3a8njv9ki60p5nrhh29w1c";
+"zref-clever.doc-0.2.2-alpha"="0pn995xk5pr99dcdz14f06affdd6jn15m5h0jrq6q699z38mlx6n";
+"zref-clever.source-0.2.2-alpha"="0fgnps6lldpz2ah3xmbrl7gbc1hmja5vycmjpnsi6djapqqdcx4c";
+"zref-vario-0.1.3-alpha"="0m2ccp38gjv0f530j37fcls54ljqg69arjmfwadbi38d0g0mapdq";
+"zref-vario.doc-0.1.3-alpha"="0c7lkz2w770rv2ss72jwrddzi1alda8b03c7szh06cc2z1nwvgml";
+"zref-vario.source-0.1.3-alpha"="0grj8mpgfw6lmd603xd1yvh4k39xbxrbbav6xw2819m80qhmgrvh";
+"zwgetfdate-15878"="1fgz3z1f9ifcbrwiq166hnff23gmlgp5vn0djm2znci26bcip4s9";
+"zwgetfdate.doc-15878"="0gda7xd1sbiaaspb253xgl47jm6bcn8hj101m6ih69mxrka6sz60";
+"zwpagelayout-1.4d"="1vw3fq52fyn59n4ia99pwdhpah1l4nql88l578zrcmarhjviwvvc";
+"zwpagelayout.doc-1.4d"="1389mx7bln9rgn7iwsjlrpal7gfxv85yvck3xd4f8flspqy0mjiw";
+"addliga-1.0"="1w9wv0wbv8acc7qvcc5pb5kjxmy2nz95cb990mmgc2lxvvsaw2rl";
+"addliga.doc-1.0"="0q41i3cd16ahpklr1ddmzmfs741x5k30vaz7gz7k8jrf0579nv7w";
+"auto-pst-pdf-lua-0.03"="1vh8q7spf251yfc0maaw9xcm1r7w8qyf3vw7nr6gafmv6si2i4fk";
+"auto-pst-pdf-lua.doc-0.03"="0vmwaflyaj4crqb98gc9smngrpk1hlhpq3acfw6bnpdwsm5862mi";
+"barracuda-0.0.10"="07x3j8hcsa0i0gw5rrp5j05i1qhcl91z7543pwzjaxvplakxbj0z";
+"barracuda.doc-0.0.10"="1gyzr84bpnkxn6q2rzwgg6i10qm6sixg0935ai8jqwb3k5bskxs9";
+"bezierplot-1.4"="0iz8zsifxrwbv35jlgq3qb4hdf2sqgj7smcc3bfll655zq0hqmab";
+"bezierplot.doc-1.4"="070nxd9n0i9r7h195lkm45zfpdbaqz4lf0k69qg6qj5adwrdqbvr";
+"checkcites-2.4"="1s2yiqslhli97wh3b1fgnbv6rw59dwyyf4pmfkxx0csn0bgdmvpg";
+"checkcites.doc-2.4"="0hj1phvdqyr43z70nnzk6vqa5x8vpbkb0wvp4jzdk5ry31x08484";
+"chickenize-0.3"="08qxlyxghdzsbrqk9zhj6wr2ffbzd3nq7299z3q7s39z9azrr1z7";
+"chickenize.doc-0.3"="1k4pqd8paq4zqygws1ihpsklxrmsxlqvi3y60zvaghq0r3iiqqqs";
+"chickenize.source-0.3"="1j4sgh23sai4qzhpxibz2zl4a82nfiq7asgcz42ab5qdlz5vnh8n";
+"chinese-jfm-1.1.1"="0lgpg27qnc59i1lkbis5jr3z4fy2cl86x1dm320q5kfjm6z06vla";
+"chinese-jfm.doc-1.1.1"="0bpl9vkjvn3bq1dmrgm4f0kgmbvxrxxhd1alfd4yw30xib24aq31";
+"cloze-1.6"="1w0wydk9kimnihll4r8nx1kp6fccgmhybxl3qzrqxk58x4imp3sk";
+"cloze.doc-1.6"="1pprx0mdxfn8gwdsi03ifscinnvj7p3w8nwir20z5q5121clss95";
+"cloze.source-1.6"="1ijnnfq0xrcnysc9sf54nc9a2xg42jqfiqawb8a5jnc62dx9zwyf";
+"combofont-0.3"="051xpkjszw281gcpacc5s6wpbvwx66hkbr5fpg72205raa454bjf";
+"combofont.doc-0.3"="076niz8w1i6zwq1938iplhcv41qfasqhw8darlr84fr08d3hjwl9";
+"cstypo-0.03"="0lfg2c985h1xlnx1fa3kx1jjrhw7kmgwvalqh5127w20r0lrh8c5";
+"cstypo.doc-0.03"="18yx6l49qk1ayaz13qqw72r8l8z348d20yqdm305nalhqyksv1bb";
+"ekdosis-1.4"="0drs97iqw8018m15hls6kg222r0jiyqg4n9ksrgrl9g2sd25h65d";
+"ekdosis.doc-1.4"="1x177sag8ki0pqsbvs6vjk07zf45wg8fmq9s50v8y4qc0pn5xa4v";
+"ekdosis.source-1.4"="1l6d4a4smjmily8mf6rlx4j5354jrpax15iggzqm1ncspygj0mfd";
+"emoji-0.2.2"="1pzx221zrczj26pdw6ijai6m73zgbz6z14d5wlhv7albrh4ppxgs";
+"emoji.doc-0.2.2"="1531y2a3dfmv2y2xa7xi0dpdkh61skk5makiyzs8mz3zl19n8nkg";
+"emojicite-0.3"="08y8qg37m8b3qf2wkbg802kmx359i6ki445ljjnxybs7apvxjpn5";
+"emojicite.doc-0.3"="1iwlxc5ygq7l4qag7yxxas0rpcywmjcv5pcayrk5mz34xr06x5f8";
+"enigma-0.1"="0cl7a0xh9y1lg55wdkj03n3ayyb0853nad04fpgjla6z9c9l1lrm";
+"enigma.doc-0.1"="1cnbi0n8pw2m8xvxk51j4rlyvj112cdz5zjhc9n8znj25iva8in1";
+"innerscript-1.1"="0ig7y528vl2r4dc4xqx16qbl28hy1vfhyk1b0f0ifnrg41hqs61v";
+"innerscript.doc-1.1"="01y491bx14p1b4pylx4v6ilszj3v88j404fxg3wh2pfi1m5cn6sd";
+"innerscript.source-1.1"="1wsj16c896rba9xjm9f0kfbj6hafkb8l0p41412vdzbhqv6zby6y";
+"interpreter-1.2"="1an61a9gdja2h19m13i4024d4x4f741x4yxk983phl97nfadv900";
+"interpreter.doc-1.2"="1vgdgriiwv3lbdwp72pdc7yz5f702xxykqdp4ih1ssx1sl9pcw05";
+"kanaparser-1.0"="1cwik91vx5bzq5jn8xjgr4ffz7n9d2qpx9v9xr298afmadg65h0x";
+"kanaparser.doc-1.0"="0y7j8qp9j33hw80dypc10nr28x2zn174sq1rbbbr8gc7vsvz5pyw";
+"linebreaker-0.1a"="0c3g9hf365zgm0q33jzfywb1hkbsw89cdqnq3p6cvr46ipgrp376";
+"linebreaker.doc-0.1a"="07yf14fz60hjb6bxxr9v2lhm2rbzagj2j1kynwsj74rn363s76gh";
+"lua-typo-0.50"="0myd5mvbrf5kfvhm8x21c8aqv0mpmxhvhdb4bhzrqqpycgzdlmai";
+"lua-typo.doc-0.50"="1c6ayx322m9j0z7j9lbj9ciar52y5kiil14flr9lq4frvs5x3nhi";
+"lua-typo.source-0.50"="1azqjaa75gs7l9apzprz4cw313qapkizyjxzmlwnsba7aldf5v4j";
+"lua-uca-0.1b"="1klxyb2iw6mccm2dlnpk947kim6ysvkykz69z7crf6lyzcy6lmvb";
+"lua-uca.doc-0.1b"="1605lw450b64xx1a6lxjh9w4jda0n3d0b3sfvxl4wngd5y2jckzg";
+"lua-uca.source-0.1b"="0z7fgyp7dh4zkz48mkh49pngaiyd58ckm0ipd3z626alz4k2jspq";
+"lua-ul-0.1.4"="1vkxmv628xngaqxl54rvyqmd4fgqya9c9xb57d61plbl16w5rcc8";
+"lua-ul.doc-0.1.4"="0n70qy6gcrhyp33i83vp7qcp7nlbbyd5v0dr8ng73mfskl9m0f74";
+"lua-ul.source-0.1.4"="1hsshqp3zs5qrm6zs4brxnh4gvkqzsiylhx2jxw8c9xmbz5k3z83";
+"lua-visual-debug-0.8"="0qnp6zvfdwc2jy642a42npwjwzlz5nl0kq67zc5ajylc8pvd9xbb";
+"lua-visual-debug.doc-0.8"="0iac45h1d6szsgm8xj4nz9xcd6gwz6c3d7bn2kxifyh1lpxnq7hw";
+"lua-widow-control-2.0.2"="0mk9v6fr0wgd4hb3cx2bikiqdk1q1cnd3lbigr86qdxan6bb469z";
+"lua-widow-control.doc-2.0.2"="0h7f0xlbp1pfz13vc3sx15a3qfyggs6vmdmzkbvk0vbg24l6haiq";
+"lua-widow-control.source-2.0.2"="1zrp1hv29n7vpbkmnmkw6pljrgscymigwgk3jfsa52maylpy8f4w";
+"luaaddplot-1.0"="024k6k9iyqiw29l614n0rj0k32y50fgisd2g1abfis7lihc1nlv0";
+"luaaddplot.doc-1.0"="044yp2522hns6hshlph91c990lh43bwvf40cgkfid47mi4zr79l8";
+"luaaddplot.source-1.0"="0x09ac3qlz7p27nm478lcawdrj98622527ba4rz7004b5p2d8w8v";
+"luacensor-1.1.0"="1n1dgnamm5l3hqpbrm4dwgsayqmr99m41iy4038s7mfzz6dkf0g7";
+"luacensor.doc-1.1.0"="038838s5p5ynvxycdhassvkq1vhpv823bfr5ppir00zd7mv8c7b5";
+"luacode-1.2a"="0qk8vadwymhcm7yw3sffdh9i171hl8vg07j1b5gbsl1sa70cpam1";
+"luacode.doc-1.2a"="11d6ak1dvdx64k0i12k4c5kh24f5vqy0ihvj9a5lxa9gqypflrga";
+"luacode.source-1.2a"="1fafh2nq66cz01jsbkb0mk907sppahlswsbb35pa3q5j7iqjzyav";
+"luacolor-1.17"="170b7537yv0c8g2raar6yf5npnbf21blp16vc75v1x1196mblz18";
+"luacolor.doc-1.17"="0vcjrmxqc67j9kkgm3yqs78qndzskqnbjlwgrshdmdms6lij47qj";
+"luacolor.source-1.17"="0m4hzd0rhp9vychlixr46kx7rahqvrrfi2cx5jl53gr0w9gp1l7i";
+"luahyphenrules-1.1"="0msfn7s35xhpacx745w0zbr6g5pbhhm4pccd5cmqdhq6dh0fjw2w";
+"luahyphenrules.doc-1.1"="0y2rxs5mqyw6cyrmgsqqibsw45qjlzsrcwpd74m9l9d4731nyn37";
+"luaimageembed-0.1"="14xmb1cjqvpqwl33qx7376ndsbkql48v6094r66ksr7vlyap5hgp";
+"luaimageembed.doc-0.1"="0r0w2lzxf4avfsv5s6fx64bw300vnmympfdfzz1k05c5c2kjy9x9";
+"luaindex-0.1b"="08kckg0129ksr8pdm0a2yawwb3fa5js3mkp6jd8f90y0w7acrvis";
+"luaindex.doc-0.1b"="02w8s71qdkxznkmqv7c62dhar2x6ia9zsiwd29qxjf51dpwj3mg2";
+"luaindex.source-0.1b"="1v09zszin9f4k3gczrfs86zv019l42d6khacjdb3qjp2gg8w9qn6";
+"luainputenc-0.973"="1wsz8aw4dyhiw5p7gyf26lcixk1a8czr06akd1h6dwj6s5vq4vka";
+"luainputenc.doc-0.973"="0h6wjb0kjdqfrmzikvbddq4w31d55mxlcl5n3phr56fa9i49qmgm";
+"luainputenc.source-0.973"="1yps04v6fvqspq3rip0c6pw5a5y3annwfaij7w27i53419h83lbd";
+"luaintro.doc-0.03"="0xab7yymknvhsh4c30xnhrlvk798mbnl9fbf7njqx8mbmnv869bi";
+"luakeys-0.4"="1v1k8rjk22cq84f08rw9qfd8h0gidkdap8yij6y5s882idl36rzw";
+"luakeys.doc-0.4"="0qmz8pqkbxbksfi7hp2rnk4ff6mhfl25zikvbx99gf209j14myb9";
+"lualatex-doc.doc-30473"="12kg6l5lrq791qnh9gzmfbqn693fpnbp1nn8fddd5ybw6gr61qr5";
+"lualatex-doc.source-30473"="0q34k7x3lwhx2m7n0xl3c0jqv3hzz9zpx6hi5dy06k305qjr2lv8";
+"lualatex-math-1.12"="18m4jab4yy3fvwkn6fyb1qajsq4nl45v06l1kdjimcws5vj0wbv4";
+"lualatex-math.doc-1.12"="0di41c5rk5raf88hpz59syhg330can3gb5s25n2y5c47qj0aph1w";
+"lualatex-math.source-1.12"="0v470ky6shgcfy44b6a1b987cylqiz6rk0dk9qfhiqd6b93p3axd";
+"lualatex-truncate-1.1"="02plqfp0xi406wya3c6cdgj0777m11fzkbk9nbharima6zhsc1nb";
+"lualatex-truncate.doc-1.1"="0gkgbliv8bzpdk27mkff02v1d03vggyq4nk50yawrimz0k7q64bn";
+"lualatex-truncate.source-1.1"="159wcqiyb5rs9a7wfm5mj5vcqh4kr9gv4pv6w0d7vfylkrlh76nf";
+"luamplib-2.23.0"="0x6r6jiv2i8mapsxaymz3l2avjm0c3swhfzvwl0z0pqgh2m4wlfi";
+"luamplib.doc-2.23.0"="1dq5bdfxp7iv403dvc6ggw96v4ky033qgw002x4nr18snswax06w";
+"luamplib.source-2.23.0"="140ghg5l9vndgx62zfhs7cx93ibph6hjghy4267f6h4d45bizk2n";
+"luapackageloader-0.2"="1ynqy88drl04ld2lycrpvjj3cxddmbycznfamhl1bmn01c1q9784";
+"luapackageloader.doc-0.2"="1fn9kqab5hyvscjqmd34vxjkdcr7bapgw7w3ckwvlsslxrv22rfs";
+"luaprogtable-1.0"="16jmy3cvn7rmzf5i03x51yp5l90kmrdy0iqg8ji4z3xwrf0iq79x";
+"luaprogtable.doc-1.0"="1d0k83dyiml9abnfc3b9l4n6w18lgm37bijr8xj3chyv04v85392";
+"luarandom-0.01"="08pmalwh5w1gih9f29crnwqx40x6npizpr8vnjmjfw3iy442gbhx";
+"luarandom.doc-0.01"="0kgwqk2mh8c2hkv2x1gzl3a04q7azi0aqcv6ab3nf60ipmq81n1s";
+"luatexko-3.4"="05ni67qjd794viai9aikqygfqwram1y2gbsnnijvdlw34yv1hmay";
+"luatexko.doc-3.4"="00pvjq8zbw7yrpi75462hrnw4p6f3k5qr50xp51yn72lyhgx78wx";
+"luatextra-1.0.1"="1dx2hc1md8csvb37lckxj4987zaldfd73c86y0ni8fzd4zg55s7z";
+"luatextra.doc-1.0.1"="02dl0skcr30hh9wgm7bkdv5zvx3czcdkxv3zdqnasdk0b7r7mqh7";
+"luatextra.source-1.0.1"="1yq5i4v2dxayhfzn1yw987i3zjm6gy4fqckx5kybzh8f6jr9167b";
+"luavlna-0.1i"="19qndfkfid3xmqs3jaa5nxdsh7rg4dcrki9dkdfmff1b03z0pfxk";
+"luavlna.doc-0.1i"="1xv8gzjxl0awaqhhs1ls7lvxy48v8k5lsvxq4lzlvd452r8i82k0";
+"luaxml-0.1q"="0w4c8sy0bjacrkfh3qb9rnv9ls5izzkma3fr6yd4zmwjzn09hh6j";
+"luaxml.doc-0.1q"="1giy76w9p3ribicsbwghh4ckrdijcfxnpyflv59ry0c9008xdrr8";
+"lutabulartools-62253"="01zcvk8rbr15dasy890pqjcf1bx4yhs4p94vinz6krgp1c8ymvzz";
+"lutabulartools.doc-62253"="1in26d3877l0dafwfnshgvvj85piiqa0qp3v699a7r99klr39rlr";
+"minim-2022-1.1"="043mj17b7nk1i04j44rgv1ybaqv3cxdhyn0i01k9jxn8q28ddw4v";
+"minim.doc-2022-1.1"="03cvmakq76l56aa76xph6ph6pzmxy8a4cy3xnw5913hapzj8kd9w";
+"minim-math-2022-1.1"="1d1ss22m002rb105x10l5m5nd1s8g5qrs4agxpdyq0f87k380khn";
+"minim-math.doc-2022-1.1"="0ks8lkfq0bvsl14nc8xdv3p6dvmrysd3665k63gbpq8xmkywsn7s";
+"minim-mp-2022-1.1"="1jh88678bxffpjlb68lg970jrzk5d64zxc20m7g742x9lysxm54p";
+"minim-mp.doc-2022-1.1"="1j48v08zdlm01a7nhmwiqk0v3xs464i52gq1i9s5qh4gc8x4nb59";
+"minim-pdf-2022-1.1"="1wy6izypvvyc5kpgrbn8vzk4d067q7v902hfvs09ickz6p5c0a08";
+"minim-pdf.doc-2022-1.1"="09h4jh4hj5gpc47yy0kfd1w21imfffijxfgn7qb7iv1ha4w50vi2";
+"minim-xmp-2022-1.1"="0km534w8w7l945nbnd9mj24c8j94mxpbz17wp08hk96q42q169k2";
+"minim-xmp.doc-2022-1.1"="1gmmh6an8dh7fca7w5q7s2nknsabnh3np10qd9rckfv9k78zpyfg";
+"newpax-0.51"="1i4ss5q9afxpskqdvz97svq2535i7dx4a7jhbxi1s50qr8f9fba8";
+"newpax.doc-0.51"="1zwpazpzqz3inkfx3vj0nbh8041jjch6daiqb8mcy80gchq3fcw8";
+"newpax.source-0.51"="1lc8j1s43327sy8wxqhmkvp6v4qx66zmsi4fan15w7sljznwd1pg";
+"nodetree-2.2"="0p3lm3sf89w1amlaxknpgrsd0w65sgxa30avxv5lc13ry25hflry";
+"nodetree.doc-2.2"="0xcb6b8a0w3hv98mxd5lh20yi7l7bm8fi230dh7vgv9rdvagz9ja";
+"nodetree.source-2.2"="14p1zfzf1wrw20b8dsb8ppalw5djqrj2k6xw5di3zbggr3zzjcjy";
+"odsfile-0.6"="03x3kfvm31l8lc0n7bic06xf1ypgkd22x4yv331vam9r8kw2i9wf";
+"odsfile.doc-0.6"="0p5iqdqrlxkq7zq5h8jk8csdsghkc71jhdwqhn151n92zxn6lg2w";
+"optex-1.06"="06rjbgcdj8xlpfy4jb6774kh6alz01p8m1qjaa8rhs8gvpyb632k";
+"optex.doc-1.06"="1cqza3f6j0rchhjcm2dgjcnca1dzagx9zb44j9rshfzanv7g91n3";
+"pdfarticle-1.0"="123b9f0nl8wyyxfnbs5krr5ayrgl02hg9z8w87lj6g0lxch7dfhf";
+"pdfarticle.doc-1.0"="1pg4iix7i0m3smy27xk5p03x8m6rq737kyhpf5qzckm276n88fzf";
+"pdfextra-0.2"="16jdj9z3966zz7r8pmsrq9kk5cvc25pb0m7daplsxnyflismkp4y";
+"pdfextra.doc-0.2"="0j5lg0wxzxz86agjm585qmcd9bhdn5nvipjdwxf06a3b9nzfcd26";
+"penlight-62720"="13hxjcv54vikvh1b9jnqrrz58wggm21d132hjxgvjzj5ldxms7j2";
+"penlight.doc-62720"="0cl9av81y9bl4k08fzdi7gzf2xhh3anypcn447cykhf478nymccm";
+"placeat-0.1d1"="0vmvw0k1s023siwsrl4hr32wyla5xmkvz449p7vlfv1n63383c1g";
+"placeat.doc-0.1d1"="0j9xm75xv0lqkqzm4g8aqxy6cs8vxydmm50vsjj4g4aah7n8jygk";
+"placeat.source-0.1d1"="0118s2p8vfam65fwynf3vabqj4kz0kkw9kbq49k7akwwj1wpyd7f";
+"plantuml-0.3.1"="0pr3i90wdf440x5pdxn695xjz4cpc17y12mkvnyd1rxpw09003jr";
+"plantuml.doc-0.3.1"="1z0pgf56601gyhmqqq2mcil4rp1n6r6nsrvxpw0kra6lnvkppisr";
+"pyluatex-0.4.4"="04wnl45r9468076hdqgz8bdvqj56gcnq9rz6kh5igfgbkbf0jv92";
+"pyluatex.doc-0.4.4"="1yq4knhgfyvn9sqk9b5pzr40258vx6yc48wpphwj10qmxa963mi2";
+"selnolig-0.302"="1xrndff5if1jbk5vzycj2alj72r123xjwmyr1lrsjkpkp6jqjg0y";
+"selnolig.doc-0.302"="14ppr67fbhsqi6d5x0f40awac7j3i90kk7mwrjm1ch1572im5dhc";
+"spelling-0.41"="08zkbw4fdfmfz1pxcr96xjhrs8lfbf6sydp8crp8110fikksjv9i";
+"spelling.doc-0.41"="1wm6r4rhkmxmc66zx9nvvdmjaarx789c33vzm26mbd6ylv5qs1is";
+"stricttex-0.2beta"="0igsjl8gsdld0way8nry9r50ibvm0aj8g46ki547c1jhdgmw67fn";
+"stricttex.doc-0.2beta"="11pyyvsxi2d4dfzv4pmapa2ffyp5fky32823fklcffd2i6jnvsbh";
+"truthtable-0.0.2"="1l2dj1g6maj8lznpwz3q9qk1nld0i573npk18fm7fm2368krrnlv";
+"truthtable.doc-0.0.2"="19kb04si61dp6fdx7mj96q842fhlrqbd33lvkp3fxwz3jls7al2n";
+"typewriter-1.1"="1cgyi8q0w8j6xywby39g4nprg7p7p2dpgfdb58qr5nsppa2i31m8";
+"typewriter.doc-1.1"="0lz81r7jv8frdgb1aglxlr98cngacacjvsa4wjzwr9cvahc1q5r0";
+"uninormalize-0.1"="0ai1w8n010sq2fmwvp7625dfmmlvzx9d67ji34zwxdl2cyjlgsw3";
+"uninormalize.doc-0.1"="1dksyk07zjmwbzgc7c2d5lz7fkvrllbj1nrpb34vd54yxl4azgip";
+"yamlvars-62722"="0p0hw5lmpwf37sw6657p9shzvpzx0jqkwglip9akiixval3rbhz6";
+"yamlvars.doc-62722"="0189vgn91sbb6wwahy0948m8qggzp7g1a5mmd4n7qr819w2nrkid";
+"12many-0.3"="1lh034gihn9gmpzf5sz9anrxqlb7qifaasa98dira5vccizs4axd";
+"12many.doc-0.3"="10f5f3xf2bmrf794ipj5xjsv73j7gqmhgg2fjrdmmsvqij7ljjk4";
+"12many.source-0.3"="01nldk50shy8ynkcjz0176rzkrjhxssi7x37bd7x1gbw6pd32m3a";
+"accents-1.4"="1xl7fkm5gc36mm0bhx7rm9v4g2d9j22gr5fjxjbzmr6byjfgw71k";
+"accents.doc-1.4"="0il1ccxa2ndnfxn2caz9d4mv39y21rh360lynra7q2v5j1cyqrw5";
+"alg-15878"="0lrzrij15s989hy2j9wi1fzkpzvqjfhmgj6ryry0gy7nk3azhhrq";
+"alg.doc-15878"="1lgi63jx57arpz688i22razcrzarl96id8xf45vznh8iraba3sja";
+"alg.source-15878"="0mjrh4mnx8q9x40vr4csj3h3w7wh3hs8hidbklym29d0scd5rkx6";
+"algobox-1.3"="0xplb7wlbizzy95s4pk1nhl2w1b3g80frkd8p4na2rv7awp0da3d";
+"algobox.doc-1.3"="1bp5b0zr6shhaifkqdliw9qa18ym4s68xfk6k2njjnwdqyrxyd01";
+"algobox.source-1.3"="13cwnl7nxxrs0jsvfrvcy7a5pg8a92qnhxjsbarcx3jmg43d4zp5";
+"algorithm2e-5.2"="1iw3yhdk9nk1y41hw1qcpqiqaxadjc0nf6cgb23kd75ah2cpd53n";
+"algorithm2e.doc-5.2"="19xsi1dgxfi06wxls70pvnys20i2na2y7m2hq8y6v947pc5kbb1b";
+"algorithmicx-15878"="111iyi2j8qnzha97r1grxpcbnfkpvcwndczx043c4gw5wqmrknbj";
+"algorithmicx.doc-15878"="1rb46zi4islfbykhr68rnrkj4q966papin0c5m752gh6kzx5r57p";
+"algorithms-0.1"="1va2ic75nf0dfh0dr576lpgqhzqv5203frr37079q648871zqav5";
+"algorithms.doc-0.1"="0fqif0nb9ypd4sw2i9qsxl81h3g4h0gm0yqq67d5n9wrpic8dnjg";
+"algorithms.source-0.1"="14jgc7vnww5xhnd76cwix5c599sfdjil2i916cfpmsd5yn5qqdx3";
+"algpseudocodex-1.0.1"="1dx98230hh2wk65mz19s020mvavdzcsxv07s4y6508wckblqnhyn";
+"algpseudocodex.doc-1.0.1"="0sr3253la7i8sl5k4hp2cqnhb7lcdb35b1gwix683c66jh8149zf";
+"algxpar-0.91"="048yw7nk0bnc05swjbmncrrlns3gij9a4851fbj9civlc8silpby";
+"algxpar.doc-0.91"="13r04cc5d04ya1c6cm2h9a1f5c62ln5b7zlidiw51zg6200rrl2d";
+"algxpar.source-0.91"="0bl51gdyi1i44j2cfz432z5cf63mp4yjr21cc2hwihyfd9vas3z1";
+"aligned-overset-0.1.0"="04gjl08y9wbv5qls9z2plxx5n4abi4nzd8qik88via4xghhqiy7i";
+"aligned-overset.doc-0.1.0"="0il97kycqgqqimqjvjhnhc2mxy2nja20vlspsqrl9zaah71p1b3d";
+"aligned-overset.source-0.1.0"="0zbaa3m06kfkj7kkv6iy71d20n0kqq1dwy63dwfj4l49wv427z08";
+"amscdx-2.2x"="0ncbf7ss4iwyjzp6lgzgzn3azy5iasl03565kgsm1pcbgprqibgy";
+"amscdx.doc-2.2x"="0nfpbma3cawyy7gw6v0w81maz1jgicb2r4cm5gmlipzxwzl747if";
+"amscdx.source-2.2x"="0jg2qk0a9y15hl4w753yhjff28w9wc2vbmd564lkikvg60b9yiqi";
+"amstex-57972"="0l078b9fkaai7kn2szn5hblqp3amlafr7ha0hjcn48657wsjq4jb";
+"amstex.doc-57972"="1s93yy1v49b9r2zfkdinsp0i70bhmjmrm876srvhgqs6k95f4d6c";
+"apxproof-1.2.3"="00b9i18hx4f875v2l1zi7wyy9x8ik6yfpp7qvf31zlmqb3jr8f8z";
+"apxproof.doc-1.2.3"="17r7mi61lwjinav3467mc8lbph79wy0705xqklcwmv2m6x3hiadj";
+"apxproof.source-1.2.3"="14mx4cniajl94bvwxc26vq4jjhblm3l05ax1bhsi88xlc0mvqg9x";
+"autobreak-0.3"="0dzr4wbwy018f97kzmfvza9i7m9mbpn97mjzi336sgq440v01hrd";
+"autobreak.doc-0.3"="099vqvdh2djk7fm6y4x5m7cma71b2anpqkc3lfzjazpv15kpnlq6";
+"autobreak.source-0.3"="03kqdrwznx3k65nf5z3p2z6d80rki7w4v5lhdfk8rin3112gn68r";
+"axodraw2-2.1.1c"="0dcls4qqm7pl0iyg7mkflqa2rd86wsafshx41xlg62din6fmybwa";
+"axodraw2.doc-2.1.1c"="1l1kwxd8zq5xxhw7zyig0b8nna4fwr6615h4jjwpywcaqsnms6if";
+"axodraw2.source-2.1.1c"="00nq53ahf63lazavijry572yii3jix1df9c604xnqpga9z22bbq2";
+"backnaur-3.1"="1sj9a62s7mqms6i2gv52dls1jncc478ki51wlnp6j5hq34g8sw8s";
+"backnaur.doc-3.1"="0mzpammz9ic3d56ylxl40b3m8rc0s0ilhzx25h1y781kya0n6wb5";
+"backnaur.source-3.1"="06aw2vvmkl1jprdznc5cwmyaw890csjsbkqmy814ddx6py7pxni8";
+"begriff-1.6"="1hl6jb8gg3acsj6rs1z0w5v0i6ivvas87hij4n64jdwgf1lf02ja";
+"begriff.doc-1.6"="0bd8gwf3ifqkjpr8wnrp0xx78169b8yc1ppdnyg9v6n4l1b0x0s9";
+"binomexp-1.0"="1mx2g0s4y5y9abmj2b7smz0xc2nzyvnx4x3f4h5v3w1x1kp5y0hz";
+"binomexp.doc-1.0"="1yi68q48p39v20rzny1603j20n8k6ddpjqi773955wmh1p4mqsb7";
+"binomexp.source-1.0"="00rmdk466a4kc1492b947q1f97d7cwd2svvc9wr6w1agzz8w890r";
+"biocon-15878"="0g6r8rh12pbnbhddcv6sz9h8wnv31q6jqs2xbj5fjj7vcb46z694";
+"biocon.doc-15878"="15wd9arkdxsh8aral3zgl83627yl4f0wdx2r8b6xb5ivvrbwaslj";
+"bitpattern-39073"="1j01vh1jy41714k3hms4nkk8j5c5d4nizgrm5syi20n8pcn3l9pi";
+"bitpattern.doc-39073"="0a9120z9rsq8pqi33iv7f4j79gimjgxfqf5jhnrnmz0hgqdpl2mi";
+"bitpattern.source-39073"="16bjmxm11kh0ww6ymk82qs947zgavm100nsfnjl60hxwjl3yknzn";
+"bodeplot-1.0.7"="0ii0lx0w37ydk5k7jj4n4fhchdx093g2szspfw1c6vg8ba5i54nn";
+"bodeplot.doc-1.0.7"="083c68f0kdnznwym29y704i8gkr8ixqn135732i4swya1abykfnk";
+"bodeplot.source-1.0.7"="08laql783q7fa52hr1wb4dyhpi63842ir5zqpj16vy2lf6d38xvc";
+"bohr-1.0"="1fbrgfp1xnxa5cf5yqk9735wp0qwkjkpf8sv8gdjg6a06mpixn6m";
+"bohr.doc-1.0"="1jbmck8ld3rg0nw5rs9lbnr0i34gi2sxncri2fmcdpl8pp3xnw55";
+"boldtensors-15878"="0nywpj03fzn31fffyfy9plxgq9008hhs2v1d3nsy3ggas5kvrm5c";
+"boldtensors.doc-15878"="1vdj6217qwal5005zsmj0jm32s7scii7nmawljqi1j1a7lzlv86b";
+"bosisio-16989"="10dbj6gzv7z1na2bynrdz9971k5fr2vr4njcnsm16nlhyjzypfhh";
+"bosisio.doc-16989"="1a0vyxnhbbdm2hi8gydz0vyasvzzh3k2scyv2kxx4qbwvv4liyk4";
+"bosisio.source-16989"="12f99cgcf4mphvbqi2ffh7nwj627c5cxc9v8xrcg8nwfxr81h7hv";
+"bpchem-1.1"="13l29qi6w99d47cv0ky9hsm6356vk7n88xkxjx5v5pb6vrg8zblw";
+"bpchem.doc-1.1"="0n8w0dvfqal6k8syw9inaykdj2ndmkjqgg0fi7himam2q5qa36y6";
+"bpchem.source-1.1"="1fbbs8lfzr3nih6m623r1wxdm8vgzfli2q97kp5jl998pz0ipwin";
+"bropd-1.2"="0l7ifzaqvqhk2dr31757ias4w4vzpdz15kma0bj2fm7k4sjx7d5y";
+"bropd.doc-1.2"="080g65q0v34rbfl67mpvqfcwfvr5znwv0rys8m3fys1s9d4yyryw";
+"bropd.source-1.2"="1kk38an662s7blxrnk4nhfvr49aymanj3qcm288ca6kfabg84w8a";
+"bussproofs-1.1"="0d783i6srwanhm806hk0y5igbw99rf5x9anl7ib29pijrqvg8kjx";
+"bussproofs.doc-1.1"="10mn4g6dap1rksl5jnsp8pv3n0hhfrb9imldjyrmiika2d0prfp9";
+"bussproofs-extra-0.4"="0ndqiz033c8dxkdknf7hy1d42y0g2hgdb091wxrvpla7ryawcb8v";
+"bussproofs-extra.doc-0.4"="1bg3sh0r7kqkb0hljc5m3x9gn3wkfyjr9b0d8myjwwyf4g9hzi0d";
+"bussproofs-extra.source-0.4"="0p1imkwz82zwzp0p49a2vj7gdywv7mxr3b6nbmvkpz1n2qxs2hsg";
+"bytefield-2.7"="1cplzskpa51fsd98zcs8wsvxbsmq6nvn9xgnkjwa4zcy363m7ifz";
+"bytefield.doc-2.7"="0y2qf6yprzw4xbyxhl7gafxij1kql4nk8hkn67gmx2si8cdjyp8s";
+"bytefield.source-2.7"="0p1afxnc8pcfvsp2ajfbnzbdjji0dwvkapwllfbaisabbz5r223x";
+"calculation-1.0"="0v7f5qx319zrwhy85lvk354a7x2vcainiq90y1jkm5cscs23xqjx";
+"calculation.doc-1.0"="1bk9yqx607vp65ifdawaldcsxm065hmyrgzwyy90wkn4kmyq1snq";
+"calculation.source-1.0"="1y5a2n2asfhwm8jylfg5zm5dy4v5s8gjl5ndizwk1ywwl0am2dxx";
+"cartonaugh-1.0"="1s10sc37kg3m9hvjcicgc9i3wkk40wxi4ncswspn9a599kkhf829";
+"cartonaugh.doc-1.0"="1y287gshxvdy4chshpwa328gfh36i3cs1g0giwga12afmkaif63h";
+"cartonaugh.source-1.0"="16clmcddxp9a7ybvgpx7w6mf45lcqq1vzjb4r4ndggbpwawkhvlh";
+"cascade-1.2"="1r5dvh96lybdibq4lspxl939z587hdk7l51xfc8d4jryz1xc45vq";
+"cascade.doc-1.2"="17wc8w2wwd9d7nqwwkdwzih7gx8x1m6qlhl57rw8rl2x81a43v68";
+"cascade.source-1.2"="1nz1mcybb0zpdp2626pbg1raxryhzpanbwq12kv8rgzri6v5rawp";
+"causets-1.2"="0y0bbm1ggs0lblgvq9ji0a9zpil669mp12grwby1n2j5wdxj3bgj";
+"causets.doc-1.2"="1kq91p0llv2z3wbga903cy9rvfm50w3jax5ddlawwr5mmxbw8fq4";
+"ccfonts-61431"="1rwzpbv0vaf4p77k4hf9ac14l9sw8hsvvqx5diq9dirsfq2js0rb";
+"ccfonts.doc-61431"="1pbc945s3xjhccjm83y721xx1zrpqjbrirbf469anq9r892g33av";
+"ccfonts.source-61431"="0avnik79dw3p1wvrg5rlqcaxr3w06mr5jvyms54ha18l2d63yw7q";
+"ccool-3.2"="1snafp7x6mvnmnkc2k2sp8kkj3lxm13x1nkwvyvbmylrh7zvjw6i";
+"ccool.doc-3.2"="11lkm79n0d713dmg4l4fwb0vk8k3pyf9icdyvbaj2v7zy6w028gg";
+"ccool.source-3.2"="1iy0jm88hvhprn70b9cg5bbh21z9mziyqcil6arq67r9a389npx8";
+"chemarrow-0.9"="0vy1y1f8czyp36ssicmn1w2px76x47afrfqjfn024jmbs54fwfxq";
+"chemarrow.doc-0.9"="059c8r7vhs6765h0x0ycqhkd65nxb6sqq7xhi7y8jyb7i6q3rbbw";
+"chemarrow.source-0.9"="1ds3yx6mbwjvhzj6ximgglgccndqjbimprf7iszhkz3w5vxq6qz6";
+"chemcompounds-15878"="05rqpsyf12yrhpnzip0ywzflrvsjfdqhpi74iwpwb98d3q82ckai";
+"chemcompounds.doc-15878"="11264rxfhbf36jfkqdfyl2dyqal86bhjbm1zsy9ps8w4fsgdw94a";
+"chemcompounds.source-15878"="044gavw3i9xsa073bwpg11xy75dip172ih6h2p1mbpp8i7bzsrg0";
+"chemcono-1.3"="08cch2gr35wclm1l0j05lfbjskqw43jzz3aj4wi1dhpm31b855q4";
+"chemcono.doc-1.3"="1kcgfx2clh4x59h4scw5mg035wqr2cp5kidn7f6p2aaf5607xid5";
+"chemexec-1.0"="0yj6sygdzs247fpajjl8gk3c6yhk52npbjahgngchqmblhmhlkc0";
+"chemexec.doc-1.0"="0pqksv69yk7vf622x2p2ah735p0a93agfnfyg8hm2jadwjmhzikj";
+"chemformula-4.17"="0q0vrz2agxw3g7cy5clya5hfsdv8s8qf18szhway3inzg5mfr895";
+"chemformula.doc-4.17"="0h1nbyhj463zxj4d15cx88h9pwb2wxpq3r9dsbzdi63fb1mnr4bz";
+"chemgreek-1.1a"="0di3w4yqnjs49im28g2a2qk31d6cqhrbwpq1jcxykk8am7g2sn1c";
+"chemgreek.doc-1.1a"="065mwb7ah9h4qwqp36n0sdlkjv435bwrljz3yzsgym7a4xqvhfwh";
+"chemmacros-6.2a"="1phw4kgp7h5mcrr66vb4kazzi3kw6abmxqhybn3amd4ishgbzd8q";
+"chemmacros.doc-6.2a"="1rz1a7nc2c0cf78axch98zsaxah84hzr7h8rpvz3zz1vfa4bmk5s";
+"chemnum-1.3a"="05z6i3cva4cq45z280ls3y5hrqk9m3a1v5yq51rdj1ilk3yh1a4g";
+"chemnum.doc-1.3a"="0g0q6a845xgpfwkhi31dg6w2rrza8cgxj925rm5m6mg026rd7v03";
+"chemplants-0.9.9"="1q7pvkkr4i4a1v8519a2ysrhya7zgri84is4c4hljqiqqv8sx4ir";
+"chemplants.doc-0.9.9"="14gpajgpclgs3xzxd9mmyi1y3ciyxngqvxyzn651yn9i08h91f9w";
+"chemschemex-1.2"="1xs0vmk03pmlw7hcnm0llgq7gpg1wlack2k3cry0fnw8jqi6ls8r";
+"chemschemex.doc-1.2"="1gz7sdykvl3s6c5l1vhx2zyjljqrcs2h02s15nly8kjfcmvcncq0";
+"chemschemex.source-1.2"="0wkrpfipgl4yx3d5a5pvfrsxbp3dh9wwm0i34z2y6cra8xd4m58v";
+"chemsec-1.12a"="0rl9aqh35pr0pr82vaq605ii09cxk73mjf3qs1dwcb51hjz51f35";
+"chemsec.doc-1.12a"="1fh5fplxlkzcly15kwzji7ym1ri8q33rs9k6wpbszyr2przn52sy";
+"chemsec.source-1.12a"="053j5riyl07jxzm2l44ns7wyck2y0680p9p73054szd859q86v8h";
+"chemstyle-2.0m"="0a0sd2sv9g68alicfvm28b13kdipyrlck9ipdb3ybjjsi8fn99fg";
+"chemstyle.doc-2.0m"="0gdvvkfjbzf0kdbl5f4j30cvddfbwiashz520g7kpkv460swvz0x";
+"chemstyle.source-2.0m"="06ws8xqy1y609hzfc90l9zn2i1h3a6yq2hxcg1bfsbsqagh11rnz";
+"clrscode-1.7"="0kk8hsrd8rr5vadvh58fdlzpz29cnpr5nhcl5il8fj466dw0igv0";
+"clrscode.doc-1.7"="08wps3rkrx4isg7abr6icfj9pcnhpnpylnk3wvwb42pqah8975xd";
+"clrscode3e-51137"="1f7p04gaccyynqm0wzfz8jinsrrwn6i4amc51s835gxkjv2d8gwv";
+"clrscode3e.doc-51137"="1kryc0ay3bx1maydfha6wm4qw2l9xprnhs3901qbz904l21yawhg";
+"codeanatomy-0.4-Alpha"="00p5rnl1xcyv1bp2db8a5r9ch00iyimdcmqaj7knrgm73i2cvbx4";
+"codeanatomy.doc-0.4-Alpha"="08qh0xd50snbrr92wrd12w3jdingv4ryv6bk5n2sfxk8mcada2ag";
+"codeanatomy.source-0.4-Alpha"="0h4xj1sqimnkk2bdbhayxdsm8qvqsv3qzzpm91acb16ra7kqw1wz";
+"commath-0.3"="0k3s00r4l8bypv1166p8jkdj1wrx4ar4w0y1fggmpzivqicc02g3";
+"commath.doc-0.3"="1n2929g5jhkrrp7fs237h80571m31dd9x0n2dhnqfgynnc9vasrd";
+"commutative-diagrams-1.0.1"="08jd1dzi1y72dhpwng3p11vw8jl98n9h9npyypgc58n2djla8nb6";
+"commutative-diagrams.doc-1.0.1"="1405ya2nynfbzrypjm7i9grp5k53nvrx11wzg3xy82z32cvds0y3";
+"complexity-0.81a"="062xi5wlg3axhrzc9a6nj068z7nskb7qwwk2wr0fzvsflqa9cp0i";
+"complexity.doc-0.81a"="0yzdyn9j1jk0nsw0l4r06cr4brhz1f3lfxc918zalx6h9wnkxi2b";
+"computational-complexity-2.25f"="10as8msnqa06dp3hp945m42rgbaqsja8z4sc79x7n77z6qzmznvl";
+"computational-complexity.doc-2.25f"="0dq56zzw1xzzpm1rdjkqwhr6v93xiv00c1g2rmlmfj5dnbzng7wq";
+"computational-complexity.source-2.25f"="02mapvsz8j1979gy7pmwkdr6wq55v0al71ffl9bi2bl7f5nsz0vc";
+"concmath-17219"="0m98kyji3v4gg1a30phmn7fwssnnbdvyjxvfpl36lnljnicpg28l";
+"concmath.doc-17219"="1392wq35zidk71vxybrwjq79p2gf4spcv0qqb07dsgapbhr2g0aw";
+"concmath.source-17219"="1zn35da4jlplqg7fb5ibzaah2yh1cwjqvzmx45jxg0hnsc7xmlfd";
+"concrete-57963"="06m8d6z5z3dpj9i0nvp50g6pn9j0m4n0n1j3w94nml137qghawyg";
+"concrete.doc-57963"="06z5hh9ksr9jpkfchyh2zp8b827klb4v282ipizrm1dvlv2r1603";
+"conteq-0.1.1"="1h7b98qw9hl73gh4zidy59z4rly9afnvmah75jgvh0k1v1hm09df";
+"conteq.doc-0.1.1"="0kgdggc8gpd1h7kdbh3ala5kz8rs56bgmwgv9wvxsqx4sn19q2fy";
+"conteq.source-0.1.1"="1y0g7sj696d6qhcw8vrpxr8gwik54slp7lijbxz64ksqbw5xjqv8";
+"correctmathalign-1.1"="0dvgaqy8pkk3plhqlxgkxkiwyhfzwcyn391grbqv764mvh4iar69";
+"correctmathalign.doc-1.1"="1fd32yzxj3l4sp5cp9rnwv3175jz5m5hxwlfm10x282g44l7mjid";
+"cryptocode-0.44"="09jivxl23sxqpa16m6mla6zb584607ssr46vfg97c828s25n4rz2";
+"cryptocode.doc-0.44"="1ksjx6zcksrsligx58vg3pihylj22qqwan4r4bk7zqdwxwww88l1";
+"cryptocode.source-0.44"="072cqf7dhjyhgw31l8im95h2m601j1bhm4zfl0f2q7yzznk4jr54";
+"decision-table-0.0.4"="0v1654g69lsvcvky0yh977kz7s1b5bjihh6bfc4lqrzbpg92qijn";
+"decision-table.doc-0.0.4"="1gpz0g8s61aryz5y8f2v35v0p8cbwpvsq1x4f45hrhd3hpk96hbj";
+"decision-table.source-0.0.4"="1d40h7vcyaxdf8yrvbx2lns0hg3d0xy9mv9rmqpy8hkqxavzd389";
+"delim-1.0"="0k5h5wk4fn4qzhjcgraqjzf6ggq7rvr8d4c1j2vwxi37fa83642b";
+"delim.doc-1.0"="167hklrsm9dh68nvl6inqck07zfg8w4gr9p5c2n8i6y6v9xlj3q5";
+"delim.source-1.0"="1xh63b78kxngcc3qgzmcfrf4pw2saipw054pzq47vp2ajppp1sq3";
+"delimseasy-2.0"="013r0cgz7ivrjfhmpcf5rdfl2573q35qmw0bhprnamij2jpvggzr";
+"delimseasy.doc-2.0"="02s406bh59qy6g8ckpxhgl0b4xxyr4zf91a6prhzlmbbhf96xbp1";
+"delimset-1.1"="126ax3z4c36z83479zk56jcvdj5r95y182rv42wkm4lm6sy8v24j";
+"delimset.doc-1.1"="1mb85h29fp7nxrkfylfg59jbvjva7lmr7vvgd8nz7k09w1gf4x0b";
+"delimset.source-1.1"="00hp5f5pfad36n4lkmra8mc2n0ynnq9ynnspqfb9378cx3m81cxq";
+"derivative-1.1"="0cb0lw63r66434r8zavyk58ry96v2ardrfdfjaqhjxj4ansv6ysf";
+"derivative.doc-1.1"="1kp6qkm6ci8dn3qs8nprd7fx2m1baf4knc5mxa9argsbd2xifz30";
+"diffcoeff-4.0"="1y9iplgsdk3lp15bvh4rhbyrsmqc899n4183msc698p227w0dn8z";
+"diffcoeff.doc-4.0"="0hzbkpbzanibwhy2cc8b374kj09kfq7pkxdrjs9dg33gny5m2j0w";
+"digiconfigs-0.5"="1irv3jc87bpnc289r5zh7pgfdgk4bvfwbyv6666kyq8f8yl7m1kh";
+"digiconfigs.doc-0.5"="0fnibq45xgwrha5vfav8lylnb6p2i0brd2k1yp8jm8id6xdsxmq8";
+"dijkstra-0.12"="18gg38x09m7xi80wkpd1sdlk9p1bsnlcx84s7nc1wpar88w4irrk";
+"dijkstra.doc-0.12"="0qr39gb0cwy4kisddkphw8j11j9rpm104af5cpxdcd7w0kljaidf";
+"drawmatrix-1.5.0"="1806y5cdgnj61fy0lilm424x936dz2q5f2j2s3w71kzl5ivyf569";
+"drawmatrix.doc-1.5.0"="16pql717cz27sic494xvmsw2mw9jxn71xka0k8fjys8j52pklqnk";
+"drawmatrix.source-1.5.0"="1x8lc07xccf73vcvywmrqk8ivg5xb1g75gqhff12zgrp2vqzh6g7";
+"drawstack-28582"="1lirkdnsp35l4dwsir1xyf4a2s608ymfc3r0hmgg9phiy9i1664z";
+"drawstack.doc-28582"="127c98z547disxksvhabrpnddrp5ax5dwbgy7nmyja2dg65yax9i";
+"dyntree-1.0"="13imdfv22qsy9jq5vksi9qsx8spcc6h2v9qlc6an9p93cq84fwka";
+"dyntree.doc-1.0"="13wn9lyjqds36ff8lyv125i0qqqqg0az71h7g871zylppfy7iqyc";
+"dyntree.source-1.0"="1r7g555bhgkx29hgp78v31nljg9yaz3fjjy9qbk9kvz6wcphim6l";
+"easing-0.1"="0zdyvkqydl713p61izpcp2yz6n2rfsf853pblh6xgsjj1vlhrr0b";
+"easing.doc-0.1"="1f8151jb5nzd8hj3sii4ca274iaxscv5w8fxp758ncshr3bv0avy";
+"easing.source-0.1"="1hha1qs4wy6s2162w61gpik2hrx73r83gja1llbq80gyvyfgdssj";
+"ebproof-2.1.1"="12dqzyi84jlzm75d77crxbwv2nzyw8raypdj60bjrn6kifav7v0m";
+"ebproof.doc-2.1.1"="1d6g3v3hskgd9wrddkhf7qxg160n6qrfgzxfswajswk0kg2w3675";
+"ebproof.source-2.1.1"="130d3af0n0gjvnm0ad3g6pm8dy1w8zp0q7im3gv1kqbm7k5h0hny";
+"econometrics-1.0"="09zlc6943vf9r2n096x6s0xwbyl4lnpcv8a1hmn81s5czawkrqbs";
+"econometrics.doc-1.0"="1bv3m38gp92cdwhvpwrhs4p34hrmr8800js6myif4r52gnd1q4mb";
+"eltex-2.0"="0k782lxa85dsmqbcw5q8gdny1lygfsv5h2d1d70f6y0df17r57ad";
+"eltex.doc-2.0"="1hshzr96sn318b7ssv6f5md23v997xahm2232c3kns3rzpfssy21";
+"emf-1"="1w7whsff28cf3p0i8hii1lklb8i541di3g4z5iv2rfm4xa5m6i2s";
+"emf.doc-1"="04qq6ljidaqs2i4lxp3m1varm232rhd026qirvr8q10vpkd6grad";
+"endiagram-0.1d"="0vgyl6rbgrq0jslb5k1796hlnzxjpavl5ab6vj6zizinr2rvh0dc";
+"endiagram.doc-0.1d"="1gz8ri82sx9nn2adb7sv434im46cb0ld9r4j9fz07kqn6gxzzr2j";
+"engtlc-3.2"="14lz7dw8wgksbihdvga2yyqa3qxbs382s5pzrfycx9z7503dfy0w";
+"engtlc.doc-3.2"="04lv0x4psfpivxfx5asf40pn0d80cwfwc1pwl21jxihdvc6jhihf";
+"eqexpl-1.1"="0q20g2zh9whs8vpc2mqdxpyk1223jd1ygvchrw2p71d17xhxj45m";
+"eqexpl.doc-1.1"="0bryz6gxw08nx7h1b5as1s52i8zr9l95zlfr4gm98n3yzbr3nzx6";
+"eqnarray-1.3"="13vm2xqfm36a1fpljchnmjnl6m4fia8x5bia0h0yxh7yw740vbzv";
+"eqnarray.doc-1.3"="05vh8d0yyqhn7d45ykrql4dbn07f8yh4jmr6qmx1mkhyiz44c9x6";
+"eqnarray.source-1.3"="109ds6zn3nl17kb4z6m1xpa5ds2iwqaxqbf5jmw54547wv34havy";
+"eqnnumwarn-1.0"="1mv50r9g43si8kmdmf3kgcjmw10kzipq67ssd3vllja4pn9yzmz6";
+"eqnnumwarn.doc-1.0"="1ypvd357npccz8vbbq8ss92cmxphq16isvw4ax0ppgxp2bh7cr4g";
+"euclideangeometry-0.2.1"="16fvn2wnm8n9d37z6mm7s812qyvzxyyiq0f868gjjdb6a1sp9vdn";
+"euclideangeometry.doc-0.2.1"="00s2f0fdsjah9w5lq0hrszlddyc3d94bkj3zd8aa7rg3sy2grjwl";
+"euclideangeometry.source-0.2.1"="0p3bwql4rzllyiph54z0nwxnrgwlx3lr6x9zi872gfsbq8khgsjn";
+"extarrows-1.2.0"="151qmfsqqj516ky9j4wbzh1618r769b1bqn4rc5fh51p1s28k8f7";
+"extarrows.doc-1.2.0"="1iw3750iikf6dc6kyid86r7kdzkpi1z4la4zlj63z26fczivif91";
+"extpfeil-0.4"="0n2j976a2607zsgf2cda5vljl497c1562rn7cih11h6vpx76jx9k";
+"extpfeil.doc-0.4"="0irjpxz1zk30myk0h1wjhzcxdpyqjfzxj0lx1nz56v4f157myn50";
+"extpfeil.source-0.4"="1yf2kcx73zp24wrjb59zd1f35809k52cdwym9xlf5fy32rh69y08";
+"faktor-0.1b"="078fxihxiy9bnszy2nj5ca8ys9hhhazkawwi7x2hzwfh3n4dyqz0";
+"faktor.doc-0.1b"="1hj13l2g7za8n3bkxmg04npi5fnp4jv8viyym1076wify7hrwc73";
+"faktor.source-0.1b"="1r8wksjr0q1nm118fzkn527lak31j3sjrbsahpdmvxfir7936njx";
+"fascicules-1"="0zlkjn8kg6vb58xp2xh7jwjk6dmk6knzqh8v7lrdbmzhw9j28vwb";
+"fascicules.doc-1"="1jkhj04gpwcckp9zqanaa9zhplgs2a5xqnn2xf6ir6qifiv3403y";
+"fascicules.source-1"="0d7crimrdcxlh8hd24qfwqnadxfjsfrfnjr4hx5rrj75mm946zmj";
+"fnspe-1.2a"="1w5ibha9cxychlvqrbj2v49kizc7hg14lhn1smky2m9ijqrrdwyn";
+"fnspe.doc-1.2a"="1ix8midc7hy8443fh3vkrl875h1v9hqfwmgjw750gdy9x7y06fmv";
+"formal-grammar-1.2"="044fz33qawb2s81c8walxiz0qjam7vsvsnsvqchmf4izd0svw998";
+"formal-grammar.doc-1.2"="11rj5pbampim79ffipm7asn8q7nf8yy7l96j0j8xjyfxcqqld6ca";
+"formal-grammar.source-1.2"="0xy21vgswxjr80q1qcx633g09qivgkd3i9gf0fwjmykva23q603z";
+"fouridx-2.00"="033f2yhslmm70byg4pkw64g976vgssc6yiizmh2f1chlfhsz1qhz";
+"fouridx.doc-2.00"="1k6zirff9bqbz7assfrlq0r83bjqgzblgxix7697lmp6ww2rj4l8";
+"fouridx.source-2.00"="0il905sqxqvqk0fgsns3yb9hjh740h69imykxd84p92fndaha5mn";
+"functan-15878"="0vxwabhbnw3dlxzlqz4yi4l4iw17a0w7lj3gh2q4l3p9lhzr9qmp";
+"functan.doc-15878"="1jxx1inlzrbzm784zwkz55ykdqhn9ncz6cixs2wqh2sx1dih7cwn";
+"functan.source-15878"="1a2x71qhjdr2ayii65qivjmwmxzw6id3vljd8nv3l04xnp6p5dnq";
+"galois-1.5"="1knks42bg72lj8nqdy2iyaqkq5a76yf4zxql24mwxq5fq5xv1vmx";
+"galois.doc-1.5"="1nqhf3si1kljbr0s1sb22kq6nfrp9ycvm6smiyxbw5lyl3spqkxv";
+"galois.source-1.5"="1rlgf9bv4rjkyifz3xvvkv6xnqxl0pl973mq0zqxaiqfkh0i5xwk";
+"gastex-3.0"="08xba3pqif87wn23vacj7amqi97yk2qgsmmawpm3r3iirir2l1d9";
+"gastex.doc-3.0"="1b5qvkpvdlsq85yllixs638p1bwv9xfqy2mkzyckqcwfcdcv7i21";
+"gene-logic-1.4"="0fxddiswkvfzbmcckl6mhyipxjlr0yf0579i792c6rvrqs5avyak";
+"gene-logic.doc-1.4"="1nd4bxrq1g1gxcrs9lvnakaivla37p218pa4ns6jyjmimfl31gxi";
+"ghsystem-4.8c"="02hvpf3idwmm4hjkbvcz0w9n6sb6iy1xcj0iiqa51fzg8kimpkzj";
+"ghsystem.doc-4.8c"="1lld29kqvfgl4fmj70z52l1b5sqcb3fr8d2aim5l88grnypn9gb5";
+"glosmathtools-1.0.0"="07s9jh24m9d9y01kk6z5lw9acri8g8vjmfw0mgdw3mwpffmba5mx";
+"glosmathtools.doc-1.0.0"="1ya15q1nb7xzjxq7cgnl9q8pwfr1xbih6shd89krijr2l3rrycws";
+"gotoh-1.1"="1k3z1b1nyyk4jr2aj60d9p3fvx9ijpi21780wbbzmn5gydmivvm2";
+"gotoh.doc-1.1"="0kcx815006v0azrn7vvbldplg7z4bgsibz921k20pdz2fqy88lnw";
+"gotoh.source-1.1"="04frszj42vxnn5mf0mi5izwqw7mh57w0npp6n77kciyk84qjca7b";
+"grundgesetze-1.03"="06zf794hhf5w79d3i5wh4lw97i0j98kfkrnn8nppy3p4yrij864b";
+"grundgesetze.doc-1.03"="0rjb4lbc541w8lfy3504j40fvynq49dbaa7bpn7wk77k4m8f9nsr";
+"grundgesetze.source-1.03"="0khbksa9yy82zqd71ls8gh9xcl0h12h7542bi10hwf7zp4nhqs7b";
+"gu-15878"="0h37ilpkqlb6z4fdjldnbwpz2j15izz0wb70n4zmmp2162qqbjni";
+"gu.doc-15878"="1gx36ngw3mbbw9i2xdi2glx80xfvj6pv5frh6fmsqlnvhgni13nf";
+"helmholtz-ellis-ji-notation-1.1"="19szfdy3r6i0ayfr4qjv99dy6h97pqcfr08xhy3v9kzqm4d2b5nb";
+"helmholtz-ellis-ji-notation.doc-1.1"="15d4dil3r44v5xds0n1lnqml7cyncpyr92prb56rfaav669hflbr";
+"helmholtz-ellis-ji-notation.source-1.1"="01zdhy1p6idpksjh1ak1lyw9j536bzr130bjgay471k9d76n38dr";
+"hep-1.0"="016jjvmmc679sk23dy0g09a0s0n176a5pyq18snvi9xajh2c4xw5";
+"hep.doc-1.0"="0czpwbhpgpbij9b97dlb3qq0aa9vyh12p81sdm0hwkj3i16yawav";
+"hepnames-2.0"="0almnyzzdf0q50r6qi7i6c4pp9aakyzdzj2jxkj1y0h5smi602ii";
+"hepnames.doc-2.0"="144wikhsm6mm6f459r4paf0chas0crzvd2rylpynhsmkp9sk3fck";
+"hepparticles-2.0"="076w3wmdywai4pc02k8nk0qyc4vmvn9x6lvidmp4z6as0jir7ydh";
+"hepparticles.doc-2.0"="027pgn4i7n6b2zk8ikyqj4wlkkw1njq4qcfkmy0bgqz3al08zr0b";
+"hepthesis-1.5.2"="165n2pwn04vsln5xy6lkg61c1bp65zyqsd37fmmd3xs7yhv7xc2d";
+"hepthesis.doc-1.5.2"="1cql3rp42bb5c33sdfip69g9rd06107zg6wmsmzkv8c019xwg4y7";
+"hepunits-2.0.0"="11szf1jiralk8jdp45bzksgd76bxcf8xgdk707spbyqf6fzafrz9";
+"hepunits.doc-2.0.0"="071xs04zgnw5ir33qzfn0wxxfsk75d9di0ssl394ksmrm14ny3vi";
+"includernw-0.1.0"="1w51v1v8x7wzibcy40ss7ldra83wbil8w1p978yvs5kzbky3vw2f";
+"includernw.doc-0.1.0"="1zl5fsgzb7nm1wi6ddc3cngqj3apmjwn1wkmsz785nss56vk9f7w";
+"interval-0.4"="04rj730lnkgj4xfm3mldyyf6bb6rr1f3dhms0rnaiq2pzv77cqyw";
+"interval.doc-0.4"="01ngbaw0lbh4dn8kk1vnv49isd7wk8gjh2qvzw6x9yk9nl46gzla";
+"ionumbers-0.3.3"="0pfs5064cya5i6h3bcypsm8fy1bas542kpy742gmbd4rdw8cbxgr";
+"ionumbers.doc-0.3.3"="1sks9qdrl5kivcgn9mgrv3f2gfifmp3icc4wjha4n1va1fqcqcma";
+"ionumbers.source-0.3.3"="1nimrr8b242h11nfxi9si1pg0wc6c0aaa0dl23hjjci89n8y89aq";
+"isomath-0.6.1"="1bzw4l364z6avihhihiprbaslnn49v1rrllf5cj0cg35r3jppz3c";
+"isomath.doc-0.6.1"="1d77wksfk5pidb24cjgak0mv1k09dqmszksrv4q997iwxkwckkna";
+"jkmath-0.1"="00nh8cf002lysvn6qiyy5mcs2n2z5ppr0x5vp1akbz0wwhkhw9h8";
+"jkmath.doc-0.1"="07n2xxfwk0krbiaphfkkfnc8mgc8iqmmmdiz0cj6s7688rlwij0h";
+"jupynotex-0.1"="0dir4hbh5sviw5spsh80cms12rppv3wfqp8cyg5fxkj65mr3akni";
+"jupynotex.doc-0.1"="0xar0qf1czdpzbjn13x2hwrby18qh6s1909nv2q24rl3nrrpzpcc";
+"karnaugh-21338"="0a8bbdd8khib2bfk4n6527d5ggx31gva1fkqbfw2jwc5194rk360";
+"karnaugh.doc-21338"="0n9jqsfn3v78flgqc6ir3w0lymh1j2kl2pcjxq4wnhzgjy8blbq7";
+"karnaugh-map-2.0"="1q4xrsxjmzvfhivg2xycfpfsbcb51nq1cq255slpc06q4ycyxbnm";
+"karnaugh-map.doc-2.0"="1mnwkmkf4lx3cd11rzgqq2rlfc42728zi6xj67x38wqqpi9ak15x";
+"karnaugh-map.source-2.0"="0vphzrj1y5r6zmlqg4wxykqqww0ihgh6rw3z59c23f1v3j83jj4r";
+"karnaughmap-2.0"="01b0ndcd6vcg4y6v4zbi6cymfprv0s4vhh20hwlghh3wy5aknwvl";
+"karnaughmap.doc-2.0"="1xk80qqqpxagvwp1vfh9vgrqihakp7bkd89alb3j9bqaikgdiqdf";
+"karnaughmap.source-2.0"="11b5bjdccy4p3w65268c8im3c6bam9ql60mik8pifwfbn36bhpqd";
+"kvmap-0.3.5"="0ph45hs3x468lhrhsdwikqrw681y9zd3q0b5r088lrb8wsc5pd40";
+"kvmap.doc-0.3.5"="0n0ls3c5w662f95yam6q6rh9gv0vdyzf7rmnkd6dgz5gl1z99q1a";
+"kvmap.source-0.3.5"="0y6mcxixqyqmkk1iq0ys2i174ki4ygss62fx435lwm56xff7mvp3";
+"letterswitharrows-59993"="1b7d512g9gma07n7np7f92qqxijxs2df4h0izq5xffd5jf438m56";
+"letterswitharrows.doc-59993"="04hrchgbm25b8g8d6ywchyijngk42lh7z5gq2g2hnddl7wp79kv3";
+"letterswitharrows.source-59993"="1jabbydsy0xn79p2c9dg605kfrc6g3c25jz72hnq1ilpny9zbihv";
+"lie-hasse-1.0"="1bqc4gpk1f5b7afsqii6ny1xyh4zpc5347v0xv618svjh7dpyzpx";
+"lie-hasse.doc-1.0"="1jfrig40w3ac4j6y8aiwjyvsv9q8lvgvn1977f2yg12lsjdzcpyg";
+"linenoamsmath-1.0"="1jd0m26w23r3p09921c1a79ng5968xmigqf7jsv6kssw5m03qjsp";
+"linenoamsmath.doc-1.0"="1bflplkbhi8pqqv7wgin1ia62yw2zn721py1znhp28bp81gyhqb2";
+"linenoamsmath.source-1.0"="1rjzifwjjcsm1ym931f8vm418xblqdrlrvhgndd4yqbdrv5gwws6";
+"logicproof-33254"="10b55lwrrq1aqmp9njiabqg59xdrd5g8skbcrlhs621s1999dq2g";
+"logicproof.doc-33254"="119zgxwx0q6c4ghpb30mvpdwrpr0xvk54hmj6qfpih0kxj0zp1az";
+"logicproof.source-33254"="19j00a28pz5dp29sx61dnrpqyl24sx9apf2ck334ap5sw7awnc70";
+"longdivision-1.2.1"="1hb76ag0yp3gy7jyyjn8gdmgfln6s4w2l9gji509swbiwpf2ab4g";
+"longdivision.doc-1.2.1"="07krj49i9bbajradx0x2h08ca85kwkqxcx8wn05nirfqwdmm7acf";
+"lpform-36918"="033w5cd8z7r02h4r2p8lha6z81qqvky69a7aiahjpd15smss4wjp";
+"lpform.doc-36918"="0vnz4simqdsznciymkqyy0cpbnxfpkd54wdrcn5ra257a37x1f4z";
+"lplfitch-0.9"="1qjj043c943pj0pvzyhs152795zyskcrxkkmp49jxxm0hi8ww51g";
+"lplfitch.doc-0.9"="1nq554c0vjmcdb9xyprjvvvcwrkbbh8s1x0ypkzi0gqds4m4a38p";
+"lplfitch.source-0.9"="0cc04s2ndbs8j2xg4afxxyi2l8mmnxvgfaflak64v6i92n9icfg1";
+"lstbayes-48160"="1kpkr8xd1k1iinrp1ljj1wjphn0c58l8f6hci0axvxdklr02s3h3";
+"lstbayes.doc-48160"="0x288aij80j9vy6bscj3w257nj0y3z1hf0rf9yncs13jsxr8rz05";
+"lstbayes.source-48160"="1hcgcvnki1xkh4ni6jqcazl0rjbhfmm6gbgsp9n5qavdgnv7qzmk";
+"mathcommand-1.04"="1mp9g6q271ymx59rq9lkdaadi7dwz3p1d0qi1495rrn5d9fpccgy";
+"mathcommand.doc-1.04"="1bjky5x3bgrfmfripn3dmabg0bg02h6xpl3s6qncqgxs0bnfz2vs";
+"mathcommand.source-1.04"="08l3gbrxw3aa028820iv2l1r5alnvzd2wjx5fylxs9lhrwhbmq2b";
+"mathcomp-0.1f"="0ciipbbi89n9aakg86czfmasfnx0k6rq7f8v0wkxk3zk2m441cb9";
+"mathcomp.doc-0.1f"="16q0b81y748qnyc2gycrb3jhw1i5yphmf6rpivwikzpk2nrg3ndv";
+"mathcomp.source-0.1f"="0xdivrbkhn1fh75ws54i2vxgx3xqaqkpfjir5q84vwxgmxfv4cja";
+"mathfixs-1.01"="1vvyka8kilv92hfsx8ahb200cl50kp1r4qdiaqgzkjag5kfxy1ka";
+"mathfixs.doc-1.01"="0gbh6yicv1mf0llfipqymy930zpq9jqc2ix2gfbjdh909l1y34rw";
+"mathfixs.source-1.01"="1k49pdi4kivk707i7fb2banj0qaqc5qx8zl2l8b41i6q2ir90a4i";
+"mathlig-1.0"="0pyaqwr2h9knxf1axi55vm6wr9xj15d5j5pagb2011k3b830f91b";
+"mathpartir-1.3.2"="1a934cglbiahnmqxjg2695rmp8fxlg3m19zka8ayc743ckv92prd";
+"mathpartir.doc-1.3.2"="1aw9sbhgca7hnshkd2vyzf5lrq2xql25mwp9qyishkzq9ayv7p13";
+"mathpartir.source-1.3.2"="0bn3zragwja3hh32fbrsdsswlf07a8i6qrpnv2c1c47m86xk3764";
+"mathpunctspace-1.1"="1vlbw77bqi0qlm6i6hk0kz1syjzjk41mmj9nhnsbm3l8f5fy44bp";
+"mathpunctspace.doc-1.1"="09m2w7pzcahncazlw16c0bh6v3xgnm7rqf71lpvl8p33krasaj9z";
+"matlab-prettifier-0.3"="1q7i44n15pvpc65k41nw6z8gxj0nwk39mhafnmsibxh41yyxz9ns";
+"matlab-prettifier.doc-0.3"="15x6lbj54597f8wm0vgf0yy0iwh7g7xv7cnllnay651zwg3z7h9l";
+"matlab-prettifier.source-0.3"="0vr8cll1v3hgikrng1rilqb5d3kbggcmdy92hsdnip7dr0hxc39y";
+"matrix-skeleton-1.0"="1ixn62c0jj73wjh41r5p5vazhpkh1pq5lp1hmzlch74cynw509h8";
+"matrix-skeleton.doc-1.0"="04fm0506pvrqw11lpsdpjn3386dnjmn49g7lhjhbz4ny5k42ky56";
+"mattens-1.3b"="1az5ld75djha5949bl1wiqbm5mzff77cvcyyk11qjvg7pjwa3h1z";
+"mattens.doc-1.3b"="0mqsr5a2bhgrllvcqp03aacvsp7wymqnvsk1zswwscsrjl9dh5ka";
+"mattens.source-1.3b"="15ww1gl01yfaw7gcm66z8zd2yhhnj15pw53crj6ma6j94akn1zff";
+"mecaso-1.0"="1hsgs52844fv3yfzhylb47hpgjdfkx5wvgx1ihslkg9xm432z18c";
+"mecaso.doc-1.0"="066zg20m9hnm2h0bdbzfbxcjsgpbm52l6xwrszbl2ycinqf4rwdx";
+"membranecomputing-0.2"="1b53zrv4zjdprb0vczf23ksvc49m0j3iymljsgvspvz03jb8xzgw";
+"membranecomputing.doc-0.2"="0lcigpnsfpyf1v9drlkg2pq8v5dy7bizknf7v7yrzfc5yrmc6dmx";
+"memorygraphs-0.1.1"="1ph43wp3h3pz5hh6dp3n6dzmmbn0fw11w3v2fjf6d07a73jqh97j";
+"memorygraphs.doc-0.1.1"="1k8gppgv5kkx7i799mwc9iclp2rv9hgdk2bwnqcyc3j3rmnpyiwa";
+"messagepassing-1.0"="0kl0q70004m64ykpbh1ravkw4ywajkfaxq7gicb4y6kz7navzbzw";
+"messagepassing.doc-1.0"="1dll59aw1c88cfqp45hrqq0kfn1i4kj7252sns38wmblh54r6g0v";
+"messagepassing.source-1.0"="02dfkdjkjhw7pplc1n109rwxng2k2i2dfqw1v894r4x5whfjj76q";
+"mgltex-4.2"="11xl6nw76hana2mdcq7m4h6kx6zx91apxcqkgjczcw9f7ip6m3cl";
+"mgltex.doc-4.2"="10jqlxxdp5kszxpwxyjf5mqaz6pzbp559kdzicm6qvif23cfgacx";
+"mgltex.source-4.2"="1pdlxf2qfyzm3pjjpl0wir4sr255lqnspbsvxfy7wz78aii2ik5y";
+"mhchem-61456"="07dnb38z8p5a46fp8rx3nqhqni0lwg48wzi2bc2nxb4yb0wlcfai";
+"mhchem.doc-61456"="13b1yc9zi2kblrmmlrg43arxg45g7y2l8kd2sq64jys2nw7sq17n";
+"mhequ-1.71"="0f0srylfpzirxykn1infyqwqrsnw28a7nmvh1gzb7ns7fq22wqcn";
+"mhequ.doc-1.71"="095sy68hw3qyybqd8nx4fnjxxm1b4wps41x42q1lpha85y31yzpv";
+"miller-1.2"="1nk31l9g231c3dk70fqph444z9x5rdjy6g7wazy4ygl3q4gfh6fj";
+"miller.doc-1.2"="1vvxnbbjn325y9s5h7qp6v2z1xy6wwppwqv6iwdak7mf47gww2gf";
+"miller.source-1.2"="0jpyvjpaqz1x5avqy1dzf22qwss7ksbp917ncmgjdxhj82jhy2d7";
+"mismath-1.8"="1c54n9sa0ksprq34f8a9k856a1nmgk1wyakdliibxgf797akwwns";
+"mismath.doc-1.8"="0xp93lv93gdd33y7g7izi92lkzs1gxaqd0wknyg35a0pxjmgpi8n";
+"mismath.source-1.8"="02qga9637ncaxggwpqnhf3720jwxg8jqqf4qfm271illi07hl2z6";
+"multiobjective-1.0"="072zpfc1achwj0b1dv8yskdcbg92a2imnmn9z492l7xxyz889n5x";
+"multiobjective.doc-1.0"="161nkl1q2kc91is8y6h2j71hnbly6hv1fjfmlhb50xypjgrv1ibs";
+"multiobjective.source-1.0"="1nps6rl8di10mr5r1hd71svlj0dxd51bk0plszk094a3r3l6z4z4";
+"natded-0.1"="1vxqyyfrmrkwyzil0a3xvlrmfzyfxdkfl10rlfzgwdwd63bb99kk";
+"natded.doc-0.1"="1anh6k76h573yci4lcw5wyf552zfqdrf75vpg19vrr3nijhj9k8v";
+"nath-15878"="13j02zq77fv4c5f45qn3hgb7v20xi0d0dpj0m2pfdc7fj74k8ib3";
+"nath.doc-15878"="1ppyrz9y2hkv6pq18w4chm90f9x9d3qscw679281si2phmnkl1mn";
+"nchairx-1.0.0"="0nv33zq3gyda9cxf4q7ixw0q73aabjm47mjxqipl9cyp1wv3r0kz";
+"nchairx.doc-1.0.0"="1pjnazl84w4bz7lydhy6lklh3kjxri12gswwffw18a92jff88acl";
+"nchairx.source-1.0.0"="1gva51szjww2qr33mizyxsgd262xcw4116nn1dm9z0dg278hwy8l";
+"nicematrix-6.8"="1pg3jz3f0kr5i5n1n0zqjiz2bd8kr6bl9p2s0024mcpsr026q7jj";
+"nicematrix.doc-6.8"="0ad5c6lvf5l33bgfvkj58a3fm4ww5bm4q3arcbrd4cnj8b52z5pr";
+"nicematrix.source-6.8"="0d1agg255z3b71b1vjh4qkb545vi8n1b4gv3si88igs5gzrbclk2";
+"nuc-0.1"="1918fk7bh6pz1grm1655fag16i0ir67ywcx28jsggsly6641nkm9";
+"nuc.doc-0.1"="0r4345bpjdb9f5gmcdjf6zav64gab5f9i4nfql01yg7b7mhk487x";
+"nucleardata-1.1"="0rrxpz66rf6g9cp6ix4rrbjqj9s357qsbv87dhri62iy3alw5bv9";
+"nucleardata.doc-1.1"="0kfi9c6isdlf188zsk2yx38z43zjzxf8fhvl3hm2y87di2kihdax";
+"nucleardata.source-1.1"="1lai682rycff3hm954x482hzn1mq1lrik3g1fwkbm73s99nljyj1";
+"numerica-2.0.0"="1jnpxj4z8ln5isv9sk8qis446zlwnmj971j0b15zk95d7ddkbl8k";
+"numerica.doc-2.0.0"="0l2czqs4cqfwqsk7arqc6rg9zj4ayy46i892908pgdlvdksa1kh9";
+"numerica-plus-2.0.0"="0qr246dk83vkzxz18pn2fzn0n7bg19m785dkgwsmqyzdal684ajl";
+"numerica-plus.doc-2.0.0"="1lpv72f54a2ny9ilhqrmb0dxqyx6m6wsnl32j79n42k1cahhyh37";
+"numerica-tables-2.0.0"="0dw5zdivhhnh2vbp83wnv0cijd0sqd9ddqx4fsbc3z06a2r1pcs0";
+"numerica-tables.doc-2.0.0"="1x60sr6l0p7d599dslpxxlnch9fnzpd97h2p82r7awyz52q2jjm0";
+"objectz-61719"="0s93jjwcmyjd126wmf2rw3776jgq0ldk40f269cp29968q00sfn3";
+"objectz.doc-61719"="1qxqphnsgh412lizx6jij6qhnlx1d558bzd3klqf950bp2hy3cm6";
+"objectz.source-61719"="1l8afdawrrcnbpqdhjls28ncksg8lzs7g59viqygwixwplha0fb9";
+"oplotsymbl-1.4"="1x5wqngjdmc4751ci5qaivzgqynmmg00kg2clngxjqf48n4fakdd";
+"oplotsymbl.doc-1.4"="0bj6w6h4g991rfddmrxgc02090vay2h2qjx36cb0hfx55gwkmh3b";
+"ot-tableau-59318"="0c3nlrm4h0fs3ddm54jpv9w2qpyql7ys1j4cf3y7svas59px4b8v";
+"ot-tableau.doc-59318"="0sj78f1vgr4zy0pyjqf82jf0xyrmrj29xn9a0zgzhn15rgh8wdyj";
+"oubraces-21833"="1rhavggv1c50krafvh7lwnvarh7lh59x7lwkipw24qakq7l2a6mg";
+"oubraces.doc-21833"="1bw3b54cn5dk0j4diq8qxfba0w3p0f78h4kycb2bqd2gq7258vyq";
+"pascaltriangle-1.0.1"="06gbr5jgfbms6p7ghdkq2cs9d6p8yr3mvhb0h811y5rphrfzh36g";
+"pascaltriangle.doc-1.0.1"="0fch8y78vd7ykwn9qdgl6m787m89ff3h1fpj0vvzj5vbxmvw6cli";
+"perfectcut-2.3"="1hjppa3dv8a5740nr5jya445y5nb0nb2z1jlkqh386bnvgby8393";
+"perfectcut.doc-2.3"="1ly3zrrrfb3jihf02p2j5ym3m2gnr18pf2v5qg8rsj2l258xlark";
+"pfdicons-1.0a"="1pxw1mhm2lmggs67ql176f6csajabhylmlxaxp47irk6mlihiavk";
+"pfdicons.doc-1.0a"="1czd4z8rfnfp241lq3v6ri4hnij4b8pg2h9lcs3qa31r7zmx4hkk";
+"physconst-1.1.2"="0078ggfyyr2vh5ni05la8jaxnyxaz2jn0rlahwkw05ng1h5nwl0s";
+"physconst.doc-1.1.2"="0d10kzi278b6yf7dvm3j2nsks43jm6jfjql5jyv51l8bq5grkmr8";
+"physconst.source-1.1.2"="1qvhif2amxfqvwj6vd82f9mjgrk79crnz4sw5v19v02xzxv66fsj";
+"physics-1.3"="06nwz84201w9vky4s877fsiw4pk1kf6iq9yp1jcap7j57nb4l23j";
+"physics.doc-1.3"="09zmpxkrrv9j2ip034vqwblazl4kyprvp24k0f2k0xgc4fja2pqn";
+"physunits-1.2.0"="0fzx8c7sgd6incgwdbzyd3pb9dmdajb3qdfd3mj8sascilr0c2h4";
+"physunits.doc-1.2.0"="0ha1zp0lzx2q10m0wp492sf45pw5cfd98s9pnzn2wxx3k970agf8";
+"physunits.source-1.2.0"="00p7p4hh49i9xwnfd8y7nsgxajjcpdlxw1asyxb8q20x1w1wy2cs";
+"pinoutikz-1.1.2"="1kj24i32ql4jfhzfxyrcj0nmyyhf4ipic7zdzcz71za6njqv3gql";
+"pinoutikz.doc-1.1.2"="15farzmd27gp8ms5vck6xcjs0cx7rp47nww0shs6r0b0l99946m1";
+"pm-isomath-1.2.00"="0kl56njrcs2qklkr49bnkx17qd8csa5bcanc4ypxxv883895qg66";
+"pm-isomath.doc-1.2.00"="0glkk1l2gkqzkjg4vwi9qd3yfv3xsm4ssi03jizy9dxrxbgl60z7";
+"pm-isomath.source-1.2.00"="1ly3bh0b1xl5wf3gxvzrwwg2kglvqmaj3mb7alq5x8q2wn1sxyrz";
+"polexpr-0.8.6"="006s47psyd75qzgjznbsw3x27ngxrr06f5zpl55h3w9m3167yic4";
+"polexpr.doc-0.8.6"="0lpzqs2wbwwhrdrm4hs96d3q41m65bzdcz0q81xy2v7lg1wxf8pc";
+"prftree-1.6"="1sdb56cvlfrys3f884hg6qpv1nwd6ywfyiq8168bs78g4q2ah4by";
+"prftree.doc-1.6"="137f5nbcm6p428an3v20j5cx5djvdri12ph07czj13877pjy9ccf";
+"principia-1.3"="19xxp7m5vwlsa45a4yc42g0h0l988ml60c6qvs5m3cmz0aaxxl28";
+"principia.doc-1.3"="1li30zpf3k1izhcmf4f3dpjbpnn01zk0bzpcpxdsxrmh90fjpjgv";
+"proba-15878"="15d8n2ik6m5sc4vlp3k2w3h5h8h5s4agijgcnlkmklw3qv172vii";
+"proba.doc-15878"="1m2mbbn1fa616dfxkb7x8azqsvczyifygjmbblsyfkd5kl6f8dwp";
+"proba.source-15878"="0wbnfa1i6vbpbq2a4yhsvpyifiw1pirz72qasxm1nwmgfg5dndx7";
+"proof-at-the-end-61933"="0r10lfzqvpq1zmg8jyq5v3ib8sdahnrrnd7d4d2z2mxnk1q1k1q2";
+"proof-at-the-end.doc-61933"="0gfhi29fv44awwzr1cbbsnm734kglgayi96w0yk7i7g1shd1qhn4";
+"proof-at-the-end.source-61933"="17p1hi4xhmf698as0py5na76hzbfmqzlhn5sb5675i9qs5gw6syh";
+"prooftrees-0.7_svn_8641"="08ijsd4gfkgczfgz3wmlyk6pb61cqdc7f36v5131xv12x6s2kd4l";
+"prooftrees.doc-0.7_svn_8641"="0ldhmf22q3m3nhxw2m1z9f19xzw753qrm0nw8hch6wzk419p29k9";
+"pseudo-1.1.3"="1yiqgp1ymhfjh2c1j8qa64bj6cq74jv6ba1wz3i6akngyvbmgqpf";
+"pseudo.doc-1.1.3"="1w8p88j2i8ngqgqv5pilbi3x9nrcjyiliwgjigk3acq0qv9vns2s";
+"pseudocode-54080"="0x2p2bq7cqajrn8s03dgikxg2nb94hk7mzmi7l911xdgdprlg6qb";
+"pseudocode.doc-54080"="1qzvdp0qmmlljahg6hqn7c67sszvjvp3v8zvg7nwam58by39l3k1";
+"pythonhighlight-43191"="1bf3jf05zyggcbz5c6hr06wd8dhf0q5m1i4i7p026s1b7dxxq1qk";
+"pythonhighlight.doc-43191"="0qw1rnyg5pawmp7hd3b0dyjzmbrlxa0hzg7bxnmvrz1akn1cas3q";
+"qsharp-0.3.1901.1401"="1lrnzvlalznyxmkwrn9nh3x2zz74bakiq09dg374js5yni36igf5";
+"qsharp.doc-0.3.1901.1401"="091kiiicfinn5cxpfhhb66j3hkmv80gsqd1b66xcz4ghxan43ywk";
+"qsharp.source-0.3.1901.1401"="13923qlhbx52x7h3v0iv6y8q0dz8g2ikvfz9m0lh9zwjcwv4mpxy";
+"rank-2-roots-1.0"="1fy1zv4yf2gqz4im40r19m1mmgagkvmfhxpzj44csasdcd2w1415";
+"rank-2-roots.doc-1.0"="0mrj96c11vrp0b6df17fkiwnbnxpis3rwk5ji8wwa1klg5han5kf";
+"rbt-mathnotes-1.0.2"="0mrk5p7h2y1kaaj45fcr56smzi7ny6808k53s5442gf538id9jmb";
+"rbt-mathnotes.doc-1.0.2"="1ysaqvli3gy777a5g1d7q5brc245qqfr1fhzj0a4dwrj1gcnw4x1";
+"rec-thy-3.7"="1pcs8j22l18pnfk1a0yyply6w6fs1rb5jxbz1i1cp42nhdrih6r1";
+"rec-thy.doc-3.7"="1bn4hjvfyyyi4ry9lzh70s1s8vnkh49xm439gy23mkz1ij8qa95h";
+"rest-api-1.4"="04y8xai39hlhj6y78cxq2fqy7fis7mbpwzyk4jmgqd3365738615";
+"rest-api.doc-1.4"="1w33inmwr66p81g66zxqiqccks965060034sx8rmjnjfgwqqgcgn";
+"rest-api.source-1.4"="06c06pbqa8m58r0lcr2xc6zahf6gjdc1r2zfgs3q1b6czy6rns34";
+"revquantum-0.11"="00mcqs4zd33larynscqza6p18a8payrgarwbgdsnnvaqf3c2rjnf";
+"revquantum.doc-0.11"="1nbs15bl80yl7hrav0awm43q4brdfqm83bpyf2zg00yz5pjm1497";
+"revquantum.source-0.11"="0dqxvcd5yinnsal4wydb5ybsldsax18zp016p2yzk212rk61rikd";
+"ribbonproofs-1.0"="1f7j2v5233fvjzlrlfliy18gy890mlr2n2fbqfhh88f2w3z4nw2b";
+"ribbonproofs.doc-1.0"="0gqbakw5jdamy0q4rx8y19xkdnb7v5arpkjmmsxhvv12pk2kb3d3";
+"rmathbr-1.1.1"="1jlafpdjryj0sic2zpn5f90754ydnfbb74x8b3q19klm3n20bsr2";
+"rmathbr.doc-1.1.1"="1nfcd9ypyscqv3ghlaljrnj4rm2md5h5k6yl173n15zrr56sxkfd";
+"rmathbr.source-1.1.1"="08mzgxkwk6frzgd2hq8fz30dliwrkrk23xmqy9p0qjmq9vi7vbf9";
+"sankey-3.0.1"="0njrbv0wghzsyhhxlahy6gc4jbgyz4q43qzqc3jb8lln6s6yn6bj";
+"sankey.doc-3.0.1"="0v7pfxj823fxl8w8v8khgnd64g0wr7198071ai7s6bpd9byq3pkj";
+"sankey.source-3.0.1"="1qr7nfgh8zigjj2hhwsvhnd3dl6933dfaqjidbraid3l93af8ynz";
+"sasnrdisplay-0.95"="0qhvx1nc7v6l2gq8c3av4sqsjlzm1raw6cmrf2lls7dg4dpz60pm";
+"sasnrdisplay.doc-0.95"="10f3cr5vfdgb7g0yw3pjqdfiaciwb81m2gssn0in1hv8izy09krn";
+"sciposter-1.18"="1pihppjlynvdlsin8brrhl2mg2jif3fa1mvsard686m4ar6id25f";
+"sciposter.doc-1.18"="0cpyz5n70hsp5hjdja3pl1lal1i2akn7xawwcp983mqfgnp8jm7c";
+"sclang-prettifier-0.1"="164sdqd7msilg6jk1ivjzvv49amji4hb5r6wg51vcxmg069apcr5";
+"sclang-prettifier.doc-0.1"="07s0y5dfmp26j0ayz2bhksdybpqb4cn439cvyifxillkq277dqk2";
+"sclang-prettifier.source-0.1"="1y67y73f2whg663hw56fwrn6jhhpdpm81w32kzwc7r6sk79bnq3a";
+"scratchx-1.1"="1rhqiix6dmdf9i8wan5xh0sw9ynawzb080b4izlp06d8vkfzx6rb";
+"scratchx.doc-1.1"="1p263dcjk8mjfxzgppkbkh7l2p89kavdk6llkffkj0z8gvg8xaiy";
+"sesamanuel-0.6"="1a6673xpr0q8v7wr1rrq3n6acydsfsc3q6kmj0qg6hm7lzqc1f2r";
+"sesamanuel.doc-0.6"="164hkrwdgpq5azhr9z2ganiwhzqxfaljm89igzprgcg23cy0l3vh";
+"sesamanuel.source-0.6"="0n1akz8757l5k2rv188rnqd90dkmy3xppzcfwahiy22p4bzaw2aq";
+"sfg-0.91"="0ldw6c8aqqd7m4ahziqv857zkjk3ap12xnnl5k43dcg8n7apb3ix";
+"sfg.doc-0.91"="1d627ks3av63b142f8kd7g0fi1f4xzq0yg219fj8qxja4mm5jrv6";
+"shuffle-1.0"="0laiw8v6izp53c8y0jf4k1nb8brvs36gd937nz2i2cvnpghz98if";
+"shuffle.doc-1.0"="1wd46l86h8vlxpasvhnvjimsfrhrbs56i767v2h7bdl8yp751ycl";
+"shuffle.source-1.0"="13qz2jc0f084acxdsf99fj22kbsjkr6i3y7pqzh1g2jd4d8bbw8m";
+"simplebnf-0.2.0"="0jjymrg2vs6jibfg6k21ckcznzf4ga0zqcvwwghyaqcxbmq7sh91";
+"simplebnf.doc-0.2.0"="05nkaf2p60a7k94vhqs71d75gl5aljyddlf1yjrbdigfmpsyagja";
+"simpler-wick-1.0.0"="0lm22wdxiwasv4igfsyjfi338qc7m985da7a9a6q8cm63hks2alm";
+"simpler-wick.doc-1.0.0"="18hmx8b6zpsc98mmjvimdayqpkffwjjch4sjajbz4csjpza7nl98";
+"simplewick-1.2a"="07rzphj6ffla4qz9pa31xnn25d420lvsnmgj7l78ryxai5amdfvw";
+"simplewick.doc-1.2a"="1ch7yqh3bv2y6282cgvqzm4pf5hgpfvlmpg66zcp44wnkq1sw67d";
+"simplewick.source-1.2a"="070f0zrnrf2sh0dx5dlbz6072b76f8iw03pvywhyryfgghfdfv7d";
+"sistyle-2.3a"="146493bgh2ghbscq69bxsngjfkl3k8g68cy5j28v07lxi3ywr6n0";
+"sistyle.doc-2.3a"="05hs1wd3wj8szj16wnmjfiy0g0hxgy2cc9ai7q6ys77kgjb0dpfp";
+"sistyle.source-2.3a"="0sb6vbhnqlixrfy9484d8im3vmgk58y7nqad9hm2gkd4p560cxj9";
+"siunits-1.36"="06x797504p5lzb3xlkri1sc9whyjjz6a95gk8kvpympglm8fmpxz";
+"siunits.doc-1.36"="06saapj9rh5gbrj0npb9rm60xrww8rl1y5brvx97gj4qvc3i2pic";
+"siunits.source-1.36"="1clhfsmydg2xjajak0ssa9v5sd3id957si5zvyq3njgl9cpjwi9r";
+"siunitx-3.0.49"="005q2x65zjm16fja1l88xzhns3a0iwfimg2j4lp7n7invfv1qp1q";
+"siunitx.doc-3.0.49"="0i4z1cfrp5nr92iwy4kwhx1qk0l1lxpmdkabr2srdhwil4li8hmj";
+"siunitx.source-3.0.49"="1i712bh0d0a0r8vjxqx6w1rl5sqhdlph19743jm1fsc3y5r3bnqi";
+"skmath-0.5a"="144iwn9hv4d71420878y7dzygmyyyr2l12gsqrbb44mdal68q58p";
+"skmath.doc-0.5a"="0an8w64z7dvbxgagga33zar0m2l44327q4lpz59n75g7c6qswnv5";
+"skmath.source-0.5a"="0finxgy2sj5wpzmjh5zfcq9l3dzka1mlffbgmhzp7yk57rrz9lr4";
+"spalign-42225"="0wy2kliv3mrcqvandk3qbbqjbri6xq69d5jsi80l7qdiij86z3g2";
+"spalign.doc-42225"="0jp34h19q4588rli6k0v5kg47j6i1gjpjgk772fkb7l0f5wln7k3";
+"spalign.source-42225"="02qzd21qzb8s2jsip2fr1jgf11xd7xmiyi7fv0s9ylyfr259c5b1";
+"spbmark-1.4"="1dvydq78xwkjp9scsa8xql6yd4x7c4c9rwi3in0lpvwg7b4zgcr8";
+"spbmark.doc-1.4"="1hn6yaqzfdmv30rz5lz2b5h9dk6dm36759zqyfl05v97y1zq42i0";
+"stanli-3.0"="05mq6zhs6x5qjqk58gwws9lw3p876bd1f8a5c2jvb2azjl7d9r4f";
+"stanli.doc-3.0"="091knxhx7jsjiv4ip0z2jbazvv3xmbvandbraxbipp4zqqakb8bj";
+"statex-1.6"="11qpdrcszbsrasbasmk6h9wg5r2a11pm116i16h7mvw73vjaq76f";
+"statex.doc-1.6"="0dkb7c7wavn3qgndl0g8jpkx1qr00c3iwp6d0r72znggl4cznhsd";
+"statex2-2.1"="1949zszdv000dw1dx1jjznbd79q73fjiqnkq2axdbxffh47ls1dp";
+"statex2.doc-2.1"="0fkzbs76yfyygscazn4dgphs8g1byzg9n3fbdg6pizzncirbgh6c";
+"statistics-2.2"="11szmc6f380si38il9vw78n30yyfmmvgxpp8f8p8kzb373d3hs9f";
+"statistics.doc-2.2"="0z8mx2gar2fn97n3x01dw23l7r4ckqwgfksgmfdj7vhgs51wsv16";
+"statistics.source-2.2"="1dkz9vdcnadd1xd4k9i37a3mpn1bwm4zf3c6bg6rvzxaarrrci4m";
+"statistik-0.03"="1c0469cxfvyg5jl9q1pyzras6fk3f6zbgigaby0iav34imhg7zy6";
+"statistik.doc-0.03"="0fih9k7mpzg25h56x6zzdbdnhybd25b7hlv0pdbnlfb73s7h4mcv";
+"statistik.source-0.03"="0i68y5ynymx339zgxc9r8dgcflm5468gd6cwn9ngpnjvqqbas3kf";
+"statmath-0.1"="0imcx9nx9h5fi53nwg82n2d9s21vlngdab7znyg1z5pdll0df043";
+"statmath.doc-0.1"="10mxwgvjjnk2ci05ikml35q64c82c7dv7rjwajhk03gq8ljq939j";
+"statmath.source-0.1"="1himjc8cn3j5jr073qpp4mfyi2cpr0czf7iykr0w6b7722kkqdh1";
+"steinmetz-1.0"="0g9ll1hsf82wll1ng5lc2v6il3l6pdy3dppz7k7piqqmifzc8ifz";
+"steinmetz.doc-1.0"="0gyyqmllgp6dg2g4nh5q5ycnixlyzc6xfmi3szypmr1rai1dvx2s";
+"steinmetz.source-1.0"="07fj431nraf7f9qcmm5bvk03cblmj15xcsbnhgish4rxqbf7clsj";
+"structmech-1.1"="0hz5c2wvsm63cblj507bph7c7031lzca8g6628pw8lwinrx8npx4";
+"structmech.doc-1.1"="052m701f5pv6lh4jsxn54m8x4086vh4670gr7v1k2rwqx1dzbv8l";
+"struktex-2.3c-0-g7d3fc5b"="0qkfh53rhy29zapn4zr6n14nmximfyv8rbgxm16qq3l6mid5jnyc";
+"struktex.doc-2.3c-0-g7d3fc5b"="1nbbqh3g42qvrk478q2v6snl1lbmfjnb07jhx6z53yk87pna8gmb";
+"struktex.source-2.3c-0-g7d3fc5b"="0j3bprncnkp7iar2dh46bqr3v9zdvkk9c2w9kgj523bcyzw48zyx";
+"substances-0.2a"="13nl4xc0spsg4bq3ld0fv0612kac2z017zp8hwck2d8413jwkj8y";
+"substances.doc-0.2a"="0xbrs7qpbs5314j79nzcv408ghhayqxj2n0nfify6isxh85r1ks5";
+"subsupscripts-1.0"="14v5a89iwm2ykjsm3jxgbqsm5nba444yh8mzqf23s23z7fmcmsqb";
+"subsupscripts.doc-1.0"="10swcywyb0jdsjhm0cybvmyc9g2ksxq60bqaqnp23kfxp39g9rq2";
+"subtext-1.1"="030f7sq37qjn99l1z6nx7qbivhczpzhjm7drxhhhsssw4n3mci7k";
+"subtext.doc-1.1"="1m6zyy09a3193w0p91y8g66n8bnm80awzg2g8l195n4p41l8vnkw";
+"susy-19440"="06q7nw6bh9dkknj1jzvy1wljh9vn49z7mbhr5d0ydv10mp9y9zlv";
+"susy.doc-19440"="0dsr3yd5v6i240f7fgpbdlp0dig4dl0376ssd7nbg86scl63k9iy";
+"syllogism-1.2"="01x5kjyfm5ksqig5h2b8sgmn05ws0a65idv1xh5l709yp2i35120";
+"syllogism.doc-1.2"="1zqljwv03f755lzc9fhps5xh2dy6r0jdsvp6a21ka11kqq696vjw";
+"sympytexpackage-0.3"="0d77xd1xl9wc6qbd335kvhq8gbvvqzgqxblhcmyd5khhg3azk6sk";
+"sympytexpackage.doc-0.3"="1y743lffzk65wl5nwi490wnmf4xaxcnkpicmhadcvjcadvhrnlxn";
+"sympytexpackage.source-0.3"="0q3cl06b2mcpn5an1m7c68c4c0swmgacj3afqb38984dcvap5abv";
+"synproof-1.0"="01bx52ckyg4abigyzfcxi83jqdkczvsj9b80rznqz8vm9yrbv951";
+"synproof.doc-1.0"="1kvd3vvj6yx1bfqbi858qglc31dx03ish49q0lai0mp1814n6fqh";
+"t-angles-15878"="1p1h0gz1k4lr7rmadhdgb7l3gp55w12m3p88hy9d4d0ryzld299q";
+"t-angles.doc-15878"="1n01pg82p0yz0b7ph82k5ha7a9j0a4hc0489xq9pf4kbizh7ap4d";
+"tablor-4.07-g"="15xinskbqjj1dmi1fpvb6slg8kk3g66dm70z9f7dx8bzb1v65zwz";
+"tablor.doc-4.07-g"="0lmi8mn5k7b5i0n7bqhagjkkzs2niy9852r8r0vv2c8qfbpm4hpm";
+"tensind-1.1"="05vgqn5wcynyp8gy80icnkrdrgb0wsr3h0db033yx4yk3c8lhwaf";
+"tensind.doc-1.1"="1vns4k813ffccps5vrrpfmb7rm4fmfs8zgs7cnw2hqg08dmzijfn";
+"tensor-2.1"="1lw3dxk7ar07d4mb02rvv5r2zdkx8pz0w3dzf9s2pa2slbjx5dlx";
+"tensor.doc-2.1"="17xg416ccniiwvq0schcmp53a9hdxvds2pfn6q1q5xw78r983r62";
+"tensor.source-2.1"="1xh8fk3z37wc0jhz8jhz12d35xq6a8fsmn64ga4iv7pi1lhvaagq";
+"tex-ewd-15878"="1pmf17bxw6i4a9pfi32fjk0hd3p44kw2scwmr7p38320r6dv7srk";
+"tex-ewd.doc-15878"="0ss7nljpn8k3cz3av5qanc966q90v3qj9qy0akmdzbiy7q8ml7na";
+"textgreek-0.7"="0r7jcv38749xndr6sigy8zw96kwqw63k4m33c09hikawf2728jzd";
+"textgreek.doc-0.7"="12pwr5b8269hrwgpr9g4chw273wv81cfa52wvp3nhkd2cvbhfcp4";
+"textgreek.source-0.7"="0wq69l55462snrkpbpnlg03mrn2yxvibw38lkplgfc65gzaa07sw";
+"textopo-1.5"="10g5i5mg9898q091w9svm7gk4hgd6dja3dwy5dwc7s78pv0qcd68";
+"textopo.doc-1.5"="0r94ivbqmvs9lyw1ipwzcb4f0v9npvyfll7r8c9g627ikk9fmpa4";
+"textopo.source-1.5"="19p7sgz34dkvjqkld38x8li539kx140w1nj9l3ai5chilxz4lvy1";
+"thmbox-15878"="16c6p3n4zc2726adj8z131h03gbzyhmh5bj8hzc286p96131swdw";
+"thmbox.doc-15878"="15mkfzmy0141k5wgspngbwnnldf0i1rvbmq2bkzcpb72v9vcj8fd";
+"thmbox.source-15878"="0lv5mr23wwhig6r9fyy7rlv2cqxlr35y3g89i938w35s9q25xx08";
+"tiscreen-62603"="143c2w00f4s24qli3wbnhps6b5pbrvrhaddpgpgn52pmy20f5z85";
+"tiscreen.doc-62603"="0l0qs27bm0hy835zljyapyhs7iwvkpn85vnd0z02wy8l0nb11ly8";
+"turnstile-1.0"="1br0ny72qsv5fpfw4x0v7q3dqy2jgicyd97ibzpxc04mp967njjr";
+"turnstile.doc-1.0"="1iv8ysamcqzc7lavhskf8kwi29jn9xcda0am0ak9s1c7nz7pb3ly";
+"turnstile.source-1.0"="0aadq0w193hl3rlb1d8xv60yy0fam4aprz4j96dphnanbb9g27ll";
+"ulqda-1.1"="1mpjwq43dj2am9llszy1yzz2jbhdskf14ki881j6q6h5zfwwacdv";
+"ulqda.doc-1.1"="0kkxa9sv2xg6d31bj00wszkchkk6raj2pvqji930098jray3zdc7";
+"ulqda.source-1.1"="1gb2r4zzr3q2kfigrb4j528jmr5paj38swhnp1dlb2dqr8y1szfc";
+"unitsdef-0.2"="1ck9awf9mzjhq0x4c3cpan79imh7ijpffii90955jc78h3bhcwkg";
+"unitsdef.doc-0.2"="15svjszg72axskaa3yg91gvh9y01s1nh5x6nhwqbr9mz3bn3npck";
+"unitsdef.source-0.2"="07v6xpwkag6fp8p331gcfbb0p1ca36rvrs9kbkayc986k6nds688";
+"venn-15878"="0kfq2wnjsbvk0ciwrm4923fpr7whmzyv240r4zps41vzpc4mykiy";
+"venn.doc-15878"="0izj8qsnxj9jgslwzz37xwr9n812y3cxmfs52yd7p4638qid50im";
+"witharrows-2.6d"="1lj7acqibm3pq0n4gyl8ll6870rlrbw7ds85w20mgv45gvh2gvsy";
+"witharrows.doc-2.6d"="06xr14f9fhazmh5bbvlhimaw2mpgfss30dw95lvjrymx4mxf8c4x";
+"witharrows.source-2.6d"="16q3n27070y5dk66y9rsbd3mncnyd198pl5h5k81k21kq7f44cdn";
+"xymtex-5.06"="01432q9vnzbxzli9bdkdsd7ccvw3ksc76cs3568lsr35bkq1yy1n";
+"xymtex.doc-5.06"="0bx00qsgnndw8kq59nbihlzlnwvdf6gncdl3ljckcdn07i4mhl7i";
+"xymtex.source-5.06"="0gxi985kgkfyybg90f14y2w068ysy5vk4irc8lfvdgil3y8jwi4l";
+"yhmath-1.6"="02p5rzh9n92pjznrqia9b6jnlwmn14189m7fiabvinjakaxmwxwn";
+"yhmath.doc-1.6"="024p61b5i55m6n8fmk4j9r3q7dprp3lcyzkhag0wch6vgjkrajzq";
+"yhmath.source-1.6"="0y74zwc1pkw3dp56jnzzy4zx1ilw5qx9msm1bf55mvdfc045a17s";
+"youngtab-1.1"="18h6a4b4psbm0hjxq2xnk4bkmsa1wd2fvarrzfkhcj01hgn8bz17";
+"youngtab.doc-1.1"="00jkdw02iary6s5szh7hf4qjlr7r8y9lfmvlnrpqkhh6pdhsy3jh";
+"youngtab.source-1.1"="1hjqkj12jx9imfqm7y1mqdvp1knhf69kbixr88varbh09d6r9p66";
+"yquant-0.7"="1d51imps4w3lg9jdlqmymhblkk4dxp53ijgygz64lzgq0sk096ip";
+"yquant.doc-0.7"="1zbvmwbdhnx3xy0i6yapvd6245762ri552h9w05v94p1r1xk7bd2";
+"ytableau-1.4"="0gfpxbvar3m21pj74j19qnj8qakbknhvssyvfyw61jwdd8ygdxkd";
+"ytableau.doc-1.4"="00k10759qihk3330bwfpzmrm9bfb8513w3sak9jlfy5inay59rbd";
+"ytableau.source-1.4"="05pxlbj3rdgr15cqfdxviyp2698b7l44rzgssx18yv2a8qnaxylh";
+"zx-calculus-60838"="12i0zskbwky4l81imz83aqi2g1jypy23nwv9fyc3rjlm6aarrzrj";
+"zx-calculus.doc-60838"="08clr1caznfygq0wqmi0w5955birqaiyvmvz5kjaq6qrzi9rwnns";
+"automata-0.3"="0jqsvxn561fwz44gd0rwxyjwh1nanpmfsvd3kslw87h54hzlizf0";
+"automata.doc-0.3"="1w428b0wyxf0v7bf1yr9dfm4x8q3xas9fgv1q9sxbhgri8daj8px";
+"bbcard-19440"="0snfsyslxnz84a6lgwi21rg0f5vbs6h8yfyywih18vmlbjpba3zx";
+"bbcard.doc-19440"="0rbx7mpns7pgidx3g5pi0r7d638lwykjw0inpldb5g3dz1ipnpvc";
+"blockdraw_mp-15878"="11977c2f4100xfbrs5vcwz3vbijdvybq80zmfansdmxc0w3w6sq6";
+"blockdraw_mp.doc-15878"="1qb23f08wxmw3miys4sn89h48imzcqz720xfs3ihnbk2v75q3rd0";
+"bpolynomial-0.5"="16rzvfjwc5lrr6fvxjwp383ayi4pwhqk4x6k9blqzn0c0cakqmvc";
+"bpolynomial.doc-0.5"="08d7was7ly4wgy04np72f9pn4kz20hgfsprvzlpyp2rfxvixphfc";
+"cmarrows-0.9"="19r3r86vdlkjgx98dsf8c3crq14p8ljdfq6cijqqsvj6p4p6nfy6";
+"cmarrows.doc-0.9"="0svllk1cvjn1mw68yfhbd1na6grp4hlqbybqnmw7igw8ilpshl1b";
+"drv-0.97"="10dqig3wmp340m9h3n4yl6scg1p2a7ccazsqp7p8a4fkfw0cziiz";
+"drv.doc-0.97"="04kgfqhilxpcc0h6rhpw55s1j14wsb5v8b6ykq7ajmacrpmyi50h";
+"dviincl-1.00"="1qb2cl5jbgzjfgwqnvnfbbrbzxi4m64lajvz6pyybnrwv4bax0km";
+"dviincl.doc-1.00"="046c2cl9azgfg7y2022lj8x7yw8kg2pgjdixxk5989ai850k2j9n";
+"emp-23483"="13iaipg8n1njzbnd8s622irizd4cc1cbkyc735mplvwq10q2jxqq";
+"emp.doc-23483"="148l1xq42avnf5gz1sqjcdprnkcbgsii3fm1jiamx18175zygsdc";
+"emp.source-23483"="023jc6v2l580x2d480x11z6rlknjjvx8g3qkcrvdi778h5m5bb94";
+"epsincl-0.2"="0cmjwns5hnlqi1rk6py4s07kbgflm046pycpr1lr5c1dacmiycxj";
+"epsincl.doc-0.2"="06cyyhnphdxigpq4bkg28rx8h9kgmb3ywpbdak6v6ivvlksxgnaa";
+"expressg-1.5"="1hcrzh5xhvzhf7d9gfqfxj7bi89ds5rxa8m6al12mdr5qpffzzkb";
+"expressg.doc-1.5"="0kla1swvhd43xcvns17wlcvq33wvjidhkqnd4i587x9mdn69s8bv";
+"expressg.source-1.5"="07w45g2nbldwnbrbrmdq9pwi3xbi6cl2mqxaiyk78jfgr033rmqf";
+"exteps-0.41"="1pmipr1444l1yai8d9hhrncvimzb5scn80pqij2g90lz160962r0";
+"exteps.doc-0.41"="0ymkwhbl6r64pxhr95wdw10dvn6q95mkz1pwa1nb42sdcljizrsg";
+"featpost-0.8.8"="1p8xb6kmfhhqvxcmgf4bkw60p1py2s1pyn54700zs8vlkbxlqy6f";
+"featpost.doc-0.8.8"="1hy7n0jfdidj3an25j0m5bbv2ks40iviwzwijlk6qqdll0k26z33";
+"feynmf-1.08"="14bl9c8yz1z596281kysyyjbf727pi6mdnwag6gfqs1nsinq0a2i";
+"feynmf.doc-1.08"="1ql099wrlddb4fyfrsirx0vnhcbh0wgwp9yixhvgxfk5pbah8v8n";
+"feynmf.source-1.08"="0f9ghmp0hcmzadsfljfq7pinn69251dwhcdk4n62jrd07qdgqsyl";
+"feynmp-auto-1.1"="1yhvcxiq6ajjmlsvnznzvp35sap1qsnj54zv70dwpl29rkrgrmsp";
+"feynmp-auto.doc-1.1"="1y1pwlplkz2z7lqz84ay7ch1lw4plh4n69isqzsvhilnr31fkf0a";
+"feynmp-auto.source-1.1"="0ja5yqs9szyk4s2mk9cbjf6p98dagwk7pycma84y48kinkl96s0s";
+"fiziko-0.2.0"="16r25wagw155fnz5lngc3jqxaf5sy1f2mbyzdklnizaazh2vbfdf";
+"fiziko.doc-0.2.0"="0pdnd0h3hkdw32m4yjmqj14ijg3qix8ajjxkhvi88h3pbwd0wjiy";
+"garrigues-15878"="0qr2ak20416p5zlavcbihxkjvifzwj3cf03ipsnxlp4a0r3m0hgy";
+"garrigues.doc-15878"="03cx077kcvny07dkg9dpgvdb5vh4z7v0c80rn82vqj1l3i0qrxkn";
+"gmp-1.0"="1c98y5fhnq5w9b6kkpnrag364269s90kccgbqwr33bn9ixhsf0dq";
+"gmp.doc-1.0"="0wir24czbym76b9fcbzd29m0749lbh26n44yfl48k5pxy6pkqjcb";
+"gmp.source-1.0"="1qg01aaf4s939ixzl7wdariaxxg1d5z4s76cz50rpw0p7rgdqbay";
+"latexmp-1.2.1"="03rgabck8mcxnbg1avl638nhxdk6smvyd21v2ns61hx3jn09cpv5";
+"latexmp.doc-1.2.1"="1ad9axqv8h2s2xckrdxcnl8kazpgijrgpxmbwsb3h0hqb3liznsg";
+"mcf2graph.doc-4.82"="13x2ciqjibmzmjm9hpsrpgl9i1vjp03kw87ggnr2b4xb7yzrgw2f";
+"metago-0.9"="0km18bf69rf3rs42b0azc7i8bypy14201vk13yf5ahsypcjcgqns";
+"metago.doc-0.9"="1bx240q75pq9v23gz82i26vrp7z4cb00f9nb3cvvknbndk8y7hy2";
+"metaobj-0.93"="07p2r8975ps1ricqralyw2qz1zq5lmaaf50xqd68qwxmgrs3541z";
+"metaobj.doc-0.93"="17kqa3h13p9vba6sa5s29v29gkm0zbm5wngb0zx1lxwkpkgqaqv5";
+"metaplot-0.91"="01blkf01b89a2f1c7fw6dbp49iw9qw94krv1hiqg7ckkj8j06sp8";
+"metaplot.doc-0.91"="1fm27sy0zz3ppzz95bngipkq4m498g409igx4xcbkmqaghci1pin";
+"metapost-colorbrewer-48753"="154yj9pmwlmdq91kw5xllqah7pkccayv8r1zgvlqgk472x66zrzf";
+"metapost-colorbrewer.doc-48753"="1y0ml5ldridhcg8k811dqq2dh4xsx48cwfkliygq0q1kkl34vdag";
+"metauml-0.2.6"="064cyc53izb7fqc6xfk7pygr2k7wqivx29rkxzrb7sakafwmnkq4";
+"metauml.doc-0.2.6"="10n2xhjfysqihmkrzgcg96vsh0mh76h1jjcxx2nghydihjdggzjr";
+"mfpic-1.10"="1r8xq6npgnlvcyimi0xlqmqa140p94m5x832x0nfm9d550l1zrgi";
+"mfpic.doc-1.10"="07h8j6afl5sd7hz4gw0rkix1c39vdkg8376jgi7ypwvk1xr0wgp0";
+"mfpic.source-1.10"="0ynnc1p2xihrwzfyg46dljbc2f28l152la8f2z2y5zfvd08ir49k";
+"mfpic4ode-0.4"="0jdqbdi2gqb1v4cqahwss1rj44iw0753cq262j8zmaarski351a0";
+"mfpic4ode.doc-0.4"="0sbsb9lysz6hysrpf9dfgm2zn5qcsv7aaf5llmy9kan0m4h84afm";
+"mfpic4ode.source-0.4"="0iya4y3msmyq468zj2msq93xpa01044kmnv4dspz1fmh0324iklm";
+"minim-hatching-2022-1.1"="0raih3zsaxpas4myf4m0bmdxqm1av62cldjs4z768nndkv6xl1iw";
+"minim-hatching.doc-2022-1.1"="0bngn9d24w77dxi1s7ad87gi27m48d4jr2j51cpmmagfdvlqnfsi";
+"mp3d-1.34"="18wgwwvh2vj1adbvbl1q6lh0wy0cynfvrx6cgq0m5nqps7b3idra";
+"mp3d.doc-1.34"="032ywwjrv21ypnlidvn95dcnq179pdiail86s4nxxllkjrryc2db";
+"mparrows-0.1"="1hmbpfw1wn13zp8dksnlc86vb19zs0dbwx9hy0sbiyfmb7hidznc";
+"mparrows.doc-0.1"="0ly0sw1c6i3k5nh26a260qw27x6rmv5p2zs11yh5076ziwdxnnlj";
+"mpattern-15878"="045sji1qqwalvmiinqkfm3x4rk2jc7m9nya48brcc0rc5icq7xqn";
+"mpattern.doc-15878"="05b9pr86yy3hl14jymk4g4mf6f5v85b4nv2bc68m02dflvm4wnsj";
+"mpcolornames-0.20"="0bg59x762rfsl3whzqdpajakjnnx5jbh55m73dw23id1g7cs5rsx";
+"mpcolornames.doc-0.20"="1n78abrsj5xj1gd2psgph7x4dm8nscvwmlp6ijz5p6xgphgqs5bf";
+"mpcolornames.source-0.20"="0q74zsx3ni8bzl0k1iwrr19k7f9vkwqfm0bp24m91wlzvh4vlk7r";
+"mpgraphics-0.3"="0ymwcn16n44y47ngdsyb0vvfp9vjnwixhxk67z6ni5d19f23jqli";
+"mpgraphics.doc-0.3"="0q04yj9j9f9j9rndqn9k95jwjm41g1rf5raqlrr1cn14bax0lr4p";
+"mpgraphics.source-0.3"="1hacfhb2dbflvmg0c1lif1hmhxkj3g6j1mdlb3wm43zczgaavnmm";
+"mptrees-21.11"="1dg0q6icha1yrlih9r1wzz6p8bqjw31bpfs6rnivkhb95nykl7rp";
+"mptrees.doc-21.11"="1f0f1j99aj46f9sd8kjs0kkpcrqib19gh4k7v114vvkgbjlvykjm";
+"piechartmp-0.3.0"="1sl8mz26cglbsqmpd8qz0l9yycxgcimi0yhkgnc04n2iik1xc6b3";
+"piechartmp.doc-0.3.0"="0g8sh91ki495mqv7zxxz2q40bk9dl150a9hi7yv0kbpiy45h3af4";
+"repere-21.11"="0gkrzac8g5rzb5qir3z1hdyafw7jp8wiwqdmywrpxdv0ndm7k1dq";
+"repere.doc-21.11"="1v319kz5zn5f92j8avyd2qwj3j7jvqldaccj5dcv9ww0rlp1qh8j";
+"roex-45818"="06mry55hqrakkc7yb7b174cx45n0frk3isxw96p4v77n9pyvlffk";
+"roex.source-45818"="0fwcb1fgz4kxbgcqm34s5glswj43wzg5j56ak5an39lsw0wirs94";
+"roundrect-2.2"="1xjfigxkgcszkcja58jd2w1rhhnccsl665p0k20lssb97wmdzjxg";
+"roundrect.doc-2.2"="0sg1ck97k8pbg2fjf99mhpvd251plphr5pk1dywmjniy9vmhv1ih";
+"roundrect.source-2.2"="02kk3h77drvkqanc04bjlfzg0scprcs78z3m2zf8gs6q8w95k7pv";
+"shapes-1.1"="0ww9akd1cf6nr9jk00qrjc8j0d9ryf7f8hc5ywmnz1q1z6mk1fqd";
+"shapes.doc-1.1"="0qh721vhyny3xmkwiaif3gdmk2bhy67mvyfkc4hxrba8lddnkfqm";
+"shapes.source-1.1"="0g3xfni1lmwdkl2jmprnhl3yxdrmilr6nb59kvznwph10h1c7iqd";
+"slideshow-1.0"="1v39pb9qdivrj26hpjbysg3hbdxfd247a346s5gdffraymiy9lcl";
+"slideshow.doc-1.0"="1s40c102kkaa24w05lmlg1kw8fwlfnd5vwbfqlrf4y8807izbj4s";
+"splines-0.2"="1dynq4y6crzmnn7wcana8klczvzzd2gkya41qpy9w6nxwa2b6kk5";
+"splines.doc-0.2"="0lyg56rnhrq620f083bayssdm36h6wl05d8wld67lf42056kxy8j";
+"splines.source-0.2"="05b9dwykc91q4d7xmvq5hg6vznsy4axpi4w6awr6l6qrrqh6wz71";
+"suanpan-15878"="18nzb8qbs7q233f68983q6988inwc0fm79clnpfpr37z2p7im95v";
+"suanpan.doc-15878"="0xria0g6qzx528dgwb2q23l5iqjzj8xix1215ciz5kmrp2h4fh7n";
+"textpath-1.6"="12f8qn2ncw0drx5r48ddb0xcc6fdm7jpmv5i1n0ihfcqaqa1l8xb";
+"textpath.doc-1.6"="0qhyflskr978qp01apai5r3qjhsj5q4mrvwck60jr79yasxa109k";
+"threeddice-1.0"="1r5cssaj6qxv17n04pgvib12a7b7fnxfk3qbf87mhs1xpxsh6v1s";
+"threeddice.doc-1.0"="0w7f2dfy6sbircp8dbw8s28s4bxbqnmz469c71v3qcaw6hgw3y2y";
+"abc-2.0b"="0fxnxavk76gayahflpa8f61j63x9y6aym7gqnmn6xfgggyab4qmd";
+"abc.doc-2.0b"="0ipxihm9jkb5dvlrk217275p7r6amnkbh352k07s7k7i7rjg9pmd";
+"abc.source-2.0b"="0461ci1zg2wq3f9qypwkxmyi0rciv8p2zk9rcajs0591fwz3drj5";
+"autosp.doc-58211"="16szmbffp9pwzv7zq3l4yvnsfk4m7w57wib7pqpgv1v5fzhlaahs";
+"bagpipe-3.02"="0i3f9f7a38vcsypmf0yv2cdsb1c8n3qin4n8ac73gwdknhhibxjd";
+"bagpipe.doc-3.02"="0fagwknqzl3k6vc2x9axng5zljhc4jhlqd1x59cjkbrwp8xvf8kf";
+"chordbars-1.1"="0n7ycv6wkkd4nr7d6w55375c0ym1pinqjyxx92dwllkmi5w2wr1w";
+"chordbars.doc-1.1"="1hg3kzyyw3ra6qqf9fh2rvv5rn2jaglzjvf10hwkv84a21hlfvq9";
+"chordbox-1.0"="09sghgyq6mv3w0m1vlcf82vjbdkb00gpiqr6iwlimpqjrv09bp3l";
+"chordbox.doc-1.0"="1fykwcz8d0ja7f5px60qf7pfzfcw447mrfpbq8awymr1ilwgmz05";
+"ddphonism-0.2"="09s324nj6g8nlib9wilpy01prixrw1ilwlvl638hgv5rxsspza5y";
+"ddphonism.doc-0.2"="0iirifr55s86nm5512ii0qm8lm4zy3jbrbk333hw27y8m4v9qd4i";
+"figbas-1.0.3"="1bgpchwgj10609ld6i4my2b6ynzlhqrfqi10g7pbqjaypyzbjs6h";
+"figbas.doc-1.0.3"="0ncmqsdvhssd1v77m0jhx48fk6ssxq5yggd29dd7k3jrypaf3bck";
+"gchords-1.20"="130b2svqilpj14jl5slw11b9dqhq1nvdph6y3qcq71pgng5lhjjy";
+"gchords.doc-1.20"="10mbr14bjxcl4p42r0zsqag5sg8yzp1mpi0s7fq7i9197kg8i77b";
+"gregoriotex-6.0.0"="1z3az5in2izkai2bf627zj5966ypv1z9z9510ynallfi5q6yah49";
+"gregoriotex.doc-6.0.0"="15qh7jfz42bj450zngw556z57dzq99cfsna5008yymgqsyvy5jxl";
+"gregoriotex.source-6.0.0"="0p6xm22hr6ka4jm9zrg4yifsc4125g22n4x9zjvmarbxixj04573";
+"gtrcrd-1.1"="095v007lhv0yyni3cqvc14iv9jqi0aqfmlr0zgxh45xfpqbsglnv";
+"gtrcrd.doc-1.1"="1ivw62rpgfyxmlrzvjvmhf4hxfrlgskzq3qr0p6g48ilv3is7sb5";
+"guitar-1.6"="1cjrmz39cpwj6kfq3r9868prd5bx0ppsxdydc7327247n4f270qg";
+"guitar.doc-1.6"="0gqck2vifa7r4wb9q63kw7mp8b33hza1jjyn3kighk2rrjbrg3ah";
+"guitar.source-1.6"="1pfcf4r1vwv80zc1p8fjvf8nqadiijsl8fjaxjanjgzl3zyy25i1";
+"guitarchordschemes-0.7"="0jhqamb3lmpzplvxwy7aydg6sv81b4xl81ss5q1nk66lxki714a1";
+"guitarchordschemes.doc-0.7"="0939llps22ir6bfxqjcbr22kvb6qxid7dzfqjxigl86y8amvv7lf";
+"guitartabs-48102"="1akm3sbrwnbg9mzlm98zpgh187w61g74zdyq6lb21w7bw30jkxbk";
+"guitartabs.doc-48102"="1mrifbwkv0vh4cl1jg92v7006bh3rfrgy7gqpz0byd5nc0vfrm5n";
+"harmony-15878"="11vh6dy95n049bfr46yyb6a5ziawmh3n8dr8l7cqhj4pqmkpgad8";
+"harmony.doc-15878"="00kf7kbrfr2cqv7izx1v90mpa81ncsn0r9jkxkhz8df8fsizaigl";
+"latex4musicians.doc-1.0.1"="1zvy2pa93kyn056d5n0irzdq5xmzki6d35zxacxfy19r0g9rwq6f";
+"leadsheets-0.7"="07w8h1wv322dy0b69d13b9k59m6iid53rlpn20ps5ss2j20b62z3";
+"leadsheets.doc-0.7"="17xbqxhmxc39gxd5ckvzsmhiabsi2afh2r2jv91im8inqfqi8j1l";
+"lilyglyphs-0.2.4"="11mb49rcsi051k7yd7s02k9ca5g4mmifdjx1nqkvs6rl922wcyki";
+"lilyglyphs.doc-0.2.4"="1wl5ppgazb27s3wxgmz1xw8cwwmnnn0s582k5swx8qy91qdl08r0";
+"lilyglyphs.source-0.2.4"="0657barhxkzh3jj3b8rk5rl9i47k2h0p1wa2vxj00fdfqfdjn161";
+"lyluatex-1.0f"="02w276n1kdvx6l2gp9r40r561kfvh2jlivgb20q1xlvwpyjm8f9j";
+"lyluatex.doc-1.0f"="1c68c3hjmlzyd2pz1rgxwwpnlv0s3mmxb9y68ws9n2hnfx6zm5p4";
+"m-tx-0.63c"="1znv3xc5462jmm3ydrcnfj1nj7dld9f617xw3fl2gdwn083ivawh";
+"m-tx.doc-0.63c"="0svgf4a6rgisj614py6l9hm4ij7b4x75jn84s2ydbxzyv61bmmrd";
+"musical-3.1"="0rn4b1m1c58phyj9zzvyxdxbilma1bnncscwmxc8sdgb9iiwmlzm";
+"musical.doc-3.1"="022s1z7d5ins4gpklg9hadlp1gqxpr6862i1g4wp036db0457l78";
+"musicography-53596"="00kc6wq05k3vz07dn2hchq1fgnvmkj4as52v19jjqzakp3a7j8fk";
+"musicography.doc-53596"="0b43y731m3h29j9b9mjijrjs3hf430cc9big7b4jqcvm0kaxsq6z";
+"musixguit-1.2.2"="02cz225x5s3spj0wf9c51ka0i1ysmcrvlpa2b8vxd59f4pwz36am";
+"musixguit.doc-1.2.2"="1g8hay5rdkpa4pjj0lj5gfs7xmqwzmzxnc8k023ahlz38gdczgnz";
+"musixtex-1.35"="0rashc39cb9gzva6a71niri5l6ar6r5d7kq0jvvwyf9zj9lyrp23";
+"musixtex.doc-1.35"="1bk96m31k73885qpcm3q4lvxv4pd1q4gmrfvd5j0gpsqavvyr4lv";
+"musixtex.source-1.35"="0ari7nwxlyj0lnqhzcpq4vh9xn0kdzqn9c1a5ih5hp1q2zwx2m7l";
+"musixtex-fonts-60381"="02x72f17lf4rfv3bwfs529jhfrx5x9mlsk2kja9gscbvmshdsc19";
+"musixtex-fonts.doc-60381"="16iimzzmcc3q4h7wcw8xhy2dg4cf24bkxvnvfhkxx0p4y65i9yh5";
+"musixtnt-40307"="0g2y52s0151br5vr7hjv5dfcyr96cjxp4n9ya3s1jj81q6q01jjq";
+"musixtnt.doc-40307"="1y933975hv5vzwrgjizq315bkgnhlky21blv9kbnzf6kadic8ys7";
+"octave-45674"="0sw5r5gqvpmrn96rfz8y8hdbrwasv751p7ga5dary1v1kp4brcr0";
+"octave.doc-45674"="1r9wywnqhgrg2jjlzyafhdnyxd3fa17zjbbw1bj2a3r2jzd201h5";
+"piano-1.0"="10gfxklfwf60p54wcbs4l1jpwasxvvbnkjhjpiygnk6mvzjx7dyl";
+"piano.doc-1.0"="0czqrjlfx1i6k02aa1r1crvkw7k2fl17vzqzrkc97msprrymxwgk";
+"pmx-2.98a"="1dwg3v91z6q6hcbv8imrddncxcf9kmyfsra589drnjldcxcl5629";
+"pmx.doc-2.98a"="0v52qrsc2qif5av3jnb7gs6ph6ixmh97j8bscxxhaip4dv2hi6sd";
+"pmxchords-2.0.2"="0yv1c0s3zjy5w65cpv9gmdr13wkfg04jc0g7b1f0mh8ychhdab1a";
+"pmxchords.doc-2.0.2"="0n6g5f4szxsr6zqqp2czi29m1dncfgib1pd90mbrjprvwh0filf2";
+"songbook-4.5"="1qknajn3s4vpw68hwn0mjf9zllhba035gjgiwj807nifhgm2bvpv";
+"songbook.doc-4.5"="08p61v1jgw0s2bdfwgmb1zw5pyldfsy61d09n6qq93wclgaim7lk";
+"songbook.source-4.5"="1xzx3jxp4791imxw6h7gs1ach94k1w33f4p8pd4rvlcnwglnv9s4";
+"songs-3.1"="1q2fddi3z3d6f03y110ah1lc5j64cgg16w4hcxdd1q6sc6ccc61r";
+"songs.doc-3.1"="06y36cnx42yms6b3mnpkvbwrl1rrpjy1jlafycy33ijx0sbpizql";
+"songs.source-3.1"="0airs4wvpv2wmm2398sfy5sh40q0r2skha33999fkk2s9jc99jbb";
+"xml2pmx.doc-57972"="1d3ralqh0b71scd59b4hmm707yfrz1rj28ni2lzkhbb1ql73bvah";
+"xpiano-1.0"="11vk7k3n3np2wxx7gv9rvlgfmipmh1x0bjq5b2yvgsfxii65kwz3";
+"xpiano.doc-1.0"="0hq4v45nacdxygxpjby6s8smlfkkp63yg83zfmwcl3dgxzayb2s3";
+"xpiano.source-1.0"="00xnkxm6ijk1i0h3q0yadklc7f2np19bx3yzq4dzrfavdkxjz8f0";
+"abbr-15878"="1irhcs2zkam6sdl92wk07v5ckg56r6n10hgcjn5im2jpsinsad5k";
+"abbr.doc-15878"="1z45fraywqqnc0v28jxk3bzv9cndwgs7nmlgbf3b8frr4x18mza6";
+"abstyles-15878"="0v4wwf9w542scqx298gcvvngl0ncal0wds5m8h96x9cz7p9wjlph";
+"abstyles.doc-15878"="0zxygi2wfrwlgv9dj69m3v5ily0av65f3qiy9vfpbjlradak48yy";
+"apnum-1.7"="0qqm8np0jr2q3dyxapd49g35vk6ch3k9ar43yq740cfa7gs23ss7";
+"apnum.doc-1.7"="1jjk8a2aif4f7gmbj5laph0q60xpb0yv26j22z4ay2p6yf6a4fy5";
+"autoaligne-1.5"="1y4xlxgcj82g3cvy23wyacm91kx1fnc8b9y0r8vhf6pwvj4fk6h1";
+"autoaligne.doc-1.5"="0srhzzycrh9awp39cgfqzc3z12vxj33qgbnpprx06y6bx94956wv";
+"barr-38479"="09pzipw0qmsh0p5y7m63gwvca92g09r8pq6zhq25k62x3s8y6a4z";
+"barr.doc-38479"="0w4kvjv2zbsg5jppqky6yx0wr7xq61xj2gk5yqi1mbbagnra72rh";
+"bitelist-0.1"="1vbz2c27jjc94i23s1dzl9j0zf0n2935sgxgc5hq3bpaz1qxvm7h";
+"bitelist.doc-0.1"="19p9f9bzn60nf5163rdlw166zpk7qlfwhnc51bpkppb0w4rni2ai";
+"bitelist.source-0.1"="0r3lccpampra8dardrr7sb0swbx72aasaras43q4nx4jv6z2561k";
+"borceux-21047"="0hx755ghdd697fdc48hlvr21la4s9wvsn4v9c0n6sirlansba8ca";
+"borceux.doc-21047"="0fcsjy8yi8zhrl75zb2wb17v1ilpgipdr85vhi4dsjmw18whp03h";
+"c-pascal-1.2"="1gbijcvhkfc9jhdjs07l1mz4p8lchrhnrl1yj2gmzkskp4v2pkbw";
+"c-pascal.doc-1.2"="17ddnb3k2q279xrrsy3y5n8qyk7r8hlrw8vd446a11qiwypjvxy7";
+"catcodes-r0.2"="0sqwy110bqmy1npqqp6m7x4m632zmg4n52snrbzzz87jp59k6kwm";
+"catcodes.doc-r0.2"="19drsfj7f4lfmjhpmivyyzaps3yhxsy5xppgbm67vk4368sgsmpg";
+"catcodes.source-r0.2"="1c9269586s85v3swr33s28wb74xxaxy3mzp4153by2y5hpj250xs";
+"chronosys-1.2"="0ii3r31dii1252bg0xfh4818az1snrzfx7h4ibr6rd5q3a83yisx";
+"chronosys.doc-1.2"="1c120hcadb7xpkspmixhfrdlcmhl79jrf1wc0vsjqbq3wxjq1p55";
+"colorsep-13293"="0nf72pf2bjn8pcps45sn5dcjf1dkrww9wlpp1xbzl1h9i68p3h3h";
+"compare-54265"="0isr7gmskv55cr4f1fa7s478v6fh65q9ijxkmbpxj0448g9817w4";
+"cweb-old-49271"="0vx235zpflqpnrfa9kqq7wmc1rylg5bw1r26knfzvh3w1swbp4ai";
+"dinat-2.5"="0m040ib86lk9ccd4m2r33k8rgdi7dgga80skv2qif43ssws330r2";
+"dinat.doc-2.5"="1hvc4f56mi0drmdqr7qlab68b9dqkmczhj28d3lpyn2l2hx4dncx";
+"dirtree-0.32"="1j91nhdnf4zvqpn6a3jqrcvfpfb0ml18n2g474n5d2k1017mdz4n";
+"dirtree.doc-0.32"="05yd1fkkgyspqxi2ddmq3s0nwnyh1xk55lbzzk6pwxjx1s1cd5k5";
+"dirtree.source-0.32"="1pl4s67bwf5vbf0ccfhd05yrmfss59kng0ys871yq74rxm4abing";
+"docbytex-34294"="19f8kxa8pb7ai7npxxavcw8hbsskmnchi7vynzkbd0imcjvay476";
+"docbytex.doc-34294"="0q3by29jmymrf4pirwmfqxr6bdglh936yb1phficxlpm07ibp8mz";
+"dowith-r0.32"="1ffadlm7fzm72svbpln7lms9dl5pbrv6xjzhwbcsjbwy4smx8s6x";
+"dowith.doc-r0.32"="12sis4raxlfwzdl5jqg6x7fa7wsd9phaawm9ydf91wf7d8md6z2j";
+"dowith.source-r0.32"="1qm2v2lw05jk4nnfns9l1hldamjka6plg2zyly6vi0jlns741hpx";
+"eijkhout-15878"="00y3y01jpgzww1x6zjh748hpvizlrbgrv04p8aq3cm2pzs0g17qk";
+"encxvlna-1.1"="165xjggnbpc9baj9xbdkxzxsb9gdsxffmakffw0gzp82acxgfwsv";
+"encxvlna.doc-1.1"="0jc0wlhmc7f1vrabzk6ql62iian2n8s32r2crq34w2cjglmf69xj";
+"epigram-20513"="1zps5067mgi7xq3fpjvjln8i0rz53j7qn660khraq8ribv4glnpf";
+"epsf-2.7.4"="1i973a2hp5ms1lzgf3g2b73j34xymak9f8wz88fqczcvdfnnag2g";
+"epsf.doc-2.7.4"="0d6jhhvw882kq9l2a4vrfrnxxvkidfjkmp3zm7kj1ir8mk9qvva2";
+"epsf-dvipdfmx-2014"="1p0syahj7liknn447lb83p2rdv8xazpgabk39rjxga05pfn3csh5";
+"epsf-dvipdfmx.doc-2014"="192x6cg0dh0j9dknwb320g73hid9px635p79idr33x2zq3gaaw4r";
+"expkv-1.9a"="1mvm8xzrgvpmypvyf15yba8hbnw8hb738gvkhx62qlpxnipw063f";
+"expkv.doc-1.9a"="0r6gqpsdwvkxq48x9rgsha9j4mcralw0kd3h8pfr52l6f2jjiff7";
+"expkv.source-1.9a"="1j1rr7138fhxb4h3sdsz7iqnrgzjdfq4y7sc40ikq2z5zvvg35kr";
+"expkv-cs-1.2"="131rg0km4iwl3w22mgdsgm27c0g2d8w8zwmpz4406w71b0ii0gvm";
+"expkv-cs.doc-1.2"="1w4szgfy0lm1mi6pqpq5ksxrh3h375xq5d0n7wghl2k006l54r7p";
+"expkv-cs.source-1.2"="1n08zk7k63cx1nsvyng0dq6vq3mqca8ivg9zmd9bbdxbxy06flj6";
+"expkv-def-0.9"="16fmma7rcw4ggyd3p02ccsv85zp5g42rz7qsg1nqal50jvws8574";
+"expkv-def.doc-0.9"="19pi7qjg3b81w3ypmbgkmbihhkqk1rw28c4jz6g29ml7qv309v9z";
+"expkv-def.source-0.9"="1k2ip1w7fk5c6vz8jlfmiibvf4z2wyc4jf63n5gn60xas6sys6pr";
+"expkv-opt-0.2"="0qxk3nbwizvczjrqkch6r1d53bxrnnjxkjyakj0rrlbaqpyw4859";
+"expkv-opt.doc-0.2"="05r8p2k94fh4fs6bmf75g4njpppqya51kvqnznzlhf17b82lf5iv";
+"expkv-opt.source-0.2"="1z8plih94z428g95avckmpd29g3byq1r20d37sw379adwfzdcwci";
+"fenixpar-0.92"="1l79py58dih05c4kjb8cngzs3bzpbhc72f4hnz2r7nfwmjp86c56";
+"fenixpar.doc-0.92"="0fbx9wms2n0ff1cdpfavqhjg56przd7hr515vh81g8jgnz68s24l";
+"figflow-21462"="1w2wccxfjbas2yyp8sscxfb875kz3mwqjlma46v4328sd9vw4pwc";
+"figflow.doc-21462"="0nkdz047vypv0b47wbin7nz3cbcriv89w05d6yn26wvq5svlxgw9";
+"fixpdfmag-15878"="0s5ilsmnhvi57x9cqwp7nwpagfribmgkbl0z1ci55aw2a6bff9hn";
+"fltpoint-1.1b"="13zin0r1hcfihji2h33q039mpcf86lw2q017ss8848xpqs41fb0p";
+"fltpoint.doc-1.1b"="1yr5d1hs3bdd20df25c1jyb0hcizwq7bxjbcn804b97sjk2fk8gp";
+"fltpoint.source-1.1b"="19qy8da4ppsd1agh1c3xs9fxsl6z8c60lcyw4dd88mymk7yk4ysd";
+"fntproof-20638"="1gq483namx453zg5yv7acvhy9hb93z68fyfb54ayqkka2n35q80h";
+"fntproof.doc-20638"="1qzxky8jjvnlznm11rjzgxmhib0psv7lfk3nfb8ys2wl0zjcrg2w";
+"font-change-2015.2"="0955bj8r9jzzyyzn3shs3y7iyaxjzs9m3b9l2b33hpd4qxzzp03r";
+"font-change.doc-2015.2"="0khs319ifwl7gfkmv7y27ysqkadz04l7zvcjxn08qzmhsxhjpz6w";
+"fontch-2.2"="09jpw4fc3kk2w1rxs0lm5sfvl8v12y9gch4viy6hva3sh3w8yzin";
+"fontch.doc-2.2"="18si3pz2crkyx075cfnz3ddwbgyccgvyxfzqd70njxqspz8xwf23";
+"fontname-53228"="0ylpryn5wnjnf6acjl6kp67i0vl1dz59xk2xbxb0fqhx5ib1gdgy";
+"fontname.doc-53228"="08vfa7n2bzjsay7b7zaigkq7imlfmq92f4firwc3rx9hfm7hjbn6";
+"gates-0.2"="1vxn3j957za9j6ryf3nhy5r744gr63m78xzvlh0z10sr0bpw46v9";
+"gates.doc-0.2"="0igxfdxyiz280ryivffq6c7y84c16ip1av8wn11j6x62dcsrm58x";
+"getoptk-1.0"="0rh7b66fn37nkcy2y6q8h3j7i8njwdmizn68iy1bg2l080ns1nw4";
+"getoptk.doc-1.0"="0dmjwgv0qghhs7fa0a9jvk2mqbg4m3br1dk2x7q5mxyjzk9878da";
+"gfnotation-2.9"="0n2g1kjig7rg9bkry1hyq9jap95jb9crzxh4yd9jylgrygva6wr4";
+"gfnotation.doc-2.9"="0lfdm66xrvkphqnzmymym0s79bwap5x4h57q6ndb7h97p5pxhfby";
+"gobble-0.2"="1qg0qpgs9llmnajyvycadkvshnw9w5p10ndjhd8b7ddvy2jrp9rn";
+"gobble.doc-0.2"="1nqi3q73zayl5sb4iwip341rhccydhjxvp7c66ac764sx5wxdld9";
+"gobble.source-0.2"="0k42x8ni36gq51aw55ywy36jl89brhsc0177kn56zpvv2zmghqiw";
+"graphics-pln-61063"="0k410p44qlgfz6vzlwcgcr98bsh2a7fbsdrpmvg9qp515sk0glp4";
+"graphics-pln.doc-61063"="032wpsjlmrw83rxwy1701qfw1ssvry946skhzgjvl18p6yk299rm";
+"gtl-0.5"="0hj1xzsny4qx2j6j7ac1b39whjcn3z1m97xyavmz9w7ak4pgnh74";
+"gtl.doc-0.5"="1aj1s3d53y0wsivmavam28zm0q1bxgk4hndr6ifv9fy4m52dw89f";
+"gtl.source-0.5"="1qvyhmywdwyaazcz7kvk321pbsqhcj69852a8zq0hkvgcadrb853";
+"hlist-0.11"="0ac4n38nnimrs14k1s2yizbqvqky905qcv0kgs0aq043kkmpi0v4";
+"hlist.doc-0.11"="1fnqm6kxr79y6bpymafr2s3m8sx5mviys06hcs8sfn2gzagg88bl";
+"hyplain-1.0"="1kpaxdya6m7x4dmrxqzrs6k6agxsg8lcg5yqqdlips887lf609cl";
+"hyplain.doc-1.0"="1q5dh42gpv4n9ps0yqyhcscjn47qz4zf35jlg56xgq2w5229k742";
+"inputnormalization-0.2"="017dxyy2lykvcsigpq5vfklb2gqg1aprk0xk21sxa8bdsn3hd2gg";
+"inputnormalization.doc-0.2"="13yvyh5g4a1k6bcqwgmgspp8gkgzvgcx5f0wy5ajp577cxsk5ir5";
+"inputnormalization.source-0.2"="0wz9hw5qs3i3iah63fqhkdcijhv30k828a2a19268am4803m1pxh";
+"insbox-2.2"="0ylnp3l21zx4y1bwrr33v8d79vlgz5frna9dkg62gz1bhjbw7f7i";
+"insbox.doc-2.2"="07iw7py0p0jfq5np89dx9fdvia3yk5mi0py77xrgb8v4gx7k5g3k";
+"js-misc-16211"="1b26v330702mbd9bviq6sr7pg0338hddzc84z55fsqjd85fp7zcz";
+"js-misc.doc-16211"="0bs30a1m8cbv2824xhj6k3jiv6dmdp6jjzsinhfdwiizc2kzriwv";
+"lambda-lists-31402"="17srvv0v10mczvvmxr6sfhlr8zks589c86v472g4rnmf4bl4my88";
+"lambda-lists.doc-31402"="1yq4kn0nfcgy0qh33qakv7c12lcdzbj4x9xj357yn8c0ijqkx789";
+"langcode-0.2"="1hj7zyjxh64fax5rv32558sp2ss986fxx0fqd5xb9c07s189cs3d";
+"langcode.doc-0.2"="06bygnvh4sdv7mp17c94wx9v1lj4zgih1db6mknc3wiifi5jcx8m";
+"langcode.source-0.2"="1bi25gqx2yi8f6g8hpnqp9f52qnfpyafi0r16scap8w0sbnwrib1";
+"lecturer-23916"="0alcmds4ds3m0rpq6r46ff56x78kv0nbdnfn80s9q638pf1vvnvb";
+"lecturer.doc-23916"="0ksqm6ibcakjf2dir19hr066gg2dxa5blfiikr1j8x966lfdjb09";
+"letterspacing-54266"="0ry7rri76dgbrkzr6na2kkh7bn0jpwkhh9b5qw0cl5xwyp81rddg";
+"librarian-1.0"="1rri0fb9ssj413w1g8c7p79hn72gqzncihhhg3ws3ldl9s3nm54d";
+"librarian.doc-1.0"="1i4m0gp38f64y59zcsyg2j7bb6zycyf9z5yr5wf86l6kh40cc2fq";
+"localloc-56496"="0ynzcib8hsflpjhykfl348pmc508g4i3ig38wjsb3gfm97mlhq24";
+"localloc.doc-56496"="08aiqc04rwinqr510r1wkzz43qq4nks1varmxyjbnw9acndn94ak";
+"localloc.source-56496"="1wcl06i82xkp6m5m311pn1ax42avlp6n54ad1j450apgygdszmik";
+"mathdots-0.9"="1wbxvraw5lp77chgzslrrz022zgqn2fhmzk85cn7ggafip1hr9s1";
+"mathdots.doc-0.9"="1ldl9l92y893dg2ksqn6n82w43a2l8pylz3iq4glcphalhggydcb";
+"mathdots.source-0.9"="0dkpj8cychzl7gg4bp41qqi3y50x0dyz2pxanfli4a2anh2dy06q";
+"metatex-1.1"="14s2my2zs3sx3hy0vapi8zvxb6d15fl7wqsnis58w11a3kni4f1d";
+"metatex.doc-1.1"="0z0s4ys1zsa2s2m4slpjdikzbkw8k8m780gb5mh2j2azc7yxlsdq";
+"midnight-15878"="05hzxlzr19snz16sddzpyh5f7vvs6jcdsqyqvqga17rr8y04sdwz";
+"midnight.doc-15878"="1ky8k2ys88n6hn2q9v9gr71g772gm5zvxlbzmibvajq0hhqm41l8";
+"mkpattern-1.2"="061y05sa0a12x23f68g7rinllkggjfghgmrq2qnan34f1ind1g36";
+"mkpattern.doc-1.2"="0b3ahrhxmm6lwijc7kgvn0k17fm9rkp7i754zrhfj7w4xgq6i50f";
+"modulus-1.0"="03sssw7yg7pa7i3l29l049qavwxphih5jvc86nysdzzng4a4dd7n";
+"modulus.doc-1.0"="1ylrs9705mgb8ijj9fq5w1yyd2fi4ykx8gpf4ckdr78h6rvzkr1h";
+"modulus.source-1.0"="0gm8vwidnls0z31zxcd348xyc4rrvcffncnwmazi9p1zplhg9ggk";
+"multido-1.42"="0rb320bxzg83nq66dx4d2jy3cmz83zdmv7xfw5n1chcswpi6l39p";
+"multido.doc-1.42"="1s8jhzznsqq8kjw19l6gdr12x1p63v3fyzfdrgmd9z66a45d6hsa";
+"multido.source-1.42"="1ypcg93f9n9cv3y6rj92l46b61zaj8wm9cfps1c86w675xs76zaf";
+"namedef-1.0"="06nr8bwymbc3ps7whpxnsnbnl1fayz36hlgcy5isg0gcx8bdspfh";
+"namedef.doc-1.0"="080m0d24cish4an6p4q7rcrqpr2r1yvwvzk431nszhm39h7d8z80";
+"namedef.source-1.0"="03kg4zv07ch01n0nc7qwk99n32ifwf89z2976wg5k12yq51prplh";
+"navigator-1.1"="0ank98y3a7b5dpc6gxqpgshi5qvkbys4nyx41gf6hkinmi094097";
+"navigator.doc-1.1"="15370abnfjvql6gkcamgq8q3p4kycgzlgdla57w2swzwn1bd6x2h";
+"newsletr-15878"="0hl73l6cv94g9k4qnldxad6nl56n9c1r9rkwh2c38sr31d6fn8z5";
+"newsletr.doc-15878"="15bd97zlny5p212naaig42li7ki3f9bfr9b5pqk0vhbf17pik9za";
+"nth-54252"="0716sd99xjdkplm7jdmg4lx8lpfnnx6mxjp1l1sp2bfqcg73p4hm";
+"ofs-16991"="0g2rxji8g1nafyg1nzpy18vzk20p4p6r754m89naygs1qn5n4h01";
+"ofs.doc-16991"="1v1z08m2ha071kb8zia1wlgkflkzj4hjws8rqnq7asvhi1s2p1rj";
+"olsak-misc-May_2019"="13kixnh85x2qzzfgdhhdk417hjz3aid2q678adlar2ha8a6vbspp";
+"olsak-misc.doc-May_2019"="1cfzdy18f34z3p717jc9mcgs8snhsl6j6x0jw95ff6ds7d2pzfly";
+"outerhbox-1.2"="1867xhxlbskiysifmwlr10lay8khragzi36fm552cwc4vjz2ybcz";
+"path-3.05"="14k9dqvcc2nazjysff0s1jrass14d2r9i9cgfx46ss09cw53h71s";
+"path.doc-3.05"="0kacibdjhmz39klvxr244n42c5vlaz1z71a8vnssmwmdzzwfzs5x";
+"pdf-trans-2.4"="0dr8d6szds3hlrnrw0rb7il23rxw5haz37dg3iacgcdkffnglkis";
+"pdf-trans.doc-2.4"="1dcmcd57zv90jafx3whd0nn9hm5x7aynb5npassjqbglb9lfml87";
+"pitex-24731"="1g91l1z71481hlwz8vmdac0g4vm5d6940gy1ly44qny626k9j079";
+"pitex.doc-24731"="070qn9b6bq4szqa9wqfmb3qbfxcgif79dzbb3qqhvs7fh9bivqdv";
+"placeins-plain-2.0"="1lhc72zdm2cjynx6lf6kafmf00nw17z3mnfhagh41h76cnm338g9";
+"plainpkg-0.4a"="0dq20a8nyyyy1342s8sc1z1i1gdfz49dmv2w9fl5dbnligzxgdfl";
+"plainpkg.doc-0.4a"="145249b9w3jpf9swgc4293r05p7r5ylmxvx1a5qlv3fgni945vms";
+"plainpkg.source-0.4a"="040m08y54xr4966f8b6z38spdhjh197l56am3wpza5qff4nbcj6a";
+"plipsum-4.3"="1byjqmx68gb2xcb4nw429z7wnagv5l0pi3v13dlwp57sgfkxrz0j";
+"plipsum.doc-4.3"="0gmq7rc2r3r50b7w5kqglaqmrqnxv6wav8gz09a2skkir6v1mpgl";
+"plnfss-1.1"="0l4kjidsxzp14ii850m23q3yz1z8my9svqrpd5hi6v7qnv73vdnw";
+"plnfss.doc-1.1"="0iw938rnvcfly3z5v5gikd3svx4mxwfhw0gsyv26m37l5slqvf1w";
+"plstmary-0.5c"="0cda8irxd0gxa18x47v6d1wiwwwh6w30fl9ipxdz112h67l342k0";
+"plstmary.doc-0.5c"="02ql0pxjkp5a803f9ayvr9splfchzk6yhzjfrmh2nxzwgczy9s50";
+"poormanlog-0.06"="0k4j77q0h7c4y3aa21ngkkrida8l0lp9k42489kilxzpx6ppjb4i";
+"poormanlog.doc-0.06"="1s54lg1mh57k31j0mcfqiqh54ia7prqf48fzpsv5xgfp2spccnpq";
+"present-2.2.1"="0irxkzfg19h5pn0drgl5dlpz34j1p5jpyii05b2xjz4810gnl79h";
+"present.doc-2.2.1"="0c7pmcjhc3p4ilx3fr6pxc4708kl7iw1lds5ngh8mlrwz0hhsd96";
+"pwebmac-4.7"="1zhpzcqsy07k0xgkjjpz4l3m9lli9nalvs1wffybmclb73w6f5fc";
+"pwebmac.doc-4.7"="1iqpw68wk0wy992f8h8kylbd0ldyqqz5wl9mc10f7l6k9inlj8zq";
+"random-0.2"="1y4dn1i3kmd99b5br7a2j6ppf0ikzp744si5p6m5rmvg4vh1jh69";
+"random.doc-0.2"="1gfcswp2krrfswyjbyhck4pb0lq03jh2mfwzm2iwvd3zlndvccbz";
+"randomlist-1.3"="1kwbg73d8hk4wh69fajl1zqyvkfyfxzyv5xykknpa5s67pxkh9c5";
+"randomlist.doc-1.3"="0r8i0ywq21c1h317b3yx5ixr4b1fllgwams4yy5z13alda4wxqdx";
+"randomlist.source-1.3"="1s86m5hcncfqkwlr8mwdyh3fsnyzisiw5dlg52r499wr77r5z56j";
+"resumemac-15878"="0nixlk46dpyay8zsxrfkcng23rdyx48mnq8s84xs5whlrg369s3d";
+"resumemac.doc-15878"="1yln2mz6awzafpmrlzi3s12zj9m7qfj4laqgjpy4783rxdxy8w57";
+"ruler-1.1"="1ikap9dkdw9lzpda0f2krizqbfkyjxvyddils7clim9nhg77aq71";
+"schemata-1.4"="1idrxgfzwcy31cdw07f1axv9qxiy2m2j039rj7m6gqqjwnzpdyfw";
+"schemata.doc-1.4"="0wc4vcn0gbwwgf5c7cxcb66w66yl4s815d6m1cj3dv2mcm83cjyd";
+"schemata.source-1.4"="1qblgn5msrnnaap7w1r6szdzphf7dgij48g0h7cyj12dxy8gm9a3";
+"shade-1"="1dcpvvk5216znr2i0nn302da6vjixkih5nwix9m3hlmrd69z6hcm";
+"shade.doc-1"="0xs86yjd9f6wlgz0dlc89iryh4rba3752blz07zrxzrm89fdq22c";
+"simplekv-0.2"="0a46f1y88fs70msaydv270z33gxyx7v7dswar50s5syd4sbmid5w";
+"simplekv.doc-0.2"="07aba6adwigls3rakhrsamdcpyghr606mr8m0nlgfg5rjjljnjhz";
+"swrule-54267"="075mshpyi9gxbi3n0hbh3ygidzw1daxy697lhc7cc99i39y8scpi";
+"systeme-0.34"="0agy0h2zq8n6723w27psm3azigf2bsw4s80701xr0zz6kmlyrfg2";
+"systeme.doc-0.34"="1xxycz86kxljxg1np3zd6jzwanvp3f67la1k267z3w39f5i63x1z";
+"tabto-generic-15878"="0i65jflbnhqpqf1w7pkagicic1s39gcl319z7g9zr1g80f9532dv";
+"termmenu-37700"="0rw7a9ydsckjv6lc8q8yc5c4lq45bwczy98c6g6mzdcdl2dnhh81";
+"termmenu.doc-37700"="1r4901slsjhg0kzcy07qkm730g1bax1p2410mhh9ly8cix0hcxr4";
+"termmenu.source-37700"="0fvv10j1s49swvif5prjiqvk699l82js29n09scv0x1ixcy40h14";
+"tex-ps-15878"="0i35b4pp38d1l5rac059znlkazrcqa62qm8brhdmx7zzkbhyysi7";
+"tex-ps.doc-15878"="0kgf7y3nxkw8x42wpc1g5mmmbz28n73vgwd9d6rf6fjpzrycc2zx";
+"tex4ht-62532"="0pd2j4mm1z8akscjw33sm3v7b1ivsahy8amnaxdm7hky0ri6b9s1";
+"tex4ht.doc-62532"="04z1bsgy3lisx7ifskxzna5jcbjkbwwjlqfwbfppnmjp5rwphxdv";
+"tex4ht.source-62532"="1cxmqn2w9bs2vcwc3izd6nddcqa2zddqdjag0wp650y86wn8p5hp";
+"texapi-1.04"="09cnhqn4gxf0alkx0276jkpcsd0myypbn94jzsavnjq8jknp6850";
+"texapi.doc-1.04"="0529cncxbw53km02pymj57iphgziri3d9cj54pqmjqjx9qmgwfmm";
+"texdate-2.0"="06bqyfl1vnj4gadqsx94lj8cm1ia3w3bmlsfjwwfaad0al3ncxdp";
+"texdate.doc-2.0"="0kks8hswbwhp8dpjdbwr4nm55md4wgabl5ypzpx5arj41x8halhl";
+"texdate.source-2.0"="0mbcap5nfj5ap8gxn4pyv8w37hcfnq4bm5m6jx43cwkzf2hiwar5";
+"texdimens-1.1"="0fny36zd88qkcz7k3hdxq2qr41dmk9j88skihls4vwf350fy8j98";
+"texdimens.doc-1.1"="1qls1hqs6ypmsg4rqa26dp98m6h7zq18wdg9n6g6895jrmj10qdz";
+"texinfo-6.8"="0zlmch50haqbf0c68pdicdyzc5bq0z374vglaxng9d10151k0kpd";
+"timetable-15878"="1lnl8gi2rrzcy688qb8b1ff9yivwxdqmbcfx2ph49aymkxfym97b";
+"tracklang-1.4"="0dlfwsysadr78dkdrm96ibv3gjizwkqbm8m7pjipmp637vjb70ry";
+"tracklang.doc-1.4"="1dygdc8rj4kmh1gwpkpmqkih35yzx262n9f5n06k0ydf5rr96fqm";
+"tracklang.source-1.4"="0hdfmlmazyaxqhy8rv5ng3f4xkpbycbw79cqwbh0mw4nyclsf1aj";
+"treetex-28176"="1gl79r8h5brqmkw5paf26vm6s5ipa0f7g7cxxh3v68qg5cm2dink";
+"treetex.doc-28176"="1prh07qqn92il09fbam3c66czcgi3ssa6kd02mb62mczzf5k594f";
+"trigonometry-43006"="1z4sk50nzdplwarbv7ha3gi5v6g2sh2nf85ipdz2rbj3cnz0j53n";
+"trigonometry.doc-43006"="12pm2720vyk1c79qbgk935nridg3z48cbzmzbx9ak66araz9y901";
+"upca-22511"="1px88kyvr7jkzzcbd32pi7zlak9wwzf3b55yhnh9bi03pk0il33s";
+"upca.doc-22511"="07gsza0vhs52qjj8im4i1fg2v2lch9iwk424ik9c1xak1v7s9d23";
+"varisize-15878"="0sd1znd4c2254fsj6i2snj3ys1h5vss2wzylqcp2pv31kbgpfh0r";
+"varisize.doc-15878"="19w6h5w08iyc2kg61h5q4j4djwwm2x0bhhp6k60kfxnk4glccrmy";
+"xdvi-54338"="10aldzxy02d9phqr9qwpxxwci7vf5q9z7sgxcz50kf44asa28fcm";
+"xdvi.doc-54338"="10fxcamxf5nabfsirwvc289kc1lyb6n7mja7mjpd919f7az1knaj";
+"xii.doc-45804"="19jhzv5hqzj59wrfcr1dsj6z56qfckax694idgf8arri5lnbkdd8";
+"xii-lat.doc-45805"="1nn54xv71kcmn9jbkcslz6a64cvjcay9x96rrxnakdj9qcqd27r5";
+"xintsession-0.4alpha"="0p28r81qa93r9hwsaib9jbg252q76xz1hxlaf6q0r2bs3i8a4hbr";
+"xintsession.doc-0.4alpha"="1fzyqf14fdk6mjvgfxg43mx2gncj1c7m0h4fid88z7ffsa6rq1g5";
+"xlop-0.28"="1clpl22vxgqjpzs0ypgak0d6z0sr6hw3gj18r7sgs2q0jf5m6715";
+"xlop.doc-0.28"="1acnr4yfcakpnr8pb8g26qh7z9xr4dms4nfy50ig7r7azmdpz9py";
+"yax-1.03"="058i478l85ilq0asix6mkdn1kfzh2abqn9ngar6s339db4h81lxy";
+"yax.doc-1.03"="06i376649jszpwgvb0bq8wxchjmhwjfvc78pl5q6q1ic2jpkq5pj";
+"zztex-17.7"="0qh6a0jgrf1b2363dw66m8v8r0yq2sab2qm3wk008pvvlajdj45w";
+"zztex.doc-17.7"="1agivqj1mqnhv3w70a292pypm2w5xcbf67wwfz3ywaaaq5amjbwq";
+"auto-pst-pdf-0.7"="0f212m856rdfzflq1bw3vfpy38d8qylaa3vqnfs595h3x5r0dsx3";
+"auto-pst-pdf.doc-0.7"="1f7kj4rga7x14w8v3cjn7lh95inliy2ms0q9vnfnv95jvp5a7kh8";
+"auto-pst-pdf.source-0.7"="10l3ld4jvpg1982f2a80ssl4hkdzi9szxv3y8l1i13pdfdhirv91";
+"bclogo-3.1"="1lnfpy6fvw51cfy7zc1bpqhgca8mcgnhyvh5l1s3712xl91hsvwq";
+"bclogo.doc-3.1"="0vf9fvm607fzw3rvc93crxjg9ilm6d7x7q5n1qrfmkzmkm5mjj89";
+"dsptricks-1.0"="074z88g37hq9xjlvbncmiccq5klr3x8ffprps8xnzvhk7cdwld2f";
+"dsptricks.doc-1.0"="0jj47j46l587hr11n764wl167rkp7w8q9z16zwnnb63dp0gi18s2";
+"luapstricks-0.4"="0zj0226g77g13b6xqj4sz08cj4dz8kybhmkkk29l0xm5ii4hapnj";
+"luapstricks.doc-0.4"="0hvyfi5c5l86rrlmcbzyklnqgx67sbvabb4hj72fw552wqvk53sz";
+"makeplot-1.0.6"="0qp0qgcli40hd2dxgbd8fv9s03r81dlhh48pb8la9sh28qrb9i51";
+"makeplot.doc-1.0.6"="112chsx5wxrc7k4w3qzf23pjgr0np1ip1ylqs2igdcihchz6syyd";
+"makeplot.source-1.0.6"="1zksg7iqb9g6my9zyyrmwkhx04qy0118lxf60cm00njwmsi8w1pq";
+"pdftricks-1.16"="0vji4gmlg9b67yj8gb3aj2291ll1xg9p5vq2kvclj3xpy1vnna8k";
+"pdftricks.doc-1.16"="1hzd05l4yyz5giw9kqxaw410na7k85wj0cyw0bbwzxynpzxqllfa";
+"pdftricks2-1.01"="1dlzm7ivhxvz404nm61kxjn5arqgfw5z184qaxwn28yk6ri07s8a";
+"pdftricks2.doc-1.01"="0k0zr8mv3xq6ibc7s016qnk78b1d22jgyq35jwimj3rm2aykdmww";
+"pedigree-perl-2.0"="08hs0bfy2s87vzbwpk6qgkyrykgigkakwk3fj7w2qjvhh5j0xiwl";
+"pedigree-perl.doc-2.0"="0xzssiync5i61iqa7g08ps2s0z52s8rsg8rzqlv2v5ijdl83272f";
+"pedigree-perl.source-2.0"="0lnc84wl5xj21hdlzksv2qg9b85ffn8kby7c6njvphmhgh0zdx7z";
+"psbao-1.0"="0il4qhmc00ny1syfhid0mvmcz42sqp58zi8gf5hm6p3dsf5jy0z9";
+"psbao.doc-1.0"="0zrmprbhrbj3m0q0swlnk581ka3mws13dsha60izi7bfqxc6crqc";
+"pst-2dplot-1.5"="00y967mflrd0y38mqyv8r7h489jrl38rgaiq871wf9k3cbmf0f1g";
+"pst-2dplot.doc-1.5"="0j1c2kxc63nf33gi1f146pa6hw7fm5x9h4yc30dqg8hsd2v0bni6";
+"pst-3d-1.10"="0mh6xbrvwxx7nxp4yqm71hhpqjb41g4kinxkj2vmspw9wrwclbj4";
+"pst-3d.doc-1.10"="1dp9l6vwhb306j998hydb07c6ig10ibn7h0wwiaisgabn0s69xqh";
+"pst-3d.source-1.10"="0m9lvgmjzzc2lmp63vnly30j9886qabgbhqwpbbyl035cy6k684n";
+"pst-3dplot-2.07a"="1km0iilm9rqf422sn8mkiiw6b3xlmhrr9nz4w85dv4af70hwvx4x";
+"pst-3dplot.doc-2.07a"="05vsiaglfgqzfwlzs2qmrchrfgzycszac4mjyvgynqzvfpy6djcp";
+"pst-abspos-0.2"="0pjh72cjpim4v0ri92b7nbjdmilpfa7d49vsvhfqddq68k02m0yc";
+"pst-abspos.doc-0.2"="1nwjynxlpxgqld6slhhrzlsalp9296nbnj2kzr6a9c9b4sjxxbp1";
+"pst-abspos.source-0.2"="1p9i5bg4jx8s6bb6ilbaa702l2mn911g09pjdmk6mnb405d908fy";
+"pst-am-1.02"="1vk1dpvm5bcnxc6k7kpqq5xb6a227bwhlrwd6mdbdapk58jh876f";
+"pst-am.doc-1.02"="10acmb6wm7z9bpgh76hlsjks9v2rzp0qqbcklrjx3iw0jqdk53vf";
+"pst-am.source-1.02"="06xvv8fh818ldzqccf911hw4wr6nyzxdmghynlsg4hjn54ff3x0l";
+"pst-antiprism-0.02"="1b8yxfyc4cac5992a3cc4xkj0ip35z63rqxdw2jx748qs7c3gyxf";
+"pst-antiprism.doc-0.02"="0d4v65fsk28hyiljr6fpk6yw7sac7n9jmx4bmdfgpkagspb7ygpf";
+"pst-arrow-0.05"="1x1b083p4k1qz178zr06rfjirn7l2sh37qxyjd8n5z849cp17rqc";
+"pst-arrow.doc-0.05"="0643rfi4b4jhmzs0zy6pkrf36m9zc4dilp33mx3lis2yrra3if9d";
+"pst-asr-1.3"="0sk8hchv1p7vrpyjslpc45mhjg7l2r66mlmmvhc0s89q1khm08rf";
+"pst-asr.doc-1.3"="1a6d4g9gqjslnfr8fp0dpw72pp7c14qzq5l5i80kv36w5axks7pd";
+"pst-bar-0.92"="1aj1vvp5gwpnbj7nd2gdja6vpy27wg6m3yx4d7r9jqm6kn0sxd4h";
+"pst-bar.doc-0.92"="050nblwwni28rv31zj871i6kji2b15hvsk5n7f7q2q1hhprygc1k";
+"pst-bar.source-0.92"="0k5dw6a31ppa4qqq923pifcblx9wbldq405pglcd61a94pcixm06";
+"pst-barcode-0.18"="1kq92hkqzclr7lrfb6bdfcfpsp5sqvd85sqgl05ikzgcd9bpsgis";
+"pst-barcode.doc-0.18"="11fab07zcqp7g91hxs9awgmz30gzz0k9hh5j6i36aq58ym7j6pw2";
+"pst-bezier-0.03"="13w3hqzfim53nrh5bn82fb4gxx32gfayiaqjk5dx49xc4l3rvq6z";
+"pst-bezier.doc-0.03"="0xjs89hfkf7ak8izf59sl5gh5lawv04nxlajn7sskh187qwbqkgw";
+"pst-blur-2.0"="09fl784hqyvbvs2w9ymd4rda1dfykc1l8g5dpac00da1788ypzim";
+"pst-blur.doc-2.0"="1x881z1z4ra5bcms1yn2p7svs82h5ckwwvlw30jfdwxp4bgs5y28";
+"pst-blur.source-2.0"="17f9k4vqqk6mrh3dny6qfhb6b45g6sg7w50i3c7d9k0djz2wi5jk";
+"pst-bspline-1.62"="05ys29amaikrm31avlz0kcra9j48nwvqwr5fwl75ljydjf6drdaw";
+"pst-bspline.doc-1.62"="1czq6932fmx76c82ylrbh92qs2nnipll8piah0c7f35xl9y5xgls";
+"pst-calculate-0.02"="1knbqbysc6f3csy1y2vf413cw2jpf722l0hhs20yzm8mi8x279yw";
+"pst-calculate.doc-0.02"="1jyxfqc18whihn8jkp041bvpp1b4f7jwi2zdj8abnmx45d16i6jc";
+"pst-calendar-0.48"="13f9hgbldy8cn7si1p52lcv58d6c8slsly5k6ykm4c7vh3461ckk";
+"pst-calendar.doc-0.48"="0zly3qhwv20da2g3asbpmgjps7zjidd3hclq6znpyh58a5cdbiyf";
+"pst-cie-1.06b"="0rqn44hmz4gdi0n1pcb4gq7yv1mg9r8gzfqbz8za76jpsbkybi28";
+"pst-cie.doc-1.06b"="19fib4p6zcgrkbml49vwd833lxj1a0brw9wabqlsj0jnh9g5gk78";
+"pst-circ-2.19"="12hsni412nfjk0b5blbi7slc4pa0c1lnkkbrdhkd84yqm12gwf0s";
+"pst-circ.doc-2.19"="1p21a1qwn8zhx8nqzr2brxq53xh2scmr7gb8jcdfjgw8rx998s5x";
+"pst-coil-1.07"="019hda59xplvwvc2jrk6zjlvx26y2m8l7j42sr8w6ydgs49y1m7x";
+"pst-coil.doc-1.07"="1rlp43hi4fs3gkfaic8r49774g7rgg97mkyxzqmi8qak8fz1v3v8";
+"pst-contourplot-0.6"="1cav44hw38rnyi1yjj5z0yqw2ilbrq328xrj4fdipkfd0km0bf1i";
+"pst-contourplot.doc-0.6"="15p3znj8z0s3d336ib264c3w0m200igsq1aq2bbcj92v43rzffrz";
+"pst-cox-0.98_Beta"="07662sjbviwbplb7mjvvb18v8lf67v997hn78q6gz262z41daf3n";
+"pst-cox.doc-0.98_Beta"="0iwvk4db5girx2fn6fhgx6irx288jw2jnd28j4zh8x3f5hf3xfg9";
+"pst-dart-0.03"="0q1ck6pz7f84mcv6hrjh82h1hpy7f8l08810iwmp9551djf4pz7z";
+"pst-dart.doc-0.03"="1ccwpmicgsv3lpg2kgbgmvy0mwyjcn6gvwrhmzlxhabxxaafrvp6";
+"pst-dbicons-0.16"="1mq523ngyxlds1jaq1cnwkp6hynlz72imc1sh1f2fch0v91a3kc1";
+"pst-dbicons.doc-0.16"="0j4p340dxlyj53s18xqp81cqwy6awpnw6k4q68yk4zx915v24l0p";
+"pst-dbicons.source-0.16"="1c071qx2ira6hd9mkh07k4kaqhy0a3cbhr6k1b4wkmlfswjynppd";
+"pst-diffraction-2.03"="0ccy05jagh7kpra07bai1j8drwn2701qdfgki925mcifsa74r3y4";
+"pst-diffraction.doc-2.03"="12xx19vaygrby5475la4nzygcbf6cf1mq3g14sxyhg997x9q4ha9";
+"pst-diffraction.source-2.03"="0wf4kpdn7vyaf9cy7dq6qf3lq37fgkcg91njfbqy9n9v8k87fv1x";
+"pst-electricfield-0.14"="0kk0jjlcfyvz5dws08wnm3qlhvgifrby88idssjhgvqgg8zpz3yq";
+"pst-electricfield.doc-0.14"="0zx7x15p6vxj1f9v8id7ba49878xjmbqzh762v1sy1bxygj9yb21";
+"pst-electricfield.source-0.14"="0n1rxq6jx331b0qlnpjy7mh84m9vdlrs8ckr2b3slwcwp63cs0sz";
+"pst-eps-1.0"="14grlhaxxhwmpw3xi3xv7n3bq3zx3qwd9rh707wfgz87iaj7jzvw";
+"pst-eps.doc-1.0"="0dz6543q5g4wsqcwcwablr7w7w5l6dk19m9qpgrhb1w8sg7hgc31";
+"pst-eps.source-1.0"="1cn9yl1prwzjvxwgyzs5jdywyirg9hy8g76cnl62gkk9ndmcpryq";
+"pst-eucl-1.75"="0h23rkrdnpybpqjksy411c028g54a5i8l3wjr85p1jlv4fph3kn9";
+"pst-eucl.doc-1.75"="1rspj40d3rx0xwv0sjy2rbgkkhccrayaj38pbr4l001dbpxk3h7z";
+"pst-exa-0.06"="1s94fbqpgv58zks5jfq3dbzhpw4p3gchhm32498m6bsp52kzzl7w";
+"pst-exa.doc-0.06"="1m7gwxbhnii3s7aqi8v09sq49010yasx6k4p7bx43rhir08v1zjv";
+"pst-feyn-0.01"="0qi5zll29rfc7jkmz4hs0y22if5qjn13whaf7a62rdfvbdp1l87x";
+"pst-feyn.doc-0.01"="184d371rhqn549a9vgvdh92ikzphmdsbskny0dnh0pcgxzwdabzz";
+"pst-fill-1.02"="0h748amhh9mhpg1m3l5maq75k22jhk2xnml0ncm2dl2fay06mlin";
+"pst-fill.doc-1.02"="0p3c86vmlx8h504vb603yg321dcf1lwfyfvlc7qmlzmh1c2flqvl";
+"pst-fit-0.02"="1sqdysxpzdlaph42725hvdgy672mzdmhz7scizb0jr5wnq3rn9x6";
+"pst-fit.doc-0.02"="0lvvy353s1py998a7vr01pgvkl29qp60w2gyrxxwjig7j7ihn5lw";
+"pst-fr3d-1.10"="1m0zz9bqdqw1hzwp06s4hma68wwm5mmswrp9jj3xc9r5xjyq7fk8";
+"pst-fr3d.doc-1.10"="1gpijw1iv0pg30kws1vclsy5yjd7rk0j3qspcjlmkj1bhq3fjrgh";
+"pst-fr3d.source-1.10"="1zvssd11fg4hf53rz4c6imsgi77kfcc7l9hh0ni8jnznlgmdjkf9";
+"pst-fractal-0.11a"="0hv8i75hnbpbf05sw4zjf2gal5pc0bzc4mf92mjdkvgnwbrpy58f";
+"pst-fractal.doc-0.11a"="07i2fma5sj2g63asl7rvaczdcqdfprw8s1z8q13s1v9i2rzq3asd";
+"pst-fun-0.04"="1r1zvnyg5m16fifi5xbzn5iypr4n4d9vbnqi42h6a4m4y1wb3qdh";
+"pst-fun.doc-0.04"="1gb9rz3kz13xzflr7r00dalqri10lbn830v3xcpmb4n29a2bf0qv";
+"pst-fun.source-0.04"="07kpm9irvp7dn0hd1wh08p7lfbgn78jj63yqzzxn1jb4wrb4qkx3";
+"pst-func-0.99"="0mzgrvjisq6llgrnk2wiw8bczx964pp6p81a1brlbbwl8zk157mi";
+"pst-func.doc-0.99"="0pa54qkihcvikd66qv9yfx9kdy49byx4wwc8gjgjhdfplg11y5is";
+"pst-gantt-0.22a"="1hkrmdwg7kc4xiif4fvhjwbj2ryxlrbyqb7h2n3rk2jmmky4hv7p";
+"pst-gantt.doc-0.22a"="1fqkwzsliv1mg3lyidgcsy652l5d2qy7x1rjix9swvk4vblx4fjs";
+"pst-geo-0.07"="09br33z2vdr2dlsfyqf8rya3qj7bila8r2xwqbc6g96yhn1c3r19";
+"pst-geo.doc-0.07"="1xxyazg51s4nj8hz8adzv3lvpr2dc1ji0sfm46xr763srwxpjjd8";
+"pst-geometrictools-1.3"="0i80r2n3vsnf4sczqkh9ri4dfb7dfxg9jcyhrrx2az552q1mr33h";
+"pst-geometrictools.doc-1.3"="1ff7302f5ik2a367c81hgk3d88kkapm1jp5nd2mlybywa2nj5s0f";
+"pst-gr3d-1.34"="10jn2wdc908z2imnpcv03ffm83228fam0cqgmgmcss1774r2nc18";
+"pst-gr3d.doc-1.34"="0985ydi7jfsvlynjs5ddjhyhbh11nficfphy6qnvbv0jj367rabq";
+"pst-gr3d.source-1.34"="1z981d54aclpbq9ggy28qgnsspgwkavalm0j68pj69jxbcfxrpby";
+"pst-grad-1.06"="0bzq77vj333dsgilfw9k7lslhpmk67id6p1z14aw7nfrhyc80082";
+"pst-grad.doc-1.06"="03v585i28dc65xrydsp5jj9nd6kfpmhrjkwm3w89dv0p32xyzh11";
+"pst-graphicx-0.02"="1d7zvrnhch7vj1l9xscg4ynj5alml7pb38zwqns403wvcdnmb1an";
+"pst-graphicx.doc-0.02"="1mly0nr5yc5rdghy04sarhrwlxiwnndk644s4czf862n92ammh5d";
+"pst-hsb-0.02"="06x08vl255na1xv68v5yxdnarf9grm2mq7m40729dqh5rvip88bl";
+"pst-hsb.doc-0.02"="1ibs0s2fgn6w1mjiassmg0jyb34qjwkarkm3p5zmrdm5d4s1k4hf";
+"pst-infixplot-0.11"="133806cabfd6c44b0sdhchcmqjqswy2q2j2ry5kr78dzdna40y23";
+"pst-infixplot.doc-0.11"="1cd3i5ishy7pawv3ah6486kb63351p1g2d7iwx9zh5vwywi1ymqm";
+"pst-intersect-0.4"="1wbipiav79g5cal64bny5ba872rr4848i32w64bhrl7awsddyq0f";
+"pst-intersect.doc-0.4"="1y45r9pdddh4pbb3bfp6mzss7whapf4bv7zbkrx7wmyjaal73s5y";
+"pst-intersect.source-0.4"="09pbicmzmx0nraf5s8b19grra8p2vvdl903kc582dwn7xvqrk3rn";
+"pst-jtree-2.6"="0082prldszninnbksndf6y5mklvp4zgdyk31v78axp5fl3mq437n";
+"pst-jtree.doc-2.6"="1hgy8iavrhzw6w8r0avf3h9x52fdl3lqshf6mxqpffaq1b0s6xqc";
+"pst-knot-0.2"="1m1bzq66jan3miyp6r9j1pkk7mim9xjn28ldd1nni06v65hdcz48";
+"pst-knot.doc-0.2"="0gfxyryyf75p89y2l1ar5yfy5c6qawbz503bnpnw7n575rhsz36d";
+"pst-labo-2.04"="1wman8073p41gxn5aa0jilpz8jl7zpk69vwid6f0981m3vc1jdk0";
+"pst-labo.doc-2.04"="1zdyp20x78zxqp07dcf6hiynlsq04s5fd2jjgjcs3mbjfz96yi6p";
+"pst-layout-.95"="0199jrw7b58x6qby4k48n8sd2rffxlkhrp334q2dmalqsi701l89";
+"pst-layout.doc-.95"="1346ww24d9c64h03zgz7m7xdsnvkjy27cq4nbjn56bqcrl88982d";
+"pst-lens-1.02"="0220idbrzzslcmlyxxzj52mj9iai0p2ya10ykgkssyd8nfbl2jin";
+"pst-lens.doc-1.02"="02hbbhdnaz6cc5zkp2zmm92kbk0ppzwljivr1grx4g0jqqw8c2h4";
+"pst-lens.source-1.02"="1pwn8wx5w65xdz46qf5mzjkg74q296bkmzwsxw2aml406iksy890";
+"pst-light3d-0.12"="0glqibq1h8ynfkgn9r2p0yvgplydsigg5chj5gl2vq2hsb38sqg3";
+"pst-light3d.doc-0.12"="1njiml3v4vb7jxpnai69b08pdikasjk30g3xp31vixqrzr56i4am";
+"pst-light3d.source-0.12"="0rrgfxsbvfbyc1g1xsakmiiy7f8skmv2bkgq6vbji9y1f5s3b4zl";
+"pst-lsystem-0.02"="02m2g6kjs8fxifsdxld6ivjxch7vj137828xpax8s7abr9f4dyiq";
+"pst-lsystem.doc-0.02"="1apcp1ms40xhypxr4fq6xrh91ff15gplzllh3zs5b1w153xq3w8l";
+"pst-magneticfield-1.16"="0ppqqvvnyr49y7m7y0b4cbzld1r2l5y19y7j9pv1hixd3a8n0ghr";
+"pst-magneticfield.doc-1.16"="06bymmj54rrkv4alh6hdqj25gjwqs1sx1iaw5lv6ih1ys6fnnyar";
+"pst-marble-1.6"="0d7xlygws5f1hipyc2ba7spr2y8h3rprigbrryny3mw2ycdh1yqv";
+"pst-marble.doc-1.6"="18jzc9fpjcrhya1knqsxxmaix8sglfbcsiszxc949pf4zdpm50ym";
+"pst-math-0.65"="0xg3fkk9kmhyqnrp1iyblqc3a7jx7xhy6692nx9ffq3mkg7z9vak";
+"pst-math.doc-0.65"="1gpfqhs2vjbflrriyiwywhq3dd17rf8pdp9g2n02g8ygxgzqhv9r";
+"pst-mirror-1.02"="06qvndipn0i69b5jk8fxhp465sqjz79vlwr0j01ria3m91vygyqc";
+"pst-mirror.doc-1.02"="0bfzs55sj49y3lznll477bag80yf06pcv0hh0xfg3zzvhmpcpiky";
+"pst-moire-2.2"="16zhb6gqrpdn56cggm80q67yp175dkbvyj5iy6zr5bxwj6qj8px3";
+"pst-moire.doc-2.2"="05g9hsxfcm5yl6afrlpba7hc7hd1kr0k00m9zj0jcqp1ggsqnb6a";
+"pst-node-1.43"="0a8bijpghvf5zx9zsd5m4bcwzl526f4r9vqa4dbqdxww0zxwk6gr";
+"pst-node.doc-1.43"="0w0wr8xc237qjsz14yf4aq56d6jm8a4gmzp790rsphqaavab677a";
+"pst-ob3d-0.22"="0pglxl2prdi347qqrjpyk6hr3arhfc4rrcz1mnyz7q5jyamlskp5";
+"pst-ob3d.doc-0.22"="0s0jyb1s21pkmdnz4wdz793lbvidl9qdfh9cfqa0bwx9mmjvhpnb";
+"pst-ob3d.source-0.22"="0v9kih4gxk7aqwynihipm1595iswwkv5y6qj262aikhr6bz8v0sa";
+"pst-ode-0.15"="19kqlpsrrzbisg7wjk2z3a9f1xdl3msx01x861yw9nrqh3qn1ddc";
+"pst-ode.doc-0.15"="1bgc5hi7q0sjjq1qfdkfa80nfb7d4k964k7wx4382b9cg6m87zlr";
+"pst-optexp-6.1"="194g5i604i33bvnprfyjab50smag094lv4gx2skd2h16zfzmg9lg";
+"pst-optexp.doc-6.1"="1dgcb3fax1n15hz15fr0pzihyn3yyzvidw6nacysc4qxq2l6b56d";
+"pst-optexp.source-6.1"="1cw69vk791rr15dc3z6ivv5lbcziab0bwiar8cr767fpm0w4rrfb";
+"pst-optic-1.02"="1591vaw8y2k99vr0g8dy11grrp98hvgqw5rl9zp501dh3hnf181d";
+"pst-optic.doc-1.02"="0q76b92w32x744y6ri1nf2dnzv00kyw32xyv3l5snvs728qdvayd";
+"pst-osci-2.82"="0gz1ac21gwhv2xqf5ny0zzgi83yg84qlxgx8mdj9xpnnpv6mccig";
+"pst-osci.doc-2.82"="1gdx6a07wg5bmfpx9myf7wxa309j64q5y2q1ikzfgf5czy0mxpa3";
+"pst-ovl-0.07b"="0p4yyrvagfjamwd1f81qyfhz6wwjpqi6nfazyl8ml1fd7qjv1g18";
+"pst-ovl.doc-0.07b"="0pqh9sz0l0j0bzvsva6kba6gm7cssy36i17px2zrr3lc9k6yajf4";
+"pst-pad-0.3b"="09z2dkb2h8hmf46b0h1b235d1yjv42dgx55pj5s4dbpxzgam7ljz";
+"pst-pad.doc-0.3b"="1c597riwdggb0fli4w4ay2iwkqhaiwxy3mcl9diz8lijy0h4fpk8";
+"pst-pad.source-0.3b"="0b2w0pgp8njbndx6x3hq0rwxsr1gwf848l6gk3vrkksq419j2506";
+"pst-pdf-1.2f"="1klgwqpc3m5k5ciiqb070h48r9mp4hmssp4s82k79n6kq45ar33m";
+"pst-pdf.doc-1.2f"="06b1kpazsfn7gv2npfrnrmxlky5mhw6dfyzip2lwd243m08jdagq";
+"pst-pdf.source-1.2f"="04b0kpxmzi42116pxmkdjl87bm6j22wr62w7bka9qww2ifj18na8";
+"pst-pdgr-0.4"="0k7i88srnysbkk62mr3w0fgv3dz8hlz96nlxbrfm4arhxs6ah2pb";
+"pst-pdgr.doc-0.4"="08lj4bd028bzwi25j21h98ma5zw72hiarpcn0nbxwhbbqz865q2m";
+"pst-pdgr.source-0.4"="0q2cadndr14x2sjjdsc07xizrb9cv8i5q8w14lrwr4xkamagav19";
+"pst-perspective-1.05"="0g88w41dpz9607g286ahba11af2a1x9zya4saxhjd75j9il0h4k7";
+"pst-perspective.doc-1.05"="04gim8i8fmy3ysyl1y237cn0xfdsiii2pwkl6y79abz1gscn0pfj";
+"pst-platon-0.01"="1crl7q5r89vl99jj5f6ki8vnz5f5i15x631ra811033xmi32z4yh";
+"pst-platon.doc-0.01"="08d0g6mwkqrc81g5dhk016bi2dvr3jz389f32kx89w6n11iw5pqr";
+"pst-platon.source-0.01"="1c4pmwrfk9yxg8jshhy5y4bwvlwwm6xn39lgr3xdvsl9bn5pfz2b";
+"pst-plot-1.93"="17l1z2ral5psblj32fdlghghb64sk98yv10v7rr8kgwg05qix6r0";
+"pst-plot.doc-1.93"="1lzyy0cm2kg2z2gcf0kxcajiya0ykzs66gk7z64qdnw5vl0yg3ns";
+"pst-poker-0.03a"="1lbrwf66hsk6pylp0cij3yxzn6y9z7m8wrsjwpz9xgshwqqjffga";
+"pst-poker.doc-0.03a"="0rhp30incxzsg7xv5j5isb6z79xpsbyv1qp1i1ihscwx2xd6iaiz";
+"pst-poly-1.63"="168ydw08wgqsy642w7nf8nyzlmxccpcbdvyc5h8vqc6i8xwrlzyz";
+"pst-poly.doc-1.63"="0ls2nf4h4p1dc00mmplc73bv5vanddvxkmxv5kix9b471xx0y696";
+"pst-pulley-0.02"="12w7rcb0z564xlf17258dx1q290i3p79bv4vhqpq5pp3wxf46c5p";
+"pst-pulley.doc-0.02"="1x3c2n8js6kvnmdrhnm5ng6amkwxmdlbnz4wsh807q5agqmq8q6k";
+"pst-qtree-15878"="1bv3xxysk2jw5n41i0c0zm2kx2r6qpyfqmpaf6dqzm08rn7ax1lw";
+"pst-qtree.doc-15878"="1kkcrdm930lr128ffzcqd3qvh11mrikiar3kqszzscpyfkhi8vc1";
+"pst-rputover-1.0"="0ahx2fjnwgamdb4r6v6q3bg72xpgvpfan3ivvbi0gvvnah98l4zv";
+"pst-rputover.doc-1.0"="18gaman0znqzxdqw0r2czb30l18wh5740skvsclvn28b5wfa0i2k";
+"pst-rubans-1.2"="09lmil6ishwjaybj5nqabxm20xwx8nw1l9dj9bbjxg42h1wz26mi";
+"pst-rubans.doc-1.2"="0l6w0hssg5qmi93inh3n7wk7hps44l8w5xvj4x4rblh3fdlrrb26";
+"pst-rubans.source-1.2"="0phh3kkxrr74y6fim8ak28sdxd5fn11c1nyn3pksd7ddq0qy5gva";
+"pst-shell-0.03"="1j97kcw8w52q1ispkpbwblxza7q8v25288pzxkyc4yf7802a3zj1";
+"pst-shell.doc-0.03"="1i5dbbnzadhc47mg7bdv6vas7ynkx2c4qpz0khcvrz393kszjkdm";
+"pst-shell.source-0.03"="0rc6j6cy5kwh9sq2gp5scxpb58ycjqdycnmnqpy67xha62fnhcsp";
+"pst-sigsys-1.4"="1v3yz2vhazp04xjd0bp4pyyiz0v4yq7hbr9mq0m2s8pg3hisfbwr";
+"pst-sigsys.doc-1.4"="08m72w1jxrafcbr19fp0yvii9aama1rfl9czys6gr3sii9ks6qxa";
+"pst-slpe-1.31"="18f99ravk128r2cg84yxv3cjx2df8fgzq1f054z5g5ig1s5ginws";
+"pst-slpe.doc-1.31"="0g8dhw27n2vf73289y8rah5xakb60cy23993vl3ygz1cgrn356i5";
+"pst-slpe.source-1.31"="1mxninpgycpbakvmc9qc6032mncz890k5ggsfm507jzyfxrdp5lg";
+"pst-solarsystem-0.13"="0n6w3fyggf7favnr90239b6dp2j7q31qi5yjilxdw35s001m1ghj";
+"pst-solarsystem.doc-0.13"="1bm77lqaqbjnhwv6fra0g05ij4l9vj9hh7gs3sljgdmwy4syqq24";
+"pst-solides3d-4.34a"="1sayghfxhng2kh2yn2j095c7bymcfzwa0w6wd31llvp0pqzym1rk";
+"pst-solides3d.doc-4.34a"="1kz4855a4b9pjf35wvdb3b5vi3c7zwv8pf3d38n613yg3gmpmr9h";
+"pst-soroban-1.0"="0fygllzq9gp37nkffgk3am2vygl5d5dwyr4avf1gvh0s698jj8by";
+"pst-soroban.doc-1.0"="16a1w9ci7ivqf30hvr23fv6j6clqjb4y7nmjgcbfz20xzxk3aa1c";
+"pst-soroban.source-1.0"="1h6srvvl3s1prswlj608y7pj5l4zzn13yqrhdv41956ikd1wbb14";
+"pst-spectra-0.91"="0nd87bnxf8giakadg457p10idbnn0m982l0pgyx23495qfxywax5";
+"pst-spectra.doc-0.91"="1y40d08nwnpkmrm0jdj69drpip1gwkd8n9hqmairl1wccs6r6dhk";
+"pst-spinner-1.02"="1nkmvjy19cpxqs3ii3djmrr6yj8naf54a97jbprs37afml3zql2d";
+"pst-spinner.doc-1.02"="1sff7bhnxjj7cmixl9qbfvglya79187gx28swxr7mby9ybf941j0";
+"pst-stru-0.13"="16i39r6vivs0z1l5l48c3vky9bac22n5k7gddfj7vlllfg6llgzs";
+"pst-stru.doc-0.13"="1cl5sq39pfvwhww488kq0cgnlihf63jkhqdd4rciaa8vf55mc6wm";
+"pst-support.doc-15878"="1470n03zanpw35dnfzyjqm7d5lgddrimypz28x0zsk9nqpamnqnv";
+"pst-text-1.02"="1s0dqi2mpzlk8069piv4z7jg370navi4r5z8aysy9vx8n0vm27zf";
+"pst-text.doc-1.02"="0ia6h49lfi9394sfr29wmafbhvgdm5zj7q13zll4d1agakn48j27";
+"pst-thick-1.0"="107cprs3hg9jmkdq00w9wc6bbkqmrdi91zm7bjhih461jmqax88c";
+"pst-thick.doc-1.0"="1irf2v4yg0w5v40m2przdcbhr51qjcrbj0s0i53rq4w4v3gl03hm";
+"pst-thick.source-1.0"="1qwxccyqzhl6mikl6jp9s2asz1aj96l86yq9s8nfacjg14vk5n4c";
+"pst-tools-0.12"="1ip2cm5wa8m9b7mb44lphkdjbqascchw8c1s7yxd5zc81xnapjwk";
+"pst-tools.doc-0.12"="1c5z1jxs720aczn7mjn9lz8kw37k32qrngaa9d8338ls2q47g88p";
+"pst-tree-1.14"="1hvjna16bncizkja6hac8q4snirlrkm0c5ybi9c8b8zjb4i6gynd";
+"pst-tree.doc-1.14"="1fp2wx2xwhrmimq5axmpswnw62f39q4rqqi8zxklhkr75ccnxrfp";
+"pst-turtle-0.02"="1b5948sqlh4yaf4j3id2zq9r43v6s3azhbjkww7vmxc53rfcqfpa";
+"pst-turtle.doc-0.02"="1wfka7rwysdd4pyb4nhp1fy4f1lnqg32l6rjmqfd17fzpkmb3035";
+"pst-tvz-1.01"="0ly1mqlv7fx1xjivacx5dwwb1fjhqfplps9n0wzypvbwyd4nbaia";
+"pst-tvz.doc-1.01"="18pcvx7rlvad0a6hp0q8sq5pf1y1rfydyqd11bqn94d56nqw6api";
+"pst-tvz.source-1.01"="00i2akla1ibrk6hc0rby5q9n3ji4zlrs52d77y9iyazj0v3fab5i";
+"pst-uml-0.83"="06bll6q06szfsaib7jf09915qvz0rzf0gp5c9crwb139gbpzvxwq";
+"pst-uml.doc-0.83"="1c0pna78alfhi8i7bqr9zwcxx7sksi3idin5wyqa9dr95a2pwd80";
+"pst-uml.source-0.83"="0q5x7m84qdv8sy7x2nqfbhwp1lryr5vkji4hf74a0ialc617nfvd";
+"pst-vectorian-0.41"="0q4yzrn6rk488awv2g7qlba08w6807p12dlk1pydp42sba3a3sll";
+"pst-vectorian.doc-0.41"="0wws88bwd9zmlhqv4xw6v31cl5dj64hzvqgw944gpjcgxpz19215";
+"pst-vehicle-1.3"="0a8809rs553n79zvpi8vcg92lly643n1ss53pfkvk2jki5nszzwl";
+"pst-vehicle.doc-1.3"="0adwpcxnmn8nabc2nsw1d5rj6p0rxhdidcpyhmkdw0rxf17604s2";
+"pst-venn-0.01"="1i9frqc6b4wg3pb0ks4v0xxsfzs348ddhncr31mhfs39nbj6029d";
+"pst-venn.doc-0.01"="1y2pz45hlm2gd1lvj8p40ldnl04pzccgbsa3asnbpcifkx3gj4s7";
+"pst-vowel-1.0"="1p1adlrg62jsqzkjkl8avb79w26kkd5jdssmkcsd65dg5qfa9x50";
+"pst-vowel.doc-1.0"="0wyl0mvx2d0zd8q0sdmyrqgr72i2igv0669ajv0gz8miv04vr41k";
+"pst2pdf-0.20"="1rm0frzi52i3irfy5703kw38d3f1grby27nryjpb4ziiw6n5yizb";
+"pst2pdf.doc-0.20"="1sll10kps82b47npv2g2r1l3kkm5y75mp2p2pzqsnxxivgl5kp2l";
+"pstricks-3.13"="1whpg6a6b29dm7znp6w5wz92y4xq5skg2svp1w3wmbflrvy7kgyq";
+"pstricks.doc-3.13"="0vyxwz1dj1vvvqkg7yxkkw1lkx4vfhlc8nschkpnf68mqarc2zsi";
+"pstricks-add-3.92"="0aj7h2qhmscdpk23fvvxk0hgjq7v1pcg5aqw0awdi14pm75ajyd0";
+"pstricks-add.doc-3.92"="1kf6b5p9462fyz1mhs3q556njmlyv08pg44w7lx4k50jw871cq3x";
+"pstricks_calcnotes.doc-1.2"="00vgcdf73p4143dfjcvs4b5v4phvisv76ink3iiijl6s6f9zbmy3";
+"uml-0.11"="0gl1063pjxrif7qpq9wxwajpsp32idmnlsq27y668lwpkpm0vmzn";
+"uml.doc-0.11"="0n3flbps3s8lhr9pimdw41kmyrfvn51pddm4d3yc08v96sgg65bn";
+"uml.source-0.11"="0ylzxyl44p0574qvga9arjl84ip8nsafpgabbwjrk2kcbs47jsi2";
+"vaucanson-g-0.4"="10dk1ff3swbnx6l6c30s1ryn2dbyx9harmrcg7whmqdys1mahsbq";
+"vaucanson-g.doc-0.4"="1dlf50f0hpislqkcbr685y5xg7iz2y6zvlzjdkjq3af4qv7ncf5n";
+"vocaltract-1"="0af79zsabml28hwhf2nq19s1sf7p6kljyvz6c2zlbx96a5k9mjs6";
+"vocaltract.doc-1"="1sjvklf54r6znggylk2wyf1fw806v8msc2g24ibv4p1ia3da2giq";
+"aastex-6.3.1"="0w077r2lsir646ix8n40wy5vy0lnw8vdlw1nmc6fvw2hmrf3w4vi";
+"aastex.doc-6.3.1"="1rdpiv6rlcbd06flc3rk7a1y3xi899h53r6binbjd0krvrss48s3";
+"abnt-55471"="0zw8vdmqcb5qddc0rf8qd67fwprwjagzy8s9ildgisb7arqmbj5w";
+"abnt.doc-55471"="00m174q9gxsm23j3fla7m7lj5fbr7iqfw02dz9s6481nfsjh1wgy";
+"abntex2-1.9.7"="1q7r2j7c5p1f0gbrc3sjd5gjq2mhljf1nj5n5760snhwj3qblr66";
+"abntex2.doc-1.9.7"="1id5yj5kh0qgjywbiajaf5hf9ix9jq8178fv2kvp1yslra7r20s2";
+"acmart-1.83"="1dv66v1309z6x7h51ccynjwdfycd1bahs1arpdcqlb7x0bx1gr5s";
+"acmart.doc-1.83"="0xl7p4xydfdv08q1hvshr4749b8gjih2z4r400kcmjf2a5r0c3px";
+"acmart.source-1.83"="1g8a77ymln6zkrad32h7syw7mjal30clswmfy9dn9cv9qhllhh5h";
+"acmconf-1.3"="17l1kcwv6wk5p752lmanlx0bmh2py4hfxranapgbdrhjpis4jm9i";
+"acmconf.doc-1.3"="1vyhkwqg0v3pxjnlwzwnmiffh6b3d9nrwnpaqjm24j9d2sc6cxcx";
+"acmconf.source-1.3"="1n8cf6n2fdb88xmnj2m5r3cjz3jlp9n7bn1yr717fsp2ks81pr3f";
+"active-conf-0.3a"="1chi30gbr7xjcs7y3p2y8vfg6hany4wbacdm4drha9pa9m5sxqgw";
+"active-conf.doc-0.3a"="1css89hbdg8zgl7zf2x7vfgbl90x7bjvf0c0m0akjk8fzx936g7k";
+"active-conf.source-0.3a"="0anxqifjlf96z4vvr031v26s73d1a1sgjp8xv9xxv0kia4l7048n";
+"adfathesis-2.42"="0j60iq9nzk5kbs12dqx5jk84n14kdlx93mcypwi9b2gn7kyqzn5i";
+"adfathesis.doc-2.42"="0c6k4xsy0jg95qg45bqk9527kb3k3azyxwpl2zrkw0ld6k47sswz";
+"adfathesis.source-2.42"="17irbcz9wjnc6rj9f736i2hw4qrjwa1gz5z6w7gvq26b68pkxrw4";
+"afparticle-1.3"="0516hjm1v88vk70ggagkj0s00n465y08fr2ys3f2gychrax425a5";
+"afparticle.doc-1.3"="1ajpc55z02q8wgriwzzm4f96dmn5bpi9n81zad6kay7c7vwfa9g5";
+"afparticle.source-1.3"="03cx2ak956rdwdd5ya49fh81vdwrzq9y813r1h8qcp618sr3h14n";
+"afthesis-2.7"="16jyz1skb9l78dwphggq23jm14zwhycmkx3kn0sm13dcfifrkxpd";
+"afthesis.doc-2.7"="091f4flclyahjlxwa640l7vmrfiyb4wqgkh19caq8fld96zkbjir";
+"aguplus-1.6b"="0z7mgsm9pa33gykhwzlmpa3shg7ragrz3jdp8qfakp5ck2mbjysh";
+"aguplus.doc-1.6b"="1105vsng0yramk84pfcg9pvzjbm3cbyp84m6sxr9wadw02z5kj8j";
+"aiaa-3.6"="1z91l7lhi5pnh2ignmskd24asaalhyhdywkl9j6a7dp6cplswhy5";
+"aiaa.doc-3.6"="1sz6inilvyaqhnj1z88rws7xwkhhpw35il4ppxw9kn9pwvnrn0vf";
+"aiaa.source-3.6"="1lsbfp2zvhpyf1vb1ia9hdz1i796dbfqpndcfy8lay48f89n3njg";
+"ametsoc-4.3.2"="1ma0kxya5gxirqh9dliz1g00bgkpfy4jkj1npjgwqvgs335rri81";
+"ametsoc.doc-4.3.2"="1jv1sdd8p9q4qk20k2id5zbnwacxicp7xmj1j9vyp6cm7z6sza8p";
+"anonymous-acm-1.0"="0blyv8pj41qa3fvhwsk9kq8qwp8x0b1iz7vyc3lxcpcv626aqr2h";
+"anonymous-acm.doc-1.0"="1j0fhwv26ziw6rvg1s2x0ry5yq2sfa8a55xvpyrzl6pjmzrj3czm";
+"anufinalexam.doc-26053"="1v1k74vxidgxn5zzqz6v9zga468kcf7hwdrnvw44cd318221y396";
+"aomart-1.25"="1czw4bp8rffyi51xxk8p02f2fvd6cjp3z1p2m2wjk548cfw8r32c";
+"aomart.doc-1.25"="005mmld0f4mxyrhaz4k4fjfdp0hg63jj0vk86glzr19sf9jkpr04";
+"aomart.source-1.25"="0vj911643l3ihqniypfhp7zkp5ih9375kza42a1ppda0j37hpb86";
+"apa-1.3.4"="0g7y5l9908l4aikm0mqgwfcdg19dbllcgdp94cl1aha7h4jq0971";
+"apa.doc-1.3.4"="0bzicm0x6sf78jbrqp66mgfjmcd7kw0rgkv0c6ah9945b9lh4ly5";
+"apa6-2.34"="08gk55f1a52az88nckdljp67vqv5i1k3n6wwxhgqb0m66j0aax8a";
+"apa6.doc-2.34"="1lk20c5lr1l3niccfcagn4pbfqgixivnz6sx1kafvljxg5gw2k8g";
+"apa6.source-2.34"="0qbwizqyyjc72c8sd2p7pyhdcqnv4xzsapjyhyryaifpm7x6dck8";
+"apa6e-0.3"="1da46dhvpwmjvm3ma4zbnfgsc2yiqg9d6rdrw3bd5h2ibs3vnlmg";
+"apa6e.doc-0.3"="17m97m9v0pcs58i3k7sdj9h1vifv3f0cxxyn4fzi8pxvzljwl5qm";
+"apa6e.source-0.3"="1155ic0k6f6gw6zmqq8pv74hcn45skjzyarf9vpkcksj96qr07ba";
+"apa7-2.15"="0ypp42gxnwpv5p3m92yd4v1wl4cbw5pd2r2mziwyrmz9r4sxfqbp";
+"apa7.doc-2.15"="1ivirfb2c7v47c335c5bys6k3bkz2ys1s33v0n7s8yrd41yhajxi";
+"apa7.source-2.15"="0wnyniya9x9dd0fhin39chhlfansh7zldmix4sb2kzz4xm6aq5pg";
+"arsclassica-45656"="13fql9q89zkdhid841hwxyrdbj6bd692lnc52d0yiibrd9gd9f4a";
+"arsclassica.doc-45656"="13cqb49296wzph7msrhpzswlyknvhrjaa81509l4j4mx1snxyk4b";
+"articleingud-0.3"="1ydj9dysf2qgk36ssp8pdr4c6dh5iw27kcw4ykzkx22ih5an0n01";
+"articleingud.doc-0.3"="0mkv9fq0hixkjf40la5na4dh0yqi3adgr8fyi1x74sbyi78gmfhn";
+"articleingud.source-0.3"="1h1w0fxa1cyw5d943mg8na7hxwyq2ki40gql9y0f7fdx31faiavv";
+"asaetr-1.0a"="05ff3l9qhk7bc2k2kk0acpyy4fxdfh3crngj7lgnvwbxa5wh8dn2";
+"asaetr.doc-1.0a"="0whp9d9pas44j775i4vn7zh5ss0yr4q5vbx51kz768zwgs5x8222";
+"ascelike-2.3"="039w1lm3bpfrrb5inrmzklmr9yic7x1fs0lpjl8z49mijvqsv1df";
+"ascelike.doc-2.3"="1hb732idc36m86qgss7wwsyqj6zgirh9qvf7ybpmqz6arwsml46j";
+"asmeconf-1.30"="0pjl3fdb6kija97923mc1n7z8pkq6bxdp36212lvxgxnxdwzprgf";
+"asmeconf.doc-1.30"="1zwm56sffpi8n5xzircahdyvf2p63p3kx1l89ym1ncwf0akjzmm5";
+"asmejour-1.18"="07b7f2k9zvp93nvm63gvjscyv04qxvz7wjszzgcrz1z9y6alj0fs";
+"asmejour.doc-1.18"="177mjrn6sh6i9parq1sabxlz1rkp44949n02mq0dna8a5l981qc5";
+"aucklandthesis-51323"="1zlsa80vbby0jp46jicygq2fn64f1mgppbw6bq4qm9ncsapdz92j";
+"aucklandthesis.doc-51323"="09n2pdviw6xvh9ymka32pyscn16vgcxbij79nq0hxn6b6msxnlq1";
+"bangorcsthesis-1.5.5"="1814fspfg988qg7ihx3rwfxk7c79avd2fxwyxcs8pp0pk38lg15f";
+"bangorcsthesis.doc-1.5.5"="0lv6iq40wcd9zanvs51c7k251qnxz59470pidr0gy3swwpa8aqwq";
+"bangorcsthesis.source-1.5.5"="1q0kdk6m143d9niwa59lcihifgfhl4j603x53dzwaj68hil5h3g2";
+"bangorexam-1.4.0"="0aq9bswsygpbsjsi3m8gg3gsgwhp8i1hfapdvlf9055i7d09lyxb";
+"bangorexam.doc-1.4.0"="0x5bhac4gryhmld733dk6zhz2z9w7gawy7yv432v57hc9vvbhhw0";
+"bangorexam.source-1.4.0"="18w8zf29fz1ilas7h9nzvn0saj52n825c8vkqsq4np40sa2ccn4w";
+"bath-bst-5.0"="006742phm7xwm8yjxvbrx1by99f0mbpfa6l9j86ibmx2zdkak3wb";
+"bath-bst.doc-5.0"="12bbnq32slw6i0n47lgkmwvvxn0jhgjj639g8mv5n3wqdrvq6gyq";
+"bath-bst.source-5.0"="0dfkaaska55fnhzx0f9ldsfz5rmrxvpnkikr66cz5nah37wnnsiz";
+"beamer-FUBerlin.doc-0.02b"="1ragp50ky0p240cyx9cbwhri5k4ghzbvclps9p40wzgjlqf8a5ws";
+"beamer-verona-0.2"="018ckad1q7ffkixvf6q9a5d4fzgpkpf9qv06cfv0rjwp80k7psyg";
+"beamer-verona.doc-0.2"="11vv18n971pcmn8lf2cya7jf55x8zw1d9s4sg2l3q76rdj7l53ra";
+"beilstein-2.1"="1xh2955zfnss2n9g8rsa0m1kad4b4xpsdrjj891kj97hhgd9hpdf";
+"beilstein.doc-2.1"="0k78mwjqqib6hx7c6lcxkzrbg3gfw64a68fj32g0wpvdyj406ssf";
+"beilstein.source-2.1"="120gcmpz53l2pzagh40nsji9g86fq4xvahzhwqqw7p01r03wc0cl";
+"bfh-ci-2.1.2"="1adi4fqg27zl509nd3w9jjb8mb8is0iffj7p51bhxcznqzhbyakq";
+"bfh-ci.doc-2.1.2"="05w9ljw1v07p8ypgar1qq6xi6xrhmb5xnsmlzmyjm5vafdmij4vh";
+"bgteubner-2.11"="0a8zhnl1nxzg5r525sn8sz44crjdm5fmy09glp8cjj7nic5xj32g";
+"bgteubner.doc-2.11"="04nh6c3q2w984x7kmgj023dbpjq9mqciyg4xrypgc4zv8wvcgv1w";
+"bgteubner.source-2.11"="11g65q55cv4s72cpraxw7yj4qskkhqhc0mz0sfy6c8jrq7255ils";
+"bjfuthesis-1.2.1"="1gmd1fjwl49h98mh1bqhlxw63bcpy3p6ri33642p49aypj9iyk80";
+"bjfuthesis.doc-1.2.1"="056iczn516aqi3n04qn4q86w06q5xb3cz07sdb9lr4yp35gxmfzh";
+"bmstu-1.0.0"="0wjmndhd1nv6rwzgql74a463cnpzj7nkci0p9mrg89s58k6hay1c";
+"bmstu.doc-1.0.0"="09d3sb46rjfjjwksk2cl1mj04mfqxgi9sb6jw8rmadfsnzqclklr";
+"bmstu-iu8-1.2"="0xvxli6na2nc03qwn4x68sq4jdr2x830yvfb507j1990pni1y01v";
+"bmstu-iu8.doc-1.2"="0kimc29vl79ib5xmrlb1ipfslq2y4i3hnabxcaisrb54z0y3rp1p";
+"br-lex-44939"="0pdhzadajg5vx5da6ildn9k2nfvf1ks4pxjgm32ajpcpfxbjpwk3";
+"br-lex.doc-44939"="001822zh0f18zvf6b51qdh4ykkv6ywqa5pm8q2vsmjv8rayjralg";
+"brandeis-dissertation-3.13"="1bfb1w5c35396axpnxh91h8zk3n4a4618b5knn9h7a9wqvx4rgwc";
+"brandeis-dissertation.doc-3.13"="063bxb714gl0jnzcmidiyq4jb8c09c716rfl8ng9l21n1nx12ms5";
+"brandeis-dissertation.source-3.13"="0zwhl4nh4a37bmxs61i8kkq4127lb20x1500mx4w0ihgby239z3w";
+"brandeis-problemset-0.5.5"="155al8iph3949h9859w32q6v885f0p6wd18m53rkliqvzc6d9f71";
+"brandeis-problemset.doc-0.5.5"="168ywrm0cnk1l5fmqzpk9mxf4732mjb488gnqiz128dbsshh37yr";
+"brandeis-thesis-3.2"="0c4hd638rqqhjgnw33l4myxzc02lxd1ki2dfsldfklfhhmk57xx3";
+"brandeis-thesis.doc-3.2"="0g4b92mmadzqw7kcyf80jl9bashqnx9j2sjq2n19gq7gaksjzc53";
+"brandeis-thesis.source-3.2"="0k14yxds0jlmkrl3xdw8mc4240rgv605ahg35bqfvaq6nws5q0xr";
+"buctthesis-1.3"="0zgqxw2252msasrfbixi6x9917pi5kkpqpvwsp75nw26nrni98gc";
+"buctthesis.doc-1.3"="1sirbd5zkg6v43gn6cf5mlpri3ccaylf48q1ays4sfa74a3799y3";
+"buctthesis.source-1.3"="07xrapjfxb4zwjnl5qjvmr6vpahdkmddcgifrpp21pimcwgscdb4";
+"cascadilla-1.8.2"="013x6his54n8q3qp2xx12c0s2fbjca1ffmcb1kjy0yr0qy0y698z";
+"cascadilla.doc-1.8.2"="1l8xpfmdp2sc54qxx0ywh7im342nd3kbmgkx2pfzwmqz3xhpybfd";
+"cesenaexam-0.2"="15n0abwviaz213q00nv6faxc67fyqz44mvp28zcyysrhmrcxw159";
+"cesenaexam.doc-0.2"="0vqxkqgyg79kzfcxh40knxh5a3d2j6q3f778k2npfz70d2kaizj9";
+"cesenaexam.source-0.2"="069n1sk2g5n9cqq9rchk9w5y40igh620a1j5miscgykcczv2y0jw";
+"chem-journal-15878"="01s4sbmc4g96cmnbhx9a6bqjskkrr6saq91cly2pfy5gr256vmnq";
+"chifoot-1.0"="05p6x3l0vpzgxqw4pkl5b8hhkfg4jqv83435z8db140gsk2sz2p0";
+"chifoot.doc-1.0"="02x1z9dbnzvbvwfyqk8axkqhzchd1dfjdqsf4xkajxvjc13dhcwy";
+"chs-physics-report-54512"="19ci498mf3yy0xhmq4ghy8yh138dzs8953ki2mqn9hj6jjx71yfm";
+"chs-physics-report.doc-54512"="1nfmbhp3gqmf2pdallpnrx9hqlb8cwkndfri8i0mh411hrh72jp1";
+"cje-1.06"="1vs4752d8c8jsj2yrrzk5xq43vs5sy4byp4fjgczlxas0vj0v9bb";
+"cje.doc-1.06"="16vyabyjacg4i2a362nf78dp59r1dgyj3k5rcs13ilq62dy67ia1";
+"classicthesis-4.6"="181s8s8yk6y9haxz66ks1v6wwhpff2vs7lxrc8kshg1mn26bya4q";
+"classicthesis.doc-4.6"="1nxj2qflzs40mwnpd02bnbnh0ndm8rx12mr1vyyy6v3sc6g28yn2";
+"cleanthesis-0.4.0"="0wsib3c130m19r4z3ghipvgqvmfhi1cx86670ad3ama3rdmc3zpn";
+"cleanthesis.doc-0.4.0"="0hhvak1l5zc4bj874rd0i6v15v70i3aq2dlv736csvd2b764g6y8";
+"cmpj-3.03"="0hn69a35zkfrgy2gndhqlrclhx13c7515wqw28j4fk6ffpmn6arh";
+"cmpj.doc-3.03"="06yhinxa4s8hswzzh7d9x8v768fzk171fgi6kxgm76hfi4ydlw9w";
+"confproc-0.8"="1s4mv0g2x5mfxnkp0i29wa3ncbx9fa05qqf734fjppdzsgic079i";
+"confproc.doc-0.8"="021kbis3c73gnavrjhqa34fsbq5c94lmjym2d4ny2wpk9xagh994";
+"confproc.source-0.8"="0dpghxh9mq2sr7aqgcj15h6b4xh7x5hvdzph6606izpff8ac7h8c";
+"cquthesis-1.50"="143w42d3xw31dy8wdpqx01r8q9vs2an1ixnyil8n0q0af29j49bs";
+"cquthesis.doc-1.50"="1b7k2s3ils5s5yb3fdd6h0is494pss7s76awfn3dj6yxiaps5zvn";
+"cquthesis.source-1.50"="05gypg8zsdpfhp11rk7nii2vdw4rand5lw6ijkm23lbq2b5nwvwj";
+"dccpaper-2.3"="1q0hdlkr80qsgw17d4qlsm59wl22qz1b6fmr2cawfbcwd7aj6jd2";
+"dccpaper.doc-2.3"="033dhadkcknyhilqkwsmw4hx5cmkl35maanjvxb5jdp8vayj0d9y";
+"dccpaper.source-2.3"="193bikyd65k1wd3xykq6innzzhqrgxlcz21fa49cgilwp44l08z9";
+"dithesis-0.2"="0spbmfqf2i12sp0qvh6875vp2zrgpkrhvbmjzwyxj6mjn1yr7r9b";
+"dithesis.doc-0.2"="0w9xgl8y2w1f7ns2nn9j5rs7hd39w6as2drcjmw4dc0vdbklkayd";
+"ebook-29466"="1jy79jrf8cd1rljg9f3g0hzkihxkpybvbgjnkzd5y6cfz7zaynp4";
+"ebook.doc-29466"="13cj8a88qqgi6kl1d7kb0cizl4i2pjm51hqnz9q03249av3z377q";
+"ebsthesis-1.0"="0vg8n4xrlxyjx88yzlsr82drlrigdnb870p0rxd1nv2ik2i1jzri";
+"ebsthesis.doc-1.0"="0gqh1zxb1w050a9dqnc5vhx1jgmk9kqk9k591s05xckidhnpp2v2";
+"ebsthesis.source-1.0"="0rg2bs23051ravdqv14k6yrrc993xpxf61zi8b94f0rjm3mg8f89";
+"ecothesis.doc-1.2"="1avnq2y5l2bc2lkf2g16p2vh77dabv52jr6jrm4jfm1wdapc6fmq";
+"ejpecp-1.11.3"="111sr2lnp3b8hh0hyvdf3zv6nr3m2ghl8j2zklq0fdimm7ndmqcw";
+"ejpecp.doc-1.11.3"="14ww6ilq1l8f8i4fcafl4v0im39gajkr5189180lbrim6wk8gys9";
+"ejpecp.source-1.11.3"="14223kfrwhi1hby3lqadp70pn9ykagf1cwgqhapm5856iai4ravi";
+"ekaia-1.06"="009wk5qyv26rdi9gjbaqxcpsyzz6l5w8b0wrg9avspq81hrjkg9h";
+"ekaia.doc-1.06"="1rbcnilarzap8kdsvypjwin1d13xskqq33wg6p0p02b8gaxzf3a8";
+"ekaia.source-1.06"="15fl2jhhv01vl7ggwmddpldkmwdj6gj99851aczv47lj24w093bc";
+"elbioimp-1.2"="1vfg29q8b20zi9lhn9nsr55hgx710ysk0dvfqpipqjf53fjsp0gs";
+"elbioimp.doc-1.2"="066g7g84fna6wy1slyh2sp9hmwjhp57hc3qf59gj5mwqvaaym8bc";
+"elbioimp.source-1.2"="1ysvjlmik0kclmcdf738vhl7xigsq8c6lqpgl3z2daarlqx6b8c1";
+"els-cas-templates-2.3"="04kg89hqnl3w1qq8f3xfji8v06mix97n2kcsl70csxsrpmj0pglw";
+"els-cas-templates.doc-2.3"="1cxd8wl9qv9fqzdnvdhghpclnsahmk1qsx59x1fkprqkvs9ckddh";
+"elsarticle-3.3"="1jjayypcaczxw69dk3v69fj31apics2356l934kmag49rwfzxail";
+"elsarticle.doc-3.3"="0z7iywirs24112fmdl8fm818320s3ilqlgc7xi6nl4idjakhfmi7";
+"elsarticle.source-3.3"="03pw09cw4hd0ixfa88mj7bijj9r3b6a6kg53q4hzzzl97bf6v5yc";
+"elteikthesis-2.2"="0ay0y9zx31d8xq3lim21402dcbx9gpqxzq238gf5b802mh370ixp";
+"elteikthesis.doc-2.2"="0i0jd3jyf98rc6mj430iyw5l6p14i11npsfbnclx9m51x8qizh5a";
+"emisa-2.3.0"="120aa7a4m1psqx3wclwzghq0fcyxs8djlf79mp2ds56y0mpsqx5m";
+"emisa.doc-2.3.0"="132h5m80s24w51px615di388r7wkkqp8ihwapdz770p5pywk3c2r";
+"emisa.source-2.3.0"="1pspisyb3pxj2nfkpzzxc7pghackbl1p9dwbr5iqzwwv37bxjgli";
+"erdc-1.1"="02sf80cadhv7if8arbjcsgqkb0hhdrlpq6izqgcai6vb7xsc6niy";
+"erdc.doc-1.1"="0nv1yqxjmp4mfksmxm373pmy3zzbfcfvi683dalpslzq2qyz20yv";
+"erdc.source-1.1"="1vpghcpm9a2pvi3plh7pjki7sna3hkzvq2xj9gzmhqxcpw3jskwx";
+"estcpmm-0.4"="1v027r6j4vxxvdccq83irjdj1gf6kzy5i9jb1bhsv7c2gdf3ihyx";
+"estcpmm.doc-0.4"="03q3z9if5hswrr086zi907xmjaijh266l5g9a140q0fivjai4hcx";
+"estcpmm.source-0.4"="1qb1v30ijky1xhh5dahgprp3fhxfm6kvlxgb059429idvm5ap90g";
+"etsvthor-1.0"="19iza3bimr7xxbajmq50iqd6cc1h82kz2lixwphn9568d5k5vjm1";
+"etsvthor.doc-1.0"="13cijd5cx7sks5jdy67hp1a08f4y223l0hxd3w7ljnvd5azzyc1f";
+"facture-belge-simple-sans-tva-2.1"="0n8wwl82w7hn11l3c3fg7nr088v2mv4s2d3ynwahgy18k6953pxm";
+"facture-belge-simple-sans-tva.doc-2.1"="10yh7528nms60ypc2zh9viamk9cihi0a67jcvwzb2i8f88sx4cfq";
+"fbithesis-1.2m"="0qzf6ch5b25qrhzflh8rwrljhlj87i6xaldnpj8j9iq83y1xh4jr";
+"fbithesis.doc-1.2m"="0wvnm716qi0y54h95zlqr7m1q9dgmjnl9f0ghvjgm886hljq752z";
+"fbithesis.source-1.2m"="02zmk6yx4v47ngd6ba6mjn1rnhm2w6p330rfz6nkq8shcky7sy72";
+"fcavtex-1.1"="1rnfrvbm4baslmmakf3s1n37razfzbc6d11b5yfhhdhskq2aci5c";
+"fcavtex.doc-1.1"="05ixrg17jwd315q5c52c4b8smcihj4rzrxjparrgfimivd85i3h6";
+"fcltxdoc-1.0"="0bnz5b9ibr3lh5qazdanlvvpp8d1h2apzkw61qxr6kg9ymmk2w68";
+"fcltxdoc.doc-1.0"="0dvr57jz38v5wflcjjp19rwjbisbzkdc91fji9s1yrv27drawijp";
+"fcltxdoc.source-1.0"="0k54q30f7qp40fh3clxyaa40xhsa28qyavn13km65s1hwvg4hg9g";
+"fei-4.10.3"="1x9kcfzp05yhyd0kr6kbl1gq0jak1dsidd0ifk6kwdp5jqq01c4y";
+"fei.doc-4.10.3"="123xbkwwpnggbalxlgqsib37wd2vfj3s37r3lminxkik6ybjvrzr";
+"fei.source-4.10.3"="0nmb4a7hy279im3xwccfxa9p4pfmv635bb38w7z2jsbv8ga69zqw";
+"ftc-notebook-1.1"="07ng7dgbr1swsx0zwm831wijqjq4x6hnr02354jdy9z59k6d4lyg";
+"ftc-notebook.doc-1.1"="0w9jxcfvkpif1fyd4xgwbfba9b2sf77mqr9symwby31lxqwrbys6";
+"gaceta-1.06"="1yimj3mxyjj36ib4lfdh65sz5w71rlp41hhnzz84kgb5y103wpaj";
+"gaceta.doc-1.06"="0vvadcqjj3hvjll9nqn3mam9ycas0zs810qi2jnq6smpm300c3l9";
+"gammas-1.1"="1wcvzihv3xh52s3ydni4gs3lcp9icmxinqj6znwyy680izmw67ba";
+"gammas.doc-1.1"="1al5rvpfavkc1p7ayknxnrs4r7jzx7f7dbm3hayqwg0d7jdanp8r";
+"geradwp-1.0"="009sswag3l2cq3jjjssvgl26hrckrra2wqmxd3kx48q49mkdk63s";
+"geradwp.doc-1.0"="0q3jkn8g0lzxzhdpalw6qrqcjgklx2f7napdkwrg2xjykn0rinix";
+"geradwp.source-1.0"="0bmbipbxd1lmh4iy941l7wi9jhzxs7xpsgxkp2z5h81mk9xan64a";
+"gradstudentresume-38832"="1i3rbv9ixnr60yrjzbj31aaq758638k5xvlarkaqsjvacc3wx88f";
+"gradstudentresume.doc-38832"="0nvih6lkbgc7jkkj303119fyxnajl4iha2baz2yhy62h4mq8lhd0";
+"grant-0.0.5"="1whd5f3fc72balvgifnb37583v0882xq51qa0fbb92b0a0c71nid";
+"grant.doc-0.0.5"="0zfz8gj8di6sx9k48zdn5hv5x2fj5rd8dm7x4h2k6xssrj4aw7bx";
+"grant.source-0.0.5"="0pmg6kjzy6wahhz3lk742qzx8m5afz8lqsl05zpkcmi7ris9m9ah";
+"gsemthesis-0.9.4"="1y9wj43qpcgp82sfi5s7izyf284hzkn5py0v145jx03l2kxhv90c";
+"gsemthesis.doc-0.9.4"="0fyadx4x8d64h75fq3xgmfxympcbfjhwwmwg4bpj20d3dbf0rh32";
+"gsemthesis.source-0.9.4"="1i5w77zwb9c4qc90hxz7sna8g2c11mkf3vnkkm3scm6pkbg9z0av";
+"gzt-1.1.2"="1yncx641p2d66wggmznm8qpgps3j4hh5sxm56xwqnj4lhpqpn9bk";
+"gzt.doc-1.1.2"="1lv1609v7hr84vb7gb44wyxjxs8792mrwm1bfxcr8bzx7npklr8r";
+"gzt.source-1.1.2"="1kmkvpa7p9wgrchijldvsp8av67iwphf2rnrrgm695fbvpy5gnzl";
+"h2020proposal-1.0"="1yz8bz4nmccv0v700zz7x11fjdqhs4hgkz8cd6bnqr3v0n8k4xrf";
+"h2020proposal.doc-1.0"="0yd0iffrvahaci04bmnd20bszgshx28apsij1i35l1wjr1hlnfcz";
+"hagenberg-thesis-56798"="0zfp35s1mmi3qa3r7xwlyynncbrqbgxr1mxbcpf01fszyx5y3lw3";
+"hagenberg-thesis.doc-56798"="1brvzchb8zxnhrz2mksy9a2h0wqsa7k7w6bymi20jrzq3kgblln2";
+"har2nat-1.0"="0zaqsnvg46pdf98gzlxa8l6z8v9l3fd7jmf60nbrfba7jrzpy1bh";
+"har2nat.doc-1.0"="00n5qcljlpw2rq8x921vhsk7xvz8z43gxiq41qfzin696ysn7xj5";
+"hecthese-1.5"="17yd5vkgss1g8b1hq34pvawcqlw494yc2dwnidlykm94jgqlzfz5";
+"hecthese.doc-1.5"="0wmwc5sipbd82c35qjiqdj45fr71wl719sy0s4zbgw45852180cw";
+"hecthese.source-1.5"="1xwbx6sk679m7wb6sna4c0valja9xcqpcwjbcp1sw2yvdx91jn1w";
+"hep-paper-2.0"="0ahqbamba347z27f3jzrvi4n3q66fm1pn060lyz1blnxk5sdppvv";
+"hep-paper.doc-2.0"="092d76iw461zic1b91ifawjxiwdcnnbxm26vkgfchxlnf9z5rn4j";
+"hep-paper.source-2.0"="12kvp92vjf91f3kp5f88bi653cz6d571igm1nzinhm0qd2w0ai4a";
+"hithesis-2.0.11"="1krjq1saz92ca0xcqzmjz6v0j1iyfx1g50c16bw2sa9kcm589kai";
+"hithesis.doc-2.0.11"="0liw73mp94dh4cfm2q739k4cy9k05fw21187f6iyp9d576hfv8nz";
+"hithesis.source-2.0.11"="1izdz82iv9q0xgg6i000j6sgywhvhhmmkwsi60k1vj7w6rkfa833";
+"hitszbeamer-1.0.0"="0nw7ch41rjp0wz0k508x2kkg4yqfpy6yfcl7n3rb88ps8fiqd786";
+"hitszbeamer.doc-1.0.0"="15kkzvgn1n09i7nnfd9mll1l6xqwrbpc252k54gi791nc30acaip";
+"hitszbeamer.source-1.0.0"="1ysr0z079l5k61v5r77hy2r150did3a1a29k1xppxrjr5ry3f4nk";
+"hitszthesis-3.2.1"="0dr4ifga9v5w7kdx2iban28ajvw24b9ayzs9rqa3hkkir460hhhf";
+"hitszthesis.doc-3.2.1"="1v839wq8vrswximiabnz3vzfirq7q34zzqvxxyi8791x1z7a4hph";
+"hitszthesis.source-3.2.1"="1w1b1cml2k1fvvq00lrga4k5sbifycxf0g1hb33wm05wwz0wihaj";
+"hobete-27036"="0825ng1xcpdmjihiffzjrvcvx2fqdz9mryq2bwffas22kf0zlx46";
+"hobete.doc-27036"="0il6kl26r8wmm6jzii7gmr61af84bl9dn4szlnw34dgsdg0an5hh";
+"hu-berlin-bundle-1.1.1"="0fyzil2b9qsi0qrahdias38w2k7flai2p1r8afqimsg16vix5ndj";
+"hu-berlin-bundle.doc-1.1.1"="0j6icx6ffy5lxy11myb1addsd0yz8y1n6fxzgyynqd6zd86w5pc9";
+"hu-berlin-bundle.source-1.1.1"="17x425hywz0gkzpg04v3cghq47ps89ckg4ywim98z4hy3pqvlacx";
+"hustthesis-1.4"="0c5akc97v3fh3skxpgmffywca8kyswmaypkyxdzwrqb1k2z4xknp";
+"hustthesis.doc-1.4"="1llsyhbgdz9k6swry84q539yjsvcxj6hgirqcw4vbvsdxxxsbyn1";
+"hustthesis.source-1.4"="0nqs1ifkhhzspdwg5nbqgpd2309aw9r65cav51vxpn2abss1q6a1";
+"icsv-0.2"="0gv7wrghqivfm8yb3nkm6r8jnvx7klbhr1nbp27cjaliz70aapa4";
+"icsv.doc-0.2"="0dlsqkdmx4nhgs15hhn0nw6vk6h3q3hhhwdymy8nnxraph2mvyl4";
+"icsv.source-0.2"="1fh1znhlacpci7v23aj9zdczhc87sg3l0s1gsvrbgznpadgbzbim";
+"ieeeconf-1.4"="1qmpb96jx5zxql57bh5ppzfzfrgamnxn1nsqpq1bsr0xf21zr6xl";
+"ieeeconf.doc-1.4"="1jhsfs770lhq34xxdx6ak9mbpmamfz696kxy6dhvfadzkn3v1ls5";
+"ieeeconf.source-1.4"="1r7a5wd0hqhjh7dkbvm0z1fiih4f9pxbx6y7qmcy1qdvlm819jmd";
+"ieeepes-4.0"="0nipchw9hdlc7am3n052bszilwj192pfcnc9p5alqnffrd8c4rdj";
+"ieeepes.doc-4.0"="0ff8xa7w5dmp356klm3lfr9dnfplxjqpq7aiczp6xj092vmjrhdi";
+"ieeetran-1.8b"="09j24j6kpgjx58yghh902bdpkns025v9av6ym2xwslmv1ya31pka";
+"ieeetran.doc-1.8b"="0y3bw20f1sa7dacqwrwc43masap5sz23vna8bbkf4p74rdgl3bkn";
+"ijmart-1.7"="1j4i7f745nk80nghnpajkib2y6ddrzg16h0gn5cd215pibjaml6c";
+"ijmart.doc-1.7"="01ds6p3byc9j5sgjhh7yhbpv36idlp5g9afsqryvhfrwy3r9900g";
+"ijmart.source-1.7"="18saabw9v60rly8qp8vcgj84rjz88gbz4g2sda4i15lsjpmz4dis";
+"ijsra-1.1"="09dszs5ha929aws50zq2k7kia529bxfczs6j8bi0fvjnmf6kx3yy";
+"ijsra.doc-1.1"="0lb3rlqsscmnqn65l1aq5x5ismsplgbm1ks1pn6cs2sxdjy2s0ly";
+"imac-17347"="1v7zpbzgxz42b6zv0y3d2cmzzsal5mmzd3lb1nk779i82dhs6pi1";
+"imac.doc-17347"="0s64w9wkfmrbvkd8mij3y0asrkzcg2k58xjl36vfvcf07aw5wcr6";
+"imtekda-1.7"="1hhxwaykslzmf70lvmrmpnn2kq3xa114lyvazgfg9sccc990gnlf";
+"imtekda.doc-1.7"="0lzkiirxgvl2m0vnqpspr25qk1wyq1bs2sl3zi6704q3fvp6sqbq";
+"imtekda.source-1.7"="19h57cyxs47awil222i5svqgwdmw9mrm16wja9f1j980nzzaq7wn";
+"inkpaper-1.0"="10989ja1vy9ca451gc0v0mrkqi25dwv4fdvw9y4k6z26g7902hap";
+"inkpaper.doc-1.0"="1dmvkq44kyxd5y4l2kc9wvgrhgk4kkfw0qfqzi2faf9xd6jssrhk";
+"iodhbwm-1.2.2"="1d18fjqgingshxvsawkz9idybfz5fdzcd41qxk5hpqms7zcjymi1";
+"iodhbwm.doc-1.2.2"="0iqw7insxma8pmj5v12zjgs72j60z99g7w5kfkb1h6biwlx33s5c";
+"iscram-1.1"="0h6pciksfrabg7wgxsgzciw22cp6gmz9cb3ifdsqb4n4qk9fga6m";
+"iscram.doc-1.1"="1p0p4w7pkyc9xp5af1afmsibbbrylcfrdcbn16adscw8y6wmds05";
+"jacow-2.4"="06w817m1ll5p4bs3jngq8csy7xc97h918r9z5a2n43whc6azpw3v";
+"jacow.doc-2.4"="1vsc0nhdyzjjl4ajynl68cqvkcfal8ndknkb2zrzfmx2iic443g9";
+"jmlr-1.30"="1vliagbbyy5nzfs8pkl71gy0zvjzgqibrh7c480aampwf5qi1gq8";
+"jmlr.doc-1.30"="0mv7yxa1rn0qaz3qkzxh705ia27gqrjzpcqi5gpp340hvi8hm09g";
+"jmlr.source-1.30"="15p4dsbn25gpsm7avswx8vw3ljfvwmwbp91qlzm4cabsb54kbnhs";
+"jnuexam-1.0"="0550skzwdanpzxa22rv8mx6c1ihr930rfaq51yp82dijgd211sql";
+"jnuexam.doc-1.0"="0ghypsr9h50cxafhca7h8pdvzh8jn02gh889zw6avk5wx5vixav5";
+"jpsj-1.2.2"="0yv7lkv7sr7qhqv0rmyislf0a5rcd125kqwbnfj3696cwhm5aqf4";
+"jpsj.doc-1.2.2"="1bmms10hgyl4gs91i2kpds2mn9x41ks8fjrislj2zl8y3vqdkc81";
+"kdgdocs-1.0"="1p1rcb0lzcsmgyqz5750pl2r73fd18k76gry45zfsr7750kwx7x9";
+"kdgdocs.doc-1.0"="0b2j3mw8z0f3d4pffqw2r9zxpmyvykd36sskkhfg7wa4q521nf3d";
+"kdgdocs.source-1.0"="0sipsvbi9254zpg0bmcfin60szx9q0vnx07a9bdm9ma11qb1djpb";
+"kdpcover-0.2.4"="0bgirpmm3mgvzy8a8jbj5cr8q39mvvs6mpsq9x5q3vn5xg3zmgyc";
+"kdpcover.doc-0.2.4"="0qnivs3y65g4p5byx0crd1bq8p9bbmdvrhis58mdxxkghr7wiz58";
+"kluwer-54074"="15av38sb3pzffxvrxlbwxzgvhnxhsjhkr3qwrlqswwq1sy4a2ssc";
+"kluwer.doc-54074"="1cx0xya0s27mybl37gw3yx1rmcyvrxnrp8c4012gvmqiyqyx4sjx";
+"kluwer.source-54074"="17w0ybfzs9x8yixzl8cfldqi42sq2jpkyap8i08mvp8krqgviz1n";
+"ksp-thesis-1.0.2"="0hcsni8p92pm3l7mi56jj7mlcv5rvdpzwbv1jv5f1hb6xyx2pn4i";
+"ksp-thesis.doc-1.0.2"="01pbmmwwjzd5cq4xxmx3fknk8d4q3fda3680g344g5s6ra5i45nj";
+"ku-template-0.02"="1f45rknbzb3d3h72vznfzspg7vx9im59w5s5lwv4z0b4sk7n1d18";
+"ku-template.doc-0.02"="04gpy6a0mpjhbl9h2rnflvhxsj5b7x7fwll8z211fl10cnvalcxv";
+"langsci-62061"="11rqrmm9l5a67x6ar6kla45a378srki54pib476dg5d7l4arx4c4";
+"langsci.doc-62061"="0gg8f7chgvliwq7v6flhqycc1fg4i7kz9mg1j38fr9p2zg4vjydh";
+"langsci-avm-0.2.1"="1ayf5xbplhjgf2fcpxzhmdz2sz9bcjdnn64x4pc1k2yrk7zrva89";
+"langsci-avm.doc-0.2.1"="1b780ydqh0v0phapnjk1p044cn4hs4ww9ahx0fm2d0gj77fqsd31";
+"langsci-avm.source-0.2.1"="0rkhl4pkcs6cjvrd3f14l18rwk0ylq15kfc8k1n97bvhwy7azk5v";
+"limecv-0.1.12"="1j1j3n86gvvv8jc8wycmjmnx9ci9w41w38fkxjsmx2mvc8frsi2z";
+"limecv.doc-0.1.12"="0d9gg2gf16pynh395sfqyr1bzj664snv54x9bb5a3zck3b9kbga1";
+"limecv.source-0.1.12"="0m0li0wa9pk2p5m3gqzr7n78qglz68akw7f5nq69iddqwh5r827b";
+"lion-msc-0.30"="02xxyl35xl6c48x0fdlfkcv4bfhz4hghp1v3ff6pf9yl3cvqlh15";
+"lion-msc.doc-0.30"="0nycprcfi6769r47llwma71hzdb9a6sprdkkk6p898pmk367wbnf";
+"llncs-2.21"="0wqwzrjqv5zljfpvah70byl9zaq8d41yw9qyjr6j0fdwpp0dl006";
+"llncs.doc-2.21"="0wjg833s1i6w2qhlcxlahqvdyfykc4pv91l03bq3pk77c3934h2s";
+"llncsconf-1.1.0"="0c1xjmpr9jb0k7xj6nj5p9qli3lxl98gnyq0dr94m2h31zs5hpdp";
+"llncsconf.doc-1.1.0"="1a4l8piav4ihc628ac3sjxz1v0rkva7in6q10xw3vhwdxsxbkhvz";
+"lni-1.7"="1y1g323qij5xdjw1c4n31lkzldj5bkfg5k1vs0snnqppmznp4afg";
+"lni.doc-1.7"="11q1sfq1ks61fjik6wq99yqpc2z5crxdw87pbv3khb3i0m3hfkqg";
+"lni.source-1.7"="0l1khvrpzwsg26ldxfx97qv8q03g100iq27lp0wr2qqqyrwy7sb6";
+"lps-0.7"="146a42clkjyrg046bz43b2rpvz3i2dvhcsd132bzc76d3x0sqps6";
+"lps.doc-0.7"="1nwn4dff3szxlvw7ydqp1ylw818maj0ij1g08zlz2i1gclizwpa1";
+"lps.source-0.7"="0hzmjvgd9y746d9983y73jnc7pl4y85lk37h5d6j3jznnrdgk7b8";
+"matc3-1.0.1"="1mp6k50lm020xqrq2vwl9xyzr5jwp9p85c6ng3k22g4rqsxhrb3c";
+"matc3.doc-1.0.1"="17xh063gahp5m83vj6x8waqwvf4hrvg3wi80z70r94bag0nqqf2v";
+"matc3.source-1.0.1"="0pq4l1ays56ry5v3ig76h49kn7hdk1gi0wqx9b29vkdvzmzrmq02";
+"matc3mem-1.1"="1asybbjj93wpbcn577cqkbfi2bkiq2hzv5b2lqs31igawaa0vdhg";
+"matc3mem.doc-1.1"="1fgngv22falzvrsynzzj51jaf4gfcw88jwbljywixqb9xcg9igcm";
+"matc3mem.source-1.1"="03x6cm78yhgfljhcfrvn49favgf6h11w96s9agr96xmngzh4z40m";
+"mcmthesis-6.3.1"="1pjllpvmqva7yk4zi4gl91blwbciw4f0fhq7rjc214iglyghl9fr";
+"mcmthesis.doc-6.3.1"="0np4zsrlb5xxlwc37dldrcawd9ldmjqgq1qhbpdz639n3j4gmnq4";
+"mcmthesis.source-6.3.1"="0acxvqka48id5fhr9p07qh01h44vhq3kapczr0i49pyn2ihibnyk";
+"mentis-1.5"="1pjpgn0lmyd7y7qbri8f7s01a1akgdif0s9v56ia2rsimn5fgbzr";
+"mentis.doc-1.5"="1r6799zz3y0iw020wwwl8a7az2j5b894i7w0pqqvsq05g4g00fcs";
+"mentis.source-1.5"="1ajy89hkvcika3aybpz93myylwlgfilg1d432my0jvmsa40ikcdc";
+"mlacls-1.0"="1i6zkzy0xp0zpi6drq512pil4gxyw96sgsfx9vz45rzc7jvpbbh6";
+"mlacls.doc-1.0"="1wsysqqv00fdcd7v26i5840g1hlrxdnnzznh1yz7yj3pwz40b0f8";
+"mlacls.source-1.0"="03m5mqpn7bq0dzynwdmhxs207617aplvbc5ra1da7wifnaradlsa";
+"mluexercise-2.0"="1yhgp5cidpkh4ihz20d1p445q370bh25jwc8ikqdq6g1qnf8sdv8";
+"mluexercise.doc-2.0"="0xcifm779nln96bmx0kvkmnzc9yk2314yc6nn98wm7gqdw2bf21s";
+"mluexercise.source-2.0"="0mq8fa0vd762q2h981mj6is4d5vry2qgggbbmffvmfb4h76z5gh2";
+"mnras-3.1"="18pjsph7xpdvmnpq098vv4gl69k27ad7yxxsb60945zhgw9yjrk0";
+"mnras.doc-3.1"="1ml220k5md4hpj6lcmx297pbmdbyp1dj1j9vb55dcl5ypc6jr3sy";
+"modeles-factures-belges-assocs-1.0.1"="06n2871v6jx29r8qjgcpg4h3qbnc6kw24kfk2f08wbc2rg2xdkxn";
+"modeles-factures-belges-assocs.doc-1.0.1"="1509xrny3xvy7nii0v1rga8ip18g8bv3d6vf8a3qn0cayfa9p248";
+"msu-thesis-3.1"="0v7pa7b2hi1sfvc24g6xc9fcv11z67m5csnikmkhsgfqqgaj0xj1";
+"msu-thesis.doc-3.1"="1xjd05yiix0jhzfmm5iikzc8dbwcnvhngc4ibx5yjaqbd2a2qqri";
+"mucproc-1.02"="06x3hqdp6d6nm3n296wnj4j4w93cwgjpz0nlw5qj0z44zlghs483";
+"mucproc.doc-1.02"="0y33jak5lzhjp4v5d4pzfj7jlrr87dl6wdnkqcc0p9fr4fd2h1z1";
+"mucproc.source-1.02"="0xzv1m01rj74gg188snznshir510lj5myckfjx7am6sxwlfni63i";
+"mugsthesis-34878"="04r4y2xvwfmfa23cadgkz6v0q5djlhm291dqmnmmqq7lp569037j";
+"mugsthesis.doc-34878"="1wjlcgb5lvfjmxz6dngd76bj6046sr8lfzrnpg4pjbw3s5v2jd1n";
+"mugsthesis.source-34878"="0fyslrcw5f9fzchjlw5pccf32vybh7vn1jl9dpc8y86x8gg7ngf9";
+"muling-0.3"="1y69g2f37fppvgasy06w40v8yg6aqgacfjynz0azfw409xm3b7av";
+"muling.doc-0.3"="09i58z3268k20ifc4rp9lf9mcpaqvd0gza19l3m1vg8r4x049fw2";
+"muling.source-0.3"="1awvkpd1flh3l938dclwfv819f8iqnqhkfwrqmkq0nbq8n9l929q";
+"musuos-1.1d"="0hfrgx3lk7mf9kzf6n8hswzh116pmllx0k3djbfinvvvhnqy972s";
+"musuos.doc-1.1d"="0zxdnzd8x42z5fpvkarhsvdw3x4bz6qppn0iyjff1fjzwl8q8dzh";
+"musuos.source-1.1d"="0igksc3i5ydqps0g172i2hkb854bnkf7xh4jqvwlimrlnhs7nnkk";
+"muthesis-23861"="0bbv49nnngkpnzq7kq15spn4x67yigpyfk8ymcgv647z0bvbladf";
+"muthesis.doc-23861"="1nx1qbgp67n73k54ppyi4li4flnsyi8jmy1lil0gaza38m5y8aak";
+"mynsfc-1.30"="1zc7lgr1i0g5rszh9gzcv7fs98mk06ms5flb3iv2zww0w9r7iy0i";
+"mynsfc.doc-1.30"="01ig210x2wrdkp5k7mzshhm26958zmvvlclyk81i5wb0i11z9p77";
+"mynsfc.source-1.30"="0qsacpapa5vhpcwhm44dj13zpx9a3kv2j3hp3848zhq6rpc4981f";
+"nature-1.0"="0b1ra8babjwpn7v22rjc22pjrjczh1wflhq9ihbj5ag3d10sil6s";
+"nature.doc-1.0"="053m69fwgcfpa5gcp3dnf7k37175jcsclfkh87lb0zwcymjghlw5";
+"navydocs-1.1"="0isw46fzvk85i3mimwsc3x7wg8g7ifbi23i0d4v676nd92j1i72n";
+"navydocs.doc-1.1"="1aiyz3z489bdsx4rh79gxbdb986hff75qik97fq0xrpk3w6x6cjq";
+"navydocs.source-1.1"="0x1n44brcy38fnfp03j9xl1awfawwa8d0c5cg739yr404qbq8dp4";
+"nddiss-3.2017.2"="0d1maznv4yqpjzxm90vdl68h6h7zr7m0k24dirq2nc1cky6l0j1z";
+"nddiss.doc-3.2017.2"="1apqd332kj67rpa09md0gb025kx4d7arvqj7f4l8krgsizxfxcck";
+"nddiss.source-3.2017.2"="0x2abanmpp7sv4qbwl6in3yp9k99fx453f2fn8xw9b0z053ivvp3";
+"ndsu-thesis-46639"="1bjrvsdmv68zlm2xd9v4jpkg39zvjhcrd7435r0jh0sffai4pdlc";
+"ndsu-thesis.doc-46639"="01jfadx1dcmm3q8pdwpxmxfmmp94xm9y0r77220ffrlf1iczadkg";
+"nih-15878"="1rlhnhdz58qqjv563wjpp11ppyqa5smjpzjdzfcra0wd6cxv9384";
+"nih.doc-15878"="16klyjxzxj4mipql71admicnzlnasnv9hb5pl52wyk4ic8ggdgwh";
+"nihbiosketch-54191"="17gggbkag8y4fjvj248wc8kqiklsqmilcyisx9lwcf5irngql646";
+"nihbiosketch.doc-54191"="17lfnfkgjdhj8i5zv08v6lgxrrjg8hzbbq9ihnpcbhj2scn96g7s";
+"njustthesis-0.0.1"="1ar359ssgan8pk72bbvd4lp2yg63ww6g2ymbjlxbv63qh6czvqrr";
+"njustthesis.doc-0.0.1"="0s7dwmmhpb4qr2nnzr7jjh1zfk5fcvk51nxrf7i7ikq8jss0ic7s";
+"njustthesis.source-0.0.1"="12lq39rhj0z6msdpshagqylknn31dd2pl6ymk1lfagm2bq8mvx30";
+"njuthesis-0.16.0"="0bzrxgmx39q7nrxpzlqgfsqw9qv13bzmrkzcjbmcf56hf30ssjxg";
+"njuthesis.doc-0.16.0"="1sdzs6zds28f37235ip9v5l7fmp9s51xpxpvcb3zqkvq6k98kz7i";
+"njuthesis.source-0.16.0"="1ibzarcjni8gv55q4pwrqa0zyv0ms75xsbbla5j3s75swsj769in";
+"njuvisual-0.2.1"="0qb6z0mqrb10cprq2jn7ki51s90vw2bnj6p0qhsqjwjkvs65d50h";
+"njuvisual.doc-0.2.1"="1dlmk1mdglz4xmxy23sy97z1nc0wra6pbmkxarj54n9ldikvasym";
+"njuvisual.source-0.2.1"="1gibqcgs87cwg64pmfg0kd8ybk1fjmybsvlrfqyf0nlvlczz4qk7";
+"nostarch-1.3"="181a6pjdr7ffsngv7j84ddps84csv7ir3wr49qjax3lr5fhiw7qi";
+"nostarch.doc-1.3"="1sjd4yz3j70pncr47ryis4w4459lbs4jpbb75wdzvgygv9qxz3w2";
+"nostarch.source-1.3"="0f6qrlydiajnla9n4mqnv8f1iyl0f8ip98hbx6dzmmjz0k5i9bhj";
+"novel-1.52"="1xlglq5lifj088v3skmvzpsg44s0a3jnz6y3j4mw92wfbmzwnzhp";
+"novel.doc-1.52"="13pbk3amwpxzrhnsv779pcyf2aiih2iqicbp1ajc5fyyr3mr52z2";
+"nrc-2.01a"="01pczvyzfc2vnrfsab180fg0nz13cmry0dvdxmq3lxzp75ji5aqj";
+"nrc.doc-2.01a"="0l6lpvddg25k8dynqr26gj7fnaq7k6zbzp5p62684sz9351pvz6c";
+"nrc.source-2.01a"="0lzfw45m3mw7yd9sx6lya6cvan696p74wrxgvmqa73prc2lhmbv8";
+"nwafuthesis-1.10"="1kj30zcyjxs1ingsbz9wbbjh5chzljnvrhfgkr52wp9qs81rhwk8";
+"nwafuthesis.doc-1.10"="1np1px0dz84ppn6aqyvm98824p0vps18qkjs03vppvqcf3rhkp1k";
+"nwafuthesis.source-1.10"="01p3afmfsab3zxmxr4qvrjb7j11aiyx5jv60b8lw2y6dgb7z9gz8";
+"nwejm-1.0.4"="13alyi2bhjh8fwl0yg1vpz4wwdf7qys70zpjf8b1ghdi0ybbszcc";
+"nwejm.doc-1.0.4"="0cfr85wbyq5r78y6xxv21hl16a0nmvpqk2qyy6xfwnr4n4xnsirb";
+"nwejm.source-1.0.4"="0wg2hm7lbicnn8ax1zh1s4cfn36iw2n4z2xaxm06l7hv3q4yninh";
+"onrannual-1.1"="0bj29lk2nlsmky82ablxl0r6k6wl627zrsv9g97hydgdmi5nxasz";
+"onrannual.doc-1.1"="08c3xmyiz91623lnps3iahi5ga9941nc6bvxmdihadxhm2lk769z";
+"opteng-1.0"="07a6dja6s7c1759i9afgacx4v0fli98s6mcq5zig689hpkw841fg";
+"opteng.doc-1.0"="1125aj55p7n6b03mn6p6845yvx2jbjkwwldgwiixypklndqsf6cm";
+"oup-authoring-template-1.0"="0bamzc98y8vb7s0sw45ampcijva64j0y7p8v8y7l0rby77hra8pz";
+"oup-authoring-template.doc-1.0"="1z5ac2fxzh5fjrl2d4di50lk39rwrwl36irad6k1jm4zxm5260a3";
+"philosophersimprint-1.5"="1cdnlyf9cf591bqp1dqdxl10i3im014vhxv77m8mviklayjyq1lw";
+"philosophersimprint.doc-1.5"="17j2zh4p8xhf619slqpm6bzycwd9zpr8qj066c4wm63la6fy7lyx";
+"philosophersimprint.source-1.5"="1zdcwyknfjxw3vmlipklrvfadw5ahh4i4ns95kyqs1x57c7wgamp";
+"pittetd-1.618"="1s8865g4fv04ha7vls9frkkmx8dyn0l7z1rqvh3dkyy7fdgq4vff";
+"pittetd.doc-1.618"="1jkdny3kqljfjnf9ywpz7xqvfka8kwi33jy3z2yiq1fvp8k60ar5";
+"pittetd.source-1.618"="07k0ilmwkg3wvgfpqyqc60hn5mlsj8z5lsx8mq8h3igwm4j8krzi";
+"pkuthss-1.9.1"="1jbz4r29m7l3ry19wk7s0jpnczdnf1164b08zgbkzj5zsi3wpxqa";
+"pkuthss.doc-1.9.1"="0m5n0q9rn8086s8sdvpf8kqga3pzkxvbvmp20ypism2nkfv3hgvw";
+"powerdot-fuberlin-0.02a"="1gx04y9ysvwzghy38k6izhs9gm1hzssnb5zh8qjjh8v99mk6cqwa";
+"powerdot-fuberlin.doc-0.02a"="03ci0lcgw777kfmnzas13q75n03z8v2im1wzrd8hpbcwq18mmn2v";
+"powerdot-tuliplab-1.0.0"="08f25qa5fdacsd8i0bs8y0p3k0zjgja0qp4ak0x3bixz7yivg5nx";
+"powerdot-tuliplab.doc-1.0.0"="04b546i32k1cs6armmnvr8aqbfvs0ysarlsjmsci9xdrz3clm5w5";
+"pracjourn-0.4n"="1idcncspb2dcmrfsr8bf1ar413mc51lliq9xgpv0ybsiv91yd4lj";
+"pracjourn.doc-0.4n"="1hks8p9vksn88daqyn7rnsaza4i05dgfb3ngd5yrvvw0v40s3acj";
+"pracjourn.source-0.4n"="1jbicfqvvyi4nnmpqafzlzlx459v5cyv62wmq67c2692am8a04v8";
+"procIAGssymp-51771"="0fc3r6h5h5vq5af131ij5zq5mpm9yl220nnq0hr4q4krxzmc0hnk";
+"procIAGssymp.doc-51771"="0nz98xjwlx1srfakqymgyxr3smqlrk2qgk6ikwbdqs07prpiszay";
+"proposal-40538"="1y5i7xl1z706fcv82s5dyx1ksfvp9dq2m0shwy3an2r94qszcwmg";
+"proposal.doc-40538"="1haa55hhz11j9m3lxp84yzlpyalrc3hlb7wxvmngqhn2j2mi0b3c";
+"proposal.source-40538"="1n3z0rvhnc76grih3jy5h5ax7rffxjwmafd92fnp10jinr9riapx";
+"prtec-1.06"="09izjx2g6gyckmgzrvg9bzlwz1yvwr0nc40s6wsbb898wa6cswxx";
+"prtec.doc-1.06"="1cv2knhl8xrsyzcywypr6dqgdxqss0r9mxl6wv4clpzpsyvmfzbg";
+"ptptex-0.91"="1p3bahmdkxbdgczvx52qhyn2w0wmdzr8061idf0kpbwvl0nkw75p";
+"ptptex.doc-0.91"="1ldg6ljwf0iivd0cxb22sld2q2afwfb83ac5r6jxjcfr5ac7dv0q";
+"qrbill-1.03"="131gwlsqn91lpl5xi8510kag8h51hqwpqzdsfxa1khjsgy2xc841";
+"qrbill.doc-1.03"="1mznah4cky5ar8lvzimic1lgsa1vx2yz5340xkm996xxvv61wqn7";
+"qrbill.source-1.03"="1lb460w7185fs1qqp0nzxj0pwplknb4a9s9pnrdw670z7ryswzqs";
+"quantumarticle-5.1"="15h1aflvl5mgcd9l096l3s56pp1ryjjm83xcaqfc67kyxgjxkapf";
+"quantumarticle.doc-5.1"="15vwy9m5b1vv2mr4wwqsfqqx0zrwgffbh6f9q8bbm55xdgshyrr2";
+"resphilosophica-1.35"="00qqwp5n5a8hpz4zpcmh3avbm0wh2csdwdf450hmqnhpv2hn2z18";
+"resphilosophica.doc-1.35"="1s5r4s8ja16vsz3ssqk0klfm1vfxrxbcj45mlszq5r3k5gsa1y5b";
+"resphilosophica.source-1.35"="0nkxh1yc6nnjlh5bmf9w5k6hzg62f4i7x7nbf2019vlwvqn7r4yp";
+"resumecls-0.4.1"="19cw19c4a3zn5gvsngcxj6xvh2qq5n5am0sdmg9zajy9lqqp5nnf";
+"resumecls.doc-0.4.1"="17z14r8yj33mjjkydzaad1bm5nhvrv5154n5n6snjszd13vgdyh5";
+"resumecls.source-0.4.1"="1mm53893g9nqp3wdks6qa22k4pk71v09rg98nm1i1bz5ppn6kj18";
+"revtex-4.2e"="1kph9xdp7ax4pv24ixxrsivhk9xqd5ln23c96cnn4qwvs65jygj1";
+"revtex.doc-4.2e"="1s7i1lr8ra692jwjx2bf61h1jfndqwpqfqjr91v28vh3w7cg0m7a";
+"revtex.source-4.2e"="0vishjx0cymhnb4lsnx05zdghfs9h2bhbz2jwsbdma81p66lx4jx";
+"revtex4-4.0a"="1v1km5grdg72mqf7sha1laprwhhwplrklax9mabhg13q4c9k8dlk";
+"revtex4.doc-4.0a"="1709bsjlka0d8x405fyac8vpmklf92qhw0qgmzvbhynhq4sc85b7";
+"revtex4.source-4.0a"="031vqkbg38iwi92yhvd5xdmmkbjhrr9lm7ncmlwgizf1y0ib7wpa";
+"revtex4-1-4.1s"="13azycwjj9ihirfkcgmjrpvjha4wngmgkm6irh3388zwjs2sh7sj";
+"revtex4-1.doc-4.1s"="057yf32dsx1j3b89wl9jqrafvib8p0x6l3w3zk1c98p9vp8c0lm8";
+"revtex4-1.source-4.1s"="03dy16s50bkgj2l2zkm3z6mzf9qwhrax7cxll2p0rxxwfgvpgh8a";
+"rutitlepage-3.0"="0gslb7lkinbhlqdgp8pb60h9x6ajypb5991z17p4d0jwifz063jk";
+"rutitlepage.doc-3.0"="11h7ppnimbf6znqla0r1vq8six0ri5ihzd82dj66hhh6ic5pq9bx";
+"rutitlepage.source-3.0"="10k8l66sjzdfrg6cbslx19a8nrvw7w5xaicn78rkkf095pyh1qpy";
+"ryersonsgsthesis-1.0.3"="0zn3hp9ipjq3624h1kdz1r55wxhawylxkmh6fi7v6cz37cnn36wx";
+"ryersonsgsthesis.doc-1.0.3"="08bylz7p9ygmzy6m8h7w33l4lch9iqnaqnb3nxw30d5gp0rsb3j9";
+"ryethesis-1.36"="18d9lw5inr4fxxk4x4xjxnnvbp2agz25c9h328gi1c3afsmi4lsr";
+"ryethesis.doc-1.36"="1jy3vsin13lpd8q5piia1klc08nfmhnx0hp9hl8gnz86h53mc5xa";
+"ryethesis.source-1.36"="0chmpps2q20bkwf7p0yxwp1y6mak5hga459vpji5sl754nzbvxb6";
+"sageep-1.0"="0yavixnkhy1y69l38xj6pbihzm83ncvnsl6pyr3l310hif6r0wcg";
+"sageep.doc-1.0"="0z2n1511lr2m39vn4bdamw8xbxlw92p5hrsxzrnjlrg39ysymsyd";
+"sageep.source-1.0"="19547avrh6yv2v86w8f7b0pbvh8xvwa5z8q69bxcvhwj0jqjicps";
+"sapthesis-5.0"="0d14nsxdpb3idxl714kwwgzg685ln9mifzg0jbjgis7fya1ia93g";
+"sapthesis.doc-5.0"="0bkj4hcbs6mksara8bh8cjz7jkar702vm78fklfsw1h5shlpdv5y";
+"schule-0.8.3"="1x6lddxv0gxqz7xh2wcjyrqgsfmsh7van1mwiw92ws4xd2a4m43d";
+"schule.doc-0.8.3"="04m2ar25p77bbn9hzbrprsh786dfl8rypl4w5zrnbs8kd0a582jr";
+"scientific-thesis-cover-4.0.2"="1ggghh7w9grb1l1r7xg1igdw79jswcanyn49rpnwiq5rj4a09r2j";
+"scientific-thesis-cover.doc-4.0.2"="1slsn30sbhxlvr73fk9infwjkw66p5sgv0ydkmarkp1ncybqzr6s";
+"scientific-thesis-cover.source-4.0.2"="1qlxpsy3rdb10xxv1nsn817srdfywq6z1zgb4vb0hy3qnbd2rjwv";
+"scrjrnl-0.1"="1p858dfbqas8x4ddpw81mf59p47iqj30yban2g70rims1wqy4f45";
+"scrjrnl.doc-0.1"="1rfx2x3kir9qxp74halcwrn9zg8c4lm72jljspw040gpvjpiydm0";
+"scrjrnl.source-0.1"="0b48zv36kn7bg2n94yl2dzwh9ba1fx7phpzljqpn44ybj1ng966w";
+"sduthesis-1.2.1"="1i8rdk8m8bc5lk35p7qd4pqddi3knpq1ylbxv67ij7g8sgrl9xwg";
+"sduthesis.doc-1.2.1"="0i7f9zjxs297hx3hd6cm70hkkc50wb1pcr83xk54cy72yqiq119p";
+"sduthesis.source-1.2.1"="1j6asblirf0x4f5zp8zbmpm7ak5nsilqf4ksxr4bgrca70vfava3";
+"seu-ml-assign-1.0"="1g37b3qrv358mhbq8924alaw56fzpfbykaap0nq0c40hf1x8bfcw";
+"seu-ml-assign.doc-1.0"="1sxqr3rjlmxs31v9153ky09ax03pyyjzg3qmlxzq6gm67ylcacb5";
+"seuthesis-2.1.2"="0yfan3cpx7h7hrnqncn152ccawlrsaccj0c53kzza0wnkr3hc9rc";
+"seuthesis.doc-2.1.2"="1hnrl455lz61y9ybhmrvxjb66y5816sq3yqb76zszrscxh5a8h5f";
+"seuthesis.source-2.1.2"="0dw7ipk6l0mwgrwrj9sxg8vidwmmy22vmpwm6j2ksnznz0238yf7";
+"seuthesix-1.0.1"="07vjbiycd00r1daqg8m0b6g9k97ja0wn3s4zx7774av6p2hdhllj";
+"seuthesix.doc-1.0.1"="0j1vphdi9z6anvw7d3a20nasrdfgg8vrn9jh9wi787f9vy2xzdlz";
+"seuthesix.source-1.0.1"="09qpilk53k37c8dzc3q3pgvm6yf7i7a09ln0yn586wslvm2dmmhr";
+"shortmathj-0.5.0"="19rscnl84f9x6r7kajj6wjh80di5y1mc4g4nybafnisap76r3c06";
+"shortmathj.doc-0.5.0"="1kzzbkv36hj2wc9kz1wjr5dlgx3r21vlyj7sy8m8i72yfnmajgbx";
+"shtthesis-0.3.3"="09g79h7dwc0v06h06svj3h43q1xf31fli33xxlqnckz28i1a4y95";
+"shtthesis.doc-0.3.3"="14fqspd33n3r642mvmiamswjl4qjda2g7p62amxs69s64cqfliv2";
+"smflatex-1.6"="1w55jqw3m1a3s28hkv68vmqmbh14c7wnsv88z5qhmyqav1nbb13z";
+"smflatex.doc-1.6"="17pffyp6d7blwz0a2yjdwa84lim9b7jbg54q5gknmwi02sqdqsb0";
+"smflatex.source-1.6"="0xd02c6zzvx9av0xjmv8navff8ik9ibanmid9kls10jancp47waz";
+"soton-0.1"="03vldli7z2bsvznmqw5y6gi81ln5v54jbiqm53z464v76kp9w29f";
+"soton.doc-0.1"="1i7b5i8vv88cjxvcm1adlxikqwvbzpzkiiksdn36in8msj23vjkm";
+"sphdthesis-1.0"="1a0a4mwf14f4076gwiqhgdq436l5fxw588rigif0mcpnmmmlkxwz";
+"sphdthesis.doc-1.0"="0b6cgkwb4v4v78nvwg2n1zgc3ww9fnkh43s4qb3g3pdjc399dj3s";
+"spie-3.25"="11s8phbfna7wwx1gji1mpl93arvxlgfpxif4c46xia5spn4i44ji";
+"spie.doc-3.25"="05myxi72wcagb55fk8p8461vag4yl79ilyhfri8il4i72419ip22";
+"sr-vorl-1.2"="0a87b640qdc7bysxlgr0y63znls4ryjgibi3ablnw9q3rhzbbr7c";
+"sr-vorl.doc-1.2"="05zpxq3qjhziidiq8i30hj295yh2qa3g79lx9ywlldbkyhq928cy";
+"sr-vorl.source-1.2"="1ddwga4af9k70c05v2a8frn3q779d2pw43h5bpfks5w889ss6rr2";
+"srdp-mathematik-1.9.5"="0glibbfy2m6bsz2vb1zxc3hanrpjiq2sqv5hbaqlvs30mscqbrbk";
+"srdp-mathematik.doc-1.9.5"="1zp61pmp24sqlyfxbvnk3cdsivlzmz5i9il3smfy50dymzyfbmch";
+"stellenbosch-11a"="07j555jrcg91nk6rgr6c9dq8y9b3i0677j339hlcb6mk7949nz3m";
+"stellenbosch.doc-11a"="0xrpmbzaa4y3v86zzdws9al13v723k5yjbxgnd9l985fgq5w21bz";
+"stellenbosch.source-11a"="16mmz7pq4y9blxskrxjq8w15zq9vrbcr6nj8ynfy13b7wxvqqrcn";
+"suftesi-3.2.0"="09rnrhy7vi8zdg5lmgmvlh3lc50wkp9gkr2jfmmg919ls36bfwcz";
+"suftesi.doc-3.2.0"="1wka69sqlp0p2c496ibak2md6v13hxcsvc9lf5fay14czwvyll25";
+"suftesi.source-3.2.0"="0wbp99vy883whqjhhyzsq3w232jk6nsaq6wgq3dgv1d0zamadi1g";
+"sugconf-58752"="1x2nrvqnl65jk3amclgwrk2x1dscncxajdf074a2d410w1vikrck";
+"sugconf.doc-58752"="16w8nfyixsr7l2dn1lbwcscbs6m4mczql9gmg9wi16nr8d7pm8si";
+"tabriz-thesis-1.1"="1jrxxmd38369qrhg2a8w4j9m3ldp08wrblbpmc08f35zwlrackbs";
+"tabriz-thesis.doc-1.1"="1rzl7y6p7n46r7ljcycr4k40qxbih06bli90mdjwn96vn60m1jym";
+"technion-thesis-template-1.0"="1w004bdgaag02kqhsdksw7qy93lyjihhlbxiccavp7m2aj1h9xly";
+"technion-thesis-template.doc-1.0"="1fa280wcainx6z15w199fbvzn8ya3zplgfw41mmvp8cv3y2njnq6";
+"texilikechaps-1.0a"="1z9nvv2y2nzpkpxyf18p426wcl0g6gbg7qppq70b285kdbczbijd";
+"texilikecover-0.1"="04bljvhvmrxh1a4sfqw57yysaw03c5ldi1bq63mlqqvd9p3hmyck";
+"thesis-ekf-4.2"="1r2fgq9ralrcm00gz0lrxm1f413pik1hill8x8nqfm9wzif2dd9s";
+"thesis-ekf.doc-4.2"="122vzng8dhsrpixwn40r9ddczqk9igmzi300hmbymy2b4ydhzc3a";
+"thesis-ekf.source-4.2"="1nizsqbj6nbf5qk54vvldhb6flppyn29i058jngldqp43r3xq8hy";
+"thesis-gwu-1.7.0"="16vb94z3svvnsxmv43d3xy6rz8ki3dmk01iz553q949f4dfig1l7";
+"thesis-gwu.doc-1.7.0"="0xfl7s0i4ni5lwxlsmlldl96jnhfxjyay99w3qc3vc4az9vdqfmc";
+"thesis-qom-0.42"="1iflj5y6vlgrgibp3mrafh3xrz5hzqd5p1iyqc8q10lqr3b5qfyb";
+"thesis-qom.doc-0.42"="1cz04c6qnd88cv2s5qfg0bvc4qcbzhdj0hkxx4xhskqjjj17vhxj";
+"thesis-titlepage-fhac-0.1"="1s9g6h020ahv404mxsfvqic2im68qnvb425cyvz0bj2rwn1fwnc8";
+"thesis-titlepage-fhac.doc-0.1"="0pjvm3d2l9715q50nbbza5l6vzhj6zaf9payimk1lr6k94357v1s";
+"thesis-titlepage-fhac.source-0.1"="0bhf68pc8c41ih92sajva48m9fq7a05x4y9qqanbidvmb6jmvhbn";
+"thuaslogos-1.2"="0p5xs731fjvd413rg4lcp289ijk1lxa5f0c9arj949f6s0pgdqfj";
+"thuaslogos.doc-1.2"="03a24gn5zzr6ma9q391s0vsg7qqn53kbmpw86a3wlyycsrz9ipl7";
+"thubeamer-1.1.0"="1y0qangc89pla53dkhxx1xm9n3bk4ngslns6lzdgygyqk6cslfdg";
+"thubeamer.doc-1.1.0"="166kd79lyqb7vbgwf1aqhv9jxmjspdfx7malgdq1nizari9lndc9";
+"thubeamer.source-1.1.0"="18p9zh00g56kxxj38djjiwhy4a6mfgmjhak962ph9d6k34gfxa6n";
+"thucoursework-2.6"="18f3gbydg1z6hiaidqw3j9yqybzvcp9ykq5a7frbd3ww051rz9xq";
+"thucoursework.doc-2.6"="0pq5i3kd19ng122nf1gd97xsc8gd58l5gplg7iswfjykdk5zv562";
+"thucoursework.source-2.6"="016r76nsk9lnr2zkkwz27r2i35j154rlnk5izd11rlmsyw3ix7l0";
+"thuthesis-7.2.4"="0vq49s15nv5lp80xgpxc1ba2mma9d2m4qkm6ywsvv6ypv3698rvb";
+"thuthesis.doc-7.2.4"="0ix25s5syamngv6y5hgypjaakjnnfmiyfgilq9dbjyw10bzi6ri2";
+"thuthesis.source-7.2.4"="0f6b4qq41kv219ldf5nf1za0f0gzj4jvj50gq3h0wk6wjbh2yqkw";
+"timbreicmc-2.0"="0inffnb824kv9lswj46b8p0zb36f4s3pfix4m7x7v0d216xa75pw";
+"timbreicmc.doc-2.0"="05x699cyrkfnygbwfifzz4ih0g5nm7pzlj6ygkh6pysyzxkb5w94";
+"timbreicmc.source-2.0"="0hznll8725wbjmayxilg0hvjw2vf63wj4cxmznvfly9lk8z5zh5m";
+"tlc-article-1.0.17"="1kzizgzmi7swzhjq9dasz392wga0w1qdb4x3x812lbshzg235vyh";
+"tlc-article.doc-1.0.17"="0w07p4rv12ila4ix4pymysbig3yl1apb6cxmb2cp9ziwv9c2184j";
+"topletter-0.3.0"="13ggrw7s7k476sp8fzbj5if20wa1x75m68ip17f1srihnfks3903";
+"topletter.doc-0.3.0"="0f45rz9n6fsg2c429n3hmzqx4cqv9jvrhwgmbfhznn6zrlip3qy8";
+"topletter.source-0.3.0"="0p6gvk4xj7bsazb7ipfgp6by60br9lyha53lj0z7rz16f7f2ar0w";
+"toptesi-6.4.06"="00qd8ap3dgrj16g831458m2kp0jivvbvmya2xzcyp560njsvqqca";
+"toptesi.doc-6.4.06"="09hnbj0g7x76m9lnn47z3cjjnlbbfmapmln3hi6ykb6lh534c4wa";
+"toptesi.source-6.4.06"="1nr54n7hsij9rjn54wgnij16xgay0dda2h6vl2qc44s8yz892jc2";
+"tuda-ci-3.22"="024s7smqv5hkq9p77n04x0j1w6yqffv085mf2h30mny61n31k83v";
+"tuda-ci.doc-3.22"="0a5svz2klyrs8iacbr5sfpjhqv9ivdnvl97cg540m9im426sr76z";
+"tudscr-2.06n"="0viihfab13h2iz8j0zn54psbjm0rww9hkazfvb0hxjf3wqvv3jwf";
+"tudscr.doc-2.06n"="1z2zwf865q6h30nmnl2wjpq724mvn8z96kvfnajxx3xzh2cyh7py";
+"tudscr.source-2.06n"="0dj8cp9kv9s366xiv5730vwx2ks8pbyaiwk6zqf8n5hn3ylx4j63";
+"tugboat-2.26"="0077saa6x7hdz6cnznrkrp06kv4xvxbqd93il41v0cmpnbi1cmi2";
+"tugboat.doc-2.26"="1b3jf6z0wfjs309idk0l6lq9hcq71cga15qdrwvbqbbd1w2ay8pr";
+"tugboat.source-2.26"="1r1xm17dn7bbvx931iynavfijc4jilnq5bq0millzirx9mqq8g31";
+"tugboat-plain-1.26"="0igb03dhdrvvzg2n6snrn3yvsh6glyxqr2ms727zrf7ji7ix664s";
+"tugboat-plain.doc-1.26"="1lxd4cvdrgyaafvjvn7kwcllxjicy6xh444kafar1hw2yijyj1ll";
+"tui-1.9"="0liczx2jcdks6r5040r7dqcyrcj225xq0035ccdb9kjmp0rmc90b";
+"tui.doc-1.9"="1m73fc2nj7qsy144fmbqhld3hx431ry64jv5p7h0r4p0giadwxgc";
+"turabian-0.1.0"="0fjqr88a51699p57d9mpkpf2hn9rrmdchsxhpjng8hkx3yjl647g";
+"turabian.doc-0.1.0"="193qbhcgh63kfnrivzjyyk8vp66wb5k4791qdii7brp59xsy6l7a";
+"uaclasses-15878"="015wxmrjfykv7j2bvmb42491i137h513q826f5czmcf1c8gk8bl9";
+"uaclasses.doc-15878"="0x6krd94wrdwc1zkyvqzznwvnvxx4agwinr5fhshav6r8jfsn4rg";
+"uaclasses.source-15878"="06nsdpmp8qqsrcbbcdpm82gcc3z8y5dlhv2lgwr4i01srwkd91r6";
+"uafthesis-12.12"="0fj2rfdzldav8m1ac7wv8n1k8pcgj4yy4zxx0g8sg1mb5i7if0k6";
+"uafthesis.doc-12.12"="0g096y6dvxfzbjrvvwpb92z4hrxp1p9jvbgkap5gra61msacqawq";
+"uantwerpendocs-4.3"="0p1r5lvln1bf36y961fk06fkzzgngjckkws8rqdrfl1xhl5yalp2";
+"uantwerpendocs.doc-4.3"="123inh5yj97lbcahhdhs09krxijy6w4sn2jg3v4dbz8hanklyfb6";
+"uantwerpendocs.source-4.3"="0zflx4gsi00qh9kfpb5xv15n6ll81ajr2sbhhlp5hbgq7pk4dds6";
+"ucalgmthesis-52527"="17pqf8p5wq7szg81iqmimgz8hac49yqlla40g5lf9s8f2pjagjmz";
+"ucalgmthesis.doc-52527"="1fzb7b9v81y0q8pqpvrpsbrk64831pf393hca1j17amsnv5al0c2";
+"ucbthesis-3.6"="19g7wv3iypbkcxhlybizkis6yivgn6z0mvz4rgsi72zaahpxmg7y";
+"ucbthesis.doc-3.6"="0nlpc0vm12h7pni3lw3jqq7fsh273nc63abw8yzw69crh3fspyqg";
+"ucdavisthesis-1.3"="0kdrwdk7mg3yd7hm2xmq63kgikr2p2izibfgw1whai921za4wlm4";
+"ucdavisthesis.doc-1.3"="1chajx1i2zmfh4ypnf8jspwr8kjwbfv7z07qrfasrf73r775yxnh";
+"ucdavisthesis.source-1.3"="08525i86hrv1387jn9ayz3mpwnh4z8kvjvb590y7gqv3cdvrsa2b";
+"ucsmonograph-1.3.0"="1jkcyhrh5zf8p205xgs10azhp69vrz613ln9ssrb4485b7a25b3d";
+"ucsmonograph.doc-1.3.0"="1hhr0z3sy8vn6cv2i7g8nfpnsdpyrsbqrclc8j8g6qidh83x2y5q";
+"ucsmonograph.source-1.3.0"="0x465kyz3chdcj705v9gc8s0w3pmawaza93pcm8nxy3k7dwx920j";
+"ucthesis-3.2"="1mqj65aps995issvi1vgn7f7pvxq39pwxaqqwh7pxnki26k8czrv";
+"ucthesis.doc-3.2"="1hv02nxak4laz9az2kr5lvd97l4mcnixdmpysiz6xqvc13ivkjl7";
+"uestcthesis-1.1.0"="0dsdzhf9pp2x4xbprii9rvl0h0jwwwd03va8mg7c3cjgr2nvy1dl";
+"uestcthesis.doc-1.1.0"="11z3ac2pnxg8qqy4shmdks7h33257nbkgj4h1rq49gc2ssqmp8pc";
+"uhhassignment-1.0"="0pb7hw9krpri3ky7hfshjkkbk36cilf31iv00l5iynsnrw70lwyy";
+"uhhassignment.doc-1.0"="1106wbx02mbnkgzwwiypfz7fg1a3rmwyhlgnsxf4z081q891p3fm";
+"uhhassignment.source-1.0"="1ck8c7jx3qkxnm0a82qfql92s05bg5p352fw1yv3y7v86z2kh6ad";
+"uiucredborder-1.00"="1zklnahb3inyf5qnavccqvkc02iwqw8mz7w1iam0lz2jmzgc1c41";
+"uiucredborder.doc-1.00"="1lxyssdc3sxsfhizm3f74lxcgpkaskljqpybwl1zw8m347p1qf85";
+"uiucredborder.source-1.00"="1rbxxliaaggn4rk6093lhmndas1xy111z9bjrgjrhjhxw19lc0ib";
+"uiucthesis-2.25"="19fif7a2xb3qrmkg8yfjg1hpisif4znc64765d6jrqgb9fqqzlnz";
+"uiucthesis.doc-2.25"="1w20kjwdgppl39axgwks373j3dsnidamhvqy1wn3yilzfb9vjjxj";
+"uiucthesis.source-2.25"="185mzcsh598dxnf2sb4mmvc3qy4pi43qrlim5jhn3n90qvwp62cw";
+"ulthese-5.3a"="158n0yiqrb8x387b76c181ps3m66f8rvl8paanqnfbb257jn3hjl";
+"ulthese.doc-5.3a"="1sasf73ax5nrk89a9ry87w8yf4czr7r7jwbg4cpwxry4rffkz636";
+"ulthese.source-5.3a"="0rli542fgz8hbjcl4ag3vgkj2s44b6w3is62ai2zj1h38jm4ybh6";
+"umbclegislation-2016-6-8"="1lsvsxjhjlfxlqvlmy4pqbgsr2jv3imzgv7zfa2p3gj382hj1qlb";
+"umbclegislation.doc-2016-6-8"="1a3cjb20ycjs1nsghc9fsiz4kc8f6awah0bksqyh2ik4fnkydxb2";
+"umich-thesis-1.20"="0k1jl1v6nqyg4ld1f470x96pjm68hs5fnl3kab383363mly5ypy0";
+"umich-thesis.doc-1.20"="182vclnb9yja2jgh6j2b2f7421w0xi567s0jrzaqvbnaik5sk5x6";
+"umthesis-0.2"="0iby3d7f8mm4p5z4jgnxzqnfmwhsws6hg3yb2l0mrknlj98ww4yx";
+"umthesis.doc-0.2"="0vf8ikxi8706hc0sv1h53wzpd4mfiz607hzbhwq607k4hc71iz8f";
+"unam-thesis-0.5"="05lb63wclgxqr7jn7c38plhg3r806b7888zyifcivv85q143j191";
+"unam-thesis.doc-0.5"="0kxdr723xvg0lzhmzwpyik9vxy584y41pmwy8bi7197gz1hgdlzz";
+"unamth-template.doc-2.0"="018vpcbxfzch8qsrrqakcxxir53nalvj39l2kn45kn26p5nfkfbn";
+"unamthesis-2.1"="0wqi46mdjsl06q7hyvy4wpihvrr040f5g23bgc6lm6lq11jadj6l";
+"unamthesis.doc-2.1"="1l71n80psc2hzjs1lnfgpfpg13355sk9ld86104dkyrl645qx07r";
+"unbtex-1.0"="0pxi0jbp5y1f4a55blf1yzhb8gla7l0wizf2akadz46jgpsj22b6";
+"unbtex.doc-1.0"="1pka66332c2q6194bx5hd3za6528iic6qxkrxydpzvmi57yp6cv1";
+"unifith-1.6"="0plwq53cp9rsdsjd6db1g8b39k5czzdsmmrfki7ckbgiw317k7w4";
+"unifith.doc-1.6"="17q97073nni7x2d1zlplrwfvnxw9pkjgk79jwcvbgfjq09cq374z";
+"unitn-bimrep-45581"="0vv9vc9cvw3bjfndlfyr69kpziymlgalyvc11av9kq2x5b4jlc5b";
+"unitn-bimrep.doc-45581"="1wyiar6xjhsjcfnxhlz8y1l9xvlcpgmkh360am85llfqlnar5w5f";
+"univie-ling-1.17"="00jjacragfb64v9pn0ckszlpvh5qkgl0ziszwd8xwvm34p7alqhx";
+"univie-ling.doc-1.17"="15qp3hhxdak89vgsr1zxdr5w7l31xxas3nalhddba9n6fykmrqi0";
+"unizgklasa-1.0"="0clwxzngdy6n7iwk9zrn21i1frmahdf0s9qq2nqlhk4h6rxwb8jb";
+"unizgklasa.doc-1.0"="1q7q2fpgpjdsmbfj9zijccqpl2m6n0dch72wl05a64hxg117jbl4";
+"unswcover-1.0"="05nkk3xgpjcdlsk8xrj0mn5r3kwzi15awish2hd205v1rnbjiaz6";
+"unswcover.doc-1.0"="1jsxc55wrfczcc9mnf5yl2yqbbzbk10jcdly5z5nyfvg51427adw";
+"uothesis-2.5.6"="1wgs3fxg01cxcpnhk43ik12sjdip77fkxdaik6w4w926i8z0np7s";
+"uothesis.doc-2.5.6"="1zmpx6biaxlm7fys5a3qahglpbqgn6ml07z6q8vplyqgn213hd6d";
+"uothesis.source-2.5.6"="137c9av6i6b6hg97wmqd2iwqzd1dq6lvg2992wnbm2bp2m9r20zl";
+"uowthesis-1.0a"="0iv9s5dfmbrhxbx4kqbhxjf23rln4ymcx4kkk5fmc67qi51i8jnq";
+"uowthesis.doc-1.0a"="1xcqs2h6qs2lca74mg1jvqza77xrph53bk9dwkk0bprhkxn1all1";
+"uowthesistitlepage-3.0.1"="17xh2myc3xj2zwbc7jjdmnfqhmhzkqj3dwwn2q04hcyr4bm7vnfz";
+"uowthesistitlepage.doc-3.0.1"="1gm1clfvd0g45fpgf6h4nmyy2vrc0d9lqfy9h3nn2pnh0ki2z0ir";
+"urcls-2.1"="15hnqy2fxqblr9db4h2r38v1h4iwhk5kcm8qm9war1c1pgwg2a6l";
+"urcls.doc-2.1"="0axb3cpbqbksrixhksdhbjyqyic0176lyxxk5di268jbr58203xp";
+"uspatent-1.0"="043az1c7bs194w7frr768pwaliiaikfibxh6zqiznc85ax6q3d94";
+"uspatent.doc-1.0"="1q04i3q9693ykpgsx1fl11w0y0kxffqyljns1qy04935s5b8vskv";
+"ut-thesis-3.1.5"="1kzrm9l5d7fyv5fjqgyn41gxxh1zv8811x0fcsv1hqys0w7jk9xy";
+"ut-thesis.doc-3.1.5"="1458s6gaca28b63h7w5zwnbhnn9gzhxafzi6314ijclk7zgw1imr";
+"ut-thesis.source-3.1.5"="1ldj0f6kj6pycc5952sxdh0hvb0jaf8jzqh44zdb783k270nxsvx";
+"utexasthesis-1.0"="0j8jjy8i5i9lgy7m9wnvj36ms597amnvb9a0ac2a2wh7vqf3dxgd";
+"utexasthesis.doc-1.0"="0131pn2531bwmsv3ak1kf9nc4v86icxjg19d28sqfmlnfvl73v4y";
+"uwa-colours-1.0.0"="0j3yywmr4rb011062gwaz4q56jcizblah0a4s3xi2gh0jycdfd1v";
+"uwa-colours.doc-1.0.0"="0pa7a1ic7am0w1chl6cx778gv86pf38m12s0xdpz3hp2krkrjxwx";
+"uwa-colours.source-1.0.0"="0h59r1sxqsgsl79jvm8q015mck28z89c595lkpilymahfn3aqi88";
+"uwa-letterhead-1.0.1"="0y59djz26f6br8gpdaxbzx0sm6p4gjyvfdi3g5w2rhvzv92w81is";
+"uwa-letterhead.doc-1.0.1"="1kj991b6w3f6svzf130g4zb58k1n1fq18jvvradrqygvgrj8lg0w";
+"uwa-letterhead.source-1.0.1"="1ysgg1idxm0h3rslw94ih10jmb85n445rr2cfzx9x1fhl2zclj3n";
+"uwa-pcf-1.0.1"="0bgg42n0sbp1hslwrrc8xclxpj87sggicxhmcijiijfdb88g5cl8";
+"uwa-pcf.doc-1.0.1"="0r8cmhy9laq7j40vkgp9v35xsq27xn5akkj97qysi844n4dia9kb";
+"uwa-pcf.source-1.0.1"="0sm6zx16yyi4p3wwfsyzgp4w7p53mqi5gbl4qcjj7iz373mmy3lj";
+"uwa-pif-1.0.1"="1ia1yv0mfxqrd61jy5qqf8cgpk3jxq7simpd74m7zy27sx2ywyg7";
+"uwa-pif.doc-1.0.1"="1kl9scqzc4yyvi4b1rghr6lvpvq5587bfjl207675jps4gwcqhny";
+"uwa-pif.source-1.0.1"="04zs8241iaslw7a43d9pk6scb9gd65dcjmv2cd29jf98ybimy1m2";
+"uwthesis-6.13"="0x6j9savd25v7s1nxzs0yqv10i1bbd89pnb0ldjmwilrfr78yw9c";
+"uwthesis.doc-6.13"="1plbn6dkqwl4bdvsyskzylww9j8akxh120yrnkfamk56ij9dd0py";
+"vancouver-1.0"="0rlxr8q68lrv4zshsbzdwzh70kfmqxzcn0siy2x770riyfj3f3z3";
+"vancouver.doc-1.0"="07jwrms24pa30bspmaljs447cphp1jaqjpdnm1j3qvi0svjr112h";
+"wsemclassic-1.0.1"="0zpqx8gi2yf8cm5rmvchz0jprfwcc0gjkwcrygrvlqhqqn7qmc07";
+"wsemclassic.doc-1.0.1"="0h7vz6pza8bv8y8ihfplbsq8ip9ds2z63s7j7qh84vf325ci5chm";
+"wsemclassic.source-1.0.1"="1522cvwkw0ryvhgdqqd7k8lrbrayrmm3h31c77v7x8a81cry2bj9";
+"xduthesis-1.00"="08cxhw5lhklv7vxl30fhwmlgq4kmv53a8qppcmsap1v8jc8vjrdk";
+"xduthesis.doc-1.00"="1j8pqz4l85qiziry85w7a23i6s577nb2cpbq4v5jgvp5l8x8lhzk";
+"xduthesis.source-1.00"="0zdlq46z2l3y5zydal9nsawv7nhhp113hdia15d9fd23j8gq4jdp";
+"xmuthesis-0.4.1"="05z3pbc9gqfnzp4y4a5p6bmprsr1r63w9l442hgk3pshswc2dflp";
+"xmuthesis.doc-0.4.1"="0dqmbdz0ydlq1hkz0s3lr12sia1qj7p912carwq4pjg9rrw98z7s";
+"xmuthesis.source-0.4.1"="1c3a90gpb2siww65yc2l3kf91bf5xvxk9iq1s9cnx1ngxjbs7835";
+"yathesis-1.0.10"="0ylbrqn9lap8348gl9x6qnjw03lpqcgny71nwql0vpa94l9zzl5m";
+"yathesis.doc-1.0.10"="1qcf8nkq0kjp1hjlbs71czfsm0ljgiv3pi5n5n87ffrd5hckf3mc";
+"yathesis.source-1.0.10"="1iffkz83jnw36p3q1v17rf7wkm6csna83qlpsscm1xqnfa1b4h6s";
+"yazd-thesis-0.3"="1bhjqd6k4lqk4sypssmrsjl9lqrbha9d0n42qbaq1mg5whpl2b8x";
+"yazd-thesis.doc-0.3"="0krsm9s3ym6f3d323scvxn8cf1wjqppglhmzbxwn0cpjq5nl01pg";
+"yb-book-0.1.0"="17s46ps8b9ash6bnqyggr6v16k8hinzpfk4556xvs7zz0i75y3l0";
+"yb-book.doc-0.1.0"="0kwh73z59p8c5mmd84akzbbngpsb3mn475rc5gpvdibwqdx4ml0q";
+"york-thesis-3.6"="04c8g1wkl795caadm8kqfy6kdqqgwlk46lijpmyiiykbb8z54wq7";
+"york-thesis.doc-3.6"="0zp6pfr3giqm4nbsidg06q0c3x9gr4bk3g8qq7wxl9a2pgk3z45p";
+"york-thesis.source-3.6"="0105amrybkm78pwb9hrd7n8r69sj6lkh1zm7c9sskibb13lqrk9p";
+"texworks.doc-54074"="0n0ydn8v42q3wcxmhjv5nwmmzf5yfg77qlc1v5bmkpb04dn4055y";
+"arabxetex-1.2.1"="15c8nmmv87x87dbjwm1q0acf7pbbh8w9gpiw77fs2i51gab592xy";
+"arabxetex.doc-1.2.1"="1ns1y2lf87gspaablh4lm3kj33ggpfp7hcxbdv4vxf8hhfc4pp7d";
+"arabxetex.source-1.2.1"="077r71723zlzfjmc471a8hbxs1v2g6j2xpiim3g2klxsj589bxfn";
+"awesomebox-0.6"="0bjnvgqj4g1i6djzzzdjdrnlvli3dm1v2w2mi59s5s8pyc5pag60";
+"awesomebox.doc-0.6"="1m1cjic1dqf2zvym1ma83xy66b5irqma2fb6fy0qnl31f9bfg6x2";
+"bidi-atbegshi-0.2"="0wpwp2fr233f0pac6llb5gmhz2ca41yjcmkqdil6qhpxscfpqizg";
+"bidi-atbegshi.doc-0.2"="1nzg4cgdhjjsalwml50xl7ac25w0qfd5q18cs8viicj7bbjp13wr";
+"bidicontour-0.2"="1yj7vl5z4xh8i420y1ycz21rw0yy83z0v9nlvi8k3ph2qis7lp8m";
+"bidicontour.doc-0.2"="085xfi5w350vbp4vnq8kgbilnz3jxwf4g0incvziy5hxh4isqirz";
+"bidipagegrid-0.2"="1nh14lla3xv9zikqqpnw7nb26kshjd186ijlz9snz19nkgddq28x";
+"bidipagegrid.doc-0.2"="0jgd9mfwar486gl7imm1m87a167c06cdhxg9qqp8m8nk6xdys8f9";
+"bidipresentation-0.3"="0kpwhs3dvmjhpv2n6kjly5cpj56gnwv3iyhiiwffd4bphzyrnyjb";
+"bidipresentation.doc-0.3"="0hp0zbr5mpwsrd4rh3rc8qmy4srp93838k38phmsm6dwgqkda2z3";
+"bidishadowtext-0.1"="0jpz5a5q9c9c569ssyzk48y77msvfkd5csdvv0cd0r62ivrai5jh";
+"bidishadowtext.doc-0.1"="1bcbz6fiydj6dx8xzkrdsrm2vgcvn1jj4fk2jh1333la6rygvvav";
+"businesscard-qrcode-1.2"="0xv56yqqj8y4270955srbiw7qy8bm9r3ih0zazlkrxnrxyh82jlk";
+"businesscard-qrcode.doc-1.2"="0nfvak5730q4ci88dyqln97ljhjbwxn3gk34rq2b5rk5cy2inabi";
+"cqubeamer-1.0"="1r63ahd6m6ll0phqaxc02hnbrf3f6xjdghrhn7wdqxnf8n9k34ff";
+"cqubeamer.doc-1.0"="0rgfjw69is9i06blv1dr2ki6d8lgfwg3w57r3620r7yffj7z9hpy";
+"fixlatvian-1a"="1qm1jj803a7zgqbjn4q4sg4mn3pvd600pfkqabjvp0ck24r1pw1p";
+"fixlatvian.doc-1a"="160bb2khxfhl4g48a5cbj8xdxslgxvav1c0wiq3w1ajla278qj28";
+"fixlatvian.source-1a"="1zfdr8kahxgkhxzg925lgls50prcgyp6hz1vhis1241f9rd6r3qs";
+"font-change-xetex-2016.1"="1xjxrpqfxll7wfkgm5ksjfavk7zr5a36qfjm5aw5a92wgqzpmbrp";
+"font-change-xetex.doc-2016.1"="00ikhz2nafa2ck1j6vb564ij61lnqa64l9xnl4h7v12g11j0h2k1";
+"fontbook-0.2"="12dcha7gkyl4ycizd2469i628l8qvh1xzacg7bv7b55q0dip2hlb";
+"fontbook.doc-0.2"="1ywxxp2ygc6xjrjsmq1ax4p9v0z3hpmbcgsnqm3vdnnda1c0gn33";
+"fontbook.source-0.2"="04ny0n1wgs27ky6fpf0i8ivhkj6ypad537mlx7rz39kkjpl6mz96";
+"fontwrap-15878"="185mzghp8xckdq7z6cdwznrg1pswflvfy61bhsnpaxx8wagny1zk";
+"fontwrap.doc-15878"="01knmxqj88g87ljvxmf8rr72i2gh9qdmx7zsbwyjmibiw71l6pcm";
+"interchar-0.2"="040zhi6rq7l8s04zcq2vfxricbvakkxnx0bzihbj1ss21pmyrv82";
+"interchar.doc-0.2"="18lpyq26zc9b2ypcb98k578wyg2fp1fllsfyrp67b4v9lnz1m7q6";
+"na-position-1.2"="1amvifgadhq73avh1dq9mj2v4s5r3hlr6a3z4wcbhw32jd31ncbx";
+"na-position.doc-1.2"="0pcn0r0p0z7lxyfsvcnl9skm5aa5xi6362vydpx9kv8m11gl7pjb";
+"philokalia-1.2"="08z5hrp8a0551s0qfj02l79cpkdnsll5k60di132addymsl2p0lw";
+"philokalia.doc-1.2"="0pgy5y3b6ramrkr8r7bvw5byviy50fprjsj4cj5h3l888inj8kkx";
+"philokalia.source-1.2"="168r0ygbvwbwxlqvjqqma0q3w4172jpif1sr8p54h70crqx2310j";
+"ptext-1.1"="137amhihk598rhaf0qmbahd9spqivzqrmi53y6q3mlzhlrxg0p1r";
+"ptext.doc-1.1"="12crg85znvmpr5yhvr4yr6riw037zwcpwpavp1vb1nnd9zy99ya5";
+"realscripts-0.3d"="0ph678nf5k03xl63z66gkmg5f8agxy201y6bvabhdnb1zhvfrfmm";
+"realscripts.doc-0.3d"="1kmlaym3vxb9mx0jp7wvmsk13i30wyyazhny5zzk14bwx8rk3kf4";
+"realscripts.source-0.3d"="1qzqr2q2bkq4pchin1xivg8gwx5qkgip4kq74rswfz5a5iimyh0n";
+"simple-resume-cv-43057"="09xsryzpnq33wja6fkrxy4ajrci6xcn0bx0mbsw37h0q0h65rp9z";
+"simple-resume-cv.doc-43057"="0gbf0rg3v1ivw631yl133iamh7kadclr089rby72al50xwnbi559";
+"simple-thesis-dissertation-43058"="16byfnhfd1j14911xs1448yampvvplxy8l54by4qwq01wp7pjjmf";
+"simple-thesis-dissertation.doc-43058"="1wrxjkgbvps1wyicwlhkx59xwb3vcy1n0wf7r7dllw11r7hdg6f4";
+"tetragonos-1"="0l8b3kjk0jk70mmmv37zrdb16id6yrjvgsgsmji7pzdqiixy7jh5";
+"tetragonos.doc-1"="1g2zcx3b1pfc9dh76p5iprdgsxp0yndp7rn5ksbq4s9k4m7ikpzp";
+"ucharclasses-2.5"="1c1c285qhmj6g2j4s3a7rlhs9nznkxw7b2k9w3p8ykz8zfwnqgnf";
+"ucharclasses.doc-2.5"="1qs0dcnv5533r4pgk231fpika576snfc5rdykvp7g5q0c1mqc28c";
+"unicode-bidi-0.01"="1prl0i2a9dg5yc2yl1x1k0zmz9lww051w1zwy8cbyvk3rd765a72";
+"unicode-bidi.doc-0.01"="0ab0gym9sjllmqdclkjfbc4fh9n20999mv7z2gylfybirm0n7i7c";
+"unisugar-0.92"="1dx088b21apj2rpij4pxa9srx29irzsfmlp9vn8fjpm1ag60md98";
+"unisugar.doc-0.92"="1mnpbd68i0112hhcgiwc2j5jkwffrfdqlrdl896ybd0cpwq5d8sp";
+"xebaposter-2.51"="058zna623x9x87yb9wgdkc88gigwapxbyff3dwsdqaam28rakm0h";
+"xebaposter.doc-2.51"="1lgzp70wr3rfw552dniwnlqf4bqpjvfmacy6gjiyj4blf3wgni9p";
+"xechangebar-1.0"="03d1wmvldpfk6y52sd2pvw3ipglbl8cc851rqlz5jgk82c2frxg0";
+"xechangebar.doc-1.0"="0cnc62nff1vljwkk6gb6r0cwxq17b2yl4v9ilb7kxapaa6apbp14";
+"xecolor-0.1"="0ws34zr158nkpghiwlvigb44zzi5qymfqxzsnayw78i6zpqal55x";
+"xecolor.doc-0.1"="0hz9kk36ap7szbsd0jp6a59lnaxgnmwl0jg8gmz8s1pjf77jf5ww";
+"xecyr-1.2"="1qqfdi6pxlkx6pxi2q61i0diwmsy9n95x4bvj9r3pgaf851p7cjx";
+"xecyr.doc-1.2"="08b2xahg1agfczvqpdkvi3641g3pd2w2yc245bnyk0nccfcnf3k1";
+"xeindex-0.3"="06ipq7m9mnal497j3awdspqim3fs7v695pf2x7v4l92vqz3hh1sa";
+"xeindex.doc-0.3"="1pa1fa8vjgbzmgphx3fmm93dd5wr3adxrrld5xibk2qrp7fgkbsr";
+"xesearch-0.2"="1rszh3svj87vw5lskxv8bvnkzzj6k9rbikl6rr87ry9apmymsklg";
+"xesearch.doc-0.2"="0cb73d981aa0s0hg2ynrg3zybsaw28f5b29zmqgvzqidi8vxfbhl";
+"xespotcolor-2.1"="0w7nns136gfz1dvq6iplk0jbza85lpzlpvsxf1bzjhqw5sk6v4p9";
+"xespotcolor.doc-2.1"="1fai2v8x4g9cmda5m6nvf6g8w6qg64qfdq1rvjlz1qiqmy71c8jy";
+"xespotcolor.source-2.1"="14yachqawnmpldkwc3f3q4krj2sr1kad7wzy1lfxwqggvpbdcjkh";
+"xetex-itrans-4.2"="17476frf0r4w50bfbk6g6ic40kv3x3i6qpl642glb3vyzyjd5dbg";
+"xetex-itrans.doc-4.2"="0bs67djfa9pi1k2900y2ybnv6lgjd031cyczks0jjzfnav2g4df6";
+"xetex-pstricks-17055"="0i37r4lk1l36cch6kjz12mfzgpg6hd7n903fzbj9h7mwmjwnrylk";
+"xetex-pstricks.doc-17055"="17kiv64h94hf83ailbw29wf15r7gv9yq06h3l53c38rn0n20vdz9";
+"xetex-tibetan-0.1"="0r8xgnagsqrkxr0ij0mcv30vhf7c3amyf9lk895lgwsvz6cysmma";
+"xetex-tibetan.doc-0.1"="0p5l36zb8l3h4x8sjk8cwxj5psvfa4j0kg6jb93sj1ln3yfrwfr2";
+"xetexfontinfo-15878"="1sc0lm5w94320f5abv2hw2bzqprhk73fjv2lkv380fgkpdfi7pdv";
+"xetexfontinfo.doc-15878"="14mc9snykdwzcmq013bs8vzn5w80lblpg05jk57g7fl2z9x6xl38";
+"xetexko-4.1"="0ps02ca5zbxr6hqhp4c5x9yvpqm9mjk51apnz3r5x0qihb2ixn8r";
+"xetexko.doc-4.1"="0n6hz2x26kdbq29k5m0pa9ijsf8llipl4dn0yxykvhvryglralgf";
+"xevlna-1.1"="16ayk70kxk2s23r6nxva1hkb1z7aw7zz1zhmcis1bsijx657kw25";
+"xevlna.doc-1.1"="09aaf3mpbh07mix5xvr20zybbbrbgbwcmkd5q0rfsd0ac8cm72fh";
+"zbmath-review-template-2.1"="1zyll0lpd3d2cjizq6f2zxnb1pmdl2qkhd1fcm9f9l6i5fqmjk15";
+"zbmath-review-template.doc-2.1"="0ymvngll5znvw0i4y65imidy21fzfzsdcz22i2i8369k1n15x6yh";
+}
diff --git a/pkgs/tools/typesetting/tex/texlive/pkgs.nix b/pkgs/tools/typesetting/tex/texlive/pkgs.nix
index a0714b2fbad5b..456cda5c1b33b 100644
--- a/pkgs/tools/typesetting/tex/texlive/pkgs.nix
+++ b/pkgs/tools/typesetting/tex/texlive/pkgs.nix
@@ -53,13 +53,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "aalok" = {
-  revision = 59602;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "9e202d3c3e33c38c1cc7ce5fac9ab9759c2dc684d17c9b450ade236ed392acda87b11a2d028c65da74c6fbca2d962a09b2bbd854b7dc298865791009ee18b1b4";
-  sha512.doc = "db2a25f5a83a7e2f85c439186327a7a663156631af38c6c9945a2783b6b7d02539f762dc4c946497368f828f615c31a6a4d392ed78489111230169e18357a78f";
-  sha512.source = "856e4b95df45104f0c8e2112e06d2ffd6b878312e6159bfc204c875db1e2c34722b7c9fa4e3e0cc344300263b1639dbb26a43c7db26dede6532b3051f7cf41ee";
+  sha512.run = "03d1585e9b92e26044066d1f5b8d2dec0ad298627cc94fc1ab11e45307f62c573934f1a2cae6c5318a9cb377834d4f5a490144cc07bdebd9dc22cf298315630b";
+  sha512.doc = "702145c708edf984d24153822036acc0b563038c50423af0cd3cc6b008b7eb3bc8d67eddaac350ac6557650177218260e5adfaf0ca5807130b0e23ec7127470d";
+  sha512.source = "b452ccf38dfb3436aa8a6907798101621fb2f5a66077cc24b316760013b0e665ef26d69b444c27cc8521dd6c06828be8a832e061df74bdcc70577f262ae987c3";
   hasRunfiles = true;
-  version = "0.5";
+  version = "0.6";
 };
 "aastex" = {
   revision = 58057;
@@ -132,12 +132,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "academicons" = {
-  revision = 61159;
+  revision = 62623;
   stripPrefix = 0;
-  sha512.run = "99d9fb8730b61fe18ce7bdc74777f259f6d322895909dc320555e0db9543c6daf63ad3dbe6231c7f43dd531db3b6dab9cd795a37f97ca8049156235831e1761f";
-  sha512.doc = "d1e82a45769adb3f000a100523f38a8017f3d060f28cd618792b6ff3df8d782e2fa473c0c7a5f2df5e5c83564aec6db290ab15f0ae414cd82977d1eb6d3aa065";
+  sha512.run = "aafa2fdc63da4dff2638a7af76258aaf2bec349658d12d40f69dcb522b6be7a562bf05bae2918e6ea86c082657779cfd2a1a1a08620364ffc53ca5d57f949f0d";
+  sha512.doc = "e72afedb8b48d6840d16741e87254a4b61003d6865a1c52fdc46550f6e6a93f059f9a3a6319ee9e1e77a4382c18c96821fa74b44734fe632ef2e02ec0cba96db";
   hasRunfiles = true;
-  version = "1.9.1";
+  version = "1.9.1-2";
 };
 "accanthis" = {
   revision = 32089;
@@ -189,13 +189,13 @@ tl: { # no indentation
   version = "3.13c";
 };
 "acmart" = {
-  revision = 61233;
+  revision = 62157;
   stripPrefix = 0;
-  sha512.run = "1054235daaac6026efb3592fc08ac68095b61ea21bc884ee9af4142bde1e7527864eb64325c21a3bab404bea320ce5fe35e9aefc21bded7360ec43e83bb33f73";
-  sha512.doc = "f98d64df2f1cb7c82fb1cd4b99d3e8f1ca102f2ab6dd55ff8da92c42b889ea62dd0269b0f584d251ad5c639cf11ce24114c9409dfa65551b267d1140af0b4b31";
-  sha512.source = "8373736287dbbbf0919169c0b4c4e9a256eea82d9f54d821f1cfbddeae7433ece647e931374538a4d1545d626e08c2db6f3c6510f9abbc94189be651ede1bc1f";
+  sha512.run = "792dbb8af66fc0e540151ddc3f7c578a4571d077f5249eb92f911903093f05b618bb7ec9323ff0e3d56a1968c079184238169a345d5ee506c4169f4ee8702431";
+  sha512.doc = "f13918e64c7e568cfca822bb507193c628845a88879e9f85e985084c40979007536fd33b166de782bd04d20b28b117bf993defcc20ae0e3e20dd427a51506d48";
+  sha512.source = "41b61a671953968898f6483ce5c260fa732a7df69f8f300b1ec85508af92f9b595c5acf01b95e26a2445f2efba068a1925267143647b8c733e36f6504bf1747d";
   hasRunfiles = true;
-  version = "1.81";
+  version = "1.83";
 };
 "acmconf" = {
   revision = 15878;
@@ -207,15 +207,15 @@ tl: { # no indentation
   version = "1.3";
 };
 "acro" = {
-  revision = 57447;
+  revision = 61762;
   stripPrefix = 0;
   deps."etoolbox" = tl."etoolbox";
   deps."l3kernel" = tl."l3kernel";
   deps."l3packages" = tl."l3packages";
-  sha512.run = "5f0b03e3ceaab172a0c92e7f29795a0878118a07be27f079800703c0f59f127c2ca09b53922d7ce3f16ae772ec28528a69ac407092dccc2f5bb621460e6f38ee";
-  sha512.doc = "5d558296f2b0a4442b82e49be12ae1f3dc80d40012d138ce4ef12ee8e22ef1b6d934acf7364c59be0138077311e8dc7b5bfac42478aa68a14750a6c41de1c6a4";
+  sha512.run = "ea08c14724aa2bef27b7b01d94b73330d0cfcd305abb083f028744fb9519f72a86fc5020fa0c9454253b77a921e31da5e512c31b5cc9b0d26edb1bd64723a2ba";
+  sha512.doc = "222af2ac3e1fca522eae70a20ac6e3d24bcb3ff30e2ea9e20232c331443e8b56da6ba6ce140c9b3451bedc2a38fd04e8c229f0c86c390434b1d93839ae29cff4";
   hasRunfiles = true;
-  version = "3.5";
+  version = "3.7";
 };
 "acronym" = {
   revision = 54758;
@@ -227,11 +227,11 @@ tl: { # no indentation
   version = "1.47";
 };
 "acroterm" = {
-  revision = 20498;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "fbcd24989570b083ec51365b560ad2a082a136fc8b2b57aaca4a03059f66dcbdca1efe39c959c8f1a049fdd978ab58a6920f914589c242264b9d803124d0e0cd";
-  sha512.doc = "603375e44822841b1dbf52d7aab0c91c0ed36dcdada7e6fab607ba805fa896473674123a2594714fa0f698c559570431f09ec55ca41720586fd522df24453253";
-  sha512.source = "e289d4cce2bcbb70b20d1f59055cc019453e526ff2c0bee6e5a2d04573060d1d4490d89ec717fe55e4dd3754170f794e60acd453b21b884f595ea56bb6f95adc";
+  sha512.run = "f8ce516ba2de1367bf414061e14c260be31304ce93693a95e6b9ed29d5cf170bb041248eafb76546cfb1547e687d07ec51333177405ffa8a5c9ea76070394832";
+  sha512.doc = "66610cbd2e77d8f9b0eda3c61382dc1a8436169017d363a5716e0ad1991849824a1958552af4a14545dcac37191302c0907b505884f7cf1c7d83f8087d888b6a";
+  sha512.source = "531b5768a7312bd40797b6cc67abc58050481ef97455219698018a635a298f542506669956211dab32d51dce2c86f3d3d6a2e913c4a0f81f072035a63470e5c0";
   hasRunfiles = true;
   version = "0.1";
 };
@@ -671,6 +671,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.1";
 };
+"altsubsup" = {
+  revision = 62739;
+  stripPrefix = 0;
+  sha512.run = "38a5daec9d8d9fab8a242cc6239986e614f1b84a5f5ee9ecedaf3f080f5784717a141424a65ed38010adb1b0673af5d351ae5c87e13e831008884a7242b3d14d";
+  sha512.doc = "8c25604a8606d8d1fecdee3eaf3c146ce5f214f56aaf419d9b1dde462f6f26fbc2ec23862081eee3d4e86f70ecef2ed5a1e5358cc92baaf449ce8833d45153ec";
+  sha512.source = "84148dd309341553986c4a4d6e53ed181d62e41b627a96dc2c9a6b7dd5ae9d7fc0ba94d5241c0b2d39513c44933e2b9d4a720b7c671c45ab43a290ebe1c08af3";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "ametsoc" = {
   revision = 36030;
   stripPrefix = 0;
@@ -728,11 +737,11 @@ tl: { # no indentation
   sha512.doc = "8c08813abf65f00b68441d1e5cad3eb4a16fc1a77b30e10d96e22f34d6af547804af4d47b62ef0dfc895e2bc7cc5ecf7bc08d912448fefefbf716430c4502a64";
 };
 "amsfonts" = {
-  revision = 29208;
+  revision = 61937;
   stripPrefix = 0;
-  sha512.run = "ff1256ae20f435327c12424613a15aa8f207e9133325e3a823ca7ef9951b8d52acb56cc69cbf9f3c0860ac43c9a74ae54154d1cd956d7e25612307dcc6e74585";
-  sha512.doc = "fe0df1a9efc821e21adc0e21bcfaf2defb1749e3206d7dac8cd9b667747c37303cb2c69283a89aa8740fc3e08e8803408903a2a95eb0b91e910931a8333c2fca";
-  sha512.source = "49a99f519fbba1ae7ba91ffe392b4c1bf7b9246ab573a4f2c8b41fa252f080efe66c5df2acc36a5ea9570e51d55890bd89565ec2174ca7aa98980b49aa060a98";
+  sha512.run = "6a9f80bc8b6b2afc3ff6ad151a290743d37e10ddeaf7efa969f3fec40cab0492860496c7bf0abeb410124aeaaa15a53640017c8d12b630e68c59dfe186519e52";
+  sha512.doc = "fe0917bf9d65d15155f287626edb17d692db7ef2e888fce30b867bb0c873b0166949b3b5f3965f70b6b237d7b874a7fd3411e53b87368acc7447dc0e8bda55f1";
+  sha512.source = "4145ce58620f84133e8d7a7639fe376631c92398161283c69c9d1119c14e4d404ed067f2aff2fab7cc0c2249d1fcdea81591b45a1cc72bc08835b99ac8a5a6f7";
   hasRunfiles = true;
   version = "3.04";
 };
@@ -771,11 +780,11 @@ tl: { # no indentation
   sha512.doc = "814539a2a82601c930097113a9baca5166fcf68d1b0c4dcf25d8afa8991e667619517879bc415ff114b9e86664b9ff5e25a7bcf1bb04160b9297cbfabb4a639d";
 };
 "amsrefs" = {
-  revision = 30646;
+  revision = 61937;
   stripPrefix = 0;
-  sha512.run = "a0993aa374bf845952c934a421d2b344564726207245102dec82915a3cddf33ad8cb1f2d4d48d71ba0263fae0c24c78f0cc21e0b923a875af02d12c602a375d6";
-  sha512.doc = "2c472849194fb72453a541ba443b2232fbf876cd2d4071dd6e6eb65603845ac9715629bbc7b1f44dc0268a809a1a5d74a08f0dc27a81e9b30787a44d133bdd57";
-  sha512.source = "9cdfcb0e841f6dcfb23c5fac930d12cc610ae8002aed13a4867bf384fa0f177f834cb58482647c2daf7c52c0267f85e8dc4f93575b14fe58e2a634307b7bab49";
+  sha512.run = "01416fea668e3717b14086199280582d7547cc7c555e19d2f88b7ee94dfb6863719375a140feaa5ecf7461c6d6c6f0ef52bffb544ff132b34771f11556ecdf09";
+  sha512.doc = "b704ccb7bf8a49c141277b240e08ed7d22c71bdb91d625997a726b25ffb2e8f494637cd9ac7cee031f9b45476006441190ba95331e32c4ad3af4e25ecdcc6f6e";
+  sha512.source = "81b8aa65cc79f08133a6390915ed7753db3439448b608ce04330e23c849f876ff2242403b9bb3e08b9642cb0362732adbcefcab9640e75260548dce3938baa25";
   hasRunfiles = true;
   version = "2.14";
 };
@@ -798,12 +807,20 @@ tl: { # no indentation
   sha512.run = "17631e2d6306887236f11eed586454a784f256c36c14955be1eb30377f1f73b189686b37ba6c95188fda2e0b0aac9a1f40469a32bc7787b5d4c244de9a01ccdf";
   sha512.doc = "2d35f87da43f957d7ec3d1e61d052d14b4dc207207fc2e6dc4de08b699e5211db17a84f0305888294ae163691e4dee2d067fb1c3a29fadcc34214033fe8e22eb";
 };
+"andika" = {
+  revision = 62157;
+  stripPrefix = 0;
+  sha512.run = "df0bafc3729979847a5e1c77827db96870822ebf5e8e7151931aae65eb6a29e48d04a1566b118df6ea56900fad3c07761cb2fbc4dff913423ac202233cd01388";
+  sha512.doc = "652f67d8a1ba113ea47292cd560cc71d298b480697f02d56f3eafe68eff6125efc40d7737bc2d903ac30397a6c00093fc080ea0f5c0c02fa94c36feefc4e879a";
+  hasRunfiles = true;
+  version = "6.101";
+};
 "animate" = {
-  revision = 61019;
+  revision = 62123;
   stripPrefix = 0;
-  sha512.run = "e3f2fa0de9986b7cd50088dcf4c325636e4b42d0668757a6e86ae60caf4550da231f9b46d4a5e35ad1646e63200949923c60a8ee5f9350707bd3280fa0d63b9b";
-  sha512.doc = "9703ee826860bc0022682a29d9e192a09331ded997d6f650706dbd466ee74108d9642126ebe989f10102b5e34be4b9121dc146f61f8a27045a08429fffb90cd6";
-  sha512.source = "03710b40488d70d07653938e3ad3fda38c3373d084582d1c3d2f81de23f3fb5f1e0dc3475a5c33f489af714615c6114ecc456818e36a18aec5d2cd091813d21c";
+  sha512.run = "30646388abeb2df2f00f1ddb03a6b714a965ce7ed0320112ef171fd240237cd83d014456353b1c2eae6a570d577a647bc63e7b56b2e7718cddfd6369f4fa7b9c";
+  sha512.doc = "4000fe2ae0371db3097d6280231ec7288f0813cd4a48933ee1f35ba234968ac4d091439c5448c91147ce4d51c6eff29383f76c022cec8ebb2ec30c0c55100129";
+  sha512.source = "64a149d70608c1867d09eebe6acd454a0b5a5655eb5b398ff013adadf016fa4a35cd091e86fbe01f996d8844e7f5ef20abe1e8c7d4ef933a1a7ab100ca4db73a";
   hasRunfiles = true;
 };
 "annee-scolaire" = {
@@ -955,13 +972,13 @@ tl: { # no indentation
   version = "0.3";
 };
 "apa7" = {
-  revision = 61110;
+  revision = 61647;
   stripPrefix = 0;
-  sha512.run = "12d161bcf16690019766e5bdee9d043dde811a7983bf0143d23f58c28673257463e03b617ab3b7d22d6e7d20753b32c8dd3ba62b94c7ce0b62a8c5481f0f668b";
-  sha512.doc = "71c6326f67344b4bc48a3e79f3ba5e60a170634855fbff881da5d58f527cec77c1fa9b1095860f23b82fa8b3af00a92a2b2dd262d96741d57bc5529f10946e6f";
-  sha512.source = "594271b545da974f3a8fd01fc31054aae21fef5b5e57d28e08284c29da0fc1119aba122b1506c9c169d2b262344974e2f10bc614e581765ad5617111f30090d9";
+  sha512.run = "6163ecf805b3f07317a5859ed162024bf5a3fb2a9a6b5b2dd74cea849c497728c8d3a2736f2a849cb42ddb8409430b1135b5a7b57724d36bf84d0f3a3079de3d";
+  sha512.doc = "838f5c8aab9caf483cdc84c2263fc0c1b8b5c2d6cdb62397fc5fe96970446b1111118168ad94bab141edc41d73ee3805049d16d4ade310e9e8ebd2237e6f97e4";
+  sha512.source = "a747cb984ced7b3df8533f5add1091c272abd4ac34ae8026cb6af493fe0b941392efc8320c58b0e16507d672de9fdf3b08e05c3e07323bcb82da29d02fc6dd74";
   hasRunfiles = true;
-  version = "2.14";
+  version = "2.15";
 };
 "apacite" = {
   revision = 54080;
@@ -981,10 +998,10 @@ tl: { # no indentation
   version = "1.2.0";
 };
 "apalike-german" = {
-  revision = 54080;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "8e9a0dd594dce98e441f256efacedecca7afddcb3d8b6bf64e6490aba74f1f3584c71584b7ec115cb054eb425477ec801a20c84ee75aeedbe588ad6302780612";
-  sha512.doc = "fe58a0f2be0b8793ef15f07029d1b81232046b92b48a6d8fa00032bbdb482aef3216ca80f5d9c80424f32d75b8d57e4e4e74b5397711209e18b576f6860d3b33";
+  sha512.run = "46f79d5e0b95f9a89611abeb1797f08be355524c4d28f66e18aa3bc267f76d80b6ab74fcae68a7ade731fbb454cd10334107b6c3c293937f806d891812c37a00";
+  sha512.doc = "dd0d69c76c6e265cfc18441bbc391d98710474d40d4c9e282ef6dc9aaf8a51e90458941e9208c3a8e01ea026d33b5a10b7c57d147fc3f72c30ea5fec35917c9f";
   hasRunfiles = true;
 };
 "apalike2" = {
@@ -1116,12 +1133,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "arara" = {
-  revision = 61370;
-  sha512.run = "2d32be197013bd1280c5bd1475847e653f29549c2776b3cbd353796a0c2eb86a08dadaa80b69f7c40a68a5670b69e33ca44e4c0a468f84b336a06959f2c05a11";
-  sha512.doc = "82218fa054ba54b2e3a33f85c236970a42495d3948a89e0385110679aef541b4cdeb33f05cf1813a83d3218e83ebbec4176ad5ef006100d23b444f749c19b70c";
-  sha512.source = "487aad824c0feabaa06c2b3a2ab3e144c0e5cc1da9fa77d069d2afa1be22c186c7b7a346574cf37d5c4fc69f8253926ff00380947d717e982aaed86d174d2400";
+  revision = 62339;
+  sha512.run = "ddba071cdb6e8748e8e605e8d2015844bdc3cc8174d5a12aa7674116d9a9ff74ccc3b5199bd34e4d931e10025fd13310c50e55b60e0c0fd724dad635a64ed230";
+  sha512.doc = "cdcd6ef2219f49b893a52ad9b6f4a788771bf351bd29de843f7e4202e3b8b1fa7e7d6a2e6e59f4a59ca485e41e9a2bb48abcc350d46578a9fb1314c7d78c972a";
+  sha512.source = "16a882d34625b68065a2d6862e5089b1bb71fa17d504aab0d7f88710f53e83abe31c9f13cd682c1c01ff5d8655e88d753c7300b055bf17c02f8052e558f1aad6";
   hasRunfiles = true;
-  version = "6.1.5";
+  version = "6.1.6";
 };
 "archaeologie" = {
   revision = 57090;
@@ -1201,13 +1218,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "arraycols" = {
-  revision = 56997;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "68ee9188b13dfd1e45552fc0845b80df2a497a00af9d70eee726694708b214b9351d7955819d1a9e21deb6873cf5dab90416b05a58ebfcc2d31495992bc989e0";
-  sha512.doc = "43c31b4a1cf254891226c796193415d81d299cb0e831e617c61d62728b6bca768cfd813ea4b3b1fb15a702411bebf53bee36e025bf8ae8c287cfed51b90710d1";
-  sha512.source = "65a24651f3cfef479b4027a0e3a687b43016bb02f67ffbc69071f57b43914c4f3cb5ade46616b7841df948562ce3b8d9eb051739280181205d68f64f3104b8d8";
+  sha512.run = "3f97d2424091e5690feb3e1e290d1135332ab146019c1b290e8c69ea7f048ecd779dd81c9b3d3f9a0d7c919f1bc9bb949bdccfb3939148a426b336cd22993398";
+  sha512.doc = "bab50fccd4ec8bbcc64684208eb8ad60b17ee55b534f287d0640562bbe1f1e2ef25698ee2fb80baca9e984e79e36fabb8411e6fa330bb33fad680b00ede665e4";
+  sha512.source = "e19bc42fa9a0d2bdd843eed789275f4d5a987adf9061535090f9d56ed182a19bd3950b10730c5cbe640f0261b545cf09212cb771b9a9a44163c6fc052b8c08fd";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "arrayjobx" = {
   revision = 18125;
@@ -1342,20 +1359,20 @@ tl: { # no indentation
   version = "0.2";
 };
 "asmeconf" = {
-  revision = 61412;
+  revision = 62716;
   stripPrefix = 0;
-  sha512.run = "17ae6017f0f6535a9448592a7f515283fdf859453ee93a7bc20cc5b9b4dacb0d9201666a9035366a2344493131a931635201921feb8888d49920a924db6b87b6";
-  sha512.doc = "604fb5e989c1cf9f8007fbe04947cb1211a2f009e4f07b96e2c1435d4dca295db0bb05ddb8f1c3e94c9326c5f9b8475d1445da1b305dff079ea75a8475e58d08";
+  sha512.run = "bc9540236bd97f6dd430da1654be68a263231d30780c8cc37df6ab2b3421e69709a81f945563a193c2a2856721b1660becaad1c89d002e43d15db23579f69b3d";
+  sha512.doc = "3837e149c7f9c31a4b983ffdef65b849be429c2e7e993ce6fbe51871ccd56ee362b4b20a27062560d5b616ef542304488821696f87f81162a2125387c0faf562";
   hasRunfiles = true;
-  version = "1.27";
+  version = "1.30";
 };
 "asmejour" = {
-  revision = 61388;
+  revision = 61568;
   stripPrefix = 0;
-  sha512.run = "417d78b244f15b4a4687954a8011a7c955f125ea2d04a4cf33585daa8266aece1f02ea5e9e92d1b7c5a2519427126f1881d6275b0e8633a677defbba8a3f20b0";
-  sha512.doc = "dce1af7422529f34bd9451a3a90fdb64784d59d027f2077556b517a00b26e1d8eaa5f45a53950d346fe9f4ecf63d72e655051813a458b8bdaa5552721c202275";
+  sha512.run = "e1d44c716073b655008511d509367926ae8e8a239859b398e776f647b85b154e043694ccaad634a6e127c7e502c0c05b9eb48fb68beab9cd592d88d1c35c9741";
+  sha512.doc = "407cfa6903607440d5ffb47eec384fe198d2aed77aa3662157d31d7fed84f3b30f7e648178401ee44feda016044a3fe5697fedc0f4e6e2a0fe9487c713f7fde8";
   hasRunfiles = true;
-  version = "1.15";
+  version = "1.18";
 };
 "aspectratio" = {
   revision = 25243;
@@ -1381,10 +1398,10 @@ tl: { # no indentation
   version = "0.8";
 };
 "association-matrix" = {
-  revision = 56759;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "1f33388d8d9230fb11dc1318cb9c189fb7c14ef7404193d1df35e83863869ab8cd7f918bef8fcfdcadbff29b3c20db7309026d0ee3935e78db0f5e3365f065ae";
-  sha512.doc = "d22756e5fcb921c6f0e80c6d0f5322dda0be1a52a5de60b2a0d7ca719b4d92e4039c395e06f7b4a6fa080aed59e4c4c30ae9ace8139963943134048cc40e6c94";
+  sha512.run = "da84a9048985e8987d8e528533ac3fa0b307d996e159843ce8a3b3754f697191b30264b21b58e0d3dd9ee6c1fe478d84e92996ed3186c10c6d944a33f21f7db0";
+  sha512.doc = "19eec11c03b3ab612a14ed2e90e850b8d2961aac85c2400d988a3c478b847dc45c61d03654b5b567978fd69d9fd6a2bfd153bc9278f38c121476e9cd098e38cc";
   hasRunfiles = true;
   version = "1.0";
 };
@@ -1406,11 +1423,11 @@ tl: { # no indentation
   version = "0.1c";
 };
 "asymptote" = {
-  revision = 58569;
-  sha512.run = "810f80e2594099f3813ef28d06a4905a0d0e678c16213f2a900c970e3900ad1ba1d72255ef466d847fc03c1ce90db4da41362679e542bbfbf5b0665e194d67a3";
-  sha512.doc = "b2d76f550a026ff433193d86c3ddb284efab9d53a2b6e08e22eaefce9f95966315dce373be813b704b7b8447e5de61e3d12173ad295343eacb1a2991a0a915b6";
+  revision = 61937;
+  sha512.run = "a9182ddf40ee5680aa40801184716c6311b139cf95ff40053dbeea0b8111d918d71265b6a0abf088288429c5f80bfc7b87e1d99126bd29d958a07e0eaa8fe90f";
+  sha512.doc = "f1127c446092846b7e3bfe4dba16c17ade58cee2001af0e30f0f866cf038c60372d0021e2da1ab8a402344ae767b5dbfca5cb76fb61c56f9292d620fc9fd8a92";
   hasRunfiles = true;
-  version = "2.70";
+  version = "2.78";
 };
 "asymptote-by-example-zh-cn" = {
   revision = 15878;
@@ -1457,6 +1474,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.5";
 };
+"atendofenv" = {
+  revision = 62164;
+  stripPrefix = 0;
+  sha512.run = "04a6c644b9235dce6495c46e2bcc093c03dfadf279d354c8b43b81a0b4a14daae71e7105642bcc95025c55ce92094c01292be2fc379e6c0c720aaa9b5a21ca9b";
+  sha512.doc = "22249061d4340939e597d50a5ae4c09f8b4514ddcb0862003ec7fff7006bebb207b5926ffcc0d723190b409435279c815a5880c6fc989294f26098c3db15d1d4";
+  sha512.source = "7b457f3643595f98138aeb25090e7cfc98f2d613689428559aae60898f81d586d509b7124ad3fd77383f9524f8611ac8bfcd361391670cd689f1025cf0078859";
+  hasRunfiles = true;
+  version = "0.2";
+};
 "atkinson" = {
   revision = 57624;
   stripPrefix = 0;
@@ -1498,10 +1524,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "augie" = {
-  revision = 18948;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "e8e40eb1e59b7bbd3e6b042e8c8ed40f604066fff6bffa3b46e0e7b7e5984fb25e880422d392209f6dcae6771339bb49a27bfcc7e9e33bd0b638b0794a5e5098";
-  sha512.doc = "40db247d40e98bba2c79e5adbd564b77e09b52c34e75a41bb1447e586f605478e4e7399a8d294b078fbbe508eafe5d0c6a68b7e3b7c875af85016f72c74376f0";
+  sha512.run = "a862fc140ee85e9f48908e7251dca78f6f328bb194bc1031ce7b521feabc62bb148764e7574341b9ba39a1bc76bb4a718c3cfa45bba7480aff168eb17661d74a";
+  sha512.doc = "434c1d88522ae41e8a41fbeda6685a059fafb8f6cdec26d8737b5f6a6ddcf1e4f2a443ffdffa6b62a74f4abd2ed2e947176f59e64bf5691debeb62d9d54e719b";
   hasRunfiles = true;
 };
 "auncial-new" = {
@@ -1638,10 +1664,10 @@ tl: { # no indentation
   version = "1.1";
 };
 "autopuncitems" = {
-  revision = 61381;
+  revision = 61825;
   stripPrefix = 0;
-  sha512.run = "c23d52218f03abe396954e3eb4685f2f66c4c7da0f57ae8887e4f518fe27134c02eb0e0ffa7a89b7959fe17b70885e0994d165d8cd843c63371c9adcd3228eea";
-  sha512.doc = "0fb4c362a6d0312d2d48d35c0389625c9b73da16271703742fea55a1178407dbe6e10b7568e944935ed8f86d090b6c5cdf9f35557f8934e5f465fcd0ef622308";
+  sha512.run = "3233887b2605c4287e85822915dc26a151dbe0c20f035e723e9f76ea6d390fc139f975f33c549b27b2b2c6abb673e8431baf8ac976c97eb2f15b27ea26da9f34";
+  sha512.doc = "2807e17025f732f5d0362753c3f6e9143565ac19226a5c03bca7137d40aaf405a0325b56b6d794fb3107fc44d686dffc5ee83683c7762c1af62b4fd5231f2a24";
   hasRunfiles = true;
 };
 "autosp" = {
@@ -1659,9 +1685,9 @@ tl: { # no indentation
   version = "1.6";
 };
 "avantgar" = {
-  revision = 31835;
+  revision = 61983;
   stripPrefix = 0;
-  sha512.run = "cf5f4701305bcfe2dcb2c92d43fbf2d0ab3b027b2c9b772926216094532e935cec234866f43135e7e050068679d0b1de5a11833696fd103ddae949458cd03044";
+  sha512.run = "c08c987c385bf9eeca0f4f5b7edcd41570c81f18751593824da8eea770c29d63725bed100fa2ff37a80a5c70086533ddc1e91848d5ddeedec3c5c669907ed20b";
   hasRunfiles = true;
 };
 "avremu" = {
@@ -1708,13 +1734,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "babel" = {
-  revision = 61186;
+  revision = 62203;
   stripPrefix = 0;
-  sha512.run = "092fbe0ad51a12b48d5726b7be1e5a5261d10eb69e1a7c4f45ff3447ef4bed8a8b65833a062c4375acc02c5530c7f11821600b60753bd123d41a2a21f436f6e0";
-  sha512.doc = "b46c03ba4611cfba32a7748c190afc5f0a7db7e62cc170063879986221988488e2f727af1e4948fac70a63ac0e2667bf4552e0be4850bda7e176da466c599ff7";
-  sha512.source = "21c55ddba7bb6ed1d90b3e51fedaacec756b4cd8a3597a5a6c02cf5c921949756021d63f50262482c4eeba1c81b93ae87d28e71d96f2a07f527a92b8b7dcbaef";
+  sha512.run = "d9d59cbe3f170a51c5d0698360674a9812ab8b37c26724aa8c5656c202d79b61e751b06e71cdc6f3494eb2fbd6bbab9fe6880e82b68c5c621fff267b3e3b72c6";
+  sha512.doc = "b39012a469033103419b9301cef42edaca68d785cd0cbfd18a9db226e034f08cdec6ad653676db4f0919c300284ddb236dbc10291d74ce98ce998e61e0f7c21e";
+  sha512.source = "168924d39cd278c3eda6df5e46d4b39cf0695f2de0554349d1fbd28c0e318f8c5962895cb172d0322f026f8852a00274ad90b628bf26cf10b600d1e78815b48f";
   hasRunfiles = true;
-  version = "3.67";
+  version = "3.73";
 };
 "babel-albanian" = {
   revision = 57005;
@@ -2055,13 +2081,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "babel-polish" = {
-  revision = 30283;
+  revision = 62681;
   stripPrefix = 0;
-  sha512.run = "cfd5f27f92e75883572adce926cbcfa9d9248367979c3b3411e6ca1c2d4bf441d2fa790dfff94f0f6001c68f354628334aa0a920ee68900398879c978cf962e4";
-  sha512.doc = "6f12e4c792eda6ec33db820bf3e0c9a0fbec8f07adf413c4c98d40624cbf8d46588e16271e459eedcb37ceb2f89f13c3a9dab89122172fe2b8ee9330ab6109fe";
-  sha512.source = "19d6cd158e48666b843628d0325d0e52ebbe137d28686d8b31199e9bad1c4d3393487aa300179688af5b9f7307eea8376f8ba82ed2209efcf39abef094787d82";
+  sha512.run = "7fb2ecdbd158e44450e79455d9c6644a629873af3c193aa60a27d6aa63b33c238662638ba0e84a77319874fa070e5084c2499484cdf0e5ce46b30164afb4df35";
+  sha512.doc = "50e3d424b9ead34ddec45e136d8639cfb998d0cc15f9b7cb3e0646dc86b69747d939de675f6d3d8f75f2f909bf4d790ee3b576db5283a0711943c153a3723a33";
+  sha512.source = "49bb009ca3e5976eb698347ddaf7ad22139c3d6f7c13384a035638419815a315a079ea2ee9b1df2547536ef1cb541647e9a59e7b274fd22ae7cd0ae1a11faa54";
   hasRunfiles = true;
-  version = "1.2l";
+  version = "1.3";
 };
 "babel-portuges" = {
   revision = 59883;
@@ -2117,22 +2143,22 @@ tl: { # no indentation
   version = "1.0g";
 };
 "babel-serbian" = {
-  revision = 58836;
+  revision = 62041;
   stripPrefix = 0;
-  sha512.run = "d754a40fa68732f70582b6ca548f4ce8ba43af39ed299dba4a4cad5b10afbacdfea2bd79d332ab29a2a0a81422d6784fa5beb57e5a5a90c6a29c88407c8e008b";
-  sha512.doc = "371cbe277b92b229816dadfc417137269a06cc49a0c7db3eb4e50cc21be01afe215bd2f378df89752600c8864c95126950ff42b0a3abc85064a4cdfe8b788352";
-  sha512.source = "2f96e458d6dc3770bac7319d7ddc5a7105a3809b5a85523c1465da7a07443c5c61fda4034485202f1f57db5251de72cea1e32e58303552ceeb8e2ef3dfacd337";
+  sha512.run = "b52692a15c5f849b903401a7f8f6e5d2da68b9aa3d04675db6fbb580fdf3458ab7a00526891e85e23dcfd48281056eb86028d08ab15576fbb1ed14107e4673f9";
+  sha512.doc = "d63d87f48d7e36c3848f982de275ae3833237114368fc5095db0015cc35e6352d351af521d3570c53ec6b1b2dddfb7c28f0d714ba167e63ae981329fab9bab7f";
+  sha512.source = "9821d0dc6bf28006f32b7f331037d0731f4931253c635fb6f60d8d07864c66ea61018ca927a7173de3eca97998371ea92f593867af17d03b133e968b92be60fa";
   hasRunfiles = true;
-  version = "2.1";
+  version = "2.2";
 };
 "babel-serbianc" = {
-  revision = 58816;
+  revision = 62110;
   stripPrefix = 0;
-  sha512.run = "d0c1abd87fc2d8284bd3369398b3bd5d22d8bd6453aa315c4100fbcb88e3a7166e639c31876677fb656a8123049324a87cc9a68a227ac771951a3249fe0d68dd";
-  sha512.doc = "e025cd674a8fa6c9c14a311c8132c98db6e84ebb2391171f8441683fc3ae1eddc0a3905d73ea48231ea9eb0eccacf168acf48413d60456fc8a30b81d451f88b2";
-  sha512.source = "470d88336301b2a95beb6f854924972be2c54067d02307629b635288c64baf542404c17833d60782a2a2c4e3a832766bef1f35602567a5942e541a034d0e6c21";
+  sha512.run = "40c67be9ea1503472ba110a8085feec7b1192c2a99c26d457ab29d9f6265ede1d69ebb628d38d0bef20ebc2dd852acac7dc88edb5761a2597b60b1bb85b128f9";
+  sha512.doc = "94bbfdce4b72b7ca9f438e2d15bfd8f55275844f44be6c04dab43bbf198440cb3d5cd31f7b8b739e9cd16094004cd86aa64f9e882d6bdac34a9fad42a6c89693";
+  sha512.source = "35eb5d49e9d96d70476f197a63f064c3dbfc52f3f584f168920222efaab92c839ac272490621b0f953f5f0f5f5a7163c4fd43357d957f6973303a8e7ff93b27a";
   hasRunfiles = true;
-  version = "3.1";
+  version = "3.2";
 };
 "babel-slovak" = {
   revision = 30292;
@@ -2277,13 +2303,13 @@ tl: { # no indentation
   version = "2.0";
 };
 "bangorcsthesis" = {
-  revision = 61037;
+  revision = 61770;
   stripPrefix = 0;
-  sha512.run = "da60a3d264abf24f91f2a4a0bd12c99962dd618324e7b26c59c4df1a57456691fcd801ba234e5cec305c4bc1eb05f3beefe1ff1ff57440dae6c97a4c70531426";
-  sha512.doc = "b8d12c8f2351b615d94a5da9a46b6ed4a9d28d23decc1188f7fba36dc6166ac0d0a6247a7caadca8409a52cccf643e21e6a80f25833feeb9ef0782141ca892a3";
-  sha512.source = "2b652b8cc16285d7a367ea07b8dbf3e77503b6f6efa80ced52219816d80dd4f9ff6ea2cdf6326c5ac7888546f21dc009709e2b43d35558a29be599a300d7770f";
+  sha512.run = "3d297ec59cff75977addc7320f90a68a6fdd87bcf5aee4947c14e122dc7741e443582075eec4a9b327c3e988da500934fb5426d5e9fc17c7decab4a4872cce8e";
+  sha512.doc = "be5e7eb308d2678c3cb7464e234bd63f551a560677e67bb6b5c9dec5ab59b29bd6f8a66db300065cb472b9772420e443a3fc7a4d31ebd2557868b3a6b2fcfe2a";
+  sha512.source = "3141fdd4bde1e82edf0677625c3b599516ff8b1f71b19c4a486cf5d68361135983f4fcefbdbb390bbf324d78eafe4bb6ad9ffdca8f7b257fa98faf590ff23c06";
   hasRunfiles = true;
-  version = "1.5.4";
+  version = "1.5.5";
 };
 "bangorexam" = {
   revision = 46626;
@@ -2408,13 +2434,13 @@ tl: { # no indentation
   version = "1.05";
 };
 "bath-bst" = {
-  revision = 57925;
+  revision = 62394;
   stripPrefix = 0;
-  sha512.run = "af8b36282e28556b9dfc8729143d2d38cc49d524df5a0280dbce6536e65dab1266b7b8fc31dd878b5540b9794f90309fcaa6fb14fcd6a069de68ee287bddb386";
-  sha512.doc = "5cf9e77bd84dacb999edc16d81d5cc0ea54bccd25ecbdff21be8eaa8a6ec2e5db893b77ab0235fcee1c4c234d5ab8cccf52f102948279d0859e37e8b291f13ec";
-  sha512.source = "76c9e3b0ae60b42caca389a43f3e3b69e8f28331f0037049febff40f4c990d38373a8fdba1fc22b3afaa13a79e607b9c0f596fc130fa2bb43830248af514c51e";
+  sha512.run = "d47a4f773e7790ac5f7f7789ae0a021e75ff5c7bdb4fe7aa1a17406efdfc4bcb72c78e5bc542b1eb71538c7c76f2f5ad2f6544405c65727b80f66e9a70f25a2e";
+  sha512.doc = "bc0ebe327b7a58f1c68d80daeeb38854e699e6984e1d074cb840abaedc43040d5a265e57101d0dda9541191bac74c3e2fc53ed72fcb71aa7eb7db512881c5edc";
+  sha512.source = "5963cbc64788c5d5d3e8b0211d681004f58b535c2bee68a59542e0d5f2bbb619d2cad7026dce4f4f6118728902ff8080ec6993e2be067fa960fa0bbc2d6f996e";
   hasRunfiles = true;
-  version = "4.0";
+  version = "5.0";
 };
 "bbcard" = {
   revision = 19440;
@@ -2488,7 +2514,7 @@ tl: { # no indentation
   version = "3.1";
 };
 "beamer" = {
-  revision = 60801;
+  revision = 61954;
   stripPrefix = 0;
   deps."amscls" = tl."amscls";
   deps."amsfonts" = tl."amsfonts";
@@ -2501,10 +2527,10 @@ tl: { # no indentation
   deps."pgf" = tl."pgf";
   deps."translator" = tl."translator";
   deps."xcolor" = tl."xcolor";
-  sha512.run = "9880737a29ef84dcb4f7e987e6e0672330aba2aa01bf82bdfb7051e9603576fde1c6c559a8c897e2edd8447309df2dd8bc9ef52f2debe8a7b967448efdb6e80e";
-  sha512.doc = "ceb5458b1fe57a9ed366db89cfda611cf6187ee77a7cd8afed7a4dfb30a4c9d9f23781dcaecee616183bd6771c14c29abf880333bb45250f7bfead17fd4722ec";
+  sha512.run = "6d778b4375765f80030de5810ad0ad0d15d802f8842b0b54442c5ac58d169d94d25d2cbd7901ffd653f76aa718e09dbb59c6510a135f5d2466970ae5a907e84f";
+  sha512.doc = "8e5ca18d718e8798a592164e360731d095bf388e739daa6d88521d7ff2e5a4819357d0f3cff2a5d014e35a6bd33e10f6dec2a9c76fefca2fad28a2387a62756d";
   hasRunfiles = true;
-  version = "3.64";
+  version = "3.66";
 };
 "beamer-FUBerlin" = {
   revision = 38159;
@@ -2611,6 +2637,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.8";
 };
+"beamertheme-arguelles" = {
+  revision = 62627;
+  stripPrefix = 0;
+  sha512.run = "7d73190071efb67f7b4bd49e288869e623009558b8209516b8b67029ab4188b5322d6124e4a49bfa89a3bce56c484ffd8d51e324e89733550921610c97bf65e6";
+  sha512.doc = "92918b3fe435905719c408118cba7ccdee94b2ab24185377ac1ee1a2cc16bc7a49362bba42f7e5c768569c2353b87c90910bd6a3653b5de0c7e35161d49f9823";
+  hasRunfiles = true;
+  version = "1.2.1";
+};
 "beamertheme-cuerna" = {
   revision = 42161;
   stripPrefix = 0;
@@ -2636,12 +2670,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "beamertheme-focus" = {
-  revision = 61258;
+  revision = 62552;
   stripPrefix = 0;
-  sha512.run = "8dc4696a6276fab4b86697e294a9c22dde3f27218499affa985dce72692356ebab3b58764ac05bff2eab10397643a989dcab56b12671a65465783b47e1acfa44";
-  sha512.doc = "3d95d14097caeec36bc971f04b69a7f1af2ee95aa40bc4af22620dd5ff6589d89878d415f7270a73bdb62a5d03f6e634cbeb06b69e33ee67e1d29d4961a2b897";
+  sha512.run = "8b375814299ee6911ddc1049833afe01302d9823ad6870f847c38e0c11f9c409f919561dc4f9fcd9e5c948d2e6173528e1bdb7d4e7ea5034e3ed7dac3afa0352";
+  sha512.doc = "29806348f68bea8cd66f8bec97fbb0445b51431533aec7b14639877ada46637af670b6dd2fc553b067761ffdf9dd50c15f72ccf8d27006f27c53fb68b4ceb3bc";
   hasRunfiles = true;
-  version = "3.1.0";
+  version = "3.3.0";
 };
 "beamertheme-light" = {
   revision = 49867;
@@ -2700,13 +2734,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "beamertheme-trigon" = {
-  revision = 61020;
+  revision = 62828;
   stripPrefix = 0;
-  sha512.run = "f5c1d49ffb30e06b7494d07fb8762e8eb9499f2960d0775b0067ab524817ce2a7092993438e8dfc4aa243ba057a545179b042762a2116c9afad73b65e53a7f15";
-  sha512.doc = "763f9f0b3739995950dfee6e3d5c262c29781f9c1b0ae77f4dcda33022889a80091010b706b8cb3a52ac091ccad8abc2b7de510d7c3f78605a5fe19180b6fc33";
-  sha512.source = "406f580ac238dd70047fe1c2bf54fdd7579d37bceedd2da38a1f0b034c42937b9c7ab8402b19ccbb04b5fa056c134004d51daa2285e331a53cb6e2ffa2e55c16";
+  sha512.run = "fb65ca4b0b6898a9ce7c8d8d8d4bffe23d2cb6dfc513ee2da0a7add1ca553753d9702269e1e35e06995ab5c2a2c6acbe54156821dfe2c5441d86ec00cc160f6d";
+  sha512.doc = "e8627054b1f8251da7edb2705bff51c099155ea3304ed4b8ea688f764b586bfd47f2e8665b38403cb6721ec6fc9da20b85580692f7f1cd40fca6b0f643437993";
+  sha512.source = "d88b3e03a41d004530d08607103c8e600ee35821cceee403080143ba19d179bc934f863ce84d3052a8859917d9090179ae999d02461e9660dc061cd840defd58";
   hasRunfiles = true;
-  version = "0.6.2";
+  version = "0.6.4";
 };
 "beamertheme-upenn-bc" = {
   revision = 29937;
@@ -2757,17 +2791,17 @@ tl: { # no indentation
   version = "0.2";
 };
 "beaulivre" = {
-  revision = 61338;
+  revision = 62834;
   stripPrefix = 0;
   deps."colorist" = tl."colorist";
-  sha512.run = "3a54eaa79fb61977464f32553aee7b32c873b17fc40145756d7afd9244f81a3aaf96c18aabfc68c6239f2cdc327bbb304a146fe2faa5fd5b9ffd326f40639926";
-  sha512.doc = "cfa878fc8055c35555e0b0db494f5b0da312406cc76586aefa5fbe87dc65f1643c0636e107c04bed9ad3c28dd27a5638b12a641bdebc61b9bd96a944a37038d2";
+  sha512.run = "2ab008998a3b8df3b86c6e2720837b5d8cba15e1024ec786fd0fc64d2c7fa427f1b39da41bae2fcae54c3b817a21af35e31272659305d5c70b6a8f22b8331048";
+  sha512.doc = "de51a66a402e4f8111464a4300574ac7f8ae0f73f450548eab9a7e25b900d73c8e06478413d57c01bd778f16c4378e4c003431d5976972f855d5079b51b691b9";
   hasRunfiles = true;
 };
 "beebe" = {
-  revision = 61345;
+  revision = 62425;
   stripPrefix = 0;
-  sha512.run = "d95597c7afa63585202d1f415073ec6b004d5481bef3fb0307ec10631d18b43a351b7d8b06ed5d92014ea5fc076611b5091a968fb16387974ac2fb0b92744a10";
+  sha512.run = "1562ce9764bd2c2caa37ec8ae547a1594f50275e220a84609919813c681ff60cab42af17cbd09c3f562cb912c3fae8d9e2662904187463e8292b72eef4669a09";
   hasRunfiles = true;
 };
 "begingreek" = {
@@ -2867,13 +2901,13 @@ tl: { # no indentation
   version = "1.3";
 };
 "bewerbung" = {
-  revision = 56998;
+  revision = 61632;
   stripPrefix = 0;
-  sha512.run = "85ea6341316c231786612a29fbdd4bdaa412512f23e84431669a60262b5594fee908f68b8805ec79adf8445eed724327e4df8e692e75717710498486f86a7f22";
-  sha512.doc = "c414d4d98b74e8720e487ec2ff5040e9e3de59dcce449698d5e781abb300f13679a5beb2c4af3439a8ded3072a9e69d7bab431869309e87a7b5e803ad684d177";
-  sha512.source = "25749c09482ea181ea35b95bebabdded49908ab6796ece3d907261907581118eaf626dba418987349d503a4ce8dfde87faa5ff2b750a53bfd6ccb4c7525ea141";
+  sha512.run = "1a5f652ce8e7ad60f22b7c3c5cc46c3963e5511965445fdacef01aecb157ecc4fbd3eed07140d64716b90a11db96f1b7dab8b4568aa41f7049f8a3a1ed0e290c";
+  sha512.doc = "1713c1d4ef0982cf635ea57cb7af7805b001b48cdfef5bf770c627f5460f57945d2d2ead87c6e0ae8ad7cdc66036caa5dffafccc5ccd59ba889154cc6e4f9f5e";
+  sha512.source = "df95e8bcc71b83dc196699dc9f4581ce3482ae9f1b673fbd2bb2551d84c68c97cbb70771ad710052d1f2652bcb2d32d8a4392a038e747e4ce7a25b65aaed2e79";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.3";
 };
 "bez123" = {
   revision = 15878;
@@ -2893,12 +2927,12 @@ tl: { # no indentation
   version = "1.4";
 };
 "bfh-ci" = {
-  revision = 61397;
+  revision = 62319;
   stripPrefix = 0;
-  sha512.run = "8904deed16eaf205b0adb9e8c169301da6a7e9584d326e911a57beb7d1c8d260aaf5c77dcdad9a44036b1245924ff3343957bd6ac6f80ce783d0ba79097d4583";
-  sha512.doc = "cba4417ae2ed8397dd2e0fa700e8d05749fab8bddc66c7fa38d8386eacb91fd0fafeb5511b0510ac3ed2cdd23edc2f3aa7b8510d0c205d071f99fba06243be24";
+  sha512.run = "698109d0f08635696c961e20d1b37582375f06db43dccd62e01c0aaccb8c209e6e6e164c50a216ee3c8c01c56366949564f412836eb08fb02b0c5c2079df84c9";
+  sha512.doc = "d8951d398f3e9226f69e33b97e0a70ea5d4bf772909bfc5c3ea14b58a427646aa86294020b87b5ae97a7619d18948345bc1ac125c82c9fa646e44810d303553f";
   hasRunfiles = true;
-  version = "2.0.0";
+  version = "2.1.2";
 };
 "bgteubner" = {
   revision = 54080;
@@ -2944,20 +2978,20 @@ tl: { # no indentation
   version = "2.9";
 };
 "bibarts" = {
-  revision = 61242;
+  revision = 61569;
   stripPrefix = 0;
-  sha512.run = "87795521571e106ee08d611c8c4baa5709150aa146b17065aaa6251493906065ffae78408034d2954d0e37768c27b54b75bfe8139e62105fc93ffecf5b28c84a";
-  sha512.doc = "e735b3bbcb43501451633d8eea303db52d82ecf56b919ac284476ea8803bfdcd87732b564732959005a1d52c42f7cc48922a3841884f7878ddc06f45a588876f";
-  sha512.source = "0575256f662942ccf3a93a31e9f66c4cc461b03b01ef25c7223119d0bb2e07c416bd671dd547a0dd8faa43074f20cf03cb64f4341643ccde79e03cba2dbfe609";
+  sha512.run = "21d7673174a53bfce1453fe8b9693d4635cbcd7cbaccc28fa49c6ab9b38197e629601019d9fb93ecbc80c4afe1f9d86678ce171fa55767840b39650ef10749aa";
+  sha512.doc = "8bed474b083e4e033e168732c3b8b133904c8ed8078270776c479b2ad1e4989c97febefae2ff89b671d9daae74569beba9bd3ad96a18b372e705aa2d0614d3f1";
+  sha512.source = "7c22719ddc2aaf521059d3863dd391b3506d9c54b4d621789ac0bbb7a90e579256f88aa07762174e4b7b3031de7b403b8dfde830d4d355c928708ed13dc4185a";
   hasRunfiles = true;
-  version = "2.3";
+  version = "2.4";
 };
 "biber" = {
-  revision = 57273;
-  sha512.run = "85c07705dda6e4dac7fb3d3fcafaa156abee84f19ce8652b71787ef5a631ba4519ca35a34c8d0d83f90b8f14c583f83f820add220d0f764c19d1abf4c3b7a3db";
-  sha512.doc = "9d86fe6df7fe33221259395aac86729708481ee5222868a455153e7976c91c48a9469a9813bb0decb83c7eba2a3ec408150ec47533f9a41c974587415266f6e2";
-  sha512.source = "396398323e6e9ee4df904a827bab9b246e6fbba15033076cbbc3a63e4443641f81c19646a4145c0c0fae38af37f54a5fd2166799685f39183d349c8273d13459";
-  version = "2.16";
+  revision = 61867;
+  sha512.run = "32d7349813eb4c8d66187f77e7ed86b9f1847e2d7e32bce2d2bad53887fe11ead512fe80d9b21ae37889b72a107e6519fb214ba6b8ecfd20544091375904c4c3";
+  sha512.doc = "2ec3267dd83db2a2807d9d259b3a01aa6fdfdc9b963e54ddea3de4b8899532ed63f8febe6da9666f5327e31aec7554eef416be48e507513296b77fd1840215f8";
+  sha512.source = "dc42ed52b198e4b47c09b5d509ba4e382755db1cf6fe51599cf186cf283438bbb52dd4f12bf2ce90801207856f627e3eafebf629c232ac651c9891f994712ebe";
+  version = "2.17";
 };
 "bibexport" = {
   revision = 50677;
@@ -2976,17 +3010,17 @@ tl: { # no indentation
   version = "2.0.2";
 };
 "biblatex" = {
-  revision = 57272;
+  revision = 61868;
   stripPrefix = 0;
   deps."etoolbox" = tl."etoolbox";
   deps."kvoptions" = tl."kvoptions";
   deps."logreq" = tl."logreq";
   deps."pdftexcmds" = tl."pdftexcmds";
   deps."url" = tl."url";
-  sha512.run = "9d8fbb720f69afabb42ff17287ba61760d910b40c4b90923bf46fa0aa9e6eeb188cbf09f533f0916af145a361702387fce95ece74feb3a535d6409a3fb39f684";
-  sha512.doc = "c81fd0590e7662c7887274effc3e1e0badf0d0c67fc44f32abf8c8da3426549a1adbf6703fbd530e595a2cfedbc4a5a089c703f3a542ec0416705839ad093bd5";
+  sha512.run = "69ea7fee07e0dd3432ded2cb12ee68ffb2345a245de421fd3aa340466e382f9dafc17027ef69420870f1467c01cd3a1087a767b177aebb5eb35a39492627cca3";
+  sha512.doc = "21b55961ea6c0289a001e85ba87a9582598e01dc5c0942f4fad624b07b0bde020f1267033100057917547aef853c54fca4a62105405c5359cab7f491a025d55a";
   hasRunfiles = true;
-  version = "3.16";
+  version = "3.17";
 };
 "biblatex-abnt" = {
   revision = 49179;
@@ -3046,13 +3080,13 @@ tl: { # no indentation
   version = "1.2";
 };
 "biblatex-bath" = {
-  revision = 57924;
+  revision = 62400;
   stripPrefix = 0;
-  sha512.run = "d88e903aaa1535f662a90d993491fd94e8af55a14ad226890b8beb65395383c2b92c8c362fb21483519998f5e1b9bae088a215992fef4336af04ebf3e49e23b6";
-  sha512.doc = "a22433cf6a0255f1a50cc59cae09b9c84150d4859694334b395d6fcddaa16b38923a8873dbd48e07433dbc4edf68a97dd8dcf65b13239b689dd9066f8e959520";
-  sha512.source = "b79156a217b8c1eb9b5a4be100f87d80694c20fb48d84dcd3a631b871c95d8afb1dd428ec0591eb2f0a38421b699bbbe8d3f3c98500929982bd0ce57c49d1d62";
+  sha512.run = "c374f4ba87adf6837c6445f64d31888a03654dbdbfbda3bdcb79ae2378ddb7b45dd28ac7510200eef7e4b27862b6dea552df04fd8edfed206322267a26b20fea";
+  sha512.doc = "b3eccb497b805a778413a2230bd49843faf0e2698ca2b9fd799f80156548be76b5f87f61262f9149cd9adbe1f9b1c469460186a265e60fc4b17881934e5203a9";
+  sha512.source = "cf294b7ed7ecd01634d90f6429c98e0919eeea98d08b7b05324ae44d79ed6f439ba81942caa7c96ac415292cf2cc06de3bccc4228815dbdd520f6078756f0928";
   hasRunfiles = true;
-  version = "4.0";
+  version = "5.0";
 };
 "biblatex-bookinarticle" = {
   revision = 40323;
@@ -3141,12 +3175,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "biblatex-ext" = {
-  revision = 60379;
+  revision = 62472;
   stripPrefix = 0;
-  sha512.run = "5cdd74fbd738385a63f9fe78185e4e883f0ea1a7957dee30783f93bd3549eb179d44ac1d0f4f13cd66788ccd78e83ce512f6b1cbb955bdd195d9f08398ac2c9e";
-  sha512.doc = "f782583a1f77c361dfce7abb03679bfaf18e4574e7670cd910840051db316d8f74bc190c1b2aeb6e9870302480f33c9a5e792b07e5013f541b700ea704265ab2";
+  sha512.run = "fc4c326495f5be4a9c836f4d548151047072d43d2784bf72a34ffa8d36eac339b7a8a930073238025382360820a1cbdb07333e9a7f510447069c68d51683f85c";
+  sha512.doc = "9f1cae878cd26679a950f9e31f3c3d77895bd2f0e9691e77e5ea8099f2d2c3562a35536c41a179eca7c985e8e00f66c0d692d10a609fd2b5510b0dc30b09b9e7";
   hasRunfiles = true;
-  version = "0.14";
+  version = "0.15";
 };
 "biblatex-fiwi" = {
   revision = 45876;
@@ -3157,12 +3191,12 @@ tl: { # no indentation
   version = "1.7";
 };
 "biblatex-gb7714-2015" = {
-  revision = 61274;
+  revision = 62705;
   stripPrefix = 0;
-  sha512.run = "c1229f94727c82d0cd8d089cfa5dfd8685e1953b4b26983227483eebe250387ea05d2ccb3089a2b949811334349281befd2b3596111adb77ae56fd0377474d8a";
-  sha512.doc = "1ec8fad46855d2b069a26c7e45cece0c9968f1b04a358900aad3399ae9f57f45aafc18576557aadf04672f03d4ea7d580823f44cfca86a2b4511ac8ccaf1800c";
+  sha512.run = "bc0f3dcc6b0c6a1a86b8ee7a2c74791b674d7b8654a3e24b47b48d1556f4067809435ea38559fdd6d606230156ae94d4666381cfad368b1776b562f127ba4421";
+  sha512.doc = "552ee4cc5bc4e0ecb7e592218aa6c3ef35f8e76e1fcc4f7416fff779426961b319c8da3bb315d22b5df386d2ef1e0697314e53a28ab6e182aee59d96ce01fb4d";
   hasRunfiles = true;
-  version = "1.1b";
+  version = "1.1f";
 };
 "biblatex-german-legal" = {
   revision = 56939;
@@ -3205,12 +3239,12 @@ tl: { # no indentation
   version = "0.1";
 };
 "biblatex-iso690" = {
-  revision = 54561;
+  revision = 62867;
   stripPrefix = 0;
-  sha512.run = "70469c6baf7e9f644e9a012d48bae8d7904cd53c883f5238f42c20ee904c11df2381a5721d77ccebe23303975632321e276ef7eac158f4ee1f8d897de41faf2f";
-  sha512.doc = "a9012321245247b6c4331312dc3e371bfda7e70e500b1296b092a12343dd270551496b9787c90ff935c50fcfb4ed2a3b6dcdc5dd722b7ddebda316ecbe9719ac";
+  sha512.run = "9b97f15fd343585126ba8b114503d53fba03977bfbb6f95601eb732f718bc33e34f5c7b5fdb8af32fec488c21ad1e40ab83ab0af519df3bd198953e04e83d3a1";
+  sha512.doc = "c680a4c2e7fe44d1fcbc9684eaf923a62cbba7d7091b4e7358437509e978c07ed404a11bfbd5eb6d43d796541b52b56f3f19ddab057640d3e5167f56bb53417e";
   hasRunfiles = true;
-  version = "0.4";
+  version = "0.4.1";
 };
 "biblatex-jura2" = {
   revision = 56133;
@@ -3237,18 +3271,18 @@ tl: { # no indentation
   version = "0.1";
 };
 "biblatex-lncs" = {
-  revision = 60303;
+  revision = 61633;
   stripPrefix = 0;
-  sha512.run = "4eb20f0094dde1739568f8dafd47e861c4e440f9f34021e889c399e27c72247c04f8ba2711750a41450db52bbfff7a001100d5cbd81842d00357b22597b953fa";
-  sha512.doc = "a454a1b4237070aa0f939b121dfa4e03996b2db922659c8db2fb86de83847d952fc28481c4271cb251380428af403b453de1f6108e94ee792765fe6ccfaed7b1";
+  sha512.run = "b629ccce8c85ae96719b2d2672971ec5348123014fe1d09fcd3f62a44c615cb0e078cfb0c3093093dd62151beeb92eb12ec5c5a8236d1c2f94fc8e7be7ec2b86";
+  sha512.doc = "ee6c3f271e249ea8959ebdcdf7f8d42a8f313d2ae81e59836946aecb1dc87f66d52ec5d6ad6e09c16005b791e6deb169255c65b661db2783411a406db431240b";
   hasRunfiles = true;
-  version = "0.3";
+  version = "0.4";
 };
 "biblatex-lni" = {
-  revision = 49935;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "9089117cc653cb9251622299b20d79525ae9623661de402732c9b9f47b2b296cc0b756bda279487f5d042316693ac624b18352dcfd04e6cec436a402b9bbba57";
-  sha512.doc = "23435bb5cdcc7cfaa58d732582e23d3a23589ee064122b231794f17ecd0137e7a4a0e21057835d3925c149d637a7bd12270b4dd05cff6259f103498e0989ac66";
+  sha512.run = "c91f3f8cc6e238602682893ef0ef20af2ac87a518d845e46262f17773f9082c5ed7ffb59329ac4852d8b3d72b3b1364395d3d16aa9ddff52619d9591f2b7257c";
+  sha512.doc = "19bd2d8f8f7539543c876c214731d407def9c193d70ea3eeb7a9869202fa26242674a996934a599004e36bddc62669bc769c6a76af6cec6ca85bf44436c41de0";
   hasRunfiles = true;
   version = "0.5";
 };
@@ -3269,12 +3303,12 @@ tl: { # no indentation
   version = "2.1.2";
 };
 "biblatex-mla" = {
-  revision = 59529;
+  revision = 62138;
   stripPrefix = 0;
-  sha512.run = "3f9ce622de66c8bc936954e9f29381fd8a604c5ba94ce425c577ec5850a4099ee5f09e6b5b2bdf05eae9c4fa6549878b3061c25da916ccc0041d302534512623";
-  sha512.doc = "1f9ee8d696dcc31e56d47edcb9e53fac525fe1ff5408f0d649ca090fcdce5d132dc3191c82f43aff94e02ee34e3445b2dd0be3513a21b963f72ef1f2ac058d5e";
+  sha512.run = "f286ec7553818df5900e6d5e791d56c815711bdf6dbc3a317bd416dfae9e7b86d94e4d43cb4846cffcef9e9a246f0a059835ab6812172130a31984dbf39b58c1";
+  sha512.doc = "a6e5861754ca4e1bb42dc054188777b63d11c1438f83399c4752ea849284bfc7a97943e891983b88117047f59652441c31edf82f382370ba233deafa0445c17f";
   hasRunfiles = true;
-  version = "2.0";
+  version = "2.1a";
 };
 "biblatex-morenames" = {
   revision = 43049;
@@ -3360,12 +3394,20 @@ tl: { # no indentation
   version = "1.1b";
 };
 "biblatex-publist" = {
-  revision = 61302;
+  revision = 61500;
   stripPrefix = 0;
-  sha512.run = "65718066f32eaf114b9e00a2ca0ccdef328846594eed522c6fad7438be0d382623a4182d0c284763e83a0c77c43cfedddcae70a8cc4af42eddbb5cc4c682b2e4";
-  sha512.doc = "4cd41e01c75b897f88d78a56a0909de3a8df6511ca89c4f7cd68925a3bb88c8324f1dc9763d4eaf4d5bc6cc6cc8238868db66c838a80ad0b687b689698b70640";
+  sha512.run = "1eb44630405055802747131b59c19aac40d541448223f6e99e7a2d37b0ddac88ecdd60b3e576f7fc9dbfba8f030ac9313aa2ed2d4a2a3410913f3479648f2d56";
+  sha512.doc = "62cb22ad19649f9a631163d8446407cecc24eddc89cb16881258dc5e4f4bec991ced1b44a8673e14d07fbce0457bb8a15b64c139713c049231e1a280caa82c04";
   hasRunfiles = true;
-  version = "1.25";
+  version = "1.26";
+};
+"biblatex-readbbl" = {
+  revision = 61549;
+  stripPrefix = 0;
+  sha512.run = "d74bd07be5983c2731a418ae0167d99e2bdf8d1a9569186a8940f89af3b9a6fe82f641717638c693b98b61637a705fe280d033282d1e37c279aeb080c4b66399";
+  sha512.doc = "9ca0584c36e7247496cd0375e0f6585695f509c4e88d29f23158c5c5c7897758d678082c9c836d0cc878423ab23d54e9a0c2b40c5b63830fd8996a35b4aa09cc";
+  hasRunfiles = true;
+  version = "0.01";
 };
 "biblatex-realauthor" = {
   revision = 45865;
@@ -3408,13 +3450,13 @@ tl: { # no indentation
   version = "0.0.1";
 };
 "biblatex-software" = {
-  revision = 57366;
+  revision = 62372;
   stripPrefix = 0;
-  sha512.run = "25c2a7ebf41761d3b2b7b2dce0f754073d8808b6bf7bd413fbb10aedc465de543431fb297914236c51546b362b9215423e94f9464c5e071d24c6f7b9064e6b1d";
-  sha512.doc = "5b9671e77ed59b57724a7682ad3b23f7403d4fbc31387443e5adcc170f3aac4ea288454263c091ef71530f3ae7c5b458e48065de9c7f66182b036a9db9119ed9";
-  sha512.source = "e3ed4c9292271223c084bb66913a6c4c7a27774cf2590e63820a40efe36cfb53e452e45d5b2d0d73390a42d51c38a51a84f8894d24685026731dfe6e34b6f6ce";
+  sha512.run = "fb8ddc8a678724558ad01a50bf7808f8a58fa80f1a9c4818b363e65d2b2f7ac1127de4b62bed313430581417987f1ccff095e4eebad868b532b523755e2540bd";
+  sha512.doc = "84503fbe1152b53520cdf1204c86406e9daba9ee4c348688fbb08f4a8de18da1edd6e7d41e4a1261a3d2be8542ae750cc489a3363ea5470b4cd0aadc4f046323";
+  sha512.source = "5ac10388ace19d5e808f6cc94cc800a43030b8386a16516eb5df94741381976a5bebbb239b65d9eb2cfe80e2494b0d3c7c3123872ff6ea65143f77fe731d70b2";
   hasRunfiles = true;
-  version = "1.2-3";
+  version = "1.2-4";
 };
 "biblatex-source-division" = {
   revision = 45379;
@@ -3425,12 +3467,12 @@ tl: { # no indentation
   version = "2.4.2";
 };
 "biblatex-spbasic" = {
-  revision = 61380;
+  revision = 61439;
   stripPrefix = 0;
-  sha512.run = "642ab8915e4b94f7c57fb9ee27577f41f65c118c60e44476935386fbb4806a4b5f30d54f39668b698ef310c53a48a22d02da8681c3439de1da89a1851a9a0f57";
-  sha512.doc = "9a7681c9528d74c70c5ccc1eb11449cd8a3a17a0799bf37ed2f5685182655fea80eb2b387fc399562d8403851d9857c73cb2fe4c8ab4aa2110dc909d65f4b168";
+  sha512.run = "478c5cf4f9996e8b15b13a1ea08b53ea03ef731666095f5374bbca6e16c93d0f049b891540742821140e91a30a8af1fe3c233ec45df1dc777b7c408b52676d97";
+  sha512.doc = "9c12f5fc1b328ef0369e7c82c2a25162568cd1d1568aed4ace480a639a38e10642e93ba20939fb0adfed2ee16b44e9a7abcb3eeb6fb51bcbe47bce7436a590fc";
   hasRunfiles = true;
-  version = "0.03";
+  version = "0.04";
 };
 "biblatex-subseries" = {
   revision = 43330;
@@ -3441,10 +3483,10 @@ tl: { # no indentation
   version = "1.2.0";
 };
 "biblatex-swiss-legal" = {
-  revision = 58661;
+  revision = 62509;
   stripPrefix = 0;
-  sha512.run = "0d15d1a11d6f7a85d2443d3376b3ad8ed0941474a7e598ebacc08450a89b20b1909dff15111d209605297dca720ea6d7b6772869a39c14786199b0c4eab4e011";
-  sha512.doc = "db4e7cb54f2002afe099e65402c43bc5574cf2e9bb1ffc11bc0467401f0a8bb48124681fbcb2a95e950517a20baff4dfc79822bbd7152e7408d4aac04651dc5b";
+  sha512.run = "3a0fa6b9caf5071a747683a57848f0bf9fd86cdbbd98db3830c7af20f175424717d3c66ed7d637559d74c707cbd2cc4e43969bfa875d166784dc3d7b97769b18";
+  sha512.doc = "275521f31b5e13eb06168d2dd45ba07afb9988714599acc99f114f07ad3a329dc168d415e4dcfc1db06f1048c8bf2178cea6006db975ba90ffdd05fe46ecfa11";
   hasRunfiles = true;
   version = "1.1.2a";
 };
@@ -3465,12 +3507,12 @@ tl: { # no indentation
   version = "2.0.0";
 };
 "biblatex-unified" = {
-  revision = 55290;
+  revision = 61920;
   stripPrefix = 0;
-  sha512.run = "930867328f0f818d03fd5d8cacad6113214609500f43e06b77b711c00939a3a3c99e8e3bba8a093721e719b8449abfc29be50c9b5482b65f3c47f4b7b3a344ad";
-  sha512.doc = "7196a1c293864f8cbe9e1421ee074cf249bac49c9d9a8cdd811a0252d4a0700f1874bc7d8f3cf22f3ecfc50ac214ce17d30ba8e7f84ae92428578e540ce66429";
+  sha512.run = "0c4789b1372cf56675a9db1b93fda299ec62fa5d579f1e7d38e41da53752e1937c31ead9742d283ca67c56e4cd0b90814b31a9b502fafed4451f2b968148e787";
+  sha512.doc = "8b0a5ae0e37380e45059a95e2247cb240521734bc160b381d6c4c4a09c9dd65a2f55a82f49b8f51c6a39d4cd8c88172484d5bf78682d4be66f11a7c40c1a3068";
   hasRunfiles = true;
-  version = "1.00";
+  version = "1.10";
 };
 "biblatex-vancouver" = {
   revision = 55339;
@@ -3481,12 +3523,12 @@ tl: { # no indentation
   version = "0.1";
 };
 "biblatex2bibitem" = {
-  revision = 60890;
+  revision = 61648;
   stripPrefix = 0;
-  sha512.run = "33cee5b052448e46173eee2622c5b4aabc20f0590f6d17d450359e8a13704bdc79d209de49ba112243b50f820e69dec8fce79e91c12a296b9f0222dd007a6cf3";
-  sha512.doc = "60605625c4c8fe1923fd415e1afc827348d1e3ce59ed94f2f916f29d9a37dc8c17380e5153c8f591655b369b8feab3fc62d2b0e7032c6d0f3b479fd59634fd44";
+  sha512.run = "c5c80c9c9951ed57cbedb64976e96540dcbb7797e7af58e3cd983779863617f8deb4cca3b4223f6de2e1f4bd15940df02f6b87188e937b2b5a79ebcf2b1a068c";
+  sha512.doc = "a44dcfab5daf60da858ad548e306732c7bd3bcd4121f9143f5bbb7150616edae5b42fabe301c7f3fa271bb6fe851276528304c801fa8d7c3aed7c41f5fbde91f";
   hasRunfiles = true;
-  version = "0.2.1";
+  version = "0.2.2";
 };
 "bibleref" = {
   revision = 55626;
@@ -3556,10 +3598,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "bibtex" = {
-  revision = 57972;
+  revision = 61719;
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "9d695d2335d5cb1abf2810016f227e368bcd726d9cb05cf197df93b68a18415a5a7be17ec81d888ca5fb837960173951eef2d04d8abcd3dd6bccf33673dc4ac4";
-  sha512.doc = "f3c241a15108671934a8c05014d68dadfde6c87a00375b45c92b4924a48c5a342c202b71be05035313ee764c0bdc63ab84cc5d80b4d5eff2411562bba6f798a3";
+  sha512.run = "f842f854c13c94cb54167ad4725767c3c6adb40e317fa763e21b5c445503eaf9ba17f9d0f843b4adbb40c884785fac96ced8fa7a7aaa5b8878cfa60d2ca9c9b1";
+  sha512.doc = "b417df9af3fbd6a42a67cd6c85f7133336a6e46a191da92e70947efd35c2672bd1f625890e9e922e220dfe1c27d15648ab5fbf77505a640817da8d5dba30d671";
   hasRunfiles = true;
   version = "0.99d";
 };
@@ -3611,21 +3653,21 @@ tl: { # no indentation
   version = "2.2";
 };
 "bidi" = {
-  revision = 55193;
+  revision = 62073;
   stripPrefix = 0;
-  sha512.run = "dba36e375340a6d852eba98b83ad8e0821e684424a53069a4eb21acad43ba32cba11a68b971fa8bbbc6380a89c2432916e8a048de85cd5ab377d7811570a9be6";
-  sha512.doc = "16e8062ffec0b64faaa2c1f4916c8decb38510af7279607d11ce0537cdbdd57dd90e9901e47b7396758b9653321f8e14716a809740f5d4c0f610358899ce333d";
-  sha512.source = "bbdbf08f87deff3ba6ff97869bcfb36b996f2985f4b28b4f598ea76827242d54b3e319379a9b027c2a6790f86e4503edf7d3f7e131f6ee34d48cfb042a8eed80";
+  sha512.run = "6f9ccac604ea3e8550f3459fd8a5c3644a85f75019ce8bd006a5d44b5e7ca74e7684288310c332dfb2bfb586ae248cd616611c93ee70f0d3fcfabd776d0f7d7b";
+  sha512.doc = "054fca2837aaa14384851a75d0f8436b0b4f63dbc22fa6555d9a7190969ec52f5698be80afe347ec23c2bfe2cc2a3b6fc5a40733b85f7eed1c0d8d4431b8be20";
+  sha512.source = "eddb35271b71dbe2a8987f9935866cda046ecd7590bd549368c3081fa5aef493252610a6bc9fc18fee03cbaa0f746bb98e8a6f68d2d64c8af5528c0d0e2493cf";
   hasRunfiles = true;
-  version = "36.3";
+  version = "36.7";
 };
 "bidi-atbegshi" = {
-  revision = 35154;
+  revision = 62009;
   stripPrefix = 0;
-  sha512.run = "1295c87c038683212deaf52a4436bb6adc2a0cc0220b6767e770aa909d88eaeda4a0bd2dec739a2415745609aaec78cdd91d4949f90663323aeec63cefd45d01";
-  sha512.doc = "6199c4d5b6064244c2fd38d8a0d6c4eac3c790cc786625502d89a5a8a2426f7182cc0e7c4b70513971a0cb4b1230bdbd1382c05762f6537a63a34fa4e79c020d";
+  sha512.run = "5b16cfee9c71927cff133db3b967dc835634553d0980f74164fe8996ef86c3529439e85e00678219879cab41bde2027f3258b2862906b58634713e4b7d16c515";
+  sha512.doc = "05b8118cbc59f06aeb87ab3b5b6a7f7a14dd23543c9d45621352ceec58998601a97af31bb6b0c999047efb362c24508f769be3c2e483c21a814b8ff35bd0bb96";
   hasRunfiles = true;
-  version = "0.1";
+  version = "0.2";
 };
 "bidicontour" = {
   revision = 34631;
@@ -3734,10 +3776,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "biolett-bst" = {
-  revision = 42217;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "e593f073daea4a8326d0a472999c128f511becde100c5dbedd540fd6ea116c5585b2d3673165ed39abf1942fb66c8372ca1961cef90501244f5320119117af05";
-  sha512.doc = "7b3f9666225849463683a38a3ccb4e5bc9c0869312d31173f48776c2b209eb269309699b2173c2eb5fc9163baabefd1bf6cf288ca683142285dda6f0c6d95b61";
+  sha512.run = "1a26b364b958c52727b4bbb75430e8ee3a685eb543f6a4fea7e6b2e37b044b97685139f5f26e74c434e9a5b2b11089de1125fcd18bca2707b153fffbc9e1f924";
+  sha512.doc = "df77d5919f3777c6748efe50b974f3ea6594dc91fdb3d8d44e781d2fec88ddb1ec34c3e7dae8f4fe0200a8704847933c00a27680b8fa9a276ef20156e6894fe3";
   hasRunfiles = true;
 };
 "bitelist" = {
@@ -3750,13 +3792,13 @@ tl: { # no indentation
   version = "0.1";
 };
 "bithesis" = {
-  revision = 60452;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "c7e3b1d0550c8f9fe33167d01fdd531c7711592de2c1bead232f00a4175c12d542785c18d66dfbc63916fa1668516339a7f3d9a29de4a9f688333ca7ad8fbd6c";
-  sha512.doc = "9eef61914627c4c0fca3a7c6847853ae6b21685777cc0a0c21218a41c179c0a4a25c1c94c4dbcf9481206bc253363b6498d1388f6769f83ab8a9573d65b23063";
-  sha512.source = "93486e82d66f648a7adec186377adad47282abf6dbe624d18bff32b638947c36a273fb89aba5325eb4a978b72dac0349f71399a39644eae40d9a25d49ad5394c";
+  sha512.run = "2b56a95fed5d9e80c7baeb423c7efc6ebacd45218735c18f7840ff1d59b29a7f8c3d5486d5a611f55c2247b2073f93386d84b4a9332a13bb3f080099a11368a1";
+  sha512.doc = "6e7976e8bc9f11e0b2d48ee18c49abc9e69e198cde401acc2a9b60c0ddfaeb229148f535651cdc507212f1a6aee091592804fb1fcad478c6ce1a8e9391c1d703";
+  sha512.source = "97094be2e5b0910a0c908e7d9567a299ecd569c7eb1c86e8db0f1a5f27fa0e7212735a689400cf468f996319ed299092b7c6e3bb8b6ba08d11c7549734e95f86";
   hasRunfiles = true;
-  version = "1.1.0";
+  version = "1.1.1";
 };
 "bitpattern" = {
   revision = 39073;
@@ -3874,11 +3916,19 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "2.51";
 };
+"bmstu" = {
+  revision = 62012;
+  stripPrefix = 0;
+  sha512.run = "38587c3ef1eaabfb6ad0148ee3442d6f2a5e5402b46b5ae4957efe983bf24afde2a7f45cc422a1504c3548538c46cc08c9e346875d09700ed366747855537e6c";
+  sha512.doc = "a07bfade77db170c2bff6292895f18f98253a57fd3ac75f1d867747c2ee91fd47e680759b0ccbfc3e5d56fb831d7def6261156de9044106ea390b5d020ea8e84";
+  hasRunfiles = true;
+  version = "1.0.0";
+};
 "bmstu-iu8" = {
-  revision = 59576;
+  revision = 61937;
   stripPrefix = 0;
-  sha512.run = "5bbadf510d8b3880603e9f45a93a3f126175c4b6825a65488df95ba15bd138d37a7511b845dc6c93095b405189c876427a6dfa883a7b4b6d2c1d99824f33963b";
-  sha512.doc = "d7decc544efc16600ddf75c5cffbc8602230379a9e86553f2c532732e5874450c976ad562e37b06a023fcaadfea88571f3b0bc36f2c38f6947e76936c7acb466";
+  sha512.run = "7d4d2f575bf4a3a14024b478610a1d3d1fb9a9609492890ce4edf9f3ed1e34abd99f519d3574c39347f35f8bd2bb1b19569ed6a3652443063942bb0900877ba6";
+  sha512.doc = "142cceab83b83c5a0eddde753f67b44cb2e881cd01a4de1059606e02cc241d6d55f271d525db523f82f6ecd68bf6bb09dffcb15adb1b4b080b5701e041ec6f2e";
   hasRunfiles = true;
   version = "1.2";
 };
@@ -3892,21 +3942,21 @@ tl: { # no indentation
   version = "1.5";
 };
 "bodegraph" = {
-  revision = 20047;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "eb4be1d54f84a372bda79a35aa928be028aa3fdd13c589143e3bfbdd111f4819ac7927bc9eb7473c64fb9035b5bbab789b55a5967e4569e916a7fe516933612d";
-  sha512.doc = "479d5d95643a0b5a673df4d48049f6a7d89b4dc8d1511676d6ff53e039f65fb27994e35d3db3adeef0cdb30658d3eaa454d997ab4649567148fe90938602024c";
+  sha512.run = "abec68060be55077c615c7a4dde1f0a1c59d2b94120a1c5e3f578572b2c23ff814e20344ee767ec7af4c30371e95a5647256f39be11e54fc8d6ad661025887c8";
+  sha512.doc = "463c7fad4432c366c59d1ad9ce029cf1264b4f398021479ac77ba04bdfe2b1e6983553e46c5fac3b248b0df07f2ac9ea07fff7d4c8019b30874316e08f3522c1";
   hasRunfiles = true;
   version = "1.4";
 };
 "bodeplot" = {
-  revision = 61092;
+  revision = 61661;
   stripPrefix = 0;
-  sha512.run = "6c9b59a70f65588af78c36675063b85ba2336c8ade9708d2e699ed64f522a94df7650c4f3adbaf279d78da0c211a53d177b1e7090dae013c196f2ecc291a00ef";
-  sha512.doc = "4dc0a31631809f10ec08d284bb75cfbb159518cd3e2fea0c60ca67758e090dbfab100edc3cf476d864879531121642bdd0a96d09d9040d9be1288c05b78c6765";
-  sha512.source = "fcc50625372e7c41f3a691cd85c7619b6548caf1eebe60298bb83faf9016ac2c4b9508ddd9c08a7426e3c96792f52b5d260590972d5e32bdc7be2c230b55d224";
+  sha512.run = "921d943535390cbfe0134587d831072071df6fec76ed020473f7a59bdd3adcb7300694dc819bc0ac519af9f0a7fd3af03c715bb117c72fb7362eb2ad41c19433";
+  sha512.doc = "8732acebd794c619db376d6baeec955f6854ff2f8c8cee0754e1d03bb901bae78c499800902109d0f07cce7bd2829dc280ad425c60ad0d0b783a6a17422284c4";
+  sha512.source = "f8e1ec58e3356d9788cef23f7d2a7fcf5c52a1c382a16b4ec9d5a41cb52867ffae55c24266abf1fda4c7a93cb1a745486a80169850a89a84bb56e8bc80fe9b0c";
   hasRunfiles = true;
-  version = "1.0.6";
+  version = "1.0.7";
 };
 "bohr" = {
   revision = 54512;
@@ -3966,12 +4016,12 @@ tl: { # no indentation
   version = "1.0.1";
 };
 "book-of-common-prayer" = {
-  revision = 59742;
+  revision = 62241;
   stripPrefix = 0;
-  sha512.run = "0760350b49c1487d35ae04ff0ee57d552f6ffa0c7df9d02c7f74147d3c459926881a0252fd95d5b7acf3064fc63eca92f72aa088f8fca418d86f5e6f9b9febca";
-  sha512.doc = "ae73dba4c8bd043772ea4bf78ff9cfb0fa210d3de15b2e045356522349f11930e34dede648022be75d015893a91ecf9d57812b19475352f59a4f84de5a520055";
+  sha512.run = "7010a4a3665d760cb2a8f4559a0bf890c45c6a287ca2c0f862cd8edcf0a610671f7b44bcc8137061ef91e91b9f46148176b5cec478f8fe7c70df1b13e61438f0";
+  sha512.doc = "1ae5d0a20bb86610e4f9eaad8079447f7e13e2bea0a8bba258969e8bd27157d297aa1f46f710e1e544be6171bb560f57cc507b52a019a3caf7f6d19065d37e4a";
   hasRunfiles = true;
-  version = "1.0.0";
+  version = "1.1.0";
 };
 "bookcover" = {
   revision = 57326;
@@ -4016,9 +4066,9 @@ tl: { # no indentation
   version = "0.7b";
 };
 "bookman" = {
-  revision = 31835;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "bcc6a2ca260350a22927d806b29dec9b7a6c7d9bfff2517d3c64072c9bcb3b73ec72937c004d36c2570a2c78f073548db6897195591e36bae7b6eaaecf6b6023";
+  sha512.run = "8bef9b6e467384a2b5adc6bd61ed2e410f026f6ee867a5a62239c55391ebd6eb5e521c82f9bd0e4de995591458ec32f98ce821493a85113beaeef6535b938ff4";
   hasRunfiles = true;
 };
 "bookmark" = {
@@ -4261,13 +4311,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "buctthesis" = {
-  revision = 60708;
+  revision = 62474;
   stripPrefix = 0;
-  sha512.run = "015f93fe7b7c5aafff34a0a24166022b9e1d5cfc6f983bcacda2da5b4ac8a5315fc00320708dab53da32d0573859fbe3e0d692966d76369dda11f2c08a9c2cf7";
-  sha512.doc = "d94312d06d2228f97c0a5c05d004e53dcc8dc0c6ef80f56d08d41cfd4c88ab38aa4df8b6cdf07de8aa6b5b6e9a8afcd86e9824d193f317eba380f4656f810c1e";
-  sha512.source = "b35809ecf963481cdde1ef6dbb0b215a306ebc5595b988b883e70b06d8f0f6f80079d7bf3d340f8c301330471444af6614cf5588347c22e896651d43de9917ee";
+  sha512.run = "59db65878dd3b100cc3e616ac3e5a02a0bebf91fd1013fa93029d2a790d6736f6deb1d65b053f1b54a475429939c3bc6518da3b3b201847df08c77eed2f84225";
+  sha512.doc = "f39017d6cc051c689101a8108d15d79bf1e6d7d37f672d856a1e2651b5422b42d16f799c252fe7d48391fe92e985ef7092c0e8b8b36bdd501d00ca01e7ea7923";
+  sha512.source = "26526f51d54ade589267dd1026290616dc1ece05b2d5a22adbc086427052179d199f8dc5d9c17d0365e3c844f937714c82abd77673ca95ec237321ad5fb6ca70";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.3";
 };
 "bullcntr" = {
   revision = 15878;
@@ -4294,10 +4344,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "businesscard-qrcode" = {
-  revision = 54080;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "66e98af04011a9a17104dac23845ee6bbc5f4fe3aeec37899f82448a85493c5b722f5de59139f2a29fc84390cf5480af3a491ea2d1270edeb16ada734e2cb57d";
-  sha512.doc = "d488e313d538d9faa956b4279974faede62ca231ce744d010b11d8a98a9b596d225a3804ba0aa72a13a6749a6207321b9937617d524e5803f490f9bb8933bb8a";
+  sha512.run = "d991a7dfb9be936018a1946d2d3fbe24b775d99bce08da27e7451b54c679bf6565b207a7645ee4def2464ce08187b6ff25614dff9ec6925bce66fb6f48809412";
+  sha512.doc = "6ff58a45f67ae55d82721f125bf3e9c8a5cbd049515b840eb4bdc79eea63bd82bccec41f53b05cab9e6720f3719cc58e882998249a738eaa9f033f14569b9f88";
   hasRunfiles = true;
   version = "1.2";
 };
@@ -4375,12 +4425,12 @@ tl: { # no indentation
   version = "0.2";
 };
 "bxghost" = {
-  revision = 53606;
+  revision = 61989;
   stripPrefix = 0;
-  sha512.run = "72b5a376d5a927297fc466936ae55ed4fe4fe8705aa8f31fcaa4f4b558496b19952b55ff8b02318f5d5cc8c6cfe31c6310cbd22900084d353a93f348291e0c6e";
-  sha512.doc = "718c59d1c05689fbb4641ead9437b2ddde19f848b6f7c9fd5f4c91b10abe9fc6413c531c2f5af3f9e70e30578341116e5b4731a8f873f75fd4ee0803f3597a3b";
+  sha512.run = "0b887dac7fb97c7faeabaf1863c0dd9b086b0f8d6e91e399c6a19a1d7950d1940a117a0176104256d8ea18ae822c6bf111140eca3ec9173e458a94233af4537a";
+  sha512.doc = "a6b06eb89e575e917d7bfed36b4080170d98001b70f257a94bdcf5fdd20779562a07a357469da56b85d5d1618e5bd9e6406d1f6679ec6025579f49e19c670558";
   hasRunfiles = true;
-  version = "0.3.0";
+  version = "0.4.0";
 };
 "bxjaholiday" = {
   revision = 60636;
@@ -4415,13 +4465,13 @@ tl: { # no indentation
   version = "0.2";
 };
 "bxjscls" = {
-  revision = 59253;
+  revision = 62826;
   stripPrefix = 0;
-  sha512.run = "55dd819a17df692beaeccc41eb9c9258b2ce6df426eb476457eddea117551698ecbfb5a34c339891e276fe0c98f8ee0a676640d7dd066778d0f6e74b6c5fc9cf";
-  sha512.doc = "6c922c350ba11095dfa1c0ca9ef6b7b3b23ff7b3a265246cd4938bc85c9c98589d1d423136194341ebc888b57aa8f0a0503ab4283f9ecba023ecf19c728bfe40";
-  sha512.source = "e030c2a706035e6bf894f7c92a5f5fbbaf5c5a887e654bc33769fb27412265dc8ac84ea5f283131e7071287244c983cd72e3cbebfd73d3f6b17ba12b41b8e948";
+  sha512.run = "1ed2ab825b3a83c4074be21b6cbdc0ea7513109963e2aaeeef87dcb17272346790fb8b30571077cdb3c2e4ef6d038407ea2653deb013966004c7502440060b87";
+  sha512.doc = "5cf49258316bd412bc902275a87c1d649c5b2802dd015c2cc28a941fe063f5c054d2879bd615e8ae6846e7d2f5a2899f431b0f95e2a77674daa2640d152053f4";
+  sha512.source = "c4fd3cb3b96d595cf51bd4c06ca9234ffcb97bd439e29d3db3a83e6608164fe00e8d25bf7432c38641b93ae097ca89229e4f8ca842a4991c7c43967b64c4dbff";
   hasRunfiles = true;
-  version = "2.5a";
+  version = "2.6";
 };
 "bxnewfont" = {
   revision = 44173;
@@ -4432,12 +4482,12 @@ tl: { # no indentation
   version = "0.2b";
 };
 "bxorigcapt" = {
-  revision = 48606;
+  revision = 62715;
   stripPrefix = 0;
-  sha512.run = "de76176e7448732d3d429c11b605f24a01779651dc5bb3969a6cdd45ac1801a9d2472dcb4bda9751aae09428d7962981a4c9c581244f15b68b6a4aea43d54972";
-  sha512.doc = "0ec8b913862e51f89f661de3f628bb51a306d09d04adce4ff46183d8bb24c351f73c877b08b699f704661ae2c31131b7a959ad863a3a6613235318f8825136a2";
+  sha512.run = "44b292b6fd4ec9e173ba6eaf3708d6b167699dc6df2a79c28957543777d0d8995aec5d85a20fef43dcac96fc4fb3f121a5f84eeaff86258271492af07261c825";
+  sha512.doc = "425cbee5dde9ac64fecd065d1032fb4b6b025a23545f4fcfece1f08b142700be776945c5c122bf715b7208a86ad93e662bc31eded84502ee78ac44a501b6b921";
   hasRunfiles = true;
-  version = "0.3";
+  version = "0.4";
 };
 "bxpapersize" = {
   revision = 56491;
@@ -4480,6 +4530,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0";
 };
+"byrne" = {
+  revision = 61943;
+  stripPrefix = 0;
+  sha512.run = "ef27aa477ed05bfbfbe3729fcfe119f9e7e3335b9669a34ae812b21084c2063b819e1201340f3db269f9f2234b5644054ab30fb3112b6bae142c7e5a0c6831ea";
+  sha512.doc = "d0c03c352aed98d7b1abff22d8613f34d206807fa8e0635b88b764f136bc851dd53f8757aff45f636e1c17c32ddbe481867a3e30218dc97ca07f25a147c1e435";
+  hasRunfiles = true;
+  version = "0.2.2";
+};
 "bytefield" = {
   revision = 60265;
   stripPrefix = 0;
@@ -4600,12 +4658,12 @@ tl: { # no indentation
   version = "2.4.2";
 };
 "calxxxx-yyyy" = {
-  revision = 57282;
+  revision = 61463;
   stripPrefix = 0;
-  sha512.run = "2e9355442fdf8c4389fc09c8966c5e6b72cfe2df1b3209ec698db686579bef9ab41c17a36bd9714b3e917a8bcbc8ae568ca34bc7112a5a39d00a5b2c5340ac65";
-  sha512.doc = "849652e8def77d6f9f0d16f29753df5e5b9095bcfed9be8105294df7ddc26644d1784a27a8b203d9e6c295c0f1e7f58d36f17bf98752ec9ee26ac3ac5a2f361d";
+  sha512.run = "d100ebfbd0b52945d0cf943995dfd2cad8f8bbfc8fd7260ce288a3f164b1ffdce9b4b604900bcb9f69e95e4a302c574746757c79b7af9e7d5fa20d349e7ce107";
+  sha512.doc = "cd1be496767b9817978e9baacb7a3edf6c1d025b6aafd701772a289318fe86998904863148e8e2e807f74207fb089e27a1e3e60100587c4179fa91363b85864a";
   hasRunfiles = true;
-  version = "20.21a";
+  version = "20.22a";
 };
 "cancel" = {
   revision = 32508;
@@ -4657,11 +4715,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "caption" = {
-  revision = 56771;
+  revision = 62758;
   stripPrefix = 0;
-  sha512.run = "d0e7276e6e84cabc85d64bc397fd2e4a258e913e4f78022ae40f3c7293e7f9b3f34dd011a944223507cb1555dbf2031dc563e34a5f7064e9903964bda5a893c3";
-  sha512.doc = "50018fff476b99763a3373b9defdf9de854915af11cf37f3a00907483ac481b9a0709d23f6d3612ab754c3f079eda905c5fa3447f576dadcb65f83a5ae5a98e8";
-  sha512.source = "5f961b0fb1a11d5f28d75f58331d0b79bb87800d4a5412c57a66c5693c07225a46e49cb42f8f0653e06a74e2c7de38660f99d89f12905892f47fda5ba6820826";
+  sha512.run = "13ec8a47a33bb4fa39e7d3a326b1dd91c7b12b43dcdd1da95d21b7a8cb80b7a904a92929f23f296170ad0395c3530194f4d49cc406e72f8377baef255efa653d";
+  sha512.doc = "ebc895097c37b3d3ada7b6f62b406e4d8736ca5094833c0d907da65dc2fb62e2ee82dd755e06c23fec4c30fd79737cc29ca37df25b65f9f6e1a698bfe1e2087a";
+  sha512.source = "ceeef51d4dc417245a58cb679c49f5ef2d0a3255c2ae272ab8e3ac9846ac47fd28e2a479c0e334017b2027708499b164a6e879811af9bad9accd68f099cb700b";
   hasRunfiles = true;
 };
 "carbohydrates" = {
@@ -4789,12 +4847,12 @@ tl: { # no indentation
   version = "0.2.7h";
 };
 "causets" = {
-  revision = 57139;
+  revision = 61916;
   stripPrefix = 0;
-  sha512.run = "3dbe4a3c2e5985dbb4a36134a3739adb97636086ad2c1d3f510e4607fb6a6d0d01cbd2d4e135835a9eb88d63128e3b9a4408bce3b910c406b47dad0d0b5c19b6";
-  sha512.doc = "77f5ec1d8c16bb6d3772a78913825a1652c5130327e7851ddd16d5a5b0da9315e09dc113c880659b03d4263558781c36e1ed9ac546fabb9df88cfd4b4a3fb84b";
+  sha512.run = "48663667984e3a54effeebe59cc819815fe3e2b0a98efc40b28fd6812dc30fea796b70675b7404514efdf33b703a13a37a283e874a81483cebec5d60c568ae9b";
+  sha512.doc = "4e67ccd6777d5142412545afa30daa438a39f564420c4c5e76f3219b126caec5162cb93b1987c7c666957a604ce52b41e4757986e9118828e88f3703ce22f99b";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "cbcoptic" = {
   revision = 16666;
@@ -4839,13 +4897,12 @@ tl: { # no indentation
   version = "3.2c";
 };
 "ccfonts" = {
-  revision = 54686;
+  revision = 61431;
   stripPrefix = 0;
-  sha512.run = "abac4ad2c89e2d07281de95ac76922066713c511a77d067219dee9fff64e6ed54870da0db5cf83bacca89af11b2e720e352638eee1adfd4265e63a9e887ade14";
-  sha512.doc = "a327a036c804040973462e836c6028895cbb3897047785c1e1f9152ba85393aaa0ab6c876b8878e58bc8e124656ba22e38bcc90ca75ba8d7d74fbbb66a1a4955";
-  sha512.source = "fe3f77676ac1ddad784ef83cbe96e5a70219b7f7fd5b624f7338a95655851cac79d7c28951ac4ec1a62fbb62cd087b22bf38712b0130e05a833f2d46195d62ec";
+  sha512.run = "fb111cd33ec70fa672e759c9fc2894f6b0338e40bef7d1b2fda2c37a437fb1a5ad87ec87169ec389d9eb21068c890c960a5cc24efd6e443b5995d5001f4f7115";
+  sha512.doc = "b0e9b5ce6010b03afc52b6f4f7a978e8d5a8f1a382750bdbde0b758209e7f8dc57f84d950163e64381c2d7a8366a50a34c02286cc2011b9cde3e0d40810e01a4";
+  sha512.source = "30a301941132ba7b85c59b7e806d2b28ff314bcaae30c228337344f09846cc1051a73df1e4a2b76e36d499095c5a21000f250ec13f967a6080280ea120dbecc7";
   hasRunfiles = true;
-  version = "1.2";
 };
 "ccicons" = {
   revision = 54512;
@@ -4901,11 +4958,11 @@ tl: { # no indentation
   version = "1.0";
 };
 "cdpbundl" = {
-  revision = 46613;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "142dc5657e1482cdf7392ee7df6967557cf09e5b733b12e8c7559863c2edc66a3439b29c7cf16c2461cc1090090117337f63db899bf7bba0cc23d04bb573c633";
-  sha512.doc = "3fbfe5b5a8771bf3a74c6adc7a90e04f6085179c11a6db4ed8ebe644e00e334f447f3d32214d72ac341d18e3c79d3bfcfd788053d2065eeced76ad7c7ce6a9aa";
-  sha512.source = "579575c916a417be5d097d7e766c0cc599856d0b2aa3d4eae5880748c57c7735457aed493d3818974f25f07990b7496b6c5a92ceee39e0116510c420ae69d81f";
+  sha512.run = "ab13c84673df8a4da5b694256ab14f3c4fab34ff32e8d2faa8712da128baefcedc19c8bcccc77a585171d25e17369af274176971a33679e07d2bd138d4766603";
+  sha512.doc = "5ac8e2878434ca3b30ae20c6d1ca7c19b7ac12a38f9598d265ca6c7c214beccc144b75ff5962faf3b58b74b1ec91ab2c265d5429b98206db1fd1c558fa79385e";
+  sha512.source = "b958ade1a2a9f9b685c6d7821e1a97304f0c07b9405a95231a166fe5d8ccd8f89dbf168d38996e1e633629042827cb316b81754996d9b09f4d951573967dcea9";
   hasRunfiles = true;
   version = "0.36d";
 };
@@ -4926,12 +4983,12 @@ tl: { # no indentation
   version = "2.0";
 };
 "cellspace" = {
-  revision = 50374;
+  revision = 61501;
   stripPrefix = 0;
-  sha512.run = "d2de1e55913a434eb5b0ab19f615ee325dca750eaa8d61222045220153d521eb8149bf025aa03b1e6a7c625cd994b8bdaea241b227b28d1622c1a75ec72d76fd";
-  sha512.doc = "a1cdfb273e8c32374b03dfcd1d2ccbf12a19918fdeada025cf948fefa624decda07f8c3384a4dd859efdaa9048adcf0c513f59f28e48f31062819c1f9acdcd0d";
+  sha512.run = "75c32e958beab58086d8ba91da3bf1a4a4b9f3ec306dd5369798298c45cc67ee44c591e616062072ae399aa89c90edabe597665901ec60f46fb9fcd9d4c462d5";
+  sha512.doc = "3a6044a5b3e38ea425174481bf0f079943b53b9cc7d68668f5666c72c33cc5edfb82aac08bc3347225e4838dc32579ea611e8fcd2619468e080cc63c11a38da3";
   hasRunfiles = true;
-  version = "1.8.1";
+  version = "1.9.0";
 };
 "celtic" = {
   revision = 39797;
@@ -4943,12 +5000,12 @@ tl: { # no indentation
   version = "1.1";
 };
 "censor" = {
-  revision = 61389;
+  revision = 61969;
   stripPrefix = 0;
-  sha512.run = "1d3aec8389a5c2c85a68ceb5b69cba5292f7f53913c2f1c79fa1dd3e1d37c2368401d5bbb58869ad281f981a663d55a8dcf792e71fc2440278d58f9ee65f4b3f";
-  sha512.doc = "78fccd2b3e36161eb80340134978017e0091c085aa53d58ddd65ea068e77eb4e7d54d2ebb50496feaa12d825c3580563e145d38ff903376a36447ab6b50687a3";
+  sha512.run = "63e12a97658a262b3492ed96d39acb6cad19dd87b07e0151548230fbc46f6e1d18b9ea1747708be1a506f014716a2ddd5638c4f161785b217c89254d577779d2";
+  sha512.doc = "7d5c118621ef6bc8abd85ceb0b3a83e3e0a9983fc2a7b74152704aa1c9e9a9484f17cee68e14ee7531945f1f331782c9cd19624dd6cc13d1f384f0ab2d43a7f0";
   hasRunfiles = true;
-  version = "4.0";
+  version = "4.1";
 };
 "centeredline" = {
   revision = 50971;
@@ -4977,10 +5034,10 @@ tl: { # no indentation
   version = "0.2";
 };
 "cfr-initials" = {
-  revision = 36728;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "d67830168afffe72ef37784db45176528065210d4956b4aef2a166d41c886f5b3874e0878da9c56302412cf5939291451e1e20ba3e676429c598342982b64083";
-  sha512.doc = "0d628f9134254a92c7b88d0744b588bb197c6850d7d5e44a90e91c1ed128625c7add731916b727c2d3b532ade017daaf17f45e446e4bc6f0e447bb5fdb770066";
+  sha512.run = "b4799007822a3bc82370b72ead503661f70cce1beb7a27bf1bd2523283a248045b0ef863ab1dd9bd93b39441e50d51fabe11a12fe6528a7966219a2da2618141";
+  sha512.doc = "124dbae846ced93e4cbf5b9c16235295c7e76306830bc9e08cdb5a4e8d0d5f9deada4706c6c41cc383f440e9e874cc1cc338176787ad029f8164bbeba99db965";
   hasRunfiles = true;
   version = "1.01";
 };
@@ -5055,12 +5112,12 @@ tl: { # no indentation
   version = "2.0.1";
 };
 "charissil" = {
-  revision = 60294;
+  revision = 62157;
   stripPrefix = 0;
-  sha512.run = "71c215dbbfc5d846ef00c9d4f40e22904dffb0b28587630527fddc7cf0cc40d4c68b7b913b8494a2fdb782e56048f5cc352ddc9b33ea2a2c9b7c3c97a4328507";
-  sha512.doc = "74d9d178c12d85f91805d46bdd6fb07f1367a14ae75f00377b97455c904b1436b068abf3ae52a4d9c6e2e7886e2f2211f09a2733422c05eef4d71e7a8a925b38";
+  sha512.run = "e79c5711cccb3dfb0d7958eee7941736810c49d8af7e761d3c274e3ee2c6f297c236fefc49ae54e19f0d238f700372c1199d64370955532ad60a7f28e8fcfed2";
+  sha512.doc = "12dd8f9dea6792396465e425fc53ef5c11fa944b179a4303eba3a956dd18295ddeac7ac66c9f42aaa40ab832aee0fde4b12a0cf21165f756bd7478e367b05c9b";
   hasRunfiles = true;
-  version = "6.0";
+  version = "6.1";
 };
 "charter" = {
   revision = 15878;
@@ -5166,13 +5223,13 @@ tl: { # no indentation
   version = "1.6b";
 };
 "chemformula" = {
-  revision = 57206;
+  revision = 61719;
   stripPrefix = 0;
   deps."units" = tl."units";
-  sha512.run = "6f1cbdeb8a7a30cf561febcc1232d92feadaa59c796a96881ebb04379c49804e8d39cc65dc96bba02d1843118fba347660e23906ea5633af6f00c4fb39388e60";
-  sha512.doc = "61da2685650fa1652e20c97c4ed51930b133cfb137f3c1bf8dbe0477b22293693e6837c9545bed3175aa3722e8710441ca12d063bb36542b13e2cd413849cd32";
+  sha512.run = "907efcb72ebf3a315bffc11a8d78caa82b510993b4a4de1da8a960bbd6c66bdf5bc202933fce5f4f0626ad4507a5095b571487beb2414bc49bd37e735f0299f1";
+  sha512.doc = "c839fed7313744c6abb77fd4f803524c47af7f9ca0e4b533b307a198cc2fefc072541d58afca8cfab6a17b85ecdda4d3bacd451ac9616b47a448560a97f3b62a";
   hasRunfiles = true;
-  version = "4.16";
+  version = "4.17";
 };
 "chemgreek" = {
   revision = 53437;
@@ -5183,12 +5240,12 @@ tl: { # no indentation
   version = "1.1a";
 };
 "chemmacros" = {
-  revision = 56983;
+  revision = 62656;
   stripPrefix = 0;
-  sha512.run = "9ca4d903e5d1126aa4f6fc6c07ea2efc86a5750883c354f3bcd48dbe3960ac3ea2cbc47626c67c8f8bec5343d7dd4d61aa548faa33cc42ab09d15011da551a2a";
-  sha512.doc = "3482d6c49bf23bd604a2d0c4f506762c61abc1e2785cf83685af2f96006b9093886d51fed8c16a5e430b35f138ccbd35d183291208df47e1281b47d758d7d123";
+  sha512.run = "d6f6b8a68a1fe654fea76a46b9880e12b41215ef37f4e12c4616735caa15080841193b16536b96404eb658618d3d3a19dd848dbe1e11bf70b0b5a28854069814";
+  sha512.doc = "308fa2c41ce1d5a9347e6e9c6a2ec9bcff8ffaedf6046c2ad48dcbccbddd530bf5f4ef39931cb8630d72ce5e41d78bb190a39a115367196bb008f39dca56db1c";
   hasRunfiles = true;
-  version = "5.11a";
+  version = "6.2a";
 };
 "chemnum" = {
   revision = 57490;
@@ -5293,13 +5350,13 @@ tl: { # no indentation
   version = "1.01";
 };
 "chhaya" = {
-  revision = 59566;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "b5b85d8a65922ebb610bb49ae574138f93efb4cfd0bb5bf0610ebaa6f31fa14e393d47a27b831b6e894f4210222809e5d5d50f0e6df5cdba377f9d8695db38c6";
-  sha512.doc = "c255cd6183edd207ea269f32bde1a3f613b39cfe460695527957bcd42228ba97844eac4fcbb691affb91718e3c3720226cf3e60ffd8b49875644089ac7a7b8b2";
-  sha512.source = "3034b556c8932cc645fba70bc5a00b2fef63922c47a88c19dfc1d9c11793abc5ce24be30e420ecce16053970bab82df624c47bf964b20d6280690dabeeae6f2c";
+  sha512.run = "c8174ee6bbb8a57448caee6cd23bf7e41790dd1ff40cf496360548fadf1e7161b2e08b2ef53abb51b1410b406689267ce2d4a8668d052754e323a1d836670ba0";
+  sha512.doc = "0e6bab691d5a5965ab8ee575f84aeae44d26ed12fa8c7f636fd0997a4ec7c1d4efc4a43f3f451659b69bd367c759dc8c3239ca51c5d12c91ef7182e43acfd126";
+  sha512.source = "635430d05de402f7e56110516fd16ef455c1393cda27b61198ebf92cb9787b01ce85f58d0e06389d823a98a73514470d83624d87a035565d159323524de09439";
   hasRunfiles = true;
-  version = "0.3";
+  version = "0.4";
 };
 "chicago" = {
   revision = 15878;
@@ -5488,20 +5545,28 @@ tl: { # no indentation
   version = "1.3.1";
 };
 "circuit-macros" = {
-  revision = 60690;
+  revision = 61987;
   stripPrefix = 0;
-  sha512.run = "1487a935b764969c641e308aec9dc82c0b68df03f427dd2b9871b1035728303e7f16cabcd6f48d5a1c9289ef4541038b8a73cad66f77a7cafb8ba5b125afb406";
-  sha512.doc = "1f7d2dcbff417fbdb3a0f3208339236bbdc2066c1fa94520ee006f0f326faaaa3bb5f037a70a3c7eaa04e7a07319c58c8346613da8d0170bb36abd2aedc6e3f2";
+  sha512.run = "77dc6e34bd1e09231b1f6ccfebebdf0197dd633023feba1d9498db089204c9b703f268915e4f76eccf24fffaf15fdb2b8962f498f174085eb76563b04a30f3ce";
+  sha512.doc = "2c13ea2e449b19670e4faf81baec04e54d06ced867a578ff6e875dba6f8cfdc363a29787903590be8c834ceaa50512a77e696e3d6721aba88a2151b70966785d";
   hasRunfiles = true;
-  version = "9.7";
+  version = "9.8";
 };
 "circuitikz" = {
-  revision = 61231;
+  revision = 61873;
   stripPrefix = 0;
-  sha512.run = "d67f5c1285401bb8bee981b943bfcb248eb5f184fe2682dedd9639a391dfda0129c940a28f05542869cf1a211ce6e6f4ac8504c82d8111099e11f080fe133194";
-  sha512.doc = "8af04c7a0b5897b20179270e31c50dd4b0a152cd309a3201c60cb0447e8544b51dc7d0621bfa913e312b28017b19d407b266edadca3648ebb225e3b70c75fea4";
+  sha512.run = "39ae7dd2007955ccfb1a90b0dd9a82160d00d5e306d9fc07ba3ebc5757507bc5104fa5b70aa1e67d46f93725b3a531defd834c3be496c305aaafe65af1316951";
+  sha512.doc = "ec72f73aa3f0bb0b580f2ee6e88d9249b95f9b7c21953c233c302ab025b130249baa08df84960f0c95d6dfe236ff21396208cf129ff5451f7443eacb684ad760";
+  hasRunfiles = true;
+  version = "1.4.6";
+};
+"citation-style-language" = {
+  revision = 62863;
+  sha512.run = "0e65dfe464b95978d42600dda7c55d4a5be5cf9afa1efb670abdd10758ab7d382c1521cb147a9129a5332488f18de879f49572028561807995a8c99317f6c98f";
+  sha512.doc = "02367f6e148d01bace6b04c1243d79f32af41233f32a537dba7453797176f3ffecda0f4954bdda19c2ce45b7a03fd354b92b28838fb4cb3d208a7b7b4f9b46f5";
+  sha512.source = "936fa66896065b525510d5423bfd5bdcfecaf47e8d18e0386931f7434013f221601d216dcd74344d9eb3f0563317d9fa263f99697b6296720bdf0278abd75cf2";
   hasRunfiles = true;
-  version = "1.4.5";
+  version = "0.1.1";
 };
 "cite" = {
   revision = 36428;
@@ -5648,11 +5713,11 @@ tl: { # no indentation
   version = "0.1";
 };
 "cleveref" = {
-  revision = 47525;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "669e122c22c55c1fe95353533a2c35adcd161080ab2e4f3120dab2286b60df316f4de792e9a6fe5b971d622bc2b087061836a3c0aebaf0bc5df17c854f64990b";
-  sha512.doc = "3885fe13cd51967620f1e48a25a82c2a4916b07ee45c963dfe9ea933a920f347512cf5c30f29ccef9c49c3862df4c9176fe0fa57b1043d3ac230b7cd8b3f8d78";
-  sha512.source = "71a49c96a943dc152cc1621e9e0ce1d0fe62762fa51f670ecd4a0e5a3613ccc52d41db355cfb0c31fc81867bdc07c26acd3e9ad74e0209459a099be823df2308";
+  sha512.run = "7e425fd19bd559a2a3f3091f6dd3d6711e6bb4ec01f6a3f8c1dccd60cb6518f3ffe563c1b68e3b379eab7be140f7ff5f3c68dabf3dc85d196aa2d41f81a67acd";
+  sha512.doc = "87760a9503b5ead92a1a8f26f9c0195487b5e7a1f97cb11519791f247cf87d35f044f68738d3563ac4a84d7f283d3907eaa816f2d4f8dc4f9cdc5114df639d99";
+  sha512.source = "aae3fc03f3ccefc9c58b1372a337afc9f0fc201d3db9938a01a1832711ce10e0f0b13e72da021c328f6bb1099dfafc8378663016ca6969ecef10dd5bf3683937";
   hasRunfiles = true;
   version = "0.21.4";
 };
@@ -5672,6 +5737,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.3";
 };
+"clistmap" = {
+  revision = 61811;
+  stripPrefix = 0;
+  sha512.run = "71da5b4136bd73945ec0e1d9fe429892960a9167b39febc0d53b7a628357db59240929ed6d8c31096c170cd0b2f5c60452f364d8903be40a6a4bf0b590069520";
+  sha512.doc = "8c0ca62ecf95989e1e4f90b6c606e421bd5f536ca9d7e3745384537b33b5745b221c6485e0fc5d5a52ddfa720e34f6260eb8bec0557d7e4171406ad4985b789f";
+  sha512.source = "b93a6e3bda06ce394c006964046d683576474d1ccc6b8cdde069c188cf8d146be43420c5d55a9d22bca554e87ea9309faaa73b5d0b8bb1b56981414b4b99e46a";
+  hasRunfiles = true;
+  version = "1.2";
+};
 "clock" = {
   revision = 15878;
   stripPrefix = 0;
@@ -5934,12 +6008,12 @@ tl: { # no indentation
   version = "0.3";
 };
 "cochineal" = {
-  revision = 61309;
+  revision = 62063;
   stripPrefix = 0;
-  sha512.run = "8dad7837aaad184ece6f54ee03b39e1e988693d64b2cb31b370e2577b20a10bb2aa14c8575150ae71c218626f3d3f75be2d9a6af59eacb564860406d4abdeb1e";
-  sha512.doc = "76dccdc0895a2f69bde1fec39ccc8ef5af68241c4938e49f69d8647f30539b21cedb58629ce136340f4114b78a0c7b1384d17f1e073332d4f0b077090f4f0656";
+  sha512.run = "9ab8abcb37615f7381132181a991adf35d34d61c81ed5100e02e9d314a0e555669a6488edbf9fd698a239ead8f49221410333705d2074046eb3e467f31ea7196";
+  sha512.doc = "5bf6a83c03d5a87567a42379c7f8462b1f52245fad5b18839532761cf855f45e596b76ea266e361527a6f269b008c6a2515cce2a616f372daaf06e6ddd6efe73";
   hasRunfiles = true;
-  version = "1.074";
+  version = "1.077";
 };
 "codeanatomy" = {
   revision = 51627;
@@ -5951,12 +6025,12 @@ tl: { # no indentation
   version = "0.4-Alpha";
 };
 "codebox" = {
-  revision = 61415;
+  revision = 61771;
   stripPrefix = 0;
-  sha512.run = "1d5ac25299755e3fff1adf6e0d06daf87d5f2885ed59f65374c97a89f3060f83353fe53eef5cd9c73c680b817d8cb8b4cab090d702e0e98875f8fb5565c508b3";
-  sha512.doc = "335ecc7cb568e2f06be995148a1da0e979e3fb07e294c734ec7298b9d4ca70eb270a5bcb01dadffc3bd33cde298bf44ca33009caacfc66df8a7a1edbd9ae7d8d";
+  sha512.run = "04f63b435f360fdfa81bb7afeef38117a8a4b81b70562e21020470f49f33abc33038d6c55665a5ae4573ff61c19ed9120e824eb319ea97523fe1fa8e82ba9424";
+  sha512.doc = "165fffcfbff35064a3c55a0fe1b095f3a45a5c01d1c8a8704cd151cbb20c440592edecc3be71900b1a7a5e7af28d6a8d6c4a3b9fd09f850c7da71362e2377ddd";
   hasRunfiles = true;
-  version = "1.0.0";
+  version = "1.0.4";
 };
 "codedoc" = {
   revision = 17630;
@@ -5967,12 +6041,12 @@ tl: { # no indentation
   version = "0.3";
 };
 "codehigh" = {
-  revision = 59173;
+  revision = 61937;
   stripPrefix = 0;
-  sha512.run = "715c81105caba420b192d9223fb4be038e11a2a434dd73c033280ce9908de91659b41faea92299eb656b7d3974ad7f29393591bff8c87945d6ffb1d9199dad0f";
-  sha512.doc = "147abe790b005630f48f84f589453e526f2b92b81ae311eb29a2be3304cb97c546b35a311b55a45a51e5d7b184469ace286cbdd90b20a6034335fb60dd436e75";
+  sha512.run = "60111e55fa14f890bb808e98f6ee06b2c1f2208dd317a9558e484863596d8bedb6e39d5a4d28cb19fc42f3d9a6b46c79de32003fa64b825165c3b2f2b15ebd3a";
+  sha512.doc = "dcc71d0de5f5ac580e2694816230bc9daa7680c52297c52abdc20b27f5d01b63a86ce0b07eabacbc4f0fcce97c532cd7a66097fdd28883b69a36c149bd969801";
   hasRunfiles = true;
-  version = "2021C";
+  version = "2022D";
 };
 "codepage" = {
   revision = 51502;
@@ -6079,7 +6153,7 @@ tl: { # no indentation
   sha512.run = "4241bc3a3ef21502faa9a2e0b16295126c357fc15813a625306552b40f9da804164abccce642f4ec1e677092f81d61381958b87fcf515120a12f9b7a19055370";
 };
 "collection-bibtexextra" = {
-  revision = 61166;
+  revision = 61687;
   stripPrefix = 0;
   deps."aaai-named" = tl."aaai-named";
   deps."aichej" = tl."aichej";
@@ -6146,6 +6220,7 @@ tl: { # no indentation
   deps."biblatex-philosophy" = tl."biblatex-philosophy";
   deps."biblatex-phys" = tl."biblatex-phys";
   deps."biblatex-publist" = tl."biblatex-publist";
+  deps."biblatex-readbbl" = tl."biblatex-readbbl";
   deps."biblatex-realauthor" = tl."biblatex-realauthor";
   deps."biblatex-sbl" = tl."biblatex-sbl";
   deps."biblatex-science" = tl."biblatex-science";
@@ -6176,6 +6251,7 @@ tl: { # no indentation
   deps."chicago-annote" = tl."chicago-annote";
   deps."chicagoa" = tl."chicagoa";
   deps."chscite" = tl."chscite";
+  deps."citation-style-language" = tl."citation-style-language";
   deps."citeall" = tl."citeall";
   deps."citeref" = tl."citeref";
   deps."collection-latex" = tl."collection-latex";
@@ -6240,10 +6316,10 @@ tl: { # no indentation
   deps."windycity" = tl."windycity";
   deps."xcite" = tl."xcite";
   deps."zootaxa-bst" = tl."zootaxa-bst";
-  sha512.run = "4a1af72d2fe5b01c48edef29cfda816dfeb9b5f7b247080bd93a590b7829e17863698b1a5e3c714837da6190072cfc5cac8927528c6c80923c422ea06a4151e4";
+  sha512.run = "cb594df1d769e879ed998ffc0aea6407654df2450b71740399cbfdb097ff758c1a557e055edd7ff27bc647d857a04977d8179bdeaeff08a710090db54ede974c";
 };
 "collection-binextra" = {
-  revision = 61328;
+  revision = 61780;
   stripPrefix = 0;
   deps."a2ping" = tl."a2ping";
   deps."adhocfilelist" = tl."adhocfilelist";
@@ -6335,6 +6411,7 @@ tl: { # no indentation
   deps."texlive-scripts-extra" = tl."texlive-scripts-extra";
   deps."texliveonfly" = tl."texliveonfly";
   deps."texloganalyser" = tl."texloganalyser";
+  deps."texlogfilter" = tl."texlogfilter";
   deps."texlogsieve" = tl."texlogsieve";
   deps."texosquery" = tl."texosquery";
   deps."texplate" = tl."texplate";
@@ -6347,7 +6424,7 @@ tl: { # no indentation
   deps."xindex" = tl."xindex";
   deps."xindy" = tl."xindy";
   deps."xpdfopen" = tl."xpdfopen";
-  sha512.run = "2c43f846d80779eec53041c31be14285a361f5f7087f2f33856084875f1b3f941bfa6a9968731d53e28aeb4a1f0a2777b8d8a9a8a7fea2eea28f22f474b60664";
+  sha512.run = "4d0596370bd11012469ac81c3875dc56cb2428207b38a887b1dc7b9e1ce1f4ef557dc7dde3ae5b2001573e3d9e5efb87b72898a233010f26e7d41df8542b817f";
 };
 "collection-context" = {
   revision = 54074;
@@ -6393,7 +6470,7 @@ tl: { # no indentation
   sha512.run = "5bd74e1a434549cf31ce31777e9a32f90baa14148e6658633945508a46dbf6611644c4212b53812bb32a399e850517369e3d89bb0e495c89e6f2a979090ed765";
 };
 "collection-fontsextra" = {
-  revision = 61165;
+  revision = 62069;
   stripPrefix = 0;
   deps."aboensis" = tl."aboensis";
   deps."academicons" = tl."academicons";
@@ -6407,6 +6484,7 @@ tl: { # no indentation
   deps."allrunes" = tl."allrunes";
   deps."almendra" = tl."almendra";
   deps."almfixed" = tl."almfixed";
+  deps."andika" = tl."andika";
   deps."anonymouspro" = tl."anonymouspro";
   deps."antiqua" = tl."antiqua";
   deps."antt" = tl."antt";
@@ -6481,6 +6559,7 @@ tl: { # no indentation
   deps."comfortaa" = tl."comfortaa";
   deps."comicneue" = tl."comicneue";
   deps."concmath-fonts" = tl."concmath-fonts";
+  deps."concmath-otf" = tl."concmath-otf";
   deps."cookingsymbols" = tl."cookingsymbols";
   deps."cormorantgaramond" = tl."cormorantgaramond";
   deps."countriesofeurope" = tl."countriesofeurope";
@@ -6570,6 +6649,7 @@ tl: { # no indentation
   deps."grotesq" = tl."grotesq";
   deps."gudea" = tl."gudea";
   deps."hacm" = tl."hacm";
+  deps."hamnosys" = tl."hamnosys";
   deps."hands" = tl."hands";
   deps."hep-font" = tl."hep-font";
   deps."hep-math-font" = tl."hep-math-font";
@@ -6725,12 +6805,13 @@ tl: { # no indentation
   deps."venturisadf" = tl."venturisadf";
   deps."wsuipa" = tl."wsuipa";
   deps."xcharter" = tl."xcharter";
+  deps."xcharter-math" = tl."xcharter-math";
   deps."xits" = tl."xits";
   deps."yfonts" = tl."yfonts";
   deps."yfonts-t1" = tl."yfonts-t1";
   deps."yinit-otf" = tl."yinit-otf";
   deps."zlmtt" = tl."zlmtt";
-  sha512.run = "e539f0113027096949bb29bcf4d05d6baea025203689ad9031df999357b72aaff2caf655bb694f759ab88f24fc76446f58932c351daab6dd66199fae564588c2";
+  sha512.run = "7c6abb230bf1b78579794de45b5a75ede8364db0dfb88fae1daa88c6068e479c101cd182d4431d2306cf34a31035fb11e1becd486e366048f8cd5dfb7e2183a5";
 };
 "collection-fontsrecommended" = {
   revision = 54074;
@@ -6821,7 +6902,7 @@ tl: { # no indentation
   sha512.run = "7700a6cc293a1d45208794db34a276d5de5c975fe91cb00e5b1896515f288b05437344f00997501a54ad2af515bccc983930a75ddda55c6951edc625cd6bda35";
 };
 "collection-games" = {
-  revision = 60276;
+  revision = 62102;
   stripPrefix = 0;
   deps."bartel-chess-fonts" = tl."bartel-chess-fonts";
   deps."chess" = tl."chess";
@@ -6837,6 +6918,7 @@ tl: { # no indentation
   deps."go" = tl."go";
   deps."hanoi" = tl."hanoi";
   deps."havannah" = tl."havannah";
+  deps."hexboard" = tl."hexboard";
   deps."hexgame" = tl."hexgame";
   deps."hmtrump" = tl."hmtrump";
   deps."horoscop" = tl."horoscop";
@@ -6863,7 +6945,7 @@ tl: { # no indentation
   deps."sudokubundle" = tl."sudokubundle";
   deps."xq" = tl."xq";
   deps."xskak" = tl."xskak";
-  sha512.run = "18d6ed96d053855a6aaad235f953a77bff3717aefdbdaef7782aa9144255ce26be628accf440b2b4c5d2887b74abeebd47923c494bb8a844e1a3adf0312a0cdd";
+  sha512.run = "b5dc1af44bece3e3497431f073c2a6730eafb224b6af7188c16b6310685b2e0d0a6c536cab7daf5333bbcfe0bf74251afb49870dd0d557aa59e3a1b745f67603";
 };
 "collection-humanities" = {
   revision = 56575;
@@ -6959,7 +7041,7 @@ tl: { # no indentation
   sha512.run = "3fdcf41fafd94373254281f3f7ee9f2a2e136cfa1adc1dd38e4b5cd6f90d0364e6a20d3284fcf255f245158352421e28cfb794c673b8b96399a20343ed991fc2";
 };
 "collection-langchinese" = {
-  revision = 60575;
+  revision = 61913;
   stripPrefix = 0;
   deps."arphic" = tl."arphic";
   deps."arphic-ttf" = tl."arphic-ttf";
@@ -6994,10 +7076,10 @@ tl: { # no indentation
   deps."zhmetrics-uptex" = tl."zhmetrics-uptex";
   deps."zhnumber" = tl."zhnumber";
   deps."zhspacing" = tl."zhspacing";
-  sha512.run = "37c2d9098d0436881a60f5b23506cd973902b6cfd61e21d2d60841b41a939290fe4b03c660ceb0b9698b5be9bb0603e819800a6b1cc80afa2ac63f21e8996dc6";
+  sha512.run = "3df5cd6944b02a2760836149ff9c80e8fcbceee26607974ff9c3100c5ab0b8be35a9df9a5bcbba8ff3c502471c5191d01403bc358d03a7eb589b4c1495a338ae";
 };
 "collection-langcjk" = {
-  revision = 60595;
+  revision = 61912;
   stripPrefix = 0;
   deps."adobemapping" = tl."adobemapping";
   deps."c90" = tl."c90";
@@ -7013,9 +7095,10 @@ tl: { # no indentation
   deps."norasi-c90" = tl."norasi-c90";
   deps."pxtatescale" = tl."pxtatescale";
   deps."xcjk2uni" = tl."xcjk2uni";
+  deps."xecjk" = tl."xecjk";
   deps."zitie" = tl."zitie";
   deps."zxjafont" = tl."zxjafont";
-  sha512.run = "c8ac36a28cf38e9cab5069a396777821a07ad58bb9b00eeebd8520971933ae57a53ddac267805196687993ac0403f68d1236ffe6de9321c2c0a3c659a1659ffa";
+  sha512.run = "6b00955359e063df2a7c02f2d44f88e6190d65834b8e5c77e9c67e44b8c9de9cee612cd298e79fe3cd598fd58996ace0829d3a5463cdc25b543e7565b1455e31";
 };
 "collection-langcyrillic" = {
   revision = 54074;
@@ -7091,7 +7174,7 @@ tl: { # no indentation
   sha512.run = "719c321173ca12660891080dae509080934f72d13a9417b2c40a22add963c7c5a1ee95d3b306f0d6c26b0db97d69979c27fbb15d1690849aa03b06d4b0193a67";
 };
 "collection-langenglish" = {
-  revision = 60687;
+  revision = 62606;
   stripPrefix = 0;
   deps."amiweb2c-guide" = tl."amiweb2c-guide";
   deps."amscls-doc" = tl."amscls-doc";
@@ -7120,6 +7203,7 @@ tl: { # no indentation
   deps."latex-brochure" = tl."latex-brochure";
   deps."latex-course" = tl."latex-course";
   deps."latex-doc-ptr" = tl."latex-doc-ptr";
+  deps."latex-for-undergraduates" = tl."latex-for-undergraduates";
   deps."latex-graphics-companion" = tl."latex-graphics-companion";
   deps."latex-refsheet" = tl."latex-refsheet";
   deps."latex-veryshortguide" = tl."latex-veryshortguide";
@@ -7142,7 +7226,6 @@ tl: { # no indentation
   deps."plain-doc" = tl."plain-doc";
   deps."short-math-guide" = tl."short-math-guide";
   deps."simplified-latex" = tl."simplified-latex";
-  deps."startlatex2e" = tl."startlatex2e";
   deps."svg-inkscape" = tl."svg-inkscape";
   deps."tamethebeast" = tl."tamethebeast";
   deps."tds" = tl."tds";
@@ -7160,10 +7243,11 @@ tl: { # no indentation
   deps."visualfaq" = tl."visualfaq";
   deps."webguide" = tl."webguide";
   deps."xetexref" = tl."xetexref";
-  sha512.run = "b5d9f13c65fb79f647204e5dadb7cbf9c72cfa8408a92fec25423400ec238e823a851b7a83f24c2482cfcd58e81ff92c9bd6f352c2a09b65181c6e85135fe52a";
+  deps."yet-another-guide-latex2e" = tl."yet-another-guide-latex2e";
+  sha512.run = "e42fa06f9a57ea2e267ddb692ad445307cf78eda9d1222e9e304d00e01ea6612bdfc93d012b3539b1f2574623efc0737e0b459c7cb2587479fd47b37174591df";
 };
 "collection-langeuropean" = {
-  revision = 58626;
+  revision = 61419;
   stripPrefix = 0;
   deps."armtex" = tl."armtex";
   deps."babel-albanian" = tl."babel-albanian";
@@ -7222,6 +7306,7 @@ tl: { # no indentation
   deps."hyphen-turkish" = tl."hyphen-turkish";
   deps."hyphen-uppersorbian" = tl."hyphen-uppersorbian";
   deps."hyphen-welsh" = tl."hyphen-welsh";
+  deps."kaytannollista-latexia" = tl."kaytannollista-latexia";
   deps."lithuanian" = tl."lithuanian";
   deps."lshort-dutch" = tl."lshort-dutch";
   deps."lshort-estonian" = tl."lshort-estonian";
@@ -7232,10 +7317,10 @@ tl: { # no indentation
   deps."rojud" = tl."rojud";
   deps."swebib" = tl."swebib";
   deps."turkmen" = tl."turkmen";
-  sha512.run = "a1fe7a0531b3a0581591988c62cba7c3032bab5ed8291edbff2c8573adae0ce96ea9087c7f4b018ad0ae341070a826501fb6a92d768ae939a632bae41c0d84f4";
+  sha512.run = "ea3c6897bb6ecef53a21ab9adc8a80c9578107b96f972193909fb47d2bcbe9515099a8d2dd7276492ece95d2ff3c5e98d92446deb42bc0dc9a7c9fdf21621055";
 };
 "collection-langfrench" = {
-  revision = 60273;
+  revision = 62880;
   stripPrefix = 0;
   deps."aeguill" = tl."aeguill";
   deps."annee-scolaire" = tl."annee-scolaire";
@@ -7264,10 +7349,12 @@ tl: { # no indentation
   deps."impnattypo" = tl."impnattypo";
   deps."l2tabu-french" = tl."l2tabu-french";
   deps."latex2e-help-texinfo-fr" = tl."latex2e-help-texinfo-fr";
+  deps."letgut" = tl."letgut";
   deps."lshort-french" = tl."lshort-french";
   deps."mafr" = tl."mafr";
   deps."matapli" = tl."matapli";
   deps."profcollege" = tl."profcollege";
+  deps."proflycee" = tl."proflycee";
   deps."tabvar" = tl."tabvar";
   deps."tdsfrmath" = tl."tdsfrmath";
   deps."texlive-fr" = tl."texlive-fr";
@@ -7278,7 +7365,7 @@ tl: { # no indentation
   deps."variations" = tl."variations";
   deps."visualfaq-fr" = tl."visualfaq-fr";
   deps."visualtikz" = tl."visualtikz";
-  sha512.run = "1c2f420219068bafd0ef9050514b070e932de1e818666409f87985b92fbaee75e54e84b117c28982fbd0fc9791267d8e7d494386393935944722975d6f652642";
+  sha512.run = "9cae5e7b61afc743e3b1b4b3463fb9b076da33180bf75562fd4e58dc8688782d6cc7ab7bee59cf4302d42e7801703dfe6b2498ebd537998f483fc9633dac425b";
 };
 "collection-langgerman" = {
   revision = 55706;
@@ -7332,7 +7419,7 @@ tl: { # no indentation
   sha512.run = "19b9f47b68ca6068900c413d8216e13c20d25ab084cdcbd500694a18a10cbaa35ba5681be09392e0b20873788519a436c28c1ea89a728e3f546083ce0883c15c";
 };
 "collection-langgreek" = {
-  revision = 54139;
+  revision = 61820;
   stripPrefix = 0;
   deps."babel-greek" = tl."babel-greek";
   deps."begingreek" = tl."begingreek";
@@ -7355,10 +7442,11 @@ tl: { # no indentation
   deps."levy" = tl."levy";
   deps."lgreek" = tl."lgreek";
   deps."mkgrkindex" = tl."mkgrkindex";
+  deps."talos" = tl."talos";
   deps."teubner" = tl."teubner";
   deps."xgreek" = tl."xgreek";
   deps."yannisgr" = tl."yannisgr";
-  sha512.run = "15a0ac0f1e4e3c4f1e107e34ae2794e637b20a00e1d40f3a8d8fda225ff8a9e948fb77153b043bbcd0e7aaef4840a97ce9e19ae059ce2560d468fc373fc37cfa";
+  sha512.run = "baebeff22de8ed3847b39eb7a2a8de90e02f872e98a427461a278a7fcf186695b640d7872dd9e99c54a0f352204703c22eeb6a0a6592a5752d7ca230a769755e";
 };
 "collection-langitalian" = {
   revision = 55129;
@@ -7385,7 +7473,7 @@ tl: { # no indentation
   sha512.run = "6ec5e8a62e3c1ed8e3c23542381091d38c77af507af7088a55e44f1e34b85d01ec19342db4541d9d6cd712c0929d54a3fc663e1d8fde3c53fef0d6fc43be4994";
 };
 "collection-langjapanese" = {
-  revision = 58754;
+  revision = 62077;
   stripPrefix = 0;
   deps."ascmac" = tl."ascmac";
   deps."babel-japanese" = tl."babel-japanese";
@@ -7410,15 +7498,16 @@ tl: { # no indentation
   deps."ifxptex" = tl."ifxptex";
   deps."ipaex" = tl."ipaex";
   deps."japanese-otf" = tl."japanese-otf";
-  deps."japanese-otf-uptex" = tl."japanese-otf-uptex";
   deps."jlreq" = tl."jlreq";
   deps."jlreq-deluxe" = tl."jlreq-deluxe";
   deps."jsclasses" = tl."jsclasses";
+  deps."kanbun" = tl."kanbun";
   deps."lshort-japanese" = tl."lshort-japanese";
   deps."luatexja" = tl."luatexja";
   deps."mendex-doc" = tl."mendex-doc";
   deps."morisawa" = tl."morisawa";
   deps."pbibtex-base" = tl."pbibtex-base";
+  deps."pbibtex-manual" = tl."pbibtex-manual";
   deps."platex" = tl."platex";
   deps."platex-tools" = tl."platex-tools";
   deps."platexcheat" = tl."platexcheat";
@@ -7444,7 +7533,7 @@ tl: { # no indentation
   deps."wadalab" = tl."wadalab";
   deps."zxjafbfont" = tl."zxjafbfont";
   deps."zxjatype" = tl."zxjatype";
-  sha512.run = "7bccea1e7b80bf4ad0af3f0f6b5636088cdac94562fc87b4b619cdef5c9b2d0abef1ab588a6525acf920449a3bdf2e201f146f8ccba2851cdb70b46da92128fb";
+  sha512.run = "375d8f04d68e1ffa0ab790612aac02152c84d33c6904c7285d0f8ed2254eb3233af5a26100de92ed6a4d8b24f6b7c0b9977f8a9474a9caafff5a9a4ce66e967e";
 };
 "collection-langkorean" = {
   revision = 54074;
@@ -7651,7 +7740,7 @@ tl: { # no indentation
   sha512.run = "0568a3251d71fb3106fbb3961427200419ae1df22d39b5e72c608e2d94fc35a0e5c77fbe41bbb6fa33610321f2620624264d99675e2f88e72f9d156693143a7e";
 };
 "collection-latexextra" = {
-  revision = 61415;
+  revision = 62648;
   stripPrefix = 0;
   deps."2up" = tl."2up";
   deps."a0poster" = tl."a0poster";
@@ -7680,6 +7769,7 @@ tl: { # no indentation
   deps."alphalph" = tl."alphalph";
   deps."alterqcm" = tl."alterqcm";
   deps."altfont" = tl."altfont";
+  deps."altsubsup" = tl."altsubsup";
   deps."amsaddr" = tl."amsaddr";
   deps."animate" = tl."animate";
   deps."anonchap" = tl."anonchap";
@@ -7700,6 +7790,7 @@ tl: { # no indentation
   deps."assoccnt" = tl."assoccnt";
   deps."association-matrix" = tl."association-matrix";
   deps."atenddvi" = tl."atenddvi";
+  deps."atendofenv" = tl."atendofenv";
   deps."attachfile" = tl."attachfile";
   deps."aurl" = tl."aurl";
   deps."authoraftertitle" = tl."authoraftertitle";
@@ -7725,6 +7816,7 @@ tl: { # no indentation
   deps."beamerdarkthemes" = tl."beamerdarkthemes";
   deps."beamerposter" = tl."beamerposter";
   deps."beamersubframe" = tl."beamersubframe";
+  deps."beamertheme-arguelles" = tl."beamertheme-arguelles";
   deps."beamertheme-cuerna" = tl."beamertheme-cuerna";
   deps."beamertheme-detlevcm" = tl."beamertheme-detlevcm";
   deps."beamertheme-epyt" = tl."beamertheme-epyt";
@@ -7762,6 +7854,7 @@ tl: { # no indentation
   deps."bnumexpr" = tl."bnumexpr";
   deps."boites" = tl."boites";
   deps."bold-extra" = tl."bold-extra";
+  deps."book-of-common-prayer" = tl."book-of-common-prayer";
   deps."bookcover" = tl."bookcover";
   deps."bookest" = tl."bookest";
   deps."booklet" = tl."booklet";
@@ -7837,6 +7930,7 @@ tl: { # no indentation
   deps."cleveref" = tl."cleveref";
   deps."clicks" = tl."clicks";
   deps."clipboard" = tl."clipboard";
+  deps."clistmap" = tl."clistmap";
   deps."clock" = tl."clock";
   deps."clrdblpg" = tl."clrdblpg";
   deps."clrstrip" = tl."clrstrip";
@@ -7888,6 +7982,7 @@ tl: { # no indentation
   deps."coolstr" = tl."coolstr";
   deps."coolthms" = tl."coolthms";
   deps."cooltooltips" = tl."cooltooltips";
+  deps."coop-writing" = tl."coop-writing";
   deps."coordsys" = tl."coordsys";
   deps."copyedit" = tl."copyedit";
   deps."copyrightbox" = tl."copyrightbox";
@@ -7898,6 +7993,7 @@ tl: { # no indentation
   deps."coverpage" = tl."coverpage";
   deps."cprotect" = tl."cprotect";
   deps."crbox" = tl."crbox";
+  deps."create-theorem" = tl."create-theorem";
   deps."crefthe" = tl."crefthe";
   deps."crossreference" = tl."crossreference";
   deps."crossreftools" = tl."crossreftools";
@@ -7970,6 +8066,7 @@ tl: { # no indentation
   deps."datetime2-usorbian" = tl."datetime2-usorbian";
   deps."datetime2-welsh" = tl."datetime2-welsh";
   deps."dblfloatfix" = tl."dblfloatfix";
+  deps."dbshow" = tl."dbshow";
   deps."debate" = tl."debate";
   deps."decimal" = tl."decimal";
   deps."decorule" = tl."decorule";
@@ -8185,6 +8282,7 @@ tl: { # no indentation
   deps."fullblck" = tl."fullblck";
   deps."fullminipage" = tl."fullminipage";
   deps."fullwidth" = tl."fullwidth";
+  deps."functional" = tl."functional";
   deps."fundus-calligra" = tl."fundus-calligra";
   deps."fundus-cyr" = tl."fundus-cyr";
   deps."fundus-sueterlin" = tl."fundus-sueterlin";
@@ -8232,6 +8330,7 @@ tl: { # no indentation
   deps."gmutils" = tl."gmutils";
   deps."gmverb" = tl."gmverb";
   deps."grabbox" = tl."grabbox";
+  deps."grading-scheme" = tl."grading-scheme";
   deps."graphbox" = tl."graphbox";
   deps."graphicscache" = tl."graphicscache";
   deps."graphicx-psmin" = tl."graphicx-psmin";
@@ -8277,6 +8376,7 @@ tl: { # no indentation
   deps."huawei" = tl."huawei";
   deps."hvindex" = tl."hvindex";
   deps."hvlogos" = tl."hvlogos";
+  deps."hvpygmentex" = tl."hvpygmentex";
   deps."hvqrurl" = tl."hvqrurl";
   deps."hypdestopt" = tl."hypdestopt";
   deps."hypdoc" = tl."hypdoc";
@@ -8325,6 +8425,7 @@ tl: { # no indentation
   deps."issuulinks" = tl."issuulinks";
   deps."iwhdp" = tl."iwhdp";
   deps."jlabels" = tl."jlabels";
+  deps."jmsdelim" = tl."jmsdelim";
   deps."jslectureplanner" = tl."jslectureplanner";
   deps."jumplines" = tl."jumplines";
   deps."jvlisting" = tl."jvlisting";
@@ -8359,6 +8460,7 @@ tl: { # no indentation
   deps."latex-bin-dev" = tl."latex-bin-dev";
   deps."latex-firstaid-dev" = tl."latex-firstaid-dev";
   deps."latex-graphics-dev" = tl."latex-graphics-dev";
+  deps."latex-lab-dev" = tl."latex-lab-dev";
   deps."latex-tools-dev" = tl."latex-tools-dev";
   deps."latex-uni8" = tl."latex-uni8";
   deps."latexcolors" = tl."latexcolors";
@@ -8794,6 +8896,7 @@ tl: { # no indentation
   deps."sidecap" = tl."sidecap";
   deps."sidenotes" = tl."sidenotes";
   deps."silence" = tl."silence";
+  deps."sillypage" = tl."sillypage";
   deps."simplecd" = tl."simplecd";
   deps."simplecv" = tl."simplecv";
   deps."simpleinvoice" = tl."simpleinvoice";
@@ -9019,6 +9122,7 @@ tl: { # no indentation
   deps."wordlike" = tl."wordlike";
   deps."worksheet" = tl."worksheet";
   deps."wrapfig" = tl."wrapfig";
+  deps."wrapfig2" = tl."wrapfig2";
   deps."wtref" = tl."wtref";
   deps."xargs" = tl."xargs";
   deps."xassoccnt" = tl."xassoccnt";
@@ -9064,9 +9168,10 @@ tl: { # no indentation
   deps."zref" = tl."zref";
   deps."zref-check" = tl."zref-check";
   deps."zref-clever" = tl."zref-clever";
+  deps."zref-vario" = tl."zref-vario";
   deps."zwgetfdate" = tl."zwgetfdate";
   deps."zwpagelayout" = tl."zwpagelayout";
-  sha512.run = "87e0f99ccb8a1c83daca15bc5922588dee935eecd6e30a8d4841113a6077a621fa71a73937022ef6d5d1c9bde8f8915bd00d678c7c8402a95cd388b1abd774a2";
+  sha512.run = "780fe50d363bf11e58ef3bb63bc0d52723df5b37400ae7621c48a16755b092e79b586afaaff830d8c56520d6542db80371992d9a880bf68acab690aeaf065dd5";
 };
 "collection-latexrecommended" = {
   revision = 57862;
@@ -9146,7 +9251,7 @@ tl: { # no indentation
   sha512.run = "f763ff9a6832abce7a148bc5e8b9e5860f883ce0a56ad2119d9e18e7fb4dad794456fdc07b3ea107dca17d4174910ebf1613f1072b946a80f29d291ae513d097";
 };
 "collection-luatex" = {
-  revision = 60764;
+  revision = 62830;
   stripPrefix = 0;
   deps."addliga" = tl."addliga";
   deps."auto-pst-pdf-lua" = tl."auto-pst-pdf-lua";
@@ -9167,12 +9272,15 @@ tl: { # no indentation
   deps."innerscript" = tl."innerscript";
   deps."interpreter" = tl."interpreter";
   deps."kanaparser" = tl."kanaparser";
+  deps."linebreaker" = tl."linebreaker";
   deps."lua-typo" = tl."lua-typo";
   deps."lua-uca" = tl."lua-uca";
   deps."lua-ul" = tl."lua-ul";
   deps."lua-uni-algos" = tl."lua-uni-algos";
   deps."lua-visual-debug" = tl."lua-visual-debug";
   deps."lua-widow-control" = tl."lua-widow-control";
+  deps."luaaddplot" = tl."luaaddplot";
+  deps."luacensor" = tl."luacensor";
   deps."luacode" = tl."luacode";
   deps."luacolor" = tl."luacolor";
   deps."luahyphenrules" = tl."luahyphenrules";
@@ -9219,10 +9327,10 @@ tl: { # no indentation
   deps."typewriter" = tl."typewriter";
   deps."uninormalize" = tl."uninormalize";
   deps."yamlvars" = tl."yamlvars";
-  sha512.run = "525f00fc9e24e6b20fd7933061f3456a15cbca6e2df6ea9666dd62edd8d006c247f05492236de64bae5bf9517e73997af6f884a5f03d63e28bec631fb94d2803";
+  sha512.run = "d7c0617e12c436aa2fc9083571e6ae58a241e24741177bd5b597347710979029a3aa2ca21b15fc4eec29a3a034e4c88bd7251b456ef709544349a1c92f8db266";
 };
 "collection-mathscience" = {
-  revision = 61288;
+  revision = 62560;
   stripPrefix = 0;
   deps."12many" = tl."12many";
   deps."accents" = tl."accents";
@@ -9359,6 +9467,7 @@ tl: { # no indentation
   deps."mecaso" = tl."mecaso";
   deps."membranecomputing" = tl."membranecomputing";
   deps."memorygraphs" = tl."memorygraphs";
+  deps."messagepassing" = tl."messagepassing";
   deps."mgltex" = tl."mgltex";
   deps."mhchem" = tl."mhchem";
   deps."mhequ" = tl."mhequ";
@@ -9378,6 +9487,7 @@ tl: { # no indentation
   deps."oplotsymbl" = tl."oplotsymbl";
   deps."ot-tableau" = tl."ot-tableau";
   deps."oubraces" = tl."oubraces";
+  deps."pascaltriangle" = tl."pascaltriangle";
   deps."perfectcut" = tl."perfectcut";
   deps."pfdicons" = tl."pfdicons";
   deps."physconst" = tl."physconst";
@@ -9456,7 +9566,7 @@ tl: { # no indentation
   deps."yquant" = tl."yquant";
   deps."ytableau" = tl."ytableau";
   deps."zx-calculus" = tl."zx-calculus";
-  sha512.run = "c703c298d694651ccd82d803ccf2324a95d84186e889cabad13c12f74c0fe3b8b5081e93917f7ffc9c18ce58ba0b45dd04e857bf5bfa5290b852fb7c142c7959";
+  sha512.run = "dcba4c00ddc2e6dc96c5005b230cebaa3488a0c2d42e345cc493ca634406733846dcd27a41875dcac34dfc0da85e21fc871f740f45860270c5b3087ec6c4140e";
 };
 "collection-metapost" = {
   revision = 59531;
@@ -9549,7 +9659,7 @@ tl: { # no indentation
   sha512.run = "bc842942513a72c6a0f2346025739f09477ae1e920eaefc5e396e0b68ba53465b745db9d9c4534ec39b70f43410a0ae036c69a4e2226944b8f128b507340cc15";
 };
 "collection-pictures" = {
-  revision = 61392;
+  revision = 62567;
   stripPrefix = 0;
   deps."adigraph" = tl."adigraph";
   deps."aobs-tikz" = tl."aobs-tikz";
@@ -9569,6 +9679,7 @@ tl: { # no indentation
   deps."braids" = tl."braids";
   deps."bxeepic" = tl."bxeepic";
   deps."byo-twemojis" = tl."byo-twemojis";
+  deps."byrne" = tl."byrne";
   deps."cachepic" = tl."cachepic";
   deps."callouts" = tl."callouts";
   deps."celtic" = tl."celtic";
@@ -9629,6 +9740,7 @@ tl: { # no indentation
   deps."ladder" = tl."ladder";
   deps."lapdf" = tl."lapdf";
   deps."latex-make" = tl."latex-make";
+  deps."liftarm" = tl."liftarm";
   deps."lpic" = tl."lpic";
   deps."lroundrect" = tl."lroundrect";
   deps."luamesh" = tl."luamesh";
@@ -9651,6 +9763,7 @@ tl: { # no indentation
   deps."pgf" = tl."pgf";
   deps."pgf-blur" = tl."pgf-blur";
   deps."pgf-cmykshadings" = tl."pgf-cmykshadings";
+  deps."pgf-interference" = tl."pgf-interference";
   deps."pgf-pie" = tl."pgf-pie";
   deps."pgf-soroban" = tl."pgf-soroban";
   deps."pgf-spectra" = tl."pgf-spectra";
@@ -9684,6 +9797,7 @@ tl: { # no indentation
   deps."randomwalk" = tl."randomwalk";
   deps."realhats" = tl."realhats";
   deps."reotex" = tl."reotex";
+  deps."robotarm" = tl."robotarm";
   deps."rviewport" = tl."rviewport";
   deps."sa-tikz" = tl."sa-tikz";
   deps."schemabloc" = tl."schemabloc";
@@ -9772,7 +9886,7 @@ tl: { # no indentation
   deps."xistercian" = tl."xistercian";
   deps."xpicture" = tl."xpicture";
   deps."xypic" = tl."xypic";
-  sha512.run = "b53fb9863bdf0d488c6848967c7787912cf66416e8957e1b301a5b47f45d37534e3425061e24eca1b8d4d49d9abfd9a7faaf2699ffac1eb57797c5e7c224d546";
+  sha512.run = "15970f401c7e54a8ecbfe3b1736d0ebc73002154df0fa25492167fcaa6157e67aaba119bdc8652f2797fed767ed1c75342cf4979ad323f9ac426800d4bc5aff3";
 };
 "collection-plaingeneric" = {
   revision = 59850;
@@ -10007,7 +10121,7 @@ tl: { # no indentation
   sha512.run = "54e2b23dfd58d514d577f535e4f8bab08b2a124c43abdea796847d5c8cdf5c7519c277db49ca65c2d50751c03c9ffaa6ce7493c82eba7863047ae969ee5e1bc5";
 };
 "collection-publishers" = {
-  revision = 61397;
+  revision = 62835;
   stripPrefix = 0;
   deps."aastex" = tl."aastex";
   deps."abnt" = tl."abnt";
@@ -10044,6 +10158,7 @@ tl: { # no indentation
   deps."bfh-ci" = tl."bfh-ci";
   deps."bgteubner" = tl."bgteubner";
   deps."bjfuthesis" = tl."bjfuthesis";
+  deps."bmstu" = tl."bmstu";
   deps."bmstu-iu8" = tl."bmstu-iu8";
   deps."br-lex" = tl."br-lex";
   deps."brandeis-dissertation" = tl."brandeis-dissertation";
@@ -10125,6 +10240,7 @@ tl: { # no indentation
   deps."langsci-avm" = tl."langsci-avm";
   deps."limecv" = tl."limecv";
   deps."lion-msc" = tl."lion-msc";
+  deps."llncs" = tl."llncs";
   deps."llncsconf" = tl."llncsconf";
   deps."lni" = tl."lni";
   deps."lps" = tl."lps";
@@ -10149,6 +10265,7 @@ tl: { # no indentation
   deps."ndsu-thesis" = tl."ndsu-thesis";
   deps."nih" = tl."nih";
   deps."nihbiosketch" = tl."nihbiosketch";
+  deps."njustthesis" = tl."njustthesis";
   deps."njuthesis" = tl."njuthesis";
   deps."njuvisual" = tl."njuvisual";
   deps."nostarch" = tl."nostarch";
@@ -10185,6 +10302,7 @@ tl: { # no indentation
   deps."scientific-thesis-cover" = tl."scientific-thesis-cover";
   deps."scrjrnl" = tl."scrjrnl";
   deps."sduthesis" = tl."sduthesis";
+  deps."seu-ml-assign" = tl."seu-ml-assign";
   deps."seuthesis" = tl."seuthesis";
   deps."seuthesix" = tl."seuthesix";
   deps."shortmathj" = tl."shortmathj";
@@ -10263,8 +10381,9 @@ tl: { # no indentation
   deps."xmuthesis" = tl."xmuthesis";
   deps."yathesis" = tl."yathesis";
   deps."yazd-thesis" = tl."yazd-thesis";
+  deps."yb-book" = tl."yb-book";
   deps."york-thesis" = tl."york-thesis";
-  sha512.run = "b079111174e27c874c78f905ba43f30471027a4afaa960613fe894f99e4468dbf3c5cdb3efb0d63c43d7d2c9e48c43b0f927d0180b447e19f9ab2af4086e3095";
+  sha512.run = "9d1c4d5ce6bc56dde1b5a5c72c3744e63f9ef4e52fede8e44e0ad27c60b2a80cffb7ad0fbd86ffcb579b36dae2b038a71494f3dfb691a94e5fe9802b57fc487f";
 };
 "collection-texworks" = {
   revision = 54074;
@@ -10279,7 +10398,7 @@ tl: { # no indentation
   sha512.run = "9bf4c58094748424c1b60a3731d9cb2b1ad1d24764469072da693de26a4e4e857df3bcab6d4c2b5ae7454a69f9730fc596fd156b46b7704eafb1421f6936d66a";
 };
 "collection-xetex" = {
-  revision = 59742;
+  revision = 62241;
   stripPrefix = 0;
   deps."arabxetex" = tl."arabxetex";
   deps."awesomebox" = tl."awesomebox";
@@ -10288,7 +10407,6 @@ tl: { # no indentation
   deps."bidipagegrid" = tl."bidipagegrid";
   deps."bidipresentation" = tl."bidipresentation";
   deps."bidishadowtext" = tl."bidishadowtext";
-  deps."book-of-common-prayer" = tl."book-of-common-prayer";
   deps."businesscard-qrcode" = tl."businesscard-qrcode";
   deps."collection-basic" = tl."collection-basic";
   deps."cqubeamer" = tl."cqubeamer";
@@ -10309,7 +10427,6 @@ tl: { # no indentation
   deps."unisugar" = tl."unisugar";
   deps."xebaposter" = tl."xebaposter";
   deps."xechangebar" = tl."xechangebar";
-  deps."xecjk" = tl."xecjk";
   deps."xecolor" = tl."xecolor";
   deps."xecyr" = tl."xecyr";
   deps."xeindex" = tl."xeindex";
@@ -10325,7 +10442,7 @@ tl: { # no indentation
   deps."xetexko" = tl."xetexko";
   deps."xevlna" = tl."xevlna";
   deps."zbmath-review-template" = tl."zbmath-review-template";
-  sha512.run = "701b40c44e9292bdcad0fc09645d1d7b2e99364a8c54dc84f6ddceee3b512e708d9a82d7c820a8c14efcdacfc8893b8dc0e6c14d697590686a43291a98e5054c";
+  sha512.run = "04f7b34e5516690f11403cf139893425369de705fc2b4e4e35e202322f439fd129321f77aac0e7afafb83058c67fc4b431eb1274185d8c0c85d7537e8b8914e6";
 };
 "collref" = {
   revision = 46358;
@@ -10379,10 +10496,10 @@ tl: { # no indentation
   version = "0.2";
 };
 "colorist" = {
-  revision = 61338;
+  revision = 62834;
   stripPrefix = 0;
-  sha512.run = "bc06f7c4caa41a7bb8c6ebc0fd3c3f0b211d65ef4ac9ab7e39cb4ca63d78afe8ee18bcf1ccc12cdb2d3ef5fb088b5d136d0ee37656f73cd68fcfd07a78b0d0d8";
-  sha512.doc = "faff9fe25109e0613096fa4aa124f7b7519bc05ec84f97f7fea9c8354798db7a454274b1b430cb4d235a0debd4b5ea25cabea5065aa6c6924a25606058e27253";
+  sha512.run = "90107faa3cf884ba50d4e2bd466dbf5eef1f15d44971d25bfd5312d0edfcbe00b88ba48f3caff1a25fa1ce998a40e36351379be9adbe2e758d710b62e9c6753c";
+  sha512.doc = "e34e5f54a9f82aa48cfa96114b4fdc14692b7a0cded9cbe2e341e10efceeebcf5d9c0cf33b23baa995bd557ec23b673d9fdb2a54ef76a9eaf0631e197b954117";
   hasRunfiles = true;
 };
 "colorprofiles" = {
@@ -10624,6 +10741,14 @@ tl: { # no indentation
   sha512.doc = "7b2db9b8f2f23816cf413676dfbf6ca3413a39bb20cbc12070b9202bd2e98714a86dcb5f27a746ae197efd2284eb794f06af1b2941667abfddb72773ceb61378";
   hasRunfiles = true;
 };
+"concmath-otf" = {
+  revision = 61613;
+  stripPrefix = 0;
+  sha512.run = "24b71af36ee399bac47a70e86f23ece5b18699d001e2e68bc0cce4b317981c038e4dd8a83689dd87b7ac8a86dd6ca3ddf082bb959630f7638d9f7635ccc17cd5";
+  sha512.doc = "23f2cfd25bb3278dcb7a2768547defec6047d3d5f5b82864ed3b23aa0ad874b9a3cfa4c660529a9178bf1274148e89cf060f7a8088f3a9854b9553463c40f924";
+  hasRunfiles = true;
+  version = "0.20";
+};
 "concprog" = {
   revision = 18791;
   stripPrefix = 0;
@@ -10788,11 +10913,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "context-filter" = {
-  revision = 60786;
+  revision = 62070;
   stripPrefix = 0;
   deps."context" = tl."context";
-  sha512.run = "294286db1d374f99e49fd249234ca19a5fae95cade586ff08771c2f9ecfdcb9bb729d6a3da546d8c85989104dcd1433568e31359d44fcf2447c8d4a0a0c8db85";
-  sha512.doc = "8328312ae81748e38dfffeaef00b9aa20638ef7536357eeafa94cc86c21ac3af4fb908e79f4ef5e61ac2e02414780edb82185b9504181f0fa2393a1fb23cccab";
+  sha512.run = "c2534b543fd5444776a054f43fafa393040af5bcb67f869d61d200a4a1d0355f1d81c64adab683d15a6be806a21dfc9ad661995bbe51da3c0bfb841ade4b077f";
+  sha512.doc = "a9c2ea88b0e2514840c368ea7686894dda4b86c93ec8f34989238ffdf5704f1c1898d0ee5e0724035314d2d37803f1a1afdd445dd802a94f5ff4223148f81767";
   hasRunfiles = true;
 };
 "context-french" = {
@@ -10948,12 +11073,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "context-vim" = {
-  revision = 61301;
+  revision = 62071;
   stripPrefix = 0;
   deps."context" = tl."context";
   deps."context-filter" = tl."context-filter";
-  sha512.run = "788e36df52b815e35f01fe09207f9b8f34021879aad5992d06f20561af6f111458a9e21c76a8f985cc3aa3c4ea344f54e9c283b73b6c325ad38a688714ea9966";
-  sha512.doc = "9a8638d773b3d27937d5f9e2a7a1b93a226aa8e95d33bbb6fcdb4e89d14e5b89388838831a47c79e334ba55af5b5f231e7ad71c0d0791abe9f0dd5becd122eda";
+  sha512.run = "12100c7aa3eb555cf9dbe72454a96e63feda52329a8a192ff86ba30477acab4ebaaf84c15a79f16d4e3f95cef02baf8146e5810b8c9e8e94c25ba1317bf4fc2c";
+  sha512.doc = "0f49e22b9e1d465f46727a9e952e095eceab55e77a2559fe497cf14690377f77ca42aa23ce7eaca659e9b0983e5a950b36733eef49b0473fd33a8f783edb43b1";
   hasRunfiles = true;
 };
 "context-visualcounter" = {
@@ -11079,6 +11204,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.1";
 };
+"coop-writing" = {
+  revision = 61607;
+  stripPrefix = 0;
+  sha512.run = "b00d0ba304a9aa88929a0f130b3e73bf8c095b25cebc6b33d8d01d15cc73766ac3db3a588719fe6480fb4105ed0bde32d5ab2354f2cc223c2e3bb90a8e6f877a";
+  sha512.doc = "489060dd92b0044cb76c8e4f3f17aecf85da7b320406875b0c9b46fde2edf485868669e4986d9d602eb317ec0199e6ab81bb34096f7635fa4479203e03336577";
+  sha512.source = "f00f9b9db508f6fb924a4371413631eb6a269f1e70034891a1cf1f6b8df6d81f5f3e7d12e5ff7df29524d5354fd2e6123651d549e997457cf4723a8e723053e4";
+  hasRunfiles = true;
+  version = "1.2.4";
+};
 "coordsys" = {
   revision = 15878;
   stripPrefix = 0;
@@ -11147,9 +11281,9 @@ tl: { # no indentation
   version = "1.00a";
 };
 "courier" = {
-  revision = 35058;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "a7a7350f23921254b9a37e498c2360aeb67d4aa8161072dafa38c941eca35388eaa5d8a341e8b490e783f346ed6b0f4a4d356dd914f70a858c92c76ff1808440";
+  sha512.run = "30d6c8906671239b9ef04b3c4d571f59e928ffefc965cd592ecd3277062c778b6f8cb0782f5eb8c6bc27d03b69a88a120593477ced93bcc44cdd4fbc3e5b8adb";
   hasRunfiles = true;
 };
 "courier-scaled" = {
@@ -11183,11 +11317,11 @@ tl: { # no indentation
   version = "2.0";
 };
 "coverpage" = {
-  revision = 15878;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "6ba22fe89f292ef65ec41a958a93a8ab729954fab33f10677954791bb2be8bcbca71ba4953b6ec47066d3b92e444ebbef9b5f465952076ff0c679706f0ba406a";
-  sha512.doc = "01346bc57d5742be2196c8768106fc06534ce03571dc1e3e9d48957ba6d0e1a3aab1a4ac070d4e545f058d1b3833e908398fff62d3ce6bd462b927646ff1e60e";
-  sha512.source = "cd47f6d17ab585e84244164bed3b905163157e911dec81ddcd630f23f0b520763b9972b3430f25ff4039e27310eac21e6257727aa4544b7a0e40e7020fc72b42";
+  sha512.run = "74f04d4b77177b457f984cbbc93d766509fe1a6889cf337e127f753fc699600a6c459ecd2124c6d45a4cbccda1d4ef71f985281d53bce1ad76a4da439e9cc998";
+  sha512.doc = "c8490057eac2b7821c17e0bebdc3e7c97b90cb14bb6c585c38c8c14e69ed2b69dad81080c45cd0fbd9e18479ab9c100ef1c6e7b2be6d197ba61774e3e0df5b49";
+  sha512.source = "37a6e7121863b34563f7f06abf44a5ada55b75940c69c4469466ba44e313b1c329c0cf7ce329547d0c8e427df8bf78eb826e7bb85153100fd4fd29296a3d567f";
   hasRunfiles = true;
   version = "1.01";
 };
@@ -11233,11 +11367,18 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.1";
 };
+"create-theorem" = {
+  revision = 62806;
+  stripPrefix = 0;
+  sha512.run = "5c0c60ff16784e9ea1c99ca14252d9de581251ffcda65d4f02e7eb3fd126d9cd935fbd73f1c5393b17eddf76b5ab67bc69b0bc4b9d7c11b0a24c5a45e71a5e2b";
+  sha512.doc = "808d59f8a0b1109ac18b766e5b3f45fb6bb0dbf52abf2a4da13783400b016c1977287369ce5396bc16ad5c6526f8cbdfcd1e34a5160665a229fe04515adb0a4c";
+  hasRunfiles = true;
+};
 "crefthe" = {
-  revision = 60961;
+  revision = 62350;
   stripPrefix = 0;
-  sha512.run = "ef69535427477153ed4608755634b6c45eed64b64df70f250da79ba98e65ea4f674b17de527a48f091cdcf5508c8c391304c591f489013eaa7018e53f36763fe";
-  sha512.doc = "beea700aa21468283615cab567ab199ebc365f15e7cd9d46d149a689aba4f4bc50223a45fb5bf2395147e332a818543a89a7a57951af35ecdcf3e540d9b4cb69";
+  sha512.run = "123a072ca4d90088143996536abc04e6d20cbab6bfb224254dd1b3a42599227682103fe7479240c69af72925b4be261edfee75e55f1f5d58fc4da7a320e39399";
+  sha512.doc = "d13613fe7d926db9b689b85b81198ae283f016967d37e46a2c6a8ca5302d1361860027a78201913c2de4e4907081411300b099edb1b6229fa2a5f4d74446427a";
   hasRunfiles = true;
 };
 "crimson" = {
@@ -11344,7 +11485,7 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "cslatex" = {
-  revision = 57972;
+  revision = 62145;
   deps."atbegshi" = tl."atbegshi";
   deps."atveryend" = tl."atveryend";
   deps."cm" = tl."cm";
@@ -11359,13 +11500,13 @@ tl: { # no indentation
   deps."tex-ini-files" = tl."tex-ini-files";
   deps."unicode-data" = tl."unicode-data";
   hasFormats = true;
-  sha512.run = "dd6b98eb22786f39c830a4c012396507dca694d727f1a7eb147a1c8c2d4442d8120e016de4c08c038239dfac866f828bc7686d8fd124d1af63edd0994db80f9f";
-  sha512.doc = "8ec3527c25c07641788b809cca4f4cc8bb034f63f1100b74270041b503dbc8926a410429a370692502596bd6ffec69a970a19b1c32178e4722f81acdbf0ea934";
-  sha512.source = "0563f453bf7e34b4948a29d832207f8148082c5186a6915a6bdc1c41d0c08399505491ccdea0b45e8bf326a8e8459d37eeaca546143d9f622ce4dacba11cac7f";
+  sha512.run = "b603e9bd2cfa7332d8698c49463c96e5a29e1dde2d10b62b8478354ae5a042b4539b655da4161d4a8c125bd61ac52b9360d879f521fbd7df81c20dd01d2f528c";
+  sha512.doc = "f2d6e4b4e36901c6f6e1f7d39b6eb1efd0400e0a063015daad6ad2d109b11effdd7ee28561b6dffaf1271f79aadfd1ce52da0538bfb50b59f645cc6cdb74a871";
+  sha512.source = "0b7f64803cdf0ccdf56600dd321af586027b734a5d68a2cd77b5243bc4eb3fd7ebe1869b07e7666eed0952a5baff4796a085ee4bd1b018897f69bf5c70ad6af8";
   hasRunfiles = true;
 };
 "csplain" = {
-  revision = 58353;
+  revision = 62772;
   deps."cm" = tl."cm";
   deps."cs" = tl."cs";
   deps."enctex" = tl."enctex";
@@ -11377,9 +11518,9 @@ tl: { # no indentation
   deps."tex" = tl."tex";
   deps."tex-ini-files" = tl."tex-ini-files";
   hasFormats = true;
-  sha512.run = "27fc3fbb1aa29693fcd1d39abf92e3248fa769b8c4e0171948c2a7957e52dad2e08759050321401f7cb900285de62246bc0013d22141281111a82681c11802e4";
+  sha512.run = "9b10a0b35a6ed91535e4a1b023ddb16766f9fcffc15b2af2d08ced4d7169a935ba72cb5546715cf0e7602fdd138ffcd8f619376dacd90f5e826e82c4ac7b1a43";
   hasRunfiles = true;
-  version = "Mar._2021";
+  version = "Mar._2022";
 };
 "csquotes" = {
   revision = 57844;
@@ -11406,10 +11547,10 @@ tl: { # no indentation
   version = "1.02";
 };
 "cstex" = {
-  revision = 58354;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "bc27207c1b7ee821f876f9adbe6187b6e6c1c5d0fd207a99bb76fa8a01f3738012150c96fd2d16e99a2736a11f8505696d1ea6e22426dc5049a43be9116f5585";
-  sha512.doc = "f9cc9398ecbe1e2d97391f27d9c997cd730c33f275708e399fd5604239f68bda7a408cc2e7ec3ba8220173090d4f5fa3771825c7904f7f4a81a477b16fae0ac9";
+  sha512.run = "859d2eb2270562e643ab10a5a8b588915399900c11bcaa13e4317954d37238dfd947132c6fd4a03bcce829c3fdd92d3d6a0fdf25769e5b7259200a2e73a666e6";
+  sha512.doc = "8e32b929eef7744eb7618793883d5f5b5c6d92a2bafd3ea9918161d6e6590d419ddf65806d5920c329d54adaf7e4569400c62c99104b01d5a45e0a2514337044";
 };
 "cstypo" = {
   revision = 41986;
@@ -11429,12 +11570,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "csvsimple" = {
-  revision = 60470;
+  revision = 61839;
   stripPrefix = 0;
-  sha512.run = "25c21f971f3315025c7f6d3fb757f77d3ed53755d6e5cbc7dcdb62afee34c3dc2a3539758f048d01caf42c3f777e1a997a12df4765d85f511c2a9e7b3175d8e7";
-  sha512.doc = "f419c39966466b73cf7eb95a12853cf9b25b581a23e0c4116cdb905787e949ed5b9aa4be599a2ccf94962fd04d6170c0d011e39e5460365dfd7debedac6909fd";
+  sha512.run = "33d1b741c6dd03081c01d77daca569358f7b801dd50577f936f250e119272395c118b2c36ab772a87477177090d6267a6ac47d64ac569e595215614a352d90b6";
+  sha512.doc = "bf8ffb88fdf31c8a8b9430a163fd381e8aec891613d6fd572f3247e08890ca232f83657f194fd9a1fe093d7297b75dcbaccd28fa3116e12cc23f98b42a4fae98";
   hasRunfiles = true;
-  version = "2.2.0";
+  version = "2.3.0";
 };
 "ctable" = {
   revision = 38672;
@@ -11665,9 +11806,9 @@ tl: { # no indentation
   version = "0.2";
 };
 "cweb" = {
-  revision = 60085;
-  sha512.run = "86e23f2f005d23cd1ea1db8d767e61d9cf1ab494174fadb0433d6428f9fd0d216a32f84991bc3acf5fd75fd7190f36854d243b083052d4ee0eed91d7d57a61a4";
-  sha512.doc = "e9f96202b01503cb85678e24c876d3f8d2cb184ecd21527e1729eb5b5cfce9438f3402e6e08dd02dcdc74cde31df0734590774aa356482ccb20fac3a3186785a";
+  revision = 62023;
+  sha512.run = "3e200b96f278472696924e35eac9460479c7dd60bc0bbe74ca909dd0d6fa253986e4e86f6bc0b6680775b0bd40ef49b38140c218229fdaca873a67230468de4a";
+  sha512.doc = "3ef863f14483cad6c6e7c9e0b53f670c754d958c332dff85e5ef359f44d7ea0c985664ee0d2e8f2700d1122c92945e8eb9815452f09e543c646a048792bf3a83";
   hasRunfiles = true;
 };
 "cweb-latex" = {
@@ -11801,13 +11942,13 @@ tl: { # no indentation
   version = "2.32";
 };
 "datax" = {
-  revision = 60580;
+  revision = 61772;
   stripPrefix = 0;
-  sha512.run = "d33691c71297f909cc160e1d4ca1bdb4343edc2b5e2058eb7ef3edd58255b72f02d57e5a1d4348cd0de1b890648e6ea529b60d100b84c7cd2ea868570129e28b";
-  sha512.doc = "2b30224581baeefdddc50bde5f6f14df317108e7a0be89f0d7add5a2e966f6cd21ddfc5b9278f4c6f1f2fe9337c1789d191099f60244d978261da070558f0b63";
-  sha512.source = "00006e1bedbca8b6bfc52818a2add87fd39e7071814cc2ef81fdb70eed628612f3fbee439a7e9fd5c88e984f7b90c760a80be35e77a77eb5d1f5cf73a437e85d";
+  sha512.run = "04de65ca5219e0e3b53fd0c0b92fa514bec77be2f889e48ad100f93113f54e738016fdd93ae59d79ae7f4ea31108efb9cbac87a6db010b71008fb17dcfa19900";
+  sha512.doc = "e1dd35b5dce9a4ea5b1bb9d9db14b8e6b6f8ab1a8f374079c2328862fb231b4eb69a05e1bddac424401d063925b4a75a9994000ee4c36c43e3fa6344badd6f5e";
+  sha512.source = "076509cc39ab41b028cc17551342bcc26cf8bbcd5c12d25d291e2eafb3610d390610d36e917a192b38fd7870c6ddee60a365bfa9711b024c6de2a3494dcc498a";
   hasRunfiles = true;
-  version = "1.1.2";
+  version = "1.2.0";
 };
 "dateiliste" = {
   revision = 27974;
@@ -11819,20 +11960,20 @@ tl: { # no indentation
   version = "0.6";
 };
 "datenumber" = {
-  revision = 18951;
+  revision = 61761;
   stripPrefix = 0;
-  sha512.run = "f87518683c9820e816f33e535bc8e5d7e31fcda124178593f9635b040151d1f43f6eeb4d69ca974b847c97efcf19fa94f571d5534dfdc8ac0e40d711d26190b3";
-  sha512.doc = "b9c156b19bd6abbb3f996495dcda633172f8e559add744ebe25bb58070ba06bc233c2dda54c93415da14aecc30d2888241bf9b80c0dc5922b46cd3ee05865701";
-  sha512.source = "ffeea9042501496e815db5c90cf8a99931fe96bb8dbae6e2551994242336892567c140ed352ddf962d1f144844960eaf03187aec6869780a2c3e218446940174";
+  sha512.run = "5c7d23f949684000d0e38855e11e4869433c33f82fc42da0568d4b74fb0e69fe3fbcd5f72516222059ee446938144c18b10552290e24e077f2e624286e729d28";
+  sha512.doc = "18f2573f8c02685d20085c31384b75dd1ab5a47a5bb2b9dcda036a7cd1ecec80db175a674c1f148cd51a078721ed88a3c9b7a0915acd7c023c02ea9a16e2a1f2";
+  sha512.source = "7835857f1c4f3e59918fe9ecc903dc09139191b050b1b0166e4e1fbe4a5d0c95f33b8591f30012ef5d69af324e8a71cf24b39893029519c13e13d8044b191261";
   hasRunfiles = true;
-  version = "0.02";
+  version = "0.03";
 };
 "datestamp" = {
-  revision = 61304;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "dff60190a2504f544c7400850f33f21674fe0c62b0cf6857874fc441bcfdaaa2c1223e251eb24c8905c6f656ab88800774c9d6eba6561f7e4a1525635113a1f9";
-  sha512.doc = "896e9165f3710cb5bbff02828e77600061699ce360c80bff7a2474ec6b4d0bf33fd0ac3972093f034e9a75eba306347fc98acd9981fea2bd07aaed18b102a893";
-  sha512.source = "7561450d4d79fe5f4523522aded0e2bcdb32a29770718e62838811d91242669a3d62c3a780178d6b8527375bb49707eeedc9e94a790640b8dbf2da306fbac88a";
+  sha512.run = "558e8ec60ec317f8342efd63d0146b92e43ca37a772b8fb200a40234d48a71e5374cb3f3f15bfdef129fd1fee8ed27491bcb8b69ae2b681abee72a3dcb8f18af";
+  sha512.doc = "d9627cbb294f0bcb96b019d3497b12ecd4b4eb656a1dfd70d1adc6cc4cd217bed9d4f9e209497c683f925cff4063d759b02b44bfc1f38421a9044aa8ef8bc988";
+  sha512.source = "3afaedee82a4e4c6f92f465fa59ccb29976272a75aeb523d8c161b07bbe313b5e79dfd96195d0426926a3ddb3117944ab21838d085e1cd59256bae31419e243d";
   hasRunfiles = true;
   version = "0.3";
 };
@@ -12241,14 +12382,23 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0a";
 };
+"dbshow" = {
+  revision = 61634;
+  stripPrefix = 0;
+  sha512.run = "339bd686c658c462c9da56018234c6a31e72a3def962798772bed17bd453efa94c5f8e2d72a2f033714eaabbde8b45bbeed07d302e311d65a27c37f8ef177a2f";
+  sha512.doc = "4d4ff36d121b950d7569f4ae8e7fee7e0a4790f61e8d2b58c136644d0ce455e8b8f4c1857c8df68d2f230016e5ea28a35047234ee101b3f949d1598f4e15e52c";
+  sha512.source = "189d3f8bd131bb3fb8bc7481215fa670001ec9bbe20a4d1ec99a9864005b44fe9fb582ad5462ef23f62ec538fe8d2dd9136cf79e94756c4b6e02d644e2d66a1d";
+  hasRunfiles = true;
+  version = "1.5";
+};
 "dccpaper" = {
-  revision = 60413;
+  revision = 61763;
   stripPrefix = 0;
-  sha512.run = "7ec4066600126a651170af633f309ffa4f5137879e63335815a33d51cc5a741ee4ba491681b4eadec88f7fd91f54464d29b8a77f892d0f457e17994ecfc71901";
-  sha512.doc = "ac292f912fa3539ec383f9d4328e06f4125cf65a52668cc29bc8e80c14f963266e210c6aa7f7326c0ed9e5b55ecb16c152af4b9552499b721aa86a2d7f3783c0";
-  sha512.source = "ed6f2527e1b11cbca308d644ad68f2df85c915784e1fd8e9531ca606a31ba4342587de36517b092ba79e709f34e3e40546fcd4f99372c7b7d5a86355a9e26116";
+  sha512.run = "98648e229632afa6503388edbf7418b2f92fb46351bdedf7d678132be91b3740927ce4c17ccb2ddbee6e24cfc0810b415c013cb61aa81db986efb5daef311aed";
+  sha512.doc = "e9809887d68592513d5d9992add687dc7fe82e7570fcbc46cf582f66152c94d5f9729735f0f5714245421556b470fcf0f6cb0129017fd79df20e96fc0f4548e2";
+  sha512.source = "da0843ea5f46a187b0d454b5a421699865086af684512a2202aded1e50c240e1345130753fff0a779794d5897f32be793006802c59a7aa741a0f53b4ac002f91";
   hasRunfiles = true;
-  version = "2.2";
+  version = "2.3";
 };
 "dcpic" = {
   revision = 30206;
@@ -12267,11 +12417,11 @@ tl: { # no indentation
   version = "0.2";
 };
 "de-macro" = {
-  revision = 57349;
-  sha512.run = "558a55b14822cda4cfaa05511bbd6030049145916669b699795827181462e628d0a84baf087b8d56e3dccb353d17f581af9bc1662506878124e5cfaddbd97b9a";
-  sha512.doc = "af0a7a463c7a9623050a3fe73782076965eefb58dec17752c80e35a647b5a7a6b354a1dea89ba03b503eef0faffbd2f134a6e5666f4c68665d322bf3b77922d6";
+  revision = 61719;
+  sha512.run = "8952325be56b193440dd24f0e6847ed1a9bea4cf8aed86afc7b7ff0a0f6d61130320834e679d55a020d8114d555733a92e645eea8fa1d3afabeb8cac5ef097ea";
+  sha512.doc = "079dfa97d55a2989e300856e7877591bd041b239454a0a0f72ed20e329fe2f9ebbbff22497eec1b622e2679316242a845eacab5716e01e74c5c810fb357c1636";
   hasRunfiles = true;
-  version = "1.4";
+  version = "1.4.1";
 };
 "debate" = {
   revision = 60720;
@@ -12314,15 +12464,15 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "dehyph-exptl" = {
-  revision = 58212;
+  revision = 62735;
   stripPrefix = 0;
   deps."hyph-utf8" = tl."hyph-utf8";
   deps."hyphen-base" = tl."hyphen-base";
   hasHyphens = true;
-  sha512.run = "ed2a3c4d91ecc125ecc2179594e66b5bbe66bb806c1b232ae1b71fdd0d29152a2d28e3dc6dbb2e1724650b8b8cb67e8c8bdf5b7506357207ba61c636768fb8c5";
-  sha512.doc = "e40955db986b94bb9bbbbf9daaf6a12d2898ae736741fb0a5626755b55908b056a2b4dbc1d87e9681201d7e45c99297393d6e1d2de17d135d8d74c732106897a";
+  sha512.run = "4c98b82ef67b0041ca11ac43bfd9776d0d13ea5b0436a5858f40c258bdd1b46839467333c1955602b521a614d4b9a4093ed2bb020fb69b8ac4983f1261842b12";
+  sha512.doc = "9a95ae0841ae743c7caf10ce74dce9b1058c32a0f3e11102320335b52e21ea0c6e950efeaec63915ade19158f4268a20bdf622d022ea53eb8926f07cd011a0f6";
   hasRunfiles = true;
-  version = "0.7";
+  version = "0.8";
 };
 "dejavu" = {
   revision = 31771;
@@ -12480,12 +12630,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "diffcoeff" = {
-  revision = 53244;
+  revision = 61432;
   stripPrefix = 0;
-  sha512.run = "4f8a1dd23b34cf7d6f213a6bf6699286c7e0df73a8a81ce59d6bd2d500f108f60293fac6f1c938c73afd5d4b1b20f64f2ccfe74f5031b0dda8cba65eabe7178a";
-  sha512.doc = "b45ae815b92e542d0158da9a75978f97b2ca14056484a776dbd236da551dabe025fd85366fe2ca230b095119bb47fc3048fbb8f1cc4943f7fde9aa4820f0cb36";
+  sha512.run = "15c8d7d506e609936663c812b2b23d55d0dd957b8d7d11a75635c1c0afca97c04207cd013c2d98e6d2ae618d35f0669a99671cb576b599d42041b1a4b36214e3";
+  sha512.doc = "8a475f83242a6e14728dbe8968b231081810498ddd6e43267182b2361cda1526bad7649e5131a3f5a94eed69efdb401dfdfe2ab7f21f9ce0f042ea868302d02e";
   hasRunfiles = true;
-  version = "3.2";
+  version = "4.0";
 };
 "digiconfigs" = {
   revision = 15878;
@@ -12667,10 +12817,10 @@ tl: { # no indentation
   version = "1.4";
 };
 "docsurvey" = {
-  revision = 57362;
+  revision = 61447;
   stripPrefix = 0;
-  sha512.run = "89b01331fcfe0b039716b7b56f34c6006a15b69d9e8862426d0137221ed6c2909f7537f5252f657eb0448a1484d95bce57a947867bcf25486b893f679ef14072";
-  sha512.doc = "795cfea7772c3a0a596dee18c0e2398e883c03e10f9d901a8bbc6dea0e8e599936502acbd687b22fc617d73f96993c6d0eb7801a5445ccf448e42a6ed1605eff";
+  sha512.run = "bfb93b2510b2b2e334e63468dbb4a4860d4a2166c36b5ce5ff706007a2af605ffb1b5b64c567fe1a3bc46a4fe420fef4020ce6bdc16a4a6d3396ef00dc69d076";
+  sha512.doc = "5f91a58cd18315c612860bcfcac7b85ffd402b02dfe669e6fae1efbbac5eaec683b3a286231f9db1cfe5ba967be67f08b1319dea72263f7bbcc84cfd913ffc1a";
 };
 "doctools" = {
   revision = 34474;
@@ -12974,12 +13124,12 @@ tl: { # no indentation
   version = "1.031";
 };
 "dtk" = {
-  revision = 61047;
+  revision = 62608;
   stripPrefix = 0;
-  sha512.run = "1b56e53aca93cbc91f5389d1185375e14f44403d0a540d782d1c63ec7a27f2abc9cf0387cf57e86a0022cbbdf39e7d979056b43a762004e636a8a3c6041d9abf";
-  sha512.doc = "9b82f9832c0aa4b80f2e97913e1c25bed32f1e51461c77c64eb9683a4016d487e573d1b449e60e67566111f2ccdf56c6394e77d325e6e28b5f82d4dceea4fbd0";
+  sha512.run = "5a22a12a8cfd99c5be2c9380b755c39d60baf5764febdf1500f7ead7e220835b01487bbfa8666e2f9afa1b27e13e712025b9d94a3e1793f87b961f7ae12b09b2";
+  sha512.doc = "1a12eb49d22be84617ff22234258a024147fa548d5f211509ac319195ae87b0f8374590b24148af65538e75276f93ccd1277c57c74c764cf18bef71d7674c5b4";
   hasRunfiles = true;
-  version = "2.08k";
+  version = "2.08l";
 };
 "dtk-bibliography" = {
   revision = 61396;
@@ -12995,13 +13145,13 @@ tl: { # no indentation
   version = "0.6.1";
 };
 "dtxdescribe" = {
-  revision = 51652;
+  revision = 62554;
   stripPrefix = 0;
-  sha512.run = "4f226da178f26f2e3310a86e2d884aee681f87528c0d43f942f23c68b6e335eb21bef830233524d44d2945a1d287ff9542bd69744c15c722a54ba38a5af73d96";
-  sha512.doc = "45592bc0c6836d83f1db18f7852394a0288c2557aa708ccbd1407656b7939cefba07556e924fe495da36078411b81bd00702f7998332a5fd801aac0327655f47";
-  sha512.source = "9ad27a4f1fc13deb348a3bb73dfecb634ed3f0b69565f4ab06763cafdd652b4899fa4914d64c9596534cb561ac9724c86ea713939d7d6e6c7820c869acb0289d";
+  sha512.run = "56191e6f26307f4bbb383ba4823e5eead49d7ee61ad7c065dc070497bf3a6078e3f20c07a8fd6acdd13af6cbe0e80846d96fe110136ed3987d67157f0fb62db2";
+  sha512.doc = "440931d2f78a4e71f247f599e3e067548e793d49b54f6f35ead9f9424d388535d096e8d4008f5420bcacef69cba4563238ab84f0828c5f4315911338d5abf8e7";
+  sha512.source = "9cd47893022df927ee181eaa61745bac8ec69a0f0fd1e465cc01d38dcb69dbe3c6a067cf9145c401526c99187b655e5937d8c7f0970d2ae61ba2ebdacb5c3e05";
   hasRunfiles = true;
-  version = "1.02";
+  version = "1.04";
 };
 "dtxgallery" = {
   revision = 49504;
@@ -13103,9 +13253,9 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "dvicopy" = {
-  revision = 57972;
-  sha512.run = "f288fd83823c4cd7e01353dd1d7eb8d09cabfd3dce4c5db482e4063d187ea57ee1d2027cedd3f93ce373e03fa1d840075d6c05b27bd4ed084f0c354da22cc9cd";
-  sha512.doc = "0bafb5f769c7b59551028ebe29e30e3761a0f78ff0515a4414597b07b27b633ab537b9b0409437ec05e70889ff14692fc5fa53ea5aee9a0ab2ec7d0b34d2621b";
+  revision = 61719;
+  sha512.run = "a9b184e017e3ca29f2238ad7d0967a9467a8d41f73f31ce15a2a84ed41e9d91a2776db7259d095154286b686ced3229cdfd8bce49f3bc7fa4c7ed32abf1a8f03";
+  sha512.doc = "27c6fbb00f482dbc5649a9dbdb2fa65c6774ff629c02be7d87116eed53aba8e1eafc35df6538eb78eaf11f82357e10e48489eae7022a63c6cd9cacc7f72aaf3f";
   version = "1.5";
 };
 "dvidvi" = {
@@ -13157,9 +13307,9 @@ tl: { # no indentation
   sha512.doc = "2bf3fd5bbd7b6e1fb8a263dd0e3deef358bead727df5de280342376225fd7366ff470b9c2fca8f763890d1047fe2c7a5b138ade1b5fcab383c8113e10f245199";
 };
 "dvips" = {
-  revision = 57972;
-  sha512.run = "31069dd768bfad8c3430abb001e5d73d1b5481c6a0216801c3e04c5571e9e841a77ef6176b6d42ca3ffd5b8860790f37ac6dded1a453120aea96ac7a2c207563";
-  sha512.doc = "a66136f6f457a6e4953f25e7489c98668d950da10c37668d8332ccf5b20eeec5f493b84ca014c944dd8b241cfe3b0621f6096ce4b3a6f732e3816026a7835245";
+  revision = 61719;
+  sha512.run = "ec872f68ac7aaf3e5540d396f264c4cf0305b09e26fa98c7139be2e99b841d918b9fd7327bdb7febbc172fa119ecf4d189effaeffe9067c9cc5fa7b4c302ee7b";
+  sha512.doc = "0c49c4f4799b10cfd3f1072cd24213d59bf94f3e7c05b2259eb012ffa12d2014e8f832cf97b57e2641e7abad313a4933b48bd54e6617176b12bc6257aac25d75";
   hasRunfiles = true;
 };
 "dvipsconfig" = {
@@ -13170,10 +13320,10 @@ tl: { # no indentation
   version = "1.6";
 };
 "dvisvgm" = {
-  revision = 57972;
-  sha512.run = "bc91b0f9ec49020d3b7d9c0caa0456a844b7d9783dde5ce21b75407725139da86bc30bf0310fa5a99d12d5f5e812d674a872f0a10dc62576bc51bd3a6cdd2355";
-  sha512.doc = "668040316023becd76605d16d9b7f4e16eb2246e51d2cdc05910ee9a78f85edd227ede70ca57d280f3473e2a7eea60b41f0ad76e26789963eafcf400e49a12ed";
-  version = "2.11";
+  revision = 62509;
+  sha512.run = "e3e5e6a653d22cf4b93cb13d70121eec2b23434e85b1b01e9400bcdaa2b73e106e4b984fb946269b2964ba189f3ccbac2f47b0392aea69ee75fb50c85de44eec";
+  sha512.doc = "067045e21026fb97d2b0275ae69ba54e4702cc652d3b58cabd5b2115491e2bb03757626bb201aedf52e21b60a80894c001ca1198df6ae34d47c78e7de2975827";
+  version = "2.13.3";
 };
 "dynamicnumber" = {
   revision = 38726;
@@ -13256,13 +13406,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "easybook" = {
-  revision = 61413;
+  revision = 62785;
   stripPrefix = 0;
-  sha512.run = "c59d18285e07b123028c441322fb1e8afa2ba18994dbc15cd468ab50e70bf5df9d5578fb2e0bef1517cf43a13cfae365f4583ce3c1269fafc1a03541123dc1e2";
-  sha512.doc = "680f64ad614ad78b3e51367d41946f6a34bc1edff9029285de66f4cde79fa85bfa7b976be9f0a5fd8ee867f43b81b86209ff8bfa4313fffdc15de7e15a00949e";
-  sha512.source = "50222faec79a3e413b2db338aac0662265e0929e85cec6cb5982f96317e788aac0682c7eb7e213b2e01a04bde62054bd4d5f451912040a606338babd433913a8";
+  sha512.run = "84463e17b5b2da174c546349ef9f69fb26fba6a291455cd5a1debd7d47033d3b100bd694d7929b7f9a114fbb1cc4fa4cf98ada2e4409e212322063e348d3e3e7";
+  sha512.doc = "b5b6ad203a7ea578762b78664c602fbb81fec6dcc2a2bd518938a4235dc6b8dfb55f2303e70b1de8f1e1953a73de08f8903059c332462e2ea18d6ae532295771";
+  sha512.source = "4296a70a8ec2917691eee65649450e5ef9c00b3179c8d0a55c05bdecd073784c3eff041dd92800d7e729a953a8d55417d3a6718066227cba3139535604a2f246";
   hasRunfiles = true;
-  version = "1.42E";
+  version = "1.65";
 };
 "easyfig" = {
   revision = 56291;
@@ -13426,12 +13576,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "econ-bst" = {
-  revision = 59327;
+  revision = 61499;
   stripPrefix = 0;
-  sha512.run = "8791b0d0949d46d9badca09629c9afa5159b9a0a88a050ad8de0d7777addbe6a97f133cda4d3b29ee512cdad282cfe282fb8c3bfa7f981970e72d1f0ac1a6972";
-  sha512.doc = "bed7c93ec480e8dda2f98e4790910b5199f893cf2c9ea6013044f2a6d1259ae6847cbb0f07c819db8cc55583931c9004ff5d3030beb7a38c7f8c3098f3ad8b9f";
+  sha512.run = "f236b3a15da35eb09e878d56f6d7c4cd632b71f262b9c470c3c64dd96aa43d305a44400d93786b8bc7f3a59773812c4ea03d6e8901cd1e7e469aa36e948bfa26";
+  sha512.doc = "60761364032deb253bb69aaa13fc10d6e8ec2747fc6af77285cb5fd53f250465d1e461110ae221050fba8150a5b1b5db9d4879689df00a33f9c8106e3e385f4a";
   hasRunfiles = true;
-  version = "3.1";
+  version = "3.1.1";
 };
 "econlipsum" = {
   revision = 58390;
@@ -13508,11 +13658,11 @@ tl: { # no indentation
   version = "2.01y";
 };
 "edmac" = {
-  revision = 15878;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "a9f12f0745305ce261b142f96ed496341997098461df749715723fb09d978ebb037976c7fd7176eae2475d24c71df201a0123b1651749b2b96c9ed9429746f6e";
-  sha512.doc = "a54f4b1171f8f6edd6e655f49adec69f21a8293af03a02228056ca700feb7b656cbf715047a20f45127695fa851af45fb5e4852ccbf7d28374a02d14f6e55acc";
-  sha512.source = "b32626fb4acd41e9d853131d1c32e43d2cf10ee021ada41b06b8cee5c88b1f8ec8511057f83865c9237d8a96a9648edf8696d9fb6166e4c9f072e8dfc10808a2";
+  sha512.run = "12395b2429372cbf88794c197e28ceab4b69ca7d14cf78524e9538491b2ca8d14714e1ef00f2643a0e3e62db559f12a9a53a56d4bc7f54420d3f125727fca557";
+  sha512.doc = "d78db33bf2b2fdd17f23eae23ab9605efb29a217e52d89df5feb64db1907c1b5a497441eeb1fe2373342b7c9b09296c06efa24d6776edce84406e22a1967bb64";
+  sha512.source = "995092e2ea0776377938076b67f25042329ab76ef31f83f6f40aba449a735a90bc697be52f16fa6a2ac02cbe4ff2ef99762fdc03bd14eebff7a363f6c7f46c13";
   hasRunfiles = true;
   version = "3.17";
 };
@@ -13608,11 +13758,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "einfart" = {
-  revision = 61338;
+  revision = 62834;
   stripPrefix = 0;
   deps."minimalist" = tl."minimalist";
-  sha512.run = "afe9035fbe06dd350c194a0aa0e079cadb6bc80800725323e20fe5b22b71faf469f2adea95f7fc99b96c71effae8dff32567026933383c2d53bd82b320042d2b";
-  sha512.doc = "837fde461e705e8df9c18cf42a7e5ff24b43838e7023a89d40fa553d2fd72713c8e0dad908ccd22d9087fc373713ace40eecf54098cb3b374386e8fbb23ae00e";
+  sha512.run = "0dc87f6177b348d96a3f16a0a67157de9365f7c2e115f8a4eb6354bc1b6214843116125e3beb9fd0ee12dc700f321ac7222609db0da414eab02f54e247aca7f4";
+  sha512.doc = "95ef2026de948bfd62d3dfcbb5f41707bf132845f825c466b44af3c7fdc455a63b187c0b291c0bfaa5c7d89c2bf458479eafb214ffcef5d33afbf4b2ed4db4ca";
   hasRunfiles = true;
 };
 "ejpecp" = {
@@ -13711,12 +13861,12 @@ tl: { # no indentation
   version = "0.09";
 };
 "elements" = {
-  revision = 52398;
+  revision = 61792;
   stripPrefix = 0;
-  sha512.run = "777546b1aa3ab2c4a951d618f73b0a37f15de10afa72f710786ae5c9b29daed45ac61db978e07a010f72531203d6fb066853657c6cd728a6dd8850736756a063";
-  sha512.doc = "d72b74d189689b77134347ab0e76e7219fa2b4cafbf33cf7f9504a9293635487488b652a0cb293be2f28291481b2eb990baf92739146ac7a554d710b01b6df57";
+  sha512.run = "576b318c0972e8862b8d4cb9c248a3303125019a321b2f5efcc0b6d6c7dbc5cee4a1db725af49754360633d654447d83a58dfc7e25c13e91e034e73ccd5765cc";
+  sha512.doc = "6adb7fd993275022e49bda34889a21ce000ff7c247d6c3747494bd67adbfc1776f4c2e8d9affd57dbe659740cd9a5646bd34ab87975d306e8568a27899555e9e";
   hasRunfiles = true;
-  version = "0.3";
+  version = "0.4";
 };
 "ellipse" = {
   revision = 39025;
@@ -14009,12 +14159,12 @@ tl: { # no indentation
   version = "0.1";
 };
 "enotez" = {
-  revision = 57130;
+  revision = 61490;
   stripPrefix = 0;
-  sha512.run = "1bd49ee7ece262d28d0b80f418e7aaf130044447ad341ae799c4f84c4c4e69300662951dab2733d996abf896280470857e8c35832759008881cd23f35fd52e30";
-  sha512.doc = "a04cad229111ae30cb51aad4c843488661a3e59287280c9335bd82d5a5172429ebcbd31e1d7f6e2c7ec5d9a3f068bf00c88e7dc67f3e39a794f32107bc705f3a";
+  sha512.run = "0f292fbfa3ad395857bf04c50817376152765c1511bc1b922fb6612033a0924a416b83b38e15a36ee792ec5ba351614e93cf6b70c6b2eb8cf78ca74cce6438ec";
+  sha512.doc = "6a52564111cc5af280ecb578c916a340ae0f0a8e1848f6d19d97d4c8dae863af7c8c0ecd057f5eb54ee701fb1f3f0b101bb4b6fde2500af71867b5d38a29cc8a";
   hasRunfiles = true;
-  version = "0.10c";
+  version = "0.10d";
 };
 "enumitem" = {
   revision = 51423;
@@ -14051,11 +14201,11 @@ tl: { # no indentation
   version = "0.3";
 };
 "envlab" = {
-  revision = 15878;
+  revision = 61937;
   stripPrefix = 0;
-  sha512.run = "ba20028efa3c286132133d8c292fbc02d77881e64923ca98cece98fbe1e60acf4033b8308a3f9f31f144de071938698a75add803436e1205f7baa820a308a4f1";
-  sha512.doc = "4dedc851e00f82ff3bb912e99bf112f4e464b129b89ed75ac41cab9e9ec8c54a32ace3901a3bdc11c90597cfc0481fc7cfc89b4b95bc9aa0c8850a1e8ec88cc9";
-  sha512.source = "9181b7083e3b57329effd0c9ef462a626f8de6db5eb6dbf6800237348a010b74eaeaf11ffa2b491ddf324f0d9bb2c792b9fdda238b887df057b82dfa4fbf04cf";
+  sha512.run = "d4272cd079bc0b48835d675f1b36d0155d7da4cf920785dc7fdf608c311f43afb88e6861087c79774af6a434aacce05dda59f9e53aa7b2f3f37e06415eafa01e";
+  sha512.doc = "dfc28fe6df6822fd8f45b3bd31a66e635cf621daadd5465408dfdca47a176e0f23e66501b5b89a8f803265c68a02db6a7ba1e05e0f9ba0f35287bc582d1f48a0";
+  sha512.source = "39ba3371b9aeab277968d8847ba5fe519ea3035306fdcb2a6376b6fec881a3d443ae7f4912039216058fcf7918ddeace617ca08e85c6f21c70820e8d379805bf";
   hasRunfiles = true;
   version = "1.2";
 };
@@ -14083,10 +14233,10 @@ tl: { # no indentation
   version = "1.5e";
 };
 "epigraph-keys" = {
-  revision = 54851;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "27b5cc031d2a90c9240f199f745b28c0eac189750062632708356b898701651eef34353b4e54e7065c85b41efe6371e42875607aa5b16c3cf2bb7edfcff473e5";
-  sha512.doc = "34c9b77529870df1f4e4476a454ca8f08ff68e0d0c523d081d47224a43f07fa0c6db6d665524e5bbb1b68c975b833927321295fdaed38b2ea43445fac9752400";
+  sha512.run = "5e92bae46fec0037bb0a2b92c2b44de0c73ef4b434584a0bf13aa4e6f09e89e5e4b7fcc3e4809cd0f5e574d627285b8eb97f3971c65745e48591bd8e4a60f7fe";
+  sha512.doc = "21c4e1f6b5c3a5b4402e3d3189b6b2424aa952e777994d330e4905393563030f9cd2dad9cc20c2157accc0e78fe98e7828781d5d63a7fb1c6f1ecd504c67f037";
   hasRunfiles = true;
   version = "1.0";
 };
@@ -14099,7 +14249,7 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "eplain" = {
-  revision = 57186;
+  revision = 62145;
   deps."atbegshi" = tl."atbegshi";
   deps."atveryend" = tl."atveryend";
   deps."babel" = tl."babel";
@@ -14120,9 +14270,9 @@ tl: { # no indentation
   deps."tex-ini-files" = tl."tex-ini-files";
   deps."unicode-data" = tl."unicode-data";
   hasFormats = true;
-  sha512.run = "a5b93a081e9b2201a65bf7e7fb01381480f5c1f31aafaa78c5785981d895a384f1f8db1d474db845c06cd0850cf70ec4bec0e3935b67fe506b8b07512ee97479";
-  sha512.doc = "44d804287cdd427043f766ea9f5f352d93d65f941b3e18727dfc9276fc381f51fccb3a025707f24dca5efd59cccd1a340e5de0d452d928ec0296b4faa46abf67";
-  sha512.source = "8edb47575e32de1d7947bc2b7e1e354eeafe287cce6b4c7bafa1266d9d7c1bd4c8df363ecb4c17da9eb35cfc1e3393e2297ae6d90f9f4aa8147b4467e2ae1c89";
+  sha512.run = "5bc922f1ee34577bbaf68447519c5f2dc1fd3d7bd1e311652dfcfeb260dad26b6183d0534a6165ab0e5faf33ab2547b6ce16c507978429b8d130d60b32dc296b";
+  sha512.doc = "bf2f9a8fb98ffabcff593b189b5ab589da38916f9a38edf4eaa23c4327821ab1edbc898a9971fea42e9d77c40321ccfd476c5c3a2a8b966c0857aded5d9b20db";
+  sha512.source = "494226ef0fad26861e39c8e740bf7bc0aac3f561c76494356121eabd94062dd3d0075d35cd7d7085fe1a22b682a2ea1b692af5ec122d13ced0076b0e47fe333b";
   hasRunfiles = true;
   version = "3.11";
 };
@@ -14181,9 +14331,9 @@ tl: { # no indentation
   version = "0.61";
 };
 "epstopdf" = {
-  revision = 48684;
-  sha512.run = "6412bb97554b271cf5412dbccd316f3d69d7bcf2f524a5d6d1a75f69cfa11a981fc4ab063b6ea8302c2a0236ff93c59f1ee2f8f2b7f33dc466324080fc5016f4";
-  sha512.doc = "7fef59ad3bc72b2e3fc10021216b88b8d5465f42503d9938031c3d40d93fbaf637094fdfc87b19ccc1da4d9a28c9890beccee7c30b915a513a909edbac6e0a25";
+  revision = 61719;
+  sha512.run = "270c4135be9ae2071f3a84bde85097056cd67bdd2efc36e53a9bab22c55d5a533c561ca7b1a2a25f0b131111f045f5a8bc5711ccf4ff5e4c551373a52cbba0cc";
+  sha512.doc = "7ac71de0494b5624d009d324a47a6a08b1b61695405fcdb8e76540ef7a12f08096982f67a09e28f9f6113959bbcda4f2d58e384df36ad58bc906eedfc0c93971";
   hasRunfiles = true;
   version = "2.28";
 };
@@ -14279,20 +14429,20 @@ tl: { # no indentation
   version = "1.1";
 };
 "erewhon" = {
-  revision = 61395;
+  revision = 61835;
   stripPrefix = 0;
-  sha512.run = "0eedf87605020e9e012a44fcbc43eeb88ab87286143b5516a4cb3e9450a859927b93f488759b190059feff7e4dfd45f28a9d6cca81a0e4c9438dae273efd9abe";
-  sha512.doc = "140ed114d442bb947627106d6274f05fabce2592fbcb8fe85a82192c9509e250ee484e352b2a5df74bfb6db128d075013ad50fe164592dcb02b7124a8e936ba4";
+  sha512.run = "0a17579582954be3559992aab90409e5f594d6f2bd4435dc0263a512993797955572dfa9005e0eb720189ea9ab907d4e1e2fe491a093a04f0a9bb1e930937db7";
+  sha512.doc = "68aa85bdda80d6c068ae5d52288aa0e617129ec70546ba5e358e38accb0773cc3b7ad713a9dcd5a18c4ac4535cbdde3c23dffd1f13c990dbdebdc3e6505a7502";
   hasRunfiles = true;
-  version = "1.118";
+  version = "1.119";
 };
 "erewhon-math" = {
-  revision = 60614;
+  revision = 62098;
   stripPrefix = 0;
-  sha512.run = "c82d28bf92bb30b45ba070c620564ac1a94f5576bf51ae85dbe2f6f9e155ac2c0787193e4c3542a1e32d1c3ff170fb9585e8ea3ee5be8b03daa27cb57357ab2d";
-  sha512.doc = "ed6be6a52b9e59bc2244e4f54cf52c5f1817af051e164d5b01d1c905559b8d43ce133f7b09fd35ae23e54efb191b8869bd7662fec0b5c1363bc2c64e7f9f6c47";
+  sha512.run = "62ed92927d12c1d80e0a6240e037a951d1fea7a15d4f97da7b20a2a98ec84f7fd52ce44a552026c65247205decf337bf7a8d157abea85d2c4f8c50957344110a";
+  sha512.doc = "70ccc1ddc7731a72cf3a191c6c051617f1acb8fd362c4e49ce1ea61c2d7998d5fb870adb37bdd4e695537b92af30e9fa3b7a0e46320b5f4ad60f5767c69b12c7";
   hasRunfiles = true;
-  version = "0.47";
+  version = "0.50";
 };
 "errata" = {
   revision = 42428;
@@ -14304,13 +14454,13 @@ tl: { # no indentation
   version = "0.3";
 };
 "erw-l3" = {
-  revision = 55414;
+  revision = 61799;
   stripPrefix = 0;
-  sha512.run = "5f006723665945d55f7365f3cd5076fa7ca924c0ce08c797ec684230edefd71483f37b456f5627b7d6b3d8f10fbf97101caefa67365eb155fe3f93d115e1bcf4";
-  sha512.doc = "fcf42f6392ae01414868f2d36883d9204bcefc06d772e6ced603ffe01b2b4d0cc15b7dd161b1dd57f5e58816d6da4290b738a9727207de28b1738d233c82fb3e";
-  sha512.source = "27f357e13027f67764d4818a1cbb786678260272264ba7af13e6867923fc395c49636a09a5f2e4a444ea37f9985d0c7edc5a52ebffa172843bff24764112cd47";
+  sha512.run = "551a7c38657547038a8bcf5973ecaec81cccb4b803961145d4aedf7416834e3cfefe736a59e20c80cc1621d415216371d58f3d0c7d2b0fc3dc0a182e1ba91acd";
+  sha512.doc = "8a0a823482fd19c80471e9c1a38312b5db7f04f618c8fd8381324c38bb9b9ebe8eb8fc9ce90137d4a4f1de7b6b65aa1c1820cfe0f009f4ad743613f53b549323";
+  sha512.source = "babe7d5b286f4c20f469112efd76e4a37980bdb709ca9cd058263bf74a5d20b4b7c0aa3a4aba7fba512b5c63b538b6da1ae90f1903bd58ddeb36e2dfa4339e32";
   hasRunfiles = true;
-  version = "3.1";
+  version = "4.2";
 };
 "es-tex-faq" = {
   revision = 15878;
@@ -14320,12 +14470,12 @@ tl: { # no indentation
   version = "1.97";
 };
 "esami" = {
-  revision = 60730;
+  revision = 61596;
   stripPrefix = 0;
-  sha512.run = "83f00130432776d8eae210c15b6bc171d98b23d636ecf043424248357fee8efce3a025340772de933c8b920dec4fc7451981734439d2b82724af57f343216784";
-  sha512.doc = "7e1dfc05961f8635eea0a67aa4b2007029d4f8d9ad629a9dca317c5ec279336b28d01e1c51bceb93814a636802f3ea1cf8d6090ffd81a99050589efcabc8b11f";
+  sha512.run = "2e0c1bd441ccb4376d1dda69f32cff55bf4d043315dd2c004bf6bebacdc510ddc9a1347bcadbfb96dea7be94b6d59ee050746afb04f50196dd7c99937b7e8505";
+  sha512.doc = "6bc50f4083cc401278a526c44a76e5a9569d0cbb7280d38270e95676fa359c08a25779709576c1532ec9296457d970d2abd82eeb78b2ac4923caad9559da77ed";
   hasRunfiles = true;
-  version = "2.6";
+  version = "2.7";
 };
 "esdiff" = {
   revision = 21385;
@@ -14447,12 +14597,12 @@ tl: { # no indentation
   version = "1.2";
 };
 "etbb" = {
-  revision = 61377;
+  revision = 61872;
   stripPrefix = 0;
-  sha512.run = "0b5165504a2bf40b4f95f1f0d6de547a43f680831e0777ca12f8ce85e0e0514279bcd3d65f4228a61e004c93ad2aad239940364cb9e35927ceefd40c3ae73757";
-  sha512.doc = "6beb4f5d4430d11bb96248e77152d06c91077d92b5408c29436546de1001887f860c2cd9475a5a99c476fe4c902c9dd1b2607aa11d15b69ceb2e485e6ac53078";
+  sha512.run = "986a063266a6081571e9a9db60674f1cc795f15b32eaa954214b4620b29cb43043b6ba6cdc9cb02f20f809a65939dcfb157590bfcf867d999299ae34520f9f8b";
+  sha512.doc = "1278c7281a247416f4439b9f034d2acab7bd03e47c63038d8a4ac12793968e2508cf562940d0a0b510abc9ceec3517dcfb277cc365c9d3998797237610936613";
   hasRunfiles = true;
-  version = "1.055";
+  version = "1.056";
 };
 "etdipa" = {
   revision = 36354;
@@ -14638,10 +14788,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "europecv" = {
-  revision = 61398;
+  revision = 62685;
   stripPrefix = 0;
-  sha512.run = "7c9884f1d080659f648454ce2935d1d503a1fa8b54a33534e43621d8808455e4245e859fcd4559ca6af5370c55a2e43b56f5760c783bcf8d8c81e3bddd8e3275";
-  sha512.doc = "2860cd7079568d49aeeebc28d49b523dc86b8b76fa1e0d0133808f08b43471d267ccba9cd7dc888ed1e94f3b27fe4a01c093b5e439572d41004d9f1bb32088b0";
+  sha512.run = "fa63e478c7cb04b8065373166bd0b7b25fe3d46b744a3b16c9b9cb47dc933e8fbebaa118dd8cc49840442d478a278eef84eca94696230f288682ae45f77a7d46";
+  sha512.doc = "4854a525b05107c39ca705ae4c12c3d31b06e71bb3ee97e7e278312e1edf015c41b0d584fd36b64137b07e4197d8602c6a46201d5132ec7f99ded311c136d034";
   hasRunfiles = true;
 };
 "eurosym" = {
@@ -14712,10 +14862,10 @@ tl: { # no indentation
   version = "1.1.4";
 };
 "exam-randomizechoices" = {
-  revision = 60125;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "b6650105435a758ab59d705f1b7ec691c56549376f914efae023db2b40bcc290cd080db81a0ab2a304195774b8c6685ca6e78b95519590984ac7d82ea62f3fbc";
-  sha512.doc = "898a7ed9df2238b59e956f115b969e74f29649086ca4801e35ab3752c68a9b21b2757d712c75161e5092002dd4b30f0a1f294b86e100b579c0112de547c3b5b8";
+  sha512.run = "bc29ee238d430b0d1b536084568ec8e68381c827c7ea7a4742eb497c7092ac8eb0bb990c3356eaf5939420e37979412c61ecd2e83a98a0e36739f1d6c73be3e1";
+  sha512.doc = "0cc99d67ba7b1d8d27048b33a1f1b9864e35c542ba8683c590598d5da3d4be5d3f93c9a01f339dde6fb0945982e20de19847805d185b4b28aee2c7d86bfc631f";
   hasRunfiles = true;
   version = "0.2";
 };
@@ -14845,22 +14995,22 @@ tl: { # no indentation
   version = "1.9a";
 };
 "expkv-cs" = {
-  revision = 61109;
+  revision = 62003;
   stripPrefix = 0;
-  sha512.run = "eb6b03b1c69ce3a127ed1cb32a117c5a39ae14068baf26fab7978a482f8c5e40fde07c9fff486cfc331b61c27e32a70a374eb91e5e06b142837842fe68307c5c";
-  sha512.doc = "abdfb23e0a2862670059dc392b8b15865c551565ae71f5a9053f25b0725682e7bba428138bc545c836af0a264f30215e0a361a1b128bf225939faa21f6e41203";
-  sha512.source = "4bbd92d41d84aac9c67a6af5e9a6bf977c8a11a88505cc11cff52e59ec12ee280510a1f97585415569acef8ec2aa03541bd27c5b99134fd41882e7bdcf71fda7";
+  sha512.run = "2d2b736151dbd3df233d848c8b430985491da3e9b5212b34088ad0932bff4fa2e51bc50b9763da2aba76407ce18a085a839d5308e259d81e2d4d2e6e50356020";
+  sha512.doc = "4375db000d07c40d1da239a1abaac2a7ac753f75c36d2bfccaab94f82c067d886395f37c8a4413034adfb3f2f49251dc21b09e5f5dcded9a4fff7d609efc084a";
+  sha512.source = "43078d5499d8f2586be022bda7d77c9a9678686bd633eaf790faf289a3e6bb583ed4f66f65a6f4c64f3d8f594652be326f5a05a5cdeecf43e7d3ed6694d53a1d";
   hasRunfiles = true;
-  version = "1.1b";
+  version = "1.2";
 };
 "expkv-def" = {
-  revision = 60572;
+  revision = 61796;
   stripPrefix = 0;
-  sha512.run = "fb18169c900e8e22aa110b4bedd57d06f69bb87d728a4aa92eda0bb734650a6df2bd5de9939f1d4bac34e33329824bb3dc71009fff18212f2632cd4fd37a9a57";
-  sha512.doc = "83bec61be058267c276a915aa059cff789e93e890a20f259820e17d350a771afbe28405edb47525ea09f1f904b24417e755cc7fcf955cee875dcb727d64ab06b";
-  sha512.source = "3631e9b8e8af27880f7a227f3bc494c2167877dfc3cfb4e9b4a4cc9acc9a37f4b8538a0a30b51bf3698bb4a2a820fe1ecbeb1173a3f2a91bb0467099f81ae9df";
+  sha512.run = "e783fff82e60385cf5f6bf71df65fe7f78e96cb872a1219d5a525583160d5dd1ca04951f9e57fcff5894fb5e81ecb86771cf485df45a528a6437040f4b22345d";
+  sha512.doc = "675f3593096ca214caf706dbd65f8c2a6fc3b334b83ad2e04c3eec562cb940ebe0839108a7c27a4a9d99ab3ce3137d0e195a6ca35f148e1a790d3054f2f4b35b";
+  sha512.source = "52387ba0731a46eaa32792cf1f552116a82357ac23f13235dc3013944435c157736800278047424a6151a47bce3fdedd104af5ab03ca08a097d421e96c75e1f7";
   hasRunfiles = true;
-  version = "0.8c";
+  version = "0.9";
 };
 "expkv-opt" = {
   revision = 58772;
@@ -14965,13 +15115,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "factura" = {
-  revision = 56948;
+  revision = 61697;
   stripPrefix = 0;
-  sha512.run = "a4c20cd7b7b2dbc58cd7d1e2c7cdde59710c9363a7e4878825d5aaeffa992bbf471169bdfa01c83aaf3e82aa96ab5fc634676656e2e4e6bff55cf5c4e5407f53";
-  sha512.doc = "7822a8f8cef63485f2c707e180c14b67148cbde8f8f1b6d1ec6bd0d9f6e124cf4b63bafc7d01c6ec72c8b5f1edc36f68f9f48b9bac523ceaa093a861a5790f2c";
-  sha512.source = "14b3c407a61583fb5cf3813d7ef379fe34415f10b985d7e71dba622dda7b118dbb197e7c8b1cb2cbb45378e38eb333f539c4e95daeb57253983699e3015e4395";
+  sha512.run = "6a90efed09588600991644ba847b16641aef40dd0b989b1944f7b48581d6bae642645fc97023e6cb0f1dde76593086c3007580df25e5997b92593020140dc212";
+  sha512.doc = "f449e749dc4b61a8a15062fc9e5556414868cf904bb279c5e997402fbd6d7f21f3e8f19c19af5ab4049a1512070d8e74064d4823d56ee7a20ed03f2a2eaa1b91";
+  sha512.source = "d26418ce7f0c6d95a1019f16406f39e791ba79733632cf5072b041a3ea3b70530d08356590aa5305b9d52fda0d882669d52b1bada9a3d0c458c2888cebe35b9f";
   hasRunfiles = true;
-  version = "4.00";
+  version = "4.32";
 };
 "facture" = {
   revision = 43865;
@@ -15142,12 +15292,12 @@ tl: { # no indentation
   version = "1.2m";
 };
 "fbox" = {
-  revision = 55627;
+  revision = 62126;
   stripPrefix = 0;
-  sha512.run = "6274daeacfe6901b63e1ea839990a00334ce218cd76d145ddd37e4a414e1fd395d8937bd019455e45bb52b557dd6b2b49cf90d84ca12cff797cdb8162414ea50";
-  sha512.doc = "13f85034f1814c814d7c6885650a35d97c483d47fe4e7279ae3872cf155d240084132732f71b38f6a0440d38fc1a2ed33cfa4ecc6d7a4c11b89f4c7d6b482204";
+  sha512.run = "8f4786fd15b1f6f2bf64a00e9367cd346716edef54298bc3334046166a067815112eb85a6277d7165ad5e4e830b1cd1ae149c907842df46196f6d33c2ba6534a";
+  sha512.doc = "e52d356422df18f8e29243b5323cf888c5d0b6f89c3c822613b577509d8dff44bd4d4e1ebd5f7b6c72abbbc782f362ed9162803b572a2d995482db86153678bf";
   hasRunfiles = true;
-  version = "0.05";
+  version = "0.06";
 };
 "fbs" = {
   revision = 15878;
@@ -15181,20 +15331,20 @@ tl: { # no indentation
   version = "1.0";
 };
 "fcolumn" = {
-  revision = 61130;
+  revision = 61855;
   stripPrefix = 0;
-  sha512.run = "5d17c65e0cc6f3fd74857e681fd6ce4bb6f3ad0767d162e3b88c48cd51bbe3f61d4ab7974b40435b909bbbf3bcbfe0ccb709fb3da64756cad5a152a14e8d47b4";
-  sha512.doc = "a6951a47758b10603ee69d4bc65b45dfdb0b29ad9986939bd89f74a6fbffa877d7af258ee64e70c7070a71640250701d7e7054a07fac60fd8c72e08a361d1d9e";
-  sha512.source = "738bfbcf9a6689ff1fab74d6fe1235285fe1241cf7fde91d51071be5cf7fc2a5bb2181d3ad842389b0343c57f430470bba5779ecef8aeba8ac1d525c78cb9d09";
+  sha512.run = "17820804588458b805a65eee92f4fff31a73b7285f85546e0006ca6ee374706bc4df9f78eb044d8b79ea26b27b16f3ae38f035d8843906efc0043e1754f6ed3d";
+  sha512.doc = "d7822b79097ec0d58468dbf46e0b2651f97e763c3212102def2c247ff3088dab4088afe2c4aa5d97bd6360b24e38da6e872fd25f9928724f151c03769ce2c219";
+  sha512.source = "f3d27931c2586d48fd34fe59b5277c67a3e1a6e25f486a1c3226385b3ada23c655cfbd25b26470ca84b80cd7d9c1d9b72172a0b11e1e0f35899cd3a3608f42ac";
   hasRunfiles = true;
-  version = "1.4";
+  version = "1.4.1";
 };
 "fdsymbol" = {
-  revision = 26722;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "37f716e9d540d7742f53cd38155141d763d3f8509d1aa1f3cff53ff33c45537c44dc68c9608558021868de3072302d7ac84909db05e8b25813c23ea01c87edcb";
-  sha512.doc = "7d1f3fd153bc17e65a99ce6a38c8992b2172c1d0b85254fcc7e926b9539928ad403809b8af4355abb1e93196b4e4d5461b587c8ad94d04cca7785c8a334b4ac1";
-  sha512.source = "d30403e01b2a33372ce49477ed81fcfcc505b50b1c0eb511dc360d86ec3793ff2ac0c8964448bf2525bec1bc5bb3792ea9729679e2ddd8215948c65bfd44afd7";
+  sha512.run = "e8b2d08c3e64def77a688dc9d96c0b9da9eaa4c942e571578fa0a7e6dff9eb3910ecc66a7be9334ecd41fdc0023f89d8c98facc2d42cd0095c75d6e1b4da69ac";
+  sha512.doc = "88efcb300a84b6c214fec37603ea23cb51043af78e1af8aa6e3ce157bab1c8e395e71991c7ea7854051f4706c6b702fe0d48edd76e919a4592e57320b1f77b98";
+  sha512.source = "7be26193e05d57fba2a91d57b49cbadaf5594d9ea843b9d9f1ae15608cf7d45e40112aa286bee73ee16da976c7ca7bb7aef5627cf8f0023cded506a493426b31";
   hasRunfiles = true;
   version = "0.8";
 };
@@ -15294,16 +15444,16 @@ tl: { # no indentation
   version = "1.1";
 };
 "ffcode" = {
-  revision = 60500;
+  revision = 61719;
   stripPrefix = 0;
   deps."microtype" = tl."microtype";
   deps."minted" = tl."minted";
   deps."tcolorbox" = tl."tcolorbox";
   deps."xkeyval" = tl."xkeyval";
-  sha512.run = "0151738d8bf73bbdeb742ec238038eb63c8dd979ba156ce36cdf509dbbc2e161e80b031e4ccc552a85dbbb09238e634d93bb1835b7068fcbc82b8a6a7539a846";
-  sha512.doc = "878e6d0bfe32f4d38f1a0a2710010944dbbcdd29a679f8d66be41df1f31f8212a9d249a980f50d7b7b6d03b214ab7dc8befd07f885c062b55075f280796e3ee6";
+  sha512.run = "d7b0c22a885ae1e1823f37ceb61181918e04f1440b73690c059f24aba32161ab3c53530a75d9aaf4803f65f9bd75d9a136139fef62ea05889fd603f4bf8742ca";
+  sha512.doc = "2df4e67cab554a564f8206d62963ea1954ed15582c13b662d1c9c2341555724c5c841f5fb5e94e29373146ff4bc9652c62fd30717dbe5583fa7a08240f76f9fc";
   hasRunfiles = true;
-  version = "0.3.2";
+  version = "0.4.1";
 };
 "ffslides" = {
   revision = 38895;
@@ -15609,12 +15759,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "fiziko" = {
-  revision = 54512;
+  revision = 61944;
   stripPrefix = 0;
-  sha512.run = "d76d828bbb7d54596c7e3127d2d2c92f9da7572892d5b0a5b139536e9d765875555bb831aeafc67e56e4f2234462aed14aaabfff2685b30bb53bce89cadf0e90";
-  sha512.doc = "c04516bcdaa607d01a558f1f30729792365c9aeb4bbd116f4523f398c261a6fbc01eaeb64b5fa6ba008c38a8f1f2e4c9fae8de40bb4255e35bc80059cd50d23a";
+  sha512.run = "4ad67bab5850464deee4a3a29fd7c02d011eca50dbba03dafc5059ee54aa434bfae5c173e6022fef4cb761f2c760b6dd5aff403b33b7ddc8e632961ce4f8dccf";
+  sha512.doc = "e719652f76de617201a2562ac5b3a04df1577ace8fbcbf10b874326a85cc0ebe3549b0b427f39cfbeda0f34f7f3fe4ab6458ad1df2613572260fa77cb8601dcc";
   hasRunfiles = true;
-  version = "0.1.3";
+  version = "0.2.0";
 };
 "fjodor" = {
   revision = 53207;
@@ -15650,13 +15800,13 @@ tl: { # no indentation
   version = "0.10";
 };
 "flashcards" = {
-  revision = 19667;
+  revision = 62104;
   stripPrefix = 0;
-  sha512.run = "ea1d530296c2b3e11645bbf09b4776394cf1725db5f30f23297818fa68b5a8d1d860d5873755d1be010c8d7a3d01567d878f3a12490fced35f6f825034f1c9f6";
-  sha512.doc = "f42cef1b5a093861818d03f2df9cc5029546a1bb9b01a4349b815fa26d7320bbb9d596adceadd0583dfee7bf7bf8a011c8296ec06058717a61ddce10baf19e53";
-  sha512.source = "c9d90cbb0c0fa854a6d187ffafb20cefad24549083c166a5088dfa05c3240869996bd16097ddf74adcdd658ab953d39021c896eda94dd7ad426e5bd972d78c73";
+  sha512.run = "0c336f9609fbb81bc373fad344a44b8159c7d142d2a62de795dc7f1b7a8aadba563ab7a4788164058c19ab6f6c9835af1f1a0dc275377f51aca9520b3a8a2327";
+  sha512.doc = "6ef79cf1f91bb8dc7b9b3785da64af582891d1536962ea9ac9232bfb8fcb156e7c33319970793fc6776db2224ac991796a93a287aa3eed2e0cd0ea741c6ef9cc";
+  sha512.source = "9d428930e3993de9d2fd407a78b19d2b851d9e7faa88a5d5c0bb44ec014432518fcd4ebb6cf68e5b3a0693cb4ab7bbee0068f431e0ca169423ecb5959ec233e9";
   hasRunfiles = true;
-  version = "1.0.1";
+  version = "1.0.2";
 };
 "flashmovie" = {
   revision = 25768;
@@ -15795,12 +15945,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "fnpct" = {
-  revision = 57508;
+  revision = 62249;
   stripPrefix = 0;
-  sha512.run = "cb423c17f6d4a58f400c0d59920aabeb33abffd70338d158e63fd4cff90e1e6ba43c1480320470851cccebeb66ae523cdd2c7362b33a0570aa20759605ef0be8";
-  sha512.doc = "99c51fd746c61028079a6fe9fa8a29cc2cc141a9d3b81f9e2fd33e35af02cdfcf7f7833e8125d0e03a2d39ea6518ba5c0eb589548f5ed35a9fee7ee4b4e3e5a9";
+  sha512.run = "d97956ba06f806d28d77a286cf12ba9d67f74f4d4c8de56d25381eade1448d352e5a7de958990155f732875605f9e57095ad94a72bc55664d16836e944ef4af8";
+  sha512.doc = "1ffa5f00383a8307f26ccecd0e2f2178035365008d637560fa626173fe6239be4a2c7c5eef82dc1d5e081a5baac941c68329cb60c116f4483fe0eeb10e6c712b";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1a";
 };
 "fnspe" = {
   revision = 45360;
@@ -15834,11 +15984,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "foilhtml" = {
-  revision = 21855;
+  revision = 61937;
   stripPrefix = 0;
-  sha512.run = "80b177c1eb224dbbd086d3b8a0b10b3f0b3434e977c8d71b34a58f76a5a73757148b4e7438a275f1be186df51e36342de132940ebdde9608e7c741664ea200d7";
-  sha512.doc = "a24c9f048f7e1cf187d40f6eb3370cf68f6de80e24f2f72b077d782be5dcd369cf3a7ce9bc7d0a269c285d04cbb543481cf439710037a26a7597164492b277fb";
-  sha512.source = "a6fc97ea007ddddaef17cfb4bf86d75ee34a5525ee48b58b111188cf6a2e6269052c4f90d87ff3aa6157d1523fcca3f8f99471fef108cc8c1e69dffa7c6656ca";
+  sha512.run = "88bd7239cc37cc4429be37de0e68ffd6291844bb81f34a3e9e8c0dab14641d66b6d3990e44d58e5322d2cbac8da27901fe7dbb3b64a59be577ec0f94a036bafa";
+  sha512.doc = "c444f13c4c60cd7a723d9bca8d687a3f995438767d077c812797b91e0111372fed6c76fb51f264c0332cffb1a598e5f2a17a63882dc18b4e682f08a3ffee0900";
+  sha512.source = "9904924a8b8b1723e7496960fb9856e91efce76313cb49e756d99be5f6f97022e1cf8f27edec0ee738281137e3fe4d251448caae54335d30b0772a1be44cb8e6";
   hasRunfiles = true;
   version = "1.2";
 };
@@ -15916,10 +16066,10 @@ tl: { # no indentation
   version = "2.2";
 };
 "fontinst" = {
-  revision = 53562;
-  sha512.run = "1703570199fbc41d589817f83b5782bef5552030ab54646d464423f0788b1f2f3a5017a92846de55ee696b4ccbe1d46b2220382f7446ac7cafc9970c58d1b5ba";
-  sha512.doc = "dc7aca7d63e13fb908df02363542abebb1760b66669bf360c2ab33e790ae6d3ac0ac1808849efab2784c39499ee1eb5e2fe43091d41b0270a4c402c2394f6fec";
-  sha512.source = "f0e4fd7818432ccf95a91f6e5d307aefe8d6d0bc3bcef464fa5b94cde24304c693466695e3a57fcc7d3bd388fc16a2ebb23fb80ecd3e5887ce845151983ed493";
+  revision = 61719;
+  sha512.run = "22cb935e295d08acb7d700c6a9279d0c7b53faeb85529e8b57db7a67f2b345ac06187936ffb9c5cc0b10a357dcdce4e15439730bf6790b2b525cc7a5fee77719";
+  sha512.doc = "b9f2ae2b231a1bfe26b834fa008f94cd5f811a3be8b0dac431011f79a7eee9623511e79d45d38954157e6acbd7e23c452efe60c18afc1662bba86692662a568c";
+  sha512.source = "e00ad6e893bde8d0941dde60950f431d1e73151c19e0fdca25a5220e7a06ab22b0971a69fb962b746b8f74cf10155d007d5abb265f349cef28854637e204d209";
   hasRunfiles = true;
   version = "1.933";
 };
@@ -15945,9 +16095,9 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "fontools" = {
-  revision = 61067;
-  sha512.run = "81deb8f801835eba78d496cb83c7ad396192c98112bc6078fab6bb8c1dc35ac907b716ba07a039e6648795ac2ed7585afb1d301d8db1e04f290b25df9e731c52";
-  sha512.doc = "8be27ebb9eeaf1826d98d3b7cce39d8fb7076493c525456cc6f2bd65de784e9c30faf131421df9594452975cddea5ce12e0e4752d07089e914e92f11e3b9f235";
+  revision = 61726;
+  sha512.run = "641f6fb19b69b721c1df9996d5f97e10e187ff39ad57e4827b13640fddd0a93c687157690d3fc51250e90bbeb3ca0a0e3f815d2c17b857366764e5e91fb5b2e2";
+  sha512.doc = "973522d7d88d26559e8692852d6ebdcdc44182aaf6aebe7b3552702f0d239b474c95cbb5db10471bd343f5c00049887939b9d1a586e0b8cdd710dfa79c4e0f1d";
   hasRunfiles = true;
 };
 "fonts-churchslavonic" = {
@@ -15968,12 +16118,12 @@ tl: { # no indentation
   version = "0.7.3";
 };
 "fontsetup" = {
-  revision = 61261;
+  revision = 62478;
   stripPrefix = 0;
-  sha512.run = "382ad3ef0e6b5501313a9c2fdd31555be9391c639fe36f45e5758498587f2d5ee61b16e30378f30389ec10947e054eb127b8ffb31238edacc7afc1fc46d542dd";
-  sha512.doc = "4dbf61c2a0dd897f17992770459641bdffb460d46da473ebb6e036bc74f4e68cf49ace575b1816af1570697ce7320e6253702f730e9b480997923431b426c9a1";
+  sha512.run = "72f2124b7298cb48c6e97f6aaaabc251d1253f63ae4d785255e5cefbde5d1a94ce5a8fe238b1c4a0085d4973bb46a43ab2600b0ad385eeaca495155d7471a4f2";
+  sha512.doc = "da86ea783fbb7b17a866dbb5d7c2f0c17e5b5c89e068241074ff0de4bf4f1efd279b5fd322492dbbc7f394f3f11461f7cdd2b8caaf2a02fd79c1635664160297";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.3";
 };
 "fontsize" = {
   revision = 60161;
@@ -15985,7 +16135,7 @@ tl: { # no indentation
   version = "0.8.5";
 };
 "fontspec" = {
-  revision = 56594;
+  revision = 61617;
   stripPrefix = 0;
   deps."euenc" = tl."euenc";
   deps."iftex" = tl."iftex";
@@ -15993,11 +16143,11 @@ tl: { # no indentation
   deps."l3packages" = tl."l3packages";
   deps."lm" = tl."lm";
   deps."xunicode" = tl."xunicode";
-  sha512.run = "5c2013702cb65edbbd8d6e2c94eb8e181c7400f55593771d48e790cd32d8651e2ccb8fb41d89dffe7fb7ddd3219745102ec1934ad0dc5a24701f2c6a29107078";
-  sha512.doc = "bef134b11346e3d06e33fd9ff0c80fa6d904c8cd481d2c55702766cac2d9553298f05dee9e0b4b57238d1c9e140176fa26d29dcdaee990712fd4a3f0148b26fe";
-  sha512.source = "b64ffed6c06042ffab0faeba22b0df184b2fd0d27f8b312c65b33967021b860915d0c73f1ac9e3a9ac3125c5c7238038790b5d73127d02cb2ed51c64fdfaffab";
+  sha512.run = "910b6dbf1ec00882086b1abf93e4a736b4a9b07b89d920fa84094aaf8fde11c6d25fa8cbc4448987bf249c71925ded5e82056ca44e4bf8f10030ab6bcbc3fc46";
+  sha512.doc = "03f1d92fab61b594d51e0befff26b95d39fb08eb3a250649b042fd02493f07b402fa71c2a3aab9fa3da48730be060c46ee77a41026f513c5a61894d8cec192f4";
+  sha512.source = "3852251a397d4122026aab6ebf6f99e04f6f6f7b46da0fd38e858676cf8b090bab4c970008b32701130f3a2e5bc13b5ae5c1dee0a5da8941b037165bf6ce6aba";
   hasRunfiles = true;
-  version = "2.7i";
+  version = "2.8a";
 };
 "fonttable" = {
   revision = 44799;
@@ -16009,9 +16159,9 @@ tl: { # no indentation
   version = "1.6c";
 };
 "fontware" = {
-  revision = 57972;
-  sha512.run = "3e0dbb5ec5b2c1a616afdb209c9733c65786d59c621e43095a21ca5c1478815937361314fcbb9a161eaec8abd5acc5a05b1107cdf5919d152d01f318789a41cb";
-  sha512.doc = "c76d1c81a72743c59ea37ef7bbd71ac7e49793cebf38eccd36c5dfeaf591ff7073beb4de8692fa5bd2ea453588582d50316a34818137e70673a701a7e4b4796d";
+  revision = 61719;
+  sha512.run = "80ca33d19a699d54791495dbcbc39328be302f21a6d61b429499b5c7729d83be96281f406515cd528286e47db6f5f703fb0220468c8b547d8dfde3fa96a16c76";
+  sha512.doc = "b18e42def71fb2e495730a0c7ab1df0b1908feada1405dba1d7b0a1768556864da89c30e51835917e8ee6fe04519f3d11023496780087c21f4e9f59d8dd6ea43";
 };
 "fontwrap" = {
   revision = 15878;
@@ -16030,13 +16180,13 @@ tl: { # no indentation
   version = "2.0.7";
 };
 "footmisc" = {
-  revision = 23330;
+  revision = 62527;
   stripPrefix = 0;
-  sha512.run = "50d0d02b243936d2455ad2353c0da1b77aab9f8f822033a98062d979b686163b94798784dc6b8496dda3ef38eadbd04a21e153f0fa9a76b499c50159c169fb85";
-  sha512.doc = "3a732fe8a1ca364275a7b0849be097e307ba322ff611a650a4625cc47792410b974055c75165b62ec8d5d2a128b0d6a194d798248bcd6bae266c7638ffe67e01";
-  sha512.source = "3489b4c09a145ba19d25120a48368470d65c2407a8c5697946ae669fdd63f0dc7176ea171ccd2a815055a6fc16f02523f7b2ca084c60159c1768a8a3b2eccf11";
+  sha512.run = "c55f3aac5f84a30738bfbf6ad6110a39e27ad9be50a6d454794512612649c008e6c55d94484abdb57a0ba9d76e8fd9ce85c7ea973e2bfab718f49b94c7f52f5b";
+  sha512.doc = "c5a29fa3c76554d043a4ee0b7eb429428a4158a00c1617ab57e616ad99e83b3ef2319bd447fcf80d66e9038cb8972d557f4a6db9cc29aae8769d3c0f702df578";
+  sha512.source = "d6f2f90be95d4a459a2cf658bc0c1d5cda34fd61a4c4022924861385ba0e177e065736e9e1542dd15dd420ad2aa4a1bfa412161cdc2e2bea162174acddf8957f";
   hasRunfiles = true;
-  version = "5.5b";
+  version = "6.0d";
 };
 "footmisx" = {
   revision = 42621;
@@ -16131,13 +16281,13 @@ tl: { # no indentation
   version = "3.0";
 };
 "formal-grammar" = {
-  revision = 61062;
+  revision = 61955;
   stripPrefix = 0;
-  sha512.run = "b780535573e46257b0663e09f7b923b95258adf6424c5134fc56486937bd82cd993fe360c1d759c230224ac53f6edc49f225a3983c4de59f5845580457660743";
-  sha512.doc = "1bae850e65fc9ca375a1848b4bf579cf4a21cba2c28d743c61a2ebeceb7017eedfdaf7c713a151887221f69d86944f0bd0f71943fadf10031cedf8767338ea57";
-  sha512.source = "9903b5460e12bce7d5ed565751b789d80b6e62bef793dac38bb663673319efe4a3d58d566f28e5f1c492c225dd2a4a91a73e52a63faf73c7b511251bd7a4cc3f";
+  sha512.run = "9a14266ff45b4d153000f27694869ce0b3a159d646ec0343726e4510ed8444d9e1ea08209f64ac2b88d8875e860880d048fbc67c5dd5292e60c02521f89de3be";
+  sha512.doc = "48d80287ee514f4a846e45b3c0af655644817a3a8dfd2e95e7955fcf4866cb15d5b771e73076cd8cb6717d2d70bfd615e2b613ba58e79380905d3cbf23beeb9a";
+  sha512.source = "55c30bdefed19d9a794cccef0a437cac4fcc8d36b62f3fed1a8fee4c8ee68414fcbb5bf14203eb6510d4be32058388adc4829be1572aa9fc44915bfd362f67ae";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2";
 };
 "formation-latex-ul" = {
   revision = 56714;
@@ -16190,12 +16340,12 @@ tl: { # no indentation
   version = "2.00";
 };
 "fourier" = {
-  revision = 54090;
+  revision = 61937;
   stripPrefix = 0;
-  sha512.run = "4e4e5bad7ce25c67ec925145531e1a27344735e32e2c7053fa73ddd1559ad3d2f5fce00c92c5dc09731a90666fb5c80aa9702adc7bc4469239ca5ae62c23644c";
-  sha512.doc = "59d1d7ebe7e44c1b5409a9b49e83845aeadcbcbecbf30176b3bc4156f7f611878fd3ee17405df48d3b4e41dd8c95d6dcc24080f15801959c1b2ae83a7a2311ae";
+  sha512.run = "127699baefe3be6cf18d50da60d162ad0daa8794797b2200d91d11f290de4f209f2d6097283e9340fb49f20810bac7fb376e014e419994444a6611718670c301";
+  sha512.doc = "7f6ac2665a52e2bf4fd4769629e00ac2192c68628784e3bb9bc5cf4f9f4c99e8e46485344e7a1019182be0af086e2b5b0ed557650b1d02ed8a9f6e2dd075d59e";
   hasRunfiles = true;
-  version = "2.2";
+  version = "2.3";
 };
 "fouriernc" = {
   revision = 29646;
@@ -16400,6 +16550,14 @@ tl: { # no indentation
   sha512.source = "f83465845900ae5bc872fceead5a83fa972c9fa8b858606007237251ee2dd77cbd095376194aca0356e5c8be53fe653a88f5a10c1f73effa8201b3adf55c5a17";
   hasRunfiles = true;
 };
+"functional" = {
+  revision = 62805;
+  stripPrefix = 0;
+  sha512.run = "e88379aee42a247ba572a7ad6167599eb988ae8015dfda1e0e6f4c9be7e52dc6605e4a7c7ab1625380a9cf0d82ca8d731e907d5edbad2fc79be832da14711c40";
+  sha512.doc = "b6a3464f846385bbe449aaca7613a6e4fce7d6dd6f7bbfef37550e1324fc4936b40645a935cd2539af03fbca1467dfa750f2a5b57a26927bf6f1408df8262434";
+  hasRunfiles = true;
+  version = "2022B";
+};
 "fundus-calligra" = {
   revision = 26018;
   stripPrefix = 0;
@@ -16501,10 +16659,10 @@ tl: { # no indentation
   version = "1.4";
 };
 "garamond-math" = {
-  revision = 52820;
+  revision = 61481;
   stripPrefix = 0;
-  sha512.run = "5a6520612a6cfc8633149f4ea795049c017cb1a483104dc7258cd0c0afa0388d4348ebc0fd7d5b7229031adda5ba835c122b69d5310091106c972c5b8aa32891";
-  sha512.doc = "3afc74609589c22ad0e540f2915c8cc27a2712a2409f0085098cd00df74007e2cecdecaa40cfe79e99ac6538e496d59bed9ca44cfb18dd2b7fce2620805623b3";
+  sha512.run = "fcab922fc4faa8468a2d8076664567c8533e95dc6767eabedee5c053bbdbb721890731f0d976a2d6047709f058a4d5e029996a5a5574912d21cb493f2975a76a";
+  sha512.doc = "c7c5795e7d9de09a590dbfd7311786027be9dcbe51b1f40284639341953effbb0dfcb331061cad0a8d01df55c52611a8d61a6b62fba701565bb643826ba55734";
   hasRunfiles = true;
 };
 "garrigues" = {
@@ -16562,12 +16720,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "gbt7714" = {
-  revision = 61282;
+  revision = 62861;
   stripPrefix = 0;
-  sha512.run = "75cad8b2657d4eb23baa95755b573e9ca3e5c8e318dbff805607b5be8179a6e1ab00e50faddf24db237e28b5b408f5cc040f394706560b54686cdee522618653";
-  sha512.doc = "7862c027931a3d437c58d69aa5db5678cef860a403f64368d4a1debffad97f2c5e66fc65f299c282569dee48fbc41a6a92af526e94a3eb93b3c90a7c58d8cf2c";
+  sha512.run = "c4612212bd95014f908e4123b49b9143d6552e1eae07f3d77a646c07c2b3558503efc90fd902338c8922cbe1c34351d64598ed983258f63edc06c7c72a67e8e7";
+  sha512.doc = "3c47c0d85f6a8b1d2cda1cc49e2ae29412cb620bd9f7407d7f093c8a42dd7ed3a5d3d72f7c0a874fca3dc98d521b51c5042e1221a78bbcfd2e24bbd66298a443";
   hasRunfiles = true;
-  version = "2.1.3";
+  version = "2.1.4";
 };
 "gcard" = {
   revision = 15878;
@@ -16594,10 +16752,10 @@ tl: { # no indentation
   version = "1.0.1";
 };
 "gckanbun" = {
-  revision = 58754;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "e3847d0d2d7273f0abf73d3d07524eb07358a7a61f42e9d72516bc20c4521916f1d68d1cf22cd266f7eb9e20b6687e8ff3cb12ef6524b02e713d1b1e653887cb";
-  sha512.doc = "201dcf0ecf62b39ca8249f6fc9dcdaf1716c32102d0115924a37c4e0fb588af3d86130409c8f928a762a3a423273711136e9c2fe3fe33ad708a11d37a292b64f";
+  sha512.run = "ccea354895392747e5c84d750ece8f3717a0f9c529fd5b8b7ae2554bbe607b4497b9a8d213c479d5ad11e8ebc40187799ffced6f08f4fefb4e6d3cf223566c98";
+  sha512.doc = "4a885440883d615ad20dc083c768c3b64c3cdc627e1daca4008dbf07672ad62e8020a9b14f732d181c4a902adddd49908c4a0e41b3afbe2d68d2f90c5989e78b";
   hasRunfiles = true;
   version = "1.2";
 };
@@ -16626,12 +16784,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "genealogytree" = {
-  revision = 60562;
+  revision = 62760;
   stripPrefix = 0;
-  sha512.run = "f364f331d9e3769bf25130edce8cef5b9c30db51ccbd9517f1e335ffce0d2d8a362114dbb1471856746bf5737eb89c773fbabc4225b5cd655b1daad6153b0004";
-  sha512.doc = "64bbcaecd5cc923bfe38273fbf01bd2dfc2fbfcfb14b2a5cd815704bc7e5f043cc3794ceb891cf018a1735441e225539dd21187606b6188d7eab4862224e43dd";
+  sha512.run = "402cdce58452843e99d6fc915032af666f80fd19b316a7e534e67d172667494bfdd36efb2ddaf93584d657f671b4384b27043bf3235916bef67198ea869b9111";
+  sha512.doc = "ee71a2466fb20a3b201a458b3a77020ef5abee396a7bc60d8217a426b72483c2fa15d192ba5f53166c9e73ece8186d4e31aa17bc0130cbe1dcb5f59e2bd9c510";
   hasRunfiles = true;
-  version = "2.1.0";
+  version = "2.2.0";
 };
 "genmpage" = {
   revision = 15878;
@@ -16643,11 +16801,11 @@ tl: { # no indentation
   version = "0.3.1";
 };
 "gentium-tug" = {
-  revision = 54512;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "4cc398baae4fd17854f92b2c995b77316111018d3e7c86c89cbc966febd26b329024227d295be440019fab6d4f6008dd2110a3005d1a86d88113e104b9f2c9e8";
-  sha512.doc = "2bb2267aa54d027fc83f492125943529497c3c611e187eb12d099d46f96fe5d48a56837332eec1c7ffde97007f6f311057aadf4e1ddc1862a490912b7a1c434b";
-  sha512.source = "ff084fc9f2644ac49e9267c1f3a87c09445399db4e3e8633e25bee5b54b15a091053a0754ecabb2f67a0e85a07060ab81cdf8353adc24dc7f0087ed104bd8d92";
+  sha512.run = "09ce49517d98aa3535f803f8b6ee03286089c3842a0b527996dea7e26d4da2b2bb0a477ffc6d07ebeaede9532ae6e621746ce9610333b3c08782cecba34beab5";
+  sha512.doc = "67f7320fa74748de6f007d5542ed67bb3e6a7f1fa2566fbd661cae051f12c4891bbc6d6ff9260ef34295b5b975bdb329bd6dbfdd846d69a4c3df166d53605d3f";
+  sha512.source = "cb918310ae197c6570a4d48ae308e6f1901175e72c8c247fe62801fe1414ba42c297695c12275d608c904a60531ff5f78eb6f99518f95ab7b3f6539599f915f9";
   hasRunfiles = true;
   version = "1.1.1";
 };
@@ -16665,13 +16823,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "geometry" = {
-  revision = 54080;
+  revision = 61719;
   stripPrefix = 0;
   deps."graphics" = tl."graphics";
   deps."iftex" = tl."iftex";
-  sha512.run = "ca5393e23639894401094084c3c2e30acf12491dcbd3968a4af79037b6dfb6b86f07acfec6886d89a261991cbdebdc846d9804f125aecd4cd77c3e71968bcfe4";
-  sha512.doc = "4bd5ec66f725516ef4d5d3e83e3b75a9b4408fe947161e3d885b929b34c4b60437c3fcd32472486aec12c9665b5c0d71a22896055a613c641bda4c4aa987f76f";
-  sha512.source = "03c27863d6bded295176550743bbe7cbe6aea2b8f1365f7d0cadabd6d29b699efab98b98d2ea5f8baeaf19963a681b9852b2bd01769b326942c781fd0644644e";
+  sha512.run = "ed64996404299bd8379197b293baed752ff064e04eec87ffafdfd55cf21c2c48174560eb1c3bcdb0b06190badb9d9cc699aaa7a2ac8a5c537b0c818a423770fc";
+  sha512.doc = "a58ab22ae6df349d81b5ddf18a4e9b7dbb5804a497bbaff42acde18ca59fe8a19bfee34293debc23e44c690456e6a1b1d87614fbb85dc6cb3b3b7d330fc866d7";
+  sha512.source = "f4e1e8c0f5b8f443c8f5e6ad948cb1736ed944384daec20e9402c871872e86248b3167c72e07fc94fe32ef6ab36c17d2f177135ccf99f68d1c892af0a695bcbf";
   hasRunfiles = true;
   version = "5.9";
 };
@@ -17291,6 +17449,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.2";
 };
+"grading-scheme" = {
+  revision = 62509;
+  stripPrefix = 0;
+  sha512.run = "9c753bde2b9df0987296a2cac7e9213250588951b0952e27ebfc2c502dfb855076ec6bdaf1788925e0d3d720a3f6212cccef056f693a82d4cbffe9f1eee58b7d";
+  sha512.doc = "bb51898acaa4bf43217a92a5fc7921a7eaf4d6adaee0a957b8f4a8fa207bbbde4dccbb1af8bf00108345a7fb631035919dd85ddb6135d42975ee6c3798d9f5a3";
+  sha512.source = "a4c8434f294f4beefd4d701ac4d2229f4a3e926534013a42ed87466cc90f20da7a6a192157006c4a18a92ad848d7e96a8e54d3f37d96d71b6263627147b09eae";
+  hasRunfiles = true;
+  version = "0.1.1";
+};
 "gradstudentresume" = {
   revision = 38832;
   stripPrefix = 0;
@@ -17351,10 +17518,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "graphics-def" = {
-  revision = 61111;
+  revision = 62085;
   stripPrefix = 0;
-  sha512.run = "b0bcab88322ef2c11f2c94552b5d64dd929bb0cc4ae7f060ecf8aa871bfb6ec2756ca47548dfd9f2dc83b9008f919b2a4f006c53320e097585b4b7fc4e27e925";
-  sha512.doc = "a860f3ebe751de6b1dd8f0670803ddc85eae7651ec37e3436cea62ef3bdf705d1edda3b8f7f84cafc80b25e9015f88193a2c4cf443ab1287e3469fc8acc36862";
+  sha512.run = "0a427939d98618a357241fee7512c9f2f716a88b207b49fb31367ba4088643136004619a2a5fb0ec720895577188a5ec0860d4499e159af129f7f788f5d6d380";
+  sha512.doc = "7ae1018461ac342ca2ad85f7cbea7c6d04a48964cf4e07d68d1e2887ffe3081f1144a037899335cba24c4b5d6badc61b480114d10dc4fb45615b0f85897c4fb0";
   hasRunfiles = true;
 };
 "graphics-pln" = {
@@ -17507,11 +17674,11 @@ tl: { # no indentation
   version = "0.2";
 };
 "grid" = {
-  revision = 15878;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "c8a6c0d6ac1f6043411d5484c87877a939d891aa3bbaef31248f8dc04f39bfc5f7f13344ab2997724682f228f180025bc5afcba8712ee95de983d7182785a8fd";
-  sha512.doc = "9fa0fbf1dfd0fd334c9dd57f50e6d1f893a222bda6402345c70240fce48ea07065fa25ce890fda77983dcb537c8b3b4740cea71ed6a6b4b94275f1e2bd8ea983";
-  sha512.source = "01b7c6dc356487d9e1d9b210828bdb6af50382a59d65b85c8246defe963ada4ee0796a93793d90d25c37ea9c86432d9c05c3eb05598c72410fc2f865e1e69836";
+  sha512.run = "312b142c43ef4bb9624fd6589d086d733593dc0d387894bf58749b3f6251f33df415656b974935352a0d4fff090953f136d0353b98329ed3051ad179708af12e";
+  sha512.doc = "c3559726bf89f766b0d95e3b493046ee6b4c0edee43e4c581adb150e6ad5358ad0a1a3a67b75ea1095f2da87393734972a59693332de10b7b459579a7f73e534";
+  sha512.source = "dd59a48ee18940509d89ea55219706f7c0ae6d7f699b77137495fd4a850cd9d373f01cd9f2485a2ec47204c380c0a17c4986940e0a0ef21740c383e0eec81f0e";
   hasRunfiles = true;
   version = "1.0";
 };
@@ -17684,13 +17851,13 @@ tl: { # no indentation
   sha512.doc = "268a01f59660e5225c1c21539076e6239381294e6aaa31992032ff8e3d777cb7e4195247c92d9f22efbee498c8bac34cdb915e0a5b0f6cb2b5c0b72c15695d72";
 };
 "gzt" = {
-  revision = 61323;
+  revision = 62808;
   stripPrefix = 0;
-  sha512.run = "e1db9628affe8eebb6f9b79bb386b05d62705fdde689c435963d3b61b017c7f3a10cac5b74473101e69ea1ad0d3deb19c354133ec6cc38242321504ac0a10989";
-  sha512.doc = "c599c08e0f8f3ceae669beae774bd0069b0b3050e9109b9cdae3086ef38460aee61fae265d9c735d9d6511bd89e9641af765b7a853dd0a62d4b34798bd77cd67";
-  sha512.source = "f9c56d75f787de79e3c888a1b7df2f30190a5ae560d0daf61079061db38b961cd0d1b261e8858c12e8ad1f86c67eac24be63eee320a167fde90a82007561921c";
+  sha512.run = "298272e11d626a5c3758413f8549e836a5949b1cf12e0ff1e530671a41762fb9f91fd083ea275c2beb4039494e73201e3057942d24f3d48e8083d8745cc8372c";
+  sha512.doc = "6dfd308ca5f6b00db28d92f814ce90215424d444624ee032943b2608c0a4f99a2972279e47b10965645d258a4dd89b1003c26f86de10ea481749495fa0ee0e8d";
+  sha512.source = "031375766a09883d7b6665cc261361b7ebdeeed736b15ec5629dc569e351c90a72a96b123ea1bbdded5babef1faf1b3cc92e67a50e52111f57c1e9ffefb7ce1e";
   hasRunfiles = true;
-  version = "1.1.1";
+  version = "1.1.2";
 };
 "h2020proposal" = {
   revision = 38428;
@@ -17740,6 +17907,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.11";
 };
+"hamnosys" = {
+  revision = 61941;
+  stripPrefix = 0;
+  sha512.run = "36af23f5eb95a743a691047d9dc02a19825e88e8fa62f1931f5c2f13e95f89351b42dda6a204493d5f2a147e0d8c039b6b5bbb2aa82bec00824c7c5612d5056c";
+  sha512.doc = "068e8232cf97513c69845e66eb6772e80de0dcf9422a3547db3b002ada137a1b385829a7e8258145ec2b5a05becfd08ad5ee40fce71326b93c3241bbc9f8c0b6";
+  sha512.source = "bacd0fdea3934bcfd32749c759d1e57e740c0e47e477790dd3c706d252c9439182c0af36eba30b8c00c785bf782605c319bf63b7d9ab677c799a5997f63af32c";
+  hasRunfiles = true;
+  version = "1.0.3";
+};
 "handin" = {
   revision = 48255;
   stripPrefix = 0;
@@ -17757,13 +17933,13 @@ tl: { # no indentation
   version = "1.6.0";
 };
 "handoutwithnotes" = {
-  revision = 60986;
+  revision = 62140;
   stripPrefix = 0;
-  sha512.run = "6d633397b97aa5a0a63898577c60dadd8beb845c50928ebbd1fc93153c8dcfffb670da08afd44eabfdec1f66455a9f35f9c83fa8d5cfb7e70246b39e53e61f54";
-  sha512.doc = "c2f7d3ecaacec41cee39d65fabd79e3c4313e0034f0044b984ac43713820818a5e51b255903c39b52cf27ed5b74be4b1673fc7aca2471ca18905c47d038ec926";
-  sha512.source = "2ba124563c2df167686822d5079cfbc4bb7dbca8369df82068978e7dbd2b59820dad72310f60be560f8ec9aecf5a44e0bbbe626779f6777fd30dd016efc1b627";
+  sha512.run = "cac79ba06d60e99e151b272f28d6a8a04f1f766f406801c6f4fb24f4b4c74cc59d78fc6961624b1f77405bab6687ad896826426d8bad30b3b210e7ad5be035af";
+  sha512.doc = "f4f604fd888f5e072d8c002fcd72edb726d3f5512b5fd511446f3fa1295f5a6608510dabdfc6a162d648a3e020489d1e1ecaccb7e563f54e8ec156df51be6dd8";
+  sha512.source = "b41429450b42e341df413bc1d7e4266836370617ee94fe685710ce66c7b559b0ed44e3ecf95963fd84595845eef57b695982b9ce300f214901bd967a06f09269";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.3";
 };
 "hands" = {
   revision = 13293;
@@ -17820,19 +17996,19 @@ tl: { # no indentation
   version = "1.0";
 };
 "haranoaji" = {
-  revision = 58830;
-  sha512.run = "13029f3d1a25d11e2f9f04213532910bfededd9c8fc6f13913fd52c0018db493655a31084ca3ee3325569b500de5a641e69337a6f23ed575e429475d66940898";
-  sha512.doc = "0e6b2d9cb7afbef675d4a0cff16b80729ac70d48bad26a5b2e784ef6386aa8f8dcd156b51f19d9eacdfc38962da135aeb1a3bf735f38fc7cfa300b9100b57ce9";
+  revision = 62100;
+  sha512.run = "4c575f1bdf9eeffc33316f09a9a573669f7fa0c152a3281412fe55e19d0a0a0ff26568acb4c8e1dd2e0a5df47a2c62b5a9a4a8f3702a16d3e805009d1e011fa9";
+  sha512.doc = "ecdde06810b9541f0900dcfaab155ee6beaab10bd7f784ea927b3a78736ebf1849d4a652c66a962ee47ab38bb67befde6656f0f1ffd900c4cfe6bbcbaf5f2e28";
   hasRunfiles = true;
-  version = "20210410";
+  version = "20220220";
 };
 "haranoaji-extra" = {
-  revision = 58831;
+  revision = 62099;
   stripPrefix = 0;
-  sha512.run = "97d75fa7b631b9319c66c4c9ce7768154efb3ccef02e8d8a0f19660972e171b59ad1a7cb53df976d6f593f7d7e19c897afdef3fdf1a2cc47648e53ee1512884b";
-  sha512.doc = "46e4516105a996f0abd7a848e51e98b739d7e525ecf5ce3db2bb7542849219414032db56e304e62a588d6dbc26cb9cce174189c75885d161a06a5dfc6d6c69b3";
+  sha512.run = "db93e6079cb8793e24b162d1c36d2b464dd36053166209f69b1bedeb70e42be19cab957823888316020b6092e858e56a82f4dd365c5e0477166296b6eea6f07c";
+  sha512.doc = "785b9e852d39720eb52f3fe13094ee44f0f511bf86f69b9fad15ccfbaa5f0ac519ed2d9e4d6eff36ffeb8d2dc4fbf36680937cf5bef516038e4b63095f447bba";
   hasRunfiles = true;
-  version = "20210410";
+  version = "20220220";
 };
 "hardwrap" = {
   revision = 21396;
@@ -17950,9 +18126,9 @@ tl: { # no indentation
   version = "1.1";
 };
 "helvetic" = {
-  revision = 31835;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "db1921bbf180287cb735ef403948585a91b3d84fa0cb5c99ca1bd06db57632f2533f40d0b7aa04c01664ca7898166482559e130f375a85242bc44f362079ec8f";
+  sha512.run = "243904e50c3458e62bf346f5a48332709db226e54b17c731ed0bdac5fce04d76b19411a12b01b51ca93b5ff7f06eee38f78a8375f6244d7b7d53116713d601b8";
   hasRunfiles = true;
 };
 "hep" = {
@@ -18091,6 +18267,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.092";
 };
+"hexboard" = {
+  revision = 62102;
+  stripPrefix = 0;
+  sha512.run = "e82683253d7790448bddbcefc617d0f0e91b5373de477f1c78a5db9256d632983b1d5f700a0c6fcb4490b746e932de3fe40a22875a6c0d37f6d0ae728867b73e";
+  sha512.doc = "97c92b9c8644cf060da8b3306c8a3f26d1c59f36b1731ca4b6af06ec77211ab676963d5ed8fb70c6a63096a7224cfaac22cf77d5dc39f937902815bea778f323";
+  sha512.source = "f2ab006e01d1ff8ed68252f594d3340441a5a6bed7cc0cbee6c28e119a923a20b186e1f08db7444c75de52c86afdb9aa86767278f0b506a9c601064783baef95";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "hexgame" = {
   revision = 15878;
   stripPrefix = 0;
@@ -18264,11 +18449,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "hologo" = {
-  revision = 61078;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "e825ae9d985c17cba001d2f0b670743b7ade2d32b67b165ed6529b38d0f7f687d6b4eff5cfdadb389c55285f10a37e1038104b7cc9502423fcc98da0a4fa7a6a";
-  sha512.doc = "65b67851411c17105f12df60903550be206bc070da37e3e1cfc20fdee50bb0e84bd5ebe293617652efdedcd4b9ef6f86760502bb4edf9d470ff64285136df4c5";
-  sha512.source = "c9a8e2a3b4f35dc2da6339f9f2ba8e612398c7fe92455f021b5c006db34ce6e7e7a7a3cba08e5407516b8c171deccb742ecde1de0ba4e341392ded663ca280e2";
+  sha512.run = "d4c5899f35a7405ff19ba810af17a86c25ba76cd01597dd19e074ec468052a95c85f8a80e1f0467f48f72280246c152bb24928a68fbbdb2cf6f0788cf94703b0";
+  sha512.doc = "f92326ed2d0bb3ac455a54889b469f69563d4a91e80883bfcf0ce92fb55c0dd63423be8ec800696f8c078bede28929e8a79d43174e8cd1a802b4a6ac88cff178";
+  sha512.source = "38d75dffe94c9af12005254231b3fb7fc8bf577993aec3ac3e132d14f304e400806627058a98f5ed1f8f9dd5f4ce6d8caef1214ab8d5dee31aa66f47126bf22a";
   hasRunfiles = true;
   version = "1.15";
 };
@@ -18405,12 +18590,12 @@ tl: { # no indentation
   version = "0.02";
 };
 "hvfloat" = {
-  revision = 60587;
+  revision = 62323;
   stripPrefix = 0;
-  sha512.run = "d629582a73c825cd47d4b5052e12422274267b792f639856d8868732dba2ef34987ed778b46725728a183120cbf8f8c3311f5a1ed284bef2b9b98e619bae023d";
-  sha512.doc = "5df6bcaf09b681f036362442ab2aa4910752b3c79078d482f0e950609d3d2018e39187095a494355e78258a55f2992d331676f201619707dc55db523d5dc52dc";
+  sha512.run = "b5afa54f65a1240303a8c0bf14a563c97c8af3e1ec745e9d1b67b1c0635bf01fb42fc758067427e58247781a75e9200c9015f357161d75ffc8adb9c9954dcdbb";
+  sha512.doc = "f4a15f402efab70cd0faa32f398917bd5005290be6a6a170d568b006cb0730d16d63bcf6d5d3faaf86632ca170db2ee6fa97c93cca2f4c896341a0b4742cab44";
   hasRunfiles = true;
-  version = "2.34";
+  version = "2.37";
 };
 "hvindex" = {
   revision = 46051;
@@ -18421,12 +18606,20 @@ tl: { # no indentation
   version = "0.04";
 };
 "hvlogos" = {
-  revision = 60236;
+  revision = 62325;
   stripPrefix = 0;
-  sha512.run = "b869b0c559a2494958d33585f22ba64ebbcdd0da14695f94439baca964f20d51f51716838482480b971a72b78871b3b87d06cedb0f360c7e4ad74eaf468a41ef";
-  sha512.doc = "968bcd1e98be87794d71e37967d64105c27b5dcefac97fe4fda2141ec88067f081cf2fce1583573257875b91bd6d69483346eb5c1afdc5dd206a26da8f022676";
+  sha512.run = "de91afb2590ac698c633efbc0c6decd07eb030e5c850cb41ed9ef9898230ee4d00f5931791755eb4d9dc84548fa48a19b027b1472b7a87449342262412cf5761";
+  sha512.doc = "bc54f79ba8b6db5deae6a18fb711327cf93c2f8627e5dfc84f7d641d120b4bf9f1055622c7a6170457605211931afca8e29b386b0ec633ac88e24dba8d437015";
   hasRunfiles = true;
-  version = "0.02";
+  version = "0.07";
+};
+"hvpygmentex" = {
+  revision = 62406;
+  stripPrefix = 0;
+  sha512.run = "96a3f1f2ddbb11d91b47f9ef790965850470cc207b9eba9fb332e6858d22bf0d6adbd12909dd1c4d5eca4c832c436092deabdebc31f502f4409bb3f967a20454";
+  sha512.doc = "11bec8b66c8e413786791fa36c528aae40faf93c7f666086c5715cf185a254106c88ca50378300d70cd49d9220a643a3fd5374a00882471d348d32230c33d508";
+  hasRunfiles = true;
+  version = "0.01";
 };
 "hvqrurl" = {
   revision = 59256;
@@ -18497,7 +18690,7 @@ tl: { # no indentation
   version = "1.0b";
 };
 "hyperref" = {
-  revision = 59511;
+  revision = 62142;
   stripPrefix = 0;
   deps."atbegshi" = tl."atbegshi";
   deps."auxhook" = tl."auxhook";
@@ -18516,11 +18709,11 @@ tl: { # no indentation
   deps."stringenc" = tl."stringenc";
   deps."url" = tl."url";
   deps."zapfding" = tl."zapfding";
-  sha512.run = "dc42b72e2eccdb7a29181cfac8f95a6bf41f1eba9ec7943f2b00fd71b85ff46269d4ad437a924e7f6d5af81e375ae8cf0a1a64dc301e0ccaa327e1d073f41f3e";
-  sha512.doc = "3e79668b8e7e032f272f23cb0d89faf420c8354b41a80beb50cda4fc0b914add05979b5de753b38a634d8da5f9c45d8660074d7e23f04d2092cfefaabae8eed2";
-  sha512.source = "165969bddfb4d12fe8cc4d646d49369c382ca5369c74f7865462014ab7da0edb188520ca003b4ae3040015a3a2a9c3e0e565c5c811c0b1178a78895e102f45de";
+  sha512.run = "1f36f263f577e66d12e9360e34cab4cb0b9d6364ed5e80e0d0a9810d3763629ec5e110ec9aa00f0ac772c5dde2798e748cce954ec5929f7a8a3b7cd3130820dc";
+  sha512.doc = "3b70f6fbbc789d55f61cbd78b30243be4782693d71aa8db5a2383354afbe5f4e4debe79bd53a3d72e090e7bf25459c8cb82d60db129f27f164c502615c55101d";
+  sha512.source = "24816ef84e06ab000bb7fa54194b4749eac1874fc8eae5ab86b314c02713ef484845d35bdca89e440409832f26561398cf500eee479ae6cf2a1dbf88b8a89e14";
   hasRunfiles = true;
-  version = "7.00m";
+  version = "7.00n";
 };
 "hyperxmp" = {
   revision = 57004;
@@ -18531,11 +18724,11 @@ tl: { # no indentation
   version = "5.9";
 };
 "hyph-utf8" = {
-  revision = 58619;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "dc14e4a6aa57764113b9945c76f3f485f370e6c399196916bea2e0451f8238c577100c0db89e742d1233a16b7f51f56674ef1f458dd04f49e207f62744e8ea47";
-  sha512.doc = "09e4a5ae3b0541b5e6b721f164592c364ca00b0c96986085632461b9201a81fa3f0fe375156a91fdbcdd1f4d5f207d8e7c16d35b6fbe2cd196b4c7025a933d6f";
-  sha512.source = "3dcf4d89d34db765459694329be8cd3182f0021ebbead0ffaab9ae3810c8392b69bab6d0baf433c209becd7eb5ec55b8fdc4c3f145d7792b0c7456129c997430";
+  sha512.run = "64055aa046fdbc721fda474b7848b37d094b1a8f5f01e507df80003ba591dd959871c880f04d5bc6e0bf169e99bf89f5a1a7dad1195c8839773fc613f3719d9f";
+  sha512.doc = "c4aac42267b75a16559705e7de3716eafbec96a285d523d5e7b2f77f345d8e344e174571e247b9c5de8fac75942bc1b0f924e81efd8356b52c9ed91a149d8f09";
+  sha512.source = "2ed5177a81f46bb538517447d89129d82bab87f937c98e4afc6c74863d5f4cc3342470f66d2f5d05247fb3ac26b23ed4b6ce4fd093fcb61fbabac6dd330889f2";
   hasRunfiles = true;
 };
 "hyphen-afrikaans" = {
@@ -18575,9 +18768,9 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "hyphen-base" = {
-  revision = 61052;
+  revision = 62756;
   stripPrefix = 0;
-  sha512.run = "1cb3099a93b71cf862cbda46a07321032007591f18c43ba4b90a8ff5a41ca2c5d8bbfa0462bc38995e9bddc780049942291262d173f015703b3dbbc9ebae7774";
+  sha512.run = "f17d62db75cb7b299946d821671e1ca770176010592a6e01abe35deb796d786a9d56e83eb57ccd06cba5a7c7141189a76b331dc2d504b56e0bf7eae5fabb73d8";
   hasRunfiles = true;
 };
 "hyphen-basque" = {
@@ -19170,10 +19363,10 @@ tl: { # no indentation
   version = "0.2";
 };
 "identkey" = {
-  revision = 49018;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "b04dc4859826ad3f4fc4dd4a9b19abc0f6125d66d200519652a130c522fc6b49de8565af73f81efa9e75d592036ccca6d373a368e66526d8997dab9d8a5f806f";
-  sha512.doc = "c676908535a4a67efd8569e81a1d3ce5a47bf7a5ec755e87e62830e370fa3307bf0d6a84f3ec7c399bca3cc365f97469393a6fc954bf83b2e2fbc9eda9983811";
+  sha512.run = "3f41af7a6b1f253dd34c670c3726f9b5fba2849230787827f69dfffd7008ec7bdf8bf84d11e7151b9e0a47b486f60ed2e475f30ed3f6cf35d68e283ff6a9c558";
+  sha512.doc = "58574d462eee30612617c9340e00e956968f04b8da292babced36016516272e4d190f06862c9bc41466c85ced264f380192c4e9376c4b0ed58e673f37efd3cd0";
   hasRunfiles = true;
   version = "0.1.0";
 };
@@ -19227,14 +19420,14 @@ tl: { # no indentation
   version = "1.0.0";
 };
 "iexec" = {
-  revision = 60138;
+  revision = 61551;
   stripPrefix = 0;
   deps."tools" = tl."tools";
   deps."xkeyval" = tl."xkeyval";
-  sha512.run = "a00220e8b516556e3db1a676fab6e72f6800bce5e68ef3c6b3c57d99d62285b86df02a7a488713a64e23d63cd7457d277510ee77b3587edc065f5458b1396af9";
-  sha512.doc = "56c204e92d1539d6f599de728c05c6f8857393c9e8d577f36ad5f21fa3c64f73e226fad5606272fc00eacd352f9db56984acd115b0ba0f4517196da65e93a4dc";
+  sha512.run = "43d374797f2106c1782a3347f7ca39efc2849e95f72d741b45a33269e7542fc7aa6fbc617abcbd61ff2441236c1d794a8560b38b8b9bfa22825d243c54925c03";
+  sha512.doc = "ba35d036db3507b2a81789b649e3e17850fa972f6ca1489c1b8d80e1302341651afbf3e2068222822c763d533da5af18f176661a6a96e4d6953afca0df9a1cdb";
   hasRunfiles = true;
-  version = "0.4.0";
+  version = "0.5.1";
 };
 "ifallfalse" = {
   revision = 60027;
@@ -19314,12 +19507,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "iftex" = {
-  revision = 56594;
+  revision = 61910;
   stripPrefix = 0;
-  sha512.run = "07e15945295e3d5c2f6a6e4087d16f1f5ca6014f2ae98bfd25a18d32efd07c4da4542676fa164ecdbe326d478b1370337577638ed2031cdb9f0b2b1961b86855";
-  sha512.doc = "a0497c07ddc2087b8291c9f017101950bb774ae387db082497b859491e38d4fe22d7f69ee9bc093ee9d70d7b67796fdbe643b76322f5fa3577aba5733c7aa105";
+  sha512.run = "ac7958c10c0cd5ee3a82273632445423c347bc9c5fc2015b97fdb7018d7a07b7e1316761698973b325314e945fba6c86be0dd49e058ecf74a55ccf2b9df8774f";
+  sha512.doc = "d51b452532fcffce4b1078ab26396bc4f8739e2c3025917b4ce88af2e5aecfbe0a54e481f1683afe2d25259c6f73e27be8f257beb1b599f9817dc37df427fd70";
   hasRunfiles = true;
-  version = "1.0d";
+  version = "1.0f";
 };
 "ifthenx" = {
   revision = 25819;
@@ -19524,10 +19717,10 @@ tl: { # no indentation
   version = "1.0";
 };
 "inline-images" = {
-  revision = 54080;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "7706dce6a4c0a6dd9b3222d296654c974ee3d6265ab5baeea762c708863f45d7f351158b04075f4365de5a5913fd9cdae5e777ddea69e19d7feb4067491d6515";
-  sha512.doc = "1c24afd0757ca9b9a0cee81192498b15a250994ebf45dc1ad4e26800a1266cad6536c922e97b11999a6b2999ec8ab111de0ff8de46baead06510d2de2296f737";
+  sha512.run = "8cb6a0ba51ddbc06a795dc21c40ca4f18921fa978cf17254aed279e85e769b29e7dd6a0266738e5f52e22bfed87599e6b2099bb04aa656397f04d6d51722c56d";
+  sha512.doc = "ce56e90e90da8ed441213eaedaee7bc388714248547524701ad49021899ef439ae78884ad1de6e60cd06b5916649403d75ea7fda051fd3b87e89bfead9ccdf10";
   hasRunfiles = true;
   version = "1.0";
 };
@@ -19600,11 +19793,11 @@ tl: { # no indentation
   version = "2.2";
 };
 "install-latex-guide-zh-cn" = {
-  revision = 61190;
+  revision = 62313;
   stripPrefix = 0;
-  sha512.run = "f8259eaa9bbd9f1c8ad2f5de309c64f8f14fcd0629415f70f8b054e395c52cd94be3330fad8d9cdff101b97a18097b1b6c11f2a631d121def82b077215d9f710";
-  sha512.doc = "6cd07537b0a399d0a1a3150f6d235f47afaecb8ca99e80e3e951f9e502d3b7eb173bbb68729e1646543b4c43e55d98fbbe1b61408b5713cd0c4fb159f787c88e";
-  version = "2021.12.1";
+  sha512.run = "d15cdb8da4ea42770c66cbd08655edaec38de65121fa38dab8cf6099176d84f6c65c95e5413c1f6c974f1391c42a3274dc372ac10994b9ee41c44ffa91fe550e";
+  sha512.doc = "7aba197bb2eaa000e6ef76ff7b7832e004213f90ec308edd15d1e00850da840c33ac61b95045aa377ce7f1c20f1091d948807a5a81122c83d58e9b73b8cdd0ac";
+  version = "2022.3.1";
 };
 "installfont" = {
   revision = 31205;
@@ -19743,10 +19936,10 @@ tl: { # no indentation
   version = "2.1";
 };
 "ipaex" = {
-  revision = 52032;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "c15157c117594f670a5779bc33e1cac043fda730e2b7a95d781470da2f42075e387d2a939976d469f1b0d05804b2907a7daf7ddb7d9f45074239c6893d89c21f";
-  sha512.doc = "04fca8414689b3b828937ba46767415b3b2de1a4cbc87ae95f790aee4bc82b658c1ff0ff705bea0c45952589693cb357cdf00c1721722d7c340a32f502d3b961";
+  sha512.run = "dec0527223fdb0f897ccf54e96691cd68b933ac61de4c036e21fd35bff93d32766444fe6971492ce64328f92621bd2949ebb669ab33b6b6f4ede88280351292d";
+  sha512.doc = "c53cf11bc81d9a8f5aa19c264a1970d4819400ceaffa20b688d0709546113f932b82b6b6d12cf9fb31b2a3d2c0d45b6b33ee3cb3bd0060c961360389839b1475";
   hasRunfiles = true;
 };
 "ipaex-type1" = {
@@ -19908,7 +20101,7 @@ tl: { # no indentation
   version = "2.4";
 };
 "jadetex" = {
-  revision = 57186;
+  revision = 62145;
   deps."amsfonts" = tl."amsfonts";
   deps."atbegshi" = tl."atbegshi";
   deps."atveryend" = tl."atveryend";
@@ -19966,9 +20159,9 @@ tl: { # no indentation
   deps."wasysym" = tl."wasysym";
   deps."zapfding" = tl."zapfding";
   hasFormats = true;
-  sha512.run = "985e1ed14e5db0a23e9be510e5a52456fdf07ff8c8746add0d1123fa8b8684b3a0c5d9e99e06aa193c667ffa2dd648419d4359a75685d6514e81b9ef0d92ff22";
-  sha512.doc = "bf83fb4dc700f10050d34905197a630f8de75a6a27146188efc254b831ad0d68cc873b610f7457a3dc1140a10793aa05c567749efc38225089014df99fc2c895";
-  sha512.source = "63bf7f94983a971833e1e1b7d33afdf684d83117e4ce846334952176641b45acfe0c18b2fe983c2f24d98e68e91469560c2c10582d53015d069802a38066280f";
+  sha512.run = "6e483a821a791efea669cde597e0bd90018a63a449826b5b6dfe5ba08c45b2ed5dc8bc3fe12cf440aff4669aaee473933174a73ed1cf8af0212cdc8884255031";
+  sha512.doc = "c414e595078bd8896686b1448e823f8b0924f1f7fd39bf6848f6b42addc09a5edd571dc164556e1f16da552af7a692af0b505b5d124a64d4ff1e2ded251c428e";
+  sha512.source = "89dbb28c35889e7926a0d9e8d9779919c106840a84136e0c018de1797b157029e3215f4d98c41f7523def53c4650afc69da8c5f0b464a764da70d7751e2af755";
   hasRunfiles = true;
   version = "3.13";
 };
@@ -19981,23 +20174,12 @@ tl: { # no indentation
   version = "1.12";
 };
 "japanese-otf" = {
-  revision = 57826;
+  revision = 62456;
   stripPrefix = 0;
-  sha512.run = "09c4a30bf8ea079119cbc094eb21591e8402b5364e4a497abaa2048278b0a54322f012c7bed44b4a5b30eff44cdb360be66d8271d8e6fd22dc92622862693f47";
-  sha512.doc = "92f23d5d376451a6103183e6924328432e3e983577a98f8a911da5cf2421baaffaf617065c48c339bdd0a33868976c55ba2a8b254f3f0a3d7d8a85414495c902";
-  sha512.source = "0f429dcb8ac083503d65dc73e065746d6b2e5849927ceb013e708df4567017ad6554d50cbcfa5cec8da8cbac8461a66599cfa7e26e246a01951ff72d0ed634e5";
+  sha512.run = "5dbef0bf1bdec02059f3db75802da4e77af2a227df25a08eb3973789005b31e41704a4794bb4d9a0e26b382f35e32397c3b34aee3f286f89a7fc4e15e0ea2b61";
+  sha512.doc = "520067b48213157e5d708e8c15e4519aff5b3b2e6aba430d815313d416f87338dd6f705549910ab9992aa922155d802cad850022f836d3978434405e2d808034";
+  sha512.source = "e45e1d633fdf92761678430ae51845b3ec968f5b18fa34ed2f50ccf7b87ac4684b1a29e40f1e70434fb25a48390a43a9e864441ea3f9999ac4130c6a6d3fd7b4";
   hasRunfiles = true;
-  version = "1.7b8";
-};
-"japanese-otf-uptex" = {
-  revision = 56932;
-  stripPrefix = 0;
-  deps."japanese-otf" = tl."japanese-otf";
-  sha512.run = "cd95656f02cd97a06119134406b519928ced50c31647a4dd421850d7e83b3705cd2b715be2e23c45b77d1634c47fd5cf8733aea05c654a0d3fd7fd223a3742a7";
-  sha512.doc = "c67265456120136645bcd45f099e62174efa2350acbc5a13e45e35e959421f94cc2f1492bba9605b087008c3fe565ae8a52f4842070ac98039d7b6d8a9bf2172";
-  sha512.source = "efb029012b07e8bffa1311424138f923b4fec963bd2373a9aa083ab048007b05a2cabdf1fe53eadfc0d2431d0a48209f2e532e9a36d914868cb0dd932ce55098";
-  hasRunfiles = true;
-  version = "0.26";
 };
 "jbact" = {
   revision = 52717;
@@ -20067,13 +20249,13 @@ tl: { # no indentation
   version = "1.21";
 };
 "jmlr" = {
-  revision = 56395;
+  revision = 61957;
   stripPrefix = 0;
-  sha512.run = "950f1d737ccf93c12d497ae04192f63c861a3a03279e69aa54c28ab0dbf4299dca3339ca19933c96f1c5f42dd9e2d860dda9c201d2f89b6aadbf75d73c16a878";
-  sha512.doc = "c86b3f5c1e1522009b2a31fa532c98a754354ef744be12ddaa24f1ae0c3c7f36522d1ff886aefb220796375541949a55ddefe0a085fdc0b607383a183f70234f";
-  sha512.source = "163df127f2f448d0ae23144d91fc7aa28c423f3d2ffc63d7cd34d6532b734721215e5f3f31cb3f6662544d3609da83a9a2fd3970a8169841b6cdf129a58a575f";
+  sha512.run = "95a5e59c8f4617b8d3d459a2cfe0730465d46a98781e4352debb9eb0c4357e74c8f519e77873a236f127dbecc235f611e30fbd7348818d9024a27fb8f0ff1eac";
+  sha512.doc = "a481634eac642925340aa02323deee2aeee1577696abd435814a2f27d6e4bf6e61be2b2618778c762f3ec60a1e5067d634da74125dfacccfd940488b6a812175";
+  sha512.source = "1dee8b499ad2c5427082a69b5a3a65c173a96ea298a05f94b96d448d8d7554d96819798dc724e1e8f55afdd1b25d9e6ed6e7f3474bd83af83b2f89add907f2c8";
   hasRunfiles = true;
-  version = "1.28";
+  version = "1.30";
 };
 "jmn" = {
   revision = 45751;
@@ -20081,6 +20263,15 @@ tl: { # no indentation
   sha512.run = "2e250c3f115911c56f9b8d46d358fdef289c624a5b24c9b4213bbf7818bf42c7b778df55d4bf181bce115b388915cedc90ef7cfa99ee6ad8dd621e7853fc7c29";
   hasRunfiles = true;
 };
+"jmsdelim" = {
+  revision = 62631;
+  stripPrefix = 0;
+  sha512.run = "ceacc34fd4390226ed1bd6b6ebd365b0fe5deadae4dbb883cf66931208414d1492d514fc60e73fbb5176e9483ebe843fd6343b69c847a271b1f9830e85902723";
+  sha512.doc = "611c8f3795b8d4ce086e7125e8dc81589bd42c4c36955002ee277626b9dc7e0de983054a6d7202b96a4449c4c0fd358cfa6983cebc662bccea8d4a70f67ae520";
+  sha512.source = "841760ca67ffb750900a2946da4bb4284ad46130cbb937f474b98cecf1fa898bb34ab4af96b18ac3674652e0268d0eb3ffbfab0893c6a4449e2c702924e32c21";
+  hasRunfiles = true;
+  version = "0.2.0";
+};
 "jneurosci" = {
   revision = 17346;
   stripPrefix = 0;
@@ -20144,10 +20335,10 @@ tl: { # no indentation
   version = "0.2";
 };
 "junicode" = {
-  revision = 53954;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "a0e447471da270a19659d19bb4e18699eda7447ef65b5c5abea1662ff6ca631ccf1a4c0efbb192208a835d8acabfeb51aba3c576578c7e40c13d6d28e727cbd4";
-  sha512.doc = "f692c94008d88ed2b0b0d91678072cee6cd379e5a3fe58831a69393cb2de3058c0e7320409385a2112b41c9369255ddbc6919520a222adccb38223b5b2576790";
+  sha512.run = "dd565975fe8ce096d575c0237caae274c0c3efb0a7b3b3fc3cc561636536ea71d62f20e73e549711580a1792e69fa794677d88ebbb7cbad28bd6c82a53797167";
+  sha512.doc = "120772bc43e50cd12e936fe0903d6b91202c2379f073750372d30ffa0abde39cc5f6092089e289fac97ef95b955e2785c07030496f601b805193138414bcc271";
   hasRunfiles = true;
   version = "1.0.2";
 };
@@ -20228,6 +20419,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0";
 };
+"kanbun" = {
+  revision = 62026;
+  stripPrefix = 0;
+  sha512.run = "2ca12d697ed80a1f3182ac2e28897f670f8d770d99ce6fb3d8cb692e8e40d45afb463959ac8668b60ac7d67c9d8dd8f88ff5ec9e83a96f656ea8cd59ac419187";
+  sha512.doc = "853230ef31da0bab5215f62e68162553b5ba54619e1e6b6e84c9c57fbe43b5af5715af2696c384a14807a1cd6507dee600d37bb205e5b82d42cdae15ce30e940";
+  hasRunfiles = true;
+  version = "1.2";
+};
 "kantlipsum" = {
   revision = 51727;
   stripPrefix = 0;
@@ -20245,13 +20444,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "karnaugh-map" = {
-  revision = 44131;
+  revision = 61614;
   stripPrefix = 0;
-  sha512.run = "dc2327e4cda55e4b60365d6354f679f9bc68d87a3d3695eb98c2754d7a5f7f64d65db8732b107f686fc39a07868d4703afc0fba754f42af3fd567a143199580e";
-  sha512.doc = "0daa9aafafd67df8934ff2b7b31794b23c8ebc53fb142f23111e64957a75904c4813c6f40512e4a440861351a2185884969cffef35209dfddbfd9ac4007e6557";
-  sha512.source = "3de03d6661f8a8d0955de760bd8e0a9e2c5592e1ec95e55224994c9b5580036da6c20a9e68a2e59195fbdbbe0ffb5f431dd025400a3c1c57c44fa92000575dfc";
+  sha512.run = "789421645939ff491e3ee00aa06813a5e194108c2d55a5e06ffb4dba593a095352ec54c5194ef8ac536f4226007d2323a923ada94966b5cdbd147117856ba680";
+  sha512.doc = "6a04bc71128802a62fa2dbf92a513c9859f9bab336cd2208d05fcd3b9404a1531e4f20cfd69a1d58186cee6660582ab03e89ce87511c3e1173f84bc6ac132f29";
+  sha512.source = "520bcc77beb97f2f106c92682898244160c2ee45ec85118776dc375763363b272e1459e73d3cfe1c27c7f82f24f723953bc9705cf1f506e7c4b679c0f3063804";
   hasRunfiles = true;
-  version = "1.1";
+  version = "2.0";
 };
 "karnaughmap" = {
   revision = 36989;
@@ -20270,6 +20469,13 @@ tl: { # no indentation
   sha512.source = "60390a053fe2fa53685403df1d67a2bf8795f49db0f4eaa5a147ccaed951a55c1ed50c9cc5802bcdb5e356b694c2b4be78715022842c958f784908cab89a3f75";
   hasRunfiles = true;
 };
+"kaytannollista-latexia" = {
+  revision = 62550;
+  stripPrefix = 0;
+  sha512.run = "7a14c765030d4efa4b87cae3e1dbd6e8895cc5891f1fcad7cedc81b918a0231237280c553c65b7d380ca517e2eaf71906518956a7c1c59d561cff28b2f55f5a9";
+  sha512.doc = "c10470b0573f3e22840747bd0fafd2813125cc88584dda5a6fc9b6df0797780c65174a6baca2af47e8b22ff2cb51443a1ce784854dc4973f4076ece7293e7e25";
+  version = "2022.3";
+};
 "kblocks" = {
   revision = 57617;
   stripPrefix = 0;
@@ -20288,7 +20494,7 @@ tl: { # no indentation
   version = "1.0";
 };
 "kdpcover" = {
-  revision = 60404;
+  revision = 61552;
   stripPrefix = 0;
   deps."anyfontsize" = tl."anyfontsize";
   deps."geometry" = tl."geometry";
@@ -20301,10 +20507,10 @@ tl: { # no indentation
   deps."xcolor" = tl."xcolor";
   deps."xifthen" = tl."xifthen";
   deps."xkeyval" = tl."xkeyval";
-  sha512.run = "c7be0c04597b5b29a23c3ee32c4c0b4d11f5e1680db07eb2fcf447857300fd8a6b9f87edc0562a4851be23f2fa48533180c7689bf7f4ab6099a5a844000a23af";
-  sha512.doc = "742a628cdeb7600a69567335db07baeedebc65c8f7e18b5d0081b595310354a4b59508e7be9991e0be34f8f46b61b6d30012b479e7be808713963634e38c9481";
+  sha512.run = "ebc0a78c14ee916e841ff2f5b0ad31c3acf495687f77e7f14e4c4466e8722229c605f971eb4049d29de90cd1d78222533300cd1bf651e2af560fbf074152f624";
+  sha512.doc = "e239aefa94704d793af1a1377b598dae62e9dd37a12c8a1e8f7983d926669c815605a1346c845969e36396ec10f985db3aac32a8dcd06911400c53c74e1f5f9b";
   hasRunfiles = true;
-  version = "0.2.2";
+  version = "0.2.4";
 };
 "kerkis" = {
   revision = 56271;
@@ -20340,13 +20546,13 @@ tl: { # no indentation
   version = "3.1415";
 };
 "keyfloat" = {
-  revision = 59759;
+  revision = 61561;
   stripPrefix = 0;
-  sha512.run = "f13bc22a648934a07fa91ee9ce500f01562dfb6c43883bef82628142f62cbe366a66b0e60ff7d41a9670cffa63601390cf34e331173f8834eba7aa341fb555d0";
-  sha512.doc = "cfe525673a6dd8d1918ea41f33a4496ee7a6e9b8e59a3bf0cd18afcc017e8f7733de5c983bf9b0dd75212a0375638a089c1eb197b0f8bd3fa1dcc48c3ac3a0c7";
-  sha512.source = "e7803dd94cd8fd0733fb916b157a4f3a3a154fef6594b866911d3f75e3994d585d633c021cfb92346613fbcf1529978823c38f3457444a97e93aed3ed51c6462";
+  sha512.run = "76b4cf33604e8bab362a033057a23bc499e76a6845247ba69bc9f37b9601c9fb78838d5c57268928b7d7c9458bd5c906f10ca803bfdce0c5ae5f25073c38b2a9";
+  sha512.doc = "73725614f79e736102836f4b0c4c59daaa7d4b27e978fad6ff0e8c10fbd0531c8722d970b525dc4fd45e8d951e1e4a97279d16a55f051a66a39b0d749a804198";
+  sha512.source = "4ba7353da7caaeef4d419936602d22ff1a818e31abaeb2619951e3ba6601fe70014544a800c3c2ee942d015289096defb7c490dd6d78713718bd9cc7209e424e";
   hasRunfiles = true;
-  version = "2.06";
+  version = "2.07";
 };
 "keyindex" = {
   revision = 50828;
@@ -20445,13 +20651,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "knowledge" = {
-  revision = 61356;
+  revision = 61991;
   stripPrefix = 0;
-  sha512.run = "515a9f6a4d4b1df7bdd51994efbc45d62582696b970b616dc3d3250efd1525bb8523e04e8b56a0391acce8c2bff991a477c72078d4ea840dc9d1b377e15facb9";
-  sha512.doc = "84b54a2544760cd138ea6f663a3a41899549555c4205b91d5f553c6b4411dfe034b4564bcac0c20e377abc47ccbf723c72fb3e404591b0c8f04a1fd6e16c3b6b";
-  sha512.source = "bf30d237fbd28fe29f6ae06dea71766cc74518251247ae6e6d00d754b8bea1a9f6a799b7406c44f4a94a7e16b64b01ff541928eafd49de3428cb6ebb1503ff40";
+  sha512.run = "dac315840aaabc1efb96d52d96e1ee789f61c65964c0343fc35d340694a3f13f7cf9e0ab101bbead9f3d25ef9e3ea2723916864abdd192a89c319a0370b566a5";
+  sha512.doc = "0f95f35d60513fb181efa2d5d9579efa000838647b167521b364305774be164731c4c09ba4fa739ed3749cd5c43b19b59cd417f8237bbca2f930bc4b22ba0c68";
+  sha512.source = "5843dfc2fec15d5cd0a57eeb5aec12bfefa2914bdb8f4ebe2522e6576fcbea73f5663b437ff2654f8ddd7d6f8ef92ecc8aa96c59bf7d76ac58029fee85e1bb8d";
   hasRunfiles = true;
-  version = "1.26";
+  version = "1.28";
 };
 "knuth-errata" = {
   revision = 58682;
@@ -20472,10 +20678,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "knuth-pdf" = {
-  revision = 58470;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "281dd6f88f543a84b66ecc6b7f53cf1b9c7c295079e97dc722212fdfb337dd5adaea510d687916d477c990042382066e80f0aec3b2eb29d22b29cdf0968f7e1f";
-  sha512.doc = "b6bb93794b064466c8bf7f79425a55a111a276a9888b720b7780756b5dbab86c6a573dedcd3946e4f7aa661b6bc6eecbc5f92068a50c0f17a3676e4077acfe0b";
+  sha512.run = "f7e0112d59469be8c65fcf861bdc0ee1366db6dfdf87238a4b8333309e3968fb79d84d0cdbe884c682025dfd68b1683c1f2dd2858a64a2e2a130b0cac1e75c01";
+  sha512.doc = "51e833bba38551ec366e648eae5cfe5092930c10280acfe6048bce05be8030aff69dbe029e7db12cf5494ce6d6ad6da98939c02376e71931624f0a5dd6f2aeee";
   version = "1.1";
 };
 "koma-moderncvclassic" = {
@@ -20526,14 +20732,14 @@ tl: { # no indentation
   version = "0.9.2";
 };
 "kotex-oblivoir" = {
-  revision = 60579;
+  revision = 62398;
   stripPrefix = 0;
   deps."kotex-utf" = tl."kotex-utf";
   deps."memoir" = tl."memoir";
-  sha512.run = "b29afee6d80e081872d470be9c82fea392f05568bd61b5dc47405a8dbe5db03038f9207e960bd1ee8abb53ce2d3954443bff1c5bc6939565f59724ffaaf15907";
-  sha512.doc = "01bdd6748c9a8e846d86bb5a30227b1c88fbb1033548875bbb99e8a22d9b0eb73e0857e9d0558d3ffc44aca047d27ccefe712a94dabd7366dcc8520ea9853eb8";
+  sha512.run = "a07630c14819d0ebf56c64e3ee64d632d827a08cb34b6fab35ffd5c74d1846a00382aa8dd3340e4f640b31c42db5a225f1a7df6ee63e52bc2d1b3638525e922d";
+  sha512.doc = "785bfdadb20445622f18ad74138af189d41f5cff77837c01e6e3af36a901f59711b86976dbb4c321386f18a76c701031017eddaaed6c7c23a63392197e3b536f";
   hasRunfiles = true;
-  version = "3.0.2";
+  version = "3.1.1";
 };
 "kotex-plain" = {
   revision = 38630;
@@ -20561,9 +20767,9 @@ tl: { # no indentation
   version = "2.1.0";
 };
 "kpathsea" = {
-  revision = 59203;
-  sha512.run = "dcfe9d0b853bac7917e87b5783748568cb84a9b6e060dacb720826840aa93dab192e9aaf7799aec9e3c99f2aa54e02470918a72047e67568339aed2e2e3a61ae";
-  sha512.doc = "155db7d61fa4011640a3c7e90efeeb8336b970bbb64f8fac5bf69a7f51bbd9132024256d6f57cf649cb83ea590cf9aa106230628196045d3f98bfcafa803ed54";
+  revision = 61937;
+  sha512.run = "df20be2b2eea72c77af8761160991e32003ced9b258a08c8436ba300fd3a4596c0114ec6ae31f60a84107d5d93e7ebb4022f6cc97ac96086324b68c6ec7fd529";
+  sha512.doc = "bc30337799d601561e38442e103a38b49ec5b23f7a1206005234b0486b662ab61e0d2ae0a89dbc013ca929a990eb677ecce6d29f1f52aa6a6c07e7c4de95b14d";
   hasRunfiles = true;
 };
 "kpfonts" = {
@@ -20713,46 +20919,46 @@ tl: { # no indentation
   version = "1.1";
 };
 "l3backend" = {
-  revision = 61303;
+  revision = 61931;
   stripPrefix = 0;
-  sha512.run = "a860287ae480b1c14804e07a5985fb8b45d862cd9ef8250824bdbba5dff2adb010a9a3c61af2945da87a01153df6ba8264248e02ad2c87d45b6161c0acf7d67d";
-  sha512.doc = "1422a6feb08107935ffe7646276893f8a2d328a24137368b9bb743723a22881a4fd061ddab34b26cf31d40768d8935b12cb3cf6b39c6b0c5bbbd6d5c968d8929";
-  sha512.source = "40e033667381b9824f2e6d4a603007241ef085fe76432fae16203c581db09e2ef0514dbf1cc037fe6d0bad2b09ef91fdfac086f20af7fcb16c6d83adf1fccf0f";
+  sha512.run = "f649744e0c04a7cb2174c41dca5b2cb8cc64fcb79a7a124d3ab7f9dd4faa3d4c49ba468d8331a15e86be97356ce578528a862d9d821d065465d0e04e57116e7d";
+  sha512.doc = "dcdca15d29fe6d3ba9ff1f609c96f3c9e005c6f87f202d5e07be8f8e946770095cb3a95a1dd2b63aab244fd659d90642e8cf95238710a182d47954d70e5d5c27";
+  sha512.source = "5df9ee0f982f92db74f3d7af16df400eeaefc21fb95dde9fe38b3d65b839417ee1571f06ce3608b9350e29532a8e02f8db4ce2a04925dcfe3e249f2704a73165";
   hasRunfiles = true;
 };
 "l3build" = {
-  revision = 61312;
+  revision = 62726;
   deps."luatex" = tl."luatex";
-  sha512.run = "332b834eb718a3e95942c1a293533effa8adf87bd7b0b3ae10b6192d72797dda095766f843ccc72309059c4fd577b1c45530551b95978d4c06a8dd4e1925d6d1";
-  sha512.doc = "0e060167aaf50d10e3e68248b6beaf89bbeedac2504ea8628920889a64d1a9f52dbbf4b96ab319a088953f71f4dfe7e50812bc7212ce496d7045ec689f431fce";
-  sha512.source = "5360b179f321bd517689bec2290ee126d1e25449cffdd72bfc918b2df7616b2261d901cce99dc36624cb1f594f80d012a0e0b7986f4b6394841e63250f112bf5";
+  sha512.run = "41c658c92b39a8ca9f87ea15099c9bf6f652bdbb2a8f89978b791c6b3da4744718de53fcba73d3d99cc0992ced52d6bf9d004f486dcc9dbd2fe47a2222f15428";
+  sha512.doc = "dc15d15db355e3fc6dfe39cf7e39c856d16d37186cc5837ae7d2f7fd3d3a4558624ed4c4efe4e646f638731e2f12c3f71051302afa1a8fffe3a4478a1f989b8a";
+  sha512.source = "98eeff82a12a9a852f4f483c93838d4b6f711de801b877f6d1c6f226fa8a77589aec2508cc7bd8758125b9d21768e38b82958a24a5fd99b7123967c6907375a2";
   hasRunfiles = true;
 };
 "l3experimental" = {
-  revision = 61040;
+  revision = 61903;
   stripPrefix = 0;
   deps."l3kernel" = tl."l3kernel";
-  sha512.run = "a90af320c8be0e8c168d9da205f00326172591efb68f8a3940c4484ed4d782924b8d5e0179b6bc469ee698a1991872fb0eac15a4417faa4f2b3f9bfcc23c5dea";
-  sha512.doc = "811efb82fd5022de46d4411b9ca5961c3932715e90c157ae3b1caf0001bc106bfa7c140a6d53ed64b4a1a52fddbfa69920070f67feff2b9f9da800dc4a37e02f";
-  sha512.source = "a8f08cdf948db1b81ed2d9c87c4f4e174125379d9131e62bbe01aa1b9d40b488dda470b20167e8b2098364cff26a6f5237487f985263f9fc547b842d75adddc0";
+  sha512.run = "0e73d57fd0f68acd69b8e9f2de64f794a02c446ea570f584a9af4fe8c6a303f12ce45d0786f553465aba568e6b24d9940d52bdace651ec4e1a3fbb777777a511";
+  sha512.doc = "830dfacd9b39228b6d83cc69b6387b3e7bf621dedaeae98790a8034ffc84b72b9abc6e34904d99ecf1c5303e30af65dec3311059e266ceef3c61565dd689406d";
+  sha512.source = "982a69d46a67803c88594e7abe26f1d380d4a4f3fc2fd8b1667738abcd60cf5076547521108cfd78b58762465131384a1a3345ac486d60e388ea57b76d7a2484";
   hasRunfiles = true;
 };
 "l3kernel" = {
-  revision = 61121;
+  revision = 62165;
   stripPrefix = 0;
   deps."l3backend" = tl."l3backend";
-  sha512.run = "a82e2199e56b039b4ffc50c7c8cb02076d182f4a3df1481b1e1a89510b5bbfb1b0aa35504c9df0d781699837c06f1a72d08efe0898b4456b352f45ad19f5972d";
-  sha512.doc = "b97c8810586549231879494f8f162f0d5af47fbee459bb1d173f5e0962205c0e107c4b58fad1b4dc73c98f49a1689961eced9d2ac6954b4f9511f07e14d405b9";
-  sha512.source = "aa3c5069c5670eaf2a4a8f674c4f67e00ff220ca5cd40d0213fd99ca76937dd8bb7f43ed357ca339769c74cb5a5ad82be4a46f689778d9097ff202c098747a31";
+  sha512.run = "3bb00c73964ec1c442515ae4f8f5746b93513a8421c76db05f4e890de4f69cbff60a365e77fb19c4dd52aaafa10b1c3fec4b76272e820037fa8a364c7b90fbd1";
+  sha512.doc = "e147f508126226fad8750c5822adf5e0afc84c38893ce895bdd53467daa8e8aefd15b122a4130b5c6fa9284d54343ab2fe552637508df9e83ca424f21490cb1f";
+  sha512.source = "97e4e0da7686a4b2b23f241d94abb8ee2b4a2f40472624d5cc992a03ce82f542cfcd7eebcdb2f465a88df3585d6d536f1fb682c7f43261bd791e19473f218925";
   hasRunfiles = true;
 };
 "l3packages" = {
-  revision = 61040;
+  revision = 61588;
   stripPrefix = 0;
   deps."l3kernel" = tl."l3kernel";
-  sha512.run = "1ca8e7484f5d86fd85197e4bb0058444e68f73caf68c04f3ad67ce0a96f29c181d496227f069938604dd5a4dc095e15c0f2addf26f150da0ee7ccf6d48037536";
-  sha512.doc = "4c133f7ede9a37057371e838355daa1138b4cc9e1e8714d9f62925cb56b91645d1c9478b3bdf1050005c3a08b2282881fbc84f50c166173c958bf16604630814";
-  sha512.source = "93dcfe3b4d04c60a9880d34f8a6d924ae5e800d0cd9a2116726c2e651ae43665b34e7bc232640857c4b4f235eaf3ab25eff62d43f175721e9272b1b65f09b3cc";
+  sha512.run = "4a6ec384f2b8ad262eb05f0d30a9b622f99a2c641b2382dfc8601b0c8bc7f4c105865b28e1275c917519d32095fc5b7e66a8c0c4253f7da32af01072092e85bf";
+  sha512.doc = "a62939dad7274a3394e642167ba0ec4adb3fd76fe4e468f09b4bfa2d6e212607b121c26bba7ee9bc15d1e37c84d5b1e8876a0d3e50efcce8de192781809feda2";
+  sha512.source = "da245467908e1ed7245b6d57420dedf1ddc1b9f37b00c76725d6dbe45ed2b2ce172c1c003c4ca2e2b88fc6b220182799a73a15b3eb43240f344c842afef39b36";
   hasRunfiles = true;
 };
 "labbook" = {
@@ -20841,10 +21047,10 @@ tl: { # no indentation
   version = "0.2";
 };
 "langsci" = {
-  revision = 58820;
+  revision = 62061;
   stripPrefix = 0;
-  sha512.run = "bff440adaa56f45ff5a2e8d84d9af8267dacf1c1835c0ae151aac8b30d08b50a1b9b432343603fc6c5426d157befd70cc6d80e2c70470f85c875bf3e733927a4";
-  sha512.doc = "570af6bd6f945aef36cc533d5a7fb05f7ffe615d01c9fbb63d9c1cbe2fa8120444b484ccdb84cc3a1c9805bd00b92c7cf744688b3d02166bb03c735404088a19";
+  sha512.run = "479c4edce9a18fbfc8ce4ff70c88aa2e1703e8eaba793077636d2f0d78879859391d319494034dfc33c4519f44ae49bbc648dd6aae36642a711334af389fee6b";
+  sha512.doc = "2d397c882f03e7fe130cc42bc7ac2f0b9ad33175469256ebac36ad6e67ab4d3fc49acf3d68736d17dd0fc2e4d527a5d3826a0df5d7dc06a76105734be25c727c";
   hasRunfiles = true;
 };
 "langsci-avm" = {
@@ -20896,25 +21102,25 @@ tl: { # no indentation
   version = "2021-11-15_PL1";
 };
 "latex-amsmath-dev" = {
-  revision = 61076;
+  revision = 62726;
   stripPrefix = 0;
-  sha512.run = "94f8395f17bddb61cdd2a61738bad0d9fb177609435e31d15a885ae3ff76999ec08ae36a75f8a4284447ee0038090dd1db37801a4664a01585b2956a3eeab6ee";
-  sha512.doc = "d553ea65c6bde91e7a02585a0c3a5302a28125cae3f990b4cdbf05070086ece00db9a76121e80b887709f8d6f0f1b82c3db1eb913fc71000ff44dd33c2c3fb43";
-  sha512.source = "41dac01263848e79fea146e928891f58795f7cfc1fdd5ed6818dbf4eeacb0c4333e9461079abfe9459b006d6784e1ae32f5e149af89736cbc147b626344a83da";
+  sha512.run = "81ba30ea7706ac0dc4a5795802b0a1115a67cd6a020da6d1d65926ccbbac9f122fa86a58c80fb3536a1d0ef35c0f8f147090e3948e7b5f381eb0c85c4bb7b76e";
+  sha512.doc = "23a0d3627ff739806a24c48b74c16515bd6dd7d928e679af8440b1af98cf5fba76498ac211d59877813ed94a932e2a4ab69a3fb664ae4361087aa45ebe3a6083";
+  sha512.source = "1c758c5595ef0dc59f58ebb1a8e086caa70eb1869447c9ae1be4cfe2d5c80e8d7b020b13b9a35ec44920c3225650c8bcc22b01cd90a5ef32aa6cc5142c3a5456";
   hasRunfiles = true;
-  version = "2022-06-01_pre-release_0";
+  version = "2022-06-01_pre-release_2";
 };
 "latex-base-dev" = {
-  revision = 61076;
+  revision = 62726;
   stripPrefix = 0;
-  sha512.run = "6261ede2b83ed8c13d66345206d412117b3287115701191e2bc6cc68ba6a4629b0305ca3c8d33b9f0f9ac9a6ef6adc1c45467b9e2969ac841053e8b3d34e629f";
-  sha512.doc = "5ce8066cc8098b7946f6756b41476033c42b649f2effcee36feb4b88215e1351ca981d888894124468206a711e8189cdd26e79862478b329d0b4f943f8ea9ae5";
-  sha512.source = "6f8674c52cb1bea1ac6352453c7dc0e5da92e96cddc12f97fe3a6ab5b38a60d64914c7d8ed4dd1049e41ec49adc724fa573cd0b8034197d88eb0ff5a0158074e";
+  sha512.run = "1be1522f20a449edfccff1603adf0edf455ee7ab2f1bcaf47ed52e6f9a3c8603d957438f11271c4eed3ab55792f9a4c26561792f1bd3fe72635ec9fe062f3e4b";
+  sha512.doc = "8c6202df21370d296906d4b3dfd6ebd0a0658ef76725f6753f17c7bd4e0e1dfdafa110c968747c3bcaf546382c5c8b343a77c028c786d4d35a466e7dc096612e";
+  sha512.source = "ad3489239c75fc9357e7bd6a56c5153f27571643d10eca85999f37e0c838d7044cb6438e759716f8d0c8da7ac09e07469480813a87824a11ecb73c7c9b874f36";
   hasRunfiles = true;
-  version = "2022-06-01_pre-release_0";
+  version = "2022-06-01_pre-release_3";
 };
 "latex-bin" = {
-  revision = 57972;
+  revision = 62145;
   deps."atbegshi" = tl."atbegshi";
   deps."atveryend" = tl."atveryend";
   deps."babel" = tl."babel";
@@ -20939,11 +21145,11 @@ tl: { # no indentation
   deps."tex-ini-files" = tl."tex-ini-files";
   deps."unicode-data" = tl."unicode-data";
   hasFormats = true;
-  sha512.run = "b349e8fad2765c4a87b471532dcfafedc0a9711237c6e967011727da7bad3a5ed27a89eca81af324aa84958872d0b78c68e6d9490fced44eb7636b2fbf36611f";
-  sha512.doc = "7cfb465f4db5089e7fa41762a0437f5f51445efdb9aba5d676dc5933e0fbcfbe0fda31baf83e20f2d16e6a7a0019c71752af8744d02ad12636adb9afb8cb3041";
+  sha512.run = "b88578c4e2b7ff3e2aac32c6299818026819cce2d04c9213e8e1cff32076af898019e5c2335a3e29a84fb3c3b83f092d7492fd5c53fd30ac2430d1ae8fa6d88e";
+  sha512.doc = "821831a3126be1408b7f034c6160cb63529dd95b333abe1d060a57caee5d974e17613f95af68d0e185c9c1aa9aa36cb7708f87e5cabe6f92da746e7a1cb45780";
 };
 "latex-bin-dev" = {
-  revision = 59005;
+  revision = 62145;
   deps."atbegshi" = tl."atbegshi";
   deps."atveryend" = tl."atveryend";
   deps."babel" = tl."babel";
@@ -20970,8 +21176,8 @@ tl: { # no indentation
   deps."tex-ini-files" = tl."tex-ini-files";
   deps."unicode-data" = tl."unicode-data";
   hasFormats = true;
-  sha512.run = "5d44e0274f584509e2d600f0c27f6bb395d5c9a9d18cef9df67199a8ebb30b00d32a6a944ad7e195a47ac7bd87e0bd2d8f116cd513678a0cdf2a7d45db8c065a";
-  sha512.doc = "f7ac33d09631c9054f8ccb0ffd91a6ab83bedfee96a299ec5727be9ffeae226d2844a08633cf19e5ed45a17fce9c15707e02aeb53778d06281aba0b612c90a60";
+  sha512.run = "5d2cb9e5c97650a9685223318cb5c3a685038d6c157893db3e5bbaf03a6a3197b2d7e61906a41a5188ebde0fe12f83332399b5883fe9080fe75a0d4ce63d3b07";
+  sha512.doc = "6e79ec67ad9d00e25f28c6e294046c6e41acb4160f3aadb44ea5a3512eba4fdec155216268d91fc4515e54e1d8edf8a30f44d33b447dc175b2196ff46cd3b215";
 };
 "latex-brochure" = {
   revision = 40612;
@@ -20993,13 +21199,13 @@ tl: { # no indentation
   sha512.doc = "c7d7217a9136785cfd6ddb000e51d455e7482bfe395a9131329767bfffc71f918c2349b1426b615a6740263c958530c68c044ee3ae78300a004a8acf20bd8bdc";
 };
 "latex-firstaid-dev" = {
-  revision = 61076;
+  revision = 62726;
   stripPrefix = 0;
-  sha512.run = "1d0d0194e3808dac38992780df3ec3f0c7d6085c0fc7751741b22c486222c2bf2df7e14517e20145209e055b2af674b7d9b8876fca1e4f24a4c711f7b2c892ce";
-  sha512.doc = "c549e8321a0bd994bd2feed0d4124df593ca6ef4e5394a83f3cecf6f6ecd1af5f7a31d3bc1742c7cc23fb651095a7d2a32673e351d2b84d4654ebdbf523ada8e";
-  sha512.source = "da8753ff5ad1df2c267e06e1d353502bc1c08e2f8c8100a2da510f417b30f88e5b8454e3d27032f10195cd226a2d800046f0df9b20ad66d06fcc0961aaa7d45a";
+  sha512.run = "8bff0c8a3adab1876c98f0d7275a47bc61f0b94ced7e43da2c7f84cd815f1c3efb6480d112f92d7642760d4197cfbec0e98a0940315538ee89853a63304d1107";
+  sha512.doc = "12e44cfae5c6a5ad4ba72112e6b86b77e08400beb4b2a18f28314b000badabfd49401a3c8b2b2b217753a8b5ffef6fd8c578a05421bfba4e3009b5b8c7842e41";
+  sha512.source = "772039c2bf0c7e7ec2acccd63e500bfbc07065cb45933dfa5ac9f238f03eb8ef97be282a42dce7dd3d2c4b06f0b1c76f14ea1524d682ae0d4e7324f86d4383d1";
   hasRunfiles = true;
-  version = "1.0q";
+  version = "1.0r";
 };
 "latex-fonts" = {
   revision = 28888;
@@ -21008,6 +21214,13 @@ tl: { # no indentation
   sha512.doc = "4d3162776a17f31caa8e6a0fe05eed9447b681d77e653371cb5fa5d8dd2f01bddddc9f95ca916f233c11f8ec7d15e02fe575dc953fdd18c34ba877829a142bea";
   hasRunfiles = true;
 };
+"latex-for-undergraduates" = {
+  revision = 62509;
+  stripPrefix = 0;
+  sha512.run = "27a730194eee216e717600be38b1dbdfae3e7728d1b22ca3c087e163c9d0fbda530de2c0bfa80e20f751bb10ebad477b2313581197480301d21431cba5eb0da8";
+  sha512.doc = "78dddd85908912593838e326eac59013f01898953e9e8dad5030315e77e389757a42d541bb4e057da8c18f7cb6d4e2b321025ebebd2341b1565a2d4ce2ef35bc";
+  version = "1.0.1";
+};
 "latex-git-log" = {
   revision = 54010;
   sha512.run = "15994c6eb9ba1b194df270c68a3d74ab3db11974875ce192559182b2dbfa9b308d598056a3145f2cc2f6718865a5b140ccb95dea22a9e23edee527e5b86362ff";
@@ -21022,14 +21235,23 @@ tl: { # no indentation
   sha512.doc = "ab9d885c811af3964e8cdd8576349059bd45d660e6b9a7e931697f7c7fa5282c725e044817de8f2648ded59519d1592945e0804ba7cbe0054ce2bd4d44606af5";
 };
 "latex-graphics-dev" = {
-  revision = 61076;
+  revision = 62726;
   stripPrefix = 0;
   deps."graphics-cfg" = tl."graphics-cfg";
-  sha512.run = "b87a4ce8f6751cb251d17d976a43d01118dd63e8b74cb24d8d5835d674fdaa50116066f7ac5fb3384e9d5f511ec82ce91867b026f9b1e2d48acf1bee87188e45";
-  sha512.doc = "0f0864424a653cd1166e7f422f3740fa777e6b88813d8059041a6dec5c0b4921798060f3d3069b1bd23acc869610fda988693d297f52d99f39f31ef6c1e3e5f2";
-  sha512.source = "a71b652ecc00bfb2628fac7d8afeda361bd8f4d87048af29f304fc10d768e9bbc1ecd31f642f1b645ac2ac50d76ab2652d4e0532c94d54278cd9b827ddb5d694";
+  sha512.run = "7b0968f9033eed13b154aadf534f0fb91ca9e114c79af0098afbab2f23270bc6634b529defbd7fa4aabe78c005b59e39b5df4accd8b619b071fc67713ed7ea67";
+  sha512.doc = "3dc4ee8c48a5abbde7d1b2301e8b8f591b533f103b4fc3e0f2f02fc03814642ca48e8cca4eb3de472093a6eec500ec4c845e93e50ffbb700dfb94a99db5566b8";
+  sha512.source = "3b60e4bb64c200ce4556703250073c456c7d986d1e75220bca658bdf0b8c272b7dce86d83e3c150598b9f56cb048c900caff8a9e52617e61bd6a2cb7e75bbeac";
   hasRunfiles = true;
-  version = "pre-release_0";
+  version = "2022-06-01_pre-release_2";
+};
+"latex-lab-dev" = {
+  revision = 62743;
+  stripPrefix = 0;
+  sha512.run = "5cb996a107408c2822d6d32d4a9c7bde8d9077ca7037ffe29f27a20ec90a9bd3b8e967d8e49f3d48622b8a959b5d2c356c8108b7803751f4bf4e164ea4b7fc30";
+  sha512.doc = "891865f23138a882926bbf45ad8f9217bbfca870b8c1d65304dae1f178b4410fe2daad37e29ce59e25b228a430c132fcd8a9a285f9e2606fc074714f4cbed350";
+  sha512.source = "c5ca04757f3d8fc65a8b33db79b5d0f6f0bad7598d13ac08beac1897ba345d0bf695e19ac7475a896d7f835eba449c22312fa68e049c848d808ac5872a075136";
+  hasRunfiles = true;
+  version = "2022-06-01_pre-release_2";
 };
 "latex-make" = {
   revision = 60874;
@@ -21069,13 +21291,13 @@ tl: { # no indentation
   version = "1.2";
 };
 "latex-tools-dev" = {
-  revision = 61076;
+  revision = 62726;
   stripPrefix = 0;
-  sha512.run = "4cc4e438acad4ae4e375a3f6f57afcbac85034a174d987d6118c1af2446950e175bcf93faf9a5cf821699d836352810eb7a546271af8ffb9617c306c9d006f58";
-  sha512.doc = "815da908df305d2d79aa892d4060761681bfeeae1541a1d6be05c184d49d8fa74fdb653591b9178db3e34e8e3887be90a9bc63fa69738d38439be26a8d2c82a0";
-  sha512.source = "a154957c29fd126f29fe123eac281f5b0858187122c4f53ecc5e475526bdb0f88f047b4d32d8d88d3bc5394129caede8c3905955c77af461cd503b5e8af8ffce";
+  sha512.run = "b599619e33dc54b412d0f71f4c681cf827c1a8eb32cc4fe9e21918446a5afcf67c85e4adea6dbcd520e5fe3517189b7ea401c59cf655f79d5004442e65f1efc7";
+  sha512.doc = "f5c4e307613d68e460f81c41b2b9b56a299afe66a7ae64ac75238454d34c2627601c0613d6008a4f8df1624c815045224feada99e752108aa6204a8a19d1655e";
+  sha512.source = "8dd13aa452b99a74aafae49d415588084fbd079f5d7ed680cf63517948888f682efc08bbe7169ef5c1277d5e621cb5c7b2bd6c09c2b88084ff86ade415a24a27";
   hasRunfiles = true;
-  version = "2022-06-01_pre-release_0";
+  version = "2022-06-01_pre-release_3";
 };
 "latex-uni8" = {
   revision = 49729;
@@ -21106,10 +21328,10 @@ tl: { # no indentation
   sha512.doc = "a972860f65d763c6fb45e9726e5dd7b8234509b90634f45b8b25e090da92d0ac577bf8b33ea7b0a0f91e4e5639bf62c07086dc36708ae697c1e16e644acc83f0";
 };
 "latex2e-help-texinfo" = {
-  revision = 60038;
+  revision = 61750;
   stripPrefix = 0;
-  sha512.run = "dff005a0b80915f4c1ffc520f95f1d1efc6437f1c46f18417c6fb2b4dbb48c8bacbde3d02554d08a149092bf499313c189010cf1963c67dcd55ffab2ec3eda28";
-  sha512.doc = "988c25f80ce06dd1a2e192231c2e6bd0faac600fc15fc772d1f88aaf48b7bf1f12f593f34505cc829760c4a3176c243a3c2271a8914b0578b6944587f5360362";
+  sha512.run = "e6d91ee9cf4503166a49038903eacee609a1e2c494f945d39aa60c1b530709de70155fed1e7d17e815363e7be74afbc7472dbd6e02e6286e5d467e358c10318b";
+  sha512.doc = "56b6f667484858ee4da9e3ab6e01e5d3f2169d512a8b4cd897114cdbd4b6737ae39726dcdaa2ee1e35265e4753bdbb3cbe04fe834fb7eb24a4419d818a1fb192";
 };
 "latex2e-help-texinfo-fr" = {
   revision = 57275;
@@ -21118,10 +21340,10 @@ tl: { # no indentation
   sha512.doc = "91f4166da251720271be473412764934212e19fbe21a4487245a0b19e08967c2693b81c89d98788ff7a768f1da462a5cd44aeec95ac459c912e0f128ebe65ecc";
 };
 "latex2e-help-texinfo-spanish" = {
-  revision = 57213;
+  revision = 61937;
   stripPrefix = 0;
-  sha512.run = "d6181f2049056c06911b5eabe977d07d24099bc2bfbfee3ff4d2bee811af9b2a6165fd8ee464fe68172f5b8d47d85ac9ae973a2bbe8dcbe0529c9d68d9c3c692";
-  sha512.doc = "8b8bc956d914b97d2679274e6f3e4ef62022eaf32e20dbac83e0c995e0c85ae33e8cf707f94a2ae9890747bedcc27ec46f627dd4a2923f10a4a7ec62d039194e";
+  sha512.run = "30d0f3b0d2f7ce86b7c6e2bc69034a7776403951aed97e0a3d9bf3c5ed0b22e7a448153e40145b429c72a9b8f5908fbd70a683f60fa98339349d0779e9329d6a";
+  sha512.doc = "52960e408e53170648aa3f8978ad0a4cd6e65657e3491f249006114883f7d5f06ef339aa8ce6035815c5d20da1e4d0fbcbd5192c525fe9ac92631642dafae2ee";
 };
 "latex2man" = {
   revision = 49249;
@@ -21234,11 +21456,11 @@ tl: { # no indentation
   version = "0.1";
 };
 "latexdiff" = {
-  revision = 55540;
-  sha512.run = "cd69ad7bea121664c600e77438eee882e71447bfe5ffb034773a72269ea856f41b54b1369aa701b755586e12f121948d9773688f65d6b0bb161e3a052d95c5f6";
-  sha512.doc = "33931c4a47ce1ae61119a54caf074049504ea044159afb6a8ad59dcfea1d54782939ef5d2e8f3303f0aa623c64c4dc84a209eefb179fd057b6903ef6c9409f67";
+  revision = 61434;
+  sha512.run = "9fbe7f644012638bbc5f10c114adc5d0027475c7a872dbe36016522c5cdbe2fd7c31af20cb389aee79e83b03a9e470cf01cef734f2caa623c7048f2b020e80be";
+  sha512.doc = "b3c09b5ea391ad7b2d5821e41e3e4e05d4749b2aaa8b8aad1219c7f81aeccd65a98e3fe77ccbf4770d658dcb4797d9bf37a42604b380f666a6bd281d8b677ed4";
   hasRunfiles = true;
-  version = "1.3.1.1";
+  version = "1.3.2";
 };
 "latexfileinfo-pkgs" = {
   revision = 26760;
@@ -21265,18 +21487,18 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "latexindent" = {
-  revision = 61385;
-  sha512.run = "8c3ca82b20daf3bb1d84ac5070fee9199b1f1df53a6d7ee8e2b61212df3fadaf695db8583c4e25647309cf5c8e4af45e5a5246e18897980aacba307663d4cce6";
-  sha512.doc = "2f081821ec57fe1cd7562e5ad8235c491a2f397cce0227f4fbc037d0a4adf64010dd562ef61758733f0e1bab448b2ca8c40a14e3adf51592e3a14dbfc5483389";
+  revision = 62691;
+  sha512.run = "99191de7780c96373c2cc08ebb4ecd91a41d76572a0497bf78af3740e1484d20781ef65a0fcf234f14ffe31ce74e875fb9e66334d9904232e2ffc2e95b17f2eb";
+  sha512.doc = "04842734524a69a989247733662b5819439be275768f748b26136fd1d0d7cc0893f9f4eedd9cb6775768469b03b6a21d14f53dbbc860674d05a2f18ce95be4b1";
   hasRunfiles = true;
-  version = "3.13.4";
+  version = "3.16";
 };
 "latexmk" = {
-  revision = 61146;
-  sha512.run = "e61a7bbfdffdf07f6c2c6cc9e549602ed6900677cf13e605379c3a1be206edefc4b0c2a7f7ba649184650413929b47e82b9c20a9245f788331d528dc833d6c36";
-  sha512.doc = "03cb839f5bca7063bb477f5843bf4a30236d12258dbfbd86bf97f54faba41a6bab0c403509ed1d1d466e4a59a94d15030455e337c3cfaf61689ff556d6f02a15";
+  revision = 62768;
+  sha512.run = "1aec8ad3efbb858cc3b9510dbc12553cb4a6c7e9a7c713d2829040925bb605f408b640c142eb8620dc2eaf05bbb45a5959e3f5a2690285b650e5128ea5c0286c";
+  sha512.doc = "c25aca63cd9c0095ea9c59b51bf6e5df96cba04cf65e35e55fc70eb9b351ef27de7c7aa16a3bdd5d37ac98716d8ca8c86fc7396050b1ef6ce948ee1bd7544213";
   hasRunfiles = true;
-  version = "4.76";
+  version = "4.77";
 };
 "latexmp" = {
   revision = 55643;
@@ -21387,12 +21609,12 @@ tl: { # no indentation
   version = "0.3";
 };
 "leadsheets" = {
-  revision = 52275;
+  revision = 61504;
   stripPrefix = 0;
-  sha512.run = "e7a84348b6347962fad95171059e968f35e7601da51ae6fa278add1ed4262bd7ab84bddad9b48780e7481056bece9c311ed1cc25e77c57f9d9e0649abc9197e5";
-  sha512.doc = "dea48a9b053aa67f6d9e3dcd3560ceccd104d743a5797320e76d43cdb8709afe7236f7ac8ef23dc9175268fe57c97898c92d0dc329a4e3151b017544fa537521";
+  sha512.run = "026e310ee9617108ac60fca69b0f08b2031d9c9dc583a400095765458bc72681c5c39332602994fd8a7dd4757b5214924d4f5d75bc5861365ef65e8e33b6e143";
+  sha512.doc = "dafae48e690e6f0a2272d268204cbe58967eec5dc895987ecbff563061f23a53bf9d0d39f4a269b852524c1cad8de08fb121aa8291d2c723c01615f4c83b3231";
   hasRunfiles = true;
-  version = "0.6";
+  version = "0.7";
 };
 "leaflet" = {
   revision = 56878;
@@ -21404,11 +21626,11 @@ tl: { # no indentation
   version = "2.1a";
 };
 "lebhart" = {
-  revision = 61338;
+  revision = 62834;
   stripPrefix = 0;
   deps."colorist" = tl."colorist";
-  sha512.run = "33a117be62734eaaa4c5062e85d28c8ff768f4ee71b76081db2b4f31985ca57b62e42146da417e6ce87e2947ef2523a3709e4defaa0db716ec0b23e9170311e1";
-  sha512.doc = "5fd2fb76c7756ee9a033eea1a479858a21ec483efcd964b53fcccebff410de3c48cead6388092f745225f15f705390c702798c8a8a79fa6dc6190d3c98ec9126";
+  sha512.run = "19ac4074066b76fb7222280da8ca9a6d602e0c94bb55172b6c74537ff0189ddfe4011b19953e32924c05c3664dbed54754199e8940244867eef85e22f736f10d";
+  sha512.doc = "876544fc826ea0263a3cac256d7311b7762e110e777c175cfc68488ccac1c5afb7354fdf30765d60a2937905b884870ef3ad6db6a11badca36434ce49b700088";
   hasRunfiles = true;
 };
 "lecturer" = {
@@ -21427,12 +21649,12 @@ tl: { # no indentation
   version = "1.0.5";
 };
 "lectureslides" = {
-  revision = 58393;
+  revision = 62293;
   stripPrefix = 0;
-  sha512.run = "8d5c2e6872ae1f6acbfadabf997ff8b4286398afee2cdb01a0be17b243df25fa9677d360872e422ab62b1c8f3150c6fe4e896eb2dc802752ff362df51d684004";
-  sha512.doc = "77822069774285b57a68ae543a287d09dde276266f3a4acc767f101eafd113b74a53fbcaa0ee71bedda18edbbca23f2bde5b77a4f33a0f0dd26a631e3b0945b7";
+  sha512.run = "151132141bc245f653b8a728ded42b60f3157fcc3720e780d0d67b10f1b3b3fc6207dd093ecad28089a43d1df8d1f43adc6baa73504601ad5368e4576295d3e4";
+  sha512.doc = "9a06e97f47c5658df6ef8a9cc1ecb0f0c19461652e50136673803b414ff0e45101bfbfc71b4d33e7db9ca23508b99c4f220e04d807974cec2aba178099e8da3b";
   hasRunfiles = true;
-  version = "0.1";
+  version = "1.0";
 };
 "ledmac" = {
   revision = 41811;
@@ -21477,6 +21699,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.0a";
 };
+"letgut" = {
+  revision = 62880;
+  stripPrefix = 0;
+  sha512.run = "768875ebc9f8e1857241f8bbf7814ddf36f682f7cea791783c8e29d02c17af80bed79ce4f5d2c270e42760213731797d97ac6e39e07bfad6043e5ff368799583";
+  sha512.doc = "c38257f2bb06a24c65943dfd105180bbad97f86635b74d28591185b3cfcc9be3c8b6b4cbe5092e5937f2b07ca663594a3a0129ecce2a234e4ab44f173c7a633f";
+  sha512.source = "36dd602cd29d7546bffd0b8c4a3d6b65a21fe1ed3193d62be9bc6fac608a7314de2cdb3c08efc0585797416bb1bc091ce8f59a307a3e438c18905e3d0347b2c1";
+  hasRunfiles = true;
+  version = "0.9";
+};
 "letltxmacro" = {
   revision = 53022;
   stripPrefix = 0;
@@ -21618,10 +21849,10 @@ tl: { # no indentation
   version = "1.01";
 };
 "libertinus" = {
-  revision = 55064;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "ec36e8d1184e4b8aad46391bf6cfe54a48006af6ab70cc2a4e20892bdaabdf39ec145e216a12e8be389e3080a51ce5d81be2376be631e32f48ddd5f9548cc564";
-  sha512.doc = "35e7c7ccb8c10bf2d5d24c03b47174a6e53dfabb9f7629f778f6ab3624f146371b4970f577d28765cbcdb1094dbf8414a729a2b808a7f41f418b911899ee0698";
+  sha512.run = "93fc163a66e711943c22f383187d4f7e81aaca32f36eac6e6f944682169282544c9233d05a2b5e6d263dd95de3d8a8106871a0ea1fd2028899031e2cde1244c4";
+  sha512.doc = "8865b61037690bd3569654879866592750561d3fdeddd7943280ef772e7798194cf0bdb95809ab4373e1f082d1a1468b3b4456971b72dc892b07e73e2dcdecc6";
   hasRunfiles = true;
   version = "0.02";
 };
@@ -21649,12 +21880,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "libertinust1math" = {
-  revision = 60495;
+  revision = 61751;
   stripPrefix = 0;
-  sha512.run = "bfce92d05045e5f9c381a82ccb5cabe9843c9e65ceb6a1bb8028aae5fed4ad1106b94055bdfd38ccf6178bc5b1fc82dd0436d9cb2977fa11cee9e25697a898c3";
-  sha512.doc = "9ffef9c46f0b91500494798fcd6558cc5a286f728fa3ccba8276b141265fc2d59d6995283a9284a26dda3e4523bcaf74493b8bc1b85d4c100cd249387032ee52";
+  sha512.run = "444d23e7bff1a6c1b3c368730a589a033c211f9fafb1032b3852e55ade7cde260f1662ab7266291136919558d9c2995986655f0302c38a677afd4dd2f74d5376";
+  sha512.doc = "d3bbc0ef7e507affc60a6a76c4f33e42b42f5b9742098b5e967d6581f79d9fd68231cb7f67ff97b7d5cd8a47a023885306439125419375537412024d5bbd9f88";
   hasRunfiles = true;
-  version = "1.2.5";
+  version = "2.0.2";
 };
 "libgreek" = {
   revision = 27789;
@@ -21681,10 +21912,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "librebodoni" = {
-  revision = 39375;
+  revision = 61794;
   stripPrefix = 0;
-  sha512.run = "eebacf9b045b46df1a8c806deebbd94742e2c1615e45da85946c83cbb82a3a2ff278a6a0bdf47059c5713ed1c2dfce8988ff82c4682aeeadc05772c49426372f";
-  sha512.doc = "5cad86257fd423e1f7551a014f888c28d4b61a9fea14aabb0128458fa17ad81372668f247d9e7a81ab0801d9ece0a0529a304d16ae2f06dae5598048bef4d036";
+  sha512.run = "fbe72c5a23229d64312b7b93cc1a001d3b793928b03e9fa83621202fa24d8d405e6a42367702b993a44f16a15986b93125a0d99e40474147dcd2bd7e6f4512b3";
+  sha512.doc = "c623cf324dc6719856ae1e9ccec92f844c90023b3163a76c83574336f43022220ebd7768d1e0946a9c2cdbd412f3b5a25a8948d5df4680d065d743980557da9e";
   hasRunfiles = true;
 };
 "librecaslon" = {
@@ -21711,10 +21942,18 @@ tl: { # no indentation
   version = "1.007";
 };
 "lie-hasse" = {
-  revision = 53653;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "ecd15640967371587139b06241a7031e86b72a6855a762e90b5b96ffa629c520613fafa95f08f346bbca365ef4e2156b2d1db6051f5e065bfd94291d942b2a44";
-  sha512.doc = "e33467606f46bf04dc4b42820a1016a3da4222e17dc3ee0fd44290b6e8cd831ee8080beb3536a66f961406066884bffd1488b103ec2fd86c1bc01399b1879bfa";
+  sha512.run = "b71ed475c73a94a92b8a8078a4edccc73f7d688bad7a1a5e6218bafba823b76a20b79da83c7591903fa234c6f0e7f776317dd8b740e5fd7cd014821f8dd77c94";
+  sha512.doc = "d846971b6b8429e58521ad0cc564906fc06623a3764117069fdb1912aeb84858e7af93ea2f4a7732c6e677f260f10a6a9b79488d43caf56ad158152245f8e4aa";
+  hasRunfiles = true;
+  version = "1.0";
+};
+"liftarm" = {
+  revision = 62548;
+  stripPrefix = 0;
+  sha512.run = "366d6d834c74e044364abb34047c0bc9308ca8da4cfb811abccca819b361e332160bf4be7f058e3d2ead2b3c9683f4a51ba8777bab73504d17c9fa0b2dfbf670";
+  sha512.doc = "aaf73e0c29b25ed3f4ded37debb648663255f855aeb44a8c81fa050960f5d890707ee98b1402bb832dc037fbafc9569caaddd941254ce37c5c143557977ab953";
   hasRunfiles = true;
   version = "1.0";
 };
@@ -21759,6 +21998,14 @@ tl: { # no indentation
   sha512.source = "ffbf77f9c3f97acc3bed0445dc3d7c92b9d4cd095e117a2f9ff1ba54cc1c3f96c734c1d22951fd520a194ca3f385504db06821a0797a4394079fb221d650fb7e";
   hasRunfiles = true;
 };
+"linebreaker" = {
+  revision = 62664;
+  stripPrefix = 0;
+  sha512.run = "99ff9f815a5b9127b562069e48fcfef6cbaaf202464b93cc3615e90eda9e7273a442cca9c78b4462316036319f688f2ff938c177097d7ab7e4ee3e3ebcfc19ff";
+  sha512.doc = "ca23b92513ece333926751516c5c27d51b53dba7d1c54dec3e6f2f9911b67e31e3aeff641cf6be31dc6e7ee3de592683f839094d8b92e013e2c1d2c1f28c510b";
+  hasRunfiles = true;
+  version = "0.1a";
+};
 "linegoal" = {
   revision = 21523;
   stripPrefix = 0;
@@ -21769,11 +22016,11 @@ tl: { # no indentation
   version = "2.9";
 };
 "lineno" = {
-  revision = 57866;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "be1b8112411650d579727b5f30b0f9cd2d716b43ef5039b6ebfdf6cd6f5b39d948dddb7f41531a91fc5df4bdfc51d2182d2bb99f1c22e3a88cb54d3364dcc5fc";
-  sha512.doc = "440a8d04ffb923991699c23cae01ac2c5bc5a050c9fe66c3893d50db2138b7b204ca649303be244a03cff46f9ab19750ea1f5233fb24c7918e631fd72baf827c";
-  sha512.source = "919c0b2b98257ab3106bbecd3c25c35c723e9d4105cef3cdc8dec0fde81fb82b9da7f53de81971a1ffd9f7d1d8b6f90bf2ba7035b88e0ade1bf9d04227d21ed0";
+  sha512.run = "0a813a8e6154963d7cf7c879c4f25c2b428bdfae11e8d8e158538a64c80335078f011473a3b7ce3542750ecd2caf8edcde5b4d90dc70bf744f1780bf639fa910";
+  sha512.doc = "677d99aa82fb433082b063f2ac8f5d2ac4d2c90c0511b766524d97a6f9e3efcc64b8fa7c979ac16961eba3e36ba99948ac5f90c544473ff1fbecefc96093425f";
+  sha512.source = "a3536d669d8fac02db619a714fc3e793ddd403b034c3e3b5f3062005078444640c2b19f1dcfbebab6b69e32c28073826861037e5d1b70b2101fa0bd5c62ec734";
   hasRunfiles = true;
   version = "4.41";
 };
@@ -21941,6 +22188,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "3.1";
 };
+"llncs" = {
+  revision = 61638;
+  stripPrefix = 0;
+  sha512.run = "2783dc49f50302288c7ee4b18030b62ca18a04e791733488fca6d08cb7f5366dd2ee2541641fc6efdf1ef41c3931297b5ba82132dad7dee88cea5245dd672223";
+  sha512.doc = "f14e7cce2b370c795c4313fd2a9b197bd4ba85b3e28f3416bcee6d1f7da1920402af5f77ac8169482fd82b22b64c259589b7063ac2d4f7af856615bbc2c45395";
+  hasRunfiles = true;
+  version = "2.21";
+};
 "llncsconf" = {
   revision = 55117;
   stripPrefix = 0;
@@ -21950,10 +22205,10 @@ tl: { # no indentation
   version = "1.1.0";
 };
 "lm" = {
-  revision = 58637;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "d758e51742787410416bfa4ea4e32951484435b977c9ea3bc7ce51d919ec4d28b2ade387d3b1129f034aeb41db481bf72729fca5d24177e65d2719200798febb";
-  sha512.doc = "c8d6d05ee42d060505ecbdc3e4a5e1d0e6e3c5e919fb4be04162b45723abf697f629d412f359b6d205013d5716f575bfc4d6a7dc115fad05ab47d12ac0dafe5b";
+  sha512.run = "07448def04c2dc6805d7077b7a65b4e353c99d22d802c56ef7e147ce6a209e9b2303752b5d56763ccd44b9cccf700207e48c246b141e63deb4d1895347d6d307";
+  sha512.doc = "d628f4ad7288eb378df86b4593738c0f755ec6a08a762b38d7fda95b2cee163acd81fdebec7bba693380bcf3d2b2510281f349fa17ac3da1fbe9ec40106a728e";
   hasRunfiles = true;
   version = "2.005";
 };
@@ -22507,12 +22762,12 @@ tl: { # no indentation
   version = "0.1.4";
 };
 "lua-uni-algos" = {
-  revision = 60194;
+  revision = 62205;
   stripPrefix = 0;
-  sha512.run = "dda72953163220a2f0e7bf7cf1ca5500d45d90f8dd877c41a586e89fa60b9a038ea9f680cf1180d982ea843168f905d4775681479351922e52c3400ffb744697";
-  sha512.doc = "75c9015411a471aef18480b2aa58754145d01a2364156e56362f0665d4cb841652456b2e4929b550db1dbb33821032d456c7ae39f5aa74c7d2a80afc046a7831";
+  sha512.run = "cc7f78cc1df602e575cdbb662e555e7c382e0f409799d12ebfa293fe82a612ae0394ef712a8e8da817eb3d0a5a0790f3e3c26a22a050dd06acd7ecf051ba60d4";
+  sha512.doc = "07ddec416685d34b077b0f377569f9f039d2eebed0d1fb4e8a589d7ea6292e77ed670a8a14baba044b7eca3167373e9e4345f5ac47431f4485fca16daa781dea";
   hasRunfiles = true;
-  version = "0.4";
+  version = "0.4.1";
 };
 "lua-visual-debug" = {
   revision = 57349;
@@ -22523,13 +22778,22 @@ tl: { # no indentation
   version = "0.8";
 };
 "lua-widow-control" = {
-  revision = 61317;
+  revision = 62871;
   stripPrefix = 0;
-  sha512.run = "38fb32d72b52507e64d908f43cdb22321d70344ff96b7cda29214fdc13fb0f5012ef24785825d792590a9c712ce0059f062e892410c57e4bb7432c5399cb0885";
-  sha512.doc = "033c6ac77ca441f042578f13d0a6df1421d6e9911d4c5b7cac93c2ac5a00e2ec75b89c16b2f32bd455f2dcd41bd931fc8c14ee083d9c568f74c9c30192dc4f8f";
-  sha512.source = "ce31763c29f920cb39b0a73e66e54168049cc88c53094a5d1e69f5c0c4850af13822ecc32ad982dd5ee1f51ad46e391b370127378cbca10903a4ac7295196465";
+  sha512.run = "1a7c86a26474f085e7530dc6a6392516fe146ffe3d2164e07045f450f914157bbb2581b2d0301df4803d7cc132d7b4cbadd721b45299ba181dfbdf283c4c59ec";
+  sha512.doc = "8c2b531f59b66cb38e33109966cee399626107ecc68069455fd429cd19fe103e144931418c926d0464a515d6579b888b933ab17a9e2b5bc995ef9c525d6f2d28";
+  sha512.source = "a969e753e1b9108fb1dbb6e74af787b9f5aaa7415c6749edf02bacc3d02683044a67a4ca5421089389e6a760146a18a6921fea9aaedce5fab7857125342bcc9a";
   hasRunfiles = true;
-  version = "1.1.2";
+  version = "2.0.2";
+};
+"luaaddplot" = {
+  revision = 62843;
+  stripPrefix = 0;
+  sha512.run = "5c0046f2a418cae8056e20e085bd1504d7fe09258aa64ad61dd5a6f3198ea426f9d85f549d54bcb4c03f06fc3628e530256f524bd980baabdbb67743a502e930";
+  sha512.doc = "4191f692ef7e175b52c46db515cfbb4b11c2223af2c9ad967bc14a9a0fd432e1b5563c622a64f6cdb0e7e19da58b5ab3f70eb36cd29a7e618d4529cee3904ca2";
+  sha512.source = "11bfe0943e2c4323c9ffa60d8e88886f57e862c3190bc2b75c75fa4fd081324edeb7891a3726149826544dd01a9f315af5fca549ac26147496e084ca24c9b17d";
+  hasRunfiles = true;
+  version = "1.0";
 };
 "luabibentry" = {
   revision = 55777;
@@ -22548,6 +22812,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.5";
 };
+"luacensor" = {
+  revision = 62167;
+  stripPrefix = 0;
+  sha512.run = "6dbcc3a2870106eb49955b6e67fd621019fcd759b9d68d37e86af9d4121231e50ecaab7abe7fdc7720021575b8f6a28f28c4a11edc72f6ea71f7cba2b76909c6";
+  sha512.doc = "95cf6068dd5812806f3a7fb40349f8adab9099c453459789937c68d49e8238016575148254b436724b7764a0eee7caac2459b96ab214746d3c12ba1d268cef45";
+  hasRunfiles = true;
+  version = "1.1.0";
+};
 "luacode" = {
   revision = 25193;
   stripPrefix = 0;
@@ -22567,11 +22839,11 @@ tl: { # no indentation
   version = "1.17";
 };
 "luafindfont" = {
-  revision = 61224;
-  sha512.run = "3ed857c1297ee8ab9dbf8664b5a7a15c23da5d7e7060fd6bee0be89a0835424e2773b4598a7fc142a754f0b81d5b0825fcec8ef2824d4ea5e7a4b33ddb390e7f";
-  sha512.doc = "83bebd7e06d830a23c843a1c2af0a99d4791ceb95668242860c6c2529f84da4743f96bef3865f57088481ee7beaaf86a84351f243a79d96a92f4089102c57db5";
+  revision = 61959;
+  sha512.run = "5b763388468761296246c5cbfa63f926f68a1321cf762088e736c89aa591e91edc3f91d9a3b9030c36da5ed0534354edd851abf36f4dadb2f7cd43349cab480d";
+  sha512.doc = "1e3555311aeadf360e669210f2cf525f54d74d3f7b8a458e4a9116114bb10de63936497eb50e3965ebb204bf8cf40e37e0c737453d2a30726e1fe4a196b59371";
   hasRunfiles = true;
-  version = "0.05";
+  version = "0.06";
 };
 "luahbtex" = {
   revision = 57972;
@@ -22645,12 +22917,12 @@ tl: { # no indentation
   sha512.doc = "a6a17f70a44655e1aba11ac1353cc13b36bee762083be76a31c04d90ae73d021659219a3a741b70f0b43888d6b6a6ab356f378fa5850a23ce7423b28a721e924";
 };
 "luakeys" = {
-  revision = 60980;
+  revision = 61458;
   stripPrefix = 0;
-  sha512.run = "d50f0a0abff49a776c54c31ddc5d8361c4e28d93f5f79792ea95b081b7a352b75ae6f20f3f35f2725b513a1f5af4976e18fa3a3ad4ed5692767818959c00b4e1";
-  sha512.doc = "6f4728b77d6ef56a2fe97b7d7418103b550c0a97a1a07430f3357c78ce81d1668dd60cc051f32007ccfc17bba0530136bf5d9203bc105ecf91438a366da3339f";
+  sha512.run = "6713bf52d963018c7eec50ac321cec56eb32ff2b5145249c89ed7893195b135ea8412e48c7c4140558a2c9a020fb50ada7bbc7877e7a39058ff7eceacd7c5e6a";
+  sha512.doc = "4db16db4d638dc685eb7536e148e20e200c850e4be4d32a9eeb82c81619a6628172fa232f64f231ad90763eb680661afe5d5a2a74acd0cb4273c3e8a50653162";
   hasRunfiles = true;
-  version = "0.3";
+  version = "0.4";
 };
 "lualatex-doc" = {
   revision = 30473;
@@ -22667,15 +22939,15 @@ tl: { # no indentation
   version = "1.0";
 };
 "lualatex-math" = {
-  revision = 59847;
+  revision = 61464;
   stripPrefix = 0;
   deps."etoolbox" = tl."etoolbox";
   deps."filehook" = tl."filehook";
-  sha512.run = "ba37954065b7e61aea353106d3a5374303d75a3d1d1d1e12394112bce2048ac1b70a2f59d55708ea1be0a86c6c7eef54763629734fa4abf451f2b403a43e8a67";
-  sha512.doc = "49e74c241db69d6fff8f9b89cad23305c84a363bcf3c47fb2619d2ee65808835295cf8e7744b537a9d48db3aa436b79a564d000fe05e2a18852343eaefad7d12";
-  sha512.source = "80cdad65bf1d705d136fcf5960a10703b04c5a87aaaad609c97c130053699653477079beedf8703d11f20f88404756a27fe87adc00a82d9a698a7ca7c8096787";
+  sha512.run = "16c945e72165acd9f4bcf20f81e6c5df9ec22f19d45cbb8f076763d2d1a1a2e230938dabbadfcc065e3a060487885ac2edb223aae22d12f6981f5fca5c0f951f";
+  sha512.doc = "f5a8db238ae096b7b1a2eaa84643f063cd28e08b328cbcc780171a60c571e858a1cd1941a8ea9053392a8c65b965a81c8cd585ce2accb27e797e3e4e8ad3a127";
+  sha512.source = "e04a36a2280fbccb9572539ebc9bafba4edb7ccada25c4b3faadaa61c2f4458d9e9a90e54fa00b5ba675e59f42ed2d076b39918e5c126e2f619f2f69ff904d81";
   hasRunfiles = true;
-  version = "1.11";
+  version = "1.12";
 };
 "lualatex-truncate" = {
   revision = 48469;
@@ -22704,24 +22976,25 @@ tl: { # no indentation
   version = "0.6";
 };
 "luamplib" = {
-  revision = 61133;
+  revision = 61587;
   stripPrefix = 0;
-  sha512.run = "b713b37d4bb2a7c527105de476b66ff9ff7f940e1ebd675016f7b94ab72da8a2e2f110284f4893fce8858ef90d063fa4997cb93c6b3121802e2999efa0b7ffdc";
-  sha512.doc = "cddb68e0e74f07732acf873aa15346b3e6a95a157f0b9574b101215d6afcdeb7a9863ff16a72fb6d54b77ff86fb527b317570cf65161270b8366887148b1f90b";
-  sha512.source = "b1e1e1b5c5ea54cee1056d80360cb6f1a7a40ad3efe85417e10eff90370fd1b1fc671e9330cde65150213cf3ad9aef927c5bb96a9f5025b2bedb90dce3406e81";
+  sha512.run = "daa0a03eca57570f485d2b7decf564eb9f6614a5799d93b798310c20ecb2f055b6dd469c87fbafc1722cb931dc387eada416bb83d609d76a9cfc8c482298edc8";
+  sha512.doc = "13b6b7322faf3fda798049bada6d1737f30cb2ce7841ea858ac798fa3f63818ae6661a4e050e4dca336dab37ba9292fa19446a9e1d07a86509c0856793716975";
+  sha512.source = "097a263699067a731409704d7de358c85f4509bfc6426dccd2b193b85430413c441a2c5dc011da613e1e673e6670f7d7ed847e59c58c74d6caae66b7b3c2a29d";
   hasRunfiles = true;
-  version = "2.21.1";
+  version = "2.23.0";
 };
 "luaotfload" = {
-  revision = 59293;
+  revision = 62789;
   deps."lm" = tl."lm";
   deps."lua-alt-getopt" = tl."lua-alt-getopt";
+  deps."lua-uni-algos" = tl."lua-uni-algos";
   deps."lualibs" = tl."lualibs";
-  sha512.run = "821a5ea31a6131bea129929abbcc114959e1a32325a42f1b22fc6d37f7213d1dbb2f20cefcdcce38089d82cc366328b7dd80cad192a374694a925506073de8dc";
-  sha512.doc = "911f1037ddd942f357c1f9644dc424984e93a483b5c5a10ad279a77287cc3f9cfd94ce0113b3b0d6dc6d00dbb13814cb8b46c113ef6877b0fd0b7093caf64746";
-  sha512.source = "0669681ede7befb415e30e96c575efd9722b030f9d5d5973d13a095826900dfc05d3cddcc29eb64257b77d221156031f0dcf5a1c2f3adcae97c61bdb039668d1";
+  sha512.run = "c4042a5a1384a9463804dac9018b1d72961ecea5675033b4fe591b8c7ed004bbe7d3d62e8ae5c2749515bfa23eaf488ace780bdce476d249ce21824c05eddf56";
+  sha512.doc = "73203d9ae5ffe49d02cabdf7a5f6b14400c158a16c5d89ce0d4167cd472b73ebcfa5ecf9120c7dddc477877663521bb89ce3eeceb987bb9dae388c67eeac0484";
+  sha512.source = "5ea25226a1afbefa53c5b73bfed97aa1d7c933196363f2b1a394a6dfd10b7d4185dc7efe1ca08450d840c5e2e0ca13f08747dddb56d450ca9f1a4047c9350621";
   hasRunfiles = true;
-  version = "3.18";
+  version = "3.21";
 };
 "luapackageloader" = {
   revision = 54779;
@@ -22741,12 +23014,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "luapstricks" = {
-  revision = 61036;
+  revision = 61446;
   stripPrefix = 0;
-  sha512.run = "11fbfba2f47dabd8db58e4cf502d5b033a13d08f248be071d0c8c4ddb81e7940e1b22b078e75fa50910883a17b71670d328fff00b488b9b6d3d681bc5f784d45";
-  sha512.doc = "a32552fd6c6038650f2427cbeb320f87bdde17f3ce8a3a07071b22cd71f2a0beef6c730c1af6d7de426403a3793dbc87d7e511792ebd1cbb6dea5fbf4ee3465b";
+  sha512.run = "dde995725426bda2d03aefae7062db29911ee9a0dd2179393bcc8b9e07470a378122694f9a5d059bdc2ca797ba99433bd8c31aabfcbdfb426cbf53d8922d8205";
+  sha512.doc = "e7f5f1790a9a0b6520fd808ef8bd5f080f4fb42db6f020080312e3ef4b4fd65833b48975cca33a8121c49a0156a632a7b406fb605439575fdc00ea52e12b0ccb";
   hasRunfiles = true;
-  version = "0.3";
+  version = "0.4";
 };
 "luarandom" = {
   revision = 49419;
@@ -22765,7 +23038,7 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "luatex" = {
-  revision = 58822;
+  revision = 62174;
   deps."cm" = tl."cm";
   deps."etex" = tl."etex";
   deps."hyph-utf8" = tl."hyph-utf8";
@@ -22775,8 +23048,8 @@ tl: { # no indentation
   deps."tex-ini-files" = tl."tex-ini-files";
   deps."unicode-data" = tl."unicode-data";
   hasFormats = true;
-  sha512.run = "d24bb6b9ac86d31c6b43a553f8153482f962d42dde813b41f41467ec2e7b5606f065108fda172217cee9b48e8b75237365eb6eda354d16def2bc2919cc0815a1";
-  sha512.doc = "9096aa4d630bbad43fb4eecbdcb8ceaca94709fd734fe7e9a3f09a9bc5d57209c922d1359f71e8a2d1cdbcbe127d3c09c2311b96c2d2574d5356ae9f9f6bef7e";
+  sha512.run = "e938ec27451a06143eeea72cc323b0329872fa2b8f01e8d669fb8d06ca046a1673c51ac63a1f38c37df75b96b1c06b86776e83b98df74e5332be8da05827c4fe";
+  sha512.doc = "5f9074e8657d0a788d4b70a7c405c710b48004c2f37e0d6d8fbb695dbbdf3084c4932f213a038865a60cc465accdd438feea4b8cbdb8c4e938115f9d0141ad6e";
   hasRunfiles = true;
 };
 "luatex85" = {
@@ -22799,22 +23072,22 @@ tl: { # no indentation
   version = "1.3";
 };
 "luatexja" = {
-  revision = 60862;
+  revision = 62637;
   stripPrefix = 0;
   deps."luatexbase" = tl."luatexbase";
-  sha512.run = "c86d8475e8ed95f31e8068646061e08845faee7749d5bac40cd9f55c20b5d7a5410f2af7ab66c91a0b470e1f7048d95bbbcc5182b24541cc470b1c235e00ae85";
-  sha512.doc = "dfac6f66fa5248e94e9c0dacd6aca177473563411ad5cb749faafa83ab8fe058184005557495aac2b137c87f2988e85760bac454e8fb3277e4b631ab83f0372c";
-  sha512.source = "3571d85fcfb142ec58d68f2a104c375a89088e201ba0f80ddcce0ad381851e60529665e5e1ae3f7fba1d0e4aef7bc7422abdcc80e04adef9ca88747be3329a39";
+  sha512.run = "3e417b8c4d98b4cdcfe6b84aa354f772a41d2947953d85fc4485cd1f29161e06b028cf9cbb587ba76cb938b15ceffff20b3fa6281fc78110ccb902d783e575b1";
+  sha512.doc = "ed08992cacefe02ff5bd4c42bb53ba825976a6ad6753f9286fabf2d2909930f412f6fc15d462ac3400fad1987621bb1d69146710d799cc548e04d1a020b6cddf";
+  sha512.source = "91080d18f5588ed2e0b50025a208a160d7eeb8daaf8ebb6739f23741abacf712cfde91398cdf82150145341762bfe37a0efbf296cfbf468ae1359e1ef529243d";
   hasRunfiles = true;
-  version = "20211024.0";
+  version = "20220311.0";
 };
 "luatexko" = {
-  revision = 59892;
+  revision = 62832;
   stripPrefix = 0;
-  sha512.run = "0d585cd6c5a5391aa38d3cfb34d0f5f8b86baed302526d61ac4ddd59521f356f4db63d02b0c3f795b8cb7245f41b566a9c180c289e5be7297e198e5d216afbba";
-  sha512.doc = "5825f168e592b17c78a2406f27f201705f47684bf90c5916f394edc2f3c9312c4afb23387e07647f90de9e4ca6daf16d38fee9d7d15f0c3fb80b5602803f4796";
+  sha512.run = "d3c7261cddcb64caa62d66f1eaf14641bc626a961cdb320a6547d0c494b39a0ceb326a1fbf344c0e75c30b0fea202d902b4b3052b1ea0095ddc6cdbb0e1a92ef";
+  sha512.doc = "fcdacde1d4bf7dd22531c69bc6282e3aeead19f39de6c53cbb5112be78b978fb6bc0e91f3fbbb609bf219749268969a632285d22d7a106ac6c05a8c998baac21";
   hasRunfiles = true;
-  version = "3.3";
+  version = "3.4";
 };
 "luatextra" = {
   revision = 20747;
@@ -22851,19 +23124,19 @@ tl: { # no indentation
   version = "0.1q";
 };
 "lutabulartools" = {
-  revision = 61003;
+  revision = 62253;
   stripPrefix = 0;
-  sha512.run = "5c2d1b5d712801bf4bd14802bbd9d9b1cb93f51ae9df8102cdaaab463b55ec4a6c5a167a905d210947920f9624c8d882ce4a8fa9bb2fe8631f4f7cff04ae1118";
-  sha512.doc = "b4721642982af15dd46e3fcc8d8bfb5576a106a833850f66a9872ff9b8bfa5a996e618d0df7b7150482cf147515f87eef424f7be0fd65182b91bb3ee5316b737";
+  sha512.run = "881b31e9fb29a03d6f3668ae1ebc1bed9302866e8a102a9ad21792242618798394ba471a581c5235e4ee736406d5f99dfc0ef02e99423f8d0e02fa7d89d09f9e";
+  sha512.doc = "fab930fa3fd9fcc18cb9b5edc710ad9625d2525bbe1c1d98fb572b8cf049d126d6ce7437bd7bd173c3fa321023cb80e30b210837794719c17d0ada9c7cac8999";
   hasRunfiles = true;
 };
 "lwarp" = {
-  revision = 60674;
-  sha512.run = "37b2e031e75fad5fb8ce276c7bb9acc67dd38558f25394c099519c5535a8a0e27385bfe88c7de25b3435fc308115cf18830b24693c486fa918f87693d254e7fa";
-  sha512.doc = "7d325390f3e07ed8c0533ffd39b7bd4417daa90b5ee88be1312ae925a1242ba8f67d14dc9385830d81e21d643c4a9f0bb3caf60f59bb26154c81f12166fcf48d";
-  sha512.source = "c7240a571ffc5b5e7a09adede558b0996450789c40217919173244d25dc7565a6aef5cebdc0df1ead8eeab5ad0d996c0f2d1930ae4d9651a0824e22ffede26ea";
+  revision = 62762;
+  sha512.run = "4b9c76214813d2be90d1170efe4888627ab8d9a8ad47c624e5f7a908dd4a34933b8bfe6d04b924d896083b8a7de8fb85ae1ebab286c0728bedb7d0237605a592";
+  sha512.doc = "339308133fd68f616bce37448dfdef327b4bccf4befec74283a72f1b0a054430f1abe5796744a2a157bee5eca9f39b209befa73676570ae59e672ab846799bc5";
+  sha512.source = "3a214ab1243da396d2b649750ce94893a9c68db98b4b0f81f3b898a77daeb7806de302cd77b2c2bc3b8313bea7c6532dd15d08c74022559d1400ea56ac367664";
   hasRunfiles = true;
-  version = "0.902";
+  version = "0.904a";
 };
 "lxfonts" = {
   revision = 32354;
@@ -22982,11 +23255,11 @@ tl: { # no indentation
   version = "1.0";
 };
 "make4ht" = {
-  revision = 60738;
-  sha512.run = "9fabde9f3f9bc9cfdcde8dcbe343c4c9a1345573ec5bd8124523ef3b9805903553cf15f69774ca7a3e703168c56883bad72b8dc18d66e2073d402977cbb0f200";
-  sha512.doc = "31d4a239804ca2dca178789accfa640d6fbb04e38948a36712a27bc1ad42ae0dd15792df07306e48f235018e18a5349a83aee2749fa7e2fdfaf8c035cc03a133";
+  revision = 62075;
+  sha512.run = "4e05da70d09f43c3dfa10d2e8c4836eb8589b876b73b2de6ee53ea28ead4080ce58273b44556b6dfdbd200e5af9d8355e8e92526e0a5e883c707dd0c03d04be8";
+  sha512.doc = "7a377e846ef6a569bc2f3fa7b4eb245fa14c6b9435ddd3f01dd5993d734d1d8bbfa899128006b2ef5af3d3719eec2f2184ba9fa0f6393530e5abc7ba2042c755";
   hasRunfiles = true;
-  version = "0.3j";
+  version = "0.3k";
 };
 "makebarcode" = {
   revision = 15878;
@@ -23110,13 +23383,13 @@ tl: { # no indentation
   version = "2.1";
 };
 "mandi" = {
-  revision = 60311;
+  revision = 61764;
   stripPrefix = 0;
-  sha512.run = "94f561092ee67cfc27354612be8836bab835cc4f3db4cb0c92db859803429ae29f288f584363128a42fc516c9ceafb65f710777c8d0c5384bd157e2baefbdc1c";
-  sha512.doc = "8d2bf11a141d9475ca699245df345418c74185dda498098bfd5540349765c8d59cff4739a731d6220a7eb45811a48a9247d10ecb57cdcae3f468f8da557887e1";
-  sha512.source = "803989d743ac0ddd66a922bc61787d9228e96276cd2b5533c2517ce1ee05b93a2972da2a3b9529f0df441cbf0db9efc760bdc727f644deeccb68495d56e55a68";
+  sha512.run = "9bac7973ac229756b5263ee0e8a8a4381bf64400a1ee58b0abafa6765e1cea6dae0b660243e1dfa87a8072f1caf1851c11c88db81dae1b231ec6def9f965991a";
+  sha512.doc = "4debcb2b892563755cd0779db9c1784f7feba4d0e35118cdb00569bc4eaddf23423f1236f0cf28adb1c399e220b5f348ef898b0e7f1c59e031891056b9148fdb";
+  sha512.source = "1cf1912cd6db652bd927378970a1740153906f0c14e92da47a428c564c04f66f3496be8f639fcf3f0f0caab48fff0909ae72dd81085f2bd8a92d5ae08fce07a0";
   hasRunfiles = true;
-  version = "3.0.0";
+  version = "3.1.0";
 };
 "manfnt" = {
   revision = 54684;
@@ -23149,13 +23422,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "marathi" = {
-  revision = 59642;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "c713cf05356582b01440fcd0cded691e7e3c13852888c7911016bac8265801cb46bfa8969f7bac7c8ddc9c60b841f3f1dbac35488a944b6a5ca876c61085d2f8";
-  sha512.doc = "f9175cacbdb94c98c91b8e303fda02ad8952730fbc6ccd9516f5d07893b8ec524f747472752d081c47a4ca191118c8bfc4cb0c4899fbeca269a1ae71e09a4a74";
-  sha512.source = "34a9dbfaabfedf42a2deddcd2163c8d2048c331f4ea557e3d3f2ab6a70dbb75aa7e49b1da9fe64c2150f23a91f2760d8033a82a5f268f642cad51ca59fa541dd";
+  sha512.run = "5ff1e45d4434c68f09fd011fb0d0bf7652002a9ef6c36035e953a5bb9871baec4dc1998b0c0ec1749ef93cbca8bd40512457d962bf0e9f3bb4c0d36fbeb6f301";
+  sha512.doc = "8ef83a4eef0d877473a24ad3d5efb9e4d374dd1c2e00b210251ce145d889d8cf8eec7ff368d94db888b134104770901877fb4e943bf758f921b341bb7bfb5f3c";
+  sha512.source = "6cd0135286dbc64b59628e7af8e84e3c4277705bca226155ca899f9ad438751cf5f5da73dfcaa500fdc1d4779f707f8290922098409c69216a5c66e2bdbb73e5";
   hasRunfiles = true;
-  version = "1.6.5";
+  version = "1.7";
 };
 "marcellus" = {
   revision = 56016;
@@ -23201,13 +23474,13 @@ tl: { # no indentation
   version = "1.4b";
 };
 "markdown" = {
-  revision = 60667;
+  revision = 62343;
   stripPrefix = 0;
-  sha512.run = "9e0a0cc36d95aff7567a90c64fe3ab81459175c64fee4a12412184c243820f9507cee87ef1e5c49347473ea585924c24d8d386f8633774ab8360f7394d2eeb6c";
-  sha512.doc = "7be13326efc5b437395e13b373e7486909446e1b34cfa965adfa02f634314738077a5ba93d8f2d503763731a656607986b55174a68ad117c57e2a3e8bd625251";
-  sha512.source = "1ac3f533a56aa89b6afe0d7b364899f4889a4d08cdf2a00ed0e706ae7e344371225871d81cca1ba56f77cfc29681911bed1c1d37bb86c50f887295e2a4a9abf6";
+  sha512.run = "19755f35d7a93c9b27f0790cb8ff16be96cb0bca7dfdf1c0bf7460df9c422ba75d195b47adacd602739083031f006e6813fa90e7b6d0954b3a703f858432a419";
+  sha512.doc = "0a7f338246bec399817d37d5ce2d568596ec647e8454dd273ddda39678f8b90a8e9f55c23ce26cf6e7be4c3995f45f088a3ae71fc9abe0076877c48cf693f7c4";
+  sha512.source = "46dc47f55508bf0ac2d4592e7b1054bca39c36755660bfef02388ccfe15f3f6cbab63e2cfdaf3eade8e5d4b49b51e453522701a38e607c075bad076e19285f0f";
   hasRunfiles = true;
-  version = "2.11.0-0-g4505824";
+  version = "2.14.1-0-gb933d81";
 };
 "marvosym" = {
   revision = 29349;
@@ -23219,12 +23492,12 @@ tl: { # no indentation
   version = "2.2a";
 };
 "matapli" = {
-  revision = 58635;
+  revision = 62633;
   stripPrefix = 0;
-  sha512.run = "540a0ee0f38d910995437efabff5b4775a5ce496275407dadb99a24d969a90bef7127abeab535f00db5009db0e90d3ecaa85651f735db027ef87ea93051421a3";
-  sha512.doc = "907b09780665470c0055594b3908fb875a9af575195f603e343e877a47a8e8d35d492cf2e03bf1ec9f62bdbecc973384c27bad09ca0ecff5636f16c4cfdf6b2b";
+  sha512.run = "9162f74f8accd8cfe3928681b9cd6fb0d78c120eb9da8cff8a1f8413f41a723bab853060e2be251d17229adc1d4d84a378ed2b34fb4a43b59553f694f49ea9e6";
+  sha512.doc = "ebdebd6c132cf7f31720db70ea50a9626fcace2c441606d4634f45a686d164a79876b030484e8b0887d34bfd4c177e0ebcc2c467662e86c3731cc4e545754fff";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.2.0";
 };
 "matc3" = {
   revision = 29845;
@@ -23351,13 +23624,13 @@ tl: { # no indentation
   version = "1.01";
 };
 "mathfont" = {
-  revision = 53035;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "5951daaa320cedea9d40ce0af8b13f9e15e926bcc14cc31f64bfc92bbd22e5a600e1c696f0e7bbbd1cf6a31141c6d3a985433a8000df7c0eee0139c40393667f";
-  sha512.doc = "a09ec87af77663740e5cfcd271e7ebae1cacbee24a31093912a7ef3925827bf35800db424d3a88a40338fb1f1e63d033071b8cd3449493d6d3a64ada760289b1";
-  sha512.source = "8120ed30e7911dd224586f66ac93bd96ef3b87684239a69c21868968d112532c49d2d0a356e05ec17e1fd05433898c83b20dc3e8d8a51539d46a4ae53998fba6";
+  sha512.run = "d865f7aeacad69848e20419e9ef88db46f70c04d0e9f9f0a8388cc35fe4d98ef1af26aa6060892efb181addd8b14d592f2a1033be26451979adde7762b23bcba";
+  sha512.doc = "05cc45350103bfaa9954b458e77a001d37edf0686de855f6fd2a60069454f7aa8e1e7b266a13eddb74d1a32d151ee529c9b4c0bc15e0e563b1ebc4c4036f949d";
+  sha512.source = "7b4a411b4783a7d1a3e1ceaca8c26e6831ead98f8f73eee63b2fa452399e95505edda1bf983759a8261e66a1436496b02c5811074745b64fb64b4d93fc361e22";
   hasRunfiles = true;
-  version = "1.6";
+  version = "2.0";
 };
 "mathlig" = {
   revision = 54244;
@@ -23417,13 +23690,13 @@ tl: { # no indentation
   version = "1.13";
 };
 "mathtools" = {
-  revision = 58856;
+  revision = 61937;
   stripPrefix = 0;
-  sha512.run = "ceb283012776179cdec04899c28cd55c76811d9ece89b3ea188ae47619296db94983f8b768dbd0cf0909c9e7da4b0f1b1bae7e3de4a96193249ed57fc987683a";
-  sha512.doc = "c4ae884edb6c26c832d920b8f04b31641359fcba68e208b9f0eafaf37ba3ab7f465a39869b9890d0b8431861062414be52d9233836ea60a6255731a17374bc9a";
-  sha512.source = "46a21e495a34fc85d59d7952f3089e59f28d5aaa85e980c49c6b61df49c6e7582d98c2da1092be80a2a6191f6186395ad8d7086d3638176933843a6592c2c8c2";
+  sha512.run = "cf7624715cd7b228f47a00e7084af3da423b91cb7dbe0f9e9a868fe0643a74d4cfa81eb3e3438076b06b8750d15b0e51b4a112a723d6f080ed772772f0cc0e87";
+  sha512.doc = "a5b1fa02e530d6198e9cbe858c225ea50d3c4a6ddd87edf1f065e6e04b5132a84f40c108daca6462fecec3608d222f2ff5e561ae2754ec33b9a3c7c1de0ff926";
+  sha512.source = "b8a90dccb339a97fd5297df7b2cf34aba8db482d73ac5a5a744659bc3823d374932822452d85ab50ca5db72c9f04c6f10bf5d2df72ea21f8d88b15b320d6ffd4";
   hasRunfiles = true;
-  version = "1.27";
+  version = "1.28a";
 };
 "matlab-prettifier" = {
   revision = 34323;
@@ -23443,13 +23716,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "mattens" = {
-  revision = 17582;
+  revision = 62327;
   stripPrefix = 0;
-  sha512.run = "9ae7b4d3e3386a5c9b94a30eafc02d00c9a6376ed356755ba283f7b9b43fc27d3b9dc2994d808360b77d23f39014e230434f404bcf6dc20bc974d9efae97a3dc";
-  sha512.doc = "d67ce30be2e20c5182460b8e567d955c41b364383acd350cba1c07b52576d78016a865148ed871ce7ef3f937eb045201e64e5d5f52fd5b173fe93cf84def2119";
-  sha512.source = "d199c5fe62172d98e7184a2689c3415944128251b75ee45e0629da5200cbb7b954cef1243a165ce2713582afcdac30dcd9f1445ffcaa18a69ece0aa79391d852";
+  sha512.run = "f30c542530ff73eaa62ca593e3a23dc09ee7aa0a7b40c2d7a1aea9e880fc6811cfc99f5451968fe5261dfebdd85571e49704becc097ba1a47bc7b80227f87f75";
+  sha512.doc = "cd161e82d2cd19ec241c403a46981a91df14e86d88e9537f35995e0be730c06797d18f543ff6f960f308bd728bcb965ec3570c8d58aa1a430d1bc529d132d430";
+  sha512.source = "b15acb5b7aff6e8829874a5e8159e84b0bde2653c3ebf48b5277ee3f99830011f0e7a61fdd38c02becbec24d809a07967b7fd5dd2371ad8a8d17949ee8901bca";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.3b";
 };
 "maybemath" = {
   revision = 15878;
@@ -23483,12 +23756,11 @@ tl: { # no indentation
   version = "0.5";
 };
 "mcf2graph" = {
-  revision = 61354;
+  revision = 62679;
   stripPrefix = 0;
-  sha512.run = "e702c5a9c9b3bc1362badeccf71657792ab6412a5291356779d4818e9578a4c90a658e338b804546bd773dd28e3524f0d4460e59fd772831e645211fa3ab8353";
-  sha512.doc = "a376540a7911f3be5d34e719afb6be0b15893d3ef078dc8584a9dccfd30ebbfe2f191dd9c4bbb9b47e5e45282b934cb3503c76fb757caa1b89622d2ad4dfea54";
-  hasRunfiles = true;
-  version = "4.76";
+  sha512.run = "30570fbfff668869e020fb0f15c694a176652e8c4aaf8679f0b491c4cb372160ea60f755631091520067f43da5a718db28ee045ea6385a82764a73ab097f2c0e";
+  sha512.doc = "da7af37e0965ccd7afe2d998972c3e59e749cda2f3e118f6b6fe4158e4927310cfb91c9abfd257b67b6b83438843e669f2e812ba617b152fea48ab1251089ad9";
+  version = "4.82";
 };
 "mcite" = {
   revision = 18173;
@@ -23568,13 +23840,13 @@ tl: { # no indentation
   version = "0.6";
 };
 "media9" = {
-  revision = 60796;
+  revision = 62787;
   stripPrefix = 0;
-  sha512.run = "b0e69e3309359acc85533724fe3bdaf3f5485de7000e51b412281fc1934d03f8050d7cf39cba1a4346cb5adda605cf24303a997aac30f308fba565aedd45b5d9";
-  sha512.doc = "0578ae43ab9eb94129cb24a9ed8986d8f4c16dbd5797fa2db302833992a49ebe62e8eef5be665ba93923a90c2a2615631b7e61c10b0de8f09ed97d7857eb63ca";
-  sha512.source = "5ee30f8b68aa323bfff2234d45798a713d843aad80146421d7d1fdd997014d23d037e67f73f8267e5b827cc76c20321983f6150de9ce9fe797cba8c25c68c1cd";
+  sha512.run = "51040a58924b9c6d827e348f9c52c84e85dd7fd0e046086e95ff43ded46f918ff2b54534a576f5e8399484e07da686fb3774f31593d36fe9089e39373e12c80b";
+  sha512.doc = "4f5bf3361c98041a550e6267217f6abd77655804628134edd502adb8ee7631135376d7c268707041c6a22e76ea7993123ca40317d3edaf9f752bc8afb3da0793";
+  sha512.source = "109631122ea1a30f2d178cc50aa24147ab2593c187e940cb110f6325470c8ec4e74c8a2465be4b921893c23f855590bfa3be4fc01bec679b4489f0a681ae5eb5";
   hasRunfiles = true;
-  version = "1.23";
+  version = "1.24";
 };
 "medstarbeamer" = {
   revision = 38828;
@@ -23615,13 +23887,13 @@ tl: { # no indentation
   version = "0.1";
 };
 "memoir" = {
-  revision = 59610;
+  revision = 62105;
   stripPrefix = 0;
-  sha512.run = "50709cfca673907333c9844d9199d8ebb7d17f22149bca7a8a5b986d0948c9af8577d4678a038eca4324d30c67917927d5410411d106ca6083143344cb0597b4";
-  sha512.doc = "90eec6d9a4d013f952196f7761f7a4b54784739bf4d847a415896240820c183bb22c5a69f25575da400d08d8b1e8cd9503df50a8a478ac9cabb2e618f0521b88";
-  sha512.source = "2a28c7038f21b71b29b91732e8872110f5ae5bd3d9f9b5efdf5cdf06b91f98de3305d23a71185a74f363c6e51c802576e8a6c3862cea54ed1096b380e2681c44";
+  sha512.run = "526dc62682d6a081cbcb5b3fe4fcdef784efe32e73455bf57d6f9c29fc0b70f0edcef47f74a6ec8c8702b27a24a0377090ba4ed321fdbea481d4d82d77d8f51c";
+  sha512.doc = "a96bf91f04d6c09c86b48be5e0797da15bef53661495b18e9873cf68ac1707b8d4ea44a8784e625bfc0ed8303d4c5433f02b48dbafac8582dd177ad8772c4f4e";
+  sha512.source = "28bf032e0fa69f28258f1085f9c0c36d563287881639e9f146410c75e12d7c00e8404dab16a73d6e58f85a531e7579fdb33f50606fb9e865b1bec9e8c29004e1";
   hasRunfiles = true;
-  version = "3.7p";
+  version = "3.7q";
 };
 "memoirchapterstyles" = {
   revision = 59766;
@@ -23713,13 +23985,22 @@ tl: { # no indentation
   sha512.doc = "d67a277eaa4e4783d9014ce5d8fe67f7c7cc17e04474150b1c5a9df13d894ef7ddecd599464a68aad95ac17393b1a3ed0bec6fcab5aee0b7c53c89c8674032fd";
   hasRunfiles = true;
 };
+"messagepassing" = {
+  revision = 62560;
+  stripPrefix = 0;
+  sha512.run = "6355051b7a66d648b9b1b06a93fe692ebe71d7b7f05aae919f20595e8a954768848ea6df7011b331037781d1ac85e4a298e5b8b95e08bcff07b443eb8eb57b8a";
+  sha512.doc = "3cc7047819ea35fba9366dea4aaef7cf38e7a6621d9911109fc916f09f09bbc72ee6dca151c0c93144ac431877641983dc20e5f1dc4118d4b54e3596b9cdf2b5";
+  sha512.source = "315f26c691eca595e61cfd1919ec8c1f6a5ed8687b2d39fd307983feec952fba2207a4c82ab5f8abd3bf3883e458e3368a2f569317966a0defd2740ac66cef60";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "metafont" = {
-  revision = 57972;
+  revision = 61719;
   deps."kpathsea" = tl."kpathsea";
   deps."modes" = tl."modes";
   hasFormats = true;
-  sha512.run = "7ea3271c2a9682ae5ee29a05a95e794f4a6dc5a6244a6c243e856aaa857310127d5593b0643d4ca53eae7feb9c205574f5ea216b7c3c0b731e7f98be99bf1588";
-  sha512.doc = "95e7221ac9e3438d4cae336296e7db855df9a7e49ebaaec5dfea294565824938f3d6544459cee9ecbf17312daad4e44c92a7a9a65269feebd2b819f226f305bc";
+  sha512.run = "1e767aecca37b0859f44a92da1dbfdafb807587d8bf30de513ab7fd230ce00ddf627431afe8d476cc51239dc21badee254a434cd3759c0e4640ce435c4a77baa";
+  sha512.doc = "425188cfbc28a9664514f680fe0f58950b78a34635ebf4890e53404d4f3236703a67dc569fdd069b3bcea54fedf65e26af3ad4af580a4f49f0f000b394ff9012";
   hasRunfiles = true;
   version = "2.71828182";
 };
@@ -23780,10 +24061,10 @@ tl: { # no indentation
   version = "0.91";
 };
 "metapost" = {
-  revision = 57972;
+  revision = 61719;
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "3a3e14f2be0ff7eefe322d4cbf961e62376ec1815a5aece95dc028ce6e75978d272ae04f972aa686ffc7eda27a9c1978f9d4201d33e143fa3cb657f57b260d47";
-  sha512.doc = "a0962cc5094703f577bff3c1b93592d93684f9b3b3045356db3461cbf52ba853608dd3af1432d42e55e2f13cf7ad98c41232f06556f42006c3498e23c87b7f82";
+  sha512.run = "f510fbadbe4b3bdbd0593d246346bd6db5704eff42ed65714e6cba4ff430d6da748509168da0c68a227275a8c9e334399405daca9060819856d7dc29b23517a5";
+  sha512.doc = "4a4de6a576d8879037a6618516ebb1e91704c15786441c236d2763678dbb9757b6e0ddbef42ea5b2f0ca4e228984f5f65d77007b340195c84a74e214164a3865";
   hasRunfiles = true;
 };
 "metapost-colorbrewer" = {
@@ -23955,9 +24236,9 @@ tl: { # no indentation
   version = "1.0a";
 };
 "mfware" = {
-  revision = 57972;
-  sha512.run = "77b679b6b81515451da4b6068b5e7ee793faf8bb209b3a68356aa131e0fcf27ffed912ee72a3bb8f347e7db2893115de5843351dcdcb6a3ac49a7e88eacacd56";
-  sha512.doc = "3655d6796318db16f26dfa3031a0339608cc9e6d7d18698628be0ff1cc9234c95d4914a2fd047d775b83bfb9fe3a2091e52e4a8b96dbca86ee901fce0e99fd5b";
+  revision = 61719;
+  sha512.run = "867f3ae8517503fd08f965c1c62d3d0e4afc84ece022ba7731c7fca4766780f03bc55896db337d68ba84dfefdeef31cbec37a2111484a002c2c782ebe685577e";
+  sha512.doc = "f90eb4376b40b52c8851d089f039a35be1f963813d640b55cc2961f41a6106f71a51b2e3afd95c5f8285d476997ebfc9c0cb49b86c88b652ac89fcbbe5f10414";
   hasRunfiles = true;
 };
 "mgltex" = {
@@ -23970,7 +24251,7 @@ tl: { # no indentation
   version = "4.2";
 };
 "mhchem" = {
-  revision = 52662;
+  revision = 61456;
   stripPrefix = 0;
   deps."amsmath" = tl."amsmath";
   deps."chemgreek" = tl."chemgreek";
@@ -23978,17 +24259,17 @@ tl: { # no indentation
   deps."l3kernel" = tl."l3kernel";
   deps."l3packages" = tl."l3packages";
   deps."tools" = tl."tools";
-  sha512.run = "32c9a82b2c4f6c2ca5a48d3f781206e4384df91a13d2ee8f7f5ad0ee5ff454e6c70c545eb576b4d8431cda581ed1f8ccd57dbd22d281d764c4872fef28c6626f";
-  sha512.doc = "5911b5548fa03abf787ca009b08553e3e575bb0d6601f36d878d7541e5e5cea0fcfceb5c3c69e6459f3aa6b791f8090bc244edb35c116112230bc5928b15f901";
+  sha512.run = "fffeb1ce083d8eb3da6543409e5cc735c9699f9145114c8325c336b93d2dab2a9976fc448c6324318407c3af888cb91cc7764fcf3bd24369e4940f00dda66429";
+  sha512.doc = "cd4c41a329489149b3f2bc79dd50e0517707681f452888394870459d10888095a0cbb7b7c18500f04264c6c85f791d9af9d799b1b4e221e991af32690e7405ba";
   hasRunfiles = true;
 };
 "mhequ" = {
-  revision = 38224;
+  revision = 62562;
   stripPrefix = 0;
-  sha512.run = "90f7dabe6486f6566ad6f835838ddf58a6568364ca2b5a82ea9cb96f283c5025c1f93fb50bac98405e8200de32b2c27e592e401a44fab691331fe4f77d27a202";
-  sha512.doc = "0d7a258a96604328231c1784f218ef3351f9ef02a0a9a9da42db36c89324ab5f74559f3ea91c12553ec5a39d14b3a5f282f61ab9e001994e22e266ce394df26c";
+  sha512.run = "b155a980e9cd46c19200307e9252e76f6843cfa6f078719bc587b8e2f6e0291aa5a1bd13327cef46826299de73b5ae95d83cd0434c4cdb51314b2dde487ec295";
+  sha512.doc = "27b99b591ccf7b4429a4f80a0f578e037a53781a3abf827d5cd057a04541d9af809987daca307a6ff2197fe7b55560d62845066c665c02a24a8d5235572b2e43";
   hasRunfiles = true;
-  version = "1.7";
+  version = "1.71";
 };
 "mi-solns" = {
   revision = 49651;
@@ -24009,13 +24290,13 @@ tl: { # no indentation
   version = "1.1";
 };
 "microtype" = {
-  revision = 61266;
+  revision = 62718;
   stripPrefix = 0;
-  sha512.run = "9750c821263b26667c9a235d2f167962fbdd55ab3719a8a5234be15a47381138120af4a3c40627a9a827e08cc7c3166290894ca17b5c76f6d952e34c663e3897";
-  sha512.doc = "c48e763db211d9405b4da181a9ea079cc03c64fc21e7b04b26dc5bd3e70bddf442a92774a75b324dc54044a7f1a300f4d5f93464a0aec3c5764a078bf15465ef";
-  sha512.source = "4362c81b57b88291cb8dd11c050a2da56fac0f372b5d0ef592468114ab8f1b6f8580d64db7128d9ce0486d4489afcda7cc1f12fa04e02c687059c02e15c50211";
+  sha512.run = "ab7077468c11482f81fc59a64fb07dadc0e562b8fbd6ddf326a91f27fd23c276fe42ebee39e0fbc702e4876ec4539da82cc0db1dcc6f2c9851885d2f66398672";
+  sha512.doc = "50c6f588f8382d5071e5789f3df1f84c9ee9af7833423e317b474f124f86676457cce6b85f9d06383864724e554c080e56db888170fe423c328123b00a299cc0";
+  sha512.source = "6f4873de50445ecc7ca9ef4ca53cfe77683eb5be44b4059003d7de51fb0f4c645e72f75da332f6d62343e235d7ee6c4101b7eb98061d15d3873f9cbaa8c7ce44";
   hasRunfiles = true;
-  version = "3.0b";
+  version = "3.0d";
 };
 "microtype-de" = {
   revision = 54080;
@@ -24065,11 +24346,11 @@ tl: { # no indentation
   version = "1.02";
 };
 "mindflow" = {
-  revision = 61338;
+  revision = 61843;
   stripPrefix = 0;
-  sha512.run = "6e71e0613bc99917ee6e9b2cdb0d28fa2171e9a0634cb1f79eeec21b10d589f1d8cb3905248f98ef6ae226c55af88124f070a350f68e3fedab6452ad82f85b46";
-  sha512.doc = "e8825858001fe04e667f7c5b6952b816b9ef4cc7443b599b366dc86176d7ce2408dbb39f25360e56546bcd62a3434b0166e498b4a92738ca75bfe2bbecff129b";
-  sha512.source = "247c5debf10715249e0d46b4e7330a587cc8c57ba5e3bc0d988dc93b6ebb08115f80a15fbaff1a53700a1efad4df21490a67d13b468d1e5dae16f4b562a2ce1a";
+  sha512.run = "2c54cb3fffdb037329ac7cc02a4821a16b0ad1b2a4f3415ec247ae1d48ad24e8b86338bd7b2ef8a004a70388b9468766e997c6fde896c92339a450768fba7b42";
+  sha512.doc = "fe12152f885fb65a466fc0aa2a1921a2bf3a252c036a86330700ccbf0717c256a49d7675f4e3fb2f45beabb5329123aae85bd6a0560fbf8c13bf290a7a46421b";
+  sha512.source = "84657523767c4e20b77cc2ad4fd860c33c5d9aa03720f4bc0cbcf1d37970c0b2f4e27259ab414e681cb049696897a3480fc8b7a9baf45052699b3b8d644f8479";
   hasRunfiles = true;
 };
 "minibox" = {
@@ -24100,58 +24381,58 @@ tl: { # no indentation
   version = "0.96";
 };
 "minim" = {
-  revision = 59536;
+  revision = 62420;
   stripPrefix = 0;
-  sha512.run = "f5a7c16a30f877c0a867b4fa79d00721e48ce1790eac136a474c74310867abacdc14cc5ff62fd6c3a8d856816edf8838796fab90eb4acd776b202422d92414f3";
-  sha512.doc = "b65c4714dafb1b5199e51cc294dd5a28f974e217b3d888eaf6b517cae8ecc0c8e39ee70052b46e51fe40e517c6cea423fc33828b99e189fd9b3f5014c71d7db4";
+  sha512.run = "0fdff4cc5f8c5690b0efdad9941b428ff66787b430b51e54486b66c80d0ed9e6c5a9eb1676fde65acb3c6cd107eb4a15f424ff35d879586b805bda3e423a7558";
+  sha512.doc = "c534b29c7c6e9bc7dd3693d9c9fc48ea97ee162c0a629c105a3649589833f5702164f0a324afcb9065729d499d87b529059fb66f3617133031fb82af3efaffce";
   hasRunfiles = true;
-  version = "2021-1.0";
+  version = "2022-1.1";
 };
 "minim-hatching" = {
-  revision = 59531;
+  revision = 62396;
   stripPrefix = 0;
-  sha512.run = "2ef4fdef86cc308d2202fc2a60a410679b6f4974f2770d7e7a348dab5f26059c652a65a7cac0832781f29b5eeb389d7a5ace0ebeedc65a5ba6efce03c705a48b";
-  sha512.doc = "2535f5d3958d099a8f1f8be8da0c871b1149346f700b2b9c5c6bab873facf659549491df979c805b7e328bbcacf0e3e679e39ebdab64f9395486099dd39507e3";
+  sha512.run = "2ff4d6cde5410a576f2f8bec2a185c71c51b5d20e78a9bb13f0b14fd0c99b3e9b7b68e958e8bd0cc98678f48e148ac13ef36057fc593447baa3afc3f31195b45";
+  sha512.doc = "1d5cd011b134fd264c612a0de07cd714723925d483256d764142925512f283c8677104d9ce4cb820a3d94c8ab46dcea839025eab227ea6661408672a52b6c6bf";
   hasRunfiles = true;
-  version = "2021-1.0";
+  version = "2022-1.1";
 };
 "minim-math" = {
-  revision = 59537;
+  revision = 62420;
   stripPrefix = 0;
-  sha512.run = "c9d48b920c26b20195e4afd1a8d7f74a3862cf32ded6be1739ea2733ad3e2c1d727271a8caca5dbe7992438ac0f43289f50272615ca63f34f585f730467303c6";
-  sha512.doc = "3940f8a9fd61b4c9901f8c69f3bf6303e40ae805aca619f24be14a187d969a55e8a6c73de9c998f987c3375c3f453f4fa0453a9d316be7a1d85a2a329c6cf28e";
+  sha512.run = "b9adc3bff2da4e710dee5277a266049e0a67567d2f6377cd0d4d527f1d1e98aadae6ac61a75367fb52532a43ca34eb040d7ccd60e29c95b42d0d35134578c017";
+  sha512.doc = "90e50645986da31fdad5a881b410ade79b9723c7f95a8e2ea44c77f624e8322a1acacac9845cb1319d0dbbcf4d1b41277ea04f145a0ca9a17f64843609bd8a81";
   hasRunfiles = true;
-  version = "2021-1.0";
+  version = "2022-1.1";
 };
 "minim-mp" = {
-  revision = 59538;
+  revision = 62420;
   stripPrefix = 0;
-  sha512.run = "a98b4db3e303fb993852b92901937e0f8031269e5ce51651fbd59b787574504bc8948522243e3525efe3eae68c2fc00030763dca855b605575c722d5ca89aecc";
-  sha512.doc = "a1398b441bb27a3a7e340edd152dffaca406fb9b4151523e64132f8a13c44bbdec22e3aba22208dc60a2d209c0337824cc54ed4f32910ee91d709428dfc029d4";
+  sha512.run = "0c925b269262d9b76e9fc502c39a8b4245a3b711ac17e3b76b1a604a79c9b8e0ac0d2a48d6e9af61a76de85dc9c4e32ebe053d83d93b1fb9ebb83a52a224904f";
+  sha512.doc = "5744ba4c705d94e44a7e29b9d4077f71493dd2a356a5d031b2208bbb0ab0ce91a2b7988532a3c1eb664d319bd4c9d823d69cc87e97caa83623f0970dade31c49";
   hasRunfiles = true;
-  version = "2021-1.0";
+  version = "2022-1.1";
 };
 "minim-pdf" = {
-  revision = 59539;
+  revision = 62420;
   stripPrefix = 0;
-  sha512.run = "e45568da0fff7ccb2024cc791cf48303d1368946227cab47474790de647a4215a55f898d9c9c6e402ab1693cc211a77f8d9e3f637ded806ea587fbeccac84ce6";
-  sha512.doc = "184c5224f703a7f2713e19a675855921a0effe47aa4bb57b696f232539eab8fb1de35eb8da51f49f9e74b0c903d8f63879f3405087efffe107f500d858a72464";
+  sha512.run = "518996918c9dc5655192a4e3c257008d8927e6a2fc3659fd5c42c2ac4a4478f05c54568299f3bc2e141c14343d7a964310f779df2810851c64ccbcf08b68a606";
+  sha512.doc = "c7a38db79db2e7986b54a0e1324d6462424360e419fe6610504ace970b6a7fccf97027ef64e558038d5321c3e6351ac4a90aa6dc483c8e925729d29c6c2bb0d8";
   hasRunfiles = true;
-  version = "2021-1.0";
+  version = "2022-1.1";
 };
 "minim-xmp" = {
-  revision = 59553;
+  revision = 62420;
   stripPrefix = 0;
-  sha512.run = "24ddab94e49752a686822aa10035f93da45b6fbd1612411602238608769bf9675d19aff2de49e74ecfebc36474fc20a2a0120c43cb93a2f8da21b4e0d4a1e6ad";
-  sha512.doc = "2f33c23fd359ccfafe7e4679ad6a55bf97a6464f565ce6ef893fa5b0e1272ec2bc4b39baa4fb6cc20c7d19400ecdb1ee3d6ff0f5b6bd6472f32a9c91bfd78adc";
+  sha512.run = "68a4b2fe53aa194c9f74708382ff27f353128b88830feddf2d431befaf6a85be0e425bc9880002a0e5c58181b7182fd46fedb27de19513404a7c221dfd6901a5";
+  sha512.doc = "b1abe6c747b479ed7a4b5f188eff2e748f1aea3c114c709d3f11232af9b9ce1f526f51e196bfcd8925027c49421dd1e305b7b099e00cd8de038fbbbfb5927597";
   hasRunfiles = true;
-  version = "2021-1.0";
+  version = "2022-1.1";
 };
 "minimalist" = {
-  revision = 61338;
+  revision = 62834;
   stripPrefix = 0;
-  sha512.run = "1b18601e73156f176f983641d8fc638e5601cc4c167a31caeaccd9d4107727f501bc74444c6720d159a4e55206d1784149f4ce68e89a6fe9dfaabf860132fbed";
-  sha512.doc = "bbfbc5199250d06b567d4e47a2b186368db223831bc8c6d64847f2347c40033862ba4415bf5728333951de642508df4e80d8e6b20844238b20214848da34a1ed";
+  sha512.run = "4edc0a37d9f56b6c20bbef0bdcb8049d985a18abdb5dd713a6259dcc9e157d2810c2a272778c037062605b6e522c07494eed11a2a931729b4e2bc1857968a0b6";
+  sha512.doc = "20a529fba559aea4db0a32d566899de050aedf1ba81237caac4011d2e23845073474539a9c71b2fc43ad4b1b4086cf1ddebd6df6f9575386d842542aab094532";
   hasRunfiles = true;
 };
 "minipage-marginpar" = {
@@ -24171,10 +24452,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "minitoc" = {
-  revision = 48196;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "c5af65f4c1d7c19ac5bca84a6a8b465a6d00805164e0224ad3adfa473dbff8604d1ec39958568b3ab611364bf09aa671d277a7458595eac130b121b0972ee32c";
-  sha512.doc = "c193a77791f3304b09ae58faf19490bd68bf129c8ec435c378d3ebce6ecb47c284ab1e1412d10e43dd2e4d5ef60a9fc26088d8c35054f6099fa2675076adb6ce";
+  sha512.run = "e2d2503ac4888198c56e9007b20f489a04e31fcd29c946c5504b7d193506fb58e2577c6085be5d9d17c6f5b21ff77208810385c73688468f3988f0b651fb81a4";
+  sha512.doc = "15955f17dfe2916081156e1464299b598f1bba780518516f6bee7da55cd1c45e2fc90c27402ba9d8ab4a994ba5ea1675ca9593699792a08407cda5b3a2230908";
   hasRunfiles = true;
   version = "62";
 };
@@ -24221,10 +24502,10 @@ tl: { # no indentation
   version = "1.8";
 };
 "missaali" = {
-  revision = 58771;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "a077053382e5ea428b274239732f8bac2a4b943e19d40110df76d19499768e12f47c37f7b9d132cbe2023821fe82d4667b414b9114cdfb23df9534bdab2b5214";
-  sha512.doc = "2ba1713de8741c0c01eac1e35ebfbf544baeb2e92ffc587960c969e0ca01a141fcf983e99796e239cfe639ab4ab686875393f12649f0528024c0779a8f549893";
+  sha512.run = "552f53302060b3f4c764a669feea4fe1dbadfa3abf53c226f9fde2d0e876bc8992ff2dbd4be6cd3e261ab0e01ed4d1ad2b5a38c2cfb780c4fc099a79ae52b46f";
+  sha512.doc = "c80c201b7d3fa5808bc337415e86fe7e009ceccaf8020e587fae72f7024452f7c02b65ce48b2e8543c9796e8b3ea6431e0b8a5f1dc25b5adbd6f2ae7146e75a4";
   hasRunfiles = true;
   version = "2.0";
 };
@@ -24301,7 +24582,7 @@ tl: { # no indentation
   version = "1.2";
 };
 "mltex" = {
-  revision = 57186;
+  revision = 62145;
   deps."atbegshi" = tl."atbegshi";
   deps."atveryend" = tl."atveryend";
   deps."babel" = tl."babel";
@@ -24322,8 +24603,8 @@ tl: { # no indentation
   deps."tex-ini-files" = tl."tex-ini-files";
   deps."unicode-data" = tl."unicode-data";
   hasFormats = true;
-  sha512.run = "0b3fe440055cc4c943fe8cdee93997718a3625782c5b2962cb514011f2038ad14518f7cffc55dee41f0a57f7401b8f2f493631a2b9cbeb806ae75ae80269f3b5";
-  sha512.doc = "a3b962871878f3f34c2d419fa9ae1c27518f3901212796d32649b5524f49fa103a71f46403726b9568ac358ab98afe7b23356a0f2d2d8592c0b84cfc186d5f53";
+  sha512.run = "e04f33b83474e58c4725abbba21ae56659920ad2929faba7f25b47befeeb7e207e36888e1dbf7260ecc95c126e1732f6f5dced3d277db7c3889f2b08590b04dc";
+  sha512.doc = "e9d5a1cfdc6183bf99ef369b447c73e9ec5926952a80a75708db4fc6343ffc1a10d599276c13f295005f7c8c56e2e35ad9edc9dee3ee06928fa8c7b267d82bbf";
   hasRunfiles = true;
   version = "2.2";
 };
@@ -24379,7 +24660,7 @@ tl: { # no indentation
   version = "1.0.1";
 };
 "moderncv" = {
-  revision = 61324;
+  revision = 62128;
   stripPrefix = 0;
   deps."etoolbox" = tl."etoolbox";
   deps."fancyhdr" = tl."fancyhdr";
@@ -24391,10 +24672,10 @@ tl: { # no indentation
   deps."tools" = tl."tools";
   deps."url" = tl."url";
   deps."xcolor" = tl."xcolor";
-  sha512.run = "3ade3aa7bb82b39e63d83f1827fc3b09f324d5c28e07e4d97b2e5ede3c2b6a48b2daa913885678dc35789742e7b6c45081bad2cd54c97c50ce72c08a1b28a72c";
-  sha512.doc = "47dc6060ae81ec7da7d1107dd41c2d3fde1d7248739975b07ef51a64bdc049add06b02d42997bd8efc3645a2281416f8f37a614cf010c0df4ef42bfdff944a24";
+  sha512.run = "988cc5f400af4ecdfc0730a63d7f2a13fde81b9120f198622a5e2d145ca94e1d5bc952e261ef2f4cacefda8a23626119975fd1e00b44f4a66b1fbb7f4c011d40";
+  sha512.doc = "9527fa84fffc4eb2ac92dab59cf0e5ae87a6f5befd4ed05acdd85cc7050dcc669f8b814ef928e69bb1c1e8bb3bd774aca1f85acf6b750a1c9555a3165eba0281";
   hasRunfiles = true;
-  version = "2.3.0";
+  version = "2.3.1";
 };
 "modernposter" = {
   revision = 47269;
@@ -24414,10 +24695,10 @@ tl: { # no indentation
   version = "0.11";
 };
 "modes" = {
-  revision = 56303;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "09318fcdb58e5175882fd7a2750ae71322d0be227a2131e05c8b9d20879260c9ac906a735582c1fc8229f3ad4e7df7b71d6a2a6ba9b82c653463947d59f9116f";
-  sha512.doc = "dd7d78b8b355d7d056d288c0026d83115878abf91ceb183b48a3505620f0be4c8ef04ed0259a8f5a079c6191f33fc1331e9a3b1660b9312d165914b9176524e8";
+  sha512.run = "86931543910145093d3141fd40512ef6c1a99901a757d178d8ba592761c25638383f9511f4937af657c414642341c05ad6278d871e5d397117e03cf86706a9ac";
+  sha512.doc = "4ba301dce255d22c23cd732e6c1b1e887a96918d594a06f8386563b0ca46fce015c0cdf17aecb2fb13211360a7db24843ec99664b048a53ed0ac76a1a4188c76";
   hasRunfiles = true;
   version = "4.2";
 };
@@ -24648,11 +24929,11 @@ tl: { # no indentation
   version = "1.5";
 };
 "mptopdf" = {
-  revision = 57347;
+  revision = 61520;
   deps."plain" = tl."plain";
   hasFormats = true;
-  sha512.run = "69181f1facef413b4e2317180f8dba551fe40bb06e6af8d9378319d8cd3fdec985241e632f19888f32b70f16a40d11c66581f7e3c409bc38b7cfad3733cba2fd";
-  sha512.doc = "f0cbd95500324a6b5ca835d62065c83028241e0ce5fa35a313458dc30e6726a21a6d1c267669627061d23f2dd7d7397f471581021e03c817c281cb6efa1d2769";
+  sha512.run = "3e5bb2983ea7329e4d3a48a29a5902d0245b0bd07f6cc3d272358701bd7df8bef808cd23810a70ab60209dea2d8788624e98497c6c04c917a59874a84ed94a30";
+  sha512.doc = "7bb6c2bc9dd0bceddb4b5aaa8d7143c40fb41baac2065cfbaf14642acb33bb7f05703d7b8469da0e92453ec10f0b8252d00b05588d7846835d622be097a83f8d";
   hasRunfiles = true;
 };
 "mptrees" = {
@@ -24696,12 +24977,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "msu-thesis" = {
-  revision = 59613;
+  revision = 62408;
   stripPrefix = 0;
-  sha512.run = "531ac0d958cb9c8912c630f7ca3e74964b91681b27c202e37c4dc80e862758123d41b4a8872b11d372729e9967739fa4ba938418dade78ce27ae7350f1580f88";
-  sha512.doc = "844c69a803874331252cdb4a83a7df8eec1d9d1573bcb1d45161ad254be3274f7ba0e4da330c31ce05ee4818b5eac32a4ffea5555f1befc1030f114a9b653886";
+  sha512.run = "df550aea08a92c4e5bf265334db2b0a7e44a5b1127db9b178959b2de0e523517ed236421a753f59c4c4ba1b77181d5343b3aa32e5eef89e9cd369173f28dd822";
+  sha512.doc = "f5bfff2561bfadde943debb5fd27131879ea9867b0dd40e13f694236d67ac33105dcb39ea432d9c82716c0326ba6fcb4a13a53cbe4757b5060b1d98e1ea62aeb";
   hasRunfiles = true;
-  version = "3.0";
+  version = "3.1";
 };
 "mtgreek" = {
   revision = 17967;
@@ -24730,13 +25011,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "muling" = {
-  revision = 56991;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "d5b89d93bb67e46618a30e5bdbc988a6849a7cbfee84f4486cf4557e750ae53f64aad188f74b1a96b1dfbaddfaea3a6a0380bd955ce79ebeb095fe1a54194e5a";
-  sha512.doc = "ce1e2ac1e50e164bba6ff3911fe9ecb8f85ff2930f21f21e6721e153ffdc9c81798857cfe73c62f783f8909a644efd9f5a048565e054b0543973c4625d96976f";
-  sha512.source = "877f34b070dd1549f649ce99a322f7221c9dcdaae5aa80ab36c6e340285ac9ebea09e9496ec87e6d881608f30d9d7b24faff6f8671f57a2b18ff96a127a30311";
+  sha512.run = "2f6521255e8e0ac777130f0e108ccacb5a81f74264e6d7b830514e292f9733ec47dac9e3a618143fd9dee224ca60ebcf85a74d4c14104cb21e65d2b4d4c59908";
+  sha512.doc = "8ef724f07c630e1fe6511d0b8846f4729084fab1ece44489b0fa4cb40dc506cb2f666bc84b9a020103bfb98206d3c3f44ac78203a86d160f1b4e7f55e2f2f77d";
+  sha512.source = "9aa6c144a54359d48e9eb7f0425e88f7e790ecb2c6342ee86b92d43608b3ee595f1f2b17c3e2ec66f2f19e921004ba5068c8fa45fef598c0cda51336d608f89b";
   hasRunfiles = true;
-  version = "0.2";
+  version = "0.3";
 };
 "multenum" = {
   revision = 21775;
@@ -25163,9 +25444,9 @@ tl: { # no indentation
   version = "1.0.0";
 };
 "ncntrsbk" = {
-  revision = 31835;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "e023d0a407f666de1415728a90014041feb5d04ceb1007e8fc293452ecef1b9bdbd014adedb9e25993e57c0196632b1413ec19893f4c37c26a8e8e42a20a9de9";
+  sha512.run = "cafa6f6ba366c07bfa0fe37ae415cf924ca54249288a52726eed52b9c8147925b6ac4a85fcb69a19596944ed8585cab4ce8fc2710a7c32998b360ea2ab143d56";
   hasRunfiles = true;
 };
 "nddiss" = {
@@ -25217,10 +25498,10 @@ tl: { # no indentation
   version = "1.03";
 };
 "newcastle-bst" = {
-  revision = 59904;
+  revision = 62509;
   stripPrefix = 0;
-  sha512.run = "183dfc00f4b2a1bf0268ffa9387331c689c53cac297be84b7d93840ea645acb57c311e5a10e13a25843c16aed61104b5114f4fa9c2acc9a7e6b834327a312d5a";
-  sha512.doc = "45929373fce2cef1131a9af22b09f5b60f47a40fa90a47fe09c2c9dc51ce73b9c3a6bd3f979562ae418d53f0a442dc3574d255039e5f1f169acb426d8a64abb2";
+  sha512.run = "3697907bafeff8c7612f5dc8acbf6a5d13f6c522f4160b5c6d427188d5d4f738eee48b90dd87b4467401e8bd191191af373b9bdf732a42b8d88d3506201dabe5";
+  sha512.doc = "c2bda7a311b2273f98ca67b40e44a96db028890c1e716687d00b62a700fff81f80a3ed10bd58f80e4bf772371cdc1751d4a115a7ff14dd4555b290db7554c347";
   hasRunfiles = true;
   version = "1.1";
 };
@@ -25285,12 +25566,12 @@ tl: { # no indentation
   version = "0.51";
 };
 "newpx" = {
-  revision = 61404;
+  revision = 61806;
   stripPrefix = 0;
-  sha512.run = "8e5391da65c0f37b3f33d54b03896aa3b8740edace54e1233d36109819c1a2ca6a5a32882524a44c5f46013da55bce9b5f1383277ee65d5382d0eb9f59bd04ac";
-  sha512.doc = "de3d0142a43eeb416c2694a81a3c3d75fbb27925447598bddd9a569f330c13e7718a7f77616c3d5cb979ac2aaf208784bc518656a4466647f10233f7043591f4";
+  sha512.run = "19a2ae1d832d48a082d3cc693914ff93475a3d4526347fa49dd35a7afa56c65f98ff54ca49f9f1674732922e36bc6e66d8b368e0bc924270af9b4ffe04347cfa";
+  sha512.doc = "ed38d727e5d8af16730df66860fbf2dc0701d9ef850fd2d77dbeaaebb38e826fd435f9a78e3771f7498c2fdce25efaf59909340e330da84ae831b880ee7393b3";
   hasRunfiles = true;
-  version = "1.503";
+  version = "1.505";
 };
 "newsletr" = {
   revision = 15878;
@@ -25309,13 +25590,13 @@ tl: { # no indentation
   version = "1.0";
 };
 "newtx" = {
-  revision = 61408;
+  revision = 62370;
   stripPrefix = 0;
   deps."kastrup" = tl."kastrup";
-  sha512.run = "b4a0df083e9d490bae747833ad505d1f5374dadcbbba63ca9a088104762f0096996b6b5b58cb30f74adfe2ec7ebb40d6fe7ea184389df3faca3fe55a8dd36f2e";
-  sha512.doc = "e6616264b98e0ef79f1df3beb0697387262831a4f3fd23dfeede9b8f66cda0c425b61ea50fc788609ce08e0301a43588cfc43047b980ba5d2598e60a9ca67fc3";
+  sha512.run = "422176ee7322b2c98064aa10d367f812b240f2d9d440bc1ef1339b25429bfc398093974ba511e9e6cbec01f13e8841ad6a6b7372b5199b4b1c2b367d11f657d5";
+  sha512.doc = "db0725c233d0f135b434cf8690c87d9b433c52e80aca8e0f62b873438028d8793660e934f97b255ffa67cff75751a9635487ef3d4a086a0bbcdc8746bccfb2f4";
   hasRunfiles = true;
-  version = "1.7";
+  version = "1.71";
 };
 "newtxsf" = {
   revision = 59227;
@@ -25400,13 +25681,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "nicematrix" = {
-  revision = 61142;
+  revision = 62659;
   stripPrefix = 0;
-  sha512.run = "0fff589d39fcf7745b5c32829b2a5c0db8737f261fb6f0e3f5e037fb101312eb45e7ea62c63d3bbf4a036430593182590d27822d1ed9cc27699c63191aefb04f";
-  sha512.doc = "ba4f5d753b409e79e9d518c8597e9969557dd22a8c4942c4567c371df311b026e566337ef227ee7a32b9f8b82711d199582d1284a03ba057dc0e11c017485c09";
-  sha512.source = "8bcee0caae05c1a85143f2d7c7d9b7480c22b1cad8c2d5b87546232891f05da84022c56e17bbb6e45e67fde59ae1ce39a5340e3a4530828203b4b78b93d6df69";
+  sha512.run = "59c91ef3e70e190cd6a9809ac53c798f43133de1978c5d614e26934b12ba20ca03259b5936da70fca31d8630ba377dd8a805af57b4be625ae2798e7dc4157713";
+  sha512.doc = "2428ebd792d4b63f744ff238dcaa6a331d23762514f3ae9099cdb6e6c777eeac2f7a2317f49e4e38287846b344c1c545057a32304b204c230f94fbd6be15b8ed";
+  sha512.source = "6c53b7e7fd5753ab52f40345802e81637e1d46c16f2bcb83f08750772cc739454318df450cc7cc7fa48e50356d9869dbe7e12b7c77a408ba4220be544aac9004";
   hasRunfiles = true;
-  version = "6.4";
+  version = "6.8";
 };
 "nicetext" = {
   revision = 38914;
@@ -25458,12 +25739,12 @@ tl: { # no indentation
   version = "1.1";
 };
 "ninecolors" = {
-  revision = 59330;
+  revision = 62006;
   stripPrefix = 0;
-  sha512.run = "276b119a025ed809dd17a1f72ff19c341247e5efdcd06d4723b8e489139223cd937453d52231e9bb4a9facb43bbb19135f34030f502d9bf63ab57f3d44b915ff";
-  sha512.doc = "b22ac4ee6e32f33b93a2776bf43fb7a1415b5e681de83307e3f793eb516742fed3eec180b98992bce5e2fbe9552074c70109fd5217d6ab10f0abe22064df52b5";
+  sha512.run = "f755768830e02aa434432ab4e879646ad43d092f50b7e38e39009c98327c5ddcd23d0b5a7ee8d8afad30e69b6219bb871a14dc7b274ae11a60aec33df2c94ae6";
+  sha512.doc = "0550d7b4a8b7040541edf156c5b82bf61d350a21c732c4ef324c58289eda288b7e30edd1f36d8650d453a590bdeb97b61d0c782f3d945b033b0fb746b6c802f7";
   hasRunfiles = true;
-  version = "2021C";
+  version = "2022D";
 };
 "njurepo" = {
   revision = 50492;
@@ -25474,23 +25755,32 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.1.2";
 };
+"njustthesis" = {
+  revision = 62452;
+  stripPrefix = 0;
+  sha512.run = "37f06d8e92e19da4005ee639ab66bf8c36d61ac06e203d3b21d0e402aee2edb7115c40c26dcd9b358e0a9d5f36034ad435334b4ec790e3fd54b2e0667b7351c7";
+  sha512.doc = "7e4020892be4abcd5ffd003dbaed06d811b9813a6f2907c97c5fc2998b1b403dca71f72f1dc23d3452a61c53c2b3d33a2365070559d7257ca6447dca888c20a9";
+  sha512.source = "095fce367bd02654ad9f47253b345cd8bc830a29633cc97636f4bdca2967aeef17587603407367300216b4567299a3cd0ff48154a7cfc03616a4499e0c5ef072";
+  hasRunfiles = true;
+  version = "0.0.1";
+};
 "njuthesis" = {
-  revision = 61293;
+  revision = 62814;
   stripPrefix = 0;
-  sha512.run = "599bce07768fd6cf8a3d7ac110b30ad5c5bb4dbef0a9b08e692fd98b1c9b8d116080e8cf30b6bd240ff9e1541fe62837309449b9644540bdc6ec910d717c3c76";
-  sha512.doc = "ee2c429baa8429b8f1012b1f61a88404dc593d8e1a5a21ffb7063b3667cad24adf270ba0d5938edfcefcd6b2e4423bcb19c65cacb3aa0aaaa805c91ea9e3f3ff";
-  sha512.source = "9a5a398756fce1051dbd3b55a61191a31a5d4bcaf953423da8ba5d7d2aa11a561ea2f6aa1ae833399775ae242de3b3cf182062ec7716a6eb3e3d0af06e646769";
+  sha512.run = "cac0709c3e7cd09e4ac6243c78f4adcd19db585ca5e3b6a96aaed048bbadb1b22b073e1be2a4766e080d4faabba0fc05d542b93baf8140909b915fad30958d7b";
+  sha512.doc = "e5717261f583b679f14f863e3599dbbb38b8c72b268cb9688c99defba72ce04256f248f9eb20bd48b4eeedbf5cdc228318eda74d8bf83a5901018297ab5fe67e";
+  sha512.source = "2bab3b29b93038957ffb3d04db795cc6d51e31a4719661ea859de10c54a343956bb026fbbb8d034a42143de468958ff08e0589b5695a874a1f6d8734153b64b1";
   hasRunfiles = true;
-  version = "0.13.0";
+  version = "0.16.0";
 };
 "njuvisual" = {
-  revision = 61179;
+  revision = 61555;
   stripPrefix = 0;
-  sha512.run = "385d9dc8153ec75189159eeefd3bb6721cb21c974b9c13b6c622f62683167b18e63c52b1a407189057f0416238ce8d5e303459e51ae2926c21e925cae71d30c3";
-  sha512.doc = "0c4528d1f674b1af677c0d755a59c65f74509efe4a0dcc13e7f71476287d4a42864a7a64574502d44a26107ba3356524f909c9f393bf5def4e0ac1384c72b3a2";
-  sha512.source = "137eab9b1c65d7db91a35555bf99cfd7d0ace4e66ff60fe47e3ce083036edc4d67f3ccc26dff8df5f086a277cb62eee39e184be17c7552be902f69ad34ca75e2";
+  sha512.run = "46a958d59cfb73728f30123dd4a2eb046ab59de57ec8144adef14e6bc375c45c1e71effed5b179b88bc05142ae3ab9e0210cd890f3b71d3b23a53e828dae93e9";
+  sha512.doc = "384ea71dc4ce25c0ccdafb820136f6af2093525e90ce158bf01709335a033e6d05705a3042db1ecb437863b5ef0ffd8042f3cf1b7d6cb33e7e3e30014da28800";
+  sha512.source = "5078f3abff181a14941846fb4fb6fe1b130e8708ee5a03111b8ccd55158101bb0a27a78ddab36c914a5449e8d467ff453a24579dba28beec498536cea7c9bfc2";
   hasRunfiles = true;
-  version = "0.1.3";
+  version = "0.2.1";
 };
 "nkarta" = {
   revision = 16437;
@@ -25905,22 +26195,22 @@ tl: { # no indentation
   version = "0.0.1";
 };
 "nwafuthesis" = {
-  revision = 60187;
+  revision = 62873;
   stripPrefix = 0;
-  sha512.run = "56f9b8f7b3075588b92c51ad680f4be80599b31ac8a5a1b9da08a65ba84c143c2d028c7a83b45915464906c2184da82ccaf3c9c0d9889164ede27626bbda8818";
-  sha512.doc = "10c9fab653bedb469c1dad9a554276da52936240a48581a28035e867d76675bd9dd3230afa8d082780c8511efd3a0c0a18809e4d2528c7c7472d4cdcfab86324";
-  sha512.source = "b5393c09d910126e8d1b9bccee745848157a2f55fb3d9c725abb3a1311002a3343f6dc5aae6b346909beb485f55b2c7becb38f53a9d26c43066928edfd4a53b2";
+  sha512.run = "40d3b0d5f097012bdb2813959622ec6855aad491e19aaf56c87fcc9807c3ff3b012a2349753f47f58bcbdc5aa7ed530d6e4ccd1ad0274123537267f09e96f7d0";
+  sha512.doc = "87ad312f741700cfa24dd215500bf61202318a850a881676639bc7f5539f009296688fcd33e746345cd112ed8bce295e93b379667895409c424ed21e3ad4725b";
+  sha512.source = "218cea39d0125dd005e07977eef9db53f30440fb86e357c16898ec1422071847453065df1e3a08c76028737b24a61dab8e2967dbea989cddee9ab3146b3ac08e";
   hasRunfiles = true;
-  version = "1.01";
+  version = "1.10";
 };
 "nwejm" = {
-  revision = 60753;
+  revision = 62129;
   stripPrefix = 0;
-  sha512.run = "6e03bc619a93737c3b83e3a32b60abf58d5f3bb155a3a8c9d4096f036c06ab4c3511ae085724ef509bb70183f9104c71a8b73d43f29d89ded2ebe870b6b028c9";
-  sha512.doc = "e19ac3f06b35d2bedc00218daa4d2068ddd0e86a57e163f0db37a74a11447de223854a15815039d9a2cec4a63297a7b4ba68836650c1c2e62076bc71f33b8b44";
-  sha512.source = "1c79fa4fa12265d361fc95aae30b300d4a2ab37db12278f16e39466a6e42c43ea5866a85198dc722bac5b491bf743b65f7e9bf23e0a3e8bfbb4f267ddae66d8e";
+  sha512.run = "5b349e509088d67543f3cd133b96cc475166328853a05429a368e0be6a96206a09c44ecf7ee4cd7de6a35cf94de3a36ce70b4770a8dd8ee1d6c2e574a95138fe";
+  sha512.doc = "8ecc8f7e439b8e5adf7d34dc2e2adf40959db22eaada9c9ecbcfed6c0251ad9f26f614a6150a35c4eb4407bb3715aa7078d71c66bdb808e117874582b5c469e3";
+  sha512.source = "89b999e52b400ec5ada8316ca47875e692813b844ae7f0bde2b260354caa8235a2e26a96e2ffdff6adf8cbfacd1bb1d5f504fc902d58467bfaa9255a99c79066";
   hasRunfiles = true;
-  version = "1.0.2";
+  version = "1.0.4";
 };
 "oberdiek" = {
   revision = 61066;
@@ -25938,11 +26228,11 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "objectz" = {
-  revision = 19389;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "e98bb9208838b8e55d9fe793af3eb6439aff2809067878051a9849cf483a42e612ca7c9a43a86520e582161b1a9f575e4e7a5f4bf7bbcabbbbdb314595c58fd7";
-  sha512.doc = "afcb2681f0983c345ddcf4cd484d337461a53af27f6d5467b12a5368f6ce3974b9d54cdd77365995e7268895f4f0edbb814a4f4e61e4cee947f6ea49c8381d85";
-  sha512.source = "c2bd789d5acb1174aeb50cd3eace6ab67d0074adcdb8c00d6ec0581be096a931a5f9a666630e96abd30dda31a418eb7b9e6e0f06c3d93eecbc7a287c4a7e61b3";
+  sha512.run = "15aab03ef1773a4ec72a3dea3fe036cca671abd3e55721d69201c43902d9655a9b71b6b109c13824015a9db740cd8e463016f59dd84a22a3648c14cf7e95f2cb";
+  sha512.doc = "b1918ee04b6b1755b947d12485abd250ec91ce4dfe52403631e00b6c3dac88db2c3c3801912c952d26a00b06d8dbf7a9d88586ab7aa348aa0b2ec7cac1e4fb2d";
+  sha512.source = "77332f847ae68cfcbe61b1568e7079a9d2c5a51012c0de3bbad166df71f3cc2af61317d886e4092192e647ad2ac13c7f768b9397770587910ef63a89acff117e";
   hasRunfiles = true;
 };
 "obnov" = {
@@ -26166,7 +26456,7 @@ tl: { # no indentation
   version = "1.0";
 };
 "optex" = {
-  revision = 60332;
+  revision = 62641;
   deps."amsfonts" = tl."amsfonts";
   deps."cm" = tl."cm";
   deps."ec" = tl."ec";
@@ -26176,10 +26466,10 @@ tl: { # no indentation
   deps."rsfs" = tl."rsfs";
   deps."unicode-data" = tl."unicode-data";
   hasFormats = true;
-  sha512.run = "96f6fd5ed9156cc06987d2145443f020cb42f24b183e9798623b2fea40843a1e7cfc9f09f5682623319177c8839303d8f514e2a6932d8d603e4b4155633e3056";
-  sha512.doc = "28a8cae2c7ad190c1f512131b1cabec89881188a91b2b5a8d652ec7a72de544e4f256b29c6f6ea1376e2943f04f3080cac66cdf2001a831e0c2f04971410f654";
+  sha512.run = "2676e89351da6b1154e323ad85a4c559bafed1418f41a554229d40cf15cecbf523d161f7d50f595801843ff0c86989474d5076a531fe1a1e32eccfb0b781b92c";
+  sha512.doc = "cf0a49524d4934037444c7b842582125fda9fabc7dfef9afc2c43b1ed12d28b26a55ca2d742812ae029e14bb021cef9e4a9eb23d6fcdc6cbaed1a97e29590316";
   hasRunfiles = true;
-  version = "1.04";
+  version = "1.06";
 };
 "optexcount" = {
   revision = 59817;
@@ -26299,10 +26589,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "oup-authoring-template" = {
-  revision = 58661;
+  revision = 62509;
   stripPrefix = 0;
-  sha512.run = "138fe4a15f05a1c5b952febf0af211d1b3d13d202ce3cef953b770a1779464da6f7fb1cdbe77ac0f617cb1a1eeed4cde09288fe61cabea439570fc2a0a254df9";
-  sha512.doc = "35c7e4e4597924adda46994a50e9e55f8af9f440899bb8ed3c85549d94f96cfc601436eebe0db730dab68762957121e1ddef094f60ed7eee041abbf80a841aad";
+  sha512.run = "a626a91ad26049236e6b9e69baa274cb99884fda7274921bf7488f71e4e4d138a8110bd551791dab57afa21c3640fa0ada144e0de3cf56865edf13375ad353a9";
+  sha512.doc = "bb261dc4a4cf0b7f65add70d2738a391f81424919fba485b50ce91f01a2614ca6e9a433c02105766180111fbbafe8e4f165942b013b8ebbfd6e35d3dac7af1cb";
   hasRunfiles = true;
   version = "1.0";
 };
@@ -26448,9 +26738,9 @@ tl: { # no indentation
   version = "1.2f";
 };
 "palatino" = {
-  revision = 31835;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "f21fdeb0423853294f52427bbe1477bbfd49b1a6255bed5f561dfa2156cf8309b2f71d2c09ad74bd64bc1fd69fc73816e3d84e72d975db5925d4c3c4db6fe8ca";
+  sha512.run = "5db043495b8daf0a5a854367ca1c82007a154d09b2bcae9f399e8f851f30a554fa98970cf45ccd8f0681f70ae7e01f54dfd414bcbd888b802e93993c2ed172df";
   hasRunfiles = true;
 };
 "palette" = {
@@ -26620,6 +26910,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "2.01";
 };
+"pascaltriangle" = {
+  revision = 61774;
+  stripPrefix = 0;
+  sha512.run = "0736284ad69dc62a9f97887f09aaf4e527438d068147319be8710c53708bf88c156964c9737548df4b2210b1e6bf5219d157e5d5baff53a510fa373684a8eda5";
+  sha512.doc = "137c13f7878fcb5f3f2e7d4d47d05e8a25f7fd19f58672d7b521ba944a5eea22e90dd12418d4b056dbb1a94faaae750a9f2e06e4dfc8fcd206609f5f95e97a5f";
+  hasRunfiles = true;
+  version = "1.0.1";
+};
 "passivetex" = {
   revision = 15878;
   stripPrefix = 0;
@@ -26707,12 +27005,18 @@ tl: { # no indentation
   version = "1.1.1";
 };
 "pbibtex-base" = {
-  revision = 40986;
+  revision = 61914;
   stripPrefix = 0;
-  sha512.run = "4c807466ddae93f7b12a62fb32b4a8a8dcdf16eb8935548aaeeccaa90de15484e396f307f229cab8a2980212aa7627e80047502a067847114ca7ff6a9ae22c3b";
-  sha512.doc = "a87c2feac2b0a115ccec0ced7ed9b5215c8b7501020a4ca14fea9a5062bc0994fa31c892c1a738c582118b73ff4df5aba371abaef76d3c15a00d5268bef85031";
+  sha512.run = "dcef21019daca2ec8a2a649f58f3e648cc580c6d46fdb1c7a315fd66fe6e9075dfac8d12dfe901be0487272419cb10257007b8e34a0a6d11d93f6b5f67b5f988";
+  sha512.doc = "897d18ba8ed56a44541dab0d07c0f1fff059e08ae02165b1205e439bb3b0b61484a2008a8a463690f9fbc628fbd462d271643957715a32a712e35cb9dda3bfd4";
   hasRunfiles = true;
 };
+"pbibtex-manual" = {
+  revision = 61915;
+  stripPrefix = 0;
+  sha512.run = "6e5f1058a6e8c1ad0ca88638b91fe9dd1263f733c0e1da4d04edf345f584419ef4809126a583fb99abc308bdf1bd21c85934961ca9658267f3c5b3092279fb99";
+  sha512.doc = "3b574a4d681a91a89d45cfd89f614a44505ff450fce32432508abee13469cf6f4a8e8a1962685eb5e610fd5a14e24e38ad555ecf86f446d7a6d4d6964ab40fb8";
+};
 "pbox" = {
   revision = 24807;
   stripPrefix = 0;
@@ -26805,10 +27109,10 @@ tl: { # no indentation
   version = "1.15";
 };
 "pdfextra" = {
-  revision = 60553;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "6cb9903d116aea1fdb6a00f9588e3815a4dc56b5e4c2eda19e665bdc87511c7e4dce2a94c792d3a87c181e476f06cdeb0c71c02d48fcc265c77472a784faf98c";
-  sha512.doc = "398f316661cac3977130970e50970d04fbbaf569ebe4ae6b9434eac4a5a8155fa6b1e45cda929dc19f8cb82991dd8b760c3ece64af54b141efbbe83f570d385f";
+  sha512.run = "2276413818e73fe0c1a6dcde308a5ac00b3d094f5269e7fbee90e35fa336ca5e79bc888bdefc67fd132e5bab1e43ff0b9d3728fa52792a1faa4138f360da78b3";
+  sha512.doc = "5a937aaad731f643b7b21002e42a28c556459e6025cfdeaa171922a5d54432d3756004c4ad72c88448b520ff0270cb25c4c6c3eb95b231316c1c4b87cc1314dc";
   hasRunfiles = true;
   version = "0.2";
 };
@@ -26836,13 +27140,13 @@ tl: { # no indentation
   version = "0.12";
 };
 "pdfmanagement-testphase" = {
-  revision = 60347;
+  revision = 62764;
   stripPrefix = 0;
-  sha512.run = "f63501fdc8184135bb649fa15e22d055a4e17a66e57411c31f6c455cfaa6680d0047eebaf34969c031ebf3f55fcce341ed1f6c0365dccf8bf86c808ff2465b4c";
-  sha512.doc = "0107d3ebfa15c1701a0fb2d25fa0ae19c32a38add6866dd262f0db71b59dd194b5c3127c56242c756db990a0cf6af674c9dec67f892aa6354273439b0d98341a";
-  sha512.source = "4c45ceb89d8625c7d7a7a264bf1d31eaa89a31f5ad4e5d956f6a312853132eb1e550ccee23aab53ae03850a691c1bd8f4154b8a7273f4b4ac4150735e219ac31";
+  sha512.run = "ffe6e5815aba360b85995d93b891e5d398183f6bb6d93dc0d94cb3b9bcb96cc427ddaf8157e65df009566499754255d86a15c787e1342a98a1c8c36cf70e2d7a";
+  sha512.doc = "cb48f621027458f09d4b09078ae54aaa15acabd6e79d67bd7a4682f884cd7f31c06266988875718a849de71c19fd363486ebc232bf4f0ea8e083de3e3e76815c";
+  sha512.source = "4654aa05586f6297e179c8ae87859cd2b26e2bf77eed5677a790abfd7be5bbd9d998aed33f97f15cf4c0224193c4a3aaa0c47c09480cb4379970112c8959ceaa";
   hasRunfiles = true;
-  version = "0.95i";
+  version = "0.95m";
 };
 "pdfmarginpar" = {
   revision = 23492;
@@ -26870,17 +27174,17 @@ tl: { # no indentation
   version = "1.4";
 };
 "pdfpages" = {
-  revision = 58212;
+  revision = 61801;
   stripPrefix = 0;
   deps."eso-pic" = tl."eso-pic";
   deps."graphics" = tl."graphics";
   deps."oberdiek" = tl."oberdiek";
   deps."tools" = tl."tools";
-  sha512.run = "a2b9394389ef8a14f6e82b4b62e33fa1cc18c2f7c1069109afdec8ad5769b4869c10b8cc50118aaaa6af87b08150979744cd16898804bac40daa043e49d36aa9";
-  sha512.doc = "b71da54d15d16ea74e72e09a46403d545e32c8e0fd44abf2b3bb7dff7ed1cc51c93bfacaa482037adb2b0010b060366836c25e66def3144ed504bb6623629f80";
-  sha512.source = "979c80e7590d9d1b40d667a69da2e2311ecc814575189d8411f13a1095ca3f09dc5ac97a40d4eea2d6a22616d1312c3e4aca45777610f365d24ef97b9acffd50";
+  sha512.run = "4baa870f33d598d596ffa0ab540460828120b77fe3d0468aad4217837b15dbe4a53f75fc861c632803f23b26f7bf127aaf57e34c37c6d753179564488c779000";
+  sha512.doc = "5d934c70eb0de4335ad147fb2957f1623916f4e85906f86574917054f3c86036c81b5bb90c07f795e459e29f92cf25b62c2b79126ed5a165f24d5a81f3383321";
+  sha512.source = "9e02d45a236fb22e2842c893dd0ea9d6af88aa3e5c95c041a2f058a322bd8d2c748360687ded04559abae6ab933955166d1b5e66da834df8405512b5f9ba1ed6";
   hasRunfiles = true;
-  version = "0.5t";
+  version = "0.5u";
 };
 "pdfpc" = {
   revision = 57735;
@@ -26939,7 +27243,7 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "pdftex" = {
-  revision = 57973;
+  revision = 62145;
   deps."cm" = tl."cm";
   deps."dehyph" = tl."dehyph";
   deps."etex" = tl."etex";
@@ -26950,8 +27254,8 @@ tl: { # no indentation
   deps."plain" = tl."plain";
   deps."tex-ini-files" = tl."tex-ini-files";
   hasFormats = true;
-  sha512.run = "17c2b07af5e14f9f581d1094f4a3657ec1fe2b19fa96d952d1e4859265dc26e42743dc1fd7e8d6a7de56867be1b50a7071524d0580a8a680c605146893e7ff1b";
-  sha512.doc = "8422210dceae381676a4c03784ab2c9b0e9233913eca6d25a9a7d5c5675f9ecb32f0a93dd624dbcc715f20d7e386a7844ea00e6e85473c1af14f8e384cd3f61e";
+  sha512.run = "d650630b9c552540cc1c510b3915cff4f9dc91ec403d6f49e1f8f3da172e47e2372a9fa65958e6e7558ec2ba4cd413fb0817f4699265ae37bde40b7e314c3cb6";
+  sha512.doc = "a6b5e38755d7858ec110a6006a63fc82ccbde93686f87ebcfbd9844089ce5c50a6dfa615ff119329df37a01245718e36ab963ab55077b0faf3c077a44e64071c";
   hasRunfiles = true;
 };
 "pdftex-quiet" = {
@@ -27031,10 +27335,10 @@ tl: { # no indentation
   version = "2.0";
 };
 "penlight" = {
-  revision = 61326;
+  revision = 62720;
   stripPrefix = 0;
-  sha512.run = "d6f1e6d6d3e8ca2fc38905f5c8af74fef1a02b83dab7fcf00dd12802d062a2e0e74307e96ec53f226ad0ea10bdb1efda0638d1af0c6ac43a991a7bad27c97fc6";
-  sha512.doc = "78817dadc25de4b7ba7e065a8bf5080747d041de530d0090073b14c4acffc4edb7bf2f2196a0f4935dcf6219d7f846f395b99d5bb980ed1df5dce0672bb648d3";
+  sha512.run = "5d2f7ed720d50bcc1b9bbf2af965478863a343160b63496bdc50aca1ef63cfaf3add6f5ca9358ee074c2de2a94f1ee9e626643de9021517cb869371928d00d7a";
+  sha512.doc = "6247ced2a2636bf0595b0b4a6833086bfc01eb65a49b5b8a812ab716b4615cb37d203ca00fcb62a8d01253480b6ab04a54cb07fb0ec228d1d032403dfa9a54b6";
   hasRunfiles = true;
 };
 "penrose" = {
@@ -27148,6 +27452,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.2";
 };
+"pgf-interference" = {
+  revision = 61562;
+  stripPrefix = 0;
+  sha512.run = "569dc2b0f5b11d93aa447d54649df07c3df375dcdaab509229d0304bb25523bc45062916089b15776b727a9c05205688a161bc79cfb4abbc466a243b2c8c57a4";
+  sha512.doc = "106f86c28759b0c105a6f57df9c8df416190f781b73f1bbb7398fde6e88192fca5aa3e198e7235dfc23c2fc3bb41a5cd0cfa060f9dbac4faab30bf04c484e9f6";
+  hasRunfiles = true;
+  version = "0.1";
+};
 "pgf-pie" = {
   revision = 60115;
   stripPrefix = 0;
@@ -27265,12 +27577,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "pgfplots" = {
-  revision = 59243;
+  revision = 61719;
   stripPrefix = 0;
   deps."pgf" = tl."pgf";
-  sha512.run = "8f4661e193d6b2d9a5e3f488ff7f35849fe559fe4587b5050ac67256aa4b93e24c79948e8f8757eb901e6b531fffffd6597049b1e457d79db36d5043f00e10e5";
-  sha512.doc = "998246b7c5415e910ff168ffea064aed80957a9f29b09875f8871c9f04d2a52c50a33f7f3cd490a1195c5566ce310330cfba0a5bb7155eb14b944e05e9d1557c";
-  sha512.source = "0ff864f02131b1f46cd03cc01c9c25e841542c42e87599b7652866d8f0e73be9b836e70784f7b77716745a6dc752c7ab9fcf4837a454583e09a6b53a845ce6ea";
+  sha512.run = "8244e65860f37d74d05535a627ef6cd321407a69a142d156bae190c562a9402a0d7e927df732c32cc5f556dede1b51f7aeca5d7d3a26167348a21f2e3d8be5ac";
+  sha512.doc = "720a77c574c81e7c3619e3b988c8a359bd6cf284ad3fa7c795eb01c371ede85ad727dde8e5f19d8f683947b5dc5752324581e364c59e8a644b5ae34d6b75a96f";
+  sha512.source = "d840015854794de1a311f1d8a9935a93c71a098c46fb1c5cec8a57228a924685f75ea76fc9cf2a9f9f30ed39920bbf2092fbdef2645ddaa5ad5a3787839c1d2a";
   hasRunfiles = true;
   version = "1.18.1";
 };
@@ -27688,7 +28000,7 @@ tl: { # no indentation
   version = "0.1";
 };
 "platex" = {
-  revision = 61273;
+  revision = 62145;
   deps."atbegshi" = tl."atbegshi";
   deps."atveryend" = tl."atveryend";
   deps."babel" = tl."babel";
@@ -27708,9 +28020,9 @@ tl: { # no indentation
   deps."tex-ini-files" = tl."tex-ini-files";
   deps."unicode-data" = tl."unicode-data";
   hasFormats = true;
-  sha512.run = "bda130dcd16365c2a280f9ebcefab940d50de17ef18088076943e70df147e7fa38cd9cf45025c84e7e0d5fa5846a539cc9c7cd5667fbc88a82f41676284f345e";
-  sha512.doc = "4b2104e4e19b515bc96aa38a1dd085f29666b3a5aa38005ba35e4e4b94d538475277445241583d326b31ffcc2caa8db16c91f9143d8d247c403118323347ac51";
-  sha512.source = "2227e6000b83e889904aca03099e96111be2d0fb054a666688a5908a40ee7f71ec318956cdeb5be88edd9d2d507c3db8dbb27906bd7bc6e6a371caa9e151625a";
+  sha512.run = "54e180a3e6d77be78fdbd2a13fb9ef9744bda96dc34cc8a9f0c70a4ebdaaef915405a04340a815e3cacf1645d4d07a4aef89df62c9a9095b82f0337a058f6a84";
+  sha512.doc = "d9329c8795ac7e6faf22ab24ce599edbfff53e51923f313a551de55c1a81d82059db145ffc8e56056de37537c8c1a2b04ca3924d26e48947f31d23840a3b3d61";
+  sha512.source = "dbb1e5416c9506ca10f1693ff90f7a73399a3b58798d358a27b40bfe09ec871232507a6390f43de65a60236be9ed01dfcab7065f1c6cc7fcca26f6d1554c3eba";
   hasRunfiles = true;
 };
 "platex-tools" = {
@@ -27842,11 +28154,11 @@ tl: { # no indentation
   version = "0.4";
 };
 "pmx" = {
-  revision = 57672;
-  sha512.run = "9b798a99cff71901d5200fbf843746de4c380cbf0aa5ab00c19deac443b84bb891a6ccca953dfb9f384a53f5a9a96c81fc5da0a6887bb4e7212cc977ed2a2348";
-  sha512.doc = "7ab725c1d6d99e25379d4373526f12e14770f7a1f9b610fd8b09dee121b00f6b79faf4e548ef13a1429f00dcad83755acb47c7f7bf01c5517e2de852b30b0853";
+  revision = 62509;
+  sha512.run = "dbe1986be94f49a745e4dd1e4c220d265bad52aecec3a5d8b1069406830e1df45a49b0f798fd800a0fc9eee21530cfc5c4550e715976b7a6e2528c2627047773";
+  sha512.doc = "82ccad2e88426333c34243cb9bbb1a127eb30bc7e2bce63c9e38b3ca5b72e14820f78949c0532aabdef2504660330306b1f3b3c61a4337ffbe36c5b29af19560";
   hasRunfiles = true;
-  version = "2.94a";
+  version = "2.98a";
 };
 "pmxchords" = {
   revision = 39249;
@@ -27897,12 +28209,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "polexpr" = {
-  revision = 61191;
+  revision = 61559;
   stripPrefix = 0;
-  sha512.run = "0e699457e9e8b27a1845ad75227271095e03b0b331b74122da868c3b33932a511ac59d89ccf4ab228aa16f8486ef1559ac2c75bb181f4275c1fb25229f701b43";
-  sha512.doc = "37de69478cc78e4ee75c896d7bbc41cfceda6e012c0ecd8d57912e0c73373dcbbfbb97b795c86966edec7d03f9dc3e1005a41dddc7504137e2e4e5323e10e80f";
+  sha512.run = "8dd44f06d28916747f4a03a1dab3309169013f75fa7c19095f8867469dd7a5251fc481dabc9290caf2b51caf2b300d259efed4d3a66588402155ab4191defe93";
+  sha512.doc = "7cb78498a0c324fb2f2c6b487d4f390a0e01f12165b47408f6ea926c2d806e1ff8e05943fc612998f3ad378f54061319d6bdece7b55be692413c1953ea90d0d6";
   hasRunfiles = true;
-  version = "0.8.5";
+  version = "0.8.6";
 };
 "polski" = {
   revision = 60322;
@@ -27966,12 +28278,12 @@ tl: { # no indentation
   version = "0.8.6";
 };
 "poormanlog" = {
-  revision = 58966;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "a1d252b99f78e6cf0c11310079b392a7a557fdc78233bc870859dc8325bc7c1a50655b52cae052e4edbd2e2b333b409f0929d696b93cd8015c66f14ddafa36fe";
-  sha512.doc = "6ae369601d824ca7f62c10327415c48cac9e58ff495238ddb2f00f71920df1b5f3a0c948c2a5eaf418f688f10e547c945d5fd726ab93eb5c106848c3355c8cb3";
+  sha512.run = "164b275fb5cc59563b4b8d8662722b503cb5aad9f64585f776c0ef4bf46254fdebae80201b105dde4f661f6f655872d2f8476a9bfe3ced3c1319d36d64697103";
+  sha512.doc = "c6c0becdc7cfffd2cc55d334f003f9ef2d533e96965875cee78bf046a5deb8c8fc92342bcf0b83048b8622bd5425f4cedcc18fc3f31255a608a0f4af9911e121";
   hasRunfiles = true;
-  version = "0.05";
+  version = "0.06";
 };
 "postage" = {
   revision = 55920;
@@ -28032,11 +28344,11 @@ tl: { # no indentation
   version = "0.13c";
 };
 "pracjourn" = {
-  revision = 15878;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "40e7ea03f0b244810952cf93cdc7799e0e130a7b11d384893b88e420ce6adb4b5606462ab6f2dbb2e134770eaf32540b9feb59393dea72a70f4d881f6f6fa43b";
-  sha512.doc = "8e9b171919bd6412a3adb75abf1124beaf0fd562cca49076c1729814c7907b5b3f9b240fdb68d91055225e9b366749c2be6a2e421f52142d0a138e377a442046";
-  sha512.source = "a0f40eb8b245c3f6ca2c6e84f4b13d80b2c9d5f67a70c74fc14928fb3b4eba3659bdcca9852d0bcce18088f707955e8f0ef77e71879bd720c9dd8d59ef9713ce";
+  sha512.run = "ad416756dca8491f2920d13b8374157bf1b49f236cf2ce1f66d6415c8de7282801645f5cedc31f2652304b1133f787a32ca4afa9f0e65a8bd5cbde956e54b82d";
+  sha512.doc = "2cc3efac5b128bc6873034fc451124cbb9d6c4040d9d1c1053367aa99d57687eff642cc55a52d833732cfe88c5e139c67998020ae220a1657744140745ffec30";
+  sha512.source = "819dcb9329ec553889d50646b7ac4ec52e2d82b329ad48d6b1dd391a7f575115c49c317497ebd32237c3925741cc6f7d497851bc5fd938d3f8e7341a05150d21";
   hasRunfiles = true;
   version = "0.4n";
 };
@@ -28100,13 +28412,13 @@ tl: { # no indentation
   version = "3.0";
 };
 "preview" = {
-  revision = 56708;
+  revision = 62130;
   stripPrefix = 0;
-  sha512.run = "8a582c5e78e5a4ef28d3857e397d62579be41f4445a3b0ea1ea76b9080997e5eb23f2bb90197237101d03fccc8cd53c8a3263d19385dac4b63161a568528b017";
-  sha512.doc = "d6edac136429cc1d0af86381812c798d72e15b0e33cc0dec643e86fc5a323df057bfe196293381f2d85644f6784cb97bd7a612828ce829d0d8baa57a51f00bce";
-  sha512.source = "f9e6df7cc6c5649e103832477218237d4008e66707a229680448a05a058d5b9ee47775c96466068723a6cdba362a17420d3154d69535c7b3b65c1e752e6654e7";
+  sha512.run = "02c4864a68cf7208e87fb0a4f25ccfe2092e198541551c3db11b75b0fd0b49188ebf9217554020f07154313418febb942e04c92b78d84c6f53b88c12d5a162ff";
+  sha512.doc = "a722fda1fbc3c4319edefb65a30ccde72711a65c19e6fbe7300ba2dcb47b72f12aa436c593f1dc97f9fda1a1fd4d359b4d56928877a9cb80b324ff046d0cd9e3";
+  sha512.source = "d22c78058df91b03af32bb3f3c6584f492cffe6762a06a854811a3d2b3cfb1dae000252f483e78a40830d5bd808184b76b86c7e100c365c420f24496464ab53d";
   hasRunfiles = true;
-  version = "12.3";
+  version = "13.1";
 };
 "prftree" = {
   revision = 54080;
@@ -28173,12 +28485,20 @@ tl: { # no indentation
   version = "1.1";
 };
 "profcollege" = {
-  revision = 60999;
+  revision = 62687;
+  stripPrefix = 0;
+  sha512.run = "907183e6eb62f4cce764cd1de486199deaa43012d674d0c55efd8bca0e345a4d92f7ce8b8159e966db1d3bc6bf8f9a5d1d003d44243b98eef0d7c49bfe4e9a2a";
+  sha512.doc = "910e436700228f1cab796e3cdaa9ff6ed33dd93698504eaf1f7274e1618277f5b49a671dc05137cfadb8a41be71417bbc319caad3f866cd1b79a0fe0bac22fc8";
+  hasRunfiles = true;
+  version = "0.99-m";
+};
+"proflycee" = {
+  revision = 62741;
   stripPrefix = 0;
-  sha512.run = "47fa6b0691d64f2396799dcb2eee0a9fda4bbaa32a0cac8bb149ede2c25c6d8957bca229c334c82b6f36332ada04c8cbf2d96ae50733fd3cb4d1cabb36e6c167";
-  sha512.doc = "e85d86712f18ff279467787faa7a7c336a4d5de40b476b5d225f40cad11b1083c0bc37c7ca2700ab3c0ef4c6c3c83a329dd82274748cb25bbdaf7c9271e806a5";
+  sha512.run = "5f81321c08ad6bca4b5fe2dbbfb4829a67a78f77679e424ad576999733051658b258c9f9ead95e001d5f8a4362b61a886088f2dfe8520c0d1fbc128c8e554051";
+  sha512.doc = "7ac1bb62626c9c076bdd49a29e6c95d1f0b63cc1e8e0c9f54e8f0c5c3e7f6afb2349629e733ae3efd27f0bea182b5bd15fcbf1e0f06bb10fadfb59c7c27ad90b";
   hasRunfiles = true;
-  version = "0.99-i";
+  version = "1.0.8";
 };
 "program" = {
   revision = 44214;
@@ -28205,27 +28525,27 @@ tl: { # no indentation
   version = "1.0b-4";
 };
 "projlib" = {
-  revision = 61338;
+  revision = 62869;
   stripPrefix = 0;
-  sha512.run = "24db5449be1b233520950d78ae0db7d31fc02e18e6bde757d8f90d7b92b3df7b425fd0a8e34d7a3d834fbaabaed2eb7d3826738cd4ea1c34d015f994c3e785fc";
-  sha512.doc = "237e6a2237a824bc83ea9761f65bce4c4da0ad749aef6c90363dc90438f22aa3795ba8a6c5ca1cb2b83ab35f992a7fbd999b32f7540996a62255c2084013dddf";
-  sha512.source = "fb35ee3d6b0a8390340ff4de3d4a052c9ceb203af6e8380818c50ed58289297b257a45eed8fe8132724eff242be3188a60a70a59aee3c8d6653f0b1d1f6ea69d";
+  sha512.run = "6d91644462efdc17895e19a9cbf7260418325fdcfd0effccc582f7f396b51a7947309fed9dfc4ece4f248989e8d30b774a94a3815cfe71c65678029628091b84";
+  sha512.doc = "3d878382dc601c6bae223d78dd8b6b1ac5a835a1214482782588fb6643f49f341d5ac081adb215353fd8570570d21cc451d1d66de704e3e1f1b3376095a57613";
+  sha512.source = "5f9f30a280e17761fb58537ef3bd4bba806f342b9ac957aed06b18aca614a98a3603dd477fe3a891380bfb58466ec79f5faf6bea5b92822e912d325fb7a691b6";
   hasRunfiles = true;
 };
 "proof-at-the-end" = {
-  revision = 51194;
+  revision = 61933;
   stripPrefix = 0;
-  sha512.run = "1e5647e1421742e9f0198c5ff8ae5ac315eccef96d0a7c9c5f1dabef167fca5ac9221cdf60d99dafbdfd60f6960a897ebb2d2c4370edcc0d0a36942c0041a777";
-  sha512.doc = "9100916a9ebf426502d7c25e5f848fd4eeb19050faa01b0a4a795b838d4084849b42a1f6a187dc8218aeffb6df0cbe592b512e1c613a1045e467198119b33555";
-  sha512.source = "ea0b286182db09ab249a704ef25abc8bd951b51e8671ddb2a8110997b9db4ed353c059f44170e8a5bd76878ae97d34b460701994849425c1f40925d663d0ac6f";
+  sha512.run = "63adab06785ea542df6b451bcfbf1a8eeaba3dd4804a7f322e9e500ce6708e8fdc50bdbed70f6d514a375c69abaec179350d58cc6255d1f8fe577a7646ed04ac";
+  sha512.doc = "bcb3ee6bec5d170f0e552efbf58eafabeb5117c52916d548a5e022d745d8ab214f414b72507aeec5edb5c0384912f907468f9b7a979919c9959197b693aaf86c";
+  sha512.source = "eae3ee4a8ab4ec8e0b91aebf2f6e45629e62b156b81b4112c75ca03b12c44435e5cd6e96621dbd2ac9a92b656c7421896f9f81c9979c13da7236d7b78525b85e";
   hasRunfiles = true;
 };
 "proofread" = {
-  revision = 50938;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "ef0d35bb06d1bf31cdea9aec2f342eef4b8cf053863a26f5c223c1966f6715a547fb61b2f92d4ac273c3309fcfe219f9a78bdf8c9b3ec3886bb96dabd7935033";
-  sha512.doc = "6b1ba0b1e009e2f7b337aebcc5c54882f2ef3f2089261d3b9355cb0adfec8aa3c7f207636955979cc0a74554e5878423a23982340bd26ed3c2a634f821497565";
-  sha512.source = "9a434d59a1540e1dee97e9baf1cda034f768a7a24e1deca7e0f454f7d7918cbd7645e19454fa7683c3754f80e1c9da54b3b2ade2dd58f4c332d2422fe1690935";
+  sha512.run = "79787978d7888ba127b9b72ea38f0f3e7ef9d427cf8e493120849cf7c2852ffe79b5fbf349160bac419be0725a9d79f33a00c13d6b3eded2cf0600b7d0994513";
+  sha512.doc = "e33aa6e720a22bebe6f64d90b00bc4e01b0892ae66c5f9c4dc8758e6494fe2bbb9ba84df442471b9db652223fd3e7f40fae486f09c7500095f7a2d1cb2280b3a";
+  sha512.source = "b1b334a3bc3dc61dad0eb071a1c5dc3595cb9231a3b7e50856bf0d5c50a4ecf188f5efbaf7a0065ad51341c2408cbf3d81a6e7c473bbd003289cca02d1962f46";
   hasRunfiles = true;
   version = "1.04";
 };
@@ -28414,12 +28734,12 @@ tl: { # no indentation
   version = "1.10";
 };
 "pst-3dplot" = {
-  revision = 60619;
+  revision = 61615;
   stripPrefix = 0;
-  sha512.run = "f20bc26a1a346b9b1c33238cb25209a9f573cddbf86b8b58ae185e5a2eb33f03fab122b8b1490563f5da3b525a0c5f7b04c6183ffb099543b56aa6fbf3e1c264";
-  sha512.doc = "4c4b1f1cffe7b3a2144eee8534352083ce1a91637ecc8de717a3b033fad130e22e135ab2b8881467bdf2706eb76122d858ea9c36f84b81da5613ae44e47f4b7a";
+  sha512.run = "bd23d297253501185e817e0b5f8f13705434568d73be8f4e1c8adfcd3b6c55438a72997601b6696af91cb6733d2330ff810a0678e19f79203bc979c49c5cf722";
+  sha512.doc = "544b0fc05fe259d49861e71718e090a45dd0de233e90d2ab248ce2ed427f1113891fc58062126763295651e540fc306f0bf9b4fd516069b205cf063060a03c3a";
   hasRunfiles = true;
-  version = "2.07";
+  version = "2.07a";
 };
 "pst-abspos" = {
   revision = 15878;
@@ -28473,10 +28793,10 @@ tl: { # no indentation
   version = "0.92";
 };
 "pst-barcode" = {
-  revision = 45096;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "6c4799d7410da7f13225acd9cb5628d65bdbbb525e2bcb114d7f660d4c752122f8e9028763d3ecbca04c3c9da36b7910d64c981e8593b2c5df6b4cb372103785";
-  sha512.doc = "918891da185bcbd26051a4715cf585fd8539e6ac534ada4a2524bfabec328f87cc998cbd65b7fae8a2fbe4de029403811214c0196e59125a77f8af715b3ed3f0";
+  sha512.run = "a7d3c386fc8793de8f4024ede603d18704bb88560ec2a9a6f7fc69bd919434f6e8d3d9b7bd8080a39c24f37d354251309084e6994bb334a886e3ff998ec51d5b";
+  sha512.doc = "40a1649336ea298374985804433dde7282d29ccc8b4ad28200612aef602b726f6bde9916962c6f9aede8a0a3fd2780f45e5100daf6039c55a13121901a864aca";
   hasRunfiles = true;
   version = "0.18";
 };
@@ -28703,12 +29023,12 @@ tl: { # no indentation
   version = "0.07";
 };
 "pst-geometrictools" = {
-  revision = 45319;
+  revision = 61430;
   stripPrefix = 0;
-  sha512.run = "1949864f97f21c6cd2a0e706028d5a0ecb4102c0afc5874b78c2bf883aa6698551214ac232f406bad9955e0f0a78f059118a4d950bc4b69bd30ecf9b6fc38606";
-  sha512.doc = "adf2ae63d32d2cecf77c2aa950c8b827b51d0ae923dfbed7c851f0f0e7d6018216d92cf524b2cb4002c4040dbb579cff552a37cd5ef57cd2d0579b01128a3be6";
+  sha512.run = "838ddf95e3ba7a13fcdb5cf97d85647cb6b15bb6735947d26e358af83a34a4d5bf55530c4624f006eff4a9f0794d1fd7f5a3ed351607243e31537e36bda33b96";
+  sha512.doc = "4b7d2316dff80420ed5ce03046115670a4ad51c705dd960f56f6e7debf20b0d3c86030d93cc635410e01535aec1b42dd3497d18126e6c86bb9304c5cd506306d";
   hasRunfiles = true;
-  version = "1.1";
+  version = "1.3";
 };
 "pst-gr3d" = {
   revision = 15878;
@@ -28859,12 +29179,12 @@ tl: { # no indentation
   version = "2.2";
 };
 "pst-node" = {
-  revision = 54687;
+  revision = 61838;
   stripPrefix = 0;
-  sha512.run = "655a9f7a373415c1721a8192aff5868c6eeb20fbbbac394b19ff15a66f6322c9cb3e2a6edac3210b14f94a62bccf18ecff1fe3af21951f382477ed27e37ab36f";
-  sha512.doc = "da13d6f9584cb2810b0aac8ed65af49a48128049433a845b6a2d73bc2395e043f6ce89ca84978eb52455cdc713931a610cb1047e46badaa2c6b4baf5073c15e6";
+  sha512.run = "663d072baef5277519157175183313c9b80385d1574dbbc1502b60aabd111688286499426e88d28b3b5252b8ff23b3d325981b6e14b846fce3b92ff391ab5a7c";
+  sha512.doc = "5cf9cb60b0c36915945a4e2fb4e79a35e2ff9e957df1b1e39d8158560843fe1dae6867aa6270e70cf3ba387b104e9dd8b6965434168d89748e65aa77368a0707";
   hasRunfiles = true;
-  version = "1.42a";
+  version = "1.43";
 };
 "pst-ob3d" = {
   revision = 54514;
@@ -28884,13 +29204,13 @@ tl: { # no indentation
   version = "0.15";
 };
 "pst-optexp" = {
-  revision = 57977;
+  revision = 61917;
   stripPrefix = 0;
-  sha512.run = "92302c9c3c4a5a0e7a82fbdb6c72f08aae2ea6a5286f6d8916b19021ace0bdbfd1e935ec4aaac8a18c938c6bb0fa66520f3d98631de419111c43605ad2dc0fbb";
-  sha512.doc = "dd920f80c8f271737d8dd8077f06fc851034812233b4f7c30e0ccbe4fc57fc08b430efa9b4eb737744acbe0a0c2e898797efa939bf37468f90e6241e1c28667e";
-  sha512.source = "ccdb1330d6ae5835927ce28c5a38162ab632a0b113d74854d2bb8cabb3d0da7d29e39f74a6245be9e30c03a765c383830cb76a9b6bc8d39aece5b0a05be3824f";
+  sha512.run = "e38087805258cc4daaba9944f5b7893f9e5ee4c0c7370b447bd35a5bd5990eaaadbf1d1c2df41cf06b8a1b170d56a692e0061590c78df94b7acd6c2dd6ac17de";
+  sha512.doc = "256c88d611f26c1944b163ecc29e23bb77fa04a3317e01d2f287c52334eb9d08437d8d279d7e4c3452b340b90980d4343c458af46005211fbaf367bf5b7317da";
+  sha512.source = "065ab372fecab825dda1584da4fdacde88f388887df959d7c6f52c2974c67daa970a2d7679b65f24f8876ecde0497a13368ed757cc16e01cdae6f83ed7d9dc0c";
   hasRunfiles = true;
-  version = "6.0";
+  version = "6.1";
 };
 "pst-optic" = {
   revision = 41999;
@@ -29050,10 +29370,10 @@ tl: { # no indentation
   version = "0.13";
 };
 "pst-solides3d" = {
-  revision = 49520;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "7e725978c030da337d882e05069b749a4398b1a1c479a50db34fc63801cb77b78630e2d1dfd0c3a39aeab3e931236dad91b6c722c4d6e06dcfd867f007ce99f6";
-  sha512.doc = "a00138b042c58700438cfb3f094f836b029d31ee3de40ed290d3f5475a31cb3fc949c13402c35d088dd1cacf13c66bcee934a0ad59e97ceee5ce9db1f99e7c4d";
+  sha512.run = "b70a15acf3f8ec551f8c10d9441101950c7d6b2e886ebcbd9584ada67141d3068b66339e2df9cbad85db9b3950f4463cc3d9ff92a4f93241c37b591b5b5ecc6b";
+  sha512.doc = "15a7bac7f5aaf751c4b450e07c1b7222bc569ce9e9b7359cc53019f9295561b85addc3ac0cf16c791a21b88c6cfae720a54603ac1da2055f0c99296238b02fd9";
   hasRunfiles = true;
   version = "4.34a";
 };
@@ -29075,10 +29395,10 @@ tl: { # no indentation
   version = "0.91";
 };
 "pst-spinner" = {
-  revision = 54080;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "230405003645525f89e4713cd38d2dc015a5c41218202003626a154a620354fcfd4297480415771064ddf72768afd15d19fb331fe7fe3029375b681487e09f58";
-  sha512.doc = "998388d1098eec8f15dbccc5852b4577f392c9e01dd0a258927086940b5e8fd33021101244403c3d81b575bb1214ad0730160828a7fcf83630bdb765d4c34444";
+  sha512.run = "097ab0b7667cf8da530627a9fae05afa183148b90ce928880a9522f79b4a7b9dff7135ac4d9a5a32462cfc9abe9702a078326ee272f2d17f25c70cd805067068";
+  sha512.doc = "67b34a250079f8844ced0349b1f4401439619a58854a3ab65e52e3075ab9375bcbae30f1a6780ced92ebee447b3b809606a27766584ce3a98f72b476b413da1c";
   hasRunfiles = true;
   version = "1.02";
 };
@@ -29165,12 +29485,12 @@ tl: { # no indentation
   version = "0.41";
 };
 "pst-vehicle" = {
-  revision = 45320;
+  revision = 61438;
   stripPrefix = 0;
-  sha512.run = "4e5a5dc0227641a8b8f96913cfd513279c91f841fa1dd5960015ad79d5877a86cafcf87db38bd692611d5afd73a8a91505822d83433299db4efa9e4975a8da42";
-  sha512.doc = "1183b285d9438c7360f2cef9c40d86424ed2891d36a4aee6281e57b84773dd6b2366ca6c2bcff200911e583bd11f2f5aa9615b45656a240b28b1809acacf4145";
+  sha512.run = "1cec74ed600c4c4df629942b158d47b33f26e3a38d3d363cd506e5dc7c9673e0da1af4af8bbf71bf735693d15f0b02a36d8b148e07405ff4181efc820e73eeaf";
+  sha512.doc = "e252811d71bc400b3cb72a29fd9099247044cb1d1c79676cf4319d58cc60293839b022a73706a9685434d338c9daa24e8b9bc5b7390a75870379385dde0d9c7f";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.3";
 };
 "pst-venn" = {
   revision = 49316;
@@ -29204,12 +29524,12 @@ tl: { # no indentation
   version = "1.5e";
 };
 "pstricks" = {
-  revision = 61084;
+  revision = 61548;
   stripPrefix = 0;
-  sha512.run = "6aa799e9c28a11324c5a979059af293ba45c559e62d422d9f6928feb402fb85f927d2052bec1037e1a44502e5283cbd8b1f325da82a2a8246441297fbb6e8a87";
-  sha512.doc = "89de2d39bb24b21accd0d4092bb830646b91b66ee053469b10dd18a69759b6e2f8c1812c04044d8717626c55b20a878dd108d27d8000f694d9de0935e116be43";
+  sha512.run = "3e68cc5bf7905d496a7fa857ae355267de54ac23ec62d1ecbb95b82e7ebab20dc5b691f8aa07ffb05ab6a23d9ed64056b67accd1242bc31419a5158d158c8604";
+  sha512.doc = "4817db2ebfb842535abfefdeb54b47b3da5c7ae0c6fe4bd02fcbcff56ac78221007c84e1decd8348241031a58f828e199c63581264bda6138c3064d401c003ee";
   hasRunfiles = true;
-  version = "3.11a";
+  version = "3.13";
 };
 "pstricks-add" = {
   revision = 61407;
@@ -29234,14 +29554,14 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "psutils" = {
-  revision = 52851;
-  sha512.run = "737cbffd48eec8244b11d6715a41feea6ed25cd6e53326dcbec0a5fe60881c5376dba508d70345db30a3c3515b24d3995f133b92015d2e943accea1093ea7c1c";
-  sha512.doc = "68505dab374e4e4ffd9da0ce6e6ee41008ebc0e2eaac1cd89ba7746b6882ba7bf6fb93143b4dd5a3a8fada821104ab8ca66fea5ffe313173631f98b221fdc62c";
+  revision = 61719;
+  sha512.run = "1489c9cd3ae9e1063367301f038cd52f0fd7f5b2d548ea78c06a2bff56100aa613cd01026ce601527b6a32f88b6ed1df96f9c8c6a591d16a63dccdc8e32d6969";
+  sha512.doc = "8b4814c2a769b1ea8831aa945352f31125267aeebedd8dc8abf6381928707799bcb1eb29214930152046bab63b1a56179ea035ae6568595fd5ac83bbbd22f588";
   hasRunfiles = true;
   version = "p17";
 };
 "ptex" = {
-  revision = 59502;
+  revision = 62145;
   deps."cm" = tl."cm";
   deps."etex" = tl."etex";
   deps."hyphen-base" = tl."hyphen-base";
@@ -29250,8 +29570,8 @@ tl: { # no indentation
   deps."ptex-base" = tl."ptex-base";
   deps."ptex-fonts" = tl."ptex-fonts";
   hasFormats = true;
-  sha512.run = "4183d235d990089401faa180297940df927621d5c0846d7e4e1e04a8c82257d75f0dd868590e724568fec92fba09ba1c9a0550673dd24c5484de562e8079d8b6";
-  sha512.doc = "d05bd8a2379392db485e6d544584513983d4fd598e49848df2daef8b76f3ecfde23445184ba902cdb311fa3bde648c66629a9bcea2b65f10d85e5985052e9bbd";
+  sha512.run = "26c84a96b8b15553c55c2dd3b51224c627ffd9fba19341dd0353582e3c1c5d50ee6d67f2f4257180e32c9f4236bc5d0ad7da058f99833e50e93b684161d1eb74";
+  sha512.doc = "a314b70ce2362da62ca45f42213214d336a93fbb70f0c08f59cb72b44791e5acc216e045868f50c48b6d69c39e7d8b7317c48f2b495408b0138a5b3f87d0b297";
 };
 "ptex-base" = {
   revision = 59406;
@@ -29352,12 +29672,12 @@ tl: { # no indentation
   version = "1.0.1";
 };
 "pwebmac" = {
-  revision = 60979;
+  revision = 61922;
   stripPrefix = 0;
-  sha512.run = "0d0c14f1e623aac1258894a06f9e92eee51c209afe9e230f4e3b9cb69049221b9f3955504127386ff4ec03ed458556250a0a9b03ec0edb59c157c32a42fac094";
-  sha512.doc = "c4f73e463dc63c556d02462a63de51beb1b4128b19eb3e98ed6fa006fbe7bd1460ee95097d5359b67916f69145b1480f797bc2740bd7e4280498dc25f0b65af8";
+  sha512.run = "3dea02607cc864180fd14cc19dd18cf3fc4338742dcf6f6a843b316188656f9d576ae050ae04ce702790d59a450bd8f20a280cc99e452455b41bd9c0be72c174";
+  sha512.doc = "4d45d5f9ca292ef249ebcb0fe20fbc0dce6c365267922ed4186d3c714e9cacf3ca742132031f6e5325c9a75778addd94390e6f6aa6e8742fc173d5e858bda069";
   hasRunfiles = true;
-  version = "4.6.4";
+  version = "4.7";
 };
 "pxbase" = {
   revision = 59473;
@@ -29400,12 +29720,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "pxjahyper" = {
-  revision = 59508;
+  revision = 62737;
   stripPrefix = 0;
-  sha512.run = "320e75cfa1b821e1e4cd61db12b907025add9e5124256959af1c1c101c626b3566e56425b9d65efa22c2db299ce69ad282451a93fcae203a17afb83a6faeae3c";
-  sha512.doc = "d7d683d7b9763c5e1a21c1208034610f4da6410dab0eaf4254bf7ba19bda5cd25756bec630e4374a29b9cf755163583ec1e2c36dbd8b5b4e1fe04af912c7b384";
+  sha512.run = "8d772ea35554e196079eab943fbaba6b7e20c9961d576e3fdc2f368caf60b19f7dd63239cfcbe82168d9009540dd22284061a5bb8a5aca9dd34646412eec0b1b";
+  sha512.doc = "8e454f5bc1fbec5c8104dff154174d8355b2bf35b97f60cff06939ba40446f9a2d784945638eda37db4c6350fdd142e736de2aea05a76190a8f95c5403e4a130";
   hasRunfiles = true;
-  version = "0.9c";
+  version = "0.9d";
 };
 "pxjodel" = {
   revision = 55006;
@@ -29473,12 +29793,12 @@ tl: { # no indentation
   version = "0.10";
 };
 "pyluatex" = {
-  revision = 60977;
+  revision = 62766;
   stripPrefix = 0;
-  sha512.run = "4fa1b2f21c620bbe8a0ffaf8d3637fa4e722b72a0263dc9d265f7e7f609d295681abe4676bf620de790a23084ddbd997139a0ebe049c4e2b72237e8fa10a09a9";
-  sha512.doc = "f4a371a9fec20b21e5e7d0e07684cd01b375cb65106a40ad1646ce1800eec3fcc29e0c21b4f4fc13d77ab2d62aa00ee2a9bd12bfed04fb9ee6fe0a3e1a0b54fd";
+  sha512.run = "3ccba6e3b6fe98a99c8a8df0e16cbc2a04ec54678357dffdc5239431bb0a55cc1167b8e8f0a39a24a1da9e46741ff892a7bd66e6930d617fcc1a0e42d9f90ae4";
+  sha512.doc = "be7ee547428ec8be67538b917d40696c6a4c53e353191767976ccd4e481ed65bc49f6e13e190bc189489415014359293fbb6c370aa66647875982fe0aba1437f";
   hasRunfiles = true;
-  version = "0.4.0";
+  version = "0.4.4";
 };
 "python" = {
   revision = 60162;
@@ -29774,10 +30094,10 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "rank-2-roots" = {
-  revision = 48515;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "43d76c8461a724c48e5e510701032c01a5bfa645734402b0fa0d0766f2d0cb7520f2e3d29d6c3abfe44ec369988445aab9216135f70c43a18fdec152cb4ae92b";
-  sha512.doc = "f9e58f16b30b075b19929a9ad1ac0c47e53b2aea038e34db69dde6d64e1cf3281fda597499dd07aea03b3bb325c06a1c7abbfdca42a80f03fa2a3d272bf52e5b";
+  sha512.run = "5124c4185eab09ff6e855409bb9d8b235fa3c304864886eb7d96fb2bc3487214eb388e27b4a3cc25f6d3b12bc9b77a073e2404792d2b0654e243a540c5fa00e7";
+  sha512.doc = "b19096334754f7d02b0a16d936c885e9ada82adaf1ed4011df815bcd703b4e79dec62d133fa3b32cf9663e2ef69081a95ae647504d8b6eb0f27f86909980506a";
   hasRunfiles = true;
   version = "1.0";
 };
@@ -29825,10 +30145,10 @@ tl: { # no indentation
   version = "1.11";
 };
 "readablecv" = {
-  revision = 57433;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "2165f742cfad485942ec3ce085c3f9eeb7de1b75028020f143661e69a8694ea4f321779c79ac04895771170310e85e4f9019a86ffea0cc4cce97eab2f4ae055a";
-  sha512.doc = "78d4721ac35a4361141f0a1d84a5d7d7a416976a1e8445f96c02963fbd924e86555f6c0c7a7beaba1573b9488086be4a3b65ae826ae7db3e16de6e386fee2fda";
+  sha512.run = "ca024cf78918406ca68a750832bf4046b22ca36cbd8ad7784cc2cc9aef6440de43c7d5c38aea95d738ec1f67685f02e1fd37440dc90d76046ee663cc475a187f";
+  sha512.doc = "c7b793994b11ae49bc93c8b39c0e257c24c54ebf19026db125ff1ae236f9b8443290b31443baff3a587fff073259621b001a75b0bb4f8f4e4963245f7c739019";
   hasRunfiles = true;
   version = "3.0";
 };
@@ -30011,13 +30331,13 @@ tl: { # no indentation
   version = "1.0h";
 };
 "reledmac" = {
-  revision = 60935;
+  revision = 61878;
   stripPrefix = 0;
-  sha512.run = "d1984388cabbb16e9637c3de854ab63485740eeafd5c59a6e72e68a0a15590b193e3d1b86693fd27cd3df86a4806e30aab924b4691f349d2e0251375242d336f";
-  sha512.doc = "d4547703161915730ac6930c98c15a8604c6b1601583203b99f1e917cf68193e60db43f5ab7734871df6e39cd90bd00dea190d6fb98e36c8c65e70fd2f2ecf07";
-  sha512.source = "ae8956dc707fcfe8b3f66f628c192b12f48ac1f86ae0d33b578b2f546d0fea66cb2ea6776cbb20f2b6602771b7b16f90443c314c3108e07928fef05668db998d";
+  sha512.run = "1e809fa7cb84813b022d74a1d6756958673b10938af3c6a9e6381ed52ed6451c1981a86e6777baccf6185374cb2f259236a78abdfe8f1defe665a62493f646c3";
+  sha512.doc = "3975b51c43aabc58a3746b2d6dc67f9ac606a02a605a3b21f3553e831664aad9f2ab9a03bd3663e44d72df01237c050262fd687f020a77beb9d483be43d046cf";
+  sha512.source = "0d9ed87212ae9ad724da0c2ea9799d0b9f11ff26804dd34cf02c28a980a43c6dadada5e2facfd3d0fb946c631af0e8f1291788a02f41647127cf64cb7941d005";
   hasRunfiles = true;
-  version = "2.38.2";
+  version = "2.39.1";
 };
 "relenc" = {
   revision = 22050;
@@ -30214,6 +30534,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.92";
 };
+"robotarm" = {
+  revision = 62567;
+  stripPrefix = 0;
+  sha512.run = "d3f39efa6eadd4b12a94c585fca0af2d9b7e3edd839cdab5a0f14a92b61055552c7cb3fe2ec481e7fcc953c72e41aaec417b08746d29f5f80d5d5d7e2b90b76a";
+  sha512.doc = "55bfe62eef858c875937248f0341236511d4de9c01584b7c73951f46461026dd809dcad9e199f011180a15a9df1dada9b7e1ef23650b74347ad6cd4f90b071fd";
+  sha512.source = "34ce2e93b0269cc76c74b434e2d24909c8c3b09aa9ed17538530d0855ba0546689c147950c7ec1f8361205775346b859b28041ff2bdd0b1f14f2f3f5361801f8";
+  hasRunfiles = true;
+  version = "0.1";
+};
 "roboto" = {
   revision = 54512;
   stripPrefix = 0;
@@ -30450,13 +30779,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "rutitlepage" = {
-  revision = 51073;
+  revision = 62143;
   stripPrefix = 0;
-  sha512.run = "e071bf5dfcb8572dac3287394be5052ca04c6ec90182e306f020ad02c8f4db134c92b41f064423c1063fe5c1c465cf952a8d0d8fec4e917aba82f76850cf38c9";
-  sha512.doc = "e6884d2eaa6e5fc9448c033f1a48ee218f171d5fc16e7a977db89f7807c0bb6d1bb4c212ee489bd882d87149003d9aea2da3170045e165150bb8f7578b719107";
-  sha512.source = "bff9526027292b6484d9a5ebe66d57400eace4fb94f39c97569aeda1c1dcb32e30ace085b07bfdac096ca0dcd587bd7ab8509190dfe9dcd08e4fa7d737fed66f";
+  sha512.run = "fb7d3aa93191c443ba31e1a366f34efa7dfcc896c534d3696002ebc54f3b24cb34131c50fc7d584f4b725d3b56a323628441398b2e1116789437460b97e21fc7";
+  sha512.doc = "f8293227a99eb022a2c3a3ac75d7e8ba6f61880b62f5cce11eb791bb489386de93cefcc2b607cd4880ca58bb933328af66ad93b4c6ce0e16a842c56fed231206";
+  sha512.source = "f42d310b3697077a842fc13f580adc605826c94984102769b6b27de26548792cfac59517319ebbd20719068c012389d0c0a10dc0a89986a89855c8ab8d039620";
   hasRunfiles = true;
-  version = "2.3";
+  version = "3.0";
 };
 "rviewport" = {
   revision = 23739;
@@ -30518,13 +30847,13 @@ tl: { # no indentation
   version = "1.10";
 };
 "sankey" = {
-  revision = 58661;
+  revision = 61874;
   stripPrefix = 0;
-  sha512.run = "be2f6f2ce386abeaba3537ac4f4c89b1c880241193661a3079f0603451ff8675409405717d5d8c34b7b6478d3b340c453929fa371ce2564215a7fd833749f1a8";
-  sha512.doc = "4264cbfa8089740fbf05867886ac157383cc019eb61f9844158acd8fb7dd1a65b48fb648b8b4b258ae3c66e67f18a709502177aff35fd4f7ac3a676127258a9a";
-  sha512.source = "9a43e7b6bd6ead59a6fc56e27546b998565b97ce9e83821df9042295e7cf031f5f2506bf6f8ea6dc2ff306fe827b50b48aa38b4c76b6ecb45ea5d16099dcd98b";
+  sha512.run = "8a77f2ea3b4c2167d823a839fe2fda2c633ffeb775678e6fa9cb84558dad547f4fb03c3fda6c1f85c4984628ce1515ec874482e8a223385bf1c24b2c30dfb362";
+  sha512.doc = "a3d18d1a43f22470ea5498423c10246c780116769b0493356174c8e9acc6d9aaa32657f7582b795d2cd720fdbb6786319090303548661f899a650da4a0442629";
+  sha512.source = "92b3d428919f217c8c869d3896829e324670647c29321bd868753e3b408c5e227acdc15097c81dee01b3319c08fcd94da1cb5e11ceb5d5775a90235a54e997bf";
   hasRunfiles = true;
-  version = "3.0";
+  version = "3.0.1";
 };
 "sanskrit" = {
   revision = 55475;
@@ -30565,12 +30894,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "sapthesis" = {
-  revision = 48365;
+  revision = 61542;
   stripPrefix = 0;
-  sha512.run = "92253d6532c6740ae1bd25fdc76b566ea2d488f31e6a24f90e3b55ddc15d471b6c4ce5c4e7ef29c9a416d9810af49b04ab51530e9594c39beb19fffdc066a917";
-  sha512.doc = "a1d8c40975283a7301c1a842355149f4ae291fd7fd72cc5a44a292f96558b79bae734ec12a78b429c333aadd6f433e9603f7cc75a71eba84d42294461e87767f";
+  sha512.run = "0792eda010b968997077fa7deb82396e02473f7ba5870dbbdeca65369c21797c3a37db176de523319cbbecb682537d1cac368842e2988671ec0e294c889203c7";
+  sha512.doc = "b88b0ace426136e0307465010598fc92fe90d0615f0c2d559e2f703ed7f823243af110576bb45689ef5c77f2b330c482a559f3352a72f98f384c33c141ee396c";
   hasRunfiles = true;
-  version = "4.1";
+  version = "5.0";
 };
 "sasnrdisplay" = {
   revision = 45963;
@@ -30964,21 +31293,21 @@ tl: { # no indentation
   sha512.run = "fe8b53391733392a72be2e2c80892ec68fbdb749c70636c307825c8bfd6284945c9961610fd19f8b5d6b03ec50f0a1543c7d159f5f2a19534d71b221addfb708";
 };
 "scholax" = {
-  revision = 58733;
+  revision = 61836;
   stripPrefix = 0;
-  sha512.run = "67818d34da2803257ae4de877eeb696d34eb887bd6ab54613793f4f1737ababa1fdb657162588c6ec353bf9604113403fbeae2203bf662b888f5197032e57924";
-  sha512.doc = "fb9cf815fb45cb513f8322597e1deefefc77c1829d2ae2f8cffb52a225bfb6fe9712be523ed861aca096bbe80317979dffcdfce87970b66fb403343a5e5e43af";
+  sha512.run = "f7062ca975c2801c220c6c34844d87e410e501442313974c77281aaa0927b27fdfbd2328676405cd1820c809e0354edd332e9fba0d04fa1e9a8d28f91543905c";
+  sha512.doc = "7c64a884165087b72f052e7d3fe8c57857d62b92532bdfc6bcd46e66b12f8b12112bd71ab88d4a9603237b612d1eab5ad10e7de0c14e69ccabeefafcfd380302";
   hasRunfiles = true;
-  version = "1.030";
+  version = "1.033";
 };
 "schooldocs" = {
-  revision = 60560;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "295228025ce4884ae987ecf329d957ad220306c7bb44369e40c6d42a2564b78194a3cf32571f4f188e9557f9db7281bcaf1ade341b39e3eee300e58fbc278213";
-  sha512.doc = "f62105d0f0c130d718db6b91fc3768d81e97b6ee24af4ac1eee00cd4e5d3ea605f2168883340e5662b18b2791fc3aadf405f8287a0562e9e13a254776878448e";
-  sha512.source = "c7717a15ac1170275cf2dda3905f0f6cc504e8b3eaeb6a41ae58c32e2a8d22fb752aaad588526914bfc28905bc4d2af77fdffb3df6881467415c78131d34c60f";
+  sha512.run = "41c980670fb57b6758aadf3f77e9de1795060bf667e74dc20d6fdc1d0dbab801a8e7d5c75fc303c28f53b24cd42e80ff580e8b79c329d4440011cbcfa7425f73";
+  sha512.doc = "aeb5a6485099437bc556d3a78d900b48013082a4948d903d797e594161f22c705bb5225a31a2b12e3d5ca3d741566c3a30c081b988ed8eb92ef0af9bd584cc7e";
+  sha512.source = "d9fb7e94ee08c48bdee1f8344fe9f632876cc17de8d4505c1aa899774632e3ea8eca80889cad3edaaaa1a5672861aded9a9d2bff0255a8bd1d2f1ccf00861a63";
   hasRunfiles = true;
-  version = "1.0";
+  version = "1.1";
 };
 "schule" = {
   revision = 60210;
@@ -30989,10 +31318,10 @@ tl: { # no indentation
   version = "0.8.3";
 };
 "schulmathematik" = {
-  revision = 61347;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "e24ba267da9a9fd00b1de1ef6e878f36be2df2e5860d8e8af65a2c3d91ab04dda143f1aa69bfefc2ccef1970e2149a4fcf2a8ba0d92a0f062a71526d19529795";
-  sha512.doc = "b648305dc48871c5ba4b52af333bad7873038cae7740559383199715fa10e6ed0bb23d3972d80081b9d57857bde80d12fba55730b9af09f6733b0397d9f416a4";
+  sha512.run = "8597b417f703de8aa5353d9ba604559a01890e9745a0c59b6b4e52ff4744d559b1639ddcd55bd2d03a5b35c2006ff10cc278a0ed52315b49142b2ff172183b64";
+  sha512.doc = "aaa4efc0f5c8bc41e446a657a73726700da79962ef6ea61a7537b2d5b7b27de39719e375f0ee110e3e1291848e8c03d03b49f335aa9ab8c9d91fe0731f4be6cc";
   hasRunfiles = true;
   version = "1.2";
 };
@@ -31066,12 +31395,12 @@ tl: { # no indentation
   version = "0.41";
 };
 "scratch3" = {
-  revision = 56258;
+  revision = 61921;
   stripPrefix = 0;
-  sha512.run = "40d781fcb2ba3628e6e7825d48873917c6a138b46ec2b5c5be894639c1ada93eb3632e17e5be6dbb9974d092f3b75c891dccb33cd93fbdb61dc3261400065d2e";
-  sha512.doc = "93fecddc8a36f4ed1c302939678e314b178b600b5983754a9bf7b2b343a8e61174dd7c9aa7926c9c93714045e3e8b9fecc77889562f2f407fe2494283265d69e";
+  sha512.run = "f33f18d725253b11097443116e6c0cf4930b7718a5f8678b0d8fd97d8e4854efb31bd016a40a7dec2701a99bf2b5ac6136a856798ead314a8c21cf38013bb513";
+  sha512.doc = "97a8e684ff98c9aca2ab57cf93be2cf8bb4c0464fa772828c033622860e46d8c61bf563e346aeff1123665c878bf3fc68c58727ec2c1579e815c7a8ece078ff5";
   hasRunfiles = true;
-  version = "0.18";
+  version = "0.19";
 };
 "scratchx" = {
   revision = 44906;
@@ -31167,11 +31496,11 @@ tl: { # no indentation
   version = "1.0";
 };
 "secnum" = {
-  revision = 60365;
+  revision = 61813;
   stripPrefix = 0;
-  sha512.run = "78d92a6e4fca2e1a8c24f9f94f0872afc8bbbd3ecb64c5bc15bccc8ca2a04fc58024ba436820f399aab7f7e1a243d89e72c902d0167df5b286a7a5160bee0289";
-  sha512.doc = "c0cc2998f191759f32e5ea5e7faabca63de02493a355550f53c004c66db1ae82c5d89cbf9655e33ff878acde8a0ecb1208b5aae1a72dd7f74bbe296225c595d2";
-  sha512.source = "4a49082da28d518fad99006c7612b5318f875d70f184de07ea3f9851841a91e894709bb8a1915674ed88f1648b9cce960d4a24e2b69782919632536145a8bf79";
+  sha512.run = "543d290e5ae38ac65cd22217aec417f4c1098d629ce9acfe03340b529a7bb89ca012e2edf5321fd90331d79bd87cb5e6f15eef3e599857c2aaaad22bdfd1be78";
+  sha512.doc = "da4ec2a79e7a04bbf4296f1fd0929971bd577cf4f55d0852923a0bbb73e78e28eba392d203f1abaad1fcbcdffa9e2206fb7d78003b10a2ed428c87562b01de02";
+  sha512.source = "ca61cea878ed892f46b4defcd0a05176578d01b01b5f3924dfe6278278fb77ed89df3d41bd788a06bd7af389904421439ca06afac2440ba557948aa4e80a5817";
   hasRunfiles = true;
 };
 "section" = {
@@ -31407,6 +31736,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "6.7a";
 };
+"seu-ml-assign" = {
+  revision = 62835;
+  stripPrefix = 0;
+  sha512.run = "05f6b2bfadcdfba6eb92745e6348759f4f4c2102bbf7f36df77d0edc6c120bd425889d8cb09b909f38e48c1c29b467c3294f36e83276e4fc8e54cdaae8b5c3fd";
+  sha512.doc = "d691287c3cf8d426810c22269c9209dc54dfa8d802d40da1b62194ba8fce0617b238b1844dd15107fc39f121f4312b9d058a87f8749bddd5600982766d11d62c";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "seuthesis" = {
   revision = 33042;
   stripPrefix = 0;
@@ -31631,12 +31968,38 @@ tl: { # no indentation
   version = "1.05";
 };
 "shtthesis" = {
-  revision = 57740;
+  revision = 62483;
   stripPrefix = 0;
-  sha512.run = "50a81503c33b2d38f04315335c4184f8949b23e0a535297b611c1c28248a87871ca288c1953db0edefa50cc4de238b270400a47e530339601207bb9cc2560429";
-  sha512.doc = "e4817b159e7b449f440750bb9bf2fc479f61e0532bfb832b34af989bddaada5d45be5a1be7dc24baca11c0338c4fb91219454b93f9024eef5dc861f2caf844f4";
+  deps."alphalph" = tl."alphalph";
+  deps."biber" = tl."biber";
+  deps."biblatex" = tl."biblatex";
+  deps."biblatex-gb7714-2015" = tl."biblatex-gb7714-2015";
+  deps."booktabs" = tl."booktabs";
+  deps."caption" = tl."caption";
+  deps."colortbl" = tl."colortbl";
+  deps."ctex" = tl."ctex";
+  deps."datetime" = tl."datetime";
+  deps."enumitem" = tl."enumitem";
+  deps."fancyhdr" = tl."fancyhdr";
+  deps."fmtcount" = tl."fmtcount";
+  deps."lastpage" = tl."lastpage";
+  deps."latexmk" = tl."latexmk";
+  deps."listings" = tl."listings";
+  deps."lua-alt-getopt" = tl."lua-alt-getopt";
+  deps."lualatex-math" = tl."lualatex-math";
+  deps."mathtools" = tl."mathtools";
+  deps."ntheorem" = tl."ntheorem";
+  deps."tex-gyre" = tl."tex-gyre";
+  deps."tocvsec2" = tl."tocvsec2";
+  deps."transparent" = tl."transparent";
+  deps."undolabl" = tl."undolabl";
+  deps."unicode-math" = tl."unicode-math";
+  deps."xits" = tl."xits";
+  deps."xstring" = tl."xstring";
+  sha512.run = "277d38ac72c0eefbb52ce1cb44ba1400dee506b823c2a7cdb2b8909d2e48ae1d6c56ae843381d48830592550a52238d390d9ce51c22c5e4ea5658383cec64044";
+  sha512.doc = "220b0229c84252c7b4d699951a14826f033d9904ead9f6318ba28eefc7ca2c3ad3cd7f4c986abaa976ad057e62cf8c6595f26ed49b12d16fccc60d572ee34e9f";
   hasRunfiles = true;
-  version = "0.3.2";
+  version = "0.3.3";
 };
 "shuffle" = {
   revision = 15878;
@@ -31690,6 +32053,15 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.5b";
 };
+"sillypage" = {
+  revision = 61857;
+  stripPrefix = 0;
+  sha512.run = "b61813d02861afa70cecf154e14de2ced48f087d363732e05a477727e4992bd460b8475a20d1eb94cfb276f01625516d0b3da8859b1a7e21c2919187cc644e3b";
+  sha512.doc = "eff5ae4f1785432cebc6a1b9fc370df8808d9c9a1a6fcf449ed4151ede386ac2a33fbc8102f78809a744fb5c399aa21c48b2e030916c56f673a044fd262a827b";
+  sha512.source = "e6d1e9ad52142d9f1b028c38eff926396e277916a91899630bcdce6cf56cdc8bc2e542c7765d857e2fd2985bed03669cbfc24db03c1724bd7b8709bee99d9bbe";
+  hasRunfiles = true;
+  version = "1.4";
+};
 "simple-resume-cv" = {
   revision = 43057;
   stripPrefix = 0;
@@ -31777,11 +32149,11 @@ tl: { # no indentation
   sha512.doc = "f5bf92ed89cfc83f306cd4b2599446a11b73f73a0b82afbd0f441e26d837e6f436913bd2df18585c5e215fa0504bfee3d5d4f5ef4da8925161f85c70c14045e6";
 };
 "simplivre" = {
-  revision = 61338;
+  revision = 62834;
   stripPrefix = 0;
   deps."minimalist" = tl."minimalist";
-  sha512.run = "495195229000b74ded294ea807922bb8c1448481bad07eac676b6ce3e5ebe7de2d98d44c88e12aee53e0816f85eb4507d3a283b750031fb964d2c239c1344772";
-  sha512.doc = "99575208b92d107bb22b23f947b918dd920c8d34f0f5e42af1895731cc84faeaccc11231115198f01d4a0461416bf984526a974ff82f17bf775be6b99002ec58";
+  sha512.run = "e8a54be20a59f365db8485712b8b54873898aba1eec95c81e5dbe819dc577f25eb2d45e3e6d313916e57d2ee3e375ece82b57f4aa237e69856701fdd35d881e1";
+  sha512.doc = "c8442062bde35c1537f31ac5617f1da74b6425a1e324f245e7e9411de4e22dcdba161e119db2ffdf847a4bb62e56c45fb6bbf3980bef49dac0c79b9e2824d38e";
   hasRunfiles = true;
 };
 "simurgh" = {
@@ -31820,21 +32192,21 @@ tl: { # no indentation
   version = "1.36";
 };
 "siunitx" = {
-  revision = 61216;
+  revision = 62048;
   stripPrefix = 0;
   deps."l3kernel" = tl."l3kernel";
   deps."l3packages" = tl."l3packages";
-  sha512.run = "7c326ecec5031ea93eed4c2c94c63a3907422b6e1e5a90bd3314c7fa4964d66e366ec798eb1b0ccc8c8b29a96a9cc9ece8da130e20f5d989b14045118714a004";
-  sha512.doc = "6ced0f90a64f6d6cfeca304852ac00fdc8c94930176115c0f5c4b3569eee3bf7ea0bf2c131c123f58602a5c19856969e4a53a079f1d825ddd89a1f6d9d6116e9";
-  sha512.source = "a81dd931a41995b23952bee644febdd8390545eaecfd8f127cf73e0bc7a371d440f41f68a8c7f5fd68b3f0eb520d8ed73b0d9588d95439cd7dc3d76f7db86e15";
+  sha512.run = "7ec2ed709db234abdb2a8771f37b86cfa0621aaa58aeebe648f0abd9b228f8384922624e5363665ab62007b77780dfd0ea60033f4d254d0e81ffed6a7a8ab463";
+  sha512.doc = "ee3638b1cc78e249ed8663a250c91e615e191b52df273ab6639e3bb984fac2630f9a8d489f4b67441e232adb0ba56ff1c1d48028d1da8f7fe76ba7a4217a6a01";
+  sha512.source = "3599abea49d79bc1c1375efba54a5e7cf80544e5285e79a318019d6bda0937a5d741d55c01bb45641b6ea13aac911de6113609cf3ccc9d2557a81977b9467968";
   hasRunfiles = true;
-  version = "3.0.37";
+  version = "3.0.49";
 };
 "skak" = {
-  revision = 46259;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "7bf473f1f35fa05c1cc7cccec212b035619382ce850c287a6b0734cd52182046df35133bd919a335532db9fd5327d2038ce1c3e98342055d93a5dc3b16028697";
-  sha512.doc = "443d98538fb732bfe9f3df26e05e46be54641006df255d3084697301cfa93f48cb8d307a9a5b58f25742b96065658f446b52968c3bd8ce14fdc864f32cb920e4";
+  sha512.run = "df1a6adea32b01c8ad8ad7509c68e025ad2e1005d9aaf26cc35c67f82d21f510d1e414831f5df0a2f0703e295fb4c187d359ef7dbfe8afd76a8ce75a90f3b4bb";
+  sha512.doc = "ffcb56dfae0a0ea91e716b99d1d91d4f20fedab8eb7b637f62630dbc4a8fad0562120cc02a754df475dc16c4b1a09fb2da48b8a9e22112d0c69550016026f76f";
   hasRunfiles = true;
   version = "1.5.3";
 };
@@ -31946,12 +32318,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "smart-eqn" = {
-  revision = 60178;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "6c86441ebc231e92b5ed5663b2ebd59783e05afc6cf8bba91d69f7aaf5386f32b0f37779488057be3e01b2dccfaf9bc764e408d47528bd71d73add32bca817e3";
-  sha512.doc = "3f4e0eb5ab5f2a40604f4d93657ae8b118f41bd6b37ea61740c64c9242e6bf3d664be6d120371b85fe47f44f2c80cd4a65fcaeeeac84ee1eb42b917e394316d3";
-  sha512.source = "6be5d69818d3af289514d1dea73726bf65e45383ddb65e4c25202f38e621b53eba957b1576a74c2667cf83edff1f57a21f3cab740f091e8c90112354277f2bca";
+  sha512.run = "03f69303ec66b59a7425e06a4e8941a5c93414514b5f80cbc138a75a5619791dfa3ff2f1435ddbfbe7fe5af298a1af5325f279f36d924e97a5074ef930b42997";
+  sha512.doc = "85eb6e8ccbea66cb6e30f862491adc02316af9071753459eb56e8f19011e9ab7865f87868ed348e5b0f6192b2305dffe5272d885486b881e2d286ceb211c77dd";
+  sha512.source = "f7bd8c3b2e616a739b0d5ad459e1041c492b1e00cb9258b55ce4631465e510e71c166a3f6a94b8244a7e1b4bf098ede5c9379a7a5a6baa90eb28026e9be0bad3";
   hasRunfiles = true;
+  version = "1.0";
 };
 "smartdiagram" = {
   revision = 42781;
@@ -32004,12 +32377,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "snotez" = {
-  revision = 57147;
+  revision = 61992;
   stripPrefix = 0;
-  sha512.run = "f55e6af23e02c4a56827b405cefff308087be9a78c1c171b4d8a20d9669cff44d43cb60f522694708b39b8b010576ab0ea6ad2d2355f5b9113ba9e19ef913a87";
-  sha512.doc = "b68442cfbe57907bf3bd1843cfd4006fc3fd0947d5ff06c18afa50d206f4f2890f7e804f55bb9a3c4f16677deca81f3fc41c75bcc5fa4d55e4aec23a644a86ec";
+  sha512.run = "8e827171eb8ae6281d0be97bddd251db57349f935ac6309eace72396be37c33e8bd79d792701f56a5e338eccfae452411de520bdab5f5747e6fb741e5215c1bd";
+  sha512.doc = "230cd4f3f8922fe520c7b476f8f7b31e3965029e72e58828107e5f7c761b87a64f5c5df9faadb610277d45ff95052878c070e690932759850da34fd82fb028d0";
   hasRunfiles = true;
-  version = "0.5a";
+  version = "0.7";
 };
 "songbook" = {
   revision = 18136;
@@ -32123,12 +32496,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "spark-otf" = {
-  revision = 51005;
+  revision = 62482;
   stripPrefix = 0;
-  sha512.run = "863587da0d6a03267dd36437b112be4a1391537d7186db0f9acae2d5c3721b2a303d7b2ca86d47a619b9265930fb4795f87522498cd34c80d057ef56d1b8daa2";
-  sha512.doc = "2b3a9fab8e29c1fd9bf1b3a3f729d4d728fd22d6dba86aa746febac2eafe59df1afe65f557c9e3c816983eeeab8d798bb4f54712be8f5590706bcc49a2e50199";
+  sha512.run = "bb8501ab9387357ea304d4dc420f2abc3b14ab98e2020c15283af74f99bf773fdcb01d9c0e8664d2d6c7cb909a781e918702b0a11e901f37bcb0581d8e5e810d";
+  sha512.doc = "48603e9b42b13206e1a592fc623d39ea7364fe28e89d3ac92f6dd56abeb8cc1256f91fc36df7fc799c42bd6b2d6626091a6219eb3fd5224fc207c52f2e41def4";
   hasRunfiles = true;
-  version = "0.05";
+  version = "0.05a";
 };
 "sparklines" = {
   revision = 42821;
@@ -32148,12 +32521,12 @@ tl: { # no indentation
   version = "2.4";
 };
 "spbmark" = {
-  revision = 61383;
+  revision = 62448;
   stripPrefix = 0;
-  sha512.run = "ada1d4db0c3b59170eb7f5fac544ae628bcb81ab4ec5dea3ec4d1ed235ac4d4ada24f6ff6837c0a659e9e8d2da37c70af529fedfa578ec0e53f47acb3646a87f";
-  sha512.doc = "fcb1049bbe587c0f4c77476d5780d2f9d4cc4be9f6a58ef200c1c0b85c5a271a8d3e80bf4dbd047a71ab3470e876ce53d2627d45a7c10586022ec0547b6a7d07";
+  sha512.run = "7d3662a08b43c225d8c62ba13ea0071d4eb367d9400dfd3b35b9367b238129c68aa066178db23bbefafe17f1303b6ef4e854a667c0a00445566676da2f526da4";
+  sha512.doc = "1e973f568453b02e85f67d4cc2f2cfe51ab8af4b31c4f7f48df9d4d4a2bef649549bcf5803bbc66d1459a592e2e644d7117b6aceff56867ee7e34d704549698a";
   hasRunfiles = true;
-  version = "1.2H";
+  version = "1.4";
 };
 "spectral" = {
   revision = 57296;
@@ -32163,12 +32536,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "spectralsequences" = {
-  revision = 59992;
+  revision = 62262;
   stripPrefix = 0;
-  sha512.run = "6865ffce4891cadcffe77b43572f0073a5e53c257b660e3e6ee6df004b2560d7e98bffad70195150c87952152304439e5602c9dae7d0d5e763c81fb8694c8d3d";
-  sha512.doc = "99529e9a783df04be7ff4d02b9579b82a1e4ba98b04fbb5bb89df7e34a338a1a0188359942dc4ab3a61d5928f496417465c6615cacf6a0f3923ced35135b59ca";
+  sha512.run = "02ed7d4a46d6bf7046985f6f63845234c31049cf4ebec352be7704a6076859533c4180fb7e73f52755f5fdcc1fa3a15fe1dbbad2daed88f1946a4b03bbc14892";
+  sha512.doc = "7e77757234287b9ddb0936a6df71dbc377a4a4872e07c7fe5713693fb31aa70520dbeb1083c510d165ab4c2e12df3c9f1cd40093b644a094b2b1dbddfa436ec3";
   hasRunfiles = true;
-  version = "1.3.0";
+  version = "1.3.2";
 };
 "spelling" = {
   revision = 30715;
@@ -32301,12 +32674,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "srdp-mathematik" = {
-  revision = 61382;
+  revision = 62418;
   stripPrefix = 0;
-  sha512.run = "136e82abbe636476439596ffc746539ec587adcb3990111d8d3a6da6d9fcc8232809f75f269921b04b21f4494d26a28f542253a982b3735dc98e31d84c87b99d";
-  sha512.doc = "d1ed31b68c9ba52fde6aa1e676a7cc74ed1086447bdcc3190fab8e64e9c32dc30c348a6e0a36306d0b3d31f5fe7dca47da0016990648a00e4416e291dd3bcf28";
+  sha512.run = "72de0b3d5bdfa56804c36b6cd641b357c31466f3478ac6ff334fa5881c800865af2912ad429e70d440a9e5d0b642828169047f63782980e684be11b06032da65";
+  sha512.doc = "205eab689b65e8454fa5d4aa0da91e2561e1d67828b690f2a6d20b2c3fc06ff992ba63cf2116174379a04d0a1fbcb40768259f0366cb05d3fe44b7af8d0b1ea7";
   hasRunfiles = true;
-  version = "1.9.3";
+  version = "1.9.5";
 };
 "sseq" = {
   revision = 31585;
@@ -32384,12 +32757,6 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.04";
 };
-"startlatex2e" = {
-  revision = 56809;
-  stripPrefix = 0;
-  sha512.run = "e8946fbe61c9c52a3fe5cc7b6b4adfdd8a90312fc146f331f0dff774e819ed1a789ad047c2587816b7b8568f4a520b2c0600a4b39ff3586254bfb6f15db28b79";
-  sha512.doc = "767c9defb727f206c8e2090a1501e8435bf77859b6546690c7a8d1cb6481ae4c576346449fe760423eaf126858e521b020404cbe84ab2f02c95f07e1af8f93c5";
-};
 "statex" = {
   revision = 20306;
   stripPrefix = 0;
@@ -32503,12 +32870,13 @@ tl: { # no indentation
   version = "3.0b1";
 };
 "stex" = {
-  revision = 50489;
+  revision = 62231;
   stripPrefix = 0;
-  sha512.run = "43d9cb084f47b1fc2bfab9eb11ec9253fda495f29640d333c00de5d7a5681bf37e0331002938e141679b0ab10345e23d5cbff19cb33fbfa01d25be62295b18dc";
-  sha512.doc = "3e936e5905f5dac9a16030af94037398c60b6b79feeb6180af4b7542eb8293a681a213115dd082d9e2df8264771d6d92544e6ec514cf40cf4a136cf74a0a6e51";
-  sha512.source = "5cf2ccb75d699f86a095481c4fdefe0d2a981340d3df72c09ddfc4acd3798a35546674eca62c8aea07431b50edd643c514af901d86513a3e5d0d3af9588f24ed";
+  sha512.run = "e47a724caa1a47a3d88d88e3ecb69c3336465df2b777b6567fb23c97506d413251a3b300e39e86ece8bb3271aeb13b00daa0f798463249ce1717783df7eca14a";
+  sha512.doc = "47ac36659667c4743056f86ef9e807656bea77b24a0374c4a8f02826b62b9e1121034785f3474b5726b862f523a3620657606d005f45521e51592cc9dac12f39";
+  sha512.source = "14ed535a53be60c2d6de6aba088c52d915c9f7b656ed4eac9ebb78a53e0ed9573ac2eb691f097d7d7d26a9d70df6abec4fac4ae6e641aa083af09179c7650f02";
   hasRunfiles = true;
+  version = "3.0.1";
 };
 "stickstoo" = {
   revision = 60793;
@@ -32905,11 +33273,11 @@ tl: { # no indentation
   version = "3.1862";
 };
 "svninfo" = {
-  revision = 17554;
+  revision = 62157;
   stripPrefix = 0;
-  sha512.run = "efb2b358bbf5a05b17a591114d0f45a38ff42837751d00b88183265d9bf595ba39377fc53dfe69ca01ae8c1776e6d4ded9c0f636e0e697b946f1d193b39c1537";
-  sha512.doc = "f8f20578da98d54181475d23be625a80c35af5e464fdcfca80643f8701a029bfdf03cfb13ec42be34312eafc372e42e5bbb4260aaa5066fe004b2fd6fcb2acc7";
-  sha512.source = "7ce865a81c8fcd47ff2cf00b5304e40ca0d534ee63b23cf24eb716926f3258a8081ec6aa9bf160a3fce741f1dab6c62e069ada8f5298f9a354d92c34ab36058b";
+  sha512.run = "ca2e0a3d0a5f4ab6950d5995b39f785ba071294134d947a47ca3e1f7e0bedc69398f9d0fc2162f349a635aa19ce8c963ec7c88d4bed2100d8f3da05219235655";
+  sha512.doc = "aa4bd06d31bad0a2441623b80f52702d67fdef03912b6f96058f3a89d00f4601cc4bae76a24f49540169ad30883177d038ddc7dedabd8d643b59df5c94be4a65";
+  sha512.source = "f9f65dcc56ae6b9cf2f5cd9dac27e3760f12428bee623e70018a767dbbf0b919178994349051893e52a04de75b8455b1c218b0f779f4a0ae4930480ba0ed24d1";
   hasRunfiles = true;
   version = "0.7.4";
 };
@@ -32930,13 +33298,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "swfigure" = {
-  revision = 57213;
+  revision = 61493;
   stripPrefix = 0;
-  sha512.run = "128965eab86a5028904bb2486c7adfead525ccc26a912cd4f69b63a11e18fadb3f8b0f42a9ba3e8296952afd3be0be052fa721a0edd6df320827acda82e6271a";
-  sha512.doc = "968b87d733ec7bfabab4a7996482c54b184e8e46c8f5e30078e9c8957923c2fda3f136b65d5b1be392b62fce5fd1e016066dd86d42da3e43997b04a723a491fd";
-  sha512.source = "fa34afb85d7380539e283d5f1aca26468c31b6d631d28618a3cde73e3bfa493a3106f4321a5cbe172d86ef547165fc255f02f44957b28abf15c1b08d36e72952";
+  sha512.run = "ba65a58cca232d80058a392aad3b84ca77fcb7d5730ca7193e7db3ae91a6558dc6dfdc8a9c41226f2b837065d94c37869eb5879bc5e5ec56889eca87aea3b1ea";
+  sha512.doc = "193a0d1077291aa5eef1c8f570a4fb6c10467d022691076302f985a7da07ba32f0d550a13b8dab55050456c587d00acf94bd3d619c4764b332345eef65928c3c";
+  sha512.source = "37ecae6859974fa4855c68de0611520e5a2186e71ba9e737c72cc63518c14d98801bf6d2683cdbed170c4a1da6a85d94266ac355a5a75c4b1bd4dc93323dee2e";
   hasRunfiles = true;
-  version = "0.9.18";
+  version = "0.9.19";
 };
 "swimgraf" = {
   revision = 25446;
@@ -32960,9 +33328,9 @@ tl: { # no indentation
   version = "1.2";
 };
 "symbol" = {
-  revision = 31835;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "d942031f4a865c9db3f1deb68e9468132e811c88a4de67661a25431506a8ea41b2a9cd36ae0855208802d5b7cd4495b3cc27e9e18996dbf96f2529fecf4683e0";
+  sha512.run = "1a2d3239cf7c9910b19db527d5c2b43af2b399114b3186505e790a139ae5ef82c2ff1ecd5adc858a46febaf2e46e028037ba65bd5b84fec0737edd89d5061c09";
   hasRunfiles = true;
 };
 "sympytexpackage" = {
@@ -33171,12 +33539,12 @@ tl: { # no indentation
   version = "1.4";
 };
 "tabu" = {
-  revision = 56615;
+  revision = 61719;
   stripPrefix = 0;
   deps."varwidth" = tl."varwidth";
-  sha512.run = "cee6894fac19a98293402b714cc52eaf8ec0b9965a8e9ab9f5125388a2e4709e5d33063286eac9e45a3470f551d1aeeb41d09623b5dddd6563c1c462c2582ba3";
-  sha512.doc = "9e10613a8ca8b29d61ab5a394ece8e25e0e8abea4b7a70b01382935650c86e9554712635c78f3b097afc5f9560cef2fceb984b383826e206233c28144f332c2f";
-  sha512.source = "7b88f0fee52dead2555b4dcc11699ff167207f210f663faccccc1f951e40a53a5a572840c43070d4f86bd183c5e0d9e456c548013160a39264bcda10e71ca49d";
+  sha512.run = "b40dc1e91084912df03175a6529223c6f24ae3c0ec77cfb8f1f8625816ea78c044c8f01f1b473e84696421d6772d9201fa4b59aa93e6f014b73598d16c09a6cd";
+  sha512.doc = "5ef0a71d643bf5069a622aa8c807bf87db7445caab1f17b5202ee25ddab5368e94e796eb16de4fb183f294cedc232d48cbdba68f45d2451e01a2483d6869822d";
+  sha512.source = "7c80ee8d25933e5d1c579357cffdf7177b0a419a847ca1e671cb1dda19fbde9b3680658df6b814d5d92953dd13eeee5100a5aa2fdb5fec3cbc1e213545cb3a78";
   hasRunfiles = true;
   version = "2.9";
 };
@@ -33207,12 +33575,12 @@ tl: { # no indentation
   version = "0.1";
 };
 "tabularray" = {
-  revision = 61200;
+  revision = 62329;
   stripPrefix = 0;
-  sha512.run = "b73fb6fb0ef945b79a41438d0a1282e367848de551daca4b274379c9906b65af0d49397f7e040c430753818ff967c5b5f148653c5807e4af33b2294cedd7eae2";
-  sha512.doc = "c3d7fc1a32ccb649d00019804212ec592d5a7b474547aa61362ab6a403c6b8407f9240aa1bf390f199de80371369a7d555a96bedfcdd7963f98e0d9ce0636c5a";
+  sha512.run = "b48eb4bd562d3a660524d738e32048f43924eae2d802681c8b131e6df8f667814983d6fa76790766b9a7448450fd8fde3546b1ee0c75daab257290122417506f";
+  sha512.doc = "6cbbe594e1cb4fd5092ce1dbfaf90cd4e4109e0196e9566f5b9897be7d6358892b21ea53e0b261d0eddb441bf7b630944e229dbcade62e1db53de5b26f041ac6";
   hasRunfiles = true;
-  version = "2021Q";
+  version = "2022A";
 };
 "tabulary" = {
   revision = 34368;
@@ -33249,13 +33617,13 @@ tl: { # no indentation
   version = "1.1";
 };
 "tagpdf" = {
-  revision = 60366;
+  revision = 61600;
   stripPrefix = 0;
-  sha512.run = "30c433b859248ad73c87daa65abfb816d464f8e1f3335aa6cf8d12a16d330b5a25140537dfc428b22540cab93d1c867e3b2dbcfc1b591ccaa41012a9510df8a6";
-  sha512.doc = "a874989022eb3c75fb9c43d3883e960b9e9c56ad055edd90364292b0c102b04657addcf289d28303bcb6e8b1a9b7c0697ffd7ef7fc834ce2613ff0c063887ac9";
-  sha512.source = "9ce6b3b72c14c620e05a0575c09c5cf871bd1041704d42e535a6b38ad2daab3896fb928031e19a16a02e91796cd10bfafe1a022825a7376038d356d237171f6c";
+  sha512.run = "d976d6502f5356aace244de0a790debc8b43014679a4ac04866ae697d000f273eb9cc2bb44a5bd7f394e9e2cf14ea96e1086ae9799a01dc3d3199b24304b9cdc";
+  sha512.doc = "1c676f769fe449102ef16c12ab46aef747318ffab5b1166478bc1f0dbfba307e063710f7c46f1ba77290c86fc7a16243bb08a4bb66c99ee2cfcbd644631b1c88";
+  sha512.source = "02bf6eb605c6c9d324e68e11eb12dcf02fe795622075ecd74bcf05f364b733951ef411bcccb23fb9790a365cf36d0b1fe1c5849b49ffd768e296242f43c76627";
   hasRunfiles = true;
-  version = "0.92";
+  version = "0.93";
 };
 "talk" = {
   revision = 42428;
@@ -33266,6 +33634,14 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "1.1";
 };
+"talos" = {
+  revision = 61820;
+  stripPrefix = 0;
+  sha512.run = "50a35159c65afa43900ee8633d2b86effa5aec6a430f2e8fa85f77442da35b140012b27959155564e29286aba465d9bab17c9f5ce5ec0a889ec4ed5dff1b4dcb";
+  sha512.doc = "9bdbd72f86e0b957580bb008ba349eb428721913010e9fe2cd9ee9b01733d6259914712b60a4a7f0f5804041e6cf876d8bdda2910de1b191715c1d9c8d8fbf77";
+  hasRunfiles = true;
+  version = "1.0";
+};
 "tamefloats" = {
   revision = 27345;
   stripPrefix = 0;
@@ -33298,12 +33674,12 @@ tl: { # no indentation
   version = "0.2";
 };
 "tasks" = {
-  revision = 57835;
+  revision = 61541;
   stripPrefix = 0;
-  sha512.run = "995da480ba215f79bf989524f3fe8d66919529aa8cd9bf40d5e42276f3fa0ec27c4a0da51281b8070dd956af1cf80403fdea0916d39e54a9f21796c16773ebc5";
-  sha512.doc = "2ac26058e157163991fee0704d4f22e8f0480a22391f029e29aeb5fb76772955b753ba29261db58918391129e24c5a31efaae6273aab653ef13a34f863347dfc";
+  sha512.run = "0625dd459eaf53f842f6c36a550808c3efa8004a76cf25bc892b4c50a640ba588c2d069ce8df10f5c8febf5461390517357040b8a472532fd1f9b9ceddd9e5c3";
+  sha512.doc = "a3240edd6bd7e87b7e1b6292fc227e166b54cbda7f130dc5f03c92707577a9b51f4da5377375419feda6a91a710f48b787dc3da90a1befe1d1328ea9a799f649";
   hasRunfiles = true;
-  version = "1.3a";
+  version = "1.4a";
 };
 "tcldoc" = {
   revision = 22018;
@@ -33315,12 +33691,12 @@ tl: { # no indentation
   version = "2.40";
 };
 "tcolorbox" = {
-  revision = 61358;
+  revision = 61524;
   stripPrefix = 0;
-  sha512.run = "c0e45202f18657a68a2701047f95325ed34b103a4798fa167ed6513b21c4219b886a4fa82ac7015c88a5b2ebfbf459934f80fdb592cae4616de9756df396f2c6";
-  sha512.doc = "fb38e16b3ab149892c97071d4693ad1a61e0b75816313977081c9424f6af625e302bb84ab8b02ac709e5fac51231c3d4b8e03564ae3b3723891e98002687febe";
+  sha512.run = "35ead6c1859d6112eae3e3f5c33abfa58eac55de2154aebf21131d73aac96fa96f7214e662c5eb174ba4ebb6ce26ee0838dc6ee1762f5d4824dc17c7bd6850c8";
+  sha512.doc = "64bf381bfff6b87b431bfbd32596818a786f99676f596adab78cc0b447895cf9f63b234ed9e120c543c7af7fdb6c58a114d15c0d4494171b2a3ba49085e4976e";
   hasRunfiles = true;
-  version = "5.0.1";
+  version = "5.0.2";
 };
 "tdclock" = {
   revision = 33043;
@@ -33331,10 +33707,10 @@ tl: { # no indentation
   version = "2.5";
 };
 "tds" = {
-  revision = 15878;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "20b739d69ba9804c12761c0eb76c0b7961657d2ba2fb00db9d083022279cca2b2b176fc7aaba11fceb77da4b7a23ba53c80e98a492fb4929adb545d56f5e8958";
-  sha512.doc = "ab08ea4220a30ac896add47e5422dbf2ff3eb65c3c89e90c87983c5dff75dfae6fc4d6f8cda58f2da51dae505f537ea07cee0e2378da845c20e790f8a1724f7c";
+  sha512.run = "306ac6f6f21e7e2a26ae759130b79435fca4720d0cb810660a254b3b30c21a3dff5eab2c8c739771a92580f9b2fd2580e161ccfe97e00e5e1d97109a6327e8e0";
+  sha512.doc = "6719270a877a241cf123a84ee01794dd3b9d77e8ae437a8bd6c91dad3bd9a327bfc9ae75f9001a03e57630baafdb06adee84c31a972d08b046ee5cd8cec9d2f2";
   version = "1.1";
 };
 "tdsfrmath" = {
@@ -33505,15 +33881,15 @@ tl: { # no indentation
   version = "5.4";
 };
 "tex" = {
-  revision = 57972;
+  revision = 61719;
   deps."cm" = tl."cm";
   deps."hyphen-base" = tl."hyphen-base";
   deps."knuth-lib" = tl."knuth-lib";
   deps."kpathsea" = tl."kpathsea";
   deps."plain" = tl."plain";
   hasFormats = true;
-  sha512.run = "e38f62fcc5ccee22a909eae5ea196e055eae59eedc652ce9788a3b4520995e97f64c683f1ba940853a06030a7ea6f1d749ed4dda1cb30433f87f5f9cdce5a9a7";
-  sha512.doc = "3056263569276ca7a62ccb03542eac99b648d36c398ded17204a2624f06920c506985aedd1a639a48bc60af6394d091cdfd9ec44000730bd8e8c83c2234bb569";
+  sha512.run = "a1043df4c4cefa34ac198b9ee0adb74b99321fda3989bd090622308007b1baba4f1d4338ee675208bb8baea66e8e1e4abbb72e30d5eabf68e67b61dd5cfad218";
+  sha512.doc = "ad4b956f6749868fc1ac550932443e44e05d20d40e543e91bccf183cf81d2134ae86997aeff1b781659025492bcfd139bda37a89f01c1a9cd22a4a35b92c28a9";
   version = "3.141592653";
 };
 "tex-ewd" = {
@@ -33606,24 +33982,24 @@ tl: { # no indentation
   sha512.doc = "aa73261fb0ffdbb7cdbf85df354490a72bd95e4d98e4a497e98666e6f5533a7f05a7132533db044ba993d86e03fc21825bc6fa7f262e5a0bcdb6de8114d38eee";
 };
 "tex-vpat" = {
-  revision = 60687;
+  revision = 61810;
   stripPrefix = 0;
-  sha512.run = "e68812733ec787ad7fb7f80ad589fb0d207520a6fe6904060ce7c383d7d45805d206d3610e31c34dfadd011a32c81740f0fd91330b30a24ba2f64fbdab1d5f96";
-  sha512.doc = "909865a736bc77a01e9ebf78c0650dc598acf0d2d078226541d5d236d72f08fede27343f15c0ca832fe17d0eaafe4749431974b062daa7076980e94dc104469c";
-  version = "1.0";
+  sha512.run = "748b2918120012869223afd9516197992485078eb10b6c9406069376cb2b7afdd74fa848ad0a6e3b85c8e89f869283ffe89d9add89d64d388eb83fd02f37874d";
+  sha512.doc = "f52fcf79d04eca3dfb3351da667efa8b80be894400490048da3ec1e39d973fb1f17fb126381a6f5f04269da6f5f880607a6410931fbccc2d8d3ff1f59a89f934";
+  version = "2.0";
 };
 "tex4ebook" = {
-  revision = 61012;
-  sha512.run = "6493b58680c1e2437f8c8f964722fd45b860b577d1090356952dc46b5ea7d1349c526f41ee0254655fd1d33df8e427d83cabcbd237696e95950c570970dd291f";
-  sha512.doc = "b7a226a5249496dafac9ad09252ab8172f7c383a7f0cc82fd289b3831b7fc1ac53d76c8bedbb26c662c41ffa7502e773dc3f79dcbd3a2e26e62fb5d73efa21f8";
+  revision = 62076;
+  sha512.run = "ce9a19544d63fdec5e37fd129bfc87c6fa7c35ebfd719a703b9ba59dfd4ddcded42d03d075f2fd80730a5f295b2393c083098e5782b3a0ab2cbace335bb78c50";
+  sha512.doc = "08bfe7b1ca1b245174df6b4e4a1640ba0cf7c5c821ed76cb9b85b512055088354ab0d59383b5973720fd83b298efae795f46a61c7cc95c2816edd57408c4efd7";
   hasRunfiles = true;
-  version = "0.3g";
+  version = "0.3h";
 };
 "tex4ht" = {
-  revision = 61362;
-  sha512.run = "624d0cb9c86d0a9b7f36a44fab3515ca0d480c843fd319347670d5bd2ef5b8c15974579debc3d674f23314e81362282d7b099568f4513f0b1deb4be8efb8ee7c";
-  sha512.doc = "1c7f345d6666d4f474dcf3d38d2077dc739e532e1112880e5c63514300363d5c826320358cf666c5f291391c3f5dfad53d3b2648124717a84395ec427c57831e";
-  sha512.source = "6d7a2b5e75c0e185aca7d67ca2813619e7101c0ae9af7a2b017462c3e6a423f9948da702395787e44a9c21b9cc939b7eb218807770c5dc0fab71a8c2ffe12b44";
+  revision = 62532;
+  sha512.run = "3d8cd7697c508dce7af2b2c5fc580d619c792f920142f0288881d9a5d07c7f4e655249cabbfb8b41d75bd3a5ffd0cd3c899c5209d3ddadf40e2d896c3711cb1b";
+  sha512.doc = "da7d20c1cd3ff1e7b5251877858e7f988763236afca1d8b7cd858b1dc1fd9e155c079b656e9adcd006357810b8062fccc792f5fac19ff119098a7e4a7fa36a43";
+  sha512.source = "3972c22d592cf2707cc8769a3e2b50637fbbfa9ce58fe7c829b55f7b868c57f5c724ac5a2731b0b646db0386951bc0ee8c8080111c3975363f02bb528e1bad8c";
   hasRunfiles = true;
 };
 "texapi" = {
@@ -33687,12 +34063,12 @@ tl: { # no indentation
   version = "1.3";
 };
 "texdoc" = {
-  revision = 59283;
+  revision = 62816;
   deps."kpathsea" = tl."kpathsea";
-  sha512.run = "1504bbeb86a1329632fad25b98b967bad8c68fe8249f1ac9f4c017a50fc1c79994f58f3545681741213fe28d94b568bf4afb8b2010e93198a7df2c75bc3cebeb";
-  sha512.doc = "bb79a2cf6c9a013a9b3c4c11597f86617043c8abea84b86f11a9ad5093655d68e0ce8d04e59b077f832c513c25e407d9ec06bdc412c3427d9ec43bb5103ea42e";
+  sha512.run = "a160a32f5a29c87548bc09bb9c7529ca629ddbfbecbc3751bb913b8b22f5b211a1bf97279e071df6f4a74202dfd284b5978a91b6e6aaab207152057c33894620";
+  sha512.doc = "0d496c27cdec8c4fd4ab7ff3205c667fd523821e6fdb91e123ad10d0ba97da87f3d64b6182bac8fd627dea0cf654d067726737ff826372abdfee020cba2fc824";
   hasRunfiles = true;
-  version = "3.3.1";
+  version = "3.4.1";
 };
 "texdoctk" = {
   revision = 54557;
@@ -33711,11 +34087,11 @@ tl: { # no indentation
   version = "v2r3";
 };
 "texfot" = {
-  revision = 59040;
-  sha512.run = "101a37bb79e58f25c2a9198f1327ca911ab292578fb7d80769cee8d0b4459bec9e3b49addd64ac1064523de0685a595c4bce86cb272fd02294d3168b3db28bf4";
-  sha512.doc = "883a70368bbc9797e7e2967a4c451f6ab735cba63d92d1ec65ce954cfdf7235ca2ad4291dd2fb50cc09eb0e6c3831e6befd67839ba9b9c522f1199f995cae772";
+  revision = 62157;
+  sha512.run = "6f3495de09a1aad317a7187e5cf5e6868f722b36f766497ae3dde0ae511381e67290404bd96c9ae99f5e992e9609a9c608a830b2a567f5e186a1409137407365";
+  sha512.doc = "d2e9dc71ad4924f699a0e1084906759da4dd867e827d116b4014e8f8be50690e488bea71ca7498e37f17e458d0b47937248e911667228425e1a81cce03c453fe";
   hasRunfiles = true;
-  version = "1.43";
+  version = "1.45";
 };
 "texilikechaps" = {
   revision = 28553;
@@ -33732,17 +34108,17 @@ tl: { # no indentation
   version = "0.1";
 };
 "texinfo" = {
-  revision = 61024;
+  revision = 61498;
   stripPrefix = 0;
-  sha512.run = "1b2dcad2c8bbb0f6c9e2487921beae4791407594e45ed07d111b476619985b863f20fc077b5bb3d8108407b652ddc3f79d852367f8bfaf70027f4fafd8c3f668";
+  sha512.run = "da1f4ded25a13164072cd502bfa28eb4fb3c5ec3bbadb0478dd8c4e3750949ec15e6e01cdd78f5afd8da17d1eb248b2a3921ea2704dafb7785461e9732142e43";
   hasRunfiles = true;
   version = "6.8";
 };
 "texlive-common" = {
-  revision = 61281;
+  revision = 62149;
   stripPrefix = 0;
-  sha512.run = "98e8b947bc399ea0ce4c5de8aa8bb811c57e9486fd419066ed323b151711f1cf92e7dca7e9e8c0f6e8e96bed8a38d1b51af8a0cb9d98636b1e44ec3a5b2cdb6d";
-  sha512.doc = "ba7d2425d50de29f0c0dc4738b27b5eea24974bdafa790d301e223e4d45d44a1b53c7892fdbe1add59261cf41d1a65795faccd63dea7b76d5c48994dd5edd022";
+  sha512.run = "ce40836bf640d6220172f358a92a6bdee6117be73bc61e02efc9182bdb41119c64db7beadbbe62c65ff8bfc66bdbe1f055bb1bbcb567d770ea9cb303bb4a904a";
+  sha512.doc = "8c1acab57ae2568e3c4b1d42f65cefac3493fa92be674c43ad1cac8fff5fd0df3e83269ae7810a0c5ac0a85cfeacfe8767dd7ca3fa1aa9256ddab53cd8110cf9";
 };
 "texlive-cz" = {
   revision = 54496;
@@ -33757,10 +34133,10 @@ tl: { # no indentation
   sha512.doc = "d51df93981312475c5c4b4976e4de00441d6ed4ea9e51d30d5c8360e314417f9b33c5804acae3c6d50c714bc76966120de37095b3ef33c78c06744ca17e3855e";
 };
 "texlive-en" = {
-  revision = 60536;
+  revision = 61754;
   stripPrefix = 0;
-  sha512.run = "eac0677660ac137244e06125215f8f04a58e361e990fe219a50381a1d4e3bebccb58b0c1ee4530b90672aa3c7f364511364887026bd2a355ea70c1b9c9091a7b";
-  sha512.doc = "fb985ef820a525e7b2ae7a8b67c49fa798c8ea333513f458be4e0369765f56ef4d68de00aab6fe0f93caf7d68fcfe18fffb6c06b6fc161a0f0be4674ff68611a";
+  sha512.run = "b15a02a548161baced900fe27491345f64091857fc8dca051495ba85fbe7cdd4e27d24181ecfae29950ab3cc4d433ffbcc743c73e8c1ea24eca8970b0f34cf25";
+  sha512.doc = "5a9df21d50e50522166a1fff366faab48a94019f55fb5e67be1fb14e7a4cb72ca3988a965fe5b303122e981745fca94993e9e24c2a97c2e57bc283c3af1d4901";
 };
 "texlive-es" = {
   revision = 58221;
@@ -33787,8 +34163,8 @@ tl: { # no indentation
   sha512.doc = "1445ec4257d202f77452df48e70105e423e048ae9150ad70acbcfea350f8b8686ca395e9452d40eedbd6824df7a2d8560c5c761fc867cdda0d2ba9182eba5f16";
 };
 "texlive-msg-translations" = {
-  revision = 60760;
-  sha512.run = "2d9b5040eda6606ecb6050452d0485332f6265b7876169f1507c629d59d587a5c74a9b7bec606d8e028a1cf5f5bc9e0a92d30d36588ac637bfa1d9508e862f47";
+  revision = 62192;
+  sha512.run = "128b5d755d28b56047fea43d40904bff2c865915186aee18a89b729a73fdee2af6adb0290c111c007172c35f16f9b7a6d3f2fcd665b0f9828c68613b84f1d931";
   hasRunfiles = true;
 };
 "texlive-pl" = {
@@ -33804,9 +34180,9 @@ tl: { # no indentation
   sha512.doc = "40e8b29f29ed61addc2b9e7ce4b73d12bf2e59f1c50c65e59e9c8cac5e6c3ef264ce2071b0d54e15f5029c101a51d0efcda0144e113aaedc714eb1300aa9635d";
 };
 "texlive-scripts" = {
-  revision = 61410;
-  sha512.run = "d416567a07229a424dbc3fc7d8ca3333eebd4a176d6ded56e31648f7d94bd2ccc100996566236b598942e680973471efeb3dc8f242990f1ff8e3390460c5a52b";
-  sha512.doc = "e1103262c70e3d92f3ee6bf8f5b0a5ff740b5fc165270d0b11f5b63870cd6cd71b3b77ee86c8f23a4d511990e52ec3a35b82185e1e2f28793ecc54698571b2ce";
+  revision = 62847;
+  sha512.run = "493b934989dd131988be727acd6a7ea7d1d1d2e8b6abccba79ead18be0bbb1dd201e2c0adad3c4cb3c96007efb606853b6a65f8c6745cd053341099641327993";
+  sha512.doc = "ff733bed0a1d83eb99b74fa30d17e43f436192fadb4e9d5666e0913d8072083eacab51bc2effb9ff86bc82011dbe31fc37574dfa7b75dba54b9f0fc6d1d29ce3";
   hasRunfiles = true;
 };
 "texlive-scripts-extra" = {
@@ -33840,6 +34216,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.11";
 };
+"texlogfilter" = {
+  revision = 62793;
+  sha512.run = "deca1b05ad2f0f6d5514dc3a06f99328ea85cf49a78c57d30d939cbf891d91114129b1c08156cee7170157a3bc09d6d2ba2629d24ec30b665a80ec6d6f2977c1";
+  sha512.doc = "26f5af320fab0fda057e1b69b63bc677948f60e23359a985937d1df9e099df6af1bda3e9e85a4c1d113282e7979fdce867d601e0ee4c4e86c426e16baa85b87b";
+  hasRunfiles = true;
+  version = "1.1";
+};
 "texlogos" = {
   revision = 19083;
   stripPrefix = 0;
@@ -33848,11 +34231,11 @@ tl: { # no indentation
   version = "1.3.1";
 };
 "texlogsieve" = {
-  revision = 61328;
-  sha512.run = "badcd49c37d94e74b342512fe441b552d09347749ae210fd9d4a01be4cb019064a20759ba323466ee358e61da3eb190a87560f6cc7e12baa77dd8520924cc7f4";
-  sha512.doc = "e3ecd023b1ff72e5347ecbe5bc1c148e9ae2cba41657129fb501bbd0d7cd24841e0221e27e5f3c1211bbaf92e118ba58090e8a9d6df07b49b10600e95551df11";
+  revision = 62724;
+  sha512.run = "c75064b0aa3612a4b6dfbe39ff8b009d788a1070cb0248ffac9ddcba80649a1b67782ae4cc1c970e5915560d72f68058fb59e4064df4dc6e546d5e29237d2d4c";
+  sha512.doc = "ddd095b6907930c1ed63d22a1f05d43a20285e61ee162f6016137f91f23f19283563ea19449a00d6482d45c700fc51ad934730988f4884502d90e4e2bdcdc2bd";
   hasRunfiles = true;
-  version = "1.0.0-beta-1";
+  version = "1.1.2";
 };
 "texmate" = {
   revision = 15878;
@@ -33897,12 +34280,12 @@ tl: { # no indentation
   version = "1.7";
 };
 "texplate" = {
-  revision = 60096;
-  sha512.run = "8a373115e5826f1704d80288d4a56803c0ad577a5745625c5cfa3272e3c77543cd7fec1cb761fcb1d6a58e7b5a4b37dbba9a7b4387e8abceed8d526fa18d0e19";
-  sha512.doc = "8c3e0b7a3606dc9665db06138b7f7aeff0c4a822afe85c7509f0bfc0072898db8203a931c4713b455aac99c850c908d6c0ed8d68952a87b574f8c8943fc97dd4";
-  sha512.source = "e1240d690d0255cd80cf28bd1f44e2269873df8a8e85f8129992726c530baf7fb3e202696b3a30afbad7010df4e3c0fcc695ba91271e1837d88cb5322ae754bc";
+  revision = 61719;
+  sha512.run = "5b19c1f2d5bdaacb1c842e78b1980ecb3f4fc548873e6a36fc9c5a70c3e3649b812819cc0d3bf68622acf31ac6c687cc4ba657ce2a4682bd13faba4070b0a1d7";
+  sha512.doc = "e28f0f3476e710fcec772206138a2f423ea6f9df903bfd4c4a278453f217752b7f4ffd7e68f10821ee36a9251a14e6226887ed5aa7a5fb53e5deb7a1685a04e8";
+  sha512.source = "658467f513fc37799df279d636f5927477c51cf0adfbff2ea1597bc8bbd4d9edc3f5f22e2f09d9049a6015a6825bde043ae10e8b55ef78ba8dbbfb04604de0b5";
   hasRunfiles = true;
-  version = "1.0.3";
+  version = "1.0.4";
 };
 "texpower" = {
   revision = 29349;
@@ -34042,9 +34425,9 @@ tl: { # no indentation
   version = "1.1";
 };
 "texware" = {
-  revision = 57972;
-  sha512.run = "981a66b9f52d53ca1b9a5059d5cacdb325663a5eaf6ea5c15902e687bcfee894005b274064f662252a0689222c62937c2841ee2aef5e38cfd88f2169f7b01893";
-  sha512.doc = "3ddb71949ce4c8dd406f65e547a5099851c9b8ba00aec1fa65ca3f40093c49d34ea13955e3970683d1937569d0dbd3d6abca65fef8bf15f255063703262421ca";
+  revision = 61719;
+  sha512.run = "8762e22c00dbba0f60d343b3c9ff3fbe0de4a4d56c3d0aa6648bb58189f95d34e427cc403d5b723b976eafb9b996e67c28d791b69623e10d4c67b24e6098ed41";
+  sha512.doc = "706d43c61676650add8afeef45e25a555cadac364b4cc2a9c6d38a91504e54859c96d2a0f01d7ee580937cdb72327a40ab2c9d366e0ee1bf9166ccaba928332e";
 };
 "texworks" = {
   revision = 54074;
@@ -34272,13 +34655,13 @@ tl: { # no indentation
   version = "0.1";
 };
 "thuthesis" = {
-  revision = 59411;
+  revision = 62810;
   stripPrefix = 0;
-  sha512.run = "e11e9fe9cc1c9739a1ae2f34a3a628145b8898834a03a96aedd6d6d354c0519137d16e8e3fd3090e44bd3caa9f173f1df4053c3139b6ab874d616f6c141130b6";
-  sha512.doc = "f7a6fec40a8768e94753a0391d39201721985d0da219a830caaa2716d9fcdecf4e32fc56734e52e2c77ba64d93f206c476490684672e11044991ce1e854d189f";
-  sha512.source = "df772cb4f627671e2d74bfe571156dc81214bcd40b5db3b278d21740b1dfcd971d051edbb917ae51bb8bcd5309d8251ee6d84c5e01d6ba5a264254f0479ef43d";
+  sha512.run = "6e749b4ac48ab4329dcaee3068349c8a61b27ec99ab45ffee1302c6a7123c1f8af2265af1500e53b73e876742266995cc1582bc18f0ad097a9035811f928f147";
+  sha512.doc = "74b99b39aa4ebd66cbbbc162589bc5cc9639f594aefebb4f643bca0e8a79b664d2c03821f458e14424429a044e4e415748c4d7c45557cdfc008ec7112d95ce8f";
+  sha512.source = "8f5ee076eee4c23750f376fa8250124a6dc5c06faeaa1014f9a6b42d12185379795a4e87713f71516c0f8626ca31cbbad0c5317e97fdaf9c6d605df7000903c8";
   hasRunfiles = true;
-  version = "7.2.3";
+  version = "7.2.4";
 };
 "ticket" = {
   revision = 42280;
@@ -34410,12 +34793,12 @@ tl: { # no indentation
   version = "0.4f";
 };
 "tikz-karnaugh" = {
-  revision = 60750;
+  revision = 62040;
   stripPrefix = 0;
-  sha512.run = "46687db5ab1ca3789ac98e438e14daffdd3b64db2ab3dfd7e6110b0ce752901d2e46f54bf10af19e5947750c568e2924ea9886d78941528dfe0a922a44b1b492";
-  sha512.doc = "2bb3b177a72aad086cbc0ef263fa8a99993327afb55d414f03a79126f2353e0abdbe743b946cb0ccce67da4ea933edbd866b2a3ef6698d3ebe692751f9edd888";
+  sha512.run = "aa7bb0cbaebbae2657002c01098e9904c21483bb9e67a415834d54b2bcdeae75514a2e98a53e98ba87996b3147af84226e43ec9d121eff52b4f77d57d1802db5";
+  sha512.doc = "25ccf7b40c1e808bf5fc45241d3f811e603bdeb770b21e5d98779e04ccce1ff67e73012816b763a083d07f1c62a16cce8feffc0e1c87ced8b83339de84d4cd4f";
   hasRunfiles = true;
-  version = "1.3";
+  version = "1.5";
 };
 "tikz-ladder" = {
   revision = 46555;
@@ -34540,12 +34923,12 @@ tl: { # no indentation
   version = "0.7f";
 };
 "tikz-trackschematic" = {
-  revision = 60767;
+  revision = 62046;
   stripPrefix = 0;
-  sha512.run = "d293ba361fc713c616d48c146cf3eb05b0933c1d0963c6a4a7342843833ec339033bb48b17bcc23bbe26948b3e2888f2f4dd940dbd1c8b212688d651c7264b3d";
-  sha512.doc = "ad6da1f9789d63690f13e0475c743504d3a16ec12701b2c777af4716e29c482d90ea9c8d8c34a746479a1814525095d0b0ac2bb0c38737edfffb87f293bf6b31";
+  sha512.run = "5ac6d9888fd0f03e6812cbb5a6dac52cedacf20027f4874a21d57e59ab07a3a8fd3c123de2ac4f19ff1f20737e28a11b04974ef35b172978f64d37f710a77f7d";
+  sha512.doc = "8b3812f10d2907bf18beffff417ac93beaebc3fc7f297986227cf393894e40b2af3a394b62fe6eeb1d858e5e6ed79bf7719f7477c91deff59ff42af0d8d82c0e";
   hasRunfiles = true;
-  version = "0.6.2";
+  version = "0.6.3";
 };
 "tikz-truchet" = {
   revision = 50020;
@@ -34706,9 +35089,9 @@ tl: { # no indentation
   version = "2.0";
 };
 "times" = {
-  revision = 35058;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "252c933fb17ce2533f6e0f2b13a478d62223a596ee257937558c61e224c30753c157c92ed9d5ce3ced5ade0f5eb00ec15368fc75c10a182011312d6a0668911d";
+  sha512.run = "06f93b823a6141a51554bbd682c128977676775b1c097f7787916c0c14b76d6e9c4041645003111d5a1b905de4faafde5b3efb61d9be9740b9627ab57f3f8eef";
   hasRunfiles = true;
 };
 "timetable" = {
@@ -34747,13 +35130,13 @@ tl: { # no indentation
   version = "1.3";
 };
 "tipauni" = {
-  revision = 60669;
+  revision = 62131;
   stripPrefix = 0;
-  sha512.run = "38ed0adc940cbbc1008079b542f5207341b7ee47da571a309c6786c43b505c9afd73ebe08e20200d914de30283c30897be1b139de1a828c52858b0543631e766";
-  sha512.doc = "bef81b313c0e9e738bdf6c9bfce2d4905c8dc886203c392c55a4b90796df91b40a9440e7e23f63cc76b947df1bfd9cfdf247291ea27d9fbec9070ed380e36048";
-  sha512.source = "4c73876a8fd9e465249d712cb2d4ebe29eba59ef4c66a2e58353feb303bad6a2e4abb640814eaeb6b4f32def15a5b464395bff1a28b556d5c6a6dba24778c155";
+  sha512.run = "0ae22eb3baeb0e360a561e646512b9148ccc9180dd795ea85c4efc80a827832491fdbfda441038c3d53d08b567758facbb8bd1d5eab576a53a2be2b31d3f1b44";
+  sha512.doc = "6ce540233b90a0b2dc25b02246c846f77d50cce08a4ca320526ea94806d5dd16fd17bbeea6c9c73f7815c69664bb6d2b04beae9f8a33c050f46449372f96538f";
+  sha512.source = "7ece1110d0cf0e0e354b75ceb543dba7777080a13f722607ca184848e723147d95d05d787cf3af7ce8d93a6a3b0138d9c077f50233aa14ef5db6f96aeab7216d";
   hasRunfiles = true;
-  version = "0.3";
+  version = "0.6";
 };
 "tipfr" = {
   revision = 38646;
@@ -34764,10 +35147,10 @@ tl: { # no indentation
   version = "1.5";
 };
 "tiscreen" = {
-  revision = 60551;
+  revision = 62603;
   stripPrefix = 0;
-  sha512.run = "5f3506fbb5952be7477f9c29bedc6a1ef229753ad12b484e1c286c6211bb5fc62df69f9985b44740f12728e067c69140ac064d764ca034d1edae099f623413cd";
-  sha512.doc = "c964f4b02f2399bc1bab1753681442076099c2f7377facf62241afc13a2db877287692b3020ca39d9a56370b13a8148d45317a4643e1552b7a436dc87c2da0f0";
+  sha512.run = "d44cd64d7f73300fe7e86faab8121887d22465f6a8247413ac1d23f6e346d72ae91d212e41fb9a4f903a18e36f92b73cd2ef24cf0fec28825d243d1342e56c34";
+  sha512.doc = "5588a22096422e30293f4c4b68faa1f340e5e842f046c625ebe0b0d7ed587706a55e199bcf21b5936d6c0aaaad52e10fa814bf648155fbffba5054447595ef14";
   hasRunfiles = true;
 };
 "titlecaps" = {
@@ -34824,12 +35207,12 @@ tl: { # no indentation
   version = "2.1d";
 };
 "tkz-base" = {
-  revision = 54758;
+  revision = 61947;
   stripPrefix = 0;
-  sha512.run = "9cba8d8d79c7cb01965660fee7913aeede3b0d2cc19bd7624982fc5854224f19f7dd2d2af0ba93c99b4f16827fb028564fcd9a1e9afed1988ce836188516f891";
-  sha512.doc = "c0393a07d50626349ff214bf8047bd6c20e14da3c036ca0ca277ce30a220bd52d2fa02cdb56d28733f9a69bd5f22d611f8b80dc130f6016cba46f4e889e0aaca";
+  sha512.run = "50927be9798589a8b933a151201df96948df5db1fa8434787c7b274810b94637d58e508794510e48b6367e3e405be9c72ae6d44bbdfb8a731ea4040b76f622e8";
+  sha512.doc = "afe33901a229b5f5b1152481db34b9cd901d0fc66c933cf1340bbb70776a7060601bfa522229dc6106cbf7135b5c0a5148c3830bff0f20a4120b93c4f0f185c1";
   hasRunfiles = true;
-  version = "3.06c";
+  version = "4.05b";
 };
 "tkz-berge" = {
   revision = 57485;
@@ -34847,20 +35230,20 @@ tl: { # no indentation
   version = "1.43c";
 };
 "tkz-euclide" = {
-  revision = 54758;
+  revision = 62178;
   stripPrefix = 0;
-  sha512.run = "c8a0e2c6411ae844575010d0f749ede9ab818de766794d60a62aafd306aa781ce09d252183c57a8d762e6655c7e7d1c2ba35b4f169261df6d65b8ebd833b091a";
-  sha512.doc = "aa8e10477798393dac1780bfa839faa36d9eb9f16bc34ad86aeefbffffaa1810ac3642058ead46be933e359f7a9e0fd0d7894226083095056910a233f017e3d7";
+  sha512.run = "01194c7923c772563dede16e412089fbadea0fa9049ce3eaea0af87ad7fe88523598148bef95c0ab6fa230fdc8cd992965f48c29ce4281c82382fc3ce699b8b5";
+  sha512.doc = "9edb03d529cd14835a643e84c02d0a11f68f155792824b5a5fa60870e05f47889f353b3fe374110fd9bac3c79bfc1985e04f53a8d3e200d0dceed0bbddd8e89e";
   hasRunfiles = true;
-  version = "3.06c";
+  version = "4.051b";
 };
 "tkz-fct" = {
-  revision = 55031;
+  revision = 61949;
   stripPrefix = 0;
-  sha512.run = "6defbc1265838eacb6612f87d969590db6cb2eb0a1c9316c1f52e700c7b7e576f971080538982d7adccb12af6ce7392cb6d6da13a9d3e537e5af8fc2dc290a89";
-  sha512.doc = "1cbfeac7939ba45c6111cc7cb9aeea195690cdfea8c75e488a9dac6a49b2968d21d0eff74e03fec3229afdcec92fe2841a8dbb866314187ef98a317f07e9f346";
+  sha512.run = "ce605595518cb9b400a5b49620b5f359de8e0fefbc939d88b8f5aa2113a856ce05f4e9f56bb149c73e5f46c65d7d340a65edd6f1b55f6cca68b10dfaf7e04a87";
+  sha512.doc = "c2de4bd1cd9ebc5e0747608de7b1780ec97da00c512d3e1b2ce3150431c307c043f24b0bf1853d6c3e96203c33573322d66dbf0db7cd82f5b1a026ee5b7c6d77";
   hasRunfiles = true;
-  version = "1.3c";
+  version = "1.7c";
 };
 "tkz-graph" = {
   revision = 57484;
@@ -34871,10 +35254,10 @@ tl: { # no indentation
   version = "2.0";
 };
 "tkz-orm" = {
-  revision = 54512;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "dba6b58f1e3063d3af6d535c2c65d3ad0fe57f0b88aeca8684192b546d79570386cdea0d23870b5ac88f38b8ea0a9899efd1be581108b43ea16044749dcf965b";
-  sha512.doc = "65ac0e7657fd78d7d496b466d6cfae3bded966249d1c90eef6df1d34041b6b7ab5be807f7de41c04d28e6903748dc874fa245bce3b19b96d2a1f0d91316235b0";
+  sha512.run = "41263c9ad122a3cfce3eca3cd4ba8798e61ef662ebf7f00be99dd16a25b50f5419fb6c04a84bae6bd0ce2b349d4b3216a1a88c6e3d081d8a064ff561536a7e71";
+  sha512.doc = "ba9a6a67384478cbcf5b76f7148f60bb0f2f1932033f95945b28794f146d89b21e82c4d59b87735d46bacacd10c1ddca2b19e2e7ae4045a331383f4085a99221";
   hasRunfiles = true;
   version = "0.1.4";
 };
@@ -35219,12 +35602,12 @@ tl: { # no indentation
   sha512.doc = "ae2f1aa60162512287f15c770a465c2e39abe1fa5d1223d96c524dc81bf065d62f307893d22dfc06fc50da8d63d817ed60c8f07fd4fede984b6febe9c8b7b710";
 };
 "translations" = {
-  revision = 57461;
+  revision = 61896;
   stripPrefix = 0;
-  sha512.run = "bc85fb20313e9e1e6eca3373eb1fa58f0dd3971c04039ead0cdff9479f9d8a2f7ace407bfef0b7a5caa9194573911e3cd0dafda51243db34e922d39af42b0f1e";
-  sha512.doc = "e5faff88c1b8f9588e6b7bba20aa3aef9711ee273d79623ea79f90345be6c6420595dcbb5419f87463c2a89b019b8999c330627a74f4f03ebc1af41ee7894006";
+  sha512.run = "82d2a821c42bda66658f8557d85f2c52bee6324c88cf44e5440cac4de5bf7e938a3e37f7fe2371069a923c1f3fb794f8860274765054f902eaba560ea195297f";
+  sha512.doc = "ab72edcca1d3407eaef679acd3f3d2a49f559e5ca6d9d1ad7221dd76152560be307722155cd4da54215e3b7f561f39e08ae737c70ff2e7fea1ddce2561b506fb";
   hasRunfiles = true;
-  version = "1.10a";
+  version = "1.12";
 };
 "translator" = {
   revision = 59412;
@@ -35340,12 +35723,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "tuda-ci" = {
-  revision = 60754;
+  revision = 61958;
   stripPrefix = 0;
-  sha512.run = "4a9ae40df9c2f9165aaa23bcbc1065c4f78023e0f4284e14093140a35daf7b630159d8317812a7a7207aa5899cce9dc8c80541a7ef0eed33a13226083e21a75d";
-  sha512.doc = "60d971063b6a4821a49a7ccfa8add4dc2e9171fbd2a95b777ea2960bbcf0dd60fe007c3fbf687ba499557d33cc50f14435448c6a40854616e6e1e21b24c74f24";
+  sha512.run = "1000a43218d04637245126a88a344c2a811efe0689bb4bdd2b580b16ff7b1de7872aaea90cf3d655e4f1594fcd79f598859938dc02d77c812bfbe5fb96659f38";
+  sha512.doc = "fefd5c55cd353b7a66f791f0a4949b8bcb18b3e96c8c3a570b45cae9539c2515c6d48cf776be518ecccce7cf74851933d314d187a39c6fc673a195f5c2542bbe";
   hasRunfiles = true;
-  version = "3.20";
+  version = "3.22";
 };
 "tudscr" = {
   revision = 59942;
@@ -35395,12 +35778,12 @@ tl: { # no indentation
   version = "2.26";
 };
 "tugboat-plain" = {
-  revision = 51373;
+  revision = 62689;
   stripPrefix = 0;
-  sha512.run = "a2541eae8834f9a78fadaf4123aa1dbfed2215d3697299e17fcb0c9635091be57b5171514d771c2e14ee7c94ee2ab18e0907a1b3b3cc5bd60b3a3c74e305f45a";
-  sha512.doc = "747ac188b7d738ae33808da86716712f80f98ec2f69b60bc45514cead00d837fde1dcc99c65804e61c9e35e94e9276f314617f885dd081fe6fce75f7a2baaf9e";
+  sha512.run = "4729913d9bebc3045ae79926707a676cd2a0dc55766a6826fc6053890ab312b7fdee757af02c56beefca61436e51a058586cc921b688fc4a8a0a40218ad50bd7";
+  sha512.doc = "e2e7e30c0a3c1d70d4f6f6fb8c1947f96364a1c885ac6f7450be3f6701a0a54552b9e92f9dbf9a241009c96ecd6c68199809c90e1fc2689aa88e365ddade59b4";
   hasRunfiles = true;
-  version = "1.25";
+  version = "1.26";
 };
 "tui" = {
   revision = 27253;
@@ -35583,12 +35966,12 @@ tl: { # no indentation
   version = "0.21";
 };
 "tzplot" = {
-  revision = 58558;
+  revision = 62289;
   stripPrefix = 0;
-  sha512.run = "21705dacc5923685b56c47098df79313b94d95040210eb812da48fe3aa4d405a0d2292f395fbe3d88b2da39ca325653ab2c551faff46f34f912e2830736f09f1";
-  sha512.doc = "b957597b7a38652e6f510e21611def7bfd05f1302bba1bfe1cdeca62f9d0ee6ae6b21abd31c414a43048963e8d4f19ffeb13d18d4ade97a6ab0aef3a2d524522";
+  sha512.run = "54aff40ea0279c5b5bdcc1341bd3997cf317922b119849802ba6060af6fb0ea5f43d8f3dc7775f94d28c3ed8372f50547a0c1de4a67065ae158ac3cb6a309f0d";
+  sha512.doc = "0c59a98edcec302befe5be775b88999dbcd1bb6bf40becea96d4cd6d470d7fd912d55a1a32521df24d7f956618b0826e9b1ca63ac01623c842242424ded46041";
   hasRunfiles = true;
-  version = "1.0.1";
+  version = "2.0";
 };
 "uaclasses" = {
   revision = 15878;
@@ -35657,12 +36040,12 @@ tl: { # no indentation
   version = "0.03";
 };
 "ucharclasses" = {
-  revision = 58029;
+  revision = 62378;
   stripPrefix = 0;
-  sha512.run = "2b4a160c145fa6e4d73be4f0590d73a302655bf4274822219c5b41e145a8dc5076b3b8bf39dda488a5cec80329290db6f3dce431733ed8b4b9c59bd22a0187d5";
-  sha512.doc = "4d715b69d34dd6a2eb485aa4098e51f2f72213ba5972bb51bb0fd60bbdbc3db5846f87c859d77e694b2d55be4475bdabf3bb507020480f68f7b5f3884dd3382c";
+  sha512.run = "07dfeeefbb785bf8adfd8487e8ab607ce8d3a40b44994c8a989cf273d7dca866418e8ed175141dcce2b0e37e2611580c94e50027f5a727369f776097e4ac6eac";
+  sha512.doc = "3286668974165c8afe477b71cb136e6ecff7269df27d93cbb1ad5f923d891575f5abad1a60bd63967cee991cba3592acdf9b280f04b6e0db983d53ecfa6e26b4";
   hasRunfiles = true;
-  version = "2.4";
+  version = "2.5";
 };
 "ucs" = {
   revision = 35853;
@@ -35929,13 +36312,13 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "uni-titlepage" = {
-  revision = 60924;
+  revision = 61729;
   stripPrefix = 0;
-  sha512.run = "ac5bc2d392c635f8f59f0aa0dc713a57c78159f70285a04147d63feb38918e1ea11fd383d7f30a174360d8498454ef5f2e598180a21cafc4403e91d1ed1b2c5e";
-  sha512.doc = "9073091ed24656362d232b4083f5b350054a6a71ff85aeba4ca7e0814a28c34d8b71dcba42a44952458bb401aaf7d42bbcfa65a19de0b0d4324416edd003f4e0";
-  sha512.source = "50e85efa5691d2227c1f4804dcefe6bfc34f14ed13314ab3d48a8dd45917c081dcc7e3f2ee8bf4ac7f51c2790c083bac3fb57eafd42708c9d507466cc23cb053";
+  sha512.run = "05d1f19babf218a56731938ff1cb066b0ae7a7e7683f0800d5d3b1d7bf3c77ffad71f59235df21697caab07a39f3a74568ce349cacd0e5ec890527f099e8165d";
+  sha512.doc = "a49fb5c7890c6af860c971c88dec82dc2b42c8fb5708f5cb5b438a309308471ce98c0cf0980a696431626a3543176b9bbe9f0b220f989d6f9c966c1b2cab0b06";
+  sha512.source = "d4f7bf60fe393135ec846258c43b6427cabb00bd50321dd2592a40f83080196ca13ef5a64a1c16f5beed8ef826d83b81e269feaf772b40ec0bd002e7107a7f14";
   hasRunfiles = true;
-  version = "0.7a";
+  version = "0.7b";
 };
 "uni-wtal-ger" = {
   revision = 31541;
@@ -35977,13 +36360,13 @@ tl: { # no indentation
   version = "1.15";
 };
 "unicode-math" = {
-  revision = 56594;
+  revision = 61719;
   stripPrefix = 0;
   deps."fontspec" = tl."fontspec";
   deps."lm-math" = tl."lm-math";
-  sha512.run = "f3682781aac853ae96d7f09131cb102832c16d6554a070da6c6a499c7e7cfee90f05ffaee0e30e6b2e2e1c9d7d7f0fa285b6912ec95f4ad318df3dc1f529b23b";
-  sha512.doc = "ac7d2dbb883098b9ace6a1a99af61afa2498e7ee3e02131e4aef41eae6585061f04c181c0d73f23e126f8f2a5fa6f5ea6475af8ce6ccc1d9ccf8d2b82a22b1d4";
-  sha512.source = "13ae4f09246d2a4ea4f2595247a1b56955a905beb026dc78da37c07583388db387f66e574f1513ba89375f9e2e0ec1be0b65ad38e0364dd05404a7aed895bc2c";
+  sha512.run = "05dd4b08e8e766c2c8e719a12aa5a28259bc429fb1f1d05850e865ef258ab5e1372a785a2787098ea50bb31c852727ba8269ca656ce55ee0a7355fe4fd7344cc";
+  sha512.doc = "c8d05fe09c6ed76f29978eff8b7688d8989865f6517f06a58acb899603265e499db5d962895b5b3a0b6bf8d235f29da88f76a3b7b35778953878d02f2910b524";
+  sha512.source = "b1f21cf06c5ece08e75575cb2e23f7e9815c0670cdb2af0026c1037556e646e81c2103740bcb14e95375cf88b3a665afa3b24a4fd6c33f416c36f588649de79f";
   hasRunfiles = true;
   version = "0.8q";
 };
@@ -36079,12 +36462,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "univie-ling" = {
-  revision = 60937;
+  revision = 61900;
   stripPrefix = 0;
-  sha512.run = "b65a9b854f9b1fbbe679c5c3be049336daba41e70db1f90dd474b1d3386fadb200b24c0e580f1a10f34cca848ff1ccd5864d6ebc607eac1d02cbed4a0347fa15";
-  sha512.doc = "23efe505ec0c76d846526778c448885f0e1d5b15d34645fc33f8a9eab0421fa45fa81a7dc31e2c24753e041bc9bf50468c9035a68875e6b67ac8c9d59c2dd1bb";
+  sha512.run = "d51b4f5cbe4b796ad0b314457c107d9b5b71b5b9f4bebbe4e11840bcadb209512be4250d357548f2a9d8aab9cf9eb2f6564b91de8570cbf79d27f86c1eadd9be";
+  sha512.doc = "8e7a257e938b0b58d84d7f372355f976a8734d25bfa0e9c2ae5cd4f8d2a69552f95144553e16a8e7668d8eb2415d5acb574b51613fc1117990d6aa00246da488";
   hasRunfiles = true;
-  version = "1.16";
+  version = "1.17";
 };
 "unizgklasa" = {
   revision = 51647;
@@ -36144,7 +36527,7 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "uplatex" = {
-  revision = 59450;
+  revision = 62145;
   deps."atbegshi" = tl."atbegshi";
   deps."atveryend" = tl."atveryend";
   deps."babel" = tl."babel";
@@ -36165,18 +36548,18 @@ tl: { # no indentation
   deps."uptex" = tl."uptex";
   deps."uptex-fonts" = tl."uptex-fonts";
   hasFormats = true;
-  sha512.run = "6d9c990c0458138c3753cb8ef1d0ae075ed8322cfdd1e4173374fc37f6918b951152f3e2385b3d24f0278e20c6d0da9a256fda2db3d0a3869cb000ee9f8a99a2";
-  sha512.doc = "e18c72acbbd80445b7a45d91a40230bf57a806c6e0c74387d20cba12261fb43fecc9b2183dc7e754905ef27a50e2cb209099761adc91144077b5661db3f661bb";
-  sha512.source = "e567fb0b2a557f2b1cf441fbbe80b0341e31a71bb848f5aa924ca3602db9df9cffd023ac10d1eb388bd3b31aaf88f9f6fca323d0eb8ce774872cb20f3d34eb65";
+  sha512.run = "c6921321aea4bbd27ae38dc7181f7e5f2991b11d02475f07eae4f67d86c4c6b35fc7a07daa1e24775386b84e651b9d827e0833ce1c3b9570d36e6e50388e199a";
+  sha512.doc = "2f7b23faacaf8decea79007ba01f98138fc456d8fc90140cac58f8c31695972d4046e35eb0fe333e1369b2b71ea499ff4b279d3ffc9b5f585c543089a6c5291e";
+  sha512.source = "eaf73039d2ae9f2b6c902d0627ea2af7efef6584dfd60ff7b6debd06c32aec54fc5b4374078ff0250ffd90c53f73d03512dc24cd78f3dd11c25a5b5ed58a7845";
   hasRunfiles = true;
 };
 "upmethodology" = {
-  revision = 59878;
+  revision = 61972;
   stripPrefix = 0;
-  sha512.run = "c5940e7135468b197916213ed949a8a56d1304453b79b4452257aeb1b1c04a3dae6767fbb49ab0a3b982fb20a5d1ee893c4efb9dfb1cfe66a3bf896c33cb9a16";
-  sha512.doc = "5f91c9882b90ac90e984d87edba2eb22d5bdb798aa41c62edafc3ead8e5a4696dc2d05876006f646f4d513d0bbe2c36787cdc2a09e5e9cb2e14e9fa9ff59efa9";
+  sha512.run = "b4ff76f08060eb2fc289ec74c652bc24f28f8d4d47306143951189403b7dc9a4ee8af3a34f078fcfacf97ddc4e427e4563b862e2cc114c7fd3b9567b4c993dc8";
+  sha512.doc = "ab8a3700d57d0ab511a2eb438737adeea3d0e4bb0bcf4d8e97af26aa436720b9ffc0ba23d4791d2cae0c0f73c6a585948650a700ff31425facb893b6f23d70fc";
   hasRunfiles = true;
-  version = "20210708";
+  version = "20220210";
 };
 "uppunctlm" = {
   revision = 42334;
@@ -36196,7 +36579,7 @@ tl: { # no indentation
   version = "1.3";
 };
 "uptex" = {
-  revision = 61107;
+  revision = 62145;
   deps."cm" = tl."cm";
   deps."etex" = tl."etex";
   deps."hyphen-base" = tl."hyphen-base";
@@ -36206,21 +36589,21 @@ tl: { # no indentation
   deps."uptex-base" = tl."uptex-base";
   deps."uptex-fonts" = tl."uptex-fonts";
   hasFormats = true;
-  sha512.run = "4237df16758a5495555936a94d3e075bd23a53bfa12da26bf04c9da852bf3daf5847b055327dd5eaed10dbb45e09ec514640138ec7a2cd4cb358bfbc2e1d29f6";
-  sha512.doc = "fd8ace9f65be4a636bd39be9acde4dc23eb4214d54a51f8773e5232fe8864fdd36d34af4c892e12db4cbd768e52d5f0fd6271063e4b3ceb740448ffaac3d3bdb";
+  sha512.run = "92e903bb603e956faa34cab85c4b184b492ab7381358a0c401a47848392b6ffcc1b888b3e36be046fa1fd2279235a737d020c8f4286c9162a20de359132b3649";
+  sha512.doc = "2cf664d0ca66b6cfb5cb8472ca1b2d0c8db650ac518dc3fb24a1c98ee7db5ad556971a59be064a7f4c6e9c3a4ea2e041f0d76e1edaaff6c304e72201eb3072af";
 };
 "uptex-base" = {
-  revision = 59407;
+  revision = 61795;
   stripPrefix = 0;
-  sha512.run = "060758b358587a4b4ca9a07b7fbcc61a1ec057fad8c676bdfdd1d0e16473295f18b81e54adad2303a1f99e5509e93dbc3ac9cabb0b878030821e67e070de14a9";
-  sha512.doc = "35a29955e5348baeaccc38714c1861802147112e1a3c9419584f6a9745f3748a028c10cb0eae5e74e6201ce7753bc127794906945ed65bc3240d6b2faaf93751";
+  sha512.run = "8003f3ccb6d2c7de511ebd417f080868b5dec4b72ca613e4d4619b17127d6f0072ef83331ec0d021c7f8fedeaebaa1a9c95153e12571e14336a49cf9004f481e";
+  sha512.doc = "783b2e886ffc1609fe885b2592334b517219b6b5263e75f7d440a013a1b59fa489e32de0c17b5ef342a95893199de961bb0b7725323b9cb3eb3a22a1c92f4196";
   hasRunfiles = true;
 };
 "uptex-fonts" = {
-  revision = 54045;
+  revision = 62593;
   stripPrefix = 0;
-  sha512.run = "600d47ed277ce4bc0ad0de219e307b2c4741229c0e02ad94f7dddb2f309309922fcfbc9de5e115d85ad45b53485ff844e70d5af8086f7a16980ac579795c2e7f";
-  sha512.doc = "3c41c19b078bb5f66b8231025e39df2b7b9b959d3a4a45b04058f670d6a08e83bef50c889045aa55caddfe7ccb8a5c7582c43115b4749232490f999574fd0ec7";
+  sha512.run = "89fa503990e768f5125de1a3161c2b6e14cf7eeeccb81664dfff43cd097b59210988464c587a199202f0c4836fd598c6ff6db6e7d39ab36a3be41e9e14e1f6ea";
+  sha512.doc = "2a6aa685c8b1636c37021a76dd40703744af62942aa3f36c4f33f6d2e5961cb96f5379056207d807bfe9bcfabb0265e9aaf64a84f9c80ebd084e2520ca4d31e2";
   hasRunfiles = true;
 };
 "upzhkinsoku" = {
@@ -36307,11 +36690,11 @@ tl: { # no indentation
   version = "1.0";
 };
 "ut-thesis" = {
-  revision = 60331;
+  revision = 62509;
   stripPrefix = 0;
-  sha512.run = "10cc7477b07a495a80277cb0a7633eedbf738bf15f8d6a63adf55a8483bd301a2f2c592bc47aa2e87f819a3aaf2256e3c9e4785a8032d9e0c43ddcbe18c9e5f3";
-  sha512.doc = "bb30beccde671907f5627b4ad25bfe4833bc47299b06149aeb4bd6d8d29005920654ce406b411e555971c66209cb4dec5c9e3de8fc28fb409e303b8939c999aa";
-  sha512.source = "25b973b62f569e66c90635da3a1d105edbb8e934b5bf79ecc5209f7b32d5175571f16e86982e007c53cc017861cfd55eecdd62a38399a37d191c97eb1c08d57b";
+  sha512.run = "0a8174582e84804f0e7321fb36ccab2f1b84b95d7ffc376c094c336bd6ebfbec06870c335fb41891c611dbdeb89b140b128eed5cf7ec6e953f5a703055fd4beb";
+  sha512.doc = "015412992a316a3bf34c50588dba871e1e0df7187b1bba8369ba289eeaf177bc8a9203c62efb339ae84a1cc2c972f331595600776e582b08fff706cabaf83943";
+  sha512.source = "53e298b75f4f2cecee1c9bfe1c9f5cfa30ddfb88401a5adaa32ff278dfd9ee473569979caaa2453b5d2d89624cbbdd9590e718579375cc4e7603b3340f56c5d7";
   hasRunfiles = true;
   version = "3.1.5";
 };
@@ -36362,29 +36745,29 @@ tl: { # no indentation
   version = "1.0.0";
 };
 "uwa-letterhead" = {
-  revision = 60635;
+  revision = 62509;
   stripPrefix = 0;
-  sha512.run = "9277f935e5769bb49cfcb1e90a8e6040da4bff341f82bc673076d0ecf0778d795a3ef480d94373d28b7e14e5c2083ab8e01737dcbdefa87cd042448d7cff3a32";
-  sha512.doc = "1d778538ed1c9f8b1f2fda030a1c37dad0f3d8b6ebea71a3b5b784f695ce636414e5144402f50f10279df599e5698de157a9549edb77c2a788c68dc0cf869072";
-  sha512.source = "1b0a5d473a5deea6355cf021ef62e564216792ef14b8eeeaad18da441d2e42cdfe7356972b165126cec9e8d239aa5fb14222e1b6c93fdcc7a563b00a1a2024cf";
+  sha512.run = "7abab97d7536fe45f4add9acf8a73c77285ac90d4229db10baa362f80077f9e77b93983a5dd05f6d10fb2a1bb2ddb8dcc58307a0c841b08172340e4780934329";
+  sha512.doc = "166eabb78a136f5a20f3cfab61ebf79a4f09d1d0c927666584899f53ab655d45a2ea77520be9aba5b5cd1975f29e8df97cf8f6f30c437774235eebdd3a3da6ac";
+  sha512.source = "3ec6cd9ec480c6eb8475d5adc28bcaa366fc8d72079845ebaccf04bd803edbb7335809912454a5dd4bcbd8232f24c327b6db87684bada0cef279c635af78f74f";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "uwa-pcf" = {
-  revision = 60641;
+  revision = 62509;
   stripPrefix = 0;
-  sha512.run = "96a5ef7a7b016e48ecbd80210a8737ff624e30ae7814218c4bfac89f527caef238d5651f700d5cd1428aa4ae3e30fcb8225420d46043f0f1280e3ea35645adf2";
-  sha512.doc = "58bb43df7b6e36da128848c0ae8c1526eba889b628e6de987ecac40f25a0e359a257a7b9e0713d8422fc4f2f045615e52374691107c5b02af3a02a737e91ade5";
-  sha512.source = "8f0a0615e36b2f745e44cac73b853e906e9956651f8614313ef95ecfef977b7a456432c6710b2aadca47c695a030b2339ee1a10c0d728a798d269aa6578e58bf";
+  sha512.run = "7409cff6e531f338b0708c2adf14e4f88e57b0ecefdc7189b5c262104d9d73c7dea0df321dd4f5f25bb33f2d184ea50c871504c893ac65399f3968a84e5bb08e";
+  sha512.doc = "5a12971ba608e85c56297d4a72c83c8d4d9aefafccc7d33b67b87d53a728829be460afc05e0fe7bc95df007cce0572fd07354644ebbc672edd83a91c18aeed9c";
+  sha512.source = "15c3f190df8fa3832348175f8f93f0d52dfff8b77e92ff125249c97e6d5817ca8cf94f8980d48af615e523bea4e32add5f531e7e6530fdc4272b457f031926f8";
   hasRunfiles = true;
   version = "1.0.1";
 };
 "uwa-pif" = {
-  revision = 60640;
+  revision = 62509;
   stripPrefix = 0;
-  sha512.run = "728907dcd2ebfc289afdd798a83081d3ee357635efd36f757b7a29e3ec49911c60462fa2cb5e9988b86c9cd22be74f71a92e1962b2c1d1a20c860f8c6c66eeb7";
-  sha512.doc = "8891ef73abccc06efe541cbd5b68e5c40fff48df12dd008b3a864993af0ab3ab46e9514ac261a51daee93cd53a74c884e33c0bce1d21c9625acf0ef0b0c046a2";
-  sha512.source = "b10a63d7b7e7fc39440a53dfee84385c2e6e4d574fe98814eb3340ef9ab97a142aadff54efdf55510f16a38f70745f456cc2fb4990434a2ec41607b08d3bdf60";
+  sha512.run = "26d15214d007ae5e518b3a2d05ebc048de9a43fa5ebb9d4a980afc5c368701b1b2f31071e2cfea2c2b45a2cb9e06bc25297b658fd5554b498353eba7ab11dc21";
+  sha512.doc = "2de223eb89cb97ee15ac641804ba51830f22fdba47cc7a8ea2101dab68e75a0bdf6506c6de3b93b2ef6e43c660f95305a49a0af2dd78e44fd74fe0e14a47225b";
+  sha512.source = "2e9856dc00bb3e4dda6b8b23014c07b5d135ac3a3e99cc17428aaf6bdb87a716bf3f4830a681ca9ea22130e703dc2d1d866946cc7e9e511fe7f5c0ce0d40a581";
   hasRunfiles = true;
   version = "1.0.1";
 };
@@ -36573,13 +36956,13 @@ tl: { # no indentation
   version = "1.3";
 };
 "verifiche" = {
-  revision = 60269;
+  revision = 62635;
   stripPrefix = 0;
-  sha512.run = "c0fd327c6d720ee95501137bf7592881bf07aa91843222815cc3ebac33bc752658ded93a2f6005acceef5d67b2ffa2d31ee51c2599e9d144da113527fee69fab";
-  sha512.doc = "16f755fc9731b062810cb4dc6d1354c2c29e2355423209da9fc58f4891078af1b449dbd530818afc6c06ca5612574b82e9dd943eb5ac0a18fc21f44b988e35e6";
-  sha512.source = "d949b96ff65fcd4a3d021496a77d219b8619687ca12868c7ff1d036ed960b3b213958149647f52c0a13c6a8c8404bb69056de1495e337a57f0dc878a664b1992";
+  sha512.run = "f96d50f964fb320a830687af3637e0fe6817cc762408fa135620b8e04c9a052f9686b9b9e16ef074cf2480f06e73d2364c8e74a793ed2301f493bc5cb9df3673";
+  sha512.doc = "cade40561fdb0d55a32619916609552ddd2a6aec483accfb414a714316c07263fba43b98e4ea52caa0ab8531b8aefd29d3165628a46980d95f741d90a248d694";
+  sha512.source = "0c92a9e7be40f62d3d0d9ad682f0c9d443962b781aafd6627a40ba4b368d80467477951b04e57de9b7e365b7826e26125f69f7d815d6ae20e271c45f333ab33f";
   hasRunfiles = true;
-  version = "4.2";
+  version = "4.4";
 };
 "verse" = {
   revision = 34017;
@@ -36633,24 +37016,24 @@ tl: { # no indentation
   version = "0.1";
 };
 "vhistory" = {
-  revision = 60124;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "8581151902ec4954f09277c8d4485aa9b8e98f8bb34693a1e6e79f769e8a47e8a8a3f797f74e7b236b3c24cc3efcbca85adc538bd5509f17244de46f2d1ae1b1";
-  sha512.doc = "5a253f13fd4ba05af75275a080545392d3b92dd63aa56b768a4eb20db062cfbc85472c8933e2528fcff8e7f01b233a4b61dc0c22487f790d2e09a16eb7450abc";
+  sha512.run = "1e8bc961ce70a199403f548bc918efbfff57ae6514338d32928a670f1f381ccd0474f3e2e4bcb957e72ae0b74b959f9eb98b552e62dfdbcbea995549bd87ca70";
+  sha512.doc = "25420975890dbeae7b322ed9769eecdc67b9271f36e3269b6dae582af19968b79593ccc0306486de5d9c277be752569591953b423c52f8aab396430331c61e27";
   hasRunfiles = true;
   version = "1.8.0";
 };
 "visualfaq" = {
-  revision = 60200;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "16bd8f010035e9eb0282a119ec6a7699d2c8926b6a7cc997235ab242d19f554523bb766845dd2385858694aa06653be7ee18bd406fcd578dbcff7fab1d61c0b5";
-  sha512.doc = "3380785d5b4fee8a68e8e1c16aa514719ae2e7275cc1cb6ecdf9b3ca6901c9c85a686b61eb3a763b2ad6bb99d246aa79c54906284da85d548316aa2e7b29079e";
+  sha512.run = "e746106e0525c9d40c3600e283e1b652d2a5e4e99381dd7ce88ff2ded109024d86610b6305fdcc6f06220802c7ce565b3e01f9562c00884fe5e161104ad4f8ed";
+  sha512.doc = "cd8f11ebec1eda30ba7b673fe6fd241e61c4ef42a769988d34e58546f608af6a4ea569b2a30957dec0463385c5a4df70f7d10bc6e5b898229c5e6cf46f7e4fca";
 };
 "visualfaq-fr" = {
-  revision = 60273;
+  revision = 61420;
   stripPrefix = 0;
-  sha512.run = "6a2ae768985a6ae59bd70fc137164fbedfb6c99ac137a81cc40d86b2543bd98f29ca1f9beac47220ed8ab69039684ca7dd90c3cd2c5d9a2b90e4a8c5c2a3e3a2";
-  sha512.doc = "7ee33b3544ce6b8a5bd905f518036ff534c4bd677ecd385dccf004d874a59d108bc44a1779a61fe7cbcb6e97588587be1d38e4e96f048db70de042848d3e312f";
+  sha512.run = "ed7bcfc871d3ff533d954a74bd0212a72349fe0317258edfae79941e7f7cfd47e13de24acfbf524bccddcc66f6e75e9491b25339d26d513cf8170853e1e7ebd4";
+  sha512.doc = "2cc2f861a505f4a705ebb03481c00ba6ecf394041e0fcd2a12bc3c96d2a3ae875fd3ac3e236c03c15e2646228945c036647031a0d95377a2373cf9086e5ec888";
 };
 "visualpstricks" = {
   revision = 39799;
@@ -36681,13 +37064,13 @@ tl: { # no indentation
   version = "2.5";
 };
 "vntex" = {
-  revision = 30579;
+  revision = 62838;
   stripPrefix = 0;
-  sha512.run = "f39c04998d0685125d494c1a314f4cddb9e2924af4eb4bd8488be237125d818199640041a9c23d6b8839b9da1861e0b621f71488b316b65903c5f3a0366adec0";
-  sha512.doc = "506c719a29a64611cc7ba228f1e13da9abface3168aa0122ec64dffa423a7c38b6f3a4fed43b787eb60b82bb8fec71a96e4432a9b0c05702a804a31997ccd49c";
-  sha512.source = "93f6fb8e9d49e8a7219a584aacc5f957da0ec2f7e29cf0c5dc37dd5b063cedf4eb2c56662b28c588083b1c158504da5da9cff4250498fa6ab8bdbec9e3eac875";
+  sha512.run = "95ed837dd38c07c552c525b1980bc3333b3c836ee6a78ca7bd9671b1ac048a197cee08580e2a09d9015459b55271577fb855c45a7a156f6497dbf4c981872c6d";
+  sha512.doc = "392d5270c4a98b0f08b56e3b1e4ab4cec862392ab881fff6591dc7babbd69f1a847574d9ad464faac0df5616ebbd7eb9031ebe72268c7d9fd1246858276e410c";
+  sha512.source = "977c9d77f9f28a79e83774e1a0b3aa74dace03a7a73fb42752918edde66f74d6a9c24a1eef934c29f52f4e9fb46501456a1bbae0520349c626a7838c5eea33d9";
   hasRunfiles = true;
-  version = "3.2";
+  version = "3.2.2";
 };
 "vocaltract" = {
   revision = 25629;
@@ -36888,13 +37271,13 @@ tl: { # no indentation
   version = "0.3.1";
 };
 "witharrows" = {
-  revision = 58120;
+  revision = 61449;
   stripPrefix = 0;
-  sha512.run = "75f87cfce4089e02f5e1023ebd1f66c0f9ab62932c2fbb7edb8a63948e31efab3a3418b946db7270e6ea88e6536525db5d191f904f5d7ecb0e8f3cdfaea743b6";
-  sha512.doc = "b22081b8ae14217f4a58f71507314e3bdc50659e6fff761cb1648c8ea03819182a0d4d30122456e4c5d24e307fb301d52eb37e092b8add0b698dacd026e6f5d9";
-  sha512.source = "fdde37e183614ffe887b7813db7d09ebd7586e73c4e54c7eeffaa4daa48e23f2f958306f2547bd2b683343b883b3d26f5f9779b9cbf2e755f8b265678b826c9a";
+  sha512.run = "0b597999e6289943f860db1f280df57debd1a4830768f6a93f41e4a3e1cf3595807d6091a32a4d15c5f7d71d41987c787d7a65bf69978b9630a75882aff5115b";
+  sha512.doc = "6da6379637880005527d00dfe48730b1f1616a70181de2e1936ad4d0eaa8d3215f1b7c64ae0a799d16c216417fadce5050dc5314fab5c7632bb331f1b5d1a4a2";
+  sha512.source = "a6012de14f0cbdfb08b16a9eb85d23846ea518b701f9b92c292897fea3289d69829d8ab5bf056eb8fa3dec470071ca42861b4ff18c7662b0780c55e758ffa828";
   hasRunfiles = true;
-  version = "2.6c";
+  version = "2.6d";
 };
 "wnri" = {
   revision = 22459;
@@ -36944,13 +37327,22 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "wrapfig" = {
-  revision = 22048;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "ea9d0693a43f985b9ab13a51e0af82b866adc8500dfb9f42e8b20ce8facd07d0534749bda61d13bc86b921300336c9f7e6099f252c4c65370a2e2cb4423589ae";
-  sha512.doc = "9ba4292d2641a31f3719ca66e3d80ca70638f9c943bfad9e9e08543f57a53eccc1292930e95d6a3677d0696e0deb1d1ca698b83eb7285baae275b70ac808be33";
+  sha512.run = "afa6eed496f63dda436a9a57c9f056ae88fb7985328d58d81fddde743a737b1ec69a5409941a76a28840d938397928925500628b2e11859713871977545278e2";
+  sha512.doc = "27aa1cfb0641876516eefd483f5f37e25e06c24bc255fe81afadd985d9a5ea73d311184ad46120d57d8dfc584da02f99c90128c6e0cead71064d00c1bae09f7b";
   hasRunfiles = true;
   version = "3.6";
 };
+"wrapfig2" = {
+  revision = 62039;
+  stripPrefix = 0;
+  sha512.run = "5f8059f2aea539f11946e4433c2bdb41530076109e2758f13a289f9009e972ce730cb7d472ce831c7567b0f4281ff54b29fb8df5d6c7f58b98030096ae88e35e";
+  sha512.doc = "b390941a37f348545a319359d216ea9eb4e44f8a1d50b25825a7288f77d3e3dab8e183efc19ed1382420083bb8b7cb940b175057462e88761149ea8611d0488f";
+  sha512.source = "dca40cd88a8650cb5b77de58b3be4c484b2160862e5dc19609237702cc0e71abe0e86b35cf0661e6f61c28948e24b4ca67da3ae710ebf1c0b6786734e1c48cf0";
+  hasRunfiles = true;
+  version = "6.0.0";
+};
 "wsemclassic" = {
   revision = 31532;
   stripPrefix = 0;
@@ -37001,12 +37393,20 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "xcharter" = {
-  revision = 60749;
+  revision = 62200;
+  stripPrefix = 0;
+  sha512.run = "92fb2e7b2fac96f2a447276c3a4bd4f2c0bd71062992f8245c1af790b36cbb0d3d3659dda711d3b810c5447ea4d1d72f783645c9cd987dca6396b3508a02610f";
+  sha512.doc = "107d9dd35890efcd3c40e9ebf100993ea67cc8663075e308e9f3c64a446cdd498568c6770d5f04b8ef1145c8390aef6b70ac1409a4109345df990cf6c7e6a612";
+  hasRunfiles = true;
+  version = "1.23";
+};
+"xcharter-math" = {
+  revision = 62057;
   stripPrefix = 0;
-  sha512.run = "17fd9af030ccd69b9f1a3b4760518f3b84d1f944b2bc4297a2fedd25691b81b249cb003af28ab07a60cdb2d14d6e9b5bab5370f78654bcf4efc281b50a673d57";
-  sha512.doc = "2dbaf1200619859fd8eb5d758f87c1ebd0c7921a47b7500ae1e6fb0437066e5ca115db8caa0d804cdfd35b7777f64a26bb68f2f58424e0fe76ed04a8006a526d";
+  sha512.run = "ca677fc35a3afd5551b856ab7aab9b0d6e5ff55c83ea3aea80a33c2926a090260ab47d32575037bb7354312907c5342795da6853e1c40210443b0314ce5f8b4e";
+  sha512.doc = "a63fd4ed59d3d61f42a6facffbba8adeb638ae84a1b246c5aa348bb59645cc7e096cf67b464d966475e517255bcd144f68cf4b9a6dd53cc15578b76ade7734f7";
   hasRunfiles = true;
-  version = "1.224";
+  version = "0.30";
 };
 "xcite" = {
   revision = 53486;
@@ -37053,11 +37453,11 @@ tl: { # no indentation
   version = "0.1";
 };
 "xcolor-solarized" = {
-  revision = 41809;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "be443123bb994c40fde0c1783c9863a2ce8b75a8e3e3d311cc34596e72f2830dc92feee9fe87638adee2e942d540424bc389460e12aa0e33fe4014b28a1d46f7";
-  sha512.doc = "a448de4d83ff30c2112c90fdf80f530b8e1ee46d6b3f574ad0933cbd415debd1f94cb1c55d6de5679d5502cf8e0e28b71cdbca803f0569422e79bf0ced384f45";
-  sha512.source = "c7f4bac922f84d2e6323f93cbbaa8ec61aa8f532383469edeb8712d4aa557a25509c4c85d160a30715af9a4077d17e6149b737c499dabb22af8a9cc398f4ec9b";
+  sha512.run = "fe743e9aa394c6a8a75f8c9e87cb7349d87df114a8c5753a157d4dd129a677af6a0381969f7719712a9abbb9fc720e0d19f8e7ffcc2bd7ba09ee8cb3df3c8d95";
+  sha512.doc = "bdc4d9a9a0e1ace78a90e9c64fba0894599179592c948494588e43efb21e3b329d6f0a0c403b21073943251796b4cf37f8d0665a8e8bf438b09616fed19c03ff";
+  sha512.source = "851e8ac38bb8a5f6e3410daaa307ba54a5762f08e10b656234feb020354b79caeffaff1de58618e6e9f52cfa50d40013fdeb1e32f6605593dc224cf3650e54f1";
   hasRunfiles = true;
   version = "0.4";
 };
@@ -37128,11 +37528,12 @@ tl: { # no indentation
   version = "1.0";
 };
 "xecjk" = {
-  revision = 61287;
+  revision = 61529;
   stripPrefix = 0;
-  sha512.run = "7b2a43e2523c207a19ba688912bc832ea38431acec4dcf29218f863e7cf68d2057eca1e30e0fa1851cbd44fbedde06889390cab72c7ff9329a0778d02d059625";
-  sha512.doc = "a2c80e3907af4723925a52c20c6ba2b7b6cf2f855824cb403f65c53f771c97523e30f97f559ba4a7a42f39c06079b82bd4454697104cb5ed3b044b3f271e916e";
-  sha512.source = "2944d3905021933eae4dc940cdcefc6cc6d49494ba005ca34d54f8d2ee3fa88ae575a9cbfdca5541de65c5f172ecd2444c0dcc7c837e439016b072f9995241ef";
+  deps."ctex" = tl."ctex";
+  sha512.run = "66213771726f5752495b9936a17b07a80e654cca988ecbb00e1695a4f136ef22a7cc9f2cae763757f35fa11545c825f70ea71940903e076af66ef28aedb9040e";
+  sha512.doc = "92bca289bd907817c95924340256df9130f0dc7c0a57b9586d8f0e9b8e74d87d67f01c51b48c40c723b6a33299d30839c44fe56ad687a548fa9e6ce3057e6e2a";
+  sha512.source = "899d9ffa00d7606d91515a14eafffc3210860ee1055ea0518db37af564155df9bfe973df349263205dc7275ff5d8829b590fd4642235c66ecc986bad4c7294ed";
   hasRunfiles = true;
   version = "3.8.8";
 };
@@ -37170,7 +37571,7 @@ tl: { # no indentation
   version = "0.3";
 };
 "xelatex-dev" = {
-  revision = 58842;
+  revision = 62145;
   deps."atbegshi" = tl."atbegshi";
   deps."atveryend" = tl."atveryend";
   deps."babel" = tl."babel";
@@ -37190,7 +37591,7 @@ tl: { # no indentation
   deps."unicode-data" = tl."unicode-data";
   deps."xetex" = tl."xetex";
   hasFormats = true;
-  sha512.run = "9b8998710f85dc6f685cf3b423f34b08d0945c90e5f94bca141e40248acc641d6a687d39e91cddaca12aa51475fd4120cc482650b7536662cf3d9f07d3409680";
+  sha512.run = "088c917758f727ba08b8571d302c93f0b14fc15ca6dcb0ef7a89df4ba144c508d8d42265cc6b1915707329b64aa1d1030ed0b5513987fbd4437d0a58a232b5db";
 };
 "xellipsis" = {
   revision = 47546;
@@ -37202,13 +37603,13 @@ tl: { # no indentation
   version = "2.0";
 };
 "xepersian" = {
-  revision = 55194;
+  revision = 62109;
   stripPrefix = 0;
-  sha512.run = "c5880fe199b5a239ecce8e4370396f4a981a886e8412cfad36032c4d2b7fe9fdc7d6818e14b53ca22be36909f19be7f363b40cd58644231ce015a627bd65a48f";
-  sha512.doc = "395bdd506072a2e234bb45f120ad748322f78657fa5c7013097af28688dfc7e58d2a7c865fd2c80592132fa46a02e35f65aa4bbfa752c5fb6b4b829a79a302cf";
-  sha512.source = "866a5fb8007fa600c50b343903a306d17e26d5616eb7fc14487ae93005cb7bce1209d382104021cd2b345ea02f2a4b058518454bf797600ad59e8f9254bee8af";
+  sha512.run = "d118e2e60559b0083e64b89893efc2727fa7736699512ac2f2b95fef519cd5676ce817043038d727b8a64e321d41358a841530afaef7b881b3291fd55a9161e8";
+  sha512.doc = "3445a2597325df097514cbc4e184b3ccdfd1191ed6002cc4291197daf6392309ffdba3862fef68704762b758f6229d3d2f1e7cb9f6a718c915c9d0526fb64efd";
+  sha512.source = "e8a6b860a0ca67b0c77f59482874465538a524b2a19d215e31e03243f0e8dfa0db4d091161ca9ca176f661f2f3f2a6234f1796bd2f19807df5c9da00c5bdb1a4";
   hasRunfiles = true;
-  version = "23.1";
+  version = "23.7";
 };
 "xepersian-hm" = {
   revision = 56272;
@@ -37237,7 +37638,7 @@ tl: { # no indentation
   version = "2.1";
 };
 "xetex" = {
-  revision = 61114;
+  revision = 62145;
   deps."atbegshi" = tl."atbegshi";
   deps."atveryend" = tl."atveryend";
   deps."babel" = tl."babel";
@@ -37258,8 +37659,8 @@ tl: { # no indentation
   deps."unicode-data" = tl."unicode-data";
   deps."xetexconfig" = tl."xetexconfig";
   hasFormats = true;
-  sha512.run = "c5cd9bcd20cc1ea6765d8c2adcc9aad2d2c6d2cee54998f4d27bcf2d2ceb58766bf125ecff6957e0806204333390be9ff646bb0523e97754c7056f80ca0e9d99";
-  sha512.doc = "470d453c9fd81cc88b7a7de3e115c2ce6c83f770b5f7be2af40cb712bb62004f2e093dab0d8a373383ffc85fdec6ca1ecd9a7ee7440e8235e57c29de3b330d4a";
+  sha512.run = "18ffa3f65ab85097a6366b820e1a2e482fc5c4d0c3a251b896df8da9871e755ee7616d6db0da5b86f8ce5baa908a5cd768b441a251b8df078b87e5a810ba9506";
+  sha512.doc = "72fe0fdcf6aa7a0ebe740877e3b5dd2f824e7969d636f87937d7f6931594b26a88d44ae81cfbfbcbb583bdc0c0005586a6f72d79b6ab30336744232e0214c9ec";
   hasRunfiles = true;
 };
 "xetex-devanagari" = {
@@ -37307,12 +37708,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "xetexko" = {
-  revision = 60444;
+  revision = 62791;
   stripPrefix = 0;
-  sha512.run = "460d2899cccaafe3f98eb46c5aa32ae4dfff923e70f997193ace6e502910d82635b0a949b4ed48cd10cc35405a41fb5704f988328f1ccb97b3dce065cc085d39";
-  sha512.doc = "48d281ffb0268d4d6a08680e4eb022108a3b18a78a9de908e781477d670367f1ae05cf7666e0edb72bc4b7d3c1bdaefb1ecf63842e72d7b60075094e191fecdc";
+  sha512.run = "01c147b287238527272f4f605a622e17eb07fdfb7095667a5a40e1fdec62b1e6900912f9f507631479d17da1c52fca0daf319d91ed29aa27f76552d49dd8409e";
+  sha512.doc = "e00fec8d26c15c0ff71ab8c14a1888ee7c60362127f3f3fed3895d8f8a4f31b500f2d517b6a090cf2d7428e9bfacc9c6d96d64eb2924f443d77028683d197a81";
   hasRunfiles = true;
-  version = "4.0";
+  version = "4.1";
 };
 "xetexref" = {
   revision = 56291;
@@ -37384,11 +37785,11 @@ tl: { # no indentation
   sha512.doc = "50322d89f494d07793d964fe515b8a0bacb74bd5706a6da80f6860771a8e3cad35c7d06bf398217a7e4364594d54f4dc490f39980194804a04460047ff5083f8";
 };
 "xindex" = {
-  revision = 60997;
-  sha512.run = "c34ba1d358204e117e5ef1ded4d9bbc2b745ca2f711a47d9fff6ead4de03d6fd782025e24427ff528299921fa00827dea9db70f3162aeff4851acf0a51fa1039";
-  sha512.doc = "94c7b56000e161b09aa593e20841928e604665fdc1be466ff3b933f5a55e646cb1a9ef7d52d90d2ebe232f876a5554b9e7304116f86b692bc58af77992e7136a";
+  revision = 62521;
+  sha512.run = "a3b95fb98bf238b3620053aba0329a2dabd34ce76632d5887e8980d6a86ca2d31e74d0a5987d799202b90eb6648af2b34cb69eda58582722c2172e774a90def0";
+  sha512.doc = "637b56f0928582599ca3117106a6dc02aea77dbba5b5c6b4b00f531c6b9714f54fe2ec532b514bf1e04eef1ed4f0cfbfc9ea34761cfffc9072c4899ffb70263e";
   hasRunfiles = true;
-  version = "0.34";
+  version = "0.41";
 };
 "xindy" = {
   revision = 59894;
@@ -37487,7 +37888,7 @@ tl: { # no indentation
   sha512.doc = "973960f65159f5107caa7e9a041dca75f0171fc61f94794c7b7560eb9b6898534974fb8b360a28dfa3a01d422b71618bcaf8aba2ed25ae4d4b9f67d24ab730be";
 };
 "xmltex" = {
-  revision = 57186;
+  revision = 62145;
   deps."atbegshi" = tl."atbegshi";
   deps."atveryend" = tl."atveryend";
   deps."babel" = tl."babel";
@@ -37509,8 +37910,8 @@ tl: { # no indentation
   deps."unicode-data" = tl."unicode-data";
   deps."xmltexconfig" = tl."xmltexconfig";
   hasFormats = true;
-  sha512.run = "e98a3ab9986d63d2605c87463bb32835d8ffcdd93f577b642da8e8f2447b6a74363c3a5799808c35f2e4b099af2789698ea471e04457a31ba8753ec4762e0ead";
-  sha512.doc = "340859a95a102759494222e0cbf19b7f851c44d4cfeac77cee178b69f576151021de53c32ffb8dcb8ed911dae2eecaac943941481b5cccdfb5302bb8291724fb";
+  sha512.run = "ee01abb25b18e99f18bc78357be04fb1405473e90fbdf74ed875e2910812550c44fcc7aee960b2bdc53fcd7d78e9aa706e46929da65d5cb78d9ca43ba475d675";
+  sha512.doc = "d87c6d1f4c472b436104b0746d48a463977dc7eb520de3d7a53f48bc1c8e5682a23d604bbe2ebda1b5029d4a6dd33c2d2bf8b917ad4f54d2c7472874fdfe8509";
   hasRunfiles = true;
   version = "0.8";
 };
@@ -37570,20 +37971,20 @@ tl: { # no indentation
   version = "0.86";
 };
 "xpeek" = {
-  revision = 27442;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "dc1dd0534645be0754551b2d3bc146c7e7663f7cc9f2daf40b13a383e13883d25ba46f320317d4e9f251594dccf3a880f5e123683f302638eb3b37018b369ce4";
-  sha512.doc = "047080eda80f9134b98196bf8a06e446ef856028aaa0f936da16db7f63be144b404708045d2a49c5bdb70b7a6f0b6b505697e95a5ff8b98b5b4f1ee8b2949367";
-  sha512.source = "a7e8c3f165314ab79f8702b8ccc82200398e5d5798815c02a7ae3ea0d70dd521d534c50e93b822e41042eb6a0faea07d5f129f05f427e47c2abcaff3adbba459";
+  sha512.run = "1b264f383d76e1c213aab0ac650a934ac6a91eb8dea8122229b2ac6bcb6ed694d62acecae3882b41abf34bd016922109064de0775f91222ad88be8287bd62931";
+  sha512.doc = "0633a7a51a329ff6849d080bac626b4174567823b8c597187f62158004a8df647fe40653af371d55d6a4743991fc3ca650e034f68e5b737448245c7df79cba84";
+  sha512.source = "38165be35b6fece20141ab61b4e212d6a754d2971e340a0f98bb02468aaad6b470aecbb5f4887969a987c9e7c45be109cac5e190b534264caced15fdc803f14d";
   hasRunfiles = true;
   version = "0.2";
 };
 "xpiano" = {
-  revision = 37604;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "3554bd514e1108649bc98d38dc84951edf17533758325d46726f55d9909d1a3747024aeff62842dc6eb1b5fc760c41a452e207b156bdee06468e9d7732e223b6";
-  sha512.doc = "257c484983eed03adc77b1776c9207ff89b4152b817aa09fb57cb41d8f6494af0db191c61b954a7f2a605cb8695fdd0562cbab1e0c48f85329c3ad61fef0e62d";
-  sha512.source = "b52814268736b61fe3f417f410e4b29f778b6492f838d16894d33db85645799d52d3d744f10b429e68e315a142964b2f5ff57f15e9c4ee7e93a58dbd4b0fa2e2";
+  sha512.run = "892f018e4bcad350e4418b2724b6bf2d18aca9f74aa01eb10906b90630b36ec3497a0b96b293e44ec136eee22648b53a13d7a9b614a36c0b79f5a7b94dc37403";
+  sha512.doc = "467da8be6903252b1d1a9436750b8d2f0f5eb1f1f7ad1178acf0a1ddbea253ce38ddc842c89ab6a22c4bb72ec311a2ee2536dee5834ca3ead427c36592c35100";
+  sha512.source = "bfd5a1dde7e05755f3c0167f16b7af2d83881b25d31e96644d18d193f4afb8f9f359b5149fe4534e43243e9364c1ab6380576196422c79077c82c4269b7619a0";
   hasRunfiles = true;
   version = "1.0";
 };
@@ -37631,21 +38032,21 @@ tl: { # no indentation
   version = "0.4";
 };
 "xsavebox" = {
-  revision = 54097;
+  revision = 62605;
   stripPrefix = 0;
-  sha512.run = "bcfb1ea2043163f3ebba520235ebcf8a0cb69a4e167a439adb24f0582166f3e7a74072ba5ccfc5482948a6a423c6684dcee4dda7f0170f6eea2e86292087818a";
-  sha512.doc = "0722ad2a511709f68254c97cce7eac6a2e0d5b452d146dcb9f264f385444d6f92021161378cfadd1c26442696e2fcee3cab7a720ce4a68463f4eccacb11639a0";
-  sha512.source = "6064e060001f189f8a58b5fe3de87d68366d48bea8c6b0ad8e41f32ef6eb0d87dd12662aa8ad27e89b8701c32822503f6bc830837f7c33ba46ef3a9db651fa48";
+  sha512.run = "a88e6345a40406e568673bffa319dca5bdd47ba4cb64051751966bdcf8ef048d5310a993a735d849ae6e9a2eccbd201bc1469d571f73b35fbde10c80704396b1";
+  sha512.doc = "97baadd10cf6de0529af35dba2ed970b93f9ff02a5fa2f02bd018892900963c544bc3cfd5a1dd4e0af9ab492e051d23d5d9e24b5548f175c575b51adf12ba671";
+  sha512.source = "924788ba1a0bf0287fb7a4b0828866a17185e1b61ed31b9c294bf79000ee4186a367ade34b64bcffca2d087b5cdc94d38dfcfdf79fa33652f792d09d7e9fc4a1";
   hasRunfiles = true;
-  version = "0.16";
+  version = "0.17";
 };
 "xsim" = {
-  revision = 57619;
+  revision = 61988;
   stripPrefix = 0;
-  sha512.run = "37325711b273ad2f2b5fb762f91ec4a0373c92d6b0f418a68d0560c1d83c8d9c673b7cfbe93bab446f61209ae2d49b298aefd6da43b0be9732be5cd996125910";
-  sha512.doc = "2b0c825844d220efe5d4bf77ae53e0a155a5b8603630b361b45b4267083b15b3d7149d1d4fab1191064b3edc650195eb4497e0370c06ff39a93d673adafcb9f6";
+  sha512.run = "daaf1cc1ac8c34c4a63de3a16baabbcb661177172892bf4bf85e588cd150e8736b5b3ef382656c4ca5e3486f93889bfe00a9895988284a3fde84caf222e9744c";
+  sha512.doc = "a020e1c60dd909ad48607b315e63d2225a9a884f2939f1cba2a783e9336b86dc002e1fd771469daae9a4c16d80b4c9263f04a545b270ad666749d5d4536d3e7c";
   hasRunfiles = true;
-  version = "0.20c";
+  version = "0.21";
 };
 "xskak" = {
   revision = 51432;
@@ -37691,18 +38092,18 @@ tl: { # no indentation
   version = "0.981";
 };
 "xurl" = {
-  revision = 57265;
+  revision = 61553;
   stripPrefix = 0;
-  sha512.run = "51251afe43f9b175e4afd901f10edd63bad590b0591f117d423866ed1a82e2c0ab35dee7e03250c331f8a8605f9c6ba8357e93ef0aa80d40dc03379bde24dd1c";
-  sha512.doc = "df7e35d13f340c44813e0656c36148b92319a7099ae47eb02513d33834b642528eff2e81299aa670c2a4572e78c830d48c83b46996700e9fb568db16b84f1e57";
+  sha512.run = "df2570d0eefb64df3a0533237ea09f00b9e22be0000134b32de40198649a6e98ee48a31d769dc750847672be7e3577fcd8eabe25e1ae8ee493d77e40ce684147";
+  sha512.doc = "e02cceecac468713453432e118dd1cbe3f872a4dc33fcbdfc769861f353ac4ff5c117f51197b297a4eadf295f75f1f0254585ef0a48909aa004f4a598d796491";
   hasRunfiles = true;
-  version = "0.09a";
+  version = "0.10";
 };
 "xwatermark" = {
-  revision = 28090;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "705c9eeccda8b2475cee782f6bb167691e985324361e6dbf147ef9843489f572f2e0b9e47a9f2beb7fdce68ef12ba2bbcb2ccf23c39db489d7d4486f09ff5787";
-  sha512.doc = "70436c9927ed6c3c7604e1e70fa877b9be80287a18d9257abc85526fd756be5b0712b28b47b3271787f6ab062743964ca6eb5204005fec33c3a63d2dcab960ed";
+  sha512.run = "c8b7e89cb39ef5b3f01f24a89cbdce729ad2061a0b3a1ef504933ab7e116b4b67ba8f1a68db74d46839bfbb60cecad4fc459fdd5d913716ad6542d8952ffd926";
+  sha512.doc = "a812651c587a76e086076bc8c810dc218431b40aad223644001f42d098962a401246781e0f83789afb3407fd93a0379755f82e30d815c14b4bc72499a9d8d26e";
   hasRunfiles = true;
   version = "1.5.2d";
 };
@@ -37724,10 +38125,10 @@ tl: { # no indentation
   version = "5.06";
 };
 "xypic" = {
-  revision = 31859;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "5bf1323499bd801e2d5e9ca2eaaf3d7726ed6b8063dee18180eec775ea4d2f86cca8bcae262375455af64ae00951a41b34386fd90666a2a89114a2fcf23ccb7f";
-  sha512.doc = "cee264a3a8ee8f599b2310b4c9b722835a61fe8455c3f873ba91ad22ac7890cff8a1ef25f3d0b80aedd6420f31742f4e533fe20fc81dc83e4cc018684180c7ff";
+  sha512.run = "431451f2028cc87d2d22b4d6ce95ac8f216755da312301195ba7af46146382cf76c27f9964a94817e90afdcdbc7a01dbd887d45808296984fa0b3a3a1770b46d";
+  sha512.doc = "9664336d5bd14145603a8c3e861f8fdf062cd4587b8f739a29d93ac78a946c06a0985da4f011030df575276bd43555e55ba467eb4c640d60b2db0a07be706908";
   hasRunfiles = true;
   version = "3.8.9";
 };
@@ -37773,10 +38174,10 @@ tl: { # no indentation
   version = "1.1";
 };
 "yamlvars" = {
-  revision = 61327;
+  revision = 62722;
   stripPrefix = 0;
-  sha512.run = "1c0f473b95db6d4eed19d60e457271acda699a36d9d5de84f70e7f81411e23779a235b7237354b57c786e4b1af9e8d09294f55271da36c26dc42c93816c3b589";
-  sha512.doc = "1f9613b9463616b38a34ad8b913e599e9c13124bf7e457ca541eec4aa67a3e2b95cc3869c7a4fc012e150afc1fc93accdda89b05340e3d4484a5b0a4ca9986d3";
+  sha512.run = "edfcc2f088dc8352be7386eaaee1e7babf01d4079eb37237e404f20d85309096deeda44bae0c3838f816db53a47b89578b6befcfbaab83395877bb19467afa6a";
+  sha512.doc = "62fbe644e41ffe332770f3e2cecc24626c0305ce1b1f9a48487420bcecdee74a32c261aee12953a717c36c6791cd89d94d3b6bf600f3d135e70e11031c3d9819";
   hasRunfiles = true;
 };
 "yannisgr" = {
@@ -37804,13 +38205,49 @@ tl: { # no indentation
   version = "1.03";
 };
 "yazd-thesis" = {
-  revision = 51725;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "9f8350ad1d606769e5c5825bfa92832775ca7a120287013119f01e3cdd54b052a9bf51cce2c7350e5f7241b4817a4b840590bade6c07646fc519be5ba2d9e11b";
-  sha512.doc = "315a82c7e548df4c971d9281f5da6e58a58282a3b05ab23eb41befe4cbe56b278d9a975c920d10cbd387f8809a2301ce800b9fc1c482dd6c3821040ac5911aa0";
+  sha512.run = "d19e817cc925a0ea08e1b15f3a2b1d6ee4b7a8f9ac420dfa7b6db7cc55b5a24777125a0be7923707606b215ec95044fdf16a2f8a5e5682d8403cf6857dc3252e";
+  sha512.doc = "b065c1fabfa4eb394b5ffd3ed048a42c005cb183c82027d5ce1d21e53c2a35f8c0d3647156567f47cdced936ed061fcf303651d024fe3050e8a135c693ea8c28";
   hasRunfiles = true;
   version = "0.3";
 };
+"yb-book" = {
+  revision = 61484;
+  stripPrefix = 0;
+  deps."anyfontsize" = tl."anyfontsize";
+  deps."biblatex" = tl."biblatex";
+  deps."changepage" = tl."changepage";
+  deps."chngcntr" = tl."chngcntr";
+  deps."csquotes" = tl."csquotes";
+  deps."enumitem" = tl."enumitem";
+  deps."fancyhdr" = tl."fancyhdr";
+  deps."float" = tl."float";
+  deps."footmisc" = tl."footmisc";
+  deps."geometry" = tl."geometry";
+  deps."graphics" = tl."graphics";
+  deps."imakeidx" = tl."imakeidx";
+  deps."l3packages" = tl."l3packages";
+  deps."lastpage" = tl."lastpage";
+  deps."libertine" = tl."libertine";
+  deps."mdframed" = tl."mdframed";
+  deps."microtype" = tl."microtype";
+  deps."paralist" = tl."paralist";
+  deps."pgf" = tl."pgf";
+  deps."qrcode" = tl."qrcode";
+  deps."setspace" = tl."setspace";
+  deps."soul" = tl."soul";
+  deps."titlesec" = tl."titlesec";
+  deps."ulem" = tl."ulem";
+  deps."wrapfig" = tl."wrapfig";
+  deps."xcolor" = tl."xcolor";
+  deps."xifthen" = tl."xifthen";
+  deps."xkeyval" = tl."xkeyval";
+  sha512.run = "1f73b26023c553ef747ed7db6af03e68be64b79576384f0f9a58719a1cafa8fa7e5b1cba4e605748e40990fff9a6b955defa49a61e88e1d520523e5963a05735";
+  sha512.doc = "71176d67bf784433ca53e35504c5bef4ced8702e8a5a8ace096a92be06e2ce14608129dd8e6d44bdd84b83fb6b3077e72cb11c105ad43c568e6254ed85d86191";
+  hasRunfiles = true;
+  version = "0.1.0";
+};
 "ycbook" = {
   revision = 46201;
   stripPrefix = 0;
@@ -37827,6 +38264,13 @@ tl: { # no indentation
   hasRunfiles = true;
   version = "0.6alpha";
 };
+"yet-another-guide-latex2e" = {
+  revision = 62565;
+  stripPrefix = 0;
+  sha512.run = "d6e6222758560d2602d358a7ef833579560b0d8396210ba284772ac099b048331a0ca2ddeec4217022eaaa32719f920670ad4d27124799b6fe668f4ac009d7ea";
+  sha512.doc = "d83040f3b0922c3f86f7681db9912d6b619369851c3e97237947b1f0c2d456886abaea77ae0ce6d3123b1943b85bd005cf6f78adf53865ba7abd2fe7531843ec";
+  version = "0.5";
+};
 "yfonts" = {
   revision = 50755;
   stripPrefix = 0;
@@ -37886,12 +38330,12 @@ tl: { # no indentation
   hasRunfiles = true;
 };
 "yquant" = {
-  revision = 60420;
+  revision = 61897;
   stripPrefix = 0;
-  sha512.run = "6d5d8c48e2103d2f97ffee6b367a27a3a2fa4477f7b08c2ee4e77b74bd93485c7a0f39d03124ea890fdc469289e7eb0b28e62cea84a413418445e67019240f33";
-  sha512.doc = "22388a724c3c669087c1eb350705efb76fa70aeef735fb20fe3a66a308b940f11824c43d3ca72094588ad98ec9104c389ea30f712d56e14ee1abfd7a4dec46fe";
+  sha512.run = "d990bd5381d0dd2c2b273c645566d8d9256391981434a1499b990921894a3f2bcd7953c30872315a98d48fe8864e18b944161ff460a2db3fd2ee267a2551ae88";
+  sha512.doc = "dbdb5461e4cd0aeebf465d43c332eca810ecf419d9706569812a62794edd939f80c3984a9961d7578c1240482cff11fda74e95e205a8d383b600b9980fdba0f1";
   hasRunfiles = true;
-  version = "0.5.1";
+  version = "0.7";
 };
 "ytableau" = {
   revision = 59580;
@@ -37903,15 +38347,15 @@ tl: { # no indentation
   version = "1.4";
 };
 "zapfchan" = {
-  revision = 31835;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "46a104a6e4d1cf681bf10bf22fa32510982939cf52dd255a7ec50e5a9f95acf72457195cee13499c6f517a7f2b03be8a285eb6730f659d59ee5aa42522ba34bb";
+  sha512.run = "a5a8a672e1753cd39b44dfb43b9b83673f7bd20dfb4e4640630ba0908c228dd75dda7933432d6d6f7e2c4920d554aa8cd41a523ebe665832edbc4aa7b8034332";
   hasRunfiles = true;
 };
 "zapfding" = {
-  revision = 31835;
+  revision = 61719;
   stripPrefix = 0;
-  sha512.run = "e3e6e69b82858d8bd653bcb112ed81b8b5aacc0b915b5e4ed4288f5aef896211e75b85b1b647989e0ffa431ec204a9d8ad27b2e60bc2b28eea83eb3518945bf1";
+  sha512.run = "3e0503c2d4e30c8d727caa1d9438d4c6b12c3a15729eae65d5c4a8dd9ab0d0c8eee2f63138e9d267f4ae98ef7607388888f7acd78e189a5c322bda22827166fe";
   hasRunfiles = true;
 };
 "zbmath-review-template" = {
@@ -38005,12 +38449,12 @@ tl: { # no indentation
   version = "1.4.0";
 };
 "zlmtt" = {
-  revision = 61379;
+  revision = 61567;
   stripPrefix = 0;
-  sha512.run = "3bde356a92ced2170521dc1ca606f02db31467d2584064d7d2faaf518af8a3d8ceea6a6ce6195d280230188395b27399da4b92dfcafb04348948ae2c44e92f57";
-  sha512.doc = "810f538e57601f8dfa1143acf1803f5466e42d7705a5e5cf9aaa63ebbbabede669801ddfd24a6008f6d059b1a2e23f48f1baa07a546837027e52e23199f09ff3";
+  sha512.run = "beb32b3a3a89f02f1dadd51e4c585d4f268c277f78dbac11325299dd59de1987c12ffee92f2ca713e92ecc797d9228779cb542a31428e4ef6b73255b7f5ce987";
+  sha512.doc = "f877777cb814d325b54f88c69adb663cc0c9851994e9960977904a39de1168a4ec344b4861a5c4cb1b125ef41ae3f180e51e6a318fc99dc2344ce900f892e94a";
   hasRunfiles = true;
-  version = "1.03";
+  version = "1.031";
 };
 "zootaxa-bst" = {
   revision = 50619;
@@ -38030,22 +38474,33 @@ tl: { # no indentation
   version = "2.32";
 };
 "zref-check" = {
-  revision = 61359;
+  revision = 62011;
   stripPrefix = 0;
-  sha512.run = "8695bf0fd5a1d4c94219aefc7a7022a7efc2eb315c270689df726e9727bc8e38709c816bde2ec41b3a61691b96b0e97ac101c09b7af7cd5edc4f3855a94241e3";
-  sha512.doc = "7906814e90d8ca6b35c9153e086dc66c34cd5432ca600a59b5bf1c4969d3928e6e0f494dfd0ba124d264606e6a1ec2fc0782df1e10d198bc6b5ea60b3d8de32e";
-  sha512.source = "141ea6d6a296b2bc7effe6ac90f831a68484f1bbab3fab1add2985bc4d94b6d3fdba98ef80d5cb4ba284738c8c5203d252286161a59ba7713fb5447c39dd7beb";
+  sha512.run = "af3f51e40dfa6b9f34e032634ffc9d52cbf86e8b07ee865681a9d3b6c5f610a1ee6498223ed2c0cc3f612f7696e43527c9852b20d07854cf3cbbb1dac34d15e2";
+  sha512.doc = "3b683f4b47e7ce201d6ac83c2c01ef98a2b283af0dbfd898a2581320355fa74ff69c49523bf732e7cf2e5ce533c5cf0a9eee8a80863fa9d403102369980ab327";
+  sha512.source = "288dd89731fa136559d020179ac73edea4c25afacb8c91845f189d036dadcc0a80a398f82c901478344f6bbeaf60f3987e2bea3b6400f70f9c5ae5312d333ef6";
   hasRunfiles = true;
-  version = "0.2.3";
+  version = "0.2.5";
 };
 "zref-clever" = {
-  revision = 61246;
+  revision = 61994;
+  stripPrefix = 0;
+  sha512.run = "13df97fe0eb3fedaf2cf4e0c6315a3950833c8498336cca9b402007039c06f1da1b11c7344455bd39154c9a9fee309e589740c20312430d0e6296072bbd7a4da";
+  sha512.doc = "0f93b690ae200e340b55c736ea93a213c710f68f4ac662cdfe27e0743a399184d85b235028a4af6cd655ee880b255d00993b9ae0d6bd53034d2144cae3337715";
+  sha512.source = "3b64811689d5c3d32e31c2fc2ecd31fd9c66bfa343f8af33791fff9ce34ba5655eb175028d0a6341236c2b6db244c273c9aee737b90411adb2c332bf2d903f88";
+  hasRunfiles = true;
+  version = "0.2.2-alpha";
+};
+"zref-vario" = {
+  revision = 61995;
   stripPrefix = 0;
-  sha512.run = "65f66f94bb2dcdb470cde4c0cea5f947359956726db46acc59a5c963e3601f350b2d6ea50fd0276f69d81b48086314ab4a6a1fa3b76d9c2746ff231cee047c2f";
-  sha512.doc = "e173be442a3ecae85c24005ce99c141e29900b5f0178d8dee3db6874e1e91068839ef4c1f4e98d0ac49e41ddfc1e4dc8f523238555cb2ce8c0a66282d38b7a72";
-  sha512.source = "b3cd945a1ad1e86b2042abd88354877b2f3834a65530f0e58704b36f1ae6a2cc3e06c292f0c2971d063ba3b8e18c96d9d06cb2773af1cad155fe8932c8d5cf79";
+  deps."tools" = tl."tools";
+  deps."zref-clever" = tl."zref-clever";
+  sha512.run = "26a10ab2d9fdf28654658f8b2d376c2d49fe90f7478089ee858d6ddb6350bcdfcfabbfa96c4981d11aceb958dd7893f125575d93ac34ebbebf3519dfc1d5dc22";
+  sha512.doc = "d5d839f8d850a59f8d37a0acdbb6c3236bbba97efb015e5170d4df52ce3a07937dea55886358aea64a3b315dcccd693c47ef6f8ebba6465e9dc5083e395225c8";
+  sha512.source = "854bb3583b9e8a961dbd2aac05ca0b7121d44e79b1454cf35c1de327587e859a6269a97684b238c89b7ed12b0bca7f87fe9dd2595ffb6183e091884aa80bcd2b";
   hasRunfiles = true;
-  version = "0.1.1-alpha";
+  version = "0.1.3-alpha";
 };
 "zwgetfdate" = {
   revision = 15878;
@@ -38078,12 +38533,12 @@ tl: { # no indentation
   version = "0.2";
 };
 "zxjafont" = {
-  revision = 53884;
+  revision = 62865;
   stripPrefix = 0;
-  sha512.run = "bb6047e07b1d3c326cdee875809053b90b7e753078ae1e6c0b3cad19cb645e7e46321b07509f86b8d8dc2eb331be8e50588a2f9c926afd413aed20c99f4f6a40";
-  sha512.doc = "c1cc759857b60c123ae798e1a9168f85e7fa663b875f241a8d5160b14cf366bcc282d09b9e527469986ee268b160cadc89a906facf8f38bd76ffb9d07e0a7ffa";
+  sha512.run = "4bf2a38c58a042a611ba069067cd9985b09e453acccffc6955b0ae74bab993d9b3f610743d3cc8eb63048a45ce775e4e240ad0b00b7b6b5ad171e6c1178c03a2";
+  sha512.doc = "9802925d6c692d8fbbf50500aaa1dd4d465a3717580a9768f3b41e95ccf5a3a8cb469697d3bf8d668a83f8ca7e4af9c0ec515da95733425bd6c31b0b1cc03b34";
   hasRunfiles = true;
-  version = "1.2";
+  version = "1.3";
 };
 "zxjatype" = {
   revision = 53500;
diff --git a/pkgs/tools/virtualization/linode-cli/default.nix b/pkgs/tools/virtualization/linode-cli/default.nix
index 9ae525bb7f2c9..8484762e3896f 100644
--- a/pkgs/tools/virtualization/linode-cli/default.nix
+++ b/pkgs/tools/virtualization/linode-cli/default.nix
@@ -13,8 +13,8 @@
 let
   sha256 = "1f0nrdg8hf650qxz79i3a1d2zyf24niyrcnbnhc9i7hzbnqbp5qg";
   # specVersion taken from: https://www.linode.com/docs/api/openapi.yaml at `info.version`.
-  specVersion = "4.118.3";
-  specSha256 = "0jf4fnadcdfm4ja0d0m5rxcpg48cqsi9plaqz6kwyx3mp2snx9yc";
+  specVersion = "4.119.0";
+  specSha256 = "0q5cqx9w44a85r8h9an4iz4m3s7x3b0nyk188i3hsh3r1wf1nryv";
   spec = fetchurl {
     url = "https://raw.githubusercontent.com/linode/linode-api-docs/v${specVersion}/openapi.yaml";
     sha256 = specSha256;
@@ -33,6 +33,10 @@ buildPythonApplication rec {
     inherit sha256;
   };
 
+  patches = [
+    ./remove-update-check.patch
+  ];
+
   # remove need for git history
   prePatch = ''
     substituteInPlace setup.py \
diff --git a/pkgs/tools/virtualization/linode-cli/remove-update-check.patch b/pkgs/tools/virtualization/linode-cli/remove-update-check.patch
new file mode 100644
index 0000000000000..316d2855b1f45
--- /dev/null
+++ b/pkgs/tools/virtualization/linode-cli/remove-update-check.patch
@@ -0,0 +1,11 @@
+--- a/linodecli/cli.py
++++ b/linodecli/cli.py
+@@ -555,7 +555,7 @@
+         if self.debug_request:
+             self.print_response_debug_info(result)
+ 
+-        if not self.suppress_warnings:
++        if False:
+             # check the major/minor version API reported against what we were built
+             # with to see if an upgrade should be available
+             api_version_higher = False
diff --git a/pkgs/tools/virtualization/ovftool/default.nix b/pkgs/tools/virtualization/ovftool/default.nix
deleted file mode 100644
index cc4af17b47d0e..0000000000000
--- a/pkgs/tools/virtualization/ovftool/default.nix
+++ /dev/null
@@ -1,230 +0,0 @@
-{ lib, stdenv, system ? builtins.currentSystem, ovftoolBundles ? {}
-, requireFile, buildFHSUserEnv, patchelf, autoPatchelfHook, makeWrapper, nix, unzip
-, glibc, c-ares, openssl_1_0_2, curl, expat, icu60, xercesc, zlib
-}:
-
-let
-  version = "4.4.1-16812187";
-
-  # FHS environment required to unpack ovftool on x86.
-  ovftoolX86Unpacker = buildFHSUserEnv rec {
-    name = "ovftool-unpacker";
-    targetPkgs = pkgs: [ pkgs.bash ];
-    multiPkgs = targetPkgs;
-    runScript = "bash";
-  };
-
-  # unpackPhase for i686 and x86_64 ovftool self-extracting bundles.
-  ovftoolX86UnpackPhase = ''
-    runHook preUnpack
-
-    # This is a self-extracting shell script and needs a FHS environment to run.
-    # In reality, it could be doing anything, which is bad for reproducibility.
-    # Our postUnpack uses nix-hash to verify the hash to prevent problems.
-    #
-    # Note that the Arch PKGBUILD at
-    # https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=vmware-ovftool
-    # appears to use xvfb-run - this hasn't been proven necessary so far.
-    #
-    cp ${ovftoolSource} ./ovftool.bundle
-    chmod +x ./ovftool.bundle
-    ${ovftoolX86Unpacker}/bin/ovftool-unpacker ./ovftool.bundle -x ovftool
-    rm ovftool.bundle
-
-    local extracted=ovftool/vmware-ovftool/
-    if [ -d "$extracted" ]; then
-      # Move the directory we care about to ovftool/
-      mv "$extracted" .
-      rm -r ovftool
-      mv "$(basename -- "$extracted")" ovftool
-      echo "ovftool extracted successfully" >&2
-    else
-      echo "Could not find $extracted - are you sure this is ovftool?" >&2
-      rm -r ovftool
-      exit 1
-    fi
-
-    runHook postUnpack
-  '';
-
-  # unpackPhase for aarch64 .zip.
-  ovftoolAarch64UnpackPhase = ''
-    runHook preUnpack
-
-    unzip ${ovftoolSource}
-
-    local extracted=ovftool/
-    if [ -d "$extracted" ]; then
-      echo "ovftool extracted successfully" >&2
-    else
-      echo "Could not find $extracted - are you sure this is ovftool?" >&2
-      exit 1
-    fi
-
-    runHook postUnpack
-  '';
-
-  # When the version is bumped, postUnpackHash will change
-  # for all these supported systems. Update it from the printed error on build.
-  #
-  # This is just a sanity check, since ovftool is a self-extracting bundle
-  # that could be doing absolutely anything on 2/3 of the supported platforms.
-  ovftoolSystems = {
-    "i686-linux" = {
-      filename = "VMware-ovftool-${version}-lin.i386.bundle";
-      sha256 = "0gx78g3s77mmpir7jbiskna10i6262ihal1ywivlb6xxxxbhqzwj";
-      unpackPhase = ovftoolX86UnpackPhase;
-      postUnpackHash = "1k8rp8ywhs0cl9aad37v1p0493bdvkxrsvwg5pgv2bhvjs4hqk7n";
-    };
-    "x86_64-linux" = {
-      filename = "VMware-ovftool-${version}-lin.x86_64.bundle";
-      sha256 = "1kp2bp4d9i8y7q25yqff2bn62mh292lws7b66lyn8ka9b35kvnzc";
-      unpackPhase = ovftoolX86UnpackPhase;
-      postUnpackHash = "0zvyakwi4iishqxxisihgh91bmdsfvj5vchm2c192hia03a143py";
-    };
-    "aarch64-linux" = {
-      filename = "VMware-ovftool-${version}-lin.aarch64.zip";
-      sha256 = "0all8bwv5p5adnzqvrly6nzmxmfpywvlbfr0finr4n100yv0v1xy";
-      unpackPhase = ovftoolAarch64UnpackPhase;
-      postUnpackHash = "16vyyzrmryi8b7mrd6nxnhywvvj2pw0ban4qfiqfahw763fn6971";
-    };
-  };
-
-  ovftoolSystem = if builtins.hasAttr system ovftoolSystems then
-                    ovftoolSystems.${system}
-                  else throw "System '${system}' is unsupported by ovftool";
-
-  ovftoolSource = if builtins.hasAttr system ovftoolBundles then
-                    ovftoolBundles.${system}
-                  else
-                    requireFile {
-                      name = ovftoolSystem.filename;
-                      url = "https://my.vmware.com/group/vmware/downloads/get-download?downloadGroup=OVFTOOL441";
-                      sha256 = ovftoolSystem.sha256;
-                    };
-in
-stdenv.mkDerivation rec {
-  pname = "ovftool";
-  inherit version;
-
-  src = ovftoolSource;
-
-  buildInputs = [
-    glibc
-
-    # This is insecure, but we don't really have a way around it
-    # since ovftool depends on it. In theory we could ship their OpenSSL
-    # build... but that makes the reliance on an insecure library less obvious.
-    openssl_1_0_2
-
-    c-ares
-    (curl.override { openssl = openssl_1_0_2; })
-    expat
-    icu60
-    xercesc
-    zlib
-  ];
-
-  nativeBuildInputs = [ nix patchelf autoPatchelfHook makeWrapper unzip ];
-
-  sourceRoot = ".";
-
-  unpackPhase = ovftoolSystem.unpackPhase;
-
-  postUnpackHash = ovftoolSystem.postUnpackHash;
-
-  # Expects a directory named 'ovftool'. Validates the postUnpackHash in
-  # ovftoolSystem.
-  postUnpack = ''
-    if [ -d ovftool ]; then
-      # Ensure we're in the staging directory
-      cd ovftool
-    fi
-
-    # Verify the hash with nix-hash before proceeding to ensure reproducibility.
-    local ovftool_hash
-    ovftool_hash="$(nix-hash --type sha256 --base32 .)"
-    if [ "$ovftool_hash" != "$postUnpackHash" ]; then
-      echo "Expected hash: $postUnpackHash" >&2
-      echo "Actual hash:   $ovftool_hash" >&2
-      echo "Could not verify post-unpack hash!" >&2
-      exit 1
-    fi
-  '';
-
-  # Expects a directory named 'ovftool' containing the ovftool install.
-  # Based on https://aur.archlinux.org/packages/vmware-ovftool/
-  # with the addition of a libexec directory and a Nix-style binary wrapper.
-  installPhase = ''
-    runHook preInstall
-
-    if [ -d ovftool ]; then
-      # Ensure we're in the staging directory
-      cd ovftool
-    fi
-
-    # libraries
-    install -m 755 -d "$out/lib/$pname"
-
-    # These all appear to be VMWare proprietary except for libgoogleurl.
-    # The rest of the libraries that the installer extracts are omitted here,
-    # and provided in buildInputs.
-    #
-    # FIXME: can we replace libgoogleurl? Possibly from Chromium?
-    #
-    install -m 644 -t "$out/lib/$pname" \
-      libgoogleurl.so.59 \
-      libssoclient.so \
-      libvim-types.so libvmacore.so libvmomi.so
-
-    # ovftool specifically wants 1.0.2 but our libcrypto is named 1.0.0
-    ln -s "${openssl_1_0_2.out}/lib/libcrypto.so" \
-      "$out/lib/$pname/libcrypto.so.1.0.2"
-    ln -s "${openssl_1_0_2.out}/lib/libssl.so" \
-      "$out/lib/$pname/libssl.so.1.0.2"
-
-    # libexec
-    install -m 755 -d "$out/libexec/$pname"
-    install -m 755 -t "$out/libexec/$pname" ovftool.bin
-    install -m 644 -t "$out/libexec/$pname" icudt44l.dat
-
-    # libexec resources
-    for subdir in "certs" "env" "env/en" "schemas/DMTF" "schemas/vmware"; do
-      install -m 755 -d "$out/libexec/$pname/$subdir"
-      install -m 644 -t "$out/libexec/$pname/$subdir" "$subdir"/*.*
-    done
-
-    # EULA/OSS files
-    install -m 755 -d "$out/share/licenses/$pname"
-    install -m 644 -t "$out/share/licenses/$pname" \
-      "vmware.eula" "vmware-eula.rtf" "open_source_licenses.txt"
-
-    # documentation files
-    install -m 755 -d "$out/share/doc/$pname"
-    install -m 644 -t "$out/share/doc/$pname" "README.txt"
-
-    # binary wrapper; note that LC_CTYPE is defaulted to en_US.UTF-8 by
-    # VMWare's wrapper script. We use C.UTF-8 instead.
-    install -m 755 -d "$out/bin"
-    makeWrapper "$out/libexec/$pname/ovftool.bin" "$out/bin/ovftool" \
-      --set-default LC_CTYPE C.UTF-8 \
-      --prefix LD_LIBRARY_PATH : "$out/lib"
-
-    runHook postInstall
-  '';
-
-  preFixup = ''
-    addAutoPatchelfSearchPath "$out/lib"
-  '';
-
-  dontBuild = true;
-  dontPatch = true;
-  dontConfigure = true;
-
-  meta = with lib; {
-    description = "VMWare tools for working with OVF, OVA, and VMX images";
-    license = licenses.unfree;
-    maintainers = with maintainers; [ numinit ];
-    platforms = builtins.attrNames ovftoolSystems;
-  };
-}
diff --git a/pkgs/tools/virtualization/xe-guest-utilities/default.nix b/pkgs/tools/virtualization/xe-guest-utilities/default.nix
index 2497cc6a9df0f..69b9f540e4581 100644
--- a/pkgs/tools/virtualization/xe-guest-utilities/default.nix
+++ b/pkgs/tools/virtualization/xe-guest-utilities/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation (rec {
     url = "https://sources.archlinux.org/other/community/xe-guest-utilities/xe-guest-utilities_${version}-1120.tar.gz";
     sha256 = "f9593cd9588188f80253e736f48d8dd94c5b517abb18316085f86acffab48794";
   };
-  buildInputs = [ bzip2 gnutar gnused python2 lzo zlib xz stdenv gnugrep which ];
+  buildInputs = [ bzip2 gnutar gnused python2 lzo zlib xz gnugrep which ];
   patches = [ ./ip-address.patch ];
   postPatch = ''
     tar xf "$NIX_BUILD_TOP/$name/xenstore-sources.tar.bz2"
diff --git a/pkgs/tools/wayland/swayr/default.nix b/pkgs/tools/wayland/swayr/default.nix
index 6237d1a88eeb6..b359118321506 100644
--- a/pkgs/tools/wayland/swayr/default.nix
+++ b/pkgs/tools/wayland/swayr/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "swayr";
-  version = "0.15.0";
+  version = "0.16.0";
 
   src = fetchFromSourcehut {
     owner = "~tsdh";
     repo = "swayr";
     rev = "v${version}";
-    sha256 = "sha256-GLOJjGr29v4oVNCWgjPWluIiSeLoIYeOw2HwmSfxA8Y=";
+    sha256 = "sha256-b35jGbAEQ3w46Oea21xiUODRDD7cixiMuPlc40YxelE=";
   };
 
-  cargoSha256 = "sha256-gg/IHrgfDZT+3FNM/se5X1YMcHX127jMNI/WDEpMzy4=";
+  cargoSha256 = "sha256-EwK4F+XQWYhZqE4NMrghmVfWJ0znPJdGZLNUq6weoqQ=";
 
   patches = [
     ./icon-paths.patch
diff --git a/pkgs/tools/wayland/wl-mirror/default.nix b/pkgs/tools/wayland/wl-mirror/default.nix
index 4476c5be93c7d..02c63c55a7642 100644
--- a/pkgs/tools/wayland/wl-mirror/default.nix
+++ b/pkgs/tools/wayland/wl-mirror/default.nix
@@ -26,13 +26,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "wl-mirror";
-  version = "0.8.1";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "Ferdi265";
     repo = "wl-mirror";
     rev = "v${version}";
-    hash = "sha256-P5rvZPpIStlOSGj3PaiXAMPWqgWpkC+4IrixEMwoGJU=";
+    hash = "sha256-W/8DApyd7KtrOrP7Qj6oPKXxLrVzHDuIMOdg+k5ngr4=";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/wayland/ydotool/default.nix b/pkgs/tools/wayland/ydotool/default.nix
index 8d55233638ec7..15bc499873313 100644
--- a/pkgs/tools/wayland/ydotool/default.nix
+++ b/pkgs/tools/wayland/ydotool/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, scdoc }:
+{ lib, stdenv, fetchFromGitHub, cmake, scdoc, util-linux }:
 
 stdenv.mkDerivation rec {
   pname = "ydotool";
@@ -11,13 +11,15 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-maXXGCqB8dkGO8956hsKSwM4HQdYn6z1jBFENQ9sKcA=";
   };
 
-  nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [
-    scdoc
-  ];
+  nativeBuildInputs = [ cmake scdoc ];
+
+  postInstall = ''
+    substituteInPlace ${placeholder "out"}/lib/systemd/user/ydotool.service \
+      --replace /usr/bin/kill "${util-linux}/bin/kill"
+  '';
 
   meta = with lib; {
-    inherit (src.meta) homepage;
+    homepage = "https://github.com/ReimuNotMoe/ydotool";
     description = "Generic Linux command-line automation tool";
     license = licenses.agpl3Plus;
     maintainers = with maintainers; [ willibutz kraem ];
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 2731c0bd3fc7e..18e920573046d 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -38,9 +38,14 @@ in
 # A script to convert old aliases to throws and remove old
 # throws can be found in './maintainers/scripts/remove-old-aliases.py'.
 
+# Add 'preserve, reason: reason why' after the date if the alias should not be removed.
+# Try to keep them to a minimum.
+# valid examples of what to preserve:
+#   distro aliases such as:
+#     debian-package-name -> nixos-package-name
+
 mapAliases ({
-  # forceSystem should not be used directly in Nixpkgs.
-  # Added 2018-07-16
+  # Added 2018-07-16 preserve, reason: forceSystem should not be used directly in Nixpkgs.
   forceSystem = system: _:
     (import self.path { localSystem = { inherit system; }; });
 
@@ -56,7 +61,6 @@ mapAliases ({
   aircrackng = throw "'aircrackng' has been renamed to/replaced by 'aircrack-ng'"; # Converted to throw 2022-02-22
   airtame = throw "airtame has been removed due to being unmaintained"; # Added 2022-01-19
   aleth = throw "aleth (previously packaged as cpp_ethereum) has been removed; abandoned upstream"; # Added 2020-11-30
-  alienfx = throw "alienfx has been removed"; # Added 2019-12-08
   alsaLib = alsa-lib; # Added 2021-06-09
   alsaOss = alsa-oss; # Added 2021-06-10
   alsaPluginWrapper = alsa-plugins-wrapper; # Added 2021-06-10
@@ -83,6 +87,7 @@ mapAliases ({
   aucdtect = throw "aucdtect: Upstream no longer provides download urls"; # Added 2020-12-26
   avldrums-lv2 = x42-avldrums; # Added 2020-03-29
   avxsynth = throw "avxsynth was removed because it was broken"; # Added 2021-05-18
+  aws-okta = throw "aws-okta is on indefinite hiatus. See https://github.com/segmentio/aws-okta/issues/278"; # Added 2022-04-05;
   azureus = throw "azureus is now known as vuze and the version in nixpkgs was really outdated"; # Added 2021-08-02
 
   ### B ###
@@ -93,26 +98,26 @@ mapAliases ({
   bashInteractive_5 = bashInteractive; # Added 2021-08-20
   bash_5 = bash; # Added 2021-08-20
   bashburn = throw "bashburn has been removed: deleted by upstream"; # Added 2022-01-07
-  batti = throw "batti has been removed from nixpkgs, as it was unmaintained"; # Added 2019-12-10
   bazaar = throw "bazaar has been deprecated by breezy"; # Added 2020-04-19
   bazaarTools = throw "bazaar has been deprecated by breezy"; # Added 2020-04-19
   bcat = throw "bcat has been removed because upstream is dead"; # Added 2021-08-22
-  beegfs = throw "beegfs has been removed"; # Added 2019-11-24
   beret = throw "beret has been removed"; # Added 2021-11-16
   bin_replace_string = throw "bin_replace_string has been removed: deleted by upstream"; # Added 2022-01-07
+  bird2 = bird; # Added 2022-02-21
+  bird6 = throw "bird6 was dropped. Use bird instead, which has support for both ipv4/ipv6"; # Added 2022-02-21
   bitbucket-cli = throw "bitbucket-cli has been removed: abandoned by upstream"; # Added 2022-03-21
   bitsnbots = throw "bitsnbots has been removed because it was broken and upstream missing"; # Added 2021-08-22
   blastem = throw "blastem has been removed from nixpkgs as it would still require python2"; # Added 2022-01-01
   bluezFull = bluez; # Added 2019-12-03
   bomi = throw "bomi has been removed from nixpkgs since it was broken and abandoned upstream"; # Added 2020-12-10
-  bootchart = throw "bootchart has been removed from nixpkgs, as it is without a maintainer"; # Added 2019-12-10
+  botan = throw "botan has been removed because it did not support a supported openssl version"; # added 2021-12-15
   bpftool = bpftools; # Added 2021-05-03
   brackets = throw "brackets has been removed, it was unmaintained and had open vulnerabilities"; # Added 2021-01-24
   bridge_utils = throw "'bridge_utils' has been renamed to/replaced by 'bridge-utils'"; # Converted to throw 2022-02-22
   bro = zeek; # Added 2019-09-29
-  bird2 = bird; # Added 2022-02-21
-  bird6 = throw "bird6 was dropped. Use bird instead, which has support for both ipv4/ipv6"; # Added 2022-02-21
   btrfsProgs = throw "'btrfsProgs' has been renamed to/replaced by 'btrfs-progs'"; # Converted to throw 2022-02-22
+  bud = throw "bud has been removed: abandoned by upstream"; # Added 2022-03-14
+  buttersink = throw "buttersink has been removed: abandoned by upstream"; # Added 2022-04-05
 
   # bitwarden_rs renamed to vaultwarden with release 1.21.0 (2021-04-30)
   bitwarden_rs = vaultwarden;
@@ -137,6 +142,7 @@ mapAliases ({
   caddy1 = throw "caddy 1.x has been removed from nixpkgs, as it's unmaintained: https://github.com/caddyserver/caddy/blob/master/.github/SECURITY.md#supported-versions"; # Added 2020-10-02
   calibre-py2 = throw "calibre-py2 has been removed from nixpkgs, as calibre has upgraded to python 3. Please use calibre as replacement"; # Added 2021-01-13
   calibre-py3 = throw "calibre-py3 has been removed from nixpkgs, as calibre's default python version is now 3. Please use calibre as replacement"; # Added 2021-01-13
+  callPackage_i686 = pkgsi686Linux.callPackage;
   cantarell_fonts = throw "'cantarell_fonts' has been renamed to/replaced by 'cantarell-fonts'"; # Converted to throw 2022-02-22
   cargo-tree = throw "cargo-tree has been removed, use the builtin `cargo tree` command instead"; # Added 2020-08-20
   casperjs = throw "casperjs has been removed, it was abandoned by upstream and broken";
@@ -147,11 +153,9 @@ mapAliases ({
   checkbashism = throw "'checkbashism' has been renamed to/replaced by 'checkbashisms'"; # Converted to throw 2022-02-22
   chronos = throw "chronos has been removed from nixpkgs, as it was unmaintained"; # Added 2020-08-15
   chunkwm = throw "chunkwm has been removed: abandoned by upstream"; # Added 2022-01-07
-  cide = throw "cide was deprecated on 2019-09-11: abandoned by upstream";
   cifs_utils = throw "'cifs_utils' has been renamed to/replaced by 'cifs-utils'"; # Converted to throw 2022-02-22
-  cinepaint = throw "cinepaint has been removed from nixpkgs, as it was unmaintained"; # Added 2019-12-10
+  cipherscan = throw "cipherscan was removed from nixpkgs, as it was unmaintained"; # added 2021-12-11
   ckb = throw "'ckb' has been renamed to/replaced by 'ckb-next'"; # Converted to throw 2022-02-22
-  callPackage_i686 = pkgsi686Linux.callPackage;
   creddump = throw "creddump has been removed from nixpkgs as the upstream has abandoned the project"; # Added 2022-01-01
 
   # these are for convenience, not for backward compat and shouldn't expire
@@ -177,9 +181,8 @@ mapAliases ({
   compton-git = throw "'compton-git' has been renamed to/replaced by 'compton'"; # Converted to throw 2022-02-22
   concurrencykit = libck; # Added 2021-03
   conntrack_tools = throw "'conntrack_tools' has been renamed to/replaced by 'conntrack-tools'"; # Converted to throw 2022-02-22
+  container-linux-config-transpiler = throw "container-linux-config-transpiler is deprecated and archived by upstream"; # Added 2022-04-05
   cool-old-term = throw "'cool-old-term' has been renamed to/replaced by 'cool-retro-term'"; # Converted to throw 2022-02-22
-  coprthr = throw "coprthr has been removed"; # Added 2019-12-08
-  coredumper = throw "coredumper has been removed: abandoned by upstream"; # Added 2019-11-16
   corsmisc = throw "corsmisc has been removed (upstream is gone)"; # Added 2022-01-24
   couchdb = throw "couchdb was removed from nixpkgs, use couchdb3 instead"; # Added 2021-03-03
   couchdb2 = throw "couchdb2 was removed from nixpkgs, use couchdb3 instead"; # Added 2021-03-03
@@ -232,6 +235,7 @@ mapAliases ({
   dbus_libs = throw "'dbus_libs' has been renamed to/replaced by 'dbus'"; # Converted to throw 2022-02-22
   dbus_tools = throw "'dbus_tools' has been renamed to/replaced by 'dbus.out'"; # Converted to throw 2022-02-22
   dbvisualizer = throw "dbvisualizer has been removed from nixpkgs, as it's unmaintained"; # Added 2020-09-20
+  ddar = throw "ddar has been removed: abandoned by upstream"; # Added 2022-03-18
   deadbeef-mpris2-plugin = throw "'deadbeef-mpris2-plugin' has been renamed to/replaced by 'deadbeefPlugins.mpris2'"; # Converted to throw 2022-02-22
   deadpixi-sam = deadpixi-sam-unstable;
 
@@ -242,7 +246,6 @@ mapAliases ({
   deisctl = throw "deisctl was removed ; the service does not exist anymore"; # added 2022-02-06
   deis = throw "deis was removed ; the service does not exist anymore"; # added 2022-02-06
   deltachat-electron = deltachat-desktop; # added 2021-07-18
-  diffuse = throw "diffuse has been removed from nixpkgs, as it's unmaintained"; # Added 2019-12-10
 
   deluge-1_x = throw ''
     Deluge 1.x (deluge-1_x) is no longer supported.
@@ -256,7 +259,9 @@ mapAliases ({
   demjson = with python3Packages; toPythonApplication demjson; # Added 2022-01-18
   desktop_file_utils = throw "'desktop_file_utils' has been renamed to/replaced by 'desktop-file-utils'"; # Converted to throw 2022-02-22
   devicemapper = throw "'devicemapper' has been renamed to/replaced by 'lvm2'"; # Converted to throw 2022-02-22
+  dhall-text = throw "'dhall-text' has been deprecated in favor of the 'dhall text' command from 'dhall'"; # Added 2022-03-26
   digikam5 = throw "'digikam5' has been renamed to/replaced by 'digikam'"; # Converted to throw 2022-02-22
+  disper = throw "disper has been removed: abandoned by upstream"; # Added 2022-03-18
   displaycal = throw "displaycal has been removed from nixpkgs, as it hasn't migrated to python3"; # Added 2022-01-12
   dmtx = throw "'dmtx' has been renamed to/replaced by 'dmtx-utils'"; # Converted to throw 2022-02-22
   dnnl = oneDNN; # Added 2020-04-22
@@ -276,7 +281,7 @@ mapAliases ({
 
   ### E ###
 
-
+  eagle7 = throw "eagle7 has been removed because it did not support a supported openssl version"; # added 2021-12-15
   ec2_ami_tools = ec2-ami-tools; # Added 2021-10-08
   ec2_api_tools = ec2-api-tools; # Added 2021-10-08
   ec2-utils = amazon-ec2-utils; # Added 2022-02-01
@@ -307,6 +312,7 @@ mapAliases ({
   encryptr = throw "encryptr was removed because it reached end of life"; # Added 2022-02-06
   envelope = throw "envelope has been removed from nixpkgs, as it was unmaintained"; # Added 2021-08-05
   epoxy = libepoxy; # Added 2021-11-11
+  epsxe = throw "epsxe has been removed from nixpkgs, as it was unmaintained."; # added 2021-12-15
   esniper = throw "esniper has been removed because upstream no longer maintains it (and it no longer works)"; # Added 2021-04-12
   etcdctl = throw "'etcdctl' has been renamed to/replaced by 'etcd'"; # Converted to throw 2022-02-22
   eteroj.lv2 = throw "'eteroj.lv2' has been renamed to/replaced by 'open-music-kontrollers.eteroj'"; # Added 2022-03-09
@@ -323,13 +329,14 @@ mapAliases ({
   fedora-coreos-config-transpiler = throw "fedora-coreos-config-transpiler has been renamed to 'butane'"; # Added 2021-04-13
   fetchFromGithub = throw "You meant fetchFromGitHub, with a capital H";
   ffadoFull = throw "'ffadoFull' has been renamed to/replaced by 'ffado'"; # Converted to throw 2022-02-22
+  ffmpeg-sixel = throw "ffmpeg-sixel has been removed, because it was an outdated/unmaintained fork of ffmpeg"; # Added 2022-03-23";
+  ffmpeg_3 = throw "ffmpeg_3 was removed from nixpkgs, because it was an outdated and insecure release"; # added 2022-01-17
   finger_bsd = bsd-finger;
   fingerd_bsd = bsd-fingerd;
   firefox-esr-68 = throw "Firefox 68 ESR was removed because it reached end of life with its final release 68.12esr on 2020-08-25";
   firefox-esr-wrapper = throw "'firefox-esr-wrapper' has been renamed to/replaced by 'firefox-esr'"; # Converted to throw 2022-02-22
   firefoxWrapper = throw "'firefoxWrapper' has been renamed to/replaced by 'firefox'"; # Converted to throw 2022-02-22
   firefox-wrapper = throw "'firefox-wrapper' has been renamed to/replaced by 'firefox'"; # Converted to throw 2022-02-22
-  firestr = throw "firestr has been removed"; # Added 2019-12-08
   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
   flameGraph = throw "'flameGraph' has been renamed to/replaced by 'flamegraph'"; # Converted to throw 2022-02-22
@@ -345,11 +352,6 @@ mapAliases ({
   foldingathome = fahclient; # Added 2020-09-03
   font-awesome-ttf = throw "'font-awesome-ttf' has been renamed to/replaced by 'font-awesome'"; # Converted to throw 2022-02-22
 
-  fontconfig-ultimate = throw ''
-    fontconfig-ultimate has been removed. The repository has been archived upstream and activity has ceased for several years.
-    https://github.com/bohoomil/fontconfig-ultimate/issues/171.
-  ''; # Added 2019-10-31
-
   fontconfig-penultimate = throw ''
     fontconfig-penultimate has been removed.
     It was a fork of the abandoned fontconfig-ultimate.
@@ -405,7 +407,6 @@ mapAliases ({
   gnome-sharp = throw "gnome-sharp has been removed from nixpkgs"; # Added 2022-01-15
   gnome-themes-standard = throw "'gnome-themes-standard' has been renamed to/replaced by 'gnome-themes-extra'"; # Converted to throw 2022-02-22
   gnome_user_docs = gnome-user-docs; # Added 2019-11-20
-  gnome15 = throw "gnome15 has been removed from nixpkgs, as it's unmaintained and depends on deprecated libraries"; # Added 2019-12-10
   gnome_doc_utils = throw "'gnome_doc_utils' has been renamed to/replaced by 'gnome-doc-utils'"; # Converted to throw 2022-02-22
   gnome_themes_standard = throw "'gnome_themes_standard' has been renamed to/replaced by 'gnome-themes-standard'"; # Converted to throw 2022-02-22
 
@@ -441,6 +442,7 @@ mapAliases ({
   google-music-scripts = throw "google-music-scripts has been removed because Google Play Music was discontinued"; # Added 2021-03-07
   go-pup = throw "'go-pup' has been renamed to/replaced by 'pup'"; # Converted to throw 2022-02-22
   gpgstats = throw "gpgstats has been removed: upstream is gone"; # Added 2022-02-06
+  gpshell = throw "gpshell has been removed, because it was unmaintained in nixpkgs"; # added 2021-12-17
 
   graalvm11 = graalvm11-ce;
   graalvm8-ce = throw "graalvm8-ce has been removed by upstream"; # Added 2021-10-19
@@ -456,12 +458,12 @@ mapAliases ({
   gsettings_desktop_schemas = throw "'gsettings_desktop_schemas' has been renamed to/replaced by 'gsettings-desktop-schemas'"; # Converted to throw 2022-02-22
   gtk_doc = throw "'gtk_doc' has been renamed to/replaced by 'gtk-doc'"; # Converted to throw 2022-02-22
   gtklick = throw "gtklick has been removed from nixpkgs as the project is stuck on python2"; # Added 2022-01-01
-  gtk-recordmydesktop = throw "gtk-recordmydesktop has been removed from nixpkgs, as it's unmaintained and uses deprecated libraries"; # Added 2019-12-10
-  guileCairo = throw "'guileCairo' has been renamed to/replaced by 'guile-cairo'"; # Converted to throw 2022-02-22
+  gtmess = throw "gtmess has been removed, because it was a MSN client."; # add 2021-12-15
   guile-gnome = throw "guile-gnome has been removed"; # Added 2022-01-16
+  guileCairo = throw "'guileCairo' has been renamed to/replaced by 'guile-cairo'"; # Converted to throw 2022-02-22
   guileGnome = throw "guile-gnome has been removed"; # Added 2022-01-16
-  guile_lib = throw "'guile_lib' has been renamed to/replaced by 'guile-lib'"; # Converted to throw 2022-02-22
   guileLint = throw "'guileLint' has been renamed to/replaced by 'guile-lint'"; # Converted to throw 2022-02-22
+  guile_lib = throw "'guile_lib' has been renamed to/replaced by 'guile-lib'"; # Converted to throw 2022-02-22
   guile_ncurses = throw "'guile_ncurses' has been renamed to/replaced by 'guile-ncurses'"; # Converted to throw 2022-02-22
   gupnp_av = throw "'gupnp_av' has been renamed to/replaced by 'gupnp-av'"; # Converted to throw 2022-02-22
   gupnp_dlna = throw "'gupnp_dlna' has been renamed to/replaced by 'gupnp-dlna'"; # Converted to throw 2022-02-22
@@ -475,10 +477,10 @@ mapAliases ({
 
   hal-flash = throw "hal-flash has been removed as Adobe Flash Player is now deprecated"; # Added 2021-02-07
   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
   heme = throw "heme has been removed: upstream is gone"; # added 2022-02-06
   hepmc = hepmc2; # Added 2019-08-05
-  hexen = throw "hexen (SDL port) has been removed: abandoned by upstream"; # Added 2019-12-11
   hicolor_icon_theme = throw "'hicolor_icon_theme' has been renamed to/replaced by 'hicolor-icon-theme'"; # Converted to throw 2022-02-22
   holochain-go = throw "holochain-go was abandoned by upstream"; # Added 2022-01-01
   htmlTidy = throw "'htmlTidy' has been renamed to/replaced by 'html-tidy'"; # Converted to throw 2022-02-22
@@ -503,6 +505,10 @@ mapAliases ({
   infiniband-diags = rdma-core; # Added 2019-08-09
   ino = throw "ino has been removed from nixpkgs, the project is stuck on python2 and upstream has archived the project"; # Added 2022-01-12
   inotifyTools = inotify-tools;
+  intecture-agent = throw "intecture-agent has been removed, because it was no longer maintained upstream"; # added 2021-12-15
+  intecture-auth = throw "intecture-auth has been removed, because it was no longer maintained upstream"; # added 2021-12-15
+  intecture-cli = throw "intecture-cli has been removed, because it was no longer maintained upstream"; # added 2021-12-15
+  interfacer = throw "interfacer is deprecated and archived by upstream"; # Added 2022-04-05
   inter-ui = inter; # Added 2021-03-27
   iops = throw "iops was removed: upstream is gone"; # Added 2022-02-06
   iproute = iproute2; # moved from top-level 2021-03-14
@@ -516,7 +522,6 @@ mapAliases ({
   jbidwatcher = throw "jbidwatcher was discontinued in march 2021"; # Added 2021-03-15
   jbuilder = throw "'jbuilder' has been renamed to/replaced by 'dune_1'"; # Converted to throw 2022-02-22
   jellyfin_10_5 = throw "Jellyfin 10.5 is no longer supported and contains a security vulnerability. Please upgrade to a newer version"; # Added 2021-04-26
-  jikes = throw "jikes was deprecated on 2019-10-07: abandoned by upstream";
   joseki = throw "'joseki' has been renamed to/replaced by 'apache-jena-fuseki'"; # Converted to throw 2022-02-22
   journalbeat7 = throw "journalbeat has been removed upstream. Use filebeat with the journald input instead";
 
@@ -547,8 +552,8 @@ mapAliases ({
   kerberos = libkrb5; # moved from top-level 2021-03-14
   kexectools = kexec-tools; # Added 2021-09-03
   keybase-go = throw "'keybase-go' has been renamed to/replaced by 'keybase'"; # Converted to throw 2022-02-22
-  keymon = throw "keymon has been removed from nixpkgs, as it's abandoned and archived"; # Added 2019-12-10
   keysmith = libsForQt5.plasmaMobileGear.keysmith; # Added 2021-07-14
+  kgx = gnome-console; # Added 2022-02-19
   kibana7-oss = throw "kibana7-oss has been removed, as the distribution is no longer provided by upstream. https://github.com/NixOS/nixpkgs/pull/114456"; # Added 2021-06-09
   kicad-with-packages3d = kicad; # Added 2019-11-25
   kindlegen = throw "kindlegen has been removed from nixpkgs, as it's abandoned and no longer available for download"; # Added 2021-03-09
@@ -562,6 +567,8 @@ mapAliases ({
   kramdown-rfc2629 = rubyPackages.kramdown-rfc2629; # Added 2021-03-23
   krename-qt5 = throw "'krename-qt5' has been renamed to/replaced by 'krename'"; # Converted to throw 2022-02-22
   krita-beta = krita; # moved from top-level 2021-12-23
+  kube-aws = throw "kube-aws is deprecated and archived by upstream"; # Added 2022-04-05
+  kubeless = throw "kubeless is deprecated and archived by upstream"; # Added 2022-04-05
   kvm = throw "'kvm' has been renamed to/replaced by 'qemu_kvm'"; # Converted to throw 2022-02-22
 
   ### L ###
@@ -589,9 +596,6 @@ mapAliases ({
   libgpgerror = libgpg-error; # Added 2021-09-04
   libgroove = throw "libgroove has been removed, because it depends on an outdated and insecure version of ffmpeg"; # Added 2022-01-21
   libgumbo = throw "'libgumbo' has been renamed to/replaced by 'gumbo'"; # Converted to throw 2022-02-22
-  libindicate = throw "libindacate has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # Added 2019-12-10
-  libindicate-gtk2 = throw "libindacate-gtk3 has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # Added 2019-12-10
-  libindicate-gtk3 = throw "libindacate-gtk2 has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # Added 2019-12-10
   libintlOrEmpty = lib.optional (!stdenv.isLinux || stdenv.hostPlatform.libc != "glibc") gettext; # Added 2018-03-14
   libjpeg_drop = libjpeg_original; # Added 2020-06-05
   libjson_rpc_cpp = throw "'libjson_rpc_cpp' has been renamed to/replaced by 'libjson-rpc-cpp'"; # Converted to throw 2022-02-22
@@ -609,7 +613,6 @@ mapAliases ({
   libressl_3_2 = throw "'libressl_3_2' has reached end-of-life "; # Added 2022-03-19
   librsync_0_9 = throw "librsync_0_9 has been removed"; # Added 2021-07-24
   libseat = seatd; # Added 2021-06-24
-  libsexy = throw "libsexy has been removed from nixpkgs, as it's abandoned and no package needed it"; # Added 2019-12-10
   libstdcxxHook = throw "libstdcxx hook has been removed because cc-wrapper is now directly aware of the c++ standard library intended to be used"; # Added 2020-06-22
   libsysfs = throw "'libsysfs' has been renamed to/replaced by 'sysfsutils'"; # Converted to throw 2022-02-22
   libtidy = throw "'libtidy' has been renamed to/replaced by 'html-tidy'"; # Converted to throw 2022-02-22
@@ -722,9 +725,7 @@ mapAliases ({
   matcha = throw "matcha was renamed to matcha-gtk-theme"; # added 2020-05-09
   mathics = throw "mathics has been removed from nixpkgs, as it's unmaintained"; # Added 2020-08-15
   matrique = spectral; # Added 2020-01-27
-  mbedtls_1_3 = throw "mbedtls_1_3 is end of life, see https://tls.mbed.org/kb/how-to/upgrade-2.0"; # Added 2019-12-08
   mcgrid = throw "mcgrid has been removed from nixpkgs, as it's not compatible with rivet 3"; # Added 2020-05-23
-  mcomix = throw "mcomix has been removed from nixpkgs, as it's unmaintained; try mcomix3 a Python 3 fork"; # Added 2019-12-10, modified 2020-11-25
   mediatomb = throw "mediatomb is no longer maintained upstream, use gerbera instead"; # added 2022-01-04
   meme = meme-image-generator; # Added 2021-04-21
   memtest86 = throw "'memtest86' has been renamed to/replaced by 'memtest86plus'"; # Converted to throw 2022-02-22
@@ -739,7 +740,6 @@ mapAliases ({
   minergate-cli = throw "minergatecli has been removed from nixpkgs, because the package is unmaintained and the site has a bad reputation"; # Added 2021-08-13
   minergate = throw "minergate has been removed from nixpkgs, because the package is unmaintained and the site has a bad reputation"; # Added 2021-08-13
   minetime = throw "minetime has been removed from nixpkgs, because it was discontinued 2021-06-22"; # Added 2021-10-14
-  mirage = throw "mirage has been removed from nixpkgs, as it's unmaintained"; # Added 2019-12-10
   mist = throw "mist has been removed as the upstream project has been abandoned, see https://github.com/ethereum/mist#mist-browser-deprecated"; # Added 2020-08-15
   mlt-qt5 = throw "'mlt-qt5' has been renamed to/replaced by 'libsForQt5.mlt'"; # Converted to throw 2022-02-22
   mobile_broadband_provider_info = throw "'mobile_broadband_provider_info' has been renamed to/replaced by 'mobile-broadband-provider-info'"; # Converted to throw 2022-02-22
@@ -764,9 +764,6 @@ mapAliases ({
   mysql-client = hiPrio mariadb.client;
   mysql = mariadb; # moved from top-level 2021-03-14
 
-  # NOTE: 2018-07-12: legacy alias:
-  # grsecurity business is done: https://www.theregister.co.uk/2018/02/08/bruce_perens_grsecurity_anti_slapp/
-
   # floating point textures patents are expired,
   # so package reduced to alias
   mesa_drivers = mesa.drivers;
@@ -818,7 +815,6 @@ mapAliases ({
   nottetris2 = throw "nottetris2 was removed because it is unmaintained by upstream and broken"; # Added 2022-01-15
   now-cli = throw "now-cli has been replaced with nodePackages.vercel"; # Added 2021-08-05
   nxproxy = throw "'nxproxy' has been renamed to/replaced by 'nx-libs'"; # Converted to throw 2022-02-22
-  nylas-mail-bin = throw "nylas-mail-bin was deprecated on 2019-09-11: abandoned by upstream";
 
   ### O ###
 
@@ -826,7 +822,6 @@ mapAliases ({
   OVMF-CSM = throw "OVMF-CSM has been removed in favor of OVMFFull"; # Added 2021-10-16
   OVMF-secureBoot = throw "OVMF-secureBoot has been removed in favor of OVMFFull"; # Added 2021-10-16
   oauth2_proxy = oauth2-proxy; # Added 2021-04-18
-  oblogout = throw "oblogout has been removed from nixpkgs, as it's archived upstream"; # Added 2019-12-10
   octoprint-plugins = throw "octoprint-plugins are now part of the octoprint.python.pkgs package set"; # Added 2021-01-24
   ocz-ssd-guru = throw "ocz-ssd-guru has been removed due to there being no source available"; # Added 2021-07-12
   ofp = throw "ofp is not compatible with odp-dpdk";
@@ -846,7 +841,6 @@ mapAliases ({
   opensans-ttf = throw "'opensans-ttf' has been renamed to/replaced by 'open-sans'"; # Converted to throw 2022-02-22
   openssh_with_kerberos = throw "'openssh_with_kerberos' has been renamed to/replaced by 'openssh'"; # Converted to throw 2022-02-22
   orchis = orchis-theme; # Added 2021-06-09
-  osquery = throw "osquery has been removed"; # Added 2019-11-24
   osxfuse = macfuse-stubs; # Added 2021-03-20
   otter-browser = throw "otter-browser has been removed from nixpkgs, as it was unmaintained"; # Added 2020-02-02
   owncloudclient = throw "'owncloudclient' has been renamed to/replaced by 'owncloud-client'"; # Converted to throw 2022-02-22
@@ -863,13 +857,15 @@ mapAliases ({
   parquet-cpp = throw "'parquet-cpp' has been renamed to/replaced by 'arrow-cpp'"; # Converted to throw 2022-02-22
   patchmatrix = throw "'patchmatrix' has been renamed to/replaced by 'open-music-kontrollers.patchmatrix'"; # Added 2022-03-09
   pass-otp = throw "'pass-otp' has been renamed to/replaced by 'pass.withExtensions'"; # Converted to throw 2022-02-22
-  pdfmod = throw "pdfmod has been removed"; # Added 2022-01-15
-  pdfread = throw "pdfread has been remove because it is unmaintained for years and the sources are no longer available"; # Added 2021-07-22
+  pbis-open = throw "pbis-open has been removed, because it is no longer maintained upstream"; # added 2021-12-15
   pdf-redact-tools = throw "pdf-redact-tools has been removed from nixpkgs because the upstream has abandoned the project"; # Added 2022-01-01
   pdf2htmlEx = throw "pdf2htmlEx has been removed from nixpkgs, as it was unmaintained"; # Added 2020-11-03
+  pdfmod = throw "pdfmod has been removed"; # Added 2022-01-15
+  pdfread = throw "pdfread has been remove because it is unmaintained for years and the sources are no longer available"; # Added 2021-07-22
   perlXMLParser = throw "'perlXMLParser' has been renamed to/replaced by 'perlPackages.XMLParser'"; # Converted to throw 2022-02-22
   perlArchiveCpio = throw "'perlArchiveCpio' has been renamed to/replaced by 'perlPackages.ArchiveCpio'"; # Converted to throw 2022-02-22
   pgadmin = pgadmin4;
+  pgadmin3 = throw "pgadmin3 was removed for being unmaintained, use pgadmin4 instead."; # Added 2022-03-30
   pgp-tools = throw "'pgp-tools' has been renamed to/replaced by 'signing-party'"; # Converted to throw 2022-02-22
   pg_tmp = throw "'pg_tmp' has been renamed to/replaced by 'ephemeralpg'"; # Converted to throw 2022-02-22
 
@@ -946,6 +942,7 @@ mapAliases ({
   polarssl = throw "'polarssl' has been renamed to/replaced by 'mbedtls'"; # Converted to throw 2022-02-22
   polysh = throw "polysh has been removed from nixpkgs as the upstream has abandoned the project"; # Added 2022-01-01
   poppler_qt5 = throw "'poppler_qt5' has been renamed to/replaced by 'libsForQt5.poppler'"; # Converted to throw 2022-02-22
+  powerdns = pdns; # Added 2022-03-28
 
   # postgresql
   postgresql96 = postgresql_9_6;
@@ -969,22 +966,20 @@ mapAliases ({
   tlauncher = throw "tlauncher has been removed because there questionable practices and legality concerns";
   tsearch_extras = postgresqlPackages.tsearch_extras;
 
-  phonon = throw "phonon: Please use libsForQt5.phonon, as Qt4 support in this package has been removed"; # Added 2019-11-22
-  phonon-backend-gstreamer = throw "phonon-backend-gstreamer: Please use libsForQt5.phonon-backend-gstreamer, as Qt4 support in this package has been removed"; # Added 2019-11-22
-  phonon-backend-vlc = throw "phonon-backend-vlc: Please use libsForQt5.phonon-backend-vlc, as Qt4 support in this package has been removed"; # Added 2019-11-22
   pinentry_curses = pinentry-curses; # Added 2019-10-14
   pinentry_emacs = pinentry-emacs; # Added 2019-10-14
   pinentry_gnome = pinentry-gnome; # Added 2019-10-14
   pinentry_gtk2 = pinentry-gtk2; # Added 2019-10-14
   pinentry_qt = pinentry-qt; # Added 2019-10-14
   pinentry_qt5 = pinentry-qt; # Added 2020-02-11
-  pmenu = throw "pmenu has been removed from nixpkgs, as its maintainer is no longer interested in the package"; # Added 2019-12-10
   privateer = throw "privateer was removed because it was broken"; # Added 2021-05-18
   processing3 = processing; # Added 2019-08-16
   procps-ng = throw "'procps-ng' has been renamed to/replaced by 'procps'"; # Converted to throw 2022-02-22
   proglodyte-wasm = throw "proglodyte-wasm has been removed from nixpkgs, because it is unmaintained since 5 years with zero github stars"; # Added 2021-06-30
   proj_5 = throw "Proj-5 has been removed from nixpkgs, use proj instead"; # Added 2021-04-12
   prometheus-cups-exporter = throw "outdated and broken by design; removed by developer"; # Added 2021-03-16
+  prometheus-mesos-exporter = throw "prometheus-mesos-exporter is deprecated and archived by upstream"; # Added 2022-04-05
+  proxytunnel = throw "proxytunnel has been removed from nixpkgs, because it has not been update upstream since it was added to nixpkgs in 2008 and has therefore bitrotted."; # added 2021-12-15
   pulseaudioLight = throw "'pulseaudioLight' has been renamed to/replaced by 'pulseaudio'"; # Converted to throw 2022-02-22
   pulseeffects = throw "Use pulseeffects-legacy if you use PulseAudio and easyeffects if you use PipeWire"; # Added 2021-02-13
   pulseeffects-pw = easyeffects; # Added 2021-07-07
@@ -1015,7 +1010,6 @@ mapAliases ({
   qmk_firmware = throw "qmk_firmware has been removed because it was broken"; # Added 2021-04-02
   qr-filetransfer = throw ''"qr-filetransfer" has been renamed to "qrcp"''; # Added 2020-12-02
   qt-3 = throw "qt-3 has been removed from nixpkgs, as it's unmaintained and insecure"; # Added 2021-02-15
-  qt-recordmydesktop = throw "qt-recordmydesktop has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # Added 2019-12-10
   qt5ct = libsForQt5.qt5ct; # Added 2021-12-27
   qtcurve = libsForQt5.qtcurve; # Added 2020-11-07
   qtkeychain = throw "the qtkeychain attribute (qt4 version) has been removes, use the qt5 version: libsForQt5.qtkeychain"; # Added 2021-08-04
@@ -1032,15 +1026,14 @@ mapAliases ({
   radare2-cutter = cutter; # Added 2021-03-30
   raspberrypi-tools = throw "raspberrypi-tools has been removed in favor of identical 'libraspberrypi'"; # Added 2020-12-24
   rawdog = throw "rawdog has been removed from nixpkgs as it still requires python2"; # Added 2022-01-01
-  rdf4store = throw "rdf4store has been removed from nixpkgs"; # Added 2019-12-21
   rdiff_backup = throw "'rdiff_backup' has been renamed to/replaced by 'rdiff-backup'"; # Converted to throw 2022-02-22
   rdmd = throw "'rdmd' has been renamed to/replaced by 'dtools'"; # Converted to throw 2022-02-22
   readline5 = throw "readline-5 is no longer supported in nixpkgs, please use 'readline' for main supported version"; # Added 2022-02-20
   readline62 = throw "readline-6.2 is no longer supported in nixpkgs, please use 'readline' for main supported version"; # Added 2022-02-20
   readline80 = throw "readline-8.0 is no longer supported in nixpkgs, please use 'readline' for main supported version or 'readline81' for most recent version"; # Added 2021-04-22
-  recordmydesktop = throw "recordmydesktop has been removed from nixpkgs, as it's unmaintained and uses deprecated libraries"; # Added 2019-12-10
   redkite = throw "redkite was archived by upstream"; # Added 2021-04-12
   redshift-wlr = throw "redshift-wlr has been replaced by gammastep"; # Added 2021-12-25
+  reicast = throw "reicast has been removed from nixpkgs as it is unmaintained, please use flycast instead"; # Added 2022-03-07
   renpy = throw "renpy has been removed from nixpkgs, it was unmaintained and the latest packaged version required python2"; # Added 2022-01-12
   residualvm = throw "residualvm was merged to scummvm code in 2018-06-15; consider using scummvm"; # Added 2021-11-27
   retroArchCores = throw "retroArchCores has been removed. Please use overrides instead, e.g.: `retroarch.override { cores = with libretro; [ ... ]; }`"; # Added 2021-11-19
@@ -1091,7 +1084,6 @@ mapAliases ({
   scyther = throw "scyther has been removed since it currently only supports Python 2, see https://github.com/cascremers/scyther/issues/20"; # Added 2021-10-07
   sdlmame = mame; # Added 2019-10-30
   seeks = throw "seeks has been removed from nixpkgs, as it was unmaintained"; # Added 2020-06-21
-  seg3d = throw "seg3d has been removed from nixpkgs (2019-11-10)";
   sepolgen = throw "sepolgen was merged into selinux-python"; # Added 2021-11-11
   shared_mime_info = throw "'shared_mime_info' has been renamed to/replaced by 'shared-mime-info'"; # Converted to throw 2022-02-22
   shellinabox = throw "shellinabox has been removed from nixpkgs, as it was unmaintained upstream"; # Added 2021-12-15
@@ -1105,8 +1097,6 @@ mapAliases ({
   skype_call_recorder = throw "skype_call_recorder has been removed from nixpkgs, because it stopped working when classic Skype was retired"; # Added 2020-10-31
   slack-dark = slack; # Added 2020-03-27
   slic3r-prusa3d = throw "'slic3r-prusa3d' has been renamed to/replaced by 'prusa-slicer'"; # Converted to throw 2022-02-22
-  slim = throw "slim has been removed. Please use a different display-manager"; # Added 2019-11-11
-  slimThemes = throw "slimThemes has been removed because slim has been also"; # Added 2019-11-11
   slurm-full = throw "'slurm-full' has been renamed to/replaced by 'slurm'"; # Converted to throw 2022-02-22
   slurm-llnl = slurm; # renamed July 2017
   slurm-llnl-full = slurm-full; # renamed July 2017
@@ -1144,7 +1134,6 @@ mapAliases ({
   spice_protocol = throw "'spice_protocol' has been renamed to/replaced by 'spice-protocol'"; # Converted to throw 2022-02-22
   spidermonkey_1_8_5 = throw "spidermonkey_1_8_5 has been removed, because it is based on Firefox 4.0 from 2011"; # added 2021-05-03
   spidermonkey_38 = throw "spidermonkey_38 has been removed. Please use spidermonkey_78 instead"; # Added 2021-03-21
-  spidermonkey_52 = throw "spidermonkey_52 has been removed. Please use spidermonkey_78 instead"; # Added 2019-10-16
   spidermonkey_60 = throw "spidermonkey_60 has been removed. Please use spidermonkey_78 instead"; # Added 2021-03-21
   spidermonkey_68 = throw "spidermonkey_68 has been removed. Please use spidermonkey_91 instead"; # added 2022-01-04
   # spidermonkey is not ABI upwards-compatible, so only allow this for nix-shell
@@ -1176,6 +1165,7 @@ mapAliases ({
   tahoelafs = throw "'tahoelafs' has been renamed to/replaced by 'tahoe-lafs'"; # Converted to throw 2022-02-22
   tangogps = foxtrotgps; # Added 2020-01-26
   tdm = throw "tdm has been removed because nobody can figure out how to fix OpenAL integration. Use precompiled binary and `steam-run` instead";
+  teleconsole = throw "teleconsole is archived by upstream"; # Added 2022-04-05
   telepathy-qt = throw "telepathy-qt no longer supports Qt 4. Please use libsForQt5.telepathy instead"; # Added 2020-07-02
   telepathy_farstream = throw "'telepathy_farstream' has been renamed to/replaced by 'telepathy-farstream'"; # Converted to throw 2022-02-22
   telepathy_gabble = throw "'telepathy_gabble' has been renamed to/replaced by 'telepathy-gabble'"; # Converted to throw 2022-02-22
@@ -1252,12 +1242,10 @@ mapAliases ({
   usb_modeswitch = throw "'usb_modeswitch' has been renamed to/replaced by 'usb-modeswitch'"; # Converted to throw 2022-02-22
   usbguard-nox = usbguard; # Added 2019-09-04
   utillinux = util-linux; # Added 2020-11-24
-  uzbl = throw "uzbl has been removed from nixpkgs, as it's unmaintained and uses insecure libraries";
 
   ### V ###
 
   v4l_utils = v4l-utils; # Added 2019-08-07
-  v8_3_16_14 = throw "v8_3_16_14 was removed in 2019-11-01: no longer referenced by other packages";
   vamp = { vampSDK = vamp-plugin-sdk; }; # Added 2020-03-26
   vapor = throw "vapor was removed because it was unmaintained and upstream service no longer exists";
   varnish62 = throw "varnish62 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release"; # Added 2021-07-26
@@ -1267,8 +1255,6 @@ mapAliases ({
   vdirsyncerStable  = vdirsyncer; # Added 2020-11-08, see https://github.com/NixOS/nixpkgs/issues/103026#issuecomment-723428168
   venus = throw "venus has been removed from nixpkgs, as it's unmaintained"; # Added 2021-02-05
   vimbWrapper = throw "'vimbWrapper' has been renamed to/replaced by 'vimb'"; # Converted to throw 2022-02-22
-  vimprobable2 = throw "vimprobable2 has been removed from nixpkgs. It relied on webkitgtk24x that has been removed"; # Added 2019-12-05
-  vimprobable2-unwrapped = vimprobable2; # Added 2019-12-05
   virtinst = throw "virtinst has been removed, as it's included in virt-manager"; # Added 2021-07-21
   virtuoso = throw "virtuoso has been removed, because it was unmaintained in nixpkgs"; # added 2021-12-15
   virtmanager = virt-manager; # Added 2019-10-29
@@ -1283,8 +1269,6 @@ mapAliases ({
   way-cooler = throw "way-cooler is abandoned by its author: https://way-cooler.org/blog/2020/01/09/way-cooler-post-mortem.html"; # Added 2020-01-13
   webbrowser = throw "webbrowser was removed because it's unmaintained upstream and was marked as broken in nixpkgs for over a year"; # Added 2022-03-21
   webkit = throw "'webkit' has been renamed to/replaced by 'webkitgtk'"; # Converted to throw 2022-02-22
-  webkitgtk24x-gtk2 = throw "webkitgtk24x-gtk2 has been removed because it's insecure. Please use webkitgtk"; # Added 2019-12-05
-  webkitgtk24x-gtk3 = throw "webkitgtk24x-gtk3 has been removed because it's insecure. Please use webkitgtk"; # Added 2019-12-05
   weechat-matrix-bridge = throw "'weechat-matrix-bridge' has been renamed to/replaced by 'weechatScripts.weechat-matrix-bridge'"; # Converted to throw 2022-02-22
   whirlpool-gui = throw "whirlpool-gui has been removed as it depended on an insecure version of Electron"; # added 2022-02-08
   wicd = throw "wicd has been removed as it is abandoned"; # Added 2021-09-11
@@ -1294,10 +1278,8 @@ mapAliases ({
   wineStaging = throw "'wineStaging' has been renamed to/replaced by 'wine-staging'"; # Converted to throw 2022-02-22
   wineUnstable = throw "'wineUnstable' has been renamed to/replaced by 'winePackages.unstable'"; # Converted to throw 2022-02-22
   wineWayland = wine-wayland;
-  winswitch = throw "winswitch has been removed from nixpkgs"; # Added 2019-12-10
   winusb = throw "'winusb' has been renamed to/replaced by 'woeusb'"; # Converted to throw 2022-02-22
   wireguard = throw "'wireguard' has been renamed to/replaced by 'wireguard-tools'"; # Converted to throw 2022-02-22
-  wireshark-gtk = throw "wireshark-gtk is not supported anymore. Use wireshark-qt or wireshark-cli instead"; # Added 2019-11-18
   wxmupen64plus = throw "wxmupen64plus was removed because the upstream disappeared"; # Added 2022-01-31
 
   ### X ###
@@ -1428,6 +1410,9 @@ mapAliases ({
     targetLlvmLibraries = targetPackages.llvmPackages_git.libraries;
   });
 
+  # Added 2022-01-28
+  zeroc-ice-36 = throw "Unmaintained, doesn't build w/glibc-2.34";
+
   /* If these are in the scope of all-packages.nix, they cause collisions
   between mixed versions of qt. See:
   https://github.com/NixOS/nixpkgs/pull/101369 */
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 705900fdbd0e7..21345ef8d88ae 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -195,8 +195,14 @@ with pkgs;
 
   ankisyncd = callPackage ../servers/ankisyncd { };
 
+  ani-cli = callPackage ../applications/video/ani-cli { };
+
   aocd = with python3Packages; toPythonApplication aocd;
 
+  aesfix = callPackage ../tools/security/aesfix { };
+
+  aeskeyfind = callPackage ../tools/security/aeskeyfind { };
+
   astrolog = callPackage ../applications/science/astronomy/astrolog { };
 
   atkinson-hyperlegible = callPackage ../data/fonts/atkinson-hyperlegible { };
@@ -331,6 +337,8 @@ with pkgs;
 
   crow-translate = libsForQt5.callPackage ../applications/misc/crow-translate { };
 
+  cryptowatch-desktop = callPackage ../applications/finance/cryptowatch { };
+
   dhallDirectoryToNix = callPackage ../build-support/dhall/directory-to-nix.nix { };
 
   dhallPackageToNix = callPackage ../build-support/dhall/package-to-nix.nix { };
@@ -341,6 +349,8 @@ with pkgs;
 
   deadnix = callPackage ../development/tools/deadnix { };
 
+  dsq = callPackage ../tools/misc/dsq { buildGoModule = buildGo118Module; };
+
   each = callPackage ../tools/text/each { };
 
   eclipse-mat = callPackage ../development/tools/eclipse-mat { };
@@ -443,6 +453,9 @@ with pkgs;
   dockerTools = callPackage ../build-support/docker {
     writePython3 = buildPackages.writers.writePython3;
   };
+
+  fakeNss = callPackage ../build-support/fake-nss { };
+
   tarsum = callPackage ../build-support/docker/tarsum.nix { };
 
   snapTools = callPackage ../build-support/snap { };
@@ -584,8 +597,6 @@ with pkgs;
 
   broadlink-cli = callPackage ../tools/misc/broadlink-cli {};
 
-  mht2htm = callPackage ../tools/misc/mht2htm { };
-
   fetchpatch = callPackage ../build-support/fetchpatch { }
     // {
       tests = pkgs.tests.fetchpatch;
@@ -661,9 +672,9 @@ with pkgs;
         };
         nghttp2 = buildPackages.nghttp2.override {
           fetchurl = stdenv.fetchurlBoot;
-          inherit zlib pkg-config openssl;
-          c-ares = buildPackages.c-ares.override { fetchurl = stdenv.fetchurlBoot; };
-          libev = buildPackages.libev.override { fetchurl = stdenv.fetchurlBoot; };
+          inherit pkg-config;
+          enableApp = false; # curl just needs libnghttp2
+          enableTests = false; # avoids bringing `cunit` and `tzdata` into scope
         };
       });
     };
@@ -739,6 +750,9 @@ with pkgs;
 
   makeInitrd = callPackage ../build-support/kernel/make-initrd.nix; # Args intentionally left out
 
+  makeInitrdNG = callPackage ../build-support/kernel/make-initrd-ng.nix;
+  makeInitrdNGTool = callPackage ../build-support/kernel/make-initrd-ng-tool.nix {};
+
   makeWrapper = makeSetupHook
     { deps = [ dieHook ];
       substitutions = {
@@ -916,6 +930,8 @@ with pkgs;
 
   abduco = callPackage ../tools/misc/abduco { };
 
+  ablog = callPackage ../applications/misc/ablog { };
+
   acct = callPackage ../tools/system/acct { };
 
   accuraterip-checksum = callPackage ../tools/audio/accuraterip-checksum { };
@@ -1059,6 +1075,8 @@ with pkgs;
 
   ejson2env = callPackage ../tools/admin/ejson2env { };
 
+  davinci-resolve = callPackage ../applications/video/davinci-resolve { };
+
   gamemode = callPackage ../tools/games/gamemode {
     libgamemode32 = pkgsi686Linux.gamemode.lib;
   };
@@ -1103,6 +1121,8 @@ with pkgs;
 
   midimonster = callPackage ../tools/audio/midimonster { };
 
+  nominatim = callPackage ../servers/nominatim { };
+
   pferd = callPackage ../tools/misc/pferd {};
 
   qFlipper = libsForQt515.callPackage ../tools/misc/qflipper { };
@@ -1111,6 +1131,8 @@ with pkgs;
 
   redfang = callPackage ../tools/networking/redfang { };
 
+  sdbus-cpp = callPackage ../development/libraries/sdbus-cpp { };
+
   sdlookup = callPackage ../tools/security/sdlookup { };
 
   sx-go = callPackage ../tools/security/sx-go { };
@@ -1521,8 +1543,6 @@ with pkgs;
 
   aws-nuke = callPackage ../tools/admin/aws-nuke { };
 
-  aws-okta = callPackage ../tools/security/aws-okta { };
-
   aws-rotate-key = callPackage ../tools/admin/aws-rotate-key { };
 
   aws-sam-cli = callPackage ../development/tools/aws-sam-cli { };
@@ -1655,8 +1675,6 @@ with pkgs;
 
   bonnie = callPackage ../tools/filesystems/bonnie { };
 
-  bonfire = callPackage ../tools/misc/bonfire { };
-
   botamusique = callPackage ../tools/audio/botamusique { };
 
   boulder = callPackage ../tools/admin/boulder { };
@@ -1705,8 +1723,6 @@ with pkgs;
 
   codeql = callPackage ../development/tools/analysis/codeql { };
 
-  container-linux-config-transpiler = callPackage ../development/tools/container-linux-config-transpiler { };
-
   fedora-backgrounds = callPackage ../data/misc/fedora-backgrounds { };
 
   ccextractor = callPackage ../applications/video/ccextractor { };
@@ -2045,7 +2061,9 @@ with pkgs;
 
   go-audit = callPackage ../tools/system/go-audit { };
 
-  gopass = callPackage ../tools/security/gopass { };
+  gopass = callPackage ../tools/security/gopass {
+    buildGoModule = buildGo118Module;
+  };
 
   gopass-jsonapi = callPackage ../tools/security/gopass/jsonapi.nix { };
 
@@ -2274,7 +2292,6 @@ with pkgs;
     filebeat6
     heartbeat6
     metricbeat6
-    packetbeat6
     journalbeat6;
 
   inherit (callPackages ../misc/logging/beats/7.x.nix { })
@@ -2286,7 +2303,6 @@ with pkgs;
   filebeat = filebeat6;
   heartbeat = heartbeat6;
   metricbeat = metricbeat6;
-  packetbeat = packetbeat6;
   journalbeat = journalbeat6;
 
   bfr = callPackage ../tools/misc/bfr { };
@@ -2464,8 +2480,6 @@ with pkgs;
 
   bustle = haskellPackages.bustle;
 
-  buttersink = callPackage ../tools/filesystems/buttersink { };
-
   bwm_ng = callPackage ../tools/networking/bwm-ng { };
 
   bwbasic = callPackage ../development/interpreters/bwbasic { };
@@ -2731,6 +2745,8 @@ with pkgs;
 
   wdomirror = callPackage ../tools/wayland/wdomirror { };
 
+  wdt = callPackage ../applications/networking/sync/wdt { };
+
   wl-clipboard = callPackage ../tools/wayland/wl-clipboard { };
 
   wl-clipboard-x11 = callPackage ../tools/wayland/wl-clipboard-x11 { };
@@ -2759,6 +2775,8 @@ with pkgs;
 
   ydotool = callPackage ../tools/wayland/ydotool { };
 
+  cambalache = callPackage ../development/tools/cambalache { };
+
   clipster = callPackage ../tools/misc/clipster { };
 
   clockify = callPackage ../applications/office/clockify {
@@ -2836,6 +2854,8 @@ with pkgs;
 
   damon = callPackage ../tools/admin/damon { };
 
+  dancing-script = callPackage ../data/fonts/dancing-script { };
+
   dante = callPackage ../servers/dante { };
 
   dapr-cli = callPackage ../development/tools/dapr/cli {};
@@ -2864,8 +2884,6 @@ with pkgs;
 
   dcw-gmt = callPackage ../applications/gis/gmt/dcw.nix { };
 
-  ddar = callPackage ../tools/backup/ddar { };
-
   ddate = callPackage ../tools/misc/ddate { };
 
   ddosify = callPackage ../development/tools/ddosify { };
@@ -3436,6 +3454,8 @@ with pkgs;
 
   krapslog = callPackage ../tools/misc/krapslog { };
 
+  krelay = callPackage ../applications/networking/cluster/krelay { };
+
   krill = callPackage ../servers/krill {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -3797,6 +3817,8 @@ with pkgs;
 
   shipyard = callPackage ../tools/virtualization/shipyard { };
 
+  shisho = callPackage ../tools/security/shisho { };
+
   simg2img = callPackage ../tools/filesystems/simg2img { };
 
   simplenes = callPackage ../applications/emulators/simplenes { };
@@ -4006,8 +4028,6 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
 
-  bareos = callPackage ../tools/backup/bareos { };
-
   bats = callPackage ../development/interpreters/bats { };
 
   bbe = callPackage ../tools/misc/bbe { };
@@ -4094,8 +4114,6 @@ with pkgs;
 
   btar = callPackage ../tools/backup/btar { };
 
-  bud = callPackage ../tools/networking/bud { };
-
   bump2version = python3Packages.callPackage ../applications/version-management/git-and-tools/bump2version { };
 
   bumpver = callPackage ../applications/version-management/bumpver { };
@@ -4112,8 +4130,6 @@ with pkgs;
 
   byzanz = callPackage ../applications/video/byzanz {};
 
-  ori = callPackage ../tools/backup/ori { };
-
   anydesk = callPackage ../applications/networking/remote/anydesk { };
 
   anystyle-cli = callPackage ../tools/misc/anystyle-cli { };
@@ -4224,12 +4240,6 @@ with pkgs;
 
   cilium-cli = callPackage ../applications/networking/cluster/cilium { };
 
-  cipherscan = callPackage ../tools/security/cipherscan {
-    openssl = if stdenv.hostPlatform.system == "x86_64-linux"
-      then openssl-chacha
-      else openssl;
-  };
-
   cjdns = callPackage ../tools/networking/cjdns { };
   cjdns-tools = callPackage ../tools/admin/cjdns-tools { };
 
@@ -4542,9 +4552,9 @@ with pkgs;
     gst-plugins-good = gst_all_1.gst-plugins-good.override { gtkSupport = true; };
   };
 
-  cocoapods = callPackage ../development/mobile/cocoapods { };
+  cocoapods = callPackage ../development/tools/cocoapods { };
 
-  cocoapods-beta = lowPrio (callPackage ../development/mobile/cocoapods { beta = true; });
+  cocoapods-beta = lowPrio (callPackage ../development/tools/cocoapods { beta = true; });
 
   cocom = callPackage ../tools/networking/cocom {
     inherit (darwin.apple_sdk.frameworks) Security;
@@ -4627,7 +4637,6 @@ with pkgs;
     cudnn_8_1_cudatoolkit_11_1
     cudnn_8_1_cudatoolkit_11_2
     cudnn_8_1_cudatoolkit_10
-    cudnn_8_1_cudatoolkit_11
     cudnn_8_3_cudatoolkit_10_2
     cudnn_8_3_cudatoolkit_11_0
     cudnn_8_3_cudatoolkit_11_1
@@ -4638,8 +4647,8 @@ with pkgs;
     cudnn_8_3_cudatoolkit_10
     cudnn_8_3_cudatoolkit_11;
 
-  # TODO(samuela): This is old and should be upgraded to 8.3 at some point.
-  cudnn = cudnn_7_6_cudatoolkit_10_1;
+  # Make sure to keep this in sync with the `cudatoolkit` version!
+  cudnn = cudnn_8_3_cudatoolkit_10;
 
   cutensorPackages = callPackages ../development/libraries/science/math/cutensor { };
   inherit (cutensorPackages)
@@ -4877,8 +4886,6 @@ with pkgs;
 
   dirvish  = callPackage ../tools/backup/dirvish { };
 
-  disper = callPackage ../tools/misc/disper { };
-
   dleyna-connector-dbus = callPackage ../development/libraries/dleyna-connector-dbus { };
 
   dleyna-core = callPackage ../development/libraries/dleyna-core { };
@@ -5056,6 +5063,8 @@ with pkgs;
 
   epubcheck = callPackage ../tools/text/epubcheck { };
 
+  evil-winrm = callPackage ../tools/security/evil-winrm { };
+
   luckybackup = libsForQt5.callPackage ../tools/backup/luckybackup {
     ssh = openssh;
   };
@@ -5136,7 +5145,9 @@ with pkgs;
 
   tridactyl-native = callPackage ../tools/networking/tridactyl-native { };
 
-  trivy = callPackage ../tools/admin/trivy { };
+  trivy = callPackage ../tools/admin/trivy {
+    buildGoModule = buildGo118Module;
+  };
 
   trompeloeil = callPackage ../development/libraries/trompeloeil { };
 
@@ -5301,8 +5312,6 @@ with pkgs;
 
   epstool = callPackage ../tools/graphics/epstool { };
 
-  epsxe = callPackage ../applications/emulators/epsxe { };
-
   escrotum = callPackage ../tools/graphics/escrotum { };
 
   etcher = callPackage ../tools/misc/etcher {
@@ -5921,10 +5930,6 @@ with pkgs;
 
   git-delete-merged-branches = callPackage ../applications/version-management/git-and-tools/git-delete-merged-branches { };
 
-  git-dit = callPackage ../applications/version-management/git-and-tools/git-dit {
-    inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
-  };
-
   git-extras = callPackage ../applications/version-management/git-and-tools/git-extras { };
 
   git-fame = callPackage ../applications/version-management/git-and-tools/git-fame {};
@@ -6100,20 +6105,22 @@ with pkgs;
 
   gnome-builder = callPackage ../applications/editors/gnome-builder { };
 
+  gnome-desktop = callPackage ../development/libraries/gnome-desktop { };
+
   gnome-feeds = callPackage ../applications/networking/feedreaders/gnome-feeds {};
 
   gnome-keysign = callPackage ../tools/security/gnome-keysign { };
 
   gnome-secrets = callPackage ../applications/misc/gnome-secrets { };
 
+  gnome-solanum = callPackage ../applications/misc/gnome-solanum { };
+
   gnome-podcasts = callPackage ../applications/audio/gnome-podcasts { };
 
   gnome-photos = callPackage ../applications/graphics/gnome-photos { };
 
   gnome-randr = callPackage ../tools/wayland/gnome-randr { };
 
-  gnokii = callPackage ../tools/misc/gnokii { };
-
   gnuapl = callPackage ../development/interpreters/gnu-apl { };
 
   gnu-shepherd = callPackage ../misc/gnu-shepherd { };
@@ -6164,11 +6171,7 @@ with pkgs;
 
   gnu-pw-mgr = callPackage ../tools/security/gnu-pw-mgr { };
 
-  gnused = if !stdenv.hostPlatform.isWindows
-    then callPackage ../tools/text/gnused { } # broken on Windows
-    else gnused_422;
-  # This is an easy work-around for [:space:] problems.
-  gnused_422 = callPackage ../tools/text/gnused/422.nix { };
+  gnused = callPackage ../tools/text/gnused { };
 
   gnutar = callPackage ../tools/archivers/gnutar { };
 
@@ -6425,10 +6428,6 @@ with pkgs;
 
   gtk-vnc = callPackage ../tools/admin/gtk-vnc {};
 
-  gtmess = callPackage ../applications/networking/instant-messengers/gtmess {
-    openssl = openssl_1_0_2;
-  };
-
   gup = callPackage ../development/tools/build-managers/gup {};
 
   gupnp = callPackage ../development/libraries/gupnp { };
@@ -6788,14 +6787,6 @@ with pkgs;
 
   inql = callPackage ../tools/security/inql { };
 
-  intecture-agent = callPackage ../tools/admin/intecture/agent.nix { };
-
-  intecture-auth = callPackage ../tools/admin/intecture/auth.nix { };
-
-  intecture-cli = callPackage ../tools/admin/intecture/cli.nix {
-    openssl = openssl_1_0_2;
-  };
-
   intel-media-sdk = callPackage ../development/libraries/intel-media-sdk { };
 
   intermodal = callPackage ../tools/misc/intermodal { };
@@ -6835,6 +6826,8 @@ with pkgs;
   iperf3 = callPackage ../tools/networking/iperf/3.nix { };
   iperf = iperf3;
 
+  ipfetch = callPackage ../tools/networking/ipfetch { };
+
   ipfs = callPackage ../applications/networking/ipfs {
     buildGoModule = buildGo116Module;
   };
@@ -6939,7 +6932,7 @@ with pkgs;
 
   jing = res.jing-trang;
   jing-trang = callPackage ../tools/text/xml/jing-trang {
-    jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
+    jdk_headless = jdk8_headless; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
   };
 
   jira-cli = callPackage ../development/tools/jira_cli { };
@@ -7034,6 +7027,8 @@ with pkgs;
 
   jupyter-kernel = callPackage ../applications/editors/jupyter/kernel.nix { };
 
+  justify = callPackage ../tools/text/justify { };
+
   jwhois = callPackage ../tools/networking/jwhois { };
 
   k2pdfopt = callPackage ../applications/misc/k2pdfopt { };
@@ -7237,6 +7232,8 @@ with pkgs;
 
   lfs = callPackage ../tools/filesystems/lfs { };
 
+  littlefs-fuse = callPackage ../tools/filesystems/littlefs-fuse { };
+
   lksctp-tools = callPackage ../os-specific/linux/lksctp-tools { };
 
   lldpd = callPackage ../tools/networking/lldpd { };
@@ -7375,6 +7372,10 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
 
+  mdbook-pdf = callPackage ../tools/text/mdbook-pdf {
+    inherit (darwin.apple_sdk.frameworks) CoreServices;
+  };
+
   mdbook-plantuml = callPackage ../tools/text/mdbook-plantuml {
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
@@ -7517,6 +7518,8 @@ with pkgs;
     nodejs = nodejs-14_x;
   };
 
+  node2nix = nodePackages.node2nix;
+
   np2kai = callPackage ../applications/emulators/np2kai { };
 
   openipmi = callPackage ../tools/system/openipmi { };
@@ -7728,6 +7731,8 @@ with pkgs;
 
   librest = callPackage ../development/libraries/librest { };
 
+  librest_1_0 = callPackage ../development/libraries/librest/1.0.nix { };
+
   inherit (callPackages ../development/libraries/libwebsockets { })
     libwebsockets_3_1
     libwebsockets_3_2
@@ -7922,10 +7927,6 @@ with pkgs;
 
   memtest86plus = callPackage ../tools/misc/memtest86+ { };
 
-  meo = callPackage ../tools/security/meo {
-    boost = boost155;
-  };
-
   mbutil = python3Packages.callPackage ../applications/misc/mbutil { };
 
   mc = callPackage ../tools/misc/mc {
@@ -8089,6 +8090,8 @@ with pkgs;
 
   mscgen = callPackage ../tools/graphics/mscgen { };
 
+  melt = callPackage ../tools/security/melt { };
+
   metabigor = callPackage ../tools/security/metabigor { };
 
   metasploit = callPackage ../tools/security/metasploit { };
@@ -8228,6 +8231,8 @@ with pkgs;
 
   netbootxyz-efi = callPackage ../tools/misc/netbootxyz-efi { };
 
+  netbox = callPackage ../servers/web-apps/netbox { };
+
   netcat = libressl.nc;
 
   netcat-gnu = callPackage ../tools/networking/netcat { };
@@ -8367,6 +8372,8 @@ with pkgs;
 
   pandoc-imagine = python3Packages.callPackage ../tools/misc/pandoc-imagine { };
 
+  pandoc-include = python3Packages.callPackage ../tools/misc/pandoc-include { };
+
   pandoc-drawio-filter = python3Packages.callPackage ../tools/misc/pandoc-drawio-filter { };
 
   pandoc-plantuml-filter = python3Packages.callPackage ../tools/misc/pandoc-plantuml-filter { };
@@ -8460,6 +8467,8 @@ with pkgs;
 
   ntfy = callPackage ../tools/misc/ntfy {};
 
+  ntfy-sh = callPackage ../tools/misc/ntfy-sh {};
+
   ntirpc = callPackage ../development/libraries/ntirpc { };
 
   ntopng = callPackage ../tools/networking/ntopng { };
@@ -8631,8 +8640,6 @@ with pkgs;
 
   openmvg = callPackage ../applications/science/misc/openmvg { };
 
-  openmvs = callPackage ../applications/science/misc/openmvs { };
-
   openntpd = callPackage ../tools/networking/openntpd { };
 
   openntpd_nixos = openntpd.override {
@@ -8766,8 +8773,6 @@ with pkgs;
 
   otpw = callPackage ../os-specific/linux/otpw { };
 
-  ovftool = callPackage ../tools/virtualization/ovftool { };
-
   overcommit = callPackage ../development/tools/overcommit { };
 
   overmind = callPackage ../applications/misc/overmind { };
@@ -8808,7 +8813,11 @@ with pkgs;
 
   pagmo2 = callPackage ../development/libraries/pagmo2 { };
 
-  pakcs = callPackage ../development/compilers/pakcs { };
+  pakcs = callPackage ../development/compilers/pakcs {
+    # Doesn't compile with GHC 9.0 due to whitespace syntax changes
+    # see also https://github.com/NixOS/nixpkgs/issues/166108
+    haskellPackages = haskell.packages.ghc8107;
+  };
 
   pal = callPackage ../tools/misc/pal { };
 
@@ -8890,6 +8899,8 @@ with pkgs;
 
   patchage = callPackage ../applications/audio/patchage { };
 
+  patatt = callPackage ../development/tools/patatt { };
+
   pcapfix = callPackage ../tools/networking/pcapfix { };
 
   pbzip2 = callPackage ../tools/compression/pbzip2 { };
@@ -9062,6 +9073,10 @@ with pkgs;
 
   pleroma = callPackage ../servers/pleroma { };
 
+  plfit = callPackage ../tools/misc/plfit {
+    python = null;
+  };
+
   ploticus = callPackage ../tools/graphics/ploticus {
     libpng = libpng12;
   };
@@ -9175,10 +9190,6 @@ with pkgs;
 
   proxysql = callPackage ../servers/sql/proxysql { };
 
-  proxytunnel = callPackage ../tools/misc/proxytunnel {
-    openssl = openssl_1_0_2;
-  };
-
   prs = callPackage ../tools/security/prs { };
 
   psw = callPackage ../tools/misc/psw { };
@@ -9442,8 +9453,6 @@ with pkgs;
 
   repseek = callPackage ../applications/science/biology/repseek { };
 
-  reicast = callPackage ../applications/emulators/reicast { };
-
   reredirect = callPackage ../tools/misc/reredirect { };
 
   retext = libsForQt5.callPackage ../applications/editors/retext { };
@@ -9684,6 +9693,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  s3-credentials = with python3Packages; toPythonApplication s3-credentials;
+
   s4cmd = callPackage ../tools/networking/s4cmd { };
 
   s5cmd = callPackage ../tools/networking/s5cmd { };
@@ -10156,6 +10167,8 @@ with pkgs;
 
   srtrelay = callPackage ../applications/video/srtrelay { };
 
+  srsran = callPackage ../applications/radio/srsran {  };
+
   sourcehut = callPackage ../applications/version-management/sourcehut { };
 
   sshfs-fuse = callPackage ../tools/filesystems/sshfs-fuse { };
@@ -10217,6 +10230,8 @@ with pkgs;
 
   sslmate = callPackage ../development/tools/sslmate { };
 
+  sslmate-agent = callPackage ../development/tools/sslmate-agent { };
+
   sshoogr = callPackage ../tools/networking/sshoogr { };
 
   ssmtp = callPackage ../tools/networking/ssmtp { };
@@ -10296,6 +10311,8 @@ with pkgs;
 
   symengine = callPackage ../development/libraries/symengine { };
 
+  synaesthesia = callPackage ../applications/audio/synaesthesia { };
+
   sysbench = callPackage ../development/tools/misc/sysbench {};
 
   system-config-printer = callPackage ../tools/misc/system-config-printer {
@@ -10408,8 +10425,6 @@ with pkgs;
 
   teamviewer = libsForQt515.callPackage ../applications/networking/remote/teamviewer { };
 
-  teleconsole = callPackage ../tools/misc/teleconsole { };
-
   telegraf = callPackage ../servers/monitoring/telegraf { };
 
   teleport = callPackage ../servers/teleport {};
@@ -10536,6 +10551,8 @@ with pkgs;
 
   tinyfecvpn = callPackage ../tools/networking/tinyfecvpn { };
 
+  tinygltf = callPackage ../development/libraries/tinygltf { };
+
   tinyobjloader = callPackage ../development/libraries/tinyobjloader { };
 
   tinyprog = callPackage ../development/embedded/fpga/tinyprog { };
@@ -10648,8 +10665,6 @@ with pkgs;
 
   ttp = with python3.pkgs; toPythonApplication ttp;
 
-  chaps = callPackage ../tools/security/chaps { };
-
   trace-cmd = callPackage ../os-specific/linux/trace-cmd { };
 
   kernelshark = libsForQt5.callPackage ../os-specific/linux/trace-cmd/kernelshark.nix { };
@@ -11194,7 +11209,9 @@ with pkgs;
   };
 
   unbound-full = unbound.override {
+    python = python3;
     withSystemd = true;
+    withPythonModule = true;
     withDoH = true;
     withECS = true;
     withDNSCrypt = true;
@@ -11448,6 +11465,8 @@ with pkgs;
   xflux = callPackage ../tools/misc/xflux { };
   xflux-gui = python3Packages.callPackage ../tools/misc/xflux/gui.nix { };
 
+  xfsdump = callPackage ../tools/filesystems/xfsdump { };
+
   xfsprogs = callPackage ../tools/filesystems/xfsprogs { };
   libxfs = xfsprogs.dev;
 
@@ -11549,7 +11568,9 @@ with pkgs;
   yggdrasil = callPackage ../tools/networking/yggdrasil { };
 
   # To expose more packages for Yi, override the extraPackages arg.
-  yi = callPackage ../applications/editors/yi/wrapper.nix { };
+  yi = callPackage ../applications/editors/yi/wrapper.nix {
+    haskellPackages = haskell.packages.ghc8107;
+  };
 
   yj = callPackage ../development/tools/yj { };
 
@@ -11902,12 +11923,8 @@ with pkgs;
     jdk = jdk8;
   };
 
-  aldor = callPackage ../development/compilers/aldor { };
-
   algol68g = callPackage ../development/compilers/algol68g { };
 
-  aliceml = callPackage ../development/compilers/aliceml { };
-
   armips = callPackage ../development/compilers/armips { };
 
   arachne-pnr = callPackage ../development/compilers/arachne-pnr { };
@@ -12109,6 +12126,8 @@ with pkgs;
 
   flasm = callPackage ../development/compilers/flasm { };
 
+  flycast = callPackage ../applications/emulators/flycast { };
+
   flyctl = callPackage ../development/web/flyctl { };
 
   fluidd = callPackage ../applications/misc/fluidd { };
@@ -12586,7 +12605,11 @@ with pkgs;
 
   # Please update doc/languages-frameworks/haskell.section.md, “Our
   # current default compiler is”, if you bump this:
-  haskellPackages = dontRecurseIntoAttrs haskell.packages.ghc8107;
+  haskellPackages = dontRecurseIntoAttrs
+    # Prefer native-bignum to avoid linking issues with gmp
+    (if stdenv.hostPlatform.isStatic
+       then haskell.packages.native-bignum.ghc902
+       else haskell.packages.ghc902);
 
   # haskellPackages.ghc is build->host (it exposes the compiler used to build the
   # set, similarly to stdenv.cc), but pkgs.ghc should be host->target to be more
@@ -12596,11 +12619,16 @@ with pkgs;
   # the withPackages wrapper available. In the final cross-compiled package set
   # however, targetPackages won't be populated, so we need to fall back to the
   # plain, cross-compiled compiler (which is only theoretical at the moment).
-  ghc = targetPackages.haskellPackages.ghc or haskell.compiler.ghc8107;
+  ghc = targetPackages.haskellPackages.ghc or
+    # Prefer native-bignum to avoid linking issues with gmp
+    (if stdenv.targetPlatform.isStatic
+       then haskell.compiler.native-bignum.ghc902
+       else haskell.compiler.ghc902);
 
   cabal-install = haskell.lib.compose.justStaticExecutables haskellPackages.cabal-install;
 
   stack = haskell.lib.compose.justStaticExecutables haskellPackages.stack;
+
   hlint = haskell.lib.compose.justStaticExecutables haskellPackages.hlint;
 
   krank = haskell.lib.compose.justStaticExecutables haskellPackages.krank;
@@ -12656,8 +12684,6 @@ with pkgs;
   haxePackages = recurseIntoAttrs (callPackage ./haxe-packages.nix { });
   inherit (haxePackages) hxcpp;
 
-  hhvm = callPackage ../development/compilers/hhvm { };
-
   hop = callPackage ../development/compilers/hop { };
 
   falcon = callPackage ../development/interpreters/falcon { };
@@ -12797,7 +12823,9 @@ with pkgs;
     });
   graalvm11-ce = graalvmCEPackages.graalvm11-ce;
   graalvm17-ce = graalvmCEPackages.graalvm17-ce;
-  buildGraalvmNativeImage = callPackage ../build-support/build-graalvm-native-image { };
+  buildGraalvmNativeImage = callPackage ../build-support/build-graalvm-native-image {
+    graalvm = graalvm11-ce;
+  };
 
   inherit (callPackages ../development/compilers/graalvm/enterprise-edition.nix { })
     graalvm8-ee
@@ -13175,8 +13203,6 @@ with pkgs;
 
   orocos-kdl = callPackage ../development/libraries/orocos-kdl { };
 
-  metaocaml_3_09 = callPackage ../development/compilers/ocaml/metaocaml-3.09.nix { };
-
   ber_metaocaml = callPackage ../development/compilers/ocaml/ber-metaocaml.nix { };
 
   ocaml_make = callPackage ../development/ocaml-modules/ocamlmake { };
@@ -13261,18 +13287,18 @@ with pkgs;
     inherit (darwin) apple_sdk;
   };
 
-  rust_1_58 = callPackage ../development/compilers/rust/1_58.nix {
+  rust_1_59 = callPackage ../development/compilers/rust/1_59.nix {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security SystemConfiguration;
     llvm_13 = llvmPackages_13.libllvm;
   };
-  rust = rust_1_58;
+  rust = rust_1_59;
 
   mrustc = callPackage ../development/compilers/mrustc { };
   mrustc-minicargo = callPackage ../development/compilers/mrustc/minicargo.nix { };
   mrustc-bootstrap = callPackage ../development/compilers/mrustc/bootstrap.nix { };
 
-  rustPackages_1_58 = rust_1_58.packages.stable;
-  rustPackages = rustPackages_1_58;
+  rustPackages_1_59 = rust_1_59.packages.stable;
+  rustPackages = rustPackages_1_59;
 
   inherit (rustPackages) cargo clippy rustc rustPlatform;
 
@@ -13417,6 +13443,7 @@ with pkgs;
   cargo-generate = callPackage ../development/tools/rust/cargo-generate {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
+  cargo-bootimage = callPackage ../development/tools/rust/bootimage { };
 
   cargo-whatfeatures = callPackage ../development/tools/rust/cargo-whatfeatures {
     inherit (darwin.apple_sdk.frameworks) Security;
@@ -13439,6 +13466,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  ograc = callPackage ../development/tools/rust/ograc { };
+
   rhack = callPackage ../development/tools/rust/rhack { };
   inherit (rustPackages) rls;
   roogle = callPackage ../development/tools/rust/roogle { };
@@ -13606,6 +13635,7 @@ with pkgs;
   inherit (callPackage ../development/compilers/vala { })
     vala_0_48
     vala_0_54
+    vala_0_56
     vala;
 
   vyper = with python3Packages; toPythonApplication vyper;
@@ -13782,8 +13812,6 @@ with pkgs;
 
   dhall-nixpkgs = haskell.lib.compose.justStaticExecutables haskellPackages.dhall-nixpkgs;
 
-  dhall-text = haskell.lib.compose.justStaticExecutables haskellPackages.dhall-text;
-
   dhallPackages = recurseIntoAttrs (callPackage ./dhall-packages.nix { });
 
   duktape = callPackage ../development/interpreters/duktape { };
@@ -13846,7 +13874,7 @@ with pkgs;
     stdenv = clangStdenv;
   };
 
-  jacinda = haskell.lib.compose.justStaticExecutables haskell.packages.ghc921.jacinda;
+  jacinda = haskell.lib.compose.justStaticExecutables haskell.packages.ghc922.jacinda;
 
   janet = callPackage ../development/interpreters/janet {};
 
@@ -14010,16 +14038,16 @@ with pkgs;
   polyml56 = callPackage ../development/compilers/polyml/5.6.nix { };
   polyml57 = callPackage ../development/compilers/polyml/5.7.nix { };
 
-  pure = callPackage ../development/interpreters/pure {
-    /*llvm = llvm_35;*/
-  };
-  purePackages = recurseIntoAttrs (callPackage ./pure-packages.nix {});
-
   # Python interpreters. All standard library modules are included except for tkinter, which is
   # available as `pythonPackages.tkinter` and can be used as any other Python package.
   # When switching these sets, please update docs at ../../doc/languages-frameworks/python.md
   python2 = python27;
   python3 = python39;
+
+  # pythonPackages further below, but assigned here because they need to be in sync
+  python2Packages = dontRecurseIntoAttrs python27Packages;
+  python3Packages = dontRecurseIntoAttrs python39Packages;
+
   pypy = pypy2;
   pypy2 = pypy27;
   pypy3 = pypy38;
@@ -14061,10 +14089,6 @@ with pkgs;
     x11Support = true;
   };
 
-  # pythonPackages further below, but assigned here because they need to be in sync
-  python2Packages = python2.pkgs;
-  python3Packages = python3.pkgs;
-
   pythonInterpreters = callPackage ./../development/interpreters/python { };
   inherit (pythonInterpreters) python27 python37 python38 python39 python310 python311 python3Minimal pypy27 pypy38 pypy37 rustpython;
 
@@ -14231,6 +14255,8 @@ with pkgs;
   ssm-agent = callPackage ../applications/networking/cluster/ssm-agent { };
   ssm-session-manager-plugin = callPackage ../applications/networking/cluster/ssm-session-manager-plugin { };
 
+  starlark = callPackage ../development/interpreters/starlark { };
+
   supercollider = libsForQt5.callPackage ../development/interpreters/supercollider {
     fftw = fftwSinglePrec;
   };
@@ -14266,11 +14292,6 @@ with pkgs;
 
   avr8burnomat = callPackage ../development/misc/avr8-burn-omat { };
 
-  betaflight = callPackage ../development/embedded/stm32/betaflight {
-    gcc-arm-embedded = pkgsCross.arm-embedded.buildPackages.gcc;
-    binutils-arm-embedded = pkgsCross.arm-embedded.buildPackages.binutils;
-  };
-
   sourceFromHead = callPackage ../build-support/source-from-head-fun.nix {};
 
   jruby = callPackage ../development/interpreters/jruby { };
@@ -14320,11 +14341,6 @@ with pkgs;
     guile = guile_2_0;
   };
 
-  inav = callPackage ../development/embedded/stm32/inav {
-    gcc-arm-embedded = pkgsCross.arm-embedded.buildPackages.gcc;
-    binutils-arm-embedded = pkgsCross.arm-embedded.buildPackages.binutils;
-  };
-
   inav-blackbox-tools = callPackage ../tools/misc/inav-blackbox-tools { };
 
   infracost = callPackage ../tools/misc/infracost { };
@@ -14940,6 +14956,8 @@ with pkgs;
 
   dfeet = callPackage ../development/tools/misc/d-feet { };
 
+  d-spy = callPackage ../development/tools/misc/d-spy { };
+
   dfu-programmer = callPackage ../development/tools/misc/dfu-programmer { };
 
   dfu-util = callPackage ../development/tools/misc/dfu-util { };
@@ -15053,6 +15071,8 @@ with pkgs;
 
   funnelweb = callPackage ../development/tools/literate-programming/funnelweb { };
 
+  license_finder = callPackage ../development/tools/license_finder { };
+
   Literate = callPackage ../development/tools/literate-programming/Literate { };
 
   md-tangle = callPackage ../development/tools/literate-programming/md-tangle { };
@@ -15275,7 +15295,7 @@ with pkgs;
   img = callPackage ../development/tools/img { };
 
   include-what-you-use = callPackage ../development/tools/analysis/include-what-you-use {
-    llvmPackages = llvmPackages_13;
+    llvmPackages = llvmPackages_14;
   };
 
   indent = callPackage ../development/tools/misc/indent { };
@@ -15342,8 +15362,6 @@ with pkgs;
 
   krew = callPackage ../development/tools/krew { };
 
-  kube-aws = callPackage ../development/tools/kube-aws { };
-
   kube-hunter = callPackage ../tools/security/kube-hunter { };
 
   kubeaudit = callPackage ../tools/security/kubeaudit { };
@@ -15500,6 +15518,8 @@ with pkgs;
     pythonPackages = python3Packages;
   };
 
+  nix-bisect = callPackage ../development/tools/misc/nix-bisect { };
+
   nix-build-uncached = callPackage ../development/tools/misc/nix-build-uncached { };
 
   nexus = callPackage ../development/tools/repository-managers/nexus {
@@ -15763,12 +15783,11 @@ with pkgs;
   shallot = callPackage ../tools/misc/shallot { };
 
   inherit (callPackage ../development/tools/build-managers/shards { })
-    shards_0_15
-    shards_0_16
+    shards_0_17
     shards;
 
   shellcheck = callPackage ../development/tools/shellcheck {
-    ShellCheck = haskellPackages.ShellCheck_0_8_0;
+    inherit (haskellPackages) ShellCheck;
   };
 
   shellharden = callPackage ../development/tools/shellharden {};
@@ -16318,11 +16337,6 @@ with pkgs;
 
   bosh-cli = callPackage ../applications/networking/cluster/bosh-cli { };
 
-  botan = callPackage ../development/libraries/botan {
-    openssl = openssl_1_0_2;
-    inherit (darwin.apple_sdk.frameworks) CoreServices Security;
-  };
-
   botan2 = callPackage ../development/libraries/botan/2.0.nix {
     inherit (darwin.apple_sdk.frameworks) CoreServices Security;
   };
@@ -16478,8 +16492,12 @@ with pkgs;
 
   cog = callPackage ../development/web/cog { };
 
+  cosmoc = callPackage ../development/tools/cosmoc { };
+
   cosmopolitan = callPackage ../development/libraries/cosmopolitan { };
 
+  python-cosmopolitan = callPackage ../development/interpreters/python-cosmopolitan { };
+
   ctl = callPackage ../development/libraries/ctl { };
 
   ctpp2 = callPackage ../development/libraries/ctpp2 { };
@@ -16730,9 +16748,6 @@ with pkgs;
 
   linbox = callPackage ../development/libraries/linbox { };
 
-  ffmpeg_3_4 = callPackage ../development/libraries/ffmpeg/3.4.nix {
-    inherit (darwin.apple_sdk.frameworks) Cocoa CoreMedia;
-  };
   ffmpeg_4 = callPackage ../development/libraries/ffmpeg/4.nix {
     inherit (darwin.apple_sdk.frameworks) Cocoa CoreMedia VideoToolbox;
   };
@@ -16741,7 +16756,6 @@ with pkgs;
   };
 
   # Aliases
-  ffmpeg_3 = ffmpeg_3_4;
   # Please make sure this is updated to the latest version on the next major
   # update to ffmpeg
   # Packages which use ffmpeg as a library, should pin to the relevant major
@@ -16766,8 +16780,6 @@ with pkgs;
 
   ffmpegthumbnailer = callPackage ../development/libraries/ffmpegthumbnailer { };
 
-  ffmpeg-sixel = callPackage ../development/libraries/ffmpeg-sixel { };
-
   ffmpeg-normalize = python3Packages.callPackage ../applications/video/ffmpeg-normalize { };
 
   ffms = callPackage ../development/libraries/ffms { };
@@ -17098,10 +17110,6 @@ with pkgs;
 
   glm = callPackage ../development/libraries/glm { };
 
-  globalplatform = callPackage ../development/libraries/globalplatform { };
-  gppcscconnectionplugin =
-    callPackage ../development/libraries/globalplatform/gppcscconnectionplugin.nix { };
-
   glog = callPackage ../development/libraries/glog { };
 
   gloox = callPackage ../development/libraries/gloox { };
@@ -17124,7 +17132,7 @@ with pkgs;
   gmp5 = callPackage ../development/libraries/gmp/5.1.x.nix { };
   gmp6 = callPackage ../development/libraries/gmp/6.x.nix { };
   gmp = gmp6;
-  gmpxx = appendToName "with-cxx" (gmp.override { cxx = true; });
+  gmpxx = gmp.override { cxx = true; };
 
   #GMP ex-satellite, so better keep it near gmp
   mpfr = callPackage ../development/libraries/mpfr { };
@@ -17210,10 +17218,6 @@ with pkgs;
     autoconf = buildPackages.autoconf269;
   };
 
-  gnutls-kdh = callPackage ../development/libraries/gnutls-kdh/3.5.nix {
-    gperf = gperf_3_0;
-  };
-
   gpac = callPackage ../applications/video/gpac { };
 
   gpgme = callPackage ../development/libraries/gpgme { };
@@ -17224,8 +17228,6 @@ with pkgs;
 
   pgweb = callPackage ../development/tools/database/pgweb { };
 
-  gpshell = callPackage ../development/tools/misc/gpshell { };
-
   grantlee = callPackage ../development/libraries/grantlee { };
 
   gsasl = callPackage ../development/libraries/gsasl { };
@@ -17244,8 +17246,6 @@ with pkgs;
 
   gtkimageview = callPackage ../development/libraries/gtkimageview { };
 
-  gtkmathview = callPackage ../development/libraries/gtkmathview { };
-
   glib = callPackage ../development/libraries/glib (let
     glib-untested = glib.override { doCheck = false; };
   in {
@@ -17308,8 +17308,6 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) ApplicationServices;
   };
 
-  gdata-sharp = callPackage ../development/libraries/gdata-sharp { };
-
   gdk-pixbuf = callPackage ../development/libraries/gdk-pixbuf { };
 
   gdk-pixbuf-xlib = callPackage ../development/libraries/gdk-pixbuf/xlib.nix { };
@@ -17559,8 +17557,6 @@ with pkgs;
 
   ilbc = callPackage ../development/libraries/ilbc { };
 
-  ilixi = callPackage ../development/libraries/ilixi { };
-
   ilmbase = callPackage ../development/libraries/ilmbase { };
 
   imgui = callPackage ../development/libraries/imgui { };
@@ -18142,6 +18138,7 @@ with pkgs;
   libgnome-keyring3 = gnome.libgnome-keyring;
 
   libgnome-games-support = callPackage ../development/libraries/libgnome-games-support { };
+  libgnome-games-support_2_0 = callPackage ../development/libraries/libgnome-games-support/2.0.nix { };
 
   libgnomekbd = callPackage ../development/libraries/libgnomekbd { };
 
@@ -18733,7 +18730,9 @@ with pkgs;
 
   libpulsar = callPackage ../development/libraries/libpulsar { };
 
-  libpwquality = callPackage ../development/libraries/libpwquality { };
+  libpwquality = callPackage ../development/libraries/libpwquality {
+    python = python3;
+  };
 
   libqalculate = callPackage ../development/libraries/libqalculate {
     readline = readline81;
@@ -18920,7 +18919,7 @@ with pkgs;
 
   libusb1 = callPackage ../development/libraries/libusb1 {
     inherit (darwin) libobjc;
-    inherit (darwin.apple_sdk.frameworks) IOKit;
+    inherit (darwin.apple_sdk.frameworks) IOKit Security;
     # TODO: remove once `udev` is `systemdMinimal` everywhere.
     udev = systemdMinimal;
   };
@@ -18952,7 +18951,7 @@ with pkgs;
   libva-minimal = libva.override { minimal = true; };
   libva-utils = callPackage ../development/libraries/libva/utils.nix { };
 
-  libva1 = callPackage ../development/libraries/libva/1.0.0.nix { };
+  libva1 = callPackage ../development/libraries/libva/1.nix { };
   libva1-minimal = libva1.override { minimal = true; };
 
   libvarlink = callPackage ../development/libraries/libvarlink { };
@@ -19229,6 +19228,10 @@ with pkgs;
 
   microsoft_gsl = callPackage ../development/libraries/microsoft_gsl { };
 
+  microsoft-edge = callPackage (import ../applications/networking/browsers/microsoft-edge).stable { };
+  microsoft-edge-beta = callPackage (import ../applications/networking/browsers/microsoft-edge).beta { };
+  microsoft-edge-dev = callPackage (import ../applications/networking/browsers/microsoft-edge).dev { };
+
   micronucleus = callPackage ../development/tools/misc/micronucleus { };
 
   markdown-anki-decks = callPackage ../tools/misc/markdown-anki-decks { };
@@ -19448,7 +19451,7 @@ with pkgs;
 
   nvidia-texture-tools = callPackage ../development/libraries/nvidia-texture-tools { };
 
-  nvidia-vaapi-driver = callPackage ../development/libraries/nvidia-vaapi-driver { };
+  nvidia-vaapi-driver = lib.hiPrio (callPackage ../development/libraries/nvidia-vaapi-driver { });
 
   nvidia-video-sdk = callPackage ../development/libraries/nvidia-video-sdk { };
 
@@ -19590,12 +19593,9 @@ with pkgs;
   openssl = openssl_1_1;
 
   inherit (callPackages ../development/libraries/openssl { })
-    openssl_1_0_2
     openssl_1_1
     openssl_3_0;
 
-  openssl-chacha = callPackage ../development/libraries/openssl/chacha.nix { };
-
   opensubdiv = callPackage ../development/libraries/opensubdiv { };
 
   opensupaplex = callPackage ../games/opensupaplex { };
@@ -19615,6 +19615,8 @@ with pkgs;
 
   optparse-bash = callPackage ../development/libraries/optparse-bash { };
 
+  oras = callPackage ../development/tools/oras { };
+
   orcania = callPackage ../development/libraries/orcania { };
 
   osm-gps-map = callPackage ../development/libraries/osm-gps-map { };
@@ -19902,14 +19904,10 @@ with pkgs;
 
   qv2ray = libsForQt5.callPackage ../applications/networking/qv2ray {};
 
-  qwt = callPackage ../development/libraries/qwt {};
-
   qwt6_qt4 = callPackage ../development/libraries/qwt/6_qt4.nix {
     inherit (darwin.apple_sdk.frameworks) AGL;
   };
 
-  qxt = callPackage ../development/libraries/qxt {};
-
   rabbitmq-c = callPackage ../development/libraries/rabbitmq-c {};
 
   raft-canonical = callPackage ../development/libraries/raft-canonical { };
@@ -20094,6 +20092,10 @@ with pkgs;
 
   SDL2_gfx = callPackage ../development/libraries/SDL2_gfx { };
 
+  SDL2_sound = callPackage ../development/libraries/SDL2_sound {
+    inherit (darwin.apple_sdk.frameworks) AudioToolbox CoreAudio;
+  };
+
   SDL2_ttf = callPackage ../development/libraries/SDL2_ttf { };
 
   SDL2_ttf_2_0_15 = callPackage ../development/libraries/SDL2_ttf/2.0.15.nix { };
@@ -20557,18 +20559,10 @@ with pkgs;
 
   utmps = skawarePackages.utmps;
 
-  ucommon = ucommon_openssl;
-
-  ucommon_openssl = callPackage ../development/libraries/ucommon {
-    gnutls = null;
-    openssl = openssl_1_0_2;
-  };
-
-  ucommon_gnutls = lowPrio (ucommon.override {
+  ucommon = callPackage ../development/libraries/ucommon {
     openssl = null;
     zlib = null;
-    gnutls = gnutls;
-  });
+  };
 
   v8 = callPackage ../development/libraries/v8 { };
 
@@ -20614,7 +20608,10 @@ with pkgs;
 
   vsqlite = callPackage ../development/libraries/vsqlite { };
 
-  vte = callPackage ../development/libraries/vte { };
+  vte = callPackage ../development/libraries/vte {
+    # Needs GCC ≥10 but aarch64 defaults to GCC 9.
+    stdenv = clangStdenv;
+  };
 
   vte_290 = callPackage ../development/libraries/vte/2.90.nix { };
 
@@ -20727,7 +20724,10 @@ with pkgs;
   wxGTK30-gtk2 = wxGTK30.override { withGtk2 = true; };
   wxGTK30-gtk3 = wxGTK30.override { withGtk2 = false; };
 
-  wxmac = callPackage ../development/libraries/wxwidgets/wxmac30.nix { };
+  wxmac = callPackage ../development/libraries/wxwidgets/wxmac30.nix {
+    inherit (darwin.stubs) derez rez setfile;
+    inherit (darwin.apple_sdk.frameworks) AGL Cocoa Kernel WebKit;
+  };
 
   wxGTK31 = callPackage ../development/libraries/wxwidgets/wxGTK31.nix {
     inherit (darwin.stubs) setfile;
@@ -20939,6 +20939,8 @@ with pkgs;
 
   jdom = callPackage ../development/libraries/java/jdom { };
 
+  jffi = callPackage ../development/libraries/java/jffi { };
+
   jflex = callPackage ../development/libraries/java/jflex { };
 
   lombok = callPackage ../development/libraries/java/lombok { };
@@ -20951,7 +20953,10 @@ with pkgs;
 
   saxonb = saxonb_8_8;
 
-  inherit (callPackages ../development/libraries/java/saxon { })
+  inherit (callPackages ../development/libraries/java/saxon {
+    jre = jre_headless;
+    jre8 = jre8_headless;
+  })
     saxon
     saxonb_8_8
     saxonb_9_1
@@ -21170,6 +21175,7 @@ with pkgs;
 
   archiveopteryx = callPackage ../servers/mail/archiveopteryx { };
 
+  atlassian-bamboo = callPackage ../servers/atlassian/bamboo.nix { };
   atlassian-confluence = callPackage ../servers/atlassian/confluence.nix { };
   atlassian-crowd = callPackage ../servers/atlassian/crowd.nix { };
   atlassian-jira = callPackage ../servers/atlassian/jira.nix { };
@@ -21227,9 +21233,10 @@ with pkgs;
   clamsmtp = callPackage ../servers/mail/clamsmtp { };
 
   clickhouse = callPackage ../servers/clickhouse {
-    # upstream requires llvm10 as of v20.11.4.13
-    inherit (llvmPackages_10) clang-unwrapped lld llvm;
-    llvm-bintools = llvmPackages_10.bintools;
+    # upstream requires llvm12 as of v22.3.2.2
+    inherit (llvmPackages_12) clang-unwrapped lld llvm;
+    llvm-bintools = llvmPackages_12.bintools;
+    stdenv = llvmPackages_12.stdenv;
   };
 
   clickhouse-cli = with python3Packages; toPythonApplication clickhouse-cli;
@@ -21391,8 +21398,6 @@ with pkgs;
 
   hasura-cli = callPackage ../servers/hasura/cli.nix { };
 
-  heapster = callPackage ../servers/monitoring/heapster { };
-
   hbase = callPackage ../servers/hbase {};
 
   headphones = callPackage ../servers/headphones {};
@@ -21434,6 +21439,8 @@ with pkgs;
 
   imgproxy = callPackage ../servers/imgproxy { };
 
+  irccat = callPackage ../servers/irc/irccat { };
+
   ircdog = callPackage ../applications/networking/irc/ircdog { };
 
   ircdHybrid = callPackage ../servers/irc/ircd-hybrid { };
@@ -21560,14 +21567,15 @@ with pkgs;
 
   morty = callPackage ../servers/web-apps/morty { };
 
+  inherit (callPackage ../applications/networking/mullvad { })
+    mullvad;
+
   mullvad-vpn = callPackage ../applications/networking/mullvad-vpn { };
 
   mycorrhiza = callPackage ../servers/mycorrhiza {
     buildGoModule = buildGo116Module;
   };
 
-  myserver = callPackage ../servers/http/myserver { };
-
   napalm = with python3Packages; toPythonApplication (
     napalm.overridePythonAttrs (attrs: {
       # add community frontends that depend on the napalm python package
@@ -21661,8 +21669,6 @@ with pkgs;
   opensmtpd-extras = callPackage ../servers/mail/opensmtpd/extras.nix { };
   opensmtpd-filter-rspamd = callPackage ../servers/mail/opensmtpd/filter-rspamd.nix { };
 
-  openxpki = callPackage ../servers/openxpki { };
-
   openxr-loader = callPackage ../development/libraries/openxr-loader { };
 
   osrm-backend = callPackage ../servers/osrm-backend { };
@@ -21913,8 +21919,6 @@ with pkgs;
 
   oidentd = callPackage ../servers/identd/oidentd { };
 
-  openfire = callPackage ../servers/xmpp/openfire { };
-
   softether = callPackage ../servers/softether { };
 
   qboot = pkgsi686Linux.callPackage ../applications/virtualization/qboot { };
@@ -21996,7 +22000,6 @@ with pkgs;
   prometheus-knot-exporter = callPackage ../servers/monitoring/prometheus/knot-exporter.nix { };
   prometheus-lnd-exporter = callPackage ../servers/monitoring/prometheus/lnd-exporter.nix { };
   prometheus-mail-exporter = callPackage ../servers/monitoring/prometheus/mail-exporter.nix { };
-  prometheus-mesos-exporter = callPackage ../servers/monitoring/prometheus/mesos-exporter.nix { };
   prometheus-mikrotik-exporter = callPackage ../servers/monitoring/prometheus/mikrotik-exporter.nix { };
   prometheus-minio-exporter = callPackage ../servers/monitoring/prometheus/minio-exporter { };
   prometheus-modemmanager-exporter = callPackage ../servers/monitoring/prometheus/modemmanager-exporter.nix { };
@@ -22004,7 +22007,9 @@ with pkgs;
   prometheus-nextcloud-exporter = callPackage ../servers/monitoring/prometheus/nextcloud-exporter.nix { };
   prometheus-nginx-exporter = callPackage ../servers/monitoring/prometheus/nginx-exporter.nix { };
   prometheus-nginxlog-exporter = callPackage ../servers/monitoring/prometheus/nginxlog-exporter.nix { };
-  prometheus-node-exporter = callPackage ../servers/monitoring/prometheus/node-exporter.nix { };
+  prometheus-node-exporter = callPackage ../servers/monitoring/prometheus/node-exporter.nix {
+    inherit (darwin.apple_sdk.frameworks) CoreFoundation IOKit;
+  };
   prometheus-openldap-exporter = callPackage ../servers/monitoring/prometheus/openldap-exporter.nix { };
   prometheus-openvpn-exporter = callPackage ../servers/monitoring/prometheus/openvpn-exporter.nix { };
   prometheus-pihole-exporter = callPackage ../servers/monitoring/prometheus/pihole-exporter.nix {  };
@@ -22923,12 +22928,15 @@ with pkgs;
   lvm2-2_02 = callPackage ../os-specific/linux/lvm2/2_02.nix {
     udev = systemdMinimal;
   };
-  lvm2 = if stdenv.targetPlatform.isMusl then lvm2-2_02 else lvm2-2_03;
+  lvm2 = if stdenv.hostPlatform.isMusl then lvm2-2_02 else lvm2-2_03;
 
   lvm2_dmeventd = lvm2.override {
     enableDmeventd = true;
     enableCmdlib = true;
   };
+  lvm2_vdo = lvm2_dmeventd.override {
+    enableVDO = true;
+  };
 
   maddy = callPackage ../servers/maddy { };
 
@@ -23061,7 +23069,9 @@ with pkgs;
 
   gotest = callPackage ../development/tools/gotest { };
 
-  gotools = callPackage ../development/tools/gotools { };
+  gotools = callPackage ../development/tools/gotools {
+    buildGoModule = buildGo118Module;
+  };
 
   gotop = callPackage ../tools/system/gotop { };
 
@@ -23167,9 +23177,7 @@ with pkgs;
 
   semodule-utils = callPackage ../os-specific/linux/semodule-utils { };
 
-  powerdns = callPackage ../servers/dns/powerdns {
-    boost = boost172;
-  };
+  pdns = callPackage ../servers/dns/pdns { };
 
   powerdns-admin = callPackage ../applications/networking/powerdns-admin { };
 
@@ -23222,6 +23230,8 @@ with pkgs;
 
   raspberrypi-armstubs = callPackage ../os-specific/linux/firmware/raspberrypi/armstubs.nix {};
 
+  reap = callPackage ../os-specific/linux/reap { };
+
   regionset = callPackage ../os-specific/linux/regionset { };
 
   rfkill_udev = callPackage ../os-specific/linux/rfkill/udev.nix { };
@@ -23359,11 +23369,16 @@ with pkgs;
     withTimesyncd = false;
     withTpm2Tss = false;
     withUserDb = false;
-    glib = null;
-    libgcrypt = null;
-    lvm2 = null;
-    libfido2 = null;
-    p11-kit = null;
+  };
+  systemdStage1 = systemdMinimal.override {
+    pname = "systemd-stage-1";
+    withCryptsetup = true;
+    withFido2 = true;
+    withTpm2Tss = true;
+  };
+  systemdStage1Network = systemdStage1.override {
+    pname = "systemd-stage-1-network";
+    withNetworkd = true;
   };
 
 
@@ -23491,11 +23506,11 @@ with pkgs;
 
   util-linuxCurses = util-linux;
 
-  util-linuxMinimal = if stdenv.isLinux then appendToName "minimal" (util-linux.override {
+  util-linuxMinimal = if stdenv.isLinux then util-linux.override {
     nlsSupport = false;
     ncurses = null;
     systemd = null;
-  }) else util-linux;
+  } else util-linux;
 
   v4l-utils = qt5.callPackage ../os-specific/linux/v4l-utils { };
 
@@ -23503,6 +23518,8 @@ with pkgs;
 
   vndr = callPackage ../development/tools/vndr { };
 
+  vdo = callPackage ../os-specific/linux/vdo { };
+
   windows = callPackages ../os-specific/windows {};
 
   wirelesstools = callPackage ../os-specific/linux/wireless-tools { };
@@ -23644,6 +23661,8 @@ with pkgs;
 
   chonburi-font = callPackage ../data/fonts/chonburi { };
 
+  cldr-annotations = callPackage ../data/misc/cldr-annotations { };
+
   cldr-emoji-annotation = callPackage ../data/misc/cldr-emoji-annotation { };
 
   clearlooks-phenix = callPackage ../data/themes/clearlooks-phenix { };
@@ -24002,7 +24021,9 @@ with pkgs;
 
   lmodern = callPackage ../data/fonts/lmodern { };
 
-  logitech-udev-rules = callPackage ../os-specific/linux/logitech-udev-rules {};
+  logiops = callPackage ../misc/drivers/logiops { };
+
+  logitech-udev-rules = callPackage ../os-specific/linux/logitech-udev-rules { };
 
   # lohit-fonts.assamese lohit-fonts.bengali lohit-fonts.devanagari lohit-fonts.gujarati lohit-fonts.gurmukhi
   # lohit-fonts.kannada lohit-fonts.malayalam lohit-fonts.marathi lohit-fonts.nepali lohit-fonts.odia
@@ -24086,7 +24107,7 @@ with pkgs;
 
   mph_2b_damase = callPackage ../data/fonts/mph-2b-damase { };
 
-  mplus-outline-fonts = callPackage ../data/fonts/mplus-outline-fonts { };
+  mplus-outline-fonts = recurseIntoAttrs (callPackage ../data/fonts/mplus-outline-fonts { });
 
   mro-unicode = callPackage ../data/fonts/mro-unicode { };
 
@@ -24255,6 +24276,8 @@ with pkgs;
 
   rime-data = callPackage ../data/misc/rime-data { };
 
+  roapi-http = callPackage ../servers/roapi/http.nix { };
+
   rose-pine-gtk-theme = callPackage ../data/themes/rose-pine-gtk { };
 
   route159 = callPackage ../data/fonts/route159 { };
@@ -24305,6 +24328,8 @@ with pkgs;
 
   soundfont-fluid = callPackage ../data/soundfonts/fluid { };
 
+  soundfont-generaluser = callPackage ../data/soundfonts/generaluser { };
+
   soundfont-ydp-grand = callPackage ../data/soundfonts/ydp-grand { };
 
   spdx-license-list-data = callPackage ../data/misc/spdx-license-list-data { };
@@ -24328,14 +24353,10 @@ with pkgs;
 
   poppler_data = callPackage ../data/misc/poppler-data { };
 
-  qmc2 = libsForQt514.callPackage ../applications/emulators/qmc2 { };
-
   quattrocento = callPackage ../data/fonts/quattrocento {};
 
   quattrocento-sans = callPackage ../data/fonts/quattrocento-sans {};
 
-  r3rs = callPackage ../data/documentation/rnrs/r3rs.nix { };
-
   r4rs = callPackage ../data/documentation/rnrs/r4rs.nix { };
 
   r5rs = callPackage ../data/documentation/rnrs/r5rs.nix { };
@@ -24358,8 +24379,6 @@ with pkgs;
 
   hasklig = callPackage ../data/fonts/hasklig {};
 
-  interfacer = callPackage ../development/tools/interfacer { };
-
   maligned = callPackage ../development/tools/maligned { };
 
   inter = callPackage ../data/fonts/inter { };
@@ -24703,6 +24722,8 @@ with pkgs;
 
   argocd = callPackage ../applications/networking/cluster/argocd { };
 
+  argocd-autopilot = callPackage ../applications/networking/cluster/argocd-autopilot { };
+
   argo-rollouts = callPackage ../applications/networking/cluster/argo-rollouts { };
 
   ario = callPackage ../applications/audio/ario { };
@@ -24735,7 +24756,7 @@ with pkgs;
   assign-lb-ip = callPackage ../applications/networking/cluster/assign-lb-ip { };
 
   astroid = callPackage ../applications/networking/mailreaders/astroid {
-    vim = vim_configurable.override { features = "normal"; gui = "auto"; };
+    vim = vim_configurable.override { features = "normal"; };
   };
 
   aucatctl = callPackage ../applications/audio/aucatctl { };
@@ -24873,10 +24894,6 @@ with pkgs;
     glew = glew110;
   };
 
-  bitkeeper = callPackage ../applications/version-management/bitkeeper {
-    gperf = gperf_3_0;
-  };
-
   bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee { };
   bitlbee-plugins = callPackage ../applications/networking/instant-messengers/bitlbee/plugins.nix { };
 
@@ -25096,8 +25113,6 @@ with pkgs;
     inherit (xorg) libSM;
   };
 
-  clfswm = callPackage ../applications/window-managers/clfswm { };
-
   clickshare-csc1 = callPackage ../applications/video/clickshare-csc1 { };
 
   cligh = python3Packages.callPackage ../development/tools/github/cligh {};
@@ -25690,6 +25705,8 @@ with pkgs;
 
   fmsynth = callPackage ../applications/audio/fmsynth { };
 
+  fnc = callPackage ../applications/version-management/fnc { };
+
   focuswriter = libsForQt5.callPackage ../applications/editors/focuswriter { };
 
   foliate = callPackage ../applications/office/foliate { };
@@ -25700,8 +25717,6 @@ with pkgs;
 
   fontpreview = callPackage ../applications/misc/fontpreview { };
 
-  foo-yc20 = callPackage ../applications/audio/foo-yc20 { };
-
   fossil = callPackage ../applications/version-management/fossil {
     sqlite = sqlite.override { enableDeserialize = true; };
   };
@@ -25924,8 +25939,6 @@ with pkgs;
 
   gjay = callPackage ../applications/audio/gjay { };
 
-  photivo = callPackage ../applications/graphics/photivo { };
-
   rhythmbox = callPackage ../applications/audio/rhythmbox { };
 
   gradio = callPackage ../applications/audio/gradio { };
@@ -26177,9 +26190,7 @@ with pkgs;
   };
 
   # Git with SVN support, but without GUI.
-  gitSVN = lowPrio (appendToName "with-svn" (git.override {
-    svnSupport = true;
-  }));
+  gitSVN = lowPrio (git.override { svnSupport = true; });
 
   git-doc = lib.addMetaAttrs {
     description = "Additional documentation for Git";
@@ -26189,11 +26200,11 @@ with pkgs;
     '';
   } gitFull.doc;
 
-  gitMinimal = appendToName "minimal" (git.override {
+  gitMinimal = git.override {
     withManual = false;
     pythonSupport = false;
     withpcre2 = false;
-  });
+  };
 
   gitRepo = callPackage ../applications/version-management/git-repo { };
 
@@ -26201,6 +26212,8 @@ with pkgs;
 
   git-review = python3Packages.callPackage ../applications/version-management/git-review { };
 
+  git-team = callPackage ../applications/version-management/git-and-tools/git-team { };
+
   github-cli = gh;
 
   gitolite = callPackage ../applications/version-management/gitolite { };
@@ -27109,6 +27122,8 @@ with pkgs;
 
   kubemqctl = callPackage ../applications/networking/cluster/kubemqctl { };
 
+  kubent = callPackage ../applications/networking/cluster/kubent { };
+
   kubeseal = callPackage ../applications/networking/cluster/kubeseal { };
 
   kubernix = callPackage ../applications/networking/cluster/kubernix { };
@@ -27127,8 +27142,6 @@ with pkgs;
 
   kubectl-tree = callPackage ../applications/networking/cluster/kubectl-tree { };
 
-  kubeless = callPackage ../applications/networking/cluster/kubeless { };
-
   kubelogin = callPackage ../applications/networking/cluster/kubelogin { };
 
   kubelogin-oidc = callPackage ../applications/networking/cluster/kubelogin-oidc { };
@@ -27403,7 +27416,6 @@ with pkgs;
   luppp = callPackage ../applications/audio/luppp { };
 
   lutris-unwrapped = python3.pkgs.callPackage ../applications/misc/lutris {
-    inherit (gnome) gnome-desktop;
     wine = wineWowPackages.staging;
   };
   lutris = callPackage ../applications/misc/lutris/fhsenv.nix {
@@ -27901,6 +27913,8 @@ with pkgs;
 
   ocenaudio = callPackage ../applications/audio/ocenaudio { };
 
+  ocm = callPackage ../applications/networking/cluster/ocm { };
+
   odo = callPackage ../applications/networking/cluster/odo { };
 
   onlyoffice-bin = callPackage ../applications/office/onlyoffice-bin { };
@@ -27927,8 +27941,6 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) IOKit;
   };
 
-  pbis-open = callPackage ../tools/security/pbis { };
-
   pcmanfm = callPackage ../applications/misc/pcmanfm { };
 
   pcmanfm-qt = lxqt.pcmanfm-qt;
@@ -27958,6 +27970,8 @@ with pkgs;
 
   pleroma-bot = python3Packages.callPackage ../development/python-modules/pleroma-bot { };
 
+  pluto = callPackage ../applications/networking/cluster/pluto { };
+
   polybar = callPackage ../applications/misc/polybar { };
 
   polybarFull = callPackage ../applications/misc/polybar {
@@ -28148,8 +28162,6 @@ with pkgs;
 
   notepadqq = libsForQt514.callPackage ../applications/editors/notepadqq { };
 
-  notbit = callPackage ../applications/networking/mailreaders/notbit { };
-
   notmuch = callPackage ../applications/networking/mailreaders/notmuch {
     gmime = gmime3;
     pythonPackages = python3Packages;
@@ -28268,6 +28280,8 @@ with pkgs;
 
   orca-c = callPackage ../applications/audio/orca-c {};
 
+  organicmaps = libsForQt5.callPackage ../applications/misc/organicmaps { };
+
   osm2xmap = callPackage ../applications/misc/osm2xmap {
     libyamlcpp = libyamlcpp_0_3;
   };
@@ -29223,8 +29237,6 @@ with pkgs;
     python = python3;
   };
 
-  sslyze = with python3Packages; toPythonApplication sslyze;
-
   ssr = callPackage ../applications/audio/soundscape-renderer {
     autoreconfHook = buildPackages.autoreconfHook269;
   };
@@ -29342,8 +29354,10 @@ with pkgs;
     # customConfig = builtins.readFile ./tabbed.config.h;
   };
 
-  taffybar = callPackage ../applications/window-managers/taffybar {
-    inherit (haskellPackages) ghcWithPackages taffybar;
+  # Use GHC 9.0 when this asserts starts to fire
+  taffybar = assert haskellPackages.taffybar.version == "3.3.0";
+  callPackage ../applications/window-managers/taffybar {
+    inherit (haskell.packages.ghc8107) ghcWithPackages taffybar;
   };
 
   tagainijisho = callPackage ../applications/office/tagainijisho {};
@@ -29554,6 +29568,8 @@ with pkgs;
 
   tonelib-zoom = callPackage ../applications/audio/tonelib-zoom { };
 
+  tonelib-metal = callPackage ../applications/audio/tonelib-metal { };
+
   tony = libsForQt514.callPackage ../applications/audio/tony { };
 
   toot = callPackage ../applications/misc/toot { };
@@ -29667,6 +29683,10 @@ with pkgs;
 
   unigine-valley = callPackage ../applications/graphics/unigine-valley { };
 
+  unigine-heaven = callPackage ../applications/graphics/unigine-heaven { };
+
+  unigine-superposition = libsForQt5.callPackage ../applications/graphics/unigine-superposition { };
+
   unipicker = callPackage ../applications/misc/unipicker { };
 
   unison = callPackage ../applications/networking/sync/unison {
@@ -29717,9 +29737,9 @@ with pkgs;
 
   veusz = libsForQt5.callPackage ../applications/graphics/veusz { };
 
-  vim = callPackage ../applications/editors/vim {
+  vim = vimUtils.makeCustomizable (callPackage ../applications/editors/vim {
     inherit (darwin.apple_sdk.frameworks) Carbon Cocoa;
-  };
+  });
 
   vimiv = callPackage ../applications/graphics/vimiv { };
 
@@ -29732,8 +29752,6 @@ with pkgs;
   vim_configurable = vimUtils.makeCustomizable (callPackage ../applications/editors/vim/configurable.nix {
     inherit (darwin.apple_sdk.frameworks) CoreServices Cocoa Foundation CoreData;
     inherit (darwin) libobjc;
-    gtk2 = if stdenv.isDarwin then gtk2-x11 else gtk2;
-    gtk3 = if stdenv.isDarwin then gtk3-x11 else gtk3;
   });
 
   vim-darwin = (vim_configurable.override {
@@ -30057,6 +30075,8 @@ with pkgs;
 
   wlc = callPackage  ../tools/misc/wlc { };
 
+  wlclock = callPackage ../applications/misc/wlclock { };
+
   wllvm = callPackage  ../development/tools/wllvm { };
 
   wmname = callPackage ../applications/misc/wmname { };
@@ -30449,10 +30469,6 @@ with pkgs;
 
   zeroc-ice-cpp11 = zeroc-ice.override { cpp11 = true; };
 
-  zeroc-ice-36 = callPackage ../development/libraries/zeroc-ice/3.6.nix {
-    inherit (darwin.apple_sdk.frameworks) Security;
-  };
-
   zeronet = callPackage ../applications/networking/p2p/zeronet { };
 
   zexy = callPackage ../applications/audio/pd-plugins/zexy {
@@ -30760,7 +30776,9 @@ with pkgs;
 
   openethereum = callPackage ../applications/blockchains/openethereum { };
 
-  polkadot = callPackage ../applications/blockchains/polkadot { };
+  polkadot = callPackage ../applications/blockchains/polkadot {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   particl-core = callPackage ../applications/blockchains/particl-core { miniupnpc = miniupnpc_2; };
 
@@ -30985,6 +31003,8 @@ with pkgs;
 
   btanks = callPackage ../games/btanks { };
 
+  bugdom = callPackage ../games/bugdom { };
+
   bzflag = callPackage ../games/bzflag {
     inherit (darwin.apple_sdk.frameworks) Carbon CoreServices;
   };
@@ -31604,7 +31624,9 @@ with pkgs;
 
   rrootage = callPackage ../games/rrootage { };
 
-  space-cadet-pinball = callPackage ../games/space-cadet-pinball { };
+  space-cadet-pinball = callPackage ../games/space-cadet-pinball {
+    inherit (darwin.apple_sdk.frameworks) Cocoa;
+  };
 
   starsector = callPackage ../games/starsector {
     openjdk = openjdk8;
@@ -32201,6 +32223,8 @@ with pkgs;
 
   febio-studio = libsForQt5.callPackage ../applications/science/biology/febio-studio { };
 
+  flywheel-cli = callPackage ../applications/science/biology/flywheel-cli { };
+
   hisat2 = callPackage ../applications/science/biology/hisat2 { };
 
   htslib = callPackage ../development/libraries/science/biology/htslib { };
@@ -32265,8 +32289,6 @@ with pkgs;
 
   mosdepth = callPackage ../applications/science/biology/mosdepth { };
 
-  ncbi_tools = callPackage ../applications/science/biology/ncbi-tools { };
-
   niftyreg = callPackage ../applications/science/biology/niftyreg { };
 
   niftyseg = callPackage ../applications/science/biology/niftyseg { };
@@ -32698,17 +32720,15 @@ with pkgs;
     java = openjdk17;
     z3 = z3_4_4_0;
   };
+  isabelle-components = recurseIntoAttrs (callPackage ../applications/science/logic/isabelle/components { });
 
   iprover = callPackage ../applications/science/logic/iprover { };
 
-  jonprl = callPackage ../applications/science/logic/jonprl { };
-
   key = callPackage ../applications/science/logic/key { };
 
   keymapviz = callPackage ../tools/misc/keymapviz { };
 
   lean = callPackage ../applications/science/logic/lean {};
-  lean2 = callPackage ../applications/science/logic/lean2 {};
   lean3 = lean;
   elan = callPackage ../applications/science/logic/elan {};
   mathlibtools = with python3Packages; toPythonApplication mathlibtools;
@@ -32738,8 +32758,6 @@ with pkgs;
 
   ott = callPackage ../applications/science/logic/ott { };
 
-  otter = callPackage ../applications/science/logic/otter {};
-
   picosat = callPackage ../applications/science/logic/picosat {};
 
   libpoly = callPackage ../applications/science/logic/poly {};
@@ -32823,13 +32841,6 @@ with pkgs;
 
   appcsxcad = libsForQt5.callPackage ../applications/science/electronics/appcsxcad { };
 
-  # Since version 8 Eagle requires an Autodesk account and a subscription
-  # in contrast to single payment for the charged editions.
-  # This is the last version with the old model.
-  eagle7 = callPackage ../applications/science/electronics/eagle/eagle7.nix {
-    openssl = openssl_1_0_2;
-  };
-
   eagle = libsForQt5.callPackage ../applications/science/electronics/eagle/eagle.nix { };
 
   caneda = libsForQt5.callPackage ../applications/science/electronics/caneda { };
@@ -32901,11 +32912,16 @@ with pkgs;
   ### SCIENCE / MATH
 
   caffe = callPackage ../applications/science/math/caffe ({
+    cudaSupport = config.cudaSupport or false;
+    cudatoolkit = cudatoolkit_10_1;
+    cudnn = cudnn_7_6_cudatoolkit_10_1;
     opencv3 = opencv3WithoutCuda; # Used only for image loading.
     blas = openblas;
     inherit (darwin.apple_sdk.frameworks) Accelerate CoreGraphics CoreVideo;
   } // (config.caffe or {}));
 
+  caffeWithCuda = caffe.override { cudaSupport = true; };
+
   caffe2 = callPackage ../development/libraries/science/math/caffe2 (rec {
     inherit (python3Packages) python future six numpy pydot;
     protobuf = protobuf3_1;
@@ -33065,7 +33081,7 @@ with pkgs;
 
   spyre = callPackage ../tools/security/spyre { };
 
-  openspace = callPackage ../applications/science/astronomy/openspace { };
+  sq = callPackage ../development/tools/sq { };
 
   stellarium = libsForQt5.callPackage ../applications/science/astronomy/stellarium { };
 
@@ -33302,6 +33318,8 @@ with pkgs;
 
   dosbox-staging = callPackage ../applications/emulators/dosbox-staging { };
 
+  eiciel = callPackage ../tools/filesystems/eiciel { };
+
   emu2 = callPackage ../applications/emulators/emu2 { };
 
   apt = callPackage ../tools/package-management/apt { };
@@ -33326,8 +33344,6 @@ with pkgs;
 
   glee = callPackage ../tools/graphics/glee { };
 
-  fakenes = callPackage ../applications/emulators/fakenes { };
-
   faust = res.faust2;
 
   faust1 = callPackage ../applications/audio/faust/faust1.nix { };
@@ -33389,10 +33405,10 @@ with pkgs;
 
   ghostscript = callPackage ../misc/ghostscript { };
 
-  ghostscriptX = appendToName "with-X" (ghostscript.override {
+  ghostscriptX = ghostscript.override {
     cupsSupport = true;
     x11Support = true;
-  });
+  };
 
   glava = callPackage ../applications/misc/glava {};
 
@@ -33411,6 +33427,8 @@ with pkgs;
 
   gummi = callPackage ../applications/misc/gummi { };
 
+  gummy = callPackage ../tools/misc/gummy { };
+
   gxemul = callPackage ../applications/emulators/gxemul { };
 
   hatari = callPackage ../applications/emulators/hatari { };
@@ -33486,6 +33504,8 @@ with pkgs;
 
   libjack2 = jack2.override { prefix = "lib"; };
 
+  jacktrip = libsForQt5.callPackage ../applications/audio/jacktrip { };
+
   j2cli = with python3Packages; toPythonApplication j2cli;
 
   jquake = callPackage ../applications/misc/jquake { };
@@ -33496,7 +33516,7 @@ with pkgs;
 
   keynav = callPackage ../tools/X11/keynav { };
 
-  kgx = callPackage ../applications/terminal-emulators/kgx { };
+  gnome-console = callPackage ../applications/terminal-emulators/gnome-console { };
 
   kmon = callPackage ../tools/system/kmon { };
 
@@ -33510,11 +33530,11 @@ with pkgs;
   # Exceptions are versions that we need to keep to allow upgrades from older NixOS releases
   inherit (callPackage ../applications/networking/cluster/kops {})
     mkKops
-    kops_1_20
     kops_1_21
     kops_1_22
+    kops_1_23
     ;
-  kops = kops_1_22;
+  kops = kops_1_23;
 
   lguf-brightness = callPackage ../misc/lguf-brightness { };
 
@@ -33719,9 +33739,7 @@ with pkgs;
           loadedTest = if builtins.typeOf test == "path"
             then import test
             else test;
-          calledTest = if lib.isFunction loadedTest
-            then callPackage loadedTest {}
-            else loadedTest;
+          calledTest = lib.toFunction loadedTest pkgs;
         in
           nixosTesting.makeTest calledTest;
 
@@ -33900,10 +33918,6 @@ with pkgs;
 
   pgadmin4 = callPackage ../tools/admin/pgadmin { };
 
-  pgadmin3 = callPackage ../tools/admin/pgadmin/3.nix {
-    openssl = openssl_1_0_2;
-  };
-
   pgmodeler = libsForQt5.callPackage ../applications/misc/pgmodeler { };
 
   pgf = pgf2;
@@ -34625,8 +34639,6 @@ with pkgs;
 
   tomb = callPackage ../os-specific/linux/tomb {};
 
-  imatix_gsl = callPackage ../development/tools/imatix_gsl {};
-
   sccache = callPackage ../development/tools/misc/sccache {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -34865,6 +34877,8 @@ with pkgs;
 
   sentencepiece = callPackage ../development/libraries/sentencepiece {};
 
+  kaf = callPackage ../development/tools/kaf { };
+
   kcli = callPackage ../development/tools/kcli { };
 
   pxlib = callPackage ../development/libraries/pxlib {};
@@ -34916,7 +34930,9 @@ with pkgs;
 
   unifi-poller = callPackage ../servers/monitoring/unifi-poller {};
 
-  fac-build = callPackage ../development/tools/build-managers/fac {};
+  fac-build = callPackage ../development/tools/build-managers/fac {
+    inherit (darwin.apple_sdk.frameworks) CoreServices;
+  };
 
   treefmt = callPackage ../development/tools/treefmt { };
 
diff --git a/pkgs/top-level/config.nix b/pkgs/top-level/config.nix
index 7a5b4bdd17989..948eb5ef9b72c 100644
--- a/pkgs/top-level/config.nix
+++ b/pkgs/top-level/config.nix
@@ -32,6 +32,24 @@ let
       feature = "run <literal>checkPhase</literal> by default";
     };
 
+    allowAliases = mkOption {
+      type = types.bool;
+      default = true;
+      description = ''
+        Whether to expose old attribute names for compatibility.
+
+        The recommended setting is to enable this, as it
+        improves backward compatibity, easing updates.
+
+        The only reason to disable aliases is for continuous
+        integration purposes. For instance, Nixpkgs should
+        not depend on aliases in its internal code. Projects
+        that aren't Nixpkgs should be cautious of instantly
+        removing all usages of aliases, as migrating too soon
+        can break compatibility with the stable Nixpkgs releases.
+      '';
+    };
+
   };
 
 in {
diff --git a/pkgs/top-level/emscripten-packages.nix b/pkgs/top-level/emscripten-packages.nix
index bc91b9e26a4f2..d15db2b1d3882 100644
--- a/pkgs/top-level/emscripten-packages.nix
+++ b/pkgs/top-level/emscripten-packages.nix
@@ -83,8 +83,8 @@ rec {
     pname = "xmlmirror";
     version = "unstable-2016-06-05";
 
-    buildInputs = [ pkg-config autoconf automake libtool gnumake libxml2 nodejs openjdk json_c ];
-    nativeBuildInputs = [ pkg-config zlib ];
+    buildInputs = [ pkg-config libtool gnumake libxml2 nodejs openjdk json_c ];
+    nativeBuildInputs = [ pkg-config zlib autoconf automake ];
 
     src = pkgs.fetchgit {
       url = "https://gitlab.com/odfplugfest/xmlmirror.git";
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 378c2c4385bd3..d12542915c7b9 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -13,13 +13,13 @@ let
     "integer-simple"
     "native-bignum"
     "ghc902"
-    "ghc921"
+    "ghc922"
     "ghcHEAD"
   ];
 
   nativeBignumIncludes = [
     "ghc902"
-    "ghc921"
+    "ghc922"
     "ghcHEAD"
   ];
 
@@ -118,7 +118,7 @@ in {
       buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
       llvmPackages = pkgs.llvmPackages_12;
     };
-    ghc921 = callPackage ../development/compilers/ghc/9.2.1.nix {
+    ghc922 = callPackage ../development/compilers/ghc/9.2.2.nix {
       bootPkgs =
         # aarch64 ghc8107Binary exceeds max output size on hydra
         if stdenv.isAarch64 || stdenv.isAarch32 then
@@ -224,9 +224,9 @@ in {
       ghc = bh.compiler.ghc902;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.0.x.nix { };
     };
-    ghc921 = callPackage ../development/haskell-modules {
-      buildHaskellPackages = bh.packages.ghc921;
-      ghc = bh.compiler.ghc921;
+    ghc922 = callPackage ../development/haskell-modules {
+      buildHaskellPackages = bh.packages.ghc922;
+      ghc = bh.compiler.ghc922;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
     };
     ghcHEAD = callPackage ../development/haskell-modules {
diff --git a/pkgs/top-level/java-packages.nix b/pkgs/top-level/java-packages.nix
index c8d9e85fbd77b..160f51cf43c56 100644
--- a/pkgs/top-level/java-packages.nix
+++ b/pkgs/top-level/java-packages.nix
@@ -10,8 +10,10 @@ let
   openjfx15 = callPackage ../development/compilers/openjdk/openjfx/15.nix { };
   openjfx17 = callPackage ../development/compilers/openjdk/openjfx/17.nix { };
 
+  mavenfod = callPackage ../development/java-modules/maven-fod.nix { };
+
 in {
-  inherit mavenbuild fetchMaven openjfx11 openjfx15 openjfx17;
+  inherit mavenbuild mavenfod fetchMaven openjfx11 openjfx15 openjfx17;
 
   compiler = let
 
diff --git a/pkgs/top-level/kodi-packages.nix b/pkgs/top-level/kodi-packages.nix
index 6771ffe65b1d5..88d3aea46cbe3 100644
--- a/pkgs/top-level/kodi-packages.nix
+++ b/pkgs/top-level/kodi-packages.nix
@@ -153,7 +153,7 @@ let self = rec {
   trakt-module = callPackage ../applications/video/kodi/addons/trakt-module { };
 
   trakt = callPackage ../applications/video/kodi/addons/trakt { };
-}; in self // lib.optionalAttrs (config.allowAliases or true) {
+}; in self // lib.optionalAttrs config.allowAliases {
   # deprecated or renamed packages
 
   controllers = throw "kodi.packages.controllers has been replaced with kodi.packages.controller-topology-project - a package which contains a large number of controller profiles." { };
diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix
index e73b5ebda1d26..ca80ea02ffc04 100644
--- a/pkgs/top-level/linux-kernels.nix
+++ b/pkgs/top-level/linux-kernels.nix
@@ -186,7 +186,7 @@ in {
        else testing;
 
     linux_testing_bcachefs = callPackage ../os-specific/linux/kernel/linux-testing-bcachefs.nix rec {
-      kernel = linux_5_15;
+      kernel = linux_5_16;
       kernelPatches = kernel.kernelPatches;
    };
 
@@ -317,6 +317,8 @@ in {
 
     ena = callPackage ../os-specific/linux/ena {};
 
+    kvdo = callPackage ../os-specific/linux/kvdo {};
+
     liquidtux = callPackage ../os-specific/linux/liquidtux {};
 
     v4l2loopback = callPackage ../os-specific/linux/v4l2loopback { };
@@ -476,7 +478,7 @@ in {
 
     can-isotp = callPackage ../os-specific/linux/can-isotp { };
 
-  } // lib.optionalAttrs (config.allowAliases or false) {
+  } // lib.optionalAttrs config.allowAliases {
     ati_drivers_x11 = throw "ati drivers are no longer supported by any kernel >=4.1"; # added 2021-05-18;
   });
 
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index efaf06d30a22b..e8ac6445d0ebf 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -63,11 +63,7 @@ in
     inherit (pkgs) makeSetupHook makeWrapper;
   };
 
-  luarocks = callPackage ../development/tools/misc/luarocks {
-    inherit lua lib;
-  };
-
-  luarocks-3_7 = callPackage ../development/tools/misc/luarocks/3.7.nix {
+  luarocks = callPackage ../development/tools/misc/luarocks/default.nix {
     inherit lua lib;
   };
 
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index cc126dc320de2..62394a00c6d4c 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -83,8 +83,6 @@ let
     bls12-381-unix = callPackage ../development/ocaml-modules/bls12-381/unix.nix { };
     bls12-381-legacy = callPackage ../development/ocaml-modules/bls12-381/legacy.nix { };
 
-    bolt = callPackage ../development/ocaml-modules/bolt { };
-
     bos = callPackage ../development/ocaml-modules/bos { };
 
     bz2 = callPackage ../development/ocaml-modules/bz2 { };
@@ -330,6 +328,8 @@ let
 
     duration =  callPackage ../development/ocaml-modules/duration { };
 
+    dyn =  callPackage ../development/ocaml-modules/dyn { };
+
     earley = callPackage ../development/ocaml-modules/earley { };
 
     earlybird = callPackage ../development/ocaml-modules/earlybird { };
@@ -358,8 +358,6 @@ let
 
     emile = callPackage ../development/ocaml-modules/emile { };
 
-    enumerate = callPackage ../development/ocaml-modules/enumerate { };
-
     eqaf = callPackage ../development/ocaml-modules/eqaf { };
 
     erm_xml = callPackage ../development/ocaml-modules/erm_xml { };
@@ -413,8 +411,6 @@ let
       inherit (pkgs) ffmpeg;
     };
 
-    fiat-p256 = callPackage ../development/ocaml-modules/fiat-p256 { };
-
     fileutils = callPackage ../development/ocaml-modules/fileutils { };
 
     findlib = callPackage ../development/tools/ocaml/findlib { };
@@ -709,8 +705,6 @@ let
 
     magic-mime = callPackage ../development/ocaml-modules/magic-mime { };
 
-    magick = callPackage ../development/ocaml-modules/magick { };
-
     mariadb = callPackage ../development/ocaml-modules/mariadb {
       inherit (pkgs) mariadb;
     };
@@ -878,8 +872,6 @@ let
 
     parmap = callPackage ../development/ocaml-modules/parmap { };
 
-    comparelib = callPackage ../development/ocaml-modules/comparelib { };
-
     ocamlbuild =
     if lib.versionOlder "4.03" ocaml.version then
     callPackage ../development/tools/ocaml/ocamlbuild { }
@@ -888,8 +880,6 @@ let
 
     ocaml_cryptgps = callPackage ../development/ocaml-modules/cryptgps { };
 
-    ocaml_data_notation = callPackage ../development/ocaml-modules/odn { };
-
     ocaml_expat =
     if lib.versionAtLeast ocaml.version "4.02"
     then callPackage ../development/ocaml-modules/expat { }
@@ -992,6 +982,14 @@ let
 
     ocsigen-toolkit = callPackage ../development/ocaml-modules/ocsigen-toolkit { };
 
+    ocsipersist = callPackage ../development/ocaml-modules/ocsipersist {};
+
+    ocsipersist-lib = callPackage ../development/ocaml-modules/ocsipersist/lib.nix { };
+
+    ocsipersist-pgsql = callPackage ../development/ocaml-modules/ocsipersist/pgsql.nix { };
+
+    ocsipersist-sqlite = callPackage ../development/ocaml-modules/ocsipersist/sqlite.nix { };
+
     octavius = callPackage ../development/ocaml-modules/octavius { };
 
     odate = callPackage ../development/ocaml-modules/odate { };
@@ -1030,6 +1028,8 @@ let
 
     opus = callPackage ../development/ocaml-modules/opus { };
 
+    ordering = callPackage ../development/ocaml-modules/ordering { };
+
     otfm = callPackage ../development/ocaml-modules/otfm { };
 
     otoml = callPackage ../development/ocaml-modules/otoml { };
@@ -1146,18 +1146,6 @@ let
       inherit (pkgs.python3Packages) pytorch;
     };
 
-    type_conv_108_08_00 = callPackage ../development/ocaml-modules/type_conv/108.08.00.nix { };
-    type_conv_109_60_01 = callPackage ../development/ocaml-modules/type_conv/109.60.01.nix { };
-    type_conv_112_01_01 = callPackage ../development/ocaml-modules/type_conv/112.01.01.nix { };
-    type_conv =
-      if lib.versionOlder "4.02" ocaml.version
-      then type_conv_112_01_01
-      else if lib.versionOlder "4.00" ocaml.version
-      then type_conv_109_60_01
-      else if lib.versionOlder "3.12" ocaml.version
-      then type_conv_108_08_00
-      else null;
-
     ocaml-protoc = callPackage ../development/ocaml-modules/ocaml-protoc { };
 
     ocaml_extlib = ocaml_extlib-1-7-8;
@@ -1317,6 +1305,8 @@ let
 
     stdlib-shims = callPackage ../development/ocaml-modules/stdlib-shims { };
 
+    stdune = callPackage ../development/ocaml-modules/stdune { };
+
     stog = callPackage ../applications/misc/stog { };
 
     stringext = callPackage ../development/ocaml-modules/stringext { };
@@ -1412,6 +1402,8 @@ let
 
     stdint = callPackage ../development/ocaml-modules/stdint { };
 
+    unionFind = callPackage ../development/ocaml-modules/unionFind { };
+
     unstrctrd = callPackage ../development/ocaml-modules/unstrctrd { };
 
     uucd = callPackage ../development/ocaml-modules/uucd { };
@@ -1582,7 +1574,7 @@ in let inherit (pkgs) callPackage; in rec
 
   ocamlPackages_4_14 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.14.nix { });
 
-  ocamlPackages_latest = ocamlPackages_4_13;
+  ocamlPackages_latest = ocamlPackages_4_14;
 
   ocamlPackages = ocamlPackages_4_13;
 }
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 8c14b875ae852..fb81f95cac5f6 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -1042,6 +1042,19 @@ let
     };
   };
 
+  AudioFLACHeader = buildPerlPackage {
+    pname = "Audio-FLAC-Header";
+    version = "2.4";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/D/DA/DANIEL/Audio-FLAC-Header-2.4.tar.gz";
+      sha256 = "fba5911d6c22d81506565cd9a1438e8605420ff7986cf03d1a12d006a4070543";
+    };
+    meta = {
+      description = "Interface to FLAC header metadata";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   AudioScan = buildPerlPackage {
     pname = "Audio-Scan";
     version = "1.01";
@@ -3550,11 +3563,11 @@ let
 
   CompressRawZlib = buildPerlPackage {
     pname = "Compress-Raw-Zlib";
-    version = "2.101";
+    version = "2.103";
 
     src = fetchurl {
-      url = "mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.101.tar.gz";
-      sha256 = "1cmb39dw928jssa3fzk4pxb7sw8q1zyx3yikgq01nz17x0ara6wx";
+      url = "mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.103.tar.gz";
+      sha256 = "sha256-1p0mIMoCTcG0JPf0Io/hFpsrd0FrswMQ6JDTvn2kff8=";
     };
 
     preConfigure = ''
@@ -4709,7 +4722,7 @@ let
       sha256 = "b66fab514edf97fc32f58da257582704a210c2b35e297d5c31b7fa2ffd08e908";
     };
     NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
-    NIX_CFLAGS_LINK = "-L${pkgs.openssl.out}/lib -lcrypto";
+    NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl}/lib -lcrypto";
     meta = with lib; {
       description = "Perl wrapper around OpenSSL's AES library";
       license = with licenses; [ artistic1 gpl1Plus ];
@@ -4724,7 +4737,7 @@ let
       sha256 = "1p22znbajq91lbk2k3yg12ig7hy5b4vy8igxwqkmbm4nhgxp4ki3";
     };
     NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
-    NIX_CFLAGS_LINK = "-L${pkgs.openssl.out}/lib -lcrypto";
+    NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl}/lib -lcrypto";
   };
 
   CryptOpenSSLGuess = buildPerlPackage {
@@ -4749,7 +4762,7 @@ let
       sha256 = "1x6ffps8q7mnawmcfq740llzy7i10g3319vap0wiw4d33fm6z1zh";
     };
     NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
-    NIX_CFLAGS_LINK = "-L${pkgs.openssl.out}/lib -lcrypto";
+    NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl}/lib -lcrypto";
     buildInputs = [ CryptOpenSSLGuess ];
   };
 
@@ -4762,7 +4775,7 @@ let
     };
     propagatedBuildInputs = [ CryptOpenSSLRandom ];
     NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
-    NIX_CFLAGS_LINK = "-L${pkgs.openssl.out}/lib -lcrypto";
+    NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl}/lib -lcrypto";
     buildInputs = [ CryptOpenSSLGuess ];
   };
 
@@ -4774,7 +4787,7 @@ let
       sha256 = "684bd888d2ed4c748f8f6dd8e87c14afa2974b12ee01faa082ad9cfa1e321e62";
     };
     NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
-    NIX_CFLAGS_LINK = "-L${pkgs.openssl.out}/lib -lcrypto";
+    NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl}/lib -lcrypto";
     meta = {
       homepage = "https://github.com/dsully/perl-crypt-openssl-x509";
       description = "Perl extension to OpenSSL's X509 API";
@@ -4843,7 +4856,7 @@ let
       sha256 = "0b159lw3ia5r87qsgff3qhdnz3l09xcz04rbk4ji7fbyr12wmv7q";
     };
 
-    makeMakerFlags = "--libpath=${pkgs.openssl.out}/lib --incpath=${pkgs.openssl.dev}/include";
+    makeMakerFlags = "--libpath=${lib.getLib pkgs.openssl}/lib --incpath=${pkgs.openssl.dev}/include";
     buildInputs = [ PathClass ];
     propagatedBuildInputs = [ BytesRandomSecure LWPProtocolHttps ];
   };
@@ -6881,6 +6894,20 @@ let
     };
   };
 
+  DigestSRI = buildPerlPackage {
+    pname = "Digest-SRI";
+    version = "0.02";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/H/HA/HAUKEX/Digest-SRI-0.02.tar.gz";
+      sha256 = "sha256-VITN/m68OYwkZfeBx3w++1OKOULNSyDWiBjG//kHT8c=";
+    };
+    meta = {
+      homepage = "https://github.com/haukex/Digest-SRI";
+      description = "Calculate and verify Subresource Integrity hashes (SRI)";
+      license = lib.licenses.gpl3Plus;
+    };
+  };
+
   DirManifest = buildPerlModule {
     pname = "Dir-Manifest";
     version = "0.6.1";
@@ -16739,7 +16766,7 @@ let
     doCheck = false; # Test performs network access.
     preConfigure = ''
       mkdir openssl
-      ln -s ${pkgs.openssl.out}/lib openssl
+      ln -s ${lib.getLib pkgs.openssl}/lib openssl
       ln -s ${pkgs.openssl.bin}/bin openssl
       ln -s ${pkgs.openssl.dev}/include openssl
       export OPENSSL_PREFIX=$(realpath openssl)
@@ -18187,6 +18214,10 @@ let
       sha256 = "0278anidj7bgassj32g20cbki2kkqakkr3axyq4k90nj4snw7p6x";
     };
     propagatedBuildInputs = [ Future IOAsync PPI PPR PathTiny PerlCritic PerlTidy PodMarkdown URI ];
+    nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
+    postInstall = lib.optionalString stdenv.isDarwin ''
+      shortenPerlShebang $out/bin/pls
+    '';
     meta = {
       homepage = "https://github.com/FractalBoy/perl-language-server";
       description = "Perl Language Server";
@@ -25375,7 +25406,7 @@ let
     };
   };
 
-} // lib.optionalAttrs (config.allowAliases or true) {
+} // lib.optionalAttrs config.allowAliases {
   autodie = null; # part of Perl
   AutoLoader = null; # part of Perl 5.22
   constant = null; # part of Perl 5.22
diff --git a/pkgs/top-level/pure-packages.nix b/pkgs/top-level/pure-packages.nix
deleted file mode 100644
index 005e09cc003ed..0000000000000
--- a/pkgs/top-level/pure-packages.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ callPackage }:
-
-rec {
-  audio = callPackage ../development/pure-modules/audio { };
-  avahi = callPackage ../development/pure-modules/avahi { };
-  csv = callPackage ../development/pure-modules/csv { };
-  doc = callPackage ../development/pure-modules/doc { };
-  fastcgi = callPackage ../development/pure-modules/fastcgi { };
-  faust = callPackage ../development/pure-modules/faust { };
-  ffi = callPackage ../development/pure-modules/ffi { };
-  gen = callPackage ../development/pure-modules/gen { };
-  gl = callPackage ../development/pure-modules/gl { };
-  glpk = callPackage ../development/pure-modules/glpk { };
-  gplot = callPackage ../development/pure-modules/gplot { };
-  gsl = callPackage ../development/pure-modules/gsl { };
-  gtk = callPackage ../development/pure-modules/gtk { pure-ffi = ffi; };
-  liblo = callPackage ../development/pure-modules/liblo { };
-  lilv = callPackage ../development/pure-modules/lilv { };
-  lv2 = callPackage ../development/pure-modules/lv2 { };
-  midi = callPackage ../development/pure-modules/midi { };
-  mpfr = callPackage ../development/pure-modules/mpfr { };
-  octave = callPackage ../development/pure-modules/octave { };
-  odbc = callPackage ../development/pure-modules/odbc { };
-  pandoc = callPackage ../development/pure-modules/pandoc { };
-  rational = callPackage ../development/pure-modules/rational { };
-  readline = callPackage ../development/pure-modules/readline { };
-  sockets = callPackage ../development/pure-modules/sockets { };
-  sql3 = callPackage ../development/pure-modules/sql3 { };
-  stldict = callPackage ../development/pure-modules/stldict { };
-  stllib = callPackage ../development/pure-modules/stllib { };
-  tk = callPackage ../development/pure-modules/tk { };
-  xml = callPackage ../development/pure-modules/xml { };
-}
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index 4718d942d8eef..db0b456d905dd 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -35,9 +35,9 @@ in
 mapAliases ({
   anyjson = throw "anyjson has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-01-18
   asyncio-nats-client = nats-py; # added 2022-02-08
+  bitcoin-price-api = throw "bitcoin-price-api has been removed, it was using setuptools 2to3 translation feautre, which has been removed in setuptools 58"; # added 2022-02-15
   blockdiagcontrib-cisco = throw "blockdiagcontrib-cisco is not compatible with blockdiag 2.0.0 and has been removed."; # added 2020-11-29
   bt_proximity = bt-proximity; # added 2021-07-02
-  bugseverywhere = throw "bugseverywhere has been removed: Abandoned by upstream."; # added 2019-11-27
   carrot = throw "carrot has been removed, as its development was discontinued in 2012"; # added 2022-01-18
   class-registry = phx-class-registry; # added 2021-10-05
   ConfigArgParse = configargparse; # added 2021-03-18
@@ -49,6 +49,8 @@ mapAliases ({
   diff_cover = diff-cover; # added 2021-07-02
   discogs_client = discogs-client; # added 2021-07-02
   djangorestframework-jwt = drf-jwt; # added 2021-07-20
+  django_2 = throw "Django 2 has reached it's projected EOL in 2022/04 and has therefore been removed."; # added 2022-03-05
+  django_appconf = django-appconf; # added 2022-03-03
   django_environ = django-environ; # added 2021-12-25
   django_extensions = django-extensions; # added 2022-01-09
   django_redis = django-redis; # added 2021-10-11
@@ -73,6 +75,7 @@ mapAliases ({
   lammps-cython = throw "lammps-cython no longer builds and is unmaintained"; # added 2021-07-04
   Markups = markups; # added 2022-02-14
   MechanicalSoup = mechanicalsoup; # added 2021-06-01
+  nose-cover3 = throw "nose-cover3 has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-02-16
   pam = python-pam; # added 2020-09-07.
   PasteDeploy = pastedeploy; # added 2021-10-07
   powerlineMemSegment = powerline-mem-segment; # added 2021-10-08
@@ -88,6 +91,7 @@ mapAliases ({
   pytest_6 = pytest; # added 2022-02-10
   pytestcov = pytest-cov; # added 2021-01-04
   pytest-pep8 = pytestpep8; # added 2021-01-04
+  pytest-pythonpath = throw "pytest-pythonpath is obsolete as of pytest 7.0.0 and has been removed"; # added 2022-03-09
   pytestpep8 = throw "pytestpep8 was removed because it is abandoned and no longer compatible with pytest v6.0"; # added 2020-12-10
   pytestquickcheck = pytest-quickcheck; # added 2021-07-20
   pytestrunner = pytest-runner; # added 2021-01-04
@@ -119,8 +123,8 @@ mapAliases ({
   tensorflow-bin_2 = tensorflow-bin; # added 2021-11-25
   tensorflow-build_2 = tensorflow-build; # added 2021-11-25
   tensorflow-estimator_2 = tensorflow-estimator; # added 2021-11-25
+  tensorflow-tensorboard = tensorboard; # added 2022-03-06
   tensorflow-tensorboard_2 = tensorflow-tensorboard; # added 2021-11-25
-  topydo = throw "topydo was moved to pkgs.topydo"; # added 2017-09-22
   tvnamer = throw "tvnamer was moved to pkgs.tvnamer"; # added 2021-07-05
   WazeRouteCalculator = wazeroutecalculator; # added 2021-09-29
   websocket_client = websocket-client; # added 2021-06-15
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index b48a55412c4e1..5b9d803323232 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -198,6 +198,8 @@ in {
     inherit (pkgs.darwin.apple_sdk.frameworks) CoreFoundation Security;
   };
 
+  add-trailing-comma = callPackage ../development/python-modules/add-trailing-comma { };
+
   addict = callPackage ../development/python-modules/addict { };
 
   addic7ed-cli = callPackage ../development/python-modules/addic7ed-cli { };
@@ -470,6 +472,8 @@ in {
 
   altair = callPackage ../development/python-modules/altair { };
 
+  amazon-ion = callPackage ../development/python-modules/amazon-ion { };
+
   amazon_kclpy = callPackage ../development/python-modules/amazon_kclpy { };
 
   ambee = callPackage ../development/python-modules/ambee { };
@@ -518,10 +522,16 @@ in {
 
   ansible-base = callPackage ../development/python-modules/ansible/base.nix { };
 
+  ansible-compat = callPackage ../development/python-modules/ansible-compat { };
+
   ansible-core = callPackage ../development/python-modules/ansible/core.nix { };
 
+  ansible-doctor = callPackage ../development/python-modules/ansible-doctor { };
+
   ansible-kernel = callPackage ../development/python-modules/ansible-kernel { };
 
+  ansible-later = callPackage ../development/python-modules/ansible-later { };
+
   ansible-lint = callPackage ../development/python-modules/ansible-lint { };
 
   ansible-runner = callPackage ../development/python-modules/ansible-runner { };
@@ -546,6 +556,8 @@ in {
 
   anybadge = callPackage ../development/python-modules/anybadge { };
 
+  anyconfig = callPackage ../development/python-modules/anyconfig { };
+
   anyio = callPackage ../development/python-modules/anyio { };
 
   anytree = callPackage ../development/python-modules/anytree {
@@ -658,6 +670,8 @@ in {
 
   aspell-python = callPackage ../development/python-modules/aspell-python { };
 
+  aspy-refactor-imports = callPackage ../development/python-modules/aspy-refactor-imports { };
+
   aspy-yaml = callPackage ../development/python-modules/aspy.yaml { };
 
   assertpy = callPackage ../development/python-modules/assertpy { };
@@ -1224,8 +1238,6 @@ in {
 
   bitcoinlib = callPackage ../development/python-modules/bitcoinlib { };
 
-  bitcoin-price-api = callPackage ../development/python-modules/bitcoin-price-api { };
-
   bitcoin-utils-fork-minimal = callPackage ../development/python-modules/bitcoin-utils-fork-minimal { };
 
   bitcoinrpc = callPackage ../development/python-modules/bitcoinrpc { };
@@ -1445,6 +1457,11 @@ in {
     inherit (self) python numpy boost;
   });
 
+  caffeWithCuda = toPythonModule (pkgs.caffeWithCuda.override {
+    pythonSupport = true;
+    inherit (self) python numpy boost;
+  });
+
   cairocffi = callPackage ../development/python-modules/cairocffi { };
 
   cairosvg = callPackage ../development/python-modules/cairosvg { };
@@ -1947,7 +1964,7 @@ in {
 
   cupy = callPackage ../development/python-modules/cupy {
     cudatoolkit = pkgs.cudatoolkit_11;
-    cudnn = pkgs.cudnn_8_1_cudatoolkit_11;
+    cudnn = pkgs.cudnn_8_3_cudatoolkit_11;
     nccl = pkgs.nccl_cudatoolkit_11;
     cutensor = pkgs.cutensor_cudatoolkit_11;
   };
@@ -2217,7 +2234,6 @@ in {
   django = self.django_3;
 
   # Current LTS
-  django_2 = callPackage ../development/python-modules/django/2.nix { };
   django_3 = callPackage ../development/python-modules/django/3.nix { };
 
   # Current latest
@@ -2227,7 +2243,7 @@ in {
 
   django-anymail = callPackage ../development/python-modules/django-anymail { };
 
-  django_appconf = callPackage ../development/python-modules/django_appconf { };
+  django-appconf = callPackage ../development/python-modules/django-appconf { };
 
   django-auth-ldap = callPackage ../development/python-modules/django-auth-ldap { };
 
@@ -2879,6 +2895,8 @@ in {
 
   findimports = callPackage ../development/python-modules/findimports { };
 
+  findpython = callPackage ../development/python-modules/findpython { };
+
   fingerprints = callPackage ../development/python-modules/fingerprints { };
 
   finitude = callPackage ../development/python-modules/finitude { };
@@ -3708,6 +3726,8 @@ in {
 
   hatasmota = callPackage ../development/python-modules/hatasmota { };
 
+  hatchling = callPackage ../development/python-modules/hatchling { };
+
   haversine = callPackage ../development/python-modules/haversine { };
 
   hawkauthlib = callPackage ../development/python-modules/hawkauthlib { };
@@ -3736,6 +3756,8 @@ in {
     inherit python;
   });
 
+  hepunits = callPackage ../development/python-modules/hepunits { };
+
   herepy = callPackage ../development/python-modules/herepy { };
 
   hetzner = callPackage ../development/python-modules/hetzner { };
@@ -4082,12 +4104,16 @@ in {
 
   intreehooks = callPackage ../development/python-modules/intreehooks { };
 
+  invocations = callPackage ../development/python-modules/invocations { };
+
   invoke = callPackage ../development/python-modules/invoke { };
 
   iodata = callPackage ../development/python-modules/iodata { };
 
   iocapture = callPackage ../development/python-modules/iocapture { };
 
+  ionhash = callPackage ../development/python-modules/ionhash { };
+
   iotawattpy = callPackage ../development/python-modules/iotawattpy { };
 
   iowait = callPackage ../development/python-modules/iowait { };
@@ -4296,6 +4322,8 @@ in {
 
   json5 = callPackage ../development/python-modules/json5 { };
 
+  jsonconversion = callPackage ../development/python-modules/jsonconversion { };
+
   jsondate = callPackage ../development/python-modules/jsondate { };
 
   jsondiff = callPackage ../development/python-modules/jsondiff { };
@@ -4667,6 +4695,13 @@ in {
 
   libpyvivotek = callPackage ../development/python-modules/libpyvivotek { };
 
+  libpwquality = pipe pkgs.libpwquality [
+    toPythonModule
+    (p: p.overrideAttrs (super: { meta = super.meta // { outputsToInstall = [ "py" ]; }; }))
+    (p: p.override { enablePython = true; inherit python; })
+    (p: p.py)
+  ];
+
   libredwg = toPythonModule (pkgs.libredwg.override {
     enablePython = true;
     inherit (self) python libxml2;
@@ -5404,8 +5439,6 @@ in {
 
   napari-svg = callPackage ../development/python-modules/napari-svg { };
 
-  nassl = callPackage ../development/python-modules/nassl { };
-
   nats-py = callPackage ../development/python-modules/nats-py { };
 
   nats-python = callPackage ../development/python-modules/nats-python { };
@@ -5460,6 +5493,8 @@ in {
 
   nest-asyncio = callPackage ../development/python-modules/nest-asyncio { };
 
+  nested-lookup = callPackage ../development/python-modules/nested-lookup { };
+
   nestedtext = callPackage ../development/python-modules/nestedtext { };
 
   net2grid = callPackage ../development/python-modules/net2grid { };
@@ -5501,7 +5536,8 @@ in {
   nghttp2 = (toPythonModule (pkgs.nghttp2.override {
     inherit (self) python cython setuptools;
     inherit (pkgs) ncurses;
-    enablePython = true;
+    enableApp = false; # build only libnghttp2 ...
+    enablePython = true; # ... and its Python bindings
   })).python;
 
   nibabel = callPackage ../development/python-modules/nibabel { };
@@ -5576,8 +5612,6 @@ in {
 
   nose-cov = callPackage ../development/python-modules/nose-cov { };
 
-  nose-cover3 = callPackage ../development/python-modules/nose-cover3 { };
-
   nose-cprof = callPackage ../development/python-modules/nose-cprof { };
 
   nose-exclude = callPackage ../development/python-modules/nose-exclude { };
@@ -5606,10 +5640,16 @@ in {
 
   notify2 = callPackage ../development/python-modules/notify2 { };
 
+  notifymuch = callPackage ../development/python-modules/notifymuch {};
+
   notmuch = callPackage ../development/python-modules/notmuch {
     inherit (pkgs) notmuch;
   };
 
+  notmuch2 = callPackage ../development/python-modules/notmuch2 {
+    inherit (pkgs) notmuch;
+  };
+
   nototools = callPackage ../data/fonts/noto-fonts/tools.nix { };
 
   notus-scanner = callPackage ../development/python-modules/notus-scanner { };
@@ -5634,7 +5674,14 @@ in {
 
   num2words = callPackage ../development/python-modules/num2words { };
 
-  numba = callPackage ../development/python-modules/numba { };
+  numba = callPackage ../development/python-modules/numba {
+    cudaSupport = pkgs.config.cudaSupport or false;
+    cudatoolkit = tensorflow_compat_cudatoolkit;
+  };
+
+  numbaWithCuda = self.numba.override {
+    cudaSupport = true;
+  };
 
   numba-scipy = callPackage ../development/python-modules/numba-scipy { };
 
@@ -5955,6 +6002,8 @@ in {
 
   parts = callPackage ../development/python-modules/parts { };
 
+  particle = callPackage ../development/python-modules/particle { };
+
   parver = callPackage ../development/python-modules/parver { };
   arpeggio = callPackage ../development/python-modules/arpeggio { };
 
@@ -5976,6 +6025,8 @@ in {
 
   path-and-address = callPackage ../development/python-modules/path-and-address { };
 
+  pathable = callPackage ../development/python-modules/pathable { };
+
   pathlib2 = callPackage ../development/python-modules/pathlib2 { };
 
   pathlib = callPackage ../development/python-modules/pathlib { };
@@ -6333,6 +6384,10 @@ in {
 
   plexwebsocket = callPackage ../development/python-modules/plexwebsocket { };
 
+  plfit = toPythonModule (pkgs.plfit.override {
+    inherit (self) python;
+  });
+
   plone-testing = callPackage ../development/python-modules/plone-testing { };
 
   plotly = callPackage ../development/python-modules/plotly { };
@@ -7010,9 +7065,7 @@ in {
 
   pygetwindow = callPackage ../development/python-modules/pygetwindow { };
 
-  pygit2 = callPackage ../development/python-modules/pygit2 {
-    libgit2 = pkgs.libgit2_1_3_0;
-  };
+  pygit2 = callPackage ../development/python-modules/pygit2 { };
 
   PyGithub = callPackage ../development/python-modules/pyGithub { };
 
@@ -7182,6 +7235,8 @@ in {
 
   py-lru-cache = callPackage ../development/python-modules/py-lru-cache { };
 
+  pylnk3 = callPackage ../development/python-modules/pylnk3 { };
+
   pylru = callPackage ../development/python-modules/pylru { };
 
   pyls-black = callPackage ../development/python-modules/pyls-black { };
@@ -7463,6 +7518,8 @@ in {
 
   pypytools = callPackage ../development/python-modules/pypytools { };
 
+  pyqldb = callPackage ../development/python-modules/pyqldb { };
+
   pyqrcode = callPackage ../development/python-modules/pyqrcode { };
 
   pyqt-builder = callPackage ../development/python-modules/pyqt-builder { };
@@ -7927,8 +7984,6 @@ in {
 
   pytest-pylint = callPackage ../development/python-modules/pytest-pylint { };
 
-  pytest-pythonpath = callPackage ../development/python-modules/pytest-pythonpath { };
-
   pytest-qt = callPackage ../development/python-modules/pytest-qt { };
 
   pytest-quickcheck = callPackage ../development/python-modules/pytest-quickcheck { };
@@ -8323,6 +8378,24 @@ in {
 
   pytorch = callPackage ../development/python-modules/pytorch {
     cudaSupport = pkgs.config.cudaSupport or false;
+
+    # TODO: next time pytorch is updated (to 1.11.0, currently in staging as of
+    # 2022-03-31), make the following changes:
+
+    # -> cudatoolk_11
+    cudatoolkit = pkgs.cudatoolkit_10;
+
+    # -> cudnn_8_3_cudatoolkit_11
+    cudnn = pkgs.cudnn_8_1_cudatoolkit_10;
+
+    # -> cutensor_cudatoolkit_11 (cutensor is a new dependency in v1.11.0)
+    # cutensor = pkgs.cutensor_cudatoolkit_11;
+
+    # -> setting a custom magma should be unnecessary with v1.11.0
+    magma = pkgs.magma.override { cudatoolkit = pkgs.cudatoolkit_10; };
+
+    # -> nccl_cudatoolkit_11
+    nccl = pkgs.nccl.override { cudatoolkit = pkgs.cudatoolkit_10; };
   };
 
   pytorch-bin = callPackage ../development/python-modules/pytorch/bin.nix { };
@@ -8383,7 +8456,7 @@ in {
     };
 
   pyudev = callPackage ../development/python-modules/pyudev {
-    inherit (pkgs) systemd;
+    inherit (pkgs) udev;
   };
 
   pyunbound = callPackage ../tools/networking/unbound/python.nix { };
@@ -8683,12 +8756,16 @@ in {
 
   relatorio = callPackage ../development/python-modules/relatorio { };
 
+  releases = callPackage ../development/python-modules/releases { };
+
   remarshal = callPackage ../development/python-modules/remarshal { };
 
   renault-api = callPackage ../development/python-modules/renault-api { };
 
   rencode = callPackage ../development/python-modules/rencode { };
 
+  reorder-python-imports = callPackage ../development/python-modules/reorder-python-imports { };
+
   reolink = callPackage ../development/python-modules/reolink { };
 
   reparser = callPackage ../development/python-modules/reparser { };
@@ -8929,6 +9006,8 @@ in {
 
   s3transfer = callPackage ../development/python-modules/s3transfer { };
 
+  s3-credentials = callPackage ../development/python-modules/s3-credentials { };
+
   sabyenc3 = callPackage ../development/python-modules/sabyenc3 { };
 
   sabyenc = callPackage ../development/python-modules/sabyenc { };
@@ -9342,6 +9421,10 @@ in {
 
   socketio-client = callPackage ../development/python-modules/socketio-client { };
 
+  social-auth-app-django = callPackage ../development/python-modules/social-auth-app-django { };
+
+  social-auth-core = callPackage ../development/python-modules/social-auth-core { };
+
   socialscan = callPackage ../development/python-modules/socialscan { };
 
   socid-extractor =  callPackage ../development/python-modules/socid-extractor { };
@@ -9350,6 +9433,8 @@ in {
 
   sockjs-tornado = callPackage ../development/python-modules/sockjs-tornado { };
 
+  socksio = callPackage ../development/python-modules/socksio { };
+
   socksipy-branch = callPackage ../development/python-modules/socksipy-branch { };
 
   soco = callPackage ../development/python-modules/soco { };
@@ -9582,8 +9667,6 @@ in {
 
   sslib = callPackage ../development/python-modules/sslib { };
 
-  sslyze = callPackage ../development/python-modules/sslyze { };
-
   stack-data = callPackage ../development/python-modules/stack-data { };
 
   stanza = callPackage ../development/python-modules/stanza { };
@@ -9816,6 +9899,8 @@ in {
 
   tensorboard-plugin-wit = callPackage ../development/python-modules/tensorboard-plugin-wit { };
 
+  tensorboard = callPackage ../development/python-modules/tensorboard { };
+
   tensorboardx = callPackage ../development/python-modules/tensorboardx { };
 
   tensorflow-bin = callPackage ../development/python-modules/tensorflow/bin.nix {
@@ -9848,8 +9933,6 @@ in {
 
   tensorflow = self.tensorflow-build;
 
-  tensorflow-tensorboard = callPackage ../development/python-modules/tensorflow-tensorboard { };
-
   tensorflowWithCuda = self.tensorflow.override {
     cudaSupport = true;
   };
@@ -10121,7 +10204,9 @@ in {
 
   trimesh = callPackage ../development/python-modules/trimesh { };
 
-  trio = callPackage ../development/python-modules/trio { };
+  trio = callPackage ../development/python-modules/trio {
+    inherit (pkgs) coreutils;
+  };
 
   trio-asyncio = callPackage ../development/python-modules/trio-asyncio { };
 
@@ -10325,6 +10410,8 @@ in {
     unicorn-emu = pkgs.unicorn;
   };
 
+  unicrypto = callPackage ../development/python-modules/unicrypto { };
+
   unidecode = callPackage ../development/python-modules/unidecode { };
 
   unidic-lite = callPackage ../development/python-modules/unidic-lite { };
@@ -10845,6 +10932,8 @@ in {
 
   xxhash = callPackage ../development/python-modules/xxhash { };
 
+  yabadaba = callPackage ../development/python-modules/yabadaba { };
+
   yahooweather = callPackage ../development/python-modules/yahooweather { };
 
   yalesmartalarmclient = callPackage ../development/python-modules/yalesmartalarmclient { };
diff --git a/pkgs/top-level/qt5-packages.nix b/pkgs/top-level/qt5-packages.nix
index bab473bd8a0c3..4b00b704d5fbe 100644
--- a/pkgs/top-level/qt5-packages.nix
+++ b/pkgs/top-level/qt5-packages.nix
@@ -210,7 +210,9 @@ in (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdParty // kdeGea
 
   quazip = callPackage ../development/libraries/quazip { };
 
-  qwt = callPackage ../development/libraries/qwt/6.nix { };
+  qwt = callPackage ../development/libraries/qwt/default.nix { };
+
+  qwt6_1 = callPackage ../development/libraries/qwt/6_1.nix { };
 
   soqt = callPackage ../development/libraries/soqt { };
 
diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix
index 82828a3d611e8..ef2a8737e6776 100644
--- a/pkgs/top-level/release-haskell.nix
+++ b/pkgs/top-level/release-haskell.nix
@@ -52,7 +52,7 @@ let
     ghc884
     ghc8107
     ghc902
-    ghc921
+    ghc922
   ];
 
   # packagePlatforms applied to `haskell.packages.*`
@@ -157,7 +157,6 @@ let
         dhall-lsp-server
         dhall-json
         dhall-nix
-        dhall-text
         diagrams-builder
         elm2nix
         fffuu
@@ -285,18 +284,29 @@ let
       # Test some statically linked packages to catch regressions
       # and get some cache going for static compilation with GHC.
       # Use integer-simple to avoid GMP linking problems (LGPL)
-      pkgsStatic.haskell.packages.integer-simple.ghc8107 =
+      pkgsStatic.haskell.packages =
         removePlatforms
           [
             "aarch64-linux" # times out on Hydra
             "x86_64-darwin" # TODO: reenable when static libiconv works on darwin
-          ]
-          {
-            inherit (packagePlatforms pkgs.pkgsStatic.haskell.packages.integer-simple.ghc8107)
-              hello
-              lens
-              random
+          ] {
+            integer-simple.ghc8107 = {
+              inherit (packagePlatforms pkgs.pkgsStatic.haskell.packages.integer-simple.ghc8107)
+                hello
+                lens
+                random
+                QuickCheck
               ;
+            };
+
+            native-bignum.ghc902 = {
+              inherit (packagePlatforms pkgs.pkgsStatic.haskell.packages.native-bignum.ghc902)
+                hello
+                lens
+                random
+                QuickCheck
+              ;
+            };
           };
     })
     (versionedCompilerJobs {
@@ -307,7 +317,7 @@ let
       # package sets (like Cabal, jailbreak-cabal) are
       # working as expected.
       cabal-install = released;
-      Cabal_3_6_2_0 = released;
+      Cabal_3_6_3_0 = released;
       cabal2nix = released;
       cabal2nix-unstable = released;
       funcmp = released;
@@ -324,6 +334,13 @@ let
         compilerNames.ghc8107
         compilerNames.ghc902
       ];
+      ghc-bignum = [
+        compilerNames.ghc884
+        compilerNames.ghc8107
+      ];
+      ghc-lib = released;
+      ghc-lib-parser = released;
+      ghc-lib-parser-ex = released;
     })
     {
       mergeable = pkgs.releaseTools.aggregate {
@@ -355,7 +372,6 @@ let
           jobs.haskellPackages.cabal-plan
           jobs.haskellPackages.distribution-nixpkgs
           jobs.haskellPackages.hackage-db
-          jobs.haskellPackages.policeman
           jobs.haskellPackages.xmonad
           jobs.haskellPackages.xmonad-contrib
           # haskell packages maintained by @peti
@@ -391,11 +407,11 @@ let
           jobs.pkgsMusl.haskell.compiler.ghc884
           jobs.pkgsMusl.haskell.compiler.ghc8107
           jobs.pkgsMusl.haskell.compiler.ghc902
-          jobs.pkgsMusl.haskell.compiler.ghc921
+          jobs.pkgsMusl.haskell.compiler.ghc922
           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.ghc921
+          jobs.pkgsMusl.haskell.compiler.native-bignum.ghc922
           jobs.pkgsMusl.haskell.compiler.native-bignum.ghcHEAD
         ];
       };
@@ -413,6 +429,9 @@ let
           jobs.pkgsStatic.haskell.packages.integer-simple.ghc8107.hello
           jobs.pkgsStatic.haskell.packages.integer-simple.ghc8107.lens
           jobs.pkgsStatic.haskell.packages.integer-simple.ghc8107.random
+          jobs.pkgsStatic.haskell.packages.native-bignum.ghc902.hello
+          jobs.pkgsStatic.haskell.packages.native-bignum.ghc902.lens
+          jobs.pkgsStatic.haskell.packages.native-bignum.ghc902.random
         ];
       };
     }
diff --git a/pkgs/top-level/release-python.nix b/pkgs/top-level/release-python.nix
index d90be7f3bb4c9..f341857222014 100644
--- a/pkgs/top-level/release-python.nix
+++ b/pkgs/top-level/release-python.nix
@@ -35,11 +35,12 @@ let
       name = "python-tested";
       meta.description = "Release-critical packages from the python package sets";
       constituents = [
-        jobs.remarshal.x86_64-linux                 # Used in pkgs.formats helper
-        jobs.python39Packages.colorama.x86_64-linux  # Used in nixos test-driver
-        jobs.python39Packages.ptpython.x86_64-linux  # Used in nixos test-driver
-        jobs.python39Packages.requests.x86_64-linux  # Almost ubiquous package
-        jobs.python39Packages.sphinx.x86_64-linux    # Document creation for many packages
+        jobs.remarshal.x86_64-linux                     # Used in pkgs.formats helper
+        jobs.python39Packages.buildcatrust.x86_64-linux # Used in pkgs.cacert
+        jobs.python39Packages.colorama.x86_64-linux     # Used in nixos test-driver
+        jobs.python39Packages.ptpython.x86_64-linux     # Used in nixos test-driver
+        jobs.python39Packages.requests.x86_64-linux     # Almost ubiquous package
+        jobs.python39Packages.sphinx.x86_64-linux       # Document creation for many packages
       ];
     };
 
diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix
index 1945762c50dfd..422a7500516b3 100644
--- a/pkgs/top-level/stage.nix
+++ b/pkgs/top-level/stage.nix
@@ -152,7 +152,7 @@ let
       res self super;
     in res;
 
-  aliases = self: super: lib.optionalAttrs (config.allowAliases or true) (import ./aliases.nix lib self super);
+  aliases = self: super: lib.optionalAttrs config.allowAliases (import ./aliases.nix lib self super);
 
   # stdenvOverrides is used to avoid having multiple of versions
   # of certain dependencies that were used in bootstrapping the
diff --git a/pkgs/top-level/unixtools.nix b/pkgs/top-level/unixtools.nix
index b7fea20b76bcc..0097852c535c8 100644
--- a/pkgs/top-level/unixtools.nix
+++ b/pkgs/top-level/unixtools.nix
@@ -21,6 +21,7 @@ let
       manpage = "${getOutput "man" provider}/share/man/man1/${cmd}.1.gz";
     in runCommand "${cmd}-${provider.name}" {
       meta = {
+        mainProgram = cmd;
         priority = 10;
         platforms = lib.platforms.${stdenv.hostPlatform.parsed.kernel.name} or lib.platforms.all;
       };